diff options
Diffstat (limited to 'website')
-rw-r--r-- | website/json/ch08.json | 2 | ||||
-rw-r--r-- | website/json/ch15.json | 2 | ||||
-rw-r--r-- | website/json/suiteDescrip.json | 2 |
3 files changed, 3 insertions, 3 deletions
diff --git a/website/json/ch08.json b/website/json/ch08.json index dfcb8e899..2dad13b7f 100644 --- a/website/json/ch08.json +++ b/website/json/ch08.json @@ -1 +1 @@ -{"testsCollection":{"name":"Chapter - ch08","numTests":"182","tests":[{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgVW5kZWZpbmVkIHR5cGUgaGFzIG9uZSB2YWx1ZSwgY2FsbGVkIHVuZGVmaW5lZAogKgogKiBAcGF0aCBjaDA4LzguMS9TOC4xX0ExX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiBleGVjdXRpb24gb2YgInZhciB4ID0gdW5kZWZpbmVkIiBwYXNzZXMKICovCgovLyBDSEVDSyMxCnZhciB4ID0gdW5kZWZpbmVkOwoK","commentary":"The Undefined type has one value, called undefined","description":"Checking if execution of \"var x = undefined\" passes","path":"TestCases/ch08/8.1/S8.1_A1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgVW5kZWZpbmVkIHR5cGUgaGFzIG9uZSB2YWx1ZSwgY2FsbGVkIHVuZGVmaW5lZAogKgogKiBAcGF0aCBjaDA4LzguMS9TOC4xX0ExX1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVjayB0eXBlb2YodW5kZWZpbmVkKSBhbmQgdHlwZW9mKHZvaWQgMCkKICovCgovLyBDSEVDSyMxCmlmICghKHR5cGVvZih1bmRlZmluZWQpID09PSAidW5kZWZpbmVkIikpIHsgCglFUlJPUignIzE6IHR5cGVvZih1bmRlZmluZWQpID09PSAidW5kZWZpbmVkIi4gQWN0dWFsOiAnICsgKHR5cGVvZih1bmRlZmluZWQpKSk7ICAKfSAKCi8vIENIRUNLIzIKaWYgKCEodHlwZW9mKHZvaWQgMCkgPT09ICJ1bmRlZmluZWQiKSkgeyAgCglFUlJPUignIzI6IHR5cGVvZih2b2lkIDApID09PSAidW5kZWZpbmVkIi4gQWN0dWFsOiAnICsgKHR5cGVvZih2b2lkIDApKSk7ICAKfQoKLy8gQ0hFQ0sjMwppZiAoISh1bmRlZmluZWQgPT09IHZvaWQgMCkpIHsgIAoJRVJST1IoJyMzOiB1bmRlZmluZWQgPT09IHZvaWQgMCcpOyAgCn0KCg==","commentary":"The Undefined type has one value, called undefined","description":"Check typeof(undefined) and typeof(void 0)","path":"TestCases/ch08/8.1/S8.1_A1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBBbnkgdmFyaWFibGUgdGhhdCBoYXMgbm90IGJlZW4gYXNzaWduZWQgYSB2YWx1ZSBoYXMgdGhlIHZhbHVlIHVuZGVmaW5lZAogKgogKiBAcGF0aCBjaDA4LzguMS9TOC4xX0EyX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVjayB0aGF0IHZhciB4IGhhdmUgdmFsdWUgYW5kIHR5cGUgdW5kZWZpbmVkCiAqLwoKdmFyIHg7CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vIENIRUNLIzEKaWYgKCEoeCA9PT0gdW5kZWZpbmVkKSkgewogICRFUlJPUignIzE6IHZhciB4OyB4ID09PSB1bmRlZmluZWQuIEFjdHVhbDogJyArICh4KSk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovLyBDSEVDSyMyCmlmICghKHR5cGVvZih4KSA9PT0gInVuZGVmaW5lZCIpKSB7CiAgJEVSUk9SKCcjMjogdmFyIHg7IHR5cGVvZih4KSA9PT0gInVuZGVmaW5lZCIuIEFjdHVhbDogJyArICh0eXBlb2YoeCkpKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vIENIRUNLIzMKaWYgKCEoeCA9PT0gdm9pZCAwKSkgewogICRFUlJPUignIzM6IHZhciB4OyB4ID09PSB2b2lkIDAuIEFjdHVhbDogJyArICh4KSk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"Any variable that has not been assigned a value has the value undefined","description":"Check that var x have value and type undefined","path":"TestCases/ch08/8.1/S8.1_A2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBBbnkgdmFyaWFibGUgdGhhdCBoYXMgbm90IGJlZW4gYXNzaWduZWQgYSB2YWx1ZSBoYXMgdGhlIHZhbHVlIHVuZGVmaW5lZAogKgogKiBAcGF0aCBjaDA4LzguMS9TOC4xX0EyX1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBGdW5jdGlvbiByZXR1cm4gdW5kZWZpbmVkCiAqLwoKLy8gQ0hFQ0sjMQpmdW5jdGlvbiB0ZXN0MSh4KSB7CglyZXR1cm4geDsKfQoKaWYgKCEodGVzdDEoKSA9PT0gdm9pZCAwKSkgewogICRFUlJPUignIzE6IGZ1bmN0aW9uIHRlc3QxKHgpe3JldHVybiB4fSB0ZXN0MSgpID09PSB2b2lkIDAuIEFjdHVhbDogJyArICh0ZXN0MSgpKSk7Cn0KCi8vIENIRUNLIzIKZnVuY3Rpb24gdGVzdDIoKSB7ICAKfQoKaWYgKCEodGVzdDIoKSA9PT0gdm9pZCAwKSkgewogICRFUlJPUignIzI6IGZ1bmN0aW9uIHRlc3QyKCl7fSB0ZXN0MigpID09PSB2b2lkIDAuIEFjdHVhbDogJyArICh0ZXN0MigpKSk7Cn0KCg==","commentary":"Any variable that has not been assigned a value has the value undefined","description":"Function return undefined","path":"TestCases/ch08/8.1/S8.1_A2_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiB1bmRlZmluZWQgaXMgbm90IGEga2V5d29yZAogKgogKiBAcGF0aCBjaDA4LzguMS9TOC4xX0EzLmpzCiAqIEBkZXNjcmlwdGlvbiBDcmVhdGUgdmFyaWFibGUgbmFtZWQgdW5kZWZpbmVkCiAqLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovLyBDSEVDSzEjCnZhciB1bmRlZmluZWQgPSAxOwovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"undefined is not a keyword","description":"Create variable named undefined","path":"TestCases/ch08/8.1/S8.1_A3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBwcm9wZXJ0eSBvZiBvYmplY3Qgbm90IGV4aXN0LCByZXR1cm4gdW5kZWZpbmVkCiAqCiAqIEBwYXRoIGNoMDgvOC4xL1M4LjFfQTQuanMKICogQGRlc2NyaXB0aW9uIENoZWNrIHZhbHVlIG9mIG5vdCBleGlzdGVkIHByb3BlcnR5CiAqLwoKLy8gQ0hFQ0sjMSAKaWYgKChuZXcgT2JqZWN0KCkpLm5ld1Byb3BlcnR5ICE9PSB1bmRlZmluZWQpIHsKICAkRVJST1IoJyMxOiAobmV3IE9iamVjdCgpKS5uZXdQcm9wZXJ0eSA9PT0gdW5kZWZpbmVkLiBBY3R1YWw6ICcgKyAoKG5ldyBPYmplY3QoKSkubmV3UHJvcGVydHkpKTsKfSAKCgo=","commentary":"If property of object not exist, return undefined","description":"Check value of not existed property","path":"TestCases/ch08/8.1/S8.1_A4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBGdW5jdGlvbiBhcmd1bWVudCB0aGF0IGlzbid0IHByb3ZpZGVkIGhhcyBhIHZhbHVlIG9mIHVuZGVmaW5lZAogKgogKiBAcGF0aCBjaDA4LzguMS9TOC4xX0E1LmpzCiAqIEBkZXNjcmlwdGlvbiBDYWxsIGZ1bmN0aW9uIHdpdGhvdXQgcHJvdmlkZWQgYXJndW1lbnQKICovCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy8KZnVuY3Rpb24gdGVzdChhcmcpIHsKLy8gQ2hlY2sgYW5kIG1ha2Ugc3VyZSB0aGF0IGFyZyBpcyBub3QgdW5kZWZpbmVkCglpZiAodHlwZW9mKGFyZykgIT09ICJ1bmRlZmluZWQiKSB7CiAgICAkRVJST1IoJyMxOiBGdW5jdGlvbiBhcmd1bWVudCB0aGF0IGlzblwndCBwcm92aWRlZCBoYXMgYSB2YWx1ZSBvZiB1bmRlZmluZWQuIEFjdHVhbDogJyArICh0eXBlb2YoYXJnKSkpOwogIH0KfQoKdGVzdCgpOwovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"Function argument that isn't provided has a value of undefined","description":"Call function without provided argument","path":"TestCases/ch08/8.1/S8.1_A5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gwOC84LjEyLzguMTIuMS84LjEyLjEtMV8xLmpzDQogKiBAZGVzY3JpcHRpb24gUHJvcGVydGllcyAtIFtbSGFzT3duUHJvcGVydHldXSAocHJvcGVydHkgZG9lcyBub3QgZXhpc3QpDQogKi8NCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICB2YXIgbyA9IHt9Ow0KICAgIHJldHVybiBvLmhhc093blByb3BlcnR5KCJmb28iKT09PWZhbHNlOw0KDQp9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Properties - [[HasOwnProperty]] (property does not exist)","path":"TestCases/ch08/8.12/8.12.1/8.12.1-1_1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gwOC84LjEyLzguMTIuMS84LjEyLjEtMV8xMC5qcw0KICogQGRlc2NyaXB0aW9uIFByb3BlcnRpZXMgLSBbW0hhc093blByb3BlcnR5XV0gKHdyaXRhYmxlLCBjb25maWd1cmFibGUsIG5vbi1lbnVtZXJhYmxlIG93biB2YWx1ZSBwcm9wZXJ0eSkNCiAqLw0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgIHZhciBvID0ge307DQogICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG8sICJmb28iLCB7dmFsdWU6IDQyLCB3cml0YWJsZTp0cnVlLCBjb25maWd1cmFibGU6dHJ1ZX0pOw0KICAgIHJldHVybiBvLmhhc093blByb3BlcnR5KCJmb28iKTsNCg0KfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Properties - [[HasOwnProperty]] (writable, configurable, non-enumerable own value property)","path":"TestCases/ch08/8.12/8.12.1/8.12.1-1_10.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gwOC84LjEyLzguMTIuMS84LjEyLjEtMV8xMS5qcw0KICogQGRlc2NyaXB0aW9uIFByb3BlcnRpZXMgLSBbW0hhc093blByb3BlcnR5XV0gKHdyaXRhYmxlLCBjb25maWd1cmFibGUsIGVudW1lcmFibGUgb3duIHZhbHVlIHByb3BlcnR5KQ0KICovDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgdmFyIG8gPSB7fTsNCiAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkobywgImZvbyIsIHt2YWx1ZTogNDIsIHdyaXRhYmxlOnRydWUsIGVudW1lcmFibGU6dHJ1ZSwgY29uZmlndXJhYmxlOnRydWV9KTsNCiAgICByZXR1cm4gby5oYXNPd25Qcm9wZXJ0eSgiZm9vIik7DQoNCn0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Properties - [[HasOwnProperty]] (writable, configurable, enumerable own value property)","path":"TestCases/ch08/8.12/8.12.1/8.12.1-1_11.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gwOC84LjEyLzguMTIuMS84LjEyLjEtMV8xMi5qcw0KICogQGRlc2NyaXB0aW9uIFByb3BlcnRpZXMgLSBbW0hhc093blByb3BlcnR5XV0gKG5vbi13cml0YWJsZSwgbm9uLWNvbmZpZ3VyYWJsZSwgbm9uLWVudW1lcmFibGUgaW5oZXJpdGVkIHZhbHVlIHByb3BlcnR5KQ0KICovDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgdmFyIGJhc2UgPSB7fTsNCiAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYmFzZSwgImZvbyIsIHt2YWx1ZTogNDJ9KTsNCiAgICB2YXIgbyA9IE9iamVjdC5jcmVhdGUoYmFzZSk7DQogICAgcmV0dXJuIG8uaGFzT3duUHJvcGVydHkoImZvbyIpPT09ZmFsc2U7DQoNCn0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Properties - [[HasOwnProperty]] (non-writable, non-configurable, non-enumerable inherited value property)","path":"TestCases/ch08/8.12/8.12.1/8.12.1-1_12.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gwOC84LjEyLzguMTIuMS84LjEyLjEtMV8xMy5qcw0KICogQGRlc2NyaXB0aW9uIFByb3BlcnRpZXMgLSBbW0hhc093blByb3BlcnR5XV0gKG5vbi13cml0YWJsZSwgbm9uLWNvbmZpZ3VyYWJsZSwgZW51bWVyYWJsZSBpbmhlcml0ZWQgdmFsdWUgcHJvcGVydHkpDQogKi8NCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICB2YXIgYmFzZSA9IHt9Ow0KICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShiYXNlLCAiZm9vIiwge3ZhbHVlOiA0MiwgZW51bWVyYWJsZTp0cnVlfSk7DQogICAgdmFyIG8gPSBPYmplY3QuY3JlYXRlKGJhc2UpOw0KICAgIHJldHVybiBvLmhhc093blByb3BlcnR5KCJmb28iKT09PWZhbHNlOw0KDQp9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Properties - [[HasOwnProperty]] (non-writable, non-configurable, enumerable inherited value property)","path":"TestCases/ch08/8.12/8.12.1/8.12.1-1_13.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gwOC84LjEyLzguMTIuMS84LjEyLjEtMV8xNC5qcw0KICogQGRlc2NyaXB0aW9uIFByb3BlcnRpZXMgLSBbW0hhc093blByb3BlcnR5XV0gKG5vbi13cml0YWJsZSwgY29uZmlndXJhYmxlLCBub24tZW51bWVyYWJsZSBpbmhlcml0ZWQgdmFsdWUgcHJvcGVydHkpDQogKi8NCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICB2YXIgYmFzZSA9IHt9Ow0KICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShiYXNlLCAiZm9vIiwge3ZhbHVlOiA0MiwgY29uZmlndXJhYmxlOnRydWV9KTsNCiAgICB2YXIgbyA9IE9iamVjdC5jcmVhdGUoYmFzZSk7DQogICAgcmV0dXJuIG8uaGFzT3duUHJvcGVydHkoImZvbyIpPT09ZmFsc2U7DQoNCn0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Properties - [[HasOwnProperty]] (non-writable, configurable, non-enumerable inherited value property)","path":"TestCases/ch08/8.12/8.12.1/8.12.1-1_14.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gwOC84LjEyLzguMTIuMS84LjEyLjEtMV8xNS5qcw0KICogQGRlc2NyaXB0aW9uIFByb3BlcnRpZXMgLSBbW0hhc093blByb3BlcnR5XV0gKHdyaXRhYmxlLCBub24tY29uZmlndXJhYmxlLCBub24tZW51bWVyYWJsZSBpbmhlcml0ZWQgdmFsdWUgcHJvcGVydHkpDQogKi8NCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICB2YXIgYmFzZSA9IHt9Ow0KICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShiYXNlLCAiZm9vIiwge3ZhbHVlOiA0Miwgd3JpdGFibGU6dHJ1ZX0pOw0KICAgIHZhciBvID0gT2JqZWN0LmNyZWF0ZShiYXNlKTsNCiAgICByZXR1cm4gby5oYXNPd25Qcm9wZXJ0eSgiZm9vIik9PT1mYWxzZTsNCg0KfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Properties - [[HasOwnProperty]] (writable, non-configurable, non-enumerable inherited value property)","path":"TestCases/ch08/8.12/8.12.1/8.12.1-1_15.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gwOC84LjEyLzguMTIuMS84LjEyLjEtMV8xNi5qcw0KICogQGRlc2NyaXB0aW9uIFByb3BlcnRpZXMgLSBbW0hhc093blByb3BlcnR5XV0gKG5vbi13cml0YWJsZSwgY29uZmlndXJhYmxlLCBlbnVtZXJhYmxlIGluaGVyaXRlZCB2YWx1ZSBwcm9wZXJ0eSkNCiAqLw0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgIHZhciBiYXNlID0ge307DQogICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGJhc2UsICJmb28iLCB7dmFsdWU6IDQyLCBjb25maWd1cmFibGU6dHJ1ZSwgZW51bWVyYWJsZTp0cnVlfSk7DQogICAgdmFyIG8gPSBPYmplY3QuY3JlYXRlKGJhc2UpOw0KICAgIHJldHVybiBvLmhhc093blByb3BlcnR5KCJmb28iKT09PWZhbHNlOw0KDQp9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Properties - [[HasOwnProperty]] (non-writable, configurable, enumerable inherited value property)","path":"TestCases/ch08/8.12/8.12.1/8.12.1-1_16.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gwOC84LjEyLzguMTIuMS84LjEyLjEtMV8xNy5qcw0KICogQGRlc2NyaXB0aW9uIFByb3BlcnRpZXMgLSBbW0hhc093blByb3BlcnR5XV0gKHdyaXRhYmxlLCBub24tY29uZmlndXJhYmxlLCBlbnVtZXJhYmxlIGluaGVyaXRlZCB2YWx1ZSBwcm9wZXJ0eSkNCiAqLw0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgIHZhciBiYXNlID0ge307DQogICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGJhc2UsICJmb28iLCB7dmFsdWU6IDQyLCB3cml0YWJsZTp0cnVlLCBlbnVtZXJhYmxlOnRydWV9KTsNCiAgICB2YXIgbyA9IE9iamVjdC5jcmVhdGUoYmFzZSk7DQogICAgcmV0dXJuIG8uaGFzT3duUHJvcGVydHkoImZvbyIpPT09ZmFsc2U7DQoNCn0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Properties - [[HasOwnProperty]] (writable, non-configurable, enumerable inherited value property)","path":"TestCases/ch08/8.12/8.12.1/8.12.1-1_17.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gwOC84LjEyLzguMTIuMS84LjEyLjEtMV8xOC5qcw0KICogQGRlc2NyaXB0aW9uIFByb3BlcnRpZXMgLSBbW0hhc093blByb3BlcnR5XV0gKHdyaXRhYmxlLCBjb25maWd1cmFibGUsIG5vbi1lbnVtZXJhYmxlIGluaGVyaXRlZCB2YWx1ZSBwcm9wZXJ0eSkNCiAqLw0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgIHZhciBiYXNlID0ge307DQogICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGJhc2UsICJmb28iLCB7dmFsdWU6IDQyLCB3cml0YWJsZTp0cnVlLCBjb25maWd1cmFibGU6dHJ1ZX0pOw0KICAgIHZhciBvID0gT2JqZWN0LmNyZWF0ZShiYXNlKTsNCiAgICByZXR1cm4gby5oYXNPd25Qcm9wZXJ0eSgiZm9vIik9PT1mYWxzZTsNCg0KfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Properties - [[HasOwnProperty]] (writable, configurable, non-enumerable inherited value property)","path":"TestCases/ch08/8.12/8.12.1/8.12.1-1_18.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gwOC84LjEyLzguMTIuMS84LjEyLjEtMV8xOS5qcw0KICogQGRlc2NyaXB0aW9uIFByb3BlcnRpZXMgLSBbW0hhc093blByb3BlcnR5XV0gKHdyaXRhYmxlLCBjb25maWd1cmFibGUsIGVudW1lcmFibGUgaW5oZXJpdGVkIHZhbHVlIHByb3BlcnR5KQ0KICovDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgdmFyIGJhc2UgPSB7fTsNCiAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYmFzZSwgImZvbyIsIHt2YWx1ZTogNDIsIHdyaXRhYmxlOnRydWUsIGVudW1lcmFibGU6dHJ1ZSwgY29uZmlndXJhYmxlOnRydWV9KTsNCiAgICB2YXIgbyA9IE9iamVjdC5jcmVhdGUoYmFzZSk7DQogICAgcmV0dXJuIG8uaGFzT3duUHJvcGVydHkoImZvbyIpPT09ZmFsc2U7DQoNCn0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Properties - [[HasOwnProperty]] (writable, configurable, enumerable inherited value property)","path":"TestCases/ch08/8.12/8.12.1/8.12.1-1_19.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gwOC84LjEyLzguMTIuMS84LjEyLjEtMV8yLmpzDQogKiBAZGVzY3JpcHRpb24gUHJvcGVydGllcyAtIFtbSGFzT3duUHJvcGVydHldXSAob2xkIHN0eWxlIG93biBwcm9wZXJ0eSkNCiAqLw0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgIHZhciBvID0ge2ZvbzogNDJ9Ow0KICAgIHJldHVybiBvLmhhc093blByb3BlcnR5KCJmb28iKTsNCg0KfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Properties - [[HasOwnProperty]] (old style own property)","path":"TestCases/ch08/8.12/8.12.1/8.12.1-1_2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gwOC84LjEyLzguMTIuMS84LjEyLjEtMV8yMC5qcw0KICogQGRlc2NyaXB0aW9uIFByb3BlcnRpZXMgLSBbW0hhc093blByb3BlcnR5XV0gKGxpdGVyYWwgb3duIGdldHRlciBwcm9wZXJ0eSkNCiAqLw0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgIHZhciBvID0geyBnZXQgZm9vKCkgeyByZXR1cm4gNDI7fSB9Ow0KICAgIHJldHVybiBvLmhhc093blByb3BlcnR5KCJmb28iKTsNCg0KfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Properties - [[HasOwnProperty]] (literal own getter property)","path":"TestCases/ch08/8.12/8.12.1/8.12.1-1_20.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gwOC84LjEyLzguMTIuMS84LjEyLjEtMV8yMS5qcw0KICogQGRlc2NyaXB0aW9uIFByb3BlcnRpZXMgLSBbW0hhc093blByb3BlcnR5XV0gKGxpdGVyYWwgb3duIHNldHRlciBwcm9wZXJ0eSkNCiAqLw0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgIHZhciBvID0geyBzZXQgZm9vKHgpIHs7fSB9Ow0KICAgIHJldHVybiBvLmhhc093blByb3BlcnR5KCJmb28iKTsNCg0KfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Properties - [[HasOwnProperty]] (literal own setter property)","path":"TestCases/ch08/8.12/8.12.1/8.12.1-1_21.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gwOC84LjEyLzguMTIuMS84LjEyLjEtMV8yMi5qcw0KICogQGRlc2NyaXB0aW9uIFByb3BlcnRpZXMgLSBbW0hhc093blByb3BlcnR5XV0gKGxpdGVyYWwgb3duIGdldHRlci9zZXR0ZXIgcHJvcGVydHkpDQogKi8NCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICB2YXIgbyA9IHsgZ2V0IGZvbygpIHsgcmV0dXJuIDQyO30sIHNldCBmb28oeCkgezt9IH07DQogICAgcmV0dXJuIG8uaGFzT3duUHJvcGVydHkoImZvbyIpOw0KDQp9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Properties - [[HasOwnProperty]] (literal own getter/setter property)","path":"TestCases/ch08/8.12/8.12.1/8.12.1-1_22.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gwOC84LjEyLzguMTIuMS84LjEyLjEtMV8yMy5qcw0KICogQGRlc2NyaXB0aW9uIFByb3BlcnRpZXMgLSBbW0hhc093blByb3BlcnR5XV0gKGxpdGVyYWwgaW5oZXJpdGVkIGdldHRlciBwcm9wZXJ0eSkNCiAqLw0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgIHZhciBiYXNlID0geyBnZXQgZm9vKCkgeyByZXR1cm4gNDI7fSB9Ow0KICAgIHZhciBvID0gT2JqZWN0LmNyZWF0ZShiYXNlKTsNCiAgICByZXR1cm4gby5oYXNPd25Qcm9wZXJ0eSgiZm9vIik9PT1mYWxzZTsNCg0KfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Properties - [[HasOwnProperty]] (literal inherited getter property)","path":"TestCases/ch08/8.12/8.12.1/8.12.1-1_23.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gwOC84LjEyLzguMTIuMS84LjEyLjEtMV8yNC5qcw0KICogQGRlc2NyaXB0aW9uIFByb3BlcnRpZXMgLSBbW0hhc093blByb3BlcnR5XV0gKGxpdGVyYWwgaW5oZXJpdGVkIHNldHRlciBwcm9wZXJ0eSkNCiAqLw0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgIHZhciBiYXNlID0geyBzZXQgZm9vKHgpIHs7fSB9Ow0KICAgIHZhciBvID0gT2JqZWN0LmNyZWF0ZShiYXNlKTsNCiAgICByZXR1cm4gby5oYXNPd25Qcm9wZXJ0eSgiZm9vIik9PT1mYWxzZTsNCg0KfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Properties - [[HasOwnProperty]] (literal inherited setter property)","path":"TestCases/ch08/8.12/8.12.1/8.12.1-1_24.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gwOC84LjEyLzguMTIuMS84LjEyLjEtMV8yNS5qcw0KICogQGRlc2NyaXB0aW9uIFByb3BlcnRpZXMgLSBbW0hhc093blByb3BlcnR5XV0gKGxpdGVyYWwgaW5oZXJpdGVkIGdldHRlci9zZXR0ZXIgcHJvcGVydHkpDQogKi8NCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICB2YXIgYmFzZSA9IHsgZ2V0IGZvbygpIHsgcmV0dXJuIDQyO30sIHNldCBmb28oeCkgezt9IH07DQogICAgdmFyIG8gPSBPYmplY3QuY3JlYXRlKGJhc2UpOw0KICAgIHJldHVybiBvLmhhc093blByb3BlcnR5KCJmb28iKT09PWZhbHNlOw0KDQp9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Properties - [[HasOwnProperty]] (literal inherited getter/setter property)","path":"TestCases/ch08/8.12/8.12.1/8.12.1-1_25.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gwOC84LjEyLzguMTIuMS84LjEyLjEtMV8yNi5qcw0KICogQGRlc2NyaXB0aW9uIFByb3BlcnRpZXMgLSBbW0hhc093blByb3BlcnR5XV0gKG5vbi1jb25maWd1cmFibGUsIG5vbi1lbnVtZXJhYmxlIG93biBnZXR0ZXIgcHJvcGVydHkpDQogKi8NCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICB2YXIgbyA9IHt9Ow0KICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvLCAiZm9vIiwge2dldDogZnVuY3Rpb24oKSB7cmV0dXJuIDQyO319KTsNCiAgICByZXR1cm4gby5oYXNPd25Qcm9wZXJ0eSgiZm9vIik7DQoNCn0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Properties - [[HasOwnProperty]] (non-configurable, non-enumerable own getter property)","path":"TestCases/ch08/8.12/8.12.1/8.12.1-1_26.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gwOC84LjEyLzguMTIuMS84LjEyLjEtMV8yNy5qcw0KICogQGRlc2NyaXB0aW9uIFByb3BlcnRpZXMgLSBbW0hhc093blByb3BlcnR5XV0gKG5vbi1jb25maWd1cmFibGUsIGVudW1lcmFibGUgb3duIGdldHRlciBwcm9wZXJ0eSkNCiAqLw0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgIHZhciBvID0ge307DQogICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG8sICJmb28iLCB7Z2V0OiBmdW5jdGlvbigpIHtyZXR1cm4gNDI7fSwgZW51bWVyYWJsZTp0cnVlfSk7DQogICAgcmV0dXJuIG8uaGFzT3duUHJvcGVydHkoImZvbyIpOw0KDQp9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Properties - [[HasOwnProperty]] (non-configurable, enumerable own getter property)","path":"TestCases/ch08/8.12/8.12.1/8.12.1-1_27.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gwOC84LjEyLzguMTIuMS84LjEyLjEtMV8yOC5qcw0KICogQGRlc2NyaXB0aW9uIFByb3BlcnRpZXMgLSBbW0hhc093blByb3BlcnR5XV0gKGNvbmZpZ3VyYWJsZSwgbm9uLWVudW1lcmFibGUgb3duIGdldHRlciBwcm9wZXJ0eSkNCiAqLw0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgIHZhciBvID0ge307DQogICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG8sICJmb28iLCB7Z2V0OiBmdW5jdGlvbigpIHtyZXR1cm4gNDI7fSwgY29uZmlndXJhYmxlOnRydWV9KTsNCiAgICByZXR1cm4gby5oYXNPd25Qcm9wZXJ0eSgiZm9vIik7DQoNCn0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Properties - [[HasOwnProperty]] (configurable, non-enumerable own getter property)","path":"TestCases/ch08/8.12/8.12.1/8.12.1-1_28.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gwOC84LjEyLzguMTIuMS84LjEyLjEtMV8yOS5qcw0KICogQGRlc2NyaXB0aW9uIFByb3BlcnRpZXMgLSBbW0hhc093blByb3BlcnR5XV0gKGNvbmZpZ3VyYWJsZSwgZW51bWVyYWJsZSBvd24gZ2V0dGVyIHByb3BlcnR5KQ0KICovDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgdmFyIG8gPSB7fTsNCiAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkobywgImZvbyIsIHtnZXQ6IGZ1bmN0aW9uKCkge3JldHVybiA0Mjt9LCBlbnVtZXJhYmxlOnRydWUsIGNvbmZpZ3VyYWJsZTp0cnVlfSk7DQogICAgcmV0dXJuIG8uaGFzT3duUHJvcGVydHkoImZvbyIpOw0KDQp9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Properties - [[HasOwnProperty]] (configurable, enumerable own getter property)","path":"TestCases/ch08/8.12/8.12.1/8.12.1-1_29.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gwOC84LjEyLzguMTIuMS84LjEyLjEtMV8zLmpzDQogKiBAZGVzY3JpcHRpb24gUHJvcGVydGllcyAtIFtbSGFzT3duUHJvcGVydHldXSAob2xkIHN0eWxlIGluaGVyaXRlZCBwcm9wZXJ0eSkNCiAqLw0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgIHZhciBiYXNlID0ge2Zvbzo0Mn07DQogICAgdmFyIG8gPSBPYmplY3QuY3JlYXRlKGJhc2UpOw0KICAgIHJldHVybiBvLmhhc093blByb3BlcnR5KCJmb28iKT09PWZhbHNlOw0KDQp9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Properties - [[HasOwnProperty]] (old style inherited property)","path":"TestCases/ch08/8.12/8.12.1/8.12.1-1_3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gwOC84LjEyLzguMTIuMS84LjEyLjEtMV8zMC5qcw0KICogQGRlc2NyaXB0aW9uIFByb3BlcnRpZXMgLSBbW0hhc093blByb3BlcnR5XV0gKG5vbi1jb25maWd1cmFibGUsIG5vbi1lbnVtZXJhYmxlIG93biBzZXR0ZXIgcHJvcGVydHkpDQogKi8NCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICB2YXIgbyA9IHt9Ow0KICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvLCAiZm9vIiwge3NldDogZnVuY3Rpb24oKSB7O319KTsNCiAgICByZXR1cm4gby5oYXNPd25Qcm9wZXJ0eSgiZm9vIik7DQoNCn0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Properties - [[HasOwnProperty]] (non-configurable, non-enumerable own setter property)","path":"TestCases/ch08/8.12/8.12.1/8.12.1-1_30.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gwOC84LjEyLzguMTIuMS84LjEyLjEtMV8zMS5qcw0KICogQGRlc2NyaXB0aW9uIFByb3BlcnRpZXMgLSBbW0hhc093blByb3BlcnR5XV0gKG5vbi1jb25maWd1cmFibGUsIGVudW1lcmFibGUgb3duIHNldHRlciBwcm9wZXJ0eSkNCiAqLw0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgIHZhciBvID0ge307DQogICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG8sICJmb28iLCB7c2V0OiBmdW5jdGlvbigpIHs7fSwgZW51bWVyYWJsZTp0cnVlfSk7DQogICAgcmV0dXJuIG8uaGFzT3duUHJvcGVydHkoImZvbyIpOw0KDQp9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Properties - [[HasOwnProperty]] (non-configurable, enumerable own setter property)","path":"TestCases/ch08/8.12/8.12.1/8.12.1-1_31.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gwOC84LjEyLzguMTIuMS84LjEyLjEtMV8zMi5qcw0KICogQGRlc2NyaXB0aW9uIFByb3BlcnRpZXMgLSBbW0hhc093blByb3BlcnR5XV0gKGNvbmZpZ3VyYWJsZSwgbm9uLWVudW1lcmFibGUgb3duIHNldHRlciBwcm9wZXJ0eSkNCiAqLw0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgIHZhciBvID0ge307DQogICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG8sICJmb28iLCB7c2V0OiBmdW5jdGlvbigpIHs7fSwgY29uZmlndXJhYmxlOnRydWV9KTsNCiAgICByZXR1cm4gby5oYXNPd25Qcm9wZXJ0eSgiZm9vIik7DQoNCn0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Properties - [[HasOwnProperty]] (configurable, non-enumerable own setter property)","path":"TestCases/ch08/8.12/8.12.1/8.12.1-1_32.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gwOC84LjEyLzguMTIuMS84LjEyLjEtMV8zMy5qcw0KICogQGRlc2NyaXB0aW9uIFByb3BlcnRpZXMgLSBbW0hhc093blByb3BlcnR5XV0gKGNvbmZpZ3VyYWJsZSwgZW51bWVyYWJsZSBvd24gc2V0dGVyIHByb3BlcnR5KQ0KICovDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgdmFyIG8gPSB7fTsNCiAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkobywgImZvbyIsIHtzZXQ6IGZ1bmN0aW9uKCkgezt9LCBlbnVtZXJhYmxlOnRydWUsIGNvbmZpZ3VyYWJsZTp0cnVlfSk7DQogICAgcmV0dXJuIG8uaGFzT3duUHJvcGVydHkoImZvbyIpOw0KDQp9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Properties - [[HasOwnProperty]] (configurable, enumerable own setter property)","path":"TestCases/ch08/8.12/8.12.1/8.12.1-1_33.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gwOC84LjEyLzguMTIuMS84LjEyLjEtMV8zNC5qcw0KICogQGRlc2NyaXB0aW9uIFByb3BlcnRpZXMgLSBbW0hhc093blByb3BlcnR5XV0gKG5vbi1jb25maWd1cmFibGUsIG5vbi1lbnVtZXJhYmxlIG93biBnZXR0ZXIvc2V0dGVyIHByb3BlcnR5KQ0KICovDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgdmFyIG8gPSB7fTsNCiAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkobywgImZvbyIsIHtnZXQ6IGZ1bmN0aW9uKCkge3JldHVybiA0Mjt9LCBzZXQ6IGZ1bmN0aW9uKCkgezt9fSk7DQogICAgcmV0dXJuIG8uaGFzT3duUHJvcGVydHkoImZvbyIpOw0KDQp9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Properties - [[HasOwnProperty]] (non-configurable, non-enumerable own getter/setter property)","path":"TestCases/ch08/8.12/8.12.1/8.12.1-1_34.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gwOC84LjEyLzguMTIuMS84LjEyLjEtMV8zNS5qcw0KICogQGRlc2NyaXB0aW9uIFByb3BlcnRpZXMgLSBbW0hhc093blByb3BlcnR5XV0gKG5vbi1jb25maWd1cmFibGUsIGVudW1lcmFibGUgb3duIGdldHRlci9zZXR0ZXIgcHJvcGVydHkpDQogKi8NCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICB2YXIgbyA9IHt9Ow0KICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvLCAiZm9vIiwge2dldDogZnVuY3Rpb24oKSB7cmV0dXJuIDQyO30sIHNldDogZnVuY3Rpb24oKSB7O30sIGVudW1lcmFibGU6dHJ1ZX0pOw0KICAgIHJldHVybiBvLmhhc093blByb3BlcnR5KCJmb28iKTsNCg0KfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Properties - [[HasOwnProperty]] (non-configurable, enumerable own getter/setter property)","path":"TestCases/ch08/8.12/8.12.1/8.12.1-1_35.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gwOC84LjEyLzguMTIuMS84LjEyLjEtMV8zNi5qcw0KICogQGRlc2NyaXB0aW9uIFByb3BlcnRpZXMgLSBbW0hhc093blByb3BlcnR5XV0gKGNvbmZpZ3VyYWJsZSwgbm9uLWVudW1lcmFibGUgb3duIGdldHRlci9zZXR0ZXIgcHJvcGVydHkpDQogKi8NCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICB2YXIgbyA9IHt9Ow0KICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvLCAiZm9vIiwge2dldDogZnVuY3Rpb24oKSB7cmV0dXJuIDQyO30sIHNldDogZnVuY3Rpb24oKSB7O30sIGNvbmZpZ3VyYWJsZTp0cnVlfSk7DQogICAgcmV0dXJuIG8uaGFzT3duUHJvcGVydHkoImZvbyIpOw0KDQp9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Properties - [[HasOwnProperty]] (configurable, non-enumerable own getter/setter property)","path":"TestCases/ch08/8.12/8.12.1/8.12.1-1_36.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gwOC84LjEyLzguMTIuMS84LjEyLjEtMV8zNy5qcw0KICogQGRlc2NyaXB0aW9uIFByb3BlcnRpZXMgLSBbW0hhc093blByb3BlcnR5XV0gKGNvbmZpZ3VyYWJsZSwgZW51bWVyYWJsZSBvd24gZ2V0dGVyL3NldHRlciBwcm9wZXJ0eSkNCiAqLw0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgIHZhciBvID0ge307DQogICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG8sICJmb28iLCB7Z2V0OiBmdW5jdGlvbigpIHtyZXR1cm4gNDI7fSwgc2V0OiBmdW5jdGlvbigpIHs7fSwgZW51bWVyYWJsZTp0cnVlLCBjb25maWd1cmFibGU6dHJ1ZX0pOw0KICAgIHJldHVybiBvLmhhc093blByb3BlcnR5KCJmb28iKTsNCg0KfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Properties - [[HasOwnProperty]] (configurable, enumerable own getter/setter property)","path":"TestCases/ch08/8.12/8.12.1/8.12.1-1_37.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gwOC84LjEyLzguMTIuMS84LjEyLjEtMV8zOC5qcw0KICogQGRlc2NyaXB0aW9uIFByb3BlcnRpZXMgLSBbW0hhc093blByb3BlcnR5XV0gKG5vbi1jb25maWd1cmFibGUsIG5vbi1lbnVtZXJhYmxlIGluaGVyaXRlZCBnZXR0ZXIgcHJvcGVydHkpDQogKi8NCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICB2YXIgYmFzZSA9IHt9Ow0KICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShiYXNlLCAiZm9vIiwge2dldDogZnVuY3Rpb24oKSB7cmV0dXJuIDQyO319KTsNCiAgICB2YXIgbyA9IE9iamVjdC5jcmVhdGUoYmFzZSk7DQogICAgcmV0dXJuIG8uaGFzT3duUHJvcGVydHkoImZvbyIpPT09ZmFsc2U7DQoNCn0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Properties - [[HasOwnProperty]] (non-configurable, non-enumerable inherited getter property)","path":"TestCases/ch08/8.12/8.12.1/8.12.1-1_38.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gwOC84LjEyLzguMTIuMS84LjEyLjEtMV8zOS5qcw0KICogQGRlc2NyaXB0aW9uIFByb3BlcnRpZXMgLSBbW0hhc093blByb3BlcnR5XV0gKG5vbi1jb25maWd1cmFibGUsIGVudW1lcmFibGUgaW5oZXJpdGVkIGdldHRlciBwcm9wZXJ0eSkNCiAqLw0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgIHZhciBiYXNlID0ge307DQogICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGJhc2UsICJmb28iLCB7Z2V0OiBmdW5jdGlvbigpIHtyZXR1cm4gNDI7fSwgZW51bWVyYWJsZTp0cnVlfSk7DQogICAgdmFyIG8gPSBPYmplY3QuY3JlYXRlKGJhc2UpOw0KICAgIHJldHVybiBvLmhhc093blByb3BlcnR5KCJmb28iKT09PWZhbHNlOw0KDQp9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Properties - [[HasOwnProperty]] (non-configurable, enumerable inherited getter property)","path":"TestCases/ch08/8.12/8.12.1/8.12.1-1_39.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gwOC84LjEyLzguMTIuMS84LjEyLjEtMV80LmpzDQogKiBAZGVzY3JpcHRpb24gUHJvcGVydGllcyAtIFtbSGFzT3duUHJvcGVydHldXSAobm9uLXdyaXRhYmxlLCBub24tY29uZmlndXJhYmxlLCBub24tZW51bWVyYWJsZSBvd24gdmFsdWUgcHJvcGVydHkpDQogKi8NCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICB2YXIgbyA9IHt9Ow0KICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvLCAiZm9vIiwge3ZhbHVlOiA0Mn0pOw0KICAgIHJldHVybiBvLmhhc093blByb3BlcnR5KCJmb28iKTsNCg0KfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Properties - [[HasOwnProperty]] (non-writable, non-configurable, non-enumerable own value property)","path":"TestCases/ch08/8.12/8.12.1/8.12.1-1_4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gwOC84LjEyLzguMTIuMS84LjEyLjEtMV80MC5qcw0KICogQGRlc2NyaXB0aW9uIFByb3BlcnRpZXMgLSBbW0hhc093blByb3BlcnR5XV0gKGNvbmZpZ3VyYWJsZSwgbm9uLWVudW1lcmFibGUgaW5oZXJpdGVkIGdldHRlciBwcm9wZXJ0eSkNCiAqLw0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgIHZhciBiYXNlID0ge307DQogICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGJhc2UsICJmb28iLCB7Z2V0OiBmdW5jdGlvbigpIHtyZXR1cm4gNDI7fSwgY29uZmlndXJhYmxlOnRydWV9KTsNCiAgICB2YXIgbyA9IE9iamVjdC5jcmVhdGUoYmFzZSk7DQogICAgcmV0dXJuIG8uaGFzT3duUHJvcGVydHkoImZvbyIpPT09ZmFsc2U7DQoNCn0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Properties - [[HasOwnProperty]] (configurable, non-enumerable inherited getter property)","path":"TestCases/ch08/8.12/8.12.1/8.12.1-1_40.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gwOC84LjEyLzguMTIuMS84LjEyLjEtMV80MS5qcw0KICogQGRlc2NyaXB0aW9uIFByb3BlcnRpZXMgLSBbW0hhc093blByb3BlcnR5XV0gKGNvbmZpZ3VyYWJsZSwgZW51bWVyYWJsZSBpbmhlcml0ZWQgZ2V0dGVyIHByb3BlcnR5KQ0KICovDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgdmFyIGJhc2UgPSB7fTsNCiAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYmFzZSwgImZvbyIsIHtnZXQ6IGZ1bmN0aW9uKCkge3JldHVybiA0Mjt9LCBlbnVtZXJhYmxlOnRydWUsIGNvbmZpZ3VyYWJsZTp0cnVlfSk7DQogICAgdmFyIG8gPSBPYmplY3QuY3JlYXRlKGJhc2UpOw0KICAgIHJldHVybiBvLmhhc093blByb3BlcnR5KCJmb28iKT09PWZhbHNlOw0KDQp9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Properties - [[HasOwnProperty]] (configurable, enumerable inherited getter property)","path":"TestCases/ch08/8.12/8.12.1/8.12.1-1_41.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gwOC84LjEyLzguMTIuMS84LjEyLjEtMV80Mi5qcw0KICogQGRlc2NyaXB0aW9uIFByb3BlcnRpZXMgLSBbW0hhc093blByb3BlcnR5XV0gKG5vbi1jb25maWd1cmFibGUsIG5vbi1lbnVtZXJhYmxlIGluaGVyaXRlZCBzZXR0ZXIgcHJvcGVydHkpDQogKi8NCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICB2YXIgYmFzZSA9IHt9Ow0KICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShiYXNlLCAiZm9vIiwge3NldDogZnVuY3Rpb24oKSB7O319KTsNCiAgICB2YXIgbyA9IE9iamVjdC5jcmVhdGUoYmFzZSk7DQogICAgcmV0dXJuIG8uaGFzT3duUHJvcGVydHkoImZvbyIpPT09ZmFsc2U7DQoNCn0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Properties - [[HasOwnProperty]] (non-configurable, non-enumerable inherited setter property)","path":"TestCases/ch08/8.12/8.12.1/8.12.1-1_42.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gwOC84LjEyLzguMTIuMS84LjEyLjEtMV80My5qcw0KICogQGRlc2NyaXB0aW9uIFByb3BlcnRpZXMgLSBbW0hhc093blByb3BlcnR5XV0gKG5vbi1jb25maWd1cmFibGUsIGVudW1lcmFibGUgaW5oZXJpdGVkIHNldHRlciBwcm9wZXJ0eSkNCiAqLw0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgIHZhciBiYXNlID0ge307DQogICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGJhc2UsICJmb28iLCB7c2V0OiBmdW5jdGlvbigpIHs7fSwgZW51bWVyYWJsZTp0cnVlfSk7DQogICAgdmFyIG8gPSBPYmplY3QuY3JlYXRlKGJhc2UpOw0KICAgIHJldHVybiBvLmhhc093blByb3BlcnR5KCJmb28iKT09PWZhbHNlOw0KDQp9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Properties - [[HasOwnProperty]] (non-configurable, enumerable inherited setter property)","path":"TestCases/ch08/8.12/8.12.1/8.12.1-1_43.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gwOC84LjEyLzguMTIuMS84LjEyLjEtMV80NC5qcw0KICogQGRlc2NyaXB0aW9uIFByb3BlcnRpZXMgLSBbW0hhc093blByb3BlcnR5XV0gKGNvbmZpZ3VyYWJsZSwgbm9uLWVudW1lcmFibGUgaW5oZXJpdGVkIHNldHRlciBwcm9wZXJ0eSkNCiAqLw0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgIHZhciBiYXNlID0ge307DQogICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGJhc2UsICJmb28iLCB7c2V0OiBmdW5jdGlvbigpIHs7fSwgY29uZmlndXJhYmxlOnRydWV9KTsNCiAgICB2YXIgbyA9IE9iamVjdC5jcmVhdGUoYmFzZSk7DQogICAgcmV0dXJuIG8uaGFzT3duUHJvcGVydHkoImZvbyIpPT09ZmFsc2U7DQoNCn0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Properties - [[HasOwnProperty]] (configurable, non-enumerable inherited setter property)","path":"TestCases/ch08/8.12/8.12.1/8.12.1-1_44.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gwOC84LjEyLzguMTIuMS84LjEyLjEtMV80NS5qcw0KICogQGRlc2NyaXB0aW9uIFByb3BlcnRpZXMgLSBbW0hhc093blByb3BlcnR5XV0gKGNvbmZpZ3VyYWJsZSwgZW51bWVyYWJsZSBpbmhlcml0ZWQgc2V0dGVyIHByb3BlcnR5KQ0KICovDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgdmFyIGJhc2UgPSB7fTsNCiAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYmFzZSwgImZvbyIsIHtzZXQ6IGZ1bmN0aW9uKCkgezt9LCBlbnVtZXJhYmxlOnRydWUsIGNvbmZpZ3VyYWJsZTp0cnVlfSk7DQogICAgdmFyIG8gPSBPYmplY3QuY3JlYXRlKGJhc2UpOw0KICAgIHJldHVybiBvLmhhc093blByb3BlcnR5KCJmb28iKT09PWZhbHNlOw0KDQp9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Properties - [[HasOwnProperty]] (configurable, enumerable inherited setter property)","path":"TestCases/ch08/8.12/8.12.1/8.12.1-1_45.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gwOC84LjEyLzguMTIuMS84LjEyLjEtMV80Ni5qcw0KICogQGRlc2NyaXB0aW9uIFByb3BlcnRpZXMgLSBbW0hhc093blByb3BlcnR5XV0gKG5vbi1jb25maWd1cmFibGUsIG5vbi1lbnVtZXJhYmxlIGluaGVyaXRlZCBnZXR0ZXIvc2V0dGVyIHByb3BlcnR5KQ0KICovDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgdmFyIGJhc2UgPSB7fTsNCiAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYmFzZSwgImZvbyIsIHtnZXQ6IGZ1bmN0aW9uKCkge3JldHVybiA0Mjt9LCBzZXQ6IGZ1bmN0aW9uKCkgezt9fSk7DQogICAgdmFyIG8gPSBPYmplY3QuY3JlYXRlKGJhc2UpOw0KICAgIHJldHVybiBvLmhhc093blByb3BlcnR5KCJmb28iKT09PWZhbHNlOw0KDQp9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Properties - [[HasOwnProperty]] (non-configurable, non-enumerable inherited getter/setter property)","path":"TestCases/ch08/8.12/8.12.1/8.12.1-1_46.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gwOC84LjEyLzguMTIuMS84LjEyLjEtMV80Ny5qcw0KICogQGRlc2NyaXB0aW9uIFByb3BlcnRpZXMgLSBbW0hhc093blByb3BlcnR5XV0gKG5vbi1jb25maWd1cmFibGUsIGVudW1lcmFibGUgaW5oZXJpdGVkIGdldHRlci9zZXR0ZXIgcHJvcGVydHkpDQogKi8NCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICB2YXIgYmFzZSA9IHt9Ow0KICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShiYXNlLCAiZm9vIiwge2dldDogZnVuY3Rpb24oKSB7cmV0dXJuIDQyO30sIHNldDogZnVuY3Rpb24oKSB7O30sIGVudW1lcmFibGU6dHJ1ZX0pOw0KICAgIHZhciBvID0gT2JqZWN0LmNyZWF0ZShiYXNlKTsNCiAgICByZXR1cm4gby5oYXNPd25Qcm9wZXJ0eSgiZm9vIik9PT1mYWxzZTsNCg0KfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Properties - [[HasOwnProperty]] (non-configurable, enumerable inherited getter/setter property)","path":"TestCases/ch08/8.12/8.12.1/8.12.1-1_47.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gwOC84LjEyLzguMTIuMS84LjEyLjEtMV80OC5qcw0KICogQGRlc2NyaXB0aW9uIFByb3BlcnRpZXMgLSBbW0hhc093blByb3BlcnR5XV0gKGNvbmZpZ3VyYWJsZSwgbm9uLWVudW1lcmFibGUgaW5oZXJpdGVkIGdldHRlci9zZXR0ZXIgcHJvcGVydHkpDQogKi8NCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICB2YXIgYmFzZSA9IHt9Ow0KICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShiYXNlLCAiZm9vIiwge2dldDogZnVuY3Rpb24oKSB7cmV0dXJuIDQyO30sIHNldDogZnVuY3Rpb24oKSB7O30sIGNvbmZpZ3VyYWJsZTp0cnVlfSk7DQogICAgdmFyIG8gPSBPYmplY3QuY3JlYXRlKGJhc2UpOw0KICAgIHJldHVybiBvLmhhc093blByb3BlcnR5KCJmb28iKT09PWZhbHNlOw0KDQp9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Properties - [[HasOwnProperty]] (configurable, non-enumerable inherited getter/setter property)","path":"TestCases/ch08/8.12/8.12.1/8.12.1-1_48.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gwOC84LjEyLzguMTIuMS84LjEyLjEtMV80OS5qcw0KICogQGRlc2NyaXB0aW9uIFByb3BlcnRpZXMgLSBbW0hhc093blByb3BlcnR5XV0gKGNvbmZpZ3VyYWJsZSwgZW51bWVyYWJsZSBpbmhlcml0ZWQgZ2V0dGVyL3NldHRlciBwcm9wZXJ0eSkNCiAqLw0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgIHZhciBiYXNlID0ge307DQogICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGJhc2UsICJmb28iLCB7Z2V0OiBmdW5jdGlvbigpIHtyZXR1cm4gNDI7fSwgc2V0OiBmdW5jdGlvbigpIHs7fSwgZW51bWVyYWJsZTp0cnVlLCBjb25maWd1cmFibGU6dHJ1ZX0pOw0KICAgIHZhciBvID0gT2JqZWN0LmNyZWF0ZShiYXNlKTsNCiAgICByZXR1cm4gby5oYXNPd25Qcm9wZXJ0eSgiZm9vIik9PT1mYWxzZTsNCg0KfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Properties - [[HasOwnProperty]] (configurable, enumerable inherited getter/setter property)","path":"TestCases/ch08/8.12/8.12.1/8.12.1-1_49.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gwOC84LjEyLzguMTIuMS84LjEyLjEtMV81LmpzDQogKiBAZGVzY3JpcHRpb24gUHJvcGVydGllcyAtIFtbSGFzT3duUHJvcGVydHldXSAobm9uLXdyaXRhYmxlLCBub24tY29uZmlndXJhYmxlLCBlbnVtZXJhYmxlIG93biB2YWx1ZSBwcm9wZXJ0eSkNCiAqLw0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgIHZhciBvID0ge307DQogICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG8sICJmb28iLCB7dmFsdWU6IDQyLCBlbnVtZXJhYmxlOnRydWV9KTsNCiAgICByZXR1cm4gby5oYXNPd25Qcm9wZXJ0eSgiZm9vIik7DQoNCn0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Properties - [[HasOwnProperty]] (non-writable, non-configurable, enumerable own value property)","path":"TestCases/ch08/8.12/8.12.1/8.12.1-1_5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gwOC84LjEyLzguMTIuMS84LjEyLjEtMV82LmpzDQogKiBAZGVzY3JpcHRpb24gUHJvcGVydGllcyAtIFtbSGFzT3duUHJvcGVydHldXSAobm9uLXdyaXRhYmxlLCBjb25maWd1cmFibGUsIG5vbi1lbnVtZXJhYmxlIG93biB2YWx1ZSBwcm9wZXJ0eSkNCiAqLw0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgIHZhciBvID0ge307DQogICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG8sICJmb28iLCB7dmFsdWU6IDQyLCBjb25maWd1cmFibGU6dHJ1ZX0pOw0KICAgIHJldHVybiBvLmhhc093blByb3BlcnR5KCJmb28iKTsNCg0KfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Properties - [[HasOwnProperty]] (non-writable, configurable, non-enumerable own value property)","path":"TestCases/ch08/8.12/8.12.1/8.12.1-1_6.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gwOC84LjEyLzguMTIuMS84LjEyLjEtMV83LmpzDQogKiBAZGVzY3JpcHRpb24gUHJvcGVydGllcyAtIFtbSGFzT3duUHJvcGVydHldXSAod3JpdGFibGUsIG5vbi1jb25maWd1cmFibGUsIG5vbi1lbnVtZXJhYmxlIG93biB2YWx1ZSBwcm9wZXJ0eSkNCiAqLw0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgIHZhciBvID0ge307DQogICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG8sICJmb28iLCB7dmFsdWU6IDQyLCB3cml0YWJsZTp0cnVlfSk7DQogICAgcmV0dXJuIG8uaGFzT3duUHJvcGVydHkoImZvbyIpOw0KDQp9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Properties - [[HasOwnProperty]] (writable, non-configurable, non-enumerable own value property)","path":"TestCases/ch08/8.12/8.12.1/8.12.1-1_7.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gwOC84LjEyLzguMTIuMS84LjEyLjEtMV84LmpzDQogKiBAZGVzY3JpcHRpb24gUHJvcGVydGllcyAtIFtbSGFzT3duUHJvcGVydHldXSAobm9uLXdyaXRhYmxlLCBjb25maWd1cmFibGUsIGVudW1lcmFibGUgb3duIHZhbHVlIHByb3BlcnR5KQ0KICovDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgdmFyIG8gPSB7fTsNCiAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkobywgImZvbyIsIHt2YWx1ZTogNDIsIGNvbmZpZ3VyYWJsZTp0cnVlLCBlbnVtZXJhYmxlOnRydWV9KTsNCiAgICByZXR1cm4gby5oYXNPd25Qcm9wZXJ0eSgiZm9vIik7DQoNCn0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Properties - [[HasOwnProperty]] (non-writable, configurable, enumerable own value property)","path":"TestCases/ch08/8.12/8.12.1/8.12.1-1_8.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gwOC84LjEyLzguMTIuMS84LjEyLjEtMV85LmpzDQogKiBAZGVzY3JpcHRpb24gUHJvcGVydGllcyAtIFtbSGFzT3duUHJvcGVydHldXSAod3JpdGFibGUsIG5vbi1jb25maWd1cmFibGUsIGVudW1lcmFibGUgb3duIHZhbHVlIHByb3BlcnR5KQ0KICovDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgdmFyIG8gPSB7fTsNCiAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkobywgImZvbyIsIHt2YWx1ZTogNDIsIHdyaXRhYmxlOnRydWUsIGVudW1lcmFibGU6dHJ1ZX0pOw0KICAgIHJldHVybiBvLmhhc093blByb3BlcnR5KCJmb28iKTsNCg0KfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Properties - [[HasOwnProperty]] (writable, non-configurable, enumerable own value property)","path":"TestCases/ch08/8.12/8.12.1/8.12.1-1_9.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBbW0dldF1dKFApIG1ldGhvZCBzaG91bGQgcmV0dXJuIHZhbHVlIHdoZW4gcHJvcGVydHkgUCBkb2VzIG5vdCBleGlzdCBpbiBpbnN0YW5jZSBidXQgcHJvdG90eXBlIGNvbnRhaW4gaXQKICoKICogQHBhdGggY2gwOC84LjEyLzguMTIuMy9TOC4xMi4zX0ExLmpzCiAqIEBkZXNjcmlwdGlvbiBUcnkgdG8gZ2V0IFAgd2hlbiBwcm9wZXJ0eSBQIGRvZXMgbm90IGV4aXN0IGluIGluc3RhbmNlIGJ1dCBwcm90b3R5cGUgY29udGFpbiBpdAogKi8KCi8vRXN0YWJsaXNoIGZvbyBvYmplY3QgCmZ1bmN0aW9uIEZvb09iaigpe307IEZvb09iai5wcm90b3R5cGUucHJvcEZvbz0ic29tZSI7CgovLyBJbnZva2UgaW5zdGFuY2Ugb2YgZm9vIG9iamVjdAp2YXIgX19vYmo9IG5ldyBGb29PYmo7CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmIChfX29iai5wcm9wRm9vICE9PSAic29tZSIpewogICRFUlJPUignIzE6IGZ1bmN0aW9uIEZvb09iaigpe307IEZvb09iai5wcm90b3R5cGUucHJvcEZvbz0ic29tZSI7IHZhciBfX29iaj0gbmV3IEZvb09iajsgX19vYmoucHJvcEZvbyA9PT0gInNvbWUiLiBBY3R1YWw6ICcgKyAoX19vYmoucHJvcEZvbykpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMgppZiAoX19vYmpbJ3Byb3BGb28nXSAhPT0gInNvbWUiKXsKICAkRVJST1IoJyMxOiBmdW5jdGlvbiBGb29PYmooKXt9OyBGb29PYmoucHJvdG90eXBlLnByb3BGb289InNvbWUiOyB2YXIgX19vYmo9IG5ldyBGb29PYmo7IF9fb2JqW1wncHJvcEZvb1wnXSA9PT0gInNvbWUiLiBBY3R1YWw6ICcgKyAoX19vYmpbJ3Byb3BGb28nXSkpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"[[Get]](P) method should return value when property P does not exist in instance but prototype contain it","description":"Try to get P when property P does not exist in instance but prototype contain it","path":"TestCases/ch08/8.12/8.12.3/S8.12.3_A1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBbW0dldF1dKFApIG1ldGhvZCBzaG91bGQgcmV0dXJuIHVuZGVmaW5lZCB3aGVuIHByb3BlcnR5IFAgZG9lcyBub3QgZXhpc3QgYm90aCBpbiBpbnN0YW5jZSBhbmQgcHJvdG90eXBlCiAqCiAqIEBwYXRoIGNoMDgvOC4xMi84LjEyLjMvUzguMTIuM19BMi5qcwogKiBAZGVzY3JpcHRpb24gVHJ5IHRvIGdldCBQIHdoZW4gcHJvcGVydHkgUCBkb2VzIG5vdCBleGlzdCBib3RoIGluIGluc3RhbmNlIGFuZCBwcm90b3R5cGUKICovCgp2YXIgX19vYmo9e307CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmIChfX29iai5wcm9wRm9vICE9PSB1bmRlZmluZWQpewogICRFUlJPUignIzE6IHZhciBfX29iaj17fTsgX19vYmoucHJvcEZvbyA9PT0gdW5kZWZpbmVkLiBBY3R1YWw6ICcgKyAoX19vYmoucHJvcEZvbykpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMgppZiAoX19vYmpbJ3Byb3BGb28nXSAhPT0gdW5kZWZpbmVkKXsKICAkRVJST1IoJyMyOiB2YXIgX19vYmo9e307IF9fb2JqW1wncHJvcEZvb1wnXSA9PT0gdW5kZWZpbmVkLiBBY3R1YWw6ICcgKyAoX19vYmpbJ3Byb3BGb28nXSkpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"[[Get]](P) method should return undefined when property P does not exist both in instance and prototype","description":"Try to get P when property P does not exist both in instance and prototype","path":"TestCases/ch08/8.12/8.12.3/S8.12.3_A2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuIHRoZSBbW0dldF1dIG1ldGhvZCBvZiBPIGlzIGNhbGxlZCB3aXRoIHByb3BlcnR5IG5hbWUgUCB2YWx1ZSBvZiBQIHJldHVybnMKICoKICogQHBhdGggY2gwOC84LjEyLzguMTIuMy9TOC4xMi4zX0EzLmpzCiAqIEBkZXNjcmlwdGlvbiBUcnkgdG8gZ2V0IFAgcHJvcGVydHkgUCBleGlzdCBpbiBpbnN0YW5jZQogKi8KCnZhciBfX21hcD17c2hhcGU6ImN1YmUiLCA1OiJmaXZlIiwgIjYiOiJzaXgifTsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKF9fbWFwLnNoYXBlICE9PSAiY3ViZSIpewogICRFUlJPUignIzE6IHZhciBfX21hcD17c2hhcGU6ImN1YmUiLCA1OiJmaXZlIiwgIjYiOiJzaXgifTsgX19tYXAuc2hhcGUgPT09ICJjdWJlIi4gQWN0dWFsOiAnICsgKF9fbWFwLnNoYXBlKSk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMyCmlmIChfX21hcFsic2hhcGUiXSAhPT0gImN1YmUiKXsKICAkRVJST1IoJyMyOiB2YXIgX19tYXA9e3NoYXBlOiJjdWJlIiwgNToiZml2ZSIsICI2Ijoic2l4In07IF9fbWFwWyJzaGFwZSJdID09PSAiY3ViZSIuIEFjdHVhbDogJyArIChfX21hcFsic2hhcGUiXSkpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMwppZiAoX19tYXBbIjUiXSAhPT0gImZpdmUiKXsKICAkRVJST1IoJyMzOiB2YXIgX19tYXA9e3NoYXBlOiJjdWJlIiwgNToiZml2ZSIsICI2Ijoic2l4In07IF9fbWFwWyI1Il0gPT09ICJmaXZlIi4gQWN0dWFsOiAnICsgKF9fbWFwWyI1Il0pKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzQKaWYgKF9fbWFwWzVdICE9PSAiZml2ZSIpewogICRFUlJPUignIzQ6IHZhciBfX21hcD17c2hhcGU6ImN1YmUiLCA1OiJmaXZlIiwgIjYiOiJzaXgifTsgX19tYXBbNV0gPT09ICJmaXZlIi4gQWN0dWFsOiAnICsgKF9fbWFwWzVdKSk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyM1CmlmIChfX21hcFsiNiJdICE9PSAic2l4Iil7CiAgJEVSUk9SKCcjNTogdmFyIF9fbWFwPXtzaGFwZToiY3ViZSIsIDU6ImZpdmUiLCAiNiI6InNpeCJ9OyBfX21hcFsiNiJdID09PSAic2l4Ii4gQWN0dWFsOiAnICsgKF9fbWFwWyI2Il0pKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzYKaWYgKF9fbWFwWzZdICE9PSAic2l4Iil7CiAgJEVSUk9SKCcjNjogdmFyIF9fbWFwPXtzaGFwZToiY3ViZSIsIDU6ImZpdmUiLCAiNiI6InNpeCJ9OyBfX21hcFs2XSA9PT0gInNpeCIuIEFjdHVhbDogJyArIChfX21hcFs2XSkpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"When the [[Get]] method of O is called with property name P value of P returns","description":"Try to get P property P exist in instance","path":"TestCases/ch08/8.12/8.12.3/S8.12.3_A3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gwOC84LjEyLzguMTIuNC84LjE0LjQtOC1iXzEuanMNCiAqIEBkZXNjcmlwdGlvbiBOb24td3JpdGFibGUgcHJvcGVydHkgb24gYSBwcm90b3R5cGUgd3JpdHRlbiB0by4NCiAqLw0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsgICANCiAgICBmdW5jdGlvbiBmb28oKSB7fTsNCiAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoZm9vLnByb3RvdHlwZSwgImJhciIsIHt2YWx1ZTogInVud3JpdGFibGUifSk7IA0KICAgIA0KICAgIHZhciBvID0gbmV3IGZvbygpOyANCiAgICBvLmJhciA9ICJvdmVycmlkZGVuIjsgDQogICAgcmV0dXJuIG8uaGFzT3duUHJvcGVydHkoImJhciIpPT09ZmFsc2UgJiYgby5iYXI9PT0idW53cml0YWJsZSI7DQp9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Non-writable property on a prototype written to.","path":"TestCases/ch08/8.12/8.12.4/8.14.4-8-b_1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gwOC84LjEyLzguMTIuNC84LjE0LjQtOC1iXzIuanMNCiAqIEBkZXNjcmlwdGlvbiBOb24td3JpdGFibGUgcHJvcGVydHkgb24gYSBwcm90b3R5cGUgd3JpdHRlbiB0byBpbiBzdHJpY3QgbW9kZS4NCiAqIEBvbmx5U3RyaWN0DQogKi8NCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgInVzZSBzdHJpY3QiOw0KICAgIA0KICAgIGZ1bmN0aW9uIGZvbygpIHt9Ow0KICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShmb28ucHJvdG90eXBlLCAiYmFyIiwge3ZhbHVlOiAidW53cml0YWJsZSJ9KTsgDQogICAgDQogICAgdmFyIG8gPSBuZXcgZm9vKCk7IA0KICAgIHRyeSB7DQogICAgICAgIG8uYmFyID0gIm92ZXJyaWRkZW4iOyANCiAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgIH0gY2F0Y2goZSkgew0KICAgICAgICByZXR1cm4gKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpICYmIChvLmJhcj09PSJ1bndyaXRhYmxlIik7DQogICAgfQ0KfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Non-writable property on a prototype written to in strict mode.","onlyStrict":"","path":"TestCases/ch08/8.12/8.12.4/8.14.4-8-b_2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB0aGUgcHJvcGVydHkgaGFzIHRoZSBSZWFkT25seSBhdHRyaWJ1dGUsIFtbQ2FuUHV0XV0oUCkgcmV0dXJuIGZhbHNlCiAqCiAqIEBwYXRoIGNoMDgvOC4xMi84LjEyLjQvUzguMTIuNF9BMS5qcwogKiBAZGVzY3JpcHRpb24gVHJ5IHB1dCBvdGhlciB2YWx1ZSBmb3IgTWF0aC5FIHByb3BlcnR5CiAqIEBub1N0cmljdAogKi8KCnZhciBfX2UgPSBNYXRoLkU7Ck1hdGguRSA9IDE7CmlmIChNYXRoLkUgIT09IF9fZSl7CiAgJEVSUk9SKCcjMTogX19lID0gTWF0aC5FOyBNYXRoLkUgPSAxOyBNYXRoLkUgPT09IF9fZS4gQWN0dWFsOiAnICsgKE1hdGguRSkpOwp9Cgo=","commentary":"If the property has the ReadOnly attribute, [[CanPut]](P) return false","description":"Try put other value for Math.E property","noStrict":"","path":"TestCases/ch08/8.12/8.12.4/S8.12.4_A1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gwOC84LjEyLzguMTIuNS84LjEyLjUtMy1iXzEuanMNCiAqIEBkZXNjcmlwdGlvbiBDaGFuZ2luZyB0aGUgdmFsdWUgb2YgYSBkYXRhIHByb3BlcnR5IHNob3VsZCBub3QgYWZmZWN0IGl0J3Mgbm9uLXZhbHVlIHByb3BlcnR5IGRlc2NyaXB0b3IgYXR0cmlidXRlcy4NCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgIHZhciBvcmlnUmVkdWNlID0gQXJyYXkucHJvdG90eXBlLnJlZHVjZTsNCiAgICB2YXIgb3JpZ0Rlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKEFycmF5LnByb3RvdHlwZSwgInJlZHVjZSIpOw0KICAgIHZhciBuZXdEZXNjOw0KICAgIA0KICAgIHRyeSB7DQogICAgICAgIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UgPSBmdW5jdGlvbiAoKSB7O307DQogICAgICAgIG5ld0Rlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKEFycmF5LnByb3RvdHlwZSwgInJlZHVjZSIpOw0KICAgICAgICB2YXIgZGVzY0FycmF5ID0gW29yaWdEZXNjLCBuZXdEZXNjXTsNCiAgICAgICAgDQogICAgICAgIGZvciAodmFyIGogaW4gZGVzY0FycmF5KSB7ICAvL0Vuc3VyZSBubyBhdHRyaWJ1dGVzIGFyZSBtYWdpY2FsbHkgYWRkZWQgdG8gbmV3RGVzYw0KICAgICAgICAgICAgZm9yICh2YXIgaSBpbiBkZXNjQXJyYXlbal0pIHsNCiAgICAgICAgICAgICAgICBpZiAoaT09PSJ2YWx1ZSIpIHsNCiAgICAgICAgICAgICAgICAgICAgaWYgKG9yaWdEZXNjW2ldPT09bmV3RGVzY1tpXSkgew0KICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgIGVsc2UgaWYgKG9yaWdEZXNjW2ldIT09bmV3RGVzY1tpXSkgew0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQogICAgICAgIHJldHVybiB0cnVlOyAgICAgICAgDQogICAgDQogICAgfSBmaW5hbGx5IHsNCiAgICAgICAgQXJyYXkucHJvdG90eXBlLnJlZHVjZSA9IG9yaWdSZWR1Y2U7DQogICAgfQ0KfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Changing the value of a data property should not affect it's non-value property descriptor attributes.","path":"TestCases/ch08/8.12/8.12.5/8.12.5-3-b_1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gwOC84LjEyLzguMTIuNS84LjEyLjUtMy1iXzIuanMNCiAqIEBkZXNjcmlwdGlvbiBDaGFuZ2luZyB0aGUgdmFsdWUgb2YgYSBkYXRhIHByb3BlcnR5IHNob3VsZCBub3QgYWZmZWN0IGl0J3Mgbm9uLXZhbHVlIHByb3BlcnR5IGRlc2NyaXB0b3IgYXR0cmlidXRlcy4NCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgIHZhciB0ZW1wT2JqID0ge307DQogICAgDQogICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHRlbXBPYmosICJyZWR1Y2UiLCB7IHZhbHVlOjQ1NiwgZW51bWVyYWJsZTpmYWxzZSwgd3JpdGFibGU6dHJ1ZX0pOw0KICAgIHZhciBvcmlnUmVkdWNlID0gdGVtcE9iai5yZWR1Y2U7DQogICAgdmFyIG9yaWdEZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcih0ZW1wT2JqLCAicmVkdWNlIik7DQoNCiAgICB2YXIgbmV3RGVzYzsNCiAgICANCiAgICB0cnkgew0KICAgICAgICB0ZW1wT2JqLnJlZHVjZSA9IDEyMzsNCiAgICAgICAgbmV3RGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IodGVtcE9iaiwgInJlZHVjZSIpOw0KICAgICAgICB2YXIgZGVzY0FycmF5ID0gW29yaWdEZXNjLCBuZXdEZXNjXTsNCiAgICAgICAgDQogICAgICAgIGZvciAodmFyIGogaW4gZGVzY0FycmF5KSB7DQogICAgICAgICAgICBmb3IgKHZhciBpIGluIGRlc2NBcnJheVtqXSkgew0KICAgICAgICAgICAgICAgIGlmIChpPT09InZhbHVlIikgew0KICAgICAgICAgICAgICAgICAgICBpZiAob3JpZ0Rlc2NbaV09PT1uZXdEZXNjW2ldKSB7DQogICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgZWxzZSBpZiAob3JpZ0Rlc2NbaV0hPT1uZXdEZXNjW2ldKSB7DQogICAgICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9DQogICAgICAgIH0NCiAgICAgICAgcmV0dXJuIHRydWU7DQogICAgDQogICAgfSBmaW5hbGx5IHsNCiAgICAgICAgdGVtcE9iai5yZWR1Y2UgPSBvcmlnUmVkdWNlOw0KICAgIH0NCn0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Changing the value of a data property should not affect it's non-value property descriptor attributes.","path":"TestCases/ch08/8.12/8.12.5/8.12.5-3-b_2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gwOC84LjEyLzguMTIuNS84LjEyLjUtNS1iXzEuanMNCiAqIEBkZXNjcmlwdGlvbiBDaGFuZ2luZyB0aGUgdmFsdWUgb2YgYW4gYWNjZXNzb3IgcHJvcGVydHkgc2hvdWxkIG5vdCBhZmZlY3QgaXQncyBwcm9wZXJ0eSBkZXNjcmlwdG9yIGF0dHJpYnV0ZXMuDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICB2YXIgdGVtcE9iaiA9IHt9Ow0KICAgIA0KICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0ZW1wT2JqLCAicmVkdWNlIiwgeyBnZXQ6IGZ1bmN0aW9uKCkge3JldHVybiA0NTY7fSwgZW51bWVyYWJsZTpmYWxzZSwgc2V0OiBmdW5jdGlvbigpIHs7fX0pOw0KICAgIHZhciBvcmlnUmVkdWNlID0gdGVtcE9iai5yZWR1Y2U7DQogICAgdmFyIG9yaWdEZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcih0ZW1wT2JqLCAicmVkdWNlIik7DQoNCiAgICB2YXIgbmV3RGVzYzsNCiAgICANCiAgICB0cnkgew0KICAgICAgICB0ZW1wT2JqLnJlZHVjZSA9IDEyMzsNCiAgICAgICAgbmV3RGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IodGVtcE9iaiwgInJlZHVjZSIpOw0KICAgICAgICB2YXIgZGVzY0FycmF5ID0gW29yaWdEZXNjLCBuZXdEZXNjXTsNCiAgICAgICAgDQogICAgICAgIGZvciAodmFyIGogaW4gZGVzY0FycmF5KSB7DQogICAgICAgICAgICBmb3IgKHZhciBpIGluIGRlc2NBcnJheVtqXSkgew0KICAgICAgICAgICAgICAgIGlmIChvcmlnRGVzY1tpXSE9PW5ld0Rlc2NbaV0pIHsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KICAgICAgICByZXR1cm4gdGVtcE9iai5yZWR1Y2U9PT00NTY7ICAgICAgICANCiAgICANCiAgICB9IGZpbmFsbHkgew0KICAgICAgICB0ZW1wT2JqLnJlZHVjZSA9IG9yaWdSZWR1Y2U7DQogICAgfQ0KfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Changing the value of an accessor property should not affect it's property descriptor attributes.","path":"TestCases/ch08/8.12/8.12.5/8.12.5-5-b_1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuIHRoZSBbW1B1dF1dIG1ldGhvZCBvZiBPIGlzIGNhbGxlZCB3aXRoIHByb3BlcnR5IFAgYW5kIHZhbHVlIFYsCiAqIGFuZCBJZiBPIGRvZXNuJ3QgaGF2ZSBhIHByb3BlcnR5IHdpdGggbmFtZSBQLCB0aGVuCiAqIGNyZWF0ZXMgYSBwcm9wZXJ0eSB3aXRoIG5hbWUgUCwgc2V0IGl0cyB2YWx1ZSB0byBWIGFuZCBnaXZlIGl0IGVtcHR5IGF0dHJpYnV0ZXMKICoKICogQHBhdGggY2gwOC84LjEyLzguMTIuNS9TOC4xMi41X0ExLmpzCiAqIEBkZXNjcmlwdGlvbiBQdXQgdG8gbm90IGV4aXN0ZW50IHByb3BlcnRpZXMKICovCgp2YXIgX19tYXA9e307IF9fbWFwWzFdPSJvbmUiOyBfX21hcFsidHdvIl09MjsgX19tYXBbIjMiXT0idHJlIjsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKF9fbWFwWzFdICE9PSAib25lIikgewoJJEVSUk9SKCcjMTogdmFyIF9fbWFwPXt9OyBfX21hcFsxXT0ib25lIjsgX19tYXBbInR3byJdPTI7IF9fbWFwWyIzIl09InRyZSI7IF9fbWFwWzFdID09PSAib25lIi4gQWN0dWFsOiAnICsgKF9fbWFwWzFdKSk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMyCmlmIChfX21hcFsidHdvIl0gIT09IDIpIHsKCSRFUlJPUignIzI6IHZhciBfX21hcD17fTsgX19tYXBbMV09Im9uZSI7IF9fbWFwWyJ0d28iXT0yOyBfX21hcFsiMyJdPSJ0cmUiOyBfX21hcFsidHdvIl0gPT09IDIuIEFjdHVhbDogJyArIChfX21hcFsidHdvIl0pKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzMKaWYgKF9fbWFwWyIzIl0gIT09ICJ0cmUiKSB7CgkkRVJST1IoJyMzOiB2YXIgX19tYXA9e307IF9fbWFwWzFdPSJvbmUiOyBfX21hcFsidHdvIl09MjsgX19tYXBbIjMiXT0idHJlIjsgX19tYXBbIjMiXSA9PT0gInRyZSIuIEFjdHVhbDogJyArIChfX21hcFsiMyJdKSk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"When the [[Put]] method of O is called with property P and value V,\nand If O doesn't have a property with name P, then\ncreates a property with name P, set its value to V and give it empty attributes","description":"Put to not existent properties","path":"TestCases/ch08/8.12/8.12.5/S8.12.5_A1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuIHRoZSBbW1B1dF1dIG1ldGhvZCBvZiBPIGlzIGNhbGxlZCB3aXRoIHByb3BlcnR5IFAgYW5kIHZhbHVlIFYsCiAqIHRoZW4gc2V0IHRoZSB2YWx1ZSBvZiB0aGUgcHJvcGVydHkgdG8gVi4gVGhlIGF0dHJpYnV0ZXMgb2YgdGhlIHByb3BlcnR5IGFyZSBub3QgY2hhbmdlZAogKgogKiBAcGF0aCBjaDA4LzguMTIvOC4xMi41L1M4LjEyLjVfQTIuanMKICogQGRlc2NyaXB0aW9uIFB1dCB0byBleGlzdGVudCBwcm9wZXJ0aWVzCiAqLwoKdmFyIF9tYXA9ezE6Im9uZSIsdHdvOjJ9OwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQpfbWFwWzFdPSJ1bm8iOwppZiAoX21hcFsxXSAhPT0gInVubyIpIHsKICAkRVJST1IoJyMxOiB2YXIgX21hcD17MToib25lIix0d286Mn07IF9tYXBbMV09InVubyI7IF9tYXBbMV0gPT09ICJ1bm8iLiBBY3R1YWw6ICcgKyAoX21hcFsxXSkpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMgpfbWFwWyIxIl09MTsKaWYgKF9tYXBbMV0gIT09IDEpIHsKICAkRVJST1IoJyMyOiB2YXIgX21hcD17MToib25lIix0d286Mn07IF9tYXBbMV09InVubyI7IF9tYXBbIjEiXT0xOyBfbWFwWzFdID09PSAxLiBBY3R1YWw6ICcgKyAoX21hcFsxXSkpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMwpfbWFwWyJ0d28iXT0idHdvIjsKaWYgKF9tYXBbInR3byJdICE9PSAidHdvIikgewogICRFUlJPUignIzM6IHZhciBfbWFwPXsxOiJvbmUiLHR3bzoyfTsgX21hcFsxXT0idW5vIjsgX21hcFsiMSJdPTE7IF9tYXBbInR3byJdPSJ0d28iOyBfbWFwWyJ0d28iXSA9PT0gInR3byIuIEFjdHVhbDogJyArIChfbWFwWyJ0d28iXSkpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjNApfbWFwLnR3bz0iZHVvIjsKaWYgKF9tYXAudHdvICE9PSAiZHVvIikgewogICRFUlJPUignIzQ6IHZhciBfbWFwPXsxOiJvbmUiLHR3bzoyfTsgX21hcFsxXT0idW5vIjsgX21hcFsiMSJdPTE7IF9tYXBbInR3byJdPSJ0d28iOyBfbWFwLnR3bz0iZHVvIjsgX21hcC50d28gPT09ICJkdW8iLiBBY3R1YWw6ICcgKyAoX21hcC50d28pKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"When the [[Put]] method of O is called with property P and value V,\nthen set the value of the property to V. The attributes of the property are not changed","description":"Put to existent properties","path":"TestCases/ch08/8.12/8.12.5/S8.12.5_A2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuIHRoZSBbW0hhc1Byb3BlcnR5XV0gbWV0aG9kIG9mIE8gaXMgY2FsbGVkIHdpdGggcHJvcGVydHkgbmFtZSBQIGFuZCBpZiBPIGhhcyBhIHByb3BlcnR5IHdpdGggbmFtZSBQLCByZXR1cm4gdHJ1ZQogKgogKiBAcGF0aCBjaDA4LzguMTIvOC4xMi42L1M4LjEyLjZfQTEuanMKICogQGRlc2NyaXB0aW9uIFRyeSBmaW5kIGV4aXN0ZW50IHByb3BlcnR5IG9mIGFueSBPYmplY3QKICovCgp2YXIgX19vYmo9e2Zvb1Byb3A6ImZvb29vb29vIn07CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmICghKCJmb29Qcm9wIiBpbiBfX29iaikpIHsKICAkRVJST1IoJyMxOiB2YXIgX19vYmo9e2Zvb1Byb3A6ImZvb29vb29vIn07ICJmb29Qcm9wIiBpbiBfX29iaicpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"When the [[HasProperty]] method of O is called with property name P and if O has a property with name P, return true","description":"Try find existent property of any Object","path":"TestCases/ch08/8.12/8.12.6/S8.12.6_A1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuIHRoZSBbW0hhc1Byb3BlcnR5XV0gbWV0aG9kIG9mIE8gaXMgY2FsbGVkIHdpdGggcHJvcGVydHkgbmFtZSBQIGFuZCBpZiBPIGhhcyBub3QgYSBwcm9wZXJ0eSB3aXRoIG5hbWUgUAogKiB0aGVuIElmIHRoZSBbW1Byb3RvdHlwZV1dIG9mIE8gaXMgbnVsbCwgcmV0dXJuIGZhbHNlIG9yIGNhbGwgdGhlIFtbSGFzUHJvcGVydHldXSBtZXRob2Qgb2YgW1tQcm90b3R5cGVdXSB3aXRoIHByb3BlcnR5IG5hbWUgUAogKgogKiBAcGF0aCBjaDA4LzguMTIvOC4xMi42L1M4LjEyLjZfQTJfVDEuanMKICogQGRlc2NyaXB0aW9uIFRyeSBmaW5kIG5vdCBleGlzdGVudCBwcm9wZXJ0eSBvZiBhbnkgT2JqZWN0CiAqLwoKdmFyIF9fb2JqPXt9OwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAoISgidmFsdWVPZiIgaW4gX19vYmopKSB7CiAgJEVSUk9SKCcjMTogdmFyIF9fb2JqPXt9OyAidmFsdWVPZiIgaW4gX19vYmonKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"When the [[HasProperty]] method of O is called with property name P and if O has not a property with name P\nthen If the [[Prototype]] of O is null, return false or call the [[HasProperty]] method of [[Prototype]] with property name P","description":"Try find not existent property of any Object","path":"TestCases/ch08/8.12/8.12.6/S8.12.6_A2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuIHRoZSBbW0hhc1Byb3BlcnR5XV0gbWV0aG9kIG9mIE8gaXMgY2FsbGVkIHdpdGggcHJvcGVydHkgbmFtZSBQIGFuZCBpZiBPIGhhcyBub3QgYSBwcm9wZXJ0eSB3aXRoIG5hbWUgUAogKiB0aGVuIElmIHRoZSBbW1Byb3RvdHlwZV1dIG9mIE8gaXMgbnVsbCwgcmV0dXJuIGZhbHNlIG9yIGNhbGwgdGhlIFtbSGFzUHJvcGVydHldXSBtZXRob2Qgb2YgW1tQcm90b3R5cGVdXSB3aXRoIHByb3BlcnR5IG5hbWUgUAogKgogKiBAcGF0aCBjaDA4LzguMTIvOC4xMi42L1M4LjEyLjZfQTJfVDIuanMKICogQGRlc2NyaXB0aW9uIFRyeSBmaW5kIG5vdCBleGlzdGVudCBwcm9wZXJ0eSBvZiBhbnkgT2JqZWN0LCBidXQgZXhpc3RlbnQgcHJvcGVydHkgb2YgdGhpcyBPYmplY3QgcHJvdG90eXBlCiAqLwoKdmFyIF9fcHJvdG89e3BoeWx1bToiYXZpcyJ9OwoKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKCEoInZhbHVlT2YiIGluIF9fcHJvdG8pKSB7CiAgJEVSUk9SKCcjMTogdmFyIF9fcHJvdG89e3BoeWx1bToiYXZpcyJ9OyAidmFsdWVPZiIgaW4gX19wcm90bycpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKZnVuY3Rpb24gUm9iaW4oKXt0aGlzLm5hbWU9InJvYmluIn07ClJvYmluLnByb3RvdHlwZT1fX3Byb3RvOwoKdmFyIF9fbXlfX3JvYmluID0gbmV3IFJvYmluOwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMgppZiAoISgicGh5bHVtIiBpbiBfX215X19yb2JpbikpIHsKICAkRVJST1IoJyMyOiB2YXIgX19wcm90bz17cGh5bHVtOiJhdmlzIn07IGZ1bmN0aW9uIFJvYmluKCl7dGhpcy5uYW1lPSJyb2JpbiJ9OyBSb2Jpbi5wcm90b3R5cGU9X19wcm90bzsgdmFyIF9fbXlfX3JvYmluID0gbmV3IFJvYmluOyAicGh5bHVtIiBpbiBfX215X19yb2JpbicpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMwppZiAoX19teV9fcm9iaW4uaGFzT3duUHJvcGVydHkoInBoeWx1bSIpKSB7CiAgJEVSUk9SKCcjMzogdmFyIF9fcHJvdG89e3BoeWx1bToiYXZpcyJ9OyBmdW5jdGlvbiBSb2Jpbigpe3RoaXMubmFtZT0icm9iaW4ifTsgUm9iaW4ucHJvdG90eXBlPV9fcHJvdG87IHZhciBfX215X19yb2JpbiA9IG5ldyBSb2JpbjsgX19teV9fcm9iaW4uaGFzT3duUHJvcGVydHkoInBoeWx1bSIpID09PSBmYWxzZS4gQWN0dWFsOiAnICsgKF9fbXlfX3JvYmluLmhhc093blByb3BlcnR5KCJwaHlsdW0iKSkpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"When the [[HasProperty]] method of O is called with property name P and if O has not a property with name P\nthen If the [[Prototype]] of O is null, return false or call the [[HasProperty]] method of [[Prototype]] with property name P","description":"Try find not existent property of any Object, but existent property of this Object prototype","path":"TestCases/ch08/8.12/8.12.6/S8.12.6_A2_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBbW2hhc1Byb3BlcnR5XV0gaXMgc2Vuc2l0aXZlIHRvIHByb3BlcnR5IGV4aXN0ZW5jZSBidXQgW1tHZXRdXSBpcyBub3QKICoKICogQHBhdGggY2gwOC84LjEyLzguMTIuNi9TOC4xMi42X0EzLmpzCiAqIEBkZXNjcmlwdGlvbiBVc2UgW1toYXNQcm9wZXJ0eV1dIGFuZCBbW0dldF1dIGZvciBleGlzdGVudCBhbmQgbm90IGV4aXN0ZW50IHByb3BlcnRpZXMKICovCgp2YXIgX19vYmo9e307IF9fb2JqLmhvbGU9dW5kZWZpbmVkOwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAoX19vYmouaG9sZSAhPT0gdW5kZWZpbmVkKSB7CiAgJEVSUk9SKCcjMTogdmFyIF9fb2JqPXt9OyBfX29iai5ob2xlPXVuZGVmaW5lZDsgX19vYmouaG9sZSA9PT0gdW5kZWZpbmVkLiBBY3R1YWw6ICcgKyAoX19vYmouaG9sZSkpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMgppZiAoX19vYmoubm90ZXhpc3QgIT09IHVuZGVmaW5lZCkgewogICRFUlJPUignIzI6IHZhciBfX29iaj17fTsgX19vYmouaG9sZT11bmRlZmluZWQ7IF9fb2JqLm5vdGV4aXN0ID09PSB1bmRlZmluZWQuIEFjdHVhbDogJyArIChfX29iai5ub3RleGlzdCkpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMwppZiAoISgiaG9sZSIgaW4gX19vYmopKSB7CiAgJEVSUk9SKCcjMzogdmFyIF9fb2JqPXt9OyBfX29iai5ob2xlPXVuZGVmaW5lZDsgImhvbGUiIGluIF9fb2JqJyk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyM0CmlmICgoIm5vdGV4aXN0IiBpbiBfX29iaikpIHsKICAkRVJST1IoJyM0OiB2YXIgX19vYmo9e307IF9fb2JqLmhvbGU9dW5kZWZpbmVkOyAibm90ZXhpc3QiIGluIF9fb2JqJyk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"[[hasProperty]] is sensitive to property existence but [[Get]] is not","description":"Use [[hasProperty]] and [[Get]] for existent and not existent properties","path":"TestCases/ch08/8.12/8.12.6/S8.12.6_A3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuIHRoZSBbW0RlbGV0ZV1dIG1ldGhvZCBvZiBPIGlzIGNhbGxlZCB3aXRoIHByb3BlcnR5IG5hbWUgUCwKICogYW5kIElmIHRoZSBwcm9wZXJ0eSBoYXMgdGhlIERvbnREZWxldGUgYXR0cmlidXRlLCByZXR1cm4gZmFsc2UKICoKICogQHBhdGggY2gwOC84LjEyLzguMTIuNy9TOC4xMi43X0ExLmpzCiAqIEBkZXNjcmlwdGlvbiBUcnkgdG8gZGVsZXRlIE1hdGguRSwgdGhhdCBoYXMgdGhlIERvbnREZWxldGUgYXR0cmlidXRlCiAqIEBub1N0cmljdAogKi8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKGRlbGV0ZSBNYXRoLkUgIT09IGZhbHNlKXsKICAkRVJST1IoJyMxOiBkZWxldGUgTWF0aC5FID09PSBmYWxzZS4gQWN0dWFsOiAnICsgKGRlbGV0ZSBNYXRoLkUpKTsKfTsKLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMyCmlmIChNYXRoLkUgPT09IHVuZGVmaW5lZCl7CiAgJEVSUk9SKCcjMjogZGVsZXRlIE1hdGguRTsgTWF0aC5FICE9PSB1bmRlZmluZWQnKTsKfTsKLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgoK","commentary":"When the [[Delete]] method of O is called with property name P,\nand If the property has the DontDelete attribute, return false","description":"Try to delete Math.E, that has the DontDelete attribute","noStrict":"","path":"TestCases/ch08/8.12/8.12.7/S8.12.7_A1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuIHRoZSBbW0RlbGV0ZV1dIG1ldGhvZCBvZiBPIGlzIGNhbGxlZCB3aXRoIHByb3BlcnR5IG5hbWUgUCwKICogYW5kIGlmIE8gZG9lc24ndCBoYXZlIGEgcHJvcGVydHkgd2l0aCBuYW1lIFAsIHJldHVybiB0cnVlCiAqCiAqIEBwYXRoIGNoMDgvOC4xMi84LjEyLjcvUzguMTIuN19BMl9UMS5qcwogKiBAZGVzY3JpcHRpb24gVHJ5IHRvIGRlbGV0ZSBub3QgZXhpc3RlbnQgcHJvcGVydGllcwogKi8KCnZhciBfX2NvbG9yX19tYXAgPSB7fTsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKGRlbGV0ZSBfX2NvbG9yX19tYXAucmVkICE9PSB0cnVlKXsKICAkRVJST1IoJyMxOiB2YXIgX19jb2xvcl9fbWFwID0ge307IGRlbGV0ZSBfX2NvbG9yX19tYXAucmVkID09PSB0cnVlLiBBY3R1YWw6ICcgKyAoZGVsZXRlIF9fY29sb3JfX21hcC5yZWQpKTsKfTsKLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMyCmlmIChkZWxldGUgX19jb2xvcl9fbWFwWyJncmVlbiJdICE9PSB0cnVlKXsKICAkRVJST1IoJyMyOiB2YXIgX19jb2xvcl9fbWFwID0ge307IGRlbGV0ZSBfX2NvbG9yX19tYXBbImdyZWVuIl0gPT09IHRydWUuIEFjdHVhbDogJyArIChkZWxldGUgX19jb2xvcl9fbWFwWyJncmVlbiJdKSk7Cn07Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMwp2YXIgYmx1ZSA9IDE7CmlmIChkZWxldGUgX19jb2xvcl9fbWFwW2JsdWVdICE9PSB0cnVlKXsKICAkRVJST1IoJyMzOiB2YXIgX19jb2xvcl9fbWFwID0ge307IHZhciBibHVlID0gMTsgZGVsZXRlIF9fY29sb3JfX21hcFtibHVlXSA9PT0gdHJ1ZS4gQWN0dWFsOiAnICsgKGRlbGV0ZSBfX2NvbG9yX19tYXBbYmx1ZV0pKTsKfTsKLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgoK","commentary":"When the [[Delete]] method of O is called with property name P,\nand if O doesn't have a property with name P, return true","description":"Try to delete not existent properties","path":"TestCases/ch08/8.12/8.12.7/S8.12.7_A2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuIHRoZSBbW0RlbGV0ZV1dIG1ldGhvZCBvZiBPIGlzIGNhbGxlZCB3aXRoIHByb3BlcnR5IG5hbWUgUCwKICogYW5kIGlmIE8gZG9lc24ndCBoYXZlIGEgcHJvcGVydHkgd2l0aCBuYW1lIFAsIHJldHVybiB0cnVlCiAqCiAqIEBwYXRoIGNoMDgvOC4xMi84LjEyLjcvUzguMTIuN19BMl9UMi5qcwogKiBAZGVzY3JpcHRpb24gVHJ5IHRvIGRlbGV0ZSBub3QgZXhpc3RlbnQgcHJvcGVydGllcyBvZiBPLCBidXQgZXhpc3RlbnQgcHJvcGVydHkgb2YgcHJvdG90eXBlCiAqLwoKZnVuY3Rpb24gUGFsZXR0ZSgpe307ClBhbGV0dGUucHJvdG90eXBlID0ge3JlZDoweEZGMDAwMCwgZ3JlZW46MHgwMEZGMDB9Owp2YXIgX19wYWxldHRlID0gbmV3IFBhbGV0dGU7CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmIChfX3BhbGV0dGUucmVkICE9PSAweEZGMDAwMCl7CiAgJEVSUk9SKCcjMTogZnVuY3Rpb24gUGFsZXR0ZSgpe307IFBhbGV0dGUucHJvdG90eXBlID0ge3JlZDoweEZGMDAwMCwgZ3JlZW46MHgwMEZGMDB9OyBfX3BhbGV0dGUgPSBuZXcgUGFsZXR0ZTsgX19wYWxldHRlLnJlZCA9PT0gMHhGRjAwMDAuIEFjdHVhbDogJyArIChfX3BhbGV0dGUucmVkKSk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMyCmlmIChkZWxldGUgX19wYWxldHRlLnJlZCAhPT0gdHJ1ZSkgewogICRFUlJPUignIzIgZnVuY3Rpb24gUGFsZXR0ZSgpe307IFBhbGV0dGUucHJvdG90eXBlID0ge3JlZDoweEZGMDAwMCwgZ3JlZW46MHgwMEZGMDB9OyBfX3BhbGV0dGUgPSBuZXcgUGFsZXR0ZTsgZGVsZXRlIF9fcGFsZXR0ZS5yZWQgPT09IHRydWUuIEFjdHVhbDogJyArIChkZWxldGUgX19wYWxldHRlLnJlZCkpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMwppZiAoX19wYWxldHRlLnJlZCAhPT0gMHhGRjAwMDApewogICRFUlJPUignIzM6IGZ1bmN0aW9uIFBhbGV0dGUoKXt9OyBQYWxldHRlLnByb3RvdHlwZSA9IHtyZWQ6MHhGRjAwMDAsIGdyZWVuOjB4MDBGRjAwfTsgX19wYWxldHRlID0gbmV3IFBhbGV0dGU7IF9fcGFsZXR0ZS5yZWQgPT09IDB4RkYwMDAwLiBBY3R1YWw6ICcgKyAoX19wYWxldHRlLnJlZCkpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKCg==","commentary":"When the [[Delete]] method of O is called with property name P,\nand if O doesn't have a property with name P, return true","description":"Try to delete not existent properties of O, but existent property of prototype","path":"TestCases/ch08/8.12/8.12.7/S8.12.7_A2_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuIHRoZSBbW0RlbGV0ZV1dIG1ldGhvZCBvZiBPIGlzIGNhbGxlZCB3aXRoIHByb3BlcnR5IG5hbWUgUCwKICogcmVtb3ZlcyB0aGUgcHJvcGVydHkgd2l0aCBuYW1lIFAgZnJvbSBPIGFuZCByZXR1cm4gdHJ1ZQogKgogKiBAcGF0aCBjaDA4LzguMTIvOC4xMi43L1M4LjEyLjdfQTMuanMKICogQGRlc2NyaXB0aW9uIERlbGV0ZSBleGlzdGVudCBwcm9wZXJ0aWVzCiAqLwoKdmFyIEJMVUVfTlVNPTE7CnZhciBCTFVFX1NUUj0iMSI7CnZhciBZRUxMT1dfTlVNPTI7CnZhciBZRUxMT1dfU1RSPSIyIjsKdmFyIF9fY29sb3JfX21hcCA9IHtyZWQ6MHhGRjAwMDAsIEJMVUVfTlVNOjB4MDAwMEZGLCBncmVlbjoweDAwRkYwMCwgWUVMTE9XX1NUUjoweEZGRkYwMH07CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmIChkZWxldGUgX19jb2xvcl9fbWFwW1lFTExPV19OVU1dICE9PSB0cnVlKXsKICAkRVJST1IoJyMxOiB2YXIgQkxVRV9OVU09MTsgdmFyIEJMVUVfU1RSPSIxIjsgdmFyIFlFTExPV19OVU09MjsgdmFyIFlFTExPV19TVFI9IjIiOyB2YXIgX19jb2xvcl9fbWFwID0ge3JlZDoweEZGMDAwMCwgQkxVRV9OVU06MHgwMDAwRkYsIGdyZWVuOjB4MDBGRjAwLCBZRUxMT1dfU1RSOjB4RkZGRjAwfTsgZGVsZXRlIF9fY29sb3JfX21hcFtZRUxMT1dfTlVNXSA9PT0gdHJ1ZTsnKTsKfTsKLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMyCmlmIChfX2NvbG9yX19tYXBbWUVMTE9XX1NUUl0gIT09IHVuZGVmaW5lZCkgewogICRFUlJPUignIzI6IHZhciBCTFVFX05VTT0xOyB2YXIgQkxVRV9TVFI9IjEiOyB2YXIgWUVMTE9XX05VTT0yOyB2YXIgWUVMTE9XX1NUUj0iMiI7IHZhciBfX2NvbG9yX19tYXAgPSB7cmVkOjB4RkYwMDAwLCBCTFVFX05VTToweDAwMDBGRiwgZ3JlZW46MHgwMEZGMDAsIFlFTExPV19TVFI6MHhGRkZGMDB9OyBkZWxldGUgX19jb2xvcl9fbWFwW1lFTExPV19OVU1dOyBfX2NvbG9yX19tYXBbWUVMTE9XX1NUUl0gPT09IHVuZGVmaW5lZC4gQWN0dWFsOiAnICsgKF9fY29sb3JfX21hcFtZRUxMT1dfU1RSXSkpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMwppZiAoZGVsZXRlIF9fY29sb3JfX21hcFtCTFVFX1NUUl0gIT09IHRydWUpewogICRFUlJPUignIzM6IHZhciBCTFVFX05VTT0xOyB2YXIgQkxVRV9TVFI9IjEiOyB2YXIgWUVMTE9XX05VTT0yOyB2YXIgWUVMTE9XX1NUUj0iMiI7IHZhciBfX2NvbG9yX19tYXAgPSB7cmVkOjB4RkYwMDAwLCBCTFVFX05VTToweDAwMDBGRiwgZ3JlZW46MHgwMEZGMDAsIFlFTExPV19TVFI6MHhGRkZGMDB9OyBkZWxldGUgX19jb2xvcl9fbWFwW0JMVUVfU1RSXSA9PT0gdHJ1ZS4gQWN0dWFsOiAnICsgKGRlbGV0ZSBfX2NvbG9yX19tYXBbQkxVRV9TVFJdKSk7Cn07Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjNAppZiAoX19jb2xvcl9fbWFwW0JMVUVfTlVNXSAhPT0gdW5kZWZpbmVkKSB7CiAgJEVSUk9SKCcjNDogdmFyIEJMVUVfTlVNPTE7IHZhciBCTFVFX1NUUj0iMSI7IHZhciBZRUxMT1dfTlVNPTI7IHZhciBZRUxMT1dfU1RSPSIyIjsgdmFyIF9fY29sb3JfX21hcCA9IHtyZWQ6MHhGRjAwMDAsIEJMVUVfTlVNOjB4MDAwMEZGLCBncmVlbjoweDAwRkYwMCwgWUVMTE9XX1NUUjoweEZGRkYwMH07IGRlbGV0ZSBfX2NvbG9yX19tYXBbQkxVRV9TVFJdOyBfX2NvbG9yX19tYXBbQkxVRV9OVU1dID09PSB1bmRlZmluZWQuIEFjdHVhbDogJyArIChfX2NvbG9yX19tYXBbQkxVRV9OVU1dKSk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"When the [[Delete]] method of O is called with property name P,\nremoves the property with name P from O and return true","description":"Delete existent properties","path":"TestCases/ch08/8.12/8.12.7/S8.12.7_A3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGlzIHNob3VsZCBnZW5lcmF0ZSBhIFR5cGVFcnJvciwKICogQ2F1c2Ugd2Ugb3ZlcmxvYWQgdG9TdHJpbmcgbWV0aG9kIHNvIGl0IHJldHVybiBub24gUHJpbWl0aXZlIHZhbHVlCiAqIFNlZSBFQ01BIHJlZmVyZW5jZSBhdCBodHRwOi8vYnVnemlsbGEubW96aWxsYS5vcmcvc2hvd19idWcuY2dpP2lkPTE2NzMyNQogKgogKiBAcGF0aCBjaDA4LzguMTIvOC4xMi44L1M4LjEyLjhfQTEuanMKICogQGRlc2NyaXB0aW9uIFRyeSB0byBvdmVybG9hZCB0b1N0cmluZyBtZXRob2QKICovCgp0cnkKewoJdmFyIF9fb2JqID0ge3RvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gbmV3IE9iamVjdCgpO319ICAKCVN0cmluZyhfX29iaik7CgkkRVJST1IoJyMxLjE6IHZhciBfX29iaiA9IHt0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIG5ldyBPYmplY3QoKTt9fTsgU3RyaW5nKF9fb2JqKSB0aHJvdyBUeXBlRXJyb3IuIEFjdHVhbDogJyArIChTdHJpbmcoX19vYmopKSk7Cn0KY2F0Y2goZSkKewoJaWYgKChlIGluc3RhbmNlb2YgVHlwZUVycm9yKSAhPT0gdHJ1ZSkgewoJICAkRVJST1IoJyMxLjI6IHZhciBfX29iaiA9IHt0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIG5ldyBPYmplY3QoKTt9fTsgU3RyaW5nKF9fb2JqKSB0aHJvdyBUeXBlRXJyb3IuIEFjdHVhbDogJyArIChlKSk7Cgl9ICAKfSAgCgoK","commentary":"This should generate a TypeError,\nCause we overload toString method so it return non Primitive value\nSee ECMA reference at http://bugzilla.mozilla.org/show_bug.cgi?id=167325","description":"Try to overload toString method","path":"TestCases/ch08/8.12/8.12.8/S8.12.8_A1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGlzIHNob3VsZCBnZW5lcmF0ZSBubyBUeXBlRXJyb3IsCiAqIENhdXNlIHdlIG92ZXJsb2FkIHRvU3RyaW5nIG1ldGhvZCBzbyBpdCByZXR1cm4gbm9uIFByaW1pdGl2ZSB2YWx1ZQogKiBidXQgd2Ugb3ZlcmxvYWRlZCB2YWx1ZU9mIG1ldGhvZCB0b28uCiAqIFNlZSBFQ01BIHJlZmVyZW5jZSBhdCBodHRwOi8vYnVnemlsbGEubW96aWxsYS5vcmcvc2hvd19idWcuY2dpP2lkPTE2NzMyNQogKgogKiBAcGF0aCBjaDA4LzguMTIvOC4xMi44L1M4LjEyLjhfQTIuanMKICogQGRlc2NyaXB0aW9uIFRyeSB0byBvdmVybG9hZCB0b1N0cmluZywgdGhhdCByZXR1cm5lZCBuZXcgT2JqZWN0LCBhbmQgdmFsdWVPZiBtZXRob2RzCiAqLwoKdHJ5CnsKCXZhciBfX29iaiA9IHt0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIG5ldyBPYmplY3QoKTt9LCB2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gMTt9fQoJaWYgKFN0cmluZyhfX29iaikgIT09ICIxIikgewoJICAkRVJST1IoJyMxLjE6IHZhciBfX29iaiA9IHt0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIG5ldyBPYmplY3QoKTt9LCB2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gMTt9fTsgU3RyaW5nKF9fb2JqKSA9PT0gIjEiLiBBY3R1YWw6ICcgKyAoU3RyaW5nKF9fb2JqKSkpOwoJfQp9CmNhdGNoKGUpCnsKICAkRVJST1IoJyMxLjI6IHZhciBfX29iaiA9IHt0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIG5ldyBPYmplY3QoKTt9LCB2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gMTt9fTsgU3RyaW5nKF9fb2JqKSA9PT0gIjEiLiBBY3R1YWw6ICcgKyAoZSkpOwp9ICAKCgo=","commentary":"This should generate no TypeError,\nCause we overload toString method so it return non Primitive value\nbut we overloaded valueOf method too.\nSee ECMA reference at http://bugzilla.mozilla.org/show_bug.cgi?id=167325","description":"Try to overload toString, that returned new Object, and valueOf methods","path":"TestCases/ch08/8.12/8.12.8/S8.12.8_A2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXZSBvdmVybG9hZCB2YWx1ZU9mIG1ldGhvZCBzbyBpdCByZXR1cm4gbm9uIFByaW1pdGl2ZSB2YWx1ZQogKiBUaHVzIFtbRGVmYXVsdFZhbHVlXV0gbXVzdCByZXR1cm4gT2JqZWN0LnRvU3RyaW5nKCkgdmFsdWUKICoKICogQHBhdGggY2gwOC84LjEyLzguMTIuOC9TOC4xMi44X0EzLmpzCiAqIEBkZXNjcmlwdGlvbiBUcnkgdG8gb3ZlcmxvYWQgdG9TdHJpbmcgbWV0aG9kLCB0aGF0IHJldHVybmVkIFByaW1pdGl2ZSwgYW5kIHZhbHVlT2YgbWV0aG9kLCB0aGF0IHJldHVybmVkIG5ldyBPYmplY3QKICovCgp0cnkKewogIHZhciBfX29iaiA9IHt0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuICIxIn0sIHZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiBuZXcgT2JqZWN0KCk7fX0KICBpZiAoTnVtYmVyKF9fb2JqKSAhPT0gMSkgewogICAgJEVSUk9SKCcjMS4xOiB2YXIgX19vYmogPSB7dG9OdW1iZXI6IGZ1bmN0aW9uKCkge3JldHVybiAiMSJ9LCB2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gbmV3IE9iamVjdCgpO319OyBOdW1iZXIoX19vYmopID09PSAxLiBBY3R1YWw6ICcgKyAoTnVtYmVyKF9fb2JqKSkpOwogIH0KfQpjYXRjaChlKQp7CiAgJEVSUk9SKCcjMS4yOiB2YXIgX19vYmogPSB7dG9OdW1iZXI6IGZ1bmN0aW9uKCkge3JldHVybiAiMSJ9LCB2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gbmV3IE9iamVjdCgpO319OyBOdW1iZXIoX19vYmopID09PSAxLiBBY3R1YWw6ICcgKyAoZSkpOwp9ICAKCgoKICAKCgo=","commentary":"We overload valueOf method so it return non Primitive value\nThus [[DefaultValue]] must return Object.toString() value","description":"Try to overload toString method, that returned Primitive, and valueOf method, that returned new Object","path":"TestCases/ch08/8.12/8.12.8/S8.12.8_A3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXZSBvdmVybG9hZCB2YWx1ZU9mIG1ldGhvZCBzbyBpdCByZXR1cm4gbm9uIFByaW1pdGl2ZSB2YWx1ZSBhbmQgdG9TdHJpbmcgbWV0aG9kIHNvIGl0IHJldHVybiBub24gUHJpbWl0aXZlIHZhbHVlIHRvbwogKiBUaHVzIFtbRGVmYXVsdFZhbHVlXV0gbXVzdCBnZW5lcmF0ZSBUeXBlRXJyb3IgZXJyb3IKICoKICogQHBhdGggY2gwOC84LjEyLzguMTIuOC9TOC4xMi44X0E0LmpzCiAqIEBkZXNjcmlwdGlvbiBUcnkgdG8gb3ZlcmxvYWQgdG9TdHJpbmcgYW5kIHZhbHVlT2YgbWV0aG9kcywgdGhleSByZXR1cm5lZCBuZXcgT2JqZWN0cwogKi8KCnRyeQp7CiAgdmFyIF9fb2JqID0ge3ZhbHVlT2Y6ZnVuY3Rpb24oKXtyZXR1cm4gbmV3IE9iamVjdDt9LHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gbmV3IE9iamVjdCgpO319ICAKICBOdW1iZXIoX19vYmopOwogICRFUlJPUignIzEuMTogdmFyIF9fb2JqID0ge3ZhbHVlT2Y6ZnVuY3Rpb24oKXtyZXR1cm4gbmV3IE9iamVjdDt9LHRvTnVtYmVyOiBmdW5jdGlvbigpIHtyZXR1cm4gbmV3IE9iamVjdCgpO319OyBOdW1iZXIoX19vYmopIHRocm93IFR5cGVFcnJvci4gQWN0dWFsOiAnICsgKE51bWJlcihfX29iaikpKTsKfQpjYXRjaChlKQp7CiAgaWYgKChlIGluc3RhbmNlb2YgVHlwZUVycm9yKSAhPT0gdHJ1ZSkgewogICAgJEVSUk9SKCcjMS4yOiB2YXIgX19vYmogPSB7dmFsdWVPZjpmdW5jdGlvbigpe3JldHVybiBuZXcgT2JqZWN0O30sdG9OdW1iZXI6IGZ1bmN0aW9uKCkge3JldHVybiBuZXcgT2JqZWN0KCk7fX07IE51bWJlcihfX29iaikgdGhyb3cgVHlwZUVycm9yLiBBY3R1YWw6ICcgKyAoZSkpOwogIH0gIAp9ICAKCg==","commentary":"We overload valueOf method so it return non Primitive value and toString method so it return non Primitive value too\nThus [[DefaultValue]] must generate TypeError error","description":"Try to overload toString and valueOf methods, they returned new Objects","path":"TestCases/ch08/8.12/8.12.8/S8.12.8_A4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gwOC84LjEyLzguMTIuOS84LjEyLjktOS1iLWlfMS5qcw0KICogQGRlc2NyaXB0aW9uIFJlZGVmaW5lIGEgY29uZmlndXJhYmxlIGRhdGEgcHJvcGVydHkgdG8gYmUgYW4gYWNjZXNzb3IgcHJvcGVydHkgb24gYSBuZXdseSBub24tZXh0ZW5zaWJsZSBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgIHZhciBvID0ge307DQogICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG8sICJmb28iLCANCiAgICAgICAgICAgICAgICAgICAgICAgICAgeyB2YWx1ZTogImhlbGxvIiwgDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlfSk7DQogICAgT2JqZWN0LnByZXZlbnRFeHRlbnNpb25zKG8pOw0KICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvLCAiZm9vIiwgeyBnZXQ6IGZ1bmN0aW9uKCkgeyByZXR1cm4gNTt9IH0pOw0KDQogICAgdmFyIGZvb0Rlc2NyaXAgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG8sICJmb28iKTsNCiAgICByZXR1cm4gby5mb289PT01ICYmIGZvb0Rlc2NyaXAuZ2V0IT09dW5kZWZpbmVkICYmIGZvb0Rlc2NyaXAuc2V0PT09dW5kZWZpbmVkICYmIGZvb0Rlc2NyaXAudmFsdWU9PT11bmRlZmluZWQgJiYgZm9vRGVzY3JpcC5jb25maWd1cmFibGU9PT10cnVlICYmIGZvb0Rlc2NyaXAuZW51bWVyYWJsZT09PWZhbHNlICYmIGZvb0Rlc2NyaXAud3JpdGFibGU9PT11bmRlZmluZWQ7DQp9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Redefine a configurable data property to be an accessor property on a newly non-extensible object","path":"TestCases/ch08/8.12/8.12.9/8.12.9-9-b-i_1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gwOC84LjEyLzguMTIuOS84LjEyLjktOS1iLWlfMi5qcw0KICogQGRlc2NyaXB0aW9uIFJlZGVmaW5lIGEgY29uZmlndXJhYmxlIGRhdGEgcHJvcGVydHkgdG8gYmUgYW4gYWNjZXNzb3IgcHJvcGVydHkgb24gYSBuZXdseSBub24tZXh0ZW5zaWJsZSBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgIHZhciBvID0ge307DQogICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG8sICJmb28iLCANCiAgICAgICAgICAgICAgICAgICAgICAgICAgeyB2YWx1ZTogImhlbGxvIiwgDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgd3JpdGFibGU6IHRydWV9KTsNCiAgICBPYmplY3QucHJldmVudEV4dGVuc2lvbnMobyk7DQogICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG8sICJmb28iLCB7IGdldDogZnVuY3Rpb24oKSB7IHJldHVybiA1O30gfSk7DQoNCiAgICB2YXIgZm9vRGVzY3JpcCA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IobywgImZvbyIpOw0KICAgIHJldHVybiBvLmZvbz09PTUgJiYgZm9vRGVzY3JpcC5nZXQhPT11bmRlZmluZWQgJiYgZm9vRGVzY3JpcC5zZXQ9PT11bmRlZmluZWQgJiYgZm9vRGVzY3JpcC52YWx1ZT09PXVuZGVmaW5lZCAmJiBmb29EZXNjcmlwLmNvbmZpZ3VyYWJsZT09PXRydWUgJiYgZm9vRGVzY3JpcC5lbnVtZXJhYmxlPT09dHJ1ZSAmJiBmb29EZXNjcmlwLndyaXRhYmxlPT09dW5kZWZpbmVkOw0KfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Redefine a configurable data property to be an accessor property on a newly non-extensible object","path":"TestCases/ch08/8.12/8.12.9/8.12.9-9-b-i_2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gwOC84LjEyLzguMTIuOS84LjEyLjktOS1jLWlfMS5qcw0KICogQGRlc2NyaXB0aW9uIFJlZGVmaW5lIGEgY29uZmlndXJhYmxlIGFjY2Vzc29yIHByb3BlcnR5IHRvIGJlIGEgZGF0YSBwcm9wZXJ0eSBvbiBhIG5vbi1leHRlbnNpYmxlIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgdmFyIG8gPSB7fTsNCiAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkobywgImZvbyIsIA0KICAgICAgICAgICAgICAgICAgICAgICAgICB7IGdldDogZnVuY3Rpb24oKSB7IHJldHVybiA1O30sIA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZX0pOw0KICAgIE9iamVjdC5wcmV2ZW50RXh0ZW5zaW9ucyhvKTsNCiAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkobywgImZvbyIsIHsgdmFsdWU6ICJoZWxsbyJ9KTsNCg0KICAgIHZhciBmb29EZXNjcmlwID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvLCAiZm9vIik7DQogICAgcmV0dXJuIG8uZm9vPT09ImhlbGxvIiAmJiBmb29EZXNjcmlwLmdldD09PXVuZGVmaW5lZCAmJiBmb29EZXNjcmlwLnNldD09PXVuZGVmaW5lZCAmJiBmb29EZXNjcmlwLnZhbHVlPT09ImhlbGxvIiAmJiBmb29EZXNjcmlwLmNvbmZpZ3VyYWJsZT09PXRydWUgJiYgZm9vRGVzY3JpcC5lbnVtZXJhYmxlPT09ZmFsc2UgJiYgZm9vRGVzY3JpcC53cml0YWJsZT09PWZhbHNlOw0KfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Redefine a configurable accessor property to be a data property on a non-extensible object","path":"TestCases/ch08/8.12/8.12.9/8.12.9-9-c-i_1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gwOC84LjEyLzguMTIuOS84LjEyLjktOS1jLWlfMi5qcw0KICogQGRlc2NyaXB0aW9uIFJlZGVmaW5lIGEgY29uZmlndXJhYmxlIGFjY2Vzc29yIHByb3BlcnR5IHRvIGJlIGEgZGF0YSBwcm9wZXJ0eSBvbiBhIG5vbi1leHRlbnNpYmxlIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgdmFyIG8gPSB7fTsNCiAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkobywgImZvbyIsIA0KICAgICAgICAgICAgICAgICAgICAgICAgICB7IGdldDogZnVuY3Rpb24oKSB7IHJldHVybiA1O30sIA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZX0pOw0KICAgIE9iamVjdC5wcmV2ZW50RXh0ZW5zaW9ucyhvKTsNCiAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkobywgImZvbyIsIA0KICAgICAgICAgICAgICAgICAgICAgICAgICB7IHZhbHVlOiAiaGVsbG8iLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdyaXRhYmxlOiB0cnVlfSk7DQoNCiAgICB2YXIgZm9vRGVzY3JpcCA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IobywgImZvbyIpOw0KICAgIHJldHVybiBvLmZvbz09PSJoZWxsbyIgJiYgZm9vRGVzY3JpcC5nZXQ9PT11bmRlZmluZWQgJiYgZm9vRGVzY3JpcC5zZXQ9PT11bmRlZmluZWQgJiYgZm9vRGVzY3JpcC52YWx1ZT09PSJoZWxsbyIgJiYgZm9vRGVzY3JpcC5jb25maWd1cmFibGU9PT10cnVlICYmIGZvb0Rlc2NyaXAuZW51bWVyYWJsZT09PWZhbHNlICYmIGZvb0Rlc2NyaXAud3JpdGFibGU9PT10cnVlOw0KfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Redefine a configurable accessor property to be a data property on a non-extensible object","path":"TestCases/ch08/8.12/8.12.9/8.12.9-9-c-i_2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgTnVsbCBUeXBlIGhhcyBvbmUgdmFsdWUsIGNhbGxlZCBudWxsCiAqCiAqIEBwYXRoIGNoMDgvOC4yL1M4LjJfQTFfVDEuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIGV4ZWN1dGlvbiBvZiAidmFyIHggPSBudWxsIiBwYXNzZXMKICovCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCnZhciB4ID0gbnVsbDsKLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgoK","commentary":"The Null Type has one value, called null","description":"Checking if execution of \"var x = null\" passes","path":"TestCases/ch08/8.2/S8.2_A1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgTnVsbCBUeXBlIGhhcyBvbmUgdmFsdWUsIGNhbGxlZCBudWxsCiAqCiAqIEBwYXRoIGNoMDgvOC4yL1M4LjJfQTFfVDIuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIGV4ZWN1dGlvbiBvZiAieCA9IG51bGwiIHBhc3NlcwogKi8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKdmFyIHggPSBudWxsOwovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCgo=","commentary":"The Null Type has one value, called null","description":"Checking if execution of \"x = null\" passes","path":"TestCases/ch08/8.2/S8.2_A1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgbnVsbCBpcyByZXNydmVkIHdvcmQKICoKICogQHBhdGggY2gwOC84LjIvUzguMl9BMi5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgaWYgZXhlY3V0aW9uIG9mICJ2YXIgbnVsbCIgZmFpbHMKICogQG5lZ2F0aXZlCiAqLwoKdmFyIG51bGw7CgoKCg==","commentary":"The null is resrved word","description":"Checking if execution of \"var null\" fails","negative":"","path":"TestCases/ch08/8.2/S8.2_A2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBGb3IgdGhlIGtleXdvcmQgbnVsbCB0aGUgdHlwZW9mIG9wZXJhdG9yIHJldHVybnMgdGhlICJvYmplY3QiCiAqIFNlZSBhbHNvCiAqIGh0dHA6Ly9kZXZlbG9wZXIubW96aWxsYS5vcmcvZW4vZG9jcy9Db3JlX0phdmFTY3JpcHRfMS41X1JlZmVyZW5jZTpPcGVyYXRvcnM6U3BlY2lhbF9PcGVyYXRvcnM6dHlwZW9mX09wZXJhdG9yCiAqIGFuZAogKiBodHRwOi8vYnVncy5lY21hc2NyaXB0Lm9yZy90aWNrZXQvMjUwCiAqIGZvciBleGFtcGxlCiAqCiAqIEBwYXRoIGNoMDgvOC4yL1M4LjJfQTMuanMKICogQGRlc2NyaXB0aW9uIENoZWNrIHR5cGUgb2YgbnVsbAogKi8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vIENIRUNLIzEKaWYgKHR5cGVvZihudWxsKSAhPT0gIm9iamVjdCIpIHsKICAkRVJST1IoJyMxOiB0eXBlb2YgbnVsbCA9PT0gIm9iamVjdCIuIEFjdHVhbDogJyArICh0eXBlb2YgbnVsbCkpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"For the keyword null the typeof operator returns the \"object\"\nSee also\nhttp://developer.mozilla.org/en/docs/Core_JavaScript_1.5_Reference:Operators:Special_Operators:typeof_Operator\nand\nhttp://bugs.ecmascript.org/ticket/250\nfor example","description":"Check type of null","path":"TestCases/ch08/8.2/S8.2_A3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgQm9vbGVhbiB0eXBlIGhhdmUgdHdvIHZhbHVlcywgY2FsbGVkIHRydWUgYW5kIGZhbHNlCiAqCiAqIEBwYXRoIGNoMDgvOC4zL1M4LjNfQTFfVDEuanMKICogQGRlc2NyaXB0aW9uIEFzc2lnbiB0cnVlIGFuZCBmYWxzZSB0byB2YXJpYWJsZXMKICovCgppZiAoeCAhPT0gdW5kZWZpbmVkKSB7CiAgICAkRVJST1IoIiMwIHggIT09IHVuZGVmaW5lZCwgYnV0IGFjdHVhbCBpcyAiKyB4KTsKfSAgIAoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vIENIRUNLIzEKdmFyIHggPSB0cnVlOwp2YXIgeSA9IGZhbHNlOwoKaWYgKHggIT09IHRydWUpIHsKICAgICRFUlJPUigiIzEuMSB4ICE9PSB0cnVlLCBidXQgYWN0dWFsIGlzICIrIHgpOwp9IAoKaWYgKHkgIT09IGZhbHNlKSB7CiAgICAkRVJST1IoIiMxLjEgeSAhPT0gZmFsc2UsIGJ1dCBhY3R1YWwgaXMgIisgeSk7Cn0gCgovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"The Boolean type have two values, called true and false","description":"Assign true and false to variables","path":"TestCases/ch08/8.3/S8.3_A1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgQm9vbGVhbiB0eXBlIGhhdmUgdHdvIHZhbHVlcywgY2FsbGVkIHRydWUgYW5kIGZhbHNlCiAqCiAqIEBwYXRoIGNoMDgvOC4zL1M4LjNfQTFfVDIuanMKICogQGRlc2NyaXB0aW9uIENoZWNrIHR5cGUgb2YgdHJ1ZS9mYWxzZSBhbmQgaXRgcyBlcXVhbGl0eQogKi8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy8gQ0hFQ0sjMQppZiAodHlwZW9mKHRydWUpICE9PSAiYm9vbGVhbiIpIHsKICAkRVJST1IoJyMxOiB0eXBlb2YodHJ1ZSkgPT09ICJib29sZWFuIicpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy8gQ0hFQ0sjMgppZiAodHlwZW9mKHRydWUpICE9ICJib29sZWFuIikgewogICRFUlJPUignIzI6IHR5cGVvZih0cnVlKSA9PSAiYm9vbGVhbiInKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vIENIRUNLIzMKaWYgKHR5cGVvZihmYWxzZSkgIT09ICJib29sZWFuIikgewogICRFUlJPUignIzM6IHR5cGVvZihmYWxzZSkgPT09ICJib29sZWFuIicpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy8gQ0hFQ0sjNAppZiAodHlwZW9mKGZhbHNlKSAhPSAiYm9vbGVhbiIpIHsKICAkRVJST1IoJyM0OiB0eXBlb2YoZmFsc2UpID09ICJib29sZWFuIicpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy8gQ0hFQ0sjNQppZiAodHJ1ZSA9PT0gZmFsc2UpIHsKICAkRVJST1IoJyM1OiB0cnVlICE9PSBmYWxzZScpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy8gQ0hFQ0sjNgppZiAodHJ1ZSA9PSBmYWxzZSkgewogICRFUlJPUignIzY6IHRydWUgIT0gZmFsc2UnKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vIENIRUNLIzcKaWYgKGZhbHNlID09PSB0cnVlKSB7CiAgJEVSUk9SKCcjNzogZmFsc2UgIT09IHRydWUnKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vIENIRUNLIzgKaWYgKGZhbHNlID09IHRydWUpIHsKICAkRVJST1IoJyM4OiBmYWxzZSAhPSB0cnVlJyk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKCg==","commentary":"The Boolean type have two values, called true and false","description":"Check type of true/false and it`s equality","path":"TestCases/ch08/8.3/S8.3_A1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgdHJ1ZSBpcyByZXNlcnZlZCB3b3JkCiAqCiAqIEBwYXRoIGNoMDgvOC4zL1M4LjNfQTIuMS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgaWYgZXhlY3V0aW9uIG9mICJ0cnVlPTEiIGZhaWxzCiAqIEBuZWdhdGl2ZQogKi8KCnRydWUgPSAxOwoK","commentary":"The true is reserved word","description":"Checking if execution of \"true=1\" fails","negative":"","path":"TestCases/ch08/8.3/S8.3_A2.1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgZmFsc2UgaXMgcmVzZXJ2ZWQgd29yZAogKgogKiBAcGF0aCBjaDA4LzguMy9TOC4zX0EyLjIuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIGV4ZWN1dGlvbiBvZiAiZmFsc2U9MCIgZmFpbHMKICogQG5lZ2F0aXZlCiAqLwoKZmFsc2UgPSAwOwoK","commentary":"The false is reserved word","description":"Checking if execution of \"false=0\" fails","negative":"","path":"TestCases/ch08/8.3/S8.3_A2.2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBBcHBsYWluZyBuZWdhdGlvbiB0byBib29sZWFuIHdvcmtzIHdlbGwKICoKICogQHBhdGggY2gwOC84LjMvUzguM19BMy5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2sgbm90IGZhbHNlIGVxdWFscyB0cnVlLCBub3QgdHJ1ZSBlcXVhbHMgZmFsc2UKICovCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmICghZmFsc2UgIT09IHRydWUpewogICRFUlJPUignIzE6ICFmYWxzZSA9PT0gdHJ1ZScpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMgppZiAoIWZhbHNlICE9IHRydWUpewogICRFUlJPUignIzI6ICFmYWxzZSA9PSB0cnVlJyk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMzCmlmICghdHJ1ZSAhPT0gZmFsc2UpewogICRFUlJPUignIzM6ICF0cnVlID09PSBmYWxzZScpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjNAppZiAoIXRydWUgIT0gZmFsc2UpewogICRFUlJPUignIzQ6ICF0cnVlID09IGZhbHNlJyk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"Applaing negation to boolean works well","description":"Check not false equals true, not true equals false","path":"TestCases/ch08/8.3/S8.3_A3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBBbnkgdmFyaWFibGUgdGhhdCBoYXMgYmVlbiBhc3NpZ25lZCB3aXRoIHN0cmluZyBsaXRlcmFsIGhhcyB0aGUgdHlwZSBzdHJpbmcKICoKICogQHBhdGggY2gwOC84LjQvUzguNF9BMS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2sgdHlwZSBvZiB2YXJpYWJsZSB0aGF0IGhhcyBiZWVuIGFzc2lnbmVkIHdpdGggc3RyaW5nIGxpdGVyYWwKICovCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy8gQ0hFQ0sjMQp2YXIgc3RyPSJhYmNkZmciOwppZiAodHlwZW9mKHN0cikhPT0ic3RyaW5nIil7CiAgJEVSUk9SKCcjMTogdmFyIHN0cj0iYWJjZGZnIjsgdHlwZW9mKHN0cikgPT09ICJzdHJpbmciLiBBY3R1YWw6ICcgKyAodHlwZW9mKHN0cikpKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vIENIRUNLIzIKdmFyIHN0cjI9J3F3ZXJ0eSc7CmlmICh0eXBlb2Yoc3RyMikhPT0ic3RyaW5nIil7CiAgJEVSUk9SKCcjMjogdmFyIHN0cjI9XCdxd2VydHlcJzsgdHlwZW9mKHN0cikgPT09ICJzdHJpbmciLiBBY3R1YWw6ICcgKyAodHlwZW9mKHN0cjIpKSk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovLyBDSEVDSyMzCnZhciBfX3N0cj0nXHUwMDQyXHUwMDQzXHUwMDQ0XHUwMDQ1XHUwMDQ2XHUwMDQ3XHUwMDQ4JzsKaWYgKHR5cGVvZihfX3N0cikhPT0ic3RyaW5nIil7CiAgJEVSUk9SKCcjMzogdmFyIF9fc3RyPVwnXFx1MDA0MlxcdTAwNDNcXHUwMDQ0XFx1MDA0NVxcdTAwNDZcXHUwMDQ3XFx1MDA0OFwnOyB0eXBlb2YoX19zdHIpID09PSAic3RyaW5nIi4gQWN0dWFsOiAnICsgKHR5cGVvZihfX3N0cikpKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vIENIRUNLIzQKdmFyIHN0cl9fPSJcdTAwNDJcdTAwNDNcdTAwNDRcdTAwNDVcdTAwNDZcdTAwNDdcdTAwNDgiOwppZiAodHlwZW9mKHN0cl9fKSE9PSJzdHJpbmciKXsKICAkRVJST1IoJyM0OiB2YXIgc3RyX189ImFiY2RmZyI7IHR5cGVvZihzdHJfXykgPT09ICJzdHJpbmciLiBBY3R1YWw6ICcgKyAodHlwZW9mKHN0cl9fKSkpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"Any variable that has been assigned with string literal has the type string","description":"Check type of variable that has been assigned with string literal","path":"TestCases/ch08/8.4/S8.4_A1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBCb3RoIHVuaWNvZGUgYW5kIGFzY2lpIGNoYXJzIGFyZSBhbGxvd2VkCiAqCiAqIEBwYXRoIGNoMDgvOC40L1M4LjRfQTEwLmpzCiAqIEBkZXNjcmlwdGlvbiBDcmVhdGUgc3RyaW5nIHVzaW5nIGJvdGggdW5pY29kZSBhbmQgYXNjaWkgY2hhcnMKICovCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCnZhciBfX3N0ciA9ICJcdTAwNDFBXHUwMDQyQlx1MDA0M0MiOwppZiAoX19zdHIgIT09ICdBQUJCQ0MnKXsKICAkRVJST1IoJyMxOiB2YXIgX19zdHIgPSAiXFx1MDA0MUFcXHUwMDQyQlxcdTAwNDNDIjsgX19zdHIgPT09IFwnQUFCQkNDXCcuIEFjdHVhbDogJyArIChfX3N0cikpOwp9OwovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzIKdmFyIF9fc3RyX18gPSAiXHUwMDQxXHUwMDQyXHUwMDQzIisnQUJDJzsKaWYgKF9fc3RyX18gIT09ICdBQkNBQkMnKXsKICAkRVJST1IoJyMyOiB2YXIgX19zdHJfXyA9ICJcXHUwMDQxXFx1MDA0MlxcdTAwNDMiK1wnQUJDXCc7IF9fc3RyX18gPT09IFwnQUJDQUJDXCcuIEFjdHVhbDogJyArIChfX3N0cl9fKSk7Cn07Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMwp2YXIgc3RyX18gPSAiQUJDIisnXHUwMDQxXHUwMDQyXHUwMDQzJzsKaWYgKHN0cl9fICE9PSAiQUJDQUJDIil7CiAgJEVSUk9SKCcjMjogdmFyIHN0cl9fID0gIkFCQyIrXCdcXHUwMDQxXFx1MDA0MlxcdTAwNDNcJzsgc3RyX18gPT09ICJBQkNBQkMiLiBBY3R1YWw6ICcgKyAoc3RyX18pKTsKfTsKLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"Both unicode and ascii chars are allowed","description":"Create string using both unicode and ascii chars","path":"TestCases/ch08/8.4/S8.4_A10.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBQcmVzZW5jZSBvZiByZXNlcnZlZCB3b3JkcyBpbiBzdHJpbmcgbGl0ZXJhbCBhcmUgYWxsb3dlZAogKgogKiBAcGF0aCBjaDA4LzguNC9TOC40X0ExMS5qcwogKiBAZGVzY3JpcHRpb24gQ3JlYXRlIHN0cmluZyB2YXJpYWJsZSwgdGhldCBpbmNsdWRlIGFsbCByZXNlcnZlZCB3b3JkcwogKi8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKdmFyIF9fZGVsZXRlPSIgYnJlYWsgZWxzZSBuZXcgdmFyIGNhc2UgZmluYWxseSByZXR1cm4gdm9pZCBjYXRjaCBmb3Igc3dpdGNoIHdoaWxlIGNvbnRpbnVlIGZ1bmN0aW9uIHRoaXMgd2l0aCBkZWZhdWx0IGlmIHRocm93IGRlbGV0ZSBpbiB0cnkgZG8gaW5zdGFuY2VvZiB0eXBlb2YgIjsKLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"Presence of reserved words in string literal are allowed","description":"Create string variable, thet include all reserved words","path":"TestCases/ch08/8.4/S8.4_A11.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBBc3NpZ25tZW50IHRvIHN0cmluZyBsaXRlcmFsIGNhbGxzIFN0cmluZyBjb25zdHJ1Y3RvcgogKgogKiBAcGF0aCBjaDA4LzguNC9TOC40X0ExMi5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2sgY29uc3RydWN0b3Igb2Ygc2ltcGxlIGFzc2lnbmVkIHZhcmlhYmxlCiAqLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQp2YXIgc3RyID0gInJvY2snbidyb2xsIjsKaWYgKHN0ci5jb25zdHJ1Y3RvciAhPT0gU3RyaW5nKXsKICAkRVJST1IoJyMxOiB2YXIgc3RyID0gInJvY2tcJ25cJ3JvbGwiOyBzdHIuY29uc3RydWN0b3IgPT09IFN0cmluZy4gQWN0dWFsOiAnICsgKHN0ci5jb25zdHJ1Y3RvcikpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"Assignment to string literal calls String constructor","description":"Check constructor of simple assigned variable","path":"TestCases/ch08/8.4/S8.4_A12.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuIGFwcGVhcnMgbm90IGNsb3NlZCBzaW5nbGUtcXVvdGUgcHJvZ3JhbSBmYWlsZXMKICoKICogQHBhdGggY2gwOC84LjQvUzguNF9BMTNfVDEuanMKICogQGRlc2NyaXB0aW9uIFRyeSB0byBjcmVhdGUgdmFyaWFibGUgdXNpbmcgMyBzaW5nbGUtcXVvdGUKICogQG5lZ2F0aXZlCiAqLwoKdmFyIHN0ciA9ICcnJzsKCg==","commentary":"When appears not closed single-quote program failes","description":"Try to create variable using 3 single-quote","negative":"","path":"TestCases/ch08/8.4/S8.4_A13_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuIGFwcGVhcnMgbm90IGNsb3NlZCBzaW5nbGUtcXVvdGUgcHJvZ3JhbSBmYWlsZXMKICoKICogQHBhdGggY2gwOC84LjQvUzguNF9BMTNfVDIuanMKICogQGRlc2NyaXB0aW9uIFRyeSB0byBjcmVhdGUgdmFyaWFibGUgdXNpbmcgMSBzaW5nbGUtcXVvdGUKICogQG5lZ2F0aXZlCiAqLwoKdmFyIHN0ciA9ICc7Cgo=","commentary":"When appears not closed single-quote program failes","description":"Try to create variable using 1 single-quote","negative":"","path":"TestCases/ch08/8.4/S8.4_A13_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuIGFwcGVhcnMgbm90IGNsb3NlZCBzaW5nbGUtcXVvdGUgcHJvZ3JhbSBmYWlsZXMKICoKICogQHBhdGggY2gwOC84LjQvUzguNF9BMTNfVDMuanMKICogQGRlc2NyaXB0aW9uIFRyeSB0byBjcmVhdGUgdmFyaWFibGUgdXNpbmcgNCBzaW5nbGUtcXVvdGUKICogQG5lZ2F0aXZlCiAqLwoKdmFyIHN0ciA9ICcnJyc7Cgo=","commentary":"When appears not closed single-quote program failes","description":"Try to create variable using 4 single-quote","negative":"","path":"TestCases/ch08/8.4/S8.4_A13_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuIGFwcGVhcnMgbm90IGNsb3NlZCBkb3VibGUtcXVvdGUgcHJvZ3JhbSBmYWlsZXMKICoKICogQHBhdGggY2gwOC84LjQvUzguNF9BMTRfVDEuanMKICogQGRlc2NyaXB0aW9uIFRyeSB0byBjcmVhdGUgdmFyaWFibGUgdXNpbmcgMSBkb3VibGUtcXVvdGUKICogQG5lZ2F0aXZlCiAqLwoKdmFyIHN0ciA9ICI7Cgo=","commentary":"When appears not closed double-quote program failes","description":"Try to create variable using 1 double-quote","negative":"","path":"TestCases/ch08/8.4/S8.4_A14_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuIGFwcGVhcnMgbm90IGNsb3NlZCBkb3VibGUtcXVvdGUgcHJvZ3JhbSBmYWlsZXMKICoKICogQHBhdGggY2gwOC84LjQvUzguNF9BMTRfVDIuanMKICogQGRlc2NyaXB0aW9uIFRyeSB0byBjcmVhdGUgdmFyaWFibGUgdXNpbmcgMyBkb3VibGUtcXVvdGUKICogQG5lZ2F0aXZlCiAqLwoKdmFyIHN0ciA9ICIiIjsKCg==","commentary":"When appears not closed double-quote program failes","description":"Try to create variable using 3 double-quote","negative":"","path":"TestCases/ch08/8.4/S8.4_A14_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuIGFwcGVhcnMgbm90IGNsb3NlZCBkb3VibGUtcXVvdGUgcHJvZ3JhbSBmYWlsZXMKICoKICogQHBhdGggY2gwOC84LjQvUzguNF9BMTRfVDMuanMKICogQGRlc2NyaXB0aW9uIFRyeSB0byBjcmVhdGUgdmFyaWFibGUgdXNpbmcgNCBkb3VibGUtcXVvdGUKICogQG5lZ2F0aXZlCiAqLwoKdmFyIHN0ciA9ICIiIiI7Cgo=","commentary":"When appears not closed double-quote program failes","description":"Try to create variable using 4 double-quote","negative":"","path":"TestCases/ch08/8.4/S8.4_A14_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBFbXB0eSBzdHJpbmcgaGFzIHR5cGUgc3RyaW5nCiAqCiAqIEBwYXRoIGNoMDgvOC40L1M4LjRfQTIuanMKICogQGRlc2NyaXB0aW9uIENyZWF0ZSBlbXB0eSBzdHJpbmcgYW5kIGNoZWNrIGl0IHR5cGUKICovCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy8gQ0hFQ0sjMQp2YXIgc3RyID0gJyc7CmlmICh0eXBlb2Yoc3RyKSAhPT0gJ3N0cmluZycpewogICRFUlJPUignIzE6IHZhciBzdHIgPSBcJ1wnOyB0eXBlb2Yoc3RyKSA9PT0gXCdzdHJpbmdcJy4gQWN0dWFsOiAnICsgKHR5cGVvZihzdHIpKSk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovLyBDSEVDSyMyCnZhciBzdHIgPSAiIjsKaWYgKHR5cGVvZihzdHIpICE9PSAic3RyaW5nIil7CiAgJEVSUk9SKCcjMjogdmFyIHN0ciA9ICIiOyB0eXBlb2Yoc3RyKSA9PT0gInN0cmluZyIuIEFjdHVhbDogJyArIChzdHIpKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"Empty string has type string","description":"Create empty string and check it type","path":"TestCases/ch08/8.4/S8.4_A2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcgdHlwZSBoYXMgYSBsZW5ndGggcHJvcGVydHkKICoKICogQHBhdGggY2gwOC84LjQvUzguNF9BMy5qcwogKiBAZGVzY3JpcHRpb24gVHJ5IHJlYWQgbGVuZ3RoIHByb3BlcnR5IG9mIHN0cmluZyB2YXJpYWJsZQogKi8KCnZhciBfX3N0ciA9ICJBQkNERUZHSCI7Ci8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKF9fc3RyLmxlbmd0aCAhPT0gOCkgewogICRFUlJPUignIzE6IHZhciBfX3N0ciA9ICJBQkNERUZHSCI7IF9fc3RyLmxlbmd0aCA9PT0gOC4gQWN0dWFsOiAnICsgKF9fc3RyLmxlbmd0aCkpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"String type has a length property","description":"Try read length property of string variable","path":"TestCases/ch08/8.4/S8.4_A3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBFbXB0eSBzdHJpbmcgdmFyaWFibGUgaGFzIGEgbGVuZ3RoIHByb3BlcnR5CiAqCiAqIEBwYXRoIGNoMDgvOC40L1M4LjRfQTQuanMKICogQGRlc2NyaXB0aW9uIFRyeSByZWFkIGxlbmd0aCBwcm9wZXJ0eSBvZiBlbXB0eSBzdHJpbmcgdmFyaWFibGUKICovCgp2YXIgX19zdHIgPSAiIjsKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAoX19zdHIubGVuZ3RoICE9PSAwKSB7CiAgJEVSUk9SKCcjMTogdmFyIF9fc3RyID0gIiI7IF9fc3RyLmxlbmd0aCA9PT0gMC4gQWN0dWFsOiAnICsgKF9fc3RyKSk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"Empty string variable has a length property","description":"Try read length property of empty string variable","path":"TestCases/ch08/8.4/S8.4_A4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBaZXJvICJcMCIgbm90IHRlcm1pbmF0ZXMgdGhlIHN0cmluZyhDIHN0cmluZykKICoKICogQHBhdGggY2gwOC84LjQvUzguNF9BNS5qcwogKiBAZGVzY3JpcHRpb24gSW5zZXJ0ICJcMCIgaW50byBzdHJpbmcKICovCgovLyBDSEVDSyMxCmlmICgieFwweSIgPT09ICJ4IikgewogICRFUlJPUignIzE6ICJ4XFwweSIgIT09ICJ4IicpOwp9CgovLyBDSEVDSyMyCmlmICghKCgieFwwYSIgPCAieFwwYiIpICYmICgieFwwYiIgPCAieFwwYyIpKSkgewogICRFUlJPUignIzI6ICgoInhcXDBhIiA8ICJ4XFwwYiIpICYmICgieFxcMGIiIDwgInhcXDBjIikpID09PSB0cnVlJyk7Cn0KCg==","commentary":"Zero \"\\0\" not terminates the string(C string)","description":"Insert \"\\0\" into string","path":"TestCases/ch08/8.4/S8.4_A5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBMYXJnZSBzdHJpbmcgNDA5NiBieXRlcwogKgogKiBAcGF0aCBjaDA4LzguNC9TOC40X0E2LjEuanMKICogQGRlc2NyaXB0aW9uIEFzc2lnbiB2YXJpYWJsZSBieSBsYXJnZSBzdHJpbmcKICovCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vIENoZWNrIzEKdmFyIGxhcmdlU3RyPSdTdGFuZGFyZCBFQ01BLTI2MjNyIGQgRWRpdGlvbiAtIERlY2VtYmVyIDE5OTlTIHQgYSBuIGQgYSByIGQgaSB6IGkgbiBnIEluZm9ybWF0IGkgbyBuIGFuZCBDb21tdSBuIGkgYyBhIHQgaSBvIG4gU3lzdGVtc1Bob25lOiArNDEgMjIgODQ5LjYwLjAwIC0gRmF4OiArNDEgMjIgODQ5LjYwLjAxIC0gVVJMOiBodCB0cDogLyAvd3d3LmVjbWEuY2ggLSBJbnRlcm5ldDogaGVscGRlc2tAZWNtYS5jaEVDTUFTY3JpcHQgTGFuZ3VhZ2VTcGVjaWZpY2F0aW9uU3RhbmRhcmQgRUNNQS0yNjIzciBkIEVkaXRpb24gLSBEZWNlbWJlciAxOTk5UyB0IGEgbiBkIGEgciBkIGkgeiBpIG4gZyBJbmZvcm1hdCBpIG8gbiBhbmQgQ29tbXUgbiBpIGMgYSB0IGkgbyBuIFN5c3RlbXNQaG9uZTogKzQxIDIyIDg0OS42MC4wMCAtIEZheDogKzQxIDIyIDg0OS42MC4wMSAtIFVSTDogaHQgdHA6IC8gL3d3dy5lY21hLmNoIC0gSW50ZXJuZXQ6IGhlbHBkZXNrQGVjbWEuY2hNQiBFY21hLTI2Mi5kb2MgMDgtMDQtMDIgMTYsNTNFQ01BU2NyaXB0IExhbmd1YWdlU3BlY2lmaWNhdGlvbkJyaWVmIEhpc3RvcnlUaGlzIEVDTUEgU3RhbmRhcmQgaXMgYmFzZWQgb24gc2V2ZXJhbCBvcmlnaW5hdGluZyB0ZWNobm9sb2dpZXMsIHRoZSBtb3N0IHdlbGwga25vd24gYmVpbmcgSmF2YVNjcmlwdCAoTmV0c2NhcGUpYW5kIEpTY3JpcHQgKE1pY3Jvc29mdCkuIFRoZSBsYW5ndWFnZSB3YXMgaW52ZW50ZWQgYnkgQnJlbmRhbiBFaWNoIGF0IE5ldHNjYXBlIGFuZCBmaXJzdCBhcHBlYXJlZCBpbiB0aGF0Y29tcGFuIE5hdmlnYXRvciAyLjAgYnJvd3Nlci4gSXQgaGFzIGFwcGVhcmVkIGluIGFsbCBzdWJzZXF1ZW50IGJyb3dzZXJzIGZyb20gTmV0c2NhcGUgYW5kIGluIGFsbCBicm93c2VycyBmcm9tTWljcm9zb2Z0IHN0YXJ0aW5nIHdpdGggSW50ZXJuZXQgRXhwbG9yZXIgMy4wLlRoZSBkZXZlbG9wbWVudCBvZiB0aGlzIFN0YW5kYXJkIHN0YXJ0ZWQgaW4gTm92ZW1iZXIgMTk5Ni4gVGhlIGZpcnN0IGVkaXRpb24gb2YgdGhpcyBFQ01BIFN0YW5kYXJkIHdhcyBhZG9wdGVkIGJ5dGhlIEVDTUEgR2VuZXJhbCBBc3NlbWJseSBvZiBKdW5lIDE5OTcuVGhhdCBFQ01BIFN0YW5kYXJkIHdhcyBzdWJtaXR0ZWQgdG8gSVNPL0lFQyBKVEMgMSBmb3IgYWRvcHRpb24gdW5kZXIgdGhlIGZhc3QtdHJhY2sgcHJvY2VkdXJlLCBhbmQgYXBwcm92ZWQgYXNpbnRlcm5hdGlvbmFsIHN0YW5kYXJkIElTTy9JRUMgMTYyNjIsIGluIEFwcmlsIDE5OTguIFRoZSBFQ01BIEdlbmVyYWwgQXNzZW1ibHkgb2YgSnVuZSAxOTk4IGFwcHJvdmVkIHRoZXNlY29uZCBlZGl0aW9uIG9mIEVDTUEtMjYyIHRvIGtlZXAgaXQgZnVsbHkgYWxpZ25lZCB3aXRoIElTTy9JRUMgMTYyNjIuIENoYW5nZXMgYmV0d2VlbiB0aGUgZmlyc3QgYW5kIHRoZSBzZWNvbmRlZGl0aW9uIGFyZSBlZGl0b3JpYWwgaW4gbmF0dXJlLlRoZSBjdXJyZW50IGRvY3VtZW50IGRlZmluZXMgdGhlIHRoaXJkIGVkaXRpb24gb2YgdGhlIFN0YW5kYXJkIGFuZCBpbmNsdWRlcyBwb3dlcmZ1bCByZWd1bGFyIGV4cHJlc3Npb25zLCBiZXR0ZXJzdHJpbmcgaGFuZGxpbmcsIG5ldyBjb250cm9sIHN0YXRlbWVudHMsIHRyeS9jYXRjaCBleGNlcHRpb24gaGFuZGxpbmcsIHRpZ2h0ZXIgZGVmaW5pdGlvbiBvZiBlcnJvcnMsIGZvcm1hdHRpbmcgZm9ybnVtZXJpYyBvdXRwdXQgYW5kIG1pbm9yIGNoYW5nZXMgaW4gYW50aWNpcGF0aW9uIG9mIGZvcnRoY29taW5nIGludGVybmF0aW9uYWxpc2F0aW9uIGZhY2lsaXRpZXMgYW5kIGZ1dHVyZSBsYW5ndWFnZWdyb3d0aC5Xb3JrIG9uIHRoZSBsYW5ndWFnZSBpcyBub3QgY29tcGxldGUuIFRoZSB0ZWNobmljYWwgY29tbWl0dGVlIGlzIHdvcmtpbmcgb24gc2lnbmlmaWNhbnQgZW5oYW5jZW1lbnRzLCBpbmNsdWRpbmdtZWNoYW5pc21zIGZvciBzY3JpcHRzIHRvIGJlIGNyZWF0ZWQgYW5kIHVzZWQgYWNyb3NzIHRoZSBJbnRlcm5ldCwgYW5kIHRpZ2h0ZXIgY29vcmRpbmF0aW9uIHdpdGggb3RoZXIgc3RhbmRhcmRzIGJvZGllc3N1Y2ggYXMgZ3JvdXBzIHdpdGhpbiB0aGUgV29ybGQgV2lkZSBXZWIgQ29uc29ydGl1bSBhbmQgdGhlIFdpcmVsZXNzIEFwcGxpY2F0aW9uIFByb3RvY29sIEZvcnVtLlRoaXMgU3RhbmRhcmQgaGFzIGJlZW4gYWRvcHRlZCBhcyAzcmQgRWRpdGlvbiBvZiBFQ01BLTI2MiBieSB0aGUgRUNNQSBHZW5lcmFsIEFzc2VtYmx5IGluIERlY2VtYmVyLCAxOTk5Li0gaSAtVGFibGUgb2YgY29udGVudHMxIFNjb3BlIDEyIENvbmZvcm1hbmNlIDEzIFJlZmVyZW5jZXMgMTQgT3ZlcnZpZXcgMSA0LjEgV2ViIFNjcmlwdGluZyAyIDQuMiBMYW5ndWFnZSBPdmVydmlldyAyIDQuMi4xIE9iamVjdHMgMyA0LjMgRGVmaW5pdGlvbnMgNCA0LjMuMSBUeXBlIDQgNC4zLjIgUHJpbWl0aXZlIFZhbHVlIDQgNC4zLjMgT2JqZWN0IDQgNC4zLjQgQ29uc3RydWN0b3IgNCA0LjMuNSBQcm90b3R5cGUgNCA0LjMuNiBOYXRpdmUgT2JqZWN0IDQgNC4zLjcgQnVpbHQtaW4gT2JqZWN0IDQgNC4zLjggSG9zdCBPYmplY3QgNCA0LjMuOSBVbmRlZmluZWQgVmFsdWUgNCA0LjMuMTAgVW5kZWZpbmVkIFR5cGUgNCA0LjMuMTEgTnVsbCBWYWx1ZSA0IDQuMy4xMiBOdWxsIFR5cGUgNCA0LjMuMTMgQm9vbGVhbiBWYWx1ZSA0IDQuMy4xNCBCb29sZWFuIFR5cGUgNCA0LjMuMTUgQm9vbGVhbiBPYmplY3QgNSA0LjMuMTYgU3RyaW5nIFZhbHVlIDUgNC4zLjE3IFN0cmluZyBUeXBlIDUgNC4zLjE4IFN0cmluZyBPYmplY3QgNSA0LjMuMTkgTnVtYmVyIFZhbHVlIDUgNC4zLjIwIE51bWJlciBUeXBlIDUgNC4zLjIxIE51bWJlciBPYmplY3QgNSA0LjMuMjIgSW5maW5pdHkgNSA0LjMuMjMgTmFOIDUgNSBOb3RhdGlvbmFsIENvbnZlbnRpb25zIDYgNS4xIFN5bnRhY3RpYyBhbmQgTGV4aWNhbCBHcmFtbWFycyA2IDUuMS4xIENvbnRleHQtRnJlZSBHcmFtbWFycyA2IDUuMS4yIFRoZSBMZXhpY2FsIGFuZCBSZWdFeHAgR3JhbW1hcnMgNiA1LjEuMyBUaGUgTnVtZXJpYyBTdHJpbmcgR3JhbW1hciA2IDUuMS40IFRoZSBTeW50YWN0aWMgR3JhbW1hciA2IDUuMS41IEdyYW1tYXIgTm90YXRpb24gNyA1LjIgQWxnb3JpdGhtIENvbnZlbnRpb25zIDkgNi4gU291cmNlIFRleHQgMTAgNyBMZXhpY2FsIENvbnZlbnRpb25zIDExIDcuMSBVbmljb2RlIEZvcm1hdC1Db250cm9sIENoYXJhY3RlcnMgMTEgNy4yIFdoaXRlIFNwYWNlIDExIDcuMyBMaW5lIFRlcm1pbmF0b3JzIDEyIDcuNCBDb21tZW50cyAxMiAtIGlpIC0gNy41IFRva2VucyAxMyA3LjUuMSBSZXNlcnZlZCBXb3JkcyAxMyA3LjUuMiBLZXl3b3JkcyAxMyA3LjUuMyBGdXR1cmUgUmVzZXJ2ZWQgV29yZHMgMTQgNy42IElkZW50aWZpZXJzIDE0IDcuNyBQdW5jdHVhdG9ycyAxNSA3LjggTGl0ZXJhbHMgMTYgNy44LjEgTnVsbCBMaXRlcmFscyAxNiA3LjguMiBCb29sZWFuIExpdGVyYWxzIDE2IDcuOC4zIE51bWVyaWMgTGl0ZXJhbHMgMTYgNy44LjQgU3RyaW5nIExpdGVyYWxzIDE4IDcuOC41IFJlZ3VsYXIgRXhwcmVzc2lvbiBMaXRlcmFscyAyMCA3LjkgQXV0b21hdGljIFNlbWljb2xvbiBJbnNlcnRpb24gMjEgNy45LjEgUnVsZXMgb2YgQXV0b21hdGljIFNlbWljb2xvbiBJbnNlcnRpb24gMjEgNy45LjIgRXhhbXBsZXMgb2YgQXV0b21hdGljIFNlbWljb2xvbiBJbnNlcnRpb24gMjIgOCBUeXBlcyAyNCA4LjEgVGhlIFVuZGVmaW5lZCBUeXBlIDI0IDguMiBUaGUgTnVsbCBUeXBlIDI0IDguMyBUaGUgQm9vbGVhbiBUeXBlIDI0IDguNCBUaGUgU3RyaW5nIFR5cGUgMjQgOC41IFRoZSBOdW1iZXIgVHlwZSAyNCA4LjYgVGhlIE9iamVjdCBUeXBlIDI1IDguNi4xIFByb3BlcnR5IEF0dHJpYnV0ZXMgMjUgOC42LjIgSW50ZXJuYWwgUHJvcGVydGllcyBhbmQgTWV0aG9kcyAyNiA4LjcgVGhlIFJlZmVyZW5jZSBUeXBlIDI5IDguNy4xIEdldFZhbHVlIChWKSAyOSA4LjcuMiBQdXRWYWx1ZSAoViwgVykgMjkgOC44IFRoZSBMaXN0IFR5cGUgMzAgOC45IFRoZSBDb21wbGV0aW9uIFR5cGUgMzAgOSBUeXBlIENvbnZlcnNpb24gMzAgOS4xIFRvUHJpbWl0aXZlIDMwIDkuMiBUb0Jvb2xlYW4gMzAgOS4zIFRvTnVtYmVyIDMxIDkuMy4xIFRvTnVtYmVyIEFwJzsKaWYobGFyZ2VTdHIgIT09ICdTdGFuZGFyZCBFQ01BLTI2MjNyIGQgRWRpdGlvbiAtIERlY2VtYmVyIDE5OTlTIHQgYSBuIGQgYSByIGQgaSB6IGkgbiBnIEluZm9ybWF0IGkgbyBuIGFuZCBDb21tdSBuIGkgYyBhIHQgaSBvIG4gU3lzdGVtc1Bob25lOiArNDEgMjIgODQ5LjYwLjAwIC0gRmF4OiArNDEgMjIgODQ5LjYwLjAxIC0gVVJMOiBodCB0cDogLyAvd3d3LmVjbWEuY2ggLSBJbnRlcm5ldDogaGVscGRlc2tAZWNtYS5jaEVDTUFTY3JpcHQgTGFuZ3VhZ2VTcGVjaWZpY2F0aW9uU3RhbmRhcmQgRUNNQS0yNjIzciBkIEVkaXRpb24gLSBEZWNlbWJlciAxOTk5UyB0IGEgbiBkIGEgciBkIGkgeiBpIG4gZyBJbmZvcm1hdCBpIG8gbiBhbmQgQ29tbXUgbiBpIGMgYSB0IGkgbyBuIFN5c3RlbXNQaG9uZTogKzQxIDIyIDg0OS42MC4wMCAtIEZheDogKzQxIDIyIDg0OS42MC4wMSAtIFVSTDogaHQgdHA6IC8gL3d3dy5lY21hLmNoIC0gSW50ZXJuZXQ6IGhlbHBkZXNrQGVjbWEuY2hNQiBFY21hLTI2Mi5kb2MgMDgtMDQtMDIgMTYsNTNFQ01BU2NyaXB0IExhbmd1YWdlU3BlY2lmaWNhdGlvbkJyaWVmIEhpc3RvcnlUaGlzIEVDTUEgU3RhbmRhcmQgaXMgYmFzZWQgb24gc2V2ZXJhbCBvcmlnaW5hdGluZyB0ZWNobm9sb2dpZXMsIHRoZSBtb3N0IHdlbGwga25vd24gYmVpbmcgSmF2YVNjcmlwdCAoTmV0c2NhcGUpYW5kIEpTY3JpcHQgKE1pY3Jvc29mdCkuIFRoZSBsYW5ndWFnZSB3YXMgaW52ZW50ZWQgYnkgQnJlbmRhbiBFaWNoIGF0IE5ldHNjYXBlIGFuZCBmaXJzdCBhcHBlYXJlZCBpbiB0aGF0Y29tcGFuIE5hdmlnYXRvciAyLjAgYnJvd3Nlci4gSXQgaGFzIGFwcGVhcmVkIGluIGFsbCBzdWJzZXF1ZW50IGJyb3dzZXJzIGZyb20gTmV0c2NhcGUgYW5kIGluIGFsbCBicm93c2VycyBmcm9tTWljcm9zb2Z0IHN0YXJ0aW5nIHdpdGggSW50ZXJuZXQgRXhwbG9yZXIgMy4wLlRoZSBkZXZlbG9wbWVudCBvZiB0aGlzIFN0YW5kYXJkIHN0YXJ0ZWQgaW4gTm92ZW1iZXIgMTk5Ni4gVGhlIGZpcnN0IGVkaXRpb24gb2YgdGhpcyBFQ01BIFN0YW5kYXJkIHdhcyBhZG9wdGVkIGJ5dGhlIEVDTUEgR2VuZXJhbCBBc3NlbWJseSBvZiBKdW5lIDE5OTcuVGhhdCBFQ01BIFN0YW5kYXJkIHdhcyBzdWJtaXR0ZWQgdG8gSVNPL0lFQyBKVEMgMSBmb3IgYWRvcHRpb24gdW5kZXIgdGhlIGZhc3QtdHJhY2sgcHJvY2VkdXJlLCBhbmQgYXBwcm92ZWQgYXNpbnRlcm5hdGlvbmFsIHN0YW5kYXJkIElTTy9JRUMgMTYyNjIsIGluIEFwcmlsIDE5OTguIFRoZSBFQ01BIEdlbmVyYWwgQXNzZW1ibHkgb2YgSnVuZSAxOTk4IGFwcHJvdmVkIHRoZXNlY29uZCBlZGl0aW9uIG9mIEVDTUEtMjYyIHRvIGtlZXAgaXQgZnVsbHkgYWxpZ25lZCB3aXRoIElTTy9JRUMgMTYyNjIuIENoYW5nZXMgYmV0d2VlbiB0aGUgZmlyc3QgYW5kIHRoZSBzZWNvbmRlZGl0aW9uIGFyZSBlZGl0b3JpYWwgaW4gbmF0dXJlLlRoZSBjdXJyZW50IGRvY3VtZW50IGRlZmluZXMgdGhlIHRoaXJkIGVkaXRpb24gb2YgdGhlIFN0YW5kYXJkIGFuZCBpbmNsdWRlcyBwb3dlcmZ1bCByZWd1bGFyIGV4cHJlc3Npb25zLCBiZXR0ZXJzdHJpbmcgaGFuZGxpbmcsIG5ldyBjb250cm9sIHN0YXRlbWVudHMsIHRyeS9jYXRjaCBleGNlcHRpb24gaGFuZGxpbmcsIHRpZ2h0ZXIgZGVmaW5pdGlvbiBvZiBlcnJvcnMsIGZvcm1hdHRpbmcgZm9ybnVtZXJpYyBvdXRwdXQgYW5kIG1pbm9yIGNoYW5nZXMgaW4gYW50aWNpcGF0aW9uIG9mIGZvcnRoY29taW5nIGludGVybmF0aW9uYWxpc2F0aW9uIGZhY2lsaXRpZXMgYW5kIGZ1dHVyZSBsYW5ndWFnZWdyb3d0aC5Xb3JrIG9uIHRoZSBsYW5ndWFnZSBpcyBub3QgY29tcGxldGUuIFRoZSB0ZWNobmljYWwgY29tbWl0dGVlIGlzIHdvcmtpbmcgb24gc2lnbmlmaWNhbnQgZW5oYW5jZW1lbnRzLCBpbmNsdWRpbmdtZWNoYW5pc21zIGZvciBzY3JpcHRzIHRvIGJlIGNyZWF0ZWQgYW5kIHVzZWQgYWNyb3NzIHRoZSBJbnRlcm5ldCwgYW5kIHRpZ2h0ZXIgY29vcmRpbmF0aW9uIHdpdGggb3RoZXIgc3RhbmRhcmRzIGJvZGllc3N1Y2ggYXMgZ3JvdXBzIHdpdGhpbiB0aGUgV29ybGQgV2lkZSBXZWIgQ29uc29ydGl1bSBhbmQgdGhlIFdpcmVsZXNzIEFwcGxpY2F0aW9uIFByb3RvY29sIEZvcnVtLlRoaXMgU3RhbmRhcmQgaGFzIGJlZW4gYWRvcHRlZCBhcyAzcmQgRWRpdGlvbiBvZiBFQ01BLTI2MiBieSB0aGUgRUNNQSBHZW5lcmFsIEFzc2VtYmx5IGluIERlY2VtYmVyLCAxOTk5Li0gaSAtVGFibGUgb2YgY29udGVudHMxIFNjb3BlIDEyIENvbmZvcm1hbmNlIDEzIFJlZmVyZW5jZXMgMTQgT3ZlcnZpZXcgMSA0LjEgV2ViIFNjcmlwdGluZyAyIDQuMiBMYW5ndWFnZSBPdmVydmlldyAyIDQuMi4xIE9iamVjdHMgMyA0LjMgRGVmaW5pdGlvbnMgNCA0LjMuMSBUeXBlIDQgNC4zLjIgUHJpbWl0aXZlIFZhbHVlIDQgNC4zLjMgT2JqZWN0IDQgNC4zLjQgQ29uc3RydWN0b3IgNCA0LjMuNSBQcm90b3R5cGUgNCA0LjMuNiBOYXRpdmUgT2JqZWN0IDQgNC4zLjcgQnVpbHQtaW4gT2JqZWN0IDQgNC4zLjggSG9zdCBPYmplY3QgNCA0LjMuOSBVbmRlZmluZWQgVmFsdWUgNCA0LjMuMTAgVW5kZWZpbmVkIFR5cGUgNCA0LjMuMTEgTnVsbCBWYWx1ZSA0IDQuMy4xMiBOdWxsIFR5cGUgNCA0LjMuMTMgQm9vbGVhbiBWYWx1ZSA0IDQuMy4xNCBCb29sZWFuIFR5cGUgNCA0LjMuMTUgQm9vbGVhbiBPYmplY3QgNSA0LjMuMTYgU3RyaW5nIFZhbHVlIDUgNC4zLjE3IFN0cmluZyBUeXBlIDUgNC4zLjE4IFN0cmluZyBPYmplY3QgNSA0LjMuMTkgTnVtYmVyIFZhbHVlIDUgNC4zLjIwIE51bWJlciBUeXBlIDUgNC4zLjIxIE51bWJlciBPYmplY3QgNSA0LjMuMjIgSW5maW5pdHkgNSA0LjMuMjMgTmFOIDUgNSBOb3RhdGlvbmFsIENvbnZlbnRpb25zIDYgNS4xIFN5bnRhY3RpYyBhbmQgTGV4aWNhbCBHcmFtbWFycyA2IDUuMS4xIENvbnRleHQtRnJlZSBHcmFtbWFycyA2IDUuMS4yIFRoZSBMZXhpY2FsIGFuZCBSZWdFeHAgR3JhbW1hcnMgNiA1LjEuMyBUaGUgTnVtZXJpYyBTdHJpbmcgR3JhbW1hciA2IDUuMS40IFRoZSBTeW50YWN0aWMgR3JhbW1hciA2IDUuMS41IEdyYW1tYXIgTm90YXRpb24gNyA1LjIgQWxnb3JpdGhtIENvbnZlbnRpb25zIDkgNi4gU291cmNlIFRleHQgMTAgNyBMZXhpY2FsIENvbnZlbnRpb25zIDExIDcuMSBVbmljb2RlIEZvcm1hdC1Db250cm9sIENoYXJhY3RlcnMgMTEgNy4yIFdoaXRlIFNwYWNlIDExIDcuMyBMaW5lIFRlcm1pbmF0b3JzIDEyIDcuNCBDb21tZW50cyAxMiAtIGlpIC0gNy41IFRva2VucyAxMyA3LjUuMSBSZXNlcnZlZCBXb3JkcyAxMyA3LjUuMiBLZXl3b3JkcyAxMyA3LjUuMyBGdXR1cmUgUmVzZXJ2ZWQgV29yZHMgMTQgNy42IElkZW50aWZpZXJzIDE0IDcuNyBQdW5jdHVhdG9ycyAxNSA3LjggTGl0ZXJhbHMgMTYgNy44LjEgTnVsbCBMaXRlcmFscyAxNiA3LjguMiBCb29sZWFuIExpdGVyYWxzIDE2IDcuOC4zIE51bWVyaWMgTGl0ZXJhbHMgMTYgNy44LjQgU3RyaW5nIExpdGVyYWxzIDE4IDcuOC41IFJlZ3VsYXIgRXhwcmVzc2lvbiBMaXRlcmFscyAyMCA3LjkgQXV0b21hdGljIFNlbWljb2xvbiBJbnNlcnRpb24gMjEgNy45LjEgUnVsZXMgb2YgQXV0b21hdGljIFNlbWljb2xvbiBJbnNlcnRpb24gMjEgNy45LjIgRXhhbXBsZXMgb2YgQXV0b21hdGljIFNlbWljb2xvbiBJbnNlcnRpb24gMjIgOCBUeXBlcyAyNCA4LjEgVGhlIFVuZGVmaW5lZCBUeXBlIDI0IDguMiBUaGUgTnVsbCBUeXBlIDI0IDguMyBUaGUgQm9vbGVhbiBUeXBlIDI0IDguNCBUaGUgU3RyaW5nIFR5cGUgMjQgOC41IFRoZSBOdW1iZXIgVHlwZSAyNCA4LjYgVGhlIE9iamVjdCBUeXBlIDI1IDguNi4xIFByb3BlcnR5IEF0dHJpYnV0ZXMgMjUgOC42LjIgSW50ZXJuYWwgUHJvcGVydGllcyBhbmQgTWV0aG9kcyAyNiA4LjcgVGhlIFJlZmVyZW5jZSBUeXBlIDI5IDguNy4xIEdldFZhbHVlIChWKSAyOSA4LjcuMiBQdXRWYWx1ZSAoViwgVykgMjkgOC44IFRoZSBMaXN0IFR5cGUgMzAgOC45IFRoZSBDb21wbGV0aW9uIFR5cGUgMzAgOSBUeXBlIENvbnZlcnNpb24gMzAgOS4xIFRvUHJpbWl0aXZlIDMwIDkuMiBUb0Jvb2xlYW4gMzAgOS4zIFRvTnVtYmVyIDMxIDkuMy4xIFRvTnVtYmVyIEFwJyl7CiAgJEVSUk9SKCcjMTogTGFyZ2Ugc3RyaW5nIDQwOTYgYnl0ZXMnKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"Large string 4096 bytes","description":"Assign variable by large string","path":"TestCases/ch08/8.4/S8.4_A6.1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBMYXJnZSBzdHJpbmcgODE5MiBieXRlcwogKgogKiBAcGF0aCBjaDA4LzguNC9TOC40X0E2LjIuanMKICogQGRlc2NyaXB0aW9uIEFzc2lnbiB2YXJpYWJsZSBieSBsYXJnZSBzdHJpbmcKICovCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vIENoZWNrIzIKdmFyIGxhcmdlU3RyPSdTdGFuZGFyZCBFQ01BLTI2MjNyIGQgRWRpdGlvbiAtIERlY2VtYmVyIDE5OTlTIHQgYSBuIGQgYSByIGQgaSB6IGkgbiBnIEluZm9ybWF0IGkgbyBuIGFuZCBDb21tdSBuIGkgYyBhIHQgaSBvIG4gU3lzdGVtc1Bob25lOiArNDEgMjIgODQ5LjYwLjAwIC0gRmF4OiArNDEgMjIgODQ5LjYwLjAxIC0gVVJMOiBodCB0cDogLyAvd3d3LmVjbWEuY2ggLSBJbnRlcm5ldDogaGVscGRlc2tAZWNtYS5jaEVDTUFTY3JpcHQgTGFuZ3VhZ2VTcGVjaWZpY2F0aW9uU3RhbmRhcmQgRUNNQS0yNjIzciBkIEVkaXRpb24gLSBEZWNlbWJlciAxOTk5UyB0IGEgbiBkIGEgciBkIGkgeiBpIG4gZyBJbmZvcm1hdCBpIG8gbiBhbmQgQ29tbXUgbiBpIGMgYSB0IGkgbyBuIFN5c3RlbXNQaG9uZTogKzQxIDIyIDg0OS42MC4wMCAtIEZheDogKzQxIDIyIDg0OS42MC4wMSAtIFVSTDogaHQgdHA6IC8gL3d3dy5lY21hLmNoIC0gSW50ZXJuZXQ6IGhlbHBkZXNrQGVjbWEuY2hNQiBFY21hLTI2Mi5kb2MgMDgtMDQtMDIgMTYsNTNFQ01BU2NyaXB0IExhbmd1YWdlU3BlY2lmaWNhdGlvbkJyaWVmIEhpc3RvcnlUaGlzIEVDTUEgU3RhbmRhcmQgaXMgYmFzZWQgb24gc2V2ZXJhbCBvcmlnaW5hdGluZyB0ZWNobm9sb2dpZXMsIHRoZSBtb3N0IHdlbGwga25vd24gYmVpbmcgSmF2YVNjcmlwdCAoTmV0c2NhcGUpYW5kIEpTY3JpcHQgKE1pY3Jvc29mdCkuIFRoZSBsYW5ndWFnZSB3YXMgaW52ZW50ZWQgYnkgQnJlbmRhbiBFaWNoIGF0IE5ldHNjYXBlIGFuZCBmaXJzdCBhcHBlYXJlZCBpbiB0aGF0Y29tcGFucyBOYXZpZ2F0b3IgMi4wIGJyb3dzZXIuIEl0IGhhcyBhcHBlYXJlZCBpbiBhbGwgc3Vic2VxdWVudCBicm93c2VycyBmcm9tIE5ldHNjYXBlIGFuZCBpbiBhbGwgYnJvd3NlcnMgZnJvbU1pY3Jvc29mdCBzdGFydGluZyB3aXRoIEludGVybmV0IEV4cGxvcmVyIDMuMC5UaGUgZGV2ZWxvcG1lbnQgb2YgdGhpcyBTdGFuZGFyZCBzdGFydGVkIGluIE5vdmVtYmVyIDE5OTYuIFRoZSBmaXJzdCBlZGl0aW9uIG9mIHRoaXMgRUNNQSBTdGFuZGFyZCB3YXMgYWRvcHRlZCBieXRoZSBFQ01BIEdlbmVyYWwgQXNzZW1ibHkgb2YgSnVuZSAxOTk3LlRoYXQgRUNNQSBTdGFuZGFyZCB3YXMgc3VibWl0dGVkIHRvIElTTy9JRUMgSlRDIDEgZm9yIGFkb3B0aW9uIHVuZGVyIHRoZSBmYXN0LXRyYWNrIHByb2NlZHVyZSwgYW5kIGFwcHJvdmVkIGFzaW50ZXJuYXRpb25hbCBzdGFuZGFyZCBJU08vSUVDIDE2MjYyLCBpbiBBcHJpbCAxOTk4LiBUaGUgRUNNQSBHZW5lcmFsIEFzc2VtYmx5IG9mIEp1bmUgMTk5OCBhcHByb3ZlZCB0aGVzZWNvbmQgZWRpdGlvbiBvZiBFQ01BLTI2MiB0byBrZWVwIGl0IGZ1bGx5IGFsaWduZWQgd2l0aCBJU08vSUVDIDE2MjYyLiBDaGFuZ2VzIGJldHdlZW4gdGhlIGZpcnN0IGFuZCB0aGUgc2Vjb25kZWRpdGlvbiBhcmUgZWRpdG9yaWFsIGluIG5hdHVyZS5UaGUgY3VycmVudCBkb2N1bWVudCBkZWZpbmVzIHRoZSB0aGlyZCBlZGl0aW9uIG9mIHRoZSBTdGFuZGFyZCBhbmQgaW5jbHVkZXMgcG93ZXJmdWwgcmVndWxhciBleHByZXNzaW9ucywgYmV0dGVyc3RyaW5nIGhhbmRsaW5nLCBuZXcgY29udHJvbCBzdGF0ZW1lbnRzLCB0cnkvY2F0Y2ggZXhjZXB0aW9uIGhhbmRsaW5nLCB0aWdodGVyIGRlZmluaXRpb24gb2YgZXJyb3JzLCBmb3JtYXR0aW5nIGZvcm51bWVyaWMgb3V0cHV0IGFuZCBtaW5vciBjaGFuZ2VzIGluIGFudGljaXBhdGlvbiBvZiBmb3J0aGNvbWluZyBpbnRlcm5hdGlvbmFsaXNhdGlvbiBmYWNpbGl0aWVzIGFuZCBmdXR1cmUgbGFuZ3VhZ2Vncm93dGguV29yayBvbiB0aGUgbGFuZ3VhZ2UgaXMgbm90IGNvbXBsZXRlLiBUaGUgdGVjaG5pY2FsIGNvbW1pdHRlZSBpcyB3b3JraW5nIG9uIHNpZ25pZmljYW50IGVuaGFuY2VtZW50cywgaW5jbHVkaW5nbWVjaGFuaXNtcyBmb3Igc2NyaXB0cyB0byBiZSBjcmVhdGVkIGFuZCB1c2VkIGFjcm9zcyB0aGUgSW50ZXJuZXQsIGFuZCB0aWdodGVyIGNvb3JkaW5hdGlvbiB3aXRoIG90aGVyIHN0YW5kYXJkcyBib2RpZXNzdWNoIGFzIGdyb3VwcyB3aXRoaW4gdGhlIFdvcmxkIFdpZGUgV2ViIENvbnNvcnRpdW0gYW5kIHRoZSBXaXJlbGVzcyBBcHBsaWNhdGlvbiBQcm90b2NvbCBGb3J1bS5UaGlzIFN0YW5kYXJkIGhhcyBiZWVuIGFkb3B0ZWQgYXMgM3JkIEVkaXRpb24gb2YgRUNNQS0yNjIgYnkgdGhlIEVDTUEgR2VuZXJhbCBBc3NlbWJseSBpbiBEZWNlbWJlciwgMTk5OS4tIGkgLVRhYmxlIG9mIGNvbnRlbnRzMSBTY29wZSAxMiBDb25mb3JtYW5jZSAxMyBSZWZlcmVuY2VzIDE0IE92ZXJ2aWV3IDEgNC4xIFdlYiBTY3JpcHRpbmcgMiA0LjIgTGFuZ3VhZ2UgT3ZlcnZpZXcgMiA0LjIuMSBPYmplY3RzIDMgNC4zIERlZmluaXRpb25zIDQgNC4zLjEgVHlwZSA0IDQuMy4yIFByaW1pdGl2ZSBWYWx1ZSA0IDQuMy4zIE9iamVjdCA0IDQuMy40IENvbnN0cnVjdG9yIDQgNC4zLjUgUHJvdG90eXBlIDQgNC4zLjYgTmF0aXZlIE9iamVjdCA0IDQuMy43IEJ1aWx0LWluIE9iamVjdCA0IDQuMy44IEhvc3QgT2JqZWN0IDQgNC4zLjkgVW5kZWZpbmVkIFZhbHVlIDQgNC4zLjEwIFVuZGVmaW5lZCBUeXBlIDQgNC4zLjExIE51bGwgVmFsdWUgNCA0LjMuMTIgTnVsbCBUeXBlIDQgNC4zLjEzIEJvb2xlYW4gVmFsdWUgNCA0LjMuMTQgQm9vbGVhbiBUeXBlIDQgNC4zLjE1IEJvb2xlYW4gT2JqZWN0IDUgNC4zLjE2IFN0cmluZyBWYWx1ZSA1IDQuMy4xNyBTdHJpbmcgVHlwZSA1IDQuMy4xOCBTdHJpbmcgT2JqZWN0IDUgNC4zLjE5IE51bWJlciBWYWx1ZSA1IDQuMy4yMCBOdW1iZXIgVHlwZSA1IDQuMy4yMSBOdW1iZXIgT2JqZWN0IDUgNC4zLjIyIEluZmluaXR5IDUgNC4zLjIzIE5hTiA1IDUgTm90YXRpb25hbCBDb252ZW50aW9ucyA2IDUuMSBTeW50YWN0aWMgYW5kIExleGljYWwgR3JhbW1hcnMgNiA1LjEuMSBDb250ZXh0LUZyZWUgR3JhbW1hcnMgNiA1LjEuMiBUaGUgTGV4aWNhbCBhbmQgUmVnRXhwIEdyYW1tYXJzIDYgNS4xLjMgVGhlIE51bWVyaWMgU3RyaW5nIEdyYW1tYXIgNiA1LjEuNCBUaGUgU3ludGFjdGljIEdyYW1tYXIgNiA1LjEuNSBHcmFtbWFyIE5vdGF0aW9uIDcgNS4yIEFsZ29yaXRobSBDb252ZW50aW9ucyA5IDYuIFNvdXJjZSBUZXh0IDEwIDcgTGV4aWNhbCBDb252ZW50aW9ucyAxMSA3LjEgVW5pY29kZSBGb3JtYXQtQ29udHJvbCBDaGFyYWN0ZXJzIDExIDcuMiBXaGl0ZSBTcGFjZSAxMSA3LjMgTGluZSBUZXJtaW5hdG9ycyAxMiA3LjQgQ29tbWVudHMgMTIgLSBpaSAtIDcuNSBUb2tlbnMgMTMgNy41LjEgUmVzZXJ2ZWQgV29yZHMgMTMgNy41LjIgS2V5d29yZHMgMTMgNy41LjMgRnV0dXJlIFJlc2VydmVkIFdvcmRzIDE0IDcuNiBJZGVudGlmaWVycyAxNCA3LjcgUHVuY3R1YXRvcnMgMTUgNy44IExpdGVyYWxzIDE2IDcuOC4xIE51bGwgTGl0ZXJhbHMgMTYgNy44LjIgQm9vbGVhbiBMaXRlcmFscyAxNiA3LjguMyBOdW1lcmljIExpdGVyYWxzIDE2IDcuOC40IFN0cmluZyBMaXRlcmFscyAxOCA3LjguNSBSZWd1bGFyIEV4cHJlc3Npb24gTGl0ZXJhbHMgMjAgNy45IEF1dG9tYXRpYyBTZW1pY29sb24gSW5zZXJ0aW9uIDIxIDcuOS4xIFJ1bGVzIG9mIEF1dG9tYXRpYyBTZW1pY29sb24gSW5zZXJ0aW9uIDIxIDcuOS4yIEV4YW1wbGVzIG9mIEF1dG9tYXRpYyBTZW1pY29sb24gSW5zZXJ0aW9uIDIyIDggVHlwZXMgMjQgOC4xIFRoZSBVbmRlZmluZWQgVHlwZSAyNCA4LjIgVGhlIE51bGwgVHlwZSAyNCA4LjMgVGhlIEJvb2xlYW4gVHlwZSAyNCA4LjQgVGhlIFN0cmluZyBUeXBlIDI0IDguNSBUaGUgTnVtYmVyIFR5cGUgMjQgOC42IFRoZSBPYmplY3QgVHlwZSAyNSA4LjYuMSBQcm9wZXJ0eSBBdHRyaWJ1dGVzIDI1IDguNi4yIEludGVybmFsIFByb3BlcnRpZXMgYW5kIE1ldGhvZHMgMjYgOC43IFRoZSBSZWZlcmVuY2UgVHlwZSAyOSA4LjcuMSBHZXRWYWx1ZSAoVikgMjkgOC43LjIgUHV0VmFsdWUgKFYsIFcpIDI5IDguOCBUaGUgTGlzdCBUeXBlIDMwIDguOSBUaGUgQ29tcGxldGlvbiBUeXBlIDMwIDkgVHlwZSBDb252ZXJzaW9uIDMwIDkuMSBUb1ByaW1pdGl2ZSAzMCA5LjIgVG9Cb29sZWFuIDMwIDkuMyBUb051bWJlciAzMSA5LjMuMSBUb051bWJlciBBcHBsaWVkIHRvIHRoZSBTdHJpbmcgVHlwZSAzMSA5LjQgVG9JbnRlZ2VyIDM0IDkuNSBUb0ludDMyOiAoU2lnbmVkIDMyIEJpdCBJbnRlZ2VyKSAzNCA5LjYgVG9VaW50MzI6IChVbnNpZ25lZCAzMiBCaXQgSW50ZWdlcikgMzQgOS43IFRvVWludDE2OiAoVW5zaWduZWQgMTYgQml0IEludGVnZXIpIDM1IDkuOCBUb1N0cmluZyAzNSA5LjguMSBUb1N0cmluZyBBcHBsaWVkIHRvIHRoZSBOdW1iZXIgVHlwZSAzNSA5LjkgVG9PYmplY3QgMzYgMTAgRXhlY3V0aW9uIENvbnRleHRzIDM3IDEwLjEgRGVmaW5pdGlvbnMgMzcgMTAuMS4xIEZ1bmN0aW9uIE9iamVjdHMgMzcgMTAuMS4yIFR5cGVzIG9mIEV4ZWN1dGFibGUgQ29kZSAzNyAxMC4xLjMgVmFyaWFibGUgSW5zdGFudGlhdGlvbiAzNyAxMC4xLjQgU2NvcGUgQ2hhaW4gYW5kIElkZW50aWZpZXIgUmVzb2x1dGlvbiAzOCAxMC4xLjUgR2xvYmFsIE9iamVjdCAzOCAxMC4xLjYgQWN0aXZhdGlvbiBPYmplY3QgMzggLSBpIGkgaSAtIDEwLjEuNyBUaGlzIDM5IDEwLjEuOCBBcmd1bWVudHMgT2JqZWN0IDM5IDEwLjIgRW50ZXJpbmcgQW4gRXhlY3V0aW9uIENvbnRleHQgMzkgMTAuMi4xIEdsb2JhbCBDb2RlIDM5IDEwLjIuMiBFdmFsIENvZGUgMzkgMTAuMi4zIEZ1bmN0aW9uIENvZGUgMzkgMTEgRXhwcmVzc2lvbnMgNDAgMTEuMSBQcmltYXJ5IEV4cHJlc3Npb25zIDQwIDExLjEuMSBUaGUgdGhpcyBLZXl3b3JkIDQwIDExLjEuMiBJZGVudGlmaWVyIFJlZmVyZW5jZSA0MCAxMS4xLjMgTGl0ZXJhbCBSZWZlcmVuY2UgNDAgMTEuMS40IEFycmF5IEluaXRpYWxpc2VyIDQwIDExLjEuNSBPYmplY3QgSW5pdGlhbGlzZXIgNDEgMTEuMS42IFRoZSBHcm91cGluZyBPcGVyYXRvciA0MiAxMS4yIExlZnQtSGFuZC1TaWRlIEV4cHJlc3Npb25zIDQzIDExLjIuMSBQcm9wZXJ0eSBBY2Nlc3NvcnMgNDMgMTEuMi4yIFRoZSBuZXcgT3BlcmF0b3IgNDQgMTEuMi4zIEZ1bmN0aW9uIENhbGxzIDQ0IDExLjIuNCBBcmd1bWVudCBMaXN0cyA0NSAxMS4yLjUgRnVuY3Rpb24gRXhwcmVzc2lvbnMgNDUgMTEuMyBQb3N0Zml4IEV4cHJlc3Npb25zIDQ1IDExLjMuMSBQb3N0Zml4IEluY3JlbWVudCBPcGVyYXRvciA0NSAxMS4zLjIgUG9zdGZpeCBEZWNyZW1lbnQgT3BlcmF0b3IgNDUgMTEuNCBVbmFyeSBPcGVyYXRvcnMgNDYgMTEuNC4xIFRoZSBkZWxldGUgT3BlcmF0b3IgNDYgMTEuNC4yIFRoZSB2b2lkIE9wZXJhdG9yIDQ2IDExLjQuMyBUaGUgdHlwZW9mIE9wZXJhdG9yIDQ2IDExLjQuNCBQcmVmaXggSW5jcmVtZW50IE9wZXJhdG9yIDQ3IDExLjQuNSBQcmVmaXggRGVjcmVtZW50IE9wZXJhdG9yIDQ3IDExLjQuNiBVbmFyeSArIE9wZXJhdG9yIDQ3IDExLjQuNyBVbmFyeSAtIE9wZXJhdG9yIDQ3IDExLjQuOCBCaXR3aXNlIE5PVCBPcGVyYXRvciAoIH4pIDQ4IDExLjQuOSBMb2dpY2FsIE5PVCBPcGVyYXRvciAoICEpIDQ4IDExLjUgTXVsdGlwbGljYXRpdmUgT3BlcmF0b3JzIDQ4IDExLjUuMSBBcHBseWluZyB0aGUgKiBPcGVyYXRvciA0OCAxMS41LjIgQXBwbHlpbmcgdGhlIC8gT3BlcmF0b3IgNDkgMTEuNS4zIEFwcGx5aW5nIHRoZSAlIE9wZXJhdG9yIDQ5IDExLjYgQWRkaXRpdmUgT3BlcmF0b3JzIDUwIDExLjYuMSBUaGUgQWRkaXRpb24gb3BlcmF0b3IgKCArKSA1MCAxMS42LjIgVGhlIFN1YnRyYWN0aW9uIE9wZXJhdG9yICggLSkgNTAgMTEuNi4zIEFwcGx5aW5nIHRoZSBBZGRpdGl2ZSBPcGVyYXRvcnMgKCArLC0gKSB0byBOdW1iZXJzIDUxIDExLjcgQml0d2lzZSBTaGlmdCBPcGVyYXRvcnMgNTEgMTEuNy4xIFRoZSBMZWZ0IFNoaWZ0IE9wZXJhdG9yICggPDwpIDUxIDExLjcuMiBUaGUgU2lnbmVkIFJpZ2h0IFNoaWZ0IE9wZXJhdG9yICggPj4pIDUxIDExLjcuMyBUaGUgVW5zaWduZWQgUmlnaHQgU2hpZnQgT3BlcmF0b3IgKCA+Pj4pIDUyIDExLjQgUmVsYXRpb25hbCBPcGVyYXRvcnMgNTIgMTEuOC4xIFRoZSBMZXNzLXRoYW4gT3BlcmF0b3IgKCA8KSA1MyAxMS44LjIgVGhlIEdyZWF0ZXItdGhhbiBPcGVyYXRvciAoID4pIDUzIDExLjguMyBUaGUgTGVzcy10aGFuLW9yLWVxdWFsIE9wZXJhdG9yICggPD0pIDUzIDExLjguNCBUaGUgR3JlYXRlci10aGFuLW9yLWVxdWFsIE9wZXJhdG9yICggPj0pIDUzIDExLjguNSBUaGUgQWJzdHJhY3QgUmVsYXRpb25hbCBDb21wYXJpc29uIEFsZ29yaXRobSA1MyAtIGl2IC0gMTEuOC42IFRoZSBpbnN0YW5jZW9mIG9wZXJhdG9yIDU0IDExLjguNyBUaGUgaW4gb3BlcmF0b3IgNTQgMTEuOSBFcXVhbGl0eSBPcGVyYXRvcnMgNTQgMTEuOS4xIFRoZSBFcXVhbHMgT3BlcmF0b3IgKCA9PSkgNTUgMTEuOS4yIFRoZSBEb2VzLW5vdC1lcXVhbHMgT3BlcmF0b3IgKCAhPSkgNTUgMTEuOS4zIFRoZSBBYnN0cmFjdCBFcXVhbGl0eSBDb21wYXJpc29uIEFsZ29yaXRobSA1NSAxMS45LjQgVGhlIFN0cmljdCBFcXVhbHMgT3BlcmF0b3IgKCA9PT0pIDU2IDExLjkuNSBUaGUgU3RyaWN0IERvZXMtbm90LWVxdWFsIE9wZXJhdG9yICggIT09KSA1NiAxMS45LjYgVGhlIFN0cmljdCBFcXVhbGl0eSBDb21wYXJpc29uIEFsZ29yaXRobSA1NiAxMS4xMCBCaW5hcnkgQml0d2lzZSBPcGVyYXRvcnMgNTcgMTEuMTEgQmluYXJ5IExvZ2ljYWwgT3BlcmF0b3JzIDU4IDExLjEyIENvbmRpdGlvbmFsIE9wZXJhdG9yICggPzogKSA1OCAxMS4xMyBBc3NpZ25tZW50IE9wZXJhdG9ycyA1OSAxMS4xMy4xIFNpbXBsZSBBc3NpZ25tZW50ICggPSkgNTkgMTEuMTMuMiBDb21wb3VuZCBBc3NpZ25tZW50ICggb3A9KSA2MCAxMS4xNCBDb21tYSBPcGVyYXRvciAoICwgKSA2MCAxMiBTdGF0ZW1lbnRzIDYxIDEyLjEgQmxvY2sgNjEgMTIuMiBWYXJpYWJsZSBzdGF0ZW1lbnQgNjIgMTIuMyBFbXB0eSBTdGF0ZW1lbnQgNjMgMTIuNCBFeHByZXNzaW9uIFN0YXRlbWVudCA2MyAxMi41IFRoZSBpZiBTdGF0ZW1lbnQgNjMgMTIuNiBJdGVyYXRpb24gU3RhdGVtZW50cyA2NCAxMi42LjEgVGhlIGRvLXdoaWxlIFN0YXRlbWVudCA2NCAxMi42LjIgVGhlIHdoaWxlIHN0YXRlbWVudCA2NCAxMi42LjMgVGhlIGZvciBTdGF0ZW1lbnQgNjUgMTIuNi40IFRoZSBmb3ItaW4gU3RhdGVtZW50IDY1IDEyLjcgVGhlIGNvbnRpbnVlIFN0YXRlbWVudCA2NiAxMi44IFRoZSBicmVhayBTdGF0ZW1lbnQgNjcgMTIuOSBUaGUgcmV0dXJuIFN0YXRlbWVudCA2NyAxMi4xMCBUaGUgd2l0aCBTdGF0ZW1lbnQgNjcgMTIuMTEgVGhlIHN3aXRjaCBTdGF0ZW1lbnQgNjggMTIuMTIgTGFiZWxsZWQgU3RhdGVtZW50cyA2OSAxMi4xMyBUaGUgdGhyb3cgc3RhdGVtZW50IDY5IDEyLjE0IFRoZSB0cnkgc3RhdGVtZW50IDcwIDEzIEZ1bmN0aW9uIERlZmluaXRpb24gNzEgMTMuMSBEZWZpbml0aW9ucyA3MiAxMy4xLjEgRXF1YXRlZCBHcmFtbWFyIFByb2R1Y3Rpb25zIDcyIDEzLjEuMiBKb2luZWQgT2JqZWN0cyA3MiAxMy4yIENyZWF0aW5nIEZ1bmN0aW9uIE9iamVjdHMgNzIgMTMuMi4xIFtbQ2FsbF1dIDczIDEzLjIuMiBbW0NvbnN0cnVjdF1dIDc0IDE0IFByb2dyYW0gNzUgMTUgTmF0aXZlIEVDTUFTY3JpcHQgT2JqZWN0cyA3NiAxNS4xIFRoZSBHbG9iYWwgT2JqZWN0IDc2IDE1LjEuMSBWYWx1ZSBQcm9wZXJ0aWVzIG9mIHRoZSBHbG9iYWwgT2JqZWN0IDc3IDE1LjEuMiBGdW5jdGlvbiBQcm9wZXJ0aWVzIG9mIHRoZSBHbG9iYWwgT2JqZWN0IDc3IDE1LjEuMyBVUkkgSGFuZGxpbmcgRnVuY3Rpb24gUHJvcGVydGllcyA3OCAtIHYgLSAxNS4xLjQgQ29uc3RydWN0b3IgUHJvcGVydGllcyBvZiB0aGUgR2xvYmFsIE9iamVjdCA4MyAxNS4xLjUgT3RoZXIgUHJvcGVydGllcyBvZiB0aGUgR2xvYmFsIE9iamVjdCA4MyAxNS4yIE9iamVjdCBPYmplY3RzIDgzIDE1LjIuMSBUaGUgT2JqZWN0IENvbnN0cnVjdG9yIENhbGxlZCBhcyBhIEZ1bmN0aW9uIDgzIDE1LjIuMiBUaGUgT2JqZWN0IENvbnN0cnVjdG9yIDg0IDE1LjIuMyBQcm9wZXJ0aWVzIG9mIHRoZSBPYmplY3QgQ29uc3RydWN0b3IgODQgMTUuMi40IFByb3BlcnRpZXMgb2YgdGhlIE9iamVjdCBQcm90b3R5cGUgT2JqZWN0IDg0IDE1LjIuNSBQcm9wZXJ0aWVzIG9mIE9iamVjdCBJbnN0YW5jZXMgODUgMTUuMyBGdW5jdGlvbiBPYmplY3RzIDg1ICc7CmlmKGxhcmdlU3RyICE9PSAnU3RhbmRhcmQgRUNNQS0yNjIzciBkIEVkaXRpb24gLSBEZWNlbWJlciAxOTk5UyB0IGEgbiBkIGEgciBkIGkgeiBpIG4gZyBJbmZvcm1hdCBpIG8gbiBhbmQgQ29tbXUgbiBpIGMgYSB0IGkgbyBuIFN5c3RlbXNQaG9uZTogKzQxIDIyIDg0OS42MC4wMCAtIEZheDogKzQxIDIyIDg0OS42MC4wMSAtIFVSTDogaHQgdHA6IC8gL3d3dy5lY21hLmNoIC0gSW50ZXJuZXQ6IGhlbHBkZXNrQGVjbWEuY2hFQ01BU2NyaXB0IExhbmd1YWdlU3BlY2lmaWNhdGlvblN0YW5kYXJkIEVDTUEtMjYyM3IgZCBFZGl0aW9uIC0gRGVjZW1iZXIgMTk5OVMgdCBhIG4gZCBhIHIgZCBpIHogaSBuIGcgSW5mb3JtYXQgaSBvIG4gYW5kIENvbW11IG4gaSBjIGEgdCBpIG8gbiBTeXN0ZW1zUGhvbmU6ICs0MSAyMiA4NDkuNjAuMDAgLSBGYXg6ICs0MSAyMiA4NDkuNjAuMDEgLSBVUkw6IGh0IHRwOiAvIC93d3cuZWNtYS5jaCAtIEludGVybmV0OiBoZWxwZGVza0BlY21hLmNoTUIgRWNtYS0yNjIuZG9jIDA4LTA0LTAyIDE2LDUzRUNNQVNjcmlwdCBMYW5ndWFnZVNwZWNpZmljYXRpb25CcmllZiBIaXN0b3J5VGhpcyBFQ01BIFN0YW5kYXJkIGlzIGJhc2VkIG9uIHNldmVyYWwgb3JpZ2luYXRpbmcgdGVjaG5vbG9naWVzLCB0aGUgbW9zdCB3ZWxsIGtub3duIGJlaW5nIEphdmFTY3JpcHQgKE5ldHNjYXBlKWFuZCBKU2NyaXB0IChNaWNyb3NvZnQpLiBUaGUgbGFuZ3VhZ2Ugd2FzIGludmVudGVkIGJ5IEJyZW5kYW4gRWljaCBhdCBOZXRzY2FwZSBhbmQgZmlyc3QgYXBwZWFyZWQgaW4gdGhhdGNvbXBhbnMgTmF2aWdhdG9yIDIuMCBicm93c2VyLiBJdCBoYXMgYXBwZWFyZWQgaW4gYWxsIHN1YnNlcXVlbnQgYnJvd3NlcnMgZnJvbSBOZXRzY2FwZSBhbmQgaW4gYWxsIGJyb3dzZXJzIGZyb21NaWNyb3NvZnQgc3RhcnRpbmcgd2l0aCBJbnRlcm5ldCBFeHBsb3JlciAzLjAuVGhlIGRldmVsb3BtZW50IG9mIHRoaXMgU3RhbmRhcmQgc3RhcnRlZCBpbiBOb3ZlbWJlciAxOTk2LiBUaGUgZmlyc3QgZWRpdGlvbiBvZiB0aGlzIEVDTUEgU3RhbmRhcmQgd2FzIGFkb3B0ZWQgYnl0aGUgRUNNQSBHZW5lcmFsIEFzc2VtYmx5IG9mIEp1bmUgMTk5Ny5UaGF0IEVDTUEgU3RhbmRhcmQgd2FzIHN1Ym1pdHRlZCB0byBJU08vSUVDIEpUQyAxIGZvciBhZG9wdGlvbiB1bmRlciB0aGUgZmFzdC10cmFjayBwcm9jZWR1cmUsIGFuZCBhcHByb3ZlZCBhc2ludGVybmF0aW9uYWwgc3RhbmRhcmQgSVNPL0lFQyAxNjI2MiwgaW4gQXByaWwgMTk5OC4gVGhlIEVDTUEgR2VuZXJhbCBBc3NlbWJseSBvZiBKdW5lIDE5OTggYXBwcm92ZWQgdGhlc2Vjb25kIGVkaXRpb24gb2YgRUNNQS0yNjIgdG8ga2VlcCBpdCBmdWxseSBhbGlnbmVkIHdpdGggSVNPL0lFQyAxNjI2Mi4gQ2hhbmdlcyBiZXR3ZWVuIHRoZSBmaXJzdCBhbmQgdGhlIHNlY29uZGVkaXRpb24gYXJlIGVkaXRvcmlhbCBpbiBuYXR1cmUuVGhlIGN1cnJlbnQgZG9jdW1lbnQgZGVmaW5lcyB0aGUgdGhpcmQgZWRpdGlvbiBvZiB0aGUgU3RhbmRhcmQgYW5kIGluY2x1ZGVzIHBvd2VyZnVsIHJlZ3VsYXIgZXhwcmVzc2lvbnMsIGJldHRlcnN0cmluZyBoYW5kbGluZywgbmV3IGNvbnRyb2wgc3RhdGVtZW50cywgdHJ5L2NhdGNoIGV4Y2VwdGlvbiBoYW5kbGluZywgdGlnaHRlciBkZWZpbml0aW9uIG9mIGVycm9ycywgZm9ybWF0dGluZyBmb3JudW1lcmljIG91dHB1dCBhbmQgbWlub3IgY2hhbmdlcyBpbiBhbnRpY2lwYXRpb24gb2YgZm9ydGhjb21pbmcgaW50ZXJuYXRpb25hbGlzYXRpb24gZmFjaWxpdGllcyBhbmQgZnV0dXJlIGxhbmd1YWdlZ3Jvd3RoLldvcmsgb24gdGhlIGxhbmd1YWdlIGlzIG5vdCBjb21wbGV0ZS4gVGhlIHRlY2huaWNhbCBjb21taXR0ZWUgaXMgd29ya2luZyBvbiBzaWduaWZpY2FudCBlbmhhbmNlbWVudHMsIGluY2x1ZGluZ21lY2hhbmlzbXMgZm9yIHNjcmlwdHMgdG8gYmUgY3JlYXRlZCBhbmQgdXNlZCBhY3Jvc3MgdGhlIEludGVybmV0LCBhbmQgdGlnaHRlciBjb29yZGluYXRpb24gd2l0aCBvdGhlciBzdGFuZGFyZHMgYm9kaWVzc3VjaCBhcyBncm91cHMgd2l0aGluIHRoZSBXb3JsZCBXaWRlIFdlYiBDb25zb3J0aXVtIGFuZCB0aGUgV2lyZWxlc3MgQXBwbGljYXRpb24gUHJvdG9jb2wgRm9ydW0uVGhpcyBTdGFuZGFyZCBoYXMgYmVlbiBhZG9wdGVkIGFzIDNyZCBFZGl0aW9uIG9mIEVDTUEtMjYyIGJ5IHRoZSBFQ01BIEdlbmVyYWwgQXNzZW1ibHkgaW4gRGVjZW1iZXIsIDE5OTkuLSBpIC1UYWJsZSBvZiBjb250ZW50czEgU2NvcGUgMTIgQ29uZm9ybWFuY2UgMTMgUmVmZXJlbmNlcyAxNCBPdmVydmlldyAxIDQuMSBXZWIgU2NyaXB0aW5nIDIgNC4yIExhbmd1YWdlIE92ZXJ2aWV3IDIgNC4yLjEgT2JqZWN0cyAzIDQuMyBEZWZpbml0aW9ucyA0IDQuMy4xIFR5cGUgNCA0LjMuMiBQcmltaXRpdmUgVmFsdWUgNCA0LjMuMyBPYmplY3QgNCA0LjMuNCBDb25zdHJ1Y3RvciA0IDQuMy41IFByb3RvdHlwZSA0IDQuMy42IE5hdGl2ZSBPYmplY3QgNCA0LjMuNyBCdWlsdC1pbiBPYmplY3QgNCA0LjMuOCBIb3N0IE9iamVjdCA0IDQuMy45IFVuZGVmaW5lZCBWYWx1ZSA0IDQuMy4xMCBVbmRlZmluZWQgVHlwZSA0IDQuMy4xMSBOdWxsIFZhbHVlIDQgNC4zLjEyIE51bGwgVHlwZSA0IDQuMy4xMyBCb29sZWFuIFZhbHVlIDQgNC4zLjE0IEJvb2xlYW4gVHlwZSA0IDQuMy4xNSBCb29sZWFuIE9iamVjdCA1IDQuMy4xNiBTdHJpbmcgVmFsdWUgNSA0LjMuMTcgU3RyaW5nIFR5cGUgNSA0LjMuMTggU3RyaW5nIE9iamVjdCA1IDQuMy4xOSBOdW1iZXIgVmFsdWUgNSA0LjMuMjAgTnVtYmVyIFR5cGUgNSA0LjMuMjEgTnVtYmVyIE9iamVjdCA1IDQuMy4yMiBJbmZpbml0eSA1IDQuMy4yMyBOYU4gNSA1IE5vdGF0aW9uYWwgQ29udmVudGlvbnMgNiA1LjEgU3ludGFjdGljIGFuZCBMZXhpY2FsIEdyYW1tYXJzIDYgNS4xLjEgQ29udGV4dC1GcmVlIEdyYW1tYXJzIDYgNS4xLjIgVGhlIExleGljYWwgYW5kIFJlZ0V4cCBHcmFtbWFycyA2IDUuMS4zIFRoZSBOdW1lcmljIFN0cmluZyBHcmFtbWFyIDYgNS4xLjQgVGhlIFN5bnRhY3RpYyBHcmFtbWFyIDYgNS4xLjUgR3JhbW1hciBOb3RhdGlvbiA3IDUuMiBBbGdvcml0aG0gQ29udmVudGlvbnMgOSA2LiBTb3VyY2UgVGV4dCAxMCA3IExleGljYWwgQ29udmVudGlvbnMgMTEgNy4xIFVuaWNvZGUgRm9ybWF0LUNvbnRyb2wgQ2hhcmFjdGVycyAxMSA3LjIgV2hpdGUgU3BhY2UgMTEgNy4zIExpbmUgVGVybWluYXRvcnMgMTIgNy40IENvbW1lbnRzIDEyIC0gaWkgLSA3LjUgVG9rZW5zIDEzIDcuNS4xIFJlc2VydmVkIFdvcmRzIDEzIDcuNS4yIEtleXdvcmRzIDEzIDcuNS4zIEZ1dHVyZSBSZXNlcnZlZCBXb3JkcyAxNCA3LjYgSWRlbnRpZmllcnMgMTQgNy43IFB1bmN0dWF0b3JzIDE1IDcuOCBMaXRlcmFscyAxNiA3LjguMSBOdWxsIExpdGVyYWxzIDE2IDcuOC4yIEJvb2xlYW4gTGl0ZXJhbHMgMTYgNy44LjMgTnVtZXJpYyBMaXRlcmFscyAxNiA3LjguNCBTdHJpbmcgTGl0ZXJhbHMgMTggNy44LjUgUmVndWxhciBFeHByZXNzaW9uIExpdGVyYWxzIDIwIDcuOSBBdXRvbWF0aWMgU2VtaWNvbG9uIEluc2VydGlvbiAyMSA3LjkuMSBSdWxlcyBvZiBBdXRvbWF0aWMgU2VtaWNvbG9uIEluc2VydGlvbiAyMSA3LjkuMiBFeGFtcGxlcyBvZiBBdXRvbWF0aWMgU2VtaWNvbG9uIEluc2VydGlvbiAyMiA4IFR5cGVzIDI0IDguMSBUaGUgVW5kZWZpbmVkIFR5cGUgMjQgOC4yIFRoZSBOdWxsIFR5cGUgMjQgOC4zIFRoZSBCb29sZWFuIFR5cGUgMjQgOC40IFRoZSBTdHJpbmcgVHlwZSAyNCA4LjUgVGhlIE51bWJlciBUeXBlIDI0IDguNiBUaGUgT2JqZWN0IFR5cGUgMjUgOC42LjEgUHJvcGVydHkgQXR0cmlidXRlcyAyNSA4LjYuMiBJbnRlcm5hbCBQcm9wZXJ0aWVzIGFuZCBNZXRob2RzIDI2IDguNyBUaGUgUmVmZXJlbmNlIFR5cGUgMjkgOC43LjEgR2V0VmFsdWUgKFYpIDI5IDguNy4yIFB1dFZhbHVlIChWLCBXKSAyOSA4LjggVGhlIExpc3QgVHlwZSAzMCA4LjkgVGhlIENvbXBsZXRpb24gVHlwZSAzMCA5IFR5cGUgQ29udmVyc2lvbiAzMCA5LjEgVG9QcmltaXRpdmUgMzAgOS4yIFRvQm9vbGVhbiAzMCA5LjMgVG9OdW1iZXIgMzEgOS4zLjEgVG9OdW1iZXIgQXBwbGllZCB0byB0aGUgU3RyaW5nIFR5cGUgMzEgOS40IFRvSW50ZWdlciAzNCA5LjUgVG9JbnQzMjogKFNpZ25lZCAzMiBCaXQgSW50ZWdlcikgMzQgOS42IFRvVWludDMyOiAoVW5zaWduZWQgMzIgQml0IEludGVnZXIpIDM0IDkuNyBUb1VpbnQxNjogKFVuc2lnbmVkIDE2IEJpdCBJbnRlZ2VyKSAzNSA5LjggVG9TdHJpbmcgMzUgOS44LjEgVG9TdHJpbmcgQXBwbGllZCB0byB0aGUgTnVtYmVyIFR5cGUgMzUgOS45IFRvT2JqZWN0IDM2IDEwIEV4ZWN1dGlvbiBDb250ZXh0cyAzNyAxMC4xIERlZmluaXRpb25zIDM3IDEwLjEuMSBGdW5jdGlvbiBPYmplY3RzIDM3IDEwLjEuMiBUeXBlcyBvZiBFeGVjdXRhYmxlIENvZGUgMzcgMTAuMS4zIFZhcmlhYmxlIEluc3RhbnRpYXRpb24gMzcgMTAuMS40IFNjb3BlIENoYWluIGFuZCBJZGVudGlmaWVyIFJlc29sdXRpb24gMzggMTAuMS41IEdsb2JhbCBPYmplY3QgMzggMTAuMS42IEFjdGl2YXRpb24gT2JqZWN0IDM4IC0gaSBpIGkgLSAxMC4xLjcgVGhpcyAzOSAxMC4xLjggQXJndW1lbnRzIE9iamVjdCAzOSAxMC4yIEVudGVyaW5nIEFuIEV4ZWN1dGlvbiBDb250ZXh0IDM5IDEwLjIuMSBHbG9iYWwgQ29kZSAzOSAxMC4yLjIgRXZhbCBDb2RlIDM5IDEwLjIuMyBGdW5jdGlvbiBDb2RlIDM5IDExIEV4cHJlc3Npb25zIDQwIDExLjEgUHJpbWFyeSBFeHByZXNzaW9ucyA0MCAxMS4xLjEgVGhlIHRoaXMgS2V5d29yZCA0MCAxMS4xLjIgSWRlbnRpZmllciBSZWZlcmVuY2UgNDAgMTEuMS4zIExpdGVyYWwgUmVmZXJlbmNlIDQwIDExLjEuNCBBcnJheSBJbml0aWFsaXNlciA0MCAxMS4xLjUgT2JqZWN0IEluaXRpYWxpc2VyIDQxIDExLjEuNiBUaGUgR3JvdXBpbmcgT3BlcmF0b3IgNDIgMTEuMiBMZWZ0LUhhbmQtU2lkZSBFeHByZXNzaW9ucyA0MyAxMS4yLjEgUHJvcGVydHkgQWNjZXNzb3JzIDQzIDExLjIuMiBUaGUgbmV3IE9wZXJhdG9yIDQ0IDExLjIuMyBGdW5jdGlvbiBDYWxscyA0NCAxMS4yLjQgQXJndW1lbnQgTGlzdHMgNDUgMTEuMi41IEZ1bmN0aW9uIEV4cHJlc3Npb25zIDQ1IDExLjMgUG9zdGZpeCBFeHByZXNzaW9ucyA0NSAxMS4zLjEgUG9zdGZpeCBJbmNyZW1lbnQgT3BlcmF0b3IgNDUgMTEuMy4yIFBvc3RmaXggRGVjcmVtZW50IE9wZXJhdG9yIDQ1IDExLjQgVW5hcnkgT3BlcmF0b3JzIDQ2IDExLjQuMSBUaGUgZGVsZXRlIE9wZXJhdG9yIDQ2IDExLjQuMiBUaGUgdm9pZCBPcGVyYXRvciA0NiAxMS40LjMgVGhlIHR5cGVvZiBPcGVyYXRvciA0NiAxMS40LjQgUHJlZml4IEluY3JlbWVudCBPcGVyYXRvciA0NyAxMS40LjUgUHJlZml4IERlY3JlbWVudCBPcGVyYXRvciA0NyAxMS40LjYgVW5hcnkgKyBPcGVyYXRvciA0NyAxMS40LjcgVW5hcnkgLSBPcGVyYXRvciA0NyAxMS40LjggQml0d2lzZSBOT1QgT3BlcmF0b3IgKCB+KSA0OCAxMS40LjkgTG9naWNhbCBOT1QgT3BlcmF0b3IgKCAhKSA0OCAxMS41IE11bHRpcGxpY2F0aXZlIE9wZXJhdG9ycyA0OCAxMS41LjEgQXBwbHlpbmcgdGhlICogT3BlcmF0b3IgNDggMTEuNS4yIEFwcGx5aW5nIHRoZSAvIE9wZXJhdG9yIDQ5IDExLjUuMyBBcHBseWluZyB0aGUgJSBPcGVyYXRvciA0OSAxMS42IEFkZGl0aXZlIE9wZXJhdG9ycyA1MCAxMS42LjEgVGhlIEFkZGl0aW9uIG9wZXJhdG9yICggKykgNTAgMTEuNi4yIFRoZSBTdWJ0cmFjdGlvbiBPcGVyYXRvciAoIC0pIDUwIDExLjYuMyBBcHBseWluZyB0aGUgQWRkaXRpdmUgT3BlcmF0b3JzICggKywtICkgdG8gTnVtYmVycyA1MSAxMS43IEJpdHdpc2UgU2hpZnQgT3BlcmF0b3JzIDUxIDExLjcuMSBUaGUgTGVmdCBTaGlmdCBPcGVyYXRvciAoIDw8KSA1MSAxMS43LjIgVGhlIFNpZ25lZCBSaWdodCBTaGlmdCBPcGVyYXRvciAoID4+KSA1MSAxMS43LjMgVGhlIFVuc2lnbmVkIFJpZ2h0IFNoaWZ0IE9wZXJhdG9yICggPj4+KSA1MiAxMS40IFJlbGF0aW9uYWwgT3BlcmF0b3JzIDUyIDExLjguMSBUaGUgTGVzcy10aGFuIE9wZXJhdG9yICggPCkgNTMgMTEuOC4yIFRoZSBHcmVhdGVyLXRoYW4gT3BlcmF0b3IgKCA+KSA1MyAxMS44LjMgVGhlIExlc3MtdGhhbi1vci1lcXVhbCBPcGVyYXRvciAoIDw9KSA1MyAxMS44LjQgVGhlIEdyZWF0ZXItdGhhbi1vci1lcXVhbCBPcGVyYXRvciAoID49KSA1MyAxMS44LjUgVGhlIEFic3RyYWN0IFJlbGF0aW9uYWwgQ29tcGFyaXNvbiBBbGdvcml0aG0gNTMgLSBpdiAtIDExLjguNiBUaGUgaW5zdGFuY2VvZiBvcGVyYXRvciA1NCAxMS44LjcgVGhlIGluIG9wZXJhdG9yIDU0IDExLjkgRXF1YWxpdHkgT3BlcmF0b3JzIDU0IDExLjkuMSBUaGUgRXF1YWxzIE9wZXJhdG9yICggPT0pIDU1IDExLjkuMiBUaGUgRG9lcy1ub3QtZXF1YWxzIE9wZXJhdG9yICggIT0pIDU1IDExLjkuMyBUaGUgQWJzdHJhY3QgRXF1YWxpdHkgQ29tcGFyaXNvbiBBbGdvcml0aG0gNTUgMTEuOS40IFRoZSBTdHJpY3QgRXF1YWxzIE9wZXJhdG9yICggPT09KSA1NiAxMS45LjUgVGhlIFN0cmljdCBEb2VzLW5vdC1lcXVhbCBPcGVyYXRvciAoICE9PSkgNTYgMTEuOS42IFRoZSBTdHJpY3QgRXF1YWxpdHkgQ29tcGFyaXNvbiBBbGdvcml0aG0gNTYgMTEuMTAgQmluYXJ5IEJpdHdpc2UgT3BlcmF0b3JzIDU3IDExLjExIEJpbmFyeSBMb2dpY2FsIE9wZXJhdG9ycyA1OCAxMS4xMiBDb25kaXRpb25hbCBPcGVyYXRvciAoID86ICkgNTggMTEuMTMgQXNzaWdubWVudCBPcGVyYXRvcnMgNTkgMTEuMTMuMSBTaW1wbGUgQXNzaWdubWVudCAoID0pIDU5IDExLjEzLjIgQ29tcG91bmQgQXNzaWdubWVudCAoIG9wPSkgNjAgMTEuMTQgQ29tbWEgT3BlcmF0b3IgKCAsICkgNjAgMTIgU3RhdGVtZW50cyA2MSAxMi4xIEJsb2NrIDYxIDEyLjIgVmFyaWFibGUgc3RhdGVtZW50IDYyIDEyLjMgRW1wdHkgU3RhdGVtZW50IDYzIDEyLjQgRXhwcmVzc2lvbiBTdGF0ZW1lbnQgNjMgMTIuNSBUaGUgaWYgU3RhdGVtZW50IDYzIDEyLjYgSXRlcmF0aW9uIFN0YXRlbWVudHMgNjQgMTIuNi4xIFRoZSBkby13aGlsZSBTdGF0ZW1lbnQgNjQgMTIuNi4yIFRoZSB3aGlsZSBzdGF0ZW1lbnQgNjQgMTIuNi4zIFRoZSBmb3IgU3RhdGVtZW50IDY1IDEyLjYuNCBUaGUgZm9yLWluIFN0YXRlbWVudCA2NSAxMi43IFRoZSBjb250aW51ZSBTdGF0ZW1lbnQgNjYgMTIuOCBUaGUgYnJlYWsgU3RhdGVtZW50IDY3IDEyLjkgVGhlIHJldHVybiBTdGF0ZW1lbnQgNjcgMTIuMTAgVGhlIHdpdGggU3RhdGVtZW50IDY3IDEyLjExIFRoZSBzd2l0Y2ggU3RhdGVtZW50IDY4IDEyLjEyIExhYmVsbGVkIFN0YXRlbWVudHMgNjkgMTIuMTMgVGhlIHRocm93IHN0YXRlbWVudCA2OSAxMi4xNCBUaGUgdHJ5IHN0YXRlbWVudCA3MCAxMyBGdW5jdGlvbiBEZWZpbml0aW9uIDcxIDEzLjEgRGVmaW5pdGlvbnMgNzIgMTMuMS4xIEVxdWF0ZWQgR3JhbW1hciBQcm9kdWN0aW9ucyA3MiAxMy4xLjIgSm9pbmVkIE9iamVjdHMgNzIgMTMuMiBDcmVhdGluZyBGdW5jdGlvbiBPYmplY3RzIDcyIDEzLjIuMSBbW0NhbGxdXSA3MyAxMy4yLjIgW1tDb25zdHJ1Y3RdXSA3NCAxNCBQcm9ncmFtIDc1IDE1IE5hdGl2ZSBFQ01BU2NyaXB0IE9iamVjdHMgNzYgMTUuMSBUaGUgR2xvYmFsIE9iamVjdCA3NiAxNS4xLjEgVmFsdWUgUHJvcGVydGllcyBvZiB0aGUgR2xvYmFsIE9iamVjdCA3NyAxNS4xLjIgRnVuY3Rpb24gUHJvcGVydGllcyBvZiB0aGUgR2xvYmFsIE9iamVjdCA3NyAxNS4xLjMgVVJJIEhhbmRsaW5nIEZ1bmN0aW9uIFByb3BlcnRpZXMgNzggLSB2IC0gMTUuMS40IENvbnN0cnVjdG9yIFByb3BlcnRpZXMgb2YgdGhlIEdsb2JhbCBPYmplY3QgODMgMTUuMS41IE90aGVyIFByb3BlcnRpZXMgb2YgdGhlIEdsb2JhbCBPYmplY3QgODMgMTUuMiBPYmplY3QgT2JqZWN0cyA4MyAxNS4yLjEgVGhlIE9iamVjdCBDb25zdHJ1Y3RvciBDYWxsZWQgYXMgYSBGdW5jdGlvbiA4MyAxNS4yLjIgVGhlIE9iamVjdCBDb25zdHJ1Y3RvciA4NCAxNS4yLjMgUHJvcGVydGllcyBvZiB0aGUgT2JqZWN0IENvbnN0cnVjdG9yIDg0IDE1LjIuNCBQcm9wZXJ0aWVzIG9mIHRoZSBPYmplY3QgUHJvdG90eXBlIE9iamVjdCA4NCAxNS4yLjUgUHJvcGVydGllcyBvZiBPYmplY3QgSW5zdGFuY2VzIDg1IDE1LjMgRnVuY3Rpb24gT2JqZWN0cyA4NSAnKXsKICAkRVJST1IoJyMyOiBMYXJnZSBzdHJpbmcgODE5MiBieXRlcycpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"Large string 8192 bytes","description":"Assign variable by large string","path":"TestCases/ch08/8.4/S8.4_A6.2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiA8TEY+IGJldHdlZW4gY2h1bmtzIG9mIG9uZSBzdHJpbmcgbm90IGFsbG93ZWQKICoKICogQHBhdGggY2gwOC84LjQvUzguNF9BNy4xLmpzCiAqIEBkZXNjcmlwdGlvbiBJbnNlcnQgPExGPiBiZXR3ZWVuIGNodW5rcyBvZiBvbmUgc3RyaW5nCiAqIEBuZWdhdGl2ZQogKi8KCmV2YWwoInZhciB4ID0gYXNkZlx1MDAwQWdoamsiKTsKCg==","commentary":"<LF> between chunks of one string not allowed","description":"Insert <LF> between chunks of one string","negative":"","path":"TestCases/ch08/8.4/S8.4_A7.1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiA8Q1I+IGJldHdlZW4gY2h1bmtzIG9mIG9uZSBzdHJpbmcgbm90IGFsbG93ZWQKICoKICogQHBhdGggY2gwOC84LjQvUzguNF9BNy4yLmpzCiAqIEBkZXNjcmlwdGlvbiBJbnNlcnQgPENSPiBiZXR3ZWVuIGNodW5rcyBvZiBvbmUgc3RyaW5nCiAqIEBuZWdhdGl2ZQogKi8KCmV2YWwoInZhciB4ID0gYXNkZlx1MDAwRGdoamsiKTsKCg==","commentary":"<CR> between chunks of one string not allowed","description":"Insert <CR> between chunks of one string","negative":"","path":"TestCases/ch08/8.4/S8.4_A7.2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiA8UFM+IGJldHdlZW4gY2h1bmtzIG9mIG9uZSBzdHJpbmcgbm90IGFsbG93ZWQKICoKICogQHBhdGggY2gwOC84LjQvUzguNF9BNy4zLmpzCiAqIEBkZXNjcmlwdGlvbiBJbnNlcnQgPFBTPiBiZXR3ZWVuIGNodW5rcyBvZiBvbmUgc3RyaW5nCiAqIEBuZWdhdGl2ZQogKi8KCmV2YWwoInZhciB4ID0gYXNkZlx1MjAyOGdoamsiKTsKCg==","commentary":"<PS> between chunks of one string not allowed","description":"Insert <PS> between chunks of one string","negative":"","path":"TestCases/ch08/8.4/S8.4_A7.3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiA8TFM+IGJldHdlZW4gY2h1bmtzIG9mIG9uZSBzdHJpbmcgbm90IGFsbG93ZWQKICoKICogQHBhdGggY2gwOC84LjQvUzguNF9BNy40LmpzCiAqIEBkZXNjcmlwdGlvbiBJbnNlcnQgPExTPiBiZXR3ZWVuIGNodW5rcyBvZiBvbmUgc3RyaW5nCiAqIEBuZWdhdGl2ZQogKi8KCmV2YWwoInZhciB4ID0gYXNkZlx1MjAyOWdoamsiKTsKCg==","commentary":"<LS> between chunks of one string not allowed","description":"Insert <LS> between chunks of one string","negative":"","path":"TestCases/ch08/8.4/S8.4_A7.4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBFbXB0eSBzdHJpbmcsIDAsIGZhbHNlIGFyZSBhbGwgZXF1YWwgKD09KSB0byBlYWNoIG90aGVyLCBzaW5jZSB0aGV5IGFsbCBldmFsdWF0ZSB0byAwCiAqCiAqIEBwYXRoIGNoMDgvOC40L1M4LjRfQTguanMKICogQGRlc2NyaXB0aW9uIENvbXBhcmUgZW1wdHkgc3RyaW5nIHdpdGggdW5kZWZpbmVkLCBudWxsLCAwIGFuZCBmYWxzZQogKi8KCnZhciBzdHI9Jyc7CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy8gQ0hFQ0sjMQppZiAoc3RyID09IHVuZGVmaW5lZCl7CiAgJEVSUk9SKCcjMTogRW1wdHkgc3RyaW5nIGFuZCB1bmRlZmluZWQgYXJlIG5vdCBlcXVhbCAoIT0pIHRvIGVhY2ggb3RoZXInKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy8gQ0hFQ0sjMgppZiAoc3RyID09IG51bGwpewogICRFUlJPUignIzE6IEVtcHR5IHN0cmluZyBhbmQgTnVsbCBhcmUgbm90IGVxdWFsICghPSkgdG8gZWFjaCBvdGhlcicpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovLyBDSEVDSyMzCmlmIChzdHIgIT0gMCl7CiAgJEVSUk9SKCcjMzogRW1wdHkgc3RyaW5nIGFuZCAwIGFyZSBlcXVhbCAoPT0pIHRvIGVhY2ggb3RoZXIsIHNpbmNlIHRoZXkgYWxsIGV2YWx1YXRlIHRvIDAnKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy8gQ0hFQ0sjNAppZiAoc3RyICE9IGZhbHNlKXsKICAkRVJST1IoJyM0OiBFbXB0eSBzdHJpbmcgYW5kIGZhbHNlIGFyZSBlcXVhbCAoPT0pIHRvIGVhY2ggb3RoZXIsIHNpbmNlIHRoZXkgYWxsIGV2YWx1YXRlIHRvIDAnKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"Empty string, 0, false are all equal (==) to each other, since they all evaluate to 0","description":"Compare empty string with undefined, null, 0 and false","path":"TestCases/ch08/8.4/S8.4_A8.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBBc3NpZ25tZW50IHRvIHN0cmluZyBsaXRlcmFscyBjYWxscyBTdHJpbmcgY29uc3RydWN0b3IKICoKICogQHBhdGggY2gwOC84LjQvUzguNF9BOV9UMS5qcwogKiBAZGVzY3JpcHRpb24gU2ltcGxlIHN0cmluZyB2YXJpYWJsZSBjb21wYXJlIHdpdGggb2JqZWN0IFN0cmluZwogKi8KCnZhciBzdHI9J0FCQyc7CnZhciBzdHJPYmo9bmV3IFN0cmluZygnQUJDJyk7CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy8gQ0hFQ0sjMQppZiAoc3RyLmNvbnN0cnVjdG9yICE9PSBzdHJPYmouY29uc3RydWN0b3IpewogICRFUlJPUignIzE6IFwnQUJDXCcuY29uc3RydWN0b3IgPT09IG5ldyBTdHJpbmcoXCdBQkNcJykuY29uc3RydWN0b3InKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy8gQ0hFQ0sjMgppZiAoc3RyICE9IHN0ck9iail7CiAgJEVSUk9SKCcjMjogIkFCQyIgPT0gbmV3IFN0cmluZygiQUJDIiknKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy8gQ0hFQ0sjMwppZiAoc3RyID09PSBzdHJPYmopewogICRFUlJPUignIzM6ICJBQkMiICE9PSBuZXcgU3RyaW5nKCJBQkMiKScpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"Assignment to string literals calls String constructor","description":"Simple string variable compare with object String","path":"TestCases/ch08/8.4/S8.4_A9_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBBc3NpZ25tZW50IHRvIHN0cmluZyBsaXRlcmFscyBjYWxscyBTdHJpbmcgY29uc3RydWN0b3IKICoKICogQHBhdGggY2gwOC84LjQvUzguNF9BOV9UMi5qcwogKiBAZGVzY3JpcHRpb24gQ29tcGFyZSBlbXB0eSBzdHJpbmcgdmFyaWFibGUsIG9iamVjdCBTdHJpbmcoJycpIGFuZCBvYmplY3QgU3RyaW5nKCkKICovCgp2YXIgc3RyPSIiOwp2YXIgc3RyT2JqPW5ldyBTdHJpbmcoIiIpOwp2YXIgc3RyT2JqXz1uZXcgU3RyaW5nKCk7CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy8gQ0hFQ0sjMQppZiAoc3RyLmNvbnN0cnVjdG9yICE9PSBzdHJPYmouY29uc3RydWN0b3IpewogICRFUlJPUignIzE6ICIiLmNvbnN0cnVjdG9yID09PSBuZXcgU3RyaW5nKCIiKS5jb25zdHJ1Y3RvcicpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovLyBDSEVDSyMyCmlmIChzdHIuY29uc3RydWN0b3IgIT09IHN0ck9ial8uY29uc3RydWN0b3IpewogICRFUlJPUignIzI6ICIiLmNvbnN0cnVjdG9yID09PSBuZXcgU3RyaW5nKCkuY29uc3RydWN0b3InKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy8gQ0hFQ0sjMwppZiAoc3RyICE9IHN0ck9iail7CiAgJEVSUk9SKCcjMzogdmFsdWVzIG9mIHN0cj0iIjsgYW5kIHN0ck9iaj1uZXcgU3RyaW5nKCIiKTsgYXJlIGVxdWFsJyk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vIENIRUNLIzQKaWYgKHN0ciA9PT0gc3RyT2JqKXsKICAkRVJST1IoJyM0OiBvYmplY3RzIG9mIHN0cj0iIjsgYW5kIHN0ck9iaj1uZXcgU3RyaW5nKCIiKTsgYXJlIGRpZmZlcmVudCcpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovLyBDSEVDSyM1CmlmIChzdHIgIT0gc3RyT2JqXyl7CiAgJEVSUk9SKCcjNTogdmFsdWVzIG9mIHN0cj0iIjsgYW5kIHN0ck9iaj1uZXcgU3RyaW5nKCk7IGFyZSBlcXVhbCcpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovLyBDSEVDSyM2CmlmIChzdHIgPT09IHN0ck9ial8pewogICRFUlJPUignIzY6IG9iamVjdHMgb2Ygc3RyPSIiOyBhbmQgc3RyT2JqPW5ldyBTdHJpbmcoKTsgYXJlIGRpZmZlcmVudCcpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"Assignment to string literals calls String constructor","description":"Compare empty string variable, object String('') and object String()","path":"TestCases/ch08/8.4/S8.4_A9_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBBc3NpZ25tZW50IHRvIHN0cmluZyBsaXRlcmFscyBjYWxscyBTdHJpbmcgY29uc3RydWN0b3IKICoKICogQHBhdGggY2gwOC84LjQvUzguNF9BOV9UMy5qcwogKiBAZGVzY3JpcHRpb24gU2ltcGxlIGVtcHR5IHN0cmluZyB2YXJpYWJsZSBjb21wYXJlIHdpdGggZW1wdHkgb2JqZWN0IFN0cmluZwogKi8KCnZhciBzdHI9IiI7CnZhciBzdHJPYmo9bmV3IFN0cmluZzsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovLyBDSEVDSyMxCmlmIChzdHIuY29uc3RydWN0b3IgIT09IHN0ck9iai5jb25zdHJ1Y3Rvcil7CiAgJEVSUk9SKCcjMTogIiIuY29uc3RydWN0b3IgPT09IG5ldyBTdHJpbmcuY29uc3RydWN0b3InKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy8gQ0hFQ0sjMgppZiAoc3RyICE9IHN0ck9iail7CiAgJEVSUk9SKCcjMjogdmFsdWVzIG9mIHN0cj0iIjsgYW5kIHN0ck9iaj1uZXcgU3RyaW5nKCIiKTsgYXJlIGVxdWFsJyk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vIENIRUNLIzMKaWYgKHN0ciA9PT0gc3RyT2JqKXsKICAkRVJST1IoJyMzOiBvYmplY3RzIG9mIHN0cj0iIjsgYW5kIHN0ck9iaj1uZXcgU3RyaW5nKCIiKTsgYXJlIGRpZmZlcmVudCcpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzQKaWYgKHR5cGVvZiBzdHIgPT0gdHlwZW9mIHN0ck9iail7CiAgJEVSUk9SKCcjNDogdHlwZXMgb2Ygc3RyPSIiOyBhbmQgc3RyT2JqPW5ldyBTdHJpbmcoIiIpOyBhcmUgZGlmZmVyZW50Jyk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgoK","commentary":"Assignment to string literals calls String constructor","description":"Simple empty string variable compare with empty object String","path":"TestCases/ch08/8.4/S8.4_A9_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBOYU4gIT09IE5hTgogKgogKiBAcGF0aCBjaDA4LzguNS9TOC41X0ExLmpzCiAqIEBkZXNjcmlwdGlvbiBDb21wYXJlIE5hTiB3aXRoIE5hTgogKi8KCnZhciB4ID0gTnVtYmVyLk5hTjsKdmFyIHhfID0gTnVtYmVyLk5hTjsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy8gQ0hFQ0sgIzEKaWYgKHggPT09IHhfKXsKICAkRVJST1IoJyMxOiBOYU4gIT09IE5hTiAnKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"NaN !== NaN","description":"Compare NaN with NaN","path":"TestCases/ch08/8.5/S8.5_A1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJbmZpbml0eSBpcyBub3QgYSBrZXl3b3JkCiAqCiAqIEBwYXRoIGNoMDgvOC41L1M4LjVfQTEwLmpzCiAqIEBkZXNjcmlwdGlvbiBDcmVhdGUgdmFyaWFibGUgZW50aXRsZWQgSW5maW5pdHkKICovCgp2YXIgSW5maW5pdHk9MS4wOwpJbmZpbml0eT0nYXNkZic7CkluZmluaXR5PXRydWU7Cgo=","commentary":"Infinity is not a keyword","description":"Create variable entitled Infinity","path":"TestCases/ch08/8.5/S8.5_A10.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgaW50ZWdlciAwIGhhcyB0d28gcmVwcmVzZW50YXRpb25zLCArMCBhbmQgLTAKICoKICogQHBhdGggY2gwOC84LjUvUzguNV9BMTFfVDEuanMKICogQGRlc2NyaXB0aW9uIENoZWNrIDEuMC9wX3plcm8gIT09IDEuMC9uX3plcm8KICovCgp2YXIgcF96ZXJvPSswOwp2YXIgbl96ZXJvPS0wOwoKaWYgKDEuMC9wX3plcm8gPT09IDEuMC9uX3plcm8pewogICRFUlJPUignIzE6IHZhciBwX3plcm89KzA7IHZhciBuX3plcm89LTA7IDEuMC9wX3plcm8gIT09IDEuMC9uX3plcm8nKTsKfQoK","commentary":"The integer 0 has two representations, +0 and -0","description":"Check 1.0/p_zero !== 1.0/n_zero","path":"TestCases/ch08/8.5/S8.5_A11_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgaW50ZWdlciAwIGhhcyB0d28gcmVwcmVzZW50YXRpb25zLCArMCBhbmQgLTAKICoKICogQHBhdGggY2gwOC84LjUvUzguNV9BMTFfVDIuanMKICogQGRlc2NyaXB0aW9uIENvbXBhcmUgcG9zaXRpdmVfemVybyBhbmQgbmVnYXRpdmVfemVybwogKi8KCnZhciBwX3plcm89KzA7CnZhciBuX3plcm89LTA7CgovL0NIRUNLICMxCmlmICgocF96ZXJvID09IG5femVybykgIT09IHRydWUpewogICRFUlJPUignIzE6IHZhciBwX3plcm89KzA7IHZhciBuX3plcm89LTA7IHBfemVybyAhPSBuX3plcm8nKTsKfQoKLy9DSEVDSyAjMgppZiAoKG5femVybyA9PSAwKSAhPT0gdHJ1ZSl7CiAgJEVSUk9SKCcjMjogdmFyIHBfemVybz0rMDsgdmFyIG5femVybz0tMDsgbl96ZXJvID09IDAnKTsKfQoKLy9DSEVDSyAjMwppZiAoKHBfemVybyA9PSAtMCkgIT09IHRydWUpewogICRFUlJPUignIzM6IHZhciBwX3plcm89KzA7IHZhciBuX3plcm89LTA7IHBfemVybyA9PSAtMCcpOwp9CgovL0NIRUNLICM0CmlmICgocF96ZXJvID09PSAwKSAhPT0gdHJ1ZSl7CiAgJEVSUk9SKCcjNDogdmFyIHBfemVybz0rMDsgdmFyIG5femVybz0tMDsgcF96ZXJvID09PSAwJyk7Cn0KCi8vQ0hFQ0sgIzUKaWYgKChuX3plcm8gPT09IC0wKSAhPT0gdHJ1ZSl7CiAgJEVSUk9SKCcjNTogdmFyIHBfemVybz0rMDsgdmFyIG5femVybz0tMDsgbl96ZXJvID09PSAtMCcpOwp9Cgo=","commentary":"The integer 0 has two representations, +0 and -0","description":"Compare positive_zero and negative_zero","path":"TestCases/ch08/8.5/S8.5_A11_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiArSW5maW5pdHkgYW5kIEluZmluaXR5IGFyZSB0aGUgc2FtZSBhcyBOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkKICoKICogQHBhdGggY2gwOC84LjUvUzguNV9BMTIuMS5qcwogKiBAZGVzY3JpcHRpb24gQ29tcGFyZSBJbmZpbml0eSBhbmQgK0luZmluaXR5IHdpdGggTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZCiAqLwoKdmFyIHBfaW5mPStJbmZpbml0eTsKdmFyIGluZj1JbmZpbml0eTsKCi8vQ0hFQ0sgIzEgCmlmIChwX2luZiE9PU51bWJlci5QT1NJVElWRV9JTkZJTklUWSl7CiAgJEVSUk9SKCcjMTogK0luZmluaXR5IGlzIHRoZSBzYW1lIGFzIE51bWJlci5QT1NJVElWRV9JTkZJTklUWScpOwp9CgovL0NIRUNLICMyIAppZiAoaW5mIT09TnVtYmVyLlBPU0lUSVZFX0lORklOSVRZKXsKICAkRVJST1IoJyMyOiBJbmZpbml0eSBpcyB0aGUgc2FtZSBhcyBOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFknKTsKfQoK","commentary":"+Infinity and Infinity are the same as Number.POSITIVE_INFINITY","description":"Compare Infinity and +Infinity with Number.POSITIVE_INFINITY","path":"TestCases/ch08/8.5/S8.5_A12.1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiAtSW5maW5pdHkgaXMgdGhlIHNhbWUgYXMgTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZCiAqCiAqIEBwYXRoIGNoMDgvOC41L1M4LjVfQTEyLjIuanMKICogQGRlc2NyaXB0aW9uIENvbXBhcmUgLUluZmluaXR5IHdpdGggTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZCiAqLwoKdmFyIG5faW5mPS1JbmZpbml0eTsKCi8vQ0hFQ0sgIzEgCmlmIChuX2luZiAhPT0gTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZKXsKICAkRVJST1IoJyMxOiAtSW5maW5pdHkgaXMgdGhlIHNhbWUgYXMgTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZJyk7Cn0KCg==","commentary":"-Infinity is the same as Number.NEGATIVE_INFINITY","description":"Compare -Infinity with Number.NEGATIVE_INFINITY","path":"TestCases/ch08/8.5/S8.5_A12.2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBGaW5pdGUgbm9uemVybyB2YWx1ZXMgIHRoYXQgYXJlIE5vcm1hbGlzZWQgaGF2aW5nIHRoZSBmb3JtIHMqbSoyKiplCiAqICB3aGVyZSBzIGlzICsxIG9yIC0xLCBtIGlzIGEgcG9zaXRpdmUgaW50ZWdlciBsZXNzIHRoYW4gMioqNTMgYnV0IG5vdAogKiAgbGVzcyB0aGFuIHMqKjUyIGFuZCBlIGlzIGFuIGludGVnZXIgcmFuZ2luZyBmcm9tIC0xMDc0IHRvIDk3MQogKgogKiBAcGF0aCBjaDA4LzguNS9TOC41X0ExM19UMS5qcwogKiBAZGVzY3JpcHRpb24gRmluaXRlIE5vbiB6ZXJvIHZhbHVlcyB3aGVyZSBlIGlzIC0xMDc0CiAqIEBpbXBsRGVwZW5kZW50IERvZXMgbm90IHBhc3Mgb24gY3VycmVudCBBUk0gcHJvY2Vzc29ycwogKi8KCi8vQ0hFQ0sgIzEgCmlmICgoMSooKE1hdGgucG93KDIsNTMpKS0xKSooTWF0aC5wb3coMiwtMTA3NCkpKSAhPT0gNC40NTAxNDc3MTcwMTQ0MDIzZS0zMDgpewogICRFUlJPUignIzE6ICgxKigoTWF0aC5wb3coMiw1MykpLTEpKihNYXRoLnBvdygyLC0xMDc0KSkpID09PSA0LjQ1MDE0NzcxNzAxNDQwMjNlLTMwOC4gQWN0dWFsOiAnICsgKCgxKigoTWF0aC5wb3coMiw1MykpLTEpKihNYXRoLnBvdygyLC0xMDc0KSkpKSk7Cn0KCi8vQ0hFQ0sgIzIgCmlmICgoMSooTWF0aC5wb3coMiw1MikpKihNYXRoLnBvdygyLC0xMDc0KSkpICE9PSAyLjIyNTA3Mzg1ODUwNzIwMTRlLTMwOCl7CiAgJEVSUk9SKCcjMjogKDEqKE1hdGgucG93KDIsNTIpKSooTWF0aC5wb3coMiwtMTA3NCkpKSA9PT0gMi4yMjUwNzM4NTg1MDcyMDE0ZS0zMDguIEFjdHVhbDogJyArICgoMSooTWF0aC5wb3coMiw1MikpKihNYXRoLnBvdygyLC0xMDc0KSkpKSk7Cn0KCi8vQ0hFQ0sgIzMgCmlmICgoLTEqKE1hdGgucG93KDIsNTIpKSooTWF0aC5wb3coMiwtMTA3NCkpKSAhPT0gLTIuMjI1MDczODU4NTA3MjAxNGUtMzA4KXsKICAkRVJST1IoJyMzOiAoLTEqKE1hdGgucG93KDIsNTIpKSooTWF0aC5wb3coMiwtMTA3NCkpKSA9PT0gLTIuMjI1MDczODU4NTA3MjAxNGUtMzA4LiBBY3R1YWw6ICcgKyAoKC0xKihNYXRoLnBvdygyLDUyKSkqKE1hdGgucG93KDIsLTEwNzQpKSkpKTsKfQoK","commentary":"Finite nonzero values that are Normalised having the form s*m*2**e\n where s is +1 or -1, m is a positive integer less than 2**53 but not\n less than s**52 and e is an integer ranging from -1074 to 971","description":"Finite Non zero values where e is -1074","implDependent":"Does not pass on current ARM processors","path":"TestCases/ch08/8.5/S8.5_A13_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBGaW5pdGUgbm9uemVybyB2YWx1ZXMgIHRoYXQgYXJlIE5vcm1hbGlzZWQgaGF2aW5nIHRoZSBmb3JtIHMqbSoyKiplCiAqICB3aGVyZSBzIGlzICsxIG9yIC0xLCBtIGlzIGEgcG9zaXRpdmUgaW50ZWdlciBsZXNzIHRoYW4gMioqNTMgYnV0IG5vdAogKiAgbGVzcyB0aGFuIHMqKjUyIGFuZCBlIGlzIGFuIGludGVnZXIgcmFuZ2luZyBmcm9tIC0xMDc0IHRvIDk3MQogKgogKiBAcGF0aCBjaDA4LzguNS9TOC41X0ExM19UMi5qcwogKiBAZGVzY3JpcHRpb24gRmluaXRlIE5vbiB6ZXJvIHZhbHVlcyB3aGVyZSBlIGlzIDk3MQogKi8KCi8vQ0hFQ0sgIzEgCmlmICgoMSooTWF0aC5wb3coMiw1MikpKihNYXRoLnBvdygyLDk3MSkpKSAhPT0gOC45ODg0NjU2NzQzMTE1OGUrMzA3KXsKICAkRVJST1IoJyMxOiAoMSooTWF0aC5wb3coMiw1MikpKihNYXRoLnBvdygyLDk3MSkpKSA9PT0gOC45ODg0NjU2NzQzMTE1OGUrMzA3LiBBY3R1YWw6ICcgKyAoKDEqKE1hdGgucG93KDIsNTIpKSooTWF0aC5wb3coMiw5NzEpKSkpKTsKfQoKLy9DSEVDSyAjMiAKaWYgKCgxKigoTWF0aC5wb3coMiw1MykpLTEpKihNYXRoLnBvdygyLDk3MSkpKSAhPT0gMS43OTc2OTMxMzQ4NjIzMTU3ZSszMDgpewogICRFUlJPUignIzI6ICgxKigoTWF0aC5wb3coMiw1MykpLTEpKihNYXRoLnBvdygyLDk3MSkpKSA9PT0gMS43OTc2OTMxMzQ4NjIzMTU3ZSszMDguIEFjdHVhbDogJyArICgoMSooKE1hdGgucG93KDIsNTMpKS0xKSooTWF0aC5wb3coMiw5NzEpKSkpKTsKfQoKLy9DSEVDSyAjMyAKaWYgKCgtMSooTWF0aC5wb3coMiw1MikpKihNYXRoLnBvdygyLDk3MSkpKSAhPT0gLTguOTg4NDY1Njc0MzExNThlKzMwNyl7CiAgJEVSUk9SKCcjMzogKC0xKihNYXRoLnBvdygyLDUyKSkqKE1hdGgucG93KDIsOTcxKSkpID09PSAtOC45ODg0NjU2NzQzMTE1OGUrMzA3LiBBY3R1YWw6ICcgKyAoKC0xKihNYXRoLnBvdygyLDUyKSkqKE1hdGgucG93KDIsOTcxKSkpKSk7Cn0KCg==","commentary":"Finite nonzero values that are Normalised having the form s*m*2**e\n where s is +1 or -1, m is a positive integer less than 2**53 but not\n less than s**52 and e is an integer ranging from -1074 to 971","description":"Finite Non zero values where e is 971","path":"TestCases/ch08/8.5/S8.5_A13_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuIG51bWJlciBhYnNvbHV0ZSB2YWx1ZSBpcyBiaWdnZXIgb2YgMioqMTAyNCBzaG91bGQgY29udmVydCB0byBJbmZpbml0eQogKgogKiBAcGF0aCBjaDA4LzguNS9TOC41X0ExNF9UMS5qcwogKiBAZGVzY3JpcHRpb24gQ3JlYXRlIG51bWJlciBiaWdnZXIgb2YgMioqMTAyNAogKi8KCi8vQ0hFQ0sgIzEgCmlmICgxZSszMDgqMiAhPT0gSW5maW5pdHkpewogICRFUlJPUignIzE6IDFlKzMwOCoyID09PSBJbmZpbml0eS4gQWN0dWFsOiAnICsgKDFlKzMwOCoyKSk7Cn0KCi8vQ0hFQ0sgIzIgCmlmICgoMSooTWF0aC5wb3coMiw1MykpKihNYXRoLnBvdygyLDk3MSkpKSAhPT0gSW5maW5pdHkpewogICRFUlJPUignIzI6ICgxKihNYXRoLnBvdygyLDUzKSkqKE1hdGgucG93KDIsOTcxKSkpID09PSBJbmZpbml0eS4gQWN0dWFsOiAnICsgKCgxKihNYXRoLnBvdygyLDUzKSkqKE1hdGgucG93KDIsOTcxKSkpKSk7Cn0KCg==","commentary":"When number absolute value is bigger of 2**1024 should convert to Infinity","description":"Create number bigger of 2**1024","path":"TestCases/ch08/8.5/S8.5_A14_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuIG51bWJlciBhYnNvbHV0ZSB2YWx1ZSBpcyBiaWdnZXIgb2YgMioqMTAyNCBzaG91bGQgY29udmVydCB0byBJbmZpbml0eQogKgogKiBAcGF0aCBjaDA4LzguNS9TOC41X0ExNF9UMi5qcwogKiBAZGVzY3JpcHRpb24gQ3JlYXRlIG51bWJlciBzbWFsbGVyIG9mIC0yKioxMDI0CiAqLwoKLy9DSEVDSyAjMSAKaWYgKC0xZSszMDgqMyAhPT0gLUluZmluaXR5KXsKICAkRVJST1IoJyMxOiAtMWUrMzA4KjMgPT09IEluZmluaXR5LiBBY3R1YWw6ICcgKyAoLTFlKzMwOCozKSk7Cn0KCi8vQ0hFQ0sgIzIgCmlmICgoLTEqKE1hdGgucG93KDIsNTMpKSooTWF0aC5wb3coMiw5NzEpKSkgIT09IC1JbmZpbml0eSl7CiAgJEVSUk9SKCcjMjogKC0xKihNYXRoLnBvdygyLDUzKSkqKE1hdGgucG93KDIsOTcxKSkpID09PSBJbmZpbml0eS4gQWN0dWFsOiAnICsgKCgtMSooTWF0aC5wb3coMiw1MykpKihNYXRoLnBvdygyLDk3MSkpKSkpOwp9Cgo=","commentary":"When number absolute value is bigger of 2**1024 should convert to Infinity","description":"Create number smaller of -2**1024","path":"TestCases/ch08/8.5/S8.5_A14_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBOdW1iZXIgdHlwZSByZXByZXNlbnRlZCBhcyB0aGUgZG91YmxlIHByZWNpc2lvbiA2NC1iaXQgZm9ybWF0IElFRUUgNzU0CiAqCiAqIEBwYXRoIGNoMDgvOC41L1M4LjVfQTIuMS5qcwogKiBAZGVzY3JpcHRpb24gVXNlIDJeNTMgKyAyIG51bWJlciBhbmQgZG8gc29tZSBvcGVyYXRpb24gd2l0aCBpdAogKi8KCnZhciB4ID0gOTAwNzE5OTI1NDc0MDk5NC4wOyAvKiAyXjUzICsgMiAqLwp2YXIgeSA9IDEuMCAtIDEvNjU1MzYuMDsKdmFyIHogPSB4ICsgeTsKdmFyIGQgPSB6IC0geDsKCmlmIChkICE9PSAwKXsKICAkRVJST1IoJyMxOiB2YXIgeCA9IDkwMDcxOTkyNTQ3NDA5OTQuMDsgdmFyIHkgPSAxLjAgLSAxLzY1NTM2LjA7IHZhciB6ID0geCArIHk7IHZhciBkID0geiAtIHg7IGQgPT09IDAuIEFjdHVhbDogJyArIChkKSk7Cn0KCg==","commentary":"Number type represented as the double precision 64-bit format IEEE 754","description":"Use 2^53 + 2 number and do some operation with it","path":"TestCases/ch08/8.5/S8.5_A2.1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBOdW1iZXIgdHlwZSByZXByZXNlbnRlZCBhcyB0aGUgZXh0ZW5kZWQgcHJlY2lzaW9uIDY0LWJpdCBmb3JtYXQgSUVFRSA3NTQKICoKICogQHBhdGggY2gwOC84LjUvUzguNV9BMi4yLmpzCiAqIEBkZXNjcmlwdGlvbiBVc2UgMl41MyArIDIgbnVtYmVyIGFuZCBkbyBzb21lIG9wZXJhdGlvbiB3aXRoIGl0CiAqLwoKdmFyIHggPSA5MDA3MTk5MjU0NzQwOTk0LjA7IC8qIDJeNTMgKyAyICovCnZhciB5ID0gMS4wIC0gMS82NTUzNi4wOwp2YXIgeiA9IHggKyB5Owp2YXIgZCA9IHogLSB4OwoKaWYgKGQgPT09IDIpewogICRFUlJPUignIzE6IHZhciB4ID0gOTAwNzE5OTI1NDc0MDk5NC4wOyB2YXIgeSA9IDEuMCAtIDEvNjU1MzYuMDsgdmFyIHogPSB4ICsgeTsgdmFyIGQgPSB6IC0geDsgZCAhPT0gMicpOwp9Cgo=","commentary":"Number type represented as the extended precision 64-bit format IEEE 754","description":"Use 2^53 + 2 number and do some operation with it","path":"TestCases/ch08/8.5/S8.5_A2.2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBOYU4gZXhwcmVzc2lvbiBoYXMgYSB0eXBlIE51bWJlcgogKgogKiBAcGF0aCBjaDA4LzguNS9TOC41X0EzLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVjayB0eXBlIG9mIE5hTgogKi8KCnZhciB4PU5hTjsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy8gQ0hFQ0sjMQppZiAodHlwZW9mKHgpICE9PSAibnVtYmVyIil7CiAgJEVSUk9SKCcjMTogdmFyIHg9TmFOOyB0eXBlb2YoeCkgPT09ICJudW1iZXIiLiBBY3R1YWw6ICcgKyAodHlwZW9mKHgpKSk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovLyBDSEVDSyMyCmlmICh0eXBlb2YoTmFOKSAhPT0gIm51bWJlciIpewogICRFUlJPUignIzI6IHR5cGVvZihOYU4pID09PSAibnVtYmVyIi4gQWN0dWFsOiAnICsgKHR5cGVvZihOYU4pKSk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"NaN expression has a type Number","description":"Check type of NaN","path":"TestCases/ch08/8.5/S8.5_A3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBOYU4gaXMgbm90IGEga2V5d29yZAogKgogKiBAcGF0aCBjaDA4LzguNS9TOC41X0E0LmpzCiAqIEBkZXNjcmlwdGlvbiBDcmVhdGUgdmFyaWFibGUgZW50aXRsZWQgTmFOCiAqLwoKdmFyIE5hTj0xLjA7Ck5hTj0nYXNkZic7Ck5hTj10cnVlOwpOYU49TnVtYmVyLk5hTjsKCg==","commentary":"NaN is not a keyword","description":"Create variable entitled NaN","path":"TestCases/ch08/8.5/S8.5_A4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBOYU4gbm90IGdyZWF0ZXIgb3IgZXF1YWwgemVybwogKgogKiBAcGF0aCBjaDA4LzguNS9TOC41X0E1LmpzCiAqIEBkZXNjcmlwdGlvbiBDb21wYXJlIE5hTiB3aXRoIHplcm8KICovCgp2YXIgeCA9IE5hTjsKdmFyIHhfZ2VxXzA9KHggPj0gMC4wKTsKdmFyIHhfbGVxXzA9KHggPD0gMC4wKTsKdmFyIHhfbGVxXzBfT1JfZ2VxXzA9KHggPD0gMC4wKXx8KHggPj0gMC4wKTsKdmFyIHhfZ2VxXzBfQUREX2xlcV8wPSh4ID49IDAuMCkgKyAoeCA8PSAwLjApOwoKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovLyBDSEVDSyMxCmlmICh4X2dlcV8wKXsKICAkRVJST1IoJyMxOiBOYU4gbm90IGdyZWF0ZXIgb3IgZXF1YWwgemVybycpOwp9IGVsc2UgewogICRQUklOVCgnIzE6IE5hTiBub3QgZ3JlYXRlciBvciBlcXVhbCB6ZXJvJyk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy8gQ0hFQ0sjMgppZiAoeF9sZXFfMCl7CiAgJEVSUk9SKCcjMjogTmFOIG5vdCBsZXNzIG9yIGVxdWFsIHplcm8nKTsKfSBlbHNlIHsKICAkUFJJTlQoJyMyOiBOYU4gbm90IGxlc3Mgb3IgZXF1YWwgemVybycpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vIENIRUNLIzMKaWYgKHhfbGVxXzBfT1JfZ2VxXzApewogICRFUlJPUignIzM6IE5hTiBub3QgbGVzcyBvciBlcXVhbCB6ZXJvIE9SIGdyZWF0ZXIgb3IgZXF1YWwgemVybycpOwp9IGVsc2UgewogICRQUklOVCgnIzM6IE5hTiBub3QgbGVzcyBvciBlcXVhbCB6ZXJvIE9SIGdyZWF0ZXIgb3IgZXF1YWwgemVybycpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vIENIRUNLIzQKaWYgKHhfZ2VxXzBfQUREX2xlcV8wKXsKICAkRVJST1IoJyM0OiBOYU4gbm90IGxlc3Mgb3IgZXF1YWwgemVybyBBREQgZ3JlYXRlciBvciBlcXVhbCB6ZXJvJyk7Cn0gZWxzZSB7CiAgJFBSSU5UKCcjNDogTmFOIG5vdCBsZXNzIG9yIGVxdWFsIHplcm8gQUREIGdyZWF0ZXIgb3IgZXF1YWwgemVybycpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"NaN not greater or equal zero","description":"Compare NaN with zero","path":"TestCases/ch08/8.5/S8.5_A5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiAtSW5maW5pdHkgZXhwcmVzc2lvbiBoYXMgYSB0eXBlIE51bWJlcgogKgogKiBAcGF0aCBjaDA4LzguNS9TOC41X0E2LmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVjayB0eXBlIG9mIC1JbmZpbml0eQogKi8KCnZhciB4PS1JbmZpbml0eTsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy8gQ0hFQ0sjMQppZiAodHlwZW9mKHgpICE9PSAibnVtYmVyIil7CiAgJEVSUk9SKCcjMTogdmFyIHg9LUluZmluaXR5OyB0eXBlb2YoeCkgPT09ICJudW1iZXIiLiBBY3R1YWw6ICcgKyAodHlwZW9mKHgpKSk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovLyBDSEVDSyMyCmlmICh0eXBlb2YoLUluZmluaXR5KSAhPT0gIm51bWJlciIpewogICRFUlJPUignIzI6IHR5cGVvZigtSW5maW5pdHkpID09PSAibnVtYmVyIi4gQWN0dWFsOiAnICsgKHR5cGVvZigtSW5maW5pdHkpKSk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"-Infinity expression has a type Number","description":"Check type of -Infinity","path":"TestCases/ch08/8.5/S8.5_A6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiArSW5maW5pdHkgZXhwcmVzc2lvbiBoYXMgYSB0eXBlIE51bWJlcgogKgogKiBAcGF0aCBjaDA4LzguNS9TOC41X0E3LmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVjayB0eXBlIG9mICtJbmZpbml0eQogKi8KCnZhciB4PStJbmZpbml0eTsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy8gQ0hFQ0sjMQppZiAodHlwZW9mKHgpICE9PSAibnVtYmVyIil7CiAgJEVSUk9SKCcjMTogdmFyIHg9K0luZmluaXR5OyB0eXBlb2YoeCkgPT09ICJudW1iZXIiLiBBY3R1YWw6ICcgKyAodHlwZW9mKHgpKSk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovLyBDSEVDSyMyCmlmICh0eXBlb2YoK0luZmluaXR5KSAhPT0gIm51bWJlciIpewogICRFUlJPUignIzI6IHR5cGVvZigrSW5maW5pdHkpID09PSAibnVtYmVyIi4gQWN0dWFsOiAnICsgKHR5cGVvZigrSW5maW5pdHkpKSk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"+Infinity expression has a type Number","description":"Check type of +Infinity","path":"TestCases/ch08/8.5/S8.5_A7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJbmZpbml0eSBpcyB0aGUgc2FtZSBhcyArSW5maW5pdHkKICoKICogQHBhdGggY2gwOC84LjUvUzguNV9BOC5qcwogKiBAZGVzY3JpcHRpb24gQ29tcGFyZSBJbmZpbml0eSBhbmQgK0luZmluaXR5CiAqLwoKdmFyIHBfaW5mPStJbmZpbml0eTsKdmFyIGluZj1JbmZpbml0eTsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy8gCmlmIChwX2luZiE9PWluZil7CiAgJEVSUk9SKCcjMTogSW5maW5pdHkgaXMgdGhlIHNhbWUgYXMgK0luZmluaXR5Jyk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"Infinity is the same as +Infinity","description":"Compare Infinity and +Infinity","path":"TestCases/ch08/8.5/S8.5_A8.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBHbG9iYWxseSBkZWZpbmVkIHZhcmlhYmxlIE5hTiBoYXMgbm90IGJlZW4gYWx0ZXJlZCBieSBwcm9ncmFtIGV4ZWN1dGlvbgogKgogKiBAcGF0aCBjaDA4LzguNS9TOC41X0E5LmpzCiAqIEBkZXNjcmlwdGlvbiBUcnkgYWx0ZXIgZ2xvYmFsbHkgZGVmaW5lZCB2YXJpYWJsZSBOYU4KICogQG5vU3RyaWN0CiAqLwoKTnVtYmVyLk5hTiA9IDE7CgppZiAoTnVtYmVyLk5hTiA9PT0gMSkgewogICRFUlJPUignIzE6IEdsb2JhbGx5IGRlZmluZWQgdmFyaWFibGUgTmFOIGhhcyBub3QgYmVlbiBhbHRlcmVkIGJ5IHByb2dyYW0gZXhlY3V0aW9uJyk7Cn0KCg==","commentary":"Globally defined variable NaN has not been altered by program execution","description":"Try alter globally defined variable NaN","noStrict":"","path":"TestCases/ch08/8.5/S8.5_A9.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBEbyBub3QgY3Jhc2ggd2l0aCBwb3N0aW5jcmVtZW50IGN1c3RvbSBwcm9wZXJ0eQogKgogKiBAcGF0aCBjaDA4LzguNi9TOC42X0EyX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBUcnkgdG8gaW1wbGVtZW50IHBvc3RpbmNyZW1lbnQgZm9yIGN1c3RvbSBwcm9wZXJ0eQogKi8KCnZhciBfX21hcD17Zm9vOiJiYXIifTsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKCl9fbWFwLmZvbysrOwppZiAoIWlzTmFOKF9fbWFwLmZvbykpIHsKICAkRVJST1IoJyMxOiB2YXIgX19tYXA9e2ZvbzoiYmFyIn07IF9fbWFwLmZvbysrOyBfX21hcC5mb28gPT09IE5vdC1hLU51bWJlci4gQWN0dWFsOiAnICsgKF9fbWFwLmZvbykpOwp9CgovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"Do not crash with postincrement custom property","description":"Try to implement postincrement for custom property","path":"TestCases/ch08/8.6/S8.6_A2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBEbyBub3QgY3Jhc2ggd2l0aCBwb3N0aW5jcmVtZW50IGN1c3RvbSBwcm9wZXJ0eQogKgogKiBAcGF0aCBjaDA4LzguNi9TOC42X0EyX1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBUcnkgdG8gaW1wbGVtZW50IHBvc3RpbmNyZW1lbnQgZm9yIG5vdCBkZWNsYXJlZCBjdXN0b20gcHJvcGVydHkKICovCgp2YXIgX19tYXA9e307CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmICghaXNOYU4oX19tYXAuZm9vKyspKSB7CiAgJEVSUk9SKCcjMTogdmFyIF9fbWFwPXt9OyBfX21hcC5mb28gPT09IE5vdC1hLU51bWJlci4gQWN0dWFsOiAnICsgKF9fbWFwLmZvbykpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMgppZiAoISgiZm9vIiBpbiBfX21hcCkpIHsKICAkRVJST1IoJyMyOiB2YXIgX19tYXA9e307ICJmb28iIGluIF9fbWFwJyk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"Do not crash with postincrement custom property","description":"Try to implement postincrement for not declared custom property","path":"TestCases/ch08/8.6/S8.6_A2_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBEbyBub3QgY3Jhc2ggd2l0aCBwZWZpeGluY3JlbWVudCBjdXN0b20gcHJvcGVydHkKICoKICogQHBhdGggY2gwOC84LjYvUzguNl9BM19UMS5qcwogKiBAZGVzY3JpcHRpb24gVHJ5IHRvIGltcGxlbWVudCBwZWZpeGluY3JlbWVudCBmb3IgY3VzdG9tIHByb3BlcnR5CiAqLwoKdmFyIF9fbWFwPXtmb286J2Jhcid9OwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQoKKytfX21hcC5mb287CmlmICghaXNOYU4oX19tYXAuZm9vKSkgewogICRFUlJPUignIzE6ICB2YXIgX19tYXA9e2ZvbzoiYmFyIn07ICsrX19tYXAuZm9vOyBfX21hcC5mb28gPT09IE5vdC1hLU51bWJlci4gQWN0dWFsOiAnICsgKF9fbWFwLmZvbykpOwp9CgovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"Do not crash with pefixincrement custom property","description":"Try to implement pefixincrement for custom property","path":"TestCases/ch08/8.6/S8.6_A3_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBEbyBub3QgY3Jhc2ggd2l0aCBwZWZpeGluY3JlbWVudCBjdXN0b20gcHJvcGVydHkKICoKICogQHBhdGggY2gwOC84LjYvUzguNl9BM19UMi5qcwogKiBAZGVzY3JpcHRpb24gVHJ5IHRvIGltcGxlbWVudCBwZWZpeGluY3JlbWVudCBmb3Igbm90IGRlY2xhcmVkIGN1c3RvbSBwcm9wZXJ0eQogKi8KCnZhciBfX21hcD17fTsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKCFpc05hTigrK19fbWFwLmZvbykpIHsKICAkRVJST1IoJyMxOiAgdmFyIF9fbWFwPXt9OyBfX21hcC5mb28rKzsgX19tYXAuZm9vID09PSBOb3QtYS1OdW1iZXIuIEFjdHVhbDogJyArIChfX21hcC5mb28pKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzIKaWYgKCEoImZvbyIgaW4gX19tYXApKSB7CiAgJEVSUk9SKCcjMjogdmFyIF9fbWFwPXt9OyAiZm9vIiBpbiBfX21hcCcpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"Do not crash with pefixincrement custom property","description":"Try to implement pefixincrement for not declared custom property","path":"TestCases/ch08/8.6/S8.6_A3_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBBbiBPYmplY3QgaXMgYW4gdW5vcmRlcmVkIGNvbGxlY3Rpb24gb2YgcHJvcGVydGllcwogKgogKiBAcGF0aCBjaDA4LzguNi9TOC42X0E0X1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBTaW1wbGUgdXNpbmcgYSBmZXcgY3VzdG9tIHByb3BlcnRpZXMKICovCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vIENIRUNLIzEKdmFyIG9iaiA9IHtiYXI6dHJ1ZSwgc29tZToxLCBmb286ImEifTsKCnZhciBjb3VudD0wOwoKZm9yIChwcm9wZXJ0eSBpbiBvYmopCWNvdW50Kys7CgppZiAoY291bnQgIT09IDMpewogICRFUlJPUignIzE6IG9iaiA9IHtiYXI6dHJ1ZSwgc29tZToxLCBmb286ImEifTsgY291bnQ9MDsgZm9yIChwcm9wZXJ0eSBpbiBvYmopIGNvdW50Kys7IGNvdW50ID09PSAzLiBBY3R1YWw6ICcgKyAoY291bnQpKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovLyBDSEVDSyMyCnZhciBvYmpfID0ge2Jhcjp0cnVlfTsKb2JqXy5zb21lID0gMTsKb2JqXy5mb28gPSAiYSI7Cgpjb3VudD0wOwoKZm9yIChwcm9wZXJ0eSBpbiBvYmpfKSBjb3VudCsrOwoKaWYgKGNvdW50ICE9PSAzKXsKICAkRVJST1IoJyMyOiBvYmpfID0ge2Jhcjp0cnVlfTsgb2JqXy5zb21lID0gMTsgb2JqXy5mb28gPSAiYSI7IGNvdW50PTA7IGZvciAocHJvcGVydHkgaW4gb2JqXykgY291bnQrKzsgY291bnQgPT09IDMuIEFjdHVhbDogJyArIChjb3VudCkpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vIENIRUNLIzMKdmFyIG9ial9fID0gbmV3IE9iamVjdCgpOwpvYmpfXy5iYXIgPSB0cnVlOwpvYmpfXy5zb21lID0gMTsKb2JqX18uZm9vID0gImEiOwoKY291bnQ9MDsKCmZvciAocHJvcGVydHkgaW4gb2JqX18pCWNvdW50Kys7CgppZiAoY291bnQgIT09IDMpewogICRFUlJPUignIzM6IG9ial9fID0gbmV3IE9iamVjdCgpOyBvYmpfXy5iYXIgPSB0cnVlOyBvYmpfXy5zb21lID0gMTsgb2JqX18uZm9vID0gImEiOyBmb3IgKHByb3BlcnR5IGluIG9ial9fKSAgY291bnQrKzsgY291bnQgPT09IDMuIEFjdHVhbDogJyArIChjb3VudCkpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"An Object is an unordered collection of properties","description":"Simple using a few custom properties","path":"TestCases/ch08/8.6/S8.6_A4_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBBIHByb3BlcnR5IGNhbiBoYXZlIGF0dHJpYnV0ZSBSZWFkT25seSBsaWtlIEUgaW4gTWF0aAogKgogKiBAcGF0aCBjaDA4LzguNi84LjYuMS9TOC42LjFfQTEuanMKICogQGRlc2NyaXB0aW9uIFRyeSBjaGFuZ2UgTWF0aC5FIHByb3BlcnR5CiAqIEBub1N0cmljdAogKi8KCnZhciBfX2UgPSBNYXRoLkU7Ck1hdGguRT0xOwppZiAoTWF0aC5FICE9PV9fZSl7CiAgJEVSUk9SKCcjMTogX19lID0gTWF0aC5FOyBNYXRoLkU9MTsgTWF0aC5FID09PV9fZScpOwp9Cgo=","commentary":"A property can have attribute ReadOnly like E in Math","description":"Try change Math.E property","noStrict":"","path":"TestCases/ch08/8.6/8.6.1/S8.6.1_A1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBBIHByb3BlcnR5IGNhbiBoYXZlIGF0dHJpYnV0ZSBEb250RW51bSBsaWtlIGFsbCBwcm9wZXJ0aWVzIG9mIE51bWJlcgogKgogKiBAcGF0aCBjaDA4LzguNi84LjYuMS9TOC42LjFfQTIuanMKICogQGRlc2NyaXB0aW9uIFRyeSB0byBlbnVtZXJhdGUgcHJvcGVydGllcyBvZiBOdW1iZXIKICovCgovL0NIRUNLIzEKdmFyIGNvdW50PTA7CmZvciAocCBpbiBOdW1iZXIpIGNvdW50Kys7CmlmIChjb3VudCA+IDApewogICRFUlJPUignIzE6IGNvdW50PTA7IGZvciAocCBpbiBOdW1iZXIpIGNvdW50Kys7IGNvdW50ID4gMC4gQWN0dWFsOiAnICsgKGNvdW50KSk7Cn0KCg==","commentary":"A property can have attribute DontEnum like all properties of Number","description":"Try to enumerate properties of Number","path":"TestCases/ch08/8.6/8.6.1/S8.6.1_A2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBBIHByb3BlcnR5IGNhbiBoYXZlIGF0dHJpYnV0ZSBEb250RGVsZXRlIGxpa2UgTmFOIHByb3BlcnRpZSBvZiBOdW1iZXIgb2JqZWN0CiAqCiAqIEBwYXRoIGNoMDgvOC42LzguNi4xL1M4LjYuMV9BMy5qcwogKiBAZGVzY3JpcHRpb24gVHJ5IHRvIGRlbGV0ZSBOdW1iZXIuTmFOCiAqIEBub1N0cmljdAogKi8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKGRlbGV0ZSBOdW1iZXIuTmFOICE9PSBmYWxzZSl7CiAgJEVSUk9SKCcjMTogZGVsZXRlIE51bWJlci5OYU4gPT09IGZhbHNlLiBBY3R1YWw6ICcgKyAoZGVsZXRlIE51bWJlci5OYU4pKTsKfTsKLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMyCmlmICh0eXBlb2YoTnVtYmVyLk5hTikgPT09ICJ1bmRlZmluZWQiKXsKICAkRVJST1IoJyMyOiBkZWxldGUgTnVtYmVyLk5hTjsgdHlwZW9mKE51bWJlci5OYU4pICE9PSAidW5kZWZpbmVkIiAnKTsKfTsKLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"A property can have attribute DontDelete like NaN propertie of Number object","description":"Try to delete Number.NaN","noStrict":"","path":"TestCases/ch08/8.6/8.6.1/S8.6.1_A3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBOYXRpdmUgRUNNQVNjcmlwdCBvYmplY3RzIGhhdmUgYW4gaW50ZXJuYWwgcHJvcGVydHkgY2FsbGVkIFtbUHJvdG90eXBlXV0uIFRoZSB2YWx1ZSBvZiB0aGlzIHByb3BlcnR5IGlzCiAqIGVpdGhlciBudWxsIG9yIGFuIG9iamVjdCBhbmQgaXMgdXNlZCBmb3IgaW1wbGVtZW50aW5nIGluaGVyaXRhbmNlCiAqCiAqIEBwYXRoIGNoMDgvOC42LzguNi4yL1M4LjYuMl9BMS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2sgW1tQcm90b3R5cGVdXSBwcm9wZXJ0eSBvZiBvYmplY3QKICovCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCnZhciBfX29iaj17fTsKaWYgKCFPYmplY3QucHJvdG90eXBlLmlzUHJvdG90eXBlT2YoX19vYmopKXsKICAkRVJST1IoJyMxOiBOYXRpdmUgRUNNQVNjcmlwdCBvYmplY3RzIGhhdmUgYW4gaW50ZXJuYWwgcHJvcGVydHkgY2FsbGVkIFtbUHJvdG90eXBlXV0uICcpOwp9OwovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vRXN0YWJsaXNoIHByb3RvIChiYXNlKSBvYmplY3QKLypmdW5jdGlvbiBQcm90b09iaigpewogIAp9OyovCnZhciBwcm90b09iaj17fTsKLy9Fc3RhYmxpc2ggZm9vIG9iamVjdApmdW5jdGlvbiBGb29PYmooKXt9OwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMgovLyBJbnZva2UgaW5zdGFuY2Ugb2YgZm9vIG9iamVjdAp2YXIgb2JqX189IG5ldyBGb29PYmo7CgppZiAoIU9iamVjdC5wcm90b3R5cGUuaXNQcm90b3R5cGVPZihvYmpfXykpewogICRFUlJPUignIzIuMTogcHJvdG9PYmo9e307IGZ1bmN0aW9uIEZvb09iaigpe307IHZhciBvYmpfXz0gbmV3IEZvb09iajsgT2JqZWN0LnByb3RvdHlwZS5pc1Byb3RvdHlwZU9mKG9ial9fKSA9PT0gdHJ1ZS4gQWN0dWFsOiAnICsgKE9iamVjdC5wcm90b3R5cGUuaXNQcm90b3R5cGVPZihvYmpfXykpKTsKfTsKCmlmICghRm9vT2JqLnByb3RvdHlwZS5pc1Byb3RvdHlwZU9mKG9ial9fKSl7CiAgJEVSUk9SKCcjMi4yOiBwcm90b09iaj17fTsgZnVuY3Rpb24gRm9vT2JqKCl7fTsgdmFyIG9ial9fPSBuZXcgRm9vT2JqOyBGb29PYmoucHJvdG90eXBlLmlzUHJvdG90eXBlT2Yob2JqX18pID09PSB0cnVlLiBBY3R1YWw6ICcgKyAoRm9vT2JqLnByb3RvdHlwZS5pc1Byb3RvdHlwZU9mKG9ial9fKSkpOwp9OwoKaWYgKHByb3RvT2JqLmlzUHJvdG90eXBlT2Yob2JqX18pKXsKICAkRVJST1IoJyMyLjM6IHByb3RvT2JqPXt9OyBmdW5jdGlvbiBGb29PYmooKXt9OyB2YXIgb2JqX189IG5ldyBGb29PYmo7IHByb3RvT2JqLmlzUHJvdG90eXBlT2Yob2JqX18pID09PSBmYWxzZS4gQWN0dWFsOiAnICsgKHByb3RvT2JqLmlzUHJvdG90eXBlT2Yob2JqX18pKSk7Cn07Ci8vIEVzdGFibGlzaCBpbmhlcml0YW5jZSBmcm9tIHByb3RvIG9iamVjdApGb29PYmoucHJvdG90eXBlPXByb3RvT2JqOwoKaWYgKHByb3RvT2JqLmlzUHJvdG90eXBlT2Yob2JqX18pKXsKICAkRVJST1IoJyMyLjQ6IHByb3RvT2JqPXt9OyBmdW5jdGlvbiBGb29PYmooKXt9OyB2YXIgb2JqX189IG5ldyBGb29PYmo7IEZvb09iai5wcm90b3R5cGU9cHJvdG9PYmo7IHByb3RvT2JqLmlzUHJvdG90eXBlT2Yob2JqX18pID09PSBmYWxzZS4gQWN0dWFsOiAnICsgKHByb3RvT2JqLmlzUHJvdG90eXBlT2Yob2JqX18pKSk7Cn07Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMwoKLy8gSW52b2tlIGluc3RhbmNlIG9mIGZvbyBvYmplY3QKdmFyIF9fZm9vPW5ldyBGb29PYmo7CgppZiAoIU9iamVjdC5wcm90b3R5cGUuaXNQcm90b3R5cGVPZihfX2ZvbykpewogICRFUlJPUignIzMuMTogcHJvdG9PYmo9e307IGZ1bmN0aW9uIEZvb09iaigpe307IHZhciBvYmpfXz0gbmV3IEZvb09iajsgRm9vT2JqLnByb3RvdHlwZT1wcm90b09iajsgdmFyIF9fZm9vPW5ldyBGb29PYmo7IE9iamVjdC5wcm90b3R5cGUuaXNQcm90b3R5cGVPZihfX2ZvbykgPT09IHRydWUuIEFjdHVhbDogJyArIChPYmplY3QucHJvdG90eXBlLmlzUHJvdG90eXBlT2YoX19mb28pKSk7Cn07CgppZiAoIUZvb09iai5wcm90b3R5cGUuaXNQcm90b3R5cGVPZihfX2ZvbykpewogICRFUlJPUignIzMuMjogcHJvdG9PYmo9e307IGZ1bmN0aW9uIEZvb09iaigpe307IHZhciBvYmpfXz0gbmV3IEZvb09iajsgRm9vT2JqLnByb3RvdHlwZT1wcm90b09iajsgdmFyIF9fZm9vPW5ldyBGb29PYmo7IEZvb09iai5wcm90b3R5cGUuaXNQcm90b3R5cGVPZihfX2ZvbykgPT09IHRydWUuIEFjdHVhbDogJyArIChGb29PYmoucHJvdG90eXBlLmlzUHJvdG90eXBlT2YoX19mb28pKSk7Cn07CgppZiAoIXByb3RvT2JqLmlzUHJvdG90eXBlT2YoX19mb28pKXsKICAkRVJST1IoJyMzLjM6IHByb3RvT2JqPXt9OyBmdW5jdGlvbiBGb29PYmooKXt9OyB2YXIgb2JqX189IG5ldyBGb29PYmo7IEZvb09iai5wcm90b3R5cGU9cHJvdG9PYmo7IHZhciBfX2Zvbz1uZXcgRm9vT2JqOyBwcm90b09iai5pc1Byb3RvdHlwZU9mKF9fZm9vKSA9PT0gdHJ1ZS4gQWN0dWFsOiAnICsgKHByb3RvT2JqLmlzUHJvdG90eXBlT2YoX19mb28pKSk7Cn07Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"Native ECMAScript objects have an internal property called [[Prototype]]. The value of this property is\neither null or an object and is used for implementing inheritance","description":"Check [[Prototype]] property of object","path":"TestCases/ch08/8.6/8.6.2/S8.6.2_A1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBQcm9wZXJ0aWVzIG9mIHRoZSBbW1Byb3RvdHlwZV1dIG9iamVjdAogKiBhcmUgdmlzaWJsZSBhcyBwcm9wZXJ0aWVzIG9mIHRoZSBjaGlsZCBvYmplY3QgZm9yIHRoZSBwdXJwb3NlcyBvZiBnZXQgYWNjZXNzLCBidXQgbm90IGZvciBwdXQgYWNjZXNzCiAqCiAqIEBwYXRoIGNoMDgvOC42LzguNi4yL1M4LjYuMl9BMi5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2sgdmlzaWJpbGl0eSBwcm9wZXJ0aWVzIG9mIHRoZSBjaGlsZCBvYmplY3QgZm9yIHRoZSBwdXJwb3NlcyBvZiBnZXQgYWNjZXNzLCBidXQgbm90IGZvciBwdXQgYWNjZXNzCiAqLwoKLy9Fc3RhYmxpc2ggZm9vIG9iamVjdApmdW5jdGlvbiBGb29PYmooKXt9OwpGb29PYmoucHJvdG90eXBlLnByb3A9InNvbWUiOwoKLy8gSW52b2tlIGluc3RhbmNlIG9mIGZvbyBvYmplY3QKdmFyIGZvbz0gbmV3IEZvb09iajsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKGZvby5wcm9wICE9PSAic29tZSIpewogICRFUlJPUignIzE6IGZ1bmN0aW9uIEZvb09iaigpe307IEZvb09iai5wcm90b3R5cGUucHJvcD0ic29tZSI7IHZhciBmb289IG5ldyBGb29PYmo7IGZvby5wcm9wID09PSAic29tZSIuIEFjdHVhbDogJyArIChmb28ucHJvcCkpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMgpmb28ucHJvcD10cnVlOwovLyBJbnZva2UgYW5vdGhlciBpbnN0YW5jZSBvZiBmb28gb2JqZWN0CnZhciBmb29fXyA9IG5ldyBGb29PYmo7CmlmIChmb29fXy5wcm9wICE9PSAic29tZSIpewogICRFUlJPUignIzI6IGZ1bmN0aW9uIEZvb09iaigpe307IEZvb09iai5wcm90b3R5cGUucHJvcD0ic29tZSI7IHZhciBmb289IG5ldyBGb29PYmo7IGZvby5wcm9wPXRydWU7IHZhciBmb29fXyA9IG5ldyBGb29PYmo7IGZvb19fLnByb3AgPT09ICJzb21lIi4gQWN0dWFsOiAnICsgKGZvb19fLnByb3ApKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"Properties of the [[Prototype]] object\nare visible as properties of the child object for the purposes of get access, but not for put access","description":"Check visibility properties of the child object for the purposes of get access, but not for put access","path":"TestCases/ch08/8.6/8.6.2/S8.6.2_A2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgc3BlY2lmaWNhdGlvbiBkb2VzIG5vdCBwcm92aWRlIGFueSBtZWFucyBmb3IgYSBwcm9ncmFtIHRvIGFjY2VzcyBbW2NsYXNzXV0gdmFsdWUgZXhjZXB0IHRocm91Z2ggT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZwogKgogKiBAcGF0aCBjaDA4LzguNi84LjYuMi9TOC42LjJfQTMuanMKICogQGRlc2NyaXB0aW9uIEdldCBbW2NsYXNzXV0gdmFsdWUgZXhjZXB0IHRocm91Z2ggT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZwogKi8KCnZhciBfX29iaj17fTsKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAoX19vYmoudG9TdHJpbmcoKSAhPT0gIltvYmplY3QgIiArICdPYmplY3QnICsgIl0iKXsKICAkRVJST1IoJyMxOiB2YXIgX19vYmo9e307IF9fb2JqLnRvU3RyaW5nKCkgPT09ICJbb2JqZWN0ICIgKyBcJ09iamVjdFwnICsgIl0iLiBBY3R1YWw6ICcgKyAoX19vYmoudG9TdHJpbmcoKSkpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"The specification does not provide any means for a program to access [[class]] value except through Object.prototype.toString","description":"Get [[class]] value except through Object.prototype.toString","path":"TestCases/ch08/8.6/8.6.2/S8.6.2_A3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBbW0hhc0luc3RhbmNlXV0gcmV0dXJucyBhIGJvb2xlYW4gdmFsdWUgaW5kaWNhdGluZyB3aGV0aGVyIFZhbHVlIGRlbGVnYXRlcyBiZWhhdmlvdXIgdG8gdGhpcyBvYmplY3QKICoKICogQHBhdGggY2gwOC84LjYvOC42LjIvUzguNi4yX0E0LmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVjayB0aGF0IHRoZSBvYmogaW5zdGFuY2Ugb2YgT2JqZWN0LCBidXQgbm90IGluc3RhbmNlCiAqICBvZiBGdW5jdGlvbiwgU3RyaW5nLCBOdW1iZXIsIEFycmF5CiAqLwoKdmFyIF9fb2JqPXt9OwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAoIShfX29iaiBpbnN0YW5jZW9mIE9iamVjdCkpIHsKICAkRVJST1IoJyMxOiB2YXIgX19vYmo9e307IChfX29iaiBpbnN0YW5jZW9mIE9iamVjdCkgPT09IHRydWUuIEFjdHVhbDogJyArICgoX19vYmogaW5zdGFuY2VvZiBPYmplY3QpKSk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMyCmlmIChfX29iaiBpbnN0YW5jZW9mIEZ1bmN0aW9uKSB7CiAgJEVSUk9SKCcjMjogdmFyIF9fb2JqPXt9OyAoX19vYmogaW5zdGFuY2VvZiBGdW5jdGlvbikgPT09IGZhbHNlLiBBY3R1YWw6ICcgKyAoKF9fb2JqIGluc3RhbmNlb2YgRnVuY3Rpb24pKSk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMzCmlmIChfX29iaiBpbnN0YW5jZW9mIFN0cmluZykgewogICRFUlJPUignIzM6IHZhciBfX29iaj17fTsgKF9fb2JqIGluc3RhbmNlb2YgU3RyaW5nKSA9PT0gZmFsc2UuIEFjdHVhbDogJyArICgoX19vYmogaW5zdGFuY2VvZiBTdHJpbmcpKSk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyM0CmlmIChfX29iaiBpbnN0YW5jZW9mIE51bWJlcikgewogICRFUlJPUignIzQ6IHZhciBfX29iaj17fTsgKF9fb2JqIGluc3RhbmNlb2YgTnVtYmVyKSA9PT0gZmFsc2UuIEFjdHVhbDogJyArICgoX19vYmogaW5zdGFuY2VvZiBOdW1iZXIpKSk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyM1CmlmIChfX29iaiBpbnN0YW5jZW9mIEFycmF5KSB7CiAgJEVSUk9SKCcjNTogdmFyIF9fb2JqPXt9OyAoX19vYmogaW5zdGFuY2VvZiBBcnJheSkgPT09IGZhbHNlLiBBY3R1YWw6ICcgKyAoKF9fb2JqIGluc3RhbmNlb2YgQXJyYXkpKSk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"[[HasInstance]] returns a boolean value indicating whether Value delegates behaviour to this object","description":"Check that the obj instance of Object, but not instance\n of Function, String, Number, Array","path":"TestCases/ch08/8.6/8.6.2/S8.6.2_A4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBbW0NhbGxdXSBleGVjdXRlcyBjb2RlIGFzc29jaWF0ZWQgd2l0aCB0aGUgb2JqZWN0CiAqCiAqIEBwYXRoIGNoMDgvOC42LzguNi4yL1M4LjYuMl9BNV9UMS5qcwogKiBAZGVzY3JpcHRpb24gQ2FsbCBmdW5jdGlvbi1wcm9wZXJ0eSBvZiBvYmplY3QsIHByb3BlcnR5IGRlZmluZWQKICogIGFzIHRlc3RTY3JlZW4gPSB7dG91Y2g6ZnVuY3Rpb24oKXtjb3VudCsrfX0KICovCgp0aGlzLmNvdW50PTA7Cgp2YXIgdGVzdFNjcmVlbiA9IHt0b3VjaDpmdW5jdGlvbigpe2NvdW50Kyt9fTsKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQp0ZXN0U2NyZWVuLnRvdWNoKCk7CmlmIChjb3VudCAhPT0xKSB7CiAgJEVSUk9SKCcjMTogdGhpcy5jb3VudD0wOyB0ZXN0U2NyZWVuID0ge3RvdWNoOmZ1bmN0aW9uKCl7Y291bnQrK319OyB0ZXN0U2NyZWVuLnRvdWNoKCk7IGNvdW50ID09PSAxLiBBY3R1YWw6ICcgKyAoY291bnQpKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzIKdGVzdFNjcmVlblsndG91Y2gnXSgpOwppZiAoY291bnQgIT09MikgewogICRFUlJPUignIzI6IHRoaXMuY291bnQ9MDsgdGVzdFNjcmVlbiA9IHt0b3VjaDpmdW5jdGlvbigpe2NvdW50Kyt9fTsgdGVzdFNjcmVlbi50b3VjaCgpOyB0ZXN0U2NyZWVuW1wndG91Y2hcJ10oKTsgY291bnQgPT09IDIuIEFjdHVhbDogJyArIChjb3VudCkpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"[[Call]] executes code associated with the object","description":"Call function-property of object, property defined\n as testScreen = {touch:function(){count++}}","path":"TestCases/ch08/8.6/8.6.2/S8.6.2_A5_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBbW0NhbGxdXSBleGVjdXRlcyBjb2RlIGFzc29jaWF0ZWQgd2l0aCB0aGUgb2JqZWN0CiAqCiAqIEBwYXRoIGNoMDgvOC42LzguNi4yL1M4LjYuMl9BNV9UMi5qcwogKiBAZGVzY3JpcHRpb24gQ2FsbCBmdW5jdGlvbi1wcm9wZXJ0eSBvZiBvYmplY3QsIHByb3BlcnR5IGRlZmluZWQKICogIGFzIHNlYXRbJ21vdmUnXT1mdW5jdGlvbigpe3Bvc2l0aW9uKyt9CiAqLwoKdGhpcy5wb3NpdGlvbj0wOwp2YXIgc2VhdCA9IHt9OwpzZWF0Wydtb3ZlJ109ZnVuY3Rpb24oKXtwb3NpdGlvbisrfTsKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQpzZWF0Lm1vdmUoKTsKaWYgKHBvc2l0aW9uICE9PTEpIHsKICAkRVJST1IoJyMxOiB0aGlzLnBvc2l0aW9uPTA7IHNlYXQgPSB7fTsgc2VhdFtcJ21vdmVcJ109ZnVuY3Rpb24oKXtwb3NpdGlvbisrfTsgc2VhdC5tb3ZlKCk7IHBvc2l0aW9uID09PSAxLiBBY3R1YWw6ICcgKyAocG9zaXRpb24pKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzIKc2VhdFsnbW92ZSddKCk7CmlmIChwb3NpdGlvbiAhPT0yKSB7CiAgJEVSUk9SKCcjMjogdGhpcy5wb3NpdGlvbj0wOyBzZWF0ID0ge307IHNlYXRbXCdtb3ZlXCddPWZ1bmN0aW9uKCl7cG9zaXRpb24rK307IHNlYXQubW92ZSgpOyBzZWF0W1wnbW92ZVwnXSgpOyBwb3NpdGlvbiA9PT0gMi4gQWN0dWFsOiAnICsgKHBvc2l0aW9uKSk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"[[Call]] executes code associated with the object","description":"Call function-property of object, property defined\n as seat['move']=function(){position++}","path":"TestCases/ch08/8.6/8.6.2/S8.6.2_A5_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBbW0NhbGxdXSBleGVjdXRlcyBjb2RlIGFzc29jaWF0ZWQgd2l0aCB0aGUgb2JqZWN0CiAqCiAqIEBwYXRoIGNoMDgvOC42LzguNi4yL1M4LjYuMl9BNV9UMy5qcwogKiBAZGVzY3JpcHRpb24gQ2FsbCBmdW5jdGlvbi1wcm9wZXJ0eSBvZiBnbG9iYWwgb2JqZWN0LCBwcm9wZXJ0eSBkZWZpbmVkCiAqICBhcyBrbm9jaz1mdW5jdGlvbigpe2NvdW50Kyt9CiAqLwoKdmFyIGNvdW50PTA7CnZhciBrbm9jaz1mdW5jdGlvbigpe2NvdW50Kyt9OwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmtub2NrKCk7CmlmIChjb3VudCAhPT0xKSB7CiAgJEVSUk9SKCcjMTogY291bnQ9MDsga25vY2s9ZnVuY3Rpb24oKXtjb3VudCsrfTsga25vY2soKTsgY291bnQgPT09IDEuIEFjdHVhbDogJyArIChjb3VudCkpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMgp0aGlzWydrbm9jayddKCk7CmlmIChjb3VudCAhPT0yKSB7CiAgJEVSUk9SKCcjMjogY291bnQ9MDsga25vY2s9ZnVuY3Rpb24oKXtjb3VudCsrfTsga25vY2soKTsgdGhpc1tcJ2tub2NrXCddKCk7IGNvdW50ID09PSAyLiBBY3R1YWw6ICcgKyAoY291bnQpKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"[[Call]] executes code associated with the object","description":"Call function-property of global object, property defined\n as knock=function(){count++}","path":"TestCases/ch08/8.6/8.6.2/S8.6.2_A5_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBbW0NhbGxdXSBleGVjdXRlcyBjb2RlIGFzc29jaWF0ZWQgd2l0aCB0aGUgb2JqZWN0CiAqCiAqIEBwYXRoIGNoMDgvOC42LzguNi4yL1M4LjYuMl9BNV9UNC5qcwogKiBAZGVzY3JpcHRpb24gQ2FsbCBmdW5jdGlvbi1wcm9wZXJ0eSBvZiBnbG9iYWwgb2JqZWN0LCBwcm9wZXJ0eSBkZWZpbmVkCiAqICBhcyB0aGlzWydiZWVwJ109ZnVuY3Rpb24oKXtfX2NvdW50Kyt9CiAqLwoKdmFyIF9fY291bnQ9MDsKCnRoaXNbImJlZXAiXT1mdW5jdGlvbigpe19fY291bnQrK307Ci8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKYmVlcCgpOwppZiAoX19jb3VudCAhPT0xKSB7CiAgJEVSUk9SKCcjMTogX19jb3VudD0wOyB0aGlzWyJiZWVwIl09ZnVuY3Rpb24oKXtfX2NvdW50Kyt9OyBiZWVwKCk7IF9fY291bnQgPT09IDEuIEFjdHVhbDogJyArIChfX2NvdW50KSk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMyCnRoaXNbImJlZXAiXSgpOwppZiAoX19jb3VudCAhPT0yKSB7CiAgJEVSUk9SKCcjMjogX19jb3VudD0wOyB0aGlzWyJiZWVwIl09ZnVuY3Rpb24oKXtfX2NvdW50Kyt9OyBiZWVwKCk7IHRoaXNbImJlZXAiXSgpOyBfX2NvdW50ID09PSAyLiBBY3R1YWw6ICcgKyAoX19jb3VudCkpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"[[Call]] executes code associated with the object","description":"Call function-property of global object, property defined\n as this['beep']=function(){__count++}","path":"TestCases/ch08/8.6/8.6.2/S8.6.2_A5_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBbW0NvbnN0cnVjdF1dIGNvbnN0cnVjdHMgYW4gb2JqZWN0LiBJbnZva2VkIHZpYSB0aGUgbmV3IG9wZXJhdG9yLiBPYmplY3RzIHRoYXQgaW1wbGVtZW50IHRoaXMgaW50ZXJuYWwgbWV0aG9kIGFyZSBjYWxsZWQgY29uc3RydWN0b3JzCiAqCiAqIEBwYXRoIGNoMDgvOC42LzguNi4yL1M4LjYuMl9BNi5qcwogKiBAZGVzY3JpcHRpb24gQ3JlYXRlIGEgZmV3IE9iamVjdHMgdmlhIHRoZSBuZXcgb3BlcmF0b3IKICovCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCnZhciBvYmpJbnN0YW5jZT1uZXcgT2JqZWN0OwppZiAob2JqSW5zdGFuY2UuY29uc3RydWN0b3IgIT09IE9iamVjdCl7CiAgJEVSUk9SKCcjMTogdmFyIG9iakluc3RhbmNlPW5ldyBPYmplY3Q7IG9iakluc3RhbmNlLmNvbnN0cnVjdG9yID09PSBPYmplY3QuIEFjdHVhbDogJyArIChvYmpJbnN0YW5jZS5jb25zdHJ1Y3RvcikpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMgp2YXIgbnVtSW5zdGFuY2U9bmV3IE51bWJlcjsKaWYgKG51bUluc3RhbmNlLmNvbnN0cnVjdG9yICE9PSBOdW1iZXIpewogICRFUlJPUignIzI6IHZhciBudW1JbnN0YW5jZT1uZXcgTnVtYmVyOyBudW1JbnN0YW5jZS5jb25zdHJ1Y3RvciA9PT0gTnVtYmVyLiBBY3R1YWw6ICcgKyAobnVtSW5zdGFuY2UuY29uc3RydWN0b3IpKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"[[Construct]] constructs an object. Invoked via the new operator. Objects that implement this internal method are called constructors","description":"Create a few Objects via the new operator","path":"TestCases/ch08/8.6/8.6.2/S8.6.2_A6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPYmplY3RzIHRoYXQgaW1wbGVtZW50IGludGVybmFsIG1ldGhvZCBbW0NvbnN0cnVjdF1dIGFyZSBjYWxsZWQgY29uc3RydWN0b3JzLiBNYXRoIG9iamVjdCBpcyBOT1QgY29uc3RydWN0b3IKICoKICogQHBhdGggY2gwOC84LjYvOC42LjIvUzguNi4yX0E3LmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiBleGVjdXRpb24gb2YgInZhciBvYmpNYXRoPW5ldyBNYXRoIiBwYXNzZXMKICogQG5lZ2F0aXZlCiAqLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQp2YXIgb2JqTWF0aD1uZXcgTWF0aDsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"Objects that implement internal method [[Construct]] are called constructors. Math object is NOT constructor","description":"Checking if execution of \"var objMath=new Math\" passes","negative":"","path":"TestCases/ch08/8.6/8.6.2/S8.6.2_A7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMTEgR29vZ2xlIEluYy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBAcGF0aCBjaDA4LzguNi84LjYuMi9TOC42LjJfQTguanMKICogQGRlc2NyaXB0aW9uIEl0IHNob3VsZCBub3QgYmUgcG9zc2libGUgdG8gY2hhbmdlIHRoZSBbW1Byb3RvdHlwZV1dCiAqIG9mIGEgbm9uLWV4dGVuc2libGUgb2JqZWN0CiAqLwoKdmFyIHggPSBPYmplY3QucHJldmVudEV4dGVuc2lvbnMoe30pOwp2YXIgeSA9IHt9Owp0cnkgewogIHguX19wcm90b19fID0geTsKfSBjYXRjaCAoZXJyKSB7CiAgLy8gQXMgZmFyIGFzIHRoaXMgdGVzdCBpcyBjb25jZXJuZWQsIHdlIGFsbG93IHRoZSBhYm92ZSBhc3NpZ25tZW50CiAgLy8gdG8gZmFpbC4gVGhpcyBmYWlsdXJlIGRvZXMgdmlvbGF0ZSB0aGUgc3BlYyBhbmQgc2hvdWxkIHByb2JhYmx5CiAgLy8gYmUgdGVzdGVkIHNlcGFyYXRlbHkuCn0KaWYgKE9iamVjdC5nZXRQcm90b3R5cGVPZih4KSAhPT0gT2JqZWN0LnByb3RvdHlwZSkgewogICRFUlJPUigiUHJvdG90eXBlIG9mIG5vbi1leHRlbnNpYmxlIG9iamVjdCBtdXRhdGVkIik7Cn0KCg==","commentary":"","description":"It should not be possible to change the [[Prototype]]\nof a non-extensible object","path":"TestCases/ch08/8.6/8.6.2/S8.6.2_A8.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBEZWxldGUgb3BlcmF0b3IgZGVsZXRlcyBwdXJlIHByb3BlcnR5LCBzbyBpdCByZXR1cm5zIHRydWUgdG8gYmUgYXBwbHllZCB0byB0aGlzLnByb3BlcnR5CiAqCiAqIEBwYXRoIGNoMDgvOC43L1M4LjcuMV9BMS5qcwogKiBAZGVzY3JpcHRpb24gVHJ5IHRvIGRlbGV0ZSB0aGlzLnksIHdoZXJlIHkgaXMgdGhpcy55PTEKICovCgp0aGlzLnkgPSAxOwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmKChkZWxldGUgdGhpcy55KSAhPT0gdHJ1ZSl7CiAgJEVSUk9SKCcjMTogdGhpcy55ID0gMTsgKGRlbGV0ZSB0aGlzLnkpID09PSB0cnVlLiBBY3R1YWw6ICcgKyAoKGRlbGV0ZSB0aGlzLnkpKSk7Cn07Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzIKaWYgKHRoaXMueSAhPT0gdW5kZWZpbmVkKXsKICAkRVJST1IoJyMyOiB0aGlzLnkgPSAxOyAoZGVsZXRlIHRoaXMueSkgPT09IHRydWU7IHRoaXMueSA9PT0gdW5kZWZpbmVkLiBBY3R1YWw6ICcgKyAodGhpcy55KSk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"Delete operator deletes pure property, so it returns true to be applyed to this.property","description":"Try to delete this.y, where y is this.y=1","path":"TestCases/ch08/8.7/S8.7.1_A1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBEZWxldGUgb3BlcmF0b3IgY2FuJ3QgZGVsZXRlIHJlZmVyZW5jZSwgc28gaXQgcmV0dXJucyBmYWxzZSB0byBiZSBhcHBseWVkIHRvIHJlZmVyZW5jZQogKgogKiBAcGF0aCBjaDA4LzguNy9TOC43LjFfQTIuanMKICogQGRlc2NyaXB0aW9uIFRyeSB0byBkZWxldGUgeSwgd2hlcmUgeSBpcyB2YXIgeT0xCiAqIEBub1N0cmljdAogKi8KCnZhciB5ID0gMTsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYoZGVsZXRlIHkpewogICRFUlJPUignIzE6IHkgPSAxOyAoZGVsZXRlIHkpID09PSBmYWxzZS4gQWN0dWFsOiAnICsgKChkZWxldGUgeSkpKTsKfTsKLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMyCmlmICh5ICE9PSAxKSB7CiAgJEVSUk9SKCcjMjogeSA9IDE7IGRlbGV0ZSB5OyB5ID09PSAxLiBBY3R1YWw6ICcgKyAoeSkpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"Delete operator can't delete reference, so it returns false to be applyed to reference","description":"Try to delete y, where y is var y=1","noStrict":"","path":"TestCases/ch08/8.7/S8.7.1_A2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBHZXRWYWx1ZShWKSBtYXN0IGZhaWwKICoKICogQHBhdGggY2gwOC84LjcvUzguNy4yX0ExX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiBleGVjdXRpb24gb2YgIidsaXRlcmEnPTE7IiBmYWlscwogKiBAbmVnYXRpdmUKICovCgonbGl0ZXJhJz0xOwoK","commentary":"GetValue(V) mast fail","description":"Checking if execution of \"'litera'=1;\" fails","negative":"","path":"TestCases/ch08/8.7/S8.7.2_A1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBHZXRWYWx1ZShWKSBtYXN0IGZhaWwKICoKICogQHBhdGggY2gwOC84LjcvUzguNy4yX0ExX1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiBleGVjdXRpb24gb2YgIjE9MSIgZmFpbHMKICogQG5lZ2F0aXZlCiAqLwoKMT0xOwoK","commentary":"GetValue(V) mast fail","description":"Checking if execution of \"1=1\" fails","negative":"","path":"TestCases/ch08/8.7/S8.7.2_A1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiB4KysgY2FsbHMgR2V0VmFsdWUgdGhlbiBQdXRWYWx1ZSBzbyBhZnRlciBhcHBseWluZyBwb3N0Zml4IGluY3JlbWVudChhY3R1YWxseSBjb25yZXRlIG9wZXJhdG9yIHR5cGUgaXMgdW5pbXBvcnRhbnQpCiAqIHdlIG11c3QgaGF2ZSByZWZlcmVuY2UgdG8gZGVmaW5lZCB2YWx1ZQogKgogKiBAcGF0aCBjaDA4LzguNy9TOC43LjJfQTIuanMKICogQGRlc2NyaXB0aW9uIEV4ZWN1dGUgeCsrLCB3aGVyZSB4IGlzIHZhciB4CiAqLwoKdmFyIHg7Ci8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKHggIT09IHVuZGVmaW5lZCkgewogICRFUlJPUignIzE6IHZhciB4OyB4ID09PSB1bmRlZmluZWQuIEFjdHVhbDogJyArICh4KSk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCngrKzsKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMgppZiAoeCA9PT0gdW5kZWZpbmVkKSB7CiAgJEVSUk9SKCcjMjogdmFyIHg7IHgrKzsgeCAhPT0gdW5kZWZpbmVkJyk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"x++ calls GetValue then PutValue so after applying postfix increment(actually conrete operator type is unimportant)\nwe must have reference to defined value","description":"Execute x++, where x is var x","path":"TestCases/ch08/8.7/S8.7.2_A2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiB0aGlzLngrKyBjYWxscyBHZXRWYWx1ZSB0aGVuIFB1dFZhbHVlIHNvIGFmdGVyIGFwcGx5aW5nIHBvc3RmaXggaW5jcmVtZW50KGFjdHVhbGx5IGNvbnJldGUgb3BlcmF0b3IgdHlwZSBpcyB1bmltcG9ydGFuKQogKiB3ZSBtdXN0IGhhdmUgcmVmZXJlbmNlIHRvIGRlZmluZWQgdmFsdWUKICoKICogQHBhdGggY2gwOC84LjcvUzguNy4yX0EzLmpzCiAqIEBkZXNjcmlwdGlvbiBFeGVjdXRlIHRoaXMueCsrLCB3aGVyZSB0aGlzLnggaXMgdW5kZWZpbmVkCiAqLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAodGhpcy54ICE9PSB1bmRlZmluZWQpIHsKICAkRVJST1IoJyMxOiB0aGlzLnggPT09IHVuZGVmaW5lZC4gQWN0dWFsOiAnICsgKHRoaXMueCkpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwp0aGlzLngrKzsKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMgppZiAoeCA9PT0gdW5kZWZpbmVkKSB7CiAgJEVSUk9SKCcjMjogdGhpcy54OyB0aGlzLngrKzsgeCAhPT0gdW5kZWZpbmVkJyk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"this.x++ calls GetValue then PutValue so after applying postfix increment(actually conrete operator type is unimportan)\nwe must have reference to defined value","description":"Execute this.x++, where this.x is undefined","path":"TestCases/ch08/8.7/S8.7.2_A3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBNdWx0aXBsZSBWYXJpYWJsZXMgc2hvdWxkIFJlZmVycmluZyB0byBhIFNpbmdsZSBPYmplY3QKICoKICogQHBhdGggY2gwOC84LjcvUzguN19BMS5qcwogKiBAZGVzY3JpcHRpb24gQ3JlYXRlIG9iamVjdCBhbmQgcmVmZXJzIHRvIHRoZSBvdGhlciBvYmplY3QsIG1vZGlmeSBhIHByb3BlcnR5IGluIHRoZSBvcmlnaW5hbCBvYmplY3QuCiAqICBXZSBub3cgc2VlIHRoYXQgdGhhdCBjaGFuZ2UgaXMgcmVwcmVzZW50ZWQgaW4gYm90aCB2YXJpYWJsZXMKICovCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMKLy8gU2V0IG9iaiB0byBhbiBlbXB0eSBvYmplY3QKLy8KdmFyIG9iaiA9IG5ldyBPYmplY3QoKTsKLy8gb2JqUmVmIG5vdyByZWZlcnMgdG8gdGhlIG90aGVyIG9iamVjdAovLwp2YXIgb2JqUmVmID0gb2JqOwovLyBNb2RpZnkgYSBwcm9wZXJ0eSBpbiB0aGUgb3JpZ2luYWwgb2JqZWN0Cm9ialJlZi5vbmVQcm9wZXJ0eSA9IC0xOwpvYmoub25lUHJvcGVydHkgPSB0cnVlOwovLyBXZSBub3cgc2VlIHRoYXQgdGhhdCBjaGFuZ2UgaXMgcmVwcmVzZW50ZWQgaW4gYm90aCB2YXJpYWJsZXMKLy8gKFNpbmNlIHRoZXkgYm90aCByZWZlciB0byB0aGUgc2FtZSBvYmplY3QpCmlmKG9ialJlZi5vbmVQcm9wZXJ0eSAhPT0gdHJ1ZSl7CiAgJEVSUk9SKCcjMTogdmFyIG9iaiA9IG5ldyBPYmplY3QoKTsgdmFyIG9ialJlZiA9IG9iajsgb2JqUmVmLm9uZVByb3BlcnR5ID0gLTE7IG9iai5vbmVQcm9wZXJ0eSA9IHRydWU7IG9ialJlZi5vbmVQcm9wZXJ0eSA9PT0gdHJ1ZS4gQWN0dWFsOiAnICsgKG9ialJlZi5vbmVQcm9wZXJ0eSkpOwp9OwovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"Multiple Variables should Referring to a Single Object","description":"Create object and refers to the other object, modify a property in the original object.\n We now see that that change is represented in both variables","path":"TestCases/ch08/8.7/S8.7_A1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBSZWZlcmVuY2UgdG8gU2VsZi1Nb2RpZnlpbmcgT2JqZWN0IHJlbWFpbiB0aGUgaW50ZWdyaXR5CiAqCiAqIEBwYXRoIGNoMDgvOC43L1M4LjdfQTIuanMKICogQGRlc2NyaXB0aW9uIENyZWF0ZSBhIHJlZmVyZW5jZSB0byB0aGUgYXJyYXksIGFuZCBjaGFuZ2Ugb3JpZ2luYWwgYXJyYXkKICovCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCi8vIENyZWF0ZSBhbiBhcnJheSBvZiBpdGVtcwp2YXIgaXRlbXMgPSBuZXcgQXJyYXkoICJvbmUiLCAidHdvIiwgInRocmVlIiApOwovLyBDcmVhdGUgYSByZWZlcmVuY2UgdG8gdGhlIGFycmF5IG9mIGl0ZW1zCnZhciBpdGVtc1JlZiA9IGl0ZW1zOwovLyBBZGQgYW4gaXRlbSB0byB0aGUgb3JpZ2luYWwgYXJyYXkKaXRlbXMucHVzaCggImZvdXIiICk7dmFyIGl0ZW1zUmVmID0gaXRlbXM7Ci8vIFRoZSBsZW5ndGggb2YgZWFjaCBhcnJheSBzaG91bGQgYmUgdGhlIHNhbWUsCi8vIHNpbmNlIHRoZXkgYm90aCBwb2ludCB0byB0aGUgc2FtZSBhcnJheSBvYmplY3QKaWYoIGl0ZW1zUmVmLmxlbmd0aCAhPT0gNCl7CiAgJEVSUk9SKCcjMTogdmFyIGl0ZW1zID0gbmV3IEFycmF5KCAib25lIiwgInR3byIsICJ0aHJlZSIgKTsgdmFyIGl0ZW1zUmVmID0gaXRlbXM7IGl0ZW1zLnB1c2goICJmb3VyIiApO3ZhciBpdGVtc1JlZiA9IGl0ZW1zOyBpdGVtc1JlZi5sZW5ndGggIT09IDQnKTsKfTsKLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMKLy8gQ3JlYXRlIGFuIGFycmF5IG9mIGl0ZW1zCnZhciBpdGVtcyA9IG5ldyBBcnJheSggIm9uZSIsICJ0d28iLCAidGhyZWUiICk7Ci8vIENyZWF0ZSBhIHJlZmVyZW5jZSB0byB0aGUgYXJyYXkgb2YgaXRlbXMKdmFyIGl0ZW1zUmVmID0gaXRlbXM7Ci8vIEFkZCBhbiBpdGVtIHRvIHRoZSBvcmlnaW5hbCBhcnJheQppdGVtc1sxXT0iZHVvIjsKLy8gVGhlIGxlbmd0aCBvZiBlYWNoIGFycmF5IHNob3VsZCBiZSB0aGUgc2FtZSwKLy8gc2luY2UgdGhleSBib3RoIHBvaW50IHRvIHRoZSBzYW1lIGFycmF5IG9iamVjdAppZiggaXRlbXNSZWZbMV0gIT09ICJkdW8iKXsKICAkRVJST1IoJyMyOiB2YXIgaXRlbXMgPSBuZXcgQXJyYXkoICJvbmUiLCAidHdvIiwgInRocmVlIiApOyB2YXIgaXRlbXNSZWYgPSBpdGVtczsgaXRlbXNbMV09ImR1byI7IGl0ZW1zUmVmWzFdID09PSAiZHVvIi4gQWN0dWFsOiAnICsgKGl0ZW1zUmVmWzFdKSk7Cn07Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"Reference to Self-Modifying Object remain the integrity","description":"Create a reference to the array, and change original array","path":"TestCases/ch08/8.7/S8.7_A2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBDaGFuZ2luZyB0aGUgUmVmZXJlbmNlIG9mIGFuIE9iamVjdCBXaGlsZSBNYWludGFpbmluZyBJbnRlZ3JpdHkKICoKICogQHBhdGggY2gwOC84LjcvUzguN19BMy5qcwogKiBAZGVzY3JpcHRpb24gQ3JlYXRlIGEgcmVmZXJlbmNlIHRvIHRoZSBhcnJheSwgYW5kIHJlZGVmaW5lIG9yaWdpbmFsIGFycmF5IHdpdGggbmV3IGFycmF5CiAqLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjCi8vIFNldCBpdGVtcyB0byBhbiBhcnJheSAob2JqZWN0KSBvZiBzdHJpbmdzCnZhciBpdGVtcyA9IG5ldyBBcnJheSggIm9uZSIsICJ0d28iLCAidGhyZWUiICk7Ci8vIFNldCBpdGVtc1JlZiB0byBhIHJlZmVyZW5jZSB0byBpdGVtcwovLwp2YXIgaXRlbXNSZWYgPSBpdGVtczsKLy8gU2V0IGl0ZW1zIHRvIGVxdWFsIGEgbmV3IG9iamVjdAovLwppdGVtcyA9IG5ldyBBcnJheSggIm5ldyIsICJhcnJheSIgKTsKLy8gaXRlbXMgYW5kIGl0ZW1zUmVmIG5vdyBwb2ludCB0byBkaWZmZXJlbnQgb2JqZWN0cy4KLy8gaXRlbXMgcG9pbnRzIHRvIG5ldyBBcnJheSggIm5ldyIsICJhcnJheSIgKQovLyBpdGVtc1JlZiBwb2ludHMgdG8gbmV3IEFycmF5KCAib25lIiwgInR3byIsICJ0aHJlZSIgKQppZiggaXRlbXMgPT0gaXRlbXNSZWYgKXsKICAkRVJST1IoJyMxOiB2YXIgaXRlbXMgPSBuZXcgQXJyYXkoICJvbmUiLCAidHdvIiwgInRocmVlIiApOyB2YXIgaXRlbXNSZWYgPSBpdGVtczsgaXRlbXMgPSBuZXcgQXJyYXkoICJuZXciLCAiYXJyYXkiICk7IGl0ZW1zICE9IGl0ZW1zUmVmJyk7Cn07Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"Changing the Reference of an Object While Maintaining Integrity","description":"Create a reference to the array, and redefine original array with new array","path":"TestCases/ch08/8.7/S8.7_A3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPYmplY3QgTW9kaWZpY2F0aW9uIFJlc3VsdGluZyBpbiBhIE5ldyBPYmplY3QgZm9yIE5vdCBhIFNlbGYtTW9kaWZpZWQgT2JqZWN0IGxlYWRzIHRvIGxvc3Mgb2YgaW50ZWdyaXR5CiAqCiAqIEBwYXRoIGNoMDgvOC43L1M4LjdfQTQuanMKICogQGRlc2NyaXB0aW9uIENyZWF0ZSBhIHJlZmVyZW5jZSB0byB0aGUgc3RyaW5nLCBhbmQgQ29uY2F0ZW5hdGUgc29tZSBuZXcgdGV4dCBvbnRvIHRoZSBzdHJpbmcgb2JqZWN0CiAqLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjCi8vIFNldCBpdGVtIGVxdWFsIHRvIGEgbmV3IHN0cmluZyBvYmplY3QKdmFyIGl0ZW0gPSBuZXcgU3RyaW5nKCJ0ZXN0Iik7Ci8vIGl0ZW1SZWYgbm93IHJlZmVycyB0byB0aGUgc2FtZSBzdHJpbmcgb2JqZWN0CnZhciBpdGVtUmVmID0gaXRlbTsKLy8gQ29uY2F0ZW5hdGUgc29tZSBuZXcgdGV4dCBvbnRvIHRoZSBzdHJpbmcgb2JqZWN0Ci8vIE5PVEU6IFRoaXMgY3JlYXRlcyBhIG5ldyBvYmplY3QsIGFuZCBkb2VzIG5vdCBtb2RpZnkKLy8gdGhlIG9yaWdpbmFsIG9iamVjdC4KaXRlbSArPSAiaW5nIjsKLy8gVGhlIHZhbHVlcyBvZiBpdGVtIGFuZCBpdGVtUmVmIGFyZSBOT1QgZXF1YWwsIGFzIGEgd2hvbGUKLy8gbmV3IHN0cmluZyBvYmplY3QgaGFzIGJlZW4gY3JlYXRlZAppZiggaXRlbSA9PSBpdGVtUmVmICl7CiAgJEVSUk9SKCcjMTogdmFyIGl0ZW0gPSBuZXcgU3RyaW5nKCJ0ZXN0Iik7IHZhciBpdGVtUmVmID0gaXRlbTsgaXRlbSArPSAiaW5nIjsgaXRlbSAhPSBpdGVtUmVmJyk7Cn07Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"Object Modification Resulting in a New Object for Not a Self-Modified Object leads to loss of integrity","description":"Create a reference to the string, and Concatenate some new text onto the string object","path":"TestCases/ch08/8.7/S8.7_A4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBEZWxldGUgdW5hcnkgb3BlcmF0b3IgY2FuJ3QgZGVsZXRlIG9iamVjdCB0byBiZSByZWZlcmVuY2VkCiAqCiAqIEBwYXRoIGNoMDgvOC43L1M4LjdfQTVfVDEuanMKICogQGRlc2NyaXB0aW9uIERlbGV0ZSByZWZlcmVuY2VkIG9iamVjdCwgdmFyIF9fcmVmID0gb2JqCiAqIEBub1N0cmljdAogKi8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKHR5cGVvZihfX3JlZikgIT09ICJ1bmRlZmluZWQiKXsKICAgICRFUlJPUignIzE6IHR5cGVvZihfX3JlZikgPT09ICJ1bmRlZmluZWQiLiBBY3R1YWw6ICcgKyAodHlwZW9mKF9fcmVmKSkpOyAgCn07IAovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCnZhciBvYmogPSBuZXcgT2JqZWN0KCk7CnZhciBfX3JlZiA9IG9iajsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzIKaWYgKHR5cGVvZihfX3JlZikgPT09ICJ1bmRlZmluZWQiKXsKICAgICRFUlJPUignIzI6IG9iaiA9IG5ldyBPYmplY3QoKTsgdmFyIF9fcmVmID0gb2JqOyB0eXBlb2YoX19yZWYpICE9PSAidW5kZWZpbmVkIicpOwp9OyAKLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMzCmlmIChkZWxldGUgX19yZWYgIT09IGZhbHNlKXsKICAgICRFUlJPUignIzM6IG9iaiA9IG5ldyBPYmplY3QoKTsgdmFyIF9fcmVmID0gb2JqOyBkZWxldGUgX19yZWYgPT09IGZhbHNlLiBBY3R1YWw6ICcgKyAoZGVsZXRlIF9fcmVmKSk7Cn07Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjNAppZiAodHlwZW9mKF9fcmVmKSAhPT0gIm9iamVjdCIpewogICAgJEVSUk9SKCcjNDogb2JqID0gbmV3IE9iamVjdCgpOyB2YXIgX19yZWYgPSBvYmo7IGRlbGV0ZSBfX3JlZjsgdHlwZW9mKF9fcmVmKSA9PT0gIm9iamVjdCIuIEFjdHVhbDogJyArICh0eXBlb2YoX19yZWYpKSk7Cn07Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjNQppZiAodHlwZW9mKG9iaikgIT09ICJvYmplY3QiKXsKICAgICRFUlJPUignIzU6IG9iaiA9IG5ldyBPYmplY3QoKTsgdmFyIF9fcmVmID0gb2JqOyBkZWxldGUgX19yZWY7IHR5cGVvZihvYmopID09PSAib2JqZWN0Ii4gQWN0dWFsOiAnICsgKHR5cGVvZihvYmopKSk7Cn07Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"Delete unary operator can't delete object to be referenced","description":"Delete referenced object, var __ref = obj","noStrict":"","path":"TestCases/ch08/8.7/S8.7_A5_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBEZWxldGUgdW5hcnkgb3BlcmF0b3IgY2FuJ3QgZGVsZXRlIG9iamVjdCB0byBiZSByZWZlcmVuY2VkCiAqCiAqIEBwYXRoIGNoMDgvOC43L1M4LjdfQTVfVDIuanMKICogQGRlc2NyaXB0aW9uIERlbGV0ZSByZWZlcmVuY2VkIG9iamVjdCwgX19yZWYgPSBvYmoKICogQG5vU3RyaWN0CiAqLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAodHlwZW9mKF9fcmVmKSAhPT0gInVuZGVmaW5lZCIpewogICAgJEVSUk9SKCcjMTogdHlwZW9mKF9fcmVmKSA9PT0gInVuZGVmaW5lZCIuIEFjdHVhbDogJyArICh0eXBlb2YoX19yZWYpKSk7ICAKfTsgCi8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKdmFyIG9iaiA9IG5ldyBPYmplY3QoKTsKX19yZWYgPSBvYmo7CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMyCmlmICh0eXBlb2YoX19yZWYpID09PSAidW5kZWZpbmVkIil7CiAgICAkRVJST1IoJyMyOiBvYmogPSBuZXcgT2JqZWN0KCk7IF9fcmVmID0gb2JqOyB0eXBlb2YoX19yZWYpICE9PSAidW5kZWZpbmVkIicpOwp9OyAKLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMzCmlmIChkZWxldGUgX19yZWYgIT09IHRydWUpewogICAgJEVSUk9SKCcjMzogb2JqID0gbmV3IE9iamVjdCgpOyBfX3JlZiA9IG9iajsgZGVsZXRlIF9fcmVmID09PSB0cnVlLiBBY3R1YWw6ICcgKyAoZGVsZXRlIF9fcmVmKSk7Cn07Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjNAppZiAodHlwZW9mKF9fcmVmKSAhPT0gInVuZGVmaW5lZCIpewogICAgJEVSUk9SKCcjNDogb2JqID0gbmV3IE9iamVjdCgpOyBfX3JlZiA9IG9iajsgZGVsZXRlIF9fcmVmOyB0eXBlb2YoX19yZWYpID09PSAidW5kZWZpbmVkIi4gQWN0dWFsOiAnICsgKHR5cGVvZihfX3JlZikpKTsKfTsKLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyM1CmlmICh0eXBlb2Yob2JqKSAhPT0gIm9iamVjdCIpewogICAgJEVSUk9SKCcjNTogb2JqID0gbmV3IE9iamVjdCgpOyBfX3JlZiA9IG9iajsgZGVsZXRlIF9fcmVmOyB0eXBlb2Yob2JqKSA9PT0gIm9iamVjdCIuIEFjdHVhbDogJyArICh0eXBlb2Yob2JqKSkpOwp9OwovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"Delete unary operator can't delete object to be referenced","description":"Delete referenced object, __ref = obj","noStrict":"","path":"TestCases/ch08/8.7/S8.7_A5_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBQYXNzaW5nIGFyZ3VtZW50cyBieSB2YWx1ZSBkaWZmZXJzIGZyb20gYnkgcmVmZXJlbmNlIGFuZCBkbyBub3QgY2hhbmdlIHZhbHVlcyB0byBiZSBwYXNzZWQKICoKICogQHBhdGggY2gwOC84LjcvUzguN19BNi5qcwogKiBAZGVzY3JpcHRpb24gQWRkaW5nIG9yaWdpbmFsIHZhcmlhYmxlIHdpdGggcmVmZXJlbmNlZCBvbmUgaW5zaWRlIGZ1bmN0aW9uCiAqLwoKdmFyIG4gPSAxOwp2YXIgbSA9IG47CgpmdW5jdGlvbiBhZGRGaXJzdDJTZWNvbmQoZmlyc3QsIHNlY29uZCl7Zmlyc3QgKz0gc2Vjb25kO30KCmFkZEZpcnN0MlNlY29uZChuLCBtKTsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKG0gIT09IDEpIHsKICAkRVJST1IoJyMxOiB2YXIgbiA9IDE7IHZhciBtID0gbjsgZnVuY3Rpb24gYWRkRmlyc3QyU2Vjb25kKGZpcnN0LCBzZWNvbmQpe2ZpcnN0ICs9IHNlY29uZDt9IGFkZEZpcnN0MlNlY29uZChuLCBtKTsgbSA9PT0gMS4gQWN0dWFsOiAnICsgKG0pKTsKfQoKLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgoK","commentary":"Passing arguments by value differs from by reference and do not change values to be passed","description":"Adding original variable with referenced one inside function","path":"TestCases/ch08/8.7/S8.7_A6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBQYXNzaW5nIGFyZ3VtZW50cyBieSByZWZlcmVuY2UgZG8gY2hhbmdlIHZhbHVlcyBvZiByZWZlcmVuY2UgdG8gYmUgcGFzc2VkCiAqCiAqIEBwYXRoIGNoMDgvOC43L1M4LjdfQTcuanMKICogQGRlc2NyaXB0aW9uIEFkZCBuZXcgcHJvcGVydHkgdG8gb3JpZ2luYWwgdmFyaWFibGUgaW5zaWRlIGZ1bmN0aW9uCiAqLwoKdmFyIG4gPSB7fTsKdmFyIG0gPSBuOwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAodHlwZW9mIG0gIT09ICJvYmplY3QiKSB7CiAgJEVSUk9SKCcjMTogdmFyIG4gPSB7fTsgdmFyIG0gPSBuOyB0eXBlb2YgbSA9PT0gIm9iamVjdCIuIEFjdHVhbDogJyArICh0eXBlb2YgbSkpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKZnVuY3Rpb24gcG9wdWxhdGVBZ2UocGVyc29uKXtwZXJzb24uYWdlID0gNTA7fQoKcG9wdWxhdGVBZ2UobSk7CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMyCmlmIChuLmFnZSAhPT0gNTApIHsKICAkRVJST1IoJyMyOiB2YXIgbiA9IHt9OyB2YXIgbSA9IG47IGZ1bmN0aW9uIHBvcHVsYXRlQWdlKHBlcnNvbil7cGVyc29uLmFnZSA9IDUwO30gcG9wdWxhdGVBZ2UobSk7IG4uYWdlID09PSA1MC4gQWN0dWFsOiAnICsgKG4uYWdlKSk7Cn0KCi8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKCg==","commentary":"Passing arguments by reference do change values of reference to be passed","description":"Add new property to original variable inside function","path":"TestCases/ch08/8.7/S8.7_A7.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gwOC84LjcvOC43LjIvOC43LjItMS1zLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IE1vZGUgLSBSZWZlcmVuY2VFcnJvciBpcyB0aHJvd24gaWYgTGVmdEhhbmRTaWRlIGV2YWx1YXRlcyB0byBhbiB1bnJlc29sdmFibGUgUmVmZXJlbmNlDQogKiBAb25seVN0cmljdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgICJ1c2Ugc3RyaWN0IjsNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIGV2YWwoIl84XzdfMl8xID0gMTE7Iik7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiBlIGluc3RhbmNlb2YgUmVmZXJlbmNlRXJyb3I7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Strict Mode - ReferenceError is thrown if LeftHandSide evaluates to an unresolvable Reference","onlyStrict":"","path":"TestCases/ch08/8.7/8.7.2/8.7.2-1-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gwOC84LjcvOC43LjIvOC43LjItMi1zLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IE1vZGUgLSBSZWZlcmVuY2VFcnJvciBpc24ndCB0aHJvd24gaWYgTGVmdEhhbmRTaWRlIGV2YWx1YXRlcyB0byBhIHJlc29sdmFibGUgUmVmZXJlbmNlDQogKiBAb25seVN0cmljdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgICJ1c2Ugc3RyaWN0IjsNCiAgICAgICAgdmFyIGIgPSAxMTsNCiAgICAgICAgcmV0dXJuIGIgPT09IDExOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Strict Mode - ReferenceError isn't thrown if LeftHandSide evaluates to a resolvable Reference","onlyStrict":"","path":"TestCases/ch08/8.7/8.7.2/8.7.2-2-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gwOC84LjcvOC43LjIvOC43LjItMy0xLXMuanMNCiAqIEBkZXNjcmlwdGlvbiBldmFsIC0gYSBwcm9wZXJ0eSBuYW1lZCAnZXZhbCcgaXMgcGVybWl0dGVkDQogKiBAb25seVN0cmljdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICd1c2Ugc3RyaWN0JzsNCg0KICB2YXIgbyA9IHsgZXZhbDogNDJ9Ow0KICByZXR1cm4gdHJ1ZTsNCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"eval - a property named 'eval' is permitted","onlyStrict":"","path":"TestCases/ch08/8.7/8.7.2/8.7.2-3-1-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gwOC84LjcvOC43LjIvOC43LjItMy1hLTFncy5qcw0KICogQGRlc2NyaXB0aW9uIFN0cmljdCBNb2RlIC0gUmVmZXJlbmNlRXJyb3IgaXMgdGhyb3duIGlmIExlZnRIYW5kU2lkZSBldmFsdWF0ZSB0byBhbiB1bnJlc29sdmFibGUgUmVmZXJlbmNlDQogKiBAb25seVN0cmljdA0KICogQG5lZ2F0aXZlIC4NCiAqLw0KDQoidXNlIHN0cmljdCI7DQpiID0gMTE7DQo=","commentary":"","description":"Strict Mode - ReferenceError is thrown if LeftHandSide evaluate to an unresolvable Reference","negative":".","onlyStrict":"","path":"TestCases/ch08/8.7/8.7.2/8.7.2-3-a-1gs.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gwOC84LjcvOC43LjIvOC43LjItMy1hLTJncy5qcw0KICogQGRlc2NyaXB0aW9uIFN0cmljdCBNb2RlIC0gJ3J1bnRpbWUnIGVycm9yIGlzIHRocm93biBiZWZvcmUgTGVmdEhhbmRTaWRlIGV2YWx1YXRlcyB0byBhbiB1bnJlc29sdmFibGUgUmVmZXJlbmNlDQogKiBAb25seVN0cmljdA0KICogQG5lZ2F0aXZlIE5vdEVhcmx5RXJyb3INCiAqLw0KDQoidXNlIHN0cmljdCI7DQp0aHJvdyBOb3RFYXJseUVycm9yOw0KYiA9IDExOw0K","commentary":"","description":"Strict Mode - 'runtime' error is thrown before LeftHandSide evaluates to an unresolvable Reference","negative":"NotEarlyError","onlyStrict":"","path":"TestCases/ch08/8.7/8.7.2/8.7.2-3-a-2gs.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gwOC84LjcvOC43LjIvOC43LjItMy1zLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IE1vZGUgLSBUeXBlRXJyb3IgaXMgdGhyb3duIGlmIExlZnRIYW5kU2lkZSBpcyBhIHJlZmVyZW5jZSB0byBhIG5vbi13cml0YWJsZSBkYXRhIHByb3BlcnR5DQogKiBAb25seVN0cmljdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgICJ1c2Ugc3RyaWN0IjsNCiAgICAgICAgdmFyIF84XzdfMl8zID0ge307DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShfOF83XzJfMywgImIiLCB7DQogICAgICAgICAgICB3cml0YWJsZTogZmFsc2UNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIF84XzdfMl8zLmIgPSAxMTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBUeXBlRXJyb3I7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Strict Mode - TypeError is thrown if LeftHandSide is a reference to a non-writable data property","onlyStrict":"","path":"TestCases/ch08/8.7/8.7.2/8.7.2-3-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gwOC84LjcvOC43LjIvOC43LjItNC1zLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IE1vZGUgLSBUeXBlRXJyb3IgaXMgdGhyb3duIGlmIExlZnRIYW5kU2lkZSBpcyBhIHJlZmVyZW5jZSB0byBhbiBhY2Nlc3NvciBwcm9wZXJ0eSB3aXRoIG5vIHNldHRlcg0KICogQG9ubHlTdHJpY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICAidXNlIHN0cmljdCI7DQogICAgICAgIHZhciBfOF83XzJfNCA9IHt9Ow0KICAgICAgICB2YXIgXzhfN18yXzRfYlZhbHVlID0gMTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KF84XzdfMl80LCAiYiIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgeyByZXR1cm4gXzhfN18yXzRfYlZhbHVlOyB9DQogICAgICAgIH0pOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBfOF83XzJfNC5iID0gMTE7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiBlIGluc3RhbmNlb2YgVHlwZUVycm9yOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Strict Mode - TypeError is thrown if LeftHandSide is a reference to an accessor property with no setter","onlyStrict":"","path":"TestCases/ch08/8.7/8.7.2/8.7.2-4-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gwOC84LjcvOC43LjIvOC43LjItNS1zLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IE1vZGUgLSBUeXBlRXJyb3IgaXMgdGhyb3duIGlmIExlZnRIYW5kU2lkZSBpcyBhIHJlZmVyZW5jZSB0byBhIG5vbi1leGlzdGVudCBwcm9wZXJ0eSBvZiBhbiBub24tZXh0ZW5zaWJsZSBvYmplY3QNCiAqIEBvbmx5U3RyaWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgInVzZSBzdHJpY3QiOw0KICAgICAgICB2YXIgXzhfN18yXzUgPSB7fTsNCiAgICAgICAgT2JqZWN0LnByZXZlbnRFeHRlbnNpb25zKF84XzdfMl81KTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgXzhfN18yXzUuYiA9IDExOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFR5cGVFcnJvcjsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Strict Mode - TypeError is thrown if LeftHandSide is a reference to a non-existent property of an non-extensible object","onlyStrict":"","path":"TestCases/ch08/8.7/8.7.2/8.7.2-5-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gwOC84LjcvOC43LjIvOC43LjItNi1zLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IE1vZGUgLSBUeXBlRXJyb3IgaXNuJ3QgdGhyb3duIGlmIExlZnRIYW5kU2lkZSBpcyBhIHJlZmVyZW5jZSB0byBhIHdyaXRhYmxlIGRhdGEgcHJvcGVydHkNCiAqIEBvbmx5U3RyaWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgInVzZSBzdHJpY3QiOw0KICAgICAgICB2YXIgXzhfN18yXzYgPSB7fTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KF84XzdfMl82LCAiYiIsIHsNCiAgICAgICAgICAgIHdyaXRhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIF84XzdfMl82LmIgPSAxMTsNCg0KICAgICAgICByZXR1cm4gXzhfN18yXzYuYiA9PT0gMTE7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Strict Mode - TypeError isn't thrown if LeftHandSide is a reference to a writable data property","onlyStrict":"","path":"TestCases/ch08/8.7/8.7.2/8.7.2-6-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gwOC84LjcvOC43LjIvOC43LjItNy1zLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IE1vZGUgLSBUeXBlRXJyb3IgaXNuJ3QgdGhyb3duIGlmIExlZnRIYW5kU2lkZSBpcyBhIHJlZmVyZW5jZSB0byBhbiBhY2Nlc3NvciBwcm9wZXJ0eSB3aXRoIHNldHRlcg0KICogQG9ubHlTdHJpY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICAidXNlIHN0cmljdCI7DQogICAgICAgIHZhciBfOF83XzJfNyA9IHt9Ow0KICAgICAgICB2YXIgXzhfN18yXzdfYlZhbHVlID0gMTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KF84XzdfMl83LCAiYiIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgeyByZXR1cm4gXzhfN18yXzdfYlZhbHVlOyB9LA0KICAgICAgICAgICAgc2V0OiBmdW5jdGlvbiAodmFsdWUpIHsgXzhfN18yXzdfYlZhbHVlID0gdmFsdWU7IH0NCiAgICAgICAgfSk7DQoNCiAgICAgICAgXzhfN18yXzcuYiA9IDExOw0KICAgICAgICByZXR1cm4gXzhfN18yXzcuYiA9PT0gMTE7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Strict Mode - TypeError isn't thrown if LeftHandSide is a reference to an accessor property with setter","onlyStrict":"","path":"TestCases/ch08/8.7/8.7.2/8.7.2-7-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gwOC84LjcvOC43LjIvOC43LjItOC1zLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IE1vZGUgLSBUeXBlRXJyb3IgaXNuJ3QgdGhyb3duIGlmIExlZnRIYW5kU2lkZSBpcyBhIHJlZmVyZW5jZSB0byBhIHByb3BlcnR5IG9mIGFuIGV4dGVuc2libGUgb2JqZWN0DQogKiBAb25seVN0cmljdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgICJ1c2Ugc3RyaWN0IjsNCiAgICAgICAgdmFyIF84XzdfMl84ID0ge307DQoNCiAgICAgICAgXzhfN18yXzguYiA9IDExOw0KDQogICAgICAgIHJldHVybiBfOF83XzJfOC5iID09PSAxMTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Strict Mode - TypeError isn't thrown if LeftHandSide is a reference to a property of an extensible object","onlyStrict":"","path":"TestCases/ch08/8.7/8.7.2/8.7.2-8-s.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBWYWx1ZXMgb2YgdGhlIExpc3QgdHlwZSBhcmUgc2ltcGx5IG9yZGVyZWQgc2VxdWVuY2VzIG9mIHZhbHVlcwogKgogKiBAcGF0aCBjaDA4LzguOC9TOC44X0EyX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBDYWxsIGZ1bmN0aW9uIF9fbUZ1bmMoMSwyLDMpIHdpdGggMyBhcmd1bWVudHMKICovCgpmdW5jdGlvbiBfX21GdW5jKCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg7fTsKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAoX19tRnVuYygxLDIsMykgIT09IDMpewogICRFUlJPUignIzE6IGZ1bmN0aW9uIF9fbUZ1bmMoKXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aDt9OyBfX21GdW5jKDEsMiwzKSA9PT0gMy4gQWN0dWFsOiAnICsgKF9fbUZ1bmMoMSwyLDMpKSk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"Values of the List type are simply ordered sequences of values","description":"Call function __mFunc(1,2,3) with 3 arguments","path":"TestCases/ch08/8.8/S8.8_A2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBWYWx1ZXMgb2YgdGhlIExpc3QgdHlwZSBhcmUgc2ltcGx5IG9yZGVyZWQgc2VxdWVuY2VzIG9mIHZhbHVlcwogKgogKiBAcGF0aCBjaDA4LzguOC9TOC44X0EyX1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBDYWxsIGZ1bmN0aW9uIF9fbUZ1bmMoWywsXSkgd2l0aCAxIGFyZ3VtZW50cwogKi8KCmZ1bmN0aW9uIF9fbUZ1bmMoKXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aDt9OwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmIChfX21GdW5jKFssLF0pICE9PSAxKXsKICAkRVJST1IoJyMxOiBmdW5jdGlvbiBfX21GdW5jKCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg7fTsgX19tRnVuYyhbLCxdKSA9PT0gMS4gQWN0dWFsOiAnICsgKF9fbUZ1bmMoWywsXSkpKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"Values of the List type are simply ordered sequences of values","description":"Call function __mFunc([,,]) with 1 arguments","path":"TestCases/ch08/8.8/S8.8_A2_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBWYWx1ZXMgb2YgdGhlIExpc3QgdHlwZSBhcmUgc2ltcGx5IG9yZGVyZWQgc2VxdWVuY2VzIG9mIHZhbHVlcwogKgogKiBAcGF0aCBjaDA4LzguOC9TOC44X0EyX1QzLmpzCiAqIEBkZXNjcmlwdGlvbiBDYWxsIGZ1bmN0aW9uLCB0aGF0IGNvbmNhdGVuYXRlIGFsbCBpdGBzIGFyZ3VtZW50cwogKi8KCmZ1bmN0aW9uIF9fbUZ1bmMoKXt2YXIgX19hY2N1bT0iIjsgZm9yICh2YXIgaSA9IDA7IGkgPCBhcmd1bWVudHMubGVuZ3RoOyArK2kpe19fYWNjdW0gKz0gYXJndW1lbnRzW2ldfTtyZXR1cm4gX19hY2N1bTt9OwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmIChfX21GdW5jKCJBIiwiQiIsIkMiLCJEIiwiRSIsIkYiKSAhPT0gIkFCQ0RFRiIpewogICRFUlJPUignIzE6IGZ1bmN0aW9uIF9fbUZ1bmMoKXt2YXIgX19hY2N1bT0iIjsgZm9yICh2YXIgaSA9IDA7IGkgPCBhcmd1bWVudHMubGVuZ3RoOyArK2kpe19fYWNjdW0gKz0gYXJndW1lbnRzW2ldfTtyZXR1cm4gX19hY2N1bTt9OyBfX21GdW5jKCJBIiwiQiIsIkMiLCJEIiwiRSIsIkYiKSA9PT0gIkFCQ0RFRiIuIEFjdHVhbDogJyArIChfX21GdW5jKCJBIiwiQiIsIkMiLCJEIiwiRSIsIkYiKSkpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"Values of the List type are simply ordered sequences of values","description":"Call function, that concatenate all it`s arguments","path":"TestCases/ch08/8.8/S8.8_A2_T3.js"}]}}
\ No newline at end of file +{"testsCollection":{"name":"Chapter - ch08","numTests":"182","tests":[{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgVW5kZWZpbmVkIHR5cGUgaGFzIG9uZSB2YWx1ZSwgY2FsbGVkIHVuZGVmaW5lZAogKgogKiBAcGF0aCBjaDA4LzguMS9TOC4xX0ExX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiBleGVjdXRpb24gb2YgInZhciB4ID0gdW5kZWZpbmVkIiBwYXNzZXMKICovCgovLyBDSEVDSyMxCnZhciB4ID0gdW5kZWZpbmVkOwoK","commentary":"The Undefined type has one value, called undefined","description":"Checking if execution of \"var x = undefined\" passes","path":"TestCases/ch08/8.1/S8.1_A1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgVW5kZWZpbmVkIHR5cGUgaGFzIG9uZSB2YWx1ZSwgY2FsbGVkIHVuZGVmaW5lZAogKgogKiBAcGF0aCBjaDA4LzguMS9TOC4xX0ExX1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVjayB0eXBlb2YodW5kZWZpbmVkKSBhbmQgdHlwZW9mKHZvaWQgMCkKICovCgovLyBDSEVDSyMxCmlmICghKHR5cGVvZih1bmRlZmluZWQpID09PSAidW5kZWZpbmVkIikpIHsgCglFUlJPUignIzE6IHR5cGVvZih1bmRlZmluZWQpID09PSAidW5kZWZpbmVkIi4gQWN0dWFsOiAnICsgKHR5cGVvZih1bmRlZmluZWQpKSk7ICAKfSAKCi8vIENIRUNLIzIKaWYgKCEodHlwZW9mKHZvaWQgMCkgPT09ICJ1bmRlZmluZWQiKSkgeyAgCglFUlJPUignIzI6IHR5cGVvZih2b2lkIDApID09PSAidW5kZWZpbmVkIi4gQWN0dWFsOiAnICsgKHR5cGVvZih2b2lkIDApKSk7ICAKfQoKLy8gQ0hFQ0sjMwppZiAoISh1bmRlZmluZWQgPT09IHZvaWQgMCkpIHsgIAoJRVJST1IoJyMzOiB1bmRlZmluZWQgPT09IHZvaWQgMCcpOyAgCn0KCg==","commentary":"The Undefined type has one value, called undefined","description":"Check typeof(undefined) and typeof(void 0)","path":"TestCases/ch08/8.1/S8.1_A1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBBbnkgdmFyaWFibGUgdGhhdCBoYXMgbm90IGJlZW4gYXNzaWduZWQgYSB2YWx1ZSBoYXMgdGhlIHZhbHVlIHVuZGVmaW5lZAogKgogKiBAcGF0aCBjaDA4LzguMS9TOC4xX0EyX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVjayB0aGF0IHZhciB4IGhhdmUgdmFsdWUgYW5kIHR5cGUgdW5kZWZpbmVkCiAqLwoKdmFyIHg7CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vIENIRUNLIzEKaWYgKCEoeCA9PT0gdW5kZWZpbmVkKSkgewogICRFUlJPUignIzE6IHZhciB4OyB4ID09PSB1bmRlZmluZWQuIEFjdHVhbDogJyArICh4KSk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovLyBDSEVDSyMyCmlmICghKHR5cGVvZih4KSA9PT0gInVuZGVmaW5lZCIpKSB7CiAgJEVSUk9SKCcjMjogdmFyIHg7IHR5cGVvZih4KSA9PT0gInVuZGVmaW5lZCIuIEFjdHVhbDogJyArICh0eXBlb2YoeCkpKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vIENIRUNLIzMKaWYgKCEoeCA9PT0gdm9pZCAwKSkgewogICRFUlJPUignIzM6IHZhciB4OyB4ID09PSB2b2lkIDAuIEFjdHVhbDogJyArICh4KSk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"Any variable that has not been assigned a value has the value undefined","description":"Check that var x have value and type undefined","path":"TestCases/ch08/8.1/S8.1_A2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBBbnkgdmFyaWFibGUgdGhhdCBoYXMgbm90IGJlZW4gYXNzaWduZWQgYSB2YWx1ZSBoYXMgdGhlIHZhbHVlIHVuZGVmaW5lZAogKgogKiBAcGF0aCBjaDA4LzguMS9TOC4xX0EyX1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBGdW5jdGlvbiByZXR1cm4gdW5kZWZpbmVkCiAqLwoKLy8gQ0hFQ0sjMQpmdW5jdGlvbiB0ZXN0MSh4KSB7CglyZXR1cm4geDsKfQoKaWYgKCEodGVzdDEoKSA9PT0gdm9pZCAwKSkgewogICRFUlJPUignIzE6IGZ1bmN0aW9uIHRlc3QxKHgpe3JldHVybiB4fSB0ZXN0MSgpID09PSB2b2lkIDAuIEFjdHVhbDogJyArICh0ZXN0MSgpKSk7Cn0KCi8vIENIRUNLIzIKZnVuY3Rpb24gdGVzdDIoKSB7ICAKfQoKaWYgKCEodGVzdDIoKSA9PT0gdm9pZCAwKSkgewogICRFUlJPUignIzI6IGZ1bmN0aW9uIHRlc3QyKCl7fSB0ZXN0MigpID09PSB2b2lkIDAuIEFjdHVhbDogJyArICh0ZXN0MigpKSk7Cn0KCg==","commentary":"Any variable that has not been assigned a value has the value undefined","description":"Function return undefined","path":"TestCases/ch08/8.1/S8.1_A2_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiB1bmRlZmluZWQgaXMgbm90IGEga2V5d29yZAogKgogKiBAcGF0aCBjaDA4LzguMS9TOC4xX0EzLmpzCiAqIEBkZXNjcmlwdGlvbiBDcmVhdGUgdmFyaWFibGUgbmFtZWQgdW5kZWZpbmVkCiAqLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovLyBDSEVDSzEjCnZhciB1bmRlZmluZWQgPSAxOwovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"undefined is not a keyword","description":"Create variable named undefined","path":"TestCases/ch08/8.1/S8.1_A3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBwcm9wZXJ0eSBvZiBvYmplY3Qgbm90IGV4aXN0LCByZXR1cm4gdW5kZWZpbmVkCiAqCiAqIEBwYXRoIGNoMDgvOC4xL1M4LjFfQTQuanMKICogQGRlc2NyaXB0aW9uIENoZWNrIHZhbHVlIG9mIG5vdCBleGlzdGVkIHByb3BlcnR5CiAqLwoKLy8gQ0hFQ0sjMSAKaWYgKChuZXcgT2JqZWN0KCkpLm5ld1Byb3BlcnR5ICE9PSB1bmRlZmluZWQpIHsKICAkRVJST1IoJyMxOiAobmV3IE9iamVjdCgpKS5uZXdQcm9wZXJ0eSA9PT0gdW5kZWZpbmVkLiBBY3R1YWw6ICcgKyAoKG5ldyBPYmplY3QoKSkubmV3UHJvcGVydHkpKTsKfSAKCgo=","commentary":"If property of object not exist, return undefined","description":"Check value of not existed property","path":"TestCases/ch08/8.1/S8.1_A4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBGdW5jdGlvbiBhcmd1bWVudCB0aGF0IGlzbid0IHByb3ZpZGVkIGhhcyBhIHZhbHVlIG9mIHVuZGVmaW5lZAogKgogKiBAcGF0aCBjaDA4LzguMS9TOC4xX0E1LmpzCiAqIEBkZXNjcmlwdGlvbiBDYWxsIGZ1bmN0aW9uIHdpdGhvdXQgcHJvdmlkZWQgYXJndW1lbnQKICovCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy8KZnVuY3Rpb24gdGVzdChhcmcpIHsKLy8gQ2hlY2sgYW5kIG1ha2Ugc3VyZSB0aGF0IGFyZyBpcyBub3QgdW5kZWZpbmVkCglpZiAodHlwZW9mKGFyZykgIT09ICJ1bmRlZmluZWQiKSB7CiAgICAkRVJST1IoJyMxOiBGdW5jdGlvbiBhcmd1bWVudCB0aGF0IGlzblwndCBwcm92aWRlZCBoYXMgYSB2YWx1ZSBvZiB1bmRlZmluZWQuIEFjdHVhbDogJyArICh0eXBlb2YoYXJnKSkpOwogIH0KfQoKdGVzdCgpOwovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"Function argument that isn't provided has a value of undefined","description":"Call function without provided argument","path":"TestCases/ch08/8.1/S8.1_A5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gwOC84LjEyLzguMTIuMS84LjEyLjEtMV8xLmpzDQogKiBAZGVzY3JpcHRpb24gUHJvcGVydGllcyAtIFtbSGFzT3duUHJvcGVydHldXSAocHJvcGVydHkgZG9lcyBub3QgZXhpc3QpDQogKi8NCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICB2YXIgbyA9IHt9Ow0KICAgIHJldHVybiBvLmhhc093blByb3BlcnR5KCJmb28iKT09PWZhbHNlOw0KDQp9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Properties - [[HasOwnProperty]] (property does not exist)","path":"TestCases/ch08/8.12/8.12.1/8.12.1-1_1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gwOC84LjEyLzguMTIuMS84LjEyLjEtMV8xMC5qcw0KICogQGRlc2NyaXB0aW9uIFByb3BlcnRpZXMgLSBbW0hhc093blByb3BlcnR5XV0gKHdyaXRhYmxlLCBjb25maWd1cmFibGUsIG5vbi1lbnVtZXJhYmxlIG93biB2YWx1ZSBwcm9wZXJ0eSkNCiAqLw0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgIHZhciBvID0ge307DQogICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG8sICJmb28iLCB7dmFsdWU6IDQyLCB3cml0YWJsZTp0cnVlLCBjb25maWd1cmFibGU6dHJ1ZX0pOw0KICAgIHJldHVybiBvLmhhc093blByb3BlcnR5KCJmb28iKTsNCg0KfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Properties - [[HasOwnProperty]] (writable, configurable, non-enumerable own value property)","path":"TestCases/ch08/8.12/8.12.1/8.12.1-1_10.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gwOC84LjEyLzguMTIuMS84LjEyLjEtMV8xMS5qcw0KICogQGRlc2NyaXB0aW9uIFByb3BlcnRpZXMgLSBbW0hhc093blByb3BlcnR5XV0gKHdyaXRhYmxlLCBjb25maWd1cmFibGUsIGVudW1lcmFibGUgb3duIHZhbHVlIHByb3BlcnR5KQ0KICovDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgdmFyIG8gPSB7fTsNCiAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkobywgImZvbyIsIHt2YWx1ZTogNDIsIHdyaXRhYmxlOnRydWUsIGVudW1lcmFibGU6dHJ1ZSwgY29uZmlndXJhYmxlOnRydWV9KTsNCiAgICByZXR1cm4gby5oYXNPd25Qcm9wZXJ0eSgiZm9vIik7DQoNCn0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Properties - [[HasOwnProperty]] (writable, configurable, enumerable own value property)","path":"TestCases/ch08/8.12/8.12.1/8.12.1-1_11.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gwOC84LjEyLzguMTIuMS84LjEyLjEtMV8xMi5qcw0KICogQGRlc2NyaXB0aW9uIFByb3BlcnRpZXMgLSBbW0hhc093blByb3BlcnR5XV0gKG5vbi13cml0YWJsZSwgbm9uLWNvbmZpZ3VyYWJsZSwgbm9uLWVudW1lcmFibGUgaW5oZXJpdGVkIHZhbHVlIHByb3BlcnR5KQ0KICovDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgdmFyIGJhc2UgPSB7fTsNCiAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYmFzZSwgImZvbyIsIHt2YWx1ZTogNDJ9KTsNCiAgICB2YXIgbyA9IE9iamVjdC5jcmVhdGUoYmFzZSk7DQogICAgcmV0dXJuIG8uaGFzT3duUHJvcGVydHkoImZvbyIpPT09ZmFsc2U7DQoNCn0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Properties - [[HasOwnProperty]] (non-writable, non-configurable, non-enumerable inherited value property)","path":"TestCases/ch08/8.12/8.12.1/8.12.1-1_12.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gwOC84LjEyLzguMTIuMS84LjEyLjEtMV8xMy5qcw0KICogQGRlc2NyaXB0aW9uIFByb3BlcnRpZXMgLSBbW0hhc093blByb3BlcnR5XV0gKG5vbi13cml0YWJsZSwgbm9uLWNvbmZpZ3VyYWJsZSwgZW51bWVyYWJsZSBpbmhlcml0ZWQgdmFsdWUgcHJvcGVydHkpDQogKi8NCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICB2YXIgYmFzZSA9IHt9Ow0KICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShiYXNlLCAiZm9vIiwge3ZhbHVlOiA0MiwgZW51bWVyYWJsZTp0cnVlfSk7DQogICAgdmFyIG8gPSBPYmplY3QuY3JlYXRlKGJhc2UpOw0KICAgIHJldHVybiBvLmhhc093blByb3BlcnR5KCJmb28iKT09PWZhbHNlOw0KDQp9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Properties - [[HasOwnProperty]] (non-writable, non-configurable, enumerable inherited value property)","path":"TestCases/ch08/8.12/8.12.1/8.12.1-1_13.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gwOC84LjEyLzguMTIuMS84LjEyLjEtMV8xNC5qcw0KICogQGRlc2NyaXB0aW9uIFByb3BlcnRpZXMgLSBbW0hhc093blByb3BlcnR5XV0gKG5vbi13cml0YWJsZSwgY29uZmlndXJhYmxlLCBub24tZW51bWVyYWJsZSBpbmhlcml0ZWQgdmFsdWUgcHJvcGVydHkpDQogKi8NCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICB2YXIgYmFzZSA9IHt9Ow0KICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShiYXNlLCAiZm9vIiwge3ZhbHVlOiA0MiwgY29uZmlndXJhYmxlOnRydWV9KTsNCiAgICB2YXIgbyA9IE9iamVjdC5jcmVhdGUoYmFzZSk7DQogICAgcmV0dXJuIG8uaGFzT3duUHJvcGVydHkoImZvbyIpPT09ZmFsc2U7DQoNCn0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Properties - [[HasOwnProperty]] (non-writable, configurable, non-enumerable inherited value property)","path":"TestCases/ch08/8.12/8.12.1/8.12.1-1_14.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gwOC84LjEyLzguMTIuMS84LjEyLjEtMV8xNS5qcw0KICogQGRlc2NyaXB0aW9uIFByb3BlcnRpZXMgLSBbW0hhc093blByb3BlcnR5XV0gKHdyaXRhYmxlLCBub24tY29uZmlndXJhYmxlLCBub24tZW51bWVyYWJsZSBpbmhlcml0ZWQgdmFsdWUgcHJvcGVydHkpDQogKi8NCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICB2YXIgYmFzZSA9IHt9Ow0KICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShiYXNlLCAiZm9vIiwge3ZhbHVlOiA0Miwgd3JpdGFibGU6dHJ1ZX0pOw0KICAgIHZhciBvID0gT2JqZWN0LmNyZWF0ZShiYXNlKTsNCiAgICByZXR1cm4gby5oYXNPd25Qcm9wZXJ0eSgiZm9vIik9PT1mYWxzZTsNCg0KfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Properties - [[HasOwnProperty]] (writable, non-configurable, non-enumerable inherited value property)","path":"TestCases/ch08/8.12/8.12.1/8.12.1-1_15.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gwOC84LjEyLzguMTIuMS84LjEyLjEtMV8xNi5qcw0KICogQGRlc2NyaXB0aW9uIFByb3BlcnRpZXMgLSBbW0hhc093blByb3BlcnR5XV0gKG5vbi13cml0YWJsZSwgY29uZmlndXJhYmxlLCBlbnVtZXJhYmxlIGluaGVyaXRlZCB2YWx1ZSBwcm9wZXJ0eSkNCiAqLw0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgIHZhciBiYXNlID0ge307DQogICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGJhc2UsICJmb28iLCB7dmFsdWU6IDQyLCBjb25maWd1cmFibGU6dHJ1ZSwgZW51bWVyYWJsZTp0cnVlfSk7DQogICAgdmFyIG8gPSBPYmplY3QuY3JlYXRlKGJhc2UpOw0KICAgIHJldHVybiBvLmhhc093blByb3BlcnR5KCJmb28iKT09PWZhbHNlOw0KDQp9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Properties - [[HasOwnProperty]] (non-writable, configurable, enumerable inherited value property)","path":"TestCases/ch08/8.12/8.12.1/8.12.1-1_16.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gwOC84LjEyLzguMTIuMS84LjEyLjEtMV8xNy5qcw0KICogQGRlc2NyaXB0aW9uIFByb3BlcnRpZXMgLSBbW0hhc093blByb3BlcnR5XV0gKHdyaXRhYmxlLCBub24tY29uZmlndXJhYmxlLCBlbnVtZXJhYmxlIGluaGVyaXRlZCB2YWx1ZSBwcm9wZXJ0eSkNCiAqLw0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgIHZhciBiYXNlID0ge307DQogICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGJhc2UsICJmb28iLCB7dmFsdWU6IDQyLCB3cml0YWJsZTp0cnVlLCBlbnVtZXJhYmxlOnRydWV9KTsNCiAgICB2YXIgbyA9IE9iamVjdC5jcmVhdGUoYmFzZSk7DQogICAgcmV0dXJuIG8uaGFzT3duUHJvcGVydHkoImZvbyIpPT09ZmFsc2U7DQoNCn0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Properties - [[HasOwnProperty]] (writable, non-configurable, enumerable inherited value property)","path":"TestCases/ch08/8.12/8.12.1/8.12.1-1_17.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gwOC84LjEyLzguMTIuMS84LjEyLjEtMV8xOC5qcw0KICogQGRlc2NyaXB0aW9uIFByb3BlcnRpZXMgLSBbW0hhc093blByb3BlcnR5XV0gKHdyaXRhYmxlLCBjb25maWd1cmFibGUsIG5vbi1lbnVtZXJhYmxlIGluaGVyaXRlZCB2YWx1ZSBwcm9wZXJ0eSkNCiAqLw0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgIHZhciBiYXNlID0ge307DQogICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGJhc2UsICJmb28iLCB7dmFsdWU6IDQyLCB3cml0YWJsZTp0cnVlLCBjb25maWd1cmFibGU6dHJ1ZX0pOw0KICAgIHZhciBvID0gT2JqZWN0LmNyZWF0ZShiYXNlKTsNCiAgICByZXR1cm4gby5oYXNPd25Qcm9wZXJ0eSgiZm9vIik9PT1mYWxzZTsNCg0KfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Properties - [[HasOwnProperty]] (writable, configurable, non-enumerable inherited value property)","path":"TestCases/ch08/8.12/8.12.1/8.12.1-1_18.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gwOC84LjEyLzguMTIuMS84LjEyLjEtMV8xOS5qcw0KICogQGRlc2NyaXB0aW9uIFByb3BlcnRpZXMgLSBbW0hhc093blByb3BlcnR5XV0gKHdyaXRhYmxlLCBjb25maWd1cmFibGUsIGVudW1lcmFibGUgaW5oZXJpdGVkIHZhbHVlIHByb3BlcnR5KQ0KICovDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgdmFyIGJhc2UgPSB7fTsNCiAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYmFzZSwgImZvbyIsIHt2YWx1ZTogNDIsIHdyaXRhYmxlOnRydWUsIGVudW1lcmFibGU6dHJ1ZSwgY29uZmlndXJhYmxlOnRydWV9KTsNCiAgICB2YXIgbyA9IE9iamVjdC5jcmVhdGUoYmFzZSk7DQogICAgcmV0dXJuIG8uaGFzT3duUHJvcGVydHkoImZvbyIpPT09ZmFsc2U7DQoNCn0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Properties - [[HasOwnProperty]] (writable, configurable, enumerable inherited value property)","path":"TestCases/ch08/8.12/8.12.1/8.12.1-1_19.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gwOC84LjEyLzguMTIuMS84LjEyLjEtMV8yLmpzDQogKiBAZGVzY3JpcHRpb24gUHJvcGVydGllcyAtIFtbSGFzT3duUHJvcGVydHldXSAob2xkIHN0eWxlIG93biBwcm9wZXJ0eSkNCiAqLw0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgIHZhciBvID0ge2ZvbzogNDJ9Ow0KICAgIHJldHVybiBvLmhhc093blByb3BlcnR5KCJmb28iKTsNCg0KfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Properties - [[HasOwnProperty]] (old style own property)","path":"TestCases/ch08/8.12/8.12.1/8.12.1-1_2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gwOC84LjEyLzguMTIuMS84LjEyLjEtMV8yMC5qcw0KICogQGRlc2NyaXB0aW9uIFByb3BlcnRpZXMgLSBbW0hhc093blByb3BlcnR5XV0gKGxpdGVyYWwgb3duIGdldHRlciBwcm9wZXJ0eSkNCiAqLw0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgIHZhciBvID0geyBnZXQgZm9vKCkgeyByZXR1cm4gNDI7fSB9Ow0KICAgIHJldHVybiBvLmhhc093blByb3BlcnR5KCJmb28iKTsNCg0KfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Properties - [[HasOwnProperty]] (literal own getter property)","path":"TestCases/ch08/8.12/8.12.1/8.12.1-1_20.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gwOC84LjEyLzguMTIuMS84LjEyLjEtMV8yMS5qcw0KICogQGRlc2NyaXB0aW9uIFByb3BlcnRpZXMgLSBbW0hhc093blByb3BlcnR5XV0gKGxpdGVyYWwgb3duIHNldHRlciBwcm9wZXJ0eSkNCiAqLw0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgIHZhciBvID0geyBzZXQgZm9vKHgpIHs7fSB9Ow0KICAgIHJldHVybiBvLmhhc093blByb3BlcnR5KCJmb28iKTsNCg0KfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Properties - [[HasOwnProperty]] (literal own setter property)","path":"TestCases/ch08/8.12/8.12.1/8.12.1-1_21.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gwOC84LjEyLzguMTIuMS84LjEyLjEtMV8yMi5qcw0KICogQGRlc2NyaXB0aW9uIFByb3BlcnRpZXMgLSBbW0hhc093blByb3BlcnR5XV0gKGxpdGVyYWwgb3duIGdldHRlci9zZXR0ZXIgcHJvcGVydHkpDQogKi8NCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICB2YXIgbyA9IHsgZ2V0IGZvbygpIHsgcmV0dXJuIDQyO30sIHNldCBmb28oeCkgezt9IH07DQogICAgcmV0dXJuIG8uaGFzT3duUHJvcGVydHkoImZvbyIpOw0KDQp9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Properties - [[HasOwnProperty]] (literal own getter/setter property)","path":"TestCases/ch08/8.12/8.12.1/8.12.1-1_22.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gwOC84LjEyLzguMTIuMS84LjEyLjEtMV8yMy5qcw0KICogQGRlc2NyaXB0aW9uIFByb3BlcnRpZXMgLSBbW0hhc093blByb3BlcnR5XV0gKGxpdGVyYWwgaW5oZXJpdGVkIGdldHRlciBwcm9wZXJ0eSkNCiAqLw0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgIHZhciBiYXNlID0geyBnZXQgZm9vKCkgeyByZXR1cm4gNDI7fSB9Ow0KICAgIHZhciBvID0gT2JqZWN0LmNyZWF0ZShiYXNlKTsNCiAgICByZXR1cm4gby5oYXNPd25Qcm9wZXJ0eSgiZm9vIik9PT1mYWxzZTsNCg0KfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Properties - [[HasOwnProperty]] (literal inherited getter property)","path":"TestCases/ch08/8.12/8.12.1/8.12.1-1_23.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gwOC84LjEyLzguMTIuMS84LjEyLjEtMV8yNC5qcw0KICogQGRlc2NyaXB0aW9uIFByb3BlcnRpZXMgLSBbW0hhc093blByb3BlcnR5XV0gKGxpdGVyYWwgaW5oZXJpdGVkIHNldHRlciBwcm9wZXJ0eSkNCiAqLw0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgIHZhciBiYXNlID0geyBzZXQgZm9vKHgpIHs7fSB9Ow0KICAgIHZhciBvID0gT2JqZWN0LmNyZWF0ZShiYXNlKTsNCiAgICByZXR1cm4gby5oYXNPd25Qcm9wZXJ0eSgiZm9vIik9PT1mYWxzZTsNCg0KfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Properties - [[HasOwnProperty]] (literal inherited setter property)","path":"TestCases/ch08/8.12/8.12.1/8.12.1-1_24.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gwOC84LjEyLzguMTIuMS84LjEyLjEtMV8yNS5qcw0KICogQGRlc2NyaXB0aW9uIFByb3BlcnRpZXMgLSBbW0hhc093blByb3BlcnR5XV0gKGxpdGVyYWwgaW5oZXJpdGVkIGdldHRlci9zZXR0ZXIgcHJvcGVydHkpDQogKi8NCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICB2YXIgYmFzZSA9IHsgZ2V0IGZvbygpIHsgcmV0dXJuIDQyO30sIHNldCBmb28oeCkgezt9IH07DQogICAgdmFyIG8gPSBPYmplY3QuY3JlYXRlKGJhc2UpOw0KICAgIHJldHVybiBvLmhhc093blByb3BlcnR5KCJmb28iKT09PWZhbHNlOw0KDQp9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Properties - [[HasOwnProperty]] (literal inherited getter/setter property)","path":"TestCases/ch08/8.12/8.12.1/8.12.1-1_25.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gwOC84LjEyLzguMTIuMS84LjEyLjEtMV8yNi5qcw0KICogQGRlc2NyaXB0aW9uIFByb3BlcnRpZXMgLSBbW0hhc093blByb3BlcnR5XV0gKG5vbi1jb25maWd1cmFibGUsIG5vbi1lbnVtZXJhYmxlIG93biBnZXR0ZXIgcHJvcGVydHkpDQogKi8NCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICB2YXIgbyA9IHt9Ow0KICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvLCAiZm9vIiwge2dldDogZnVuY3Rpb24oKSB7cmV0dXJuIDQyO319KTsNCiAgICByZXR1cm4gby5oYXNPd25Qcm9wZXJ0eSgiZm9vIik7DQoNCn0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Properties - [[HasOwnProperty]] (non-configurable, non-enumerable own getter property)","path":"TestCases/ch08/8.12/8.12.1/8.12.1-1_26.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gwOC84LjEyLzguMTIuMS84LjEyLjEtMV8yNy5qcw0KICogQGRlc2NyaXB0aW9uIFByb3BlcnRpZXMgLSBbW0hhc093blByb3BlcnR5XV0gKG5vbi1jb25maWd1cmFibGUsIGVudW1lcmFibGUgb3duIGdldHRlciBwcm9wZXJ0eSkNCiAqLw0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgIHZhciBvID0ge307DQogICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG8sICJmb28iLCB7Z2V0OiBmdW5jdGlvbigpIHtyZXR1cm4gNDI7fSwgZW51bWVyYWJsZTp0cnVlfSk7DQogICAgcmV0dXJuIG8uaGFzT3duUHJvcGVydHkoImZvbyIpOw0KDQp9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Properties - [[HasOwnProperty]] (non-configurable, enumerable own getter property)","path":"TestCases/ch08/8.12/8.12.1/8.12.1-1_27.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gwOC84LjEyLzguMTIuMS84LjEyLjEtMV8yOC5qcw0KICogQGRlc2NyaXB0aW9uIFByb3BlcnRpZXMgLSBbW0hhc093blByb3BlcnR5XV0gKGNvbmZpZ3VyYWJsZSwgbm9uLWVudW1lcmFibGUgb3duIGdldHRlciBwcm9wZXJ0eSkNCiAqLw0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgIHZhciBvID0ge307DQogICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG8sICJmb28iLCB7Z2V0OiBmdW5jdGlvbigpIHtyZXR1cm4gNDI7fSwgY29uZmlndXJhYmxlOnRydWV9KTsNCiAgICByZXR1cm4gby5oYXNPd25Qcm9wZXJ0eSgiZm9vIik7DQoNCn0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Properties - [[HasOwnProperty]] (configurable, non-enumerable own getter property)","path":"TestCases/ch08/8.12/8.12.1/8.12.1-1_28.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gwOC84LjEyLzguMTIuMS84LjEyLjEtMV8yOS5qcw0KICogQGRlc2NyaXB0aW9uIFByb3BlcnRpZXMgLSBbW0hhc093blByb3BlcnR5XV0gKGNvbmZpZ3VyYWJsZSwgZW51bWVyYWJsZSBvd24gZ2V0dGVyIHByb3BlcnR5KQ0KICovDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgdmFyIG8gPSB7fTsNCiAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkobywgImZvbyIsIHtnZXQ6IGZ1bmN0aW9uKCkge3JldHVybiA0Mjt9LCBlbnVtZXJhYmxlOnRydWUsIGNvbmZpZ3VyYWJsZTp0cnVlfSk7DQogICAgcmV0dXJuIG8uaGFzT3duUHJvcGVydHkoImZvbyIpOw0KDQp9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Properties - [[HasOwnProperty]] (configurable, enumerable own getter property)","path":"TestCases/ch08/8.12/8.12.1/8.12.1-1_29.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gwOC84LjEyLzguMTIuMS84LjEyLjEtMV8zLmpzDQogKiBAZGVzY3JpcHRpb24gUHJvcGVydGllcyAtIFtbSGFzT3duUHJvcGVydHldXSAob2xkIHN0eWxlIGluaGVyaXRlZCBwcm9wZXJ0eSkNCiAqLw0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgIHZhciBiYXNlID0ge2Zvbzo0Mn07DQogICAgdmFyIG8gPSBPYmplY3QuY3JlYXRlKGJhc2UpOw0KICAgIHJldHVybiBvLmhhc093blByb3BlcnR5KCJmb28iKT09PWZhbHNlOw0KDQp9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Properties - [[HasOwnProperty]] (old style inherited property)","path":"TestCases/ch08/8.12/8.12.1/8.12.1-1_3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gwOC84LjEyLzguMTIuMS84LjEyLjEtMV8zMC5qcw0KICogQGRlc2NyaXB0aW9uIFByb3BlcnRpZXMgLSBbW0hhc093blByb3BlcnR5XV0gKG5vbi1jb25maWd1cmFibGUsIG5vbi1lbnVtZXJhYmxlIG93biBzZXR0ZXIgcHJvcGVydHkpDQogKi8NCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICB2YXIgbyA9IHt9Ow0KICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvLCAiZm9vIiwge3NldDogZnVuY3Rpb24oKSB7O319KTsNCiAgICByZXR1cm4gby5oYXNPd25Qcm9wZXJ0eSgiZm9vIik7DQoNCn0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Properties - [[HasOwnProperty]] (non-configurable, non-enumerable own setter property)","path":"TestCases/ch08/8.12/8.12.1/8.12.1-1_30.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gwOC84LjEyLzguMTIuMS84LjEyLjEtMV8zMS5qcw0KICogQGRlc2NyaXB0aW9uIFByb3BlcnRpZXMgLSBbW0hhc093blByb3BlcnR5XV0gKG5vbi1jb25maWd1cmFibGUsIGVudW1lcmFibGUgb3duIHNldHRlciBwcm9wZXJ0eSkNCiAqLw0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgIHZhciBvID0ge307DQogICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG8sICJmb28iLCB7c2V0OiBmdW5jdGlvbigpIHs7fSwgZW51bWVyYWJsZTp0cnVlfSk7DQogICAgcmV0dXJuIG8uaGFzT3duUHJvcGVydHkoImZvbyIpOw0KDQp9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Properties - [[HasOwnProperty]] (non-configurable, enumerable own setter property)","path":"TestCases/ch08/8.12/8.12.1/8.12.1-1_31.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gwOC84LjEyLzguMTIuMS84LjEyLjEtMV8zMi5qcw0KICogQGRlc2NyaXB0aW9uIFByb3BlcnRpZXMgLSBbW0hhc093blByb3BlcnR5XV0gKGNvbmZpZ3VyYWJsZSwgbm9uLWVudW1lcmFibGUgb3duIHNldHRlciBwcm9wZXJ0eSkNCiAqLw0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgIHZhciBvID0ge307DQogICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG8sICJmb28iLCB7c2V0OiBmdW5jdGlvbigpIHs7fSwgY29uZmlndXJhYmxlOnRydWV9KTsNCiAgICByZXR1cm4gby5oYXNPd25Qcm9wZXJ0eSgiZm9vIik7DQoNCn0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Properties - [[HasOwnProperty]] (configurable, non-enumerable own setter property)","path":"TestCases/ch08/8.12/8.12.1/8.12.1-1_32.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gwOC84LjEyLzguMTIuMS84LjEyLjEtMV8zMy5qcw0KICogQGRlc2NyaXB0aW9uIFByb3BlcnRpZXMgLSBbW0hhc093blByb3BlcnR5XV0gKGNvbmZpZ3VyYWJsZSwgZW51bWVyYWJsZSBvd24gc2V0dGVyIHByb3BlcnR5KQ0KICovDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgdmFyIG8gPSB7fTsNCiAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkobywgImZvbyIsIHtzZXQ6IGZ1bmN0aW9uKCkgezt9LCBlbnVtZXJhYmxlOnRydWUsIGNvbmZpZ3VyYWJsZTp0cnVlfSk7DQogICAgcmV0dXJuIG8uaGFzT3duUHJvcGVydHkoImZvbyIpOw0KDQp9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Properties - [[HasOwnProperty]] (configurable, enumerable own setter property)","path":"TestCases/ch08/8.12/8.12.1/8.12.1-1_33.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gwOC84LjEyLzguMTIuMS84LjEyLjEtMV8zNC5qcw0KICogQGRlc2NyaXB0aW9uIFByb3BlcnRpZXMgLSBbW0hhc093blByb3BlcnR5XV0gKG5vbi1jb25maWd1cmFibGUsIG5vbi1lbnVtZXJhYmxlIG93biBnZXR0ZXIvc2V0dGVyIHByb3BlcnR5KQ0KICovDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgdmFyIG8gPSB7fTsNCiAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkobywgImZvbyIsIHtnZXQ6IGZ1bmN0aW9uKCkge3JldHVybiA0Mjt9LCBzZXQ6IGZ1bmN0aW9uKCkgezt9fSk7DQogICAgcmV0dXJuIG8uaGFzT3duUHJvcGVydHkoImZvbyIpOw0KDQp9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Properties - [[HasOwnProperty]] (non-configurable, non-enumerable own getter/setter property)","path":"TestCases/ch08/8.12/8.12.1/8.12.1-1_34.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gwOC84LjEyLzguMTIuMS84LjEyLjEtMV8zNS5qcw0KICogQGRlc2NyaXB0aW9uIFByb3BlcnRpZXMgLSBbW0hhc093blByb3BlcnR5XV0gKG5vbi1jb25maWd1cmFibGUsIGVudW1lcmFibGUgb3duIGdldHRlci9zZXR0ZXIgcHJvcGVydHkpDQogKi8NCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICB2YXIgbyA9IHt9Ow0KICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvLCAiZm9vIiwge2dldDogZnVuY3Rpb24oKSB7cmV0dXJuIDQyO30sIHNldDogZnVuY3Rpb24oKSB7O30sIGVudW1lcmFibGU6dHJ1ZX0pOw0KICAgIHJldHVybiBvLmhhc093blByb3BlcnR5KCJmb28iKTsNCg0KfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Properties - [[HasOwnProperty]] (non-configurable, enumerable own getter/setter property)","path":"TestCases/ch08/8.12/8.12.1/8.12.1-1_35.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gwOC84LjEyLzguMTIuMS84LjEyLjEtMV8zNi5qcw0KICogQGRlc2NyaXB0aW9uIFByb3BlcnRpZXMgLSBbW0hhc093blByb3BlcnR5XV0gKGNvbmZpZ3VyYWJsZSwgbm9uLWVudW1lcmFibGUgb3duIGdldHRlci9zZXR0ZXIgcHJvcGVydHkpDQogKi8NCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICB2YXIgbyA9IHt9Ow0KICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvLCAiZm9vIiwge2dldDogZnVuY3Rpb24oKSB7cmV0dXJuIDQyO30sIHNldDogZnVuY3Rpb24oKSB7O30sIGNvbmZpZ3VyYWJsZTp0cnVlfSk7DQogICAgcmV0dXJuIG8uaGFzT3duUHJvcGVydHkoImZvbyIpOw0KDQp9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Properties - [[HasOwnProperty]] (configurable, non-enumerable own getter/setter property)","path":"TestCases/ch08/8.12/8.12.1/8.12.1-1_36.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gwOC84LjEyLzguMTIuMS84LjEyLjEtMV8zNy5qcw0KICogQGRlc2NyaXB0aW9uIFByb3BlcnRpZXMgLSBbW0hhc093blByb3BlcnR5XV0gKGNvbmZpZ3VyYWJsZSwgZW51bWVyYWJsZSBvd24gZ2V0dGVyL3NldHRlciBwcm9wZXJ0eSkNCiAqLw0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgIHZhciBvID0ge307DQogICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG8sICJmb28iLCB7Z2V0OiBmdW5jdGlvbigpIHtyZXR1cm4gNDI7fSwgc2V0OiBmdW5jdGlvbigpIHs7fSwgZW51bWVyYWJsZTp0cnVlLCBjb25maWd1cmFibGU6dHJ1ZX0pOw0KICAgIHJldHVybiBvLmhhc093blByb3BlcnR5KCJmb28iKTsNCg0KfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Properties - [[HasOwnProperty]] (configurable, enumerable own getter/setter property)","path":"TestCases/ch08/8.12/8.12.1/8.12.1-1_37.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gwOC84LjEyLzguMTIuMS84LjEyLjEtMV8zOC5qcw0KICogQGRlc2NyaXB0aW9uIFByb3BlcnRpZXMgLSBbW0hhc093blByb3BlcnR5XV0gKG5vbi1jb25maWd1cmFibGUsIG5vbi1lbnVtZXJhYmxlIGluaGVyaXRlZCBnZXR0ZXIgcHJvcGVydHkpDQogKi8NCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICB2YXIgYmFzZSA9IHt9Ow0KICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShiYXNlLCAiZm9vIiwge2dldDogZnVuY3Rpb24oKSB7cmV0dXJuIDQyO319KTsNCiAgICB2YXIgbyA9IE9iamVjdC5jcmVhdGUoYmFzZSk7DQogICAgcmV0dXJuIG8uaGFzT3duUHJvcGVydHkoImZvbyIpPT09ZmFsc2U7DQoNCn0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Properties - [[HasOwnProperty]] (non-configurable, non-enumerable inherited getter property)","path":"TestCases/ch08/8.12/8.12.1/8.12.1-1_38.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gwOC84LjEyLzguMTIuMS84LjEyLjEtMV8zOS5qcw0KICogQGRlc2NyaXB0aW9uIFByb3BlcnRpZXMgLSBbW0hhc093blByb3BlcnR5XV0gKG5vbi1jb25maWd1cmFibGUsIGVudW1lcmFibGUgaW5oZXJpdGVkIGdldHRlciBwcm9wZXJ0eSkNCiAqLw0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgIHZhciBiYXNlID0ge307DQogICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGJhc2UsICJmb28iLCB7Z2V0OiBmdW5jdGlvbigpIHtyZXR1cm4gNDI7fSwgZW51bWVyYWJsZTp0cnVlfSk7DQogICAgdmFyIG8gPSBPYmplY3QuY3JlYXRlKGJhc2UpOw0KICAgIHJldHVybiBvLmhhc093blByb3BlcnR5KCJmb28iKT09PWZhbHNlOw0KDQp9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Properties - [[HasOwnProperty]] (non-configurable, enumerable inherited getter property)","path":"TestCases/ch08/8.12/8.12.1/8.12.1-1_39.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gwOC84LjEyLzguMTIuMS84LjEyLjEtMV80LmpzDQogKiBAZGVzY3JpcHRpb24gUHJvcGVydGllcyAtIFtbSGFzT3duUHJvcGVydHldXSAobm9uLXdyaXRhYmxlLCBub24tY29uZmlndXJhYmxlLCBub24tZW51bWVyYWJsZSBvd24gdmFsdWUgcHJvcGVydHkpDQogKi8NCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICB2YXIgbyA9IHt9Ow0KICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvLCAiZm9vIiwge3ZhbHVlOiA0Mn0pOw0KICAgIHJldHVybiBvLmhhc093blByb3BlcnR5KCJmb28iKTsNCg0KfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Properties - [[HasOwnProperty]] (non-writable, non-configurable, non-enumerable own value property)","path":"TestCases/ch08/8.12/8.12.1/8.12.1-1_4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gwOC84LjEyLzguMTIuMS84LjEyLjEtMV80MC5qcw0KICogQGRlc2NyaXB0aW9uIFByb3BlcnRpZXMgLSBbW0hhc093blByb3BlcnR5XV0gKGNvbmZpZ3VyYWJsZSwgbm9uLWVudW1lcmFibGUgaW5oZXJpdGVkIGdldHRlciBwcm9wZXJ0eSkNCiAqLw0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgIHZhciBiYXNlID0ge307DQogICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGJhc2UsICJmb28iLCB7Z2V0OiBmdW5jdGlvbigpIHtyZXR1cm4gNDI7fSwgY29uZmlndXJhYmxlOnRydWV9KTsNCiAgICB2YXIgbyA9IE9iamVjdC5jcmVhdGUoYmFzZSk7DQogICAgcmV0dXJuIG8uaGFzT3duUHJvcGVydHkoImZvbyIpPT09ZmFsc2U7DQoNCn0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Properties - [[HasOwnProperty]] (configurable, non-enumerable inherited getter property)","path":"TestCases/ch08/8.12/8.12.1/8.12.1-1_40.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gwOC84LjEyLzguMTIuMS84LjEyLjEtMV80MS5qcw0KICogQGRlc2NyaXB0aW9uIFByb3BlcnRpZXMgLSBbW0hhc093blByb3BlcnR5XV0gKGNvbmZpZ3VyYWJsZSwgZW51bWVyYWJsZSBpbmhlcml0ZWQgZ2V0dGVyIHByb3BlcnR5KQ0KICovDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgdmFyIGJhc2UgPSB7fTsNCiAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYmFzZSwgImZvbyIsIHtnZXQ6IGZ1bmN0aW9uKCkge3JldHVybiA0Mjt9LCBlbnVtZXJhYmxlOnRydWUsIGNvbmZpZ3VyYWJsZTp0cnVlfSk7DQogICAgdmFyIG8gPSBPYmplY3QuY3JlYXRlKGJhc2UpOw0KICAgIHJldHVybiBvLmhhc093blByb3BlcnR5KCJmb28iKT09PWZhbHNlOw0KDQp9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Properties - [[HasOwnProperty]] (configurable, enumerable inherited getter property)","path":"TestCases/ch08/8.12/8.12.1/8.12.1-1_41.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gwOC84LjEyLzguMTIuMS84LjEyLjEtMV80Mi5qcw0KICogQGRlc2NyaXB0aW9uIFByb3BlcnRpZXMgLSBbW0hhc093blByb3BlcnR5XV0gKG5vbi1jb25maWd1cmFibGUsIG5vbi1lbnVtZXJhYmxlIGluaGVyaXRlZCBzZXR0ZXIgcHJvcGVydHkpDQogKi8NCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICB2YXIgYmFzZSA9IHt9Ow0KICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShiYXNlLCAiZm9vIiwge3NldDogZnVuY3Rpb24oKSB7O319KTsNCiAgICB2YXIgbyA9IE9iamVjdC5jcmVhdGUoYmFzZSk7DQogICAgcmV0dXJuIG8uaGFzT3duUHJvcGVydHkoImZvbyIpPT09ZmFsc2U7DQoNCn0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Properties - [[HasOwnProperty]] (non-configurable, non-enumerable inherited setter property)","path":"TestCases/ch08/8.12/8.12.1/8.12.1-1_42.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gwOC84LjEyLzguMTIuMS84LjEyLjEtMV80My5qcw0KICogQGRlc2NyaXB0aW9uIFByb3BlcnRpZXMgLSBbW0hhc093blByb3BlcnR5XV0gKG5vbi1jb25maWd1cmFibGUsIGVudW1lcmFibGUgaW5oZXJpdGVkIHNldHRlciBwcm9wZXJ0eSkNCiAqLw0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgIHZhciBiYXNlID0ge307DQogICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGJhc2UsICJmb28iLCB7c2V0OiBmdW5jdGlvbigpIHs7fSwgZW51bWVyYWJsZTp0cnVlfSk7DQogICAgdmFyIG8gPSBPYmplY3QuY3JlYXRlKGJhc2UpOw0KICAgIHJldHVybiBvLmhhc093blByb3BlcnR5KCJmb28iKT09PWZhbHNlOw0KDQp9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Properties - [[HasOwnProperty]] (non-configurable, enumerable inherited setter property)","path":"TestCases/ch08/8.12/8.12.1/8.12.1-1_43.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gwOC84LjEyLzguMTIuMS84LjEyLjEtMV80NC5qcw0KICogQGRlc2NyaXB0aW9uIFByb3BlcnRpZXMgLSBbW0hhc093blByb3BlcnR5XV0gKGNvbmZpZ3VyYWJsZSwgbm9uLWVudW1lcmFibGUgaW5oZXJpdGVkIHNldHRlciBwcm9wZXJ0eSkNCiAqLw0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgIHZhciBiYXNlID0ge307DQogICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGJhc2UsICJmb28iLCB7c2V0OiBmdW5jdGlvbigpIHs7fSwgY29uZmlndXJhYmxlOnRydWV9KTsNCiAgICB2YXIgbyA9IE9iamVjdC5jcmVhdGUoYmFzZSk7DQogICAgcmV0dXJuIG8uaGFzT3duUHJvcGVydHkoImZvbyIpPT09ZmFsc2U7DQoNCn0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Properties - [[HasOwnProperty]] (configurable, non-enumerable inherited setter property)","path":"TestCases/ch08/8.12/8.12.1/8.12.1-1_44.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gwOC84LjEyLzguMTIuMS84LjEyLjEtMV80NS5qcw0KICogQGRlc2NyaXB0aW9uIFByb3BlcnRpZXMgLSBbW0hhc093blByb3BlcnR5XV0gKGNvbmZpZ3VyYWJsZSwgZW51bWVyYWJsZSBpbmhlcml0ZWQgc2V0dGVyIHByb3BlcnR5KQ0KICovDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgdmFyIGJhc2UgPSB7fTsNCiAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYmFzZSwgImZvbyIsIHtzZXQ6IGZ1bmN0aW9uKCkgezt9LCBlbnVtZXJhYmxlOnRydWUsIGNvbmZpZ3VyYWJsZTp0cnVlfSk7DQogICAgdmFyIG8gPSBPYmplY3QuY3JlYXRlKGJhc2UpOw0KICAgIHJldHVybiBvLmhhc093blByb3BlcnR5KCJmb28iKT09PWZhbHNlOw0KDQp9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Properties - [[HasOwnProperty]] (configurable, enumerable inherited setter property)","path":"TestCases/ch08/8.12/8.12.1/8.12.1-1_45.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gwOC84LjEyLzguMTIuMS84LjEyLjEtMV80Ni5qcw0KICogQGRlc2NyaXB0aW9uIFByb3BlcnRpZXMgLSBbW0hhc093blByb3BlcnR5XV0gKG5vbi1jb25maWd1cmFibGUsIG5vbi1lbnVtZXJhYmxlIGluaGVyaXRlZCBnZXR0ZXIvc2V0dGVyIHByb3BlcnR5KQ0KICovDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgdmFyIGJhc2UgPSB7fTsNCiAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYmFzZSwgImZvbyIsIHtnZXQ6IGZ1bmN0aW9uKCkge3JldHVybiA0Mjt9LCBzZXQ6IGZ1bmN0aW9uKCkgezt9fSk7DQogICAgdmFyIG8gPSBPYmplY3QuY3JlYXRlKGJhc2UpOw0KICAgIHJldHVybiBvLmhhc093blByb3BlcnR5KCJmb28iKT09PWZhbHNlOw0KDQp9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Properties - [[HasOwnProperty]] (non-configurable, non-enumerable inherited getter/setter property)","path":"TestCases/ch08/8.12/8.12.1/8.12.1-1_46.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gwOC84LjEyLzguMTIuMS84LjEyLjEtMV80Ny5qcw0KICogQGRlc2NyaXB0aW9uIFByb3BlcnRpZXMgLSBbW0hhc093blByb3BlcnR5XV0gKG5vbi1jb25maWd1cmFibGUsIGVudW1lcmFibGUgaW5oZXJpdGVkIGdldHRlci9zZXR0ZXIgcHJvcGVydHkpDQogKi8NCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICB2YXIgYmFzZSA9IHt9Ow0KICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShiYXNlLCAiZm9vIiwge2dldDogZnVuY3Rpb24oKSB7cmV0dXJuIDQyO30sIHNldDogZnVuY3Rpb24oKSB7O30sIGVudW1lcmFibGU6dHJ1ZX0pOw0KICAgIHZhciBvID0gT2JqZWN0LmNyZWF0ZShiYXNlKTsNCiAgICByZXR1cm4gby5oYXNPd25Qcm9wZXJ0eSgiZm9vIik9PT1mYWxzZTsNCg0KfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Properties - [[HasOwnProperty]] (non-configurable, enumerable inherited getter/setter property)","path":"TestCases/ch08/8.12/8.12.1/8.12.1-1_47.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gwOC84LjEyLzguMTIuMS84LjEyLjEtMV80OC5qcw0KICogQGRlc2NyaXB0aW9uIFByb3BlcnRpZXMgLSBbW0hhc093blByb3BlcnR5XV0gKGNvbmZpZ3VyYWJsZSwgbm9uLWVudW1lcmFibGUgaW5oZXJpdGVkIGdldHRlci9zZXR0ZXIgcHJvcGVydHkpDQogKi8NCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICB2YXIgYmFzZSA9IHt9Ow0KICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShiYXNlLCAiZm9vIiwge2dldDogZnVuY3Rpb24oKSB7cmV0dXJuIDQyO30sIHNldDogZnVuY3Rpb24oKSB7O30sIGNvbmZpZ3VyYWJsZTp0cnVlfSk7DQogICAgdmFyIG8gPSBPYmplY3QuY3JlYXRlKGJhc2UpOw0KICAgIHJldHVybiBvLmhhc093blByb3BlcnR5KCJmb28iKT09PWZhbHNlOw0KDQp9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Properties - [[HasOwnProperty]] (configurable, non-enumerable inherited getter/setter property)","path":"TestCases/ch08/8.12/8.12.1/8.12.1-1_48.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gwOC84LjEyLzguMTIuMS84LjEyLjEtMV80OS5qcw0KICogQGRlc2NyaXB0aW9uIFByb3BlcnRpZXMgLSBbW0hhc093blByb3BlcnR5XV0gKGNvbmZpZ3VyYWJsZSwgZW51bWVyYWJsZSBpbmhlcml0ZWQgZ2V0dGVyL3NldHRlciBwcm9wZXJ0eSkNCiAqLw0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgIHZhciBiYXNlID0ge307DQogICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGJhc2UsICJmb28iLCB7Z2V0OiBmdW5jdGlvbigpIHtyZXR1cm4gNDI7fSwgc2V0OiBmdW5jdGlvbigpIHs7fSwgZW51bWVyYWJsZTp0cnVlLCBjb25maWd1cmFibGU6dHJ1ZX0pOw0KICAgIHZhciBvID0gT2JqZWN0LmNyZWF0ZShiYXNlKTsNCiAgICByZXR1cm4gby5oYXNPd25Qcm9wZXJ0eSgiZm9vIik9PT1mYWxzZTsNCg0KfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Properties - [[HasOwnProperty]] (configurable, enumerable inherited getter/setter property)","path":"TestCases/ch08/8.12/8.12.1/8.12.1-1_49.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gwOC84LjEyLzguMTIuMS84LjEyLjEtMV81LmpzDQogKiBAZGVzY3JpcHRpb24gUHJvcGVydGllcyAtIFtbSGFzT3duUHJvcGVydHldXSAobm9uLXdyaXRhYmxlLCBub24tY29uZmlndXJhYmxlLCBlbnVtZXJhYmxlIG93biB2YWx1ZSBwcm9wZXJ0eSkNCiAqLw0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgIHZhciBvID0ge307DQogICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG8sICJmb28iLCB7dmFsdWU6IDQyLCBlbnVtZXJhYmxlOnRydWV9KTsNCiAgICByZXR1cm4gby5oYXNPd25Qcm9wZXJ0eSgiZm9vIik7DQoNCn0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Properties - [[HasOwnProperty]] (non-writable, non-configurable, enumerable own value property)","path":"TestCases/ch08/8.12/8.12.1/8.12.1-1_5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gwOC84LjEyLzguMTIuMS84LjEyLjEtMV82LmpzDQogKiBAZGVzY3JpcHRpb24gUHJvcGVydGllcyAtIFtbSGFzT3duUHJvcGVydHldXSAobm9uLXdyaXRhYmxlLCBjb25maWd1cmFibGUsIG5vbi1lbnVtZXJhYmxlIG93biB2YWx1ZSBwcm9wZXJ0eSkNCiAqLw0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgIHZhciBvID0ge307DQogICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG8sICJmb28iLCB7dmFsdWU6IDQyLCBjb25maWd1cmFibGU6dHJ1ZX0pOw0KICAgIHJldHVybiBvLmhhc093blByb3BlcnR5KCJmb28iKTsNCg0KfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Properties - [[HasOwnProperty]] (non-writable, configurable, non-enumerable own value property)","path":"TestCases/ch08/8.12/8.12.1/8.12.1-1_6.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gwOC84LjEyLzguMTIuMS84LjEyLjEtMV83LmpzDQogKiBAZGVzY3JpcHRpb24gUHJvcGVydGllcyAtIFtbSGFzT3duUHJvcGVydHldXSAod3JpdGFibGUsIG5vbi1jb25maWd1cmFibGUsIG5vbi1lbnVtZXJhYmxlIG93biB2YWx1ZSBwcm9wZXJ0eSkNCiAqLw0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgIHZhciBvID0ge307DQogICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG8sICJmb28iLCB7dmFsdWU6IDQyLCB3cml0YWJsZTp0cnVlfSk7DQogICAgcmV0dXJuIG8uaGFzT3duUHJvcGVydHkoImZvbyIpOw0KDQp9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Properties - [[HasOwnProperty]] (writable, non-configurable, non-enumerable own value property)","path":"TestCases/ch08/8.12/8.12.1/8.12.1-1_7.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gwOC84LjEyLzguMTIuMS84LjEyLjEtMV84LmpzDQogKiBAZGVzY3JpcHRpb24gUHJvcGVydGllcyAtIFtbSGFzT3duUHJvcGVydHldXSAobm9uLXdyaXRhYmxlLCBjb25maWd1cmFibGUsIGVudW1lcmFibGUgb3duIHZhbHVlIHByb3BlcnR5KQ0KICovDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgdmFyIG8gPSB7fTsNCiAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkobywgImZvbyIsIHt2YWx1ZTogNDIsIGNvbmZpZ3VyYWJsZTp0cnVlLCBlbnVtZXJhYmxlOnRydWV9KTsNCiAgICByZXR1cm4gby5oYXNPd25Qcm9wZXJ0eSgiZm9vIik7DQoNCn0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Properties - [[HasOwnProperty]] (non-writable, configurable, enumerable own value property)","path":"TestCases/ch08/8.12/8.12.1/8.12.1-1_8.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gwOC84LjEyLzguMTIuMS84LjEyLjEtMV85LmpzDQogKiBAZGVzY3JpcHRpb24gUHJvcGVydGllcyAtIFtbSGFzT3duUHJvcGVydHldXSAod3JpdGFibGUsIG5vbi1jb25maWd1cmFibGUsIGVudW1lcmFibGUgb3duIHZhbHVlIHByb3BlcnR5KQ0KICovDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgdmFyIG8gPSB7fTsNCiAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkobywgImZvbyIsIHt2YWx1ZTogNDIsIHdyaXRhYmxlOnRydWUsIGVudW1lcmFibGU6dHJ1ZX0pOw0KICAgIHJldHVybiBvLmhhc093blByb3BlcnR5KCJmb28iKTsNCg0KfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Properties - [[HasOwnProperty]] (writable, non-configurable, enumerable own value property)","path":"TestCases/ch08/8.12/8.12.1/8.12.1-1_9.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBbW0dldF1dKFApIG1ldGhvZCBzaG91bGQgcmV0dXJuIHZhbHVlIHdoZW4gcHJvcGVydHkgUCBkb2VzIG5vdCBleGlzdCBpbiBpbnN0YW5jZSBidXQgcHJvdG90eXBlIGNvbnRhaW4gaXQKICoKICogQHBhdGggY2gwOC84LjEyLzguMTIuMy9TOC4xMi4zX0ExLmpzCiAqIEBkZXNjcmlwdGlvbiBUcnkgdG8gZ2V0IFAgd2hlbiBwcm9wZXJ0eSBQIGRvZXMgbm90IGV4aXN0IGluIGluc3RhbmNlIGJ1dCBwcm90b3R5cGUgY29udGFpbiBpdAogKi8KCi8vRXN0YWJsaXNoIGZvbyBvYmplY3QgCmZ1bmN0aW9uIEZvb09iaigpe307IEZvb09iai5wcm90b3R5cGUucHJvcEZvbz0ic29tZSI7CgovLyBJbnZva2UgaW5zdGFuY2Ugb2YgZm9vIG9iamVjdAp2YXIgX19vYmo9IG5ldyBGb29PYmo7CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmIChfX29iai5wcm9wRm9vICE9PSAic29tZSIpewogICRFUlJPUignIzE6IGZ1bmN0aW9uIEZvb09iaigpe307IEZvb09iai5wcm90b3R5cGUucHJvcEZvbz0ic29tZSI7IHZhciBfX29iaj0gbmV3IEZvb09iajsgX19vYmoucHJvcEZvbyA9PT0gInNvbWUiLiBBY3R1YWw6ICcgKyAoX19vYmoucHJvcEZvbykpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMgppZiAoX19vYmpbJ3Byb3BGb28nXSAhPT0gInNvbWUiKXsKICAkRVJST1IoJyMxOiBmdW5jdGlvbiBGb29PYmooKXt9OyBGb29PYmoucHJvdG90eXBlLnByb3BGb289InNvbWUiOyB2YXIgX19vYmo9IG5ldyBGb29PYmo7IF9fb2JqW1wncHJvcEZvb1wnXSA9PT0gInNvbWUiLiBBY3R1YWw6ICcgKyAoX19vYmpbJ3Byb3BGb28nXSkpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"[[Get]](P) method should return value when property P does not exist in instance but prototype contain it","description":"Try to get P when property P does not exist in instance but prototype contain it","path":"TestCases/ch08/8.12/8.12.3/S8.12.3_A1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBbW0dldF1dKFApIG1ldGhvZCBzaG91bGQgcmV0dXJuIHVuZGVmaW5lZCB3aGVuIHByb3BlcnR5IFAgZG9lcyBub3QgZXhpc3QgYm90aCBpbiBpbnN0YW5jZSBhbmQgcHJvdG90eXBlCiAqCiAqIEBwYXRoIGNoMDgvOC4xMi84LjEyLjMvUzguMTIuM19BMi5qcwogKiBAZGVzY3JpcHRpb24gVHJ5IHRvIGdldCBQIHdoZW4gcHJvcGVydHkgUCBkb2VzIG5vdCBleGlzdCBib3RoIGluIGluc3RhbmNlIGFuZCBwcm90b3R5cGUKICovCgp2YXIgX19vYmo9e307CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmIChfX29iai5wcm9wRm9vICE9PSB1bmRlZmluZWQpewogICRFUlJPUignIzE6IHZhciBfX29iaj17fTsgX19vYmoucHJvcEZvbyA9PT0gdW5kZWZpbmVkLiBBY3R1YWw6ICcgKyAoX19vYmoucHJvcEZvbykpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMgppZiAoX19vYmpbJ3Byb3BGb28nXSAhPT0gdW5kZWZpbmVkKXsKICAkRVJST1IoJyMyOiB2YXIgX19vYmo9e307IF9fb2JqW1wncHJvcEZvb1wnXSA9PT0gdW5kZWZpbmVkLiBBY3R1YWw6ICcgKyAoX19vYmpbJ3Byb3BGb28nXSkpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"[[Get]](P) method should return undefined when property P does not exist both in instance and prototype","description":"Try to get P when property P does not exist both in instance and prototype","path":"TestCases/ch08/8.12/8.12.3/S8.12.3_A2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuIHRoZSBbW0dldF1dIG1ldGhvZCBvZiBPIGlzIGNhbGxlZCB3aXRoIHByb3BlcnR5IG5hbWUgUCB2YWx1ZSBvZiBQIHJldHVybnMKICoKICogQHBhdGggY2gwOC84LjEyLzguMTIuMy9TOC4xMi4zX0EzLmpzCiAqIEBkZXNjcmlwdGlvbiBUcnkgdG8gZ2V0IFAgcHJvcGVydHkgUCBleGlzdCBpbiBpbnN0YW5jZQogKi8KCnZhciBfX21hcD17c2hhcGU6ImN1YmUiLCA1OiJmaXZlIiwgIjYiOiJzaXgifTsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKF9fbWFwLnNoYXBlICE9PSAiY3ViZSIpewogICRFUlJPUignIzE6IHZhciBfX21hcD17c2hhcGU6ImN1YmUiLCA1OiJmaXZlIiwgIjYiOiJzaXgifTsgX19tYXAuc2hhcGUgPT09ICJjdWJlIi4gQWN0dWFsOiAnICsgKF9fbWFwLnNoYXBlKSk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMyCmlmIChfX21hcFsic2hhcGUiXSAhPT0gImN1YmUiKXsKICAkRVJST1IoJyMyOiB2YXIgX19tYXA9e3NoYXBlOiJjdWJlIiwgNToiZml2ZSIsICI2Ijoic2l4In07IF9fbWFwWyJzaGFwZSJdID09PSAiY3ViZSIuIEFjdHVhbDogJyArIChfX21hcFsic2hhcGUiXSkpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMwppZiAoX19tYXBbIjUiXSAhPT0gImZpdmUiKXsKICAkRVJST1IoJyMzOiB2YXIgX19tYXA9e3NoYXBlOiJjdWJlIiwgNToiZml2ZSIsICI2Ijoic2l4In07IF9fbWFwWyI1Il0gPT09ICJmaXZlIi4gQWN0dWFsOiAnICsgKF9fbWFwWyI1Il0pKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzQKaWYgKF9fbWFwWzVdICE9PSAiZml2ZSIpewogICRFUlJPUignIzQ6IHZhciBfX21hcD17c2hhcGU6ImN1YmUiLCA1OiJmaXZlIiwgIjYiOiJzaXgifTsgX19tYXBbNV0gPT09ICJmaXZlIi4gQWN0dWFsOiAnICsgKF9fbWFwWzVdKSk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyM1CmlmIChfX21hcFsiNiJdICE9PSAic2l4Iil7CiAgJEVSUk9SKCcjNTogdmFyIF9fbWFwPXtzaGFwZToiY3ViZSIsIDU6ImZpdmUiLCAiNiI6InNpeCJ9OyBfX21hcFsiNiJdID09PSAic2l4Ii4gQWN0dWFsOiAnICsgKF9fbWFwWyI2Il0pKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzYKaWYgKF9fbWFwWzZdICE9PSAic2l4Iil7CiAgJEVSUk9SKCcjNjogdmFyIF9fbWFwPXtzaGFwZToiY3ViZSIsIDU6ImZpdmUiLCAiNiI6InNpeCJ9OyBfX21hcFs2XSA9PT0gInNpeCIuIEFjdHVhbDogJyArIChfX21hcFs2XSkpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"When the [[Get]] method of O is called with property name P value of P returns","description":"Try to get P property P exist in instance","path":"TestCases/ch08/8.12/8.12.3/S8.12.3_A3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gwOC84LjEyLzguMTIuNC84LjE0LjQtOC1iXzEuanMNCiAqIEBkZXNjcmlwdGlvbiBOb24td3JpdGFibGUgcHJvcGVydHkgb24gYSBwcm90b3R5cGUgd3JpdHRlbiB0by4NCiAqLw0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsgICANCiAgICBmdW5jdGlvbiBmb28oKSB7fTsNCiAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoZm9vLnByb3RvdHlwZSwgImJhciIsIHt2YWx1ZTogInVud3JpdGFibGUifSk7IA0KICAgIA0KICAgIHZhciBvID0gbmV3IGZvbygpOyANCiAgICBvLmJhciA9ICJvdmVycmlkZGVuIjsgDQogICAgcmV0dXJuIG8uaGFzT3duUHJvcGVydHkoImJhciIpPT09ZmFsc2UgJiYgby5iYXI9PT0idW53cml0YWJsZSI7DQp9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Non-writable property on a prototype written to.","path":"TestCases/ch08/8.12/8.12.4/8.14.4-8-b_1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gwOC84LjEyLzguMTIuNC84LjE0LjQtOC1iXzIuanMNCiAqIEBkZXNjcmlwdGlvbiBOb24td3JpdGFibGUgcHJvcGVydHkgb24gYSBwcm90b3R5cGUgd3JpdHRlbiB0byBpbiBzdHJpY3QgbW9kZS4NCiAqIEBvbmx5U3RyaWN0DQogKi8NCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgInVzZSBzdHJpY3QiOw0KICAgIA0KICAgIGZ1bmN0aW9uIGZvbygpIHt9Ow0KICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShmb28ucHJvdG90eXBlLCAiYmFyIiwge3ZhbHVlOiAidW53cml0YWJsZSJ9KTsgDQogICAgDQogICAgdmFyIG8gPSBuZXcgZm9vKCk7IA0KICAgIHRyeSB7DQogICAgICAgIG8uYmFyID0gIm92ZXJyaWRkZW4iOyANCiAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgIH0gY2F0Y2goZSkgew0KICAgICAgICByZXR1cm4gKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpICYmIChvLmJhcj09PSJ1bndyaXRhYmxlIik7DQogICAgfQ0KfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Non-writable property on a prototype written to in strict mode.","onlyStrict":"","path":"TestCases/ch08/8.12/8.12.4/8.14.4-8-b_2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB0aGUgcHJvcGVydHkgaGFzIHRoZSBSZWFkT25seSBhdHRyaWJ1dGUsIFtbQ2FuUHV0XV0oUCkgcmV0dXJuIGZhbHNlCiAqCiAqIEBwYXRoIGNoMDgvOC4xMi84LjEyLjQvUzguMTIuNF9BMS5qcwogKiBAZGVzY3JpcHRpb24gVHJ5IHB1dCBvdGhlciB2YWx1ZSBmb3IgTWF0aC5FIHByb3BlcnR5CiAqIEBub1N0cmljdAogKi8KCnZhciBfX2UgPSBNYXRoLkU7Ck1hdGguRSA9IDE7CmlmIChNYXRoLkUgIT09IF9fZSl7CiAgJEVSUk9SKCcjMTogX19lID0gTWF0aC5FOyBNYXRoLkUgPSAxOyBNYXRoLkUgPT09IF9fZS4gQWN0dWFsOiAnICsgKE1hdGguRSkpOwp9Cgo=","commentary":"If the property has the ReadOnly attribute, [[CanPut]](P) return false","description":"Try put other value for Math.E property","noStrict":"","path":"TestCases/ch08/8.12/8.12.4/S8.12.4_A1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gwOC84LjEyLzguMTIuNS84LjEyLjUtMy1iXzEuanMNCiAqIEBkZXNjcmlwdGlvbiBDaGFuZ2luZyB0aGUgdmFsdWUgb2YgYSBkYXRhIHByb3BlcnR5IHNob3VsZCBub3QgYWZmZWN0IGl0J3Mgbm9uLXZhbHVlIHByb3BlcnR5IGRlc2NyaXB0b3IgYXR0cmlidXRlcy4NCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgIHZhciBvcmlnUmVkdWNlID0gQXJyYXkucHJvdG90eXBlLnJlZHVjZTsNCiAgICB2YXIgb3JpZ0Rlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKEFycmF5LnByb3RvdHlwZSwgInJlZHVjZSIpOw0KICAgIHZhciBuZXdEZXNjOw0KICAgIA0KICAgIHRyeSB7DQogICAgICAgIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UgPSBmdW5jdGlvbiAoKSB7O307DQogICAgICAgIG5ld0Rlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKEFycmF5LnByb3RvdHlwZSwgInJlZHVjZSIpOw0KICAgICAgICB2YXIgZGVzY0FycmF5ID0gW29yaWdEZXNjLCBuZXdEZXNjXTsNCiAgICAgICAgDQogICAgICAgIGZvciAodmFyIGogaW4gZGVzY0FycmF5KSB7ICAvL0Vuc3VyZSBubyBhdHRyaWJ1dGVzIGFyZSBtYWdpY2FsbHkgYWRkZWQgdG8gbmV3RGVzYw0KICAgICAgICAgICAgZm9yICh2YXIgaSBpbiBkZXNjQXJyYXlbal0pIHsNCiAgICAgICAgICAgICAgICBpZiAoaT09PSJ2YWx1ZSIpIHsNCiAgICAgICAgICAgICAgICAgICAgaWYgKG9yaWdEZXNjW2ldPT09bmV3RGVzY1tpXSkgew0KICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgIGVsc2UgaWYgKG9yaWdEZXNjW2ldIT09bmV3RGVzY1tpXSkgew0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQogICAgICAgIHJldHVybiB0cnVlOyAgICAgICAgDQogICAgDQogICAgfSBmaW5hbGx5IHsNCiAgICAgICAgQXJyYXkucHJvdG90eXBlLnJlZHVjZSA9IG9yaWdSZWR1Y2U7DQogICAgfQ0KfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Changing the value of a data property should not affect it's non-value property descriptor attributes.","path":"TestCases/ch08/8.12/8.12.5/8.12.5-3-b_1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gwOC84LjEyLzguMTIuNS84LjEyLjUtMy1iXzIuanMNCiAqIEBkZXNjcmlwdGlvbiBDaGFuZ2luZyB0aGUgdmFsdWUgb2YgYSBkYXRhIHByb3BlcnR5IHNob3VsZCBub3QgYWZmZWN0IGl0J3Mgbm9uLXZhbHVlIHByb3BlcnR5IGRlc2NyaXB0b3IgYXR0cmlidXRlcy4NCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgIHZhciB0ZW1wT2JqID0ge307DQogICAgDQogICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHRlbXBPYmosICJyZWR1Y2UiLCB7IHZhbHVlOjQ1NiwgZW51bWVyYWJsZTpmYWxzZSwgd3JpdGFibGU6dHJ1ZX0pOw0KICAgIHZhciBvcmlnUmVkdWNlID0gdGVtcE9iai5yZWR1Y2U7DQogICAgdmFyIG9yaWdEZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcih0ZW1wT2JqLCAicmVkdWNlIik7DQoNCiAgICB2YXIgbmV3RGVzYzsNCiAgICANCiAgICB0cnkgew0KICAgICAgICB0ZW1wT2JqLnJlZHVjZSA9IDEyMzsNCiAgICAgICAgbmV3RGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IodGVtcE9iaiwgInJlZHVjZSIpOw0KICAgICAgICB2YXIgZGVzY0FycmF5ID0gW29yaWdEZXNjLCBuZXdEZXNjXTsNCiAgICAgICAgDQogICAgICAgIGZvciAodmFyIGogaW4gZGVzY0FycmF5KSB7DQogICAgICAgICAgICBmb3IgKHZhciBpIGluIGRlc2NBcnJheVtqXSkgew0KICAgICAgICAgICAgICAgIGlmIChpPT09InZhbHVlIikgew0KICAgICAgICAgICAgICAgICAgICBpZiAob3JpZ0Rlc2NbaV09PT1uZXdEZXNjW2ldKSB7DQogICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgZWxzZSBpZiAob3JpZ0Rlc2NbaV0hPT1uZXdEZXNjW2ldKSB7DQogICAgICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9DQogICAgICAgIH0NCiAgICAgICAgcmV0dXJuIHRydWU7DQogICAgDQogICAgfSBmaW5hbGx5IHsNCiAgICAgICAgdGVtcE9iai5yZWR1Y2UgPSBvcmlnUmVkdWNlOw0KICAgIH0NCn0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Changing the value of a data property should not affect it's non-value property descriptor attributes.","path":"TestCases/ch08/8.12/8.12.5/8.12.5-3-b_2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gwOC84LjEyLzguMTIuNS84LjEyLjUtNS1iXzEuanMNCiAqIEBkZXNjcmlwdGlvbiBDaGFuZ2luZyB0aGUgdmFsdWUgb2YgYW4gYWNjZXNzb3IgcHJvcGVydHkgc2hvdWxkIG5vdCBhZmZlY3QgaXQncyBwcm9wZXJ0eSBkZXNjcmlwdG9yIGF0dHJpYnV0ZXMuDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICB2YXIgdGVtcE9iaiA9IHt9Ow0KICAgIA0KICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0ZW1wT2JqLCAicmVkdWNlIiwgeyBnZXQ6IGZ1bmN0aW9uKCkge3JldHVybiA0NTY7fSwgZW51bWVyYWJsZTpmYWxzZSwgc2V0OiBmdW5jdGlvbigpIHs7fX0pOw0KICAgIHZhciBvcmlnUmVkdWNlID0gdGVtcE9iai5yZWR1Y2U7DQogICAgdmFyIG9yaWdEZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcih0ZW1wT2JqLCAicmVkdWNlIik7DQoNCiAgICB2YXIgbmV3RGVzYzsNCiAgICANCiAgICB0cnkgew0KICAgICAgICB0ZW1wT2JqLnJlZHVjZSA9IDEyMzsNCiAgICAgICAgbmV3RGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IodGVtcE9iaiwgInJlZHVjZSIpOw0KICAgICAgICB2YXIgZGVzY0FycmF5ID0gW29yaWdEZXNjLCBuZXdEZXNjXTsNCiAgICAgICAgDQogICAgICAgIGZvciAodmFyIGogaW4gZGVzY0FycmF5KSB7DQogICAgICAgICAgICBmb3IgKHZhciBpIGluIGRlc2NBcnJheVtqXSkgew0KICAgICAgICAgICAgICAgIGlmIChvcmlnRGVzY1tpXSE9PW5ld0Rlc2NbaV0pIHsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KICAgICAgICByZXR1cm4gdGVtcE9iai5yZWR1Y2U9PT00NTY7ICAgICAgICANCiAgICANCiAgICB9IGZpbmFsbHkgew0KICAgICAgICB0ZW1wT2JqLnJlZHVjZSA9IG9yaWdSZWR1Y2U7DQogICAgfQ0KfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Changing the value of an accessor property should not affect it's property descriptor attributes.","path":"TestCases/ch08/8.12/8.12.5/8.12.5-5-b_1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuIHRoZSBbW1B1dF1dIG1ldGhvZCBvZiBPIGlzIGNhbGxlZCB3aXRoIHByb3BlcnR5IFAgYW5kIHZhbHVlIFYsCiAqIGFuZCBJZiBPIGRvZXNuJ3QgaGF2ZSBhIHByb3BlcnR5IHdpdGggbmFtZSBQLCB0aGVuCiAqIGNyZWF0ZXMgYSBwcm9wZXJ0eSB3aXRoIG5hbWUgUCwgc2V0IGl0cyB2YWx1ZSB0byBWIGFuZCBnaXZlIGl0IGVtcHR5IGF0dHJpYnV0ZXMKICoKICogQHBhdGggY2gwOC84LjEyLzguMTIuNS9TOC4xMi41X0ExLmpzCiAqIEBkZXNjcmlwdGlvbiBQdXQgdG8gbm90IGV4aXN0ZW50IHByb3BlcnRpZXMKICovCgp2YXIgX19tYXA9e307IF9fbWFwWzFdPSJvbmUiOyBfX21hcFsidHdvIl09MjsgX19tYXBbIjMiXT0idHJlIjsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKF9fbWFwWzFdICE9PSAib25lIikgewoJJEVSUk9SKCcjMTogdmFyIF9fbWFwPXt9OyBfX21hcFsxXT0ib25lIjsgX19tYXBbInR3byJdPTI7IF9fbWFwWyIzIl09InRyZSI7IF9fbWFwWzFdID09PSAib25lIi4gQWN0dWFsOiAnICsgKF9fbWFwWzFdKSk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMyCmlmIChfX21hcFsidHdvIl0gIT09IDIpIHsKCSRFUlJPUignIzI6IHZhciBfX21hcD17fTsgX19tYXBbMV09Im9uZSI7IF9fbWFwWyJ0d28iXT0yOyBfX21hcFsiMyJdPSJ0cmUiOyBfX21hcFsidHdvIl0gPT09IDIuIEFjdHVhbDogJyArIChfX21hcFsidHdvIl0pKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzMKaWYgKF9fbWFwWyIzIl0gIT09ICJ0cmUiKSB7CgkkRVJST1IoJyMzOiB2YXIgX19tYXA9e307IF9fbWFwWzFdPSJvbmUiOyBfX21hcFsidHdvIl09MjsgX19tYXBbIjMiXT0idHJlIjsgX19tYXBbIjMiXSA9PT0gInRyZSIuIEFjdHVhbDogJyArIChfX21hcFsiMyJdKSk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"When the [[Put]] method of O is called with property P and value V,\nand If O doesn't have a property with name P, then\ncreates a property with name P, set its value to V and give it empty attributes","description":"Put to not existent properties","path":"TestCases/ch08/8.12/8.12.5/S8.12.5_A1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuIHRoZSBbW1B1dF1dIG1ldGhvZCBvZiBPIGlzIGNhbGxlZCB3aXRoIHByb3BlcnR5IFAgYW5kIHZhbHVlIFYsCiAqIHRoZW4gc2V0IHRoZSB2YWx1ZSBvZiB0aGUgcHJvcGVydHkgdG8gVi4gVGhlIGF0dHJpYnV0ZXMgb2YgdGhlIHByb3BlcnR5IGFyZSBub3QgY2hhbmdlZAogKgogKiBAcGF0aCBjaDA4LzguMTIvOC4xMi41L1M4LjEyLjVfQTIuanMKICogQGRlc2NyaXB0aW9uIFB1dCB0byBleGlzdGVudCBwcm9wZXJ0aWVzCiAqLwoKdmFyIF9tYXA9ezE6Im9uZSIsdHdvOjJ9OwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQpfbWFwWzFdPSJ1bm8iOwppZiAoX21hcFsxXSAhPT0gInVubyIpIHsKICAkRVJST1IoJyMxOiB2YXIgX21hcD17MToib25lIix0d286Mn07IF9tYXBbMV09InVubyI7IF9tYXBbMV0gPT09ICJ1bm8iLiBBY3R1YWw6ICcgKyAoX21hcFsxXSkpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMgpfbWFwWyIxIl09MTsKaWYgKF9tYXBbMV0gIT09IDEpIHsKICAkRVJST1IoJyMyOiB2YXIgX21hcD17MToib25lIix0d286Mn07IF9tYXBbMV09InVubyI7IF9tYXBbIjEiXT0xOyBfbWFwWzFdID09PSAxLiBBY3R1YWw6ICcgKyAoX21hcFsxXSkpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMwpfbWFwWyJ0d28iXT0idHdvIjsKaWYgKF9tYXBbInR3byJdICE9PSAidHdvIikgewogICRFUlJPUignIzM6IHZhciBfbWFwPXsxOiJvbmUiLHR3bzoyfTsgX21hcFsxXT0idW5vIjsgX21hcFsiMSJdPTE7IF9tYXBbInR3byJdPSJ0d28iOyBfbWFwWyJ0d28iXSA9PT0gInR3byIuIEFjdHVhbDogJyArIChfbWFwWyJ0d28iXSkpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjNApfbWFwLnR3bz0iZHVvIjsKaWYgKF9tYXAudHdvICE9PSAiZHVvIikgewogICRFUlJPUignIzQ6IHZhciBfbWFwPXsxOiJvbmUiLHR3bzoyfTsgX21hcFsxXT0idW5vIjsgX21hcFsiMSJdPTE7IF9tYXBbInR3byJdPSJ0d28iOyBfbWFwLnR3bz0iZHVvIjsgX21hcC50d28gPT09ICJkdW8iLiBBY3R1YWw6ICcgKyAoX21hcC50d28pKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"When the [[Put]] method of O is called with property P and value V,\nthen set the value of the property to V. The attributes of the property are not changed","description":"Put to existent properties","path":"TestCases/ch08/8.12/8.12.5/S8.12.5_A2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuIHRoZSBbW0hhc1Byb3BlcnR5XV0gbWV0aG9kIG9mIE8gaXMgY2FsbGVkIHdpdGggcHJvcGVydHkgbmFtZSBQIGFuZCBpZiBPIGhhcyBhIHByb3BlcnR5IHdpdGggbmFtZSBQLCByZXR1cm4gdHJ1ZQogKgogKiBAcGF0aCBjaDA4LzguMTIvOC4xMi42L1M4LjEyLjZfQTEuanMKICogQGRlc2NyaXB0aW9uIFRyeSBmaW5kIGV4aXN0ZW50IHByb3BlcnR5IG9mIGFueSBPYmplY3QKICovCgp2YXIgX19vYmo9e2Zvb1Byb3A6ImZvb29vb29vIn07CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmICghKCJmb29Qcm9wIiBpbiBfX29iaikpIHsKICAkRVJST1IoJyMxOiB2YXIgX19vYmo9e2Zvb1Byb3A6ImZvb29vb29vIn07ICJmb29Qcm9wIiBpbiBfX29iaicpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"When the [[HasProperty]] method of O is called with property name P and if O has a property with name P, return true","description":"Try find existent property of any Object","path":"TestCases/ch08/8.12/8.12.6/S8.12.6_A1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuIHRoZSBbW0hhc1Byb3BlcnR5XV0gbWV0aG9kIG9mIE8gaXMgY2FsbGVkIHdpdGggcHJvcGVydHkgbmFtZSBQIGFuZCBpZiBPIGhhcyBub3QgYSBwcm9wZXJ0eSB3aXRoIG5hbWUgUAogKiB0aGVuIElmIHRoZSBbW1Byb3RvdHlwZV1dIG9mIE8gaXMgbnVsbCwgcmV0dXJuIGZhbHNlIG9yIGNhbGwgdGhlIFtbSGFzUHJvcGVydHldXSBtZXRob2Qgb2YgW1tQcm90b3R5cGVdXSB3aXRoIHByb3BlcnR5IG5hbWUgUAogKgogKiBAcGF0aCBjaDA4LzguMTIvOC4xMi42L1M4LjEyLjZfQTJfVDEuanMKICogQGRlc2NyaXB0aW9uIFRyeSBmaW5kIG5vdCBleGlzdGVudCBwcm9wZXJ0eSBvZiBhbnkgT2JqZWN0CiAqLwoKdmFyIF9fb2JqPXt9OwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAoISgidmFsdWVPZiIgaW4gX19vYmopKSB7CiAgJEVSUk9SKCcjMTogdmFyIF9fb2JqPXt9OyAidmFsdWVPZiIgaW4gX19vYmonKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"When the [[HasProperty]] method of O is called with property name P and if O has not a property with name P\nthen If the [[Prototype]] of O is null, return false or call the [[HasProperty]] method of [[Prototype]] with property name P","description":"Try find not existent property of any Object","path":"TestCases/ch08/8.12/8.12.6/S8.12.6_A2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuIHRoZSBbW0hhc1Byb3BlcnR5XV0gbWV0aG9kIG9mIE8gaXMgY2FsbGVkIHdpdGggcHJvcGVydHkgbmFtZSBQIGFuZCBpZiBPIGhhcyBub3QgYSBwcm9wZXJ0eSB3aXRoIG5hbWUgUAogKiB0aGVuIElmIHRoZSBbW1Byb3RvdHlwZV1dIG9mIE8gaXMgbnVsbCwgcmV0dXJuIGZhbHNlIG9yIGNhbGwgdGhlIFtbSGFzUHJvcGVydHldXSBtZXRob2Qgb2YgW1tQcm90b3R5cGVdXSB3aXRoIHByb3BlcnR5IG5hbWUgUAogKgogKiBAcGF0aCBjaDA4LzguMTIvOC4xMi42L1M4LjEyLjZfQTJfVDIuanMKICogQGRlc2NyaXB0aW9uIFRyeSBmaW5kIG5vdCBleGlzdGVudCBwcm9wZXJ0eSBvZiBhbnkgT2JqZWN0LCBidXQgZXhpc3RlbnQgcHJvcGVydHkgb2YgdGhpcyBPYmplY3QgcHJvdG90eXBlCiAqLwoKdmFyIF9fcHJvdG89e3BoeWx1bToiYXZpcyJ9OwoKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKCEoInZhbHVlT2YiIGluIF9fcHJvdG8pKSB7CiAgJEVSUk9SKCcjMTogdmFyIF9fcHJvdG89e3BoeWx1bToiYXZpcyJ9OyAidmFsdWVPZiIgaW4gX19wcm90bycpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKZnVuY3Rpb24gUm9iaW4oKXt0aGlzLm5hbWU9InJvYmluIn07ClJvYmluLnByb3RvdHlwZT1fX3Byb3RvOwoKdmFyIF9fbXlfX3JvYmluID0gbmV3IFJvYmluOwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMgppZiAoISgicGh5bHVtIiBpbiBfX215X19yb2JpbikpIHsKICAkRVJST1IoJyMyOiB2YXIgX19wcm90bz17cGh5bHVtOiJhdmlzIn07IGZ1bmN0aW9uIFJvYmluKCl7dGhpcy5uYW1lPSJyb2JpbiJ9OyBSb2Jpbi5wcm90b3R5cGU9X19wcm90bzsgdmFyIF9fbXlfX3JvYmluID0gbmV3IFJvYmluOyAicGh5bHVtIiBpbiBfX215X19yb2JpbicpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMwppZiAoX19teV9fcm9iaW4uaGFzT3duUHJvcGVydHkoInBoeWx1bSIpKSB7CiAgJEVSUk9SKCcjMzogdmFyIF9fcHJvdG89e3BoeWx1bToiYXZpcyJ9OyBmdW5jdGlvbiBSb2Jpbigpe3RoaXMubmFtZT0icm9iaW4ifTsgUm9iaW4ucHJvdG90eXBlPV9fcHJvdG87IHZhciBfX215X19yb2JpbiA9IG5ldyBSb2JpbjsgX19teV9fcm9iaW4uaGFzT3duUHJvcGVydHkoInBoeWx1bSIpID09PSBmYWxzZS4gQWN0dWFsOiAnICsgKF9fbXlfX3JvYmluLmhhc093blByb3BlcnR5KCJwaHlsdW0iKSkpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"When the [[HasProperty]] method of O is called with property name P and if O has not a property with name P\nthen If the [[Prototype]] of O is null, return false or call the [[HasProperty]] method of [[Prototype]] with property name P","description":"Try find not existent property of any Object, but existent property of this Object prototype","path":"TestCases/ch08/8.12/8.12.6/S8.12.6_A2_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBbW2hhc1Byb3BlcnR5XV0gaXMgc2Vuc2l0aXZlIHRvIHByb3BlcnR5IGV4aXN0ZW5jZSBidXQgW1tHZXRdXSBpcyBub3QKICoKICogQHBhdGggY2gwOC84LjEyLzguMTIuNi9TOC4xMi42X0EzLmpzCiAqIEBkZXNjcmlwdGlvbiBVc2UgW1toYXNQcm9wZXJ0eV1dIGFuZCBbW0dldF1dIGZvciBleGlzdGVudCBhbmQgbm90IGV4aXN0ZW50IHByb3BlcnRpZXMKICovCgp2YXIgX19vYmo9e307IF9fb2JqLmhvbGU9dW5kZWZpbmVkOwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAoX19vYmouaG9sZSAhPT0gdW5kZWZpbmVkKSB7CiAgJEVSUk9SKCcjMTogdmFyIF9fb2JqPXt9OyBfX29iai5ob2xlPXVuZGVmaW5lZDsgX19vYmouaG9sZSA9PT0gdW5kZWZpbmVkLiBBY3R1YWw6ICcgKyAoX19vYmouaG9sZSkpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMgppZiAoX19vYmoubm90ZXhpc3QgIT09IHVuZGVmaW5lZCkgewogICRFUlJPUignIzI6IHZhciBfX29iaj17fTsgX19vYmouaG9sZT11bmRlZmluZWQ7IF9fb2JqLm5vdGV4aXN0ID09PSB1bmRlZmluZWQuIEFjdHVhbDogJyArIChfX29iai5ub3RleGlzdCkpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMwppZiAoISgiaG9sZSIgaW4gX19vYmopKSB7CiAgJEVSUk9SKCcjMzogdmFyIF9fb2JqPXt9OyBfX29iai5ob2xlPXVuZGVmaW5lZDsgImhvbGUiIGluIF9fb2JqJyk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyM0CmlmICgoIm5vdGV4aXN0IiBpbiBfX29iaikpIHsKICAkRVJST1IoJyM0OiB2YXIgX19vYmo9e307IF9fb2JqLmhvbGU9dW5kZWZpbmVkOyAibm90ZXhpc3QiIGluIF9fb2JqJyk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"[[hasProperty]] is sensitive to property existence but [[Get]] is not","description":"Use [[hasProperty]] and [[Get]] for existent and not existent properties","path":"TestCases/ch08/8.12/8.12.6/S8.12.6_A3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuIHRoZSBbW0RlbGV0ZV1dIG1ldGhvZCBvZiBPIGlzIGNhbGxlZCB3aXRoIHByb3BlcnR5IG5hbWUgUCwKICogYW5kIElmIHRoZSBwcm9wZXJ0eSBoYXMgdGhlIERvbnREZWxldGUgYXR0cmlidXRlLCByZXR1cm4gZmFsc2UKICoKICogQHBhdGggY2gwOC84LjEyLzguMTIuNy9TOC4xMi43X0ExLmpzCiAqIEBkZXNjcmlwdGlvbiBUcnkgdG8gZGVsZXRlIE1hdGguRSwgdGhhdCBoYXMgdGhlIERvbnREZWxldGUgYXR0cmlidXRlCiAqIEBub1N0cmljdAogKi8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKGRlbGV0ZSBNYXRoLkUgIT09IGZhbHNlKXsKICAkRVJST1IoJyMxOiBkZWxldGUgTWF0aC5FID09PSBmYWxzZS4gQWN0dWFsOiAnICsgKGRlbGV0ZSBNYXRoLkUpKTsKfTsKLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMyCmlmIChNYXRoLkUgPT09IHVuZGVmaW5lZCl7CiAgJEVSUk9SKCcjMjogZGVsZXRlIE1hdGguRTsgTWF0aC5FICE9PSB1bmRlZmluZWQnKTsKfTsKLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgoK","commentary":"When the [[Delete]] method of O is called with property name P,\nand If the property has the DontDelete attribute, return false","description":"Try to delete Math.E, that has the DontDelete attribute","noStrict":"","path":"TestCases/ch08/8.12/8.12.7/S8.12.7_A1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuIHRoZSBbW0RlbGV0ZV1dIG1ldGhvZCBvZiBPIGlzIGNhbGxlZCB3aXRoIHByb3BlcnR5IG5hbWUgUCwKICogYW5kIGlmIE8gZG9lc24ndCBoYXZlIGEgcHJvcGVydHkgd2l0aCBuYW1lIFAsIHJldHVybiB0cnVlCiAqCiAqIEBwYXRoIGNoMDgvOC4xMi84LjEyLjcvUzguMTIuN19BMl9UMS5qcwogKiBAZGVzY3JpcHRpb24gVHJ5IHRvIGRlbGV0ZSBub3QgZXhpc3RlbnQgcHJvcGVydGllcwogKi8KCnZhciBfX2NvbG9yX19tYXAgPSB7fTsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKGRlbGV0ZSBfX2NvbG9yX19tYXAucmVkICE9PSB0cnVlKXsKICAkRVJST1IoJyMxOiB2YXIgX19jb2xvcl9fbWFwID0ge307IGRlbGV0ZSBfX2NvbG9yX19tYXAucmVkID09PSB0cnVlLiBBY3R1YWw6ICcgKyAoZGVsZXRlIF9fY29sb3JfX21hcC5yZWQpKTsKfTsKLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMyCmlmIChkZWxldGUgX19jb2xvcl9fbWFwWyJncmVlbiJdICE9PSB0cnVlKXsKICAkRVJST1IoJyMyOiB2YXIgX19jb2xvcl9fbWFwID0ge307IGRlbGV0ZSBfX2NvbG9yX19tYXBbImdyZWVuIl0gPT09IHRydWUuIEFjdHVhbDogJyArIChkZWxldGUgX19jb2xvcl9fbWFwWyJncmVlbiJdKSk7Cn07Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMwp2YXIgYmx1ZSA9IDE7CmlmIChkZWxldGUgX19jb2xvcl9fbWFwW2JsdWVdICE9PSB0cnVlKXsKICAkRVJST1IoJyMzOiB2YXIgX19jb2xvcl9fbWFwID0ge307IHZhciBibHVlID0gMTsgZGVsZXRlIF9fY29sb3JfX21hcFtibHVlXSA9PT0gdHJ1ZS4gQWN0dWFsOiAnICsgKGRlbGV0ZSBfX2NvbG9yX19tYXBbYmx1ZV0pKTsKfTsKLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgoK","commentary":"When the [[Delete]] method of O is called with property name P,\nand if O doesn't have a property with name P, return true","description":"Try to delete not existent properties","path":"TestCases/ch08/8.12/8.12.7/S8.12.7_A2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuIHRoZSBbW0RlbGV0ZV1dIG1ldGhvZCBvZiBPIGlzIGNhbGxlZCB3aXRoIHByb3BlcnR5IG5hbWUgUCwKICogYW5kIGlmIE8gZG9lc24ndCBoYXZlIGEgcHJvcGVydHkgd2l0aCBuYW1lIFAsIHJldHVybiB0cnVlCiAqCiAqIEBwYXRoIGNoMDgvOC4xMi84LjEyLjcvUzguMTIuN19BMl9UMi5qcwogKiBAZGVzY3JpcHRpb24gVHJ5IHRvIGRlbGV0ZSBub3QgZXhpc3RlbnQgcHJvcGVydGllcyBvZiBPLCBidXQgZXhpc3RlbnQgcHJvcGVydHkgb2YgcHJvdG90eXBlCiAqLwoKZnVuY3Rpb24gUGFsZXR0ZSgpe307ClBhbGV0dGUucHJvdG90eXBlID0ge3JlZDoweEZGMDAwMCwgZ3JlZW46MHgwMEZGMDB9Owp2YXIgX19wYWxldHRlID0gbmV3IFBhbGV0dGU7CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmIChfX3BhbGV0dGUucmVkICE9PSAweEZGMDAwMCl7CiAgJEVSUk9SKCcjMTogZnVuY3Rpb24gUGFsZXR0ZSgpe307IFBhbGV0dGUucHJvdG90eXBlID0ge3JlZDoweEZGMDAwMCwgZ3JlZW46MHgwMEZGMDB9OyBfX3BhbGV0dGUgPSBuZXcgUGFsZXR0ZTsgX19wYWxldHRlLnJlZCA9PT0gMHhGRjAwMDAuIEFjdHVhbDogJyArIChfX3BhbGV0dGUucmVkKSk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMyCmlmIChkZWxldGUgX19wYWxldHRlLnJlZCAhPT0gdHJ1ZSkgewogICRFUlJPUignIzIgZnVuY3Rpb24gUGFsZXR0ZSgpe307IFBhbGV0dGUucHJvdG90eXBlID0ge3JlZDoweEZGMDAwMCwgZ3JlZW46MHgwMEZGMDB9OyBfX3BhbGV0dGUgPSBuZXcgUGFsZXR0ZTsgZGVsZXRlIF9fcGFsZXR0ZS5yZWQgPT09IHRydWUuIEFjdHVhbDogJyArIChkZWxldGUgX19wYWxldHRlLnJlZCkpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMwppZiAoX19wYWxldHRlLnJlZCAhPT0gMHhGRjAwMDApewogICRFUlJPUignIzM6IGZ1bmN0aW9uIFBhbGV0dGUoKXt9OyBQYWxldHRlLnByb3RvdHlwZSA9IHtyZWQ6MHhGRjAwMDAsIGdyZWVuOjB4MDBGRjAwfTsgX19wYWxldHRlID0gbmV3IFBhbGV0dGU7IF9fcGFsZXR0ZS5yZWQgPT09IDB4RkYwMDAwLiBBY3R1YWw6ICcgKyAoX19wYWxldHRlLnJlZCkpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKCg==","commentary":"When the [[Delete]] method of O is called with property name P,\nand if O doesn't have a property with name P, return true","description":"Try to delete not existent properties of O, but existent property of prototype","path":"TestCases/ch08/8.12/8.12.7/S8.12.7_A2_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuIHRoZSBbW0RlbGV0ZV1dIG1ldGhvZCBvZiBPIGlzIGNhbGxlZCB3aXRoIHByb3BlcnR5IG5hbWUgUCwKICogcmVtb3ZlcyB0aGUgcHJvcGVydHkgd2l0aCBuYW1lIFAgZnJvbSBPIGFuZCByZXR1cm4gdHJ1ZQogKgogKiBAcGF0aCBjaDA4LzguMTIvOC4xMi43L1M4LjEyLjdfQTMuanMKICogQGRlc2NyaXB0aW9uIERlbGV0ZSBleGlzdGVudCBwcm9wZXJ0aWVzCiAqLwoKdmFyIEJMVUVfTlVNPTE7CnZhciBCTFVFX1NUUj0iMSI7CnZhciBZRUxMT1dfTlVNPTI7CnZhciBZRUxMT1dfU1RSPSIyIjsKdmFyIF9fY29sb3JfX21hcCA9IHtyZWQ6MHhGRjAwMDAsIEJMVUVfTlVNOjB4MDAwMEZGLCBncmVlbjoweDAwRkYwMCwgWUVMTE9XX1NUUjoweEZGRkYwMH07CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmIChkZWxldGUgX19jb2xvcl9fbWFwW1lFTExPV19OVU1dICE9PSB0cnVlKXsKICAkRVJST1IoJyMxOiB2YXIgQkxVRV9OVU09MTsgdmFyIEJMVUVfU1RSPSIxIjsgdmFyIFlFTExPV19OVU09MjsgdmFyIFlFTExPV19TVFI9IjIiOyB2YXIgX19jb2xvcl9fbWFwID0ge3JlZDoweEZGMDAwMCwgQkxVRV9OVU06MHgwMDAwRkYsIGdyZWVuOjB4MDBGRjAwLCBZRUxMT1dfU1RSOjB4RkZGRjAwfTsgZGVsZXRlIF9fY29sb3JfX21hcFtZRUxMT1dfTlVNXSA9PT0gdHJ1ZTsnKTsKfTsKLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMyCmlmIChfX2NvbG9yX19tYXBbWUVMTE9XX1NUUl0gIT09IHVuZGVmaW5lZCkgewogICRFUlJPUignIzI6IHZhciBCTFVFX05VTT0xOyB2YXIgQkxVRV9TVFI9IjEiOyB2YXIgWUVMTE9XX05VTT0yOyB2YXIgWUVMTE9XX1NUUj0iMiI7IHZhciBfX2NvbG9yX19tYXAgPSB7cmVkOjB4RkYwMDAwLCBCTFVFX05VTToweDAwMDBGRiwgZ3JlZW46MHgwMEZGMDAsIFlFTExPV19TVFI6MHhGRkZGMDB9OyBkZWxldGUgX19jb2xvcl9fbWFwW1lFTExPV19OVU1dOyBfX2NvbG9yX19tYXBbWUVMTE9XX1NUUl0gPT09IHVuZGVmaW5lZC4gQWN0dWFsOiAnICsgKF9fY29sb3JfX21hcFtZRUxMT1dfU1RSXSkpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMwppZiAoZGVsZXRlIF9fY29sb3JfX21hcFtCTFVFX1NUUl0gIT09IHRydWUpewogICRFUlJPUignIzM6IHZhciBCTFVFX05VTT0xOyB2YXIgQkxVRV9TVFI9IjEiOyB2YXIgWUVMTE9XX05VTT0yOyB2YXIgWUVMTE9XX1NUUj0iMiI7IHZhciBfX2NvbG9yX19tYXAgPSB7cmVkOjB4RkYwMDAwLCBCTFVFX05VTToweDAwMDBGRiwgZ3JlZW46MHgwMEZGMDAsIFlFTExPV19TVFI6MHhGRkZGMDB9OyBkZWxldGUgX19jb2xvcl9fbWFwW0JMVUVfU1RSXSA9PT0gdHJ1ZS4gQWN0dWFsOiAnICsgKGRlbGV0ZSBfX2NvbG9yX19tYXBbQkxVRV9TVFJdKSk7Cn07Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjNAppZiAoX19jb2xvcl9fbWFwW0JMVUVfTlVNXSAhPT0gdW5kZWZpbmVkKSB7CiAgJEVSUk9SKCcjNDogdmFyIEJMVUVfTlVNPTE7IHZhciBCTFVFX1NUUj0iMSI7IHZhciBZRUxMT1dfTlVNPTI7IHZhciBZRUxMT1dfU1RSPSIyIjsgdmFyIF9fY29sb3JfX21hcCA9IHtyZWQ6MHhGRjAwMDAsIEJMVUVfTlVNOjB4MDAwMEZGLCBncmVlbjoweDAwRkYwMCwgWUVMTE9XX1NUUjoweEZGRkYwMH07IGRlbGV0ZSBfX2NvbG9yX19tYXBbQkxVRV9TVFJdOyBfX2NvbG9yX19tYXBbQkxVRV9OVU1dID09PSB1bmRlZmluZWQuIEFjdHVhbDogJyArIChfX2NvbG9yX19tYXBbQkxVRV9OVU1dKSk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"When the [[Delete]] method of O is called with property name P,\nremoves the property with name P from O and return true","description":"Delete existent properties","path":"TestCases/ch08/8.12/8.12.7/S8.12.7_A3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGlzIHNob3VsZCBnZW5lcmF0ZSBhIFR5cGVFcnJvciwKICogQ2F1c2Ugd2Ugb3ZlcmxvYWQgdG9TdHJpbmcgbWV0aG9kIHNvIGl0IHJldHVybiBub24gUHJpbWl0aXZlIHZhbHVlCiAqIFNlZSBFQ01BIHJlZmVyZW5jZSBhdCBodHRwOi8vYnVnemlsbGEubW96aWxsYS5vcmcvc2hvd19idWcuY2dpP2lkPTE2NzMyNQogKgogKiBAcGF0aCBjaDA4LzguMTIvOC4xMi44L1M4LjEyLjhfQTEuanMKICogQGRlc2NyaXB0aW9uIFRyeSB0byBvdmVybG9hZCB0b1N0cmluZyBtZXRob2QKICovCgp0cnkKewoJdmFyIF9fb2JqID0ge3RvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gbmV3IE9iamVjdCgpO319ICAKCVN0cmluZyhfX29iaik7CgkkRVJST1IoJyMxLjE6IHZhciBfX29iaiA9IHt0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIG5ldyBPYmplY3QoKTt9fTsgU3RyaW5nKF9fb2JqKSB0aHJvdyBUeXBlRXJyb3IuIEFjdHVhbDogJyArIChTdHJpbmcoX19vYmopKSk7Cn0KY2F0Y2goZSkKewoJaWYgKChlIGluc3RhbmNlb2YgVHlwZUVycm9yKSAhPT0gdHJ1ZSkgewoJICAkRVJST1IoJyMxLjI6IHZhciBfX29iaiA9IHt0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIG5ldyBPYmplY3QoKTt9fTsgU3RyaW5nKF9fb2JqKSB0aHJvdyBUeXBlRXJyb3IuIEFjdHVhbDogJyArIChlKSk7Cgl9ICAKfSAgCgoK","commentary":"This should generate a TypeError,\nCause we overload toString method so it return non Primitive value\nSee ECMA reference at http://bugzilla.mozilla.org/show_bug.cgi?id=167325","description":"Try to overload toString method","path":"TestCases/ch08/8.12/8.12.8/S8.12.8_A1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGlzIHNob3VsZCBnZW5lcmF0ZSBubyBUeXBlRXJyb3IsCiAqIENhdXNlIHdlIG92ZXJsb2FkIHRvU3RyaW5nIG1ldGhvZCBzbyBpdCByZXR1cm4gbm9uIFByaW1pdGl2ZSB2YWx1ZQogKiBidXQgd2Ugb3ZlcmxvYWRlZCB2YWx1ZU9mIG1ldGhvZCB0b28uCiAqIFNlZSBFQ01BIHJlZmVyZW5jZSBhdCBodHRwOi8vYnVnemlsbGEubW96aWxsYS5vcmcvc2hvd19idWcuY2dpP2lkPTE2NzMyNQogKgogKiBAcGF0aCBjaDA4LzguMTIvOC4xMi44L1M4LjEyLjhfQTIuanMKICogQGRlc2NyaXB0aW9uIFRyeSB0byBvdmVybG9hZCB0b1N0cmluZywgdGhhdCByZXR1cm5lZCBuZXcgT2JqZWN0LCBhbmQgdmFsdWVPZiBtZXRob2RzCiAqLwoKdHJ5CnsKCXZhciBfX29iaiA9IHt0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIG5ldyBPYmplY3QoKTt9LCB2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gMTt9fQoJaWYgKFN0cmluZyhfX29iaikgIT09ICIxIikgewoJICAkRVJST1IoJyMxLjE6IHZhciBfX29iaiA9IHt0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIG5ldyBPYmplY3QoKTt9LCB2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gMTt9fTsgU3RyaW5nKF9fb2JqKSA9PT0gIjEiLiBBY3R1YWw6ICcgKyAoU3RyaW5nKF9fb2JqKSkpOwoJfQp9CmNhdGNoKGUpCnsKICAkRVJST1IoJyMxLjI6IHZhciBfX29iaiA9IHt0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIG5ldyBPYmplY3QoKTt9LCB2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gMTt9fTsgU3RyaW5nKF9fb2JqKSA9PT0gIjEiLiBBY3R1YWw6ICcgKyAoZSkpOwp9ICAKCgo=","commentary":"This should generate no TypeError,\nCause we overload toString method so it return non Primitive value\nbut we overloaded valueOf method too.\nSee ECMA reference at http://bugzilla.mozilla.org/show_bug.cgi?id=167325","description":"Try to overload toString, that returned new Object, and valueOf methods","path":"TestCases/ch08/8.12/8.12.8/S8.12.8_A2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXZSBvdmVybG9hZCB2YWx1ZU9mIG1ldGhvZCBzbyBpdCByZXR1cm4gbm9uIFByaW1pdGl2ZSB2YWx1ZQogKiBUaHVzIFtbRGVmYXVsdFZhbHVlXV0gbXVzdCByZXR1cm4gT2JqZWN0LnRvU3RyaW5nKCkgdmFsdWUKICoKICogQHBhdGggY2gwOC84LjEyLzguMTIuOC9TOC4xMi44X0EzLmpzCiAqIEBkZXNjcmlwdGlvbiBUcnkgdG8gb3ZlcmxvYWQgdG9TdHJpbmcgbWV0aG9kLCB0aGF0IHJldHVybmVkIFByaW1pdGl2ZSwgYW5kIHZhbHVlT2YgbWV0aG9kLCB0aGF0IHJldHVybmVkIG5ldyBPYmplY3QKICovCgp0cnkKewogIHZhciBfX29iaiA9IHt0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuICIxIn0sIHZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiBuZXcgT2JqZWN0KCk7fX0KICBpZiAoTnVtYmVyKF9fb2JqKSAhPT0gMSkgewogICAgJEVSUk9SKCcjMS4xOiB2YXIgX19vYmogPSB7dG9OdW1iZXI6IGZ1bmN0aW9uKCkge3JldHVybiAiMSJ9LCB2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gbmV3IE9iamVjdCgpO319OyBOdW1iZXIoX19vYmopID09PSAxLiBBY3R1YWw6ICcgKyAoTnVtYmVyKF9fb2JqKSkpOwogIH0KfQpjYXRjaChlKQp7CiAgJEVSUk9SKCcjMS4yOiB2YXIgX19vYmogPSB7dG9OdW1iZXI6IGZ1bmN0aW9uKCkge3JldHVybiAiMSJ9LCB2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gbmV3IE9iamVjdCgpO319OyBOdW1iZXIoX19vYmopID09PSAxLiBBY3R1YWw6ICcgKyAoZSkpOwp9ICAKCgoKICAKCgo=","commentary":"We overload valueOf method so it return non Primitive value\nThus [[DefaultValue]] must return Object.toString() value","description":"Try to overload toString method, that returned Primitive, and valueOf method, that returned new Object","path":"TestCases/ch08/8.12/8.12.8/S8.12.8_A3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXZSBvdmVybG9hZCB2YWx1ZU9mIG1ldGhvZCBzbyBpdCByZXR1cm4gbm9uIFByaW1pdGl2ZSB2YWx1ZSBhbmQgdG9TdHJpbmcgbWV0aG9kIHNvIGl0IHJldHVybiBub24gUHJpbWl0aXZlIHZhbHVlIHRvbwogKiBUaHVzIFtbRGVmYXVsdFZhbHVlXV0gbXVzdCBnZW5lcmF0ZSBUeXBlRXJyb3IgZXJyb3IKICoKICogQHBhdGggY2gwOC84LjEyLzguMTIuOC9TOC4xMi44X0E0LmpzCiAqIEBkZXNjcmlwdGlvbiBUcnkgdG8gb3ZlcmxvYWQgdG9TdHJpbmcgYW5kIHZhbHVlT2YgbWV0aG9kcywgdGhleSByZXR1cm5lZCBuZXcgT2JqZWN0cwogKi8KCnRyeQp7CiAgdmFyIF9fb2JqID0ge3ZhbHVlT2Y6ZnVuY3Rpb24oKXtyZXR1cm4gbmV3IE9iamVjdDt9LHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gbmV3IE9iamVjdCgpO319ICAKICBOdW1iZXIoX19vYmopOwogICRFUlJPUignIzEuMTogdmFyIF9fb2JqID0ge3ZhbHVlT2Y6ZnVuY3Rpb24oKXtyZXR1cm4gbmV3IE9iamVjdDt9LHRvTnVtYmVyOiBmdW5jdGlvbigpIHtyZXR1cm4gbmV3IE9iamVjdCgpO319OyBOdW1iZXIoX19vYmopIHRocm93IFR5cGVFcnJvci4gQWN0dWFsOiAnICsgKE51bWJlcihfX29iaikpKTsKfQpjYXRjaChlKQp7CiAgaWYgKChlIGluc3RhbmNlb2YgVHlwZUVycm9yKSAhPT0gdHJ1ZSkgewogICAgJEVSUk9SKCcjMS4yOiB2YXIgX19vYmogPSB7dmFsdWVPZjpmdW5jdGlvbigpe3JldHVybiBuZXcgT2JqZWN0O30sdG9OdW1iZXI6IGZ1bmN0aW9uKCkge3JldHVybiBuZXcgT2JqZWN0KCk7fX07IE51bWJlcihfX29iaikgdGhyb3cgVHlwZUVycm9yLiBBY3R1YWw6ICcgKyAoZSkpOwogIH0gIAp9ICAKCg==","commentary":"We overload valueOf method so it return non Primitive value and toString method so it return non Primitive value too\nThus [[DefaultValue]] must generate TypeError error","description":"Try to overload toString and valueOf methods, they returned new Objects","path":"TestCases/ch08/8.12/8.12.8/S8.12.8_A4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gwOC84LjEyLzguMTIuOS84LjEyLjktOS1iLWlfMS5qcw0KICogQGRlc2NyaXB0aW9uIFJlZGVmaW5lIGEgY29uZmlndXJhYmxlIGRhdGEgcHJvcGVydHkgdG8gYmUgYW4gYWNjZXNzb3IgcHJvcGVydHkgb24gYSBuZXdseSBub24tZXh0ZW5zaWJsZSBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgIHZhciBvID0ge307DQogICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG8sICJmb28iLCANCiAgICAgICAgICAgICAgICAgICAgICAgICAgeyB2YWx1ZTogImhlbGxvIiwgDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlfSk7DQogICAgT2JqZWN0LnByZXZlbnRFeHRlbnNpb25zKG8pOw0KICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvLCAiZm9vIiwgeyBnZXQ6IGZ1bmN0aW9uKCkgeyByZXR1cm4gNTt9IH0pOw0KDQogICAgdmFyIGZvb0Rlc2NyaXAgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG8sICJmb28iKTsNCiAgICByZXR1cm4gby5mb289PT01ICYmIGZvb0Rlc2NyaXAuZ2V0IT09dW5kZWZpbmVkICYmIGZvb0Rlc2NyaXAuc2V0PT09dW5kZWZpbmVkICYmIGZvb0Rlc2NyaXAudmFsdWU9PT11bmRlZmluZWQgJiYgZm9vRGVzY3JpcC5jb25maWd1cmFibGU9PT10cnVlICYmIGZvb0Rlc2NyaXAuZW51bWVyYWJsZT09PWZhbHNlICYmIGZvb0Rlc2NyaXAud3JpdGFibGU9PT11bmRlZmluZWQ7DQp9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Redefine a configurable data property to be an accessor property on a newly non-extensible object","path":"TestCases/ch08/8.12/8.12.9/8.12.9-9-b-i_1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gwOC84LjEyLzguMTIuOS84LjEyLjktOS1iLWlfMi5qcw0KICogQGRlc2NyaXB0aW9uIFJlZGVmaW5lIGEgY29uZmlndXJhYmxlIGRhdGEgcHJvcGVydHkgdG8gYmUgYW4gYWNjZXNzb3IgcHJvcGVydHkgb24gYSBuZXdseSBub24tZXh0ZW5zaWJsZSBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgIHZhciBvID0ge307DQogICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG8sICJmb28iLCANCiAgICAgICAgICAgICAgICAgICAgICAgICAgeyB2YWx1ZTogImhlbGxvIiwgDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgd3JpdGFibGU6IHRydWV9KTsNCiAgICBPYmplY3QucHJldmVudEV4dGVuc2lvbnMobyk7DQogICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG8sICJmb28iLCB7IGdldDogZnVuY3Rpb24oKSB7IHJldHVybiA1O30gfSk7DQoNCiAgICB2YXIgZm9vRGVzY3JpcCA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IobywgImZvbyIpOw0KICAgIHJldHVybiBvLmZvbz09PTUgJiYgZm9vRGVzY3JpcC5nZXQhPT11bmRlZmluZWQgJiYgZm9vRGVzY3JpcC5zZXQ9PT11bmRlZmluZWQgJiYgZm9vRGVzY3JpcC52YWx1ZT09PXVuZGVmaW5lZCAmJiBmb29EZXNjcmlwLmNvbmZpZ3VyYWJsZT09PXRydWUgJiYgZm9vRGVzY3JpcC5lbnVtZXJhYmxlPT09dHJ1ZSAmJiBmb29EZXNjcmlwLndyaXRhYmxlPT09dW5kZWZpbmVkOw0KfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Redefine a configurable data property to be an accessor property on a newly non-extensible object","path":"TestCases/ch08/8.12/8.12.9/8.12.9-9-b-i_2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gwOC84LjEyLzguMTIuOS84LjEyLjktOS1jLWlfMS5qcw0KICogQGRlc2NyaXB0aW9uIFJlZGVmaW5lIGEgY29uZmlndXJhYmxlIGFjY2Vzc29yIHByb3BlcnR5IHRvIGJlIGEgZGF0YSBwcm9wZXJ0eSBvbiBhIG5vbi1leHRlbnNpYmxlIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgdmFyIG8gPSB7fTsNCiAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkobywgImZvbyIsIA0KICAgICAgICAgICAgICAgICAgICAgICAgICB7IGdldDogZnVuY3Rpb24oKSB7IHJldHVybiA1O30sIA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZX0pOw0KICAgIE9iamVjdC5wcmV2ZW50RXh0ZW5zaW9ucyhvKTsNCiAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkobywgImZvbyIsIHsgdmFsdWU6ICJoZWxsbyJ9KTsNCg0KICAgIHZhciBmb29EZXNjcmlwID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvLCAiZm9vIik7DQogICAgcmV0dXJuIG8uZm9vPT09ImhlbGxvIiAmJiBmb29EZXNjcmlwLmdldD09PXVuZGVmaW5lZCAmJiBmb29EZXNjcmlwLnNldD09PXVuZGVmaW5lZCAmJiBmb29EZXNjcmlwLnZhbHVlPT09ImhlbGxvIiAmJiBmb29EZXNjcmlwLmNvbmZpZ3VyYWJsZT09PXRydWUgJiYgZm9vRGVzY3JpcC5lbnVtZXJhYmxlPT09ZmFsc2UgJiYgZm9vRGVzY3JpcC53cml0YWJsZT09PWZhbHNlOw0KfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Redefine a configurable accessor property to be a data property on a non-extensible object","path":"TestCases/ch08/8.12/8.12.9/8.12.9-9-c-i_1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gwOC84LjEyLzguMTIuOS84LjEyLjktOS1jLWlfMi5qcw0KICogQGRlc2NyaXB0aW9uIFJlZGVmaW5lIGEgY29uZmlndXJhYmxlIGFjY2Vzc29yIHByb3BlcnR5IHRvIGJlIGEgZGF0YSBwcm9wZXJ0eSBvbiBhIG5vbi1leHRlbnNpYmxlIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgdmFyIG8gPSB7fTsNCiAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkobywgImZvbyIsIA0KICAgICAgICAgICAgICAgICAgICAgICAgICB7IGdldDogZnVuY3Rpb24oKSB7IHJldHVybiA1O30sIA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZX0pOw0KICAgIE9iamVjdC5wcmV2ZW50RXh0ZW5zaW9ucyhvKTsNCiAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkobywgImZvbyIsIA0KICAgICAgICAgICAgICAgICAgICAgICAgICB7IHZhbHVlOiAiaGVsbG8iLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdyaXRhYmxlOiB0cnVlfSk7DQoNCiAgICB2YXIgZm9vRGVzY3JpcCA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IobywgImZvbyIpOw0KICAgIHJldHVybiBvLmZvbz09PSJoZWxsbyIgJiYgZm9vRGVzY3JpcC5nZXQ9PT11bmRlZmluZWQgJiYgZm9vRGVzY3JpcC5zZXQ9PT11bmRlZmluZWQgJiYgZm9vRGVzY3JpcC52YWx1ZT09PSJoZWxsbyIgJiYgZm9vRGVzY3JpcC5jb25maWd1cmFibGU9PT10cnVlICYmIGZvb0Rlc2NyaXAuZW51bWVyYWJsZT09PWZhbHNlICYmIGZvb0Rlc2NyaXAud3JpdGFibGU9PT10cnVlOw0KfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Redefine a configurable accessor property to be a data property on a non-extensible object","path":"TestCases/ch08/8.12/8.12.9/8.12.9-9-c-i_2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgTnVsbCBUeXBlIGhhcyBvbmUgdmFsdWUsIGNhbGxlZCBudWxsCiAqCiAqIEBwYXRoIGNoMDgvOC4yL1M4LjJfQTFfVDEuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIGV4ZWN1dGlvbiBvZiAidmFyIHggPSBudWxsIiBwYXNzZXMKICovCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCnZhciB4ID0gbnVsbDsKLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgoK","commentary":"The Null Type has one value, called null","description":"Checking if execution of \"var x = null\" passes","path":"TestCases/ch08/8.2/S8.2_A1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgTnVsbCBUeXBlIGhhcyBvbmUgdmFsdWUsIGNhbGxlZCBudWxsCiAqCiAqIEBwYXRoIGNoMDgvOC4yL1M4LjJfQTFfVDIuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIGV4ZWN1dGlvbiBvZiAieCA9IG51bGwiIHBhc3NlcwogKi8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKdmFyIHggPSBudWxsOwovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCgo=","commentary":"The Null Type has one value, called null","description":"Checking if execution of \"x = null\" passes","path":"TestCases/ch08/8.2/S8.2_A1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgbnVsbCBpcyByZXNydmVkIHdvcmQKICoKICogQHBhdGggY2gwOC84LjIvUzguMl9BMi5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgaWYgZXhlY3V0aW9uIG9mICJ2YXIgbnVsbCIgZmFpbHMKICogQG5lZ2F0aXZlCiAqLwoKdmFyIG51bGw7CgoKCg==","commentary":"The null is resrved word","description":"Checking if execution of \"var null\" fails","negative":"","path":"TestCases/ch08/8.2/S8.2_A2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBGb3IgdGhlIGtleXdvcmQgbnVsbCB0aGUgdHlwZW9mIG9wZXJhdG9yIHJldHVybnMgdGhlICJvYmplY3QiCiAqIFNlZSBhbHNvCiAqIGh0dHA6Ly9kZXZlbG9wZXIubW96aWxsYS5vcmcvZW4vZG9jcy9Db3JlX0phdmFTY3JpcHRfMS41X1JlZmVyZW5jZTpPcGVyYXRvcnM6U3BlY2lhbF9PcGVyYXRvcnM6dHlwZW9mX09wZXJhdG9yCiAqIGFuZAogKiBodHRwOi8vYnVncy5lY21hc2NyaXB0Lm9yZy90aWNrZXQvMjUwCiAqIGZvciBleGFtcGxlCiAqCiAqIEBwYXRoIGNoMDgvOC4yL1M4LjJfQTMuanMKICogQGRlc2NyaXB0aW9uIENoZWNrIHR5cGUgb2YgbnVsbAogKi8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vIENIRUNLIzEKaWYgKHR5cGVvZihudWxsKSAhPT0gIm9iamVjdCIpIHsKICAkRVJST1IoJyMxOiB0eXBlb2YgbnVsbCA9PT0gIm9iamVjdCIuIEFjdHVhbDogJyArICh0eXBlb2YgbnVsbCkpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"For the keyword null the typeof operator returns the \"object\"\nSee also\nhttp://developer.mozilla.org/en/docs/Core_JavaScript_1.5_Reference:Operators:Special_Operators:typeof_Operator\nand\nhttp://bugs.ecmascript.org/ticket/250\nfor example","description":"Check type of null","path":"TestCases/ch08/8.2/S8.2_A3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgQm9vbGVhbiB0eXBlIGhhdmUgdHdvIHZhbHVlcywgY2FsbGVkIHRydWUgYW5kIGZhbHNlCiAqCiAqIEBwYXRoIGNoMDgvOC4zL1M4LjNfQTFfVDEuanMKICogQGRlc2NyaXB0aW9uIEFzc2lnbiB0cnVlIGFuZCBmYWxzZSB0byB2YXJpYWJsZXMKICovCgppZiAoeCAhPT0gdW5kZWZpbmVkKSB7CiAgICAkRVJST1IoIiMwIHggIT09IHVuZGVmaW5lZCwgYnV0IGFjdHVhbCBpcyAiKyB4KTsKfSAgIAoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vIENIRUNLIzEKdmFyIHggPSB0cnVlOwp2YXIgeSA9IGZhbHNlOwoKaWYgKHggIT09IHRydWUpIHsKICAgICRFUlJPUigiIzEuMSB4ICE9PSB0cnVlLCBidXQgYWN0dWFsIGlzICIrIHgpOwp9IAoKaWYgKHkgIT09IGZhbHNlKSB7CiAgICAkRVJST1IoIiMxLjEgeSAhPT0gZmFsc2UsIGJ1dCBhY3R1YWwgaXMgIisgeSk7Cn0gCgovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"The Boolean type have two values, called true and false","description":"Assign true and false to variables","path":"TestCases/ch08/8.3/S8.3_A1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgQm9vbGVhbiB0eXBlIGhhdmUgdHdvIHZhbHVlcywgY2FsbGVkIHRydWUgYW5kIGZhbHNlCiAqCiAqIEBwYXRoIGNoMDgvOC4zL1M4LjNfQTFfVDIuanMKICogQGRlc2NyaXB0aW9uIENoZWNrIHR5cGUgb2YgdHJ1ZS9mYWxzZSBhbmQgaXRgcyBlcXVhbGl0eQogKi8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy8gQ0hFQ0sjMQppZiAodHlwZW9mKHRydWUpICE9PSAiYm9vbGVhbiIpIHsKICAkRVJST1IoJyMxOiB0eXBlb2YodHJ1ZSkgPT09ICJib29sZWFuIicpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy8gQ0hFQ0sjMgppZiAodHlwZW9mKHRydWUpICE9ICJib29sZWFuIikgewogICRFUlJPUignIzI6IHR5cGVvZih0cnVlKSA9PSAiYm9vbGVhbiInKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vIENIRUNLIzMKaWYgKHR5cGVvZihmYWxzZSkgIT09ICJib29sZWFuIikgewogICRFUlJPUignIzM6IHR5cGVvZihmYWxzZSkgPT09ICJib29sZWFuIicpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy8gQ0hFQ0sjNAppZiAodHlwZW9mKGZhbHNlKSAhPSAiYm9vbGVhbiIpIHsKICAkRVJST1IoJyM0OiB0eXBlb2YoZmFsc2UpID09ICJib29sZWFuIicpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy8gQ0hFQ0sjNQppZiAodHJ1ZSA9PT0gZmFsc2UpIHsKICAkRVJST1IoJyM1OiB0cnVlICE9PSBmYWxzZScpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy8gQ0hFQ0sjNgppZiAodHJ1ZSA9PSBmYWxzZSkgewogICRFUlJPUignIzY6IHRydWUgIT0gZmFsc2UnKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vIENIRUNLIzcKaWYgKGZhbHNlID09PSB0cnVlKSB7CiAgJEVSUk9SKCcjNzogZmFsc2UgIT09IHRydWUnKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vIENIRUNLIzgKaWYgKGZhbHNlID09IHRydWUpIHsKICAkRVJST1IoJyM4OiBmYWxzZSAhPSB0cnVlJyk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKCg==","commentary":"The Boolean type have two values, called true and false","description":"Check type of true/false and it`s equality","path":"TestCases/ch08/8.3/S8.3_A1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgdHJ1ZSBpcyByZXNlcnZlZCB3b3JkCiAqCiAqIEBwYXRoIGNoMDgvOC4zL1M4LjNfQTIuMS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgaWYgZXhlY3V0aW9uIG9mICJ0cnVlPTEiIGZhaWxzCiAqIEBuZWdhdGl2ZQogKi8KCnRydWUgPSAxOwoK","commentary":"The true is reserved word","description":"Checking if execution of \"true=1\" fails","negative":"","path":"TestCases/ch08/8.3/S8.3_A2.1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgZmFsc2UgaXMgcmVzZXJ2ZWQgd29yZAogKgogKiBAcGF0aCBjaDA4LzguMy9TOC4zX0EyLjIuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIGV4ZWN1dGlvbiBvZiAiZmFsc2U9MCIgZmFpbHMKICogQG5lZ2F0aXZlCiAqLwoKZmFsc2UgPSAwOwoK","commentary":"The false is reserved word","description":"Checking if execution of \"false=0\" fails","negative":"","path":"TestCases/ch08/8.3/S8.3_A2.2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBBcHBsYWluZyBuZWdhdGlvbiB0byBib29sZWFuIHdvcmtzIHdlbGwKICoKICogQHBhdGggY2gwOC84LjMvUzguM19BMy5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2sgbm90IGZhbHNlIGVxdWFscyB0cnVlLCBub3QgdHJ1ZSBlcXVhbHMgZmFsc2UKICovCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmICghZmFsc2UgIT09IHRydWUpewogICRFUlJPUignIzE6ICFmYWxzZSA9PT0gdHJ1ZScpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMgppZiAoIWZhbHNlICE9IHRydWUpewogICRFUlJPUignIzI6ICFmYWxzZSA9PSB0cnVlJyk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMzCmlmICghdHJ1ZSAhPT0gZmFsc2UpewogICRFUlJPUignIzM6ICF0cnVlID09PSBmYWxzZScpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjNAppZiAoIXRydWUgIT0gZmFsc2UpewogICRFUlJPUignIzQ6ICF0cnVlID09IGZhbHNlJyk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"Applaing negation to boolean works well","description":"Check not false equals true, not true equals false","path":"TestCases/ch08/8.3/S8.3_A3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBBbnkgdmFyaWFibGUgdGhhdCBoYXMgYmVlbiBhc3NpZ25lZCB3aXRoIHN0cmluZyBsaXRlcmFsIGhhcyB0aGUgdHlwZSBzdHJpbmcKICoKICogQHBhdGggY2gwOC84LjQvUzguNF9BMS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2sgdHlwZSBvZiB2YXJpYWJsZSB0aGF0IGhhcyBiZWVuIGFzc2lnbmVkIHdpdGggc3RyaW5nIGxpdGVyYWwKICovCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy8gQ0hFQ0sjMQp2YXIgc3RyPSJhYmNkZmciOwppZiAodHlwZW9mKHN0cikhPT0ic3RyaW5nIil7CiAgJEVSUk9SKCcjMTogdmFyIHN0cj0iYWJjZGZnIjsgdHlwZW9mKHN0cikgPT09ICJzdHJpbmciLiBBY3R1YWw6ICcgKyAodHlwZW9mKHN0cikpKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vIENIRUNLIzIKdmFyIHN0cjI9J3F3ZXJ0eSc7CmlmICh0eXBlb2Yoc3RyMikhPT0ic3RyaW5nIil7CiAgJEVSUk9SKCcjMjogdmFyIHN0cjI9XCdxd2VydHlcJzsgdHlwZW9mKHN0cikgPT09ICJzdHJpbmciLiBBY3R1YWw6ICcgKyAodHlwZW9mKHN0cjIpKSk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovLyBDSEVDSyMzCnZhciBfX3N0cj0nXHUwMDQyXHUwMDQzXHUwMDQ0XHUwMDQ1XHUwMDQ2XHUwMDQ3XHUwMDQ4JzsKaWYgKHR5cGVvZihfX3N0cikhPT0ic3RyaW5nIil7CiAgJEVSUk9SKCcjMzogdmFyIF9fc3RyPVwnXFx1MDA0MlxcdTAwNDNcXHUwMDQ0XFx1MDA0NVxcdTAwNDZcXHUwMDQ3XFx1MDA0OFwnOyB0eXBlb2YoX19zdHIpID09PSAic3RyaW5nIi4gQWN0dWFsOiAnICsgKHR5cGVvZihfX3N0cikpKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vIENIRUNLIzQKdmFyIHN0cl9fPSJcdTAwNDJcdTAwNDNcdTAwNDRcdTAwNDVcdTAwNDZcdTAwNDdcdTAwNDgiOwppZiAodHlwZW9mKHN0cl9fKSE9PSJzdHJpbmciKXsKICAkRVJST1IoJyM0OiB2YXIgc3RyX189ImFiY2RmZyI7IHR5cGVvZihzdHJfXykgPT09ICJzdHJpbmciLiBBY3R1YWw6ICcgKyAodHlwZW9mKHN0cl9fKSkpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"Any variable that has been assigned with string literal has the type string","description":"Check type of variable that has been assigned with string literal","path":"TestCases/ch08/8.4/S8.4_A1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBCb3RoIHVuaWNvZGUgYW5kIGFzY2lpIGNoYXJzIGFyZSBhbGxvd2VkCiAqCiAqIEBwYXRoIGNoMDgvOC40L1M4LjRfQTEwLmpzCiAqIEBkZXNjcmlwdGlvbiBDcmVhdGUgc3RyaW5nIHVzaW5nIGJvdGggdW5pY29kZSBhbmQgYXNjaWkgY2hhcnMKICovCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCnZhciBfX3N0ciA9ICJcdTAwNDFBXHUwMDQyQlx1MDA0M0MiOwppZiAoX19zdHIgIT09ICdBQUJCQ0MnKXsKICAkRVJST1IoJyMxOiB2YXIgX19zdHIgPSAiXFx1MDA0MUFcXHUwMDQyQlxcdTAwNDNDIjsgX19zdHIgPT09IFwnQUFCQkNDXCcuIEFjdHVhbDogJyArIChfX3N0cikpOwp9OwovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzIKdmFyIF9fc3RyX18gPSAiXHUwMDQxXHUwMDQyXHUwMDQzIisnQUJDJzsKaWYgKF9fc3RyX18gIT09ICdBQkNBQkMnKXsKICAkRVJST1IoJyMyOiB2YXIgX19zdHJfXyA9ICJcXHUwMDQxXFx1MDA0MlxcdTAwNDMiK1wnQUJDXCc7IF9fc3RyX18gPT09IFwnQUJDQUJDXCcuIEFjdHVhbDogJyArIChfX3N0cl9fKSk7Cn07Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMwp2YXIgc3RyX18gPSAiQUJDIisnXHUwMDQxXHUwMDQyXHUwMDQzJzsKaWYgKHN0cl9fICE9PSAiQUJDQUJDIil7CiAgJEVSUk9SKCcjMjogdmFyIHN0cl9fID0gIkFCQyIrXCdcXHUwMDQxXFx1MDA0MlxcdTAwNDNcJzsgc3RyX18gPT09ICJBQkNBQkMiLiBBY3R1YWw6ICcgKyAoc3RyX18pKTsKfTsKLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"Both unicode and ascii chars are allowed","description":"Create string using both unicode and ascii chars","path":"TestCases/ch08/8.4/S8.4_A10.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBQcmVzZW5jZSBvZiByZXNlcnZlZCB3b3JkcyBpbiBzdHJpbmcgbGl0ZXJhbCBhcmUgYWxsb3dlZAogKgogKiBAcGF0aCBjaDA4LzguNC9TOC40X0ExMS5qcwogKiBAZGVzY3JpcHRpb24gQ3JlYXRlIHN0cmluZyB2YXJpYWJsZSwgdGhldCBpbmNsdWRlIGFsbCByZXNlcnZlZCB3b3JkcwogKi8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKdmFyIF9fZGVsZXRlPSIgYnJlYWsgZWxzZSBuZXcgdmFyIGNhc2UgZmluYWxseSByZXR1cm4gdm9pZCBjYXRjaCBmb3Igc3dpdGNoIHdoaWxlIGNvbnRpbnVlIGZ1bmN0aW9uIHRoaXMgd2l0aCBkZWZhdWx0IGlmIHRocm93IGRlbGV0ZSBpbiB0cnkgZG8gaW5zdGFuY2VvZiB0eXBlb2YgIjsKLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"Presence of reserved words in string literal are allowed","description":"Create string variable, thet include all reserved words","path":"TestCases/ch08/8.4/S8.4_A11.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBBc3NpZ25tZW50IHRvIHN0cmluZyBsaXRlcmFsIGNhbGxzIFN0cmluZyBjb25zdHJ1Y3RvcgogKgogKiBAcGF0aCBjaDA4LzguNC9TOC40X0ExMi5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2sgY29uc3RydWN0b3Igb2Ygc2ltcGxlIGFzc2lnbmVkIHZhcmlhYmxlCiAqLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQp2YXIgc3RyID0gInJvY2snbidyb2xsIjsKaWYgKHN0ci5jb25zdHJ1Y3RvciAhPT0gU3RyaW5nKXsKICAkRVJST1IoJyMxOiB2YXIgc3RyID0gInJvY2tcJ25cJ3JvbGwiOyBzdHIuY29uc3RydWN0b3IgPT09IFN0cmluZy4gQWN0dWFsOiAnICsgKHN0ci5jb25zdHJ1Y3RvcikpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"Assignment to string literal calls String constructor","description":"Check constructor of simple assigned variable","path":"TestCases/ch08/8.4/S8.4_A12.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuIGFwcGVhcnMgbm90IGNsb3NlZCBzaW5nbGUtcXVvdGUgcHJvZ3JhbSBmYWlsZXMKICoKICogQHBhdGggY2gwOC84LjQvUzguNF9BMTNfVDEuanMKICogQGRlc2NyaXB0aW9uIFRyeSB0byBjcmVhdGUgdmFyaWFibGUgdXNpbmcgMyBzaW5nbGUtcXVvdGUKICogQG5lZ2F0aXZlCiAqLwoKdmFyIHN0ciA9ICcnJzsKCg==","commentary":"When appears not closed single-quote program failes","description":"Try to create variable using 3 single-quote","negative":"","path":"TestCases/ch08/8.4/S8.4_A13_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuIGFwcGVhcnMgbm90IGNsb3NlZCBzaW5nbGUtcXVvdGUgcHJvZ3JhbSBmYWlsZXMKICoKICogQHBhdGggY2gwOC84LjQvUzguNF9BMTNfVDIuanMKICogQGRlc2NyaXB0aW9uIFRyeSB0byBjcmVhdGUgdmFyaWFibGUgdXNpbmcgMSBzaW5nbGUtcXVvdGUKICogQG5lZ2F0aXZlCiAqLwoKdmFyIHN0ciA9ICc7Cgo=","commentary":"When appears not closed single-quote program failes","description":"Try to create variable using 1 single-quote","negative":"","path":"TestCases/ch08/8.4/S8.4_A13_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuIGFwcGVhcnMgbm90IGNsb3NlZCBzaW5nbGUtcXVvdGUgcHJvZ3JhbSBmYWlsZXMKICoKICogQHBhdGggY2gwOC84LjQvUzguNF9BMTNfVDMuanMKICogQGRlc2NyaXB0aW9uIFRyeSB0byBjcmVhdGUgdmFyaWFibGUgdXNpbmcgNCBzaW5nbGUtcXVvdGUKICogQG5lZ2F0aXZlCiAqLwoKdmFyIHN0ciA9ICcnJyc7Cgo=","commentary":"When appears not closed single-quote program failes","description":"Try to create variable using 4 single-quote","negative":"","path":"TestCases/ch08/8.4/S8.4_A13_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuIGFwcGVhcnMgbm90IGNsb3NlZCBkb3VibGUtcXVvdGUgcHJvZ3JhbSBmYWlsZXMKICoKICogQHBhdGggY2gwOC84LjQvUzguNF9BMTRfVDEuanMKICogQGRlc2NyaXB0aW9uIFRyeSB0byBjcmVhdGUgdmFyaWFibGUgdXNpbmcgMSBkb3VibGUtcXVvdGUKICogQG5lZ2F0aXZlCiAqLwoKdmFyIHN0ciA9ICI7Cgo=","commentary":"When appears not closed double-quote program failes","description":"Try to create variable using 1 double-quote","negative":"","path":"TestCases/ch08/8.4/S8.4_A14_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuIGFwcGVhcnMgbm90IGNsb3NlZCBkb3VibGUtcXVvdGUgcHJvZ3JhbSBmYWlsZXMKICoKICogQHBhdGggY2gwOC84LjQvUzguNF9BMTRfVDIuanMKICogQGRlc2NyaXB0aW9uIFRyeSB0byBjcmVhdGUgdmFyaWFibGUgdXNpbmcgMyBkb3VibGUtcXVvdGUKICogQG5lZ2F0aXZlCiAqLwoKdmFyIHN0ciA9ICIiIjsKCg==","commentary":"When appears not closed double-quote program failes","description":"Try to create variable using 3 double-quote","negative":"","path":"TestCases/ch08/8.4/S8.4_A14_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuIGFwcGVhcnMgbm90IGNsb3NlZCBkb3VibGUtcXVvdGUgcHJvZ3JhbSBmYWlsZXMKICoKICogQHBhdGggY2gwOC84LjQvUzguNF9BMTRfVDMuanMKICogQGRlc2NyaXB0aW9uIFRyeSB0byBjcmVhdGUgdmFyaWFibGUgdXNpbmcgNCBkb3VibGUtcXVvdGUKICogQG5lZ2F0aXZlCiAqLwoKdmFyIHN0ciA9ICIiIiI7Cgo=","commentary":"When appears not closed double-quote program failes","description":"Try to create variable using 4 double-quote","negative":"","path":"TestCases/ch08/8.4/S8.4_A14_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBFbXB0eSBzdHJpbmcgaGFzIHR5cGUgc3RyaW5nCiAqCiAqIEBwYXRoIGNoMDgvOC40L1M4LjRfQTIuanMKICogQGRlc2NyaXB0aW9uIENyZWF0ZSBlbXB0eSBzdHJpbmcgYW5kIGNoZWNrIGl0IHR5cGUKICovCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy8gQ0hFQ0sjMQp2YXIgc3RyID0gJyc7CmlmICh0eXBlb2Yoc3RyKSAhPT0gJ3N0cmluZycpewogICRFUlJPUignIzE6IHZhciBzdHIgPSBcJ1wnOyB0eXBlb2Yoc3RyKSA9PT0gXCdzdHJpbmdcJy4gQWN0dWFsOiAnICsgKHR5cGVvZihzdHIpKSk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovLyBDSEVDSyMyCnZhciBzdHIgPSAiIjsKaWYgKHR5cGVvZihzdHIpICE9PSAic3RyaW5nIil7CiAgJEVSUk9SKCcjMjogdmFyIHN0ciA9ICIiOyB0eXBlb2Yoc3RyKSA9PT0gInN0cmluZyIuIEFjdHVhbDogJyArIChzdHIpKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"Empty string has type string","description":"Create empty string and check it type","path":"TestCases/ch08/8.4/S8.4_A2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcgdHlwZSBoYXMgYSBsZW5ndGggcHJvcGVydHkKICoKICogQHBhdGggY2gwOC84LjQvUzguNF9BMy5qcwogKiBAZGVzY3JpcHRpb24gVHJ5IHJlYWQgbGVuZ3RoIHByb3BlcnR5IG9mIHN0cmluZyB2YXJpYWJsZQogKi8KCnZhciBfX3N0ciA9ICJBQkNERUZHSCI7Ci8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKF9fc3RyLmxlbmd0aCAhPT0gOCkgewogICRFUlJPUignIzE6IHZhciBfX3N0ciA9ICJBQkNERUZHSCI7IF9fc3RyLmxlbmd0aCA9PT0gOC4gQWN0dWFsOiAnICsgKF9fc3RyLmxlbmd0aCkpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"String type has a length property","description":"Try read length property of string variable","path":"TestCases/ch08/8.4/S8.4_A3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBFbXB0eSBzdHJpbmcgdmFyaWFibGUgaGFzIGEgbGVuZ3RoIHByb3BlcnR5CiAqCiAqIEBwYXRoIGNoMDgvOC40L1M4LjRfQTQuanMKICogQGRlc2NyaXB0aW9uIFRyeSByZWFkIGxlbmd0aCBwcm9wZXJ0eSBvZiBlbXB0eSBzdHJpbmcgdmFyaWFibGUKICovCgp2YXIgX19zdHIgPSAiIjsKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAoX19zdHIubGVuZ3RoICE9PSAwKSB7CiAgJEVSUk9SKCcjMTogdmFyIF9fc3RyID0gIiI7IF9fc3RyLmxlbmd0aCA9PT0gMC4gQWN0dWFsOiAnICsgKF9fc3RyKSk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"Empty string variable has a length property","description":"Try read length property of empty string variable","path":"TestCases/ch08/8.4/S8.4_A4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBaZXJvICJcMCIgbm90IHRlcm1pbmF0ZXMgdGhlIHN0cmluZyhDIHN0cmluZykKICoKICogQHBhdGggY2gwOC84LjQvUzguNF9BNS5qcwogKiBAZGVzY3JpcHRpb24gSW5zZXJ0ICJcMCIgaW50byBzdHJpbmcKICovCgovLyBDSEVDSyMxCmlmICgieFwweSIgPT09ICJ4IikgewogICRFUlJPUignIzE6ICJ4XFwweSIgIT09ICJ4IicpOwp9CgovLyBDSEVDSyMyCmlmICghKCgieFwwYSIgPCAieFwwYiIpICYmICgieFwwYiIgPCAieFwwYyIpKSkgewogICRFUlJPUignIzI6ICgoInhcXDBhIiA8ICJ4XFwwYiIpICYmICgieFxcMGIiIDwgInhcXDBjIikpID09PSB0cnVlJyk7Cn0KCg==","commentary":"Zero \"\\0\" not terminates the string(C string)","description":"Insert \"\\0\" into string","path":"TestCases/ch08/8.4/S8.4_A5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBMYXJnZSBzdHJpbmcgNDA5NiBieXRlcwogKgogKiBAcGF0aCBjaDA4LzguNC9TOC40X0E2LjEuanMKICogQGRlc2NyaXB0aW9uIEFzc2lnbiB2YXJpYWJsZSBieSBsYXJnZSBzdHJpbmcKICovCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vIENoZWNrIzEKdmFyIGxhcmdlU3RyPSdTdGFuZGFyZCBFQ01BLTI2MjNyIGQgRWRpdGlvbiAtIERlY2VtYmVyIDE5OTlTIHQgYSBuIGQgYSByIGQgaSB6IGkgbiBnIEluZm9ybWF0IGkgbyBuIGFuZCBDb21tdSBuIGkgYyBhIHQgaSBvIG4gU3lzdGVtc1Bob25lOiArNDEgMjIgODQ5LjYwLjAwIC0gRmF4OiArNDEgMjIgODQ5LjYwLjAxIC0gVVJMOiBodCB0cDogLyAvd3d3LmVjbWEuY2ggLSBJbnRlcm5ldDogaGVscGRlc2tAZWNtYS5jaEVDTUFTY3JpcHQgTGFuZ3VhZ2VTcGVjaWZpY2F0aW9uU3RhbmRhcmQgRUNNQS0yNjIzciBkIEVkaXRpb24gLSBEZWNlbWJlciAxOTk5UyB0IGEgbiBkIGEgciBkIGkgeiBpIG4gZyBJbmZvcm1hdCBpIG8gbiBhbmQgQ29tbXUgbiBpIGMgYSB0IGkgbyBuIFN5c3RlbXNQaG9uZTogKzQxIDIyIDg0OS42MC4wMCAtIEZheDogKzQxIDIyIDg0OS42MC4wMSAtIFVSTDogaHQgdHA6IC8gL3d3dy5lY21hLmNoIC0gSW50ZXJuZXQ6IGhlbHBkZXNrQGVjbWEuY2hNQiBFY21hLTI2Mi5kb2MgMDgtMDQtMDIgMTYsNTNFQ01BU2NyaXB0IExhbmd1YWdlU3BlY2lmaWNhdGlvbkJyaWVmIEhpc3RvcnlUaGlzIEVDTUEgU3RhbmRhcmQgaXMgYmFzZWQgb24gc2V2ZXJhbCBvcmlnaW5hdGluZyB0ZWNobm9sb2dpZXMsIHRoZSBtb3N0IHdlbGwga25vd24gYmVpbmcgSmF2YVNjcmlwdCAoTmV0c2NhcGUpYW5kIEpTY3JpcHQgKE1pY3Jvc29mdCkuIFRoZSBsYW5ndWFnZSB3YXMgaW52ZW50ZWQgYnkgQnJlbmRhbiBFaWNoIGF0IE5ldHNjYXBlIGFuZCBmaXJzdCBhcHBlYXJlZCBpbiB0aGF0Y29tcGFuIE5hdmlnYXRvciAyLjAgYnJvd3Nlci4gSXQgaGFzIGFwcGVhcmVkIGluIGFsbCBzdWJzZXF1ZW50IGJyb3dzZXJzIGZyb20gTmV0c2NhcGUgYW5kIGluIGFsbCBicm93c2VycyBmcm9tTWljcm9zb2Z0IHN0YXJ0aW5nIHdpdGggSW50ZXJuZXQgRXhwbG9yZXIgMy4wLlRoZSBkZXZlbG9wbWVudCBvZiB0aGlzIFN0YW5kYXJkIHN0YXJ0ZWQgaW4gTm92ZW1iZXIgMTk5Ni4gVGhlIGZpcnN0IGVkaXRpb24gb2YgdGhpcyBFQ01BIFN0YW5kYXJkIHdhcyBhZG9wdGVkIGJ5dGhlIEVDTUEgR2VuZXJhbCBBc3NlbWJseSBvZiBKdW5lIDE5OTcuVGhhdCBFQ01BIFN0YW5kYXJkIHdhcyBzdWJtaXR0ZWQgdG8gSVNPL0lFQyBKVEMgMSBmb3IgYWRvcHRpb24gdW5kZXIgdGhlIGZhc3QtdHJhY2sgcHJvY2VkdXJlLCBhbmQgYXBwcm92ZWQgYXNpbnRlcm5hdGlvbmFsIHN0YW5kYXJkIElTTy9JRUMgMTYyNjIsIGluIEFwcmlsIDE5OTguIFRoZSBFQ01BIEdlbmVyYWwgQXNzZW1ibHkgb2YgSnVuZSAxOTk4IGFwcHJvdmVkIHRoZXNlY29uZCBlZGl0aW9uIG9mIEVDTUEtMjYyIHRvIGtlZXAgaXQgZnVsbHkgYWxpZ25lZCB3aXRoIElTTy9JRUMgMTYyNjIuIENoYW5nZXMgYmV0d2VlbiB0aGUgZmlyc3QgYW5kIHRoZSBzZWNvbmRlZGl0aW9uIGFyZSBlZGl0b3JpYWwgaW4gbmF0dXJlLlRoZSBjdXJyZW50IGRvY3VtZW50IGRlZmluZXMgdGhlIHRoaXJkIGVkaXRpb24gb2YgdGhlIFN0YW5kYXJkIGFuZCBpbmNsdWRlcyBwb3dlcmZ1bCByZWd1bGFyIGV4cHJlc3Npb25zLCBiZXR0ZXJzdHJpbmcgaGFuZGxpbmcsIG5ldyBjb250cm9sIHN0YXRlbWVudHMsIHRyeS9jYXRjaCBleGNlcHRpb24gaGFuZGxpbmcsIHRpZ2h0ZXIgZGVmaW5pdGlvbiBvZiBlcnJvcnMsIGZvcm1hdHRpbmcgZm9ybnVtZXJpYyBvdXRwdXQgYW5kIG1pbm9yIGNoYW5nZXMgaW4gYW50aWNpcGF0aW9uIG9mIGZvcnRoY29taW5nIGludGVybmF0aW9uYWxpc2F0aW9uIGZhY2lsaXRpZXMgYW5kIGZ1dHVyZSBsYW5ndWFnZWdyb3d0aC5Xb3JrIG9uIHRoZSBsYW5ndWFnZSBpcyBub3QgY29tcGxldGUuIFRoZSB0ZWNobmljYWwgY29tbWl0dGVlIGlzIHdvcmtpbmcgb24gc2lnbmlmaWNhbnQgZW5oYW5jZW1lbnRzLCBpbmNsdWRpbmdtZWNoYW5pc21zIGZvciBzY3JpcHRzIHRvIGJlIGNyZWF0ZWQgYW5kIHVzZWQgYWNyb3NzIHRoZSBJbnRlcm5ldCwgYW5kIHRpZ2h0ZXIgY29vcmRpbmF0aW9uIHdpdGggb3RoZXIgc3RhbmRhcmRzIGJvZGllc3N1Y2ggYXMgZ3JvdXBzIHdpdGhpbiB0aGUgV29ybGQgV2lkZSBXZWIgQ29uc29ydGl1bSBhbmQgdGhlIFdpcmVsZXNzIEFwcGxpY2F0aW9uIFByb3RvY29sIEZvcnVtLlRoaXMgU3RhbmRhcmQgaGFzIGJlZW4gYWRvcHRlZCBhcyAzcmQgRWRpdGlvbiBvZiBFQ01BLTI2MiBieSB0aGUgRUNNQSBHZW5lcmFsIEFzc2VtYmx5IGluIERlY2VtYmVyLCAxOTk5Li0gaSAtVGFibGUgb2YgY29udGVudHMxIFNjb3BlIDEyIENvbmZvcm1hbmNlIDEzIFJlZmVyZW5jZXMgMTQgT3ZlcnZpZXcgMSA0LjEgV2ViIFNjcmlwdGluZyAyIDQuMiBMYW5ndWFnZSBPdmVydmlldyAyIDQuMi4xIE9iamVjdHMgMyA0LjMgRGVmaW5pdGlvbnMgNCA0LjMuMSBUeXBlIDQgNC4zLjIgUHJpbWl0aXZlIFZhbHVlIDQgNC4zLjMgT2JqZWN0IDQgNC4zLjQgQ29uc3RydWN0b3IgNCA0LjMuNSBQcm90b3R5cGUgNCA0LjMuNiBOYXRpdmUgT2JqZWN0IDQgNC4zLjcgQnVpbHQtaW4gT2JqZWN0IDQgNC4zLjggSG9zdCBPYmplY3QgNCA0LjMuOSBVbmRlZmluZWQgVmFsdWUgNCA0LjMuMTAgVW5kZWZpbmVkIFR5cGUgNCA0LjMuMTEgTnVsbCBWYWx1ZSA0IDQuMy4xMiBOdWxsIFR5cGUgNCA0LjMuMTMgQm9vbGVhbiBWYWx1ZSA0IDQuMy4xNCBCb29sZWFuIFR5cGUgNCA0LjMuMTUgQm9vbGVhbiBPYmplY3QgNSA0LjMuMTYgU3RyaW5nIFZhbHVlIDUgNC4zLjE3IFN0cmluZyBUeXBlIDUgNC4zLjE4IFN0cmluZyBPYmplY3QgNSA0LjMuMTkgTnVtYmVyIFZhbHVlIDUgNC4zLjIwIE51bWJlciBUeXBlIDUgNC4zLjIxIE51bWJlciBPYmplY3QgNSA0LjMuMjIgSW5maW5pdHkgNSA0LjMuMjMgTmFOIDUgNSBOb3RhdGlvbmFsIENvbnZlbnRpb25zIDYgNS4xIFN5bnRhY3RpYyBhbmQgTGV4aWNhbCBHcmFtbWFycyA2IDUuMS4xIENvbnRleHQtRnJlZSBHcmFtbWFycyA2IDUuMS4yIFRoZSBMZXhpY2FsIGFuZCBSZWdFeHAgR3JhbW1hcnMgNiA1LjEuMyBUaGUgTnVtZXJpYyBTdHJpbmcgR3JhbW1hciA2IDUuMS40IFRoZSBTeW50YWN0aWMgR3JhbW1hciA2IDUuMS41IEdyYW1tYXIgTm90YXRpb24gNyA1LjIgQWxnb3JpdGhtIENvbnZlbnRpb25zIDkgNi4gU291cmNlIFRleHQgMTAgNyBMZXhpY2FsIENvbnZlbnRpb25zIDExIDcuMSBVbmljb2RlIEZvcm1hdC1Db250cm9sIENoYXJhY3RlcnMgMTEgNy4yIFdoaXRlIFNwYWNlIDExIDcuMyBMaW5lIFRlcm1pbmF0b3JzIDEyIDcuNCBDb21tZW50cyAxMiAtIGlpIC0gNy41IFRva2VucyAxMyA3LjUuMSBSZXNlcnZlZCBXb3JkcyAxMyA3LjUuMiBLZXl3b3JkcyAxMyA3LjUuMyBGdXR1cmUgUmVzZXJ2ZWQgV29yZHMgMTQgNy42IElkZW50aWZpZXJzIDE0IDcuNyBQdW5jdHVhdG9ycyAxNSA3LjggTGl0ZXJhbHMgMTYgNy44LjEgTnVsbCBMaXRlcmFscyAxNiA3LjguMiBCb29sZWFuIExpdGVyYWxzIDE2IDcuOC4zIE51bWVyaWMgTGl0ZXJhbHMgMTYgNy44LjQgU3RyaW5nIExpdGVyYWxzIDE4IDcuOC41IFJlZ3VsYXIgRXhwcmVzc2lvbiBMaXRlcmFscyAyMCA3LjkgQXV0b21hdGljIFNlbWljb2xvbiBJbnNlcnRpb24gMjEgNy45LjEgUnVsZXMgb2YgQXV0b21hdGljIFNlbWljb2xvbiBJbnNlcnRpb24gMjEgNy45LjIgRXhhbXBsZXMgb2YgQXV0b21hdGljIFNlbWljb2xvbiBJbnNlcnRpb24gMjIgOCBUeXBlcyAyNCA4LjEgVGhlIFVuZGVmaW5lZCBUeXBlIDI0IDguMiBUaGUgTnVsbCBUeXBlIDI0IDguMyBUaGUgQm9vbGVhbiBUeXBlIDI0IDguNCBUaGUgU3RyaW5nIFR5cGUgMjQgOC41IFRoZSBOdW1iZXIgVHlwZSAyNCA4LjYgVGhlIE9iamVjdCBUeXBlIDI1IDguNi4xIFByb3BlcnR5IEF0dHJpYnV0ZXMgMjUgOC42LjIgSW50ZXJuYWwgUHJvcGVydGllcyBhbmQgTWV0aG9kcyAyNiA4LjcgVGhlIFJlZmVyZW5jZSBUeXBlIDI5IDguNy4xIEdldFZhbHVlIChWKSAyOSA4LjcuMiBQdXRWYWx1ZSAoViwgVykgMjkgOC44IFRoZSBMaXN0IFR5cGUgMzAgOC45IFRoZSBDb21wbGV0aW9uIFR5cGUgMzAgOSBUeXBlIENvbnZlcnNpb24gMzAgOS4xIFRvUHJpbWl0aXZlIDMwIDkuMiBUb0Jvb2xlYW4gMzAgOS4zIFRvTnVtYmVyIDMxIDkuMy4xIFRvTnVtYmVyIEFwJzsKaWYobGFyZ2VTdHIgIT09ICdTdGFuZGFyZCBFQ01BLTI2MjNyIGQgRWRpdGlvbiAtIERlY2VtYmVyIDE5OTlTIHQgYSBuIGQgYSByIGQgaSB6IGkgbiBnIEluZm9ybWF0IGkgbyBuIGFuZCBDb21tdSBuIGkgYyBhIHQgaSBvIG4gU3lzdGVtc1Bob25lOiArNDEgMjIgODQ5LjYwLjAwIC0gRmF4OiArNDEgMjIgODQ5LjYwLjAxIC0gVVJMOiBodCB0cDogLyAvd3d3LmVjbWEuY2ggLSBJbnRlcm5ldDogaGVscGRlc2tAZWNtYS5jaEVDTUFTY3JpcHQgTGFuZ3VhZ2VTcGVjaWZpY2F0aW9uU3RhbmRhcmQgRUNNQS0yNjIzciBkIEVkaXRpb24gLSBEZWNlbWJlciAxOTk5UyB0IGEgbiBkIGEgciBkIGkgeiBpIG4gZyBJbmZvcm1hdCBpIG8gbiBhbmQgQ29tbXUgbiBpIGMgYSB0IGkgbyBuIFN5c3RlbXNQaG9uZTogKzQxIDIyIDg0OS42MC4wMCAtIEZheDogKzQxIDIyIDg0OS42MC4wMSAtIFVSTDogaHQgdHA6IC8gL3d3dy5lY21hLmNoIC0gSW50ZXJuZXQ6IGhlbHBkZXNrQGVjbWEuY2hNQiBFY21hLTI2Mi5kb2MgMDgtMDQtMDIgMTYsNTNFQ01BU2NyaXB0IExhbmd1YWdlU3BlY2lmaWNhdGlvbkJyaWVmIEhpc3RvcnlUaGlzIEVDTUEgU3RhbmRhcmQgaXMgYmFzZWQgb24gc2V2ZXJhbCBvcmlnaW5hdGluZyB0ZWNobm9sb2dpZXMsIHRoZSBtb3N0IHdlbGwga25vd24gYmVpbmcgSmF2YVNjcmlwdCAoTmV0c2NhcGUpYW5kIEpTY3JpcHQgKE1pY3Jvc29mdCkuIFRoZSBsYW5ndWFnZSB3YXMgaW52ZW50ZWQgYnkgQnJlbmRhbiBFaWNoIGF0IE5ldHNjYXBlIGFuZCBmaXJzdCBhcHBlYXJlZCBpbiB0aGF0Y29tcGFuIE5hdmlnYXRvciAyLjAgYnJvd3Nlci4gSXQgaGFzIGFwcGVhcmVkIGluIGFsbCBzdWJzZXF1ZW50IGJyb3dzZXJzIGZyb20gTmV0c2NhcGUgYW5kIGluIGFsbCBicm93c2VycyBmcm9tTWljcm9zb2Z0IHN0YXJ0aW5nIHdpdGggSW50ZXJuZXQgRXhwbG9yZXIgMy4wLlRoZSBkZXZlbG9wbWVudCBvZiB0aGlzIFN0YW5kYXJkIHN0YXJ0ZWQgaW4gTm92ZW1iZXIgMTk5Ni4gVGhlIGZpcnN0IGVkaXRpb24gb2YgdGhpcyBFQ01BIFN0YW5kYXJkIHdhcyBhZG9wdGVkIGJ5dGhlIEVDTUEgR2VuZXJhbCBBc3NlbWJseSBvZiBKdW5lIDE5OTcuVGhhdCBFQ01BIFN0YW5kYXJkIHdhcyBzdWJtaXR0ZWQgdG8gSVNPL0lFQyBKVEMgMSBmb3IgYWRvcHRpb24gdW5kZXIgdGhlIGZhc3QtdHJhY2sgcHJvY2VkdXJlLCBhbmQgYXBwcm92ZWQgYXNpbnRlcm5hdGlvbmFsIHN0YW5kYXJkIElTTy9JRUMgMTYyNjIsIGluIEFwcmlsIDE5OTguIFRoZSBFQ01BIEdlbmVyYWwgQXNzZW1ibHkgb2YgSnVuZSAxOTk4IGFwcHJvdmVkIHRoZXNlY29uZCBlZGl0aW9uIG9mIEVDTUEtMjYyIHRvIGtlZXAgaXQgZnVsbHkgYWxpZ25lZCB3aXRoIElTTy9JRUMgMTYyNjIuIENoYW5nZXMgYmV0d2VlbiB0aGUgZmlyc3QgYW5kIHRoZSBzZWNvbmRlZGl0aW9uIGFyZSBlZGl0b3JpYWwgaW4gbmF0dXJlLlRoZSBjdXJyZW50IGRvY3VtZW50IGRlZmluZXMgdGhlIHRoaXJkIGVkaXRpb24gb2YgdGhlIFN0YW5kYXJkIGFuZCBpbmNsdWRlcyBwb3dlcmZ1bCByZWd1bGFyIGV4cHJlc3Npb25zLCBiZXR0ZXJzdHJpbmcgaGFuZGxpbmcsIG5ldyBjb250cm9sIHN0YXRlbWVudHMsIHRyeS9jYXRjaCBleGNlcHRpb24gaGFuZGxpbmcsIHRpZ2h0ZXIgZGVmaW5pdGlvbiBvZiBlcnJvcnMsIGZvcm1hdHRpbmcgZm9ybnVtZXJpYyBvdXRwdXQgYW5kIG1pbm9yIGNoYW5nZXMgaW4gYW50aWNpcGF0aW9uIG9mIGZvcnRoY29taW5nIGludGVybmF0aW9uYWxpc2F0aW9uIGZhY2lsaXRpZXMgYW5kIGZ1dHVyZSBsYW5ndWFnZWdyb3d0aC5Xb3JrIG9uIHRoZSBsYW5ndWFnZSBpcyBub3QgY29tcGxldGUuIFRoZSB0ZWNobmljYWwgY29tbWl0dGVlIGlzIHdvcmtpbmcgb24gc2lnbmlmaWNhbnQgZW5oYW5jZW1lbnRzLCBpbmNsdWRpbmdtZWNoYW5pc21zIGZvciBzY3JpcHRzIHRvIGJlIGNyZWF0ZWQgYW5kIHVzZWQgYWNyb3NzIHRoZSBJbnRlcm5ldCwgYW5kIHRpZ2h0ZXIgY29vcmRpbmF0aW9uIHdpdGggb3RoZXIgc3RhbmRhcmRzIGJvZGllc3N1Y2ggYXMgZ3JvdXBzIHdpdGhpbiB0aGUgV29ybGQgV2lkZSBXZWIgQ29uc29ydGl1bSBhbmQgdGhlIFdpcmVsZXNzIEFwcGxpY2F0aW9uIFByb3RvY29sIEZvcnVtLlRoaXMgU3RhbmRhcmQgaGFzIGJlZW4gYWRvcHRlZCBhcyAzcmQgRWRpdGlvbiBvZiBFQ01BLTI2MiBieSB0aGUgRUNNQSBHZW5lcmFsIEFzc2VtYmx5IGluIERlY2VtYmVyLCAxOTk5Li0gaSAtVGFibGUgb2YgY29udGVudHMxIFNjb3BlIDEyIENvbmZvcm1hbmNlIDEzIFJlZmVyZW5jZXMgMTQgT3ZlcnZpZXcgMSA0LjEgV2ViIFNjcmlwdGluZyAyIDQuMiBMYW5ndWFnZSBPdmVydmlldyAyIDQuMi4xIE9iamVjdHMgMyA0LjMgRGVmaW5pdGlvbnMgNCA0LjMuMSBUeXBlIDQgNC4zLjIgUHJpbWl0aXZlIFZhbHVlIDQgNC4zLjMgT2JqZWN0IDQgNC4zLjQgQ29uc3RydWN0b3IgNCA0LjMuNSBQcm90b3R5cGUgNCA0LjMuNiBOYXRpdmUgT2JqZWN0IDQgNC4zLjcgQnVpbHQtaW4gT2JqZWN0IDQgNC4zLjggSG9zdCBPYmplY3QgNCA0LjMuOSBVbmRlZmluZWQgVmFsdWUgNCA0LjMuMTAgVW5kZWZpbmVkIFR5cGUgNCA0LjMuMTEgTnVsbCBWYWx1ZSA0IDQuMy4xMiBOdWxsIFR5cGUgNCA0LjMuMTMgQm9vbGVhbiBWYWx1ZSA0IDQuMy4xNCBCb29sZWFuIFR5cGUgNCA0LjMuMTUgQm9vbGVhbiBPYmplY3QgNSA0LjMuMTYgU3RyaW5nIFZhbHVlIDUgNC4zLjE3IFN0cmluZyBUeXBlIDUgNC4zLjE4IFN0cmluZyBPYmplY3QgNSA0LjMuMTkgTnVtYmVyIFZhbHVlIDUgNC4zLjIwIE51bWJlciBUeXBlIDUgNC4zLjIxIE51bWJlciBPYmplY3QgNSA0LjMuMjIgSW5maW5pdHkgNSA0LjMuMjMgTmFOIDUgNSBOb3RhdGlvbmFsIENvbnZlbnRpb25zIDYgNS4xIFN5bnRhY3RpYyBhbmQgTGV4aWNhbCBHcmFtbWFycyA2IDUuMS4xIENvbnRleHQtRnJlZSBHcmFtbWFycyA2IDUuMS4yIFRoZSBMZXhpY2FsIGFuZCBSZWdFeHAgR3JhbW1hcnMgNiA1LjEuMyBUaGUgTnVtZXJpYyBTdHJpbmcgR3JhbW1hciA2IDUuMS40IFRoZSBTeW50YWN0aWMgR3JhbW1hciA2IDUuMS41IEdyYW1tYXIgTm90YXRpb24gNyA1LjIgQWxnb3JpdGhtIENvbnZlbnRpb25zIDkgNi4gU291cmNlIFRleHQgMTAgNyBMZXhpY2FsIENvbnZlbnRpb25zIDExIDcuMSBVbmljb2RlIEZvcm1hdC1Db250cm9sIENoYXJhY3RlcnMgMTEgNy4yIFdoaXRlIFNwYWNlIDExIDcuMyBMaW5lIFRlcm1pbmF0b3JzIDEyIDcuNCBDb21tZW50cyAxMiAtIGlpIC0gNy41IFRva2VucyAxMyA3LjUuMSBSZXNlcnZlZCBXb3JkcyAxMyA3LjUuMiBLZXl3b3JkcyAxMyA3LjUuMyBGdXR1cmUgUmVzZXJ2ZWQgV29yZHMgMTQgNy42IElkZW50aWZpZXJzIDE0IDcuNyBQdW5jdHVhdG9ycyAxNSA3LjggTGl0ZXJhbHMgMTYgNy44LjEgTnVsbCBMaXRlcmFscyAxNiA3LjguMiBCb29sZWFuIExpdGVyYWxzIDE2IDcuOC4zIE51bWVyaWMgTGl0ZXJhbHMgMTYgNy44LjQgU3RyaW5nIExpdGVyYWxzIDE4IDcuOC41IFJlZ3VsYXIgRXhwcmVzc2lvbiBMaXRlcmFscyAyMCA3LjkgQXV0b21hdGljIFNlbWljb2xvbiBJbnNlcnRpb24gMjEgNy45LjEgUnVsZXMgb2YgQXV0b21hdGljIFNlbWljb2xvbiBJbnNlcnRpb24gMjEgNy45LjIgRXhhbXBsZXMgb2YgQXV0b21hdGljIFNlbWljb2xvbiBJbnNlcnRpb24gMjIgOCBUeXBlcyAyNCA4LjEgVGhlIFVuZGVmaW5lZCBUeXBlIDI0IDguMiBUaGUgTnVsbCBUeXBlIDI0IDguMyBUaGUgQm9vbGVhbiBUeXBlIDI0IDguNCBUaGUgU3RyaW5nIFR5cGUgMjQgOC41IFRoZSBOdW1iZXIgVHlwZSAyNCA4LjYgVGhlIE9iamVjdCBUeXBlIDI1IDguNi4xIFByb3BlcnR5IEF0dHJpYnV0ZXMgMjUgOC42LjIgSW50ZXJuYWwgUHJvcGVydGllcyBhbmQgTWV0aG9kcyAyNiA4LjcgVGhlIFJlZmVyZW5jZSBUeXBlIDI5IDguNy4xIEdldFZhbHVlIChWKSAyOSA4LjcuMiBQdXRWYWx1ZSAoViwgVykgMjkgOC44IFRoZSBMaXN0IFR5cGUgMzAgOC45IFRoZSBDb21wbGV0aW9uIFR5cGUgMzAgOSBUeXBlIENvbnZlcnNpb24gMzAgOS4xIFRvUHJpbWl0aXZlIDMwIDkuMiBUb0Jvb2xlYW4gMzAgOS4zIFRvTnVtYmVyIDMxIDkuMy4xIFRvTnVtYmVyIEFwJyl7CiAgJEVSUk9SKCcjMTogTGFyZ2Ugc3RyaW5nIDQwOTYgYnl0ZXMnKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"Large string 4096 bytes","description":"Assign variable by large string","path":"TestCases/ch08/8.4/S8.4_A6.1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBMYXJnZSBzdHJpbmcgODE5MiBieXRlcwogKgogKiBAcGF0aCBjaDA4LzguNC9TOC40X0E2LjIuanMKICogQGRlc2NyaXB0aW9uIEFzc2lnbiB2YXJpYWJsZSBieSBsYXJnZSBzdHJpbmcKICovCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vIENoZWNrIzIKdmFyIGxhcmdlU3RyPSdTdGFuZGFyZCBFQ01BLTI2MjNyIGQgRWRpdGlvbiAtIERlY2VtYmVyIDE5OTlTIHQgYSBuIGQgYSByIGQgaSB6IGkgbiBnIEluZm9ybWF0IGkgbyBuIGFuZCBDb21tdSBuIGkgYyBhIHQgaSBvIG4gU3lzdGVtc1Bob25lOiArNDEgMjIgODQ5LjYwLjAwIC0gRmF4OiArNDEgMjIgODQ5LjYwLjAxIC0gVVJMOiBodCB0cDogLyAvd3d3LmVjbWEuY2ggLSBJbnRlcm5ldDogaGVscGRlc2tAZWNtYS5jaEVDTUFTY3JpcHQgTGFuZ3VhZ2VTcGVjaWZpY2F0aW9uU3RhbmRhcmQgRUNNQS0yNjIzciBkIEVkaXRpb24gLSBEZWNlbWJlciAxOTk5UyB0IGEgbiBkIGEgciBkIGkgeiBpIG4gZyBJbmZvcm1hdCBpIG8gbiBhbmQgQ29tbXUgbiBpIGMgYSB0IGkgbyBuIFN5c3RlbXNQaG9uZTogKzQxIDIyIDg0OS42MC4wMCAtIEZheDogKzQxIDIyIDg0OS42MC4wMSAtIFVSTDogaHQgdHA6IC8gL3d3dy5lY21hLmNoIC0gSW50ZXJuZXQ6IGhlbHBkZXNrQGVjbWEuY2hNQiBFY21hLTI2Mi5kb2MgMDgtMDQtMDIgMTYsNTNFQ01BU2NyaXB0IExhbmd1YWdlU3BlY2lmaWNhdGlvbkJyaWVmIEhpc3RvcnlUaGlzIEVDTUEgU3RhbmRhcmQgaXMgYmFzZWQgb24gc2V2ZXJhbCBvcmlnaW5hdGluZyB0ZWNobm9sb2dpZXMsIHRoZSBtb3N0IHdlbGwga25vd24gYmVpbmcgSmF2YVNjcmlwdCAoTmV0c2NhcGUpYW5kIEpTY3JpcHQgKE1pY3Jvc29mdCkuIFRoZSBsYW5ndWFnZSB3YXMgaW52ZW50ZWQgYnkgQnJlbmRhbiBFaWNoIGF0IE5ldHNjYXBlIGFuZCBmaXJzdCBhcHBlYXJlZCBpbiB0aGF0Y29tcGFucyBOYXZpZ2F0b3IgMi4wIGJyb3dzZXIuIEl0IGhhcyBhcHBlYXJlZCBpbiBhbGwgc3Vic2VxdWVudCBicm93c2VycyBmcm9tIE5ldHNjYXBlIGFuZCBpbiBhbGwgYnJvd3NlcnMgZnJvbU1pY3Jvc29mdCBzdGFydGluZyB3aXRoIEludGVybmV0IEV4cGxvcmVyIDMuMC5UaGUgZGV2ZWxvcG1lbnQgb2YgdGhpcyBTdGFuZGFyZCBzdGFydGVkIGluIE5vdmVtYmVyIDE5OTYuIFRoZSBmaXJzdCBlZGl0aW9uIG9mIHRoaXMgRUNNQSBTdGFuZGFyZCB3YXMgYWRvcHRlZCBieXRoZSBFQ01BIEdlbmVyYWwgQXNzZW1ibHkgb2YgSnVuZSAxOTk3LlRoYXQgRUNNQSBTdGFuZGFyZCB3YXMgc3VibWl0dGVkIHRvIElTTy9JRUMgSlRDIDEgZm9yIGFkb3B0aW9uIHVuZGVyIHRoZSBmYXN0LXRyYWNrIHByb2NlZHVyZSwgYW5kIGFwcHJvdmVkIGFzaW50ZXJuYXRpb25hbCBzdGFuZGFyZCBJU08vSUVDIDE2MjYyLCBpbiBBcHJpbCAxOTk4LiBUaGUgRUNNQSBHZW5lcmFsIEFzc2VtYmx5IG9mIEp1bmUgMTk5OCBhcHByb3ZlZCB0aGVzZWNvbmQgZWRpdGlvbiBvZiBFQ01BLTI2MiB0byBrZWVwIGl0IGZ1bGx5IGFsaWduZWQgd2l0aCBJU08vSUVDIDE2MjYyLiBDaGFuZ2VzIGJldHdlZW4gdGhlIGZpcnN0IGFuZCB0aGUgc2Vjb25kZWRpdGlvbiBhcmUgZWRpdG9yaWFsIGluIG5hdHVyZS5UaGUgY3VycmVudCBkb2N1bWVudCBkZWZpbmVzIHRoZSB0aGlyZCBlZGl0aW9uIG9mIHRoZSBTdGFuZGFyZCBhbmQgaW5jbHVkZXMgcG93ZXJmdWwgcmVndWxhciBleHByZXNzaW9ucywgYmV0dGVyc3RyaW5nIGhhbmRsaW5nLCBuZXcgY29udHJvbCBzdGF0ZW1lbnRzLCB0cnkvY2F0Y2ggZXhjZXB0aW9uIGhhbmRsaW5nLCB0aWdodGVyIGRlZmluaXRpb24gb2YgZXJyb3JzLCBmb3JtYXR0aW5nIGZvcm51bWVyaWMgb3V0cHV0IGFuZCBtaW5vciBjaGFuZ2VzIGluIGFudGljaXBhdGlvbiBvZiBmb3J0aGNvbWluZyBpbnRlcm5hdGlvbmFsaXNhdGlvbiBmYWNpbGl0aWVzIGFuZCBmdXR1cmUgbGFuZ3VhZ2Vncm93dGguV29yayBvbiB0aGUgbGFuZ3VhZ2UgaXMgbm90IGNvbXBsZXRlLiBUaGUgdGVjaG5pY2FsIGNvbW1pdHRlZSBpcyB3b3JraW5nIG9uIHNpZ25pZmljYW50IGVuaGFuY2VtZW50cywgaW5jbHVkaW5nbWVjaGFuaXNtcyBmb3Igc2NyaXB0cyB0byBiZSBjcmVhdGVkIGFuZCB1c2VkIGFjcm9zcyB0aGUgSW50ZXJuZXQsIGFuZCB0aWdodGVyIGNvb3JkaW5hdGlvbiB3aXRoIG90aGVyIHN0YW5kYXJkcyBib2RpZXNzdWNoIGFzIGdyb3VwcyB3aXRoaW4gdGhlIFdvcmxkIFdpZGUgV2ViIENvbnNvcnRpdW0gYW5kIHRoZSBXaXJlbGVzcyBBcHBsaWNhdGlvbiBQcm90b2NvbCBGb3J1bS5UaGlzIFN0YW5kYXJkIGhhcyBiZWVuIGFkb3B0ZWQgYXMgM3JkIEVkaXRpb24gb2YgRUNNQS0yNjIgYnkgdGhlIEVDTUEgR2VuZXJhbCBBc3NlbWJseSBpbiBEZWNlbWJlciwgMTk5OS4tIGkgLVRhYmxlIG9mIGNvbnRlbnRzMSBTY29wZSAxMiBDb25mb3JtYW5jZSAxMyBSZWZlcmVuY2VzIDE0IE92ZXJ2aWV3IDEgNC4xIFdlYiBTY3JpcHRpbmcgMiA0LjIgTGFuZ3VhZ2UgT3ZlcnZpZXcgMiA0LjIuMSBPYmplY3RzIDMgNC4zIERlZmluaXRpb25zIDQgNC4zLjEgVHlwZSA0IDQuMy4yIFByaW1pdGl2ZSBWYWx1ZSA0IDQuMy4zIE9iamVjdCA0IDQuMy40IENvbnN0cnVjdG9yIDQgNC4zLjUgUHJvdG90eXBlIDQgNC4zLjYgTmF0aXZlIE9iamVjdCA0IDQuMy43IEJ1aWx0LWluIE9iamVjdCA0IDQuMy44IEhvc3QgT2JqZWN0IDQgNC4zLjkgVW5kZWZpbmVkIFZhbHVlIDQgNC4zLjEwIFVuZGVmaW5lZCBUeXBlIDQgNC4zLjExIE51bGwgVmFsdWUgNCA0LjMuMTIgTnVsbCBUeXBlIDQgNC4zLjEzIEJvb2xlYW4gVmFsdWUgNCA0LjMuMTQgQm9vbGVhbiBUeXBlIDQgNC4zLjE1IEJvb2xlYW4gT2JqZWN0IDUgNC4zLjE2IFN0cmluZyBWYWx1ZSA1IDQuMy4xNyBTdHJpbmcgVHlwZSA1IDQuMy4xOCBTdHJpbmcgT2JqZWN0IDUgNC4zLjE5IE51bWJlciBWYWx1ZSA1IDQuMy4yMCBOdW1iZXIgVHlwZSA1IDQuMy4yMSBOdW1iZXIgT2JqZWN0IDUgNC4zLjIyIEluZmluaXR5IDUgNC4zLjIzIE5hTiA1IDUgTm90YXRpb25hbCBDb252ZW50aW9ucyA2IDUuMSBTeW50YWN0aWMgYW5kIExleGljYWwgR3JhbW1hcnMgNiA1LjEuMSBDb250ZXh0LUZyZWUgR3JhbW1hcnMgNiA1LjEuMiBUaGUgTGV4aWNhbCBhbmQgUmVnRXhwIEdyYW1tYXJzIDYgNS4xLjMgVGhlIE51bWVyaWMgU3RyaW5nIEdyYW1tYXIgNiA1LjEuNCBUaGUgU3ludGFjdGljIEdyYW1tYXIgNiA1LjEuNSBHcmFtbWFyIE5vdGF0aW9uIDcgNS4yIEFsZ29yaXRobSBDb252ZW50aW9ucyA5IDYuIFNvdXJjZSBUZXh0IDEwIDcgTGV4aWNhbCBDb252ZW50aW9ucyAxMSA3LjEgVW5pY29kZSBGb3JtYXQtQ29udHJvbCBDaGFyYWN0ZXJzIDExIDcuMiBXaGl0ZSBTcGFjZSAxMSA3LjMgTGluZSBUZXJtaW5hdG9ycyAxMiA3LjQgQ29tbWVudHMgMTIgLSBpaSAtIDcuNSBUb2tlbnMgMTMgNy41LjEgUmVzZXJ2ZWQgV29yZHMgMTMgNy41LjIgS2V5d29yZHMgMTMgNy41LjMgRnV0dXJlIFJlc2VydmVkIFdvcmRzIDE0IDcuNiBJZGVudGlmaWVycyAxNCA3LjcgUHVuY3R1YXRvcnMgMTUgNy44IExpdGVyYWxzIDE2IDcuOC4xIE51bGwgTGl0ZXJhbHMgMTYgNy44LjIgQm9vbGVhbiBMaXRlcmFscyAxNiA3LjguMyBOdW1lcmljIExpdGVyYWxzIDE2IDcuOC40IFN0cmluZyBMaXRlcmFscyAxOCA3LjguNSBSZWd1bGFyIEV4cHJlc3Npb24gTGl0ZXJhbHMgMjAgNy45IEF1dG9tYXRpYyBTZW1pY29sb24gSW5zZXJ0aW9uIDIxIDcuOS4xIFJ1bGVzIG9mIEF1dG9tYXRpYyBTZW1pY29sb24gSW5zZXJ0aW9uIDIxIDcuOS4yIEV4YW1wbGVzIG9mIEF1dG9tYXRpYyBTZW1pY29sb24gSW5zZXJ0aW9uIDIyIDggVHlwZXMgMjQgOC4xIFRoZSBVbmRlZmluZWQgVHlwZSAyNCA4LjIgVGhlIE51bGwgVHlwZSAyNCA4LjMgVGhlIEJvb2xlYW4gVHlwZSAyNCA4LjQgVGhlIFN0cmluZyBUeXBlIDI0IDguNSBUaGUgTnVtYmVyIFR5cGUgMjQgOC42IFRoZSBPYmplY3QgVHlwZSAyNSA4LjYuMSBQcm9wZXJ0eSBBdHRyaWJ1dGVzIDI1IDguNi4yIEludGVybmFsIFByb3BlcnRpZXMgYW5kIE1ldGhvZHMgMjYgOC43IFRoZSBSZWZlcmVuY2UgVHlwZSAyOSA4LjcuMSBHZXRWYWx1ZSAoVikgMjkgOC43LjIgUHV0VmFsdWUgKFYsIFcpIDI5IDguOCBUaGUgTGlzdCBUeXBlIDMwIDguOSBUaGUgQ29tcGxldGlvbiBUeXBlIDMwIDkgVHlwZSBDb252ZXJzaW9uIDMwIDkuMSBUb1ByaW1pdGl2ZSAzMCA5LjIgVG9Cb29sZWFuIDMwIDkuMyBUb051bWJlciAzMSA5LjMuMSBUb051bWJlciBBcHBsaWVkIHRvIHRoZSBTdHJpbmcgVHlwZSAzMSA5LjQgVG9JbnRlZ2VyIDM0IDkuNSBUb0ludDMyOiAoU2lnbmVkIDMyIEJpdCBJbnRlZ2VyKSAzNCA5LjYgVG9VaW50MzI6IChVbnNpZ25lZCAzMiBCaXQgSW50ZWdlcikgMzQgOS43IFRvVWludDE2OiAoVW5zaWduZWQgMTYgQml0IEludGVnZXIpIDM1IDkuOCBUb1N0cmluZyAzNSA5LjguMSBUb1N0cmluZyBBcHBsaWVkIHRvIHRoZSBOdW1iZXIgVHlwZSAzNSA5LjkgVG9PYmplY3QgMzYgMTAgRXhlY3V0aW9uIENvbnRleHRzIDM3IDEwLjEgRGVmaW5pdGlvbnMgMzcgMTAuMS4xIEZ1bmN0aW9uIE9iamVjdHMgMzcgMTAuMS4yIFR5cGVzIG9mIEV4ZWN1dGFibGUgQ29kZSAzNyAxMC4xLjMgVmFyaWFibGUgSW5zdGFudGlhdGlvbiAzNyAxMC4xLjQgU2NvcGUgQ2hhaW4gYW5kIElkZW50aWZpZXIgUmVzb2x1dGlvbiAzOCAxMC4xLjUgR2xvYmFsIE9iamVjdCAzOCAxMC4xLjYgQWN0aXZhdGlvbiBPYmplY3QgMzggLSBpIGkgaSAtIDEwLjEuNyBUaGlzIDM5IDEwLjEuOCBBcmd1bWVudHMgT2JqZWN0IDM5IDEwLjIgRW50ZXJpbmcgQW4gRXhlY3V0aW9uIENvbnRleHQgMzkgMTAuMi4xIEdsb2JhbCBDb2RlIDM5IDEwLjIuMiBFdmFsIENvZGUgMzkgMTAuMi4zIEZ1bmN0aW9uIENvZGUgMzkgMTEgRXhwcmVzc2lvbnMgNDAgMTEuMSBQcmltYXJ5IEV4cHJlc3Npb25zIDQwIDExLjEuMSBUaGUgdGhpcyBLZXl3b3JkIDQwIDExLjEuMiBJZGVudGlmaWVyIFJlZmVyZW5jZSA0MCAxMS4xLjMgTGl0ZXJhbCBSZWZlcmVuY2UgNDAgMTEuMS40IEFycmF5IEluaXRpYWxpc2VyIDQwIDExLjEuNSBPYmplY3QgSW5pdGlhbGlzZXIgNDEgMTEuMS42IFRoZSBHcm91cGluZyBPcGVyYXRvciA0MiAxMS4yIExlZnQtSGFuZC1TaWRlIEV4cHJlc3Npb25zIDQzIDExLjIuMSBQcm9wZXJ0eSBBY2Nlc3NvcnMgNDMgMTEuMi4yIFRoZSBuZXcgT3BlcmF0b3IgNDQgMTEuMi4zIEZ1bmN0aW9uIENhbGxzIDQ0IDExLjIuNCBBcmd1bWVudCBMaXN0cyA0NSAxMS4yLjUgRnVuY3Rpb24gRXhwcmVzc2lvbnMgNDUgMTEuMyBQb3N0Zml4IEV4cHJlc3Npb25zIDQ1IDExLjMuMSBQb3N0Zml4IEluY3JlbWVudCBPcGVyYXRvciA0NSAxMS4zLjIgUG9zdGZpeCBEZWNyZW1lbnQgT3BlcmF0b3IgNDUgMTEuNCBVbmFyeSBPcGVyYXRvcnMgNDYgMTEuNC4xIFRoZSBkZWxldGUgT3BlcmF0b3IgNDYgMTEuNC4yIFRoZSB2b2lkIE9wZXJhdG9yIDQ2IDExLjQuMyBUaGUgdHlwZW9mIE9wZXJhdG9yIDQ2IDExLjQuNCBQcmVmaXggSW5jcmVtZW50IE9wZXJhdG9yIDQ3IDExLjQuNSBQcmVmaXggRGVjcmVtZW50IE9wZXJhdG9yIDQ3IDExLjQuNiBVbmFyeSArIE9wZXJhdG9yIDQ3IDExLjQuNyBVbmFyeSAtIE9wZXJhdG9yIDQ3IDExLjQuOCBCaXR3aXNlIE5PVCBPcGVyYXRvciAoIH4pIDQ4IDExLjQuOSBMb2dpY2FsIE5PVCBPcGVyYXRvciAoICEpIDQ4IDExLjUgTXVsdGlwbGljYXRpdmUgT3BlcmF0b3JzIDQ4IDExLjUuMSBBcHBseWluZyB0aGUgKiBPcGVyYXRvciA0OCAxMS41LjIgQXBwbHlpbmcgdGhlIC8gT3BlcmF0b3IgNDkgMTEuNS4zIEFwcGx5aW5nIHRoZSAlIE9wZXJhdG9yIDQ5IDExLjYgQWRkaXRpdmUgT3BlcmF0b3JzIDUwIDExLjYuMSBUaGUgQWRkaXRpb24gb3BlcmF0b3IgKCArKSA1MCAxMS42LjIgVGhlIFN1YnRyYWN0aW9uIE9wZXJhdG9yICggLSkgNTAgMTEuNi4zIEFwcGx5aW5nIHRoZSBBZGRpdGl2ZSBPcGVyYXRvcnMgKCArLC0gKSB0byBOdW1iZXJzIDUxIDExLjcgQml0d2lzZSBTaGlmdCBPcGVyYXRvcnMgNTEgMTEuNy4xIFRoZSBMZWZ0IFNoaWZ0IE9wZXJhdG9yICggPDwpIDUxIDExLjcuMiBUaGUgU2lnbmVkIFJpZ2h0IFNoaWZ0IE9wZXJhdG9yICggPj4pIDUxIDExLjcuMyBUaGUgVW5zaWduZWQgUmlnaHQgU2hpZnQgT3BlcmF0b3IgKCA+Pj4pIDUyIDExLjQgUmVsYXRpb25hbCBPcGVyYXRvcnMgNTIgMTEuOC4xIFRoZSBMZXNzLXRoYW4gT3BlcmF0b3IgKCA8KSA1MyAxMS44LjIgVGhlIEdyZWF0ZXItdGhhbiBPcGVyYXRvciAoID4pIDUzIDExLjguMyBUaGUgTGVzcy10aGFuLW9yLWVxdWFsIE9wZXJhdG9yICggPD0pIDUzIDExLjguNCBUaGUgR3JlYXRlci10aGFuLW9yLWVxdWFsIE9wZXJhdG9yICggPj0pIDUzIDExLjguNSBUaGUgQWJzdHJhY3QgUmVsYXRpb25hbCBDb21wYXJpc29uIEFsZ29yaXRobSA1MyAtIGl2IC0gMTEuOC42IFRoZSBpbnN0YW5jZW9mIG9wZXJhdG9yIDU0IDExLjguNyBUaGUgaW4gb3BlcmF0b3IgNTQgMTEuOSBFcXVhbGl0eSBPcGVyYXRvcnMgNTQgMTEuOS4xIFRoZSBFcXVhbHMgT3BlcmF0b3IgKCA9PSkgNTUgMTEuOS4yIFRoZSBEb2VzLW5vdC1lcXVhbHMgT3BlcmF0b3IgKCAhPSkgNTUgMTEuOS4zIFRoZSBBYnN0cmFjdCBFcXVhbGl0eSBDb21wYXJpc29uIEFsZ29yaXRobSA1NSAxMS45LjQgVGhlIFN0cmljdCBFcXVhbHMgT3BlcmF0b3IgKCA9PT0pIDU2IDExLjkuNSBUaGUgU3RyaWN0IERvZXMtbm90LWVxdWFsIE9wZXJhdG9yICggIT09KSA1NiAxMS45LjYgVGhlIFN0cmljdCBFcXVhbGl0eSBDb21wYXJpc29uIEFsZ29yaXRobSA1NiAxMS4xMCBCaW5hcnkgQml0d2lzZSBPcGVyYXRvcnMgNTcgMTEuMTEgQmluYXJ5IExvZ2ljYWwgT3BlcmF0b3JzIDU4IDExLjEyIENvbmRpdGlvbmFsIE9wZXJhdG9yICggPzogKSA1OCAxMS4xMyBBc3NpZ25tZW50IE9wZXJhdG9ycyA1OSAxMS4xMy4xIFNpbXBsZSBBc3NpZ25tZW50ICggPSkgNTkgMTEuMTMuMiBDb21wb3VuZCBBc3NpZ25tZW50ICggb3A9KSA2MCAxMS4xNCBDb21tYSBPcGVyYXRvciAoICwgKSA2MCAxMiBTdGF0ZW1lbnRzIDYxIDEyLjEgQmxvY2sgNjEgMTIuMiBWYXJpYWJsZSBzdGF0ZW1lbnQgNjIgMTIuMyBFbXB0eSBTdGF0ZW1lbnQgNjMgMTIuNCBFeHByZXNzaW9uIFN0YXRlbWVudCA2MyAxMi41IFRoZSBpZiBTdGF0ZW1lbnQgNjMgMTIuNiBJdGVyYXRpb24gU3RhdGVtZW50cyA2NCAxMi42LjEgVGhlIGRvLXdoaWxlIFN0YXRlbWVudCA2NCAxMi42LjIgVGhlIHdoaWxlIHN0YXRlbWVudCA2NCAxMi42LjMgVGhlIGZvciBTdGF0ZW1lbnQgNjUgMTIuNi40IFRoZSBmb3ItaW4gU3RhdGVtZW50IDY1IDEyLjcgVGhlIGNvbnRpbnVlIFN0YXRlbWVudCA2NiAxMi44IFRoZSBicmVhayBTdGF0ZW1lbnQgNjcgMTIuOSBUaGUgcmV0dXJuIFN0YXRlbWVudCA2NyAxMi4xMCBUaGUgd2l0aCBTdGF0ZW1lbnQgNjcgMTIuMTEgVGhlIHN3aXRjaCBTdGF0ZW1lbnQgNjggMTIuMTIgTGFiZWxsZWQgU3RhdGVtZW50cyA2OSAxMi4xMyBUaGUgdGhyb3cgc3RhdGVtZW50IDY5IDEyLjE0IFRoZSB0cnkgc3RhdGVtZW50IDcwIDEzIEZ1bmN0aW9uIERlZmluaXRpb24gNzEgMTMuMSBEZWZpbml0aW9ucyA3MiAxMy4xLjEgRXF1YXRlZCBHcmFtbWFyIFByb2R1Y3Rpb25zIDcyIDEzLjEuMiBKb2luZWQgT2JqZWN0cyA3MiAxMy4yIENyZWF0aW5nIEZ1bmN0aW9uIE9iamVjdHMgNzIgMTMuMi4xIFtbQ2FsbF1dIDczIDEzLjIuMiBbW0NvbnN0cnVjdF1dIDc0IDE0IFByb2dyYW0gNzUgMTUgTmF0aXZlIEVDTUFTY3JpcHQgT2JqZWN0cyA3NiAxNS4xIFRoZSBHbG9iYWwgT2JqZWN0IDc2IDE1LjEuMSBWYWx1ZSBQcm9wZXJ0aWVzIG9mIHRoZSBHbG9iYWwgT2JqZWN0IDc3IDE1LjEuMiBGdW5jdGlvbiBQcm9wZXJ0aWVzIG9mIHRoZSBHbG9iYWwgT2JqZWN0IDc3IDE1LjEuMyBVUkkgSGFuZGxpbmcgRnVuY3Rpb24gUHJvcGVydGllcyA3OCAtIHYgLSAxNS4xLjQgQ29uc3RydWN0b3IgUHJvcGVydGllcyBvZiB0aGUgR2xvYmFsIE9iamVjdCA4MyAxNS4xLjUgT3RoZXIgUHJvcGVydGllcyBvZiB0aGUgR2xvYmFsIE9iamVjdCA4MyAxNS4yIE9iamVjdCBPYmplY3RzIDgzIDE1LjIuMSBUaGUgT2JqZWN0IENvbnN0cnVjdG9yIENhbGxlZCBhcyBhIEZ1bmN0aW9uIDgzIDE1LjIuMiBUaGUgT2JqZWN0IENvbnN0cnVjdG9yIDg0IDE1LjIuMyBQcm9wZXJ0aWVzIG9mIHRoZSBPYmplY3QgQ29uc3RydWN0b3IgODQgMTUuMi40IFByb3BlcnRpZXMgb2YgdGhlIE9iamVjdCBQcm90b3R5cGUgT2JqZWN0IDg0IDE1LjIuNSBQcm9wZXJ0aWVzIG9mIE9iamVjdCBJbnN0YW5jZXMgODUgMTUuMyBGdW5jdGlvbiBPYmplY3RzIDg1ICc7CmlmKGxhcmdlU3RyICE9PSAnU3RhbmRhcmQgRUNNQS0yNjIzciBkIEVkaXRpb24gLSBEZWNlbWJlciAxOTk5UyB0IGEgbiBkIGEgciBkIGkgeiBpIG4gZyBJbmZvcm1hdCBpIG8gbiBhbmQgQ29tbXUgbiBpIGMgYSB0IGkgbyBuIFN5c3RlbXNQaG9uZTogKzQxIDIyIDg0OS42MC4wMCAtIEZheDogKzQxIDIyIDg0OS42MC4wMSAtIFVSTDogaHQgdHA6IC8gL3d3dy5lY21hLmNoIC0gSW50ZXJuZXQ6IGhlbHBkZXNrQGVjbWEuY2hFQ01BU2NyaXB0IExhbmd1YWdlU3BlY2lmaWNhdGlvblN0YW5kYXJkIEVDTUEtMjYyM3IgZCBFZGl0aW9uIC0gRGVjZW1iZXIgMTk5OVMgdCBhIG4gZCBhIHIgZCBpIHogaSBuIGcgSW5mb3JtYXQgaSBvIG4gYW5kIENvbW11IG4gaSBjIGEgdCBpIG8gbiBTeXN0ZW1zUGhvbmU6ICs0MSAyMiA4NDkuNjAuMDAgLSBGYXg6ICs0MSAyMiA4NDkuNjAuMDEgLSBVUkw6IGh0IHRwOiAvIC93d3cuZWNtYS5jaCAtIEludGVybmV0OiBoZWxwZGVza0BlY21hLmNoTUIgRWNtYS0yNjIuZG9jIDA4LTA0LTAyIDE2LDUzRUNNQVNjcmlwdCBMYW5ndWFnZVNwZWNpZmljYXRpb25CcmllZiBIaXN0b3J5VGhpcyBFQ01BIFN0YW5kYXJkIGlzIGJhc2VkIG9uIHNldmVyYWwgb3JpZ2luYXRpbmcgdGVjaG5vbG9naWVzLCB0aGUgbW9zdCB3ZWxsIGtub3duIGJlaW5nIEphdmFTY3JpcHQgKE5ldHNjYXBlKWFuZCBKU2NyaXB0IChNaWNyb3NvZnQpLiBUaGUgbGFuZ3VhZ2Ugd2FzIGludmVudGVkIGJ5IEJyZW5kYW4gRWljaCBhdCBOZXRzY2FwZSBhbmQgZmlyc3QgYXBwZWFyZWQgaW4gdGhhdGNvbXBhbnMgTmF2aWdhdG9yIDIuMCBicm93c2VyLiBJdCBoYXMgYXBwZWFyZWQgaW4gYWxsIHN1YnNlcXVlbnQgYnJvd3NlcnMgZnJvbSBOZXRzY2FwZSBhbmQgaW4gYWxsIGJyb3dzZXJzIGZyb21NaWNyb3NvZnQgc3RhcnRpbmcgd2l0aCBJbnRlcm5ldCBFeHBsb3JlciAzLjAuVGhlIGRldmVsb3BtZW50IG9mIHRoaXMgU3RhbmRhcmQgc3RhcnRlZCBpbiBOb3ZlbWJlciAxOTk2LiBUaGUgZmlyc3QgZWRpdGlvbiBvZiB0aGlzIEVDTUEgU3RhbmRhcmQgd2FzIGFkb3B0ZWQgYnl0aGUgRUNNQSBHZW5lcmFsIEFzc2VtYmx5IG9mIEp1bmUgMTk5Ny5UaGF0IEVDTUEgU3RhbmRhcmQgd2FzIHN1Ym1pdHRlZCB0byBJU08vSUVDIEpUQyAxIGZvciBhZG9wdGlvbiB1bmRlciB0aGUgZmFzdC10cmFjayBwcm9jZWR1cmUsIGFuZCBhcHByb3ZlZCBhc2ludGVybmF0aW9uYWwgc3RhbmRhcmQgSVNPL0lFQyAxNjI2MiwgaW4gQXByaWwgMTk5OC4gVGhlIEVDTUEgR2VuZXJhbCBBc3NlbWJseSBvZiBKdW5lIDE5OTggYXBwcm92ZWQgdGhlc2Vjb25kIGVkaXRpb24gb2YgRUNNQS0yNjIgdG8ga2VlcCBpdCBmdWxseSBhbGlnbmVkIHdpdGggSVNPL0lFQyAxNjI2Mi4gQ2hhbmdlcyBiZXR3ZWVuIHRoZSBmaXJzdCBhbmQgdGhlIHNlY29uZGVkaXRpb24gYXJlIGVkaXRvcmlhbCBpbiBuYXR1cmUuVGhlIGN1cnJlbnQgZG9jdW1lbnQgZGVmaW5lcyB0aGUgdGhpcmQgZWRpdGlvbiBvZiB0aGUgU3RhbmRhcmQgYW5kIGluY2x1ZGVzIHBvd2VyZnVsIHJlZ3VsYXIgZXhwcmVzc2lvbnMsIGJldHRlcnN0cmluZyBoYW5kbGluZywgbmV3IGNvbnRyb2wgc3RhdGVtZW50cywgdHJ5L2NhdGNoIGV4Y2VwdGlvbiBoYW5kbGluZywgdGlnaHRlciBkZWZpbml0aW9uIG9mIGVycm9ycywgZm9ybWF0dGluZyBmb3JudW1lcmljIG91dHB1dCBhbmQgbWlub3IgY2hhbmdlcyBpbiBhbnRpY2lwYXRpb24gb2YgZm9ydGhjb21pbmcgaW50ZXJuYXRpb25hbGlzYXRpb24gZmFjaWxpdGllcyBhbmQgZnV0dXJlIGxhbmd1YWdlZ3Jvd3RoLldvcmsgb24gdGhlIGxhbmd1YWdlIGlzIG5vdCBjb21wbGV0ZS4gVGhlIHRlY2huaWNhbCBjb21taXR0ZWUgaXMgd29ya2luZyBvbiBzaWduaWZpY2FudCBlbmhhbmNlbWVudHMsIGluY2x1ZGluZ21lY2hhbmlzbXMgZm9yIHNjcmlwdHMgdG8gYmUgY3JlYXRlZCBhbmQgdXNlZCBhY3Jvc3MgdGhlIEludGVybmV0LCBhbmQgdGlnaHRlciBjb29yZGluYXRpb24gd2l0aCBvdGhlciBzdGFuZGFyZHMgYm9kaWVzc3VjaCBhcyBncm91cHMgd2l0aGluIHRoZSBXb3JsZCBXaWRlIFdlYiBDb25zb3J0aXVtIGFuZCB0aGUgV2lyZWxlc3MgQXBwbGljYXRpb24gUHJvdG9jb2wgRm9ydW0uVGhpcyBTdGFuZGFyZCBoYXMgYmVlbiBhZG9wdGVkIGFzIDNyZCBFZGl0aW9uIG9mIEVDTUEtMjYyIGJ5IHRoZSBFQ01BIEdlbmVyYWwgQXNzZW1ibHkgaW4gRGVjZW1iZXIsIDE5OTkuLSBpIC1UYWJsZSBvZiBjb250ZW50czEgU2NvcGUgMTIgQ29uZm9ybWFuY2UgMTMgUmVmZXJlbmNlcyAxNCBPdmVydmlldyAxIDQuMSBXZWIgU2NyaXB0aW5nIDIgNC4yIExhbmd1YWdlIE92ZXJ2aWV3IDIgNC4yLjEgT2JqZWN0cyAzIDQuMyBEZWZpbml0aW9ucyA0IDQuMy4xIFR5cGUgNCA0LjMuMiBQcmltaXRpdmUgVmFsdWUgNCA0LjMuMyBPYmplY3QgNCA0LjMuNCBDb25zdHJ1Y3RvciA0IDQuMy41IFByb3RvdHlwZSA0IDQuMy42IE5hdGl2ZSBPYmplY3QgNCA0LjMuNyBCdWlsdC1pbiBPYmplY3QgNCA0LjMuOCBIb3N0IE9iamVjdCA0IDQuMy45IFVuZGVmaW5lZCBWYWx1ZSA0IDQuMy4xMCBVbmRlZmluZWQgVHlwZSA0IDQuMy4xMSBOdWxsIFZhbHVlIDQgNC4zLjEyIE51bGwgVHlwZSA0IDQuMy4xMyBCb29sZWFuIFZhbHVlIDQgNC4zLjE0IEJvb2xlYW4gVHlwZSA0IDQuMy4xNSBCb29sZWFuIE9iamVjdCA1IDQuMy4xNiBTdHJpbmcgVmFsdWUgNSA0LjMuMTcgU3RyaW5nIFR5cGUgNSA0LjMuMTggU3RyaW5nIE9iamVjdCA1IDQuMy4xOSBOdW1iZXIgVmFsdWUgNSA0LjMuMjAgTnVtYmVyIFR5cGUgNSA0LjMuMjEgTnVtYmVyIE9iamVjdCA1IDQuMy4yMiBJbmZpbml0eSA1IDQuMy4yMyBOYU4gNSA1IE5vdGF0aW9uYWwgQ29udmVudGlvbnMgNiA1LjEgU3ludGFjdGljIGFuZCBMZXhpY2FsIEdyYW1tYXJzIDYgNS4xLjEgQ29udGV4dC1GcmVlIEdyYW1tYXJzIDYgNS4xLjIgVGhlIExleGljYWwgYW5kIFJlZ0V4cCBHcmFtbWFycyA2IDUuMS4zIFRoZSBOdW1lcmljIFN0cmluZyBHcmFtbWFyIDYgNS4xLjQgVGhlIFN5bnRhY3RpYyBHcmFtbWFyIDYgNS4xLjUgR3JhbW1hciBOb3RhdGlvbiA3IDUuMiBBbGdvcml0aG0gQ29udmVudGlvbnMgOSA2LiBTb3VyY2UgVGV4dCAxMCA3IExleGljYWwgQ29udmVudGlvbnMgMTEgNy4xIFVuaWNvZGUgRm9ybWF0LUNvbnRyb2wgQ2hhcmFjdGVycyAxMSA3LjIgV2hpdGUgU3BhY2UgMTEgNy4zIExpbmUgVGVybWluYXRvcnMgMTIgNy40IENvbW1lbnRzIDEyIC0gaWkgLSA3LjUgVG9rZW5zIDEzIDcuNS4xIFJlc2VydmVkIFdvcmRzIDEzIDcuNS4yIEtleXdvcmRzIDEzIDcuNS4zIEZ1dHVyZSBSZXNlcnZlZCBXb3JkcyAxNCA3LjYgSWRlbnRpZmllcnMgMTQgNy43IFB1bmN0dWF0b3JzIDE1IDcuOCBMaXRlcmFscyAxNiA3LjguMSBOdWxsIExpdGVyYWxzIDE2IDcuOC4yIEJvb2xlYW4gTGl0ZXJhbHMgMTYgNy44LjMgTnVtZXJpYyBMaXRlcmFscyAxNiA3LjguNCBTdHJpbmcgTGl0ZXJhbHMgMTggNy44LjUgUmVndWxhciBFeHByZXNzaW9uIExpdGVyYWxzIDIwIDcuOSBBdXRvbWF0aWMgU2VtaWNvbG9uIEluc2VydGlvbiAyMSA3LjkuMSBSdWxlcyBvZiBBdXRvbWF0aWMgU2VtaWNvbG9uIEluc2VydGlvbiAyMSA3LjkuMiBFeGFtcGxlcyBvZiBBdXRvbWF0aWMgU2VtaWNvbG9uIEluc2VydGlvbiAyMiA4IFR5cGVzIDI0IDguMSBUaGUgVW5kZWZpbmVkIFR5cGUgMjQgOC4yIFRoZSBOdWxsIFR5cGUgMjQgOC4zIFRoZSBCb29sZWFuIFR5cGUgMjQgOC40IFRoZSBTdHJpbmcgVHlwZSAyNCA4LjUgVGhlIE51bWJlciBUeXBlIDI0IDguNiBUaGUgT2JqZWN0IFR5cGUgMjUgOC42LjEgUHJvcGVydHkgQXR0cmlidXRlcyAyNSA4LjYuMiBJbnRlcm5hbCBQcm9wZXJ0aWVzIGFuZCBNZXRob2RzIDI2IDguNyBUaGUgUmVmZXJlbmNlIFR5cGUgMjkgOC43LjEgR2V0VmFsdWUgKFYpIDI5IDguNy4yIFB1dFZhbHVlIChWLCBXKSAyOSA4LjggVGhlIExpc3QgVHlwZSAzMCA4LjkgVGhlIENvbXBsZXRpb24gVHlwZSAzMCA5IFR5cGUgQ29udmVyc2lvbiAzMCA5LjEgVG9QcmltaXRpdmUgMzAgOS4yIFRvQm9vbGVhbiAzMCA5LjMgVG9OdW1iZXIgMzEgOS4zLjEgVG9OdW1iZXIgQXBwbGllZCB0byB0aGUgU3RyaW5nIFR5cGUgMzEgOS40IFRvSW50ZWdlciAzNCA5LjUgVG9JbnQzMjogKFNpZ25lZCAzMiBCaXQgSW50ZWdlcikgMzQgOS42IFRvVWludDMyOiAoVW5zaWduZWQgMzIgQml0IEludGVnZXIpIDM0IDkuNyBUb1VpbnQxNjogKFVuc2lnbmVkIDE2IEJpdCBJbnRlZ2VyKSAzNSA5LjggVG9TdHJpbmcgMzUgOS44LjEgVG9TdHJpbmcgQXBwbGllZCB0byB0aGUgTnVtYmVyIFR5cGUgMzUgOS45IFRvT2JqZWN0IDM2IDEwIEV4ZWN1dGlvbiBDb250ZXh0cyAzNyAxMC4xIERlZmluaXRpb25zIDM3IDEwLjEuMSBGdW5jdGlvbiBPYmplY3RzIDM3IDEwLjEuMiBUeXBlcyBvZiBFeGVjdXRhYmxlIENvZGUgMzcgMTAuMS4zIFZhcmlhYmxlIEluc3RhbnRpYXRpb24gMzcgMTAuMS40IFNjb3BlIENoYWluIGFuZCBJZGVudGlmaWVyIFJlc29sdXRpb24gMzggMTAuMS41IEdsb2JhbCBPYmplY3QgMzggMTAuMS42IEFjdGl2YXRpb24gT2JqZWN0IDM4IC0gaSBpIGkgLSAxMC4xLjcgVGhpcyAzOSAxMC4xLjggQXJndW1lbnRzIE9iamVjdCAzOSAxMC4yIEVudGVyaW5nIEFuIEV4ZWN1dGlvbiBDb250ZXh0IDM5IDEwLjIuMSBHbG9iYWwgQ29kZSAzOSAxMC4yLjIgRXZhbCBDb2RlIDM5IDEwLjIuMyBGdW5jdGlvbiBDb2RlIDM5IDExIEV4cHJlc3Npb25zIDQwIDExLjEgUHJpbWFyeSBFeHByZXNzaW9ucyA0MCAxMS4xLjEgVGhlIHRoaXMgS2V5d29yZCA0MCAxMS4xLjIgSWRlbnRpZmllciBSZWZlcmVuY2UgNDAgMTEuMS4zIExpdGVyYWwgUmVmZXJlbmNlIDQwIDExLjEuNCBBcnJheSBJbml0aWFsaXNlciA0MCAxMS4xLjUgT2JqZWN0IEluaXRpYWxpc2VyIDQxIDExLjEuNiBUaGUgR3JvdXBpbmcgT3BlcmF0b3IgNDIgMTEuMiBMZWZ0LUhhbmQtU2lkZSBFeHByZXNzaW9ucyA0MyAxMS4yLjEgUHJvcGVydHkgQWNjZXNzb3JzIDQzIDExLjIuMiBUaGUgbmV3IE9wZXJhdG9yIDQ0IDExLjIuMyBGdW5jdGlvbiBDYWxscyA0NCAxMS4yLjQgQXJndW1lbnQgTGlzdHMgNDUgMTEuMi41IEZ1bmN0aW9uIEV4cHJlc3Npb25zIDQ1IDExLjMgUG9zdGZpeCBFeHByZXNzaW9ucyA0NSAxMS4zLjEgUG9zdGZpeCBJbmNyZW1lbnQgT3BlcmF0b3IgNDUgMTEuMy4yIFBvc3RmaXggRGVjcmVtZW50IE9wZXJhdG9yIDQ1IDExLjQgVW5hcnkgT3BlcmF0b3JzIDQ2IDExLjQuMSBUaGUgZGVsZXRlIE9wZXJhdG9yIDQ2IDExLjQuMiBUaGUgdm9pZCBPcGVyYXRvciA0NiAxMS40LjMgVGhlIHR5cGVvZiBPcGVyYXRvciA0NiAxMS40LjQgUHJlZml4IEluY3JlbWVudCBPcGVyYXRvciA0NyAxMS40LjUgUHJlZml4IERlY3JlbWVudCBPcGVyYXRvciA0NyAxMS40LjYgVW5hcnkgKyBPcGVyYXRvciA0NyAxMS40LjcgVW5hcnkgLSBPcGVyYXRvciA0NyAxMS40LjggQml0d2lzZSBOT1QgT3BlcmF0b3IgKCB+KSA0OCAxMS40LjkgTG9naWNhbCBOT1QgT3BlcmF0b3IgKCAhKSA0OCAxMS41IE11bHRpcGxpY2F0aXZlIE9wZXJhdG9ycyA0OCAxMS41LjEgQXBwbHlpbmcgdGhlICogT3BlcmF0b3IgNDggMTEuNS4yIEFwcGx5aW5nIHRoZSAvIE9wZXJhdG9yIDQ5IDExLjUuMyBBcHBseWluZyB0aGUgJSBPcGVyYXRvciA0OSAxMS42IEFkZGl0aXZlIE9wZXJhdG9ycyA1MCAxMS42LjEgVGhlIEFkZGl0aW9uIG9wZXJhdG9yICggKykgNTAgMTEuNi4yIFRoZSBTdWJ0cmFjdGlvbiBPcGVyYXRvciAoIC0pIDUwIDExLjYuMyBBcHBseWluZyB0aGUgQWRkaXRpdmUgT3BlcmF0b3JzICggKywtICkgdG8gTnVtYmVycyA1MSAxMS43IEJpdHdpc2UgU2hpZnQgT3BlcmF0b3JzIDUxIDExLjcuMSBUaGUgTGVmdCBTaGlmdCBPcGVyYXRvciAoIDw8KSA1MSAxMS43LjIgVGhlIFNpZ25lZCBSaWdodCBTaGlmdCBPcGVyYXRvciAoID4+KSA1MSAxMS43LjMgVGhlIFVuc2lnbmVkIFJpZ2h0IFNoaWZ0IE9wZXJhdG9yICggPj4+KSA1MiAxMS40IFJlbGF0aW9uYWwgT3BlcmF0b3JzIDUyIDExLjguMSBUaGUgTGVzcy10aGFuIE9wZXJhdG9yICggPCkgNTMgMTEuOC4yIFRoZSBHcmVhdGVyLXRoYW4gT3BlcmF0b3IgKCA+KSA1MyAxMS44LjMgVGhlIExlc3MtdGhhbi1vci1lcXVhbCBPcGVyYXRvciAoIDw9KSA1MyAxMS44LjQgVGhlIEdyZWF0ZXItdGhhbi1vci1lcXVhbCBPcGVyYXRvciAoID49KSA1MyAxMS44LjUgVGhlIEFic3RyYWN0IFJlbGF0aW9uYWwgQ29tcGFyaXNvbiBBbGdvcml0aG0gNTMgLSBpdiAtIDExLjguNiBUaGUgaW5zdGFuY2VvZiBvcGVyYXRvciA1NCAxMS44LjcgVGhlIGluIG9wZXJhdG9yIDU0IDExLjkgRXF1YWxpdHkgT3BlcmF0b3JzIDU0IDExLjkuMSBUaGUgRXF1YWxzIE9wZXJhdG9yICggPT0pIDU1IDExLjkuMiBUaGUgRG9lcy1ub3QtZXF1YWxzIE9wZXJhdG9yICggIT0pIDU1IDExLjkuMyBUaGUgQWJzdHJhY3QgRXF1YWxpdHkgQ29tcGFyaXNvbiBBbGdvcml0aG0gNTUgMTEuOS40IFRoZSBTdHJpY3QgRXF1YWxzIE9wZXJhdG9yICggPT09KSA1NiAxMS45LjUgVGhlIFN0cmljdCBEb2VzLW5vdC1lcXVhbCBPcGVyYXRvciAoICE9PSkgNTYgMTEuOS42IFRoZSBTdHJpY3QgRXF1YWxpdHkgQ29tcGFyaXNvbiBBbGdvcml0aG0gNTYgMTEuMTAgQmluYXJ5IEJpdHdpc2UgT3BlcmF0b3JzIDU3IDExLjExIEJpbmFyeSBMb2dpY2FsIE9wZXJhdG9ycyA1OCAxMS4xMiBDb25kaXRpb25hbCBPcGVyYXRvciAoID86ICkgNTggMTEuMTMgQXNzaWdubWVudCBPcGVyYXRvcnMgNTkgMTEuMTMuMSBTaW1wbGUgQXNzaWdubWVudCAoID0pIDU5IDExLjEzLjIgQ29tcG91bmQgQXNzaWdubWVudCAoIG9wPSkgNjAgMTEuMTQgQ29tbWEgT3BlcmF0b3IgKCAsICkgNjAgMTIgU3RhdGVtZW50cyA2MSAxMi4xIEJsb2NrIDYxIDEyLjIgVmFyaWFibGUgc3RhdGVtZW50IDYyIDEyLjMgRW1wdHkgU3RhdGVtZW50IDYzIDEyLjQgRXhwcmVzc2lvbiBTdGF0ZW1lbnQgNjMgMTIuNSBUaGUgaWYgU3RhdGVtZW50IDYzIDEyLjYgSXRlcmF0aW9uIFN0YXRlbWVudHMgNjQgMTIuNi4xIFRoZSBkby13aGlsZSBTdGF0ZW1lbnQgNjQgMTIuNi4yIFRoZSB3aGlsZSBzdGF0ZW1lbnQgNjQgMTIuNi4zIFRoZSBmb3IgU3RhdGVtZW50IDY1IDEyLjYuNCBUaGUgZm9yLWluIFN0YXRlbWVudCA2NSAxMi43IFRoZSBjb250aW51ZSBTdGF0ZW1lbnQgNjYgMTIuOCBUaGUgYnJlYWsgU3RhdGVtZW50IDY3IDEyLjkgVGhlIHJldHVybiBTdGF0ZW1lbnQgNjcgMTIuMTAgVGhlIHdpdGggU3RhdGVtZW50IDY3IDEyLjExIFRoZSBzd2l0Y2ggU3RhdGVtZW50IDY4IDEyLjEyIExhYmVsbGVkIFN0YXRlbWVudHMgNjkgMTIuMTMgVGhlIHRocm93IHN0YXRlbWVudCA2OSAxMi4xNCBUaGUgdHJ5IHN0YXRlbWVudCA3MCAxMyBGdW5jdGlvbiBEZWZpbml0aW9uIDcxIDEzLjEgRGVmaW5pdGlvbnMgNzIgMTMuMS4xIEVxdWF0ZWQgR3JhbW1hciBQcm9kdWN0aW9ucyA3MiAxMy4xLjIgSm9pbmVkIE9iamVjdHMgNzIgMTMuMiBDcmVhdGluZyBGdW5jdGlvbiBPYmplY3RzIDcyIDEzLjIuMSBbW0NhbGxdXSA3MyAxMy4yLjIgW1tDb25zdHJ1Y3RdXSA3NCAxNCBQcm9ncmFtIDc1IDE1IE5hdGl2ZSBFQ01BU2NyaXB0IE9iamVjdHMgNzYgMTUuMSBUaGUgR2xvYmFsIE9iamVjdCA3NiAxNS4xLjEgVmFsdWUgUHJvcGVydGllcyBvZiB0aGUgR2xvYmFsIE9iamVjdCA3NyAxNS4xLjIgRnVuY3Rpb24gUHJvcGVydGllcyBvZiB0aGUgR2xvYmFsIE9iamVjdCA3NyAxNS4xLjMgVVJJIEhhbmRsaW5nIEZ1bmN0aW9uIFByb3BlcnRpZXMgNzggLSB2IC0gMTUuMS40IENvbnN0cnVjdG9yIFByb3BlcnRpZXMgb2YgdGhlIEdsb2JhbCBPYmplY3QgODMgMTUuMS41IE90aGVyIFByb3BlcnRpZXMgb2YgdGhlIEdsb2JhbCBPYmplY3QgODMgMTUuMiBPYmplY3QgT2JqZWN0cyA4MyAxNS4yLjEgVGhlIE9iamVjdCBDb25zdHJ1Y3RvciBDYWxsZWQgYXMgYSBGdW5jdGlvbiA4MyAxNS4yLjIgVGhlIE9iamVjdCBDb25zdHJ1Y3RvciA4NCAxNS4yLjMgUHJvcGVydGllcyBvZiB0aGUgT2JqZWN0IENvbnN0cnVjdG9yIDg0IDE1LjIuNCBQcm9wZXJ0aWVzIG9mIHRoZSBPYmplY3QgUHJvdG90eXBlIE9iamVjdCA4NCAxNS4yLjUgUHJvcGVydGllcyBvZiBPYmplY3QgSW5zdGFuY2VzIDg1IDE1LjMgRnVuY3Rpb24gT2JqZWN0cyA4NSAnKXsKICAkRVJST1IoJyMyOiBMYXJnZSBzdHJpbmcgODE5MiBieXRlcycpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"Large string 8192 bytes","description":"Assign variable by large string","path":"TestCases/ch08/8.4/S8.4_A6.2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiA8TEY+IGJldHdlZW4gY2h1bmtzIG9mIG9uZSBzdHJpbmcgbm90IGFsbG93ZWQKICoKICogQHBhdGggY2gwOC84LjQvUzguNF9BNy4xLmpzCiAqIEBkZXNjcmlwdGlvbiBJbnNlcnQgPExGPiBiZXR3ZWVuIGNodW5rcyBvZiBvbmUgc3RyaW5nCiAqIEBuZWdhdGl2ZQogKi8KCmV2YWwoInZhciB4ID0gYXNkZlx1MDAwQWdoamsiKTsKCg==","commentary":"<LF> between chunks of one string not allowed","description":"Insert <LF> between chunks of one string","negative":"","path":"TestCases/ch08/8.4/S8.4_A7.1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiA8Q1I+IGJldHdlZW4gY2h1bmtzIG9mIG9uZSBzdHJpbmcgbm90IGFsbG93ZWQKICoKICogQHBhdGggY2gwOC84LjQvUzguNF9BNy4yLmpzCiAqIEBkZXNjcmlwdGlvbiBJbnNlcnQgPENSPiBiZXR3ZWVuIGNodW5rcyBvZiBvbmUgc3RyaW5nCiAqIEBuZWdhdGl2ZQogKi8KCmV2YWwoInZhciB4ID0gYXNkZlx1MDAwRGdoamsiKTsKCg==","commentary":"<CR> between chunks of one string not allowed","description":"Insert <CR> between chunks of one string","negative":"","path":"TestCases/ch08/8.4/S8.4_A7.2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiA8UFM+IGJldHdlZW4gY2h1bmtzIG9mIG9uZSBzdHJpbmcgbm90IGFsbG93ZWQKICoKICogQHBhdGggY2gwOC84LjQvUzguNF9BNy4zLmpzCiAqIEBkZXNjcmlwdGlvbiBJbnNlcnQgPFBTPiBiZXR3ZWVuIGNodW5rcyBvZiBvbmUgc3RyaW5nCiAqIEBuZWdhdGl2ZQogKi8KCmV2YWwoInZhciB4ID0gYXNkZlx1MjAyOGdoamsiKTsKCg==","commentary":"<PS> between chunks of one string not allowed","description":"Insert <PS> between chunks of one string","negative":"","path":"TestCases/ch08/8.4/S8.4_A7.3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiA8TFM+IGJldHdlZW4gY2h1bmtzIG9mIG9uZSBzdHJpbmcgbm90IGFsbG93ZWQKICoKICogQHBhdGggY2gwOC84LjQvUzguNF9BNy40LmpzCiAqIEBkZXNjcmlwdGlvbiBJbnNlcnQgPExTPiBiZXR3ZWVuIGNodW5rcyBvZiBvbmUgc3RyaW5nCiAqIEBuZWdhdGl2ZQogKi8KCmV2YWwoInZhciB4ID0gYXNkZlx1MjAyOWdoamsiKTsKCg==","commentary":"<LS> between chunks of one string not allowed","description":"Insert <LS> between chunks of one string","negative":"","path":"TestCases/ch08/8.4/S8.4_A7.4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBFbXB0eSBzdHJpbmcsIDAsIGZhbHNlIGFyZSBhbGwgZXF1YWwgKD09KSB0byBlYWNoIG90aGVyLCBzaW5jZSB0aGV5IGFsbCBldmFsdWF0ZSB0byAwCiAqCiAqIEBwYXRoIGNoMDgvOC40L1M4LjRfQTguanMKICogQGRlc2NyaXB0aW9uIENvbXBhcmUgZW1wdHkgc3RyaW5nIHdpdGggdW5kZWZpbmVkLCBudWxsLCAwIGFuZCBmYWxzZQogKi8KCnZhciBzdHI9Jyc7CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy8gQ0hFQ0sjMQppZiAoc3RyID09IHVuZGVmaW5lZCl7CiAgJEVSUk9SKCcjMTogRW1wdHkgc3RyaW5nIGFuZCB1bmRlZmluZWQgYXJlIG5vdCBlcXVhbCAoIT0pIHRvIGVhY2ggb3RoZXInKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy8gQ0hFQ0sjMgppZiAoc3RyID09IG51bGwpewogICRFUlJPUignIzE6IEVtcHR5IHN0cmluZyBhbmQgTnVsbCBhcmUgbm90IGVxdWFsICghPSkgdG8gZWFjaCBvdGhlcicpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovLyBDSEVDSyMzCmlmIChzdHIgIT0gMCl7CiAgJEVSUk9SKCcjMzogRW1wdHkgc3RyaW5nIGFuZCAwIGFyZSBlcXVhbCAoPT0pIHRvIGVhY2ggb3RoZXIsIHNpbmNlIHRoZXkgYWxsIGV2YWx1YXRlIHRvIDAnKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy8gQ0hFQ0sjNAppZiAoc3RyICE9IGZhbHNlKXsKICAkRVJST1IoJyM0OiBFbXB0eSBzdHJpbmcgYW5kIGZhbHNlIGFyZSBlcXVhbCAoPT0pIHRvIGVhY2ggb3RoZXIsIHNpbmNlIHRoZXkgYWxsIGV2YWx1YXRlIHRvIDAnKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"Empty string, 0, false are all equal (==) to each other, since they all evaluate to 0","description":"Compare empty string with undefined, null, 0 and false","path":"TestCases/ch08/8.4/S8.4_A8.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBBc3NpZ25tZW50IHRvIHN0cmluZyBsaXRlcmFscyBjYWxscyBTdHJpbmcgY29uc3RydWN0b3IKICoKICogQHBhdGggY2gwOC84LjQvUzguNF9BOV9UMS5qcwogKiBAZGVzY3JpcHRpb24gU2ltcGxlIHN0cmluZyB2YXJpYWJsZSBjb21wYXJlIHdpdGggb2JqZWN0IFN0cmluZwogKi8KCnZhciBzdHI9J0FCQyc7CnZhciBzdHJPYmo9bmV3IFN0cmluZygnQUJDJyk7CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy8gQ0hFQ0sjMQppZiAoc3RyLmNvbnN0cnVjdG9yICE9PSBzdHJPYmouY29uc3RydWN0b3IpewogICRFUlJPUignIzE6IFwnQUJDXCcuY29uc3RydWN0b3IgPT09IG5ldyBTdHJpbmcoXCdBQkNcJykuY29uc3RydWN0b3InKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy8gQ0hFQ0sjMgppZiAoc3RyICE9IHN0ck9iail7CiAgJEVSUk9SKCcjMjogIkFCQyIgPT0gbmV3IFN0cmluZygiQUJDIiknKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy8gQ0hFQ0sjMwppZiAoc3RyID09PSBzdHJPYmopewogICRFUlJPUignIzM6ICJBQkMiICE9PSBuZXcgU3RyaW5nKCJBQkMiKScpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"Assignment to string literals calls String constructor","description":"Simple string variable compare with object String","path":"TestCases/ch08/8.4/S8.4_A9_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBBc3NpZ25tZW50IHRvIHN0cmluZyBsaXRlcmFscyBjYWxscyBTdHJpbmcgY29uc3RydWN0b3IKICoKICogQHBhdGggY2gwOC84LjQvUzguNF9BOV9UMi5qcwogKiBAZGVzY3JpcHRpb24gQ29tcGFyZSBlbXB0eSBzdHJpbmcgdmFyaWFibGUsIG9iamVjdCBTdHJpbmcoJycpIGFuZCBvYmplY3QgU3RyaW5nKCkKICovCgp2YXIgc3RyPSIiOwp2YXIgc3RyT2JqPW5ldyBTdHJpbmcoIiIpOwp2YXIgc3RyT2JqXz1uZXcgU3RyaW5nKCk7CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy8gQ0hFQ0sjMQppZiAoc3RyLmNvbnN0cnVjdG9yICE9PSBzdHJPYmouY29uc3RydWN0b3IpewogICRFUlJPUignIzE6ICIiLmNvbnN0cnVjdG9yID09PSBuZXcgU3RyaW5nKCIiKS5jb25zdHJ1Y3RvcicpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovLyBDSEVDSyMyCmlmIChzdHIuY29uc3RydWN0b3IgIT09IHN0ck9ial8uY29uc3RydWN0b3IpewogICRFUlJPUignIzI6ICIiLmNvbnN0cnVjdG9yID09PSBuZXcgU3RyaW5nKCkuY29uc3RydWN0b3InKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy8gQ0hFQ0sjMwppZiAoc3RyICE9IHN0ck9iail7CiAgJEVSUk9SKCcjMzogdmFsdWVzIG9mIHN0cj0iIjsgYW5kIHN0ck9iaj1uZXcgU3RyaW5nKCIiKTsgYXJlIGVxdWFsJyk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vIENIRUNLIzQKaWYgKHN0ciA9PT0gc3RyT2JqKXsKICAkRVJST1IoJyM0OiBvYmplY3RzIG9mIHN0cj0iIjsgYW5kIHN0ck9iaj1uZXcgU3RyaW5nKCIiKTsgYXJlIGRpZmZlcmVudCcpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovLyBDSEVDSyM1CmlmIChzdHIgIT0gc3RyT2JqXyl7CiAgJEVSUk9SKCcjNTogdmFsdWVzIG9mIHN0cj0iIjsgYW5kIHN0ck9iaj1uZXcgU3RyaW5nKCk7IGFyZSBlcXVhbCcpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovLyBDSEVDSyM2CmlmIChzdHIgPT09IHN0ck9ial8pewogICRFUlJPUignIzY6IG9iamVjdHMgb2Ygc3RyPSIiOyBhbmQgc3RyT2JqPW5ldyBTdHJpbmcoKTsgYXJlIGRpZmZlcmVudCcpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"Assignment to string literals calls String constructor","description":"Compare empty string variable, object String('') and object String()","path":"TestCases/ch08/8.4/S8.4_A9_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBBc3NpZ25tZW50IHRvIHN0cmluZyBsaXRlcmFscyBjYWxscyBTdHJpbmcgY29uc3RydWN0b3IKICoKICogQHBhdGggY2gwOC84LjQvUzguNF9BOV9UMy5qcwogKiBAZGVzY3JpcHRpb24gU2ltcGxlIGVtcHR5IHN0cmluZyB2YXJpYWJsZSBjb21wYXJlIHdpdGggZW1wdHkgb2JqZWN0IFN0cmluZwogKi8KCnZhciBzdHI9IiI7CnZhciBzdHJPYmo9bmV3IFN0cmluZzsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovLyBDSEVDSyMxCmlmIChzdHIuY29uc3RydWN0b3IgIT09IHN0ck9iai5jb25zdHJ1Y3Rvcil7CiAgJEVSUk9SKCcjMTogIiIuY29uc3RydWN0b3IgPT09IG5ldyBTdHJpbmcuY29uc3RydWN0b3InKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy8gQ0hFQ0sjMgppZiAoc3RyICE9IHN0ck9iail7CiAgJEVSUk9SKCcjMjogdmFsdWVzIG9mIHN0cj0iIjsgYW5kIHN0ck9iaj1uZXcgU3RyaW5nKCIiKTsgYXJlIGVxdWFsJyk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vIENIRUNLIzMKaWYgKHN0ciA9PT0gc3RyT2JqKXsKICAkRVJST1IoJyMzOiBvYmplY3RzIG9mIHN0cj0iIjsgYW5kIHN0ck9iaj1uZXcgU3RyaW5nKCIiKTsgYXJlIGRpZmZlcmVudCcpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzQKaWYgKHR5cGVvZiBzdHIgPT0gdHlwZW9mIHN0ck9iail7CiAgJEVSUk9SKCcjNDogdHlwZXMgb2Ygc3RyPSIiOyBhbmQgc3RyT2JqPW5ldyBTdHJpbmcoIiIpOyBhcmUgZGlmZmVyZW50Jyk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgoK","commentary":"Assignment to string literals calls String constructor","description":"Simple empty string variable compare with empty object String","path":"TestCases/ch08/8.4/S8.4_A9_T3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiAKLyoqCiAqIEBwYXRoIGNoMDgvOC41LzguNS4xLmpzCiAqIEBkZXNjcmlwdGlvbiBWYWxpZCBOdW1iZXIgcmFuZ2VzCiAqLwoKLy8gQ2hlY2sgcmFuZ2Ugc3VwcG9ydCBmb3IgTnVtYmVyIHZhbHVlcyAoSUVFRSA3NTQgNjQtYml0IGZsb2F0cyBoYXZpbmcgdGhlIGZvcm0gcyptKjIqKmUpCi8vCi8vIEZvciBub3JtYWxpemVkIGZsb2F0cywgc2lnbiAocykgaXMgKzEgb3IgLTEsIG0gKG1hbnRpc2EpIGlzIGEgcG9zaXRpdmUgaW50ZWdlciBsZXNzIAovLyB0aGFuIDIqKjUzIGJ1dCBub3QgbGVzcyB0aGFuIDIqKjUyIGFuZCBlIChleHBvbmVudCkgaXMgYW4gaW50ZWdlciByYW5naW5nIGZyb20gLTEwNzQgdG8gOTcxCi8vCi8vIEZvciBkZW5vcm1hbGl6ZWQgZmxvYXRzLCBzIGlzICsxIG9yIC0xLCBtIGlzIGEgcG9zaXRpdmUgaW50ZWdlciBsZXNzIHRoYW4gMioqNTIsIGFuZAovLyBlIGlzIC0xMDc0Ci8vCi8vIEJlbG93IDY0LWJpdCBmbG9hdCB2YWx1ZXMgc2hvd24gZm9yIGluZm9ybWF0aW9uYWwgcHVycG9zZXMuICBWYWx1ZXMgbWF5IGJlIHBvc2l0aXZlIG9yIG5lZ2F0aXZlLgovLyBJbmZpbml0eSAgPj0gfjEuNzk3NjkzMTM0ODYyMzE1OTA3NzI5MzA1MTkwNzg5ZSszMDggPj0gMioqMTAyNAovLyBNQVhfTk9STSAgID0gfjEuNzk3NjkzMTM0ODYyMzE1NzA4MTQ1Mjc0MjM3MzE3ZSszMDggID0gKDIqKjUzIC0gMSkgKiAoMioqLTUyKSAqICgyKioxMDIzKSA9ICgyKio1My0xKSAqICgyKio5NzEpID0gKDIqKjEwMjQpIC0gKDIqKjk3MSkKLy8gTUlOX05PUk0gICA9IH4yLjIyNTA3Mzg1ODUwNzIwMTM4MzA5MDIzMjcxNzMzMjRlLTMwOCA9IDIqKi0xMDIyCi8vIE1BWF9ERU5PUk0gPSB+Mi4yMjUwNzM4NTg1MDcyMDA4ODkwMjQ1ODY4NzYwODU5ZS0zMDggPSBNSU5fTk9STSAtIE1JTl9ERU5PUk0gPSAoMioqLTEwMjIpIC0gKDIqKi0xMDc0KQovLyBNSU5fREVOT1JNID0gfjQuOTQwNjU2NDU4NDEyNDY1NDQxNzY1Njg3OTI4NjgyMmUtMzI0ID0gMioqLTEwNzQKIAovLyBGaWxsIGFuIGFycmF5IHdpdGggMiB0byB0aGUgcG93ZXIgb2YgKDAgLi4uIC0xMDc1KQp2YXIgdmFsdWUgPSAxOwp2YXIgZmxvYXRWYWx1ZXMgPSBuZXcgQXJyYXkoMTA3Nik7CmZvcih2YXIgcG93ZXIgPSAwOyBwb3dlciA8PSAxMDc1OyBwb3dlcisrKXsKCWZsb2F0VmFsdWVzW3Bvd2VyXSA9IHZhbHVlOwogICAgLy8gVXNlIGJhc2ljIG1hdGggb3BlcmF0aW9ucyBmb3IgdGVzdGluZywgd2hpY2ggYXJlIHJlcXVpcmVkIHRvIHN1cHBvcnQgJ2dyYWR1YWwgdW5kZXJmbG93JyByYXRoZXIKICAgIC8vIHRoYW4gTWF0aC5wb3cgZXRjLi4uLCB3aGljaCBhcmUgZGVmaW5lZCBhcyAnaW1wbGVtZW50YXRpb24gZGVwZW5kZW50Jy4KCXZhbHVlID0gdmFsdWUgKiAwLjU7Cn0KCi8vIFRoZSBsYXN0IHZhbHVlIGlzIGJlbG93IG1pbiBkZW5vcm0gYW5kIHNob3VsZCByb3VuZCB0byAwLCBldmVyeXRoaW5nIGVsc2Ugc2hvdWxkIGNvbnRhaW4gYSB2YWx1ZQppZihmbG9hdFZhbHVlc1sxMDc1XSAhPT0gMCkgewogICRFUlJPUigiVmFsdWUgYWZ0ZXIgbWluIGRlbm9ybSBzaG91bGQgcm91bmQgdG8gMCIpOwp9CgovLyBWYWxpZGF0ZSB0aGUgbGFzdCBhY3R1YWwgdmFsdWUgaXMgbWluIGRlbm9ybQppZihmbG9hdFZhbHVlc1sxMDc0XSAhPT0gNC45NDA2NTY0NTg0MTI0NjU0NDE3NjU2ODc5Mjg2ODIyZS0zMjQpIHsKICAkRVJST1IoIk1pbiBkZW5vcm0gdmFsdWUgaXMgaW5jb3JyZWN0OiAiICsgZmxvYXRWYWx1ZXNbMTA3NF0pOwp9CgovLyBWYWxpZGF0ZSB0aGF0IGV2ZXJ5IHZhbHVlIGlzIGhhbGYgdGhlIHZhbHVlIGJlZm9yZSBpdCB1cCB0byAxCmZvcih2YXIgaW5kZXggPSAxMDc0OyBpbmRleCA+IDA7IGluZGV4LS0pewogIGlmKGZsb2F0VmFsdWVzW2luZGV4XSA9PT0gMCl7CgkkRVJST1IoIjIqKi0iICsgaW5kZXggKyAiIHNob3VsZCBub3QgYmUgMCIpOwogIH0KICBpZihmbG9hdFZhbHVlc1tpbmRleCAtIDFdICE9PSAoZmxvYXRWYWx1ZXNbaW5kZXhdICogMikpewoJJEVSUk9SKCJWYWx1ZSBzaG91bGQgYmUgZG91YmxlIGFkamFjZW50IHZhbHVlIGF0IGluZGV4ICIgKyBpbmRleCk7CiAgfQp9CgovLyBNYXggbm9ybSBzaG91bGQgYmUgc3VwcG9ydGVkIGFuZCBjb21wYXJlIGxlc3MgdGhhbiBpbmlmaXR5CmlmKCEoMS43OTc2OTMxMzQ4NjIzMTU3MDgxNDUyNzQyMzczMTdlKzMwOCA8IEluZmluaXR5KSl7CgkkRVJST1IoIk1heCBOdW1iZXIgdmFsdWUgMS43OTc2OTMxMzQ4NjIzMTU3MDgxNDUyNzQyMzczMTdlKzMwOCBzaG91bGQgbm90IG92ZXJmbG93IHRvIGluZmluaXR5Iik7Cn0KCi8vIE51bWJlcnMgY2xvc2VyIHRvIDIqKjEwMjQgdGhlbiBtYXggbm9ybSBzaG91bGQgb3ZlcmZsb3cgdG8gaW5maW5pdHkKaWYoISgxLjc5NzY5MzEzNDg2MjMxNTgwOGUrMzA4ID09PSArSW5maW5pdHkpKXsKCSRFUlJPUigiMS43OTc2OTMxMzQ4NjIzMTU4MDhlKzMwOCBkaWQgbm90IHJlc29sdmUgdG8gSW5maW5pdHkiKTsKfQo=","commentary":"","description":"Valid Number ranges","path":"TestCases/ch08/8.5/8.5.1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBOYU4gIT09IE5hTgogKgogKiBAcGF0aCBjaDA4LzguNS9TOC41X0ExLmpzCiAqIEBkZXNjcmlwdGlvbiBDb21wYXJlIE5hTiB3aXRoIE5hTgogKi8KCnZhciB4ID0gTnVtYmVyLk5hTjsKdmFyIHhfID0gTnVtYmVyLk5hTjsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy8gQ0hFQ0sgIzEKaWYgKHggPT09IHhfKXsKICAkRVJST1IoJyMxOiBOYU4gIT09IE5hTiAnKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"NaN !== NaN","description":"Compare NaN with NaN","path":"TestCases/ch08/8.5/S8.5_A1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJbmZpbml0eSBpcyBub3QgYSBrZXl3b3JkCiAqCiAqIEBwYXRoIGNoMDgvOC41L1M4LjVfQTEwLmpzCiAqIEBkZXNjcmlwdGlvbiBDcmVhdGUgdmFyaWFibGUgZW50aXRsZWQgSW5maW5pdHkKICovCgp2YXIgSW5maW5pdHk9MS4wOwpJbmZpbml0eT0nYXNkZic7CkluZmluaXR5PXRydWU7Cgo=","commentary":"Infinity is not a keyword","description":"Create variable entitled Infinity","path":"TestCases/ch08/8.5/S8.5_A10.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgaW50ZWdlciAwIGhhcyB0d28gcmVwcmVzZW50YXRpb25zLCArMCBhbmQgLTAKICoKICogQHBhdGggY2gwOC84LjUvUzguNV9BMTFfVDEuanMKICogQGRlc2NyaXB0aW9uIENoZWNrIDEuMC9wX3plcm8gIT09IDEuMC9uX3plcm8KICovCgp2YXIgcF96ZXJvPSswOwp2YXIgbl96ZXJvPS0wOwoKaWYgKDEuMC9wX3plcm8gPT09IDEuMC9uX3plcm8pewogICRFUlJPUignIzE6IHZhciBwX3plcm89KzA7IHZhciBuX3plcm89LTA7IDEuMC9wX3plcm8gIT09IDEuMC9uX3plcm8nKTsKfQoK","commentary":"The integer 0 has two representations, +0 and -0","description":"Check 1.0/p_zero !== 1.0/n_zero","path":"TestCases/ch08/8.5/S8.5_A11_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgaW50ZWdlciAwIGhhcyB0d28gcmVwcmVzZW50YXRpb25zLCArMCBhbmQgLTAKICoKICogQHBhdGggY2gwOC84LjUvUzguNV9BMTFfVDIuanMKICogQGRlc2NyaXB0aW9uIENvbXBhcmUgcG9zaXRpdmVfemVybyBhbmQgbmVnYXRpdmVfemVybwogKi8KCnZhciBwX3plcm89KzA7CnZhciBuX3plcm89LTA7CgovL0NIRUNLICMxCmlmICgocF96ZXJvID09IG5femVybykgIT09IHRydWUpewogICRFUlJPUignIzE6IHZhciBwX3plcm89KzA7IHZhciBuX3plcm89LTA7IHBfemVybyAhPSBuX3plcm8nKTsKfQoKLy9DSEVDSyAjMgppZiAoKG5femVybyA9PSAwKSAhPT0gdHJ1ZSl7CiAgJEVSUk9SKCcjMjogdmFyIHBfemVybz0rMDsgdmFyIG5femVybz0tMDsgbl96ZXJvID09IDAnKTsKfQoKLy9DSEVDSyAjMwppZiAoKHBfemVybyA9PSAtMCkgIT09IHRydWUpewogICRFUlJPUignIzM6IHZhciBwX3plcm89KzA7IHZhciBuX3plcm89LTA7IHBfemVybyA9PSAtMCcpOwp9CgovL0NIRUNLICM0CmlmICgocF96ZXJvID09PSAwKSAhPT0gdHJ1ZSl7CiAgJEVSUk9SKCcjNDogdmFyIHBfemVybz0rMDsgdmFyIG5femVybz0tMDsgcF96ZXJvID09PSAwJyk7Cn0KCi8vQ0hFQ0sgIzUKaWYgKChuX3plcm8gPT09IC0wKSAhPT0gdHJ1ZSl7CiAgJEVSUk9SKCcjNTogdmFyIHBfemVybz0rMDsgdmFyIG5femVybz0tMDsgbl96ZXJvID09PSAtMCcpOwp9Cgo=","commentary":"The integer 0 has two representations, +0 and -0","description":"Compare positive_zero and negative_zero","path":"TestCases/ch08/8.5/S8.5_A11_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiArSW5maW5pdHkgYW5kIEluZmluaXR5IGFyZSB0aGUgc2FtZSBhcyBOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkKICoKICogQHBhdGggY2gwOC84LjUvUzguNV9BMTIuMS5qcwogKiBAZGVzY3JpcHRpb24gQ29tcGFyZSBJbmZpbml0eSBhbmQgK0luZmluaXR5IHdpdGggTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZCiAqLwoKdmFyIHBfaW5mPStJbmZpbml0eTsKdmFyIGluZj1JbmZpbml0eTsKCi8vQ0hFQ0sgIzEgCmlmIChwX2luZiE9PU51bWJlci5QT1NJVElWRV9JTkZJTklUWSl7CiAgJEVSUk9SKCcjMTogK0luZmluaXR5IGlzIHRoZSBzYW1lIGFzIE51bWJlci5QT1NJVElWRV9JTkZJTklUWScpOwp9CgovL0NIRUNLICMyIAppZiAoaW5mIT09TnVtYmVyLlBPU0lUSVZFX0lORklOSVRZKXsKICAkRVJST1IoJyMyOiBJbmZpbml0eSBpcyB0aGUgc2FtZSBhcyBOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFknKTsKfQoK","commentary":"+Infinity and Infinity are the same as Number.POSITIVE_INFINITY","description":"Compare Infinity and +Infinity with Number.POSITIVE_INFINITY","path":"TestCases/ch08/8.5/S8.5_A12.1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiAtSW5maW5pdHkgaXMgdGhlIHNhbWUgYXMgTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZCiAqCiAqIEBwYXRoIGNoMDgvOC41L1M4LjVfQTEyLjIuanMKICogQGRlc2NyaXB0aW9uIENvbXBhcmUgLUluZmluaXR5IHdpdGggTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZCiAqLwoKdmFyIG5faW5mPS1JbmZpbml0eTsKCi8vQ0hFQ0sgIzEgCmlmIChuX2luZiAhPT0gTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZKXsKICAkRVJST1IoJyMxOiAtSW5maW5pdHkgaXMgdGhlIHNhbWUgYXMgTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZJyk7Cn0KCg==","commentary":"-Infinity is the same as Number.NEGATIVE_INFINITY","description":"Compare -Infinity with Number.NEGATIVE_INFINITY","path":"TestCases/ch08/8.5/S8.5_A12.2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBGaW5pdGUgbm9uemVybyB2YWx1ZXMgIHRoYXQgYXJlIE5vcm1hbGlzZWQgaGF2aW5nIHRoZSBmb3JtIHMqbSoyKiplCiAqICB3aGVyZSBzIGlzICsxIG9yIC0xLCBtIGlzIGEgcG9zaXRpdmUgaW50ZWdlciBsZXNzIHRoYW4gMioqNTMgYnV0IG5vdAogKiAgbGVzcyB0aGFuIHMqKjUyIGFuZCBlIGlzIGFuIGludGVnZXIgcmFuZ2luZyBmcm9tIC0xMDc0IHRvIDk3MQogKgogKiBAcGF0aCBjaDA4LzguNS9TOC41X0ExM19UMi5qcwogKiBAZGVzY3JpcHRpb24gRmluaXRlIE5vbiB6ZXJvIHZhbHVlcyB3aGVyZSBlIGlzIDk3MQogKi8KCi8vQ0hFQ0sgIzEgCmlmICgoMSooTWF0aC5wb3coMiw1MikpKihNYXRoLnBvdygyLDk3MSkpKSAhPT0gOC45ODg0NjU2NzQzMTE1OGUrMzA3KXsKICAkRVJST1IoJyMxOiAoMSooTWF0aC5wb3coMiw1MikpKihNYXRoLnBvdygyLDk3MSkpKSA9PT0gOC45ODg0NjU2NzQzMTE1OGUrMzA3LiBBY3R1YWw6ICcgKyAoKDEqKE1hdGgucG93KDIsNTIpKSooTWF0aC5wb3coMiw5NzEpKSkpKTsKfQoKLy9DSEVDSyAjMiAKaWYgKCgxKigoTWF0aC5wb3coMiw1MykpLTEpKihNYXRoLnBvdygyLDk3MSkpKSAhPT0gMS43OTc2OTMxMzQ4NjIzMTU3ZSszMDgpewogICRFUlJPUignIzI6ICgxKigoTWF0aC5wb3coMiw1MykpLTEpKihNYXRoLnBvdygyLDk3MSkpKSA9PT0gMS43OTc2OTMxMzQ4NjIzMTU3ZSszMDguIEFjdHVhbDogJyArICgoMSooKE1hdGgucG93KDIsNTMpKS0xKSooTWF0aC5wb3coMiw5NzEpKSkpKTsKfQoKLy9DSEVDSyAjMyAKaWYgKCgtMSooTWF0aC5wb3coMiw1MikpKihNYXRoLnBvdygyLDk3MSkpKSAhPT0gLTguOTg4NDY1Njc0MzExNThlKzMwNyl7CiAgJEVSUk9SKCcjMzogKC0xKihNYXRoLnBvdygyLDUyKSkqKE1hdGgucG93KDIsOTcxKSkpID09PSAtOC45ODg0NjU2NzQzMTE1OGUrMzA3LiBBY3R1YWw6ICcgKyAoKC0xKihNYXRoLnBvdygyLDUyKSkqKE1hdGgucG93KDIsOTcxKSkpKSk7Cn0KCg==","commentary":"Finite nonzero values that are Normalised having the form s*m*2**e\n where s is +1 or -1, m is a positive integer less than 2**53 but not\n less than s**52 and e is an integer ranging from -1074 to 971","description":"Finite Non zero values where e is 971","path":"TestCases/ch08/8.5/S8.5_A13_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuIG51bWJlciBhYnNvbHV0ZSB2YWx1ZSBpcyBiaWdnZXIgb2YgMioqMTAyNCBzaG91bGQgY29udmVydCB0byBJbmZpbml0eQogKgogKiBAcGF0aCBjaDA4LzguNS9TOC41X0ExNF9UMS5qcwogKiBAZGVzY3JpcHRpb24gQ3JlYXRlIG51bWJlciBiaWdnZXIgb2YgMioqMTAyNAogKi8KCi8vQ0hFQ0sgIzEgCmlmICgxZSszMDgqMiAhPT0gSW5maW5pdHkpewogICRFUlJPUignIzE6IDFlKzMwOCoyID09PSBJbmZpbml0eS4gQWN0dWFsOiAnICsgKDFlKzMwOCoyKSk7Cn0KCi8vQ0hFQ0sgIzIgCmlmICgoMSooTWF0aC5wb3coMiw1MykpKihNYXRoLnBvdygyLDk3MSkpKSAhPT0gSW5maW5pdHkpewogICRFUlJPUignIzI6ICgxKihNYXRoLnBvdygyLDUzKSkqKE1hdGgucG93KDIsOTcxKSkpID09PSBJbmZpbml0eS4gQWN0dWFsOiAnICsgKCgxKihNYXRoLnBvdygyLDUzKSkqKE1hdGgucG93KDIsOTcxKSkpKSk7Cn0KCg==","commentary":"When number absolute value is bigger of 2**1024 should convert to Infinity","description":"Create number bigger of 2**1024","path":"TestCases/ch08/8.5/S8.5_A14_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuIG51bWJlciBhYnNvbHV0ZSB2YWx1ZSBpcyBiaWdnZXIgb2YgMioqMTAyNCBzaG91bGQgY29udmVydCB0byBJbmZpbml0eQogKgogKiBAcGF0aCBjaDA4LzguNS9TOC41X0ExNF9UMi5qcwogKiBAZGVzY3JpcHRpb24gQ3JlYXRlIG51bWJlciBzbWFsbGVyIG9mIC0yKioxMDI0CiAqLwoKLy9DSEVDSyAjMSAKaWYgKC0xZSszMDgqMyAhPT0gLUluZmluaXR5KXsKICAkRVJST1IoJyMxOiAtMWUrMzA4KjMgPT09IEluZmluaXR5LiBBY3R1YWw6ICcgKyAoLTFlKzMwOCozKSk7Cn0KCi8vQ0hFQ0sgIzIgCmlmICgoLTEqKE1hdGgucG93KDIsNTMpKSooTWF0aC5wb3coMiw5NzEpKSkgIT09IC1JbmZpbml0eSl7CiAgJEVSUk9SKCcjMjogKC0xKihNYXRoLnBvdygyLDUzKSkqKE1hdGgucG93KDIsOTcxKSkpID09PSBJbmZpbml0eS4gQWN0dWFsOiAnICsgKCgtMSooTWF0aC5wb3coMiw1MykpKihNYXRoLnBvdygyLDk3MSkpKSkpOwp9Cgo=","commentary":"When number absolute value is bigger of 2**1024 should convert to Infinity","description":"Create number smaller of -2**1024","path":"TestCases/ch08/8.5/S8.5_A14_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBOdW1iZXIgdHlwZSByZXByZXNlbnRlZCBhcyB0aGUgZG91YmxlIHByZWNpc2lvbiA2NC1iaXQgZm9ybWF0IElFRUUgNzU0CiAqCiAqIEBwYXRoIGNoMDgvOC41L1M4LjVfQTIuMS5qcwogKiBAZGVzY3JpcHRpb24gVXNlIDJeNTMgKyAyIG51bWJlciBhbmQgZG8gc29tZSBvcGVyYXRpb24gd2l0aCBpdAogKi8KCnZhciB4ID0gOTAwNzE5OTI1NDc0MDk5NC4wOyAvKiAyXjUzICsgMiAqLwp2YXIgeSA9IDEuMCAtIDEvNjU1MzYuMDsKdmFyIHogPSB4ICsgeTsKdmFyIGQgPSB6IC0geDsKCmlmIChkICE9PSAwKXsKICAkRVJST1IoJyMxOiB2YXIgeCA9IDkwMDcxOTkyNTQ3NDA5OTQuMDsgdmFyIHkgPSAxLjAgLSAxLzY1NTM2LjA7IHZhciB6ID0geCArIHk7IHZhciBkID0geiAtIHg7IGQgPT09IDAuIEFjdHVhbDogJyArIChkKSk7Cn0KCg==","commentary":"Number type represented as the double precision 64-bit format IEEE 754","description":"Use 2^53 + 2 number and do some operation with it","path":"TestCases/ch08/8.5/S8.5_A2.1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBOdW1iZXIgdHlwZSByZXByZXNlbnRlZCBhcyB0aGUgZXh0ZW5kZWQgcHJlY2lzaW9uIDY0LWJpdCBmb3JtYXQgSUVFRSA3NTQKICoKICogQHBhdGggY2gwOC84LjUvUzguNV9BMi4yLmpzCiAqIEBkZXNjcmlwdGlvbiBVc2UgMl41MyArIDIgbnVtYmVyIGFuZCBkbyBzb21lIG9wZXJhdGlvbiB3aXRoIGl0CiAqLwoKdmFyIHggPSA5MDA3MTk5MjU0NzQwOTk0LjA7IC8qIDJeNTMgKyAyICovCnZhciB5ID0gMS4wIC0gMS82NTUzNi4wOwp2YXIgeiA9IHggKyB5Owp2YXIgZCA9IHogLSB4OwoKaWYgKGQgPT09IDIpewogICRFUlJPUignIzE6IHZhciB4ID0gOTAwNzE5OTI1NDc0MDk5NC4wOyB2YXIgeSA9IDEuMCAtIDEvNjU1MzYuMDsgdmFyIHogPSB4ICsgeTsgdmFyIGQgPSB6IC0geDsgZCAhPT0gMicpOwp9Cgo=","commentary":"Number type represented as the extended precision 64-bit format IEEE 754","description":"Use 2^53 + 2 number and do some operation with it","path":"TestCases/ch08/8.5/S8.5_A2.2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBOYU4gZXhwcmVzc2lvbiBoYXMgYSB0eXBlIE51bWJlcgogKgogKiBAcGF0aCBjaDA4LzguNS9TOC41X0EzLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVjayB0eXBlIG9mIE5hTgogKi8KCnZhciB4PU5hTjsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy8gQ0hFQ0sjMQppZiAodHlwZW9mKHgpICE9PSAibnVtYmVyIil7CiAgJEVSUk9SKCcjMTogdmFyIHg9TmFOOyB0eXBlb2YoeCkgPT09ICJudW1iZXIiLiBBY3R1YWw6ICcgKyAodHlwZW9mKHgpKSk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovLyBDSEVDSyMyCmlmICh0eXBlb2YoTmFOKSAhPT0gIm51bWJlciIpewogICRFUlJPUignIzI6IHR5cGVvZihOYU4pID09PSAibnVtYmVyIi4gQWN0dWFsOiAnICsgKHR5cGVvZihOYU4pKSk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"NaN expression has a type Number","description":"Check type of NaN","path":"TestCases/ch08/8.5/S8.5_A3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBOYU4gaXMgbm90IGEga2V5d29yZAogKgogKiBAcGF0aCBjaDA4LzguNS9TOC41X0E0LmpzCiAqIEBkZXNjcmlwdGlvbiBDcmVhdGUgdmFyaWFibGUgZW50aXRsZWQgTmFOCiAqLwoKdmFyIE5hTj0xLjA7Ck5hTj0nYXNkZic7Ck5hTj10cnVlOwpOYU49TnVtYmVyLk5hTjsKCg==","commentary":"NaN is not a keyword","description":"Create variable entitled NaN","path":"TestCases/ch08/8.5/S8.5_A4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBOYU4gbm90IGdyZWF0ZXIgb3IgZXF1YWwgemVybwogKgogKiBAcGF0aCBjaDA4LzguNS9TOC41X0E1LmpzCiAqIEBkZXNjcmlwdGlvbiBDb21wYXJlIE5hTiB3aXRoIHplcm8KICovCgp2YXIgeCA9IE5hTjsKdmFyIHhfZ2VxXzA9KHggPj0gMC4wKTsKdmFyIHhfbGVxXzA9KHggPD0gMC4wKTsKdmFyIHhfbGVxXzBfT1JfZ2VxXzA9KHggPD0gMC4wKXx8KHggPj0gMC4wKTsKdmFyIHhfZ2VxXzBfQUREX2xlcV8wPSh4ID49IDAuMCkgKyAoeCA8PSAwLjApOwoKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovLyBDSEVDSyMxCmlmICh4X2dlcV8wKXsKICAkRVJST1IoJyMxOiBOYU4gbm90IGdyZWF0ZXIgb3IgZXF1YWwgemVybycpOwp9IGVsc2UgewogICRQUklOVCgnIzE6IE5hTiBub3QgZ3JlYXRlciBvciBlcXVhbCB6ZXJvJyk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy8gQ0hFQ0sjMgppZiAoeF9sZXFfMCl7CiAgJEVSUk9SKCcjMjogTmFOIG5vdCBsZXNzIG9yIGVxdWFsIHplcm8nKTsKfSBlbHNlIHsKICAkUFJJTlQoJyMyOiBOYU4gbm90IGxlc3Mgb3IgZXF1YWwgemVybycpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vIENIRUNLIzMKaWYgKHhfbGVxXzBfT1JfZ2VxXzApewogICRFUlJPUignIzM6IE5hTiBub3QgbGVzcyBvciBlcXVhbCB6ZXJvIE9SIGdyZWF0ZXIgb3IgZXF1YWwgemVybycpOwp9IGVsc2UgewogICRQUklOVCgnIzM6IE5hTiBub3QgbGVzcyBvciBlcXVhbCB6ZXJvIE9SIGdyZWF0ZXIgb3IgZXF1YWwgemVybycpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vIENIRUNLIzQKaWYgKHhfZ2VxXzBfQUREX2xlcV8wKXsKICAkRVJST1IoJyM0OiBOYU4gbm90IGxlc3Mgb3IgZXF1YWwgemVybyBBREQgZ3JlYXRlciBvciBlcXVhbCB6ZXJvJyk7Cn0gZWxzZSB7CiAgJFBSSU5UKCcjNDogTmFOIG5vdCBsZXNzIG9yIGVxdWFsIHplcm8gQUREIGdyZWF0ZXIgb3IgZXF1YWwgemVybycpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"NaN not greater or equal zero","description":"Compare NaN with zero","path":"TestCases/ch08/8.5/S8.5_A5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiAtSW5maW5pdHkgZXhwcmVzc2lvbiBoYXMgYSB0eXBlIE51bWJlcgogKgogKiBAcGF0aCBjaDA4LzguNS9TOC41X0E2LmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVjayB0eXBlIG9mIC1JbmZpbml0eQogKi8KCnZhciB4PS1JbmZpbml0eTsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy8gQ0hFQ0sjMQppZiAodHlwZW9mKHgpICE9PSAibnVtYmVyIil7CiAgJEVSUk9SKCcjMTogdmFyIHg9LUluZmluaXR5OyB0eXBlb2YoeCkgPT09ICJudW1iZXIiLiBBY3R1YWw6ICcgKyAodHlwZW9mKHgpKSk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovLyBDSEVDSyMyCmlmICh0eXBlb2YoLUluZmluaXR5KSAhPT0gIm51bWJlciIpewogICRFUlJPUignIzI6IHR5cGVvZigtSW5maW5pdHkpID09PSAibnVtYmVyIi4gQWN0dWFsOiAnICsgKHR5cGVvZigtSW5maW5pdHkpKSk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"-Infinity expression has a type Number","description":"Check type of -Infinity","path":"TestCases/ch08/8.5/S8.5_A6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiArSW5maW5pdHkgZXhwcmVzc2lvbiBoYXMgYSB0eXBlIE51bWJlcgogKgogKiBAcGF0aCBjaDA4LzguNS9TOC41X0E3LmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVjayB0eXBlIG9mICtJbmZpbml0eQogKi8KCnZhciB4PStJbmZpbml0eTsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy8gQ0hFQ0sjMQppZiAodHlwZW9mKHgpICE9PSAibnVtYmVyIil7CiAgJEVSUk9SKCcjMTogdmFyIHg9K0luZmluaXR5OyB0eXBlb2YoeCkgPT09ICJudW1iZXIiLiBBY3R1YWw6ICcgKyAodHlwZW9mKHgpKSk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovLyBDSEVDSyMyCmlmICh0eXBlb2YoK0luZmluaXR5KSAhPT0gIm51bWJlciIpewogICRFUlJPUignIzI6IHR5cGVvZigrSW5maW5pdHkpID09PSAibnVtYmVyIi4gQWN0dWFsOiAnICsgKHR5cGVvZigrSW5maW5pdHkpKSk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"+Infinity expression has a type Number","description":"Check type of +Infinity","path":"TestCases/ch08/8.5/S8.5_A7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJbmZpbml0eSBpcyB0aGUgc2FtZSBhcyArSW5maW5pdHkKICoKICogQHBhdGggY2gwOC84LjUvUzguNV9BOC5qcwogKiBAZGVzY3JpcHRpb24gQ29tcGFyZSBJbmZpbml0eSBhbmQgK0luZmluaXR5CiAqLwoKdmFyIHBfaW5mPStJbmZpbml0eTsKdmFyIGluZj1JbmZpbml0eTsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy8gCmlmIChwX2luZiE9PWluZil7CiAgJEVSUk9SKCcjMTogSW5maW5pdHkgaXMgdGhlIHNhbWUgYXMgK0luZmluaXR5Jyk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"Infinity is the same as +Infinity","description":"Compare Infinity and +Infinity","path":"TestCases/ch08/8.5/S8.5_A8.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBHbG9iYWxseSBkZWZpbmVkIHZhcmlhYmxlIE5hTiBoYXMgbm90IGJlZW4gYWx0ZXJlZCBieSBwcm9ncmFtIGV4ZWN1dGlvbgogKgogKiBAcGF0aCBjaDA4LzguNS9TOC41X0E5LmpzCiAqIEBkZXNjcmlwdGlvbiBUcnkgYWx0ZXIgZ2xvYmFsbHkgZGVmaW5lZCB2YXJpYWJsZSBOYU4KICogQG5vU3RyaWN0CiAqLwoKTnVtYmVyLk5hTiA9IDE7CgppZiAoTnVtYmVyLk5hTiA9PT0gMSkgewogICRFUlJPUignIzE6IEdsb2JhbGx5IGRlZmluZWQgdmFyaWFibGUgTmFOIGhhcyBub3QgYmVlbiBhbHRlcmVkIGJ5IHByb2dyYW0gZXhlY3V0aW9uJyk7Cn0KCg==","commentary":"Globally defined variable NaN has not been altered by program execution","description":"Try alter globally defined variable NaN","noStrict":"","path":"TestCases/ch08/8.5/S8.5_A9.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBEbyBub3QgY3Jhc2ggd2l0aCBwb3N0aW5jcmVtZW50IGN1c3RvbSBwcm9wZXJ0eQogKgogKiBAcGF0aCBjaDA4LzguNi9TOC42X0EyX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBUcnkgdG8gaW1wbGVtZW50IHBvc3RpbmNyZW1lbnQgZm9yIGN1c3RvbSBwcm9wZXJ0eQogKi8KCnZhciBfX21hcD17Zm9vOiJiYXIifTsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKCl9fbWFwLmZvbysrOwppZiAoIWlzTmFOKF9fbWFwLmZvbykpIHsKICAkRVJST1IoJyMxOiB2YXIgX19tYXA9e2ZvbzoiYmFyIn07IF9fbWFwLmZvbysrOyBfX21hcC5mb28gPT09IE5vdC1hLU51bWJlci4gQWN0dWFsOiAnICsgKF9fbWFwLmZvbykpOwp9CgovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"Do not crash with postincrement custom property","description":"Try to implement postincrement for custom property","path":"TestCases/ch08/8.6/S8.6_A2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBEbyBub3QgY3Jhc2ggd2l0aCBwb3N0aW5jcmVtZW50IGN1c3RvbSBwcm9wZXJ0eQogKgogKiBAcGF0aCBjaDA4LzguNi9TOC42X0EyX1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBUcnkgdG8gaW1wbGVtZW50IHBvc3RpbmNyZW1lbnQgZm9yIG5vdCBkZWNsYXJlZCBjdXN0b20gcHJvcGVydHkKICovCgp2YXIgX19tYXA9e307CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmICghaXNOYU4oX19tYXAuZm9vKyspKSB7CiAgJEVSUk9SKCcjMTogdmFyIF9fbWFwPXt9OyBfX21hcC5mb28gPT09IE5vdC1hLU51bWJlci4gQWN0dWFsOiAnICsgKF9fbWFwLmZvbykpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMgppZiAoISgiZm9vIiBpbiBfX21hcCkpIHsKICAkRVJST1IoJyMyOiB2YXIgX19tYXA9e307ICJmb28iIGluIF9fbWFwJyk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"Do not crash with postincrement custom property","description":"Try to implement postincrement for not declared custom property","path":"TestCases/ch08/8.6/S8.6_A2_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBEbyBub3QgY3Jhc2ggd2l0aCBwZWZpeGluY3JlbWVudCBjdXN0b20gcHJvcGVydHkKICoKICogQHBhdGggY2gwOC84LjYvUzguNl9BM19UMS5qcwogKiBAZGVzY3JpcHRpb24gVHJ5IHRvIGltcGxlbWVudCBwZWZpeGluY3JlbWVudCBmb3IgY3VzdG9tIHByb3BlcnR5CiAqLwoKdmFyIF9fbWFwPXtmb286J2Jhcid9OwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQoKKytfX21hcC5mb287CmlmICghaXNOYU4oX19tYXAuZm9vKSkgewogICRFUlJPUignIzE6ICB2YXIgX19tYXA9e2ZvbzoiYmFyIn07ICsrX19tYXAuZm9vOyBfX21hcC5mb28gPT09IE5vdC1hLU51bWJlci4gQWN0dWFsOiAnICsgKF9fbWFwLmZvbykpOwp9CgovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"Do not crash with pefixincrement custom property","description":"Try to implement pefixincrement for custom property","path":"TestCases/ch08/8.6/S8.6_A3_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBEbyBub3QgY3Jhc2ggd2l0aCBwZWZpeGluY3JlbWVudCBjdXN0b20gcHJvcGVydHkKICoKICogQHBhdGggY2gwOC84LjYvUzguNl9BM19UMi5qcwogKiBAZGVzY3JpcHRpb24gVHJ5IHRvIGltcGxlbWVudCBwZWZpeGluY3JlbWVudCBmb3Igbm90IGRlY2xhcmVkIGN1c3RvbSBwcm9wZXJ0eQogKi8KCnZhciBfX21hcD17fTsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKCFpc05hTigrK19fbWFwLmZvbykpIHsKICAkRVJST1IoJyMxOiAgdmFyIF9fbWFwPXt9OyBfX21hcC5mb28rKzsgX19tYXAuZm9vID09PSBOb3QtYS1OdW1iZXIuIEFjdHVhbDogJyArIChfX21hcC5mb28pKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzIKaWYgKCEoImZvbyIgaW4gX19tYXApKSB7CiAgJEVSUk9SKCcjMjogdmFyIF9fbWFwPXt9OyAiZm9vIiBpbiBfX21hcCcpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"Do not crash with pefixincrement custom property","description":"Try to implement pefixincrement for not declared custom property","path":"TestCases/ch08/8.6/S8.6_A3_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBBbiBPYmplY3QgaXMgYW4gdW5vcmRlcmVkIGNvbGxlY3Rpb24gb2YgcHJvcGVydGllcwogKgogKiBAcGF0aCBjaDA4LzguNi9TOC42X0E0X1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBTaW1wbGUgdXNpbmcgYSBmZXcgY3VzdG9tIHByb3BlcnRpZXMKICovCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vIENIRUNLIzEKdmFyIG9iaiA9IHtiYXI6dHJ1ZSwgc29tZToxLCBmb286ImEifTsKCnZhciBjb3VudD0wOwoKZm9yIChwcm9wZXJ0eSBpbiBvYmopCWNvdW50Kys7CgppZiAoY291bnQgIT09IDMpewogICRFUlJPUignIzE6IG9iaiA9IHtiYXI6dHJ1ZSwgc29tZToxLCBmb286ImEifTsgY291bnQ9MDsgZm9yIChwcm9wZXJ0eSBpbiBvYmopIGNvdW50Kys7IGNvdW50ID09PSAzLiBBY3R1YWw6ICcgKyAoY291bnQpKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovLyBDSEVDSyMyCnZhciBvYmpfID0ge2Jhcjp0cnVlfTsKb2JqXy5zb21lID0gMTsKb2JqXy5mb28gPSAiYSI7Cgpjb3VudD0wOwoKZm9yIChwcm9wZXJ0eSBpbiBvYmpfKSBjb3VudCsrOwoKaWYgKGNvdW50ICE9PSAzKXsKICAkRVJST1IoJyMyOiBvYmpfID0ge2Jhcjp0cnVlfTsgb2JqXy5zb21lID0gMTsgb2JqXy5mb28gPSAiYSI7IGNvdW50PTA7IGZvciAocHJvcGVydHkgaW4gb2JqXykgY291bnQrKzsgY291bnQgPT09IDMuIEFjdHVhbDogJyArIChjb3VudCkpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vIENIRUNLIzMKdmFyIG9ial9fID0gbmV3IE9iamVjdCgpOwpvYmpfXy5iYXIgPSB0cnVlOwpvYmpfXy5zb21lID0gMTsKb2JqX18uZm9vID0gImEiOwoKY291bnQ9MDsKCmZvciAocHJvcGVydHkgaW4gb2JqX18pCWNvdW50Kys7CgppZiAoY291bnQgIT09IDMpewogICRFUlJPUignIzM6IG9ial9fID0gbmV3IE9iamVjdCgpOyBvYmpfXy5iYXIgPSB0cnVlOyBvYmpfXy5zb21lID0gMTsgb2JqX18uZm9vID0gImEiOyBmb3IgKHByb3BlcnR5IGluIG9ial9fKSAgY291bnQrKzsgY291bnQgPT09IDMuIEFjdHVhbDogJyArIChjb3VudCkpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"An Object is an unordered collection of properties","description":"Simple using a few custom properties","path":"TestCases/ch08/8.6/S8.6_A4_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBBIHByb3BlcnR5IGNhbiBoYXZlIGF0dHJpYnV0ZSBSZWFkT25seSBsaWtlIEUgaW4gTWF0aAogKgogKiBAcGF0aCBjaDA4LzguNi84LjYuMS9TOC42LjFfQTEuanMKICogQGRlc2NyaXB0aW9uIFRyeSBjaGFuZ2UgTWF0aC5FIHByb3BlcnR5CiAqIEBub1N0cmljdAogKi8KCnZhciBfX2UgPSBNYXRoLkU7Ck1hdGguRT0xOwppZiAoTWF0aC5FICE9PV9fZSl7CiAgJEVSUk9SKCcjMTogX19lID0gTWF0aC5FOyBNYXRoLkU9MTsgTWF0aC5FID09PV9fZScpOwp9Cgo=","commentary":"A property can have attribute ReadOnly like E in Math","description":"Try change Math.E property","noStrict":"","path":"TestCases/ch08/8.6/8.6.1/S8.6.1_A1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBBIHByb3BlcnR5IGNhbiBoYXZlIGF0dHJpYnV0ZSBEb250RW51bSBsaWtlIGFsbCBwcm9wZXJ0aWVzIG9mIE51bWJlcgogKgogKiBAcGF0aCBjaDA4LzguNi84LjYuMS9TOC42LjFfQTIuanMKICogQGRlc2NyaXB0aW9uIFRyeSB0byBlbnVtZXJhdGUgcHJvcGVydGllcyBvZiBOdW1iZXIKICovCgovL0NIRUNLIzEKdmFyIGNvdW50PTA7CmZvciAocCBpbiBOdW1iZXIpIGNvdW50Kys7CmlmIChjb3VudCA+IDApewogICRFUlJPUignIzE6IGNvdW50PTA7IGZvciAocCBpbiBOdW1iZXIpIGNvdW50Kys7IGNvdW50ID4gMC4gQWN0dWFsOiAnICsgKGNvdW50KSk7Cn0KCg==","commentary":"A property can have attribute DontEnum like all properties of Number","description":"Try to enumerate properties of Number","path":"TestCases/ch08/8.6/8.6.1/S8.6.1_A2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBBIHByb3BlcnR5IGNhbiBoYXZlIGF0dHJpYnV0ZSBEb250RGVsZXRlIGxpa2UgTmFOIHByb3BlcnRpZSBvZiBOdW1iZXIgb2JqZWN0CiAqCiAqIEBwYXRoIGNoMDgvOC42LzguNi4xL1M4LjYuMV9BMy5qcwogKiBAZGVzY3JpcHRpb24gVHJ5IHRvIGRlbGV0ZSBOdW1iZXIuTmFOCiAqIEBub1N0cmljdAogKi8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKGRlbGV0ZSBOdW1iZXIuTmFOICE9PSBmYWxzZSl7CiAgJEVSUk9SKCcjMTogZGVsZXRlIE51bWJlci5OYU4gPT09IGZhbHNlLiBBY3R1YWw6ICcgKyAoZGVsZXRlIE51bWJlci5OYU4pKTsKfTsKLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMyCmlmICh0eXBlb2YoTnVtYmVyLk5hTikgPT09ICJ1bmRlZmluZWQiKXsKICAkRVJST1IoJyMyOiBkZWxldGUgTnVtYmVyLk5hTjsgdHlwZW9mKE51bWJlci5OYU4pICE9PSAidW5kZWZpbmVkIiAnKTsKfTsKLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"A property can have attribute DontDelete like NaN propertie of Number object","description":"Try to delete Number.NaN","noStrict":"","path":"TestCases/ch08/8.6/8.6.1/S8.6.1_A3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBOYXRpdmUgRUNNQVNjcmlwdCBvYmplY3RzIGhhdmUgYW4gaW50ZXJuYWwgcHJvcGVydHkgY2FsbGVkIFtbUHJvdG90eXBlXV0uIFRoZSB2YWx1ZSBvZiB0aGlzIHByb3BlcnR5IGlzCiAqIGVpdGhlciBudWxsIG9yIGFuIG9iamVjdCBhbmQgaXMgdXNlZCBmb3IgaW1wbGVtZW50aW5nIGluaGVyaXRhbmNlCiAqCiAqIEBwYXRoIGNoMDgvOC42LzguNi4yL1M4LjYuMl9BMS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2sgW1tQcm90b3R5cGVdXSBwcm9wZXJ0eSBvZiBvYmplY3QKICovCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCnZhciBfX29iaj17fTsKaWYgKCFPYmplY3QucHJvdG90eXBlLmlzUHJvdG90eXBlT2YoX19vYmopKXsKICAkRVJST1IoJyMxOiBOYXRpdmUgRUNNQVNjcmlwdCBvYmplY3RzIGhhdmUgYW4gaW50ZXJuYWwgcHJvcGVydHkgY2FsbGVkIFtbUHJvdG90eXBlXV0uICcpOwp9OwovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vRXN0YWJsaXNoIHByb3RvIChiYXNlKSBvYmplY3QKLypmdW5jdGlvbiBQcm90b09iaigpewogIAp9OyovCnZhciBwcm90b09iaj17fTsKLy9Fc3RhYmxpc2ggZm9vIG9iamVjdApmdW5jdGlvbiBGb29PYmooKXt9OwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMgovLyBJbnZva2UgaW5zdGFuY2Ugb2YgZm9vIG9iamVjdAp2YXIgb2JqX189IG5ldyBGb29PYmo7CgppZiAoIU9iamVjdC5wcm90b3R5cGUuaXNQcm90b3R5cGVPZihvYmpfXykpewogICRFUlJPUignIzIuMTogcHJvdG9PYmo9e307IGZ1bmN0aW9uIEZvb09iaigpe307IHZhciBvYmpfXz0gbmV3IEZvb09iajsgT2JqZWN0LnByb3RvdHlwZS5pc1Byb3RvdHlwZU9mKG9ial9fKSA9PT0gdHJ1ZS4gQWN0dWFsOiAnICsgKE9iamVjdC5wcm90b3R5cGUuaXNQcm90b3R5cGVPZihvYmpfXykpKTsKfTsKCmlmICghRm9vT2JqLnByb3RvdHlwZS5pc1Byb3RvdHlwZU9mKG9ial9fKSl7CiAgJEVSUk9SKCcjMi4yOiBwcm90b09iaj17fTsgZnVuY3Rpb24gRm9vT2JqKCl7fTsgdmFyIG9ial9fPSBuZXcgRm9vT2JqOyBGb29PYmoucHJvdG90eXBlLmlzUHJvdG90eXBlT2Yob2JqX18pID09PSB0cnVlLiBBY3R1YWw6ICcgKyAoRm9vT2JqLnByb3RvdHlwZS5pc1Byb3RvdHlwZU9mKG9ial9fKSkpOwp9OwoKaWYgKHByb3RvT2JqLmlzUHJvdG90eXBlT2Yob2JqX18pKXsKICAkRVJST1IoJyMyLjM6IHByb3RvT2JqPXt9OyBmdW5jdGlvbiBGb29PYmooKXt9OyB2YXIgb2JqX189IG5ldyBGb29PYmo7IHByb3RvT2JqLmlzUHJvdG90eXBlT2Yob2JqX18pID09PSBmYWxzZS4gQWN0dWFsOiAnICsgKHByb3RvT2JqLmlzUHJvdG90eXBlT2Yob2JqX18pKSk7Cn07Ci8vIEVzdGFibGlzaCBpbmhlcml0YW5jZSBmcm9tIHByb3RvIG9iamVjdApGb29PYmoucHJvdG90eXBlPXByb3RvT2JqOwoKaWYgKHByb3RvT2JqLmlzUHJvdG90eXBlT2Yob2JqX18pKXsKICAkRVJST1IoJyMyLjQ6IHByb3RvT2JqPXt9OyBmdW5jdGlvbiBGb29PYmooKXt9OyB2YXIgb2JqX189IG5ldyBGb29PYmo7IEZvb09iai5wcm90b3R5cGU9cHJvdG9PYmo7IHByb3RvT2JqLmlzUHJvdG90eXBlT2Yob2JqX18pID09PSBmYWxzZS4gQWN0dWFsOiAnICsgKHByb3RvT2JqLmlzUHJvdG90eXBlT2Yob2JqX18pKSk7Cn07Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMwoKLy8gSW52b2tlIGluc3RhbmNlIG9mIGZvbyBvYmplY3QKdmFyIF9fZm9vPW5ldyBGb29PYmo7CgppZiAoIU9iamVjdC5wcm90b3R5cGUuaXNQcm90b3R5cGVPZihfX2ZvbykpewogICRFUlJPUignIzMuMTogcHJvdG9PYmo9e307IGZ1bmN0aW9uIEZvb09iaigpe307IHZhciBvYmpfXz0gbmV3IEZvb09iajsgRm9vT2JqLnByb3RvdHlwZT1wcm90b09iajsgdmFyIF9fZm9vPW5ldyBGb29PYmo7IE9iamVjdC5wcm90b3R5cGUuaXNQcm90b3R5cGVPZihfX2ZvbykgPT09IHRydWUuIEFjdHVhbDogJyArIChPYmplY3QucHJvdG90eXBlLmlzUHJvdG90eXBlT2YoX19mb28pKSk7Cn07CgppZiAoIUZvb09iai5wcm90b3R5cGUuaXNQcm90b3R5cGVPZihfX2ZvbykpewogICRFUlJPUignIzMuMjogcHJvdG9PYmo9e307IGZ1bmN0aW9uIEZvb09iaigpe307IHZhciBvYmpfXz0gbmV3IEZvb09iajsgRm9vT2JqLnByb3RvdHlwZT1wcm90b09iajsgdmFyIF9fZm9vPW5ldyBGb29PYmo7IEZvb09iai5wcm90b3R5cGUuaXNQcm90b3R5cGVPZihfX2ZvbykgPT09IHRydWUuIEFjdHVhbDogJyArIChGb29PYmoucHJvdG90eXBlLmlzUHJvdG90eXBlT2YoX19mb28pKSk7Cn07CgppZiAoIXByb3RvT2JqLmlzUHJvdG90eXBlT2YoX19mb28pKXsKICAkRVJST1IoJyMzLjM6IHByb3RvT2JqPXt9OyBmdW5jdGlvbiBGb29PYmooKXt9OyB2YXIgb2JqX189IG5ldyBGb29PYmo7IEZvb09iai5wcm90b3R5cGU9cHJvdG9PYmo7IHZhciBfX2Zvbz1uZXcgRm9vT2JqOyBwcm90b09iai5pc1Byb3RvdHlwZU9mKF9fZm9vKSA9PT0gdHJ1ZS4gQWN0dWFsOiAnICsgKHByb3RvT2JqLmlzUHJvdG90eXBlT2YoX19mb28pKSk7Cn07Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"Native ECMAScript objects have an internal property called [[Prototype]]. The value of this property is\neither null or an object and is used for implementing inheritance","description":"Check [[Prototype]] property of object","path":"TestCases/ch08/8.6/8.6.2/S8.6.2_A1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBQcm9wZXJ0aWVzIG9mIHRoZSBbW1Byb3RvdHlwZV1dIG9iamVjdAogKiBhcmUgdmlzaWJsZSBhcyBwcm9wZXJ0aWVzIG9mIHRoZSBjaGlsZCBvYmplY3QgZm9yIHRoZSBwdXJwb3NlcyBvZiBnZXQgYWNjZXNzLCBidXQgbm90IGZvciBwdXQgYWNjZXNzCiAqCiAqIEBwYXRoIGNoMDgvOC42LzguNi4yL1M4LjYuMl9BMi5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2sgdmlzaWJpbGl0eSBwcm9wZXJ0aWVzIG9mIHRoZSBjaGlsZCBvYmplY3QgZm9yIHRoZSBwdXJwb3NlcyBvZiBnZXQgYWNjZXNzLCBidXQgbm90IGZvciBwdXQgYWNjZXNzCiAqLwoKLy9Fc3RhYmxpc2ggZm9vIG9iamVjdApmdW5jdGlvbiBGb29PYmooKXt9OwpGb29PYmoucHJvdG90eXBlLnByb3A9InNvbWUiOwoKLy8gSW52b2tlIGluc3RhbmNlIG9mIGZvbyBvYmplY3QKdmFyIGZvbz0gbmV3IEZvb09iajsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKGZvby5wcm9wICE9PSAic29tZSIpewogICRFUlJPUignIzE6IGZ1bmN0aW9uIEZvb09iaigpe307IEZvb09iai5wcm90b3R5cGUucHJvcD0ic29tZSI7IHZhciBmb289IG5ldyBGb29PYmo7IGZvby5wcm9wID09PSAic29tZSIuIEFjdHVhbDogJyArIChmb28ucHJvcCkpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMgpmb28ucHJvcD10cnVlOwovLyBJbnZva2UgYW5vdGhlciBpbnN0YW5jZSBvZiBmb28gb2JqZWN0CnZhciBmb29fXyA9IG5ldyBGb29PYmo7CmlmIChmb29fXy5wcm9wICE9PSAic29tZSIpewogICRFUlJPUignIzI6IGZ1bmN0aW9uIEZvb09iaigpe307IEZvb09iai5wcm90b3R5cGUucHJvcD0ic29tZSI7IHZhciBmb289IG5ldyBGb29PYmo7IGZvby5wcm9wPXRydWU7IHZhciBmb29fXyA9IG5ldyBGb29PYmo7IGZvb19fLnByb3AgPT09ICJzb21lIi4gQWN0dWFsOiAnICsgKGZvb19fLnByb3ApKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"Properties of the [[Prototype]] object\nare visible as properties of the child object for the purposes of get access, but not for put access","description":"Check visibility properties of the child object for the purposes of get access, but not for put access","path":"TestCases/ch08/8.6/8.6.2/S8.6.2_A2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgc3BlY2lmaWNhdGlvbiBkb2VzIG5vdCBwcm92aWRlIGFueSBtZWFucyBmb3IgYSBwcm9ncmFtIHRvIGFjY2VzcyBbW2NsYXNzXV0gdmFsdWUgZXhjZXB0IHRocm91Z2ggT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZwogKgogKiBAcGF0aCBjaDA4LzguNi84LjYuMi9TOC42LjJfQTMuanMKICogQGRlc2NyaXB0aW9uIEdldCBbW2NsYXNzXV0gdmFsdWUgZXhjZXB0IHRocm91Z2ggT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZwogKi8KCnZhciBfX29iaj17fTsKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAoX19vYmoudG9TdHJpbmcoKSAhPT0gIltvYmplY3QgIiArICdPYmplY3QnICsgIl0iKXsKICAkRVJST1IoJyMxOiB2YXIgX19vYmo9e307IF9fb2JqLnRvU3RyaW5nKCkgPT09ICJbb2JqZWN0ICIgKyBcJ09iamVjdFwnICsgIl0iLiBBY3R1YWw6ICcgKyAoX19vYmoudG9TdHJpbmcoKSkpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"The specification does not provide any means for a program to access [[class]] value except through Object.prototype.toString","description":"Get [[class]] value except through Object.prototype.toString","path":"TestCases/ch08/8.6/8.6.2/S8.6.2_A3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBbW0hhc0luc3RhbmNlXV0gcmV0dXJucyBhIGJvb2xlYW4gdmFsdWUgaW5kaWNhdGluZyB3aGV0aGVyIFZhbHVlIGRlbGVnYXRlcyBiZWhhdmlvdXIgdG8gdGhpcyBvYmplY3QKICoKICogQHBhdGggY2gwOC84LjYvOC42LjIvUzguNi4yX0E0LmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVjayB0aGF0IHRoZSBvYmogaW5zdGFuY2Ugb2YgT2JqZWN0LCBidXQgbm90IGluc3RhbmNlCiAqICBvZiBGdW5jdGlvbiwgU3RyaW5nLCBOdW1iZXIsIEFycmF5CiAqLwoKdmFyIF9fb2JqPXt9OwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAoIShfX29iaiBpbnN0YW5jZW9mIE9iamVjdCkpIHsKICAkRVJST1IoJyMxOiB2YXIgX19vYmo9e307IChfX29iaiBpbnN0YW5jZW9mIE9iamVjdCkgPT09IHRydWUuIEFjdHVhbDogJyArICgoX19vYmogaW5zdGFuY2VvZiBPYmplY3QpKSk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMyCmlmIChfX29iaiBpbnN0YW5jZW9mIEZ1bmN0aW9uKSB7CiAgJEVSUk9SKCcjMjogdmFyIF9fb2JqPXt9OyAoX19vYmogaW5zdGFuY2VvZiBGdW5jdGlvbikgPT09IGZhbHNlLiBBY3R1YWw6ICcgKyAoKF9fb2JqIGluc3RhbmNlb2YgRnVuY3Rpb24pKSk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMzCmlmIChfX29iaiBpbnN0YW5jZW9mIFN0cmluZykgewogICRFUlJPUignIzM6IHZhciBfX29iaj17fTsgKF9fb2JqIGluc3RhbmNlb2YgU3RyaW5nKSA9PT0gZmFsc2UuIEFjdHVhbDogJyArICgoX19vYmogaW5zdGFuY2VvZiBTdHJpbmcpKSk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyM0CmlmIChfX29iaiBpbnN0YW5jZW9mIE51bWJlcikgewogICRFUlJPUignIzQ6IHZhciBfX29iaj17fTsgKF9fb2JqIGluc3RhbmNlb2YgTnVtYmVyKSA9PT0gZmFsc2UuIEFjdHVhbDogJyArICgoX19vYmogaW5zdGFuY2VvZiBOdW1iZXIpKSk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyM1CmlmIChfX29iaiBpbnN0YW5jZW9mIEFycmF5KSB7CiAgJEVSUk9SKCcjNTogdmFyIF9fb2JqPXt9OyAoX19vYmogaW5zdGFuY2VvZiBBcnJheSkgPT09IGZhbHNlLiBBY3R1YWw6ICcgKyAoKF9fb2JqIGluc3RhbmNlb2YgQXJyYXkpKSk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"[[HasInstance]] returns a boolean value indicating whether Value delegates behaviour to this object","description":"Check that the obj instance of Object, but not instance\n of Function, String, Number, Array","path":"TestCases/ch08/8.6/8.6.2/S8.6.2_A4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBbW0NhbGxdXSBleGVjdXRlcyBjb2RlIGFzc29jaWF0ZWQgd2l0aCB0aGUgb2JqZWN0CiAqCiAqIEBwYXRoIGNoMDgvOC42LzguNi4yL1M4LjYuMl9BNV9UMS5qcwogKiBAZGVzY3JpcHRpb24gQ2FsbCBmdW5jdGlvbi1wcm9wZXJ0eSBvZiBvYmplY3QsIHByb3BlcnR5IGRlZmluZWQKICogIGFzIHRlc3RTY3JlZW4gPSB7dG91Y2g6ZnVuY3Rpb24oKXtjb3VudCsrfX0KICovCgp0aGlzLmNvdW50PTA7Cgp2YXIgdGVzdFNjcmVlbiA9IHt0b3VjaDpmdW5jdGlvbigpe2NvdW50Kyt9fTsKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQp0ZXN0U2NyZWVuLnRvdWNoKCk7CmlmIChjb3VudCAhPT0xKSB7CiAgJEVSUk9SKCcjMTogdGhpcy5jb3VudD0wOyB0ZXN0U2NyZWVuID0ge3RvdWNoOmZ1bmN0aW9uKCl7Y291bnQrK319OyB0ZXN0U2NyZWVuLnRvdWNoKCk7IGNvdW50ID09PSAxLiBBY3R1YWw6ICcgKyAoY291bnQpKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzIKdGVzdFNjcmVlblsndG91Y2gnXSgpOwppZiAoY291bnQgIT09MikgewogICRFUlJPUignIzI6IHRoaXMuY291bnQ9MDsgdGVzdFNjcmVlbiA9IHt0b3VjaDpmdW5jdGlvbigpe2NvdW50Kyt9fTsgdGVzdFNjcmVlbi50b3VjaCgpOyB0ZXN0U2NyZWVuW1wndG91Y2hcJ10oKTsgY291bnQgPT09IDIuIEFjdHVhbDogJyArIChjb3VudCkpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"[[Call]] executes code associated with the object","description":"Call function-property of object, property defined\n as testScreen = {touch:function(){count++}}","path":"TestCases/ch08/8.6/8.6.2/S8.6.2_A5_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBbW0NhbGxdXSBleGVjdXRlcyBjb2RlIGFzc29jaWF0ZWQgd2l0aCB0aGUgb2JqZWN0CiAqCiAqIEBwYXRoIGNoMDgvOC42LzguNi4yL1M4LjYuMl9BNV9UMi5qcwogKiBAZGVzY3JpcHRpb24gQ2FsbCBmdW5jdGlvbi1wcm9wZXJ0eSBvZiBvYmplY3QsIHByb3BlcnR5IGRlZmluZWQKICogIGFzIHNlYXRbJ21vdmUnXT1mdW5jdGlvbigpe3Bvc2l0aW9uKyt9CiAqLwoKdGhpcy5wb3NpdGlvbj0wOwp2YXIgc2VhdCA9IHt9OwpzZWF0Wydtb3ZlJ109ZnVuY3Rpb24oKXtwb3NpdGlvbisrfTsKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQpzZWF0Lm1vdmUoKTsKaWYgKHBvc2l0aW9uICE9PTEpIHsKICAkRVJST1IoJyMxOiB0aGlzLnBvc2l0aW9uPTA7IHNlYXQgPSB7fTsgc2VhdFtcJ21vdmVcJ109ZnVuY3Rpb24oKXtwb3NpdGlvbisrfTsgc2VhdC5tb3ZlKCk7IHBvc2l0aW9uID09PSAxLiBBY3R1YWw6ICcgKyAocG9zaXRpb24pKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzIKc2VhdFsnbW92ZSddKCk7CmlmIChwb3NpdGlvbiAhPT0yKSB7CiAgJEVSUk9SKCcjMjogdGhpcy5wb3NpdGlvbj0wOyBzZWF0ID0ge307IHNlYXRbXCdtb3ZlXCddPWZ1bmN0aW9uKCl7cG9zaXRpb24rK307IHNlYXQubW92ZSgpOyBzZWF0W1wnbW92ZVwnXSgpOyBwb3NpdGlvbiA9PT0gMi4gQWN0dWFsOiAnICsgKHBvc2l0aW9uKSk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"[[Call]] executes code associated with the object","description":"Call function-property of object, property defined\n as seat['move']=function(){position++}","path":"TestCases/ch08/8.6/8.6.2/S8.6.2_A5_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBbW0NhbGxdXSBleGVjdXRlcyBjb2RlIGFzc29jaWF0ZWQgd2l0aCB0aGUgb2JqZWN0CiAqCiAqIEBwYXRoIGNoMDgvOC42LzguNi4yL1M4LjYuMl9BNV9UMy5qcwogKiBAZGVzY3JpcHRpb24gQ2FsbCBmdW5jdGlvbi1wcm9wZXJ0eSBvZiBnbG9iYWwgb2JqZWN0LCBwcm9wZXJ0eSBkZWZpbmVkCiAqICBhcyBrbm9jaz1mdW5jdGlvbigpe2NvdW50Kyt9CiAqLwoKdmFyIGNvdW50PTA7CnZhciBrbm9jaz1mdW5jdGlvbigpe2NvdW50Kyt9OwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmtub2NrKCk7CmlmIChjb3VudCAhPT0xKSB7CiAgJEVSUk9SKCcjMTogY291bnQ9MDsga25vY2s9ZnVuY3Rpb24oKXtjb3VudCsrfTsga25vY2soKTsgY291bnQgPT09IDEuIEFjdHVhbDogJyArIChjb3VudCkpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMgp0aGlzWydrbm9jayddKCk7CmlmIChjb3VudCAhPT0yKSB7CiAgJEVSUk9SKCcjMjogY291bnQ9MDsga25vY2s9ZnVuY3Rpb24oKXtjb3VudCsrfTsga25vY2soKTsgdGhpc1tcJ2tub2NrXCddKCk7IGNvdW50ID09PSAyLiBBY3R1YWw6ICcgKyAoY291bnQpKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"[[Call]] executes code associated with the object","description":"Call function-property of global object, property defined\n as knock=function(){count++}","path":"TestCases/ch08/8.6/8.6.2/S8.6.2_A5_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBbW0NhbGxdXSBleGVjdXRlcyBjb2RlIGFzc29jaWF0ZWQgd2l0aCB0aGUgb2JqZWN0CiAqCiAqIEBwYXRoIGNoMDgvOC42LzguNi4yL1M4LjYuMl9BNV9UNC5qcwogKiBAZGVzY3JpcHRpb24gQ2FsbCBmdW5jdGlvbi1wcm9wZXJ0eSBvZiBnbG9iYWwgb2JqZWN0LCBwcm9wZXJ0eSBkZWZpbmVkCiAqICBhcyB0aGlzWydiZWVwJ109ZnVuY3Rpb24oKXtfX2NvdW50Kyt9CiAqLwoKdmFyIF9fY291bnQ9MDsKCnRoaXNbImJlZXAiXT1mdW5jdGlvbigpe19fY291bnQrK307Ci8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKYmVlcCgpOwppZiAoX19jb3VudCAhPT0xKSB7CiAgJEVSUk9SKCcjMTogX19jb3VudD0wOyB0aGlzWyJiZWVwIl09ZnVuY3Rpb24oKXtfX2NvdW50Kyt9OyBiZWVwKCk7IF9fY291bnQgPT09IDEuIEFjdHVhbDogJyArIChfX2NvdW50KSk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMyCnRoaXNbImJlZXAiXSgpOwppZiAoX19jb3VudCAhPT0yKSB7CiAgJEVSUk9SKCcjMjogX19jb3VudD0wOyB0aGlzWyJiZWVwIl09ZnVuY3Rpb24oKXtfX2NvdW50Kyt9OyBiZWVwKCk7IHRoaXNbImJlZXAiXSgpOyBfX2NvdW50ID09PSAyLiBBY3R1YWw6ICcgKyAoX19jb3VudCkpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"[[Call]] executes code associated with the object","description":"Call function-property of global object, property defined\n as this['beep']=function(){__count++}","path":"TestCases/ch08/8.6/8.6.2/S8.6.2_A5_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBbW0NvbnN0cnVjdF1dIGNvbnN0cnVjdHMgYW4gb2JqZWN0LiBJbnZva2VkIHZpYSB0aGUgbmV3IG9wZXJhdG9yLiBPYmplY3RzIHRoYXQgaW1wbGVtZW50IHRoaXMgaW50ZXJuYWwgbWV0aG9kIGFyZSBjYWxsZWQgY29uc3RydWN0b3JzCiAqCiAqIEBwYXRoIGNoMDgvOC42LzguNi4yL1M4LjYuMl9BNi5qcwogKiBAZGVzY3JpcHRpb24gQ3JlYXRlIGEgZmV3IE9iamVjdHMgdmlhIHRoZSBuZXcgb3BlcmF0b3IKICovCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCnZhciBvYmpJbnN0YW5jZT1uZXcgT2JqZWN0OwppZiAob2JqSW5zdGFuY2UuY29uc3RydWN0b3IgIT09IE9iamVjdCl7CiAgJEVSUk9SKCcjMTogdmFyIG9iakluc3RhbmNlPW5ldyBPYmplY3Q7IG9iakluc3RhbmNlLmNvbnN0cnVjdG9yID09PSBPYmplY3QuIEFjdHVhbDogJyArIChvYmpJbnN0YW5jZS5jb25zdHJ1Y3RvcikpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMgp2YXIgbnVtSW5zdGFuY2U9bmV3IE51bWJlcjsKaWYgKG51bUluc3RhbmNlLmNvbnN0cnVjdG9yICE9PSBOdW1iZXIpewogICRFUlJPUignIzI6IHZhciBudW1JbnN0YW5jZT1uZXcgTnVtYmVyOyBudW1JbnN0YW5jZS5jb25zdHJ1Y3RvciA9PT0gTnVtYmVyLiBBY3R1YWw6ICcgKyAobnVtSW5zdGFuY2UuY29uc3RydWN0b3IpKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"[[Construct]] constructs an object. Invoked via the new operator. Objects that implement this internal method are called constructors","description":"Create a few Objects via the new operator","path":"TestCases/ch08/8.6/8.6.2/S8.6.2_A6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPYmplY3RzIHRoYXQgaW1wbGVtZW50IGludGVybmFsIG1ldGhvZCBbW0NvbnN0cnVjdF1dIGFyZSBjYWxsZWQgY29uc3RydWN0b3JzLiBNYXRoIG9iamVjdCBpcyBOT1QgY29uc3RydWN0b3IKICoKICogQHBhdGggY2gwOC84LjYvOC42LjIvUzguNi4yX0E3LmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiBleGVjdXRpb24gb2YgInZhciBvYmpNYXRoPW5ldyBNYXRoIiBwYXNzZXMKICogQG5lZ2F0aXZlCiAqLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQp2YXIgb2JqTWF0aD1uZXcgTWF0aDsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"Objects that implement internal method [[Construct]] are called constructors. Math object is NOT constructor","description":"Checking if execution of \"var objMath=new Math\" passes","negative":"","path":"TestCases/ch08/8.6/8.6.2/S8.6.2_A7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMTEgR29vZ2xlIEluYy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBAcGF0aCBjaDA4LzguNi84LjYuMi9TOC42LjJfQTguanMKICogQGRlc2NyaXB0aW9uIEl0IHNob3VsZCBub3QgYmUgcG9zc2libGUgdG8gY2hhbmdlIHRoZSBbW1Byb3RvdHlwZV1dCiAqIG9mIGEgbm9uLWV4dGVuc2libGUgb2JqZWN0CiAqLwoKdmFyIHggPSBPYmplY3QucHJldmVudEV4dGVuc2lvbnMoe30pOwp2YXIgeSA9IHt9Owp0cnkgewogIHguX19wcm90b19fID0geTsKfSBjYXRjaCAoZXJyKSB7CiAgLy8gQXMgZmFyIGFzIHRoaXMgdGVzdCBpcyBjb25jZXJuZWQsIHdlIGFsbG93IHRoZSBhYm92ZSBhc3NpZ25tZW50CiAgLy8gdG8gZmFpbC4gVGhpcyBmYWlsdXJlIGRvZXMgdmlvbGF0ZSB0aGUgc3BlYyBhbmQgc2hvdWxkIHByb2JhYmx5CiAgLy8gYmUgdGVzdGVkIHNlcGFyYXRlbHkuCn0KaWYgKE9iamVjdC5nZXRQcm90b3R5cGVPZih4KSAhPT0gT2JqZWN0LnByb3RvdHlwZSkgewogICRFUlJPUigiUHJvdG90eXBlIG9mIG5vbi1leHRlbnNpYmxlIG9iamVjdCBtdXRhdGVkIik7Cn0KCg==","commentary":"","description":"It should not be possible to change the [[Prototype]]\nof a non-extensible object","path":"TestCases/ch08/8.6/8.6.2/S8.6.2_A8.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBEZWxldGUgb3BlcmF0b3IgZGVsZXRlcyBwdXJlIHByb3BlcnR5LCBzbyBpdCByZXR1cm5zIHRydWUgdG8gYmUgYXBwbHllZCB0byB0aGlzLnByb3BlcnR5CiAqCiAqIEBwYXRoIGNoMDgvOC43L1M4LjcuMV9BMS5qcwogKiBAZGVzY3JpcHRpb24gVHJ5IHRvIGRlbGV0ZSB0aGlzLnksIHdoZXJlIHkgaXMgdGhpcy55PTEKICovCgp0aGlzLnkgPSAxOwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmKChkZWxldGUgdGhpcy55KSAhPT0gdHJ1ZSl7CiAgJEVSUk9SKCcjMTogdGhpcy55ID0gMTsgKGRlbGV0ZSB0aGlzLnkpID09PSB0cnVlLiBBY3R1YWw6ICcgKyAoKGRlbGV0ZSB0aGlzLnkpKSk7Cn07Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzIKaWYgKHRoaXMueSAhPT0gdW5kZWZpbmVkKXsKICAkRVJST1IoJyMyOiB0aGlzLnkgPSAxOyAoZGVsZXRlIHRoaXMueSkgPT09IHRydWU7IHRoaXMueSA9PT0gdW5kZWZpbmVkLiBBY3R1YWw6ICcgKyAodGhpcy55KSk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"Delete operator deletes pure property, so it returns true to be applyed to this.property","description":"Try to delete this.y, where y is this.y=1","path":"TestCases/ch08/8.7/S8.7.1_A1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBEZWxldGUgb3BlcmF0b3IgY2FuJ3QgZGVsZXRlIHJlZmVyZW5jZSwgc28gaXQgcmV0dXJucyBmYWxzZSB0byBiZSBhcHBseWVkIHRvIHJlZmVyZW5jZQogKgogKiBAcGF0aCBjaDA4LzguNy9TOC43LjFfQTIuanMKICogQGRlc2NyaXB0aW9uIFRyeSB0byBkZWxldGUgeSwgd2hlcmUgeSBpcyB2YXIgeT0xCiAqIEBub1N0cmljdAogKi8KCnZhciB5ID0gMTsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYoZGVsZXRlIHkpewogICRFUlJPUignIzE6IHkgPSAxOyAoZGVsZXRlIHkpID09PSBmYWxzZS4gQWN0dWFsOiAnICsgKChkZWxldGUgeSkpKTsKfTsKLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMyCmlmICh5ICE9PSAxKSB7CiAgJEVSUk9SKCcjMjogeSA9IDE7IGRlbGV0ZSB5OyB5ID09PSAxLiBBY3R1YWw6ICcgKyAoeSkpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"Delete operator can't delete reference, so it returns false to be applyed to reference","description":"Try to delete y, where y is var y=1","noStrict":"","path":"TestCases/ch08/8.7/S8.7.1_A2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBHZXRWYWx1ZShWKSBtYXN0IGZhaWwKICoKICogQHBhdGggY2gwOC84LjcvUzguNy4yX0ExX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiBleGVjdXRpb24gb2YgIidsaXRlcmEnPTE7IiBmYWlscwogKiBAbmVnYXRpdmUKICovCgonbGl0ZXJhJz0xOwoK","commentary":"GetValue(V) mast fail","description":"Checking if execution of \"'litera'=1;\" fails","negative":"","path":"TestCases/ch08/8.7/S8.7.2_A1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBHZXRWYWx1ZShWKSBtYXN0IGZhaWwKICoKICogQHBhdGggY2gwOC84LjcvUzguNy4yX0ExX1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiBleGVjdXRpb24gb2YgIjE9MSIgZmFpbHMKICogQG5lZ2F0aXZlCiAqLwoKMT0xOwoK","commentary":"GetValue(V) mast fail","description":"Checking if execution of \"1=1\" fails","negative":"","path":"TestCases/ch08/8.7/S8.7.2_A1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiB4KysgY2FsbHMgR2V0VmFsdWUgdGhlbiBQdXRWYWx1ZSBzbyBhZnRlciBhcHBseWluZyBwb3N0Zml4IGluY3JlbWVudChhY3R1YWxseSBjb25yZXRlIG9wZXJhdG9yIHR5cGUgaXMgdW5pbXBvcnRhbnQpCiAqIHdlIG11c3QgaGF2ZSByZWZlcmVuY2UgdG8gZGVmaW5lZCB2YWx1ZQogKgogKiBAcGF0aCBjaDA4LzguNy9TOC43LjJfQTIuanMKICogQGRlc2NyaXB0aW9uIEV4ZWN1dGUgeCsrLCB3aGVyZSB4IGlzIHZhciB4CiAqLwoKdmFyIHg7Ci8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKHggIT09IHVuZGVmaW5lZCkgewogICRFUlJPUignIzE6IHZhciB4OyB4ID09PSB1bmRlZmluZWQuIEFjdHVhbDogJyArICh4KSk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCngrKzsKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMgppZiAoeCA9PT0gdW5kZWZpbmVkKSB7CiAgJEVSUk9SKCcjMjogdmFyIHg7IHgrKzsgeCAhPT0gdW5kZWZpbmVkJyk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"x++ calls GetValue then PutValue so after applying postfix increment(actually conrete operator type is unimportant)\nwe must have reference to defined value","description":"Execute x++, where x is var x","path":"TestCases/ch08/8.7/S8.7.2_A2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiB0aGlzLngrKyBjYWxscyBHZXRWYWx1ZSB0aGVuIFB1dFZhbHVlIHNvIGFmdGVyIGFwcGx5aW5nIHBvc3RmaXggaW5jcmVtZW50KGFjdHVhbGx5IGNvbnJldGUgb3BlcmF0b3IgdHlwZSBpcyB1bmltcG9ydGFuKQogKiB3ZSBtdXN0IGhhdmUgcmVmZXJlbmNlIHRvIGRlZmluZWQgdmFsdWUKICoKICogQHBhdGggY2gwOC84LjcvUzguNy4yX0EzLmpzCiAqIEBkZXNjcmlwdGlvbiBFeGVjdXRlIHRoaXMueCsrLCB3aGVyZSB0aGlzLnggaXMgdW5kZWZpbmVkCiAqLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAodGhpcy54ICE9PSB1bmRlZmluZWQpIHsKICAkRVJST1IoJyMxOiB0aGlzLnggPT09IHVuZGVmaW5lZC4gQWN0dWFsOiAnICsgKHRoaXMueCkpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwp0aGlzLngrKzsKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMgppZiAoeCA9PT0gdW5kZWZpbmVkKSB7CiAgJEVSUk9SKCcjMjogdGhpcy54OyB0aGlzLngrKzsgeCAhPT0gdW5kZWZpbmVkJyk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"this.x++ calls GetValue then PutValue so after applying postfix increment(actually conrete operator type is unimportan)\nwe must have reference to defined value","description":"Execute this.x++, where this.x is undefined","path":"TestCases/ch08/8.7/S8.7.2_A3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBNdWx0aXBsZSBWYXJpYWJsZXMgc2hvdWxkIFJlZmVycmluZyB0byBhIFNpbmdsZSBPYmplY3QKICoKICogQHBhdGggY2gwOC84LjcvUzguN19BMS5qcwogKiBAZGVzY3JpcHRpb24gQ3JlYXRlIG9iamVjdCBhbmQgcmVmZXJzIHRvIHRoZSBvdGhlciBvYmplY3QsIG1vZGlmeSBhIHByb3BlcnR5IGluIHRoZSBvcmlnaW5hbCBvYmplY3QuCiAqICBXZSBub3cgc2VlIHRoYXQgdGhhdCBjaGFuZ2UgaXMgcmVwcmVzZW50ZWQgaW4gYm90aCB2YXJpYWJsZXMKICovCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMKLy8gU2V0IG9iaiB0byBhbiBlbXB0eSBvYmplY3QKLy8KdmFyIG9iaiA9IG5ldyBPYmplY3QoKTsKLy8gb2JqUmVmIG5vdyByZWZlcnMgdG8gdGhlIG90aGVyIG9iamVjdAovLwp2YXIgb2JqUmVmID0gb2JqOwovLyBNb2RpZnkgYSBwcm9wZXJ0eSBpbiB0aGUgb3JpZ2luYWwgb2JqZWN0Cm9ialJlZi5vbmVQcm9wZXJ0eSA9IC0xOwpvYmoub25lUHJvcGVydHkgPSB0cnVlOwovLyBXZSBub3cgc2VlIHRoYXQgdGhhdCBjaGFuZ2UgaXMgcmVwcmVzZW50ZWQgaW4gYm90aCB2YXJpYWJsZXMKLy8gKFNpbmNlIHRoZXkgYm90aCByZWZlciB0byB0aGUgc2FtZSBvYmplY3QpCmlmKG9ialJlZi5vbmVQcm9wZXJ0eSAhPT0gdHJ1ZSl7CiAgJEVSUk9SKCcjMTogdmFyIG9iaiA9IG5ldyBPYmplY3QoKTsgdmFyIG9ialJlZiA9IG9iajsgb2JqUmVmLm9uZVByb3BlcnR5ID0gLTE7IG9iai5vbmVQcm9wZXJ0eSA9IHRydWU7IG9ialJlZi5vbmVQcm9wZXJ0eSA9PT0gdHJ1ZS4gQWN0dWFsOiAnICsgKG9ialJlZi5vbmVQcm9wZXJ0eSkpOwp9OwovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"Multiple Variables should Referring to a Single Object","description":"Create object and refers to the other object, modify a property in the original object.\n We now see that that change is represented in both variables","path":"TestCases/ch08/8.7/S8.7_A1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBSZWZlcmVuY2UgdG8gU2VsZi1Nb2RpZnlpbmcgT2JqZWN0IHJlbWFpbiB0aGUgaW50ZWdyaXR5CiAqCiAqIEBwYXRoIGNoMDgvOC43L1M4LjdfQTIuanMKICogQGRlc2NyaXB0aW9uIENyZWF0ZSBhIHJlZmVyZW5jZSB0byB0aGUgYXJyYXksIGFuZCBjaGFuZ2Ugb3JpZ2luYWwgYXJyYXkKICovCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCi8vIENyZWF0ZSBhbiBhcnJheSBvZiBpdGVtcwp2YXIgaXRlbXMgPSBuZXcgQXJyYXkoICJvbmUiLCAidHdvIiwgInRocmVlIiApOwovLyBDcmVhdGUgYSByZWZlcmVuY2UgdG8gdGhlIGFycmF5IG9mIGl0ZW1zCnZhciBpdGVtc1JlZiA9IGl0ZW1zOwovLyBBZGQgYW4gaXRlbSB0byB0aGUgb3JpZ2luYWwgYXJyYXkKaXRlbXMucHVzaCggImZvdXIiICk7dmFyIGl0ZW1zUmVmID0gaXRlbXM7Ci8vIFRoZSBsZW5ndGggb2YgZWFjaCBhcnJheSBzaG91bGQgYmUgdGhlIHNhbWUsCi8vIHNpbmNlIHRoZXkgYm90aCBwb2ludCB0byB0aGUgc2FtZSBhcnJheSBvYmplY3QKaWYoIGl0ZW1zUmVmLmxlbmd0aCAhPT0gNCl7CiAgJEVSUk9SKCcjMTogdmFyIGl0ZW1zID0gbmV3IEFycmF5KCAib25lIiwgInR3byIsICJ0aHJlZSIgKTsgdmFyIGl0ZW1zUmVmID0gaXRlbXM7IGl0ZW1zLnB1c2goICJmb3VyIiApO3ZhciBpdGVtc1JlZiA9IGl0ZW1zOyBpdGVtc1JlZi5sZW5ndGggIT09IDQnKTsKfTsKLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMKLy8gQ3JlYXRlIGFuIGFycmF5IG9mIGl0ZW1zCnZhciBpdGVtcyA9IG5ldyBBcnJheSggIm9uZSIsICJ0d28iLCAidGhyZWUiICk7Ci8vIENyZWF0ZSBhIHJlZmVyZW5jZSB0byB0aGUgYXJyYXkgb2YgaXRlbXMKdmFyIGl0ZW1zUmVmID0gaXRlbXM7Ci8vIEFkZCBhbiBpdGVtIHRvIHRoZSBvcmlnaW5hbCBhcnJheQppdGVtc1sxXT0iZHVvIjsKLy8gVGhlIGxlbmd0aCBvZiBlYWNoIGFycmF5IHNob3VsZCBiZSB0aGUgc2FtZSwKLy8gc2luY2UgdGhleSBib3RoIHBvaW50IHRvIHRoZSBzYW1lIGFycmF5IG9iamVjdAppZiggaXRlbXNSZWZbMV0gIT09ICJkdW8iKXsKICAkRVJST1IoJyMyOiB2YXIgaXRlbXMgPSBuZXcgQXJyYXkoICJvbmUiLCAidHdvIiwgInRocmVlIiApOyB2YXIgaXRlbXNSZWYgPSBpdGVtczsgaXRlbXNbMV09ImR1byI7IGl0ZW1zUmVmWzFdID09PSAiZHVvIi4gQWN0dWFsOiAnICsgKGl0ZW1zUmVmWzFdKSk7Cn07Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"Reference to Self-Modifying Object remain the integrity","description":"Create a reference to the array, and change original array","path":"TestCases/ch08/8.7/S8.7_A2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBDaGFuZ2luZyB0aGUgUmVmZXJlbmNlIG9mIGFuIE9iamVjdCBXaGlsZSBNYWludGFpbmluZyBJbnRlZ3JpdHkKICoKICogQHBhdGggY2gwOC84LjcvUzguN19BMy5qcwogKiBAZGVzY3JpcHRpb24gQ3JlYXRlIGEgcmVmZXJlbmNlIHRvIHRoZSBhcnJheSwgYW5kIHJlZGVmaW5lIG9yaWdpbmFsIGFycmF5IHdpdGggbmV3IGFycmF5CiAqLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjCi8vIFNldCBpdGVtcyB0byBhbiBhcnJheSAob2JqZWN0KSBvZiBzdHJpbmdzCnZhciBpdGVtcyA9IG5ldyBBcnJheSggIm9uZSIsICJ0d28iLCAidGhyZWUiICk7Ci8vIFNldCBpdGVtc1JlZiB0byBhIHJlZmVyZW5jZSB0byBpdGVtcwovLwp2YXIgaXRlbXNSZWYgPSBpdGVtczsKLy8gU2V0IGl0ZW1zIHRvIGVxdWFsIGEgbmV3IG9iamVjdAovLwppdGVtcyA9IG5ldyBBcnJheSggIm5ldyIsICJhcnJheSIgKTsKLy8gaXRlbXMgYW5kIGl0ZW1zUmVmIG5vdyBwb2ludCB0byBkaWZmZXJlbnQgb2JqZWN0cy4KLy8gaXRlbXMgcG9pbnRzIHRvIG5ldyBBcnJheSggIm5ldyIsICJhcnJheSIgKQovLyBpdGVtc1JlZiBwb2ludHMgdG8gbmV3IEFycmF5KCAib25lIiwgInR3byIsICJ0aHJlZSIgKQppZiggaXRlbXMgPT0gaXRlbXNSZWYgKXsKICAkRVJST1IoJyMxOiB2YXIgaXRlbXMgPSBuZXcgQXJyYXkoICJvbmUiLCAidHdvIiwgInRocmVlIiApOyB2YXIgaXRlbXNSZWYgPSBpdGVtczsgaXRlbXMgPSBuZXcgQXJyYXkoICJuZXciLCAiYXJyYXkiICk7IGl0ZW1zICE9IGl0ZW1zUmVmJyk7Cn07Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"Changing the Reference of an Object While Maintaining Integrity","description":"Create a reference to the array, and redefine original array with new array","path":"TestCases/ch08/8.7/S8.7_A3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPYmplY3QgTW9kaWZpY2F0aW9uIFJlc3VsdGluZyBpbiBhIE5ldyBPYmplY3QgZm9yIE5vdCBhIFNlbGYtTW9kaWZpZWQgT2JqZWN0IGxlYWRzIHRvIGxvc3Mgb2YgaW50ZWdyaXR5CiAqCiAqIEBwYXRoIGNoMDgvOC43L1M4LjdfQTQuanMKICogQGRlc2NyaXB0aW9uIENyZWF0ZSBhIHJlZmVyZW5jZSB0byB0aGUgc3RyaW5nLCBhbmQgQ29uY2F0ZW5hdGUgc29tZSBuZXcgdGV4dCBvbnRvIHRoZSBzdHJpbmcgb2JqZWN0CiAqLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjCi8vIFNldCBpdGVtIGVxdWFsIHRvIGEgbmV3IHN0cmluZyBvYmplY3QKdmFyIGl0ZW0gPSBuZXcgU3RyaW5nKCJ0ZXN0Iik7Ci8vIGl0ZW1SZWYgbm93IHJlZmVycyB0byB0aGUgc2FtZSBzdHJpbmcgb2JqZWN0CnZhciBpdGVtUmVmID0gaXRlbTsKLy8gQ29uY2F0ZW5hdGUgc29tZSBuZXcgdGV4dCBvbnRvIHRoZSBzdHJpbmcgb2JqZWN0Ci8vIE5PVEU6IFRoaXMgY3JlYXRlcyBhIG5ldyBvYmplY3QsIGFuZCBkb2VzIG5vdCBtb2RpZnkKLy8gdGhlIG9yaWdpbmFsIG9iamVjdC4KaXRlbSArPSAiaW5nIjsKLy8gVGhlIHZhbHVlcyBvZiBpdGVtIGFuZCBpdGVtUmVmIGFyZSBOT1QgZXF1YWwsIGFzIGEgd2hvbGUKLy8gbmV3IHN0cmluZyBvYmplY3QgaGFzIGJlZW4gY3JlYXRlZAppZiggaXRlbSA9PSBpdGVtUmVmICl7CiAgJEVSUk9SKCcjMTogdmFyIGl0ZW0gPSBuZXcgU3RyaW5nKCJ0ZXN0Iik7IHZhciBpdGVtUmVmID0gaXRlbTsgaXRlbSArPSAiaW5nIjsgaXRlbSAhPSBpdGVtUmVmJyk7Cn07Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"Object Modification Resulting in a New Object for Not a Self-Modified Object leads to loss of integrity","description":"Create a reference to the string, and Concatenate some new text onto the string object","path":"TestCases/ch08/8.7/S8.7_A4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBEZWxldGUgdW5hcnkgb3BlcmF0b3IgY2FuJ3QgZGVsZXRlIG9iamVjdCB0byBiZSByZWZlcmVuY2VkCiAqCiAqIEBwYXRoIGNoMDgvOC43L1M4LjdfQTVfVDEuanMKICogQGRlc2NyaXB0aW9uIERlbGV0ZSByZWZlcmVuY2VkIG9iamVjdCwgdmFyIF9fcmVmID0gb2JqCiAqIEBub1N0cmljdAogKi8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKHR5cGVvZihfX3JlZikgIT09ICJ1bmRlZmluZWQiKXsKICAgICRFUlJPUignIzE6IHR5cGVvZihfX3JlZikgPT09ICJ1bmRlZmluZWQiLiBBY3R1YWw6ICcgKyAodHlwZW9mKF9fcmVmKSkpOyAgCn07IAovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCnZhciBvYmogPSBuZXcgT2JqZWN0KCk7CnZhciBfX3JlZiA9IG9iajsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzIKaWYgKHR5cGVvZihfX3JlZikgPT09ICJ1bmRlZmluZWQiKXsKICAgICRFUlJPUignIzI6IG9iaiA9IG5ldyBPYmplY3QoKTsgdmFyIF9fcmVmID0gb2JqOyB0eXBlb2YoX19yZWYpICE9PSAidW5kZWZpbmVkIicpOwp9OyAKLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMzCmlmIChkZWxldGUgX19yZWYgIT09IGZhbHNlKXsKICAgICRFUlJPUignIzM6IG9iaiA9IG5ldyBPYmplY3QoKTsgdmFyIF9fcmVmID0gb2JqOyBkZWxldGUgX19yZWYgPT09IGZhbHNlLiBBY3R1YWw6ICcgKyAoZGVsZXRlIF9fcmVmKSk7Cn07Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjNAppZiAodHlwZW9mKF9fcmVmKSAhPT0gIm9iamVjdCIpewogICAgJEVSUk9SKCcjNDogb2JqID0gbmV3IE9iamVjdCgpOyB2YXIgX19yZWYgPSBvYmo7IGRlbGV0ZSBfX3JlZjsgdHlwZW9mKF9fcmVmKSA9PT0gIm9iamVjdCIuIEFjdHVhbDogJyArICh0eXBlb2YoX19yZWYpKSk7Cn07Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjNQppZiAodHlwZW9mKG9iaikgIT09ICJvYmplY3QiKXsKICAgICRFUlJPUignIzU6IG9iaiA9IG5ldyBPYmplY3QoKTsgdmFyIF9fcmVmID0gb2JqOyBkZWxldGUgX19yZWY7IHR5cGVvZihvYmopID09PSAib2JqZWN0Ii4gQWN0dWFsOiAnICsgKHR5cGVvZihvYmopKSk7Cn07Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"Delete unary operator can't delete object to be referenced","description":"Delete referenced object, var __ref = obj","noStrict":"","path":"TestCases/ch08/8.7/S8.7_A5_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBEZWxldGUgdW5hcnkgb3BlcmF0b3IgY2FuJ3QgZGVsZXRlIG9iamVjdCB0byBiZSByZWZlcmVuY2VkCiAqCiAqIEBwYXRoIGNoMDgvOC43L1M4LjdfQTVfVDIuanMKICogQGRlc2NyaXB0aW9uIERlbGV0ZSByZWZlcmVuY2VkIG9iamVjdCwgX19yZWYgPSBvYmoKICogQG5vU3RyaWN0CiAqLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAodHlwZW9mKF9fcmVmKSAhPT0gInVuZGVmaW5lZCIpewogICAgJEVSUk9SKCcjMTogdHlwZW9mKF9fcmVmKSA9PT0gInVuZGVmaW5lZCIuIEFjdHVhbDogJyArICh0eXBlb2YoX19yZWYpKSk7ICAKfTsgCi8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKdmFyIG9iaiA9IG5ldyBPYmplY3QoKTsKX19yZWYgPSBvYmo7CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMyCmlmICh0eXBlb2YoX19yZWYpID09PSAidW5kZWZpbmVkIil7CiAgICAkRVJST1IoJyMyOiBvYmogPSBuZXcgT2JqZWN0KCk7IF9fcmVmID0gb2JqOyB0eXBlb2YoX19yZWYpICE9PSAidW5kZWZpbmVkIicpOwp9OyAKLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMzCmlmIChkZWxldGUgX19yZWYgIT09IHRydWUpewogICAgJEVSUk9SKCcjMzogb2JqID0gbmV3IE9iamVjdCgpOyBfX3JlZiA9IG9iajsgZGVsZXRlIF9fcmVmID09PSB0cnVlLiBBY3R1YWw6ICcgKyAoZGVsZXRlIF9fcmVmKSk7Cn07Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjNAppZiAodHlwZW9mKF9fcmVmKSAhPT0gInVuZGVmaW5lZCIpewogICAgJEVSUk9SKCcjNDogb2JqID0gbmV3IE9iamVjdCgpOyBfX3JlZiA9IG9iajsgZGVsZXRlIF9fcmVmOyB0eXBlb2YoX19yZWYpID09PSAidW5kZWZpbmVkIi4gQWN0dWFsOiAnICsgKHR5cGVvZihfX3JlZikpKTsKfTsKLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyM1CmlmICh0eXBlb2Yob2JqKSAhPT0gIm9iamVjdCIpewogICAgJEVSUk9SKCcjNTogb2JqID0gbmV3IE9iamVjdCgpOyBfX3JlZiA9IG9iajsgZGVsZXRlIF9fcmVmOyB0eXBlb2Yob2JqKSA9PT0gIm9iamVjdCIuIEFjdHVhbDogJyArICh0eXBlb2Yob2JqKSkpOwp9OwovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"Delete unary operator can't delete object to be referenced","description":"Delete referenced object, __ref = obj","noStrict":"","path":"TestCases/ch08/8.7/S8.7_A5_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBQYXNzaW5nIGFyZ3VtZW50cyBieSB2YWx1ZSBkaWZmZXJzIGZyb20gYnkgcmVmZXJlbmNlIGFuZCBkbyBub3QgY2hhbmdlIHZhbHVlcyB0byBiZSBwYXNzZWQKICoKICogQHBhdGggY2gwOC84LjcvUzguN19BNi5qcwogKiBAZGVzY3JpcHRpb24gQWRkaW5nIG9yaWdpbmFsIHZhcmlhYmxlIHdpdGggcmVmZXJlbmNlZCBvbmUgaW5zaWRlIGZ1bmN0aW9uCiAqLwoKdmFyIG4gPSAxOwp2YXIgbSA9IG47CgpmdW5jdGlvbiBhZGRGaXJzdDJTZWNvbmQoZmlyc3QsIHNlY29uZCl7Zmlyc3QgKz0gc2Vjb25kO30KCmFkZEZpcnN0MlNlY29uZChuLCBtKTsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKG0gIT09IDEpIHsKICAkRVJST1IoJyMxOiB2YXIgbiA9IDE7IHZhciBtID0gbjsgZnVuY3Rpb24gYWRkRmlyc3QyU2Vjb25kKGZpcnN0LCBzZWNvbmQpe2ZpcnN0ICs9IHNlY29uZDt9IGFkZEZpcnN0MlNlY29uZChuLCBtKTsgbSA9PT0gMS4gQWN0dWFsOiAnICsgKG0pKTsKfQoKLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgoK","commentary":"Passing arguments by value differs from by reference and do not change values to be passed","description":"Adding original variable with referenced one inside function","path":"TestCases/ch08/8.7/S8.7_A6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBQYXNzaW5nIGFyZ3VtZW50cyBieSByZWZlcmVuY2UgZG8gY2hhbmdlIHZhbHVlcyBvZiByZWZlcmVuY2UgdG8gYmUgcGFzc2VkCiAqCiAqIEBwYXRoIGNoMDgvOC43L1M4LjdfQTcuanMKICogQGRlc2NyaXB0aW9uIEFkZCBuZXcgcHJvcGVydHkgdG8gb3JpZ2luYWwgdmFyaWFibGUgaW5zaWRlIGZ1bmN0aW9uCiAqLwoKdmFyIG4gPSB7fTsKdmFyIG0gPSBuOwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAodHlwZW9mIG0gIT09ICJvYmplY3QiKSB7CiAgJEVSUk9SKCcjMTogdmFyIG4gPSB7fTsgdmFyIG0gPSBuOyB0eXBlb2YgbSA9PT0gIm9iamVjdCIuIEFjdHVhbDogJyArICh0eXBlb2YgbSkpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKZnVuY3Rpb24gcG9wdWxhdGVBZ2UocGVyc29uKXtwZXJzb24uYWdlID0gNTA7fQoKcG9wdWxhdGVBZ2UobSk7CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMyCmlmIChuLmFnZSAhPT0gNTApIHsKICAkRVJST1IoJyMyOiB2YXIgbiA9IHt9OyB2YXIgbSA9IG47IGZ1bmN0aW9uIHBvcHVsYXRlQWdlKHBlcnNvbil7cGVyc29uLmFnZSA9IDUwO30gcG9wdWxhdGVBZ2UobSk7IG4uYWdlID09PSA1MC4gQWN0dWFsOiAnICsgKG4uYWdlKSk7Cn0KCi8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKCg==","commentary":"Passing arguments by reference do change values of reference to be passed","description":"Add new property to original variable inside function","path":"TestCases/ch08/8.7/S8.7_A7.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gwOC84LjcvOC43LjIvOC43LjItMS1zLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IE1vZGUgLSBSZWZlcmVuY2VFcnJvciBpcyB0aHJvd24gaWYgTGVmdEhhbmRTaWRlIGV2YWx1YXRlcyB0byBhbiB1bnJlc29sdmFibGUgUmVmZXJlbmNlDQogKiBAb25seVN0cmljdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgICJ1c2Ugc3RyaWN0IjsNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIGV2YWwoIl84XzdfMl8xID0gMTE7Iik7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiBlIGluc3RhbmNlb2YgUmVmZXJlbmNlRXJyb3I7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Strict Mode - ReferenceError is thrown if LeftHandSide evaluates to an unresolvable Reference","onlyStrict":"","path":"TestCases/ch08/8.7/8.7.2/8.7.2-1-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gwOC84LjcvOC43LjIvOC43LjItMi1zLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IE1vZGUgLSBSZWZlcmVuY2VFcnJvciBpc24ndCB0aHJvd24gaWYgTGVmdEhhbmRTaWRlIGV2YWx1YXRlcyB0byBhIHJlc29sdmFibGUgUmVmZXJlbmNlDQogKiBAb25seVN0cmljdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgICJ1c2Ugc3RyaWN0IjsNCiAgICAgICAgdmFyIGIgPSAxMTsNCiAgICAgICAgcmV0dXJuIGIgPT09IDExOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Strict Mode - ReferenceError isn't thrown if LeftHandSide evaluates to a resolvable Reference","onlyStrict":"","path":"TestCases/ch08/8.7/8.7.2/8.7.2-2-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gwOC84LjcvOC43LjIvOC43LjItMy0xLXMuanMNCiAqIEBkZXNjcmlwdGlvbiBldmFsIC0gYSBwcm9wZXJ0eSBuYW1lZCAnZXZhbCcgaXMgcGVybWl0dGVkDQogKiBAb25seVN0cmljdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICd1c2Ugc3RyaWN0JzsNCg0KICB2YXIgbyA9IHsgZXZhbDogNDJ9Ow0KICByZXR1cm4gdHJ1ZTsNCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"eval - a property named 'eval' is permitted","onlyStrict":"","path":"TestCases/ch08/8.7/8.7.2/8.7.2-3-1-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gwOC84LjcvOC43LjIvOC43LjItMy1hLTFncy5qcw0KICogQGRlc2NyaXB0aW9uIFN0cmljdCBNb2RlIC0gUmVmZXJlbmNlRXJyb3IgaXMgdGhyb3duIGlmIExlZnRIYW5kU2lkZSBldmFsdWF0ZSB0byBhbiB1bnJlc29sdmFibGUgUmVmZXJlbmNlDQogKiBAb25seVN0cmljdA0KICogQG5lZ2F0aXZlIC4NCiAqLw0KDQoidXNlIHN0cmljdCI7DQpiID0gMTE7DQo=","commentary":"","description":"Strict Mode - ReferenceError is thrown if LeftHandSide evaluate to an unresolvable Reference","negative":".","onlyStrict":"","path":"TestCases/ch08/8.7/8.7.2/8.7.2-3-a-1gs.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gwOC84LjcvOC43LjIvOC43LjItMy1hLTJncy5qcw0KICogQGRlc2NyaXB0aW9uIFN0cmljdCBNb2RlIC0gJ3J1bnRpbWUnIGVycm9yIGlzIHRocm93biBiZWZvcmUgTGVmdEhhbmRTaWRlIGV2YWx1YXRlcyB0byBhbiB1bnJlc29sdmFibGUgUmVmZXJlbmNlDQogKiBAb25seVN0cmljdA0KICogQG5lZ2F0aXZlIE5vdEVhcmx5RXJyb3INCiAqLw0KDQoidXNlIHN0cmljdCI7DQp0aHJvdyBOb3RFYXJseUVycm9yOw0KYiA9IDExOw0K","commentary":"","description":"Strict Mode - 'runtime' error is thrown before LeftHandSide evaluates to an unresolvable Reference","negative":"NotEarlyError","onlyStrict":"","path":"TestCases/ch08/8.7/8.7.2/8.7.2-3-a-2gs.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gwOC84LjcvOC43LjIvOC43LjItMy1zLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IE1vZGUgLSBUeXBlRXJyb3IgaXMgdGhyb3duIGlmIExlZnRIYW5kU2lkZSBpcyBhIHJlZmVyZW5jZSB0byBhIG5vbi13cml0YWJsZSBkYXRhIHByb3BlcnR5DQogKiBAb25seVN0cmljdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgICJ1c2Ugc3RyaWN0IjsNCiAgICAgICAgdmFyIF84XzdfMl8zID0ge307DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShfOF83XzJfMywgImIiLCB7DQogICAgICAgICAgICB3cml0YWJsZTogZmFsc2UNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIF84XzdfMl8zLmIgPSAxMTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBUeXBlRXJyb3I7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Strict Mode - TypeError is thrown if LeftHandSide is a reference to a non-writable data property","onlyStrict":"","path":"TestCases/ch08/8.7/8.7.2/8.7.2-3-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gwOC84LjcvOC43LjIvOC43LjItNC1zLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IE1vZGUgLSBUeXBlRXJyb3IgaXMgdGhyb3duIGlmIExlZnRIYW5kU2lkZSBpcyBhIHJlZmVyZW5jZSB0byBhbiBhY2Nlc3NvciBwcm9wZXJ0eSB3aXRoIG5vIHNldHRlcg0KICogQG9ubHlTdHJpY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICAidXNlIHN0cmljdCI7DQogICAgICAgIHZhciBfOF83XzJfNCA9IHt9Ow0KICAgICAgICB2YXIgXzhfN18yXzRfYlZhbHVlID0gMTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KF84XzdfMl80LCAiYiIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgeyByZXR1cm4gXzhfN18yXzRfYlZhbHVlOyB9DQogICAgICAgIH0pOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBfOF83XzJfNC5iID0gMTE7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiBlIGluc3RhbmNlb2YgVHlwZUVycm9yOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Strict Mode - TypeError is thrown if LeftHandSide is a reference to an accessor property with no setter","onlyStrict":"","path":"TestCases/ch08/8.7/8.7.2/8.7.2-4-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gwOC84LjcvOC43LjIvOC43LjItNS1zLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IE1vZGUgLSBUeXBlRXJyb3IgaXMgdGhyb3duIGlmIExlZnRIYW5kU2lkZSBpcyBhIHJlZmVyZW5jZSB0byBhIG5vbi1leGlzdGVudCBwcm9wZXJ0eSBvZiBhbiBub24tZXh0ZW5zaWJsZSBvYmplY3QNCiAqIEBvbmx5U3RyaWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgInVzZSBzdHJpY3QiOw0KICAgICAgICB2YXIgXzhfN18yXzUgPSB7fTsNCiAgICAgICAgT2JqZWN0LnByZXZlbnRFeHRlbnNpb25zKF84XzdfMl81KTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgXzhfN18yXzUuYiA9IDExOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFR5cGVFcnJvcjsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Strict Mode - TypeError is thrown if LeftHandSide is a reference to a non-existent property of an non-extensible object","onlyStrict":"","path":"TestCases/ch08/8.7/8.7.2/8.7.2-5-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gwOC84LjcvOC43LjIvOC43LjItNi1zLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IE1vZGUgLSBUeXBlRXJyb3IgaXNuJ3QgdGhyb3duIGlmIExlZnRIYW5kU2lkZSBpcyBhIHJlZmVyZW5jZSB0byBhIHdyaXRhYmxlIGRhdGEgcHJvcGVydHkNCiAqIEBvbmx5U3RyaWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgInVzZSBzdHJpY3QiOw0KICAgICAgICB2YXIgXzhfN18yXzYgPSB7fTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KF84XzdfMl82LCAiYiIsIHsNCiAgICAgICAgICAgIHdyaXRhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIF84XzdfMl82LmIgPSAxMTsNCg0KICAgICAgICByZXR1cm4gXzhfN18yXzYuYiA9PT0gMTE7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Strict Mode - TypeError isn't thrown if LeftHandSide is a reference to a writable data property","onlyStrict":"","path":"TestCases/ch08/8.7/8.7.2/8.7.2-6-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gwOC84LjcvOC43LjIvOC43LjItNy1zLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IE1vZGUgLSBUeXBlRXJyb3IgaXNuJ3QgdGhyb3duIGlmIExlZnRIYW5kU2lkZSBpcyBhIHJlZmVyZW5jZSB0byBhbiBhY2Nlc3NvciBwcm9wZXJ0eSB3aXRoIHNldHRlcg0KICogQG9ubHlTdHJpY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICAidXNlIHN0cmljdCI7DQogICAgICAgIHZhciBfOF83XzJfNyA9IHt9Ow0KICAgICAgICB2YXIgXzhfN18yXzdfYlZhbHVlID0gMTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KF84XzdfMl83LCAiYiIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgeyByZXR1cm4gXzhfN18yXzdfYlZhbHVlOyB9LA0KICAgICAgICAgICAgc2V0OiBmdW5jdGlvbiAodmFsdWUpIHsgXzhfN18yXzdfYlZhbHVlID0gdmFsdWU7IH0NCiAgICAgICAgfSk7DQoNCiAgICAgICAgXzhfN18yXzcuYiA9IDExOw0KICAgICAgICByZXR1cm4gXzhfN18yXzcuYiA9PT0gMTE7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Strict Mode - TypeError isn't thrown if LeftHandSide is a reference to an accessor property with setter","onlyStrict":"","path":"TestCases/ch08/8.7/8.7.2/8.7.2-7-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gwOC84LjcvOC43LjIvOC43LjItOC1zLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0IE1vZGUgLSBUeXBlRXJyb3IgaXNuJ3QgdGhyb3duIGlmIExlZnRIYW5kU2lkZSBpcyBhIHJlZmVyZW5jZSB0byBhIHByb3BlcnR5IG9mIGFuIGV4dGVuc2libGUgb2JqZWN0DQogKiBAb25seVN0cmljdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgICJ1c2Ugc3RyaWN0IjsNCiAgICAgICAgdmFyIF84XzdfMl84ID0ge307DQoNCiAgICAgICAgXzhfN18yXzguYiA9IDExOw0KDQogICAgICAgIHJldHVybiBfOF83XzJfOC5iID09PSAxMTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Strict Mode - TypeError isn't thrown if LeftHandSide is a reference to a property of an extensible object","onlyStrict":"","path":"TestCases/ch08/8.7/8.7.2/8.7.2-8-s.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBWYWx1ZXMgb2YgdGhlIExpc3QgdHlwZSBhcmUgc2ltcGx5IG9yZGVyZWQgc2VxdWVuY2VzIG9mIHZhbHVlcwogKgogKiBAcGF0aCBjaDA4LzguOC9TOC44X0EyX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBDYWxsIGZ1bmN0aW9uIF9fbUZ1bmMoMSwyLDMpIHdpdGggMyBhcmd1bWVudHMKICovCgpmdW5jdGlvbiBfX21GdW5jKCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg7fTsKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAoX19tRnVuYygxLDIsMykgIT09IDMpewogICRFUlJPUignIzE6IGZ1bmN0aW9uIF9fbUZ1bmMoKXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aDt9OyBfX21GdW5jKDEsMiwzKSA9PT0gMy4gQWN0dWFsOiAnICsgKF9fbUZ1bmMoMSwyLDMpKSk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"Values of the List type are simply ordered sequences of values","description":"Call function __mFunc(1,2,3) with 3 arguments","path":"TestCases/ch08/8.8/S8.8_A2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBWYWx1ZXMgb2YgdGhlIExpc3QgdHlwZSBhcmUgc2ltcGx5IG9yZGVyZWQgc2VxdWVuY2VzIG9mIHZhbHVlcwogKgogKiBAcGF0aCBjaDA4LzguOC9TOC44X0EyX1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBDYWxsIGZ1bmN0aW9uIF9fbUZ1bmMoWywsXSkgd2l0aCAxIGFyZ3VtZW50cwogKi8KCmZ1bmN0aW9uIF9fbUZ1bmMoKXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aDt9OwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmIChfX21GdW5jKFssLF0pICE9PSAxKXsKICAkRVJST1IoJyMxOiBmdW5jdGlvbiBfX21GdW5jKCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg7fTsgX19tRnVuYyhbLCxdKSA9PT0gMS4gQWN0dWFsOiAnICsgKF9fbUZ1bmMoWywsXSkpKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"Values of the List type are simply ordered sequences of values","description":"Call function __mFunc([,,]) with 1 arguments","path":"TestCases/ch08/8.8/S8.8_A2_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBWYWx1ZXMgb2YgdGhlIExpc3QgdHlwZSBhcmUgc2ltcGx5IG9yZGVyZWQgc2VxdWVuY2VzIG9mIHZhbHVlcwogKgogKiBAcGF0aCBjaDA4LzguOC9TOC44X0EyX1QzLmpzCiAqIEBkZXNjcmlwdGlvbiBDYWxsIGZ1bmN0aW9uLCB0aGF0IGNvbmNhdGVuYXRlIGFsbCBpdGBzIGFyZ3VtZW50cwogKi8KCmZ1bmN0aW9uIF9fbUZ1bmMoKXt2YXIgX19hY2N1bT0iIjsgZm9yICh2YXIgaSA9IDA7IGkgPCBhcmd1bWVudHMubGVuZ3RoOyArK2kpe19fYWNjdW0gKz0gYXJndW1lbnRzW2ldfTtyZXR1cm4gX19hY2N1bTt9OwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmIChfX21GdW5jKCJBIiwiQiIsIkMiLCJEIiwiRSIsIkYiKSAhPT0gIkFCQ0RFRiIpewogICRFUlJPUignIzE6IGZ1bmN0aW9uIF9fbUZ1bmMoKXt2YXIgX19hY2N1bT0iIjsgZm9yICh2YXIgaSA9IDA7IGkgPCBhcmd1bWVudHMubGVuZ3RoOyArK2kpe19fYWNjdW0gKz0gYXJndW1lbnRzW2ldfTtyZXR1cm4gX19hY2N1bTt9OyBfX21GdW5jKCJBIiwiQiIsIkMiLCJEIiwiRSIsIkYiKSA9PT0gIkFCQ0RFRiIuIEFjdHVhbDogJyArIChfX21GdW5jKCJBIiwiQiIsIkMiLCJEIiwiRSIsIkYiKSkpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"Values of the List type are simply ordered sequences of values","description":"Call function, that concatenate all it`s arguments","path":"TestCases/ch08/8.8/S8.8_A2_T3.js"}]}}
\ No newline at end of file diff --git a/website/json/ch15.json b/website/json/ch15.json index f170963b8..ca7951dd4 100644 --- a/website/json/ch15.json +++ b/website/json/ch15.json @@ -1 +1 @@ -{"testsCollection":{"name":"Chapter - ch15","numTests":"8073","tests":[{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgZ2xvYmFsIG9iamVjdCBkb2VzIG5vdCBoYXZlIGEgW1tDb25zdHJ1Y3RdXSBwcm9wZXJ0eQogKgogKiBAcGF0aCBjaDE1LzE1LjEvUzE1LjFfQTFfVDEuanMKICogQGRlc2NyaXB0aW9uIEl0IGlzIG5vdCBwb3NzaWJsZSB0byB1c2UgdGhlIGdsb2JhbCBvYmplY3QgYXMgYSBjb25zdHJ1Y3RvcgogKiB3aXRoIHRoZSBuZXcgb3BlcmF0b3IKICogQG5lZ2F0aXZlCiAqLwoKbmV3IHRoaXM7Cgo=","commentary":"The global object does not have a [[Construct]] property","description":"It is not possible to use the global object as a constructor\nwith the new operator","negative":"","path":"TestCases/ch15/15.1/S15.1_A1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgZ2xvYmFsIG9iamVjdCBkb2VzIG5vdCBoYXZlIGEgW1tDb25zdHJ1Y3RdXSBwcm9wZXJ0eQogKgogKiBAcGF0aCBjaDE1LzE1LjEvUzE1LjFfQTFfVDIuanMKICogQGRlc2NyaXB0aW9uIEl0IGlzIG5vdCBwb3NzaWJsZSB0byB1c2UgdGhlIGdsb2JhbCBvYmplY3QgYXMgYSBjb25zdHJ1Y3RvcgogKiB3aXRoIHRoZSBuZXcgb3BlcmF0b3IKICogQG5lZ2F0aXZlCiAqLwoKbmV3IHRoaXMoKTsKCg==","commentary":"The global object does not have a [[Construct]] property","description":"It is not possible to use the global object as a constructor\nwith the new operator","negative":"","path":"TestCases/ch15/15.1/S15.1_A1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgZ2xvYmFsIG9iamVjdCBkb2VzIG5vdCBoYXZlIGEgW1tDYWxsXV0gcHJvcGVydHkKICoKICogQHBhdGggY2gxNS8xNS4xL1MxNS4xX0EyX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBJdCBpcyBub3QgcG9zc2libGUgdG8gaW52b2tlIHRoZSBnbG9iYWwgb2JqZWN0IGFzIGEgZnVuY3Rpb24KICogQG5lZ2F0aXZlCiAqLwoKdGhpcygpOwoK","commentary":"The global object does not have a [[Call]] property","description":"It is not possible to invoke the global object as a function","negative":"","path":"TestCases/ch15/15.1/S15.1_A2_T1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4xLzE1LjEuMS8xNS4xLjEuMS8xNS4xLjEuMS0wLmpzDQogKiBAZGVzY3JpcHRpb24gR2xvYmFsLk5hTiBpcyBhIGRhdGEgcHJvcGVydHkgd2l0aCBkZWZhdWx0IGF0dHJpYnV0ZSB2YWx1ZXMgKGZhbHNlKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGZuR2xvYmFsT2JqZWN0KCksICdOYU4nKTsNCiAgaWYgKGRlc2Mud3JpdGFibGUgPT09IGZhbHNlICYmDQogICAgICBkZXNjLmVudW1lcmFibGUgPT09IGZhbHNlICYmDQogICAgICBkZXNjLmNvbmZpZ3VyYWJsZSA9PT0gZmFsc2UpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Global.NaN is a data property with default attribute values (false)","path":"TestCases/ch15/15.1/15.1.1/15.1.1.1/15.1.1.1-0.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgaW5pdGlhbCB2YWx1ZSBvZiBOYU4gaXMgTmFOCiAqCiAqIEBwYXRoIGNoMTUvMTUuMS8xNS4xLjEvMTUuMS4xLjEvUzE1LjEuMS4xX0ExLmpzCiAqIEBkZXNjcmlwdGlvbiBVc2UgdHlwZW9mLCBpc05hTiwgaXNGaW5pdGUKICovCgovLyBDSEVDSyMxCmlmICh0eXBlb2YoTmFOKSAhPT0gIm51bWJlciIpIHsKCSRFUlJPUignIzE6IHR5cGVvZihOYU4pID09PSAibnVtYmVyIi4gQWN0dWFsOiAnICsgKHR5cGVvZihOYU4pKSk7IAp9CgovLyBDSEVDSyMyCmlmIChpc05hTihOYU4pICE9PSB0cnVlKSB7CgkkRVJST1IoJyMyOiBOYU4gPT09IE5vdC1hLU51bWJlci4gQWN0dWFsOiAnICsgKE5hTikpOyAKfQoKLy8gQ0hFQ0sjMwppZiAoaXNGaW5pdGUoTmFOKSAhPT0gZmFsc2UpIHsKCSRFUlJPUignIzM6IE5hTiA9PT0gTm90LWEtRmluaXRlLiBBY3R1YWw6ICcgKyAoTmFOKSk7IAp9CgoK","commentary":"The initial value of NaN is NaN","description":"Use typeof, isNaN, isFinite","path":"TestCases/ch15/15.1/15.1.1/15.1.1.1/S15.1.1.1_A1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgTmFOIGlzIERvbnREZWxldGUKICoKICogQHBhdGggY2gxNS8xNS4xLzE1LjEuMS8xNS4xLjEuMS9TMTUuMS4xLjFfQTMuMS5qcwogKiBAZGVzY3JpcHRpb24gVXNlIGRlbGV0ZQogKiBAbm9TdHJpY3QKICovCgovLyBDSEVDSyMxCmlmIChkZWxldGUgTmFOICE9PSBmYWxzZSkgewoJJEVSUk9SKCcjMTogZGVsZXRlIE5hTiA9PT0gZmFsc2UuIEFjdHVhbDogJyArIChkZWxldGUgTmFOKSk7IAkKfQoK","commentary":"The NaN is DontDelete","description":"Use delete","noStrict":"","path":"TestCases/ch15/15.1/15.1.1/15.1.1.1/S15.1.1.1_A3.1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgTmFOIGlzIERvbnRFbnVtCiAqCiAqIEBwYXRoIGNoMTUvMTUuMS8xNS4xLjEvMTUuMS4xLjEvUzE1LjEuMS4xX0EzLjIuanMKICogQGRlc2NyaXB0aW9uIFVzZSBmb3ItaW4gc3RhdGVtZW50CiAqLwoKLy8gQ0hFQ0sjMQpmb3IgKHZhciBwcm9wIGluIHRoaXMpIHsKICBpZiAocHJvcCA9PT0gIk5hTiIpIHsKCSRFUlJPUignIzE6IFRoZSBOYU4gaXMgRG9udEVudW0nKTsKICB9CSAJCn0KCg==","commentary":"The NaN is DontEnum","description":"Use for-in statement","path":"TestCases/ch15/15.1/15.1.1/15.1.1.1/S15.1.1.1_A3.2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4xLzE1LjEuMS8xNS4xLjEuMi8xNS4xLjEuMi0wLmpzDQogKiBAZGVzY3JpcHRpb24gR2xvYmFsLkluZmluaXR5IGlzIGEgZGF0YSBwcm9wZXJ0eSB3aXRoIGRlZmF1bHQgYXR0cmlidXRlIHZhbHVlcyAoZmFsc2UpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoZm5HbG9iYWxPYmplY3QoKSwgJ0luZmluaXR5Jyk7DQogIGlmIChkZXNjLndyaXRhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5jb25maWd1cmFibGUgPT09IGZhbHNlKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Global.Infinity is a data property with default attribute values (false)","path":"TestCases/ch15/15.1/15.1.1/15.1.1.2/15.1.1.2-0.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgaW5pdGlhbCB2YWx1ZSBvZiBJbmZpbml0eSBpcyBOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkKICoKICogQHBhdGggY2gxNS8xNS4xLzE1LjEuMS8xNS4xLjEuMi9TMTUuMS4xLjJfQTEuanMKICogQGRlc2NyaXB0aW9uIFVzZSB0eXBlb2YsIGlzTmFOLCBpc0Zpbml0ZQogKi8KCi8vIENIRUNLIzEKaWYgKHR5cGVvZihJbmZpbml0eSkgIT09ICJudW1iZXIiKSB7CgkkRVJST1IoJyMxOiB0eXBlb2YoSW5maW5pdHkpID09PSAibnVtYmVyIi4gQWN0dWFsOiAnICsgKHR5cGVvZihJbmZpbml0eSkpKTsgCn0KCi8vIENIRUNLIzIKaWYgKGlzRmluaXRlKEluZmluaXR5KSAhPT0gZmFsc2UpIHsKCSRFUlJPUignIzI6IEluZmluaXR5ID09PSBOb3QtYS1GaW5pdGUuIEFjdHVhbDogJyArIChJbmZpbml0eSkpOyAKfQoKLy8gQ0hFQ0sjMwppZiAoaXNOYU4oSW5maW5pdHkpICE9PSBmYWxzZSkgewoJJEVSUk9SKCcjMzogSW5maW5pdHkgPT09IE5vdC1hLU51bWJlci4gQWN0dWFsOiAnICsgKEluZmluaXR5KSk7IAp9CgoKLy8gQ0hFQ0sjNAppZiAoSW5maW5pdHkgIT09IE51bWJlci5QT1NJVElWRV9JTkZJTklUWSkgewoJJEVSUk9SKCcjNDogSW5maW5pdHkgPT09IE51bWJlci5QT1NJVElWRV9JTkZJTklUWS4gQWN0dWFsOiAnICsgKEluZmluaXR5KSk7IAp9Cgo=","commentary":"The initial value of Infinity is Number.POSITIVE_INFINITY","description":"Use typeof, isNaN, isFinite","path":"TestCases/ch15/15.1/15.1.1/15.1.1.2/S15.1.1.2_A1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgSW5maW5pdHkgaXMgbm90IFJlYWRPbmx5CiAqCiAqIEBwYXRoIGNoMTUvMTUuMS8xNS4xLjEvMTUuMS4xLjIvUzE1LjEuMS4yX0EyX1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyB0eXBlb2YgRnVuY3Rpb25zCiAqLwoKLy8gQ0hFQ0sjMQp2YXIgRmluaXRlID0gdHJ1ZTsKaWYgKHR5cGVvZihGaW5pdGUpICE9PSAiYm9vbGVhbiIpIHsKCSRFUlJPUignIzE6IEZpbml0ZSA9IHRydWU7IHR5cGVvZihOYU4pID09PSAiYm9vbGVhbiIuIEFjdHVhbDogJyArICh0eXBlb2YoTmFOKSkpOyAKfQoK","commentary":"The Infinity is not ReadOnly","description":"Checking typeof Functions","path":"TestCases/ch15/15.1/15.1.1/15.1.1.2/S15.1.1.2_A2_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgSW5maW5pdHkgaXMgRG9udERlbGV0ZQogKgogKiBAcGF0aCBjaDE1LzE1LjEvMTUuMS4xLzE1LjEuMS4yL1MxNS4xLjEuMl9BMy4xLmpzCiAqIEBkZXNjcmlwdGlvbiBVc2UgZGVsZXRlCiAqIEBub1N0cmljdAogKi8KCi8vIENIRUNLIzEKaWYgKGRlbGV0ZSBJbmZpbml0eSAhPT0gZmFsc2UpIHsKCSRFUlJPUignIzE6IGRlbGV0ZSBJbmZpbml0eSA9PT0gZmFsc2UuIEFjdHVhbDogJyArIChkZWxldGUgSW5maW5pdHkpKTsgCn0KCg==","commentary":"The Infinity is DontDelete","description":"Use delete","noStrict":"","path":"TestCases/ch15/15.1/15.1.1/15.1.1.2/S15.1.1.2_A3.1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgSW5maW5pdHkgaXMgRG9udEVudW0KICoKICogQHBhdGggY2gxNS8xNS4xLzE1LjEuMS8xNS4xLjEuMi9TMTUuMS4xLjJfQTMuMi5qcwogKiBAZGVzY3JpcHRpb24gVXNlIGZvci1pbiBzdGF0ZW1lbnQKICovCgovLyBDSEVDSyMxCmZvciAodmFyIHByb3AgaW4gdGhpcykgewogIGlmIChwcm9wID09PSAiSW5maW5pdHkiKSB7CgkkRVJST1IoJyMxOiBUaGUgSW5maW5pdHkgaXMgRG9udEVudW0nKTsKICB9CSAJCn0KCg==","commentary":"The Infinity is DontEnum","description":"Use for-in statement","path":"TestCases/ch15/15.1/15.1.1/15.1.1.2/S15.1.1.2_A3.2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4xLzE1LjEuMS8xNS4xLjEuMy8xNS4xLjEuMy0wLmpzDQogKiBAZGVzY3JpcHRpb24gR2xvYmFsLnVuZGVmaW5lZCBpcyBhIGRhdGEgcHJvcGVydHkgd2l0aCBkZWZhdWx0IGF0dHJpYnV0ZSB2YWx1ZXMgKGZhbHNlKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGZuR2xvYmFsT2JqZWN0KCksICd1bmRlZmluZWQnKTsNCiAgaWYgKGRlc2Mud3JpdGFibGUgPT09IGZhbHNlICYmDQogICAgICBkZXNjLmVudW1lcmFibGUgPT09IGZhbHNlICYmDQogICAgICBkZXNjLmNvbmZpZ3VyYWJsZSA9PT0gZmFsc2UpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Global.undefined is a data property with default attribute values (false)","path":"TestCases/ch15/15.1/15.1.1/15.1.1.3/15.1.1.3-0.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4xLzE1LjEuMS8xNS4xLjEuMy8xNS4xLjEuMy0xLmpzDQogKiBAZGVzY3JpcHRpb24gdW5kZWZpbmVkIGlzIG5vdCB3cml0YWJsZSwgc2hvdWxkIG5vdCB0aHJvdyBpbiBub24tc3RyaWN0IG1vZGUNCiAqIEBub1N0cmljdA0KICovDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCl7DQogICAgdW5kZWZpbmVkID0gNTsNCiAgICBpZih0eXBlb2YgdW5kZWZpbmVkICE9PSAidW5kZWZpbmVkIikgcmV0dXJuIGZhbHNlOw0KDQogICAgdmFyIG5vc3VjaHByb3BlcnR5Ow0KICAgIGlmKG5vc3VjaHByb3BlcnR5ICE9PSB1bmRlZmluZWQpIHJldHVybiBmYWxzZTsNCiAgICANCiAgICByZXR1cm4gdHJ1ZTsNCn0NCg0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"undefined is not writable, should not throw in non-strict mode","noStrict":"","path":"TestCases/ch15/15.1/15.1.1/15.1.1.3/15.1.1.3-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4xLzE1LjEuMS8xNS4xLjEuMy8xNS4xLjEuMy0yLmpzDQogKiBAZGVzY3JpcHRpb24gdW5kZWZpbmVkIGlzIG5vdCB3cml0YWJsZSwgc2hvdWxkIHRocm93IFR5cGVFcnJvciBpbiBzdHJpY3QgbW9kZQ0KICogQG9ubHlTdHJpY3QNCiAqLw0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpew0KICAidXNlIHN0cmljdCI7DQogIHZhciBnbG9iYWwgPSBmbkdsb2JhbE9iamVjdCgpOw0KICB0cnl7DQogICAgZ2xvYmFsWyJ1bmRlZmluZWQiXSA9IDU7ICAvLyBTaG91bGQgdGhyb3cgYSBUeXBlRXJyb3IgYXMgcGVyIDguMTIuNQ0KICB9IGNhdGNoIChleCkgew0KICAgIGlmKGV4IGluc3RhbmNlb2YgVHlwZUVycm9yKXsNCiAgICAgIHJldHVybiB0cnVlOw0KICAgIH0gZWxzZSB7DQogICAgICByZXR1cm4gZmFsc2U7DQogICAgfQ0KICB9DQp9DQoNCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"undefined is not writable, should throw TypeError in strict mode","onlyStrict":"","path":"TestCases/ch15/15.1/15.1.1/15.1.1.3/15.1.1.3-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4xLzE1LjEuMS8xNS4xLjEuMy8xNS4xLjEuMy0zLmpzDQogKiBAZGVzY3JpcHRpb24gdW5kZWZpbmVkIGlzIG5vdCB3cml0YWJsZSwgc2ltcGxlIGFzc2lnbm1lbnQgc2hvdWxkIHJldHVybiB0aGUgcnZhbCB2YWx1ZSAoMTEuMTMuMS02KQ0KICovDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCl7DQogIHZhciBuZXdQcm9wZXJ0eSA9IHVuZGVmaW5lZCA9IDQyOw0KICByZXR1cm4gKG5ld1Byb3BlcnR5ID09PSA0Mik7DQp9DQoNCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"undefined is not writable, simple assignment should return the rval value (11.13.1-6)","path":"TestCases/ch15/15.1/15.1.1/15.1.1.3/15.1.1.3-3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgaW5pdGlhbCB2YWx1ZSBvZiB1bmRlZmluZWQgaXMgdW5kZWZpbmVkCiAqCiAqIEBwYXRoIGNoMTUvMTUuMS8xNS4xLjEvMTUuMS4xLjMvUzE1LjEuMS4zX0ExLmpzCiAqIEBkZXNjcmlwdGlvbiBVc2UgdHlwZW9mLCBpc05hTiwgaXNGaW5pdGUKICovCgovLyBDSEVDSyMxCmlmICh0eXBlb2YodW5kZWZpbmVkKSAhPT0gInVuZGVmaW5lZCIpIHsKCSRFUlJPUignIzE6IHR5cGVvZih1bmRlZmluZWQpID09PSAidW5kZWZpbmVkIi4gQWN0dWFsOiAnICsgKHR5cGVvZih1bmRlZmluZWQpKSk7IAp9CgovLyBDSEVDSyMyCmlmICh1bmRlZmluZWQgIT09IHZvaWQgMCkgewoJJEVSUk9SKCcjMjogdW5kZWZpbmVkID09PSB2b2lkIDAuIEFjdHVhbDogJyArICh1bmRlZmluZWQpKTsgCn0KCi8vIENIRUNLIzMKaWYgKHVuZGVmaW5lZCAhPT0gZXZhbCgidmFyIHgiKSkgewoJJEVSUk9SKCcjMzogdW5kZWZpbmVkID09PSBldmFsKCJ2YXIgeCIpLiBBY3R1YWw6ICcgKyAodW5kZWZpbmVkKSk7IAp9Cgo=","commentary":"The initial value of undefined is undefined","description":"Use typeof, isNaN, isFinite","path":"TestCases/ch15/15.1/15.1.1/15.1.1.3/S15.1.1.3_A1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgdW5kZWZpbmVkIGlzIERvbnREZWxldGUKICoKICogQHBhdGggY2gxNS8xNS4xLzE1LjEuMS8xNS4xLjEuMy9TMTUuMS4xLjNfQTMuMS5qcwogKiBAZGVzY3JpcHRpb24gVXNlIGRlbGV0ZQogKiBAbm9TdHJpY3QKICovCgovLyBDSEVDSyMxCmlmIChkZWxldGUgdW5kZWZpbmVkICE9PSBmYWxzZSkgewoJJEVSUk9SKCcjMTogZGVsZXRlIHVuZGVmaW5lZCA9PT0gZmFsc2UuIEFjdHVhbDogJyArIChkZWxldGUgdW5kZWZpbmVkKSk7IAp9Cgo=","commentary":"The undefined is DontDelete","description":"Use delete","noStrict":"","path":"TestCases/ch15/15.1/15.1.1/15.1.1.3/S15.1.1.3_A3.1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgdW5kZWZpbmVkIGlzIERvbnRFbnVtCiAqCiAqIEBwYXRoIGNoMTUvMTUuMS8xNS4xLjEvMTUuMS4xLjMvUzE1LjEuMS4zX0EzLjIuanMKICogQGRlc2NyaXB0aW9uIFVzZSBmb3ItaW4gc3RhdGVtZW50CiAqLwoKLy8gQ0hFQ0sjMQpmb3IgKHByb3AgaW4gdGhpcykgewogIGlmIChwcm9wID09PSAidW5kZWZpbmVkIikgewoJJEVSUk9SKCcjMTogVGhlIHVuZGVmaW5lZCBpcyBEb250RW51bScpOwogIH0JIAkKfQoK","commentary":"The undefined is DontEnum","description":"Use for-in statement","path":"TestCases/ch15/15.1/15.1.1/15.1.1.3/S15.1.1.3_A3.2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB4IGlzIG5vdCBhIHN0cmluZyB2YWx1ZSwgcmV0dXJuIHgKICoKICogQHBhdGggY2gxNS8xNS4xLzE1LjEuMi8xNS4xLjIuMS9TMTUuMS4yLjFfQTEuMV9UMS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgYWxsIHByaW1pdGl2ZQogKi8KCi8vQ0hFQ0sjMQp2YXIgeCA9IDE7CmlmIChldmFsKHgpICE9PSB4KSB7CiAgJEVSUk9SKCcjMTogeCA9IDE7IGV2YWwoeCkgPT09IHguIEFjdHVhbDogJyArIChldmFsKHgpKSk7Cn0KCi8vQ0hFQ0sjMgppZiAoZXZhbCgxKSAhPT0gMSkgewogICRFUlJPUignIzI6IGV2YWwoMSkgPT09IDEuIEFjdHVhbDogJyArIChldmFsKDEpKSk7Cn0KCi8vQ0hFQ0sjMwppZiAoZXZhbCh0cnVlKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzM6IGV2YWwodHJ1ZSkgPT09IHRydWUuIEFjdHVhbDogJyArIChldmFsKHRydWUpKSk7Cn0KCi8vQ0hFQ0sjNAppZiAoZXZhbChudWxsKSAhPT0gbnVsbCkgewogICRFUlJPUignIzQ6IGV2YWwobnVsbCkgPT09IG51bGwuIEFjdHVhbDogJyArIChldmFsKG51bGwpKSk7Cn0KCi8vQ0hFQ0sjNQppZiAoZXZhbCh1bmRlZmluZWQpICE9PSB1bmRlZmluZWQpIHsKICAkRVJST1IoJyM1OiBldmFsKHVuZGVmaW5lZCkgPT09IHVuZGVmaW5lZC4gQWN0dWFsOiAnICsgKGV2YWwodW5kZWZpbmVkKSkpOwp9ICAgICAgICAKCg==","commentary":"If x is not a string value, return x","description":"Checking all primitive","path":"TestCases/ch15/15.1/15.1.2/15.1.2.1/S15.1.2.1_A1.1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB4IGlzIG5vdCBhIHN0cmluZyB2YWx1ZSwgcmV0dXJuIHgKICoKICogQHBhdGggY2gxNS8xNS4xLzE1LjEuMi8xNS4xLjIuMS9TMTUuMS4yLjFfQTEuMV9UMi5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgYWxsIG9iamVjdAogKi8KCi8vQ0hFQ0sjMQp2YXIgeCA9IHt9OwppZiAoZXZhbCh4KSAhPT0geCkgewogICRFUlJPUignIzE6IHggPSB7fTsgZXZhbCh4KSA9PT0geC4gQWN0dWFsOiAnICsgKGV2YWwoeCkpKTsKfQoKLy9DSEVDSyMyCnggPSBuZXcgTnVtYmVyKDEpOwppZiAoZXZhbCh4KSAhPT0geCkgewogICRFUlJPUignIzI6IHggPSBuZXcgTnVtYmVyKDEpOyBldmFsKHgpID09PSB4LiBBY3R1YWw6ICcgKyAoZXZhbCh4KSkpOwp9CgovL0NIRUNLIzMKeCA9IG5ldyBCb29sZWFuKHRydWUpOwppZiAoZXZhbCh4KSAhPT0geCkgewogICRFUlJPUignIzM6IHggPSBuZXcgQm9vbGVhbih0cnVlKTsgZXZhbCh4KSA9PT0geC4gQWN0dWFsOiAnICsgKGV2YWwoeCkpKTsKfQoKLy9DSEVDSyM0CnggPSBuZXcgU3RyaW5nKCIxKzEiKTsKaWYgKGV2YWwoeCkgIT09IHgpIHsKICAkRVJST1IoJyM0OiB4ID0gbmV3IFN0cmluZygiMSIpOyBldmFsKHgpID09PSB4LiBBY3R1YWw6ICcgKyAoZXZhbCh4KSkpOwp9ICAgIAoK","commentary":"If x is not a string value, return x","description":"Checking all object","path":"TestCases/ch15/15.1/15.1.2/15.1.2.1/S15.1.2.1_A1.1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB0aGUgZXZhbCBmdW5jdGlvbiBpcyBjYWxsZWQgd2l0aCBzb21lIGFyZ3VtZW50LCB0aGVuIHVzZSBhIGZpcnN0IGFyZ3VtZW50CiAqCiAqIEBwYXRoIGNoMTUvMTUuMS8xNS4xLjIvMTUuMS4yLjEvUzE1LjEuMi4xX0ExLjJfVDEuanMKICogQGRlc2NyaXB0aW9uIGV2YWwoInggPSAxIiwgInggPSAyIiksIHggZXF1YWwgMSwgbm90IDIKICovCgovL0NIRUNLIzEKdmFyIHg7CmV2YWwoInggPSAxIiwgInggPSAyIik7CmlmICh4ICE9PSAxKSB7CiAgJEVSUk9SKCcjMTogZXZhbCgieCA9IDEiLCAieCA9IDIiKTsgeCA9PT0gMS4gQWN0dWFsOiAnICsgKHgpKTsKfQoK","commentary":"If the eval function is called with some argument, then use a first argument","description":"eval(\"x = 1\", \"x = 2\"), x equal 1, not 2","path":"TestCases/ch15/15.1/15.1.2/15.1.2.1/S15.1.2.1_A1.2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB0aGUgcGFyc2UgZmFpbHMsIHRocm93IGEgU3ludGF4RXJyb3IgZXhjZXB0aW9uIChidXQgc2VlIGFsc28gY2xhdXNlIDE2KQogKgogKiBAcGF0aCBjaDE1LzE1LjEvMTUuMS4yLzE1LjEuMi4xL1MxNS4xLjIuMV9BMl9UMS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgaWYgZXhlY3V0aW9uIG9mICJldmFsKCJ4ID0gMTsgeFx1MDAwQSsrIiksIGNhdGNoIFN5bnRheEVycm9yIiBwYXNzZXMKICovCgovL0NIRUNLIzEKdmFyIHg7CnRyeSB7CiAgZXZhbCgieCA9IDE7IHhcdTAwMEErKyIpOwogICRFUlJPUignIzEuMTogZXZhbCgieCA9IDE7IHhcXHUwMDBBKysiKSBtdXN0IHRocm93IGEgU3ludGF4RXJyb3IuIEFjdHVhbDogJyArIChldmFsKCJ4ID0gMTsgeFx1MDAwQSsrIikpKTsKfSBjYXRjaCAoZSkgewogIGlmICgoZSBpbnN0YW5jZW9mIFN5bnRheEVycm9yKSAhPT0gdHJ1ZSkgewogICAgJEVSUk9SKCcjMS4yOiBldmFsKCJ4ID0gMTsgeFxcdTAwMEErKyIpIG11c3QgdGhyb3cgYSBTeW50YXhFcnJvci4gQWN0dWFsOiAnICsgKGUpKTsKICB9ICAKfSAgIAoK","commentary":"If the parse fails, throw a SyntaxError exception (but see also clause 16)","description":"Checking if execution of \"eval(\"x = 1; x\\u000A++\"), catch SyntaxError\" passes","path":"TestCases/ch15/15.1/15.1.2/15.1.2.1/S15.1.2.1_A2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB0aGUgcGFyc2UgZmFpbHMsIHRocm93IGEgU3ludGF4RXJyb3IgZXhjZXB0aW9uIChidXQgc2VlIGFsc28gY2xhdXNlIDE2KQogKgogKiBAcGF0aCBjaDE1LzE1LjEvMTUuMS4yLzE1LjEuMi4xL1MxNS4xLjIuMV9BMl9UMi5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgaWYgZXhlY3V0aW9uIG9mICJldmFsKCJ4ID0gMTsgeFx1MDAwQSsrIikiIGZhaWxzCiAqIEBuZWdhdGl2ZQogKi8KCi8vQ0hFQ0sjMQp2YXIgeDsKZXZhbCgieCA9IDE7IHhcdTAwMEErKyIpOyAKCg==","commentary":"If the parse fails, throw a SyntaxError exception (but see also clause 16)","description":"Checking if execution of \"eval(\"x = 1; x\\u000A++\")\" fails","negative":"","path":"TestCases/ch15/15.1/15.1.2/15.1.2.1/S15.1.2.1_A2_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBSZXN1bHQoMykudHlwZSBpcyBub3JtYWwgYW5kIGl0cyBjb21wbGV0aW9uIHZhbHVlIGlzIGEgdmFsdWUgViwKICogdGhlbiByZXR1cm4gdGhlIHZhbHVlIFYKICoKICogQHBhdGggY2gxNS8xNS4xLzE1LjEuMi8xNS4xLjIuMS9TMTUuMS4yLjFfQTMuMV9UMS5qcwogKiBAZGVzY3JpcHRpb24gRXhwcmVzc2lvbiBzdGF0ZW1lbnQuIEV2YWwgcmV0dXJuIHByaW1pdGl2ZSB2YWx1ZQogKi8KCnZhciB4OwovL0NIRUNLIzEKaWYgKGV2YWwoInggPSAxIikgIT09IDEpIHsKICAkRVJST1IoJyMxOiBldmFsKCJ4ID0gMSIpID09PSAxLiBBY3R1YWw6ICcgKyAoZXZhbCgieCA9IDEiKSkpOwp9CgovL0NIRUNLIzIKaWYgKGV2YWwoIjEiKSAhPT0gMSkgewogICRFUlJPUignIzI6IGV2YWwoIjEiKSA9PT0gMS4gQWN0dWFsOiAnICsgKGV2YWwoIjEiKSkpOwp9CgovL0NIRUNLIzMKaWYgKGV2YWwoIicxJyIpICE9PSAnMScpIHsKICAkRVJST1IoJyMzOiBldmFsKCJcJzFcJyIpID09PSBcJzFcJy4gQWN0dWFsOiAnICsgKGV2YWwoIicxJyIpKSk7Cn0KCi8vQ0hFQ0sjNAp4ID0gMTsKaWYgKGV2YWwoIisreCIpICE9PSAyKSB7CiAgJEVSUk9SKCcjNDogeCA9IDE7IGV2YWwoIisreCIpID09PSAyLiBBY3R1YWw6ICcgKyAoeCkpOwp9ICAgICAgICAKCg==","commentary":"If Result(3).type is normal and its completion value is a value V,\nthen return the value V","description":"Expression statement. Eval return primitive value","path":"TestCases/ch15/15.1/15.1.2/15.1.2.1/S15.1.2.1_A3.1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBSZXN1bHQoMykudHlwZSBpcyBub3JtYWwgYW5kIGl0cyBjb21wbGV0aW9uIHZhbHVlIGlzIGEgdmFsdWUgViwKICogdGhlbiByZXR1cm4gdGhlIHZhbHVlIFYKICoKICogQHBhdGggY2gxNS8xNS4xLzE1LjEuMi8xNS4xLjIuMS9TMTUuMS4yLjFfQTMuMV9UMi5qcwogKiBAZGVzY3JpcHRpb24gRXhwcmVzc2lvbiBzdGF0ZW1lbnQuIEV2YWwgcmV0dXJuIG9iamVjdCB2YWx1ZQogKi8KCi8vQ0hFQ0sjMQp2YXIgeCA9IHt9Owp2YXIgeTsKaWYgKGV2YWwoInkgPSB4IikgIT09IHgpIHsKICAkRVJST1IoJyMxOiB2YXIgeCA9IHt9OyBldmFsKCJ5ID0geCIpID09PSB4LiBBY3R1YWw6ICcgKyAoZXZhbCgieSA9IHgiKSkpOwp9ICAgIAoKCi8vQ0hFQ0sjMgppZiAoZXZhbCgieCIpICE9PSB4KSB7CiAgJEVSUk9SKCcjMjogdmFyIHggPSB7fTsgZXZhbCgieCIpID09PSB4LiBBY3R1YWw6ICcgKyAoZXZhbCgieCIpKSk7Cn0gICAgCgoK","commentary":"If Result(3).type is normal and its completion value is a value V,\nthen return the value V","description":"Expression statement. Eval return object value","path":"TestCases/ch15/15.1/15.1.2/15.1.2.1/S15.1.2.1_A3.1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBSZXN1bHQoMykudHlwZSBpcyBub3JtYWwgYW5kIGl0cyBjb21wbGV0aW9uIHZhbHVlIGlzIGVtcHR5LAogKiB0aGVuIHJldHVybiB0aGUgdmFsdWUgdW5kZWZpbmVkCiAqCiAqIEBwYXRoIGNoMTUvMTUuMS8xNS4xLjIvMTUuMS4yLjEvUzE1LjEuMi4xX0EzLjJfVDEuanMKICogQGRlc2NyaXB0aW9uIEJsb2NrIHN0YXRlbWVudAogKi8KCi8vQ0hFQ0sjMQppZiAoZXZhbCgie30iKSAhPT0gdW5kZWZpbmVkKSB7CiAgJEVSUk9SKCcjMTogZXZhbCgie30iKSA9PT0gdW5kZWZpbmVkLiBBY3R1YWw6ICcgKyAoZXZhbCgie30iKSkpOwp9ICAgIAoK","commentary":"If Result(3).type is normal and its completion value is empty,\nthen return the value undefined","description":"Block statement","path":"TestCases/ch15/15.1/15.1.2/15.1.2.1/S15.1.2.1_A3.2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBSZXN1bHQoMykudHlwZSBpcyBub3JtYWwgYW5kIGl0cyBjb21wbGV0aW9uIHZhbHVlIGlzIGVtcHR5LAogKiB0aGVuIHJldHVybiB0aGUgdmFsdWUgdW5kZWZpbmVkCiAqCiAqIEBwYXRoIGNoMTUvMTUuMS8xNS4xLjIvMTUuMS4yLjEvUzE1LjEuMi4xX0EzLjJfVDIuanMKICogQGRlc2NyaXB0aW9uIFZhciBzdGF0ZW1lbnQKICovCgovL0NIRUNLIzEKaWYgKGV2YWwoInZhciB4ID0gMSIpICE9PSB1bmRlZmluZWQpIHsKICAkRVJST1IoJyMxOiBldmFsKCJ2YXIgeCA9IDEiKSA9PT0gdW5kZWZpbmVkLiBBY3R1YWw6ICcgKyAoZXZhbCgidmFyIHggPSAxIikpKTsKfSAgICAKCg==","commentary":"If Result(3).type is normal and its completion value is empty,\nthen return the value undefined","description":"Var statement","path":"TestCases/ch15/15.1/15.1.2/15.1.2.1/S15.1.2.1_A3.2_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBSZXN1bHQoMykudHlwZSBpcyBub3JtYWwgYW5kIGl0cyBjb21wbGV0aW9uIHZhbHVlIGlzIGVtcHR5LAogKiB0aGVuIHJldHVybiB0aGUgdmFsdWUgdW5kZWZpbmVkCiAqCiAqIEBwYXRoIGNoMTUvMTUuMS8xNS4xLjIvMTUuMS4yLjEvUzE1LjEuMi4xX0EzLjJfVDMuanMKICogQGRlc2NyaXB0aW9uIEVtcHR5IHN0YXRlbWVudAogKi8KCi8vQ0hFQ0sjMQppZiAoZXZhbCgiOyIpICE9PSB1bmRlZmluZWQpIHsKICAkRVJST1IoJyMxOiBldmFsKCI7IikgPT09IHVuZGVmaW5lZC4gQWN0dWFsOiAnICsgKGV2YWwoIjsiKSkpOwp9ICAgIAoK","commentary":"If Result(3).type is normal and its completion value is empty,\nthen return the value undefined","description":"Empty statement","path":"TestCases/ch15/15.1/15.1.2/15.1.2.1/S15.1.2.1_A3.2_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBSZXN1bHQoMykudHlwZSBpcyBub3JtYWwgYW5kIGl0cyBjb21wbGV0aW9uIHZhbHVlIGlzIGVtcHR5LAogKiB0aGVuIHJldHVybiB0aGUgdmFsdWUgdW5kZWZpbmVkCiAqCiAqIEBwYXRoIGNoMTUvMTUuMS8xNS4xLjIvMTUuMS4yLjEvUzE1LjEuMi4xX0EzLjJfVDQuanMKICogQGRlc2NyaXB0aW9uIElmIHN0YXRlbWVudAogKi8KCi8vQ0hFQ0sjMQppZiAoZXZhbCgiaWYgKGZhbHNlKSA7IikgIT09IHVuZGVmaW5lZCkgewogICRFUlJPUignIzE6IGV2YWwoImlmIChmYWxzZSkgOyIpID09PSB1bmRlZmluZWQuIEFjdHVhbDogJyArIGV2YWwoImlmIChmYWxzZSkgOyIpKTsKfSAgICAKCg==","commentary":"If Result(3).type is normal and its completion value is empty,\nthen return the value undefined","description":"If statement","path":"TestCases/ch15/15.1/15.1.2/15.1.2.1/S15.1.2.1_A3.2_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBSZXN1bHQoMykudHlwZSBpcyBub3JtYWwgYW5kIGl0cyBjb21wbGV0aW9uIHZhbHVlIGlzIGVtcHR5LAogKiB0aGVuIHJldHVybiB0aGUgdmFsdWUgdW5kZWZpbmVkCiAqCiAqIEBwYXRoIGNoMTUvMTUuMS8xNS4xLjIvMTUuMS4yLjEvUzE1LjEuMi4xX0EzLjJfVDUuanMKICogQGRlc2NyaXB0aW9uIFN3aXRjaCBzdGF0ZW1lbnQKICovCgovL0NIRUNLIzEKaWYgKGV2YWwoInN3aXRjaCgxKXt9IikgIT09IHVuZGVmaW5lZCkgewogICRFUlJPUignIzE6IGV2YWwoInN3aXRjaCgxKXt9IikgPT09IHVuZGVmaW5lZC4gQWN0dWFsOiAnICsgKGV2YWwoInN3aXRjaCgxKXt9IikpKTsKfSAgICAKCg==","commentary":"If Result(3).type is normal and its completion value is empty,\nthen return the value undefined","description":"Switch statement","path":"TestCases/ch15/15.1/15.1.2/15.1.2.1/S15.1.2.1_A3.2_T5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBSZXN1bHQoMykudHlwZSBpcyBub3JtYWwgYW5kIGl0cyBjb21wbGV0aW9uIHZhbHVlIGlzIGVtcHR5LAogKiB0aGVuIHJldHVybiB0aGUgdmFsdWUgdW5kZWZpbmVkCiAqCiAqIEBwYXRoIGNoMTUvMTUuMS8xNS4xLjIvMTUuMS4yLjEvUzE1LjEuMi4xX0EzLjJfVDYuanMKICogQGRlc2NyaXB0aW9uIGRvLXdoaWxlIHN0YXRlbWVudAogKi8KCi8vQ0hFQ0sjMQppZiAoZXZhbCgiZG8gOyB3aGlsZShmYWxzZSkiKSAhPT0gdW5kZWZpbmVkKSB7CiAgJEVSUk9SKCcjMTogZXZhbCgiZG8gOyB3aGlsZShmYWxzZSkiKSA9PT0gdW5kZWZpbmVkLiBBY3R1YWw6ICcgKyAoZXZhbCgiZG8gOyB3aGlsZShmYWxzZSkiKSkpOwp9ICAgIAoK","commentary":"If Result(3).type is normal and its completion value is empty,\nthen return the value undefined","description":"do-while statement","path":"TestCases/ch15/15.1/15.1.2/15.1.2.1/S15.1.2.1_A3.2_T6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBSZXN1bHQoMykudHlwZSBpcyBub3JtYWwgYW5kIGl0cyBjb21wbGV0aW9uIHZhbHVlIGlzIGVtcHR5LAogKiB0aGVuIHJldHVybiB0aGUgdmFsdWUgdW5kZWZpbmVkCiAqCiAqIEBwYXRoIGNoMTUvMTUuMS8xNS4xLjIvMTUuMS4yLjEvUzE1LjEuMi4xX0EzLjJfVDcuanMKICogQGRlc2NyaXB0aW9uIGRvLXdoaWxlIHN0YXRlbWVudAogKi8KCi8vQ0hFQ0sjMQppZiAoZXZhbCgid2hpbGUoZmFsc2UpOyIpICE9PSB1bmRlZmluZWQpIHsKICAkRVJST1IoJyMxOiBldmFsKCJ3aGlsZShmYWxzZSk7IikgPT09IHVuZGVmaW5lZC4gQWN0dWFsOiAnICsgKGV2YWwoIndoaWxlKGZhbHNlKTsiKSkpOwp9ICAgIAoK","commentary":"If Result(3).type is normal and its completion value is empty,\nthen return the value undefined","description":"do-while statement","path":"TestCases/ch15/15.1/15.1.2/15.1.2.1/S15.1.2.1_A3.2_T7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBSZXN1bHQoMykudHlwZSBpcyBub3JtYWwgYW5kIGl0cyBjb21wbGV0aW9uIHZhbHVlIGlzIGVtcHR5LAogKiB0aGVuIHJldHVybiB0aGUgdmFsdWUgdW5kZWZpbmVkCiAqCiAqIEBwYXRoIGNoMTUvMTUuMS8xNS4xLjIvMTUuMS4yLjEvUzE1LjEuMi4xX0EzLjJfVDguanMKICogQGRlc2NyaXB0aW9uIGZvciBzdGF0ZW1lbnQKICovCgovL0NIRUNLIzEKaWYgKGV2YWwoImZvcihmYWxzZTtmYWxzZTtmYWxzZSk7IikgIT09IHVuZGVmaW5lZCkgewogICRFUlJPUignIzE6IGV2YWwoImZvcihmYWxzZTtmYWxzZTtmYWxzZSk7IikgPT09IHVuZGVmaW5lZC4gQWN0dWFsOiAnICsgKGV2YWwoImZvcihmYWxzZTtmYWxzZTtmYWxzZSk7IikpKTsKfSAgICAKCg==","commentary":"If Result(3).type is normal and its completion value is empty,\nthen return the value undefined","description":"for statement","path":"TestCases/ch15/15.1/15.1.2/15.1.2.1/S15.1.2.1_A3.2_T8.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBSZXN1bHQoMykudHlwZSBpcyBub3Qgbm9ybWFsLCB0aGVuIFJlc3VsdCgzKS50eXBlIG11c3QgYmUgdGhyb3cuCiAqIFRocm93IFJlc3VsdCgzKS52YWx1ZSBhcyBhbiBleGNlcHRpb24KICoKICogQHBhdGggY2gxNS8xNS4xLzE1LjEuMi8xNS4xLjIuMS9TMTUuMS4yLjFfQTMuM19UMS5qcwogKiBAZGVzY3JpcHRpb24gQ29udGludWUgc3RhdGVtZW50CiAqLwoKLy9DSEVDSyMxCnRyeSB7CiAgZXZhbCgiY29udGludWU7Iik7CiAgJEVSUk9SKCcjMS4xOiBjb250aW51ZSBtdXN0IHRocm93IFN5bnRheEVycm9yLiBBY3R1YWw6ICcgKyAoZXZhbCgiY29udGludWU7IikpKTsKfSBjYXRjaChlKSB7CiAgaWYgKChlIGluc3RhbmNlb2YgU3ludGF4RXJyb3IpICE9PSB0cnVlKSB7CiAgICAkRVJST1IoJyMxLjI6IGNvbnRpbnVlIG11c3QgdGhyb3cgU3ludGF4RXJyb3IuIEFjdHVhbCAnICsgKGUpKTsKICB9ICAKfQoKLy9DSEVDSyMyCnRyeSB7CiAgZm9yICh2YXIgaSA9IDA7IGkgPD0gMTsgaSsrKSB7CiAgICBmb3IgKHZhciBqID0gMDsgaiA8PSAxOyBqKyspIHsKICAgICAgIGV2YWwoImNvbnRpbnVlOyIpOyAgICAgICAKICAgIH0KICB9CiAgJEVSUk9SKCcjMi4xOiBjb250aW51ZSBtdXN0IHRocm93IFN5bnRheEVycm9yLiBBY3R1YWw6ICcgKyAoZXZhbCgiY29udGludWU7IikpKTsgICAgCn0gY2F0Y2goZSkgewogIGlmICgoZSBpbnN0YW5jZW9mIFN5bnRheEVycm9yKSAhPT0gdHJ1ZSkgewogICAgJEVSUk9SKCcjMi4yOiBjb250aW51ZSBtdXN0IHRocm93IFN5bnRheEVycm9yLiBBY3R1YWw6ICcgKyAoZSkpOwogIH0gIAp9ICAgICAgCgo=","commentary":"If Result(3).type is not normal, then Result(3).type must be throw.\nThrow Result(3).value as an exception","description":"Continue statement","path":"TestCases/ch15/15.1/15.1.2/15.1.2.1/S15.1.2.1_A3.3_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBSZXN1bHQoMykudHlwZSBpcyBub3Qgbm9ybWFsLCB0aGVuIFJlc3VsdCgzKS50eXBlIG11c3QgYmUgdGhyb3cuCiAqIFRocm93IFJlc3VsdCgzKS52YWx1ZSBhcyBhbiBleGNlcHRpb24KICoKICogQHBhdGggY2gxNS8xNS4xLzE1LjEuMi8xNS4xLjIuMS9TMTUuMS4yLjFfQTMuM19UMi5qcwogKiBAZGVzY3JpcHRpb24gQnJlYWsgc3RhdGVtZW50CiAqLwoKLy9DSEVDSyMxCnRyeSB7CiAgZXZhbCgiYnJlYWs7Iik7CiAgJEVSUk9SKCcjMS4xOiBicmVhayBtdXN0IHRocm93IFN5bnRheEVycm9yLiBBY3R1YWw6ICcgKyAoZXZhbCgiYnJlYWs7IikpKTsKfSBjYXRjaChlKSB7CiAgaWYgKChlIGluc3RhbmNlb2YgU3ludGF4RXJyb3IpICE9PSB0cnVlKSB7CiAgICAkRVJST1IoJyMxLjI6IGJyZWFrIG11c3QgdGhyb3cgU3ludGF4RXJyb3IuIEFjdHVhbDogJyArIChlKSk7CiAgfSAgCn0KCi8vQ0hFQ0sjMgp0cnkgewogIGZvciAodmFyIGkgPSAwOyBpIDw9IDE7IGkrKykgewogICAgZm9yICh2YXIgaiA9IDA7IGogPD0gMTsgaisrKSB7CiAgICAgICBldmFsKCJicmVhazsiKTsKICAgIH0KICB9CiAgJEVSUk9SKCcjMi4xOiBicmVhayBtdXN0IHRocm93IFN5bnRheEVycm9yLiBBY3R1YWw6ICcgKyAoZXZhbCgiYnJlYWs7IikpKTsgICAgCn0gY2F0Y2goZSkgewogIGlmICgoZSBpbnN0YW5jZW9mIFN5bnRheEVycm9yKSAhPT0gdHJ1ZSkgeyAgIAogICAgJEVSUk9SKCcjMi4yOiBicmVhayBtdXN0IHRocm93IFN5bnRheEVycm9yLiBBY3R1YWw6ICcgKyAoZSkpOwogIH0gIAp9ICAgICAgCgo=","commentary":"If Result(3).type is not normal, then Result(3).type must be throw.\nThrow Result(3).value as an exception","description":"Break statement","path":"TestCases/ch15/15.1/15.1.2/15.1.2.1/S15.1.2.1_A3.3_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBSZXN1bHQoMykudHlwZSBpcyBub3Qgbm9ybWFsLCB0aGVuIFJlc3VsdCgzKS50eXBlIG11c3QgYmUgdGhyb3cuCiAqIFRocm93IFJlc3VsdCgzKS52YWx1ZSBhcyBhbiBleGNlcHRpb24KICoKICogQHBhdGggY2gxNS8xNS4xLzE1LjEuMi8xNS4xLjIuMS9TMTUuMS4yLjFfQTMuM19UMy5qcwogKiBAZGVzY3JpcHRpb24gUmV0dXJuIHN0YXRlbWVudAogKi8KCi8vQ0hFQ0sjMQp0cnkgewogIGV2YWwoInJldHVybjsiKTsKICAkRVJST1IoJyMxLjE6IHJldHVybiBtdXN0IHRocm93IFN5bnRheEVycm9yLiBBY3R1YWw6ICcgKyAoZXZhbCgicmV0dXJuOyIpKSk7Cn0gY2F0Y2goZSkgewogIGlmICgoZSBpbnN0YW5jZW9mIFN5bnRheEVycm9yKSAhPT0gdHJ1ZSkgewogICAgJEVSUk9SKCcjMS4yOiByZXR1cm4gbXVzdCB0aHJvdyBTeW50YXhFcnJvci4gQWN0dWFsOiAnICsgKGUpKTsKICB9ICAKfQoKLy9DSEVDSyMyCgpmdW5jdGlvbiBmKCkgeyAgZXZhbCgicmV0dXJuOyIpOyB9OwoKdHJ5IHsKICBmKCk7ICAgICAgCiAgJEVSUk9SKCcjMi4xOiByZXR1cm4gbXVzdCB0aHJvdyBTeW50YXhFcnJvci4gQWN0dWFsOiAnICsgKGYoKSkpOwp9IGNhdGNoKGUpIHsKICBpZiAoKGUgaW5zdGFuY2VvZiBTeW50YXhFcnJvcikgIT09IHRydWUpIHsKICAgICRFUlJPUignIzIuMjogcmV0dXJuIG11c3QgdGhyb3cgU3ludGF4RXJyb3IuIEFjdHVhbDogJyArIChlKSk7CiAgfSAgCn0gICAgICAKCg==","commentary":"If Result(3).type is not normal, then Result(3).type must be throw.\nThrow Result(3).value as an exception","description":"Return statement","path":"TestCases/ch15/15.1/15.1.2/15.1.2.1/S15.1.2.1_A3.3_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBSZXN1bHQoMykudHlwZSBpcyBub3Qgbm9ybWFsLCB0aGVuIFJlc3VsdCgzKS50eXBlIG11c3QgYmUgdGhyb3cuCiAqIFRocm93IFJlc3VsdCgzKS52YWx1ZSBhcyBhbiBleGNlcHRpb24KICoKICogQHBhdGggY2gxNS8xNS4xLzE1LjEuMi8xNS4xLjIuMS9TMTUuMS4yLjFfQTMuM19UNC5qcwogKiBAZGVzY3JpcHRpb24gVGhyb3cgc3RhdGVtZW50CiAqLwoKLy9DSEVDSyMxCnRyeSB7CiAgZXZhbCgidGhyb3cgMTsiKTsKICAkRVJST1IoJyMxLjE6IHRocm93IDEgbXVzdCB0aHJvdyBTeW50YXhFcnJvci4gQWN0dWFsOiAnICsgKGV2YWwoInRocm93IDE7IikpKTsKfSBjYXRjaChlKSB7CiAgaWYgKGUgIT09IDEpIHsKICAgICRFUlJPUignIzEuMjogdGhyb3cgMSBtdXN0IHRocm93IFN5bnRheEVycm9yLiBBY3R1YWw6ICcgKyAoZSkpOwogIH0gIAp9Cgo=","commentary":"If Result(3).type is not normal, then Result(3).type must be throw.\nThrow Result(3).value as an exception","description":"Throw statement","path":"TestCases/ch15/15.1/15.1.2/15.1.2.1/S15.1.2.1_A3.3_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgbGVuZ3RoIHByb3BlcnR5IG9mIGV2YWwgaGFzIHRoZSBhdHRyaWJ1dGUgRG9udEVudW0KICoKICogQHBhdGggY2gxNS8xNS4xLzE1LjEuMi8xNS4xLjIuMS9TMTUuMS4yLjFfQTQuMS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgdXNlIHByb3BlcnR5SXNFbnVtZXJhYmxlLCBmb3ItaW4KICovCgovL0NIRUNLIzEKaWYgKGV2YWwucHJvcGVydHlJc0VudW1lcmFibGUoJ2xlbmd0aCcpICE9PSBmYWxzZSkgewogICRFUlJPUignIzE6IGV2YWwucHJvcGVydHlJc0VudW1lcmFibGUoXCdsZW5ndGhcJykgPT09IGZhbHNlLiBBY3R1YWw6ICcgKyAoZXZhbC5wcm9wZXJ0eUlzRW51bWVyYWJsZSgnbGVuZ3RoJykpKTsKfQoKLy9DSEVDSyMyCnZhciByZXN1bHQgPSB0cnVlOwpmb3IgKHAgaW4gZXZhbCl7CiAgaWYgKHAgPT09ICJsZW5ndGgiKSB7CiAgICByZXN1bHQgPSBmYWxzZTsKICB9ICAKfQoKaWYgKHJlc3VsdCAhPT0gdHJ1ZSkgewogICRFUlJPUignIzI6IHJlc3VsdCA9IHRydWU7IGZvciAocCBpbiBldmFsKSB7IGlmIChwID09PSAibGVuZ3RoIikgcmVzdWx0ID0gZmFsc2U7IH07ICByZXN1bHQgPT09IHRydWU7Jyk7Cn0KCg==","commentary":"The length property of eval has the attribute DontEnum","description":"Checking use propertyIsEnumerable, for-in","path":"TestCases/ch15/15.1/15.1.2/15.1.2.1/S15.1.2.1_A4.1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgbGVuZ3RoIHByb3BlcnR5IG9mIGV2YWwgaGFzIHRoZSBhdHRyaWJ1dGUgRG9udERlbGV0ZQogKgogKiBAcGF0aCBjaDE1LzE1LjEvMTUuMS4yLzE1LjEuMi4xL1MxNS4xLjIuMV9BNC4yLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyB1c2UgaGFzT3duUHJvcGVydHksIGRlbGV0ZQogKi8KCi8vQ0hFQ0sjMQppZiAoZXZhbC5oYXNPd25Qcm9wZXJ0eSgnbGVuZ3RoJykgIT09IHRydWUpIHsKICAkRkFJTCgnIzE6IGV2YWwuaGFzT3duUHJvcGVydHkoXCdsZW5ndGhcJykgPT09IHRydWUuIEFjdHVhbDogJyArIChldmFsLmhhc093blByb3BlcnR5KCdsZW5ndGgnKSkpOwp9CgpkZWxldGUgZXZhbC5sZW5ndGg7CgovL0NIRUNLIzIKaWYgKGV2YWwuaGFzT3duUHJvcGVydHkoJ2xlbmd0aCcpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMjogZGVsZXRlIGV2YWwubGVuZ3RoOyBldmFsLmhhc093blByb3BlcnR5KFwnbGVuZ3RoXCcpID09PSB0cnVlLiBBY3R1YWw6ICcgKyAoZXZhbC5oYXNPd25Qcm9wZXJ0eSgnbGVuZ3RoJykpKTsKfQoKLy9DSEVDSyMzCmlmIChldmFsLmxlbmd0aCA9PT0gdW5kZWZpbmVkKSB7CiAgJEVSUk9SKCcjMzogZGVsZXRlIGV2YWwubGVuZ3RoOyBldmFsLmxlbmd0aCAhPT0gdW5kZWZpbmVkJyk7Cn0KCgoKCg==","commentary":"The length property of eval has the attribute DontDelete","description":"Checking use hasOwnProperty, delete","path":"TestCases/ch15/15.1/15.1.2/15.1.2.1/S15.1.2.1_A4.2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgbGVuZ3RoIHByb3BlcnR5IG9mIGV2YWwgaGFzIHRoZSBhdHRyaWJ1dGUgUmVhZE9ubHkKICoKICogQHBhdGggY2gxNS8xNS4xLzE1LjEuMi8xNS4xLjIuMS9TMTUuMS4yLjFfQTQuMy5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgaWYgdmFyeWluZyB0aGUgbGVuZ3RoIHByb3BlcnR5IGZhaWxzCiAqIEBub1N0cmljdAogKi8KCi8vQ0hFQ0sjMQp2YXIgeCA9IGV2YWwubGVuZ3RoOwpldmFsLmxlbmd0aCA9IEluZmluaXR5OwppZiAoZXZhbC5sZW5ndGggIT09IHgpIHsKICAkRVJST1IoJyMxOiB4ID0gZXZhbC5sZW5ndGg7IGV2YWwubGVuZ3RoID0gSW5maW5pdHk7IGV2YWwubGVuZ3RoID09PSB4LiBBY3R1YWw6ICcgKyAoZXZhbC5sZW5ndGgpKTsKfQoKCg==","commentary":"The length property of eval has the attribute ReadOnly","description":"Checking if varying the length property fails","noStrict":"","path":"TestCases/ch15/15.1/15.1.2/15.1.2.1/S15.1.2.1_A4.3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgbGVuZ3RoIHByb3BlcnR5IG9mIGV2YWwgaXMgMQogKgogKiBAcGF0aCBjaDE1LzE1LjEvMTUuMS4yLzE1LjEuMi4xL1MxNS4xLjIuMV9BNC40LmpzCiAqIEBkZXNjcmlwdGlvbiBldmFsLmxlbmd0aCA9PT0gMQogKi8KCi8vQ0hFQ0sjMQppZiAoZXZhbC5sZW5ndGggIT09IDEpIHsKICAkRVJST1IoJyMxOiBldmFsLmxlbmd0aCA9PT0gMS4gQWN0dWFsOiAnICsgKGV2YWwubGVuZ3RoKSk7Cn0gCgoK","commentary":"The length property of eval is 1","description":"eval.length === 1","path":"TestCases/ch15/15.1/15.1.2/15.1.2.1/S15.1.2.1_A4.4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgZXZhbCBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZSBEb250RW51bQogKgogKiBAcGF0aCBjaDE1LzE1LjEvMTUuMS4yLzE1LjEuMi4xL1MxNS4xLjIuMV9BNC41LmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyB1c2UgcHJvcGVydHlJc0VudW1lcmFibGUsIGZvci1pbgogKi8KCi8vQ0hFQ0sjMQppZiAodGhpcy5wcm9wZXJ0eUlzRW51bWVyYWJsZSgnZXZhbCcpICE9PSBmYWxzZSkgewogICRFUlJPUignIzE6IHRoaXMucHJvcGVydHlJc0VudW1lcmFibGUoXCdldmFsXCcpID09PSBmYWxzZS4gQWN0dWFsOiAnICsgKHRoaXMucHJvcGVydHlJc0VudW1lcmFibGUoJ2V2YWwnKSkpOwp9CgovL0NIRUNLIzIKdmFyIHJlc3VsdCA9IHRydWU7CmZvciAodmFyIHAgaW4gdGhpcyl7CiAgaWYgKHAgPT09ICJldmFsIikgewogICAgcmVzdWx0ID0gZmFsc2U7CiAgfSAgCn0KCmlmIChyZXN1bHQgIT09IHRydWUpIHsKICAkRVJST1IoJyMyOiByZXN1bHQgPSB0cnVlOyBmb3IgKHAgaW4gdGhpcykgeyBpZiAocCA9PT0gImV2YWwiKSByZXN1bHQgPSBmYWxzZTsgfSAgcmVzdWx0ID09PSB0cnVlOycpOwp9Cgo=","commentary":"The eval property has the attribute DontEnum","description":"Checking use propertyIsEnumerable, for-in","path":"TestCases/ch15/15.1/15.1.2/15.1.2.1/S15.1.2.1_A4.5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgZXZhbCBwcm9wZXJ0eSBoYXMgbm90IHByb3RvdHlwZSBwcm9wZXJ0eQogKgogKiBAcGF0aCBjaDE1LzE1LjEvMTUuMS4yLzE1LjEuMi4xL1MxNS4xLjIuMV9BNC42LmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBldmFsLnByb3RvdHlwZQogKi8KCi8vQ0hFQ0sjMQppZiAoZXZhbC5wcm90b3R5cGUgIT09IHVuZGVmaW5lZCkgewogICRFUlJPUignIzE6IGV2YWwucHJvdG90eXBlID09PSB1bmRlZmluZWQuIEFjdHVhbDogJyArIChldmFsLnByb3RvdHlwZSkpOwp9Cgo=","commentary":"The eval property has not prototype property","description":"Checking eval.prototype","path":"TestCases/ch15/15.1/15.1.2/15.1.2.1/S15.1.2.1_A4.6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgZXZhbCBwcm9wZXJ0eSBjYW4ndCBiZSB1c2VkIGFzIGNvbnN0cnVjdG9yCiAqCiAqIEBwYXRoIGNoMTUvMTUuMS8xNS4xLjIvMTUuMS4yLjEvUzE1LjEuMi4xX0E0LjcuanMKICogQGRlc2NyaXB0aW9uIElmIHByb3BlcnR5IGRvZXMgbm90IGltcGxlbWVudCB0aGUgaW50ZXJuYWwgW1tDb25zdHJ1Y3RdXSBtZXRob2QsIHRocm93IGEgVHlwZUVycm9yIGV4Y2VwdGlvbgogKi8KCi8vQ0hFQ0sjMQoKdHJ5IHsKICBuZXcgZXZhbCgpOwogICRFUlJPUignIzEuMTogbmV3IGV2YWwoKSB0aHJvdyBUeXBlRXJyb3IuIEFjdHVhbDogJyArIChuZXcgZXZhbCgpKSk7Cn0gY2F0Y2ggKGUpIHsKICBpZiAoKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpICE9PSB0cnVlKSB7CiAgICAkRVJST1IoJyMxLjI6IG5ldyBldmFsKCkgdGhyb3cgVHlwZUVycm9yLiBBY3R1YWw6ICcgKyAoZSkpOwogIH0KfQoK","commentary":"The eval property can't be used as constructor","description":"If property does not implement the internal [[Construct]] method, throw a TypeError exception","path":"TestCases/ch15/15.1/15.1.2/15.1.2.1/S15.1.2.1_A4.7.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4xLzE1LjEuMi8xNS4xLjIuMi8xNS4xLjIuMi0yLTEuanMNCiAqIEBkZXNjcmlwdGlvbiBwYXJlc2VJbnQgLSAnUycgaXMgdGhlIGVtcHR5IHN0cmluZyB3aGVuIGlucHV0U3RyaW5nIGRvZXMgbm90IGNvbnRhaW4gYW55IHN1Y2ggY2hhcmFjdGVycw0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHJldHVybiBpc05hTihwYXJzZUludCgiIikpICYmIHBhcnNlSW50KCIiKSAhPT0gcGFyc2VJbnQoIiIpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"pareseInt - 'S' is the empty string when inputString does not contain any such characters","path":"TestCases/ch15/15.1/15.1.2/15.1.2.2/15.1.2.2-2-1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB1c2UgVG9TdHJpbmcKICoKICogQHBhdGggY2gxNS8xNS4xLzE1LjEuMi8xNS4xLjIuMi9TMTUuMS4yLjJfQTFfVDEuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGZvciBib29sZWFuIHByaW1pdGl2ZQogKi8KCi8vQ0hFQ0sjMQppZiAoIShpc05hTihwYXJzZUludCh0cnVlKSkgJiYgaXNOYU4ocGFyc2VJbnQoIk5hTiIpKSkpIHsKICAkRVJST1IoJyMxOiBwYXJzZUludCh0cnVlKSA9PT0gTm90LWEtTnVtYmVyOyBwYXJzZUludCgiTmFOIikgPT09IE5vdC1hLU51bWJlci4gQWN0dWFsOiAnICsgKHBhcnNlSW50KCJOYU4iKSkpOwp9CgovL0NIRUNLIzIKaWYgKFN0cmluZyhwYXJzZUludChmYWxzZSkpICE9PSAiTmFOIikgewogICRFUlJPUignIzI6IFN0cmluZyhwYXJzZUludChmYWxzZSkpID09PSAiTmFOIi4gQWN0dWFsOiAnICsgKFN0cmluZyhwYXJzZUludChmYWxzZSkpKSk7Cn0KCg==","commentary":"Operator use ToString","description":"Checking for boolean primitive","path":"TestCases/ch15/15.1/15.1.2/15.1.2.2/S15.1.2.2_A1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB1c2UgVG9TdHJpbmcKICoKICogQHBhdGggY2gxNS8xNS4xLzE1LjEuMi8xNS4xLjIuMi9TMTUuMS4yLjJfQTFfVDIuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGZvciBudW1iZXIgcHJpbWl0aXZlCiAqLwoKLy9DSEVDSyMxCmlmIChwYXJzZUludCgtMSkgIT09IHBhcnNlSW50KCItMSIpKSB7CiAgJEVSUk9SKCcjMTogcGFyc2VJbnQoLTEpID09PSBwYXJzZUludCgiLTEiKS4gQWN0dWFsOiAnICsgKHBhcnNlSW50KC0xKSkpOwp9CgovL0NIRUNLIzIKaWYgKFN0cmluZyhwYXJzZUludChJbmZpbml0eSkpICE9PSAiTmFOIikgewogICRFUlJPUignIzI6IFN0cmluZyhwYXJzZUludChJbmZpbml0eSkpID09PSAiTmFOIi4gQWN0dWFsOiAnICsgKFN0cmluZyhwYXJzZUludChJbmZpbml0eSkpKSk7Cn0KCi8vQ0hFQ0sjMwppZiAoU3RyaW5nKHBhcnNlSW50KE5hTikpICE9PSAiTmFOIikgewogICRFUlJPUignIzM6IFN0cmluZyhwYXJzZUludChOYU4pKSA9PT0gIk5hTiIuIEFjdHVhbDogJyArIChTdHJpbmcocGFyc2VJbnQoTmFOKSkpKTsKfQoKLy9DSEVDSyM0CmlmIChwYXJzZUludCgtMCkgIT09IDApIHsKICAkRVJST1IoJyM0OiBwYXJzZUludCgtMCkgPT09IDAuIEFjdHVhbDogJyArIChwYXJzZUludCgtMCkpKTsKfSBlbHNlIHsKICBpZiAoMSAvIHBhcnNlSW50KC0wKSAhPT0gTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZKSB7CiAgICAkRVJST1IoJyM0OiBwYXJzZUludCgtMCkgPT09ICswLiBBY3R1YWw6ICcgKyAocGFyc2VJbnQoLTApKSk7CiAgfQp9ICAgIAoK","commentary":"Operator use ToString","description":"Checking for number primitive","path":"TestCases/ch15/15.1/15.1.2/15.1.2.2/S15.1.2.2_A1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB1c2UgVG9TdHJpbmcKICoKICogQHBhdGggY2gxNS8xNS4xLzE1LjEuMi8xNS4xLjIuMi9TMTUuMS4yLjJfQTFfVDMuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGZvciB1bmRlZmluZWQgYW5kIG51bGwKICovCgovL0NIRUNLIzEKaWYgKCEoaXNOYU4ocGFyc2VJbnQodW5kZWZpbmVkKSkgJiYgaXNOYU4ocGFyc2VJbnQoIk5hTiIpKSkpIHsKICAkRVJST1IoJyMxOiBwYXJzZUludCh1bmRlZmluZWQpID09PSBOb3QtYS1OdW1iZXI7IHBhcnNlSW50KCJOYU4iKSA9PT0gTm90LWEtTnVtYmVyLiBBY3R1YWw6ICcgKyAocGFyc2VJbnQoIk5hTiIpKSk7Cn0KCi8vQ0hFQ0sjMgppZiAoIShpc05hTihwYXJzZUludChudWxsKSkgJiYgaXNOYU4ocGFyc2VJbnQoIk5hTiIpKSkpIHsKICAkRVJST1IoJyMyOiBwYXJzZUludChudWxsKSA9PT0gTm90LWEtTnVtYmVyOyBwYXJzZUludCgiTmFOIikgPT09IE5vdC1hLU51bWJlci4gQWN0dWFsOiAnICsgKHBhcnNlSW50KCJOYU4iKSkpOwp9CgovL0NIRUNLIzMKaWYgKFN0cmluZyhwYXJzZUludCh1bmRlZmluZWQpKSAhPT0gIk5hTiIpIHsKICAkRVJST1IoJyMzOiBTdHJpbmcocGFyc2VJbnQodW5kZWZpbmVkKSkgPT09ICJOYU4iLiBBY3R1YWw6ICcgKyAoU3RyaW5nKHBhcnNlSW50KHVuZGVmaW5lZCkpKSk7Cn0KCi8vQ0hFQ0sjNAppZiAoU3RyaW5nKHBhcnNlSW50KG51bGwpKSAhPT0gIk5hTiIpIHsKICAkRVJST1IoJyM0OiBTdHJpbmcocGFyc2VJbnQobnVsbCkpID09PSAiTmFOIi4gQWN0dWFsOiAnICsgKFN0cmluZyhwYXJzZUludChudWxsKSkpKTsKfQoK","commentary":"Operator use ToString","description":"Checking for undefined and null","path":"TestCases/ch15/15.1/15.1.2/15.1.2.2/S15.1.2.2_A1_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB1c2UgVG9TdHJpbmcKICoKICogQHBhdGggY2gxNS8xNS4xLzE1LjEuMi8xNS4xLjIuMi9TMTUuMS4yLjJfQTFfVDQuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGZvciBCb29sZWFuIG9iamVjdAogKi8KCi8vQ0hFQ0sjMQppZiAoIShpc05hTihwYXJzZUludChuZXcgQm9vbGVhbih0cnVlKSkpICYmIGlzTmFOKHBhcnNlSW50KCJOYU4iKSkpKSB7CiAgJEVSUk9SKCcjMTogcGFyc2VJbnQobmV3IEJvb2xlYW4odHJ1ZSkpID09PSBOb3QtYS1OdW1iZXI7IHBhcnNlSW50KCJOYU4iKSA9PT0gTm90LWEtTnVtYmVyLiBBY3R1YWw6ICcgKyAocGFyc2VJbnQoIk5hTiIpKSk7Cn0KCi8vQ0hFQ0sjMgppZiAoU3RyaW5nKHBhcnNlSW50KG5ldyBCb29sZWFuKGZhbHNlKSkpICE9PSAiTmFOIikgewogICRFUlJPUignIzI6IFN0cmluZyhwYXJzZUludChuZXcgQm9vbGVhbihmYWxzZSkpKSA9PT0gIk5hTiIuIEFjdHVhbDogJyArIChTdHJpbmcocGFyc2VJbnQobmV3IEJvb2xlYW4oZmFsc2UpKSkpKTsKfQoK","commentary":"Operator use ToString","description":"Checking for Boolean object","path":"TestCases/ch15/15.1/15.1.2/15.1.2.2/S15.1.2.2_A1_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB1c2UgVG9TdHJpbmcKICoKICogQHBhdGggY2gxNS8xNS4xLzE1LjEuMi8xNS4xLjIuMi9TMTUuMS4yLjJfQTFfVDUuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGZvciBOdW1iZXIgb2JqZWN0CiAqLwoKLy9DSEVDSyMxCmlmIChwYXJzZUludChuZXcgTnVtYmVyKC0xKSkgIT09IHBhcnNlSW50KCItMSIpKSB7CiAgJEVSUk9SKCcjMTogcGFyc2VJbnQobmV3IE51bWJlcigtMSkpID09PSBwYXJzZUludCgiLTEiKS4gQWN0dWFsOiAnICsgKHBhcnNlSW50KG5ldyBOdW1iZXIoLTEpKSkpOwp9CgovL0NIRUNLIzIKaWYgKFN0cmluZyhwYXJzZUludChuZXcgTnVtYmVyKEluZmluaXR5KSkpICE9PSAiTmFOIikgewogICRFUlJPUignIzI6IFN0cmluZyhwYXJzZUludChuZXcgTnVtYmVyKEluZmluaXR5KSkpID09PSAiTmFOIi4gQWN0dWFsOiAnICsgKFN0cmluZyhwYXJzZUludChuZXcgTnVtYmVyKEluZmluaXR5KSkpKSk7Cn0KCi8vQ0hFQ0sjMwppZiAoU3RyaW5nKHBhcnNlSW50KG5ldyBOdW1iZXIoTmFOKSkpICE9PSAiTmFOIikgewogICRFUlJPUignIzM6IFN0cmluZyhwYXJzZUludChuZXcgTnVtYmVyKE5hTikpKSA9PT0gIk5hTiIuIEFjdHVhbDogJyArIChTdHJpbmcocGFyc2VJbnQobmV3IE51bWJlcihOYU4pKSkpKTsKfQoK","commentary":"Operator use ToString","description":"Checking for Number object","path":"TestCases/ch15/15.1/15.1.2/15.1.2.2/S15.1.2.2_A1_T5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB1c2UgVG9TdHJpbmcKICoKICogQHBhdGggY2gxNS8xNS4xLzE1LjEuMi8xNS4xLjIuMi9TMTUuMS4yLjJfQTFfVDYuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGZvciBTdHJpbmcgb2JqZWN0CiAqLwoKLy9DSEVDSyMxCmlmIChwYXJzZUludChuZXcgU3RyaW5nKCItMSIpKSAhPT0gcGFyc2VJbnQoIi0xIikpIHsKICAkRVJST1IoJyMxOiBwYXJzZUludChuZXcgU3RyaW5nKCItMSIpKSA9PT0gcGFyc2VJbnQoIi0xIikuIEFjdHVhbDogJyArIChwYXJzZUludChuZXcgU3RyaW5nKCItMSIpKSkpOwp9CgovL0NIRUNLIzIKaWYgKFN0cmluZyhwYXJzZUludChuZXcgU3RyaW5nKCJJbmZpbml0eSIpKSkgIT09ICJOYU4iKSB7CiAgJEVSUk9SKCcjMjogU3RyaW5nKHBhcnNlSW50KG5ldyBTdHJpbmcoIkluZmluaXR5IikpKSA9PT0gIk5hTiIuIEFjdHVhbDogJyArIChTdHJpbmcocGFyc2VJbnQobmV3IFN0cmluZygiSW5maW5pdHkiKSkpKSk7Cn0KCi8vQ0hFQ0sjMwppZiAoU3RyaW5nKHBhcnNlSW50KG5ldyBTdHJpbmcoIk5hTiIpKSkgIT09ICJOYU4iKSB7CiAgJEVSUk9SKCcjMzogU3RyaW5nKHBhcnNlSW50KG5ldyBTdHJpbmcoIk5hTiIpKSkgPT09ICJOYU4iLiBBY3R1YWw6ICcgKyAoU3RyaW5nKHBhcnNlSW50KG5ldyBTdHJpbmcoIk5hTiIpKSkpKTsKfQoKLy9DSEVDSyM0CmlmIChTdHJpbmcocGFyc2VJbnQobmV3IFN0cmluZygiZmFsc2UiKSkpICE9PSAiTmFOIikgewogICRFUlJPUignIzQ6IFN0cmluZyhwYXJzZUludChuZXcgU3RyaW5nKCJmYWxzZSIpKSkgPT09ICJOYU4iLiBBY3R1YWw6ICcgKyAoU3RyaW5nKHBhcnNlSW50KG5ldyBTdHJpbmcoImZhbHNlIikpKSkpOwp9Cgo=","commentary":"Operator use ToString","description":"Checking for String object","path":"TestCases/ch15/15.1/15.1.2/15.1.2.2/S15.1.2.2_A1_T6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB1c2UgVG9TdHJpbmcKICoKICogQHBhdGggY2gxNS8xNS4xLzE1LjEuMi8xNS4xLjIuMi9TMTUuMS4yLjJfQTFfVDcuanMKICogQGRlc2NyaXB0aW9uIElmIFR5cGUodmFsdWUpIGlzIE9iamVjdCwgZXZhbHVhdGUgVG9QcmltaXRpdmUodmFsdWUsIFN0cmluZykKICovCgovL0NIRUNLIzEKdmFyIG9iamVjdCA9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gMX19OwppZiAoaXNOYU4ocGFyc2VJbnQob2JqZWN0KSkgIT09IHRydWUpIHsKICAkRVJST1IoJyMxOiB2YXIgb2JqZWN0ID0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAxfX07IHBhcnNlSW50KG9iamVjdCkgPT09IE5vdC1hLU51bWJlci4gQWN0dWFsOiAnICsgKHBhcnNlSW50KG9iamVjdCkpKTsKfQoKLy9DSEVDSyMyCnZhciBvYmplY3QgPSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIDF9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIDB9fTsKaWYgKHBhcnNlSW50KG9iamVjdCkgIT09IDApIHsKICAkRVJST1IoJyMyOiB2YXIgb2JqZWN0ID0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAxfSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiAwfX07IHBhcnNlSW50KG9iamVjdCkgPT09IDAuIEFjdHVhbDogJyArIChwYXJzZUludChvYmplY3QpKSk7Cn0gCgovL0NIRUNLIzMKdmFyIG9iamVjdCA9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gMX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4ge319fTsKaWYgKHBhcnNlSW50KG9iamVjdCkgIT09IDEpIHsKICAkRVJST1IoJyMzOiB2YXIgb2JqZWN0ID0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAxfSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiB7fX19OyBwYXJzZUludChvYmplY3QpID09PSAxLiBBY3R1YWw6ICcgKyAocGFyc2VJbnQob2JqZWN0KSkpOwp9CgovL0NIRUNLIzQKdHJ5IHsKICB2YXIgb2JqZWN0ID0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3Rocm93ICJlcnJvciJ9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIDF9fTsKICBpZiAocGFyc2VJbnQob2JqZWN0KSAhPT0gMSkgewogICAgJEVSUk9SKCcjNC4xOiB2YXIgb2JqZWN0ID0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3Rocm93ICJlcnJvciJ9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIDF9fTsgcGFyc2VJbnQob2JqZWN0KSA9PT0gMS4gQWN0dWFsOiAnICsgKHBhcnNlSW50KG9iamVjdCkpKTsKICB9Cn0KY2F0Y2ggKGUpIHsKICBpZiAoZSA9PT0gImVycm9yIikgewogICAgJEVSUk9SKCcjNC4yOiB2YXIgb2JqZWN0ID0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3Rocm93ICJlcnJvciJ9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIDF9fTsgcGFyc2VJbnQob2JqZWN0KSBub3QgdGhyb3cgImVycm9yIicpOwogIH0gZWxzZSB7CiAgICAkRVJST1IoJyM0LjM6IHZhciBvYmplY3QgPSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7dGhyb3cgImVycm9yIn0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gMX19OyBwYXJzZUludChvYmplY3QpIG5vdCB0aHJvdyBFcnJvci4gQWN0dWFsOiAnICsgKGUpKTsKICB9Cn0KCi8vQ0hFQ0sjNQp2YXIgb2JqZWN0ID0ge3RvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gMX19OwppZiAocGFyc2VJbnQob2JqZWN0KSAhPT0gMSkgewogICRFUlJPUignIzU6IHZhciBvYmplY3QgPSB7dG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiAxfX07IHBhcnNlSW50KG9iamVjdCkgPT09IDEuIEFjdHVhbDogJyArIChwYXJzZUludChvYmplY3QpKSk7Cn0KCi8vQ0hFQ0sjNgp2YXIgb2JqZWN0ID0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiB7fX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gMX19CmlmIChwYXJzZUludChvYmplY3QpICE9PSAxKSB7CiAgJEVSUk9SKCcjNjogdmFyIG9iamVjdCA9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4ge319LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIDF9fTsgcGFyc2VJbnQob2JqZWN0KSA9PT0gMS4gQWN0dWFsOiAnICsgKHBhcnNlSW50KG9iamVjdCkpKTsKfQoKLy9DSEVDSyM3CnRyeSB7CiAgdmFyIG9iamVjdCA9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gMX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHt0aHJvdyAiZXJyb3IifX07CiAgcGFyc2VJbnQob2JqZWN0KTsKICAkRVJST1IoJyM3LjE6IHZhciBvYmplY3QgPSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIDF9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7dGhyb3cgImVycm9yIn19OyBwYXJzZUludChvYmplY3QpIHRocm93ICJlcnJvciIuIEFjdHVhbDogJyArIChwYXJzZUludChvYmplY3QpKSk7Cn0gIApjYXRjaCAoZSkgewogIGlmIChlICE9PSAiZXJyb3IiKSB7CiAgICAkRVJST1IoJyM3LjI6IHZhciBvYmplY3QgPSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIDF9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7dGhyb3cgImVycm9yIn19OyBwYXJzZUludChvYmplY3QpIHRocm93ICJlcnJvciIuIEFjdHVhbDogJyArIChlKSk7CiAgfSAKfQoKLy9DSEVDSyM4CnRyeSB7CiAgdmFyIG9iamVjdCA9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4ge319LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIHt9fX07CiAgcGFyc2VJbnQob2JqZWN0KTsKICAkRVJST1IoJyM4LjE6IHZhciBvYmplY3QgPSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIHt9fSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiB7fX19OyBwYXJzZUludChvYmplY3QpIHRocm93IFR5cGVFcnJvci4gQWN0dWFsOiAnICsgKHBhcnNlSW50KG9iamVjdCkpKTsKfSAgCmNhdGNoIChlKSB7CiAgaWYgKChlIGluc3RhbmNlb2YgVHlwZUVycm9yKSAhPT0gdHJ1ZSkgewogICAgJEVSUk9SKCcjOC4yOiB2YXIgb2JqZWN0ID0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiB7fX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4ge319fTsgcGFyc2VJbnQob2JqZWN0KSB0aHJvdyBUeXBlRXJyb3IuIEFjdHVhbDogJyArIChlKSk7CiAgfSAKfQoK","commentary":"Operator use ToString","description":"If Type(value) is Object, evaluate ToPrimitive(value, String)","path":"TestCases/ch15/15.1/15.1.2/15.1.2.2/S15.1.2.2_A1_T7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciByZW1vdmUgbGVhZGluZyBTdHJXaGl0ZVNwYWNlQ2hhcgogKgogKiBAcGF0aCBjaDE1LzE1LjEvMTUuMS4yLzE1LjEuMi4yL1MxNS4xLjIuMl9BMl9UMS5qcwogKiBAZGVzY3JpcHRpb24gU3RyV2hpdGVTcGFjZUNoYXIgOjogVEFCIChVKzAwMDkpCiAqLwoKLy9DSEVDSyMxCmlmIChwYXJzZUludCgiXHUwMDA5MSIpICE9PSBwYXJzZUludCgiMSIpKSB7CiAgJEVSUk9SKCcjMTogcGFyc2VJbnQoIlxcdTAwMDkxIikgPT09IHBhcnNlSW50KCIxIikuIEFjdHVhbDogJyArIChwYXJzZUludCgiXHUwMDA5MSIpKSk7Cn0KCi8vQ0hFQ0sjMgppZiAocGFyc2VJbnQoIlx1MDAwOVx1MDAwOS0xIikgIT09IHBhcnNlSW50KCItMSIpKSB7CiAgJEVSUk9SKCcjMjogcGFyc2VJbnQoIlxcdTAwMDlcXHUwMDA5LTEiKSA9PT0gcGFyc2VJbnQoIi0xIikuIEFjdHVhbDogJyArIChwYXJzZUludCgiXHUwMDA5XHUwMDA5LTEiKSkpOwp9CgovL0NIRUNLIzMKaWYgKHBhcnNlSW50KCIJMSIpICE9PSBwYXJzZUludCgiMSIpKSB7CiAgJEVSUk9SKCcjMzogcGFyc2VJbnQoIgkxIikgPT09IHBhcnNlSW50KCIxIikuIEFjdHVhbDogJyArIChwYXJzZUludCgiCTEiKSkpOwp9CgovL0NIRUNLIzQKaWYgKHBhcnNlSW50KCIJCQkxIikgIT09IHBhcnNlSW50KCIxIikpIHsKICAkRVJST1IoJyM0OiBwYXJzZUludCgiCQkJMSIpID09PSBwYXJzZUludCgiMSIpLiBBY3R1YWw6ICcgKyAocGFyc2VJbnQoIgkJCTEiKSkpOwp9CgovL0NIRUNLIzUKaWYgKHBhcnNlSW50KCIJCQlcdTAwMDkJCQlcdTAwMDktMSIpICE9PSBwYXJzZUludCgiLTEiKSkgewogICRFUlJPUignIzU6IHBhcnNlSW50KCIJCQlcXHUwMDA5CQkJXFx1MDAwOS0xIikgPT09IHBhcnNlSW50KCItMSIpLiBBY3R1YWw6ICcgKyAocGFyc2VJbnQoIgkJCVx1MDAwOQkJCVx1MDAwOS0xIikpKTsKfQoKLy9DSEVDSyM2CmlmIChpc05hTihwYXJzZUludCgiXHUwMDA5IikpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjNjogcGFyc2VJbnQoIlxcdTAwMDkiKSA9PT0gTm90LWEtTnVtYmVyLiBBY3R1YWw6ICcgKyAocGFyc2VJbnQoIlx1MDAwOSIpKSk7Cn0KCg==","commentary":"Operator remove leading StrWhiteSpaceChar","description":"StrWhiteSpaceChar :: TAB (U+0009)","path":"TestCases/ch15/15.1/15.1.2/15.1.2.2/S15.1.2.2_A2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciByZW1vdmUgbGVhZGluZyBTdHJXaGl0ZVNwYWNlQ2hhcgogKgogKiBAcGF0aCBjaDE1LzE1LjEvMTUuMS4yLzE1LjEuMi4yL1MxNS4xLjIuMl9BMl9UMTAuanMKICogQGRlc2NyaXB0aW9uIFN0cldoaXRlU3BhY2VDaGFyIDo6IFVTUAogKi8KCi8vQ0hFQ0sjCnZhciBjb3VudCA9IDA7CnZhciBlcnJvckNvdW50ID0gMDsKdmFyIHVzcFUgPSBbIlx1MTY4MCIsICJcdTE4MEUiLCAiXHUyMDAwIiwgIlx1MjAwMSIsICJcdTIwMDIiLCAiXHUyMDAzIiwgIlx1MjAwNCIsICJcdTIwMDUiLCAiXHUyMDA2IiwgIlx1MjAwNyIsICJcdTIwMDgiLCAiXHUyMDA5IiwgIlx1MjAwQSIsICJcdTIwMkYiLCAiXHUyMDVGIiwgIlx1MzAwMCJdOwp2YXIgdXNwUyA9IFsiMTY4MCIsICIxODBFIiwgIjIwMDAiLCAiMjAwMSIsICIyMDAyIiwgIjIwMDMiLCAiMjAwNCIsICIyMDA1IiwgIjIwMDYiLCAiMjAwNyIsICIyMDA4IiwgIjIwMDkiLCAiMjAwQSIsICIyMDJGIiwgIjIwNUYiLCAiMzAwMCJdOwoKZm9yICh2YXIgaW5kZXggPSAwOyBpbmRleCA8IHVzcFUubGVuZ3RoOyBpbmRleCsrKSB7CiAgdmFyIHJlc3VsdCA9IHRydWU7CiAgaWYgKHBhcnNlSW50KHVzcFVbaW5kZXhdICsgIjEiKSAhPT0gcGFyc2VJbnQoIjEiKSkgewogICAgJEVSUk9SKCcjMS4nICsgIHVzcFNbaW5kZXhdICsgJyAnKTsKICAgIHJlc3VsdCA9IGZhbHNlOwogIH0KICAgaWYgKHBhcnNlSW50KHVzcFVbaW5kZXhdICsgdXNwVVtpbmRleF0gKyB1c3BVW2luZGV4XSArICIxIikgIT09IHBhcnNlSW50KCIxIikpIHsKICAgICRFUlJPUignIzIuJyArICB1c3BTW2luZGV4XSArICcgJyk7CiAgICByZXN1bHQgPSBmYWxzZTsKICB9CiAgaWYgKGlzTmFOKHBhcnNlSW50KHVzcFVbaW5kZXhdKSkgIT09IHRydWUpIHsKICAgICRFUlJPUignIzMuJyArICB1c3BTW2luZGV4XSArICcgJyk7CiAgICByZXN1bHQgPSBmYWxzZTsKICB9CiAgaWYgKHJlc3VsdCAhPT0gdHJ1ZSkgewogICAgICBlcnJvckNvdW50Kys7CiAgfQogIGNvdW50Kys7Cn0KCmlmIChlcnJvckNvdW50ID4gMCkgeyAgCiAgJEVSUk9SKCdUb3RhbCBlcnJvcjogJyArIGVycm9yQ291bnQgKyAnIGJhZCBVbmljb2RlIGNoYXJhY3RlciBpbiAnICsgY291bnQpOwp9Cgo=","commentary":"Operator remove leading StrWhiteSpaceChar","description":"StrWhiteSpaceChar :: USP","path":"TestCases/ch15/15.1/15.1.2/15.1.2.2/S15.1.2.2_A2_T10.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciByZW1vdmUgbGVhZGluZyBTdHJXaGl0ZVNwYWNlQ2hhcgogKgogKiBAcGF0aCBjaDE1LzE1LjEvMTUuMS4yLzE1LjEuMi4yL1MxNS4xLjIuMl9BMl9UMi5qcwogKiBAZGVzY3JpcHRpb24gU3RyV2hpdGVTcGFjZUNoYXIgOjogU1AgKFUrMDAyMCkKICovCgovL0NIRUNLIzEKaWYgKHBhcnNlSW50KCJcdTAwMjAxIikgIT09IHBhcnNlSW50KCIxIikpIHsKICAkRVJST1IoJyMxOiBwYXJzZUludCgiXFx1MDAyMDEiKSA9PT0gcGFyc2VJbnQoIjEiKS4gQWN0dWFsOiAnICsgKHBhcnNlSW50KCJcdTAwMjAxIikpKTsKfQoKLy9DSEVDSyMyCmlmIChwYXJzZUludCgiXHUwMDIwXHUwMDIwLTEiKSAhPT0gcGFyc2VJbnQoIi0xIikpIHsKICAkRVJST1IoJyMyOiBwYXJzZUludCgiXFx1MDAyMFxcdTAwMjAtMSIpID09PSBwYXJzZUludCgiLTEiKS4gQWN0dWFsOiAnICsgKHBhcnNlSW50KCJcdTAwMjBcdTAwMjAtMSIpKSk7Cn0KCi8vQ0hFQ0sjMwppZiAocGFyc2VJbnQoIiAxIikgIT09IHBhcnNlSW50KCIxIikpIHsKICAkRVJST1IoJyMzOiBwYXJzZUludCgiIDEiKSA9PT0gcGFyc2VJbnQoIjEiKS4gQWN0dWFsOiAnICsgKHBhcnNlSW50KCIgMSIpKSk7Cn0KCi8vQ0hFQ0sjNAppZiAocGFyc2VJbnQoIiAgICAgICAxIikgIT09IHBhcnNlSW50KCIxIikpIHsKICAkRVJST1IoJyM0OiBwYXJzZUludCgiICAgICAgIDEiKSA9PT0gcGFyc2VJbnQoIjEiKS4gQWN0dWFsOiAnICsgKHBhcnNlSW50KCIgICAgICAgMSIpKSk7Cn0KCi8vQ0hFQ0sjNQppZiAocGFyc2VJbnQoIiAgICAgICBcdTAwMjAgICAgICAgXHUwMDIwLTEiKSAhPT0gcGFyc2VJbnQoIi0xIikpIHsKICAkRVJST1IoJyM1OiBwYXJzZUludCgiICAgICAgIFxcdTAwMjAgICAgICAgXFx1MDAyMC0xIikgPT09IHBhcnNlSW50KCItMSIpLiBBY3R1YWw6ICcgKyAocGFyc2VJbnQoIiAgICAgICBcdTAwMjAgICAgICAgXHUwMDIwLTEiKSkpOwp9CgovL0NIRUNLIzYKaWYgKGlzTmFOKHBhcnNlSW50KCJcdTAwMjAiKSkgIT09IHRydWUpIHsKICAkRVJST1IoJyM2OiBwYXJzZUludCgiXFx1MDAyMCIpID09PSBOb3QtYS1OdW1iZXIuIEFjdHVhbDogJyArIChwYXJzZUludCgiXHUwMDIwIikpKTsKfQoK","commentary":"Operator remove leading StrWhiteSpaceChar","description":"StrWhiteSpaceChar :: SP (U+0020)","path":"TestCases/ch15/15.1/15.1.2/15.1.2.2/S15.1.2.2_A2_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciByZW1vdmUgbGVhZGluZyBTdHJXaGl0ZVNwYWNlQ2hhcgogKgogKiBAcGF0aCBjaDE1LzE1LjEvMTUuMS4yLzE1LjEuMi4yL1MxNS4xLjIuMl9BMl9UMy5qcwogKiBAZGVzY3JpcHRpb24gU3RyV2hpdGVTcGFjZUNoYXIgOjogTkJTQiAoVSswMEEwKQogKi8KCi8vQ0hFQ0sjMQppZiAocGFyc2VJbnQoIlx1MDBBMDEiKSAhPT0gcGFyc2VJbnQoIjEiKSkgewogICRFUlJPUignIzE6IHBhcnNlSW50KCJcXHUwMEEwMSIpID09PSBwYXJzZUludCgiMSIpLiBBY3R1YWw6ICcgKyAocGFyc2VJbnQoIlx1MDBBMDEiKSkpOwp9CgovL0NIRUNLIzIKaWYgKHBhcnNlSW50KCJcdTAwQTBcdTAwQTAtMSIpICE9PSBwYXJzZUludCgiLTEiKSkgewogICRFUlJPUignIzI6IHBhcnNlSW50KCJcXHUwMEEwXFx1MDBBMC0xIikgPT09IHBhcnNlSW50KCItMSIpLiBBY3R1YWw6ICcgKyAocGFyc2VJbnQoIlx1MDBBMFx1MDBBMC0xIikpKTsKfQoKLy9DSEVDSyMzCmlmIChpc05hTihwYXJzZUludCgiXHUwMEEwIikpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMzogcGFyc2VJbnQoIlxcdTAwQTAiKSA9PT0gTm90LWEtTnVtYmVyLiBBY3R1YWw6ICcgKyAocGFyc2VJbnQoIlx1MDBBMCIpKSk7Cn0KCg==","commentary":"Operator remove leading StrWhiteSpaceChar","description":"StrWhiteSpaceChar :: NBSB (U+00A0)","path":"TestCases/ch15/15.1/15.1.2/15.1.2.2/S15.1.2.2_A2_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciByZW1vdmUgbGVhZGluZyBTdHJXaGl0ZVNwYWNlQ2hhcgogKgogKiBAcGF0aCBjaDE1LzE1LjEvMTUuMS4yLzE1LjEuMi4yL1MxNS4xLjIuMl9BMl9UNC5qcwogKiBAZGVzY3JpcHRpb24gU3RyV2hpdGVTcGFjZUNoYXIgOjogRkYgKFUrMDAwQykKICovCgovL0NIRUNLIzEKaWYgKHBhcnNlSW50KCJcdTAwMEMxIikgIT09IHBhcnNlSW50KCIxIikpIHsKICAkRVJST1IoJyMxOiBwYXJzZUludCgiXFx1MDAwQzEiKSA9PT0gcGFyc2VJbnQoIjEiKS4gQWN0dWFsOiAnICsgKHBhcnNlSW50KCJcdTAwMEMxIikpKTsKfQoKLy9DSEVDSyMyCmlmIChwYXJzZUludCgiXHUwMDBDXHUwMDBDLTEiKSAhPT0gcGFyc2VJbnQoIi0xIikpIHsKICAkRVJST1IoJyMyOiBwYXJzZUludCgiXFx1MDAwQ1xcdTAwMEMtMSIpID09PSBwYXJzZUludCgiLTEiKS4gQWN0dWFsOiAnICsgKHBhcnNlSW50KCJcdTAwMENcdTAwMEMtMSIpKSk7Cn0KCi8vQ0hFQ0sjMwppZiAoaXNOYU4ocGFyc2VJbnQoIlx1MDAwQyIpKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzM6IHBhcnNlSW50KCJcXHUwMDBDIikgPT09IE5vdC1hLU51bWJlci4gQWN0dWFsOiAnICsgKHBhcnNlSW50KCJcdTAwMEMiKSkpOwp9Cgo=","commentary":"Operator remove leading StrWhiteSpaceChar","description":"StrWhiteSpaceChar :: FF (U+000C)","path":"TestCases/ch15/15.1/15.1.2/15.1.2.2/S15.1.2.2_A2_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciByZW1vdmUgbGVhZGluZyBTdHJXaGl0ZVNwYWNlQ2hhcgogKgogKiBAcGF0aCBjaDE1LzE1LjEvMTUuMS4yLzE1LjEuMi4yL1MxNS4xLjIuMl9BMl9UNS5qcwogKiBAZGVzY3JpcHRpb24gU3RyV2hpdGVTcGFjZUNoYXIgOjogVlQgKFUrMDAwQikKICovCgovL0NIRUNLIzEKaWYgKHBhcnNlSW50KCJcdTAwMEIxIikgIT09IHBhcnNlSW50KCIxIikpIHsKICAkRVJST1IoJyMxOiBwYXJzZUludCgiXFx1MDAwQjEiKSA9PT0gcGFyc2VJbnQoIjEiKS4gQWN0dWFsOiAnICsgKHBhcnNlSW50KCJcdTAwMEIxIikpKTsKfQoKLy9DSEVDSyMyCmlmIChwYXJzZUludCgiXHUwMDBCXHUwMDBCLTEiKSAhPT0gcGFyc2VJbnQoIi0xIikpIHsKICAkRVJST1IoJyMyOiBwYXJzZUludCgiXFx1MDAwQlxcdTAwMEItMSIpID09PSBwYXJzZUludCgiLTEiKS4gQWN0dWFsOiAnICsgKHBhcnNlSW50KCJcdTAwMEJcdTAwMEItMSIpKSk7Cn0KCi8vQ0hFQ0sjMwppZiAoaXNOYU4ocGFyc2VJbnQoIlx1MDAwQiIpKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzM6IHBhcnNlSW50KCJcXHUwMDBCIikgPT09IE5vdC1hLU51bWJlci4gQWN0dWFsOiAnICsgKHBhcnNlSW50KCJcdTAwMEIiKSkpOwp9Cgo=","commentary":"Operator remove leading StrWhiteSpaceChar","description":"StrWhiteSpaceChar :: VT (U+000B)","path":"TestCases/ch15/15.1/15.1.2/15.1.2.2/S15.1.2.2_A2_T5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciByZW1vdmUgbGVhZGluZyBTdHJXaGl0ZVNwYWNlQ2hhcgogKgogKiBAcGF0aCBjaDE1LzE1LjEvMTUuMS4yLzE1LjEuMi4yL1MxNS4xLjIuMl9BMl9UNi5qcwogKiBAZGVzY3JpcHRpb24gU3RyV2hpdGVTcGFjZUNoYXIgOjogQ1IgKFUrMDAwRCkKICovCgovL0NIRUNLIzEKaWYgKHBhcnNlSW50KCJcdTAwMEQxIikgIT09IHBhcnNlSW50KCIxIikpIHsKICAkRVJST1IoJyMxOiBwYXJzZUludCgiXFx1MDAwRDEiKSA9PT0gcGFyc2VJbnQoIjEiKS4gQWN0dWFsOiAnICsgKHBhcnNlSW50KCJcdTAwMEQxIikpKTsKfQoKLy9DSEVDSyMyCmlmIChwYXJzZUludCgiXHUwMDBEXHUwMDBELTEiKSAhPT0gcGFyc2VJbnQoIi0xIikpIHsKICAkRVJST1IoJyMyOiBwYXJzZUludCgiXFx1MDAwRFxcdTAwMEQtMSIpID09PSBwYXJzZUludCgiLTEiKS4gQWN0dWFsOiAnICsgKHBhcnNlSW50KCJcdTAwMERcdTAwMEQtMSIpKSk7Cn0KCi8vQ0hFQ0sjMwppZiAoaXNOYU4ocGFyc2VJbnQoIlx1MDAwRCIpKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzM6IHBhcnNlSW50KCJcXHUwMDBEIikgPT09IE5vdC1hLU51bWJlci4gQWN0dWFsOiAnICsgKHBhcnNlSW50KCJcdTAwMEQiKSkpOwp9Cgo=","commentary":"Operator remove leading StrWhiteSpaceChar","description":"StrWhiteSpaceChar :: CR (U+000D)","path":"TestCases/ch15/15.1/15.1.2/15.1.2.2/S15.1.2.2_A2_T6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciByZW1vdmUgbGVhZGluZyBTdHJXaGl0ZVNwYWNlQ2hhcgogKgogKiBAcGF0aCBjaDE1LzE1LjEvMTUuMS4yLzE1LjEuMi4yL1MxNS4xLjIuMl9BMl9UNy5qcwogKiBAZGVzY3JpcHRpb24gU3RyV2hpdGVTcGFjZUNoYXIgOjogTEYgKFUrMDAwQSkKICovCgovL0NIRUNLIzEKaWYgKHBhcnNlSW50KCJcdTAwMEExIikgIT09IHBhcnNlSW50KCIxIikpIHsKICAkRVJST1IoJyMxOiBwYXJzZUludCgiXFx1MDAwQTEiKSA9PT0gcGFyc2VJbnQoIjEiKS4gQWN0dWFsOiAnICsgKHBhcnNlSW50KCJcdTAwMEExIikpKTsKfQoKLy9DSEVDSyMyCmlmIChwYXJzZUludCgiXHUwMDBBXHUwMDBBLTEiKSAhPT0gcGFyc2VJbnQoIi0xIikpIHsKICAkRVJST1IoJyMyOiBwYXJzZUludCgiXFx1MDAwQVxcdTAwMEEtMSIpID09PSBwYXJzZUludCgiLTEiKS4gQWN0dWFsOiAnICsgKHBhcnNlSW50KCJcdTAwMEFcdTAwMEEtMSIpKSk7Cn0KCi8vQ0hFQ0sjMwppZiAoaXNOYU4ocGFyc2VJbnQoIlx1MDAwQSIpKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzM6IHBhcnNlSW50KCJcXHUwMDBBIikgPT09IE5vdC1hLU51bWJlci4gQWN0dWFsOiAnICsgKHBhcnNlSW50KCJcdTAwMEEiKSkpOwp9Cgo=","commentary":"Operator remove leading StrWhiteSpaceChar","description":"StrWhiteSpaceChar :: LF (U+000A)","path":"TestCases/ch15/15.1/15.1.2/15.1.2.2/S15.1.2.2_A2_T7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciByZW1vdmUgbGVhZGluZyBTdHJXaGl0ZVNwYWNlQ2hhcgogKgogKiBAcGF0aCBjaDE1LzE1LjEvMTUuMS4yLzE1LjEuMi4yL1MxNS4xLjIuMl9BMl9UOC5qcwogKiBAZGVzY3JpcHRpb24gU3RyV2hpdGVTcGFjZUNoYXIgOjogTFMgKFUrMjAyOCkKICovCgovL0NIRUNLIzEKaWYgKHBhcnNlSW50KCJcdTIwMjgxIikgIT09IHBhcnNlSW50KCIxIikpIHsKICAkRVJST1IoJyMxOiBwYXJzZUludCgiXFx1MjAyODEiKSA9PT0gcGFyc2VJbnQoIjEiKS4gQWN0dWFsOiAnICsgKHBhcnNlSW50KCJcdTIwMjgxIikpKTsKfQoKLy9DSEVDSyMyCmlmIChwYXJzZUludCgiXHUyMDI4XHUyMDI4LTEiKSAhPT0gcGFyc2VJbnQoIi0xIikpIHsKICAkRVJST1IoJyMyOiBwYXJzZUludCgiXFx1MjAyOFxcdTIwMjgtMSIpID09PSBwYXJzZUludCgiLTEiKS4gQWN0dWFsOiAnICsgKHBhcnNlSW50KCJcdTIwMjhcdTIwMjgtMSIpKSk7Cn0KCi8vQ0hFQ0sjMwppZiAoaXNOYU4ocGFyc2VJbnQoIlx1MjAyOCIpKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzM6IHBhcnNlSW50KCJcXHUyMDI4IikgPT09IE5vdC1hLU51bWJlci4gQWN0dWFsOiAnICsgKHBhcnNlSW50KCJcdTIwMjgiKSkpOwp9Cgo=","commentary":"Operator remove leading StrWhiteSpaceChar","description":"StrWhiteSpaceChar :: LS (U+2028)","path":"TestCases/ch15/15.1/15.1.2/15.1.2.2/S15.1.2.2_A2_T8.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciByZW1vdmUgbGVhZGluZyBTdHJXaGl0ZVNwYWNlQ2hhcgogKgogKiBAcGF0aCBjaDE1LzE1LjEvMTUuMS4yLzE1LjEuMi4yL1MxNS4xLjIuMl9BMl9UOS5qcwogKiBAZGVzY3JpcHRpb24gU3RyV2hpdGVTcGFjZUNoYXIgOjogUFMgKFUrMjAyOSkKICovCgovL0NIRUNLIzEKaWYgKHBhcnNlSW50KCJcdTIwMjkxIikgIT09IHBhcnNlSW50KCIxIikpIHsKICAkRVJST1IoJyMxOiBwYXJzZUludCgiXFx1MjAyOTEiKSA9PT0gcGFyc2VJbnQoIjEiKS4gQWN0dWFsOiAnICsgKHBhcnNlSW50KCJcdTIwMjkxIikpKTsKfQoKLy9DSEVDSyMyCmlmIChwYXJzZUludCgiXHUyMDI5XHUyMDI5LTEiKSAhPT0gcGFyc2VJbnQoIi0xIikpIHsKICAkRVJST1IoJyMyOiBwYXJzZUludCgiXFx1MjAyOVxcdTIwMjktMSIpID09PSBwYXJzZUludCgiLTEiKS4gQWN0dWFsOiAnICsgKHBhcnNlSW50KCJcdTIwMjlcdTIwMjktMSIpKSk7Cn0KCi8vQ0hFQ0sjMwppZiAoaXNOYU4ocGFyc2VJbnQoIlx1MjAyOSIpKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzM6IHBhcnNlSW50KCJcXHUyMDI5IikgPT09IE5vdC1hLU51bWJlci4gQWN0dWFsOiAnICsgKHBhcnNlSW50KCJcdTIwMjkiKSkpOwp9Cgo=","commentary":"Operator remove leading StrWhiteSpaceChar","description":"StrWhiteSpaceChar :: PS (U+2029)","path":"TestCases/ch15/15.1/15.1.2/15.1.2.2/S15.1.2.2_A2_T9.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB1c2UgVG9OdW1iZXIKICoKICogQHBhdGggY2gxNS8xNS4xLzE1LjEuMi8xNS4xLjIuMi9TMTUuMS4yLjJfQTMuMV9UMS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgZm9yIGJvb2xlYW4gcHJpbWl0aXZlCiAqLwoKLy9DSEVDSyMxCmlmIChwYXJzZUludCgiMTEiLCBmYWxzZSkgIT09IHBhcnNlSW50KCIxMSIsIDEwKSkgewogICRFUlJPUignIzE6IHBhcnNlSW50KCIxMSIsIGZhbHNlKSA9PT0gcGFyc2VJbnQoIjExIiwgMTApLiBBY3R1YWw6ICcgKyAocGFyc2VJbnQoIjExIiwgZmFsc2UpKSk7Cn0KCi8vQ0hFQ0sjMgppZiAoaXNOYU4ocGFyc2VJbnQoIjExIiwgdHJ1ZSkpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMjogcGFyc2VJbnQoIjExIiwgdHJ1ZSkgPT09IE5vdC1hLU51bWJlci4gQWN0dWFsOiAnICsgKHBhcnNlSW50KCIxMSIsIHRydWUpKSk7Cn0KCg==","commentary":"Operator use ToNumber","description":"Checking for boolean primitive","path":"TestCases/ch15/15.1/15.1.2/15.1.2.2/S15.1.2.2_A3.1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB1c2UgVG9OdW1iZXIKICoKICogQHBhdGggY2gxNS8xNS4xLzE1LjEuMi8xNS4xLjIuMi9TMTUuMS4yLjJfQTMuMV9UMi5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgZm9yIHN0cmluZyBwcmltaXRpdmUKICovCgovL0NIRUNLIzEKaWYgKHBhcnNlSW50KCIxMSIsICIyIikgIT09IHBhcnNlSW50KCIxMSIsIDIpKSB7CiAgJEVSUk9SKCcjMTogcGFyc2VJbnQoIjExIiwgIjIiKSA9PT0gcGFyc2VJbnQoIjExIiwgMikuIEFjdHVhbDogJyArIChwYXJzZUludCgiMTEiLCAiMiIpKSk7Cn0KCi8vQ0hFQ0sjMgppZiAocGFyc2VJbnQoIjExIiwgIjAiKSAhPT0gcGFyc2VJbnQoIjExIiwgMTApKSB7CiAgJEVSUk9SKCcjMjogcGFyc2VJbnQoIjExIiwgIjAiKSA9PT0gcGFyc2VJbnQoIjExIiwgMTApLiBBY3R1YWw6ICcgKyAocGFyc2VJbnQoIjExIiwgIjAiKSkpOwp9CgovL0NIRUNLIzMKaWYgKHBhcnNlSW50KCIxMSIsICIiKSAhPT0gcGFyc2VJbnQoIjExIiwgMTApKSB7CiAgJEVSUk9SKCcjMzogcGFyc2VJbnQoIjExIiwgIiIpID09PSBwYXJzZUludCgiMTEiLCAxMCkuIEFjdHVhbDogJyArIChwYXJzZUludCgiMTEiLCAiIikpKTsKfQoKCg==","commentary":"Operator use ToNumber","description":"Checking for string primitive","path":"TestCases/ch15/15.1/15.1.2/15.1.2.2/S15.1.2.2_A3.1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB1c2UgVG9OdW1iZXIKICoKICogQHBhdGggY2gxNS8xNS4xLzE1LjEuMi8xNS4xLjIuMi9TMTUuMS4yLjJfQTMuMV9UMy5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgZm9yIHVuZGVmaW5lZCBhbmQgbnVsbAogKi8KCi8vQ0hFQ0sjMQppZiAocGFyc2VJbnQoIjExIiwgdW5kZWZpbmVkKSAhPT0gcGFyc2VJbnQoIjExIiwgMTApKSB7CiAgJEVSUk9SKCcjMTogcGFyc2VJbnQoIjExIiwgdW5kZWZpbmVkKSA9PT0gcGFyc2VJbnQoIjExIiwgMTApLiBBY3R1YWw6ICcgKyAocGFyc2VJbnQoIjExIiwgdW5kZWZpbmVkKSkpOwp9CgovL0NIRUNLIzIKaWYgKHBhcnNlSW50KCIxMSIsIG51bGwpICE9PSBwYXJzZUludCgiMTEiLCAxMCkpIHsKICAkRVJST1IoJyMyOiBwYXJzZUludCgiMTEiLCBudWxsKSA9PT0gcGFyc2VJbnQoIjExIiwgMTApLiBBY3R1YWw6ICcgKyAocGFyc2VJbnQoIjExIiwgbnVsbCkpKTsKfQoK","commentary":"Operator use ToNumber","description":"Checking for undefined and null","path":"TestCases/ch15/15.1/15.1.2/15.1.2.2/S15.1.2.2_A3.1_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB1c2UgVG9OdW1iZXIKICoKICogQHBhdGggY2gxNS8xNS4xLzE1LjEuMi8xNS4xLjIuMi9TMTUuMS4yLjJfQTMuMV9UNC5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgZm9yIEJvb2xlYW4gb2JqZWN0CiAqLwoKLy9DSEVDSyMxCmlmIChwYXJzZUludCgiMTEiLCBuZXcgQm9vbGVhbihmYWxzZSkpICE9PSBwYXJzZUludCgiMTEiLCBmYWxzZSkpIHsKICAkRVJST1IoJyMxOiBwYXJzZUludCgiMTEiLCBuZXcgQm9vbGVhbihmYWxzZSkpID09PSBwYXJzZUludCgiMTEiLCBmYWxzZSkuIEFjdHVhbDogJyArIChwYXJzZUludCgiMTEiLCBuZXcgQm9vbGVhbihmYWxzZSkpKSk7Cn0KCi8vQ0hFQ0sjMgppZiAoaXNOYU4ocGFyc2VJbnQoIjExIiwgbmV3IEJvb2xlYW4odHJ1ZSkpKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzI6IHBhcnNlSW50KCIxMSIsIG5ldyBCb29sZWFuKHRydWUpKSA9PT0gTm90LWEtTnVtYmVyLiBBY3R1YWw6ICcgKyAocGFyc2VJbnQoIjExIiwgbmV3IEJvb2xlYW4odHJ1ZSkpKSk7Cn0KCg==","commentary":"Operator use ToNumber","description":"Checking for Boolean object","path":"TestCases/ch15/15.1/15.1.2/15.1.2.2/S15.1.2.2_A3.1_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB1c2UgVG9OdW1iZXIKICoKICogQHBhdGggY2gxNS8xNS4xLzE1LjEuMi8xNS4xLjIuMi9TMTUuMS4yLjJfQTMuMV9UNS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgZm9yIE51bWJlciBvYmplY3QKICovCgovL0NIRUNLIzEKaWYgKHBhcnNlSW50KCIxMSIsIG5ldyBOdW1iZXIoMikpICE9PSBwYXJzZUludCgiMTEiLCAyKSkgewogICRFUlJPUignIzE6IHBhcnNlSW50KCIxMSIsIG5ldyBOdW1iZXIoMikpID09PSBwYXJzZUludCgiMTEiLCAyKS4gQWN0dWFsOiAnICsgKHBhcnNlSW50KCIxMSIsIG5ldyBOdW1iZXIoMikpKSk7Cn0KCi8vQ0hFQ0sjMgppZiAocGFyc2VJbnQoIjExIiwgbmV3IE51bWJlcihJbmZpbml0eSkpICE9PSBwYXJzZUludCgiMTEiLCBJbmZpbml0eSkpIHsKICAkRVJST1IoJyMyOiBwYXJzZUludCgiMTEiLCBuZXcgTnVtYmVyKEluZmluaXR5KSkgPT09IHBhcnNlSW50KCIxMSIsIEluZmluaXR5KS4gQWN0dWFsOiAnICsgKHBhcnNlSW50KCIxMSIsIG5ldyBOdW1iZXIoSW5maW5pdHkpKSkpOwp9Cgo=","commentary":"Operator use ToNumber","description":"Checking for Number object","path":"TestCases/ch15/15.1/15.1.2/15.1.2.2/S15.1.2.2_A3.1_T5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB1c2UgVG9OdW1iZXIKICoKICogQHBhdGggY2gxNS8xNS4xLzE1LjEuMi8xNS4xLjIuMi9TMTUuMS4yLjJfQTMuMV9UNi5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgZm9yIFN0cmluZyBvYmplY3QKICovCgovL0NIRUNLIzEKaWYgKHBhcnNlSW50KCIxMSIsIG5ldyBTdHJpbmcoIjIiKSkgIT09IHBhcnNlSW50KCIxMSIsIDIpKSB7CiAgJEVSUk9SKCcjMTogcGFyc2VJbnQoIjExIiwgbmV3IFN0cmluZygiMiIpKSA9PT0gcGFyc2VJbnQoIjExIiwgMikuIEFjdHVhbDogJyArIChwYXJzZUludCgiMTEiLCBuZXcgU3RyaW5nKCIyIikpKSk7Cn0KCi8vQ0hFQ0sjMgppZiAocGFyc2VJbnQoIjExIiwgbmV3IFN0cmluZygiSW5maW5pdHkiKSkgIT09IHBhcnNlSW50KCIxMSIsIEluZmluaXR5KSkgewogICRFUlJPUignIzI6IHBhcnNlSW50KCIxMSIsIG5ldyBTdHJpbmcoIkluZmluaXR5IikpID09PSBwYXJzZUludCgiMTEiLCBJbmZpbml0eSkuIEFjdHVhbDogJyArIChwYXJzZUludCgiMTEiLCBuZXcgU3RyaW5nKCJJbmZpbml0eSIpKSkpOwp9Cgo=","commentary":"Operator use ToNumber","description":"Checking for String object","path":"TestCases/ch15/15.1/15.1.2/15.1.2.2/S15.1.2.2_A3.1_T6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB1c2UgVG9OdW1iZXIKICoKICogQHBhdGggY2gxNS8xNS4xLzE1LjEuMi8xNS4xLjIuMi9TMTUuMS4yLjJfQTMuMV9UNy5qcwogKiBAZGVzY3JpcHRpb24gSWYgVHlwZSh2YWx1ZSkgaXMgT2JqZWN0LCBldmFsdWF0ZSBUb1ByaW1pdGl2ZSh2YWx1ZSwgTnVtYmVyKQogKi8KCi8vQ0hFQ0sjMQp2YXIgb2JqZWN0ID0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAyfX07CmlmIChwYXJzZUludCgiMTEiLCBvYmplY3QpICE9PSBwYXJzZUludCgiMTEiLCAyKSkgewogICRFUlJPUignIzE6IHZhciBvYmplY3QgPSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIDJ9fTsgcGFyc2VJbnQoIjExIiwgb2JqZWN0KSA9PT0gcGFyc2VJbnQoIjExIiwgMikuIEFjdHVhbDogJyArIChwYXJzZUludCgiMTEiLCBvYmplY3QpKSk7Cn0KCi8vQ0hFQ0sjMgp2YXIgb2JqZWN0ID0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAyfSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiAxfX07CmlmIChwYXJzZUludCgiMTEiLCBvYmplY3QpICE9PSBwYXJzZUludCgiMTEiLCAyKSkgewogICRFUlJPUignIzI6IHZhciBvYmplY3QgPSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIDJ9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIDF9fTsgcGFyc2VJbnQoIjExIiwgb2JqZWN0KSA9PT0gcGFyc2VJbnQoIjExIiwgMikuIEFjdHVhbDogJyArIChwYXJzZUludCgiMTEiLCBvYmplY3QpKSk7Cn0gCgovL0NIRUNLIzMKdmFyIG9iamVjdCA9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gMn0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4ge319fTsKaWYgKHBhcnNlSW50KCIxMSIsIG9iamVjdCkgIT09IHBhcnNlSW50KCIxMSIsIDIpKSB7CiAgJEVSUk9SKCcjMzogdmFyIG9iamVjdCA9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gMn0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4ge319fTsgcGFyc2VJbnQoIjExIiwgb2JqZWN0KSA9PT0gcGFyc2VJbnQoIjExIiwgMikuIEFjdHVhbDogJyArIChwYXJzZUludCgiMTEiLCBvYmplY3QpKSk7Cn0KCi8vQ0hFQ0sjNAp0cnkgewogIHZhciBvYmplY3QgPSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIDJ9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7dGhyb3cgImVycm9yIn19OwogIGlmIChwYXJzZUludCgiMTEiLCBvYmplY3QpICE9PSBwYXJzZUludCgiMTEiLCAyKSkgewogICAgJEVSUk9SKCcjNC4xOiB2YXIgb2JqZWN0ID0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAyfSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3Rocm93ICJlcnJvciJ9fTsgcGFyc2VJbnQoIjExIiwgb2JqZWN0KSA9PT0gcGFyc2VJbnQoIjExIiwgMikuIEFjdHVhbDogJyArIChwYXJzZUludCgiMTEiLCBvYmplY3QpKSk7CiAgfQp9CmNhdGNoIChlKSB7CiAgaWYgKGUgPT09ICJlcnJvciIpIHsKICAgICRFUlJPUignIzQuMjogdmFyIG9iamVjdCA9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gMn0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHt0aHJvdyAiZXJyb3IifX07IHBhcnNlSW50KCIxMSIsIG9iamVjdCkgbm90IHRocm93ICJlcnJvciInKTsKICB9IGVsc2UgewogICAgJEVSUk9SKCcjNC4zOiB2YXIgb2JqZWN0ID0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAyfSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3Rocm93ICJlcnJvciJ9fTsgcGFyc2VJbnQoIjExIiwgb2JqZWN0KSBub3QgdGhyb3cgRXJyb3IuIEFjdHVhbDogJyArIChlKSk7CiAgfQp9CgovL0NIRUNLIzUKdmFyIG9iamVjdCA9IHt0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIDJ9fTsKaWYgKHBhcnNlSW50KCIxMSIsIG9iamVjdCkgIT09IHBhcnNlSW50KCIxMSIsIDIpKSB7CiAgJEVSUk9SKCcjNTogdmFyIG9iamVjdCA9IHt0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIDJ9fTsgcGFyc2VJbnQoIjExIiwgb2JqZWN0KSA9PT0gcGFyc2VJbnQoIjExIiwgMikuIEFjdHVhbDogJyArIChwYXJzZUludCgiMTEiLCBvYmplY3QpKSk7Cn0KCi8vQ0hFQ0sjNgp2YXIgb2JqZWN0ID0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiB7fX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gMn19CmlmIChwYXJzZUludCgiMTEiLCBvYmplY3QpICE9PSBwYXJzZUludCgiMTEiLCAyKSkgewogICRFUlJPUignIzY6IHZhciBvYmplY3QgPSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIHt9fSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiAyfX07IHBhcnNlSW50KCIxMSIsIG9iamVjdCkgPT09IHBhcnNlSW50KCIxMSIsIDIpLiBBY3R1YWw6ICcgKyAocGFyc2VJbnQoIjExIiwgb2JqZWN0KSkpOwp9CgovL0NIRUNLIzcKdHJ5IHsKICB2YXIgb2JqZWN0ID0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3Rocm93ICJlcnJvciJ9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIDJ9fTsKICBwYXJzZUludCgiMTEiLCBvYmplY3QpOwogICRFUlJPUignIzcuMTogdmFyIG9iamVjdCA9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHt0aHJvdyAiZXJyb3IifSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiAyfX07IHBhcnNlSW50KCIxMSIsIG9iamVjdCkgdGhyb3cgImVycm9yIi4gQWN0dWFsOiAnICsgKHBhcnNlSW50KCIxMSIsIG9iamVjdCkpKTsKfSAgCmNhdGNoIChlKSB7CiAgaWYgKGUgIT09ICJlcnJvciIpIHsKICAgICRFUlJPUignIzcuMjogdmFyIG9iamVjdCA9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHt0aHJvdyAiZXJyb3IifSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiAyfX07IHBhcnNlSW50KCIxMSIsIG9iamVjdCkgdGhyb3cgImVycm9yIi4gQWN0dWFsOiAnICsgKGUpKTsKICB9IAp9CgovL0NIRUNLIzgKdHJ5IHsKICB2YXIgb2JqZWN0ID0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiB7fX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4ge319fTsKICBwYXJzZUludCgiMTEiLCBvYmplY3QpOwogICRFUlJPUignIzguMTogdmFyIG9iamVjdCA9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4ge319LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIHt9fX07IHBhcnNlSW50KCIxMSIsIG9iamVjdCkgdGhyb3cgVHlwZUVycm9yLiBBY3R1YWw6ICcgKyAocGFyc2VJbnQoIjExIiwgb2JqZWN0KSkpOwp9ICAKY2F0Y2ggKGUpIHsKICBpZiAoKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpICE9PSB0cnVlKSB7CiAgICAkRVJST1IoJyM4LjI6IHZhciBvYmplY3QgPSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIHt9fSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiB7fX19OyBwYXJzZUludCgiMTEiLCBvYmplY3QpIHRocm93IFR5cGVFcnJvci4gQWN0dWFsOiAnICsgKGUpKTsKICB9IAp9Cgo=","commentary":"Operator use ToNumber","description":"If Type(value) is Object, evaluate ToPrimitive(value, Number)","path":"TestCases/ch15/15.1/15.1.2/15.1.2.2/S15.1.2.2_A3.1_T7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB1c2UgVG9JbnQzMgogKgogKiBAcGF0aCBjaDE1LzE1LjEvMTUuMS4yLzE1LjEuMi4yL1MxNS4xLjIuMl9BMy4yX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBJZiByYWRpeCBpcyBOYU4sICswLCAtMCwgK0luZmluaXR5LCAtSW5maW5pdHksIHJldHVybiByYWRpeCA9ICswCiAqLwoKLy9DSEVDSyMxCmlmIChwYXJzZUludCgiMTEiLCBOYU4pICE9PSBwYXJzZUludCgiMTEiLCAxMCkpIHsKICAkRVJST1IoJyMxOiBwYXJzZUludCgiMTEiLCBOYU4pID09PSBwYXJzZUludCgiMTEiLCAxMCkuIEFjdHVhbDogJyArIChwYXJzZUludCgiMTEiLCBOYU4pKSk7Cn0KCi8vQ0hFQ0sjMgppZiAocGFyc2VJbnQoIjExIiwgKzApICE9PSBwYXJzZUludCgiMTEiLCAxMCkpIHsKICAkRVJST1IoJyMyOiBwYXJzZUludCgiMTEiLCArMCkgPT09IHBhcnNlSW50KCIxMSIsIDEwKS4gQWN0dWFsOiAnICsgKHBhcnNlSW50KCIxMSIsICswKSkpOwp9CgovL0NIRUNLIzMKaWYgKHBhcnNlSW50KCIxMSIsIC0wKSAhPT0gcGFyc2VJbnQoIjExIiwgMTApKSB7CiAgJEVSUk9SKCcjMzogcGFyc2VJbnQoIjExIiwgLTApID09PSBwYXJzZUludCgiMTEiLCAxMCkuIEFjdHVhbDogJyArIChwYXJzZUludCgiMTEiLCAtMCkpKTsKfQoKLy9DSEVDSyM0CmlmIChwYXJzZUludCgiMTEiLCBOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkpICE9PSBwYXJzZUludCgiMTEiLCAxMCkpIHsKICAkRVJST1IoJyM0OiBwYXJzZUludCgiMTEiLCBOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkpID09PSBwYXJzZUludCgiMTEiLCAxMCkuIEFjdHVhbDogJyArIChwYXJzZUludCgiMTEiLCBOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkpKSk7Cn0KCi8vQ0hFQ0sjNQppZiAocGFyc2VJbnQoIjExIiwgTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZKSAhPT0gcGFyc2VJbnQoIjExIiwgMTApKSB7CiAgJEVSUk9SKCcjNTogcGFyc2VJbnQoIjExIiwgTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZKSA9PT0gcGFyc2VJbnQoIjExIiwgMTApLiBBY3R1YWw6ICcgKyAocGFyc2VJbnQoIjExIiwgTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZKSkpOwp9Cgo=","commentary":"Operator use ToInt32","description":"If radix is NaN, +0, -0, +Infinity, -Infinity, return radix = +0","path":"TestCases/ch15/15.1/15.1.2/15.1.2.2/S15.1.2.2_A3.2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB1c2UgVG9JbnQzMgogKgogKiBAcGF0aCBjaDE1LzE1LjEvMTUuMS4yLzE1LjEuMi4yL1MxNS4xLjIuMl9BMy4yX1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBUb0ludDMyIHVzZSBmbG9vcgogKi8KCi8vQ0hFQ0sjMQppZiAocGFyc2VJbnQoIjExIiwgMi4xKSAhPT0gcGFyc2VJbnQoIjExIiwgMikpIHsKICAkRVJST1IoJyMxOiBwYXJzZUludCgiMTEiLCAyLjEpID09PSBwYXJzZUludCgiMTEiLCAyKS4gQWN0dWFsOiAnICsgKHBhcnNlSW50KCIxMSIsIDIuMSkpKTsKfQoKLy9DSEVDSyMyCmlmIChwYXJzZUludCgiMTEiLCAyLjUpICE9PSBwYXJzZUludCgiMTEiLCAyKSkgewogICRFUlJPUignIzI6IHBhcnNlSW50KCIxMSIsIDIuNSkgPT09IHBhcnNlSW50KCIxMSIsIDIpLiBBY3R1YWw6ICcgKyAocGFyc2VJbnQoIjExIiwgMi41KSkpOwp9CgovL0NIRUNLIzMKaWYgKHBhcnNlSW50KCIxMSIsIDIuOSkgIT09IHBhcnNlSW50KCIxMSIsIDIpKSB7CiAgJEVSUk9SKCcjMzogcGFyc2VJbnQoIjExIiwgMi45KSA9PT0gcGFyc2VJbnQoIjExIiwgMikuIEFjdHVhbDogJyArIChwYXJzZUludCgiMTEiLCAyLjkpKSk7Cn0KCi8vQ0hFQ0sjNAppZiAocGFyc2VJbnQoIjExIiwgMi4wMDAwMDAwMDAwMDEpICE9PSBwYXJzZUludCgiMTEiLCAyKSkgewogICRFUlJPUignIzQ6IHBhcnNlSW50KCIxMSIsIDIuMDAwMDAwMDAwMDAxKSA9PT0gcGFyc2VJbnQoIjExIiwgMikuIEFjdHVhbDogJyArIChwYXJzZUludCgiMTEiLCAyLjAwMDAwMDAwMDAwMSkpKTsKfQoKLy9DSEVDSyM1CmlmIChwYXJzZUludCgiMTEiLCAyLjk5OTk5OTk5OTk5OSkgIT09IHBhcnNlSW50KCIxMSIsIDIpKSB7CiAgJEVSUk9SKCcjNTogcGFyc2VJbnQoIjExIiwgMi45OTk5OTk5OTk5OTkpID09PSBwYXJzZUludCgiMTEiLCAyKS4gQWN0dWFsOiAnICsgKHBhcnNlSW50KCIxMSIsIDIuOTk5OTk5OTk5OTk5KSkpOwp9Cgo=","commentary":"Operator use ToInt32","description":"ToInt32 use floor","path":"TestCases/ch15/15.1/15.1.2/15.1.2.2/S15.1.2.2_A3.2_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB1c2UgVG9JbnQzMgogKgogKiBAcGF0aCBjaDE1LzE1LjEvMTUuMS4yLzE1LjEuMi4yL1MxNS4xLjIuMl9BMy4yX1QzLmpzCiAqIEBkZXNjcmlwdGlvbiBUb0ludDMyIHVzZSBtb2R1bG8KICovCgovL0NIRUNLIzEKaWYgKHBhcnNlSW50KCIxMSIsIDQyOTQ5NjcyOTgpICE9PSBwYXJzZUludCgiMTEiLCAyKSkgewogICRFUlJPUignIzE6IHBhcnNlSW50KCIxMSIsIDQyOTQ5NjcyOTgpID09PSBwYXJzZUludCgiMTEiLCAyKS4gQWN0dWFsOiAnICsgKHBhcnNlSW50KCIxMSIsIDQyOTQ5NjcyOTgpKSk7Cn0KCi8vQ0hFQ0sjMgppZiAocGFyc2VJbnQoIjExIiwgNDI5NDk2NzI5NikgIT09IHBhcnNlSW50KCIxMSIsIDEwKSkgewogICRFUlJPUignIzI6IHBhcnNlSW50KCIxMSIsIDQyOTQ5NjcyOTYpID09PSBwYXJzZUludCgiMTEiLCAxMCkuIEFjdHVhbDogJyArIChwYXJzZUludCgiMTEiLCA0Mjk0OTY3Mjk2KSkpOwp9CgovL0NIRUNLIzMKaWYgKGlzTmFOKHBhcnNlSW50KCIxMSIsIC0yMTQ3NDgzNjUwKSkgIT09IHRydWUpIHsKICAkRVJST1IoJyMzOiBwYXJzZUludCgiMTEiLCAyMTQ3NDgzNjUwKSA9PT0gTm90LWEtTnVtYmVyLiBBY3R1YWw6ICcgKyAocGFyc2VJbnQoIjExIiwgMjE0NzQ4MzY1MCkpKTsKfQoKLy9DSEVDSyM0CmlmIChwYXJzZUludCgiMTEiLCAtNDI5NDk2NzI5NCkgIT09IHBhcnNlSW50KCIxMSIsIDIpKSB7CiAgJEVSUk9SKCcjNDogcGFyc2VJbnQoIjExIiwgLTQyOTQ5NjcyOTQpID09PSBwYXJzZUludCgiMTEiLCAyKS4gQWN0dWFsOiAnICsgKHBhcnNlSW50KCIxMSIsIC00Mjk0OTY3Mjk0KSkpOwp9Cgo=","commentary":"Operator use ToInt32","description":"ToInt32 use modulo","path":"TestCases/ch15/15.1/15.1.2/15.1.2.2/S15.1.2.2_A3.2_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBSID0gMCBvciBSID0gdW5kZWZpbmVkLCB0aGVuIFIgPSAxMAogKgogKiBAcGF0aCBjaDE1LzE1LjEvMTUuMS4yLzE1LjEuMi4yL1MxNS4xLjIuMl9BNC4xX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBSID0gMAogKi8KCi8vQ0hFQ0sjMAppZiAocGFyc2VJbnQoIjAiLCAwKSAhPT0gcGFyc2VJbnQoIjAiLCAxMCkpIHsKICAkRVJST1IoJyMwOiBwYXJzZUludCgiMCIsIDApID09PSBwYXJzZUludCgiMCIsIDEwKS4gQWN0dWFsOiAnICsgKHBhcnNlSW50KCIwIiwgMCkpKTsKfSAgCgovL0NIRUNLIzEKaWYgKHBhcnNlSW50KCIxIiwgMCkgIT09IHBhcnNlSW50KCIxIiwgMTApKSB7CiAgJEVSUk9SKCcjMTogcGFyc2VJbnQoIjEiLCAwKSA9PT0gcGFyc2VJbnQoIjAxIiwgMTApLiBBY3R1YWw6ICcgKyAocGFyc2VJbnQoIjEiLCAwKSkpOwp9ICAKCi8vQ0hFQ0sjMgppZiAocGFyc2VJbnQoIjIiLCAwKSAhPT0gcGFyc2VJbnQoIjIiLCAxMCkpIHsKICAkRVJST1IoJyMyOiBwYXJzZUludCgiMiIsIDApID09PSBwYXJzZUludCgiMiIsIDEwKS4gQWN0dWFsOiAnICsgKHBhcnNlSW50KCIyIiwgMCkpKTsKfSAgCgovL0NIRUNLIzMKaWYgKHBhcnNlSW50KCIzIiwgMCkgIT09IHBhcnNlSW50KCIzIiwgMTApKSB7CiAgJEVSUk9SKCcjMzogcGFyc2VJbnQoIjMiLCAwKSA9PT0gcGFyc2VJbnQoIjMiLCAxMCkuIEFjdHVhbDogJyArIChwYXJzZUludCgiMyIsIDApKSk7Cn0gCgovL0NIRUNLIzQKaWYgKHBhcnNlSW50KCI0IiwgMCkgIT09IHBhcnNlSW50KCI0IiwgMTApKSB7CiAgJEVSUk9SKCcjNDogcGFyc2VJbnQoIjQiLCAwKSA9PT0gcGFyc2VJbnQoNCIsIDEwKS4gQWN0dWFsOiAnICsgKHBhcnNlSW50KCI0IiwgMCkpKTsKfSAKCi8vQ0hFQ0sjNQppZiAocGFyc2VJbnQoIjUiLCAwKSAhPT0gcGFyc2VJbnQoIjUiLCAxMCkpIHsKICAkRVJST1IoJyM1OiBwYXJzZUludCgiNSIsIDApID09PSBwYXJzZUludCgiNSIsIDEwKS4gQWN0dWFsOiAnICsgKHBhcnNlSW50KCI1IiwgMCkpKTsKfSAgCgovL0NIRUNLIzYKaWYgKHBhcnNlSW50KCI2IiwgMCkgIT09IHBhcnNlSW50KCI2IiwgMTApKSB7CiAgJEVSUk9SKCcjNjogcGFyc2VJbnQoIjYiLCAwKSA9PT0gcGFyc2VJbnQoIjYiLCAxMCkuIEFjdHVhbDogJyArIChwYXJzZUludCgiNiIsIDApKSk7Cn0gIAoKLy9DSEVDSyM3CmlmIChwYXJzZUludCgiNyIsIDApICE9PSBwYXJzZUludCgiNyIsIDEwKSkgewogICRFUlJPUignIzc6IHBhcnNlSW50KCI3IiwgMCkgPT09IHBhcnNlSW50KCI3IiwgMTApLiBBY3R1YWw6ICcgKyAocGFyc2VJbnQoIjciLCAwKSkpOwp9ICAKCi8vQ0hFQ0sjOAppZiAocGFyc2VJbnQoIjgiLCAwKSAhPT0gcGFyc2VJbnQoIjgiLCAxMCkpIHsKICAkRVJST1IoJyM4OiBwYXJzZUludCgiOCIsIDApID09PSBwYXJzZUludCgiOCIsIDEwKS4gQWN0dWFsOiAnICsgKHBhcnNlSW50KCI4IiwgMCkpKTsKfSAgCgovL0NIRUNLIzkKaWYgKHBhcnNlSW50KCI5IiwgMCkgIT09IHBhcnNlSW50KCI5IiwgMTApKSB7CiAgJEVSUk9SKCcjOTogcGFyc2VJbnQoIjkiLCAwKSA9PT0gcGFyc2VJbnQoIjkiLCAxMCkuIEFjdHVhbDogJyArIChwYXJzZUludCgiOSIsIDApKSk7Cn0gIAoKLy9DSEVDSyMxMAppZiAocGFyc2VJbnQoIjEwIiwgMCkgIT09IHBhcnNlSW50KCIxMCIsIDEwKSkgewogICRFUlJPUignIzEwOiBwYXJzZUludCgiMTAiLCAwKSA9PT0gcGFyc2VJbnQoIjEwIiwgMTApLiBBY3R1YWw6ICcgKyAocGFyc2VJbnQoIjEwIiwgMCkpKTsKfSAgCgovL0NIRUNLIzExCmlmIChwYXJzZUludCgiMTEiLCAwKSAhPT0gcGFyc2VJbnQoIjExIiwgMTApKSB7CiAgJEVSUk9SKCcjMTE6IHBhcnNlSW50KCIxMSIsIDApID09PSBwYXJzZUludCgiMTEiLCAxMCkuIEFjdHVhbDogJyArIChwYXJzZUludCgiMTEiLCAwKSkpOwp9ICAKCi8vQ0hFQ0sjMTIKaWYgKHBhcnNlSW50KCI5OTk5IiwgMCkgIT09IHBhcnNlSW50KCI5OTk5IiwgMTApKSB7CiAgJEVSUk9SKCcjMTI6IHBhcnNlSW50KCI5OTk5IiwgMCkgPT09IHBhcnNlSW50KCI5OTk5IiwgMTApLiBBY3R1YWw6ICcgKyAocGFyc2VJbnQoIjk5OTkiLCAwKSkpOwp9ICAKCg==","commentary":"If R = 0 or R = undefined, then R = 10","description":"R = 0","path":"TestCases/ch15/15.1/15.1.2/15.1.2.2/S15.1.2.2_A4.1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBSID0gMCBvciBSID0gdW5kZWZpbmVkLCB0aGVuIFIgPSAxMAogKgogKiBAcGF0aCBjaDE1LzE1LjEvMTUuMS4yLzE1LjEuMi4yL1MxNS4xLjIuMl9BNC4xX1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBSID0gdW5kZWZpbmVkCiAqLwoKLy9DSEVDSyMwCmlmIChwYXJzZUludCgiMCIpICE9PSBwYXJzZUludCgiMCIsIDEwKSkgewogICRFUlJPUignIzA6IHBhcnNlSW50KCIwIikgPT09IHBhcnNlSW50KCIwIiwgMTApLiBBY3R1YWw6ICcgKyAocGFyc2VJbnQoIjAiKSkpOwp9ICAKCi8vQ0hFQ0sjMQppZiAocGFyc2VJbnQoIjEiKSAhPT0gcGFyc2VJbnQoIjEiLCAxMCkpIHsKICAkRVJST1IoJyMxOiBwYXJzZUludCgiMSIpID09PSBwYXJzZUludCgiMDEiLCAxMCkuIEFjdHVhbDogJyArIChwYXJzZUludCgiMSIpKSk7Cn0gIAoKLy9DSEVDSyMyCmlmIChwYXJzZUludCgiMiIpICE9PSBwYXJzZUludCgiMiIsIDEwKSkgewogICRFUlJPUignIzI6IHBhcnNlSW50KCIyIikgPT09IHBhcnNlSW50KCIyIiwgMTApLiBBY3R1YWw6ICcgKyAocGFyc2VJbnQoIjIiKSkpOwp9ICAKCi8vQ0hFQ0sjMwppZiAocGFyc2VJbnQoIjMiKSAhPT0gcGFyc2VJbnQoIjMiLCAxMCkpIHsKICAkRVJST1IoJyMzOiBwYXJzZUludCgiMyIpID09PSBwYXJzZUludCgiMyIsIDEwKS4gQWN0dWFsOiAnICsgKHBhcnNlSW50KCIzIikpKTsKfSAKCi8vQ0hFQ0sjNAppZiAocGFyc2VJbnQoIjQiKSAhPT0gcGFyc2VJbnQoIjQiLCAxMCkpIHsKICAkRVJST1IoJyM0OiBwYXJzZUludCgiNCIpID09PSBwYXJzZUludCg0IiwgMTApLiBBY3R1YWw6ICcgKyAocGFyc2VJbnQoIjQiKSkpOwp9IAoKLy9DSEVDSyM1CmlmIChwYXJzZUludCgiNSIpICE9PSBwYXJzZUludCgiNSIsIDEwKSkgewogICRFUlJPUignIzU6IHBhcnNlSW50KCI1IikgPT09IHBhcnNlSW50KCI1IiwgMTApLiBBY3R1YWw6ICcgKyAocGFyc2VJbnQoIjUiKSkpOwp9ICAKCi8vQ0hFQ0sjNgppZiAocGFyc2VJbnQoIjYiKSAhPT0gcGFyc2VJbnQoIjYiLCAxMCkpIHsKICAkRVJST1IoJyM2OiBwYXJzZUludCgiNiIpID09PSBwYXJzZUludCgiNiIsIDEwKS4gQWN0dWFsOiAnICsgKHBhcnNlSW50KCI2IikpKTsKfSAgCgovL0NIRUNLIzcKaWYgKHBhcnNlSW50KCI3IikgIT09IHBhcnNlSW50KCI3IiwgMTApKSB7CiAgJEVSUk9SKCcjNzogcGFyc2VJbnQoIjciKSA9PT0gcGFyc2VJbnQoIjciLCAxMCkuIEFjdHVhbDogJyArIChwYXJzZUludCgiNyIpKSk7Cn0gIAoKLy9DSEVDSyM4CmlmIChwYXJzZUludCgiOCIpICE9PSBwYXJzZUludCgiOCIsIDEwKSkgewogICRFUlJPUignIzg6IHBhcnNlSW50KCI4IikgPT09IHBhcnNlSW50KCI4IiwgMTApLiBBY3R1YWw6ICcgKyAocGFyc2VJbnQoIjgiKSkpOwp9ICAKCi8vQ0hFQ0sjOQppZiAocGFyc2VJbnQoIjkiKSAhPT0gcGFyc2VJbnQoIjkiLCAxMCkpIHsKICAkRVJST1IoJyM5OiBwYXJzZUludCgiOSIpID09PSBwYXJzZUludCgiOSIsIDEwKS4gQWN0dWFsOiAnICsgKHBhcnNlSW50KCI5IikpKTsKfSAgCgovL0NIRUNLIzEwCmlmIChwYXJzZUludCgiMTAiKSAhPT0gcGFyc2VJbnQoIjEwIiwgMTApKSB7CiAgJEVSUk9SKCcjMTA6IHBhcnNlSW50KCIxMCIpID09PSBwYXJzZUludCgiMTAiLCAxMCkuIEFjdHVhbDogJyArIChwYXJzZUludCgiMTAiKSkpOwp9ICAKCi8vQ0hFQ0sjMTEKaWYgKHBhcnNlSW50KCIxMSIpICE9PSBwYXJzZUludCgiMTEiLCAxMCkpIHsKICAkRVJST1IoJyMxMTogcGFyc2VJbnQoIjExIikgPT09IHBhcnNlSW50KCIxMSIsIDEwKS4gQWN0dWFsOiAnICsgKHBhcnNlSW50KCIxMSIpKSk7Cn0gIAoKLy9DSEVDSyMxMgppZiAocGFyc2VJbnQoIjk5OTkiKSAhPT0gcGFyc2VJbnQoIjk5OTkiLCAxMCkpIHsKICAkRVJST1IoJyMxMjogcGFyc2VJbnQoIjk5OTkiKSA9PT0gcGFyc2VJbnQoIjk5OTkiLCAxMCkuIEFjdHVhbDogJyArIChwYXJzZUludCgiOTk5OSIpKSk7Cn0gIAoK","commentary":"If R = 0 or R = undefined, then R = 10","description":"R = undefined","path":"TestCases/ch15/15.1/15.1.2/15.1.2.2/S15.1.2.2_A4.1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBSIDwgMiBvciBSID4gMzYsIHRoZW4gcmV0dXJuIE5hTgogKgogKiBAcGF0aCBjaDE1LzE1LjEvMTUuMS4yLzE1LjEuMi4yL1MxNS4xLjIuMl9BNC4yX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBSID0gMQogKi8KCi8vQ0hFQ0sjMAppZiAoaXNOYU4ocGFyc2VJbnQoIjAiLCAxKSkgIT09IHRydWUpIHsKICAkRVJST1IoJyMwOiBwYXJzZUludCgiMCIsIDEpID09PSBOb3QtYS1OdW1iZXIuIEFjdHVhbDogJyArIChwYXJzZUludCgiMCIsIDEpKSk7Cn0gIAoKLy9DSEVDSyMxCmlmIChpc05hTihwYXJzZUludCgiMSIsIDEpKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzE6IHBhcnNlSW50KCIxIiwgMSkgPT09IE5vdC1hLU51bWJlci4gQWN0dWFsOiAnICsgKHBhcnNlSW50KCIxIiwgMSkpKTsKfSAgCgovL0NIRUNLIzIKaWYgKGlzTmFOKHBhcnNlSW50KCIyIiwgMSkpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMjogcGFyc2VJbnQoIjIiLCAxKSA9PT0gTm90LWEtTnVtYmVyLiBBY3R1YWw6ICcgKyAocGFyc2VJbnQoIjIiLCAxKSkpOwp9ICAKCi8vQ0hFQ0sjMwppZiAoaXNOYU4ocGFyc2VJbnQoIjMiLCAxKSkgIT09IHRydWUpIHsKICAkRVJST1IoJyMzOiBwYXJzZUludCgiMyIsIDEpID09PSBOb3QtYS1OdW1iZXIuIEFjdHVhbDogJyArIChwYXJzZUludCgiMyIsIDEpKSk7Cn0gCgovL0NIRUNLIzQKaWYgKGlzTmFOKHBhcnNlSW50KCI0IiwgMSkpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjNDogcGFyc2VJbnQoIjQiLCAxKSA9PT0gTm90LWEtTnVtYmVyLiBBY3R1YWw6ICcgKyAocGFyc2VJbnQoIjQiLCAxKSkpOwp9IAoKLy9DSEVDSyM1CmlmIChpc05hTihwYXJzZUludCgiNSIsIDEpKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzU6IHBhcnNlSW50KCI1IiwgMSkgPT09IE5vdC1hLU51bWJlci4gQWN0dWFsOiAnICsgKHBhcnNlSW50KCI1IiwgMSkpKTsKfSAgCgovL0NIRUNLIzYKaWYgKGlzTmFOKHBhcnNlSW50KCI2IiwgMSkpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjNjogcGFyc2VJbnQoIjYiLCAxKSA9PT0gTm90LWEtTnVtYmVyLiBBY3R1YWw6ICcgKyAocGFyc2VJbnQoIjYiLCAxKSkpOwp9ICAKCi8vQ0hFQ0sjNwppZiAoaXNOYU4ocGFyc2VJbnQoIjciLCAxKSkgIT09IHRydWUpIHsKICAkRVJST1IoJyM3OiBwYXJzZUludCgiNyIsIDEpID09PSBOb3QtYS1OdW1iZXIuIEFjdHVhbDogJyArIChwYXJzZUludCgiNyIsIDEpKSk7Cn0gIAoKLy9DSEVDSyM4CmlmIChpc05hTihwYXJzZUludCgiOCIsIDEpKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzg6IHBhcnNlSW50KCI4IiwgMSkgPT09IE5vdC1hLU51bWJlci4gQWN0dWFsOiAnICsgKHBhcnNlSW50KCI4IiwgMSkpKTsKfSAgCgovL0NIRUNLIzkKaWYgKGlzTmFOKHBhcnNlSW50KCI5IiwgMSkpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjOTogcGFyc2VJbnQoIjkiLCAxKSA9PT0gTm90LWEtTnVtYmVyLiBBY3R1YWw6ICcgKyAocGFyc2VJbnQoIjkiLCAxKSkpOwp9ICAKCi8vQ0hFQ0sjMTAKaWYgKGlzTmFOKHBhcnNlSW50KCIxMCIsIDEpKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzEwOiBwYXJzZUludCgiMTAiLCAxKSA9PT0gTm90LWEtTnVtYmVyLiBBY3R1YWw6ICcgKyAocGFyc2VJbnQoIjEwIiwgMSkpKTsKfSAgCgovL0NIRUNLIzExCmlmIChpc05hTihwYXJzZUludCgiMTEiLCAxKSkgIT09IHRydWUpIHsKICAkRVJST1IoJyMxMTogcGFyc2VJbnQoIjExIiwgMSkgPT09IE5vdC1hLU51bWJlci4gQWN0dWFsOiAnICsgKHBhcnNlSW50KCIxMSIsIDEpKSk7Cn0gIAoK","commentary":"If R < 2 or R > 36, then return NaN","description":"R = 1","path":"TestCases/ch15/15.1/15.1.2/15.1.2.2/S15.1.2.2_A4.2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBSIDwgMiBvciBSID4gMzYsIHRoZW4gcmV0dXJuIE5hTgogKgogKiBAcGF0aCBjaDE1LzE1LjEvMTUuMS4yLzE1LjEuMi4yL1MxNS4xLjIuMl9BNC4yX1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBSID0gMzcKICovCgovL0NIRUNLIzAKaWYgKGlzTmFOKHBhcnNlSW50KCIwIiwgMzcpKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzA6IHBhcnNlSW50KCIwIiwgMzcpID09PSBOb3QtYS1OdW1iZXIuIEFjdHVhbDogJyArIChwYXJzZUludCgiMCIsIDM3KSkpOwp9ICAKCi8vQ0hFQ0sjMQppZiAoaXNOYU4ocGFyc2VJbnQoIjEiLCAzNykpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMTogcGFyc2VJbnQoIjEiLCAzNykgPT09IE5vdC1hLU51bWJlci4gQWN0dWFsOiAnICsgKHBhcnNlSW50KCIxIiwgMzcpKSk7Cn0gIAoKLy9DSEVDSyMyCmlmIChpc05hTihwYXJzZUludCgiMiIsIDM3KSkgIT09IHRydWUpIHsKICAkRVJST1IoJyMyOiBwYXJzZUludCgiMiIsIDM3KSA9PT0gTm90LWEtTnVtYmVyLiBBY3R1YWw6ICcgKyAocGFyc2VJbnQoIjIiLCAzNykpKTsKfSAgCgovL0NIRUNLIzMKaWYgKGlzTmFOKHBhcnNlSW50KCIzIiwgMzcpKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzM6IHBhcnNlSW50KCIzIiwgMzcpID09PSBOb3QtYS1OdW1iZXIuIEFjdHVhbDogJyArIChwYXJzZUludCgiMyIsIDM3KSkpOwp9IAoKLy9DSEVDSyM0CmlmIChpc05hTihwYXJzZUludCgiNCIsIDM3KSkgIT09IHRydWUpIHsKICAkRVJST1IoJyM0OiBwYXJzZUludCgiNCIsIDM3KSA9PT0gTm90LWEtTnVtYmVyLiBBY3R1YWw6ICcgKyAocGFyc2VJbnQoIjQiLCAzNykpKTsKfSAKCi8vQ0hFQ0sjNQppZiAoaXNOYU4ocGFyc2VJbnQoIjUiLCAzNykpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjNTogcGFyc2VJbnQoIjUiLCAzNykgPT09IE5vdC1hLU51bWJlci4gQWN0dWFsOiAnICsgKHBhcnNlSW50KCI1IiwgMzcpKSk7Cn0gIAoKLy9DSEVDSyM2CmlmIChpc05hTihwYXJzZUludCgiNiIsIDM3KSkgIT09IHRydWUpIHsKICAkRVJST1IoJyM2OiBwYXJzZUludCgiNiIsIDM3KSA9PT0gTm90LWEtTnVtYmVyLiBBY3R1YWw6ICcgKyAocGFyc2VJbnQoIjYiLCAzNykpKTsKfSAgCgovL0NIRUNLIzcKaWYgKGlzTmFOKHBhcnNlSW50KCI3IiwgMzcpKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzc6IHBhcnNlSW50KCI3IiwgMzcpID09PSBOb3QtYS1OdW1iZXIuIEFjdHVhbDogJyArIChwYXJzZUludCgiNyIsIDM3KSkpOwp9ICAKCi8vQ0hFQ0sjOAppZiAoaXNOYU4ocGFyc2VJbnQoIjgiLCAzNykpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjODogcGFyc2VJbnQoIjgiLCAzNykgPT09IE5vdC1hLU51bWJlci4gQWN0dWFsOiAnICsgKHBhcnNlSW50KCI4IiwgMzcpKSk7Cn0gIAoKLy9DSEVDSyM5CmlmIChpc05hTihwYXJzZUludCgiOSIsIDM3KSkgIT09IHRydWUpIHsKICAkRVJST1IoJyM5OiBwYXJzZUludCgiOSIsIDM3KSA9PT0gTm90LWEtTnVtYmVyLiBBY3R1YWw6ICcgKyAocGFyc2VJbnQoIjkiLCAzNykpKTsKfSAgCgovL0NIRUNLIzEwCmlmIChpc05hTihwYXJzZUludCgiMTAiLCAzNykpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMTA6IHBhcnNlSW50KCIxMCIsIDM3KSA9PT0gTm90LWEtTnVtYmVyLiBBY3R1YWw6ICcgKyAocGFyc2VJbnQoIjEwIiwgMzcpKSk7Cn0gIAoKLy9DSEVDSyMxMQppZiAoaXNOYU4ocGFyc2VJbnQoIjExIiwgMzcpKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzExOiBwYXJzZUludCgiMTEiLCAzNykgPT09IE5vdC1hLU51bWJlci4gQWN0dWFsOiAnICsgKHBhcnNlSW50KCIxMSIsIDM3KSkpOwp9ICAKCg==","commentary":"If R < 2 or R > 36, then return NaN","description":"R = 37","path":"TestCases/ch15/15.1/15.1.2/15.1.2.2/S15.1.2.2_A4.2_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBSIDwgMiBvciBSID4gMzYsIHRoZW4gcmV0dXJuIE5hTgogKgogKiBAcGF0aCBjaDE1LzE1LjEvMTUuMS4yLzE1LjEuMi4yL1MxNS4xLjIuMl9BNC4yX1QzLmpzCiAqIEBkZXNjcmlwdGlvbiBDb21wbGV4IHRlc3QKICovCgovL0NIRUNLIwp2YXIgcG93ID0gMjsKZm9yICh2YXIgaSA9IDE7IGkgPCAzMjsgaSsrKSB7ICAgCiAgaWYgKHBvdyA+IDM2KSB7ICAKICAgIHZhciByZXMgPSB0cnVlOyAgCiAgICBpZiAoaXNOYU4ocGFyc2VJbnQoMSwgcG93KSkgIT09IHRydWUpIHsKICAgICAgJEVSUk9SKCcjMS4nICsgaSArICc6IElmIFIgPCAyIG9yIFIgPiAzNiwgdGhlbiByZXR1cm4gTmFOJyk7CiAgICB9CiAgICBpZiAoaXNOYU4ocGFyc2VJbnQoMSwgLXBvdykpICE9PSB0cnVlKSB7CiAgICAgICRFUlJPUignIzIuJyArIGkgKyAnOiBJZiBSIDwgMiBvciBSID4gMzYsIHRoZW4gcmV0dXJuIE5hTicpOwogICAgfQogIH0KICBwb3cgPSBwb3cgKiAyOyAgICAgICAgICAgICAgICAgICAgICAgIAp9ICAgIAoK","commentary":"If R < 2 or R > 36, then return NaN","description":"Complex test","path":"TestCases/ch15/15.1/15.1.2/15.1.2.2/S15.1.2.2_A4.2_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBwYXJzZUludCBpcyBubyBsb25nZXIgYWxsb3dlZCB0byB0cmVhdCBhIGxlYWRpbmcgemVybyBhcyBpbmRpY2F0aW5nCiAqIG9jdGFsLiAgIklmIHJhZGl4IGlzIHVuZGVmaW5lZCBvciAwLCBpdCBpcyBhc3N1bWVkIHRvIGJlIDEwIGV4Y2VwdAogKiB3aGVuIHRoZSBudW1iZXIgYmVnaW5zIHdpdGggdGhlIGNoYXJhY3RlciBwYWlycyAweCBvciAwWCwgaW4gd2hpY2gKICogY2FzZSBhIHJhZGl4IG9mIDE2IGlzIGFzc3VtZWQuIgogKgogKiBAcGF0aCBjaDE1LzE1LjEvMTUuMS4yLzE1LjEuMi4yL1MxNS4xLjIuMl9BNS4xX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVjayBpZiBwYXJzZUludCBzdGlsbCBhY2NlcHRzIG9jdGFsCiAqLwoKaWYgKHBhcnNlSW50KCcwMTAnKSAhPT0gMTApIHsKICAkRVJST1IoInBhcnNlSW50IHNob3VsZCBubyBsb25nZXIgYWNjZXB0IG9jdGFsIik7Cn0K","commentary":"parseInt is no longer allowed to treat a leading zero as indicating\noctal. \"If radix is undefined or 0, it is assumed to be 10 except\nwhen the number begins with the character pairs 0x or 0X, in which\ncase a radix of 16 is assumed.\"","description":"Check if parseInt still accepts octal","path":"TestCases/ch15/15.1/15.1.2/15.1.2.2/S15.1.2.2_A5.1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB0aGUgbGVuZ3RoIG9mIFMgaXMgYXQgbGVhc3QgMiBhbmQgdGhlIGZpcnN0IHR3byBjaGFyYWN0ZXJzIG9mIFMKICogYXJlIGVpdGhlciAweCBvciAwWCwgdGhlbiByZW1vdmUgdGhlIGZpcnN0IHR3byBjaGFyYWN0ZXJzIGZyb20gUyBhbmQgbGV0IFIgPSAxNgogKgogKiBAcGF0aCBjaDE1LzE1LjEvMTUuMS4yLzE1LjEuMi4yL1MxNS4xLjIuMl9BNS4yX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiA6IDB4CiAqLwoKLy9DSEVDSyMwCmlmIChwYXJzZUludCgiMHgwIiwgMCkgICE9PSBwYXJzZUludCgiMCIsIDE2KSkgewogICRFUlJPUignIzA6IHBhcnNlSW50KCIweDAiLCAwKSA9PT0gcGFyc2VJbnQoIjAiLCAxNikuIEFjdHVhbDogJyArIChwYXJzZUludCgiMHgwIiwgMCkpKTsKfQoKLy9DSEVDSyMxCmlmIChwYXJzZUludCgiMHgxIiwgMCkgICE9PSBwYXJzZUludCgiMSIsIDE2KSkgewogICRFUlJPUignIzE6IHBhcnNlSW50KCIweDEiLCAwKSA9PT0gcGFyc2VJbnQoIjEiLCAxNikuIEFjdHVhbDogJyArIChwYXJzZUludCgiMHgxIiwgMCkpKTsKfQoKLy9DSEVDSyMyCmlmIChwYXJzZUludCgiMHgyIiwgMCkgICE9PSBwYXJzZUludCgiMiIsIDE2KSkgewogICRFUlJPUignIzI6IHBhcnNlSW50KCIweDIiLCAwKSA9PT0gcGFyc2VJbnQoIjIiLCAxNikuIEFjdHVhbDogJyArIChwYXJzZUludCgiMHgyIiwgMCkpKTsKfQoKLy9DSEVDSyMzCmlmIChwYXJzZUludCgiMHgzIiwgMCkgICE9PSBwYXJzZUludCgiMyIsIDE2KSkgewogICRFUlJPUignIzM6IHBhcnNlSW50KCIweDMiLCAwKSA9PT0gcGFyc2VJbnQoIjMiLCAxNikuIEFjdHVhbDogJyArIChwYXJzZUludCgiMHgzIiwgMCkpKTsKfQoKLy9DSEVDSyM0CmlmIChwYXJzZUludCgiMHg0IiwgMCkgICE9PSBwYXJzZUludCgiNCIsIDE2KSkgewogICRFUlJPUignIzQ6IHBhcnNlSW50KCIweDQiLCAwKSA9PT0gcGFyc2VJbnQoIjQiLCAxNikuIEFjdHVhbDogJyArIChwYXJzZUludCgiMHg0IiwgMCkpKTsKfQoKLy9DSEVDSyM1CmlmIChwYXJzZUludCgiMHg1IiwgMCkgICE9PSBwYXJzZUludCgiNSIsIDE2KSkgewogICRFUlJPUignIzU6IHBhcnNlSW50KCIweDUiLCAwKSA9PT0gcGFyc2VJbnQoIjUiLCAxNikuIEFjdHVhbDogJyArIChwYXJzZUludCgiMHg1IiwgMCkpKTsKfQoKLy9DSEVDSyM2CmlmIChwYXJzZUludCgiMHg2IiwgMCkgICE9PSBwYXJzZUludCgiNiIsIDE2KSkgewogICRFUlJPUignIzY6IHBhcnNlSW50KCIweDYiLCAwKSA9PT0gcGFyc2VJbnQoIjYiLCAxNikuIEFjdHVhbDogJyArIChwYXJzZUludCgiMHg2IiwgMCkpKTsKfQoKLy9DSEVDSyM3CmlmIChwYXJzZUludCgiMHg3IiwgMCkgICE9PSBwYXJzZUludCgiNyIsIDE2KSkgewogICRFUlJPUignIzc6IHBhcnNlSW50KCIweDciLCAwKSA9PT0gcGFyc2VJbnQoIjciLCAxNikuIEFjdHVhbDogJyArIChwYXJzZUludCgiMHg3IiwgMCkpKTsKfQoKLy9DSEVDSyM4CmlmIChwYXJzZUludCgiMHg4IiwgMCkgICE9PSBwYXJzZUludCgiOCIsIDE2KSkgewogICRFUlJPUignIzg6IHBhcnNlSW50KCIweDgiLCAwKSA9PT0gcGFyc2VJbnQoIjgiLCAxNikuIEFjdHVhbDogJyArIChwYXJzZUludCgiMHg4IiwgMCkpKTsKfQoKLy9DSEVDSyM5CmlmIChwYXJzZUludCgiMHg5IiwgMCkgICE9PSBwYXJzZUludCgiOSIsIDE2KSkgewogICRFUlJPUignIzk6IHBhcnNlSW50KCIweDkiLCAwKSA9PT0gcGFyc2VJbnQoIjkiLCAxNikuIEFjdHVhbDogJyArIChwYXJzZUludCgiMHg5IiwgMCkpKTsKfQoKLy9DSEVDSyNBCmlmIChwYXJzZUludCgiMHhBIiwgMCkgICE9PSBwYXJzZUludCgiQSIsIDE2KSkgewogICRFUlJPUignI0E6IHBhcnNlSW50KCIweEEiLCAwKSA9PT0gcGFyc2VJbnQoIkEiLCAxNikuIEFjdHVhbDogJyArIChwYXJzZUludCgiMHhBIiwgMCkpKTsKfQoKLy9DSEVDSyNCCmlmIChwYXJzZUludCgiMHhCIiwgMCkgICE9PSBwYXJzZUludCgiQiIsIDE2KSkgewogICRFUlJPUignI0I6IHBhcnNlSW50KCIweEIiLCAwKSA9PT0gcGFyc2VJbnQoIkIiLCAxNikuIEFjdHVhbDogJyArIChwYXJzZUludCgiMHhCIiwgMCkpKTsKfQoKLy9DSEVDSyNDCmlmIChwYXJzZUludCgiMHhDIiwgMCkgICE9PSBwYXJzZUludCgiQyIsIDE2KSkgewogICRFUlJPUignI0M6IHBhcnNlSW50KCIweEMiLCAwKSA9PT0gcGFyc2VJbnQoIkMiLCAxNikuIEFjdHVhbDogJyArIChwYXJzZUludCgiMHhDIiwgMCkpKTsKfQoKLy9DSEVDSyNECmlmIChwYXJzZUludCgiMHhEIiwgMCkgICE9PSBwYXJzZUludCgiRCIsIDE2KSkgewogICRFUlJPUignI0Q6IHBhcnNlSW50KCIweEQiLCAwKSA9PT0gcGFyc2VJbnQoIkQiLCAxNikuIEFjdHVhbDogJyArIChwYXJzZUludCgiMHhEIiwgMCkpKTsKfQoKLy9DSEVDSyNFCmlmIChwYXJzZUludCgiMHhFIiwgMCkgICE9PSBwYXJzZUludCgiRSIsIDE2KSkgewogICRFUlJPUignI0U6IHBhcnNlSW50KCIweEUiLCAwKSA9PT0gcGFyc2VJbnQoIkUiLCAxNikuIEFjdHVhbDogJyArIChwYXJzZUludCgiMHhFIiwgMCkpKTsKfQoKLy9DSEVDSyNGCmlmIChwYXJzZUludCgiMHhGIiwgMCkgICE9PSBwYXJzZUludCgiRiIsIDE2KSkgewogICRFUlJPUignI0Y6IHBhcnNlSW50KCIweEYiLCAwKSA9PT0gcGFyc2VJbnQoIkYiLCAxNikuIEFjdHVhbDogJyArIChwYXJzZUludCgiMHhGIiwgMCkpKTsKfQoKLy9DSEVDSyNFCmlmIChwYXJzZUludCgiMHhFIiwgMCkgICE9PSBwYXJzZUludCgiRSIsIDE2KSkgewogICRFUlJPUignI0U6IHBhcnNlSW50KCIweEUiLCAwKSA9PT0gcGFyc2VJbnQoIkUiLCAxNikuIEFjdHVhbDogJyArIChwYXJzZUludCgiMHhFIiwgMCkpKTsKfQoKLy9DSEVDSyNBQkNERUYKaWYgKHBhcnNlSW50KCIweEFCQ0RFRiIsIDApICAhPT0gcGFyc2VJbnQoIkFCQ0RFRiIsIDE2KSkgewogICRFUlJPUignI0FCQ0RFRjogcGFyc2VJbnQoIjB4QUJDREVGIiwgMCkgPT09IHBhcnNlSW50KCJBQkNERUYiLCAxNikuIEFjdHVhbDogJyArIChwYXJzZUludCgiMHhBQkNERUYiLCAwKSkpOwp9ICAgICAKCg==","commentary":"If the length of S is at least 2 and the first two characters of S\nare either 0x or 0X, then remove the first two characters from S and let R = 16","description":": 0x","path":"TestCases/ch15/15.1/15.1.2/15.1.2.2/S15.1.2.2_A5.2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB0aGUgbGVuZ3RoIG9mIFMgaXMgYXQgbGVhc3QgMiBhbmQgdGhlIGZpcnN0IHR3byBjaGFyYWN0ZXJzIG9mIFMKICogYXJlIGVpdGhlciAweCBvciAwWCwgdGhlbiByZW1vdmUgdGhlIGZpcnN0IHR3byBjaGFyYWN0ZXJzIGZyb20gUyBhbmQgbGV0IFIgPSAxNgogKgogKiBAcGF0aCBjaDE1LzE1LjEvMTUuMS4yLzE1LjEuMi4yL1MxNS4xLjIuMl9BNS4yX1QyLmpzCiAqIEBkZXNjcmlwdGlvbiA6IDBYCiAqLwoKLy9DSEVDSyMwCmlmIChwYXJzZUludCgiMFgwIiwgMCkgICE9PSBwYXJzZUludCgiMCIsIDE2KSkgewogICRFUlJPUignIzA6IHBhcnNlSW50KCIwWDAiLCAwKSA9PT0gcGFyc2VJbnQoIjAiLCAxNikuIEFjdHVhbDogJyArIChwYXJzZUludCgiMFgwIiwgMCkpKTsKfQoKLy9DSEVDSyMxCmlmIChwYXJzZUludCgiMFgxIikgICE9PSBwYXJzZUludCgiMSIsIDE2KSkgewogICRFUlJPUignIzE6IHBhcnNlSW50KCIwWDEiKSA9PT0gcGFyc2VJbnQoIjEiLCAxNikuIEFjdHVhbDogJyArIChwYXJzZUludCgiMFgxIikpKTsKfQoKLy9DSEVDSyMyCmlmIChwYXJzZUludCgiMFgyIikgICE9PSBwYXJzZUludCgiMiIsIDE2KSkgewogICRFUlJPUignIzI6IHBhcnNlSW50KCIwWDIiKSA9PT0gcGFyc2VJbnQoIjIiLCAxNikuIEFjdHVhbDogJyArIChwYXJzZUludCgiMFgyIikpKTsKfQoKLy9DSEVDSyMzCmlmIChwYXJzZUludCgiMFgzIikgICE9PSBwYXJzZUludCgiMyIsIDE2KSkgewogICRFUlJPUignIzM6IHBhcnNlSW50KCIwWDMiKSA9PT0gcGFyc2VJbnQoIjMiLCAxNikuIEFjdHVhbDogJyArIChwYXJzZUludCgiMFgzIikpKTsKfQoKLy9DSEVDSyM0CmlmIChwYXJzZUludCgiMFg0IikgICE9PSBwYXJzZUludCgiNCIsIDE2KSkgewogICRFUlJPUignIzQ6IHBhcnNlSW50KCIwWDQiKSA9PT0gcGFyc2VJbnQoIjQiLCAxNikuIEFjdHVhbDogJyArIChwYXJzZUludCgiMFg0IikpKTsKfQoKLy9DSEVDSyM1CmlmIChwYXJzZUludCgiMFg1IikgICE9PSBwYXJzZUludCgiNSIsIDE2KSkgewogICRFUlJPUignIzU6IHBhcnNlSW50KCIwWDUiKSA9PT0gcGFyc2VJbnQoIjUiLCAxNikuIEFjdHVhbDogJyArIChwYXJzZUludCgiMFg1IikpKTsKfQoKLy9DSEVDSyM2CmlmIChwYXJzZUludCgiMFg2IikgICE9PSBwYXJzZUludCgiNiIsIDE2KSkgewogICRFUlJPUignIzY6IHBhcnNlSW50KCIwWDYiKSA9PT0gcGFyc2VJbnQoIjYiLCAxNikuIEFjdHVhbDogJyArIChwYXJzZUludCgiMFg2IikpKTsKfQoKLy9DSEVDSyM3CmlmIChwYXJzZUludCgiMFg3IikgICE9PSBwYXJzZUludCgiNyIsIDE2KSkgewogICRFUlJPUignIzc6IHBhcnNlSW50KCIwWDciKSA9PT0gcGFyc2VJbnQoIjciLCAxNikuIEFjdHVhbDogJyArIChwYXJzZUludCgiMFg3IikpKTsKfQoKLy9DSEVDSyM4CmlmIChwYXJzZUludCgiMFg4IikgICE9PSBwYXJzZUludCgiOCIsIDE2KSkgewogICRFUlJPUignIzg6IHBhcnNlSW50KCIwWDgiKSA9PT0gcGFyc2VJbnQoIjgiLCAxNikuIEFjdHVhbDogJyArIChwYXJzZUludCgiMFg4IikpKTsKfQoKLy9DSEVDSyM5CmlmIChwYXJzZUludCgiMFg5IikgICE9PSBwYXJzZUludCgiOSIsIDE2KSkgewogICRFUlJPUignIzk6IHBhcnNlSW50KCIwWDkiKSA9PT0gcGFyc2VJbnQoIjkiLCAxNikuIEFjdHVhbDogJyArIChwYXJzZUludCgiMFg5IikpKTsKfQoKLy9DSEVDSyNBCmlmIChwYXJzZUludCgiMFhBIikgICE9PSBwYXJzZUludCgiQSIsIDE2KSkgewogICRFUlJPUignI0E6IHBhcnNlSW50KCIwWEEiKSA9PT0gcGFyc2VJbnQoIkEiLCAxNikuIEFjdHVhbDogJyArIChwYXJzZUludCgiMFhBIikpKTsKfQoKLy9DSEVDSyNCCmlmIChwYXJzZUludCgiMFhCIikgICE9PSBwYXJzZUludCgiQiIsIDE2KSkgewogICRFUlJPUignI0I6IHBhcnNlSW50KCIwWEIiKSA9PT0gcGFyc2VJbnQoIkIiLCAxNikuIEFjdHVhbDogJyArIChwYXJzZUludCgiMFhCIikpKTsKfQoKLy9DSEVDSyNDCmlmIChwYXJzZUludCgiMFhDIikgICE9PSBwYXJzZUludCgiQyIsIDE2KSkgewogICRFUlJPUignI0M6IHBhcnNlSW50KCIwWEMiKSA9PT0gcGFyc2VJbnQoIkMiLCAxNikuIEFjdHVhbDogJyArIChwYXJzZUludCgiMFhDIikpKTsKfQoKLy9DSEVDSyNECmlmIChwYXJzZUludCgiMFhEIikgICE9PSBwYXJzZUludCgiRCIsIDE2KSkgewogICRFUlJPUignI0Q6IHBhcnNlSW50KCIwWEQiKSA9PT0gcGFyc2VJbnQoIkQiLCAxNikuIEFjdHVhbDogJyArIChwYXJzZUludCgiMFhEIikpKTsKfQoKLy9DSEVDSyNFCmlmIChwYXJzZUludCgiMFhFIikgICE9PSBwYXJzZUludCgiRSIsIDE2KSkgewogICRFUlJPUignI0U6IHBhcnNlSW50KCIwWEUiKSA9PT0gcGFyc2VJbnQoIkUiLCAxNikuIEFjdHVhbDogJyArIChwYXJzZUludCgiMFhFIikpKTsKfQoKLy9DSEVDSyNGCmlmIChwYXJzZUludCgiMFhGIikgICE9PSBwYXJzZUludCgiRiIsIDE2KSkgewogICRFUlJPUignI0Y6IHBhcnNlSW50KCIwWEYiKSA9PT0gcGFyc2VJbnQoIkYiLCAxNikuIEFjdHVhbDogJyArIChwYXJzZUludCgiMFhGIikpKTsKfQoKLy9DSEVDSyNFCmlmIChwYXJzZUludCgiMFhFIikgICE9PSBwYXJzZUludCgiRSIsIDE2KSkgewogICRFUlJPUignI0U6IHBhcnNlSW50KCIwWEUiKSA9PT0gcGFyc2VJbnQoIkUiLCAxNikuIEFjdHVhbDogJyArIChwYXJzZUludCgiMFhFIikpKTsKfQoKLy9DSEVDSyNBQkNERUYKaWYgKHBhcnNlSW50KCIwWEFCQ0RFRiIpICAhPT0gcGFyc2VJbnQoIkFCQ0RFRiIsIDE2KSkgewogICRFUlJPUignI0FCQ0RFRjogcGFyc2VJbnQoIjBYQUJDREVGIikgPT09IHBhcnNlSW50KCJBQkNERUYiLCAxNikuIEFjdHVhbDogJyArIChwYXJzZUludCgiMFhBQkNERUYiKSkpOwp9ICAgICAKCg==","commentary":"If the length of S is at least 2 and the first two characters of S\nare either 0x or 0X, then remove the first two characters from S and let R = 16","description":": 0X","path":"TestCases/ch15/15.1/15.1.2/15.1.2.2/S15.1.2.2_A5.2_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBTIGNvbnRhaW5zIGFueSBjaGFyYWN0ZXIgdGhhdCBpcyBub3QgYSByYWRpeC1SIGRpZ2l0LAogKiB0aGVuIGxldCBaIGJlIHRoZSBzdWJzdHJpbmcgb2YgUyBjb25zaXN0aW5nIG9mIGFsbCBjaGFyYWN0ZXJzIGJlZm9yZQogKiB0aGUgZmlyc3Qgc3VjaCBjaGFyYWN0ZXI7IG90aGVyd2lzZSwgbGV0IFogYmUgUwogKgogKiBAcGF0aCBjaDE1LzE1LjEvMTUuMS4yLzE1LjEuMi4yL1MxNS4xLjIuMl9BNi4xX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBDb21wbGV4IHRlc3QuIFIgaW4gWzIsIDM2XQogKi8KCi8vQ0hFQ0sjCmZvciAodmFyIGkgPSAyOyBpIDw9IDM2OyBpKyspIHsKICBpZiAocGFyc2VJbnQoIjEwJDEiLCBpKSAhPT0gaSkgewogICAgJEVSUk9SKCcjJyArIGkgKyc6IGkgPSAnICsgaSArICdwYXJzZUludCgiMTAkMSIsIGkpID09PSBpLiBBY3R1YWw6ICcgKyAocGFyc2VJbnQoIjEwJDEiLCBpKSkpOwogIH0KfSAgICAKCg==","commentary":"If S contains any character that is not a radix-R digit,\nthen let Z be the substring of S consisting of all characters before\nthe first such character; otherwise, let Z be S","description":"Complex test. R in [2, 36]","path":"TestCases/ch15/15.1/15.1.2/15.1.2.2/S15.1.2.2_A6.1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBTIGNvbnRhaW5zIGFueSBjaGFyYWN0ZXIgdGhhdCBpcyBub3QgYSByYWRpeC1SIGRpZ2l0LAogKiB0aGVuIGxldCBaIGJlIHRoZSBzdWJzdHJpbmcgb2YgUyBjb25zaXN0aW5nIG9mIGFsbCBjaGFyYWN0ZXJzIGJlZm9yZQogKiB0aGUgZmlyc3Qgc3VjaCBjaGFyYWN0ZXI7IG90aGVyd2lzZSwgbGV0IFogYmUgUwogKgogKiBAcGF0aCBjaDE1LzE1LjEvMTUuMS4yLzE1LjEuMi4yL1MxNS4xLjIuMl9BNi4xX1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBDb21wbGV4IHRlc3QuIFJhZGl4LVIgbm90YXRpb24gaW4gWzAuLjksIEEtWl0KICovCgovL0NIRUNLIwp2YXIgUl9kaWdpdCA9IFsiMSIsICIyIiwgIjMiLCAiNCIsICI1IiwgIjYiLCAiNyIsICI4IiwgIjkiLCAiQSIsICJCIiwgIkMiLCAiRCIsICJFIiwgIkYiLCAiRyIsICJIIiwgIkkiLCAiSiIsICJLIiwgIkwiLCAiTSIsICJOIiwgIk8iLCAiUCIsICJRIiwgIlIiLCAiUyIsICJUIiwgIlUiLCAiViIsICJXIiwgIlgiLCAiWSIsICJaIl07CmZvciAodmFyIGkgPSAyOyBpIDw9IDM2OyBpKyspIHsKICBpZiAocGFyc2VJbnQoUl9kaWdpdFtpIC0gMl0gKyAiJCIsIGkpICE9PSBpIC0gMSkgewogICAgJEVSUk9SKCcjJyArIGkgKyAnOiAnKTsKICB9Cn0gICAgCgo=","commentary":"If S contains any character that is not a radix-R digit,\nthen let Z be the substring of S consisting of all characters before\nthe first such character; otherwise, let Z be S","description":"Complex test. Radix-R notation in [0..9, A-Z]","path":"TestCases/ch15/15.1/15.1.2/15.1.2.2/S15.1.2.2_A6.1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBTIGNvbnRhaW5zIGFueSBjaGFyYWN0ZXIgdGhhdCBpcyBub3QgYSByYWRpeC1SIGRpZ2l0LAogKiB0aGVuIGxldCBaIGJlIHRoZSBzdWJzdHJpbmcgb2YgUyBjb25zaXN0aW5nIG9mIGFsbCBjaGFyYWN0ZXJzIGJlZm9yZQogKiB0aGUgZmlyc3Qgc3VjaCBjaGFyYWN0ZXI7IG90aGVyd2lzZSwgbGV0IFogYmUgUwogKgogKiBAcGF0aCBjaDE1LzE1LjEvMTUuMS4yLzE1LjEuMi4yL1MxNS4xLjIuMl9BNi4xX1QzLmpzCiAqIEBkZXNjcmlwdGlvbiBDb21wbGV4IHRlc3QuIFJhZGl4LVIgbm90YXRpb24gaW4gWzAuLjksIGEtel0KICovCgovL0NIRUNLIwp2YXIgUl9kaWdpdCA9IFsiMSIsICIyIiwgIjMiLCAiNCIsICI1IiwgIjYiLCAiNyIsICI4IiwgIjkiLCAiYSIsICJiIiwgImMiLCAiZCIsICJlIiwgImYiLCAiZyIsICJoIiwgImkiLCAiaiIsICJrIiwgImwiLCAibSIsICJuIiwgIm8iLCAicCIsICJxIiwgInIiLCAicyIsICJ0IiwgInUiLCAidiIsICJ3IiwgIngiLCAieSIsICJ6Il07CmZvciAodmFyIGkgPSAyOyBpIDw9IDM2OyBpKyspIHsKICBpZiAocGFyc2VJbnQoUl9kaWdpdFtpIC0gMl0gKyAiJCIsIGkpICE9PSBpIC0gMSkgewogICAgJEVSUk9SKCcjJyArIGkgKyAnOiAnKTsKICB9Cn0gICAgCgo=","commentary":"If S contains any character that is not a radix-R digit,\nthen let Z be the substring of S consisting of all characters before\nthe first such character; otherwise, let Z be S","description":"Complex test. Radix-R notation in [0..9, a-z]","path":"TestCases/ch15/15.1/15.1.2/15.1.2.2/S15.1.2.2_A6.1_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBTIGNvbnRhaW5zIGFueSBjaGFyYWN0ZXIgdGhhdCBpcyBub3QgYSByYWRpeC1SIGRpZ2l0LAogKiB0aGVuIGxldCBaIGJlIHRoZSBzdWJzdHJpbmcgb2YgUyBjb25zaXN0aW5nIG9mIGFsbCBjaGFyYWN0ZXJzIGJlZm9yZQogKiB0aGUgZmlyc3Qgc3VjaCBjaGFyYWN0ZXI7IG90aGVyd2lzZSwgbGV0IFogYmUgUwogKgogKiBAcGF0aCBjaDE1LzE1LjEvMTUuMS4yLzE1LjEuMi4yL1MxNS4xLjIuMl9BNi4xX1Q0LmpzCiAqIEBkZXNjcmlwdGlvbiBDb21wbGV4IHRlc3QuIFJhZGl4LVIgbm90YXRpb24gaW4gWzAuLjksIEEtWl0KICovCgovL0NIRUNLIwp2YXIgUl9kaWdpdCA9IFsiMSIsICIyIiwgIjMiLCAiNCIsICI1IiwgIjYiLCAiNyIsICI4IiwgIjkiLCAiQSIsICJCIiwgIkMiLCAiRCIsICJFIiwgIkYiLCAiRyIsICJIIiwgIkkiLCAiSiIsICJLIiwgIkwiLCAiTSIsICJOIiwgIk8iLCAiUCIsICJRIiwgIlIiLCAiUyIsICJUIiwgIlUiLCAiViIsICJXIiwgIlgiLCAiWSIsICJaIl07CmZvciAodmFyIGkgPSAyOyBpIDw9IDM1OyBpKyspIHsKICBpZiAocGFyc2VJbnQoUl9kaWdpdFtpIC0gMl0gKyBSX2RpZ2l0W2kgLSAxXSwgaSkgIT09IGkgLSAxKSB7CiAgICAkRVJST1IoJyMnICsgaSArICc6ICcpOwogIH0KfSAgICAKCg==","commentary":"If S contains any character that is not a radix-R digit,\nthen let Z be the substring of S consisting of all characters before\nthe first such character; otherwise, let Z be S","description":"Complex test. Radix-R notation in [0..9, A-Z]","path":"TestCases/ch15/15.1/15.1.2/15.1.2.2/S15.1.2.2_A6.1_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBTIGNvbnRhaW5zIGFueSBjaGFyYWN0ZXIgdGhhdCBpcyBub3QgYSByYWRpeC1SIGRpZ2l0LAogKiB0aGVuIGxldCBaIGJlIHRoZSBzdWJzdHJpbmcgb2YgUyBjb25zaXN0aW5nIG9mIGFsbCBjaGFyYWN0ZXJzIGJlZm9yZQogKiB0aGUgZmlyc3Qgc3VjaCBjaGFyYWN0ZXI7IG90aGVyd2lzZSwgbGV0IFogYmUgUwogKgogKiBAcGF0aCBjaDE1LzE1LjEvMTUuMS4yLzE1LjEuMi4yL1MxNS4xLjIuMl9BNi4xX1Q1LmpzCiAqIEBkZXNjcmlwdGlvbiBDb21wbGV4IHRlc3QuIFJhZGl4LVIgbm90YXRpb24gaW4gWzAuLjksIGEtel0KICovCgovL0NIRUNLIwp2YXIgUl9kaWdpdCA9IFsiMSIsICIyIiwgIjMiLCAiNCIsICI1IiwgIjYiLCAiNyIsICI4IiwgIjkiLCAiYSIsICJiIiwgImMiLCAiZCIsICJlIiwgImYiLCAiZyIsICJoIiwgImkiLCAiaiIsICJrIiwgImwiLCAibSIsICJuIiwgIm8iLCAicCIsICJxIiwgInIiLCAicyIsICJ0IiwgInUiLCAidiIsICJ3IiwgIngiLCAieSIsICJ6Il07CmZvciAodmFyIGkgPSAyOyBpIDw9IDM1OyBpKyspIHsKICBpZiAocGFyc2VJbnQoUl9kaWdpdFtpIC0gMl0gKyBSX2RpZ2l0W2kgLSAxXSwgaSkgIT09IGkgLSAxKSB7CiAgICAkRVJST1IoJyMnICsgaSArICc6ICcpOwogIH0KfSAgICAKCg==","commentary":"If S contains any character that is not a radix-R digit,\nthen let Z be the substring of S consisting of all characters before\nthe first such character; otherwise, let Z be S","description":"Complex test. Radix-R notation in [0..9, a-z]","path":"TestCases/ch15/15.1/15.1.2/15.1.2.2/S15.1.2.2_A6.1_T5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBTIGNvbnRhaW5zIGFueSBjaGFyYWN0ZXIgdGhhdCBpcyBub3QgYSByYWRpeC1SIGRpZ2l0LAogKiB0aGVuIGxldCBaIGJlIHRoZSBzdWJzdHJpbmcgb2YgUyBjb25zaXN0aW5nIG9mIGFsbCBjaGFyYWN0ZXJzIGJlZm9yZQogKiB0aGUgZmlyc3Qgc3VjaCBjaGFyYWN0ZXI7IG90aGVyd2lzZSwgbGV0IFogYmUgUwogKgogKiBAcGF0aCBjaDE1LzE1LjEvMTUuMS4yLzE1LjEuMi4yL1MxNS4xLjIuMl9BNi4xX1Q2LmpzCiAqIEBkZXNjcmlwdGlvbiBDb21wbGV4IHRlc3QuIFJhZGl4LVIgbm90YXRpb24gaW4gWzAuLjldCiAqLwoKLy9DSEVDSyMyCmlmIChwYXJzZUludCgiMDEyMzQ1Njc4OSIsIDIpICE9PSAxKSB7CiAgJEVSUk9SKCcjMjogcGFyc2VJbnQoIjAxMjM0NTY3ODkiLCAyKSA9PT0gMS4gQWN0dWFsOiAnICsgKHBhcnNlSW50KCIwMTIzNDU2Nzg5IiwgMikpKTsKfSAgCgovL0NIRUNLIzMKaWYgKHBhcnNlSW50KCIwMTIzNDU2Nzg5MCIsIDMpICE9PSA1KSB7CiAgJEVSUk9SKCcjMzogcGFyc2VJbnQoIjAxMjM0NTY3ODkwIiwgMykgPT09IDUuIEFjdHVhbDogJyArIChwYXJzZUludCgiMDEyMzQ1Njc4OTAiLCAzKSkpOwp9IAoKLy9DSEVDSyM0CmlmIChwYXJzZUludCgiMDEyMzQ1Njc4OTAiLCA0KSAhPT0gMjcpIHsKICAkRVJST1IoJyM0OiBwYXJzZUludCgiMDEyMzQ1Njc4OTAiLCA0KSA9PT0gMjcuIEFjdHVhbDogJyArIChwYXJzZUludCgiMDEyMzQ1Njc4OTAiLCA0KSkpOwp9IAoKLy9DSEVDSyM1CmlmIChwYXJzZUludCgiMDEyMzQ1Njc4OTAiLCA1KSAhPT0gMTk0KSB7CiAgJEVSUk9SKCcjNTogcGFyc2VJbnQoIjAxMjM0NTY3ODkwIiwgNSkgPT09IDE5NC4gQWN0dWFsOiAnICsgKHBhcnNlSW50KCIwMTIzNDU2Nzg5MCIsIDUpKSk7Cn0gIAoKLy9DSEVDSyM2CmlmIChwYXJzZUludCgiMDEyMzQ1Njc4OTAiLCA2KSAhPT0gMTg2NSkgewogICRFUlJPUignIzY6IHBhcnNlSW50KCIwMTIzNDU2Nzg5MCIsIDYpID09PSAxODY1LiBBY3R1YWw6ICcgKyAocGFyc2VJbnQoIjAxMjM0NTY3ODkwIiwgNikpKTsKfSAgCgovL0NIRUNLIzcKaWYgKHBhcnNlSW50KCIwMTIzNDU2Nzg5MCIsIDcpICE9PSAyMjg3NSkgewogICRFUlJPUignIzc6IHBhcnNlSW50KCIwMTIzNDU2Nzg5MCIsIDcpID09PSAyMjg3NS4gQWN0dWFsOiAnICsgKHBhcnNlSW50KCIwMTIzNDU2Nzg5MCIsIDcpKSk7Cn0gIAoKLy9DSEVDSyM4CmlmIChwYXJzZUludCgiMDEyMzQ1Njc4OTAiLCA4KSAhPT0gMzQyMzkxKSB7CiAgJEVSUk9SKCcjODogcGFyc2VJbnQoIjAxMjM0NTY3ODkwIiwgOCkgPT09IDM0MjM5MS4gQWN0dWFsOiAnICsgKHBhcnNlSW50KCIwMTIzNDU2Nzg5MCIsIDgpKSk7Cn0gIAoKLy9DSEVDSyM5CmlmIChwYXJzZUludCgiMDEyMzQ1Njc4OTAiLCA5KSAhPT0gNjA1MzQ0NCkgewogICRFUlJPUignIzk6IHBhcnNlSW50KCIwMTIzNDU2Nzg5MCIsIDkpID09PSA2MDUzNDQ0LiBBY3R1YWw6ICcgKyAocGFyc2VJbnQoIjAxMjM0NTY3ODkwIiwgOSkpKTsKfSAgCgovL0NIRUNLIzEwCmlmIChwYXJzZUludCgiMDEyMzQ1Njc4OTAiLCAxMCkgIT09IE51bWJlcigxMjM0NTY3ODkwKSkgewogICRFUlJPUignIzEwOiBwYXJzZUludCgiMDEyMzQ1Njc4OTAiLCAxMCkgPT09IE51bWJlcigxMjM0NTY3ODkwKS4gQWN0dWFsOiAnICsgKHBhcnNlSW50KCIwMTIzNDU2Nzg5MCIsIDEwKSkpOwp9ICAKCg==","commentary":"If S contains any character that is not a radix-R digit,\nthen let Z be the substring of S consisting of all characters before\nthe first such character; otherwise, let Z be S","description":"Complex test. Radix-R notation in [0..9]","path":"TestCases/ch15/15.1/15.1.2/15.1.2.2/S15.1.2.2_A6.1_T6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBaIGlzIGVtcHR5LCByZXR1cm4gTmFOCiAqCiAqIEBwYXRoIGNoMTUvMTUuMS8xNS4xLjIvMTUuMS4yLjIvUzE1LjEuMi4yX0E3LjFfVDEuanMKICogQGRlc2NyaXB0aW9uIENvbXBsZXggdGVzdC4gUiBpbiBbMiwgMzZdCiAqLwoKLy9DSEVDSyMKZm9yICh2YXIgaSA9IDI7IGkgPD0gMzY7IGkrKykgewogIGlmIChpc05hTihwYXJzZUludCgiJHN0cmluZyIsIGkpKSAhPT0gdHJ1ZSkgewogICAgJEVSUk9SKCcjJyArIGkgKyAnOiBwYXJzZUludCgiJHN0cmluZyIsIGkpID09PSBOb3QtYS1OdW1iZXIuIEFjdHVhbDogJyArIChwYXJzZUludCgiJHN0cmluZyIsIGkpKSk7CiAgfQp9ICAgIAoK","commentary":"If Z is empty, return NaN","description":"Complex test. R in [2, 36]","path":"TestCases/ch15/15.1/15.1.2/15.1.2.2/S15.1.2.2_A7.1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBaIGlzIGVtcHR5LCByZXR1cm4gTmFOCiAqCiAqIEBwYXRoIGNoMTUvMTUuMS8xNS4xLjIvMTUuMS4yLjIvUzE1LjEuMi4yX0E3LjFfVDIuanMKICogQGRlc2NyaXB0aW9uIHggaXMgbm90IGEgcmFkaXgtUiBkaWdpdAogKi8KCi8vQ0hFQ0sjMQppZiAoaXNOYU4ocGFyc2VJbnQoIiQweCIpKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzE6IHBhcnNlSW50KCIkMHgiKSA9PT0gTm90LWEtTnVtYmVyLiBBY3R1YWw6ICcgKyAocGFyc2VJbnQoIiQweCIpKSk7Cn0KCi8vQ0hFQ0sjMgppZiAoaXNOYU4ocGFyc2VJbnQoIiQwWCIpKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzI6IHBhcnNlSW50KCIkMFgiKSA9PT0gTm90LWEtTnVtYmVyLiBBY3R1YWw6ICcgKyAocGFyc2VJbnQoIiQwWCIpKSk7Cn0KCi8vQ0hFQ0sjMwppZiAoaXNOYU4ocGFyc2VJbnQoIiQkJCIpKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzM6IHBhcnNlSW50KCIkJCQiKSA9PT0gTm90LWEtTnVtYmVyLiBBY3R1YWw6ICcgKyAocGFyc2VJbnQoIiQkJCIpKSk7Cn0KCi8vQ0hFQ0sjNAppZiAoaXNOYU4ocGFyc2VJbnQoIiIpKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzQ6IHBhcnNlSW50KCIiKSA9PT0gTm90LWEtTnVtYmVyLiBBY3R1YWw6ICcgKyAocGFyc2VJbnQoIiIpKSk7Cn0KCi8vQ0hFQ0sjNQppZiAoaXNOYU4ocGFyc2VJbnQoIiAiKSkgIT09IHRydWUpIHsKICAkRVJST1IoJyM1OiBwYXJzZUludCgiICIpID09PSBOb3QtYS1OdW1iZXIuIEFjdHVhbDogJyArIChwYXJzZUludCgiICIpKSk7Cn0gICAgICAgICAgCgo=","commentary":"If Z is empty, return NaN","description":"x is not a radix-R digit","path":"TestCases/ch15/15.1/15.1.2/15.1.2.2/S15.1.2.2_A7.1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBDb21wdXRlIHRoZSBtYXRoZW1hdGljYWwgaW50ZWdlciB2YWx1ZQogKiB0aGF0IGlzIHJlcHJlc2VudGVkIGJ5IFogaW4gcmFkaXgtUiBub3RhdGlvbiwgdXNpbmcgdGhlCiAqIGxldHRlcnMgQS1aIGFuZCBhLXogZm9yIGRpZ2l0cyB3aXRoIHZhbHVlcyAxMCB0aHJvdWdoIDM1LgogKiBDb21wdXRlIHRoZSBudW1iZXIgdmFsdWUgZm9yIFJlc3VsdCgxNikKICoKICogQHBhdGggY2gxNS8xNS4xLzE1LjEuMi8xNS4xLjIuMi9TMTUuMS4yLjJfQTcuMl9UMS5qcwogKiBAZGVzY3JpcHRpb24gQ29tcGxleCB0ZXN0LiBDaGVjayBhbGdvcml0aG0KICovCgovL0NIRUNLIwp2YXIgUl9kaWdpdDEgPSBbIjEiLCAiMiIsICIzIiwgIjQiLCAiNSIsICI2IiwgIjciLCAiOCIsICI5IiwgIkEiLCAiQiIsICJDIiwgIkQiLCAiRSIsICJGIiwgIkciLCAiSCIsICJJIiwgIkoiLCAiSyIsICJMIiwgIk0iLCAiTiIsICJPIiwgIlAiLCAiUSIsICJSIiwgIlMiLCAiVCIsICJVIiwgIlYiLCAiVyIsICJYIiwgIlkiLCAiWiJdOwp2YXIgUl9kaWdpdDIgPSBbIjEiLCAiMiIsICIzIiwgIjQiLCAiNSIsICI2IiwgIjciLCAiOCIsICI5IiwgImEiLCAiYiIsICJjIiwgImQiLCAiZSIsICJmIiwgImciLCAiaCIsICJpIiwgImoiLCAiayIsICJsIiwgIm0iLCAibiIsICJvIiwgInAiLCAicSIsICJyIiwgInMiLCAidCIsICJ1IiwgInYiLCAidyIsICJ4IiwgInkiLCAieiJdOwpmb3IgKHZhciBpID0gMjsgaSA8PSAzNjsgaSsrKSB7CiAgZm9yICh2YXIgaiA9IDA7IGogPCAxMDsgaisrKSB7CiAgICB2YXIgc3RyID0gIiI7ICAKICAgIHZhciBudW0gPSAwOwogICAgdmFyIHBvdyA9IDE7CiAgICB2YXIgazAgPSBNYXRoLm1heCgyLCBpIC0gaik7CiAgICBmb3IgKHZhciBrID0gazA7IGsgPD0gaTsgaysrKSB7IAogICAgICBpZiAoayAlIDIgPT09IDApIHsgIAogICAgICAgIHN0ciA9IHN0ciArIFJfZGlnaXQxW2sgLSAyXTsKICAgICAgfSBlbHNlIHsgIAogICAgICAgIHN0ciA9IHN0ciArIFJfZGlnaXQyW2sgLSAyXTsKICAgICAgfQogICAgICBudW0gPSBudW0gKyAoaSArIChrMCAtIGspIC0gMSkgKiBwb3c7CiAgICAgIHBvdyA9IHBvdyAqIGk7ICAgCiAgICB9ICAgCiAgICBpZiAocGFyc2VJbnQoc3RyLCBpKSAhPT0gbnVtKSB7CiAgICAgICRFUlJPUignIycgKyBpICsgJy4nICsgaiArICcgOiAnKTsgICAgICAKICAgIH0KICB9ICAKfSAgCgo=","commentary":"Compute the mathematical integer value\nthat is represented by Z in radix-R notation, using the\nletters A-Z and a-z for digits with values 10 through 35.\nCompute the number value for Result(16)","description":"Complex test. Check algorithm","path":"TestCases/ch15/15.1/15.1.2/15.1.2.2/S15.1.2.2_A7.2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBDb21wdXRlIHRoZSBtYXRoZW1hdGljYWwgaW50ZWdlciB2YWx1ZQogKiB0aGF0IGlzIHJlcHJlc2VudGVkIGJ5IFogaW4gcmFkaXgtUiBub3RhdGlvbiwgdXNpbmcgdGhlCiAqIGxldHRlcnMgQS1aIGFuZCBhLXogZm9yIGRpZ2l0cyB3aXRoIHZhbHVlcyAxMCB0aHJvdWdoIDM1LgogKiBDb21wdXRlIHRoZSBudW1iZXIgdmFsdWUgZm9yIFJlc3VsdCgxNikKICoKICogQHBhdGggY2gxNS8xNS4xLzE1LjEuMi8xNS4xLjIuMi9TMTUuMS4yLjJfQTcuMl9UMi5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgYWxnb3JpdGhtIGZvciBSID0gMgogKi8KCi8vQ0hFQ0sjMQppZiAocGFyc2VJbnQoIjEiLCAyKSAgIT09IDEpIHsKICAkRVJST1IoJyMxOiBwYXJzZUludCgiMSIsIDIpID09PSAxLiBBY3R1YWw6ICcgKyAocGFyc2VJbnQoIjEiLCAyKSkpOwp9CgovL0NIRUNLIzIKaWYgKHBhcnNlSW50KCIxMSIsIDIpICAhPT0gMykgewogICRFUlJPUignIzI6IHBhcnNlSW50KCIxMSIsIDIpID09PSAzLiBBY3R1YWw6ICcgKyAocGFyc2VJbnQoIjExIiwgMikpKTsKfQoKLy9DSEVDSyMzCmlmIChwYXJzZUludCgiMTExIiwgMikgICE9PSA3KSB7CiAgJEVSUk9SKCcjMzogcGFyc2VJbnQoIjExMSIsIDIpID09PSA3LiBBY3R1YWw6ICcgKyAocGFyc2VJbnQoIjExMSIsIDIpKSk7Cn0KCi8vQ0hFQ0sjNAppZiAocGFyc2VJbnQoIjExMTEiLCAyKSAgIT09IDE1KSB7CiAgJEVSUk9SKCcjNDogcGFyc2VJbnQoIjExMTEiLCAyKSA9PT0gMTUuIEFjdHVhbDogJyArIChwYXJzZUludCgiMTExMSIsIDIpKSk7Cn0KCi8vQ0hFQ0sjNQppZiAocGFyc2VJbnQoIjExMTExIiwgMikgICE9PSAzMSkgewogICRFUlJPUignIzU6IHBhcnNlSW50KCIxMTExMSIsIDIpID09PSAzMS4gQWN0dWFsOiAnICsgKHBhcnNlSW50KCIxMTExMSIsIDIpKSk7Cn0KCi8vQ0hFQ0sjNgppZiAocGFyc2VJbnQoIjExMTExMSIsIDIpICAhPT0gNjMpIHsKICAkRVJST1IoJyM2OiBwYXJzZUludCgiMTExMTExIiwgMikgPT09IDYzLiBBY3R1YWw6ICcgKyAocGFyc2VJbnQoIjExMTExMSIsIDIpKSk7Cn0KCi8vQ0hFQ0sjNwppZiAocGFyc2VJbnQoIjExMTExMTEiLCAyKSAgIT09IDEyNykgewogICRFUlJPUignIzc6IHBhcnNlSW50KCIxMTExMTExIiwgMikgPT09IDEyNy4gQWN0dWFsOiAnICsgKHBhcnNlSW50KCIxMTExMTExIiwgMikpKTsKfQoKLy9DSEVDSyM4CmlmIChwYXJzZUludCgiMTExMTExMTEiLCAyKSAgIT09IDI1NSkgewogICRFUlJPUignIzg6IHBhcnNlSW50KCIxMTExMTExMSIsIDIpID09PSAyNTUuIEFjdHVhbDogJyArIChwYXJzZUludCgiMTExMTExMTEiLCAyKSkpOwp9CgovL0NIRUNLIzkKaWYgKHBhcnNlSW50KCIxMTExMTExMTEiLCAyKSAgIT09IDUxMSkgewogICRFUlJPUignIzk6IHBhcnNlSW50KCIxMTExMTExMTEiLCAyKSA9PT0gNTExLiBBY3R1YWw6ICcgKyAocGFyc2VJbnQoIjExMTExMTExMSIsIDIpKSk7Cn0KCi8vQ0hFQ0sjMTAKaWYgKHBhcnNlSW50KCIxMTExMTExMTExIiwgMikgICE9PSAxMDIzKSB7CiAgJEVSUk9SKCcjMTA6IHBhcnNlSW50KCIxMTExMTExMTExIiwgMikgPT09IDEwMjMuIEFjdHVhbDogJyArIChwYXJzZUludCgiMTExMTExMTExMSIsIDIpKSk7Cn0KCi8vQ0hFQ0sjMTEKaWYgKHBhcnNlSW50KCIxMTExMTExMTExMSIsIDIpICAhPT0gMjA0NykgewogICRFUlJPUignIzExOiBwYXJzZUludCgiMTExMTExMTExMTEiLCAyKSA9PT0gMjA0Ny4gQWN0dWFsOiAnICsgKHBhcnNlSW50KCIxMTExMTExMTExMSIsIDIpKSk7Cn0KCi8vQ0hFQ0sjMTIKaWYgKHBhcnNlSW50KCIxMTExMTExMTExMTEiLCAyKSAgIT09IDQwOTUpIHsKICAkRVJST1IoJyMxMjogcGFyc2VJbnQoIjExMTExMTExMTExMSIsIDIpID09PSA0MDk1LiBBY3R1YWw6ICcgKyAocGFyc2VJbnQoIjExMTExMTExMTExMSIsIDIpKSk7Cn0KCi8vQ0hFQ0sjMTMKaWYgKHBhcnNlSW50KCIxMTExMTExMTExMTExIiwgMikgICE9PSA4MTkxKSB7CiAgJEVSUk9SKCcjMTM6IHBhcnNlSW50KCIxMTExMTExMTExMTExIiwgMikgPT09IDgxOTEuIEFjdHVhbDogJyArIChwYXJzZUludCgiMTExMTExMTExMTExMSIsIDIpKSk7Cn0KCi8vQ0hFQ0sjMTQKaWYgKHBhcnNlSW50KCIxMTExMTExMTExMTExMSIsIDIpICAhPT0gMTYzODMpIHsKICAkRVJST1IoJyMxNDogcGFyc2VJbnQoIjExMTExMTExMTExMTExIiwgMikgPT09IDE2MzgzLiBBY3R1YWw6ICcgKyAocGFyc2VJbnQoIjExMTExMTExMTExMTExIiwgMikpKTsKfQoKLy9DSEVDSyMxNQppZiAocGFyc2VJbnQoIjExMTExMTExMTExMTExMSIsIDIpICAhPT0gMzI3NjcpIHsKICAkRVJST1IoJyMxNTogcGFyc2VJbnQoIjExMTExMTExMTExMTExMSIsIDIpID09PSAzMjc2Ny4gQWN0dWFsOiAnICsgKHBhcnNlSW50KCIxMTExMTExMTExMTExMTEiLCAyKSkpOwp9CgovL0NIRUNLIzE2CmlmIChwYXJzZUludCgiMTExMTExMTExMTExMTExMSIsIDIpICAhPT0gNjU1MzUpIHsKICAkRVJST1IoJyMxNjogcGFyc2VJbnQoIjExMTExMTExMTExMTExMTEiLCAyKSA9PT0gNjU1MzUuIEFjdHVhbDogJyArIChwYXJzZUludCgiMTExMTExMTExMTExMTExMSIsIDIpKSk7Cn0KCi8vQ0hFQ0sjMTcKaWYgKHBhcnNlSW50KCIxMTExMTExMTExMTExMTExMSIsIDIpICAhPT0gMTMxMDcxKSB7CiAgJEVSUk9SKCcjMTc6IHBhcnNlSW50KCIxMTExMTExMTExMTExMTExMSIsIDIpID09PSAxMzEwNzEuIEFjdHVhbDogJyArIChwYXJzZUludCgiMTExMTExMTExMTExMTExMTEiLCAyKSkpOwp9CgovL0NIRUNLIzE4CmlmIChwYXJzZUludCgiMTExMTExMTExMTExMTExMTExIiwgMikgICE9PSAyNjIxNDMpIHsKICAkRVJST1IoJyMxODogcGFyc2VJbnQoIjExMTExMTExMTExMTExMTExMSIsIDIpID09PSAyNjIxNDMuIEFjdHVhbDogJyArIChwYXJzZUludCgiMTExMTExMTExMTExMTExMTExIiwgMikpKTsKfQoKLy9DSEVDSyMxOQppZiAocGFyc2VJbnQoIjExMTExMTExMTExMTExMTExMTEiLCAyKSAgIT09IDUyNDI4NykgewogICRFUlJPUignIzE5OiBwYXJzZUludCgiMTExMTExMTExMTExMTExMTExMSIsIDIpID09PSA1MjQyODcuIEFjdHVhbDogJyArIChwYXJzZUludCgiMTExMTExMTExMTExMTExMTExMSIsIDIpKSk7Cn0KCi8vQ0hFQ0sjMjAKaWYgKHBhcnNlSW50KCIxMTExMTExMTExMTExMTExMTExMSIsIDIpICAhPT0gMTA0ODU3NSkgewogICRFUlJPUignIzIwOiBwYXJzZUludCgiMTExMTExMTExMTExMTExMTExMTEiLCAyKSA9PT0gMTA0ODU3NS4gQWN0dWFsOiAnICsgKHBhcnNlSW50KCIxMTExMTExMTExMTExMTExMTExMSIsIDIpKSk7Cn0KCg==","commentary":"Compute the mathematical integer value\nthat is represented by Z in radix-R notation, using the\nletters A-Z and a-z for digits with values 10 through 35.\nCompute the number value for Result(16)","description":"Checking algorithm for R = 2","path":"TestCases/ch15/15.1/15.1.2/15.1.2.2/S15.1.2.2_A7.2_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBDb21wdXRlIHRoZSBtYXRoZW1hdGljYWwgaW50ZWdlciB2YWx1ZQogKiB0aGF0IGlzIHJlcHJlc2VudGVkIGJ5IFogaW4gcmFkaXgtUiBub3RhdGlvbiwgdXNpbmcgdGhlCiAqIGxldHRlcnMgQS1aIGFuZCBhLXogZm9yIGRpZ2l0cyB3aXRoIHZhbHVlcyAxMCB0aHJvdWdoIDM1LgogKiBDb21wdXRlIHRoZSBudW1iZXIgdmFsdWUgZm9yIFJlc3VsdCgxNikKICoKICogQHBhdGggY2gxNS8xNS4xLzE1LjEuMi8xNS4xLjIuMi9TMTUuMS4yLjJfQTcuMl9UMy5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgYWxnb3JpdGhtIGZvciBSID0gMTYKICovCgovL0NIRUNLIzEKaWYgKHBhcnNlSW50KCIweDEiLCAxNikgIT09IDEpIHsKICAkRVJST1IoJyMxOiBwYXJzZUludCgiMHgxIiwgMTYpID09PSAxLiBBY3R1YWw6ICcgKyAocGFyc2VJbnQoIjB4MSIsIDE2KSkpOwp9CgovL0NIRUNLIzIKaWYgKHBhcnNlSW50KCIwWDEwIiwgMTYpICE9PSAxNikgewogICRFUlJPUignIzI6IHBhcnNlSW50KCIwWDEwIiwgMTYpID09PSAxNi4gQWN0dWFsOiAnICsgKHBhcnNlSW50KCIwWDEwIiwgMTYpKSk7Cn0KCi8vQ0hFQ0sjMwppZiAocGFyc2VJbnQoIjB4MTAwIiwgMTYpICE9PSAyNTYpIHsKICAkRVJST1IoJyMzOiBwYXJzZUludCgiMHgxMDAiLCAxNikgPT09IDI1Ni4gQWN0dWFsOiAnICsgKHBhcnNlSW50KCIweDEwMCIsIDE2KSkpOwp9CgovL0NIRUNLIzQKaWYgKHBhcnNlSW50KCIwWDEwMDAiLCAxNikgIT09IDQwOTYpIHsKICAkRVJST1IoJyM0OiBwYXJzZUludCgiMFgxMDAwIiwgMTYpID09PSA0MDk2LiBBY3R1YWw6ICcgKyAocGFyc2VJbnQoIjBYMTAwMCIsIDE2KSkpOwp9CgovL0NIRUNLIzUKaWYgKHBhcnNlSW50KCIweDEwMDAwIiwgMTYpICE9PSA2NTUzNikgewogICRFUlJPUignIzU6IHBhcnNlSW50KCIweDEwMDAwIiwgMTYpID09PSA2NTUzNi4gQWN0dWFsOiAnICsgKHBhcnNlSW50KCIweDEwMDAwIiwgMTYpKSk7Cn0KCi8vQ0hFQ0sjNgppZiAocGFyc2VJbnQoIjBYMTAwMDAwIiwgMTYpICE9PSAxMDQ4NTc2KSB7CiAgJEVSUk9SKCcjNjogcGFyc2VJbnQoIngxMDAwMDAiLCAxNikgPT09IDEwNDg1NzYuIEFjdHVhbDogJyArIChwYXJzZUludCgieDEwMDAwMCIsIDE2KSkpOwp9CgovL0NIRUNLIzcKaWYgKHBhcnNlSW50KCIweDEwMDAwMDAiLCAxNikgIT09IDE2Nzc3MjE2KSB7CiAgJEVSUk9SKCcjNzogcGFyc2VJbnQoIjB4MTAwMDAwMCIsIDE2KSA9PT0gMTY3NzcyMTYuIEFjdHVhbDogJyArIChwYXJzZUludCgiMHgxMDAwMDAwIiwgMTYpKSk7Cn0KCi8vQ0hFQ0sjOAppZiAocGFyc2VJbnQoIjB4MTAwMDAwMDAiLCAxNikgIT09IDI2ODQzNTQ1NikgewogICRFUlJPUignIzg6IHBhcnNlSW50KCIweDEwMDAwMDAwIiwgMTYpID09PSAyNjg0MzU0NTYuIEFjdHVhbDogJyArIChwYXJzZUludCgiMHgxMDAwMDAwMCIsIDE2KSkpOwp9CgovL0NIRUNLIzkKaWYgKHBhcnNlSW50KCIweDEwMDAwMDAwMCIsIDE2KSAhPT0gNDI5NDk2NzI5NikgewogICRFUlJPUignIzk6IHBhcnNlSW50KCIweDEwMDAwMDAwMCIsIDE2KSA9PT0gNDI5NDk2NzI5Ni4gQWN0dWFsOiAnICsgKHBhcnNlSW50KCIweDEwMDAwMDAwMCIsIDE2KSkpOwp9CgovL0NIRUNLIzEwCmlmIChwYXJzZUludCgiMHgxMDAwMDAwMDAwIiwgMTYpICE9PSA2ODcxOTQ3NjczNikgewogICRFUlJPUignIzEwOiBwYXJzZUludCgiMHgxMDAwMDAwMDAwIiwgMTYpID09PSA2ODcxOTQ3NjczNi4gQWN0dWFsOiAnICsgKHBhcnNlSW50KCIweDEwMDAwMDAwMDAiLCAxNikpKTsKfQoKLy9DSEVDSyMxMAppZiAocGFyc2VJbnQoIjB4MTAwMDAwMDAwMDAiLCAxNikgIT09IDEwOTk1MTE2Mjc3NzYpIHsKICAkRVJST1IoJyMxMDogcGFyc2VJbnQoIjB4MTAwMDAwMDAwMDAiLCAxNikgPT09IDEwOTk1MTE2Mjc3NzYuIEFjdHVhbDogJyArIChwYXJzZUludCgiMHgxMDAwMDAwMDAwMCIsIDE2KSkpOwp9CgovL0NIRUNLIzEyCmlmIChwYXJzZUludCgiMHgxMDAwMDAwMDAwMDAiLCAxNikgIT09IDE3NTkyMTg2MDQ0NDE2KSB7CiAgJEVSUk9SKCcjMTI6IHBhcnNlSW50KCIweDEwMDAwMDAwMDAwMCIsIDE2KSA9PT0gMTc1OTIxODYwNDQ0MTYuIEFjdHVhbDogJyArIChwYXJzZUludCgiMHgxMDAwMDAwMDAwMDAiLCAxNikpKTsKfQoKLy9DSEVDSyMxMwppZiAocGFyc2VJbnQoIjB4MTAwMDAwMDAwMDAwMCIsIDE2KSAhPT0gMjgxNDc0OTc2NzEwNjU2KSB7CiAgJEVSUk9SKCcjMTM6IHBhcnNlSW50KCIweDEwMDAwMDAwMDAwMDAiLCAxNikgPT09IDI4MTQ3NDk3NjcxMDY1Ni4gQWN0dWFsOiAnICsgKHBhcnNlSW50KCIweDEwMDAwMDAwMDAwMDAiLCAxNikpKTsKfQoKLy9DSEVDSyMxNAppZiAocGFyc2VJbnQoIjB4MTAwMDAwMDAwMDAwMDAiLCAxNikgIT09IDQ1MDM1OTk2MjczNzA0OTYpIHsKICAkRVJST1IoJyMxNDogcGFyc2VJbnQoIjB4MTAwMDAwMDAwMDAwMDAiLCAxNikgPT09IDQ1MDM1OTk2MjczNzA0OTYuIEFjdHVhbDogJyArIChwYXJzZUludCgiMHgxMDAwMDAwMDAwMDAwMCIsIDE2KSkpOwp9CgovL0NIRUNLIzE1CmlmIChwYXJzZUludCgiMHgxMDAwMDAwMDAwMDAwMDAiLCAxNikgIT09IDcyMDU3NTk0MDM3OTI3OTM2KSB7CiAgJEVSUk9SKCcjMTU6IHBhcnNlSW50KCIweDEwMDAwMDAwMDAwMDAwMCIsIDE2KSA9PT0gNzIwNTc1OTQwMzc5Mjc5MzYuIEFjdHVhbDogJyArIChwYXJzZUludCgiMHgxMDAwMDAwMDAwMDAwMDAiLCAxNikpKTsKfQoKLy9DSEVDSyMxNgppZiAocGFyc2VJbnQoIjB4MTAwMDAwMDAwMDAwMDAwMCIsIDE2KSAhPT0gMTE1MjkyMTUwNDYwNjg0Njk3NikgewogICRFUlJPUignIzE2OiBwYXJzZUludCgiMHgxMDAwMDAwMDAwMDAwMDAwIiwgMTYpID09PSAxMTUyOTIxNTA0NjA2ODQ2OTc2LiBBY3R1YWw6ICcgKyAocGFyc2VJbnQoIjB4MTAwMDAwMDAwMDAwMDAwMCIsIDE2KSkpOwp9CgovL0NIRUNLIzE3CmlmIChwYXJzZUludCgiMHgxMDAwMDAwMDAwMDAwMDAwMCIsIDE2KSAhPT0gMTg0NDY3NDQwNzM3MDk1NTE2MTYpIHsKICAkRVJST1IoJyMxNzogcGFyc2VJbnQoIjB4MTAwMDAwMDAwMDAwMDAwMDAiLCAxNikgPT09IDE4NDQ2NzQ0MDczNzA5NTUxNjE2LiBBY3R1YWw6ICcgKyAocGFyc2VJbnQoIjB4MTAwMDAwMDAwMDAwMDAwMDAiLCAxNikpKTsKfQoKLy9DSEVDSyMxOAppZiAocGFyc2VJbnQoIjB4MTAwMDAwMDAwMDAwMDAwMDAwIiwgMTYpICE9PSAyOTUxNDc5MDUxNzkzNTI4MjU4NTYpIHsKICAkRVJST1IoJyMxODogcGFyc2VJbnQoIjB4MTAwMDAwMDAwMDAwMDAwMDAwIiwgMTYpID09PSAyOTUxNDc5MDUxNzkzNTI4MjU4NTYuIEFjdHVhbDogJyArIChwYXJzZUludCgiMHgxMDAwMDAwMDAwMDAwMDAwMDAiLCAxNikpKTsKfQoKLy9DSEVDSyMxOQppZiAocGFyc2VJbnQoIjB4MTAwMDAwMDAwMDAwMDAwMDAwMCIsIDE2KSAhPT0gNDcyMjM2NjQ4Mjg2OTY0NTIxMzY5NikgewogICRFUlJPUignIzE5OiBwYXJzZUludCgiMHgxMDAwMDAwMDAwMDAwMDAwMDAwIiwgMTYpID09PSA0NzIyMzY2NDgyODY5NjQ1MjEzNjk2LiBBY3R1YWw6ICcgKyAocGFyc2VJbnQoIjB4MTAwMDAwMDAwMDAwMDAwMDAwMCIsIDE2KSkpOwp9CgovL0NIRUNLIzIwCmlmIChwYXJzZUludCgiMHgxMDAwMDAwMDAwMDAwMDAwMDAwMCIsIDE2KSAhPT0gNzU1NTc4NjM3MjU5MTQzMjM0MTkxMzYpIHsKICAkRVJST1IoJyMyMDogcGFyc2VJbnQoIjB4MTAwMDAwMDAwMDAwMDAwMDAwMDAiLCAxNikgPT09IDc1NTU3ODYzNzI1OTE0MzIzNDE5MTM2LiBBY3R1YWw6ICcgKyAocGFyc2VJbnQoIjB4MTAwMDAwMDAwMDAwMDAwMDAwMDAiLCAxNikpKTsKfQoK","commentary":"Compute the mathematical integer value\nthat is represented by Z in radix-R notation, using the\nletters A-Z and a-z for digits with values 10 through 35.\nCompute the number value for Result(16)","description":"Checking algorithm for R = 16","path":"TestCases/ch15/15.1/15.1.2/15.1.2.2/S15.1.2.2_A7.2_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBSZXR1cm4gc2lnbiAqIFJlc3VsdCgxNykKICoKICogQHBhdGggY2gxNS8xNS4xLzE1LjEuMi8xNS4xLjIuMi9TMTUuMS4yLjJfQTcuM19UMS5qcwogKiBAZGVzY3JpcHRpb24gQ29tcGxleCB0ZXN0LiBDaGVjayBhbGdvcml0aG0KICovCgovL0NIRUNLIwp2YXIgUl9kaWdpdDEgPSBbIjEiLCAiMiIsICIzIiwgIjQiLCAiNSIsICI2IiwgIjciLCAiOCIsICI5IiwgIkEiLCAiQiIsICJDIiwgIkQiLCAiRSIsICJGIiwgIkciLCAiSCIsICJJIiwgIkoiLCAiSyIsICJMIiwgIk0iLCAiTiIsICJPIiwgIlAiLCAiUSIsICJSIiwgIlMiLCAiVCIsICJVIiwgIlYiLCAiVyIsICJYIiwgIlkiLCAiWiJdOwp2YXIgUl9kaWdpdDIgPSBbIjEiLCAiMiIsICIzIiwgIjQiLCAiNSIsICI2IiwgIjciLCAiOCIsICI5IiwgImEiLCAiYiIsICJjIiwgImQiLCAiZSIsICJmIiwgImciLCAiaCIsICJpIiwgImoiLCAiayIsICJsIiwgIm0iLCAibiIsICJvIiwgInAiLCAicSIsICJyIiwgInMiLCAidCIsICJ1IiwgInYiLCAidyIsICJ4IiwgInkiLCAieiJdOwpmb3IgKHZhciBpID0gMjsgaSA8PSAzNjsgaSsrKSB7CiAgZm9yICh2YXIgaiA9IDA7IGogPCAxMDsgaisrKSB7CiAgICB2YXIgc3RyID0gIisiOyAgCiAgICB2YXIgc2lnbiA9IDE7CiAgICBpZiAoaiAlIDIgIT09IDApIHsgIAogICAgICAgIHN0ciA9ICItIjsKICAgICAgICBzaWduPSAtMTsKICAgIH0gCiAgICB2YXIgbnVtID0gMDsKICAgIHZhciBwb3cgPSAxOwogICAgdmFyIGswID0gTWF0aC5tYXgoMiwgaSAtIGopOwogICAgZm9yICh2YXIgayA9IGswOyBrIDw9IGk7IGsrKykgeyAKICAgICAgaWYgKGsgJSAyID09PSAwKSB7ICAKICAgICAgICBzdHIgPSBzdHIgKyBSX2RpZ2l0MVtrIC0gMl07CiAgICAgIH0gZWxzZSB7ICAKICAgICAgICBzdHIgPSBzdHIgKyBSX2RpZ2l0MltrIC0gMl07CiAgICAgIH0KICAgICAgbnVtID0gbnVtICsgKGkgKyAoazAgLSBrKSAtIDEpICogcG93OwogICAgICBwb3cgPSBwb3cgKiBpOyAgIAogICAgfSAgIAogICAgaWYgKHBhcnNlSW50KHN0ciwgaSkgIT09IG51bSAqIHNpZ24pIHsKICAgICAgJEVSUk9SKCcjJyArIGkgKyAnLicgKyBqICsgJyA6ICcpOyAgICAgIAogICAgfQogIH0gIAp9ICAKCg==","commentary":"Return sign * Result(17)","description":"Complex test. Check algorithm","path":"TestCases/ch15/15.1/15.1.2/15.1.2.2/S15.1.2.2_A7.3_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBSZXR1cm4gc2lnbiAqIFJlc3VsdCgxNykKICoKICogQHBhdGggY2gxNS8xNS4xLzE1LjEuMi8xNS4xLjIuMi9TMTUuMS4yLjJfQTcuM19UMi5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgYWxnb3JpdGhtIGZvciBSID0gMgogKi8KCi8vQ0hFQ0sjMQppZiAocGFyc2VJbnQoIi0xIiwgMikgICE9PSAtMSkgewogICRFUlJPUignIzE6IHBhcnNlSW50KCItMSIsIDIpID09PSAtMS4gQWN0dWFsOiAnICsgKHBhcnNlSW50KCItMSIsIDIpKSk7Cn0KCi8vQ0hFQ0sjMgppZiAocGFyc2VJbnQoIi0xMSIsIDIpICAhPT0gLTMpIHsKICAkRVJST1IoJyMyOiBwYXJzZUludCgiLTExIiwgMikgPT09IC0zLiBBY3R1YWw6ICcgKyAocGFyc2VJbnQoIi0xMSIsIDIpKSk7Cn0KCi8vQ0hFQ0sjMwppZiAocGFyc2VJbnQoIi0xMTEiLCAyKSAgIT09IC03KSB7CiAgJEVSUk9SKCcjMzogcGFyc2VJbnQoIi0xMTEiLCAyKSA9PT0gLTcuIEFjdHVhbDogJyArIChwYXJzZUludCgiLTExMSIsIDIpKSk7Cn0KCi8vQ0hFQ0sjNAppZiAocGFyc2VJbnQoIi0xMTExIiwgMikgICE9PSAtMTUpIHsKICAkRVJST1IoJyM0OiBwYXJzZUludCgiLTExMTEiLCAyKSA9PT0gLTE1LiBBY3R1YWw6ICcgKyAocGFyc2VJbnQoIi0xMTExIiwgMikpKTsKfQoKLy9DSEVDSyM1CmlmIChwYXJzZUludCgiLTExMTExIiwgMikgICE9PSAtMzEpIHsKICAkRVJST1IoJyM1OiBwYXJzZUludCgiLTExMTExIiwgMikgPT09IC0zMS4gQWN0dWFsOiAnICsgKHBhcnNlSW50KCItMTExMTEiLCAyKSkpOwp9CgovL0NIRUNLIzYKaWYgKHBhcnNlSW50KCItMTExMTExIiwgMikgICE9PSAtNjMpIHsKICAkRVJST1IoJyM2OiBwYXJzZUludCgiLTExMTExMSIsIDIpID09PSAtNjMuIEFjdHVhbDogJyArIChwYXJzZUludCgiLTExMTExMSIsIDIpKSk7Cn0KCi8vQ0hFQ0sjNwppZiAocGFyc2VJbnQoIi0xMTExMTExIiwgMikgICE9PSAtMTI3KSB7CiAgJEVSUk9SKCcjNzogcGFyc2VJbnQoIi0xMTExMTExIiwgMikgPT09IC0xMjcuIEFjdHVhbDogJyArIChwYXJzZUludCgiLTExMTExMTEiLCAyKSkpOwp9CgovL0NIRUNLIzgKaWYgKHBhcnNlSW50KCItMTExMTExMTEiLCAyKSAgIT09IC0yNTUpIHsKICAkRVJST1IoJyM4OiBwYXJzZUludCgiLTExMTExMTExIiwgMikgPT09IC0yNTUuIEFjdHVhbDogJyArIChwYXJzZUludCgiLTExMTExMTExIiwgMikpKTsKfQoKLy9DSEVDSyM5CmlmIChwYXJzZUludCgiLTExMTExMTExMSIsIDIpICAhPT0gLTUxMSkgewogICRFUlJPUignIzk6IHBhcnNlSW50KCItMTExMTExMTExIiwgMikgPT09IC01MTEuIEFjdHVhbDogJyArIChwYXJzZUludCgiLTExMTExMTExMSIsIDIpKSk7Cn0KCi8vQ0hFQ0sjMTAKaWYgKHBhcnNlSW50KCItMTExMTExMTExMSIsIDIpICAhPT0gLTEwMjMpIHsKICAkRVJST1IoJyMxMDogcGFyc2VJbnQoIi0xMTExMTExMTExIiwgMikgPT09IC0xMDIzLiBBY3R1YWw6ICcgKyAocGFyc2VJbnQoIi0xMTExMTExMTExIiwgMikpKTsKfQoKLy9DSEVDSyMxMQppZiAocGFyc2VJbnQoIi0xMTExMTExMTExMSIsIDIpICAhPT0gLTIwNDcpIHsKICAkRVJST1IoJyMxMTogcGFyc2VJbnQoIi0xMTExMTExMTExMSIsIDIpID09PSAtMjA0Ny4gQWN0dWFsOiAnICsgKHBhcnNlSW50KCItMTExMTExMTExMTEiLCAyKSkpOwp9CgovL0NIRUNLIzEyCmlmIChwYXJzZUludCgiLTExMTExMTExMTExMSIsIDIpICAhPT0gLTQwOTUpIHsKICAkRVJST1IoJyMxMjogcGFyc2VJbnQoIi0xMTExMTExMTExMTEiLCAyKSA9PT0gLTQwOTUuIEFjdHVhbDogJyArIChwYXJzZUludCgiLTExMTExMTExMTExMSIsIDIpKSk7Cn0KCi8vQ0hFQ0sjMTMKaWYgKHBhcnNlSW50KCItMTExMTExMTExMTExMSIsIDIpICAhPT0gLTgxOTEpIHsKICAkRVJST1IoJyMxMzogcGFyc2VJbnQoIi0xMTExMTExMTExMTExIiwgMikgPT09IC04MTkxLiBBY3R1YWw6ICcgKyAocGFyc2VJbnQoIi0xMTExMTExMTExMTExIiwgMikpKTsKfQoKLy9DSEVDSyMxNAppZiAocGFyc2VJbnQoIi0xMTExMTExMTExMTExMSIsIDIpICAhPT0gLTE2MzgzKSB7CiAgJEVSUk9SKCcjMTQ6IHBhcnNlSW50KCItMTExMTExMTExMTExMTEiLCAyKSA9PT0gLTE2MzgzLiBBY3R1YWw6ICcgKyAocGFyc2VJbnQoIi0xMTExMTExMTExMTExMSIsIDIpKSk7Cn0KCi8vQ0hFQ0sjMTUKaWYgKHBhcnNlSW50KCItMTExMTExMTExMTExMTExIiwgMikgICE9PSAtMzI3NjcpIHsKICAkRVJST1IoJyMxNTogcGFyc2VJbnQoIi0xMTExMTExMTExMTExMTEiLCAyKSA9PT0gLTMyNzY3LiBBY3R1YWw6ICcgKyAocGFyc2VJbnQoIi0xMTExMTExMTExMTExMTEiLCAyKSkpOwp9CgovL0NIRUNLIzE2CmlmIChwYXJzZUludCgiLTExMTExMTExMTExMTExMTEiLCAyKSAgIT09IC02NTUzNSkgewogICRFUlJPUignIzE2OiBwYXJzZUludCgiLTExMTExMTExMTExMTExMTEiLCAyKSA9PT0gLTY1NTM1LiBBY3R1YWw6ICcgKyAocGFyc2VJbnQoIi0xMTExMTExMTExMTExMTExIiwgMikpKTsKfQoKLy9DSEVDSyMxNwppZiAocGFyc2VJbnQoIi0xMTExMTExMTExMTExMTExMSIsIDIpICAhPT0gLTEzMTA3MSkgewogICRFUlJPUignIzE3OiBwYXJzZUludCgiLTExMTExMTExMTExMTExMTExIiwgMikgPT09IC0xMzEwNzEuIEFjdHVhbDogJyArIChwYXJzZUludCgiLTExMTExMTExMTExMTExMTExIiwgMikpKTsKfQoKLy9DSEVDSyMxOAppZiAocGFyc2VJbnQoIi0xMTExMTExMTExMTExMTExMTEiLCAyKSAgIT09IC0yNjIxNDMpIHsKICAkRVJST1IoJyMxODogcGFyc2VJbnQoIi0xMTExMTExMTExMTExMTExMTEiLCAyKSA9PT0gLTI2MjE0My4gQWN0dWFsOiAnICsgKHBhcnNlSW50KCItMTExMTExMTExMTExMTExMTExIiwgMikpKTsKfQoKLy9DSEVDSyMxOQppZiAocGFyc2VJbnQoIi0xMTExMTExMTExMTExMTExMTExIiwgMikgICE9PSAtNTI0Mjg3KSB7CiAgJEVSUk9SKCcjMTk6IHBhcnNlSW50KCItMTExMTExMTExMTExMTExMTExMSIsIDIpID09PSAtNTI0Mjg3LiBBY3R1YWw6ICcgKyAocGFyc2VJbnQoIi0xMTExMTExMTExMTExMTExMTExIiwgMikpKTsKfQoKLy9DSEVDSyMyMAppZiAocGFyc2VJbnQoIi0xMTExMTExMTExMTExMTExMTExMSIsIDIpICAhPT0gLTEwNDg1NzUpIHsKICAkRVJST1IoJyMyMDogcGFyc2VJbnQoIi0xMTExMTExMTExMTExMTExMTExMSIsIDIpID09PSAtMTA0ODU3NS4gQWN0dWFsOiAnICsgKHBhcnNlSW50KCItMTExMTExMTExMTExMTExMTExMTEiLCAyKSkpOwp9Cgo=","commentary":"Return sign * Result(17)","description":"Checking algorithm for R = 2","path":"TestCases/ch15/15.1/15.1.2/15.1.2.2/S15.1.2.2_A7.3_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBSZXR1cm4gc2lnbiAqIFJlc3VsdCgxNykKICoKICogQHBhdGggY2gxNS8xNS4xLzE1LjEuMi8xNS4xLjIuMi9TMTUuMS4yLjJfQTcuM19UMy5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgYWxnb3JpdGhtIGZvciBSID0gMTAKICovCgovL0NIRUNLIzEKaWYgKHBhcnNlSW50KCItMSIsIDEwKSAhPT0gLTEpIHsKICAkRVJST1IoJyMxOiBwYXJzZUludCgiLTEiLCAxMCkgPT09IC0xLiBBY3R1YWw6ICcgKyAocGFyc2VJbnQoIi0xIiwgMTApKSk7Cn0KCi8vQ0hFQ0sjMgppZiAocGFyc2VJbnQoIi0xMCIsIDEwKSAhPT0gLTEwKSB7CiAgJEVSUk9SKCcjMjogcGFyc2VJbnQoIi0xMCIsIDEwKSA9PT0gLTEwLiBBY3R1YWw6ICcgKyAocGFyc2VJbnQoIi0xMCIsIDEwKSkpOwp9CgovL0NIRUNLIzMKaWYgKHBhcnNlSW50KCItMTAwIiwgMTApICE9PSAtMTAwKSB7CiAgJEVSUk9SKCcjMzogcGFyc2VJbnQoIi0xMDAiLCAxMCkgPT09IC0xMDAuIEFjdHVhbDogJyArIChwYXJzZUludCgiLTEwMCIsIDEwKSkpOwp9CgovL0NIRUNLIzQKaWYgKHBhcnNlSW50KCItMTAwMCIsIDEwKSAhPT0gLTEwMDApIHsKICAkRVJST1IoJyM0OiBwYXJzZUludCgiLTEwMDAiLCAxMCkgPT09IC0xMDAwLiBBY3R1YWw6ICcgKyAocGFyc2VJbnQoIi0xMDAwIiwgMTApKSk7Cn0KCi8vQ0hFQ0sjNQppZiAocGFyc2VJbnQoIi0xMDAwMCIsIDEwKSAhPT0gLTEwMDAwKSB7CiAgJEVSUk9SKCcjNTogcGFyc2VJbnQoIi0xMDAwMCIsIDEwKSA9PT0gLTEwMDAwLiBBY3R1YWw6ICcgKyAocGFyc2VJbnQoIi0xMDAwMCIsIDEwKSkpOwp9CgovL0NIRUNLIzYKaWYgKHBhcnNlSW50KCItMTAwMDAwIiwgMTApICE9PSAtMTAwMDAwKSB7CiAgJEVSUk9SKCcjNjogcGFyc2VJbnQoIi0xMDAwMDAiLCAxMCkgPT09IC0xMDAwMDAuIEFjdHVhbDogJyArIChwYXJzZUludCgiLTEwMDAwMCIsIDEwKSkpOwp9CgovL0NIRUNLIzcKaWYgKHBhcnNlSW50KCItMTAwMDAwMCIsIDEwKSAhPT0gLTEwMDAwMDApIHsKICAkRVJST1IoJyM3OiBwYXJzZUludCgiLTEwMDAwMDAiLCAxMCkgPT09IC0xMDAwMDAwLiBBY3R1YWw6ICcgKyAocGFyc2VJbnQoIi0xMDAwMDAwIiwgMTApKSk7Cn0KCi8vQ0hFQ0sjOAppZiAocGFyc2VJbnQoIi0xMDAwMDAwMCIsIDEwKSAhPT0gLTEwMDAwMDAwKSB7CiAgJEVSUk9SKCcjODogcGFyc2VJbnQoIi0xMDAwMDAwMCIsIDEwKSA9PT0gLTEwMDAwMDAwLiBBY3R1YWw6ICcgKyAocGFyc2VJbnQoIi0xMDAwMDAwMCIsIDEwKSkpOwp9CgovL0NIRUNLIzkKaWYgKHBhcnNlSW50KCItMTAwMDAwMDAwIiwgMTApICE9PSAtMTAwMDAwMDAwKSB7CiAgJEVSUk9SKCcjOTogcGFyc2VJbnQoIi0xMDAwMDAwMDAiLCAxMCkgPT09IC0xMDAwMDAwMDAuIEFjdHVhbDogJyArIChwYXJzZUludCgiLTEwMDAwMDAwMCIsIDEwKSkpOwp9CgovL0NIRUNLIzEwCmlmIChwYXJzZUludCgiLTEwMDAwMDAwMDAiLCAxMCkgIT09IC0xMDAwMDAwMDAwKSB7CiAgJEVSUk9SKCcjMTA6IHBhcnNlSW50KCItMTAwMDAwMDAwMCIsIDEwKSA9PT0gLTEwMDAwMDAwMDAuIEFjdHVhbDogJyArIChwYXJzZUludCgiLTEwMDAwMDAwMDAiLCAxMCkpKTsKfQoKLy9DSEVDSyMxMAppZiAocGFyc2VJbnQoIi0xMDAwMDAwMDAwMCIsIDEwKSAhPT0gLTEwMDAwMDAwMDAwKSB7CiAgJEVSUk9SKCcjMTA6IHBhcnNlSW50KCItMTAwMDAwMDAwMDAiLCAxMCkgPT09IC0xMDAwMDAwMDAwMC4gQWN0dWFsOiAnICsgKHBhcnNlSW50KCItMTAwMDAwMDAwMDAiLCAxMCkpKTsKfQoKLy9DSEVDSyMxMgppZiAocGFyc2VJbnQoIi0xMDAwMDAwMDAwMDAiLCAxMCkgIT09IC0xMDAwMDAwMDAwMDApIHsKICAkRVJST1IoJyMxMjogcGFyc2VJbnQoIi0xMDAwMDAwMDAwMDAiLCAxMCkgPT09IC0xMDAwMDAwMDAwMDAuIEFjdHVhbDogJyArIChwYXJzZUludCgiLTEwMDAwMDAwMDAwMCIsIDEwKSkpOwp9CgovL0NIRUNLIzEzCmlmIChwYXJzZUludCgiLTEwMDAwMDAwMDAwMDAiLCAxMCkgIT09IC0xMDAwMDAwMDAwMDAwKSB7CiAgJEVSUk9SKCcjMTM6IHBhcnNlSW50KCItMTAwMDAwMDAwMDAwMCIsIDEwKSA9PT0gLTEwMDAwMDAwMDAwMDAuIEFjdHVhbDogJyArIChwYXJzZUludCgiLTEwMDAwMDAwMDAwMDAiLCAxMCkpKTsKfQoKLy9DSEVDSyMxNAppZiAocGFyc2VJbnQoIi0xMDAwMDAwMDAwMDAwMCIsIDEwKSAhPT0gLTEwMDAwMDAwMDAwMDAwKSB7CiAgJEVSUk9SKCcjMTQ6IHBhcnNlSW50KCItMTAwMDAwMDAwMDAwMDAiLCAxMCkgPT09IC0xMDAwMDAwMDAwMDAwMC4gQWN0dWFsOiAnICsgKHBhcnNlSW50KCItMTAwMDAwMDAwMDAwMDAiLCAxMCkpKTsKfQoKLy9DSEVDSyMxNQppZiAocGFyc2VJbnQoIi0xMDAwMDAwMDAwMDAwMDAiLCAxMCkgIT09IC0xMDAwMDAwMDAwMDAwMDApIHsKICAkRVJST1IoJyMxNTogcGFyc2VJbnQoIi0xMDAwMDAwMDAwMDAwMDAiLCAxMCkgPT09IC0xMDAwMDAwMDAwMDAwMDAuIEFjdHVhbDogJyArIChwYXJzZUludCgiLTEwMDAwMDAwMDAwMDAwMCIsIDEwKSkpOwp9CgovL0NIRUNLIzEwCmlmIChwYXJzZUludCgiLTEwMDAwMDAwMDAwMDAwMDAiLCAxMCkgIT09IC0xMDAwMDAwMDAwMDAwMDAwKSB7CiAgJEVSUk9SKCcjMTA6IHBhcnNlSW50KCItMTAwMDAwMDAwMDAwMDAwMCIsIDEwKSA9PT0gLTEwMDAwMDAwMDAwMDAwMDAuIEFjdHVhbDogJyArIChwYXJzZUludCgiLTEwMDAwMDAwMDAwMDAwMDAiLCAxMCkpKTsKfQoKLy9DSEVDSyMxNwppZiAocGFyc2VJbnQoIi0xMDAwMDAwMDAwMDAwMDAwMCIsIDEwKSAhPT0gLTEwMDAwMDAwMDAwMDAwMDAwKSB7CiAgJEVSUk9SKCcjMTc6IHBhcnNlSW50KCItMTAwMDAwMDAwMDAwMDAwMDAiLCAxMCkgPT09IC0xMDAwMDAwMDAwMDAwMDAwMC4gQWN0dWFsOiAnICsgKHBhcnNlSW50KCItMTAwMDAwMDAwMDAwMDAwMDAiLCAxMCkpKTsKfQoKLy9DSEVDSyMxOAppZiAocGFyc2VJbnQoIi0xMDAwMDAwMDAwMDAwMDAwMDAiLCAxMCkgIT09IC0xMDAwMDAwMDAwMDAwMDAwMDApIHsKICAkRVJST1IoJyMxODogcGFyc2VJbnQoIi0xMDAwMDAwMDAwMDAwMDAwMDAiLCAxMCkgPT09IC0xMDAwMDAwMDAwMDAwMDAwMDAuIEFjdHVhbDogJyArIChwYXJzZUludCgiLTEwMDAwMDAwMDAwMDAwMDAwMCIsIDEwKSkpOwp9CgovL0NIRUNLIzE5CmlmIChwYXJzZUludCgiLTEwMDAwMDAwMDAwMDAwMDAwMDAiLCAxMCkgIT09IC0xMDAwMDAwMDAwMDAwMDAwMDAwKSB7CiAgJEVSUk9SKCcjMTk6IHBhcnNlSW50KCItMTAwMDAwMDAwMDAwMDAwMDAwMCIsIDEwKSA9PT0gLTEwMDAwMDAwMDAwMDAwMDAwMDAuIEFjdHVhbDogJyArIChwYXJzZUludCgiLTEwMDAwMDAwMDAwMDAwMDAwMDAiLCAxMCkpKTsKfQoKLy9DSEVDSyMyMAppZiAocGFyc2VJbnQoIi0xMDAwMDAwMDAwMDAwMDAwMDAwMCIsIDEwKSAhPT0gLTEwMDAwMDAwMDAwMDAwMDAwMDAwKSB7CiAgJEVSUk9SKCcjMjA6IHBhcnNlSW50KCItMTAwMDAwMDAwMDAwMDAwMDAwMDAiLCAxMCkgPT09IC0xMDAwMDAwMDAwMDAwMDAwMDAwMC4gQWN0dWFsOiAnICsgKHBhcnNlSW50KCItMTAwMDAwMDAwMDAwMDAwMDAwMDAiLCAxMCkpKTsKfQoK","commentary":"Return sign * Result(17)","description":"Checking algorithm for R = 10","path":"TestCases/ch15/15.1/15.1.2/15.1.2.2/S15.1.2.2_A7.3_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBwYXJzZUludCBtYXkgaW50ZXJwcmV0IG9ubHkgYSBsZWFkaW5nIHBvcnRpb24gb2YgdGhlIHN0cmluZyBhcwogKiBhIG51bWJlciB2YWx1ZTsgaXQgaWdub3JlcyBhbnkgY2hhcmFjdGVycyB0aGF0IGNhbm5vdCBiZSBpbnRlcnByZXRlZCBhcyBwYXJ0CiAqIG9mIHRoZSBub3RhdGlvbiBvZiBhbiBkZWNpbWFsIGxpdGVyYWwsIGFuZCBubyBpbmRpY2F0aW9uIGlzIGdpdmVuIHRoYXQgYW55IHN1Y2gKICogY2hhcmFjdGVycyB3ZXJlIGlnbm9yZWQuCiAqCiAqIEBwYXRoIGNoMTUvMTUuMS8xNS4xLjIvMTUuMS4yLjIvUzE1LjEuMi4yX0E4LmpzCiAqIEBkZXNjcmlwdGlvbiBDb21wbGV4IHRlc3Qgd2l0aG91dCBldmFsCiAqLwoKLy9DSEVDSwp2YXIgZXJyb3JDb3VudCA9IDA7CnZhciBjb3VudCA9IDA7CnZhciBpbmRleFA7CnZhciBpbmRleE8gPSAwOwpmb3IgKHZhciBpbmRleCA9IDA7IGluZGV4IDw9IDY1NTM1OyBpbmRleCsrKSB7ICAKICBpZiAoKGluZGV4IDwgMHgwMDMwKSB8fCAoaW5kZXggPiAweDAwMzkpICYmIAogICAgICAoaW5kZXggPCAweDAwNDEpIHx8IChpbmRleCA+IDB4MDA1QSkgJiYgCiAgICAgIChpbmRleCA8IDB4MDA2MSkgfHwgKGluZGV4ID4gMHgwMDdBKSkgeyAgICAKICAgIHZhciBoZXggPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXgpOwogICAgaWYgKHBhcnNlSW50KCIxWiIgKyBTdHJpbmcuZnJvbUNoYXJDb2RlKGluZGV4KSwgMzYpICE9PSA3MSkgeyAgICAgICAKICAgICAgaWYgKGluZGV4TyA9PT0gMCkgeyAKICAgICAgICBpbmRleE8gPSBpbmRleDsKICAgICAgfSBlbHNlIHsKICAgICAgICBpZiAoKGluZGV4IC0gaW5kZXhQKSAhPT0gMSkgeyAgICAgICAgICAgICAKICAgICAgICAgIGlmICgoaW5kZXhQIC0gaW5kZXhPKSAhPT0gMCkgewogICAgICAgICAgICB2YXIgaGV4UCA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleFApOwogICAgICAgICAgICB2YXIgaGV4TyA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleE8pOwogICAgICAgICAgICAkRVJST1IoJyMnICsgaGV4TyArICctJyArIGhleFAgKyAnICcpOwogICAgICAgICAgfSAKICAgICAgICAgIGVsc2UgewogICAgICAgICAgICB2YXIgaGV4UCA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleFApOwogICAgICAgICAgICAkRVJST1IoJyMnICsgaGV4UCArICcgJyk7CiAgICAgICAgICB9ICAKICAgICAgICAgIGluZGV4TyA9IGluZGV4OwogICAgICAgIH0gICAgICAgICAKICAgICAgfQogICAgICBpbmRleFAgPSBpbmRleDsKICAgICAgZXJyb3JDb3VudCsrOyAgICAKICAgIH0gICAKICAgIGNvdW50Kys7CiAgfSAgCn0KCmlmIChlcnJvckNvdW50ID4gMCkgewogIGlmICgoaW5kZXhQIC0gaW5kZXhPKSAhPT0gMCkgewogICAgdmFyIGhleFAgPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhQKTsKICAgIHZhciBoZXhPID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4Tyk7CiAgICAkRVJST1IoJyMnICsgaGV4TyArICctJyArIGhleFAgKyAnICcpOwogIH0gZWxzZSB7CiAgICB2YXIgaGV4UCA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleFApOwogICAgJEVSUk9SKCcjJyArIGhleFAgKyAnICcpOwogIH0gICAgIAogICRFUlJPUignVG90YWwgZXJyb3I6ICcgKyBlcnJvckNvdW50ICsgJyBiYWQgVW5pY29kZSBjaGFyYWN0ZXIgaW4gJyArIGNvdW50ICsgJyAnKTsKfQoKZnVuY3Rpb24gZGVjaW1hbFRvSGV4U3RyaW5nKG4pIHsKICBuID0gTnVtYmVyKG4pOwogIHZhciBoID0gIiI7CiAgZm9yICh2YXIgaSA9IDM7IGkgPj0gMDsgaS0tKSB7CiAgICBpZiAobiA+PSBNYXRoLnBvdygxNiwgaSkpIHsKICAgICAgdmFyIHQgPSBNYXRoLmZsb29yKG4gLyBNYXRoLnBvdygxNiwgaSkpOwogICAgICBuIC09IHQgKiBNYXRoLnBvdygxNiwgaSk7CiAgICAgIGlmICggdCA+PSAxMCApIHsKICAgICAgICBpZiAoIHQgPT0gMTAgKSB7IGggKz0gIkEiOyB9CiAgICAgICAgaWYgKCB0ID09IDExICkgeyBoICs9ICJCIjsgfQogICAgICAgIGlmICggdCA9PSAxMiApIHsgaCArPSAiQyI7IH0KICAgICAgICBpZiAoIHQgPT0gMTMgKSB7IGggKz0gIkQiOyB9CiAgICAgICAgaWYgKCB0ID09IDE0ICkgeyBoICs9ICJFIjsgfQogICAgICAgIGlmICggdCA9PSAxNSApIHsgaCArPSAiRiI7IH0KICAgICAgfSBlbHNlIHsKICAgICAgICBoICs9IFN0cmluZyh0KTsKICAgICAgfQogICAgfSBlbHNlIHsKICAgICAgaCArPSAiMCI7CiAgICB9CiAgfQogIHJldHVybiBoOwp9Cgo=","commentary":"parseInt may interpret only a leading portion of the string as\na number value; it ignores any characters that cannot be interpreted as part\nof the notation of an decimal literal, and no indication is given that any such\ncharacters were ignored.","description":"Complex test without eval","path":"TestCases/ch15/15.1/15.1.2/15.1.2.2/S15.1.2.2_A8.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgbGVuZ3RoIHByb3BlcnR5IG9mIHBhcnNlSW50IGhhcyB0aGUgYXR0cmlidXRlIERvbnRFbnVtCiAqCiAqIEBwYXRoIGNoMTUvMTUuMS8xNS4xLjIvMTUuMS4yLjIvUzE1LjEuMi4yX0E5LjEuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIHVzZSBwcm9wZXJ0eUlzRW51bWVyYWJsZSwgZm9yLWluCiAqLwoKLy9DSEVDSyMxCmlmIChwYXJzZUludC5wcm9wZXJ0eUlzRW51bWVyYWJsZSgnbGVuZ3RoJykgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjMTogcGFyc2VJbnQucHJvcGVydHlJc0VudW1lcmFibGUoXCdsZW5ndGhcJykgPT09IGZhbHNlLiBBY3R1YWw6ICcgKyAocGFyc2VJbnQucHJvcGVydHlJc0VudW1lcmFibGUoJ2xlbmd0aCcpKSk7Cn0KCi8vQ0hFQ0sjMgp2YXIgcmVzdWx0ID0gdHJ1ZTsKZm9yICh2YXIgcCBpbiBwYXJzZUludCl7CiAgaWYgKHAgPT09ICJsZW5ndGgiKSB7CiAgICByZXN1bHQgPSBmYWxzZTsKICB9ICAKfQoKaWYgKHJlc3VsdCAhPT0gdHJ1ZSkgewogICRFUlJPUignIzI6IHJlc3VsdCA9IHRydWU7IGZvciAocCBpbiBwYXJzZUludCkgeyBpZiAocCA9PT0gImxlbmd0aCIpIHJlc3VsdCA9IGZhbHNlOyB9ICByZXN1bHQgPT09IHRydWU7Jyk7Cn0KCg==","commentary":"The length property of parseInt has the attribute DontEnum","description":"Checking use propertyIsEnumerable, for-in","path":"TestCases/ch15/15.1/15.1.2/15.1.2.2/S15.1.2.2_A9.1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgbGVuZ3RoIHByb3BlcnR5IG9mIHBhcnNlSW50IGhhcyB0aGUgYXR0cmlidXRlIERvbnREZWxldGUKICoKICogQHBhdGggY2gxNS8xNS4xLzE1LjEuMi8xNS4xLjIuMi9TMTUuMS4yLjJfQTkuMi5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgdXNlIGhhc093blByb3BlcnR5LCBkZWxldGUKICogQG5vU3RyaWN0CiAqLwoKLy9DSEVDSyMxCmlmIChwYXJzZUludC5oYXNPd25Qcm9wZXJ0eSgnbGVuZ3RoJykgIT09IHRydWUpIHsKICAkRkFJTCgnIzE6IHBhcnNlSW50Lmhhc093blByb3BlcnR5KFwnbGVuZ3RoXCcpID09PSB0cnVlLiBBY3R1YWw6ICcgKyAocGFyc2VJbnQuaGFzT3duUHJvcGVydHkoJ2xlbmd0aCcpKSk7Cn0KCmRlbGV0ZSBwYXJzZUludC5sZW5ndGg7CgovL0NIRUNLIzIKaWYgKHBhcnNlSW50Lmhhc093blByb3BlcnR5KCdsZW5ndGgnKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzI6IGRlbGV0ZSBwYXJzZUludC5sZW5ndGg7IHBhcnNlSW50Lmhhc093blByb3BlcnR5KFwnbGVuZ3RoXCcpID09PSB0cnVlLiBBY3R1YWw6ICcgKyAocGFyc2VJbnQuaGFzT3duUHJvcGVydHkoJ2xlbmd0aCcpKSk7Cn0KCi8vQ0hFQ0sjMwppZiAocGFyc2VJbnQubGVuZ3RoID09PSB1bmRlZmluZWQpIHsKICAkRVJST1IoJyMzOiBkZWxldGUgcGFyc2VJbnQubGVuZ3RoOyBwYXJzZUludC5sZW5ndGggIT09IHVuZGVmaW5lZCcpOwp9Cgo=","commentary":"The length property of parseInt has the attribute DontDelete","description":"Checking use hasOwnProperty, delete","noStrict":"","path":"TestCases/ch15/15.1/15.1.2/15.1.2.2/S15.1.2.2_A9.2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgbGVuZ3RoIHByb3BlcnR5IG9mIHBhcnNlSW50IGhhcyB0aGUgYXR0cmlidXRlIFJlYWRPbmx5CiAqCiAqIEBwYXRoIGNoMTUvMTUuMS8xNS4xLjIvMTUuMS4yLjIvUzE1LjEuMi4yX0E5LjMuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIHZhcnlpbmcgdGhlIGxlbmd0aCBwcm9wZXJ0eSBmYWlscwogKiBAbm9TdHJpY3QKICovCgovL0NIRUNLIzEKeCA9IHBhcnNlSW50Lmxlbmd0aDsKcGFyc2VJbnQubGVuZ3RoID0gSW5maW5pdHk7CmlmIChwYXJzZUludC5sZW5ndGggIT09IHgpIHsKICAkRVJST1IoJyMxOiB4ID0gcGFyc2VJbnQubGVuZ3RoOyBwYXJzZUludC5sZW5ndGggPSBJbmZpbml0eTsgcGFyc2VJbnQubGVuZ3RoID09PSB4LiBBY3R1YWw6ICcgKyAocGFyc2VJbnQubGVuZ3RoKSk7Cn0KCgo=","commentary":"The length property of parseInt has the attribute ReadOnly","description":"Checking if varying the length property fails","noStrict":"","path":"TestCases/ch15/15.1/15.1.2/15.1.2.2/S15.1.2.2_A9.3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgbGVuZ3RoIHByb3BlcnR5IG9mIHBhcnNlSW50IGlzIDIKICoKICogQHBhdGggY2gxNS8xNS4xLzE1LjEuMi8xNS4xLjIuMi9TMTUuMS4yLjJfQTkuNC5qcwogKiBAZGVzY3JpcHRpb24gcGFyc2VJbnQubGVuZ3RoID09PSAyCiAqLwoKLy9DSEVDSyMxCmlmIChwYXJzZUludC5sZW5ndGggIT09IDIpIHsKICAkRVJST1IoJyMxOiBwYXJzZUludC5sZW5ndGggPT09IDIuIEFjdHVhbDogJyArIChwYXJzZUludC5sZW5ndGgpKTsKfSAKCgo=","commentary":"The length property of parseInt is 2","description":"parseInt.length === 2","path":"TestCases/ch15/15.1/15.1.2/15.1.2.2/S15.1.2.2_A9.4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcGFyc2VJbnQgcHJvcGVydHkgaGFzIHRoZSBhdHRyaWJ1dGUgRG9udEVudW0KICoKICogQHBhdGggY2gxNS8xNS4xLzE1LjEuMi8xNS4xLjIuMi9TMTUuMS4yLjJfQTkuNS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgdXNlIHByb3BlcnR5SXNFbnVtZXJhYmxlLCBmb3ItaW4KICovCgovL0NIRUNLIzEKaWYgKHRoaXMucHJvcGVydHlJc0VudW1lcmFibGUoJ3BhcnNlSW50JykgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjMTogdGhpcy5wcm9wZXJ0eUlzRW51bWVyYWJsZShcJ3BhcnNlSW50XCcpID09PSBmYWxzZS4gQWN0dWFsOiAnICsgKHRoaXMucHJvcGVydHlJc0VudW1lcmFibGUoJ3BhcnNlSW50JykpKTsKfQoKLy9DSEVDSyMyCnZhciByZXN1bHQgPSB0cnVlOwpmb3IgKHZhciBwIGluIHRoaXMpewogIGlmIChwID09PSAicGFyc2VJbnQiKSB7CiAgICByZXN1bHQgPSBmYWxzZTsKICB9ICAKfQoKaWYgKHJlc3VsdCAhPT0gdHJ1ZSkgewogICRFUlJPUignIzI6IHJlc3VsdCA9IHRydWU7IGZvciAocCBpbiB0aGlzKSB7IGlmIChwID09PSAicGFyc2VJbnQiKSByZXN1bHQgPSBmYWxzZTsgfSAgcmVzdWx0ID09PSB0cnVlOycpOwp9Cgo=","commentary":"The parseInt property has the attribute DontEnum","description":"Checking use propertyIsEnumerable, for-in","path":"TestCases/ch15/15.1/15.1.2/15.1.2.2/S15.1.2.2_A9.5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcGFyc2VJbnQgcHJvcGVydHkgaGFzIG5vdCBwcm90b3R5cGUgcHJvcGVydHkKICoKICogQHBhdGggY2gxNS8xNS4xLzE1LjEuMi8xNS4xLjIuMi9TMTUuMS4yLjJfQTkuNi5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgcGFyc2VJbnQucHJvdG90eXBlCiAqLwoKLy9DSEVDSyMxCmlmIChwYXJzZUludC5wcm90b3R5cGUgIT09IHVuZGVmaW5lZCkgewogICRFUlJPUignIzE6IHBhcnNlSW50LnByb3RvdHlwZSA9PT0gdW5kZWZpbmVkLiBBY3R1YWw6ICcgKyAocGFyc2VJbnQucHJvdG90eXBlKSk7Cn0KCg==","commentary":"The parseInt property has not prototype property","description":"Checking parseInt.prototype","path":"TestCases/ch15/15.1/15.1.2/15.1.2.2/S15.1.2.2_A9.6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcGFyc2VJbnQgcHJvcGVydHkgY2FuJ3QgYmUgdXNlZCBhcyBjb25zdHJ1Y3RvcgogKgogKiBAcGF0aCBjaDE1LzE1LjEvMTUuMS4yLzE1LjEuMi4yL1MxNS4xLjIuMl9BOS43LmpzCiAqIEBkZXNjcmlwdGlvbiBJZiBwcm9wZXJ0eSBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGludGVybmFsIFtbQ29uc3RydWN0XV0gbWV0aG9kLCB0aHJvdyBhIFR5cGVFcnJvciBleGNlcHRpb24KICovCgovL0NIRUNLIzEKCnRyeSB7CiAgbmV3IHBhcnNlSW50KCk7CiAgJEVSUk9SKCcjMS4xOiBuZXcgcGFyc2VJbnQoKSB0aHJvdyBUeXBlRXJyb3IuIEFjdHVhbDogJyArIChuZXcgcGFyc2VJbnQoKSkpOwp9IGNhdGNoIChlKSB7CiAgaWYgKChlIGluc3RhbmNlb2YgVHlwZUVycm9yKSAhPT0gdHJ1ZSkgewogICAgJEVSUk9SKCcjMS4yOiBuZXcgcGFyc2VJbnQoKSB0aHJvdyBUeXBlRXJyb3IuIEFjdHVhbDogJyArIChlKSk7CiAgfQp9Cgo=","commentary":"The parseInt property can't be used as constructor","description":"If property does not implement the internal [[Construct]] method, throw a TypeError exception","path":"TestCases/ch15/15.1/15.1.2/15.1.2.2/S15.1.2.2_A9.7.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4xLzE1LjEuMi8xNS4xLjIuMy8xNS4xLjIuMy0yLTEuanMNCiAqIEBkZXNjcmlwdGlvbiBwYXJlc2VGbG9hdCAtICd0cmltbWVkU3RyaW5nJyBpcyB0aGUgZW1wdHkgc3RyaW5nIHdoZW4gaW5wdXRTdHJpbmcgZG9lcyBub3QgY29udGFpbiBhbnkgc3VjaCBjaGFyYWN0ZXJzDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgcmV0dXJuIGlzTmFOKHBhcnNlRmxvYXQoIiIpKSAmJiBwYXJzZUZsb2F0KCIiKSAhPT0gcGFyc2VGbG9hdCgiIik7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"pareseFloat - 'trimmedString' is the empty string when inputString does not contain any such characters","path":"TestCases/ch15/15.1/15.1.2/15.1.2.3/15.1.2.3-2-1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB1c2UgVG9TdHJpbmcKICoKICogQHBhdGggY2gxNS8xNS4xLzE1LjEuMi8xNS4xLjIuMy9TMTUuMS4yLjNfQTFfVDEuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGZvciBib29sZWFuIHByaW1pdGl2ZQogKi8KCi8vQ0hFQ0sjMQppZiAoIShpc05hTihwYXJzZUZsb2F0KHRydWUpKSAmJiBpc05hTihwYXJzZUZsb2F0KCJOYU4iKSkpKSB7CiAgJEVSUk9SKCcjMTogcGFyc2VGbG9hdCh0cnVlKSA9PT0gTm90LWEtTnVtYmVyOyBwYXJzZUZsb2F0KCJOYU4iKSA9PT0gTm90LWEtTnVtYmVyLiBBY3R1YWw6ICcgKyAocGFyc2VGbG9hdCgiTmFOIikpKTsKfQoKLy9DSEVDSyMyCmlmIChTdHJpbmcocGFyc2VGbG9hdChmYWxzZSkpICE9PSAiTmFOIikgewogICRFUlJPUignIzI6IFN0cmluZyhwYXJzZUZsb2F0KGZhbHNlKSkgPT09ICJOYU4iLiBBY3R1YWw6ICcgKyAoU3RyaW5nKHBhcnNlRmxvYXQoZmFsc2UpKSkpOwp9Cgo=","commentary":"Operator use ToString","description":"Checking for boolean primitive","path":"TestCases/ch15/15.1/15.1.2/15.1.2.3/S15.1.2.3_A1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB1c2UgVG9TdHJpbmcKICoKICogQHBhdGggY2gxNS8xNS4xLzE1LjEuMi8xNS4xLjIuMy9TMTUuMS4yLjNfQTFfVDIuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGZvciBudW1iZXIgcHJpbWl0aXZlCiAqLwoKLy9DSEVDSyMxCmlmIChwYXJzZUZsb2F0KC0xLjEpICE9PSBwYXJzZUZsb2F0KCItMS4xIikpIHsKICAkRVJST1IoJyMxOiBwYXJzZUZsb2F0KC0xLjEpID09PSBwYXJzZUZsb2F0KCItMS4xIikuIEFjdHVhbDogJyArIChwYXJzZUZsb2F0KC0xLjEpKSk7Cn0KCi8vQ0hFQ0sjMgppZiAocGFyc2VGbG9hdChJbmZpbml0eSkgIT09IHBhcnNlRmxvYXQoIkluZmluaXR5IikpIHsKICAkRVJST1IoJyMyOiBwYXJzZUZsb2F0KEluZmluaXR5KSA9PT0gcGFyc2VGbG9hdCgiSW5maW5pdHkiKS4gQWN0dWFsOiAnICsgKHBhcnNlRmxvYXQoSW5maW5pdHkpKSk7Cn0KCi8vQ0hFQ0sjMwppZiAoU3RyaW5nKHBhcnNlRmxvYXQoTmFOKSkgIT09ICJOYU4iKSB7CiAgJEVSUk9SKCcjMzogU3RyaW5nKHBhcnNlRmxvYXQoTmFOKSkgPT09ICJOYU4iLiBBY3R1YWw6ICcgKyAoU3RyaW5nKHBhcnNlRmxvYXQoTmFOKSkpKTsKfQoKLy9DSEVDSyM0CmlmIChwYXJzZUZsb2F0KC4wMWUrMikgIT09IHBhcnNlRmxvYXQoIi4wMWUrMiIpKSB7CiAgJEVSUk9SKCcjNDogcGFyc2VGbG9hdCguMDFlKzIpID09PSBwYXJzZUZsb2F0KCIuMDFlKzIiKS4gQWN0dWFsOiAnICsgKHBhcnNlRmxvYXQoLjAxZSsyKSkpOwp9CgovL0NIRUNLIzUKaWYgKHBhcnNlRmxvYXQoLTApICE9PSAwKSB7CiAgJEVSUk9SKCcjNTogcGFyc2VGbG9hdCgtMCkgPT09IDAuIEFjdHVhbDogJyArIChwYXJzZUZsb2F0KC0wKSkpOwp9IGVsc2UgewogIGlmICgxIC8gcGFyc2VGbG9hdCgtMCkgIT09IE51bWJlci5QT1NJVElWRV9JTkZJTklUWSkgewogICAgJEVSUk9SKCcjNTogcGFyc2VGbG9hdCgtMCkgPT09ICswLiBBY3R1YWw6ICcgKyAocGFyc2VGbG9hdCgtMCkpKTsKICB9Cn0gICAgCgo=","commentary":"Operator use ToString","description":"Checking for number primitive","path":"TestCases/ch15/15.1/15.1.2/15.1.2.3/S15.1.2.3_A1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB1c2UgVG9TdHJpbmcKICoKICogQHBhdGggY2gxNS8xNS4xLzE1LjEuMi8xNS4xLjIuMy9TMTUuMS4yLjNfQTFfVDMuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGZvciB1bmRlZmluZWQgYW5kIG51bGwKICovCgovL0NIRUNLIzEKaWYgKCEoaXNOYU4ocGFyc2VGbG9hdCh1bmRlZmluZWQpKSAmJiBpc05hTihwYXJzZUZsb2F0KCJOYU4iKSkpKSB7CiAgJEVSUk9SKCcjMTogcGFyc2VGbG9hdCh1bmRlZmluZWQpID09PSBOb3QtYS1OdW1iZXI7IHBhcnNlRmxvYXQoIk5hTiIpID09PSBOb3QtYS1OdW1iZXIuIEFjdHVhbDogJyArIChwYXJzZUZsb2F0KCJOYU4iKSkpOwp9CgovL0NIRUNLIzIKaWYgKCEoaXNOYU4ocGFyc2VGbG9hdChudWxsKSkgJiYgaXNOYU4ocGFyc2VGbG9hdCgiTmFOIikpKSkgewogICRFUlJPUignIzI6IHBhcnNlRmxvYXQobnVsbCkgPT09IE5vdC1hLU51bWJlcjsgcGFyc2VGbG9hdCgiTmFOIikgPT09IE5vdC1hLU51bWJlci4gQWN0dWFsOiAnICsgKHBhcnNlRmxvYXQoIk5hTiIpKSk7Cn0KCgovL0NIRUNLIzMKaWYgKFN0cmluZyhwYXJzZUZsb2F0KHVuZGVmaW5lZCkpICE9PSAiTmFOIikgewogICRFUlJPUignIzM6IFN0cmluZyhwYXJzZUZsb2F0KHVuZGVmaW5lZCkpID09PSAiTmFOIi4gQWN0dWFsOiAnICsgKFN0cmluZyhwYXJzZUZsb2F0KHVuZGVmaW5lZCkpKSk7Cn0KCi8vQ0hFQ0sjNAppZiAoU3RyaW5nKHBhcnNlRmxvYXQobnVsbCkpICE9PSAiTmFOIikgewogICRFUlJPUignIzQ6IFN0cmluZyhwYXJzZUZsb2F0KG51bGwpKSA9PT0gIk5hTiIuIEFjdHVhbDogJyArIChTdHJpbmcocGFyc2VGbG9hdChudWxsKSkpKTsKfQoK","commentary":"Operator use ToString","description":"Checking for undefined and null","path":"TestCases/ch15/15.1/15.1.2/15.1.2.3/S15.1.2.3_A1_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB1c2UgVG9TdHJpbmcKICoKICogQHBhdGggY2gxNS8xNS4xLzE1LjEuMi8xNS4xLjIuMy9TMTUuMS4yLjNfQTFfVDQuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGZvciBCb29sZWFuIG9iamVjdAogKi8KCi8vQ0hFQ0sjMQppZiAoIShpc05hTihwYXJzZUZsb2F0KG5ldyBCb29sZWFuKHRydWUpKSkgJiYgaXNOYU4ocGFyc2VGbG9hdCgiTmFOIikpKSkgewogICRFUlJPUignIzE6IHBhcnNlRmxvYXQobmV3IEJvb2xlYW4odHJ1ZSkpID09PSBOb3QtYS1OdW1iZXI7IHBhcnNlRmxvYXQoIk5hTiIpID09PSBOb3QtYS1OdW1iZXIuIEFjdHVhbDogJyArIChwYXJzZUZsb2F0KCJOYU4iKSkpOwp9CgovL0NIRUNLIzIKaWYgKFN0cmluZyhwYXJzZUZsb2F0KG5ldyBCb29sZWFuKGZhbHNlKSkpICE9PSAiTmFOIikgewogICRFUlJPUignIzI6IFN0cmluZyhwYXJzZUZsb2F0KG5ldyBCb29sZWFuKGZhbHNlKSkpID09PSAiTmFOIi4gQWN0dWFsOiAnICsgKFN0cmluZyhwYXJzZUZsb2F0KG5ldyBCb29sZWFuKGZhbHNlKSkpKSk7Cn0KCg==","commentary":"Operator use ToString","description":"Checking for Boolean object","path":"TestCases/ch15/15.1/15.1.2/15.1.2.3/S15.1.2.3_A1_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB1c2UgVG9TdHJpbmcKICoKICogQHBhdGggY2gxNS8xNS4xLzE1LjEuMi8xNS4xLjIuMy9TMTUuMS4yLjNfQTFfVDUuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGZvciBOdW1iZXIgb2JqZWN0CiAqLwoKLy9DSEVDSyMxCmlmIChwYXJzZUZsb2F0KG5ldyBOdW1iZXIoLTEuMSkpICE9PSBwYXJzZUZsb2F0KCItMS4xIikpIHsKICAkRVJST1IoJyMxOiBwYXJzZUZsb2F0KG5ldyBOdW1iZXIoLTEuMSkpID09PSBwYXJzZUZsb2F0KCItMS4xIikuIEFjdHVhbDogJyArIChwYXJzZUZsb2F0KG5ldyBOdW1iZXIoLTEuMSkpKSk7Cn0KCi8vQ0hFQ0sjMgppZiAocGFyc2VGbG9hdChuZXcgTnVtYmVyKEluZmluaXR5KSkgIT09IHBhcnNlRmxvYXQoIkluZmluaXR5IikpIHsKICAkRVJST1IoJyMyOiBwYXJzZUZsb2F0KG5ldyBOdW1iZXIoSW5maW5pdHkpKSA9PT0gcGFyc2VGbG9hdCgiSW5maW5pdHkiKS4gQWN0dWFsOiAnICsgKHBhcnNlRmxvYXQobmV3IE51bWJlcihJbmZpbml0eSkpKSk7Cn0KCi8vQ0hFQ0sjMwppZiAoU3RyaW5nKHBhcnNlRmxvYXQobmV3IE51bWJlcihOYU4pKSkgIT09ICJOYU4iKSB7CiAgJEVSUk9SKCcjMzogU3RyaW5nKHBhcnNlRmxvYXQobmV3IE51bWJlcihOYU4pKSkgPT09ICJOYU4iLiBBY3R1YWw6ICcgKyAoU3RyaW5nKHBhcnNlRmxvYXQobmV3IE51bWJlcihOYU4pKSkpKTsKfQoKLy9DSEVDSyM0CmlmIChwYXJzZUZsb2F0KG5ldyBOdW1iZXIoLjAxZSsyKSkgIT09IHBhcnNlRmxvYXQoIi4wMWUrMiIpKSB7CiAgJEVSUk9SKCcjNDogcGFyc2VGbG9hdChuZXcgTnVtYmVyKC4wMWUrMikpID09PSBwYXJzZUZsb2F0KCIuMDFlKzIiKS4gQWN0dWFsOiAnICsgKHBhcnNlRmxvYXQobmV3IE51bWJlciguMDFlKzIpKSkpOwp9Cgo=","commentary":"Operator use ToString","description":"Checking for Number object","path":"TestCases/ch15/15.1/15.1.2/15.1.2.3/S15.1.2.3_A1_T5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB1c2UgVG9TdHJpbmcKICoKICogQHBhdGggY2gxNS8xNS4xLzE1LjEuMi8xNS4xLjIuMy9TMTUuMS4yLjNfQTFfVDYuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGZvciBTdHJpbmcgb2JqZWN0CiAqLwoKLy9DSEVDSyMxCmlmIChwYXJzZUZsb2F0KG5ldyBTdHJpbmcoIi0xLjEiKSkgIT09IHBhcnNlRmxvYXQoIi0xLjEiKSkgewogICRFUlJPUignIzE6IHBhcnNlRmxvYXQobmV3IFN0cmluZygiLTEuMSIpKSA9PT0gcGFyc2VGbG9hdCgiLTEuMSIpLiBBY3R1YWw6ICcgKyAocGFyc2VGbG9hdChuZXcgU3RyaW5nKCItMS4xIikpKSk7Cn0KCi8vQ0hFQ0sjMgppZiAocGFyc2VGbG9hdChuZXcgU3RyaW5nKCJJbmZpbml0eSIpKSAhPT0gcGFyc2VGbG9hdCgiSW5maW5pdHkiKSkgewogICRFUlJPUignIzI6IHBhcnNlRmxvYXQobmV3IFN0cmluZygiSW5maW5pdHkiKSkgPT09IHBhcnNlRmxvYXQoIkluZmluaXR5IikuIEFjdHVhbDogJyArIChwYXJzZUZsb2F0KG5ldyBTdHJpbmcoIkluZmluaXR5IikpKSk7Cn0KCi8vQ0hFQ0sjMwppZiAoU3RyaW5nKHBhcnNlRmxvYXQobmV3IFN0cmluZygiTmFOIikpKSAhPT0gIk5hTiIpIHsKICAkRVJST1IoJyMzOiBTdHJpbmcocGFyc2VGbG9hdChuZXcgU3RyaW5nKCJOYU4iKSkpID09PSAiTmFOIi4gQWN0dWFsOiAnICsgKFN0cmluZyhwYXJzZUZsb2F0KG5ldyBTdHJpbmcoIk5hTiIpKSkpKTsKfQoKLy9DSEVDSyM0CmlmIChwYXJzZUZsb2F0KG5ldyBTdHJpbmcoIi4wMWUrMiIpKSAhPT0gcGFyc2VGbG9hdCgiLjAxZSsyIikpIHsKICAkRVJST1IoJyM0OiBwYXJzZUZsb2F0KG5ldyBTdHJpbmcoIi4wMWUrMiIpKSA9PT0gcGFyc2VGbG9hdCgiLjAxZSsyIikuIEFjdHVhbDogJyArIChwYXJzZUZsb2F0KG5ldyBTdHJpbmcoIi4wMWUrMiIpKSkpOwp9CgovL0NIRUNLIzUKaWYgKFN0cmluZyhwYXJzZUZsb2F0KG5ldyBTdHJpbmcoImZhbHNlIikpKSAhPT0gIk5hTiIpIHsKICAkRVJST1IoJyM1OiBTdHJpbmcocGFyc2VGbG9hdChuZXcgU3RyaW5nKCJmYWxzZSIpKSkgPT09ICJOYU4iLiBBY3R1YWw6ICcgKyAoU3RyaW5nKHBhcnNlRmxvYXQobmV3IFN0cmluZygiZmFsc2UiKSkpKSk7Cn0KCg==","commentary":"Operator use ToString","description":"Checking for String object","path":"TestCases/ch15/15.1/15.1.2/15.1.2.3/S15.1.2.3_A1_T6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB1c2UgVG9TdHJpbmcKICoKICogQHBhdGggY2gxNS8xNS4xLzE1LjEuMi8xNS4xLjIuMy9TMTUuMS4yLjNfQTFfVDcuanMKICogQGRlc2NyaXB0aW9uIElmIFR5cGUodmFsdWUpIGlzIE9iamVjdCwgZXZhbHVhdGUgVG9QcmltaXRpdmUodmFsdWUsIFN0cmluZykKICovCgovL0NIRUNLIzEKdmFyIG9iamVjdCA9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gMX19OwppZiAoaXNOYU4ocGFyc2VGbG9hdChvYmplY3QpKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzE6IHZhciBvYmplY3QgPSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIDF9fTsgcGFyc2VGbG9hdChvYmplY3QpID09PSBOb3QtYS1OdW1iZXIuIEFjdHVhbDogJyArIChwYXJzZUZsb2F0KG9iamVjdCkpKTsKfQoKLy9DSEVDSyMyCnZhciBvYmplY3QgPSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIDF9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIDB9fTsKaWYgKHBhcnNlRmxvYXQob2JqZWN0KSAhPT0gMCkgewogICRFUlJPUignIzI6IHZhciBvYmplY3QgPSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIDF9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIDB9fTsgcGFyc2VGbG9hdChvYmplY3QpID09PSAwLiBBY3R1YWw6ICcgKyAocGFyc2VGbG9hdChvYmplY3QpKSk7Cn0gCgovL0NIRUNLIzMKdmFyIG9iamVjdCA9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gMX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4ge319fTsKaWYgKHBhcnNlRmxvYXQob2JqZWN0KSAhPT0gMSkgewogICRFUlJPUignIzM6IHZhciBvYmplY3QgPSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIDF9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIHt9fX07IHBhcnNlRmxvYXQob2JqZWN0KSA9PT0gMS4gQWN0dWFsOiAnICsgKHBhcnNlRmxvYXQob2JqZWN0KSkpOwp9CgovL0NIRUNLIzQKdHJ5IHsKICB2YXIgb2JqZWN0ID0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3Rocm93ICJlcnJvciJ9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIDF9fTsKICBpZiAocGFyc2VGbG9hdChvYmplY3QpICE9PSAxKSB7CiAgICAkRVJST1IoJyM0LjE6IHZhciBvYmplY3QgPSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7dGhyb3cgImVycm9yIn0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gMX19OyBwYXJzZUZsb2F0KG9iamVjdCkgPT09IDEuIEFjdHVhbDogJyArIChwYXJzZUZsb2F0KG9iamVjdCkpKTsKICB9Cn0KY2F0Y2ggKGUpIHsKICBpZiAoZSA9PT0gImVycm9yIikgewogICAgJEVSUk9SKCcjNC4yOiB2YXIgb2JqZWN0ID0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3Rocm93ICJlcnJvciJ9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIDF9fTsgcGFyc2VGbG9hdChvYmplY3QpIG5vdCB0aHJvdyAiZXJyb3IiJyk7CiAgfSBlbHNlIHsKICAgICRFUlJPUignIzQuMzogdmFyIG9iamVjdCA9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHt0aHJvdyAiZXJyb3IifSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiAxfX07IHBhcnNlRmxvYXQob2JqZWN0KSBub3QgdGhyb3cgRXJyb3IuIEFjdHVhbDogJyArIChlKSk7CiAgfQp9CgovL0NIRUNLIzUKdmFyIG9iamVjdCA9IHt0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIDF9fTsKaWYgKHBhcnNlRmxvYXQob2JqZWN0KSAhPT0gMSkgewogICRFUlJPUignIzU6IHZhciBvYmplY3QgPSB7dG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiAxfX07IHBhcnNlRmxvYXQob2JqZWN0KSA9PT0gMS4gQWN0dWFsOiAnICsgKHBhcnNlRmxvYXQob2JqZWN0KSkpOwp9CgovL0NIRUNLIzYKdmFyIG9iamVjdCA9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4ge319LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIDF9fQppZiAocGFyc2VGbG9hdChvYmplY3QpICE9PSAxKSB7CiAgJEVSUk9SKCcjNjogdmFyIG9iamVjdCA9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4ge319LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIDF9fTsgcGFyc2VGbG9hdChvYmplY3QpID09PSAxLiBBY3R1YWw6ICcgKyAocGFyc2VGbG9hdChvYmplY3QpKSk7Cn0KCi8vQ0hFQ0sjNwp0cnkgewogIHZhciBvYmplY3QgPSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIDF9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7dGhyb3cgImVycm9yIn19OwogIHBhcnNlRmxvYXQob2JqZWN0KTsKICAkRVJST1IoJyM3LjE6IHZhciBvYmplY3QgPSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIDF9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7dGhyb3cgImVycm9yIn19OyBwYXJzZUZsb2F0KG9iamVjdCkgdGhyb3cgImVycm9yIi4gQWN0dWFsOiAnICsgKHBhcnNlRmxvYXQob2JqZWN0KSkpOwp9ICAKY2F0Y2ggKGUpIHsKICBpZiAoZSAhPT0gImVycm9yIikgewogICAgJEVSUk9SKCcjNy4yOiB2YXIgb2JqZWN0ID0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAxfSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3Rocm93ICJlcnJvciJ9fTsgcGFyc2VGbG9hdChvYmplY3QpIHRocm93ICJlcnJvciIuIEFjdHVhbDogJyArIChlKSk7CiAgfSAKfQoKLy9DSEVDSyM4CnRyeSB7CiAgdmFyIG9iamVjdCA9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4ge319LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIHt9fX07CiAgcGFyc2VGbG9hdChvYmplY3QpOwogICRFUlJPUignIzguMTogdmFyIG9iamVjdCA9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4ge319LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIHt9fX07IHBhcnNlRmxvYXQob2JqZWN0KSB0aHJvdyBUeXBlRXJyb3IuIEFjdHVhbDogJyArIChwYXJzZUZsb2F0KG9iamVjdCkpKTsKfSAgCmNhdGNoIChlKSB7CiAgaWYgKChlIGluc3RhbmNlb2YgVHlwZUVycm9yKSAhPT0gdHJ1ZSkgewogICAgJEVSUk9SKCcjOC4yOiB2YXIgb2JqZWN0ID0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiB7fX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4ge319fTsgcGFyc2VGbG9hdChvYmplY3QpIHRocm93IFR5cGVFcnJvci4gQWN0dWFsOiAnICsgKGUpKTsKICB9IAp9Cgo=","commentary":"Operator use ToString","description":"If Type(value) is Object, evaluate ToPrimitive(value, String)","path":"TestCases/ch15/15.1/15.1.2/15.1.2.3/S15.1.2.3_A1_T7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciByZW1vdmUgbGVhZGluZyBTdHJXaGl0ZVNwYWNlQ2hhcgogKgogKiBAcGF0aCBjaDE1LzE1LjEvMTUuMS4yLzE1LjEuMi4zL1MxNS4xLjIuM19BMl9UMS5qcwogKiBAZGVzY3JpcHRpb24gU3RyV2hpdGVTcGFjZUNoYXIgOjogVEFCIChVKzAwMDkpCiAqLwoKLy9DSEVDSyMxCmlmIChwYXJzZUZsb2F0KCJcdTAwMDkxLjEiKSAhPT0gcGFyc2VGbG9hdCgiMS4xIikpIHsKICAkRVJST1IoJyMxOiBwYXJzZUZsb2F0KCJcXHUwMDA5MS4xIikgPT09IHBhcnNlRmxvYXQoIjEuMSIpLiBBY3R1YWw6ICcgKyAocGFyc2VGbG9hdCgiXHUwMDA5MS4xIikpKTsKfQoKLy9DSEVDSyMyCmlmIChwYXJzZUZsb2F0KCJcdTAwMDlcdTAwMDktMS4xIikgIT09IHBhcnNlRmxvYXQoIi0xLjEiKSkgewogICRFUlJPUignIzI6IHBhcnNlRmxvYXQoIlxcdTAwMDlcXHUwMDA5LTEuMSIpID09PSBwYXJzZUZsb2F0KCItMS4xIikuIEFjdHVhbDogJyArIChwYXJzZUZsb2F0KCJcdTAwMDlcdTAwMDktMS4xIikpKTsKfQoKLy9DSEVDSyMzCmlmIChwYXJzZUZsb2F0KCIJMS4xIikgIT09IHBhcnNlRmxvYXQoIjEuMSIpKSB7CiAgJEVSUk9SKCcjMzogcGFyc2VGbG9hdCgiCTEuMSIpID09PSBwYXJzZUZsb2F0KCIxLjEiKS4gQWN0dWFsOiAnICsgKHBhcnNlRmxvYXQoIgkxLjEiKSkpOwp9CgovL0NIRUNLIzQKaWYgKHBhcnNlRmxvYXQoIgkJCTEuMSIpICE9PSBwYXJzZUZsb2F0KCIxLjEiKSkgewogICRFUlJPUignIzQ6IHBhcnNlRmxvYXQoIgkJCTEuMSIpID09PSBwYXJzZUZsb2F0KCIxLjEiKS4gQWN0dWFsOiAnICsgKHBhcnNlRmxvYXQoIgkJCTEuMSIpKSk7Cn0KCi8vQ0hFQ0sjNQppZiAocGFyc2VGbG9hdCgiCQkJXHUwMDA5CQkJXHUwMDA5LTEuMSIpICE9PSBwYXJzZUZsb2F0KCItMS4xIikpIHsKICAkRVJST1IoJyM1OiBwYXJzZUZsb2F0KCIJCQlcXHUwMDA5CQkJXFx1MDAwOS0xLjEiKSA9PT0gcGFyc2VGbG9hdCgiLTEuMSIpLiBBY3R1YWw6ICcgKyAocGFyc2VGbG9hdCgiCQkJXHUwMDA5CQkJXHUwMDA5LTEuMSIpKSk7Cn0KCi8vQ0hFQ0sjNgppZiAoaXNOYU4ocGFyc2VGbG9hdCgiXHUwMDA5IikpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjNjogcGFyc2VGbG9hdCgiXFx1MDAwOSIpID09PSBOb3QtYS1OdW1iZXIuIEFjdHVhbDogJyArIChwYXJzZUZsb2F0KCJcdTAwMDkiKSkpOwp9Cgo=","commentary":"Operator remove leading StrWhiteSpaceChar","description":"StrWhiteSpaceChar :: TAB (U+0009)","path":"TestCases/ch15/15.1/15.1.2/15.1.2.3/S15.1.2.3_A2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciByZW1vdmUgbGVhZGluZyBTdHJXaGl0ZVNwYWNlQ2hhcgogKgogKiBAcGF0aCBjaDE1LzE1LjEvMTUuMS4yLzE1LjEuMi4zL1MxNS4xLjIuM19BMl9UMTAuanMKICogQGRlc2NyaXB0aW9uIFN0cldoaXRlU3BhY2VDaGFyIDo6IFVTUAogKi8KCi8vQ0hFQ0sjCnZhciBjb3VudCA9IDA7CnZhciBlcnJvckNvdW50ID0gMDsKdmFyIHVzcFUgPSBbIlx1MTY4MCIsICJcdTE4MEUiLCAiXHUyMDAwIiwgIlx1MjAwMSIsICJcdTIwMDIiLCAiXHUyMDAzIiwgIlx1MjAwNCIsICJcdTIwMDUiLCAiXHUyMDA2IiwgIlx1MjAwNyIsICJcdTIwMDgiLCAiXHUyMDA5IiwgIlx1MjAwQSIsICJcdTIwMkYiLCAiXHUyMDVGIiwgIlx1MzAwMCJdOwp2YXIgdXNwUyA9IFsiMTY4MCIsICIxODBFIiwgIjIwMDAiLCAiMjAwMSIsICIyMDAyIiwgIjIwMDMiLCAiMjAwNCIsICIyMDA1IiwgIjIwMDYiLCAiMjAwNyIsICIyMDA4IiwgIjIwMDkiLCAiMjAwQSIsICIyMDJGIiwgIjIwNUYiLCAiMzAwMCJdOwpmb3IgKHZhciBpbmRleCA9IDA7IGluZGV4IDwgdXNwVS5sZW5ndGg7IGluZGV4KyspIHsKICB2YXIgcmVzdWx0ID0gdHJ1ZTsgIAogIGlmIChwYXJzZUZsb2F0KHVzcFVbaW5kZXhdICsgIjEuMSIpICE9PSBwYXJzZUZsb2F0KCIxLjEiKSkgewogICAgJEVSUk9SKCcjMS4nICsgIHVzcFNbaW5kZXhdICsgJyAnKTsKICAgIHJlc3VsdCA9IGZhbHNlOwogIH0KICAgaWYgKHBhcnNlRmxvYXQodXNwVVtpbmRleF0gKyB1c3BVW2luZGV4XSArIHVzcFVbaW5kZXhdICsgIjEuMSIpICE9PSBwYXJzZUZsb2F0KCIxLjEiKSkgewogICAgJEVSUk9SKCcjMi4nICsgIHVzcFNbaW5kZXhdICsgJyAnKTsKICAgIHJlc3VsdCA9IGZhbHNlOwogIH0KICBpZiAoaXNOYU4ocGFyc2VGbG9hdCh1c3BVW2luZGV4XSkpICE9PSB0cnVlKSB7CiAgICAkRVJST1IoJyMzLicgKyAgdXNwU1tpbmRleF0gKyAnICcpOwogICAgcmVzdWx0ID0gZmFsc2U7CiAgfQogIGlmIChyZXN1bHQgIT09IHRydWUpIHsKICAgICAgZXJyb3JDb3VudCsrOwogIH0KICBjb3VudCsrOwp9CgppZiAoZXJyb3JDb3VudCA+IDApIHsgIAogICRFUlJPUignVG90YWwgZXJyb3I6ICcgKyBlcnJvckNvdW50ICsgJyBiYWQgVW5pY29kZSBjaGFyYWN0ZXIgaW4gJyArIGNvdW50KTsKfQoK","commentary":"Operator remove leading StrWhiteSpaceChar","description":"StrWhiteSpaceChar :: USP","path":"TestCases/ch15/15.1/15.1.2/15.1.2.3/S15.1.2.3_A2_T10.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciByZW1vdmUgbGVhZGluZyBTdHJXaGl0ZVNwYWNlQ2hhcgogKgogKiBAcGF0aCBjaDE1LzE1LjEvMTUuMS4yLzE1LjEuMi4zL1MxNS4xLjIuM19BMl9UMi5qcwogKiBAZGVzY3JpcHRpb24gU3RyV2hpdGVTcGFjZUNoYXIgOjogU1AgKFUrMDAyMCkKICovCgovL0NIRUNLIzEKaWYgKHBhcnNlRmxvYXQoIlx1MDAyMDEuMSIpICE9PSBwYXJzZUZsb2F0KCIxLjEiKSkgewogICRFUlJPUignIzE6IHBhcnNlRmxvYXQoIlxcdTAwMjAxLjEiKSA9PT0gcGFyc2VGbG9hdCgiMS4xIikuIEFjdHVhbDogJyArIChwYXJzZUZsb2F0KCJcdTAwMjAxLjEiKSkpOwp9CgovL0NIRUNLIzIKaWYgKHBhcnNlRmxvYXQoIlx1MDAyMFx1MDAyMC0xLjEiKSAhPT0gcGFyc2VGbG9hdCgiLTEuMSIpKSB7CiAgJEVSUk9SKCcjMjogcGFyc2VGbG9hdCgiXFx1MDAyMFxcdTAwMjAtMS4xIikgPT09IHBhcnNlRmxvYXQoIi0xLjEiKS4gQWN0dWFsOiAnICsgKHBhcnNlRmxvYXQoIlx1MDAyMFx1MDAyMC0xLjEiKSkpOwp9CgovL0NIRUNLIzMKaWYgKHBhcnNlRmxvYXQoIiAxLjEiKSAhPT0gcGFyc2VGbG9hdCgiMS4xIikpIHsKICAkRVJST1IoJyMzOiBwYXJzZUZsb2F0KCIgMS4xIikgPT09IHBhcnNlRmxvYXQoIjEuMSIpLiBBY3R1YWw6ICcgKyAocGFyc2VGbG9hdCgiIDEuMSIpKSk7Cn0KCi8vQ0hFQ0sjNAppZiAocGFyc2VGbG9hdCgiICAgICAgIDEuMSIpICE9PSBwYXJzZUZsb2F0KCIxLjEiKSkgewogICRFUlJPUignIzQ6IHBhcnNlRmxvYXQoIiAgICAgICAxLjEiKSA9PT0gcGFyc2VGbG9hdCgiMS4xIikuIEFjdHVhbDogJyArIChwYXJzZUZsb2F0KCIgICAgICAgMS4xIikpKTsKfQoKLy9DSEVDSyM1CmlmIChwYXJzZUZsb2F0KCIgICAgICAgXHUwMDIwICAgICAgIFx1MDAyMC0xLjEiKSAhPT0gcGFyc2VGbG9hdCgiLTEuMSIpKSB7CiAgJEVSUk9SKCcjNTogcGFyc2VGbG9hdCgiICAgICAgIFxcdTAwMjAgICAgICAgXFx1MDAyMC0xLjEiKSA9PT0gcGFyc2VGbG9hdCgiLTEuMSIpLiBBY3R1YWw6ICcgKyAocGFyc2VGbG9hdCgiICAgICAgIFx1MDAyMCAgICAgICBcdTAwMjAtMS4xIikpKTsKfQoKLy9DSEVDSyM2CmlmIChpc05hTihwYXJzZUZsb2F0KCJcdTAwMjAiKSkgIT09IHRydWUpIHsKICAkRVJST1IoJyM2OiBwYXJzZUZsb2F0KCJcXHUwMDIwIikgPT09IE5vdC1hLU51bWJlci4gQWN0dWFsOiAnICsgKHBhcnNlRmxvYXQoIlx1MDAyMCIpKSk7Cn0KCg==","commentary":"Operator remove leading StrWhiteSpaceChar","description":"StrWhiteSpaceChar :: SP (U+0020)","path":"TestCases/ch15/15.1/15.1.2/15.1.2.3/S15.1.2.3_A2_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciByZW1vdmUgbGVhZGluZyBTdHJXaGl0ZVNwYWNlQ2hhcgogKgogKiBAcGF0aCBjaDE1LzE1LjEvMTUuMS4yLzE1LjEuMi4zL1MxNS4xLjIuM19BMl9UMy5qcwogKiBAZGVzY3JpcHRpb24gU3RyV2hpdGVTcGFjZUNoYXIgOjogTkJTQiAoVSswMEEwKQogKi8KCi8vQ0hFQ0sjMQppZiAocGFyc2VGbG9hdCgiXHUwMEEwMS4xIikgIT09IHBhcnNlRmxvYXQoIjEuMSIpKSB7CiAgJEVSUk9SKCcjMTogcGFyc2VGbG9hdCgiXFx1MDBBMDEuMSIpID09PSBwYXJzZUZsb2F0KCIxLjEiKS4gQWN0dWFsOiAnICsgKHBhcnNlRmxvYXQoIlx1MDBBMDEuMSIpKSk7Cn0KCi8vQ0hFQ0sjMgppZiAocGFyc2VGbG9hdCgiXHUwMEEwXHUwMEEwLTEuMSIpICE9PSBwYXJzZUZsb2F0KCItMS4xIikpIHsKICAkRVJST1IoJyMyOiBwYXJzZUZsb2F0KCJcXHUwMEEwXFx1MDBBMC0xLjEiKSA9PT0gcGFyc2VGbG9hdCgiLTEuMSIpLiBBY3R1YWw6ICcgKyAocGFyc2VGbG9hdCgiXHUwMEEwXHUwMEEwLTEuMSIpKSk7Cn0KCi8vQ0hFQ0sjMwppZiAoaXNOYU4ocGFyc2VGbG9hdCgiXHUwMEEwIikpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMzogcGFyc2VGbG9hdCgiXFx1MDBBMCIpID09PSBOb3QtYS1OdW1iZXIuIEFjdHVhbDogJyArIChwYXJzZUZsb2F0KCJcdTAwQTAiKSkpOwp9Cgo=","commentary":"Operator remove leading StrWhiteSpaceChar","description":"StrWhiteSpaceChar :: NBSB (U+00A0)","path":"TestCases/ch15/15.1/15.1.2/15.1.2.3/S15.1.2.3_A2_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciByZW1vdmUgbGVhZGluZyBTdHJXaGl0ZVNwYWNlQ2hhcgogKgogKiBAcGF0aCBjaDE1LzE1LjEvMTUuMS4yLzE1LjEuMi4zL1MxNS4xLjIuM19BMl9UNC5qcwogKiBAZGVzY3JpcHRpb24gU3RyV2hpdGVTcGFjZUNoYXIgOjogRkYgKFUrMDAwQykKICovCgovL0NIRUNLIzEKaWYgKHBhcnNlRmxvYXQoIlx1MDAwQzEuMSIpICE9PSBwYXJzZUZsb2F0KCIxLjEiKSkgewogICRFUlJPUignIzE6IHBhcnNlRmxvYXQoIlxcdTAwMEMxLjEiKSA9PT0gcGFyc2VGbG9hdCgiMS4xIikuIEFjdHVhbDogJyArIChwYXJzZUZsb2F0KCJcdTAwMEMxLjEiKSkpOwp9CgovL0NIRUNLIzIKaWYgKHBhcnNlRmxvYXQoIlx1MDAwQ1x1MDAwQy0xLjEiKSAhPT0gcGFyc2VGbG9hdCgiLTEuMSIpKSB7CiAgJEVSUk9SKCcjMjogcGFyc2VGbG9hdCgiXFx1MDAwQ1xcdTAwMEMtMS4xIikgPT09IHBhcnNlRmxvYXQoIi0xLjEiKS4gQWN0dWFsOiAnICsgKHBhcnNlRmxvYXQoIlx1MDAwQ1x1MDAwQy0xLjEiKSkpOwp9CgovL0NIRUNLIzMKaWYgKGlzTmFOKHBhcnNlRmxvYXQoIlx1MDAwQyIpKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzM6IHBhcnNlRmxvYXQoIlxcdTAwMEMiKSA9PT0gTm90LWEtTnVtYmVyLiBBY3R1YWw6ICcgKyAocGFyc2VGbG9hdCgiXHUwMDBDIikpKTsKfQoK","commentary":"Operator remove leading StrWhiteSpaceChar","description":"StrWhiteSpaceChar :: FF (U+000C)","path":"TestCases/ch15/15.1/15.1.2/15.1.2.3/S15.1.2.3_A2_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciByZW1vdmUgbGVhZGluZyBTdHJXaGl0ZVNwYWNlQ2hhcgogKgogKiBAcGF0aCBjaDE1LzE1LjEvMTUuMS4yLzE1LjEuMi4zL1MxNS4xLjIuM19BMl9UNS5qcwogKiBAZGVzY3JpcHRpb24gU3RyV2hpdGVTcGFjZUNoYXIgOjogVlQgKFUrMDAwQikKICovCgovL0NIRUNLIzEKaWYgKHBhcnNlRmxvYXQoIlx1MDAwQjEuMSIpICE9PSBwYXJzZUZsb2F0KCIxLjEiKSkgewogICRFUlJPUignIzE6IHBhcnNlRmxvYXQoIlxcdTAwMEIxLjEiKSA9PT0gcGFyc2VGbG9hdCgiMS4xIikuIEFjdHVhbDogJyArIChwYXJzZUZsb2F0KCJcdTAwMEIxLjEiKSkpOwp9CgovL0NIRUNLIzIKaWYgKHBhcnNlRmxvYXQoIlx1MDAwQlx1MDAwQi0xLjEiKSAhPT0gcGFyc2VGbG9hdCgiLTEuMSIpKSB7CiAgJEVSUk9SKCcjMjogcGFyc2VGbG9hdCgiXFx1MDAwQlxcdTAwMEItMS4xIikgPT09IHBhcnNlRmxvYXQoIi0xLjEiKS4gQWN0dWFsOiAnICsgKHBhcnNlRmxvYXQoIlx1MDAwQlx1MDAwQi0xLjEiKSkpOwp9CgovL0NIRUNLIzMKaWYgKGlzTmFOKHBhcnNlRmxvYXQoIlx1MDAwQiIpKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzM6IHBhcnNlRmxvYXQoIlxcdTAwMEIiKSA9PT0gTm90LWEtTnVtYmVyLiBBY3R1YWw6ICcgKyAocGFyc2VGbG9hdCgiXHUwMDBCIikpKTsKfQoK","commentary":"Operator remove leading StrWhiteSpaceChar","description":"StrWhiteSpaceChar :: VT (U+000B)","path":"TestCases/ch15/15.1/15.1.2/15.1.2.3/S15.1.2.3_A2_T5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciByZW1vdmUgbGVhZGluZyBTdHJXaGl0ZVNwYWNlQ2hhcgogKgogKiBAcGF0aCBjaDE1LzE1LjEvMTUuMS4yLzE1LjEuMi4zL1MxNS4xLjIuM19BMl9UNi5qcwogKiBAZGVzY3JpcHRpb24gU3RyV2hpdGVTcGFjZUNoYXIgOjogQ1IgKFUrMDAwRCkKICovCgovL0NIRUNLIzEKaWYgKHBhcnNlRmxvYXQoIlx1MDAwRDEuMSIpICE9PSBwYXJzZUZsb2F0KCIxLjEiKSkgewogICRFUlJPUignIzE6IHBhcnNlRmxvYXQoIlxcdTAwMEQxLjEiKSA9PT0gcGFyc2VGbG9hdCgiMS4xIikuIEFjdHVhbDogJyArIChwYXJzZUZsb2F0KCJcdTAwMEQxLjEiKSkpOwp9CgovL0NIRUNLIzIKaWYgKHBhcnNlRmxvYXQoIlx1MDAwRFx1MDAwRC0xLjEiKSAhPT0gcGFyc2VGbG9hdCgiLTEuMSIpKSB7CiAgJEVSUk9SKCcjMjogcGFyc2VGbG9hdCgiXFx1MDAwRFxcdTAwMEQtMS4xIikgPT09IHBhcnNlRmxvYXQoIi0xLjEiKS4gQWN0dWFsOiAnICsgKHBhcnNlRmxvYXQoIlx1MDAwRFx1MDAwRC0xLjEiKSkpOwp9CgovL0NIRUNLIzMKaWYgKGlzTmFOKHBhcnNlRmxvYXQoIlx1MDAwRCIpKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzM6IHBhcnNlRmxvYXQoIlxcdTAwMEQiKSA9PT0gTm90LWEtTnVtYmVyLiBBY3R1YWw6ICcgKyAocGFyc2VGbG9hdCgiXHUwMDBEIikpKTsKfQoK","commentary":"Operator remove leading StrWhiteSpaceChar","description":"StrWhiteSpaceChar :: CR (U+000D)","path":"TestCases/ch15/15.1/15.1.2/15.1.2.3/S15.1.2.3_A2_T6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciByZW1vdmUgbGVhZGluZyBTdHJXaGl0ZVNwYWNlQ2hhcgogKgogKiBAcGF0aCBjaDE1LzE1LjEvMTUuMS4yLzE1LjEuMi4zL1MxNS4xLjIuM19BMl9UNy5qcwogKiBAZGVzY3JpcHRpb24gU3RyV2hpdGVTcGFjZUNoYXIgOjogTEYgKFUrMDAwQSkKICovCgovL0NIRUNLIzEKaWYgKHBhcnNlRmxvYXQoIlx1MDAwQTEuMSIpICE9PSBwYXJzZUZsb2F0KCIxLjEiKSkgewogICRFUlJPUignIzE6IHBhcnNlRmxvYXQoIlxcdTAwMEExLjEiKSA9PT0gcGFyc2VGbG9hdCgiMS4xIikuIEFjdHVhbDogJyArIChwYXJzZUZsb2F0KCJcdTAwMEExLjEiKSkpOwp9CgovL0NIRUNLIzIKaWYgKHBhcnNlRmxvYXQoIlx1MDAwQVx1MDAwQS0xLjEiKSAhPT0gcGFyc2VGbG9hdCgiLTEuMSIpKSB7CiAgJEVSUk9SKCcjMjogcGFyc2VGbG9hdCgiXFx1MDAwQVxcdTAwMEEtMS4xIikgPT09IHBhcnNlRmxvYXQoIi0xLjEiKS4gQWN0dWFsOiAnICsgKHBhcnNlRmxvYXQoIlx1MDAwQVx1MDAwQS0xLjEiKSkpOwp9CgovL0NIRUNLIzMKaWYgKGlzTmFOKHBhcnNlRmxvYXQoIlx1MDAwQSIpKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzM6IHBhcnNlRmxvYXQoIlxcdTAwMEEiKSA9PT0gTm90LWEtTnVtYmVyLiBBY3R1YWw6ICcgKyAocGFyc2VGbG9hdCgiXHUwMDBBIikpKTsKfQoK","commentary":"Operator remove leading StrWhiteSpaceChar","description":"StrWhiteSpaceChar :: LF (U+000A)","path":"TestCases/ch15/15.1/15.1.2/15.1.2.3/S15.1.2.3_A2_T7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciByZW1vdmUgbGVhZGluZyBTdHJXaGl0ZVNwYWNlQ2hhcgogKgogKiBAcGF0aCBjaDE1LzE1LjEvMTUuMS4yLzE1LjEuMi4zL1MxNS4xLjIuM19BMl9UOC5qcwogKiBAZGVzY3JpcHRpb24gU3RyV2hpdGVTcGFjZUNoYXIgOjogTFMgKFUrMjAyOCkKICovCgovL0NIRUNLIzEKaWYgKHBhcnNlRmxvYXQoIlx1MjAyODEuMSIpICE9PSBwYXJzZUZsb2F0KCIxLjEiKSkgewogICRFUlJPUignIzE6IHBhcnNlRmxvYXQoIlxcdTIwMjgxLjEiKSA9PT0gcGFyc2VGbG9hdCgiMS4xIikuIEFjdHVhbDogJyArIChwYXJzZUZsb2F0KCJcdTIwMjgxLjEiKSkpOwp9CgovL0NIRUNLIzIKaWYgKHBhcnNlRmxvYXQoIlx1MjAyOFx1MjAyOC0xLjEiKSAhPT0gcGFyc2VGbG9hdCgiLTEuMSIpKSB7CiAgJEVSUk9SKCcjMjogcGFyc2VGbG9hdCgiXFx1MjAyOFxcdTIwMjgtMS4xIikgPT09IHBhcnNlRmxvYXQoIi0xLjEiKS4gQWN0dWFsOiAnICsgKHBhcnNlRmxvYXQoIlx1MjAyOFx1MjAyOC0xLjEiKSkpOwp9CgovL0NIRUNLIzMKaWYgKGlzTmFOKHBhcnNlRmxvYXQoIlx1MjAyOCIpKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzM6IHBhcnNlRmxvYXQoIlxcdTIwMjgiKSA9PT0gTm90LWEtTnVtYmVyLiBBY3R1YWw6ICcgKyAocGFyc2VGbG9hdCgiXHUyMDI4IikpKTsKfQoK","commentary":"Operator remove leading StrWhiteSpaceChar","description":"StrWhiteSpaceChar :: LS (U+2028)","path":"TestCases/ch15/15.1/15.1.2/15.1.2.3/S15.1.2.3_A2_T8.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciByZW1vdmUgbGVhZGluZyBTdHJXaGl0ZVNwYWNlQ2hhcgogKgogKiBAcGF0aCBjaDE1LzE1LjEvMTUuMS4yLzE1LjEuMi4zL1MxNS4xLjIuM19BMl9UOS5qcwogKiBAZGVzY3JpcHRpb24gU3RyV2hpdGVTcGFjZUNoYXIgOjogUFMgKFUrMjAyOSkKICovCgovL0NIRUNLIzEKaWYgKHBhcnNlRmxvYXQoIlx1MjAyOTEuMSIpICE9PSBwYXJzZUZsb2F0KCIxLjEiKSkgewogICRFUlJPUignIzE6IHBhcnNlRmxvYXQoIlxcdTIwMjkxLjEiKSA9PT0gcGFyc2VGbG9hdCgiMS4xIikuIEFjdHVhbDogJyArIChwYXJzZUZsb2F0KCJcdTIwMjkxLjEiKSkpOwp9CgovL0NIRUNLIzIKaWYgKHBhcnNlRmxvYXQoIlx1MjAyOVx1MjAyOS0xLjEiKSAhPT0gcGFyc2VGbG9hdCgiLTEuMSIpKSB7CiAgJEVSUk9SKCcjMjogcGFyc2VGbG9hdCgiXFx1MjAyOVxcdTIwMjktMS4xIikgPT09IHBhcnNlRmxvYXQoIi0xLjEiKS4gQWN0dWFsOiAnICsgKHBhcnNlRmxvYXQoIlx1MjAyOVx1MjAyOS0xLjEiKSkpOwp9CgovL0NIRUNLIzMKaWYgKGlzTmFOKHBhcnNlRmxvYXQoIlx1MjAyOSIpKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzM6IHBhcnNlRmxvYXQoIlxcdTIwMjkiKSA9PT0gTm90LWEtTnVtYmVyLiBBY3R1YWw6ICcgKyAocGFyc2VGbG9hdCgiXHUyMDI5IikpKTsKfQoK","commentary":"Operator remove leading StrWhiteSpaceChar","description":"StrWhiteSpaceChar :: PS (U+2029)","path":"TestCases/ch15/15.1/15.1.2/15.1.2.3/S15.1.2.3_A2_T9.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBuZWl0aGVyIFJlc3VsdCgyKSBub3IgYW55IHByZWZpeCBvZiBSZXN1bHQoMikgc2F0aXNmaWVzIHRoZSBzeW50YXggb2YgYQogKiBTdHJEZWNpbWFsTGl0ZXJhbCAoc2VlIDkuMy4xKSwgcmV0dXJuIE5hTgogKgogKiBAcGF0aCBjaDE1LzE1LjEvMTUuMS4yLzE1LjEuMi4zL1MxNS4xLjIuM19BM19UMS5qcwogKiBAZGVzY3JpcHRpb24gcGFyc2VGbG9hdCgic29tZSBzdHJpbmciKSByZXR1cm4gTmFOCiAqLwoKLy9DSEVDSyMxCmlmIChpc05hTihwYXJzZUZsb2F0KCJzdHIiKSkgIT09IHRydWUpIHsKICAkRVJST1IoJyMxOiBwYXJzZUZsb2F0KCJzdHIiKSA9PT0gTm90LWEtTnVtYmVyLiBBY3R1YWw6ICcgKyAocGFyc2VGbG9hdCgic3RyIikpKTsKfQoKLy9DSEVDSyMyCmlmIChpc05hTihwYXJzZUZsb2F0KCJzMSIpKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzI6IHBhcnNlRmxvYXQoInMxIikgPT09IE5vdC1hLU51bWJlci4gQWN0dWFsOiAnICsgKHBhcnNlRmxvYXQoInMxIikpKTsKfQoKLy9DSEVDSyMzCmlmIChpc05hTihwYXJzZUZsb2F0KCIiKSkgIT09IHRydWUpIHsKICAkRVJST1IoJyMzOiBwYXJzZUZsb2F0KCIiKSA9PT0gTm90LWEtTnVtYmVyLiBBY3R1YWw6ICcgKyAocGFyc2VGbG9hdCgiIikpKTsKfQoKLy9DSEVDSyM0CmlmIChTdHJpbmcocGFyc2VGbG9hdCgic3RyIikpICE9PSAiTmFOIikgewogICRFUlJPUignIzQ6IFN0cmluZyhwYXJzZUZsb2F0KCJzdHIiKSkgPT09ICJOYU4iLiBBY3R1YWw6ICcgKyAoU3RyaW5nKHBhcnNlRmxvYXQoInN0ciIpKSkpOwp9CgovL0NIRUNLIzUKaWYgKFN0cmluZyhwYXJzZUZsb2F0KCJzMSIpKSAhPT0gIk5hTiIpIHsKICAkRVJST1IoJyM1OiBTdHJpbmcocGFyc2VGbG9hdCgiczEiKSkgPT09ICJOYU4iLiBBY3R1YWw6ICcgKyAoU3RyaW5nKHBhcnNlRmxvYXQoInMxIikpKSk7Cn0KCi8vQ0hFQ0sjNgppZiAoU3RyaW5nKHBhcnNlRmxvYXQoIiIpKSAhPT0gIk5hTiIpIHsKICAkRVJST1IoJyM2OiBTdHJpbmcocGFyc2VGbG9hdCgiIikpID09PSAiTmFOIi4gQWN0dWFsOiAnICsgKFN0cmluZyhwYXJzZUZsb2F0KCIiKSkpKTsKfQoKLy9DSEVDSyM3CmlmIChTdHJpbmcocGFyc2VGbG9hdCgiKyIpKSAhPT0gIk5hTiIpIHsKICAkRVJST1IoJyM3OiBTdHJpbmcocGFyc2VGbG9hdCgiKyIpKSA9PT0gIk5hTiIuIEFjdHVhbDogJyArIChTdHJpbmcocGFyc2VGbG9hdCgiKyIpKSkpOwp9Cgo=","commentary":"If neither Result(2) nor any prefix of Result(2) satisfies the syntax of a\nStrDecimalLiteral (see 9.3.1), return NaN","description":"parseFloat(\"some string\") return NaN","path":"TestCases/ch15/15.1/15.1.2/15.1.2.3/S15.1.2.3_A3_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBuZWl0aGVyIFJlc3VsdCgyKSBub3IgYW55IHByZWZpeCBvZiBSZXN1bHQoMikgc2F0aXNmaWVzIHRoZSBzeW50YXggb2YgYQogKiBTdHJEZWNpbWFsTGl0ZXJhbCAoc2VlIDkuMy4xKSwgcmV0dXJuIE5hTgogKgogKiBAcGF0aCBjaDE1LzE1LjEvMTUuMS4yLzE1LjEuMi4zL1MxNS4xLjIuM19BM19UMi5qcwogKiBAZGVzY3JpcHRpb24gcGFyc2VGbG9hdCgid3JvbmcgbnVtYmVyIGZvcm1hdCB3aXRoIEV4cG9uZW50SW5kaWNhdG9yIikgcmV0dXJuIE5hTgogKi8KCi8vQ0hFQ0sjMQppZiAoaXNOYU4ocGFyc2VGbG9hdCgiZTEiKSkgIT09IHRydWUpIHsKICAkRVJST1IoJyMxOiBwYXJzZUZsb2F0KCJlMSIpID09PSBOb3QtYS1OdW1iZXIuIEFjdHVhbDogJyArIChwYXJzZUZsb2F0KCJlMSIpKSk7Cn0KCi8vQ0hFQ0sjMgppZiAoaXNOYU4ocGFyc2VGbG9hdCgiZS0xIikpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMjogcGFyc2VGbG9hdCgiZS0xIikgPT09IE5vdC1hLU51bWJlci4gQWN0dWFsOiAnICsgKHBhcnNlRmxvYXQoImUtMSIpKSk7Cn0KCi8vQ0hFQ0sjMwppZiAoaXNOYU4ocGFyc2VGbG9hdCgiRSsxIikpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMzogcGFyc2VGbG9hdCgiRSsxIikgPT09IE5vdC1hLU51bWJlci4gQWN0dWFsOiAnICsgKHBhcnNlRmxvYXQoIkUrMSIpKSk7Cn0KCi8vQ0hFQ0sjNAppZiAoaXNOYU4ocGFyc2VGbG9hdCgiRTAiKSkgIT09IHRydWUpIHsKICAkRVJST1IoJyM0OiBwYXJzZUZsb2F0KCJFMCIpID09PSBOb3QtYS1OdW1iZXIuIEFjdHVhbDogJyArIChwYXJzZUZsb2F0KCJFMCIpKSk7Cn0KCi8vQ0hFQ0sjNQppZiAoU3RyaW5nKHBhcnNlRmxvYXQoImUxIikpICE9PSAiTmFOIikgewogICRFUlJPUignIzU6IFN0cmluZyhwYXJzZUZsb2F0KCJlMSIpKSA9PT0gIk5hTiIuIEFjdHVhbDogJyArIChTdHJpbmcocGFyc2VGbG9hdCgiZTEiKSkpKTsKfQoKLy9DSEVDSyM2CmlmIChTdHJpbmcocGFyc2VGbG9hdCgiZS0xIikpICE9PSAiTmFOIikgewogICRFUlJPUignIzY6IFN0cmluZyhwYXJzZUZsb2F0KCJlLTEiKSkgPT09ICJOYU4iLiBBY3R1YWw6ICcgKyAoU3RyaW5nKHBhcnNlRmxvYXQoImUtMSIpKSkpOwp9CgovL0NIRUNLIzcKaWYgKFN0cmluZyhwYXJzZUZsb2F0KCJFKzEiKSkgIT09ICJOYU4iKSB7CiAgJEVSUk9SKCcjNzM6IFN0cmluZyhwYXJzZUZsb2F0KCJFKzEiKSkgPT09ICJOYU4iLiBBY3R1YWw6ICcgKyAoU3RyaW5nKHBhcnNlRmxvYXQoIkUrMSIpKSkpOwp9CgovL0NIRUNLIzgKaWYgKFN0cmluZyhwYXJzZUZsb2F0KCJFMCIpKSAhPT0gIk5hTiIpIHsKICAkRVJST1IoJyM4OiBTdHJpbmcocGFyc2VGbG9hdCgiRTAiKSkgPT09ICJOYU4iLiBBY3R1YWw6ICcgKyAoU3RyaW5nKHBhcnNlRmxvYXQoIkUwIikpKSk7Cn0KCi8vQ0hFQ0sjOQppZiAoaXNOYU4ocGFyc2VGbG9hdCgiLS5lLTEiKSkgIT09IHRydWUpIHsKICAkRVJST1IoJyM5OiBwYXJzZUZsb2F0KCItLmUtMSIpID09PSBOb3QtYS1OdW1iZXIuIEFjdHVhbDogJyArIChwYXJzZUZsb2F0KCItLmUtMSIpKSk7Cn0KCi8vQ0hFQ0sjMTAKaWYgKGlzTmFOKHBhcnNlRmxvYXQoIi5lMSIpKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzEwOiBwYXJzZUZsb2F0KCIuZTEiKSA9PT0gTm90LWEtTnVtYmVyLiBBY3R1YWw6ICcgKyAocGFyc2VGbG9hdCgiLmUxIikpKTsKfQoK","commentary":"If neither Result(2) nor any prefix of Result(2) satisfies the syntax of a\nStrDecimalLiteral (see 9.3.1), return NaN","description":"parseFloat(\"wrong number format with ExponentIndicator\") return NaN","path":"TestCases/ch15/15.1/15.1.2/15.1.2.3/S15.1.2.3_A3_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBuZWl0aGVyIFJlc3VsdCgyKSBub3IgYW55IHByZWZpeCBvZiBSZXN1bHQoMikgc2F0aXNmaWVzIHRoZSBzeW50YXggb2YgYQogKiBTdHJEZWNpbWFsTGl0ZXJhbCAoc2VlIDkuMy4xKSwgcmV0dXJuIE5hTgogKgogKiBAcGF0aCBjaDE1LzE1LjEvMTUuMS4yLzE1LjEuMi4zL1MxNS4xLjIuM19BM19UMy5qcwogKiBAZGVzY3JpcHRpb24gcGFyc2VGbG9hdCgid3JvbmcgbnVtYnIgZm9ybWF0IikgcmV0dXJuIE5hTgogKi8KCi8vQ0hFQ0sjMQppZiAoaXNOYU4ocGFyc2VGbG9hdCgiLngiKSkgIT09IHRydWUpIHsKICAkRVJST1IoJyMxOiBwYXJzZUZsb2F0KCIueCIpID09PSBOb3QtYS1OdW1iZXIuIEFjdHVhbDogJyArIChwYXJzZUZsb2F0KCIueCIpKSk7Cn0KCi8vQ0hFQ0sjMgppZiAoaXNOYU4ocGFyc2VGbG9hdCgiK3giKSkgIT09IHRydWUpIHsKICAkRVJST1IoJyMyOiBwYXJzZUZsb2F0KCIreCIpID09PSBOb3QtYS1OdW1iZXIuIEFjdHVhbDogJyArIChwYXJzZUZsb2F0KCIreCIpKSk7Cn0KCi8vQ0hFQ0sjMwppZiAoaXNOYU4ocGFyc2VGbG9hdCgiaW5maW5pdHkiKSkgIT09IHRydWUpIHsKICAkRVJST1IoJyMzOiBwYXJzZUZsb2F0KCJpbmZpbml0eSIpID09PSBOb3QtYS1OdW1iZXIuIEFjdHVhbDogJyArIChwYXJzZUZsb2F0KCJpbmZpbml0eSIpKSk7Cn0KCi8vQ0hFQ0sjNAppZiAoaXNOYU4ocGFyc2VGbG9hdCgiQSIpKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzQ6IHBhcnNlRmxvYXQoIkEiKSA9PT0gTm90LWEtTnVtYmVyLiBBY3R1YWw6ICcgKyAocGFyc2VGbG9hdCgiQSIpKSk7Cn0KCi8vQ0hFQ0sjNQppZiAoU3RyaW5nKHBhcnNlRmxvYXQoIi5zIikpICE9PSAiTmFOIikgewogICRFUlJPUignIzU6IFN0cmluZyhwYXJzZUZsb2F0KCIucyIpKSA9PT0gIk5hTiIuIEFjdHVhbDogJyArIChTdHJpbmcocGFyc2VGbG9hdCgiLnMiKSkpKTsKfQoKLy9DSEVDSyM2CmlmIChTdHJpbmcocGFyc2VGbG9hdCgiK3giKSkgIT09ICJOYU4iKSB7CiAgJEVSUk9SKCcjNjogU3RyaW5nKHBhcnNlRmxvYXQoIit4IikpID09PSAiTmFOIi4gQWN0dWFsOiAnICsgKFN0cmluZyhwYXJzZUZsb2F0KCIreCIpKSkpOwp9CgovL0NIRUNLIzcKaWYgKFN0cmluZyhwYXJzZUZsb2F0KCJpbmZpbml0eSIpKSAhPT0gIk5hTiIpIHsKICAkRVJST1IoJyM3MzogU3RyaW5nKHBhcnNlRmxvYXQoImluZmluaXR5IikpID09PSAiTmFOIi4gQWN0dWFsOiAnICsgKFN0cmluZyhwYXJzZUZsb2F0KCJpbmZpbml0eSIpKSkpOwp9CgovL0NIRUNLIzgKaWYgKFN0cmluZyhwYXJzZUZsb2F0KCJBIikpICE9PSAiTmFOIikgewogICRFUlJPUignIzg6IFN0cmluZyhwYXJzZUZsb2F0KCJBIikpID09PSAiTmFOIi4gQWN0dWFsOiAnICsgKFN0cmluZyhwYXJzZUZsb2F0KCJBIikpKSk7Cn0KCg==","commentary":"If neither Result(2) nor any prefix of Result(2) satisfies the syntax of a\nStrDecimalLiteral (see 9.3.1), return NaN","description":"parseFloat(\"wrong numbr format\") return NaN","path":"TestCases/ch15/15.1/15.1.2/15.1.2.3/S15.1.2.3_A3_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBDb21wdXRlIHRoZSBsb25nZXN0IHByZWZpeCBvZiBSZXN1bHQoMiksIHdoaWNoIG1pZ2h0IGJlIFJlc3VsdCgyKSBpdHNlbGYsCiAqIHdoaWNoIHNhdGlzZmllcyB0aGUgc3ludGF4IG9mIGEgU3RyRGVjaW1hbExpdGVyYWwKICoKICogQHBhdGggY2gxNS8xNS4xLzE1LjEuMi8xNS4xLjIuMy9TMTUuMS4yLjNfQTRfVDEuanMKICogQGRlc2NyaXB0aW9uIFNvbWUgd3JvbmcgbnVtYmVyCiAqLwoKLy9DSEVDSyMxCmlmIChwYXJzZUZsb2F0KCIweCIpICE9PSAwKSB7CiAgJEVSUk9SKCcjMTogcGFyc2VGbG9hdCgiMHgiKSA9PT0gMC4gQWN0dWFsOiAnICsgKHBhcnNlRmxvYXQoIjB4IikpKTsKfQoKLy9DSEVDSyMyCmlmIChwYXJzZUZsb2F0KCIxMXgiKSAhPT0gMTEpIHsKICAkRVJST1IoJyMyOiBwYXJzZUZsb2F0KCIxMXgiKSA9PT0gMTEuIEFjdHVhbDogJyArIChwYXJzZUZsb2F0KCIxMXgiKSkpOwp9CgovL0NIRUNLIzMKaWYgKHBhcnNlRmxvYXQoIjExczEiKSAhPT0gMTEpIHsKICAkRVJST1IoJyMzOiBwYXJzZUZsb2F0KCIxMXMxIikgPT09IDExLiBBY3R1YWw6ICcgKyAocGFyc2VGbG9hdCgiMTFzMSIpKSk7Cn0KCi8vQ0hFQ0sjNAppZiAocGFyc2VGbG9hdCgiMTEuczEiKSAhPT0gMTEpIHsKICAkRVJST1IoJyM0OiBwYXJzZUZsb2F0KCIxMS5zMSIpID09PSAxMS4gQWN0dWFsOiAnICsgKHBhcnNlRmxvYXQoIjExLnMxIikpKTsKfQoKLy9DSEVDSyM1CmlmIChwYXJzZUZsb2F0KCIuMHMxIikgIT09IDApIHsKICAkRVJST1IoJyM1OiBwYXJzZUZsb2F0KCIuMHMxIikgPT09IDAuIEFjdHVhbDogJyArIChwYXJzZUZsb2F0KCIuMHMxIikpKTsKfQoKLy9DSEVDSyM2CmlmIChwYXJzZUZsb2F0KCIxLnMxIikgIT09IDEpIHsKICAkRVJST1IoJyM2OiBwYXJzZUZsb2F0KCIxLnMxIikgPT09IDEuIEFjdHVhbDogJyArIChwYXJzZUZsb2F0KCIxLnMxIikpKTsKfQoKLy9DSEVDSyM3CmlmIChwYXJzZUZsb2F0KCIxLi4xIikgIT09IDEpIHsKICAkRVJST1IoJyM3OiBwYXJzZUZsb2F0KCIxLi4xIikgPT09IDEuIEFjdHVhbDogJyArIChwYXJzZUZsb2F0KCIxLi4xIikpKTsKfQoKLy9DSEVDSyM4CmlmIChwYXJzZUZsb2F0KCIwLjEuMSIpICE9PSAwLjEpIHsKICAkRVJST1IoJyM4OiBwYXJzZUZsb2F0KCIwLjEuMSIpID09PSAwLjEuIEFjdHVhbDogJyArIChwYXJzZUZsb2F0KCIwLjEuMSIpKSk7Cn0KCi8vQ0hFQ0sjOQppZiAocGFyc2VGbG9hdCgiMC4gMSIpICE9PSAwKSB7CiAgJEVSUk9SKCcjOTogcGFyc2VGbG9hdCgiMC4gMSIpID09PSAwLiBBY3R1YWw6ICcgKyAocGFyc2VGbG9hdCgiMC4gMSIpKSk7Cn0KCg==","commentary":"Compute the longest prefix of Result(2), which might be Result(2) itself,\nwhich satisfies the syntax of a StrDecimalLiteral","description":"Some wrong number","path":"TestCases/ch15/15.1/15.1.2/15.1.2.3/S15.1.2.3_A4_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBDb21wdXRlIHRoZSBsb25nZXN0IHByZWZpeCBvZiBSZXN1bHQoMiksIHdoaWNoIG1pZ2h0IGJlIFJlc3VsdCgyKSBpdHNlbGYsCiAqIHdoaWNoIHNhdGlzZmllcyB0aGUgc3ludGF4IG9mIGEgU3RyRGVjaW1hbExpdGVyYWwKICoKICogQHBhdGggY2gxNS8xNS4xLzE1LjEuMi8xNS4xLjIuMy9TMTUuMS4yLjNfQTRfVDIuanMKICogQGRlc2NyaXB0aW9uIFdpdGggRXhwb25lbnRJbmRpY2F0b3IKICovCgovL0NIRUNLIzEKaWYgKHBhcnNlRmxvYXQoIjFleCIpICE9PSAxKSB7CiAgJEVSUk9SKCcjMTogcGFyc2VGbG9hdCgiMWV4IikgPT09IDEuIEFjdHVhbDogJyArIChwYXJzZUZsb2F0KCIxZXgiKSkpOwp9CgovL0NIRUNLIzIKaWYgKHBhcnNlRmxvYXQoIjFlLXgiKSAhPT0gMSkgewogICRFUlJPUignIzI6IHBhcnNlRmxvYXQoIjFlLXgiKSA9PT0gMS4gQWN0dWFsOiAnICsgKHBhcnNlRmxvYXQoIjFlLXgiKSkpOwp9CgovL0NIRUNLIzMKaWYgKHBhcnNlRmxvYXQoIjFlMXgiKSAhPT0gMTApIHsKICAkRVJST1IoJyMzOiBwYXJzZUZsb2F0KCIxZTF4IikgPT09IDEwLiBBY3R1YWw6ICcgKyAocGFyc2VGbG9hdCgiMWUxeCIpKSk7Cn0KCi8vQ0hFQ0sjNAppZiAocGFyc2VGbG9hdCgiMWUtMXgiKSAhPT0gMC4xKSB7CiAgJEVSUk9SKCcjNDogcGFyc2VGbG9hdCgiMWUtMXgiKSA9PT0gMC4xLiBBY3R1YWw6ICcgKyAocGFyc2VGbG9hdCgiMWUtMXgiKSkpOwp9CgovL0NIRUNLIzUKaWYgKHBhcnNlRmxvYXQoIjAuMWUtMXgiKSAhPT0gMC4wMSkgewogICRFUlJPUignIzU6IHBhcnNlRmxvYXQoIjAuMWUtMXgiKSA9PT0gMC4wMS4gQWN0dWFsOiAnICsgKHBhcnNlRmxvYXQoIjAuMWUtMXgiKSkpOwp9Cgo=","commentary":"Compute the longest prefix of Result(2), which might be Result(2) itself,\nwhich satisfies the syntax of a StrDecimalLiteral","description":"With ExponentIndicator","path":"TestCases/ch15/15.1/15.1.2/15.1.2.3/S15.1.2.3_A4_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBDb21wdXRlIHRoZSBsb25nZXN0IHByZWZpeCBvZiBSZXN1bHQoMiksIHdoaWNoIG1pZ2h0IGJlIFJlc3VsdCgyKSBpdHNlbGYsCiAqIHdoaWNoIHNhdGlzZmllcyB0aGUgc3ludGF4IG9mIGEgU3RyRGVjaW1hbExpdGVyYWwKICoKICogQHBhdGggY2gxNS8xNS4xLzE1LjEuMi8xNS4xLjIuMy9TMTUuMS4yLjNfQTRfVDMuanMKICogQGRlc2NyaXB0aW9uIFN0ckRlY2ltYWxMaXRlcmFsIG5vdCBjb250YWluIEhleEludGVnZXJMaXRlcmFsCiAqLwoKLy9DSEVDSyMwCmlmIChwYXJzZUZsb2F0KCIweDAiKSAhPT0gMCkgewogICRFUlJPUignIzA6IHBhcnNlRmxvYXQoIjB4MCIpID09PSAwLiBBY3R1YWw6ICcgKyAocGFyc2VGbG9hdCgiMHgwIikpKTsKfQoKLy9DSEVDSyMxCmlmIChwYXJzZUZsb2F0KCIweDEiKSAhPT0gMCkgewogICRFUlJPUignIzE6IHBhcnNlRmxvYXQoIjB4MSIpID09PSAwLiBBY3R1YWw6ICcgKyAocGFyc2VGbG9hdCgiMHgxIikpKTsKfQoKLy9DSEVDSyMyCmlmIChwYXJzZUZsb2F0KCIweDIiKSAhPT0gMCkgewogICRFUlJPUignIzI6IHBhcnNlRmxvYXQoIjB4MiIpID09PSAwLiBBY3R1YWw6ICcgKyAocGFyc2VGbG9hdCgiMHgyIikpKTsKfQoKLy9DSEVDSyMzCmlmIChwYXJzZUZsb2F0KCIweDMiKSAhPT0gMCkgewogICRFUlJPUignIzM6IHBhcnNlRmxvYXQoIjB4MyIpID09PSAwLiBBY3R1YWw6ICcgKyAocGFyc2VGbG9hdCgiMHgzIikpKTsKfQoKLy9DSEVDSyM0CmlmIChwYXJzZUZsb2F0KCIweDQiKSAhPT0gMCkgewogICRFUlJPUignIzQ6IHBhcnNlRmxvYXQoIjB4NCIpID09PSAwLiBBY3R1YWw6ICcgKyAocGFyc2VGbG9hdCgiMHg0IikpKTsKfQoKLy9DSEVDSyM1CmlmIChwYXJzZUZsb2F0KCIweDUiKSAhPT0gMCkgewogICRFUlJPUignIzU6IHBhcnNlRmxvYXQoIjB4NSIpID09PSAwLiBBY3R1YWw6ICcgKyAocGFyc2VGbG9hdCgiMHg1IikpKTsKfQoKLy9DSEVDSyM2CmlmIChwYXJzZUZsb2F0KCIweDYiKSAhPT0gMCkgewogICRFUlJPUignIzY6IHBhcnNlRmxvYXQoIjB4NiIpID09PSAwLiBBY3R1YWw6ICcgKyAocGFyc2VGbG9hdCgiMHg2IikpKTsKfQoKLy9DSEVDSyM3CmlmIChwYXJzZUZsb2F0KCIweDciKSAhPT0gMCkgewogICRFUlJPUignIzc6IHBhcnNlRmxvYXQoIjB4NyIpID09PSAwLiBBY3R1YWw6ICcgKyAocGFyc2VGbG9hdCgiMHg3IikpKTsKfQoKLy9DSEVDSyM4CmlmIChwYXJzZUZsb2F0KCIweDgiKSAhPT0gMCkgewogICRFUlJPUignIzg6IHBhcnNlRmxvYXQoIjB4OCIpID09PSAwLiBBY3R1YWw6ICcgKyAocGFyc2VGbG9hdCgiMHg4IikpKTsKfQoKLy9DSEVDSyM5CmlmIChwYXJzZUZsb2F0KCIweDkiKSAhPT0gMCkgewogICRFUlJPUignIzk6IHBhcnNlRmxvYXQoIjB4OSIpID09PSAwLiBBY3R1YWw6ICcgKyAocGFyc2VGbG9hdCgiMHg5IikpKTsKfQoKLy9DSEVDSyNBCmlmIChwYXJzZUZsb2F0KCIweEEiKSAhPT0gMCkgewogICRFUlJPUignI0E6IHBhcnNlRmxvYXQoIjB4QSIpID09PSAwLiBBY3R1YWw6ICcgKyAocGFyc2VGbG9hdCgiMHhBIikpKTsKfQoKLy9DSEVDSyNCCmlmIChwYXJzZUZsb2F0KCIweEIiKSAhPT0gMCkgewogICRFUlJPUignI0I6IHBhcnNlRmxvYXQoIjB4QiIpID09PSAwLiBBY3R1YWw6ICcgKyAocGFyc2VGbG9hdCgiMHhCIikpKTsKfQoKLy9DSEVDSyNDCmlmIChwYXJzZUZsb2F0KCIweEMiKSAhPT0gMCkgewogICRFUlJPUignI0M6IHBhcnNlRmxvYXQoIjB4QyIpID09PSAwLiBBY3R1YWw6ICcgKyAocGFyc2VGbG9hdCgiMHhDIikpKTsKfQoKLy9DSEVDSyNECmlmIChwYXJzZUZsb2F0KCIweEQiKSAhPT0gMCkgewogICRFUlJPUignI0Q6IHBhcnNlRmxvYXQoIjB4RCIpID09PSAwLiBBY3R1YWw6ICcgKyAocGFyc2VGbG9hdCgiMHhEIikpKTsKfQoKLy9DSEVDSyNFCmlmIChwYXJzZUZsb2F0KCIweEUiKSAhPT0gMCkgewogICRFUlJPUignI0U6IHBhcnNlRmxvYXQoIjB4RSIpID09PSAwLiBBY3R1YWw6ICcgKyAocGFyc2VGbG9hdCgiMHhFIikpKTsKfQoKLy9DSEVDSyNGCmlmIChwYXJzZUZsb2F0KCIweEYiKSAhPT0gMCkgewogICRFUlJPUignI0Y6IHBhcnNlRmxvYXQoIjB4RiIpID09PSAwLiBBY3R1YWw6ICcgKyAocGFyc2VGbG9hdCgiMHhGIikpKTsKfQoK","commentary":"Compute the longest prefix of Result(2), which might be Result(2) itself,\nwhich satisfies the syntax of a StrDecimalLiteral","description":"StrDecimalLiteral not contain HexIntegerLiteral","path":"TestCases/ch15/15.1/15.1.2/15.1.2.3/S15.1.2.3_A4_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBDb21wdXRlIHRoZSBsb25nZXN0IHByZWZpeCBvZiBSZXN1bHQoMiksIHdoaWNoIG1pZ2h0IGJlIFJlc3VsdCgyKSBpdHNlbGYsCiAqIHdoaWNoIHNhdGlzZmllcyB0aGUgc3ludGF4IG9mIGEgU3RyRGVjaW1hbExpdGVyYWwKICoKICogQHBhdGggY2gxNS8xNS4xLzE1LjEuMi8xNS4xLjIuMy9TMTUuMS4yLjNfQTRfVDQuanMKICogQGRlc2NyaXB0aW9uICJJbmZpbml0eSIrInNvbWUgc3RyaW5nIgogKi8KCi8vQ0hFQ0sjMQppZiAocGFyc2VGbG9hdCgiSW5maW5pdHkxIikgIT09IE51bWJlci5QT1NJVElWRV9JTkZJTklUWSkgewogICRFUlJPUignIzE6IHBhcnNlRmxvYXQoIkluZmluaXR5MSIpID09PSBOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkuIEFjdHVhbDogJyArIChwYXJzZUZsb2F0KCJJbmZpbml0eTEiKSkpOwp9CgovL0NIRUNLIzIKaWYgKHBhcnNlRmxvYXQoIkluZmluaXR5eCIpICE9PSBOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkpIHsKICAkRVJST1IoJyMyOiBwYXJzZUZsb2F0KCJJbmZpbml0eXgiKSA9PT0gTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZLiBBY3R1YWw6ICcgKyAocGFyc2VGbG9hdCgiSW5maW5pdHl4IikpKTsKfQoKLy9DSEVDSyMzCmlmIChwYXJzZUZsb2F0KCJJbmZpbml0eSsxIikgIT09IE51bWJlci5QT1NJVElWRV9JTkZJTklUWSkgewogICRFUlJPUignIzM6IHBhcnNlRmxvYXQoIkluZmluaXR5KzEiKSA9PT0gTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZLiBBY3R1YWw6ICcgKyAocGFyc2VGbG9hdCgiSW5maW5pdHkrMSIpKSk7Cn0KCg==","commentary":"Compute the longest prefix of Result(2), which might be Result(2) itself,\nwhich satisfies the syntax of a StrDecimalLiteral","description":"\"Infinity\"+\"some string\"","path":"TestCases/ch15/15.1/15.1.2/15.1.2.3/S15.1.2.3_A4_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBDb21wdXRlIHRoZSBsb25nZXN0IHByZWZpeCBvZiBSZXN1bHQoMiksIHdoaWNoIG1pZ2h0IGJlIFJlc3VsdCgyKSBpdHNlbGYsCiAqIHdoaWNoIHNhdGlzZmllcyB0aGUgc3ludGF4IG9mIGEgU3RyRGVjaW1hbExpdGVyYWwKICoKICogQHBhdGggY2gxNS8xNS4xLzE1LjEuMi8xNS4xLjIuMy9TMTUuMS4yLjNfQTRfVDUuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIERlY2ltYWxEaWdpdHMgLiBEZWNpbWFsRGlnaXRzX29wdCBFeHBvbmVudFBhcnRfb3B0CiAqLwoKLy9DSEVDSyMxCmlmIChwYXJzZUZsb2F0KCItMTEuc3RyaW5nIikgIT09IC0xMSkgewogICRFUlJPUignIzE6IHBhcnNlRmxvYXQoIi0xMS5zdHJpbmciKSA9PT0gLTExLiBBY3R1YWw6ICcgKyAocGFyc2VGbG9hdCgiLTExLnN0cmluZyIpKSk7Cn0KCi8vQ0hFQ0sjMgppZiAocGFyc2VGbG9hdCgiMDEuc3RyaW5nIikgIT09IDEpIHsKICAkRVJST1IoJyMyOiBwYXJzZUZsb2F0KCIwMS5zdHJpbmciKSA9PT0gMS4gQWN0dWFsOiAnICsgKHBhcnNlRmxvYXQoIjAxLnN0cmluZyIpKSk7Cn0KCi8vQ0hFQ0sjMwppZiAocGFyc2VGbG9hdCgiKzExLjFzdHJpbmciKSAhPT0gMTEuMSkgewogICRFUlJPUignIzM6IHBhcnNlRmxvYXQoIisxMS4xc3RyaW5nIikgPT09IDExLjEuIEFjdHVhbDogJyArIChwYXJzZUZsb2F0KCIrMTEuMXN0cmluZyIpKSk7Cn0KCi8vQ0hFQ0sjNAppZiAocGFyc2VGbG9hdCgiMDEuMXN0cmluZyIpICE9PSAxLjEpIHsKICAkRVJST1IoJyM0OiBwYXJzZUZsb2F0KCIwMS4xc3RyaW5nIikgPT09IDEuMS4gQWN0dWFsOiAnICsgKHBhcnNlRmxvYXQoIjAxLjFzdHJpbmciKSkpOwp9CgovL0NIRUNLIzUKaWYgKHBhcnNlRmxvYXQoIi0xMS5lLTFzdHJpbmciKSAhPT0gLTEuMSkgewogICRFUlJPUignIzU6IHBhcnNlRmxvYXQoIi0xMS5lLTFzdHJpbmciKSA9PT0gLTEuMS4gQWN0dWFsOiAnICsgKHBhcnNlRmxvYXQoIi0xMS5lLTFzdHJpbmciKSkpOwp9CgovL0NIRUNLIzYKaWYgKHBhcnNlRmxvYXQoIjAxLmUxc3RyaW5nIikgIT09IDEwKSB7CiAgJEVSUk9SKCcjNjogcGFyc2VGbG9hdCgiMDEuZTFzdHJpbmciKSA9PT0gMTAuIEFjdHVhbDogJyArIChwYXJzZUZsb2F0KCIwMS5lMXN0cmluZyIpKSk7Cn0KCi8vQ0hFQ0sjNwppZiAocGFyc2VGbG9hdCgiKzExLjIyZS0xc3RyaW5nIikgIT09IDEuMTIyKSB7CiAgJEVSUk9SKCcjNzogcGFyc2VGbG9hdCgiKzExLjIyZS0xc3RyaW5nIikgPT09IDEuMTIyLiBBY3R1YWw6ICcgKyAocGFyc2VGbG9hdCgiKzExLjIyZS0xc3RyaW5nIikpKTsKfQoKLy9DSEVDSyM4CmlmIChwYXJzZUZsb2F0KCIwMS4wMWUxc3RyaW5nIikgIT09IDEwLjEpIHsKICAkRVJST1IoJyM4OiBwYXJzZUZsb2F0KCIwMS4wMWUxc3RyaW5nIikgPT09IDEwLjEuIEFjdHVhbDogJyArIChwYXJzZUZsb2F0KCIwMS4wMWUxc3RyaW5nIikpKTsKfQoKLy9DSEVDSyM5CmlmIChwYXJzZUZsb2F0KCIwMDEuc3RyaW5nIikgIT09IDEpIHsKICAkRVJST1IoJyM5OiBwYXJzZUZsb2F0KCIwMDEuc3RyaW5nIikgPT09IDEuIEFjdHVhbDogJyArIChwYXJzZUZsb2F0KCIwMDEuc3RyaW5nIikpKTsKfQoKLy9DSEVDSyMxMAppZiAocGFyc2VGbG9hdCgiMDEwLnN0cmluZyIpICE9PSAxMCkgewogICRFUlJPUignIzEwOiBwYXJzZUZsb2F0KCIwMTAuc3RyaW5nIikgPT09IDEwLiBBY3R1YWw6ICcgKyAocGFyc2VGbG9hdCgiMDEwLnN0cmluZyIpKSk7Cn0KCg==","commentary":"Compute the longest prefix of Result(2), which might be Result(2) itself,\nwhich satisfies the syntax of a StrDecimalLiteral","description":"Checking DecimalDigits . DecimalDigits_opt ExponentPart_opt","path":"TestCases/ch15/15.1/15.1.2/15.1.2.3/S15.1.2.3_A4_T5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBDb21wdXRlIHRoZSBsb25nZXN0IHByZWZpeCBvZiBSZXN1bHQoMiksIHdoaWNoIG1pZ2h0IGJlIFJlc3VsdCgyKSBpdHNlbGYsCiAqIHdoaWNoIHNhdGlzZmllcyB0aGUgc3ludGF4IG9mIGEgU3RyRGVjaW1hbExpdGVyYWwKICoKICogQHBhdGggY2gxNS8xNS4xLzE1LjEuMi8xNS4xLjIuMy9TMTUuMS4yLjNfQTRfVDYuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIC4gRGVjaW1hbERpZ2l0cyBFeHBvbmVudFBhcnRfb3B0CiAqLwoKLy9DSEVDSyMxCmlmIChwYXJzZUZsb2F0KCIrLjFzdHJpbmciKSAhPT0gMC4xKSB7CiAgJEVSUk9SKCcjMTogcGFyc2VGbG9hdCgiKy4xc3RyaW5nIikgPT09IDAuMS4gQWN0dWFsOiAnICsgKHBhcnNlRmxvYXQoIisuMXN0cmluZyIpKSk7Cn0KCi8vQ0hFQ0sjMgppZiAocGFyc2VGbG9hdCgiLjAxc3RyaW5nIikgIT09IDAuMDEpIHsKICAkRVJST1IoJyMyOiBwYXJzZUZsb2F0KCIuMDFzdHJpbmciKSA9PT0gMC4wMS4gQWN0dWFsOiAnICsgKHBhcnNlRmxvYXQoIi4wMXN0cmluZyIpKSk7Cn0KCi8vQ0hFQ0sjMwppZiAocGFyc2VGbG9hdCgiKy4yMmUtMXN0cmluZyIpICE9PSAwLjAyMikgewogICRFUlJPUignIzM6IHBhcnNlRmxvYXQoIisuMjJlLTFzdHJpbmciKSA9PT0gMC4wMjIuIEFjdHVhbDogJyArIChwYXJzZUZsb2F0KCIrLjIyZS0xc3RyaW5nIikpKTsKfQoK","commentary":"Compute the longest prefix of Result(2), which might be Result(2) itself,\nwhich satisfies the syntax of a StrDecimalLiteral","description":"Checking . DecimalDigits ExponentPart_opt","path":"TestCases/ch15/15.1/15.1.2/15.1.2.3/S15.1.2.3_A4_T6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBDb21wdXRlIHRoZSBsb25nZXN0IHByZWZpeCBvZiBSZXN1bHQoMiksIHdoaWNoIG1pZ2h0IGJlIFJlc3VsdCgyKSBpdHNlbGYsCiAqIHdoaWNoIHNhdGlzZmllcyB0aGUgc3ludGF4IG9mIGEgU3RyRGVjaW1hbExpdGVyYWwKICoKICogQHBhdGggY2gxNS8xNS4xLzE1LjEuMi8xNS4xLjIuMy9TMTUuMS4yLjNfQTRfVDcuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIERlY2ltYWxEaWdpdHMgRXhwb25lbnRQYXJ0X29wdAogKi8KCi8vQ0hFQ0sjMQppZiAocGFyc2VGbG9hdCgiLTExc3RyaW5nIikgIT09IC0xMSkgewogICRFUlJPUignIzE6IHBhcnNlRmxvYXQoIi0xMXN0cmluZyIpID09PSAtMTEuIEFjdHVhbDogJyArIChwYXJzZUZsb2F0KCItMTFzdHJpbmciKSkpOwp9CgovL0NIRUNLIzIKaWYgKHBhcnNlRmxvYXQoIjAxc3RyaW5nIikgIT09IDEpIHsKICAkRVJST1IoJyMyOiBwYXJzZUZsb2F0KCIwMXN0cmluZyIpID09PSAxLiBBY3R1YWw6ICcgKyAocGFyc2VGbG9hdCgiMDFzdHJpbmciKSkpOwp9CgovL0NIRUNLIzMKaWYgKHBhcnNlRmxvYXQoIi0xMWUtMXN0cmluZyIpICE9PSAtMS4xKSB7CiAgJEVSUk9SKCcjMzogcGFyc2VGbG9hdCgiLTExZS0xc3RyaW5nIikgPT09IC0xLjEuIEFjdHVhbDogJyArIChwYXJzZUZsb2F0KCItMTFlLTFzdHJpbmciKSkpOwp9CgovL0NIRUNLIzQKaWYgKHBhcnNlRmxvYXQoIjAxZTFzdHJpbmciKSAhPT0gMTApIHsKICAkRVJST1IoJyM0OiBwYXJzZUZsb2F0KCIwMWUxc3RyaW5nIikgPT09IDEwLiBBY3R1YWw6ICcgKyAocGFyc2VGbG9hdCgiMDFlMXN0cmluZyIpKSk7Cn0KCi8vQ0hFQ0sjNQppZiAocGFyc2VGbG9hdCgiMDAxc3RyaW5nIikgIT09IDEpIHsKICAkRVJST1IoJyM1OiBwYXJzZUZsb2F0KCIwMDFzdHJpbmciKSA9PT0gMS4gQWN0dWFsOiAnICsgKHBhcnNlRmxvYXQoIjAwMXN0cmluZyIpKSk7Cn0KCi8vQ0hFQ0sjNgppZiAocGFyc2VGbG9hdCgiMWUwMDFzdHJpbmciKSAhPT0gMTApIHsKICAkRVJST1IoJyM2OiBwYXJzZUZsb2F0KCIxZTAwMXN0cmluZyIpID09PSAxMC4gQWN0dWFsOiAnICsgKHBhcnNlRmxvYXQoIjFlMDAxc3RyaW5nIikpKTsKfQoKLy9DSEVDSyM3CmlmIChwYXJzZUZsb2F0KCIwMTBzdHJpbmciKSAhPT0gMTApIHsKICAkRVJST1IoJyM3OiBwYXJzZUZsb2F0KCIwMTBzdHJpbmciKSA9PT0gMTAuIEFjdHVhbDogJyArIChwYXJzZUZsb2F0KCIwMTBzdHJpbmciKSkpOwp9Cgo=","commentary":"Compute the longest prefix of Result(2), which might be Result(2) itself,\nwhich satisfies the syntax of a StrDecimalLiteral","description":"Checking DecimalDigits ExponentPart_opt","path":"TestCases/ch15/15.1/15.1.2/15.1.2.3/S15.1.2.3_A4_T7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBSZXR1cm4gdGhlIG51bWJlciB2YWx1ZSBmb3IgdGhlIE1WIG9mIFJlc3VsdCg0KQogKgogKiBAcGF0aCBjaDE1LzE1LjEvMTUuMS4yLzE1LjEuMi4zL1MxNS4xLjIuM19BNV9UMS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgSW5maW5pdHkKICovCgovL0NIRUNLIzEKaWYgKHBhcnNlRmxvYXQoIkluZmluaXR5IikgIT09IE51bWJlci5QT1NJVElWRV9JTkZJTklUWSkgewogICRFUlJPUignIzE6IHBhcnNlRmxvYXQoIkluZmluaXR5IikgPT09IE51bWJlci5QT1NJVElWRV9JTkZJTklUWS4gQWN0dWFsOiAnICsgKHBhcnNlRmxvYXQoIkluZmluaXR5IikpKTsKfQoKLy9DSEVDSyMyCmlmIChwYXJzZUZsb2F0KCIrSW5maW5pdHkiKSAhPT0gTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZKSB7CiAgJEVSUk9SKCcjMjogcGFyc2VGbG9hdCgiK0luZmluaXR5IikgPT09IE51bWJlci5QT1NJVElWRV9JTkZJTklUWS4gQWN0dWFsOiAnICsgKHBhcnNlRmxvYXQoIitJbmZpbml0eSIpKSk7Cn0KCi8vQ0hFQ0sjMwppZiAocGFyc2VGbG9hdCgiLUluZmluaXR5IikgIT09IE51bWJlci5ORUdBVElWRV9JTkZJTklUWSkgewogICRFUlJPUignIzM6IHBhcnNlRmxvYXQoIi1JbmZpbml0eSIpID09PSBOdW1iZXIuTkVHQVRJVkVfSU5GSU5JVFkuIEFjdHVhbDogJyArIChwYXJzZUZsb2F0KCItSW5maW5pdHkiKSkpOwp9Cgo=","commentary":"Return the number value for the MV of Result(4)","description":"Checking Infinity","path":"TestCases/ch15/15.1/15.1.2/15.1.2.3/S15.1.2.3_A5_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBSZXR1cm4gdGhlIG51bWJlciB2YWx1ZSBmb3IgdGhlIE1WIG9mIFJlc3VsdCg0KQogKgogKiBAcGF0aCBjaDE1LzE1LjEvMTUuMS4yLzE1LjEuMi4zL1MxNS4xLjIuM19BNV9UMi5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgRGVjaW1hbERpZ2l0cyAuIERlY2ltYWxEaWdpdHNfb3B0IEV4cG9uZW50UGFydF9vcHQKICovCgovL0NIRUNLIzEKaWYgKHBhcnNlRmxvYXQoIi0xMS4iKSAhPT0gLTExKSB7CiAgJEVSUk9SKCcjMTogcGFyc2VGbG9hdCgiLTExLiIpID09PSAtMTEuIEFjdHVhbDogJyArIChwYXJzZUZsb2F0KCItMTEuIikpKTsKfQoKLy9DSEVDSyMyCmlmIChwYXJzZUZsb2F0KCIwMS4iKSAhPT0gMSkgewogICRFUlJPUignIzI6IHBhcnNlRmxvYXQoIjAxLiIpID09PSAxLiBBY3R1YWw6ICcgKyAocGFyc2VGbG9hdCgiMDEuIikpKTsKfQoKLy9DSEVDSyMzCmlmIChwYXJzZUZsb2F0KCIrMTEuMSIpICE9PSAxMS4xKSB7CiAgJEVSUk9SKCcjMzogcGFyc2VGbG9hdCgiKzExLjEiKSA9PT0gMTEuMS4gQWN0dWFsOiAnICsgKHBhcnNlRmxvYXQoIisxMS4xIikpKTsKfQoKLy9DSEVDSyM0CmlmIChwYXJzZUZsb2F0KCIwMS4xIikgIT09IDEuMSkgewogICRFUlJPUignIzQ6IHBhcnNlRmxvYXQoIjAxLjEiKSA9PT0gMS4xLiBBY3R1YWw6ICcgKyAocGFyc2VGbG9hdCgiMDEuMSIpKSk7Cn0KCi8vQ0hFQ0sjNQppZiAocGFyc2VGbG9hdCgiLTExLmUtMSIpICE9PSAtMS4xKSB7CiAgJEVSUk9SKCcjNTogcGFyc2VGbG9hdCgiLTExLmUtMSIpID09PSAtMS4xLiBBY3R1YWw6ICcgKyAocGFyc2VGbG9hdCgiLTExLmUtMSIpKSk7Cn0KCi8vQ0hFQ0sjNgppZiAocGFyc2VGbG9hdCgiMDEuZTEiKSAhPT0gMTApIHsKICAkRVJST1IoJyM2OiBwYXJzZUZsb2F0KCIwMS5lMSIpID09PSAxMC4gQWN0dWFsOiAnICsgKHBhcnNlRmxvYXQoIjAxLmUxIikpKTsKfQoKLy9DSEVDSyM3CmlmIChwYXJzZUZsb2F0KCIrMTEuMjJlLTEiKSAhPT0gMS4xMjIpIHsKICAkRVJST1IoJyM3OiBwYXJzZUZsb2F0KCIrMTEuMjJlLTEiKSA9PT0gMS4xMjIuIEFjdHVhbDogJyArIChwYXJzZUZsb2F0KCIrMTEuMjJlLTEiKSkpOwp9CgovL0NIRUNLIzgKaWYgKHBhcnNlRmxvYXQoIjAxLjAxZTEiKSAhPT0gMTAuMSkgewogICRFUlJPUignIzg6IHBhcnNlRmxvYXQoIjAxLjAxZTEiKSA9PT0gMTAuMS4gQWN0dWFsOiAnICsgKHBhcnNlRmxvYXQoIjAxLjAxZTEiKSkpOwp9CgovL0NIRUNLIzkKaWYgKHBhcnNlRmxvYXQoIjAwMS4iKSAhPT0gMSkgewogICRFUlJPUignIzk6IHBhcnNlRmxvYXQoIjAwMS4iKSA9PT0gMS4gQWN0dWFsOiAnICsgKHBhcnNlRmxvYXQoIjAwMS4iKSkpOwp9CgovL0NIRUNLIzEwCmlmIChwYXJzZUZsb2F0KCIwMTAuIikgIT09IDEwKSB7CiAgJEVSUk9SKCcjMTA6IHBhcnNlRmxvYXQoIjAxMC4iKSA9PT0gMTAuIEFjdHVhbDogJyArIChwYXJzZUZsb2F0KCIwMTAuIikpKTsKfQoK","commentary":"Return the number value for the MV of Result(4)","description":"Checking DecimalDigits . DecimalDigits_opt ExponentPart_opt","path":"TestCases/ch15/15.1/15.1.2/15.1.2.3/S15.1.2.3_A5_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBSZXR1cm4gdGhlIG51bWJlciB2YWx1ZSBmb3IgdGhlIE1WIG9mIFJlc3VsdCg0KQogKgogKiBAcGF0aCBjaDE1LzE1LjEvMTUuMS4yLzE1LjEuMi4zL1MxNS4xLjIuM19BNV9UMy5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgLiBEZWNpbWFsRGlnaXRzIEV4cG9uZW50UGFydF9vcHQKICovCgovL0NIRUNLIzEKaWYgKHBhcnNlRmxvYXQoIisuMSIpICE9PSAwLjEpIHsKICAkRVJST1IoJyMxOiBwYXJzZUZsb2F0KCIrLjEiKSA9PT0gMC4xLiBBY3R1YWw6ICcgKyAocGFyc2VGbG9hdCgiKy4xIikpKTsKfQoKLy9DSEVDSyMyCmlmIChwYXJzZUZsb2F0KCIuMDEiKSAhPT0gMC4wMSkgewogICRFUlJPUignIzI6IHBhcnNlRmxvYXQoIi4wMSIpID09PSAwLjAxLiBBY3R1YWw6ICcgKyAocGFyc2VGbG9hdCgiLjAxIikpKTsKfQoKLy9DSEVDSyMzCmlmIChwYXJzZUZsb2F0KCIrLjIyZS0xIikgIT09IDAuMDIyKSB7CiAgJEVSUk9SKCcjMzogcGFyc2VGbG9hdCgiKy4yMmUtMSIpID09PSAwLjAyMi4gQWN0dWFsOiAnICsgKHBhcnNlRmxvYXQoIisuMjJlLTEiKSkpOwp9Cgo=","commentary":"Return the number value for the MV of Result(4)","description":"Checking . DecimalDigits ExponentPart_opt","path":"TestCases/ch15/15.1/15.1.2/15.1.2.3/S15.1.2.3_A5_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBSZXR1cm4gdGhlIG51bWJlciB2YWx1ZSBmb3IgdGhlIE1WIG9mIFJlc3VsdCg0KQogKgogKiBAcGF0aCBjaDE1LzE1LjEvMTUuMS4yLzE1LjEuMi4zL1MxNS4xLjIuM19BNV9UNC5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgRGVjaW1hbERpZ2l0cyBFeHBvbmVudFBhcnRfb3B0CiAqLwoKLy9DSEVDSyMxCmlmIChwYXJzZUZsb2F0KCItMTEiKSAhPT0gLTExKSB7CiAgJEVSUk9SKCcjMTogcGFyc2VGbG9hdCgiLTExIikgPT09IC0xMS4gQWN0dWFsOiAnICsgKHBhcnNlRmxvYXQoIi0xMSIpKSk7Cn0KCi8vQ0hFQ0sjMgppZiAocGFyc2VGbG9hdCgiMDEiKSAhPT0gMSkgewogICRFUlJPUignIzI6IHBhcnNlRmxvYXQoIjAxIikgPT09IDEuIEFjdHVhbDogJyArIChwYXJzZUZsb2F0KCIwMSIpKSk7Cn0KCi8vQ0hFQ0sjMwppZiAocGFyc2VGbG9hdCgiLTExZS0xIikgIT09IC0xLjEpIHsKICAkRVJST1IoJyMzOiBwYXJzZUZsb2F0KCItMTFlLTEiKSA9PT0gLTEuMS4gQWN0dWFsOiAnICsgKHBhcnNlRmxvYXQoIi0xMWUtMSIpKSk7Cn0KCi8vQ0hFQ0sjNAppZiAocGFyc2VGbG9hdCgiMDFlMSIpICE9PSAxMCkgewogICRFUlJPUignIzQ6IHBhcnNlRmxvYXQoIjAxZTEiKSA9PT0gMTAuIEFjdHVhbDogJyArIChwYXJzZUZsb2F0KCIwMWUxIikpKTsKfQoKLy9DSEVDSyM1CmlmIChwYXJzZUZsb2F0KCIwMDEiKSAhPT0gMSkgewogICRFUlJPUignIzU6IHBhcnNlRmxvYXQoIjAwMSIpID09PSAxLiBBY3R1YWw6ICcgKyAocGFyc2VGbG9hdCgiMDAxIikpKTsKfQoKLy9DSEVDSyM2CmlmIChwYXJzZUZsb2F0KCIxZTAwMSIpICE9PSAxMCkgewogICRFUlJPUignIzY6IHBhcnNlRmxvYXQoIjFlMDAxIikgPT09IDEwLiBBY3R1YWw6ICcgKyAocGFyc2VGbG9hdCgiMWUwMDEiKSkpOwp9CgovL0NIRUNLIzcKaWYgKHBhcnNlRmxvYXQoIjAxMCIpICE9PSAxMCkgewogICRFUlJPUignIzc6IHBhcnNlRmxvYXQoIjAxMCIpID09PSAxMC4gQWN0dWFsOiAnICsgKHBhcnNlRmxvYXQoIjAxMCIpKSk7Cn0KCg==","commentary":"Return the number value for the MV of Result(4)","description":"Checking DecimalDigits ExponentPart_opt","path":"TestCases/ch15/15.1/15.1.2/15.1.2.3/S15.1.2.3_A5_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBwYXJzZUZsb2F0IG1heSBpbnRlcnByZXQgb25seSBhIGxlYWRpbmcgcG9ydGlvbiBvZiB0aGUgc3RyaW5nIGFzCiAqIGEgbnVtYmVyIHZhbHVlOyBpdCBpZ25vcmVzIGFueSBjaGFyYWN0ZXJzIHRoYXQgY2Fubm90IGJlIGludGVycHJldGVkIGFzIHBhcnQKICogb2YgdGhlIG5vdGF0aW9uIG9mIGFuIGRlY2ltYWwgbGl0ZXJhbCwgYW5kIG5vIGluZGljYXRpb24gaXMgZ2l2ZW4gdGhhdCBhbnkgc3VjaAogKiBjaGFyYWN0ZXJzIHdlcmUgaWdub3JlZC4KICoKICogQHBhdGggY2gxNS8xNS4xLzE1LjEuMi8xNS4xLjIuMy9TMTUuMS4yLjNfQTYuanMKICogQGRlc2NyaXB0aW9uIENvbXBsZXggdGVzdCB3aXRob3V0IGV2YWwKICovCgovL0NIRUNLCnZhciBlcnJvckNvdW50ID0gMDsKdmFyIGNvdW50ID0gMDsKdmFyIGluZGV4UDsKdmFyIGluZGV4TyA9IDA7CmZvciAodmFyIGluZGV4ID0gMDsgaW5kZXggPD0gNjU1MzU7IGluZGV4KyspIHsgIAogIGlmICgoaW5kZXggPCAweDAwMzApIHx8IChpbmRleCA+IDB4MDAzOSkpIHsgICAgCiAgICB2YXIgaGV4ID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4KTsKICAgIGlmIChwYXJzZUZsb2F0KCIwLjFlMSIgKyBTdHJpbmcuZnJvbUNoYXJDb2RlKGluZGV4KSkgIT09IDEpIHsgICAgICAgCiAgICAgIGlmIChpbmRleE8gPT09IDApIHsgCiAgICAgICAgaW5kZXhPID0gaW5kZXg7CiAgICAgIH0gZWxzZSB7CiAgICAgICAgaWYgKChpbmRleCAtIGluZGV4UCkgIT09IDEpIHsgICAgICAgICAgICAgCiAgICAgICAgICBpZiAoKGluZGV4UCAtIGluZGV4TykgIT09IDApIHsKICAgICAgICAgICAgdmFyIGhleFAgPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhQKTsKICAgICAgICAgICAgdmFyIGhleE8gPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhPKTsKICAgICAgICAgICAgJEVSUk9SKCcjJyArIGhleE8gKyAnLScgKyBoZXhQICsgJyAnKTsKICAgICAgICAgIH0gCiAgICAgICAgICBlbHNlIHsKICAgICAgICAgICAgdmFyIGhleFAgPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhQKTsKICAgICAgICAgICAgJEVSUk9SKCcjJyArIGhleFAgKyAnICcpOwogICAgICAgICAgfSAgCiAgICAgICAgICBpbmRleE8gPSBpbmRleDsKICAgICAgICB9ICAgICAgICAgCiAgICAgIH0KICAgICAgaW5kZXhQID0gaW5kZXg7CiAgICAgIGVycm9yQ291bnQrKzsgICAgCiAgICB9ICAgCiAgICBjb3VudCsrOwogIH0gIAp9CgppZiAoZXJyb3JDb3VudCA+IDApIHsKICBpZiAoKGluZGV4UCAtIGluZGV4TykgIT09IDApIHsKICAgIHZhciBoZXhQID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4UCk7CiAgICB2YXIgaGV4TyA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleE8pOwogICAgJEVSUk9SKCcjJyArIGhleE8gKyAnLScgKyBoZXhQICsgJyAnKTsKICB9IGVsc2UgewogICAgdmFyIGhleFAgPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhQKTsKICAgICRFUlJPUignIycgKyBoZXhQICsgJyAnKTsKICB9ICAgICAKICAkRVJST1IoJ1RvdGFsIGVycm9yOiAnICsgZXJyb3JDb3VudCArICcgYmFkIFVuaWNvZGUgY2hhcmFjdGVyIGluICcgKyBjb3VudCArICcgJyk7Cn0KCmZ1bmN0aW9uIGRlY2ltYWxUb0hleFN0cmluZyhuKSB7CiAgbiA9IE51bWJlcihuKTsKICB2YXIgaCA9ICIiOwogIGZvciAodmFyIGkgPSAzOyBpID49IDA7IGktLSkgewogICAgaWYgKG4gPj0gTWF0aC5wb3coMTYsIGkpKSB7CiAgICAgIHZhciB0ID0gTWF0aC5mbG9vcihuIC8gTWF0aC5wb3coMTYsIGkpKTsKICAgICAgbiAtPSB0ICogTWF0aC5wb3coMTYsIGkpOwogICAgICBpZiAoIHQgPj0gMTAgKSB7CiAgICAgICAgaWYgKCB0ID09IDEwICkgeyBoICs9ICJBIjsgfQogICAgICAgIGlmICggdCA9PSAxMSApIHsgaCArPSAiQiI7IH0KICAgICAgICBpZiAoIHQgPT0gMTIgKSB7IGggKz0gIkMiOyB9CiAgICAgICAgaWYgKCB0ID09IDEzICkgeyBoICs9ICJEIjsgfQogICAgICAgIGlmICggdCA9PSAxNCApIHsgaCArPSAiRSI7IH0KICAgICAgICBpZiAoIHQgPT0gMTUgKSB7IGggKz0gIkYiOyB9CiAgICAgIH0gZWxzZSB7CiAgICAgICAgaCArPSBTdHJpbmcodCk7CiAgICAgIH0KICAgIH0gZWxzZSB7CiAgICAgIGggKz0gIjAiOwogICAgfQogIH0KICByZXR1cm4gaDsKfQoK","commentary":"parseFloat may interpret only a leading portion of the string as\na number value; it ignores any characters that cannot be interpreted as part\nof the notation of an decimal literal, and no indication is given that any such\ncharacters were ignored.","description":"Complex test without eval","path":"TestCases/ch15/15.1/15.1.2/15.1.2.3/S15.1.2.3_A6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgbGVuZ3RoIHByb3BlcnR5IG9mIHBhcnNlRmxvYXQgaGFzIHRoZSBhdHRyaWJ1dGUgRG9udEVudW0KICoKICogQHBhdGggY2gxNS8xNS4xLzE1LjEuMi8xNS4xLjIuMy9TMTUuMS4yLjNfQTcuMS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgdXNlIHByb3BlcnR5SXNFbnVtZXJhYmxlLCBmb3ItaW4KICovCgovL0NIRUNLIzEKaWYgKHBhcnNlRmxvYXQucHJvcGVydHlJc0VudW1lcmFibGUoJ2xlbmd0aCcpICE9PSBmYWxzZSkgewogICRFUlJPUignIzE6IHBhcnNlRmxvYXQucHJvcGVydHlJc0VudW1lcmFibGUoXCdsZW5ndGhcJykgPT09IGZhbHNlLiBBY3R1YWw6ICcgKyAocGFyc2VGbG9hdC5wcm9wZXJ0eUlzRW51bWVyYWJsZSgnbGVuZ3RoJykpKTsKfQoKLy9DSEVDSyMyCnZhciByZXN1bHQgPSB0cnVlOwpmb3IgKHZhciBwIGluIHBhcnNlRmxvYXQpewogIGlmIChwID09PSAibGVuZ3RoIikgewogICAgcmVzdWx0ID0gZmFsc2U7CiAgfSAgCn0KCmlmIChyZXN1bHQgIT09IHRydWUpIHsKICAkRVJST1IoJyMyOiByZXN1bHQgPSB0cnVlOyBmb3IgKHAgaW4gcGFyc2VGbG9hdCkgeyBpZiAocCA9PT0gImxlbmd0aCIpIHJlc3VsdCA9IGZhbHNlOyB9ICByZXN1bHQgPT09IHRydWU7Jyk7Cn0KCg==","commentary":"The length property of parseFloat has the attribute DontEnum","description":"Checking use propertyIsEnumerable, for-in","path":"TestCases/ch15/15.1/15.1.2/15.1.2.3/S15.1.2.3_A7.1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgbGVuZ3RoIHByb3BlcnR5IG9mIHBhcnNlRmxvYXQgaGFzIHRoZSBhdHRyaWJ1dGUgRG9udERlbGV0ZQogKgogKiBAcGF0aCBjaDE1LzE1LjEvMTUuMS4yLzE1LjEuMi4zL1MxNS4xLjIuM19BNy4yLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyB1c2UgaGFzT3duUHJvcGVydHksIGRlbGV0ZQogKiBAbm9TdHJpY3QKICovCgovL0NIRUNLIzEKaWYgKHBhcnNlRmxvYXQuaGFzT3duUHJvcGVydHkoJ2xlbmd0aCcpICE9PSB0cnVlKSB7CiAgJEZBSUwoJyMxOiBwYXJzZUZsb2F0Lmhhc093blByb3BlcnR5KFwnbGVuZ3RoXCcpID09PSB0cnVlLiBBY3R1YWw6ICcgKyAocGFyc2VGbG9hdC5oYXNPd25Qcm9wZXJ0eSgnbGVuZ3RoJykpKTsKfQoKZGVsZXRlIHBhcnNlRmxvYXQubGVuZ3RoOwoKLy9DSEVDSyMyCmlmIChwYXJzZUZsb2F0Lmhhc093blByb3BlcnR5KCdsZW5ndGgnKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzI6IGRlbGV0ZSBwYXJzZUZsb2F0Lmxlbmd0aDsgcGFyc2VGbG9hdC5oYXNPd25Qcm9wZXJ0eShcJ2xlbmd0aFwnKSA9PT0gdHJ1ZS4gQWN0dWFsOiAnICsgKHBhcnNlRmxvYXQuaGFzT3duUHJvcGVydHkoJ2xlbmd0aCcpKSk7Cn0KCi8vQ0hFQ0sjMwppZiAocGFyc2VGbG9hdC5sZW5ndGggPT09IHVuZGVmaW5lZCkgewogICRFUlJPUignIzM6IGRlbGV0ZSBwYXJzZUZsb2F0Lmxlbmd0aDsgcGFyc2VGbG9hdC5sZW5ndGggIT09IHVuZGVmaW5lZCcpOwp9Cgo=","commentary":"The length property of parseFloat has the attribute DontDelete","description":"Checking use hasOwnProperty, delete","noStrict":"","path":"TestCases/ch15/15.1/15.1.2/15.1.2.3/S15.1.2.3_A7.2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgbGVuZ3RoIHByb3BlcnR5IG9mIHBhcnNlRmxvYXQgaGFzIHRoZSBhdHRyaWJ1dGUgUmVhZE9ubHkKICoKICogQHBhdGggY2gxNS8xNS4xLzE1LjEuMi8xNS4xLjIuMy9TMTUuMS4yLjNfQTcuMy5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgaWYgdmFyeWluZyB0aGUgbGVuZ3RoIHByb3BlcnR5IGZhaWxzCiAqIEBub1N0cmljdAogKi8KCi8vQ0hFQ0sjMQp2YXIgeCA9IHBhcnNlRmxvYXQubGVuZ3RoOwpwYXJzZUZsb2F0Lmxlbmd0aCA9IEluZmluaXR5OwppZiAocGFyc2VGbG9hdC5sZW5ndGggIT09IHgpIHsKICAkRVJST1IoJyMxOiB4ID0gcGFyc2VGbG9hdC5sZW5ndGg7IHBhcnNlRmxvYXQubGVuZ3RoID0gSW5maW5pdHk7IHBhcnNlRmxvYXQubGVuZ3RoID09PSB4LiBBY3R1YWw6ICcgKyAocGFyc2VGbG9hdC5sZW5ndGgpKTsKfQoKCg==","commentary":"The length property of parseFloat has the attribute ReadOnly","description":"Checking if varying the length property fails","noStrict":"","path":"TestCases/ch15/15.1/15.1.2/15.1.2.3/S15.1.2.3_A7.3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgbGVuZ3RoIHByb3BlcnR5IG9mIHBhcnNlRmxvYXQgaXMgMQogKgogKiBAcGF0aCBjaDE1LzE1LjEvMTUuMS4yLzE1LjEuMi4zL1MxNS4xLjIuM19BNy40LmpzCiAqIEBkZXNjcmlwdGlvbiBwYXJzZUZsb2F0Lmxlbmd0aCA9PT0gMQogKi8KCi8vQ0hFQ0sjMQppZiAocGFyc2VGbG9hdC5sZW5ndGggIT09IDEpIHsKICAkRVJST1IoJyMxOiBwYXJzZUZsb2F0Lmxlbmd0aCA9PT0gMS4gQWN0dWFsOiAnICsgKHBhcnNlRmxvYXQubGVuZ3RoKSk7Cn0gCgoK","commentary":"The length property of parseFloat is 1","description":"parseFloat.length === 1","path":"TestCases/ch15/15.1/15.1.2/15.1.2.3/S15.1.2.3_A7.4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcGFyc2VGbG9hdCBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZSBEb250RW51bQogKgogKiBAcGF0aCBjaDE1LzE1LjEvMTUuMS4yLzE1LjEuMi4zL1MxNS4xLjIuM19BNy41LmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyB1c2UgcHJvcGVydHlJc0VudW1lcmFibGUsIGZvci1pbgogKi8KCi8vQ0hFQ0sjMQppZiAodGhpcy5wcm9wZXJ0eUlzRW51bWVyYWJsZSgncGFyc2VGbG9hdCcpICE9PSBmYWxzZSkgewogICRFUlJPUignIzE6dGhpcy5wcm9wZXJ0eUlzRW51bWVyYWJsZShcJ3BhcnNlRmxvYXRcJykgPT09IGZhbHNlLiBBY3R1YWw6ICcgKyAodGhpcy5wcm9wZXJ0eUlzRW51bWVyYWJsZSgncGFyc2VGbG9hdCcpKSk7Cn0KCi8vQ0hFQ0sjMgp2YXIgcmVzdWx0ID0gdHJ1ZTsKZm9yICh2YXIgcCBpbiB0aGlzKXsKICBpZiAocCA9PT0gInBhcnNlRmxvYXQiKSB7CiAgICByZXN1bHQgPSBmYWxzZTsKICB9ICAKfQoKaWYgKHJlc3VsdCAhPT0gdHJ1ZSkgewogICRFUlJPUignIzI6IHJlc3VsdCA9IHRydWU7IGZvciAocCBpbiB0aGlzKSB7IGlmIChwID09PSAicGFyc2VGbG9hdCIpIHJlc3VsdCA9IGZhbHNlOyB9ICByZXN1bHQgPT09IHRydWU7Jyk7Cn0KCg==","commentary":"The parseFloat property has the attribute DontEnum","description":"Checking use propertyIsEnumerable, for-in","path":"TestCases/ch15/15.1/15.1.2/15.1.2.3/S15.1.2.3_A7.5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcGFyc2VGbG9hdCBwcm9wZXJ0eSBoYXMgbm90IHByb3RvdHlwZSBwcm9wZXJ0eQogKgogKiBAcGF0aCBjaDE1LzE1LjEvMTUuMS4yLzE1LjEuMi4zL1MxNS4xLjIuM19BNy42LmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBwYXJzZUZsb2F0LnByb3RvdHlwZQogKi8KCi8vQ0hFQ0sjMQppZiAocGFyc2VGbG9hdC5wcm90b3R5cGUgIT09IHVuZGVmaW5lZCkgewogICRFUlJPUignIzE6IHBhcnNlRmxvYXQucHJvdG90eXBlID09PSB1bmRlZmluZWQuIEFjdHVhbDogJyArIChwYXJzZUZsb2F0LnByb3RvdHlwZSkpOwp9Cgo=","commentary":"The parseFloat property has not prototype property","description":"Checking parseFloat.prototype","path":"TestCases/ch15/15.1/15.1.2/15.1.2.3/S15.1.2.3_A7.6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcGFyc2VGbG9hdCBwcm9wZXJ0eSBjYW4ndCBiZSB1c2VkIGFzIGNvbnN0cnVjdG9yCiAqCiAqIEBwYXRoIGNoMTUvMTUuMS8xNS4xLjIvMTUuMS4yLjMvUzE1LjEuMi4zX0E3LjcuanMKICogQGRlc2NyaXB0aW9uIElmIHByb3BlcnR5IGRvZXMgbm90IGltcGxlbWVudCB0aGUgaW50ZXJuYWwgW1tDb25zdHJ1Y3RdXSBtZXRob2QsIHRocm93IGEgVHlwZUVycm9yIGV4Y2VwdGlvbgogKi8KCi8vQ0hFQ0sjMQoKdHJ5IHsKICBuZXcgcGFyc2VGbG9hdCgpOwogICRFUlJPUignIzEuMTogbmV3IHBhcnNlRmxvYXQoKSB0aHJvdyBUeXBlRXJyb3IuIEFjdHVhbDogJyArIChuZXcgcGFyc2VGbG9hdCgpKSk7Cn0gY2F0Y2ggKGUpIHsKICBpZiAoKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpICE9PSB0cnVlKSB7CiAgICAkRVJST1IoJyMxLjI6IG5ldyBwYXJzZUZsb2F0KCkgdGhyb3cgVHlwZUVycm9yLiBBY3R1YWw6ICcgKyAoZSkpOwogIH0KfQoK","commentary":"The parseFloat property can't be used as constructor","description":"If property does not implement the internal [[Construct]] method, throw a TypeError exception","path":"TestCases/ch15/15.1/15.1.2/15.1.2.3/S15.1.2.3_A7.7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBpc05hTiBhcHBsaWVzIFRvTnVtYmVyIHRvIGl0cyBhcmd1bWVudCwgdGhlbiByZXR1cm4gdHJ1ZSBpZiB0aGUgcmVzdWx0IGlzIE5hTiwgYW5kIG90aGVyd2lzZSByZXR1cm4gZmFsc2UKICoKICogQHBhdGggY2gxNS8xNS4xLzE1LjEuMi8xNS4xLjIuNC9TMTUuMS4yLjRfQTFfVDEuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGFsbCBwcmltaXRpdmUKICovCgovLyBDSEVDSyMxCmlmICghKGlzTmFOKE5hTikgPT09IHRydWUpKSB7CgkkRVJST1IoJyMxOiBOYU4gPT09IE5vdC1hLU51bWJlci4gQWN0dWFsOiAnICsgKE5hTikpOyAKfQoKLy8gQ0hFQ0sjMgppZiAoIShpc05hTihOdW1iZXIuTmFOKSA9PT0gdHJ1ZSkpIHsKCSRFUlJPUignIzI6IE51bWJlci5OYU4gPT09IE5vdC1hLU51bWJlci4gQWN0dWFsOiAnICsgKE51bWJlci5OYU4pKTsgCn0KCi8vIENIRUNLIzMKaWYgKCEoaXNOYU4oTnVtYmVyKHZvaWQgMCkpID09PSB0cnVlKSkgewoJJEVSUk9SKCcjMzogTnVtYmVyKHZvaWQgMCkgPT09IE5vdC1hLU51bWJlci4gQWN0dWFsOiAnICsgKE51bWJlcih2b2lkIDApKSk7IAp9CgovLyBDSEVDSyM0CmlmICghKGlzTmFOKHZvaWQgMCkgPT09IHRydWUpKSB7CgkkRVJST1IoJyM0OiB2b2lkIDAgPT09IE5vdC1hLU51bWJlci4gQWN0dWFsOiAnICsgKHZvaWQgMCkpOyAKfQoKLy8gQ0hFQ0sjNQppZiAoIShpc05hTigic3RyaW5nIikgPT09IHRydWUpKSB7CgkkRVJST1IoJyM1OiAic3RyaW5nIiA9PT0gTm90LWEtTnVtYmVyLiBBY3R1YWw6ICcgKyAoInN0cmluZyIpKTsgCn0KCi8vIENIRUNLIzYKaWYgKGlzTmFOKE51bWJlci5QT1NJVElWRV9JTkZJTklUWSkgPT09IHRydWUpIHsKCSRFUlJPUignIzY6IE51bWJlci5QT1NJVElWRV9JTkZJTklUWSAhPT0gTm90LWEtTnVtYmVyJyk7IAp9CgovLyBDSEVDSyM3CmlmIChpc05hTihOdW1iZXIuTkVHQVRJVkVfSU5GSU5JVFkpID09PSB0cnVlKSB7CgkkRVJST1IoJyM3OiBOdW1iZXIuTkVHQVRJVkVfSU5GSU5JVFkgIT09IE5vdC1hLU51bWJlcicpOyAKfQoKLy8gQ0hFQ0sjOAppZiAoaXNOYU4oTnVtYmVyLk1BWF9WQUxVRSkgPT09IHRydWUpIHsKCSRFUlJPUignIzg6IE51bWJlci5NQVhfVkFMVUUgIT09IE5vdC1hLU51bWJlcicpOyAKfQoKLy8gQ0hFQ0sjOQppZiAoaXNOYU4oTnVtYmVyLk1JTl9WQUxVRSkgPT09IHRydWUpIHsKCSRFUlJPUignIzk6IE51bWJlci5NSU5fVkFMVUUgIT09IE5vdC1hLU51bWJlcicpOyAKfQoKLy8gQ0hFQ0sjMTAKaWYgKGlzTmFOKC0wKSA9PT0gdHJ1ZSkgewoJJEVSUk9SKCcjMTA6IC0wICE9PSBOb3QtYS1OdW1iZXInKTsgCn0KCi8vIENIRUNLIzExCmlmIChpc05hTih0cnVlKSA9PT0gdHJ1ZSkgewogICRFUlJPUignIzExOiB0cnVlICE9PSBOb3QtYS1OdW1iZXInKTsgCn0KCi8vIENIRUNLIzEyCmlmIChpc05hTigiMSIpID09PSB0cnVlKSB7CiAgJEVSUk9SKCcjMTI6ICIxIiAhPT0gTm90LWEtTnVtYmVyJyk7IAp9CgoKCgoK","commentary":"isNaN applies ToNumber to its argument, then return true if the result is NaN, and otherwise return false","description":"Checking all primitive","path":"TestCases/ch15/15.1/15.1.2/15.1.2.4/S15.1.2.4_A1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBpc05hTiBhcHBsaWVzIFRvTnVtYmVyIHRvIGl0cyBhcmd1bWVudCwgdGhlbiByZXR1cm4gdHJ1ZSBpZiB0aGUgcmVzdWx0IGlzIE5hTiwgYW5kIG90aGVyd2lzZSByZXR1cm4gZmFsc2UKICoKICogQHBhdGggY2gxNS8xNS4xLzE1LjEuMi8xNS4xLjIuNC9TMTUuMS4yLjRfQTFfVDIuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGFsbCBvYmplY3QKICovCgovLyBDSEVDSyMxCmlmICghKGlzTmFOKHt9KSA9PT0gdHJ1ZSkpIHsKCSRFUlJPUignIzE6IHt9ID09PSBOb3QtYS1OdW1iZXIuIEFjdHVhbDogJyArICh7fSkpOyAKfQoKLy8gQ0hFQ0sjMgppZiAoIShpc05hTihuZXcgU3RyaW5nKCJzdHJpbmciKSkgPT09IHRydWUpKSB7CgkkRVJST1IoJyMyOiBuZXcgU3RyaW5nKCJzdHJpbmciKSA9PT0gTm90LWEtTnVtYmVyLiBBY3R1YWw6ICcgKyAobmV3IFN0cmluZygic3RyaW5nIikpKTsgCn0KCi8vIENIRUNLIzMKaWYgKGlzTmFOKG5ldyBTdHJpbmcoIjEiKSkgPT09IHRydWUpIHsKICAkRVJST1IoJyMzOiBuZXcgU3RyaW5nKCIxIikgPT09IE5vdC1hLU51bWJlci4gQWN0dWFsOiAnICsgKG5ldyBTdHJpbmcoIjEiKSkpOyAKfQoKLy8gQ0hFQ0sjNAppZiAoaXNOYU4obmV3IE51bWJlcigxKSkgPT09IHRydWUpIHsKCSRFUlJPUignIzQ6IG5ldyBOdW1iZXIoMSkgIT09IE5vdC1hLU51bWJlcicpOyAKfQoKLy8gQ0hFQ0sjNQppZiAoIShpc05hTihuZXcgTnVtYmVyKE5hTikpID09PSB0cnVlKSkgewogICRFUlJPUignIzU6IG5ldyBOdW1iZXIoTmFOKSA9PT0gTm90LWEtTnVtYmVyLiBBY3R1YWw6ICcgKyAobmV3IE51bWJlcihOYU4pKSk7IAp9CgovLyBDSEVDSyM2CmlmIChpc05hTihuZXcgQm9vbGVhbih0cnVlKSkgPT09IHRydWUpIHsKICAkRVJST1IoJyM2OiBuZXcgQm9vbGVhbih0cnVlKSAhPT0gTm90LWEtTnVtYmVyJyk7IAp9CgoKCgoK","commentary":"isNaN applies ToNumber to its argument, then return true if the result is NaN, and otherwise return false","description":"Checking all object","path":"TestCases/ch15/15.1/15.1.2/15.1.2.4/S15.1.2.4_A1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgbGVuZ3RoIHByb3BlcnR5IG9mIGlzTmFOIGhhcyB0aGUgYXR0cmlidXRlIERvbnRFbnVtCiAqCiAqIEBwYXRoIGNoMTUvMTUuMS8xNS4xLjIvMTUuMS4yLjQvUzE1LjEuMi40X0EyLjEuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIHVzZSBwcm9wZXJ0eUlzRW51bWVyYWJsZSwgZm9yLWluCiAqLwoKLy9DSEVDSyMxCmlmIChpc05hTi5wcm9wZXJ0eUlzRW51bWVyYWJsZSgnbGVuZ3RoJykgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjMTogaXNOYU4ucHJvcGVydHlJc0VudW1lcmFibGUoXCdsZW5ndGhcJykgPT09IGZhbHNlLiBBY3R1YWw6ICcgKyAoaXNOYU4ucHJvcGVydHlJc0VudW1lcmFibGUoJ2xlbmd0aCcpKSk7Cn0KCi8vQ0hFQ0sjMgp2YXIgcmVzdWx0ID0gdHJ1ZTsKZm9yIChwIGluIGlzTmFOKXsKICBpZiAocCA9PT0gImxlbmd0aCIpIHsKICAgIHJlc3VsdCA9IGZhbHNlOwogIH0gIAp9CgppZiAocmVzdWx0ICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMjogcmVzdWx0ID0gdHJ1ZTsgZm9yIChwIGluIGlzTmFOKSB7IGlmIChwID09PSAibGVuZ3RoIikgcmVzdWx0ID0gZmFsc2U7IH0gIHJlc3VsdCA9PT0gdHJ1ZTsnKTsKfQoK","commentary":"The length property of isNaN has the attribute DontEnum","description":"Checking use propertyIsEnumerable, for-in","path":"TestCases/ch15/15.1/15.1.2/15.1.2.4/S15.1.2.4_A2.1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgbGVuZ3RoIHByb3BlcnR5IG9mIGlzTmFOIGhhcyB0aGUgYXR0cmlidXRlIERvbnREZWxldGUKICoKICogQHBhdGggY2gxNS8xNS4xLzE1LjEuMi8xNS4xLjIuNC9TMTUuMS4yLjRfQTIuMi5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgdXNlIGhhc093blByb3BlcnR5LCBkZWxldGUKICogQG5vU3RyaWN0CiAqLwoKLy9DSEVDSyMxCmlmIChpc05hTi5oYXNPd25Qcm9wZXJ0eSgnbGVuZ3RoJykgIT09IHRydWUpIHsKICAkRkFJTCgnIzE6IGlzTmFOLmhhc093blByb3BlcnR5KFwnbGVuZ3RoXCcpID09PSB0cnVlLiBBY3R1YWw6ICcgKyAoaXNOYU4uaGFzT3duUHJvcGVydHkoJ2xlbmd0aCcpKSk7Cn0KCmRlbGV0ZSBpc05hTi5sZW5ndGg7CgovL0NIRUNLIzIKaWYgKGlzTmFOLmhhc093blByb3BlcnR5KCdsZW5ndGgnKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzI6IGRlbGV0ZSBpc05hTi5sZW5ndGg7IGlzTmFOLmhhc093blByb3BlcnR5KFwnbGVuZ3RoXCcpID09PSB0cnVlLiBBY3R1YWw6ICcgKyAoaXNOYU4uaGFzT3duUHJvcGVydHkoJ2xlbmd0aCcpKSk7Cn0KCi8vQ0hFQ0sjMwppZiAoaXNOYU4ubGVuZ3RoID09PSB1bmRlZmluZWQpIHsKICAkRVJST1IoJyMzOiBkZWxldGUgaXNOYU4ubGVuZ3RoOyBpc05hTi5sZW5ndGggIT09IHVuZGVmaW5lZCcpOwp9Cgo=","commentary":"The length property of isNaN has the attribute DontDelete","description":"Checking use hasOwnProperty, delete","noStrict":"","path":"TestCases/ch15/15.1/15.1.2/15.1.2.4/S15.1.2.4_A2.2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgbGVuZ3RoIHByb3BlcnR5IG9mIGlzTmFOIGhhcyB0aGUgYXR0cmlidXRlIFJlYWRPbmx5CiAqCiAqIEBwYXRoIGNoMTUvMTUuMS8xNS4xLjIvMTUuMS4yLjQvUzE1LjEuMi40X0EyLjMuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIHZhcnlpbmcgdGhlIGxlbmd0aCBwcm9wZXJ0eSBmYWlscwogKiBAbm9TdHJpY3QKICovCgovL0NIRUNLIzEKeCA9IGlzTmFOLmxlbmd0aDsKaXNOYU4ubGVuZ3RoID0gSW5maW5pdHk7CmlmIChpc05hTi5sZW5ndGggIT09IHgpIHsKICAkRVJST1IoJyMxOiB4ID0gaXNOYU4ubGVuZ3RoOyBpc05hTi5sZW5ndGggPSBJbmZpbml0eTsgaXNOYU4ubGVuZ3RoID09PSB4LiBBY3R1YWw6ICcgKyAoaXNOYU4ubGVuZ3RoKSk7Cn0KCgo=","commentary":"The length property of isNaN has the attribute ReadOnly","description":"Checking if varying the length property fails","noStrict":"","path":"TestCases/ch15/15.1/15.1.2/15.1.2.4/S15.1.2.4_A2.3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgbGVuZ3RoIHByb3BlcnR5IG9mIGlzTmFOIGlzIDEKICoKICogQHBhdGggY2gxNS8xNS4xLzE1LjEuMi8xNS4xLjIuNC9TMTUuMS4yLjRfQTIuNC5qcwogKiBAZGVzY3JpcHRpb24gaXNOYU4ubGVuZ3RoID09PSAxCiAqLwoKLy9DSEVDSyMxCmlmIChpc05hTi5sZW5ndGggIT09IDEpIHsKICAkRVJST1IoJyMxOiBpc05hTi5sZW5ndGggPT09IDEuIEFjdHVhbDogJyArIChpc05hTi5sZW5ndGgpKTsKfSAKCgo=","commentary":"The length property of isNaN is 1","description":"isNaN.length === 1","path":"TestCases/ch15/15.1/15.1.2/15.1.2.4/S15.1.2.4_A2.4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgaXNOYU4gcHJvcGVydHkgaGFzIHRoZSBhdHRyaWJ1dGUgRG9udEVudW0KICoKICogQHBhdGggY2gxNS8xNS4xLzE1LjEuMi8xNS4xLjIuNC9TMTUuMS4yLjRfQTIuNS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgdXNlIHByb3BlcnR5SXNFbnVtZXJhYmxlLCBmb3ItaW4KICovCgovL0NIRUNLIzEKaWYgKHRoaXMucHJvcGVydHlJc0VudW1lcmFibGUoJ2lzTmFOJykgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjMTogdGhpcy5wcm9wZXJ0eUlzRW51bWVyYWJsZShcJ2lzTmFOXCcpID09PSBmYWxzZS4gQWN0dWFsOiAnICsgKHRoaXMucHJvcGVydHlJc0VudW1lcmFibGUoJ2lzTmFOJykpKTsKfQoKLy9DSEVDSyMyCnZhciByZXN1bHQgPSB0cnVlOwpmb3IgKHAgaW4gdGhpcyl7CiAgaWYgKHAgPT09ICJpc05hTiIpIHsKICAgIHJlc3VsdCA9IGZhbHNlOwogIH0gIAp9CgppZiAocmVzdWx0ICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMjogcmVzdWx0ID0gdHJ1ZTsgZm9yIChwIGluIHRoaXMpIHsgaWYgKHAgPT09ICJpc05hTiIpIHJlc3VsdCA9IGZhbHNlOyB9ICByZXN1bHQgPT09IHRydWU7Jyk7Cn0KCg==","commentary":"The isNaN property has the attribute DontEnum","description":"Checking use propertyIsEnumerable, for-in","path":"TestCases/ch15/15.1/15.1.2/15.1.2.4/S15.1.2.4_A2.5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgaXNOYU4gcHJvcGVydHkgaGFzIG5vdCBwcm90b3R5cGUgcHJvcGVydHkKICoKICogQHBhdGggY2gxNS8xNS4xLzE1LjEuMi8xNS4xLjIuNC9TMTUuMS4yLjRfQTIuNi5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgaXNOYU4ucHJvdG90eXBlCiAqLwoKLy9DSEVDSyMxCmlmIChpc05hTi5wcm90b3R5cGUgIT09IHVuZGVmaW5lZCkgewogICRFUlJPUignIzE6IGlzTmFOLnByb3RvdHlwZSA9PT0gdW5kZWZpbmVkLiBBY3R1YWw6ICcgKyAoaXNOYU4ucHJvdG90eXBlKSk7Cn0KCg==","commentary":"The isNaN property has not prototype property","description":"Checking isNaN.prototype","path":"TestCases/ch15/15.1/15.1.2/15.1.2.4/S15.1.2.4_A2.6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgaXNOYU4gcHJvcGVydHkgY2FuJ3QgYmUgdXNlZCBhcyBjb25zdHJ1Y3RvcgogKgogKiBAcGF0aCBjaDE1LzE1LjEvMTUuMS4yLzE1LjEuMi40L1MxNS4xLjIuNF9BMi43LmpzCiAqIEBkZXNjcmlwdGlvbiBJZiBwcm9wZXJ0eSBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGludGVybmFsIFtbQ29uc3RydWN0XV0gbWV0aG9kLCB0aHJvdyBhIFR5cGVFcnJvciBleGNlcHRpb24KICovCgovL0NIRUNLIzEKCnRyeSB7CiAgbmV3IGlzTmFOKCk7CiAgJEVSUk9SKCcjMS4xOiBuZXcgaXNOYU4oKSB0aHJvdyBUeXBlRXJyb3IuIEFjdHVhbDogJyArIChuZXcgaXNOYU4oKSkpOwp9IGNhdGNoIChlKSB7CiAgaWYgKChlIGluc3RhbmNlb2YgVHlwZUVycm9yKSAhPT0gdHJ1ZSkgewogICAgJEVSUk9SKCcjMS4yOiBuZXcgaXNOYU4oKSB0aHJvdyBUeXBlRXJyb3IuIEFjdHVhbDogJyArIChlKSk7CiAgfQp9Cgo=","commentary":"The isNaN property can't be used as constructor","description":"If property does not implement the internal [[Construct]] method, throw a TypeError exception","path":"TestCases/ch15/15.1/15.1.2/15.1.2.4/S15.1.2.4_A2.7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBpc0Zpbml0ZSBhcHBsaWVzIFRvTnVtYmVyIHRvIGl0cyBhcmd1bWVudCwgdGhlbiByZXR1cm4gZmFsc2UgaWYgdGhlIHJlc3VsdCBpcyBOYU4sICtJbmZpbml0eSwgLUluZmluaXR5LCBhbmQgb3RoZXJ3aXNlIHJldHVybiB0cnVlCiAqCiAqIEBwYXRoIGNoMTUvMTUuMS8xNS4xLjIvMTUuMS4yLjUvUzE1LjEuMi41X0ExX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBhbGwgcHJpbWl0aXZlCiAqLwoKLy8gQ0hFQ0sjMQppZiAoIShpc0Zpbml0ZShOYU4pID09PSBmYWxzZSkpIHsKICAkRVJST1IoJyMxOiBOYU4gPT09IE5vdC1hLUZpbml0ZS4gQWN0dWFsOiAnICsgKE5hTikpOyAKfQoKLy8gQ0hFQ0sjMgppZiAoIShpc0Zpbml0ZShOdW1iZXIuTmFOKSA9PT0gZmFsc2UpKSB7CiAgJEVSUk9SKCcjMjogTnVtYmVyLk5hTiA9PT0gTm90LWEtRmluaXRlLiBBY3R1YWw6ICcgKyAoTnVtYmVyLk5hTikpOyAKfQoKLy8gQ0hFQ0sjMwppZiAoIShpc0Zpbml0ZShOdW1iZXIodm9pZCAwKSkgPT09IGZhbHNlKSkgewogICRFUlJPUignIzM6IE51bWJlcih2b2lkIDApID09PSBOb3QtYS1GaW5pdGUuIEFjdHVhbDogJyArIChOdW1iZXIodm9pZCAwKSkpOyAKfQoKLy8gQ0hFQ0sjNAppZiAoIShpc0Zpbml0ZSh2b2lkIDApID09PSBmYWxzZSkpIHsKICAkRVJST1IoJyM0OiB2b2lkIDAgPT09IE5vdC1hLUZpbml0ZS4gQWN0dWFsOiAnICsgKHZvaWQgMCkpOyAKfQoKLy8gQ0hFQ0sjNQppZiAoIShpc0Zpbml0ZSgic3RyaW5nIikgPT09IGZhbHNlKSkgewogICRFUlJPUignIzU6ICJzdHJpbmciID09PSBOb3QtYS1GaW5pdGUuIEFjdHVhbDogJyArICgic3RyaW5nIikpOyAKfQoKLy8gQ0hFQ0sjNgppZiAoaXNGaW5pdGUoTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZKSAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyM2OiBOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkgPT09IE5vdC1hLUZpbml0ZS4gQWN0dWFsOiAnICsgKE51bWJlci5QT1NJVElWRV9JTkZJTklUWSkpOyAKfQoKLy8gQ0hFQ0sjNwppZiAoaXNGaW5pdGUoTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZKSAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyM3OiBOdW1iZXIuTkVHQVRJVkVfSU5GSU5JVFkgPT09IE5vdC1hLUZpbml0ZS4gQWN0dWFsOiAnICsgKE51bWJlci5ORUdBVElWRV9JTkZJTklUWSkpOyAKfQoKLy8gQ0hFQ0sjOAppZiAoaXNGaW5pdGUoTnVtYmVyLk1BWF9WQUxVRSkgPT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjODogTnVtYmVyLk1BWF9WQUxVRSAhPT0gTm90LWEtRmluaXRlJyk7IAp9CgovLyBDSEVDSyM5CmlmIChpc0Zpbml0ZShOdW1iZXIuTUlOX1ZBTFVFKSA9PT0gZmFsc2UpIHsKICAkRVJST1IoJyM5OiBOdW1iZXIuTUlOX1ZBTFVFICE9PSBOb3QtYS1GaW5pdGUnKTsgCn0KCi8vIENIRUNLIzEwCmlmIChpc0Zpbml0ZSgtMCkgPT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjMTA6IC0wICE9PSBOb3QtYS1GaW5pdGUnKTsgCn0KCi8vIENIRUNLIzExCmlmIChpc0Zpbml0ZShmYWxzZSkgPT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjMTE6IGZhbHNlICE9PSBOb3QtYS1GaW5pdGUnKTsgCn0KCi8vIENIRUNLIzEyCmlmIChpc0Zpbml0ZSgiMSIpID09PSBmYWxzZSkgewogICRFUlJPUignIzEyOiAiMSIgIT09IE5vdC1hLUZpbml0ZScpOyAKfQoK","commentary":"isFinite applies ToNumber to its argument, then return false if the result is NaN, +Infinity, -Infinity, and otherwise return true","description":"Checking all primitive","path":"TestCases/ch15/15.1/15.1.2/15.1.2.5/S15.1.2.5_A1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBpc0Zpbml0ZSBhcHBsaWVzIFRvTnVtYmVyIHRvIGl0cyBhcmd1bWVudCwgdGhlbiByZXR1cm4gZmFsc2UgaWYgdGhlIHJlc3VsdCBpcyBOYU4sICtJbmZpbml0eSwgLUluZmluaXR5LCBhbmQgb3RoZXJ3aXNlIHJldHVybiB0cnVlCiAqCiAqIEBwYXRoIGNoMTUvMTUuMS8xNS4xLjIvMTUuMS4yLjUvUzE1LjEuMi41X0ExX1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBhbGwgb2JqZWN0CiAqLwoKLy8gQ0hFQ0sjMQppZiAoIShpc0Zpbml0ZSh7fSkgPT09IGZhbHNlKSkgewogICRFUlJPUignIzE6IHt9ID09PSBOb3QtYS1GaW5pdGUuIEFjdHVhbDogJyArICh7fSkpOyAKfQoKLy8gQ0hFQ0sjMgppZiAoIShpc0Zpbml0ZShuZXcgU3RyaW5nKCJzdHJpbmciKSkgPT09IGZhbHNlKSkgewogICRFUlJPUignIzI6IG5ldyBTdHJpbmcoInN0cmluZyIpID09PSBOb3QtYS1GaW5pdGUuIEFjdHVhbDogJyArIChuZXcgU3RyaW5nKCJzdHJpbmciKSkpOyAKfQoKLy8gQ0hFQ0sjMwppZiAoaXNGaW5pdGUobmV3IFN0cmluZygiMSIpKSA9PT0gZmFsc2UpIHsKICAkRVJST1IoJyMzOiBuZXcgU3RyaW5nKCIxIikgPT09IE5vdC1hLUZpbml0ZS4gQWN0dWFsOiAnICsgKG5ldyBTdHJpbmcoIjEiKSkpOyAKfQoKLy8gQ0hFQ0sjNAppZiAoaXNGaW5pdGUobmV3IE51bWJlcigxKSkgPT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjNDogbmV3IE51bWJlcigxKSAhPT0gTm90LWEtRmluaXRlJyk7IAp9CgovLyBDSEVDSyM1CmlmICghKGlzRmluaXRlKG5ldyBOdW1iZXIoTmFOKSkgPT09IGZhbHNlKSkgewogICRFUlJPUignIzU6IG5ldyBOdW1iZXIoTmFOKSA9PT0gTm90LWEtRmluaXRlLiBBY3R1YWw6ICcgKyAobmV3IE51bWJlcihOYU4pKSk7IAp9CgovLyBDSEVDSyM2CmlmIChpc0Zpbml0ZShuZXcgQm9vbGVhbih0cnVlKSkgPT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjNjogbmV3IEJvb2xlYW4odHJ1ZSkgIT09IE5vdC1hLUZpbml0ZScpOyAKfQoK","commentary":"isFinite applies ToNumber to its argument, then return false if the result is NaN, +Infinity, -Infinity, and otherwise return true","description":"Checking all object","path":"TestCases/ch15/15.1/15.1.2/15.1.2.5/S15.1.2.5_A1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgbGVuZ3RoIHByb3BlcnR5IG9mIGlzRmluaXRlIGhhcyB0aGUgYXR0cmlidXRlIERvbnRFbnVtCiAqCiAqIEBwYXRoIGNoMTUvMTUuMS8xNS4xLjIvMTUuMS4yLjUvUzE1LjEuMi41X0EyLjEuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIHVzZSBwcm9wZXJ0eUlzRW51bWVyYWJsZSwgZm9yLWluCiAqLwoKLy9DSEVDSyMxCmlmIChpc0Zpbml0ZS5wcm9wZXJ0eUlzRW51bWVyYWJsZSgnbGVuZ3RoJykgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjMTogaXNGaW5pdGUucHJvcGVydHlJc0VudW1lcmFibGUoXCdsZW5ndGhcJykgPT09IGZhbHNlLiBBY3R1YWw6ICcgKyAoaXNGaW5pdGUucHJvcGVydHlJc0VudW1lcmFibGUoJ2xlbmd0aCcpKSk7Cn0KCi8vQ0hFQ0sjMgp2YXIgcmVzdWx0ID0gdHJ1ZTsKZm9yIChwIGluIGlzRmluaXRlKXsKICBpZiAocCA9PT0gImxlbmd0aCIpIHsKICAgIHJlc3VsdCA9IGZhbHNlOwogIH0gIAp9CgppZiAocmVzdWx0ICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMjogcmVzdWx0ID0gdHJ1ZTsgZm9yIChwIGluIGlzRmluaXRlKSB7IGlmIChwID09PSAibGVuZ3RoIikgcmVzdWx0ID0gZmFsc2U7IH0gIHJlc3VsdCA9PT0gdHJ1ZTsnKTsKfQoK","commentary":"The length property of isFinite has the attribute DontEnum","description":"Checking use propertyIsEnumerable, for-in","path":"TestCases/ch15/15.1/15.1.2/15.1.2.5/S15.1.2.5_A2.1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgbGVuZ3RoIHByb3BlcnR5IG9mIGlzRmluaXRlIGhhcyB0aGUgYXR0cmlidXRlIERvbnREZWxldGUKICoKICogQHBhdGggY2gxNS8xNS4xLzE1LjEuMi8xNS4xLjIuNS9TMTUuMS4yLjVfQTIuMi5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgdXNlIGhhc093blByb3BlcnR5LCBkZWxldGUKICogQG5vU3RyaWN0CiAqLwoKLy9DSEVDSyMxCmlmIChpc0Zpbml0ZS5oYXNPd25Qcm9wZXJ0eSgnbGVuZ3RoJykgIT09IHRydWUpIHsKICAkRkFJTCgnIzE6IGlzRmluaXRlLmhhc093blByb3BlcnR5KFwnbGVuZ3RoXCcpID09PSB0cnVlLiBBY3R1YWw6ICcgKyAoaXNGaW5pdGUuaGFzT3duUHJvcGVydHkoJ2xlbmd0aCcpKSk7Cn0KCmRlbGV0ZSBpc0Zpbml0ZS5sZW5ndGg7CgovL0NIRUNLIzIKaWYgKGlzRmluaXRlLmhhc093blByb3BlcnR5KCdsZW5ndGgnKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzI6IGRlbGV0ZSBpc0Zpbml0ZS5sZW5ndGg7IGlzRmluaXRlLmhhc093blByb3BlcnR5KFwnbGVuZ3RoXCcpID09PSB0cnVlLiBBY3R1YWw6ICcgKyAoaXNGaW5pdGUuaGFzT3duUHJvcGVydHkoJ2xlbmd0aCcpKSk7Cn0KCi8vQ0hFQ0sjMwppZiAoaXNGaW5pdGUubGVuZ3RoID09PSB1bmRlZmluZWQpIHsKICAkRVJST1IoJyMzOiBkZWxldGUgaXNGaW5pdGUubGVuZ3RoOyBpc0Zpbml0ZS5sZW5ndGggIT09IHVuZGVmaW5lZCcpOwp9Cgo=","commentary":"The length property of isFinite has the attribute DontDelete","description":"Checking use hasOwnProperty, delete","noStrict":"","path":"TestCases/ch15/15.1/15.1.2/15.1.2.5/S15.1.2.5_A2.2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgbGVuZ3RoIHByb3BlcnR5IG9mIGlzRmluaXRlIGhhcyB0aGUgYXR0cmlidXRlIFJlYWRPbmx5CiAqCiAqIEBwYXRoIGNoMTUvMTUuMS8xNS4xLjIvMTUuMS4yLjUvUzE1LjEuMi41X0EyLjMuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIHZhcnlpbmcgdGhlIGxlbmd0aCBwcm9wZXJ0eSBmYWlscwogKiBAbm9TdHJpY3QKICovCgovL0NIRUNLIzEKeCA9IGlzRmluaXRlLmxlbmd0aDsKaXNGaW5pdGUubGVuZ3RoID0gSW5maW5pdHk7CmlmIChpc0Zpbml0ZS5sZW5ndGggIT09IHgpIHsKICAkRVJST1IoJyMxOiB4ID0gaXNGaW5pdGUubGVuZ3RoOyBpc0Zpbml0ZS5sZW5ndGggPSBJbmZpbml0eTsgaXNGaW5pdGUubGVuZ3RoID09PSB4LiBBY3R1YWw6ICcgKyAoaXNGaW5pdGUubGVuZ3RoKSk7Cn0KCgo=","commentary":"The length property of isFinite has the attribute ReadOnly","description":"Checking if varying the length property fails","noStrict":"","path":"TestCases/ch15/15.1/15.1.2/15.1.2.5/S15.1.2.5_A2.3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgbGVuZ3RoIHByb3BlcnR5IG9mIGlzRmluaXRlIGlzIDEKICoKICogQHBhdGggY2gxNS8xNS4xLzE1LjEuMi8xNS4xLjIuNS9TMTUuMS4yLjVfQTIuNC5qcwogKiBAZGVzY3JpcHRpb24gaXNGaW5pdGUubGVuZ3RoID09PSAxCiAqLwoKLy9DSEVDSyMxCmlmIChpc0Zpbml0ZS5sZW5ndGggIT09IDEpIHsKICAkRVJST1IoJyMxOiBpc0Zpbml0ZS5sZW5ndGggPT09IDEuIEFjdHVhbDogJyArIChpc0Zpbml0ZS5sZW5ndGgpKTsKfSAKCgo=","commentary":"The length property of isFinite is 1","description":"isFinite.length === 1","path":"TestCases/ch15/15.1/15.1.2/15.1.2.5/S15.1.2.5_A2.4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgaXNGaW5pdGUgcHJvcGVydHkgaGFzIHRoZSBhdHRyaWJ1dGUgRG9udEVudW0KICoKICogQHBhdGggY2gxNS8xNS4xLzE1LjEuMi8xNS4xLjIuNS9TMTUuMS4yLjVfQTIuNS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgdXNlIHByb3BlcnR5SXNFbnVtZXJhYmxlLCBmb3ItaW4KICovCgovL0NIRUNLIzEKaWYgKHRoaXMucHJvcGVydHlJc0VudW1lcmFibGUoJ2lzRmluaXRlJykgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjMTogdGhpcy5wcm9wZXJ0eUlzRW51bWVyYWJsZShcJ2lzRmluaXRlXCcpID09PSBmYWxzZS4gQWN0dWFsOiAnICsgKHRoaXMucHJvcGVydHlJc0VudW1lcmFibGUoJ2lzRmluaXRlJykpKTsKfQoKLy9DSEVDSyMyCnZhciByZXN1bHQgPSB0cnVlOwpmb3IgKHAgaW4gdGhpcyl7CiAgaWYgKHAgPT09ICJpc0Zpbml0ZSIpIHsKICAgIHJlc3VsdCA9IGZhbHNlOwogIH0gIAp9CgppZiAocmVzdWx0ICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMjogcmVzdWx0ID0gdHJ1ZTsgZm9yIChwIGluIHRoaXMpIHsgaWYgKHAgPT09ICJpc0Zpbml0ZSIpIHJlc3VsdCA9IGZhbHNlOyB9ICByZXN1bHQgPT09IHRydWU7Jyk7Cn0KCg==","commentary":"The isFinite property has the attribute DontEnum","description":"Checking use propertyIsEnumerable, for-in","path":"TestCases/ch15/15.1/15.1.2/15.1.2.5/S15.1.2.5_A2.5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgaXNGaW5pdGUgcHJvcGVydHkgaGFzIG5vdCBwcm90b3R5cGUgcHJvcGVydHkKICoKICogQHBhdGggY2gxNS8xNS4xLzE1LjEuMi8xNS4xLjIuNS9TMTUuMS4yLjVfQTIuNi5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgaXNGaW5pdC5wcm90b3R5cGUKICovCgovL0NIRUNLIzEKaWYgKGlzRmluaXRlLnByb3RvdHlwZSAhPT0gdW5kZWZpbmVkKSB7CiAgJEVSUk9SKCcjMTogaXNGaW5pdGUucHJvdG90eXBlID09PSB1bmRlZmluZWQuIEFjdHVhbDogJyArIChpc0Zpbml0ZS5wcm90b3R5cGUpKTsKfQoK","commentary":"The isFinite property has not prototype property","description":"Checking isFinit.prototype","path":"TestCases/ch15/15.1/15.1.2/15.1.2.5/S15.1.2.5_A2.6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgaXNGaW5pdGUgcHJvcGVydHkgY2FuJ3QgYmUgdXNlZCBhcyBjb25zdHJ1Y3RvcgogKgogKiBAcGF0aCBjaDE1LzE1LjEvMTUuMS4yLzE1LjEuMi41L1MxNS4xLjIuNV9BMi43LmpzCiAqIEBkZXNjcmlwdGlvbiBJZiBwcm9wZXJ0eSBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGludGVybmFsIFtbQ29uc3RydWN0XV0gbWV0aG9kLCB0aHJvdyBhIFR5cGVFcnJvciBleGNlcHRpb24KICovCgovL0NIRUNLIzEKCnRyeSB7CiAgbmV3IGlzRmluaXRlKCk7CiAgJEVSUk9SKCcjMS4xOiBuZXcgaXNGaW5pdGUoKSB0aHJvdyBUeXBlRXJyb3IuIEFjdHVhbDogJyArIChuZXcgaXNGaW5pdGUoKSkpOwp9IGNhdGNoIChlKSB7CiAgaWYgKChlIGluc3RhbmNlb2YgVHlwZUVycm9yKSAhPT0gdHJ1ZSkgewogICAgJEVSUk9SKCcjMS4yOiBuZXcgaXNGaW5pdGUoKSB0aHJvdyBUeXBlRXJyb3IuIEFjdHVhbDogJyArIChlKSk7CiAgfQp9Cgo=","commentary":"The isFinite property can't be used as constructor","description":"If property does not implement the internal [[Construct]] method, throw a TypeError exception","path":"TestCases/ch15/15.1/15.1.2/15.1.2.5/S15.1.2.5_A2.7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBCID0gMTEweHh4eHggKG4gPSAyKSBhbmQgc3RyaW5nLmNoYXJBdChrICsgNCkgYW5kCiAqIHN0cmluZy5jaGFyQXQoayArIDUpIGRvIG5vdCByZXByZXNlbnQgaGV4YWRlY2ltYWwgZGlnaXRzLCB0aHJvdyBVUklFcnJvcgogKgogKiBAcGF0aCBjaDE1LzE1LjEvMTUuMS4zLzE1LjEuMy4xL1MxNS4xLjMuMV9BMS4xMF9UMS5qcwogKiBAZGVzY3JpcHRpb24gQ29tcGxleCB0ZXN0cwogKi8KCi8vQ0hFQ0sKdmFyIHJlc3VsdCA9IHRydWU7CnZhciBpbnRlcnZhbCA9IFtbMHgwMCwgMHgyOV0sIFsweDQwLDB4NDBdLCBbMHg0NywgMHg2MF0sIFsweDY3LCAweEZGRkZdXTsKZm9yICh2YXIgaW5kZXhJID0gMDsgaW5kZXhJIDwgaW50ZXJ2YWwubGVuZ3RoOyBpbmRleEkrKykgewogIGZvciAodmFyIGluZGV4SiA9IGludGVydmFsW2luZGV4SV1bMF07IGluZGV4SiA8PSBpbnRlcnZhbFtpbmRleEldWzFdOyBpbmRleEorKykgewogICAgdHJ5IHsKICAgICAgZGVjb2RlVVJJKCIlQzAlIiArIFN0cmluZy5mcm9tQ2hhckNvZGUoaW5kZXhKLCBpbmRleEopKTsKICAgICAgcmVzdWx0ID0gZmFsc2U7ICAgICAgCiAgICB9IGNhdGNoIChlKSB7ICAgCiAgICAgIGlmICgoZSBpbnN0YW5jZW9mIFVSSUVycm9yKSAhPT0gdHJ1ZSkgewogICAgICAgIHJlc3VsdCA9IGZhbHNlOyAgICAgICAgCiAgICAgIH0KICAgIH0gICAgICAKICB9ICAKfSAgCgppZiAocmVzdWx0ICE9PSB0cnVlKSB7ICAgIAogICRFUlJPUignIzE6IElmIEIgPSAxMTB4eHh4eCAobiA9IDIpIGFuZCAoc3RyaW5nLmNoYXJBdChrICsgNCkgYW5kICBzdHJpbmcuY2hhckF0KGsgKyA1KSkgZG8gbm90IHJlcHJlc2VudCBoZXhhZGVjaW1hbCBkaWdpdHMsIHRocm93IFVSSUVycm9yJyk7Cn0KCg==","commentary":"If B = 110xxxxx (n = 2) and string.charAt(k + 4) and\nstring.charAt(k + 5) do not represent hexadecimal digits, throw URIError","description":"Complex tests","path":"TestCases/ch15/15.1/15.1.3/15.1.3.1/S15.1.3.1_A1.10_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBCID0gMTExMHh4eHggKG4gPSAzKSBhbmQgKHN0cmluZy5jaGFyQXQoayArIDQpIGFuZAogKiBzdHJpbmcuY2hhckF0KGsgKyA1KSkgb3IgKHN0cmluZy5jaGFyQXQoayArIDcpIGFuZAogKiBzdHJpbmcuY2hhckF0KGsgKyA4KSkgZG8gbm90IHJlcHJlc2VudCBoZXhhZGVjaW1hbCBkaWdpdHMsIHRocm93IFVSSUVycm9yCiAqCiAqIEBwYXRoIGNoMTUvMTUuMS8xNS4xLjMvMTUuMS4zLjEvUzE1LjEuMy4xX0ExLjExX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBDb21wbGV4IHRlc3RzLCBzdHJpbmcuY2hhckF0KGsgKyA0KSBhbmQgc3RyaW5nLmNoYXJBdChrICsgNSkKICogZG8gbm90IHJlcHJlc2VudCBoZXhhZGVjaW1hbCBkaWdpdHMKICovCgovL0NIRUNLCnZhciByZXN1bHQgPSB0cnVlOwp2YXIgaW50ZXJ2YWwgPSBbWzB4MDAsIDB4MjldLCBbMHg0MCwweDQwXSwgWzB4NDcsIDB4NjBdLCBbMHg2NywgMHhGRkZGXV07CmZvciAodmFyIGluZGV4SSA9IDA7IGluZGV4SSA8IGludGVydmFsLmxlbmd0aDsgaW5kZXhJKyspIHsKICBmb3IgKHZhciBpbmRleEogPSBpbnRlcnZhbFtpbmRleEldWzBdOyBpbmRleEogPD0gaW50ZXJ2YWxbaW5kZXhJXVsxXTsgaW5kZXhKKyspIHsKICAgIHRyeSB7CiAgICAgIGRlY29kZVVSSSgiJUUwJSIgKyBTdHJpbmcuZnJvbUNoYXJDb2RlKGluZGV4SiwgaW5kZXhKKSArICIlQTAiKTsKICAgICAgcmVzdWx0ID0gZmFsc2U7ICAgICAgCiAgICB9IGNhdGNoIChlKSB7ICAgCiAgICAgIGlmICgoZSBpbnN0YW5jZW9mIFVSSUVycm9yKSAhPT0gdHJ1ZSkgewogICAgICAgIHJlc3VsdCA9IGZhbHNlOyAgICAgICAgCiAgICAgIH0KICAgIH0gICAgICAKICB9ICAKfSAgCgppZiAocmVzdWx0ICE9PSB0cnVlKSB7ICAgIAogICRFUlJPUignIzE6IElmIEIgPSAxMTEweHh4eCAobiA9IDMpIGFuZCAoc3RyaW5nLmNoYXJBdChrICsgNCkgYW5kICBzdHJpbmcuY2hhckF0KGsgKyA1KSkgZG8gbm90IHJlcHJlc2VudCBoZXhhZGVjaW1hbCBkaWdpdHMsIHRocm93IFVSSUVycm9yJyk7Cn0KCg==","commentary":"If B = 1110xxxx (n = 3) and (string.charAt(k + 4) and\nstring.charAt(k + 5)) or (string.charAt(k + 7) and\nstring.charAt(k + 8)) do not represent hexadecimal digits, throw URIError","description":"Complex tests, string.charAt(k + 4) and string.charAt(k + 5)\ndo not represent hexadecimal digits","path":"TestCases/ch15/15.1/15.1.3/15.1.3.1/S15.1.3.1_A1.11_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBCID0gMTExMHh4eHggKG4gPSAzKSBhbmQgKHN0cmluZy5jaGFyQXQoayArIDQpIGFuZAogKiBzdHJpbmcuY2hhckF0KGsgKyA1KSkgb3IgKHN0cmluZy5jaGFyQXQoayArIDcpIGFuZAogKiBzdHJpbmcuY2hhckF0KGsgKyA4KSkgZG8gbm90IHJlcHJlc2VudCBoZXhhZGVjaW1hbCBkaWdpdHMsIHRocm93IFVSSUVycm9yCiAqCiAqIEBwYXRoIGNoMTUvMTUuMS8xNS4xLjMvMTUuMS4zLjEvUzE1LjEuMy4xX0ExLjExX1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBDb21wbGV4IHRlc3RzLCBzdHJpbmcuY2hhckF0KGsgKyA3KSBhbmQgc3RyaW5nLmNoYXJBdChrICsgOCkKICogZG8gbm90IHJlcHJlc2VudCBoZXhhZGVjaW1hbCBkaWdpdHMKICovCgovL0NIRUNLCnZhciByZXN1bHQgPSB0cnVlOwp2YXIgaW50ZXJ2YWwgPSBbWzB4MDAsIDB4MjldLCBbMHg0MCwweDQwXSwgWzB4NDcsIDB4NjBdLCBbMHg2NywgMHhGRkZGXV07CmZvciAodmFyIGluZGV4SSA9IDA7IGluZGV4SSA8IGludGVydmFsLmxlbmd0aDsgaW5kZXhJKyspIHsKICBmb3IgKHZhciBpbmRleEogPSBpbnRlcnZhbFtpbmRleEldWzBdOyBpbmRleEogPD0gaW50ZXJ2YWxbaW5kZXhJXVsxXTsgaW5kZXhKKyspIHsKICAgIHRyeSB7CiAgICAgIGRlY29kZVVSSSgiJUUwJSIgKyAiJUEwIiArIFN0cmluZy5mcm9tQ2hhckNvZGUoaW5kZXhKLCBpbmRleEopKTsKICAgICAgcmVzdWx0ID0gZmFsc2U7ICAgICAgCiAgICB9IGNhdGNoIChlKSB7ICAgCiAgICAgIGlmICgoZSBpbnN0YW5jZW9mIFVSSUVycm9yKSAhPT0gdHJ1ZSkgewogICAgICAgIHJlc3VsdCA9IGZhbHNlOyAgICAgICAgCiAgICAgIH0KICAgIH0gICAgICAKICB9ICAKfSAgCgppZiAocmVzdWx0ICE9PSB0cnVlKSB7ICAgIAogICRFUlJPUignIzE6IElmIEIgPSAxMTEweHh4eCAobiA9IDMpIGFuZCAoc3RyaW5nLmNoYXJBdChrICsgNykgYW5kICBzdHJpbmcuY2hhckF0KGsgKyA4KSkgZG8gbm90IHJlcHJlc2VudCBoZXhhZGVjaW1hbCBkaWdpdHMsIHRocm93IFVSSUVycm9yJyk7Cn0KCg==","commentary":"If B = 1110xxxx (n = 3) and (string.charAt(k + 4) and\nstring.charAt(k + 5)) or (string.charAt(k + 7) and\nstring.charAt(k + 8)) do not represent hexadecimal digits, throw URIError","description":"Complex tests, string.charAt(k + 7) and string.charAt(k + 8)\ndo not represent hexadecimal digits","path":"TestCases/ch15/15.1/15.1.3/15.1.3.1/S15.1.3.1_A1.11_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBCID0gMTExMTB4eHggKG4gPSA0KSBhbmQgKHN0cmluZy5jaGFyQXQoayArIDQpIGFuZAogKiBzdHJpbmcuY2hhckF0KGsgKyA1KSkgb3IgKHN0cmluZy5jaGFyQXQoayArIDcpIGFuZAogKiBzdHJpbmcuY2hhckF0KGsgKyA4KSkgb3IgKHN0cmluZy5jaGFyQXQoayArIDEwKSBhbmQKICogc3RyaW5nLmNoYXJBdChrICsgMTEpKSBkbyBub3QgcmVwcmVzZW50IGhleGFkZWNpbWFsIGRpZ2l0cywgdGhyb3cgVVJJRXJyb3IKICoKICogQHBhdGggY2gxNS8xNS4xLzE1LjEuMy8xNS4xLjMuMS9TMTUuMS4zLjFfQTEuMTJfVDEuanMKICogQGRlc2NyaXB0aW9uIENvbXBsZXggdGVzdHMsIHN0cmluZy5jaGFyQXQoayArIDQpIGFuZCBzdHJpbmcuY2hhckF0KGsgKyA1KQogKiBkbyBub3QgcmVwcmVzZW50IGhleGFkZWNpbWFsIGRpZ2l0cwogKi8KCi8vQ0hFQ0sKdmFyIHJlc3VsdCA9IHRydWU7CnZhciBpbnRlcnZhbCA9IFtbMHgwMCwgMHgyOV0sIFsweDQwLDB4NDBdLCBbMHg0NywgMHg2MF0sIFsweDY3LCAweEZGRkZdXTsKZm9yICh2YXIgaW5kZXhJID0gMDsgaW5kZXhJIDwgaW50ZXJ2YWwubGVuZ3RoOyBpbmRleEkrKykgewogIGZvciAodmFyIGluZGV4SiA9IGludGVydmFsW2luZGV4SV1bMF07IGluZGV4SiA8PSBpbnRlcnZhbFtpbmRleEldWzFdOyBpbmRleEorKykgewogICAgdHJ5IHsKICAgICAgZGVjb2RlVVJJKCIlRjAlIiArIFN0cmluZy5mcm9tQ2hhckNvZGUoaW5kZXhKLCBpbmRleEopICsgIiVBMCVBMCIpOwogICAgICByZXN1bHQgPSBmYWxzZTsgICAgICAKICAgIH0gY2F0Y2ggKGUpIHsgICAKICAgICAgaWYgKChlIGluc3RhbmNlb2YgVVJJRXJyb3IpICE9PSB0cnVlKSB7CiAgICAgICAgcmVzdWx0ID0gZmFsc2U7ICAgICAgICAKICAgICAgfQogICAgfSAgICAgIAogIH0gIAp9ICAKCmlmIChyZXN1bHQgIT09IHRydWUpIHsgICAgCiAgJEVSUk9SKCcjMTogSWYgQiA9IDExMTEweHh4IChuID0gNCkgYW5kIChzdHJpbmcuY2hhckF0KGsgKyA0KSBhbmQgc3RyaW5nLmNoYXJBdChrICsgNSkpIGRvIG5vdCByZXByZXNlbnQgaGV4YWRlY2ltYWwgZGlnaXRzLCB0aHJvdyBVUklFcnJvcicpOwp9Cgo=","commentary":"If B = 11110xxx (n = 4) and (string.charAt(k + 4) and\nstring.charAt(k + 5)) or (string.charAt(k + 7) and\nstring.charAt(k + 8)) or (string.charAt(k + 10) and\nstring.charAt(k + 11)) do not represent hexadecimal digits, throw URIError","description":"Complex tests, string.charAt(k + 4) and string.charAt(k + 5)\ndo not represent hexadecimal digits","path":"TestCases/ch15/15.1/15.1.3/15.1.3.1/S15.1.3.1_A1.12_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBCID0gMTExMTB4eHggKG4gPSA0KSBhbmQgKHN0cmluZy5jaGFyQXQoayArIDQpIGFuZAogKiBzdHJpbmcuY2hhckF0KGsgKyA1KSkgb3IgKHN0cmluZy5jaGFyQXQoayArIDcpIGFuZAogKiBzdHJpbmcuY2hhckF0KGsgKyA4KSkgb3IgKHN0cmluZy5jaGFyQXQoayArIDEwKSBhbmQKICogc3RyaW5nLmNoYXJBdChrICsgMTEpKSBkbyBub3QgcmVwcmVzZW50IGhleGFkZWNpbWFsIGRpZ2l0cywgdGhyb3cgVVJJRXJyb3IKICoKICogQHBhdGggY2gxNS8xNS4xLzE1LjEuMy8xNS4xLjMuMS9TMTUuMS4zLjFfQTEuMTJfVDIuanMKICogQGRlc2NyaXB0aW9uIENvbXBsZXggdGVzdHMsIHN0cmluZy5jaGFyQXQoayArIDcpIGFuZCBzdHJpbmcuY2hhckF0KGsgKyA3KQogKiBkbyBub3QgcmVwcmVzZW50IGhleGFkZWNpbWFsIGRpZ2l0cwogKi8KCi8vQ0hFQ0sKdmFyIHJlc3VsdCA9IHRydWU7CnZhciBpbnRlcnZhbCA9IFtbMHgwMCwgMHgyOV0sIFsweDQwLDB4NDBdLCBbMHg0NywgMHg2MF0sIFsweDY3LCAweEZGRkZdXTsKZm9yICh2YXIgaW5kZXhJID0gMDsgaW5kZXhJIDwgaW50ZXJ2YWwubGVuZ3RoOyBpbmRleEkrKykgewogIGZvciAodmFyIGluZGV4SiA9IGludGVydmFsW2luZGV4SV1bMF07IGluZGV4SiA8PSBpbnRlcnZhbFtpbmRleEldWzFdOyBpbmRleEorKykgewogICAgdHJ5IHsKICAgICAgZGVjb2RlVVJJKCIlRjAlIiArICIlQTAiICsgU3RyaW5nLmZyb21DaGFyQ29kZShpbmRleEosIGluZGV4SikgKyAiJUEwIik7CiAgICAgIHJlc3VsdCA9IGZhbHNlOyAgICAgIAogICAgfSBjYXRjaCAoZSkgeyAgIAogICAgICBpZiAoKGUgaW5zdGFuY2VvZiBVUklFcnJvcikgIT09IHRydWUpIHsKICAgICAgICByZXN1bHQgPSBmYWxzZTsgICAgICAgIAogICAgICB9CiAgICB9ICAgICAgCiAgfSAgCn0gIAoKaWYgKHJlc3VsdCAhPT0gdHJ1ZSkgeyAgICAKICAkRVJST1IoJyMxOiBJZiBCID0gMTExMTB4eHggKG4gPSA0KSBhbmQgKHN0cmluZy5jaGFyQXQoayArIDcpIGFuZCBzdHJpbmcuY2hhckF0KGsgKyA4KSkgZG8gbm90IHJlcHJlc2VudCBoZXhhZGVjaW1hbCBkaWdpdHMsIHRocm93IFVSSUVycm9yJyk7Cn0KCg==","commentary":"If B = 11110xxx (n = 4) and (string.charAt(k + 4) and\nstring.charAt(k + 5)) or (string.charAt(k + 7) and\nstring.charAt(k + 8)) or (string.charAt(k + 10) and\nstring.charAt(k + 11)) do not represent hexadecimal digits, throw URIError","description":"Complex tests, string.charAt(k + 7) and string.charAt(k + 7)\ndo not represent hexadecimal digits","path":"TestCases/ch15/15.1/15.1.3/15.1.3.1/S15.1.3.1_A1.12_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBCID0gMTExMTB4eHggKG4gPSA0KSBhbmQgKHN0cmluZy5jaGFyQXQoayArIDQpIGFuZAogKiBzdHJpbmcuY2hhckF0KGsgKyA1KSkgb3IgKHN0cmluZy5jaGFyQXQoayArIDcpIGFuZAogKiBzdHJpbmcuY2hhckF0KGsgKyA4KSkgb3IgKHN0cmluZy5jaGFyQXQoayArIDEwKSBhbmQKICogc3RyaW5nLmNoYXJBdChrICsgMTEpKSBkbyBub3QgcmVwcmVzZW50IGhleGFkZWNpbWFsIGRpZ2l0cywgdGhyb3cgVVJJRXJyb3IKICoKICogQHBhdGggY2gxNS8xNS4xLzE1LjEuMy8xNS4xLjMuMS9TMTUuMS4zLjFfQTEuMTJfVDMuanMKICogQGRlc2NyaXB0aW9uIENvbXBsZXggdGVzdHMsIHN0cmluZy5jaGFyQXQoayArIDEwKSBhbmQgc3RyaW5nLmNoYXJBdChrICsgMTEpCiAqIGRvIG5vdCByZXByZXNlbnQgaGV4YWRlY2ltYWwgZGlnaXRzCiAqLwoKLy9DSEVDSwp2YXIgcmVzdWx0ID0gdHJ1ZTsKdmFyIGludGVydmFsID0gW1sweDAwLCAweDI5XSwgWzB4NDAsMHg0MF0sIFsweDQ3LCAweDYwXSwgWzB4NjcsIDB4RkZGRl1dOwpmb3IgKHZhciBpbmRleEkgPSAwOyBpbmRleEkgPCBpbnRlcnZhbC5sZW5ndGg7IGluZGV4SSsrKSB7CiAgZm9yICh2YXIgaW5kZXhKID0gaW50ZXJ2YWxbaW5kZXhJXVswXTsgaW5kZXhKIDw9IGludGVydmFsW2luZGV4SV1bMV07IGluZGV4SisrKSB7CiAgICB0cnkgewogICAgICBkZWNvZGVVUkkoIiVGMCUiICsgIiVBMCVBMCIgKyBTdHJpbmcuZnJvbUNoYXJDb2RlKGluZGV4SiwgaW5kZXhKKSk7CiAgICAgIHJlc3VsdCA9IGZhbHNlOyAgICAgIAogICAgfSBjYXRjaCAoZSkgeyAgIAogICAgICBpZiAoKGUgaW5zdGFuY2VvZiBVUklFcnJvcikgIT09IHRydWUpIHsKICAgICAgICByZXN1bHQgPSBmYWxzZTsgICAgICAgIAogICAgICB9CiAgICB9ICAgICAgCiAgfSAgCn0gIAoKaWYgKHJlc3VsdCAhPT0gdHJ1ZSkgeyAgICAKICAkRVJST1IoJyMxOiBJZiBCID0gMTExMTB4eHggKG4gPSA0KSBhbmQgKHN0cmluZy5jaGFyQXQoayArIDEwKSBhbmQgc3RyaW5nLmNoYXJBdChrICsgMTEpKSBkbyBub3QgcmVwcmVzZW50IGhleGFkZWNpbWFsIGRpZ2l0cywgdGhyb3cgVVJJRXJyb3InKTsKfQoK","commentary":"If B = 11110xxx (n = 4) and (string.charAt(k + 4) and\nstring.charAt(k + 5)) or (string.charAt(k + 7) and\nstring.charAt(k + 8)) or (string.charAt(k + 10) and\nstring.charAt(k + 11)) do not represent hexadecimal digits, throw URIError","description":"Complex tests, string.charAt(k + 10) and string.charAt(k + 11)\ndo not represent hexadecimal digits","path":"TestCases/ch15/15.1/15.1.3/15.1.3.1/S15.1.3.1_A1.12_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBCID0gMTEweHh4eHggKG4gPSAyKSBhbmQgQyAhPSAxMHh4eHh4eCAoQyAtIGZpcnN0IG9mIG9jdGV0cyBhZnRlciBCKSwgdGhyb3cgVVJJRXJyb3IKICoKICogQHBhdGggY2gxNS8xNS4xLzE1LjEuMy8xNS4xLjMuMS9TMTUuMS4zLjFfQTEuMTNfVDEuanMKICogQGRlc2NyaXB0aW9uIENvbXBsZXggdGVzdHMuIEIgPSBbMHhDMCAtIDB4REZdLCBDID0gWzB4MDAsIDB4N0ZdCiAqLwoKdmFyIGVycm9yQ291bnQgPSAwOwp2YXIgY291bnQgPSAwOwp2YXIgaW5kZXhQOwp2YXIgaW5kZXhPID0gMDsKCmZvciAodmFyIGluZGV4QiA9IDB4QzA7IGluZGV4QiA8PSAweERGOyBpbmRleEIrKykgewogIGNvdW50Kys7IAogIHZhciBoZXhCID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4Qik7ICAKICB2YXIgcmVzdWx0ID0gdHJ1ZTsKICBmb3IgKHZhciBpbmRleEMgPSAweDAwOyBpbmRleEMgPD0gMHg3RjsgaW5kZXhDKyspIHsKICAgIHZhciBoZXhDID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4Qyk7ICAKICAgIHRyeSB7CiAgICAgIGRlY29kZVVSSSgiJSIgKyBoZXhCLnN1YnN0cmluZygyKSArICIlIiArIGhleEMuc3Vic3RyaW5nKDIpKTsKICAgIH0gY2F0Y2ggKGUpIHsgCiAgICAgIGlmICgoZSBpbnN0YW5jZW9mIFVSSUVycm9yKSA9PT0gdHJ1ZSkgY29udGludWU7ICAgICAgICAgICAgICAgIAogICAgfQogICAgcmVzdWx0ID0gZmFsc2U7CiAgfQogIGlmIChyZXN1bHQgIT09IHRydWUpIHsKICAgIGlmIChpbmRleE8gPT09IDApIHsgCiAgICAgIGluZGV4TyA9IGluZGV4QjsKICAgIH0gZWxzZSB7CiAgICAgIGlmICgoaW5kZXhCIC0gaW5kZXhQKSAhPT0gMSkgeyAgICAgICAgICAgICAKICAgICAgICBpZiAoKGluZGV4UCAtIGluZGV4TykgIT09IDApIHsKICAgICAgICAgIHZhciBoZXhQID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4UCk7CiAgICAgICAgICB2YXIgaGV4TyA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleE8pOwogICAgICAgICAgJEVSUk9SKCcjJyArIGhleE8gKyAnLScgKyBoZXhQICsgJyAnKTsKICAgICAgICB9IAogICAgICAgIGVsc2UgewogICAgICAgICAgdmFyIGhleFAgPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhQKTsKICAgICAgICAgICRFUlJPUignIycgKyBoZXhQICsgJyAnKTsKICAgICAgICB9ICAKICAgICAgICBpbmRleE8gPSBpbmRleEI7CiAgICAgIH0gICAgICAgICAKICAgIH0KICAgIGluZGV4UCA9IGluZGV4QjsKICAgIGVycm9yQ291bnQrKzsgICAgICAgCiAgfQp9CgppZiAoZXJyb3JDb3VudCA+IDApIHsKICBpZiAoKGluZGV4UCAtIGluZGV4TykgIT09IDApIHsKICAgIHZhciBoZXhQID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4UCk7CiAgICB2YXIgaGV4TyA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleE8pOwogICAgJEVSUk9SKCcjJyArIGhleE8gKyAnLScgKyBoZXhQICsgJyAnKTsKICB9IGVsc2UgewogICAgdmFyIGhleFAgPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhQKTsKICAgICRFUlJPUignIycgKyBoZXhQICsgJyAnKTsKICB9ICAgICAKICAkRVJST1IoJ1RvdGFsIGVycm9yOiAnICsgZXJyb3JDb3VudCArICcgYmFkIFVuaWNvZGUgY2hhcmFjdGVyIGluICcgKyBjb3VudCArICcgJyk7Cn0KCmZ1bmN0aW9uIGRlY2ltYWxUb0hleFN0cmluZyhuKSB7CiAgbiA9IE51bWJlcihuKTsKICB2YXIgaCA9ICIiOwogIGZvciAodmFyIGkgPSAzOyBpID49IDA7IGktLSkgewogICAgaWYgKG4gPj0gTWF0aC5wb3coMTYsIGkpKSB7CiAgICAgIHZhciB0ID0gTWF0aC5mbG9vcihuIC8gTWF0aC5wb3coMTYsIGkpKTsKICAgICAgbiAtPSB0ICogTWF0aC5wb3coMTYsIGkpOwogICAgICBpZiAoIHQgPj0gMTAgKSB7CiAgICAgICAgaWYgKCB0ID09IDEwICkgeyBoICs9ICJBIjsgfQogICAgICAgIGlmICggdCA9PSAxMSApIHsgaCArPSAiQiI7IH0KICAgICAgICBpZiAoIHQgPT0gMTIgKSB7IGggKz0gIkMiOyB9CiAgICAgICAgaWYgKCB0ID09IDEzICkgeyBoICs9ICJEIjsgfQogICAgICAgIGlmICggdCA9PSAxNCApIHsgaCArPSAiRSI7IH0KICAgICAgICBpZiAoIHQgPT0gMTUgKSB7IGggKz0gIkYiOyB9CiAgICAgIH0gZWxzZSB7CiAgICAgICAgaCArPSBTdHJpbmcodCk7CiAgICAgIH0KICAgIH0gZWxzZSB7CiAgICAgIGggKz0gIjAiOwogICAgfQogIH0KICByZXR1cm4gaDsKfQoK","commentary":"If B = 110xxxxx (n = 2) and C != 10xxxxxx (C - first of octets after B), throw URIError","description":"Complex tests. B = [0xC0 - 0xDF], C = [0x00, 0x7F]","path":"TestCases/ch15/15.1/15.1.3/15.1.3.1/S15.1.3.1_A1.13_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBCID0gMTEweHh4eHggKG4gPSAyKSBhbmQgQyAhPSAxMHh4eHh4eCAoQyAtIGZpcnN0IG9mIG9jdGV0cyBhZnRlciBCKSwgdGhyb3cgVVJJRXJyb3IKICoKICogQHBhdGggY2gxNS8xNS4xLzE1LjEuMy8xNS4xLjMuMS9TMTUuMS4zLjFfQTEuMTNfVDIuanMKICogQGRlc2NyaXB0aW9uIENvbXBsZXggdGVzdHMuIEIgPSBbMHhDMCAtIDB4REZdLCBDID0gWzB4QzAsIDB4RkZdCiAqLwoKdmFyIGVycm9yQ291bnQgPSAwOwp2YXIgY291bnQgPSAwOwp2YXIgaW5kZXhQOwp2YXIgaW5kZXhPID0gMDsKCmZvciAodmFyIGluZGV4QiA9IDB4QzA7IGluZGV4QiA8PSAweERGOyBpbmRleEIrKykgewogIGNvdW50Kys7IAogIHZhciBoZXhCID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4Qik7ICAKICB2YXIgcmVzdWx0ID0gdHJ1ZTsKICBmb3IgKHZhciBpbmRleEMgPSAweEMwOyBpbmRleEMgPD0gMHhGRjsgaW5kZXhDKyspIHsKICAgIHZhciBoZXhDID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4Qyk7ICAKICAgIHRyeSB7CiAgICAgIGRlY29kZVVSSSgiJSIgKyBoZXhCLnN1YnN0cmluZygyKSArICIlIiArIGhleEMuc3Vic3RyaW5nKDIpKTsKICAgIH0gY2F0Y2ggKGUpIHsgCiAgICAgIGlmICgoZSBpbnN0YW5jZW9mIFVSSUVycm9yKSA9PT0gdHJ1ZSkgY29udGludWU7ICAgICAgICAgICAgICAgIAogICAgfQogICAgcmVzdWx0ID0gZmFsc2U7CiAgfQogIGlmIChyZXN1bHQgIT09IHRydWUpIHsKICAgIGlmIChpbmRleE8gPT09IDApIHsgCiAgICAgIGluZGV4TyA9IGluZGV4QjsKICAgIH0gZWxzZSB7CiAgICAgIGlmICgoaW5kZXhCIC0gaW5kZXhQKSAhPT0gMSkgeyAgICAgICAgICAgICAKICAgICAgICBpZiAoKGluZGV4UCAtIGluZGV4TykgIT09IDApIHsKICAgICAgICAgIHZhciBoZXhQID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4UCk7CiAgICAgICAgICB2YXIgaGV4TyA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleE8pOwogICAgICAgICAgJEVSUk9SKCcjJyArIGhleE8gKyAnLScgKyBoZXhQICsgJyAnKTsKICAgICAgICB9IAogICAgICAgIGVsc2UgewogICAgICAgICAgdmFyIGhleFAgPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhQKTsKICAgICAgICAgICRFUlJPUignIycgKyBoZXhQICsgJyAnKTsKICAgICAgICB9ICAKICAgICAgICBpbmRleE8gPSBpbmRleEI7CiAgICAgIH0gICAgICAgICAKICAgIH0KICAgIGluZGV4UCA9IGluZGV4QjsKICAgIGVycm9yQ291bnQrKzsgICAgICAgCiAgfQp9CgppZiAoZXJyb3JDb3VudCA+IDApIHsKICBpZiAoKGluZGV4UCAtIGluZGV4TykgIT09IDApIHsKICAgIHZhciBoZXhQID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4UCk7CiAgICB2YXIgaGV4TyA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleE8pOwogICAgJEVSUk9SKCcjJyArIGhleE8gKyAnLScgKyBoZXhQICsgJyAnKTsKICB9IGVsc2UgewogICAgdmFyIGhleFAgPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhQKTsKICAgICRFUlJPUignIycgKyBoZXhQICsgJyAnKTsKICB9ICAgICAKICAkRVJST1IoJ1RvdGFsIGVycm9yOiAnICsgZXJyb3JDb3VudCArICcgYmFkIFVuaWNvZGUgY2hhcmFjdGVyIGluICcgKyBjb3VudCArICcgJyk7Cn0KCmZ1bmN0aW9uIGRlY2ltYWxUb0hleFN0cmluZyhuKSB7CiAgbiA9IE51bWJlcihuKTsKICB2YXIgaCA9ICIiOwogIGZvciAodmFyIGkgPSAzOyBpID49IDA7IGktLSkgewogICAgaWYgKG4gPj0gTWF0aC5wb3coMTYsIGkpKSB7CiAgICAgIHZhciB0ID0gTWF0aC5mbG9vcihuIC8gTWF0aC5wb3coMTYsIGkpKTsKICAgICAgbiAtPSB0ICogTWF0aC5wb3coMTYsIGkpOwogICAgICBpZiAoIHQgPj0gMTAgKSB7CiAgICAgICAgaWYgKCB0ID09IDEwICkgeyBoICs9ICJBIjsgfQogICAgICAgIGlmICggdCA9PSAxMSApIHsgaCArPSAiQiI7IH0KICAgICAgICBpZiAoIHQgPT0gMTIgKSB7IGggKz0gIkMiOyB9CiAgICAgICAgaWYgKCB0ID09IDEzICkgeyBoICs9ICJEIjsgfQogICAgICAgIGlmICggdCA9PSAxNCApIHsgaCArPSAiRSI7IH0KICAgICAgICBpZiAoIHQgPT0gMTUgKSB7IGggKz0gIkYiOyB9CiAgICAgIH0gZWxzZSB7CiAgICAgICAgaCArPSBTdHJpbmcodCk7CiAgICAgIH0KICAgIH0gZWxzZSB7CiAgICAgIGggKz0gIjAiOwogICAgfQogIH0KICByZXR1cm4gaDsKfQoK","commentary":"If B = 110xxxxx (n = 2) and C != 10xxxxxx (C - first of octets after B), throw URIError","description":"Complex tests. B = [0xC0 - 0xDF], C = [0xC0, 0xFF]","path":"TestCases/ch15/15.1/15.1.3/15.1.3.1/S15.1.3.1_A1.13_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBCID0gMTExMHh4eHggKG4gPSAzKSBhbmQgQyAhPSAxMHh4eHh4eCAoQyAtIGZpcnN0IG9mIG9jdGV0cyBhZnRlciBCKSwgdGhyb3cgVVJJRXJyb3IKICoKICogQHBhdGggY2gxNS8xNS4xLzE1LjEuMy8xNS4xLjMuMS9TMTUuMS4zLjFfQTEuMTRfVDEuanMKICogQGRlc2NyaXB0aW9uIENvbXBsZXggdGVzdHMuIEIgPSBbMHhFMCAtIDB4RUZdLCBDID0gWzB4MDAsIDB4N0ZdCiAqLwoKdmFyIGVycm9yQ291bnQgPSAwOwp2YXIgY291bnQgPSAwOwp2YXIgaW5kZXhQOwp2YXIgaW5kZXhPID0gMDsKCmZvciAodmFyIGluZGV4QiA9IDB4RTA7IGluZGV4QiA8PSAweEVGOyBpbmRleEIrKykgewogIGNvdW50Kys7IAogIHZhciBoZXhCID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4Qik7IAogIHZhciByZXN1bHQgPSB0cnVlOwogIGZvciAodmFyIGluZGV4QyA9IDB4MDA7IGluZGV4QyA8PSAweDdGOyBpbmRleEMrKykgewogICAgdmFyIGhleEMgPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhDKTsgIAogICAgdHJ5IHsKICAgICAgZGVjb2RlVVJJKCIlIiArIGhleEIuc3Vic3RyaW5nKDIpICsgIiUiICsgaGV4Qy5zdWJzdHJpbmcoMikgKyAiJUEwIik7CiAgICB9IGNhdGNoIChlKSB7IAogICAgICBpZiAoKGUgaW5zdGFuY2VvZiBVUklFcnJvcikgPT09IHRydWUpIGNvbnRpbnVlOyAgICAgICAgICAgICAgICAKICAgIH0KICAgIHJlc3VsdCA9IGZhbHNlOwogIH0KICBpZiAocmVzdWx0ICE9PSB0cnVlKSB7CiAgICBpZiAoaW5kZXhPID09PSAwKSB7IAogICAgICBpbmRleE8gPSBpbmRleEI7CiAgICB9IGVsc2UgewogICAgICBpZiAoKGluZGV4QiAtIGluZGV4UCkgIT09IDEpIHsgICAgICAgICAgICAgCiAgICAgICAgaWYgKChpbmRleFAgLSBpbmRleE8pICE9PSAwKSB7CiAgICAgICAgICB2YXIgaGV4UCA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleFApOwogICAgICAgICAgdmFyIGhleE8gPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhPKTsKICAgICAgICAgICRFUlJPUignIycgKyBoZXhPICsgJy0nICsgaGV4UCArICcgJyk7CiAgICAgICAgfSAKICAgICAgICBlbHNlIHsKICAgICAgICAgIHZhciBoZXhQID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4UCk7CiAgICAgICAgICAkRVJST1IoJyMnICsgaGV4UCArICcgJyk7CiAgICAgICAgfSAgCiAgICAgICAgaW5kZXhPID0gaW5kZXhCOwogICAgICB9ICAgICAgICAgCiAgICB9CiAgICBpbmRleFAgPSBpbmRleEI7CiAgICBlcnJvckNvdW50Kys7ICAgICAgIAogIH0KfQoKaWYgKGVycm9yQ291bnQgPiAwKSB7CiAgaWYgKChpbmRleFAgLSBpbmRleE8pICE9PSAwKSB7CiAgICB2YXIgaGV4UCA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleFApOwogICAgdmFyIGhleE8gPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhPKTsKICAgICRFUlJPUignIycgKyBoZXhPICsgJy0nICsgaGV4UCArICcgJyk7CiAgfSBlbHNlIHsKICAgIHZhciBoZXhQID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4UCk7CiAgICAkRVJST1IoJyMnICsgaGV4UCArICcgJyk7CiAgfSAgICAgCiAgJEVSUk9SKCdUb3RhbCBlcnJvcjogJyArIGVycm9yQ291bnQgKyAnIGJhZCBVbmljb2RlIGNoYXJhY3RlciBpbiAnICsgY291bnQgKyAnICcpOwp9CgpmdW5jdGlvbiBkZWNpbWFsVG9IZXhTdHJpbmcobikgewogIG4gPSBOdW1iZXIobik7CiAgdmFyIGggPSAiIjsKICBmb3IgKHZhciBpID0gMzsgaSA+PSAwOyBpLS0pIHsKICAgIGlmIChuID49IE1hdGgucG93KDE2LCBpKSkgewogICAgICB2YXIgdCA9IE1hdGguZmxvb3IobiAvIE1hdGgucG93KDE2LCBpKSk7CiAgICAgIG4gLT0gdCAqIE1hdGgucG93KDE2LCBpKTsKICAgICAgaWYgKCB0ID49IDEwICkgewogICAgICAgIGlmICggdCA9PSAxMCApIHsgaCArPSAiQSI7IH0KICAgICAgICBpZiAoIHQgPT0gMTEgKSB7IGggKz0gIkIiOyB9CiAgICAgICAgaWYgKCB0ID09IDEyICkgeyBoICs9ICJDIjsgfQogICAgICAgIGlmICggdCA9PSAxMyApIHsgaCArPSAiRCI7IH0KICAgICAgICBpZiAoIHQgPT0gMTQgKSB7IGggKz0gIkUiOyB9CiAgICAgICAgaWYgKCB0ID09IDE1ICkgeyBoICs9ICJGIjsgfQogICAgICB9IGVsc2UgewogICAgICAgIGggKz0gU3RyaW5nKHQpOwogICAgICB9CiAgICB9IGVsc2UgewogICAgICBoICs9ICIwIjsKICAgIH0KICB9CiAgcmV0dXJuIGg7Cn0KCg==","commentary":"If B = 1110xxxx (n = 3) and C != 10xxxxxx (C - first of octets after B), throw URIError","description":"Complex tests. B = [0xE0 - 0xEF], C = [0x00, 0x7F]","path":"TestCases/ch15/15.1/15.1.3/15.1.3.1/S15.1.3.1_A1.14_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBCID0gMTExMHh4eHggKG4gPSAzKSBhbmQgQyAhPSAxMHh4eHh4eCAoQyAtIGZpcnN0IG9mIG9jdGV0cyBhZnRlciBCKSwgdGhyb3cgVVJJRXJyb3IKICoKICogQHBhdGggY2gxNS8xNS4xLzE1LjEuMy8xNS4xLjMuMS9TMTUuMS4zLjFfQTEuMTRfVDIuanMKICogQGRlc2NyaXB0aW9uIENvbXBsZXggdGVzdHMuIEIgPSBbMHhFMCAtIDB4RUZdLCBDID0gWzB4MDAsIDB4N0ZdCiAqLwoKdmFyIGVycm9yQ291bnQgPSAwOwp2YXIgY291bnQgPSAwOwp2YXIgaW5kZXhQOwp2YXIgaW5kZXhPID0gMDsKCmZvciAodmFyIGluZGV4QiA9IDB4RTA7IGluZGV4QiA8PSAweEVGOyBpbmRleEIrKykgewogIGNvdW50Kys7IAogIHZhciBoZXhCID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4Qik7ICAKICB2YXIgcmVzdWx0ID0gdHJ1ZTsKICBmb3IgKHZhciBpbmRleEMgPSAweDAwOyBpbmRleEMgPD0gMHg3RjsgaW5kZXhDKyspIHsKICAgIHZhciBoZXhDID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4Qyk7ICAKICAgIHRyeSB7CiAgICAgIGRlY29kZVVSSSgiJSIgKyBoZXhCLnN1YnN0cmluZygyKSArICIlQTAiICsgIiUiICsgaGV4Qy5zdWJzdHJpbmcoMikpOwogICAgfSBjYXRjaCAoZSkgeyAKICAgICAgaWYgKChlIGluc3RhbmNlb2YgVVJJRXJyb3IpID09PSB0cnVlKSBjb250aW51ZTsgICAgICAgICAgICAgICAgCiAgICB9CiAgICByZXN1bHQgPSBmYWxzZTsKICB9CiAgaWYgKHJlc3VsdCAhPT0gdHJ1ZSkgewogICAgaWYgKGluZGV4TyA9PT0gMCkgeyAKICAgICAgaW5kZXhPID0gaW5kZXhCOwogICAgfSBlbHNlIHsKICAgICAgaWYgKChpbmRleEIgLSBpbmRleFApICE9PSAxKSB7ICAgICAgICAgICAgIAogICAgICAgIGlmICgoaW5kZXhQIC0gaW5kZXhPKSAhPT0gMCkgewogICAgICAgICAgdmFyIGhleFAgPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhQKTsKICAgICAgICAgIHZhciBoZXhPID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4Tyk7CiAgICAgICAgICAkRVJST1IoJyMnICsgaGV4TyArICctJyArIGhleFAgKyAnICcpOwogICAgICAgIH0gCiAgICAgICAgZWxzZSB7CiAgICAgICAgICB2YXIgaGV4UCA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleFApOwogICAgICAgICAgJEVSUk9SKCcjJyArIGhleFAgKyAnICcpOwogICAgICAgIH0gIAogICAgICAgIGluZGV4TyA9IGluZGV4QjsKICAgICAgfSAgICAgICAgIAogICAgfQogICAgaW5kZXhQID0gaW5kZXhCOwogICAgZXJyb3JDb3VudCsrOyAgICAgICAKICB9Cn0KCmlmIChlcnJvckNvdW50ID4gMCkgewogIGlmICgoaW5kZXhQIC0gaW5kZXhPKSAhPT0gMCkgewogICAgdmFyIGhleFAgPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhQKTsKICAgIHZhciBoZXhPID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4Tyk7CiAgICAkRVJST1IoJyMnICsgaGV4TyArICctJyArIGhleFAgKyAnICcpOwogIH0gZWxzZSB7CiAgICB2YXIgaGV4UCA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleFApOwogICAgJEVSUk9SKCcjJyArIGhleFAgKyAnICcpOwogIH0gICAgIAogICRFUlJPUignVG90YWwgZXJyb3I6ICcgKyBlcnJvckNvdW50ICsgJyBiYWQgVW5pY29kZSBjaGFyYWN0ZXIgaW4gJyArIGNvdW50ICsgJyAnKTsKfQoKZnVuY3Rpb24gZGVjaW1hbFRvSGV4U3RyaW5nKG4pIHsKICBuID0gTnVtYmVyKG4pOwogIHZhciBoID0gIiI7CiAgZm9yICh2YXIgaSA9IDM7IGkgPj0gMDsgaS0tKSB7CiAgICBpZiAobiA+PSBNYXRoLnBvdygxNiwgaSkpIHsKICAgICAgdmFyIHQgPSBNYXRoLmZsb29yKG4gLyBNYXRoLnBvdygxNiwgaSkpOwogICAgICBuIC09IHQgKiBNYXRoLnBvdygxNiwgaSk7CiAgICAgIGlmICggdCA+PSAxMCApIHsKICAgICAgICBpZiAoIHQgPT0gMTAgKSB7IGggKz0gIkEiOyB9CiAgICAgICAgaWYgKCB0ID09IDExICkgeyBoICs9ICJCIjsgfQogICAgICAgIGlmICggdCA9PSAxMiApIHsgaCArPSAiQyI7IH0KICAgICAgICBpZiAoIHQgPT0gMTMgKSB7IGggKz0gIkQiOyB9CiAgICAgICAgaWYgKCB0ID09IDE0ICkgeyBoICs9ICJFIjsgfQogICAgICAgIGlmICggdCA9PSAxNSApIHsgaCArPSAiRiI7IH0KICAgICAgfSBlbHNlIHsKICAgICAgICBoICs9IFN0cmluZyh0KTsKICAgICAgfQogICAgfSBlbHNlIHsKICAgICAgaCArPSAiMCI7CiAgICB9CiAgfQogIHJldHVybiBoOwp9Cgo=","commentary":"If B = 1110xxxx (n = 3) and C != 10xxxxxx (C - first of octets after B), throw URIError","description":"Complex tests. B = [0xE0 - 0xEF], C = [0x00, 0x7F]","path":"TestCases/ch15/15.1/15.1.3/15.1.3.1/S15.1.3.1_A1.14_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBCID0gMTExMHh4eHggKG4gPSAzKSBhbmQgQyAhPSAxMHh4eHh4eCAoQyAtIGZpcnN0IG9mIG9jdGV0cyBhZnRlciBCKSwgdGhyb3cgVVJJRXJyb3IKICoKICogQHBhdGggY2gxNS8xNS4xLzE1LjEuMy8xNS4xLjMuMS9TMTUuMS4zLjFfQTEuMTRfVDMuanMKICogQGRlc2NyaXB0aW9uIENvbXBsZXggdGVzdHMuIEIgPSBbMHhFMCAtIDB4RUZdLCBDID0gWzB4QzAsIDB4RkZdCiAqLwoKdmFyIGVycm9yQ291bnQgPSAwOwp2YXIgY291bnQgPSAwOwp2YXIgaW5kZXhQOwp2YXIgaW5kZXhPID0gMDsKCmZvciAodmFyIGluZGV4QiA9IDB4RTA7IGluZGV4QiA8PSAweEVGOyBpbmRleEIrKykgewogIGNvdW50Kys7IAogIHZhciBoZXhCID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4Qik7IAogIHZhciByZXN1bHQgPSB0cnVlOwogIGZvciAodmFyIGluZGV4QyA9IDB4QzA7IGluZGV4QyA8PSAweEZGOyBpbmRleEMrKykgewogICAgdmFyIGhleEMgPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhDKTsgIAogICAgdHJ5IHsKICAgICAgZGVjb2RlVVJJKCIlIiArIGhleEIuc3Vic3RyaW5nKDIpICsgIiUiICsgaGV4Qy5zdWJzdHJpbmcoMikgKyAiJUEwIik7CiAgICB9IGNhdGNoIChlKSB7IAogICAgICBpZiAoKGUgaW5zdGFuY2VvZiBVUklFcnJvcikgPT09IHRydWUpIGNvbnRpbnVlOyAgICAgICAgICAgICAgICAKICAgIH0KICAgIHJlc3VsdCA9IGZhbHNlOwogIH0KICBpZiAocmVzdWx0ICE9PSB0cnVlKSB7CiAgICBpZiAoaW5kZXhPID09PSAwKSB7IAogICAgICBpbmRleE8gPSBpbmRleEI7CiAgICB9IGVsc2UgewogICAgICBpZiAoKGluZGV4QiAtIGluZGV4UCkgIT09IDEpIHsgICAgICAgICAgICAgCiAgICAgICAgaWYgKChpbmRleFAgLSBpbmRleE8pICE9PSAwKSB7CiAgICAgICAgICB2YXIgaGV4UCA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleFApOwogICAgICAgICAgdmFyIGhleE8gPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhPKTsKICAgICAgICAgICRFUlJPUignIycgKyBoZXhPICsgJy0nICsgaGV4UCArICcgJyk7CiAgICAgICAgfSAKICAgICAgICBlbHNlIHsKICAgICAgICAgIHZhciBoZXhQID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4UCk7CiAgICAgICAgICAkRVJST1IoJyMnICsgaGV4UCArICcgJyk7CiAgICAgICAgfSAgCiAgICAgICAgaW5kZXhPID0gaW5kZXhCOwogICAgICB9ICAgICAgICAgCiAgICB9CiAgICBpbmRleFAgPSBpbmRleEI7CiAgICBlcnJvckNvdW50Kys7ICAgICAgIAogIH0KfQoKaWYgKGVycm9yQ291bnQgPiAwKSB7CiAgaWYgKChpbmRleFAgLSBpbmRleE8pICE9PSAwKSB7CiAgICB2YXIgaGV4UCA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleFApOwogICAgdmFyIGhleE8gPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhPKTsKICAgICRFUlJPUignIycgKyBoZXhPICsgJy0nICsgaGV4UCArICcgJyk7CiAgfSBlbHNlIHsKICAgIHZhciBoZXhQID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4UCk7CiAgICAkRVJST1IoJyMnICsgaGV4UCArICcgJyk7CiAgfSAgICAgCiAgJEVSUk9SKCdUb3RhbCBlcnJvcjogJyArIGVycm9yQ291bnQgKyAnIGJhZCBVbmljb2RlIGNoYXJhY3RlciBpbiAnICsgY291bnQgKyAnICcpOwp9CgpmdW5jdGlvbiBkZWNpbWFsVG9IZXhTdHJpbmcobikgewogIG4gPSBOdW1iZXIobik7CiAgdmFyIGggPSAiIjsKICBmb3IgKHZhciBpID0gMzsgaSA+PSAwOyBpLS0pIHsKICAgIGlmIChuID49IE1hdGgucG93KDE2LCBpKSkgewogICAgICB2YXIgdCA9IE1hdGguZmxvb3IobiAvIE1hdGgucG93KDE2LCBpKSk7CiAgICAgIG4gLT0gdCAqIE1hdGgucG93KDE2LCBpKTsKICAgICAgaWYgKCB0ID49IDEwICkgewogICAgICAgIGlmICggdCA9PSAxMCApIHsgaCArPSAiQSI7IH0KICAgICAgICBpZiAoIHQgPT0gMTEgKSB7IGggKz0gIkIiOyB9CiAgICAgICAgaWYgKCB0ID09IDEyICkgeyBoICs9ICJDIjsgfQogICAgICAgIGlmICggdCA9PSAxMyApIHsgaCArPSAiRCI7IH0KICAgICAgICBpZiAoIHQgPT0gMTQgKSB7IGggKz0gIkUiOyB9CiAgICAgICAgaWYgKCB0ID09IDE1ICkgeyBoICs9ICJGIjsgfQogICAgICB9IGVsc2UgewogICAgICAgIGggKz0gU3RyaW5nKHQpOwogICAgICB9CiAgICB9IGVsc2UgewogICAgICBoICs9ICIwIjsKICAgIH0KICB9CiAgcmV0dXJuIGg7Cn0KCg==","commentary":"If B = 1110xxxx (n = 3) and C != 10xxxxxx (C - first of octets after B), throw URIError","description":"Complex tests. B = [0xE0 - 0xEF], C = [0xC0, 0xFF]","path":"TestCases/ch15/15.1/15.1.3/15.1.3.1/S15.1.3.1_A1.14_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBCID0gMTExMHh4eHggKG4gPSAzKSBhbmQgQyAhPSAxMHh4eHh4eCAoQyAtIGZpcnN0IG9mIG9jdGV0cyBhZnRlciBCKSwgdGhyb3cgVVJJRXJyb3IKICoKICogQHBhdGggY2gxNS8xNS4xLzE1LjEuMy8xNS4xLjMuMS9TMTUuMS4zLjFfQTEuMTRfVDQuanMKICogQGRlc2NyaXB0aW9uIENvbXBsZXggdGVzdHMuIEIgPSBbMHhFMCAtIDB4RUZdLCBDID0gWzB4QzAsIDB4RkZdCiAqLwoKdmFyIGVycm9yQ291bnQgPSAwOwp2YXIgY291bnQgPSAwOwp2YXIgaW5kZXhQOwp2YXIgaW5kZXhPID0gMDsKCmZvciAodmFyIGluZGV4QiA9IDB4RTA7IGluZGV4QiA8PSAweEVGOyBpbmRleEIrKykgewogIGNvdW50Kys7IAogIHZhciBoZXhCID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4Qik7ICAKICB2YXIgcmVzdWx0ID0gdHJ1ZTsKICBmb3IgKHZhciBpbmRleEMgPSAweEMwOyBpbmRleEMgPD0gMHhGRjsgaW5kZXhDKyspIHsKICAgIHZhciBoZXhDID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4Qyk7ICAKICAgIHRyeSB7CiAgICAgIGRlY29kZVVSSSgiJSIgKyBoZXhCLnN1YnN0cmluZygyKSArICIlQTAiICsgIiUiICsgaGV4Qy5zdWJzdHJpbmcoMikpOwogICAgfSBjYXRjaCAoZSkgeyAKICAgICAgaWYgKChlIGluc3RhbmNlb2YgVVJJRXJyb3IpID09PSB0cnVlKSBjb250aW51ZTsgICAgICAgICAgICAgICAgCiAgICB9CiAgICByZXN1bHQgPSBmYWxzZTsKICB9CiAgaWYgKHJlc3VsdCAhPT0gdHJ1ZSkgewogICAgaWYgKGluZGV4TyA9PT0gMCkgeyAKICAgICAgaW5kZXhPID0gaW5kZXhCOwogICAgfSBlbHNlIHsKICAgICAgaWYgKChpbmRleEIgLSBpbmRleFApICE9PSAxKSB7ICAgICAgICAgICAgIAogICAgICAgIGlmICgoaW5kZXhQIC0gaW5kZXhPKSAhPT0gMCkgewogICAgICAgICAgdmFyIGhleFAgPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhQKTsKICAgICAgICAgIHZhciBoZXhPID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4Tyk7CiAgICAgICAgICAkRVJST1IoJyMnICsgaGV4TyArICctJyArIGhleFAgKyAnICcpOwogICAgICAgIH0gCiAgICAgICAgZWxzZSB7CiAgICAgICAgICB2YXIgaGV4UCA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleFApOwogICAgICAgICAgJEVSUk9SKCcjJyArIGhleFAgKyAnICcpOwogICAgICAgIH0gIAogICAgICAgIGluZGV4TyA9IGluZGV4QjsKICAgICAgfSAgICAgICAgIAogICAgfQogICAgaW5kZXhQID0gaW5kZXhCOwogICAgZXJyb3JDb3VudCsrOyAgICAgICAKICB9Cn0KCmlmIChlcnJvckNvdW50ID4gMCkgewogIGlmICgoaW5kZXhQIC0gaW5kZXhPKSAhPT0gMCkgewogICAgdmFyIGhleFAgPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhQKTsKICAgIHZhciBoZXhPID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4Tyk7CiAgICAkRVJST1IoJyMnICsgaGV4TyArICctJyArIGhleFAgKyAnICcpOwogIH0gZWxzZSB7CiAgICB2YXIgaGV4UCA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleFApOwogICAgJEVSUk9SKCcjJyArIGhleFAgKyAnICcpOwogIH0gICAgIAogICRFUlJPUignVG90YWwgZXJyb3I6ICcgKyBlcnJvckNvdW50ICsgJyBiYWQgVW5pY29kZSBjaGFyYWN0ZXIgaW4gJyArIGNvdW50ICsgJyAnKTsKfQoKZnVuY3Rpb24gZGVjaW1hbFRvSGV4U3RyaW5nKG4pIHsKICBuID0gTnVtYmVyKG4pOwogIHZhciBoID0gIiI7CiAgZm9yICh2YXIgaSA9IDM7IGkgPj0gMDsgaS0tKSB7CiAgICBpZiAobiA+PSBNYXRoLnBvdygxNiwgaSkpIHsKICAgICAgdmFyIHQgPSBNYXRoLmZsb29yKG4gLyBNYXRoLnBvdygxNiwgaSkpOwogICAgICBuIC09IHQgKiBNYXRoLnBvdygxNiwgaSk7CiAgICAgIGlmICggdCA+PSAxMCApIHsKICAgICAgICBpZiAoIHQgPT0gMTAgKSB7IGggKz0gIkEiOyB9CiAgICAgICAgaWYgKCB0ID09IDExICkgeyBoICs9ICJCIjsgfQogICAgICAgIGlmICggdCA9PSAxMiApIHsgaCArPSAiQyI7IH0KICAgICAgICBpZiAoIHQgPT0gMTMgKSB7IGggKz0gIkQiOyB9CiAgICAgICAgaWYgKCB0ID09IDE0ICkgeyBoICs9ICJFIjsgfQogICAgICAgIGlmICggdCA9PSAxNSApIHsgaCArPSAiRiI7IH0KICAgICAgfSBlbHNlIHsKICAgICAgICBoICs9IFN0cmluZyh0KTsKICAgICAgfQogICAgfSBlbHNlIHsKICAgICAgaCArPSAiMCI7CiAgICB9CiAgfQogIHJldHVybiBoOwp9Cgo=","commentary":"If B = 1110xxxx (n = 3) and C != 10xxxxxx (C - first of octets after B), throw URIError","description":"Complex tests. B = [0xE0 - 0xEF], C = [0xC0, 0xFF]","path":"TestCases/ch15/15.1/15.1.3/15.1.3.1/S15.1.3.1_A1.14_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBCID0gMTExMTB4eHggKG4gPSA0KSBhbmQgQyAhPSAxMHh4eHh4eCAoQyAtIGZpcnN0IG9mIG9jdGV0cyBhZnRlciBCKSwgdGhyb3cgVVJJRXJyb3IKICoKICogQHBhdGggY2gxNS8xNS4xLzE1LjEuMy8xNS4xLjMuMS9TMTUuMS4zLjFfQTEuMTVfVDEuanMKICogQGRlc2NyaXB0aW9uIENvbXBsZXggdGVzdHMuIEIgPSBbMHhGMCAtIDB4MEY3XSwgQyA9IFsweDAwLCAweDdGXQogKi8KCnZhciBlcnJvckNvdW50ID0gMDsKdmFyIGNvdW50ID0gMDsKdmFyIGluZGV4UDsKdmFyIGluZGV4TyA9IDA7Cgpmb3IgKHZhciBpbmRleEIgPSAweEYwOyBpbmRleEIgPD0gMHhGNzsgaW5kZXhCKyspIHsKICBjb3VudCsrOyAKICB2YXIgaGV4QiA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleEIpOyAKICB2YXIgcmVzdWx0ID0gdHJ1ZTsKICBmb3IgKHZhciBpbmRleEMgPSAweDAwOyBpbmRleEMgPD0gMHg3RjsgaW5kZXhDKyspIHsKICAgIHZhciBoZXhDID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4Qyk7ICAKICAgIHRyeSB7CiAgICAgIGRlY29kZVVSSSgiJSIgKyBoZXhCLnN1YnN0cmluZygyKSArICIlIiArIGhleEMuc3Vic3RyaW5nKDIpICsgIiVBMCVBMCIpOwogICAgfSBjYXRjaCAoZSkgeyAKICAgICAgaWYgKChlIGluc3RhbmNlb2YgVVJJRXJyb3IpID09PSB0cnVlKSBjb250aW51ZTsgICAgICAgICAgICAgICAgCiAgICB9CiAgICByZXN1bHQgPSBmYWxzZTsKICB9CiAgaWYgKHJlc3VsdCAhPT0gdHJ1ZSkgewogICAgaWYgKGluZGV4TyA9PT0gMCkgeyAKICAgICAgaW5kZXhPID0gaW5kZXhCOwogICAgfSBlbHNlIHsKICAgICAgaWYgKChpbmRleEIgLSBpbmRleFApICE9PSAxKSB7ICAgICAgICAgICAgIAogICAgICAgIGlmICgoaW5kZXhQIC0gaW5kZXhPKSAhPT0gMCkgewogICAgICAgICAgdmFyIGhleFAgPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhQKTsKICAgICAgICAgIHZhciBoZXhPID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4Tyk7CiAgICAgICAgICAkRVJST1IoJyMnICsgaGV4TyArICctJyArIGhleFAgKyAnICcpOwogICAgICAgIH0gCiAgICAgICAgZWxzZSB7CiAgICAgICAgICB2YXIgaGV4UCA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleFApOwogICAgICAgICAgJEVSUk9SKCcjJyArIGhleFAgKyAnICcpOwogICAgICAgIH0gIAogICAgICAgIGluZGV4TyA9IGluZGV4QjsKICAgICAgfSAgICAgICAgIAogICAgfQogICAgaW5kZXhQID0gaW5kZXhCOwogICAgZXJyb3JDb3VudCsrOyAgICAgICAKICB9Cn0KCmlmIChlcnJvckNvdW50ID4gMCkgewogIGlmICgoaW5kZXhQIC0gaW5kZXhPKSAhPT0gMCkgewogICAgdmFyIGhleFAgPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhQKTsKICAgIHZhciBoZXhPID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4Tyk7CiAgICAkRVJST1IoJyMnICsgaGV4TyArICctJyArIGhleFAgKyAnICcpOwogIH0gZWxzZSB7CiAgICB2YXIgaGV4UCA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleFApOwogICAgJEVSUk9SKCcjJyArIGhleFAgKyAnICcpOwogIH0gICAgIAogICRFUlJPUignVG90YWwgZXJyb3I6ICcgKyBlcnJvckNvdW50ICsgJyBiYWQgVW5pY29kZSBjaGFyYWN0ZXIgaW4gJyArIGNvdW50ICsgJyAnKTsKfQoKZnVuY3Rpb24gZGVjaW1hbFRvSGV4U3RyaW5nKG4pIHsKICBuID0gTnVtYmVyKG4pOwogIHZhciBoID0gIiI7CiAgZm9yICh2YXIgaSA9IDM7IGkgPj0gMDsgaS0tKSB7CiAgICBpZiAobiA+PSBNYXRoLnBvdygxNiwgaSkpIHsKICAgICAgdmFyIHQgPSBNYXRoLmZsb29yKG4gLyBNYXRoLnBvdygxNiwgaSkpOwogICAgICBuIC09IHQgKiBNYXRoLnBvdygxNiwgaSk7CiAgICAgIGlmICggdCA+PSAxMCApIHsKICAgICAgICBpZiAoIHQgPT0gMTAgKSB7IGggKz0gIkEiOyB9CiAgICAgICAgaWYgKCB0ID09IDExICkgeyBoICs9ICJCIjsgfQogICAgICAgIGlmICggdCA9PSAxMiApIHsgaCArPSAiQyI7IH0KICAgICAgICBpZiAoIHQgPT0gMTMgKSB7IGggKz0gIkQiOyB9CiAgICAgICAgaWYgKCB0ID09IDE0ICkgeyBoICs9ICJFIjsgfQogICAgICAgIGlmICggdCA9PSAxNSApIHsgaCArPSAiRiI7IH0KICAgICAgfSBlbHNlIHsKICAgICAgICBoICs9IFN0cmluZyh0KTsKICAgICAgfQogICAgfSBlbHNlIHsKICAgICAgaCArPSAiMCI7CiAgICB9CiAgfQogIHJldHVybiBoOwp9Cgo=","commentary":"If B = 11110xxx (n = 4) and C != 10xxxxxx (C - first of octets after B), throw URIError","description":"Complex tests. B = [0xF0 - 0x0F7], C = [0x00, 0x7F]","path":"TestCases/ch15/15.1/15.1.3/15.1.3.1/S15.1.3.1_A1.15_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBCID0gMTExMTB4eHggKG4gPSA0KSBhbmQgQyAhPSAxMHh4eHh4eCAoQyAtIGZpcnN0IG9mIG9jdGV0cyBhZnRlciBCKSwgdGhyb3cgVVJJRXJyb3IKICoKICogQHBhdGggY2gxNS8xNS4xLzE1LjEuMy8xNS4xLjMuMS9TMTUuMS4zLjFfQTEuMTVfVDIuanMKICogQGRlc2NyaXB0aW9uIENvbXBsZXggdGVzdHMuIEIgPSBbMHhGMCAtIDB4MEY3XSwgQyA9IFsweDAwLCAweDdGXQogKi8KCnZhciBlcnJvckNvdW50ID0gMDsKdmFyIGNvdW50ID0gMDsKdmFyIGluZGV4UDsKdmFyIGluZGV4TyA9IDA7Cgpmb3IgKHZhciBpbmRleEIgPSAweEYwOyBpbmRleEIgPD0gMHhGNzsgaW5kZXhCKyspIHsKICBjb3VudCsrOyAKICB2YXIgaGV4QiA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleEIpOyAKICB2YXIgcmVzdWx0ID0gdHJ1ZTsKICBmb3IgKHZhciBpbmRleEMgPSAweDAwOyBpbmRleEMgPD0gMHg3RjsgaW5kZXhDKyspIHsKICAgIHZhciBoZXhDID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4Qyk7ICAKICAgIHRyeSB7CiAgICAgIGRlY29kZVVSSSgiJSIgKyBoZXhCLnN1YnN0cmluZygyKSArICIlQTAiICsgIiUiICsgaGV4Qy5zdWJzdHJpbmcoMikgKyAiJUEwIik7CiAgICB9IGNhdGNoIChlKSB7IAogICAgICBpZiAoKGUgaW5zdGFuY2VvZiBVUklFcnJvcikgPT09IHRydWUpIGNvbnRpbnVlOyAgICAgICAgICAgICAgICAKICAgIH0KICAgIHJlc3VsdCA9IGZhbHNlOwogIH0KICBpZiAocmVzdWx0ICE9PSB0cnVlKSB7CiAgICBpZiAoaW5kZXhPID09PSAwKSB7IAogICAgICBpbmRleE8gPSBpbmRleEI7CiAgICB9IGVsc2UgewogICAgICBpZiAoKGluZGV4QiAtIGluZGV4UCkgIT09IDEpIHsgICAgICAgICAgICAgCiAgICAgICAgaWYgKChpbmRleFAgLSBpbmRleE8pICE9PSAwKSB7CiAgICAgICAgICB2YXIgaGV4UCA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleFApOwogICAgICAgICAgdmFyIGhleE8gPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhPKTsKICAgICAgICAgICRFUlJPUignIycgKyBoZXhPICsgJy0nICsgaGV4UCArICcgJyk7CiAgICAgICAgfSAKICAgICAgICBlbHNlIHsKICAgICAgICAgIHZhciBoZXhQID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4UCk7CiAgICAgICAgICAkRVJST1IoJyMnICsgaGV4UCArICcgJyk7CiAgICAgICAgfSAgCiAgICAgICAgaW5kZXhPID0gaW5kZXhCOwogICAgICB9ICAgICAgICAgCiAgICB9CiAgICBpbmRleFAgPSBpbmRleEI7CiAgICBlcnJvckNvdW50Kys7ICAgICAgIAogIH0KfQoKaWYgKGVycm9yQ291bnQgPiAwKSB7CiAgaWYgKChpbmRleFAgLSBpbmRleE8pICE9PSAwKSB7CiAgICB2YXIgaGV4UCA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleFApOwogICAgdmFyIGhleE8gPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhPKTsKICAgICRFUlJPUignIycgKyBoZXhPICsgJy0nICsgaGV4UCArICcgJyk7CiAgfSBlbHNlIHsKICAgIHZhciBoZXhQID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4UCk7CiAgICAkRVJST1IoJyMnICsgaGV4UCArICcgJyk7CiAgfSAgICAgCiAgJEVSUk9SKCdUb3RhbCBlcnJvcjogJyArIGVycm9yQ291bnQgKyAnIGJhZCBVbmljb2RlIGNoYXJhY3RlciBpbiAnICsgY291bnQgKyAnICcpOwp9CgpmdW5jdGlvbiBkZWNpbWFsVG9IZXhTdHJpbmcobikgewogIG4gPSBOdW1iZXIobik7CiAgdmFyIGggPSAiIjsKICBmb3IgKHZhciBpID0gMzsgaSA+PSAwOyBpLS0pIHsKICAgIGlmIChuID49IE1hdGgucG93KDE2LCBpKSkgewogICAgICB2YXIgdCA9IE1hdGguZmxvb3IobiAvIE1hdGgucG93KDE2LCBpKSk7CiAgICAgIG4gLT0gdCAqIE1hdGgucG93KDE2LCBpKTsKICAgICAgaWYgKCB0ID49IDEwICkgewogICAgICAgIGlmICggdCA9PSAxMCApIHsgaCArPSAiQSI7IH0KICAgICAgICBpZiAoIHQgPT0gMTEgKSB7IGggKz0gIkIiOyB9CiAgICAgICAgaWYgKCB0ID09IDEyICkgeyBoICs9ICJDIjsgfQogICAgICAgIGlmICggdCA9PSAxMyApIHsgaCArPSAiRCI7IH0KICAgICAgICBpZiAoIHQgPT0gMTQgKSB7IGggKz0gIkUiOyB9CiAgICAgICAgaWYgKCB0ID09IDE1ICkgeyBoICs9ICJGIjsgfQogICAgICB9IGVsc2UgewogICAgICAgIGggKz0gU3RyaW5nKHQpOwogICAgICB9CiAgICB9IGVsc2UgewogICAgICBoICs9ICIwIjsKICAgIH0KICB9CiAgcmV0dXJuIGg7Cn0KCg==","commentary":"If B = 11110xxx (n = 4) and C != 10xxxxxx (C - first of octets after B), throw URIError","description":"Complex tests. B = [0xF0 - 0x0F7], C = [0x00, 0x7F]","path":"TestCases/ch15/15.1/15.1.3/15.1.3.1/S15.1.3.1_A1.15_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBCID0gMTExMTB4eHggKG4gPSA0KSBhbmQgQyAhPSAxMHh4eHh4eCAoQyAtIGZpcnN0IG9mIG9jdGV0cyBhZnRlciBCKSwgdGhyb3cgVVJJRXJyb3IKICoKICogQHBhdGggY2gxNS8xNS4xLzE1LjEuMy8xNS4xLjMuMS9TMTUuMS4zLjFfQTEuMTVfVDMuanMKICogQGRlc2NyaXB0aW9uIENvbXBsZXggdGVzdHMuIEIgPSBbMHhGMCAtIDB4MEY3XSwgQyA9IFsweDAwLCAweDdGXQogKi8KCnZhciBlcnJvckNvdW50ID0gMDsKdmFyIGNvdW50ID0gMDsKdmFyIGluZGV4UDsKdmFyIGluZGV4TyA9IDA7Cgpmb3IgKHZhciBpbmRleEIgPSAweEYwOyBpbmRleEIgPD0gMHhGNzsgaW5kZXhCKyspIHsKICBjb3VudCsrOyAKICB2YXIgaGV4QiA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleEIpOyAKICB2YXIgcmVzdWx0ID0gdHJ1ZTsKICBmb3IgKHZhciBpbmRleEMgPSAweDAwOyBpbmRleEMgPD0gMHg3RjsgaW5kZXhDKyspIHsKICAgIHZhciBoZXhDID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4Qyk7ICAKICAgIHRyeSB7CiAgICAgIGRlY29kZVVSSSgiJSIgKyBoZXhCLnN1YnN0cmluZygyKSArICIlQTAlQTAiICsgIiUiICsgaGV4Qy5zdWJzdHJpbmcoMikpOwogICAgfSBjYXRjaCAoZSkgeyAKICAgICAgaWYgKChlIGluc3RhbmNlb2YgVVJJRXJyb3IpID09PSB0cnVlKSBjb250aW51ZTsgICAgICAgICAgICAgICAgCiAgICB9CiAgICByZXN1bHQgPSBmYWxzZTsKICB9CiAgaWYgKHJlc3VsdCAhPT0gdHJ1ZSkgewogICAgaWYgKGluZGV4TyA9PT0gMCkgeyAKICAgICAgaW5kZXhPID0gaW5kZXhCOwogICAgfSBlbHNlIHsKICAgICAgaWYgKChpbmRleEIgLSBpbmRleFApICE9PSAxKSB7ICAgICAgICAgICAgIAogICAgICAgIGlmICgoaW5kZXhQIC0gaW5kZXhPKSAhPT0gMCkgewogICAgICAgICAgdmFyIGhleFAgPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhQKTsKICAgICAgICAgIHZhciBoZXhPID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4Tyk7CiAgICAgICAgICAkRVJST1IoJyMnICsgaGV4TyArICctJyArIGhleFAgKyAnICcpOwogICAgICAgIH0gCiAgICAgICAgZWxzZSB7CiAgICAgICAgICB2YXIgaGV4UCA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleFApOwogICAgICAgICAgJEVSUk9SKCcjJyArIGhleFAgKyAnICcpOwogICAgICAgIH0gIAogICAgICAgIGluZGV4TyA9IGluZGV4QjsKICAgICAgfSAgICAgICAgIAogICAgfQogICAgaW5kZXhQID0gaW5kZXhCOwogICAgZXJyb3JDb3VudCsrOyAgICAgICAKICB9Cn0KCmlmIChlcnJvckNvdW50ID4gMCkgewogIGlmICgoaW5kZXhQIC0gaW5kZXhPKSAhPT0gMCkgewogICAgdmFyIGhleFAgPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhQKTsKICAgIHZhciBoZXhPID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4Tyk7CiAgICAkRVJST1IoJyMnICsgaGV4TyArICctJyArIGhleFAgKyAnICcpOwogIH0gZWxzZSB7CiAgICB2YXIgaGV4UCA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleFApOwogICAgJEVSUk9SKCcjJyArIGhleFAgKyAnICcpOwogIH0gICAgIAogICRFUlJPUignVG90YWwgZXJyb3I6ICcgKyBlcnJvckNvdW50ICsgJyBiYWQgVW5pY29kZSBjaGFyYWN0ZXIgaW4gJyArIGNvdW50ICsgJyAnKTsKfQoKZnVuY3Rpb24gZGVjaW1hbFRvSGV4U3RyaW5nKG4pIHsKICBuID0gTnVtYmVyKG4pOwogIHZhciBoID0gIiI7CiAgZm9yICh2YXIgaSA9IDM7IGkgPj0gMDsgaS0tKSB7CiAgICBpZiAobiA+PSBNYXRoLnBvdygxNiwgaSkpIHsKICAgICAgdmFyIHQgPSBNYXRoLmZsb29yKG4gLyBNYXRoLnBvdygxNiwgaSkpOwogICAgICBuIC09IHQgKiBNYXRoLnBvdygxNiwgaSk7CiAgICAgIGlmICggdCA+PSAxMCApIHsKICAgICAgICBpZiAoIHQgPT0gMTAgKSB7IGggKz0gIkEiOyB9CiAgICAgICAgaWYgKCB0ID09IDExICkgeyBoICs9ICJCIjsgfQogICAgICAgIGlmICggdCA9PSAxMiApIHsgaCArPSAiQyI7IH0KICAgICAgICBpZiAoIHQgPT0gMTMgKSB7IGggKz0gIkQiOyB9CiAgICAgICAgaWYgKCB0ID09IDE0ICkgeyBoICs9ICJFIjsgfQogICAgICAgIGlmICggdCA9PSAxNSApIHsgaCArPSAiRiI7IH0KICAgICAgfSBlbHNlIHsKICAgICAgICBoICs9IFN0cmluZyh0KTsKICAgICAgfQogICAgfSBlbHNlIHsKICAgICAgaCArPSAiMCI7CiAgICB9CiAgfQogIHJldHVybiBoOwp9Cgo=","commentary":"If B = 11110xxx (n = 4) and C != 10xxxxxx (C - first of octets after B), throw URIError","description":"Complex tests. B = [0xF0 - 0x0F7], C = [0x00, 0x7F]","path":"TestCases/ch15/15.1/15.1.3/15.1.3.1/S15.1.3.1_A1.15_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBCID0gMTExMTB4eHggKG4gPSA0KSBhbmQgQyAhPSAxMHh4eHh4eCAoQyAtIGZpcnN0IG9mIG9jdGV0cyBhZnRlciBCKSwgdGhyb3cgVVJJRXJyb3IKICoKICogQHBhdGggY2gxNS8xNS4xLzE1LjEuMy8xNS4xLjMuMS9TMTUuMS4zLjFfQTEuMTVfVDQuanMKICogQGRlc2NyaXB0aW9uIENvbXBsZXggdGVzdHMuIEIgPSBbMHhGMCAtIDB4MEY3XSwgQyA9IFsweEMwLCAweEZGXQogKi8KCnZhciBlcnJvckNvdW50ID0gMDsKdmFyIGNvdW50ID0gMDsKdmFyIGluZGV4UDsKdmFyIGluZGV4TyA9IDA7Cgpmb3IgKHZhciBpbmRleEIgPSAweEYwOyBpbmRleEIgPD0gMHhGNzsgaW5kZXhCKyspIHsKICBjb3VudCsrOyAKICB2YXIgaGV4QiA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleEIpOyAKICB2YXIgcmVzdWx0ID0gdHJ1ZTsKICBmb3IgKHZhciBpbmRleEMgPSAweEMwOyBpbmRleEMgPD0gMHhGRjsgaW5kZXhDKyspIHsKICAgIHZhciBoZXhDID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4Qyk7ICAKICAgIHRyeSB7CiAgICAgIGRlY29kZVVSSSgiJSIgKyBoZXhCLnN1YnN0cmluZygyKSArICIlIiArIGhleEMuc3Vic3RyaW5nKDIpICsgIiVBMCVBMCIpOwogICAgfSBjYXRjaCAoZSkgeyAKICAgICAgaWYgKChlIGluc3RhbmNlb2YgVVJJRXJyb3IpID09PSB0cnVlKSBjb250aW51ZTsgICAgICAgICAgICAgICAgCiAgICB9CiAgICByZXN1bHQgPSBmYWxzZTsKICB9CiAgaWYgKHJlc3VsdCAhPT0gdHJ1ZSkgewogICAgaWYgKGluZGV4TyA9PT0gMCkgeyAKICAgICAgaW5kZXhPID0gaW5kZXhCOwogICAgfSBlbHNlIHsKICAgICAgaWYgKChpbmRleEIgLSBpbmRleFApICE9PSAxKSB7ICAgICAgICAgICAgIAogICAgICAgIGlmICgoaW5kZXhQIC0gaW5kZXhPKSAhPT0gMCkgewogICAgICAgICAgdmFyIGhleFAgPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhQKTsKICAgICAgICAgIHZhciBoZXhPID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4Tyk7CiAgICAgICAgICAkRVJST1IoJyMnICsgaGV4TyArICctJyArIGhleFAgKyAnICcpOwogICAgICAgIH0gCiAgICAgICAgZWxzZSB7CiAgICAgICAgICB2YXIgaGV4UCA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleFApOwogICAgICAgICAgJEVSUk9SKCcjJyArIGhleFAgKyAnICcpOwogICAgICAgIH0gIAogICAgICAgIGluZGV4TyA9IGluZGV4QjsKICAgICAgfSAgICAgICAgIAogICAgfQogICAgaW5kZXhQID0gaW5kZXhCOwogICAgZXJyb3JDb3VudCsrOyAgICAgICAKICB9Cn0KCmlmIChlcnJvckNvdW50ID4gMCkgewogIGlmICgoaW5kZXhQIC0gaW5kZXhPKSAhPT0gMCkgewogICAgdmFyIGhleFAgPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhQKTsKICAgIHZhciBoZXhPID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4Tyk7CiAgICAkRVJST1IoJyMnICsgaGV4TyArICctJyArIGhleFAgKyAnICcpOwogIH0gZWxzZSB7CiAgICB2YXIgaGV4UCA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleFApOwogICAgJEVSUk9SKCcjJyArIGhleFAgKyAnICcpOwogIH0gICAgIAogICRFUlJPUignVG90YWwgZXJyb3I6ICcgKyBlcnJvckNvdW50ICsgJyBiYWQgVW5pY29kZSBjaGFyYWN0ZXIgaW4gJyArIGNvdW50ICsgJyAnKTsKfQoKZnVuY3Rpb24gZGVjaW1hbFRvSGV4U3RyaW5nKG4pIHsKICBuID0gTnVtYmVyKG4pOwogIHZhciBoID0gIiI7CiAgZm9yICh2YXIgaSA9IDM7IGkgPj0gMDsgaS0tKSB7CiAgICBpZiAobiA+PSBNYXRoLnBvdygxNiwgaSkpIHsKICAgICAgdmFyIHQgPSBNYXRoLmZsb29yKG4gLyBNYXRoLnBvdygxNiwgaSkpOwogICAgICBuIC09IHQgKiBNYXRoLnBvdygxNiwgaSk7CiAgICAgIGlmICggdCA+PSAxMCApIHsKICAgICAgICBpZiAoIHQgPT0gMTAgKSB7IGggKz0gIkEiOyB9CiAgICAgICAgaWYgKCB0ID09IDExICkgeyBoICs9ICJCIjsgfQogICAgICAgIGlmICggdCA9PSAxMiApIHsgaCArPSAiQyI7IH0KICAgICAgICBpZiAoIHQgPT0gMTMgKSB7IGggKz0gIkQiOyB9CiAgICAgICAgaWYgKCB0ID09IDE0ICkgeyBoICs9ICJFIjsgfQogICAgICAgIGlmICggdCA9PSAxNSApIHsgaCArPSAiRiI7IH0KICAgICAgfSBlbHNlIHsKICAgICAgICBoICs9IFN0cmluZyh0KTsKICAgICAgfQogICAgfSBlbHNlIHsKICAgICAgaCArPSAiMCI7CiAgICB9CiAgfQogIHJldHVybiBoOwp9Cgo=","commentary":"If B = 11110xxx (n = 4) and C != 10xxxxxx (C - first of octets after B), throw URIError","description":"Complex tests. B = [0xF0 - 0x0F7], C = [0xC0, 0xFF]","path":"TestCases/ch15/15.1/15.1.3/15.1.3.1/S15.1.3.1_A1.15_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBCID0gMTExMTB4eHggKG4gPSA0KSBhbmQgQyAhPSAxMHh4eHh4eCAoQyAtIGZpcnN0IG9mIG9jdGV0cyBhZnRlciBCKSwgdGhyb3cgVVJJRXJyb3IKICoKICogQHBhdGggY2gxNS8xNS4xLzE1LjEuMy8xNS4xLjMuMS9TMTUuMS4zLjFfQTEuMTVfVDUuanMKICogQGRlc2NyaXB0aW9uIENvbXBsZXggdGVzdHMuIEIgPSBbMHhGMCAtIDB4MEY3XSwgQyA9IFsweEMwLCAweEZGXQogKi8KCnZhciBlcnJvckNvdW50ID0gMDsKdmFyIGNvdW50ID0gMDsKdmFyIGluZGV4UDsKdmFyIGluZGV4TyA9IDA7Cgpmb3IgKHZhciBpbmRleEIgPSAweEYwOyBpbmRleEIgPD0gMHhGNzsgaW5kZXhCKyspIHsKICBjb3VudCsrOyAKICB2YXIgaGV4QiA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleEIpOyAKICB2YXIgcmVzdWx0ID0gdHJ1ZTsKICBmb3IgKHZhciBpbmRleEMgPSAweEMwOyBpbmRleEMgPD0gMHhGRjsgaW5kZXhDKyspIHsKICAgIHZhciBoZXhDID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4Qyk7ICAKICAgIHRyeSB7CiAgICAgIGRlY29kZVVSSSgiJSIgKyBoZXhCLnN1YnN0cmluZygyKSArICIlQTAiICsgIiUiICsgaGV4Qy5zdWJzdHJpbmcoMikgKyAiJUEwIik7CiAgICB9IGNhdGNoIChlKSB7IAogICAgICBpZiAoKGUgaW5zdGFuY2VvZiBVUklFcnJvcikgPT09IHRydWUpIGNvbnRpbnVlOyAgICAgICAgICAgICAgICAKICAgIH0KICAgIHJlc3VsdCA9IGZhbHNlOwogIH0KICBpZiAocmVzdWx0ICE9PSB0cnVlKSB7CiAgICBpZiAoaW5kZXhPID09PSAwKSB7IAogICAgICBpbmRleE8gPSBpbmRleEI7CiAgICB9IGVsc2UgewogICAgICBpZiAoKGluZGV4QiAtIGluZGV4UCkgIT09IDEpIHsgICAgICAgICAgICAgCiAgICAgICAgaWYgKChpbmRleFAgLSBpbmRleE8pICE9PSAwKSB7CiAgICAgICAgICB2YXIgaGV4UCA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleFApOwogICAgICAgICAgdmFyIGhleE8gPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhPKTsKICAgICAgICAgICRFUlJPUignIycgKyBoZXhPICsgJy0nICsgaGV4UCArICcgJyk7CiAgICAgICAgfSAKICAgICAgICBlbHNlIHsKICAgICAgICAgIHZhciBoZXhQID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4UCk7CiAgICAgICAgICAkRVJST1IoJyMnICsgaGV4UCArICcgJyk7CiAgICAgICAgfSAgCiAgICAgICAgaW5kZXhPID0gaW5kZXhCOwogICAgICB9ICAgICAgICAgCiAgICB9CiAgICBpbmRleFAgPSBpbmRleEI7CiAgICBlcnJvckNvdW50Kys7ICAgICAgIAogIH0KfQoKaWYgKGVycm9yQ291bnQgPiAwKSB7CiAgaWYgKChpbmRleFAgLSBpbmRleE8pICE9PSAwKSB7CiAgICB2YXIgaGV4UCA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleFApOwogICAgdmFyIGhleE8gPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhPKTsKICAgICRFUlJPUignIycgKyBoZXhPICsgJy0nICsgaGV4UCArICcgJyk7CiAgfSBlbHNlIHsKICAgIHZhciBoZXhQID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4UCk7CiAgICAkRVJST1IoJyMnICsgaGV4UCArICcgJyk7CiAgfSAgICAgCiAgJEVSUk9SKCdUb3RhbCBlcnJvcjogJyArIGVycm9yQ291bnQgKyAnIGJhZCBVbmljb2RlIGNoYXJhY3RlciBpbiAnICsgY291bnQgKyAnICcpOwp9CgpmdW5jdGlvbiBkZWNpbWFsVG9IZXhTdHJpbmcobikgewogIG4gPSBOdW1iZXIobik7CiAgdmFyIGggPSAiIjsKICBmb3IgKHZhciBpID0gMzsgaSA+PSAwOyBpLS0pIHsKICAgIGlmIChuID49IE1hdGgucG93KDE2LCBpKSkgewogICAgICB2YXIgdCA9IE1hdGguZmxvb3IobiAvIE1hdGgucG93KDE2LCBpKSk7CiAgICAgIG4gLT0gdCAqIE1hdGgucG93KDE2LCBpKTsKICAgICAgaWYgKCB0ID49IDEwICkgewogICAgICAgIGlmICggdCA9PSAxMCApIHsgaCArPSAiQSI7IH0KICAgICAgICBpZiAoIHQgPT0gMTEgKSB7IGggKz0gIkIiOyB9CiAgICAgICAgaWYgKCB0ID09IDEyICkgeyBoICs9ICJDIjsgfQogICAgICAgIGlmICggdCA9PSAxMyApIHsgaCArPSAiRCI7IH0KICAgICAgICBpZiAoIHQgPT0gMTQgKSB7IGggKz0gIkUiOyB9CiAgICAgICAgaWYgKCB0ID09IDE1ICkgeyBoICs9ICJGIjsgfQogICAgICB9IGVsc2UgewogICAgICAgIGggKz0gU3RyaW5nKHQpOwogICAgICB9CiAgICB9IGVsc2UgewogICAgICBoICs9ICIwIjsKICAgIH0KICB9CiAgcmV0dXJuIGg7Cn0KCg==","commentary":"If B = 11110xxx (n = 4) and C != 10xxxxxx (C - first of octets after B), throw URIError","description":"Complex tests. B = [0xF0 - 0x0F7], C = [0xC0, 0xFF]","path":"TestCases/ch15/15.1/15.1.3/15.1.3.1/S15.1.3.1_A1.15_T5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBCID0gMTExMTB4eHggKG4gPSA0KSBhbmQgQyAhPSAxMHh4eHh4eCAoQyAtIGZpcnN0IG9mIG9jdGV0cyBhZnRlciBCKSwgdGhyb3cgVVJJRXJyb3IKICoKICogQHBhdGggY2gxNS8xNS4xLzE1LjEuMy8xNS4xLjMuMS9TMTUuMS4zLjFfQTEuMTVfVDYuanMKICogQGRlc2NyaXB0aW9uIENvbXBsZXggdGVzdHMuIEIgPSBbMHhGMCAtIDB4MEY3XSwgQyA9IFsweEMwLCAweEZGXQogKi8KCnZhciBlcnJvckNvdW50ID0gMDsKdmFyIGNvdW50ID0gMDsKdmFyIGluZGV4UDsKdmFyIGluZGV4TyA9IDA7Cgpmb3IgKHZhciBpbmRleEIgPSAweEYwOyBpbmRleEIgPD0gMHhGNzsgaW5kZXhCKyspIHsKICBjb3VudCsrOyAKICB2YXIgaGV4QiA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleEIpOyAKICB2YXIgcmVzdWx0ID0gdHJ1ZTsKICBmb3IgKHZhciBpbmRleEMgPSAweEMwOyBpbmRleEMgPD0gMHhGRjsgaW5kZXhDKyspIHsKICAgIHZhciBoZXhDID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4Qyk7ICAKICAgIHRyeSB7CiAgICAgIGRlY29kZVVSSSgiJSIgKyBoZXhCLnN1YnN0cmluZygyKSArICIlQTAlQTAiICsgIiUiICsgaGV4Qy5zdWJzdHJpbmcoMikpOwogICAgfSBjYXRjaCAoZSkgeyAKICAgICAgaWYgKChlIGluc3RhbmNlb2YgVVJJRXJyb3IpID09PSB0cnVlKSBjb250aW51ZTsgICAgICAgICAgICAgICAgCiAgICB9CiAgICByZXN1bHQgPSBmYWxzZTsKICB9CiAgaWYgKHJlc3VsdCAhPT0gdHJ1ZSkgewogICAgaWYgKGluZGV4TyA9PT0gMCkgeyAKICAgICAgaW5kZXhPID0gaW5kZXhCOwogICAgfSBlbHNlIHsKICAgICAgaWYgKChpbmRleEIgLSBpbmRleFApICE9PSAxKSB7ICAgICAgICAgICAgIAogICAgICAgIGlmICgoaW5kZXhQIC0gaW5kZXhPKSAhPT0gMCkgewogICAgICAgICAgdmFyIGhleFAgPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhQKTsKICAgICAgICAgIHZhciBoZXhPID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4Tyk7CiAgICAgICAgICAkRVJST1IoJyMnICsgaGV4TyArICctJyArIGhleFAgKyAnICcpOwogICAgICAgIH0gCiAgICAgICAgZWxzZSB7CiAgICAgICAgICB2YXIgaGV4UCA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleFApOwogICAgICAgICAgJEVSUk9SKCcjJyArIGhleFAgKyAnICcpOwogICAgICAgIH0gIAogICAgICAgIGluZGV4TyA9IGluZGV4QjsKICAgICAgfSAgICAgICAgIAogICAgfQogICAgaW5kZXhQID0gaW5kZXhCOwogICAgZXJyb3JDb3VudCsrOyAgICAgICAKICB9Cn0KCmlmIChlcnJvckNvdW50ID4gMCkgewogIGlmICgoaW5kZXhQIC0gaW5kZXhPKSAhPT0gMCkgewogICAgdmFyIGhleFAgPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhQKTsKICAgIHZhciBoZXhPID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4Tyk7CiAgICAkRVJST1IoJyMnICsgaGV4TyArICctJyArIGhleFAgKyAnICcpOwogIH0gZWxzZSB7CiAgICB2YXIgaGV4UCA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleFApOwogICAgJEVSUk9SKCcjJyArIGhleFAgKyAnICcpOwogIH0gICAgIAogICRFUlJPUignVG90YWwgZXJyb3I6ICcgKyBlcnJvckNvdW50ICsgJyBiYWQgVW5pY29kZSBjaGFyYWN0ZXIgaW4gJyArIGNvdW50ICsgJyAnKTsKfQoKZnVuY3Rpb24gZGVjaW1hbFRvSGV4U3RyaW5nKG4pIHsKICBuID0gTnVtYmVyKG4pOwogIHZhciBoID0gIiI7CiAgZm9yICh2YXIgaSA9IDM7IGkgPj0gMDsgaS0tKSB7CiAgICBpZiAobiA+PSBNYXRoLnBvdygxNiwgaSkpIHsKICAgICAgdmFyIHQgPSBNYXRoLmZsb29yKG4gLyBNYXRoLnBvdygxNiwgaSkpOwogICAgICBuIC09IHQgKiBNYXRoLnBvdygxNiwgaSk7CiAgICAgIGlmICggdCA+PSAxMCApIHsKICAgICAgICBpZiAoIHQgPT0gMTAgKSB7IGggKz0gIkEiOyB9CiAgICAgICAgaWYgKCB0ID09IDExICkgeyBoICs9ICJCIjsgfQogICAgICAgIGlmICggdCA9PSAxMiApIHsgaCArPSAiQyI7IH0KICAgICAgICBpZiAoIHQgPT0gMTMgKSB7IGggKz0gIkQiOyB9CiAgICAgICAgaWYgKCB0ID09IDE0ICkgeyBoICs9ICJFIjsgfQogICAgICAgIGlmICggdCA9PSAxNSApIHsgaCArPSAiRiI7IH0KICAgICAgfSBlbHNlIHsKICAgICAgICBoICs9IFN0cmluZyh0KTsKICAgICAgfQogICAgfSBlbHNlIHsKICAgICAgaCArPSAiMCI7CiAgICB9CiAgfQogIHJldHVybiBoOwp9Cgo=","commentary":"If B = 11110xxx (n = 4) and C != 10xxxxxx (C - first of octets after B), throw URIError","description":"Complex tests. B = [0xF0 - 0x0F7], C = [0xC0, 0xFF]","path":"TestCases/ch15/15.1/15.1.3/15.1.3.1/S15.1.3.1_A1.15_T6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBzdHJpbmcuY2hhckF0KGspIGVxdWFsICIlIiBhbmQgayArIDIgPj0gc3RyaW5nLmxlbmd0aCwgdGhyb3cgVVJJRXJyb3IKICoKICogQHBhdGggY2gxNS8xNS4xLzE1LjEuMy8xNS4xLjMuMS9TMTUuMS4zLjFfQTEuMV9UMS5qcwogKiBAZGVzY3JpcHRpb24gQ29tcGxleCB0ZXN0cwogKi8KCnZhciByZXN1bHQgPSB0cnVlOwoKLy9DSEVDSyMxCnRyeSB7CiAgZGVjb2RlVVJJKCIlIik7CiAgcmVzdWx0ID0gZmFsc2U7Cn0gY2F0Y2goZSkgewogIGlmICgoZSBpbnN0YW5jZW9mIFVSSUVycm9yKSAhPT0gdHJ1ZSkgewogICAgcmVzdWx0ID0gZmFsc2U7CiAgfQp9CgovL0NIRUNLIzIKdHJ5IHsKICBkZWNvZGVVUkkoIiVBIik7CiAgcmVzdWx0ID0gZmFsc2U7Cn0gY2F0Y2goZSkgewogIGlmICgoZSBpbnN0YW5jZW9mIFVSSUVycm9yKSAhPT0gdHJ1ZSkgewogICAgcmVzdWx0ID0gZmFsc2U7CiAgfQp9CgovL0NIRUNLIzMKdHJ5IHsKICBkZWNvZGVVUkkoIiUxIik7CiAgcmVzdWx0ID0gZmFsc2U7Cn0gY2F0Y2goZSkgewogIGlmICgoZSBpbnN0YW5jZW9mIFVSSUVycm9yKSAhPT0gdHJ1ZSkgewogICAgcmVzdWx0ID0gZmFsc2U7CiAgfQp9CgovL0NIRUNLIzQKdHJ5IHsKICBkZWNvZGVVUkkoIiUgIik7CiAgcmVzdWx0ID0gZmFsc2U7Cn0gY2F0Y2goZSkgewogIGlmICgoZSBpbnN0YW5jZW9mIFVSSUVycm9yKSAhPT0gdHJ1ZSkgewogICAgcmVzdWx0ID0gZmFsc2U7CiAgfQp9CgppZiAocmVzdWx0ICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMTogSWYgc3RyaW5nLmNoYXJBdChrKSBlcXVhbCAiJSIgYW5kIGsgKyAyID49IHN0cmluZy5sZW5ndGgsIHRocm93IFVSSUVycm9yJyk7Cn0KCgoKCg==","commentary":"If string.charAt(k) equal \"%\" and k + 2 >= string.length, throw URIError","description":"Complex tests","path":"TestCases/ch15/15.1/15.1.3/15.1.3.1/S15.1.3.1_A1.1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBCID0gc3RyaW5nLmNoYXJBdChrKzEpICsgc3RyaW5nLmNoYXJBdChrKzIpIGRvIG5vdCByZXByZXNlbnQKICogaGV4YWRlY2ltYWwgZGlnaXRzLCB0aHJvdyBVUklFcnJvcgogKgogKiBAcGF0aCBjaDE1LzE1LjEvMTUuMS4zLzE1LjEuMy4xL1MxNS4xLjMuMV9BMS4yX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBDb21wbGV4IHRlc3RzCiAqLwoKLy9DSEVDSwp2YXIgcmVzdWx0ID0gdHJ1ZTsKdmFyIGludGVydmFsID0gW1sweDAwLCAweDI5XSwgWzB4NDAsMHg0MF0sIFsweDQ3LCAweDYwXSwgWzB4NjcsIDB4RkZGRl1dOwpmb3IgKHZhciBpbmRleEkgPSAwOyBpbmRleEkgPCBpbnRlcnZhbC5sZW5ndGg7IGluZGV4SSsrKSB7CiAgZm9yICh2YXIgaW5kZXhKID0gaW50ZXJ2YWxbaW5kZXhJXVswXTsgaW5kZXhKIDw9IGludGVydmFsW2luZGV4SV1bMV07IGluZGV4SisrKSB7CiAgICB0cnkgewogICAgICBkZWNvZGVVUkkoIiUiICsgU3RyaW5nLmZyb21DaGFyQ29kZShpbmRleEopICsgIjEiKTsKICAgICAgcmVzdWx0ID0gZmFsc2U7CiAgICB9IGNhdGNoIChlKSB7ICAgCiAgICAgIGlmICgoZSBpbnN0YW5jZW9mIFVSSUVycm9yKSAhPT0gdHJ1ZSkgewogICAgICAgIHJlc3VsdCA9IGZhbHNlOwogICAgICB9CiAgICB9ICAgIAogIH0gIAp9ICAKCmlmIChyZXN1bHQgIT09IHRydWUpIHsgICAgCiAgJEVSUk9SKCcjMTogSWYgc3RyaW5nLmNoYXJBdChrKzEpIGRvZXMgbm90IHJlcHJlc2VudCBoZXhhZGVjaW1hbCBkaWdpdHMsIHRocm93IFVSSUVycm9yJyk7Cn0KCg==","commentary":"If B = string.charAt(k+1) + string.charAt(k+2) do not represent\nhexadecimal digits, throw URIError","description":"Complex tests","path":"TestCases/ch15/15.1/15.1.3/15.1.3.1/S15.1.3.1_A1.2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBCID0gc3RyaW5nLmNoYXJBdChrKzEpICsgc3RyaW5nLmNoYXJBdChrKzIpIGRvIG5vdCByZXByZXNlbnQKICogaGV4YWRlY2ltYWwgZGlnaXRzLCB0aHJvdyBVUklFcnJvcgogKgogKiBAcGF0aCBjaDE1LzE1LjEvMTUuMS4zLzE1LjEuMy4xL1MxNS4xLjMuMV9BMS4yX1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBDb21wbGV4IHRlc3RzCiAqLwoKLy9DSEVDSwp2YXIgcmVzdWx0ID0gdHJ1ZTsKdmFyIGludGVydmFsID0gW1sweDAwLCAweDI5XSwgWzB4NDAsMHg0MF0sIFsweDQ3LCAweDYwXSwgWzB4NjcsIDB4RkZGRl1dOwpmb3IgKHZhciBpbmRleEkgPSAwOyBpbmRleEkgPCBpbnRlcnZhbC5sZW5ndGg7IGluZGV4SSsrKSB7CiAgZm9yICh2YXIgaW5kZXhKID0gaW50ZXJ2YWxbaW5kZXhJXVswXTsgaW5kZXhKIDw9IGludGVydmFsW2luZGV4SV1bMV07IGluZGV4SisrKSB7CiAgICB0cnkgewogICAgICBkZWNvZGVVUkkoIiUiICsgIjEiICsgU3RyaW5nLmZyb21DaGFyQ29kZShpbmRleEopKTsKICAgICAgcmVzdWx0ID0gZmFsc2U7CiAgICB9IGNhdGNoIChlKSB7ICAgCiAgICAgIGlmICgoZSBpbnN0YW5jZW9mIFVSSUVycm9yKSAhPT0gdHJ1ZSkgewogICAgICAgIHJlc3VsdCA9IGZhbHNlOwogICAgICB9CiAgICB9ICAgICAgCiAgfSAgCn0gIAoKaWYgKHJlc3VsdCAhPT0gdHJ1ZSkgeyAgICAKICAkRVJST1IoJyMxOiBJZiBzdHJpbmcuY2hhckF0KGsrMikgZG9lcyBub3QgcmVwcmVzZW50IGhleGFkZWNpbWFsIGRpZ2l0cywgdGhyb3cgVVJJRXJyb3InKTsKfQoK","commentary":"If B = string.charAt(k+1) + string.charAt(k+2) do not represent\nhexadecimal digits, throw URIError","description":"Complex tests","path":"TestCases/ch15/15.1/15.1.3/15.1.3.1/S15.1.3.1_A1.2_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBCID0gMTB4eHh4eHggb3IgQiA9IDExMTExeHh4LCB0aHJvdyBVUklFcnJvcgogKgogKiBAcGF0aCBjaDE1LzE1LjEvMTUuMS4zLzE1LjEuMy4xL1MxNS4xLjMuMV9BMS4zX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBDb21wbGV4IHRlc3RzLiBCID0gMTB4eHh4eHggLT4gQiBpbiBbMHg4MCAtIDB4QkZdCiAqLwoKdmFyIGVycm9yQ291bnQgPSAwOwp2YXIgY291bnQgPSAwOwp2YXIgaW5kZXhQOwp2YXIgaW5kZXhPID0gMDsKCmZvciAodmFyIGluZGV4ID0gMHg4MDsgaW5kZXggPD0gMHhCRjsgaW5kZXgrKykgewogIGNvdW50Kys7IAogIHZhciBoZXggPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXgpOwogIHRyeSB7CiAgICBkZWNvZGVVUkkoIiUiICsgaGV4LnN1YnN0cmluZygyKSk7CiAgfSBjYXRjaCAoZSkgeyAKICAgIGlmICgoZSBpbnN0YW5jZW9mIFVSSUVycm9yKSA9PT0gdHJ1ZSkgY29udGludWU7ICAgICAgICAgICAgICAgIAogIH0KICBpZiAoaW5kZXhPID09PSAwKSB7IAogICAgaW5kZXhPID0gaW5kZXg7CiAgfSBlbHNlIHsKICAgIGlmICgoaW5kZXggLSBpbmRleFApICE9PSAxKSB7ICAgICAgICAgICAgIAogICAgICBpZiAoKGluZGV4UCAtIGluZGV4TykgIT09IDApIHsKICAgICAgICB2YXIgaGV4UCA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleFApOwogICAgICAgIHZhciBoZXhPID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4Tyk7CiAgICAgICAgJEVSUk9SKCcjJyArIGhleE8gKyAnLScgKyBoZXhQICsgJyAnKTsKICAgICAgfSAKICAgICAgZWxzZSB7CiAgICAgICAgdmFyIGhleFAgPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhQKTsKICAgICAgICAkRVJST1IoJyMnICsgaGV4UCArICcgJyk7CiAgICAgIH0gIAogICAgICBpbmRleE8gPSBpbmRleDsKICAgIH0gICAgICAgICAKICB9CiAgaW5kZXhQID0gaW5kZXg7CiAgZXJyb3JDb3VudCsrOyAgICAgICAKfQoKaWYgKGVycm9yQ291bnQgPiAwKSB7CiAgaWYgKChpbmRleFAgLSBpbmRleE8pICE9PSAwKSB7CiAgICB2YXIgaGV4UCA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleFApOwogICAgdmFyIGhleE8gPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhPKTsKICAgICRFUlJPUignIycgKyBoZXhPICsgJy0nICsgaGV4UCArICcgJyk7CiAgfSBlbHNlIHsKICAgIHZhciBoZXhQID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4UCk7CiAgICAkRVJST1IoJyMnICsgaGV4UCArICcgJyk7CiAgfSAgICAgCiAgJEVSUk9SKCdUb3RhbCBlcnJvcjogJyArIGVycm9yQ291bnQgKyAnIGJhZCBVbmljb2RlIGNoYXJhY3RlciBpbiAnICsgY291bnQgKyAnICcpOwp9CgpmdW5jdGlvbiBkZWNpbWFsVG9IZXhTdHJpbmcobikgewogIG4gPSBOdW1iZXIobik7CiAgdmFyIGggPSAiIjsKICBmb3IgKHZhciBpID0gMzsgaSA+PSAwOyBpLS0pIHsKICAgIGlmIChuID49IE1hdGgucG93KDE2LCBpKSkgewogICAgICB2YXIgdCA9IE1hdGguZmxvb3IobiAvIE1hdGgucG93KDE2LCBpKSk7CiAgICAgIG4gLT0gdCAqIE1hdGgucG93KDE2LCBpKTsKICAgICAgaWYgKCB0ID49IDEwICkgewogICAgICAgIGlmICggdCA9PSAxMCApIHsgaCArPSAiQSI7IH0KICAgICAgICBpZiAoIHQgPT0gMTEgKSB7IGggKz0gIkIiOyB9CiAgICAgICAgaWYgKCB0ID09IDEyICkgeyBoICs9ICJDIjsgfQogICAgICAgIGlmICggdCA9PSAxMyApIHsgaCArPSAiRCI7IH0KICAgICAgICBpZiAoIHQgPT0gMTQgKSB7IGggKz0gIkUiOyB9CiAgICAgICAgaWYgKCB0ID09IDE1ICkgeyBoICs9ICJGIjsgfQogICAgICB9IGVsc2UgewogICAgICAgIGggKz0gU3RyaW5nKHQpOwogICAgICB9CiAgICB9IGVsc2UgewogICAgICBoICs9ICIwIjsKICAgIH0KICB9CiAgcmV0dXJuIGg7Cn0KCg==","commentary":"If B = 10xxxxxx or B = 11111xxx, throw URIError","description":"Complex tests. B = 10xxxxxx -> B in [0x80 - 0xBF]","path":"TestCases/ch15/15.1/15.1.3/15.1.3.1/S15.1.3.1_A1.3_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBCID0gMTB4eHh4eHggb3IgQiA9IDExMTExeHh4LCB0aHJvdyBVUklFcnJvcgogKgogKiBAcGF0aCBjaDE1LzE1LjEvMTUuMS4zLzE1LjEuMy4xL1MxNS4xLjMuMV9BMS4zX1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBDb21wbGV4IHRlc3RzLiBCID0gMTExMTF4eHggLT4gQiBpbiBbMHhGOCAtIDB4RkZdCiAqLwoKdmFyIGVycm9yQ291bnQgPSAwOwp2YXIgY291bnQgPSAwOwp2YXIgaW5kZXhQOwp2YXIgaW5kZXhPID0gMDsKCmZvciAodmFyIGluZGV4ID0gMHhGODsgaW5kZXggPD0gMHhGRjsgaW5kZXgrKykgewogIGNvdW50Kys7IAogIHZhciBoZXggPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXgpOwogIHRyeSB7CiAgICBkZWNvZGVVUkkoIiUiICsgaGV4LnN1YnN0cmluZygyKSk7CiAgfSBjYXRjaCAoZSkgeyAKICAgIGlmICgoZSBpbnN0YW5jZW9mIFVSSUVycm9yKSA9PT0gdHJ1ZSkgY29udGludWU7ICAgICAgICAgICAgICAgIAogIH0KICBpZiAoaW5kZXhPID09PSAwKSB7IAogICAgaW5kZXhPID0gaW5kZXg7CiAgfSBlbHNlIHsKICAgIGlmICgoaW5kZXggLSBpbmRleFApICE9PSAxKSB7ICAgICAgICAgICAgIAogICAgICBpZiAoKGluZGV4UCAtIGluZGV4TykgIT09IDApIHsKICAgICAgICB2YXIgaGV4UCA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleFApOwogICAgICAgIHZhciBoZXhPID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4Tyk7CiAgICAgICAgJEVSUk9SKCcjJyArIGhleE8gKyAnLScgKyBoZXhQICsgJyAnKTsKICAgICAgfSAKICAgICAgZWxzZSB7CiAgICAgICAgdmFyIGhleFAgPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhQKTsKICAgICAgICAkRVJST1IoJyMnICsgaGV4UCArICcgJyk7CiAgICAgIH0gIAogICAgICBpbmRleE8gPSBpbmRleDsKICAgIH0gICAgICAgICAKICB9CiAgaW5kZXhQID0gaW5kZXg7CiAgZXJyb3JDb3VudCsrOyAgICAgICAKfQoKaWYgKGVycm9yQ291bnQgPiAwKSB7CiAgaWYgKChpbmRleFAgLSBpbmRleE8pICE9PSAwKSB7CiAgICB2YXIgaGV4UCA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleFApOwogICAgdmFyIGhleE8gPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhPKTsKICAgICRFUlJPUignIycgKyBoZXhPICsgJy0nICsgaGV4UCArICcgJyk7CiAgfSBlbHNlIHsKICAgIHZhciBoZXhQID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4UCk7CiAgICAkRVJST1IoJyMnICsgaGV4UCArICcgJyk7CiAgfSAgICAgCiAgJEVSUk9SKCdUb3RhbCBlcnJvcjogJyArIGVycm9yQ291bnQgKyAnIGJhZCBVbmljb2RlIGNoYXJhY3RlciBpbiAnICsgY291bnQgKyAnICcpOwp9CgpmdW5jdGlvbiBkZWNpbWFsVG9IZXhTdHJpbmcobikgewogIG4gPSBOdW1iZXIobik7CiAgdmFyIGggPSAiIjsKICBmb3IgKHZhciBpID0gMzsgaSA+PSAwOyBpLS0pIHsKICAgIGlmIChuID49IE1hdGgucG93KDE2LCBpKSkgewogICAgICB2YXIgdCA9IE1hdGguZmxvb3IobiAvIE1hdGgucG93KDE2LCBpKSk7CiAgICAgIG4gLT0gdCAqIE1hdGgucG93KDE2LCBpKTsKICAgICAgaWYgKCB0ID49IDEwICkgewogICAgICAgIGlmICggdCA9PSAxMCApIHsgaCArPSAiQSI7IH0KICAgICAgICBpZiAoIHQgPT0gMTEgKSB7IGggKz0gIkIiOyB9CiAgICAgICAgaWYgKCB0ID09IDEyICkgeyBoICs9ICJDIjsgfQogICAgICAgIGlmICggdCA9PSAxMyApIHsgaCArPSAiRCI7IH0KICAgICAgICBpZiAoIHQgPT0gMTQgKSB7IGggKz0gIkUiOyB9CiAgICAgICAgaWYgKCB0ID09IDE1ICkgeyBoICs9ICJGIjsgfQogICAgICB9IGVsc2UgewogICAgICAgIGggKz0gU3RyaW5nKHQpOwogICAgICB9CiAgICB9IGVsc2UgewogICAgICBoICs9ICIwIjsKICAgIH0KICB9CiAgcmV0dXJuIGg7Cn0KCg==","commentary":"If B = 10xxxxxx or B = 11111xxx, throw URIError","description":"Complex tests. B = 11111xxx -> B in [0xF8 - 0xFF]","path":"TestCases/ch15/15.1/15.1.3/15.1.3.1/S15.1.3.1_A1.3_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBCID0gMTEweHh4eHggKG4gPSAyKSBhbmQgKGsgKyAyKSArIDMgPj0gbGVuZ3RoLCB0aHJvdyBVUklFcnJvcgogKgogKiBAcGF0aCBjaDE1LzE1LjEvMTUuMS4zLzE1LjEuMy4xL1MxNS4xLjMuMV9BMS40X1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBDb21wbGV4IHRlc3RzLiBCID0gWzB4QzAgLSAweERGXQogKi8KCnZhciBlcnJvckNvdW50ID0gMDsKdmFyIGNvdW50ID0gMDsKdmFyIGluZGV4UDsKdmFyIGluZGV4TyA9IDA7Cgpmb3IgKHZhciBpbmRleCA9IDB4QzA7IGluZGV4IDw9IDB4REY7IGluZGV4KyspIHsKICBjb3VudCsrOyAKICB2YXIgc3RyID0gIiI7CiAgdmFyIHJlc3VsdCA9IHRydWU7CiAgZm9yICh2YXIgbGVuID0gMDsgbGVuIDwgMzsgbGVuKyspIHsKICAgIHZhciBoZXggPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXgpOwogICAgdHJ5IHsKICAgICAgZGVjb2RlVVJJKCIlIiArIGhleC5zdWJzdHJpbmcoMikgKyBzdHIpOyAgICAgIAogICAgfSBjYXRjaCAoZSkgeyAKICAgICAgaWYgKChlIGluc3RhbmNlb2YgVVJJRXJyb3IpID09PSB0cnVlKSBjb250aW51ZTsgICAgICAgICAgICAgICAgCiAgICB9CiAgICByZXN1bHQgPSBmYWxzZTsKICAgIHN0ciA9IHN0ciArICIxIjsKICB9CiAgaWYgKHJlc3VsdCAhPT0gdHJ1ZSkgewogICAgaWYgKGluZGV4TyA9PT0gMCkgeyAKICAgICAgaW5kZXhPID0gaW5kZXg7CiAgICB9IGVsc2UgewogICAgICBpZiAoKGluZGV4IC0gaW5kZXhQKSAhPT0gMSkgeyAgICAgICAgICAgICAKICAgICAgICBpZiAoKGluZGV4UCAtIGluZGV4TykgIT09IDApIHsKICAgICAgICAgIHZhciBoZXhQID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4UCk7CiAgICAgICAgICB2YXIgaGV4TyA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleE8pOwogICAgICAgICAgJEVSUk9SKCcjJyArIGhleE8gKyAnLScgKyBoZXhQICsgJyAnKTsKICAgICAgICB9IAogICAgICAgIGVsc2UgewogICAgICAgICAgdmFyIGhleFAgPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhQKTsKICAgICAgICAgICRFUlJPUignIycgKyBoZXhQICsgJyAnKTsKICAgICAgICB9ICAKICAgICAgICBpbmRleE8gPSBpbmRleDsKICAgICAgfSAgICAgICAgIAogICAgfQogICAgaW5kZXhQID0gaW5kZXg7CiAgICBlcnJvckNvdW50Kys7ICAgICAgCiAgfSAKfQoKaWYgKGVycm9yQ291bnQgPiAwKSB7CiAgaWYgKChpbmRleFAgLSBpbmRleE8pICE9PSAwKSB7CiAgICB2YXIgaGV4UCA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleFApOwogICAgdmFyIGhleE8gPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhPKTsKICAgICRFUlJPUignIycgKyBoZXhPICsgJy0nICsgaGV4UCArICcgJyk7CiAgfSBlbHNlIHsKICAgIHZhciBoZXhQID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4UCk7CiAgICAkRVJST1IoJyMnICsgaGV4UCArICcgJyk7CiAgfSAgICAgCiAgJEVSUk9SKCdUb3RhbCBlcnJvcjogJyArIGVycm9yQ291bnQgKyAnIGJhZCBVbmljb2RlIGNoYXJhY3RlciBpbiAnICsgY291bnQgKyAnICcpOwp9CgpmdW5jdGlvbiBkZWNpbWFsVG9IZXhTdHJpbmcobikgewogIG4gPSBOdW1iZXIobik7CiAgdmFyIGggPSAiIjsKICBmb3IgKHZhciBpID0gMzsgaSA+PSAwOyBpLS0pIHsKICAgIGlmIChuID49IE1hdGgucG93KDE2LCBpKSkgewogICAgICB2YXIgdCA9IE1hdGguZmxvb3IobiAvIE1hdGgucG93KDE2LCBpKSk7CiAgICAgIG4gLT0gdCAqIE1hdGgucG93KDE2LCBpKTsKICAgICAgaWYgKCB0ID49IDEwICkgewogICAgICAgIGlmICggdCA9PSAxMCApIHsgaCArPSAiQSI7IH0KICAgICAgICBpZiAoIHQgPT0gMTEgKSB7IGggKz0gIkIiOyB9CiAgICAgICAgaWYgKCB0ID09IDEyICkgeyBoICs9ICJDIjsgfQogICAgICAgIGlmICggdCA9PSAxMyApIHsgaCArPSAiRCI7IH0KICAgICAgICBpZiAoIHQgPT0gMTQgKSB7IGggKz0gIkUiOyB9CiAgICAgICAgaWYgKCB0ID09IDE1ICkgeyBoICs9ICJGIjsgfQogICAgICB9IGVsc2UgewogICAgICAgIGggKz0gU3RyaW5nKHQpOwogICAgICB9CiAgICB9IGVsc2UgewogICAgICBoICs9ICIwIjsKICAgIH0KICB9CiAgcmV0dXJuIGg7Cn0KCg==","commentary":"If B = 110xxxxx (n = 2) and (k + 2) + 3 >= length, throw URIError","description":"Complex tests. B = [0xC0 - 0xDF]","path":"TestCases/ch15/15.1/15.1.3/15.1.3.1/S15.1.3.1_A1.4_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBCID0gMTExMHh4eHggKG4gPSAzKSBhbmQgKGsgKyAyKSArIDYgPj0gbGVuZ3RoLCB0aHJvdyBVUklFcnJvcgogKgogKiBAcGF0aCBjaDE1LzE1LjEvMTUuMS4zLzE1LjEuMy4xL1MxNS4xLjMuMV9BMS41X1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBDb21wbGV4IHRlc3RzLiBCID0gWzB4RTAgLSAweEVGXQogKi8KCnZhciBlcnJvckNvdW50ID0gMDsKdmFyIGNvdW50ID0gMDsKdmFyIGluZGV4UDsKdmFyIGluZGV4TyA9IDA7Cgpmb3IgKHZhciBpbmRleCA9IDB4RTA7IGluZGV4IDw9IDB4RUY7IGluZGV4KyspIHsKICBjb3VudCsrOyAKICB2YXIgc3RyID0gIiI7CiAgdmFyIHJlc3VsdCA9IHRydWU7CiAgZm9yICh2YXIgbGVuID0gMDsgbGVuIDwgNjsgbGVuKyspIHsKICAgIHZhciBoZXggPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXgpOwogICAgdHJ5IHsKICAgICAgZGVjb2RlVVJJKCIlIiArIGhleC5zdWJzdHJpbmcoMikgKyBzdHIpOyAgICAgIAogICAgfSBjYXRjaCAoZSkgeyAKICAgICAgaWYgKChlIGluc3RhbmNlb2YgVVJJRXJyb3IpID09PSB0cnVlKSBjb250aW51ZTsgICAgICAgICAgICAgICAgCiAgICB9CiAgICByZXN1bHQgPSBmYWxzZTsKICAgIHN0ciA9IHN0ciArICIxIjsKICB9CiAgaWYgKHJlc3VsdCAhPT0gdHJ1ZSkgewogICAgaWYgKGluZGV4TyA9PT0gMCkgeyAKICAgICAgaW5kZXhPID0gaW5kZXg7CiAgICB9IGVsc2UgewogICAgICBpZiAoKGluZGV4IC0gaW5kZXhQKSAhPT0gMSkgeyAgICAgICAgICAgICAKICAgICAgICBpZiAoKGluZGV4UCAtIGluZGV4TykgIT09IDApIHsKICAgICAgICAgIHZhciBoZXhQID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4UCk7CiAgICAgICAgICB2YXIgaGV4TyA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleE8pOwogICAgICAgICAgJEVSUk9SKCcjJyArIGhleE8gKyAnLScgKyBoZXhQICsgJyAnKTsKICAgICAgICB9IAogICAgICAgIGVsc2UgewogICAgICAgICAgdmFyIGhleFAgPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhQKTsKICAgICAgICAgICRFUlJPUignIycgKyBoZXhQICsgJyAnKTsKICAgICAgICB9ICAKICAgICAgICBpbmRleE8gPSBpbmRleDsKICAgICAgfSAgICAgICAgIAogICAgfQogICAgaW5kZXhQID0gaW5kZXg7CiAgICBlcnJvckNvdW50Kys7ICAgICAgCiAgfSAKfQoKaWYgKGVycm9yQ291bnQgPiAwKSB7CiAgaWYgKChpbmRleFAgLSBpbmRleE8pICE9PSAwKSB7CiAgICB2YXIgaGV4UCA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleFApOwogICAgdmFyIGhleE8gPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhPKTsKICAgICRFUlJPUignIycgKyBoZXhPICsgJy0nICsgaGV4UCArICcgJyk7CiAgfSBlbHNlIHsKICAgIHZhciBoZXhQID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4UCk7CiAgICAkRVJST1IoJyMnICsgaGV4UCArICcgJyk7CiAgfSAgICAgCiAgJEVSUk9SKCdUb3RhbCBlcnJvcjogJyArIGVycm9yQ291bnQgKyAnIGJhZCBVbmljb2RlIGNoYXJhY3RlciBpbiAnICsgY291bnQgKyAnICcpOwp9CgpmdW5jdGlvbiBkZWNpbWFsVG9IZXhTdHJpbmcobikgewogIG4gPSBOdW1iZXIobik7CiAgdmFyIGggPSAiIjsKICBmb3IgKHZhciBpID0gMzsgaSA+PSAwOyBpLS0pIHsKICAgIGlmIChuID49IE1hdGgucG93KDE2LCBpKSkgewogICAgICB2YXIgdCA9IE1hdGguZmxvb3IobiAvIE1hdGgucG93KDE2LCBpKSk7CiAgICAgIG4gLT0gdCAqIE1hdGgucG93KDE2LCBpKTsKICAgICAgaWYgKCB0ID49IDEwICkgewogICAgICAgIGlmICggdCA9PSAxMCApIHsgaCArPSAiQSI7IH0KICAgICAgICBpZiAoIHQgPT0gMTEgKSB7IGggKz0gIkIiOyB9CiAgICAgICAgaWYgKCB0ID09IDEyICkgeyBoICs9ICJDIjsgfQogICAgICAgIGlmICggdCA9PSAxMyApIHsgaCArPSAiRCI7IH0KICAgICAgICBpZiAoIHQgPT0gMTQgKSB7IGggKz0gIkUiOyB9CiAgICAgICAgaWYgKCB0ID09IDE1ICkgeyBoICs9ICJGIjsgfQogICAgICB9IGVsc2UgewogICAgICAgIGggKz0gU3RyaW5nKHQpOwogICAgICB9CiAgICB9IGVsc2UgewogICAgICBoICs9ICIwIjsKICAgIH0KICB9CiAgcmV0dXJuIGg7Cn0KCg==","commentary":"If B = 1110xxxx (n = 3) and (k + 2) + 6 >= length, throw URIError","description":"Complex tests. B = [0xE0 - 0xEF]","path":"TestCases/ch15/15.1/15.1.3/15.1.3.1/S15.1.3.1_A1.5_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBCID0gMTExMTB4eHggKG4gPSA0KSBhbmQgKGsgKyAyKSArIDkgPj0gbGVuZ3RoLCB0aHJvdyBVUklFcnJvcgogKgogKiBAcGF0aCBjaDE1LzE1LjEvMTUuMS4zLzE1LjEuMy4xL1MxNS4xLjMuMV9BMS42X1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBDb21wbGV4IHRlc3RzLiBCID0gWzB4RjAgLSAweEY3XQogKi8KCnZhciBlcnJvckNvdW50ID0gMDsKdmFyIGNvdW50ID0gMDsKdmFyIGluZGV4UDsKdmFyIGluZGV4TyA9IDA7Cgpmb3IgKHZhciBpbmRleCA9IDB4RjA7IGluZGV4IDw9IDB4Rjc7IGluZGV4KyspIHsKICBjb3VudCsrOyAKICB2YXIgc3RyID0gIiI7CiAgdmFyIHJlc3VsdCA9IHRydWU7CiAgZm9yICh2YXIgbGVuID0gMDsgbGVuIDwgOTsgbGVuKyspIHsKICAgIHZhciBoZXggPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXgpOwogICAgdHJ5IHsKICAgICAgZGVjb2RlVVJJKCIlIiArIGhleC5zdWJzdHJpbmcoMikgKyBzdHIpOyAgICAgIAogICAgfSBjYXRjaCAoZSkgeyAKICAgICAgaWYgKChlIGluc3RhbmNlb2YgVVJJRXJyb3IpID09PSB0cnVlKSBjb250aW51ZTsgICAgICAgICAgICAgICAgCiAgICB9CiAgICByZXN1bHQgPSBmYWxzZTsKICAgIHN0ciA9IHN0ciArICIxIjsKICB9CiAgaWYgKHJlc3VsdCAhPT0gdHJ1ZSkgewogICAgaWYgKGluZGV4TyA9PT0gMCkgeyAKICAgICAgaW5kZXhPID0gaW5kZXg7CiAgICB9IGVsc2UgewogICAgICBpZiAoKGluZGV4IC0gaW5kZXhQKSAhPT0gMSkgeyAgICAgICAgICAgICAKICAgICAgICBpZiAoKGluZGV4UCAtIGluZGV4TykgIT09IDApIHsKICAgICAgICAgIHZhciBoZXhQID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4UCk7CiAgICAgICAgICB2YXIgaGV4TyA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleE8pOwogICAgICAgICAgJEVSUk9SKCcjJyArIGhleE8gKyAnLScgKyBoZXhQICsgJyAnKTsKICAgICAgICB9IAogICAgICAgIGVsc2UgewogICAgICAgICAgdmFyIGhleFAgPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhQKTsKICAgICAgICAgICRFUlJPUignIycgKyBoZXhQICsgJyAnKTsKICAgICAgICB9ICAKICAgICAgICBpbmRleE8gPSBpbmRleDsKICAgICAgfSAgICAgICAgIAogICAgfQogICAgaW5kZXhQID0gaW5kZXg7CiAgICBlcnJvckNvdW50Kys7ICAgICAgCiAgfSAKfQoKaWYgKGVycm9yQ291bnQgPiAwKSB7CiAgaWYgKChpbmRleFAgLSBpbmRleE8pICE9PSAwKSB7CiAgICB2YXIgaGV4UCA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleFApOwogICAgdmFyIGhleE8gPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhPKTsKICAgICRFUlJPUignIycgKyBoZXhPICsgJy0nICsgaGV4UCArICcgJyk7CiAgfSBlbHNlIHsKICAgIHZhciBoZXhQID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4UCk7CiAgICAkRVJST1IoJyMnICsgaGV4UCArICcgJyk7CiAgfSAgICAgCiAgJEVSUk9SKCdUb3RhbCBlcnJvcjogJyArIGVycm9yQ291bnQgKyAnIGJhZCBVbmljb2RlIGNoYXJhY3RlciBpbiAnICsgY291bnQgKyAnICcpOwp9CgpmdW5jdGlvbiBkZWNpbWFsVG9IZXhTdHJpbmcobikgewogIG4gPSBOdW1iZXIobik7CiAgdmFyIGggPSAiIjsKICBmb3IgKHZhciBpID0gMzsgaSA+PSAwOyBpLS0pIHsKICAgIGlmIChuID49IE1hdGgucG93KDE2LCBpKSkgewogICAgICB2YXIgdCA9IE1hdGguZmxvb3IobiAvIE1hdGgucG93KDE2LCBpKSk7CiAgICAgIG4gLT0gdCAqIE1hdGgucG93KDE2LCBpKTsKICAgICAgaWYgKCB0ID49IDEwICkgewogICAgICAgIGlmICggdCA9PSAxMCApIHsgaCArPSAiQSI7IH0KICAgICAgICBpZiAoIHQgPT0gMTEgKSB7IGggKz0gIkIiOyB9CiAgICAgICAgaWYgKCB0ID09IDEyICkgeyBoICs9ICJDIjsgfQogICAgICAgIGlmICggdCA9PSAxMyApIHsgaCArPSAiRCI7IH0KICAgICAgICBpZiAoIHQgPT0gMTQgKSB7IGggKz0gIkUiOyB9CiAgICAgICAgaWYgKCB0ID09IDE1ICkgeyBoICs9ICJGIjsgfQogICAgICB9IGVsc2UgewogICAgICAgIGggKz0gU3RyaW5nKHQpOwogICAgICB9CiAgICB9IGVsc2UgewogICAgICBoICs9ICIwIjsKICAgIH0KICB9CiAgcmV0dXJuIGg7Cn0KCg==","commentary":"If B = 11110xxx (n = 4) and (k + 2) + 9 >= length, throw URIError","description":"Complex tests. B = [0xF0 - 0xF7]","path":"TestCases/ch15/15.1/15.1.3/15.1.3.1/S15.1.3.1_A1.6_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBCID0gMTEweHh4eHggKG4gPSAyKSBhbmQgc3RyaW5nLmNoYXJBdChrICsgMykgbm90IGVxdWFsICIlIiwgdGhyb3cgVVJJRXJyb3IKICoKICogQHBhdGggY2gxNS8xNS4xLzE1LjEuMy8xNS4xLjMuMS9TMTUuMS4zLjFfQTEuN19UMS5qcwogKiBAZGVzY3JpcHRpb24gQ29tcGxleCB0ZXN0cy4gQiA9IFsweEMwIC0gMHhERl0KICovCgp2YXIgZXJyb3JDb3VudCA9IDA7CnZhciBjb3VudCA9IDA7CnZhciBpbmRleFA7CnZhciBpbmRleE8gPSAwOwoKZm9yICh2YXIgaW5kZXggPSAweEMwOyBpbmRleCA8PSAweERGOyBpbmRleCsrKSB7CiAgY291bnQrKzsgCiAgdmFyIGhleCA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleCk7CiAgdHJ5IHsKICAgIGRlY29kZVVSSSgiJSIgKyBoZXguc3Vic3RyaW5nKDIpICsgIjExMSIpOwogIH0gY2F0Y2ggKGUpIHsgCiAgICBpZiAoKGUgaW5zdGFuY2VvZiBVUklFcnJvcikgPT09IHRydWUpIGNvbnRpbnVlOyAgICAgICAgICAgICAgICAKICB9CiAgaWYgKGluZGV4TyA9PT0gMCkgeyAKICAgIGluZGV4TyA9IGluZGV4OwogIH0gZWxzZSB7CiAgICBpZiAoKGluZGV4IC0gaW5kZXhQKSAhPT0gMSkgeyAgICAgICAgICAgICAKICAgICAgaWYgKChpbmRleFAgLSBpbmRleE8pICE9PSAwKSB7CiAgICAgICAgdmFyIGhleFAgPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhQKTsKICAgICAgICB2YXIgaGV4TyA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleE8pOwogICAgICAgICRFUlJPUignIycgKyBoZXhPICsgJy0nICsgaGV4UCArICcgJyk7CiAgICAgIH0gCiAgICAgIGVsc2UgewogICAgICAgIHZhciBoZXhQID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4UCk7CiAgICAgICAgJEVSUk9SKCcjJyArIGhleFAgKyAnICcpOwogICAgICB9ICAKICAgICAgaW5kZXhPID0gaW5kZXg7CiAgICB9ICAgICAgICAgCiAgfQogIGluZGV4UCA9IGluZGV4OwogIGVycm9yQ291bnQrKzsgICAgICAgCn0KCmlmIChlcnJvckNvdW50ID4gMCkgewogIGlmICgoaW5kZXhQIC0gaW5kZXhPKSAhPT0gMCkgewogICAgdmFyIGhleFAgPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhQKTsKICAgIHZhciBoZXhPID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4Tyk7CiAgICAkRVJST1IoJyMnICsgaGV4TyArICctJyArIGhleFAgKyAnICcpOwogIH0gZWxzZSB7CiAgICB2YXIgaGV4UCA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleFApOwogICAgJEVSUk9SKCcjJyArIGhleFAgKyAnICcpOwogIH0gICAgIAogICRFUlJPUignVG90YWwgZXJyb3I6ICcgKyBlcnJvckNvdW50ICsgJyBiYWQgVW5pY29kZSBjaGFyYWN0ZXIgaW4gJyArIGNvdW50ICsgJyAnKTsKfQoKZnVuY3Rpb24gZGVjaW1hbFRvSGV4U3RyaW5nKG4pIHsKICBuID0gTnVtYmVyKG4pOwogIHZhciBoID0gIiI7CiAgZm9yICh2YXIgaSA9IDM7IGkgPj0gMDsgaS0tKSB7CiAgICBpZiAobiA+PSBNYXRoLnBvdygxNiwgaSkpIHsKICAgICAgdmFyIHQgPSBNYXRoLmZsb29yKG4gLyBNYXRoLnBvdygxNiwgaSkpOwogICAgICBuIC09IHQgKiBNYXRoLnBvdygxNiwgaSk7CiAgICAgIGlmICggdCA+PSAxMCApIHsKICAgICAgICBpZiAoIHQgPT0gMTAgKSB7IGggKz0gIkEiOyB9CiAgICAgICAgaWYgKCB0ID09IDExICkgeyBoICs9ICJCIjsgfQogICAgICAgIGlmICggdCA9PSAxMiApIHsgaCArPSAiQyI7IH0KICAgICAgICBpZiAoIHQgPT0gMTMgKSB7IGggKz0gIkQiOyB9CiAgICAgICAgaWYgKCB0ID09IDE0ICkgeyBoICs9ICJFIjsgfQogICAgICAgIGlmICggdCA9PSAxNSApIHsgaCArPSAiRiI7IH0KICAgICAgfSBlbHNlIHsKICAgICAgICBoICs9IFN0cmluZyh0KTsKICAgICAgfQogICAgfSBlbHNlIHsKICAgICAgaCArPSAiMCI7CiAgICB9CiAgfQogIHJldHVybiBoOwp9Cgo=","commentary":"If B = 110xxxxx (n = 2) and string.charAt(k + 3) not equal \"%\", throw URIError","description":"Complex tests. B = [0xC0 - 0xDF]","path":"TestCases/ch15/15.1/15.1.3/15.1.3.1/S15.1.3.1_A1.7_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBCID0gMTExMHh4eHggKG4gPSAzKSBhbmQgc3RyaW5nLmNoYXJBdChrICsgMyksCiAqIHN0cmluZy5jaGFyQXQoayArIDYpIG5vdCBlcXVhbCAiJSIsIHRocm93IFVSSUVycm9yCiAqCiAqIEBwYXRoIGNoMTUvMTUuMS8xNS4xLjMvMTUuMS4zLjEvUzE1LjEuMy4xX0ExLjhfVDEuanMKICogQGRlc2NyaXB0aW9uIENvbXBsZXggdGVzdHMuIEIgPSBbMHhFMCAtIDB4RUZdLAogKiBzdHJpbmcuY2hhckF0KGsgKyAzKSBub3QgZXF1YWwgIiUiCiAqLwoKdmFyIGVycm9yQ291bnQgPSAwOwp2YXIgY291bnQgPSAwOwp2YXIgaW5kZXhQOwp2YXIgaW5kZXhPID0gMDsKCmZvciAodmFyIGluZGV4ID0gMHhFMDsgaW5kZXggPD0gMHhFRjsgaW5kZXgrKykgewogIGNvdW50Kys7IAogIHZhciBoZXggPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXgpOwogIHRyeSB7CiAgICBkZWNvZGVVUkkoIiUiICsgaGV4LnN1YnN0cmluZygyKSArICIxMTElQTAiKTsKICB9IGNhdGNoIChlKSB7IAogICAgaWYgKChlIGluc3RhbmNlb2YgVVJJRXJyb3IpID09PSB0cnVlKSBjb250aW51ZTsgICAgICAgICAgICAgICAgCiAgfQogIGlmIChpbmRleE8gPT09IDApIHsgCiAgICBpbmRleE8gPSBpbmRleDsKICB9IGVsc2UgewogICAgaWYgKChpbmRleCAtIGluZGV4UCkgIT09IDEpIHsgICAgICAgICAgICAgCiAgICAgIGlmICgoaW5kZXhQIC0gaW5kZXhPKSAhPT0gMCkgewogICAgICAgIHZhciBoZXhQID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4UCk7CiAgICAgICAgdmFyIGhleE8gPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhPKTsKICAgICAgICAkRVJST1IoJyMnICsgaGV4TyArICctJyArIGhleFAgKyAnICcpOwogICAgICB9IAogICAgICBlbHNlIHsKICAgICAgICB2YXIgaGV4UCA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleFApOwogICAgICAgICRFUlJPUignIycgKyBoZXhQICsgJyAnKTsKICAgICAgfSAgCiAgICAgIGluZGV4TyA9IGluZGV4OwogICAgfSAgICAgICAgIAogIH0KICBpbmRleFAgPSBpbmRleDsKICBlcnJvckNvdW50Kys7ICAgICAgIAp9CgppZiAoZXJyb3JDb3VudCA+IDApIHsKICBpZiAoKGluZGV4UCAtIGluZGV4TykgIT09IDApIHsKICAgIHZhciBoZXhQID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4UCk7CiAgICB2YXIgaGV4TyA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleE8pOwogICAgJEVSUk9SKCcjJyArIGhleE8gKyAnLScgKyBoZXhQICsgJyAnKTsKICB9IGVsc2UgewogICAgdmFyIGhleFAgPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhQKTsKICAgICRFUlJPUignIycgKyBoZXhQICsgJyAnKTsKICB9ICAgICAKICAkRVJST1IoJ1RvdGFsIGVycm9yOiAnICsgZXJyb3JDb3VudCArICcgYmFkIFVuaWNvZGUgY2hhcmFjdGVyIGluICcgKyBjb3VudCArICcgJyk7Cn0KCmZ1bmN0aW9uIGRlY2ltYWxUb0hleFN0cmluZyhuKSB7CiAgbiA9IE51bWJlcihuKTsKICB2YXIgaCA9ICIiOwogIGZvciAodmFyIGkgPSAzOyBpID49IDA7IGktLSkgewogICAgaWYgKG4gPj0gTWF0aC5wb3coMTYsIGkpKSB7CiAgICAgIHZhciB0ID0gTWF0aC5mbG9vcihuIC8gTWF0aC5wb3coMTYsIGkpKTsKICAgICAgbiAtPSB0ICogTWF0aC5wb3coMTYsIGkpOwogICAgICBpZiAoIHQgPj0gMTAgKSB7CiAgICAgICAgaWYgKCB0ID09IDEwICkgeyBoICs9ICJBIjsgfQogICAgICAgIGlmICggdCA9PSAxMSApIHsgaCArPSAiQiI7IH0KICAgICAgICBpZiAoIHQgPT0gMTIgKSB7IGggKz0gIkMiOyB9CiAgICAgICAgaWYgKCB0ID09IDEzICkgeyBoICs9ICJEIjsgfQogICAgICAgIGlmICggdCA9PSAxNCApIHsgaCArPSAiRSI7IH0KICAgICAgICBpZiAoIHQgPT0gMTUgKSB7IGggKz0gIkYiOyB9CiAgICAgIH0gZWxzZSB7CiAgICAgICAgaCArPSBTdHJpbmcodCk7CiAgICAgIH0KICAgIH0gZWxzZSB7CiAgICAgIGggKz0gIjAiOwogICAgfQogIH0KICByZXR1cm4gaDsKfQoK","commentary":"If B = 1110xxxx (n = 3) and string.charAt(k + 3),\nstring.charAt(k + 6) not equal \"%\", throw URIError","description":"Complex tests. B = [0xE0 - 0xEF],\nstring.charAt(k + 3) not equal \"%\"","path":"TestCases/ch15/15.1/15.1.3/15.1.3.1/S15.1.3.1_A1.8_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBCID0gMTExMHh4eHggKG4gPSAzKSBhbmQgc3RyaW5nLmNoYXJBdChrICsgMyksCiAqIHN0cmluZy5jaGFyQXQoayArIDYpIG5vdCBlcXVhbCAiJSIsIHRocm93IFVSSUVycm9yCiAqCiAqIEBwYXRoIGNoMTUvMTUuMS8xNS4xLjMvMTUuMS4zLjEvUzE1LjEuMy4xX0ExLjhfVDIuanMKICogQGRlc2NyaXB0aW9uIENvbXBsZXggdGVzdHMuIEIgPSBbMHhFMCAtIDB4RUZdLAogKiBzdHJpbmcuY2hhckF0KGsgKyA2KSBub3QgZXF1YWwgIiUiCiAqLwoKdmFyIGVycm9yQ291bnQgPSAwOwp2YXIgY291bnQgPSAwOwp2YXIgaW5kZXhQOwp2YXIgaW5kZXhPID0gMDsKCmZvciAodmFyIGluZGV4ID0gMHhFMDsgaW5kZXggPD0gMHhFRjsgaW5kZXgrKykgewogIGNvdW50Kys7IAogIHZhciBoZXggPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXgpOwogIHRyeSB7CiAgICBkZWNvZGVVUkkoIiUiICsgaGV4LnN1YnN0cmluZygyKSArICIlQTAxMTEiKTsKICB9IGNhdGNoIChlKSB7IAogICAgaWYgKChlIGluc3RhbmNlb2YgVVJJRXJyb3IpID09PSB0cnVlKSBjb250aW51ZTsgICAgICAgICAgICAgICAgCiAgfQogIGlmIChpbmRleE8gPT09IDApIHsgCiAgICBpbmRleE8gPSBpbmRleDsKICB9IGVsc2UgewogICAgaWYgKChpbmRleCAtIGluZGV4UCkgIT09IDEpIHsgICAgICAgICAgICAgCiAgICAgIGlmICgoaW5kZXhQIC0gaW5kZXhPKSAhPT0gMCkgewogICAgICAgIHZhciBoZXhQID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4UCk7CiAgICAgICAgdmFyIGhleE8gPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhPKTsKICAgICAgICAkRVJST1IoJyMnICsgaGV4TyArICctJyArIGhleFAgKyAnICcpOwogICAgICB9IAogICAgICBlbHNlIHsKICAgICAgICB2YXIgaGV4UCA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleFApOwogICAgICAgICRFUlJPUignIycgKyBoZXhQICsgJyAnKTsKICAgICAgfSAgCiAgICAgIGluZGV4TyA9IGluZGV4OwogICAgfSAgICAgICAgIAogIH0KICBpbmRleFAgPSBpbmRleDsKICBlcnJvckNvdW50Kys7ICAgICAgIAp9CgppZiAoZXJyb3JDb3VudCA+IDApIHsKICBpZiAoKGluZGV4UCAtIGluZGV4TykgIT09IDApIHsKICAgIHZhciBoZXhQID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4UCk7CiAgICB2YXIgaGV4TyA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleE8pOwogICAgJEVSUk9SKCcjJyArIGhleE8gKyAnLScgKyBoZXhQICsgJyAnKTsKICB9IGVsc2UgewogICAgdmFyIGhleFAgPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhQKTsKICAgICRFUlJPUignIycgKyBoZXhQICsgJyAnKTsKICB9ICAgICAKICAkRVJST1IoJ1RvdGFsIGVycm9yOiAnICsgZXJyb3JDb3VudCArICcgYmFkIFVuaWNvZGUgY2hhcmFjdGVyIGluICcgKyBjb3VudCArICcgJyk7Cn0KCmZ1bmN0aW9uIGRlY2ltYWxUb0hleFN0cmluZyhuKSB7CiAgbiA9IE51bWJlcihuKTsKICB2YXIgaCA9ICIiOwogIGZvciAodmFyIGkgPSAzOyBpID49IDA7IGktLSkgewogICAgaWYgKG4gPj0gTWF0aC5wb3coMTYsIGkpKSB7CiAgICAgIHZhciB0ID0gTWF0aC5mbG9vcihuIC8gTWF0aC5wb3coMTYsIGkpKTsKICAgICAgbiAtPSB0ICogTWF0aC5wb3coMTYsIGkpOwogICAgICBpZiAoIHQgPj0gMTAgKSB7CiAgICAgICAgaWYgKCB0ID09IDEwICkgeyBoICs9ICJBIjsgfQogICAgICAgIGlmICggdCA9PSAxMSApIHsgaCArPSAiQiI7IH0KICAgICAgICBpZiAoIHQgPT0gMTIgKSB7IGggKz0gIkMiOyB9CiAgICAgICAgaWYgKCB0ID09IDEzICkgeyBoICs9ICJEIjsgfQogICAgICAgIGlmICggdCA9PSAxNCApIHsgaCArPSAiRSI7IH0KICAgICAgICBpZiAoIHQgPT0gMTUgKSB7IGggKz0gIkYiOyB9CiAgICAgIH0gZWxzZSB7CiAgICAgICAgaCArPSBTdHJpbmcodCk7CiAgICAgIH0KICAgIH0gZWxzZSB7CiAgICAgIGggKz0gIjAiOwogICAgfQogIH0KICByZXR1cm4gaDsKfQoK","commentary":"If B = 1110xxxx (n = 3) and string.charAt(k + 3),\nstring.charAt(k + 6) not equal \"%\", throw URIError","description":"Complex tests. B = [0xE0 - 0xEF],\nstring.charAt(k + 6) not equal \"%\"","path":"TestCases/ch15/15.1/15.1.3/15.1.3.1/S15.1.3.1_A1.8_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBCID0gMTExMTB4eHggKG4gPSA0KSBhbmQgc3RyaW5nLmNoYXJBdChrICsgMyksCiAqIHN0cmluZy5jaGFyQXQoayArIDYpLCBzdHJpbmcuY2hhckF0KGsgKyA5KSBub3QgZXF1YWwgIiUiLCB0aHJvdyBVUklFcnJvcgogKgogKiBAcGF0aCBjaDE1LzE1LjEvMTUuMS4zLzE1LjEuMy4xL1MxNS4xLjMuMV9BMS45X1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBDb21wbGV4IHRlc3RzLiBCID0gWzB4RjAgLSAweDBGN10sCiAqIHN0cmluZy5jaGFyQXQoayArIDMpIG5vdCBlcXVhbCAiJSIKICovCgp2YXIgZXJyb3JDb3VudCA9IDA7CnZhciBjb3VudCA9IDA7CnZhciBpbmRleFA7CnZhciBpbmRleE8gPSAwOwoKZm9yICh2YXIgaW5kZXggPSAweEYwOyBpbmRleCA8PSAweEY3OyBpbmRleCsrKSB7CiAgY291bnQrKzsgCiAgdmFyIGhleCA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleCk7CiAgdHJ5IHsKICAgIGRlY29kZVVSSSgiJSIgKyBoZXguc3Vic3RyaW5nKDIpICsgIjExMSVBMCVBMCIpOwogIH0gY2F0Y2ggKGUpIHsgCiAgICBpZiAoKGUgaW5zdGFuY2VvZiBVUklFcnJvcikgPT09IHRydWUpIGNvbnRpbnVlOyAgICAgICAgICAgICAgICAKICB9CiAgaWYgKGluZGV4TyA9PT0gMCkgeyAKICAgIGluZGV4TyA9IGluZGV4OwogIH0gZWxzZSB7CiAgICBpZiAoKGluZGV4IC0gaW5kZXhQKSAhPT0gMSkgeyAgICAgICAgICAgICAKICAgICAgaWYgKChpbmRleFAgLSBpbmRleE8pICE9PSAwKSB7CiAgICAgICAgdmFyIGhleFAgPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhQKTsKICAgICAgICB2YXIgaGV4TyA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleE8pOwogICAgICAgICRFUlJPUignIycgKyBoZXhPICsgJy0nICsgaGV4UCArICcgJyk7CiAgICAgIH0gCiAgICAgIGVsc2UgewogICAgICAgIHZhciBoZXhQID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4UCk7CiAgICAgICAgJEVSUk9SKCcjJyArIGhleFAgKyAnICcpOwogICAgICB9ICAKICAgICAgaW5kZXhPID0gaW5kZXg7CiAgICB9ICAgICAgICAgCiAgfQogIGluZGV4UCA9IGluZGV4OwogIGVycm9yQ291bnQrKzsgICAgICAgCn0KCmlmIChlcnJvckNvdW50ID4gMCkgewogIGlmICgoaW5kZXhQIC0gaW5kZXhPKSAhPT0gMCkgewogICAgdmFyIGhleFAgPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhQKTsKICAgIHZhciBoZXhPID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4Tyk7CiAgICAkRVJST1IoJyMnICsgaGV4TyArICctJyArIGhleFAgKyAnICcpOwogIH0gZWxzZSB7CiAgICB2YXIgaGV4UCA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleFApOwogICAgJEVSUk9SKCcjJyArIGhleFAgKyAnICcpOwogIH0gICAgIAogICRFUlJPUignVG90YWwgZXJyb3I6ICcgKyBlcnJvckNvdW50ICsgJyBiYWQgVW5pY29kZSBjaGFyYWN0ZXIgaW4gJyArIGNvdW50ICsgJyAnKTsKfQoKZnVuY3Rpb24gZGVjaW1hbFRvSGV4U3RyaW5nKG4pIHsKICBuID0gTnVtYmVyKG4pOwogIHZhciBoID0gIiI7CiAgZm9yICh2YXIgaSA9IDM7IGkgPj0gMDsgaS0tKSB7CiAgICBpZiAobiA+PSBNYXRoLnBvdygxNiwgaSkpIHsKICAgICAgdmFyIHQgPSBNYXRoLmZsb29yKG4gLyBNYXRoLnBvdygxNiwgaSkpOwogICAgICBuIC09IHQgKiBNYXRoLnBvdygxNiwgaSk7CiAgICAgIGlmICggdCA+PSAxMCApIHsKICAgICAgICBpZiAoIHQgPT0gMTAgKSB7IGggKz0gIkEiOyB9CiAgICAgICAgaWYgKCB0ID09IDExICkgeyBoICs9ICJCIjsgfQogICAgICAgIGlmICggdCA9PSAxMiApIHsgaCArPSAiQyI7IH0KICAgICAgICBpZiAoIHQgPT0gMTMgKSB7IGggKz0gIkQiOyB9CiAgICAgICAgaWYgKCB0ID09IDE0ICkgeyBoICs9ICJFIjsgfQogICAgICAgIGlmICggdCA9PSAxNSApIHsgaCArPSAiRiI7IH0KICAgICAgfSBlbHNlIHsKICAgICAgICBoICs9IFN0cmluZyh0KTsKICAgICAgfQogICAgfSBlbHNlIHsKICAgICAgaCArPSAiMCI7CiAgICB9CiAgfQogIHJldHVybiBoOwp9Cgo=","commentary":"If B = 11110xxx (n = 4) and string.charAt(k + 3),\nstring.charAt(k + 6), string.charAt(k + 9) not equal \"%\", throw URIError","description":"Complex tests. B = [0xF0 - 0x0F7],\nstring.charAt(k + 3) not equal \"%\"","path":"TestCases/ch15/15.1/15.1.3/15.1.3.1/S15.1.3.1_A1.9_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBCID0gMTExMTB4eHggKG4gPSA0KSBhbmQgc3RyaW5nLmNoYXJBdChrICsgMyksCiAqIHN0cmluZy5jaGFyQXQoayArIDYpLCBzdHJpbmcuY2hhckF0KGsgKyA5KSBub3QgZXF1YWwgIiUiLCB0aHJvdyBVUklFcnJvcgogKgogKiBAcGF0aCBjaDE1LzE1LjEvMTUuMS4zLzE1LjEuMy4xL1MxNS4xLjMuMV9BMS45X1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBDb21wbGV4IHRlc3RzLiBCID0gWzB4RjAgLSAweDBGN10sCiAqIHN0cmluZy5jaGFyQXQoayArIDYpIG5vdCBlcXVhbCAiJSIKICovCgp2YXIgZXJyb3JDb3VudCA9IDA7CnZhciBjb3VudCA9IDA7CnZhciBpbmRleFA7CnZhciBpbmRleE8gPSAwOwoKZm9yICh2YXIgaW5kZXggPSAweEYwOyBpbmRleCA8PSAweEY3OyBpbmRleCsrKSB7CiAgY291bnQrKzsgCiAgdmFyIGhleCA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleCk7CiAgdHJ5IHsKICAgIGRlY29kZVVSSSgiJSIgKyBoZXguc3Vic3RyaW5nKDIpICsgIiVBMDExMSVBMCIpOwogIH0gY2F0Y2ggKGUpIHsgCiAgICBpZiAoKGUgaW5zdGFuY2VvZiBVUklFcnJvcikgPT09IHRydWUpIGNvbnRpbnVlOyAgICAgICAgICAgICAgICAKICB9CiAgaWYgKGluZGV4TyA9PT0gMCkgeyAKICAgIGluZGV4TyA9IGluZGV4OwogIH0gZWxzZSB7CiAgICBpZiAoKGluZGV4IC0gaW5kZXhQKSAhPT0gMSkgeyAgICAgICAgICAgICAKICAgICAgaWYgKChpbmRleFAgLSBpbmRleE8pICE9PSAwKSB7CiAgICAgICAgdmFyIGhleFAgPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhQKTsKICAgICAgICB2YXIgaGV4TyA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleE8pOwogICAgICAgICRFUlJPUignIycgKyBoZXhPICsgJy0nICsgaGV4UCArICcgJyk7CiAgICAgIH0gCiAgICAgIGVsc2UgewogICAgICAgIHZhciBoZXhQID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4UCk7CiAgICAgICAgJEVSUk9SKCcjJyArIGhleFAgKyAnICcpOwogICAgICB9ICAKICAgICAgaW5kZXhPID0gaW5kZXg7CiAgICB9ICAgICAgICAgCiAgfQogIGluZGV4UCA9IGluZGV4OwogIGVycm9yQ291bnQrKzsgICAgICAgCn0KCmlmIChlcnJvckNvdW50ID4gMCkgewogIGlmICgoaW5kZXhQIC0gaW5kZXhPKSAhPT0gMCkgewogICAgdmFyIGhleFAgPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhQKTsKICAgIHZhciBoZXhPID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4Tyk7CiAgICAkRVJST1IoJyMnICsgaGV4TyArICctJyArIGhleFAgKyAnICcpOwogIH0gZWxzZSB7CiAgICB2YXIgaGV4UCA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleFApOwogICAgJEVSUk9SKCcjJyArIGhleFAgKyAnICcpOwogIH0gICAgIAogICRFUlJPUignVG90YWwgZXJyb3I6ICcgKyBlcnJvckNvdW50ICsgJyBiYWQgVW5pY29kZSBjaGFyYWN0ZXIgaW4gJyArIGNvdW50ICsgJyAnKTsKfQoKZnVuY3Rpb24gZGVjaW1hbFRvSGV4U3RyaW5nKG4pIHsKICBuID0gTnVtYmVyKG4pOwogIHZhciBoID0gIiI7CiAgZm9yICh2YXIgaSA9IDM7IGkgPj0gMDsgaS0tKSB7CiAgICBpZiAobiA+PSBNYXRoLnBvdygxNiwgaSkpIHsKICAgICAgdmFyIHQgPSBNYXRoLmZsb29yKG4gLyBNYXRoLnBvdygxNiwgaSkpOwogICAgICBuIC09IHQgKiBNYXRoLnBvdygxNiwgaSk7CiAgICAgIGlmICggdCA+PSAxMCApIHsKICAgICAgICBpZiAoIHQgPT0gMTAgKSB7IGggKz0gIkEiOyB9CiAgICAgICAgaWYgKCB0ID09IDExICkgeyBoICs9ICJCIjsgfQogICAgICAgIGlmICggdCA9PSAxMiApIHsgaCArPSAiQyI7IH0KICAgICAgICBpZiAoIHQgPT0gMTMgKSB7IGggKz0gIkQiOyB9CiAgICAgICAgaWYgKCB0ID09IDE0ICkgeyBoICs9ICJFIjsgfQogICAgICAgIGlmICggdCA9PSAxNSApIHsgaCArPSAiRiI7IH0KICAgICAgfSBlbHNlIHsKICAgICAgICBoICs9IFN0cmluZyh0KTsKICAgICAgfQogICAgfSBlbHNlIHsKICAgICAgaCArPSAiMCI7CiAgICB9CiAgfQogIHJldHVybiBoOwp9Cgo=","commentary":"If B = 11110xxx (n = 4) and string.charAt(k + 3),\nstring.charAt(k + 6), string.charAt(k + 9) not equal \"%\", throw URIError","description":"Complex tests. B = [0xF0 - 0x0F7],\nstring.charAt(k + 6) not equal \"%\"","path":"TestCases/ch15/15.1/15.1.3/15.1.3.1/S15.1.3.1_A1.9_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBCID0gMTExMTB4eHggKG4gPSA0KSBhbmQgc3RyaW5nLmNoYXJBdChrICsgMyksCiAqIHN0cmluZy5jaGFyQXQoayArIDYpLCBzdHJpbmcuY2hhckF0KGsgKyA5KSBub3QgZXF1YWwgIiUiLCB0aHJvdyBVUklFcnJvcgogKgogKiBAcGF0aCBjaDE1LzE1LjEvMTUuMS4zLzE1LjEuMy4xL1MxNS4xLjMuMV9BMS45X1QzLmpzCiAqIEBkZXNjcmlwdGlvbiBDb21wbGV4IHRlc3RzLiBCID0gWzB4RjAgLSAweDBGN10sCiAqIHN0cmluZy5jaGFyQXQoayArIDkpIG5vdCBlcXVhbCAiJSIKICovCgp2YXIgZXJyb3JDb3VudCA9IDA7CnZhciBjb3VudCA9IDA7CnZhciBpbmRleFA7CnZhciBpbmRleE8gPSAwOwoKZm9yICh2YXIgaW5kZXggPSAweEYwOyBpbmRleCA8PSAweEY3OyBpbmRleCsrKSB7CiAgY291bnQrKzsgCiAgdmFyIGhleCA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleCk7CiAgdHJ5IHsKICAgIGRlY29kZVVSSSgiJSIgKyBoZXguc3Vic3RyaW5nKDIpICsgIiVBMCVBMDExMSIpOwogIH0gY2F0Y2ggKGUpIHsgCiAgICBpZiAoKGUgaW5zdGFuY2VvZiBVUklFcnJvcikgPT09IHRydWUpIGNvbnRpbnVlOyAgICAgICAgICAgICAgICAKICB9CiAgaWYgKGluZGV4TyA9PT0gMCkgeyAKICAgIGluZGV4TyA9IGluZGV4OwogIH0gZWxzZSB7CiAgICBpZiAoKGluZGV4IC0gaW5kZXhQKSAhPT0gMSkgeyAgICAgICAgICAgICAKICAgICAgaWYgKChpbmRleFAgLSBpbmRleE8pICE9PSAwKSB7CiAgICAgICAgdmFyIGhleFAgPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhQKTsKICAgICAgICB2YXIgaGV4TyA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleE8pOwogICAgICAgICRFUlJPUignIycgKyBoZXhPICsgJy0nICsgaGV4UCArICcgJyk7CiAgICAgIH0gCiAgICAgIGVsc2UgewogICAgICAgIHZhciBoZXhQID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4UCk7CiAgICAgICAgJEVSUk9SKCcjJyArIGhleFAgKyAnICcpOwogICAgICB9ICAKICAgICAgaW5kZXhPID0gaW5kZXg7CiAgICB9ICAgICAgICAgCiAgfQogIGluZGV4UCA9IGluZGV4OwogIGVycm9yQ291bnQrKzsgICAgICAgCn0KCmlmIChlcnJvckNvdW50ID4gMCkgewogIGlmICgoaW5kZXhQIC0gaW5kZXhPKSAhPT0gMCkgewogICAgdmFyIGhleFAgPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhQKTsKICAgIHZhciBoZXhPID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4Tyk7CiAgICAkRVJST1IoJyMnICsgaGV4TyArICctJyArIGhleFAgKyAnICcpOwogIH0gZWxzZSB7CiAgICB2YXIgaGV4UCA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleFApOwogICAgJEVSUk9SKCcjJyArIGhleFAgKyAnICcpOwogIH0gICAgIAogICRFUlJPUignVG90YWwgZXJyb3I6ICcgKyBlcnJvckNvdW50ICsgJyBiYWQgVW5pY29kZSBjaGFyYWN0ZXIgaW4gJyArIGNvdW50ICsgJyAnKTsKfQoKZnVuY3Rpb24gZGVjaW1hbFRvSGV4U3RyaW5nKG4pIHsKICBuID0gTnVtYmVyKG4pOwogIHZhciBoID0gIiI7CiAgZm9yICh2YXIgaSA9IDM7IGkgPj0gMDsgaS0tKSB7CiAgICBpZiAobiA+PSBNYXRoLnBvdygxNiwgaSkpIHsKICAgICAgdmFyIHQgPSBNYXRoLmZsb29yKG4gLyBNYXRoLnBvdygxNiwgaSkpOwogICAgICBuIC09IHQgKiBNYXRoLnBvdygxNiwgaSk7CiAgICAgIGlmICggdCA+PSAxMCApIHsKICAgICAgICBpZiAoIHQgPT0gMTAgKSB7IGggKz0gIkEiOyB9CiAgICAgICAgaWYgKCB0ID09IDExICkgeyBoICs9ICJCIjsgfQogICAgICAgIGlmICggdCA9PSAxMiApIHsgaCArPSAiQyI7IH0KICAgICAgICBpZiAoIHQgPT0gMTMgKSB7IGggKz0gIkQiOyB9CiAgICAgICAgaWYgKCB0ID09IDE0ICkgeyBoICs9ICJFIjsgfQogICAgICAgIGlmICggdCA9PSAxNSApIHsgaCArPSAiRiI7IH0KICAgICAgfSBlbHNlIHsKICAgICAgICBoICs9IFN0cmluZyh0KTsKICAgICAgfQogICAgfSBlbHNlIHsKICAgICAgaCArPSAiMCI7CiAgICB9CiAgfQogIHJldHVybiBoOwp9Cgo=","commentary":"If B = 11110xxx (n = 4) and string.charAt(k + 3),\nstring.charAt(k + 6), string.charAt(k + 9) not equal \"%\", throw URIError","description":"Complex tests. B = [0xF0 - 0x0F7],\nstring.charAt(k + 9) not equal \"%\"","path":"TestCases/ch15/15.1/15.1.3/15.1.3.1/S15.1.3.1_A1.9_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBzdHJpbmcuY2hhckF0KGspIG5vdCBlcXVhbCAiJSIsIHJldHVybiB0aGlzIGNoYXIKICoKICogQHBhdGggY2gxNS8xNS4xLzE1LjEuMy8xNS4xLjMuMS9TMTUuMS4zLjFfQTIuMV9UMS5qcwogKiBAZGVzY3JpcHRpb24gQ29tcGxleCB0ZXN0cwogKi8KCi8vQ0hFQ0sKdmFyIGVycm9yQ291bnQgPSAwOwp2YXIgY291bnQgPSAwOwpmb3IgKHZhciBpbmRleEkgPSAwOyBpbmRleEkgPD0gNjU1MzU7IGluZGV4SSsrKSB7CiAgaWYgKGluZGV4SSAhPT0gMHgyNSkgewogICAgdmFyIGhleCA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleEkpOwogICAgdHJ5IHsgICAgCiAgICAgIHZhciBzdHIgPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGluZGV4SSk7CiAgICAgIGlmIChkZWNvZGVVUkkoc3RyKSAhPT0gc3RyKSB7ICAgIAogICAgICAgICRFUlJPUignIycgKyBoZXggKyAnICcpOwogICAgICAgIGVycm9yQ291bnQrKzsKICAgICAgfSAgICAKICAgIH0gY2F0Y2ggKGUpewogICAgICAkRVJST1IoJyMnICsgaGV4ICsgJyAnKTsKICAgICAgZXJyb3JDb3VudCsrOwogICAgfSAKICAgIGNvdW50Kys7CiAgfQp9ICAKCmlmIChlcnJvckNvdW50ID4gMCkgeyAgICAKICAkRVJST1IoJ1RvdGFsIGVycm9yOiAnICsgZXJyb3JDb3VudCArICcgYmFkIFVuaWNvZGUgY2hhcmFjdGVyIGluICcgKyBjb3VudCk7Cn0KCmZ1bmN0aW9uIGRlY2ltYWxUb0hleFN0cmluZyhuKSB7CiAgbiA9IE51bWJlcihuKTsKICB2YXIgaCA9ICIiOwogIGZvciAodmFyIGkgPSAzOyBpID49IDA7IGktLSkgewogICAgaWYgKG4gPj0gTWF0aC5wb3coMTYsIGkpKSB7CiAgICAgIHZhciB0ID0gTWF0aC5mbG9vcihuIC8gTWF0aC5wb3coMTYsIGkpKTsKICAgICAgbiAtPSB0ICogTWF0aC5wb3coMTYsIGkpOwogICAgICBpZiAoIHQgPj0gMTAgKSB7CiAgICAgICAgaWYgKCB0ID09IDEwICkgeyBoICs9ICJBIjsgfQogICAgICAgIGlmICggdCA9PSAxMSApIHsgaCArPSAiQiI7IH0KICAgICAgICBpZiAoIHQgPT0gMTIgKSB7IGggKz0gIkMiOyB9CiAgICAgICAgaWYgKCB0ID09IDEzICkgeyBoICs9ICJEIjsgfQogICAgICAgIGlmICggdCA9PSAxNCApIHsgaCArPSAiRSI7IH0KICAgICAgICBpZiAoIHQgPT0gMTUgKSB7IGggKz0gIkYiOyB9CiAgICAgIH0gZWxzZSB7CiAgICAgICAgaCArPSBTdHJpbmcodCk7CiAgICAgIH0KICAgIH0gZWxzZSB7CiAgICAgIGggKz0gIjAiOwogICAgfQogIH0KICByZXR1cm4gaDsKfQoK","commentary":"If string.charAt(k) not equal \"%\", return this char","description":"Complex tests","path":"TestCases/ch15/15.1/15.1.3/15.1.3.1/S15.1.3.1_A2.1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBCMSA9IDB4eHh4eHh4eCAoWzB4MDAgLSAweDdGXSksIHdpdGhvdXQgW3VyaVJlc2VydmVkLCAjXSwgcmV0dXJuIEIxCiAqCiAqIEBwYXRoIGNoMTUvMTUuMS8xNS4xLjMvMTUuMS4zLjEvUzE1LjEuMy4xX0EyLjJfVDEuanMKICogQGRlc2NyaXB0aW9uIENvbXBsZXggdGVzdHMsIHVzZSBSRkMgMzYyOQogKi8KCnZhciBlcnJvckNvdW50ID0gMDsKdmFyIGNvdW50ID0gMDsKdmFyIGluZGV4UDsKdmFyIGluZGV4TyA9IDA7CnZhciB1cmlSZXNlcnZlZCA9IFsiOyIsICIvIiwgIj8iLCAiOiIsICJAIiwgIiYiLCAiPSIsICIrIiwgIiQiLCAiLCJdOwpsOgpmb3IgKHZhciBpbmRleEIxID0gMHgwMDsgaW5kZXhCMSA8PSAweDdGOyBpbmRleEIxKyspIHsgICAgICAgCiAgY291bnQrKzsKICB2YXIgaGV4QjEgPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhCMSk7ICAKICB2YXIgaW5kZXggPSBpbmRleEIxOyAgCiAgdHJ5IHsKICAgIHZhciBoZXggPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGluZGV4KTsKICAgIGZvciAoaW5kZXhDID0gMDsgaW5kZXhDIDwgdXJpUmVzZXJ2ZWQubGVuZ3RoOyBpbmRleEMrKykgeyAgICAKICAgICAgaWYgKGhleCA9PT0gdXJpUmVzZXJ2ZWRbaW5kZXhDXSkgY29udGludWUgbDsgICAgICAgIAogICAgfSAKICAgIGlmIChoZXggPT09ICIjIikgY29udGludWUgbDsKICAgIGlmIChkZWNvZGVVUkkoIiUiICsgaGV4QjEuc3Vic3RyaW5nKDIpKSA9PT0gaGV4KSBjb250aW51ZTsKICB9IGNhdGNoIChlKSB7CiAgICBpZiAoZSBpbnN0YW5jZW9mIFRlc3QyNjJFcnJvcikgdGhyb3cgZTsKICB9ICAgCiAgaWYgKGluZGV4TyA9PT0gMCkgeyAKICAgIGluZGV4TyA9IGluZGV4OwogIH0gZWxzZSB7CiAgICBpZiAoKGluZGV4IC0gaW5kZXhQKSAhPT0gMSkgeyAgICAgICAgICAgICAKICAgICAgaWYgKChpbmRleFAgLSBpbmRleE8pICE9PSAwKSB7CiAgICAgICAgdmFyIGhleFAgPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhQKTsKICAgICAgICB2YXIgaGV4TyA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleE8pOwogICAgICAgICRFUlJPUignIycgKyBoZXhPICsgJy0nICsgaGV4UCArICcgJyk7CiAgICAgIH0gCiAgICAgIGVsc2UgewogICAgICAgIHZhciBoZXhQID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4UCk7CiAgICAgICAgJEVSUk9SKCcjJyArIGhleFAgKyAnICcpOwogICAgICB9ICAKICAgICAgaW5kZXhPID0gaW5kZXg7CiAgICB9ICAgICAgICAgCiAgfQogIGluZGV4UCA9IGluZGV4OwogIGVycm9yQ291bnQrKzsgICAgICAgICAKfQoKaWYgKGVycm9yQ291bnQgPiAwKSB7CiAgaWYgKChpbmRleFAgLSBpbmRleE8pICE9PSAwKSB7CiAgICB2YXIgaGV4UCA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleFApOwogICAgdmFyIGhleE8gPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhPKTsKICAgICRFUlJPUignIycgKyBoZXhPICsgJy0nICsgaGV4UCArICcgJyk7CiAgfSBlbHNlIHsKICAgIHZhciBoZXhQID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4UCk7CiAgICAkRVJST1IoJyMnICsgaGV4UCArICcgJyk7CiAgfSAgICAgCiAgJEVSUk9SKCdUb3RhbCBlcnJvcjogJyArIGVycm9yQ291bnQgKyAnIGJhZCBVbmljb2RlIGNoYXJhY3RlciBpbiAnICsgY291bnQgKyAnICcpOwp9CgpmdW5jdGlvbiBkZWNpbWFsVG9IZXhTdHJpbmcobikgewogIG4gPSBOdW1iZXIobik7CiAgdmFyIGggPSAiIjsKICBmb3IgKHZhciBpID0gMzsgaSA+PSAwOyBpLS0pIHsKICAgIGlmIChuID49IE1hdGgucG93KDE2LCBpKSkgewogICAgICB2YXIgdCA9IE1hdGguZmxvb3IobiAvIE1hdGgucG93KDE2LCBpKSk7CiAgICAgIG4gLT0gdCAqIE1hdGgucG93KDE2LCBpKTsKICAgICAgaWYgKCB0ID49IDEwICkgewogICAgICAgIGlmICggdCA9PSAxMCApIHsgaCArPSAiQSI7IH0KICAgICAgICBpZiAoIHQgPT0gMTEgKSB7IGggKz0gIkIiOyB9CiAgICAgICAgaWYgKCB0ID09IDEyICkgeyBoICs9ICJDIjsgfQogICAgICAgIGlmICggdCA9PSAxMyApIHsgaCArPSAiRCI7IH0KICAgICAgICBpZiAoIHQgPT0gMTQgKSB7IGggKz0gIkUiOyB9CiAgICAgICAgaWYgKCB0ID09IDE1ICkgeyBoICs9ICJGIjsgfQogICAgICB9IGVsc2UgewogICAgICAgIGggKz0gU3RyaW5nKHQpOwogICAgICB9CiAgICB9IGVsc2UgewogICAgICBoICs9ICIwIjsKICAgIH0KICB9CiAgcmV0dXJuIGg7Cn0KCg==","commentary":"If B1 = 0xxxxxxxx ([0x00 - 0x7F]), without [uriReserved, #], return B1","description":"Complex tests, use RFC 3629","path":"TestCases/ch15/15.1/15.1.3/15.1.3.1/S15.1.3.1_A2.2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBCMSA9IDExMHh4eHh4IChbMHhDMCAtIDB4REZdKSwgQjIgPSAxMHh4eHh4eCAoWzB4ODAgLSAweEJGKSwgd2l0aG91dCBCMSA9IFsweEMwLCAweEMxXSwgcmV0dXJuIFVURjgoQjEsIEIyKQogKgogKiBAcGF0aCBjaDE1LzE1LjEvMTUuMS4zLzE1LjEuMy4xL1MxNS4xLjMuMV9BMi4zX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBDb21wbGV4IHRlc3RzLCB1c2UgUkZDIDM2MjkKICovCgp2YXIgZXJyb3JDb3VudCA9IDA7CnZhciBjb3VudCA9IDA7CnZhciBpbmRleFA7CnZhciBpbmRleE8gPSAwOwoKZm9yICh2YXIgaW5kZXhCMSA9IDB4QzI7IGluZGV4QjEgPD0gMHhERjsgaW5kZXhCMSsrKSB7ICAgICAKICB2YXIgaGV4QjEgPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhCMSk7CiAgZm9yICh2YXIgaW5kZXhCMiA9IDB4ODA7IGluZGV4QjIgPD0gMHhCRjsgaW5kZXhCMisrKSB7CiAgICBjb3VudCsrOwogICAgdmFyIGhleEIyID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4QjIpOwogICAgdmFyIGluZGV4ID0gKGluZGV4QjEgJiAweDFGKSAqIDB4NDAgKyAoaW5kZXhCMiAmIDB4M0YpOyAgCiAgICB0cnkgewogICAgICBpZiAoZGVjb2RlVVJJKCIlIiArIGhleEIxLnN1YnN0cmluZygyKSArICIlIiArIGhleEIyLnN1YnN0cmluZygyKSkgPT09IFN0cmluZy5mcm9tQ2hhckNvZGUoaW5kZXgpKSBjb250aW51ZTsNCiAgfSBjYXRjaCAoZSkgew0KICAgICAgaWYgKGUgaW5zdGFuY2VvZiBUZXN0MjYyRXJyb3IpIHRocm93IGU7CiAgICB9ICAgCiAgICBpZiAoaW5kZXhPID09PSAwKSB7IAogICAgICBpbmRleE8gPSBpbmRleDsKICAgIH0gZWxzZSB7CiAgICAgIGlmICgoaW5kZXggLSBpbmRleFApICE9PSAxKSB7ICAgICAgICAgICAgIAogICAgICAgIGlmICgoaW5kZXhQIC0gaW5kZXhPKSAhPT0gMCkgewogICAgICAgICAgdmFyIGhleFAgPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhQKTsKICAgICAgICAgIHZhciBoZXhPID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4Tyk7CiAgICAgICAgICAkRVJST1IoJyMnICsgaGV4TyArICctJyArIGhleFAgKyAnICcpOwogICAgICAgIH0gCiAgICAgICAgZWxzZSB7CiAgICAgICAgICB2YXIgaGV4UCA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleFApOwogICAgICAgICAgJEVSUk9SKCcjJyArIGhleFAgKyAnICcpOwogICAgICAgIH0gIAogICAgICAgIGluZGV4TyA9IGluZGV4OwogICAgICB9ICAgICAgICAgCiAgICB9CiAgICBpbmRleFAgPSBpbmRleDsKICAgIGVycm9yQ291bnQrKzsgICAgICAgCiAgfQp9CgppZiAoZXJyb3JDb3VudCA+IDApIHsKICBpZiAoKGluZGV4UCAtIGluZGV4TykgIT09IDApIHsKICAgIHZhciBoZXhQID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4UCk7CiAgICB2YXIgaGV4TyA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleE8pOwogICAgJEVSUk9SKCcjJyArIGhleE8gKyAnLScgKyBoZXhQICsgJyAnKTsKICB9IGVsc2UgewogICAgdmFyIGhleFAgPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhQKTsKICAgICRFUlJPUignIycgKyBoZXhQICsgJyAnKTsKICB9ICAgICAKICAkRVJST1IoJ1RvdGFsIGVycm9yOiAnICsgZXJyb3JDb3VudCArICcgYmFkIFVuaWNvZGUgY2hhcmFjdGVyIGluICcgKyBjb3VudCArICcgJyk7Cn0KCmZ1bmN0aW9uIGRlY2ltYWxUb0hleFN0cmluZyhuKSB7CiAgbiA9IE51bWJlcihuKTsKICB2YXIgaCA9ICIiOwogIGZvciAodmFyIGkgPSAzOyBpID49IDA7IGktLSkgewogICAgaWYgKG4gPj0gTWF0aC5wb3coMTYsIGkpKSB7CiAgICAgIHZhciB0ID0gTWF0aC5mbG9vcihuIC8gTWF0aC5wb3coMTYsIGkpKTsKICAgICAgbiAtPSB0ICogTWF0aC5wb3coMTYsIGkpOwogICAgICBpZiAoIHQgPj0gMTAgKSB7CiAgICAgICAgaWYgKCB0ID09IDEwICkgeyBoICs9ICJBIjsgfQogICAgICAgIGlmICggdCA9PSAxMSApIHsgaCArPSAiQiI7IH0KICAgICAgICBpZiAoIHQgPT0gMTIgKSB7IGggKz0gIkMiOyB9CiAgICAgICAgaWYgKCB0ID09IDEzICkgeyBoICs9ICJEIjsgfQogICAgICAgIGlmICggdCA9PSAxNCApIHsgaCArPSAiRSI7IH0KICAgICAgICBpZiAoIHQgPT0gMTUgKSB7IGggKz0gIkYiOyB9CiAgICAgIH0gZWxzZSB7CiAgICAgICAgaCArPSBTdHJpbmcodCk7CiAgICAgIH0KICAgIH0gZWxzZSB7CiAgICAgIGggKz0gIjAiOwogICAgfQogIH0KICByZXR1cm4gaDsKfQoK","commentary":"If B1 = 110xxxxx ([0xC0 - 0xDF]), B2 = 10xxxxxx ([0x80 - 0xBF), without B1 = [0xC0, 0xC1], return UTF8(B1, B2)","description":"Complex tests, use RFC 3629","path":"TestCases/ch15/15.1/15.1.3/15.1.3.1/S15.1.3.1_A2.3_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBCMSA9IDExMTB4eHh4IChbMHhFMCAtIDB4RUZdKSwgQjIsIEIzID0gMTB4eHh4eHh4IChbMHg4MCAtIDB4QkZdKSwgd2l0aG91dCBbQjEsIEIyXSA9IFsweEUwLCAweDgwIC0gMHg5Rl0sIFsweEVELCAweEEwIC0gMHhCRl0gKDB4RDgwMCAtIDB4REZGRiksIHJldHVybiBVVEY4KEIxLCBCMiwgQjMpCiAqCiAqIEBwYXRoIGNoMTUvMTUuMS8xNS4xLjMvMTUuMS4zLjEvUzE1LjEuMy4xX0EyLjRfVDEuanMKICogQGRlc2NyaXB0aW9uIENvbXBsZXggdGVzdHMsIHVzZSBSRkMgMzYyOQogKi8KCnZhciBlcnJvckNvdW50ID0gMDsKdmFyIGNvdW50ID0gMDsKdmFyIGluZGV4UDsKdmFyIGluZGV4TyA9IDA7Cgpmb3IgKHZhciBpbmRleEIxID0gMHhFMDsgaW5kZXhCMSA8PSAweEVGOyBpbmRleEIxKyspIHsgICAgIAogIHZhciBoZXhCMSA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleEIxKTsKICBmb3IgKHZhciBpbmRleEIyID0gMHg4MDsgaW5kZXhCMiA8PSAweEJGOyBpbmRleEIyKyspIHsKICAgIGlmICgoaW5kZXhCMSA9PT0gMHhFMCkgJiYgKGluZGV4QjIgPD0gMHg5RikpIGNvbnRpbnVlOwogICAgaWYgKChpbmRleEIxID09PSAweEVEKSAmJiAoMHhBMCA8PSBpbmRleEIyKSkgY29udGludWU7ICAgICAgICAgCiAgICB2YXIgaGV4QjIgPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhCMik7CiAgICBmb3IgKHZhciBpbmRleEIzID0gMHg4MDsgaW5kZXhCMyA8PSAweEJGOyBpbmRleEIzKyspIHsKICAgICAgY291bnQrKzsKICAgICAgdmFyIGhleEIzID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4QjMpOwogICAgICB2YXIgaW5kZXggPSAoaW5kZXhCMSAmIDB4MEYpICogMHgxMDAwICsgKGluZGV4QjIgJiAweDNGKSAqIDB4NDAgKyAoaW5kZXhCMyAmIDB4M0YpOyAgCiAgICAgIHRyeSB7CiAgICAgICAgaWYgKGRlY29kZVVSSSgiJSIgKyBoZXhCMS5zdWJzdHJpbmcoMikgKyAiJSIgKyBoZXhCMi5zdWJzdHJpbmcoMikgKyAiJSIgKyBoZXhCMy5zdWJzdHJpbmcoMikpID09PSBTdHJpbmcuZnJvbUNoYXJDb2RlKGluZGV4KSkgY29udGludWU7DQogICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgIGlmIChlIGluc3RhbmNlb2YgVGVzdDI2MkVycm9yKSB0aHJvdyBlOwogICAgICB9ICAgCiAgICAgIGlmIChpbmRleE8gPT09IDApIHsgCiAgICAgICAgaW5kZXhPID0gaW5kZXg7CiAgICAgIH0gZWxzZSB7CiAgICAgICAgaWYgKChpbmRleCAtIGluZGV4UCkgIT09IDEpIHsgICAgICAgICAgICAgCiAgICAgICAgICBpZiAoKGluZGV4UCAtIGluZGV4TykgIT09IDApIHsKICAgICAgICAgICAgdmFyIGhleFAgPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhQKTsKICAgICAgICAgICAgdmFyIGhleE8gPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhPKTsKICAgICAgICAgICAgJEVSUk9SKCcjJyArIGhleE8gKyAnLScgKyBoZXhQICsgJyAnKTsKICAgICAgICAgIH0gCiAgICAgICAgICBlbHNlIHsKICAgICAgICAgICAgdmFyIGhleFAgPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhQKTsKICAgICAgICAgICAgJEVSUk9SKCcjJyArIGhleFAgKyAnICcpOwogICAgICAgICAgfSAgCiAgICAgICAgICBpbmRleE8gPSBpbmRleDsKICAgICAgICB9ICAgICAgICAgCiAgICAgIH0KICAgICAgaW5kZXhQID0gaW5kZXg7CiAgICAgIGVycm9yQ291bnQrKzsgIAogICAgfSAgICAgCiAgfQp9CgppZiAoZXJyb3JDb3VudCA+IDApIHsKICBpZiAoKGluZGV4UCAtIGluZGV4TykgIT09IDApIHsKICAgIHZhciBoZXhQID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4UCk7CiAgICB2YXIgaGV4TyA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleE8pOwogICAgJEVSUk9SKCcjJyArIGhleE8gKyAnLScgKyBoZXhQICsgJyAnKTsKICB9IGVsc2UgewogICAgdmFyIGhleFAgPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhQKTsKICAgICRFUlJPUignIycgKyBoZXhQICsgJyAnKTsKICB9ICAgICAKICAkRVJST1IoJ1RvdGFsIGVycm9yOiAnICsgZXJyb3JDb3VudCArICcgYmFkIFVuaWNvZGUgY2hhcmFjdGVyIGluICcgKyBjb3VudCArICcgJyk7Cn0KCmZ1bmN0aW9uIGRlY2ltYWxUb0hleFN0cmluZyhuKSB7CiAgbiA9IE51bWJlcihuKTsKICB2YXIgaCA9ICIiOwogIGZvciAodmFyIGkgPSAzOyBpID49IDA7IGktLSkgewogICAgaWYgKG4gPj0gTWF0aC5wb3coMTYsIGkpKSB7CiAgICAgIHZhciB0ID0gTWF0aC5mbG9vcihuIC8gTWF0aC5wb3coMTYsIGkpKTsKICAgICAgbiAtPSB0ICogTWF0aC5wb3coMTYsIGkpOwogICAgICBpZiAoIHQgPj0gMTAgKSB7CiAgICAgICAgaWYgKCB0ID09IDEwICkgeyBoICs9ICJBIjsgfQogICAgICAgIGlmICggdCA9PSAxMSApIHsgaCArPSAiQiI7IH0KICAgICAgICBpZiAoIHQgPT0gMTIgKSB7IGggKz0gIkMiOyB9CiAgICAgICAgaWYgKCB0ID09IDEzICkgeyBoICs9ICJEIjsgfQogICAgICAgIGlmICggdCA9PSAxNCApIHsgaCArPSAiRSI7IH0KICAgICAgICBpZiAoIHQgPT0gMTUgKSB7IGggKz0gIkYiOyB9CiAgICAgIH0gZWxzZSB7CiAgICAgICAgaCArPSBTdHJpbmcodCk7CiAgICAgIH0KICAgIH0gZWxzZSB7CiAgICAgIGggKz0gIjAiOwogICAgfQogIH0KICByZXR1cm4gaDsKfQoK","commentary":"If B1 = 1110xxxx ([0xE0 - 0xEF]), B2, B3 = 10xxxxxxx ([0x80 - 0xBF]), without [B1, B2] = [0xE0, 0x80 - 0x9F], [0xED, 0xA0 - 0xBF] (0xD800 - 0xDFFF), return UTF8(B1, B2, B3)","description":"Complex tests, use RFC 3629","path":"TestCases/ch15/15.1/15.1.3/15.1.3.1/S15.1.3.1_A2.4_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBCMSA9IDExMTEweHh4IChbMHhGMCAtIDB4MEY0XSksIEIyLCBCMywgQjQgPSAxMHh4eHh4eHggKFsweDgwIC0gMHhCRl0pLCB3aXRob3V0IFtCMSwgQjJdID0gWzB4RjAsIDB4ODAgLSAweDlGXSwgWzB4RjQsIDB4OTAgLSAweEJGXSwgcmV0dXJuIFVURjgoQjEsIEIyLCBCMywgQjQpCiAqCiAqIEBwYXRoIGNoMTUvMTUuMS8xNS4xLjMvMTUuMS4zLjEvUzE1LjEuMy4xX0EyLjVfVDEuanMKICogQGRlc2NyaXB0aW9uIENvbXBsZXggdGVzdHMsIHVzZSBSRkMgMzYyOQogKi8KCnZhciBlcnJvckNvdW50ID0gMDsKdmFyIGNvdW50ID0gMDsKdmFyIGluZGV4UDsKdmFyIGluZGV4TyA9IDA7Cgpmb3IgKHZhciBpbmRleEIxID0gMHhGMDsgaW5kZXhCMSA8PSAweEY0OyBpbmRleEIxKyspIHsgICAgIAogIHZhciBoZXhCMSA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleEIxKTsKICBmb3IgKHZhciBpbmRleEIyID0gMHg4MDsgaW5kZXhCMiA8PSAweEJGOyBpbmRleEIyKyspIHsKICAgIGlmICgoaW5kZXhCMSA9PT0gMHhGMCkgJiYgKGluZGV4QjIgPD0gMHg5RikpIGNvbnRpbnVlOyAgICAgICAgICAgIAogICAgaWYgKChpbmRleEIxID09PSAweEY0KSAmJiAoaW5kZXhCMiA+PSAweDkwKSkgY29udGludWU7CiAgICB2YXIgaGV4QjIgPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhCMik7CiAgICBmb3IgKHZhciBpbmRleEIzID0gMHg4MDsgaW5kZXhCMyA8PSAweEJGOyBpbmRleEIzKyspIHsKICAgICAgdmFyIGhleEIzID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4QjMpOwogICAgICBmb3IgKHZhciBpbmRleEI0ID0gMHg4MDsgaW5kZXhCNCA8PSAweEJGOyBpbmRleEI0KyspIHsKICAgICAgICB2YXIgaGV4QjQgPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhCNCk7CiAgICAgICAgY291bnQrKzsKICAgICAgICB2YXIgaW5kZXggPSAoaW5kZXhCMSAmIDB4MDcpICogMHg0MDAwMCArIChpbmRleEIyICYgMHgzRikgKiAweDEwMDAgKyAoaW5kZXhCMyAmIDB4M0YpICogMHg0MCArIChpbmRleEI0ICYgMHgzRik7CiAgICAgICAgdmFyIEwgPSAoKGluZGV4IC0gMHgxMDAwMCkgJiAweDAzRkYpICsgMHhEQzAwOwogICAgICAgIHZhciBIID0gKCgoaW5kZXggLSAweDEwMDAwKSA+PiAxMCkgJiAweDAzRkYpICsgMHhEODAwOyAgCiAgICAgICAgdHJ5IHsKICAgICAgICAgIGlmIChkZWNvZGVVUkkoIiUiICsgaGV4QjEuc3Vic3RyaW5nKDMpICsgIiUiICsgaGV4QjIuc3Vic3RyaW5nKDMpICsgIiUiICsgaGV4QjMuc3Vic3RyaW5nKDMpICsgIiUiICsgaGV4QjQuc3Vic3RyaW5nKDMpKSA9PT0gU3RyaW5nLmZyb21DaGFyQ29kZShIKSArIFN0cmluZy5mcm9tQ2hhckNvZGUoTCkpIGNvbnRpbnVlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgaWYgKGUgaW5zdGFuY2VvZiBUZXN0MjYyRXJyb3IpIHRocm93IGU7CiAgICAgICAgfSAgIAogICAgICAgIGlmIChpbmRleE8gPT09IDApIHsgCiAgICAgICAgICBpbmRleE8gPSBpbmRleDsKICAgICAgICB9IGVsc2UgewogICAgICAgICAgaWYgKChpbmRleCAtIGluZGV4UCkgIT09IDEpIHsgICAgICAgICAgICAgCiAgICAgICAgICAgIGlmICgoaW5kZXhQIC0gaW5kZXhPKSAhPT0gMCkgewogICAgICAgICAgICAgIHZhciBoZXhQID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4UCk7CiAgICAgICAgICAgICAgdmFyIGhleE8gPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhPKTsKICAgICAgICAgICAgICAkRVJST1IoJyMnICsgaGV4TyArICctJyArIGhleFAgKyAnICcpOwogICAgICAgICAgICB9IAogICAgICAgICAgICBlbHNlIHsKICAgICAgICAgICAgICB2YXIgaGV4UCA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleFApOwogICAgICAgICAgICAgICRFUlJPUignIycgKyBoZXhQICsgJyAnKTsKICAgICAgICAgICAgfSAgCiAgICAgICAgICAgIGluZGV4TyA9IGluZGV4OwogICAgICAgICAgfSAgICAgICAgIAogICAgICAgIH0KICAgICAgICBpbmRleFAgPSBpbmRleDsKICAgICAgICBlcnJvckNvdW50Kys7ICAKICAgICAgfQogICAgfSAgICAgCiAgfQp9CgppZiAoZXJyb3JDb3VudCA+IDApIHsKICBpZiAoKGluZGV4UCAtIGluZGV4TykgIT09IDApIHsKICAgIHZhciBoZXhQID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4UCk7CiAgICB2YXIgaGV4TyA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleE8pOwogICAgJEVSUk9SKCcjJyArIGhleE8gKyAnLScgKyBoZXhQICsgJyAnKTsKICB9IGVsc2UgewogICAgdmFyIGhleFAgPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhQKTsKICAgICRFUlJPUignIycgKyBoZXhQICsgJyAnKTsKICB9ICAgICAKICAkRVJST1IoJ1RvdGFsIGVycm9yOiAnICsgZXJyb3JDb3VudCArICcgYmFkIFVuaWNvZGUgY2hhcmFjdGVyIGluICcgKyBjb3VudCArICcgJyk7Cn0KCmZ1bmN0aW9uIGRlY2ltYWxUb0hleFN0cmluZyhuKSB7CiAgbiA9IE51bWJlcihuKTsKICB2YXIgaCA9ICIiOwogIGZvciAodmFyIGkgPSA0OyBpID49IDA7IGktLSkgewogICAgaWYgKG4gPj0gTWF0aC5wb3coMTYsIGkpKSB7CiAgICAgIHZhciB0ID0gTWF0aC5mbG9vcihuIC8gTWF0aC5wb3coMTYsIGkpKTsKICAgICAgbiAtPSB0ICogTWF0aC5wb3coMTYsIGkpOwogICAgICBpZiAoIHQgPj0gMTAgKSB7CiAgICAgICAgaWYgKCB0ID09IDEwICkgeyBoICs9ICJBIjsgfQogICAgICAgIGlmICggdCA9PSAxMSApIHsgaCArPSAiQiI7IH0KICAgICAgICBpZiAoIHQgPT0gMTIgKSB7IGggKz0gIkMiOyB9CiAgICAgICAgaWYgKCB0ID09IDEzICkgeyBoICs9ICJEIjsgfQogICAgICAgIGlmICggdCA9PSAxNCApIHsgaCArPSAiRSI7IH0KICAgICAgICBpZiAoIHQgPT0gMTUgKSB7IGggKz0gIkYiOyB9CiAgICAgIH0gZWxzZSB7CiAgICAgICAgaCArPSBTdHJpbmcodCk7CiAgICAgIH0KICAgIH0gZWxzZSB7CiAgICAgIGggKz0gIjAiOwogICAgfQogIH0KICByZXR1cm4gaDsKfQoK","commentary":"If B1 = 11110xxx ([0xF0 - 0x0F4]), B2, B3, B4 = 10xxxxxxx ([0x80 - 0xBF]), without [B1, B2] = [0xF0, 0x80 - 0x9F], [0xF4, 0x90 - 0xBF], return UTF8(B1, B2, B3, B4)","description":"Complex tests, use RFC 3629","path":"TestCases/ch15/15.1/15.1.3/15.1.3.1/S15.1.3.1_A2.5_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBMZXQgcmVzZXJ2ZWRVUklTZXQgYmUgYSBzdHJpbmcgY29udGFpbmluZyBvbmUgaW5zdGFuY2Ugb2YgZWFjaCBjaGFyYWN0ZXIgdmFsaWQKICogaW4gdXJpUmVzZXJ2ZWQgcGx1cyAiIyIKICoKICogQHBhdGggY2gxNS8xNS4xLzE1LjEuMy8xNS4xLjMuMS9TMTUuMS4zLjFfQTNfVDEuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGFsbCBjaGFyYWN0ZXIgaW4gcmVzZXJ2ZWRVUklTZXQuIEhleERpZ2l0IGluIFswLi45LCBBLi5GXQogKi8KCi8vQ0hFQ0sjMQppZiAoZGVjb2RlVVJJKCIlM0IiKSAhPT0gIiUzQiIpIHsKICAkRVJST1IoJyMxOiBkZWNvZGVVUkkoIiUzQiIpIGVxdWFsICIlM0IiLCBub3QgIjsiJyk7Cn0KCi8vQ0hFQ0sjMgppZiAoZGVjb2RlVVJJKCIlMkYiKSAhPT0gIiUyRiIpIHsKICAkRVJST1IoJyMyOiBkZWNvZGVVUkkoIiUyRiIpIGVxdWFsICIlMkYiLCBub3QgIi8iJyk7Cn0KCi8vQ0hFQ0sjMwppZiAoZGVjb2RlVVJJKCIlM0YiKSAhPT0gIiUzRiIpIHsKICAkRVJST1IoJyMzOiBkZWNvZGVVUkkoIiUzRiIpIGVxdWFsICIlM0YiLCBub3QgIj8iJyk7Cn0KCi8vQ0hFQ0sjNAppZiAoZGVjb2RlVVJJKCIlM0EiKSAhPT0gIiUzQSIpIHsKICAkRVJST1IoJyM0OiBkZWNvZGVVUkkoIiUzQSIpIGVxdWFsICIlM0EiLCBub3QgIjoiJyk7Cn0KCi8vQ0hFQ0sjNQppZiAoZGVjb2RlVVJJKCIlNDAiKSAhPT0gIiU0MCIpIHsKICAkRVJST1IoJyM1OiBkZWNvZGVVUkkoIiU0MCIpIGVxdWFsICIlNDAiLCBub3QgIkAiJyk7Cn0KCi8vQ0hFQ0sjNgppZiAoZGVjb2RlVVJJKCIlMjYiKSAhPT0gIiUyNiIpIHsKICAkRVJST1IoJyM2OiBkZWNvZGVVUkkoIiUyNiIpIGVxdWFsICIlMjYiLCBub3QgIiYiJyk7Cn0KCi8vQ0hFQ0sjNwppZiAoZGVjb2RlVVJJKCIlM0QiKSAhPT0gIiUzRCIpIHsKICAkRVJST1IoJyM3LjE6IGRlY29kZVVSSSgiJTNEIikgZXF1YWwgIiUzRCIsIG5vdCAiPSInKTsKfQoKLy9DSEVDSyM4CmlmIChkZWNvZGVVUkkoIiUyQiIpICE9PSAiJTJCIikgewogICRFUlJPUignIzguMTogZGVjb2RlVVJJKCIlMkIiKSBlcXVhbCAiJTJCIiwgbm90ICIrIicpOwp9CgovL0NIRUNLIzkKaWYgKGRlY29kZVVSSSgiJTI0IikgIT09ICIlMjQiKSB7CiAgJEVSUk9SKCcjOTogZGVjb2RlVVJJKCIlMjQiKSBlcXVhbCAiJTI0Iiwgbm90ICIkIicpOwp9CgovL0NIRUNLIzEwCmlmIChkZWNvZGVVUkkoIiUyQyIpICE9PSAiJTJDIikgewogICRFUlJPUignIzEwOiBkZWNvZGVVUkkoIiUyQyIpIGVxdWFsICIlMkMiLCBub3QgIiwiJyk7Cn0KCi8vQ0hFQ0sjMTEKaWYgKGRlY29kZVVSSSgiJTIzIikgIT09ICIlMjMiKSB7CiAgJEVSUk9SKCcjMTE6IGRlY29kZVVSSSgiJTIzIikgZXF1YWwgIiUyMyIsIG5vdCAiIyInKTsKfQoK","commentary":"Let reservedURISet be a string containing one instance of each character valid\nin uriReserved plus \"#\"","description":"Checking all character in reservedURISet. HexDigit in [0..9, A..F]","path":"TestCases/ch15/15.1/15.1.3/15.1.3.1/S15.1.3.1_A3_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBMZXQgcmVzZXJ2ZWRVUklTZXQgYmUgYSBzdHJpbmcgY29udGFpbmluZyBvbmUgaW5zdGFuY2Ugb2YgZWFjaCBjaGFyYWN0ZXIgdmFsaWQKICogaW4gdXJpUmVzZXJ2ZWQgcGx1cyAiIyIKICoKICogQHBhdGggY2gxNS8xNS4xLzE1LjEuMy8xNS4xLjMuMS9TMTUuMS4zLjFfQTNfVDIuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGFsbCBjaGFyYWN0ZXIgaW4gcmVzZXJ2ZWRVUklTZXQuIEhleERpZ2l0IGluIFswLi45LCBhLi5mXQogKi8KCi8vQ0hFQ0sjMQppZiAoZGVjb2RlVVJJKCIlM2IiKSAhPT0gIiUzYiIpIHsKICAkRVJST1IoJyMxOiBkZWNvZGVVUkkoIiUzYiIpIGVxdWFsICIlM2IiLCBub3QgIjsiIG9yICIlM0IiJyk7Cn0KCi8vQ0hFQ0sjMgppZiAoZGVjb2RlVVJJKCIlMmYiKSAhPT0gIiUyZiIpIHsKICAkRVJST1IoJyMyOiBkZWNvZGVVUkkoIiUyZiIpIGVxdWFsICIlMmYiLCBub3QgIi8iIG9yICIlMkYiJyk7Cn0KCi8vQ0hFQ0sjMwppZiAoZGVjb2RlVVJJKCIlM2YiKSAhPT0gIiUzZiIpIHsKICAkRVJST1IoJyMzOiBkZWNvZGVVUkkoIiUzZiIpIGVxdWFsICIlM2YiLCBub3QgIj8iIG9yICIlM0YiJyk7Cn0KCi8vQ0hFQ0sjNAppZiAoZGVjb2RlVVJJKCIlM2EiKSAhPT0gIiUzYSIpIHsKICAkRVJST1IoJyM0OiBkZWNvZGVVUkkoIiUzYSIpIGVxdWFsICIlM2EiLCBub3QgIjoiIG9yICIlM0EiJyk7Cn0KCi8vQ0hFQ0sjNQppZiAoZGVjb2RlVVJJKCIlNDAiKSAhPT0gIiU0MCIpIHsKICAkRVJST1IoJyM1OiBkZWNvZGVVUkkoIiU0MCIpIGVxdWFsICIlNDAiLCBub3QgIkAiJyk7Cn0KCi8vQ0hFQ0sjNgppZiAoZGVjb2RlVVJJKCIlMjYiKSAhPT0gIiUyNiIpIHsKICAkRVJST1IoJyM2OiBkZWNvZGVVUkkoIiUyNiIpIGVxdWFsICIlMjYiLCBub3QgIiYiJyk7Cn0KCi8vQ0hFQ0sjNwppZiAoZGVjb2RlVVJJKCIlM2QiKSAhPT0gIiUzZCIpIHsKICAkRVJST1IoJyM3LjE6IGRlY29kZVVSSSgiJTNkIikgZXF1YWwgIiUzZCIsIG5vdCAiPSIgb3IgIiUzRCInKTsKfQoKLy9DSEVDSyM4CmlmIChkZWNvZGVVUkkoIiUyYiIpICE9PSAiJTJiIikgewogICRFUlJPUignIzguMTogZGVjb2RlVVJJKCIlMmIiKSBlcXVhbCAiJTJiIiwgbm90ICIrIiBvciAiJTJCIicpOwp9CgovL0NIRUNLIzkKaWYgKGRlY29kZVVSSSgiJTI0IikgIT09ICIlMjQiKSB7CiAgJEVSUk9SKCcjOTogZGVjb2RlVVJJKCIlMjQiKSBlcXVhbCAiJTI0Iiwgbm90ICIkIicpOwp9CgovL0NIRUNLIzEwCmlmIChkZWNvZGVVUkkoIiUyYyIpICE9PSAiJTJjIikgewogICRFUlJPUignIzEwOiBkZWNvZGVVUkkoIiUyYyIpIGVxdWFsICIlMmMiLCBub3QgIiwiIG9yICIlMkMiJyk7Cn0KCi8vQ0hFQ0sjMTEKaWYgKGRlY29kZVVSSSgiJTIzIikgIT09ICIlMjMiKSB7CiAgJEVSUk9SKCcjMTE6IGRlY29kZVVSSSgiJTIzIikgZXF1YWwgIiUyMyIsIG5vdCAiIyInKTsKfQoK","commentary":"Let reservedURISet be a string containing one instance of each character valid\nin uriReserved plus \"#\"","description":"Checking all character in reservedURISet. HexDigit in [0..9, a..f]","path":"TestCases/ch15/15.1/15.1.3/15.1.3.1/S15.1.3.1_A3_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBMZXQgcmVzZXJ2ZWRVUklTZXQgYmUgYSBzdHJpbmcgY29udGFpbmluZyBvbmUgaW5zdGFuY2Ugb2YgZWFjaCBjaGFyYWN0ZXIgdmFsaWQKICogaW4gdXJpUmVzZXJ2ZWQgcGx1cyAiIyIKICoKICogQHBhdGggY2gxNS8xNS4xLzE1LjEuMy8xNS4xLjMuMS9TMTUuMS4zLjFfQTNfVDMuanMKICogQGRlc2NyaXB0aW9uIENvbXBsZXggdGVzdAogKi8KCi8vQ0hFQ0sjMQppZiAoZGVjb2RlVVJJKCIlM0IlMkYlM0YlM0ElNDAlMjYlM0QlMkIlMjQlMkMlMjMiKSAhPT0gIiUzQiUyRiUzRiUzQSU0MCUyNiUzRCUyQiUyNCUyQyUyMyIpIHsKICAkRVJST1IoJyMxOiBkZWNvZGVVUkkoIiUzQiUyRiUzRiUzQSU0MCUyNiUzRCUyQiUyNCUyQyUyMyIpIGVxdWFsICIlM0IlMkYlM0YlM0ElNDAlMjYlM0QlMkIlMjQlMkMlMjMiLCBub3QgIjsvPzpAJj0rJCwjIicpOwp9CgovL0NIRUNLIzIKaWYgKGRlY29kZVVSSSgiJTNiJTJmJTNmJTNhJTQwJTI2JTNkJTJiJTI0JTJjJTIzIikgIT09ICIlM2IlMmYlM2YlM2ElNDAlMjYlM2QlMmIlMjQlMmMlMjMiKSB7CiAgJEVSUk9SKCcjMjogZGVjb2RlVVJJKCIlM2IlMmYlM2YlM2ElNDAlMjYlM2QlMmIlMjQlMmMlMjMiKSBlcXVhbCAiJTNiJTJmJTNmJTNhJTQwJTI2JTNkJTJiJTI0JTJjJTIzIiwgbm90ICI7Lz86QCY9KyQsIyIgb3IgIiUzQiUyRiUzRiUzQSU0MCUyNiUzRCUyQiUyNCUyQyUyMyInKTsKfQoK","commentary":"Let reservedURISet be a string containing one instance of each character valid\nin uriReserved plus \"#\"","description":"Complex test","path":"TestCases/ch15/15.1/15.1.3/15.1.3.1/S15.1.3.1_A3_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBVUkkgdGVzdHMKICoKICogQHBhdGggY2gxNS8xNS4xLzE1LjEuMy8xNS4xLjMuMS9TMTUuMS4zLjFfQTRfVDEuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIEVOR0xJU0ggQUxQSEFCRVQKICovCgovL0NIRUNLIzEKaWYgKGRlY29kZVVSSSgiaHR0cDovL3VuaXByby5ydS8wMTIzNDU2Nzg5IikgIT09ICJodHRwOi8vdW5pcHJvLnJ1LzAxMjM0NTY3ODkiKSB7CiAgJEVSUk9SKCcjMTogaHR0cDovL3VuaXByby5ydS8wMTIzNDU2Nzg5Jyk7Cn0KCi8vQ0hFQ0sjMgppZiAoZGVjb2RlVVJJKCIlNDElNDIlNDMlNDQlNDUlNDYlNDclNDglNDklNEElNEIlNEMlNEQlNEUlNEYlNTAlNTElNTIlNTMlNTQlNTUlNTYlNTclNTglNTklNUEiKSAhPT0gIkFCQ0RFRkdISUpLTE1OT1BRUlNUVVZXWFlaIikgewogICRFUlJPUignIzI6IEFCQ0RFRkdISUpLTE1OT1BRUlNUVVZXWFlaJyk7Cn0KCi8vQ0hFQ0sjMwppZiAoZGVjb2RlVVJJKCIlNjElNjIlNjMlNjQlNjUlNjYlNjclNjglNjklNkElNkIlNkMlNkQlNkUlNkYlNzAlNzElNzIlNzMlNzQlNzUlNzYlNzclNzglNzklN0EiKSAhPT0gImFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6IikgewogICRFUlJPUignIzM6IGFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6Jyk7Cn0KCg==","commentary":"URI tests","description":"Checking ENGLISH ALPHABET","path":"TestCases/ch15/15.1/15.1.3/15.1.3.1/S15.1.3.1_A4_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBVUkkgdGVzdHMKICoKICogQHBhdGggY2gxNS8xNS4xLzE1LjEuMy8xNS4xLjMuMS9TMTUuMS4zLjFfQTRfVDIuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIFJVU1NJQU4gQUxQSEFCRVQKICovCgovL0NIRUNLIzEKaWYgKGRlY29kZVVSSSgiaHR0cDovL3J1Lndpa2lwZWRpYS5vcmcvd2lraS8lZDAlYWUlRDAlYmQlRDAlQjglRDAlQkElRDAlQkUlRDAlQjQiKSAhPT0gImh0dHA6Ly9ydS53aWtpcGVkaWEub3JnL3dpa2kv0K7QvdC40LrQvtC0IikgewogICRFUlJPUignIzE6IGh0dHA6Ly9ydS53aWtpcGVkaWEub3JnL3dpa2kv0K7QvdC40LrQvtC0Jyk7Cn0KCi8vQ0hFQ0sjMgppZiAoZGVjb2RlVVJJKCJodHRwOi8vcnUud2lraXBlZGlhLm9yZy93aWtpLyVEMCVBRSVEMCVCRCVEMCVCOCVEMCVCQSVEMCVCRSVEMCVCNCMlRDAlQTElRDElODElRDElOEIlRDAlQkIlRDAlQkElRDAlQjgiKSAhPT0gImh0dHA6Ly9ydS53aWtpcGVkaWEub3JnL3dpa2kv0K7QvdC40LrQvtC0I9Ch0YHRi9C70LrQuCIpIHsKICAkRVJST1IoJyMyOiBodHRwOi8vcnUud2lraXBlZGlhLm9yZy93aWtpL9Cu0L3QuNC60L7QtCPQodGB0YvQu9C60LgnKTsKfQoKLy9DSEVDSyMzCmlmIChkZWNvZGVVUkkoImh0dHA6Ly9ydS53aWtpcGVkaWEub3JnL3dpa2kvJUQwJUFFJUQwJUJEJUQwJUI4JUQwJUJBJUQwJUJFJUQwJUI0JTIzJUQwJTkyJUQwJUI1JUQxJTgwJUQxJTgxJUQwJUI4JUQwJUI4JTIwJUQwJUFFJUQwJUJEJUQwJUI4JUQwJUJBJUQwJUJFJUQwJUI0JUQwJUIwIikgIT09ICJodHRwOi8vcnUud2lraXBlZGlhLm9yZy93aWtpL9Cu0L3QuNC60L7QtCUyM9CS0LXRgNGB0LjQuCDQrtC90LjQutC+0LTQsCIpIHsKICAkRVJST1IoJyMzOiBodHRwOi8vcnUud2lraXBlZGlhLm9yZy93aWtpL9Cu0L3QuNC60L7QtCUyM9CS0LXRgNGB0LjQuCDQrtC90LjQutC+0LTQsCcpOwp9Cgo=","commentary":"URI tests","description":"Checking RUSSIAN ALPHABET","path":"TestCases/ch15/15.1/15.1.3/15.1.3.1/S15.1.3.1_A4_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBVUkkgdGVzdHMKICoKICogQHBhdGggY2gxNS8xNS4xLzE1LjEuMy8xNS4xLjMuMS9TMTUuMS4zLjFfQTRfVDMuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIFVSTCB3aXRoIExpbmUgVGVybWluYXRvcgogKi8KCi8vQ0hFQ0sjMQppZiAoZGVjb2RlVVJJKCJodHRwOi8vdW5pcHJvLnJ1LyUwQWFib3V0IikgIT09ICJodHRwOi8vdW5pcHJvLnJ1L1xuYWJvdXQiKSB7CiAgJEVSUk9SKCcjMTogaHR0cDovL3VuaXByby5ydS8lQTBhYm91dCcpOwp9CgovL0NIRUNLIzIKaWYgKGRlY29kZVVSSSgiaHR0cDovL3VuaXByby5ydS8lMEJhYm91dCIpICE9PSAiaHR0cDovL3VuaXByby5ydS9cdmFib3V0IikgewogICRFUlJPUignIzI6IGh0dHA6Ly91bmlwcm8ucnUvJTBCYWJvdXQnKTsKfQoKLy9DSEVDSyMzCmlmIChkZWNvZGVVUkkoImh0dHA6Ly91bmlwcm8ucnUvJTBDYWJvdXQiKSAhPT0gImh0dHA6Ly91bmlwcm8ucnUvXGZhYm91dCIpIHsKICAkRVJST1IoJyMzOiBodHRwOi8vdW5pcHJvLnJ1LyUwQ2Fib3V0Jyk7Cn0KCi8vQ0hFQ0sjNAppZiAoZGVjb2RlVVJJKCJodHRwOi8vdW5pcHJvLnJ1LyUwRGFib3V0IikgIT09ICJodHRwOi8vdW5pcHJvLnJ1L1xyYWJvdXQiKSB7CiAgJEVSUk9SKCcjNDogaHR0cDovL3VuaXByby5ydS8lMERhYm91dCcpOwp9Cgo=","commentary":"URI tests","description":"Checking URL with Line Terminator","path":"TestCases/ch15/15.1/15.1.3/15.1.3.1/S15.1.3.1_A4_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBVUkkgdGVzdHMKICoKICogQHBhdGggY2gxNS8xNS4xLzE1LjEuMy8xNS4xLjMuMS9TMTUuMS4zLjFfQTRfVDQuanMKICogQGRlc2NyaXB0aW9uIFRlc3Qgc29tZSB1cmwKICovCgovL0NIRUNLIzEKaWYgKGRlY29kZVVSSSgiIikgIT09ICIiKSB7CiAgJEVSUk9SKCcjMTogIiInKTsKfQoKLy9DSEVDSyMyCmlmIChkZWNvZGVVUkkoImh0dHA6JTJmJTJGdW5pcHJvLnJ1IikgIT09ICJodHRwOiUyZiUyRnVuaXByby5ydSIpIHsKICAkRVJST1IoJyMyOiBodHRwOiUyZiUyRnVuaXByby5ydScpOwp9CgovL0NIRUNLIzMKaWYgKGRlY29kZVVSSSgiaHR0cDovL3d3dy5nb29nbGUucnUvc3VwcG9ydC9qb2JzL2Jpbi9zdGF0aWMucHklM0ZwYWdlJTNkd2h5LXJ1Lmh0bWwlMjZzaWQlM0RsaXZlYW5kd29yayIpICE9PSAiaHR0cDovL3d3dy5nb29nbGUucnUvc3VwcG9ydC9qb2JzL2Jpbi9zdGF0aWMucHklM0ZwYWdlJTNkd2h5LXJ1Lmh0bWwlMjZzaWQlM0RsaXZlYW5kd29yayIpIHsKICAkRVJST1IoJyMzOiBodHRwOi8vd3d3Lmdvb2dsZS5ydS9zdXBwb3J0L2pvYnMvYmluL3N0YXRpYy5weSUzRnBhZ2UlM2R3aHktcnUuaHRtbCUyNnNpZCUzRGxpdmVhbmR3b3JrIicpOwp9ICAgICAgICAgICAKCi8vQ0hFQ0slMjM0CmlmIChkZWNvZGVVUkkoImh0dHA6Ly9lbi53aWtpcGVkaWEub3JnL3dpa2kvVVRGLTglMjNEZXNjcmlwdGlvbiIpICE9PSAiaHR0cDovL2VuLndpa2lwZWRpYS5vcmcvd2lraS9VVEYtOCUyM0Rlc2NyaXB0aW9uIikgewogICRFUlJPUignJTIzNDogaHR0cDovL2VuLndpa2lwZWRpYS5vcmcvd2lraS9VVEYtOCUyM0Rlc2NyaXB0aW9uJyk7Cn0KCg==","commentary":"URI tests","description":"Test some url","path":"TestCases/ch15/15.1/15.1.3/15.1.3.1/S15.1.3.1_A4_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgbGVuZ3RoIHByb3BlcnR5IG9mIGRlY29kZVVSSSBoYXMgdGhlIGF0dHJpYnV0ZSBEb250RW51bQogKgogKiBAcGF0aCBjaDE1LzE1LjEvMTUuMS4zLzE1LjEuMy4xL1MxNS4xLjMuMV9BNS4xLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyB1c2UgcHJvcGVydHlJc0VudW1lcmFibGUsIGZvci1pbgogKi8KCi8vQ0hFQ0sjMQppZiAoZGVjb2RlVVJJLnByb3BlcnR5SXNFbnVtZXJhYmxlKCdsZW5ndGgnKSAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyMxOiBkZWNvZGVVUkkucHJvcGVydHlJc0VudW1lcmFibGUoXCdsZW5ndGhcJykgPT09IGZhbHNlLiBBY3R1YWw6ICcgKyAoZGVjb2RlVVJJLnByb3BlcnR5SXNFbnVtZXJhYmxlKCdsZW5ndGgnKSkpOwp9CgovL0NIRUNLIzIKcmVzdWx0ID0gdHJ1ZTsKZm9yIChwIGluIGRlY29kZVVSSSl7CiAgaWYgKHAgPT09ICJsZW5ndGgiKSB7CiAgICByZXN1bHQgPSBmYWxzZTsKICB9ICAKfQoKaWYgKHJlc3VsdCAhPT0gdHJ1ZSkgewogICRFUlJPUignIzI6IHJlc3VsdCA9IHRydWU7IGZvciAocCBpbiBkZWNvZGVVUkkpIHsgaWYgKHAgPT09ICJsZW5ndGgiKSByZXN1bHQgPSBmYWxzZTsgfSAgcmVzdWx0ID09PSB0cnVlOycpOwp9Cgo=","commentary":"The length property of decodeURI has the attribute DontEnum","description":"Checking use propertyIsEnumerable, for-in","path":"TestCases/ch15/15.1/15.1.3/15.1.3.1/S15.1.3.1_A5.1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgbGVuZ3RoIHByb3BlcnR5IG9mIGRlY29kZVVSSSBoYXMgdGhlIGF0dHJpYnV0ZSBEb250RGVsZXRlCiAqCiAqIEBwYXRoIGNoMTUvMTUuMS8xNS4xLjMvMTUuMS4zLjEvUzE1LjEuMy4xX0E1LjIuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIHVzZSBoYXNPd25Qcm9wZXJ0eSwgZGVsZXRlCiAqIEBub1N0cmljdAogKi8KCi8vQ0hFQ0sjMQppZiAoZGVjb2RlVVJJLmhhc093blByb3BlcnR5KCdsZW5ndGgnKSAhPT0gdHJ1ZSkgewogICRGQUlMKCcjMTogZGVjb2RlVVJJLmhhc093blByb3BlcnR5KFwnbGVuZ3RoXCcpID09PSB0cnVlLiBBY3R1YWw6ICcgKyAoZGVjb2RlVVJJLmhhc093blByb3BlcnR5KCdsZW5ndGgnKSkpOwp9CgpkZWxldGUgZGVjb2RlVVJJLmxlbmd0aDsKCi8vQ0hFQ0sjMgppZiAoZGVjb2RlVVJJLmhhc093blByb3BlcnR5KCdsZW5ndGgnKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzI6IGRlbGV0ZSBkZWNvZGVVUkkubGVuZ3RoOyBkZWNvZGVVUkkuaGFzT3duUHJvcGVydHkoXCdsZW5ndGhcJykgPT09IHRydWUuIEFjdHVhbDogJyArIChkZWNvZGVVUkkuaGFzT3duUHJvcGVydHkoJ2xlbmd0aCcpKSk7Cn0KCi8vQ0hFQ0sjMwppZiAoZGVjb2RlVVJJLmxlbmd0aCA9PT0gdW5kZWZpbmVkKSB7CiAgJEVSUk9SKCcjMzogZGVsZXRlIGRlY29kZVVSSS5sZW5ndGg7IGRlY29kZVVSSS5sZW5ndGggIT09IHVuZGVmaW5lZCcpOwp9CgoKCgo=","commentary":"The length property of decodeURI has the attribute DontDelete","description":"Checking use hasOwnProperty, delete","noStrict":"","path":"TestCases/ch15/15.1/15.1.3/15.1.3.1/S15.1.3.1_A5.2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgbGVuZ3RoIHByb3BlcnR5IG9mIGRlY29kZVVSSSBoYXMgdGhlIGF0dHJpYnV0ZSBSZWFkT25seQogKgogKiBAcGF0aCBjaDE1LzE1LjEvMTUuMS4zLzE1LjEuMy4xL1MxNS4xLjMuMV9BNS4zLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiB2YXJ5aW5nIHRoZSBsZW5ndGggcHJvcGVydHkgZmFpbHMKICogQG5vU3RyaWN0CiAqLwoKLy9DSEVDSyMxCnZhciB4ID0gZGVjb2RlVVJJLmxlbmd0aDsKZGVjb2RlVVJJLmxlbmd0aCA9IEluZmluaXR5OwppZiAoZGVjb2RlVVJJLmxlbmd0aCAhPT0geCkgewogICRFUlJPUignIzE6IHggPSBkZWNvZGVVUkkubGVuZ3RoOyBkZWNvZGVVUkkubGVuZ3RoID0gSW5maW5pdHk7IGRlY29kZVVSSS5sZW5ndGggPT09IHguIEFjdHVhbDogJyArIChkZWNvZGVVUkkubGVuZ3RoKSk7Cn0KCgo=","commentary":"The length property of decodeURI has the attribute ReadOnly","description":"Checking if varying the length property fails","noStrict":"","path":"TestCases/ch15/15.1/15.1.3/15.1.3.1/S15.1.3.1_A5.3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgbGVuZ3RoIHByb3BlcnR5IG9mIGRlY29kZVVSSSBpcyAxCiAqCiAqIEBwYXRoIGNoMTUvMTUuMS8xNS4xLjMvMTUuMS4zLjEvUzE1LjEuMy4xX0E1LjQuanMKICogQGRlc2NyaXB0aW9uIGRlY29kZVVSSS5sZW5ndGggPT09IDEKICovCgovL0NIRUNLIzEKaWYgKGRlY29kZVVSSS5sZW5ndGggIT09IDEpIHsKICAkRVJST1IoJyMxOiBkZWNvZGVVUkkubGVuZ3RoID09PSAxLiBBY3R1YWw6ICcgKyAoZGVjb2RlVVJJLmxlbmd0aCkpOwp9IAoKCg==","commentary":"The length property of decodeURI is 1","description":"decodeURI.length === 1","path":"TestCases/ch15/15.1/15.1.3/15.1.3.1/S15.1.3.1_A5.4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgZGVjb2RlVVJJIHByb3BlcnR5IGhhcyB0aGUgYXR0cmlidXRlIERvbnRFbnVtCiAqCiAqIEBwYXRoIGNoMTUvMTUuMS8xNS4xLjMvMTUuMS4zLjEvUzE1LjEuMy4xX0E1LjUuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIHVzZSBwcm9wZXJ0eUlzRW51bWVyYWJsZSwgZm9yLWluCiAqLwoKLy9DSEVDSyMxCmlmICh0aGlzLnByb3BlcnR5SXNFbnVtZXJhYmxlKCdkZWNvZGVVUkknKSAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyMxOiB0aGlzLnByb3BlcnR5SXNFbnVtZXJhYmxlKFwnZGVjb2RlVVJJXCcpID09PSBmYWxzZS4gQWN0dWFsOiAnICsgKHRoaXMucHJvcGVydHlJc0VudW1lcmFibGUoJ2RlY29kZVVSSScpKSk7Cn0KCi8vQ0hFQ0sjMgpyZXN1bHQgPSB0cnVlOwpmb3IgKHAgaW4gdGhpcyl7CiAgaWYgKHAgPT09ICJkZWNvZGVVUkkiKSB7CiAgICByZXN1bHQgPSBmYWxzZTsKICB9ICAKfQoKaWYgKHJlc3VsdCAhPT0gdHJ1ZSkgewogICRFUlJPUignIzI6IHJlc3VsdCA9IHRydWU7IGZvciAocCBpbiB0aGlzKSB7IGlmIChwID09PSAiZGVjb2RlVVJJIikgcmVzdWx0ID0gZmFsc2U7IH0gIHJlc3VsdCA9PT0gdHJ1ZTsnKTsKfQoK","commentary":"The decodeURI property has the attribute DontEnum","description":"Checking use propertyIsEnumerable, for-in","path":"TestCases/ch15/15.1/15.1.3/15.1.3.1/S15.1.3.1_A5.5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgZGVjb2RlVVJJIHByb3BlcnR5IGhhcyBub3QgcHJvdG90eXBlIHByb3BlcnR5CiAqCiAqIEBwYXRoIGNoMTUvMTUuMS8xNS4xLjMvMTUuMS4zLjEvUzE1LjEuMy4xX0E1LjYuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGRlY29kZVVSSS5wcm90b3R5cGUKICovCgovL0NIRUNLIzEKaWYgKGRlY29kZVVSSS5wcm90b3R5cGUgIT09IHVuZGVmaW5lZCkgewogICRFUlJPUignIzE6IGRlY29kZVVSSS5wcm90b3R5cGUgPT09IHVuZGVmaW5lZC4gQWN0dWFsOiAnICsgKGRlY29kZVVSSS5wcm90b3R5cGUpKTsKfQoK","commentary":"The decodeURI property has not prototype property","description":"Checking decodeURI.prototype","path":"TestCases/ch15/15.1/15.1.3/15.1.3.1/S15.1.3.1_A5.6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgZGVjb2RlVVJJIHByb3BlcnR5IGNhbid0IGJlIHVzZWQgYXMgY29uc3RydWN0b3IKICoKICogQHBhdGggY2gxNS8xNS4xLzE1LjEuMy8xNS4xLjMuMS9TMTUuMS4zLjFfQTUuNy5qcwogKiBAZGVzY3JpcHRpb24gSWYgcHJvcGVydHkgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBpbnRlcm5hbCBbW0NvbnN0cnVjdF1dIG1ldGhvZCwgdGhyb3cgYSBUeXBlRXJyb3IgZXhjZXB0aW9uCiAqLwoKLy9DSEVDSyMxCgp0cnkgewogIG5ldyBkZWNvZGVVUkkoKTsKICAkRVJST1IoJyMxLjE6IG5ldyBkZWNvZGVVUkkoKSB0aHJvdyBUeXBlRXJyb3IuIEFjdHVhbDogJyArIChuZXcgZGVjb2RlVVJJKCkpKTsKfSBjYXRjaCAoZSkgewogIGlmICgoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikgIT09IHRydWUpIHsKICAgICRFUlJPUignIzEuMjogbmV3IGRlY29kZVVSSSgpIHRocm93IFR5cGVFcnJvci4gQWN0dWFsOiAnICsgKGUpKTsKICB9Cn0KCg==","commentary":"The decodeURI property can't be used as constructor","description":"If property does not implement the internal [[Construct]] method, throw a TypeError exception","path":"TestCases/ch15/15.1/15.1.3/15.1.3.1/S15.1.3.1_A5.7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB1c2UgVG9TdHJpbmcKICoKICogQHBhdGggY2gxNS8xNS4xLzE1LjEuMy8xNS4xLjMuMS9TMTUuMS4zLjFfQTZfVDEuanMKICogQGRlc2NyaXB0aW9uIElmIFR5cGUodmFsdWUpIGlzIE9iamVjdCwgZXZhbHVhdGUgVG9QcmltaXRpdmUodmFsdWUsIFN0cmluZykKICovCgovL0NIRUNLIzEKdmFyIG9iamVjdCA9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gIiU1RSJ9fTsKaWYgKGRlY29kZVVSSShvYmplY3QpICE9PSAiW29iamVjdCBPYmplY3RdIikgewogICRFUlJPUignIzE6IHZhciBvYmplY3QgPSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuICIlNUUifX07IGRlY29kZVVSSShvYmplY3QpID09PSBbb2JqZWN0IE9iamVjdF0uIEFjdHVhbDogJyArIChkZWNvZGVVUkkob2JqZWN0KSkpOwp9CgovL0NIRUNLIzIKdmFyIG9iamVjdCA9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gIiJ9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuICIlNUUifX07CmlmIChkZWNvZGVVUkkob2JqZWN0KSAhPT0gIl4iKSB7CiAgJEVSUk9SKCcjMjogdmFyIG9iamVjdCA9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gIiJ9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuICIlNUUifX07IGRlY29kZVVSSShvYmplY3QpID09PSAiXiIuIEFjdHVhbDogJyArIChkZWNvZGVVUkkob2JqZWN0KSkpOwp9IAoKLy9DSEVDSyMzCnZhciBvYmplY3QgPSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuICIlNUUifSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiB7fX19OwppZiAoZGVjb2RlVVJJKG9iamVjdCkgIT09ICJeIikgewogICRFUlJPUignIzM6IHZhciBvYmplY3QgPSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuICIlNUUifSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiB7fX19OyBkZWNvZGVVUkkob2JqZWN0KSA9PT0gIl4iLiBBY3R1YWw6ICcgKyAoZGVjb2RlVVJJKG9iamVjdCkpKTsKfQoKLy9DSEVDSyM0CnRyeSB7CiAgdmFyIG9iamVjdCA9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHt0aHJvdyAiZXJyb3IifSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiAiJTVFIn19OwogIGlmIChkZWNvZGVVUkkob2JqZWN0KSAhPT0gIl4iKSB7CiAgICAkRVJST1IoJyM0LjE6IHZhciBvYmplY3QgPSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7dGhyb3cgImVycm9yIn0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gIiU1RSJ9fTsgZGVjb2RlVVJJKG9iamVjdCkgPT09ICJeIi4gQWN0dWFsOiAnICsgKGRlY29kZVVSSShvYmplY3QpKSk7CiAgfQp9CmNhdGNoIChlKSB7CiAgaWYgKGUgPT09ICJlcnJvciIpIHsKICAgICRFUlJPUignIzQuMjogdmFyIG9iamVjdCA9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHt0aHJvdyAiZXJyb3IifSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiAiJTVFIn19OyBkZWNvZGVVUkkob2JqZWN0KSBub3QgdGhyb3cgImVycm9yIicpOwogIH0gZWxzZSB7CiAgICAkRVJST1IoJyM0LjM6IHZhciBvYmplY3QgPSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7dGhyb3cgImVycm9yIn0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gIiU1RSJ9fTsgZGVjb2RlVVJJKG9iamVjdCkgbm90IHRocm93IEVycm9yLiBBY3R1YWw6ICcgKyAoZSkpOwogIH0KfQoKLy9DSEVDSyM1CnZhciBvYmplY3QgPSB7dG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiAiJTVFIn19OwppZiAoZGVjb2RlVVJJKG9iamVjdCkgIT09ICJeIikgewogICRFUlJPUignIzU6IHZhciBvYmplY3QgPSB7dG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiAiJTVFIn19OyBkZWNvZGVVUkkob2JqZWN0KSA9PT0gIl4iLiBBY3R1YWw6ICcgKyAoZGVjb2RlVVJJKG9iamVjdCkpKTsKfQoKLy9DSEVDSyM2CnZhciBvYmplY3QgPSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIHt9fSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiAiJTVFIn19CmlmIChkZWNvZGVVUkkob2JqZWN0KSAhPT0gIl4iKSB7CiAgJEVSUk9SKCcjNjogdmFyIG9iamVjdCA9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4ge319LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuICIlNUUifX07IGRlY29kZVVSSShvYmplY3QpID09PSAiXiIuIEFjdHVhbDogJyArIChkZWNvZGVVUkkob2JqZWN0KSkpOwp9CgovL0NIRUNLIzcKdHJ5IHsKICB2YXIgb2JqZWN0ID0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAiJTVFIn0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHt0aHJvdyAiZXJyb3IifX07CiAgZGVjb2RlVVJJKG9iamVjdCk7CiAgJEVSUk9SKCcjNy4xOiB2YXIgb2JqZWN0ID0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAiJTVFIn0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHt0aHJvdyAiZXJyb3IifX07IGRlY29kZVVSSShvYmplY3QpIHRocm93ICJlcnJvciIuIEFjdHVhbDogJyArIChkZWNvZGVVUkkob2JqZWN0KSkpOwp9ICAKY2F0Y2ggKGUpIHsKICBpZiAoZSAhPT0gImVycm9yIikgewogICAgJEVSUk9SKCcjNy4yOiB2YXIgb2JqZWN0ID0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAiJTVFIn0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHt0aHJvdyAiZXJyb3IifX07IGRlY29kZVVSSShvYmplY3QpIHRocm93ICJlcnJvciIuIEFjdHVhbDogJyArIChlKSk7CiAgfSAKfQoKLy9DSEVDSyM4CnRyeSB7CiAgdmFyIG9iamVjdCA9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4ge319LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIHt9fX07CiAgZGVjb2RlVVJJKG9iamVjdCk7CiAgJEVSUk9SKCcjOC4xOiB2YXIgb2JqZWN0ID0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiB7fX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4ge319fTsgZGVjb2RlVVJJKG9iamVjdCkgdGhyb3cgVHlwZUVycm9yLiBBY3R1YWw6ICcgKyAoZGVjb2RlVVJJKG9iamVjdCkpKTsKfSAgCmNhdGNoIChlKSB7CiAgaWYgKChlIGluc3RhbmNlb2YgVHlwZUVycm9yKSAhPT0gdHJ1ZSkgewogICAgJEVSUk9SKCcjOC4yOiB2YXIgb2JqZWN0ID0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiB7fX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4ge319fTsgZGVjb2RlVVJJKG9iamVjdCkgdGhyb3cgVHlwZUVycm9yLiBBY3R1YWw6ICcgKyAoZSkpOwogIH0gCn0KCg==","commentary":"Operator use ToString","description":"If Type(value) is Object, evaluate ToPrimitive(value, String)","path":"TestCases/ch15/15.1/15.1.3/15.1.3.1/S15.1.3.1_A6_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBCID0gMTEweHh4eHggKG4gPSAyKSBhbmQgc3RyaW5nLmNoYXJBdChrICsgNCkgYW5kCiAqIHN0cmluZy5jaGFyQXQoayArIDUpIGRvIG5vdCByZXByZXNlbnQgaGV4YWRlY2ltYWwgZGlnaXRzLCB0aHJvdyBVUklFcnJvcgogKgogKiBAcGF0aCBjaDE1LzE1LjEvMTUuMS4zLzE1LjEuMy4yL1MxNS4xLjMuMl9BMS4xMF9UMS5qcwogKiBAZGVzY3JpcHRpb24gQ29tcGxleCB0ZXN0cwogKi8KCi8vQ0hFQ0sKcmVzdWx0ID0gdHJ1ZTsKdmFyIGludGVydmFsID0gW1sweDAwLCAweDI5XSwgWzB4NDAsMHg0MF0sIFsweDQ3LCAweDYwXSwgWzB4NjcsIDB4RkZGRl1dOwpmb3IgKGluZGV4SSA9IDA7IGluZGV4SSA8IGludGVydmFsLmxlbmd0aDsgaW5kZXhJKyspIHsKICBmb3IgKGluZGV4SiA9IGludGVydmFsW2luZGV4SV1bMF07IGluZGV4SiA8PSBpbnRlcnZhbFtpbmRleEldWzFdOyBpbmRleEorKykgewogICAgdHJ5IHsKICAgICAgZGVjb2RlVVJJQ29tcG9uZW50KCIlQzAlIiArIFN0cmluZy5mcm9tQ2hhckNvZGUoaW5kZXhKLCBpbmRleEopKTsKICAgICAgcmVzdWx0ID0gZmFsc2U7ICAgICAgCiAgICB9IGNhdGNoIChlKSB7ICAgCiAgICAgIGlmICgoZSBpbnN0YW5jZW9mIFVSSUVycm9yKSAhPT0gdHJ1ZSkgewogICAgICAgIHJlc3VsdCA9IGZhbHNlOyAgICAgICAgCiAgICAgIH0KICAgIH0gICAgICAKICB9ICAKfSAgCgppZiAocmVzdWx0ICE9PSB0cnVlKSB7ICAgIAogICRFUlJPUignIzE6IElmIEIgPSAxMTB4eHh4eCAobiA9IDIpIGFuZCAoc3RyaW5nLmNoYXJBdChrICsgNCkgYW5kICBzdHJpbmcuY2hhckF0KGsgKyA1KSkgZG8gbm90IHJlcHJlc2VudCBoZXhhZGVjaW1hbCBkaWdpdHMsIHRocm93IFVSSUVycm9yJyk7Cn0KCg==","commentary":"If B = 110xxxxx (n = 2) and string.charAt(k + 4) and\nstring.charAt(k + 5) do not represent hexadecimal digits, throw URIError","description":"Complex tests","path":"TestCases/ch15/15.1/15.1.3/15.1.3.2/S15.1.3.2_A1.10_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBCID0gMTExMHh4eHggKG4gPSAzKSBhbmQgKHN0cmluZy5jaGFyQXQoayArIDQpIGFuZAogKiBzdHJpbmcuY2hhckF0KGsgKyA1KSkgb3IgKHN0cmluZy5jaGFyQXQoayArIDcpIGFuZAogKiBzdHJpbmcuY2hhckF0KGsgKyA4KSkgZG8gbm90IHJlcHJlc2VudCBoZXhhZGVjaW1hbCBkaWdpdHMsIHRocm93IFVSSUVycm9yCiAqCiAqIEBwYXRoIGNoMTUvMTUuMS8xNS4xLjMvMTUuMS4zLjIvUzE1LjEuMy4yX0ExLjExX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBDb21wbGV4IHRlc3RzLCBzdHJpbmcuY2hhckF0KGsgKyA0KSBhbmQgc3RyaW5nLmNoYXJBdChrICsgNSkKICogZG8gbm90IHJlcHJlc2VudCBoZXhhZGVjaW1hbCBkaWdpdHMKICovCgovL0NIRUNLCnJlc3VsdCA9IHRydWU7CnZhciBpbnRlcnZhbCA9IFtbMHgwMCwgMHgyOV0sIFsweDQwLDB4NDBdLCBbMHg0NywgMHg2MF0sIFsweDY3LCAweEZGRkZdXTsKZm9yIChpbmRleEkgPSAwOyBpbmRleEkgPCBpbnRlcnZhbC5sZW5ndGg7IGluZGV4SSsrKSB7CiAgZm9yIChpbmRleEogPSBpbnRlcnZhbFtpbmRleEldWzBdOyBpbmRleEogPD0gaW50ZXJ2YWxbaW5kZXhJXVsxXTsgaW5kZXhKKyspIHsKICAgIHRyeSB7CiAgICAgIGRlY29kZVVSSUNvbXBvbmVudCgiJUUwJSIgKyBTdHJpbmcuZnJvbUNoYXJDb2RlKGluZGV4SiwgaW5kZXhKKSArICIlQTAiKTsKICAgICAgcmVzdWx0ID0gZmFsc2U7ICAgICAgCiAgICB9IGNhdGNoIChlKSB7ICAgCiAgICAgIGlmICgoZSBpbnN0YW5jZW9mIFVSSUVycm9yKSAhPT0gdHJ1ZSkgewogICAgICAgIHJlc3VsdCA9IGZhbHNlOyAgICAgICAgCiAgICAgIH0KICAgIH0gICAgICAKICB9ICAKfSAgCgppZiAocmVzdWx0ICE9PSB0cnVlKSB7ICAgIAogICRFUlJPUignIzE6IElmIEIgPSAxMTEweHh4eCAobiA9IDMpIGFuZCAoc3RyaW5nLmNoYXJBdChrICsgNCkgYW5kICBzdHJpbmcuY2hhckF0KGsgKyA1KSkgZG8gbm90IHJlcHJlc2VudCBoZXhhZGVjaW1hbCBkaWdpdHMsIHRocm93IFVSSUVycm9yJyk7Cn0KCg==","commentary":"If B = 1110xxxx (n = 3) and (string.charAt(k + 4) and\nstring.charAt(k + 5)) or (string.charAt(k + 7) and\nstring.charAt(k + 8)) do not represent hexadecimal digits, throw URIError","description":"Complex tests, string.charAt(k + 4) and string.charAt(k + 5)\ndo not represent hexadecimal digits","path":"TestCases/ch15/15.1/15.1.3/15.1.3.2/S15.1.3.2_A1.11_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBCID0gMTExMHh4eHggKG4gPSAzKSBhbmQgKHN0cmluZy5jaGFyQXQoayArIDQpIGFuZAogKiBzdHJpbmcuY2hhckF0KGsgKyA1KSkgb3IgKHN0cmluZy5jaGFyQXQoayArIDcpIGFuZAogKiBzdHJpbmcuY2hhckF0KGsgKyA4KSkgZG8gbm90IHJlcHJlc2VudCBoZXhhZGVjaW1hbCBkaWdpdHMsIHRocm93IFVSSUVycm9yCiAqCiAqIEBwYXRoIGNoMTUvMTUuMS8xNS4xLjMvMTUuMS4zLjIvUzE1LjEuMy4yX0ExLjExX1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBDb21wbGV4IHRlc3RzLCBzdHJpbmcuY2hhckF0KGsgKyA3KSBhbmQgc3RyaW5nLmNoYXJBdChrICsgOCkKICogZG8gbm90IHJlcHJlc2VudCBoZXhhZGVjaW1hbCBkaWdpdHMKICovCgovL0NIRUNLCnJlc3VsdCA9IHRydWU7CnZhciBpbnRlcnZhbCA9IFtbMHgwMCwgMHgyOV0sIFsweDQwLDB4NDBdLCBbMHg0NywgMHg2MF0sIFsweDY3LCAweEZGRkZdXTsKZm9yIChpbmRleEkgPSAwOyBpbmRleEkgPCBpbnRlcnZhbC5sZW5ndGg7IGluZGV4SSsrKSB7CiAgZm9yIChpbmRleEogPSBpbnRlcnZhbFtpbmRleEldWzBdOyBpbmRleEogPD0gaW50ZXJ2YWxbaW5kZXhJXVsxXTsgaW5kZXhKKyspIHsKICAgIHRyeSB7CiAgICAgIGRlY29kZVVSSUNvbXBvbmVudCgiJUUwJSIgKyAiJUEwIiArIFN0cmluZy5mcm9tQ2hhckNvZGUoaW5kZXhKLCBpbmRleEopKTsKICAgICAgcmVzdWx0ID0gZmFsc2U7ICAgICAgCiAgICB9IGNhdGNoIChlKSB7ICAgCiAgICAgIGlmICgoZSBpbnN0YW5jZW9mIFVSSUVycm9yKSAhPT0gdHJ1ZSkgewogICAgICAgIHJlc3VsdCA9IGZhbHNlOyAgICAgICAgCiAgICAgIH0KICAgIH0gICAgICAKICB9ICAKfSAgCgppZiAocmVzdWx0ICE9PSB0cnVlKSB7ICAgIAogICRFUlJPUignIzE6IElmIEIgPSAxMTEweHh4eCAobiA9IDMpIGFuZCAoc3RyaW5nLmNoYXJBdChrICsgNykgYW5kICBzdHJpbmcuY2hhckF0KGsgKyA4KSkgZG8gbm90IHJlcHJlc2VudCBoZXhhZGVjaW1hbCBkaWdpdHMsIHRocm93IFVSSUVycm9yJyk7Cn0KCg==","commentary":"If B = 1110xxxx (n = 3) and (string.charAt(k + 4) and\nstring.charAt(k + 5)) or (string.charAt(k + 7) and\nstring.charAt(k + 8)) do not represent hexadecimal digits, throw URIError","description":"Complex tests, string.charAt(k + 7) and string.charAt(k + 8)\ndo not represent hexadecimal digits","path":"TestCases/ch15/15.1/15.1.3/15.1.3.2/S15.1.3.2_A1.11_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBCID0gMTExMTB4eHggKG4gPSA0KSBhbmQgKHN0cmluZy5jaGFyQXQoayArIDQpIGFuZAogKiBzdHJpbmcuY2hhckF0KGsgKyA1KSkgb3IgKHN0cmluZy5jaGFyQXQoayArIDcpIGFuZAogKiBzdHJpbmcuY2hhckF0KGsgKyA4KSkgb3IgKHN0cmluZy5jaGFyQXQoayArIDEwKSBhbmQKICogc3RyaW5nLmNoYXJBdChrICsgMTEpKSBkbyBub3QgcmVwcmVzZW50IGhleGFkZWNpbWFsIGRpZ2l0cywgdGhyb3cgVVJJRXJyb3IKICoKICogQHBhdGggY2gxNS8xNS4xLzE1LjEuMy8xNS4xLjMuMi9TMTUuMS4zLjJfQTEuMTJfVDEuanMKICogQGRlc2NyaXB0aW9uIENvbXBsZXggdGVzdHMsIHN0cmluZy5jaGFyQXQoayArIDQpIGFuZCBzdHJpbmcuY2hhckF0KGsgKyA1KQogKiBkbyBub3QgcmVwcmVzZW50IGhleGFkZWNpbWFsIGRpZ2l0cwogKi8KCi8vQ0hFQ0sKcmVzdWx0ID0gdHJ1ZTsKdmFyIGludGVydmFsID0gW1sweDAwLCAweDI5XSwgWzB4NDAsMHg0MF0sIFsweDQ3LCAweDYwXSwgWzB4NjcsIDB4RkZGRl1dOwpmb3IgKGluZGV4SSA9IDA7IGluZGV4SSA8IGludGVydmFsLmxlbmd0aDsgaW5kZXhJKyspIHsKICBmb3IgKGluZGV4SiA9IGludGVydmFsW2luZGV4SV1bMF07IGluZGV4SiA8PSBpbnRlcnZhbFtpbmRleEldWzFdOyBpbmRleEorKykgewogICAgdHJ5IHsKICAgICAgZGVjb2RlVVJJQ29tcG9uZW50KCIlRjAlIiArIFN0cmluZy5mcm9tQ2hhckNvZGUoaW5kZXhKLCBpbmRleEopICsgIiVBMCVBMCIpOwogICAgICByZXN1bHQgPSBmYWxzZTsgICAgICAKICAgIH0gY2F0Y2ggKGUpIHsgICAKICAgICAgaWYgKChlIGluc3RhbmNlb2YgVVJJRXJyb3IpICE9PSB0cnVlKSB7CiAgICAgICAgcmVzdWx0ID0gZmFsc2U7ICAgICAgICAKICAgICAgfQogICAgfSAgICAgIAogIH0gIAp9ICAKCmlmIChyZXN1bHQgIT09IHRydWUpIHsgICAgCiAgJEVSUk9SKCcjMTogSWYgQiA9IDExMTEweHh4IChuID0gNCkgYW5kIChzdHJpbmcuY2hhckF0KGsgKyA0KSBhbmQgc3RyaW5nLmNoYXJBdChrICsgNSkpIGRvIG5vdCByZXByZXNlbnQgaGV4YWRlY2ltYWwgZGlnaXRzLCB0aHJvdyBVUklFcnJvcicpOwp9Cgo=","commentary":"If B = 11110xxx (n = 4) and (string.charAt(k + 4) and\nstring.charAt(k + 5)) or (string.charAt(k + 7) and\nstring.charAt(k + 8)) or (string.charAt(k + 10) and\nstring.charAt(k + 11)) do not represent hexadecimal digits, throw URIError","description":"Complex tests, string.charAt(k + 4) and string.charAt(k + 5)\ndo not represent hexadecimal digits","path":"TestCases/ch15/15.1/15.1.3/15.1.3.2/S15.1.3.2_A1.12_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBCID0gMTExMTB4eHggKG4gPSA0KSBhbmQgKHN0cmluZy5jaGFyQXQoayArIDQpIGFuZAogKiBzdHJpbmcuY2hhckF0KGsgKyA1KSkgb3IgKHN0cmluZy5jaGFyQXQoayArIDcpIGFuZAogKiBzdHJpbmcuY2hhckF0KGsgKyA4KSkgb3IgKHN0cmluZy5jaGFyQXQoayArIDEwKSBhbmQKICogc3RyaW5nLmNoYXJBdChrICsgMTEpKSBkbyBub3QgcmVwcmVzZW50IGhleGFkZWNpbWFsIGRpZ2l0cywgdGhyb3cgVVJJRXJyb3IKICoKICogQHBhdGggY2gxNS8xNS4xLzE1LjEuMy8xNS4xLjMuMi9TMTUuMS4zLjJfQTEuMTJfVDIuanMKICogQGRlc2NyaXB0aW9uIENvbXBsZXggdGVzdHMsIHN0cmluZy5jaGFyQXQoayArIDcpIGFuZCBzdHJpbmcuY2hhckF0KGsgKyA3KQogKiBkbyBub3QgcmVwcmVzZW50IGhleGFkZWNpbWFsIGRpZ2l0cwogKi8KCi8vQ0hFQ0sKcmVzdWx0ID0gdHJ1ZTsKdmFyIGludGVydmFsID0gW1sweDAwLCAweDI5XSwgWzB4NDAsMHg0MF0sIFsweDQ3LCAweDYwXSwgWzB4NjcsIDB4RkZGRl1dOwpmb3IgKGluZGV4SSA9IDA7IGluZGV4SSA8IGludGVydmFsLmxlbmd0aDsgaW5kZXhJKyspIHsKICBmb3IgKGluZGV4SiA9IGludGVydmFsW2luZGV4SV1bMF07IGluZGV4SiA8PSBpbnRlcnZhbFtpbmRleEldWzFdOyBpbmRleEorKykgewogICAgdHJ5IHsKICAgICAgZGVjb2RlVVJJQ29tcG9uZW50KCIlRjAlIiArICIlQTAiICsgU3RyaW5nLmZyb21DaGFyQ29kZShpbmRleEosIGluZGV4SikgKyAiJUEwIik7CiAgICAgIHJlc3VsdCA9IGZhbHNlOyAgICAgIAogICAgfSBjYXRjaCAoZSkgeyAgIAogICAgICBpZiAoKGUgaW5zdGFuY2VvZiBVUklFcnJvcikgIT09IHRydWUpIHsKICAgICAgICByZXN1bHQgPSBmYWxzZTsgICAgICAgIAogICAgICB9CiAgICB9ICAgICAgCiAgfSAgCn0gIAoKaWYgKHJlc3VsdCAhPT0gdHJ1ZSkgeyAgICAKICAkRVJST1IoJyMxOiBJZiBCID0gMTExMTB4eHggKG4gPSA0KSBhbmQgKHN0cmluZy5jaGFyQXQoayArIDcpIGFuZCBzdHJpbmcuY2hhckF0KGsgKyA4KSkgZG8gbm90IHJlcHJlc2VudCBoZXhhZGVjaW1hbCBkaWdpdHMsIHRocm93IFVSSUVycm9yJyk7Cn0KCg==","commentary":"If B = 11110xxx (n = 4) and (string.charAt(k + 4) and\nstring.charAt(k + 5)) or (string.charAt(k + 7) and\nstring.charAt(k + 8)) or (string.charAt(k + 10) and\nstring.charAt(k + 11)) do not represent hexadecimal digits, throw URIError","description":"Complex tests, string.charAt(k + 7) and string.charAt(k + 7)\ndo not represent hexadecimal digits","path":"TestCases/ch15/15.1/15.1.3/15.1.3.2/S15.1.3.2_A1.12_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBCID0gMTExMTB4eHggKG4gPSA0KSBhbmQgKHN0cmluZy5jaGFyQXQoayArIDQpIGFuZAogKiBzdHJpbmcuY2hhckF0KGsgKyA1KSkgb3IgKHN0cmluZy5jaGFyQXQoayArIDcpIGFuZAogKiBzdHJpbmcuY2hhckF0KGsgKyA4KSkgb3IgKHN0cmluZy5jaGFyQXQoayArIDEwKSBhbmQKICogc3RyaW5nLmNoYXJBdChrICsgMTEpKSBkbyBub3QgcmVwcmVzZW50IGhleGFkZWNpbWFsIGRpZ2l0cywgdGhyb3cgVVJJRXJyb3IKICoKICogQHBhdGggY2gxNS8xNS4xLzE1LjEuMy8xNS4xLjMuMi9TMTUuMS4zLjJfQTEuMTJfVDMuanMKICogQGRlc2NyaXB0aW9uIENvbXBsZXggdGVzdHMsIHN0cmluZy5jaGFyQXQoayArIDEwKSBhbmQgc3RyaW5nLmNoYXJBdChrICsgMTEpCiAqIGRvIG5vdCByZXByZXNlbnQgaGV4YWRlY2ltYWwgZGlnaXRzCiAqLwoKLy9DSEVDSwpyZXN1bHQgPSB0cnVlOwp2YXIgaW50ZXJ2YWwgPSBbWzB4MDAsIDB4MjldLCBbMHg0MCwweDQwXSwgWzB4NDcsIDB4NjBdLCBbMHg2NywgMHhGRkZGXV07CmZvciAoaW5kZXhJID0gMDsgaW5kZXhJIDwgaW50ZXJ2YWwubGVuZ3RoOyBpbmRleEkrKykgewogIGZvciAoaW5kZXhKID0gaW50ZXJ2YWxbaW5kZXhJXVswXTsgaW5kZXhKIDw9IGludGVydmFsW2luZGV4SV1bMV07IGluZGV4SisrKSB7CiAgICB0cnkgewogICAgICBkZWNvZGVVUklDb21wb25lbnQoIiVGMCUiICsgIiVBMCVBMCIgKyBTdHJpbmcuZnJvbUNoYXJDb2RlKGluZGV4SiwgaW5kZXhKKSk7CiAgICAgIHJlc3VsdCA9IGZhbHNlOyAgICAgIAogICAgfSBjYXRjaCAoZSkgeyAgIAogICAgICBpZiAoKGUgaW5zdGFuY2VvZiBVUklFcnJvcikgIT09IHRydWUpIHsKICAgICAgICByZXN1bHQgPSBmYWxzZTsgICAgICAgIAogICAgICB9CiAgICB9ICAgICAgCiAgfSAgCn0gIAoKaWYgKHJlc3VsdCAhPT0gdHJ1ZSkgeyAgICAKICAkRVJST1IoJyMxOiBJZiBCID0gMTExMTB4eHggKG4gPSA0KSBhbmQgKHN0cmluZy5jaGFyQXQoayArIDEwKSBhbmQgc3RyaW5nLmNoYXJBdChrICsgMTEpKSBkbyBub3QgcmVwcmVzZW50IGhleGFkZWNpbWFsIGRpZ2l0cywgdGhyb3cgVVJJRXJyb3InKTsKfQoK","commentary":"If B = 11110xxx (n = 4) and (string.charAt(k + 4) and\nstring.charAt(k + 5)) or (string.charAt(k + 7) and\nstring.charAt(k + 8)) or (string.charAt(k + 10) and\nstring.charAt(k + 11)) do not represent hexadecimal digits, throw URIError","description":"Complex tests, string.charAt(k + 10) and string.charAt(k + 11)\ndo not represent hexadecimal digits","path":"TestCases/ch15/15.1/15.1.3/15.1.3.2/S15.1.3.2_A1.12_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBCID0gMTEweHh4eHggKG4gPSAyKSBhbmQgQyAhPSAxMHh4eHh4eCAoQyAtIGZpcnN0IG9mIG9jdGV0cyBhZnRlciBCKSwgdGhyb3cgVVJJRXJyb3IKICoKICogQHBhdGggY2gxNS8xNS4xLzE1LjEuMy8xNS4xLjMuMi9TMTUuMS4zLjJfQTEuMTNfVDEuanMKICogQGRlc2NyaXB0aW9uIENvbXBsZXggdGVzdHMuIEIgPSBbMHhDMCAtIDB4REZdLCBDID0gWzB4MDAsIDB4N0ZdCiAqLwoKZXJyb3JDb3VudCA9IDA7CmNvdW50ID0gMDsKdmFyIGluZGV4UDsKdmFyIGluZGV4TyA9IDA7Cgpmb3IgKGluZGV4QiA9IDB4QzA7IGluZGV4QiA8PSAweERGOyBpbmRleEIrKykgewogIGNvdW50Kys7IAogIGhleEIgPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhCKTsgIAogIHJlc3VsdCA9IHRydWU7CiAgZm9yIChpbmRleEMgPSAweDAwOyBpbmRleEMgPD0gMHg3RjsgaW5kZXhDKyspIHsKICAgIGhleEMgPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhDKTsgIAogICAgdHJ5IHsKICAgICAgZGVjb2RlVVJJQ29tcG9uZW50KCIlIiArIGhleEIuc3Vic3RyaW5nKDIpICsgIiUiICsgaGV4Qy5zdWJzdHJpbmcoMikpOwogICAgfSBjYXRjaCAoZSkgeyAKICAgICAgaWYgKChlIGluc3RhbmNlb2YgVVJJRXJyb3IpID09PSB0cnVlKSBjb250aW51ZTsgICAgICAgICAgICAgICAgCiAgICB9CiAgICByZXN1bHQgPSBmYWxzZTsKICB9CiAgaWYgKHJlc3VsdCAhPT0gdHJ1ZSkgewogICAgaWYgKGluZGV4TyA9PT0gMCkgeyAKICAgICAgaW5kZXhPID0gaW5kZXhCOwogICAgfSBlbHNlIHsKICAgICAgaWYgKChpbmRleEIgLSBpbmRleFApICE9PSAxKSB7ICAgICAgICAgICAgIAogICAgICAgIGlmICgoaW5kZXhQIC0gaW5kZXhPKSAhPT0gMCkgewogICAgICAgICAgdmFyIGhleFAgPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhQKTsKICAgICAgICAgIHZhciBoZXhPID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4Tyk7CiAgICAgICAgICAkRVJST1IoJyMnICsgaGV4TyArICctJyArIGhleFAgKyAnICcpOwogICAgICAgIH0gCiAgICAgICAgZWxzZSB7CiAgICAgICAgICB2YXIgaGV4UCA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleFApOwogICAgICAgICAgJEVSUk9SKCcjJyArIGhleFAgKyAnICcpOwogICAgICAgIH0gIAogICAgICAgIGluZGV4TyA9IGluZGV4QjsKICAgICAgfSAgICAgICAgIAogICAgfQogICAgaW5kZXhQID0gaW5kZXhCOwogICAgZXJyb3JDb3VudCsrOyAgICAgICAKICB9Cn0KCmlmIChlcnJvckNvdW50ID4gMCkgewogIGlmICgoaW5kZXhQIC0gaW5kZXhPKSAhPT0gMCkgewogICAgdmFyIGhleFAgPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhQKTsKICAgIHZhciBoZXhPID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4Tyk7CiAgICAkRVJST1IoJyMnICsgaGV4TyArICctJyArIGhleFAgKyAnICcpOwogIH0gZWxzZSB7CiAgICB2YXIgaGV4UCA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleFApOwogICAgJEVSUk9SKCcjJyArIGhleFAgKyAnICcpOwogIH0gICAgIAogICRFUlJPUignVG90YWwgZXJyb3I6ICcgKyBlcnJvckNvdW50ICsgJyBiYWQgVW5pY29kZSBjaGFyYWN0ZXIgaW4gJyArIGNvdW50ICsgJyAnKTsKfQoKZnVuY3Rpb24gZGVjaW1hbFRvSGV4U3RyaW5nKG4pIHsKICBuID0gTnVtYmVyKG4pOwogIHZhciBoID0gIiI7CiAgZm9yICh2YXIgaSA9IDM7IGkgPj0gMDsgaS0tKSB7CiAgICBpZiAobiA+PSBNYXRoLnBvdygxNiwgaSkpIHsKICAgICAgdmFyIHQgPSBNYXRoLmZsb29yKG4gLyBNYXRoLnBvdygxNiwgaSkpOwogICAgICBuIC09IHQgKiBNYXRoLnBvdygxNiwgaSk7CiAgICAgIGlmICggdCA+PSAxMCApIHsKICAgICAgICBpZiAoIHQgPT0gMTAgKSB7IGggKz0gIkEiOyB9CiAgICAgICAgaWYgKCB0ID09IDExICkgeyBoICs9ICJCIjsgfQogICAgICAgIGlmICggdCA9PSAxMiApIHsgaCArPSAiQyI7IH0KICAgICAgICBpZiAoIHQgPT0gMTMgKSB7IGggKz0gIkQiOyB9CiAgICAgICAgaWYgKCB0ID09IDE0ICkgeyBoICs9ICJFIjsgfQogICAgICAgIGlmICggdCA9PSAxNSApIHsgaCArPSAiRiI7IH0KICAgICAgfSBlbHNlIHsKICAgICAgICBoICs9IFN0cmluZyh0KTsKICAgICAgfQogICAgfSBlbHNlIHsKICAgICAgaCArPSAiMCI7CiAgICB9CiAgfQogIHJldHVybiBoOwp9Cgo=","commentary":"If B = 110xxxxx (n = 2) and C != 10xxxxxx (C - first of octets after B), throw URIError","description":"Complex tests. B = [0xC0 - 0xDF], C = [0x00, 0x7F]","path":"TestCases/ch15/15.1/15.1.3/15.1.3.2/S15.1.3.2_A1.13_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBCID0gMTEweHh4eHggKG4gPSAyKSBhbmQgQyAhPSAxMHh4eHh4eCAoQyAtIGZpcnN0IG9mIG9jdGV0cyBhZnRlciBCKSwgdGhyb3cgVVJJRXJyb3IKICoKICogQHBhdGggY2gxNS8xNS4xLzE1LjEuMy8xNS4xLjMuMi9TMTUuMS4zLjJfQTEuMTNfVDIuanMKICogQGRlc2NyaXB0aW9uIENvbXBsZXggdGVzdHMuIEIgPSBbMHhDMCAtIDB4REZdLCBDID0gWzB4QzAsIDB4RkZdCiAqLwoKZXJyb3JDb3VudCA9IDA7CmNvdW50ID0gMDsKdmFyIGluZGV4UDsKdmFyIGluZGV4TyA9IDA7Cgpmb3IgKGluZGV4QiA9IDB4QzA7IGluZGV4QiA8PSAweERGOyBpbmRleEIrKykgewogIGNvdW50Kys7IAogIGhleEIgPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhCKTsgIAogIHJlc3VsdCA9IHRydWU7CiAgZm9yIChpbmRleEMgPSAweEMwOyBpbmRleEMgPD0gMHhGRjsgaW5kZXhDKyspIHsKICAgIGhleEMgPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhDKTsgIAogICAgdHJ5IHsKICAgICAgZGVjb2RlVVJJQ29tcG9uZW50KCIlIiArIGhleEIuc3Vic3RyaW5nKDIpICsgIiUiICsgaGV4Qy5zdWJzdHJpbmcoMikpOwogICAgfSBjYXRjaCAoZSkgeyAKICAgICAgaWYgKChlIGluc3RhbmNlb2YgVVJJRXJyb3IpID09PSB0cnVlKSBjb250aW51ZTsgICAgICAgICAgICAgICAgCiAgICB9CiAgICByZXN1bHQgPSBmYWxzZTsKICB9CiAgaWYgKHJlc3VsdCAhPT0gdHJ1ZSkgewogICAgaWYgKGluZGV4TyA9PT0gMCkgeyAKICAgICAgaW5kZXhPID0gaW5kZXhCOwogICAgfSBlbHNlIHsKICAgICAgaWYgKChpbmRleEIgLSBpbmRleFApICE9PSAxKSB7ICAgICAgICAgICAgIAogICAgICAgIGlmICgoaW5kZXhQIC0gaW5kZXhPKSAhPT0gMCkgewogICAgICAgICAgdmFyIGhleFAgPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhQKTsKICAgICAgICAgIHZhciBoZXhPID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4Tyk7CiAgICAgICAgICAkRVJST1IoJyMnICsgaGV4TyArICctJyArIGhleFAgKyAnICcpOwogICAgICAgIH0gCiAgICAgICAgZWxzZSB7CiAgICAgICAgICB2YXIgaGV4UCA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleFApOwogICAgICAgICAgJEVSUk9SKCcjJyArIGhleFAgKyAnICcpOwogICAgICAgIH0gIAogICAgICAgIGluZGV4TyA9IGluZGV4QjsKICAgICAgfSAgICAgICAgIAogICAgfQogICAgaW5kZXhQID0gaW5kZXhCOwogICAgZXJyb3JDb3VudCsrOyAgICAgICAKICB9Cn0KCmlmIChlcnJvckNvdW50ID4gMCkgewogIGlmICgoaW5kZXhQIC0gaW5kZXhPKSAhPT0gMCkgewogICAgdmFyIGhleFAgPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhQKTsKICAgIHZhciBoZXhPID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4Tyk7CiAgICAkRVJST1IoJyMnICsgaGV4TyArICctJyArIGhleFAgKyAnICcpOwogIH0gZWxzZSB7CiAgICB2YXIgaGV4UCA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleFApOwogICAgJEVSUk9SKCcjJyArIGhleFAgKyAnICcpOwogIH0gICAgIAogICRFUlJPUignVG90YWwgZXJyb3I6ICcgKyBlcnJvckNvdW50ICsgJyBiYWQgVW5pY29kZSBjaGFyYWN0ZXIgaW4gJyArIGNvdW50ICsgJyAnKTsKfQoKZnVuY3Rpb24gZGVjaW1hbFRvSGV4U3RyaW5nKG4pIHsKICBuID0gTnVtYmVyKG4pOwogIHZhciBoID0gIiI7CiAgZm9yICh2YXIgaSA9IDM7IGkgPj0gMDsgaS0tKSB7CiAgICBpZiAobiA+PSBNYXRoLnBvdygxNiwgaSkpIHsKICAgICAgdmFyIHQgPSBNYXRoLmZsb29yKG4gLyBNYXRoLnBvdygxNiwgaSkpOwogICAgICBuIC09IHQgKiBNYXRoLnBvdygxNiwgaSk7CiAgICAgIGlmICggdCA+PSAxMCApIHsKICAgICAgICBpZiAoIHQgPT0gMTAgKSB7IGggKz0gIkEiOyB9CiAgICAgICAgaWYgKCB0ID09IDExICkgeyBoICs9ICJCIjsgfQogICAgICAgIGlmICggdCA9PSAxMiApIHsgaCArPSAiQyI7IH0KICAgICAgICBpZiAoIHQgPT0gMTMgKSB7IGggKz0gIkQiOyB9CiAgICAgICAgaWYgKCB0ID09IDE0ICkgeyBoICs9ICJFIjsgfQogICAgICAgIGlmICggdCA9PSAxNSApIHsgaCArPSAiRiI7IH0KICAgICAgfSBlbHNlIHsKICAgICAgICBoICs9IFN0cmluZyh0KTsKICAgICAgfQogICAgfSBlbHNlIHsKICAgICAgaCArPSAiMCI7CiAgICB9CiAgfQogIHJldHVybiBoOwp9Cgo=","commentary":"If B = 110xxxxx (n = 2) and C != 10xxxxxx (C - first of octets after B), throw URIError","description":"Complex tests. B = [0xC0 - 0xDF], C = [0xC0, 0xFF]","path":"TestCases/ch15/15.1/15.1.3/15.1.3.2/S15.1.3.2_A1.13_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBCID0gMTExMHh4eHggKG4gPSAzKSBhbmQgQyAhPSAxMHh4eHh4eCAoQyAtIGZpcnN0IG9mIG9jdGV0cyBhZnRlciBCKSwgdGhyb3cgVVJJRXJyb3IKICoKICogQHBhdGggY2gxNS8xNS4xLzE1LjEuMy8xNS4xLjMuMi9TMTUuMS4zLjJfQTEuMTRfVDEuanMKICogQGRlc2NyaXB0aW9uIENvbXBsZXggdGVzdHMuIEIgPSBbMHhFMCAtIDB4RUZdLCBDID0gWzB4MDAsIDB4N0ZdCiAqLwoKZXJyb3JDb3VudCA9IDA7CmNvdW50ID0gMDsKdmFyIGluZGV4UDsKdmFyIGluZGV4TyA9IDA7Cgpmb3IgKGluZGV4QiA9IDB4RTA7IGluZGV4QiA8PSAweEVGOyBpbmRleEIrKykgewogIGNvdW50Kys7IAogIGhleEIgPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhCKTsgCiAgcmVzdWx0ID0gdHJ1ZTsKICBmb3IgKGluZGV4QyA9IDB4MDA7IGluZGV4QyA8PSAweDdGOyBpbmRleEMrKykgewogICAgaGV4QyA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleEMpOyAgCiAgICB0cnkgewogICAgICBkZWNvZGVVUklDb21wb25lbnQoIiUiICsgaGV4Qi5zdWJzdHJpbmcoMikgKyAiJSIgKyBoZXhDLnN1YnN0cmluZygyKSArICIlQTAiKTsKICAgIH0gY2F0Y2ggKGUpIHsgCiAgICAgIGlmICgoZSBpbnN0YW5jZW9mIFVSSUVycm9yKSA9PT0gdHJ1ZSkgY29udGludWU7ICAgICAgICAgICAgICAgIAogICAgfQogICAgcmVzdWx0ID0gZmFsc2U7CiAgfQogIGlmIChyZXN1bHQgIT09IHRydWUpIHsKICAgIGlmIChpbmRleE8gPT09IDApIHsgCiAgICAgIGluZGV4TyA9IGluZGV4QjsKICAgIH0gZWxzZSB7CiAgICAgIGlmICgoaW5kZXhCIC0gaW5kZXhQKSAhPT0gMSkgeyAgICAgICAgICAgICAKICAgICAgICBpZiAoKGluZGV4UCAtIGluZGV4TykgIT09IDApIHsKICAgICAgICAgIHZhciBoZXhQID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4UCk7CiAgICAgICAgICB2YXIgaGV4TyA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleE8pOwogICAgICAgICAgJEVSUk9SKCcjJyArIGhleE8gKyAnLScgKyBoZXhQICsgJyAnKTsKICAgICAgICB9IAogICAgICAgIGVsc2UgewogICAgICAgICAgdmFyIGhleFAgPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhQKTsKICAgICAgICAgICRFUlJPUignIycgKyBoZXhQICsgJyAnKTsKICAgICAgICB9ICAKICAgICAgICBpbmRleE8gPSBpbmRleEI7CiAgICAgIH0gICAgICAgICAKICAgIH0KICAgIGluZGV4UCA9IGluZGV4QjsKICAgIGVycm9yQ291bnQrKzsgICAgICAgCiAgfQp9CgppZiAoZXJyb3JDb3VudCA+IDApIHsKICBpZiAoKGluZGV4UCAtIGluZGV4TykgIT09IDApIHsKICAgIHZhciBoZXhQID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4UCk7CiAgICB2YXIgaGV4TyA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleE8pOwogICAgJEVSUk9SKCcjJyArIGhleE8gKyAnLScgKyBoZXhQICsgJyAnKTsKICB9IGVsc2UgewogICAgdmFyIGhleFAgPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhQKTsKICAgICRFUlJPUignIycgKyBoZXhQICsgJyAnKTsKICB9ICAgICAKICAkRVJST1IoJ1RvdGFsIGVycm9yOiAnICsgZXJyb3JDb3VudCArICcgYmFkIFVuaWNvZGUgY2hhcmFjdGVyIGluICcgKyBjb3VudCArICcgJyk7Cn0KCmZ1bmN0aW9uIGRlY2ltYWxUb0hleFN0cmluZyhuKSB7CiAgbiA9IE51bWJlcihuKTsKICB2YXIgaCA9ICIiOwogIGZvciAodmFyIGkgPSAzOyBpID49IDA7IGktLSkgewogICAgaWYgKG4gPj0gTWF0aC5wb3coMTYsIGkpKSB7CiAgICAgIHZhciB0ID0gTWF0aC5mbG9vcihuIC8gTWF0aC5wb3coMTYsIGkpKTsKICAgICAgbiAtPSB0ICogTWF0aC5wb3coMTYsIGkpOwogICAgICBpZiAoIHQgPj0gMTAgKSB7CiAgICAgICAgaWYgKCB0ID09IDEwICkgeyBoICs9ICJBIjsgfQogICAgICAgIGlmICggdCA9PSAxMSApIHsgaCArPSAiQiI7IH0KICAgICAgICBpZiAoIHQgPT0gMTIgKSB7IGggKz0gIkMiOyB9CiAgICAgICAgaWYgKCB0ID09IDEzICkgeyBoICs9ICJEIjsgfQogICAgICAgIGlmICggdCA9PSAxNCApIHsgaCArPSAiRSI7IH0KICAgICAgICBpZiAoIHQgPT0gMTUgKSB7IGggKz0gIkYiOyB9CiAgICAgIH0gZWxzZSB7CiAgICAgICAgaCArPSBTdHJpbmcodCk7CiAgICAgIH0KICAgIH0gZWxzZSB7CiAgICAgIGggKz0gIjAiOwogICAgfQogIH0KICByZXR1cm4gaDsKfQoK","commentary":"If B = 1110xxxx (n = 3) and C != 10xxxxxx (C - first of octets after B), throw URIError","description":"Complex tests. B = [0xE0 - 0xEF], C = [0x00, 0x7F]","path":"TestCases/ch15/15.1/15.1.3/15.1.3.2/S15.1.3.2_A1.14_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBCID0gMTExMHh4eHggKG4gPSAzKSBhbmQgQyAhPSAxMHh4eHh4eCAoQyAtIGZpcnN0IG9mIG9jdGV0cyBhZnRlciBCKSwgdGhyb3cgVVJJRXJyb3IKICoKICogQHBhdGggY2gxNS8xNS4xLzE1LjEuMy8xNS4xLjMuMi9TMTUuMS4zLjJfQTEuMTRfVDIuanMKICogQGRlc2NyaXB0aW9uIENvbXBsZXggdGVzdHMuIEIgPSBbMHhFMCAtIDB4RUZdLCBDID0gWzB4MDAsIDB4N0ZdCiAqLwoKZXJyb3JDb3VudCA9IDA7CmNvdW50ID0gMDsKdmFyIGluZGV4UDsKdmFyIGluZGV4TyA9IDA7Cgpmb3IgKGluZGV4QiA9IDB4RTA7IGluZGV4QiA8PSAweEVGOyBpbmRleEIrKykgewogIGNvdW50Kys7IAogIGhleEIgPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhCKTsgIAogIHJlc3VsdCA9IHRydWU7CiAgZm9yIChpbmRleEMgPSAweDAwOyBpbmRleEMgPD0gMHg3RjsgaW5kZXhDKyspIHsKICAgIGhleEMgPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhDKTsgIAogICAgdHJ5IHsKICAgICAgZGVjb2RlVVJJQ29tcG9uZW50KCIlIiArIGhleEIuc3Vic3RyaW5nKDIpICsgIiVBMCIgKyAiJSIgKyBoZXhDLnN1YnN0cmluZygyKSk7CiAgICB9IGNhdGNoIChlKSB7IAogICAgICBpZiAoKGUgaW5zdGFuY2VvZiBVUklFcnJvcikgPT09IHRydWUpIGNvbnRpbnVlOyAgICAgICAgICAgICAgICAKICAgIH0KICAgIHJlc3VsdCA9IGZhbHNlOwogIH0KICBpZiAocmVzdWx0ICE9PSB0cnVlKSB7CiAgICBpZiAoaW5kZXhPID09PSAwKSB7IAogICAgICBpbmRleE8gPSBpbmRleEI7CiAgICB9IGVsc2UgewogICAgICBpZiAoKGluZGV4QiAtIGluZGV4UCkgIT09IDEpIHsgICAgICAgICAgICAgCiAgICAgICAgaWYgKChpbmRleFAgLSBpbmRleE8pICE9PSAwKSB7CiAgICAgICAgICB2YXIgaGV4UCA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleFApOwogICAgICAgICAgdmFyIGhleE8gPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhPKTsKICAgICAgICAgICRFUlJPUignIycgKyBoZXhPICsgJy0nICsgaGV4UCArICcgJyk7CiAgICAgICAgfSAKICAgICAgICBlbHNlIHsKICAgICAgICAgIHZhciBoZXhQID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4UCk7CiAgICAgICAgICAkRVJST1IoJyMnICsgaGV4UCArICcgJyk7CiAgICAgICAgfSAgCiAgICAgICAgaW5kZXhPID0gaW5kZXhCOwogICAgICB9ICAgICAgICAgCiAgICB9CiAgICBpbmRleFAgPSBpbmRleEI7CiAgICBlcnJvckNvdW50Kys7ICAgICAgIAogIH0KfQoKaWYgKGVycm9yQ291bnQgPiAwKSB7CiAgaWYgKChpbmRleFAgLSBpbmRleE8pICE9PSAwKSB7CiAgICB2YXIgaGV4UCA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleFApOwogICAgdmFyIGhleE8gPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhPKTsKICAgICRFUlJPUignIycgKyBoZXhPICsgJy0nICsgaGV4UCArICcgJyk7CiAgfSBlbHNlIHsKICAgIHZhciBoZXhQID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4UCk7CiAgICAkRVJST1IoJyMnICsgaGV4UCArICcgJyk7CiAgfSAgICAgCiAgJEVSUk9SKCdUb3RhbCBlcnJvcjogJyArIGVycm9yQ291bnQgKyAnIGJhZCBVbmljb2RlIGNoYXJhY3RlciBpbiAnICsgY291bnQgKyAnICcpOwp9CgpmdW5jdGlvbiBkZWNpbWFsVG9IZXhTdHJpbmcobikgewogIG4gPSBOdW1iZXIobik7CiAgdmFyIGggPSAiIjsKICBmb3IgKHZhciBpID0gMzsgaSA+PSAwOyBpLS0pIHsKICAgIGlmIChuID49IE1hdGgucG93KDE2LCBpKSkgewogICAgICB2YXIgdCA9IE1hdGguZmxvb3IobiAvIE1hdGgucG93KDE2LCBpKSk7CiAgICAgIG4gLT0gdCAqIE1hdGgucG93KDE2LCBpKTsKICAgICAgaWYgKCB0ID49IDEwICkgewogICAgICAgIGlmICggdCA9PSAxMCApIHsgaCArPSAiQSI7IH0KICAgICAgICBpZiAoIHQgPT0gMTEgKSB7IGggKz0gIkIiOyB9CiAgICAgICAgaWYgKCB0ID09IDEyICkgeyBoICs9ICJDIjsgfQogICAgICAgIGlmICggdCA9PSAxMyApIHsgaCArPSAiRCI7IH0KICAgICAgICBpZiAoIHQgPT0gMTQgKSB7IGggKz0gIkUiOyB9CiAgICAgICAgaWYgKCB0ID09IDE1ICkgeyBoICs9ICJGIjsgfQogICAgICB9IGVsc2UgewogICAgICAgIGggKz0gU3RyaW5nKHQpOwogICAgICB9CiAgICB9IGVsc2UgewogICAgICBoICs9ICIwIjsKICAgIH0KICB9CiAgcmV0dXJuIGg7Cn0KCg==","commentary":"If B = 1110xxxx (n = 3) and C != 10xxxxxx (C - first of octets after B), throw URIError","description":"Complex tests. B = [0xE0 - 0xEF], C = [0x00, 0x7F]","path":"TestCases/ch15/15.1/15.1.3/15.1.3.2/S15.1.3.2_A1.14_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBCID0gMTExMHh4eHggKG4gPSAzKSBhbmQgQyAhPSAxMHh4eHh4eCAoQyAtIGZpcnN0IG9mIG9jdGV0cyBhZnRlciBCKSwgdGhyb3cgVVJJRXJyb3IKICoKICogQHBhdGggY2gxNS8xNS4xLzE1LjEuMy8xNS4xLjMuMi9TMTUuMS4zLjJfQTEuMTRfVDMuanMKICogQGRlc2NyaXB0aW9uIENvbXBsZXggdGVzdHMuIEIgPSBbMHhFMCAtIDB4RUZdLCBDID0gWzB4QzAsIDB4RkZdCiAqLwoKZXJyb3JDb3VudCA9IDA7CmNvdW50ID0gMDsKdmFyIGluZGV4UDsKdmFyIGluZGV4TyA9IDA7Cgpmb3IgKGluZGV4QiA9IDB4RTA7IGluZGV4QiA8PSAweEVGOyBpbmRleEIrKykgewogIGNvdW50Kys7IAogIGhleEIgPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhCKTsgCiAgcmVzdWx0ID0gdHJ1ZTsKICBmb3IgKGluZGV4QyA9IDB4QzA7IGluZGV4QyA8PSAweEZGOyBpbmRleEMrKykgewogICAgaGV4QyA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleEMpOyAgCiAgICB0cnkgewogICAgICBkZWNvZGVVUklDb21wb25lbnQoIiUiICsgaGV4Qi5zdWJzdHJpbmcoMikgKyAiJSIgKyBoZXhDLnN1YnN0cmluZygyKSArICIlQTAiKTsKICAgIH0gY2F0Y2ggKGUpIHsgCiAgICAgIGlmICgoZSBpbnN0YW5jZW9mIFVSSUVycm9yKSA9PT0gdHJ1ZSkgY29udGludWU7ICAgICAgICAgICAgICAgIAogICAgfQogICAgcmVzdWx0ID0gZmFsc2U7CiAgfQogIGlmIChyZXN1bHQgIT09IHRydWUpIHsKICAgIGlmIChpbmRleE8gPT09IDApIHsgCiAgICAgIGluZGV4TyA9IGluZGV4QjsKICAgIH0gZWxzZSB7CiAgICAgIGlmICgoaW5kZXhCIC0gaW5kZXhQKSAhPT0gMSkgeyAgICAgICAgICAgICAKICAgICAgICBpZiAoKGluZGV4UCAtIGluZGV4TykgIT09IDApIHsKICAgICAgICAgIHZhciBoZXhQID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4UCk7CiAgICAgICAgICB2YXIgaGV4TyA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleE8pOwogICAgICAgICAgJEVSUk9SKCcjJyArIGhleE8gKyAnLScgKyBoZXhQICsgJyAnKTsKICAgICAgICB9IAogICAgICAgIGVsc2UgewogICAgICAgICAgdmFyIGhleFAgPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhQKTsKICAgICAgICAgICRFUlJPUignIycgKyBoZXhQICsgJyAnKTsKICAgICAgICB9ICAKICAgICAgICBpbmRleE8gPSBpbmRleEI7CiAgICAgIH0gICAgICAgICAKICAgIH0KICAgIGluZGV4UCA9IGluZGV4QjsKICAgIGVycm9yQ291bnQrKzsgICAgICAgCiAgfQp9CgppZiAoZXJyb3JDb3VudCA+IDApIHsKICBpZiAoKGluZGV4UCAtIGluZGV4TykgIT09IDApIHsKICAgIHZhciBoZXhQID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4UCk7CiAgICB2YXIgaGV4TyA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleE8pOwogICAgJEVSUk9SKCcjJyArIGhleE8gKyAnLScgKyBoZXhQICsgJyAnKTsKICB9IGVsc2UgewogICAgdmFyIGhleFAgPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhQKTsKICAgICRFUlJPUignIycgKyBoZXhQICsgJyAnKTsKICB9ICAgICAKICAkRVJST1IoJ1RvdGFsIGVycm9yOiAnICsgZXJyb3JDb3VudCArICcgYmFkIFVuaWNvZGUgY2hhcmFjdGVyIGluICcgKyBjb3VudCArICcgJyk7Cn0KCmZ1bmN0aW9uIGRlY2ltYWxUb0hleFN0cmluZyhuKSB7CiAgbiA9IE51bWJlcihuKTsKICB2YXIgaCA9ICIiOwogIGZvciAodmFyIGkgPSAzOyBpID49IDA7IGktLSkgewogICAgaWYgKG4gPj0gTWF0aC5wb3coMTYsIGkpKSB7CiAgICAgIHZhciB0ID0gTWF0aC5mbG9vcihuIC8gTWF0aC5wb3coMTYsIGkpKTsKICAgICAgbiAtPSB0ICogTWF0aC5wb3coMTYsIGkpOwogICAgICBpZiAoIHQgPj0gMTAgKSB7CiAgICAgICAgaWYgKCB0ID09IDEwICkgeyBoICs9ICJBIjsgfQogICAgICAgIGlmICggdCA9PSAxMSApIHsgaCArPSAiQiI7IH0KICAgICAgICBpZiAoIHQgPT0gMTIgKSB7IGggKz0gIkMiOyB9CiAgICAgICAgaWYgKCB0ID09IDEzICkgeyBoICs9ICJEIjsgfQogICAgICAgIGlmICggdCA9PSAxNCApIHsgaCArPSAiRSI7IH0KICAgICAgICBpZiAoIHQgPT0gMTUgKSB7IGggKz0gIkYiOyB9CiAgICAgIH0gZWxzZSB7CiAgICAgICAgaCArPSBTdHJpbmcodCk7CiAgICAgIH0KICAgIH0gZWxzZSB7CiAgICAgIGggKz0gIjAiOwogICAgfQogIH0KICByZXR1cm4gaDsKfQoK","commentary":"If B = 1110xxxx (n = 3) and C != 10xxxxxx (C - first of octets after B), throw URIError","description":"Complex tests. B = [0xE0 - 0xEF], C = [0xC0, 0xFF]","path":"TestCases/ch15/15.1/15.1.3/15.1.3.2/S15.1.3.2_A1.14_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBCID0gMTExMHh4eHggKG4gPSAzKSBhbmQgQyAhPSAxMHh4eHh4eCAoQyAtIGZpcnN0IG9mIG9jdGV0cyBhZnRlciBCKSwgdGhyb3cgVVJJRXJyb3IKICoKICogQHBhdGggY2gxNS8xNS4xLzE1LjEuMy8xNS4xLjMuMi9TMTUuMS4zLjJfQTEuMTRfVDQuanMKICogQGRlc2NyaXB0aW9uIENvbXBsZXggdGVzdHMuIEIgPSBbMHhFMCAtIDB4RUZdLCBDID0gWzB4QzAsIDB4RkZdCiAqLwoKZXJyb3JDb3VudCA9IDA7CmNvdW50ID0gMDsKdmFyIGluZGV4UDsKdmFyIGluZGV4TyA9IDA7Cgpmb3IgKGluZGV4QiA9IDB4RTA7IGluZGV4QiA8PSAweEVGOyBpbmRleEIrKykgewogIGNvdW50Kys7IAogIGhleEIgPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhCKTsgIAogIHJlc3VsdCA9IHRydWU7CiAgZm9yIChpbmRleEMgPSAweEMwOyBpbmRleEMgPD0gMHhGRjsgaW5kZXhDKyspIHsKICAgIGhleEMgPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhDKTsgIAogICAgdHJ5IHsKICAgICAgZGVjb2RlVVJJQ29tcG9uZW50KCIlIiArIGhleEIuc3Vic3RyaW5nKDIpICsgIiVBMCIgKyAiJSIgKyBoZXhDLnN1YnN0cmluZygyKSk7CiAgICB9IGNhdGNoIChlKSB7IAogICAgICBpZiAoKGUgaW5zdGFuY2VvZiBVUklFcnJvcikgPT09IHRydWUpIGNvbnRpbnVlOyAgICAgICAgICAgICAgICAKICAgIH0KICAgIHJlc3VsdCA9IGZhbHNlOwogIH0KICBpZiAocmVzdWx0ICE9PSB0cnVlKSB7CiAgICBpZiAoaW5kZXhPID09PSAwKSB7IAogICAgICBpbmRleE8gPSBpbmRleEI7CiAgICB9IGVsc2UgewogICAgICBpZiAoKGluZGV4QiAtIGluZGV4UCkgIT09IDEpIHsgICAgICAgICAgICAgCiAgICAgICAgaWYgKChpbmRleFAgLSBpbmRleE8pICE9PSAwKSB7CiAgICAgICAgICB2YXIgaGV4UCA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleFApOwogICAgICAgICAgdmFyIGhleE8gPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhPKTsKICAgICAgICAgICRFUlJPUignIycgKyBoZXhPICsgJy0nICsgaGV4UCArICcgJyk7CiAgICAgICAgfSAKICAgICAgICBlbHNlIHsKICAgICAgICAgIHZhciBoZXhQID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4UCk7CiAgICAgICAgICAkRVJST1IoJyMnICsgaGV4UCArICcgJyk7CiAgICAgICAgfSAgCiAgICAgICAgaW5kZXhPID0gaW5kZXhCOwogICAgICB9ICAgICAgICAgCiAgICB9CiAgICBpbmRleFAgPSBpbmRleEI7CiAgICBlcnJvckNvdW50Kys7ICAgICAgIAogIH0KfQoKaWYgKGVycm9yQ291bnQgPiAwKSB7CiAgaWYgKChpbmRleFAgLSBpbmRleE8pICE9PSAwKSB7CiAgICB2YXIgaGV4UCA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleFApOwogICAgdmFyIGhleE8gPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhPKTsKICAgICRFUlJPUignIycgKyBoZXhPICsgJy0nICsgaGV4UCArICcgJyk7CiAgfSBlbHNlIHsKICAgIHZhciBoZXhQID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4UCk7CiAgICAkRVJST1IoJyMnICsgaGV4UCArICcgJyk7CiAgfSAgICAgCiAgJEVSUk9SKCdUb3RhbCBlcnJvcjogJyArIGVycm9yQ291bnQgKyAnIGJhZCBVbmljb2RlIGNoYXJhY3RlciBpbiAnICsgY291bnQgKyAnICcpOwp9CgpmdW5jdGlvbiBkZWNpbWFsVG9IZXhTdHJpbmcobikgewogIG4gPSBOdW1iZXIobik7CiAgdmFyIGggPSAiIjsKICBmb3IgKHZhciBpID0gMzsgaSA+PSAwOyBpLS0pIHsKICAgIGlmIChuID49IE1hdGgucG93KDE2LCBpKSkgewogICAgICB2YXIgdCA9IE1hdGguZmxvb3IobiAvIE1hdGgucG93KDE2LCBpKSk7CiAgICAgIG4gLT0gdCAqIE1hdGgucG93KDE2LCBpKTsKICAgICAgaWYgKCB0ID49IDEwICkgewogICAgICAgIGlmICggdCA9PSAxMCApIHsgaCArPSAiQSI7IH0KICAgICAgICBpZiAoIHQgPT0gMTEgKSB7IGggKz0gIkIiOyB9CiAgICAgICAgaWYgKCB0ID09IDEyICkgeyBoICs9ICJDIjsgfQogICAgICAgIGlmICggdCA9PSAxMyApIHsgaCArPSAiRCI7IH0KICAgICAgICBpZiAoIHQgPT0gMTQgKSB7IGggKz0gIkUiOyB9CiAgICAgICAgaWYgKCB0ID09IDE1ICkgeyBoICs9ICJGIjsgfQogICAgICB9IGVsc2UgewogICAgICAgIGggKz0gU3RyaW5nKHQpOwogICAgICB9CiAgICB9IGVsc2UgewogICAgICBoICs9ICIwIjsKICAgIH0KICB9CiAgcmV0dXJuIGg7Cn0KCg==","commentary":"If B = 1110xxxx (n = 3) and C != 10xxxxxx (C - first of octets after B), throw URIError","description":"Complex tests. B = [0xE0 - 0xEF], C = [0xC0, 0xFF]","path":"TestCases/ch15/15.1/15.1.3/15.1.3.2/S15.1.3.2_A1.14_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBCID0gMTExMTB4eHggKG4gPSA0KSBhbmQgQyAhPSAxMHh4eHh4eCAoQyAtIGZpcnN0IG9mIG9jdGV0cyBhZnRlciBCKSwgdGhyb3cgVVJJRXJyb3IKICoKICogQHBhdGggY2gxNS8xNS4xLzE1LjEuMy8xNS4xLjMuMi9TMTUuMS4zLjJfQTEuMTVfVDEuanMKICogQGRlc2NyaXB0aW9uIENvbXBsZXggdGVzdHMuIEIgPSBbMHhGMCAtIDB4MEY3XSwgQyA9IFsweDAwLCAweDdGXQogKi8KCmVycm9yQ291bnQgPSAwOwpjb3VudCA9IDA7CnZhciBpbmRleFA7CnZhciBpbmRleE8gPSAwOwoKZm9yIChpbmRleEIgPSAweEYwOyBpbmRleEIgPD0gMHhGNzsgaW5kZXhCKyspIHsKICBjb3VudCsrOyAKICBoZXhCID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4Qik7IAogIHJlc3VsdCA9IHRydWU7CiAgZm9yIChpbmRleEMgPSAweDAwOyBpbmRleEMgPD0gMHg3RjsgaW5kZXhDKyspIHsKICAgIGhleEMgPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhDKTsgIAogICAgdHJ5IHsKICAgICAgZGVjb2RlVVJJQ29tcG9uZW50KCIlIiArIGhleEIuc3Vic3RyaW5nKDIpICsgIiUiICsgaGV4Qy5zdWJzdHJpbmcoMikgKyAiJUEwJUEwIik7CiAgICB9IGNhdGNoIChlKSB7IAogICAgICBpZiAoKGUgaW5zdGFuY2VvZiBVUklFcnJvcikgPT09IHRydWUpIGNvbnRpbnVlOyAgICAgICAgICAgICAgICAKICAgIH0KICAgIHJlc3VsdCA9IGZhbHNlOwogIH0KICBpZiAocmVzdWx0ICE9PSB0cnVlKSB7CiAgICBpZiAoaW5kZXhPID09PSAwKSB7IAogICAgICBpbmRleE8gPSBpbmRleEI7CiAgICB9IGVsc2UgewogICAgICBpZiAoKGluZGV4QiAtIGluZGV4UCkgIT09IDEpIHsgICAgICAgICAgICAgCiAgICAgICAgaWYgKChpbmRleFAgLSBpbmRleE8pICE9PSAwKSB7CiAgICAgICAgICB2YXIgaGV4UCA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleFApOwogICAgICAgICAgdmFyIGhleE8gPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhPKTsKICAgICAgICAgICRFUlJPUignIycgKyBoZXhPICsgJy0nICsgaGV4UCArICcgJyk7CiAgICAgICAgfSAKICAgICAgICBlbHNlIHsKICAgICAgICAgIHZhciBoZXhQID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4UCk7CiAgICAgICAgICAkRVJST1IoJyMnICsgaGV4UCArICcgJyk7CiAgICAgICAgfSAgCiAgICAgICAgaW5kZXhPID0gaW5kZXhCOwogICAgICB9ICAgICAgICAgCiAgICB9CiAgICBpbmRleFAgPSBpbmRleEI7CiAgICBlcnJvckNvdW50Kys7ICAgICAgIAogIH0KfQoKaWYgKGVycm9yQ291bnQgPiAwKSB7CiAgaWYgKChpbmRleFAgLSBpbmRleE8pICE9PSAwKSB7CiAgICB2YXIgaGV4UCA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleFApOwogICAgdmFyIGhleE8gPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhPKTsKICAgICRFUlJPUignIycgKyBoZXhPICsgJy0nICsgaGV4UCArICcgJyk7CiAgfSBlbHNlIHsKICAgIHZhciBoZXhQID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4UCk7CiAgICAkRVJST1IoJyMnICsgaGV4UCArICcgJyk7CiAgfSAgICAgCiAgJEVSUk9SKCdUb3RhbCBlcnJvcjogJyArIGVycm9yQ291bnQgKyAnIGJhZCBVbmljb2RlIGNoYXJhY3RlciBpbiAnICsgY291bnQgKyAnICcpOwp9CgpmdW5jdGlvbiBkZWNpbWFsVG9IZXhTdHJpbmcobikgewogIG4gPSBOdW1iZXIobik7CiAgdmFyIGggPSAiIjsKICBmb3IgKHZhciBpID0gMzsgaSA+PSAwOyBpLS0pIHsKICAgIGlmIChuID49IE1hdGgucG93KDE2LCBpKSkgewogICAgICB2YXIgdCA9IE1hdGguZmxvb3IobiAvIE1hdGgucG93KDE2LCBpKSk7CiAgICAgIG4gLT0gdCAqIE1hdGgucG93KDE2LCBpKTsKICAgICAgaWYgKCB0ID49IDEwICkgewogICAgICAgIGlmICggdCA9PSAxMCApIHsgaCArPSAiQSI7IH0KICAgICAgICBpZiAoIHQgPT0gMTEgKSB7IGggKz0gIkIiOyB9CiAgICAgICAgaWYgKCB0ID09IDEyICkgeyBoICs9ICJDIjsgfQogICAgICAgIGlmICggdCA9PSAxMyApIHsgaCArPSAiRCI7IH0KICAgICAgICBpZiAoIHQgPT0gMTQgKSB7IGggKz0gIkUiOyB9CiAgICAgICAgaWYgKCB0ID09IDE1ICkgeyBoICs9ICJGIjsgfQogICAgICB9IGVsc2UgewogICAgICAgIGggKz0gU3RyaW5nKHQpOwogICAgICB9CiAgICB9IGVsc2UgewogICAgICBoICs9ICIwIjsKICAgIH0KICB9CiAgcmV0dXJuIGg7Cn0KCg==","commentary":"If B = 11110xxx (n = 4) and C != 10xxxxxx (C - first of octets after B), throw URIError","description":"Complex tests. B = [0xF0 - 0x0F7], C = [0x00, 0x7F]","path":"TestCases/ch15/15.1/15.1.3/15.1.3.2/S15.1.3.2_A1.15_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBCID0gMTExMTB4eHggKG4gPSA0KSBhbmQgQyAhPSAxMHh4eHh4eCAoQyAtIGZpcnN0IG9mIG9jdGV0cyBhZnRlciBCKSwgdGhyb3cgVVJJRXJyb3IKICoKICogQHBhdGggY2gxNS8xNS4xLzE1LjEuMy8xNS4xLjMuMi9TMTUuMS4zLjJfQTEuMTVfVDIuanMKICogQGRlc2NyaXB0aW9uIENvbXBsZXggdGVzdHMuIEIgPSBbMHhGMCAtIDB4MEY3XSwgQyA9IFsweDAwLCAweDdGXQogKi8KCmVycm9yQ291bnQgPSAwOwpjb3VudCA9IDA7CnZhciBpbmRleFA7CnZhciBpbmRleE8gPSAwOwoKZm9yIChpbmRleEIgPSAweEYwOyBpbmRleEIgPD0gMHhGNzsgaW5kZXhCKyspIHsKICBjb3VudCsrOyAKICBoZXhCID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4Qik7IAogIHJlc3VsdCA9IHRydWU7CiAgZm9yIChpbmRleEMgPSAweDAwOyBpbmRleEMgPD0gMHg3RjsgaW5kZXhDKyspIHsKICAgIGhleEMgPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhDKTsgIAogICAgdHJ5IHsKICAgICAgZGVjb2RlVVJJQ29tcG9uZW50KCIlIiArIGhleEIuc3Vic3RyaW5nKDIpICsgIiVBMCIgKyAiJSIgKyBoZXhDLnN1YnN0cmluZygyKSArICIlQTAiKTsKICAgIH0gY2F0Y2ggKGUpIHsgCiAgICAgIGlmICgoZSBpbnN0YW5jZW9mIFVSSUVycm9yKSA9PT0gdHJ1ZSkgY29udGludWU7ICAgICAgICAgICAgICAgIAogICAgfQogICAgcmVzdWx0ID0gZmFsc2U7CiAgfQogIGlmIChyZXN1bHQgIT09IHRydWUpIHsKICAgIGlmIChpbmRleE8gPT09IDApIHsgCiAgICAgIGluZGV4TyA9IGluZGV4QjsKICAgIH0gZWxzZSB7CiAgICAgIGlmICgoaW5kZXhCIC0gaW5kZXhQKSAhPT0gMSkgeyAgICAgICAgICAgICAKICAgICAgICBpZiAoKGluZGV4UCAtIGluZGV4TykgIT09IDApIHsKICAgICAgICAgIHZhciBoZXhQID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4UCk7CiAgICAgICAgICB2YXIgaGV4TyA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleE8pOwogICAgICAgICAgJEVSUk9SKCcjJyArIGhleE8gKyAnLScgKyBoZXhQICsgJyAnKTsKICAgICAgICB9IAogICAgICAgIGVsc2UgewogICAgICAgICAgdmFyIGhleFAgPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhQKTsKICAgICAgICAgICRFUlJPUignIycgKyBoZXhQICsgJyAnKTsKICAgICAgICB9ICAKICAgICAgICBpbmRleE8gPSBpbmRleEI7CiAgICAgIH0gICAgICAgICAKICAgIH0KICAgIGluZGV4UCA9IGluZGV4QjsKICAgIGVycm9yQ291bnQrKzsgICAgICAgCiAgfQp9CgppZiAoZXJyb3JDb3VudCA+IDApIHsKICBpZiAoKGluZGV4UCAtIGluZGV4TykgIT09IDApIHsKICAgIHZhciBoZXhQID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4UCk7CiAgICB2YXIgaGV4TyA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleE8pOwogICAgJEVSUk9SKCcjJyArIGhleE8gKyAnLScgKyBoZXhQICsgJyAnKTsKICB9IGVsc2UgewogICAgdmFyIGhleFAgPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhQKTsKICAgICRFUlJPUignIycgKyBoZXhQICsgJyAnKTsKICB9ICAgICAKICAkRVJST1IoJ1RvdGFsIGVycm9yOiAnICsgZXJyb3JDb3VudCArICcgYmFkIFVuaWNvZGUgY2hhcmFjdGVyIGluICcgKyBjb3VudCArICcgJyk7Cn0KCmZ1bmN0aW9uIGRlY2ltYWxUb0hleFN0cmluZyhuKSB7CiAgbiA9IE51bWJlcihuKTsKICB2YXIgaCA9ICIiOwogIGZvciAodmFyIGkgPSAzOyBpID49IDA7IGktLSkgewogICAgaWYgKG4gPj0gTWF0aC5wb3coMTYsIGkpKSB7CiAgICAgIHZhciB0ID0gTWF0aC5mbG9vcihuIC8gTWF0aC5wb3coMTYsIGkpKTsKICAgICAgbiAtPSB0ICogTWF0aC5wb3coMTYsIGkpOwogICAgICBpZiAoIHQgPj0gMTAgKSB7CiAgICAgICAgaWYgKCB0ID09IDEwICkgeyBoICs9ICJBIjsgfQogICAgICAgIGlmICggdCA9PSAxMSApIHsgaCArPSAiQiI7IH0KICAgICAgICBpZiAoIHQgPT0gMTIgKSB7IGggKz0gIkMiOyB9CiAgICAgICAgaWYgKCB0ID09IDEzICkgeyBoICs9ICJEIjsgfQogICAgICAgIGlmICggdCA9PSAxNCApIHsgaCArPSAiRSI7IH0KICAgICAgICBpZiAoIHQgPT0gMTUgKSB7IGggKz0gIkYiOyB9CiAgICAgIH0gZWxzZSB7CiAgICAgICAgaCArPSBTdHJpbmcodCk7CiAgICAgIH0KICAgIH0gZWxzZSB7CiAgICAgIGggKz0gIjAiOwogICAgfQogIH0KICByZXR1cm4gaDsKfQoK","commentary":"If B = 11110xxx (n = 4) and C != 10xxxxxx (C - first of octets after B), throw URIError","description":"Complex tests. B = [0xF0 - 0x0F7], C = [0x00, 0x7F]","path":"TestCases/ch15/15.1/15.1.3/15.1.3.2/S15.1.3.2_A1.15_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBCID0gMTExMTB4eHggKG4gPSA0KSBhbmQgQyAhPSAxMHh4eHh4eCAoQyAtIGZpcnN0IG9mIG9jdGV0cyBhZnRlciBCKSwgdGhyb3cgVVJJRXJyb3IKICoKICogQHBhdGggY2gxNS8xNS4xLzE1LjEuMy8xNS4xLjMuMi9TMTUuMS4zLjJfQTEuMTVfVDMuanMKICogQGRlc2NyaXB0aW9uIENvbXBsZXggdGVzdHMuIEIgPSBbMHhGMCAtIDB4MEY3XSwgQyA9IFsweDAwLCAweDdGXQogKi8KCmVycm9yQ291bnQgPSAwOwpjb3VudCA9IDA7CnZhciBpbmRleFA7CnZhciBpbmRleE8gPSAwOwoKZm9yIChpbmRleEIgPSAweEYwOyBpbmRleEIgPD0gMHhGNzsgaW5kZXhCKyspIHsKICBjb3VudCsrOyAKICBoZXhCID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4Qik7IAogIHJlc3VsdCA9IHRydWU7CiAgZm9yIChpbmRleEMgPSAweDAwOyBpbmRleEMgPD0gMHg3RjsgaW5kZXhDKyspIHsKICAgIGhleEMgPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhDKTsgIAogICAgdHJ5IHsKICAgICAgZGVjb2RlVVJJQ29tcG9uZW50KCIlIiArIGhleEIuc3Vic3RyaW5nKDIpICsgIiVBMCVBMCIgKyAiJSIgKyBoZXhDLnN1YnN0cmluZygyKSk7CiAgICB9IGNhdGNoIChlKSB7IAogICAgICBpZiAoKGUgaW5zdGFuY2VvZiBVUklFcnJvcikgPT09IHRydWUpIGNvbnRpbnVlOyAgICAgICAgICAgICAgICAKICAgIH0KICAgIHJlc3VsdCA9IGZhbHNlOwogIH0KICBpZiAocmVzdWx0ICE9PSB0cnVlKSB7CiAgICBpZiAoaW5kZXhPID09PSAwKSB7IAogICAgICBpbmRleE8gPSBpbmRleEI7CiAgICB9IGVsc2UgewogICAgICBpZiAoKGluZGV4QiAtIGluZGV4UCkgIT09IDEpIHsgICAgICAgICAgICAgCiAgICAgICAgaWYgKChpbmRleFAgLSBpbmRleE8pICE9PSAwKSB7CiAgICAgICAgICB2YXIgaGV4UCA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleFApOwogICAgICAgICAgdmFyIGhleE8gPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhPKTsKICAgICAgICAgICRFUlJPUignIycgKyBoZXhPICsgJy0nICsgaGV4UCArICcgJyk7CiAgICAgICAgfSAKICAgICAgICBlbHNlIHsKICAgICAgICAgIHZhciBoZXhQID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4UCk7CiAgICAgICAgICAkRVJST1IoJyMnICsgaGV4UCArICcgJyk7CiAgICAgICAgfSAgCiAgICAgICAgaW5kZXhPID0gaW5kZXhCOwogICAgICB9ICAgICAgICAgCiAgICB9CiAgICBpbmRleFAgPSBpbmRleEI7CiAgICBlcnJvckNvdW50Kys7ICAgICAgIAogIH0KfQoKaWYgKGVycm9yQ291bnQgPiAwKSB7CiAgaWYgKChpbmRleFAgLSBpbmRleE8pICE9PSAwKSB7CiAgICB2YXIgaGV4UCA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleFApOwogICAgdmFyIGhleE8gPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhPKTsKICAgICRFUlJPUignIycgKyBoZXhPICsgJy0nICsgaGV4UCArICcgJyk7CiAgfSBlbHNlIHsKICAgIHZhciBoZXhQID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4UCk7CiAgICAkRVJST1IoJyMnICsgaGV4UCArICcgJyk7CiAgfSAgICAgCiAgJEVSUk9SKCdUb3RhbCBlcnJvcjogJyArIGVycm9yQ291bnQgKyAnIGJhZCBVbmljb2RlIGNoYXJhY3RlciBpbiAnICsgY291bnQgKyAnICcpOwp9CgpmdW5jdGlvbiBkZWNpbWFsVG9IZXhTdHJpbmcobikgewogIG4gPSBOdW1iZXIobik7CiAgdmFyIGggPSAiIjsKICBmb3IgKHZhciBpID0gMzsgaSA+PSAwOyBpLS0pIHsKICAgIGlmIChuID49IE1hdGgucG93KDE2LCBpKSkgewogICAgICB2YXIgdCA9IE1hdGguZmxvb3IobiAvIE1hdGgucG93KDE2LCBpKSk7CiAgICAgIG4gLT0gdCAqIE1hdGgucG93KDE2LCBpKTsKICAgICAgaWYgKCB0ID49IDEwICkgewogICAgICAgIGlmICggdCA9PSAxMCApIHsgaCArPSAiQSI7IH0KICAgICAgICBpZiAoIHQgPT0gMTEgKSB7IGggKz0gIkIiOyB9CiAgICAgICAgaWYgKCB0ID09IDEyICkgeyBoICs9ICJDIjsgfQogICAgICAgIGlmICggdCA9PSAxMyApIHsgaCArPSAiRCI7IH0KICAgICAgICBpZiAoIHQgPT0gMTQgKSB7IGggKz0gIkUiOyB9CiAgICAgICAgaWYgKCB0ID09IDE1ICkgeyBoICs9ICJGIjsgfQogICAgICB9IGVsc2UgewogICAgICAgIGggKz0gU3RyaW5nKHQpOwogICAgICB9CiAgICB9IGVsc2UgewogICAgICBoICs9ICIwIjsKICAgIH0KICB9CiAgcmV0dXJuIGg7Cn0KCg==","commentary":"If B = 11110xxx (n = 4) and C != 10xxxxxx (C - first of octets after B), throw URIError","description":"Complex tests. B = [0xF0 - 0x0F7], C = [0x00, 0x7F]","path":"TestCases/ch15/15.1/15.1.3/15.1.3.2/S15.1.3.2_A1.15_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBCID0gMTExMTB4eHggKG4gPSA0KSBhbmQgQyAhPSAxMHh4eHh4eCAoQyAtIGZpcnN0IG9mIG9jdGV0cyBhZnRlciBCKSwgdGhyb3cgVVJJRXJyb3IKICoKICogQHBhdGggY2gxNS8xNS4xLzE1LjEuMy8xNS4xLjMuMi9TMTUuMS4zLjJfQTEuMTVfVDQuanMKICogQGRlc2NyaXB0aW9uIENvbXBsZXggdGVzdHMuIEIgPSBbMHhGMCAtIDB4MEY3XSwgQyA9IFsweEMwLCAweEZGXQogKi8KCmVycm9yQ291bnQgPSAwOwpjb3VudCA9IDA7CnZhciBpbmRleFA7CnZhciBpbmRleE8gPSAwOwoKZm9yIChpbmRleEIgPSAweEYwOyBpbmRleEIgPD0gMHhGNzsgaW5kZXhCKyspIHsKICBjb3VudCsrOyAKICBoZXhCID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4Qik7IAogIHJlc3VsdCA9IHRydWU7CiAgZm9yIChpbmRleEMgPSAweEMwOyBpbmRleEMgPD0gMHhGRjsgaW5kZXhDKyspIHsKICAgIGhleEMgPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhDKTsgIAogICAgdHJ5IHsKICAgICAgZGVjb2RlVVJJQ29tcG9uZW50KCIlIiArIGhleEIuc3Vic3RyaW5nKDIpICsgIiUiICsgaGV4Qy5zdWJzdHJpbmcoMikgKyAiJUEwJUEwIik7CiAgICB9IGNhdGNoIChlKSB7IAogICAgICBpZiAoKGUgaW5zdGFuY2VvZiBVUklFcnJvcikgPT09IHRydWUpIGNvbnRpbnVlOyAgICAgICAgICAgICAgICAKICAgIH0KICAgIHJlc3VsdCA9IGZhbHNlOwogIH0KICBpZiAocmVzdWx0ICE9PSB0cnVlKSB7CiAgICBpZiAoaW5kZXhPID09PSAwKSB7IAogICAgICBpbmRleE8gPSBpbmRleEI7CiAgICB9IGVsc2UgewogICAgICBpZiAoKGluZGV4QiAtIGluZGV4UCkgIT09IDEpIHsgICAgICAgICAgICAgCiAgICAgICAgaWYgKChpbmRleFAgLSBpbmRleE8pICE9PSAwKSB7CiAgICAgICAgICB2YXIgaGV4UCA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleFApOwogICAgICAgICAgdmFyIGhleE8gPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhPKTsKICAgICAgICAgICRFUlJPUignIycgKyBoZXhPICsgJy0nICsgaGV4UCArICcgJyk7CiAgICAgICAgfSAKICAgICAgICBlbHNlIHsKICAgICAgICAgIHZhciBoZXhQID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4UCk7CiAgICAgICAgICAkRVJST1IoJyMnICsgaGV4UCArICcgJyk7CiAgICAgICAgfSAgCiAgICAgICAgaW5kZXhPID0gaW5kZXhCOwogICAgICB9ICAgICAgICAgCiAgICB9CiAgICBpbmRleFAgPSBpbmRleEI7CiAgICBlcnJvckNvdW50Kys7ICAgICAgIAogIH0KfQoKaWYgKGVycm9yQ291bnQgPiAwKSB7CiAgaWYgKChpbmRleFAgLSBpbmRleE8pICE9PSAwKSB7CiAgICB2YXIgaGV4UCA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleFApOwogICAgdmFyIGhleE8gPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhPKTsKICAgICRFUlJPUignIycgKyBoZXhPICsgJy0nICsgaGV4UCArICcgJyk7CiAgfSBlbHNlIHsKICAgIHZhciBoZXhQID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4UCk7CiAgICAkRVJST1IoJyMnICsgaGV4UCArICcgJyk7CiAgfSAgICAgCiAgJEVSUk9SKCdUb3RhbCBlcnJvcjogJyArIGVycm9yQ291bnQgKyAnIGJhZCBVbmljb2RlIGNoYXJhY3RlciBpbiAnICsgY291bnQgKyAnICcpOwp9CgpmdW5jdGlvbiBkZWNpbWFsVG9IZXhTdHJpbmcobikgewogIG4gPSBOdW1iZXIobik7CiAgdmFyIGggPSAiIjsKICBmb3IgKHZhciBpID0gMzsgaSA+PSAwOyBpLS0pIHsKICAgIGlmIChuID49IE1hdGgucG93KDE2LCBpKSkgewogICAgICB2YXIgdCA9IE1hdGguZmxvb3IobiAvIE1hdGgucG93KDE2LCBpKSk7CiAgICAgIG4gLT0gdCAqIE1hdGgucG93KDE2LCBpKTsKICAgICAgaWYgKCB0ID49IDEwICkgewogICAgICAgIGlmICggdCA9PSAxMCApIHsgaCArPSAiQSI7IH0KICAgICAgICBpZiAoIHQgPT0gMTEgKSB7IGggKz0gIkIiOyB9CiAgICAgICAgaWYgKCB0ID09IDEyICkgeyBoICs9ICJDIjsgfQogICAgICAgIGlmICggdCA9PSAxMyApIHsgaCArPSAiRCI7IH0KICAgICAgICBpZiAoIHQgPT0gMTQgKSB7IGggKz0gIkUiOyB9CiAgICAgICAgaWYgKCB0ID09IDE1ICkgeyBoICs9ICJGIjsgfQogICAgICB9IGVsc2UgewogICAgICAgIGggKz0gU3RyaW5nKHQpOwogICAgICB9CiAgICB9IGVsc2UgewogICAgICBoICs9ICIwIjsKICAgIH0KICB9CiAgcmV0dXJuIGg7Cn0KCg==","commentary":"If B = 11110xxx (n = 4) and C != 10xxxxxx (C - first of octets after B), throw URIError","description":"Complex tests. B = [0xF0 - 0x0F7], C = [0xC0, 0xFF]","path":"TestCases/ch15/15.1/15.1.3/15.1.3.2/S15.1.3.2_A1.15_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBCID0gMTExMTB4eHggKG4gPSA0KSBhbmQgQyAhPSAxMHh4eHh4eCAoQyAtIGZpcnN0IG9mIG9jdGV0cyBhZnRlciBCKSwgdGhyb3cgVVJJRXJyb3IKICoKICogQHBhdGggY2gxNS8xNS4xLzE1LjEuMy8xNS4xLjMuMi9TMTUuMS4zLjJfQTEuMTVfVDUuanMKICogQGRlc2NyaXB0aW9uIENvbXBsZXggdGVzdHMuIEIgPSBbMHhGMCAtIDB4MEY3XSwgQyA9IFsweEMwLCAweEZGXQogKi8KCmVycm9yQ291bnQgPSAwOwpjb3VudCA9IDA7CnZhciBpbmRleFA7CnZhciBpbmRleE8gPSAwOwoKZm9yIChpbmRleEIgPSAweEYwOyBpbmRleEIgPD0gMHhGNzsgaW5kZXhCKyspIHsKICBjb3VudCsrOyAKICBoZXhCID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4Qik7IAogIHJlc3VsdCA9IHRydWU7CiAgZm9yIChpbmRleEMgPSAweEMwOyBpbmRleEMgPD0gMHhGRjsgaW5kZXhDKyspIHsKICAgIGhleEMgPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhDKTsgIAogICAgdHJ5IHsKICAgICAgZGVjb2RlVVJJQ29tcG9uZW50KCIlIiArIGhleEIuc3Vic3RyaW5nKDIpICsgIiVBMCIgKyAiJSIgKyBoZXhDLnN1YnN0cmluZygyKSArICIlQTAiKTsKICAgIH0gY2F0Y2ggKGUpIHsgCiAgICAgIGlmICgoZSBpbnN0YW5jZW9mIFVSSUVycm9yKSA9PT0gdHJ1ZSkgY29udGludWU7ICAgICAgICAgICAgICAgIAogICAgfQogICAgcmVzdWx0ID0gZmFsc2U7CiAgfQogIGlmIChyZXN1bHQgIT09IHRydWUpIHsKICAgIGlmIChpbmRleE8gPT09IDApIHsgCiAgICAgIGluZGV4TyA9IGluZGV4QjsKICAgIH0gZWxzZSB7CiAgICAgIGlmICgoaW5kZXhCIC0gaW5kZXhQKSAhPT0gMSkgeyAgICAgICAgICAgICAKICAgICAgICBpZiAoKGluZGV4UCAtIGluZGV4TykgIT09IDApIHsKICAgICAgICAgIHZhciBoZXhQID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4UCk7CiAgICAgICAgICB2YXIgaGV4TyA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleE8pOwogICAgICAgICAgJEVSUk9SKCcjJyArIGhleE8gKyAnLScgKyBoZXhQICsgJyAnKTsKICAgICAgICB9IAogICAgICAgIGVsc2UgewogICAgICAgICAgdmFyIGhleFAgPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhQKTsKICAgICAgICAgICRFUlJPUignIycgKyBoZXhQICsgJyAnKTsKICAgICAgICB9ICAKICAgICAgICBpbmRleE8gPSBpbmRleEI7CiAgICAgIH0gICAgICAgICAKICAgIH0KICAgIGluZGV4UCA9IGluZGV4QjsKICAgIGVycm9yQ291bnQrKzsgICAgICAgCiAgfQp9CgppZiAoZXJyb3JDb3VudCA+IDApIHsKICBpZiAoKGluZGV4UCAtIGluZGV4TykgIT09IDApIHsKICAgIHZhciBoZXhQID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4UCk7CiAgICB2YXIgaGV4TyA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleE8pOwogICAgJEVSUk9SKCcjJyArIGhleE8gKyAnLScgKyBoZXhQICsgJyAnKTsKICB9IGVsc2UgewogICAgdmFyIGhleFAgPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhQKTsKICAgICRFUlJPUignIycgKyBoZXhQICsgJyAnKTsKICB9ICAgICAKICAkRVJST1IoJ1RvdGFsIGVycm9yOiAnICsgZXJyb3JDb3VudCArICcgYmFkIFVuaWNvZGUgY2hhcmFjdGVyIGluICcgKyBjb3VudCArICcgJyk7Cn0KCmZ1bmN0aW9uIGRlY2ltYWxUb0hleFN0cmluZyhuKSB7CiAgbiA9IE51bWJlcihuKTsKICB2YXIgaCA9ICIiOwogIGZvciAodmFyIGkgPSAzOyBpID49IDA7IGktLSkgewogICAgaWYgKG4gPj0gTWF0aC5wb3coMTYsIGkpKSB7CiAgICAgIHZhciB0ID0gTWF0aC5mbG9vcihuIC8gTWF0aC5wb3coMTYsIGkpKTsKICAgICAgbiAtPSB0ICogTWF0aC5wb3coMTYsIGkpOwogICAgICBpZiAoIHQgPj0gMTAgKSB7CiAgICAgICAgaWYgKCB0ID09IDEwICkgeyBoICs9ICJBIjsgfQogICAgICAgIGlmICggdCA9PSAxMSApIHsgaCArPSAiQiI7IH0KICAgICAgICBpZiAoIHQgPT0gMTIgKSB7IGggKz0gIkMiOyB9CiAgICAgICAgaWYgKCB0ID09IDEzICkgeyBoICs9ICJEIjsgfQogICAgICAgIGlmICggdCA9PSAxNCApIHsgaCArPSAiRSI7IH0KICAgICAgICBpZiAoIHQgPT0gMTUgKSB7IGggKz0gIkYiOyB9CiAgICAgIH0gZWxzZSB7CiAgICAgICAgaCArPSBTdHJpbmcodCk7CiAgICAgIH0KICAgIH0gZWxzZSB7CiAgICAgIGggKz0gIjAiOwogICAgfQogIH0KICByZXR1cm4gaDsKfQoK","commentary":"If B = 11110xxx (n = 4) and C != 10xxxxxx (C - first of octets after B), throw URIError","description":"Complex tests. B = [0xF0 - 0x0F7], C = [0xC0, 0xFF]","path":"TestCases/ch15/15.1/15.1.3/15.1.3.2/S15.1.3.2_A1.15_T5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBCID0gMTExMTB4eHggKG4gPSA0KSBhbmQgQyAhPSAxMHh4eHh4eCAoQyAtIGZpcnN0IG9mIG9jdGV0cyBhZnRlciBCKSwgdGhyb3cgVVJJRXJyb3IKICoKICogQHBhdGggY2gxNS8xNS4xLzE1LjEuMy8xNS4xLjMuMi9TMTUuMS4zLjJfQTEuMTVfVDYuanMKICogQGRlc2NyaXB0aW9uIENvbXBsZXggdGVzdHMuIEIgPSBbMHhGMCAtIDB4MEY3XSwgQyA9IFsweEMwLCAweEZGXQogKi8KCmVycm9yQ291bnQgPSAwOwpjb3VudCA9IDA7CnZhciBpbmRleFA7CnZhciBpbmRleE8gPSAwOwoKZm9yIChpbmRleEIgPSAweEYwOyBpbmRleEIgPD0gMHhGNzsgaW5kZXhCKyspIHsKICBjb3VudCsrOyAKICBoZXhCID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4Qik7IAogIHJlc3VsdCA9IHRydWU7CiAgZm9yIChpbmRleEMgPSAweEMwOyBpbmRleEMgPD0gMHhGRjsgaW5kZXhDKyspIHsKICAgIGhleEMgPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhDKTsgIAogICAgdHJ5IHsKICAgICAgZGVjb2RlVVJJQ29tcG9uZW50KCIlIiArIGhleEIuc3Vic3RyaW5nKDIpICsgIiVBMCVBMCIgKyAiJSIgKyBoZXhDLnN1YnN0cmluZygyKSk7CiAgICB9IGNhdGNoIChlKSB7IAogICAgICBpZiAoKGUgaW5zdGFuY2VvZiBVUklFcnJvcikgPT09IHRydWUpIGNvbnRpbnVlOyAgICAgICAgICAgICAgICAKICAgIH0KICAgIHJlc3VsdCA9IGZhbHNlOwogIH0KICBpZiAocmVzdWx0ICE9PSB0cnVlKSB7CiAgICBpZiAoaW5kZXhPID09PSAwKSB7IAogICAgICBpbmRleE8gPSBpbmRleEI7CiAgICB9IGVsc2UgewogICAgICBpZiAoKGluZGV4QiAtIGluZGV4UCkgIT09IDEpIHsgICAgICAgICAgICAgCiAgICAgICAgaWYgKChpbmRleFAgLSBpbmRleE8pICE9PSAwKSB7CiAgICAgICAgICB2YXIgaGV4UCA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleFApOwogICAgICAgICAgdmFyIGhleE8gPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhPKTsKICAgICAgICAgICRFUlJPUignIycgKyBoZXhPICsgJy0nICsgaGV4UCArICcgJyk7CiAgICAgICAgfSAKICAgICAgICBlbHNlIHsKICAgICAgICAgIHZhciBoZXhQID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4UCk7CiAgICAgICAgICAkRVJST1IoJyMnICsgaGV4UCArICcgJyk7CiAgICAgICAgfSAgCiAgICAgICAgaW5kZXhPID0gaW5kZXhCOwogICAgICB9ICAgICAgICAgCiAgICB9CiAgICBpbmRleFAgPSBpbmRleEI7CiAgICBlcnJvckNvdW50Kys7ICAgICAgIAogIH0KfQoKaWYgKGVycm9yQ291bnQgPiAwKSB7CiAgaWYgKChpbmRleFAgLSBpbmRleE8pICE9PSAwKSB7CiAgICB2YXIgaGV4UCA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleFApOwogICAgdmFyIGhleE8gPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhPKTsKICAgICRFUlJPUignIycgKyBoZXhPICsgJy0nICsgaGV4UCArICcgJyk7CiAgfSBlbHNlIHsKICAgIHZhciBoZXhQID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4UCk7CiAgICAkRVJST1IoJyMnICsgaGV4UCArICcgJyk7CiAgfSAgICAgCiAgJEVSUk9SKCdUb3RhbCBlcnJvcjogJyArIGVycm9yQ291bnQgKyAnIGJhZCBVbmljb2RlIGNoYXJhY3RlciBpbiAnICsgY291bnQgKyAnICcpOwp9CgpmdW5jdGlvbiBkZWNpbWFsVG9IZXhTdHJpbmcobikgewogIG4gPSBOdW1iZXIobik7CiAgdmFyIGggPSAiIjsKICBmb3IgKHZhciBpID0gMzsgaSA+PSAwOyBpLS0pIHsKICAgIGlmIChuID49IE1hdGgucG93KDE2LCBpKSkgewogICAgICB2YXIgdCA9IE1hdGguZmxvb3IobiAvIE1hdGgucG93KDE2LCBpKSk7CiAgICAgIG4gLT0gdCAqIE1hdGgucG93KDE2LCBpKTsKICAgICAgaWYgKCB0ID49IDEwICkgewogICAgICAgIGlmICggdCA9PSAxMCApIHsgaCArPSAiQSI7IH0KICAgICAgICBpZiAoIHQgPT0gMTEgKSB7IGggKz0gIkIiOyB9CiAgICAgICAgaWYgKCB0ID09IDEyICkgeyBoICs9ICJDIjsgfQogICAgICAgIGlmICggdCA9PSAxMyApIHsgaCArPSAiRCI7IH0KICAgICAgICBpZiAoIHQgPT0gMTQgKSB7IGggKz0gIkUiOyB9CiAgICAgICAgaWYgKCB0ID09IDE1ICkgeyBoICs9ICJGIjsgfQogICAgICB9IGVsc2UgewogICAgICAgIGggKz0gU3RyaW5nKHQpOwogICAgICB9CiAgICB9IGVsc2UgewogICAgICBoICs9ICIwIjsKICAgIH0KICB9CiAgcmV0dXJuIGg7Cn0KCg==","commentary":"If B = 11110xxx (n = 4) and C != 10xxxxxx (C - first of octets after B), throw URIError","description":"Complex tests. B = [0xF0 - 0x0F7], C = [0xC0, 0xFF]","path":"TestCases/ch15/15.1/15.1.3/15.1.3.2/S15.1.3.2_A1.15_T6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBzdHJpbmcuY2hhckF0KGspIGVxdWFsICIlIiBhbmQgayArIDIgPj0gc3RyaW5nLmxlbmd0aCwgdGhyb3cgVVJJRXJyb3IKICoKICogQHBhdGggY2gxNS8xNS4xLzE1LjEuMy8xNS4xLjMuMi9TMTUuMS4zLjJfQTEuMV9UMS5qcwogKiBAZGVzY3JpcHRpb24gQ29tcGxleCB0ZXN0cwogKi8KCnJlc3VsdCA9IHRydWU7CgovL0NIRUNLIzEKdHJ5IHsKICBkZWNvZGVVUklDb21wb25lbnQoIiUiKTsKICByZXN1bHQgPSBmYWxzZTsKfSBjYXRjaChlKSB7CiAgaWYgKChlIGluc3RhbmNlb2YgVVJJRXJyb3IpICE9PSB0cnVlKSB7CiAgICByZXN1bHQgPSBmYWxzZTsKICB9Cn0KCi8vQ0hFQ0sjMgp0cnkgewogIGRlY29kZVVSSUNvbXBvbmVudCgiJUEiKTsKICByZXN1bHQgPSBmYWxzZTsKfSBjYXRjaChlKSB7CiAgaWYgKChlIGluc3RhbmNlb2YgVVJJRXJyb3IpICE9PSB0cnVlKSB7CiAgICByZXN1bHQgPSBmYWxzZTsKICB9Cn0KCi8vQ0hFQ0sjMwp0cnkgewogIGRlY29kZVVSSUNvbXBvbmVudCgiJTEiKTsKICByZXN1bHQgPSBmYWxzZTsKfSBjYXRjaChlKSB7CiAgaWYgKChlIGluc3RhbmNlb2YgVVJJRXJyb3IpICE9PSB0cnVlKSB7CiAgICByZXN1bHQgPSBmYWxzZTsKICB9Cn0KCi8vQ0hFQ0sjNAp0cnkgewogIGRlY29kZVVSSUNvbXBvbmVudCgiJSAiKTsKICByZXN1bHQgPSBmYWxzZTsKfSBjYXRjaChlKSB7CiAgaWYgKChlIGluc3RhbmNlb2YgVVJJRXJyb3IpICE9PSB0cnVlKSB7CiAgICByZXN1bHQgPSBmYWxzZTsKICB9Cn0KCmlmIChyZXN1bHQgIT09IHRydWUpIHsKICAkRVJST1IoJyMxOiBJZiBzdHJpbmcuY2hhckF0KGspIGVxdWFsICIlIiBhbmQgayArIDIgPj0gc3RyaW5nLmxlbmd0aCwgdGhyb3cgVVJJRXJyb3InKTsKfQoKCgoK","commentary":"If string.charAt(k) equal \"%\" and k + 2 >= string.length, throw URIError","description":"Complex tests","path":"TestCases/ch15/15.1/15.1.3/15.1.3.2/S15.1.3.2_A1.1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBCID0gc3RyaW5nLmNoYXJBdChrKzEpICsgc3RyaW5nLmNoYXJBdChrKzIpIGRvIG5vdCByZXByZXNlbnQKICogaGV4YWRlY2ltYWwgZGlnaXRzLCB0aHJvdyBVUklFcnJvcgogKgogKiBAcGF0aCBjaDE1LzE1LjEvMTUuMS4zLzE1LjEuMy4yL1MxNS4xLjMuMl9BMS4yX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBDb21wbGV4IHRlc3RzCiAqLwoKLy9DSEVDSwpyZXN1bHQgPSB0cnVlOwp2YXIgaW50ZXJ2YWwgPSBbWzB4MDAsIDB4MjldLCBbMHg0MCwweDQwXSwgWzB4NDcsIDB4NjBdLCBbMHg2NywgMHhGRkZGXV07CmZvciAoaW5kZXhJID0gMDsgaW5kZXhJIDwgaW50ZXJ2YWwubGVuZ3RoOyBpbmRleEkrKykgewogIGZvciAoaW5kZXhKID0gaW50ZXJ2YWxbaW5kZXhJXVswXTsgaW5kZXhKIDw9IGludGVydmFsW2luZGV4SV1bMV07IGluZGV4SisrKSB7CiAgICB0cnkgewogICAgICBkZWNvZGVVUklDb21wb25lbnQoIiUiICsgU3RyaW5nLmZyb21DaGFyQ29kZShpbmRleEopICsgIjEiKTsKICAgICAgcmVzdWx0ID0gZmFsc2U7CiAgICB9IGNhdGNoIChlKSB7ICAgCiAgICAgIGlmICgoZSBpbnN0YW5jZW9mIFVSSUVycm9yKSAhPT0gdHJ1ZSkgewogICAgICAgIHJlc3VsdCA9IGZhbHNlOwogICAgICB9CiAgICB9ICAgIAogIH0gIAp9ICAKCmlmIChyZXN1bHQgIT09IHRydWUpIHsgICAgCiAgJEVSUk9SKCcjMTogSWYgc3RyaW5nLmNoYXJBdChrKzEpIGRvZXMgbm90IHJlcHJlc2VudCBoZXhhZGVjaW1hbCBkaWdpdHMsIHRocm93IFVSSUVycm9yJyk7Cn0KCg==","commentary":"If B = string.charAt(k+1) + string.charAt(k+2) do not represent\nhexadecimal digits, throw URIError","description":"Complex tests","path":"TestCases/ch15/15.1/15.1.3/15.1.3.2/S15.1.3.2_A1.2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBCID0gc3RyaW5nLmNoYXJBdChrKzEpICsgc3RyaW5nLmNoYXJBdChrKzIpIGRvIG5vdCByZXByZXNlbnQKICogaGV4YWRlY2ltYWwgZGlnaXRzLCB0aHJvdyBVUklFcnJvcgogKgogKiBAcGF0aCBjaDE1LzE1LjEvMTUuMS4zLzE1LjEuMy4yL1MxNS4xLjMuMl9BMS4yX1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBDb21wbGV4IHRlc3RzCiAqLwoKLy9DSEVDSwpyZXN1bHQgPSB0cnVlOwp2YXIgaW50ZXJ2YWwgPSBbWzB4MDAsIDB4MjldLCBbMHg0MCwweDQwXSwgWzB4NDcsIDB4NjBdLCBbMHg2NywgMHhGRkZGXV07CmZvciAoaW5kZXhJID0gMDsgaW5kZXhJIDwgaW50ZXJ2YWwubGVuZ3RoOyBpbmRleEkrKykgewogIGZvciAoaW5kZXhKID0gaW50ZXJ2YWxbaW5kZXhJXVswXTsgaW5kZXhKIDw9IGludGVydmFsW2luZGV4SV1bMV07IGluZGV4SisrKSB7CiAgICB0cnkgewogICAgICBkZWNvZGVVUklDb21wb25lbnQoIiUiICsgIjEiICsgU3RyaW5nLmZyb21DaGFyQ29kZShpbmRleEopKTsKICAgICAgcmVzdWx0ID0gZmFsc2U7CiAgICB9IGNhdGNoIChlKSB7ICAgCiAgICAgIGlmICgoZSBpbnN0YW5jZW9mIFVSSUVycm9yKSAhPT0gdHJ1ZSkgewogICAgICAgIHJlc3VsdCA9IGZhbHNlOwogICAgICB9CiAgICB9ICAgICAgCiAgfSAgCn0gIAoKaWYgKHJlc3VsdCAhPT0gdHJ1ZSkgeyAgICAKICAkRVJST1IoJyMxOiBJZiBzdHJpbmcuY2hhckF0KGsrMikgZG9lcyBub3QgcmVwcmVzZW50IGhleGFkZWNpbWFsIGRpZ2l0cywgdGhyb3cgVVJJRXJyb3InKTsKfQoK","commentary":"If B = string.charAt(k+1) + string.charAt(k+2) do not represent\nhexadecimal digits, throw URIError","description":"Complex tests","path":"TestCases/ch15/15.1/15.1.3/15.1.3.2/S15.1.3.2_A1.2_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBCID0gMTB4eHh4eHggb3IgQiA9IDExMTExeHh4LCB0aHJvdyBVUklFcnJvcgogKgogKiBAcGF0aCBjaDE1LzE1LjEvMTUuMS4zLzE1LjEuMy4yL1MxNS4xLjMuMl9BMS4zX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBDb21wbGV4IHRlc3RzLiBCID0gMTB4eHh4eHggLT4gQiBpbiBbMHg4MCAtIDB4QkZdCiAqLwoKZXJyb3JDb3VudCA9IDA7CmNvdW50ID0gMDsKdmFyIGluZGV4UDsKdmFyIGluZGV4TyA9IDA7Cgpmb3IgKGluZGV4ID0gMHg4MDsgaW5kZXggPD0gMHhCRjsgaW5kZXgrKykgewogIGNvdW50Kys7IAogIGhleCA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleCk7CiAgdHJ5IHsKICAgIGRlY29kZVVSSUNvbXBvbmVudCgiJSIgKyBoZXguc3Vic3RyaW5nKDIpKTsKICB9IGNhdGNoIChlKSB7IAogICAgaWYgKChlIGluc3RhbmNlb2YgVVJJRXJyb3IpID09PSB0cnVlKSBjb250aW51ZTsgICAgICAgICAgICAgICAgCiAgfQogIGlmIChpbmRleE8gPT09IDApIHsgCiAgICBpbmRleE8gPSBpbmRleDsKICB9IGVsc2UgewogICAgaWYgKChpbmRleCAtIGluZGV4UCkgIT09IDEpIHsgICAgICAgICAgICAgCiAgICAgIGlmICgoaW5kZXhQIC0gaW5kZXhPKSAhPT0gMCkgewogICAgICAgIHZhciBoZXhQID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4UCk7CiAgICAgICAgdmFyIGhleE8gPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhPKTsKICAgICAgICAkRVJST1IoJyMnICsgaGV4TyArICctJyArIGhleFAgKyAnICcpOwogICAgICB9IAogICAgICBlbHNlIHsKICAgICAgICB2YXIgaGV4UCA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleFApOwogICAgICAgICRFUlJPUignIycgKyBoZXhQICsgJyAnKTsKICAgICAgfSAgCiAgICAgIGluZGV4TyA9IGluZGV4OwogICAgfSAgICAgICAgIAogIH0KICBpbmRleFAgPSBpbmRleDsKICBlcnJvckNvdW50Kys7ICAgICAgIAp9CgppZiAoZXJyb3JDb3VudCA+IDApIHsKICBpZiAoKGluZGV4UCAtIGluZGV4TykgIT09IDApIHsKICAgIHZhciBoZXhQID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4UCk7CiAgICB2YXIgaGV4TyA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleE8pOwogICAgJEVSUk9SKCcjJyArIGhleE8gKyAnLScgKyBoZXhQICsgJyAnKTsKICB9IGVsc2UgewogICAgdmFyIGhleFAgPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhQKTsKICAgICRFUlJPUignIycgKyBoZXhQICsgJyAnKTsKICB9ICAgICAKICAkRVJST1IoJ1RvdGFsIGVycm9yOiAnICsgZXJyb3JDb3VudCArICcgYmFkIFVuaWNvZGUgY2hhcmFjdGVyIGluICcgKyBjb3VudCArICcgJyk7Cn0KCmZ1bmN0aW9uIGRlY2ltYWxUb0hleFN0cmluZyhuKSB7CiAgbiA9IE51bWJlcihuKTsKICB2YXIgaCA9ICIiOwogIGZvciAodmFyIGkgPSAzOyBpID49IDA7IGktLSkgewogICAgaWYgKG4gPj0gTWF0aC5wb3coMTYsIGkpKSB7CiAgICAgIHZhciB0ID0gTWF0aC5mbG9vcihuIC8gTWF0aC5wb3coMTYsIGkpKTsKICAgICAgbiAtPSB0ICogTWF0aC5wb3coMTYsIGkpOwogICAgICBpZiAoIHQgPj0gMTAgKSB7CiAgICAgICAgaWYgKCB0ID09IDEwICkgeyBoICs9ICJBIjsgfQogICAgICAgIGlmICggdCA9PSAxMSApIHsgaCArPSAiQiI7IH0KICAgICAgICBpZiAoIHQgPT0gMTIgKSB7IGggKz0gIkMiOyB9CiAgICAgICAgaWYgKCB0ID09IDEzICkgeyBoICs9ICJEIjsgfQogICAgICAgIGlmICggdCA9PSAxNCApIHsgaCArPSAiRSI7IH0KICAgICAgICBpZiAoIHQgPT0gMTUgKSB7IGggKz0gIkYiOyB9CiAgICAgIH0gZWxzZSB7CiAgICAgICAgaCArPSBTdHJpbmcodCk7CiAgICAgIH0KICAgIH0gZWxzZSB7CiAgICAgIGggKz0gIjAiOwogICAgfQogIH0KICByZXR1cm4gaDsKfQoK","commentary":"If B = 10xxxxxx or B = 11111xxx, throw URIError","description":"Complex tests. B = 10xxxxxx -> B in [0x80 - 0xBF]","path":"TestCases/ch15/15.1/15.1.3/15.1.3.2/S15.1.3.2_A1.3_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBCID0gMTB4eHh4eHggb3IgQiA9IDExMTExeHh4LCB0aHJvdyBVUklFcnJvcgogKgogKiBAcGF0aCBjaDE1LzE1LjEvMTUuMS4zLzE1LjEuMy4yL1MxNS4xLjMuMl9BMS4zX1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBDb21wbGV4IHRlc3RzLiBCID0gMTExMTF4eHggLT4gQiBpbiBbMHhGOCAtIDB4RkZdCiAqLwoKZXJyb3JDb3VudCA9IDA7CmNvdW50ID0gMDsKdmFyIGluZGV4UDsKdmFyIGluZGV4TyA9IDA7Cgpmb3IgKGluZGV4ID0gMHhGODsgaW5kZXggPD0gMHhGRjsgaW5kZXgrKykgewogIGNvdW50Kys7IAogIGhleCA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleCk7CiAgdHJ5IHsKICAgIGRlY29kZVVSSUNvbXBvbmVudCgiJSIgKyBoZXguc3Vic3RyaW5nKDIpKTsKICB9IGNhdGNoIChlKSB7IAogICAgaWYgKChlIGluc3RhbmNlb2YgVVJJRXJyb3IpID09PSB0cnVlKSBjb250aW51ZTsgICAgICAgICAgICAgICAgCiAgfQogIGlmIChpbmRleE8gPT09IDApIHsgCiAgICBpbmRleE8gPSBpbmRleDsKICB9IGVsc2UgewogICAgaWYgKChpbmRleCAtIGluZGV4UCkgIT09IDEpIHsgICAgICAgICAgICAgCiAgICAgIGlmICgoaW5kZXhQIC0gaW5kZXhPKSAhPT0gMCkgewogICAgICAgIHZhciBoZXhQID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4UCk7CiAgICAgICAgdmFyIGhleE8gPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhPKTsKICAgICAgICAkRVJST1IoJyMnICsgaGV4TyArICctJyArIGhleFAgKyAnICcpOwogICAgICB9IAogICAgICBlbHNlIHsKICAgICAgICB2YXIgaGV4UCA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleFApOwogICAgICAgICRFUlJPUignIycgKyBoZXhQICsgJyAnKTsKICAgICAgfSAgCiAgICAgIGluZGV4TyA9IGluZGV4OwogICAgfSAgICAgICAgIAogIH0KICBpbmRleFAgPSBpbmRleDsKICBlcnJvckNvdW50Kys7ICAgICAgIAp9CgppZiAoZXJyb3JDb3VudCA+IDApIHsKICBpZiAoKGluZGV4UCAtIGluZGV4TykgIT09IDApIHsKICAgIHZhciBoZXhQID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4UCk7CiAgICB2YXIgaGV4TyA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleE8pOwogICAgJEVSUk9SKCcjJyArIGhleE8gKyAnLScgKyBoZXhQICsgJyAnKTsKICB9IGVsc2UgewogICAgdmFyIGhleFAgPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhQKTsKICAgICRFUlJPUignIycgKyBoZXhQICsgJyAnKTsKICB9ICAgICAKICAkRVJST1IoJ1RvdGFsIGVycm9yOiAnICsgZXJyb3JDb3VudCArICcgYmFkIFVuaWNvZGUgY2hhcmFjdGVyIGluICcgKyBjb3VudCArICcgJyk7Cn0KCmZ1bmN0aW9uIGRlY2ltYWxUb0hleFN0cmluZyhuKSB7CiAgbiA9IE51bWJlcihuKTsKICB2YXIgaCA9ICIiOwogIGZvciAodmFyIGkgPSAzOyBpID49IDA7IGktLSkgewogICAgaWYgKG4gPj0gTWF0aC5wb3coMTYsIGkpKSB7CiAgICAgIHZhciB0ID0gTWF0aC5mbG9vcihuIC8gTWF0aC5wb3coMTYsIGkpKTsKICAgICAgbiAtPSB0ICogTWF0aC5wb3coMTYsIGkpOwogICAgICBpZiAoIHQgPj0gMTAgKSB7CiAgICAgICAgaWYgKCB0ID09IDEwICkgeyBoICs9ICJBIjsgfQogICAgICAgIGlmICggdCA9PSAxMSApIHsgaCArPSAiQiI7IH0KICAgICAgICBpZiAoIHQgPT0gMTIgKSB7IGggKz0gIkMiOyB9CiAgICAgICAgaWYgKCB0ID09IDEzICkgeyBoICs9ICJEIjsgfQogICAgICAgIGlmICggdCA9PSAxNCApIHsgaCArPSAiRSI7IH0KICAgICAgICBpZiAoIHQgPT0gMTUgKSB7IGggKz0gIkYiOyB9CiAgICAgIH0gZWxzZSB7CiAgICAgICAgaCArPSBTdHJpbmcodCk7CiAgICAgIH0KICAgIH0gZWxzZSB7CiAgICAgIGggKz0gIjAiOwogICAgfQogIH0KICByZXR1cm4gaDsKfQoK","commentary":"If B = 10xxxxxx or B = 11111xxx, throw URIError","description":"Complex tests. B = 11111xxx -> B in [0xF8 - 0xFF]","path":"TestCases/ch15/15.1/15.1.3/15.1.3.2/S15.1.3.2_A1.3_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBCID0gMTEweHh4eHggKG4gPSAyKSBhbmQgKGsgKyAyKSArIDMgPj0gbGVuZ3RoLCB0aHJvdyBVUklFcnJvcgogKgogKiBAcGF0aCBjaDE1LzE1LjEvMTUuMS4zLzE1LjEuMy4yL1MxNS4xLjMuMl9BMS40X1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBDb21wbGV4IHRlc3RzLiBCID0gWzB4QzAgLSAweERGXQogKi8KCmVycm9yQ291bnQgPSAwOwpjb3VudCA9IDA7CnZhciBpbmRleFA7CnZhciBpbmRleE8gPSAwOwoKZm9yIChpbmRleCA9IDB4QzA7IGluZGV4IDw9IDB4REY7IGluZGV4KyspIHsKICBjb3VudCsrOyAKICBzdHIgPSAiIjsKICByZXN1bHQgPSB0cnVlOwogIGZvciAobGVuID0gMDsgbGVuIDwgMzsgbGVuKyspIHsKICAgIGhleCA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleCk7CiAgICB0cnkgewogICAgICBkZWNvZGVVUklDb21wb25lbnQoIiUiICsgaGV4LnN1YnN0cmluZygyKSArIHN0cik7ICAgICAgCiAgICB9IGNhdGNoIChlKSB7IAogICAgICBpZiAoKGUgaW5zdGFuY2VvZiBVUklFcnJvcikgPT09IHRydWUpIGNvbnRpbnVlOyAgICAgICAgICAgICAgICAKICAgIH0KICAgIHJlc3VsdCA9IGZhbHNlOwogICAgc3RyID0gc3RyICsgIjEiOwogIH0KICBpZiAocmVzdWx0ICE9PSB0cnVlKSB7CiAgICBpZiAoaW5kZXhPID09PSAwKSB7IAogICAgICBpbmRleE8gPSBpbmRleDsKICAgIH0gZWxzZSB7CiAgICAgIGlmICgoaW5kZXggLSBpbmRleFApICE9PSAxKSB7ICAgICAgICAgICAgIAogICAgICAgIGlmICgoaW5kZXhQIC0gaW5kZXhPKSAhPT0gMCkgewogICAgICAgICAgdmFyIGhleFAgPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhQKTsKICAgICAgICAgIHZhciBoZXhPID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4Tyk7CiAgICAgICAgICAkRVJST1IoJyMnICsgaGV4TyArICctJyArIGhleFAgKyAnICcpOwogICAgICAgIH0gCiAgICAgICAgZWxzZSB7CiAgICAgICAgICB2YXIgaGV4UCA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleFApOwogICAgICAgICAgJEVSUk9SKCcjJyArIGhleFAgKyAnICcpOwogICAgICAgIH0gIAogICAgICAgIGluZGV4TyA9IGluZGV4OwogICAgICB9ICAgICAgICAgCiAgICB9CiAgICBpbmRleFAgPSBpbmRleDsKICAgIGVycm9yQ291bnQrKzsgICAgICAKICB9IAp9CgppZiAoZXJyb3JDb3VudCA+IDApIHsKICBpZiAoKGluZGV4UCAtIGluZGV4TykgIT09IDApIHsKICAgIHZhciBoZXhQID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4UCk7CiAgICB2YXIgaGV4TyA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleE8pOwogICAgJEVSUk9SKCcjJyArIGhleE8gKyAnLScgKyBoZXhQICsgJyAnKTsKICB9IGVsc2UgewogICAgdmFyIGhleFAgPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhQKTsKICAgICRFUlJPUignIycgKyBoZXhQICsgJyAnKTsKICB9ICAgICAKICAkRVJST1IoJ1RvdGFsIGVycm9yOiAnICsgZXJyb3JDb3VudCArICcgYmFkIFVuaWNvZGUgY2hhcmFjdGVyIGluICcgKyBjb3VudCArICcgJyk7Cn0KCmZ1bmN0aW9uIGRlY2ltYWxUb0hleFN0cmluZyhuKSB7CiAgbiA9IE51bWJlcihuKTsKICB2YXIgaCA9ICIiOwogIGZvciAodmFyIGkgPSAzOyBpID49IDA7IGktLSkgewogICAgaWYgKG4gPj0gTWF0aC5wb3coMTYsIGkpKSB7CiAgICAgIHZhciB0ID0gTWF0aC5mbG9vcihuIC8gTWF0aC5wb3coMTYsIGkpKTsKICAgICAgbiAtPSB0ICogTWF0aC5wb3coMTYsIGkpOwogICAgICBpZiAoIHQgPj0gMTAgKSB7CiAgICAgICAgaWYgKCB0ID09IDEwICkgeyBoICs9ICJBIjsgfQogICAgICAgIGlmICggdCA9PSAxMSApIHsgaCArPSAiQiI7IH0KICAgICAgICBpZiAoIHQgPT0gMTIgKSB7IGggKz0gIkMiOyB9CiAgICAgICAgaWYgKCB0ID09IDEzICkgeyBoICs9ICJEIjsgfQogICAgICAgIGlmICggdCA9PSAxNCApIHsgaCArPSAiRSI7IH0KICAgICAgICBpZiAoIHQgPT0gMTUgKSB7IGggKz0gIkYiOyB9CiAgICAgIH0gZWxzZSB7CiAgICAgICAgaCArPSBTdHJpbmcodCk7CiAgICAgIH0KICAgIH0gZWxzZSB7CiAgICAgIGggKz0gIjAiOwogICAgfQogIH0KICByZXR1cm4gaDsKfQoK","commentary":"If B = 110xxxxx (n = 2) and (k + 2) + 3 >= length, throw URIError","description":"Complex tests. B = [0xC0 - 0xDF]","path":"TestCases/ch15/15.1/15.1.3/15.1.3.2/S15.1.3.2_A1.4_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBCID0gMTExMHh4eHggKG4gPSAzKSBhbmQgKGsgKyAyKSArIDYgPj0gbGVuZ3RoLCB0aHJvdyBVUklFcnJvcgogKgogKiBAcGF0aCBjaDE1LzE1LjEvMTUuMS4zLzE1LjEuMy4yL1MxNS4xLjMuMl9BMS41X1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBDb21wbGV4IHRlc3RzLiBCID0gWzB4RTAgLSAweEVGXQogKi8KCmVycm9yQ291bnQgPSAwOwpjb3VudCA9IDA7CnZhciBpbmRleFA7CnZhciBpbmRleE8gPSAwOwoKZm9yIChpbmRleCA9IDB4RTA7IGluZGV4IDw9IDB4RUY7IGluZGV4KyspIHsKICBjb3VudCsrOyAKICBzdHIgPSAiIjsKICByZXN1bHQgPSB0cnVlOwogIGZvciAobGVuID0gMDsgbGVuIDwgNjsgbGVuKyspIHsKICAgIGhleCA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleCk7CiAgICB0cnkgewogICAgICBkZWNvZGVVUklDb21wb25lbnQoIiUiICsgaGV4LnN1YnN0cmluZygyKSArIHN0cik7ICAgICAgCiAgICB9IGNhdGNoIChlKSB7IAogICAgICBpZiAoKGUgaW5zdGFuY2VvZiBVUklFcnJvcikgPT09IHRydWUpIGNvbnRpbnVlOyAgICAgICAgICAgICAgICAKICAgIH0KICAgIHJlc3VsdCA9IGZhbHNlOwogICAgc3RyID0gc3RyICsgIjEiOwogIH0KICBpZiAocmVzdWx0ICE9PSB0cnVlKSB7CiAgICBpZiAoaW5kZXhPID09PSAwKSB7IAogICAgICBpbmRleE8gPSBpbmRleDsKICAgIH0gZWxzZSB7CiAgICAgIGlmICgoaW5kZXggLSBpbmRleFApICE9PSAxKSB7ICAgICAgICAgICAgIAogICAgICAgIGlmICgoaW5kZXhQIC0gaW5kZXhPKSAhPT0gMCkgewogICAgICAgICAgdmFyIGhleFAgPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhQKTsKICAgICAgICAgIHZhciBoZXhPID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4Tyk7CiAgICAgICAgICAkRVJST1IoJyMnICsgaGV4TyArICctJyArIGhleFAgKyAnICcpOwogICAgICAgIH0gCiAgICAgICAgZWxzZSB7CiAgICAgICAgICB2YXIgaGV4UCA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleFApOwogICAgICAgICAgJEVSUk9SKCcjJyArIGhleFAgKyAnICcpOwogICAgICAgIH0gIAogICAgICAgIGluZGV4TyA9IGluZGV4OwogICAgICB9ICAgICAgICAgCiAgICB9CiAgICBpbmRleFAgPSBpbmRleDsKICAgIGVycm9yQ291bnQrKzsgICAgICAKICB9IAp9CgppZiAoZXJyb3JDb3VudCA+IDApIHsKICBpZiAoKGluZGV4UCAtIGluZGV4TykgIT09IDApIHsKICAgIHZhciBoZXhQID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4UCk7CiAgICB2YXIgaGV4TyA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleE8pOwogICAgJEVSUk9SKCcjJyArIGhleE8gKyAnLScgKyBoZXhQICsgJyAnKTsKICB9IGVsc2UgewogICAgdmFyIGhleFAgPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhQKTsKICAgICRFUlJPUignIycgKyBoZXhQICsgJyAnKTsKICB9ICAgICAKICAkRVJST1IoJ1RvdGFsIGVycm9yOiAnICsgZXJyb3JDb3VudCArICcgYmFkIFVuaWNvZGUgY2hhcmFjdGVyIGluICcgKyBjb3VudCArICcgJyk7Cn0KCmZ1bmN0aW9uIGRlY2ltYWxUb0hleFN0cmluZyhuKSB7CiAgbiA9IE51bWJlcihuKTsKICB2YXIgaCA9ICIiOwogIGZvciAodmFyIGkgPSAzOyBpID49IDA7IGktLSkgewogICAgaWYgKG4gPj0gTWF0aC5wb3coMTYsIGkpKSB7CiAgICAgIHZhciB0ID0gTWF0aC5mbG9vcihuIC8gTWF0aC5wb3coMTYsIGkpKTsKICAgICAgbiAtPSB0ICogTWF0aC5wb3coMTYsIGkpOwogICAgICBpZiAoIHQgPj0gMTAgKSB7CiAgICAgICAgaWYgKCB0ID09IDEwICkgeyBoICs9ICJBIjsgfQogICAgICAgIGlmICggdCA9PSAxMSApIHsgaCArPSAiQiI7IH0KICAgICAgICBpZiAoIHQgPT0gMTIgKSB7IGggKz0gIkMiOyB9CiAgICAgICAgaWYgKCB0ID09IDEzICkgeyBoICs9ICJEIjsgfQogICAgICAgIGlmICggdCA9PSAxNCApIHsgaCArPSAiRSI7IH0KICAgICAgICBpZiAoIHQgPT0gMTUgKSB7IGggKz0gIkYiOyB9CiAgICAgIH0gZWxzZSB7CiAgICAgICAgaCArPSBTdHJpbmcodCk7CiAgICAgIH0KICAgIH0gZWxzZSB7CiAgICAgIGggKz0gIjAiOwogICAgfQogIH0KICByZXR1cm4gaDsKfQoK","commentary":"If B = 1110xxxx (n = 3) and (k + 2) + 6 >= length, throw URIError","description":"Complex tests. B = [0xE0 - 0xEF]","path":"TestCases/ch15/15.1/15.1.3/15.1.3.2/S15.1.3.2_A1.5_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBCID0gMTExMTB4eHggKG4gPSA0KSBhbmQgKGsgKyAyKSArIDkgPj0gbGVuZ3RoLCB0aHJvdyBVUklFcnJvcgogKgogKiBAcGF0aCBjaDE1LzE1LjEvMTUuMS4zLzE1LjEuMy4yL1MxNS4xLjMuMl9BMS42X1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBDb21wbGV4IHRlc3RzLiBCID0gWzB4RjAgLSAweEY3XQogKi8KCmVycm9yQ291bnQgPSAwOwpjb3VudCA9IDA7CnZhciBpbmRleFA7CnZhciBpbmRleE8gPSAwOwoKZm9yIChpbmRleCA9IDB4RjA7IGluZGV4IDw9IDB4Rjc7IGluZGV4KyspIHsKICBjb3VudCsrOyAKICBzdHIgPSAiIjsKICByZXN1bHQgPSB0cnVlOwogIGZvciAobGVuID0gMDsgbGVuIDwgOTsgbGVuKyspIHsKICAgIGhleCA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleCk7CiAgICB0cnkgewogICAgICBkZWNvZGVVUklDb21wb25lbnQoIiUiICsgaGV4LnN1YnN0cmluZygyKSArIHN0cik7ICAgICAgCiAgICB9IGNhdGNoIChlKSB7IAogICAgICBpZiAoKGUgaW5zdGFuY2VvZiBVUklFcnJvcikgPT09IHRydWUpIGNvbnRpbnVlOyAgICAgICAgICAgICAgICAKICAgIH0KICAgIHJlc3VsdCA9IGZhbHNlOwogICAgc3RyID0gc3RyICsgIjEiOwogIH0KICBpZiAocmVzdWx0ICE9PSB0cnVlKSB7CiAgICBpZiAoaW5kZXhPID09PSAwKSB7IAogICAgICBpbmRleE8gPSBpbmRleDsKICAgIH0gZWxzZSB7CiAgICAgIGlmICgoaW5kZXggLSBpbmRleFApICE9PSAxKSB7ICAgICAgICAgICAgIAogICAgICAgIGlmICgoaW5kZXhQIC0gaW5kZXhPKSAhPT0gMCkgewogICAgICAgICAgdmFyIGhleFAgPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhQKTsKICAgICAgICAgIHZhciBoZXhPID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4Tyk7CiAgICAgICAgICAkRVJST1IoJyMnICsgaGV4TyArICctJyArIGhleFAgKyAnICcpOwogICAgICAgIH0gCiAgICAgICAgZWxzZSB7CiAgICAgICAgICB2YXIgaGV4UCA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleFApOwogICAgICAgICAgJEVSUk9SKCcjJyArIGhleFAgKyAnICcpOwogICAgICAgIH0gIAogICAgICAgIGluZGV4TyA9IGluZGV4OwogICAgICB9ICAgICAgICAgCiAgICB9CiAgICBpbmRleFAgPSBpbmRleDsKICAgIGVycm9yQ291bnQrKzsgICAgICAKICB9IAp9CgppZiAoZXJyb3JDb3VudCA+IDApIHsKICBpZiAoKGluZGV4UCAtIGluZGV4TykgIT09IDApIHsKICAgIHZhciBoZXhQID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4UCk7CiAgICB2YXIgaGV4TyA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleE8pOwogICAgJEVSUk9SKCcjJyArIGhleE8gKyAnLScgKyBoZXhQICsgJyAnKTsKICB9IGVsc2UgewogICAgdmFyIGhleFAgPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhQKTsKICAgICRFUlJPUignIycgKyBoZXhQICsgJyAnKTsKICB9ICAgICAKICAkRVJST1IoJ1RvdGFsIGVycm9yOiAnICsgZXJyb3JDb3VudCArICcgYmFkIFVuaWNvZGUgY2hhcmFjdGVyIGluICcgKyBjb3VudCArICcgJyk7Cn0KCmZ1bmN0aW9uIGRlY2ltYWxUb0hleFN0cmluZyhuKSB7CiAgbiA9IE51bWJlcihuKTsKICB2YXIgaCA9ICIiOwogIGZvciAodmFyIGkgPSAzOyBpID49IDA7IGktLSkgewogICAgaWYgKG4gPj0gTWF0aC5wb3coMTYsIGkpKSB7CiAgICAgIHZhciB0ID0gTWF0aC5mbG9vcihuIC8gTWF0aC5wb3coMTYsIGkpKTsKICAgICAgbiAtPSB0ICogTWF0aC5wb3coMTYsIGkpOwogICAgICBpZiAoIHQgPj0gMTAgKSB7CiAgICAgICAgaWYgKCB0ID09IDEwICkgeyBoICs9ICJBIjsgfQogICAgICAgIGlmICggdCA9PSAxMSApIHsgaCArPSAiQiI7IH0KICAgICAgICBpZiAoIHQgPT0gMTIgKSB7IGggKz0gIkMiOyB9CiAgICAgICAgaWYgKCB0ID09IDEzICkgeyBoICs9ICJEIjsgfQogICAgICAgIGlmICggdCA9PSAxNCApIHsgaCArPSAiRSI7IH0KICAgICAgICBpZiAoIHQgPT0gMTUgKSB7IGggKz0gIkYiOyB9CiAgICAgIH0gZWxzZSB7CiAgICAgICAgaCArPSBTdHJpbmcodCk7CiAgICAgIH0KICAgIH0gZWxzZSB7CiAgICAgIGggKz0gIjAiOwogICAgfQogIH0KICByZXR1cm4gaDsKfQoK","commentary":"If B = 11110xxx (n = 4) and (k + 2) + 9 >= length, throw URIError","description":"Complex tests. B = [0xF0 - 0xF7]","path":"TestCases/ch15/15.1/15.1.3/15.1.3.2/S15.1.3.2_A1.6_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBCID0gMTEweHh4eHggKG4gPSAyKSBhbmQgc3RyaW5nLmNoYXJBdChrICsgMykgbm90IGVxdWFsICIlIiwgdGhyb3cgVVJJRXJyb3IKICoKICogQHBhdGggY2gxNS8xNS4xLzE1LjEuMy8xNS4xLjMuMi9TMTUuMS4zLjJfQTEuN19UMS5qcwogKiBAZGVzY3JpcHRpb24gQ29tcGxleCB0ZXN0cy4gQiA9IFsweEMwIC0gMHhERl0KICovCgplcnJvckNvdW50ID0gMDsKY291bnQgPSAwOwp2YXIgaW5kZXhQOwp2YXIgaW5kZXhPID0gMDsKCmZvciAoaW5kZXggPSAweEMwOyBpbmRleCA8PSAweERGOyBpbmRleCsrKSB7CiAgY291bnQrKzsgCiAgaGV4ID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4KTsKICB0cnkgewogICAgZGVjb2RlVVJJQ29tcG9uZW50KCIlIiArIGhleC5zdWJzdHJpbmcoMikgKyAiMTExIik7CiAgfSBjYXRjaCAoZSkgeyAKICAgIGlmICgoZSBpbnN0YW5jZW9mIFVSSUVycm9yKSA9PT0gdHJ1ZSkgY29udGludWU7ICAgICAgICAgICAgICAgIAogIH0KICBpZiAoaW5kZXhPID09PSAwKSB7IAogICAgaW5kZXhPID0gaW5kZXg7CiAgfSBlbHNlIHsKICAgIGlmICgoaW5kZXggLSBpbmRleFApICE9PSAxKSB7ICAgICAgICAgICAgIAogICAgICBpZiAoKGluZGV4UCAtIGluZGV4TykgIT09IDApIHsKICAgICAgICB2YXIgaGV4UCA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleFApOwogICAgICAgIHZhciBoZXhPID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4Tyk7CiAgICAgICAgJEVSUk9SKCcjJyArIGhleE8gKyAnLScgKyBoZXhQICsgJyAnKTsKICAgICAgfSAKICAgICAgZWxzZSB7CiAgICAgICAgdmFyIGhleFAgPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhQKTsKICAgICAgICAkRVJST1IoJyMnICsgaGV4UCArICcgJyk7CiAgICAgIH0gIAogICAgICBpbmRleE8gPSBpbmRleDsKICAgIH0gICAgICAgICAKICB9CiAgaW5kZXhQID0gaW5kZXg7CiAgZXJyb3JDb3VudCsrOyAgICAgICAKfQoKaWYgKGVycm9yQ291bnQgPiAwKSB7CiAgaWYgKChpbmRleFAgLSBpbmRleE8pICE9PSAwKSB7CiAgICB2YXIgaGV4UCA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleFApOwogICAgdmFyIGhleE8gPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhPKTsKICAgICRFUlJPUignIycgKyBoZXhPICsgJy0nICsgaGV4UCArICcgJyk7CiAgfSBlbHNlIHsKICAgIHZhciBoZXhQID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4UCk7CiAgICAkRVJST1IoJyMnICsgaGV4UCArICcgJyk7CiAgfSAgICAgCiAgJEVSUk9SKCdUb3RhbCBlcnJvcjogJyArIGVycm9yQ291bnQgKyAnIGJhZCBVbmljb2RlIGNoYXJhY3RlciBpbiAnICsgY291bnQgKyAnICcpOwp9CgpmdW5jdGlvbiBkZWNpbWFsVG9IZXhTdHJpbmcobikgewogIG4gPSBOdW1iZXIobik7CiAgdmFyIGggPSAiIjsKICBmb3IgKHZhciBpID0gMzsgaSA+PSAwOyBpLS0pIHsKICAgIGlmIChuID49IE1hdGgucG93KDE2LCBpKSkgewogICAgICB2YXIgdCA9IE1hdGguZmxvb3IobiAvIE1hdGgucG93KDE2LCBpKSk7CiAgICAgIG4gLT0gdCAqIE1hdGgucG93KDE2LCBpKTsKICAgICAgaWYgKCB0ID49IDEwICkgewogICAgICAgIGlmICggdCA9PSAxMCApIHsgaCArPSAiQSI7IH0KICAgICAgICBpZiAoIHQgPT0gMTEgKSB7IGggKz0gIkIiOyB9CiAgICAgICAgaWYgKCB0ID09IDEyICkgeyBoICs9ICJDIjsgfQogICAgICAgIGlmICggdCA9PSAxMyApIHsgaCArPSAiRCI7IH0KICAgICAgICBpZiAoIHQgPT0gMTQgKSB7IGggKz0gIkUiOyB9CiAgICAgICAgaWYgKCB0ID09IDE1ICkgeyBoICs9ICJGIjsgfQogICAgICB9IGVsc2UgewogICAgICAgIGggKz0gU3RyaW5nKHQpOwogICAgICB9CiAgICB9IGVsc2UgewogICAgICBoICs9ICIwIjsKICAgIH0KICB9CiAgcmV0dXJuIGg7Cn0KCg==","commentary":"If B = 110xxxxx (n = 2) and string.charAt(k + 3) not equal \"%\", throw URIError","description":"Complex tests. B = [0xC0 - 0xDF]","path":"TestCases/ch15/15.1/15.1.3/15.1.3.2/S15.1.3.2_A1.7_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBCID0gMTExMHh4eHggKG4gPSAzKSBhbmQgc3RyaW5nLmNoYXJBdChrICsgMyksCiAqIHN0cmluZy5jaGFyQXQoayArIDYpIG5vdCBlcXVhbCAiJSIsIHRocm93IFVSSUVycm9yCiAqCiAqIEBwYXRoIGNoMTUvMTUuMS8xNS4xLjMvMTUuMS4zLjIvUzE1LjEuMy4yX0ExLjhfVDEuanMKICogQGRlc2NyaXB0aW9uIENvbXBsZXggdGVzdHMuIEIgPSBbMHhFMCAtIDB4RUZdLAogKiBzdHJpbmcuY2hhckF0KGsgKyAzKSBub3QgZXF1YWwgIiUiCiAqLwoKZXJyb3JDb3VudCA9IDA7CmNvdW50ID0gMDsKdmFyIGluZGV4UDsKdmFyIGluZGV4TyA9IDA7Cgpmb3IgKGluZGV4ID0gMHhFMDsgaW5kZXggPD0gMHhFRjsgaW5kZXgrKykgewogIGNvdW50Kys7IAogIGhleCA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleCk7CiAgdHJ5IHsKICAgIGRlY29kZVVSSUNvbXBvbmVudCgiJSIgKyBoZXguc3Vic3RyaW5nKDIpICsgIjExMSVBMCIpOwogIH0gY2F0Y2ggKGUpIHsgCiAgICBpZiAoKGUgaW5zdGFuY2VvZiBVUklFcnJvcikgPT09IHRydWUpIGNvbnRpbnVlOyAgICAgICAgICAgICAgICAKICB9CiAgaWYgKGluZGV4TyA9PT0gMCkgeyAKICAgIGluZGV4TyA9IGluZGV4OwogIH0gZWxzZSB7CiAgICBpZiAoKGluZGV4IC0gaW5kZXhQKSAhPT0gMSkgeyAgICAgICAgICAgICAKICAgICAgaWYgKChpbmRleFAgLSBpbmRleE8pICE9PSAwKSB7CiAgICAgICAgdmFyIGhleFAgPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhQKTsKICAgICAgICB2YXIgaGV4TyA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleE8pOwogICAgICAgICRFUlJPUignIycgKyBoZXhPICsgJy0nICsgaGV4UCArICcgJyk7CiAgICAgIH0gCiAgICAgIGVsc2UgewogICAgICAgIHZhciBoZXhQID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4UCk7CiAgICAgICAgJEVSUk9SKCcjJyArIGhleFAgKyAnICcpOwogICAgICB9ICAKICAgICAgaW5kZXhPID0gaW5kZXg7CiAgICB9ICAgICAgICAgCiAgfQogIGluZGV4UCA9IGluZGV4OwogIGVycm9yQ291bnQrKzsgICAgICAgCn0KCmlmIChlcnJvckNvdW50ID4gMCkgewogIGlmICgoaW5kZXhQIC0gaW5kZXhPKSAhPT0gMCkgewogICAgdmFyIGhleFAgPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhQKTsKICAgIHZhciBoZXhPID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4Tyk7CiAgICAkRVJST1IoJyMnICsgaGV4TyArICctJyArIGhleFAgKyAnICcpOwogIH0gZWxzZSB7CiAgICB2YXIgaGV4UCA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleFApOwogICAgJEVSUk9SKCcjJyArIGhleFAgKyAnICcpOwogIH0gICAgIAogICRFUlJPUignVG90YWwgZXJyb3I6ICcgKyBlcnJvckNvdW50ICsgJyBiYWQgVW5pY29kZSBjaGFyYWN0ZXIgaW4gJyArIGNvdW50ICsgJyAnKTsKfQoKZnVuY3Rpb24gZGVjaW1hbFRvSGV4U3RyaW5nKG4pIHsKICBuID0gTnVtYmVyKG4pOwogIHZhciBoID0gIiI7CiAgZm9yICh2YXIgaSA9IDM7IGkgPj0gMDsgaS0tKSB7CiAgICBpZiAobiA+PSBNYXRoLnBvdygxNiwgaSkpIHsKICAgICAgdmFyIHQgPSBNYXRoLmZsb29yKG4gLyBNYXRoLnBvdygxNiwgaSkpOwogICAgICBuIC09IHQgKiBNYXRoLnBvdygxNiwgaSk7CiAgICAgIGlmICggdCA+PSAxMCApIHsKICAgICAgICBpZiAoIHQgPT0gMTAgKSB7IGggKz0gIkEiOyB9CiAgICAgICAgaWYgKCB0ID09IDExICkgeyBoICs9ICJCIjsgfQogICAgICAgIGlmICggdCA9PSAxMiApIHsgaCArPSAiQyI7IH0KICAgICAgICBpZiAoIHQgPT0gMTMgKSB7IGggKz0gIkQiOyB9CiAgICAgICAgaWYgKCB0ID09IDE0ICkgeyBoICs9ICJFIjsgfQogICAgICAgIGlmICggdCA9PSAxNSApIHsgaCArPSAiRiI7IH0KICAgICAgfSBlbHNlIHsKICAgICAgICBoICs9IFN0cmluZyh0KTsKICAgICAgfQogICAgfSBlbHNlIHsKICAgICAgaCArPSAiMCI7CiAgICB9CiAgfQogIHJldHVybiBoOwp9Cgo=","commentary":"If B = 1110xxxx (n = 3) and string.charAt(k + 3),\nstring.charAt(k + 6) not equal \"%\", throw URIError","description":"Complex tests. B = [0xE0 - 0xEF],\nstring.charAt(k + 3) not equal \"%\"","path":"TestCases/ch15/15.1/15.1.3/15.1.3.2/S15.1.3.2_A1.8_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBCID0gMTExMHh4eHggKG4gPSAzKSBhbmQgc3RyaW5nLmNoYXJBdChrICsgMyksCiAqIHN0cmluZy5jaGFyQXQoayArIDYpIG5vdCBlcXVhbCAiJSIsIHRocm93IFVSSUVycm9yCiAqCiAqIEBwYXRoIGNoMTUvMTUuMS8xNS4xLjMvMTUuMS4zLjIvUzE1LjEuMy4yX0ExLjhfVDIuanMKICogQGRlc2NyaXB0aW9uIENvbXBsZXggdGVzdHMuIEIgPSBbMHhFMCAtIDB4RUZdLAogKiBzdHJpbmcuY2hhckF0KGsgKyA2KSBub3QgZXF1YWwgIiUiCiAqLwoKZXJyb3JDb3VudCA9IDA7CmNvdW50ID0gMDsKdmFyIGluZGV4UDsKdmFyIGluZGV4TyA9IDA7Cgpmb3IgKGluZGV4ID0gMHhFMDsgaW5kZXggPD0gMHhFRjsgaW5kZXgrKykgewogIGNvdW50Kys7IAogIGhleCA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleCk7CiAgdHJ5IHsKICAgIGRlY29kZVVSSUNvbXBvbmVudCgiJSIgKyBoZXguc3Vic3RyaW5nKDIpICsgIiVBMDExMSIpOwogIH0gY2F0Y2ggKGUpIHsgCiAgICBpZiAoKGUgaW5zdGFuY2VvZiBVUklFcnJvcikgPT09IHRydWUpIGNvbnRpbnVlOyAgICAgICAgICAgICAgICAKICB9CiAgaWYgKGluZGV4TyA9PT0gMCkgeyAKICAgIGluZGV4TyA9IGluZGV4OwogIH0gZWxzZSB7CiAgICBpZiAoKGluZGV4IC0gaW5kZXhQKSAhPT0gMSkgeyAgICAgICAgICAgICAKICAgICAgaWYgKChpbmRleFAgLSBpbmRleE8pICE9PSAwKSB7CiAgICAgICAgdmFyIGhleFAgPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhQKTsKICAgICAgICB2YXIgaGV4TyA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleE8pOwogICAgICAgICRFUlJPUignIycgKyBoZXhPICsgJy0nICsgaGV4UCArICcgJyk7CiAgICAgIH0gCiAgICAgIGVsc2UgewogICAgICAgIHZhciBoZXhQID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4UCk7CiAgICAgICAgJEVSUk9SKCcjJyArIGhleFAgKyAnICcpOwogICAgICB9ICAKICAgICAgaW5kZXhPID0gaW5kZXg7CiAgICB9ICAgICAgICAgCiAgfQogIGluZGV4UCA9IGluZGV4OwogIGVycm9yQ291bnQrKzsgICAgICAgCn0KCmlmIChlcnJvckNvdW50ID4gMCkgewogIGlmICgoaW5kZXhQIC0gaW5kZXhPKSAhPT0gMCkgewogICAgdmFyIGhleFAgPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhQKTsKICAgIHZhciBoZXhPID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4Tyk7CiAgICAkRVJST1IoJyMnICsgaGV4TyArICctJyArIGhleFAgKyAnICcpOwogIH0gZWxzZSB7CiAgICB2YXIgaGV4UCA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleFApOwogICAgJEVSUk9SKCcjJyArIGhleFAgKyAnICcpOwogIH0gICAgIAogICRFUlJPUignVG90YWwgZXJyb3I6ICcgKyBlcnJvckNvdW50ICsgJyBiYWQgVW5pY29kZSBjaGFyYWN0ZXIgaW4gJyArIGNvdW50ICsgJyAnKTsKfQoKZnVuY3Rpb24gZGVjaW1hbFRvSGV4U3RyaW5nKG4pIHsKICBuID0gTnVtYmVyKG4pOwogIHZhciBoID0gIiI7CiAgZm9yICh2YXIgaSA9IDM7IGkgPj0gMDsgaS0tKSB7CiAgICBpZiAobiA+PSBNYXRoLnBvdygxNiwgaSkpIHsKICAgICAgdmFyIHQgPSBNYXRoLmZsb29yKG4gLyBNYXRoLnBvdygxNiwgaSkpOwogICAgICBuIC09IHQgKiBNYXRoLnBvdygxNiwgaSk7CiAgICAgIGlmICggdCA+PSAxMCApIHsKICAgICAgICBpZiAoIHQgPT0gMTAgKSB7IGggKz0gIkEiOyB9CiAgICAgICAgaWYgKCB0ID09IDExICkgeyBoICs9ICJCIjsgfQogICAgICAgIGlmICggdCA9PSAxMiApIHsgaCArPSAiQyI7IH0KICAgICAgICBpZiAoIHQgPT0gMTMgKSB7IGggKz0gIkQiOyB9CiAgICAgICAgaWYgKCB0ID09IDE0ICkgeyBoICs9ICJFIjsgfQogICAgICAgIGlmICggdCA9PSAxNSApIHsgaCArPSAiRiI7IH0KICAgICAgfSBlbHNlIHsKICAgICAgICBoICs9IFN0cmluZyh0KTsKICAgICAgfQogICAgfSBlbHNlIHsKICAgICAgaCArPSAiMCI7CiAgICB9CiAgfQogIHJldHVybiBoOwp9Cgo=","commentary":"If B = 1110xxxx (n = 3) and string.charAt(k + 3),\nstring.charAt(k + 6) not equal \"%\", throw URIError","description":"Complex tests. B = [0xE0 - 0xEF],\nstring.charAt(k + 6) not equal \"%\"","path":"TestCases/ch15/15.1/15.1.3/15.1.3.2/S15.1.3.2_A1.8_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBCID0gMTExMTB4eHggKG4gPSA0KSBhbmQgc3RyaW5nLmNoYXJBdChrICsgMyksCiAqIHN0cmluZy5jaGFyQXQoayArIDYpLCBzdHJpbmcuY2hhckF0KGsgKyA5KSBub3QgZXF1YWwgIiUiLCB0aHJvdyBVUklFcnJvcgogKgogKiBAcGF0aCBjaDE1LzE1LjEvMTUuMS4zLzE1LjEuMy4yL1MxNS4xLjMuMl9BMS45X1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBDb21wbGV4IHRlc3RzLiBCID0gWzB4RjAgLSAweDBGN10sCiAqIHN0cmluZy5jaGFyQXQoayArIDMpIG5vdCBlcXVhbCAiJSIKICovCgplcnJvckNvdW50ID0gMDsKY291bnQgPSAwOwp2YXIgaW5kZXhQOwp2YXIgaW5kZXhPID0gMDsKCmZvciAoaW5kZXggPSAweEYwOyBpbmRleCA8PSAweEY3OyBpbmRleCsrKSB7CiAgY291bnQrKzsgCiAgaGV4ID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4KTsKICB0cnkgewogICAgZGVjb2RlVVJJQ29tcG9uZW50KCIlIiArIGhleC5zdWJzdHJpbmcoMikgKyAiMTExJUEwJUEwIik7CiAgfSBjYXRjaCAoZSkgeyAKICAgIGlmICgoZSBpbnN0YW5jZW9mIFVSSUVycm9yKSA9PT0gdHJ1ZSkgY29udGludWU7ICAgICAgICAgICAgICAgIAogIH0KICBpZiAoaW5kZXhPID09PSAwKSB7IAogICAgaW5kZXhPID0gaW5kZXg7CiAgfSBlbHNlIHsKICAgIGlmICgoaW5kZXggLSBpbmRleFApICE9PSAxKSB7ICAgICAgICAgICAgIAogICAgICBpZiAoKGluZGV4UCAtIGluZGV4TykgIT09IDApIHsKICAgICAgICB2YXIgaGV4UCA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleFApOwogICAgICAgIHZhciBoZXhPID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4Tyk7CiAgICAgICAgJEVSUk9SKCcjJyArIGhleE8gKyAnLScgKyBoZXhQICsgJyAnKTsKICAgICAgfSAKICAgICAgZWxzZSB7CiAgICAgICAgdmFyIGhleFAgPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhQKTsKICAgICAgICAkRVJST1IoJyMnICsgaGV4UCArICcgJyk7CiAgICAgIH0gIAogICAgICBpbmRleE8gPSBpbmRleDsKICAgIH0gICAgICAgICAKICB9CiAgaW5kZXhQID0gaW5kZXg7CiAgZXJyb3JDb3VudCsrOyAgICAgICAKfQoKaWYgKGVycm9yQ291bnQgPiAwKSB7CiAgaWYgKChpbmRleFAgLSBpbmRleE8pICE9PSAwKSB7CiAgICB2YXIgaGV4UCA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleFApOwogICAgdmFyIGhleE8gPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhPKTsKICAgICRFUlJPUignIycgKyBoZXhPICsgJy0nICsgaGV4UCArICcgJyk7CiAgfSBlbHNlIHsKICAgIHZhciBoZXhQID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4UCk7CiAgICAkRVJST1IoJyMnICsgaGV4UCArICcgJyk7CiAgfSAgICAgCiAgJEVSUk9SKCdUb3RhbCBlcnJvcjogJyArIGVycm9yQ291bnQgKyAnIGJhZCBVbmljb2RlIGNoYXJhY3RlciBpbiAnICsgY291bnQgKyAnICcpOwp9CgpmdW5jdGlvbiBkZWNpbWFsVG9IZXhTdHJpbmcobikgewogIG4gPSBOdW1iZXIobik7CiAgdmFyIGggPSAiIjsKICBmb3IgKHZhciBpID0gMzsgaSA+PSAwOyBpLS0pIHsKICAgIGlmIChuID49IE1hdGgucG93KDE2LCBpKSkgewogICAgICB2YXIgdCA9IE1hdGguZmxvb3IobiAvIE1hdGgucG93KDE2LCBpKSk7CiAgICAgIG4gLT0gdCAqIE1hdGgucG93KDE2LCBpKTsKICAgICAgaWYgKCB0ID49IDEwICkgewogICAgICAgIGlmICggdCA9PSAxMCApIHsgaCArPSAiQSI7IH0KICAgICAgICBpZiAoIHQgPT0gMTEgKSB7IGggKz0gIkIiOyB9CiAgICAgICAgaWYgKCB0ID09IDEyICkgeyBoICs9ICJDIjsgfQogICAgICAgIGlmICggdCA9PSAxMyApIHsgaCArPSAiRCI7IH0KICAgICAgICBpZiAoIHQgPT0gMTQgKSB7IGggKz0gIkUiOyB9CiAgICAgICAgaWYgKCB0ID09IDE1ICkgeyBoICs9ICJGIjsgfQogICAgICB9IGVsc2UgewogICAgICAgIGggKz0gU3RyaW5nKHQpOwogICAgICB9CiAgICB9IGVsc2UgewogICAgICBoICs9ICIwIjsKICAgIH0KICB9CiAgcmV0dXJuIGg7Cn0KCg==","commentary":"If B = 11110xxx (n = 4) and string.charAt(k + 3),\nstring.charAt(k + 6), string.charAt(k + 9) not equal \"%\", throw URIError","description":"Complex tests. B = [0xF0 - 0x0F7],\nstring.charAt(k + 3) not equal \"%\"","path":"TestCases/ch15/15.1/15.1.3/15.1.3.2/S15.1.3.2_A1.9_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBCID0gMTExMTB4eHggKG4gPSA0KSBhbmQgc3RyaW5nLmNoYXJBdChrICsgMyksCiAqIHN0cmluZy5jaGFyQXQoayArIDYpLCBzdHJpbmcuY2hhckF0KGsgKyA5KSBub3QgZXF1YWwgIiUiLCB0aHJvdyBVUklFcnJvcgogKgogKiBAcGF0aCBjaDE1LzE1LjEvMTUuMS4zLzE1LjEuMy4yL1MxNS4xLjMuMl9BMS45X1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBDb21wbGV4IHRlc3RzLiBCID0gWzB4RjAgLSAweDBGN10sCiAqIHN0cmluZy5jaGFyQXQoayArIDYpIG5vdCBlcXVhbCAiJSIKICovCgplcnJvckNvdW50ID0gMDsKY291bnQgPSAwOwp2YXIgaW5kZXhQOwp2YXIgaW5kZXhPID0gMDsKCmZvciAoaW5kZXggPSAweEYwOyBpbmRleCA8PSAweEY3OyBpbmRleCsrKSB7CiAgY291bnQrKzsgCiAgaGV4ID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4KTsKICB0cnkgewogICAgZGVjb2RlVVJJQ29tcG9uZW50KCIlIiArIGhleC5zdWJzdHJpbmcoMikgKyAiJUEwMTExJUEwIik7CiAgfSBjYXRjaCAoZSkgeyAKICAgIGlmICgoZSBpbnN0YW5jZW9mIFVSSUVycm9yKSA9PT0gdHJ1ZSkgY29udGludWU7ICAgICAgICAgICAgICAgIAogIH0KICBpZiAoaW5kZXhPID09PSAwKSB7IAogICAgaW5kZXhPID0gaW5kZXg7CiAgfSBlbHNlIHsKICAgIGlmICgoaW5kZXggLSBpbmRleFApICE9PSAxKSB7ICAgICAgICAgICAgIAogICAgICBpZiAoKGluZGV4UCAtIGluZGV4TykgIT09IDApIHsKICAgICAgICB2YXIgaGV4UCA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleFApOwogICAgICAgIHZhciBoZXhPID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4Tyk7CiAgICAgICAgJEVSUk9SKCcjJyArIGhleE8gKyAnLScgKyBoZXhQICsgJyAnKTsKICAgICAgfSAKICAgICAgZWxzZSB7CiAgICAgICAgdmFyIGhleFAgPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhQKTsKICAgICAgICAkRVJST1IoJyMnICsgaGV4UCArICcgJyk7CiAgICAgIH0gIAogICAgICBpbmRleE8gPSBpbmRleDsKICAgIH0gICAgICAgICAKICB9CiAgaW5kZXhQID0gaW5kZXg7CiAgZXJyb3JDb3VudCsrOyAgICAgICAKfQoKaWYgKGVycm9yQ291bnQgPiAwKSB7CiAgaWYgKChpbmRleFAgLSBpbmRleE8pICE9PSAwKSB7CiAgICB2YXIgaGV4UCA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleFApOwogICAgdmFyIGhleE8gPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhPKTsKICAgICRFUlJPUignIycgKyBoZXhPICsgJy0nICsgaGV4UCArICcgJyk7CiAgfSBlbHNlIHsKICAgIHZhciBoZXhQID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4UCk7CiAgICAkRVJST1IoJyMnICsgaGV4UCArICcgJyk7CiAgfSAgICAgCiAgJEVSUk9SKCdUb3RhbCBlcnJvcjogJyArIGVycm9yQ291bnQgKyAnIGJhZCBVbmljb2RlIGNoYXJhY3RlciBpbiAnICsgY291bnQgKyAnICcpOwp9CgpmdW5jdGlvbiBkZWNpbWFsVG9IZXhTdHJpbmcobikgewogIG4gPSBOdW1iZXIobik7CiAgdmFyIGggPSAiIjsKICBmb3IgKHZhciBpID0gMzsgaSA+PSAwOyBpLS0pIHsKICAgIGlmIChuID49IE1hdGgucG93KDE2LCBpKSkgewogICAgICB2YXIgdCA9IE1hdGguZmxvb3IobiAvIE1hdGgucG93KDE2LCBpKSk7CiAgICAgIG4gLT0gdCAqIE1hdGgucG93KDE2LCBpKTsKICAgICAgaWYgKCB0ID49IDEwICkgewogICAgICAgIGlmICggdCA9PSAxMCApIHsgaCArPSAiQSI7IH0KICAgICAgICBpZiAoIHQgPT0gMTEgKSB7IGggKz0gIkIiOyB9CiAgICAgICAgaWYgKCB0ID09IDEyICkgeyBoICs9ICJDIjsgfQogICAgICAgIGlmICggdCA9PSAxMyApIHsgaCArPSAiRCI7IH0KICAgICAgICBpZiAoIHQgPT0gMTQgKSB7IGggKz0gIkUiOyB9CiAgICAgICAgaWYgKCB0ID09IDE1ICkgeyBoICs9ICJGIjsgfQogICAgICB9IGVsc2UgewogICAgICAgIGggKz0gU3RyaW5nKHQpOwogICAgICB9CiAgICB9IGVsc2UgewogICAgICBoICs9ICIwIjsKICAgIH0KICB9CiAgcmV0dXJuIGg7Cn0KCg==","commentary":"If B = 11110xxx (n = 4) and string.charAt(k + 3),\nstring.charAt(k + 6), string.charAt(k + 9) not equal \"%\", throw URIError","description":"Complex tests. B = [0xF0 - 0x0F7],\nstring.charAt(k + 6) not equal \"%\"","path":"TestCases/ch15/15.1/15.1.3/15.1.3.2/S15.1.3.2_A1.9_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBCID0gMTExMTB4eHggKG4gPSA0KSBhbmQgc3RyaW5nLmNoYXJBdChrICsgMyksCiAqIHN0cmluZy5jaGFyQXQoayArIDYpLCBzdHJpbmcuY2hhckF0KGsgKyA5KSBub3QgZXF1YWwgIiUiLCB0aHJvdyBVUklFcnJvcgogKgogKiBAcGF0aCBjaDE1LzE1LjEvMTUuMS4zLzE1LjEuMy4yL1MxNS4xLjMuMl9BMS45X1QzLmpzCiAqIEBkZXNjcmlwdGlvbiBDb21wbGV4IHRlc3RzLiBCID0gWzB4RjAgLSAweDBGN10sCiAqIHN0cmluZy5jaGFyQXQoayArIDkpIG5vdCBlcXVhbCAiJSIKICovCgplcnJvckNvdW50ID0gMDsKY291bnQgPSAwOwp2YXIgaW5kZXhQOwp2YXIgaW5kZXhPID0gMDsKCmZvciAoaW5kZXggPSAweEYwOyBpbmRleCA8PSAweEY3OyBpbmRleCsrKSB7CiAgY291bnQrKzsgCiAgaGV4ID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4KTsKICB0cnkgewogICAgZGVjb2RlVVJJQ29tcG9uZW50KCIlIiArIGhleC5zdWJzdHJpbmcoMikgKyAiJUEwJUEwMTExIik7CiAgfSBjYXRjaCAoZSkgeyAKICAgIGlmICgoZSBpbnN0YW5jZW9mIFVSSUVycm9yKSA9PT0gdHJ1ZSkgY29udGludWU7ICAgICAgICAgICAgICAgIAogIH0KICBpZiAoaW5kZXhPID09PSAwKSB7IAogICAgaW5kZXhPID0gaW5kZXg7CiAgfSBlbHNlIHsKICAgIGlmICgoaW5kZXggLSBpbmRleFApICE9PSAxKSB7ICAgICAgICAgICAgIAogICAgICBpZiAoKGluZGV4UCAtIGluZGV4TykgIT09IDApIHsKICAgICAgICB2YXIgaGV4UCA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleFApOwogICAgICAgIHZhciBoZXhPID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4Tyk7CiAgICAgICAgJEVSUk9SKCcjJyArIGhleE8gKyAnLScgKyBoZXhQICsgJyAnKTsKICAgICAgfSAKICAgICAgZWxzZSB7CiAgICAgICAgdmFyIGhleFAgPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhQKTsKICAgICAgICAkRVJST1IoJyMnICsgaGV4UCArICcgJyk7CiAgICAgIH0gIAogICAgICBpbmRleE8gPSBpbmRleDsKICAgIH0gICAgICAgICAKICB9CiAgaW5kZXhQID0gaW5kZXg7CiAgZXJyb3JDb3VudCsrOyAgICAgICAKfQoKaWYgKGVycm9yQ291bnQgPiAwKSB7CiAgaWYgKChpbmRleFAgLSBpbmRleE8pICE9PSAwKSB7CiAgICB2YXIgaGV4UCA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleFApOwogICAgdmFyIGhleE8gPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhPKTsKICAgICRFUlJPUignIycgKyBoZXhPICsgJy0nICsgaGV4UCArICcgJyk7CiAgfSBlbHNlIHsKICAgIHZhciBoZXhQID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4UCk7CiAgICAkRVJST1IoJyMnICsgaGV4UCArICcgJyk7CiAgfSAgICAgCiAgJEVSUk9SKCdUb3RhbCBlcnJvcjogJyArIGVycm9yQ291bnQgKyAnIGJhZCBVbmljb2RlIGNoYXJhY3RlciBpbiAnICsgY291bnQgKyAnICcpOwp9CgpmdW5jdGlvbiBkZWNpbWFsVG9IZXhTdHJpbmcobikgewogIG4gPSBOdW1iZXIobik7CiAgdmFyIGggPSAiIjsKICBmb3IgKHZhciBpID0gMzsgaSA+PSAwOyBpLS0pIHsKICAgIGlmIChuID49IE1hdGgucG93KDE2LCBpKSkgewogICAgICB2YXIgdCA9IE1hdGguZmxvb3IobiAvIE1hdGgucG93KDE2LCBpKSk7CiAgICAgIG4gLT0gdCAqIE1hdGgucG93KDE2LCBpKTsKICAgICAgaWYgKCB0ID49IDEwICkgewogICAgICAgIGlmICggdCA9PSAxMCApIHsgaCArPSAiQSI7IH0KICAgICAgICBpZiAoIHQgPT0gMTEgKSB7IGggKz0gIkIiOyB9CiAgICAgICAgaWYgKCB0ID09IDEyICkgeyBoICs9ICJDIjsgfQogICAgICAgIGlmICggdCA9PSAxMyApIHsgaCArPSAiRCI7IH0KICAgICAgICBpZiAoIHQgPT0gMTQgKSB7IGggKz0gIkUiOyB9CiAgICAgICAgaWYgKCB0ID09IDE1ICkgeyBoICs9ICJGIjsgfQogICAgICB9IGVsc2UgewogICAgICAgIGggKz0gU3RyaW5nKHQpOwogICAgICB9CiAgICB9IGVsc2UgewogICAgICBoICs9ICIwIjsKICAgIH0KICB9CiAgcmV0dXJuIGg7Cn0KCg==","commentary":"If B = 11110xxx (n = 4) and string.charAt(k + 3),\nstring.charAt(k + 6), string.charAt(k + 9) not equal \"%\", throw URIError","description":"Complex tests. B = [0xF0 - 0x0F7],\nstring.charAt(k + 9) not equal \"%\"","path":"TestCases/ch15/15.1/15.1.3/15.1.3.2/S15.1.3.2_A1.9_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBzdHJpbmcuY2hhckF0KGspIG5vdCBlcXVhbCAiJSIsIHJldHVybiB0aGlzIGNoYXIKICoKICogQHBhdGggY2gxNS8xNS4xLzE1LjEuMy8xNS4xLjMuMi9TMTUuMS4zLjJfQTIuMV9UMS5qcwogKiBAZGVzY3JpcHRpb24gQ29tcGxleCB0ZXN0cwogKi8KCi8vQ0hFQ0sKZXJyb3JDb3VudCA9IDA7CmNvdW50ID0gMDsKZm9yIChpbmRleEkgPSAwOyBpbmRleEkgPD0gNjU1MzU7IGluZGV4SSsrKSB7CiAgaWYgKGluZGV4SSAhPT0gMHgyNSkgewogICAgaGV4ID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4SSk7CiAgICB0cnkgeyAgICAKICAgICAgdmFyIHN0ciA9IFN0cmluZy5mcm9tQ2hhckNvZGUoaW5kZXhJKTsKICAgICAgaWYgKGRlY29kZVVSSUNvbXBvbmVudChzdHIpICE9PSBzdHIpIHsgICAgCiAgICAgICAgJEVSUk9SKCcjJyArIGhleCArICcgJyk7CiAgICAgICAgZXJyb3JDb3VudCsrOwogICAgICB9ICAgIAogICAgfSBjYXRjaCAoZSl7CiAgICAgICRFUlJPUignIycgKyBoZXggKyAnICcpOwogICAgICBlcnJvckNvdW50Kys7CiAgICB9IAogICAgY291bnQrKzsKICB9Cn0gIAoKaWYgKGVycm9yQ291bnQgPiAwKSB7ICAgIAogICRFUlJPUignVG90YWwgZXJyb3I6ICcgKyBlcnJvckNvdW50ICsgJyBiYWQgVW5pY29kZSBjaGFyYWN0ZXIgaW4gJyArIGNvdW50KTsKfQoKZnVuY3Rpb24gZGVjaW1hbFRvSGV4U3RyaW5nKG4pIHsKICBuID0gTnVtYmVyKG4pOwogIHZhciBoID0gIiI7CiAgZm9yICh2YXIgaSA9IDM7IGkgPj0gMDsgaS0tKSB7CiAgICBpZiAobiA+PSBNYXRoLnBvdygxNiwgaSkpIHsKICAgICAgdmFyIHQgPSBNYXRoLmZsb29yKG4gLyBNYXRoLnBvdygxNiwgaSkpOwogICAgICBuIC09IHQgKiBNYXRoLnBvdygxNiwgaSk7CiAgICAgIGlmICggdCA+PSAxMCApIHsKICAgICAgICBpZiAoIHQgPT0gMTAgKSB7IGggKz0gIkEiOyB9CiAgICAgICAgaWYgKCB0ID09IDExICkgeyBoICs9ICJCIjsgfQogICAgICAgIGlmICggdCA9PSAxMiApIHsgaCArPSAiQyI7IH0KICAgICAgICBpZiAoIHQgPT0gMTMgKSB7IGggKz0gIkQiOyB9CiAgICAgICAgaWYgKCB0ID09IDE0ICkgeyBoICs9ICJFIjsgfQogICAgICAgIGlmICggdCA9PSAxNSApIHsgaCArPSAiRiI7IH0KICAgICAgfSBlbHNlIHsKICAgICAgICBoICs9IFN0cmluZyh0KTsKICAgICAgfQogICAgfSBlbHNlIHsKICAgICAgaCArPSAiMCI7CiAgICB9CiAgfQogIHJldHVybiBoOwp9Cgo=","commentary":"If string.charAt(k) not equal \"%\", return this char","description":"Complex tests","path":"TestCases/ch15/15.1/15.1.3/15.1.3.2/S15.1.3.2_A2.1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBCMSA9IDB4eHh4eHh4eCAoWzB4MDAgLSAweDdGXSksIHJldHVybiBCMQogKgogKiBAcGF0aCBjaDE1LzE1LjEvMTUuMS4zLzE1LjEuMy4yL1MxNS4xLjMuMl9BMi4yX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBDb21wbGV4IHRlc3RzLCB1c2UgUkZDIDM2MjkKICovCgplcnJvckNvdW50ID0gMDsKY291bnQgPSAwOwp2YXIgaW5kZXhQOwp2YXIgaW5kZXhPID0gMDsKZm9yIChpbmRleEIxID0gMHgwMDsgaW5kZXhCMSA8PSAweDdGOyBpbmRleEIxKyspIHsgICAgICAgCiAgY291bnQrKzsKICB2YXIgaGV4QjEgPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhCMSk7ICAKICB2YXIgaW5kZXggPSBpbmRleEIxOyAgCiAgdHJ5IHsKICAgIGhleCA9IFN0cmluZy5mcm9tQ2hhckNvZGUoaW5kZXgpOwogICAgaWYgKGRlY29kZVVSSUNvbXBvbmVudCgiJSIgKyBoZXhCMS5zdWJzdHJpbmcoMikpID09PSBoZXgpIGNvbnRpbnVlOw0KICB9IGNhdGNoIChlKSB7DQogICAgaWYgKGUgaW5zdGFuY2VvZiBUZXN0MjYyRXJyb3IpIHRocm93IGU7CiAgfSAgIAogIGlmIChpbmRleE8gPT09IDApIHsgCiAgICBpbmRleE8gPSBpbmRleDsKICB9IGVsc2UgewogICAgaWYgKChpbmRleCAtIGluZGV4UCkgIT09IDEpIHsgICAgICAgICAgICAgCiAgICAgIGlmICgoaW5kZXhQIC0gaW5kZXhPKSAhPT0gMCkgewogICAgICAgIHZhciBoZXhQID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4UCk7CiAgICAgICAgdmFyIGhleE8gPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhPKTsKICAgICAgICAkRVJST1IoJyMnICsgaGV4TyArICctJyArIGhleFAgKyAnICcpOwogICAgICB9IAogICAgICBlbHNlIHsKICAgICAgICB2YXIgaGV4UCA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleFApOwogICAgICAgICRFUlJPUignIycgKyBoZXhQICsgJyAnKTsKICAgICAgfSAgCiAgICAgIGluZGV4TyA9IGluZGV4OwogICAgfSAgICAgICAgIAogIH0KICBpbmRleFAgPSBpbmRleDsKICBlcnJvckNvdW50Kys7ICAgICAgICAgCn0KCmlmIChlcnJvckNvdW50ID4gMCkgewogIGlmICgoaW5kZXhQIC0gaW5kZXhPKSAhPT0gMCkgewogICAgdmFyIGhleFAgPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhQKTsKICAgIHZhciBoZXhPID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4Tyk7CiAgICAkRVJST1IoJyMnICsgaGV4TyArICctJyArIGhleFAgKyAnICcpOwogIH0gZWxzZSB7CiAgICB2YXIgaGV4UCA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleFApOwogICAgJEVSUk9SKCcjJyArIGhleFAgKyAnICcpOwogIH0gICAgIAogICRFUlJPUignVG90YWwgZXJyb3I6ICcgKyBlcnJvckNvdW50ICsgJyBiYWQgVW5pY29kZSBjaGFyYWN0ZXIgaW4gJyArIGNvdW50ICsgJyAnKTsKfQoKZnVuY3Rpb24gZGVjaW1hbFRvSGV4U3RyaW5nKG4pIHsKICBuID0gTnVtYmVyKG4pOwogIHZhciBoID0gIiI7CiAgZm9yICh2YXIgaSA9IDM7IGkgPj0gMDsgaS0tKSB7CiAgICBpZiAobiA+PSBNYXRoLnBvdygxNiwgaSkpIHsKICAgICAgdmFyIHQgPSBNYXRoLmZsb29yKG4gLyBNYXRoLnBvdygxNiwgaSkpOwogICAgICBuIC09IHQgKiBNYXRoLnBvdygxNiwgaSk7CiAgICAgIGlmICggdCA+PSAxMCApIHsKICAgICAgICBpZiAoIHQgPT0gMTAgKSB7IGggKz0gIkEiOyB9CiAgICAgICAgaWYgKCB0ID09IDExICkgeyBoICs9ICJCIjsgfQogICAgICAgIGlmICggdCA9PSAxMiApIHsgaCArPSAiQyI7IH0KICAgICAgICBpZiAoIHQgPT0gMTMgKSB7IGggKz0gIkQiOyB9CiAgICAgICAgaWYgKCB0ID09IDE0ICkgeyBoICs9ICJFIjsgfQogICAgICAgIGlmICggdCA9PSAxNSApIHsgaCArPSAiRiI7IH0KICAgICAgfSBlbHNlIHsKICAgICAgICBoICs9IFN0cmluZyh0KTsKICAgICAgfQogICAgfSBlbHNlIHsKICAgICAgaCArPSAiMCI7CiAgICB9CiAgfQogIHJldHVybiBoOwp9Cgo=","commentary":"If B1 = 0xxxxxxxx ([0x00 - 0x7F]), return B1","description":"Complex tests, use RFC 3629","path":"TestCases/ch15/15.1/15.1.3/15.1.3.2/S15.1.3.2_A2.2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBCMSA9IDExMHh4eHh4IChbMHhDMCAtIDB4REZdKSwgQjIgPSAxMHh4eHh4eCAoWzB4ODAgLSAweEJGKSwgd2l0aG91dCBCMSA9IFsweEMwLCAweEMxXSwgcmV0dXJuIFVURjgoQjEsIEIyKQogKgogKiBAcGF0aCBjaDE1LzE1LjEvMTUuMS4zLzE1LjEuMy4yL1MxNS4xLjMuMl9BMi4zX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBDb21wbGV4IHRlc3RzLCB1c2UgUkZDIDM2MjkKICovCgplcnJvckNvdW50ID0gMDsKY291bnQgPSAwOwp2YXIgaW5kZXhQOwp2YXIgaW5kZXhPID0gMDsKCmZvciAoaW5kZXhCMSA9IDB4QzI7IGluZGV4QjEgPD0gMHhERjsgaW5kZXhCMSsrKSB7ICAgICAKICB2YXIgaGV4QjEgPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhCMSk7CiAgZm9yIChpbmRleEIyID0gMHg4MDsgaW5kZXhCMiA8PSAweEJGOyBpbmRleEIyKyspIHsKICAgIGNvdW50Kys7CiAgICB2YXIgaGV4QjIgPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhCMik7CiAgICB2YXIgaW5kZXggPSAoaW5kZXhCMSAmIDB4MUYpICogMHg0MCArIChpbmRleEIyICYgMHgzRik7ICAKICAgIHRyeSB7CiAgICAgIGlmIChkZWNvZGVVUklDb21wb25lbnQoIiUiICsgaGV4QjEuc3Vic3RyaW5nKDIpICsgIiUiICsgaGV4QjIuc3Vic3RyaW5nKDIpKSA9PT0gU3RyaW5nLmZyb21DaGFyQ29kZShpbmRleCkpIGNvbnRpbnVlOw0KICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgIGlmIChlIGluc3RhbmNlb2YgVGVzdDI2MkVycm9yKSB0aHJvdyBlOwogICAgfSAgIAogICAgaWYgKGluZGV4TyA9PT0gMCkgeyAKICAgICAgaW5kZXhPID0gaW5kZXg7CiAgICB9IGVsc2UgewogICAgICBpZiAoKGluZGV4IC0gaW5kZXhQKSAhPT0gMSkgeyAgICAgICAgICAgICAKICAgICAgICBpZiAoKGluZGV4UCAtIGluZGV4TykgIT09IDApIHsKICAgICAgICAgIHZhciBoZXhQID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4UCk7CiAgICAgICAgICB2YXIgaGV4TyA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleE8pOwogICAgICAgICAgJEVSUk9SKCcjJyArIGhleE8gKyAnLScgKyBoZXhQICsgJyAnKTsKICAgICAgICB9IAogICAgICAgIGVsc2UgewogICAgICAgICAgdmFyIGhleFAgPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhQKTsKICAgICAgICAgICRFUlJPUignIycgKyBoZXhQICsgJyAnKTsKICAgICAgICB9ICAKICAgICAgICBpbmRleE8gPSBpbmRleDsKICAgICAgfSAgICAgICAgIAogICAgfQogICAgaW5kZXhQID0gaW5kZXg7CiAgICBlcnJvckNvdW50Kys7ICAgICAgIAogIH0KfQoKaWYgKGVycm9yQ291bnQgPiAwKSB7CiAgaWYgKChpbmRleFAgLSBpbmRleE8pICE9PSAwKSB7CiAgICB2YXIgaGV4UCA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleFApOwogICAgdmFyIGhleE8gPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhPKTsKICAgICRFUlJPUignIycgKyBoZXhPICsgJy0nICsgaGV4UCArICcgJyk7CiAgfSBlbHNlIHsKICAgIHZhciBoZXhQID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4UCk7CiAgICAkRVJST1IoJyMnICsgaGV4UCArICcgJyk7CiAgfSAgICAgCiAgJEVSUk9SKCdUb3RhbCBlcnJvcjogJyArIGVycm9yQ291bnQgKyAnIGJhZCBVbmljb2RlIGNoYXJhY3RlciBpbiAnICsgY291bnQgKyAnICcpOwp9CgpmdW5jdGlvbiBkZWNpbWFsVG9IZXhTdHJpbmcobikgewogIG4gPSBOdW1iZXIobik7CiAgdmFyIGggPSAiIjsKICBmb3IgKHZhciBpID0gMzsgaSA+PSAwOyBpLS0pIHsKICAgIGlmIChuID49IE1hdGgucG93KDE2LCBpKSkgewogICAgICB2YXIgdCA9IE1hdGguZmxvb3IobiAvIE1hdGgucG93KDE2LCBpKSk7CiAgICAgIG4gLT0gdCAqIE1hdGgucG93KDE2LCBpKTsKICAgICAgaWYgKCB0ID49IDEwICkgewogICAgICAgIGlmICggdCA9PSAxMCApIHsgaCArPSAiQSI7IH0KICAgICAgICBpZiAoIHQgPT0gMTEgKSB7IGggKz0gIkIiOyB9CiAgICAgICAgaWYgKCB0ID09IDEyICkgeyBoICs9ICJDIjsgfQogICAgICAgIGlmICggdCA9PSAxMyApIHsgaCArPSAiRCI7IH0KICAgICAgICBpZiAoIHQgPT0gMTQgKSB7IGggKz0gIkUiOyB9CiAgICAgICAgaWYgKCB0ID09IDE1ICkgeyBoICs9ICJGIjsgfQogICAgICB9IGVsc2UgewogICAgICAgIGggKz0gU3RyaW5nKHQpOwogICAgICB9CiAgICB9IGVsc2UgewogICAgICBoICs9ICIwIjsKICAgIH0KICB9CiAgcmV0dXJuIGg7Cn0KCg==","commentary":"If B1 = 110xxxxx ([0xC0 - 0xDF]), B2 = 10xxxxxx ([0x80 - 0xBF), without B1 = [0xC0, 0xC1], return UTF8(B1, B2)","description":"Complex tests, use RFC 3629","path":"TestCases/ch15/15.1/15.1.3/15.1.3.2/S15.1.3.2_A2.3_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBCMSA9IDExMTB4eHh4IChbMHhFMCAtIDB4RUZdKSwgQjIsIEIzID0gMTB4eHh4eHh4IChbMHg4MCAtIDB4QkZdKSwgd2l0aG91dCBbQjEsIEIyXSA9IFsweEUwLCAweDgwIC0gMHg5Rl0sIFsweEVELCAweEEwIC0gMHhCRl0gKDB4RDgwMCAtIDB4REZGRiksIHJldHVybiBVVEY4KEIxLCBCMiwgQjMpCiAqCiAqIEBwYXRoIGNoMTUvMTUuMS8xNS4xLjMvMTUuMS4zLjIvUzE1LjEuMy4yX0EyLjRfVDEuanMKICogQGRlc2NyaXB0aW9uIENvbXBsZXggdGVzdHMsIHVzZSBSRkMgMzYyOQogKi8KCmVycm9yQ291bnQgPSAwOwpjb3VudCA9IDA7CnZhciBpbmRleFA7CnZhciBpbmRleE8gPSAwOwoKZm9yIChpbmRleEIxID0gMHhFMDsgaW5kZXhCMSA8PSAweEVGOyBpbmRleEIxKyspIHsgICAgIAogIHZhciBoZXhCMSA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleEIxKTsKICBmb3IgKGluZGV4QjIgPSAweDgwOyBpbmRleEIyIDw9IDB4QkY7IGluZGV4QjIrKykgewogICAgaWYgKChpbmRleEIxID09PSAweEUwKSAmJiAoaW5kZXhCMiA8PSAweDlGKSkgY29udGludWU7CiAgICBpZiAoKGluZGV4QjEgPT09IDB4RUQpICYmICgweEEwIDw9IGluZGV4QjIpKSBjb250aW51ZTsgICAgICAgICAKICAgIHZhciBoZXhCMiA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleEIyKTsKICAgIGZvciAoaW5kZXhCMyA9IDB4ODA7IGluZGV4QjMgPD0gMHhCRjsgaW5kZXhCMysrKSB7CiAgICAgIGNvdW50Kys7CiAgICAgIHZhciBoZXhCMyA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleEIzKTsKICAgICAgdmFyIGluZGV4ID0gKGluZGV4QjEgJiAweDBGKSAqIDB4MTAwMCArIChpbmRleEIyICYgMHgzRikgKiAweDQwICsgKGluZGV4QjMgJiAweDNGKTsgIAogICAgICB0cnkgewogICAgICAgIGlmIChkZWNvZGVVUklDb21wb25lbnQoIiUiICsgaGV4QjEuc3Vic3RyaW5nKDIpICsgIiUiICsgaGV4QjIuc3Vic3RyaW5nKDIpICsgIiUiICsgaGV4QjMuc3Vic3RyaW5nKDIpKSA9PT0gU3RyaW5nLmZyb21DaGFyQ29kZShpbmRleCkpIGNvbnRpbnVlOw0KICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICBpZiAoZSBpbnN0YW5jZW9mIFRlc3QyNjJFcnJvcikgdGhyb3cgZTsKICAgICAgfQogICAgICBpZiAoaW5kZXhPID09PSAwKSB7IAogICAgICAgIGluZGV4TyA9IGluZGV4OwogICAgICB9IGVsc2UgewogICAgICAgIGlmICgoaW5kZXggLSBpbmRleFApICE9PSAxKSB7ICAgICAgICAgICAgIAogICAgICAgICAgaWYgKChpbmRleFAgLSBpbmRleE8pICE9PSAwKSB7CiAgICAgICAgICAgIHZhciBoZXhQID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4UCk7CiAgICAgICAgICAgIHZhciBoZXhPID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4Tyk7CiAgICAgICAgICAgICRFUlJPUignIycgKyBoZXhPICsgJy0nICsgaGV4UCArICcgJyk7CiAgICAgICAgICB9IAogICAgICAgICAgZWxzZSB7CiAgICAgICAgICAgIHZhciBoZXhQID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4UCk7CiAgICAgICAgICAgICRFUlJPUignIycgKyBoZXhQICsgJyAnKTsKICAgICAgICAgIH0gIAogICAgICAgICAgaW5kZXhPID0gaW5kZXg7CiAgICAgICAgfSAgICAgICAgIAogICAgICB9CiAgICAgIGluZGV4UCA9IGluZGV4OwogICAgICBlcnJvckNvdW50Kys7ICAKICAgIH0gICAgIAogIH0KfQoKaWYgKGVycm9yQ291bnQgPiAwKSB7CiAgaWYgKChpbmRleFAgLSBpbmRleE8pICE9PSAwKSB7CiAgICB2YXIgaGV4UCA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleFApOwogICAgdmFyIGhleE8gPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhPKTsKICAgICRFUlJPUignIycgKyBoZXhPICsgJy0nICsgaGV4UCArICcgJyk7CiAgfSBlbHNlIHsKICAgIHZhciBoZXhQID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4UCk7CiAgICAkRVJST1IoJyMnICsgaGV4UCArICcgJyk7CiAgfSAgICAgCiAgJEVSUk9SKCdUb3RhbCBlcnJvcjogJyArIGVycm9yQ291bnQgKyAnIGJhZCBVbmljb2RlIGNoYXJhY3RlciBpbiAnICsgY291bnQgKyAnICcpOwp9CgpmdW5jdGlvbiBkZWNpbWFsVG9IZXhTdHJpbmcobikgewogIG4gPSBOdW1iZXIobik7CiAgdmFyIGggPSAiIjsKICBmb3IgKHZhciBpID0gMzsgaSA+PSAwOyBpLS0pIHsKICAgIGlmIChuID49IE1hdGgucG93KDE2LCBpKSkgewogICAgICB2YXIgdCA9IE1hdGguZmxvb3IobiAvIE1hdGgucG93KDE2LCBpKSk7CiAgICAgIG4gLT0gdCAqIE1hdGgucG93KDE2LCBpKTsKICAgICAgaWYgKCB0ID49IDEwICkgewogICAgICAgIGlmICggdCA9PSAxMCApIHsgaCArPSAiQSI7IH0KICAgICAgICBpZiAoIHQgPT0gMTEgKSB7IGggKz0gIkIiOyB9CiAgICAgICAgaWYgKCB0ID09IDEyICkgeyBoICs9ICJDIjsgfQogICAgICAgIGlmICggdCA9PSAxMyApIHsgaCArPSAiRCI7IH0KICAgICAgICBpZiAoIHQgPT0gMTQgKSB7IGggKz0gIkUiOyB9CiAgICAgICAgaWYgKCB0ID09IDE1ICkgeyBoICs9ICJGIjsgfQogICAgICB9IGVsc2UgewogICAgICAgIGggKz0gU3RyaW5nKHQpOwogICAgICB9CiAgICB9IGVsc2UgewogICAgICBoICs9ICIwIjsKICAgIH0KICB9CiAgcmV0dXJuIGg7Cn0KCg==","commentary":"If B1 = 1110xxxx ([0xE0 - 0xEF]), B2, B3 = 10xxxxxxx ([0x80 - 0xBF]), without [B1, B2] = [0xE0, 0x80 - 0x9F], [0xED, 0xA0 - 0xBF] (0xD800 - 0xDFFF), return UTF8(B1, B2, B3)","description":"Complex tests, use RFC 3629","path":"TestCases/ch15/15.1/15.1.3/15.1.3.2/S15.1.3.2_A2.4_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBCMSA9IDExMTEweHh4IChbMHhGMCAtIDB4MEY0XSksIEIyLCBCMywgQjQgPSAxMHh4eHh4eHggKFsweDgwIC0gMHhCRl0pLCB3aXRob3V0IFtCMSwgQjJdID0gWzB4RjAsIDB4ODAgLSAweDlGXSwgWzB4RjQsIDB4OTAgLSAweEJGXSwgcmV0dXJuIFVURjgoQjEsIEIyLCBCMywgQjQpCiAqCiAqIEBwYXRoIGNoMTUvMTUuMS8xNS4xLjMvMTUuMS4zLjIvUzE1LjEuMy4yX0EyLjVfVDEuanMKICogQGRlc2NyaXB0aW9uIENvbXBsZXggdGVzdHMsIHVzZSBSRkMgMzYyOQogKi8KCmVycm9yQ291bnQgPSAwOwpjb3VudCA9IDA7CnZhciBpbmRleFA7CnZhciBpbmRleE8gPSAwOwoKZm9yIChpbmRleEIxID0gMHhGMDsgaW5kZXhCMSA8PSAweEY0OyBpbmRleEIxKyspIHsgICAgIAogIHZhciBoZXhCMSA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleEIxKTsKICBmb3IgKGluZGV4QjIgPSAweDgwOyBpbmRleEIyIDw9IDB4QkY7IGluZGV4QjIrKykgewogICAgaWYgKChpbmRleEIxID09PSAweEYwKSAmJiAoaW5kZXhCMiA8PSAweDlGKSkgY29udGludWU7ICAgICAgICAgICAgCiAgICBpZiAoKGluZGV4QjEgPT09IDB4RjQpICYmIChpbmRleEIyID49IDB4OTApKSBjb250aW51ZTsKICAgIHZhciBoZXhCMiA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleEIyKTsKICAgIGZvciAoaW5kZXhCMyA9IDB4ODA7IGluZGV4QjMgPD0gMHhCRjsgaW5kZXhCMysrKSB7CiAgICAgIHZhciBoZXhCMyA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleEIzKTsKICAgICAgZm9yIChpbmRleEI0ID0gMHg4MDsgaW5kZXhCNCA8PSAweEJGOyBpbmRleEI0KyspIHsKICAgICAgICB2YXIgaGV4QjQgPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhCNCk7CiAgICAgICAgY291bnQrKzsKICAgICAgICB2YXIgaW5kZXggPSAoaW5kZXhCMSAmIDB4MDcpICogMHg0MDAwMCArIChpbmRleEIyICYgMHgzRikgKiAweDEwMDAgKyAoaW5kZXhCMyAmIDB4M0YpICogMHg0MCArIChpbmRleEI0ICYgMHgzRik7CiAgICAgICAgdmFyIEwgPSAoKGluZGV4IC0gMHgxMDAwMCkgJiAweDAzRkYpICsgMHhEQzAwOwogICAgICAgIHZhciBIID0gKCgoaW5kZXggLSAweDEwMDAwKSA+PiAxMCkgJiAweDAzRkYpICsgMHhEODAwOyAgCiAgICAgICAgdHJ5IHsKICAgICAgICAgIGlmIChkZWNvZGVVUklDb21wb25lbnQoIiUiICsgaGV4QjEuc3Vic3RyaW5nKDMpICsgIiUiICsgaGV4QjIuc3Vic3RyaW5nKDMpICsgIiUiICsgaGV4QjMuc3Vic3RyaW5nKDMpICsgIiUiICsgaGV4QjQuc3Vic3RyaW5nKDMpKSA9PT0gU3RyaW5nLmZyb21DaGFyQ29kZShIKSArIFN0cmluZy5mcm9tQ2hhckNvZGUoTCkpIGNvbnRpbnVlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgaWYgKGUgaW5zdGFuY2VvZiBUZXN0MjYyRXJyb3IpIHRocm93IGU7CiAgICAgICAgfSAgIAogICAgICAgIGlmIChpbmRleE8gPT09IDApIHsgCiAgICAgICAgICBpbmRleE8gPSBpbmRleDsKICAgICAgICB9IGVsc2UgewogICAgICAgICAgaWYgKChpbmRleCAtIGluZGV4UCkgIT09IDEpIHsgICAgICAgICAgICAgCiAgICAgICAgICAgIGlmICgoaW5kZXhQIC0gaW5kZXhPKSAhPT0gMCkgewogICAgICAgICAgICAgIHZhciBoZXhQID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4UCk7CiAgICAgICAgICAgICAgdmFyIGhleE8gPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhPKTsKICAgICAgICAgICAgICAkRVJST1IoJyMnICsgaGV4TyArICctJyArIGhleFAgKyAnICcpOwogICAgICAgICAgICB9IAogICAgICAgICAgICBlbHNlIHsKICAgICAgICAgICAgICB2YXIgaGV4UCA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleFApOwogICAgICAgICAgICAgICRFUlJPUignIycgKyBoZXhQICsgJyAnKTsKICAgICAgICAgICAgfSAgCiAgICAgICAgICAgIGluZGV4TyA9IGluZGV4OwogICAgICAgICAgfSAgICAgICAgIAogICAgICAgIH0KICAgICAgICBpbmRleFAgPSBpbmRleDsKICAgICAgICBlcnJvckNvdW50Kys7ICAKICAgICAgfQogICAgfSAgICAgCiAgfQp9CgppZiAoZXJyb3JDb3VudCA+IDApIHsKICBpZiAoKGluZGV4UCAtIGluZGV4TykgIT09IDApIHsKICAgIHZhciBoZXhQID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4UCk7CiAgICB2YXIgaGV4TyA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleE8pOwogICAgJEVSUk9SKCcjJyArIGhleE8gKyAnLScgKyBoZXhQICsgJyAnKTsKICB9IGVsc2UgewogICAgdmFyIGhleFAgPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhQKTsKICAgICRFUlJPUignIycgKyBoZXhQICsgJyAnKTsKICB9ICAgICAKICAkRVJST1IoJ1RvdGFsIGVycm9yOiAnICsgZXJyb3JDb3VudCArICcgYmFkIFVuaWNvZGUgY2hhcmFjdGVyIGluICcgKyBjb3VudCArICcgJyk7Cn0KCmZ1bmN0aW9uIGRlY2ltYWxUb0hleFN0cmluZyhuKSB7CiAgbiA9IE51bWJlcihuKTsKICB2YXIgaCA9ICIiOwogIGZvciAodmFyIGkgPSA0OyBpID49IDA7IGktLSkgewogICAgaWYgKG4gPj0gTWF0aC5wb3coMTYsIGkpKSB7CiAgICAgIHZhciB0ID0gTWF0aC5mbG9vcihuIC8gTWF0aC5wb3coMTYsIGkpKTsKICAgICAgbiAtPSB0ICogTWF0aC5wb3coMTYsIGkpOwogICAgICBpZiAoIHQgPj0gMTAgKSB7CiAgICAgICAgaWYgKCB0ID09IDEwICkgeyBoICs9ICJBIjsgfQogICAgICAgIGlmICggdCA9PSAxMSApIHsgaCArPSAiQiI7IH0KICAgICAgICBpZiAoIHQgPT0gMTIgKSB7IGggKz0gIkMiOyB9CiAgICAgICAgaWYgKCB0ID09IDEzICkgeyBoICs9ICJEIjsgfQogICAgICAgIGlmICggdCA9PSAxNCApIHsgaCArPSAiRSI7IH0KICAgICAgICBpZiAoIHQgPT0gMTUgKSB7IGggKz0gIkYiOyB9CiAgICAgIH0gZWxzZSB7CiAgICAgICAgaCArPSBTdHJpbmcodCk7CiAgICAgIH0KICAgIH0gZWxzZSB7CiAgICAgIGggKz0gIjAiOwogICAgfQogIH0KICByZXR1cm4gaDsKfQoK","commentary":"If B1 = 11110xxx ([0xF0 - 0x0F4]), B2, B3, B4 = 10xxxxxxx ([0x80 - 0xBF]), without [B1, B2] = [0xF0, 0x80 - 0x9F], [0xF4, 0x90 - 0xBF], return UTF8(B1, B2, B3, B4)","description":"Complex tests, use RFC 3629","path":"TestCases/ch15/15.1/15.1.3/15.1.3.2/S15.1.3.2_A2.5_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBMZXQgcmVzZXJ2ZWRVUklDb21wb25lbnRTZXQgYmUgdGhlIGVtcHR5IHN0cmluZwogKgogKiBAcGF0aCBjaDE1LzE1LjEvMTUuMS4zLzE1LjEuMy4yL1MxNS4xLjMuMl9BM19UMS5qcwogKiBAZGVzY3JpcHRpb24gdXJpUmVzZXJ2ZWQgYW5kICIjIiBub3QgaW4gcmVzZXJ2ZWRVUklDb21wb25lbnRTZXQuIEhleERpZ2l0IGluIFswLi45LCBBLi5GXQogKi8KCi8vQ0hFQ0sjMQppZiAoZGVjb2RlVVJJQ29tcG9uZW50KCIlM0IiKSAhPT0gIjsiKSB7CiAgJEVSUk9SKCcjMTogZGVjb2RlVVJJQ29tcG9uZW50KCIlM0IiKSBlcXVhbCAiOyIsIG5vdCAiJTNCIicpOwp9CgovL0NIRUNLIzIKaWYgKGRlY29kZVVSSUNvbXBvbmVudCgiJTJGIikgIT09ICIvIikgewogICRFUlJPUignIzI6IGRlY29kZVVSSUNvbXBvbmVudCgiJTJGIikgZXF1YWwgIi8iLCBub3QgIiUyRiInKTsKfQoKLy9DSEVDSyMzCmlmIChkZWNvZGVVUklDb21wb25lbnQoIiUzRiIpICE9PSAiPyIpIHsKICAkRVJST1IoJyMzOiBkZWNvZGVVUklDb21wb25lbnQoIiUzRiIpIGVxdWFsICI/Iiwgbm90ICIlM0YiJyk7Cn0KCi8vQ0hFQ0sjNAppZiAoZGVjb2RlVVJJQ29tcG9uZW50KCIlM0EiKSAhPT0gIjoiKSB7CiAgJEVSUk9SKCcjNDogZGVjb2RlVVJJQ29tcG9uZW50KCIlM0EiKSBlcXVhbCAiOiIsIG5vdCAiJTNBIicpOwp9CgovL0NIRUNLIzUKaWYgKGRlY29kZVVSSUNvbXBvbmVudCgiJTQwIikgIT09ICJAIikgewogICRFUlJPUignIzU6IGRlY29kZVVSSUNvbXBvbmVudCgiJTQwIikgZXF1YWwgIkAiLCBub3QgIiU0MCInKTsKfQoKLy9DSEVDSyM2CmlmIChkZWNvZGVVUklDb21wb25lbnQoIiUyNiIpICE9PSAiJiIpIHsKICAkRVJST1IoJyM2OiBkZWNvZGVVUklDb21wb25lbnQoIiUyNiIpIGVxdWFsICImIiwgbm90ICIlMjYiJyk7Cn0KCi8vQ0hFQ0sjNwppZiAoZGVjb2RlVVJJQ29tcG9uZW50KCIlM0QiKSAhPT0gIj0iKSB7CiAgJEVSUk9SKCcjNy4xOiBkZWNvZGVVUklDb21wb25lbnQoIiUzRCIpIGVxdWFsICI9Iiwgbm90ICIlM0QiJyk7Cn0KCi8vQ0hFQ0sjOAppZiAoZGVjb2RlVVJJQ29tcG9uZW50KCIlMkIiKSAhPT0gIisiKSB7CiAgJEVSUk9SKCcjOC4xOiBkZWNvZGVVUklDb21wb25lbnQoIiUyQiIpIGVxdWFsICIrIiwgbm90ICIlMkIiJyk7Cn0KCi8vQ0hFQ0sjOQppZiAoZGVjb2RlVVJJQ29tcG9uZW50KCIlMjQiKSAhPT0gIiQiKSB7CiAgJEVSUk9SKCcjOTogZGVjb2RlVVJJQ29tcG9uZW50KCIlMjQiKSBlcXVhbCAiJCIsIG5vdCAiJTI0IicpOwp9CgovL0NIRUNLIzEwCmlmIChkZWNvZGVVUklDb21wb25lbnQoIiUyQyIpICE9PSAiLCIpIHsKICAkRVJST1IoJyMxMDogZGVjb2RlVVJJQ29tcG9uZW50KCIlMkMiKSBlcXVhbCAiLCIsIG5vdCAiJTJDIicpOwp9CgovL0NIRUNLIzExCmlmIChkZWNvZGVVUklDb21wb25lbnQoIiUyMyIpICE9PSAiIyIpIHsKICAkRVJST1IoJyMxMTogZGVjb2RlVVJJQ29tcG9uZW50KCIlMjMiKSBlcXVhbCAiIyIsIG5vdCAiJTIzIicpOwp9Cgo=","commentary":"Let reservedURIComponentSet be the empty string","description":"uriReserved and \"#\" not in reservedURIComponentSet. HexDigit in [0..9, A..F]","path":"TestCases/ch15/15.1/15.1.3/15.1.3.2/S15.1.3.2_A3_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBMZXQgcmVzZXJ2ZWRVUklDb21wb25lbnRTZXQgYmUgdGhlIGVtcHR5IHN0cmluZwogKgogKiBAcGF0aCBjaDE1LzE1LjEvMTUuMS4zLzE1LjEuMy4yL1MxNS4xLjMuMl9BM19UMi5qcwogKiBAZGVzY3JpcHRpb24gdXJpUmVzZXJ2ZWQgYW5kICIjIiBub3QgaW4gcmVzZXJ2ZWRVUklDb21wb25lbnRTZXQuIEhleERpZ2l0IGluIFswLi45LCBhLi5mXQogKi8KCi8vQ0hFQ0sjMQppZiAoZGVjb2RlVVJJQ29tcG9uZW50KCIlM2IiKSAhPT0gIjsiKSB7CiAgJEVSUk9SKCcjMTogZGVjb2RlVVJJQ29tcG9uZW50KCIlM2IiKSBlcXVhbCAiOyIsIG5vdCAiJTNCIiBvciAiJTNiIicpOwp9CgovL0NIRUNLIzIKaWYgKGRlY29kZVVSSUNvbXBvbmVudCgiJTJmIikgIT09ICIvIikgewogICRFUlJPUignIzI6IGRlY29kZVVSSUNvbXBvbmVudCgiJTJmIikgZXF1YWwgIi8iLCBub3QgIiUyRiIgb3IgIiUyZiInKTsKfQoKLy9DSEVDSyMzCmlmIChkZWNvZGVVUklDb21wb25lbnQoIiUzZiIpICE9PSAiPyIpIHsKICAkRVJST1IoJyMzOiBkZWNvZGVVUklDb21wb25lbnQoIiUzZiIpIGVxdWFsICI/Iiwgbm90ICIlM0YiIG9yICIlM2YiJyk7Cn0KCi8vQ0hFQ0sjNAppZiAoZGVjb2RlVVJJQ29tcG9uZW50KCIlM2EiKSAhPT0gIjoiKSB7CiAgJEVSUk9SKCcjNDogZGVjb2RlVVJJQ29tcG9uZW50KCIlM2EiKSBlcXVhbCAiOiIsIG5vdCAiJTNBIiBvciAiJTNhIicpOwp9CgovL0NIRUNLIzUKaWYgKGRlY29kZVVSSUNvbXBvbmVudCgiJTQwIikgIT09ICJAIikgewogICRFUlJPUignIzU6IGRlY29kZVVSSUNvbXBvbmVudCgiJTQwIikgZXF1YWwgIkAiLCBub3QgIiU0MCInKTsKfQoKLy9DSEVDSyM2CmlmIChkZWNvZGVVUklDb21wb25lbnQoIiUyNiIpICE9PSAiJiIpIHsKICAkRVJST1IoJyM2OiBkZWNvZGVVUklDb21wb25lbnQoIiUyNiIpIGVxdWFsICImIiwgbm90ICIlMjYiJyk7Cn0KCi8vQ0hFQ0sjNwppZiAoZGVjb2RlVVJJQ29tcG9uZW50KCIlM2QiKSAhPT0gIj0iKSB7CiAgJEVSUk9SKCcjNy4xOiBkZWNvZGVVUklDb21wb25lbnQoIiUzZCIpIGVxdWFsICI9Iiwgbm90ICIlM0QiIG9yICIlM2QiJyk7Cn0KCi8vQ0hFQ0sjOAppZiAoZGVjb2RlVVJJQ29tcG9uZW50KCIlMmIiKSAhPT0gIisiKSB7CiAgJEVSUk9SKCcjOC4xOiBkZWNvZGVVUklDb21wb25lbnQoIiUyYiIpIGVxdWFsICIrIiwgbm90ICIlMkIiIG9yICIlMmIiJyk7Cn0KCi8vQ0hFQ0sjOQppZiAoZGVjb2RlVVJJQ29tcG9uZW50KCIlMjQiKSAhPT0gIiQiKSB7CiAgJEVSUk9SKCcjOTogZGVjb2RlVVJJQ29tcG9uZW50KCIlMjQiKSBlcXVhbCAiJCIsIG5vdCAiJTI0IicpOwp9CgovL0NIRUNLIzEwCmlmIChkZWNvZGVVUklDb21wb25lbnQoIiUyYyIpICE9PSAiLCIpIHsKICAkRVJST1IoJyMxMDogZGVjb2RlVVJJQ29tcG9uZW50KCIlMmMiKSBlcXVhbCAiLCIsIG5vdCAiJTJDIiBvciAiJTJjIicpOwp9CgovL0NIRUNLIzExCmlmIChkZWNvZGVVUklDb21wb25lbnQoIiUyMyIpICE9PSAiIyIpIHsKICAkRVJST1IoJyMxMTogZGVjb2RlVVJJQ29tcG9uZW50KCIlMjMiKSBlcXVhbCAiIyIsIG5vdCAiJTIzIicpOwp9Cgo=","commentary":"Let reservedURIComponentSet be the empty string","description":"uriReserved and \"#\" not in reservedURIComponentSet. HexDigit in [0..9, a..f]","path":"TestCases/ch15/15.1/15.1.3/15.1.3.2/S15.1.3.2_A3_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBMZXQgcmVzZXJ2ZWRVUklDb21wb25lbnRTZXQgYmUgdGhlIGVtcHR5IHN0cmluZwogKgogKiBAcGF0aCBjaDE1LzE1LjEvMTUuMS4zLzE1LjEuMy4yL1MxNS4xLjMuMl9BM19UMy5qcwogKiBAZGVzY3JpcHRpb24gQ29tcGxleCB0ZXN0CiAqLwoKLy9DSEVDSyMxCmlmIChkZWNvZGVVUklDb21wb25lbnQoIiUzQiUyRiUzRiUzQSU0MCUyNiUzRCUyQiUyNCUyQyUyMyIpICE9PSAiOy8/OkAmPSskLCMiKSB7CiAgJEVSUk9SKCcjMTogZGVjb2RlVVJJQ29tcG9uZW50KCIlM0IlMkYlM0YlM0ElNDAlMjYlM0QlMkIlMjQlMkMlMjMiKSBlcXVhbCAiOy8/OkAmPSskLCMiLCBub3QgIiUzQiUyRiUzRiUzQSU0MCUyNiUzRCUyQiUyNCUyQyUyMyInKTsKfQoKLy9DSEVDSyMyCmlmIChkZWNvZGVVUklDb21wb25lbnQoIiUzYiUyZiUzZiUzYSU0MCUyNiUzZCUyYiUyNCUyYyUyMyIpICE9PSAiOy8/OkAmPSskLCMiKSB7CiAgJEVSUk9SKCcjMjogZGVjb2RlVVJJQ29tcG9uZW50KCIlM2IlMmYlM2YlM2ElNDAlMjYlM2QlMmIlMjQlMmMlMjMiKSBlcXVhbCAiOy8/OkAmPSskLCMiIG9yICIlM0IlMkYlM0YlM0ElNDAlMjYlM0QlMkIlMjQlMkMlMjMiLCBub3QgIiUzYiUyZiUzZiUzYSU0MCUyNiUzZCUyYiUyNCUyYyUyMyInKTsKfQoK","commentary":"Let reservedURIComponentSet be the empty string","description":"Complex test","path":"TestCases/ch15/15.1/15.1.3/15.1.3.2/S15.1.3.2_A3_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBVUkkgdGVzdHMKICoKICogQHBhdGggY2gxNS8xNS4xLzE1LjEuMy8xNS4xLjMuMi9TMTUuMS4zLjJfQTRfVDEuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIEVOR0xJU0ggQUxQSEFCRVQKICovCgovL0NIRUNLIzEKaWYgKGRlY29kZVVSSUNvbXBvbmVudCgiaHR0cDovL3VuaXByby5ydS8wMTIzNDU2Nzg5IikgIT09ICJodHRwOi8vdW5pcHJvLnJ1LzAxMjM0NTY3ODkiKSB7CiAgJEVSUk9SKCcjMTogaHR0cDovL3VuaXByby5ydS8wMTIzNDU2Nzg5Jyk7Cn0KCi8vQ0hFQ0sjMgppZiAoZGVjb2RlVVJJQ29tcG9uZW50KCIlNDElNDIlNDMlNDQlNDUlNDYlNDclNDglNDklNEElNEIlNEMlNEQlNEUlNEYlNTAlNTElNTIlNTMlNTQlNTUlNTYlNTclNTglNTklNUEiKSAhPT0gIkFCQ0RFRkdISUpLTE1OT1BRUlNUVVZXWFlaIikgewogICRFUlJPUignIzI6IEFCQ0RFRkdISUpLTE1OT1BRUlNUVVZXWFlaJyk7Cn0KCi8vQ0hFQ0sjMwppZiAoZGVjb2RlVVJJQ29tcG9uZW50KCIlNjElNjIlNjMlNjQlNjUlNjYlNjclNjglNjklNkElNkIlNkMlNkQlNkUlNkYlNzAlNzElNzIlNzMlNzQlNzUlNzYlNzclNzglNzklN0EiKSAhPT0gImFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6IikgewogICRFUlJPUignIzM6IGFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6Jyk7Cn0KCg==","commentary":"URI tests","description":"Checking ENGLISH ALPHABET","path":"TestCases/ch15/15.1/15.1.3/15.1.3.2/S15.1.3.2_A4_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBVUkkgdGVzdHMKICoKICogQHBhdGggY2gxNS8xNS4xLzE1LjEuMy8xNS4xLjMuMi9TMTUuMS4zLjJfQTRfVDIuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIFJVU1NJQU4gQUxQSEFCRVQKICovCgovL0NIRUNLIzEKaWYgKGRlY29kZVVSSUNvbXBvbmVudCgiaHR0cDovL3J1Lndpa2lwZWRpYS5vcmcvd2lraS8lZDAlYWUlRDAlYmQlRDAlQjglRDAlQkElRDAlQkUlRDAlQjQiKSAhPT0gImh0dHA6Ly9ydS53aWtpcGVkaWEub3JnL3dpa2kv0K7QvdC40LrQvtC0IikgewogICRFUlJPUignIzE6IGh0dHA6Ly9ydS53aWtpcGVkaWEub3JnL3dpa2kv0K7QvdC40LrQvtC0Jyk7Cn0KCi8vQ0hFQ0sjMgppZiAoZGVjb2RlVVJJQ29tcG9uZW50KCJodHRwOi8vcnUud2lraXBlZGlhLm9yZy93aWtpLyVEMCVBRSVEMCVCRCVEMCVCOCVEMCVCQSVEMCVCRSVEMCVCNCMlRDAlQTElRDElODElRDElOEIlRDAlQkIlRDAlQkElRDAlQjgiKSAhPT0gImh0dHA6Ly9ydS53aWtpcGVkaWEub3JnL3dpa2kv0K7QvdC40LrQvtC0I9Ch0YHRi9C70LrQuCIpIHsKICAkRVJST1IoJyMyOiBodHRwOi8vcnUud2lraXBlZGlhLm9yZy93aWtpL9Cu0L3QuNC60L7QtCPQodGB0YvQu9C60LgnKTsKfQoKLy9DSEVDSyMzCmlmIChkZWNvZGVVUklDb21wb25lbnQoImh0dHA6Ly9ydS53aWtpcGVkaWEub3JnL3dpa2kvJUQwJUFFJUQwJUJEJUQwJUI4JUQwJUJBJUQwJUJFJUQwJUI0JTIzJUQwJTkyJUQwJUI1JUQxJTgwJUQxJTgxJUQwJUI4JUQwJUI4JTIwJUQwJUFFJUQwJUJEJUQwJUI4JUQwJUJBJUQwJUJFJUQwJUI0JUQwJUIwIikgIT09ICJodHRwOi8vcnUud2lraXBlZGlhLm9yZy93aWtpL9Cu0L3QuNC60L7QtCPQktC10YDRgdC40Lgg0K7QvdC40LrQvtC00LAiKSB7CiAgJEVSUk9SKCcjMzogaHR0cDovL3J1Lndpa2lwZWRpYS5vcmcvd2lraS/QrtC90LjQutC+0LQlMjPQktC10YDRgdC40Lgg0K7QvdC40LrQvtC00LAnKTsKfQoK","commentary":"URI tests","description":"Checking RUSSIAN ALPHABET","path":"TestCases/ch15/15.1/15.1.3/15.1.3.2/S15.1.3.2_A4_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBVUkkgdGVzdHMKICoKICogQHBhdGggY2gxNS8xNS4xLzE1LjEuMy8xNS4xLjMuMi9TMTUuMS4zLjJfQTRfVDMuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIFVSTCB3aXRoIExpbmUgVGVybWluYXRvcgogKi8KCi8vQ0hFQ0sjMQppZiAoZGVjb2RlVVJJQ29tcG9uZW50KCJodHRwOi8vdW5pcHJvLnJ1LyUwQWFib3V0IikgIT09ICJodHRwOi8vdW5pcHJvLnJ1L1xuYWJvdXQiKSB7CiAgJEVSUk9SKCcjMTogaHR0cDovL3VuaXByby5ydS8lQTBhYm91dCcpOwp9CgovL0NIRUNLIzIKaWYgKGRlY29kZVVSSUNvbXBvbmVudCgiaHR0cDovL3VuaXByby5ydS8lMEJhYm91dCIpICE9PSAiaHR0cDovL3VuaXByby5ydS9cdmFib3V0IikgewogICRFUlJPUignIzI6IGh0dHA6Ly91bmlwcm8ucnUvJTBCYWJvdXQnKTsKfQoKLy9DSEVDSyMzCmlmIChkZWNvZGVVUklDb21wb25lbnQoImh0dHA6Ly91bmlwcm8ucnUvJTBDYWJvdXQiKSAhPT0gImh0dHA6Ly91bmlwcm8ucnUvXGZhYm91dCIpIHsKICAkRVJST1IoJyMzOiBodHRwOi8vdW5pcHJvLnJ1LyUwQ2Fib3V0Jyk7Cn0KCi8vQ0hFQ0sjNAppZiAoZGVjb2RlVVJJQ29tcG9uZW50KCJodHRwOi8vdW5pcHJvLnJ1LyUwRGFib3V0IikgIT09ICJodHRwOi8vdW5pcHJvLnJ1L1xyYWJvdXQiKSB7CiAgJEVSUk9SKCcjNDogaHR0cDovL3VuaXByby5ydS8lMERhYm91dCcpOwp9Cgo=","commentary":"URI tests","description":"Checking URL with Line Terminator","path":"TestCases/ch15/15.1/15.1.3/15.1.3.2/S15.1.3.2_A4_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBVUkkgdGVzdHMKICoKICogQHBhdGggY2gxNS8xNS4xLzE1LjEuMy8xNS4xLjMuMi9TMTUuMS4zLjJfQTRfVDQuanMKICogQGRlc2NyaXB0aW9uIFRlc3Qgc29tZSB1cmwKICovCgovL0NIRUNLIzEKaWYgKGRlY29kZVVSSUNvbXBvbmVudCgiIikgIT09ICIiKSB7CiAgJEVSUk9SKCcjMTogIiInKTsKfQoKLy9DSEVDSyMyCmlmIChkZWNvZGVVUklDb21wb25lbnQoImh0dHA6Ly91bmlwcm8ucnUiKSAhPT0gImh0dHA6Ly91bmlwcm8ucnUiKSB7CiAgJEVSUk9SKCcjMjogaHR0cDovL3VuaXByby5ydScpOwp9CgovL0NIRUNLIzMKaWYgKGRlY29kZVVSSUNvbXBvbmVudCgiaHR0cDolMmYlMkZ3d3cuZ29vZ2xlLnJ1L3N1cHBvcnQvam9icy9iaW4vc3RhdGljLnB5JTNGcGFnZSUzZHdoeS1ydS5odG1sJTI2c2lkJTNEbGl2ZWFuZHdvcmsiKSAhPT0gImh0dHA6Ly93d3cuZ29vZ2xlLnJ1L3N1cHBvcnQvam9icy9iaW4vc3RhdGljLnB5P3BhZ2U9d2h5LXJ1Lmh0bWwmc2lkPWxpdmVhbmR3b3JrIikgewogICRFUlJPUignIzM6IGh0dHA6JTJmJTJGd3d3Lmdvb2dsZS5ydS9zdXBwb3J0L2pvYnMvYmluL3N0YXRpYy5weSUzRnBhZ2UzZHdoeS1ydS5odG1sJTI2c2lkM0RsaXZlYW5kd29yayInKTsKfSAgICAgICAgICAgCgovL0NIRUNLIzQKaWYgKGRlY29kZVVSSUNvbXBvbmVudCgiaHR0cDolMkYlMkZlbi53aWtpcGVkaWEub3JnL3dpa2kvVVRGLTglMjNEZXNjcmlwdGlvbiIpICE9PSAiaHR0cDovL2VuLndpa2lwZWRpYS5vcmcvd2lraS9VVEYtOCNEZXNjcmlwdGlvbiIpIHsKICAkRVJST1IoJyM0OiBodHRwOiUyRiUyRmVuLndpa2lwZWRpYS5vcmcvd2lraS9VVEYtOCUyM0Rlc2NyaXB0aW9uJyk7Cn0KCg==","commentary":"URI tests","description":"Test some url","path":"TestCases/ch15/15.1/15.1.3/15.1.3.2/S15.1.3.2_A4_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgbGVuZ3RoIHByb3BlcnR5IG9mIGRlY29kZVVSSUNvbXBvbmVudCBoYXMgdGhlIGF0dHJpYnV0ZSBEb250RW51bQogKgogKiBAcGF0aCBjaDE1LzE1LjEvMTUuMS4zLzE1LjEuMy4yL1MxNS4xLjMuMl9BNS4xLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyB1c2UgcHJvcGVydHlJc0VudW1lcmFibGUsIGZvci1pbgogKi8KCi8vQ0hFQ0sjMQppZiAoZGVjb2RlVVJJQ29tcG9uZW50LnByb3BlcnR5SXNFbnVtZXJhYmxlKCdsZW5ndGgnKSAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyMxOiBkZWNvZGVVUklDb21wb25lbnQucHJvcGVydHlJc0VudW1lcmFibGUoXCdsZW5ndGhcJykgPT09IGZhbHNlLiBBY3R1YWw6ICcgKyAoZGVjb2RlVVJJQ29tcG9uZW50LnByb3BlcnR5SXNFbnVtZXJhYmxlKCdsZW5ndGgnKSkpOwp9CgovL0NIRUNLIzIKcmVzdWx0ID0gdHJ1ZTsKZm9yIChwIGluIGRlY29kZVVSSUNvbXBvbmVudCl7CiAgaWYgKHAgPT09ICJsZW5ndGgiKSB7CiAgICByZXN1bHQgPSBmYWxzZTsKICB9ICAKfQoKaWYgKHJlc3VsdCAhPT0gdHJ1ZSkgewogICRFUlJPUignIzI6IHJlc3VsdCA9IHRydWU7IGZvciAocCBpbiBkZWNvZGVVUklDb21wb25lbnQpIHsgaWYgKHAgPT09ICJsZW5ndGgiKSByZXN1bHQgPSBmYWxzZTsgfSAgcmVzdWx0ID09PSB0cnVlOycpOwp9Cgo=","commentary":"The length property of decodeURIComponent has the attribute DontEnum","description":"Checking use propertyIsEnumerable, for-in","path":"TestCases/ch15/15.1/15.1.3/15.1.3.2/S15.1.3.2_A5.1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgbGVuZ3RoIHByb3BlcnR5IG9mIGRlY29kZVVSSUNvbXBvbmVudCBoYXMgdGhlIGF0dHJpYnV0ZSBEb250RGVsZXRlCiAqCiAqIEBwYXRoIGNoMTUvMTUuMS8xNS4xLjMvMTUuMS4zLjIvUzE1LjEuMy4yX0E1LjIuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIHVzZSBoYXNPd25Qcm9wZXJ0eSwgZGVsZXRlCiAqLwoKLy9DSEVDSyMxCmlmIChkZWNvZGVVUklDb21wb25lbnQuaGFzT3duUHJvcGVydHkoJ2xlbmd0aCcpICE9PSB0cnVlKSB7CiAgJEZBSUwoJyMxOiBkZWNvZGVVUklDb21wb25lbnQuaGFzT3duUHJvcGVydHkoXCdsZW5ndGhcJykgPT09IHRydWUuIEFjdHVhbDogJyArIChkZWNvZGVVUklDb21wb25lbnQuaGFzT3duUHJvcGVydHkoJ2xlbmd0aCcpKSk7Cn0KCmRlbGV0ZSBkZWNvZGVVUklDb21wb25lbnQubGVuZ3RoOwoKLy9DSEVDSyMyCmlmIChkZWNvZGVVUklDb21wb25lbnQuaGFzT3duUHJvcGVydHkoJ2xlbmd0aCcpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMjogZGVsZXRlIGRlY29kZVVSSUNvbXBvbmVudC5sZW5ndGg7IGRlY29kZVVSSUNvbXBvbmVudC5oYXNPd25Qcm9wZXJ0eShcJ2xlbmd0aFwnKSA9PT0gdHJ1ZS4gQWN0dWFsOiAnICsgKGRlY29kZVVSSUNvbXBvbmVudC5oYXNPd25Qcm9wZXJ0eSgnbGVuZ3RoJykpKTsKfQoKLy9DSEVDSyMzCmlmIChkZWNvZGVVUklDb21wb25lbnQubGVuZ3RoID09PSB1bmRlZmluZWQpIHsKICAkRVJST1IoJyMzOiBkZWxldGUgZGVjb2RlVVJJQ29tcG9uZW50Lmxlbmd0aDsgZGVjb2RlVVJJQ29tcG9uZW50Lmxlbmd0aCAhPT0gdW5kZWZpbmVkJyk7Cn0KCgoKCg==","commentary":"The length property of decodeURIComponent has the attribute DontDelete","description":"Checking use hasOwnProperty, delete","path":"TestCases/ch15/15.1/15.1.3/15.1.3.2/S15.1.3.2_A5.2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgbGVuZ3RoIHByb3BlcnR5IG9mIGRlY29kZVVSSUNvbXBvbmVudCBoYXMgdGhlIGF0dHJpYnV0ZSBSZWFkT25seQogKgogKiBAcGF0aCBjaDE1LzE1LjEvMTUuMS4zLzE1LjEuMy4yL1MxNS4xLjMuMl9BNS4zLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiB2YXJ5aW5nIHRoZSBsZW5ndGggcHJvcGVydHkgZmFpbHMKICovCgovL0NIRUNLIzEKeCA9IGRlY29kZVVSSUNvbXBvbmVudC5sZW5ndGg7CmRlY29kZVVSSUNvbXBvbmVudC5sZW5ndGggPSBJbmZpbml0eTsKaWYgKGRlY29kZVVSSUNvbXBvbmVudC5sZW5ndGggIT09IHgpIHsKICAkRVJST1IoJyMxOiB4ID0gZGVjb2RlVVJJQ29tcG9uZW50Lmxlbmd0aDsgZGVjb2RlVVJJQ29tcG9uZW50Lmxlbmd0aCA9IEluZmluaXR5OyBkZWNvZGVVUklDb21wb25lbnQubGVuZ3RoID09PSB4LiBBY3R1YWw6ICcgKyAoZGVjb2RlVVJJQ29tcG9uZW50Lmxlbmd0aCkpOwp9CgoK","commentary":"The length property of decodeURIComponent has the attribute ReadOnly","description":"Checking if varying the length property fails","path":"TestCases/ch15/15.1/15.1.3/15.1.3.2/S15.1.3.2_A5.3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgbGVuZ3RoIHByb3BlcnR5IG9mIGRlY29kZVVSSUNvbXBvbmVudCBpcyAxCiAqCiAqIEBwYXRoIGNoMTUvMTUuMS8xNS4xLjMvMTUuMS4zLjIvUzE1LjEuMy4yX0E1LjQuanMKICogQGRlc2NyaXB0aW9uIGRlY29kZVVSSUNvbXBvbmVudC5sZW5ndGggPT09IDEKICovCgovL0NIRUNLIzEKaWYgKGRlY29kZVVSSUNvbXBvbmVudC5sZW5ndGggIT09IDEpIHsKICAkRVJST1IoJyMxOiBkZWNvZGVVUklDb21wb25lbnQubGVuZ3RoID09PSAxLiBBY3R1YWw6ICcgKyAoZGVjb2RlVVJJQ29tcG9uZW50Lmxlbmd0aCkpOwp9IAoKCg==","commentary":"The length property of decodeURIComponent is 1","description":"decodeURIComponent.length === 1","path":"TestCases/ch15/15.1/15.1.3/15.1.3.2/S15.1.3.2_A5.4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgZGVjb2RlVVJJQ29tcG9uZW50IHByb3BlcnR5IGhhcyB0aGUgYXR0cmlidXRlIERvbnRFbnVtCiAqCiAqIEBwYXRoIGNoMTUvMTUuMS8xNS4xLjMvMTUuMS4zLjIvUzE1LjEuMy4yX0E1LjUuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIHVzZSBwcm9wZXJ0eUlzRW51bWVyYWJsZSwgZm9yLWluCiAqLwoKLy9DSEVDSyMxCmlmICh0aGlzLnByb3BlcnR5SXNFbnVtZXJhYmxlKCdkZWNvZGVVUklDb21wb25lbnQnKSAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyMxOiB0aGlzLnByb3BlcnR5SXNFbnVtZXJhYmxlKFwnZGVjb2RlVVJJQ29tcG9uZW50XCcpID09PSBmYWxzZS4gQWN0dWFsOiAnICsgKHRoaXMucHJvcGVydHlJc0VudW1lcmFibGUoJ2RlY29kZVVSSUNvbXBvbmVudCcpKSk7Cn0KCi8vQ0hFQ0sjMgpyZXN1bHQgPSB0cnVlOwpmb3IgKHAgaW4gdGhpcyl7CiAgaWYgKHAgPT09ICJkZWNvZGVVUklDb21wb25lbnQiKSB7CiAgICByZXN1bHQgPSBmYWxzZTsKICB9ICAKfQoKaWYgKHJlc3VsdCAhPT0gdHJ1ZSkgewogICRFUlJPUignIzI6IHJlc3VsdCA9IHRydWU7IGZvciAocCBpbiB0aGlzKSB7IGlmIChwID09PSAiZGVjb2RlVVJJQ29tcG9uZW50IikgcmVzdWx0ID0gZmFsc2U7IH0gIHJlc3VsdCA9PT0gdHJ1ZTsnKTsKfQoK","commentary":"The decodeURIComponent property has the attribute DontEnum","description":"Checking use propertyIsEnumerable, for-in","path":"TestCases/ch15/15.1/15.1.3/15.1.3.2/S15.1.3.2_A5.5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgZGVjb2RlVVJJQ29tcG9uZW50IHByb3BlcnR5IGhhcyBub3QgcHJvdG90eXBlIHByb3BlcnR5CiAqCiAqIEBwYXRoIGNoMTUvMTUuMS8xNS4xLjMvMTUuMS4zLjIvUzE1LjEuMy4yX0E1LjYuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGRlY29kZVVSSUNvbXBvbmVudC5wcm90b3R5cGUKICovCgovL0NIRUNLIzEKaWYgKGRlY29kZVVSSUNvbXBvbmVudC5wcm90b3R5cGUgIT09IHVuZGVmaW5lZCkgewogICRFUlJPUignIzE6IGRlY29kZVVSSUNvbXBvbmVudC5wcm90b3R5cGUgPT09IHVuZGVmaW5lZC4gQWN0dWFsOiAnICsgKGRlY29kZVVSSUNvbXBvbmVudC5wcm90b3R5cGUpKTsKfQoK","commentary":"The decodeURIComponent property has not prototype property","description":"Checking decodeURIComponent.prototype","path":"TestCases/ch15/15.1/15.1.3/15.1.3.2/S15.1.3.2_A5.6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgZGVjb2RlVVJJQ29tcG9uZW50IHByb3BlcnR5IGNhbid0IGJlIHVzZWQgYXMgY29uc3RydWN0b3IKICoKICogQHBhdGggY2gxNS8xNS4xLzE1LjEuMy8xNS4xLjMuMi9TMTUuMS4zLjJfQTUuNy5qcwogKiBAZGVzY3JpcHRpb24gSWYgcHJvcGVydHkgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBpbnRlcm5hbCBbW0NvbnN0cnVjdF1dIG1ldGhvZCwgdGhyb3cgYSBUeXBlRXJyb3IgZXhjZXB0aW9uCiAqLwoKLy9DSEVDSyMxCgp0cnkgewogIG5ldyBkZWNvZGVVUklDb21wb25lbnQoKTsKICAkRVJST1IoJyMxLjE6IG5ldyBkZWNvZGVVUklDb21wb25lbnQoKSB0aHJvdyBUeXBlRXJyb3IuIEFjdHVhbDogJyArIChuZXcgZGVjb2RlVVJJQ29tcG9uZW50KCkpKTsKfSBjYXRjaCAoZSkgewogIGlmICgoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikgIT09IHRydWUpIHsKICAgICRFUlJPUignIzEuMjogbmV3IGRlY29kZVVSSUNvbXBvbmVudCgpIHRocm93IFR5cGVFcnJvci4gQWN0dWFsOiAnICsgKGUpKTsKICB9Cn0KCg==","commentary":"The decodeURIComponent property can't be used as constructor","description":"If property does not implement the internal [[Construct]] method, throw a TypeError exception","path":"TestCases/ch15/15.1/15.1.3/15.1.3.2/S15.1.3.2_A5.7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB1c2UgVG9TdHJpbmcKICoKICogQHBhdGggY2gxNS8xNS4xLzE1LjEuMy8xNS4xLjMuMi9TMTUuMS4zLjJfQTZfVDEuanMKICogQGRlc2NyaXB0aW9uIElmIFR5cGUodmFsdWUpIGlzIE9iamVjdCwgZXZhbHVhdGUgVG9QcmltaXRpdmUodmFsdWUsIFN0cmluZykKICovCgovL0NIRUNLIzEKdmFyIG9iamVjdCA9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gIiU1RSJ9fTsKaWYgKGRlY29kZVVSSUNvbXBvbmVudChvYmplY3QpICE9PSAiW29iamVjdCBPYmplY3RdIikgewogICRFUlJPUignIzE6IHZhciBvYmplY3QgPSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuICIlNUUifX07IGRlY29kZVVSSUNvbXBvbmVudChvYmplY3QpID09PSBbb2JqZWN0IE9iamVjdF0uIEFjdHVhbDogJyArIChkZWNvZGVVUklDb21wb25lbnQob2JqZWN0KSkpOwp9CgovL0NIRUNLIzIKdmFyIG9iamVjdCA9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gIiJ9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuICIlNUUifX07CmlmIChkZWNvZGVVUklDb21wb25lbnQob2JqZWN0KSAhPT0gIl4iKSB7CiAgJEVSUk9SKCcjMjogdmFyIG9iamVjdCA9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gIiJ9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuICIlNUUifX07IGRlY29kZVVSSUNvbXBvbmVudChvYmplY3QpID09PSAiXiIuIEFjdHVhbDogJyArIChkZWNvZGVVUklDb21wb25lbnQob2JqZWN0KSkpOwp9IAoKLy9DSEVDSyMzCnZhciBvYmplY3QgPSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuICIlNUUifSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiB7fX19OwppZiAoZGVjb2RlVVJJQ29tcG9uZW50KG9iamVjdCkgIT09ICJeIikgewogICRFUlJPUignIzM6IHZhciBvYmplY3QgPSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuICIlNUUifSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiB7fX19OyBkZWNvZGVVUklDb21wb25lbnQob2JqZWN0KSA9PT0gIl4iLiBBY3R1YWw6ICcgKyAoZGVjb2RlVVJJQ29tcG9uZW50KG9iamVjdCkpKTsKfQoKLy9DSEVDSyM0CnRyeSB7CiAgdmFyIG9iamVjdCA9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHt0aHJvdyAiZXJyb3IifSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiAiJTVFIn19OwogIGlmIChkZWNvZGVVUklDb21wb25lbnQob2JqZWN0KSAhPT0gIl4iKSB7CiAgICAkRVJST1IoJyM0LjE6IHZhciBvYmplY3QgPSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7dGhyb3cgImVycm9yIn0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gIiU1RSJ9fTsgZGVjb2RlVVJJQ29tcG9uZW50KG9iamVjdCkgPT09ICJeIi4gQWN0dWFsOiAnICsgKGRlY29kZVVSSUNvbXBvbmVudChvYmplY3QpKSk7CiAgfQp9CmNhdGNoIChlKSB7CiAgaWYgKGUgPT09ICJlcnJvciIpIHsKICAgICRFUlJPUignIzQuMjogdmFyIG9iamVjdCA9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHt0aHJvdyAiZXJyb3IifSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiAiJTVFIn19OyBkZWNvZGVVUklDb21wb25lbnQob2JqZWN0KSBub3QgdGhyb3cgImVycm9yIicpOwogIH0gZWxzZSB7CiAgICAkRVJST1IoJyM0LjM6IHZhciBvYmplY3QgPSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7dGhyb3cgImVycm9yIn0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gIiU1RSJ9fTsgZGVjb2RlVVJJQ29tcG9uZW50KG9iamVjdCkgbm90IHRocm93IEVycm9yLiBBY3R1YWw6ICcgKyAoZSkpOwogIH0KfQoKLy9DSEVDSyM1CnZhciBvYmplY3QgPSB7dG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiAiJTVFIn19OwppZiAoZGVjb2RlVVJJQ29tcG9uZW50KG9iamVjdCkgIT09ICJeIikgewogICRFUlJPUignIzU6IHZhciBvYmplY3QgPSB7dG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiAiJTVFIn19OyBkZWNvZGVVUklDb21wb25lbnQob2JqZWN0KSA9PT0gIl4iLiBBY3R1YWw6ICcgKyAoZGVjb2RlVVJJQ29tcG9uZW50KG9iamVjdCkpKTsKfQoKLy9DSEVDSyM2CnZhciBvYmplY3QgPSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIHt9fSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiAiJTVFIn19CmlmIChkZWNvZGVVUklDb21wb25lbnQob2JqZWN0KSAhPT0gIl4iKSB7CiAgJEVSUk9SKCcjNjogdmFyIG9iamVjdCA9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4ge319LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuICIlNUUifX07IGRlY29kZVVSSUNvbXBvbmVudChvYmplY3QpID09PSAiXiIuIEFjdHVhbDogJyArIChkZWNvZGVVUklDb21wb25lbnQob2JqZWN0KSkpOwp9CgovL0NIRUNLIzcKdHJ5IHsKICB2YXIgb2JqZWN0ID0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAiJTVFIn0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHt0aHJvdyAiZXJyb3IifX07CiAgZGVjb2RlVVJJQ29tcG9uZW50KG9iamVjdCk7CiAgJEVSUk9SKCcjNy4xOiB2YXIgb2JqZWN0ID0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAiJTVFIn0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHt0aHJvdyAiZXJyb3IifX07IGRlY29kZVVSSUNvbXBvbmVudChvYmplY3QpIHRocm93ICJlcnJvciIuIEFjdHVhbDogJyArIChkZWNvZGVVUklDb21wb25lbnQob2JqZWN0KSkpOwp9ICAKY2F0Y2ggKGUpIHsKICBpZiAoZSAhPT0gImVycm9yIikgewogICAgJEVSUk9SKCcjNy4yOiB2YXIgb2JqZWN0ID0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAiJTVFIn0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHt0aHJvdyAiZXJyb3IifX07IGRlY29kZVVSSUNvbXBvbmVudChvYmplY3QpIHRocm93ICJlcnJvciIuIEFjdHVhbDogJyArIChlKSk7CiAgfSAKfQoKLy9DSEVDSyM4CnRyeSB7CiAgdmFyIG9iamVjdCA9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4ge319LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIHt9fX07CiAgZGVjb2RlVVJJQ29tcG9uZW50KG9iamVjdCk7CiAgJEVSUk9SKCcjOC4xOiB2YXIgb2JqZWN0ID0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiB7fX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4ge319fTsgZGVjb2RlVVJJQ29tcG9uZW50KG9iamVjdCkgdGhyb3cgVHlwZUVycm9yLiBBY3R1YWw6ICcgKyAoZGVjb2RlVVJJQ29tcG9uZW50KG9iamVjdCkpKTsKfSAgCmNhdGNoIChlKSB7CiAgaWYgKChlIGluc3RhbmNlb2YgVHlwZUVycm9yKSAhPT0gdHJ1ZSkgewogICAgJEVSUk9SKCcjOC4yOiB2YXIgb2JqZWN0ID0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiB7fX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4ge319fTsgZGVjb2RlVVJJQ29tcG9uZW50KG9iamVjdCkgdGhyb3cgVHlwZUVycm9yLiBBY3R1YWw6ICcgKyAoZSkpOwogIH0gCn0KCg==","commentary":"Operator use ToString","description":"If Type(value) is Object, evaluate ToPrimitive(value, String)","path":"TestCases/ch15/15.1/15.1.3/15.1.3.2/S15.1.3.2_A6_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBzdHJpbmcuY2hhckF0KGspIGluIFsweERDMDAgLSAweERGRkZdLCB0aHJvdyBVUklFcnJvcgogKgogKiBAcGF0aCBjaDE1LzE1LjEvMTUuMS4zLzE1LjEuMy4zL1MxNS4xLjMuM19BMS4xX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBDb21wbGV4IHRlc3RzCiAqLwoKZXJyb3JDb3VudCA9IDA7CmNvdW50ID0gMDsKdmFyIGluZGV4UDsKdmFyIGluZGV4TyA9IDA7Cgpmb3IgKGluZGV4ID0gMHhEQzAwOyBpbmRleCA8PSAweERGRkY7IGluZGV4KyspIHsKICBjb3VudCsrOyAKICBoZXggPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXgpOwogIHRyeSB7CiAgICBlbmNvZGVVUkkoU3RyaW5nLmZyb21DaGFyQ29kZShpbmRleCkpOwogIH0gY2F0Y2ggKGUpIHsgCiAgICBpZiAoKGUgaW5zdGFuY2VvZiBVUklFcnJvcikgPT09IHRydWUpIGNvbnRpbnVlOyAgICAgICAgICAgICAgICAKICB9CiAgaWYgKGluZGV4TyA9PT0gMCkgeyAKICAgIGluZGV4TyA9IGluZGV4OwogIH0gZWxzZSB7CiAgICBpZiAoKGluZGV4IC0gaW5kZXhQKSAhPT0gMSkgeyAgICAgICAgICAgICAKICAgICAgaWYgKChpbmRleFAgLSBpbmRleE8pICE9PSAwKSB7CiAgICAgICAgdmFyIGhleFAgPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhQKTsKICAgICAgICB2YXIgaGV4TyA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleE8pOwogICAgICAgICRFUlJPUignIycgKyBoZXhPICsgJy0nICsgaGV4UCArICcgJyk7CiAgICAgIH0gCiAgICAgIGVsc2UgewogICAgICAgIHZhciBoZXhQID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4UCk7CiAgICAgICAgJEVSUk9SKCcjJyArIGhleFAgKyAnICcpOwogICAgICB9ICAKICAgICAgaW5kZXhPID0gaW5kZXg7CiAgICB9ICAgICAgICAgCiAgfQogIGluZGV4UCA9IGluZGV4OwogIGVycm9yQ291bnQrKzsgICAgICAgCn0KCmlmIChlcnJvckNvdW50ID4gMCkgewogIGlmICgoaW5kZXhQIC0gaW5kZXhPKSAhPT0gMCkgewogICAgdmFyIGhleFAgPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhQKTsKICAgIHZhciBoZXhPID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4Tyk7CiAgICAkRVJST1IoJyMnICsgaGV4TyArICctJyArIGhleFAgKyAnICcpOwogIH0gZWxzZSB7CiAgICB2YXIgaGV4UCA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleFApOwogICAgJEVSUk9SKCcjJyArIGhleFAgKyAnICcpOwogIH0gICAgIAogICRFUlJPUignVG90YWwgZXJyb3I6ICcgKyBlcnJvckNvdW50ICsgJyBiYWQgVW5pY29kZSBjaGFyYWN0ZXIgaW4gJyArIGNvdW50ICsgJyAnKTsKfQoKZnVuY3Rpb24gZGVjaW1hbFRvSGV4U3RyaW5nKG4pIHsKICBuID0gTnVtYmVyKG4pOwogIHZhciBoID0gIiI7CiAgZm9yICh2YXIgaSA9IDM7IGkgPj0gMDsgaS0tKSB7CiAgICBpZiAobiA+PSBNYXRoLnBvdygxNiwgaSkpIHsKICAgICAgdmFyIHQgPSBNYXRoLmZsb29yKG4gLyBNYXRoLnBvdygxNiwgaSkpOwogICAgICBuIC09IHQgKiBNYXRoLnBvdygxNiwgaSk7CiAgICAgIGlmICggdCA+PSAxMCApIHsKICAgICAgICBpZiAoIHQgPT0gMTAgKSB7IGggKz0gIkEiOyB9CiAgICAgICAgaWYgKCB0ID09IDExICkgeyBoICs9ICJCIjsgfQogICAgICAgIGlmICggdCA9PSAxMiApIHsgaCArPSAiQyI7IH0KICAgICAgICBpZiAoIHQgPT0gMTMgKSB7IGggKz0gIkQiOyB9CiAgICAgICAgaWYgKCB0ID09IDE0ICkgeyBoICs9ICJFIjsgfQogICAgICAgIGlmICggdCA9PSAxNSApIHsgaCArPSAiRiI7IH0KICAgICAgfSBlbHNlIHsKICAgICAgICBoICs9IFN0cmluZyh0KTsKICAgICAgfQogICAgfSBlbHNlIHsKICAgICAgaCArPSAiMCI7CiAgICB9CiAgfQogIHJldHVybiBoOwp9Cgo=","commentary":"If string.charAt(k) in [0xDC00 - 0xDFFF], throw URIError","description":"Complex tests","path":"TestCases/ch15/15.1/15.1.3/15.1.3.3/S15.1.3.3_A1.1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBzdHJpbmcuY2hhckF0KGspIGluIFsweERDMDAgLSAweERGRkZdLCB0aHJvdyBVUklFcnJvcgogKgogKiBAcGF0aCBjaDE1LzE1LjEvMTUuMS4zLzE1LjEuMy4zL1MxNS4xLjMuM19BMS4xX1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBDb21wbGV4IHRlc3RzCiAqLwoKZXJyb3JDb3VudCA9IDA7CmNvdW50ID0gMDsKdmFyIGluZGV4UDsKdmFyIGluZGV4TyA9IDA7Cgpmb3IgKGluZGV4ID0gMHhEQzAwOyBpbmRleCA8PSAweERGRkY7IGluZGV4KyspIHsgCiAgY291bnQrKzsgCiAgaGV4ID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4KTsKICB0cnkgewogICAgZW5jb2RlVVJJKFN0cmluZy5mcm9tQ2hhckNvZGUoaW5kZXgsIDB4MDA0MSkpOwogIH0gY2F0Y2ggKGUpIHsgCiAgICBpZiAoKGUgaW5zdGFuY2VvZiBVUklFcnJvcikgPT09IHRydWUpIGNvbnRpbnVlOyAgICAgICAgICAgICAgICAKICB9CiAgaWYgKGluZGV4TyA9PT0gMCkgeyAKICAgIGluZGV4TyA9IGluZGV4OwogIH0gZWxzZSB7CiAgICBpZiAoKGluZGV4IC0gaW5kZXhQKSAhPT0gMSkgeyAgICAgICAgICAgICAKICAgICAgaWYgKChpbmRleFAgLSBpbmRleE8pICE9PSAwKSB7CiAgICAgICAgdmFyIGhleFAgPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhQKTsKICAgICAgICB2YXIgaGV4TyA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleE8pOwogICAgICAgICRFUlJPUignIycgKyBoZXhPICsgJy0nICsgaGV4UCArICcgJyk7CiAgICAgIH0gCiAgICAgIGVsc2UgewogICAgICAgIHZhciBoZXhQID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4UCk7CiAgICAgICAgJEVSUk9SKCcjJyArIGhleFAgKyAnICcpOwogICAgICB9ICAKICAgICAgaW5kZXhPID0gaW5kZXg7CiAgICB9ICAgICAgICAgCiAgfQogIGluZGV4UCA9IGluZGV4OwogIGVycm9yQ291bnQrKzsgICAgCn0KCmlmIChlcnJvckNvdW50ID4gMCkgewogIGlmICgoaW5kZXhQIC0gaW5kZXhPKSAhPT0gMCkgewogICAgdmFyIGhleFAgPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhQKTsKICAgIHZhciBoZXhPID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4Tyk7CiAgICAkRVJST1IoJyMnICsgaGV4TyArICctJyArIGhleFAgKyAnICcpOwogIH0gZWxzZSB7CiAgICB2YXIgaGV4UCA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleFApOwogICAgJEVSUk9SKCcjJyArIGhleFAgKyAnICcpOwogIH0gICAgIAogICRFUlJPUignVG90YWwgZXJyb3I6ICcgKyBlcnJvckNvdW50ICsgJyBiYWQgVW5pY29kZSBjaGFyYWN0ZXIgaW4gJyArIGNvdW50ICsgJyAnKTsKfQoKZnVuY3Rpb24gZGVjaW1hbFRvSGV4U3RyaW5nKG4pIHsKICBuID0gTnVtYmVyKG4pOwogIHZhciBoID0gIiI7CiAgZm9yICh2YXIgaSA9IDM7IGkgPj0gMDsgaS0tKSB7CiAgICBpZiAobiA+PSBNYXRoLnBvdygxNiwgaSkpIHsKICAgICAgdmFyIHQgPSBNYXRoLmZsb29yKG4gLyBNYXRoLnBvdygxNiwgaSkpOwogICAgICBuIC09IHQgKiBNYXRoLnBvdygxNiwgaSk7CiAgICAgIGlmICggdCA+PSAxMCApIHsKICAgICAgICBpZiAoIHQgPT0gMTAgKSB7IGggKz0gIkEiOyB9CiAgICAgICAgaWYgKCB0ID09IDExICkgeyBoICs9ICJCIjsgfQogICAgICAgIGlmICggdCA9PSAxMiApIHsgaCArPSAiQyI7IH0KICAgICAgICBpZiAoIHQgPT0gMTMgKSB7IGggKz0gIkQiOyB9CiAgICAgICAgaWYgKCB0ID09IDE0ICkgeyBoICs9ICJFIjsgfQogICAgICAgIGlmICggdCA9PSAxNSApIHsgaCArPSAiRiI7IH0KICAgICAgfSBlbHNlIHsKICAgICAgICBoICs9IFN0cmluZyh0KTsKICAgICAgfQogICAgfSBlbHNlIHsKICAgICAgaCArPSAiMCI7CiAgICB9CiAgfQogIHJldHVybiBoOwp9Cgo=","commentary":"If string.charAt(k) in [0xDC00 - 0xDFFF], throw URIError","description":"Complex tests","path":"TestCases/ch15/15.1/15.1.3/15.1.3.3/S15.1.3.3_A1.1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBzdHJpbmcuY2hhckF0KGspIGluIFsweEQ4MDAgLSAweERCRkZdIGFuZCBzdHJpbmcubGVuZ3RoID0gayArIDEsIHRocm93IFVSSUVycm9yCiAqCiAqIEBwYXRoIGNoMTUvMTUuMS8xNS4xLjMvMTUuMS4zLjMvUzE1LjEuMy4zX0ExLjJfVDEuanMKICogQGRlc2NyaXB0aW9uIENvbXBsZXggdGVzdHMKICovCgplcnJvckNvdW50ID0gMDsKY291bnQgPSAwOwp2YXIgaW5kZXhQOwp2YXIgaW5kZXhPID0gMDsKCmZvciAoaW5kZXggPSAweEQ4MDA7IGluZGV4IDw9IDB4REJGRjsgaW5kZXgrKykgewogIGNvdW50Kys7ICAgCiAgaGV4ID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4KTsKICB0cnkgewogICAgZW5jb2RlVVJJKFN0cmluZy5mcm9tQ2hhckNvZGUoaW5kZXgpKTsKICB9IGNhdGNoIChlKSB7IAogICAgaWYgKChlIGluc3RhbmNlb2YgVVJJRXJyb3IpID09PSB0cnVlKSBjb250aW51ZTsgICAgICAgICAgICAgICAgCiAgfQogIGlmIChpbmRleE8gPT09IDApIHsgCiAgICBpbmRleE8gPSBpbmRleDsKICB9IGVsc2UgewogICAgaWYgKChpbmRleCAtIGluZGV4UCkgIT09IDEpIHsgICAgICAgICAgICAgCiAgICAgIGlmICgoaW5kZXhQIC0gaW5kZXhPKSAhPT0gMCkgewogICAgICAgIHZhciBoZXhQID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4UCk7CiAgICAgICAgdmFyIGhleE8gPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhPKTsKICAgICAgICAkRVJST1IoJyMnICsgaGV4TyArICctJyArIGhleFAgKyAnICcpOwogICAgICB9IAogICAgICBlbHNlIHsKICAgICAgICB2YXIgaGV4UCA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleFApOwogICAgICAgICRFUlJPUignIycgKyBoZXhQICsgJyAnKTsKICAgICAgfSAgCiAgICAgIGluZGV4TyA9IGluZGV4OwogICAgfSAgICAgICAgIAogIH0KICBpbmRleFAgPSBpbmRleDsKICBlcnJvckNvdW50Kys7ICAgIAp9CgppZiAoZXJyb3JDb3VudCA+IDApIHsKICBpZiAoKGluZGV4UCAtIGluZGV4TykgIT09IDApIHsKICAgIHZhciBoZXhQID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4UCk7CiAgICB2YXIgaGV4TyA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleE8pOwogICAgJEVSUk9SKCcjJyArIGhleE8gKyAnLScgKyBoZXhQICsgJyAnKTsKICB9IGVsc2UgewogICAgdmFyIGhleFAgPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhQKTsKICAgICRFUlJPUignIycgKyBoZXhQICsgJyAnKTsKICB9ICAgICAKICAkRVJST1IoJ1RvdGFsIGVycm9yOiAnICsgZXJyb3JDb3VudCArICcgYmFkIFVuaWNvZGUgY2hhcmFjdGVyIGluICcgKyBjb3VudCArICcgJyk7Cn0KCmZ1bmN0aW9uIGRlY2ltYWxUb0hleFN0cmluZyhuKSB7CiAgbiA9IE51bWJlcihuKTsKICB2YXIgaCA9ICIiOwogIGZvciAodmFyIGkgPSAzOyBpID49IDA7IGktLSkgewogICAgaWYgKG4gPj0gTWF0aC5wb3coMTYsIGkpKSB7CiAgICAgIHZhciB0ID0gTWF0aC5mbG9vcihuIC8gTWF0aC5wb3coMTYsIGkpKTsKICAgICAgbiAtPSB0ICogTWF0aC5wb3coMTYsIGkpOwogICAgICBpZiAoIHQgPj0gMTAgKSB7CiAgICAgICAgaWYgKCB0ID09IDEwICkgeyBoICs9ICJBIjsgfQogICAgICAgIGlmICggdCA9PSAxMSApIHsgaCArPSAiQiI7IH0KICAgICAgICBpZiAoIHQgPT0gMTIgKSB7IGggKz0gIkMiOyB9CiAgICAgICAgaWYgKCB0ID09IDEzICkgeyBoICs9ICJEIjsgfQogICAgICAgIGlmICggdCA9PSAxNCApIHsgaCArPSAiRSI7IH0KICAgICAgICBpZiAoIHQgPT0gMTUgKSB7IGggKz0gIkYiOyB9CiAgICAgIH0gZWxzZSB7CiAgICAgICAgaCArPSBTdHJpbmcodCk7CiAgICAgIH0KICAgIH0gZWxzZSB7CiAgICAgIGggKz0gIjAiOwogICAgfQogIH0KICByZXR1cm4gaDsKfQoK","commentary":"If string.charAt(k) in [0xD800 - 0xDBFF] and string.length = k + 1, throw URIError","description":"Complex tests","path":"TestCases/ch15/15.1/15.1.3/15.1.3.3/S15.1.3.3_A1.2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBzdHJpbmcuY2hhckF0KGspIGluIFsweEQ4MDAgLSAweERCRkZdIGFuZCBzdHJpbmcubGVuZ3RoID0gayArIDEsIHRocm93IFVSSUVycm9yCiAqCiAqIEBwYXRoIGNoMTUvMTUuMS8xNS4xLjMvMTUuMS4zLjMvUzE1LjEuMy4zX0ExLjJfVDIuanMKICogQGRlc2NyaXB0aW9uIENvbXBsZXggdGVzdHMKICovCgplcnJvckNvdW50ID0gMDsKY291bnQgPSAwOwp2YXIgaW5kZXhQOwp2YXIgaW5kZXhPID0gMDsKCmZvciAoaW5kZXggPSAweEQ4MDA7IGluZGV4IDw9IDB4REJGRjsgaW5kZXgrKykgeyAKICBjb3VudCsrOyAKICBoZXggPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXgpOwogIHRyeSB7CiAgICBlbmNvZGVVUkkoU3RyaW5nLmZyb21DaGFyQ29kZSgweDAwNDEsIGluZGV4KSk7CiAgfSBjYXRjaCAoZSkgeyAKICAgIGlmICgoZSBpbnN0YW5jZW9mIFVSSUVycm9yKSA9PT0gdHJ1ZSkgY29udGludWU7ICAgICAgICAgICAgICAgIAogIH0KICBpZiAoaW5kZXhPID09PSAwKSB7IAogICAgaW5kZXhPID0gaW5kZXg7CiAgfSBlbHNlIHsKICAgIGlmICgoaW5kZXggLSBpbmRleFApICE9PSAxKSB7ICAgICAgICAgICAgIAogICAgICBpZiAoKGluZGV4UCAtIGluZGV4TykgIT09IDApIHsKICAgICAgICB2YXIgaGV4UCA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleFApOwogICAgICAgIHZhciBoZXhPID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4Tyk7CiAgICAgICAgJEVSUk9SKCcjJyArIGhleE8gKyAnLScgKyBoZXhQICsgJyAnKTsKICAgICAgfSAKICAgICAgZWxzZSB7CiAgICAgICAgdmFyIGhleFAgPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhQKTsKICAgICAgICAkRVJST1IoJyMnICsgaGV4UCArICcgJyk7CiAgICAgIH0gIAogICAgICBpbmRleE8gPSBpbmRleDsKICAgIH0gICAgICAgICAKICB9CiAgaW5kZXhQID0gaW5kZXg7CiAgZXJyb3JDb3VudCsrOyAgICAgIAp9CgppZiAoZXJyb3JDb3VudCA+IDApIHsKICBpZiAoKGluZGV4UCAtIGluZGV4TykgIT09IDApIHsKICAgIHZhciBoZXhQID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4UCk7CiAgICB2YXIgaGV4TyA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleE8pOwogICAgJEVSUk9SKCcjJyArIGhleE8gKyAnLScgKyBoZXhQICsgJyAnKTsKICB9IGVsc2UgewogICAgdmFyIGhleFAgPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhQKTsKICAgICRFUlJPUignIycgKyBoZXhQICsgJyAnKTsKICB9ICAgICAKICAkRVJST1IoJ1RvdGFsIGVycm9yOiAnICsgZXJyb3JDb3VudCArICcgYmFkIFVuaWNvZGUgY2hhcmFjdGVyIGluICcgKyBjb3VudCArICcgJyk7Cn0KCmZ1bmN0aW9uIGRlY2ltYWxUb0hleFN0cmluZyhuKSB7CiAgbiA9IE51bWJlcihuKTsKICB2YXIgaCA9ICIiOwogIGZvciAodmFyIGkgPSAzOyBpID49IDA7IGktLSkgewogICAgaWYgKG4gPj0gTWF0aC5wb3coMTYsIGkpKSB7CiAgICAgIHZhciB0ID0gTWF0aC5mbG9vcihuIC8gTWF0aC5wb3coMTYsIGkpKTsKICAgICAgbiAtPSB0ICogTWF0aC5wb3coMTYsIGkpOwogICAgICBpZiAoIHQgPj0gMTAgKSB7CiAgICAgICAgaWYgKCB0ID09IDEwICkgeyBoICs9ICJBIjsgfQogICAgICAgIGlmICggdCA9PSAxMSApIHsgaCArPSAiQiI7IH0KICAgICAgICBpZiAoIHQgPT0gMTIgKSB7IGggKz0gIkMiOyB9CiAgICAgICAgaWYgKCB0ID09IDEzICkgeyBoICs9ICJEIjsgfQogICAgICAgIGlmICggdCA9PSAxNCApIHsgaCArPSAiRSI7IH0KICAgICAgICBpZiAoIHQgPT0gMTUgKSB7IGggKz0gIkYiOyB9CiAgICAgIH0gZWxzZSB7CiAgICAgICAgaCArPSBTdHJpbmcodCk7CiAgICAgIH0KICAgIH0gZWxzZSB7CiAgICAgIGggKz0gIjAiOwogICAgfQogIH0KICByZXR1cm4gaDsKfQoK","commentary":"If string.charAt(k) in [0xD800 - 0xDBFF] and string.length = k + 1, throw URIError","description":"Complex tests","path":"TestCases/ch15/15.1/15.1.3/15.1.3.3/S15.1.3.3_A1.2_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBzdHJpbmcuY2hhckF0KGspIGluIFsweEQ4MDAgLSAweERCRkZdIGFuZCBzdHJpbmcuY2hhckF0KGsrMSkgbm90IGluIFsweERDMDAgLSAweERGRkZdLCB0aHJvdyBVUklFcnJvcgogKgogKiBAcGF0aCBjaDE1LzE1LjEvMTUuMS4zLzE1LjEuMy4zL1MxNS4xLjMuM19BMS4zX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBDb21wbGV4IHRlc3RzLCBzdHJpbmcuY2hhckF0KGsrMSkgaW4gWzB4MDAwMCwgMHhEN0ZGLCAweEQ4MDAsIDB4REJGRSwgMHhEQkZGLCAweEUwMDAsIDB4RkZGRl0KICovCgpjaGFycyA9IFsweDAwMDAsIDB4RDdGRiwgMHhEODAwLCAweERCRkUsIDB4REJGRiwgMHhFMDAwLCAweEZGRkZdOwplcnJvckNvdW50ID0gMDsKY291bnQgPSAwOwp2YXIgaW5kZXhQOwp2YXIgaW5kZXhPID0gMDsKCmZvciAoaW5kZXggPSAweEQ4MDA7IGluZGV4IDw9IDB4REJGRjsgaW5kZXgrKykgewogIGNvdW50Kys7IAogIHJlcyA9IHRydWU7CiAgZm9yIChpbmRleEMgPSAwOyBpbmRleEMgPCBjaGFycy5sZW5ndGg7IGluZGV4QysrKSB7ICAKICAgIGhleCA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleCk7CiAgICB0cnkgewogICAgICBlbmNvZGVVUkkoU3RyaW5nLmZyb21DaGFyQ29kZShpbmRleCwgY2hhcnNbaW5kZXhDXSkpOyAgICAKICAgIH0gY2F0Y2ggKGUpIHsgCiAgICAgIGlmICgoZSBpbnN0YW5jZW9mIFVSSUVycm9yKSA9PT0gdHJ1ZSkgY29udGludWU7CiAgICB9CiAgICByZXMgPSBmYWxzZTsKICB9CiAgaWYgKHJlcyAhPT0gdHJ1ZSkgewogICAgaWYgKGluZGV4TyA9PT0gMCkgeyAKICAgICAgaW5kZXhPID0gaW5kZXg7CiAgICB9IGVsc2UgewogICAgICBpZiAoKGluZGV4IC0gaW5kZXhQKSAhPT0gMSkgeyAgICAgICAgICAgICAKICAgICAgICBpZiAoKGluZGV4UCAtIGluZGV4TykgIT09IDApIHsKICAgICAgICAgIHZhciBoZXhQID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4UCk7CiAgICAgICAgICB2YXIgaGV4TyA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleE8pOwogICAgICAgICAgJEVSUk9SKCcjJyArIGhleE8gKyAnLScgKyBoZXhQICsgJyAnKTsKICAgICAgICB9IAogICAgICAgIGVsc2UgewogICAgICAgICAgdmFyIGhleFAgPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhQKTsKICAgICAgICAgICRFUlJPUignIycgKyBoZXhQICsgJyAnKTsKICAgICAgICB9ICAKICAgICAgICBpbmRleE8gPSBpbmRleDsKICAgICAgfSAgICAgICAgIAogICAgfQogICAgaW5kZXhQID0gaW5kZXg7CiAgICBlcnJvckNvdW50Kys7ICAgIAogIH0gIAp9CgppZiAoZXJyb3JDb3VudCA+IDApIHsKICBpZiAoKGluZGV4UCAtIGluZGV4TykgIT09IDApIHsKICAgIHZhciBoZXhQID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4UCk7CiAgICB2YXIgaGV4TyA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleE8pOwogICAgJEVSUk9SKCcjJyArIGhleE8gKyAnLScgKyBoZXhQICsgJyAnKTsKICB9IGVsc2UgewogICAgdmFyIGhleFAgPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhQKTsKICAgICRFUlJPUignIycgKyBoZXhQICsgJyAnKTsKICB9ICAgICAKICAkRVJST1IoJ1RvdGFsIGVycm9yOiAnICsgZXJyb3JDb3VudCArICcgYmFkIFVuaWNvZGUgY2hhcmFjdGVyIGluICcgKyBjb3VudCArICcgJyk7Cn0KCmZ1bmN0aW9uIGRlY2ltYWxUb0hleFN0cmluZyhuKSB7CiAgbiA9IE51bWJlcihuKTsKICB2YXIgaCA9ICIiOwogIGZvciAodmFyIGkgPSAzOyBpID49IDA7IGktLSkgewogICAgaWYgKG4gPj0gTWF0aC5wb3coMTYsIGkpKSB7CiAgICAgIHZhciB0ID0gTWF0aC5mbG9vcihuIC8gTWF0aC5wb3coMTYsIGkpKTsKICAgICAgbiAtPSB0ICogTWF0aC5wb3coMTYsIGkpOwogICAgICBpZiAoIHQgPj0gMTAgKSB7CiAgICAgICAgaWYgKCB0ID09IDEwICkgeyBoICs9ICJBIjsgfQogICAgICAgIGlmICggdCA9PSAxMSApIHsgaCArPSAiQiI7IH0KICAgICAgICBpZiAoIHQgPT0gMTIgKSB7IGggKz0gIkMiOyB9CiAgICAgICAgaWYgKCB0ID09IDEzICkgeyBoICs9ICJEIjsgfQogICAgICAgIGlmICggdCA9PSAxNCApIHsgaCArPSAiRSI7IH0KICAgICAgICBpZiAoIHQgPT0gMTUgKSB7IGggKz0gIkYiOyB9CiAgICAgIH0gZWxzZSB7CiAgICAgICAgaCArPSBTdHJpbmcodCk7CiAgICAgIH0KICAgIH0gZWxzZSB7CiAgICAgIGggKz0gIjAiOwogICAgfQogIH0KICByZXR1cm4gaDsKfQoK","commentary":"If string.charAt(k) in [0xD800 - 0xDBFF] and string.charAt(k+1) not in [0xDC00 - 0xDFFF], throw URIError","description":"Complex tests, string.charAt(k+1) in [0x0000, 0xD7FF, 0xD800, 0xDBFE, 0xDBFF, 0xE000, 0xFFFF]","path":"TestCases/ch15/15.1/15.1.3/15.1.3.3/S15.1.3.3_A1.3_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBzdHJpbmcuY2hhckF0KGspIGluIFsweDAwMDAgLSAweDAwN0ZdXFt1cmlSZXNlcnZlZCwgdXJpVW5lc2NhcGVkLCAjXSwgcmV0dXJuIDEgb2N0ZXQgKDAwMDAwMDAwIDB6enp6enp6IC0+IDB6enp6enp6KQogKgogKiBAcGF0aCBjaDE1LzE1LjEvMTUuMS4zLzE1LjEuMy4zL1MxNS4xLjMuM19BMi4xX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBDb21wbGV4IHRlc3RzLCB1c2UgUkZDIDM2MjkKICovCgp1cmlSZXNlcnZlZCA9IFsiOyIsICIvIiwgIj8iLCAiOiIsICJAIiwgIiYiLCAiPSIsICIrIiwgIiQiLCAiLCJdOwp1cmlVbmVzY2FwZWQgPSBbIi0iLCAiXyIsICIuIiwgIiEiLCAifiIsICIqIiwgIiciLCAiKCIsICIpIiwgIkEiLCAiQiIsICJDIiwgIkQiLCAiRSIsICJGIiwgIkciLCAiSCIsICJJIiwgIkoiLCAiSyIsICJMIiwgIk0iLCAiTiIsICJPIiwgIlAiLCAiUSIsICJSIiwgIlMiLCAiVCIsICJVIiwgIlYiLCAiVyIsICJYIiwgIlkiLCAiWiIsICJhIiwgImIiLCAiYyIsICJkIiwgImUiLCAiZiIsICJnIiwgImgiLCAiaSIsICJqIiwgImsiLCAibCIsICJtIiwgIm4iLCAibyIsICJwIiwgInEiLCAiciIsICJzIiwgInQiLCAidSIsICJ2IiwgInciLCAieCIsICJ5IiwgInoiLCAiMCIsICIxIiwgIjIiLCAiMyIsICI0IiwgIjUiLCAiNiIsICI3IiwgIjgiLCAiOSJdOyAKZXJyb3JDb3VudCA9IDA7CmNvdW50ID0gMDsKdmFyIGluZGV4UDsKdmFyIGluZGV4TyA9IDA7CgpsIDogCmZvciAoaW5kZXggPSAweDAwMDA7IGluZGV4IDw9IDB4MDA3RjsgaW5kZXgrKykgewogIGNvdW50Kys7CiAgc3RyID0gU3RyaW5nLmZyb21DaGFyQ29kZShpbmRleCk7CiAgZm9yIChpbmRleEMgPSAwOyBpbmRleEMgPCB1cmlSZXNlcnZlZC5sZW5ndGg7IGluZGV4QysrKSB7ICAgIAogICAgaWYgKHVyaVJlc2VydmVkW2luZGV4Q10gPT09IHN0cikgY29udGludWUgbDsKICB9CiAgIGZvciAoaW5kZXhDID0gMDsgaW5kZXhDIDwgdXJpVW5lc2NhcGVkLmxlbmd0aDsgaW5kZXhDKyspIHsKICAgIGlmICh1cmlVbmVzY2FwZWRbaW5kZXhDXSA9PT0gc3RyKSBjb250aW51ZSBsOwogIH0gICAgCiAgaWYgKCIjIiA9PT0gc3RyKSBjb250aW51ZSBsOyAKICB0cnkgewogICAgaWYgKGVuY29kZVVSSShzdHIpLnRvVXBwZXJDYXNlKCkgPT09ICIlIiArIGRlY2ltYWxUb0hleFN0cmluZyhpbmRleCkuc3Vic3RyaW5nKDIpKSBjb250aW51ZSBsOyAKICB9IGNhdGNoKGUpIHt9ICAgICAKICBpZiAoaW5kZXhPID09PSAwKSB7IAogICAgaW5kZXhPID0gaW5kZXg7CiAgfSBlbHNlIHsKICAgIGlmICgoaW5kZXggLSBpbmRleFApICE9PSAxKSB7ICAgICAgICAgICAgIAogICAgICBpZiAoKGluZGV4UCAtIGluZGV4TykgIT09IDApIHsKICAgICAgICB2YXIgaGV4UCA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleFApOwogICAgICAgIHZhciBoZXhPID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4Tyk7CiAgICAgICAgJEVSUk9SKCcjJyArIGhleE8gKyAnLScgKyBoZXhQICsgJyAnKTsKICAgICAgfSAKICAgICAgZWxzZSB7CiAgICAgICAgdmFyIGhleFAgPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhQKTsKICAgICAgICAkRVJST1IoJyMnICsgaGV4UCArICcgJyk7CiAgICAgIH0gIAogICAgICBpbmRleE8gPSBpbmRleDsKICAgIH0gICAgICAgICAKICB9CiAgaW5kZXhQID0gaW5kZXg7CiAgZXJyb3JDb3VudCsrOyAgICAgCn0KCmlmIChlcnJvckNvdW50ID4gMCkgewogIGlmICgoaW5kZXhQIC0gaW5kZXhPKSAhPT0gMCkgewogICAgdmFyIGhleFAgPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhQKTsKICAgIHZhciBoZXhPID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4Tyk7CiAgICAkRVJST1IoJyMnICsgaGV4TyArICctJyArIGhleFAgKyAnICcpOwogIH0gZWxzZSB7CiAgICB2YXIgaGV4UCA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleFApOwogICAgJEVSUk9SKCcjJyArIGhleFAgKyAnICcpOwogIH0gICAgIAogICRFUlJPUignVG90YWwgZXJyb3I6ICcgKyBlcnJvckNvdW50ICsgJyBiYWQgVW5pY29kZSBjaGFyYWN0ZXIgaW4gJyArIGNvdW50ICsgJyAnKTsKfQoKZnVuY3Rpb24gZGVjaW1hbFRvSGV4U3RyaW5nKG4pIHsKICBuID0gTnVtYmVyKG4pOwogIHZhciBoID0gIiI7CiAgZm9yICh2YXIgaSA9IDM7IGkgPj0gMDsgaS0tKSB7CiAgICBpZiAobiA+PSBNYXRoLnBvdygxNiwgaSkpIHsKICAgICAgdmFyIHQgPSBNYXRoLmZsb29yKG4gLyBNYXRoLnBvdygxNiwgaSkpOwogICAgICBuIC09IHQgKiBNYXRoLnBvdygxNiwgaSk7CiAgICAgIGlmICggdCA+PSAxMCApIHsKICAgICAgICBpZiAoIHQgPT0gMTAgKSB7IGggKz0gIkEiOyB9CiAgICAgICAgaWYgKCB0ID09IDExICkgeyBoICs9ICJCIjsgfQogICAgICAgIGlmICggdCA9PSAxMiApIHsgaCArPSAiQyI7IH0KICAgICAgICBpZiAoIHQgPT0gMTMgKSB7IGggKz0gIkQiOyB9CiAgICAgICAgaWYgKCB0ID09IDE0ICkgeyBoICs9ICJFIjsgfQogICAgICAgIGlmICggdCA9PSAxNSApIHsgaCArPSAiRiI7IH0KICAgICAgfSBlbHNlIHsKICAgICAgICBoICs9IFN0cmluZyh0KTsKICAgICAgfQogICAgfSBlbHNlIHsKICAgICAgaCArPSAiMCI7CiAgICB9CiAgfQogIHJldHVybiBoOwp9Cgo=","commentary":"If string.charAt(k) in [0x0000 - 0x007F]\\[uriReserved, uriUnescaped, #], return 1 octet (00000000 0zzzzzzz -> 0zzzzzzz)","description":"Complex tests, use RFC 3629","path":"TestCases/ch15/15.1/15.1.3/15.1.3.3/S15.1.3.3_A2.1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBzdHJpbmcuY2hhckF0KGspIGluIFsweDAwODAgLSAweDA3RkZdLCByZXR1cm4gMiBvY3RldHMgKDAwMDAweXl5IHl5enp6enp6IC0+IDExMHl5eXl5IDEwenp6enp6KQogKgogKiBAcGF0aCBjaDE1LzE1LjEvMTUuMS4zLzE1LjEuMy4zL1MxNS4xLjMuM19BMi4yX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBDb21wbGV4IHRlc3RzLCB1c2UgUkZDIDM2MjkKICovCgplcnJvckNvdW50ID0gMDsKY291bnQgPSAwOwp2YXIgaW5kZXhQOwp2YXIgaW5kZXhPID0gMDsgCmw6CmZvciAoaW5kZXggPSAweDAwODA7IGluZGV4IDw9IDB4MDdGRjsgaW5kZXgrKykgewogIGNvdW50Kys7ICAKICBoZXgxID0gZGVjaW1hbFRvSGV4U3RyaW5nKDB4MDA4MCArIChpbmRleCAmIDB4MDAzRikpLnN1YnN0cmluZygyKTsKICBoZXgyID0gZGVjaW1hbFRvSGV4U3RyaW5nKDB4MDBDMCArIChpbmRleCAmIDB4MDdDMCkgLyAweDAwNDApLnN1YnN0cmluZygyKTsgICAgCiAgc3RyID0gU3RyaW5nLmZyb21DaGFyQ29kZShpbmRleCk7CiAgdHJ5IHsKICAgIGlmIChlbmNvZGVVUkkoc3RyKS50b1VwcGVyQ2FzZSgpID09PSAiJSIgKyBoZXgyICsgIiUiICsgaGV4MSkgY29udGludWU7CiAgfSBjYXRjaChlKSB7fSAgCiAgaWYgKGluZGV4TyA9PT0gMCkgeyAKICAgIGluZGV4TyA9IGluZGV4OwogIH0gZWxzZSB7CiAgICBpZiAoKGluZGV4IC0gaW5kZXhQKSAhPT0gMSkgeyAgICAgICAgICAgICAKICAgICAgaWYgKChpbmRleFAgLSBpbmRleE8pICE9PSAwKSB7CiAgICAgICAgdmFyIGhleFAgPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhQKTsKICAgICAgICB2YXIgaGV4TyA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleE8pOwogICAgICAgICRFUlJPUignIycgKyBoZXhPICsgJy0nICsgaGV4UCArICcgJyk7CiAgICAgIH0gCiAgICAgIGVsc2UgewogICAgICAgIHZhciBoZXhQID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4UCk7CiAgICAgICAgJEVSUk9SKCcjJyArIGhleFAgKyAnICcpOwogICAgICB9ICAKICAgICAgaW5kZXhPID0gaW5kZXg7CiAgICB9ICAgICAgICAgCiAgfQogIGluZGV4UCA9IGluZGV4OwogIGVycm9yQ291bnQrKzsgICAgCn0KCmlmIChlcnJvckNvdW50ID4gMCkgewogIGlmICgoaW5kZXhQIC0gaW5kZXhPKSAhPT0gMCkgewogICAgdmFyIGhleFAgPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhQKTsKICAgIHZhciBoZXhPID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4Tyk7CiAgICAkRVJST1IoJyMnICsgaGV4TyArICctJyArIGhleFAgKyAnICcpOwogIH0gZWxzZSB7CiAgICB2YXIgaGV4UCA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleFApOwogICAgJEVSUk9SKCcjJyArIGhleFAgKyAnICcpOwogIH0gICAgIAogICRFUlJPUignVG90YWwgZXJyb3I6ICcgKyBlcnJvckNvdW50ICsgJyBiYWQgVW5pY29kZSBjaGFyYWN0ZXIgaW4gJyArIGNvdW50ICsgJyAnKTsKfQoKZnVuY3Rpb24gZGVjaW1hbFRvSGV4U3RyaW5nKG4pIHsKICBuID0gTnVtYmVyKG4pOwogIHZhciBoID0gIiI7CiAgZm9yICh2YXIgaSA9IDM7IGkgPj0gMDsgaS0tKSB7CiAgICBpZiAobiA+PSBNYXRoLnBvdygxNiwgaSkpIHsKICAgICAgdmFyIHQgPSBNYXRoLmZsb29yKG4gLyBNYXRoLnBvdygxNiwgaSkpOwogICAgICBuIC09IHQgKiBNYXRoLnBvdygxNiwgaSk7CiAgICAgIGlmICggdCA+PSAxMCApIHsKICAgICAgICBpZiAoIHQgPT0gMTAgKSB7IGggKz0gIkEiOyB9CiAgICAgICAgaWYgKCB0ID09IDExICkgeyBoICs9ICJCIjsgfQogICAgICAgIGlmICggdCA9PSAxMiApIHsgaCArPSAiQyI7IH0KICAgICAgICBpZiAoIHQgPT0gMTMgKSB7IGggKz0gIkQiOyB9CiAgICAgICAgaWYgKCB0ID09IDE0ICkgeyBoICs9ICJFIjsgfQogICAgICAgIGlmICggdCA9PSAxNSApIHsgaCArPSAiRiI7IH0KICAgICAgfSBlbHNlIHsKICAgICAgICBoICs9IFN0cmluZyh0KTsKICAgICAgfQogICAgfSBlbHNlIHsKICAgICAgaCArPSAiMCI7CiAgICB9CiAgfQogIHJldHVybiBoOwp9Cgo=","commentary":"If string.charAt(k) in [0x0080 - 0x07FF], return 2 octets (00000yyy yyzzzzzz -> 110yyyyy 10zzzzzz)","description":"Complex tests, use RFC 3629","path":"TestCases/ch15/15.1/15.1.3/15.1.3.3/S15.1.3.3_A2.2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBzdHJpbmcuY2hhckF0KGspIGluIFsweDA4MDAgLSAweEQ3RkZdLCByZXR1cm4gMyBvY3RldHMgKHh4eHh5eXl5IHl5enp6enp6IC0+IDExMTB4eHh4IDEweXl5eXl5IDEwenp6enp6KQogKgogKiBAcGF0aCBjaDE1LzE1LjEvMTUuMS4zLzE1LjEuMy4zL1MxNS4xLjMuM19BMi4zX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBDb21wbGV4IHRlc3RzLCB1c2UgUkZDIDM2MjkKICovCgplcnJvckNvdW50ID0gMDsKY291bnQgPSAwOwp2YXIgaW5kZXhQOwp2YXIgaW5kZXhPID0gMDsgCmZvciAoaW5kZXggPSAweDA4MDA7IGluZGV4IDw9IDB4RDdGRjsgaW5kZXgrKykgewogIGNvdW50Kys7IAogIGhleDEgPSBkZWNpbWFsVG9IZXhTdHJpbmcoMHgwMDgwICsgKGluZGV4ICYgMHgwMDNGKSkuc3Vic3RyaW5nKDIpOwogIGhleDIgPSBkZWNpbWFsVG9IZXhTdHJpbmcoMHgwMDgwICsgKGluZGV4ICYgMHgwRkMwKSAvIDB4MDA0MCkuc3Vic3RyaW5nKDIpOwogIGhleDMgPSBkZWNpbWFsVG9IZXhTdHJpbmcoMHgwMEUwICsgKGluZGV4ICYgMHhGMDAwKSAvIDB4MTAwMCkuc3Vic3RyaW5nKDIpOwogIHN0ciA9IFN0cmluZy5mcm9tQ2hhckNvZGUoaW5kZXgpOwogIHRyeSB7CiAgICBpZiAoZW5jb2RlVVJJKHN0cikudG9VcHBlckNhc2UoKSA9PT0gIiUiICsgaGV4MyArICIlIiArIGhleDIgKyAiJSIgKyBoZXgxKSBjb250aW51ZTsKICB9IGNhdGNoKGUpIHt9ICAgICAgCiAgaWYgKGluZGV4TyA9PT0gMCkgeyAKICAgIGluZGV4TyA9IGluZGV4OwogIH0gZWxzZSB7CiAgICBpZiAoKGluZGV4IC0gaW5kZXhQKSAhPT0gMSkgeyAgICAgICAgICAgICAKICAgICAgaWYgKChpbmRleFAgLSBpbmRleE8pICE9PSAwKSB7CiAgICAgICAgdmFyIGhleFAgPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhQKTsKICAgICAgICB2YXIgaGV4TyA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleE8pOwogICAgICAgICRFUlJPUignIycgKyBoZXhPICsgJy0nICsgaGV4UCArICcgJyk7CiAgICAgIH0gCiAgICAgIGVsc2UgewogICAgICAgIHZhciBoZXhQID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4UCk7CiAgICAgICAgJEVSUk9SKCcjJyArIGhleFAgKyAnICcpOwogICAgICB9ICAKICAgICAgaW5kZXhPID0gaW5kZXg7CiAgICB9ICAgICAgICAgCiAgfQogIGluZGV4UCA9IGluZGV4OwogIGVycm9yQ291bnQrKzsgICAgCn0gCgppZiAoZXJyb3JDb3VudCA+IDApIHsKICBpZiAoKGluZGV4UCAtIGluZGV4TykgIT09IDApIHsKICAgIHZhciBoZXhQID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4UCk7CiAgICB2YXIgaGV4TyA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleE8pOwogICAgJEVSUk9SKCcjJyArIGhleE8gKyAnLScgKyBoZXhQICsgJyAnKTsKICB9IGVsc2UgewogICAgdmFyIGhleFAgPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhQKTsKICAgICRFUlJPUignIycgKyBoZXhQICsgJyAnKTsKICB9ICAgICAKICAkRVJST1IoJ1RvdGFsIGVycm9yOiAnICsgZXJyb3JDb3VudCArICcgYmFkIFVuaWNvZGUgY2hhcmFjdGVyIGluICcgKyBjb3VudCArICcgJyk7Cn0KCmZ1bmN0aW9uIGRlY2ltYWxUb0hleFN0cmluZyhuKSB7CiAgbiA9IE51bWJlcihuKTsKICB2YXIgaCA9ICIiOwogIGZvciAodmFyIGkgPSAzOyBpID49IDA7IGktLSkgewogICAgaWYgKG4gPj0gTWF0aC5wb3coMTYsIGkpKSB7CiAgICAgIHZhciB0ID0gTWF0aC5mbG9vcihuIC8gTWF0aC5wb3coMTYsIGkpKTsKICAgICAgbiAtPSB0ICogTWF0aC5wb3coMTYsIGkpOwogICAgICBpZiAoIHQgPj0gMTAgKSB7CiAgICAgICAgaWYgKCB0ID09IDEwICkgeyBoICs9ICJBIjsgfQogICAgICAgIGlmICggdCA9PSAxMSApIHsgaCArPSAiQiI7IH0KICAgICAgICBpZiAoIHQgPT0gMTIgKSB7IGggKz0gIkMiOyB9CiAgICAgICAgaWYgKCB0ID09IDEzICkgeyBoICs9ICJEIjsgfQogICAgICAgIGlmICggdCA9PSAxNCApIHsgaCArPSAiRSI7IH0KICAgICAgICBpZiAoIHQgPT0gMTUgKSB7IGggKz0gIkYiOyB9CiAgICAgIH0gZWxzZSB7CiAgICAgICAgaCArPSBTdHJpbmcodCk7CiAgICAgIH0KICAgIH0gZWxzZSB7CiAgICAgIGggKz0gIjAiOwogICAgfQogIH0KICByZXR1cm4gaDsKfQoK","commentary":"If string.charAt(k) in [0x0800 - 0xD7FF], return 3 octets (xxxxyyyy yyzzzzzz -> 1110xxxx 10yyyyyy 10zzzzzz)","description":"Complex tests, use RFC 3629","path":"TestCases/ch15/15.1/15.1.3/15.1.3.3/S15.1.3.3_A2.3_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBzdHJpbmcuY2hhckF0KGspIGluIFsweEQ4MDAgLSAweERCRkZdIGFuZCBzdHJpbmcuY2hhckF0KGsrMSkgaW4gWzB4REMwMCDvv70gMHhERkZGXSwgcmV0dXJuIDQgb2N0ZXRzICgwMDB3d3d4eCB4eHh4eXl5eSB5eXp6enp6eiAtPiAxMTExMHd3dyAxMHh4eHh4eCAxMHl5eXl5eSAxMHp6enp6eikKICoKICogQHBhdGggY2gxNS8xNS4xLzE1LjEuMy8xNS4xLjMuMy9TMTUuMS4zLjNfQTIuNF9UMS5qcwogKiBAZGVzY3JpcHRpb24gQ29tcGxleCB0ZXN0cywgdXNlIFJGQyAzNjI5LCBzdHJpbmcuY2hhckF0KGsrMSkgaW4gWzB4REMwMCwgMHhEREZGLCAweERGRkZdCiAqLwoKY2hhcnMgPSBbMHhEQzAwLCAweERERkYsIDB4REZGRl07IAplcnJvckNvdW50ID0gMDsKY291bnQgPSAwOwp2YXIgaW5kZXhQOwp2YXIgaW5kZXhPID0gMDsgCmZvciAoaW5kZXggPSAweEQ4MDA7IGluZGV4IDw9IDB4REJGRjsgaW5kZXgrKykgewogIHJlcyA9IHRydWU7CiAgZm9yIChpbmRleEMgPSAwOyBpbmRleEMgPCBjaGFycy5sZW5ndGg7IGluZGV4QysrKSB7CiAgICBpbmRleDEgPSAoaW5kZXggLSAweEQ4MDApICogMHg0MDAgKyAoY2hhcnNbaW5kZXhDXSAtIDB4REMwMCkgKyAweDEwMDAwOyAKICAgIGhleDEgPSBkZWNpbWFsVG9IZXhTdHJpbmcoMHgwMDgwICsgKGluZGV4MSAmIDB4MDAzRikpLnN1YnN0cmluZygyKTsKICAgIGhleDIgPSBkZWNpbWFsVG9IZXhTdHJpbmcoMHgwMDgwICsgKGluZGV4MSAmIDB4MEZDMCkgLyAweDAwNDApLnN1YnN0cmluZygyKTsKICAgIGhleDMgPSBkZWNpbWFsVG9IZXhTdHJpbmcoMHgwMDgwICsgKGluZGV4MSAmIDB4M0YwMDApIC8gMHgxMDAwKS5zdWJzdHJpbmcoMik7CiAgICBoZXg0ID0gZGVjaW1hbFRvSGV4U3RyaW5nKDB4MDBGMCArIChpbmRleDEgJiAweDFDMDAwMCkgLyAweDQwMDAwKS5zdWJzdHJpbmcoMik7CiAgICBzdHIgPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGluZGV4LCBjaGFyc1tpbmRleENdKTsKICAgIHRyeSB7CiAgICAgIGlmIChlbmNvZGVVUkkoc3RyKS50b1VwcGVyQ2FzZSgpICE9PSAiJSIgKyBoZXg0ICsgIiUiICsgaGV4MyArICIlIiArIGhleDIgKyAiJSIgKyBoZXgxKSB7CiAgICAgICAgcmVzID0gZmFsc2U7CiAgICAgIH0KICAgIH0gY2F0Y2goZSkge3JlcyA9IGZhbHNlfSAgICAKICB9CiAgaWYgKHJlcyAhPT0gdHJ1ZSkgeyAgCiAgICBpZiAoaW5kZXhPID09PSAwKSB7IAogICAgICBpbmRleE8gPSBpbmRleDsKICAgIH0gZWxzZSB7CiAgICAgIGlmICgoaW5kZXggLSBpbmRleFApICE9PSAxKSB7ICAgICAgICAgICAgIAogICAgICAgIGlmICgoaW5kZXhQIC0gaW5kZXhPKSAhPT0gMCkgewogICAgICAgICAgdmFyIGhleFAgPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhQKTsKICAgICAgICAgIHZhciBoZXhPID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4Tyk7CiAgICAgICAgICAkRVJST1IoJyMnICsgaGV4TyArICctJyArIGhleFAgKyAnICcpOwogICAgICAgIH0gCiAgICAgICAgZWxzZSB7CiAgICAgICAgICB2YXIgaGV4UCA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleFApOwogICAgICAgICAgJEVSUk9SKCcjJyArIGhleFAgKyAnICcpOwogICAgICAgIH0gIAogICAgICAgIGluZGV4TyA9IGluZGV4OwogICAgICB9ICAgICAgICAgCiAgICB9CiAgICBpbmRleFAgPSBpbmRleDsKICAgIGVycm9yQ291bnQrKzsgICAgCiAgfQogIGNvdW50Kys7ICAKfQoKaWYgKGVycm9yQ291bnQgPiAwKSB7CiAgaWYgKChpbmRleFAgLSBpbmRleE8pICE9PSAwKSB7CiAgICB2YXIgaGV4UCA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleFApOwogICAgdmFyIGhleE8gPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhPKTsKICAgICRFUlJPUignIycgKyBoZXhPICsgJy0nICsgaGV4UCArICcgJyk7CiAgfSBlbHNlIHsKICAgIHZhciBoZXhQID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4UCk7CiAgICAkRVJST1IoJyMnICsgaGV4UCArICcgJyk7CiAgfSAgICAgCiAgJEVSUk9SKCdUb3RhbCBlcnJvcjogJyArIGVycm9yQ291bnQgKyAnIGJhZCBVbmljb2RlIGNoYXJhY3RlciBpbiAnICsgY291bnQgKyAnICcpOwp9CgpmdW5jdGlvbiBkZWNpbWFsVG9IZXhTdHJpbmcobikgewogIG4gPSBOdW1iZXIobik7CiAgdmFyIGggPSAiIjsKICBmb3IgKHZhciBpID0gMzsgaSA+PSAwOyBpLS0pIHsKICAgIGlmIChuID49IE1hdGgucG93KDE2LCBpKSkgewogICAgICB2YXIgdCA9IE1hdGguZmxvb3IobiAvIE1hdGgucG93KDE2LCBpKSk7CiAgICAgIG4gLT0gdCAqIE1hdGgucG93KDE2LCBpKTsKICAgICAgaWYgKCB0ID49IDEwICkgewogICAgICAgIGlmICggdCA9PSAxMCApIHsgaCArPSAiQSI7IH0KICAgICAgICBpZiAoIHQgPT0gMTEgKSB7IGggKz0gIkIiOyB9CiAgICAgICAgaWYgKCB0ID09IDEyICkgeyBoICs9ICJDIjsgfQogICAgICAgIGlmICggdCA9PSAxMyApIHsgaCArPSAiRCI7IH0KICAgICAgICBpZiAoIHQgPT0gMTQgKSB7IGggKz0gIkUiOyB9CiAgICAgICAgaWYgKCB0ID09IDE1ICkgeyBoICs9ICJGIjsgfQogICAgICB9IGVsc2UgewogICAgICAgIGggKz0gU3RyaW5nKHQpOwogICAgICB9CiAgICB9IGVsc2UgewogICAgICBoICs9ICIwIjsKICAgIH0KICB9CiAgcmV0dXJuIGg7Cn0KCg==","commentary":"If string.charAt(k) in [0xD800 - 0xDBFF] and string.charAt(k+1) in [0xDC00 \ufffd 0xDFFF], return 4 octets (000wwwxx xxxxyyyy yyzzzzzz -> 11110www 10xxxxxx 10yyyyyy 10zzzzzz)","description":"Complex tests, use RFC 3629, string.charAt(k+1) in [0xDC00, 0xDDFF, 0xDFFF]","path":"TestCases/ch15/15.1/15.1.3/15.1.3.3/S15.1.3.3_A2.4_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBzdHJpbmcuY2hhckF0KGspIGluIFsweEQ4MDAgLSAweERCRkZdIGFuZCBzdHJpbmcuY2hhckF0KGsrMSkgaW4gWzB4REMwMCDvv70gMHhERkZGXSwgcmV0dXJuIDQgb2N0ZXRzICgwMDB3d3d4eCB4eHh4eXl5eSB5eXp6enp6eiAtPiAxMTExMHd3dyAxMHh4eHh4eCAxMHl5eXl5eSAxMHp6enp6eikKICoKICogQHBhdGggY2gxNS8xNS4xLzE1LjEuMy8xNS4xLjMuMy9TMTUuMS4zLjNfQTIuNF9UMi5qcwogKiBAZGVzY3JpcHRpb24gQ29tcGxleCB0ZXN0cywgdXNlIFJGQyAzNjI5LCBzdHJpbmcuY2hhckF0KGspIGluIFsweEQ4MDAsIDB4REJGRiwgMHhEOUZGXQogKi8KCmNoYXJzID0gWzB4RDgwMCwgMHhEQkZGLCAweEQ5RkZdOyAKZXJyb3JDb3VudCA9IDA7CmNvdW50ID0gMDsKdmFyIGluZGV4UDsKdmFyIGluZGV4TyA9IDA7IApmb3IgKGluZGV4ID0gMHhEQzAwOyBpbmRleCA8PSAweERGRkY7IGluZGV4KyspIHsKICByZXMgPSB0cnVlOwogIGZvciAoaW5kZXhDID0gMDsgaW5kZXhDIDwgY2hhcnMubGVuZ3RoOyBpbmRleEMrKykgewogICAgaW5kZXgxID0gKGNoYXJzW2luZGV4Q10gLSAweEQ4MDApICogMHg0MDAgKyAoaW5kZXggLSAweERDMDApICsgMHgxMDAwMDsgCiAgICBoZXgxID0gZGVjaW1hbFRvSGV4U3RyaW5nKDB4MDA4MCArIChpbmRleDEgJiAweDAwM0YpKS5zdWJzdHJpbmcoMik7CiAgICBoZXgyID0gZGVjaW1hbFRvSGV4U3RyaW5nKDB4MDA4MCArIChpbmRleDEgJiAweDBGQzApIC8gMHgwMDQwKS5zdWJzdHJpbmcoMik7CiAgICBoZXgzID0gZGVjaW1hbFRvSGV4U3RyaW5nKDB4MDA4MCArIChpbmRleDEgJiAweDNGMDAwKSAvIDB4MTAwMCkuc3Vic3RyaW5nKDIpOwogICAgaGV4NCA9IGRlY2ltYWxUb0hleFN0cmluZygweDAwRjAgKyAoaW5kZXgxICYgMHgxQzAwMDApIC8gMHg0MDAwMCkuc3Vic3RyaW5nKDIpOwogICAgc3RyID0gU3RyaW5nLmZyb21DaGFyQ29kZShjaGFyc1tpbmRleENdLCBpbmRleCk7CiAgICB0cnkgewogICAgICBpZiAoZW5jb2RlVVJJKHN0cikudG9VcHBlckNhc2UoKSAhPT0gIiUiICsgaGV4NCArICIlIiArIGhleDMgKyAiJSIgKyBoZXgyICsgIiUiICsgaGV4MSkgewogICAgICAgIHJlcyA9IGZhbHNlOwogICAgICB9CiAgICB9IGNhdGNoKGUpIHtyZXMgPSBmYWxzZX0gICAgCiAgfQogIGlmIChyZXMgIT09IHRydWUpIHsgIAogICAgaWYgKGluZGV4TyA9PT0gMCkgeyAKICAgICAgaW5kZXhPID0gaW5kZXg7CiAgICB9IGVsc2UgewogICAgICBpZiAoKGluZGV4IC0gaW5kZXhQKSAhPT0gMSkgeyAgICAgICAgICAgICAKICAgICAgICBpZiAoKGluZGV4UCAtIGluZGV4TykgIT09IDApIHsKICAgICAgICAgIHZhciBoZXhQID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4UCk7CiAgICAgICAgICB2YXIgaGV4TyA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleE8pOwogICAgICAgICAgJEVSUk9SKCcjJyArIGhleE8gKyAnLScgKyBoZXhQICsgJyAnKTsKICAgICAgICB9IAogICAgICAgIGVsc2UgewogICAgICAgICAgdmFyIGhleFAgPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhQKTsKICAgICAgICAgICRFUlJPUignIycgKyBoZXhQICsgJyAnKTsKICAgICAgICB9ICAKICAgICAgICBpbmRleE8gPSBpbmRleDsKICAgICAgfSAgICAgICAgIAogICAgfQogICAgaW5kZXhQID0gaW5kZXg7CiAgICBlcnJvckNvdW50Kys7ICAgIAogIH0KICBjb3VudCsrOyAgCn0KCmlmIChlcnJvckNvdW50ID4gMCkgewogIGlmICgoaW5kZXhQIC0gaW5kZXhPKSAhPT0gMCkgewogICAgdmFyIGhleFAgPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhQKTsKICAgIHZhciBoZXhPID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4Tyk7CiAgICAkRVJST1IoJyMnICsgaGV4TyArICctJyArIGhleFAgKyAnICcpOwogIH0gZWxzZSB7CiAgICB2YXIgaGV4UCA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleFApOwogICAgJEVSUk9SKCcjJyArIGhleFAgKyAnICcpOwogIH0gICAgIAogICRFUlJPUignVG90YWwgZXJyb3I6ICcgKyBlcnJvckNvdW50ICsgJyBiYWQgVW5pY29kZSBjaGFyYWN0ZXIgaW4gJyArIGNvdW50ICsgJyAnKTsKfQoKZnVuY3Rpb24gZGVjaW1hbFRvSGV4U3RyaW5nKG4pIHsKICBuID0gTnVtYmVyKG4pOwogIHZhciBoID0gIiI7CiAgZm9yICh2YXIgaSA9IDM7IGkgPj0gMDsgaS0tKSB7CiAgICBpZiAobiA+PSBNYXRoLnBvdygxNiwgaSkpIHsKICAgICAgdmFyIHQgPSBNYXRoLmZsb29yKG4gLyBNYXRoLnBvdygxNiwgaSkpOwogICAgICBuIC09IHQgKiBNYXRoLnBvdygxNiwgaSk7CiAgICAgIGlmICggdCA+PSAxMCApIHsKICAgICAgICBpZiAoIHQgPT0gMTAgKSB7IGggKz0gIkEiOyB9CiAgICAgICAgaWYgKCB0ID09IDExICkgeyBoICs9ICJCIjsgfQogICAgICAgIGlmICggdCA9PSAxMiApIHsgaCArPSAiQyI7IH0KICAgICAgICBpZiAoIHQgPT0gMTMgKSB7IGggKz0gIkQiOyB9CiAgICAgICAgaWYgKCB0ID09IDE0ICkgeyBoICs9ICJFIjsgfQogICAgICAgIGlmICggdCA9PSAxNSApIHsgaCArPSAiRiI7IH0KICAgICAgfSBlbHNlIHsKICAgICAgICBoICs9IFN0cmluZyh0KTsKICAgICAgfQogICAgfSBlbHNlIHsKICAgICAgaCArPSAiMCI7CiAgICB9CiAgfQogIHJldHVybiBoOwp9Cgo=","commentary":"If string.charAt(k) in [0xD800 - 0xDBFF] and string.charAt(k+1) in [0xDC00 \ufffd 0xDFFF], return 4 octets (000wwwxx xxxxyyyy yyzzzzzz -> 11110www 10xxxxxx 10yyyyyy 10zzzzzz)","description":"Complex tests, use RFC 3629, string.charAt(k) in [0xD800, 0xDBFF, 0xD9FF]","path":"TestCases/ch15/15.1/15.1.3/15.1.3.3/S15.1.3.3_A2.4_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBzdHJpbmcuY2hhckF0KGspIGluIFsweEUwMDAgLSAweEZGRkZdLCByZXR1cm4gMyBvY3RldHMgKHh4eHh5eXl5IHl5enp6enp6IC0+IDExMTB4eHh4IDEweXl5eXl5IDEwenp6enp6KQogKgogKiBAcGF0aCBjaDE1LzE1LjEvMTUuMS4zLzE1LjEuMy4zL1MxNS4xLjMuM19BMi41X1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBDb21wbGV4IHRlc3RzLCB1c2UgUkZDIDM2MjkKICovCgplcnJvckNvdW50ID0gMDsKY291bnQgPSAwOwp2YXIgaW5kZXhQOwp2YXIgaW5kZXhPID0gMDsgCmZvciAoaW5kZXggPSAweEUwMDA7IGluZGV4IDw9IDB4RkZGRjsgaW5kZXgrKykgewogIGNvdW50Kys7ICAKICBoZXgxID0gZGVjaW1hbFRvSGV4U3RyaW5nKDB4MDA4MCArIChpbmRleCAmIDB4MDAzRikpLnN1YnN0cmluZygyKTsKICBoZXgyID0gZGVjaW1hbFRvSGV4U3RyaW5nKDB4MDA4MCArIChpbmRleCAmIDB4MEZDMCkgLyAweDAwNDApLnN1YnN0cmluZygyKTsKICBoZXgzID0gZGVjaW1hbFRvSGV4U3RyaW5nKDB4MDBFMCArIChpbmRleCAmIDB4RjAwMCkgLyAweDEwMDApLnN1YnN0cmluZygyKTsKICBzdHIgPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGluZGV4KTsKICB0cnkgewogICAgaWYgKGVuY29kZVVSSShzdHIpLnRvVXBwZXJDYXNlKCkgPT09ICIlIiArIGhleDMgKyAiJSIgKyBoZXgyICsgIiUiICsgaGV4MSkgY29udGludWU7CiAgfSBjYXRjaChlKSB7fSAgICAgIAogIGlmIChpbmRleE8gPT09IDApIHsgCiAgICBpbmRleE8gPSBpbmRleDsKICB9IGVsc2UgewogICAgaWYgKChpbmRleCAtIGluZGV4UCkgIT09IDEpIHsgICAgICAgICAgICAgCiAgICAgIGlmICgoaW5kZXhQIC0gaW5kZXhPKSAhPT0gMCkgewogICAgICAgIHZhciBoZXhQID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4UCk7CiAgICAgICAgdmFyIGhleE8gPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhPKTsKICAgICAgICAkRVJST1IoJyMnICsgaGV4TyArICctJyArIGhleFAgKyAnICcpOwogICAgICB9IAogICAgICBlbHNlIHsKICAgICAgICB2YXIgaGV4UCA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleFApOwogICAgICAgICRFUlJPUignIycgKyBoZXhQICsgJyAnKTsKICAgICAgfSAgCiAgICAgIGluZGV4TyA9IGluZGV4OwogICAgfSAgICAgICAgIAogIH0KICBpbmRleFAgPSBpbmRleDsKICBlcnJvckNvdW50Kys7ICAgIAp9CgppZiAoZXJyb3JDb3VudCA+IDApIHsKICBpZiAoKGluZGV4UCAtIGluZGV4TykgIT09IDApIHsKICAgIHZhciBoZXhQID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4UCk7CiAgICB2YXIgaGV4TyA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleE8pOwogICAgJEVSUk9SKCcjJyArIGhleE8gKyAnLScgKyBoZXhQICsgJyAnKTsKICB9IGVsc2UgewogICAgdmFyIGhleFAgPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhQKTsKICAgICRFUlJPUignIycgKyBoZXhQICsgJyAnKTsKICB9ICAgICAKICAkRVJST1IoJ1RvdGFsIGVycm9yOiAnICsgZXJyb3JDb3VudCArICcgYmFkIFVuaWNvZGUgY2hhcmFjdGVyIGluICcgKyBjb3VudCArICcgJyk7Cn0KCmZ1bmN0aW9uIGRlY2ltYWxUb0hleFN0cmluZyhuKSB7CiAgbiA9IE51bWJlcihuKTsKICB2YXIgaCA9ICIiOwogIGZvciAodmFyIGkgPSAzOyBpID49IDA7IGktLSkgewogICAgaWYgKG4gPj0gTWF0aC5wb3coMTYsIGkpKSB7CiAgICAgIHZhciB0ID0gTWF0aC5mbG9vcihuIC8gTWF0aC5wb3coMTYsIGkpKTsKICAgICAgbiAtPSB0ICogTWF0aC5wb3coMTYsIGkpOwogICAgICBpZiAoIHQgPj0gMTAgKSB7CiAgICAgICAgaWYgKCB0ID09IDEwICkgeyBoICs9ICJBIjsgfQogICAgICAgIGlmICggdCA9PSAxMSApIHsgaCArPSAiQiI7IH0KICAgICAgICBpZiAoIHQgPT0gMTIgKSB7IGggKz0gIkMiOyB9CiAgICAgICAgaWYgKCB0ID09IDEzICkgeyBoICs9ICJEIjsgfQogICAgICAgIGlmICggdCA9PSAxNCApIHsgaCArPSAiRSI7IH0KICAgICAgICBpZiAoIHQgPT0gMTUgKSB7IGggKz0gIkYiOyB9CiAgICAgIH0gZWxzZSB7CiAgICAgICAgaCArPSBTdHJpbmcodCk7CiAgICAgIH0KICAgIH0gZWxzZSB7CiAgICAgIGggKz0gIjAiOwogICAgfQogIH0KICByZXR1cm4gaDsKfQoK","commentary":"If string.charAt(k) in [0xE000 - 0xFFFF], return 3 octets (xxxxyyyy yyzzzzzz -> 1110xxxx 10yyyyyy 10zzzzzz)","description":"Complex tests, use RFC 3629","path":"TestCases/ch15/15.1/15.1.3/15.1.3.3/S15.1.3.3_A2.5_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiB1bmVzY2FwZWRVUklTZXQgY29udGFpbmluZyBvbmUgaW5zdGFuY2Ugb2YgZWFjaCBjaGFyYWN0ZXIgdmFsaWQgaW4gdXJpUmVzZXJ2ZWQKICoKICogQHBhdGggY2gxNS8xNS4xLzE1LjEuMy8xNS4xLjMuMy9TMTUuMS4zLjNfQTMuMV9UMS5qcwogKiBAZGVzY3JpcHRpb24gQ29tcGxleCB0ZXN0cwogKi8KCnVyaVJlc2VydmVkID0gWyI7IiwgIi8iLCAiPyIsICI6IiwgIkAiLCAiJiIsICI9IiwgIisiLCAiJCIsICIsIl07CmZvciAoaW5kZXhDID0gMDsgaW5kZXhDIDwgdXJpUmVzZXJ2ZWQubGVuZ3RoOyBpbmRleEMrKykgewogIHZhciBzdHIgPSB1cmlSZXNlcnZlZFtpbmRleENdOyAgICAKICBpZiAoZW5jb2RlVVJJKHN0cikgIT09IHN0cikgewogICAgJEVSUk9SKCcjJyArIChpbmRleEMgKyAxKSArICc6IHVuZXNjYXBlZFVSSVNldCBjb250YWluaW5nJyArIHN0cik7CiAgfSAgCn0KCg==","commentary":"unescapedURISet containing one instance of each character valid in uriReserved","description":"Complex tests","path":"TestCases/ch15/15.1/15.1.3/15.1.3.3/S15.1.3.3_A3.1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiB1bmVzY2FwZWRVUklTZXQgY29udGFpbmluZyBvbmUgaW5zdGFuY2Ugb2YgZWFjaCBjaGFyYWN0ZXIgdmFsaWQgaW4gdXJpVW5lc2NhcGVkCiAqCiAqIEBwYXRoIGNoMTUvMTUuMS8xNS4xLjMvMTUuMS4zLjMvUzE1LjEuMy4zX0EzLjJfVDEuanMKICogQGRlc2NyaXB0aW9uIENvbXBsZXggdGVzdHMsIHVyaVVuZXNjYXBlZCA6OiB1cmlBbHBoYQogKi8KCnVyaUFscGhhID0gWyJBIiwgIkIiLCAiQyIsICJEIiwgIkUiLCAiRiIsICJHIiwgIkgiLCAiSSIsICJKIiwgIksiLCAiTCIsICJNIiwgIk4iLCAiTyIsICJQIiwgIlEiLCAiUiIsICJTIiwgIlQiLCAiVSIsICJWIiwgIlciLCAiWCIsICJZIiwgIloiLCAiYSIsICJiIiwgImMiLCAiZCIsICJlIiwgImYiLCAiZyIsICJoIiwgImkiLCAiaiIsICJrIiwgImwiLCAibSIsICJuIiwgIm8iLCAicCIsICJxIiwgInIiLCAicyIsICJ0IiwgInUiLCAidiIsICJ3IiwgIngiLCAieSIsICJ6Il07CmZvciAoaW5kZXhDID0gMDsgaW5kZXhDIDwgdXJpQWxwaGEubGVuZ3RoOyBpbmRleEMrKykgewogIHZhciBzdHIgPSB1cmlBbHBoYVtpbmRleENdOyAgICAKICBpZiAoZW5jb2RlVVJJKHN0cikgIT09IHN0cikgewogICAgJEVSUk9SKCcjJyArIChpbmRleEMgKyAxKSArICc6IHVuZXNjYXBlZFVSSVNldCBjb250YWluaW5nICcgKyBzdHIpOwogIH0gIAp9Cgo=","commentary":"unescapedURISet containing one instance of each character valid in uriUnescaped","description":"Complex tests, uriUnescaped :: uriAlpha","path":"TestCases/ch15/15.1/15.1.3/15.1.3.3/S15.1.3.3_A3.2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiB1bmVzY2FwZWRVUklTZXQgY29udGFpbmluZyBvbmUgaW5zdGFuY2Ugb2YgZWFjaCBjaGFyYWN0ZXIgdmFsaWQgaW4gdXJpVW5lc2NhcGVkCiAqCiAqIEBwYXRoIGNoMTUvMTUuMS8xNS4xLjMvMTUuMS4zLjMvUzE1LjEuMy4zX0EzLjJfVDIuanMKICogQGRlc2NyaXB0aW9uIENvbXBsZXggdGVzdHMsIHVyaVVuZXNjYXBlZCA6OiBEZWNpbWFsRGlnaXQKICovCgpEZWNpbWFsRGlnaXQgPSBbIjAiLCAiMSIsICIyIiwgIjMiLCAiNCIsICI1IiwgIjYiLCAiNyIsICI4IiwgIjkiXTsKZm9yIChpbmRleEMgPSAwOyBpbmRleEMgPCBEZWNpbWFsRGlnaXQubGVuZ3RoOyBpbmRleEMrKykgewogIHZhciBzdHIgPSBEZWNpbWFsRGlnaXRbaW5kZXhDXTsgICAgCiAgaWYgKGVuY29kZVVSSShzdHIpICE9PSBzdHIpIHsKICAgICRFUlJPUignIycgKyAoaW5kZXhDICsgMSkgKyAnOiB1bmVzY2FwZWRVUklTZXQgY29udGFpbmluZycgKyBzdHIpOwogIH0gIAp9Cgo=","commentary":"unescapedURISet containing one instance of each character valid in uriUnescaped","description":"Complex tests, uriUnescaped :: DecimalDigit","path":"TestCases/ch15/15.1/15.1.3/15.1.3.3/S15.1.3.3_A3.2_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiB1bmVzY2FwZWRVUklTZXQgY29udGFpbmluZyBvbmUgaW5zdGFuY2Ugb2YgZWFjaCBjaGFyYWN0ZXIgdmFsaWQgaW4gdXJpVW5lc2NhcGVkCiAqCiAqIEBwYXRoIGNoMTUvMTUuMS8xNS4xLjMvMTUuMS4zLjMvUzE1LjEuMy4zX0EzLjJfVDMuanMKICogQGRlc2NyaXB0aW9uIENvbXBsZXggdGVzdHMsIHVyaVVuZXNjYXBlZCA6OiB1cmlNYXJrCiAqLwoKdXJpTWFyayA9IFsiLSIsICJfIiwgIi4iLCAiISIsICJ+IiwgIioiLCAiJyIsICIoIiwgIikiXTsKZm9yIChpbmRleEMgPSAwOyBpbmRleEMgPCB1cmlNYXJrLmxlbmd0aDsgaW5kZXhDKyspIHsKICB2YXIgc3RyID0gdXJpTWFya1tpbmRleENdOyAgICAKICBpZiAoZW5jb2RlVVJJKHN0cikgIT09IHN0cikgewogICAgJEVSUk9SKCcjJyArIChpbmRleEMgKyAxKSArICc6IHVuZXNjYXBlZFVSSVNldCBjb250YWluaW5nJyArIHN0cik7CiAgfSAgCn0KCg==","commentary":"unescapedURISet containing one instance of each character valid in uriUnescaped","description":"Complex tests, uriUnescaped :: uriMark","path":"TestCases/ch15/15.1/15.1.3/15.1.3.3/S15.1.3.3_A3.2_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiB1bmVzY2FwZWRVUklTZXQgY29udGFpbmluZyAiIyIKICoKICogQHBhdGggY2gxNS8xNS4xLzE1LjEuMy8xNS4xLjMuMy9TMTUuMS4zLjNfQTMuM19UMS5qcwogKiBAZGVzY3JpcHRpb24gZW5jb2RlVVJJKCIjIikgPT09ICIjIgogKi8KCmlmIChlbmNvZGVVUkkoIiMiKSAhPT0gIiMiKSB7CiAgJEVSUk9SKCcjMTogdW5lc2NhcGVkVVJJU2V0IGNvbnRhaW5pbmcgIiMiJyk7Cn0gIAoK","commentary":"unescapedURISet containing \"#\"","description":"encodeURI(\"#\") === \"#\"","path":"TestCases/ch15/15.1/15.1.3/15.1.3.3/S15.1.3.3_A3.3_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBVUkkgdGVzdHMKICoKICogQHBhdGggY2gxNS8xNS4xLzE1LjEuMy8xNS4xLjMuMy9TMTUuMS4zLjNfQTRfVDEuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIEVOR0xJU0ggQUxQSEFCRVQKICovCgovL0NIRUNLIzEKaWYgKGVuY29kZVVSSSgiaHR0cDovL3VuaXByby5ydS8wMTIzNDU2Nzg5IikgIT09ICJodHRwOi8vdW5pcHJvLnJ1LzAxMjM0NTY3ODkiKSB7CiAgJEVSUk9SKCcjMTogaHR0cDovL3VuaXByby5ydS8wMTIzNDU2Nzg5Jyk7Cn0KCi8vQ0hFQ0sjMgppZiAoZW5jb2RlVVJJKCJhQWJCY0NkRGVFZkZnR2hIaUlqSmtLbExtTW5Ob09wUHFRclJzU3RUdVV2VndXeFh5WXpaIikgIT09ICJhQWJCY0NkRGVFZkZnR2hIaUlqSmtLbExtTW5Ob09wUHFRclJzU3RUdVV2VndXeFh5WXpaIikgewogICRFUlJPUignIzI6IGFBYkJjQ2REZUVmRmdHaEhpSWpKa0tsTG1Nbk5vT3BQcVFyUnNTdFR1VXZWd1d4WHlZelonKTsKfQoKLy9DSEVDSyMzCmlmIChlbmNvZGVVUkkoImFBX2JCLWNDLmREIWVFfmZGKmdHJ2hIKGlJKWpKO2tLL2xMP21NOm5OQG9PJnBQPXFRK3JSJHNTLHRUOXVVOHZWN3dXNnhYNXlZNHpaIikgIT09ICJhQV9iQi1jQy5kRCFlRX5mRipnRydoSChpSSlqSjtrSy9sTD9tTTpuTkBvTyZwUD1xUStyUiRzUyx0VDl1VTh2Vjd3VzZ4WDV5WTR6WiIpIHsKICAkRVJST1IoJyMzOiAnKTsKfQoK","commentary":"URI tests","description":"Checking ENGLISH ALPHABET","path":"TestCases/ch15/15.1/15.1.3/15.1.3.3/S15.1.3.3_A4_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBVUkkgdGVzdHMKICoKICogQHBhdGggY2gxNS8xNS4xLzE1LjEuMy8xNS4xLjMuMy9TMTUuMS4zLjNfQTRfVDIuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIFJVU1NJQU4gQUxQSEFCRVQKICovCgovL0NIRUNLIzEKaWYgKChlbmNvZGVVUkkoImh0dHA6Ly9ydS53aWtpcGVkaWEub3JnL3dpa2kv0K7QvdC40LrQvtC0IikgIT09ICJodHRwOi8vcnUud2lraXBlZGlhLm9yZy93aWtpLyVEMCVBRSVEMCVCRCVEMCVCOCVEMCVCQSVEMCVCRSVEMCVCNCIpICYmIChlbmNvZGVVUkkoImh0dHA6Ly9ydS53aWtpcGVkaWEub3JnL3dpa2kv0K7QvdC40LrQvtC0IikgIT09ICJodHRwOi8vcnUud2lraXBlZGlhLm9yZy93aWtpLyIgKyAiJUQwJUFFJUQwJUJEJUQwJUI4JUQwJUJBJUQwJUJFJUQwJUI0Ii50b0xvd2VyQ2FzZSgpKSkgewogICRFUlJPUignIzE6IGh0dHA6Ly9ydS53aWtpcGVkaWEub3JnL3dpa2kv0K7QvdC40LrQvtC0Jyk7Cn0KCi8vQ0hFQ0sjMgppZiAoKGVuY29kZVVSSSgiaHR0cDovL3J1Lndpa2lwZWRpYS5vcmcvd2lraS/QrtC90LjQutC+0LQj0KHRgdGL0LvQutC4IikgIT09ICJodHRwOi8vcnUud2lraXBlZGlhLm9yZy93aWtpLyVEMCVBRSVEMCVCRCVEMCVCOCVEMCVCQSVEMCVCRSVEMCVCNCMlRDAlQTElRDElODElRDElOEIlRDAlQkIlRDAlQkElRDAlQjgiKSAmJiAoZW5jb2RlVVJJKCJodHRwOi8vcnUud2lraXBlZGlhLm9yZy93aWtpL9Cu0L3QuNC60L7QtCPQodGB0YvQu9C60LgiKSAhPT0gImh0dHA6Ly9ydS53aWtpcGVkaWEub3JnL3dpa2kvIiArICIlRDAlQUUlRDAlQkQlRDAlQjglRDAlQkElRDAlQkUlRDAlQjQjJUQwJUExJUQxJTgxJUQxJThCJUQwJUJCJUQwJUJBJUQwJUI4Ii50b0xvd2VyQ2FzZSgpKSkgewogICRFUlJPUignIzI6IGh0dHA6Ly9ydS53aWtpcGVkaWEub3JnL3dpa2kv0K7QvdC40LrQvtC0I9Ch0YHRi9C70LrQuCcpOwp9CgovL0NIRUNLIzMKaWYgKChlbmNvZGVVUkkoImh0dHA6Ly9ydS53aWtpcGVkaWEub3JnL3dpa2kv0K7QvdC40LrQvtC0I9CS0LXRgNGB0LjQuCDQrtC90LjQutC+0LTQsCIpICE9PSAiaHR0cDovL3J1Lndpa2lwZWRpYS5vcmcvd2lraS8lRDAlQUUlRDAlQkQlRDAlQjglRDAlQkElRDAlQkUlRDAlQjQjJUQwJTkyJUQwJUI1JUQxJTgwJUQxJTgxJUQwJUI4JUQwJUI4JTIwJUQwJUFFJUQwJUJEJUQwJUI4JUQwJUJBJUQwJUJFJUQwJUI0JUQwJUIwIikgJiYgKChlbmNvZGVVUkkoImh0dHA6Ly9ydS53aWtpcGVkaWEub3JnL3dpa2kv0K7QvdC40LrQvtC0I9CS0LXRgNGB0LjQuCDQrtC90LjQutC+0LTQsCIpICE9PSAiaHR0cDovL3J1Lndpa2lwZWRpYS5vcmcvd2lraS8iICsgIiVEMCVBRSVEMCVCRCVEMCVCOCVEMCVCQSVEMCVCRSVEMCVCNCMlRDAlOTIlRDAlQjUlRDElODAlRDElODElRDAlQjglRDAlQjglMjAlRDAlQUUlRDAlQkQlRDAlQjglRDAlQkElRDAlQkUlRDAlQjQlRDAlQjAiLnRvTG93ZXJDYXNlKCkpKSkgewogICRFUlJPUignIzM6IGh0dHA6Ly9ydS53aWtpcGVkaWEub3JnL3dpa2kv0K7QvdC40LrQvtC0I9CS0LXRgNGB0LjQuCDQrtC90LjQutC+0LTQsCcpOwp9Cgo=","commentary":"URI tests","description":"Checking RUSSIAN ALPHABET","path":"TestCases/ch15/15.1/15.1.3/15.1.3.3/S15.1.3.3_A4_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBVUkkgdGVzdHMKICoKICogQHBhdGggY2gxNS8xNS4xLzE1LjEuMy8xNS4xLjMuMy9TMTUuMS4zLjNfQTRfVDMuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIFVSTCB3aXRoIExpbmUgVGVybWluYXRvcgogKi8KCi8vQ0hFQ0sjMQppZiAoKGVuY29kZVVSSSgiaHR0cDovL3VuaXByby5ydS9cbmFib3V0IikgIT09ICJodHRwOi8vdW5pcHJvLnJ1LyUwQWFib3V0IikgJiYgZW5jb2RlVVJJKCJodHRwOi8vdW5pcHJvLnJ1L1xuYWJvdXQiKSAhPT0gImh0dHA6Ly91bmlwcm8ucnUvJTBhYWJvdXQiKSB7CiAgJEVSUk9SKCcjMTogaHR0cDovL3VuaXByby5ydS9cXG5hYm91dCcpOwp9CgovL0NIRUNLIzIKaWYgKChlbmNvZGVVUkkoImh0dHA6Ly91bmlwcm8ucnUvXHZhYm91dCIpICE9PSAiaHR0cDovL3VuaXByby5ydS8lMEJhYm91dCIpICYmIGVuY29kZVVSSSgiaHR0cDovL3VuaXByby5ydS9cdmFib3V0IikgIT09ICJodHRwOi8vdW5pcHJvLnJ1LyUwYmFib3V0IikgewogICRFUlJPUignIzI6IGh0dHA6Ly91bmlwcm8ucnUvXFx2YWJvdXQnKTsKfQoKLy9DSEVDSyMzCmlmICgoZW5jb2RlVVJJKCJodHRwOi8vdW5pcHJvLnJ1L1xmYWJvdXQiKSAhPT0gImh0dHA6Ly91bmlwcm8ucnUvJTBDYWJvdXQiKSAmJiBlbmNvZGVVUkkoImh0dHA6Ly91bmlwcm8ucnUvXGZhYm91dCIpICE9PSAiaHR0cDovL3VuaXByby5ydS8lMGNhYm91dCIpIHsKICAkRVJST1IoJyMzOiBodHRwOi8vdW5pcHJvLnJ1L1xcZmFib3V0Jyk7Cn0KCi8vQ0hFQ0sjNAppZiAoKGVuY29kZVVSSSgiaHR0cDovL3VuaXByby5ydS9ccmFib3V0IikgIT09ICJodHRwOi8vdW5pcHJvLnJ1LyUwRGFib3V0IikgJiYgZW5jb2RlVVJJKCJodHRwOi8vdW5pcHJvLnJ1L1xyYWJvdXQiKSAhPT0gImh0dHA6Ly91bmlwcm8ucnUvJTBkYWJvdXQiKSB7CiAgJEVSUk9SKCcjNDogaHR0cDovL3VuaXByby5ydS9cXHJhYm91dCcpOwp9Cgo=","commentary":"URI tests","description":"Checking URL with Line Terminator","path":"TestCases/ch15/15.1/15.1.3/15.1.3.3/S15.1.3.3_A4_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBVUkkgdGVzdHMKICoKICogQHBhdGggY2gxNS8xNS4xLzE1LjEuMy8xNS4xLjMuMy9TMTUuMS4zLjNfQTRfVDQuanMKICogQGRlc2NyaXB0aW9uIFRlc3Qgc29tZSB1cmwKICovCgovL0NIRUNLIzEKaWYgKGVuY29kZVVSSSgiIikgIT09ICIiKSB7CiAgJEVSUk9SKCcjMTogIiInKTsKfQoKLy9DSEVDSyMyCmlmIChlbmNvZGVVUkkoImh0dHA6Ly91bmlwcm8ucnUiKSAhPT0gImh0dHA6Ly91bmlwcm8ucnUiKSB7CiAgJEVSUk9SKCcjMjogaHR0cDovL3VuaXByby5ydScpOwp9CgovL0NIRUNLIzMKaWYgKGVuY29kZVVSSSgiaHR0cDovL3d3dy5nb29nbGUucnUvc3VwcG9ydC9qb2JzL2Jpbi9zdGF0aWMucHk/cGFnZT13aHktcnUuaHRtbCZzaWQ9bGl2ZWFuZHdvcmsiKSAhPT0gImh0dHA6Ly93d3cuZ29vZ2xlLnJ1L3N1cHBvcnQvam9icy9iaW4vc3RhdGljLnB5P3BhZ2U9d2h5LXJ1Lmh0bWwmc2lkPWxpdmVhbmR3b3JrIikgewogICRFUlJPUignIzM6IGh0dHA6Ly93d3cuZ29vZ2xlLnJ1L3N1cHBvcnQvam9icy9iaW4vc3RhdGljLnB5P3BhZ2U9d2h5LXJ1Lmh0bWwmc2lkPWxpdmVhbmR3b3JrIicpOwp9ICAgICAgICAgICAKCi8vQ0hFQ0sjNAppZiAoZW5jb2RlVVJJKCJodHRwOi8vZW4ud2lraXBlZGlhLm9yZy93aWtpL1VURi04I0Rlc2NyaXB0aW9uIikgIT09ICJodHRwOi8vZW4ud2lraXBlZGlhLm9yZy93aWtpL1VURi04I0Rlc2NyaXB0aW9uIikgewogICRFUlJPUignIzQ6IGh0dHA6Ly9lbi53aWtpcGVkaWEub3JnL3dpa2kvVVRGLTgjRGVzY3JpcHRpb24nKTsKfQoK","commentary":"URI tests","description":"Test some url","path":"TestCases/ch15/15.1/15.1.3/15.1.3.3/S15.1.3.3_A4_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgbGVuZ3RoIHByb3BlcnR5IG9mIGVuY29kZVVSSSBoYXMgdGhlIGF0dHJpYnV0ZSBEb250RW51bQogKgogKiBAcGF0aCBjaDE1LzE1LjEvMTUuMS4zLzE1LjEuMy4zL1MxNS4xLjMuM19BNS4xLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyB1c2UgcHJvcGVydHlJc0VudW1lcmFibGUsIGZvci1pbgogKi8KCi8vQ0hFQ0sjMQppZiAoZW5jb2RlVVJJLnByb3BlcnR5SXNFbnVtZXJhYmxlKCdsZW5ndGgnKSAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyMxOiBlbmNvZGVVUkkucHJvcGVydHlJc0VudW1lcmFibGUoXCdsZW5ndGhcJykgPT09IGZhbHNlLiBBY3R1YWw6ICcgKyAoZW5jb2RlVVJJLnByb3BlcnR5SXNFbnVtZXJhYmxlKCdsZW5ndGgnKSkpOwp9CgovL0NIRUNLIzIKcmVzdWx0ID0gdHJ1ZTsKZm9yIChwIGluIGVuY29kZVVSSSl7CiAgaWYgKHAgPT09ICJsZW5ndGgiKSB7CiAgICByZXN1bHQgPSBmYWxzZTsKICB9ICAKfQoKaWYgKHJlc3VsdCAhPT0gdHJ1ZSkgewogICRFUlJPUignIzI6IHJlc3VsdCA9IHRydWU7IGZvciAocCBpbiBlbmNvZGVVUkkpIHsgaWYgKHAgPT09ICJsZW5ndGgiKSByZXN1bHQgPSBmYWxzZTsgfSAgcmVzdWx0ID09PSB0cnVlOycpOwp9Cgo=","commentary":"The length property of encodeURI has the attribute DontEnum","description":"Checking use propertyIsEnumerable, for-in","path":"TestCases/ch15/15.1/15.1.3/15.1.3.3/S15.1.3.3_A5.1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgbGVuZ3RoIHByb3BlcnR5IG9mIGVuY29kZVVSSSBoYXMgdGhlIGF0dHJpYnV0ZSBEb250RGVsZXRlCiAqCiAqIEBwYXRoIGNoMTUvMTUuMS8xNS4xLjMvMTUuMS4zLjMvUzE1LjEuMy4zX0E1LjIuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIHVzZSBoYXNPd25Qcm9wZXJ0eSwgZGVsZXRlCiAqLwoKLy9DSEVDSyMxCmlmIChlbmNvZGVVUkkuaGFzT3duUHJvcGVydHkoJ2xlbmd0aCcpICE9PSB0cnVlKSB7CiAgJEZBSUwoJyMxOiBlbmNvZGVVUkkuaGFzT3duUHJvcGVydHkoXCdsZW5ndGhcJykgPT09IHRydWUuIEFjdHVhbDogJyArIChlbmNvZGVVUkkuaGFzT3duUHJvcGVydHkoJ2xlbmd0aCcpKSk7Cn0KCmRlbGV0ZSBlbmNvZGVVUkkubGVuZ3RoOwoKLy9DSEVDSyMyCmlmIChlbmNvZGVVUkkuaGFzT3duUHJvcGVydHkoJ2xlbmd0aCcpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMjogZGVsZXRlIGVuY29kZVVSSS5sZW5ndGg7IGVuY29kZVVSSS5oYXNPd25Qcm9wZXJ0eShcJ2xlbmd0aFwnKSA9PT0gdHJ1ZS4gQWN0dWFsOiAnICsgKGVuY29kZVVSSS5oYXNPd25Qcm9wZXJ0eSgnbGVuZ3RoJykpKTsKfQoKLy9DSEVDSyMzCmlmIChlbmNvZGVVUkkubGVuZ3RoID09PSB1bmRlZmluZWQpIHsKICAkRVJST1IoJyMzOiBkZWxldGUgZW5jb2RlVVJJLmxlbmd0aDsgZW5jb2RlVVJJLmxlbmd0aCAhPT0gdW5kZWZpbmVkJyk7Cn0KCgoKCg==","commentary":"The length property of encodeURI has the attribute DontDelete","description":"Checking use hasOwnProperty, delete","path":"TestCases/ch15/15.1/15.1.3/15.1.3.3/S15.1.3.3_A5.2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgbGVuZ3RoIHByb3BlcnR5IG9mIGVuY29kZVVSSSBoYXMgdGhlIGF0dHJpYnV0ZSBSZWFkT25seQogKgogKiBAcGF0aCBjaDE1LzE1LjEvMTUuMS4zLzE1LjEuMy4zL1MxNS4xLjMuM19BNS4zLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiB2YXJ5aW5nIHRoZSBsZW5ndGggcHJvcGVydHkgZmFpbHMKICovCgovL0NIRUNLIzEKeCA9IGVuY29kZVVSSS5sZW5ndGg7CmVuY29kZVVSSS5sZW5ndGggPSBJbmZpbml0eTsKaWYgKGVuY29kZVVSSS5sZW5ndGggIT09IHgpIHsKICAkRVJST1IoJyMxOiB4ID0gZW5jb2RlVVJJLmxlbmd0aDsgZW5jb2RlVVJJLmxlbmd0aCA9IEluZmluaXR5OyBlbmNvZGVVUkkubGVuZ3RoID09PSB4LiBBY3R1YWw6ICcgKyAoZW5jb2RlVVJJLmxlbmd0aCkpOwp9CgoK","commentary":"The length property of encodeURI has the attribute ReadOnly","description":"Checking if varying the length property fails","path":"TestCases/ch15/15.1/15.1.3/15.1.3.3/S15.1.3.3_A5.3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgbGVuZ3RoIHByb3BlcnR5IG9mIGVuY29kZVVSSSBpcyAxCiAqCiAqIEBwYXRoIGNoMTUvMTUuMS8xNS4xLjMvMTUuMS4zLjMvUzE1LjEuMy4zX0E1LjQuanMKICogQGRlc2NyaXB0aW9uIGVuY29kZVVSSS5sZW5ndGggPT09IDEKICovCgovL0NIRUNLIzEKaWYgKGVuY29kZVVSSS5sZW5ndGggIT09IDEpIHsKICAkRVJST1IoJyMxOiBlbmNvZGVVUkkubGVuZ3RoID09PSAxLiBBY3R1YWw6ICcgKyAoZW5jb2RlVVJJLmxlbmd0aCkpOwp9IAoKCg==","commentary":"The length property of encodeURI is 1","description":"encodeURI.length === 1","path":"TestCases/ch15/15.1/15.1.3/15.1.3.3/S15.1.3.3_A5.4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgZW5jb2RlVVJJIHByb3BlcnR5IGhhcyB0aGUgYXR0cmlidXRlIERvbnRFbnVtCiAqCiAqIEBwYXRoIGNoMTUvMTUuMS8xNS4xLjMvMTUuMS4zLjMvUzE1LjEuMy4zX0E1LjUuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIHVzZSBwcm9wZXJ0eUlzRW51bWVyYWJsZSwgZm9yLWluCiAqLwoKLy9DSEVDSyMxCmlmICh0aGlzLnByb3BlcnR5SXNFbnVtZXJhYmxlKCdlbmNvZGVVUkknKSAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyMxOiB0aGlzLnByb3BlcnR5SXNFbnVtZXJhYmxlKFwnZW5jb2RlVVJJXCcpID09PSBmYWxzZS4gQWN0dWFsOiAnICsgKHRoaXMucHJvcGVydHlJc0VudW1lcmFibGUoJ2VuY29kZVVSSScpKSk7Cn0KCi8vQ0hFQ0sjMgpyZXN1bHQgPSB0cnVlOwpmb3IgKHAgaW4gdGhpcyl7CiAgaWYgKHAgPT09ICJlbmNvZGVVUkkiKSB7CiAgICByZXN1bHQgPSBmYWxzZTsKICB9ICAKfQoKaWYgKHJlc3VsdCAhPT0gdHJ1ZSkgewogICRFUlJPUignIzI6IHJlc3VsdCA9IHRydWU7IGZvciAocCBpbiB0aGlzKSB7IGlmIChwID09PSAiZW5jb2RlVVJJIikgcmVzdWx0ID0gZmFsc2U7IH0gIHJlc3VsdCA9PT0gdHJ1ZTsnKTsKfQoK","commentary":"The encodeURI property has the attribute DontEnum","description":"Checking use propertyIsEnumerable, for-in","path":"TestCases/ch15/15.1/15.1.3/15.1.3.3/S15.1.3.3_A5.5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgZW5jb2RlVVJJIHByb3BlcnR5IGhhcyBub3QgcHJvdG90eXBlIHByb3BlcnR5CiAqCiAqIEBwYXRoIGNoMTUvMTUuMS8xNS4xLjMvMTUuMS4zLjMvUzE1LjEuMy4zX0E1LjYuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGVuY29kZVVSSS5wcm90b3R5cGUKICovCgovL0NIRUNLIzEKaWYgKGVuY29kZVVSSS5wcm90b3R5cGUgIT09IHVuZGVmaW5lZCkgewogICRFUlJPUignIzE6IGVuY29kZVVSSS5wcm90b3R5cGUgPT09IHVuZGVmaW5lZC4gQWN0dWFsOiAnICsgKGVuY29kZVVSSS5wcm90b3R5cGUpKTsKfQoK","commentary":"The encodeURI property has not prototype property","description":"Checking encodeURI.prototype","path":"TestCases/ch15/15.1/15.1.3/15.1.3.3/S15.1.3.3_A5.6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgZW5jb2RlVVJJIHByb3BlcnR5IGNhbid0IGJlIHVzZWQgYXMgY29uc3RydWN0b3IKICoKICogQHBhdGggY2gxNS8xNS4xLzE1LjEuMy8xNS4xLjMuMy9TMTUuMS4zLjNfQTUuNy5qcwogKiBAZGVzY3JpcHRpb24gSWYgcHJvcGVydHkgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBpbnRlcm5hbCBbW0NvbnN0cnVjdF1dIG1ldGhvZCwgdGhyb3cgYSBUeXBlRXJyb3IgZXhjZXB0aW9uCiAqLwoKLy9DSEVDSyMxCgp0cnkgewogIG5ldyBlbmNvZGVVUkkoKTsKICAkRVJST1IoJyMxLjE6IG5ldyBlbmNvZGVVUkkoKSB0aHJvdyBUeXBlRXJyb3IuIEFjdHVhbDogJyArIChuZXcgZW5jb2RlVVJJKCkpKTsKfSBjYXRjaCAoZSkgewogIGlmICgoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikgIT09IHRydWUpIHsKICAgICRFUlJPUignIzEuMjogbmV3IGVuY29kZVVSSSgpIHRocm93IFR5cGVFcnJvci4gQWN0dWFsOiAnICsgKGUpKTsKICB9Cn0KCg==","commentary":"The encodeURI property can't be used as constructor","description":"If property does not implement the internal [[Construct]] method, throw a TypeError exception","path":"TestCases/ch15/15.1/15.1.3/15.1.3.3/S15.1.3.3_A5.7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB1c2UgVG9TdHJpbmcKICoKICogQHBhdGggY2gxNS8xNS4xLzE1LjEuMy8xNS4xLjMuMy9TMTUuMS4zLjNfQTZfVDEuanMKICogQGRlc2NyaXB0aW9uIElmIFR5cGUodmFsdWUpIGlzIE9iamVjdCwgZXZhbHVhdGUgVG9QcmltaXRpdmUodmFsdWUsIFN0cmluZykKICovCgovL0NIRUNLIzEKdmFyIG9iamVjdCA9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gIl4ifX07CmlmIChlbmNvZGVVUkkob2JqZWN0KSAhPT0gIiU1Qm9iamVjdCUyME9iamVjdCU1RCIpIHsKICAkRVJST1IoJyMxOiB2YXIgb2JqZWN0ID0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAiXiJ9fTsgZW5jb2RlVVJJKG9iamVjdCkgPT09ICU1Qm9iamVjdCUyME9iamVjdCU1RC4gQWN0dWFsOiAnICsgKGVuY29kZVVSSShvYmplY3QpKSk7Cn0KCi8vQ0hFQ0sjMgp2YXIgb2JqZWN0ID0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAiIn0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gIl4ifX07CmlmIChlbmNvZGVVUkkob2JqZWN0KSAhPT0gIiU1RSIpIHsKICAkRVJST1IoJyMyOiB2YXIgb2JqZWN0ID0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAiIn0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gIl4ifX07IGVuY29kZVVSSShvYmplY3QpID09PSAiJTVFIi4gQWN0dWFsOiAnICsgKGVuY29kZVVSSShvYmplY3QpKSk7Cn0gCgovL0NIRUNLIzMKdmFyIG9iamVjdCA9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gIl4ifSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiB7fX19OwppZiAoZW5jb2RlVVJJKG9iamVjdCkgIT09ICIlNUUiKSB7CiAgJEVSUk9SKCcjMzogdmFyIG9iamVjdCA9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gIl4ifSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiB7fX19OyBlbmNvZGVVUkkob2JqZWN0KSA9PT0gIiU1RSIuIEFjdHVhbDogJyArIChlbmNvZGVVUkkob2JqZWN0KSkpOwp9CgovL0NIRUNLIzQKdHJ5IHsKICB2YXIgb2JqZWN0ID0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3Rocm93ICJlcnJvciJ9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuICJeIn19OwogIGlmIChlbmNvZGVVUkkob2JqZWN0KSAhPT0gIiU1RSIpIHsKICAgICRFUlJPUignIzQuMTogdmFyIG9iamVjdCA9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHt0aHJvdyAiZXJyb3IifSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiAiXiJ9fTsgZW5jb2RlVVJJKG9iamVjdCkgPT09ICIlNUUiLiBBY3R1YWw6ICcgKyAoZW5jb2RlVVJJKG9iamVjdCkpKTsKICB9Cn0KY2F0Y2ggKGUpIHsKICBpZiAoZSA9PT0gImVycm9yIikgewogICAgJEVSUk9SKCcjNC4yOiB2YXIgb2JqZWN0ID0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3Rocm93ICJlcnJvciJ9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuICJeIn19OyBlbmNvZGVVUkkob2JqZWN0KSBub3QgdGhyb3cgImVycm9yIicpOwogIH0gZWxzZSB7CiAgICAkRVJST1IoJyM0LjM6IHZhciBvYmplY3QgPSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7dGhyb3cgImVycm9yIn0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gIl4ifX07IGVuY29kZVVSSShvYmplY3QpIG5vdCB0aHJvdyBFcnJvci4gQWN0dWFsOiAnICsgKGUpKTsKICB9Cn0KCi8vQ0hFQ0sjNQp2YXIgb2JqZWN0ID0ge3RvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gIl4ifX07CmlmIChlbmNvZGVVUkkob2JqZWN0KSAhPT0gIiU1RSIpIHsKICAkRVJST1IoJyM1OiB2YXIgb2JqZWN0ID0ge3RvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gIl4ifX07IGVuY29kZVVSSShvYmplY3QpID09PSAiJTVFIi4gQWN0dWFsOiAnICsgKGVuY29kZVVSSShvYmplY3QpKSk7Cn0KCi8vQ0hFQ0sjNgp2YXIgb2JqZWN0ID0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiB7fX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gIl4ifX0KaWYgKGVuY29kZVVSSShvYmplY3QpICE9PSAiJTVFIikgewogICRFUlJPUignIzY6IHZhciBvYmplY3QgPSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIHt9fSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiAiXiJ9fTsgZW5jb2RlVVJJKG9iamVjdCkgPT09ICIlNUUiLiBBY3R1YWw6ICcgKyAoZW5jb2RlVVJJKG9iamVjdCkpKTsKfQoKLy9DSEVDSyM3CnRyeSB7CiAgdmFyIG9iamVjdCA9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gIl4ifSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3Rocm93ICJlcnJvciJ9fTsKICBlbmNvZGVVUkkob2JqZWN0KTsKICAkRVJST1IoJyM3LjE6IHZhciBvYmplY3QgPSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuICJeIn0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHt0aHJvdyAiZXJyb3IifX07IGVuY29kZVVSSShvYmplY3QpIHRocm93ICJlcnJvciIuIEFjdHVhbDogJyArIChlbmNvZGVVUkkob2JqZWN0KSkpOwp9ICAKY2F0Y2ggKGUpIHsKICBpZiAoZSAhPT0gImVycm9yIikgewogICAgJEVSUk9SKCcjNy4yOiB2YXIgb2JqZWN0ID0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAiXiJ9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7dGhyb3cgImVycm9yIn19OyBlbmNvZGVVUkkob2JqZWN0KSB0aHJvdyAiZXJyb3IiLiBBY3R1YWw6ICcgKyAoZSkpOwogIH0gCn0KCi8vQ0hFQ0sjOAp0cnkgewogIHZhciBvYmplY3QgPSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIHt9fSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiB7fX19OwogIGVuY29kZVVSSShvYmplY3QpOwogICRFUlJPUignIzguMTogdmFyIG9iamVjdCA9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4ge319LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIHt9fX07IGVuY29kZVVSSShvYmplY3QpIHRocm93IFR5cGVFcnJvci4gQWN0dWFsOiAnICsgKGVuY29kZVVSSShvYmplY3QpKSk7Cn0gIApjYXRjaCAoZSkgewogIGlmICgoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikgIT09IHRydWUpIHsKICAgICRFUlJPUignIzguMjogdmFyIG9iamVjdCA9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4ge319LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIHt9fX07IGVuY29kZVVSSShvYmplY3QpIHRocm93IFR5cGVFcnJvci4gQWN0dWFsOiAnICsgKGUpKTsKICB9IAp9Cgo=","commentary":"Operator use ToString","description":"If Type(value) is Object, evaluate ToPrimitive(value, String)","path":"TestCases/ch15/15.1/15.1.3/15.1.3.3/S15.1.3.3_A6_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBzdHJpbmcuY2hhckF0KGspIGluIFsweERDMDAgLSAweERGRkZdLCB0aHJvdyBVUklFcnJvcgogKgogKiBAcGF0aCBjaDE1LzE1LjEvMTUuMS4zLzE1LjEuMy40L1MxNS4xLjMuNF9BMS4xX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBDb21wbGV4IHRlc3RzCiAqLwoKZXJyb3JDb3VudCA9IDA7CmNvdW50ID0gMDsKdmFyIGluZGV4UDsKdmFyIGluZGV4TyA9IDA7Cgpmb3IgKGluZGV4ID0gMHhEQzAwOyBpbmRleCA8PSAweERGRkY7IGluZGV4KyspIHsKICBjb3VudCsrOyAKICBoZXggPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXgpOwogIHRyeSB7CiAgICBlbmNvZGVVUklDb21wb25lbnQoU3RyaW5nLmZyb21DaGFyQ29kZShpbmRleCkpOwogIH0gY2F0Y2ggKGUpIHsgCiAgICBpZiAoKGUgaW5zdGFuY2VvZiBVUklFcnJvcikgPT09IHRydWUpIGNvbnRpbnVlOyAgICAgICAgICAgICAgICAKICB9CiAgaWYgKGluZGV4TyA9PT0gMCkgeyAKICAgIGluZGV4TyA9IGluZGV4OwogIH0gZWxzZSB7CiAgICBpZiAoKGluZGV4IC0gaW5kZXhQKSAhPT0gMSkgeyAgICAgICAgICAgICAKICAgICAgaWYgKChpbmRleFAgLSBpbmRleE8pICE9PSAwKSB7CiAgICAgICAgdmFyIGhleFAgPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhQKTsKICAgICAgICB2YXIgaGV4TyA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleE8pOwogICAgICAgICRFUlJPUignIycgKyBoZXhPICsgJy0nICsgaGV4UCArICcgJyk7CiAgICAgIH0gCiAgICAgIGVsc2UgewogICAgICAgIHZhciBoZXhQID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4UCk7CiAgICAgICAgJEVSUk9SKCcjJyArIGhleFAgKyAnICcpOwogICAgICB9ICAKICAgICAgaW5kZXhPID0gaW5kZXg7CiAgICB9ICAgICAgICAgCiAgfQogIGluZGV4UCA9IGluZGV4OwogIGVycm9yQ291bnQrKzsgICAgICAgCn0KCmlmIChlcnJvckNvdW50ID4gMCkgewogIGlmICgoaW5kZXhQIC0gaW5kZXhPKSAhPT0gMCkgewogICAgdmFyIGhleFAgPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhQKTsKICAgIHZhciBoZXhPID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4Tyk7CiAgICAkRVJST1IoJyMnICsgaGV4TyArICctJyArIGhleFAgKyAnICcpOwogIH0gZWxzZSB7CiAgICB2YXIgaGV4UCA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleFApOwogICAgJEVSUk9SKCcjJyArIGhleFAgKyAnICcpOwogIH0gICAgIAogICRFUlJPUignVG90YWwgZXJyb3I6ICcgKyBlcnJvckNvdW50ICsgJyBiYWQgVW5pY29kZSBjaGFyYWN0ZXIgaW4gJyArIGNvdW50ICsgJyAnKTsKfQoKZnVuY3Rpb24gZGVjaW1hbFRvSGV4U3RyaW5nKG4pIHsKICBuID0gTnVtYmVyKG4pOwogIHZhciBoID0gIiI7CiAgZm9yICh2YXIgaSA9IDM7IGkgPj0gMDsgaS0tKSB7CiAgICBpZiAobiA+PSBNYXRoLnBvdygxNiwgaSkpIHsKICAgICAgdmFyIHQgPSBNYXRoLmZsb29yKG4gLyBNYXRoLnBvdygxNiwgaSkpOwogICAgICBuIC09IHQgKiBNYXRoLnBvdygxNiwgaSk7CiAgICAgIGlmICggdCA+PSAxMCApIHsKICAgICAgICBpZiAoIHQgPT0gMTAgKSB7IGggKz0gIkEiOyB9CiAgICAgICAgaWYgKCB0ID09IDExICkgeyBoICs9ICJCIjsgfQogICAgICAgIGlmICggdCA9PSAxMiApIHsgaCArPSAiQyI7IH0KICAgICAgICBpZiAoIHQgPT0gMTMgKSB7IGggKz0gIkQiOyB9CiAgICAgICAgaWYgKCB0ID09IDE0ICkgeyBoICs9ICJFIjsgfQogICAgICAgIGlmICggdCA9PSAxNSApIHsgaCArPSAiRiI7IH0KICAgICAgfSBlbHNlIHsKICAgICAgICBoICs9IFN0cmluZyh0KTsKICAgICAgfQogICAgfSBlbHNlIHsKICAgICAgaCArPSAiMCI7CiAgICB9CiAgfQogIHJldHVybiBoOwp9Cgo=","commentary":"If string.charAt(k) in [0xDC00 - 0xDFFF], throw URIError","description":"Complex tests","path":"TestCases/ch15/15.1/15.1.3/15.1.3.4/S15.1.3.4_A1.1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBzdHJpbmcuY2hhckF0KGspIGluIFsweERDMDAgLSAweERGRkZdLCB0aHJvdyBVUklFcnJvcgogKgogKiBAcGF0aCBjaDE1LzE1LjEvMTUuMS4zLzE1LjEuMy40L1MxNS4xLjMuNF9BMS4xX1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBDb21wbGV4IHRlc3RzCiAqLwoKZXJyb3JDb3VudCA9IDA7CmNvdW50ID0gMDsKdmFyIGluZGV4UDsKdmFyIGluZGV4TyA9IDA7Cgpmb3IgKGluZGV4ID0gMHhEQzAwOyBpbmRleCA8PSAweERGRkY7IGluZGV4KyspIHsgCiAgY291bnQrKzsgCiAgaGV4ID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4KTsKICB0cnkgewogICAgZW5jb2RlVVJJQ29tcG9uZW50KFN0cmluZy5mcm9tQ2hhckNvZGUoaW5kZXgsIDB4MDA0MSkpOwogIH0gY2F0Y2ggKGUpIHsgCiAgICBpZiAoKGUgaW5zdGFuY2VvZiBVUklFcnJvcikgPT09IHRydWUpIGNvbnRpbnVlOyAgICAgICAgICAgICAgICAKICB9CiAgaWYgKGluZGV4TyA9PT0gMCkgeyAKICAgIGluZGV4TyA9IGluZGV4OwogIH0gZWxzZSB7CiAgICBpZiAoKGluZGV4IC0gaW5kZXhQKSAhPT0gMSkgeyAgICAgICAgICAgICAKICAgICAgaWYgKChpbmRleFAgLSBpbmRleE8pICE9PSAwKSB7CiAgICAgICAgdmFyIGhleFAgPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhQKTsKICAgICAgICB2YXIgaGV4TyA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleE8pOwogICAgICAgICRFUlJPUignIycgKyBoZXhPICsgJy0nICsgaGV4UCArICcgJyk7CiAgICAgIH0gCiAgICAgIGVsc2UgewogICAgICAgIHZhciBoZXhQID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4UCk7CiAgICAgICAgJEVSUk9SKCcjJyArIGhleFAgKyAnICcpOwogICAgICB9ICAKICAgICAgaW5kZXhPID0gaW5kZXg7CiAgICB9ICAgICAgICAgCiAgfQogIGluZGV4UCA9IGluZGV4OwogIGVycm9yQ291bnQrKzsgICAgCn0KCmlmIChlcnJvckNvdW50ID4gMCkgewogIGlmICgoaW5kZXhQIC0gaW5kZXhPKSAhPT0gMCkgewogICAgdmFyIGhleFAgPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhQKTsKICAgIHZhciBoZXhPID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4Tyk7CiAgICAkRVJST1IoJyMnICsgaGV4TyArICctJyArIGhleFAgKyAnICcpOwogIH0gZWxzZSB7CiAgICB2YXIgaGV4UCA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleFApOwogICAgJEVSUk9SKCcjJyArIGhleFAgKyAnICcpOwogIH0gICAgIAogICRFUlJPUignVG90YWwgZXJyb3I6ICcgKyBlcnJvckNvdW50ICsgJyBiYWQgVW5pY29kZSBjaGFyYWN0ZXIgaW4gJyArIGNvdW50ICsgJyAnKTsKfQoKZnVuY3Rpb24gZGVjaW1hbFRvSGV4U3RyaW5nKG4pIHsKICBuID0gTnVtYmVyKG4pOwogIHZhciBoID0gIiI7CiAgZm9yICh2YXIgaSA9IDM7IGkgPj0gMDsgaS0tKSB7CiAgICBpZiAobiA+PSBNYXRoLnBvdygxNiwgaSkpIHsKICAgICAgdmFyIHQgPSBNYXRoLmZsb29yKG4gLyBNYXRoLnBvdygxNiwgaSkpOwogICAgICBuIC09IHQgKiBNYXRoLnBvdygxNiwgaSk7CiAgICAgIGlmICggdCA+PSAxMCApIHsKICAgICAgICBpZiAoIHQgPT0gMTAgKSB7IGggKz0gIkEiOyB9CiAgICAgICAgaWYgKCB0ID09IDExICkgeyBoICs9ICJCIjsgfQogICAgICAgIGlmICggdCA9PSAxMiApIHsgaCArPSAiQyI7IH0KICAgICAgICBpZiAoIHQgPT0gMTMgKSB7IGggKz0gIkQiOyB9CiAgICAgICAgaWYgKCB0ID09IDE0ICkgeyBoICs9ICJFIjsgfQogICAgICAgIGlmICggdCA9PSAxNSApIHsgaCArPSAiRiI7IH0KICAgICAgfSBlbHNlIHsKICAgICAgICBoICs9IFN0cmluZyh0KTsKICAgICAgfQogICAgfSBlbHNlIHsKICAgICAgaCArPSAiMCI7CiAgICB9CiAgfQogIHJldHVybiBoOwp9Cgo=","commentary":"If string.charAt(k) in [0xDC00 - 0xDFFF], throw URIError","description":"Complex tests","path":"TestCases/ch15/15.1/15.1.3/15.1.3.4/S15.1.3.4_A1.1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBzdHJpbmcuY2hhckF0KGspIGluIFsweEQ4MDAgLSAweERCRkZdIGFuZCBzdHJpbmcubGVuZ3RoID0gayArIDEsIHRocm93IFVSSUVycm9yCiAqCiAqIEBwYXRoIGNoMTUvMTUuMS8xNS4xLjMvMTUuMS4zLjQvUzE1LjEuMy40X0ExLjJfVDEuanMKICogQGRlc2NyaXB0aW9uIENvbXBsZXggdGVzdHMKICovCgplcnJvckNvdW50ID0gMDsKY291bnQgPSAwOwp2YXIgaW5kZXhQOwp2YXIgaW5kZXhPID0gMDsKCmZvciAoaW5kZXggPSAweEQ4MDA7IGluZGV4IDw9IDB4REJGRjsgaW5kZXgrKykgewogIGNvdW50Kys7ICAgCiAgaGV4ID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4KTsKICB0cnkgewogICAgZW5jb2RlVVJJQ29tcG9uZW50KFN0cmluZy5mcm9tQ2hhckNvZGUoaW5kZXgpKTsKICB9IGNhdGNoIChlKSB7IAogICAgaWYgKChlIGluc3RhbmNlb2YgVVJJRXJyb3IpID09PSB0cnVlKSBjb250aW51ZTsgICAgICAgICAgICAgICAgCiAgfQogIGlmIChpbmRleE8gPT09IDApIHsgCiAgICBpbmRleE8gPSBpbmRleDsKICB9IGVsc2UgewogICAgaWYgKChpbmRleCAtIGluZGV4UCkgIT09IDEpIHsgICAgICAgICAgICAgCiAgICAgIGlmICgoaW5kZXhQIC0gaW5kZXhPKSAhPT0gMCkgewogICAgICAgIHZhciBoZXhQID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4UCk7CiAgICAgICAgdmFyIGhleE8gPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhPKTsKICAgICAgICAkRVJST1IoJyMnICsgaGV4TyArICctJyArIGhleFAgKyAnICcpOwogICAgICB9IAogICAgICBlbHNlIHsKICAgICAgICB2YXIgaGV4UCA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleFApOwogICAgICAgICRFUlJPUignIycgKyBoZXhQICsgJyAnKTsKICAgICAgfSAgCiAgICAgIGluZGV4TyA9IGluZGV4OwogICAgfSAgICAgICAgIAogIH0KICBpbmRleFAgPSBpbmRleDsKICBlcnJvckNvdW50Kys7ICAgIAp9CgppZiAoZXJyb3JDb3VudCA+IDApIHsKICBpZiAoKGluZGV4UCAtIGluZGV4TykgIT09IDApIHsKICAgIHZhciBoZXhQID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4UCk7CiAgICB2YXIgaGV4TyA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleE8pOwogICAgJEVSUk9SKCcjJyArIGhleE8gKyAnLScgKyBoZXhQICsgJyAnKTsKICB9IGVsc2UgewogICAgdmFyIGhleFAgPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhQKTsKICAgICRFUlJPUignIycgKyBoZXhQICsgJyAnKTsKICB9ICAgICAKICAkRVJST1IoJ1RvdGFsIGVycm9yOiAnICsgZXJyb3JDb3VudCArICcgYmFkIFVuaWNvZGUgY2hhcmFjdGVyIGluICcgKyBjb3VudCArICcgJyk7Cn0KCmZ1bmN0aW9uIGRlY2ltYWxUb0hleFN0cmluZyhuKSB7CiAgbiA9IE51bWJlcihuKTsKICB2YXIgaCA9ICIiOwogIGZvciAodmFyIGkgPSAzOyBpID49IDA7IGktLSkgewogICAgaWYgKG4gPj0gTWF0aC5wb3coMTYsIGkpKSB7CiAgICAgIHZhciB0ID0gTWF0aC5mbG9vcihuIC8gTWF0aC5wb3coMTYsIGkpKTsKICAgICAgbiAtPSB0ICogTWF0aC5wb3coMTYsIGkpOwogICAgICBpZiAoIHQgPj0gMTAgKSB7CiAgICAgICAgaWYgKCB0ID09IDEwICkgeyBoICs9ICJBIjsgfQogICAgICAgIGlmICggdCA9PSAxMSApIHsgaCArPSAiQiI7IH0KICAgICAgICBpZiAoIHQgPT0gMTIgKSB7IGggKz0gIkMiOyB9CiAgICAgICAgaWYgKCB0ID09IDEzICkgeyBoICs9ICJEIjsgfQogICAgICAgIGlmICggdCA9PSAxNCApIHsgaCArPSAiRSI7IH0KICAgICAgICBpZiAoIHQgPT0gMTUgKSB7IGggKz0gIkYiOyB9CiAgICAgIH0gZWxzZSB7CiAgICAgICAgaCArPSBTdHJpbmcodCk7CiAgICAgIH0KICAgIH0gZWxzZSB7CiAgICAgIGggKz0gIjAiOwogICAgfQogIH0KICByZXR1cm4gaDsKfQoK","commentary":"If string.charAt(k) in [0xD800 - 0xDBFF] and string.length = k + 1, throw URIError","description":"Complex tests","path":"TestCases/ch15/15.1/15.1.3/15.1.3.4/S15.1.3.4_A1.2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBzdHJpbmcuY2hhckF0KGspIGluIFsweEQ4MDAgLSAweERCRkZdIGFuZCBzdHJpbmcubGVuZ3RoID0gayArIDEsIHRocm93IFVSSUVycm9yCiAqCiAqIEBwYXRoIGNoMTUvMTUuMS8xNS4xLjMvMTUuMS4zLjQvUzE1LjEuMy40X0ExLjJfVDIuanMKICogQGRlc2NyaXB0aW9uIENvbXBsZXggdGVzdHMKICovCgplcnJvckNvdW50ID0gMDsKY291bnQgPSAwOwp2YXIgaW5kZXhQOwp2YXIgaW5kZXhPID0gMDsKCmZvciAoaW5kZXggPSAweEQ4MDA7IGluZGV4IDw9IDB4REJGRjsgaW5kZXgrKykgeyAKICBjb3VudCsrOyAKICBoZXggPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXgpOwogIHRyeSB7CiAgICBlbmNvZGVVUklDb21wb25lbnQoU3RyaW5nLmZyb21DaGFyQ29kZSgweDAwNDEsIGluZGV4KSk7CiAgfSBjYXRjaCAoZSkgeyAKICAgIGlmICgoZSBpbnN0YW5jZW9mIFVSSUVycm9yKSA9PT0gdHJ1ZSkgY29udGludWU7ICAgICAgICAgICAgICAgIAogIH0KICBpZiAoaW5kZXhPID09PSAwKSB7IAogICAgaW5kZXhPID0gaW5kZXg7CiAgfSBlbHNlIHsKICAgIGlmICgoaW5kZXggLSBpbmRleFApICE9PSAxKSB7ICAgICAgICAgICAgIAogICAgICBpZiAoKGluZGV4UCAtIGluZGV4TykgIT09IDApIHsKICAgICAgICB2YXIgaGV4UCA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleFApOwogICAgICAgIHZhciBoZXhPID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4Tyk7CiAgICAgICAgJEVSUk9SKCcjJyArIGhleE8gKyAnLScgKyBoZXhQICsgJyAnKTsKICAgICAgfSAKICAgICAgZWxzZSB7CiAgICAgICAgdmFyIGhleFAgPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhQKTsKICAgICAgICAkRVJST1IoJyMnICsgaGV4UCArICcgJyk7CiAgICAgIH0gIAogICAgICBpbmRleE8gPSBpbmRleDsKICAgIH0gICAgICAgICAKICB9CiAgaW5kZXhQID0gaW5kZXg7CiAgZXJyb3JDb3VudCsrOyAgICAgIAp9CgppZiAoZXJyb3JDb3VudCA+IDApIHsKICBpZiAoKGluZGV4UCAtIGluZGV4TykgIT09IDApIHsKICAgIHZhciBoZXhQID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4UCk7CiAgICB2YXIgaGV4TyA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleE8pOwogICAgJEVSUk9SKCcjJyArIGhleE8gKyAnLScgKyBoZXhQICsgJyAnKTsKICB9IGVsc2UgewogICAgdmFyIGhleFAgPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhQKTsKICAgICRFUlJPUignIycgKyBoZXhQICsgJyAnKTsKICB9ICAgICAKICAkRVJST1IoJ1RvdGFsIGVycm9yOiAnICsgZXJyb3JDb3VudCArICcgYmFkIFVuaWNvZGUgY2hhcmFjdGVyIGluICcgKyBjb3VudCArICcgJyk7Cn0KCmZ1bmN0aW9uIGRlY2ltYWxUb0hleFN0cmluZyhuKSB7CiAgbiA9IE51bWJlcihuKTsKICB2YXIgaCA9ICIiOwogIGZvciAodmFyIGkgPSAzOyBpID49IDA7IGktLSkgewogICAgaWYgKG4gPj0gTWF0aC5wb3coMTYsIGkpKSB7CiAgICAgIHZhciB0ID0gTWF0aC5mbG9vcihuIC8gTWF0aC5wb3coMTYsIGkpKTsKICAgICAgbiAtPSB0ICogTWF0aC5wb3coMTYsIGkpOwogICAgICBpZiAoIHQgPj0gMTAgKSB7CiAgICAgICAgaWYgKCB0ID09IDEwICkgeyBoICs9ICJBIjsgfQogICAgICAgIGlmICggdCA9PSAxMSApIHsgaCArPSAiQiI7IH0KICAgICAgICBpZiAoIHQgPT0gMTIgKSB7IGggKz0gIkMiOyB9CiAgICAgICAgaWYgKCB0ID09IDEzICkgeyBoICs9ICJEIjsgfQogICAgICAgIGlmICggdCA9PSAxNCApIHsgaCArPSAiRSI7IH0KICAgICAgICBpZiAoIHQgPT0gMTUgKSB7IGggKz0gIkYiOyB9CiAgICAgIH0gZWxzZSB7CiAgICAgICAgaCArPSBTdHJpbmcodCk7CiAgICAgIH0KICAgIH0gZWxzZSB7CiAgICAgIGggKz0gIjAiOwogICAgfQogIH0KICByZXR1cm4gaDsKfQoK","commentary":"If string.charAt(k) in [0xD800 - 0xDBFF] and string.length = k + 1, throw URIError","description":"Complex tests","path":"TestCases/ch15/15.1/15.1.3/15.1.3.4/S15.1.3.4_A1.2_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBzdHJpbmcuY2hhckF0KGspIGluIFsweEQ4MDAgLSAweERCRkZdIGFuZCBzdHJpbmcuY2hhckF0KGsrMSkgbm90IGluIFsweERDMDAgLSAweERGRkZdLCB0aHJvdyBVUklFcnJvcgogKgogKiBAcGF0aCBjaDE1LzE1LjEvMTUuMS4zLzE1LjEuMy40L1MxNS4xLjMuNF9BMS4zX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBDb21wbGV4IHRlc3RzLCBzdHJpbmcuY2hhckF0KGsrMSkgaW4gWzB4MDAwMCwgMHhEN0ZGLCAweEQ4MDAsIDB4REJGRSwgMHhEQkZGLCAweEUwMDAsIDB4RkZGRl0KICovCgpjaGFycyA9IFsweDAwMDAsIDB4RDdGRiwgMHhEODAwLCAweERCRkUsIDB4REJGRiwgMHhFMDAwLCAweEZGRkZdOwplcnJvckNvdW50ID0gMDsKY291bnQgPSAwOwp2YXIgaW5kZXhQOwp2YXIgaW5kZXhPID0gMDsKCmZvciAoaW5kZXggPSAweEQ4MDA7IGluZGV4IDw9IDB4REJGRjsgaW5kZXgrKykgewogIGNvdW50Kys7IAogIHJlcyA9IHRydWU7CiAgZm9yIChpbmRleEMgPSAwOyBpbmRleEMgPCBjaGFycy5sZW5ndGg7IGluZGV4QysrKSB7ICAKICAgIGhleCA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleCk7CiAgICB0cnkgewogICAgICBlbmNvZGVVUklDb21wb25lbnQoU3RyaW5nLmZyb21DaGFyQ29kZShpbmRleCwgY2hhcnNbaW5kZXhDXSkpOyAgICAKICAgIH0gY2F0Y2ggKGUpIHsgCiAgICAgIGlmICgoZSBpbnN0YW5jZW9mIFVSSUVycm9yKSA9PT0gdHJ1ZSkgY29udGludWU7CiAgICB9CiAgICByZXMgPSBmYWxzZTsKICB9CiAgaWYgKHJlcyAhPT0gdHJ1ZSkgewogICAgaWYgKGluZGV4TyA9PT0gMCkgeyAKICAgICAgaW5kZXhPID0gaW5kZXg7CiAgICB9IGVsc2UgewogICAgICBpZiAoKGluZGV4IC0gaW5kZXhQKSAhPT0gMSkgeyAgICAgICAgICAgICAKICAgICAgICBpZiAoKGluZGV4UCAtIGluZGV4TykgIT09IDApIHsKICAgICAgICAgIHZhciBoZXhQID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4UCk7CiAgICAgICAgICB2YXIgaGV4TyA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleE8pOwogICAgICAgICAgJEVSUk9SKCcjJyArIGhleE8gKyAnLScgKyBoZXhQICsgJyAnKTsKICAgICAgICB9IAogICAgICAgIGVsc2UgewogICAgICAgICAgdmFyIGhleFAgPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhQKTsKICAgICAgICAgICRFUlJPUignIycgKyBoZXhQICsgJyAnKTsKICAgICAgICB9ICAKICAgICAgICBpbmRleE8gPSBpbmRleDsKICAgICAgfSAgICAgICAgIAogICAgfQogICAgaW5kZXhQID0gaW5kZXg7CiAgICBlcnJvckNvdW50Kys7ICAgIAogIH0gIAp9CgppZiAoZXJyb3JDb3VudCA+IDApIHsKICBpZiAoKGluZGV4UCAtIGluZGV4TykgIT09IDApIHsKICAgIHZhciBoZXhQID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4UCk7CiAgICB2YXIgaGV4TyA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleE8pOwogICAgJEVSUk9SKCcjJyArIGhleE8gKyAnLScgKyBoZXhQICsgJyAnKTsKICB9IGVsc2UgewogICAgdmFyIGhleFAgPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhQKTsKICAgICRFUlJPUignIycgKyBoZXhQICsgJyAnKTsKICB9ICAgICAKICAkRVJST1IoJ1RvdGFsIGVycm9yOiAnICsgZXJyb3JDb3VudCArICcgYmFkIFVuaWNvZGUgY2hhcmFjdGVyIGluICcgKyBjb3VudCArICcgJyk7Cn0KCmZ1bmN0aW9uIGRlY2ltYWxUb0hleFN0cmluZyhuKSB7CiAgbiA9IE51bWJlcihuKTsKICB2YXIgaCA9ICIiOwogIGZvciAodmFyIGkgPSAzOyBpID49IDA7IGktLSkgewogICAgaWYgKG4gPj0gTWF0aC5wb3coMTYsIGkpKSB7CiAgICAgIHZhciB0ID0gTWF0aC5mbG9vcihuIC8gTWF0aC5wb3coMTYsIGkpKTsKICAgICAgbiAtPSB0ICogTWF0aC5wb3coMTYsIGkpOwogICAgICBpZiAoIHQgPj0gMTAgKSB7CiAgICAgICAgaWYgKCB0ID09IDEwICkgeyBoICs9ICJBIjsgfQogICAgICAgIGlmICggdCA9PSAxMSApIHsgaCArPSAiQiI7IH0KICAgICAgICBpZiAoIHQgPT0gMTIgKSB7IGggKz0gIkMiOyB9CiAgICAgICAgaWYgKCB0ID09IDEzICkgeyBoICs9ICJEIjsgfQogICAgICAgIGlmICggdCA9PSAxNCApIHsgaCArPSAiRSI7IH0KICAgICAgICBpZiAoIHQgPT0gMTUgKSB7IGggKz0gIkYiOyB9CiAgICAgIH0gZWxzZSB7CiAgICAgICAgaCArPSBTdHJpbmcodCk7CiAgICAgIH0KICAgIH0gZWxzZSB7CiAgICAgIGggKz0gIjAiOwogICAgfQogIH0KICByZXR1cm4gaDsKfQoK","commentary":"If string.charAt(k) in [0xD800 - 0xDBFF] and string.charAt(k+1) not in [0xDC00 - 0xDFFF], throw URIError","description":"Complex tests, string.charAt(k+1) in [0x0000, 0xD7FF, 0xD800, 0xDBFE, 0xDBFF, 0xE000, 0xFFFF]","path":"TestCases/ch15/15.1/15.1.3/15.1.3.4/S15.1.3.4_A1.3_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBzdHJpbmcuY2hhckF0KGspIGluIFsweDAwMDAgLSAweDAwN0ZdXFt1cmlVbmVzY2FwZWRdLCByZXR1cm4gMSBvY3RldCAoMDAwMDAwMDAgMHp6enp6enogLT4gMHp6enp6enopCiAqCiAqIEBwYXRoIGNoMTUvMTUuMS8xNS4xLjMvMTUuMS4zLjQvUzE1LjEuMy40X0EyLjFfVDEuanMKICogQGRlc2NyaXB0aW9uIENvbXBsZXggdGVzdHMsIHVzZSBSRkMgMzYyOQogKi8KCnVyaVVuZXNjYXBlZCA9IFsiLSIsICJfIiwgIi4iLCAiISIsICJ+IiwgIioiLCAiJyIsICIoIiwgIikiLCAiQSIsICJCIiwgIkMiLCAiRCIsICJFIiwgIkYiLCAiRyIsICJIIiwgIkkiLCAiSiIsICJLIiwgIkwiLCAiTSIsICJOIiwgIk8iLCAiUCIsICJRIiwgIlIiLCAiUyIsICJUIiwgIlUiLCAiViIsICJXIiwgIlgiLCAiWSIsICJaIiwgImEiLCAiYiIsICJjIiwgImQiLCAiZSIsICJmIiwgImciLCAiaCIsICJpIiwgImoiLCAiayIsICJsIiwgIm0iLCAibiIsICJvIiwgInAiLCAicSIsICJyIiwgInMiLCAidCIsICJ1IiwgInYiLCAidyIsICJ4IiwgInkiLCAieiIsICIwIiwgIjEiLCAiMiIsICIzIiwgIjQiLCAiNSIsICI2IiwgIjciLCAiOCIsICI5Il07IAplcnJvckNvdW50ID0gMDsKY291bnQgPSAwOwp2YXIgaW5kZXhQOwp2YXIgaW5kZXhPID0gMDsKCmwgOiAKZm9yIChpbmRleCA9IDB4MDAwMDsgaW5kZXggPD0gMHgwMDdGOyBpbmRleCsrKSB7CiAgY291bnQrKzsKICBzdHIgPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGluZGV4KTsKICAgIGZvciAoaW5kZXhDID0gMDsgaW5kZXhDIDwgdXJpVW5lc2NhcGVkLmxlbmd0aDsgaW5kZXhDKyspIHsKICAgIGlmICh1cmlVbmVzY2FwZWRbaW5kZXhDXSA9PT0gc3RyKSBjb250aW51ZSBsOwogIH0gICAgCiAgdHJ5IHsKICAgIGlmIChlbmNvZGVVUklDb21wb25lbnQoc3RyKS50b1VwcGVyQ2FzZSgpID09PSAiJSIgKyBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXgpLnN1YnN0cmluZygyKSkgY29udGludWUgbDsgCiAgfSBjYXRjaChlKSB7fSAgICAgCiAgaWYgKGluZGV4TyA9PT0gMCkgeyAKICAgIGluZGV4TyA9IGluZGV4OwogIH0gZWxzZSB7CiAgICBpZiAoKGluZGV4IC0gaW5kZXhQKSAhPT0gMSkgeyAgICAgICAgICAgICAKICAgICAgaWYgKChpbmRleFAgLSBpbmRleE8pICE9PSAwKSB7CiAgICAgICAgdmFyIGhleFAgPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhQKTsKICAgICAgICB2YXIgaGV4TyA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleE8pOwogICAgICAgICRFUlJPUignIycgKyBoZXhPICsgJy0nICsgaGV4UCArICcgJyk7CiAgICAgIH0gCiAgICAgIGVsc2UgewogICAgICAgIHZhciBoZXhQID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4UCk7CiAgICAgICAgJEVSUk9SKCcjJyArIGhleFAgKyAnICcpOwogICAgICB9ICAKICAgICAgaW5kZXhPID0gaW5kZXg7CiAgICB9ICAgICAgICAgCiAgfQogIGluZGV4UCA9IGluZGV4OwogIGVycm9yQ291bnQrKzsgICAgIAp9CgppZiAoZXJyb3JDb3VudCA+IDApIHsKICBpZiAoKGluZGV4UCAtIGluZGV4TykgIT09IDApIHsKICAgIHZhciBoZXhQID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4UCk7CiAgICB2YXIgaGV4TyA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleE8pOwogICAgJEVSUk9SKCcjJyArIGhleE8gKyAnLScgKyBoZXhQICsgJyAnKTsKICB9IGVsc2UgewogICAgdmFyIGhleFAgPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhQKTsKICAgICRFUlJPUignIycgKyBoZXhQICsgJyAnKTsKICB9ICAgICAKICAkRVJST1IoJ1RvdGFsIGVycm9yOiAnICsgZXJyb3JDb3VudCArICcgYmFkIFVuaWNvZGUgY2hhcmFjdGVyIGluICcgKyBjb3VudCArICcgJyk7Cn0KCmZ1bmN0aW9uIGRlY2ltYWxUb0hleFN0cmluZyhuKSB7CiAgbiA9IE51bWJlcihuKTsKICB2YXIgaCA9ICIiOwogIGZvciAodmFyIGkgPSAzOyBpID49IDA7IGktLSkgewogICAgaWYgKG4gPj0gTWF0aC5wb3coMTYsIGkpKSB7CiAgICAgIHZhciB0ID0gTWF0aC5mbG9vcihuIC8gTWF0aC5wb3coMTYsIGkpKTsKICAgICAgbiAtPSB0ICogTWF0aC5wb3coMTYsIGkpOwogICAgICBpZiAoIHQgPj0gMTAgKSB7CiAgICAgICAgaWYgKCB0ID09IDEwICkgeyBoICs9ICJBIjsgfQogICAgICAgIGlmICggdCA9PSAxMSApIHsgaCArPSAiQiI7IH0KICAgICAgICBpZiAoIHQgPT0gMTIgKSB7IGggKz0gIkMiOyB9CiAgICAgICAgaWYgKCB0ID09IDEzICkgeyBoICs9ICJEIjsgfQogICAgICAgIGlmICggdCA9PSAxNCApIHsgaCArPSAiRSI7IH0KICAgICAgICBpZiAoIHQgPT0gMTUgKSB7IGggKz0gIkYiOyB9CiAgICAgIH0gZWxzZSB7CiAgICAgICAgaCArPSBTdHJpbmcodCk7CiAgICAgIH0KICAgIH0gZWxzZSB7CiAgICAgIGggKz0gIjAiOwogICAgfQogIH0KICByZXR1cm4gaDsKfQoK","commentary":"If string.charAt(k) in [0x0000 - 0x007F]\\[uriUnescaped], return 1 octet (00000000 0zzzzzzz -> 0zzzzzzz)","description":"Complex tests, use RFC 3629","path":"TestCases/ch15/15.1/15.1.3/15.1.3.4/S15.1.3.4_A2.1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBzdHJpbmcuY2hhckF0KGspIGluIFsweDAwODAgLSAweDA3RkZdLCByZXR1cm4gMiBvY3RldHMgKDAwMDAweXl5IHl5enp6enp6IC0+IDExMHl5eXl5IDEwenp6enp6KQogKgogKiBAcGF0aCBjaDE1LzE1LjEvMTUuMS4zLzE1LjEuMy40L1MxNS4xLjMuNF9BMi4yX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBDb21wbGV4IHRlc3RzLCB1c2UgUkZDIDM2MjkKICovCgplcnJvckNvdW50ID0gMDsKY291bnQgPSAwOwp2YXIgaW5kZXhQOwp2YXIgaW5kZXhPID0gMDsgCmw6CmZvciAoaW5kZXggPSAweDAwODA7IGluZGV4IDw9IDB4MDdGRjsgaW5kZXgrKykgewogIGNvdW50Kys7ICAKICBoZXgxID0gZGVjaW1hbFRvSGV4U3RyaW5nKDB4MDA4MCArIChpbmRleCAmIDB4MDAzRikpLnN1YnN0cmluZygyKTsKICBoZXgyID0gZGVjaW1hbFRvSGV4U3RyaW5nKDB4MDBDMCArIChpbmRleCAmIDB4MDdDMCkgLyAweDAwNDApLnN1YnN0cmluZygyKTsgICAgCiAgc3RyID0gU3RyaW5nLmZyb21DaGFyQ29kZShpbmRleCk7CiAgdHJ5IHsKICAgIGlmIChlbmNvZGVVUklDb21wb25lbnQoc3RyKS50b1VwcGVyQ2FzZSgpID09PSAiJSIgKyBoZXgyICsgIiUiICsgaGV4MSkgY29udGludWU7CiAgfSBjYXRjaChlKSB7fSAgCiAgaWYgKGluZGV4TyA9PT0gMCkgeyAKICAgIGluZGV4TyA9IGluZGV4OwogIH0gZWxzZSB7CiAgICBpZiAoKGluZGV4IC0gaW5kZXhQKSAhPT0gMSkgeyAgICAgICAgICAgICAKICAgICAgaWYgKChpbmRleFAgLSBpbmRleE8pICE9PSAwKSB7CiAgICAgICAgdmFyIGhleFAgPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhQKTsKICAgICAgICB2YXIgaGV4TyA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleE8pOwogICAgICAgICRFUlJPUignIycgKyBoZXhPICsgJy0nICsgaGV4UCArICcgJyk7CiAgICAgIH0gCiAgICAgIGVsc2UgewogICAgICAgIHZhciBoZXhQID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4UCk7CiAgICAgICAgJEVSUk9SKCcjJyArIGhleFAgKyAnICcpOwogICAgICB9ICAKICAgICAgaW5kZXhPID0gaW5kZXg7CiAgICB9ICAgICAgICAgCiAgfQogIGluZGV4UCA9IGluZGV4OwogIGVycm9yQ291bnQrKzsgICAgCn0KCmlmIChlcnJvckNvdW50ID4gMCkgewogIGlmICgoaW5kZXhQIC0gaW5kZXhPKSAhPT0gMCkgewogICAgdmFyIGhleFAgPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhQKTsKICAgIHZhciBoZXhPID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4Tyk7CiAgICAkRVJST1IoJyMnICsgaGV4TyArICctJyArIGhleFAgKyAnICcpOwogIH0gZWxzZSB7CiAgICB2YXIgaGV4UCA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleFApOwogICAgJEVSUk9SKCcjJyArIGhleFAgKyAnICcpOwogIH0gICAgIAogICRFUlJPUignVG90YWwgZXJyb3I6ICcgKyBlcnJvckNvdW50ICsgJyBiYWQgVW5pY29kZSBjaGFyYWN0ZXIgaW4gJyArIGNvdW50ICsgJyAnKTsKfQoKZnVuY3Rpb24gZGVjaW1hbFRvSGV4U3RyaW5nKG4pIHsKICBuID0gTnVtYmVyKG4pOwogIHZhciBoID0gIiI7CiAgZm9yICh2YXIgaSA9IDM7IGkgPj0gMDsgaS0tKSB7CiAgICBpZiAobiA+PSBNYXRoLnBvdygxNiwgaSkpIHsKICAgICAgdmFyIHQgPSBNYXRoLmZsb29yKG4gLyBNYXRoLnBvdygxNiwgaSkpOwogICAgICBuIC09IHQgKiBNYXRoLnBvdygxNiwgaSk7CiAgICAgIGlmICggdCA+PSAxMCApIHsKICAgICAgICBpZiAoIHQgPT0gMTAgKSB7IGggKz0gIkEiOyB9CiAgICAgICAgaWYgKCB0ID09IDExICkgeyBoICs9ICJCIjsgfQogICAgICAgIGlmICggdCA9PSAxMiApIHsgaCArPSAiQyI7IH0KICAgICAgICBpZiAoIHQgPT0gMTMgKSB7IGggKz0gIkQiOyB9CiAgICAgICAgaWYgKCB0ID09IDE0ICkgeyBoICs9ICJFIjsgfQogICAgICAgIGlmICggdCA9PSAxNSApIHsgaCArPSAiRiI7IH0KICAgICAgfSBlbHNlIHsKICAgICAgICBoICs9IFN0cmluZyh0KTsKICAgICAgfQogICAgfSBlbHNlIHsKICAgICAgaCArPSAiMCI7CiAgICB9CiAgfQogIHJldHVybiBoOwp9Cgo=","commentary":"If string.charAt(k) in [0x0080 - 0x07FF], return 2 octets (00000yyy yyzzzzzz -> 110yyyyy 10zzzzzz)","description":"Complex tests, use RFC 3629","path":"TestCases/ch15/15.1/15.1.3/15.1.3.4/S15.1.3.4_A2.2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBzdHJpbmcuY2hhckF0KGspIGluIFsweDA4MDAgLSAweEQ3RkZdLCByZXR1cm4gMyBvY3RldHMgKHh4eHh5eXl5IHl5enp6enp6IC0+IDExMTB4eHh4IDEweXl5eXl5IDEwenp6enp6KQogKgogKiBAcGF0aCBjaDE1LzE1LjEvMTUuMS4zLzE1LjEuMy40L1MxNS4xLjMuNF9BMi4zX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBDb21wbGV4IHRlc3RzLCB1c2UgUkZDIDM2MjkKICovCgplcnJvckNvdW50ID0gMDsKY291bnQgPSAwOwp2YXIgaW5kZXhQOwp2YXIgaW5kZXhPID0gMDsgCmZvciAoaW5kZXggPSAweDA4MDA7IGluZGV4IDw9IDB4RDdGRjsgaW5kZXgrKykgewogIGNvdW50Kys7IAogIGhleDEgPSBkZWNpbWFsVG9IZXhTdHJpbmcoMHgwMDgwICsgKGluZGV4ICYgMHgwMDNGKSkuc3Vic3RyaW5nKDIpOwogIGhleDIgPSBkZWNpbWFsVG9IZXhTdHJpbmcoMHgwMDgwICsgKGluZGV4ICYgMHgwRkMwKSAvIDB4MDA0MCkuc3Vic3RyaW5nKDIpOwogIGhleDMgPSBkZWNpbWFsVG9IZXhTdHJpbmcoMHgwMEUwICsgKGluZGV4ICYgMHhGMDAwKSAvIDB4MTAwMCkuc3Vic3RyaW5nKDIpOwogIHN0ciA9IFN0cmluZy5mcm9tQ2hhckNvZGUoaW5kZXgpOwogIHRyeSB7CiAgICBpZiAoZW5jb2RlVVJJQ29tcG9uZW50KHN0cikudG9VcHBlckNhc2UoKSA9PT0gIiUiICsgaGV4MyArICIlIiArIGhleDIgKyAiJSIgKyBoZXgxKSBjb250aW51ZTsKICB9IGNhdGNoKGUpIHt9ICAgICAgCiAgaWYgKGluZGV4TyA9PT0gMCkgeyAKICAgIGluZGV4TyA9IGluZGV4OwogIH0gZWxzZSB7CiAgICBpZiAoKGluZGV4IC0gaW5kZXhQKSAhPT0gMSkgeyAgICAgICAgICAgICAKICAgICAgaWYgKChpbmRleFAgLSBpbmRleE8pICE9PSAwKSB7CiAgICAgICAgdmFyIGhleFAgPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhQKTsKICAgICAgICB2YXIgaGV4TyA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleE8pOwogICAgICAgICRFUlJPUignIycgKyBoZXhPICsgJy0nICsgaGV4UCArICcgJyk7CiAgICAgIH0gCiAgICAgIGVsc2UgewogICAgICAgIHZhciBoZXhQID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4UCk7CiAgICAgICAgJEVSUk9SKCcjJyArIGhleFAgKyAnICcpOwogICAgICB9ICAKICAgICAgaW5kZXhPID0gaW5kZXg7CiAgICB9ICAgICAgICAgCiAgfQogIGluZGV4UCA9IGluZGV4OwogIGVycm9yQ291bnQrKzsgICAgCn0gCgppZiAoZXJyb3JDb3VudCA+IDApIHsKICBpZiAoKGluZGV4UCAtIGluZGV4TykgIT09IDApIHsKICAgIHZhciBoZXhQID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4UCk7CiAgICB2YXIgaGV4TyA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleE8pOwogICAgJEVSUk9SKCcjJyArIGhleE8gKyAnLScgKyBoZXhQICsgJyAnKTsKICB9IGVsc2UgewogICAgdmFyIGhleFAgPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhQKTsKICAgICRFUlJPUignIycgKyBoZXhQICsgJyAnKTsKICB9ICAgICAKICAkRVJST1IoJ1RvdGFsIGVycm9yOiAnICsgZXJyb3JDb3VudCArICcgYmFkIFVuaWNvZGUgY2hhcmFjdGVyIGluICcgKyBjb3VudCArICcgJyk7Cn0KCmZ1bmN0aW9uIGRlY2ltYWxUb0hleFN0cmluZyhuKSB7CiAgbiA9IE51bWJlcihuKTsKICB2YXIgaCA9ICIiOwogIGZvciAodmFyIGkgPSAzOyBpID49IDA7IGktLSkgewogICAgaWYgKG4gPj0gTWF0aC5wb3coMTYsIGkpKSB7CiAgICAgIHZhciB0ID0gTWF0aC5mbG9vcihuIC8gTWF0aC5wb3coMTYsIGkpKTsKICAgICAgbiAtPSB0ICogTWF0aC5wb3coMTYsIGkpOwogICAgICBpZiAoIHQgPj0gMTAgKSB7CiAgICAgICAgaWYgKCB0ID09IDEwICkgeyBoICs9ICJBIjsgfQogICAgICAgIGlmICggdCA9PSAxMSApIHsgaCArPSAiQiI7IH0KICAgICAgICBpZiAoIHQgPT0gMTIgKSB7IGggKz0gIkMiOyB9CiAgICAgICAgaWYgKCB0ID09IDEzICkgeyBoICs9ICJEIjsgfQogICAgICAgIGlmICggdCA9PSAxNCApIHsgaCArPSAiRSI7IH0KICAgICAgICBpZiAoIHQgPT0gMTUgKSB7IGggKz0gIkYiOyB9CiAgICAgIH0gZWxzZSB7CiAgICAgICAgaCArPSBTdHJpbmcodCk7CiAgICAgIH0KICAgIH0gZWxzZSB7CiAgICAgIGggKz0gIjAiOwogICAgfQogIH0KICByZXR1cm4gaDsKfQoK","commentary":"If string.charAt(k) in [0x0800 - 0xD7FF], return 3 octets (xxxxyyyy yyzzzzzz -> 1110xxxx 10yyyyyy 10zzzzzz)","description":"Complex tests, use RFC 3629","path":"TestCases/ch15/15.1/15.1.3/15.1.3.4/S15.1.3.4_A2.3_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBzdHJpbmcuY2hhckF0KGspIGluIFsweEQ4MDAgLSAweERCRkZdIGFuZCBzdHJpbmcuY2hhckF0KGsrMSkgaW4gWzB4REMwMCDvv70gMHhERkZGXSwgcmV0dXJuIDQgb2N0ZXRzICgwMDB3d3d4eCB4eHh4eXl5eSB5eXp6enp6eiAtPiAxMTExMHd3dyAxMHh4eHh4eCAxMHl5eXl5eSAxMHp6enp6eikKICoKICogQHBhdGggY2gxNS8xNS4xLzE1LjEuMy8xNS4xLjMuNC9TMTUuMS4zLjRfQTIuNF9UMS5qcwogKiBAZGVzY3JpcHRpb24gQ29tcGxleCB0ZXN0cywgdXNlIFJGQyAzNjI5LCBzdHJpbmcuY2hhckF0KGsrMSkgaW4gWzB4REMwMCwgMHhEREZGLCAweERGRkZdCiAqLwoKY2hhcnMgPSBbMHhEQzAwLCAweERERkYsIDB4REZGRl07IAplcnJvckNvdW50ID0gMDsKY291bnQgPSAwOwp2YXIgaW5kZXhQOwp2YXIgaW5kZXhPID0gMDsgCmZvciAoaW5kZXggPSAweEQ4MDA7IGluZGV4IDw9IDB4REJGRjsgaW5kZXgrKykgewogIHJlcyA9IHRydWU7CiAgZm9yIChpbmRleEMgPSAwOyBpbmRleEMgPCBjaGFycy5sZW5ndGg7IGluZGV4QysrKSB7CiAgICBpbmRleDEgPSAoaW5kZXggLSAweEQ4MDApICogMHg0MDAgKyAoY2hhcnNbaW5kZXhDXSAtIDB4REMwMCkgKyAweDEwMDAwOyAKICAgIGhleDEgPSBkZWNpbWFsVG9IZXhTdHJpbmcoMHgwMDgwICsgKGluZGV4MSAmIDB4MDAzRikpLnN1YnN0cmluZygyKTsKICAgIGhleDIgPSBkZWNpbWFsVG9IZXhTdHJpbmcoMHgwMDgwICsgKGluZGV4MSAmIDB4MEZDMCkgLyAweDAwNDApLnN1YnN0cmluZygyKTsKICAgIGhleDMgPSBkZWNpbWFsVG9IZXhTdHJpbmcoMHgwMDgwICsgKGluZGV4MSAmIDB4M0YwMDApIC8gMHgxMDAwKS5zdWJzdHJpbmcoMik7CiAgICBoZXg0ID0gZGVjaW1hbFRvSGV4U3RyaW5nKDB4MDBGMCArIChpbmRleDEgJiAweDFDMDAwMCkgLyAweDQwMDAwKS5zdWJzdHJpbmcoMik7CiAgICBzdHIgPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGluZGV4LCBjaGFyc1tpbmRleENdKTsKICAgIHRyeSB7CiAgICAgIGlmIChlbmNvZGVVUklDb21wb25lbnQoc3RyKS50b1VwcGVyQ2FzZSgpICE9PSAiJSIgKyBoZXg0ICsgIiUiICsgaGV4MyArICIlIiArIGhleDIgKyAiJSIgKyBoZXgxKSB7CiAgICAgICAgcmVzID0gZmFsc2U7CiAgICAgIH0KICAgIH0gY2F0Y2goZSkge3JlcyA9IGZhbHNlfSAgICAKICB9CiAgaWYgKHJlcyAhPT0gdHJ1ZSkgeyAgCiAgICBpZiAoaW5kZXhPID09PSAwKSB7IAogICAgICBpbmRleE8gPSBpbmRleDsKICAgIH0gZWxzZSB7CiAgICAgIGlmICgoaW5kZXggLSBpbmRleFApICE9PSAxKSB7ICAgICAgICAgICAgIAogICAgICAgIGlmICgoaW5kZXhQIC0gaW5kZXhPKSAhPT0gMCkgewogICAgICAgICAgdmFyIGhleFAgPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhQKTsKICAgICAgICAgIHZhciBoZXhPID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4Tyk7CiAgICAgICAgICAkRVJST1IoJyMnICsgaGV4TyArICctJyArIGhleFAgKyAnICcpOwogICAgICAgIH0gCiAgICAgICAgZWxzZSB7CiAgICAgICAgICB2YXIgaGV4UCA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleFApOwogICAgICAgICAgJEVSUk9SKCcjJyArIGhleFAgKyAnICcpOwogICAgICAgIH0gIAogICAgICAgIGluZGV4TyA9IGluZGV4OwogICAgICB9ICAgICAgICAgCiAgICB9CiAgICBpbmRleFAgPSBpbmRleDsKICAgIGVycm9yQ291bnQrKzsgICAgCiAgfQogIGNvdW50Kys7ICAKfQoKaWYgKGVycm9yQ291bnQgPiAwKSB7CiAgaWYgKChpbmRleFAgLSBpbmRleE8pICE9PSAwKSB7CiAgICB2YXIgaGV4UCA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleFApOwogICAgdmFyIGhleE8gPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhPKTsKICAgICRFUlJPUignIycgKyBoZXhPICsgJy0nICsgaGV4UCArICcgJyk7CiAgfSBlbHNlIHsKICAgIHZhciBoZXhQID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4UCk7CiAgICAkRVJST1IoJyMnICsgaGV4UCArICcgJyk7CiAgfSAgICAgCiAgJEVSUk9SKCdUb3RhbCBlcnJvcjogJyArIGVycm9yQ291bnQgKyAnIGJhZCBVbmljb2RlIGNoYXJhY3RlciBpbiAnICsgY291bnQgKyAnICcpOwp9CgpmdW5jdGlvbiBkZWNpbWFsVG9IZXhTdHJpbmcobikgewogIG4gPSBOdW1iZXIobik7CiAgdmFyIGggPSAiIjsKICBmb3IgKHZhciBpID0gMzsgaSA+PSAwOyBpLS0pIHsKICAgIGlmIChuID49IE1hdGgucG93KDE2LCBpKSkgewogICAgICB2YXIgdCA9IE1hdGguZmxvb3IobiAvIE1hdGgucG93KDE2LCBpKSk7CiAgICAgIG4gLT0gdCAqIE1hdGgucG93KDE2LCBpKTsKICAgICAgaWYgKCB0ID49IDEwICkgewogICAgICAgIGlmICggdCA9PSAxMCApIHsgaCArPSAiQSI7IH0KICAgICAgICBpZiAoIHQgPT0gMTEgKSB7IGggKz0gIkIiOyB9CiAgICAgICAgaWYgKCB0ID09IDEyICkgeyBoICs9ICJDIjsgfQogICAgICAgIGlmICggdCA9PSAxMyApIHsgaCArPSAiRCI7IH0KICAgICAgICBpZiAoIHQgPT0gMTQgKSB7IGggKz0gIkUiOyB9CiAgICAgICAgaWYgKCB0ID09IDE1ICkgeyBoICs9ICJGIjsgfQogICAgICB9IGVsc2UgewogICAgICAgIGggKz0gU3RyaW5nKHQpOwogICAgICB9CiAgICB9IGVsc2UgewogICAgICBoICs9ICIwIjsKICAgIH0KICB9CiAgcmV0dXJuIGg7Cn0KCg==","commentary":"If string.charAt(k) in [0xD800 - 0xDBFF] and string.charAt(k+1) in [0xDC00 \ufffd 0xDFFF], return 4 octets (000wwwxx xxxxyyyy yyzzzzzz -> 11110www 10xxxxxx 10yyyyyy 10zzzzzz)","description":"Complex tests, use RFC 3629, string.charAt(k+1) in [0xDC00, 0xDDFF, 0xDFFF]","path":"TestCases/ch15/15.1/15.1.3/15.1.3.4/S15.1.3.4_A2.4_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBzdHJpbmcuY2hhckF0KGspIGluIFsweEQ4MDAgLSAweERCRkZdIGFuZCBzdHJpbmcuY2hhckF0KGsrMSkgaW4gWzB4REMwMCDvv70gMHhERkZGXSwgcmV0dXJuIDQgb2N0ZXRzICgwMDB3d3d4eCB4eHh4eXl5eSB5eXp6enp6eiAtPiAxMTExMHd3dyAxMHh4eHh4eCAxMHl5eXl5eSAxMHp6enp6eikKICoKICogQHBhdGggY2gxNS8xNS4xLzE1LjEuMy8xNS4xLjMuNC9TMTUuMS4zLjRfQTIuNF9UMi5qcwogKiBAZGVzY3JpcHRpb24gQ29tcGxleCB0ZXN0cywgdXNlIFJGQyAzNjI5LCBzdHJpbmcuY2hhckF0KGspIGluIFsweEQ4MDAsIDB4REJGRiwgMHhEOUZGXQogKi8KCmNoYXJzID0gWzB4RDgwMCwgMHhEQkZGLCAweEQ5RkZdOyAKZXJyb3JDb3VudCA9IDA7CmNvdW50ID0gMDsKdmFyIGluZGV4UDsKdmFyIGluZGV4TyA9IDA7IApmb3IgKGluZGV4ID0gMHhEQzAwOyBpbmRleCA8PSAweERGRkY7IGluZGV4KyspIHsKICByZXMgPSB0cnVlOwogIGZvciAoaW5kZXhDID0gMDsgaW5kZXhDIDwgY2hhcnMubGVuZ3RoOyBpbmRleEMrKykgewogICAgaW5kZXgxID0gKGNoYXJzW2luZGV4Q10gLSAweEQ4MDApICogMHg0MDAgKyAoaW5kZXggLSAweERDMDApICsgMHgxMDAwMDsgCiAgICBoZXgxID0gZGVjaW1hbFRvSGV4U3RyaW5nKDB4MDA4MCArIChpbmRleDEgJiAweDAwM0YpKS5zdWJzdHJpbmcoMik7CiAgICBoZXgyID0gZGVjaW1hbFRvSGV4U3RyaW5nKDB4MDA4MCArIChpbmRleDEgJiAweDBGQzApIC8gMHgwMDQwKS5zdWJzdHJpbmcoMik7CiAgICBoZXgzID0gZGVjaW1hbFRvSGV4U3RyaW5nKDB4MDA4MCArIChpbmRleDEgJiAweDNGMDAwKSAvIDB4MTAwMCkuc3Vic3RyaW5nKDIpOwogICAgaGV4NCA9IGRlY2ltYWxUb0hleFN0cmluZygweDAwRjAgKyAoaW5kZXgxICYgMHgxQzAwMDApIC8gMHg0MDAwMCkuc3Vic3RyaW5nKDIpOwogICAgc3RyID0gU3RyaW5nLmZyb21DaGFyQ29kZShjaGFyc1tpbmRleENdLCBpbmRleCk7CiAgICB0cnkgewogICAgICBpZiAoZW5jb2RlVVJJQ29tcG9uZW50KHN0cikudG9VcHBlckNhc2UoKSAhPT0gIiUiICsgaGV4NCArICIlIiArIGhleDMgKyAiJSIgKyBoZXgyICsgIiUiICsgaGV4MSkgewogICAgICAgIHJlcyA9IGZhbHNlOwogICAgICB9CiAgICB9IGNhdGNoKGUpIHtyZXMgPSBmYWxzZX0gICAgCiAgfQogIGlmIChyZXMgIT09IHRydWUpIHsgIAogICAgaWYgKGluZGV4TyA9PT0gMCkgeyAKICAgICAgaW5kZXhPID0gaW5kZXg7CiAgICB9IGVsc2UgewogICAgICBpZiAoKGluZGV4IC0gaW5kZXhQKSAhPT0gMSkgeyAgICAgICAgICAgICAKICAgICAgICBpZiAoKGluZGV4UCAtIGluZGV4TykgIT09IDApIHsKICAgICAgICAgIHZhciBoZXhQID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4UCk7CiAgICAgICAgICB2YXIgaGV4TyA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleE8pOwogICAgICAgICAgJEVSUk9SKCcjJyArIGhleE8gKyAnLScgKyBoZXhQICsgJyAnKTsKICAgICAgICB9IAogICAgICAgIGVsc2UgewogICAgICAgICAgdmFyIGhleFAgPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhQKTsKICAgICAgICAgICRFUlJPUignIycgKyBoZXhQICsgJyAnKTsKICAgICAgICB9ICAKICAgICAgICBpbmRleE8gPSBpbmRleDsKICAgICAgfSAgICAgICAgIAogICAgfQogICAgaW5kZXhQID0gaW5kZXg7CiAgICBlcnJvckNvdW50Kys7ICAgIAogIH0KICBjb3VudCsrOyAgCn0KCmlmIChlcnJvckNvdW50ID4gMCkgewogIGlmICgoaW5kZXhQIC0gaW5kZXhPKSAhPT0gMCkgewogICAgdmFyIGhleFAgPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhQKTsKICAgIHZhciBoZXhPID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4Tyk7CiAgICAkRVJST1IoJyMnICsgaGV4TyArICctJyArIGhleFAgKyAnICcpOwogIH0gZWxzZSB7CiAgICB2YXIgaGV4UCA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleFApOwogICAgJEVSUk9SKCcjJyArIGhleFAgKyAnICcpOwogIH0gICAgIAogICRFUlJPUignVG90YWwgZXJyb3I6ICcgKyBlcnJvckNvdW50ICsgJyBiYWQgVW5pY29kZSBjaGFyYWN0ZXIgaW4gJyArIGNvdW50ICsgJyAnKTsKfQoKZnVuY3Rpb24gZGVjaW1hbFRvSGV4U3RyaW5nKG4pIHsKICBuID0gTnVtYmVyKG4pOwogIHZhciBoID0gIiI7CiAgZm9yICh2YXIgaSA9IDM7IGkgPj0gMDsgaS0tKSB7CiAgICBpZiAobiA+PSBNYXRoLnBvdygxNiwgaSkpIHsKICAgICAgdmFyIHQgPSBNYXRoLmZsb29yKG4gLyBNYXRoLnBvdygxNiwgaSkpOwogICAgICBuIC09IHQgKiBNYXRoLnBvdygxNiwgaSk7CiAgICAgIGlmICggdCA+PSAxMCApIHsKICAgICAgICBpZiAoIHQgPT0gMTAgKSB7IGggKz0gIkEiOyB9CiAgICAgICAgaWYgKCB0ID09IDExICkgeyBoICs9ICJCIjsgfQogICAgICAgIGlmICggdCA9PSAxMiApIHsgaCArPSAiQyI7IH0KICAgICAgICBpZiAoIHQgPT0gMTMgKSB7IGggKz0gIkQiOyB9CiAgICAgICAgaWYgKCB0ID09IDE0ICkgeyBoICs9ICJFIjsgfQogICAgICAgIGlmICggdCA9PSAxNSApIHsgaCArPSAiRiI7IH0KICAgICAgfSBlbHNlIHsKICAgICAgICBoICs9IFN0cmluZyh0KTsKICAgICAgfQogICAgfSBlbHNlIHsKICAgICAgaCArPSAiMCI7CiAgICB9CiAgfQogIHJldHVybiBoOwp9Cgo=","commentary":"If string.charAt(k) in [0xD800 - 0xDBFF] and string.charAt(k+1) in [0xDC00 \ufffd 0xDFFF], return 4 octets (000wwwxx xxxxyyyy yyzzzzzz -> 11110www 10xxxxxx 10yyyyyy 10zzzzzz)","description":"Complex tests, use RFC 3629, string.charAt(k) in [0xD800, 0xDBFF, 0xD9FF]","path":"TestCases/ch15/15.1/15.1.3/15.1.3.4/S15.1.3.4_A2.4_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBzdHJpbmcuY2hhckF0KGspIGluIFsweEUwMDAgLSAweEZGRkZdLCByZXR1cm4gMyBvY3RldHMgKHh4eHh5eXl5IHl5enp6enp6IC0+IDExMTB4eHh4IDEweXl5eXl5IDEwenp6enp6KQogKgogKiBAcGF0aCBjaDE1LzE1LjEvMTUuMS4zLzE1LjEuMy40L1MxNS4xLjMuNF9BMi41X1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBDb21wbGV4IHRlc3RzLCB1c2UgUkZDIDM2MjkKICovCgplcnJvckNvdW50ID0gMDsKY291bnQgPSAwOwp2YXIgaW5kZXhQOwp2YXIgaW5kZXhPID0gMDsgCmZvciAoaW5kZXggPSAweEUwMDA7IGluZGV4IDw9IDB4RkZGRjsgaW5kZXgrKykgewogIGNvdW50Kys7ICAKICBoZXgxID0gZGVjaW1hbFRvSGV4U3RyaW5nKDB4MDA4MCArIChpbmRleCAmIDB4MDAzRikpLnN1YnN0cmluZygyKTsKICBoZXgyID0gZGVjaW1hbFRvSGV4U3RyaW5nKDB4MDA4MCArIChpbmRleCAmIDB4MEZDMCkgLyAweDAwNDApLnN1YnN0cmluZygyKTsKICBoZXgzID0gZGVjaW1hbFRvSGV4U3RyaW5nKDB4MDBFMCArIChpbmRleCAmIDB4RjAwMCkgLyAweDEwMDApLnN1YnN0cmluZygyKTsKICBzdHIgPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGluZGV4KTsKICB0cnkgewogICAgaWYgKGVuY29kZVVSSUNvbXBvbmVudChzdHIpLnRvVXBwZXJDYXNlKCkgPT09ICIlIiArIGhleDMgKyAiJSIgKyBoZXgyICsgIiUiICsgaGV4MSkgY29udGludWU7CiAgfSBjYXRjaChlKSB7fSAgICAgIAogIGlmIChpbmRleE8gPT09IDApIHsgCiAgICBpbmRleE8gPSBpbmRleDsKICB9IGVsc2UgewogICAgaWYgKChpbmRleCAtIGluZGV4UCkgIT09IDEpIHsgICAgICAgICAgICAgCiAgICAgIGlmICgoaW5kZXhQIC0gaW5kZXhPKSAhPT0gMCkgewogICAgICAgIHZhciBoZXhQID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4UCk7CiAgICAgICAgdmFyIGhleE8gPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhPKTsKICAgICAgICAkRVJST1IoJyMnICsgaGV4TyArICctJyArIGhleFAgKyAnICcpOwogICAgICB9IAogICAgICBlbHNlIHsKICAgICAgICB2YXIgaGV4UCA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleFApOwogICAgICAgICRFUlJPUignIycgKyBoZXhQICsgJyAnKTsKICAgICAgfSAgCiAgICAgIGluZGV4TyA9IGluZGV4OwogICAgfSAgICAgICAgIAogIH0KICBpbmRleFAgPSBpbmRleDsKICBlcnJvckNvdW50Kys7ICAgIAp9CgppZiAoZXJyb3JDb3VudCA+IDApIHsKICBpZiAoKGluZGV4UCAtIGluZGV4TykgIT09IDApIHsKICAgIHZhciBoZXhQID0gZGVjaW1hbFRvSGV4U3RyaW5nKGluZGV4UCk7CiAgICB2YXIgaGV4TyA9IGRlY2ltYWxUb0hleFN0cmluZyhpbmRleE8pOwogICAgJEVSUk9SKCcjJyArIGhleE8gKyAnLScgKyBoZXhQICsgJyAnKTsKICB9IGVsc2UgewogICAgdmFyIGhleFAgPSBkZWNpbWFsVG9IZXhTdHJpbmcoaW5kZXhQKTsKICAgICRFUlJPUignIycgKyBoZXhQICsgJyAnKTsKICB9ICAgICAKICAkRVJST1IoJ1RvdGFsIGVycm9yOiAnICsgZXJyb3JDb3VudCArICcgYmFkIFVuaWNvZGUgY2hhcmFjdGVyIGluICcgKyBjb3VudCArICcgJyk7Cn0KCmZ1bmN0aW9uIGRlY2ltYWxUb0hleFN0cmluZyhuKSB7CiAgbiA9IE51bWJlcihuKTsKICB2YXIgaCA9ICIiOwogIGZvciAodmFyIGkgPSAzOyBpID49IDA7IGktLSkgewogICAgaWYgKG4gPj0gTWF0aC5wb3coMTYsIGkpKSB7CiAgICAgIHZhciB0ID0gTWF0aC5mbG9vcihuIC8gTWF0aC5wb3coMTYsIGkpKTsKICAgICAgbiAtPSB0ICogTWF0aC5wb3coMTYsIGkpOwogICAgICBpZiAoIHQgPj0gMTAgKSB7CiAgICAgICAgaWYgKCB0ID09IDEwICkgeyBoICs9ICJBIjsgfQogICAgICAgIGlmICggdCA9PSAxMSApIHsgaCArPSAiQiI7IH0KICAgICAgICBpZiAoIHQgPT0gMTIgKSB7IGggKz0gIkMiOyB9CiAgICAgICAgaWYgKCB0ID09IDEzICkgeyBoICs9ICJEIjsgfQogICAgICAgIGlmICggdCA9PSAxNCApIHsgaCArPSAiRSI7IH0KICAgICAgICBpZiAoIHQgPT0gMTUgKSB7IGggKz0gIkYiOyB9CiAgICAgIH0gZWxzZSB7CiAgICAgICAgaCArPSBTdHJpbmcodCk7CiAgICAgIH0KICAgIH0gZWxzZSB7CiAgICAgIGggKz0gIjAiOwogICAgfQogIH0KICByZXR1cm4gaDsKfQoK","commentary":"If string.charAt(k) in [0xE000 - 0xFFFF], return 3 octets (xxxxyyyy yyzzzzzz -> 1110xxxx 10yyyyyy 10zzzzzz)","description":"Complex tests, use RFC 3629","path":"TestCases/ch15/15.1/15.1.3/15.1.3.4/S15.1.3.4_A2.5_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiB1bmVzY2FwZWRVUklDb21wb25lbnRTZXQgbm90IGNvbnRhaW5pbmcgdXJpUmVzZXJ2ZWQKICoKICogQHBhdGggY2gxNS8xNS4xLzE1LjEuMy8xNS4xLjMuNC9TMTUuMS4zLjRfQTMuMV9UMS5qcwogKiBAZGVzY3JpcHRpb24gQ29tcGxleCB0ZXN0cwogKi8KCnVyaVJlc2VydmVkID0gWyIlM0IiLCAiJTJGIiwgIiUzRiIsICIlM0EiLCAiJTQwIiwgIiUyNiIsICIlM0QiLCAiJTJCIiwgIiUyNCIsICIlMkMiXTsKdXJpUmVzZXJ2ZWRfID0gWyI7IiwgIi8iLCAiPyIsICI6IiwgIkAiLCAiJiIsICI9IiwgIisiLCAiJCIsICIsIl07ICAgICAgICAgICAgICAgICAgCmZvciAoaW5kZXhDID0gMDsgaW5kZXhDIDwgMTA7IGluZGV4QysrKSB7ICAgIAogIHZhciBzdHIgPSB1cmlSZXNlcnZlZF9baW5kZXhDXTsKICBpZiAoZW5jb2RlVVJJQ29tcG9uZW50KHN0cikgIT09IHVyaVJlc2VydmVkW2luZGV4Q10pIHsKICAgICRFUlJPUignIycgKyAoaW5kZXhDICsgMSkgKyAnOiB1bmVzY2FwZWRVUklDb21wb25lbnRTZXQgbm90IGNvbnRhaW5pbmcnICsgc3RyKTsKICB9ICAKfQoK","commentary":"unescapedURIComponentSet not containing uriReserved","description":"Complex tests","path":"TestCases/ch15/15.1/15.1.3/15.1.3.4/S15.1.3.4_A3.1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiB1bmVzY2FwZWRVUklDb21wb25lbnRTZXQgY29udGFpbmluZyBvbmUgaW5zdGFuY2Ugb2YgZWFjaCBjaGFyYWN0ZXIgdmFsaWQgaW4gdXJpVW5lc2NhcGVkCiAqCiAqIEBwYXRoIGNoMTUvMTUuMS8xNS4xLjMvMTUuMS4zLjQvUzE1LjEuMy40X0EzLjJfVDEuanMKICogQGRlc2NyaXB0aW9uIENvbXBsZXggdGVzdHMsIHVyaVVuZXNjYXBlZCA6OiB1cmlBbHBoYQogKi8KCnVyaUFscGhhID0gWyJBIiwgIkIiLCAiQyIsICJEIiwgIkUiLCAiRiIsICJHIiwgIkgiLCAiSSIsICJKIiwgIksiLCAiTCIsICJNIiwgIk4iLCAiTyIsICJQIiwgIlEiLCAiUiIsICJTIiwgIlQiLCAiVSIsICJWIiwgIlciLCAiWCIsICJZIiwgIloiLCAiYSIsICJiIiwgImMiLCAiZCIsICJlIiwgImYiLCAiZyIsICJoIiwgImkiLCAiaiIsICJrIiwgImwiLCAibSIsICJuIiwgIm8iLCAicCIsICJxIiwgInIiLCAicyIsICJ0IiwgInUiLCAidiIsICJ3IiwgIngiLCAieSIsICJ6Il07CmZvciAoaW5kZXhDID0gMDsgaW5kZXhDIDwgdXJpQWxwaGEubGVuZ3RoOyBpbmRleEMrKykgewogIHZhciBzdHIgPSB1cmlBbHBoYVtpbmRleENdOyAgICAKICBpZiAoZW5jb2RlVVJJQ29tcG9uZW50KHN0cikgIT09IHN0cikgewogICAgJEVSUk9SKCcjJyArIChpbmRleEMgKyAxKSArICc6IHVuZXNjYXBlZFVSSVNldCBjb250YWluaW5nICcgKyBzdHIpOwogIH0gIAp9Cgo=","commentary":"unescapedURIComponentSet containing one instance of each character valid in uriUnescaped","description":"Complex tests, uriUnescaped :: uriAlpha","path":"TestCases/ch15/15.1/15.1.3/15.1.3.4/S15.1.3.4_A3.2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiB1bmVzY2FwZWRVUklDb21wb25lbnRTZXQgY29udGFpbmluZyBvbmUgaW5zdGFuY2Ugb2YgZWFjaCBjaGFyYWN0ZXIgdmFsaWQgaW4gdXJpVW5lc2NhcGVkCiAqCiAqIEBwYXRoIGNoMTUvMTUuMS8xNS4xLjMvMTUuMS4zLjQvUzE1LjEuMy40X0EzLjJfVDIuanMKICogQGRlc2NyaXB0aW9uIENvbXBsZXggdGVzdHMsIHVyaVVuZXNjYXBlZCA6OiBEZWNpbWFsRGlnaXQKICovCgpEZWNpbWFsRGlnaXQgPSBbIjAiLCAiMSIsICIyIiwgIjMiLCAiNCIsICI1IiwgIjYiLCAiNyIsICI4IiwgIjkiXTsKZm9yIChpbmRleEMgPSAwOyBpbmRleEMgPCBEZWNpbWFsRGlnaXQubGVuZ3RoOyBpbmRleEMrKykgewogIHZhciBzdHIgPSBEZWNpbWFsRGlnaXRbaW5kZXhDXTsgICAgCiAgaWYgKGVuY29kZVVSSUNvbXBvbmVudChzdHIpICE9PSBzdHIpIHsKICAgICRFUlJPUignIycgKyAoaW5kZXhDICsgMSkgKyAnOiB1bmVzY2FwZWRVUklTZXQgY29udGFpbmluZycgKyBzdHIpOwogIH0gIAp9Cgo=","commentary":"unescapedURIComponentSet containing one instance of each character valid in uriUnescaped","description":"Complex tests, uriUnescaped :: DecimalDigit","path":"TestCases/ch15/15.1/15.1.3/15.1.3.4/S15.1.3.4_A3.2_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiB1bmVzY2FwZWRVUklDb21wb25lbnRTZXQgY29udGFpbmluZyBvbmUgaW5zdGFuY2Ugb2YgZWFjaCBjaGFyYWN0ZXIgdmFsaWQgaW4gdXJpVW5lc2NhcGVkCiAqCiAqIEBwYXRoIGNoMTUvMTUuMS8xNS4xLjMvMTUuMS4zLjQvUzE1LjEuMy40X0EzLjJfVDMuanMKICogQGRlc2NyaXB0aW9uIENvbXBsZXggdGVzdHMsIHVyaVVuZXNjYXBlZCA6OiB1cmlNYXJrCiAqLwoKdXJpTWFyayA9IFsiLSIsICJfIiwgIi4iLCAiISIsICJ+IiwgIioiLCAiJyIsICIoIiwgIikiXTsKZm9yIChpbmRleEMgPSAwOyBpbmRleEMgPCB1cmlNYXJrLmxlbmd0aDsgaW5kZXhDKyspIHsKICB2YXIgc3RyID0gdXJpTWFya1tpbmRleENdOyAgICAKICBpZiAoZW5jb2RlVVJJQ29tcG9uZW50KHN0cikgIT09IHN0cikgewogICAgJEVSUk9SKCcjJyArIChpbmRleEMgKyAxKSArICc6IHVuZXNjYXBlZFVSSVNldCBjb250YWluaW5nJyArIHN0cik7CiAgfSAgCn0KCg==","commentary":"unescapedURIComponentSet containing one instance of each character valid in uriUnescaped","description":"Complex tests, uriUnescaped :: uriMark","path":"TestCases/ch15/15.1/15.1.3/15.1.3.4/S15.1.3.4_A3.2_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiB1bmVzY2FwZWRVUklDb21wb25lbnRTZXQgbm90IGNvbnRhaW5pbmcgIiMiCiAqCiAqIEBwYXRoIGNoMTUvMTUuMS8xNS4xLjMvMTUuMS4zLjQvUzE1LjEuMy40X0EzLjNfVDEuanMKICogQGRlc2NyaXB0aW9uIGVuY29kZVVSSUNvbXBvbmVudCgiIyIpID09PSAiJTIzIgogKi8KCmlmIChlbmNvZGVVUklDb21wb25lbnQoIiMiKSAhPT0gIiUyMyIpIHsKICAkRVJST1IoJyMxOiB1bmVzY2FwZWRVUklDb21wb25lbnRTZXQgbm90IGNvbnRhaW5pbmcgIiUyMyInKTsKfSAgCgo=","commentary":"unescapedURIComponentSet not containing \"#\"","description":"encodeURIComponent(\"#\") === \"%23\"","path":"TestCases/ch15/15.1/15.1.3/15.1.3.4/S15.1.3.4_A3.3_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBVUkkgdGVzdHMKICoKICogQHBhdGggY2gxNS8xNS4xLzE1LjEuMy8xNS4xLjMuNC9TMTUuMS4zLjRfQTRfVDEuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIEVOR0xJU0ggQUxQSEFCRVQKICovCgovL0NIRUNLIzEKaWYgKGVuY29kZVVSSUNvbXBvbmVudCgiaHR0cDovL3VuaXByby5ydS8wMTIzNDU2Nzg5IikgIT09ICJodHRwJTNBJTJGJTJGdW5pcHJvLnJ1JTJGMDEyMzQ1Njc4OSIpIHsKICAkRVJST1IoJyMxOiBodHRwOi8vdW5pcHJvLnJ1LzAxMjM0NTY3ODknKTsKfQoKLy9DSEVDSyMyCmlmIChlbmNvZGVVUklDb21wb25lbnQoImFBYkJjQ2REZUVmRmdHaEhpSWpKa0tsTG1Nbk5vT3BQcVFyUnNTdFR1VXZWd1d4WHlZeloiKSAhPT0gImFBYkJjQ2REZUVmRmdHaEhpSWpKa0tsTG1Nbk5vT3BQcVFyUnNTdFR1VXZWd1d4WHlZeloiKSB7CiAgJEVSUk9SKCcjMjogYUFiQmNDZERlRWZGZ0doSGlJakprS2xMbU1uTm9PcFBxUXJSc1N0VHVVdlZ3V3hYeVl6WicpOwp9CgovL0NIRUNLIzMKaWYgKGVuY29kZVVSSUNvbXBvbmVudCgiOy8/OkAmPSskLCIpICE9PSAiJTNCJTJGJTNGJTNBJTQwJTI2JTNEJTJCJTI0JTJDIikgewogICRFUlJPUignIzM6ICcpOwp9Cgo=","commentary":"URI tests","description":"Checking ENGLISH ALPHABET","path":"TestCases/ch15/15.1/15.1.3/15.1.3.4/S15.1.3.4_A4_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBVUkkgdGVzdHMKICoKICogQHBhdGggY2gxNS8xNS4xLzE1LjEuMy8xNS4xLjMuNC9TMTUuMS4zLjRfQTRfVDIuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIFJVU1NJQU4gQUxQSEFCRVQKICovCgovL0NIRUNLIzEKaWYgKChlbmNvZGVVUklDb21wb25lbnQoImh0dHA6Ly9ydS53aWtpcGVkaWEub3JnL3dpa2kv0K7QvdC40LrQvtC0IikgIT09ICJodHRwJTNBJTJGJTJGcnUud2lraXBlZGlhLm9yZyUyRndpa2klMkYlRDAlQUUlRDAlQkQlRDAlQjglRDAlQkElRDAlQkUlRDAlQjQiKSAmJiAoZW5jb2RlVVJJQ29tcG9uZW50KCJodHRwOi8vcnUud2lraXBlZGlhLm9yZy93aWtpL9Cu0L3QuNC60L7QtCIpICE9PSAiaHR0cCUzQSUyRiUyRnJ1Lndpa2lwZWRpYS5vcmclMkZ3aWtpJTJGIiArICIlRDAlQUUlRDAlQkQlRDAlQjglRDAlQkElRDAlQkUlRDAlQjQiLnRvTG93ZXJDYXNlKCkpKSB7CiAgJEVSUk9SKCcjMTogaHR0cDovL3J1Lndpa2lwZWRpYS5vcmcvd2lraS/QrtC90LjQutC+0LQnKTsKfQoKLy9DSEVDSyMyCmlmICgoZW5jb2RlVVJJQ29tcG9uZW50KCJodHRwOi8vcnUud2lraXBlZGlhLm9yZy93aWtpL9Cu0L3QuNC60L7QtCPQodGB0YvQu9C60LgiKSAhPT0gImh0dHAlM0ElMkYlMkZydS53aWtpcGVkaWEub3JnJTJGd2lraSUyRiVEMCVBRSVEMCVCRCVEMCVCOCVEMCVCQSVEMCVCRSVEMCVCNCUyMyVEMCVBMSVEMSU4MSVEMSU4QiVEMCVCQiVEMCVCQSVEMCVCOCIpICYmIChlbmNvZGVVUklDb21wb25lbnQoImh0dHA6Ly9ydS53aWtpcGVkaWEub3JnL3dpa2kv0K7QvdC40LrQvtC0I9Ch0YHRi9C70LrQuCIpICE9PSAiaHR0cCUzQSUyRiUyRnJ1Lndpa2lwZWRpYS5vcmclMkZ3aWtpJTJGIiArICIlRDAlQUUlRDAlQkQlRDAlQjglRDAlQkElRDAlQkUlRDAlQjQlMjMlRDAlQTElRDElODElRDElOEIlRDAlQkIlRDAlQkElRDAlQjgiLnRvTG93ZXJDYXNlKCkpKSB7CiAgJEVSUk9SKCcjMjogaHR0cDovL3J1Lndpa2lwZWRpYS5vcmcvd2lraS/QrtC90LjQutC+0LQj0KHRgdGL0LvQutC4Jyk7Cn0KCi8vQ0hFQ0sjMwppZiAoKGVuY29kZVVSSUNvbXBvbmVudCgiaHR0cDovL3J1Lndpa2lwZWRpYS5vcmcvd2lraS/QrtC90LjQutC+0LQj0JLQtdGA0YHQuNC4INCu0L3QuNC60L7QtNCwIikgIT09ICJodHRwJTNBJTJGJTJGcnUud2lraXBlZGlhLm9yZyUyRndpa2klMkYlRDAlQUUlRDAlQkQlRDAlQjglRDAlQkElRDAlQkUlRDAlQjQlMjMlRDAlOTIlRDAlQjUlRDElODAlRDElODElRDAlQjglRDAlQjglMjAlRDAlQUUlRDAlQkQlRDAlQjglRDAlQkElRDAlQkUlRDAlQjQlRDAlQjAiKSAmJiAoKGVuY29kZVVSSUNvbXBvbmVudCgiaHR0cDovL3J1Lndpa2lwZWRpYS5vcmcvd2lraS/QrtC90LjQutC+0LQlMjPQktC10YDRgdC40Lgg0K7QvdC40LrQvtC00LAiKSAhPT0gImh0dHAlM0ElMkYlMkZydS53aWtpcGVkaWEub3JnJTJGd2lraSUyRiIgKyAiJUQwJUFFJUQwJUJEJUQwJUI4JUQwJUJBJUQwJUJFJUQwJUI0IyVEMCU5MiVEMCVCNSVEMSU4MCVEMSU4MSVEMCVCOCVEMCVCOCUyMCVEMCVBRSVEMCVCRCVEMCVCOCVEMCVCQSVEMCVCRSVEMCVCNCVEMCVCMCIudG9Mb3dlckNhc2UoKSkpKSB7CiAgJEVSUk9SKCcjMzogaHR0cDovL3J1Lndpa2lwZWRpYS5vcmcvd2lraS/QrtC90LjQutC+0LQj0JLQtdGA0YHQuNC4INCu0L3QuNC60L7QtNCwJyk7Cn0KCg==","commentary":"URI tests","description":"Checking RUSSIAN ALPHABET","path":"TestCases/ch15/15.1/15.1.3/15.1.3.4/S15.1.3.4_A4_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBVUkkgdGVzdHMKICoKICogQHBhdGggY2gxNS8xNS4xLzE1LjEuMy8xNS4xLjMuNC9TMTUuMS4zLjRfQTRfVDMuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIFVSTCB3aXRoIExpbmUgVGVybWluYXRvcgogKi8KCi8vQ0hFQ0sjMQppZiAoKGVuY29kZVVSSUNvbXBvbmVudCgiaHR0cDovL3VuaXByby5ydS9cbmFib3V0IikgIT09ICJodHRwJTNBJTJGJTJGdW5pcHJvLnJ1JTJGJTBBYWJvdXQiKSAmJiBlbmNvZGVVUklDb21wb25lbnQoImh0dHA6Ly91bmlwcm8ucnUvXG5hYm91dCIpICE9PSAiaHR0cCUzQSUyRiUyRnVuaXByby5ydSUyRiUwYWFib3V0IikgewogICRFUlJPUignIzE6IGh0dHA6Ly91bmlwcm8ucnUvXFxuYWJvdXQnKTsKfQoKLy9DSEVDSyMyCmlmICgoZW5jb2RlVVJJQ29tcG9uZW50KCJodHRwOi8vdW5pcHJvLnJ1L1x2YWJvdXQiKSAhPT0gImh0dHAlM0ElMkYlMkZ1bmlwcm8ucnUlMkYlMEJhYm91dCIpICYmIGVuY29kZVVSSUNvbXBvbmVudCgiaHR0cDovL3VuaXByby5ydS9cdmFib3V0IikgIT09ICJodHRwJTNBJTJGJTJGdW5pcHJvLnJ1JTJGJTBiYWJvdXQiKSB7CiAgJEVSUk9SKCcjMjogaHR0cDovL3VuaXByby5ydS9cXHZhYm91dCcpOwp9CgovL0NIRUNLIzMKaWYgKChlbmNvZGVVUklDb21wb25lbnQoImh0dHA6Ly91bmlwcm8ucnUvXGZhYm91dCIpICE9PSAiaHR0cCUzQSUyRiUyRnVuaXByby5ydSUyRiUwQ2Fib3V0IikgJiYgZW5jb2RlVVJJQ29tcG9uZW50KCJodHRwOi8vdW5pcHJvLnJ1L1xmYWJvdXQiKSAhPT0gImh0dHAlM0ElMkYlMkZ1bmlwcm8ucnUlMkYlMGNhYm91dCIpIHsKICAkRVJST1IoJyMzOiBodHRwOi8vdW5pcHJvLnJ1L1xcZmFib3V0Jyk7Cn0KCi8vQ0hFQ0sjNAppZiAoKGVuY29kZVVSSUNvbXBvbmVudCgiaHR0cDovL3VuaXByby5ydS9ccmFib3V0IikgIT09ICJodHRwJTNBJTJGJTJGdW5pcHJvLnJ1JTJGJTBEYWJvdXQiKSAmJiBlbmNvZGVVUklDb21wb25lbnQoImh0dHA6Ly91bmlwcm8ucnUvXHJhYm91dCIpICE9PSAiaHR0cCUzQSUyRiUyRnVuaXByby5ydSUyRiUwZGFib3V0IikgewogICRFUlJPUignIzQ6IGh0dHA6Ly91bmlwcm8ucnUvXFxyYWJvdXQnKTsKfQoK","commentary":"URI tests","description":"Checking URL with Line Terminator","path":"TestCases/ch15/15.1/15.1.3/15.1.3.4/S15.1.3.4_A4_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBVUkkgdGVzdHMKICoKICogQHBhdGggY2gxNS8xNS4xLzE1LjEuMy8xNS4xLjMuNC9TMTUuMS4zLjRfQTRfVDQuanMKICogQGRlc2NyaXB0aW9uIFRlc3Qgc29tZSB1cmwKICovCgovL0NIRUNLIzEKaWYgKGVuY29kZVVSSUNvbXBvbmVudCgiIikgIT09ICIiKSB7CiAgJEVSUk9SKCcjMTogIiInKTsKfQoKLy9DSEVDSyMyCmlmIChlbmNvZGVVUklDb21wb25lbnQoImh0dHA6Ly91bmlwcm8ucnUiKSAhPT0gImh0dHAlM0ElMkYlMkZ1bmlwcm8ucnUiKSB7CiAgJEVSUk9SKCcjMjogaHR0cDovL3VuaXByby5ydScpOwp9CgovL0NIRUNLIzMKaWYgKGVuY29kZVVSSUNvbXBvbmVudCgiaHR0cDovL3d3dy5nb29nbGUucnUvc3VwcG9ydC9qb2JzL2Jpbi9zdGF0aWMucHk/cGFnZT13aHktcnUuaHRtbCZzaWQ9bGl2ZWFuZHdvcmsiKSAhPT0gImh0dHAlM0ElMkYlMkZ3d3cuZ29vZ2xlLnJ1JTJGc3VwcG9ydCUyRmpvYnMlMkZiaW4lMkZzdGF0aWMucHklM0ZwYWdlJTNEd2h5LXJ1Lmh0bWwlMjZzaWQlM0RsaXZlYW5kd29yayIpIHsKICAkRVJST1IoJyMzOiBodHRwOi8vd3d3Lmdvb2dsZS5ydS9zdXBwb3J0L2pvYnMvYmluL3N0YXRpYy5weT9wYWdlPXdoeS1ydS5odG1sJnNpZD1saXZlYW5kd29yayInKTsKfSAgICAgICAgICAgCgovL0NIRUNLIzQKaWYgKGVuY29kZVVSSUNvbXBvbmVudCgiaHR0cDovL2VuLndpa2lwZWRpYS5vcmcvd2lraS9VVEYtOCNEZXNjcmlwdGlvbiIpICE9PSAiaHR0cCUzQSUyRiUyRmVuLndpa2lwZWRpYS5vcmclMkZ3aWtpJTJGVVRGLTglMjNEZXNjcmlwdGlvbiIpIHsKICAkRVJST1IoJyM0OiBodHRwOi8vZW4ud2lraXBlZGlhLm9yZy93aWtpL1VURi04I0Rlc2NyaXB0aW9uJyk7Cn0KCg==","commentary":"URI tests","description":"Test some url","path":"TestCases/ch15/15.1/15.1.3/15.1.3.4/S15.1.3.4_A4_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgbGVuZ3RoIHByb3BlcnR5IG9mIGVuY29kZVVSSUNvbXBvbmVudCBoYXMgdGhlIGF0dHJpYnV0ZSBEb250RW51bQogKgogKiBAcGF0aCBjaDE1LzE1LjEvMTUuMS4zLzE1LjEuMy40L1MxNS4xLjMuNF9BNS4xLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyB1c2UgcHJvcGVydHlJc0VudW1lcmFibGUsIGZvci1pbgogKi8KCi8vQ0hFQ0sjMQppZiAoZW5jb2RlVVJJQ29tcG9uZW50LnByb3BlcnR5SXNFbnVtZXJhYmxlKCdsZW5ndGgnKSAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyMxOiBlbmNvZGVVUklDb21wb25lbnQucHJvcGVydHlJc0VudW1lcmFibGUoXCdsZW5ndGhcJykgPT09IGZhbHNlLiBBY3R1YWw6ICcgKyAoZW5jb2RlVVJJQ29tcG9uZW50LnByb3BlcnR5SXNFbnVtZXJhYmxlKCdsZW5ndGgnKSkpOwp9CgovL0NIRUNLIzIKcmVzdWx0ID0gdHJ1ZTsKZm9yIChwIGluIGVuY29kZVVSSUNvbXBvbmVudCl7CiAgaWYgKHAgPT09ICJsZW5ndGgiKSB7CiAgICByZXN1bHQgPSBmYWxzZTsKICB9ICAKfQoKaWYgKHJlc3VsdCAhPT0gdHJ1ZSkgewogICRFUlJPUignIzI6IHJlc3VsdCA9IHRydWU7IGZvciAocCBpbiBlbmNvZGVVUklDb21wb25lbnQpIHsgaWYgKHAgPT09ICJsZW5ndGgiKSByZXN1bHQgPSBmYWxzZTsgfSAgcmVzdWx0ID09PSB0cnVlOycpOwp9Cgo=","commentary":"The length property of encodeURIComponent has the attribute DontEnum","description":"Checking use propertyIsEnumerable, for-in","path":"TestCases/ch15/15.1/15.1.3/15.1.3.4/S15.1.3.4_A5.1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgbGVuZ3RoIHByb3BlcnR5IG9mIGVuY29kZVVSSUNvbXBvbmVudCBoYXMgdGhlIGF0dHJpYnV0ZSBEb250RGVsZXRlCiAqCiAqIEBwYXRoIGNoMTUvMTUuMS8xNS4xLjMvMTUuMS4zLjQvUzE1LjEuMy40X0E1LjIuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIHVzZSBoYXNPd25Qcm9wZXJ0eSwgZGVsZXRlCiAqLwoKLy9DSEVDSyMxCmlmIChlbmNvZGVVUklDb21wb25lbnQuaGFzT3duUHJvcGVydHkoJ2xlbmd0aCcpICE9PSB0cnVlKSB7CiAgJEZBSUwoJyMxOiBlbmNvZGVVUklDb21wb25lbnQuaGFzT3duUHJvcGVydHkoXCdsZW5ndGhcJykgPT09IHRydWUuIEFjdHVhbDogJyArIChlbmNvZGVVUklDb21wb25lbnQuaGFzT3duUHJvcGVydHkoJ2xlbmd0aCcpKSk7Cn0KCmRlbGV0ZSBlbmNvZGVVUklDb21wb25lbnQubGVuZ3RoOwoKLy9DSEVDSyMyCmlmIChlbmNvZGVVUklDb21wb25lbnQuaGFzT3duUHJvcGVydHkoJ2xlbmd0aCcpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMjogZGVsZXRlIGVuY29kZVVSSUNvbXBvbmVudC5sZW5ndGg7IGVuY29kZVVSSUNvbXBvbmVudC5oYXNPd25Qcm9wZXJ0eShcJ2xlbmd0aFwnKSA9PT0gdHJ1ZS4gQWN0dWFsOiAnICsgKGVuY29kZVVSSUNvbXBvbmVudC5oYXNPd25Qcm9wZXJ0eSgnbGVuZ3RoJykpKTsKfQoKLy9DSEVDSyMzCmlmIChlbmNvZGVVUklDb21wb25lbnQubGVuZ3RoID09PSB1bmRlZmluZWQpIHsKICAkRVJST1IoJyMzOiBkZWxldGUgZW5jb2RlVVJJQ29tcG9uZW50Lmxlbmd0aDsgZW5jb2RlVVJJQ29tcG9uZW50Lmxlbmd0aCAhPT0gdW5kZWZpbmVkJyk7Cn0KCgoKCg==","commentary":"The length property of encodeURIComponent has the attribute DontDelete","description":"Checking use hasOwnProperty, delete","path":"TestCases/ch15/15.1/15.1.3/15.1.3.4/S15.1.3.4_A5.2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgbGVuZ3RoIHByb3BlcnR5IG9mIGVuY29kZVVSSUNvbXBvbmVudCBoYXMgdGhlIGF0dHJpYnV0ZSBSZWFkT25seQogKgogKiBAcGF0aCBjaDE1LzE1LjEvMTUuMS4zLzE1LjEuMy40L1MxNS4xLjMuNF9BNS4zLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiB2YXJ5aW5nIHRoZSBsZW5ndGggcHJvcGVydHkgZmFpbHMKICovCgovL0NIRUNLIzEKeCA9IGVuY29kZVVSSUNvbXBvbmVudC5sZW5ndGg7CmVuY29kZVVSSUNvbXBvbmVudC5sZW5ndGggPSBJbmZpbml0eTsKaWYgKGVuY29kZVVSSUNvbXBvbmVudC5sZW5ndGggIT09IHgpIHsKICAkRVJST1IoJyMxOiB4ID0gZW5jb2RlVVJJQ29tcG9uZW50Lmxlbmd0aDsgZW5jb2RlVVJJQ29tcG9uZW50Lmxlbmd0aCA9IEluZmluaXR5OyBlbmNvZGVVUklDb21wb25lbnQubGVuZ3RoID09PSB4LiBBY3R1YWw6ICcgKyAoZW5jb2RlVVJJQ29tcG9uZW50Lmxlbmd0aCkpOwp9CgoK","commentary":"The length property of encodeURIComponent has the attribute ReadOnly","description":"Checking if varying the length property fails","path":"TestCases/ch15/15.1/15.1.3/15.1.3.4/S15.1.3.4_A5.3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgbGVuZ3RoIHByb3BlcnR5IG9mIGVuY29kZVVSSUNvbXBvbmVudCBpcyAxCiAqCiAqIEBwYXRoIGNoMTUvMTUuMS8xNS4xLjMvMTUuMS4zLjQvUzE1LjEuMy40X0E1LjQuanMKICogQGRlc2NyaXB0aW9uIGVuY29kZVVSSUNvbXBvbmVudC5sZW5ndGggPT09IDEKICovCgovL0NIRUNLIzEKaWYgKGVuY29kZVVSSUNvbXBvbmVudC5sZW5ndGggIT09IDEpIHsKICAkRVJST1IoJyMxOiBlbmNvZGVVUklDb21wb25lbnQubGVuZ3RoID09PSAxLiBBY3R1YWw6ICcgKyAoZW5jb2RlVVJJQ29tcG9uZW50Lmxlbmd0aCkpOwp9IAoKCg==","commentary":"The length property of encodeURIComponent is 1","description":"encodeURIComponent.length === 1","path":"TestCases/ch15/15.1/15.1.3/15.1.3.4/S15.1.3.4_A5.4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgZW5jb2RlVVJJQ29tcG9uZW50IHByb3BlcnR5IGhhcyB0aGUgYXR0cmlidXRlIERvbnRFbnVtCiAqCiAqIEBwYXRoIGNoMTUvMTUuMS8xNS4xLjMvMTUuMS4zLjQvUzE1LjEuMy40X0E1LjUuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIHVzZSBwcm9wZXJ0eUlzRW51bWVyYWJsZSwgZm9yLWluCiAqLwoKLy9DSEVDSyMxCmlmICh0aGlzLnByb3BlcnR5SXNFbnVtZXJhYmxlKCdlbmNvZGVVUklDb21wb25lbnQnKSAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyMxOiB0aGlzLnByb3BlcnR5SXNFbnVtZXJhYmxlKFwnZW5jb2RlVVJJQ29tcG9uZW50XCcpID09PSBmYWxzZS4gQWN0dWFsOiAnICsgKHRoaXMucHJvcGVydHlJc0VudW1lcmFibGUoJ2VuY29kZVVSSUNvbXBvbmVudCcpKSk7Cn0KCi8vQ0hFQ0sjMgpyZXN1bHQgPSB0cnVlOwpmb3IgKHAgaW4gdGhpcyl7CiAgaWYgKHAgPT09ICJlbmNvZGVVUklDb21wb25lbnQiKSB7CiAgICByZXN1bHQgPSBmYWxzZTsKICB9ICAKfQoKaWYgKHJlc3VsdCAhPT0gdHJ1ZSkgewogICRFUlJPUignIzI6IHJlc3VsdCA9IHRydWU7IGZvciAocCBpbiB0aGlzKSB7IGlmIChwID09PSAiZW5jb2RlVVJJQ29tcG9uZW50IikgcmVzdWx0ID0gZmFsc2U7IH0gIHJlc3VsdCA9PT0gdHJ1ZTsnKTsKfQoK","commentary":"The encodeURIComponent property has the attribute DontEnum","description":"Checking use propertyIsEnumerable, for-in","path":"TestCases/ch15/15.1/15.1.3/15.1.3.4/S15.1.3.4_A5.5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgZW5jb2RlVVJJQ29tcG9uZW50IHByb3BlcnR5IGhhcyBub3QgcHJvdG90eXBlIHByb3BlcnR5CiAqCiAqIEBwYXRoIGNoMTUvMTUuMS8xNS4xLjMvMTUuMS4zLjQvUzE1LjEuMy40X0E1LjYuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGVuY29kZVVSSUNvbXBvbmVudC5wcm90b3R5cGUKICovCgovL0NIRUNLIzEKaWYgKGVuY29kZVVSSUNvbXBvbmVudC5wcm90b3R5cGUgIT09IHVuZGVmaW5lZCkgewogICRFUlJPUignIzE6IGVuY29kZVVSSUNvbXBvbmVudC5wcm90b3R5cGUgPT09IHVuZGVmaW5lZC4gQWN0dWFsOiAnICsgKGVuY29kZVVSSUNvbXBvbmVudC5wcm90b3R5cGUpKTsKfQoK","commentary":"The encodeURIComponent property has not prototype property","description":"Checking encodeURIComponent.prototype","path":"TestCases/ch15/15.1/15.1.3/15.1.3.4/S15.1.3.4_A5.6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgZW5jb2RlVVJJQ29tcG9uZW50IHByb3BlcnR5IGNhbid0IGJlIHVzZWQgYXMgY29uc3RydWN0b3IKICoKICogQHBhdGggY2gxNS8xNS4xLzE1LjEuMy8xNS4xLjMuNC9TMTUuMS4zLjRfQTUuNy5qcwogKiBAZGVzY3JpcHRpb24gSWYgcHJvcGVydHkgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBpbnRlcm5hbCBbW0NvbnN0cnVjdF1dIG1ldGhvZCwgdGhyb3cgYSBUeXBlRXJyb3IgZXhjZXB0aW9uCiAqLwoKLy9DSEVDSyMxCgp0cnkgewogIG5ldyBlbmNvZGVVUklDb21wb25lbnQoKTsKICAkRVJST1IoJyMxLjE6IG5ldyBlbmNvZGVVUklDb21wb25lbnQoKSB0aHJvdyBUeXBlRXJyb3IuIEFjdHVhbDogJyArIChuZXcgZW5jb2RlVVJJQ29tcG9uZW50KCkpKTsKfSBjYXRjaCAoZSkgewogIGlmICgoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikgIT09IHRydWUpIHsKICAgICRFUlJPUignIzEuMjogbmV3IGVuY29kZVVSSUNvbXBvbmVudCgpIHRocm93IFR5cGVFcnJvci4gQWN0dWFsOiAnICsgKGUpKTsKICB9Cn0KCg==","commentary":"The encodeURIComponent property can't be used as constructor","description":"If property does not implement the internal [[Construct]] method, throw a TypeError exception","path":"TestCases/ch15/15.1/15.1.3/15.1.3.4/S15.1.3.4_A5.7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB1c2UgVG9TdHJpbmcKICoKICogQHBhdGggY2gxNS8xNS4xLzE1LjEuMy8xNS4xLjMuNC9TMTUuMS4zLjRfQTZfVDEuanMKICogQGRlc2NyaXB0aW9uIElmIFR5cGUodmFsdWUpIGlzIE9iamVjdCwgZXZhbHVhdGUgVG9QcmltaXRpdmUodmFsdWUsIFN0cmluZykKICovCgovL0NIRUNLIzEKdmFyIG9iamVjdCA9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gIl4ifX07CmlmIChlbmNvZGVVUklDb21wb25lbnQob2JqZWN0KSAhPT0gIiU1Qm9iamVjdCUyME9iamVjdCU1RCIpIHsKICAkRVJST1IoJyMxOiB2YXIgb2JqZWN0ID0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAiXiJ9fTsgZW5jb2RlVVJJQ29tcG9uZW50KG9iamVjdCkgPT09ICU1Qm9iamVjdCUyME9iamVjdCU1RC4gQWN0dWFsOiAnICsgKGVuY29kZVVSSUNvbXBvbmVudChvYmplY3QpKSk7Cn0KCi8vQ0hFQ0sjMgp2YXIgb2JqZWN0ID0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAiIn0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gIl4ifX07CmlmIChlbmNvZGVVUklDb21wb25lbnQob2JqZWN0KSAhPT0gIiU1RSIpIHsKICAkRVJST1IoJyMyOiB2YXIgb2JqZWN0ID0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAiIn0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gIl4ifX07IGVuY29kZVVSSUNvbXBvbmVudChvYmplY3QpID09PSAiJTVFIi4gQWN0dWFsOiAnICsgKGVuY29kZVVSSUNvbXBvbmVudChvYmplY3QpKSk7Cn0gCgovL0NIRUNLIzMKdmFyIG9iamVjdCA9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gIl4ifSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiB7fX19OwppZiAoZW5jb2RlVVJJQ29tcG9uZW50KG9iamVjdCkgIT09ICIlNUUiKSB7CiAgJEVSUk9SKCcjMzogdmFyIG9iamVjdCA9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gIl4ifSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiB7fX19OyBlbmNvZGVVUklDb21wb25lbnQob2JqZWN0KSA9PT0gIiU1RSIuIEFjdHVhbDogJyArIChlbmNvZGVVUklDb21wb25lbnQob2JqZWN0KSkpOwp9CgovL0NIRUNLIzQKdHJ5IHsKICB2YXIgb2JqZWN0ID0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3Rocm93ICJlcnJvciJ9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuICJeIn19OwogIGlmIChlbmNvZGVVUklDb21wb25lbnQob2JqZWN0KSAhPT0gIiU1RSIpIHsKICAgICRFUlJPUignIzQuMTogdmFyIG9iamVjdCA9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHt0aHJvdyAiZXJyb3IifSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiAiXiJ9fTsgZW5jb2RlVVJJQ29tcG9uZW50KG9iamVjdCkgPT09ICIlNUUiLiBBY3R1YWw6ICcgKyAoZW5jb2RlVVJJQ29tcG9uZW50KG9iamVjdCkpKTsKICB9Cn0KY2F0Y2ggKGUpIHsKICBpZiAoZSA9PT0gImVycm9yIikgewogICAgJEVSUk9SKCcjNC4yOiB2YXIgb2JqZWN0ID0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3Rocm93ICJlcnJvciJ9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuICJeIn19OyBlbmNvZGVVUklDb21wb25lbnQob2JqZWN0KSBub3QgdGhyb3cgImVycm9yIicpOwogIH0gZWxzZSB7CiAgICAkRVJST1IoJyM0LjM6IHZhciBvYmplY3QgPSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7dGhyb3cgImVycm9yIn0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gIl4ifX07IGVuY29kZVVSSUNvbXBvbmVudChvYmplY3QpIG5vdCB0aHJvdyBFcnJvci4gQWN0dWFsOiAnICsgKGUpKTsKICB9Cn0KCi8vQ0hFQ0sjNQp2YXIgb2JqZWN0ID0ge3RvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gIl4ifX07CmlmIChlbmNvZGVVUklDb21wb25lbnQob2JqZWN0KSAhPT0gIiU1RSIpIHsKICAkRVJST1IoJyM1OiB2YXIgb2JqZWN0ID0ge3RvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gIl4ifX07IGVuY29kZVVSSUNvbXBvbmVudChvYmplY3QpID09PSAiJTVFIi4gQWN0dWFsOiAnICsgKGVuY29kZVVSSUNvbXBvbmVudChvYmplY3QpKSk7Cn0KCi8vQ0hFQ0sjNgp2YXIgb2JqZWN0ID0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiB7fX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gIl4ifX0KaWYgKGVuY29kZVVSSUNvbXBvbmVudChvYmplY3QpICE9PSAiJTVFIikgewogICRFUlJPUignIzY6IHZhciBvYmplY3QgPSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIHt9fSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiAiXiJ9fTsgZW5jb2RlVVJJQ29tcG9uZW50KG9iamVjdCkgPT09ICIlNUUiLiBBY3R1YWw6ICcgKyAoZW5jb2RlVVJJQ29tcG9uZW50KG9iamVjdCkpKTsKfQoKLy9DSEVDSyM3CnRyeSB7CiAgdmFyIG9iamVjdCA9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gIl4ifSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3Rocm93ICJlcnJvciJ9fTsKICBlbmNvZGVVUklDb21wb25lbnQob2JqZWN0KTsKICAkRVJST1IoJyM3LjE6IHZhciBvYmplY3QgPSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuICJeIn0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHt0aHJvdyAiZXJyb3IifX07IGVuY29kZVVSSUNvbXBvbmVudChvYmplY3QpIHRocm93ICJlcnJvciIuIEFjdHVhbDogJyArIChlbmNvZGVVUklDb21wb25lbnQob2JqZWN0KSkpOwp9ICAKY2F0Y2ggKGUpIHsKICBpZiAoZSAhPT0gImVycm9yIikgewogICAgJEVSUk9SKCcjNy4yOiB2YXIgb2JqZWN0ID0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAiXiJ9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7dGhyb3cgImVycm9yIn19OyBlbmNvZGVVUklDb21wb25lbnQob2JqZWN0KSB0aHJvdyAiZXJyb3IiLiBBY3R1YWw6ICcgKyAoZSkpOwogIH0gCn0KCi8vQ0hFQ0sjOAp0cnkgewogIHZhciBvYmplY3QgPSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIHt9fSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiB7fX19OwogIGVuY29kZVVSSUNvbXBvbmVudChvYmplY3QpOwogICRFUlJPUignIzguMTogdmFyIG9iamVjdCA9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4ge319LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIHt9fX07IGVuY29kZVVSSUNvbXBvbmVudChvYmplY3QpIHRocm93IFR5cGVFcnJvci4gQWN0dWFsOiAnICsgKGVuY29kZVVSSUNvbXBvbmVudChvYmplY3QpKSk7Cn0gIApjYXRjaCAoZSkgewogIGlmICgoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikgIT09IHRydWUpIHsKICAgICRFUlJPUignIzguMjogdmFyIG9iamVjdCA9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4ge319LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIHt9fX07IGVuY29kZVVSSUNvbXBvbmVudChvYmplY3QpIHRocm93IFR5cGVFcnJvci4gQWN0dWFsOiAnICsgKGUpKTsKICB9IAp9Cgo=","commentary":"Operator use ToString","description":"If Type(value) is Object, evaluate ToPrimitive(value, String)","path":"TestCases/ch15/15.1/15.1.3/15.1.3.4/S15.1.3.4_A6_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBSZWdFeHAgc3ludGF4IGVycm9ycyBtdXN0IGJlIGNhdWdodCB3aGVuIG1hdGNoZXIocykgY29tcGlsZXMKICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC4xL1MxNS4xMC4xX0ExX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBUZXN0ZWQgUmVnRXhwIGlzICJhKioiCiAqLwoKLy9DSEVDSyMxCnRyeSB7CgkkRVJST1IoJyMxLjE6IG5ldyBSZWdFeHAoImEqKiIpIHRocm93IFN5bnRheEVycm9yLiBBY3R1YWw6ICcgKyAobmV3IFJlZ0V4cCgiYSoqIikpKTsKfSBjYXRjaCAoZSkgewoJaWYgKChlIGluc3RhbmNlb2YgU3ludGF4RXJyb3IgIT09IHRydWUpKSB7CgkJJEVSUk9SKCcjMS4yOiBuZXcgUmVnRXhwKCJhKioiKSB0aHJvdyBTeW50YXhFcnJvci4gQWN0dWFsOiAnICsgKGUpKTsKCX0KfQoK","commentary":"RegExp syntax errors must be caught when matcher(s) compiles","description":"Tested RegExp is \"a**\"","path":"TestCases/ch15/15.10/15.10.1/S15.10.1_A1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBSZWdFeHAgc3ludGF4IGVycm9ycyBtdXN0IGJlIGNhdWdodCB3aGVuIG1hdGNoZXIocykgY29tcGlsZXMKICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC4xL1MxNS4xMC4xX0ExX1QxMC5qcwogKiBAZGVzY3JpcHRpb24gVGVzdGVkIFJlZ0V4cCBpcyAiKythIgogKi8KCi8vQ0hFQ0sjMQp0cnkgewoJJEVSUk9SKCcjMS4xOiBuZXcgUmVnRXhwKCIrK2EiKSB0aHJvdyBTeW50YXhFcnJvci4gQWN0dWFsOiAnICsgKG5ldyBSZWdFeHAoIisrYSIpKSk7Cn0gY2F0Y2ggKGUpIHsKCWlmICgoZSBpbnN0YW5jZW9mIFN5bnRheEVycm9yKSAhPT0gdHJ1ZSkgewoJCSRFUlJPUignIzEuMjogbmV3IFJlZ0V4cCgiKythIikgdGhyb3cgU3ludGF4RXJyb3IuIEFjdHVhbDogJyArIChlKSk7Cgl9Cn0KCgo=","commentary":"RegExp syntax errors must be caught when matcher(s) compiles","description":"Tested RegExp is \"++a\"","path":"TestCases/ch15/15.10/15.10.1/S15.10.1_A1_T10.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBSZWdFeHAgc3ludGF4IGVycm9ycyBtdXN0IGJlIGNhdWdodCB3aGVuIG1hdGNoZXIocykgY29tcGlsZXMKICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC4xL1MxNS4xMC4xX0ExX1QxMS5qcwogKiBAZGVzY3JpcHRpb24gVGVzdGVkIFJlZ0V4cCBpcyAiP2EiCiAqLwoKLy9DSEVDSyMxCnRyeSB7CgkkRVJST1IoJyMxLjE6IG5ldyBSZWdFeHAoIj9hIikgdGhyb3cgU3ludGF4RXJyb3IuIEFjdHVhbDogJyArIChuZXcgUmVnRXhwKCI/YSIpKSk7Cn0gY2F0Y2ggKGUpIHsKCWlmICgoZSBpbnN0YW5jZW9mIFN5bnRheEVycm9yKSAhPT0gdHJ1ZSkgewoJCSRFUlJPUignIzEuMjogbmV3IFJlZ0V4cCgiP2EiKSB0aHJvdyBTeW50YXhFcnJvci4gQWN0dWFsOiAnICsgKGUpKTsKCX0KfQoKCg==","commentary":"RegExp syntax errors must be caught when matcher(s) compiles","description":"Tested RegExp is \"?a\"","path":"TestCases/ch15/15.10/15.10.1/S15.10.1_A1_T11.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBSZWdFeHAgc3ludGF4IGVycm9ycyBtdXN0IGJlIGNhdWdodCB3aGVuIG1hdGNoZXIocykgY29tcGlsZXMKICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC4xL1MxNS4xMC4xX0ExX1QxMi5qcwogKiBAZGVzY3JpcHRpb24gVGVzdGVkIFJlZ0V4cCBpcyAiPz9hIgogKi8KCi8vQ0hFQ0sjMQp0cnkgewoJJEVSUk9SKCcjMS4xOiBuZXcgUmVnRXhwKCI/P2EiKSB0aHJvdyBTeW50YXhFcnJvci4gQWN0dWFsOiAnICsgKG5ldyBSZWdFeHAoIj8/YSIpKSk7Cn0gY2F0Y2ggKGUpIHsKCWlmICgoZSBpbnN0YW5jZW9mIFN5bnRheEVycm9yKSAhPT0gdHJ1ZSkgewoJCSRFUlJPUignIzEuMjogbmV3IFJlZ0V4cCgiPz9hIikgdGhyb3cgU3ludGF4RXJyb3IuIEFjdHVhbDogJyArIChlKSk7Cgl9Cn0KCgo=","commentary":"RegExp syntax errors must be caught when matcher(s) compiles","description":"Tested RegExp is \"??a\"","path":"TestCases/ch15/15.10/15.10.1/S15.10.1_A1_T12.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBSZWdFeHAgc3ludGF4IGVycm9ycyBtdXN0IGJlIGNhdWdodCB3aGVuIG1hdGNoZXIocykgY29tcGlsZXMKICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC4xL1MxNS4xMC4xX0ExX1QxMy5qcwogKiBAZGVzY3JpcHRpb24gVGVzdGVkIFJlZ0V4cCBpcyAieHsxfXsxLH0iCiAqLwoKLy9DSEVDSyMxCnRyeSB7CgkkRVJST1IoJyMxLjE6IG5ldyBSZWdFeHAoInh7MX17MSx9IikgdGhyb3cgU3ludGF4RXJyb3IuIEFjdHVhbDogJyArIChuZXcgUmVnRXhwKCJ4ezF9ezEsfSIpKSk7Cn0gY2F0Y2ggKGUpIHsKCWlmICgoZSBpbnN0YW5jZW9mIFN5bnRheEVycm9yKSAhPT0gdHJ1ZSkgewoJCSRFUlJPUignIzEuMjogbmV3IFJlZ0V4cCgieHsxfXsxLH0iKSB0aHJvdyBTeW50YXhFcnJvci4gQWN0dWFsOiAnICsgKGUpKTsKCX0KfQoKCg==","commentary":"RegExp syntax errors must be caught when matcher(s) compiles","description":"Tested RegExp is \"x{1}{1,}\"","path":"TestCases/ch15/15.10/15.10.1/S15.10.1_A1_T13.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBSZWdFeHAgc3ludGF4IGVycm9ycyBtdXN0IGJlIGNhdWdodCB3aGVuIG1hdGNoZXIocykgY29tcGlsZXMKICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC4xL1MxNS4xMC4xX0ExX1QxNC5qcwogKiBAZGVzY3JpcHRpb24gVGVzdGVkIFJlZ0V4cCBpcyAieHsxLDJ9ezF9IgogKi8KCi8vQ0hFQ0sjMQp0cnkgewoJJEVSUk9SKCcjMS4xOiBuZXcgUmVnRXhwKCJ4ezEsMn17MX0iKSB0aHJvdyBTeW50YXhFcnJvci4gQWN0dWFsOiAnICsgKG5ldyBSZWdFeHAoInh7MSwyfXsxfSIpKSk7Cn0gY2F0Y2ggKGUpIHsKCWlmICgoZSBpbnN0YW5jZW9mIFN5bnRheEVycm9yKSAhPT0gdHJ1ZSkgewoJCSRFUlJPUignIzEuMjogbmV3IFJlZ0V4cCgieHsxLDJ9ezF9IikgdGhyb3cgU3ludGF4RXJyb3IuIEFjdHVhbDogJyArIChlKSk7Cgl9Cn0KCgo=","commentary":"RegExp syntax errors must be caught when matcher(s) compiles","description":"Tested RegExp is \"x{1,2}{1}\"","path":"TestCases/ch15/15.10/15.10.1/S15.10.1_A1_T14.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBSZWdFeHAgc3ludGF4IGVycm9ycyBtdXN0IGJlIGNhdWdodCB3aGVuIG1hdGNoZXIocykgY29tcGlsZXMKICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC4xL1MxNS4xMC4xX0ExX1QxNS5qcwogKiBAZGVzY3JpcHRpb24gVGVzdGVkIFJlZ0V4cCBpcyAieHsxLH17MX0iCiAqLwoKLy9DSEVDSyMxCnRyeSB7CgkkRVJST1IoJyMxLjE6IG5ldyBSZWdFeHAoInh7MSx9ezF9IikgdGhyb3cgU3ludGF4RXJyb3IuIEFjdHVhbDogJyArIChuZXcgUmVnRXhwKCJ4ezEsfXsxfSIpKSk7Cn0gY2F0Y2ggKGUpIHsKCWlmICgoZSBpbnN0YW5jZW9mIFN5bnRheEVycm9yKSAhPT0gdHJ1ZSkgewoJCSRFUlJPUignIzEuMjogbmV3IFJlZ0V4cCgieHsxLH17MX0iKSB0aHJvdyBTeW50YXhFcnJvci4gQWN0dWFsOiAnICsgKGUpKTsKCX0KfQoKCg==","commentary":"RegExp syntax errors must be caught when matcher(s) compiles","description":"Tested RegExp is \"x{1,}{1}\"","path":"TestCases/ch15/15.10/15.10.1/S15.10.1_A1_T15.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBSZWdFeHAgc3ludGF4IGVycm9ycyBtdXN0IGJlIGNhdWdodCB3aGVuIG1hdGNoZXIocykgY29tcGlsZXMKICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC4xL1MxNS4xMC4xX0ExX1QxNi5qcwogKiBAZGVzY3JpcHRpb24gVGVzdGVkIFJlZ0V4cCBpcyAieHswLDF9ezEsfSIKICovCgovL0NIRUNLIzEKdHJ5IHsKCSRFUlJPUignIzEuMTogbmV3IFJlZ0V4cCgieHswLDF9ezEsfSIpIHRocm93IFN5bnRheEVycm9yLiBBY3R1YWw6ICcgKyAobmV3IFJlZ0V4cCgieHswLDF9ezEsfSIpKSk7Cn0gY2F0Y2ggKGUpIHsKCWlmICgoZSBpbnN0YW5jZW9mIFN5bnRheEVycm9yKSAhPT0gdHJ1ZSkgewoJCSRFUlJPUignIzEuMjogbmV3IFJlZ0V4cCgieHswLDF9ezEsfSIpIHRocm93IFN5bnRheEVycm9yLiBBY3R1YWw6ICcgKyAoZSkpOwoJfQp9CgoK","commentary":"RegExp syntax errors must be caught when matcher(s) compiles","description":"Tested RegExp is \"x{0,1}{1,}\"","path":"TestCases/ch15/15.10/15.10.1/S15.10.1_A1_T16.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBSZWdFeHAgc3ludGF4IGVycm9ycyBtdXN0IGJlIGNhdWdodCB3aGVuIG1hdGNoZXIocykgY29tcGlsZXMKICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC4xL1MxNS4xMC4xX0ExX1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBUZXN0ZWQgUmVnRXhwIGlzICJhKioqIgogKi8KCi8vQ0hFQ0sjMQp0cnkgewoJJEVSUk9SKCcjMS4xOiBuZXcgUmVnRXhwKCJhKioqIikgdGhyb3cgU3ludGF4RXJyb3IuIEFjdHVhbDogJyArIChuZXcgUmVnRXhwKCJhKioqIikpKTsKfSBjYXRjaCAoZSkgewoJaWYgKChlIGluc3RhbmNlb2YgU3ludGF4RXJyb3IpICE9PSB0cnVlKSB7CgkJJEVSUk9SKCcjMS4yOiBuZXcgUmVnRXhwKCJhKioqIikgdGhyb3cgU3ludGF4RXJyb3IuIEFjdHVhbDogJyArIChlKSk7Cgl9Cn0KCgo=","commentary":"RegExp syntax errors must be caught when matcher(s) compiles","description":"Tested RegExp is \"a***\"","path":"TestCases/ch15/15.10/15.10.1/S15.10.1_A1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBSZWdFeHAgc3ludGF4IGVycm9ycyBtdXN0IGJlIGNhdWdodCB3aGVuIG1hdGNoZXIocykgY29tcGlsZXMKICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC4xL1MxNS4xMC4xX0ExX1QzLmpzCiAqIEBkZXNjcmlwdGlvbiBUZXN0ZWQgUmVnRXhwIGlzICJhKysiCiAqLwoKLy9DSEVDSyMxCnRyeSB7CgkkRVJST1IoJyMxLjE6IG5ldyBSZWdFeHAoImErKyIpIHRocm93IFN5bnRheEVycm9yLiBBY3R1YWw6ICcgKyAobmV3IFJlZ0V4cCgiYSsrIikpKTsKfSBjYXRjaCAoZSkgewoJaWYgKChlIGluc3RhbmNlb2YgU3ludGF4RXJyb3IpICE9PSB0cnVlKSB7CgkJJEVSUk9SKCcjMS4yOiBuZXcgUmVnRXhwKCJhKysiKSB0aHJvdyBTeW50YXhFcnJvci4gQWN0dWFsOiAnICsgKGUpKTsKCX0KfQoKCg==","commentary":"RegExp syntax errors must be caught when matcher(s) compiles","description":"Tested RegExp is \"a++\"","path":"TestCases/ch15/15.10/15.10.1/S15.10.1_A1_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBSZWdFeHAgc3ludGF4IGVycm9ycyBtdXN0IGJlIGNhdWdodCB3aGVuIG1hdGNoZXIocykgY29tcGlsZXMKICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC4xL1MxNS4xMC4xX0ExX1Q0LmpzCiAqIEBkZXNjcmlwdGlvbiBUZXN0ZWQgUmVnRXhwIGlzICJhKysrIgogKi8KCi8vQ0hFQ0sjMQp0cnkgewoJJEVSUk9SKCcjMS4xOiBuZXcgUmVnRXhwKCJhKysrIikgdGhyb3cgU3ludGF4RXJyb3IuIEFjdHVhbDogJyArIChuZXcgUmVnRXhwKCJhKysrIikpKTsKfSBjYXRjaCAoZSkgewoJaWYgKChlIGluc3RhbmNlb2YgU3ludGF4RXJyb3IpICE9PSB0cnVlKSB7CgkJJEVSUk9SKCcjMS4yOiBuZXcgUmVnRXhwKCJhKysrIikgdGhyb3cgU3ludGF4RXJyb3IuIEFjdHVhbDogJyArIChlKSk7Cgl9Cn0KCgo=","commentary":"RegExp syntax errors must be caught when matcher(s) compiles","description":"Tested RegExp is \"a+++\"","path":"TestCases/ch15/15.10/15.10.1/S15.10.1_A1_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBSZWdFeHAgc3ludGF4IGVycm9ycyBtdXN0IGJlIGNhdWdodCB3aGVuIG1hdGNoZXIocykgY29tcGlsZXMKICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC4xL1MxNS4xMC4xX0ExX1Q1LmpzCiAqIEBkZXNjcmlwdGlvbiBUZXN0ZWQgUmVnRXhwIGlzICJhPz8/IgogKi8KCi8vQ0hFQ0sjMQp0cnkgewoJJEVSUk9SKCcjMS4xOiBuZXcgUmVnRXhwKCJhPz8/IikgdGhyb3cgU3ludGF4RXJyb3IuIEFjdHVhbDogJyArIChuZXcgUmVnRXhwKCJhPz8/IikpKTsKfSBjYXRjaCAoZSkgewoJaWYgKChlIGluc3RhbmNlb2YgU3ludGF4RXJyb3IpICE9PSB0cnVlKSB7CgkJJEVSUk9SKCcjMS4yOiBuZXcgUmVnRXhwKCJhPz8/IikgdGhyb3cgU3ludGF4RXJyb3IuIEFjdHVhbDogJyArIChlKSk7Cgl9Cn0KCgo=","commentary":"RegExp syntax errors must be caught when matcher(s) compiles","description":"Tested RegExp is \"a???\"","path":"TestCases/ch15/15.10/15.10.1/S15.10.1_A1_T5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBSZWdFeHAgc3ludGF4IGVycm9ycyBtdXN0IGJlIGNhdWdodCB3aGVuIG1hdGNoZXIocykgY29tcGlsZXMKICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC4xL1MxNS4xMC4xX0ExX1Q2LmpzCiAqIEBkZXNjcmlwdGlvbiBUZXN0ZWQgUmVnRXhwIGlzICJhPz8/PyIKICovCgovL0NIRUNLIzEKdHJ5IHsKCSRFUlJPUignIzEuMTogbmV3IFJlZ0V4cCgiYT8/Pz8iKSB0aHJvdyBTeW50YXhFcnJvci4gQWN0dWFsOiAnICsgKG5ldyBSZWdFeHAoImE/Pz8/IikpKTsKfSBjYXRjaCAoZSkgewoJaWYgKChlIGluc3RhbmNlb2YgU3ludGF4RXJyb3IpICE9PSB0cnVlKSB7CgkJJEVSUk9SKCcjMS4yOiBuZXcgUmVnRXhwKCJhPz8/PyIpIHRocm93IFN5bnRheEVycm9yLiBBY3R1YWw6ICcgKyAoZSkpOwoJfQp9CgoK","commentary":"RegExp syntax errors must be caught when matcher(s) compiles","description":"Tested RegExp is \"a????\"","path":"TestCases/ch15/15.10/15.10.1/S15.10.1_A1_T6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBSZWdFeHAgc3ludGF4IGVycm9ycyBtdXN0IGJlIGNhdWdodCB3aGVuIG1hdGNoZXIocykgY29tcGlsZXMKICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC4xL1MxNS4xMC4xX0ExX1Q3LmpzCiAqIEBkZXNjcmlwdGlvbiBUZXN0ZWQgUmVnRXhwIGlzICIqYSIKICovCgovL0NIRUNLIzEKdHJ5IHsKCSRFUlJPUignIzEuMTogbmV3IFJlZ0V4cCgiKmEiKSB0aHJvdyBTeW50YXhFcnJvci4gQWN0dWFsOiAnICsgKG5ldyBSZWdFeHAoIiphIikpKTsKfSBjYXRjaCAoZSkgewoJaWYgKChlIGluc3RhbmNlb2YgU3ludGF4RXJyb3IpICE9PSB0cnVlKSB7CgkJJEVSUk9SKCcjMS4yOiBuZXcgUmVnRXhwKCIqYSIpIHRocm93IFN5bnRheEVycm9yLiBBY3R1YWw6ICcgKyAoZSkpOwoJfQp9CgoK","commentary":"RegExp syntax errors must be caught when matcher(s) compiles","description":"Tested RegExp is \"*a\"","path":"TestCases/ch15/15.10/15.10.1/S15.10.1_A1_T7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBSZWdFeHAgc3ludGF4IGVycm9ycyBtdXN0IGJlIGNhdWdodCB3aGVuIG1hdGNoZXIocykgY29tcGlsZXMKICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC4xL1MxNS4xMC4xX0ExX1Q4LmpzCiAqIEBkZXNjcmlwdGlvbiBUZXN0ZWQgUmVnRXhwIGlzICIqKmEiCiAqLwoKLy9DSEVDSyMxCnRyeSB7CgkkRVJST1IoJyMxLjE6IG5ldyBSZWdFeHAoIioqYSIpIHRocm93IFN5bnRheEVycm9yLiBBY3R1YWw6ICcgKyAobmV3IFJlZ0V4cCgiKiphIikpKTsKfSBjYXRjaCAoZSkgewoJaWYgKChlIGluc3RhbmNlb2YgU3ludGF4RXJyb3IpICE9PSB0cnVlKSB7CgkJJEVSUk9SKCcjMS4yOiBuZXcgUmVnRXhwKCIqKmEiKSB0aHJvdyBTeW50YXhFcnJvci4gQWN0dWFsOiAnICsgKGUpKTsKCX0KfQoKCg==","commentary":"RegExp syntax errors must be caught when matcher(s) compiles","description":"Tested RegExp is \"**a\"","path":"TestCases/ch15/15.10/15.10.1/S15.10.1_A1_T8.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBSZWdFeHAgc3ludGF4IGVycm9ycyBtdXN0IGJlIGNhdWdodCB3aGVuIG1hdGNoZXIocykgY29tcGlsZXMKICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC4xL1MxNS4xMC4xX0ExX1Q5LmpzCiAqIEBkZXNjcmlwdGlvbiBUZXN0ZWQgUmVnRXhwIGlzICIrYSIKICovCgovL0NIRUNLIzEKdHJ5IHsKCSRFUlJPUignIzEuMTogbmV3IFJlZ0V4cCgiK2EiKSB0aHJvdyBTeW50YXhFcnJvci4gQWN0dWFsOiAnICsgKG5ldyBSZWdFeHAoIithIikpKTsKfSBjYXRjaCAoZSkgewoJaWYgKChlIGluc3RhbmNlb2YgU3ludGF4RXJyb3IpICE9PSB0cnVlKSB7CgkJJEVSUk9SKCcjMS4yOiBuZXcgUmVnRXhwKCIrYSIpIHRocm93IFN5bnRheEVycm9yLiBBY3R1YWw6ICcgKyAoZSkpOwoJfQp9CgoK","commentary":"RegExp syntax errors must be caught when matcher(s) compiles","description":"Tested RegExp is \"+a\"","path":"TestCases/ch15/15.10/15.10.1/S15.10.1_A1_T9.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC4yLzE1LjEwLjIuMTUtMy0xLmpzDQogKiBAZGVzY3JpcHRpb24gUGF0dGVybiAtIFN5bnRheEVycm9yIHdhcyB0aHJvd24gd2hlbiAnQScgZG9lcyBub3QgY29udGFpbiBleGFjdGx5IG9uZSBjaGFyYWN0ZXIgKDE1LjEwLjIuNSBzdGVwIDMpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIHZhciByZWdFeHAgPSBuZXcgUmVnRXhwKCJeWy93LWNdJCIpOw0KDQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiBlIGluc3RhbmNlb2YgU3ludGF4RXJyb3I7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Pattern - SyntaxError was thrown when 'A' does not contain exactly one character (15.10.2.5 step 3)","path":"TestCases/ch15/15.10/15.10.2/15.10.2.15-3-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC4yLzE1LjEwLjIuMTUtMy0yLmpzDQogKiBAZGVzY3JpcHRpb24gUGF0dGVybiAtIFN5bnRheEVycm9yIHdhcyB0aHJvd24gd2hlbiAnQicgZG9lcyBub3QgY29udGFpbiBleGFjdGx5IG9uZSBjaGFyYWN0ZXIgKDE1LjEwLjIuNSBzdGVwIDMpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIHZhciByZWdFeHAgPSBuZXcgUmVnRXhwKCJeW2EtL3ddJCIpOw0KDQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiBlIGluc3RhbmNlb2YgU3ludGF4RXJyb3I7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Pattern - SyntaxError was thrown when 'B' does not contain exactly one character (15.10.2.5 step 3)","path":"TestCases/ch15/15.10/15.10.2/15.10.2.15-3-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC4yLzE1LjEwLjIuMTUtNi0xLmpzDQogKiBAZGVzY3JpcHRpb24gUGF0dGVybiAtIFN5bnRheEVycm9yIHdhcyB0aHJvd24gd2hlbiBvbmUgY2hhcmFjdGVyIGluIENoYXJTZXQgJ0EnIGdyZWF0ZXIgdGhhbiBvbmUgY2hhcmFjdGVyIGluIENoYXJTZXQgJ0InICgxNS4xMC4yLjE1IENoYXJhY3RlclJhbmdlIHN0ZXAgNikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgdmFyIHJlZ0V4cCA9IG5ldyBSZWdFeHAoIl5bei1hXSQiKTsNCg0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFN5bnRheEVycm9yOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Pattern - SyntaxError was thrown when one character in CharSet 'A' greater than one character in CharSet 'B' (15.10.2.15 CharacterRange step 6)","path":"TestCases/ch15/15.10/15.10.2/15.10.2.15-6-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC4yLzE1LjEwLjIuMi0xLmpzDQogKiBAZGVzY3JpcHRpb24gUGF0dGVybiAtIFN5bnRheEVycm9yIHdhcyB0aHJvd24gd2hlbiBjb21waWxlIGEgcGF0dGVybg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICB2YXIgcmVnRXhwID0gbmV3IFJlZ0V4cCgiXFwiKTsNCg0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFN5bnRheEVycm9yOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Pattern - SyntaxError was thrown when compile a pattern","path":"TestCases/ch15/15.10/15.10.2/15.10.2.2-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC4yLzE1LjEwLjIuNS0zLTEuanMNCiAqIEBkZXNjcmlwdGlvbiBUZXJtIC0gU3ludGF4RXJyb3Igd2FzIHRocm93biB3aGVuIG1heCBpcyBmaW5pdGUgYW5kIGxlc3MgdGhhbiBtaW4gKDE1LjEwLjIuNSBzdGVwIDMpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIHZhciByZWdFeHAgPSBuZXcgUmVnRXhwKCIwezIsMX0iKTsNCg0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFN5bnRheEVycm9yOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Term - SyntaxError was thrown when max is finite and less than min (15.10.2.5 step 3)","path":"TestCases/ch15/15.10/15.10.2/15.10.2.5-3-1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBYTUwgU2hhbGxvdyBQYXJzaW5nIHdpdGggUmVndWxhciBFeHByZXNzaW9ucwogKgogKiBAcGF0aCBjaDE1LzE1LjEwLzE1LjEwLjIvUzE1LjEwLjJfQTFfVDEuanMKICogQGRlc2NyaXB0aW9uIFNlZSBidWcgaHR0cDovL2J1Z3ppbGxhLm1vemlsbGEub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDMwODcKICovCgovLyBSRVgvSmF2YXNjcmlwdCAxLjAgCi8vIFJvYmVydCBELiBDYW1lcm9uICJSRVg6IFhNTCBTaGFsbG93IFBhcnNpbmcgd2l0aCBSZWd1bGFyIEV4cHJlc3Npb25zIiwKLy8gVGVjaG5pY2FsIFJlcG9ydCBUUiAxOTk4LTE3LCBTY2hvb2wgb2YgQ29tcHV0aW5nIFNjaWVuY2UsIFNpbW9uIEZyYXNlciAKLy8gVW5pdmVyc2l0eSwgTm92ZW1iZXIsIDE5OTguCi8vIENvcHlyaWdodCAoYykgMTk5OCwgUm9iZXJ0IEQuIENhbWVyb24uIAovLyBUaGUgZm9sbG93aW5nIGNvZGUgbWF5IGJlIGZyZWVseSB1c2VkIGFuZCBkaXN0cmlidXRlZCBwcm92aWRlZCB0aGF0Ci8vIHRoaXMgY29weXJpZ2h0IGFuZCBjaXRhdGlvbiBub3RpY2UgcmVtYWlucyBpbnRhY3QgYW5kIHRoYXQgbW9kaWZpY2F0aW9ucwovLyBvciBhZGRpdGlvbnMgYXJlIGNsZWFybHkgaWRlbnRpZmllZC4KClRleHRTRSA9ICJbXjxdKyI7ClVudGlsSHlwaGVuID0gIlteLV0qLSI7ClVudGlsMkh5cGhlbnMgPSBVbnRpbEh5cGhlbiArICIoW14tXSIgKyBVbnRpbEh5cGhlbiArICIpKi0iOwpDb21tZW50Q0UgPSBVbnRpbDJIeXBoZW5zICsgIj4/IjsKVW50aWxSU0JzID0gIlteXV0qXShbXl1dK10pKl0rIjsKQ0RBVEFfQ0UgPSBVbnRpbFJTQnMgKyAiKFteXT5dIiArIFVudGlsUlNCcyArICIpKj4iOwpTID0gIlsgXFxuXFx0XFxyXSsiOwpOYW1lU3RydCA9ICJbQS1aYS16XzpdfFteXFx4MDAtXFx4N0ZdIjsKTmFtZUNoYXIgPSAiW0EtWmEtejAtOV86Li1dfFteXFx4MDAtXFx4N0ZdIjsKTmFtZSA9ICIoIiArIE5hbWVTdHJ0ICsgIikoIiArIE5hbWVDaGFyICsgIikqIjsKUXVvdGVTRSA9ICciW14iXScgKyAiKiIgKyAnIicgKyAifCdbXiddKiciOwpEVF9JZGVudFNFID0gUyArIE5hbWUgKyAiKCIgKyBTICsgIigiICsgTmFtZSArICJ8IiArIFF1b3RlU0UgKyAiKSkqIjsKTWFya3VwRGVjbENFID0gIihbXl1cIic+PF0rfCIgKyBRdW90ZVNFICsgIikqPiI7ClMxID0gIltcXG5cXHJcXHQgXSI7ClVudGlsUU1zID0gIlteP10qXFw/KyI7ClBJX1RhaWwgPSAiXFw/PnwiICsgUzEgKyBVbnRpbFFNcyArICIoW14+P10iICsgVW50aWxRTXMgKyAiKSo+IjsKRFRfSXRlbVNFID0gIjwoISgtLSIgKyBVbnRpbDJIeXBoZW5zICsgIj58W14tXSIgKyBNYXJrdXBEZWNsQ0UgKyAiKXxcXD8iICsgTmFtZSArICIoIiArIFBJX1RhaWwgKyAiKSl8JSIgKyBOYW1lICsgIjt8IiArIFM7CkRvY1R5cGVDRSA9IERUX0lkZW50U0UgKyAiKCIgKyBTICsgIik/KFxcWygiICsgRFRfSXRlbVNFICsgIikqXSgiICsgUyArICIpPyk/Pj8iOwpEZWNsQ0UgPSAiLS0oIiArIENvbW1lbnRDRSArICIpP3xcXFtDREFUQVxcWygiICsgQ0RBVEFfQ0UgKyAiKT98RE9DVFlQRSgiICsgRG9jVHlwZUNFICsgIik/IjsKUElfQ0UgPSBOYW1lICsgIigiICsgUElfVGFpbCArICIpPyI7CkVuZFRhZ0NFID0gTmFtZSArICIoIiArIFMgKyAiKT8+PyI7CkF0dFZhbFNFID0gJyJbXjwiXScgKyAiKiIgKyAnIicgKyAifCdbXjwnXSonIjsKRWxlbVRhZ0NFID0gTmFtZSArICIoIiArIFMgKyBOYW1lICsgIigiICsgUyArICIpPz0oIiArIFMgKyAiKT8oIiArIEF0dFZhbFNFICsgIikpKigiICsgUyArICIpPy8/Pj8iOwpNYXJrdXBTUEUgPSAiPCghKCIgKyBEZWNsQ0UgKyAiKT98XFw/KCIgKyBQSV9DRSArICIpP3wvKCIgKyBFbmRUYWdDRSArICIpP3woIiArIEVsZW1UYWdDRSArICIpPykiOwpYTUxfU1BFID0gVGV4dFNFICsgInwiICsgTWFya3VwU1BFOwoKLy8vCi8vLy8KLy8vLy8KCl9fcGF0dGVybnMgPSBbVGV4dFNFLFVudGlsSHlwaGVuLFVudGlsMkh5cGhlbnMsQ29tbWVudENFLFVudGlsUlNCcyxDREFUQV9DRSxTLE5hbWVTdHJ0LCBOYW1lQ2hhciwgCk5hbWUsIFF1b3RlU0UsIERUX0lkZW50U0UsIE1hcmt1cERlY2xDRSwgUzEsVW50aWxRTXMsIFBJX1RhaWwsIERUX0l0ZW1TRSwgRG9jVHlwZUNFLCBEZWNsQ0UsIApQSV9DRSwgRW5kVGFnQ0UsIEF0dFZhbFNFLCBFbGVtVGFnQ0UsIE1hcmt1cFNQRSwgWE1MX1NQRV07CgpfX2h0bWw9IiIrCic8aHRtbCB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94aHRtbCJcbicgKwonICAgICAgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnL1hNTC9YTGluay8wLjkiPlxuJyArCicgIDxoZWFkPjx0aXRsZT5UaHJlZSBOYW1lc3BhY2VzPC90aXRsZT48L2hlYWQ+XG4nICsKJyAgPGJvZHk+XG4nICsKJyAgICA8aDEgYWxpZ249ImNlbnRlciI+QW4gRWxsaXBzZSBhbmQgYSBSZWN0YW5nbGU8L2gxPlxuJyArCicgICAgPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvR3JhcGhpY3MvU1ZHL1NWRy0xOTk5MTIwMy5kdGQiXG4nICsKJyAgICAgICAgIHdpZHRoPSIxMmNtIiBoZWlnaHQ9IjEwY20iPlxuJyArCicgICAgICA8ZWxsaXBzZSByeD0iMTEwIiByeT0iMTMwIiAvPlxuJyArCicgICAgICA8cmVjdCB4PSI0Y20iIHk9IjFjbSIgd2lkdGg9IjNjbSIgaGVpZ2h0PSI2Y20iIC8+XG4nICsKJyAgICA8L3N2Zz5cbicgKwonICAgIDxwIHhsaW5rOnR5cGU9InNpbXBsZSIgeGxpbms6aHJlZj0iZWxsaXBzZXMuaHRtbCI+XG4nICsKJyAgICAgIE1vcmUgYWJvdXQgZWxsaXBzZXNcbicgKwonICAgIDwvcD5cbicgKwonICAgIDxwIHhsaW5rOnR5cGU9InNpbXBsZSIgeGxpbms6aHJlZj0icmVjdGFuZ2xlcy5odG1sIj5cbicgKwonICAgICAgTW9yZSBhYm91dCByZWN0YW5nbGVzXG4nICsKJyAgICA8L3A+XG4nICsKJyAgICA8aHIvPlxuJyArCicgICAgPHA+TGFzdCBNb2RpZmllZCBGZWJydWFyeSAxMywgMjAwMDwvcD5cbicgKwonICA8L2JvZHk+XG4nICsKJzwvaHRtbD4nOwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQp0cnkgewogICAgZm9yKHZhciBpbmRleD0wOyBpbmRleDxfX3BhdHRlcm5zLmxlbmd0aDsgaW5kZXgrKykgewogICAgCV9fcmUgPSBuZXcgUmVnRXhwKF9fcGF0dGVybnNbaW5kZXhdKTsKICAgIAlfX3JlLnRlc3QoX19odG1sKTsKICAgIH0KfSBjYXRjaCAoZSkgewoJJEVSUk9SKCcjJytpbmRleCsiOiBYTUwgU2hhbGxvdyBQYXJzaW5nIHdpdGggUmVndWxhciBFeHByZXNzaW9uOiAiK19fcGF0dGVybnNbaW5kZXhdKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCgo=","commentary":"XML Shallow Parsing with Regular Expressions","description":"See bug http://bugzilla.mozilla.org/show_bug.cgi?id=103087","path":"TestCases/ch15/15.10/15.10.2/S15.10.2_A1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBDaGFyYWN0ZXJFc2NhcGUgOjogdCBldmFsdWF0ZXMgYnkgcmV0dXJuaW5nCiAqIHRoZSBjaGFyYWN0ZXIgXHUwMDA5CiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuMi8xNS4xMC4yLjEwL1MxNS4xMC4yLjEwX0ExLjFfVDEuanMKICogQGRlc2NyaXB0aW9uIFVzZSBcdCBpbiBSZWdFeHAgYW5kIFx1MDAwOSBpbiB0ZXN0ZWQgc3RyaW5nCiAqLwoKLy9DSEVDSyMxCnZhciBhcnIgPSAvXHQvLmV4ZWMoIlx1MDAwOSIpOwppZiAoKGFyciA9PT0gbnVsbCkgfHwgKGFyclswXSAhPT0gIlx1MDAwOSIpKSB7CiAgJEVSUk9SKCcjMTogdmFyIGFyciA9IC9cXHQvLmV4ZWMoIlxcdTAwMDkiKTsgYXJyWzBdID09PSAiXFx1MDAwOSIuIEFjdHVhbC4gJyArIChhcnIgJiYgYXJyWzBdKSk7Cn0KCi8vQ0hFQ0sjMgp2YXIgYXJyID0gL1x0XHQvLmV4ZWMoImFcdTAwMDlcdTAwMDliIik7CmlmICgoYXJyID09PSBudWxsKSB8fCAoYXJyWzBdICE9PSAiXHUwMDA5XHUwMDA5IikpIHsKICAkRVJST1IoJyMyOiB2YXIgYXJyID0gL1xcdFxcdC8uZXhlYygiYVxcdTAwMDlcXHUwMDA5YiIpOyBhcnJbMF0gPT09ICJcXHUwMDA5XFx1MDAwOSIuIEFjdHVhbC4gJyArIChhcnIgJiYgYXJyWzBdKSk7Cn0gICAgCgo=","commentary":"The production CharacterEscape :: t evaluates by returning\nthe character \\u0009","description":"Use \\t in RegExp and \\u0009 in tested string","path":"TestCases/ch15/15.10/15.10.2/15.10.2.10/S15.10.2.10_A1.1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBDaGFyYWN0ZXJFc2NhcGUgOjogbiBldmFsdWF0ZXMgYnkgcmV0dXJuaW5nCiAqIHRoZSBjaGFyYWN0ZXIgXHUwMDBBCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuMi8xNS4xMC4yLjEwL1MxNS4xMC4yLjEwX0ExLjJfVDEuanMKICogQGRlc2NyaXB0aW9uIFVzZSBcbiBpbiBSZWdFeHAgYW5kIFx1MDAwQSBpbiB0ZXN0ZWQgc3RyaW5nCiAqLwoKLy9DSEVDSyMxCnZhciBhcnIgPSAvXG4vLmV4ZWMoIlx1MDAwQSIpOwppZiAoKGFyciA9PT0gbnVsbCkgfHwgKGFyclswXSAhPT0gIlx1MDAwQSIpKSB7CiAgJEVSUk9SKCcjMTogdmFyIGFyciA9IC9cXG4vLmV4ZWMoIlxcdTAwMEEiKTsgYXJyWzBdID09PSAiXFx1MDAwQSIuIEFjdHVhbC4gJyArIChhcnIgJiYgYXJyWzBdKSk7Cn0KCi8vQ0hFQ0sjMgp2YXIgYXJyID0gL1xuXG4vLmV4ZWMoImFcdTAwMEFcdTAwMEFiIik7CmlmICgoYXJyID09PSBudWxsKSB8fCAoYXJyWzBdICE9PSAiXHUwMDBBXHUwMDBBIikpIHsKICAkRVJST1IoJyMyOiB2YXIgYXJyID0gL1xcblxcbi8uZXhlYygiYVxcdTAwMEFcXHUwMDBBYiIpOyBhcnJbMF0gPT09ICJcXHUwMDBBXFx1MDAwQSIuIEFjdHVhbC4gJyArIChhcnIgJiYgYXJyWzBdKSk7Cn0gICAgCgo=","commentary":"The production CharacterEscape :: n evaluates by returning\nthe character \\u000A","description":"Use \\n in RegExp and \\u000A in tested string","path":"TestCases/ch15/15.10/15.10.2/15.10.2.10/S15.10.2.10_A1.2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBDaGFyYWN0ZXJFc2NhcGUgOjogdiBldmFsdWF0ZXMgYnkgcmV0dXJuaW5nCiAqIHRoZSBjaGFyYWN0ZXIgXHUwMDBCCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuMi8xNS4xMC4yLjEwL1MxNS4xMC4yLjEwX0ExLjNfVDEuanMKICogQGRlc2NyaXB0aW9uIFVzZSBcdiBpbiBSZWdFeHAgYW5kIFx1MDAwQiBpbiB0ZXN0ZWQgc3RyaW5nCiAqLwoKLy9DSEVDSyMxCnZhciBhcnIgPSAvXHYvLmV4ZWMoIlx1MDAwQiIpOwppZiAoKGFyciA9PT0gbnVsbCkgfHwgKGFyclswXSAhPT0gIlx1MDAwQiIpKSB7CiAgJEVSUk9SKCcjMTogdmFyIGFyciA9IC9cXHYvLmV4ZWMoIlxcdTAwMEIiKTsgYXJyWzBdID09PSAiXFx1MDAwQiIuIEFjdHVhbC4gJyArIChhcnIgJiYgYXJyWzBdKSk7Cn0KCi8vQ0hFQ0sjMgp2YXIgYXJyID0gL1x2XHYvLmV4ZWMoImFcdTAwMEJcdTAwMEJiIik7CmlmICgoYXJyID09PSBudWxsKSB8fCAoYXJyWzBdICE9PSAiXHUwMDBCXHUwMDBCIikpIHsKICAkRVJST1IoJyMyOiB2YXIgYXJyID0gL1xcdlxcdi8uZXhlYygiYVxcdTAwMEJcXHUwMDBCYiIpOyBhcnJbMF0gPT09ICJcXHUwMDBCXFx1MDAwQiIuIEFjdHVhbC4gJyArIChhcnIgJiYgYXJyWzBdKSk7Cn0gICAgCgo=","commentary":"The production CharacterEscape :: v evaluates by returning\nthe character \\u000B","description":"Use \\v in RegExp and \\u000B in tested string","path":"TestCases/ch15/15.10/15.10.2/15.10.2.10/S15.10.2.10_A1.3_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBDaGFyYWN0ZXJFc2NhcGUgOjogZiBldmFsdWF0ZXMgYnkgcmV0dXJuaW5nCiAqIHRoZSBjaGFyYWN0ZXIgXHUwMDBDCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuMi8xNS4xMC4yLjEwL1MxNS4xMC4yLjEwX0ExLjRfVDEuanMKICogQGRlc2NyaXB0aW9uIFVzZSBcZiBpbiBSZWdFeHAgYW5kIFx1MDAwQyBpbiB0ZXN0ZWQgc3RyaW5nCiAqLwoKLy9DSEVDSyMxCnZhciBhcnIgPSAvXGYvLmV4ZWMoIlx1MDAwQyIpOwppZiAoKGFyciA9PT0gbnVsbCkgfHwgKGFyclswXSAhPT0gIlx1MDAwQyIpKSB7CiAgJEVSUk9SKCcjMTogdmFyIGFyciA9IC9cXGYvLmV4ZWMoIlxcdTAwMEMiKTsgYXJyWzBdID09PSAiXFx1MDAwQyIuIEFjdHVhbC4gJyArIChhcnIgJiYgYXJyWzBdKSk7Cn0KCi8vQ0hFQ0sjMgp2YXIgYXJyID0gL1xmXGYvLmV4ZWMoImFcdTAwMENcdTAwMENiIik7CmlmICgoYXJyID09PSBudWxsKSB8fCAoYXJyWzBdICE9PSAiXHUwMDBDXHUwMDBDIikpIHsKICAkRVJST1IoJyMyOiB2YXIgYXJyID0gL1xcZlxcZi8uZXhlYygiYVxcdTAwMENcXHUwMDBDYiIpOyBhcnJbMF0gPT09ICJcXHUwMDBDXFx1MDAwQyIuIEFjdHVhbC4gJyArIChhcnIgJiYgYXJyWzBdKSk7Cn0gICAgCgo=","commentary":"The production CharacterEscape :: f evaluates by returning\nthe character \\u000C","description":"Use \\f in RegExp and \\u000C in tested string","path":"TestCases/ch15/15.10/15.10.2/15.10.2.10/S15.10.2.10_A1.4_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBDaGFyYWN0ZXJFc2NhcGUgOjogciBldmFsdWF0ZXMgYnkgcmV0dXJuaW5nCiAqIHRoZSBjaGFyYWN0ZXIgXHUwMDBECiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuMi8xNS4xMC4yLjEwL1MxNS4xMC4yLjEwX0ExLjVfVDEuanMKICogQGRlc2NyaXB0aW9uIFVzZSBcciBpbiBSZWdFeHAgYW5kIFx1MDAwRCBpbiB0ZXN0ZWQgc3RyaW5nCiAqLwoKLy9DSEVDSyMxCnZhciBhcnIgPSAvXHIvLmV4ZWMoIlx1MDAwRCIpOwppZiAoKGFyciA9PT0gbnVsbCkgfHwgKGFyclswXSAhPT0gIlx1MDAwRCIpKSB7CiAgJEVSUk9SKCcjMTogdmFyIGFyciA9IC9cXHIvLmV4ZWMoIlxcdTAwMEQiKTsgYXJyWzBdID09PSAiXFx1MDAwRCIuIEFjdHVhbC4gJyArIChhcnIgJiYgYXJyWzBdKSk7Cn0KCi8vQ0hFQ0sjMgp2YXIgYXJyID0gL1xyXHIvLmV4ZWMoImFcdTAwMERcdTAwMERiIik7CmlmICgoYXJyID09PSBudWxsKSB8fCAoYXJyWzBdICE9PSAiXHUwMDBEXHUwMDBEIikpIHsKICAkRVJST1IoJyMyOiB2YXIgYXJyID0gL1xcclxcci8uZXhlYygiYVxcdTAwMERcXHUwMDBEYiIpOyBhcnJbMF0gPT09ICJcXHUwMDBEXFx1MDAwRCIuIEFjdHVhbC4gJyArIChhcnIgJiYgYXJyWzBdKSk7Cn0gICAgCgo=","commentary":"The production CharacterEscape :: r evaluates by returning\nthe character \\u000D","description":"Use \\r in RegExp and \\u000D in tested string","path":"TestCases/ch15/15.10/15.10.2/15.10.2.10/S15.10.2.10_A1.5_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBDaGFyYWN0ZXJFc2NhcGUgOjogYyBDb250cm9sTGV0dGVyCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuMi8xNS4xMC4yLjEwL1MxNS4xMC4yLjEwX0EyLjFfVDEuanMKICogQGRlc2NyaXB0aW9uIENvbnRyb2xMZXR0ZXIgOjogQSAtIFoKICovCgovL0NIRUNLIzAwNDEtMDA1QQp2YXIgcmVzdWx0ID0gdHJ1ZTsgCmZvciAoYWxwaGEgPSAweDAwNDE7IGFscGhhIDw9IDB4MDA1QTsgYWxwaGErKykgewogIHN0ciA9IFN0cmluZy5mcm9tQ2hhckNvZGUoYWxwaGEgJSAzMik7CiAgYXJyID0gKG5ldyBSZWdFeHAoIlxcYyIgKyBTdHJpbmcuZnJvbUNoYXJDb2RlKGFscGhhKSkpLmV4ZWMoc3RyKTsgIAogIGlmICgoYXJyID09PSBudWxsKSB8fCAoYXJyWzBdICE9PSBzdHIpKSB7CiAgICByZXN1bHQgPSBmYWxzZTsKICB9Cn0KCmlmIChyZXN1bHQgIT09IHRydWUpIHsKICAkRVJST1IoJyMxOiBDaGFyYWN0ZXJFc2NhcGUgOjogYyBBIC0gWicpOwp9ICAgIAoK","commentary":"CharacterEscape :: c ControlLetter","description":"ControlLetter :: A - Z","path":"TestCases/ch15/15.10/15.10.2/15.10.2.10/S15.10.2.10_A2.1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBDaGFyYWN0ZXJFc2NhcGUgOjogYyBDb250cm9sTGV0dGVyCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuMi8xNS4xMC4yLjEwL1MxNS4xMC4yLjEwX0EyLjFfVDIuanMKICogQGRlc2NyaXB0aW9uIENvbnRyb2xMZXR0ZXIgOjogYSAtIHoKICovCgovL0NIRUNLIzAwNjEtMDA3QQp2YXIgcmVzdWx0ID0gdHJ1ZTsgCmZvciAoYWxwaGEgPSAweDAwNjE7IGFscGhhIDw9IDB4MDA3QTsgYWxwaGErKykgewogIHN0ciA9IFN0cmluZy5mcm9tQ2hhckNvZGUoYWxwaGEgJSAzMik7CiAgYXJyID0gKG5ldyBSZWdFeHAoIlxcYyIgKyBTdHJpbmcuZnJvbUNoYXJDb2RlKGFscGhhKSkpLmV4ZWMoc3RyKTsgIAogIGlmICgoYXJyID09PSBudWxsKSB8fCAoYXJyWzBdICE9PSBzdHIpKSB7CiAgICByZXN1bHQgPSBmYWxzZTsKICB9Cn0KCmlmIChyZXN1bHQgIT09IHRydWUpIHsKICAkRVJST1IoJyMxOiBDaGFyYWN0ZXJFc2NhcGUgOjogYyBhIC0geicpOwp9ICAgIAoK","commentary":"CharacterEscape :: c ControlLetter","description":"ControlLetter :: a - z","path":"TestCases/ch15/15.10/15.10.2/15.10.2.10/S15.10.2.10_A2.1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBDaGFyYWN0ZXJFc2NhcGUgOjogYyBDb250cm9sTGV0dGVyCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuMi8xNS4xMC4yLjEwL1MxNS4xMC4yLjEwX0EyLjFfVDMuanMKICogQGRlc2NyaXB0aW9uIENvbnRyb2xMZXR0ZXIgOjogUlVTU0lBTiBBTFBIQUJFVCBpcyBpbmNvcnJlY3QKICovCgovL0NIRUNLIzA0MTAtMDQyRgp2YXIgcmVzdWx0ID0gdHJ1ZTsgIApmb3IgKGFscGhhID0gMHgwNDEwOyBhbHBoYSA8PSAweDA0MkY7IGFscGhhKyspIHsKICBzdHIgPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGFscGhhICUgMzIpOwogIGFyciA9IChuZXcgUmVnRXhwKCJcXGMiICsgU3RyaW5nLmZyb21DaGFyQ29kZShhbHBoYSkpKS5leGVjKHN0cik7ICAKICBpZiAoYXJyICE9PSBudWxsKSB7CiAgICByZXN1bHQgPSBmYWxzZTsKICB9Cn0KCmlmIChyZXN1bHQgIT09IHRydWUpIHsKICAkRVJST1IoJyMxOiBSVVNTSUFOIENBUElUQUwgQUxQSEFCRVQgaXMgaW5jb3JyZWN0Jyk7Cn0KCi8vQ0hFQ0sjMDQzMC0wNDRGCnZhciByZXN1bHQgPSB0cnVlOyAKZm9yIChhbHBoYSA9IDB4MDQzMDsgYWxwaGEgPD0gMHgwNDRGOyBhbHBoYSsrKSB7CiAgc3RyID0gU3RyaW5nLmZyb21DaGFyQ29kZShhbHBoYSAlIDMyKTsKICBhcnIgPSAobmV3IFJlZ0V4cCgiXFxjIiArIFN0cmluZy5mcm9tQ2hhckNvZGUoYWxwaGEpKSkuZXhlYyhzdHIpOyAgCiAgaWYgKGFyciAhPT0gbnVsbCkgewogICAgcmVzdWx0ID0gZmFsc2U7CiAgfQp9CgppZiAocmVzdWx0ICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMjogcnVzc2lhbiBzbWFsbCBhbHBoYWJldCBpcyBpbmNvcnJlY3QnKTsKfSAgCgo=","commentary":"CharacterEscape :: c ControlLetter","description":"ControlLetter :: RUSSIAN ALPHABET is incorrect","path":"TestCases/ch15/15.10/15.10.2/15.10.2.10/S15.10.2.10_A2.1_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBDaGFyYWN0ZXJFc2NhcGUgOjogSGV4RXNjYXBlU2VxdWVuY2UgOjogeCBIZXhEaWdpdCBIZXhEaWdpdAogKgogKiBAcGF0aCBjaDE1LzE1LjEwLzE1LjEwLjIvMTUuMTAuMi4xMC9TMTUuMTAuMi4xMF9BMy4xX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBUZXN0ZWQgc3RyaW5nIGluY2x1ZGUgZXF1YWwgdW5pY29kZSBzeW1ib2xzCiAqLwoKLy9DSEVDSyMwCnZhciBhcnIgPSAvXHgwMC8uZXhlYygiXHUwMDAwIik7IAppZiAoKGFyciA9PT0gbnVsbCkgfHwgKGFyclswXSAhPT0gIlx1MDAwMCIpKSB7CiAgJEVSUk9SKCcjMDogdmFyIGFyciA9IC9cXHgwMC8uZXhlYyhcXHUwMDAwKTsgYXJyWzBdID09PSAiXFx1MDAwMCIuIEFjdHVhbC4gJyArIChhcnIgJiYgYXJyWzBdKSk7Cn0KCi8vQ0hFQ0sjMQp2YXIgYXJyID0gL1x4MDEvLmV4ZWMoIlx1MDAwMSIpOyAKaWYgKChhcnIgPT09IG51bGwpIHx8IChhcnJbMF0gIT09ICJcdTAwMDEiKSkgewogICRFUlJPUignIzE6IHZhciBhcnIgPSAvXFx4MDEvLmV4ZWMoXFx1MDAwMSk7IGFyclswXSA9PT0gIlxcdTAwMDEiLiBBY3R1YWwuICcgKyAoYXJyICYmIGFyclswXSkpOwp9CgovL0NIRUNLIzIKdmFyIGFyciA9IC9ceDBBLy5leGVjKCJcdTAwMEEiKTsgCmlmICgoYXJyID09PSBudWxsKSB8fCAoYXJyWzBdICE9PSAiXHUwMDBBIikpIHsKICAkRVJST1IoJyMyOiB2YXIgYXJyID0gL1xceDBBLy5leGVjKFxcdTAwMEEpOyBhcnJbMF0gPT09ICJcXHUwMDBBIi4gQWN0dWFsLiAnICsgKGFyciAmJiBhcnJbMF0pKTsKfQoKLy9DSEVDSyMzCnZhciBhcnIgPSAvXHhGRi8uZXhlYygiXHUwMEZGIik7IAppZiAoKGFyciA9PT0gbnVsbCkgfHwgKGFyclswXSAhPT0gIlx1MDBGRiIpKSB7CiAgJEVSUk9SKCcjMzogdmFyIGFyciA9IC9cXHhGRi8uZXhlYyhcXHUwMEZGKTsgYXJyWzBdID09PSAiXFx1MDBGRiIuIEFjdHVhbC4gJyArIChhcnIgJiYgYXJyWzBdKSk7Cn0KCg==","commentary":"CharacterEscape :: HexEscapeSequence :: x HexDigit HexDigit","description":"Tested string include equal unicode symbols","path":"TestCases/ch15/15.10/15.10.2/15.10.2.10/S15.10.2.10_A3.1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBDaGFyYWN0ZXJFc2NhcGUgOjogSGV4RXNjYXBlU2VxdWVuY2UgOjogeCBIZXhEaWdpdCBIZXhEaWdpdAogKgogKiBAcGF0aCBjaDE1LzE1LjEwLzE1LjEwLjIvMTUuMTAuMi4xMC9TMTUuMTAuMi4xMF9BMy4xX1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBFTkdMSVNIIENBUElUQUwgQUxQSEFCRVQgYW5kIGVuZ2xpc2ggc21hbGwgYWxwaGFiZXQKICovCgovL0NIRUNLIzQxLTVBCmhleCA9IFsiXFx4NDEiLCAiXFx4NDIiLCAiXFx4NDMiLCAiXFx4NDQiLCAiXFx4NDUiLCAiXFx4NDYiLCAiXFx4NDciLCAiXFx4NDgiLCAiXFx4NDkiLCAiXFx4NEEiLCAiXFx4NEIiLCAiXFx4NEMiLCAiXFx4NEQiLCAiXFx4NEUiLCAiXFx4NEYiLCAiXFx4NTAiLCAiXFx4NTEiLCAiXFx4NTIiLCAiXFx4NTMiLCAiXFx4NTQiLCAiXFx4NTUiLCAiXFx4NTYiLCAiXFx4NTciLCAiXFx4NTgiLCAiXFx4NTkiLCAiXFx4NUEiXTsKY2hhcmFjdGVyID0gWyJBIiwgIkIiLCAiQyIsICJEIiwgIkUiLCAiRiIsICJHIiwgIkgiLCAiSSIsICJKIiwgIksiLCAiTCIsICJNIiwgIk4iLCAiTyIsICJQIiwgIlEiLCAiUiIsICJTIiwgIlQiLCAiVSIsICJWIiwgIlciLCAiWCIsICJZIiwgIloiXTsKdmFyIHJlc3VsdCA9IHRydWU7CmZvciAoaW5kZXggPSAwOyBpbmRleCA8IGhleC5sZW5ndGg7IGluZGV4KyspIHsKICBhcnIgPSAobmV3IFJlZ0V4cChoZXhbaW5kZXhdKSkuZXhlYyhjaGFyYWN0ZXJbaW5kZXhdKTsgCiAgaWYgKChhcnIgPT09IG51bGwpIHx8IChhcnJbMF0gIT09IGNoYXJhY3RlcltpbmRleF0pKSB7CiAgICByZXN1bHQgPSBmYWxzZTsKICB9Cn0KCmlmIChyZXN1bHQgIT09IHRydWUpIHsKICAkRVJST1IoJyMxOiBFTkdMSVNIIENBUElUQUwgQUxQSEFCRVQnKTsKfSAgCgovL0NIRUNLIzYxLTdBCmhleCA9IFsiXFx4NjEiLCAiXFx4NjIiLCAiXFx4NjMiLCAiXFx4NjQiLCAiXFx4NjUiLCAiXFx4NjYiLCAiXFx4NjciLCAiXFx4NjgiLCAiXFx4NjkiLCAiXFx4NkEiLCAiXFx4NkIiLCAiXFx4NkMiLCAiXFx4NkQiLCAiXFx4NkUiLCAiXFx4NkYiLCAiXFx4NzAiLCAiXFx4NzEiLCAiXFx4NzIiLCAiXFx4NzMiLCAiXFx4NzQiLCAiXFx4NzUiLCAiXFx4NzYiLCAiXFx4NzciLCAiXFx4NzgiLCAiXFx4NzkiLCAiXFx4N0EiXTsKY2hhcmFjdGVyID0gWyJhIiwgImIiLCAiYyIsICJkIiwgImUiLCAiZiIsICJnIiwgImgiLCAiaSIsICJqIiwgImsiLCAibCIsICJtIiwgIm4iLCAibyIsICJwIiwgInEiLCAiciIsICJzIiwgInQiLCAidSIsICJ2IiwgInciLCAieCIsICJ5IiwgInoiXTsKdmFyIHJlc3VsdCA9IHRydWU7CmZvciAoaW5kZXggPSAwOyBpbmRleCA8IGhleC5sZW5ndGg7IGluZGV4KyspIHsKICBhcnIgPSAobmV3IFJlZ0V4cChoZXhbaW5kZXhdKSkuZXhlYyhjaGFyYWN0ZXJbaW5kZXhdKTsgCiAgaWYgKChhcnIgPT09IG51bGwpIHx8IChhcnJbMF0gIT09IGNoYXJhY3RlcltpbmRleF0pKSB7CiAgICByZXN1bHQgPSBmYWxzZTsKICB9Cn0KCmlmIChyZXN1bHQgIT09IHRydWUpIHsKICAkRVJST1IoJyMxOiBlbmdsaXNoIHNtYWxsIGFscGhhYmV0Jyk7Cn0gCgo=","commentary":"CharacterEscape :: HexEscapeSequence :: x HexDigit HexDigit","description":"Checking ENGLISH CAPITAL ALPHABET and english small alphabet","path":"TestCases/ch15/15.10/15.10.2/15.10.2.10/S15.10.2.10_A3.1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBDaGFyYWN0ZXJFc2NhcGUgOjogVW5pY29kZUVzY2FwZVNlcXVlbmNlIDo6IHUgSGV4RGlnaXQgSGV4RGlnaXQgSGV4RGlnaXQgSGV4RGlnaXQKICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC4yLzE1LjEwLjIuMTAvUzE1LjEwLjIuMTBfQTQuMV9UMS5qcwogKiBAZGVzY3JpcHRpb24gUmVnRXhwIGFuZCB0ZXN0ZWQgc3RyaW5nIGluY2x1ZGUgdW5jb2RlIHN5bWJvbHMKICovCgovL0NIRUNLIzAKdmFyIGFyciA9IC9cdTAwMDAvLmV4ZWMoIlx1MDAwMCIpOyAKaWYgKChhcnIgPT09IG51bGwpIHx8IChhcnJbMF0gIT09ICJcdTAwMDAiKSkgewogICRFUlJPUignIzA6IHZhciBhcnIgPSAvXFx1MDAwMC8uZXhlYyhcXHUwMDAwKTsgYXJyWzBdID09PSAiXFx1MDAwMCIuIEFjdHVhbC4gJyArIChhcnIgJiYgYXJyWzBdKSk7Cn0KCi8vQ0hFQ0sjMQp2YXIgYXJyID0gL1x1MDAwMS8uZXhlYygiXHUwMDAxIik7IAppZiAoKGFyciA9PT0gbnVsbCkgfHwgKGFyclswXSAhPT0gIlx1MDAwMSIpKSB7CiAgJEVSUk9SKCcjMTogdmFyIGFyciA9IC9cXHUwMDAxLy5leGVjKFxcdTAwMDEpOyBhcnJbMF0gPT09ICJcXHUwMDAxIi4gQWN0dWFsLiAnICsgKGFyciAmJiBhcnJbMF0pKTsKfQoKLy9DSEVDSyMyCnZhciBhcnIgPSAvXHUwMDBBLy5leGVjKCJcdTAwMEEiKTsgCmlmICgoYXJyID09PSBudWxsKSB8fCAoYXJyWzBdICE9PSAiXHUwMDBBIikpIHsKICAkRVJST1IoJyMyOiB2YXIgYXJyID0gL1xcdTAwMEEvLmV4ZWMoXFx1MDAwQSk7IGFyclswXSA9PT0gIlxcdTAwMEEiLiBBY3R1YWwuICcgKyAoYXJyICYmIGFyclswXSkpOwp9CgovL0NIRUNLIzMKdmFyIGFyciA9IC9cdTAwRkYvLmV4ZWMoIlx1MDBGRiIpOyAKaWYgKChhcnIgPT09IG51bGwpIHx8IChhcnJbMF0gIT09ICJcdTAwRkYiKSkgewogICRFUlJPUignIzM6IHZhciBhcnIgPSAvXFx1MDBGRi8uZXhlYyhcXHUwMEZGKTsgYXJyWzBdID09PSAiXFx1MDBGRiIuIEFjdHVhbC4gJyArIChhcnIgJiYgYXJyWzBdKSk7Cn0KCi8vQ0hFQ0sjNAp2YXIgYXJyID0gL1x1MEZGRi8uZXhlYygiXHUwRkZGIik7IAppZiAoKGFyciA9PT0gbnVsbCkgfHwgKGFyclswXSAhPT0gIlx1MEZGRiIpKSB7CiAgJEVSUk9SKCcjNDogdmFyIGFyciA9IC9cXHUwRkZGLy5leGVjKFxcdTBGRkYpOyBhcnJbMF0gPT09ICJcXHUwRkZGIi4gQWN0dWFsLiAnICsgKGFyciAmJiBhcnJbMF0pKTsKfQoKLy9DSEVDSyM1CnZhciBhcnIgPSAvXHVGRkZGLy5leGVjKCJcdUZGRkYiKTsgCmlmICgoYXJyID09PSBudWxsKSB8fCAoYXJyWzBdICE9PSAiXHVGRkZGIikpIHsKICAkRVJST1IoJyM1OiB2YXIgYXJyID0gL1xcdUZGRkYvLmV4ZWMoXFx1RkZGRik7IGFyclswXSA9PT0gIlxcdUZGRkYiLiBBY3R1YWwuICcgKyAoYXJyICYmIGFyclswXSkpOwp9Cgo=","commentary":"CharacterEscape :: UnicodeEscapeSequence :: u HexDigit HexDigit HexDigit HexDigit","description":"RegExp and tested string include uncode symbols","path":"TestCases/ch15/15.10/15.10.2/15.10.2.10/S15.10.2.10_A4.1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBDaGFyYWN0ZXJFc2NhcGUgOjogVW5pY29kZUVzY2FwZVNlcXVlbmNlIDo6IHUgSGV4RGlnaXQgSGV4RGlnaXQgSGV4RGlnaXQgSGV4RGlnaXQKICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC4yLzE1LjEwLjIuMTAvUzE1LjEwLjIuMTBfQTQuMV9UMi5qcwogKiBAZGVzY3JpcHRpb24gVGVzdGVkIHN0cmluZyBpbmNsdWRlIEVOR0xJU0ggQ0FQSVRBTCBBTFBIQUJFVCBhbmQgZW5nbGlzaCBzbWFsbCBhbHBoYWJldAogKi8KCi8vQ0hFQ0sjNDEtNUEKaGV4ID0gWyJcXHUwMDQxIiwgIlxcdTAwNDIiLCAiXFx1MDA0MyIsICJcXHUwMDQ0IiwgIlxcdTAwNDUiLCAiXFx1MDA0NiIsICJcXHUwMDQ3IiwgIlxcdTAwNDgiLCAiXFx1MDA0OSIsICJcXHUwMDRBIiwgIlxcdTAwNEIiLCAiXFx1MDA0QyIsICJcXHUwMDREIiwgIlxcdTAwNEUiLCAiXFx1MDA0RiIsICJcXHUwMDUwIiwgIlxcdTAwNTEiLCAiXFx1MDA1MiIsICJcXHUwMDUzIiwgIlxcdTAwNTQiLCAiXFx1MDA1NSIsICJcXHUwMDU2IiwgIlxcdTAwNTciLCAiXFx1MDA1OCIsICJcXHUwMDU5IiwgIlxcdTAwNUEiXTsKY2hhcmFjdGVyID0gWyJBIiwgIkIiLCAiQyIsICJEIiwgIkUiLCAiRiIsICJHIiwgIkgiLCAiSSIsICJKIiwgIksiLCAiTCIsICJNIiwgIk4iLCAiTyIsICJQIiwgIlEiLCAiUiIsICJTIiwgIlQiLCAiVSIsICJWIiwgIlciLCAiWCIsICJZIiwgIloiXTsKdmFyIHJlc3VsdCA9IHRydWU7CmZvciAoaW5kZXggPSAwOyBpbmRleCA8IGhleC5sZW5ndGg7IGluZGV4KyspIHsKICBhcnIgPSAobmV3IFJlZ0V4cChoZXhbaW5kZXhdKSkuZXhlYyhjaGFyYWN0ZXJbaW5kZXhdKTsgCiAgaWYgKChhcnIgPT09IG51bGwpIHx8IChhcnJbMF0gIT09IGNoYXJhY3RlcltpbmRleF0pKSB7CiAgICByZXN1bHQgPSBmYWxzZTsKICB9Cn0KCmlmIChyZXN1bHQgIT09IHRydWUpIHsKICAkRVJST1IoJyMxOiBFTkdMSVNIIENBUElUQUwgQUxQSEFCRVQnKTsKfSAgCgovL0NIRUNLIzYxLTdBCmhleCA9IFsiXFx1MDA2MSIsICJcXHUwMDYyIiwgIlxcdTAwNjMiLCAiXFx1MDA2NCIsICJcXHUwMDY1IiwgIlxcdTAwNjYiLCAiXFx1MDA2NyIsICJcXHUwMDY4IiwgIlxcdTAwNjkiLCAiXFx1MDA2QSIsICJcXHUwMDZCIiwgIlxcdTAwNkMiLCAiXFx1MDA2RCIsICJcXHUwMDZFIiwgIlxcdTAwNkYiLCAiXFx1MDA3MCIsICJcXHUwMDcxIiwgIlxcdTAwNzIiLCAiXFx1MDA3MyIsICJcXHUwMDc0IiwgIlxcdTAwNzUiLCAiXFx1MDA3NiIsICJcXHUwMDc3IiwgIlxcdTAwNzgiLCAiXFx1MDA3OSIsICJcXHUwMDdBIl07CmNoYXJhY3RlciA9IFsiYSIsICJiIiwgImMiLCAiZCIsICJlIiwgImYiLCAiZyIsICJoIiwgImkiLCAiaiIsICJrIiwgImwiLCAibSIsICJuIiwgIm8iLCAicCIsICJxIiwgInIiLCAicyIsICJ0IiwgInUiLCAidiIsICJ3IiwgIngiLCAieSIsICJ6Il07CnZhciByZXN1bHQgPSB0cnVlOwpmb3IgKGluZGV4ID0gMDsgaW5kZXggPCBoZXgubGVuZ3RoOyBpbmRleCsrKSB7CiAgYXJyID0gKG5ldyBSZWdFeHAoaGV4W2luZGV4XSkpLmV4ZWMoY2hhcmFjdGVyW2luZGV4XSk7IAogIGlmICgoYXJyID09PSBudWxsKSB8fCAoYXJyWzBdICE9PSBjaGFyYWN0ZXJbaW5kZXhdKSkgewogICAgcmVzdWx0ID0gZmFsc2U7CiAgfQp9CgppZiAocmVzdWx0ICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMTogZW5nbGlzaCBzbWFsbCBhbHBoYWJldCcpOwp9IAoK","commentary":"CharacterEscape :: UnicodeEscapeSequence :: u HexDigit HexDigit HexDigit HexDigit","description":"Tested string include ENGLISH CAPITAL ALPHABET and english small alphabet","path":"TestCases/ch15/15.10/15.10.2/15.10.2.10/S15.10.2.10_A4.1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBDaGFyYWN0ZXJFc2NhcGUgOjogVW5pY29kZUVzY2FwZVNlcXVlbmNlIDo6IHUgSGV4RGlnaXQgSGV4RGlnaXQgSGV4RGlnaXQgSGV4RGlnaXQKICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC4yLzE1LjEwLjIuMTAvUzE1LjEwLjIuMTBfQTQuMV9UMy5qcwogKiBAZGVzY3JpcHRpb24gVGVzdGVkIHN0cmluZyBpbmNsdWRlIFJVU1NJQU4gQ0FQSVRBTCBBTFBIQUJFVCBhbmQgcnVzc2lhbiBzbWFsbCBhbHBoYWJldCBpbiB1bmljb2RlIG5vdGF0aW9uCiAqLwoKLy9DSEVDSyMwNDEwLTA0MkYsIDA0MDEgCmhleCA9IFsiXFx1MDQxMCIsICJcXHUwNDExIiwgIlxcdTA0MTIiLCAiXFx1MDQxMyIsICJcXHUwNDE0IiwgIlxcdTA0MTUiLCAiXFx1MDQxNiIsICJcXHUwNDE3IiwgIlxcdTA0MTgiLCAiXFx1MDQxOSIsICJcXHUwNDFBIiwgIlxcdTA0MUIiLCAiXFx1MDQxQyIsICJcXHUwNDFEIiwgIlxcdTA0MUUiLCAiXFx1MDQxRiIsICJcXHUwNDIwIiwgIlxcdTA0MjEiLCAiXFx1MDQyMiIsICJcXHUwNDIzIiwgIlxcdTA0MjQiLCAiXFx1MDQyNSIsICJcXHUwNDI2IiwgIlxcdTA0MjciLCAiXFx1MDQyOCIsICJcXHUwNDI5IiwgIlxcdTA0MkEiLCAiXFx1MDQyQiIsICJcXHUwNDJDIiwgIlxcdTA0MkQiLCAiXFx1MDQyRSIsICJcXHUwNDJGIiwgIlxcdTA0MDEiXTsKY2hhcmFjdGVyID0gWyJcdTA0MTAiLCAiXHUwNDExIiwgIlx1MDQxMiIsICJcdTA0MTMiLCAiXHUwNDE0IiwgIlx1MDQxNSIsICJcdTA0MTYiLCAiXHUwNDE3IiwgIlx1MDQxOCIsICJcdTA0MTkiLCAiXHUwNDFBIiwgIlx1MDQxQiIsICJcdTA0MUMiLCAiXHUwNDFEIiwgIlx1MDQxRSIsICJcdTA0MUYiLCAiXHUwNDIwIiwgIlx1MDQyMSIsICJcdTA0MjIiLCAiXHUwNDIzIiwgIlx1MDQyNCIsICJcdTA0MjUiLCAiXHUwNDI2IiwgIlx1MDQyNyIsICJcdTA0MjgiLCAiXHUwNDI5IiwgIlx1MDQyQSIsICJcdTA0MkIiLCAiXHUwNDJDIiwgIlx1MDQyRCIsICJcdTA0MkUiLCAiXHUwNDJGIiwgIlx1MDQwMSJdOwp2YXIgcmVzdWx0ID0gdHJ1ZTsKZm9yIChpbmRleCA9IDA7IGluZGV4IDwgaGV4Lmxlbmd0aDsgaW5kZXgrKykgewogIGFyciA9IChuZXcgUmVnRXhwKGhleFtpbmRleF0pKS5leGVjKGNoYXJhY3RlcltpbmRleF0pOyAKICBpZiAoKGFyciA9PT0gbnVsbCkgfHwgKGFyclswXSAhPT0gY2hhcmFjdGVyW2luZGV4XSkpIHsKICAgIHJlc3VsdCA9IGZhbHNlOwogIH0KfQoKaWYgKHJlc3VsdCAhPT0gdHJ1ZSkgewogICRFUlJPUignIzE6IFJVU1NJQU4gQ0FQSVRBTCBBTFBIQUJFVCcpOwp9ICAKCi8vQ0hFQ0sjMDQzMC0wNDRGLCAwNDUxCmhleCA9IFsiXFx1MDQzMCIsICJcXHUwNDMxIiwgIlxcdTA0MzIiLCAiXFx1MDQzMyIsICJcXHUwNDM0IiwgIlxcdTA0MzUiLCAiXFx1MDQzNiIsICJcXHUwNDM3IiwgIlxcdTA0MzgiLCAiXFx1MDQzOSIsICJcXHUwNDNBIiwgIlxcdTA0M0IiLCAiXFx1MDQzQyIsICJcXHUwNDNEIiwgIlxcdTA0M0UiLCAiXFx1MDQzRiIsICJcXHUwNDQwIiwgIlxcdTA0NDEiLCAiXFx1MDQ0MiIsICJcXHUwNDQzIiwgIlxcdTA0NDQiLCAiXFx1MDQ0NSIsICJcXHUwNDQ2IiwgIlxcdTA0NDciLCAiXFx1MDQ0OCIsICJcXHUwNDQ5IiwgIlxcdTA0NEEiLCAiXFx1MDQ0QiIsICJcXHUwNDRDIiwgIlxcdTA0NEQiLCAiXFx1MDQ0RSIsICJcXHUwNDRGIiwgIlxcdTA0NTEiXTsKY2hhcmFjdGVyID0gWyJcdTA0MzAiLCAiXHUwNDMxIiwgIlx1MDQzMiIsICJcdTA0MzMiLCAiXHUwNDM0IiwgIlx1MDQzNSIsICJcdTA0MzYiLCAiXHUwNDM3IiwgIlx1MDQzOCIsICJcdTA0MzkiLCAiXHUwNDNBIiwgIlx1MDQzQiIsICJcdTA0M0MiLCAiXHUwNDNEIiwgIlx1MDQzRSIsICJcdTA0M0YiLCAiXHUwNDQwIiwgIlx1MDQ0MSIsICJcdTA0NDIiLCAiXHUwNDQzIiwgIlx1MDQ0NCIsICJcdTA0NDUiLCAiXHUwNDQ2IiwgIlx1MDQ0NyIsICJcdTA0NDgiLCAiXHUwNDQ5IiwgIlx1MDQ0QSIsICJcdTA0NEIiLCAiXHUwNDRDIiwgIlx1MDQ0RCIsICJcdTA0NEUiLCAiXHUwNDRGIiwgIlx1MDQ1MSJdOwp2YXIgcmVzdWx0ID0gdHJ1ZTsKZm9yIChpbmRleCA9IDA7IGluZGV4IDwgaGV4Lmxlbmd0aDsgaW5kZXgrKykgewogIGFyciA9IChuZXcgUmVnRXhwKGhleFtpbmRleF0pKS5leGVjKGNoYXJhY3RlcltpbmRleF0pOyAKICBpZiAoKGFyciA9PT0gbnVsbCkgfHwgKGFyclswXSAhPT0gY2hhcmFjdGVyW2luZGV4XSkpIHsKICAgIHJlc3VsdCA9IGZhbHNlOwogIH0KfQoKaWYgKHJlc3VsdCAhPT0gdHJ1ZSkgewogICRFUlJPUignIzE6IHJ1c3NpYW4gc21hbGwgYWxwaGFiZXQnKTsKfQoK","commentary":"CharacterEscape :: UnicodeEscapeSequence :: u HexDigit HexDigit HexDigit HexDigit","description":"Tested string include RUSSIAN CAPITAL ALPHABET and russian small alphabet in unicode notation","path":"TestCases/ch15/15.10/15.10.2/15.10.2.10/S15.10.2.10_A4.1_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBDaGFyYWN0ZXJFc2NhcGUgOjogSWRlbnRpdHlFc2NhcGVTZXF1ZW5jZSA6OiBTb3VyY2VDaGFyYWN0ZXIgYnV0IG5vdCBJZGVudGlmaWVyUGFydAogKgogKiBAcGF0aCBjaDE1LzE1LjEwLzE1LjEwLjIvMTUuMTAuMi4xMC9TMTUuMTAuMi4xMF9BNS4xX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBUZXN0ZWQgc3RyaW5nIGlzICJ+YCFAIyQlXiYqKCktKz17W31dfFxcOjsnPCw+Li8/IiArICciJwogKi8KCi8vQ0hFQ0sjMQp2YXIgbm9uX2lkZW50ID0gIn5gIUAjJCVeJiooKS0rPXtbfV18XFw6Oyc8LD4uLz8iICsgJyInOwp2YXIgayA9IC0xOwpkbyB7CiAgIGsrKzsKICAgYXJyID0gbmV3IFJlZ0V4cCgiXFwiICsgbm9uX2lkZW50W2tdLCAiZyIpLmV4ZWMobm9uX2lkZW50KTsgICAKfSB3aGlsZSAoKGFyciAhPT0gbnVsbCkgJiYgKGFyclswXSA9PT0gbm9uX2lkZW50W2tdKSkKCmlmIChub25faWRlbnQubGVuZ3RoICE9PSBrKSB7CiAgICRFUlJPUignIzE6IElkZW50aXR5RXNjYXBlU2VxdWVuY2UgOjogU291cmNlQ2hhcmFjdGVyIGJ1dCBub3QgSWRlbnRpZmllclBhcnQnKTsKfSAKCg==","commentary":"CharacterEscape :: IdentityEscapeSequence :: SourceCharacter but not IdentifierPart","description":"Tested string is \"~`!@#$%^&*()-+={[}]|\\\\:;'<,>./?\" + '\"'","path":"TestCases/ch15/15.10/15.10.2/15.10.2.10/S15.10.2.10_A5.1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBEZWNpbWFsRXNjYXBlIDo6IERlY2ltYWxJbnRlZ2VyTGl0ZXJhbCBbbG9va2FoZWFkIG5vdCBpbiBEZWNpbWFsRGlnaXRdCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuMi8xNS4xMC4yLjExL1MxNS4xMC4yLjExX0ExX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBEZWNpbWFsRXNjYXBlIDo6IDAuIElmIGkgaXMgemVybywgcmV0dXJuIHRoZSBFc2NhcGVWYWx1ZSBjb25zaXN0aW5nIG9mIGEgPE5VTD4gY2hhcmFjdGVyIChVbmljb2RldmFsdWUwMDAwKQogKi8KCi8vQ0hFQ0sjMQp2YXIgYXJyID0gL1wwLy5leGVjKCJcdTAwMDAiKTsgCmlmICgoYXJyID09PSBudWxsKSB8fCAoYXJyWzBdICE9PSAiXHUwMDAwIikpIHsKICAkRVJST1IoJyMxOiB2YXIgYXJyID0gL1xcMC8uZXhlYyhcXHUwMDAwKTsgYXJyWzBdID09PSAiXFx1MDAwMCIuIEFjdHVhbC4gJyArIChhcnIgJiYgYXJyWzBdKSk7Cn0KCi8vQ0hFQ0sjMgp2YXIgYXJyID0gKG5ldyBSZWdFeHAoIlxcMCIpKS5leGVjKCJcdTAwMDAiKTsgCmlmICgoYXJyID09PSBudWxsKSB8fCAoYXJyWzBdICE9PSAiXHUwMDAwIikpIHsKICAkRVJST1IoJyMyOiB2YXIgYXJyID0gKG5ldyBSZWdFeHAoIlxcMCIpKS5leGVjKFxcdTAwMDApOyBhcnJbMF0gPT09ICJcXHUwMDAwIi4gQWN0dWFsLiAnICsgKGFyciAmJiBhcnJbMF0pKTsKfQoK","commentary":"DecimalEscape :: DecimalIntegerLiteral [lookahead not in DecimalDigit]","description":"DecimalEscape :: 0. If i is zero, return the EscapeValue consisting of a <NUL> character (Unicodevalue0000)","path":"TestCases/ch15/15.10/15.10.2/15.10.2.11/S15.10.2.11_A1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBEZWNpbWFsRXNjYXBlIDo6IERlY2ltYWxJbnRlZ2VyTGl0ZXJhbCBbbG9va2FoZWFkIG5vdCBpbiBEZWNpbWFsRGlnaXRdCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuMi8xNS4xMC4yLjExL1MxNS4xMC4yLjExX0ExX1Q0LmpzCiAqIEBkZXNjcmlwdGlvbiBEZWNpbWFsSW50ZWdlckxpdGVyYWwgaXMgbm90IDAKICovCgp2YXIgYXJyID0gLyhBKVwxLy5leGVjKCJBQSIpOwoKLy9DSEVDSyMxCmlmICgoYXJyID09PSBudWxsKSB8fCAoYXJyWzBdICE9PSAiQUEiKSkgewogICRFUlJPUignIzE6IHZhciBhcnIgPSAoLyhBKVxcMS8uZXhlYygiQUEiKSk7IGFyclswXSA9PT0gIkFBIi4gQWN0dWFsLiAnICsgKGFyciAmJiBhcnJbMF0pKTsKfQoKLy9DSEVDSyMyCmlmICgoYXJyID09PSBudWxsKSB8fCAoYXJyWzFdICE9PSAiQSIpKSB7CiAgJEVSUk9SKCcjMjogdmFyIGFyciA9ICgvKEEpXFwxLy5leGVjKCJBQSIpKTsgYXJyWzFdID09PSAiQSIuIEFjdHVhbC4gJyArIChhcnIgJiYgYXJyWzFdKSk7Cn0gICAgCgo=","commentary":"DecimalEscape :: DecimalIntegerLiteral [lookahead not in DecimalDigit]","description":"DecimalIntegerLiteral is not 0","path":"TestCases/ch15/15.10/15.10.2/15.10.2.11/S15.10.2.11_A1_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBEZWNpbWFsRXNjYXBlIDo6IERlY2ltYWxJbnRlZ2VyTGl0ZXJhbCBbbG9va2FoZWFkIG5vdCBpbiBEZWNpbWFsRGlnaXRdCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuMi8xNS4xMC4yLjExL1MxNS4xMC4yLjExX0ExX1Q1LmpzCiAqIEBkZXNjcmlwdGlvbiBEZWNpbWFsSW50ZWdlckxpdGVyYWwgaXMgbm90IDAKICovCgp2YXIgYXJyID0gL1wxKEEpLy5leGVjKCJBQSIpOwoKLy9DSEVDSyMxCmlmICgoYXJyID09PSBudWxsKSB8fCAoYXJyWzBdICE9PSAiQSIpKSB7CiAgJEVSUk9SKCcjMTogdmFyIGFyciA9ICgvXFwxKEEpLy5leGVjKCJBQSIpKTsgYXJyWzBdID09PSAiQSIuIEFjdHVhbC4gJyArIChhcnIgJiYgYXJyWzBdKSk7Cn0KCi8vQ0hFQ0sjMgppZiAoKGFyciA9PT0gbnVsbCkgfHwgKGFyclsxXSAhPT0gIkEiKSkgewogICRFUlJPUignIzI6IHZhciBhcnIgPSAoL1xcMShBKS8uZXhlYygiQUEiKSk7IGFyclsxXSA9PT0gIkEiLiBBY3R1YWwuICcgKyAoYXJyICYmIGFyclsxXSkpOwp9ICAgIAoK","commentary":"DecimalEscape :: DecimalIntegerLiteral [lookahead not in DecimalDigit]","description":"DecimalIntegerLiteral is not 0","path":"TestCases/ch15/15.10/15.10.2/15.10.2.11/S15.10.2.11_A1_T5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBEZWNpbWFsRXNjYXBlIDo6IERlY2ltYWxJbnRlZ2VyTGl0ZXJhbCBbbG9va2FoZWFkIG5vdCBpbiBEZWNpbWFsRGlnaXRdCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuMi8xNS4xMC4yLjExL1MxNS4xMC4yLjExX0ExX1Q2LmpzCiAqIEBkZXNjcmlwdGlvbiBEZWNpbWFsSW50ZWdlckxpdGVyYWwgaXMgbm90IDAKICovCgp2YXIgYXJyID0gLyhBKVwxKEIpXDIvLmV4ZWMoIkFBQkIiKTsKCi8vQ0hFQ0sjMQppZiAoKGFyciA9PT0gbnVsbCkgfHwgKGFyclswXSAhPT0gIkFBQkIiKSkgewogICRFUlJPUignIzE6IHZhciBhcnIgPSAvKEEpXFwxKEIpXFwyLy5leGVjKCJBQUJCIik7IGFyclswXSA9PT0gIkFBQkIiLiBBY3R1YWwuICcgKyAoYXJyICYmIGFyclswXSkpOwp9CgovL0NIRUNLIzIKaWYgKChhcnIgPT09IG51bGwpIHx8IChhcnJbMV0gIT09ICJBIikpIHsKICAkRVJST1IoJyMyOiB2YXIgYXJyID0gLyhBKVxcMShCKVxcMi8uZXhlYygiQUFCQiIpOyBhcnJbMV0gPT09ICJBIi4gQWN0dWFsLiAnICsgKGFyciAmJiBhcnJbMV0pKTsKfQoKLy9DSEVDSyMzCmlmICgoYXJyID09PSBudWxsKSB8fCAoYXJyWzJdICE9PSAiQiIpKSB7CiAgJEVSUk9SKCcjMzogdmFyIGFyciA9IC8oQSlcXDEoQilcXDIvLmV4ZWMoIkFBQkIiKTsgYXJyWzJdID09PSAiQiIuIEFjdHVhbC4gJyArIChhcnIgJiYgYXJyWzJdKSk7Cn0gICAgICAKCg==","commentary":"DecimalEscape :: DecimalIntegerLiteral [lookahead not in DecimalDigit]","description":"DecimalIntegerLiteral is not 0","path":"TestCases/ch15/15.10/15.10.2/15.10.2.11/S15.10.2.11_A1_T6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBEZWNpbWFsRXNjYXBlIDo6IERlY2ltYWxJbnRlZ2VyTGl0ZXJhbCBbbG9va2FoZWFkIG5vdCBpbiBEZWNpbWFsRGlnaXRdCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuMi8xNS4xMC4yLjExL1MxNS4xMC4yLjExX0ExX1Q3LmpzCiAqIEBkZXNjcmlwdGlvbiBEZWNpbWFsSW50ZWdlckxpdGVyYWwgaXMgbm90IDAKICovCgp2YXIgYXJyID0gL1wxKEEpKEIpXDIvLmV4ZWMoIkFCQiIpOwoKLy9DSEVDSyMxCmlmICgoYXJyID09PSBudWxsKSB8fCAoYXJyWzBdICE9PSAiQUJCIikpIHsKICAkRVJST1IoJyMxOiB2YXIgYXJyID0gL1xcMShBKShCKVxcMi8uZXhlYygiQUJCIik7IGFyclswXSA9PT0gIkFCQiIuIEFjdHVhbC4gJyArIChhcnIgJiYgYXJyWzBdKSk7Cn0KCi8vQ0hFQ0sjMgppZiAoKGFyciA9PT0gbnVsbCkgfHwgKGFyclsxXSAhPT0gIkEiKSkgewogICRFUlJPUignIzI6IHZhciBhcnIgPSAvXFwxKEEpKEIpXFwyLy5leGVjKCJBQkIiKTsgYXJyWzFdID09PSAiQSIuIEFjdHVhbC4gJyArIChhcnIgJiYgYXJyWzFdKSk7Cn0KCi8vQ0hFQ0sjMwppZiAoKGFyciA9PT0gbnVsbCkgfHwgKGFyclsyXSAhPT0gIkIiKSkgewogICRFUlJPUignIzM6IHZhciBhcnIgPSAvXFwxKEEpKEIpXFwyLy5leGVjKCJBQkIiKTsgYXJyWzJdID09PSAiQiIuIEFjdHVhbC4gJyArIChhcnIgJiYgYXJyWzJdKSk7Cn0gICAgICAKCg==","commentary":"DecimalEscape :: DecimalIntegerLiteral [lookahead not in DecimalDigit]","description":"DecimalIntegerLiteral is not 0","path":"TestCases/ch15/15.10/15.10.2/15.10.2.11/S15.10.2.11_A1_T7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBEZWNpbWFsRXNjYXBlIDo6IERlY2ltYWxJbnRlZ2VyTGl0ZXJhbCBbbG9va2FoZWFkIG5vdCBpbiBEZWNpbWFsRGlnaXRdCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuMi8xNS4xMC4yLjExL1MxNS4xMC4yLjExX0ExX1Q4LmpzCiAqIEBkZXNjcmlwdGlvbiBEZWNpbWFsSW50ZWdlckxpdGVyYWwgaXMgbm90IDAKICovCgp2YXIgYXJyID0gLygoKCgoKCgoKChBKSkpKSkpKSkpKVwxXDJcM1w0XDVcNlw3XDhcOVwxMC8uZXhlYygiQUFBQUFBQUFBQUEiKTsKCi8vQ0hFQ0sjMQppZiAoKGFyciA9PT0gbnVsbCkgfHwgKGFyclswXSAhPT0gIkFBQUFBQUFBQUFBIikpIHsKICAkRVJST1IoJyMxOiB2YXIgYXJyID0gLygoKCgoKCgoKChBKSkpKSkpKSkpKVxcMVxcMlxcM1xcNFxcNVxcNlxcN1xcOFxcOVxcMTAvLmV4ZWMoIkFBQUFBQUFBQUFBIik7IGFyclswXSA9PT0gIkFBQUFBQUFBQUFBIi4gQWN0dWFsLiAnICsgKGFyciAmJiBhcnJbMF0pKTsKfQoKZm9yIChpID0gMTsgaSA8PSAxMDsgaSsrKSB7CiAgLy9DSEVDSyNpCiAgaWYgKChhcnIgPT09IG51bGwpIHx8IChhcnJbaV0gIT09ICJBIikpIHsKICAgICRFUlJPUignIzI6IHZhciBhcnIgPSAvKCgoKCgoKCgoKEEpKSkpKSkpKSkpXFwxXFwyXFwzXFw0XFw1XFw2XFw3XFw4XFw5XFwxMC8uZXhlYygiQUFBQUFBQUFBQUEiKTsgYXJyWycgKyBpICsgJ10gPT09ICJBIi4gQWN0dWFsLiAnICsgKGFyciAmJiBhcnJbaV0pKTsKICB9Cn0gIAoK","commentary":"DecimalEscape :: DecimalIntegerLiteral [lookahead not in DecimalDigit]","description":"DecimalIntegerLiteral is not 0","path":"TestCases/ch15/15.10/15.10.2/15.10.2.11/S15.10.2.11_A1_T8.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBEZWNpbWFsRXNjYXBlIDo6IERlY2ltYWxJbnRlZ2VyTGl0ZXJhbCBbbG9va2FoZWFkIG5vdCBpbiBEZWNpbWFsRGlnaXRdCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuMi8xNS4xMC4yLjExL1MxNS4xMC4yLjExX0ExX1Q5LmpzCiAqIEBkZXNjcmlwdGlvbiBEZWNpbWFsSW50ZWdlckxpdGVyYWwgaXMgbm90IDAKICovCgp2YXIgYXJyID0gLygoKCgoKCgoKChBKSkpKSkpKSkpKVwxMFw5XDhcN1w2XDVcNFwzXDJcMS8uZXhlYygiQUFBQUFBQUFBQUEiKTsKCi8vQ0hFQ0sjMQppZiAoKGFyciA9PT0gbnVsbCkgfHwgKGFyclswXSAhPT0gIkFBQUFBQUFBQUFBIikpIHsKICAkRVJST1IoJyMxOiB2YXIgYXJyID0gLygoKCgoKCgoKChBKSkpKSkpKSkpKVxcMTBcXDlcXDhcXDdcXDZcXDVcXDRcXDNcXDJcXDEvLmV4ZWMoIkFBQUFBQUFBQUFBIik7IGFyclswXSA9PT0gIkFBQUFBQUFBQUFBIi4gQWN0dWFsLiAnICsgKGFyciAmJiBhcnJbMF0pKTsKfQoKZm9yIChpID0gMTsgaSA8PSAxMDsgaSsrKSB7CiAgLy9DSEVDSyNpCiAgaWYgKChhcnIgPT09IG51bGwpIHx8IChhcnJbaV0gIT09ICJBIikpIHsKICAgICRFUlJPUignIzI6IHZhciBhcnIgPSAvKCgoKCgoKCgoKEEpKSkpKSkpKSkpXFwxMFxcOVxcOFxcN1xcNlxcNVxcNFxcM1xcMlxcMS8uZXhlYygiQUFBQUFBQUFBQUEiKTsgYXJyWycgKyBpICsgJ10gPT09ICJBIi4gQWN0dWFsLiAnICsgKGFyciAmJiBhcnJbaV0pKTsKICB9Cn0gIAoK","commentary":"DecimalEscape :: DecimalIntegerLiteral [lookahead not in DecimalDigit]","description":"DecimalIntegerLiteral is not 0","path":"TestCases/ch15/15.10/15.10.2/15.10.2.11/S15.10.2.11_A1_T9.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBDaGFyYWN0ZXJDbGFzc0VzY2FwZSA6OiBzIGV2YWx1YXRlcyBieSByZXR1cm5pbmcgdGhlIHNldCBvZiBjaGFyYWN0ZXJzCiAqIGNvbnRhaW5pbmcgdGhlIGNoYXJhY3RlcnMgdGhhdCBhcmUgb24gdGhlIHJpZ2h0LWhhbmQgc2lkZSBvZiB0aGUgV2hpdGVTcGFjZSAoNy4yKSBvciBMaW5lVGVybWluYXRvciAoNy4zKSBwcm9kdWN0aW9ucwogKgogKiBAcGF0aCBjaDE1LzE1LjEwLzE1LjEwLjIvMTUuMTAuMi4xMi9TMTUuMTAuMi4xMl9BMV9UMS5qcwogKiBAZGVzY3JpcHRpb24gV2hpdGVTcGFjZQogKi8KCnZhciBpMCA9ICIiOwpmb3IgKHZhciBqID0gMDsgaiA8IDEwMjQ7IGorKykKICBpMCArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzAgPSAiXHUwMDAwXHUwMDAxXHUwMDAyXHUwMDAzXHUwMDA0XHUwMDA1XHUwMDA2XHUwMDA3XHUwMDA4XHUwMDBFXHUwMDBGXHUwMDEwXHUwMDExXHUwMDEyXHUwMDEzXHUwMDE0XHUwMDE1XHUwMDE2XHUwMDE3XHUwMDE4XHUwMDE5XHUwMDFBXHUwMDFCXHUwMDFDXHUwMDFEXHUwMDFFXHUwMDFGXHUwMDIxXHUwMDIyXHUwMDIzXHUwMDI0XHUwMDI1XHUwMDI2XHUwMDI3XHUwMDI4XHUwMDI5XHUwMDJBXHUwMDJCXHUwMDJDXHUwMDJEXHUwMDJFXHUwMDJGXHUwMDMwXHUwMDMxXHUwMDMyXHUwMDMzXHUwMDM0XHUwMDM1XHUwMDM2XHUwMDM3XHUwMDM4XHUwMDM5XHUwMDNBXHUwMDNCXHUwMDNDXHUwMDNEXHUwMDNFXHUwMDNGXHUwMDQwXHUwMDQxXHUwMDQyXHUwMDQzXHUwMDQ0XHUwMDQ1XHUwMDQ2XHUwMDQ3XHUwMDQ4XHUwMDQ5XHUwMDRBXHUwMDRCXHUwMDRDXHUwMDREXHUwMDRFXHUwMDRGXHUwMDUwXHUwMDUxXHUwMDUyXHUwMDUzXHUwMDU0XHUwMDU1XHUwMDU2XHUwMDU3XHUwMDU4XHUwMDU5XHUwMDVBXHUwMDVCXHUwMDVDXHUwMDVEXHUwMDVFXHUwMDVGXHUwMDYwXHUwMDYxXHUwMDYyXHUwMDYzXHUwMDY0XHUwMDY1XHUwMDY2XHUwMDY3XHUwMDY4XHUwMDY5XHUwMDZBXHUwMDZCXHUwMDZDXHUwMDZEXHUwMDZFXHUwMDZGXHUwMDcwXHUwMDcxXHUwMDcyXHUwMDczXHUwMDc0XHUwMDc1XHUwMDc2XHUwMDc3XHUwMDc4XHUwMDc5XHUwMDdBXHUwMDdCXHUwMDdDXHUwMDdEXHUwMDdFXHUwMDdGXHUwMDgwXHUwMDgxXHUwMDgyXHUwMDgzXHUwMDg0XHUwMDg1XHUwMDg2XHUwMDg3XHUwMDg4XHUwMDg5XHUwMDhBXHUwMDhCXHUwMDhDXHUwMDhEXHUwMDhFXHUwMDhGXHUwMDkwXHUwMDkxXHUwMDkyXHUwMDkzXHUwMDk0XHUwMDk1XHUwMDk2XHUwMDk3XHUwMDk4XHUwMDk5XHUwMDlBXHUwMDlCXHUwMDlDXHUwMDlEXHUwMDlFXHUwMDlGXHUwMEExXHUwMEEyXHUwMEEzXHUwMEE0XHUwMEE1XHUwMEE2XHUwMEE3XHUwMEE4XHUwMEE5XHUwMEFBXHUwMEFCXHUwMEFDXHUwMEFEXHUwMEFFXHUwMEFGXHUwMEIwXHUwMEIxXHUwMEIyXHUwMEIzXHUwMEI0XHUwMEI1XHUwMEI2XHUwMEI3XHUwMEI4XHUwMEI5XHUwMEJBXHUwMEJCXHUwMEJDXHUwMEJEXHUwMEJFXHUwMEJGXHUwMEMwXHUwMEMxXHUwMEMyXHUwMEMzXHUwMEM0XHUwMEM1XHUwMEM2XHUwMEM3XHUwMEM4XHUwMEM5XHUwMENBXHUwMENCXHUwMENDXHUwMENEXHUwMENFXHUwMENGXHUwMEQwXHUwMEQxXHUwMEQyXHUwMEQzXHUwMEQ0XHUwMEQ1XHUwMEQ2XHUwMEQ3XHUwMEQ4XHUwMEQ5XHUwMERBXHUwMERCXHUwMERDXHUwMEREXHUwMERFXHUwMERGXHUwMEUwXHUwMEUxXHUwMEUyXHUwMEUzXHUwMEU0XHUwMEU1XHUwMEU2XHUwMEU3XHUwMEU4XHUwMEU5XHUwMEVBXHUwMEVCXHUwMEVDXHUwMEVEXHUwMEVFXHUwMEVGXHUwMEYwXHUwMEYxXHUwMEYyXHUwMEYzXHUwMEY0XHUwMEY1XHUwMEY2XHUwMEY3XHUwMEY4XHUwMEY5XHUwMEZBXHUwMEZCXHUwMEZDXHUwMEZEXHUwMEZFXHUwMEZGXHUwMTAwXHUwMTAxXHUwMTAyXHUwMTAzXHUwMTA0XHUwMTA1XHUwMTA2XHUwMTA3XHUwMTA4XHUwMTA5XHUwMTBBXHUwMTBCXHUwMTBDXHUwMTBEXHUwMTBFXHUwMTBGXHUwMTEwXHUwMTExXHUwMTEyXHUwMTEzXHUwMTE0XHUwMTE1XHUwMTE2XHUwMTE3XHUwMTE4XHUwMTE5XHUwMTFBXHUwMTFCXHUwMTFDXHUwMTFEXHUwMTFFXHUwMTFGXHUwMTIwXHUwMTIxXHUwMTIyXHUwMTIzXHUwMTI0XHUwMTI1XHUwMTI2XHUwMTI3XHUwMTI4XHUwMTI5XHUwMTJBXHUwMTJCXHUwMTJDXHUwMTJEXHUwMTJFXHUwMTJGXHUwMTMwXHUwMTMxXHUwMTMyXHUwMTMzXHUwMTM0XHUwMTM1XHUwMTM2XHUwMTM3XHUwMTM4XHUwMTM5XHUwMTNBXHUwMTNCXHUwMTNDXHUwMTNEXHUwMTNFXHUwMTNGXHUwMTQwXHUwMTQxXHUwMTQyXHUwMTQzXHUwMTQ0XHUwMTQ1XHUwMTQ2XHUwMTQ3XHUwMTQ4XHUwMTQ5XHUwMTRBXHUwMTRCXHUwMTRDXHUwMTREXHUwMTRFXHUwMTRGXHUwMTUwXHUwMTUxXHUwMTUyXHUwMTUzXHUwMTU0XHUwMTU1XHUwMTU2XHUwMTU3XHUwMTU4XHUwMTU5XHUwMTVBXHUwMTVCXHUwMTVDXHUwMTVEXHUwMTVFXHUwMTVGXHUwMTYwXHUwMTYxXHUwMTYyXHUwMTYzXHUwMTY0XHUwMTY1XHUwMTY2XHUwMTY3XHUwMTY4XHUwMTY5XHUwMTZBXHUwMTZCXHUwMTZDXHUwMTZEXHUwMTZFXHUwMTZGXHUwMTcwXHUwMTcxXHUwMTcyXHUwMTczXHUwMTc0XHUwMTc1XHUwMTc2XHUwMTc3XHUwMTc4XHUwMTc5XHUwMTdBXHUwMTdCXHUwMTdDXHUwMTdEXHUwMTdFXHUwMTdGXHUwMTgwXHUwMTgxXHUwMTgyXHUwMTgzXHUwMTg0XHUwMTg1XHUwMTg2XHUwMTg3XHUwMTg4XHUwMTg5XHUwMThBXHUwMThCXHUwMThDXHUwMThEXHUwMThFXHUwMThGXHUwMTkwXHUwMTkxXHUwMTkyXHUwMTkzXHUwMTk0XHUwMTk1XHUwMTk2XHUwMTk3XHUwMTk4XHUwMTk5XHUwMTlBXHUwMTlCXHUwMTlDXHUwMTlEXHUwMTlFXHUwMTlGXHUwMUEwXHUwMUExXHUwMUEyXHUwMUEzXHUwMUE0XHUwMUE1XHUwMUE2XHUwMUE3XHUwMUE4XHUwMUE5XHUwMUFBXHUwMUFCXHUwMUFDXHUwMUFEXHUwMUFFXHUwMUFGXHUwMUIwXHUwMUIxXHUwMUIyXHUwMUIzXHUwMUI0XHUwMUI1XHUwMUI2XHUwMUI3XHUwMUI4XHUwMUI5XHUwMUJBXHUwMUJCXHUwMUJDXHUwMUJEXHUwMUJFXHUwMUJGXHUwMUMwXHUwMUMxXHUwMUMyXHUwMUMzXHUwMUM0XHUwMUM1XHUwMUM2XHUwMUM3XHUwMUM4XHUwMUM5XHUwMUNBXHUwMUNCXHUwMUNDXHUwMUNEXHUwMUNFXHUwMUNGXHUwMUQwXHUwMUQxXHUwMUQyXHUwMUQzXHUwMUQ0XHUwMUQ1XHUwMUQ2XHUwMUQ3XHUwMUQ4XHUwMUQ5XHUwMURBXHUwMURCXHUwMURDXHUwMUREXHUwMURFXHUwMURGXHUwMUUwXHUwMUUxXHUwMUUyXHUwMUUzXHUwMUU0XHUwMUU1XHUwMUU2XHUwMUU3XHUwMUU4XHUwMUU5XHUwMUVBXHUwMUVCXHUwMUVDXHUwMUVEXHUwMUVFXHUwMUVGXHUwMUYwXHUwMUYxXHUwMUYyXHUwMUYzXHUwMUY0XHUwMUY1XHUwMUY2XHUwMUY3XHUwMUY4XHUwMUY5XHUwMUZBXHUwMUZCXHUwMUZDXHUwMUZEXHUwMUZFXHUwMUZGXHUwMjAwXHUwMjAxXHUwMjAyXHUwMjAzXHUwMjA0XHUwMjA1XHUwMjA2XHUwMjA3XHUwMjA4XHUwMjA5XHUwMjBBXHUwMjBCXHUwMjBDXHUwMjBEXHUwMjBFXHUwMjBGXHUwMjEwXHUwMjExXHUwMjEyXHUwMjEzXHUwMjE0XHUwMjE1XHUwMjE2XHUwMjE3XHUwMjE4XHUwMjE5XHUwMjFBXHUwMjFCXHUwMjFDXHUwMjFEXHUwMjFFXHUwMjFGXHUwMjIwXHUwMjIxXHUwMjIyXHUwMjIzXHUwMjI0XHUwMjI1XHUwMjI2XHUwMjI3XHUwMjI4XHUwMjI5XHUwMjJBXHUwMjJCXHUwMjJDXHUwMjJEXHUwMjJFXHUwMjJGXHUwMjMwXHUwMjMxXHUwMjMyXHUwMjMzXHUwMjM0XHUwMjM1XHUwMjM2XHUwMjM3XHUwMjM4XHUwMjM5XHUwMjNBXHUwMjNCXHUwMjNDXHUwMjNEXHUwMjNFXHUwMjNGXHUwMjQwXHUwMjQxXHUwMjQyXHUwMjQzXHUwMjQ0XHUwMjQ1XHUwMjQ2XHUwMjQ3XHUwMjQ4XHUwMjQ5XHUwMjRBXHUwMjRCXHUwMjRDXHUwMjREXHUwMjRFXHUwMjRGXHUwMjUwXHUwMjUxXHUwMjUyXHUwMjUzXHUwMjU0XHUwMjU1XHUwMjU2XHUwMjU3XHUwMjU4XHUwMjU5XHUwMjVBXHUwMjVCXHUwMjVDXHUwMjVEXHUwMjVFXHUwMjVGXHUwMjYwXHUwMjYxXHUwMjYyXHUwMjYzXHUwMjY0XHUwMjY1XHUwMjY2XHUwMjY3XHUwMjY4XHUwMjY5XHUwMjZBXHUwMjZCXHUwMjZDXHUwMjZEXHUwMjZFXHUwMjZGXHUwMjcwXHUwMjcxXHUwMjcyXHUwMjczXHUwMjc0XHUwMjc1XHUwMjc2XHUwMjc3XHUwMjc4XHUwMjc5XHUwMjdBXHUwMjdCXHUwMjdDXHUwMjdEXHUwMjdFXHUwMjdGXHUwMjgwXHUwMjgxXHUwMjgyXHUwMjgzXHUwMjg0XHUwMjg1XHUwMjg2XHUwMjg3XHUwMjg4XHUwMjg5XHUwMjhBXHUwMjhCXHUwMjhDXHUwMjhEXHUwMjhFXHUwMjhGXHUwMjkwXHUwMjkxXHUwMjkyXHUwMjkzXHUwMjk0XHUwMjk1XHUwMjk2XHUwMjk3XHUwMjk4XHUwMjk5XHUwMjlBXHUwMjlCXHUwMjlDXHUwMjlEXHUwMjlFXHUwMjlGXHUwMkEwXHUwMkExXHUwMkEyXHUwMkEzXHUwMkE0XHUwMkE1XHUwMkE2XHUwMkE3XHUwMkE4XHUwMkE5XHUwMkFBXHUwMkFCXHUwMkFDXHUwMkFEXHUwMkFFXHUwMkFGXHUwMkIwXHUwMkIxXHUwMkIyXHUwMkIzXHUwMkI0XHUwMkI1XHUwMkI2XHUwMkI3XHUwMkI4XHUwMkI5XHUwMkJBXHUwMkJCXHUwMkJDXHUwMkJEXHUwMkJFXHUwMkJGXHUwMkMwXHUwMkMxXHUwMkMyXHUwMkMzXHUwMkM0XHUwMkM1XHUwMkM2XHUwMkM3XHUwMkM4XHUwMkM5XHUwMkNBXHUwMkNCXHUwMkNDXHUwMkNEXHUwMkNFXHUwMkNGXHUwMkQwXHUwMkQxXHUwMkQyXHUwMkQzXHUwMkQ0XHUwMkQ1XHUwMkQ2XHUwMkQ3XHUwMkQ4XHUwMkQ5XHUwMkRBXHUwMkRCXHUwMkRDXHUwMkREXHUwMkRFXHUwMkRGXHUwMkUwXHUwMkUxXHUwMkUyXHUwMkUzXHUwMkU0XHUwMkU1XHUwMkU2XHUwMkU3XHUwMkU4XHUwMkU5XHUwMkVBXHUwMkVCXHUwMkVDXHUwMkVEXHUwMkVFXHUwMkVGXHUwMkYwXHUwMkYxXHUwMkYyXHUwMkYzXHUwMkY0XHUwMkY1XHUwMkY2XHUwMkY3XHUwMkY4XHUwMkY5XHUwMkZBXHUwMkZCXHUwMkZDXHUwMkZEXHUwMkZFXHUwMkZGXHUwMzAwXHUwMzAxXHUwMzAyXHUwMzAzXHUwMzA0XHUwMzA1XHUwMzA2XHUwMzA3XHUwMzA4XHUwMzA5XHUwMzBBXHUwMzBCXHUwMzBDXHUwMzBEXHUwMzBFXHUwMzBGXHUwMzEwXHUwMzExXHUwMzEyXHUwMzEzXHUwMzE0XHUwMzE1XHUwMzE2XHUwMzE3XHUwMzE4XHUwMzE5XHUwMzFBXHUwMzFCXHUwMzFDXHUwMzFEXHUwMzFFXHUwMzFGXHUwMzIwXHUwMzIxXHUwMzIyXHUwMzIzXHUwMzI0XHUwMzI1XHUwMzI2XHUwMzI3XHUwMzI4XHUwMzI5XHUwMzJBXHUwMzJCXHUwMzJDXHUwMzJEXHUwMzJFXHUwMzJGXHUwMzMwXHUwMzMxXHUwMzMyXHUwMzMzXHUwMzM0XHUwMzM1XHUwMzM2XHUwMzM3XHUwMzM4XHUwMzM5XHUwMzNBXHUwMzNCXHUwMzNDXHUwMzNEXHUwMzNFXHUwMzNGXHUwMzQwXHUwMzQxXHUwMzQyXHUwMzQzXHUwMzQ0XHUwMzQ1XHUwMzQ2XHUwMzQ3XHUwMzQ4XHUwMzQ5XHUwMzRBXHUwMzRCXHUwMzRDXHUwMzREXHUwMzRFXHUwMzRGXHUwMzUwXHUwMzUxXHUwMzUyXHUwMzUzXHUwMzU0XHUwMzU1XHUwMzU2XHUwMzU3XHUwMzU4XHUwMzU5XHUwMzVBXHUwMzVCXHUwMzVDXHUwMzVEXHUwMzVFXHUwMzVGXHUwMzYwXHUwMzYxXHUwMzYyXHUwMzYzXHUwMzY0XHUwMzY1XHUwMzY2XHUwMzY3XHUwMzY4XHUwMzY5XHUwMzZBXHUwMzZCXHUwMzZDXHUwMzZEXHUwMzZFXHUwMzZGXHUwMzcwXHUwMzcxXHUwMzcyXHUwMzczXHUwMzc0XHUwMzc1XHUwMzc2XHUwMzc3XHUwMzc4XHUwMzc5XHUwMzdBXHUwMzdCXHUwMzdDXHUwMzdEXHUwMzdFXHUwMzdGXHUwMzgwXHUwMzgxXHUwMzgyXHUwMzgzXHUwMzg0XHUwMzg1XHUwMzg2XHUwMzg3XHUwMzg4XHUwMzg5XHUwMzhBXHUwMzhCXHUwMzhDXHUwMzhEXHUwMzhFXHUwMzhGXHUwMzkwXHUwMzkxXHUwMzkyXHUwMzkzXHUwMzk0XHUwMzk1XHUwMzk2XHUwMzk3XHUwMzk4XHUwMzk5XHUwMzlBXHUwMzlCXHUwMzlDXHUwMzlEXHUwMzlFXHUwMzlGXHUwM0EwXHUwM0ExXHUwM0EyXHUwM0EzXHUwM0E0XHUwM0E1XHUwM0E2XHUwM0E3XHUwM0E4XHUwM0E5XHUwM0FBXHUwM0FCXHUwM0FDXHUwM0FEXHUwM0FFXHUwM0FGXHUwM0IwXHUwM0IxXHUwM0IyXHUwM0IzXHUwM0I0XHUwM0I1XHUwM0I2XHUwM0I3XHUwM0I4XHUwM0I5XHUwM0JBXHUwM0JCXHUwM0JDXHUwM0JEXHUwM0JFXHUwM0JGXHUwM0MwXHUwM0MxXHUwM0MyXHUwM0MzXHUwM0M0XHUwM0M1XHUwM0M2XHUwM0M3XHUwM0M4XHUwM0M5XHUwM0NBXHUwM0NCXHUwM0NDXHUwM0NEXHUwM0NFXHUwM0NGXHUwM0QwXHUwM0QxXHUwM0QyXHUwM0QzXHUwM0Q0XHUwM0Q1XHUwM0Q2XHUwM0Q3XHUwM0Q4XHUwM0Q5XHUwM0RBXHUwM0RCXHUwM0RDXHUwM0REXHUwM0RFXHUwM0RGXHUwM0UwXHUwM0UxXHUwM0UyXHUwM0UzXHUwM0U0XHUwM0U1XHUwM0U2XHUwM0U3XHUwM0U4XHUwM0U5XHUwM0VBXHUwM0VCXHUwM0VDXHUwM0VEXHUwM0VFXHUwM0VGXHUwM0YwXHUwM0YxXHUwM0YyXHUwM0YzXHUwM0Y0XHUwM0Y1XHUwM0Y2XHUwM0Y3XHUwM0Y4XHUwM0Y5XHUwM0ZBXHUwM0ZCXHUwM0ZDXHUwM0ZEXHUwM0ZFXHUwM0ZGIjsKaWYgKGkwLnJlcGxhY2UoL1xzKy9nLCAiIikgIT09IG8wKSB7CiAgJEVSUk9SKCIjMDogRXJyb3IgbWF0Y2hpbmcgY2hhcmFjdGVyIGNsYXNzIFxzIGJldHdlZW4gY2hhcmFjdGVyIDAgYW5kIDNmZiIpOwp9Cgp2YXIgaTEgPSAiIjsKZm9yICh2YXIgaiA9IDEwMjQ7IGogPCAyMDQ4OyBqKyspCiAgaTEgKz0gU3RyaW5nLmZyb21DaGFyQ29kZShqKTsKdmFyIG8xID0gaTE7CmlmIChpMS5yZXBsYWNlKC9ccysvZywgIiIpICE9PSBvMSkgewogICRFUlJPUigiIzE6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBccyBiZXR3ZWVuIGNoYXJhY3RlciA0MDAgYW5kIDdmZiIpOwp9Cgp2YXIgaTIgPSAiIjsKZm9yICh2YXIgaiA9IDIwNDg7IGogPCAzMDcyOyBqKyspCiAgaTIgKz0gU3RyaW5nLmZyb21DaGFyQ29kZShqKTsKdmFyIG8yID0gaTI7CmlmIChpMi5yZXBsYWNlKC9ccysvZywgIiIpICE9PSBvMikgewogICRFUlJPUigiIzI6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBccyBiZXR3ZWVuIGNoYXJhY3RlciA4MDAgYW5kIGJmZiIpOwp9Cgp2YXIgaTMgPSAiIjsKZm9yICh2YXIgaiA9IDMwNzI7IGogPCA0MDk2OyBqKyspCiAgaTMgKz0gU3RyaW5nLmZyb21DaGFyQ29kZShqKTsKdmFyIG8zID0gaTM7CmlmIChpMy5yZXBsYWNlKC9ccysvZywgIiIpICE9PSBvMykgewogICRFUlJPUigiIzM6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBccyBiZXR3ZWVuIGNoYXJhY3RlciBjMDAgYW5kIGZmZiIpOwp9Cgp2YXIgaTQgPSAiIjsKZm9yICh2YXIgaiA9IDQwOTY7IGogPCA1MTIwOyBqKyspCiAgaTQgKz0gU3RyaW5nLmZyb21DaGFyQ29kZShqKTsKdmFyIG80ID0gaTQ7CmlmIChpNC5yZXBsYWNlKC9ccysvZywgIiIpICE9PSBvNCkgewogICRFUlJPUigiIzQ6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBccyBiZXR3ZWVuIGNoYXJhY3RlciAxMDAwIGFuZCAxM2ZmIik7Cn0KCnZhciBpNSA9ICIiOwpmb3IgKHZhciBqID0gNTEyMDsgaiA8IDYxNDQ7IGorKykKICBpNSArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzUgPSAiXHUxNDAwXHUxNDAxXHUxNDAyXHUxNDAzXHUxNDA0XHUxNDA1XHUxNDA2XHUxNDA3XHUxNDA4XHUxNDA5XHUxNDBBXHUxNDBCXHUxNDBDXHUxNDBEXHUxNDBFXHUxNDBGXHUxNDEwXHUxNDExXHUxNDEyXHUxNDEzXHUxNDE0XHUxNDE1XHUxNDE2XHUxNDE3XHUxNDE4XHUxNDE5XHUxNDFBXHUxNDFCXHUxNDFDXHUxNDFEXHUxNDFFXHUxNDFGXHUxNDIwXHUxNDIxXHUxNDIyXHUxNDIzXHUxNDI0XHUxNDI1XHUxNDI2XHUxNDI3XHUxNDI4XHUxNDI5XHUxNDJBXHUxNDJCXHUxNDJDXHUxNDJEXHUxNDJFXHUxNDJGXHUxNDMwXHUxNDMxXHUxNDMyXHUxNDMzXHUxNDM0XHUxNDM1XHUxNDM2XHUxNDM3XHUxNDM4XHUxNDM5XHUxNDNBXHUxNDNCXHUxNDNDXHUxNDNEXHUxNDNFXHUxNDNGXHUxNDQwXHUxNDQxXHUxNDQyXHUxNDQzXHUxNDQ0XHUxNDQ1XHUxNDQ2XHUxNDQ3XHUxNDQ4XHUxNDQ5XHUxNDRBXHUxNDRCXHUxNDRDXHUxNDREXHUxNDRFXHUxNDRGXHUxNDUwXHUxNDUxXHUxNDUyXHUxNDUzXHUxNDU0XHUxNDU1XHUxNDU2XHUxNDU3XHUxNDU4XHUxNDU5XHUxNDVBXHUxNDVCXHUxNDVDXHUxNDVEXHUxNDVFXHUxNDVGXHUxNDYwXHUxNDYxXHUxNDYyXHUxNDYzXHUxNDY0XHUxNDY1XHUxNDY2XHUxNDY3XHUxNDY4XHUxNDY5XHUxNDZBXHUxNDZCXHUxNDZDXHUxNDZEXHUxNDZFXHUxNDZGXHUxNDcwXHUxNDcxXHUxNDcyXHUxNDczXHUxNDc0XHUxNDc1XHUxNDc2XHUxNDc3XHUxNDc4XHUxNDc5XHUxNDdBXHUxNDdCXHUxNDdDXHUxNDdEXHUxNDdFXHUxNDdGXHUxNDgwXHUxNDgxXHUxNDgyXHUxNDgzXHUxNDg0XHUxNDg1XHUxNDg2XHUxNDg3XHUxNDg4XHUxNDg5XHUxNDhBXHUxNDhCXHUxNDhDXHUxNDhEXHUxNDhFXHUxNDhGXHUxNDkwXHUxNDkxXHUxNDkyXHUxNDkzXHUxNDk0XHUxNDk1XHUxNDk2XHUxNDk3XHUxNDk4XHUxNDk5XHUxNDlBXHUxNDlCXHUxNDlDXHUxNDlEXHUxNDlFXHUxNDlGXHUxNEEwXHUxNEExXHUxNEEyXHUxNEEzXHUxNEE0XHUxNEE1XHUxNEE2XHUxNEE3XHUxNEE4XHUxNEE5XHUxNEFBXHUxNEFCXHUxNEFDXHUxNEFEXHUxNEFFXHUxNEFGXHUxNEIwXHUxNEIxXHUxNEIyXHUxNEIzXHUxNEI0XHUxNEI1XHUxNEI2XHUxNEI3XHUxNEI4XHUxNEI5XHUxNEJBXHUxNEJCXHUxNEJDXHUxNEJEXHUxNEJFXHUxNEJGXHUxNEMwXHUxNEMxXHUxNEMyXHUxNEMzXHUxNEM0XHUxNEM1XHUxNEM2XHUxNEM3XHUxNEM4XHUxNEM5XHUxNENBXHUxNENCXHUxNENDXHUxNENEXHUxNENFXHUxNENGXHUxNEQwXHUxNEQxXHUxNEQyXHUxNEQzXHUxNEQ0XHUxNEQ1XHUxNEQ2XHUxNEQ3XHUxNEQ4XHUxNEQ5XHUxNERBXHUxNERCXHUxNERDXHUxNEREXHUxNERFXHUxNERGXHUxNEUwXHUxNEUxXHUxNEUyXHUxNEUzXHUxNEU0XHUxNEU1XHUxNEU2XHUxNEU3XHUxNEU4XHUxNEU5XHUxNEVBXHUxNEVCXHUxNEVDXHUxNEVEXHUxNEVFXHUxNEVGXHUxNEYwXHUxNEYxXHUxNEYyXHUxNEYzXHUxNEY0XHUxNEY1XHUxNEY2XHUxNEY3XHUxNEY4XHUxNEY5XHUxNEZBXHUxNEZCXHUxNEZDXHUxNEZEXHUxNEZFXHUxNEZGXHUxNTAwXHUxNTAxXHUxNTAyXHUxNTAzXHUxNTA0XHUxNTA1XHUxNTA2XHUxNTA3XHUxNTA4XHUxNTA5XHUxNTBBXHUxNTBCXHUxNTBDXHUxNTBEXHUxNTBFXHUxNTBGXHUxNTEwXHUxNTExXHUxNTEyXHUxNTEzXHUxNTE0XHUxNTE1XHUxNTE2XHUxNTE3XHUxNTE4XHUxNTE5XHUxNTFBXHUxNTFCXHUxNTFDXHUxNTFEXHUxNTFFXHUxNTFGXHUxNTIwXHUxNTIxXHUxNTIyXHUxNTIzXHUxNTI0XHUxNTI1XHUxNTI2XHUxNTI3XHUxNTI4XHUxNTI5XHUxNTJBXHUxNTJCXHUxNTJDXHUxNTJEXHUxNTJFXHUxNTJGXHUxNTMwXHUxNTMxXHUxNTMyXHUxNTMzXHUxNTM0XHUxNTM1XHUxNTM2XHUxNTM3XHUxNTM4XHUxNTM5XHUxNTNBXHUxNTNCXHUxNTNDXHUxNTNEXHUxNTNFXHUxNTNGXHUxNTQwXHUxNTQxXHUxNTQyXHUxNTQzXHUxNTQ0XHUxNTQ1XHUxNTQ2XHUxNTQ3XHUxNTQ4XHUxNTQ5XHUxNTRBXHUxNTRCXHUxNTRDXHUxNTREXHUxNTRFXHUxNTRGXHUxNTUwXHUxNTUxXHUxNTUyXHUxNTUzXHUxNTU0XHUxNTU1XHUxNTU2XHUxNTU3XHUxNTU4XHUxNTU5XHUxNTVBXHUxNTVCXHUxNTVDXHUxNTVEXHUxNTVFXHUxNTVGXHUxNTYwXHUxNTYxXHUxNTYyXHUxNTYzXHUxNTY0XHUxNTY1XHUxNTY2XHUxNTY3XHUxNTY4XHUxNTY5XHUxNTZBXHUxNTZCXHUxNTZDXHUxNTZEXHUxNTZFXHUxNTZGXHUxNTcwXHUxNTcxXHUxNTcyXHUxNTczXHUxNTc0XHUxNTc1XHUxNTc2XHUxNTc3XHUxNTc4XHUxNTc5XHUxNTdBXHUxNTdCXHUxNTdDXHUxNTdEXHUxNTdFXHUxNTdGXHUxNTgwXHUxNTgxXHUxNTgyXHUxNTgzXHUxNTg0XHUxNTg1XHUxNTg2XHUxNTg3XHUxNTg4XHUxNTg5XHUxNThBXHUxNThCXHUxNThDXHUxNThEXHUxNThFXHUxNThGXHUxNTkwXHUxNTkxXHUxNTkyXHUxNTkzXHUxNTk0XHUxNTk1XHUxNTk2XHUxNTk3XHUxNTk4XHUxNTk5XHUxNTlBXHUxNTlCXHUxNTlDXHUxNTlEXHUxNTlFXHUxNTlGXHUxNUEwXHUxNUExXHUxNUEyXHUxNUEzXHUxNUE0XHUxNUE1XHUxNUE2XHUxNUE3XHUxNUE4XHUxNUE5XHUxNUFBXHUxNUFCXHUxNUFDXHUxNUFEXHUxNUFFXHUxNUFGXHUxNUIwXHUxNUIxXHUxNUIyXHUxNUIzXHUxNUI0XHUxNUI1XHUxNUI2XHUxNUI3XHUxNUI4XHUxNUI5XHUxNUJBXHUxNUJCXHUxNUJDXHUxNUJEXHUxNUJFXHUxNUJGXHUxNUMwXHUxNUMxXHUxNUMyXHUxNUMzXHUxNUM0XHUxNUM1XHUxNUM2XHUxNUM3XHUxNUM4XHUxNUM5XHUxNUNBXHUxNUNCXHUxNUNDXHUxNUNEXHUxNUNFXHUxNUNGXHUxNUQwXHUxNUQxXHUxNUQyXHUxNUQzXHUxNUQ0XHUxNUQ1XHUxNUQ2XHUxNUQ3XHUxNUQ4XHUxNUQ5XHUxNURBXHUxNURCXHUxNURDXHUxNUREXHUxNURFXHUxNURGXHUxNUUwXHUxNUUxXHUxNUUyXHUxNUUzXHUxNUU0XHUxNUU1XHUxNUU2XHUxNUU3XHUxNUU4XHUxNUU5XHUxNUVBXHUxNUVCXHUxNUVDXHUxNUVEXHUxNUVFXHUxNUVGXHUxNUYwXHUxNUYxXHUxNUYyXHUxNUYzXHUxNUY0XHUxNUY1XHUxNUY2XHUxNUY3XHUxNUY4XHUxNUY5XHUxNUZBXHUxNUZCXHUxNUZDXHUxNUZEXHUxNUZFXHUxNUZGXHUxNjAwXHUxNjAxXHUxNjAyXHUxNjAzXHUxNjA0XHUxNjA1XHUxNjA2XHUxNjA3XHUxNjA4XHUxNjA5XHUxNjBBXHUxNjBCXHUxNjBDXHUxNjBEXHUxNjBFXHUxNjBGXHUxNjEwXHUxNjExXHUxNjEyXHUxNjEzXHUxNjE0XHUxNjE1XHUxNjE2XHUxNjE3XHUxNjE4XHUxNjE5XHUxNjFBXHUxNjFCXHUxNjFDXHUxNjFEXHUxNjFFXHUxNjFGXHUxNjIwXHUxNjIxXHUxNjIyXHUxNjIzXHUxNjI0XHUxNjI1XHUxNjI2XHUxNjI3XHUxNjI4XHUxNjI5XHUxNjJBXHUxNjJCXHUxNjJDXHUxNjJEXHUxNjJFXHUxNjJGXHUxNjMwXHUxNjMxXHUxNjMyXHUxNjMzXHUxNjM0XHUxNjM1XHUxNjM2XHUxNjM3XHUxNjM4XHUxNjM5XHUxNjNBXHUxNjNCXHUxNjNDXHUxNjNEXHUxNjNFXHUxNjNGXHUxNjQwXHUxNjQxXHUxNjQyXHUxNjQzXHUxNjQ0XHUxNjQ1XHUxNjQ2XHUxNjQ3XHUxNjQ4XHUxNjQ5XHUxNjRBXHUxNjRCXHUxNjRDXHUxNjREXHUxNjRFXHUxNjRGXHUxNjUwXHUxNjUxXHUxNjUyXHUxNjUzXHUxNjU0XHUxNjU1XHUxNjU2XHUxNjU3XHUxNjU4XHUxNjU5XHUxNjVBXHUxNjVCXHUxNjVDXHUxNjVEXHUxNjVFXHUxNjVGXHUxNjYwXHUxNjYxXHUxNjYyXHUxNjYzXHUxNjY0XHUxNjY1XHUxNjY2XHUxNjY3XHUxNjY4XHUxNjY5XHUxNjZBXHUxNjZCXHUxNjZDXHUxNjZEXHUxNjZFXHUxNjZGXHUxNjcwXHUxNjcxXHUxNjcyXHUxNjczXHUxNjc0XHUxNjc1XHUxNjc2XHUxNjc3XHUxNjc4XHUxNjc5XHUxNjdBXHUxNjdCXHUxNjdDXHUxNjdEXHUxNjdFXHUxNjdGXHUxNjgxXHUxNjgyXHUxNjgzXHUxNjg0XHUxNjg1XHUxNjg2XHUxNjg3XHUxNjg4XHUxNjg5XHUxNjhBXHUxNjhCXHUxNjhDXHUxNjhEXHUxNjhFXHUxNjhGXHUxNjkwXHUxNjkxXHUxNjkyXHUxNjkzXHUxNjk0XHUxNjk1XHUxNjk2XHUxNjk3XHUxNjk4XHUxNjk5XHUxNjlBXHUxNjlCXHUxNjlDXHUxNjlEXHUxNjlFXHUxNjlGXHUxNkEwXHUxNkExXHUxNkEyXHUxNkEzXHUxNkE0XHUxNkE1XHUxNkE2XHUxNkE3XHUxNkE4XHUxNkE5XHUxNkFBXHUxNkFCXHUxNkFDXHUxNkFEXHUxNkFFXHUxNkFGXHUxNkIwXHUxNkIxXHUxNkIyXHUxNkIzXHUxNkI0XHUxNkI1XHUxNkI2XHUxNkI3XHUxNkI4XHUxNkI5XHUxNkJBXHUxNkJCXHUxNkJDXHUxNkJEXHUxNkJFXHUxNkJGXHUxNkMwXHUxNkMxXHUxNkMyXHUxNkMzXHUxNkM0XHUxNkM1XHUxNkM2XHUxNkM3XHUxNkM4XHUxNkM5XHUxNkNBXHUxNkNCXHUxNkNDXHUxNkNEXHUxNkNFXHUxNkNGXHUxNkQwXHUxNkQxXHUxNkQyXHUxNkQzXHUxNkQ0XHUxNkQ1XHUxNkQ2XHUxNkQ3XHUxNkQ4XHUxNkQ5XHUxNkRBXHUxNkRCXHUxNkRDXHUxNkREXHUxNkRFXHUxNkRGXHUxNkUwXHUxNkUxXHUxNkUyXHUxNkUzXHUxNkU0XHUxNkU1XHUxNkU2XHUxNkU3XHUxNkU4XHUxNkU5XHUxNkVBXHUxNkVCXHUxNkVDXHUxNkVEXHUxNkVFXHUxNkVGXHUxNkYwXHUxNkYxXHUxNkYyXHUxNkYzXHUxNkY0XHUxNkY1XHUxNkY2XHUxNkY3XHUxNkY4XHUxNkY5XHUxNkZBXHUxNkZCXHUxNkZDXHUxNkZEXHUxNkZFXHUxNkZGXHUxNzAwXHUxNzAxXHUxNzAyXHUxNzAzXHUxNzA0XHUxNzA1XHUxNzA2XHUxNzA3XHUxNzA4XHUxNzA5XHUxNzBBXHUxNzBCXHUxNzBDXHUxNzBEXHUxNzBFXHUxNzBGXHUxNzEwXHUxNzExXHUxNzEyXHUxNzEzXHUxNzE0XHUxNzE1XHUxNzE2XHUxNzE3XHUxNzE4XHUxNzE5XHUxNzFBXHUxNzFCXHUxNzFDXHUxNzFEXHUxNzFFXHUxNzFGXHUxNzIwXHUxNzIxXHUxNzIyXHUxNzIzXHUxNzI0XHUxNzI1XHUxNzI2XHUxNzI3XHUxNzI4XHUxNzI5XHUxNzJBXHUxNzJCXHUxNzJDXHUxNzJEXHUxNzJFXHUxNzJGXHUxNzMwXHUxNzMxXHUxNzMyXHUxNzMzXHUxNzM0XHUxNzM1XHUxNzM2XHUxNzM3XHUxNzM4XHUxNzM5XHUxNzNBXHUxNzNCXHUxNzNDXHUxNzNEXHUxNzNFXHUxNzNGXHUxNzQwXHUxNzQxXHUxNzQyXHUxNzQzXHUxNzQ0XHUxNzQ1XHUxNzQ2XHUxNzQ3XHUxNzQ4XHUxNzQ5XHUxNzRBXHUxNzRCXHUxNzRDXHUxNzREXHUxNzRFXHUxNzRGXHUxNzUwXHUxNzUxXHUxNzUyXHUxNzUzXHUxNzU0XHUxNzU1XHUxNzU2XHUxNzU3XHUxNzU4XHUxNzU5XHUxNzVBXHUxNzVCXHUxNzVDXHUxNzVEXHUxNzVFXHUxNzVGXHUxNzYwXHUxNzYxXHUxNzYyXHUxNzYzXHUxNzY0XHUxNzY1XHUxNzY2XHUxNzY3XHUxNzY4XHUxNzY5XHUxNzZBXHUxNzZCXHUxNzZDXHUxNzZEXHUxNzZFXHUxNzZGXHUxNzcwXHUxNzcxXHUxNzcyXHUxNzczXHUxNzc0XHUxNzc1XHUxNzc2XHUxNzc3XHUxNzc4XHUxNzc5XHUxNzdBXHUxNzdCXHUxNzdDXHUxNzdEXHUxNzdFXHUxNzdGXHUxNzgwXHUxNzgxXHUxNzgyXHUxNzgzXHUxNzg0XHUxNzg1XHUxNzg2XHUxNzg3XHUxNzg4XHUxNzg5XHUxNzhBXHUxNzhCXHUxNzhDXHUxNzhEXHUxNzhFXHUxNzhGXHUxNzkwXHUxNzkxXHUxNzkyXHUxNzkzXHUxNzk0XHUxNzk1XHUxNzk2XHUxNzk3XHUxNzk4XHUxNzk5XHUxNzlBXHUxNzlCXHUxNzlDXHUxNzlEXHUxNzlFXHUxNzlGXHUxN0EwXHUxN0ExXHUxN0EyXHUxN0EzXHUxN0E0XHUxN0E1XHUxN0E2XHUxN0E3XHUxN0E4XHUxN0E5XHUxN0FBXHUxN0FCXHUxN0FDXHUxN0FEXHUxN0FFXHUxN0FGXHUxN0IwXHUxN0IxXHUxN0IyXHUxN0IzXHUxN0I0XHUxN0I1XHUxN0I2XHUxN0I3XHUxN0I4XHUxN0I5XHUxN0JBXHUxN0JCXHUxN0JDXHUxN0JEXHUxN0JFXHUxN0JGXHUxN0MwXHUxN0MxXHUxN0MyXHUxN0MzXHUxN0M0XHUxN0M1XHUxN0M2XHUxN0M3XHUxN0M4XHUxN0M5XHUxN0NBXHUxN0NCXHUxN0NDXHUxN0NEXHUxN0NFXHUxN0NGXHUxN0QwXHUxN0QxXHUxN0QyXHUxN0QzXHUxN0Q0XHUxN0Q1XHUxN0Q2XHUxN0Q3XHUxN0Q4XHUxN0Q5XHUxN0RBXHUxN0RCXHUxN0RDXHUxN0REXHUxN0RFXHUxN0RGXHUxN0UwXHUxN0UxXHUxN0UyXHUxN0UzXHUxN0U0XHUxN0U1XHUxN0U2XHUxN0U3XHUxN0U4XHUxN0U5XHUxN0VBXHUxN0VCXHUxN0VDXHUxN0VEXHUxN0VFXHUxN0VGXHUxN0YwXHUxN0YxXHUxN0YyXHUxN0YzXHUxN0Y0XHUxN0Y1XHUxN0Y2XHUxN0Y3XHUxN0Y4XHUxN0Y5XHUxN0ZBXHUxN0ZCXHUxN0ZDXHUxN0ZEXHUxN0ZFXHUxN0ZGIjsKaWYgKGk1LnJlcGxhY2UoL1xzKy9nLCAiIikgIT09IG81KSB7CiAgJEVSUk9SKCIjNTogRXJyb3IgbWF0Y2hpbmcgY2hhcmFjdGVyIGNsYXNzIFxzIGJldHdlZW4gY2hhcmFjdGVyIDE0MDAgYW5kIDE3ZmYiKTsKfQoKdmFyIGk2ID0gIiI7CmZvciAodmFyIGogPSA2MTQ0OyBqIDwgNzE2ODsgaisrKQogIGk2ICs9IFN0cmluZy5mcm9tQ2hhckNvZGUoaik7CnZhciBvNiA9ICJcdTE4MDBcdTE4MDFcdTE4MDJcdTE4MDNcdTE4MDRcdTE4MDVcdTE4MDZcdTE4MDdcdTE4MDhcdTE4MDlcdTE4MEFcdTE4MEJcdTE4MENcdTE4MERcdTE4MEZcdTE4MTBcdTE4MTFcdTE4MTJcdTE4MTNcdTE4MTRcdTE4MTVcdTE4MTZcdTE4MTdcdTE4MThcdTE4MTlcdTE4MUFcdTE4MUJcdTE4MUNcdTE4MURcdTE4MUVcdTE4MUZcdTE4MjBcdTE4MjFcdTE4MjJcdTE4MjNcdTE4MjRcdTE4MjVcdTE4MjZcdTE4MjdcdTE4MjhcdTE4MjlcdTE4MkFcdTE4MkJcdTE4MkNcdTE4MkRcdTE4MkVcdTE4MkZcdTE4MzBcdTE4MzFcdTE4MzJcdTE4MzNcdTE4MzRcdTE4MzVcdTE4MzZcdTE4MzdcdTE4MzhcdTE4MzlcdTE4M0FcdTE4M0JcdTE4M0NcdTE4M0RcdTE4M0VcdTE4M0ZcdTE4NDBcdTE4NDFcdTE4NDJcdTE4NDNcdTE4NDRcdTE4NDVcdTE4NDZcdTE4NDdcdTE4NDhcdTE4NDlcdTE4NEFcdTE4NEJcdTE4NENcdTE4NERcdTE4NEVcdTE4NEZcdTE4NTBcdTE4NTFcdTE4NTJcdTE4NTNcdTE4NTRcdTE4NTVcdTE4NTZcdTE4NTdcdTE4NThcdTE4NTlcdTE4NUFcdTE4NUJcdTE4NUNcdTE4NURcdTE4NUVcdTE4NUZcdTE4NjBcdTE4NjFcdTE4NjJcdTE4NjNcdTE4NjRcdTE4NjVcdTE4NjZcdTE4NjdcdTE4NjhcdTE4NjlcdTE4NkFcdTE4NkJcdTE4NkNcdTE4NkRcdTE4NkVcdTE4NkZcdTE4NzBcdTE4NzFcdTE4NzJcdTE4NzNcdTE4NzRcdTE4NzVcdTE4NzZcdTE4NzdcdTE4NzhcdTE4NzlcdTE4N0FcdTE4N0JcdTE4N0NcdTE4N0RcdTE4N0VcdTE4N0ZcdTE4ODBcdTE4ODFcdTE4ODJcdTE4ODNcdTE4ODRcdTE4ODVcdTE4ODZcdTE4ODdcdTE4ODhcdTE4ODlcdTE4OEFcdTE4OEJcdTE4OENcdTE4OERcdTE4OEVcdTE4OEZcdTE4OTBcdTE4OTFcdTE4OTJcdTE4OTNcdTE4OTRcdTE4OTVcdTE4OTZcdTE4OTdcdTE4OThcdTE4OTlcdTE4OUFcdTE4OUJcdTE4OUNcdTE4OURcdTE4OUVcdTE4OUZcdTE4QTBcdTE4QTFcdTE4QTJcdTE4QTNcdTE4QTRcdTE4QTVcdTE4QTZcdTE4QTdcdTE4QThcdTE4QTlcdTE4QUFcdTE4QUJcdTE4QUNcdTE4QURcdTE4QUVcdTE4QUZcdTE4QjBcdTE4QjFcdTE4QjJcdTE4QjNcdTE4QjRcdTE4QjVcdTE4QjZcdTE4QjdcdTE4QjhcdTE4QjlcdTE4QkFcdTE4QkJcdTE4QkNcdTE4QkRcdTE4QkVcdTE4QkZcdTE4QzBcdTE4QzFcdTE4QzJcdTE4QzNcdTE4QzRcdTE4QzVcdTE4QzZcdTE4QzdcdTE4QzhcdTE4QzlcdTE4Q0FcdTE4Q0JcdTE4Q0NcdTE4Q0RcdTE4Q0VcdTE4Q0ZcdTE4RDBcdTE4RDFcdTE4RDJcdTE4RDNcdTE4RDRcdTE4RDVcdTE4RDZcdTE4RDdcdTE4RDhcdTE4RDlcdTE4REFcdTE4REJcdTE4RENcdTE4RERcdTE4REVcdTE4REZcdTE4RTBcdTE4RTFcdTE4RTJcdTE4RTNcdTE4RTRcdTE4RTVcdTE4RTZcdTE4RTdcdTE4RThcdTE4RTlcdTE4RUFcdTE4RUJcdTE4RUNcdTE4RURcdTE4RUVcdTE4RUZcdTE4RjBcdTE4RjFcdTE4RjJcdTE4RjNcdTE4RjRcdTE4RjVcdTE4RjZcdTE4RjdcdTE4RjhcdTE4RjlcdTE4RkFcdTE4RkJcdTE4RkNcdTE4RkRcdTE4RkVcdTE4RkZcdTE5MDBcdTE5MDFcdTE5MDJcdTE5MDNcdTE5MDRcdTE5MDVcdTE5MDZcdTE5MDdcdTE5MDhcdTE5MDlcdTE5MEFcdTE5MEJcdTE5MENcdTE5MERcdTE5MEVcdTE5MEZcdTE5MTBcdTE5MTFcdTE5MTJcdTE5MTNcdTE5MTRcdTE5MTVcdTE5MTZcdTE5MTdcdTE5MThcdTE5MTlcdTE5MUFcdTE5MUJcdTE5MUNcdTE5MURcdTE5MUVcdTE5MUZcdTE5MjBcdTE5MjFcdTE5MjJcdTE5MjNcdTE5MjRcdTE5MjVcdTE5MjZcdTE5MjdcdTE5MjhcdTE5MjlcdTE5MkFcdTE5MkJcdTE5MkNcdTE5MkRcdTE5MkVcdTE5MkZcdTE5MzBcdTE5MzFcdTE5MzJcdTE5MzNcdTE5MzRcdTE5MzVcdTE5MzZcdTE5MzdcdTE5MzhcdTE5MzlcdTE5M0FcdTE5M0JcdTE5M0NcdTE5M0RcdTE5M0VcdTE5M0ZcdTE5NDBcdTE5NDFcdTE5NDJcdTE5NDNcdTE5NDRcdTE5NDVcdTE5NDZcdTE5NDdcdTE5NDhcdTE5NDlcdTE5NEFcdTE5NEJcdTE5NENcdTE5NERcdTE5NEVcdTE5NEZcdTE5NTBcdTE5NTFcdTE5NTJcdTE5NTNcdTE5NTRcdTE5NTVcdTE5NTZcdTE5NTdcdTE5NThcdTE5NTlcdTE5NUFcdTE5NUJcdTE5NUNcdTE5NURcdTE5NUVcdTE5NUZcdTE5NjBcdTE5NjFcdTE5NjJcdTE5NjNcdTE5NjRcdTE5NjVcdTE5NjZcdTE5NjdcdTE5NjhcdTE5NjlcdTE5NkFcdTE5NkJcdTE5NkNcdTE5NkRcdTE5NkVcdTE5NkZcdTE5NzBcdTE5NzFcdTE5NzJcdTE5NzNcdTE5NzRcdTE5NzVcdTE5NzZcdTE5NzdcdTE5NzhcdTE5NzlcdTE5N0FcdTE5N0JcdTE5N0NcdTE5N0RcdTE5N0VcdTE5N0ZcdTE5ODBcdTE5ODFcdTE5ODJcdTE5ODNcdTE5ODRcdTE5ODVcdTE5ODZcdTE5ODdcdTE5ODhcdTE5ODlcdTE5OEFcdTE5OEJcdTE5OENcdTE5OERcdTE5OEVcdTE5OEZcdTE5OTBcdTE5OTFcdTE5OTJcdTE5OTNcdTE5OTRcdTE5OTVcdTE5OTZcdTE5OTdcdTE5OThcdTE5OTlcdTE5OUFcdTE5OUJcdTE5OUNcdTE5OURcdTE5OUVcdTE5OUZcdTE5QTBcdTE5QTFcdTE5QTJcdTE5QTNcdTE5QTRcdTE5QTVcdTE5QTZcdTE5QTdcdTE5QThcdTE5QTlcdTE5QUFcdTE5QUJcdTE5QUNcdTE5QURcdTE5QUVcdTE5QUZcdTE5QjBcdTE5QjFcdTE5QjJcdTE5QjNcdTE5QjRcdTE5QjVcdTE5QjZcdTE5QjdcdTE5QjhcdTE5QjlcdTE5QkFcdTE5QkJcdTE5QkNcdTE5QkRcdTE5QkVcdTE5QkZcdTE5QzBcdTE5QzFcdTE5QzJcdTE5QzNcdTE5QzRcdTE5QzVcdTE5QzZcdTE5QzdcdTE5QzhcdTE5QzlcdTE5Q0FcdTE5Q0JcdTE5Q0NcdTE5Q0RcdTE5Q0VcdTE5Q0ZcdTE5RDBcdTE5RDFcdTE5RDJcdTE5RDNcdTE5RDRcdTE5RDVcdTE5RDZcdTE5RDdcdTE5RDhcdTE5RDlcdTE5REFcdTE5REJcdTE5RENcdTE5RERcdTE5REVcdTE5REZcdTE5RTBcdTE5RTFcdTE5RTJcdTE5RTNcdTE5RTRcdTE5RTVcdTE5RTZcdTE5RTdcdTE5RThcdTE5RTlcdTE5RUFcdTE5RUJcdTE5RUNcdTE5RURcdTE5RUVcdTE5RUZcdTE5RjBcdTE5RjFcdTE5RjJcdTE5RjNcdTE5RjRcdTE5RjVcdTE5RjZcdTE5RjdcdTE5RjhcdTE5RjlcdTE5RkFcdTE5RkJcdTE5RkNcdTE5RkRcdTE5RkVcdTE5RkZcdTFBMDBcdTFBMDFcdTFBMDJcdTFBMDNcdTFBMDRcdTFBMDVcdTFBMDZcdTFBMDdcdTFBMDhcdTFBMDlcdTFBMEFcdTFBMEJcdTFBMENcdTFBMERcdTFBMEVcdTFBMEZcdTFBMTBcdTFBMTFcdTFBMTJcdTFBMTNcdTFBMTRcdTFBMTVcdTFBMTZcdTFBMTdcdTFBMThcdTFBMTlcdTFBMUFcdTFBMUJcdTFBMUNcdTFBMURcdTFBMUVcdTFBMUZcdTFBMjBcdTFBMjFcdTFBMjJcdTFBMjNcdTFBMjRcdTFBMjVcdTFBMjZcdTFBMjdcdTFBMjhcdTFBMjlcdTFBMkFcdTFBMkJcdTFBMkNcdTFBMkRcdTFBMkVcdTFBMkZcdTFBMzBcdTFBMzFcdTFBMzJcdTFBMzNcdTFBMzRcdTFBMzVcdTFBMzZcdTFBMzdcdTFBMzhcdTFBMzlcdTFBM0FcdTFBM0JcdTFBM0NcdTFBM0RcdTFBM0VcdTFBM0ZcdTFBNDBcdTFBNDFcdTFBNDJcdTFBNDNcdTFBNDRcdTFBNDVcdTFBNDZcdTFBNDdcdTFBNDhcdTFBNDlcdTFBNEFcdTFBNEJcdTFBNENcdTFBNERcdTFBNEVcdTFBNEZcdTFBNTBcdTFBNTFcdTFBNTJcdTFBNTNcdTFBNTRcdTFBNTVcdTFBNTZcdTFBNTdcdTFBNThcdTFBNTlcdTFBNUFcdTFBNUJcdTFBNUNcdTFBNURcdTFBNUVcdTFBNUZcdTFBNjBcdTFBNjFcdTFBNjJcdTFBNjNcdTFBNjRcdTFBNjVcdTFBNjZcdTFBNjdcdTFBNjhcdTFBNjlcdTFBNkFcdTFBNkJcdTFBNkNcdTFBNkRcdTFBNkVcdTFBNkZcdTFBNzBcdTFBNzFcdTFBNzJcdTFBNzNcdTFBNzRcdTFBNzVcdTFBNzZcdTFBNzdcdTFBNzhcdTFBNzlcdTFBN0FcdTFBN0JcdTFBN0NcdTFBN0RcdTFBN0VcdTFBN0ZcdTFBODBcdTFBODFcdTFBODJcdTFBODNcdTFBODRcdTFBODVcdTFBODZcdTFBODdcdTFBODhcdTFBODlcdTFBOEFcdTFBOEJcdTFBOENcdTFBOERcdTFBOEVcdTFBOEZcdTFBOTBcdTFBOTFcdTFBOTJcdTFBOTNcdTFBOTRcdTFBOTVcdTFBOTZcdTFBOTdcdTFBOThcdTFBOTlcdTFBOUFcdTFBOUJcdTFBOUNcdTFBOURcdTFBOUVcdTFBOUZcdTFBQTBcdTFBQTFcdTFBQTJcdTFBQTNcdTFBQTRcdTFBQTVcdTFBQTZcdTFBQTdcdTFBQThcdTFBQTlcdTFBQUFcdTFBQUJcdTFBQUNcdTFBQURcdTFBQUVcdTFBQUZcdTFBQjBcdTFBQjFcdTFBQjJcdTFBQjNcdTFBQjRcdTFBQjVcdTFBQjZcdTFBQjdcdTFBQjhcdTFBQjlcdTFBQkFcdTFBQkJcdTFBQkNcdTFBQkRcdTFBQkVcdTFBQkZcdTFBQzBcdTFBQzFcdTFBQzJcdTFBQzNcdTFBQzRcdTFBQzVcdTFBQzZcdTFBQzdcdTFBQzhcdTFBQzlcdTFBQ0FcdTFBQ0JcdTFBQ0NcdTFBQ0RcdTFBQ0VcdTFBQ0ZcdTFBRDBcdTFBRDFcdTFBRDJcdTFBRDNcdTFBRDRcdTFBRDVcdTFBRDZcdTFBRDdcdTFBRDhcdTFBRDlcdTFBREFcdTFBREJcdTFBRENcdTFBRERcdTFBREVcdTFBREZcdTFBRTBcdTFBRTFcdTFBRTJcdTFBRTNcdTFBRTRcdTFBRTVcdTFBRTZcdTFBRTdcdTFBRThcdTFBRTlcdTFBRUFcdTFBRUJcdTFBRUNcdTFBRURcdTFBRUVcdTFBRUZcdTFBRjBcdTFBRjFcdTFBRjJcdTFBRjNcdTFBRjRcdTFBRjVcdTFBRjZcdTFBRjdcdTFBRjhcdTFBRjlcdTFBRkFcdTFBRkJcdTFBRkNcdTFBRkRcdTFBRkVcdTFBRkZcdTFCMDBcdTFCMDFcdTFCMDJcdTFCMDNcdTFCMDRcdTFCMDVcdTFCMDZcdTFCMDdcdTFCMDhcdTFCMDlcdTFCMEFcdTFCMEJcdTFCMENcdTFCMERcdTFCMEVcdTFCMEZcdTFCMTBcdTFCMTFcdTFCMTJcdTFCMTNcdTFCMTRcdTFCMTVcdTFCMTZcdTFCMTdcdTFCMThcdTFCMTlcdTFCMUFcdTFCMUJcdTFCMUNcdTFCMURcdTFCMUVcdTFCMUZcdTFCMjBcdTFCMjFcdTFCMjJcdTFCMjNcdTFCMjRcdTFCMjVcdTFCMjZcdTFCMjdcdTFCMjhcdTFCMjlcdTFCMkFcdTFCMkJcdTFCMkNcdTFCMkRcdTFCMkVcdTFCMkZcdTFCMzBcdTFCMzFcdTFCMzJcdTFCMzNcdTFCMzRcdTFCMzVcdTFCMzZcdTFCMzdcdTFCMzhcdTFCMzlcdTFCM0FcdTFCM0JcdTFCM0NcdTFCM0RcdTFCM0VcdTFCM0ZcdTFCNDBcdTFCNDFcdTFCNDJcdTFCNDNcdTFCNDRcdTFCNDVcdTFCNDZcdTFCNDdcdTFCNDhcdTFCNDlcdTFCNEFcdTFCNEJcdTFCNENcdTFCNERcdTFCNEVcdTFCNEZcdTFCNTBcdTFCNTFcdTFCNTJcdTFCNTNcdTFCNTRcdTFCNTVcdTFCNTZcdTFCNTdcdTFCNThcdTFCNTlcdTFCNUFcdTFCNUJcdTFCNUNcdTFCNURcdTFCNUVcdTFCNUZcdTFCNjBcdTFCNjFcdTFCNjJcdTFCNjNcdTFCNjRcdTFCNjVcdTFCNjZcdTFCNjdcdTFCNjhcdTFCNjlcdTFCNkFcdTFCNkJcdTFCNkNcdTFCNkRcdTFCNkVcdTFCNkZcdTFCNzBcdTFCNzFcdTFCNzJcdTFCNzNcdTFCNzRcdTFCNzVcdTFCNzZcdTFCNzdcdTFCNzhcdTFCNzlcdTFCN0FcdTFCN0JcdTFCN0NcdTFCN0RcdTFCN0VcdTFCN0ZcdTFCODBcdTFCODFcdTFCODJcdTFCODNcdTFCODRcdTFCODVcdTFCODZcdTFCODdcdTFCODhcdTFCODlcdTFCOEFcdTFCOEJcdTFCOENcdTFCOERcdTFCOEVcdTFCOEZcdTFCOTBcdTFCOTFcdTFCOTJcdTFCOTNcdTFCOTRcdTFCOTVcdTFCOTZcdTFCOTdcdTFCOThcdTFCOTlcdTFCOUFcdTFCOUJcdTFCOUNcdTFCOURcdTFCOUVcdTFCOUZcdTFCQTBcdTFCQTFcdTFCQTJcdTFCQTNcdTFCQTRcdTFCQTVcdTFCQTZcdTFCQTdcdTFCQThcdTFCQTlcdTFCQUFcdTFCQUJcdTFCQUNcdTFCQURcdTFCQUVcdTFCQUZcdTFCQjBcdTFCQjFcdTFCQjJcdTFCQjNcdTFCQjRcdTFCQjVcdTFCQjZcdTFCQjdcdTFCQjhcdTFCQjlcdTFCQkFcdTFCQkJcdTFCQkNcdTFCQkRcdTFCQkVcdTFCQkZcdTFCQzBcdTFCQzFcdTFCQzJcdTFCQzNcdTFCQzRcdTFCQzVcdTFCQzZcdTFCQzdcdTFCQzhcdTFCQzlcdTFCQ0FcdTFCQ0JcdTFCQ0NcdTFCQ0RcdTFCQ0VcdTFCQ0ZcdTFCRDBcdTFCRDFcdTFCRDJcdTFCRDNcdTFCRDRcdTFCRDVcdTFCRDZcdTFCRDdcdTFCRDhcdTFCRDlcdTFCREFcdTFCREJcdTFCRENcdTFCRERcdTFCREVcdTFCREZcdTFCRTBcdTFCRTFcdTFCRTJcdTFCRTNcdTFCRTRcdTFCRTVcdTFCRTZcdTFCRTdcdTFCRThcdTFCRTlcdTFCRUFcdTFCRUJcdTFCRUNcdTFCRURcdTFCRUVcdTFCRUZcdTFCRjBcdTFCRjFcdTFCRjJcdTFCRjNcdTFCRjRcdTFCRjVcdTFCRjZcdTFCRjdcdTFCRjhcdTFCRjlcdTFCRkFcdTFCRkJcdTFCRkNcdTFCRkRcdTFCRkVcdTFCRkYiOwppZiAoaTYucmVwbGFjZSgvXHMrL2csICIiKSAhPT0gbzYpIHsKICAkRVJST1IoIiM2OiBFcnJvciBtYXRjaGluZyBjaGFyYWN0ZXIgY2xhc3MgXHMgYmV0d2VlbiBjaGFyYWN0ZXIgMTgwMCBhbmQgMWJmZiIpOwp9Cgp2YXIgaTcgPSAiIjsKZm9yICh2YXIgaiA9IDcxNjg7IGogPCA4MTkyOyBqKyspCiAgaTcgKz0gU3RyaW5nLmZyb21DaGFyQ29kZShqKTsKdmFyIG83ID0gaTc7CmlmIChpNy5yZXBsYWNlKC9ccysvZywgIiIpICE9PSBvNykgewogICRFUlJPUigiIzc6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBccyBiZXR3ZWVuIGNoYXJhY3RlciAxYzAwIGFuZCAxZmZmIik7Cn0KCnZhciBpOCA9ICIiOwpmb3IgKHZhciBqID0gODE5MjsgaiA8IDkyMTY7IGorKykKICBpOCArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzggPSAiXHUyMDBCXHUyMDBDXHUyMDBEXHUyMDBFXHUyMDBGXHUyMDEwXHUyMDExXHUyMDEyXHUyMDEzXHUyMDE0XHUyMDE1XHUyMDE2XHUyMDE3XHUyMDE4XHUyMDE5XHUyMDFBXHUyMDFCXHUyMDFDXHUyMDFEXHUyMDFFXHUyMDFGXHUyMDIwXHUyMDIxXHUyMDIyXHUyMDIzXHUyMDI0XHUyMDI1XHUyMDI2XHUyMDI3XHUyMDJBXHUyMDJCXHUyMDJDXHUyMDJEXHUyMDJFXHUyMDMwXHUyMDMxXHUyMDMyXHUyMDMzXHUyMDM0XHUyMDM1XHUyMDM2XHUyMDM3XHUyMDM4XHUyMDM5XHUyMDNBXHUyMDNCXHUyMDNDXHUyMDNEXHUyMDNFXHUyMDNGXHUyMDQwXHUyMDQxXHUyMDQyXHUyMDQzXHUyMDQ0XHUyMDQ1XHUyMDQ2XHUyMDQ3XHUyMDQ4XHUyMDQ5XHUyMDRBXHUyMDRCXHUyMDRDXHUyMDREXHUyMDRFXHUyMDRGXHUyMDUwXHUyMDUxXHUyMDUyXHUyMDUzXHUyMDU0XHUyMDU1XHUyMDU2XHUyMDU3XHUyMDU4XHUyMDU5XHUyMDVBXHUyMDVCXHUyMDVDXHUyMDVEXHUyMDVFXHUyMDYwXHUyMDYxXHUyMDYyXHUyMDYzXHUyMDY0XHUyMDY1XHUyMDY2XHUyMDY3XHUyMDY4XHUyMDY5XHUyMDZBXHUyMDZCXHUyMDZDXHUyMDZEXHUyMDZFXHUyMDZGXHUyMDcwXHUyMDcxXHUyMDcyXHUyMDczXHUyMDc0XHUyMDc1XHUyMDc2XHUyMDc3XHUyMDc4XHUyMDc5XHUyMDdBXHUyMDdCXHUyMDdDXHUyMDdEXHUyMDdFXHUyMDdGXHUyMDgwXHUyMDgxXHUyMDgyXHUyMDgzXHUyMDg0XHUyMDg1XHUyMDg2XHUyMDg3XHUyMDg4XHUyMDg5XHUyMDhBXHUyMDhCXHUyMDhDXHUyMDhEXHUyMDhFXHUyMDhGXHUyMDkwXHUyMDkxXHUyMDkyXHUyMDkzXHUyMDk0XHUyMDk1XHUyMDk2XHUyMDk3XHUyMDk4XHUyMDk5XHUyMDlBXHUyMDlCXHUyMDlDXHUyMDlEXHUyMDlFXHUyMDlGXHUyMEEwXHUyMEExXHUyMEEyXHUyMEEzXHUyMEE0XHUyMEE1XHUyMEE2XHUyMEE3XHUyMEE4XHUyMEE5XHUyMEFBXHUyMEFCXHUyMEFDXHUyMEFEXHUyMEFFXHUyMEFGXHUyMEIwXHUyMEIxXHUyMEIyXHUyMEIzXHUyMEI0XHUyMEI1XHUyMEI2XHUyMEI3XHUyMEI4XHUyMEI5XHUyMEJBXHUyMEJCXHUyMEJDXHUyMEJEXHUyMEJFXHUyMEJGXHUyMEMwXHUyMEMxXHUyMEMyXHUyMEMzXHUyMEM0XHUyMEM1XHUyMEM2XHUyMEM3XHUyMEM4XHUyMEM5XHUyMENBXHUyMENCXHUyMENDXHUyMENEXHUyMENFXHUyMENGXHUyMEQwXHUyMEQxXHUyMEQyXHUyMEQzXHUyMEQ0XHUyMEQ1XHUyMEQ2XHUyMEQ3XHUyMEQ4XHUyMEQ5XHUyMERBXHUyMERCXHUyMERDXHUyMEREXHUyMERFXHUyMERGXHUyMEUwXHUyMEUxXHUyMEUyXHUyMEUzXHUyMEU0XHUyMEU1XHUyMEU2XHUyMEU3XHUyMEU4XHUyMEU5XHUyMEVBXHUyMEVCXHUyMEVDXHUyMEVEXHUyMEVFXHUyMEVGXHUyMEYwXHUyMEYxXHUyMEYyXHUyMEYzXHUyMEY0XHUyMEY1XHUyMEY2XHUyMEY3XHUyMEY4XHUyMEY5XHUyMEZBXHUyMEZCXHUyMEZDXHUyMEZEXHUyMEZFXHUyMEZGXHUyMTAwXHUyMTAxXHUyMTAyXHUyMTAzXHUyMTA0XHUyMTA1XHUyMTA2XHUyMTA3XHUyMTA4XHUyMTA5XHUyMTBBXHUyMTBCXHUyMTBDXHUyMTBEXHUyMTBFXHUyMTBGXHUyMTEwXHUyMTExXHUyMTEyXHUyMTEzXHUyMTE0XHUyMTE1XHUyMTE2XHUyMTE3XHUyMTE4XHUyMTE5XHUyMTFBXHUyMTFCXHUyMTFDXHUyMTFEXHUyMTFFXHUyMTFGXHUyMTIwXHUyMTIxXHUyMTIyXHUyMTIzXHUyMTI0XHUyMTI1XHUyMTI2XHUyMTI3XHUyMTI4XHUyMTI5XHUyMTJBXHUyMTJCXHUyMTJDXHUyMTJEXHUyMTJFXHUyMTJGXHUyMTMwXHUyMTMxXHUyMTMyXHUyMTMzXHUyMTM0XHUyMTM1XHUyMTM2XHUyMTM3XHUyMTM4XHUyMTM5XHUyMTNBXHUyMTNCXHUyMTNDXHUyMTNEXHUyMTNFXHUyMTNGXHUyMTQwXHUyMTQxXHUyMTQyXHUyMTQzXHUyMTQ0XHUyMTQ1XHUyMTQ2XHUyMTQ3XHUyMTQ4XHUyMTQ5XHUyMTRBXHUyMTRCXHUyMTRDXHUyMTREXHUyMTRFXHUyMTRGXHUyMTUwXHUyMTUxXHUyMTUyXHUyMTUzXHUyMTU0XHUyMTU1XHUyMTU2XHUyMTU3XHUyMTU4XHUyMTU5XHUyMTVBXHUyMTVCXHUyMTVDXHUyMTVEXHUyMTVFXHUyMTVGXHUyMTYwXHUyMTYxXHUyMTYyXHUyMTYzXHUyMTY0XHUyMTY1XHUyMTY2XHUyMTY3XHUyMTY4XHUyMTY5XHUyMTZBXHUyMTZCXHUyMTZDXHUyMTZEXHUyMTZFXHUyMTZGXHUyMTcwXHUyMTcxXHUyMTcyXHUyMTczXHUyMTc0XHUyMTc1XHUyMTc2XHUyMTc3XHUyMTc4XHUyMTc5XHUyMTdBXHUyMTdCXHUyMTdDXHUyMTdEXHUyMTdFXHUyMTdGXHUyMTgwXHUyMTgxXHUyMTgyXHUyMTgzXHUyMTg0XHUyMTg1XHUyMTg2XHUyMTg3XHUyMTg4XHUyMTg5XHUyMThBXHUyMThCXHUyMThDXHUyMThEXHUyMThFXHUyMThGXHUyMTkwXHUyMTkxXHUyMTkyXHUyMTkzXHUyMTk0XHUyMTk1XHUyMTk2XHUyMTk3XHUyMTk4XHUyMTk5XHUyMTlBXHUyMTlCXHUyMTlDXHUyMTlEXHUyMTlFXHUyMTlGXHUyMUEwXHUyMUExXHUyMUEyXHUyMUEzXHUyMUE0XHUyMUE1XHUyMUE2XHUyMUE3XHUyMUE4XHUyMUE5XHUyMUFBXHUyMUFCXHUyMUFDXHUyMUFEXHUyMUFFXHUyMUFGXHUyMUIwXHUyMUIxXHUyMUIyXHUyMUIzXHUyMUI0XHUyMUI1XHUyMUI2XHUyMUI3XHUyMUI4XHUyMUI5XHUyMUJBXHUyMUJCXHUyMUJDXHUyMUJEXHUyMUJFXHUyMUJGXHUyMUMwXHUyMUMxXHUyMUMyXHUyMUMzXHUyMUM0XHUyMUM1XHUyMUM2XHUyMUM3XHUyMUM4XHUyMUM5XHUyMUNBXHUyMUNCXHUyMUNDXHUyMUNEXHUyMUNFXHUyMUNGXHUyMUQwXHUyMUQxXHUyMUQyXHUyMUQzXHUyMUQ0XHUyMUQ1XHUyMUQ2XHUyMUQ3XHUyMUQ4XHUyMUQ5XHUyMURBXHUyMURCXHUyMURDXHUyMUREXHUyMURFXHUyMURGXHUyMUUwXHUyMUUxXHUyMUUyXHUyMUUzXHUyMUU0XHUyMUU1XHUyMUU2XHUyMUU3XHUyMUU4XHUyMUU5XHUyMUVBXHUyMUVCXHUyMUVDXHUyMUVEXHUyMUVFXHUyMUVGXHUyMUYwXHUyMUYxXHUyMUYyXHUyMUYzXHUyMUY0XHUyMUY1XHUyMUY2XHUyMUY3XHUyMUY4XHUyMUY5XHUyMUZBXHUyMUZCXHUyMUZDXHUyMUZEXHUyMUZFXHUyMUZGXHUyMjAwXHUyMjAxXHUyMjAyXHUyMjAzXHUyMjA0XHUyMjA1XHUyMjA2XHUyMjA3XHUyMjA4XHUyMjA5XHUyMjBBXHUyMjBCXHUyMjBDXHUyMjBEXHUyMjBFXHUyMjBGXHUyMjEwXHUyMjExXHUyMjEyXHUyMjEzXHUyMjE0XHUyMjE1XHUyMjE2XHUyMjE3XHUyMjE4XHUyMjE5XHUyMjFBXHUyMjFCXHUyMjFDXHUyMjFEXHUyMjFFXHUyMjFGXHUyMjIwXHUyMjIxXHUyMjIyXHUyMjIzXHUyMjI0XHUyMjI1XHUyMjI2XHUyMjI3XHUyMjI4XHUyMjI5XHUyMjJBXHUyMjJCXHUyMjJDXHUyMjJEXHUyMjJFXHUyMjJGXHUyMjMwXHUyMjMxXHUyMjMyXHUyMjMzXHUyMjM0XHUyMjM1XHUyMjM2XHUyMjM3XHUyMjM4XHUyMjM5XHUyMjNBXHUyMjNCXHUyMjNDXHUyMjNEXHUyMjNFXHUyMjNGXHUyMjQwXHUyMjQxXHUyMjQyXHUyMjQzXHUyMjQ0XHUyMjQ1XHUyMjQ2XHUyMjQ3XHUyMjQ4XHUyMjQ5XHUyMjRBXHUyMjRCXHUyMjRDXHUyMjREXHUyMjRFXHUyMjRGXHUyMjUwXHUyMjUxXHUyMjUyXHUyMjUzXHUyMjU0XHUyMjU1XHUyMjU2XHUyMjU3XHUyMjU4XHUyMjU5XHUyMjVBXHUyMjVCXHUyMjVDXHUyMjVEXHUyMjVFXHUyMjVGXHUyMjYwXHUyMjYxXHUyMjYyXHUyMjYzXHUyMjY0XHUyMjY1XHUyMjY2XHUyMjY3XHUyMjY4XHUyMjY5XHUyMjZBXHUyMjZCXHUyMjZDXHUyMjZEXHUyMjZFXHUyMjZGXHUyMjcwXHUyMjcxXHUyMjcyXHUyMjczXHUyMjc0XHUyMjc1XHUyMjc2XHUyMjc3XHUyMjc4XHUyMjc5XHUyMjdBXHUyMjdCXHUyMjdDXHUyMjdEXHUyMjdFXHUyMjdGXHUyMjgwXHUyMjgxXHUyMjgyXHUyMjgzXHUyMjg0XHUyMjg1XHUyMjg2XHUyMjg3XHUyMjg4XHUyMjg5XHUyMjhBXHUyMjhCXHUyMjhDXHUyMjhEXHUyMjhFXHUyMjhGXHUyMjkwXHUyMjkxXHUyMjkyXHUyMjkzXHUyMjk0XHUyMjk1XHUyMjk2XHUyMjk3XHUyMjk4XHUyMjk5XHUyMjlBXHUyMjlCXHUyMjlDXHUyMjlEXHUyMjlFXHUyMjlGXHUyMkEwXHUyMkExXHUyMkEyXHUyMkEzXHUyMkE0XHUyMkE1XHUyMkE2XHUyMkE3XHUyMkE4XHUyMkE5XHUyMkFBXHUyMkFCXHUyMkFDXHUyMkFEXHUyMkFFXHUyMkFGXHUyMkIwXHUyMkIxXHUyMkIyXHUyMkIzXHUyMkI0XHUyMkI1XHUyMkI2XHUyMkI3XHUyMkI4XHUyMkI5XHUyMkJBXHUyMkJCXHUyMkJDXHUyMkJEXHUyMkJFXHUyMkJGXHUyMkMwXHUyMkMxXHUyMkMyXHUyMkMzXHUyMkM0XHUyMkM1XHUyMkM2XHUyMkM3XHUyMkM4XHUyMkM5XHUyMkNBXHUyMkNCXHUyMkNDXHUyMkNEXHUyMkNFXHUyMkNGXHUyMkQwXHUyMkQxXHUyMkQyXHUyMkQzXHUyMkQ0XHUyMkQ1XHUyMkQ2XHUyMkQ3XHUyMkQ4XHUyMkQ5XHUyMkRBXHUyMkRCXHUyMkRDXHUyMkREXHUyMkRFXHUyMkRGXHUyMkUwXHUyMkUxXHUyMkUyXHUyMkUzXHUyMkU0XHUyMkU1XHUyMkU2XHUyMkU3XHUyMkU4XHUyMkU5XHUyMkVBXHUyMkVCXHUyMkVDXHUyMkVEXHUyMkVFXHUyMkVGXHUyMkYwXHUyMkYxXHUyMkYyXHUyMkYzXHUyMkY0XHUyMkY1XHUyMkY2XHUyMkY3XHUyMkY4XHUyMkY5XHUyMkZBXHUyMkZCXHUyMkZDXHUyMkZEXHUyMkZFXHUyMkZGXHUyMzAwXHUyMzAxXHUyMzAyXHUyMzAzXHUyMzA0XHUyMzA1XHUyMzA2XHUyMzA3XHUyMzA4XHUyMzA5XHUyMzBBXHUyMzBCXHUyMzBDXHUyMzBEXHUyMzBFXHUyMzBGXHUyMzEwXHUyMzExXHUyMzEyXHUyMzEzXHUyMzE0XHUyMzE1XHUyMzE2XHUyMzE3XHUyMzE4XHUyMzE5XHUyMzFBXHUyMzFCXHUyMzFDXHUyMzFEXHUyMzFFXHUyMzFGXHUyMzIwXHUyMzIxXHUyMzIyXHUyMzIzXHUyMzI0XHUyMzI1XHUyMzI2XHUyMzI3XHUyMzI4XHUyMzI5XHUyMzJBXHUyMzJCXHUyMzJDXHUyMzJEXHUyMzJFXHUyMzJGXHUyMzMwXHUyMzMxXHUyMzMyXHUyMzMzXHUyMzM0XHUyMzM1XHUyMzM2XHUyMzM3XHUyMzM4XHUyMzM5XHUyMzNBXHUyMzNCXHUyMzNDXHUyMzNEXHUyMzNFXHUyMzNGXHUyMzQwXHUyMzQxXHUyMzQyXHUyMzQzXHUyMzQ0XHUyMzQ1XHUyMzQ2XHUyMzQ3XHUyMzQ4XHUyMzQ5XHUyMzRBXHUyMzRCXHUyMzRDXHUyMzREXHUyMzRFXHUyMzRGXHUyMzUwXHUyMzUxXHUyMzUyXHUyMzUzXHUyMzU0XHUyMzU1XHUyMzU2XHUyMzU3XHUyMzU4XHUyMzU5XHUyMzVBXHUyMzVCXHUyMzVDXHUyMzVEXHUyMzVFXHUyMzVGXHUyMzYwXHUyMzYxXHUyMzYyXHUyMzYzXHUyMzY0XHUyMzY1XHUyMzY2XHUyMzY3XHUyMzY4XHUyMzY5XHUyMzZBXHUyMzZCXHUyMzZDXHUyMzZEXHUyMzZFXHUyMzZGXHUyMzcwXHUyMzcxXHUyMzcyXHUyMzczXHUyMzc0XHUyMzc1XHUyMzc2XHUyMzc3XHUyMzc4XHUyMzc5XHUyMzdBXHUyMzdCXHUyMzdDXHUyMzdEXHUyMzdFXHUyMzdGXHUyMzgwXHUyMzgxXHUyMzgyXHUyMzgzXHUyMzg0XHUyMzg1XHUyMzg2XHUyMzg3XHUyMzg4XHUyMzg5XHUyMzhBXHUyMzhCXHUyMzhDXHUyMzhEXHUyMzhFXHUyMzhGXHUyMzkwXHUyMzkxXHUyMzkyXHUyMzkzXHUyMzk0XHUyMzk1XHUyMzk2XHUyMzk3XHUyMzk4XHUyMzk5XHUyMzlBXHUyMzlCXHUyMzlDXHUyMzlEXHUyMzlFXHUyMzlGXHUyM0EwXHUyM0ExXHUyM0EyXHUyM0EzXHUyM0E0XHUyM0E1XHUyM0E2XHUyM0E3XHUyM0E4XHUyM0E5XHUyM0FBXHUyM0FCXHUyM0FDXHUyM0FEXHUyM0FFXHUyM0FGXHUyM0IwXHUyM0IxXHUyM0IyXHUyM0IzXHUyM0I0XHUyM0I1XHUyM0I2XHUyM0I3XHUyM0I4XHUyM0I5XHUyM0JBXHUyM0JCXHUyM0JDXHUyM0JEXHUyM0JFXHUyM0JGXHUyM0MwXHUyM0MxXHUyM0MyXHUyM0MzXHUyM0M0XHUyM0M1XHUyM0M2XHUyM0M3XHUyM0M4XHUyM0M5XHUyM0NBXHUyM0NCXHUyM0NDXHUyM0NEXHUyM0NFXHUyM0NGXHUyM0QwXHUyM0QxXHUyM0QyXHUyM0QzXHUyM0Q0XHUyM0Q1XHUyM0Q2XHUyM0Q3XHUyM0Q4XHUyM0Q5XHUyM0RBXHUyM0RCXHUyM0RDXHUyM0REXHUyM0RFXHUyM0RGXHUyM0UwXHUyM0UxXHUyM0UyXHUyM0UzXHUyM0U0XHUyM0U1XHUyM0U2XHUyM0U3XHUyM0U4XHUyM0U5XHUyM0VBXHUyM0VCXHUyM0VDXHUyM0VEXHUyM0VFXHUyM0VGXHUyM0YwXHUyM0YxXHUyM0YyXHUyM0YzXHUyM0Y0XHUyM0Y1XHUyM0Y2XHUyM0Y3XHUyM0Y4XHUyM0Y5XHUyM0ZBXHUyM0ZCXHUyM0ZDXHUyM0ZEXHUyM0ZFXHUyM0ZGIjsKaWYgKGk4LnJlcGxhY2UoL1xzKy9nLCAiIikgIT09IG84KSB7CiAgJEVSUk9SKCIjODogRXJyb3IgbWF0Y2hpbmcgY2hhcmFjdGVyIGNsYXNzIFxzIGJldHdlZW4gY2hhcmFjdGVyIDIwMDAgYW5kIDIzZmYiKTsKfQoKdmFyIGk5ID0gIiI7CmZvciAodmFyIGogPSA5MjE2OyBqIDwgMTAyNDA7IGorKykKICBpOSArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzkgPSBpOTsKaWYgKGk5LnJlcGxhY2UoL1xzKy9nLCAiIikgIT09IG85KSB7CiAgJEVSUk9SKCIjOTogRXJyb3IgbWF0Y2hpbmcgY2hhcmFjdGVyIGNsYXNzIFxzIGJldHdlZW4gY2hhcmFjdGVyIDI0MDAgYW5kIDI3ZmYiKTsKfQoKdmFyIGkxMCA9ICIiOwpmb3IgKHZhciBqID0gMTAyNDA7IGogPCAxMTI2NDsgaisrKQogIGkxMCArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzEwID0gaTEwOwppZiAoaTEwLnJlcGxhY2UoL1xzKy9nLCAiIikgIT09IG8xMCkgewogICRFUlJPUigiIzEwOiBFcnJvciBtYXRjaGluZyBjaGFyYWN0ZXIgY2xhc3MgXHMgYmV0d2VlbiBjaGFyYWN0ZXIgMjgwMCBhbmQgMmJmZiIpOwp9Cgp2YXIgaTExID0gIiI7CmZvciAodmFyIGogPSAxMTI2NDsgaiA8IDEyMjg4OyBqKyspCiAgaTExICs9IFN0cmluZy5mcm9tQ2hhckNvZGUoaik7CnZhciBvMTEgPSBpMTE7CmlmIChpMTEucmVwbGFjZSgvXHMrL2csICIiKSAhPT0gbzExKSB7CiAgJEVSUk9SKCIjMTE6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBccyBiZXR3ZWVuIGNoYXJhY3RlciAyYzAwIGFuZCAyZmZmIik7Cn0KCnZhciBpMTIgPSAiIjsKZm9yICh2YXIgaiA9IDEyMjg4OyBqIDwgMTMzMTI7IGorKykKICBpMTIgKz0gU3RyaW5nLmZyb21DaGFyQ29kZShqKTsKdmFyIG8xMiA9ICJcdTMwMDFcdTMwMDJcdTMwMDNcdTMwMDRcdTMwMDVcdTMwMDZcdTMwMDdcdTMwMDhcdTMwMDlcdTMwMEFcdTMwMEJcdTMwMENcdTMwMERcdTMwMEVcdTMwMEZcdTMwMTBcdTMwMTFcdTMwMTJcdTMwMTNcdTMwMTRcdTMwMTVcdTMwMTZcdTMwMTdcdTMwMThcdTMwMTlcdTMwMUFcdTMwMUJcdTMwMUNcdTMwMURcdTMwMUVcdTMwMUZcdTMwMjBcdTMwMjFcdTMwMjJcdTMwMjNcdTMwMjRcdTMwMjVcdTMwMjZcdTMwMjdcdTMwMjhcdTMwMjlcdTMwMkFcdTMwMkJcdTMwMkNcdTMwMkRcdTMwMkVcdTMwMkZcdTMwMzBcdTMwMzFcdTMwMzJcdTMwMzNcdTMwMzRcdTMwMzVcdTMwMzZcdTMwMzdcdTMwMzhcdTMwMzlcdTMwM0FcdTMwM0JcdTMwM0NcdTMwM0RcdTMwM0VcdTMwM0ZcdTMwNDBcdTMwNDFcdTMwNDJcdTMwNDNcdTMwNDRcdTMwNDVcdTMwNDZcdTMwNDdcdTMwNDhcdTMwNDlcdTMwNEFcdTMwNEJcdTMwNENcdTMwNERcdTMwNEVcdTMwNEZcdTMwNTBcdTMwNTFcdTMwNTJcdTMwNTNcdTMwNTRcdTMwNTVcdTMwNTZcdTMwNTdcdTMwNThcdTMwNTlcdTMwNUFcdTMwNUJcdTMwNUNcdTMwNURcdTMwNUVcdTMwNUZcdTMwNjBcdTMwNjFcdTMwNjJcdTMwNjNcdTMwNjRcdTMwNjVcdTMwNjZcdTMwNjdcdTMwNjhcdTMwNjlcdTMwNkFcdTMwNkJcdTMwNkNcdTMwNkRcdTMwNkVcdTMwNkZcdTMwNzBcdTMwNzFcdTMwNzJcdTMwNzNcdTMwNzRcdTMwNzVcdTMwNzZcdTMwNzdcdTMwNzhcdTMwNzlcdTMwN0FcdTMwN0JcdTMwN0NcdTMwN0RcdTMwN0VcdTMwN0ZcdTMwODBcdTMwODFcdTMwODJcdTMwODNcdTMwODRcdTMwODVcdTMwODZcdTMwODdcdTMwODhcdTMwODlcdTMwOEFcdTMwOEJcdTMwOENcdTMwOERcdTMwOEVcdTMwOEZcdTMwOTBcdTMwOTFcdTMwOTJcdTMwOTNcdTMwOTRcdTMwOTVcdTMwOTZcdTMwOTdcdTMwOThcdTMwOTlcdTMwOUFcdTMwOUJcdTMwOUNcdTMwOURcdTMwOUVcdTMwOUZcdTMwQTBcdTMwQTFcdTMwQTJcdTMwQTNcdTMwQTRcdTMwQTVcdTMwQTZcdTMwQTdcdTMwQThcdTMwQTlcdTMwQUFcdTMwQUJcdTMwQUNcdTMwQURcdTMwQUVcdTMwQUZcdTMwQjBcdTMwQjFcdTMwQjJcdTMwQjNcdTMwQjRcdTMwQjVcdTMwQjZcdTMwQjdcdTMwQjhcdTMwQjlcdTMwQkFcdTMwQkJcdTMwQkNcdTMwQkRcdTMwQkVcdTMwQkZcdTMwQzBcdTMwQzFcdTMwQzJcdTMwQzNcdTMwQzRcdTMwQzVcdTMwQzZcdTMwQzdcdTMwQzhcdTMwQzlcdTMwQ0FcdTMwQ0JcdTMwQ0NcdTMwQ0RcdTMwQ0VcdTMwQ0ZcdTMwRDBcdTMwRDFcdTMwRDJcdTMwRDNcdTMwRDRcdTMwRDVcdTMwRDZcdTMwRDdcdTMwRDhcdTMwRDlcdTMwREFcdTMwREJcdTMwRENcdTMwRERcdTMwREVcdTMwREZcdTMwRTBcdTMwRTFcdTMwRTJcdTMwRTNcdTMwRTRcdTMwRTVcdTMwRTZcdTMwRTdcdTMwRThcdTMwRTlcdTMwRUFcdTMwRUJcdTMwRUNcdTMwRURcdTMwRUVcdTMwRUZcdTMwRjBcdTMwRjFcdTMwRjJcdTMwRjNcdTMwRjRcdTMwRjVcdTMwRjZcdTMwRjdcdTMwRjhcdTMwRjlcdTMwRkFcdTMwRkJcdTMwRkNcdTMwRkRcdTMwRkVcdTMwRkZcdTMxMDBcdTMxMDFcdTMxMDJcdTMxMDNcdTMxMDRcdTMxMDVcdTMxMDZcdTMxMDdcdTMxMDhcdTMxMDlcdTMxMEFcdTMxMEJcdTMxMENcdTMxMERcdTMxMEVcdTMxMEZcdTMxMTBcdTMxMTFcdTMxMTJcdTMxMTNcdTMxMTRcdTMxMTVcdTMxMTZcdTMxMTdcdTMxMThcdTMxMTlcdTMxMUFcdTMxMUJcdTMxMUNcdTMxMURcdTMxMUVcdTMxMUZcdTMxMjBcdTMxMjFcdTMxMjJcdTMxMjNcdTMxMjRcdTMxMjVcdTMxMjZcdTMxMjdcdTMxMjhcdTMxMjlcdTMxMkFcdTMxMkJcdTMxMkNcdTMxMkRcdTMxMkVcdTMxMkZcdTMxMzBcdTMxMzFcdTMxMzJcdTMxMzNcdTMxMzRcdTMxMzVcdTMxMzZcdTMxMzdcdTMxMzhcdTMxMzlcdTMxM0FcdTMxM0JcdTMxM0NcdTMxM0RcdTMxM0VcdTMxM0ZcdTMxNDBcdTMxNDFcdTMxNDJcdTMxNDNcdTMxNDRcdTMxNDVcdTMxNDZcdTMxNDdcdTMxNDhcdTMxNDlcdTMxNEFcdTMxNEJcdTMxNENcdTMxNERcdTMxNEVcdTMxNEZcdTMxNTBcdTMxNTFcdTMxNTJcdTMxNTNcdTMxNTRcdTMxNTVcdTMxNTZcdTMxNTdcdTMxNThcdTMxNTlcdTMxNUFcdTMxNUJcdTMxNUNcdTMxNURcdTMxNUVcdTMxNUZcdTMxNjBcdTMxNjFcdTMxNjJcdTMxNjNcdTMxNjRcdTMxNjVcdTMxNjZcdTMxNjdcdTMxNjhcdTMxNjlcdTMxNkFcdTMxNkJcdTMxNkNcdTMxNkRcdTMxNkVcdTMxNkZcdTMxNzBcdTMxNzFcdTMxNzJcdTMxNzNcdTMxNzRcdTMxNzVcdTMxNzZcdTMxNzdcdTMxNzhcdTMxNzlcdTMxN0FcdTMxN0JcdTMxN0NcdTMxN0RcdTMxN0VcdTMxN0ZcdTMxODBcdTMxODFcdTMxODJcdTMxODNcdTMxODRcdTMxODVcdTMxODZcdTMxODdcdTMxODhcdTMxODlcdTMxOEFcdTMxOEJcdTMxOENcdTMxOERcdTMxOEVcdTMxOEZcdTMxOTBcdTMxOTFcdTMxOTJcdTMxOTNcdTMxOTRcdTMxOTVcdTMxOTZcdTMxOTdcdTMxOThcdTMxOTlcdTMxOUFcdTMxOUJcdTMxOUNcdTMxOURcdTMxOUVcdTMxOUZcdTMxQTBcdTMxQTFcdTMxQTJcdTMxQTNcdTMxQTRcdTMxQTVcdTMxQTZcdTMxQTdcdTMxQThcdTMxQTlcdTMxQUFcdTMxQUJcdTMxQUNcdTMxQURcdTMxQUVcdTMxQUZcdTMxQjBcdTMxQjFcdTMxQjJcdTMxQjNcdTMxQjRcdTMxQjVcdTMxQjZcdTMxQjdcdTMxQjhcdTMxQjlcdTMxQkFcdTMxQkJcdTMxQkNcdTMxQkRcdTMxQkVcdTMxQkZcdTMxQzBcdTMxQzFcdTMxQzJcdTMxQzNcdTMxQzRcdTMxQzVcdTMxQzZcdTMxQzdcdTMxQzhcdTMxQzlcdTMxQ0FcdTMxQ0JcdTMxQ0NcdTMxQ0RcdTMxQ0VcdTMxQ0ZcdTMxRDBcdTMxRDFcdTMxRDJcdTMxRDNcdTMxRDRcdTMxRDVcdTMxRDZcdTMxRDdcdTMxRDhcdTMxRDlcdTMxREFcdTMxREJcdTMxRENcdTMxRERcdTMxREVcdTMxREZcdTMxRTBcdTMxRTFcdTMxRTJcdTMxRTNcdTMxRTRcdTMxRTVcdTMxRTZcdTMxRTdcdTMxRThcdTMxRTlcdTMxRUFcdTMxRUJcdTMxRUNcdTMxRURcdTMxRUVcdTMxRUZcdTMxRjBcdTMxRjFcdTMxRjJcdTMxRjNcdTMxRjRcdTMxRjVcdTMxRjZcdTMxRjdcdTMxRjhcdTMxRjlcdTMxRkFcdTMxRkJcdTMxRkNcdTMxRkRcdTMxRkVcdTMxRkZcdTMyMDBcdTMyMDFcdTMyMDJcdTMyMDNcdTMyMDRcdTMyMDVcdTMyMDZcdTMyMDdcdTMyMDhcdTMyMDlcdTMyMEFcdTMyMEJcdTMyMENcdTMyMERcdTMyMEVcdTMyMEZcdTMyMTBcdTMyMTFcdTMyMTJcdTMyMTNcdTMyMTRcdTMyMTVcdTMyMTZcdTMyMTdcdTMyMThcdTMyMTlcdTMyMUFcdTMyMUJcdTMyMUNcdTMyMURcdTMyMUVcdTMyMUZcdTMyMjBcdTMyMjFcdTMyMjJcdTMyMjNcdTMyMjRcdTMyMjVcdTMyMjZcdTMyMjdcdTMyMjhcdTMyMjlcdTMyMkFcdTMyMkJcdTMyMkNcdTMyMkRcdTMyMkVcdTMyMkZcdTMyMzBcdTMyMzFcdTMyMzJcdTMyMzNcdTMyMzRcdTMyMzVcdTMyMzZcdTMyMzdcdTMyMzhcdTMyMzlcdTMyM0FcdTMyM0JcdTMyM0NcdTMyM0RcdTMyM0VcdTMyM0ZcdTMyNDBcdTMyNDFcdTMyNDJcdTMyNDNcdTMyNDRcdTMyNDVcdTMyNDZcdTMyNDdcdTMyNDhcdTMyNDlcdTMyNEFcdTMyNEJcdTMyNENcdTMyNERcdTMyNEVcdTMyNEZcdTMyNTBcdTMyNTFcdTMyNTJcdTMyNTNcdTMyNTRcdTMyNTVcdTMyNTZcdTMyNTdcdTMyNThcdTMyNTlcdTMyNUFcdTMyNUJcdTMyNUNcdTMyNURcdTMyNUVcdTMyNUZcdTMyNjBcdTMyNjFcdTMyNjJcdTMyNjNcdTMyNjRcdTMyNjVcdTMyNjZcdTMyNjdcdTMyNjhcdTMyNjlcdTMyNkFcdTMyNkJcdTMyNkNcdTMyNkRcdTMyNkVcdTMyNkZcdTMyNzBcdTMyNzFcdTMyNzJcdTMyNzNcdTMyNzRcdTMyNzVcdTMyNzZcdTMyNzdcdTMyNzhcdTMyNzlcdTMyN0FcdTMyN0JcdTMyN0NcdTMyN0RcdTMyN0VcdTMyN0ZcdTMyODBcdTMyODFcdTMyODJcdTMyODNcdTMyODRcdTMyODVcdTMyODZcdTMyODdcdTMyODhcdTMyODlcdTMyOEFcdTMyOEJcdTMyOENcdTMyOERcdTMyOEVcdTMyOEZcdTMyOTBcdTMyOTFcdTMyOTJcdTMyOTNcdTMyOTRcdTMyOTVcdTMyOTZcdTMyOTdcdTMyOThcdTMyOTlcdTMyOUFcdTMyOUJcdTMyOUNcdTMyOURcdTMyOUVcdTMyOUZcdTMyQTBcdTMyQTFcdTMyQTJcdTMyQTNcdTMyQTRcdTMyQTVcdTMyQTZcdTMyQTdcdTMyQThcdTMyQTlcdTMyQUFcdTMyQUJcdTMyQUNcdTMyQURcdTMyQUVcdTMyQUZcdTMyQjBcdTMyQjFcdTMyQjJcdTMyQjNcdTMyQjRcdTMyQjVcdTMyQjZcdTMyQjdcdTMyQjhcdTMyQjlcdTMyQkFcdTMyQkJcdTMyQkNcdTMyQkRcdTMyQkVcdTMyQkZcdTMyQzBcdTMyQzFcdTMyQzJcdTMyQzNcdTMyQzRcdTMyQzVcdTMyQzZcdTMyQzdcdTMyQzhcdTMyQzlcdTMyQ0FcdTMyQ0JcdTMyQ0NcdTMyQ0RcdTMyQ0VcdTMyQ0ZcdTMyRDBcdTMyRDFcdTMyRDJcdTMyRDNcdTMyRDRcdTMyRDVcdTMyRDZcdTMyRDdcdTMyRDhcdTMyRDlcdTMyREFcdTMyREJcdTMyRENcdTMyRERcdTMyREVcdTMyREZcdTMyRTBcdTMyRTFcdTMyRTJcdTMyRTNcdTMyRTRcdTMyRTVcdTMyRTZcdTMyRTdcdTMyRThcdTMyRTlcdTMyRUFcdTMyRUJcdTMyRUNcdTMyRURcdTMyRUVcdTMyRUZcdTMyRjBcdTMyRjFcdTMyRjJcdTMyRjNcdTMyRjRcdTMyRjVcdTMyRjZcdTMyRjdcdTMyRjhcdTMyRjlcdTMyRkFcdTMyRkJcdTMyRkNcdTMyRkRcdTMyRkVcdTMyRkZcdTMzMDBcdTMzMDFcdTMzMDJcdTMzMDNcdTMzMDRcdTMzMDVcdTMzMDZcdTMzMDdcdTMzMDhcdTMzMDlcdTMzMEFcdTMzMEJcdTMzMENcdTMzMERcdTMzMEVcdTMzMEZcdTMzMTBcdTMzMTFcdTMzMTJcdTMzMTNcdTMzMTRcdTMzMTVcdTMzMTZcdTMzMTdcdTMzMThcdTMzMTlcdTMzMUFcdTMzMUJcdTMzMUNcdTMzMURcdTMzMUVcdTMzMUZcdTMzMjBcdTMzMjFcdTMzMjJcdTMzMjNcdTMzMjRcdTMzMjVcdTMzMjZcdTMzMjdcdTMzMjhcdTMzMjlcdTMzMkFcdTMzMkJcdTMzMkNcdTMzMkRcdTMzMkVcdTMzMkZcdTMzMzBcdTMzMzFcdTMzMzJcdTMzMzNcdTMzMzRcdTMzMzVcdTMzMzZcdTMzMzdcdTMzMzhcdTMzMzlcdTMzM0FcdTMzM0JcdTMzM0NcdTMzM0RcdTMzM0VcdTMzM0ZcdTMzNDBcdTMzNDFcdTMzNDJcdTMzNDNcdTMzNDRcdTMzNDVcdTMzNDZcdTMzNDdcdTMzNDhcdTMzNDlcdTMzNEFcdTMzNEJcdTMzNENcdTMzNERcdTMzNEVcdTMzNEZcdTMzNTBcdTMzNTFcdTMzNTJcdTMzNTNcdTMzNTRcdTMzNTVcdTMzNTZcdTMzNTdcdTMzNThcdTMzNTlcdTMzNUFcdTMzNUJcdTMzNUNcdTMzNURcdTMzNUVcdTMzNUZcdTMzNjBcdTMzNjFcdTMzNjJcdTMzNjNcdTMzNjRcdTMzNjVcdTMzNjZcdTMzNjdcdTMzNjhcdTMzNjlcdTMzNkFcdTMzNkJcdTMzNkNcdTMzNkRcdTMzNkVcdTMzNkZcdTMzNzBcdTMzNzFcdTMzNzJcdTMzNzNcdTMzNzRcdTMzNzVcdTMzNzZcdTMzNzdcdTMzNzhcdTMzNzlcdTMzN0FcdTMzN0JcdTMzN0NcdTMzN0RcdTMzN0VcdTMzN0ZcdTMzODBcdTMzODFcdTMzODJcdTMzODNcdTMzODRcdTMzODVcdTMzODZcdTMzODdcdTMzODhcdTMzODlcdTMzOEFcdTMzOEJcdTMzOENcdTMzOERcdTMzOEVcdTMzOEZcdTMzOTBcdTMzOTFcdTMzOTJcdTMzOTNcdTMzOTRcdTMzOTVcdTMzOTZcdTMzOTdcdTMzOThcdTMzOTlcdTMzOUFcdTMzOUJcdTMzOUNcdTMzOURcdTMzOUVcdTMzOUZcdTMzQTBcdTMzQTFcdTMzQTJcdTMzQTNcdTMzQTRcdTMzQTVcdTMzQTZcdTMzQTdcdTMzQThcdTMzQTlcdTMzQUFcdTMzQUJcdTMzQUNcdTMzQURcdTMzQUVcdTMzQUZcdTMzQjBcdTMzQjFcdTMzQjJcdTMzQjNcdTMzQjRcdTMzQjVcdTMzQjZcdTMzQjdcdTMzQjhcdTMzQjlcdTMzQkFcdTMzQkJcdTMzQkNcdTMzQkRcdTMzQkVcdTMzQkZcdTMzQzBcdTMzQzFcdTMzQzJcdTMzQzNcdTMzQzRcdTMzQzVcdTMzQzZcdTMzQzdcdTMzQzhcdTMzQzlcdTMzQ0FcdTMzQ0JcdTMzQ0NcdTMzQ0RcdTMzQ0VcdTMzQ0ZcdTMzRDBcdTMzRDFcdTMzRDJcdTMzRDNcdTMzRDRcdTMzRDVcdTMzRDZcdTMzRDdcdTMzRDhcdTMzRDlcdTMzREFcdTMzREJcdTMzRENcdTMzRERcdTMzREVcdTMzREZcdTMzRTBcdTMzRTFcdTMzRTJcdTMzRTNcdTMzRTRcdTMzRTVcdTMzRTZcdTMzRTdcdTMzRThcdTMzRTlcdTMzRUFcdTMzRUJcdTMzRUNcdTMzRURcdTMzRUVcdTMzRUZcdTMzRjBcdTMzRjFcdTMzRjJcdTMzRjNcdTMzRjRcdTMzRjVcdTMzRjZcdTMzRjdcdTMzRjhcdTMzRjlcdTMzRkFcdTMzRkJcdTMzRkNcdTMzRkRcdTMzRkVcdTMzRkYiOwppZiAoaTEyLnJlcGxhY2UoL1xzKy9nLCAiIikgIT09IG8xMikgewogICRFUlJPUigiIzEyOiBFcnJvciBtYXRjaGluZyBjaGFyYWN0ZXIgY2xhc3MgXHMgYmV0d2VlbiBjaGFyYWN0ZXIgMzAwMCBhbmQgMzNmZiIpOwp9Cgp2YXIgaTEzID0gIiI7CmZvciAodmFyIGogPSAxMzMxMjsgaiA8IDE0MzM2OyBqKyspCiAgaTEzICs9IFN0cmluZy5mcm9tQ2hhckNvZGUoaik7CnZhciBvMTMgPSBpMTM7CmlmIChpMTMucmVwbGFjZSgvXHMrL2csICIiKSAhPT0gbzEzKSB7CiAgJEVSUk9SKCIjMTM6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBccyBiZXR3ZWVuIGNoYXJhY3RlciAzNDAwIGFuZCAzN2ZmIik7Cn0KCnZhciBpMTQgPSAiIjsKZm9yICh2YXIgaiA9IDE0MzM2OyBqIDwgMTUzNjA7IGorKykKICBpMTQgKz0gU3RyaW5nLmZyb21DaGFyQ29kZShqKTsKdmFyIG8xNCA9IGkxNDsKaWYgKGkxNC5yZXBsYWNlKC9ccysvZywgIiIpICE9PSBvMTQpIHsKICAkRVJST1IoIiMxNDogRXJyb3IgbWF0Y2hpbmcgY2hhcmFjdGVyIGNsYXNzIFxzIGJldHdlZW4gY2hhcmFjdGVyIDM4MDAgYW5kIDNiZmYiKTsKfQoKdmFyIGkxNSA9ICIiOwpmb3IgKHZhciBqID0gMTUzNjA7IGogPCAxNjM4NDsgaisrKQogIGkxNSArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzE1ID0gaTE1OwppZiAoaTE1LnJlcGxhY2UoL1xzKy9nLCAiIikgIT09IG8xNSkgewogICRFUlJPUigiIzE1OiBFcnJvciBtYXRjaGluZyBjaGFyYWN0ZXIgY2xhc3MgXHMgYmV0d2VlbiBjaGFyYWN0ZXIgM2MwMCBhbmQgM2ZmZiIpOwp9Cgp2YXIgaTE2ID0gIiI7CmZvciAodmFyIGogPSAxNjM4NDsgaiA8IDE3NDA4OyBqKyspCiAgaTE2ICs9IFN0cmluZy5mcm9tQ2hhckNvZGUoaik7CnZhciBvMTYgPSBpMTY7CmlmIChpMTYucmVwbGFjZSgvXHMrL2csICIiKSAhPT0gbzE2KSB7CiAgJEVSUk9SKCIjMTY6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBccyBiZXR3ZWVuIGNoYXJhY3RlciA0MDAwIGFuZCA0M2ZmIik7Cn0KCnZhciBpMTcgPSAiIjsKZm9yICh2YXIgaiA9IDE3NDA4OyBqIDwgMTg0MzI7IGorKykKICBpMTcgKz0gU3RyaW5nLmZyb21DaGFyQ29kZShqKTsKdmFyIG8xNyA9IGkxNzsKaWYgKGkxNy5yZXBsYWNlKC9ccysvZywgIiIpICE9PSBvMTcpIHsKICAkRVJST1IoIiMxNzogRXJyb3IgbWF0Y2hpbmcgY2hhcmFjdGVyIGNsYXNzIFxzIGJldHdlZW4gY2hhcmFjdGVyIDQ0MDAgYW5kIDQ3ZmYiKTsKfQoKdmFyIGkxOCA9ICIiOwpmb3IgKHZhciBqID0gMTg0MzI7IGogPCAxOTQ1NjsgaisrKQogIGkxOCArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzE4ID0gaTE4OwppZiAoaTE4LnJlcGxhY2UoL1xzKy9nLCAiIikgIT09IG8xOCkgewogICRFUlJPUigiIzE4OiBFcnJvciBtYXRjaGluZyBjaGFyYWN0ZXIgY2xhc3MgXHMgYmV0d2VlbiBjaGFyYWN0ZXIgNDgwMCBhbmQgNGJmZiIpOwp9Cgp2YXIgaTE5ID0gIiI7CmZvciAodmFyIGogPSAxOTQ1NjsgaiA8IDIwNDgwOyBqKyspCiAgaTE5ICs9IFN0cmluZy5mcm9tQ2hhckNvZGUoaik7CnZhciBvMTkgPSBpMTk7CmlmIChpMTkucmVwbGFjZSgvXHMrL2csICIiKSAhPT0gbzE5KSB7CiAgJEVSUk9SKCIjMTk6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBccyBiZXR3ZWVuIGNoYXJhY3RlciA0YzAwIGFuZCA0ZmZmIik7Cn0KCnZhciBpMjAgPSAiIjsKZm9yICh2YXIgaiA9IDIwNDgwOyBqIDwgMjE1MDQ7IGorKykKICBpMjAgKz0gU3RyaW5nLmZyb21DaGFyQ29kZShqKTsKdmFyIG8yMCA9IGkyMDsKaWYgKGkyMC5yZXBsYWNlKC9ccysvZywgIiIpICE9PSBvMjApIHsKICAkRVJST1IoIiMyMDogRXJyb3IgbWF0Y2hpbmcgY2hhcmFjdGVyIGNsYXNzIFxzIGJldHdlZW4gY2hhcmFjdGVyIDUwMDAgYW5kIDUzZmYiKTsKfQoKdmFyIGkyMSA9ICIiOwpmb3IgKHZhciBqID0gMjE1MDQ7IGogPCAyMjUyODsgaisrKQogIGkyMSArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzIxID0gaTIxOwppZiAoaTIxLnJlcGxhY2UoL1xzKy9nLCAiIikgIT09IG8yMSkgewogICRFUlJPUigiIzIxOiBFcnJvciBtYXRjaGluZyBjaGFyYWN0ZXIgY2xhc3MgXHMgYmV0d2VlbiBjaGFyYWN0ZXIgNTQwMCBhbmQgNTdmZiIpOwp9Cgp2YXIgaTIyID0gIiI7CmZvciAodmFyIGogPSAyMjUyODsgaiA8IDIzNTUyOyBqKyspCiAgaTIyICs9IFN0cmluZy5mcm9tQ2hhckNvZGUoaik7CnZhciBvMjIgPSBpMjI7CmlmIChpMjIucmVwbGFjZSgvXHMrL2csICIiKSAhPT0gbzIyKSB7CiAgJEVSUk9SKCIjMjI6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBccyBiZXR3ZWVuIGNoYXJhY3RlciA1ODAwIGFuZCA1YmZmIik7Cn0KCnZhciBpMjMgPSAiIjsKZm9yICh2YXIgaiA9IDIzNTUyOyBqIDwgMjQ1NzY7IGorKykKICBpMjMgKz0gU3RyaW5nLmZyb21DaGFyQ29kZShqKTsKdmFyIG8yMyA9IGkyMzsKaWYgKGkyMy5yZXBsYWNlKC9ccysvZywgIiIpICE9PSBvMjMpIHsKICAkRVJST1IoIiMyMzogRXJyb3IgbWF0Y2hpbmcgY2hhcmFjdGVyIGNsYXNzIFxzIGJldHdlZW4gY2hhcmFjdGVyIDVjMDAgYW5kIDVmZmYiKTsKfQoKdmFyIGkyNCA9ICIiOwpmb3IgKHZhciBqID0gMjQ1NzY7IGogPCAyNTYwMDsgaisrKQogIGkyNCArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzI0ID0gaTI0OwppZiAoaTI0LnJlcGxhY2UoL1xzKy9nLCAiIikgIT09IG8yNCkgewogICRFUlJPUigiIzI0OiBFcnJvciBtYXRjaGluZyBjaGFyYWN0ZXIgY2xhc3MgXHMgYmV0d2VlbiBjaGFyYWN0ZXIgNjAwMCBhbmQgNjNmZiIpOwp9Cgp2YXIgaTI1ID0gIiI7CmZvciAodmFyIGogPSAyNTYwMDsgaiA8IDI2NjI0OyBqKyspCiAgaTI1ICs9IFN0cmluZy5mcm9tQ2hhckNvZGUoaik7CnZhciBvMjUgPSBpMjU7CmlmIChpMjUucmVwbGFjZSgvXHMrL2csICIiKSAhPT0gbzI1KSB7CiAgJEVSUk9SKCIjMjU6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBccyBiZXR3ZWVuIGNoYXJhY3RlciA2NDAwIGFuZCA2N2ZmIik7Cn0KCnZhciBpMjYgPSAiIjsKZm9yICh2YXIgaiA9IDI2NjI0OyBqIDwgMjc2NDg7IGorKykKICBpMjYgKz0gU3RyaW5nLmZyb21DaGFyQ29kZShqKTsKdmFyIG8yNiA9IGkyNjsKaWYgKGkyNi5yZXBsYWNlKC9ccysvZywgIiIpICE9PSBvMjYpIHsKICAkRVJST1IoIiMyNjogRXJyb3IgbWF0Y2hpbmcgY2hhcmFjdGVyIGNsYXNzIFxzIGJldHdlZW4gY2hhcmFjdGVyIDY4MDAgYW5kIDZiZmYiKTsKfQoKdmFyIGkyNyA9ICIiOwpmb3IgKHZhciBqID0gMjc2NDg7IGogPCAyODY3MjsgaisrKQogIGkyNyArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzI3ID0gaTI3OwppZiAoaTI3LnJlcGxhY2UoL1xzKy9nLCAiIikgIT09IG8yNykgewogICRFUlJPUigiIzI3OiBFcnJvciBtYXRjaGluZyBjaGFyYWN0ZXIgY2xhc3MgXHMgYmV0d2VlbiBjaGFyYWN0ZXIgNmMwMCBhbmQgNmZmZiIpOwp9Cgp2YXIgaTI4ID0gIiI7CmZvciAodmFyIGogPSAyODY3MjsgaiA8IDI5Njk2OyBqKyspCiAgaTI4ICs9IFN0cmluZy5mcm9tQ2hhckNvZGUoaik7CnZhciBvMjggPSBpMjg7CmlmIChpMjgucmVwbGFjZSgvXHMrL2csICIiKSAhPT0gbzI4KSB7CiAgJEVSUk9SKCIjMjg6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBccyBiZXR3ZWVuIGNoYXJhY3RlciA3MDAwIGFuZCA3M2ZmIik7Cn0KCnZhciBpMjkgPSAiIjsKZm9yICh2YXIgaiA9IDI5Njk2OyBqIDwgMzA3MjA7IGorKykKICBpMjkgKz0gU3RyaW5nLmZyb21DaGFyQ29kZShqKTsKdmFyIG8yOSA9IGkyOTsKaWYgKGkyOS5yZXBsYWNlKC9ccysvZywgIiIpICE9PSBvMjkpIHsKICAkRVJST1IoIiMyOTogRXJyb3IgbWF0Y2hpbmcgY2hhcmFjdGVyIGNsYXNzIFxzIGJldHdlZW4gY2hhcmFjdGVyIDc0MDAgYW5kIDc3ZmYiKTsKfQoKdmFyIGkzMCA9ICIiOwpmb3IgKHZhciBqID0gMzA3MjA7IGogPCAzMTc0NDsgaisrKQogIGkzMCArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzMwID0gaTMwOwppZiAoaTMwLnJlcGxhY2UoL1xzKy9nLCAiIikgIT09IG8zMCkgewogICRFUlJPUigiIzMwOiBFcnJvciBtYXRjaGluZyBjaGFyYWN0ZXIgY2xhc3MgXHMgYmV0d2VlbiBjaGFyYWN0ZXIgNzgwMCBhbmQgN2JmZiIpOwp9Cgp2YXIgaTMxID0gIiI7CmZvciAodmFyIGogPSAzMTc0NDsgaiA8IDMyNzY4OyBqKyspCiAgaTMxICs9IFN0cmluZy5mcm9tQ2hhckNvZGUoaik7CnZhciBvMzEgPSBpMzE7CmlmIChpMzEucmVwbGFjZSgvXHMrL2csICIiKSAhPT0gbzMxKSB7CiAgJEVSUk9SKCIjMzE6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBccyBiZXR3ZWVuIGNoYXJhY3RlciA3YzAwIGFuZCA3ZmZmIik7Cn0KCnZhciBpMzIgPSAiIjsKZm9yICh2YXIgaiA9IDMyNzY4OyBqIDwgMzM3OTI7IGorKykKICBpMzIgKz0gU3RyaW5nLmZyb21DaGFyQ29kZShqKTsKdmFyIG8zMiA9IGkzMjsKaWYgKGkzMi5yZXBsYWNlKC9ccysvZywgIiIpICE9PSBvMzIpIHsKICAkRVJST1IoIiMzMjogRXJyb3IgbWF0Y2hpbmcgY2hhcmFjdGVyIGNsYXNzIFxzIGJldHdlZW4gY2hhcmFjdGVyIDgwMDAgYW5kIDgzZmYiKTsKfQoKdmFyIGkzMyA9ICIiOwpmb3IgKHZhciBqID0gMzM3OTI7IGogPCAzNDgxNjsgaisrKQogIGkzMyArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzMzID0gaTMzOwppZiAoaTMzLnJlcGxhY2UoL1xzKy9nLCAiIikgIT09IG8zMykgewogICRFUlJPUigiIzMzOiBFcnJvciBtYXRjaGluZyBjaGFyYWN0ZXIgY2xhc3MgXHMgYmV0d2VlbiBjaGFyYWN0ZXIgODQwMCBhbmQgODdmZiIpOwp9Cgp2YXIgaTM0ID0gIiI7CmZvciAodmFyIGogPSAzNDgxNjsgaiA8IDM1ODQwOyBqKyspCiAgaTM0ICs9IFN0cmluZy5mcm9tQ2hhckNvZGUoaik7CnZhciBvMzQgPSBpMzQ7CmlmIChpMzQucmVwbGFjZSgvXHMrL2csICIiKSAhPT0gbzM0KSB7CiAgJEVSUk9SKCIjMzQ6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBccyBiZXR3ZWVuIGNoYXJhY3RlciA4ODAwIGFuZCA4YmZmIik7Cn0KCnZhciBpMzUgPSAiIjsKZm9yICh2YXIgaiA9IDM1ODQwOyBqIDwgMzY4NjQ7IGorKykKICBpMzUgKz0gU3RyaW5nLmZyb21DaGFyQ29kZShqKTsKdmFyIG8zNSA9IGkzNTsKaWYgKGkzNS5yZXBsYWNlKC9ccysvZywgIiIpICE9PSBvMzUpIHsKICAkRVJST1IoIiMzNTogRXJyb3IgbWF0Y2hpbmcgY2hhcmFjdGVyIGNsYXNzIFxzIGJldHdlZW4gY2hhcmFjdGVyIDhjMDAgYW5kIDhmZmYiKTsKfQoKdmFyIGkzNiA9ICIiOwpmb3IgKHZhciBqID0gMzY4NjQ7IGogPCAzNzg4ODsgaisrKQogIGkzNiArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzM2ID0gaTM2OwppZiAoaTM2LnJlcGxhY2UoL1xzKy9nLCAiIikgIT09IG8zNikgewogICRFUlJPUigiIzM2OiBFcnJvciBtYXRjaGluZyBjaGFyYWN0ZXIgY2xhc3MgXHMgYmV0d2VlbiBjaGFyYWN0ZXIgOTAwMCBhbmQgOTNmZiIpOwp9Cgp2YXIgaTM3ID0gIiI7CmZvciAodmFyIGogPSAzNzg4ODsgaiA8IDM4OTEyOyBqKyspCiAgaTM3ICs9IFN0cmluZy5mcm9tQ2hhckNvZGUoaik7CnZhciBvMzcgPSBpMzc7CmlmIChpMzcucmVwbGFjZSgvXHMrL2csICIiKSAhPT0gbzM3KSB7CiAgJEVSUk9SKCIjMzc6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBccyBiZXR3ZWVuIGNoYXJhY3RlciA5NDAwIGFuZCA5N2ZmIik7Cn0KCnZhciBpMzggPSAiIjsKZm9yICh2YXIgaiA9IDM4OTEyOyBqIDwgMzk5MzY7IGorKykKICBpMzggKz0gU3RyaW5nLmZyb21DaGFyQ29kZShqKTsKdmFyIG8zOCA9IGkzODsKaWYgKGkzOC5yZXBsYWNlKC9ccysvZywgIiIpICE9PSBvMzgpIHsKICAkRVJST1IoIiMzODogRXJyb3IgbWF0Y2hpbmcgY2hhcmFjdGVyIGNsYXNzIFxzIGJldHdlZW4gY2hhcmFjdGVyIDk4MDAgYW5kIDliZmYiKTsKfQoKdmFyIGkzOSA9ICIiOwpmb3IgKHZhciBqID0gMzk5MzY7IGogPCA0MDk2MDsgaisrKQogIGkzOSArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzM5ID0gaTM5OwppZiAoaTM5LnJlcGxhY2UoL1xzKy9nLCAiIikgIT09IG8zOSkgewogICRFUlJPUigiIzM5OiBFcnJvciBtYXRjaGluZyBjaGFyYWN0ZXIgY2xhc3MgXHMgYmV0d2VlbiBjaGFyYWN0ZXIgOWMwMCBhbmQgOWZmZiIpOwp9Cgp2YXIgaTQwID0gIiI7CmZvciAodmFyIGogPSA0MDk2MDsgaiA8IDQxOTg0OyBqKyspCiAgaTQwICs9IFN0cmluZy5mcm9tQ2hhckNvZGUoaik7CnZhciBvNDAgPSBpNDA7CmlmIChpNDAucmVwbGFjZSgvXHMrL2csICIiKSAhPT0gbzQwKSB7CiAgJEVSUk9SKCIjNDA6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBccyBiZXR3ZWVuIGNoYXJhY3RlciBhMDAwIGFuZCBhM2ZmIik7Cn0KCnZhciBpNDEgPSAiIjsKZm9yICh2YXIgaiA9IDQxOTg0OyBqIDwgNDMwMDg7IGorKykKICBpNDEgKz0gU3RyaW5nLmZyb21DaGFyQ29kZShqKTsKdmFyIG80MSA9IGk0MTsKaWYgKGk0MS5yZXBsYWNlKC9ccysvZywgIiIpICE9PSBvNDEpIHsKICAkRVJST1IoIiM0MTogRXJyb3IgbWF0Y2hpbmcgY2hhcmFjdGVyIGNsYXNzIFxzIGJldHdlZW4gY2hhcmFjdGVyIGE0MDAgYW5kIGE3ZmYiKTsKfQoKdmFyIGk0MiA9ICIiOwpmb3IgKHZhciBqID0gNDMwMDg7IGogPCA0NDAzMjsgaisrKQogIGk0MiArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzQyID0gaTQyOwppZiAoaTQyLnJlcGxhY2UoL1xzKy9nLCAiIikgIT09IG80MikgewogICRFUlJPUigiIzQyOiBFcnJvciBtYXRjaGluZyBjaGFyYWN0ZXIgY2xhc3MgXHMgYmV0d2VlbiBjaGFyYWN0ZXIgYTgwMCBhbmQgYWJmZiIpOwp9Cgp2YXIgaTQzID0gIiI7CmZvciAodmFyIGogPSA0NDAzMjsgaiA8IDQ1MDU2OyBqKyspCiAgaTQzICs9IFN0cmluZy5mcm9tQ2hhckNvZGUoaik7CnZhciBvNDMgPSBpNDM7CmlmIChpNDMucmVwbGFjZSgvXHMrL2csICIiKSAhPT0gbzQzKSB7CiAgJEVSUk9SKCIjNDM6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBccyBiZXR3ZWVuIGNoYXJhY3RlciBhYzAwIGFuZCBhZmZmIik7Cn0KCnZhciBpNDQgPSAiIjsKZm9yICh2YXIgaiA9IDQ1MDU2OyBqIDwgNDYwODA7IGorKykKICBpNDQgKz0gU3RyaW5nLmZyb21DaGFyQ29kZShqKTsKdmFyIG80NCA9IGk0NDsKaWYgKGk0NC5yZXBsYWNlKC9ccysvZywgIiIpICE9PSBvNDQpIHsKICAkRVJST1IoIiM0NDogRXJyb3IgbWF0Y2hpbmcgY2hhcmFjdGVyIGNsYXNzIFxzIGJldHdlZW4gY2hhcmFjdGVyIGIwMDAgYW5kIGIzZmYiKTsKfQoKdmFyIGk0NSA9ICIiOwpmb3IgKHZhciBqID0gNDYwODA7IGogPCA0NzEwNDsgaisrKQogIGk0NSArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzQ1ID0gaTQ1OwppZiAoaTQ1LnJlcGxhY2UoL1xzKy9nLCAiIikgIT09IG80NSkgewogICRFUlJPUigiIzQ1OiBFcnJvciBtYXRjaGluZyBjaGFyYWN0ZXIgY2xhc3MgXHMgYmV0d2VlbiBjaGFyYWN0ZXIgYjQwMCBhbmQgYjdmZiIpOwp9Cgp2YXIgaTQ2ID0gIiI7CmZvciAodmFyIGogPSA0NzEwNDsgaiA8IDQ4MTI4OyBqKyspCiAgaTQ2ICs9IFN0cmluZy5mcm9tQ2hhckNvZGUoaik7CnZhciBvNDYgPSBpNDY7CmlmIChpNDYucmVwbGFjZSgvXHMrL2csICIiKSAhPT0gbzQ2KSB7CiAgJEVSUk9SKCIjNDY6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBccyBiZXR3ZWVuIGNoYXJhY3RlciBiODAwIGFuZCBiYmZmIik7Cn0KCnZhciBpNDcgPSAiIjsKZm9yICh2YXIgaiA9IDQ4MTI4OyBqIDwgNDkxNTI7IGorKykKICBpNDcgKz0gU3RyaW5nLmZyb21DaGFyQ29kZShqKTsKdmFyIG80NyA9IGk0NzsKaWYgKGk0Ny5yZXBsYWNlKC9ccysvZywgIiIpICE9PSBvNDcpIHsKICAkRVJST1IoIiM0NzogRXJyb3IgbWF0Y2hpbmcgY2hhcmFjdGVyIGNsYXNzIFxzIGJldHdlZW4gY2hhcmFjdGVyIGJjMDAgYW5kIGJmZmYiKTsKfQoKdmFyIGk0OCA9ICIiOwpmb3IgKHZhciBqID0gNDkxNTI7IGogPCA1MDE3NjsgaisrKQogIGk0OCArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzQ4ID0gaTQ4OwppZiAoaTQ4LnJlcGxhY2UoL1xzKy9nLCAiIikgIT09IG80OCkgewogICRFUlJPUigiIzQ4OiBFcnJvciBtYXRjaGluZyBjaGFyYWN0ZXIgY2xhc3MgXHMgYmV0d2VlbiBjaGFyYWN0ZXIgYzAwMCBhbmQgYzNmZiIpOwp9Cgp2YXIgaTQ5ID0gIiI7CmZvciAodmFyIGogPSA1MDE3NjsgaiA8IDUxMjAwOyBqKyspCiAgaTQ5ICs9IFN0cmluZy5mcm9tQ2hhckNvZGUoaik7CnZhciBvNDkgPSBpNDk7CmlmIChpNDkucmVwbGFjZSgvXHMrL2csICIiKSAhPT0gbzQ5KSB7CiAgJEVSUk9SKCIjNDk6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBccyBiZXR3ZWVuIGNoYXJhY3RlciBjNDAwIGFuZCBjN2ZmIik7Cn0KCnZhciBpNTAgPSAiIjsKZm9yICh2YXIgaiA9IDUxMjAwOyBqIDwgNTIyMjQ7IGorKykKICBpNTAgKz0gU3RyaW5nLmZyb21DaGFyQ29kZShqKTsKdmFyIG81MCA9IGk1MDsKaWYgKGk1MC5yZXBsYWNlKC9ccysvZywgIiIpICE9PSBvNTApIHsKICAkRVJST1IoIiM1MDogRXJyb3IgbWF0Y2hpbmcgY2hhcmFjdGVyIGNsYXNzIFxzIGJldHdlZW4gY2hhcmFjdGVyIGM4MDAgYW5kIGNiZmYiKTsKfQoKdmFyIGk1MSA9ICIiOwpmb3IgKHZhciBqID0gNTIyMjQ7IGogPCA1MzI0ODsgaisrKQogIGk1MSArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzUxID0gaTUxOwppZiAoaTUxLnJlcGxhY2UoL1xzKy9nLCAiIikgIT09IG81MSkgewogICRFUlJPUigiIzUxOiBFcnJvciBtYXRjaGluZyBjaGFyYWN0ZXIgY2xhc3MgXHMgYmV0d2VlbiBjaGFyYWN0ZXIgY2MwMCBhbmQgY2ZmZiIpOwp9Cgp2YXIgaTUyID0gIiI7CmZvciAodmFyIGogPSA1MzI0ODsgaiA8IDU0MjcyOyBqKyspCiAgaTUyICs9IFN0cmluZy5mcm9tQ2hhckNvZGUoaik7CnZhciBvNTIgPSBpNTI7CmlmIChpNTIucmVwbGFjZSgvXHMrL2csICIiKSAhPT0gbzUyKSB7CiAgJEVSUk9SKCIjNTI6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBccyBiZXR3ZWVuIGNoYXJhY3RlciBkMDAwIGFuZCBkM2ZmIik7Cn0KCnZhciBpNTMgPSAiIjsKZm9yICh2YXIgaiA9IDU0MjcyOyBqIDwgNTUyOTY7IGorKykKICBpNTMgKz0gU3RyaW5nLmZyb21DaGFyQ29kZShqKTsKdmFyIG81MyA9IGk1MzsKaWYgKGk1My5yZXBsYWNlKC9ccysvZywgIiIpICE9PSBvNTMpIHsKICAkRVJST1IoIiM1MzogRXJyb3IgbWF0Y2hpbmcgY2hhcmFjdGVyIGNsYXNzIFxzIGJldHdlZW4gY2hhcmFjdGVyIGQ0MDAgYW5kIGQ3ZmYiKTsKfQoKdmFyIGk1NCA9ICIiOwpmb3IgKHZhciBqID0gNTUyOTY7IGogPCA1NjMyMDsgaisrKQogIGk1NCArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzU0ID0gaTU0OwppZiAoaTU0LnJlcGxhY2UoL1xzKy9nLCAiIikgIT09IG81NCkgewogICRFUlJPUigiIzU0OiBFcnJvciBtYXRjaGluZyBjaGFyYWN0ZXIgY2xhc3MgXHMgYmV0d2VlbiBjaGFyYWN0ZXIgZDgwMCBhbmQgZGJmZiIpOwp9Cgp2YXIgaTU1ID0gIiI7CmZvciAodmFyIGogPSA1NjMyMDsgaiA8IDU3MzQ0OyBqKyspCiAgaTU1ICs9IFN0cmluZy5mcm9tQ2hhckNvZGUoaik7CnZhciBvNTUgPSBpNTU7CmlmIChpNTUucmVwbGFjZSgvXHMrL2csICIiKSAhPT0gbzU1KSB7CiAgJEVSUk9SKCIjNTU6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBccyBiZXR3ZWVuIGNoYXJhY3RlciBkYzAwIGFuZCBkZmZmIik7Cn0KCnZhciBpNTYgPSAiIjsKZm9yICh2YXIgaiA9IDU3MzQ0OyBqIDwgNTgzNjg7IGorKykKICBpNTYgKz0gU3RyaW5nLmZyb21DaGFyQ29kZShqKTsKdmFyIG81NiA9IGk1NjsKaWYgKGk1Ni5yZXBsYWNlKC9ccysvZywgIiIpICE9PSBvNTYpIHsKICAkRVJST1IoIiM1NjogRXJyb3IgbWF0Y2hpbmcgY2hhcmFjdGVyIGNsYXNzIFxzIGJldHdlZW4gY2hhcmFjdGVyIGUwMDAgYW5kIGUzZmYiKTsKfQoKdmFyIGk1NyA9ICIiOwpmb3IgKHZhciBqID0gNTgzNjg7IGogPCA1OTM5MjsgaisrKQogIGk1NyArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzU3ID0gaTU3OwppZiAoaTU3LnJlcGxhY2UoL1xzKy9nLCAiIikgIT09IG81NykgewogICRFUlJPUigiIzU3OiBFcnJvciBtYXRjaGluZyBjaGFyYWN0ZXIgY2xhc3MgXHMgYmV0d2VlbiBjaGFyYWN0ZXIgZTQwMCBhbmQgZTdmZiIpOwp9Cgp2YXIgaTU4ID0gIiI7CmZvciAodmFyIGogPSA1OTM5MjsgaiA8IDYwNDE2OyBqKyspCiAgaTU4ICs9IFN0cmluZy5mcm9tQ2hhckNvZGUoaik7CnZhciBvNTggPSBpNTg7CmlmIChpNTgucmVwbGFjZSgvXHMrL2csICIiKSAhPT0gbzU4KSB7CiAgJEVSUk9SKCIjNTg6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBccyBiZXR3ZWVuIGNoYXJhY3RlciBlODAwIGFuZCBlYmZmIik7Cn0KCnZhciBpNTkgPSAiIjsKZm9yICh2YXIgaiA9IDYwNDE2OyBqIDwgNjE0NDA7IGorKykKICBpNTkgKz0gU3RyaW5nLmZyb21DaGFyQ29kZShqKTsKdmFyIG81OSA9IGk1OTsKaWYgKGk1OS5yZXBsYWNlKC9ccysvZywgIiIpICE9PSBvNTkpIHsKICAkRVJST1IoIiM1OTogRXJyb3IgbWF0Y2hpbmcgY2hhcmFjdGVyIGNsYXNzIFxzIGJldHdlZW4gY2hhcmFjdGVyIGVjMDAgYW5kIGVmZmYiKTsKfQoKdmFyIGk2MCA9ICIiOwpmb3IgKHZhciBqID0gNjE0NDA7IGogPCA2MjQ2NDsgaisrKQogIGk2MCArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzYwID0gaTYwOwppZiAoaTYwLnJlcGxhY2UoL1xzKy9nLCAiIikgIT09IG82MCkgewogICRFUlJPUigiIzYwOiBFcnJvciBtYXRjaGluZyBjaGFyYWN0ZXIgY2xhc3MgXHMgYmV0d2VlbiBjaGFyYWN0ZXIgZjAwMCBhbmQgZjNmZiIpOwp9Cgp2YXIgaTYxID0gIiI7CmZvciAodmFyIGogPSA2MjQ2NDsgaiA8IDYzNDg4OyBqKyspCiAgaTYxICs9IFN0cmluZy5mcm9tQ2hhckNvZGUoaik7CnZhciBvNjEgPSBpNjE7CmlmIChpNjEucmVwbGFjZSgvXHMrL2csICIiKSAhPT0gbzYxKSB7CiAgJEVSUk9SKCIjNjE6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBccyBiZXR3ZWVuIGNoYXJhY3RlciBmNDAwIGFuZCBmN2ZmIik7Cn0KCnZhciBpNjIgPSAiIjsKZm9yICh2YXIgaiA9IDYzNDg4OyBqIDwgNjQ1MTI7IGorKykKICBpNjIgKz0gU3RyaW5nLmZyb21DaGFyQ29kZShqKTsKdmFyIG82MiA9IGk2MjsKaWYgKGk2Mi5yZXBsYWNlKC9ccysvZywgIiIpICE9PSBvNjIpIHsKICAkRVJST1IoIiM2MjogRXJyb3IgbWF0Y2hpbmcgY2hhcmFjdGVyIGNsYXNzIFxzIGJldHdlZW4gY2hhcmFjdGVyIGY4MDAgYW5kIGZiZmYiKTsKfQoKdmFyIGk2MyA9ICIiOwpmb3IgKHZhciBqID0gNjQ1MTI7IGogPCA2NTUzNjsgaisrKSB7CiAgaWYgKGo9PT02NTI3OSkgeyBjb250aW51ZTt9IC8vSWdub3JlIEJPTQogIGk2MyArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp9CnZhciBvNjMgPSBpNjM7CmlmIChpNjMucmVwbGFjZSgvXHMrL2csICIiKSAhPT0gbzYzKSB7CiAgJEVSUk9SKCIjNjM6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBccyBiZXR3ZWVuIGNoYXJhY3RlciBmYzAwIGFuZCBmZmZmIik7Cn0KCnZhciBpNjQgPSBTdHJpbmcuZnJvbUNoYXJDb2RlKDY1Mjc5KTsKaWYgKGk2NC5yZXBsYWNlKC9ccy9nLCAiIikgIT09ICIiKSB7CiAgJEVSUk9SKCIjNjQ6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBccyBmb3IgQk9NIChmZWZmKSIpOwp9","commentary":"The production CharacterClassEscape :: s evaluates by returning the set of characters\ncontaining the characters that are on the right-hand side of the WhiteSpace (7.2) or LineTerminator (7.3) productions","description":"WhiteSpace","path":"TestCases/ch15/15.10/15.10.2/15.10.2.12/S15.10.2.12_A1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBDaGFyYWN0ZXJDbGFzc0VzY2FwZSA6OiBzIGV2YWx1YXRlcyBieSByZXR1cm5pbmcgdGhlIHNldCBvZiBjaGFyYWN0ZXJzCiAqIGNvbnRhaW5pbmcgdGhlIGNoYXJhY3RlcnMgdGhhdCBhcmUgb24gdGhlIHJpZ2h0LWhhbmQgc2lkZSBvZiB0aGUgV2hpdGVTcGFjZSAoNy4yKSBvciBMaW5lVGVybWluYXRvciAoNy4zKSBwcm9kdWN0aW9ucwogKgogKiBAcGF0aCBjaDE1LzE1LjEwLzE1LjEwLjIvMTUuMTAuMi4xMi9TMTUuMTAuMi4xMl9BMV9UMi5qcwogKiBAZGVzY3JpcHRpb24gTGluZVRlcm1pbmF0b3IKICovCgovL0NIRUNLIzEKdmFyIGFyciA9IC9ccy8uZXhlYygiXHUwMDBBIik7CmlmICgoYXJyID09PSBudWxsKSB8fCAoYXJyWzBdICE9PSAiXHUwMDBBIikpIHsKICAkRVJST1IoJyMxOiB2YXIgYXJyID0gL1xccy8uZXhlYygiXFx1MDAwQSIpOyBhcnJbMF0gPT09ICJcXHUwMDBBIi4gQWN0dWFsLiAnICsgKGFyciAmJiBhcnJbMF0pKTsKfQoKLy9DSEVDSyMyCnZhciBhcnIgPSAvXHMvLmV4ZWMoIlx1MDAwRCIpOwppZiAoKGFyciA9PT0gbnVsbCkgfHwgKGFyclswXSAhPT0gIlx1MDAwRCIpKSB7CiAgJEVSUk9SKCcjMjogdmFyIGFyciA9IC9cXHMvLmV4ZWMoIlxcdTAwMEQiKTsgYXJyWzBdID09PSAiXFx1MDAwRCIuIEFjdHVhbC4gJyArIChhcnIgJiYgYXJyWzBdKSk7Cn0gIAoKLy9DSEVDSyMzCnZhciBhcnIgPSAvXHMvLmV4ZWMoIlx1MjAyOCIpOwppZiAoKGFyciA9PT0gbnVsbCkgfHwgKGFyclswXSAhPT0gIlx1MjAyOCIpKSB7CiAgJEVSUk9SKCcjMzogdmFyIGFyciA9IC9cXHMvLmV4ZWMoIlxcdTIwMjgiKTsgYXJyWzBdID09PSAiXFx1MjAyOCIuIEFjdHVhbC4gJyArIChhcnIgJiYgYXJyWzBdKSk7Cn0gICAgCgovL0NIRUNLIzQKdmFyIGFyciA9IC9ccy8uZXhlYygiXHUyMDI5Iik7CmlmICgoYXJyID09PSBudWxsKSB8fCAoYXJyWzBdICE9PSAiXHUyMDI5IikpIHsKICAkRVJST1IoJyM0OiB2YXIgYXJyID0gL1xccy8uZXhlYygiXFx1MjAyOSIpOyBhcnJbMF0gPT09ICJcXHUyMDI5Ii4gQWN0dWFsLiAnICsgKGFyciAmJiBhcnJbMF0pKTsKfSAgCgo=","commentary":"The production CharacterClassEscape :: s evaluates by returning the set of characters\ncontaining the characters that are on the right-hand side of the WhiteSpace (7.2) or LineTerminator (7.3) productions","description":"LineTerminator","path":"TestCases/ch15/15.10/15.10.2/15.10.2.12/S15.10.2.12_A1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBDaGFyYWN0ZXJDbGFzc0VzY2FwZSA6OiBzIGV2YWx1YXRlcyBieSByZXR1cm5pbmcgdGhlIHNldCBvZiBjaGFyYWN0ZXJzCiAqIGNvbnRhaW5pbmcgdGhlIGNoYXJhY3RlcnMgdGhhdCBhcmUgb24gdGhlIHJpZ2h0LWhhbmQgc2lkZSBvZiB0aGUgV2hpdGVTcGFjZSAoNy4yKSBvciBMaW5lVGVybWluYXRvciAoNy4zKSBwcm9kdWN0aW9ucwogKgogKiBAcGF0aCBjaDE1LzE1LjEwLzE1LjEwLjIvMTUuMTAuMi4xMi9TMTUuMTAuMi4xMl9BMV9UMy5qcwogKiBAZGVzY3JpcHRpb24gRU5HTElTSCBBTFBIQUJFVAogKi8KCnZhciByZWdleHBfcyA9IC9ccy87CgovL0NIRUNLIzAwNDEtMDA1QQp2YXIgcmVzdWx0ID0gdHJ1ZTsgCmZvciAoYWxwaGEgPSAweDAwNDE7IGFscGhhIDw9IDB4MDA1QTsgYWxwaGErKykgewogIGlmIChyZWdleHBfcy5leGVjKFN0cmluZy5mcm9tQ2hhckNvZGUoYWxwaGEpKSAhPT0gbnVsbCkgewogICAgcmVzdWx0ID0gZmFsc2U7CiAgfQp9CgppZiAocmVzdWx0ICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMTogRU5HTElTSCBDQVBJVEFMIEFMUEhBQkVUJyk7Cn0gIAoKLy9DSEVDSyMwMDYxLTAwN0EKdmFyIHJlc3VsdCA9IHRydWU7IApmb3IgKGFscGhhID0gMHgwMDYxOyBhbHBoYSA8PSAweDAwN0E7IGFscGhhKyspIHsKICBpZiAocmVnZXhwX3MuZXhlYyhTdHJpbmcuZnJvbUNoYXJDb2RlKGFscGhhKSkgIT09IG51bGwpIHsKICAgIHJlc3VsdCA9IGZhbHNlOwogIH0KfQoKaWYgKHJlc3VsdCAhPT0gdHJ1ZSkgewogICRFUlJPUignIzI6IGVuZ2xpc2ggc21hbGwgYWxwaGFiZXQnKTsKfSAKCg==","commentary":"The production CharacterClassEscape :: s evaluates by returning the set of characters\ncontaining the characters that are on the right-hand side of the WhiteSpace (7.2) or LineTerminator (7.3) productions","description":"ENGLISH ALPHABET","path":"TestCases/ch15/15.10/15.10.2/15.10.2.12/S15.10.2.12_A1_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBDaGFyYWN0ZXJDbGFzc0VzY2FwZSA6OiBzIGV2YWx1YXRlcyBieSByZXR1cm5pbmcgdGhlIHNldCBvZiBjaGFyYWN0ZXJzCiAqIGNvbnRhaW5pbmcgdGhlIGNoYXJhY3RlcnMgdGhhdCBhcmUgb24gdGhlIHJpZ2h0LWhhbmQgc2lkZSBvZiB0aGUgV2hpdGVTcGFjZSAoNy4yKSBvciBMaW5lVGVybWluYXRvciAoNy4zKSBwcm9kdWN0aW9ucwogKgogKiBAcGF0aCBjaDE1LzE1LjEwLzE1LjEwLjIvMTUuMTAuMi4xMi9TMTUuMTAuMi4xMl9BMV9UNC5qcwogKiBAZGVzY3JpcHRpb24gUlVTU0lBTiBBTFBIQUJFVAogKi8KCnZhciByZWdleHBfcyA9IC9ccy87CgovL0NIRUNLIzA0MTAtMDQyRgp2YXIgcmVzdWx0ID0gdHJ1ZTsgIApmb3IgKGFscGhhID0gMHgwNDEwOyBhbHBoYSA8PSAweDA0MkY7IGFscGhhKyspIHsKICBpZiAocmVnZXhwX3MuZXhlYyhTdHJpbmcuZnJvbUNoYXJDb2RlKGFscGhhKSkgIT09IG51bGwpIHsKICAgIHJlc3VsdCA9IGZhbHNlOwogIH0KfQoKaWYgKHJlc3VsdCAhPT0gdHJ1ZSkgewogICRFUlJPUignIzE6IFJVU1NJQU4gQ0FQSVRBTCBBTFBIQUJFVCcpOwp9CgovL0NIRUNLIzA0MzAtMDQ0Rgp2YXIgcmVzdWx0ID0gdHJ1ZTsgCmZvciAoYWxwaGEgPSAweDA0MzA7IGFscGhhIDw9IDB4MDQ0RjsgYWxwaGErKykgewogIGlmIChyZWdleHBfcy5leGVjKFN0cmluZy5mcm9tQ2hhckNvZGUoYWxwaGEpKSAhPT0gbnVsbCkgewogICAgcmVzdWx0ID0gZmFsc2U7CiAgfQp9CgppZiAocmVzdWx0ICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMjogcnVzc2lhbiBzbWFsbCBhbHBoYWJldCcpOwp9Cgo=","commentary":"The production CharacterClassEscape :: s evaluates by returning the set of characters\ncontaining the characters that are on the right-hand side of the WhiteSpace (7.2) or LineTerminator (7.3) productions","description":"RUSSIAN ALPHABET","path":"TestCases/ch15/15.10/15.10.2/15.10.2.12/S15.10.2.12_A1_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBDaGFyYWN0ZXJDbGFzc0VzY2FwZSA6OiBzIGV2YWx1YXRlcyBieSByZXR1cm5pbmcgdGhlIHNldCBvZiBjaGFyYWN0ZXJzCiAqIGNvbnRhaW5pbmcgdGhlIGNoYXJhY3RlcnMgdGhhdCBhcmUgb24gdGhlIHJpZ2h0LWhhbmQgc2lkZSBvZiB0aGUgV2hpdGVTcGFjZSAoNy4yKSBvciBMaW5lVGVybWluYXRvciAoNy4zKSBwcm9kdWN0aW9ucwogKgogKiBAcGF0aCBjaDE1LzE1LjEwLzE1LjEwLjIvMTUuMTAuMi4xMi9TMTUuMTAuMi4xMl9BMV9UNS5qcwogKiBAZGVzY3JpcHRpb24gVGVzdGVkIHN0cmluZyBpcyAiMDEyMzQ1Njc4OV9hYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ekFCQ0RFRkdISUpLTE1OT1BRUlNUVVZXWFlafmAhQCMkJV4mKigpLSs9e1t9XXxcXDo7JzwsPi4vPyIgKyAnIicKICovCgovL0NIRUNLIzEKdmFyIG5vbl9zID0gIjAxMjM0NTY3ODlfYWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXpBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWn5gIUAjJCVeJiooKS0rPXtbfV18XFw6Oyc8LD4uLz8iICsgJyInOwppZiAoL1xzLy5leGVjKG5vbl9zKSAhPT0gbnVsbCkgewogICAkRVJST1IoJyMxOiBub24tcycpOwp9CgovL0NIRUNLIzIKdmFyIG5vbl9TID0gJ1xmXG5cclx0XHYgJzsKdmFyIHJlZ2V4cF9zID0gL1xzL2c7CnZhciBrID0gMDsKd2hpbGUgKHJlZ2V4cF9zLmV4ZWMobm9uX1MpICE9PSBudWxsKSB7CiAgIGsrKzsKfQoKaWYgKG5vbl9TLmxlbmd0aCAhPT0gaykgewogICAkRVJST1IoJyMyOiBub24tUycpOwp9ICAKCg==","commentary":"The production CharacterClassEscape :: s evaluates by returning the set of characters\ncontaining the characters that are on the right-hand side of the WhiteSpace (7.2) or LineTerminator (7.3) productions","description":"Tested string is \"0123456789_abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ~`!@#$%^&*()-+={[}]|\\\\:;'<,>./?\" + '\"'","path":"TestCases/ch15/15.10/15.10.2/15.10.2.12/S15.10.2.12_A1_T5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBDaGFyYWN0ZXJDbGFzc0VzY2FwZSA6OiBTIGV2YWx1YXRlcyBieSByZXR1cm5pbmcKICogdGhlIHNldCBvZiBhbGwgY2hhcmFjdGVycyBub3QgaW5jbHVkZWQgaW4gdGhlIHNldCByZXR1cm5lZCBieQogKiBDaGFyYWN0ZXJDbGFzc0VzY2FwZSA6OiBzCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuMi8xNS4xMC4yLjEyL1MxNS4xMC4yLjEyX0EyX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBXaGl0ZVNwYWNlCiAqLwoKdmFyIGkwID0gIiI7CmZvciAodmFyIGogPSAwOyBqIDwgMTAyNDsgaisrKQogIGkwICs9IFN0cmluZy5mcm9tQ2hhckNvZGUoaik7CnZhciBvMCA9ICJcdTAwMDlcdTAwMEFcdTAwMEJcdTAwMENcdTAwMERcdTAwMjBcdTAwQTAiOwppZiAoaTAucmVwbGFjZSgvXFMrL2csICIiKSAhPT0gbzApIHsKICAkRVJST1IoIiMwOiBFcnJvciBtYXRjaGluZyBjaGFyYWN0ZXIgY2xhc3MgXFMgYmV0d2VlbiBjaGFyYWN0ZXIgMCBhbmQgM2ZmIik7Cn0KCnZhciBpMSA9ICIiOwpmb3IgKHZhciBqID0gMTAyNDsgaiA8IDIwNDg7IGorKykKICBpMSArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzEgPSAiIjsKaWYgKGkxLnJlcGxhY2UoL1xTKy9nLCAiIikgIT09IG8xKSB7CiAgJEVSUk9SKCIjMTogRXJyb3IgbWF0Y2hpbmcgY2hhcmFjdGVyIGNsYXNzIFxTIGJldHdlZW4gY2hhcmFjdGVyIDQwMCBhbmQgN2ZmIik7Cn0KCnZhciBpMiA9ICIiOwpmb3IgKHZhciBqID0gMjA0ODsgaiA8IDMwNzI7IGorKykKICBpMiArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzIgPSAiIjsKaWYgKGkyLnJlcGxhY2UoL1xTKy9nLCAiIikgIT09IG8yKSB7CiAgJEVSUk9SKCIjMjogRXJyb3IgbWF0Y2hpbmcgY2hhcmFjdGVyIGNsYXNzIFxTIGJldHdlZW4gY2hhcmFjdGVyIDgwMCBhbmQgYmZmIik7Cn0KCnZhciBpMyA9ICIiOwpmb3IgKHZhciBqID0gMzA3MjsgaiA8IDQwOTY7IGorKykKICBpMyArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzMgPSAiIjsKaWYgKGkzLnJlcGxhY2UoL1xTKy9nLCAiIikgIT09IG8zKSB7CiAgJEVSUk9SKCIjMzogRXJyb3IgbWF0Y2hpbmcgY2hhcmFjdGVyIGNsYXNzIFxTIGJldHdlZW4gY2hhcmFjdGVyIGMwMCBhbmQgZmZmIik7Cn0KCnZhciBpNCA9ICIiOwpmb3IgKHZhciBqID0gNDA5NjsgaiA8IDUxMjA7IGorKykKICBpNCArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzQgPSAiIjsKaWYgKGk0LnJlcGxhY2UoL1xTKy9nLCAiIikgIT09IG80KSB7CiAgJEVSUk9SKCIjNDogRXJyb3IgbWF0Y2hpbmcgY2hhcmFjdGVyIGNsYXNzIFxTIGJldHdlZW4gY2hhcmFjdGVyIDEwMDAgYW5kIDEzZmYiKTsKfQoKdmFyIGk1ID0gIiI7CmZvciAodmFyIGogPSA1MTIwOyBqIDwgNjE0NDsgaisrKQogIGk1ICs9IFN0cmluZy5mcm9tQ2hhckNvZGUoaik7CnZhciBvNSA9ICJcdTE2ODAiOwppZiAoaTUucmVwbGFjZSgvXFMrL2csICIiKSAhPT0gbzUpIHsKICAkRVJST1IoIiM1OiBFcnJvciBtYXRjaGluZyBjaGFyYWN0ZXIgY2xhc3MgXFMgYmV0d2VlbiBjaGFyYWN0ZXIgMTQwMCBhbmQgMTdmZiIpOwp9Cgp2YXIgaTYgPSAiIjsKZm9yICh2YXIgaiA9IDYxNDQ7IGogPCA3MTY4OyBqKyspCiAgaTYgKz0gU3RyaW5nLmZyb21DaGFyQ29kZShqKTsKdmFyIG82ID0gIlx1MTgwRSI7CmlmIChpNi5yZXBsYWNlKC9cUysvZywgIiIpICE9PSBvNikgewogICRFUlJPUigiIzY6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcUyBiZXR3ZWVuIGNoYXJhY3RlciAxODAwIGFuZCAxYmZmIik7Cn0KCnZhciBpNyA9ICIiOwpmb3IgKHZhciBqID0gNzE2ODsgaiA8IDgxOTI7IGorKykKICBpNyArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzcgPSAiIjsKaWYgKGk3LnJlcGxhY2UoL1xTKy9nLCAiIikgIT09IG83KSB7CiAgJEVSUk9SKCIjNzogRXJyb3IgbWF0Y2hpbmcgY2hhcmFjdGVyIGNsYXNzIFxTIGJldHdlZW4gY2hhcmFjdGVyIDFjMDAgYW5kIDFmZmYiKTsKfQoKdmFyIGk4ID0gIiI7CmZvciAodmFyIGogPSA4MTkyOyBqIDwgOTIxNjsgaisrKQogIGk4ICs9IFN0cmluZy5mcm9tQ2hhckNvZGUoaik7CnZhciBvOCA9ICJcdTIwMDBcdTIwMDFcdTIwMDJcdTIwMDNcdTIwMDRcdTIwMDVcdTIwMDZcdTIwMDdcdTIwMDhcdTIwMDlcdTIwMEFcdTIwMjhcdTIwMjlcdTIwMkZcdTIwNUYiOwppZiAoaTgucmVwbGFjZSgvXFMrL2csICIiKSAhPT0gbzgpIHsKICAkRVJST1IoIiM4OiBFcnJvciBtYXRjaGluZyBjaGFyYWN0ZXIgY2xhc3MgXFMgYmV0d2VlbiBjaGFyYWN0ZXIgMjAwMCBhbmQgMjNmZiIpOwp9Cgp2YXIgaTkgPSAiIjsKZm9yICh2YXIgaiA9IDkyMTY7IGogPCAxMDI0MDsgaisrKQogIGk5ICs9IFN0cmluZy5mcm9tQ2hhckNvZGUoaik7CnZhciBvOSA9ICIiOwppZiAoaTkucmVwbGFjZSgvXFMrL2csICIiKSAhPT0gbzkpIHsKICAkRVJST1IoIiM5OiBFcnJvciBtYXRjaGluZyBjaGFyYWN0ZXIgY2xhc3MgXFMgYmV0d2VlbiBjaGFyYWN0ZXIgMjQwMCBhbmQgMjdmZiIpOwp9Cgp2YXIgaTEwID0gIiI7CmZvciAodmFyIGogPSAxMDI0MDsgaiA8IDExMjY0OyBqKyspCiAgaTEwICs9IFN0cmluZy5mcm9tQ2hhckNvZGUoaik7CnZhciBvMTAgPSAiIjsKaWYgKGkxMC5yZXBsYWNlKC9cUysvZywgIiIpICE9PSBvMTApIHsKICAkRVJST1IoIiMxMDogRXJyb3IgbWF0Y2hpbmcgY2hhcmFjdGVyIGNsYXNzIFxTIGJldHdlZW4gY2hhcmFjdGVyIDI4MDAgYW5kIDJiZmYiKTsKfQoKdmFyIGkxMSA9ICIiOwpmb3IgKHZhciBqID0gMTEyNjQ7IGogPCAxMjI4ODsgaisrKQogIGkxMSArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzExID0gIiI7CmlmIChpMTEucmVwbGFjZSgvXFMrL2csICIiKSAhPT0gbzExKSB7CiAgJEVSUk9SKCIjMTE6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcUyBiZXR3ZWVuIGNoYXJhY3RlciAyYzAwIGFuZCAyZmZmIik7Cn0KCnZhciBpMTIgPSAiIjsKZm9yICh2YXIgaiA9IDEyMjg4OyBqIDwgMTMzMTI7IGorKykKICBpMTIgKz0gU3RyaW5nLmZyb21DaGFyQ29kZShqKTsKdmFyIG8xMiA9ICJcdTMwMDAiOwppZiAoaTEyLnJlcGxhY2UoL1xTKy9nLCAiIikgIT09IG8xMikgewogICRFUlJPUigiIzEyOiBFcnJvciBtYXRjaGluZyBjaGFyYWN0ZXIgY2xhc3MgXFMgYmV0d2VlbiBjaGFyYWN0ZXIgMzAwMCBhbmQgMzNmZiIpOwp9Cgp2YXIgaTEzID0gIiI7CmZvciAodmFyIGogPSAxMzMxMjsgaiA8IDE0MzM2OyBqKyspCiAgaTEzICs9IFN0cmluZy5mcm9tQ2hhckNvZGUoaik7CnZhciBvMTMgPSAiIjsKaWYgKGkxMy5yZXBsYWNlKC9cUysvZywgIiIpICE9PSBvMTMpIHsKICAkRVJST1IoIiMxMzogRXJyb3IgbWF0Y2hpbmcgY2hhcmFjdGVyIGNsYXNzIFxTIGJldHdlZW4gY2hhcmFjdGVyIDM0MDAgYW5kIDM3ZmYiKTsKfQoKdmFyIGkxNCA9ICIiOwpmb3IgKHZhciBqID0gMTQzMzY7IGogPCAxNTM2MDsgaisrKQogIGkxNCArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzE0ID0gIiI7CmlmIChpMTQucmVwbGFjZSgvXFMrL2csICIiKSAhPT0gbzE0KSB7CiAgJEVSUk9SKCIjMTQ6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcUyBiZXR3ZWVuIGNoYXJhY3RlciAzODAwIGFuZCAzYmZmIik7Cn0KCnZhciBpMTUgPSAiIjsKZm9yICh2YXIgaiA9IDE1MzYwOyBqIDwgMTYzODQ7IGorKykKICBpMTUgKz0gU3RyaW5nLmZyb21DaGFyQ29kZShqKTsKdmFyIG8xNSA9ICIiOwppZiAoaTE1LnJlcGxhY2UoL1xTKy9nLCAiIikgIT09IG8xNSkgewogICRFUlJPUigiIzE1OiBFcnJvciBtYXRjaGluZyBjaGFyYWN0ZXIgY2xhc3MgXFMgYmV0d2VlbiBjaGFyYWN0ZXIgM2MwMCBhbmQgM2ZmZiIpOwp9Cgp2YXIgaTE2ID0gIiI7CmZvciAodmFyIGogPSAxNjM4NDsgaiA8IDE3NDA4OyBqKyspCiAgaTE2ICs9IFN0cmluZy5mcm9tQ2hhckNvZGUoaik7CnZhciBvMTYgPSAiIjsKaWYgKGkxNi5yZXBsYWNlKC9cUysvZywgIiIpICE9PSBvMTYpIHsKICAkRVJST1IoIiMxNjogRXJyb3IgbWF0Y2hpbmcgY2hhcmFjdGVyIGNsYXNzIFxTIGJldHdlZW4gY2hhcmFjdGVyIDQwMDAgYW5kIDQzZmYiKTsKfQoKdmFyIGkxNyA9ICIiOwpmb3IgKHZhciBqID0gMTc0MDg7IGogPCAxODQzMjsgaisrKQogIGkxNyArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzE3ID0gIiI7CmlmIChpMTcucmVwbGFjZSgvXFMrL2csICIiKSAhPT0gbzE3KSB7CiAgJEVSUk9SKCIjMTc6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcUyBiZXR3ZWVuIGNoYXJhY3RlciA0NDAwIGFuZCA0N2ZmIik7Cn0KCnZhciBpMTggPSAiIjsKZm9yICh2YXIgaiA9IDE4NDMyOyBqIDwgMTk0NTY7IGorKykKICBpMTggKz0gU3RyaW5nLmZyb21DaGFyQ29kZShqKTsKdmFyIG8xOCA9ICIiOwppZiAoaTE4LnJlcGxhY2UoL1xTKy9nLCAiIikgIT09IG8xOCkgewogICRFUlJPUigiIzE4OiBFcnJvciBtYXRjaGluZyBjaGFyYWN0ZXIgY2xhc3MgXFMgYmV0d2VlbiBjaGFyYWN0ZXIgNDgwMCBhbmQgNGJmZiIpOwp9Cgp2YXIgaTE5ID0gIiI7CmZvciAodmFyIGogPSAxOTQ1NjsgaiA8IDIwNDgwOyBqKyspCiAgaTE5ICs9IFN0cmluZy5mcm9tQ2hhckNvZGUoaik7CnZhciBvMTkgPSAiIjsKaWYgKGkxOS5yZXBsYWNlKC9cUysvZywgIiIpICE9PSBvMTkpIHsKICAkRVJST1IoIiMxOTogRXJyb3IgbWF0Y2hpbmcgY2hhcmFjdGVyIGNsYXNzIFxTIGJldHdlZW4gY2hhcmFjdGVyIDRjMDAgYW5kIDRmZmYiKTsKfQoKdmFyIGkyMCA9ICIiOwpmb3IgKHZhciBqID0gMjA0ODA7IGogPCAyMTUwNDsgaisrKQogIGkyMCArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzIwID0gIiI7CmlmIChpMjAucmVwbGFjZSgvXFMrL2csICIiKSAhPT0gbzIwKSB7CiAgJEVSUk9SKCIjMjA6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcUyBiZXR3ZWVuIGNoYXJhY3RlciA1MDAwIGFuZCA1M2ZmIik7Cn0KCnZhciBpMjEgPSAiIjsKZm9yICh2YXIgaiA9IDIxNTA0OyBqIDwgMjI1Mjg7IGorKykKICBpMjEgKz0gU3RyaW5nLmZyb21DaGFyQ29kZShqKTsKdmFyIG8yMSA9ICIiOwppZiAoaTIxLnJlcGxhY2UoL1xTKy9nLCAiIikgIT09IG8yMSkgewogICRFUlJPUigiIzIxOiBFcnJvciBtYXRjaGluZyBjaGFyYWN0ZXIgY2xhc3MgXFMgYmV0d2VlbiBjaGFyYWN0ZXIgNTQwMCBhbmQgNTdmZiIpOwp9Cgp2YXIgaTIyID0gIiI7CmZvciAodmFyIGogPSAyMjUyODsgaiA8IDIzNTUyOyBqKyspCiAgaTIyICs9IFN0cmluZy5mcm9tQ2hhckNvZGUoaik7CnZhciBvMjIgPSAiIjsKaWYgKGkyMi5yZXBsYWNlKC9cUysvZywgIiIpICE9PSBvMjIpIHsKICAkRVJST1IoIiMyMjogRXJyb3IgbWF0Y2hpbmcgY2hhcmFjdGVyIGNsYXNzIFxTIGJldHdlZW4gY2hhcmFjdGVyIDU4MDAgYW5kIDViZmYiKTsKfQoKdmFyIGkyMyA9ICIiOwpmb3IgKHZhciBqID0gMjM1NTI7IGogPCAyNDU3NjsgaisrKQogIGkyMyArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzIzID0gIiI7CmlmIChpMjMucmVwbGFjZSgvXFMrL2csICIiKSAhPT0gbzIzKSB7CiAgJEVSUk9SKCIjMjM6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcUyBiZXR3ZWVuIGNoYXJhY3RlciA1YzAwIGFuZCA1ZmZmIik7Cn0KCnZhciBpMjQgPSAiIjsKZm9yICh2YXIgaiA9IDI0NTc2OyBqIDwgMjU2MDA7IGorKykKICBpMjQgKz0gU3RyaW5nLmZyb21DaGFyQ29kZShqKTsKdmFyIG8yNCA9ICIiOwppZiAoaTI0LnJlcGxhY2UoL1xTKy9nLCAiIikgIT09IG8yNCkgewogICRFUlJPUigiIzI0OiBFcnJvciBtYXRjaGluZyBjaGFyYWN0ZXIgY2xhc3MgXFMgYmV0d2VlbiBjaGFyYWN0ZXIgNjAwMCBhbmQgNjNmZiIpOwp9Cgp2YXIgaTI1ID0gIiI7CmZvciAodmFyIGogPSAyNTYwMDsgaiA8IDI2NjI0OyBqKyspCiAgaTI1ICs9IFN0cmluZy5mcm9tQ2hhckNvZGUoaik7CnZhciBvMjUgPSAiIjsKaWYgKGkyNS5yZXBsYWNlKC9cUysvZywgIiIpICE9PSBvMjUpIHsKICAkRVJST1IoIiMyNTogRXJyb3IgbWF0Y2hpbmcgY2hhcmFjdGVyIGNsYXNzIFxTIGJldHdlZW4gY2hhcmFjdGVyIDY0MDAgYW5kIDY3ZmYiKTsKfQoKdmFyIGkyNiA9ICIiOwpmb3IgKHZhciBqID0gMjY2MjQ7IGogPCAyNzY0ODsgaisrKQogIGkyNiArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzI2ID0gIiI7CmlmIChpMjYucmVwbGFjZSgvXFMrL2csICIiKSAhPT0gbzI2KSB7CiAgJEVSUk9SKCIjMjY6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcUyBiZXR3ZWVuIGNoYXJhY3RlciA2ODAwIGFuZCA2YmZmIik7Cn0KCnZhciBpMjcgPSAiIjsKZm9yICh2YXIgaiA9IDI3NjQ4OyBqIDwgMjg2NzI7IGorKykKICBpMjcgKz0gU3RyaW5nLmZyb21DaGFyQ29kZShqKTsKdmFyIG8yNyA9ICIiOwppZiAoaTI3LnJlcGxhY2UoL1xTKy9nLCAiIikgIT09IG8yNykgewogICRFUlJPUigiIzI3OiBFcnJvciBtYXRjaGluZyBjaGFyYWN0ZXIgY2xhc3MgXFMgYmV0d2VlbiBjaGFyYWN0ZXIgNmMwMCBhbmQgNmZmZiIpOwp9Cgp2YXIgaTI4ID0gIiI7CmZvciAodmFyIGogPSAyODY3MjsgaiA8IDI5Njk2OyBqKyspCiAgaTI4ICs9IFN0cmluZy5mcm9tQ2hhckNvZGUoaik7CnZhciBvMjggPSAiIjsKaWYgKGkyOC5yZXBsYWNlKC9cUysvZywgIiIpICE9PSBvMjgpIHsKICAkRVJST1IoIiMyODogRXJyb3IgbWF0Y2hpbmcgY2hhcmFjdGVyIGNsYXNzIFxTIGJldHdlZW4gY2hhcmFjdGVyIDcwMDAgYW5kIDczZmYiKTsKfQoKdmFyIGkyOSA9ICIiOwpmb3IgKHZhciBqID0gMjk2OTY7IGogPCAzMDcyMDsgaisrKQogIGkyOSArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzI5ID0gIiI7CmlmIChpMjkucmVwbGFjZSgvXFMrL2csICIiKSAhPT0gbzI5KSB7CiAgJEVSUk9SKCIjMjk6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcUyBiZXR3ZWVuIGNoYXJhY3RlciA3NDAwIGFuZCA3N2ZmIik7Cn0KCnZhciBpMzAgPSAiIjsKZm9yICh2YXIgaiA9IDMwNzIwOyBqIDwgMzE3NDQ7IGorKykKICBpMzAgKz0gU3RyaW5nLmZyb21DaGFyQ29kZShqKTsKdmFyIG8zMCA9ICIiOwppZiAoaTMwLnJlcGxhY2UoL1xTKy9nLCAiIikgIT09IG8zMCkgewogICRFUlJPUigiIzMwOiBFcnJvciBtYXRjaGluZyBjaGFyYWN0ZXIgY2xhc3MgXFMgYmV0d2VlbiBjaGFyYWN0ZXIgNzgwMCBhbmQgN2JmZiIpOwp9Cgp2YXIgaTMxID0gIiI7CmZvciAodmFyIGogPSAzMTc0NDsgaiA8IDMyNzY4OyBqKyspCiAgaTMxICs9IFN0cmluZy5mcm9tQ2hhckNvZGUoaik7CnZhciBvMzEgPSAiIjsKaWYgKGkzMS5yZXBsYWNlKC9cUysvZywgIiIpICE9PSBvMzEpIHsKICAkRVJST1IoIiMzMTogRXJyb3IgbWF0Y2hpbmcgY2hhcmFjdGVyIGNsYXNzIFxTIGJldHdlZW4gY2hhcmFjdGVyIDdjMDAgYW5kIDdmZmYiKTsKfQoKdmFyIGkzMiA9ICIiOwpmb3IgKHZhciBqID0gMzI3Njg7IGogPCAzMzc5MjsgaisrKQogIGkzMiArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzMyID0gIiI7CmlmIChpMzIucmVwbGFjZSgvXFMrL2csICIiKSAhPT0gbzMyKSB7CiAgJEVSUk9SKCIjMzI6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcUyBiZXR3ZWVuIGNoYXJhY3RlciA4MDAwIGFuZCA4M2ZmIik7Cn0KCnZhciBpMzMgPSAiIjsKZm9yICh2YXIgaiA9IDMzNzkyOyBqIDwgMzQ4MTY7IGorKykKICBpMzMgKz0gU3RyaW5nLmZyb21DaGFyQ29kZShqKTsKdmFyIG8zMyA9ICIiOwppZiAoaTMzLnJlcGxhY2UoL1xTKy9nLCAiIikgIT09IG8zMykgewogICRFUlJPUigiIzMzOiBFcnJvciBtYXRjaGluZyBjaGFyYWN0ZXIgY2xhc3MgXFMgYmV0d2VlbiBjaGFyYWN0ZXIgODQwMCBhbmQgODdmZiIpOwp9Cgp2YXIgaTM0ID0gIiI7CmZvciAodmFyIGogPSAzNDgxNjsgaiA8IDM1ODQwOyBqKyspCiAgaTM0ICs9IFN0cmluZy5mcm9tQ2hhckNvZGUoaik7CnZhciBvMzQgPSAiIjsKaWYgKGkzNC5yZXBsYWNlKC9cUysvZywgIiIpICE9PSBvMzQpIHsKICAkRVJST1IoIiMzNDogRXJyb3IgbWF0Y2hpbmcgY2hhcmFjdGVyIGNsYXNzIFxTIGJldHdlZW4gY2hhcmFjdGVyIDg4MDAgYW5kIDhiZmYiKTsKfQoKdmFyIGkzNSA9ICIiOwpmb3IgKHZhciBqID0gMzU4NDA7IGogPCAzNjg2NDsgaisrKQogIGkzNSArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzM1ID0gIiI7CmlmIChpMzUucmVwbGFjZSgvXFMrL2csICIiKSAhPT0gbzM1KSB7CiAgJEVSUk9SKCIjMzU6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcUyBiZXR3ZWVuIGNoYXJhY3RlciA4YzAwIGFuZCA4ZmZmIik7Cn0KCnZhciBpMzYgPSAiIjsKZm9yICh2YXIgaiA9IDM2ODY0OyBqIDwgMzc4ODg7IGorKykKICBpMzYgKz0gU3RyaW5nLmZyb21DaGFyQ29kZShqKTsKdmFyIG8zNiA9ICIiOwppZiAoaTM2LnJlcGxhY2UoL1xTKy9nLCAiIikgIT09IG8zNikgewogICRFUlJPUigiIzM2OiBFcnJvciBtYXRjaGluZyBjaGFyYWN0ZXIgY2xhc3MgXFMgYmV0d2VlbiBjaGFyYWN0ZXIgOTAwMCBhbmQgOTNmZiIpOwp9Cgp2YXIgaTM3ID0gIiI7CmZvciAodmFyIGogPSAzNzg4ODsgaiA8IDM4OTEyOyBqKyspCiAgaTM3ICs9IFN0cmluZy5mcm9tQ2hhckNvZGUoaik7CnZhciBvMzcgPSAiIjsKaWYgKGkzNy5yZXBsYWNlKC9cUysvZywgIiIpICE9PSBvMzcpIHsKICAkRVJST1IoIiMzNzogRXJyb3IgbWF0Y2hpbmcgY2hhcmFjdGVyIGNsYXNzIFxTIGJldHdlZW4gY2hhcmFjdGVyIDk0MDAgYW5kIDk3ZmYiKTsKfQoKdmFyIGkzOCA9ICIiOwpmb3IgKHZhciBqID0gMzg5MTI7IGogPCAzOTkzNjsgaisrKQogIGkzOCArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzM4ID0gIiI7CmlmIChpMzgucmVwbGFjZSgvXFMrL2csICIiKSAhPT0gbzM4KSB7CiAgJEVSUk9SKCIjMzg6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcUyBiZXR3ZWVuIGNoYXJhY3RlciA5ODAwIGFuZCA5YmZmIik7Cn0KCnZhciBpMzkgPSAiIjsKZm9yICh2YXIgaiA9IDM5OTM2OyBqIDwgNDA5NjA7IGorKykKICBpMzkgKz0gU3RyaW5nLmZyb21DaGFyQ29kZShqKTsKdmFyIG8zOSA9ICIiOwppZiAoaTM5LnJlcGxhY2UoL1xTKy9nLCAiIikgIT09IG8zOSkgewogICRFUlJPUigiIzM5OiBFcnJvciBtYXRjaGluZyBjaGFyYWN0ZXIgY2xhc3MgXFMgYmV0d2VlbiBjaGFyYWN0ZXIgOWMwMCBhbmQgOWZmZiIpOwp9Cgp2YXIgaTQwID0gIiI7CmZvciAodmFyIGogPSA0MDk2MDsgaiA8IDQxOTg0OyBqKyspCiAgaTQwICs9IFN0cmluZy5mcm9tQ2hhckNvZGUoaik7CnZhciBvNDAgPSAiIjsKaWYgKGk0MC5yZXBsYWNlKC9cUysvZywgIiIpICE9PSBvNDApIHsKICAkRVJST1IoIiM0MDogRXJyb3IgbWF0Y2hpbmcgY2hhcmFjdGVyIGNsYXNzIFxTIGJldHdlZW4gY2hhcmFjdGVyIGEwMDAgYW5kIGEzZmYiKTsKfQoKdmFyIGk0MSA9ICIiOwpmb3IgKHZhciBqID0gNDE5ODQ7IGogPCA0MzAwODsgaisrKQogIGk0MSArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzQxID0gIiI7CmlmIChpNDEucmVwbGFjZSgvXFMrL2csICIiKSAhPT0gbzQxKSB7CiAgJEVSUk9SKCIjNDE6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcUyBiZXR3ZWVuIGNoYXJhY3RlciBhNDAwIGFuZCBhN2ZmIik7Cn0KCnZhciBpNDIgPSAiIjsKZm9yICh2YXIgaiA9IDQzMDA4OyBqIDwgNDQwMzI7IGorKykKICBpNDIgKz0gU3RyaW5nLmZyb21DaGFyQ29kZShqKTsKdmFyIG80MiA9ICIiOwppZiAoaTQyLnJlcGxhY2UoL1xTKy9nLCAiIikgIT09IG80MikgewogICRFUlJPUigiIzQyOiBFcnJvciBtYXRjaGluZyBjaGFyYWN0ZXIgY2xhc3MgXFMgYmV0d2VlbiBjaGFyYWN0ZXIgYTgwMCBhbmQgYWJmZiIpOwp9Cgp2YXIgaTQzID0gIiI7CmZvciAodmFyIGogPSA0NDAzMjsgaiA8IDQ1MDU2OyBqKyspCiAgaTQzICs9IFN0cmluZy5mcm9tQ2hhckNvZGUoaik7CnZhciBvNDMgPSAiIjsKaWYgKGk0My5yZXBsYWNlKC9cUysvZywgIiIpICE9PSBvNDMpIHsKICAkRVJST1IoIiM0MzogRXJyb3IgbWF0Y2hpbmcgY2hhcmFjdGVyIGNsYXNzIFxTIGJldHdlZW4gY2hhcmFjdGVyIGFjMDAgYW5kIGFmZmYiKTsKfQoKdmFyIGk0NCA9ICIiOwpmb3IgKHZhciBqID0gNDUwNTY7IGogPCA0NjA4MDsgaisrKQogIGk0NCArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzQ0ID0gIiI7CmlmIChpNDQucmVwbGFjZSgvXFMrL2csICIiKSAhPT0gbzQ0KSB7CiAgJEVSUk9SKCIjNDQ6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcUyBiZXR3ZWVuIGNoYXJhY3RlciBiMDAwIGFuZCBiM2ZmIik7Cn0KCnZhciBpNDUgPSAiIjsKZm9yICh2YXIgaiA9IDQ2MDgwOyBqIDwgNDcxMDQ7IGorKykKICBpNDUgKz0gU3RyaW5nLmZyb21DaGFyQ29kZShqKTsKdmFyIG80NSA9ICIiOwppZiAoaTQ1LnJlcGxhY2UoL1xTKy9nLCAiIikgIT09IG80NSkgewogICRFUlJPUigiIzQ1OiBFcnJvciBtYXRjaGluZyBjaGFyYWN0ZXIgY2xhc3MgXFMgYmV0d2VlbiBjaGFyYWN0ZXIgYjQwMCBhbmQgYjdmZiIpOwp9Cgp2YXIgaTQ2ID0gIiI7CmZvciAodmFyIGogPSA0NzEwNDsgaiA8IDQ4MTI4OyBqKyspCiAgaTQ2ICs9IFN0cmluZy5mcm9tQ2hhckNvZGUoaik7CnZhciBvNDYgPSAiIjsKaWYgKGk0Ni5yZXBsYWNlKC9cUysvZywgIiIpICE9PSBvNDYpIHsKICAkRVJST1IoIiM0NjogRXJyb3IgbWF0Y2hpbmcgY2hhcmFjdGVyIGNsYXNzIFxTIGJldHdlZW4gY2hhcmFjdGVyIGI4MDAgYW5kIGJiZmYiKTsKfQoKdmFyIGk0NyA9ICIiOwpmb3IgKHZhciBqID0gNDgxMjg7IGogPCA0OTE1MjsgaisrKQogIGk0NyArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzQ3ID0gIiI7CmlmIChpNDcucmVwbGFjZSgvXFMrL2csICIiKSAhPT0gbzQ3KSB7CiAgJEVSUk9SKCIjNDc6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcUyBiZXR3ZWVuIGNoYXJhY3RlciBiYzAwIGFuZCBiZmZmIik7Cn0KCnZhciBpNDggPSAiIjsKZm9yICh2YXIgaiA9IDQ5MTUyOyBqIDwgNTAxNzY7IGorKykKICBpNDggKz0gU3RyaW5nLmZyb21DaGFyQ29kZShqKTsKdmFyIG80OCA9ICIiOwppZiAoaTQ4LnJlcGxhY2UoL1xTKy9nLCAiIikgIT09IG80OCkgewogICRFUlJPUigiIzQ4OiBFcnJvciBtYXRjaGluZyBjaGFyYWN0ZXIgY2xhc3MgXFMgYmV0d2VlbiBjaGFyYWN0ZXIgYzAwMCBhbmQgYzNmZiIpOwp9Cgp2YXIgaTQ5ID0gIiI7CmZvciAodmFyIGogPSA1MDE3NjsgaiA8IDUxMjAwOyBqKyspCiAgaTQ5ICs9IFN0cmluZy5mcm9tQ2hhckNvZGUoaik7CnZhciBvNDkgPSAiIjsKaWYgKGk0OS5yZXBsYWNlKC9cUysvZywgIiIpICE9PSBvNDkpIHsKICAkRVJST1IoIiM0OTogRXJyb3IgbWF0Y2hpbmcgY2hhcmFjdGVyIGNsYXNzIFxTIGJldHdlZW4gY2hhcmFjdGVyIGM0MDAgYW5kIGM3ZmYiKTsKfQoKdmFyIGk1MCA9ICIiOwpmb3IgKHZhciBqID0gNTEyMDA7IGogPCA1MjIyNDsgaisrKQogIGk1MCArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzUwID0gIiI7CmlmIChpNTAucmVwbGFjZSgvXFMrL2csICIiKSAhPT0gbzUwKSB7CiAgJEVSUk9SKCIjNTA6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcUyBiZXR3ZWVuIGNoYXJhY3RlciBjODAwIGFuZCBjYmZmIik7Cn0KCnZhciBpNTEgPSAiIjsKZm9yICh2YXIgaiA9IDUyMjI0OyBqIDwgNTMyNDg7IGorKykKICBpNTEgKz0gU3RyaW5nLmZyb21DaGFyQ29kZShqKTsKdmFyIG81MSA9ICIiOwppZiAoaTUxLnJlcGxhY2UoL1xTKy9nLCAiIikgIT09IG81MSkgewogICRFUlJPUigiIzUxOiBFcnJvciBtYXRjaGluZyBjaGFyYWN0ZXIgY2xhc3MgXFMgYmV0d2VlbiBjaGFyYWN0ZXIgY2MwMCBhbmQgY2ZmZiIpOwp9Cgp2YXIgaTUyID0gIiI7CmZvciAodmFyIGogPSA1MzI0ODsgaiA8IDU0MjcyOyBqKyspCiAgaTUyICs9IFN0cmluZy5mcm9tQ2hhckNvZGUoaik7CnZhciBvNTIgPSAiIjsKaWYgKGk1Mi5yZXBsYWNlKC9cUysvZywgIiIpICE9PSBvNTIpIHsKICAkRVJST1IoIiM1MjogRXJyb3IgbWF0Y2hpbmcgY2hhcmFjdGVyIGNsYXNzIFxTIGJldHdlZW4gY2hhcmFjdGVyIGQwMDAgYW5kIGQzZmYiKTsKfQoKdmFyIGk1MyA9ICIiOwpmb3IgKHZhciBqID0gNTQyNzI7IGogPCA1NTI5NjsgaisrKQogIGk1MyArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzUzID0gIiI7CmlmIChpNTMucmVwbGFjZSgvXFMrL2csICIiKSAhPT0gbzUzKSB7CiAgJEVSUk9SKCIjNTM6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcUyBiZXR3ZWVuIGNoYXJhY3RlciBkNDAwIGFuZCBkN2ZmIik7Cn0KCnZhciBpNTQgPSAiIjsKZm9yICh2YXIgaiA9IDU1Mjk2OyBqIDwgNTYzMjA7IGorKykKICBpNTQgKz0gU3RyaW5nLmZyb21DaGFyQ29kZShqKTsKdmFyIG81NCA9ICIiOwppZiAoaTU0LnJlcGxhY2UoL1xTKy9nLCAiIikgIT09IG81NCkgewogICRFUlJPUigiIzU0OiBFcnJvciBtYXRjaGluZyBjaGFyYWN0ZXIgY2xhc3MgXFMgYmV0d2VlbiBjaGFyYWN0ZXIgZDgwMCBhbmQgZGJmZiIpOwp9Cgp2YXIgaTU1ID0gIiI7CmZvciAodmFyIGogPSA1NjMyMDsgaiA8IDU3MzQ0OyBqKyspCiAgaTU1ICs9IFN0cmluZy5mcm9tQ2hhckNvZGUoaik7CnZhciBvNTUgPSAiIjsKaWYgKGk1NS5yZXBsYWNlKC9cUysvZywgIiIpICE9PSBvNTUpIHsKICAkRVJST1IoIiM1NTogRXJyb3IgbWF0Y2hpbmcgY2hhcmFjdGVyIGNsYXNzIFxTIGJldHdlZW4gY2hhcmFjdGVyIGRjMDAgYW5kIGRmZmYiKTsKfQoKdmFyIGk1NiA9ICIiOwpmb3IgKHZhciBqID0gNTczNDQ7IGogPCA1ODM2ODsgaisrKQogIGk1NiArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzU2ID0gIiI7CmlmIChpNTYucmVwbGFjZSgvXFMrL2csICIiKSAhPT0gbzU2KSB7CiAgJEVSUk9SKCIjNTY6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcUyBiZXR3ZWVuIGNoYXJhY3RlciBlMDAwIGFuZCBlM2ZmIik7Cn0KCnZhciBpNTcgPSAiIjsKZm9yICh2YXIgaiA9IDU4MzY4OyBqIDwgNTkzOTI7IGorKykKICBpNTcgKz0gU3RyaW5nLmZyb21DaGFyQ29kZShqKTsKdmFyIG81NyA9ICIiOwppZiAoaTU3LnJlcGxhY2UoL1xTKy9nLCAiIikgIT09IG81NykgewogICRFUlJPUigiIzU3OiBFcnJvciBtYXRjaGluZyBjaGFyYWN0ZXIgY2xhc3MgXFMgYmV0d2VlbiBjaGFyYWN0ZXIgZTQwMCBhbmQgZTdmZiIpOwp9Cgp2YXIgaTU4ID0gIiI7CmZvciAodmFyIGogPSA1OTM5MjsgaiA8IDYwNDE2OyBqKyspCiAgaTU4ICs9IFN0cmluZy5mcm9tQ2hhckNvZGUoaik7CnZhciBvNTggPSAiIjsKaWYgKGk1OC5yZXBsYWNlKC9cUysvZywgIiIpICE9PSBvNTgpIHsKICAkRVJST1IoIiM1ODogRXJyb3IgbWF0Y2hpbmcgY2hhcmFjdGVyIGNsYXNzIFxTIGJldHdlZW4gY2hhcmFjdGVyIGU4MDAgYW5kIGViZmYiKTsKfQoKdmFyIGk1OSA9ICIiOwpmb3IgKHZhciBqID0gNjA0MTY7IGogPCA2MTQ0MDsgaisrKQogIGk1OSArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzU5ID0gIiI7CmlmIChpNTkucmVwbGFjZSgvXFMrL2csICIiKSAhPT0gbzU5KSB7CiAgJEVSUk9SKCIjNTk6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcUyBiZXR3ZWVuIGNoYXJhY3RlciBlYzAwIGFuZCBlZmZmIik7Cn0KCnZhciBpNjAgPSAiIjsKZm9yICh2YXIgaiA9IDYxNDQwOyBqIDwgNjI0NjQ7IGorKykKICBpNjAgKz0gU3RyaW5nLmZyb21DaGFyQ29kZShqKTsKdmFyIG82MCA9ICIiOwppZiAoaTYwLnJlcGxhY2UoL1xTKy9nLCAiIikgIT09IG82MCkgewogICRFUlJPUigiIzYwOiBFcnJvciBtYXRjaGluZyBjaGFyYWN0ZXIgY2xhc3MgXFMgYmV0d2VlbiBjaGFyYWN0ZXIgZjAwMCBhbmQgZjNmZiIpOwp9Cgp2YXIgaTYxID0gIiI7CmZvciAodmFyIGogPSA2MjQ2NDsgaiA8IDYzNDg4OyBqKyspCiAgaTYxICs9IFN0cmluZy5mcm9tQ2hhckNvZGUoaik7CnZhciBvNjEgPSAiIjsKaWYgKGk2MS5yZXBsYWNlKC9cUysvZywgIiIpICE9PSBvNjEpIHsKICAkRVJST1IoIiM2MTogRXJyb3IgbWF0Y2hpbmcgY2hhcmFjdGVyIGNsYXNzIFxTIGJldHdlZW4gY2hhcmFjdGVyIGY0MDAgYW5kIGY3ZmYiKTsKfQoKdmFyIGk2MiA9ICIiOwpmb3IgKHZhciBqID0gNjM0ODg7IGogPCA2NDUxMjsgaisrKQogIGk2MiArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzYyID0gIiI7CmlmIChpNjIucmVwbGFjZSgvXFMrL2csICIiKSAhPT0gbzYyKSB7CiAgJEVSUk9SKCIjNjI6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcUyBiZXR3ZWVuIGNoYXJhY3RlciBmODAwIGFuZCBmYmZmIik7Cn0KCnZhciBpNjMgPSAiIjsKZm9yICh2YXIgaiA9IDY0NTEyOyBqIDwgNjU1MzY7IGorKykgewogIGlmIChqPT09NjUyNzkpIHsgY29udGludWU7fSAvL0lnbm9yZSBCT00KICBpNjMgKz0gU3RyaW5nLmZyb21DaGFyQ29kZShqKTsKfQp2YXIgbzYzID0gIiI7CmlmIChpNjMucmVwbGFjZSgvXFMrL2csICIiKSAhPT0gbzYzKSB7CiAgJEVSUk9SKCIjNjM6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcUyBiZXR3ZWVuIGNoYXJhY3RlciBmYzAwIGFuZCBmZmZmIik7Cn0KCnZhciBpNjQgPSBTdHJpbmcuZnJvbUNoYXJDb2RlKDY1Mjc5KTsKaWYgKGk2NC5yZXBsYWNlKC9cUy9nLCAiIikgPT09ICIiKSB7CiAgJEVSUk9SKCIjNjQ6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcUyBmb3IgQk9NIChmZWZmKSIpOwp9","commentary":"The production CharacterClassEscape :: S evaluates by returning\nthe set of all characters not included in the set returned by\nCharacterClassEscape :: s","description":"WhiteSpace","path":"TestCases/ch15/15.10/15.10.2/15.10.2.12/S15.10.2.12_A2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBDaGFyYWN0ZXJDbGFzc0VzY2FwZSA6OiBTIGV2YWx1YXRlcyBieSByZXR1cm5pbmcKICogdGhlIHNldCBvZiBhbGwgY2hhcmFjdGVycyBub3QgaW5jbHVkZWQgaW4gdGhlIHNldCByZXR1cm5lZCBieQogKiBDaGFyYWN0ZXJDbGFzc0VzY2FwZSA6OiBzCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuMi8xNS4xMC4yLjEyL1MxNS4xMC4yLjEyX0EyX1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBMaW5lVGVybWluYXRvcgogKi8KCi8vQ0hFQ0sjMQp2YXIgYXJyID0gL1xTLy5leGVjKCJcdTAwMEEiKTsKaWYgKGFyciAhPT0gbnVsbCkgewogICRFUlJPUignIzE6IHZhciBhcnIgPSAvXFxTLy5leGVjKCJcXHUwMDBBIik7IGFyclswXSA9PT0gIlxcdTAwMEEiLiBBY3R1YWwuICcgKyAoYXJyICYmIGFyclswXSkpOwp9CgovL0NIRUNLIzIKdmFyIGFyciA9IC9cUy8uZXhlYygiXHUwMDBEIik7CmlmIChhcnIgIT09IG51bGwpIHsKICAkRVJST1IoJyMyOiB2YXIgYXJyID0gL1xcUy8uZXhlYygiXFx1MDAwRCIpOyBhcnJbMF0gPT09ICJcXHUwMDBEIi4gQWN0dWFsLiAnICsgKGFyciAmJiBhcnJbMF0pKTsKfSAgCgovL0NIRUNLIzMKdmFyIGFyciA9IC9cUy8uZXhlYygiXHUyMDI4Iik7CmlmIChhcnIgIT09IG51bGwpIHsKICAkRVJST1IoJyMzOiB2YXIgYXJyID0gL1xcUy8uZXhlYygiXFx1MjAyOCIpOyBhcnJbMF0gPT09ICJcXHUyMDI4Ii4gQWN0dWFsLiAnICsgKGFyciAmJiBhcnJbMF0pKTsKfSAgICAKCi8vQ0hFQ0sjNAp2YXIgYXJyID0gL1xTLy5leGVjKCJcdTIwMjkiKTsKaWYgKGFyciAhPT0gbnVsbCkgewogICRFUlJPUignIzQ6IHZhciBhcnIgPSAvXFxTLy5leGVjKCJcXHUyMDI5Iik7IGFyclswXSA9PT0gIlxcdTIwMjkiLiBBY3R1YWwuICcgKyAoYXJyICYmIGFyclswXSkpOwp9ICAKCg==","commentary":"The production CharacterClassEscape :: S evaluates by returning\nthe set of all characters not included in the set returned by\nCharacterClassEscape :: s","description":"LineTerminator","path":"TestCases/ch15/15.10/15.10.2/15.10.2.12/S15.10.2.12_A2_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBDaGFyYWN0ZXJDbGFzc0VzY2FwZSA6OiBTIGV2YWx1YXRlcyBieSByZXR1cm5pbmcKICogdGhlIHNldCBvZiBhbGwgY2hhcmFjdGVycyBub3QgaW5jbHVkZWQgaW4gdGhlIHNldCByZXR1cm5lZCBieQogKiBDaGFyYWN0ZXJDbGFzc0VzY2FwZSA6OiBzCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuMi8xNS4xMC4yLjEyL1MxNS4xMC4yLjEyX0EyX1QzLmpzCiAqIEBkZXNjcmlwdGlvbiBFTkdMSVNIIEFMUEhBQkVUCiAqLwoKdmFyIHJlZ2V4cF9TID0gL1xTLzsKCi8vQ0hFQ0sjMDA0MS0wMDVBCnZhciByZXN1bHQgPSB0cnVlOwpmb3IgKGFscGhhID0gMHgwMDQxOyBhbHBoYSA8PSAweDAwNUE7IGFscGhhKyspIHsKICBzdHIgPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGFscGhhKTsKICBhcnIgPSByZWdleHBfUy5leGVjKHN0cik7IAogIGlmICgoYXJyID09PSBudWxsKSB8fCAoYXJyWzBdICE9PSBzdHIpKSB7CiAgICByZXN1bHQgPSBmYWxzZTsKICB9Cn0KCmlmIChyZXN1bHQgIT09IHRydWUpIHsKICAkRVJST1IoJyMxOiBFTkdMSVNIIENBUElUQUwgQUxQSEFCRVQnKTsKfSAgCgovL0NIRUNLIzAwNjEtMDA3QQp2YXIgcmVzdWx0ID0gdHJ1ZTsgCmZvciAoYWxwaGEgPSAweDAwNjE7IGFscGhhIDw9IDB4MDA3QTsgYWxwaGErKykgewogIHN0ciA9IFN0cmluZy5mcm9tQ2hhckNvZGUoYWxwaGEpOwogIGFyciA9IHJlZ2V4cF9TLmV4ZWMoc3RyKTsgCiAgaWYgKChhcnIgPT09IG51bGwpIHx8IChhcnJbMF0gIT09IHN0cikpIHsKICAgIHJlc3VsdCA9IGZhbHNlOwogIH0KfQoKaWYgKHJlc3VsdCAhPT0gdHJ1ZSkgewogICRFUlJPUignIzI6IGVuZ2xpc2ggc21hbGwgYWxwaGFiZXQnKTsKfSAKCg==","commentary":"The production CharacterClassEscape :: S evaluates by returning\nthe set of all characters not included in the set returned by\nCharacterClassEscape :: s","description":"ENGLISH ALPHABET","path":"TestCases/ch15/15.10/15.10.2/15.10.2.12/S15.10.2.12_A2_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBDaGFyYWN0ZXJDbGFzc0VzY2FwZSA6OiBTIGV2YWx1YXRlcyBieSByZXR1cm5pbmcKICogdGhlIHNldCBvZiBhbGwgY2hhcmFjdGVycyBub3QgaW5jbHVkZWQgaW4gdGhlIHNldCByZXR1cm5lZCBieQogKiBDaGFyYWN0ZXJDbGFzc0VzY2FwZSA6OiBzCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuMi8xNS4xMC4yLjEyL1MxNS4xMC4yLjEyX0EyX1Q0LmpzCiAqIEBkZXNjcmlwdGlvbiBSVVNTSUFOIEFMUEhBQkVUCiAqLwoKdmFyIHJlZ2V4cF9TID0gL1xTLzsKCi8vQ0hFQ0sjMDQxMC0wNDJGIAp2YXIgcmVzdWx0ID0gdHJ1ZTsgCmZvciAoYWxwaGEgPSAweDA0MTA7IGFscGhhIDw9IDB4MDQyRjsgYWxwaGErKykgewogIHN0ciA9IFN0cmluZy5mcm9tQ2hhckNvZGUoYWxwaGEpOwogIGFyciA9IHJlZ2V4cF9TLmV4ZWMoc3RyKTsgCiAgaWYgKChhcnIgPT09IG51bGwpIHx8IChhcnJbMF0gIT09IHN0cikpIHsKICAgIHJlc3VsdCA9IGZhbHNlOwogIH0KfQoKaWYgKHJlc3VsdCAhPT0gdHJ1ZSkgewogICRFUlJPUignIzE6IFJVU1NJQU4gQ0FQSVRBTCBBTFBIQUJFVCcpOwp9CgovL0NIRUNLIzA0MzAtMDQ0Rgp2YXIgcmVzdWx0ID0gdHJ1ZTsgCmZvciAoYWxwaGEgPSAweDA0MzA7IGFscGhhIDw9IDB4MDQ0RjsgYWxwaGErKykgewogIHN0ciA9IFN0cmluZy5mcm9tQ2hhckNvZGUoYWxwaGEpOwogIGFyciA9IHJlZ2V4cF9TLmV4ZWMoc3RyKTsgCiAgaWYgKChhcnIgPT09IG51bGwpIHx8IChhcnJbMF0gIT09IHN0cikpIHsKICAgIHJlc3VsdCA9IGZhbHNlOwogIH0KfQoKaWYgKHJlc3VsdCAhPT0gdHJ1ZSkgewogICRFUlJPUignIzI6IHJ1c3NpYW4gc21hbGwgYWxwaGFiZXQnKTsKfQoK","commentary":"The production CharacterClassEscape :: S evaluates by returning\nthe set of all characters not included in the set returned by\nCharacterClassEscape :: s","description":"RUSSIAN ALPHABET","path":"TestCases/ch15/15.10/15.10.2/15.10.2.12/S15.10.2.12_A2_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBDaGFyYWN0ZXJDbGFzc0VzY2FwZSA6OiBTIGV2YWx1YXRlcyBieSByZXR1cm5pbmcKICogdGhlIHNldCBvZiBhbGwgY2hhcmFjdGVycyBub3QgaW5jbHVkZWQgaW4gdGhlIHNldCByZXR1cm5lZCBieQogKiBDaGFyYWN0ZXJDbGFzc0VzY2FwZSA6OiBzCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuMi8xNS4xMC4yLjEyL1MxNS4xMC4yLjEyX0EyX1Q1LmpzCiAqIEBkZXNjcmlwdGlvbiBUZXN0ZWQgc3RyaW5nIGlzICIwMTIzNDU2Nzg5X2FiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6QUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVp+YCFAIyQlXiYqKCktKz17W31dfFxcOjsnPCw+Li8/IiArICciJwogKi8KCi8vQ0hFQ0sjMQp2YXIgbm9uX3MgPSAiMDEyMzQ1Njc4OV9hYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ekFCQ0RFRkdISUpLTE1OT1BRUlNUVVZXWFlafmAhQCMkJV4mKigpLSs9e1t9XXxcXDo7JzwsPi4vPyIgKyAnIic7CnZhciByZWdleHBfUyA9IC9cUy9nOwp2YXIgayA9IDA7CndoaWxlIChyZWdleHBfUy5leGVjKG5vbl9zKSAhPT0gbnVsbCkgewogICBrKys7Cn0KCmlmIChub25fcy5sZW5ndGggIT09IGspIHsKICAgJEVSUk9SKCcjMTogbm9uLXMnKTsKfSAgCgovL0NIRUNLIzIKdmFyIG5vbl9TID0gJ1xmXG5cclx0XHYgJzsKaWYgKC9cUy8uZXhlYyhub25fUykgIT09IG51bGwpIHsKICAgJEVSUk9SKCcjMjogbm9uLVMnKTsKfQoK","commentary":"The production CharacterClassEscape :: S evaluates by returning\nthe set of all characters not included in the set returned by\nCharacterClassEscape :: s","description":"Tested string is \"0123456789_abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ~`!@#$%^&*()-+={[}]|\\\\:;'<,>./?\" + '\"'","path":"TestCases/ch15/15.10/15.10.2/15.10.2.12/S15.10.2.12_A2_T5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBDaGFyYWN0ZXJDbGFzc0VzY2FwZSA6OiB3IGV2YWx1YXRlcyBieSByZXR1cm5pbmcgdGhlIHNldCBvZiBjaGFyYWN0ZXJzIGNvbnRhaW5pbmcgdGhlIHNpeHR5LXRocmVlIGNoYXJhY3RlcnM6CiAqIGEgLSB6LCBBIC0gWiwgMCAtIDksIF8KICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC4yLzE1LjEwLjIuMTIvUzE1LjEwLjIuMTJfQTNfVDEuanMKICogQGRlc2NyaXB0aW9uIEEgLSBaCiAqLwoKdmFyIGkwID0gIiI7CmZvciAodmFyIGogPSAwOyBqIDwgMjU2OyBqKyspCiAgaTAgKz0gU3RyaW5nLmZyb21DaGFyQ29kZShqKTsKdmFyIG8wID0gIlx1MDAwMFx1MDAwMVx1MDAwMlx1MDAwM1x1MDAwNFx1MDAwNVx1MDAwNlx1MDAwN1x1MDAwOFx1MDAwOVx1MDAwQVx1MDAwQlx1MDAwQ1x1MDAwRFx1MDAwRVx1MDAwRlx1MDAxMFx1MDAxMVx1MDAxMlx1MDAxM1x1MDAxNFx1MDAxNVx1MDAxNlx1MDAxN1x1MDAxOFx1MDAxOVx1MDAxQVx1MDAxQlx1MDAxQ1x1MDAxRFx1MDAxRVx1MDAxRlx1MDAyMFx1MDAyMVx1MDAyMlx1MDAyM1x1MDAyNFx1MDAyNVx1MDAyNlx1MDAyN1x1MDAyOFx1MDAyOVx1MDAyQVx1MDAyQlx1MDAyQ1x1MDAyRFx1MDAyRVx1MDAyRlx1MDAzQVx1MDAzQlx1MDAzQ1x1MDAzRFx1MDAzRVx1MDAzRlx1MDA0MFx1MDA1Qlx1MDA1Q1x1MDA1RFx1MDA1RVx1MDA2MFx1MDA3Qlx1MDA3Q1x1MDA3RFx1MDA3RVx1MDA3Rlx1MDA4MFx1MDA4MVx1MDA4Mlx1MDA4M1x1MDA4NFx1MDA4NVx1MDA4Nlx1MDA4N1x1MDA4OFx1MDA4OVx1MDA4QVx1MDA4Qlx1MDA4Q1x1MDA4RFx1MDA4RVx1MDA4Rlx1MDA5MFx1MDA5MVx1MDA5Mlx1MDA5M1x1MDA5NFx1MDA5NVx1MDA5Nlx1MDA5N1x1MDA5OFx1MDA5OVx1MDA5QVx1MDA5Qlx1MDA5Q1x1MDA5RFx1MDA5RVx1MDA5Rlx1MDBBMFx1MDBBMVx1MDBBMlx1MDBBM1x1MDBBNFx1MDBBNVx1MDBBNlx1MDBBN1x1MDBBOFx1MDBBOVx1MDBBQVx1MDBBQlx1MDBBQ1x1MDBBRFx1MDBBRVx1MDBBRlx1MDBCMFx1MDBCMVx1MDBCMlx1MDBCM1x1MDBCNFx1MDBCNVx1MDBCNlx1MDBCN1x1MDBCOFx1MDBCOVx1MDBCQVx1MDBCQlx1MDBCQ1x1MDBCRFx1MDBCRVx1MDBCRlx1MDBDMFx1MDBDMVx1MDBDMlx1MDBDM1x1MDBDNFx1MDBDNVx1MDBDNlx1MDBDN1x1MDBDOFx1MDBDOVx1MDBDQVx1MDBDQlx1MDBDQ1x1MDBDRFx1MDBDRVx1MDBDRlx1MDBEMFx1MDBEMVx1MDBEMlx1MDBEM1x1MDBENFx1MDBENVx1MDBENlx1MDBEN1x1MDBEOFx1MDBEOVx1MDBEQVx1MDBEQlx1MDBEQ1x1MDBERFx1MDBERVx1MDBERlx1MDBFMFx1MDBFMVx1MDBFMlx1MDBFM1x1MDBFNFx1MDBFNVx1MDBFNlx1MDBFN1x1MDBFOFx1MDBFOVx1MDBFQVx1MDBFQlx1MDBFQ1x1MDBFRFx1MDBFRVx1MDBFRlx1MDBGMFx1MDBGMVx1MDBGMlx1MDBGM1x1MDBGNFx1MDBGNVx1MDBGNlx1MDBGN1x1MDBGOFx1MDBGOVx1MDBGQVx1MDBGQlx1MDBGQ1x1MDBGRFx1MDBGRVx1MDBGRiI7CmlmIChpMC5yZXBsYWNlKC9cdysvZywgIiIpICE9PSBvMCkgewogICRFUlJPUigiIzA6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciAwIGFuZCBmZiIpOwp9Cgp2YXIgaTEgPSAiIjsKZm9yICh2YXIgaiA9IDI1NjsgaiA8IDUxMjsgaisrKQogIGkxICs9IFN0cmluZy5mcm9tQ2hhckNvZGUoaik7CnZhciBvMSA9IGkxOwppZiAoaTEucmVwbGFjZSgvXHcrL2csICIiKSAhPT0gbzEpIHsKICAkRVJST1IoIiMxOiBFcnJvciBtYXRjaGluZyBjaGFyYWN0ZXIgY2xhc3MgXHcgYmV0d2VlbiBjaGFyYWN0ZXIgMTAwIGFuZCAxZmYiKTsKfQoKdmFyIGkyID0gIiI7CmZvciAodmFyIGogPSA1MTI7IGogPCA3Njg7IGorKykKICBpMiArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzIgPSBpMjsKaWYgKGkyLnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG8yKSB7CiAgJEVSUk9SKCIjMjogRXJyb3IgbWF0Y2hpbmcgY2hhcmFjdGVyIGNsYXNzIFx3IGJldHdlZW4gY2hhcmFjdGVyIDIwMCBhbmQgMmZmIik7Cn0KCnZhciBpMyA9ICIiOwpmb3IgKHZhciBqID0gNzY4OyBqIDwgMTAyNDsgaisrKQogIGkzICs9IFN0cmluZy5mcm9tQ2hhckNvZGUoaik7CnZhciBvMyA9IGkzOwppZiAoaTMucmVwbGFjZSgvXHcrL2csICIiKSAhPT0gbzMpIHsKICAkRVJST1IoIiMzOiBFcnJvciBtYXRjaGluZyBjaGFyYWN0ZXIgY2xhc3MgXHcgYmV0d2VlbiBjaGFyYWN0ZXIgMzAwIGFuZCAzZmYiKTsKfQoKdmFyIGk0ID0gIiI7CmZvciAodmFyIGogPSAxMDI0OyBqIDwgMTI4MDsgaisrKQogIGk0ICs9IFN0cmluZy5mcm9tQ2hhckNvZGUoaik7CnZhciBvNCA9IGk0OwppZiAoaTQucmVwbGFjZSgvXHcrL2csICIiKSAhPT0gbzQpIHsKICAkRVJST1IoIiM0OiBFcnJvciBtYXRjaGluZyBjaGFyYWN0ZXIgY2xhc3MgXHcgYmV0d2VlbiBjaGFyYWN0ZXIgNDAwIGFuZCA0ZmYiKTsKfQoKdmFyIGk1ID0gIiI7CmZvciAodmFyIGogPSAxMjgwOyBqIDwgMTUzNjsgaisrKQogIGk1ICs9IFN0cmluZy5mcm9tQ2hhckNvZGUoaik7CnZhciBvNSA9IGk1OwppZiAoaTUucmVwbGFjZSgvXHcrL2csICIiKSAhPT0gbzUpIHsKICAkRVJST1IoIiM1OiBFcnJvciBtYXRjaGluZyBjaGFyYWN0ZXIgY2xhc3MgXHcgYmV0d2VlbiBjaGFyYWN0ZXIgNTAwIGFuZCA1ZmYiKTsKfQoKdmFyIGk2ID0gIiI7CmZvciAodmFyIGogPSAxNTM2OyBqIDwgMTc5MjsgaisrKQogIGk2ICs9IFN0cmluZy5mcm9tQ2hhckNvZGUoaik7CnZhciBvNiA9IGk2OwppZiAoaTYucmVwbGFjZSgvXHcrL2csICIiKSAhPT0gbzYpIHsKICAkRVJST1IoIiM2OiBFcnJvciBtYXRjaGluZyBjaGFyYWN0ZXIgY2xhc3MgXHcgYmV0d2VlbiBjaGFyYWN0ZXIgNjAwIGFuZCA2ZmYiKTsKfQoKdmFyIGk3ID0gIiI7CmZvciAodmFyIGogPSAxNzkyOyBqIDwgMjA0ODsgaisrKQogIGk3ICs9IFN0cmluZy5mcm9tQ2hhckNvZGUoaik7CnZhciBvNyA9IGk3OwppZiAoaTcucmVwbGFjZSgvXHcrL2csICIiKSAhPT0gbzcpIHsKICAkRVJST1IoIiM3OiBFcnJvciBtYXRjaGluZyBjaGFyYWN0ZXIgY2xhc3MgXHcgYmV0d2VlbiBjaGFyYWN0ZXIgNzAwIGFuZCA3ZmYiKTsKfQoKdmFyIGk4ID0gIiI7CmZvciAodmFyIGogPSAyMDQ4OyBqIDwgMjMwNDsgaisrKQogIGk4ICs9IFN0cmluZy5mcm9tQ2hhckNvZGUoaik7CnZhciBvOCA9IGk4OwppZiAoaTgucmVwbGFjZSgvXHcrL2csICIiKSAhPT0gbzgpIHsKICAkRVJST1IoIiM4OiBFcnJvciBtYXRjaGluZyBjaGFyYWN0ZXIgY2xhc3MgXHcgYmV0d2VlbiBjaGFyYWN0ZXIgODAwIGFuZCA4ZmYiKTsKfQoKdmFyIGk5ID0gIiI7CmZvciAodmFyIGogPSAyMzA0OyBqIDwgMjU2MDsgaisrKQogIGk5ICs9IFN0cmluZy5mcm9tQ2hhckNvZGUoaik7CnZhciBvOSA9IGk5OwppZiAoaTkucmVwbGFjZSgvXHcrL2csICIiKSAhPT0gbzkpIHsKICAkRVJST1IoIiM5OiBFcnJvciBtYXRjaGluZyBjaGFyYWN0ZXIgY2xhc3MgXHcgYmV0d2VlbiBjaGFyYWN0ZXIgOTAwIGFuZCA5ZmYiKTsKfQoKdmFyIGkxMCA9ICIiOwpmb3IgKHZhciBqID0gMjU2MDsgaiA8IDI4MTY7IGorKykKICBpMTAgKz0gU3RyaW5nLmZyb21DaGFyQ29kZShqKTsKdmFyIG8xMCA9IGkxMDsKaWYgKGkxMC5yZXBsYWNlKC9cdysvZywgIiIpICE9PSBvMTApIHsKICAkRVJST1IoIiMxMDogRXJyb3IgbWF0Y2hpbmcgY2hhcmFjdGVyIGNsYXNzIFx3IGJldHdlZW4gY2hhcmFjdGVyIGEwMCBhbmQgYWZmIik7Cn0KCnZhciBpMTEgPSAiIjsKZm9yICh2YXIgaiA9IDI4MTY7IGogPCAzMDcyOyBqKyspCiAgaTExICs9IFN0cmluZy5mcm9tQ2hhckNvZGUoaik7CnZhciBvMTEgPSBpMTE7CmlmIChpMTEucmVwbGFjZSgvXHcrL2csICIiKSAhPT0gbzExKSB7CiAgJEVSUk9SKCIjMTE6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciBiMDAgYW5kIGJmZiIpOwp9Cgp2YXIgaTEyID0gIiI7CmZvciAodmFyIGogPSAzMDcyOyBqIDwgMzMyODsgaisrKQogIGkxMiArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzEyID0gaTEyOwppZiAoaTEyLnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG8xMikgewogICRFUlJPUigiIzEyOiBFcnJvciBtYXRjaGluZyBjaGFyYWN0ZXIgY2xhc3MgXHcgYmV0d2VlbiBjaGFyYWN0ZXIgYzAwIGFuZCBjZmYiKTsKfQoKdmFyIGkxMyA9ICIiOwpmb3IgKHZhciBqID0gMzMyODsgaiA8IDM1ODQ7IGorKykKICBpMTMgKz0gU3RyaW5nLmZyb21DaGFyQ29kZShqKTsKdmFyIG8xMyA9IGkxMzsKaWYgKGkxMy5yZXBsYWNlKC9cdysvZywgIiIpICE9PSBvMTMpIHsKICAkRVJST1IoIiMxMzogRXJyb3IgbWF0Y2hpbmcgY2hhcmFjdGVyIGNsYXNzIFx3IGJldHdlZW4gY2hhcmFjdGVyIGQwMCBhbmQgZGZmIik7Cn0KCnZhciBpMTQgPSAiIjsKZm9yICh2YXIgaiA9IDM1ODQ7IGogPCAzODQwOyBqKyspCiAgaTE0ICs9IFN0cmluZy5mcm9tQ2hhckNvZGUoaik7CnZhciBvMTQgPSBpMTQ7CmlmIChpMTQucmVwbGFjZSgvXHcrL2csICIiKSAhPT0gbzE0KSB7CiAgJEVSUk9SKCIjMTQ6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciBlMDAgYW5kIGVmZiIpOwp9Cgp2YXIgaTE1ID0gIiI7CmZvciAodmFyIGogPSAzODQwOyBqIDwgNDA5NjsgaisrKQogIGkxNSArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzE1ID0gaTE1OwppZiAoaTE1LnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG8xNSkgewogICRFUlJPUigiIzE1OiBFcnJvciBtYXRjaGluZyBjaGFyYWN0ZXIgY2xhc3MgXHcgYmV0d2VlbiBjaGFyYWN0ZXIgZjAwIGFuZCBmZmYiKTsKfQoKdmFyIGkxNiA9ICIiOwpmb3IgKHZhciBqID0gNDA5NjsgaiA8IDQzNTI7IGorKykKICBpMTYgKz0gU3RyaW5nLmZyb21DaGFyQ29kZShqKTsKdmFyIG8xNiA9IGkxNjsKaWYgKGkxNi5yZXBsYWNlKC9cdysvZywgIiIpICE9PSBvMTYpIHsKICAkRVJST1IoIiMxNjogRXJyb3IgbWF0Y2hpbmcgY2hhcmFjdGVyIGNsYXNzIFx3IGJldHdlZW4gY2hhcmFjdGVyIDEwMDAgYW5kIDEwZmYiKTsKfQoKdmFyIGkxNyA9ICIiOwpmb3IgKHZhciBqID0gNDM1MjsgaiA8IDQ2MDg7IGorKykKICBpMTcgKz0gU3RyaW5nLmZyb21DaGFyQ29kZShqKTsKdmFyIG8xNyA9IGkxNzsKaWYgKGkxNy5yZXBsYWNlKC9cdysvZywgIiIpICE9PSBvMTcpIHsKICAkRVJST1IoIiMxNzogRXJyb3IgbWF0Y2hpbmcgY2hhcmFjdGVyIGNsYXNzIFx3IGJldHdlZW4gY2hhcmFjdGVyIDExMDAgYW5kIDExZmYiKTsKfQoKdmFyIGkxOCA9ICIiOwpmb3IgKHZhciBqID0gNDYwODsgaiA8IDQ4NjQ7IGorKykKICBpMTggKz0gU3RyaW5nLmZyb21DaGFyQ29kZShqKTsKdmFyIG8xOCA9IGkxODsKaWYgKGkxOC5yZXBsYWNlKC9cdysvZywgIiIpICE9PSBvMTgpIHsKICAkRVJST1IoIiMxODogRXJyb3IgbWF0Y2hpbmcgY2hhcmFjdGVyIGNsYXNzIFx3IGJldHdlZW4gY2hhcmFjdGVyIDEyMDAgYW5kIDEyZmYiKTsKfQoKdmFyIGkxOSA9ICIiOwpmb3IgKHZhciBqID0gNDg2NDsgaiA8IDUxMjA7IGorKykKICBpMTkgKz0gU3RyaW5nLmZyb21DaGFyQ29kZShqKTsKdmFyIG8xOSA9IGkxOTsKaWYgKGkxOS5yZXBsYWNlKC9cdysvZywgIiIpICE9PSBvMTkpIHsKICAkRVJST1IoIiMxOTogRXJyb3IgbWF0Y2hpbmcgY2hhcmFjdGVyIGNsYXNzIFx3IGJldHdlZW4gY2hhcmFjdGVyIDEzMDAgYW5kIDEzZmYiKTsKfQoKdmFyIGkyMCA9ICIiOwpmb3IgKHZhciBqID0gNTEyMDsgaiA8IDUzNzY7IGorKykKICBpMjAgKz0gU3RyaW5nLmZyb21DaGFyQ29kZShqKTsKdmFyIG8yMCA9IGkyMDsKaWYgKGkyMC5yZXBsYWNlKC9cdysvZywgIiIpICE9PSBvMjApIHsKICAkRVJST1IoIiMyMDogRXJyb3IgbWF0Y2hpbmcgY2hhcmFjdGVyIGNsYXNzIFx3IGJldHdlZW4gY2hhcmFjdGVyIDE0MDAgYW5kIDE0ZmYiKTsKfQoKdmFyIGkyMSA9ICIiOwpmb3IgKHZhciBqID0gNTM3NjsgaiA8IDU2MzI7IGorKykKICBpMjEgKz0gU3RyaW5nLmZyb21DaGFyQ29kZShqKTsKdmFyIG8yMSA9IGkyMTsKaWYgKGkyMS5yZXBsYWNlKC9cdysvZywgIiIpICE9PSBvMjEpIHsKICAkRVJST1IoIiMyMTogRXJyb3IgbWF0Y2hpbmcgY2hhcmFjdGVyIGNsYXNzIFx3IGJldHdlZW4gY2hhcmFjdGVyIDE1MDAgYW5kIDE1ZmYiKTsKfQoKdmFyIGkyMiA9ICIiOwpmb3IgKHZhciBqID0gNTYzMjsgaiA8IDU4ODg7IGorKykKICBpMjIgKz0gU3RyaW5nLmZyb21DaGFyQ29kZShqKTsKdmFyIG8yMiA9IGkyMjsKaWYgKGkyMi5yZXBsYWNlKC9cdysvZywgIiIpICE9PSBvMjIpIHsKICAkRVJST1IoIiMyMjogRXJyb3IgbWF0Y2hpbmcgY2hhcmFjdGVyIGNsYXNzIFx3IGJldHdlZW4gY2hhcmFjdGVyIDE2MDAgYW5kIDE2ZmYiKTsKfQoKdmFyIGkyMyA9ICIiOwpmb3IgKHZhciBqID0gNTg4ODsgaiA8IDYxNDQ7IGorKykKICBpMjMgKz0gU3RyaW5nLmZyb21DaGFyQ29kZShqKTsKdmFyIG8yMyA9IGkyMzsKaWYgKGkyMy5yZXBsYWNlKC9cdysvZywgIiIpICE9PSBvMjMpIHsKICAkRVJST1IoIiMyMzogRXJyb3IgbWF0Y2hpbmcgY2hhcmFjdGVyIGNsYXNzIFx3IGJldHdlZW4gY2hhcmFjdGVyIDE3MDAgYW5kIDE3ZmYiKTsKfQoKdmFyIGkyNCA9ICIiOwpmb3IgKHZhciBqID0gNjE0NDsgaiA8IDY0MDA7IGorKykKICBpMjQgKz0gU3RyaW5nLmZyb21DaGFyQ29kZShqKTsKdmFyIG8yNCA9IGkyNDsKaWYgKGkyNC5yZXBsYWNlKC9cdysvZywgIiIpICE9PSBvMjQpIHsKICAkRVJST1IoIiMyNDogRXJyb3IgbWF0Y2hpbmcgY2hhcmFjdGVyIGNsYXNzIFx3IGJldHdlZW4gY2hhcmFjdGVyIDE4MDAgYW5kIDE4ZmYiKTsKfQoKdmFyIGkyNSA9ICIiOwpmb3IgKHZhciBqID0gNjQwMDsgaiA8IDY2NTY7IGorKykKICBpMjUgKz0gU3RyaW5nLmZyb21DaGFyQ29kZShqKTsKdmFyIG8yNSA9IGkyNTsKaWYgKGkyNS5yZXBsYWNlKC9cdysvZywgIiIpICE9PSBvMjUpIHsKICAkRVJST1IoIiMyNTogRXJyb3IgbWF0Y2hpbmcgY2hhcmFjdGVyIGNsYXNzIFx3IGJldHdlZW4gY2hhcmFjdGVyIDE5MDAgYW5kIDE5ZmYiKTsKfQoKdmFyIGkyNiA9ICIiOwpmb3IgKHZhciBqID0gNjY1NjsgaiA8IDY5MTI7IGorKykKICBpMjYgKz0gU3RyaW5nLmZyb21DaGFyQ29kZShqKTsKdmFyIG8yNiA9IGkyNjsKaWYgKGkyNi5yZXBsYWNlKC9cdysvZywgIiIpICE9PSBvMjYpIHsKICAkRVJST1IoIiMyNjogRXJyb3IgbWF0Y2hpbmcgY2hhcmFjdGVyIGNsYXNzIFx3IGJldHdlZW4gY2hhcmFjdGVyIDFhMDAgYW5kIDFhZmYiKTsKfQoKdmFyIGkyNyA9ICIiOwpmb3IgKHZhciBqID0gNjkxMjsgaiA8IDcxNjg7IGorKykKICBpMjcgKz0gU3RyaW5nLmZyb21DaGFyQ29kZShqKTsKdmFyIG8yNyA9IGkyNzsKaWYgKGkyNy5yZXBsYWNlKC9cdysvZywgIiIpICE9PSBvMjcpIHsKICAkRVJST1IoIiMyNzogRXJyb3IgbWF0Y2hpbmcgY2hhcmFjdGVyIGNsYXNzIFx3IGJldHdlZW4gY2hhcmFjdGVyIDFiMDAgYW5kIDFiZmYiKTsKfQoKdmFyIGkyOCA9ICIiOwpmb3IgKHZhciBqID0gNzE2ODsgaiA8IDc0MjQ7IGorKykKICBpMjggKz0gU3RyaW5nLmZyb21DaGFyQ29kZShqKTsKdmFyIG8yOCA9IGkyODsKaWYgKGkyOC5yZXBsYWNlKC9cdysvZywgIiIpICE9PSBvMjgpIHsKICAkRVJST1IoIiMyODogRXJyb3IgbWF0Y2hpbmcgY2hhcmFjdGVyIGNsYXNzIFx3IGJldHdlZW4gY2hhcmFjdGVyIDFjMDAgYW5kIDFjZmYiKTsKfQoKdmFyIGkyOSA9ICIiOwpmb3IgKHZhciBqID0gNzQyNDsgaiA8IDc2ODA7IGorKykKICBpMjkgKz0gU3RyaW5nLmZyb21DaGFyQ29kZShqKTsKdmFyIG8yOSA9IGkyOTsKaWYgKGkyOS5yZXBsYWNlKC9cdysvZywgIiIpICE9PSBvMjkpIHsKICAkRVJST1IoIiMyOTogRXJyb3IgbWF0Y2hpbmcgY2hhcmFjdGVyIGNsYXNzIFx3IGJldHdlZW4gY2hhcmFjdGVyIDFkMDAgYW5kIDFkZmYiKTsKfQoKdmFyIGkzMCA9ICIiOwpmb3IgKHZhciBqID0gNzY4MDsgaiA8IDc5MzY7IGorKykKICBpMzAgKz0gU3RyaW5nLmZyb21DaGFyQ29kZShqKTsKdmFyIG8zMCA9IGkzMDsKaWYgKGkzMC5yZXBsYWNlKC9cdysvZywgIiIpICE9PSBvMzApIHsKICAkRVJST1IoIiMzMDogRXJyb3IgbWF0Y2hpbmcgY2hhcmFjdGVyIGNsYXNzIFx3IGJldHdlZW4gY2hhcmFjdGVyIDFlMDAgYW5kIDFlZmYiKTsKfQoKdmFyIGkzMSA9ICIiOwpmb3IgKHZhciBqID0gNzkzNjsgaiA8IDgxOTI7IGorKykKICBpMzEgKz0gU3RyaW5nLmZyb21DaGFyQ29kZShqKTsKdmFyIG8zMSA9IGkzMTsKaWYgKGkzMS5yZXBsYWNlKC9cdysvZywgIiIpICE9PSBvMzEpIHsKICAkRVJST1IoIiMzMTogRXJyb3IgbWF0Y2hpbmcgY2hhcmFjdGVyIGNsYXNzIFx3IGJldHdlZW4gY2hhcmFjdGVyIDFmMDAgYW5kIDFmZmYiKTsKfQoKdmFyIGkzMiA9ICIiOwpmb3IgKHZhciBqID0gODE5MjsgaiA8IDg0NDg7IGorKykKICBpMzIgKz0gU3RyaW5nLmZyb21DaGFyQ29kZShqKTsKdmFyIG8zMiA9IGkzMjsKaWYgKGkzMi5yZXBsYWNlKC9cdysvZywgIiIpICE9PSBvMzIpIHsKICAkRVJST1IoIiMzMjogRXJyb3IgbWF0Y2hpbmcgY2hhcmFjdGVyIGNsYXNzIFx3IGJldHdlZW4gY2hhcmFjdGVyIDIwMDAgYW5kIDIwZmYiKTsKfQoKdmFyIGkzMyA9ICIiOwpmb3IgKHZhciBqID0gODQ0ODsgaiA8IDg3MDQ7IGorKykKICBpMzMgKz0gU3RyaW5nLmZyb21DaGFyQ29kZShqKTsKdmFyIG8zMyA9IGkzMzsKaWYgKGkzMy5yZXBsYWNlKC9cdysvZywgIiIpICE9PSBvMzMpIHsKICAkRVJST1IoIiMzMzogRXJyb3IgbWF0Y2hpbmcgY2hhcmFjdGVyIGNsYXNzIFx3IGJldHdlZW4gY2hhcmFjdGVyIDIxMDAgYW5kIDIxZmYiKTsKfQoKdmFyIGkzNCA9ICIiOwpmb3IgKHZhciBqID0gODcwNDsgaiA8IDg5NjA7IGorKykKICBpMzQgKz0gU3RyaW5nLmZyb21DaGFyQ29kZShqKTsKdmFyIG8zNCA9IGkzNDsKaWYgKGkzNC5yZXBsYWNlKC9cdysvZywgIiIpICE9PSBvMzQpIHsKICAkRVJST1IoIiMzNDogRXJyb3IgbWF0Y2hpbmcgY2hhcmFjdGVyIGNsYXNzIFx3IGJldHdlZW4gY2hhcmFjdGVyIDIyMDAgYW5kIDIyZmYiKTsKfQoKdmFyIGkzNSA9ICIiOwpmb3IgKHZhciBqID0gODk2MDsgaiA8IDkyMTY7IGorKykKICBpMzUgKz0gU3RyaW5nLmZyb21DaGFyQ29kZShqKTsKdmFyIG8zNSA9IGkzNTsKaWYgKGkzNS5yZXBsYWNlKC9cdysvZywgIiIpICE9PSBvMzUpIHsKICAkRVJST1IoIiMzNTogRXJyb3IgbWF0Y2hpbmcgY2hhcmFjdGVyIGNsYXNzIFx3IGJldHdlZW4gY2hhcmFjdGVyIDIzMDAgYW5kIDIzZmYiKTsKfQoKdmFyIGkzNiA9ICIiOwpmb3IgKHZhciBqID0gOTIxNjsgaiA8IDk0NzI7IGorKykKICBpMzYgKz0gU3RyaW5nLmZyb21DaGFyQ29kZShqKTsKdmFyIG8zNiA9IGkzNjsKaWYgKGkzNi5yZXBsYWNlKC9cdysvZywgIiIpICE9PSBvMzYpIHsKICAkRVJST1IoIiMzNjogRXJyb3IgbWF0Y2hpbmcgY2hhcmFjdGVyIGNsYXNzIFx3IGJldHdlZW4gY2hhcmFjdGVyIDI0MDAgYW5kIDI0ZmYiKTsKfQoKdmFyIGkzNyA9ICIiOwpmb3IgKHZhciBqID0gOTQ3MjsgaiA8IDk3Mjg7IGorKykKICBpMzcgKz0gU3RyaW5nLmZyb21DaGFyQ29kZShqKTsKdmFyIG8zNyA9IGkzNzsKaWYgKGkzNy5yZXBsYWNlKC9cdysvZywgIiIpICE9PSBvMzcpIHsKICAkRVJST1IoIiMzNzogRXJyb3IgbWF0Y2hpbmcgY2hhcmFjdGVyIGNsYXNzIFx3IGJldHdlZW4gY2hhcmFjdGVyIDI1MDAgYW5kIDI1ZmYiKTsKfQoKdmFyIGkzOCA9ICIiOwpmb3IgKHZhciBqID0gOTcyODsgaiA8IDk5ODQ7IGorKykKICBpMzggKz0gU3RyaW5nLmZyb21DaGFyQ29kZShqKTsKdmFyIG8zOCA9IGkzODsKaWYgKGkzOC5yZXBsYWNlKC9cdysvZywgIiIpICE9PSBvMzgpIHsKICAkRVJST1IoIiMzODogRXJyb3IgbWF0Y2hpbmcgY2hhcmFjdGVyIGNsYXNzIFx3IGJldHdlZW4gY2hhcmFjdGVyIDI2MDAgYW5kIDI2ZmYiKTsKfQoKdmFyIGkzOSA9ICIiOwpmb3IgKHZhciBqID0gOTk4NDsgaiA8IDEwMjQwOyBqKyspCiAgaTM5ICs9IFN0cmluZy5mcm9tQ2hhckNvZGUoaik7CnZhciBvMzkgPSBpMzk7CmlmIChpMzkucmVwbGFjZSgvXHcrL2csICIiKSAhPT0gbzM5KSB7CiAgJEVSUk9SKCIjMzk6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciAyNzAwIGFuZCAyN2ZmIik7Cn0KCnZhciBpNDAgPSAiIjsKZm9yICh2YXIgaiA9IDEwMjQwOyBqIDwgMTA0OTY7IGorKykKICBpNDAgKz0gU3RyaW5nLmZyb21DaGFyQ29kZShqKTsKdmFyIG80MCA9IGk0MDsKaWYgKGk0MC5yZXBsYWNlKC9cdysvZywgIiIpICE9PSBvNDApIHsKICAkRVJST1IoIiM0MDogRXJyb3IgbWF0Y2hpbmcgY2hhcmFjdGVyIGNsYXNzIFx3IGJldHdlZW4gY2hhcmFjdGVyIDI4MDAgYW5kIDI4ZmYiKTsKfQoKdmFyIGk0MSA9ICIiOwpmb3IgKHZhciBqID0gMTA0OTY7IGogPCAxMDc1MjsgaisrKQogIGk0MSArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzQxID0gaTQxOwppZiAoaTQxLnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG80MSkgewogICRFUlJPUigiIzQxOiBFcnJvciBtYXRjaGluZyBjaGFyYWN0ZXIgY2xhc3MgXHcgYmV0d2VlbiBjaGFyYWN0ZXIgMjkwMCBhbmQgMjlmZiIpOwp9Cgp2YXIgaTQyID0gIiI7CmZvciAodmFyIGogPSAxMDc1MjsgaiA8IDExMDA4OyBqKyspCiAgaTQyICs9IFN0cmluZy5mcm9tQ2hhckNvZGUoaik7CnZhciBvNDIgPSBpNDI7CmlmIChpNDIucmVwbGFjZSgvXHcrL2csICIiKSAhPT0gbzQyKSB7CiAgJEVSUk9SKCIjNDI6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciAyYTAwIGFuZCAyYWZmIik7Cn0KCnZhciBpNDMgPSAiIjsKZm9yICh2YXIgaiA9IDExMDA4OyBqIDwgMTEyNjQ7IGorKykKICBpNDMgKz0gU3RyaW5nLmZyb21DaGFyQ29kZShqKTsKdmFyIG80MyA9IGk0MzsKaWYgKGk0My5yZXBsYWNlKC9cdysvZywgIiIpICE9PSBvNDMpIHsKICAkRVJST1IoIiM0MzogRXJyb3IgbWF0Y2hpbmcgY2hhcmFjdGVyIGNsYXNzIFx3IGJldHdlZW4gY2hhcmFjdGVyIDJiMDAgYW5kIDJiZmYiKTsKfQoKdmFyIGk0NCA9ICIiOwpmb3IgKHZhciBqID0gMTEyNjQ7IGogPCAxMTUyMDsgaisrKQogIGk0NCArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzQ0ID0gaTQ0OwppZiAoaTQ0LnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG80NCkgewogICRFUlJPUigiIzQ0OiBFcnJvciBtYXRjaGluZyBjaGFyYWN0ZXIgY2xhc3MgXHcgYmV0d2VlbiBjaGFyYWN0ZXIgMmMwMCBhbmQgMmNmZiIpOwp9Cgp2YXIgaTQ1ID0gIiI7CmZvciAodmFyIGogPSAxMTUyMDsgaiA8IDExNzc2OyBqKyspCiAgaTQ1ICs9IFN0cmluZy5mcm9tQ2hhckNvZGUoaik7CnZhciBvNDUgPSBpNDU7CmlmIChpNDUucmVwbGFjZSgvXHcrL2csICIiKSAhPT0gbzQ1KSB7CiAgJEVSUk9SKCIjNDU6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciAyZDAwIGFuZCAyZGZmIik7Cn0KCnZhciBpNDYgPSAiIjsKZm9yICh2YXIgaiA9IDExNzc2OyBqIDwgMTIwMzI7IGorKykKICBpNDYgKz0gU3RyaW5nLmZyb21DaGFyQ29kZShqKTsKdmFyIG80NiA9IGk0NjsKaWYgKGk0Ni5yZXBsYWNlKC9cdysvZywgIiIpICE9PSBvNDYpIHsKICAkRVJST1IoIiM0NjogRXJyb3IgbWF0Y2hpbmcgY2hhcmFjdGVyIGNsYXNzIFx3IGJldHdlZW4gY2hhcmFjdGVyIDJlMDAgYW5kIDJlZmYiKTsKfQoKdmFyIGk0NyA9ICIiOwpmb3IgKHZhciBqID0gMTIwMzI7IGogPCAxMjI4ODsgaisrKQogIGk0NyArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzQ3ID0gaTQ3OwppZiAoaTQ3LnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG80NykgewogICRFUlJPUigiIzQ3OiBFcnJvciBtYXRjaGluZyBjaGFyYWN0ZXIgY2xhc3MgXHcgYmV0d2VlbiBjaGFyYWN0ZXIgMmYwMCBhbmQgMmZmZiIpOwp9Cgp2YXIgaTQ4ID0gIiI7CmZvciAodmFyIGogPSAxMjI4ODsgaiA8IDEyNTQ0OyBqKyspCiAgaTQ4ICs9IFN0cmluZy5mcm9tQ2hhckNvZGUoaik7CnZhciBvNDggPSBpNDg7CmlmIChpNDgucmVwbGFjZSgvXHcrL2csICIiKSAhPT0gbzQ4KSB7CiAgJEVSUk9SKCIjNDg6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciAzMDAwIGFuZCAzMGZmIik7Cn0KCnZhciBpNDkgPSAiIjsKZm9yICh2YXIgaiA9IDEyNTQ0OyBqIDwgMTI4MDA7IGorKykKICBpNDkgKz0gU3RyaW5nLmZyb21DaGFyQ29kZShqKTsKdmFyIG80OSA9IGk0OTsKaWYgKGk0OS5yZXBsYWNlKC9cdysvZywgIiIpICE9PSBvNDkpIHsKICAkRVJST1IoIiM0OTogRXJyb3IgbWF0Y2hpbmcgY2hhcmFjdGVyIGNsYXNzIFx3IGJldHdlZW4gY2hhcmFjdGVyIDMxMDAgYW5kIDMxZmYiKTsKfQoKdmFyIGk1MCA9ICIiOwpmb3IgKHZhciBqID0gMTI4MDA7IGogPCAxMzA1NjsgaisrKQogIGk1MCArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzUwID0gaTUwOwppZiAoaTUwLnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG81MCkgewogICRFUlJPUigiIzUwOiBFcnJvciBtYXRjaGluZyBjaGFyYWN0ZXIgY2xhc3MgXHcgYmV0d2VlbiBjaGFyYWN0ZXIgMzIwMCBhbmQgMzJmZiIpOwp9Cgp2YXIgaTUxID0gIiI7CmZvciAodmFyIGogPSAxMzA1NjsgaiA8IDEzMzEyOyBqKyspCiAgaTUxICs9IFN0cmluZy5mcm9tQ2hhckNvZGUoaik7CnZhciBvNTEgPSBpNTE7CmlmIChpNTEucmVwbGFjZSgvXHcrL2csICIiKSAhPT0gbzUxKSB7CiAgJEVSUk9SKCIjNTE6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciAzMzAwIGFuZCAzM2ZmIik7Cn0KCnZhciBpNTIgPSAiIjsKZm9yICh2YXIgaiA9IDEzMzEyOyBqIDwgMTM1Njg7IGorKykKICBpNTIgKz0gU3RyaW5nLmZyb21DaGFyQ29kZShqKTsKdmFyIG81MiA9IGk1MjsKaWYgKGk1Mi5yZXBsYWNlKC9cdysvZywgIiIpICE9PSBvNTIpIHsKICAkRVJST1IoIiM1MjogRXJyb3IgbWF0Y2hpbmcgY2hhcmFjdGVyIGNsYXNzIFx3IGJldHdlZW4gY2hhcmFjdGVyIDM0MDAgYW5kIDM0ZmYiKTsKfQoKdmFyIGk1MyA9ICIiOwpmb3IgKHZhciBqID0gMTM1Njg7IGogPCAxMzgyNDsgaisrKQogIGk1MyArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzUzID0gaTUzOwppZiAoaTUzLnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG81MykgewogICRFUlJPUigiIzUzOiBFcnJvciBtYXRjaGluZyBjaGFyYWN0ZXIgY2xhc3MgXHcgYmV0d2VlbiBjaGFyYWN0ZXIgMzUwMCBhbmQgMzVmZiIpOwp9Cgp2YXIgaTU0ID0gIiI7CmZvciAodmFyIGogPSAxMzgyNDsgaiA8IDE0MDgwOyBqKyspCiAgaTU0ICs9IFN0cmluZy5mcm9tQ2hhckNvZGUoaik7CnZhciBvNTQgPSBpNTQ7CmlmIChpNTQucmVwbGFjZSgvXHcrL2csICIiKSAhPT0gbzU0KSB7CiAgJEVSUk9SKCIjNTQ6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciAzNjAwIGFuZCAzNmZmIik7Cn0KCnZhciBpNTUgPSAiIjsKZm9yICh2YXIgaiA9IDE0MDgwOyBqIDwgMTQzMzY7IGorKykKICBpNTUgKz0gU3RyaW5nLmZyb21DaGFyQ29kZShqKTsKdmFyIG81NSA9IGk1NTsKaWYgKGk1NS5yZXBsYWNlKC9cdysvZywgIiIpICE9PSBvNTUpIHsKICAkRVJST1IoIiM1NTogRXJyb3IgbWF0Y2hpbmcgY2hhcmFjdGVyIGNsYXNzIFx3IGJldHdlZW4gY2hhcmFjdGVyIDM3MDAgYW5kIDM3ZmYiKTsKfQoKdmFyIGk1NiA9ICIiOwpmb3IgKHZhciBqID0gMTQzMzY7IGogPCAxNDU5MjsgaisrKQogIGk1NiArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzU2ID0gaTU2OwppZiAoaTU2LnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG81NikgewogICRFUlJPUigiIzU2OiBFcnJvciBtYXRjaGluZyBjaGFyYWN0ZXIgY2xhc3MgXHcgYmV0d2VlbiBjaGFyYWN0ZXIgMzgwMCBhbmQgMzhmZiIpOwp9Cgp2YXIgaTU3ID0gIiI7CmZvciAodmFyIGogPSAxNDU5MjsgaiA8IDE0ODQ4OyBqKyspCiAgaTU3ICs9IFN0cmluZy5mcm9tQ2hhckNvZGUoaik7CnZhciBvNTcgPSBpNTc7CmlmIChpNTcucmVwbGFjZSgvXHcrL2csICIiKSAhPT0gbzU3KSB7CiAgJEVSUk9SKCIjNTc6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciAzOTAwIGFuZCAzOWZmIik7Cn0KCnZhciBpNTggPSAiIjsKZm9yICh2YXIgaiA9IDE0ODQ4OyBqIDwgMTUxMDQ7IGorKykKICBpNTggKz0gU3RyaW5nLmZyb21DaGFyQ29kZShqKTsKdmFyIG81OCA9IGk1ODsKaWYgKGk1OC5yZXBsYWNlKC9cdysvZywgIiIpICE9PSBvNTgpIHsKICAkRVJST1IoIiM1ODogRXJyb3IgbWF0Y2hpbmcgY2hhcmFjdGVyIGNsYXNzIFx3IGJldHdlZW4gY2hhcmFjdGVyIDNhMDAgYW5kIDNhZmYiKTsKfQoKdmFyIGk1OSA9ICIiOwpmb3IgKHZhciBqID0gMTUxMDQ7IGogPCAxNTM2MDsgaisrKQogIGk1OSArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzU5ID0gaTU5OwppZiAoaTU5LnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG81OSkgewogICRFUlJPUigiIzU5OiBFcnJvciBtYXRjaGluZyBjaGFyYWN0ZXIgY2xhc3MgXHcgYmV0d2VlbiBjaGFyYWN0ZXIgM2IwMCBhbmQgM2JmZiIpOwp9Cgp2YXIgaTYwID0gIiI7CmZvciAodmFyIGogPSAxNTM2MDsgaiA8IDE1NjE2OyBqKyspCiAgaTYwICs9IFN0cmluZy5mcm9tQ2hhckNvZGUoaik7CnZhciBvNjAgPSBpNjA7CmlmIChpNjAucmVwbGFjZSgvXHcrL2csICIiKSAhPT0gbzYwKSB7CiAgJEVSUk9SKCIjNjA6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciAzYzAwIGFuZCAzY2ZmIik7Cn0KCnZhciBpNjEgPSAiIjsKZm9yICh2YXIgaiA9IDE1NjE2OyBqIDwgMTU4NzI7IGorKykKICBpNjEgKz0gU3RyaW5nLmZyb21DaGFyQ29kZShqKTsKdmFyIG82MSA9IGk2MTsKaWYgKGk2MS5yZXBsYWNlKC9cdysvZywgIiIpICE9PSBvNjEpIHsKICAkRVJST1IoIiM2MTogRXJyb3IgbWF0Y2hpbmcgY2hhcmFjdGVyIGNsYXNzIFx3IGJldHdlZW4gY2hhcmFjdGVyIDNkMDAgYW5kIDNkZmYiKTsKfQoKdmFyIGk2MiA9ICIiOwpmb3IgKHZhciBqID0gMTU4NzI7IGogPCAxNjEyODsgaisrKQogIGk2MiArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzYyID0gaTYyOwppZiAoaTYyLnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG82MikgewogICRFUlJPUigiIzYyOiBFcnJvciBtYXRjaGluZyBjaGFyYWN0ZXIgY2xhc3MgXHcgYmV0d2VlbiBjaGFyYWN0ZXIgM2UwMCBhbmQgM2VmZiIpOwp9Cgp2YXIgaTYzID0gIiI7CmZvciAodmFyIGogPSAxNjEyODsgaiA8IDE2Mzg0OyBqKyspCiAgaTYzICs9IFN0cmluZy5mcm9tQ2hhckNvZGUoaik7CnZhciBvNjMgPSBpNjM7CmlmIChpNjMucmVwbGFjZSgvXHcrL2csICIiKSAhPT0gbzYzKSB7CiAgJEVSUk9SKCIjNjM6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciAzZjAwIGFuZCAzZmZmIik7Cn0KCnZhciBpNjQgPSAiIjsKZm9yICh2YXIgaiA9IDE2Mzg0OyBqIDwgMTY2NDA7IGorKykKICBpNjQgKz0gU3RyaW5nLmZyb21DaGFyQ29kZShqKTsKdmFyIG82NCA9IGk2NDsKaWYgKGk2NC5yZXBsYWNlKC9cdysvZywgIiIpICE9PSBvNjQpIHsKICAkRVJST1IoIiM2NDogRXJyb3IgbWF0Y2hpbmcgY2hhcmFjdGVyIGNsYXNzIFx3IGJldHdlZW4gY2hhcmFjdGVyIDQwMDAgYW5kIDQwZmYiKTsKfQoKdmFyIGk2NSA9ICIiOwpmb3IgKHZhciBqID0gMTY2NDA7IGogPCAxNjg5NjsgaisrKQogIGk2NSArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzY1ID0gaTY1OwppZiAoaTY1LnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG82NSkgewogICRFUlJPUigiIzY1OiBFcnJvciBtYXRjaGluZyBjaGFyYWN0ZXIgY2xhc3MgXHcgYmV0d2VlbiBjaGFyYWN0ZXIgNDEwMCBhbmQgNDFmZiIpOwp9Cgp2YXIgaTY2ID0gIiI7CmZvciAodmFyIGogPSAxNjg5NjsgaiA8IDE3MTUyOyBqKyspCiAgaTY2ICs9IFN0cmluZy5mcm9tQ2hhckNvZGUoaik7CnZhciBvNjYgPSBpNjY7CmlmIChpNjYucmVwbGFjZSgvXHcrL2csICIiKSAhPT0gbzY2KSB7CiAgJEVSUk9SKCIjNjY6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciA0MjAwIGFuZCA0MmZmIik7Cn0KCnZhciBpNjcgPSAiIjsKZm9yICh2YXIgaiA9IDE3MTUyOyBqIDwgMTc0MDg7IGorKykKICBpNjcgKz0gU3RyaW5nLmZyb21DaGFyQ29kZShqKTsKdmFyIG82NyA9IGk2NzsKaWYgKGk2Ny5yZXBsYWNlKC9cdysvZywgIiIpICE9PSBvNjcpIHsKICAkRVJST1IoIiM2NzogRXJyb3IgbWF0Y2hpbmcgY2hhcmFjdGVyIGNsYXNzIFx3IGJldHdlZW4gY2hhcmFjdGVyIDQzMDAgYW5kIDQzZmYiKTsKfQoKdmFyIGk2OCA9ICIiOwpmb3IgKHZhciBqID0gMTc0MDg7IGogPCAxNzY2NDsgaisrKQogIGk2OCArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzY4ID0gaTY4OwppZiAoaTY4LnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG82OCkgewogICRFUlJPUigiIzY4OiBFcnJvciBtYXRjaGluZyBjaGFyYWN0ZXIgY2xhc3MgXHcgYmV0d2VlbiBjaGFyYWN0ZXIgNDQwMCBhbmQgNDRmZiIpOwp9Cgp2YXIgaTY5ID0gIiI7CmZvciAodmFyIGogPSAxNzY2NDsgaiA8IDE3OTIwOyBqKyspCiAgaTY5ICs9IFN0cmluZy5mcm9tQ2hhckNvZGUoaik7CnZhciBvNjkgPSBpNjk7CmlmIChpNjkucmVwbGFjZSgvXHcrL2csICIiKSAhPT0gbzY5KSB7CiAgJEVSUk9SKCIjNjk6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciA0NTAwIGFuZCA0NWZmIik7Cn0KCnZhciBpNzAgPSAiIjsKZm9yICh2YXIgaiA9IDE3OTIwOyBqIDwgMTgxNzY7IGorKykKICBpNzAgKz0gU3RyaW5nLmZyb21DaGFyQ29kZShqKTsKdmFyIG83MCA9IGk3MDsKaWYgKGk3MC5yZXBsYWNlKC9cdysvZywgIiIpICE9PSBvNzApIHsKICAkRVJST1IoIiM3MDogRXJyb3IgbWF0Y2hpbmcgY2hhcmFjdGVyIGNsYXNzIFx3IGJldHdlZW4gY2hhcmFjdGVyIDQ2MDAgYW5kIDQ2ZmYiKTsKfQoKdmFyIGk3MSA9ICIiOwpmb3IgKHZhciBqID0gMTgxNzY7IGogPCAxODQzMjsgaisrKQogIGk3MSArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzcxID0gaTcxOwppZiAoaTcxLnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG83MSkgewogICRFUlJPUigiIzcxOiBFcnJvciBtYXRjaGluZyBjaGFyYWN0ZXIgY2xhc3MgXHcgYmV0d2VlbiBjaGFyYWN0ZXIgNDcwMCBhbmQgNDdmZiIpOwp9Cgp2YXIgaTcyID0gIiI7CmZvciAodmFyIGogPSAxODQzMjsgaiA8IDE4Njg4OyBqKyspCiAgaTcyICs9IFN0cmluZy5mcm9tQ2hhckNvZGUoaik7CnZhciBvNzIgPSBpNzI7CmlmIChpNzIucmVwbGFjZSgvXHcrL2csICIiKSAhPT0gbzcyKSB7CiAgJEVSUk9SKCIjNzI6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciA0ODAwIGFuZCA0OGZmIik7Cn0KCnZhciBpNzMgPSAiIjsKZm9yICh2YXIgaiA9IDE4Njg4OyBqIDwgMTg5NDQ7IGorKykKICBpNzMgKz0gU3RyaW5nLmZyb21DaGFyQ29kZShqKTsKdmFyIG83MyA9IGk3MzsKaWYgKGk3My5yZXBsYWNlKC9cdysvZywgIiIpICE9PSBvNzMpIHsKICAkRVJST1IoIiM3MzogRXJyb3IgbWF0Y2hpbmcgY2hhcmFjdGVyIGNsYXNzIFx3IGJldHdlZW4gY2hhcmFjdGVyIDQ5MDAgYW5kIDQ5ZmYiKTsKfQoKdmFyIGk3NCA9ICIiOwpmb3IgKHZhciBqID0gMTg5NDQ7IGogPCAxOTIwMDsgaisrKQogIGk3NCArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzc0ID0gaTc0OwppZiAoaTc0LnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG83NCkgewogICRFUlJPUigiIzc0OiBFcnJvciBtYXRjaGluZyBjaGFyYWN0ZXIgY2xhc3MgXHcgYmV0d2VlbiBjaGFyYWN0ZXIgNGEwMCBhbmQgNGFmZiIpOwp9Cgp2YXIgaTc1ID0gIiI7CmZvciAodmFyIGogPSAxOTIwMDsgaiA8IDE5NDU2OyBqKyspCiAgaTc1ICs9IFN0cmluZy5mcm9tQ2hhckNvZGUoaik7CnZhciBvNzUgPSBpNzU7CmlmIChpNzUucmVwbGFjZSgvXHcrL2csICIiKSAhPT0gbzc1KSB7CiAgJEVSUk9SKCIjNzU6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciA0YjAwIGFuZCA0YmZmIik7Cn0KCnZhciBpNzYgPSAiIjsKZm9yICh2YXIgaiA9IDE5NDU2OyBqIDwgMTk3MTI7IGorKykKICBpNzYgKz0gU3RyaW5nLmZyb21DaGFyQ29kZShqKTsKdmFyIG83NiA9IGk3NjsKaWYgKGk3Ni5yZXBsYWNlKC9cdysvZywgIiIpICE9PSBvNzYpIHsKICAkRVJST1IoIiM3NjogRXJyb3IgbWF0Y2hpbmcgY2hhcmFjdGVyIGNsYXNzIFx3IGJldHdlZW4gY2hhcmFjdGVyIDRjMDAgYW5kIDRjZmYiKTsKfQoKdmFyIGk3NyA9ICIiOwpmb3IgKHZhciBqID0gMTk3MTI7IGogPCAxOTk2ODsgaisrKQogIGk3NyArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzc3ID0gaTc3OwppZiAoaTc3LnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG83NykgewogICRFUlJPUigiIzc3OiBFcnJvciBtYXRjaGluZyBjaGFyYWN0ZXIgY2xhc3MgXHcgYmV0d2VlbiBjaGFyYWN0ZXIgNGQwMCBhbmQgNGRmZiIpOwp9Cgp2YXIgaTc4ID0gIiI7CmZvciAodmFyIGogPSAxOTk2ODsgaiA8IDIwMjI0OyBqKyspCiAgaTc4ICs9IFN0cmluZy5mcm9tQ2hhckNvZGUoaik7CnZhciBvNzggPSBpNzg7CmlmIChpNzgucmVwbGFjZSgvXHcrL2csICIiKSAhPT0gbzc4KSB7CiAgJEVSUk9SKCIjNzg6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciA0ZTAwIGFuZCA0ZWZmIik7Cn0KCnZhciBpNzkgPSAiIjsKZm9yICh2YXIgaiA9IDIwMjI0OyBqIDwgMjA0ODA7IGorKykKICBpNzkgKz0gU3RyaW5nLmZyb21DaGFyQ29kZShqKTsKdmFyIG83OSA9IGk3OTsKaWYgKGk3OS5yZXBsYWNlKC9cdysvZywgIiIpICE9PSBvNzkpIHsKICAkRVJST1IoIiM3OTogRXJyb3IgbWF0Y2hpbmcgY2hhcmFjdGVyIGNsYXNzIFx3IGJldHdlZW4gY2hhcmFjdGVyIDRmMDAgYW5kIDRmZmYiKTsKfQoKdmFyIGk4MCA9ICIiOwpmb3IgKHZhciBqID0gMjA0ODA7IGogPCAyMDczNjsgaisrKQogIGk4MCArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzgwID0gaTgwOwppZiAoaTgwLnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG84MCkgewogICRFUlJPUigiIzgwOiBFcnJvciBtYXRjaGluZyBjaGFyYWN0ZXIgY2xhc3MgXHcgYmV0d2VlbiBjaGFyYWN0ZXIgNTAwMCBhbmQgNTBmZiIpOwp9Cgp2YXIgaTgxID0gIiI7CmZvciAodmFyIGogPSAyMDczNjsgaiA8IDIwOTkyOyBqKyspCiAgaTgxICs9IFN0cmluZy5mcm9tQ2hhckNvZGUoaik7CnZhciBvODEgPSBpODE7CmlmIChpODEucmVwbGFjZSgvXHcrL2csICIiKSAhPT0gbzgxKSB7CiAgJEVSUk9SKCIjODE6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciA1MTAwIGFuZCA1MWZmIik7Cn0KCnZhciBpODIgPSAiIjsKZm9yICh2YXIgaiA9IDIwOTkyOyBqIDwgMjEyNDg7IGorKykKICBpODIgKz0gU3RyaW5nLmZyb21DaGFyQ29kZShqKTsKdmFyIG84MiA9IGk4MjsKaWYgKGk4Mi5yZXBsYWNlKC9cdysvZywgIiIpICE9PSBvODIpIHsKICAkRVJST1IoIiM4MjogRXJyb3IgbWF0Y2hpbmcgY2hhcmFjdGVyIGNsYXNzIFx3IGJldHdlZW4gY2hhcmFjdGVyIDUyMDAgYW5kIDUyZmYiKTsKfQoKdmFyIGk4MyA9ICIiOwpmb3IgKHZhciBqID0gMjEyNDg7IGogPCAyMTUwNDsgaisrKQogIGk4MyArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzgzID0gaTgzOwppZiAoaTgzLnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG84MykgewogICRFUlJPUigiIzgzOiBFcnJvciBtYXRjaGluZyBjaGFyYWN0ZXIgY2xhc3MgXHcgYmV0d2VlbiBjaGFyYWN0ZXIgNTMwMCBhbmQgNTNmZiIpOwp9Cgp2YXIgaTg0ID0gIiI7CmZvciAodmFyIGogPSAyMTUwNDsgaiA8IDIxNzYwOyBqKyspCiAgaTg0ICs9IFN0cmluZy5mcm9tQ2hhckNvZGUoaik7CnZhciBvODQgPSBpODQ7CmlmIChpODQucmVwbGFjZSgvXHcrL2csICIiKSAhPT0gbzg0KSB7CiAgJEVSUk9SKCIjODQ6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciA1NDAwIGFuZCA1NGZmIik7Cn0KCnZhciBpODUgPSAiIjsKZm9yICh2YXIgaiA9IDIxNzYwOyBqIDwgMjIwMTY7IGorKykKICBpODUgKz0gU3RyaW5nLmZyb21DaGFyQ29kZShqKTsKdmFyIG84NSA9IGk4NTsKaWYgKGk4NS5yZXBsYWNlKC9cdysvZywgIiIpICE9PSBvODUpIHsKICAkRVJST1IoIiM4NTogRXJyb3IgbWF0Y2hpbmcgY2hhcmFjdGVyIGNsYXNzIFx3IGJldHdlZW4gY2hhcmFjdGVyIDU1MDAgYW5kIDU1ZmYiKTsKfQoKdmFyIGk4NiA9ICIiOwpmb3IgKHZhciBqID0gMjIwMTY7IGogPCAyMjI3MjsgaisrKQogIGk4NiArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzg2ID0gaTg2OwppZiAoaTg2LnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG84NikgewogICRFUlJPUigiIzg2OiBFcnJvciBtYXRjaGluZyBjaGFyYWN0ZXIgY2xhc3MgXHcgYmV0d2VlbiBjaGFyYWN0ZXIgNTYwMCBhbmQgNTZmZiIpOwp9Cgp2YXIgaTg3ID0gIiI7CmZvciAodmFyIGogPSAyMjI3MjsgaiA8IDIyNTI4OyBqKyspCiAgaTg3ICs9IFN0cmluZy5mcm9tQ2hhckNvZGUoaik7CnZhciBvODcgPSBpODc7CmlmIChpODcucmVwbGFjZSgvXHcrL2csICIiKSAhPT0gbzg3KSB7CiAgJEVSUk9SKCIjODc6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciA1NzAwIGFuZCA1N2ZmIik7Cn0KCnZhciBpODggPSAiIjsKZm9yICh2YXIgaiA9IDIyNTI4OyBqIDwgMjI3ODQ7IGorKykKICBpODggKz0gU3RyaW5nLmZyb21DaGFyQ29kZShqKTsKdmFyIG84OCA9IGk4ODsKaWYgKGk4OC5yZXBsYWNlKC9cdysvZywgIiIpICE9PSBvODgpIHsKICAkRVJST1IoIiM4ODogRXJyb3IgbWF0Y2hpbmcgY2hhcmFjdGVyIGNsYXNzIFx3IGJldHdlZW4gY2hhcmFjdGVyIDU4MDAgYW5kIDU4ZmYiKTsKfQoKdmFyIGk4OSA9ICIiOwpmb3IgKHZhciBqID0gMjI3ODQ7IGogPCAyMzA0MDsgaisrKQogIGk4OSArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzg5ID0gaTg5OwppZiAoaTg5LnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG84OSkgewogICRFUlJPUigiIzg5OiBFcnJvciBtYXRjaGluZyBjaGFyYWN0ZXIgY2xhc3MgXHcgYmV0d2VlbiBjaGFyYWN0ZXIgNTkwMCBhbmQgNTlmZiIpOwp9Cgp2YXIgaTkwID0gIiI7CmZvciAodmFyIGogPSAyMzA0MDsgaiA8IDIzMjk2OyBqKyspCiAgaTkwICs9IFN0cmluZy5mcm9tQ2hhckNvZGUoaik7CnZhciBvOTAgPSBpOTA7CmlmIChpOTAucmVwbGFjZSgvXHcrL2csICIiKSAhPT0gbzkwKSB7CiAgJEVSUk9SKCIjOTA6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciA1YTAwIGFuZCA1YWZmIik7Cn0KCnZhciBpOTEgPSAiIjsKZm9yICh2YXIgaiA9IDIzMjk2OyBqIDwgMjM1NTI7IGorKykKICBpOTEgKz0gU3RyaW5nLmZyb21DaGFyQ29kZShqKTsKdmFyIG85MSA9IGk5MTsKaWYgKGk5MS5yZXBsYWNlKC9cdysvZywgIiIpICE9PSBvOTEpIHsKICAkRVJST1IoIiM5MTogRXJyb3IgbWF0Y2hpbmcgY2hhcmFjdGVyIGNsYXNzIFx3IGJldHdlZW4gY2hhcmFjdGVyIDViMDAgYW5kIDViZmYiKTsKfQoKdmFyIGk5MiA9ICIiOwpmb3IgKHZhciBqID0gMjM1NTI7IGogPCAyMzgwODsgaisrKQogIGk5MiArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzkyID0gaTkyOwppZiAoaTkyLnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG85MikgewogICRFUlJPUigiIzkyOiBFcnJvciBtYXRjaGluZyBjaGFyYWN0ZXIgY2xhc3MgXHcgYmV0d2VlbiBjaGFyYWN0ZXIgNWMwMCBhbmQgNWNmZiIpOwp9Cgp2YXIgaTkzID0gIiI7CmZvciAodmFyIGogPSAyMzgwODsgaiA8IDI0MDY0OyBqKyspCiAgaTkzICs9IFN0cmluZy5mcm9tQ2hhckNvZGUoaik7CnZhciBvOTMgPSBpOTM7CmlmIChpOTMucmVwbGFjZSgvXHcrL2csICIiKSAhPT0gbzkzKSB7CiAgJEVSUk9SKCIjOTM6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciA1ZDAwIGFuZCA1ZGZmIik7Cn0KCnZhciBpOTQgPSAiIjsKZm9yICh2YXIgaiA9IDI0MDY0OyBqIDwgMjQzMjA7IGorKykKICBpOTQgKz0gU3RyaW5nLmZyb21DaGFyQ29kZShqKTsKdmFyIG85NCA9IGk5NDsKaWYgKGk5NC5yZXBsYWNlKC9cdysvZywgIiIpICE9PSBvOTQpIHsKICAkRVJST1IoIiM5NDogRXJyb3IgbWF0Y2hpbmcgY2hhcmFjdGVyIGNsYXNzIFx3IGJldHdlZW4gY2hhcmFjdGVyIDVlMDAgYW5kIDVlZmYiKTsKfQoKdmFyIGk5NSA9ICIiOwpmb3IgKHZhciBqID0gMjQzMjA7IGogPCAyNDU3NjsgaisrKQogIGk5NSArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzk1ID0gaTk1OwppZiAoaTk1LnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG85NSkgewogICRFUlJPUigiIzk1OiBFcnJvciBtYXRjaGluZyBjaGFyYWN0ZXIgY2xhc3MgXHcgYmV0d2VlbiBjaGFyYWN0ZXIgNWYwMCBhbmQgNWZmZiIpOwp9Cgp2YXIgaTk2ID0gIiI7CmZvciAodmFyIGogPSAyNDU3NjsgaiA8IDI0ODMyOyBqKyspCiAgaTk2ICs9IFN0cmluZy5mcm9tQ2hhckNvZGUoaik7CnZhciBvOTYgPSBpOTY7CmlmIChpOTYucmVwbGFjZSgvXHcrL2csICIiKSAhPT0gbzk2KSB7CiAgJEVSUk9SKCIjOTY6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciA2MDAwIGFuZCA2MGZmIik7Cn0KCnZhciBpOTcgPSAiIjsKZm9yICh2YXIgaiA9IDI0ODMyOyBqIDwgMjUwODg7IGorKykKICBpOTcgKz0gU3RyaW5nLmZyb21DaGFyQ29kZShqKTsKdmFyIG85NyA9IGk5NzsKaWYgKGk5Ny5yZXBsYWNlKC9cdysvZywgIiIpICE9PSBvOTcpIHsKICAkRVJST1IoIiM5NzogRXJyb3IgbWF0Y2hpbmcgY2hhcmFjdGVyIGNsYXNzIFx3IGJldHdlZW4gY2hhcmFjdGVyIDYxMDAgYW5kIDYxZmYiKTsKfQoKdmFyIGk5OCA9ICIiOwpmb3IgKHZhciBqID0gMjUwODg7IGogPCAyNTM0NDsgaisrKQogIGk5OCArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzk4ID0gaTk4OwppZiAoaTk4LnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG85OCkgewogICRFUlJPUigiIzk4OiBFcnJvciBtYXRjaGluZyBjaGFyYWN0ZXIgY2xhc3MgXHcgYmV0d2VlbiBjaGFyYWN0ZXIgNjIwMCBhbmQgNjJmZiIpOwp9Cgp2YXIgaTk5ID0gIiI7CmZvciAodmFyIGogPSAyNTM0NDsgaiA8IDI1NjAwOyBqKyspCiAgaTk5ICs9IFN0cmluZy5mcm9tQ2hhckNvZGUoaik7CnZhciBvOTkgPSBpOTk7CmlmIChpOTkucmVwbGFjZSgvXHcrL2csICIiKSAhPT0gbzk5KSB7CiAgJEVSUk9SKCIjOTk6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciA2MzAwIGFuZCA2M2ZmIik7Cn0KCnZhciBpMTAwID0gIiI7CmZvciAodmFyIGogPSAyNTYwMDsgaiA8IDI1ODU2OyBqKyspCiAgaTEwMCArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzEwMCA9IGkxMDA7CmlmIChpMTAwLnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG8xMDApIHsKICAkRVJST1IoIiMxMDA6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciA2NDAwIGFuZCA2NGZmIik7Cn0KCnZhciBpMTAxID0gIiI7CmZvciAodmFyIGogPSAyNTg1NjsgaiA8IDI2MTEyOyBqKyspCiAgaTEwMSArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzEwMSA9IGkxMDE7CmlmIChpMTAxLnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG8xMDEpIHsKICAkRVJST1IoIiMxMDE6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciA2NTAwIGFuZCA2NWZmIik7Cn0KCnZhciBpMTAyID0gIiI7CmZvciAodmFyIGogPSAyNjExMjsgaiA8IDI2MzY4OyBqKyspCiAgaTEwMiArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzEwMiA9IGkxMDI7CmlmIChpMTAyLnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG8xMDIpIHsKICAkRVJST1IoIiMxMDI6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciA2NjAwIGFuZCA2NmZmIik7Cn0KCnZhciBpMTAzID0gIiI7CmZvciAodmFyIGogPSAyNjM2ODsgaiA8IDI2NjI0OyBqKyspCiAgaTEwMyArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzEwMyA9IGkxMDM7CmlmIChpMTAzLnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG8xMDMpIHsKICAkRVJST1IoIiMxMDM6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciA2NzAwIGFuZCA2N2ZmIik7Cn0KCnZhciBpMTA0ID0gIiI7CmZvciAodmFyIGogPSAyNjYyNDsgaiA8IDI2ODgwOyBqKyspCiAgaTEwNCArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzEwNCA9IGkxMDQ7CmlmIChpMTA0LnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG8xMDQpIHsKICAkRVJST1IoIiMxMDQ6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciA2ODAwIGFuZCA2OGZmIik7Cn0KCnZhciBpMTA1ID0gIiI7CmZvciAodmFyIGogPSAyNjg4MDsgaiA8IDI3MTM2OyBqKyspCiAgaTEwNSArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzEwNSA9IGkxMDU7CmlmIChpMTA1LnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG8xMDUpIHsKICAkRVJST1IoIiMxMDU6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciA2OTAwIGFuZCA2OWZmIik7Cn0KCnZhciBpMTA2ID0gIiI7CmZvciAodmFyIGogPSAyNzEzNjsgaiA8IDI3MzkyOyBqKyspCiAgaTEwNiArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzEwNiA9IGkxMDY7CmlmIChpMTA2LnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG8xMDYpIHsKICAkRVJST1IoIiMxMDY6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciA2YTAwIGFuZCA2YWZmIik7Cn0KCnZhciBpMTA3ID0gIiI7CmZvciAodmFyIGogPSAyNzM5MjsgaiA8IDI3NjQ4OyBqKyspCiAgaTEwNyArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzEwNyA9IGkxMDc7CmlmIChpMTA3LnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG8xMDcpIHsKICAkRVJST1IoIiMxMDc6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciA2YjAwIGFuZCA2YmZmIik7Cn0KCnZhciBpMTA4ID0gIiI7CmZvciAodmFyIGogPSAyNzY0ODsgaiA8IDI3OTA0OyBqKyspCiAgaTEwOCArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzEwOCA9IGkxMDg7CmlmIChpMTA4LnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG8xMDgpIHsKICAkRVJST1IoIiMxMDg6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciA2YzAwIGFuZCA2Y2ZmIik7Cn0KCnZhciBpMTA5ID0gIiI7CmZvciAodmFyIGogPSAyNzkwNDsgaiA8IDI4MTYwOyBqKyspCiAgaTEwOSArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzEwOSA9IGkxMDk7CmlmIChpMTA5LnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG8xMDkpIHsKICAkRVJST1IoIiMxMDk6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciA2ZDAwIGFuZCA2ZGZmIik7Cn0KCnZhciBpMTEwID0gIiI7CmZvciAodmFyIGogPSAyODE2MDsgaiA8IDI4NDE2OyBqKyspCiAgaTExMCArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzExMCA9IGkxMTA7CmlmIChpMTEwLnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG8xMTApIHsKICAkRVJST1IoIiMxMTA6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciA2ZTAwIGFuZCA2ZWZmIik7Cn0KCnZhciBpMTExID0gIiI7CmZvciAodmFyIGogPSAyODQxNjsgaiA8IDI4NjcyOyBqKyspCiAgaTExMSArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzExMSA9IGkxMTE7CmlmIChpMTExLnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG8xMTEpIHsKICAkRVJST1IoIiMxMTE6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciA2ZjAwIGFuZCA2ZmZmIik7Cn0KCnZhciBpMTEyID0gIiI7CmZvciAodmFyIGogPSAyODY3MjsgaiA8IDI4OTI4OyBqKyspCiAgaTExMiArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzExMiA9IGkxMTI7CmlmIChpMTEyLnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG8xMTIpIHsKICAkRVJST1IoIiMxMTI6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciA3MDAwIGFuZCA3MGZmIik7Cn0KCnZhciBpMTEzID0gIiI7CmZvciAodmFyIGogPSAyODkyODsgaiA8IDI5MTg0OyBqKyspCiAgaTExMyArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzExMyA9IGkxMTM7CmlmIChpMTEzLnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG8xMTMpIHsKICAkRVJST1IoIiMxMTM6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciA3MTAwIGFuZCA3MWZmIik7Cn0KCnZhciBpMTE0ID0gIiI7CmZvciAodmFyIGogPSAyOTE4NDsgaiA8IDI5NDQwOyBqKyspCiAgaTExNCArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzExNCA9IGkxMTQ7CmlmIChpMTE0LnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG8xMTQpIHsKICAkRVJST1IoIiMxMTQ6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciA3MjAwIGFuZCA3MmZmIik7Cn0KCnZhciBpMTE1ID0gIiI7CmZvciAodmFyIGogPSAyOTQ0MDsgaiA8IDI5Njk2OyBqKyspCiAgaTExNSArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzExNSA9IGkxMTU7CmlmIChpMTE1LnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG8xMTUpIHsKICAkRVJST1IoIiMxMTU6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciA3MzAwIGFuZCA3M2ZmIik7Cn0KCnZhciBpMTE2ID0gIiI7CmZvciAodmFyIGogPSAyOTY5NjsgaiA8IDI5OTUyOyBqKyspCiAgaTExNiArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzExNiA9IGkxMTY7CmlmIChpMTE2LnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG8xMTYpIHsKICAkRVJST1IoIiMxMTY6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciA3NDAwIGFuZCA3NGZmIik7Cn0KCnZhciBpMTE3ID0gIiI7CmZvciAodmFyIGogPSAyOTk1MjsgaiA8IDMwMjA4OyBqKyspCiAgaTExNyArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzExNyA9IGkxMTc7CmlmIChpMTE3LnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG8xMTcpIHsKICAkRVJST1IoIiMxMTc6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciA3NTAwIGFuZCA3NWZmIik7Cn0KCnZhciBpMTE4ID0gIiI7CmZvciAodmFyIGogPSAzMDIwODsgaiA8IDMwNDY0OyBqKyspCiAgaTExOCArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzExOCA9IGkxMTg7CmlmIChpMTE4LnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG8xMTgpIHsKICAkRVJST1IoIiMxMTg6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciA3NjAwIGFuZCA3NmZmIik7Cn0KCnZhciBpMTE5ID0gIiI7CmZvciAodmFyIGogPSAzMDQ2NDsgaiA8IDMwNzIwOyBqKyspCiAgaTExOSArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzExOSA9IGkxMTk7CmlmIChpMTE5LnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG8xMTkpIHsKICAkRVJST1IoIiMxMTk6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciA3NzAwIGFuZCA3N2ZmIik7Cn0KCnZhciBpMTIwID0gIiI7CmZvciAodmFyIGogPSAzMDcyMDsgaiA8IDMwOTc2OyBqKyspCiAgaTEyMCArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzEyMCA9IGkxMjA7CmlmIChpMTIwLnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG8xMjApIHsKICAkRVJST1IoIiMxMjA6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciA3ODAwIGFuZCA3OGZmIik7Cn0KCnZhciBpMTIxID0gIiI7CmZvciAodmFyIGogPSAzMDk3NjsgaiA8IDMxMjMyOyBqKyspCiAgaTEyMSArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzEyMSA9IGkxMjE7CmlmIChpMTIxLnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG8xMjEpIHsKICAkRVJST1IoIiMxMjE6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciA3OTAwIGFuZCA3OWZmIik7Cn0KCnZhciBpMTIyID0gIiI7CmZvciAodmFyIGogPSAzMTIzMjsgaiA8IDMxNDg4OyBqKyspCiAgaTEyMiArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzEyMiA9IGkxMjI7CmlmIChpMTIyLnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG8xMjIpIHsKICAkRVJST1IoIiMxMjI6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciA3YTAwIGFuZCA3YWZmIik7Cn0KCnZhciBpMTIzID0gIiI7CmZvciAodmFyIGogPSAzMTQ4ODsgaiA8IDMxNzQ0OyBqKyspCiAgaTEyMyArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzEyMyA9IGkxMjM7CmlmIChpMTIzLnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG8xMjMpIHsKICAkRVJST1IoIiMxMjM6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciA3YjAwIGFuZCA3YmZmIik7Cn0KCnZhciBpMTI0ID0gIiI7CmZvciAodmFyIGogPSAzMTc0NDsgaiA8IDMyMDAwOyBqKyspCiAgaTEyNCArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzEyNCA9IGkxMjQ7CmlmIChpMTI0LnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG8xMjQpIHsKICAkRVJST1IoIiMxMjQ6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciA3YzAwIGFuZCA3Y2ZmIik7Cn0KCnZhciBpMTI1ID0gIiI7CmZvciAodmFyIGogPSAzMjAwMDsgaiA8IDMyMjU2OyBqKyspCiAgaTEyNSArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzEyNSA9IGkxMjU7CmlmIChpMTI1LnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG8xMjUpIHsKICAkRVJST1IoIiMxMjU6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciA3ZDAwIGFuZCA3ZGZmIik7Cn0KCnZhciBpMTI2ID0gIiI7CmZvciAodmFyIGogPSAzMjI1NjsgaiA8IDMyNTEyOyBqKyspCiAgaTEyNiArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzEyNiA9IGkxMjY7CmlmIChpMTI2LnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG8xMjYpIHsKICAkRVJST1IoIiMxMjY6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciA3ZTAwIGFuZCA3ZWZmIik7Cn0KCnZhciBpMTI3ID0gIiI7CmZvciAodmFyIGogPSAzMjUxMjsgaiA8IDMyNzY4OyBqKyspCiAgaTEyNyArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzEyNyA9IGkxMjc7CmlmIChpMTI3LnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG8xMjcpIHsKICAkRVJST1IoIiMxMjc6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciA3ZjAwIGFuZCA3ZmZmIik7Cn0KCnZhciBpMTI4ID0gIiI7CmZvciAodmFyIGogPSAzMjc2ODsgaiA8IDMzMDI0OyBqKyspCiAgaTEyOCArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzEyOCA9IGkxMjg7CmlmIChpMTI4LnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG8xMjgpIHsKICAkRVJST1IoIiMxMjg6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciA4MDAwIGFuZCA4MGZmIik7Cn0KCnZhciBpMTI5ID0gIiI7CmZvciAodmFyIGogPSAzMzAyNDsgaiA8IDMzMjgwOyBqKyspCiAgaTEyOSArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzEyOSA9IGkxMjk7CmlmIChpMTI5LnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG8xMjkpIHsKICAkRVJST1IoIiMxMjk6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciA4MTAwIGFuZCA4MWZmIik7Cn0KCnZhciBpMTMwID0gIiI7CmZvciAodmFyIGogPSAzMzI4MDsgaiA8IDMzNTM2OyBqKyspCiAgaTEzMCArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzEzMCA9IGkxMzA7CmlmIChpMTMwLnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG8xMzApIHsKICAkRVJST1IoIiMxMzA6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciA4MjAwIGFuZCA4MmZmIik7Cn0KCnZhciBpMTMxID0gIiI7CmZvciAodmFyIGogPSAzMzUzNjsgaiA8IDMzNzkyOyBqKyspCiAgaTEzMSArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzEzMSA9IGkxMzE7CmlmIChpMTMxLnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG8xMzEpIHsKICAkRVJST1IoIiMxMzE6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciA4MzAwIGFuZCA4M2ZmIik7Cn0KCnZhciBpMTMyID0gIiI7CmZvciAodmFyIGogPSAzMzc5MjsgaiA8IDM0MDQ4OyBqKyspCiAgaTEzMiArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzEzMiA9IGkxMzI7CmlmIChpMTMyLnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG8xMzIpIHsKICAkRVJST1IoIiMxMzI6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciA4NDAwIGFuZCA4NGZmIik7Cn0KCnZhciBpMTMzID0gIiI7CmZvciAodmFyIGogPSAzNDA0ODsgaiA8IDM0MzA0OyBqKyspCiAgaTEzMyArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzEzMyA9IGkxMzM7CmlmIChpMTMzLnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG8xMzMpIHsKICAkRVJST1IoIiMxMzM6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciA4NTAwIGFuZCA4NWZmIik7Cn0KCnZhciBpMTM0ID0gIiI7CmZvciAodmFyIGogPSAzNDMwNDsgaiA8IDM0NTYwOyBqKyspCiAgaTEzNCArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzEzNCA9IGkxMzQ7CmlmIChpMTM0LnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG8xMzQpIHsKICAkRVJST1IoIiMxMzQ6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciA4NjAwIGFuZCA4NmZmIik7Cn0KCnZhciBpMTM1ID0gIiI7CmZvciAodmFyIGogPSAzNDU2MDsgaiA8IDM0ODE2OyBqKyspCiAgaTEzNSArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzEzNSA9IGkxMzU7CmlmIChpMTM1LnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG8xMzUpIHsKICAkRVJST1IoIiMxMzU6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciA4NzAwIGFuZCA4N2ZmIik7Cn0KCnZhciBpMTM2ID0gIiI7CmZvciAodmFyIGogPSAzNDgxNjsgaiA8IDM1MDcyOyBqKyspCiAgaTEzNiArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzEzNiA9IGkxMzY7CmlmIChpMTM2LnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG8xMzYpIHsKICAkRVJST1IoIiMxMzY6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciA4ODAwIGFuZCA4OGZmIik7Cn0KCnZhciBpMTM3ID0gIiI7CmZvciAodmFyIGogPSAzNTA3MjsgaiA8IDM1MzI4OyBqKyspCiAgaTEzNyArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzEzNyA9IGkxMzc7CmlmIChpMTM3LnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG8xMzcpIHsKICAkRVJST1IoIiMxMzc6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciA4OTAwIGFuZCA4OWZmIik7Cn0KCnZhciBpMTM4ID0gIiI7CmZvciAodmFyIGogPSAzNTMyODsgaiA8IDM1NTg0OyBqKyspCiAgaTEzOCArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzEzOCA9IGkxMzg7CmlmIChpMTM4LnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG8xMzgpIHsKICAkRVJST1IoIiMxMzg6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciA4YTAwIGFuZCA4YWZmIik7Cn0KCnZhciBpMTM5ID0gIiI7CmZvciAodmFyIGogPSAzNTU4NDsgaiA8IDM1ODQwOyBqKyspCiAgaTEzOSArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzEzOSA9IGkxMzk7CmlmIChpMTM5LnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG8xMzkpIHsKICAkRVJST1IoIiMxMzk6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciA4YjAwIGFuZCA4YmZmIik7Cn0KCnZhciBpMTQwID0gIiI7CmZvciAodmFyIGogPSAzNTg0MDsgaiA8IDM2MDk2OyBqKyspCiAgaTE0MCArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzE0MCA9IGkxNDA7CmlmIChpMTQwLnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG8xNDApIHsKICAkRVJST1IoIiMxNDA6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciA4YzAwIGFuZCA4Y2ZmIik7Cn0KCnZhciBpMTQxID0gIiI7CmZvciAodmFyIGogPSAzNjA5NjsgaiA8IDM2MzUyOyBqKyspCiAgaTE0MSArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzE0MSA9IGkxNDE7CmlmIChpMTQxLnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG8xNDEpIHsKICAkRVJST1IoIiMxNDE6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciA4ZDAwIGFuZCA4ZGZmIik7Cn0KCnZhciBpMTQyID0gIiI7CmZvciAodmFyIGogPSAzNjM1MjsgaiA8IDM2NjA4OyBqKyspCiAgaTE0MiArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzE0MiA9IGkxNDI7CmlmIChpMTQyLnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG8xNDIpIHsKICAkRVJST1IoIiMxNDI6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciA4ZTAwIGFuZCA4ZWZmIik7Cn0KCnZhciBpMTQzID0gIiI7CmZvciAodmFyIGogPSAzNjYwODsgaiA8IDM2ODY0OyBqKyspCiAgaTE0MyArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzE0MyA9IGkxNDM7CmlmIChpMTQzLnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG8xNDMpIHsKICAkRVJST1IoIiMxNDM6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciA4ZjAwIGFuZCA4ZmZmIik7Cn0KCnZhciBpMTQ0ID0gIiI7CmZvciAodmFyIGogPSAzNjg2NDsgaiA8IDM3MTIwOyBqKyspCiAgaTE0NCArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzE0NCA9IGkxNDQ7CmlmIChpMTQ0LnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG8xNDQpIHsKICAkRVJST1IoIiMxNDQ6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciA5MDAwIGFuZCA5MGZmIik7Cn0KCnZhciBpMTQ1ID0gIiI7CmZvciAodmFyIGogPSAzNzEyMDsgaiA8IDM3Mzc2OyBqKyspCiAgaTE0NSArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzE0NSA9IGkxNDU7CmlmIChpMTQ1LnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG8xNDUpIHsKICAkRVJST1IoIiMxNDU6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciA5MTAwIGFuZCA5MWZmIik7Cn0KCnZhciBpMTQ2ID0gIiI7CmZvciAodmFyIGogPSAzNzM3NjsgaiA8IDM3NjMyOyBqKyspCiAgaTE0NiArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzE0NiA9IGkxNDY7CmlmIChpMTQ2LnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG8xNDYpIHsKICAkRVJST1IoIiMxNDY6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciA5MjAwIGFuZCA5MmZmIik7Cn0KCnZhciBpMTQ3ID0gIiI7CmZvciAodmFyIGogPSAzNzYzMjsgaiA8IDM3ODg4OyBqKyspCiAgaTE0NyArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzE0NyA9IGkxNDc7CmlmIChpMTQ3LnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG8xNDcpIHsKICAkRVJST1IoIiMxNDc6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciA5MzAwIGFuZCA5M2ZmIik7Cn0KCnZhciBpMTQ4ID0gIiI7CmZvciAodmFyIGogPSAzNzg4ODsgaiA8IDM4MTQ0OyBqKyspCiAgaTE0OCArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzE0OCA9IGkxNDg7CmlmIChpMTQ4LnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG8xNDgpIHsKICAkRVJST1IoIiMxNDg6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciA5NDAwIGFuZCA5NGZmIik7Cn0KCnZhciBpMTQ5ID0gIiI7CmZvciAodmFyIGogPSAzODE0NDsgaiA8IDM4NDAwOyBqKyspCiAgaTE0OSArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzE0OSA9IGkxNDk7CmlmIChpMTQ5LnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG8xNDkpIHsKICAkRVJST1IoIiMxNDk6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciA5NTAwIGFuZCA5NWZmIik7Cn0KCnZhciBpMTUwID0gIiI7CmZvciAodmFyIGogPSAzODQwMDsgaiA8IDM4NjU2OyBqKyspCiAgaTE1MCArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzE1MCA9IGkxNTA7CmlmIChpMTUwLnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG8xNTApIHsKICAkRVJST1IoIiMxNTA6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciA5NjAwIGFuZCA5NmZmIik7Cn0KCnZhciBpMTUxID0gIiI7CmZvciAodmFyIGogPSAzODY1NjsgaiA8IDM4OTEyOyBqKyspCiAgaTE1MSArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzE1MSA9IGkxNTE7CmlmIChpMTUxLnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG8xNTEpIHsKICAkRVJST1IoIiMxNTE6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciA5NzAwIGFuZCA5N2ZmIik7Cn0KCnZhciBpMTUyID0gIiI7CmZvciAodmFyIGogPSAzODkxMjsgaiA8IDM5MTY4OyBqKyspCiAgaTE1MiArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzE1MiA9IGkxNTI7CmlmIChpMTUyLnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG8xNTIpIHsKICAkRVJST1IoIiMxNTI6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciA5ODAwIGFuZCA5OGZmIik7Cn0KCnZhciBpMTUzID0gIiI7CmZvciAodmFyIGogPSAzOTE2ODsgaiA8IDM5NDI0OyBqKyspCiAgaTE1MyArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzE1MyA9IGkxNTM7CmlmIChpMTUzLnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG8xNTMpIHsKICAkRVJST1IoIiMxNTM6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciA5OTAwIGFuZCA5OWZmIik7Cn0KCnZhciBpMTU0ID0gIiI7CmZvciAodmFyIGogPSAzOTQyNDsgaiA8IDM5NjgwOyBqKyspCiAgaTE1NCArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzE1NCA9IGkxNTQ7CmlmIChpMTU0LnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG8xNTQpIHsKICAkRVJST1IoIiMxNTQ6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciA5YTAwIGFuZCA5YWZmIik7Cn0KCnZhciBpMTU1ID0gIiI7CmZvciAodmFyIGogPSAzOTY4MDsgaiA8IDM5OTM2OyBqKyspCiAgaTE1NSArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzE1NSA9IGkxNTU7CmlmIChpMTU1LnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG8xNTUpIHsKICAkRVJST1IoIiMxNTU6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciA5YjAwIGFuZCA5YmZmIik7Cn0KCnZhciBpMTU2ID0gIiI7CmZvciAodmFyIGogPSAzOTkzNjsgaiA8IDQwMTkyOyBqKyspCiAgaTE1NiArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzE1NiA9IGkxNTY7CmlmIChpMTU2LnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG8xNTYpIHsKICAkRVJST1IoIiMxNTY6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciA5YzAwIGFuZCA5Y2ZmIik7Cn0KCnZhciBpMTU3ID0gIiI7CmZvciAodmFyIGogPSA0MDE5MjsgaiA8IDQwNDQ4OyBqKyspCiAgaTE1NyArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzE1NyA9IGkxNTc7CmlmIChpMTU3LnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG8xNTcpIHsKICAkRVJST1IoIiMxNTc6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciA5ZDAwIGFuZCA5ZGZmIik7Cn0KCnZhciBpMTU4ID0gIiI7CmZvciAodmFyIGogPSA0MDQ0ODsgaiA8IDQwNzA0OyBqKyspCiAgaTE1OCArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzE1OCA9IGkxNTg7CmlmIChpMTU4LnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG8xNTgpIHsKICAkRVJST1IoIiMxNTg6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciA5ZTAwIGFuZCA5ZWZmIik7Cn0KCnZhciBpMTU5ID0gIiI7CmZvciAodmFyIGogPSA0MDcwNDsgaiA8IDQwOTYwOyBqKyspCiAgaTE1OSArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzE1OSA9IGkxNTk7CmlmIChpMTU5LnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG8xNTkpIHsKICAkRVJST1IoIiMxNTk6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciA5ZjAwIGFuZCA5ZmZmIik7Cn0KCnZhciBpMTYwID0gIiI7CmZvciAodmFyIGogPSA0MDk2MDsgaiA8IDQxMjE2OyBqKyspCiAgaTE2MCArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzE2MCA9IGkxNjA7CmlmIChpMTYwLnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG8xNjApIHsKICAkRVJST1IoIiMxNjA6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciBhMDAwIGFuZCBhMGZmIik7Cn0KCnZhciBpMTYxID0gIiI7CmZvciAodmFyIGogPSA0MTIxNjsgaiA8IDQxNDcyOyBqKyspCiAgaTE2MSArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzE2MSA9IGkxNjE7CmlmIChpMTYxLnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG8xNjEpIHsKICAkRVJST1IoIiMxNjE6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciBhMTAwIGFuZCBhMWZmIik7Cn0KCnZhciBpMTYyID0gIiI7CmZvciAodmFyIGogPSA0MTQ3MjsgaiA8IDQxNzI4OyBqKyspCiAgaTE2MiArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzE2MiA9IGkxNjI7CmlmIChpMTYyLnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG8xNjIpIHsKICAkRVJST1IoIiMxNjI6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciBhMjAwIGFuZCBhMmZmIik7Cn0KCnZhciBpMTYzID0gIiI7CmZvciAodmFyIGogPSA0MTcyODsgaiA8IDQxOTg0OyBqKyspCiAgaTE2MyArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzE2MyA9IGkxNjM7CmlmIChpMTYzLnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG8xNjMpIHsKICAkRVJST1IoIiMxNjM6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciBhMzAwIGFuZCBhM2ZmIik7Cn0KCnZhciBpMTY0ID0gIiI7CmZvciAodmFyIGogPSA0MTk4NDsgaiA8IDQyMjQwOyBqKyspCiAgaTE2NCArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzE2NCA9IGkxNjQ7CmlmIChpMTY0LnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG8xNjQpIHsKICAkRVJST1IoIiMxNjQ6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciBhNDAwIGFuZCBhNGZmIik7Cn0KCnZhciBpMTY1ID0gIiI7CmZvciAodmFyIGogPSA0MjI0MDsgaiA8IDQyNDk2OyBqKyspCiAgaTE2NSArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzE2NSA9IGkxNjU7CmlmIChpMTY1LnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG8xNjUpIHsKICAkRVJST1IoIiMxNjU6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciBhNTAwIGFuZCBhNWZmIik7Cn0KCnZhciBpMTY2ID0gIiI7CmZvciAodmFyIGogPSA0MjQ5NjsgaiA8IDQyNzUyOyBqKyspCiAgaTE2NiArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzE2NiA9IGkxNjY7CmlmIChpMTY2LnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG8xNjYpIHsKICAkRVJST1IoIiMxNjY6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciBhNjAwIGFuZCBhNmZmIik7Cn0KCnZhciBpMTY3ID0gIiI7CmZvciAodmFyIGogPSA0Mjc1MjsgaiA8IDQzMDA4OyBqKyspCiAgaTE2NyArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzE2NyA9IGkxNjc7CmlmIChpMTY3LnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG8xNjcpIHsKICAkRVJST1IoIiMxNjc6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciBhNzAwIGFuZCBhN2ZmIik7Cn0KCnZhciBpMTY4ID0gIiI7CmZvciAodmFyIGogPSA0MzAwODsgaiA8IDQzMjY0OyBqKyspCiAgaTE2OCArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzE2OCA9IGkxNjg7CmlmIChpMTY4LnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG8xNjgpIHsKICAkRVJST1IoIiMxNjg6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciBhODAwIGFuZCBhOGZmIik7Cn0KCnZhciBpMTY5ID0gIiI7CmZvciAodmFyIGogPSA0MzI2NDsgaiA8IDQzNTIwOyBqKyspCiAgaTE2OSArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzE2OSA9IGkxNjk7CmlmIChpMTY5LnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG8xNjkpIHsKICAkRVJST1IoIiMxNjk6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciBhOTAwIGFuZCBhOWZmIik7Cn0KCnZhciBpMTcwID0gIiI7CmZvciAodmFyIGogPSA0MzUyMDsgaiA8IDQzNzc2OyBqKyspCiAgaTE3MCArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzE3MCA9IGkxNzA7CmlmIChpMTcwLnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG8xNzApIHsKICAkRVJST1IoIiMxNzA6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciBhYTAwIGFuZCBhYWZmIik7Cn0KCnZhciBpMTcxID0gIiI7CmZvciAodmFyIGogPSA0Mzc3NjsgaiA8IDQ0MDMyOyBqKyspCiAgaTE3MSArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzE3MSA9IGkxNzE7CmlmIChpMTcxLnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG8xNzEpIHsKICAkRVJST1IoIiMxNzE6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciBhYjAwIGFuZCBhYmZmIik7Cn0KCnZhciBpMTcyID0gIiI7CmZvciAodmFyIGogPSA0NDAzMjsgaiA8IDQ0Mjg4OyBqKyspCiAgaTE3MiArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzE3MiA9IGkxNzI7CmlmIChpMTcyLnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG8xNzIpIHsKICAkRVJST1IoIiMxNzI6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciBhYzAwIGFuZCBhY2ZmIik7Cn0KCnZhciBpMTczID0gIiI7CmZvciAodmFyIGogPSA0NDI4ODsgaiA8IDQ0NTQ0OyBqKyspCiAgaTE3MyArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzE3MyA9IGkxNzM7CmlmIChpMTczLnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG8xNzMpIHsKICAkRVJST1IoIiMxNzM6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciBhZDAwIGFuZCBhZGZmIik7Cn0KCnZhciBpMTc0ID0gIiI7CmZvciAodmFyIGogPSA0NDU0NDsgaiA8IDQ0ODAwOyBqKyspCiAgaTE3NCArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzE3NCA9IGkxNzQ7CmlmIChpMTc0LnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG8xNzQpIHsKICAkRVJST1IoIiMxNzQ6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciBhZTAwIGFuZCBhZWZmIik7Cn0KCnZhciBpMTc1ID0gIiI7CmZvciAodmFyIGogPSA0NDgwMDsgaiA8IDQ1MDU2OyBqKyspCiAgaTE3NSArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzE3NSA9IGkxNzU7CmlmIChpMTc1LnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG8xNzUpIHsKICAkRVJST1IoIiMxNzU6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciBhZjAwIGFuZCBhZmZmIik7Cn0KCnZhciBpMTc2ID0gIiI7CmZvciAodmFyIGogPSA0NTA1NjsgaiA8IDQ1MzEyOyBqKyspCiAgaTE3NiArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzE3NiA9IGkxNzY7CmlmIChpMTc2LnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG8xNzYpIHsKICAkRVJST1IoIiMxNzY6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciBiMDAwIGFuZCBiMGZmIik7Cn0KCnZhciBpMTc3ID0gIiI7CmZvciAodmFyIGogPSA0NTMxMjsgaiA8IDQ1NTY4OyBqKyspCiAgaTE3NyArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzE3NyA9IGkxNzc7CmlmIChpMTc3LnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG8xNzcpIHsKICAkRVJST1IoIiMxNzc6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciBiMTAwIGFuZCBiMWZmIik7Cn0KCnZhciBpMTc4ID0gIiI7CmZvciAodmFyIGogPSA0NTU2ODsgaiA8IDQ1ODI0OyBqKyspCiAgaTE3OCArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzE3OCA9IGkxNzg7CmlmIChpMTc4LnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG8xNzgpIHsKICAkRVJST1IoIiMxNzg6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciBiMjAwIGFuZCBiMmZmIik7Cn0KCnZhciBpMTc5ID0gIiI7CmZvciAodmFyIGogPSA0NTgyNDsgaiA8IDQ2MDgwOyBqKyspCiAgaTE3OSArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzE3OSA9IGkxNzk7CmlmIChpMTc5LnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG8xNzkpIHsKICAkRVJST1IoIiMxNzk6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciBiMzAwIGFuZCBiM2ZmIik7Cn0KCnZhciBpMTgwID0gIiI7CmZvciAodmFyIGogPSA0NjA4MDsgaiA8IDQ2MzM2OyBqKyspCiAgaTE4MCArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzE4MCA9IGkxODA7CmlmIChpMTgwLnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG8xODApIHsKICAkRVJST1IoIiMxODA6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciBiNDAwIGFuZCBiNGZmIik7Cn0KCnZhciBpMTgxID0gIiI7CmZvciAodmFyIGogPSA0NjMzNjsgaiA8IDQ2NTkyOyBqKyspCiAgaTE4MSArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzE4MSA9IGkxODE7CmlmIChpMTgxLnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG8xODEpIHsKICAkRVJST1IoIiMxODE6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciBiNTAwIGFuZCBiNWZmIik7Cn0KCnZhciBpMTgyID0gIiI7CmZvciAodmFyIGogPSA0NjU5MjsgaiA8IDQ2ODQ4OyBqKyspCiAgaTE4MiArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzE4MiA9IGkxODI7CmlmIChpMTgyLnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG8xODIpIHsKICAkRVJST1IoIiMxODI6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciBiNjAwIGFuZCBiNmZmIik7Cn0KCnZhciBpMTgzID0gIiI7CmZvciAodmFyIGogPSA0Njg0ODsgaiA8IDQ3MTA0OyBqKyspCiAgaTE4MyArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzE4MyA9IGkxODM7CmlmIChpMTgzLnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG8xODMpIHsKICAkRVJST1IoIiMxODM6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciBiNzAwIGFuZCBiN2ZmIik7Cn0KCnZhciBpMTg0ID0gIiI7CmZvciAodmFyIGogPSA0NzEwNDsgaiA8IDQ3MzYwOyBqKyspCiAgaTE4NCArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzE4NCA9IGkxODQ7CmlmIChpMTg0LnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG8xODQpIHsKICAkRVJST1IoIiMxODQ6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciBiODAwIGFuZCBiOGZmIik7Cn0KCnZhciBpMTg1ID0gIiI7CmZvciAodmFyIGogPSA0NzM2MDsgaiA8IDQ3NjE2OyBqKyspCiAgaTE4NSArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzE4NSA9IGkxODU7CmlmIChpMTg1LnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG8xODUpIHsKICAkRVJST1IoIiMxODU6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciBiOTAwIGFuZCBiOWZmIik7Cn0KCnZhciBpMTg2ID0gIiI7CmZvciAodmFyIGogPSA0NzYxNjsgaiA8IDQ3ODcyOyBqKyspCiAgaTE4NiArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzE4NiA9IGkxODY7CmlmIChpMTg2LnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG8xODYpIHsKICAkRVJST1IoIiMxODY6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciBiYTAwIGFuZCBiYWZmIik7Cn0KCnZhciBpMTg3ID0gIiI7CmZvciAodmFyIGogPSA0Nzg3MjsgaiA8IDQ4MTI4OyBqKyspCiAgaTE4NyArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzE4NyA9IGkxODc7CmlmIChpMTg3LnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG8xODcpIHsKICAkRVJST1IoIiMxODc6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciBiYjAwIGFuZCBiYmZmIik7Cn0KCnZhciBpMTg4ID0gIiI7CmZvciAodmFyIGogPSA0ODEyODsgaiA8IDQ4Mzg0OyBqKyspCiAgaTE4OCArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzE4OCA9IGkxODg7CmlmIChpMTg4LnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG8xODgpIHsKICAkRVJST1IoIiMxODg6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciBiYzAwIGFuZCBiY2ZmIik7Cn0KCnZhciBpMTg5ID0gIiI7CmZvciAodmFyIGogPSA0ODM4NDsgaiA8IDQ4NjQwOyBqKyspCiAgaTE4OSArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzE4OSA9IGkxODk7CmlmIChpMTg5LnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG8xODkpIHsKICAkRVJST1IoIiMxODk6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciBiZDAwIGFuZCBiZGZmIik7Cn0KCnZhciBpMTkwID0gIiI7CmZvciAodmFyIGogPSA0ODY0MDsgaiA8IDQ4ODk2OyBqKyspCiAgaTE5MCArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzE5MCA9IGkxOTA7CmlmIChpMTkwLnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG8xOTApIHsKICAkRVJST1IoIiMxOTA6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciBiZTAwIGFuZCBiZWZmIik7Cn0KCnZhciBpMTkxID0gIiI7CmZvciAodmFyIGogPSA0ODg5NjsgaiA8IDQ5MTUyOyBqKyspCiAgaTE5MSArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzE5MSA9IGkxOTE7CmlmIChpMTkxLnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG8xOTEpIHsKICAkRVJST1IoIiMxOTE6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciBiZjAwIGFuZCBiZmZmIik7Cn0KCnZhciBpMTkyID0gIiI7CmZvciAodmFyIGogPSA0OTE1MjsgaiA8IDQ5NDA4OyBqKyspCiAgaTE5MiArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzE5MiA9IGkxOTI7CmlmIChpMTkyLnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG8xOTIpIHsKICAkRVJST1IoIiMxOTI6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciBjMDAwIGFuZCBjMGZmIik7Cn0KCnZhciBpMTkzID0gIiI7CmZvciAodmFyIGogPSA0OTQwODsgaiA8IDQ5NjY0OyBqKyspCiAgaTE5MyArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzE5MyA9IGkxOTM7CmlmIChpMTkzLnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG8xOTMpIHsKICAkRVJST1IoIiMxOTM6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciBjMTAwIGFuZCBjMWZmIik7Cn0KCnZhciBpMTk0ID0gIiI7CmZvciAodmFyIGogPSA0OTY2NDsgaiA8IDQ5OTIwOyBqKyspCiAgaTE5NCArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzE5NCA9IGkxOTQ7CmlmIChpMTk0LnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG8xOTQpIHsKICAkRVJST1IoIiMxOTQ6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciBjMjAwIGFuZCBjMmZmIik7Cn0KCnZhciBpMTk1ID0gIiI7CmZvciAodmFyIGogPSA0OTkyMDsgaiA8IDUwMTc2OyBqKyspCiAgaTE5NSArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzE5NSA9IGkxOTU7CmlmIChpMTk1LnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG8xOTUpIHsKICAkRVJST1IoIiMxOTU6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciBjMzAwIGFuZCBjM2ZmIik7Cn0KCnZhciBpMTk2ID0gIiI7CmZvciAodmFyIGogPSA1MDE3NjsgaiA8IDUwNDMyOyBqKyspCiAgaTE5NiArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzE5NiA9IGkxOTY7CmlmIChpMTk2LnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG8xOTYpIHsKICAkRVJST1IoIiMxOTY6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciBjNDAwIGFuZCBjNGZmIik7Cn0KCnZhciBpMTk3ID0gIiI7CmZvciAodmFyIGogPSA1MDQzMjsgaiA8IDUwNjg4OyBqKyspCiAgaTE5NyArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzE5NyA9IGkxOTc7CmlmIChpMTk3LnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG8xOTcpIHsKICAkRVJST1IoIiMxOTc6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciBjNTAwIGFuZCBjNWZmIik7Cn0KCnZhciBpMTk4ID0gIiI7CmZvciAodmFyIGogPSA1MDY4ODsgaiA8IDUwOTQ0OyBqKyspCiAgaTE5OCArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzE5OCA9IGkxOTg7CmlmIChpMTk4LnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG8xOTgpIHsKICAkRVJST1IoIiMxOTg6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciBjNjAwIGFuZCBjNmZmIik7Cn0KCnZhciBpMTk5ID0gIiI7CmZvciAodmFyIGogPSA1MDk0NDsgaiA8IDUxMjAwOyBqKyspCiAgaTE5OSArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzE5OSA9IGkxOTk7CmlmIChpMTk5LnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG8xOTkpIHsKICAkRVJST1IoIiMxOTk6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciBjNzAwIGFuZCBjN2ZmIik7Cn0KCnZhciBpMjAwID0gIiI7CmZvciAodmFyIGogPSA1MTIwMDsgaiA8IDUxNDU2OyBqKyspCiAgaTIwMCArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzIwMCA9IGkyMDA7CmlmIChpMjAwLnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG8yMDApIHsKICAkRVJST1IoIiMyMDA6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciBjODAwIGFuZCBjOGZmIik7Cn0KCnZhciBpMjAxID0gIiI7CmZvciAodmFyIGogPSA1MTQ1NjsgaiA8IDUxNzEyOyBqKyspCiAgaTIwMSArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzIwMSA9IGkyMDE7CmlmIChpMjAxLnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG8yMDEpIHsKICAkRVJST1IoIiMyMDE6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciBjOTAwIGFuZCBjOWZmIik7Cn0KCnZhciBpMjAyID0gIiI7CmZvciAodmFyIGogPSA1MTcxMjsgaiA8IDUxOTY4OyBqKyspCiAgaTIwMiArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzIwMiA9IGkyMDI7CmlmIChpMjAyLnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG8yMDIpIHsKICAkRVJST1IoIiMyMDI6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciBjYTAwIGFuZCBjYWZmIik7Cn0KCnZhciBpMjAzID0gIiI7CmZvciAodmFyIGogPSA1MTk2ODsgaiA8IDUyMjI0OyBqKyspCiAgaTIwMyArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzIwMyA9IGkyMDM7CmlmIChpMjAzLnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG8yMDMpIHsKICAkRVJST1IoIiMyMDM6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciBjYjAwIGFuZCBjYmZmIik7Cn0KCnZhciBpMjA0ID0gIiI7CmZvciAodmFyIGogPSA1MjIyNDsgaiA8IDUyNDgwOyBqKyspCiAgaTIwNCArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzIwNCA9IGkyMDQ7CmlmIChpMjA0LnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG8yMDQpIHsKICAkRVJST1IoIiMyMDQ6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciBjYzAwIGFuZCBjY2ZmIik7Cn0KCnZhciBpMjA1ID0gIiI7CmZvciAodmFyIGogPSA1MjQ4MDsgaiA8IDUyNzM2OyBqKyspCiAgaTIwNSArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzIwNSA9IGkyMDU7CmlmIChpMjA1LnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG8yMDUpIHsKICAkRVJST1IoIiMyMDU6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciBjZDAwIGFuZCBjZGZmIik7Cn0KCnZhciBpMjA2ID0gIiI7CmZvciAodmFyIGogPSA1MjczNjsgaiA8IDUyOTkyOyBqKyspCiAgaTIwNiArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzIwNiA9IGkyMDY7CmlmIChpMjA2LnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG8yMDYpIHsKICAkRVJST1IoIiMyMDY6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciBjZTAwIGFuZCBjZWZmIik7Cn0KCnZhciBpMjA3ID0gIiI7CmZvciAodmFyIGogPSA1Mjk5MjsgaiA8IDUzMjQ4OyBqKyspCiAgaTIwNyArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzIwNyA9IGkyMDc7CmlmIChpMjA3LnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG8yMDcpIHsKICAkRVJST1IoIiMyMDc6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciBjZjAwIGFuZCBjZmZmIik7Cn0KCnZhciBpMjA4ID0gIiI7CmZvciAodmFyIGogPSA1MzI0ODsgaiA8IDUzNTA0OyBqKyspCiAgaTIwOCArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzIwOCA9IGkyMDg7CmlmIChpMjA4LnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG8yMDgpIHsKICAkRVJST1IoIiMyMDg6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciBkMDAwIGFuZCBkMGZmIik7Cn0KCnZhciBpMjA5ID0gIiI7CmZvciAodmFyIGogPSA1MzUwNDsgaiA8IDUzNzYwOyBqKyspCiAgaTIwOSArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzIwOSA9IGkyMDk7CmlmIChpMjA5LnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG8yMDkpIHsKICAkRVJST1IoIiMyMDk6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciBkMTAwIGFuZCBkMWZmIik7Cn0KCnZhciBpMjEwID0gIiI7CmZvciAodmFyIGogPSA1Mzc2MDsgaiA8IDU0MDE2OyBqKyspCiAgaTIxMCArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzIxMCA9IGkyMTA7CmlmIChpMjEwLnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG8yMTApIHsKICAkRVJST1IoIiMyMTA6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciBkMjAwIGFuZCBkMmZmIik7Cn0KCnZhciBpMjExID0gIiI7CmZvciAodmFyIGogPSA1NDAxNjsgaiA8IDU0MjcyOyBqKyspCiAgaTIxMSArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzIxMSA9IGkyMTE7CmlmIChpMjExLnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG8yMTEpIHsKICAkRVJST1IoIiMyMTE6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciBkMzAwIGFuZCBkM2ZmIik7Cn0KCnZhciBpMjEyID0gIiI7CmZvciAodmFyIGogPSA1NDI3MjsgaiA8IDU0NTI4OyBqKyspCiAgaTIxMiArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzIxMiA9IGkyMTI7CmlmIChpMjEyLnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG8yMTIpIHsKICAkRVJST1IoIiMyMTI6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciBkNDAwIGFuZCBkNGZmIik7Cn0KCnZhciBpMjEzID0gIiI7CmZvciAodmFyIGogPSA1NDUyODsgaiA8IDU0Nzg0OyBqKyspCiAgaTIxMyArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzIxMyA9IGkyMTM7CmlmIChpMjEzLnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG8yMTMpIHsKICAkRVJST1IoIiMyMTM6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciBkNTAwIGFuZCBkNWZmIik7Cn0KCnZhciBpMjE0ID0gIiI7CmZvciAodmFyIGogPSA1NDc4NDsgaiA8IDU1MDQwOyBqKyspCiAgaTIxNCArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzIxNCA9IGkyMTQ7CmlmIChpMjE0LnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG8yMTQpIHsKICAkRVJST1IoIiMyMTQ6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciBkNjAwIGFuZCBkNmZmIik7Cn0KCnZhciBpMjE1ID0gIiI7CmZvciAodmFyIGogPSA1NTA0MDsgaiA8IDU1Mjk2OyBqKyspCiAgaTIxNSArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzIxNSA9IGkyMTU7CmlmIChpMjE1LnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG8yMTUpIHsKICAkRVJST1IoIiMyMTU6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciBkNzAwIGFuZCBkN2ZmIik7Cn0KCnZhciBpMjE2ID0gIiI7CmZvciAodmFyIGogPSA1NTI5NjsgaiA8IDU1NTUyOyBqKyspCiAgaTIxNiArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzIxNiA9IGkyMTY7CmlmIChpMjE2LnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG8yMTYpIHsKICAkRVJST1IoIiMyMTY6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciBkODAwIGFuZCBkOGZmIik7Cn0KCnZhciBpMjE3ID0gIiI7CmZvciAodmFyIGogPSA1NTU1MjsgaiA8IDU1ODA4OyBqKyspCiAgaTIxNyArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzIxNyA9IGkyMTc7CmlmIChpMjE3LnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG8yMTcpIHsKICAkRVJST1IoIiMyMTc6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciBkOTAwIGFuZCBkOWZmIik7Cn0KCnZhciBpMjE4ID0gIiI7CmZvciAodmFyIGogPSA1NTgwODsgaiA8IDU2MDY0OyBqKyspCiAgaTIxOCArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzIxOCA9IGkyMTg7CmlmIChpMjE4LnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG8yMTgpIHsKICAkRVJST1IoIiMyMTg6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciBkYTAwIGFuZCBkYWZmIik7Cn0KCnZhciBpMjE5ID0gIiI7CmZvciAodmFyIGogPSA1NjA2NDsgaiA8IDU2MzIwOyBqKyspCiAgaTIxOSArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzIxOSA9IGkyMTk7CmlmIChpMjE5LnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG8yMTkpIHsKICAkRVJST1IoIiMyMTk6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciBkYjAwIGFuZCBkYmZmIik7Cn0KCnZhciBpMjIwID0gIiI7CmZvciAodmFyIGogPSA1NjMyMDsgaiA8IDU2NTc2OyBqKyspCiAgaTIyMCArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzIyMCA9IGkyMjA7CmlmIChpMjIwLnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG8yMjApIHsKICAkRVJST1IoIiMyMjA6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciBkYzAwIGFuZCBkY2ZmIik7Cn0KCnZhciBpMjIxID0gIiI7CmZvciAodmFyIGogPSA1NjU3NjsgaiA8IDU2ODMyOyBqKyspCiAgaTIyMSArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzIyMSA9IGkyMjE7CmlmIChpMjIxLnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG8yMjEpIHsKICAkRVJST1IoIiMyMjE6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciBkZDAwIGFuZCBkZGZmIik7Cn0KCnZhciBpMjIyID0gIiI7CmZvciAodmFyIGogPSA1NjgzMjsgaiA8IDU3MDg4OyBqKyspCiAgaTIyMiArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzIyMiA9IGkyMjI7CmlmIChpMjIyLnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG8yMjIpIHsKICAkRVJST1IoIiMyMjI6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciBkZTAwIGFuZCBkZWZmIik7Cn0KCnZhciBpMjIzID0gIiI7CmZvciAodmFyIGogPSA1NzA4ODsgaiA8IDU3MzQ0OyBqKyspCiAgaTIyMyArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzIyMyA9IGkyMjM7CmlmIChpMjIzLnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG8yMjMpIHsKICAkRVJST1IoIiMyMjM6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciBkZjAwIGFuZCBkZmZmIik7Cn0KCnZhciBpMjI0ID0gIiI7CmZvciAodmFyIGogPSA1NzM0NDsgaiA8IDU3NjAwOyBqKyspCiAgaTIyNCArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzIyNCA9IGkyMjQ7CmlmIChpMjI0LnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG8yMjQpIHsKICAkRVJST1IoIiMyMjQ6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciBlMDAwIGFuZCBlMGZmIik7Cn0KCnZhciBpMjI1ID0gIiI7CmZvciAodmFyIGogPSA1NzYwMDsgaiA8IDU3ODU2OyBqKyspCiAgaTIyNSArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzIyNSA9IGkyMjU7CmlmIChpMjI1LnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG8yMjUpIHsKICAkRVJST1IoIiMyMjU6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciBlMTAwIGFuZCBlMWZmIik7Cn0KCnZhciBpMjI2ID0gIiI7CmZvciAodmFyIGogPSA1Nzg1NjsgaiA8IDU4MTEyOyBqKyspCiAgaTIyNiArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzIyNiA9IGkyMjY7CmlmIChpMjI2LnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG8yMjYpIHsKICAkRVJST1IoIiMyMjY6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciBlMjAwIGFuZCBlMmZmIik7Cn0KCnZhciBpMjI3ID0gIiI7CmZvciAodmFyIGogPSA1ODExMjsgaiA8IDU4MzY4OyBqKyspCiAgaTIyNyArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzIyNyA9IGkyMjc7CmlmIChpMjI3LnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG8yMjcpIHsKICAkRVJST1IoIiMyMjc6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciBlMzAwIGFuZCBlM2ZmIik7Cn0KCnZhciBpMjI4ID0gIiI7CmZvciAodmFyIGogPSA1ODM2ODsgaiA8IDU4NjI0OyBqKyspCiAgaTIyOCArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzIyOCA9IGkyMjg7CmlmIChpMjI4LnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG8yMjgpIHsKICAkRVJST1IoIiMyMjg6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciBlNDAwIGFuZCBlNGZmIik7Cn0KCnZhciBpMjI5ID0gIiI7CmZvciAodmFyIGogPSA1ODYyNDsgaiA8IDU4ODgwOyBqKyspCiAgaTIyOSArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzIyOSA9IGkyMjk7CmlmIChpMjI5LnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG8yMjkpIHsKICAkRVJST1IoIiMyMjk6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciBlNTAwIGFuZCBlNWZmIik7Cn0KCnZhciBpMjMwID0gIiI7CmZvciAodmFyIGogPSA1ODg4MDsgaiA8IDU5MTM2OyBqKyspCiAgaTIzMCArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzIzMCA9IGkyMzA7CmlmIChpMjMwLnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG8yMzApIHsKICAkRVJST1IoIiMyMzA6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciBlNjAwIGFuZCBlNmZmIik7Cn0KCnZhciBpMjMxID0gIiI7CmZvciAodmFyIGogPSA1OTEzNjsgaiA8IDU5MzkyOyBqKyspCiAgaTIzMSArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzIzMSA9IGkyMzE7CmlmIChpMjMxLnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG8yMzEpIHsKICAkRVJST1IoIiMyMzE6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciBlNzAwIGFuZCBlN2ZmIik7Cn0KCnZhciBpMjMyID0gIiI7CmZvciAodmFyIGogPSA1OTM5MjsgaiA8IDU5NjQ4OyBqKyspCiAgaTIzMiArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzIzMiA9IGkyMzI7CmlmIChpMjMyLnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG8yMzIpIHsKICAkRVJST1IoIiMyMzI6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciBlODAwIGFuZCBlOGZmIik7Cn0KCnZhciBpMjMzID0gIiI7CmZvciAodmFyIGogPSA1OTY0ODsgaiA8IDU5OTA0OyBqKyspCiAgaTIzMyArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzIzMyA9IGkyMzM7CmlmIChpMjMzLnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG8yMzMpIHsKICAkRVJST1IoIiMyMzM6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciBlOTAwIGFuZCBlOWZmIik7Cn0KCnZhciBpMjM0ID0gIiI7CmZvciAodmFyIGogPSA1OTkwNDsgaiA8IDYwMTYwOyBqKyspCiAgaTIzNCArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzIzNCA9IGkyMzQ7CmlmIChpMjM0LnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG8yMzQpIHsKICAkRVJST1IoIiMyMzQ6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciBlYTAwIGFuZCBlYWZmIik7Cn0KCnZhciBpMjM1ID0gIiI7CmZvciAodmFyIGogPSA2MDE2MDsgaiA8IDYwNDE2OyBqKyspCiAgaTIzNSArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzIzNSA9IGkyMzU7CmlmIChpMjM1LnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG8yMzUpIHsKICAkRVJST1IoIiMyMzU6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciBlYjAwIGFuZCBlYmZmIik7Cn0KCnZhciBpMjM2ID0gIiI7CmZvciAodmFyIGogPSA2MDQxNjsgaiA8IDYwNjcyOyBqKyspCiAgaTIzNiArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzIzNiA9IGkyMzY7CmlmIChpMjM2LnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG8yMzYpIHsKICAkRVJST1IoIiMyMzY6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciBlYzAwIGFuZCBlY2ZmIik7Cn0KCnZhciBpMjM3ID0gIiI7CmZvciAodmFyIGogPSA2MDY3MjsgaiA8IDYwOTI4OyBqKyspCiAgaTIzNyArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzIzNyA9IGkyMzc7CmlmIChpMjM3LnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG8yMzcpIHsKICAkRVJST1IoIiMyMzc6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciBlZDAwIGFuZCBlZGZmIik7Cn0KCnZhciBpMjM4ID0gIiI7CmZvciAodmFyIGogPSA2MDkyODsgaiA8IDYxMTg0OyBqKyspCiAgaTIzOCArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzIzOCA9IGkyMzg7CmlmIChpMjM4LnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG8yMzgpIHsKICAkRVJST1IoIiMyMzg6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciBlZTAwIGFuZCBlZWZmIik7Cn0KCnZhciBpMjM5ID0gIiI7CmZvciAodmFyIGogPSA2MTE4NDsgaiA8IDYxNDQwOyBqKyspCiAgaTIzOSArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzIzOSA9IGkyMzk7CmlmIChpMjM5LnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG8yMzkpIHsKICAkRVJST1IoIiMyMzk6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciBlZjAwIGFuZCBlZmZmIik7Cn0KCnZhciBpMjQwID0gIiI7CmZvciAodmFyIGogPSA2MTQ0MDsgaiA8IDYxNjk2OyBqKyspCiAgaTI0MCArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzI0MCA9IGkyNDA7CmlmIChpMjQwLnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG8yNDApIHsKICAkRVJST1IoIiMyNDA6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciBmMDAwIGFuZCBmMGZmIik7Cn0KCnZhciBpMjQxID0gIiI7CmZvciAodmFyIGogPSA2MTY5NjsgaiA8IDYxOTUyOyBqKyspCiAgaTI0MSArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzI0MSA9IGkyNDE7CmlmIChpMjQxLnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG8yNDEpIHsKICAkRVJST1IoIiMyNDE6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciBmMTAwIGFuZCBmMWZmIik7Cn0KCnZhciBpMjQyID0gIiI7CmZvciAodmFyIGogPSA2MTk1MjsgaiA8IDYyMjA4OyBqKyspCiAgaTI0MiArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzI0MiA9IGkyNDI7CmlmIChpMjQyLnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG8yNDIpIHsKICAkRVJST1IoIiMyNDI6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciBmMjAwIGFuZCBmMmZmIik7Cn0KCnZhciBpMjQzID0gIiI7CmZvciAodmFyIGogPSA2MjIwODsgaiA8IDYyNDY0OyBqKyspCiAgaTI0MyArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzI0MyA9IGkyNDM7CmlmIChpMjQzLnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG8yNDMpIHsKICAkRVJST1IoIiMyNDM6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciBmMzAwIGFuZCBmM2ZmIik7Cn0KCnZhciBpMjQ0ID0gIiI7CmZvciAodmFyIGogPSA2MjQ2NDsgaiA8IDYyNzIwOyBqKyspCiAgaTI0NCArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzI0NCA9IGkyNDQ7CmlmIChpMjQ0LnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG8yNDQpIHsKICAkRVJST1IoIiMyNDQ6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciBmNDAwIGFuZCBmNGZmIik7Cn0KCnZhciBpMjQ1ID0gIiI7CmZvciAodmFyIGogPSA2MjcyMDsgaiA8IDYyOTc2OyBqKyspCiAgaTI0NSArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzI0NSA9IGkyNDU7CmlmIChpMjQ1LnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG8yNDUpIHsKICAkRVJST1IoIiMyNDU6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciBmNTAwIGFuZCBmNWZmIik7Cn0KCnZhciBpMjQ2ID0gIiI7CmZvciAodmFyIGogPSA2Mjk3NjsgaiA8IDYzMjMyOyBqKyspCiAgaTI0NiArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzI0NiA9IGkyNDY7CmlmIChpMjQ2LnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG8yNDYpIHsKICAkRVJST1IoIiMyNDY6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciBmNjAwIGFuZCBmNmZmIik7Cn0KCnZhciBpMjQ3ID0gIiI7CmZvciAodmFyIGogPSA2MzIzMjsgaiA8IDYzNDg4OyBqKyspCiAgaTI0NyArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzI0NyA9IGkyNDc7CmlmIChpMjQ3LnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG8yNDcpIHsKICAkRVJST1IoIiMyNDc6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciBmNzAwIGFuZCBmN2ZmIik7Cn0KCnZhciBpMjQ4ID0gIiI7CmZvciAodmFyIGogPSA2MzQ4ODsgaiA8IDYzNzQ0OyBqKyspCiAgaTI0OCArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzI0OCA9IGkyNDg7CmlmIChpMjQ4LnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG8yNDgpIHsKICAkRVJST1IoIiMyNDg6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciBmODAwIGFuZCBmOGZmIik7Cn0KCnZhciBpMjQ5ID0gIiI7CmZvciAodmFyIGogPSA2Mzc0NDsgaiA8IDY0MDAwOyBqKyspCiAgaTI0OSArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzI0OSA9IGkyNDk7CmlmIChpMjQ5LnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG8yNDkpIHsKICAkRVJST1IoIiMyNDk6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciBmOTAwIGFuZCBmOWZmIik7Cn0KCnZhciBpMjUwID0gIiI7CmZvciAodmFyIGogPSA2NDAwMDsgaiA8IDY0MjU2OyBqKyspCiAgaTI1MCArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzI1MCA9IGkyNTA7CmlmIChpMjUwLnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG8yNTApIHsKICAkRVJST1IoIiMyNTA6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciBmYTAwIGFuZCBmYWZmIik7Cn0KCnZhciBpMjUxID0gIiI7CmZvciAodmFyIGogPSA2NDI1NjsgaiA8IDY0NTEyOyBqKyspCiAgaTI1MSArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzI1MSA9IGkyNTE7CmlmIChpMjUxLnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG8yNTEpIHsKICAkRVJST1IoIiMyNTE6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciBmYjAwIGFuZCBmYmZmIik7Cn0KCnZhciBpMjUyID0gIiI7CmZvciAodmFyIGogPSA2NDUxMjsgaiA8IDY0NzY4OyBqKyspCiAgaTI1MiArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzI1MiA9IGkyNTI7CmlmIChpMjUyLnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG8yNTIpIHsKICAkRVJST1IoIiMyNTI6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciBmYzAwIGFuZCBmY2ZmIik7Cn0KCnZhciBpMjUzID0gIiI7CmZvciAodmFyIGogPSA2NDc2ODsgaiA8IDY1MDI0OyBqKyspCiAgaTI1MyArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzI1MyA9IGkyNTM7CmlmIChpMjUzLnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG8yNTMpIHsKICAkRVJST1IoIiMyNTM6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciBmZDAwIGFuZCBmZGZmIik7Cn0KCnZhciBpMjU0ID0gIiI7CmZvciAodmFyIGogPSA2NTAyNDsgaiA8IDY1MjgwOyBqKyspCiAgaTI1NCArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzI1NCA9IGkyNTQ7CmlmIChpMjU0LnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG8yNTQpIHsKICAkRVJST1IoIiMyNTQ6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciBmZTAwIGFuZCBmZWZmIik7Cn0KCnZhciBpMjU1ID0gIiI7CmZvciAodmFyIGogPSA2NTI4MDsgaiA8IDY1NTM2OyBqKyspCiAgaTI1NSArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzI1NSA9IGkyNTU7CmlmIChpMjU1LnJlcGxhY2UoL1x3Ky9nLCAiIikgIT09IG8yNTUpIHsKICAkRVJST1IoIiMyNTU6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcdyBiZXR3ZWVuIGNoYXJhY3RlciBmZjAwIGFuZCBmZmZmIik7Cn0KCg==","commentary":"The production CharacterClassEscape :: w evaluates by returning the set of characters containing the sixty-three characters:\na - z, A - Z, 0 - 9, _","description":"A - Z","path":"TestCases/ch15/15.10/15.10.2/15.10.2.12/S15.10.2.12_A3_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBDaGFyYWN0ZXJDbGFzc0VzY2FwZSA6OiB3IGV2YWx1YXRlcyBieSByZXR1cm5pbmcgdGhlIHNldCBvZiBjaGFyYWN0ZXJzIGNvbnRhaW5pbmcgdGhlIHNpeHR5LXRocmVlIGNoYXJhY3RlcnM6CiAqIGEgLSB6LCBBIC0gWiwgMCAtIDksIF8KICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC4yLzE1LjEwLjIuMTIvUzE1LjEwLjIuMTJfQTNfVDIuanMKICogQGRlc2NyaXB0aW9uIGEgLSB6CiAqLwoKdmFyIHJlZ2V4cF93ID0gL1x3LzsKCi8vQ0hFQ0sjMDA2MS0wMDdBCnZhciByZXN1bHQgPSB0cnVlOyAKZm9yIChhbHBoYSA9IDB4MDA2MTsgYWxwaGEgPD0gMHgwMDdBOyBhbHBoYSsrKSB7CiAgc3RyID0gU3RyaW5nLmZyb21DaGFyQ29kZShhbHBoYSk7CiAgYXJyID0gcmVnZXhwX3cuZXhlYyhzdHIpOyAKICBpZiAoKGFyciA9PT0gbnVsbCkgfHwgKGFyclswXSAhPT0gc3RyKSkgewogICAgcmVzdWx0ID0gZmFsc2U7CiAgfQp9CgppZiAocmVzdWx0ICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMTogYSAtIHonKTsKfQoK","commentary":"The production CharacterClassEscape :: w evaluates by returning the set of characters containing the sixty-three characters:\na - z, A - Z, 0 - 9, _","description":"a - z","path":"TestCases/ch15/15.10/15.10.2/15.10.2.12/S15.10.2.12_A3_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBDaGFyYWN0ZXJDbGFzc0VzY2FwZSA6OiB3IGV2YWx1YXRlcyBieSByZXR1cm5pbmcgdGhlIHNldCBvZiBjaGFyYWN0ZXJzIGNvbnRhaW5pbmcgdGhlIHNpeHR5LXRocmVlIGNoYXJhY3RlcnM6CiAqIGEgLSB6LCBBIC0gWiwgMCAtIDksIF8KICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC4yLzE1LjEwLjIuMTIvUzE1LjEwLjIuMTJfQTNfVDMuanMKICogQGRlc2NyaXB0aW9uIDAgLSA5LCBfCiAqLwoKdmFyIHJlZ2V4cF93ID0gL1x3LzsKCi8vQ0hFQ0sjMDAzMC0wMDM5CnZhciByZXN1bHQgPSB0cnVlOyAKZm9yIChhbHBoYSA9IDB4MDAzMDsgYWxwaGEgPD0gMHgwMDM5OyBhbHBoYSsrKSB7CiAgc3RyID0gU3RyaW5nLmZyb21DaGFyQ29kZShhbHBoYSk7CiAgYXJyID0gcmVnZXhwX3cuZXhlYyhzdHIpOyAKICBpZiAoKGFyciA9PT0gbnVsbCkgfHwgKGFyclswXSAhPT0gc3RyKSkgewogICAgcmVzdWx0ID0gZmFsc2U7CiAgfQp9CgppZiAocmVzdWx0ICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMTogMCAtIDknKTsKfQoKLy9DSEVDSyMwMDVGCnZhciBhcnIgPSByZWdleHBfdy5leGVjKCJfIik7IAppZiAoKGFyciA9PT0gbnVsbCkgfHwgKGFyclswXSAhPT0gIlx1MDA1RiIpKSB7CiAgJEVSUk9SKCcjMjogXycpOwp9CgovL0NIRUNLIzAwMjAKaWYgKHJlZ2V4cF93LmV4ZWMoIiAiKSAhPT0gbnVsbCkgewogICRFUlJPUignIzM6ICAnKTsKfQoK","commentary":"The production CharacterClassEscape :: w evaluates by returning the set of characters containing the sixty-three characters:\na - z, A - Z, 0 - 9, _","description":"0 - 9, _","path":"TestCases/ch15/15.10/15.10.2/15.10.2.12/S15.10.2.12_A3_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBDaGFyYWN0ZXJDbGFzc0VzY2FwZSA6OiB3IGV2YWx1YXRlcyBieSByZXR1cm5pbmcgdGhlIHNldCBvZiBjaGFyYWN0ZXJzIGNvbnRhaW5pbmcgdGhlIHNpeHR5LXRocmVlIGNoYXJhY3RlcnM6CiAqIGEgLSB6LCBBIC0gWiwgMCAtIDksIF8KICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC4yLzE1LjEwLjIuMTIvUzE1LjEwLjIuMTJfQTNfVDQuanMKICogQGRlc2NyaXB0aW9uIFJVU1NJQU4gQUxQSEFCRVQKICovCgp2YXIgcmVnZXhwX3cgPSAvXHcvOwoKLy9DSEVDSyMwNDEwLTA0MkYKdmFyIHJlc3VsdCA9IHRydWU7ICAKZm9yIChhbHBoYSA9IDB4MDQxMDsgYWxwaGEgPD0gMHgwNDJGOyBhbHBoYSsrKSB7CiAgaWYgKHJlZ2V4cF93LmV4ZWMoU3RyaW5nLmZyb21DaGFyQ29kZShhbHBoYSkpICE9PSBudWxsKSB7CiAgICByZXN1bHQgPSBmYWxzZTsKICB9Cn0KCmlmIChyZXN1bHQgIT09IHRydWUpIHsKICAkRVJST1IoJyMxOiBSVVNTSUFOIENBUElUQUwgQUxQSEFCRVQnKTsKfQoKLy9DSEVDSyMwNDMwLTA0NEYKdmFyIHJlc3VsdCA9IHRydWU7IApmb3IgKGFscGhhID0gMHgwNDMwOyBhbHBoYSA8PSAweDA0NEY7IGFscGhhKyspIHsKICBpZiAocmVnZXhwX3cuZXhlYyhTdHJpbmcuZnJvbUNoYXJDb2RlKGFscGhhKSkgIT09IG51bGwpIHsKICAgIHJlc3VsdCA9IGZhbHNlOwogIH0KfQoKaWYgKHJlc3VsdCAhPT0gdHJ1ZSkgewogICRFUlJPUignIzI6IHJ1c3NpYW4gc21hbGwgYWxwaGFiZXQnKTsKfQoK","commentary":"The production CharacterClassEscape :: w evaluates by returning the set of characters containing the sixty-three characters:\na - z, A - Z, 0 - 9, _","description":"RUSSIAN ALPHABET","path":"TestCases/ch15/15.10/15.10.2/15.10.2.12/S15.10.2.12_A3_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBDaGFyYWN0ZXJDbGFzc0VzY2FwZSA6OiB3IGV2YWx1YXRlcyBieSByZXR1cm5pbmcgdGhlIHNldCBvZiBjaGFyYWN0ZXJzIGNvbnRhaW5pbmcgdGhlIHNpeHR5LXRocmVlIGNoYXJhY3RlcnM6CiAqIGEgLSB6LCBBIC0gWiwgMCAtIDksIF8KICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC4yLzE1LjEwLjIuMTIvUzE1LjEwLjIuMTJfQTNfVDUuanMKICogQGRlc2NyaXB0aW9uIG5vbi13CiAqLwoKLy9DSEVDSyMxCnZhciBub25fdyA9ICJcZlxuXHJcdFx2fmAhQCMkJV4mKigpLSs9e1t9XXxcXDo7JzwsPi4vPyAiICsgJyInOwppZiAoL1x3Ly5leGVjKG5vbl93KSAhPT0gbnVsbCkgewogICAkRVJST1IoJyMxOiBub24tdycpOwp9CgovL0NIRUNLIzIKdmFyIG5vbl9XID0gIl8wMTIzNDU2Nzg5X2FiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6QUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVoiOwp2YXIgcmVnZXhwX3cgPSAvXHcvZzsKdmFyIGsgPSAwOwp3aGlsZSAocmVnZXhwX3cuZXhlYyhub25fVykgIT09IG51bGwpIHsKICAgaysrOwp9CgppZiAobm9uX1cubGVuZ3RoICE9PSBrKSB7CiAgICRFUlJPUignIzI6IG5vbi1XJyk7Cn0gIAoK","commentary":"The production CharacterClassEscape :: w evaluates by returning the set of characters containing the sixty-three characters:\na - z, A - Z, 0 - 9, _","description":"non-w","path":"TestCases/ch15/15.10/15.10.2/15.10.2.12/S15.10.2.12_A3_T5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBDaGFyYWN0ZXJDbGFzc0VzY2FwZSA6OiBXIGV2YWx1YXRlcyBieSByZXR1cm5pbmcgdGhlIHNldCBvZiBhbGwgY2hhcmFjdGVycyBub3QKICogaW5jbHVkZWQgaW4gdGhlIHNldCByZXR1cm5lZCBieSBDaGFyYWN0ZXJDbGFzc0VzY2FwZSA6OiB3CiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuMi8xNS4xMC4yLjEyL1MxNS4xMC4yLjEyX0E0X1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBBIC0gWgogKi8KCnZhciBpMCA9ICIiOwpmb3IgKHZhciBqID0gMDsgaiA8IDEwMjQ7IGorKykKICBpMCArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzAgPSAiXHUwMDMwXHUwMDMxXHUwMDMyXHUwMDMzXHUwMDM0XHUwMDM1XHUwMDM2XHUwMDM3XHUwMDM4XHUwMDM5XHUwMDQxXHUwMDQyXHUwMDQzXHUwMDQ0XHUwMDQ1XHUwMDQ2XHUwMDQ3XHUwMDQ4XHUwMDQ5XHUwMDRBXHUwMDRCXHUwMDRDXHUwMDREXHUwMDRFXHUwMDRGXHUwMDUwXHUwMDUxXHUwMDUyXHUwMDUzXHUwMDU0XHUwMDU1XHUwMDU2XHUwMDU3XHUwMDU4XHUwMDU5XHUwMDVBXHUwMDVGXHUwMDYxXHUwMDYyXHUwMDYzXHUwMDY0XHUwMDY1XHUwMDY2XHUwMDY3XHUwMDY4XHUwMDY5XHUwMDZBXHUwMDZCXHUwMDZDXHUwMDZEXHUwMDZFXHUwMDZGXHUwMDcwXHUwMDcxXHUwMDcyXHUwMDczXHUwMDc0XHUwMDc1XHUwMDc2XHUwMDc3XHUwMDc4XHUwMDc5XHUwMDdBIjsKaWYgKGkwLnJlcGxhY2UoL1xXKy9nLCAiIikgIT09IG8wKSB7CiAgJEVSUk9SKCIjMDogRXJyb3IgbWF0Y2hpbmcgY2hhcmFjdGVyIGNsYXNzIFxXIGJldHdlZW4gY2hhcmFjdGVyIDAgYW5kIDNmZiIpOwp9Cgp2YXIgaTEgPSAiIjsKZm9yICh2YXIgaiA9IDEwMjQ7IGogPCAyMDQ4OyBqKyspCiAgaTEgKz0gU3RyaW5nLmZyb21DaGFyQ29kZShqKTsKdmFyIG8xID0gIiI7CmlmIChpMS5yZXBsYWNlKC9cVysvZywgIiIpICE9PSBvMSkgewogICRFUlJPUigiIzE6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcVyBiZXR3ZWVuIGNoYXJhY3RlciA0MDAgYW5kIDdmZiIpOwp9Cgp2YXIgaTIgPSAiIjsKZm9yICh2YXIgaiA9IDIwNDg7IGogPCAzMDcyOyBqKyspCiAgaTIgKz0gU3RyaW5nLmZyb21DaGFyQ29kZShqKTsKdmFyIG8yID0gIiI7CmlmIChpMi5yZXBsYWNlKC9cVysvZywgIiIpICE9PSBvMikgewogICRFUlJPUigiIzI6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcVyBiZXR3ZWVuIGNoYXJhY3RlciA4MDAgYW5kIGJmZiIpOwp9Cgp2YXIgaTMgPSAiIjsKZm9yICh2YXIgaiA9IDMwNzI7IGogPCA0MDk2OyBqKyspCiAgaTMgKz0gU3RyaW5nLmZyb21DaGFyQ29kZShqKTsKdmFyIG8zID0gIiI7CmlmIChpMy5yZXBsYWNlKC9cVysvZywgIiIpICE9PSBvMykgewogICRFUlJPUigiIzM6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcVyBiZXR3ZWVuIGNoYXJhY3RlciBjMDAgYW5kIGZmZiIpOwp9Cgp2YXIgaTQgPSAiIjsKZm9yICh2YXIgaiA9IDQwOTY7IGogPCA1MTIwOyBqKyspCiAgaTQgKz0gU3RyaW5nLmZyb21DaGFyQ29kZShqKTsKdmFyIG80ID0gIiI7CmlmIChpNC5yZXBsYWNlKC9cVysvZywgIiIpICE9PSBvNCkgewogICRFUlJPUigiIzQ6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcVyBiZXR3ZWVuIGNoYXJhY3RlciAxMDAwIGFuZCAxM2ZmIik7Cn0KCnZhciBpNSA9ICIiOwpmb3IgKHZhciBqID0gNTEyMDsgaiA8IDYxNDQ7IGorKykKICBpNSArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzUgPSAiIjsKaWYgKGk1LnJlcGxhY2UoL1xXKy9nLCAiIikgIT09IG81KSB7CiAgJEVSUk9SKCIjNTogRXJyb3IgbWF0Y2hpbmcgY2hhcmFjdGVyIGNsYXNzIFxXIGJldHdlZW4gY2hhcmFjdGVyIDE0MDAgYW5kIDE3ZmYiKTsKfQoKdmFyIGk2ID0gIiI7CmZvciAodmFyIGogPSA2MTQ0OyBqIDwgNzE2ODsgaisrKQogIGk2ICs9IFN0cmluZy5mcm9tQ2hhckNvZGUoaik7CnZhciBvNiA9ICIiOwppZiAoaTYucmVwbGFjZSgvXFcrL2csICIiKSAhPT0gbzYpIHsKICAkRVJST1IoIiM2OiBFcnJvciBtYXRjaGluZyBjaGFyYWN0ZXIgY2xhc3MgXFcgYmV0d2VlbiBjaGFyYWN0ZXIgMTgwMCBhbmQgMWJmZiIpOwp9Cgp2YXIgaTcgPSAiIjsKZm9yICh2YXIgaiA9IDcxNjg7IGogPCA4MTkyOyBqKyspCiAgaTcgKz0gU3RyaW5nLmZyb21DaGFyQ29kZShqKTsKdmFyIG83ID0gIiI7CmlmIChpNy5yZXBsYWNlKC9cVysvZywgIiIpICE9PSBvNykgewogICRFUlJPUigiIzc6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcVyBiZXR3ZWVuIGNoYXJhY3RlciAxYzAwIGFuZCAxZmZmIik7Cn0KCnZhciBpOCA9ICIiOwpmb3IgKHZhciBqID0gODE5MjsgaiA8IDkyMTY7IGorKykKICBpOCArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzggPSAiIjsKaWYgKGk4LnJlcGxhY2UoL1xXKy9nLCAiIikgIT09IG84KSB7CiAgJEVSUk9SKCIjODogRXJyb3IgbWF0Y2hpbmcgY2hhcmFjdGVyIGNsYXNzIFxXIGJldHdlZW4gY2hhcmFjdGVyIDIwMDAgYW5kIDIzZmYiKTsKfQoKdmFyIGk5ID0gIiI7CmZvciAodmFyIGogPSA5MjE2OyBqIDwgMTAyNDA7IGorKykKICBpOSArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzkgPSAiIjsKaWYgKGk5LnJlcGxhY2UoL1xXKy9nLCAiIikgIT09IG85KSB7CiAgJEVSUk9SKCIjOTogRXJyb3IgbWF0Y2hpbmcgY2hhcmFjdGVyIGNsYXNzIFxXIGJldHdlZW4gY2hhcmFjdGVyIDI0MDAgYW5kIDI3ZmYiKTsKfQoKdmFyIGkxMCA9ICIiOwpmb3IgKHZhciBqID0gMTAyNDA7IGogPCAxMTI2NDsgaisrKQogIGkxMCArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzEwID0gIiI7CmlmIChpMTAucmVwbGFjZSgvXFcrL2csICIiKSAhPT0gbzEwKSB7CiAgJEVSUk9SKCIjMTA6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcVyBiZXR3ZWVuIGNoYXJhY3RlciAyODAwIGFuZCAyYmZmIik7Cn0KCnZhciBpMTEgPSAiIjsKZm9yICh2YXIgaiA9IDExMjY0OyBqIDwgMTIyODg7IGorKykKICBpMTEgKz0gU3RyaW5nLmZyb21DaGFyQ29kZShqKTsKdmFyIG8xMSA9ICIiOwppZiAoaTExLnJlcGxhY2UoL1xXKy9nLCAiIikgIT09IG8xMSkgewogICRFUlJPUigiIzExOiBFcnJvciBtYXRjaGluZyBjaGFyYWN0ZXIgY2xhc3MgXFcgYmV0d2VlbiBjaGFyYWN0ZXIgMmMwMCBhbmQgMmZmZiIpOwp9Cgp2YXIgaTEyID0gIiI7CmZvciAodmFyIGogPSAxMjI4ODsgaiA8IDEzMzEyOyBqKyspCiAgaTEyICs9IFN0cmluZy5mcm9tQ2hhckNvZGUoaik7CnZhciBvMTIgPSAiIjsKaWYgKGkxMi5yZXBsYWNlKC9cVysvZywgIiIpICE9PSBvMTIpIHsKICAkRVJST1IoIiMxMjogRXJyb3IgbWF0Y2hpbmcgY2hhcmFjdGVyIGNsYXNzIFxXIGJldHdlZW4gY2hhcmFjdGVyIDMwMDAgYW5kIDMzZmYiKTsKfQoKdmFyIGkxMyA9ICIiOwpmb3IgKHZhciBqID0gMTMzMTI7IGogPCAxNDMzNjsgaisrKQogIGkxMyArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzEzID0gIiI7CmlmIChpMTMucmVwbGFjZSgvXFcrL2csICIiKSAhPT0gbzEzKSB7CiAgJEVSUk9SKCIjMTM6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcVyBiZXR3ZWVuIGNoYXJhY3RlciAzNDAwIGFuZCAzN2ZmIik7Cn0KCnZhciBpMTQgPSAiIjsKZm9yICh2YXIgaiA9IDE0MzM2OyBqIDwgMTUzNjA7IGorKykKICBpMTQgKz0gU3RyaW5nLmZyb21DaGFyQ29kZShqKTsKdmFyIG8xNCA9ICIiOwppZiAoaTE0LnJlcGxhY2UoL1xXKy9nLCAiIikgIT09IG8xNCkgewogICRFUlJPUigiIzE0OiBFcnJvciBtYXRjaGluZyBjaGFyYWN0ZXIgY2xhc3MgXFcgYmV0d2VlbiBjaGFyYWN0ZXIgMzgwMCBhbmQgM2JmZiIpOwp9Cgp2YXIgaTE1ID0gIiI7CmZvciAodmFyIGogPSAxNTM2MDsgaiA8IDE2Mzg0OyBqKyspCiAgaTE1ICs9IFN0cmluZy5mcm9tQ2hhckNvZGUoaik7CnZhciBvMTUgPSAiIjsKaWYgKGkxNS5yZXBsYWNlKC9cVysvZywgIiIpICE9PSBvMTUpIHsKICAkRVJST1IoIiMxNTogRXJyb3IgbWF0Y2hpbmcgY2hhcmFjdGVyIGNsYXNzIFxXIGJldHdlZW4gY2hhcmFjdGVyIDNjMDAgYW5kIDNmZmYiKTsKfQoKdmFyIGkxNiA9ICIiOwpmb3IgKHZhciBqID0gMTYzODQ7IGogPCAxNzQwODsgaisrKQogIGkxNiArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzE2ID0gIiI7CmlmIChpMTYucmVwbGFjZSgvXFcrL2csICIiKSAhPT0gbzE2KSB7CiAgJEVSUk9SKCIjMTY6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcVyBiZXR3ZWVuIGNoYXJhY3RlciA0MDAwIGFuZCA0M2ZmIik7Cn0KCnZhciBpMTcgPSAiIjsKZm9yICh2YXIgaiA9IDE3NDA4OyBqIDwgMTg0MzI7IGorKykKICBpMTcgKz0gU3RyaW5nLmZyb21DaGFyQ29kZShqKTsKdmFyIG8xNyA9ICIiOwppZiAoaTE3LnJlcGxhY2UoL1xXKy9nLCAiIikgIT09IG8xNykgewogICRFUlJPUigiIzE3OiBFcnJvciBtYXRjaGluZyBjaGFyYWN0ZXIgY2xhc3MgXFcgYmV0d2VlbiBjaGFyYWN0ZXIgNDQwMCBhbmQgNDdmZiIpOwp9Cgp2YXIgaTE4ID0gIiI7CmZvciAodmFyIGogPSAxODQzMjsgaiA8IDE5NDU2OyBqKyspCiAgaTE4ICs9IFN0cmluZy5mcm9tQ2hhckNvZGUoaik7CnZhciBvMTggPSAiIjsKaWYgKGkxOC5yZXBsYWNlKC9cVysvZywgIiIpICE9PSBvMTgpIHsKICAkRVJST1IoIiMxODogRXJyb3IgbWF0Y2hpbmcgY2hhcmFjdGVyIGNsYXNzIFxXIGJldHdlZW4gY2hhcmFjdGVyIDQ4MDAgYW5kIDRiZmYiKTsKfQoKdmFyIGkxOSA9ICIiOwpmb3IgKHZhciBqID0gMTk0NTY7IGogPCAyMDQ4MDsgaisrKQogIGkxOSArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzE5ID0gIiI7CmlmIChpMTkucmVwbGFjZSgvXFcrL2csICIiKSAhPT0gbzE5KSB7CiAgJEVSUk9SKCIjMTk6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcVyBiZXR3ZWVuIGNoYXJhY3RlciA0YzAwIGFuZCA0ZmZmIik7Cn0KCnZhciBpMjAgPSAiIjsKZm9yICh2YXIgaiA9IDIwNDgwOyBqIDwgMjE1MDQ7IGorKykKICBpMjAgKz0gU3RyaW5nLmZyb21DaGFyQ29kZShqKTsKdmFyIG8yMCA9ICIiOwppZiAoaTIwLnJlcGxhY2UoL1xXKy9nLCAiIikgIT09IG8yMCkgewogICRFUlJPUigiIzIwOiBFcnJvciBtYXRjaGluZyBjaGFyYWN0ZXIgY2xhc3MgXFcgYmV0d2VlbiBjaGFyYWN0ZXIgNTAwMCBhbmQgNTNmZiIpOwp9Cgp2YXIgaTIxID0gIiI7CmZvciAodmFyIGogPSAyMTUwNDsgaiA8IDIyNTI4OyBqKyspCiAgaTIxICs9IFN0cmluZy5mcm9tQ2hhckNvZGUoaik7CnZhciBvMjEgPSAiIjsKaWYgKGkyMS5yZXBsYWNlKC9cVysvZywgIiIpICE9PSBvMjEpIHsKICAkRVJST1IoIiMyMTogRXJyb3IgbWF0Y2hpbmcgY2hhcmFjdGVyIGNsYXNzIFxXIGJldHdlZW4gY2hhcmFjdGVyIDU0MDAgYW5kIDU3ZmYiKTsKfQoKdmFyIGkyMiA9ICIiOwpmb3IgKHZhciBqID0gMjI1Mjg7IGogPCAyMzU1MjsgaisrKQogIGkyMiArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzIyID0gIiI7CmlmIChpMjIucmVwbGFjZSgvXFcrL2csICIiKSAhPT0gbzIyKSB7CiAgJEVSUk9SKCIjMjI6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcVyBiZXR3ZWVuIGNoYXJhY3RlciA1ODAwIGFuZCA1YmZmIik7Cn0KCnZhciBpMjMgPSAiIjsKZm9yICh2YXIgaiA9IDIzNTUyOyBqIDwgMjQ1NzY7IGorKykKICBpMjMgKz0gU3RyaW5nLmZyb21DaGFyQ29kZShqKTsKdmFyIG8yMyA9ICIiOwppZiAoaTIzLnJlcGxhY2UoL1xXKy9nLCAiIikgIT09IG8yMykgewogICRFUlJPUigiIzIzOiBFcnJvciBtYXRjaGluZyBjaGFyYWN0ZXIgY2xhc3MgXFcgYmV0d2VlbiBjaGFyYWN0ZXIgNWMwMCBhbmQgNWZmZiIpOwp9Cgp2YXIgaTI0ID0gIiI7CmZvciAodmFyIGogPSAyNDU3NjsgaiA8IDI1NjAwOyBqKyspCiAgaTI0ICs9IFN0cmluZy5mcm9tQ2hhckNvZGUoaik7CnZhciBvMjQgPSAiIjsKaWYgKGkyNC5yZXBsYWNlKC9cVysvZywgIiIpICE9PSBvMjQpIHsKICAkRVJST1IoIiMyNDogRXJyb3IgbWF0Y2hpbmcgY2hhcmFjdGVyIGNsYXNzIFxXIGJldHdlZW4gY2hhcmFjdGVyIDYwMDAgYW5kIDYzZmYiKTsKfQoKdmFyIGkyNSA9ICIiOwpmb3IgKHZhciBqID0gMjU2MDA7IGogPCAyNjYyNDsgaisrKQogIGkyNSArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzI1ID0gIiI7CmlmIChpMjUucmVwbGFjZSgvXFcrL2csICIiKSAhPT0gbzI1KSB7CiAgJEVSUk9SKCIjMjU6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcVyBiZXR3ZWVuIGNoYXJhY3RlciA2NDAwIGFuZCA2N2ZmIik7Cn0KCnZhciBpMjYgPSAiIjsKZm9yICh2YXIgaiA9IDI2NjI0OyBqIDwgMjc2NDg7IGorKykKICBpMjYgKz0gU3RyaW5nLmZyb21DaGFyQ29kZShqKTsKdmFyIG8yNiA9ICIiOwppZiAoaTI2LnJlcGxhY2UoL1xXKy9nLCAiIikgIT09IG8yNikgewogICRFUlJPUigiIzI2OiBFcnJvciBtYXRjaGluZyBjaGFyYWN0ZXIgY2xhc3MgXFcgYmV0d2VlbiBjaGFyYWN0ZXIgNjgwMCBhbmQgNmJmZiIpOwp9Cgp2YXIgaTI3ID0gIiI7CmZvciAodmFyIGogPSAyNzY0ODsgaiA8IDI4NjcyOyBqKyspCiAgaTI3ICs9IFN0cmluZy5mcm9tQ2hhckNvZGUoaik7CnZhciBvMjcgPSAiIjsKaWYgKGkyNy5yZXBsYWNlKC9cVysvZywgIiIpICE9PSBvMjcpIHsKICAkRVJST1IoIiMyNzogRXJyb3IgbWF0Y2hpbmcgY2hhcmFjdGVyIGNsYXNzIFxXIGJldHdlZW4gY2hhcmFjdGVyIDZjMDAgYW5kIDZmZmYiKTsKfQoKdmFyIGkyOCA9ICIiOwpmb3IgKHZhciBqID0gMjg2NzI7IGogPCAyOTY5NjsgaisrKQogIGkyOCArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzI4ID0gIiI7CmlmIChpMjgucmVwbGFjZSgvXFcrL2csICIiKSAhPT0gbzI4KSB7CiAgJEVSUk9SKCIjMjg6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcVyBiZXR3ZWVuIGNoYXJhY3RlciA3MDAwIGFuZCA3M2ZmIik7Cn0KCnZhciBpMjkgPSAiIjsKZm9yICh2YXIgaiA9IDI5Njk2OyBqIDwgMzA3MjA7IGorKykKICBpMjkgKz0gU3RyaW5nLmZyb21DaGFyQ29kZShqKTsKdmFyIG8yOSA9ICIiOwppZiAoaTI5LnJlcGxhY2UoL1xXKy9nLCAiIikgIT09IG8yOSkgewogICRFUlJPUigiIzI5OiBFcnJvciBtYXRjaGluZyBjaGFyYWN0ZXIgY2xhc3MgXFcgYmV0d2VlbiBjaGFyYWN0ZXIgNzQwMCBhbmQgNzdmZiIpOwp9Cgp2YXIgaTMwID0gIiI7CmZvciAodmFyIGogPSAzMDcyMDsgaiA8IDMxNzQ0OyBqKyspCiAgaTMwICs9IFN0cmluZy5mcm9tQ2hhckNvZGUoaik7CnZhciBvMzAgPSAiIjsKaWYgKGkzMC5yZXBsYWNlKC9cVysvZywgIiIpICE9PSBvMzApIHsKICAkRVJST1IoIiMzMDogRXJyb3IgbWF0Y2hpbmcgY2hhcmFjdGVyIGNsYXNzIFxXIGJldHdlZW4gY2hhcmFjdGVyIDc4MDAgYW5kIDdiZmYiKTsKfQoKdmFyIGkzMSA9ICIiOwpmb3IgKHZhciBqID0gMzE3NDQ7IGogPCAzMjc2ODsgaisrKQogIGkzMSArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzMxID0gIiI7CmlmIChpMzEucmVwbGFjZSgvXFcrL2csICIiKSAhPT0gbzMxKSB7CiAgJEVSUk9SKCIjMzE6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcVyBiZXR3ZWVuIGNoYXJhY3RlciA3YzAwIGFuZCA3ZmZmIik7Cn0KCnZhciBpMzIgPSAiIjsKZm9yICh2YXIgaiA9IDMyNzY4OyBqIDwgMzM3OTI7IGorKykKICBpMzIgKz0gU3RyaW5nLmZyb21DaGFyQ29kZShqKTsKdmFyIG8zMiA9ICIiOwppZiAoaTMyLnJlcGxhY2UoL1xXKy9nLCAiIikgIT09IG8zMikgewogICRFUlJPUigiIzMyOiBFcnJvciBtYXRjaGluZyBjaGFyYWN0ZXIgY2xhc3MgXFcgYmV0d2VlbiBjaGFyYWN0ZXIgODAwMCBhbmQgODNmZiIpOwp9Cgp2YXIgaTMzID0gIiI7CmZvciAodmFyIGogPSAzMzc5MjsgaiA8IDM0ODE2OyBqKyspCiAgaTMzICs9IFN0cmluZy5mcm9tQ2hhckNvZGUoaik7CnZhciBvMzMgPSAiIjsKaWYgKGkzMy5yZXBsYWNlKC9cVysvZywgIiIpICE9PSBvMzMpIHsKICAkRVJST1IoIiMzMzogRXJyb3IgbWF0Y2hpbmcgY2hhcmFjdGVyIGNsYXNzIFxXIGJldHdlZW4gY2hhcmFjdGVyIDg0MDAgYW5kIDg3ZmYiKTsKfQoKdmFyIGkzNCA9ICIiOwpmb3IgKHZhciBqID0gMzQ4MTY7IGogPCAzNTg0MDsgaisrKQogIGkzNCArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzM0ID0gIiI7CmlmIChpMzQucmVwbGFjZSgvXFcrL2csICIiKSAhPT0gbzM0KSB7CiAgJEVSUk9SKCIjMzQ6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcVyBiZXR3ZWVuIGNoYXJhY3RlciA4ODAwIGFuZCA4YmZmIik7Cn0KCnZhciBpMzUgPSAiIjsKZm9yICh2YXIgaiA9IDM1ODQwOyBqIDwgMzY4NjQ7IGorKykKICBpMzUgKz0gU3RyaW5nLmZyb21DaGFyQ29kZShqKTsKdmFyIG8zNSA9ICIiOwppZiAoaTM1LnJlcGxhY2UoL1xXKy9nLCAiIikgIT09IG8zNSkgewogICRFUlJPUigiIzM1OiBFcnJvciBtYXRjaGluZyBjaGFyYWN0ZXIgY2xhc3MgXFcgYmV0d2VlbiBjaGFyYWN0ZXIgOGMwMCBhbmQgOGZmZiIpOwp9Cgp2YXIgaTM2ID0gIiI7CmZvciAodmFyIGogPSAzNjg2NDsgaiA8IDM3ODg4OyBqKyspCiAgaTM2ICs9IFN0cmluZy5mcm9tQ2hhckNvZGUoaik7CnZhciBvMzYgPSAiIjsKaWYgKGkzNi5yZXBsYWNlKC9cVysvZywgIiIpICE9PSBvMzYpIHsKICAkRVJST1IoIiMzNjogRXJyb3IgbWF0Y2hpbmcgY2hhcmFjdGVyIGNsYXNzIFxXIGJldHdlZW4gY2hhcmFjdGVyIDkwMDAgYW5kIDkzZmYiKTsKfQoKdmFyIGkzNyA9ICIiOwpmb3IgKHZhciBqID0gMzc4ODg7IGogPCAzODkxMjsgaisrKQogIGkzNyArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzM3ID0gIiI7CmlmIChpMzcucmVwbGFjZSgvXFcrL2csICIiKSAhPT0gbzM3KSB7CiAgJEVSUk9SKCIjMzc6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcVyBiZXR3ZWVuIGNoYXJhY3RlciA5NDAwIGFuZCA5N2ZmIik7Cn0KCnZhciBpMzggPSAiIjsKZm9yICh2YXIgaiA9IDM4OTEyOyBqIDwgMzk5MzY7IGorKykKICBpMzggKz0gU3RyaW5nLmZyb21DaGFyQ29kZShqKTsKdmFyIG8zOCA9ICIiOwppZiAoaTM4LnJlcGxhY2UoL1xXKy9nLCAiIikgIT09IG8zOCkgewogICRFUlJPUigiIzM4OiBFcnJvciBtYXRjaGluZyBjaGFyYWN0ZXIgY2xhc3MgXFcgYmV0d2VlbiBjaGFyYWN0ZXIgOTgwMCBhbmQgOWJmZiIpOwp9Cgp2YXIgaTM5ID0gIiI7CmZvciAodmFyIGogPSAzOTkzNjsgaiA8IDQwOTYwOyBqKyspCiAgaTM5ICs9IFN0cmluZy5mcm9tQ2hhckNvZGUoaik7CnZhciBvMzkgPSAiIjsKaWYgKGkzOS5yZXBsYWNlKC9cVysvZywgIiIpICE9PSBvMzkpIHsKICAkRVJST1IoIiMzOTogRXJyb3IgbWF0Y2hpbmcgY2hhcmFjdGVyIGNsYXNzIFxXIGJldHdlZW4gY2hhcmFjdGVyIDljMDAgYW5kIDlmZmYiKTsKfQoKdmFyIGk0MCA9ICIiOwpmb3IgKHZhciBqID0gNDA5NjA7IGogPCA0MTk4NDsgaisrKQogIGk0MCArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzQwID0gIiI7CmlmIChpNDAucmVwbGFjZSgvXFcrL2csICIiKSAhPT0gbzQwKSB7CiAgJEVSUk9SKCIjNDA6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcVyBiZXR3ZWVuIGNoYXJhY3RlciBhMDAwIGFuZCBhM2ZmIik7Cn0KCnZhciBpNDEgPSAiIjsKZm9yICh2YXIgaiA9IDQxOTg0OyBqIDwgNDMwMDg7IGorKykKICBpNDEgKz0gU3RyaW5nLmZyb21DaGFyQ29kZShqKTsKdmFyIG80MSA9ICIiOwppZiAoaTQxLnJlcGxhY2UoL1xXKy9nLCAiIikgIT09IG80MSkgewogICRFUlJPUigiIzQxOiBFcnJvciBtYXRjaGluZyBjaGFyYWN0ZXIgY2xhc3MgXFcgYmV0d2VlbiBjaGFyYWN0ZXIgYTQwMCBhbmQgYTdmZiIpOwp9Cgp2YXIgaTQyID0gIiI7CmZvciAodmFyIGogPSA0MzAwODsgaiA8IDQ0MDMyOyBqKyspCiAgaTQyICs9IFN0cmluZy5mcm9tQ2hhckNvZGUoaik7CnZhciBvNDIgPSAiIjsKaWYgKGk0Mi5yZXBsYWNlKC9cVysvZywgIiIpICE9PSBvNDIpIHsKICAkRVJST1IoIiM0MjogRXJyb3IgbWF0Y2hpbmcgY2hhcmFjdGVyIGNsYXNzIFxXIGJldHdlZW4gY2hhcmFjdGVyIGE4MDAgYW5kIGFiZmYiKTsKfQoKdmFyIGk0MyA9ICIiOwpmb3IgKHZhciBqID0gNDQwMzI7IGogPCA0NTA1NjsgaisrKQogIGk0MyArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzQzID0gIiI7CmlmIChpNDMucmVwbGFjZSgvXFcrL2csICIiKSAhPT0gbzQzKSB7CiAgJEVSUk9SKCIjNDM6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcVyBiZXR3ZWVuIGNoYXJhY3RlciBhYzAwIGFuZCBhZmZmIik7Cn0KCnZhciBpNDQgPSAiIjsKZm9yICh2YXIgaiA9IDQ1MDU2OyBqIDwgNDYwODA7IGorKykKICBpNDQgKz0gU3RyaW5nLmZyb21DaGFyQ29kZShqKTsKdmFyIG80NCA9ICIiOwppZiAoaTQ0LnJlcGxhY2UoL1xXKy9nLCAiIikgIT09IG80NCkgewogICRFUlJPUigiIzQ0OiBFcnJvciBtYXRjaGluZyBjaGFyYWN0ZXIgY2xhc3MgXFcgYmV0d2VlbiBjaGFyYWN0ZXIgYjAwMCBhbmQgYjNmZiIpOwp9Cgp2YXIgaTQ1ID0gIiI7CmZvciAodmFyIGogPSA0NjA4MDsgaiA8IDQ3MTA0OyBqKyspCiAgaTQ1ICs9IFN0cmluZy5mcm9tQ2hhckNvZGUoaik7CnZhciBvNDUgPSAiIjsKaWYgKGk0NS5yZXBsYWNlKC9cVysvZywgIiIpICE9PSBvNDUpIHsKICAkRVJST1IoIiM0NTogRXJyb3IgbWF0Y2hpbmcgY2hhcmFjdGVyIGNsYXNzIFxXIGJldHdlZW4gY2hhcmFjdGVyIGI0MDAgYW5kIGI3ZmYiKTsKfQoKdmFyIGk0NiA9ICIiOwpmb3IgKHZhciBqID0gNDcxMDQ7IGogPCA0ODEyODsgaisrKQogIGk0NiArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzQ2ID0gIiI7CmlmIChpNDYucmVwbGFjZSgvXFcrL2csICIiKSAhPT0gbzQ2KSB7CiAgJEVSUk9SKCIjNDY6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcVyBiZXR3ZWVuIGNoYXJhY3RlciBiODAwIGFuZCBiYmZmIik7Cn0KCnZhciBpNDcgPSAiIjsKZm9yICh2YXIgaiA9IDQ4MTI4OyBqIDwgNDkxNTI7IGorKykKICBpNDcgKz0gU3RyaW5nLmZyb21DaGFyQ29kZShqKTsKdmFyIG80NyA9ICIiOwppZiAoaTQ3LnJlcGxhY2UoL1xXKy9nLCAiIikgIT09IG80NykgewogICRFUlJPUigiIzQ3OiBFcnJvciBtYXRjaGluZyBjaGFyYWN0ZXIgY2xhc3MgXFcgYmV0d2VlbiBjaGFyYWN0ZXIgYmMwMCBhbmQgYmZmZiIpOwp9Cgp2YXIgaTQ4ID0gIiI7CmZvciAodmFyIGogPSA0OTE1MjsgaiA8IDUwMTc2OyBqKyspCiAgaTQ4ICs9IFN0cmluZy5mcm9tQ2hhckNvZGUoaik7CnZhciBvNDggPSAiIjsKaWYgKGk0OC5yZXBsYWNlKC9cVysvZywgIiIpICE9PSBvNDgpIHsKICAkRVJST1IoIiM0ODogRXJyb3IgbWF0Y2hpbmcgY2hhcmFjdGVyIGNsYXNzIFxXIGJldHdlZW4gY2hhcmFjdGVyIGMwMDAgYW5kIGMzZmYiKTsKfQoKdmFyIGk0OSA9ICIiOwpmb3IgKHZhciBqID0gNTAxNzY7IGogPCA1MTIwMDsgaisrKQogIGk0OSArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzQ5ID0gIiI7CmlmIChpNDkucmVwbGFjZSgvXFcrL2csICIiKSAhPT0gbzQ5KSB7CiAgJEVSUk9SKCIjNDk6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcVyBiZXR3ZWVuIGNoYXJhY3RlciBjNDAwIGFuZCBjN2ZmIik7Cn0KCnZhciBpNTAgPSAiIjsKZm9yICh2YXIgaiA9IDUxMjAwOyBqIDwgNTIyMjQ7IGorKykKICBpNTAgKz0gU3RyaW5nLmZyb21DaGFyQ29kZShqKTsKdmFyIG81MCA9ICIiOwppZiAoaTUwLnJlcGxhY2UoL1xXKy9nLCAiIikgIT09IG81MCkgewogICRFUlJPUigiIzUwOiBFcnJvciBtYXRjaGluZyBjaGFyYWN0ZXIgY2xhc3MgXFcgYmV0d2VlbiBjaGFyYWN0ZXIgYzgwMCBhbmQgY2JmZiIpOwp9Cgp2YXIgaTUxID0gIiI7CmZvciAodmFyIGogPSA1MjIyNDsgaiA8IDUzMjQ4OyBqKyspCiAgaTUxICs9IFN0cmluZy5mcm9tQ2hhckNvZGUoaik7CnZhciBvNTEgPSAiIjsKaWYgKGk1MS5yZXBsYWNlKC9cVysvZywgIiIpICE9PSBvNTEpIHsKICAkRVJST1IoIiM1MTogRXJyb3IgbWF0Y2hpbmcgY2hhcmFjdGVyIGNsYXNzIFxXIGJldHdlZW4gY2hhcmFjdGVyIGNjMDAgYW5kIGNmZmYiKTsKfQoKdmFyIGk1MiA9ICIiOwpmb3IgKHZhciBqID0gNTMyNDg7IGogPCA1NDI3MjsgaisrKQogIGk1MiArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzUyID0gIiI7CmlmIChpNTIucmVwbGFjZSgvXFcrL2csICIiKSAhPT0gbzUyKSB7CiAgJEVSUk9SKCIjNTI6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcVyBiZXR3ZWVuIGNoYXJhY3RlciBkMDAwIGFuZCBkM2ZmIik7Cn0KCnZhciBpNTMgPSAiIjsKZm9yICh2YXIgaiA9IDU0MjcyOyBqIDwgNTUyOTY7IGorKykKICBpNTMgKz0gU3RyaW5nLmZyb21DaGFyQ29kZShqKTsKdmFyIG81MyA9ICIiOwppZiAoaTUzLnJlcGxhY2UoL1xXKy9nLCAiIikgIT09IG81MykgewogICRFUlJPUigiIzUzOiBFcnJvciBtYXRjaGluZyBjaGFyYWN0ZXIgY2xhc3MgXFcgYmV0d2VlbiBjaGFyYWN0ZXIgZDQwMCBhbmQgZDdmZiIpOwp9Cgp2YXIgaTU0ID0gIiI7CmZvciAodmFyIGogPSA1NTI5NjsgaiA8IDU2MzIwOyBqKyspCiAgaTU0ICs9IFN0cmluZy5mcm9tQ2hhckNvZGUoaik7CnZhciBvNTQgPSAiIjsKaWYgKGk1NC5yZXBsYWNlKC9cVysvZywgIiIpICE9PSBvNTQpIHsKICAkRVJST1IoIiM1NDogRXJyb3IgbWF0Y2hpbmcgY2hhcmFjdGVyIGNsYXNzIFxXIGJldHdlZW4gY2hhcmFjdGVyIGQ4MDAgYW5kIGRiZmYiKTsKfQoKdmFyIGk1NSA9ICIiOwpmb3IgKHZhciBqID0gNTYzMjA7IGogPCA1NzM0NDsgaisrKQogIGk1NSArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzU1ID0gIiI7CmlmIChpNTUucmVwbGFjZSgvXFcrL2csICIiKSAhPT0gbzU1KSB7CiAgJEVSUk9SKCIjNTU6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcVyBiZXR3ZWVuIGNoYXJhY3RlciBkYzAwIGFuZCBkZmZmIik7Cn0KCnZhciBpNTYgPSAiIjsKZm9yICh2YXIgaiA9IDU3MzQ0OyBqIDwgNTgzNjg7IGorKykKICBpNTYgKz0gU3RyaW5nLmZyb21DaGFyQ29kZShqKTsKdmFyIG81NiA9ICIiOwppZiAoaTU2LnJlcGxhY2UoL1xXKy9nLCAiIikgIT09IG81NikgewogICRFUlJPUigiIzU2OiBFcnJvciBtYXRjaGluZyBjaGFyYWN0ZXIgY2xhc3MgXFcgYmV0d2VlbiBjaGFyYWN0ZXIgZTAwMCBhbmQgZTNmZiIpOwp9Cgp2YXIgaTU3ID0gIiI7CmZvciAodmFyIGogPSA1ODM2ODsgaiA8IDU5MzkyOyBqKyspCiAgaTU3ICs9IFN0cmluZy5mcm9tQ2hhckNvZGUoaik7CnZhciBvNTcgPSAiIjsKaWYgKGk1Ny5yZXBsYWNlKC9cVysvZywgIiIpICE9PSBvNTcpIHsKICAkRVJST1IoIiM1NzogRXJyb3IgbWF0Y2hpbmcgY2hhcmFjdGVyIGNsYXNzIFxXIGJldHdlZW4gY2hhcmFjdGVyIGU0MDAgYW5kIGU3ZmYiKTsKfQoKdmFyIGk1OCA9ICIiOwpmb3IgKHZhciBqID0gNTkzOTI7IGogPCA2MDQxNjsgaisrKQogIGk1OCArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzU4ID0gIiI7CmlmIChpNTgucmVwbGFjZSgvXFcrL2csICIiKSAhPT0gbzU4KSB7CiAgJEVSUk9SKCIjNTg6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcVyBiZXR3ZWVuIGNoYXJhY3RlciBlODAwIGFuZCBlYmZmIik7Cn0KCnZhciBpNTkgPSAiIjsKZm9yICh2YXIgaiA9IDYwNDE2OyBqIDwgNjE0NDA7IGorKykKICBpNTkgKz0gU3RyaW5nLmZyb21DaGFyQ29kZShqKTsKdmFyIG81OSA9ICIiOwppZiAoaTU5LnJlcGxhY2UoL1xXKy9nLCAiIikgIT09IG81OSkgewogICRFUlJPUigiIzU5OiBFcnJvciBtYXRjaGluZyBjaGFyYWN0ZXIgY2xhc3MgXFcgYmV0d2VlbiBjaGFyYWN0ZXIgZWMwMCBhbmQgZWZmZiIpOwp9Cgp2YXIgaTYwID0gIiI7CmZvciAodmFyIGogPSA2MTQ0MDsgaiA8IDYyNDY0OyBqKyspCiAgaTYwICs9IFN0cmluZy5mcm9tQ2hhckNvZGUoaik7CnZhciBvNjAgPSAiIjsKaWYgKGk2MC5yZXBsYWNlKC9cVysvZywgIiIpICE9PSBvNjApIHsKICAkRVJST1IoIiM2MDogRXJyb3IgbWF0Y2hpbmcgY2hhcmFjdGVyIGNsYXNzIFxXIGJldHdlZW4gY2hhcmFjdGVyIGYwMDAgYW5kIGYzZmYiKTsKfQoKdmFyIGk2MSA9ICIiOwpmb3IgKHZhciBqID0gNjI0NjQ7IGogPCA2MzQ4ODsgaisrKQogIGk2MSArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzYxID0gIiI7CmlmIChpNjEucmVwbGFjZSgvXFcrL2csICIiKSAhPT0gbzYxKSB7CiAgJEVSUk9SKCIjNjE6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcVyBiZXR3ZWVuIGNoYXJhY3RlciBmNDAwIGFuZCBmN2ZmIik7Cn0KCnZhciBpNjIgPSAiIjsKZm9yICh2YXIgaiA9IDYzNDg4OyBqIDwgNjQ1MTI7IGorKykKICBpNjIgKz0gU3RyaW5nLmZyb21DaGFyQ29kZShqKTsKdmFyIG82MiA9ICIiOwppZiAoaTYyLnJlcGxhY2UoL1xXKy9nLCAiIikgIT09IG82MikgewogICRFUlJPUigiIzYyOiBFcnJvciBtYXRjaGluZyBjaGFyYWN0ZXIgY2xhc3MgXFcgYmV0d2VlbiBjaGFyYWN0ZXIgZjgwMCBhbmQgZmJmZiIpOwp9Cgp2YXIgaTYzID0gIiI7CmZvciAodmFyIGogPSA2NDUxMjsgaiA8IDY1NTM2OyBqKyspCiAgaTYzICs9IFN0cmluZy5mcm9tQ2hhckNvZGUoaik7CnZhciBvNjMgPSAiIjsKaWYgKGk2My5yZXBsYWNlKC9cVysvZywgIiIpICE9PSBvNjMpIHsKICAkRVJST1IoIiM2MzogRXJyb3IgbWF0Y2hpbmcgY2hhcmFjdGVyIGNsYXNzIFxXIGJldHdlZW4gY2hhcmFjdGVyIGZjMDAgYW5kIGZmZmYiKTsKfQoK","commentary":"The production CharacterClassEscape :: W evaluates by returning the set of all characters not\nincluded in the set returned by CharacterClassEscape :: w","description":"A - Z","path":"TestCases/ch15/15.10/15.10.2/15.10.2.12/S15.10.2.12_A4_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBDaGFyYWN0ZXJDbGFzc0VzY2FwZSA6OiBXIGV2YWx1YXRlcyBieSByZXR1cm5pbmcgdGhlIHNldCBvZiBhbGwgY2hhcmFjdGVycyBub3QKICogaW5jbHVkZWQgaW4gdGhlIHNldCByZXR1cm5lZCBieSBDaGFyYWN0ZXJDbGFzc0VzY2FwZSA6OiB3CiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuMi8xNS4xMC4yLjEyL1MxNS4xMC4yLjEyX0E0X1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBhIC0gegogKi8KCnZhciByZWdleHBfVyA9IC9cVy87CgovL0NIRUNLIzAwNjEtMDA3QQp2YXIgcmVzdWx0ID0gdHJ1ZTsgCmZvciAoYWxwaGEgPSAweDAwNjE7IGFscGhhIDw9IDB4MDA3QTsgYWxwaGErKykgewogIGlmIChyZWdleHBfVy5leGVjKFN0cmluZy5mcm9tQ2hhckNvZGUoYWxwaGEpKSAhPT0gbnVsbCkgewogICAgcmVzdWx0ID0gZmFsc2U7CiAgfQp9CgppZiAocmVzdWx0ICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMTogYSAtIHonKTsKfQoK","commentary":"The production CharacterClassEscape :: W evaluates by returning the set of all characters not\nincluded in the set returned by CharacterClassEscape :: w","description":"a - z","path":"TestCases/ch15/15.10/15.10.2/15.10.2.12/S15.10.2.12_A4_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBDaGFyYWN0ZXJDbGFzc0VzY2FwZSA6OiBXIGV2YWx1YXRlcyBieSByZXR1cm5pbmcgdGhlIHNldCBvZiBhbGwgY2hhcmFjdGVycyBub3QKICogaW5jbHVkZWQgaW4gdGhlIHNldCByZXR1cm5lZCBieSBDaGFyYWN0ZXJDbGFzc0VzY2FwZSA6OiB3CiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuMi8xNS4xMC4yLjEyL1MxNS4xMC4yLjEyX0E0X1QzLmpzCiAqIEBkZXNjcmlwdGlvbiAwIC0gOQogKi8KCnZhciByZWdleHBfVyA9IC9cVy87CgovL0NIRUNLIzAwMzAtMDAzOQp2YXIgcmVzdWx0ID0gdHJ1ZTsgCmZvciAoYWxwaGEgPSAweDAwMzA7IGFscGhhIDw9IDB4MDAzOTsgYWxwaGErKykgewogIGlmIChyZWdleHBfVy5leGVjKFN0cmluZy5mcm9tQ2hhckNvZGUoYWxwaGEpKSAhPT0gbnVsbCkgewogICAgcmVzdWx0ID0gZmFsc2U7CiAgfQp9CgppZiAocmVzdWx0ICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMTogMCAtIDknKTsKfQoKLy9DSEVDSyMwMDVGIAppZiAocmVnZXhwX1cuZXhlYygiXyIpICE9PSBudWxsKSB7CiAgJEVSUk9SKCcjMjogXycpOwp9CgovL0NIRUNLIzAwMjAKdmFyIGFyciA9IHJlZ2V4cF9XLmV4ZWMoIiAiKTsgCmlmICgoYXJyID09PSBudWxsKSB8fCAoYXJyWzBdICE9PSAiXHUwMDIwIikpIHsKICAkRVJST1IoJyMyOiAgJyk7Cn0KCg==","commentary":"The production CharacterClassEscape :: W evaluates by returning the set of all characters not\nincluded in the set returned by CharacterClassEscape :: w","description":"0 - 9","path":"TestCases/ch15/15.10/15.10.2/15.10.2.12/S15.10.2.12_A4_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBDaGFyYWN0ZXJDbGFzc0VzY2FwZSA6OiBXIGV2YWx1YXRlcyBieSByZXR1cm5pbmcgdGhlIHNldCBvZiBhbGwgY2hhcmFjdGVycyBub3QKICogaW5jbHVkZWQgaW4gdGhlIHNldCByZXR1cm5lZCBieSBDaGFyYWN0ZXJDbGFzc0VzY2FwZSA6OiB3CiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuMi8xNS4xMC4yLjEyL1MxNS4xMC4yLjEyX0E0X1Q0LmpzCiAqIEBkZXNjcmlwdGlvbiBSVVNTSUFOIEFMUEhBQkVUCiAqLwoKdmFyIHJlZ2V4cF9XID0gL1xXLzsKCi8vQ0hFQ0sjMDQxMC0wNDJGCnZhciByZXN1bHQgPSB0cnVlOyAgCmZvciAoYWxwaGEgPSAweDA0MTA7IGFscGhhIDw9IDB4MDQyRjsgYWxwaGErKykgewogIHN0ciA9IFN0cmluZy5mcm9tQ2hhckNvZGUoYWxwaGEpOwogIGFyciA9IHJlZ2V4cF9XLmV4ZWMoc3RyKTsgCiAgaWYgKChhcnIgPT09IG51bGwpIHx8IChhcnJbMF0gIT09IHN0cikpIHsKICAgIHJlc3VsdCA9IGZhbHNlOwogIH0KfQoKaWYgKHJlc3VsdCAhPT0gdHJ1ZSkgewogICRFUlJPUignIzE6IFJVU1NJQU4gQ0FQSVRBTCBBTFBIQUJFVCcpOwp9CgovL0NIRUNLIzA0MzAtMDQ0Rgp2YXIgcmVzdWx0ID0gdHJ1ZTsgCmZvciAoYWxwaGEgPSAweDA0MzA7IGFscGhhIDw9IDB4MDQ0RjsgYWxwaGErKykgewogIHN0ciA9IFN0cmluZy5mcm9tQ2hhckNvZGUoYWxwaGEpOwogIGFyciA9IHJlZ2V4cF9XLmV4ZWMoc3RyKTsgCiAgaWYgKChhcnIgPT09IG51bGwpIHx8IChhcnJbMF0gIT09IHN0cikpIHsKICAgIHJlc3VsdCA9IGZhbHNlOwogIH0KfQoKaWYgKHJlc3VsdCAhPT0gdHJ1ZSkgewogICRFUlJPUignIzI6IHJ1c3NpYW4gc21hbGwgYWxwaGFiZXQnKTsKfQoK","commentary":"The production CharacterClassEscape :: W evaluates by returning the set of all characters not\nincluded in the set returned by CharacterClassEscape :: w","description":"RUSSIAN ALPHABET","path":"TestCases/ch15/15.10/15.10.2/15.10.2.12/S15.10.2.12_A4_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBDaGFyYWN0ZXJDbGFzc0VzY2FwZSA6OiBXIGV2YWx1YXRlcyBieSByZXR1cm5pbmcgdGhlIHNldCBvZiBhbGwgY2hhcmFjdGVycyBub3QKICogaW5jbHVkZWQgaW4gdGhlIHNldCByZXR1cm5lZCBieSBDaGFyYWN0ZXJDbGFzc0VzY2FwZSA6OiB3CiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuMi8xNS4xMC4yLjEyL1MxNS4xMC4yLjEyX0E0X1Q1LmpzCiAqIEBkZXNjcmlwdGlvbiBub24tdwogKi8KCi8vQ0hFQ0sjMQp2YXIgbm9uX3cgPSAiXGZcblxyXHRcdn5gIUAjJCVeJiooKS0rPXtbfV18XFw6Oyc8LD4uLz8gIiArICciJzsKdmFyIHJlZ2V4cF9XID0gL1xXL2c7CnZhciBrID0gMDsKd2hpbGUgKHJlZ2V4cF9XLmV4ZWMobm9uX3cpICE9PSBudWxsKSB7CiAgIGsrKzsKfQoKaWYgKG5vbl93Lmxlbmd0aCAhPT0gaykgewogICAkRVJST1IoJyMxOiBub24tdycpOwp9CgovL0NIRUNLIzIKdmFyIG5vbl9XID0gIl8wMTIzNDU2Nzg5X2FiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6QUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVoiOwppZiAoL1xXLy5leGVjKG5vbl9XKSAhPT0gbnVsbCkgewogICAkRVJST1IoJyMyOiBub24tVycpOwp9Cgo=","commentary":"The production CharacterClassEscape :: W evaluates by returning the set of all characters not\nincluded in the set returned by CharacterClassEscape :: w","description":"non-w","path":"TestCases/ch15/15.10/15.10.2/15.10.2.12/S15.10.2.12_A4_T5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBDaGFyYWN0ZXJDbGFzc0VzY2FwZSA6OiBkIGV2YWx1YXRlcyBieSByZXR1cm5pbmcgdGhlIHRlbi1lbGVtZW50IHNldCBvZiBjaGFyYWN0ZXJzIGNvbnRhaW5pbmcgdGhlIGNoYXJhY3RlcnMgMCB0aHJvdWdoIDkgaW5jbHVzaXZlCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuMi8xNS4xMC4yLjEyL1MxNS4xMC4yLjEyX0E1X1QxLmpzCiAqIEBkZXNjcmlwdGlvbiAwIC0gOQogKi8KCnZhciBpMCA9ICIiOwpmb3IgKHZhciBqID0gMDsgaiA8IDEwMjQ7IGorKykKICBpMCArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzAgPSAiXHUwMDAwXHUwMDAxXHUwMDAyXHUwMDAzXHUwMDA0XHUwMDA1XHUwMDA2XHUwMDA3XHUwMDA4XHUwMDA5XHUwMDBBXHUwMDBCXHUwMDBDXHUwMDBEXHUwMDBFXHUwMDBGXHUwMDEwXHUwMDExXHUwMDEyXHUwMDEzXHUwMDE0XHUwMDE1XHUwMDE2XHUwMDE3XHUwMDE4XHUwMDE5XHUwMDFBXHUwMDFCXHUwMDFDXHUwMDFEXHUwMDFFXHUwMDFGXHUwMDIwXHUwMDIxXHUwMDIyXHUwMDIzXHUwMDI0XHUwMDI1XHUwMDI2XHUwMDI3XHUwMDI4XHUwMDI5XHUwMDJBXHUwMDJCXHUwMDJDXHUwMDJEXHUwMDJFXHUwMDJGXHUwMDNBXHUwMDNCXHUwMDNDXHUwMDNEXHUwMDNFXHUwMDNGXHUwMDQwXHUwMDQxXHUwMDQyXHUwMDQzXHUwMDQ0XHUwMDQ1XHUwMDQ2XHUwMDQ3XHUwMDQ4XHUwMDQ5XHUwMDRBXHUwMDRCXHUwMDRDXHUwMDREXHUwMDRFXHUwMDRGXHUwMDUwXHUwMDUxXHUwMDUyXHUwMDUzXHUwMDU0XHUwMDU1XHUwMDU2XHUwMDU3XHUwMDU4XHUwMDU5XHUwMDVBXHUwMDVCXHUwMDVDXHUwMDVEXHUwMDVFXHUwMDVGXHUwMDYwXHUwMDYxXHUwMDYyXHUwMDYzXHUwMDY0XHUwMDY1XHUwMDY2XHUwMDY3XHUwMDY4XHUwMDY5XHUwMDZBXHUwMDZCXHUwMDZDXHUwMDZEXHUwMDZFXHUwMDZGXHUwMDcwXHUwMDcxXHUwMDcyXHUwMDczXHUwMDc0XHUwMDc1XHUwMDc2XHUwMDc3XHUwMDc4XHUwMDc5XHUwMDdBXHUwMDdCXHUwMDdDXHUwMDdEXHUwMDdFXHUwMDdGXHUwMDgwXHUwMDgxXHUwMDgyXHUwMDgzXHUwMDg0XHUwMDg1XHUwMDg2XHUwMDg3XHUwMDg4XHUwMDg5XHUwMDhBXHUwMDhCXHUwMDhDXHUwMDhEXHUwMDhFXHUwMDhGXHUwMDkwXHUwMDkxXHUwMDkyXHUwMDkzXHUwMDk0XHUwMDk1XHUwMDk2XHUwMDk3XHUwMDk4XHUwMDk5XHUwMDlBXHUwMDlCXHUwMDlDXHUwMDlEXHUwMDlFXHUwMDlGXHUwMEEwXHUwMEExXHUwMEEyXHUwMEEzXHUwMEE0XHUwMEE1XHUwMEE2XHUwMEE3XHUwMEE4XHUwMEE5XHUwMEFBXHUwMEFCXHUwMEFDXHUwMEFEXHUwMEFFXHUwMEFGXHUwMEIwXHUwMEIxXHUwMEIyXHUwMEIzXHUwMEI0XHUwMEI1XHUwMEI2XHUwMEI3XHUwMEI4XHUwMEI5XHUwMEJBXHUwMEJCXHUwMEJDXHUwMEJEXHUwMEJFXHUwMEJGXHUwMEMwXHUwMEMxXHUwMEMyXHUwMEMzXHUwMEM0XHUwMEM1XHUwMEM2XHUwMEM3XHUwMEM4XHUwMEM5XHUwMENBXHUwMENCXHUwMENDXHUwMENEXHUwMENFXHUwMENGXHUwMEQwXHUwMEQxXHUwMEQyXHUwMEQzXHUwMEQ0XHUwMEQ1XHUwMEQ2XHUwMEQ3XHUwMEQ4XHUwMEQ5XHUwMERBXHUwMERCXHUwMERDXHUwMEREXHUwMERFXHUwMERGXHUwMEUwXHUwMEUxXHUwMEUyXHUwMEUzXHUwMEU0XHUwMEU1XHUwMEU2XHUwMEU3XHUwMEU4XHUwMEU5XHUwMEVBXHUwMEVCXHUwMEVDXHUwMEVEXHUwMEVFXHUwMEVGXHUwMEYwXHUwMEYxXHUwMEYyXHUwMEYzXHUwMEY0XHUwMEY1XHUwMEY2XHUwMEY3XHUwMEY4XHUwMEY5XHUwMEZBXHUwMEZCXHUwMEZDXHUwMEZEXHUwMEZFXHUwMEZGXHUwMTAwXHUwMTAxXHUwMTAyXHUwMTAzXHUwMTA0XHUwMTA1XHUwMTA2XHUwMTA3XHUwMTA4XHUwMTA5XHUwMTBBXHUwMTBCXHUwMTBDXHUwMTBEXHUwMTBFXHUwMTBGXHUwMTEwXHUwMTExXHUwMTEyXHUwMTEzXHUwMTE0XHUwMTE1XHUwMTE2XHUwMTE3XHUwMTE4XHUwMTE5XHUwMTFBXHUwMTFCXHUwMTFDXHUwMTFEXHUwMTFFXHUwMTFGXHUwMTIwXHUwMTIxXHUwMTIyXHUwMTIzXHUwMTI0XHUwMTI1XHUwMTI2XHUwMTI3XHUwMTI4XHUwMTI5XHUwMTJBXHUwMTJCXHUwMTJDXHUwMTJEXHUwMTJFXHUwMTJGXHUwMTMwXHUwMTMxXHUwMTMyXHUwMTMzXHUwMTM0XHUwMTM1XHUwMTM2XHUwMTM3XHUwMTM4XHUwMTM5XHUwMTNBXHUwMTNCXHUwMTNDXHUwMTNEXHUwMTNFXHUwMTNGXHUwMTQwXHUwMTQxXHUwMTQyXHUwMTQzXHUwMTQ0XHUwMTQ1XHUwMTQ2XHUwMTQ3XHUwMTQ4XHUwMTQ5XHUwMTRBXHUwMTRCXHUwMTRDXHUwMTREXHUwMTRFXHUwMTRGXHUwMTUwXHUwMTUxXHUwMTUyXHUwMTUzXHUwMTU0XHUwMTU1XHUwMTU2XHUwMTU3XHUwMTU4XHUwMTU5XHUwMTVBXHUwMTVCXHUwMTVDXHUwMTVEXHUwMTVFXHUwMTVGXHUwMTYwXHUwMTYxXHUwMTYyXHUwMTYzXHUwMTY0XHUwMTY1XHUwMTY2XHUwMTY3XHUwMTY4XHUwMTY5XHUwMTZBXHUwMTZCXHUwMTZDXHUwMTZEXHUwMTZFXHUwMTZGXHUwMTcwXHUwMTcxXHUwMTcyXHUwMTczXHUwMTc0XHUwMTc1XHUwMTc2XHUwMTc3XHUwMTc4XHUwMTc5XHUwMTdBXHUwMTdCXHUwMTdDXHUwMTdEXHUwMTdFXHUwMTdGXHUwMTgwXHUwMTgxXHUwMTgyXHUwMTgzXHUwMTg0XHUwMTg1XHUwMTg2XHUwMTg3XHUwMTg4XHUwMTg5XHUwMThBXHUwMThCXHUwMThDXHUwMThEXHUwMThFXHUwMThGXHUwMTkwXHUwMTkxXHUwMTkyXHUwMTkzXHUwMTk0XHUwMTk1XHUwMTk2XHUwMTk3XHUwMTk4XHUwMTk5XHUwMTlBXHUwMTlCXHUwMTlDXHUwMTlEXHUwMTlFXHUwMTlGXHUwMUEwXHUwMUExXHUwMUEyXHUwMUEzXHUwMUE0XHUwMUE1XHUwMUE2XHUwMUE3XHUwMUE4XHUwMUE5XHUwMUFBXHUwMUFCXHUwMUFDXHUwMUFEXHUwMUFFXHUwMUFGXHUwMUIwXHUwMUIxXHUwMUIyXHUwMUIzXHUwMUI0XHUwMUI1XHUwMUI2XHUwMUI3XHUwMUI4XHUwMUI5XHUwMUJBXHUwMUJCXHUwMUJDXHUwMUJEXHUwMUJFXHUwMUJGXHUwMUMwXHUwMUMxXHUwMUMyXHUwMUMzXHUwMUM0XHUwMUM1XHUwMUM2XHUwMUM3XHUwMUM4XHUwMUM5XHUwMUNBXHUwMUNCXHUwMUNDXHUwMUNEXHUwMUNFXHUwMUNGXHUwMUQwXHUwMUQxXHUwMUQyXHUwMUQzXHUwMUQ0XHUwMUQ1XHUwMUQ2XHUwMUQ3XHUwMUQ4XHUwMUQ5XHUwMURBXHUwMURCXHUwMURDXHUwMUREXHUwMURFXHUwMURGXHUwMUUwXHUwMUUxXHUwMUUyXHUwMUUzXHUwMUU0XHUwMUU1XHUwMUU2XHUwMUU3XHUwMUU4XHUwMUU5XHUwMUVBXHUwMUVCXHUwMUVDXHUwMUVEXHUwMUVFXHUwMUVGXHUwMUYwXHUwMUYxXHUwMUYyXHUwMUYzXHUwMUY0XHUwMUY1XHUwMUY2XHUwMUY3XHUwMUY4XHUwMUY5XHUwMUZBXHUwMUZCXHUwMUZDXHUwMUZEXHUwMUZFXHUwMUZGXHUwMjAwXHUwMjAxXHUwMjAyXHUwMjAzXHUwMjA0XHUwMjA1XHUwMjA2XHUwMjA3XHUwMjA4XHUwMjA5XHUwMjBBXHUwMjBCXHUwMjBDXHUwMjBEXHUwMjBFXHUwMjBGXHUwMjEwXHUwMjExXHUwMjEyXHUwMjEzXHUwMjE0XHUwMjE1XHUwMjE2XHUwMjE3XHUwMjE4XHUwMjE5XHUwMjFBXHUwMjFCXHUwMjFDXHUwMjFEXHUwMjFFXHUwMjFGXHUwMjIwXHUwMjIxXHUwMjIyXHUwMjIzXHUwMjI0XHUwMjI1XHUwMjI2XHUwMjI3XHUwMjI4XHUwMjI5XHUwMjJBXHUwMjJCXHUwMjJDXHUwMjJEXHUwMjJFXHUwMjJGXHUwMjMwXHUwMjMxXHUwMjMyXHUwMjMzXHUwMjM0XHUwMjM1XHUwMjM2XHUwMjM3XHUwMjM4XHUwMjM5XHUwMjNBXHUwMjNCXHUwMjNDXHUwMjNEXHUwMjNFXHUwMjNGXHUwMjQwXHUwMjQxXHUwMjQyXHUwMjQzXHUwMjQ0XHUwMjQ1XHUwMjQ2XHUwMjQ3XHUwMjQ4XHUwMjQ5XHUwMjRBXHUwMjRCXHUwMjRDXHUwMjREXHUwMjRFXHUwMjRGXHUwMjUwXHUwMjUxXHUwMjUyXHUwMjUzXHUwMjU0XHUwMjU1XHUwMjU2XHUwMjU3XHUwMjU4XHUwMjU5XHUwMjVBXHUwMjVCXHUwMjVDXHUwMjVEXHUwMjVFXHUwMjVGXHUwMjYwXHUwMjYxXHUwMjYyXHUwMjYzXHUwMjY0XHUwMjY1XHUwMjY2XHUwMjY3XHUwMjY4XHUwMjY5XHUwMjZBXHUwMjZCXHUwMjZDXHUwMjZEXHUwMjZFXHUwMjZGXHUwMjcwXHUwMjcxXHUwMjcyXHUwMjczXHUwMjc0XHUwMjc1XHUwMjc2XHUwMjc3XHUwMjc4XHUwMjc5XHUwMjdBXHUwMjdCXHUwMjdDXHUwMjdEXHUwMjdFXHUwMjdGXHUwMjgwXHUwMjgxXHUwMjgyXHUwMjgzXHUwMjg0XHUwMjg1XHUwMjg2XHUwMjg3XHUwMjg4XHUwMjg5XHUwMjhBXHUwMjhCXHUwMjhDXHUwMjhEXHUwMjhFXHUwMjhGXHUwMjkwXHUwMjkxXHUwMjkyXHUwMjkzXHUwMjk0XHUwMjk1XHUwMjk2XHUwMjk3XHUwMjk4XHUwMjk5XHUwMjlBXHUwMjlCXHUwMjlDXHUwMjlEXHUwMjlFXHUwMjlGXHUwMkEwXHUwMkExXHUwMkEyXHUwMkEzXHUwMkE0XHUwMkE1XHUwMkE2XHUwMkE3XHUwMkE4XHUwMkE5XHUwMkFBXHUwMkFCXHUwMkFDXHUwMkFEXHUwMkFFXHUwMkFGXHUwMkIwXHUwMkIxXHUwMkIyXHUwMkIzXHUwMkI0XHUwMkI1XHUwMkI2XHUwMkI3XHUwMkI4XHUwMkI5XHUwMkJBXHUwMkJCXHUwMkJDXHUwMkJEXHUwMkJFXHUwMkJGXHUwMkMwXHUwMkMxXHUwMkMyXHUwMkMzXHUwMkM0XHUwMkM1XHUwMkM2XHUwMkM3XHUwMkM4XHUwMkM5XHUwMkNBXHUwMkNCXHUwMkNDXHUwMkNEXHUwMkNFXHUwMkNGXHUwMkQwXHUwMkQxXHUwMkQyXHUwMkQzXHUwMkQ0XHUwMkQ1XHUwMkQ2XHUwMkQ3XHUwMkQ4XHUwMkQ5XHUwMkRBXHUwMkRCXHUwMkRDXHUwMkREXHUwMkRFXHUwMkRGXHUwMkUwXHUwMkUxXHUwMkUyXHUwMkUzXHUwMkU0XHUwMkU1XHUwMkU2XHUwMkU3XHUwMkU4XHUwMkU5XHUwMkVBXHUwMkVCXHUwMkVDXHUwMkVEXHUwMkVFXHUwMkVGXHUwMkYwXHUwMkYxXHUwMkYyXHUwMkYzXHUwMkY0XHUwMkY1XHUwMkY2XHUwMkY3XHUwMkY4XHUwMkY5XHUwMkZBXHUwMkZCXHUwMkZDXHUwMkZEXHUwMkZFXHUwMkZGXHUwMzAwXHUwMzAxXHUwMzAyXHUwMzAzXHUwMzA0XHUwMzA1XHUwMzA2XHUwMzA3XHUwMzA4XHUwMzA5XHUwMzBBXHUwMzBCXHUwMzBDXHUwMzBEXHUwMzBFXHUwMzBGXHUwMzEwXHUwMzExXHUwMzEyXHUwMzEzXHUwMzE0XHUwMzE1XHUwMzE2XHUwMzE3XHUwMzE4XHUwMzE5XHUwMzFBXHUwMzFCXHUwMzFDXHUwMzFEXHUwMzFFXHUwMzFGXHUwMzIwXHUwMzIxXHUwMzIyXHUwMzIzXHUwMzI0XHUwMzI1XHUwMzI2XHUwMzI3XHUwMzI4XHUwMzI5XHUwMzJBXHUwMzJCXHUwMzJDXHUwMzJEXHUwMzJFXHUwMzJGXHUwMzMwXHUwMzMxXHUwMzMyXHUwMzMzXHUwMzM0XHUwMzM1XHUwMzM2XHUwMzM3XHUwMzM4XHUwMzM5XHUwMzNBXHUwMzNCXHUwMzNDXHUwMzNEXHUwMzNFXHUwMzNGXHUwMzQwXHUwMzQxXHUwMzQyXHUwMzQzXHUwMzQ0XHUwMzQ1XHUwMzQ2XHUwMzQ3XHUwMzQ4XHUwMzQ5XHUwMzRBXHUwMzRCXHUwMzRDXHUwMzREXHUwMzRFXHUwMzRGXHUwMzUwXHUwMzUxXHUwMzUyXHUwMzUzXHUwMzU0XHUwMzU1XHUwMzU2XHUwMzU3XHUwMzU4XHUwMzU5XHUwMzVBXHUwMzVCXHUwMzVDXHUwMzVEXHUwMzVFXHUwMzVGXHUwMzYwXHUwMzYxXHUwMzYyXHUwMzYzXHUwMzY0XHUwMzY1XHUwMzY2XHUwMzY3XHUwMzY4XHUwMzY5XHUwMzZBXHUwMzZCXHUwMzZDXHUwMzZEXHUwMzZFXHUwMzZGXHUwMzcwXHUwMzcxXHUwMzcyXHUwMzczXHUwMzc0XHUwMzc1XHUwMzc2XHUwMzc3XHUwMzc4XHUwMzc5XHUwMzdBXHUwMzdCXHUwMzdDXHUwMzdEXHUwMzdFXHUwMzdGXHUwMzgwXHUwMzgxXHUwMzgyXHUwMzgzXHUwMzg0XHUwMzg1XHUwMzg2XHUwMzg3XHUwMzg4XHUwMzg5XHUwMzhBXHUwMzhCXHUwMzhDXHUwMzhEXHUwMzhFXHUwMzhGXHUwMzkwXHUwMzkxXHUwMzkyXHUwMzkzXHUwMzk0XHUwMzk1XHUwMzk2XHUwMzk3XHUwMzk4XHUwMzk5XHUwMzlBXHUwMzlCXHUwMzlDXHUwMzlEXHUwMzlFXHUwMzlGXHUwM0EwXHUwM0ExXHUwM0EyXHUwM0EzXHUwM0E0XHUwM0E1XHUwM0E2XHUwM0E3XHUwM0E4XHUwM0E5XHUwM0FBXHUwM0FCXHUwM0FDXHUwM0FEXHUwM0FFXHUwM0FGXHUwM0IwXHUwM0IxXHUwM0IyXHUwM0IzXHUwM0I0XHUwM0I1XHUwM0I2XHUwM0I3XHUwM0I4XHUwM0I5XHUwM0JBXHUwM0JCXHUwM0JDXHUwM0JEXHUwM0JFXHUwM0JGXHUwM0MwXHUwM0MxXHUwM0MyXHUwM0MzXHUwM0M0XHUwM0M1XHUwM0M2XHUwM0M3XHUwM0M4XHUwM0M5XHUwM0NBXHUwM0NCXHUwM0NDXHUwM0NEXHUwM0NFXHUwM0NGXHUwM0QwXHUwM0QxXHUwM0QyXHUwM0QzXHUwM0Q0XHUwM0Q1XHUwM0Q2XHUwM0Q3XHUwM0Q4XHUwM0Q5XHUwM0RBXHUwM0RCXHUwM0RDXHUwM0REXHUwM0RFXHUwM0RGXHUwM0UwXHUwM0UxXHUwM0UyXHUwM0UzXHUwM0U0XHUwM0U1XHUwM0U2XHUwM0U3XHUwM0U4XHUwM0U5XHUwM0VBXHUwM0VCXHUwM0VDXHUwM0VEXHUwM0VFXHUwM0VGXHUwM0YwXHUwM0YxXHUwM0YyXHUwM0YzXHUwM0Y0XHUwM0Y1XHUwM0Y2XHUwM0Y3XHUwM0Y4XHUwM0Y5XHUwM0ZBXHUwM0ZCXHUwM0ZDXHUwM0ZEXHUwM0ZFXHUwM0ZGIjsKaWYgKGkwLnJlcGxhY2UoL1xkKy9nLCAiIikgIT09IG8wKSB7CiAgJEVSUk9SKCIjMDogRXJyb3IgbWF0Y2hpbmcgY2hhcmFjdGVyIGNsYXNzIFxkIGJldHdlZW4gY2hhcmFjdGVyIDAgYW5kIDNmZiIpOwp9Cgp2YXIgaTEgPSAiIjsKZm9yICh2YXIgaiA9IDEwMjQ7IGogPCAyMDQ4OyBqKyspCiAgaTEgKz0gU3RyaW5nLmZyb21DaGFyQ29kZShqKTsKdmFyIG8xID0gaTE7CmlmIChpMS5yZXBsYWNlKC9cZCsvZywgIiIpICE9PSBvMSkgewogICRFUlJPUigiIzE6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcZCBiZXR3ZWVuIGNoYXJhY3RlciA0MDAgYW5kIDdmZiIpOwp9Cgp2YXIgaTIgPSAiIjsKZm9yICh2YXIgaiA9IDIwNDg7IGogPCAzMDcyOyBqKyspCiAgaTIgKz0gU3RyaW5nLmZyb21DaGFyQ29kZShqKTsKdmFyIG8yID0gaTI7CmlmIChpMi5yZXBsYWNlKC9cZCsvZywgIiIpICE9PSBvMikgewogICRFUlJPUigiIzI6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcZCBiZXR3ZWVuIGNoYXJhY3RlciA4MDAgYW5kIGJmZiIpOwp9Cgp2YXIgaTMgPSAiIjsKZm9yICh2YXIgaiA9IDMwNzI7IGogPCA0MDk2OyBqKyspCiAgaTMgKz0gU3RyaW5nLmZyb21DaGFyQ29kZShqKTsKdmFyIG8zID0gaTM7CmlmIChpMy5yZXBsYWNlKC9cZCsvZywgIiIpICE9PSBvMykgewogICRFUlJPUigiIzM6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcZCBiZXR3ZWVuIGNoYXJhY3RlciBjMDAgYW5kIGZmZiIpOwp9Cgp2YXIgaTQgPSAiIjsKZm9yICh2YXIgaiA9IDQwOTY7IGogPCA1MTIwOyBqKyspCiAgaTQgKz0gU3RyaW5nLmZyb21DaGFyQ29kZShqKTsKdmFyIG80ID0gaTQ7CmlmIChpNC5yZXBsYWNlKC9cZCsvZywgIiIpICE9PSBvNCkgewogICRFUlJPUigiIzQ6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcZCBiZXR3ZWVuIGNoYXJhY3RlciAxMDAwIGFuZCAxM2ZmIik7Cn0KCnZhciBpNSA9ICIiOwpmb3IgKHZhciBqID0gNTEyMDsgaiA8IDYxNDQ7IGorKykKICBpNSArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzUgPSBpNTsKaWYgKGk1LnJlcGxhY2UoL1xkKy9nLCAiIikgIT09IG81KSB7CiAgJEVSUk9SKCIjNTogRXJyb3IgbWF0Y2hpbmcgY2hhcmFjdGVyIGNsYXNzIFxkIGJldHdlZW4gY2hhcmFjdGVyIDE0MDAgYW5kIDE3ZmYiKTsKfQoKdmFyIGk2ID0gIiI7CmZvciAodmFyIGogPSA2MTQ0OyBqIDwgNzE2ODsgaisrKQogIGk2ICs9IFN0cmluZy5mcm9tQ2hhckNvZGUoaik7CnZhciBvNiA9IGk2OwppZiAoaTYucmVwbGFjZSgvXGQrL2csICIiKSAhPT0gbzYpIHsKICAkRVJST1IoIiM2OiBFcnJvciBtYXRjaGluZyBjaGFyYWN0ZXIgY2xhc3MgXGQgYmV0d2VlbiBjaGFyYWN0ZXIgMTgwMCBhbmQgMWJmZiIpOwp9Cgp2YXIgaTcgPSAiIjsKZm9yICh2YXIgaiA9IDcxNjg7IGogPCA4MTkyOyBqKyspCiAgaTcgKz0gU3RyaW5nLmZyb21DaGFyQ29kZShqKTsKdmFyIG83ID0gaTc7CmlmIChpNy5yZXBsYWNlKC9cZCsvZywgIiIpICE9PSBvNykgewogICRFUlJPUigiIzc6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcZCBiZXR3ZWVuIGNoYXJhY3RlciAxYzAwIGFuZCAxZmZmIik7Cn0KCnZhciBpOCA9ICIiOwpmb3IgKHZhciBqID0gODE5MjsgaiA8IDkyMTY7IGorKykKICBpOCArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzggPSBpODsKaWYgKGk4LnJlcGxhY2UoL1xkKy9nLCAiIikgIT09IG84KSB7CiAgJEVSUk9SKCIjODogRXJyb3IgbWF0Y2hpbmcgY2hhcmFjdGVyIGNsYXNzIFxkIGJldHdlZW4gY2hhcmFjdGVyIDIwMDAgYW5kIDIzZmYiKTsKfQoKdmFyIGk5ID0gIiI7CmZvciAodmFyIGogPSA5MjE2OyBqIDwgMTAyNDA7IGorKykKICBpOSArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzkgPSBpOTsKaWYgKGk5LnJlcGxhY2UoL1xkKy9nLCAiIikgIT09IG85KSB7CiAgJEVSUk9SKCIjOTogRXJyb3IgbWF0Y2hpbmcgY2hhcmFjdGVyIGNsYXNzIFxkIGJldHdlZW4gY2hhcmFjdGVyIDI0MDAgYW5kIDI3ZmYiKTsKfQoKdmFyIGkxMCA9ICIiOwpmb3IgKHZhciBqID0gMTAyNDA7IGogPCAxMTI2NDsgaisrKQogIGkxMCArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzEwID0gaTEwOwppZiAoaTEwLnJlcGxhY2UoL1xkKy9nLCAiIikgIT09IG8xMCkgewogICRFUlJPUigiIzEwOiBFcnJvciBtYXRjaGluZyBjaGFyYWN0ZXIgY2xhc3MgXGQgYmV0d2VlbiBjaGFyYWN0ZXIgMjgwMCBhbmQgMmJmZiIpOwp9Cgp2YXIgaTExID0gIiI7CmZvciAodmFyIGogPSAxMTI2NDsgaiA8IDEyMjg4OyBqKyspCiAgaTExICs9IFN0cmluZy5mcm9tQ2hhckNvZGUoaik7CnZhciBvMTEgPSBpMTE7CmlmIChpMTEucmVwbGFjZSgvXGQrL2csICIiKSAhPT0gbzExKSB7CiAgJEVSUk9SKCIjMTE6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcZCBiZXR3ZWVuIGNoYXJhY3RlciAyYzAwIGFuZCAyZmZmIik7Cn0KCnZhciBpMTIgPSAiIjsKZm9yICh2YXIgaiA9IDEyMjg4OyBqIDwgMTMzMTI7IGorKykKICBpMTIgKz0gU3RyaW5nLmZyb21DaGFyQ29kZShqKTsKdmFyIG8xMiA9IGkxMjsKaWYgKGkxMi5yZXBsYWNlKC9cZCsvZywgIiIpICE9PSBvMTIpIHsKICAkRVJST1IoIiMxMjogRXJyb3IgbWF0Y2hpbmcgY2hhcmFjdGVyIGNsYXNzIFxkIGJldHdlZW4gY2hhcmFjdGVyIDMwMDAgYW5kIDMzZmYiKTsKfQoKdmFyIGkxMyA9ICIiOwpmb3IgKHZhciBqID0gMTMzMTI7IGogPCAxNDMzNjsgaisrKQogIGkxMyArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzEzID0gaTEzOwppZiAoaTEzLnJlcGxhY2UoL1xkKy9nLCAiIikgIT09IG8xMykgewogICRFUlJPUigiIzEzOiBFcnJvciBtYXRjaGluZyBjaGFyYWN0ZXIgY2xhc3MgXGQgYmV0d2VlbiBjaGFyYWN0ZXIgMzQwMCBhbmQgMzdmZiIpOwp9Cgp2YXIgaTE0ID0gIiI7CmZvciAodmFyIGogPSAxNDMzNjsgaiA8IDE1MzYwOyBqKyspCiAgaTE0ICs9IFN0cmluZy5mcm9tQ2hhckNvZGUoaik7CnZhciBvMTQgPSBpMTQ7CmlmIChpMTQucmVwbGFjZSgvXGQrL2csICIiKSAhPT0gbzE0KSB7CiAgJEVSUk9SKCIjMTQ6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcZCBiZXR3ZWVuIGNoYXJhY3RlciAzODAwIGFuZCAzYmZmIik7Cn0KCnZhciBpMTUgPSAiIjsKZm9yICh2YXIgaiA9IDE1MzYwOyBqIDwgMTYzODQ7IGorKykKICBpMTUgKz0gU3RyaW5nLmZyb21DaGFyQ29kZShqKTsKdmFyIG8xNSA9IGkxNTsKaWYgKGkxNS5yZXBsYWNlKC9cZCsvZywgIiIpICE9PSBvMTUpIHsKICAkRVJST1IoIiMxNTogRXJyb3IgbWF0Y2hpbmcgY2hhcmFjdGVyIGNsYXNzIFxkIGJldHdlZW4gY2hhcmFjdGVyIDNjMDAgYW5kIDNmZmYiKTsKfQoKdmFyIGkxNiA9ICIiOwpmb3IgKHZhciBqID0gMTYzODQ7IGogPCAxNzQwODsgaisrKQogIGkxNiArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzE2ID0gaTE2OwppZiAoaTE2LnJlcGxhY2UoL1xkKy9nLCAiIikgIT09IG8xNikgewogICRFUlJPUigiIzE2OiBFcnJvciBtYXRjaGluZyBjaGFyYWN0ZXIgY2xhc3MgXGQgYmV0d2VlbiBjaGFyYWN0ZXIgNDAwMCBhbmQgNDNmZiIpOwp9Cgp2YXIgaTE3ID0gIiI7CmZvciAodmFyIGogPSAxNzQwODsgaiA8IDE4NDMyOyBqKyspCiAgaTE3ICs9IFN0cmluZy5mcm9tQ2hhckNvZGUoaik7CnZhciBvMTcgPSBpMTc7CmlmIChpMTcucmVwbGFjZSgvXGQrL2csICIiKSAhPT0gbzE3KSB7CiAgJEVSUk9SKCIjMTc6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcZCBiZXR3ZWVuIGNoYXJhY3RlciA0NDAwIGFuZCA0N2ZmIik7Cn0KCnZhciBpMTggPSAiIjsKZm9yICh2YXIgaiA9IDE4NDMyOyBqIDwgMTk0NTY7IGorKykKICBpMTggKz0gU3RyaW5nLmZyb21DaGFyQ29kZShqKTsKdmFyIG8xOCA9IGkxODsKaWYgKGkxOC5yZXBsYWNlKC9cZCsvZywgIiIpICE9PSBvMTgpIHsKICAkRVJST1IoIiMxODogRXJyb3IgbWF0Y2hpbmcgY2hhcmFjdGVyIGNsYXNzIFxkIGJldHdlZW4gY2hhcmFjdGVyIDQ4MDAgYW5kIDRiZmYiKTsKfQoKdmFyIGkxOSA9ICIiOwpmb3IgKHZhciBqID0gMTk0NTY7IGogPCAyMDQ4MDsgaisrKQogIGkxOSArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzE5ID0gaTE5OwppZiAoaTE5LnJlcGxhY2UoL1xkKy9nLCAiIikgIT09IG8xOSkgewogICRFUlJPUigiIzE5OiBFcnJvciBtYXRjaGluZyBjaGFyYWN0ZXIgY2xhc3MgXGQgYmV0d2VlbiBjaGFyYWN0ZXIgNGMwMCBhbmQgNGZmZiIpOwp9Cgp2YXIgaTIwID0gIiI7CmZvciAodmFyIGogPSAyMDQ4MDsgaiA8IDIxNTA0OyBqKyspCiAgaTIwICs9IFN0cmluZy5mcm9tQ2hhckNvZGUoaik7CnZhciBvMjAgPSBpMjA7CmlmIChpMjAucmVwbGFjZSgvXGQrL2csICIiKSAhPT0gbzIwKSB7CiAgJEVSUk9SKCIjMjA6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcZCBiZXR3ZWVuIGNoYXJhY3RlciA1MDAwIGFuZCA1M2ZmIik7Cn0KCnZhciBpMjEgPSAiIjsKZm9yICh2YXIgaiA9IDIxNTA0OyBqIDwgMjI1Mjg7IGorKykKICBpMjEgKz0gU3RyaW5nLmZyb21DaGFyQ29kZShqKTsKdmFyIG8yMSA9IGkyMTsKaWYgKGkyMS5yZXBsYWNlKC9cZCsvZywgIiIpICE9PSBvMjEpIHsKICAkRVJST1IoIiMyMTogRXJyb3IgbWF0Y2hpbmcgY2hhcmFjdGVyIGNsYXNzIFxkIGJldHdlZW4gY2hhcmFjdGVyIDU0MDAgYW5kIDU3ZmYiKTsKfQoKdmFyIGkyMiA9ICIiOwpmb3IgKHZhciBqID0gMjI1Mjg7IGogPCAyMzU1MjsgaisrKQogIGkyMiArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzIyID0gaTIyOwppZiAoaTIyLnJlcGxhY2UoL1xkKy9nLCAiIikgIT09IG8yMikgewogICRFUlJPUigiIzIyOiBFcnJvciBtYXRjaGluZyBjaGFyYWN0ZXIgY2xhc3MgXGQgYmV0d2VlbiBjaGFyYWN0ZXIgNTgwMCBhbmQgNWJmZiIpOwp9Cgp2YXIgaTIzID0gIiI7CmZvciAodmFyIGogPSAyMzU1MjsgaiA8IDI0NTc2OyBqKyspCiAgaTIzICs9IFN0cmluZy5mcm9tQ2hhckNvZGUoaik7CnZhciBvMjMgPSBpMjM7CmlmIChpMjMucmVwbGFjZSgvXGQrL2csICIiKSAhPT0gbzIzKSB7CiAgJEVSUk9SKCIjMjM6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcZCBiZXR3ZWVuIGNoYXJhY3RlciA1YzAwIGFuZCA1ZmZmIik7Cn0KCnZhciBpMjQgPSAiIjsKZm9yICh2YXIgaiA9IDI0NTc2OyBqIDwgMjU2MDA7IGorKykKICBpMjQgKz0gU3RyaW5nLmZyb21DaGFyQ29kZShqKTsKdmFyIG8yNCA9IGkyNDsKaWYgKGkyNC5yZXBsYWNlKC9cZCsvZywgIiIpICE9PSBvMjQpIHsKICAkRVJST1IoIiMyNDogRXJyb3IgbWF0Y2hpbmcgY2hhcmFjdGVyIGNsYXNzIFxkIGJldHdlZW4gY2hhcmFjdGVyIDYwMDAgYW5kIDYzZmYiKTsKfQoKdmFyIGkyNSA9ICIiOwpmb3IgKHZhciBqID0gMjU2MDA7IGogPCAyNjYyNDsgaisrKQogIGkyNSArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzI1ID0gaTI1OwppZiAoaTI1LnJlcGxhY2UoL1xkKy9nLCAiIikgIT09IG8yNSkgewogICRFUlJPUigiIzI1OiBFcnJvciBtYXRjaGluZyBjaGFyYWN0ZXIgY2xhc3MgXGQgYmV0d2VlbiBjaGFyYWN0ZXIgNjQwMCBhbmQgNjdmZiIpOwp9Cgp2YXIgaTI2ID0gIiI7CmZvciAodmFyIGogPSAyNjYyNDsgaiA8IDI3NjQ4OyBqKyspCiAgaTI2ICs9IFN0cmluZy5mcm9tQ2hhckNvZGUoaik7CnZhciBvMjYgPSBpMjY7CmlmIChpMjYucmVwbGFjZSgvXGQrL2csICIiKSAhPT0gbzI2KSB7CiAgJEVSUk9SKCIjMjY6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcZCBiZXR3ZWVuIGNoYXJhY3RlciA2ODAwIGFuZCA2YmZmIik7Cn0KCnZhciBpMjcgPSAiIjsKZm9yICh2YXIgaiA9IDI3NjQ4OyBqIDwgMjg2NzI7IGorKykKICBpMjcgKz0gU3RyaW5nLmZyb21DaGFyQ29kZShqKTsKdmFyIG8yNyA9IGkyNzsKaWYgKGkyNy5yZXBsYWNlKC9cZCsvZywgIiIpICE9PSBvMjcpIHsKICAkRVJST1IoIiMyNzogRXJyb3IgbWF0Y2hpbmcgY2hhcmFjdGVyIGNsYXNzIFxkIGJldHdlZW4gY2hhcmFjdGVyIDZjMDAgYW5kIDZmZmYiKTsKfQoKdmFyIGkyOCA9ICIiOwpmb3IgKHZhciBqID0gMjg2NzI7IGogPCAyOTY5NjsgaisrKQogIGkyOCArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzI4ID0gaTI4OwppZiAoaTI4LnJlcGxhY2UoL1xkKy9nLCAiIikgIT09IG8yOCkgewogICRFUlJPUigiIzI4OiBFcnJvciBtYXRjaGluZyBjaGFyYWN0ZXIgY2xhc3MgXGQgYmV0d2VlbiBjaGFyYWN0ZXIgNzAwMCBhbmQgNzNmZiIpOwp9Cgp2YXIgaTI5ID0gIiI7CmZvciAodmFyIGogPSAyOTY5NjsgaiA8IDMwNzIwOyBqKyspCiAgaTI5ICs9IFN0cmluZy5mcm9tQ2hhckNvZGUoaik7CnZhciBvMjkgPSBpMjk7CmlmIChpMjkucmVwbGFjZSgvXGQrL2csICIiKSAhPT0gbzI5KSB7CiAgJEVSUk9SKCIjMjk6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcZCBiZXR3ZWVuIGNoYXJhY3RlciA3NDAwIGFuZCA3N2ZmIik7Cn0KCnZhciBpMzAgPSAiIjsKZm9yICh2YXIgaiA9IDMwNzIwOyBqIDwgMzE3NDQ7IGorKykKICBpMzAgKz0gU3RyaW5nLmZyb21DaGFyQ29kZShqKTsKdmFyIG8zMCA9IGkzMDsKaWYgKGkzMC5yZXBsYWNlKC9cZCsvZywgIiIpICE9PSBvMzApIHsKICAkRVJST1IoIiMzMDogRXJyb3IgbWF0Y2hpbmcgY2hhcmFjdGVyIGNsYXNzIFxkIGJldHdlZW4gY2hhcmFjdGVyIDc4MDAgYW5kIDdiZmYiKTsKfQoKdmFyIGkzMSA9ICIiOwpmb3IgKHZhciBqID0gMzE3NDQ7IGogPCAzMjc2ODsgaisrKQogIGkzMSArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzMxID0gaTMxOwppZiAoaTMxLnJlcGxhY2UoL1xkKy9nLCAiIikgIT09IG8zMSkgewogICRFUlJPUigiIzMxOiBFcnJvciBtYXRjaGluZyBjaGFyYWN0ZXIgY2xhc3MgXGQgYmV0d2VlbiBjaGFyYWN0ZXIgN2MwMCBhbmQgN2ZmZiIpOwp9Cgp2YXIgaTMyID0gIiI7CmZvciAodmFyIGogPSAzMjc2ODsgaiA8IDMzNzkyOyBqKyspCiAgaTMyICs9IFN0cmluZy5mcm9tQ2hhckNvZGUoaik7CnZhciBvMzIgPSBpMzI7CmlmIChpMzIucmVwbGFjZSgvXGQrL2csICIiKSAhPT0gbzMyKSB7CiAgJEVSUk9SKCIjMzI6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcZCBiZXR3ZWVuIGNoYXJhY3RlciA4MDAwIGFuZCA4M2ZmIik7Cn0KCnZhciBpMzMgPSAiIjsKZm9yICh2YXIgaiA9IDMzNzkyOyBqIDwgMzQ4MTY7IGorKykKICBpMzMgKz0gU3RyaW5nLmZyb21DaGFyQ29kZShqKTsKdmFyIG8zMyA9IGkzMzsKaWYgKGkzMy5yZXBsYWNlKC9cZCsvZywgIiIpICE9PSBvMzMpIHsKICAkRVJST1IoIiMzMzogRXJyb3IgbWF0Y2hpbmcgY2hhcmFjdGVyIGNsYXNzIFxkIGJldHdlZW4gY2hhcmFjdGVyIDg0MDAgYW5kIDg3ZmYiKTsKfQoKdmFyIGkzNCA9ICIiOwpmb3IgKHZhciBqID0gMzQ4MTY7IGogPCAzNTg0MDsgaisrKQogIGkzNCArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzM0ID0gaTM0OwppZiAoaTM0LnJlcGxhY2UoL1xkKy9nLCAiIikgIT09IG8zNCkgewogICRFUlJPUigiIzM0OiBFcnJvciBtYXRjaGluZyBjaGFyYWN0ZXIgY2xhc3MgXGQgYmV0d2VlbiBjaGFyYWN0ZXIgODgwMCBhbmQgOGJmZiIpOwp9Cgp2YXIgaTM1ID0gIiI7CmZvciAodmFyIGogPSAzNTg0MDsgaiA8IDM2ODY0OyBqKyspCiAgaTM1ICs9IFN0cmluZy5mcm9tQ2hhckNvZGUoaik7CnZhciBvMzUgPSBpMzU7CmlmIChpMzUucmVwbGFjZSgvXGQrL2csICIiKSAhPT0gbzM1KSB7CiAgJEVSUk9SKCIjMzU6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcZCBiZXR3ZWVuIGNoYXJhY3RlciA4YzAwIGFuZCA4ZmZmIik7Cn0KCnZhciBpMzYgPSAiIjsKZm9yICh2YXIgaiA9IDM2ODY0OyBqIDwgMzc4ODg7IGorKykKICBpMzYgKz0gU3RyaW5nLmZyb21DaGFyQ29kZShqKTsKdmFyIG8zNiA9IGkzNjsKaWYgKGkzNi5yZXBsYWNlKC9cZCsvZywgIiIpICE9PSBvMzYpIHsKICAkRVJST1IoIiMzNjogRXJyb3IgbWF0Y2hpbmcgY2hhcmFjdGVyIGNsYXNzIFxkIGJldHdlZW4gY2hhcmFjdGVyIDkwMDAgYW5kIDkzZmYiKTsKfQoKdmFyIGkzNyA9ICIiOwpmb3IgKHZhciBqID0gMzc4ODg7IGogPCAzODkxMjsgaisrKQogIGkzNyArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzM3ID0gaTM3OwppZiAoaTM3LnJlcGxhY2UoL1xkKy9nLCAiIikgIT09IG8zNykgewogICRFUlJPUigiIzM3OiBFcnJvciBtYXRjaGluZyBjaGFyYWN0ZXIgY2xhc3MgXGQgYmV0d2VlbiBjaGFyYWN0ZXIgOTQwMCBhbmQgOTdmZiIpOwp9Cgp2YXIgaTM4ID0gIiI7CmZvciAodmFyIGogPSAzODkxMjsgaiA8IDM5OTM2OyBqKyspCiAgaTM4ICs9IFN0cmluZy5mcm9tQ2hhckNvZGUoaik7CnZhciBvMzggPSBpMzg7CmlmIChpMzgucmVwbGFjZSgvXGQrL2csICIiKSAhPT0gbzM4KSB7CiAgJEVSUk9SKCIjMzg6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcZCBiZXR3ZWVuIGNoYXJhY3RlciA5ODAwIGFuZCA5YmZmIik7Cn0KCnZhciBpMzkgPSAiIjsKZm9yICh2YXIgaiA9IDM5OTM2OyBqIDwgNDA5NjA7IGorKykKICBpMzkgKz0gU3RyaW5nLmZyb21DaGFyQ29kZShqKTsKdmFyIG8zOSA9IGkzOTsKaWYgKGkzOS5yZXBsYWNlKC9cZCsvZywgIiIpICE9PSBvMzkpIHsKICAkRVJST1IoIiMzOTogRXJyb3IgbWF0Y2hpbmcgY2hhcmFjdGVyIGNsYXNzIFxkIGJldHdlZW4gY2hhcmFjdGVyIDljMDAgYW5kIDlmZmYiKTsKfQoKdmFyIGk0MCA9ICIiOwpmb3IgKHZhciBqID0gNDA5NjA7IGogPCA0MTk4NDsgaisrKQogIGk0MCArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzQwID0gaTQwOwppZiAoaTQwLnJlcGxhY2UoL1xkKy9nLCAiIikgIT09IG80MCkgewogICRFUlJPUigiIzQwOiBFcnJvciBtYXRjaGluZyBjaGFyYWN0ZXIgY2xhc3MgXGQgYmV0d2VlbiBjaGFyYWN0ZXIgYTAwMCBhbmQgYTNmZiIpOwp9Cgp2YXIgaTQxID0gIiI7CmZvciAodmFyIGogPSA0MTk4NDsgaiA8IDQzMDA4OyBqKyspCiAgaTQxICs9IFN0cmluZy5mcm9tQ2hhckNvZGUoaik7CnZhciBvNDEgPSBpNDE7CmlmIChpNDEucmVwbGFjZSgvXGQrL2csICIiKSAhPT0gbzQxKSB7CiAgJEVSUk9SKCIjNDE6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcZCBiZXR3ZWVuIGNoYXJhY3RlciBhNDAwIGFuZCBhN2ZmIik7Cn0KCnZhciBpNDIgPSAiIjsKZm9yICh2YXIgaiA9IDQzMDA4OyBqIDwgNDQwMzI7IGorKykKICBpNDIgKz0gU3RyaW5nLmZyb21DaGFyQ29kZShqKTsKdmFyIG80MiA9IGk0MjsKaWYgKGk0Mi5yZXBsYWNlKC9cZCsvZywgIiIpICE9PSBvNDIpIHsKICAkRVJST1IoIiM0MjogRXJyb3IgbWF0Y2hpbmcgY2hhcmFjdGVyIGNsYXNzIFxkIGJldHdlZW4gY2hhcmFjdGVyIGE4MDAgYW5kIGFiZmYiKTsKfQoKdmFyIGk0MyA9ICIiOwpmb3IgKHZhciBqID0gNDQwMzI7IGogPCA0NTA1NjsgaisrKQogIGk0MyArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzQzID0gaTQzOwppZiAoaTQzLnJlcGxhY2UoL1xkKy9nLCAiIikgIT09IG80MykgewogICRFUlJPUigiIzQzOiBFcnJvciBtYXRjaGluZyBjaGFyYWN0ZXIgY2xhc3MgXGQgYmV0d2VlbiBjaGFyYWN0ZXIgYWMwMCBhbmQgYWZmZiIpOwp9Cgp2YXIgaTQ0ID0gIiI7CmZvciAodmFyIGogPSA0NTA1NjsgaiA8IDQ2MDgwOyBqKyspCiAgaTQ0ICs9IFN0cmluZy5mcm9tQ2hhckNvZGUoaik7CnZhciBvNDQgPSBpNDQ7CmlmIChpNDQucmVwbGFjZSgvXGQrL2csICIiKSAhPT0gbzQ0KSB7CiAgJEVSUk9SKCIjNDQ6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcZCBiZXR3ZWVuIGNoYXJhY3RlciBiMDAwIGFuZCBiM2ZmIik7Cn0KCnZhciBpNDUgPSAiIjsKZm9yICh2YXIgaiA9IDQ2MDgwOyBqIDwgNDcxMDQ7IGorKykKICBpNDUgKz0gU3RyaW5nLmZyb21DaGFyQ29kZShqKTsKdmFyIG80NSA9IGk0NTsKaWYgKGk0NS5yZXBsYWNlKC9cZCsvZywgIiIpICE9PSBvNDUpIHsKICAkRVJST1IoIiM0NTogRXJyb3IgbWF0Y2hpbmcgY2hhcmFjdGVyIGNsYXNzIFxkIGJldHdlZW4gY2hhcmFjdGVyIGI0MDAgYW5kIGI3ZmYiKTsKfQoKdmFyIGk0NiA9ICIiOwpmb3IgKHZhciBqID0gNDcxMDQ7IGogPCA0ODEyODsgaisrKQogIGk0NiArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzQ2ID0gaTQ2OwppZiAoaTQ2LnJlcGxhY2UoL1xkKy9nLCAiIikgIT09IG80NikgewogICRFUlJPUigiIzQ2OiBFcnJvciBtYXRjaGluZyBjaGFyYWN0ZXIgY2xhc3MgXGQgYmV0d2VlbiBjaGFyYWN0ZXIgYjgwMCBhbmQgYmJmZiIpOwp9Cgp2YXIgaTQ3ID0gIiI7CmZvciAodmFyIGogPSA0ODEyODsgaiA8IDQ5MTUyOyBqKyspCiAgaTQ3ICs9IFN0cmluZy5mcm9tQ2hhckNvZGUoaik7CnZhciBvNDcgPSBpNDc7CmlmIChpNDcucmVwbGFjZSgvXGQrL2csICIiKSAhPT0gbzQ3KSB7CiAgJEVSUk9SKCIjNDc6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcZCBiZXR3ZWVuIGNoYXJhY3RlciBiYzAwIGFuZCBiZmZmIik7Cn0KCnZhciBpNDggPSAiIjsKZm9yICh2YXIgaiA9IDQ5MTUyOyBqIDwgNTAxNzY7IGorKykKICBpNDggKz0gU3RyaW5nLmZyb21DaGFyQ29kZShqKTsKdmFyIG80OCA9IGk0ODsKaWYgKGk0OC5yZXBsYWNlKC9cZCsvZywgIiIpICE9PSBvNDgpIHsKICAkRVJST1IoIiM0ODogRXJyb3IgbWF0Y2hpbmcgY2hhcmFjdGVyIGNsYXNzIFxkIGJldHdlZW4gY2hhcmFjdGVyIGMwMDAgYW5kIGMzZmYiKTsKfQoKdmFyIGk0OSA9ICIiOwpmb3IgKHZhciBqID0gNTAxNzY7IGogPCA1MTIwMDsgaisrKQogIGk0OSArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzQ5ID0gaTQ5OwppZiAoaTQ5LnJlcGxhY2UoL1xkKy9nLCAiIikgIT09IG80OSkgewogICRFUlJPUigiIzQ5OiBFcnJvciBtYXRjaGluZyBjaGFyYWN0ZXIgY2xhc3MgXGQgYmV0d2VlbiBjaGFyYWN0ZXIgYzQwMCBhbmQgYzdmZiIpOwp9Cgp2YXIgaTUwID0gIiI7CmZvciAodmFyIGogPSA1MTIwMDsgaiA8IDUyMjI0OyBqKyspCiAgaTUwICs9IFN0cmluZy5mcm9tQ2hhckNvZGUoaik7CnZhciBvNTAgPSBpNTA7CmlmIChpNTAucmVwbGFjZSgvXGQrL2csICIiKSAhPT0gbzUwKSB7CiAgJEVSUk9SKCIjNTA6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcZCBiZXR3ZWVuIGNoYXJhY3RlciBjODAwIGFuZCBjYmZmIik7Cn0KCnZhciBpNTEgPSAiIjsKZm9yICh2YXIgaiA9IDUyMjI0OyBqIDwgNTMyNDg7IGorKykKICBpNTEgKz0gU3RyaW5nLmZyb21DaGFyQ29kZShqKTsKdmFyIG81MSA9IGk1MTsKaWYgKGk1MS5yZXBsYWNlKC9cZCsvZywgIiIpICE9PSBvNTEpIHsKICAkRVJST1IoIiM1MTogRXJyb3IgbWF0Y2hpbmcgY2hhcmFjdGVyIGNsYXNzIFxkIGJldHdlZW4gY2hhcmFjdGVyIGNjMDAgYW5kIGNmZmYiKTsKfQoKdmFyIGk1MiA9ICIiOwpmb3IgKHZhciBqID0gNTMyNDg7IGogPCA1NDI3MjsgaisrKQogIGk1MiArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzUyID0gaTUyOwppZiAoaTUyLnJlcGxhY2UoL1xkKy9nLCAiIikgIT09IG81MikgewogICRFUlJPUigiIzUyOiBFcnJvciBtYXRjaGluZyBjaGFyYWN0ZXIgY2xhc3MgXGQgYmV0d2VlbiBjaGFyYWN0ZXIgZDAwMCBhbmQgZDNmZiIpOwp9Cgp2YXIgaTUzID0gIiI7CmZvciAodmFyIGogPSA1NDI3MjsgaiA8IDU1Mjk2OyBqKyspCiAgaTUzICs9IFN0cmluZy5mcm9tQ2hhckNvZGUoaik7CnZhciBvNTMgPSBpNTM7CmlmIChpNTMucmVwbGFjZSgvXGQrL2csICIiKSAhPT0gbzUzKSB7CiAgJEVSUk9SKCIjNTM6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcZCBiZXR3ZWVuIGNoYXJhY3RlciBkNDAwIGFuZCBkN2ZmIik7Cn0KCnZhciBpNTQgPSAiIjsKZm9yICh2YXIgaiA9IDU1Mjk2OyBqIDwgNTYzMjA7IGorKykKICBpNTQgKz0gU3RyaW5nLmZyb21DaGFyQ29kZShqKTsKdmFyIG81NCA9IGk1NDsKaWYgKGk1NC5yZXBsYWNlKC9cZCsvZywgIiIpICE9PSBvNTQpIHsKICAkRVJST1IoIiM1NDogRXJyb3IgbWF0Y2hpbmcgY2hhcmFjdGVyIGNsYXNzIFxkIGJldHdlZW4gY2hhcmFjdGVyIGQ4MDAgYW5kIGRiZmYiKTsKfQoKdmFyIGk1NSA9ICIiOwpmb3IgKHZhciBqID0gNTYzMjA7IGogPCA1NzM0NDsgaisrKQogIGk1NSArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzU1ID0gaTU1OwppZiAoaTU1LnJlcGxhY2UoL1xkKy9nLCAiIikgIT09IG81NSkgewogICRFUlJPUigiIzU1OiBFcnJvciBtYXRjaGluZyBjaGFyYWN0ZXIgY2xhc3MgXGQgYmV0d2VlbiBjaGFyYWN0ZXIgZGMwMCBhbmQgZGZmZiIpOwp9Cgp2YXIgaTU2ID0gIiI7CmZvciAodmFyIGogPSA1NzM0NDsgaiA8IDU4MzY4OyBqKyspCiAgaTU2ICs9IFN0cmluZy5mcm9tQ2hhckNvZGUoaik7CnZhciBvNTYgPSBpNTY7CmlmIChpNTYucmVwbGFjZSgvXGQrL2csICIiKSAhPT0gbzU2KSB7CiAgJEVSUk9SKCIjNTY6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcZCBiZXR3ZWVuIGNoYXJhY3RlciBlMDAwIGFuZCBlM2ZmIik7Cn0KCnZhciBpNTcgPSAiIjsKZm9yICh2YXIgaiA9IDU4MzY4OyBqIDwgNTkzOTI7IGorKykKICBpNTcgKz0gU3RyaW5nLmZyb21DaGFyQ29kZShqKTsKdmFyIG81NyA9IGk1NzsKaWYgKGk1Ny5yZXBsYWNlKC9cZCsvZywgIiIpICE9PSBvNTcpIHsKICAkRVJST1IoIiM1NzogRXJyb3IgbWF0Y2hpbmcgY2hhcmFjdGVyIGNsYXNzIFxkIGJldHdlZW4gY2hhcmFjdGVyIGU0MDAgYW5kIGU3ZmYiKTsKfQoKdmFyIGk1OCA9ICIiOwpmb3IgKHZhciBqID0gNTkzOTI7IGogPCA2MDQxNjsgaisrKQogIGk1OCArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzU4ID0gaTU4OwppZiAoaTU4LnJlcGxhY2UoL1xkKy9nLCAiIikgIT09IG81OCkgewogICRFUlJPUigiIzU4OiBFcnJvciBtYXRjaGluZyBjaGFyYWN0ZXIgY2xhc3MgXGQgYmV0d2VlbiBjaGFyYWN0ZXIgZTgwMCBhbmQgZWJmZiIpOwp9Cgp2YXIgaTU5ID0gIiI7CmZvciAodmFyIGogPSA2MDQxNjsgaiA8IDYxNDQwOyBqKyspCiAgaTU5ICs9IFN0cmluZy5mcm9tQ2hhckNvZGUoaik7CnZhciBvNTkgPSBpNTk7CmlmIChpNTkucmVwbGFjZSgvXGQrL2csICIiKSAhPT0gbzU5KSB7CiAgJEVSUk9SKCIjNTk6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcZCBiZXR3ZWVuIGNoYXJhY3RlciBlYzAwIGFuZCBlZmZmIik7Cn0KCnZhciBpNjAgPSAiIjsKZm9yICh2YXIgaiA9IDYxNDQwOyBqIDwgNjI0NjQ7IGorKykKICBpNjAgKz0gU3RyaW5nLmZyb21DaGFyQ29kZShqKTsKdmFyIG82MCA9IGk2MDsKaWYgKGk2MC5yZXBsYWNlKC9cZCsvZywgIiIpICE9PSBvNjApIHsKICAkRVJST1IoIiM2MDogRXJyb3IgbWF0Y2hpbmcgY2hhcmFjdGVyIGNsYXNzIFxkIGJldHdlZW4gY2hhcmFjdGVyIGYwMDAgYW5kIGYzZmYiKTsKfQoKdmFyIGk2MSA9ICIiOwpmb3IgKHZhciBqID0gNjI0NjQ7IGogPCA2MzQ4ODsgaisrKQogIGk2MSArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzYxID0gaTYxOwppZiAoaTYxLnJlcGxhY2UoL1xkKy9nLCAiIikgIT09IG82MSkgewogICRFUlJPUigiIzYxOiBFcnJvciBtYXRjaGluZyBjaGFyYWN0ZXIgY2xhc3MgXGQgYmV0d2VlbiBjaGFyYWN0ZXIgZjQwMCBhbmQgZjdmZiIpOwp9Cgp2YXIgaTYyID0gIiI7CmZvciAodmFyIGogPSA2MzQ4ODsgaiA8IDY0NTEyOyBqKyspCiAgaTYyICs9IFN0cmluZy5mcm9tQ2hhckNvZGUoaik7CnZhciBvNjIgPSBpNjI7CmlmIChpNjIucmVwbGFjZSgvXGQrL2csICIiKSAhPT0gbzYyKSB7CiAgJEVSUk9SKCIjNjI6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcZCBiZXR3ZWVuIGNoYXJhY3RlciBmODAwIGFuZCBmYmZmIik7Cn0KCnZhciBpNjMgPSAiIjsKZm9yICh2YXIgaiA9IDY0NTEyOyBqIDwgNjU1MzY7IGorKykKICBpNjMgKz0gU3RyaW5nLmZyb21DaGFyQ29kZShqKTsKdmFyIG82MyA9IGk2MzsKaWYgKGk2My5yZXBsYWNlKC9cZCsvZywgIiIpICE9PSBvNjMpIHsKICAkRVJST1IoIiM2MzogRXJyb3IgbWF0Y2hpbmcgY2hhcmFjdGVyIGNsYXNzIFxkIGJldHdlZW4gY2hhcmFjdGVyIGZjMDAgYW5kIGZmZmYiKTsKfQoK","commentary":"The production CharacterClassEscape :: d evaluates by returning the ten-element set of characters containing the characters 0 through 9 inclusive","description":"0 - 9","path":"TestCases/ch15/15.10/15.10.2/15.10.2.12/S15.10.2.12_A5_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBDaGFyYWN0ZXJDbGFzc0VzY2FwZSA6OiBkIGV2YWx1YXRlcyBieSByZXR1cm5pbmcgdGhlIHRlbi1lbGVtZW50IHNldCBvZiBjaGFyYWN0ZXJzIGNvbnRhaW5pbmcgdGhlIGNoYXJhY3RlcnMgMCB0aHJvdWdoIDkgaW5jbHVzaXZlCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuMi8xNS4xMC4yLjEyL1MxNS4xMC4yLjEyX0E1X1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBFTkdMSVNIIEFMUEhBQkVUCiAqLwoKdmFyIHJlZ2V4cF9kID0gL1xkLzsKCi8vQ0hFQ0sjMDA0MS0wMDVBCnZhciByZXN1bHQgPSB0cnVlOyAKZm9yIChhbHBoYSA9IDB4MDA0MTsgYWxwaGEgPD0gMHgwMDVBOyBhbHBoYSsrKSB7CiAgaWYgKHJlZ2V4cF9kLmV4ZWMoU3RyaW5nLmZyb21DaGFyQ29kZShhbHBoYSkpICE9PSBudWxsKSB7CiAgICByZXN1bHQgPSBmYWxzZTsKICB9Cn0KCmlmIChyZXN1bHQgIT09IHRydWUpIHsKICAkRVJST1IoJyMxOiBFTkdMSVNIIENBUElUQUwgQUxQSEFCRVQnKTsKfSAgCgovL0NIRUNLIzAwNjEtMDA3QQp2YXIgcmVzdWx0ID0gdHJ1ZTsgCmZvciAoYWxwaGEgPSAweDAwNjE7IGFscGhhIDw9IDB4MDA3QTsgYWxwaGErKykgewogIGlmIChyZWdleHBfZC5leGVjKFN0cmluZy5mcm9tQ2hhckNvZGUoYWxwaGEpKSAhPT0gbnVsbCkgewogICAgcmVzdWx0ID0gZmFsc2U7CiAgfQp9CgppZiAocmVzdWx0ICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMjogZW5nbGlzaCBzbWFsbCBhbHBoYWJldCcpOwp9IAoK","commentary":"The production CharacterClassEscape :: d evaluates by returning the ten-element set of characters containing the characters 0 through 9 inclusive","description":"ENGLISH ALPHABET","path":"TestCases/ch15/15.10/15.10.2/15.10.2.12/S15.10.2.12_A5_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBDaGFyYWN0ZXJDbGFzc0VzY2FwZSA6OiBkIGV2YWx1YXRlcyBieSByZXR1cm5pbmcgdGhlIHRlbi1lbGVtZW50IHNldCBvZiBjaGFyYWN0ZXJzIGNvbnRhaW5pbmcgdGhlIGNoYXJhY3RlcnMgMCB0aHJvdWdoIDkgaW5jbHVzaXZlCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuMi8xNS4xMC4yLjEyL1MxNS4xMC4yLjEyX0E1X1QzLmpzCiAqIEBkZXNjcmlwdGlvbiBSVVNTSUFOIEFMUEhBQkVUCiAqLwoKdmFyIHJlZ2V4cF9kID0gL1xkLzsKCi8vQ0hFQ0sjMDQxMC0wNDJGCnZhciByZXN1bHQgPSB0cnVlOyAgCmZvciAoYWxwaGEgPSAweDA0MTA7IGFscGhhIDw9IDB4MDQyRjsgYWxwaGErKykgewogIGlmIChyZWdleHBfZC5leGVjKFN0cmluZy5mcm9tQ2hhckNvZGUoYWxwaGEpKSAhPT0gbnVsbCkgewogICAgcmVzdWx0ID0gZmFsc2U7CiAgfQp9CgppZiAocmVzdWx0ICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMTogUlVTU0lBTiBDQVBJVEFMIEFMUEhBQkVUJyk7Cn0KCi8vQ0hFQ0sjMDQzMC0wNDRGCnZhciByZXN1bHQgPSB0cnVlOyAKZm9yIChhbHBoYSA9IDB4MDQzMDsgYWxwaGEgPD0gMHgwNDRGOyBhbHBoYSsrKSB7CiAgaWYgKHJlZ2V4cF9kLmV4ZWMoU3RyaW5nLmZyb21DaGFyQ29kZShhbHBoYSkpICE9PSBudWxsKSB7CiAgICByZXN1bHQgPSBmYWxzZTsKICB9Cn0KCmlmIChyZXN1bHQgIT09IHRydWUpIHsKICAkRVJST1IoJyMyOiBydXNzaWFuIHNtYWxsIGFscGhhYmV0Jyk7Cn0KCg==","commentary":"The production CharacterClassEscape :: d evaluates by returning the ten-element set of characters containing the characters 0 through 9 inclusive","description":"RUSSIAN ALPHABET","path":"TestCases/ch15/15.10/15.10.2/15.10.2.12/S15.10.2.12_A5_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBDaGFyYWN0ZXJDbGFzc0VzY2FwZSA6OiBkIGV2YWx1YXRlcyBieSByZXR1cm5pbmcgdGhlIHRlbi1lbGVtZW50IHNldCBvZiBjaGFyYWN0ZXJzIGNvbnRhaW5pbmcgdGhlIGNoYXJhY3RlcnMgMCB0aHJvdWdoIDkgaW5jbHVzaXZlCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuMi8xNS4xMC4yLjEyL1MxNS4xMC4yLjEyX0E1X1Q0LmpzCiAqIEBkZXNjcmlwdGlvbiBub24tZAogKi8KCi8vQ0hFQ0sjMQp2YXIgbm9uX2QgPSAiX2FiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6QUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVpcZlxuXHJcdFx2fmAhQCMkJV4mKigpLSs9e1t9XXxcXDo7JzwsPi4vPyAiICsgJyInOwppZiAoL1xkLy5leGVjKG5vbl9kKSAhPT0gbnVsbCkgewogICAkRVJST1IoJyMxOiBub24tZCcpOwp9CgovL0NIRUNLIzIKdmFyIG5vbl9EID0gJzAxMjM0NTY3ODknOwp2YXIgcmVnZXhwX2QgPSAvXGQvZzsKdmFyIGsgPSAwOwp3aGlsZSAocmVnZXhwX2QuZXhlYyhub25fRCkgIT09IG51bGwpIHsKICAgaysrOwp9CgppZiAobm9uX0QubGVuZ3RoICE9PSBrKSB7CiAgICRFUlJPUignIzI6IG5vbi1EJyk7Cn0gIAoK","commentary":"The production CharacterClassEscape :: d evaluates by returning the ten-element set of characters containing the characters 0 through 9 inclusive","description":"non-d","path":"TestCases/ch15/15.10/15.10.2/15.10.2.12/S15.10.2.12_A5_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBDaGFyYWN0ZXJDbGFzc0VzY2FwZSA6OiBEIGV2YWx1YXRlcyBieSByZXR1cm5pbmcgdGhlIHNldCBvZiBhbGwgY2hhcmFjdGVycyBub3QKICogaW5jbHVkZWQgaW4gdGhlIHNldCByZXR1cm5lZCBieSBDaGFyYWN0ZXJDbGFzc0VzY2FwZSA6OiBkCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuMi8xNS4xMC4yLjEyL1MxNS4xMC4yLjEyX0E2X1QxLmpzCiAqIEBkZXNjcmlwdGlvbiAwIC0gOQogKi8KCnZhciBpMCA9ICIiOwpmb3IgKHZhciBqID0gMDsgaiA8IDEwMjQ7IGorKykKICBpMCArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzAgPSAiXHUwMDMwXHUwMDMxXHUwMDMyXHUwMDMzXHUwMDM0XHUwMDM1XHUwMDM2XHUwMDM3XHUwMDM4XHUwMDM5IjsKaWYgKGkwLnJlcGxhY2UoL1xEKy9nLCAiIikgIT09IG8wKSB7CiAgJEVSUk9SKCIjMDogRXJyb3IgbWF0Y2hpbmcgY2hhcmFjdGVyIGNsYXNzIFxEIGJldHdlZW4gY2hhcmFjdGVyIDAgYW5kIDNmZiIpOwp9Cgp2YXIgaTEgPSAiIjsKZm9yICh2YXIgaiA9IDEwMjQ7IGogPCAyMDQ4OyBqKyspCiAgaTEgKz0gU3RyaW5nLmZyb21DaGFyQ29kZShqKTsKdmFyIG8xID0gIiI7CmlmIChpMS5yZXBsYWNlKC9cRCsvZywgIiIpICE9PSBvMSkgewogICRFUlJPUigiIzE6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcRCBiZXR3ZWVuIGNoYXJhY3RlciA0MDAgYW5kIDdmZiIpOwp9Cgp2YXIgaTIgPSAiIjsKZm9yICh2YXIgaiA9IDIwNDg7IGogPCAzMDcyOyBqKyspCiAgaTIgKz0gU3RyaW5nLmZyb21DaGFyQ29kZShqKTsKdmFyIG8yID0gIiI7CmlmIChpMi5yZXBsYWNlKC9cRCsvZywgIiIpICE9PSBvMikgewogICRFUlJPUigiIzI6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcRCBiZXR3ZWVuIGNoYXJhY3RlciA4MDAgYW5kIGJmZiIpOwp9Cgp2YXIgaTMgPSAiIjsKZm9yICh2YXIgaiA9IDMwNzI7IGogPCA0MDk2OyBqKyspCiAgaTMgKz0gU3RyaW5nLmZyb21DaGFyQ29kZShqKTsKdmFyIG8zID0gIiI7CmlmIChpMy5yZXBsYWNlKC9cRCsvZywgIiIpICE9PSBvMykgewogICRFUlJPUigiIzM6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcRCBiZXR3ZWVuIGNoYXJhY3RlciBjMDAgYW5kIGZmZiIpOwp9Cgp2YXIgaTQgPSAiIjsKZm9yICh2YXIgaiA9IDQwOTY7IGogPCA1MTIwOyBqKyspCiAgaTQgKz0gU3RyaW5nLmZyb21DaGFyQ29kZShqKTsKdmFyIG80ID0gIiI7CmlmIChpNC5yZXBsYWNlKC9cRCsvZywgIiIpICE9PSBvNCkgewogICRFUlJPUigiIzQ6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcRCBiZXR3ZWVuIGNoYXJhY3RlciAxMDAwIGFuZCAxM2ZmIik7Cn0KCnZhciBpNSA9ICIiOwpmb3IgKHZhciBqID0gNTEyMDsgaiA8IDYxNDQ7IGorKykKICBpNSArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzUgPSAiIjsKaWYgKGk1LnJlcGxhY2UoL1xEKy9nLCAiIikgIT09IG81KSB7CiAgJEVSUk9SKCIjNTogRXJyb3IgbWF0Y2hpbmcgY2hhcmFjdGVyIGNsYXNzIFxEIGJldHdlZW4gY2hhcmFjdGVyIDE0MDAgYW5kIDE3ZmYiKTsKfQoKdmFyIGk2ID0gIiI7CmZvciAodmFyIGogPSA2MTQ0OyBqIDwgNzE2ODsgaisrKQogIGk2ICs9IFN0cmluZy5mcm9tQ2hhckNvZGUoaik7CnZhciBvNiA9ICIiOwppZiAoaTYucmVwbGFjZSgvXEQrL2csICIiKSAhPT0gbzYpIHsKICAkRVJST1IoIiM2OiBFcnJvciBtYXRjaGluZyBjaGFyYWN0ZXIgY2xhc3MgXEQgYmV0d2VlbiBjaGFyYWN0ZXIgMTgwMCBhbmQgMWJmZiIpOwp9Cgp2YXIgaTcgPSAiIjsKZm9yICh2YXIgaiA9IDcxNjg7IGogPCA4MTkyOyBqKyspCiAgaTcgKz0gU3RyaW5nLmZyb21DaGFyQ29kZShqKTsKdmFyIG83ID0gIiI7CmlmIChpNy5yZXBsYWNlKC9cRCsvZywgIiIpICE9PSBvNykgewogICRFUlJPUigiIzc6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcRCBiZXR3ZWVuIGNoYXJhY3RlciAxYzAwIGFuZCAxZmZmIik7Cn0KCnZhciBpOCA9ICIiOwpmb3IgKHZhciBqID0gODE5MjsgaiA8IDkyMTY7IGorKykKICBpOCArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzggPSAiIjsKaWYgKGk4LnJlcGxhY2UoL1xEKy9nLCAiIikgIT09IG84KSB7CiAgJEVSUk9SKCIjODogRXJyb3IgbWF0Y2hpbmcgY2hhcmFjdGVyIGNsYXNzIFxEIGJldHdlZW4gY2hhcmFjdGVyIDIwMDAgYW5kIDIzZmYiKTsKfQoKdmFyIGk5ID0gIiI7CmZvciAodmFyIGogPSA5MjE2OyBqIDwgMTAyNDA7IGorKykKICBpOSArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzkgPSAiIjsKaWYgKGk5LnJlcGxhY2UoL1xEKy9nLCAiIikgIT09IG85KSB7CiAgJEVSUk9SKCIjOTogRXJyb3IgbWF0Y2hpbmcgY2hhcmFjdGVyIGNsYXNzIFxEIGJldHdlZW4gY2hhcmFjdGVyIDI0MDAgYW5kIDI3ZmYiKTsKfQoKdmFyIGkxMCA9ICIiOwpmb3IgKHZhciBqID0gMTAyNDA7IGogPCAxMTI2NDsgaisrKQogIGkxMCArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzEwID0gIiI7CmlmIChpMTAucmVwbGFjZSgvXEQrL2csICIiKSAhPT0gbzEwKSB7CiAgJEVSUk9SKCIjMTA6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcRCBiZXR3ZWVuIGNoYXJhY3RlciAyODAwIGFuZCAyYmZmIik7Cn0KCnZhciBpMTEgPSAiIjsKZm9yICh2YXIgaiA9IDExMjY0OyBqIDwgMTIyODg7IGorKykKICBpMTEgKz0gU3RyaW5nLmZyb21DaGFyQ29kZShqKTsKdmFyIG8xMSA9ICIiOwppZiAoaTExLnJlcGxhY2UoL1xEKy9nLCAiIikgIT09IG8xMSkgewogICRFUlJPUigiIzExOiBFcnJvciBtYXRjaGluZyBjaGFyYWN0ZXIgY2xhc3MgXEQgYmV0d2VlbiBjaGFyYWN0ZXIgMmMwMCBhbmQgMmZmZiIpOwp9Cgp2YXIgaTEyID0gIiI7CmZvciAodmFyIGogPSAxMjI4ODsgaiA8IDEzMzEyOyBqKyspCiAgaTEyICs9IFN0cmluZy5mcm9tQ2hhckNvZGUoaik7CnZhciBvMTIgPSAiIjsKaWYgKGkxMi5yZXBsYWNlKC9cRCsvZywgIiIpICE9PSBvMTIpIHsKICAkRVJST1IoIiMxMjogRXJyb3IgbWF0Y2hpbmcgY2hhcmFjdGVyIGNsYXNzIFxEIGJldHdlZW4gY2hhcmFjdGVyIDMwMDAgYW5kIDMzZmYiKTsKfQoKdmFyIGkxMyA9ICIiOwpmb3IgKHZhciBqID0gMTMzMTI7IGogPCAxNDMzNjsgaisrKQogIGkxMyArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzEzID0gIiI7CmlmIChpMTMucmVwbGFjZSgvXEQrL2csICIiKSAhPT0gbzEzKSB7CiAgJEVSUk9SKCIjMTM6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcRCBiZXR3ZWVuIGNoYXJhY3RlciAzNDAwIGFuZCAzN2ZmIik7Cn0KCnZhciBpMTQgPSAiIjsKZm9yICh2YXIgaiA9IDE0MzM2OyBqIDwgMTUzNjA7IGorKykKICBpMTQgKz0gU3RyaW5nLmZyb21DaGFyQ29kZShqKTsKdmFyIG8xNCA9ICIiOwppZiAoaTE0LnJlcGxhY2UoL1xEKy9nLCAiIikgIT09IG8xNCkgewogICRFUlJPUigiIzE0OiBFcnJvciBtYXRjaGluZyBjaGFyYWN0ZXIgY2xhc3MgXEQgYmV0d2VlbiBjaGFyYWN0ZXIgMzgwMCBhbmQgM2JmZiIpOwp9Cgp2YXIgaTE1ID0gIiI7CmZvciAodmFyIGogPSAxNTM2MDsgaiA8IDE2Mzg0OyBqKyspCiAgaTE1ICs9IFN0cmluZy5mcm9tQ2hhckNvZGUoaik7CnZhciBvMTUgPSAiIjsKaWYgKGkxNS5yZXBsYWNlKC9cRCsvZywgIiIpICE9PSBvMTUpIHsKICAkRVJST1IoIiMxNTogRXJyb3IgbWF0Y2hpbmcgY2hhcmFjdGVyIGNsYXNzIFxEIGJldHdlZW4gY2hhcmFjdGVyIDNjMDAgYW5kIDNmZmYiKTsKfQoKdmFyIGkxNiA9ICIiOwpmb3IgKHZhciBqID0gMTYzODQ7IGogPCAxNzQwODsgaisrKQogIGkxNiArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzE2ID0gIiI7CmlmIChpMTYucmVwbGFjZSgvXEQrL2csICIiKSAhPT0gbzE2KSB7CiAgJEVSUk9SKCIjMTY6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcRCBiZXR3ZWVuIGNoYXJhY3RlciA0MDAwIGFuZCA0M2ZmIik7Cn0KCnZhciBpMTcgPSAiIjsKZm9yICh2YXIgaiA9IDE3NDA4OyBqIDwgMTg0MzI7IGorKykKICBpMTcgKz0gU3RyaW5nLmZyb21DaGFyQ29kZShqKTsKdmFyIG8xNyA9ICIiOwppZiAoaTE3LnJlcGxhY2UoL1xEKy9nLCAiIikgIT09IG8xNykgewogICRFUlJPUigiIzE3OiBFcnJvciBtYXRjaGluZyBjaGFyYWN0ZXIgY2xhc3MgXEQgYmV0d2VlbiBjaGFyYWN0ZXIgNDQwMCBhbmQgNDdmZiIpOwp9Cgp2YXIgaTE4ID0gIiI7CmZvciAodmFyIGogPSAxODQzMjsgaiA8IDE5NDU2OyBqKyspCiAgaTE4ICs9IFN0cmluZy5mcm9tQ2hhckNvZGUoaik7CnZhciBvMTggPSAiIjsKaWYgKGkxOC5yZXBsYWNlKC9cRCsvZywgIiIpICE9PSBvMTgpIHsKICAkRVJST1IoIiMxODogRXJyb3IgbWF0Y2hpbmcgY2hhcmFjdGVyIGNsYXNzIFxEIGJldHdlZW4gY2hhcmFjdGVyIDQ4MDAgYW5kIDRiZmYiKTsKfQoKdmFyIGkxOSA9ICIiOwpmb3IgKHZhciBqID0gMTk0NTY7IGogPCAyMDQ4MDsgaisrKQogIGkxOSArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzE5ID0gIiI7CmlmIChpMTkucmVwbGFjZSgvXEQrL2csICIiKSAhPT0gbzE5KSB7CiAgJEVSUk9SKCIjMTk6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcRCBiZXR3ZWVuIGNoYXJhY3RlciA0YzAwIGFuZCA0ZmZmIik7Cn0KCnZhciBpMjAgPSAiIjsKZm9yICh2YXIgaiA9IDIwNDgwOyBqIDwgMjE1MDQ7IGorKykKICBpMjAgKz0gU3RyaW5nLmZyb21DaGFyQ29kZShqKTsKdmFyIG8yMCA9ICIiOwppZiAoaTIwLnJlcGxhY2UoL1xEKy9nLCAiIikgIT09IG8yMCkgewogICRFUlJPUigiIzIwOiBFcnJvciBtYXRjaGluZyBjaGFyYWN0ZXIgY2xhc3MgXEQgYmV0d2VlbiBjaGFyYWN0ZXIgNTAwMCBhbmQgNTNmZiIpOwp9Cgp2YXIgaTIxID0gIiI7CmZvciAodmFyIGogPSAyMTUwNDsgaiA8IDIyNTI4OyBqKyspCiAgaTIxICs9IFN0cmluZy5mcm9tQ2hhckNvZGUoaik7CnZhciBvMjEgPSAiIjsKaWYgKGkyMS5yZXBsYWNlKC9cRCsvZywgIiIpICE9PSBvMjEpIHsKICAkRVJST1IoIiMyMTogRXJyb3IgbWF0Y2hpbmcgY2hhcmFjdGVyIGNsYXNzIFxEIGJldHdlZW4gY2hhcmFjdGVyIDU0MDAgYW5kIDU3ZmYiKTsKfQoKdmFyIGkyMiA9ICIiOwpmb3IgKHZhciBqID0gMjI1Mjg7IGogPCAyMzU1MjsgaisrKQogIGkyMiArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzIyID0gIiI7CmlmIChpMjIucmVwbGFjZSgvXEQrL2csICIiKSAhPT0gbzIyKSB7CiAgJEVSUk9SKCIjMjI6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcRCBiZXR3ZWVuIGNoYXJhY3RlciA1ODAwIGFuZCA1YmZmIik7Cn0KCnZhciBpMjMgPSAiIjsKZm9yICh2YXIgaiA9IDIzNTUyOyBqIDwgMjQ1NzY7IGorKykKICBpMjMgKz0gU3RyaW5nLmZyb21DaGFyQ29kZShqKTsKdmFyIG8yMyA9ICIiOwppZiAoaTIzLnJlcGxhY2UoL1xEKy9nLCAiIikgIT09IG8yMykgewogICRFUlJPUigiIzIzOiBFcnJvciBtYXRjaGluZyBjaGFyYWN0ZXIgY2xhc3MgXEQgYmV0d2VlbiBjaGFyYWN0ZXIgNWMwMCBhbmQgNWZmZiIpOwp9Cgp2YXIgaTI0ID0gIiI7CmZvciAodmFyIGogPSAyNDU3NjsgaiA8IDI1NjAwOyBqKyspCiAgaTI0ICs9IFN0cmluZy5mcm9tQ2hhckNvZGUoaik7CnZhciBvMjQgPSAiIjsKaWYgKGkyNC5yZXBsYWNlKC9cRCsvZywgIiIpICE9PSBvMjQpIHsKICAkRVJST1IoIiMyNDogRXJyb3IgbWF0Y2hpbmcgY2hhcmFjdGVyIGNsYXNzIFxEIGJldHdlZW4gY2hhcmFjdGVyIDYwMDAgYW5kIDYzZmYiKTsKfQoKdmFyIGkyNSA9ICIiOwpmb3IgKHZhciBqID0gMjU2MDA7IGogPCAyNjYyNDsgaisrKQogIGkyNSArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzI1ID0gIiI7CmlmIChpMjUucmVwbGFjZSgvXEQrL2csICIiKSAhPT0gbzI1KSB7CiAgJEVSUk9SKCIjMjU6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcRCBiZXR3ZWVuIGNoYXJhY3RlciA2NDAwIGFuZCA2N2ZmIik7Cn0KCnZhciBpMjYgPSAiIjsKZm9yICh2YXIgaiA9IDI2NjI0OyBqIDwgMjc2NDg7IGorKykKICBpMjYgKz0gU3RyaW5nLmZyb21DaGFyQ29kZShqKTsKdmFyIG8yNiA9ICIiOwppZiAoaTI2LnJlcGxhY2UoL1xEKy9nLCAiIikgIT09IG8yNikgewogICRFUlJPUigiIzI2OiBFcnJvciBtYXRjaGluZyBjaGFyYWN0ZXIgY2xhc3MgXEQgYmV0d2VlbiBjaGFyYWN0ZXIgNjgwMCBhbmQgNmJmZiIpOwp9Cgp2YXIgaTI3ID0gIiI7CmZvciAodmFyIGogPSAyNzY0ODsgaiA8IDI4NjcyOyBqKyspCiAgaTI3ICs9IFN0cmluZy5mcm9tQ2hhckNvZGUoaik7CnZhciBvMjcgPSAiIjsKaWYgKGkyNy5yZXBsYWNlKC9cRCsvZywgIiIpICE9PSBvMjcpIHsKICAkRVJST1IoIiMyNzogRXJyb3IgbWF0Y2hpbmcgY2hhcmFjdGVyIGNsYXNzIFxEIGJldHdlZW4gY2hhcmFjdGVyIDZjMDAgYW5kIDZmZmYiKTsKfQoKdmFyIGkyOCA9ICIiOwpmb3IgKHZhciBqID0gMjg2NzI7IGogPCAyOTY5NjsgaisrKQogIGkyOCArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzI4ID0gIiI7CmlmIChpMjgucmVwbGFjZSgvXEQrL2csICIiKSAhPT0gbzI4KSB7CiAgJEVSUk9SKCIjMjg6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcRCBiZXR3ZWVuIGNoYXJhY3RlciA3MDAwIGFuZCA3M2ZmIik7Cn0KCnZhciBpMjkgPSAiIjsKZm9yICh2YXIgaiA9IDI5Njk2OyBqIDwgMzA3MjA7IGorKykKICBpMjkgKz0gU3RyaW5nLmZyb21DaGFyQ29kZShqKTsKdmFyIG8yOSA9ICIiOwppZiAoaTI5LnJlcGxhY2UoL1xEKy9nLCAiIikgIT09IG8yOSkgewogICRFUlJPUigiIzI5OiBFcnJvciBtYXRjaGluZyBjaGFyYWN0ZXIgY2xhc3MgXEQgYmV0d2VlbiBjaGFyYWN0ZXIgNzQwMCBhbmQgNzdmZiIpOwp9Cgp2YXIgaTMwID0gIiI7CmZvciAodmFyIGogPSAzMDcyMDsgaiA8IDMxNzQ0OyBqKyspCiAgaTMwICs9IFN0cmluZy5mcm9tQ2hhckNvZGUoaik7CnZhciBvMzAgPSAiIjsKaWYgKGkzMC5yZXBsYWNlKC9cRCsvZywgIiIpICE9PSBvMzApIHsKICAkRVJST1IoIiMzMDogRXJyb3IgbWF0Y2hpbmcgY2hhcmFjdGVyIGNsYXNzIFxEIGJldHdlZW4gY2hhcmFjdGVyIDc4MDAgYW5kIDdiZmYiKTsKfQoKdmFyIGkzMSA9ICIiOwpmb3IgKHZhciBqID0gMzE3NDQ7IGogPCAzMjc2ODsgaisrKQogIGkzMSArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzMxID0gIiI7CmlmIChpMzEucmVwbGFjZSgvXEQrL2csICIiKSAhPT0gbzMxKSB7CiAgJEVSUk9SKCIjMzE6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcRCBiZXR3ZWVuIGNoYXJhY3RlciA3YzAwIGFuZCA3ZmZmIik7Cn0KCnZhciBpMzIgPSAiIjsKZm9yICh2YXIgaiA9IDMyNzY4OyBqIDwgMzM3OTI7IGorKykKICBpMzIgKz0gU3RyaW5nLmZyb21DaGFyQ29kZShqKTsKdmFyIG8zMiA9ICIiOwppZiAoaTMyLnJlcGxhY2UoL1xEKy9nLCAiIikgIT09IG8zMikgewogICRFUlJPUigiIzMyOiBFcnJvciBtYXRjaGluZyBjaGFyYWN0ZXIgY2xhc3MgXEQgYmV0d2VlbiBjaGFyYWN0ZXIgODAwMCBhbmQgODNmZiIpOwp9Cgp2YXIgaTMzID0gIiI7CmZvciAodmFyIGogPSAzMzc5MjsgaiA8IDM0ODE2OyBqKyspCiAgaTMzICs9IFN0cmluZy5mcm9tQ2hhckNvZGUoaik7CnZhciBvMzMgPSAiIjsKaWYgKGkzMy5yZXBsYWNlKC9cRCsvZywgIiIpICE9PSBvMzMpIHsKICAkRVJST1IoIiMzMzogRXJyb3IgbWF0Y2hpbmcgY2hhcmFjdGVyIGNsYXNzIFxEIGJldHdlZW4gY2hhcmFjdGVyIDg0MDAgYW5kIDg3ZmYiKTsKfQoKdmFyIGkzNCA9ICIiOwpmb3IgKHZhciBqID0gMzQ4MTY7IGogPCAzNTg0MDsgaisrKQogIGkzNCArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzM0ID0gIiI7CmlmIChpMzQucmVwbGFjZSgvXEQrL2csICIiKSAhPT0gbzM0KSB7CiAgJEVSUk9SKCIjMzQ6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcRCBiZXR3ZWVuIGNoYXJhY3RlciA4ODAwIGFuZCA4YmZmIik7Cn0KCnZhciBpMzUgPSAiIjsKZm9yICh2YXIgaiA9IDM1ODQwOyBqIDwgMzY4NjQ7IGorKykKICBpMzUgKz0gU3RyaW5nLmZyb21DaGFyQ29kZShqKTsKdmFyIG8zNSA9ICIiOwppZiAoaTM1LnJlcGxhY2UoL1xEKy9nLCAiIikgIT09IG8zNSkgewogICRFUlJPUigiIzM1OiBFcnJvciBtYXRjaGluZyBjaGFyYWN0ZXIgY2xhc3MgXEQgYmV0d2VlbiBjaGFyYWN0ZXIgOGMwMCBhbmQgOGZmZiIpOwp9Cgp2YXIgaTM2ID0gIiI7CmZvciAodmFyIGogPSAzNjg2NDsgaiA8IDM3ODg4OyBqKyspCiAgaTM2ICs9IFN0cmluZy5mcm9tQ2hhckNvZGUoaik7CnZhciBvMzYgPSAiIjsKaWYgKGkzNi5yZXBsYWNlKC9cRCsvZywgIiIpICE9PSBvMzYpIHsKICAkRVJST1IoIiMzNjogRXJyb3IgbWF0Y2hpbmcgY2hhcmFjdGVyIGNsYXNzIFxEIGJldHdlZW4gY2hhcmFjdGVyIDkwMDAgYW5kIDkzZmYiKTsKfQoKdmFyIGkzNyA9ICIiOwpmb3IgKHZhciBqID0gMzc4ODg7IGogPCAzODkxMjsgaisrKQogIGkzNyArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzM3ID0gIiI7CmlmIChpMzcucmVwbGFjZSgvXEQrL2csICIiKSAhPT0gbzM3KSB7CiAgJEVSUk9SKCIjMzc6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcRCBiZXR3ZWVuIGNoYXJhY3RlciA5NDAwIGFuZCA5N2ZmIik7Cn0KCnZhciBpMzggPSAiIjsKZm9yICh2YXIgaiA9IDM4OTEyOyBqIDwgMzk5MzY7IGorKykKICBpMzggKz0gU3RyaW5nLmZyb21DaGFyQ29kZShqKTsKdmFyIG8zOCA9ICIiOwppZiAoaTM4LnJlcGxhY2UoL1xEKy9nLCAiIikgIT09IG8zOCkgewogICRFUlJPUigiIzM4OiBFcnJvciBtYXRjaGluZyBjaGFyYWN0ZXIgY2xhc3MgXEQgYmV0d2VlbiBjaGFyYWN0ZXIgOTgwMCBhbmQgOWJmZiIpOwp9Cgp2YXIgaTM5ID0gIiI7CmZvciAodmFyIGogPSAzOTkzNjsgaiA8IDQwOTYwOyBqKyspCiAgaTM5ICs9IFN0cmluZy5mcm9tQ2hhckNvZGUoaik7CnZhciBvMzkgPSAiIjsKaWYgKGkzOS5yZXBsYWNlKC9cRCsvZywgIiIpICE9PSBvMzkpIHsKICAkRVJST1IoIiMzOTogRXJyb3IgbWF0Y2hpbmcgY2hhcmFjdGVyIGNsYXNzIFxEIGJldHdlZW4gY2hhcmFjdGVyIDljMDAgYW5kIDlmZmYiKTsKfQoKdmFyIGk0MCA9ICIiOwpmb3IgKHZhciBqID0gNDA5NjA7IGogPCA0MTk4NDsgaisrKQogIGk0MCArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzQwID0gIiI7CmlmIChpNDAucmVwbGFjZSgvXEQrL2csICIiKSAhPT0gbzQwKSB7CiAgJEVSUk9SKCIjNDA6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcRCBiZXR3ZWVuIGNoYXJhY3RlciBhMDAwIGFuZCBhM2ZmIik7Cn0KCnZhciBpNDEgPSAiIjsKZm9yICh2YXIgaiA9IDQxOTg0OyBqIDwgNDMwMDg7IGorKykKICBpNDEgKz0gU3RyaW5nLmZyb21DaGFyQ29kZShqKTsKdmFyIG80MSA9ICIiOwppZiAoaTQxLnJlcGxhY2UoL1xEKy9nLCAiIikgIT09IG80MSkgewogICRFUlJPUigiIzQxOiBFcnJvciBtYXRjaGluZyBjaGFyYWN0ZXIgY2xhc3MgXEQgYmV0d2VlbiBjaGFyYWN0ZXIgYTQwMCBhbmQgYTdmZiIpOwp9Cgp2YXIgaTQyID0gIiI7CmZvciAodmFyIGogPSA0MzAwODsgaiA8IDQ0MDMyOyBqKyspCiAgaTQyICs9IFN0cmluZy5mcm9tQ2hhckNvZGUoaik7CnZhciBvNDIgPSAiIjsKaWYgKGk0Mi5yZXBsYWNlKC9cRCsvZywgIiIpICE9PSBvNDIpIHsKICAkRVJST1IoIiM0MjogRXJyb3IgbWF0Y2hpbmcgY2hhcmFjdGVyIGNsYXNzIFxEIGJldHdlZW4gY2hhcmFjdGVyIGE4MDAgYW5kIGFiZmYiKTsKfQoKdmFyIGk0MyA9ICIiOwpmb3IgKHZhciBqID0gNDQwMzI7IGogPCA0NTA1NjsgaisrKQogIGk0MyArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzQzID0gIiI7CmlmIChpNDMucmVwbGFjZSgvXEQrL2csICIiKSAhPT0gbzQzKSB7CiAgJEVSUk9SKCIjNDM6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcRCBiZXR3ZWVuIGNoYXJhY3RlciBhYzAwIGFuZCBhZmZmIik7Cn0KCnZhciBpNDQgPSAiIjsKZm9yICh2YXIgaiA9IDQ1MDU2OyBqIDwgNDYwODA7IGorKykKICBpNDQgKz0gU3RyaW5nLmZyb21DaGFyQ29kZShqKTsKdmFyIG80NCA9ICIiOwppZiAoaTQ0LnJlcGxhY2UoL1xEKy9nLCAiIikgIT09IG80NCkgewogICRFUlJPUigiIzQ0OiBFcnJvciBtYXRjaGluZyBjaGFyYWN0ZXIgY2xhc3MgXEQgYmV0d2VlbiBjaGFyYWN0ZXIgYjAwMCBhbmQgYjNmZiIpOwp9Cgp2YXIgaTQ1ID0gIiI7CmZvciAodmFyIGogPSA0NjA4MDsgaiA8IDQ3MTA0OyBqKyspCiAgaTQ1ICs9IFN0cmluZy5mcm9tQ2hhckNvZGUoaik7CnZhciBvNDUgPSAiIjsKaWYgKGk0NS5yZXBsYWNlKC9cRCsvZywgIiIpICE9PSBvNDUpIHsKICAkRVJST1IoIiM0NTogRXJyb3IgbWF0Y2hpbmcgY2hhcmFjdGVyIGNsYXNzIFxEIGJldHdlZW4gY2hhcmFjdGVyIGI0MDAgYW5kIGI3ZmYiKTsKfQoKdmFyIGk0NiA9ICIiOwpmb3IgKHZhciBqID0gNDcxMDQ7IGogPCA0ODEyODsgaisrKQogIGk0NiArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzQ2ID0gIiI7CmlmIChpNDYucmVwbGFjZSgvXEQrL2csICIiKSAhPT0gbzQ2KSB7CiAgJEVSUk9SKCIjNDY6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcRCBiZXR3ZWVuIGNoYXJhY3RlciBiODAwIGFuZCBiYmZmIik7Cn0KCnZhciBpNDcgPSAiIjsKZm9yICh2YXIgaiA9IDQ4MTI4OyBqIDwgNDkxNTI7IGorKykKICBpNDcgKz0gU3RyaW5nLmZyb21DaGFyQ29kZShqKTsKdmFyIG80NyA9ICIiOwppZiAoaTQ3LnJlcGxhY2UoL1xEKy9nLCAiIikgIT09IG80NykgewogICRFUlJPUigiIzQ3OiBFcnJvciBtYXRjaGluZyBjaGFyYWN0ZXIgY2xhc3MgXEQgYmV0d2VlbiBjaGFyYWN0ZXIgYmMwMCBhbmQgYmZmZiIpOwp9Cgp2YXIgaTQ4ID0gIiI7CmZvciAodmFyIGogPSA0OTE1MjsgaiA8IDUwMTc2OyBqKyspCiAgaTQ4ICs9IFN0cmluZy5mcm9tQ2hhckNvZGUoaik7CnZhciBvNDggPSAiIjsKaWYgKGk0OC5yZXBsYWNlKC9cRCsvZywgIiIpICE9PSBvNDgpIHsKICAkRVJST1IoIiM0ODogRXJyb3IgbWF0Y2hpbmcgY2hhcmFjdGVyIGNsYXNzIFxEIGJldHdlZW4gY2hhcmFjdGVyIGMwMDAgYW5kIGMzZmYiKTsKfQoKdmFyIGk0OSA9ICIiOwpmb3IgKHZhciBqID0gNTAxNzY7IGogPCA1MTIwMDsgaisrKQogIGk0OSArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzQ5ID0gIiI7CmlmIChpNDkucmVwbGFjZSgvXEQrL2csICIiKSAhPT0gbzQ5KSB7CiAgJEVSUk9SKCIjNDk6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcRCBiZXR3ZWVuIGNoYXJhY3RlciBjNDAwIGFuZCBjN2ZmIik7Cn0KCnZhciBpNTAgPSAiIjsKZm9yICh2YXIgaiA9IDUxMjAwOyBqIDwgNTIyMjQ7IGorKykKICBpNTAgKz0gU3RyaW5nLmZyb21DaGFyQ29kZShqKTsKdmFyIG81MCA9ICIiOwppZiAoaTUwLnJlcGxhY2UoL1xEKy9nLCAiIikgIT09IG81MCkgewogICRFUlJPUigiIzUwOiBFcnJvciBtYXRjaGluZyBjaGFyYWN0ZXIgY2xhc3MgXEQgYmV0d2VlbiBjaGFyYWN0ZXIgYzgwMCBhbmQgY2JmZiIpOwp9Cgp2YXIgaTUxID0gIiI7CmZvciAodmFyIGogPSA1MjIyNDsgaiA8IDUzMjQ4OyBqKyspCiAgaTUxICs9IFN0cmluZy5mcm9tQ2hhckNvZGUoaik7CnZhciBvNTEgPSAiIjsKaWYgKGk1MS5yZXBsYWNlKC9cRCsvZywgIiIpICE9PSBvNTEpIHsKICAkRVJST1IoIiM1MTogRXJyb3IgbWF0Y2hpbmcgY2hhcmFjdGVyIGNsYXNzIFxEIGJldHdlZW4gY2hhcmFjdGVyIGNjMDAgYW5kIGNmZmYiKTsKfQoKdmFyIGk1MiA9ICIiOwpmb3IgKHZhciBqID0gNTMyNDg7IGogPCA1NDI3MjsgaisrKQogIGk1MiArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzUyID0gIiI7CmlmIChpNTIucmVwbGFjZSgvXEQrL2csICIiKSAhPT0gbzUyKSB7CiAgJEVSUk9SKCIjNTI6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcRCBiZXR3ZWVuIGNoYXJhY3RlciBkMDAwIGFuZCBkM2ZmIik7Cn0KCnZhciBpNTMgPSAiIjsKZm9yICh2YXIgaiA9IDU0MjcyOyBqIDwgNTUyOTY7IGorKykKICBpNTMgKz0gU3RyaW5nLmZyb21DaGFyQ29kZShqKTsKdmFyIG81MyA9ICIiOwppZiAoaTUzLnJlcGxhY2UoL1xEKy9nLCAiIikgIT09IG81MykgewogICRFUlJPUigiIzUzOiBFcnJvciBtYXRjaGluZyBjaGFyYWN0ZXIgY2xhc3MgXEQgYmV0d2VlbiBjaGFyYWN0ZXIgZDQwMCBhbmQgZDdmZiIpOwp9Cgp2YXIgaTU0ID0gIiI7CmZvciAodmFyIGogPSA1NTI5NjsgaiA8IDU2MzIwOyBqKyspCiAgaTU0ICs9IFN0cmluZy5mcm9tQ2hhckNvZGUoaik7CnZhciBvNTQgPSAiIjsKaWYgKGk1NC5yZXBsYWNlKC9cRCsvZywgIiIpICE9PSBvNTQpIHsKICAkRVJST1IoIiM1NDogRXJyb3IgbWF0Y2hpbmcgY2hhcmFjdGVyIGNsYXNzIFxEIGJldHdlZW4gY2hhcmFjdGVyIGQ4MDAgYW5kIGRiZmYiKTsKfQoKdmFyIGk1NSA9ICIiOwpmb3IgKHZhciBqID0gNTYzMjA7IGogPCA1NzM0NDsgaisrKQogIGk1NSArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzU1ID0gIiI7CmlmIChpNTUucmVwbGFjZSgvXEQrL2csICIiKSAhPT0gbzU1KSB7CiAgJEVSUk9SKCIjNTU6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcRCBiZXR3ZWVuIGNoYXJhY3RlciBkYzAwIGFuZCBkZmZmIik7Cn0KCnZhciBpNTYgPSAiIjsKZm9yICh2YXIgaiA9IDU3MzQ0OyBqIDwgNTgzNjg7IGorKykKICBpNTYgKz0gU3RyaW5nLmZyb21DaGFyQ29kZShqKTsKdmFyIG81NiA9ICIiOwppZiAoaTU2LnJlcGxhY2UoL1xEKy9nLCAiIikgIT09IG81NikgewogICRFUlJPUigiIzU2OiBFcnJvciBtYXRjaGluZyBjaGFyYWN0ZXIgY2xhc3MgXEQgYmV0d2VlbiBjaGFyYWN0ZXIgZTAwMCBhbmQgZTNmZiIpOwp9Cgp2YXIgaTU3ID0gIiI7CmZvciAodmFyIGogPSA1ODM2ODsgaiA8IDU5MzkyOyBqKyspCiAgaTU3ICs9IFN0cmluZy5mcm9tQ2hhckNvZGUoaik7CnZhciBvNTcgPSAiIjsKaWYgKGk1Ny5yZXBsYWNlKC9cRCsvZywgIiIpICE9PSBvNTcpIHsKICAkRVJST1IoIiM1NzogRXJyb3IgbWF0Y2hpbmcgY2hhcmFjdGVyIGNsYXNzIFxEIGJldHdlZW4gY2hhcmFjdGVyIGU0MDAgYW5kIGU3ZmYiKTsKfQoKdmFyIGk1OCA9ICIiOwpmb3IgKHZhciBqID0gNTkzOTI7IGogPCA2MDQxNjsgaisrKQogIGk1OCArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzU4ID0gIiI7CmlmIChpNTgucmVwbGFjZSgvXEQrL2csICIiKSAhPT0gbzU4KSB7CiAgJEVSUk9SKCIjNTg6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcRCBiZXR3ZWVuIGNoYXJhY3RlciBlODAwIGFuZCBlYmZmIik7Cn0KCnZhciBpNTkgPSAiIjsKZm9yICh2YXIgaiA9IDYwNDE2OyBqIDwgNjE0NDA7IGorKykKICBpNTkgKz0gU3RyaW5nLmZyb21DaGFyQ29kZShqKTsKdmFyIG81OSA9ICIiOwppZiAoaTU5LnJlcGxhY2UoL1xEKy9nLCAiIikgIT09IG81OSkgewogICRFUlJPUigiIzU5OiBFcnJvciBtYXRjaGluZyBjaGFyYWN0ZXIgY2xhc3MgXEQgYmV0d2VlbiBjaGFyYWN0ZXIgZWMwMCBhbmQgZWZmZiIpOwp9Cgp2YXIgaTYwID0gIiI7CmZvciAodmFyIGogPSA2MTQ0MDsgaiA8IDYyNDY0OyBqKyspCiAgaTYwICs9IFN0cmluZy5mcm9tQ2hhckNvZGUoaik7CnZhciBvNjAgPSAiIjsKaWYgKGk2MC5yZXBsYWNlKC9cRCsvZywgIiIpICE9PSBvNjApIHsKICAkRVJST1IoIiM2MDogRXJyb3IgbWF0Y2hpbmcgY2hhcmFjdGVyIGNsYXNzIFxEIGJldHdlZW4gY2hhcmFjdGVyIGYwMDAgYW5kIGYzZmYiKTsKfQoKdmFyIGk2MSA9ICIiOwpmb3IgKHZhciBqID0gNjI0NjQ7IGogPCA2MzQ4ODsgaisrKQogIGk2MSArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGopOwp2YXIgbzYxID0gIiI7CmlmIChpNjEucmVwbGFjZSgvXEQrL2csICIiKSAhPT0gbzYxKSB7CiAgJEVSUk9SKCIjNjE6IEVycm9yIG1hdGNoaW5nIGNoYXJhY3RlciBjbGFzcyBcRCBiZXR3ZWVuIGNoYXJhY3RlciBmNDAwIGFuZCBmN2ZmIik7Cn0KCnZhciBpNjIgPSAiIjsKZm9yICh2YXIgaiA9IDYzNDg4OyBqIDwgNjQ1MTI7IGorKykKICBpNjIgKz0gU3RyaW5nLmZyb21DaGFyQ29kZShqKTsKdmFyIG82MiA9ICIiOwppZiAoaTYyLnJlcGxhY2UoL1xEKy9nLCAiIikgIT09IG82MikgewogICRFUlJPUigiIzYyOiBFcnJvciBtYXRjaGluZyBjaGFyYWN0ZXIgY2xhc3MgXEQgYmV0d2VlbiBjaGFyYWN0ZXIgZjgwMCBhbmQgZmJmZiIpOwp9Cgp2YXIgaTYzID0gIiI7CmZvciAodmFyIGogPSA2NDUxMjsgaiA8IDY1NTM2OyBqKyspCiAgaTYzICs9IFN0cmluZy5mcm9tQ2hhckNvZGUoaik7CnZhciBvNjMgPSAiIjsKaWYgKGk2My5yZXBsYWNlKC9cRCsvZywgIiIpICE9PSBvNjMpIHsKICAkRVJST1IoIiM2MzogRXJyb3IgbWF0Y2hpbmcgY2hhcmFjdGVyIGNsYXNzIFxEIGJldHdlZW4gY2hhcmFjdGVyIGZjMDAgYW5kIGZmZmYiKTsKfQoK","commentary":"The production CharacterClassEscape :: D evaluates by returning the set of all characters not\nincluded in the set returned by CharacterClassEscape :: d","description":"0 - 9","path":"TestCases/ch15/15.10/15.10.2/15.10.2.12/S15.10.2.12_A6_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBDaGFyYWN0ZXJDbGFzc0VzY2FwZSA6OiBEIGV2YWx1YXRlcyBieSByZXR1cm5pbmcgdGhlIHNldCBvZiBhbGwgY2hhcmFjdGVycyBub3QKICogaW5jbHVkZWQgaW4gdGhlIHNldCByZXR1cm5lZCBieSBDaGFyYWN0ZXJDbGFzc0VzY2FwZSA6OiBkCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuMi8xNS4xMC4yLjEyL1MxNS4xMC4yLjEyX0E2X1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBFTkdMSVNIIEFMUEhBQkVUCiAqLwoKdmFyIHJlZ2V4cF9EID0gL1xELzsKCi8vQ0hFQ0sjMDA0MS0wMDVBCnZhciByZXN1bHQgPSB0cnVlOyAKZm9yIChhbHBoYSA9IDB4MDA0MTsgYWxwaGEgPD0gMHgwMDVBOyBhbHBoYSsrKSB7CiAgc3RyID0gU3RyaW5nLmZyb21DaGFyQ29kZShhbHBoYSk7CiAgYXJyID0gcmVnZXhwX0QuZXhlYyhzdHIpOyAKICBpZiAoKGFyciA9PT0gbnVsbCkgfHwgKGFyclswXSAhPT0gc3RyKSkgewogICAgcmVzdWx0ID0gZmFsc2U7CiAgfQp9CgppZiAocmVzdWx0ICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMTogRU5HTElTSCBDQVBJVEFMIEFMUEhBQkVUJyk7Cn0gIAoKLy9DSEVDSyMwMDYxLTAwN0EKdmFyIHJlc3VsdCA9IHRydWU7IApmb3IgKGFscGhhID0gMHgwMDYxOyBhbHBoYSA8PSAweDAwN0E7IGFscGhhKyspIHsKICBzdHIgPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGFscGhhKTsKICBhcnIgPSByZWdleHBfRC5leGVjKHN0cik7IAogIGlmICgoYXJyID09PSBudWxsKSB8fCAoYXJyWzBdICE9PSBzdHIpKSB7CiAgICByZXN1bHQgPSBmYWxzZTsKICB9Cn0KCmlmIChyZXN1bHQgIT09IHRydWUpIHsKICAkRVJST1IoJyMyOiBlbmdsaXNoIHNtYWxsIGFscGhhYmV0Jyk7Cn0gCgo=","commentary":"The production CharacterClassEscape :: D evaluates by returning the set of all characters not\nincluded in the set returned by CharacterClassEscape :: d","description":"ENGLISH ALPHABET","path":"TestCases/ch15/15.10/15.10.2/15.10.2.12/S15.10.2.12_A6_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBDaGFyYWN0ZXJDbGFzc0VzY2FwZSA6OiBEIGV2YWx1YXRlcyBieSByZXR1cm5pbmcgdGhlIHNldCBvZiBhbGwgY2hhcmFjdGVycyBub3QKICogaW5jbHVkZWQgaW4gdGhlIHNldCByZXR1cm5lZCBieSBDaGFyYWN0ZXJDbGFzc0VzY2FwZSA6OiBkCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuMi8xNS4xMC4yLjEyL1MxNS4xMC4yLjEyX0E2X1QzLmpzCiAqIEBkZXNjcmlwdGlvbiBSVVNTSUFOIEFMUEhBQkVUCiAqLwoKdmFyIHJlZ2V4cF9EID0gL1xELzsKCi8vQ0hFQ0sjMDQxMC0wNDJGCnZhciByZXN1bHQgPSB0cnVlOyAgCmZvciAoYWxwaGEgPSAweDA0MTA7IGFscGhhIDw9IDB4MDQyRjsgYWxwaGErKykgewogIHN0ciA9IFN0cmluZy5mcm9tQ2hhckNvZGUoYWxwaGEpOwogIGFyciA9IHJlZ2V4cF9ELmV4ZWMoc3RyKTsgCiAgaWYgKChhcnIgPT09IG51bGwpIHx8IChhcnJbMF0gIT09IHN0cikpIHsKICAgIHJlc3VsdCA9IGZhbHNlOwogIH0KfQoKaWYgKHJlc3VsdCAhPT0gdHJ1ZSkgewogICRFUlJPUignIzE6IFJVU1NJQU4gQ0FQSVRBTCBBTFBIQUJFVCcpOwp9CgovL0NIRUNLIzA0MzAtMDQ0Rgp2YXIgcmVzdWx0ID0gdHJ1ZTsgCmZvciAoYWxwaGEgPSAweDA0MzA7IGFscGhhIDw9IDB4MDQ0RjsgYWxwaGErKykgewogIHN0ciA9IFN0cmluZy5mcm9tQ2hhckNvZGUoYWxwaGEpOwogIGFyciA9IHJlZ2V4cF9ELmV4ZWMoc3RyKTsgCiAgaWYgKChhcnIgPT09IG51bGwpIHx8IChhcnJbMF0gIT09IHN0cikpIHsKICAgIHJlc3VsdCA9IGZhbHNlOwogIH0KfQoKaWYgKHJlc3VsdCAhPT0gdHJ1ZSkgewogICRFUlJPUignIzI6IHJ1c3NpYW4gc21hbGwgYWxwaGFiZXQnKTsKfQoK","commentary":"The production CharacterClassEscape :: D evaluates by returning the set of all characters not\nincluded in the set returned by CharacterClassEscape :: d","description":"RUSSIAN ALPHABET","path":"TestCases/ch15/15.10/15.10.2/15.10.2.12/S15.10.2.12_A6_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBDaGFyYWN0ZXJDbGFzc0VzY2FwZSA6OiBEIGV2YWx1YXRlcyBieSByZXR1cm5pbmcgdGhlIHNldCBvZiBhbGwgY2hhcmFjdGVycyBub3QKICogaW5jbHVkZWQgaW4gdGhlIHNldCByZXR1cm5lZCBieSBDaGFyYWN0ZXJDbGFzc0VzY2FwZSA6OiBkCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuMi8xNS4xMC4yLjEyL1MxNS4xMC4yLjEyX0E2X1Q0LmpzCiAqIEBkZXNjcmlwdGlvbiBSVVNTSUFOIEFMUEhBQkVUCiAqLwoKLy9DSEVDSyMxCnZhciBub25fZCA9ICJfYWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXpBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWlxmXG5cclx0XHZ+YCFAIyQlXiYqKCktKz17W31dfFxcOjsnPCw+Li8/ICIgKyAnIic7CnZhciByZWdleHBfRCA9IC9cRC9nOwp2YXIgayA9IDA7CndoaWxlIChyZWdleHBfRC5leGVjKG5vbl9kKSAhPT0gbnVsbCkgewogICBrKys7Cn0KCmlmIChub25fZC5sZW5ndGggIT09IGspIHsKICAgJEVSUk9SKCcjMTogbm9uLWQnKTsKfQoKLy9DSEVDSyMyCnZhciBub25fZCA9ICcwMTIzNDU2Nzg5JzsKaWYgKC9cRC8uZXhlYyhub25fZCkgIT09IG51bGwpIHsKICAgJEVSUk9SKCcjMjogbm9uLWQnKTsKfQoK","commentary":"The production CharacterClassEscape :: D evaluates by returning the set of all characters not\nincluded in the set returned by CharacterClassEscape :: d","description":"RUSSIAN ALPHABET","path":"TestCases/ch15/15.10/15.10.2/15.10.2.12/S15.10.2.12_A6_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBDaGFyYWN0ZXJDbGFzcyA6OiBbIFtsb29rYWhlYWQgXG5vdGluIHtefV0gQ2xhc3NSYW5nZXMgXSBldmFsdWF0ZXMgYnkgZXZhbHVhdGluZyBDbGFzc1JhbmdlcyB0byBvYnRhaW4gYSBDaGFyU2V0IGFuZCByZXR1cm5pbmcgdGhhdCBDaGFyU2V0IGFuZCB0aGUgYm9vbGVhbiBmYWxzZQogKgogKiBAcGF0aCBjaDE1LzE1LjEwLzE1LjEwLjIvMTUuMTAuMi4xMy9TMTUuMTAuMi4xM19BMV9UMS5qcwogKiBAZGVzY3JpcHRpb24gRXhlY3V0ZSAvW11hLy50ZXN0KCJcMGFcMGEiKSBhbmQgY2hlY2sgcmVzdWx0cwogKi8KCl9fZXhlY3V0ZWQgPSAvW11hLy50ZXN0KCJcMGFcMGEiKTs7CgovL0NIRUNLIzEKIGlmIChfX2V4ZWN1dGVkKSB7CgkkRVJST1IoJyMxOiAvW11hLy50ZXN0KCJcXDBhXFwwYSIpID09PSBmYWxzZScpOwp9CgoK","commentary":"The production CharacterClass :: [ [lookahead \\notin {^}] ClassRanges ] evaluates by evaluating ClassRanges to obtain a CharSet and returning that CharSet and the boolean false","description":"Execute /[]a/.test(\"\\0a\\0a\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.13/S15.10.2.13_A1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBDaGFyYWN0ZXJDbGFzcyA6OiBbIFtsb29rYWhlYWQgXG5vdGluIHtefV0gQ2xhc3NSYW5nZXMgXSBldmFsdWF0ZXMgYnkgZXZhbHVhdGluZyBDbGFzc1JhbmdlcyB0byBvYnRhaW4gYSBDaGFyU2V0IGFuZCByZXR1cm5pbmcgdGhhdCBDaGFyU2V0IGFuZCB0aGUgYm9vbGVhbiBmYWxzZQogKgogKiBAcGF0aCBjaDE1LzE1LjEwLzE1LjEwLjIvMTUuMTAuMi4xMy9TMTUuMTAuMi4xM19BMV9UMTAuanMKICogQGRlc2NyaXB0aW9uIEV4ZWN1dGUgL1thLWNcZF0rLy5leGVjKCJcblxuXGFiYzMyNDIzNFxuIikgYW5kIGNoZWNrIHJlc3VsdHMKICovCgpfX2V4ZWN1dGVkID0gL1thLWNcZF0rLy5leGVjKCJcblxuXGFiYzMyNDIzNFxuIik7CgpfX2V4cGVjdGVkID0gWyJhYmMzMjQyMzQiXTsKX19leHBlY3RlZC5pbmRleCA9IDI7Cl9fZXhwZWN0ZWQuaW5wdXQgPSAiXG5cblxhYmMzMjQyMzRcbiI7CgovL0NIRUNLIzEKaWYgKF9fZXhlY3V0ZWQubGVuZ3RoICE9PSBfX2V4cGVjdGVkLmxlbmd0aCkgewoJJEVSUk9SKCcjMTogX19leGVjdXRlZCA9IC9bYS1jXFxkXSsvLmV4ZWMoIlxcblxcblxcYWJjMzI0MjM0XFxuIik7IF9fZXhlY3V0ZWQubGVuZ3RoID09PSAnICsgX19leHBlY3RlZC5sZW5ndGggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmxlbmd0aCk7Cn0KCi8vQ0hFQ0sjMgppZiAoX19leGVjdXRlZC5pbmRleCAhPT0gX19leHBlY3RlZC5pbmRleCkgewoJJEVSUk9SKCcjMjogX19leGVjdXRlZCA9IC9bYS1jXFxkXSsvLmV4ZWMoIlxcblxcblxcYWJjMzI0MjM0XFxuIik7IF9fZXhlY3V0ZWQuaW5kZXggPT09ICcgKyBfX2V4cGVjdGVkLmluZGV4ICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5pbmRleCk7Cn0KCi8vQ0hFQ0sjMwppZiAoX19leGVjdXRlZC5pbnB1dCAhPT0gX19leHBlY3RlZC5pbnB1dCkgewoJJEVSUk9SKCcjMzogX19leGVjdXRlZCA9IC9bYS1jXFxkXSsvLmV4ZWMoIlxcblxcblxcYWJjMzI0MjM0XFxuIik7IF9fZXhlY3V0ZWQuaW5wdXQgPT09ICcgKyBfX2V4cGVjdGVkLmlucHV0ICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5pbnB1dCk7Cn0KCi8vQ0hFQ0sjNApmb3IodmFyIGluZGV4PTA7IGluZGV4PF9fZXhwZWN0ZWQubGVuZ3RoOyBpbmRleCsrKSB7CglpZiAoX19leGVjdXRlZFtpbmRleF0gIT09IF9fZXhwZWN0ZWRbaW5kZXhdKSB7CgkJJEVSUk9SKCcjNDogX19leGVjdXRlZCA9IC9bYS1jXFxkXSsvLmV4ZWMoIlxcblxcblxcYWJjMzI0MjM0XFxuIik7IF9fZXhlY3V0ZWRbJyArIGluZGV4ICsgJ10gPT09ICcgKyBfX2V4cGVjdGVkW2luZGV4XSArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWRbaW5kZXhdKTsKCX0KfQoKCg==","commentary":"The production CharacterClass :: [ [lookahead \\notin {^}] ClassRanges ] evaluates by evaluating ClassRanges to obtain a CharSet and returning that CharSet and the boolean false","description":"Execute /[a-c\\d]+/.exec(\"\\n\\n\\abc324234\\n\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.13/S15.10.2.13_A1_T10.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBDaGFyYWN0ZXJDbGFzcyA6OiBbIFtsb29rYWhlYWQgXG5vdGluIHtefV0gQ2xhc3NSYW5nZXMgXSBldmFsdWF0ZXMgYnkgZXZhbHVhdGluZyBDbGFzc1JhbmdlcyB0byBvYnRhaW4gYSBDaGFyU2V0IGFuZCByZXR1cm5pbmcgdGhhdCBDaGFyU2V0IGFuZCB0aGUgYm9vbGVhbiBmYWxzZQogKgogKiBAcGF0aCBjaDE1LzE1LjEwLzE1LjEwLjIvMTUuMTAuMi4xMy9TMTUuMTAuMi4xM19BMV9UMTEuanMKICogQGRlc2NyaXB0aW9uIEV4ZWN1dGUgL2FiWy5dP2MvLmV4ZWMoImFiYyIpIGFuZCBjaGVjayByZXN1bHRzCiAqLwoKX19leGVjdXRlZCA9IC9hYlsuXT9jLy5leGVjKCJhYmMiKTsKCl9fZXhwZWN0ZWQgPSBbImFiYyJdOwpfX2V4cGVjdGVkLmluZGV4ID0gMDsKX19leHBlY3RlZC5pbnB1dCA9ICJhYmMiOwoKLy9DSEVDSyMxCmlmIChfX2V4ZWN1dGVkLmxlbmd0aCAhPT0gX19leHBlY3RlZC5sZW5ndGgpIHsKCSRFUlJPUignIzE6IF9fZXhlY3V0ZWQgPSAvYWJbLl0/Yy8uZXhlYygiYWJjIik7IF9fZXhlY3V0ZWQubGVuZ3RoID09PSAnICsgX19leHBlY3RlZC5sZW5ndGggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmxlbmd0aCk7Cn0KCi8vQ0hFQ0sjMgppZiAoX19leGVjdXRlZC5pbmRleCAhPT0gX19leHBlY3RlZC5pbmRleCkgewoJJEVSUk9SKCcjMjogX19leGVjdXRlZCA9IC9hYlsuXT9jLy5leGVjKCJhYmMiKTsgX19leGVjdXRlZC5pbmRleCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5kZXggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmluZGV4KTsKfQoKLy9DSEVDSyMzCmlmIChfX2V4ZWN1dGVkLmlucHV0ICE9PSBfX2V4cGVjdGVkLmlucHV0KSB7CgkkRVJST1IoJyMzOiBfX2V4ZWN1dGVkID0gL2FiWy5dP2MvLmV4ZWMoImFiYyIpOyBfX2V4ZWN1dGVkLmlucHV0ID09PSAnICsgX19leHBlY3RlZC5pbnB1dCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5wdXQpOwp9CgovL0NIRUNLIzQKZm9yKHZhciBpbmRleD0wOyBpbmRleDxfX2V4cGVjdGVkLmxlbmd0aDsgaW5kZXgrKykgewoJaWYgKF9fZXhlY3V0ZWRbaW5kZXhdICE9PSBfX2V4cGVjdGVkW2luZGV4XSkgewoJCSRFUlJPUignIzQ6IF9fZXhlY3V0ZWQgPSAvYWJbLl0/Yy8uZXhlYygiYWJjIik7IF9fZXhlY3V0ZWRbJyArIGluZGV4ICsgJ10gPT09ICcgKyBfX2V4cGVjdGVkW2luZGV4XSArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWRbaW5kZXhdKTsKCX0KfQoKCg==","commentary":"The production CharacterClass :: [ [lookahead \\notin {^}] ClassRanges ] evaluates by evaluating ClassRanges to obtain a CharSet and returning that CharSet and the boolean false","description":"Execute /ab[.]?c/.exec(\"abc\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.13/S15.10.2.13_A1_T11.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBDaGFyYWN0ZXJDbGFzcyA6OiBbIFtsb29rYWhlYWQgXG5vdGluIHtefV0gQ2xhc3NSYW5nZXMgXSBldmFsdWF0ZXMgYnkgZXZhbHVhdGluZyBDbGFzc1JhbmdlcyB0byBvYnRhaW4gYSBDaGFyU2V0IGFuZCByZXR1cm5pbmcgdGhhdCBDaGFyU2V0IGFuZCB0aGUgYm9vbGVhbiBmYWxzZQogKgogKiBAcGF0aCBjaDE1LzE1LjEwLzE1LjEwLjIvMTUuMTAuMi4xMy9TMTUuMTAuMi4xM19BMV9UMTIuanMKICogQGRlc2NyaXB0aW9uIEV4ZWN1dGUgL2FbYl1jLy5leGVjKCJhYmMiKSBhbmQgY2hlY2sgcmVzdWx0cwogKi8KCl9fZXhlY3V0ZWQgPSAvYVtiXWMvLmV4ZWMoImFiYyIpOwoKX19leHBlY3RlZCA9IFsiYWJjIl07Cl9fZXhwZWN0ZWQuaW5kZXggPSAwOwpfX2V4cGVjdGVkLmlucHV0ID0gImFiYyI7CgovL0NIRUNLIzEKaWYgKF9fZXhlY3V0ZWQubGVuZ3RoICE9PSBfX2V4cGVjdGVkLmxlbmd0aCkgewoJJEVSUk9SKCcjMTogX19leGVjdXRlZCA9IC9hW2JdYy8uZXhlYygiYWJjIik7IF9fZXhlY3V0ZWQubGVuZ3RoID09PSAnICsgX19leHBlY3RlZC5sZW5ndGggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmxlbmd0aCk7Cn0KCi8vQ0hFQ0sjMgppZiAoX19leGVjdXRlZC5pbmRleCAhPT0gX19leHBlY3RlZC5pbmRleCkgewoJJEVSUk9SKCcjMjogX19leGVjdXRlZCA9IC9hW2JdYy8uZXhlYygiYWJjIik7IF9fZXhlY3V0ZWQuaW5kZXggPT09ICcgKyBfX2V4cGVjdGVkLmluZGV4ICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5pbmRleCk7Cn0KCi8vQ0hFQ0sjMwppZiAoX19leGVjdXRlZC5pbnB1dCAhPT0gX19leHBlY3RlZC5pbnB1dCkgewoJJEVSUk9SKCcjMzogX19leGVjdXRlZCA9IC9hW2JdYy8uZXhlYygiYWJjIik7IF9fZXhlY3V0ZWQuaW5wdXQgPT09ICcgKyBfX2V4cGVjdGVkLmlucHV0ICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5pbnB1dCk7Cn0KCi8vQ0hFQ0sjNApmb3IodmFyIGluZGV4PTA7IGluZGV4PF9fZXhwZWN0ZWQubGVuZ3RoOyBpbmRleCsrKSB7CglpZiAoX19leGVjdXRlZFtpbmRleF0gIT09IF9fZXhwZWN0ZWRbaW5kZXhdKSB7CgkJJEVSUk9SKCcjNDogX19leGVjdXRlZCA9IC9hW2JdYy8uZXhlYygiYWJjIik7IF9fZXhlY3V0ZWRbJyArIGluZGV4ICsgJ10gPT09ICcgKyBfX2V4cGVjdGVkW2luZGV4XSArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWRbaW5kZXhdKTsKCX0KfQoKCg==","commentary":"The production CharacterClass :: [ [lookahead \\notin {^}] ClassRanges ] evaluates by evaluating ClassRanges to obtain a CharSet and returning that CharSet and the boolean false","description":"Execute /a[b]c/.exec(\"abc\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.13/S15.10.2.13_A1_T12.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBDaGFyYWN0ZXJDbGFzcyA6OiBbIFtsb29rYWhlYWQgXG5vdGluIHtefV0gQ2xhc3NSYW5nZXMgXSBldmFsdWF0ZXMgYnkgZXZhbHVhdGluZyBDbGFzc1JhbmdlcyB0byBvYnRhaW4gYSBDaGFyU2V0IGFuZCByZXR1cm5pbmcgdGhhdCBDaGFyU2V0IGFuZCB0aGUgYm9vbGVhbiBmYWxzZQogKgogKiBAcGF0aCBjaDE1LzE1LjEwLzE1LjEwLjIvMTUuMTAuMi4xMy9TMTUuMTAuMi4xM19BMV9UMTMuanMKICogQGRlc2NyaXB0aW9uIEV4ZWN1dGUgL1thLXpdW14xLTldW2Etel0vLmV4ZWMoImExYiAgYjJjICBjM2QgIGRlZiAgZjRnIikgYW5kIGNoZWNrIHJlc3VsdHMKICovCgpfX2V4ZWN1dGVkID0gL1thLXpdW14xLTldW2Etel0vLmV4ZWMoImExYiAgYjJjICBjM2QgIGRlZiAgZjRnIik7CgpfX2V4cGVjdGVkID0gWyJkZWYiXTsKX19leHBlY3RlZC5pbmRleCA9IDE1OwpfX2V4cGVjdGVkLmlucHV0ID0gImExYiAgYjJjICBjM2QgIGRlZiAgZjRnIjsKCi8vQ0hFQ0sjMQppZiAoX19leGVjdXRlZC5sZW5ndGggIT09IF9fZXhwZWN0ZWQubGVuZ3RoKSB7CgkkRVJST1IoJyMxOiBfX2V4ZWN1dGVkID0gL1thLXpdW14xLTldW2Etel0vLmV4ZWMoImExYiAgYjJjICBjM2QgIGRlZiAgZjRnIik7IF9fZXhlY3V0ZWQubGVuZ3RoID09PSAnICsgX19leHBlY3RlZC5sZW5ndGggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmxlbmd0aCk7Cn0KCi8vQ0hFQ0sjMgppZiAoX19leGVjdXRlZC5pbmRleCAhPT0gX19leHBlY3RlZC5pbmRleCkgewoJJEVSUk9SKCcjMjogX19leGVjdXRlZCA9IC9bYS16XVteMS05XVthLXpdLy5leGVjKCJhMWIgIGIyYyAgYzNkICBkZWYgIGY0ZyIpOyBfX2V4ZWN1dGVkLmluZGV4ID09PSAnICsgX19leHBlY3RlZC5pbmRleCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5kZXgpOwp9CgovL0NIRUNLIzMKaWYgKF9fZXhlY3V0ZWQuaW5wdXQgIT09IF9fZXhwZWN0ZWQuaW5wdXQpIHsKCSRFUlJPUignIzM6IF9fZXhlY3V0ZWQgPSAvW2Etel1bXjEtOV1bYS16XS8uZXhlYygiYTFiICBiMmMgIGMzZCAgZGVmICBmNGciKTsgX19leGVjdXRlZC5pbnB1dCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5wdXQgKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmlucHV0KTsKfQoKLy9DSEVDSyM0CmZvcih2YXIgaW5kZXg9MDsgaW5kZXg8X19leHBlY3RlZC5sZW5ndGg7IGluZGV4KyspIHsKCWlmIChfX2V4ZWN1dGVkW2luZGV4XSAhPT0gX19leHBlY3RlZFtpbmRleF0pIHsKCQkkRVJST1IoJyM0OiBfX2V4ZWN1dGVkID0gL1thLXpdW14xLTldW2Etel0vLmV4ZWMoImExYiAgYjJjICBjM2QgIGRlZiAgZjRnIik7IF9fZXhlY3V0ZWRbJyArIGluZGV4ICsgJ10gPT09ICcgKyBfX2V4cGVjdGVkW2luZGV4XSArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWRbaW5kZXhdKTsKCX0KfQoKCg==","commentary":"The production CharacterClass :: [ [lookahead \\notin {^}] ClassRanges ] evaluates by evaluating ClassRanges to obtain a CharSet and returning that CharSet and the boolean false","description":"Execute /[a-z][^1-9][a-z]/.exec(\"a1b b2c c3d def f4g\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.13/S15.10.2.13_A1_T13.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBDaGFyYWN0ZXJDbGFzcyA6OiBbIFtsb29rYWhlYWQgXG5vdGluIHtefV0gQ2xhc3NSYW5nZXMgXSBldmFsdWF0ZXMgYnkgZXZhbHVhdGluZyBDbGFzc1JhbmdlcyB0byBvYnRhaW4gYSBDaGFyU2V0IGFuZCByZXR1cm5pbmcgdGhhdCBDaGFyU2V0IGFuZCB0aGUgYm9vbGVhbiBmYWxzZQogKgogKiBAcGF0aCBjaDE1LzE1LjEwLzE1LjEwLjIvMTUuMTAuMi4xMy9TMTUuMTAuMi4xM19BMV9UMTQuanMKICogQGRlc2NyaXB0aW9uIEV4ZWN1dGUgL1sqJiRdezN9Ly5leGVjKCIxMjMqJiRhYmMiKSBhbmQgY2hlY2sgcmVzdWx0cwogKi8KCl9fZXhlY3V0ZWQgPSAvWyomJF17M30vLmV4ZWMoIjEyMyomJGFiYyIpOwoKX19leHBlY3RlZCA9IFsiKiYkIl07Cl9fZXhwZWN0ZWQuaW5kZXggPSAzOwpfX2V4cGVjdGVkLmlucHV0ID0gIjEyMyomJGFiYyI7CgovL0NIRUNLIzEKaWYgKF9fZXhlY3V0ZWQubGVuZ3RoICE9PSBfX2V4cGVjdGVkLmxlbmd0aCkgewoJJEVSUk9SKCcjMTogX19leGVjdXRlZCA9IC9bKiYkXXszfS8uZXhlYygiMTIzKiYkYWJjIik7IF9fZXhlY3V0ZWQubGVuZ3RoID09PSAnICsgX19leHBlY3RlZC5sZW5ndGggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmxlbmd0aCk7Cn0KCi8vQ0hFQ0sjMgppZiAoX19leGVjdXRlZC5pbmRleCAhPT0gX19leHBlY3RlZC5pbmRleCkgewoJJEVSUk9SKCcjMjogX19leGVjdXRlZCA9IC9bKiYkXXszfS8uZXhlYygiMTIzKiYkYWJjIik7IF9fZXhlY3V0ZWQuaW5kZXggPT09ICcgKyBfX2V4cGVjdGVkLmluZGV4ICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5pbmRleCk7Cn0KCi8vQ0hFQ0sjMwppZiAoX19leGVjdXRlZC5pbnB1dCAhPT0gX19leHBlY3RlZC5pbnB1dCkgewoJJEVSUk9SKCcjMzogX19leGVjdXRlZCA9IC9bKiYkXXszfS8uZXhlYygiMTIzKiYkYWJjIik7IF9fZXhlY3V0ZWQuaW5wdXQgPT09ICcgKyBfX2V4cGVjdGVkLmlucHV0ICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5pbnB1dCk7Cn0KCi8vQ0hFQ0sjNApmb3IodmFyIGluZGV4PTA7IGluZGV4PF9fZXhwZWN0ZWQubGVuZ3RoOyBpbmRleCsrKSB7CglpZiAoX19leGVjdXRlZFtpbmRleF0gIT09IF9fZXhwZWN0ZWRbaW5kZXhdKSB7CgkJJEVSUk9SKCcjNDogX19leGVjdXRlZCA9IC9bKiYkXXszfS8uZXhlYygiMTIzKiYkYWJjIik7IF9fZXhlY3V0ZWRbJyArIGluZGV4ICsgJ10gPT09ICcgKyBfX2V4cGVjdGVkW2luZGV4XSArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWRbaW5kZXhdKTsKCX0KfQoKCg==","commentary":"The production CharacterClass :: [ [lookahead \\notin {^}] ClassRanges ] evaluates by evaluating ClassRanges to obtain a CharSet and returning that CharSet and the boolean false","description":"Execute /[*&$]{3}/.exec(\"123*&$abc\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.13/S15.10.2.13_A1_T14.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBDaGFyYWN0ZXJDbGFzcyA6OiBbIFtsb29rYWhlYWQgXG5vdGluIHtefV0gQ2xhc3NSYW5nZXMgXSBldmFsdWF0ZXMgYnkgZXZhbHVhdGluZyBDbGFzc1JhbmdlcyB0byBvYnRhaW4gYSBDaGFyU2V0IGFuZCByZXR1cm5pbmcgdGhhdCBDaGFyU2V0IGFuZCB0aGUgYm9vbGVhbiBmYWxzZQogKgogKiBAcGF0aCBjaDE1LzE1LjEwLzE1LjEwLjIvMTUuMTAuMi4xMy9TMTUuMTAuMi4xM19BMV9UMTUuanMKICogQGRlc2NyaXB0aW9uIEV4ZWN1dGUgL1tcZF1bXG5dW15cZF0vLmV4ZWMoImxpbmUxXG5saW5lMiIpIGFuZCBjaGVjayByZXN1bHRzCiAqLwoKX19leGVjdXRlZCA9IC9bXGRdW1xuXVteXGRdLy5leGVjKCJsaW5lMVxubGluZTIiKTsKCl9fZXhwZWN0ZWQgPSBbIjFcbmwiXTsKX19leHBlY3RlZC5pbmRleCA9IDQ7Cl9fZXhwZWN0ZWQuaW5wdXQgPSAibGluZTFcbmxpbmUyIjsKCi8vQ0hFQ0sjMQppZiAoX19leGVjdXRlZC5sZW5ndGggIT09IF9fZXhwZWN0ZWQubGVuZ3RoKSB7CgkkRVJST1IoJyMxOiBfX2V4ZWN1dGVkID0gL1tcXGRdW1xcbl1bXlxcZF0vLmV4ZWMoImxpbmUxXFxubGluZTIiKTsgX19leGVjdXRlZC5sZW5ndGggPT09ICcgKyBfX2V4cGVjdGVkLmxlbmd0aCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQubGVuZ3RoKTsKfQoKLy9DSEVDSyMyCmlmIChfX2V4ZWN1dGVkLmluZGV4ICE9PSBfX2V4cGVjdGVkLmluZGV4KSB7CgkkRVJST1IoJyMyOiBfX2V4ZWN1dGVkID0gL1tcXGRdW1xcbl1bXlxcZF0vLmV4ZWMoImxpbmUxXFxubGluZTIiKTsgX19leGVjdXRlZC5pbmRleCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5kZXggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmluZGV4KTsKfQoKLy9DSEVDSyMzCmlmIChfX2V4ZWN1dGVkLmlucHV0ICE9PSBfX2V4cGVjdGVkLmlucHV0KSB7CgkkRVJST1IoJyMzOiBfX2V4ZWN1dGVkID0gL1tcXGRdW1xcbl1bXlxcZF0vLmV4ZWMoImxpbmUxXFxubGluZTIiKTsgX19leGVjdXRlZC5pbnB1dCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5wdXQgKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmlucHV0KTsKfQoKLy9DSEVDSyM0CmZvcih2YXIgaW5kZXg9MDsgaW5kZXg8X19leHBlY3RlZC5sZW5ndGg7IGluZGV4KyspIHsKCWlmIChfX2V4ZWN1dGVkW2luZGV4XSAhPT0gX19leHBlY3RlZFtpbmRleF0pIHsKCQkkRVJST1IoJyM0OiBfX2V4ZWN1dGVkID0gL1tcXGRdW1xcbl1bXlxcZF0vLmV4ZWMoImxpbmUxXFxubGluZTIiKTsgX19leGVjdXRlZFsnICsgaW5kZXggKyAnXSA9PT0gJyArIF9fZXhwZWN0ZWRbaW5kZXhdICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZFtpbmRleF0pOwoJfQp9CgoK","commentary":"The production CharacterClass :: [ [lookahead \\notin {^}] ClassRanges ] evaluates by evaluating ClassRanges to obtain a CharSet and returning that CharSet and the boolean false","description":"Execute /[\\d][\\n][^\\d]/.exec(\"line1\\nline2\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.13/S15.10.2.13_A1_T15.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBDaGFyYWN0ZXJDbGFzcyA6OiBbIFtsb29rYWhlYWQgXG5vdGluIHtefV0gQ2xhc3NSYW5nZXMgXSBldmFsdWF0ZXMgYnkgZXZhbHVhdGluZyBDbGFzc1JhbmdlcyB0byBvYnRhaW4gYSBDaGFyU2V0IGFuZCByZXR1cm5pbmcgdGhhdCBDaGFyU2V0IGFuZCB0aGUgYm9vbGVhbiBmYWxzZQogKgogKiBAcGF0aCBjaDE1LzE1LjEwLzE1LjEwLjIvMTUuMTAuMi4xMy9TMTUuMTAuMi4xM19BMV9UMTYuanMKICogQGRlc2NyaXB0aW9uIEV4ZWN1dGUgL1tcZF1bXDEyLVwxNF17MSx9W15cZF0vLmV4ZWMoImxpbmUxXG5cblxuXG5cbmxpbmUyIikgYW5kIGNoZWNrIHJlc3VsdHMKICovCgpfX2V4ZWN1dGVkID0gL1tcZF1bXDEyLVwxNF17MSx9W15cZF0vLmV4ZWMoImxpbmUxXG5cblxuXG5cbmxpbmUyIik7CgpfX2V4cGVjdGVkID0gWyIxXG5cblxuXG5cbmwiXTsKX19leHBlY3RlZC5pbmRleCA9IDQ7Cl9fZXhwZWN0ZWQuaW5wdXQgPSAibGluZTFcblxuXG5cblxubGluZTIiOwoKLy9DSEVDSyMxCmlmIChfX2V4ZWN1dGVkLmxlbmd0aCAhPT0gX19leHBlY3RlZC5sZW5ndGgpIHsKCSRFUlJPUignIzE6IF9fZXhlY3V0ZWQgPSAvW1xcZF1bXFwxMi1cXDE0XXsxLH1bXlxcZF0vLmV4ZWMoImxpbmUxXFxuXFxuXFxuXFxuXFxubGluZTIiKTsgX19leGVjdXRlZC5sZW5ndGggPT09ICcgKyBfX2V4cGVjdGVkLmxlbmd0aCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQubGVuZ3RoKTsKfQoKLy9DSEVDSyMyCmlmIChfX2V4ZWN1dGVkLmluZGV4ICE9PSBfX2V4cGVjdGVkLmluZGV4KSB7CgkkRVJST1IoJyMyOiBfX2V4ZWN1dGVkID0gL1tcXGRdW1xcMTItXFwxNF17MSx9W15cXGRdLy5leGVjKCJsaW5lMVxcblxcblxcblxcblxcbmxpbmUyIik7IF9fZXhlY3V0ZWQuaW5kZXggPT09ICcgKyBfX2V4cGVjdGVkLmluZGV4ICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5pbmRleCk7Cn0KCi8vQ0hFQ0sjMwppZiAoX19leGVjdXRlZC5pbnB1dCAhPT0gX19leHBlY3RlZC5pbnB1dCkgewoJJEVSUk9SKCcjMzogX19leGVjdXRlZCA9IC9bXFxkXVtcXDEyLVxcMTRdezEsfVteXFxkXS8uZXhlYygibGluZTFcXG5cXG5cXG5cXG5cXG5saW5lMiIpOyBfX2V4ZWN1dGVkLmlucHV0ID09PSAnICsgX19leHBlY3RlZC5pbnB1dCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5wdXQpOwp9CgovL0NIRUNLIzQKZm9yKHZhciBpbmRleD0wOyBpbmRleDxfX2V4cGVjdGVkLmxlbmd0aDsgaW5kZXgrKykgewoJaWYgKF9fZXhlY3V0ZWRbaW5kZXhdICE9PSBfX2V4cGVjdGVkW2luZGV4XSkgewoJCSRFUlJPUignIzQ6IF9fZXhlY3V0ZWQgPSAvW1xcZF1bXFwxMi1cXDE0XXsxLH1bXlxcZF0vLmV4ZWMoImxpbmUxXFxuXFxuXFxuXFxuXFxubGluZTIiKTsgX19leGVjdXRlZFsnICsgaW5kZXggKyAnXSA9PT0gJyArIF9fZXhwZWN0ZWRbaW5kZXhdICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZFtpbmRleF0pOwoJfQp9CgoK","commentary":"The production CharacterClass :: [ [lookahead \\notin {^}] ClassRanges ] evaluates by evaluating ClassRanges to obtain a CharSet and returning that CharSet and the boolean false","description":"Execute /[\\d][\\12-\\14]{1,}[^\\d]/.exec(\"line1\\n\\n\\n\\n\\nline2\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.13/S15.10.2.13_A1_T16.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBDaGFyYWN0ZXJDbGFzcyA6OiBbIFtsb29rYWhlYWQgXG5vdGluIHtefV0gQ2xhc3NSYW5nZXMgXSBldmFsdWF0ZXMgYnkgZXZhbHVhdGluZyBDbGFzc1JhbmdlcyB0byBvYnRhaW4gYSBDaGFyU2V0IGFuZCByZXR1cm5pbmcgdGhhdCBDaGFyU2V0IGFuZCB0aGUgYm9vbGVhbiBmYWxzZQogKgogKiBAcGF0aCBjaDE1LzE1LjEwLzE1LjEwLjIvMTUuMTAuMi4xMy9TMTUuMTAuMi4xM19BMV9UMTcuanMKICogQGRlc2NyaXB0aW9uIEV4ZWN1dGUgL1tdLy5leGVjKCJhW2JcbltdXHRjXWQiKSBhbmQgY2hlY2sgcmVzdWx0cwogKi8KCl9fZXhlY3V0ZWQgPSAvW10vLmV4ZWMoImFbYlxuW11cdGNdZCIpOwoKLy9DSEVDSyMxCmlmIChfX2V4ZWN1dGVkICE9PSBudWxsKSB7CgkkRVJST1IoJyMxOiAvW10vLmV4ZWMoImFbYlxcbltdXFx0Y11kIikgPT09IGZhbHNlJyk7Cn0KCgo=","commentary":"The production CharacterClass :: [ [lookahead \\notin {^}] ClassRanges ] evaluates by evaluating ClassRanges to obtain a CharSet and returning that CharSet and the boolean false","description":"Execute /[]/.exec(\"a[b\\n[]\\tc]d\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.13/S15.10.2.13_A1_T17.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBDaGFyYWN0ZXJDbGFzcyA6OiBbIFtsb29rYWhlYWQgXG5vdGluIHtefV0gQ2xhc3NSYW5nZXMgXSBldmFsdWF0ZXMgYnkgZXZhbHVhdGluZyBDbGFzc1JhbmdlcyB0byBvYnRhaW4gYSBDaGFyU2V0IGFuZCByZXR1cm5pbmcgdGhhdCBDaGFyU2V0IGFuZCB0aGUgYm9vbGVhbiBmYWxzZQogKgogKiBAcGF0aCBjaDE1LzE1LjEwLzE1LjEwLjIvMTUuMTAuMi4xMy9TMTUuMTAuMi4xM19BMV9UMi5qcwogKiBAZGVzY3JpcHRpb24gRXhlY3V0ZSAvYVtdLy50ZXN0KCJcMGFcMGEiKSBhbmQgY2hlY2sgcmVzdWx0cwogKi8KCl9fZXhlY3V0ZWQgPSAvYVtdLy50ZXN0KCJcMGFcMGEiKTs7CgovL0NIRUNLIzEKaWYgKF9fZXhlY3V0ZWQpIHsKCSRFUlJPUignIzE6IC9hW10vLnRlc3QoIlxcMGFcXDBhIikgPT09IGZhbHNlJyk7Cn0KCgo=","commentary":"The production CharacterClass :: [ [lookahead \\notin {^}] ClassRanges ] evaluates by evaluating ClassRanges to obtain a CharSet and returning that CharSet and the boolean false","description":"Execute /a[]/.test(\"\\0a\\0a\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.13/S15.10.2.13_A1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBDaGFyYWN0ZXJDbGFzcyA6OiBbIFtsb29rYWhlYWQgXG5vdGluIHtefV0gQ2xhc3NSYW5nZXMgXSBldmFsdWF0ZXMgYnkgZXZhbHVhdGluZyBDbGFzc1JhbmdlcyB0byBvYnRhaW4gYSBDaGFyU2V0IGFuZCByZXR1cm5pbmcgdGhhdCBDaGFyU2V0IGFuZCB0aGUgYm9vbGVhbiBmYWxzZQogKgogKiBAcGF0aCBjaDE1LzE1LjEwLzE1LjEwLjIvMTUuMTAuMi4xMy9TMTUuMTAuMi4xM19BMV9UMy5qcwogKiBAZGVzY3JpcHRpb24gRXhlY3V0ZSAvcVtheC16Yl0oPz1ccyspLy5leGVjKCJxWXF5ICIpIGFuZCBjaGVjayByZXN1bHRzCiAqLwoKX19leGVjdXRlZCA9IC9xW2F4LXpiXSg/PVxzKykvLmV4ZWMoInFZcXkgIik7CgpfX2V4cGVjdGVkID0gWyJxeSJdOwpfX2V4cGVjdGVkLmluZGV4ID0gMjsKX19leHBlY3RlZC5pbnB1dCA9ICJxWXF5ICI7CgovL0NIRUNLIzEKaWYgKF9fZXhlY3V0ZWQubGVuZ3RoICE9PSBfX2V4cGVjdGVkLmxlbmd0aCkgewoJJEVSUk9SKCcjMTogX19leGVjdXRlZCA9IC9xW2F4LXpiXSg/PVxccyspLy5leGVjKCJxWXF5ICIpOyBfX2V4ZWN1dGVkLmxlbmd0aCA9PT0gJyArIF9fZXhwZWN0ZWQubGVuZ3RoICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5sZW5ndGgpOwp9CgovL0NIRUNLIzIKaWYgKF9fZXhlY3V0ZWQuaW5kZXggIT09IF9fZXhwZWN0ZWQuaW5kZXgpIHsKCSRFUlJPUignIzI6IF9fZXhlY3V0ZWQgPSAvcVtheC16Yl0oPz1cXHMrKS8uZXhlYygicVlxeSAiKTsgX19leGVjdXRlZC5pbmRleCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5kZXggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmluZGV4KTsKfQoKLy9DSEVDSyMzCmlmIChfX2V4ZWN1dGVkLmlucHV0ICE9PSBfX2V4cGVjdGVkLmlucHV0KSB7CgkkRVJST1IoJyMzOiBfX2V4ZWN1dGVkID0gL3FbYXgtemJdKD89XFxzKykvLmV4ZWMoInFZcXkgIik7IF9fZXhlY3V0ZWQuaW5wdXQgPT09ICcgKyBfX2V4cGVjdGVkLmlucHV0ICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5pbnB1dCk7Cn0KCi8vQ0hFQ0sjNApmb3IodmFyIGluZGV4PTA7IGluZGV4PF9fZXhwZWN0ZWQubGVuZ3RoOyBpbmRleCsrKSB7CglpZiAoX19leGVjdXRlZFtpbmRleF0gIT09IF9fZXhwZWN0ZWRbaW5kZXhdKSB7CgkJJEVSUk9SKCcjNDogX19leGVjdXRlZCA9IC9xW2F4LXpiXSg/PVxccyspLy5leGVjKCJxWXF5ICIpOyBfX2V4ZWN1dGVkWycgKyBpbmRleCArICddID09PSAnICsgX19leHBlY3RlZFtpbmRleF0gKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkW2luZGV4XSk7Cgl9Cn0KCgo=","commentary":"The production CharacterClass :: [ [lookahead \\notin {^}] ClassRanges ] evaluates by evaluating ClassRanges to obtain a CharSet and returning that CharSet and the boolean false","description":"Execute /q[ax-zb](?=\\s+)/.exec(\"qYqy \") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.13/S15.10.2.13_A1_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBDaGFyYWN0ZXJDbGFzcyA6OiBbIFtsb29rYWhlYWQgXG5vdGluIHtefV0gQ2xhc3NSYW5nZXMgXSBldmFsdWF0ZXMgYnkgZXZhbHVhdGluZyBDbGFzc1JhbmdlcyB0byBvYnRhaW4gYSBDaGFyU2V0IGFuZCByZXR1cm5pbmcgdGhhdCBDaGFyU2V0IGFuZCB0aGUgYm9vbGVhbiBmYWxzZQogKgogKiBAcGF0aCBjaDE1LzE1LjEwLzE1LjEwLjIvMTUuMTAuMi4xMy9TMTUuMTAuMi4xM19BMV9UNC5qcwogKiBAZGVzY3JpcHRpb24gRXhlY3V0ZSAvcVtheC16Yl0oPz1ccyspLy5leGVjKCJ0cWFxeSAiKSBhbmQgY2hlY2sgcmVzdWx0cwogKi8KCl9fZXhlY3V0ZWQgPSAvcVtheC16Yl0oPz1ccyspLy5leGVjKCJ0cWFxeSAiKTsKCl9fZXhwZWN0ZWQgPSBbInF5Il07Cl9fZXhwZWN0ZWQuaW5kZXggPSAzOwpfX2V4cGVjdGVkLmlucHV0ID0gInRxYXF5ICI7CgovL0NIRUNLIzEKaWYgKF9fZXhlY3V0ZWQubGVuZ3RoICE9PSBfX2V4cGVjdGVkLmxlbmd0aCkgewoJJEVSUk9SKCcjMTogX19leGVjdXRlZCA9IC9xW2F4LXpiXSg/PVxccyspLy5leGVjKCJ0cWFxeSAiKTsgX19leGVjdXRlZC5sZW5ndGggPT09ICcgKyBfX2V4cGVjdGVkLmxlbmd0aCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQubGVuZ3RoKTsKfQoKLy9DSEVDSyMyCmlmIChfX2V4ZWN1dGVkLmluZGV4ICE9PSBfX2V4cGVjdGVkLmluZGV4KSB7CgkkRVJST1IoJyMyOiBfX2V4ZWN1dGVkID0gL3FbYXgtemJdKD89XFxzKykvLmV4ZWMoInRxYXF5ICIpOyBfX2V4ZWN1dGVkLmluZGV4ID09PSAnICsgX19leHBlY3RlZC5pbmRleCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5kZXgpOwp9CgovL0NIRUNLIzMKaWYgKF9fZXhlY3V0ZWQuaW5wdXQgIT09IF9fZXhwZWN0ZWQuaW5wdXQpIHsKCSRFUlJPUignIzM6IF9fZXhlY3V0ZWQgPSAvcVtheC16Yl0oPz1cXHMrKS8uZXhlYygidHFhcXkgIik7IF9fZXhlY3V0ZWQuaW5wdXQgPT09ICcgKyBfX2V4cGVjdGVkLmlucHV0ICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5pbnB1dCk7Cn0KCi8vQ0hFQ0sjNApmb3IodmFyIGluZGV4PTA7IGluZGV4PF9fZXhwZWN0ZWQubGVuZ3RoOyBpbmRleCsrKSB7CglpZiAoX19leGVjdXRlZFtpbmRleF0gIT09IF9fZXhwZWN0ZWRbaW5kZXhdKSB7CgkJJEVSUk9SKCcjNDogX19leGVjdXRlZCA9IC9xW2F4LXpiXSg/PVxccyspLy5leGVjKCJ0cWFxeSAiKTsgX19leGVjdXRlZFsnICsgaW5kZXggKyAnXSA9PT0gJyArIF9fZXhwZWN0ZWRbaW5kZXhdICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZFtpbmRleF0pOwoJfQp9CgoK","commentary":"The production CharacterClass :: [ [lookahead \\notin {^}] ClassRanges ] evaluates by evaluating ClassRanges to obtain a CharSet and returning that CharSet and the boolean false","description":"Execute /q[ax-zb](?=\\s+)/.exec(\"tqaqy \") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.13/S15.10.2.13_A1_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBDaGFyYWN0ZXJDbGFzcyA6OiBbIFtsb29rYWhlYWQgXG5vdGluIHtefV0gQ2xhc3NSYW5nZXMgXSBldmFsdWF0ZXMgYnkgZXZhbHVhdGluZyBDbGFzc1JhbmdlcyB0byBvYnRhaW4gYSBDaGFyU2V0IGFuZCByZXR1cm5pbmcgdGhhdCBDaGFyU2V0IGFuZCB0aGUgYm9vbGVhbiBmYWxzZQogKgogKiBAcGF0aCBjaDE1LzE1LjEwLzE1LjEwLjIvMTUuMTAuMi4xMy9TMTUuMTAuMi4xM19BMV9UNS5qcwogKiBAZGVzY3JpcHRpb24gRXhlY3V0ZSAvcVtheC16Yl0oPz1ccyspLy5leGVjKCJ0cWFcdCAgcXkgIikgYW5kIGNoZWNrIHJlc3VsdHMKICovCgpfX2V4ZWN1dGVkID0gL3FbYXgtemJdKD89XHMrKS8uZXhlYygidHFhXHQgIHF5ICIpOwoKX19leHBlY3RlZCA9IFsicWEiXTsKX19leHBlY3RlZC5pbmRleCA9IDE7Cl9fZXhwZWN0ZWQuaW5wdXQgPSAidHFhXHQgIHF5ICI7CgovL0NIRUNLIzEKaWYgKF9fZXhlY3V0ZWQubGVuZ3RoICE9PSBfX2V4cGVjdGVkLmxlbmd0aCkgewoJJEVSUk9SKCcjMTogX19leGVjdXRlZCA9IC9xW2F4LXpiXSg/PVxccyspLy5leGVjKCJ0cWFcXHQgIHF5ICIpOyBfX2V4ZWN1dGVkLmxlbmd0aCA9PT0gJyArIF9fZXhwZWN0ZWQubGVuZ3RoICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5sZW5ndGgpOwp9CgovL0NIRUNLIzIKaWYgKF9fZXhlY3V0ZWQuaW5kZXggIT09IF9fZXhwZWN0ZWQuaW5kZXgpIHsKCSRFUlJPUignIzI6IF9fZXhlY3V0ZWQgPSAvcVtheC16Yl0oPz1cXHMrKS8uZXhlYygidHFhXFx0ICBxeSAiKTsgX19leGVjdXRlZC5pbmRleCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5kZXggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmluZGV4KTsKfQoKLy9DSEVDSyMzCmlmIChfX2V4ZWN1dGVkLmlucHV0ICE9PSBfX2V4cGVjdGVkLmlucHV0KSB7CgkkRVJST1IoJyMzOiBfX2V4ZWN1dGVkID0gL3FbYXgtemJdKD89XFxzKykvLmV4ZWMoInRxYVxcdCAgcXkgIik7IF9fZXhlY3V0ZWQuaW5wdXQgPT09ICcgKyBfX2V4cGVjdGVkLmlucHV0ICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5pbnB1dCk7Cn0KCi8vQ0hFQ0sjNApmb3IodmFyIGluZGV4PTA7IGluZGV4PF9fZXhwZWN0ZWQubGVuZ3RoOyBpbmRleCsrKSB7CglpZiAoX19leGVjdXRlZFtpbmRleF0gIT09IF9fZXhwZWN0ZWRbaW5kZXhdKSB7CgkJJEVSUk9SKCcjNDogX19leGVjdXRlZCA9IC9xW2F4LXpiXSg/PVxccyspLy5leGVjKCJ0cWFcXHQgIHF5ICIpOyBfX2V4ZWN1dGVkWycgKyBpbmRleCArICddID09PSAnICsgX19leHBlY3RlZFtpbmRleF0gKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkW2luZGV4XSk7Cgl9Cn0KCgo=","commentary":"The production CharacterClass :: [ [lookahead \\notin {^}] ClassRanges ] evaluates by evaluating ClassRanges to obtain a CharSet and returning that CharSet and the boolean false","description":"Execute /q[ax-zb](?=\\s+)/.exec(\"tqa\\t qy \") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.13/S15.10.2.13_A1_T5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBDaGFyYWN0ZXJDbGFzcyA6OiBbIFtsb29rYWhlYWQgXG5vdGluIHtefV0gQ2xhc3NSYW5nZXMgXSBldmFsdWF0ZXMgYnkgZXZhbHVhdGluZyBDbGFzc1JhbmdlcyB0byBvYnRhaW4gYSBDaGFyU2V0IGFuZCByZXR1cm5pbmcgdGhhdCBDaGFyU2V0IGFuZCB0aGUgYm9vbGVhbiBmYWxzZQogKgogKiBAcGF0aCBjaDE1LzE1LjEwLzE1LjEwLjIvMTUuMTAuMi4xMy9TMTUuMTAuMi4xM19BMV9UNi5qcwogKiBAZGVzY3JpcHRpb24gRXhlY3V0ZSAvYWJbZXJjc3RdZGUvLmV4ZWMoImFiY2RlIikgYW5kIGNoZWNrIHJlc3VsdHMKICovCgpfX2V4ZWN1dGVkID0gL2FiW2VyY3N0XWRlLy5leGVjKCJhYmNkZSIpOwoKX19leHBlY3RlZCA9IFsiYWJjZGUiXTsKX19leHBlY3RlZC5pbmRleCA9IDA7Cl9fZXhwZWN0ZWQuaW5wdXQgPSAiYWJjZGUiOwoKLy9DSEVDSyMxCmlmIChfX2V4ZWN1dGVkLmxlbmd0aCAhPT0gX19leHBlY3RlZC5sZW5ndGgpIHsKCSRFUlJPUignIzE6IF9fZXhlY3V0ZWQgPSAvYWJbZXJjc3RdZGUvLmV4ZWMoImFiY2RlIik7IF9fZXhlY3V0ZWQubGVuZ3RoID09PSAnICsgX19leHBlY3RlZC5sZW5ndGggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmxlbmd0aCk7Cn0KCi8vQ0hFQ0sjMgppZiAoX19leGVjdXRlZC5pbmRleCAhPT0gX19leHBlY3RlZC5pbmRleCkgewoJJEVSUk9SKCcjMjogX19leGVjdXRlZCA9IC9hYltlcmNzdF1kZS8uZXhlYygiYWJjZGUiKTsgX19leGVjdXRlZC5pbmRleCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5kZXggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmluZGV4KTsKfQoKLy9DSEVDSyMzCmlmIChfX2V4ZWN1dGVkLmlucHV0ICE9PSBfX2V4cGVjdGVkLmlucHV0KSB7CgkkRVJST1IoJyMzOiBfX2V4ZWN1dGVkID0gL2FiW2VyY3N0XWRlLy5leGVjKCJhYmNkZSIpOyBfX2V4ZWN1dGVkLmlucHV0ID09PSAnICsgX19leHBlY3RlZC5pbnB1dCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5wdXQpOwp9CgovL0NIRUNLIzQKZm9yKHZhciBpbmRleD0wOyBpbmRleDxfX2V4cGVjdGVkLmxlbmd0aDsgaW5kZXgrKykgewoJaWYgKF9fZXhlY3V0ZWRbaW5kZXhdICE9PSBfX2V4cGVjdGVkW2luZGV4XSkgewoJCSRFUlJPUignIzQ6IF9fZXhlY3V0ZWQgPSAvYWJbZXJjc3RdZGUvLmV4ZWMoImFiY2RlIik7IF9fZXhlY3V0ZWRbJyArIGluZGV4ICsgJ10gPT09ICcgKyBfX2V4cGVjdGVkW2luZGV4XSArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWRbaW5kZXhdKTsKCX0KfQoKCg==","commentary":"The production CharacterClass :: [ [lookahead \\notin {^}] ClassRanges ] evaluates by evaluating ClassRanges to obtain a CharSet and returning that CharSet and the boolean false","description":"Execute /ab[ercst]de/.exec(\"abcde\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.13/S15.10.2.13_A1_T6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBDaGFyYWN0ZXJDbGFzcyA6OiBbIFtsb29rYWhlYWQgXG5vdGluIHtefV0gQ2xhc3NSYW5nZXMgXSBldmFsdWF0ZXMgYnkgZXZhbHVhdGluZyBDbGFzc1JhbmdlcyB0byBvYnRhaW4gYSBDaGFyU2V0IGFuZCByZXR1cm5pbmcgdGhhdCBDaGFyU2V0IGFuZCB0aGUgYm9vbGVhbiBmYWxzZQogKgogKiBAcGF0aCBjaDE1LzE1LjEwLzE1LjEwLjIvMTUuMTAuMi4xMy9TMTUuMTAuMi4xM19BMV9UNy5qcwogKiBAZGVzY3JpcHRpb24gRXhlY3V0ZSAvYWJbZXJzdF1kZS8udGVzdCgiYWJjZGUiKSBhbmQgY2hlY2sgcmVzdWx0cwogKi8KCl9fZXhlY3V0ZWQgPSAvYWJbZXJzdF1kZS8udGVzdCgiYWJjZGUiKTsKCi8vQ0hFQ0sjMQppZiAoX19leGVjdXRlZCkgewoJJEVSUk9SKCcjMTogL2FiW2Vyc3RdZGUvLnRlc3QoImFiY2RlIikgPT09IGZhbHNlJyk7Cn0KCgo=","commentary":"The production CharacterClass :: [ [lookahead \\notin {^}] ClassRanges ] evaluates by evaluating ClassRanges to obtain a CharSet and returning that CharSet and the boolean false","description":"Execute /ab[erst]de/.test(\"abcde\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.13/S15.10.2.13_A1_T7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBDaGFyYWN0ZXJDbGFzcyA6OiBbIFtsb29rYWhlYWQgXG5vdGluIHtefV0gQ2xhc3NSYW5nZXMgXSBldmFsdWF0ZXMgYnkgZXZhbHVhdGluZyBDbGFzc1JhbmdlcyB0byBvYnRhaW4gYSBDaGFyU2V0IGFuZCByZXR1cm5pbmcgdGhhdCBDaGFyU2V0IGFuZCB0aGUgYm9vbGVhbiBmYWxzZQogKgogKiBAcGF0aCBjaDE1LzE1LjEwLzE1LjEwLjIvMTUuMTAuMi4xMy9TMTUuMTAuMi4xM19BMV9UOC5qcwogKiBAZGVzY3JpcHRpb24gRXhlY3V0ZSAvW2QtaF0rLy5leGVjKCJhYmNkZWZnaGlqa2wiKSBhbmQgY2hlY2sgcmVzdWx0cwogKi8KCl9fZXhlY3V0ZWQgPSAvW2QtaF0rLy5leGVjKCJhYmNkZWZnaGlqa2wiKTsKCl9fZXhwZWN0ZWQgPSBbImRlZmdoIl07Cl9fZXhwZWN0ZWQuaW5kZXggPSAzOwpfX2V4cGVjdGVkLmlucHV0ID0gImFiY2RlZmdoaWprbCI7CgovL0NIRUNLIzEKaWYgKF9fZXhlY3V0ZWQubGVuZ3RoICE9PSBfX2V4cGVjdGVkLmxlbmd0aCkgewoJJEVSUk9SKCcjMTogX19leGVjdXRlZCA9IC9bZC1oXSsvLmV4ZWMoImFiY2RlZmdoaWprbCIpOyBfX2V4ZWN1dGVkLmxlbmd0aCA9PT0gJyArIF9fZXhwZWN0ZWQubGVuZ3RoICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5sZW5ndGgpOwp9CgovL0NIRUNLIzIKaWYgKF9fZXhlY3V0ZWQuaW5kZXggIT09IF9fZXhwZWN0ZWQuaW5kZXgpIHsKCSRFUlJPUignIzI6IF9fZXhlY3V0ZWQgPSAvW2QtaF0rLy5leGVjKCJhYmNkZWZnaGlqa2wiKTsgX19leGVjdXRlZC5pbmRleCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5kZXggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmluZGV4KTsKfQoKLy9DSEVDSyMzCmlmIChfX2V4ZWN1dGVkLmlucHV0ICE9PSBfX2V4cGVjdGVkLmlucHV0KSB7CgkkRVJST1IoJyMzOiBfX2V4ZWN1dGVkID0gL1tkLWhdKy8uZXhlYygiYWJjZGVmZ2hpamtsIik7IF9fZXhlY3V0ZWQuaW5wdXQgPT09ICcgKyBfX2V4cGVjdGVkLmlucHV0ICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5pbnB1dCk7Cn0KCi8vQ0hFQ0sjNApmb3IodmFyIGluZGV4PTA7IGluZGV4PF9fZXhwZWN0ZWQubGVuZ3RoOyBpbmRleCsrKSB7CglpZiAoX19leGVjdXRlZFtpbmRleF0gIT09IF9fZXhwZWN0ZWRbaW5kZXhdKSB7CgkJJEVSUk9SKCcjNDogX19leGVjdXRlZCA9IC9bZC1oXSsvLmV4ZWMoImFiY2RlZmdoaWprbCIpOyBfX2V4ZWN1dGVkWycgKyBpbmRleCArICddID09PSAnICsgX19leHBlY3RlZFtpbmRleF0gKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkW2luZGV4XSk7Cgl9Cn0KCgo=","commentary":"The production CharacterClass :: [ [lookahead \\notin {^}] ClassRanges ] evaluates by evaluating ClassRanges to obtain a CharSet and returning that CharSet and the boolean false","description":"Execute /[d-h]+/.exec(\"abcdefghijkl\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.13/S15.10.2.13_A1_T8.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBDaGFyYWN0ZXJDbGFzcyA6OiBbIFtsb29rYWhlYWQgXG5vdGluIHtefV0gQ2xhc3NSYW5nZXMgXSBldmFsdWF0ZXMgYnkgZXZhbHVhdGluZyBDbGFzc1JhbmdlcyB0byBvYnRhaW4gYSBDaGFyU2V0IGFuZCByZXR1cm5pbmcgdGhhdCBDaGFyU2V0IGFuZCB0aGUgYm9vbGVhbiBmYWxzZQogKgogKiBAcGF0aCBjaDE1LzE1LjEwLzE1LjEwLjIvMTUuMTAuMi4xMy9TMTUuMTAuMi4xM19BMV9UOS5qcwogKiBAZGVzY3JpcHRpb24gRXhlY3V0ZSAvWzEyMzQ1NjddLnsyfS8uZXhlYygiYWJjNmRlZmdoaWprbCIpIGFuZCBjaGVjayByZXN1bHRzCiAqLwoKX19leGVjdXRlZCA9IC9bMTIzNDU2N10uezJ9Ly5leGVjKCJhYmM2ZGVmZ2hpamtsIik7CgpfX2V4cGVjdGVkID0gWyI2ZGUiXTsKX19leHBlY3RlZC5pbmRleCA9IDM7Cl9fZXhwZWN0ZWQuaW5wdXQgPSAiYWJjNmRlZmdoaWprbCI7CgovL0NIRUNLIzEKaWYgKF9fZXhlY3V0ZWQubGVuZ3RoICE9PSBfX2V4cGVjdGVkLmxlbmd0aCkgewoJJEVSUk9SKCcjMTogX19leGVjdXRlZCA9IC9bMTIzNDU2N10uezJ9Ly5leGVjKCJhYmM2ZGVmZ2hpamtsIik7IF9fZXhlY3V0ZWQubGVuZ3RoID09PSAnICsgX19leHBlY3RlZC5sZW5ndGggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmxlbmd0aCk7Cn0KCi8vQ0hFQ0sjMgppZiAoX19leGVjdXRlZC5pbmRleCAhPT0gX19leHBlY3RlZC5pbmRleCkgewoJJEVSUk9SKCcjMjogX19leGVjdXRlZCA9IC9bMTIzNDU2N10uezJ9Ly5leGVjKCJhYmM2ZGVmZ2hpamtsIik7IF9fZXhlY3V0ZWQuaW5kZXggPT09ICcgKyBfX2V4cGVjdGVkLmluZGV4ICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5pbmRleCk7Cn0KCi8vQ0hFQ0sjMwppZiAoX19leGVjdXRlZC5pbnB1dCAhPT0gX19leHBlY3RlZC5pbnB1dCkgewoJJEVSUk9SKCcjMzogX19leGVjdXRlZCA9IC9bMTIzNDU2N10uezJ9Ly5leGVjKCJhYmM2ZGVmZ2hpamtsIik7IF9fZXhlY3V0ZWQuaW5wdXQgPT09ICcgKyBfX2V4cGVjdGVkLmlucHV0ICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5pbnB1dCk7Cn0KCi8vQ0hFQ0sjNApmb3IodmFyIGluZGV4PTA7IGluZGV4PF9fZXhwZWN0ZWQubGVuZ3RoOyBpbmRleCsrKSB7CglpZiAoX19leGVjdXRlZFtpbmRleF0gIT09IF9fZXhwZWN0ZWRbaW5kZXhdKSB7CgkJJEVSUk9SKCcjNDogX19leGVjdXRlZCA9IC9bMTIzNDU2N10uezJ9Ly5leGVjKCJhYmM2ZGVmZ2hpamtsIik7IF9fZXhlY3V0ZWRbJyArIGluZGV4ICsgJ10gPT09ICcgKyBfX2V4cGVjdGVkW2luZGV4XSArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWRbaW5kZXhdKTsKCX0KfQoKCg==","commentary":"The production CharacterClass :: [ [lookahead \\notin {^}] ClassRanges ] evaluates by evaluating ClassRanges to obtain a CharSet and returning that CharSet and the boolean false","description":"Execute /[1234567].{2}/.exec(\"abc6defghijkl\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.13/S15.10.2.13_A1_T9.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBDaGFyYWN0ZXJDbGFzcyA6OiBbIF4gQ2xhc3NSYW5nZXMgXSBldmFsdWF0ZXMgYnkgZXZhbHVhdGluZyBDbGFzc1JhbmdlcyB0byAgb2J0YWluIGEgQ2hhclNldCBhbmQgcmV0dXJuaW5nIHRoYXQgQ2hhclNldCBhbmQgdGhlIGJvb2xlYW4gdHJ1ZQogKgogKiBAcGF0aCBjaDE1LzE1LjEwLzE1LjEwLjIvMTUuMTAuMi4xMy9TMTUuMTAuMi4xM19BMl9UMS5qcwogKiBAZGVzY3JpcHRpb24gRXhlY3V0ZSAvW15dYS9tLmV4ZWMoImFcbmFiYSIpIGFuZCBjaGVjayByZXN1bHRzCiAqLwoKX19leGVjdXRlZCA9IC9bXl1hL20uZXhlYygiYVxuYWJhIik7CgpfX2V4cGVjdGVkID0gWyJcbmEiXTsKX19leHBlY3RlZC5pbmRleCA9IDE7Cl9fZXhwZWN0ZWQuaW5wdXQgPSAiYVxuYWJhIjsKCi8vQ0hFQ0sjMQppZiAoX19leGVjdXRlZC5sZW5ndGggIT09IF9fZXhwZWN0ZWQubGVuZ3RoKSB7CgkkRVJST1IoJyMxOiBfX2V4ZWN1dGVkID0gL1teXWEvbS5leGVjKCJhXFxuYWJhIik7IF9fZXhlY3V0ZWQubGVuZ3RoID09PSAnICsgX19leHBlY3RlZC5sZW5ndGggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmxlbmd0aCk7Cn0KCi8vQ0hFQ0sjMgppZiAoX19leGVjdXRlZC5pbmRleCAhPT0gX19leHBlY3RlZC5pbmRleCkgewoJJEVSUk9SKCcjMjogX19leGVjdXRlZCA9IC9bXl1hL20uZXhlYygiYVxcbmFiYSIpOyBfX2V4ZWN1dGVkLmluZGV4ID09PSAnICsgX19leHBlY3RlZC5pbmRleCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5kZXgpOwp9CgovL0NIRUNLIzMKaWYgKF9fZXhlY3V0ZWQuaW5wdXQgIT09IF9fZXhwZWN0ZWQuaW5wdXQpIHsKCSRFUlJPUignIzM6IF9fZXhlY3V0ZWQgPSAvW15dYS9tLmV4ZWMoImFcXG5hYmEiKTsgX19leGVjdXRlZC5pbnB1dCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5wdXQgKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmlucHV0KTsKfQoKLy9DSEVDSyM0CmZvcih2YXIgaW5kZXg9MDsgaW5kZXg8X19leHBlY3RlZC5sZW5ndGg7IGluZGV4KyspIHsKCWlmIChfX2V4ZWN1dGVkW2luZGV4XSAhPT0gX19leHBlY3RlZFtpbmRleF0pIHsKCQkkRVJST1IoJyM0OiBfX2V4ZWN1dGVkID0gL1teXWEvbS5leGVjKCJhXFxuYWJhIik7IF9fZXhlY3V0ZWRbJyArIGluZGV4ICsgJ10gPT09ICcgKyBfX2V4cGVjdGVkW2luZGV4XSArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWRbaW5kZXhdKTsKCX0KfQoKCg==","commentary":"The production CharacterClass :: [ ^ ClassRanges ] evaluates by evaluating ClassRanges to obtain a CharSet and returning that CharSet and the boolean true","description":"Execute /[^]a/m.exec(\"a\\naba\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.13/S15.10.2.13_A2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBDaGFyYWN0ZXJDbGFzcyA6OiBbIF4gQ2xhc3NSYW5nZXMgXSBldmFsdWF0ZXMgYnkgZXZhbHVhdGluZyBDbGFzc1JhbmdlcyB0byAgb2J0YWluIGEgQ2hhclNldCBhbmQgcmV0dXJuaW5nIHRoYXQgQ2hhclNldCBhbmQgdGhlIGJvb2xlYW4gdHJ1ZQogKgogKiBAcGF0aCBjaDE1LzE1LjEwLzE1LjEwLjIvMTUuMTAuMi4xMy9TMTUuMTAuMi4xM19BMl9UMi5qcwogKiBAZGVzY3JpcHRpb24gRXhlY3V0ZSAvYVteXS8uZXhlYygiICAgYVx0XG4iKSBhbmQgY2hlY2sgcmVzdWx0cwogKi8KCl9fZXhlY3V0ZWQgPSAvYVteXS8uZXhlYygiICAgYVx0XG4iKTsKCl9fZXhwZWN0ZWQgPSBbImFcdCJdOwpfX2V4cGVjdGVkLmluZGV4ID0gMzsKX19leHBlY3RlZC5pbnB1dCA9ICIgICBhXHRcbiI7CgovL0NIRUNLIzEKaWYgKF9fZXhlY3V0ZWQubGVuZ3RoICE9PSBfX2V4cGVjdGVkLmxlbmd0aCkgewoJJEVSUk9SKCcjMTogX19leGVjdXRlZCA9IC9hW15dLy5leGVjKCIgICBhXFx0XFxuIik7IF9fZXhlY3V0ZWQubGVuZ3RoID09PSAnICsgX19leHBlY3RlZC5sZW5ndGggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmxlbmd0aCk7Cn0KCi8vQ0hFQ0sjMgppZiAoX19leGVjdXRlZC5pbmRleCAhPT0gX19leHBlY3RlZC5pbmRleCkgewoJJEVSUk9SKCcjMjogX19leGVjdXRlZCA9IC9hW15dLy5leGVjKCIgICBhXFx0XFxuIik7IF9fZXhlY3V0ZWQuaW5kZXggPT09ICcgKyBfX2V4cGVjdGVkLmluZGV4ICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5pbmRleCk7Cn0KCi8vQ0hFQ0sjMwppZiAoX19leGVjdXRlZC5pbnB1dCAhPT0gX19leHBlY3RlZC5pbnB1dCkgewoJJEVSUk9SKCcjMzogX19leGVjdXRlZCA9IC9hW15dLy5leGVjKCIgICBhXFx0XFxuIik7IF9fZXhlY3V0ZWQuaW5wdXQgPT09ICcgKyBfX2V4cGVjdGVkLmlucHV0ICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5pbnB1dCk7Cn0KCi8vQ0hFQ0sjNApmb3IodmFyIGluZGV4PTA7IGluZGV4PF9fZXhwZWN0ZWQubGVuZ3RoOyBpbmRleCsrKSB7CglpZiAoX19leGVjdXRlZFtpbmRleF0gIT09IF9fZXhwZWN0ZWRbaW5kZXhdKSB7CgkJJEVSUk9SKCcjNDogX19leGVjdXRlZCA9IC9hW15dLy5leGVjKCIgICBhXFx0XFxuIik7IF9fZXhlY3V0ZWRbJyArIGluZGV4ICsgJ10gPT09ICcgKyBfX2V4cGVjdGVkW2luZGV4XSArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWRbaW5kZXhdKTsKCX0KfQoKCg==","commentary":"The production CharacterClass :: [ ^ ClassRanges ] evaluates by evaluating ClassRanges to obtain a CharSet and returning that CharSet and the boolean true","description":"Execute /a[^]/.exec(\" a\\t\\n\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.13/S15.10.2.13_A2_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBDaGFyYWN0ZXJDbGFzcyA6OiBbIF4gQ2xhc3NSYW5nZXMgXSBldmFsdWF0ZXMgYnkgZXZhbHVhdGluZyBDbGFzc1JhbmdlcyB0byAgb2J0YWluIGEgQ2hhclNldCBhbmQgcmV0dXJuaW5nIHRoYXQgQ2hhclNldCBhbmQgdGhlIGJvb2xlYW4gdHJ1ZQogKgogKiBAcGF0aCBjaDE1LzE1LjEwLzE1LjEwLjIvMTUuMTAuMi4xMy9TMTUuMTAuMi4xM19BMl9UMy5qcwogKiBAZGVzY3JpcHRpb24gRXhlY3V0ZSAvYVteYi16XVxzKy8uZXhlYygiYWIgYW4gYXogYVkgbiIpIGFuZCBjaGVjayByZXN1bHRzCiAqLwoKX19leGVjdXRlZCA9IC9hW15iLXpdXHMrLy5leGVjKCJhYiBhbiBheiBhWSBuIik7CgpfX2V4cGVjdGVkID0gWyJhWSAiXTsKX19leHBlY3RlZC5pbmRleCA9IDk7Cl9fZXhwZWN0ZWQuaW5wdXQgPSAiYWIgYW4gYXogYVkgbiI7CgovL0NIRUNLIzEKaWYgKF9fZXhlY3V0ZWQubGVuZ3RoICE9PSBfX2V4cGVjdGVkLmxlbmd0aCkgewoJJEVSUk9SKCcjMTogX19leGVjdXRlZCA9IC9hW15iLXpdXFxzKy8uZXhlYygiYWIgYW4gYXogYVkgbiIpOyBfX2V4ZWN1dGVkLmxlbmd0aCA9PT0gJyArIF9fZXhwZWN0ZWQubGVuZ3RoICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5sZW5ndGgpOwp9CgovL0NIRUNLIzIKaWYgKF9fZXhlY3V0ZWQuaW5kZXggIT09IF9fZXhwZWN0ZWQuaW5kZXgpIHsKCSRFUlJPUignIzI6IF9fZXhlY3V0ZWQgPSAvYVteYi16XVxccysvLmV4ZWMoImFiIGFuIGF6IGFZIG4iKTsgX19leGVjdXRlZC5pbmRleCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5kZXggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmluZGV4KTsKfQoKLy9DSEVDSyMzCmlmIChfX2V4ZWN1dGVkLmlucHV0ICE9PSBfX2V4cGVjdGVkLmlucHV0KSB7CgkkRVJST1IoJyMzOiBfX2V4ZWN1dGVkID0gL2FbXmItel1cXHMrLy5leGVjKCJhYiBhbiBheiBhWSBuIik7IF9fZXhlY3V0ZWQuaW5wdXQgPT09ICcgKyBfX2V4cGVjdGVkLmlucHV0ICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5pbnB1dCk7Cn0KCi8vQ0hFQ0sjNApmb3IodmFyIGluZGV4PTA7IGluZGV4PF9fZXhwZWN0ZWQubGVuZ3RoOyBpbmRleCsrKSB7CglpZiAoX19leGVjdXRlZFtpbmRleF0gIT09IF9fZXhwZWN0ZWRbaW5kZXhdKSB7CgkJJEVSUk9SKCcjNDogX19leGVjdXRlZCA9IC9hW15iLXpdXFxzKy8uZXhlYygiYWIgYW4gYXogYVkgbiIpOyBfX2V4ZWN1dGVkWycgKyBpbmRleCArICddID09PSAnICsgX19leHBlY3RlZFtpbmRleF0gKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkW2luZGV4XSk7Cgl9Cn0KCgo=","commentary":"The production CharacterClass :: [ ^ ClassRanges ] evaluates by evaluating ClassRanges to obtain a CharSet and returning that CharSet and the boolean true","description":"Execute /a[^b-z]\\s+/.exec(\"ab an az aY n\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.13/S15.10.2.13_A2_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBDaGFyYWN0ZXJDbGFzcyA6OiBbIF4gQ2xhc3NSYW5nZXMgXSBldmFsdWF0ZXMgYnkgZXZhbHVhdGluZyBDbGFzc1JhbmdlcyB0byAgb2J0YWluIGEgQ2hhclNldCBhbmQgcmV0dXJuaW5nIHRoYXQgQ2hhclNldCBhbmQgdGhlIGJvb2xlYW4gdHJ1ZQogKgogKiBAcGF0aCBjaDE1LzE1LjEwLzE1LjEwLjIvMTUuMTAuMi4xMy9TMTUuMTAuMi4xM19BMl9UNC5qcwogKiBAZGVzY3JpcHRpb24gRXhlY3V0ZSAvW15cYl0rL2cuZXhlYygiZWFzeVxidG9cdTAwMDhyaWRlIikgYW5kIGNoZWNrIHJlc3VsdHMKICovCgpfX2V4ZWN1dGVkID0gL1teXGJdKy9nLmV4ZWMoImVhc3lcYnRvXHUwMDA4cmlkZSIpOwoKX19leHBlY3RlZCA9IFsiZWFzeSJdOwpfX2V4cGVjdGVkLmluZGV4ID0gMDsKX19leHBlY3RlZC5pbnB1dCA9ICJlYXN5XGJ0b1x1MDAwOHJpZGUiOwoKLy9DSEVDSyMxCmlmIChfX2V4ZWN1dGVkLmxlbmd0aCAhPT0gX19leHBlY3RlZC5sZW5ndGgpIHsKCSRFUlJPUignIzE6IF9fZXhlY3V0ZWQgPSAvW15cXGJdKy9nLmV4ZWMoImVhc3lcXGJ0b1xcdTAwMDhyaWRlIik7IF9fZXhlY3V0ZWQubGVuZ3RoID09PSAnICsgX19leHBlY3RlZC5sZW5ndGggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmxlbmd0aCk7Cn0KCi8vQ0hFQ0sjMgppZiAoX19leGVjdXRlZC5pbmRleCAhPT0gX19leHBlY3RlZC5pbmRleCkgewoJJEVSUk9SKCcjMjogX19leGVjdXRlZCA9IC9bXlxcYl0rL2cuZXhlYygiZWFzeVxcYnRvXFx1MDAwOHJpZGUiKTsgX19leGVjdXRlZC5pbmRleCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5kZXggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmluZGV4KTsKfQoKLy9DSEVDSyMzCmlmIChfX2V4ZWN1dGVkLmlucHV0ICE9PSBfX2V4cGVjdGVkLmlucHV0KSB7CgkkRVJST1IoJyMzOiBfX2V4ZWN1dGVkID0gL1teXFxiXSsvZy5leGVjKCJlYXN5XFxidG9cXHUwMDA4cmlkZSIpOyBfX2V4ZWN1dGVkLmlucHV0ID09PSAnICsgX19leHBlY3RlZC5pbnB1dCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5wdXQpOwp9CgovL0NIRUNLIzQKZm9yKHZhciBpbmRleD0wOyBpbmRleDxfX2V4cGVjdGVkLmxlbmd0aDsgaW5kZXgrKykgewoJaWYgKF9fZXhlY3V0ZWRbaW5kZXhdICE9PSBfX2V4cGVjdGVkW2luZGV4XSkgewoJCSRFUlJPUignIzQ6IF9fZXhlY3V0ZWQgPSAvW15cXGJdKy9nLmV4ZWMoImVhc3lcXGJ0b1xcdTAwMDhyaWRlIik7IF9fZXhlY3V0ZWRbJyArIGluZGV4ICsgJ10gPT09ICcgKyBfX2V4cGVjdGVkW2luZGV4XSArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWRbaW5kZXhdKTsKCX0KfQoKCg==","commentary":"The production CharacterClass :: [ ^ ClassRanges ] evaluates by evaluating ClassRanges to obtain a CharSet and returning that CharSet and the boolean true","description":"Execute /[^\\b]+/g.exec(\"easy\\bto\\u0008ride\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.13/S15.10.2.13_A2_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBDaGFyYWN0ZXJDbGFzcyA6OiBbIF4gQ2xhc3NSYW5nZXMgXSBldmFsdWF0ZXMgYnkgZXZhbHVhdGluZyBDbGFzc1JhbmdlcyB0byAgb2J0YWluIGEgQ2hhclNldCBhbmQgcmV0dXJuaW5nIHRoYXQgQ2hhclNldCBhbmQgdGhlIGJvb2xlYW4gdHJ1ZQogKgogKiBAcGF0aCBjaDE1LzE1LjEwLzE1LjEwLjIvMTUuMTAuMi4xMy9TMTUuMTAuMi4xM19BMl9UNS5qcwogKiBAZGVzY3JpcHRpb24gRXhlY3V0ZSAvYVteMS05XWMvLmV4ZWMoImFiYyIpIGFuZCBjaGVjayByZXN1bHRzCiAqLwoKX19leGVjdXRlZCA9IC9hW14xLTldYy8uZXhlYygiYWJjIik7CgpfX2V4cGVjdGVkID0gWyJhYmMiXTsKX19leHBlY3RlZC5pbmRleCA9IDA7Cl9fZXhwZWN0ZWQuaW5wdXQgPSAiYWJjIjsKCi8vQ0hFQ0sjMQppZiAoX19leGVjdXRlZC5sZW5ndGggIT09IF9fZXhwZWN0ZWQubGVuZ3RoKSB7CgkkRVJST1IoJyMxOiBfX2V4ZWN1dGVkID0gL2FbXjEtOV1jLy5leGVjKCJhYmMiKTsgX19leGVjdXRlZC5sZW5ndGggPT09ICcgKyBfX2V4cGVjdGVkLmxlbmd0aCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQubGVuZ3RoKTsKfQoKLy9DSEVDSyMyCmlmIChfX2V4ZWN1dGVkLmluZGV4ICE9PSBfX2V4cGVjdGVkLmluZGV4KSB7CgkkRVJST1IoJyMyOiBfX2V4ZWN1dGVkID0gL2FbXjEtOV1jLy5leGVjKCJhYmMiKTsgX19leGVjdXRlZC5pbmRleCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5kZXggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmluZGV4KTsKfQoKLy9DSEVDSyMzCmlmIChfX2V4ZWN1dGVkLmlucHV0ICE9PSBfX2V4cGVjdGVkLmlucHV0KSB7CgkkRVJST1IoJyMzOiBfX2V4ZWN1dGVkID0gL2FbXjEtOV1jLy5leGVjKCJhYmMiKTsgX19leGVjdXRlZC5pbnB1dCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5wdXQgKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmlucHV0KTsKfQoKLy9DSEVDSyM0CmZvcih2YXIgaW5kZXg9MDsgaW5kZXg8X19leHBlY3RlZC5sZW5ndGg7IGluZGV4KyspIHsKCWlmIChfX2V4ZWN1dGVkW2luZGV4XSAhPT0gX19leHBlY3RlZFtpbmRleF0pIHsKCQkkRVJST1IoJyM0OiBfX2V4ZWN1dGVkID0gL2FbXjEtOV1jLy5leGVjKCJhYmMiKTsgX19leGVjdXRlZFsnICsgaW5kZXggKyAnXSA9PT0gJyArIF9fZXhwZWN0ZWRbaW5kZXhdICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZFtpbmRleF0pOwoJfQp9CgoK","commentary":"The production CharacterClass :: [ ^ ClassRanges ] evaluates by evaluating ClassRanges to obtain a CharSet and returning that CharSet and the boolean true","description":"Execute /a[^1-9]c/.exec(\"abc\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.13/S15.10.2.13_A2_T5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBDaGFyYWN0ZXJDbGFzcyA6OiBbIF4gQ2xhc3NSYW5nZXMgXSBldmFsdWF0ZXMgYnkgZXZhbHVhdGluZyBDbGFzc1JhbmdlcyB0byAgb2J0YWluIGEgQ2hhclNldCBhbmQgcmV0dXJuaW5nIHRoYXQgQ2hhclNldCBhbmQgdGhlIGJvb2xlYW4gdHJ1ZQogKgogKiBAcGF0aCBjaDE1LzE1LjEwLzE1LjEwLjIvMTUuMTAuMi4xMy9TMTUuMTAuMi4xM19BMl9UNi5qcwogKiBAZGVzY3JpcHRpb24gRXhlY3V0ZSAvYVteYl1jLy50ZXN0KCJhYmMiKSBhbmQgY2hlY2sgcmVzdWx0cwogKi8KCl9fZXhlY3V0ZWQgPSAvYVteYl1jLy50ZXN0KCJhYmMiKTsKCi8vQ0hFQ0sjMQppZiAoX19leGVjdXRlZCkgewoJJEVSUk9SKCcjMTogL2FbXmJdYy8udGVzdCgiYWJjIikgPT09IGZhbHNlJyk7Cn0KCgo=","commentary":"The production CharacterClass :: [ ^ ClassRanges ] evaluates by evaluating ClassRanges to obtain a CharSet and returning that CharSet and the boolean true","description":"Execute /a[^b]c/.test(\"abc\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.13/S15.10.2.13_A2_T6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBDaGFyYWN0ZXJDbGFzcyA6OiBbIF4gQ2xhc3NSYW5nZXMgXSBldmFsdWF0ZXMgYnkgZXZhbHVhdGluZyBDbGFzc1JhbmdlcyB0byAgb2J0YWluIGEgQ2hhclNldCBhbmQgcmV0dXJuaW5nIHRoYXQgQ2hhclNldCBhbmQgdGhlIGJvb2xlYW4gdHJ1ZQogKgogKiBAcGF0aCBjaDE1LzE1LjEwLzE1LjEwLjIvMTUuMTAuMi4xMy9TMTUuMTAuMi4xM19BMl9UNy5qcwogKiBAZGVzY3JpcHRpb24gRXhlY3V0ZSAvW15hLXpdezR9Ly5leGVjKCJhYmMjJCVkZWYlJipAZ2hpIikgYW5kIGNoZWNrIHJlc3VsdHMKICovCgpfX2V4ZWN1dGVkID0gL1teYS16XXs0fS8uZXhlYygiYWJjIyQlZGVmJSYqQGdoaSIpOwoKX19leHBlY3RlZCA9IFsiJSYqQCJdOwpfX2V4cGVjdGVkLmluZGV4ID0gOTsKX19leHBlY3RlZC5pbnB1dCA9ICJhYmMjJCVkZWYlJipAZ2hpIjsKCi8vQ0hFQ0sjMQppZiAoX19leGVjdXRlZC5sZW5ndGggIT09IF9fZXhwZWN0ZWQubGVuZ3RoKSB7CgkkRVJST1IoJyMxOiBfX2V4ZWN1dGVkID0gL1teYS16XXs0fS8uZXhlYygiYWJjIyQlZGVmJSYqQGdoaSIpOyBfX2V4ZWN1dGVkLmxlbmd0aCA9PT0gJyArIF9fZXhwZWN0ZWQubGVuZ3RoICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5sZW5ndGgpOwp9CgovL0NIRUNLIzIKaWYgKF9fZXhlY3V0ZWQuaW5kZXggIT09IF9fZXhwZWN0ZWQuaW5kZXgpIHsKCSRFUlJPUignIzI6IF9fZXhlY3V0ZWQgPSAvW15hLXpdezR9Ly5leGVjKCJhYmMjJCVkZWYlJipAZ2hpIik7IF9fZXhlY3V0ZWQuaW5kZXggPT09ICcgKyBfX2V4cGVjdGVkLmluZGV4ICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5pbmRleCk7Cn0KCi8vQ0hFQ0sjMwppZiAoX19leGVjdXRlZC5pbnB1dCAhPT0gX19leHBlY3RlZC5pbnB1dCkgewoJJEVSUk9SKCcjMzogX19leGVjdXRlZCA9IC9bXmEtel17NH0vLmV4ZWMoImFiYyMkJWRlZiUmKkBnaGkiKTsgX19leGVjdXRlZC5pbnB1dCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5wdXQgKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmlucHV0KTsKfQoKLy9DSEVDSyM0CmZvcih2YXIgaW5kZXg9MDsgaW5kZXg8X19leHBlY3RlZC5sZW5ndGg7IGluZGV4KyspIHsKCWlmIChfX2V4ZWN1dGVkW2luZGV4XSAhPT0gX19leHBlY3RlZFtpbmRleF0pIHsKCQkkRVJST1IoJyM0OiBfX2V4ZWN1dGVkID0gL1teYS16XXs0fS8uZXhlYygiYWJjIyQlZGVmJSYqQGdoaSIpOyBfX2V4ZWN1dGVkWycgKyBpbmRleCArICddID09PSAnICsgX19leHBlY3RlZFtpbmRleF0gKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkW2luZGV4XSk7Cgl9Cn0KCgo=","commentary":"The production CharacterClass :: [ ^ ClassRanges ] evaluates by evaluating ClassRanges to obtain a CharSet and returning that CharSet and the boolean true","description":"Execute /[^a-z]{4}/.exec(\"abc#$%def%&*@ghi\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.13/S15.10.2.13_A2_T7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBDaGFyYWN0ZXJDbGFzcyA6OiBbIF4gQ2xhc3NSYW5nZXMgXSBldmFsdWF0ZXMgYnkgZXZhbHVhdGluZyBDbGFzc1JhbmdlcyB0byAgb2J0YWluIGEgQ2hhclNldCBhbmQgcmV0dXJuaW5nIHRoYXQgQ2hhclNldCBhbmQgdGhlIGJvb2xlYW4gdHJ1ZQogKgogKiBAcGF0aCBjaDE1LzE1LjEwLzE1LjEwLjIvMTUuMTAuMi4xMy9TMTUuMTAuMi4xM19BMl9UOC5qcwogKiBAZGVzY3JpcHRpb24gRXhlY3V0ZSAvW15dLy5leGVjKCJhYmMjJCVkZWYlJipAZ2hpIikgYW5kIGNoZWNrIHJlc3VsdHMKICovCgpfX2V4ZWN1dGVkID0gL1teXS8uZXhlYygiYWJjIyQlZGVmJSYqQGdoaSIpOwoKX19leHBlY3RlZCA9IFsiYSJdOwpfX2V4cGVjdGVkLmluZGV4ID0gMDsKX19leHBlY3RlZC5pbnB1dCA9ICJhYmMjJCVkZWYlJipAZ2hpIjsKCi8vQ0hFQ0sjMQppZiAoX19leGVjdXRlZC5sZW5ndGggIT09IF9fZXhwZWN0ZWQubGVuZ3RoKSB7CgkkRVJST1IoJyMxOiBfX2V4ZWN1dGVkID0gL1teXS8uZXhlYygiYWJjIyQlZGVmJSYqQGdoaSIpOyBfX2V4ZWN1dGVkLmxlbmd0aCA9PT0gJyArIF9fZXhwZWN0ZWQubGVuZ3RoICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5sZW5ndGgpOwp9CgovL0NIRUNLIzIKaWYgKF9fZXhlY3V0ZWQuaW5kZXggIT09IF9fZXhwZWN0ZWQuaW5kZXgpIHsKCSRFUlJPUignIzI6IF9fZXhlY3V0ZWQgPSAvW15dLy5leGVjKCJhYmMjJCVkZWYlJipAZ2hpIik7IF9fZXhlY3V0ZWQuaW5kZXggPT09ICcgKyBfX2V4cGVjdGVkLmluZGV4ICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5pbmRleCk7Cn0KCi8vQ0hFQ0sjMwppZiAoX19leGVjdXRlZC5pbnB1dCAhPT0gX19leHBlY3RlZC5pbnB1dCkgewoJJEVSUk9SKCcjMzogX19leGVjdXRlZCA9IC9bXl0vLmV4ZWMoImFiYyMkJWRlZiUmKkBnaGkiKTsgX19leGVjdXRlZC5pbnB1dCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5wdXQgKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmlucHV0KTsKfQoKLy9DSEVDSyM0CmZvcih2YXIgaW5kZXg9MDsgaW5kZXg8X19leHBlY3RlZC5sZW5ndGg7IGluZGV4KyspIHsKCWlmIChfX2V4ZWN1dGVkW2luZGV4XSAhPT0gX19leHBlY3RlZFtpbmRleF0pIHsKCQkkRVJST1IoJyM0OiBfX2V4ZWN1dGVkID0gL1teXS8uZXhlYygiYWJjIyQlZGVmJSYqQGdoaSIpOyBfX2V4ZWN1dGVkWycgKyBpbmRleCArICddID09PSAnICsgX19leHBlY3RlZFtpbmRleF0gKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkW2luZGV4XSk7Cgl9Cn0KCgo=","commentary":"The production CharacterClass :: [ ^ ClassRanges ] evaluates by evaluating ClassRanges to obtain a CharSet and returning that CharSet and the boolean true","description":"Execute /[^]/.exec(\"abc#$%def%&*@ghi\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.13/S15.10.2.13_A2_T8.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJbnNpZGUgYSBDaGFyYWN0ZXJDbGFzcywgXGIgbWVhbnMgdGhlIGJhY2tzcGFjZSBjaGFyYWN0ZXIKICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC4yLzE1LjEwLjIuMTMvUzE1LjEwLjIuMTNfQTNfVDEuanMKICogQGRlc2NyaXB0aW9uIEV4ZWN1dGUgLy5bXGJdLi8uZXhlYygiYWJjXGJkZWYiKSBhbmQgY2hlY2sgcmVzdWx0cwogKi8KCl9fZXhlY3V0ZWQgPSAvLltcYl0uLy5leGVjKCJhYmNcYmRlZiIpOwoKX19leHBlY3RlZCA9IFsiY1xiZCJdOwpfX2V4cGVjdGVkLmluZGV4ID0gMjsKX19leHBlY3RlZC5pbnB1dCA9ICJhYmNcYmRlZiI7CgovL0NIRUNLIzEKaWYgKF9fZXhlY3V0ZWQubGVuZ3RoICE9PSBfX2V4cGVjdGVkLmxlbmd0aCkgewoJJEVSUk9SKCcjMTogX19leGVjdXRlZCA9IC8uW1xcYl0uLy5leGVjKCJhYmNcXGJkZWYiKTsgX19leGVjdXRlZC5sZW5ndGggPT09ICcgKyBfX2V4cGVjdGVkLmxlbmd0aCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQubGVuZ3RoKTsKfQoKLy9DSEVDSyMyCmlmIChfX2V4ZWN1dGVkLmluZGV4ICE9PSBfX2V4cGVjdGVkLmluZGV4KSB7CgkkRVJST1IoJyMyOiBfX2V4ZWN1dGVkID0gLy5bXFxiXS4vLmV4ZWMoImFiY1xcYmRlZiIpOyBfX2V4ZWN1dGVkLmluZGV4ID09PSAnICsgX19leHBlY3RlZC5pbmRleCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5kZXgpOwp9CgovL0NIRUNLIzMKaWYgKF9fZXhlY3V0ZWQuaW5wdXQgIT09IF9fZXhwZWN0ZWQuaW5wdXQpIHsKCSRFUlJPUignIzM6IF9fZXhlY3V0ZWQgPSAvLltcXGJdLi8uZXhlYygiYWJjXFxiZGVmIik7IF9fZXhlY3V0ZWQuaW5wdXQgPT09ICcgKyBfX2V4cGVjdGVkLmlucHV0ICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5pbnB1dCk7Cn0KCi8vQ0hFQ0sjNApmb3IodmFyIGluZGV4PTA7IGluZGV4PF9fZXhwZWN0ZWQubGVuZ3RoOyBpbmRleCsrKSB7CglpZiAoX19leGVjdXRlZFtpbmRleF0gIT09IF9fZXhwZWN0ZWRbaW5kZXhdKSB7CgkJJEVSUk9SKCcjNDogX19leGVjdXRlZCA9IC8uW1xcYl0uLy5leGVjKCJhYmNcXGJkZWYiKTsgX19leGVjdXRlZFsnICsgaW5kZXggKyAnXSA9PT0gJyArIF9fZXhwZWN0ZWRbaW5kZXhdICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZFtpbmRleF0pOwoJfQp9CgoK","commentary":"Inside a CharacterClass, \\b means the backspace character","description":"Execute /.[\\b]./.exec(\"abc\\bdef\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.13/S15.10.2.13_A3_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJbnNpZGUgYSBDaGFyYWN0ZXJDbGFzcywgXGIgbWVhbnMgdGhlIGJhY2tzcGFjZSBjaGFyYWN0ZXIKICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC4yLzE1LjEwLjIuMTMvUzE1LjEwLjIuMTNfQTNfVDIuanMKICogQGRlc2NyaXB0aW9uIEV4ZWN1dGUgL2NbXGJdezN9ZC8uZXhlYygiYWJjXGJcYlxiZGVmIikgYW5kIGNoZWNrIHJlc3VsdHMKICovCgpfX2V4ZWN1dGVkID0gL2NbXGJdezN9ZC8uZXhlYygiYWJjXGJcYlxiZGVmIik7CgpfX2V4cGVjdGVkID0gWyJjXGJcYlxiZCJdOwpfX2V4cGVjdGVkLmluZGV4ID0gMjsKX19leHBlY3RlZC5pbnB1dCA9ICJhYmNcYlxiXGJkZWYiOwoKLy9DSEVDSyMxCmlmIChfX2V4ZWN1dGVkLmxlbmd0aCAhPT0gX19leHBlY3RlZC5sZW5ndGgpIHsKCSRFUlJPUignIzE6IF9fZXhlY3V0ZWQgPSAvY1tcXGJdezN9ZC8uZXhlYygiYWJjXFxiXFxiXFxiZGVmIik7IF9fZXhlY3V0ZWQubGVuZ3RoID09PSAnICsgX19leHBlY3RlZC5sZW5ndGggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmxlbmd0aCk7Cn0KCi8vQ0hFQ0sjMgppZiAoX19leGVjdXRlZC5pbmRleCAhPT0gX19leHBlY3RlZC5pbmRleCkgewoJJEVSUk9SKCcjMjogX19leGVjdXRlZCA9IC9jW1xcYl17M31kLy5leGVjKCJhYmNcXGJcXGJcXGJkZWYiKTsgX19leGVjdXRlZC5pbmRleCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5kZXggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmluZGV4KTsKfQoKLy9DSEVDSyMzCmlmIChfX2V4ZWN1dGVkLmlucHV0ICE9PSBfX2V4cGVjdGVkLmlucHV0KSB7CgkkRVJST1IoJyMzOiBfX2V4ZWN1dGVkID0gL2NbXFxiXXszfWQvLmV4ZWMoImFiY1xcYlxcYlxcYmRlZiIpOyBfX2V4ZWN1dGVkLmlucHV0ID09PSAnICsgX19leHBlY3RlZC5pbnB1dCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5wdXQpOwp9CgovL0NIRUNLIzQKZm9yKHZhciBpbmRleD0wOyBpbmRleDxfX2V4cGVjdGVkLmxlbmd0aDsgaW5kZXgrKykgewoJaWYgKF9fZXhlY3V0ZWRbaW5kZXhdICE9PSBfX2V4cGVjdGVkW2luZGV4XSkgewoJCSRFUlJPUignIzQ6IF9fZXhlY3V0ZWQgPSAvY1tcXGJdezN9ZC8uZXhlYygiYWJjXFxiXFxiXFxiZGVmIik7IF9fZXhlY3V0ZWRbJyArIGluZGV4ICsgJ10gPT09ICcgKyBfX2V4cGVjdGVkW2luZGV4XSArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWRbaW5kZXhdKTsKCX0KfQoKCg==","commentary":"Inside a CharacterClass, \\b means the backspace character","description":"Execute /c[\\b]{3}d/.exec(\"abc\\b\\b\\bdef\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.13/S15.10.2.13_A3_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJbnNpZGUgYSBDaGFyYWN0ZXJDbGFzcywgXGIgbWVhbnMgdGhlIGJhY2tzcGFjZSBjaGFyYWN0ZXIKICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC4yLzE1LjEwLjIuMTMvUzE1LjEwLjIuMTNfQTNfVDMuanMKICogQGRlc2NyaXB0aW9uIEV4ZWN1dGUgL1teXFtcYlxdXSsvLmV4ZWMoImFiY1xiZGVmIikgYW5kIGNoZWNrIHJlc3VsdHMKICovCgpfX2V4ZWN1dGVkID0gL1teXFtcYlxdXSsvLmV4ZWMoImFiY1xiZGVmIik7CgpfX2V4cGVjdGVkID0gWyJhYmMiXTsKX19leHBlY3RlZC5pbmRleCA9IDA7Cl9fZXhwZWN0ZWQuaW5wdXQgPSAiYWJjXGJkZWYiOwoKLy9DSEVDSyMxCmlmIChfX2V4ZWN1dGVkLmxlbmd0aCAhPT0gX19leHBlY3RlZC5sZW5ndGgpIHsKCSRFUlJPUignIzE6IF9fZXhlY3V0ZWQgPSAvW15cXFtcXGJcXF1dKy8uZXhlYygiYWJjXFxiZGVmIik7IF9fZXhlY3V0ZWQubGVuZ3RoID09PSAnICsgX19leHBlY3RlZC5sZW5ndGggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmxlbmd0aCk7Cn0KCi8vQ0hFQ0sjMgppZiAoX19leGVjdXRlZC5pbmRleCAhPT0gX19leHBlY3RlZC5pbmRleCkgewoJJEVSUk9SKCcjMjogX19leGVjdXRlZCA9IC9bXlxcW1xcYlxcXV0rLy5leGVjKCJhYmNcXGJkZWYiKTsgX19leGVjdXRlZC5pbmRleCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5kZXggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmluZGV4KTsKfQoKLy9DSEVDSyMzCmlmIChfX2V4ZWN1dGVkLmlucHV0ICE9PSBfX2V4cGVjdGVkLmlucHV0KSB7CgkkRVJST1IoJyMzOiBfX2V4ZWN1dGVkID0gL1teXFxbXFxiXFxdXSsvLmV4ZWMoImFiY1xcYmRlZiIpOyBfX2V4ZWN1dGVkLmlucHV0ID09PSAnICsgX19leHBlY3RlZC5pbnB1dCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5wdXQpOwp9CgovL0NIRUNLIzQKZm9yKHZhciBpbmRleD0wOyBpbmRleDxfX2V4cGVjdGVkLmxlbmd0aDsgaW5kZXgrKykgewoJaWYgKF9fZXhlY3V0ZWRbaW5kZXhdICE9PSBfX2V4cGVjdGVkW2luZGV4XSkgewoJCSRFUlJPUignIzQ6IF9fZXhlY3V0ZWQgPSAvW15cXFtcXGJcXF1dKy8uZXhlYygiYWJjXFxiZGVmIik7IF9fZXhlY3V0ZWRbJyArIGluZGV4ICsgJ10gPT09ICcgKyBfX2V4cGVjdGVkW2luZGV4XSArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWRbaW5kZXhdKTsKCX0KfQoKCg==","commentary":"Inside a CharacterClass, \\b means the backspace character","description":"Execute /[^\\[\\b\\]]+/.exec(\"abc\\bdef\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.13/S15.10.2.13_A3_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJbnNpZGUgYSBDaGFyYWN0ZXJDbGFzcywgXGIgbWVhbnMgdGhlIGJhY2tzcGFjZSBjaGFyYWN0ZXIKICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC4yLzE1LjEwLjIuMTMvUzE1LjEwLjIuMTNfQTNfVDQuanMKICogQGRlc2NyaXB0aW9uIEV4ZWN1dGUgL1teXFtcYlxdXSsvLmV4ZWMoImFiY2RlZiIpIGFuZCBjaGVjayByZXN1bHRzCiAqLwoKX19leGVjdXRlZCA9IC9bXlxbXGJcXV0rLy5leGVjKCJhYmNkZWYiKTsKCl9fZXhwZWN0ZWQgPSBbImFiY2RlZiJdOwpfX2V4cGVjdGVkLmluZGV4ID0gMDsKX19leHBlY3RlZC5pbnB1dCA9ICJhYmNkZWYiOwoKLy9DSEVDSyMxCmlmIChfX2V4ZWN1dGVkLmxlbmd0aCAhPT0gX19leHBlY3RlZC5sZW5ndGgpIHsKCSRFUlJPUignIzE6IF9fZXhlY3V0ZWQgPSAvW15cXFtcXGJcXF1dKy8uZXhlYygiYWJjZGVmIik7IF9fZXhlY3V0ZWQubGVuZ3RoID09PSAnICsgX19leHBlY3RlZC5sZW5ndGggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmxlbmd0aCk7Cn0KCi8vQ0hFQ0sjMgppZiAoX19leGVjdXRlZC5pbmRleCAhPT0gX19leHBlY3RlZC5pbmRleCkgewoJJEVSUk9SKCcjMjogX19leGVjdXRlZCA9IC9bXlxcW1xcYlxcXV0rLy5leGVjKCJhYmNkZWYiKTsgX19leGVjdXRlZC5pbmRleCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5kZXggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmluZGV4KTsKfQoKLy9DSEVDSyMzCmlmIChfX2V4ZWN1dGVkLmlucHV0ICE9PSBfX2V4cGVjdGVkLmlucHV0KSB7CgkkRVJST1IoJyMzOiBfX2V4ZWN1dGVkID0gL1teXFxbXFxiXFxdXSsvLmV4ZWMoImFiY2RlZiIpOyBfX2V4ZWN1dGVkLmlucHV0ID09PSAnICsgX19leHBlY3RlZC5pbnB1dCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5wdXQpOwp9CgovL0NIRUNLIzQKZm9yKHZhciBpbmRleD0wOyBpbmRleDxfX2V4cGVjdGVkLmxlbmd0aDsgaW5kZXgrKykgewoJaWYgKF9fZXhlY3V0ZWRbaW5kZXhdICE9PSBfX2V4cGVjdGVkW2luZGV4XSkgewoJCSRFUlJPUignIzQ6IF9fZXhlY3V0ZWQgPSAvW15cXFtcXGJcXF1dKy8uZXhlYygiYWJjZGVmIik7IF9fZXhlY3V0ZWRbJyArIGluZGV4ICsgJ10gPT09ICcgKyBfX2V4cGVjdGVkW2luZGV4XSArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWRbaW5kZXhdKTsKCX0KfQoKCg==","commentary":"Inside a CharacterClass, \\b means the backspace character","description":"Execute /[^\\[\\b\\]]+/.exec(\"abcdef\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.13/S15.10.2.13_A3_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgaW50ZXJuYWwgaGVscGVyIGZ1bmN0aW9uIENoYXJhY3RlclJhbmdlIHRha2VzIHR3byBDaGFyU2V0IHBhcmFtZXRlcnMgQSBhbmQgQiBhbmQgcGVyZm9ybXMgdGhlCiAqIGZvbGxvd2luZzoKICogSWYgQSBkb2VzIG5vdCBjb250YWluIGV4YWN0bHkgb25lIGNoYXJhY3RlciBvciBCIGRvZXMgbm90IGNvbnRhaW4gZXhhY3RseSBvbmUgY2hhcmFjdGVyIHRoZW4gdGhyb3cKICogYSBTeW50YXhFcnJvciBleGNlcHRpb24KICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC4yLzE1LjEwLjIuMTUvUzE1LjEwLjIuMTVfQTFfVDEuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIGV4ZWN1dGlvbiBvZiAiL1tiLWFjLWVdLy5leGVjKCJhIikiIGxlYWRzIHRvIHRocm93aW5nIHRoZSBjb3JyZWN0IGV4Y2VwdGlvbgogKi8KCi8vQ0hFQ0sjMQp0cnkgewogICRFUlJPUignIzEuMTogL1tiLWFjLWVdLy5leGVjKCJhIikgdGhyb3cgU3ludGF4RXJyb3IuIEFjdHVhbDogJyArIChuZXcgUmVnRXhwKCJbYi1hYy1lXSIpLmV4ZWMoImEiKSkpOwp9IGNhdGNoIChlKSB7CiAgaWYoKGUgaW5zdGFuY2VvZiBTeW50YXhFcnJvcikgIT09IHRydWUpewogICAgJEVSUk9SKCcjMS4yOiAvW2ItYWMtZV0vLmV4ZWMoImEiKSB0aHJvdyBTeW50YXhFcnJvci4gQWN0dWFsOiAnICsgKGUpKTsKICB9Cn0KCg==","commentary":"The internal helper function CharacterRange takes two CharSet parameters A and B and performs the\nfollowing:\nIf A does not contain exactly one character or B does not contain exactly one character then throw\na SyntaxError exception","description":"Checking if execution of \"/[b-ac-e]/.exec(\"a\")\" leads to throwing the correct exception","path":"TestCases/ch15/15.10/15.10.2/15.10.2.15/S15.10.2.15_A1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgaW50ZXJuYWwgaGVscGVyIGZ1bmN0aW9uIENoYXJhY3RlclJhbmdlIHRha2VzIHR3byBDaGFyU2V0IHBhcmFtZXRlcnMgQSBhbmQgQiBhbmQgcGVyZm9ybXMgdGhlCiAqIGZvbGxvd2luZzoKICogSWYgQSBkb2VzIG5vdCBjb250YWluIGV4YWN0bHkgb25lIGNoYXJhY3RlciBvciBCIGRvZXMgbm90IGNvbnRhaW4gZXhhY3RseSBvbmUgY2hhcmFjdGVyIHRoZW4gdGhyb3cKICogYSBTeW50YXhFcnJvciBleGNlcHRpb24KICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC4yLzE1LjEwLjIuMTUvUzE1LjEwLjIuMTVfQTFfVDEwLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiBleGVjdXRpb24gb2YgIi9bXDEwYi1HXS8uZXhlYygiYSIpIiBsZWFkcyB0byB0aHJvd2luZyB0aGUgY29ycmVjdCBleGNlcHRpb24KICovCgovL0NIRUNLIzEKdHJ5IHsKICAkRVJST1IoJyMxLjE6IC9bXFwxMGItR10vLmV4ZWMoImEiKSB0aHJvdyBTeW50YXhFcnJvci4gQWN0dWFsOiAnICsgKG5ldyBSZWdFeHAoIltcXDEwYi1HXSIpLmV4ZWMoImEiKSkpOwp9IGNhdGNoIChlKSB7CiAgaWYoKGUgaW5zdGFuY2VvZiBTeW50YXhFcnJvcikgIT09IHRydWUpewogICAgJEVSUk9SKCcjMS4yOiAvW1xcMTBiLUddLy5leGVjKCJhIikgdGhyb3cgU3ludGF4RXJyb3IuIEFjdHVhbDogJyArIChlKSk7CiAgfQp9Cgo=","commentary":"The internal helper function CharacterRange takes two CharSet parameters A and B and performs the\nfollowing:\nIf A does not contain exactly one character or B does not contain exactly one character then throw\na SyntaxError exception","description":"Checking if execution of \"/[\\10b-G]/.exec(\"a\")\" leads to throwing the correct exception","path":"TestCases/ch15/15.10/15.10.2/15.10.2.15/S15.10.2.15_A1_T10.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgaW50ZXJuYWwgaGVscGVyIGZ1bmN0aW9uIENoYXJhY3RlclJhbmdlIHRha2VzIHR3byBDaGFyU2V0IHBhcmFtZXRlcnMgQSBhbmQgQiBhbmQgcGVyZm9ybXMgdGhlCiAqIGZvbGxvd2luZzoKICogSWYgQSBkb2VzIG5vdCBjb250YWluIGV4YWN0bHkgb25lIGNoYXJhY3RlciBvciBCIGRvZXMgbm90IGNvbnRhaW4gZXhhY3RseSBvbmUgY2hhcmFjdGVyIHRoZW4gdGhyb3cKICogYSBTeW50YXhFcnJvciBleGNlcHRpb24KICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC4yLzE1LjEwLjIuMTUvUzE1LjEwLjIuMTVfQTFfVDExLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiBleGVjdXRpb24gb2YgIi9bXGJkLUddLy5leGVjKCJhIikiIGxlYWRzIHRvIHRocm93aW5nIHRoZSBjb3JyZWN0IGV4Y2VwdGlvbgogKi8KCi8vQ0hFQ0sjMQp0cnkgewogICRFUlJPUignIzEuMTogL1tcXGJkLUddLy5leGVjKCJhIikgdGhyb3cgU3ludGF4RXJyb3IuIEFjdHVhbDogJyArIChuZXcgUmVnRXhwKCJbXFxiZC1HXSIpLmV4ZWMoImEiKSkpOwp9IGNhdGNoIChlKSB7CiAgaWYoKGUgaW5zdGFuY2VvZiBTeW50YXhFcnJvcikgIT09IHRydWUpewogICAgJEVSUk9SKCcjMS4yOiAvW1xcYmQtR10vLmV4ZWMoImEiKSB0aHJvdyBTeW50YXhFcnJvci4gQWN0dWFsOiAnICsgKGUpKTsKICB9Cn0KCg==","commentary":"The internal helper function CharacterRange takes two CharSet parameters A and B and performs the\nfollowing:\nIf A does not contain exactly one character or B does not contain exactly one character then throw\na SyntaxError exception","description":"Checking if execution of \"/[\\bd-G]/.exec(\"a\")\" leads to throwing the correct exception","path":"TestCases/ch15/15.10/15.10.2/15.10.2.15/S15.10.2.15_A1_T11.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgaW50ZXJuYWwgaGVscGVyIGZ1bmN0aW9uIENoYXJhY3RlclJhbmdlIHRha2VzIHR3byBDaGFyU2V0IHBhcmFtZXRlcnMgQSBhbmQgQiBhbmQgcGVyZm9ybXMgdGhlCiAqIGZvbGxvd2luZzoKICogSWYgQSBkb2VzIG5vdCBjb250YWluIGV4YWN0bHkgb25lIGNoYXJhY3RlciBvciBCIGRvZXMgbm90IGNvbnRhaW4gZXhhY3RseSBvbmUgY2hhcmFjdGVyIHRoZW4gdGhyb3cKICogYSBTeW50YXhFcnJvciBleGNlcHRpb24KICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC4yLzE1LjEwLjIuMTUvUzE1LjEwLjIuMTVfQTFfVDEyLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiBleGVjdXRpb24gb2YgIi9bXEJkLUddLy5leGVjKCJhIikiIGxlYWRzIHRvIHRocm93aW5nIHRoZSBjb3JyZWN0IGV4Y2VwdGlvbgogKi8KCi8vQ0hFQ0sjMQp0cnkgewogICRFUlJPUignIzEuMTogL1tcXEJkLUddLy5leGVjKCJhIikgdGhyb3cgU3ludGF4RXJyb3IuIEFjdHVhbDogJyArIChuZXcgUmVnRXhwKCJbXFxCZC1HXSIpLmV4ZWMoImEiKSkpOwp9IGNhdGNoIChlKSB7CiAgaWYoKGUgaW5zdGFuY2VvZiBTeW50YXhFcnJvcikgIT09IHRydWUpewogICAgJEVSUk9SKCcjMS4yOiAvW1xcQmQtR10vLmV4ZWMoImEiKSB0aHJvdyBTeW50YXhFcnJvci4gQWN0dWFsOiAnICsgKGUpKTsKICB9Cn0KCg==","commentary":"The internal helper function CharacterRange takes two CharSet parameters A and B and performs the\nfollowing:\nIf A does not contain exactly one character or B does not contain exactly one character then throw\na SyntaxError exception","description":"Checking if execution of \"/[\\Bd-G]/.exec(\"a\")\" leads to throwing the correct exception","path":"TestCases/ch15/15.10/15.10.2/15.10.2.15/S15.10.2.15_A1_T12.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgaW50ZXJuYWwgaGVscGVyIGZ1bmN0aW9uIENoYXJhY3RlclJhbmdlIHRha2VzIHR3byBDaGFyU2V0IHBhcmFtZXRlcnMgQSBhbmQgQiBhbmQgcGVyZm9ybXMgdGhlCiAqIGZvbGxvd2luZzoKICogSWYgQSBkb2VzIG5vdCBjb250YWluIGV4YWN0bHkgb25lIGNoYXJhY3RlciBvciBCIGRvZXMgbm90IGNvbnRhaW4gZXhhY3RseSBvbmUgY2hhcmFjdGVyIHRoZW4gdGhyb3cKICogYSBTeW50YXhFcnJvciBleGNlcHRpb24KICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC4yLzE1LjEwLjIuMTUvUzE1LjEwLjIuMTVfQTFfVDEzLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiBleGVjdXRpb24gb2YgIi9bXHRkLUddLy5leGVjKCJhIikiIGxlYWRzIHRvIHRocm93aW5nIHRoZSBjb3JyZWN0IGV4Y2VwdGlvbgogKi8KCi8vQ0hFQ0sjMQp0cnkgewogICRFUlJPUignIzEuMTogL1tcXHRkLUddLy5leGVjKCJhIikgdGhyb3cgU3ludGF4RXJyb3IuIEFjdHVhbDogJyArIChuZXcgUmVnRXhwKCJbXFx0ZC1HXSIpLmV4ZWMoImEiKSkpOwp9IGNhdGNoIChlKSB7CiAgaWYoKGUgaW5zdGFuY2VvZiBTeW50YXhFcnJvcikgIT09IHRydWUpewogICAgJEVSUk9SKCcjMS4yOiAvW1xcdGQtR10vLmV4ZWMoImEiKSB0aHJvdyBTeW50YXhFcnJvci4gQWN0dWFsOiAnICsgKGUpKTsKICB9Cn0KCg==","commentary":"The internal helper function CharacterRange takes two CharSet parameters A and B and performs the\nfollowing:\nIf A does not contain exactly one character or B does not contain exactly one character then throw\na SyntaxError exception","description":"Checking if execution of \"/[\\td-G]/.exec(\"a\")\" leads to throwing the correct exception","path":"TestCases/ch15/15.10/15.10.2/15.10.2.15/S15.10.2.15_A1_T13.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgaW50ZXJuYWwgaGVscGVyIGZ1bmN0aW9uIENoYXJhY3RlclJhbmdlIHRha2VzIHR3byBDaGFyU2V0IHBhcmFtZXRlcnMgQSBhbmQgQiBhbmQgcGVyZm9ybXMgdGhlCiAqIGZvbGxvd2luZzoKICogSWYgQSBkb2VzIG5vdCBjb250YWluIGV4YWN0bHkgb25lIGNoYXJhY3RlciBvciBCIGRvZXMgbm90IGNvbnRhaW4gZXhhY3RseSBvbmUgY2hhcmFjdGVyIHRoZW4gdGhyb3cKICogYSBTeW50YXhFcnJvciBleGNlcHRpb24KICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC4yLzE1LjEwLjIuMTUvUzE1LjEwLjIuMTVfQTFfVDE0LmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiBleGVjdXRpb24gb2YgIi9bXG5kLUddLy5leGVjKCJhIikiIGxlYWRzIHRvIHRocm93aW5nIHRoZSBjb3JyZWN0IGV4Y2VwdGlvbgogKi8KCi8vQ0hFQ0sjMQp0cnkgewogICRFUlJPUignIzEuMTogL1tcXG5kLUddLy5leGVjKCJhIikgdGhyb3cgU3ludGF4RXJyb3IuIEFjdHVhbDogJyArIChuZXcgUmVnRXhwKCJbXFxuZC1HXSIpLmV4ZWMoImEiKSkpOwp9IGNhdGNoIChlKSB7CiAgaWYoKGUgaW5zdGFuY2VvZiBTeW50YXhFcnJvcikgIT09IHRydWUpewogICAgJEVSUk9SKCcjMS4yOiAvW1xcbmQtR10vLmV4ZWMoImEiKSB0aHJvdyBTeW50YXhFcnJvci4gQWN0dWFsOiAnICsgKGUpKTsKICB9Cn0KCg==","commentary":"The internal helper function CharacterRange takes two CharSet parameters A and B and performs the\nfollowing:\nIf A does not contain exactly one character or B does not contain exactly one character then throw\na SyntaxError exception","description":"Checking if execution of \"/[\\nd-G]/.exec(\"a\")\" leads to throwing the correct exception","path":"TestCases/ch15/15.10/15.10.2/15.10.2.15/S15.10.2.15_A1_T14.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgaW50ZXJuYWwgaGVscGVyIGZ1bmN0aW9uIENoYXJhY3RlclJhbmdlIHRha2VzIHR3byBDaGFyU2V0IHBhcmFtZXRlcnMgQSBhbmQgQiBhbmQgcGVyZm9ybXMgdGhlCiAqIGZvbGxvd2luZzoKICogSWYgQSBkb2VzIG5vdCBjb250YWluIGV4YWN0bHkgb25lIGNoYXJhY3RlciBvciBCIGRvZXMgbm90IGNvbnRhaW4gZXhhY3RseSBvbmUgY2hhcmFjdGVyIHRoZW4gdGhyb3cKICogYSBTeW50YXhFcnJvciBleGNlcHRpb24KICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC4yLzE1LjEwLjIuMTUvUzE1LjEwLjIuMTVfQTFfVDE1LmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiBleGVjdXRpb24gb2YgIi9bXHZkLUddLy5leGVjKCJhIikiIGxlYWRzIHRvIHRocm93aW5nIHRoZSBjb3JyZWN0IGV4Y2VwdGlvbgogKi8KCi8vQ0hFQ0sjMQp0cnkgewogICRFUlJPUignIzEuMTogL1tcXHZkLUddLy5leGVjKCJhIikgdGhyb3cgU3ludGF4RXJyb3IuIEFjdHVhbDogJyArIChuZXcgUmVnRXhwKCJbXFx2ZC1HXSIpLmV4ZWMoImEiKSkpOwp9IGNhdGNoIChlKSB7CiAgaWYoKGUgaW5zdGFuY2VvZiBTeW50YXhFcnJvcikgIT09IHRydWUpewogICAgJEVSUk9SKCcjMS4yOiAvW1xcdmQtR10vLmV4ZWMoImEiKSB0aHJvdyBTeW50YXhFcnJvci4gQWN0dWFsOiAnICsgKGUpKTsKICB9Cn0KCg==","commentary":"The internal helper function CharacterRange takes two CharSet parameters A and B and performs the\nfollowing:\nIf A does not contain exactly one character or B does not contain exactly one character then throw\na SyntaxError exception","description":"Checking if execution of \"/[\\vd-G]/.exec(\"a\")\" leads to throwing the correct exception","path":"TestCases/ch15/15.10/15.10.2/15.10.2.15/S15.10.2.15_A1_T15.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgaW50ZXJuYWwgaGVscGVyIGZ1bmN0aW9uIENoYXJhY3RlclJhbmdlIHRha2VzIHR3byBDaGFyU2V0IHBhcmFtZXRlcnMgQSBhbmQgQiBhbmQgcGVyZm9ybXMgdGhlCiAqIGZvbGxvd2luZzoKICogSWYgQSBkb2VzIG5vdCBjb250YWluIGV4YWN0bHkgb25lIGNoYXJhY3RlciBvciBCIGRvZXMgbm90IGNvbnRhaW4gZXhhY3RseSBvbmUgY2hhcmFjdGVyIHRoZW4gdGhyb3cKICogYSBTeW50YXhFcnJvciBleGNlcHRpb24KICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC4yLzE1LjEwLjIuMTUvUzE1LjEwLjIuMTVfQTFfVDE2LmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiBleGVjdXRpb24gb2YgIi9bXGZkLUddLy5leGVjKCJhIikiIGxlYWRzIHRvIHRocm93aW5nIHRoZSBjb3JyZWN0IGV4Y2VwdGlvbgogKi8KCi8vQ0hFQ0sjMQp0cnkgewogICRFUlJPUignIzEuMTogL1tcXGZkLUddLy5leGVjKCJhIikgdGhyb3cgU3ludGF4RXJyb3IuIEFjdHVhbDogJyArIChuZXcgUmVnRXhwKCJbXFxmZC1HXSIpLmV4ZWMoImEiKSkpOwp9IGNhdGNoIChlKSB7CiAgaWYoKGUgaW5zdGFuY2VvZiBTeW50YXhFcnJvcikgIT09IHRydWUpewogICAgJEVSUk9SKCcjMS4yOiAvW1xcZmQtR10vLmV4ZWMoImEiKSB0aHJvdyBTeW50YXhFcnJvci4gQWN0dWFsOiAnICsgKGUpKTsKICB9Cn0KCg==","commentary":"The internal helper function CharacterRange takes two CharSet parameters A and B and performs the\nfollowing:\nIf A does not contain exactly one character or B does not contain exactly one character then throw\na SyntaxError exception","description":"Checking if execution of \"/[\\fd-G]/.exec(\"a\")\" leads to throwing the correct exception","path":"TestCases/ch15/15.10/15.10.2/15.10.2.15/S15.10.2.15_A1_T16.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgaW50ZXJuYWwgaGVscGVyIGZ1bmN0aW9uIENoYXJhY3RlclJhbmdlIHRha2VzIHR3byBDaGFyU2V0IHBhcmFtZXRlcnMgQSBhbmQgQiBhbmQgcGVyZm9ybXMgdGhlCiAqIGZvbGxvd2luZzoKICogSWYgQSBkb2VzIG5vdCBjb250YWluIGV4YWN0bHkgb25lIGNoYXJhY3RlciBvciBCIGRvZXMgbm90IGNvbnRhaW4gZXhhY3RseSBvbmUgY2hhcmFjdGVyIHRoZW4gdGhyb3cKICogYSBTeW50YXhFcnJvciBleGNlcHRpb24KICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC4yLzE1LjEwLjIuMTUvUzE1LjEwLjIuMTVfQTFfVDE3LmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiBleGVjdXRpb24gb2YgIi9bXHJkLUddLy5leGVjKCJhIikiIGxlYWRzIHRvIHRocm93aW5nIHRoZSBjb3JyZWN0IGV4Y2VwdGlvbgogKi8KCi8vQ0hFQ0sjMQp0cnkgewogICRFUlJPUignIzEuMTogL1tcXHJkLUddLy5leGVjKCJhIikgdGhyb3cgU3ludGF4RXJyb3IuIEFjdHVhbDogJyArIChuZXcgUmVnRXhwKCJbXFxyZC1HXSIpLmV4ZWMoImEiKSkpOwp9IGNhdGNoIChlKSB7CiAgaWYoKGUgaW5zdGFuY2VvZiBTeW50YXhFcnJvcikgIT09IHRydWUpewogICAgJEVSUk9SKCcjMS4yOiAvW1xccmQtR10vLmV4ZWMoImEiKSB0aHJvdyBTeW50YXhFcnJvci4gQWN0dWFsOiAnICsgKGUpKTsKICB9Cn0KCg==","commentary":"The internal helper function CharacterRange takes two CharSet parameters A and B and performs the\nfollowing:\nIf A does not contain exactly one character or B does not contain exactly one character then throw\na SyntaxError exception","description":"Checking if execution of \"/[\\rd-G]/.exec(\"a\")\" leads to throwing the correct exception","path":"TestCases/ch15/15.10/15.10.2/15.10.2.15/S15.10.2.15_A1_T17.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgaW50ZXJuYWwgaGVscGVyIGZ1bmN0aW9uIENoYXJhY3RlclJhbmdlIHRha2VzIHR3byBDaGFyU2V0IHBhcmFtZXRlcnMgQSBhbmQgQiBhbmQgcGVyZm9ybXMgdGhlCiAqIGZvbGxvd2luZzoKICogSWYgQSBkb2VzIG5vdCBjb250YWluIGV4YWN0bHkgb25lIGNoYXJhY3RlciBvciBCIGRvZXMgbm90IGNvbnRhaW4gZXhhY3RseSBvbmUgY2hhcmFjdGVyIHRoZW4gdGhyb3cKICogYSBTeW50YXhFcnJvciBleGNlcHRpb24KICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC4yLzE1LjEwLjIuMTUvUzE1LjEwLjIuMTVfQTFfVDE4LmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiBleGVjdXRpb24gb2YgIi9bXGMwMDAxZC1HXS8uZXhlYygiMSIpIiBsZWFkcyB0byB0aHJvd2luZyB0aGUgY29ycmVjdCBleGNlcHRpb24KICovCgovL0NIRUNLIzEKdHJ5IHsKICAkRVJST1IoJyMxLjE6IC9bXFxjMDAwMWQtR10vLmV4ZWMoIjEiKSB0aHJvdyBTeW50YXhFcnJvci4gQWN0dWFsOiAnICsgKG5ldyBSZWdFeHAoIltcXGMwMDAxZC1HXSIpLmV4ZWMoIjEiKSkpOwp9IGNhdGNoIChlKSB7CiAgaWYoKGUgaW5zdGFuY2VvZiBTeW50YXhFcnJvcikgIT09IHRydWUpewogICAgJEVSUk9SKCcjMS4yOiAvW1xcYzAwMDFkLUddLy5leGVjKCIxIikgdGhyb3cgU3ludGF4RXJyb3IuIEFjdHVhbDogJyArIChlKSk7CiAgfQp9Cgo=","commentary":"The internal helper function CharacterRange takes two CharSet parameters A and B and performs the\nfollowing:\nIf A does not contain exactly one character or B does not contain exactly one character then throw\na SyntaxError exception","description":"Checking if execution of \"/[\\c0001d-G]/.exec(\"1\")\" leads to throwing the correct exception","path":"TestCases/ch15/15.10/15.10.2/15.10.2.15/S15.10.2.15_A1_T18.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgaW50ZXJuYWwgaGVscGVyIGZ1bmN0aW9uIENoYXJhY3RlclJhbmdlIHRha2VzIHR3byBDaGFyU2V0IHBhcmFtZXRlcnMgQSBhbmQgQiBhbmQgcGVyZm9ybXMgdGhlCiAqIGZvbGxvd2luZzoKICogSWYgQSBkb2VzIG5vdCBjb250YWluIGV4YWN0bHkgb25lIGNoYXJhY3RlciBvciBCIGRvZXMgbm90IGNvbnRhaW4gZXhhY3RseSBvbmUgY2hhcmFjdGVyIHRoZW4gdGhyb3cKICogYSBTeW50YXhFcnJvciBleGNlcHRpb24KICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC4yLzE1LjEwLjIuMTUvUzE1LjEwLjIuMTVfQTFfVDE5LmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiBleGVjdXRpb24gb2YgIi9bXHgwMDYxZC1HXS8uZXhlYygiMSIpIiBsZWFkcyB0byB0aHJvd2luZyB0aGUgY29ycmVjdCBleGNlcHRpb24KICovCgovL0NIRUNLIzEKdHJ5IHsKICAkRVJST1IoJyMxLjE6IC9bXFx4MDA2MWQtR10vLmV4ZWMoIjEiKSB0aHJvdyBTeW50YXhFcnJvci4gQWN0dWFsOiAnICsgKG5ldyBSZWdFeHAoIltcXHgwMDYxZC1HXSIpLmV4ZWMoIjEiKSkpOwp9IGNhdGNoIChlKSB7CiAgaWYoKGUgaW5zdGFuY2VvZiBTeW50YXhFcnJvcikgIT09IHRydWUpewogICAgJEVSUk9SKCcjMS4yOiAvW1xceDAwNjFkLUddLy5leGVjKCIxIikgdGhyb3cgU3ludGF4RXJyb3IuIEFjdHVhbDogJyArIChlKSk7CiAgfQp9Cgo=","commentary":"The internal helper function CharacterRange takes two CharSet parameters A and B and performs the\nfollowing:\nIf A does not contain exactly one character or B does not contain exactly one character then throw\na SyntaxError exception","description":"Checking if execution of \"/[\\x0061d-G]/.exec(\"1\")\" leads to throwing the correct exception","path":"TestCases/ch15/15.10/15.10.2/15.10.2.15/S15.10.2.15_A1_T19.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgaW50ZXJuYWwgaGVscGVyIGZ1bmN0aW9uIENoYXJhY3RlclJhbmdlIHRha2VzIHR3byBDaGFyU2V0IHBhcmFtZXRlcnMgQSBhbmQgQiBhbmQgcGVyZm9ybXMgdGhlCiAqIGZvbGxvd2luZzoKICogSWYgQSBkb2VzIG5vdCBjb250YWluIGV4YWN0bHkgb25lIGNoYXJhY3RlciBvciBCIGRvZXMgbm90IGNvbnRhaW4gZXhhY3RseSBvbmUgY2hhcmFjdGVyIHRoZW4gdGhyb3cKICogYSBTeW50YXhFcnJvciBleGNlcHRpb24KICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC4yLzE1LjEwLjIuMTUvUzE1LjEwLjIuMTVfQTFfVDIuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIGV4ZWN1dGlvbiBvZiAiL1thLWRjLWJdLy5leGVjKCJhIikiIGxlYWRzIHRvIHRocm93aW5nIHRoZSBjb3JyZWN0IGV4Y2VwdGlvbgogKi8KCi8vQ0hFQ0sjMQp0cnkgewogICRFUlJPUignIzEuMTogL1thLWRjLWJdLy5leGVjKCJhIikgdGhyb3cgU3ludGF4RXJyb3IuIEFjdHVhbDogJyArIChuZXcgUmVnRXhwKCJbYS1kYy1iXSIpLmV4ZWMoImEiKSkpOwp9IGNhdGNoIChlKSB7CiAgaWYoKGUgaW5zdGFuY2VvZiBTeW50YXhFcnJvcikgIT09IHRydWUpewogICAgJEVSUk9SKCcjMS4yOiAvW2EtZGMtYl0vLmV4ZWMoImEiKSB0aHJvdyBTeW50YXhFcnJvci4gQWN0dWFsOiAnICsgKGUpKTsKICB9Cn0KCg==","commentary":"The internal helper function CharacterRange takes two CharSet parameters A and B and performs the\nfollowing:\nIf A does not contain exactly one character or B does not contain exactly one character then throw\na SyntaxError exception","description":"Checking if execution of \"/[a-dc-b]/.exec(\"a\")\" leads to throwing the correct exception","path":"TestCases/ch15/15.10/15.10.2/15.10.2.15/S15.10.2.15_A1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgaW50ZXJuYWwgaGVscGVyIGZ1bmN0aW9uIENoYXJhY3RlclJhbmdlIHRha2VzIHR3byBDaGFyU2V0IHBhcmFtZXRlcnMgQSBhbmQgQiBhbmQgcGVyZm9ybXMgdGhlCiAqIGZvbGxvd2luZzoKICogSWYgQSBkb2VzIG5vdCBjb250YWluIGV4YWN0bHkgb25lIGNoYXJhY3RlciBvciBCIGRvZXMgbm90IGNvbnRhaW4gZXhhY3RseSBvbmUgY2hhcmFjdGVyIHRoZW4gdGhyb3cKICogYSBTeW50YXhFcnJvciBleGNlcHRpb24KICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC4yLzE1LjEwLjIuMTUvUzE1LjEwLjIuMTVfQTFfVDIwLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiBleGVjdXRpb24gb2YgIi9bXHUwMDYxZC1HXS8uZXhlYygiYSIpIiBsZWFkcyB0byB0aHJvd2luZyB0aGUgY29ycmVjdCBleGNlcHRpb24KICovCgovL0NIRUNLIzEKdHJ5IHsKICAkRVJST1IoJyMxLjE6IC9bXFx1MDA2MWQtR10vLmV4ZWMoImEiKSB0aHJvdyBTeW50YXhFcnJvci4gQWN0dWFsOiAnICsgKG5ldyBSZWdFeHAoIltcXHUwMDYxZC1HXSIpLmV4ZWMoImEiKSkpOwp9IGNhdGNoIChlKSB7CiAgaWYoKGUgaW5zdGFuY2VvZiBTeW50YXhFcnJvcikgIT09IHRydWUpewogICAgJEVSUk9SKCcjMS4yOiAvW1xcdTAwNjFkLUddLy5leGVjKCJhIikgdGhyb3cgU3ludGF4RXJyb3IuIEFjdHVhbDogJyArIChlKSk7CiAgfQp9Cgo=","commentary":"The internal helper function CharacterRange takes two CharSet parameters A and B and performs the\nfollowing:\nIf A does not contain exactly one character or B does not contain exactly one character then throw\na SyntaxError exception","description":"Checking if execution of \"/[\\u0061d-G]/.exec(\"a\")\" leads to throwing the correct exception","path":"TestCases/ch15/15.10/15.10.2/15.10.2.15/S15.10.2.15_A1_T20.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgaW50ZXJuYWwgaGVscGVyIGZ1bmN0aW9uIENoYXJhY3RlclJhbmdlIHRha2VzIHR3byBDaGFyU2V0IHBhcmFtZXRlcnMgQSBhbmQgQiBhbmQgcGVyZm9ybXMgdGhlCiAqIGZvbGxvd2luZzoKICogSWYgQSBkb2VzIG5vdCBjb250YWluIGV4YWN0bHkgb25lIGNoYXJhY3RlciBvciBCIGRvZXMgbm90IGNvbnRhaW4gZXhhY3RseSBvbmUgY2hhcmFjdGVyIHRoZW4gdGhyb3cKICogYSBTeW50YXhFcnJvciBleGNlcHRpb24KICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC4yLzE1LjEwLjIuMTUvUzE1LjEwLjIuMTVfQTFfVDIxLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiBleGVjdXRpb24gb2YgIi9bXGFkLUddLy5leGVjKCJhIikiIGxlYWRzIHRvIHRocm93aW5nIHRoZSBjb3JyZWN0IGV4Y2VwdGlvbgogKi8KCi8vQ0hFQ0sjMQp0cnkgewogICRFUlJPUignIzEuMTogL1tcXGFkLUddLy5leGVjKCJhIikgdGhyb3cgU3ludGF4RXJyb3IuIEFjdHVhbDogJyArIChuZXcgUmVnRXhwKCJbXFxhZC1HXSIpLmV4ZWMoImEiKSkpOwp9IGNhdGNoIChlKSB7CiAgaWYoKGUgaW5zdGFuY2VvZiBTeW50YXhFcnJvcikgIT09IHRydWUpewogICAgJEVSUk9SKCcjMS4yOiAvW1xcYWQtR10vLmV4ZWMoImEiKSB0aHJvdyBTeW50YXhFcnJvci4gQWN0dWFsOiAnICsgKGUpKTsKICB9Cn0KCg==","commentary":"The internal helper function CharacterRange takes two CharSet parameters A and B and performs the\nfollowing:\nIf A does not contain exactly one character or B does not contain exactly one character then throw\na SyntaxError exception","description":"Checking if execution of \"/[\\ad-G]/.exec(\"a\")\" leads to throwing the correct exception","path":"TestCases/ch15/15.10/15.10.2/15.10.2.15/S15.10.2.15_A1_T21.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgaW50ZXJuYWwgaGVscGVyIGZ1bmN0aW9uIENoYXJhY3RlclJhbmdlIHRha2VzIHR3byBDaGFyU2V0IHBhcmFtZXRlcnMgQSBhbmQgQiBhbmQgcGVyZm9ybXMgdGhlCiAqIGZvbGxvd2luZzoKICogSWYgQSBkb2VzIG5vdCBjb250YWluIGV4YWN0bHkgb25lIGNoYXJhY3RlciBvciBCIGRvZXMgbm90IGNvbnRhaW4gZXhhY3RseSBvbmUgY2hhcmFjdGVyIHRoZW4gdGhyb3cKICogYSBTeW50YXhFcnJvciBleGNlcHRpb24KICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC4yLzE1LjEwLjIuMTUvUzE1LjEwLjIuMTVfQTFfVDIyLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiBleGVjdXRpb24gb2YgIi9bYy1lYi1hXS8uZXhlYygiYSIpIiBsZWFkcyB0byB0aHJvd2luZyB0aGUgY29ycmVjdCBleGNlcHRpb24KICovCgovL0NIRUNLIzEKdHJ5IHsKICAkRVJST1IoJyMxLjE6IC9bYy1lYi1hXS8uZXhlYygiYSIpIHRocm93IFN5bnRheEVycm9yLiBBY3R1YWw6ICcgKyAobmV3IFJlZ0V4cCgiW2MtZWItYV0iKS5leGVjKCJhIikpKTsKfSBjYXRjaCAoZSkgewogIGlmKChlIGluc3RhbmNlb2YgU3ludGF4RXJyb3IpICE9PSB0cnVlKXsKICAgICRFUlJPUignIzEuMjogL1tjLWViLWFdLy5leGVjKCJhIikgdGhyb3cgU3ludGF4RXJyb3IuIEFjdHVhbDogJyArIChlKSk7CiAgfQp9Cgo=","commentary":"The internal helper function CharacterRange takes two CharSet parameters A and B and performs the\nfollowing:\nIf A does not contain exactly one character or B does not contain exactly one character then throw\na SyntaxError exception","description":"Checking if execution of \"/[c-eb-a]/.exec(\"a\")\" leads to throwing the correct exception","path":"TestCases/ch15/15.10/15.10.2/15.10.2.15/S15.10.2.15_A1_T22.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgaW50ZXJuYWwgaGVscGVyIGZ1bmN0aW9uIENoYXJhY3RlclJhbmdlIHRha2VzIHR3byBDaGFyU2V0IHBhcmFtZXRlcnMgQSBhbmQgQiBhbmQgcGVyZm9ybXMgdGhlCiAqIGZvbGxvd2luZzoKICogSWYgQSBkb2VzIG5vdCBjb250YWluIGV4YWN0bHkgb25lIGNoYXJhY3RlciBvciBCIGRvZXMgbm90IGNvbnRhaW4gZXhhY3RseSBvbmUgY2hhcmFjdGVyIHRoZW4gdGhyb3cKICogYSBTeW50YXhFcnJvciBleGNlcHRpb24KICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC4yLzE1LjEwLjIuMTUvUzE1LjEwLjIuMTVfQTFfVDIzLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiBleGVjdXRpb24gb2YgIi9bYi1HXGRdLy5leGVjKCJhIikiIGxlYWRzIHRvIHRocm93aW5nIHRoZSBjb3JyZWN0IGV4Y2VwdGlvbgogKi8KCi8vQ0hFQ0sjMQp0cnkgewogICRFUlJPUignIzEuMTogL1tiLUdcXGRdLy5leGVjKCJhIikgdGhyb3cgU3ludGF4RXJyb3IuIEFjdHVhbDogJyArIChuZXcgUmVnRXhwKCJbYi1HXFxkXSIpLmV4ZWMoImEiKSkpOwp9IGNhdGNoIChlKSB7CiAgaWYoKGUgaW5zdGFuY2VvZiBTeW50YXhFcnJvcikgIT09IHRydWUpewogICAgJEVSUk9SKCcjMS4yOiAvW2ItR1xcZF0vLmV4ZWMoImEiKSB0aHJvdyBTeW50YXhFcnJvci4gQWN0dWFsOiAnICsgKGUpKTsKICB9Cn0KCg==","commentary":"The internal helper function CharacterRange takes two CharSet parameters A and B and performs the\nfollowing:\nIf A does not contain exactly one character or B does not contain exactly one character then throw\na SyntaxError exception","description":"Checking if execution of \"/[b-G\\d]/.exec(\"a\")\" leads to throwing the correct exception","path":"TestCases/ch15/15.10/15.10.2/15.10.2.15/S15.10.2.15_A1_T23.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgaW50ZXJuYWwgaGVscGVyIGZ1bmN0aW9uIENoYXJhY3RlclJhbmdlIHRha2VzIHR3byBDaGFyU2V0IHBhcmFtZXRlcnMgQSBhbmQgQiBhbmQgcGVyZm9ybXMgdGhlCiAqIGZvbGxvd2luZzoKICogSWYgQSBkb2VzIG5vdCBjb250YWluIGV4YWN0bHkgb25lIGNoYXJhY3RlciBvciBCIGRvZXMgbm90IGNvbnRhaW4gZXhhY3RseSBvbmUgY2hhcmFjdGVyIHRoZW4gdGhyb3cKICogYSBTeW50YXhFcnJvciBleGNlcHRpb24KICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC4yLzE1LjEwLjIuMTUvUzE1LjEwLjIuMTVfQTFfVDI0LmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiBleGVjdXRpb24gb2YgIi9bYi1HXERdLy5leGVjKCJhIikiIGxlYWRzIHRvIHRocm93aW5nIHRoZSBjb3JyZWN0IGV4Y2VwdGlvbgogKi8KCi8vQ0hFQ0sjMQp0cnkgewogICRFUlJPUignIzEuMTogL1tiLUdcXERdLy5leGVjKCJhIikgdGhyb3cgU3ludGF4RXJyb3IuIEFjdHVhbDogJyArIChuZXcgUmVnRXhwKCJbYi1HXFxEXSIpLmV4ZWMoImEiKSkpOwp9IGNhdGNoIChlKSB7CiAgaWYoKGUgaW5zdGFuY2VvZiBTeW50YXhFcnJvcikgIT09IHRydWUpewogICAgJEVSUk9SKCcjMS4yOiAvW2ItR1xcRF0vLmV4ZWMoImEiKSB0aHJvdyBTeW50YXhFcnJvci4gQWN0dWFsOiAnICsgKGUpKTsKICB9Cn0KCg==","commentary":"The internal helper function CharacterRange takes two CharSet parameters A and B and performs the\nfollowing:\nIf A does not contain exactly one character or B does not contain exactly one character then throw\na SyntaxError exception","description":"Checking if execution of \"/[b-G\\D]/.exec(\"a\")\" leads to throwing the correct exception","path":"TestCases/ch15/15.10/15.10.2/15.10.2.15/S15.10.2.15_A1_T24.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgaW50ZXJuYWwgaGVscGVyIGZ1bmN0aW9uIENoYXJhY3RlclJhbmdlIHRha2VzIHR3byBDaGFyU2V0IHBhcmFtZXRlcnMgQSBhbmQgQiBhbmQgcGVyZm9ybXMgdGhlCiAqIGZvbGxvd2luZzoKICogSWYgQSBkb2VzIG5vdCBjb250YWluIGV4YWN0bHkgb25lIGNoYXJhY3RlciBvciBCIGRvZXMgbm90IGNvbnRhaW4gZXhhY3RseSBvbmUgY2hhcmFjdGVyIHRoZW4gdGhyb3cKICogYSBTeW50YXhFcnJvciBleGNlcHRpb24KICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC4yLzE1LjEwLjIuMTUvUzE1LjEwLjIuMTVfQTFfVDI1LmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiBleGVjdXRpb24gb2YgIi9bYi1HXHNdLy5leGVjKCJhIikiIGxlYWRzIHRvIHRocm93aW5nIHRoZSBjb3JyZWN0IGV4Y2VwdGlvbgogKi8KCi8vQ0hFQ0sjMQp0cnkgewogICRFUlJPUignIzEuMTogL1tiLUdcXHNdLy5leGVjKCJhIikgdGhyb3cgU3ludGF4RXJyb3IuIEFjdHVhbDogJyArIChuZXcgUmVnRXhwKCJbYi1HXFxzXSIpLmV4ZWMoImEiKSkpOwp9IGNhdGNoIChlKSB7CiAgaWYoKGUgaW5zdGFuY2VvZiBTeW50YXhFcnJvcikgIT09IHRydWUpewogICAgJEVSUk9SKCcjMS4yOiAvW2ItR1xcc10vLmV4ZWMoImEiKSB0aHJvdyBTeW50YXhFcnJvci4gQWN0dWFsOiAnICsgKGUpKTsKICB9Cn0KCg==","commentary":"The internal helper function CharacterRange takes two CharSet parameters A and B and performs the\nfollowing:\nIf A does not contain exactly one character or B does not contain exactly one character then throw\na SyntaxError exception","description":"Checking if execution of \"/[b-G\\s]/.exec(\"a\")\" leads to throwing the correct exception","path":"TestCases/ch15/15.10/15.10.2/15.10.2.15/S15.10.2.15_A1_T25.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgaW50ZXJuYWwgaGVscGVyIGZ1bmN0aW9uIENoYXJhY3RlclJhbmdlIHRha2VzIHR3byBDaGFyU2V0IHBhcmFtZXRlcnMgQSBhbmQgQiBhbmQgcGVyZm9ybXMgdGhlCiAqIGZvbGxvd2luZzoKICogSWYgQSBkb2VzIG5vdCBjb250YWluIGV4YWN0bHkgb25lIGNoYXJhY3RlciBvciBCIGRvZXMgbm90IGNvbnRhaW4gZXhhY3RseSBvbmUgY2hhcmFjdGVyIHRoZW4gdGhyb3cKICogYSBTeW50YXhFcnJvciBleGNlcHRpb24KICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC4yLzE1LjEwLjIuMTUvUzE1LjEwLjIuMTVfQTFfVDI2LmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiBleGVjdXRpb24gb2YgIi9bYi1HXFNdLy5leGVjKCJhIikiIGxlYWRzIHRvIHRocm93aW5nIHRoZSBjb3JyZWN0IGV4Y2VwdGlvbgogKi8KCi8vQ0hFQ0sjMQp0cnkgewogICRFUlJPUignIzEuMTogL1tiLUdcXFNdLy5leGVjKCJhIikgdGhyb3cgU3ludGF4RXJyb3IuIEFjdHVhbDogJyArIChuZXcgUmVnRXhwKCJbYi1HXFxTXSIpLmV4ZWMoImEiKSkpOwp9IGNhdGNoIChlKSB7CiAgaWYoKGUgaW5zdGFuY2VvZiBTeW50YXhFcnJvcikgIT09IHRydWUpewogICAgJEVSUk9SKCcjMS4yOiAvW2ItR1xcU10vLmV4ZWMoImEiKSB0aHJvdyBTeW50YXhFcnJvci4gQWN0dWFsOiAnICsgKGUpKTsKICB9Cn0KCg==","commentary":"The internal helper function CharacterRange takes two CharSet parameters A and B and performs the\nfollowing:\nIf A does not contain exactly one character or B does not contain exactly one character then throw\na SyntaxError exception","description":"Checking if execution of \"/[b-G\\S]/.exec(\"a\")\" leads to throwing the correct exception","path":"TestCases/ch15/15.10/15.10.2/15.10.2.15/S15.10.2.15_A1_T26.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgaW50ZXJuYWwgaGVscGVyIGZ1bmN0aW9uIENoYXJhY3RlclJhbmdlIHRha2VzIHR3byBDaGFyU2V0IHBhcmFtZXRlcnMgQSBhbmQgQiBhbmQgcGVyZm9ybXMgdGhlCiAqIGZvbGxvd2luZzoKICogSWYgQSBkb2VzIG5vdCBjb250YWluIGV4YWN0bHkgb25lIGNoYXJhY3RlciBvciBCIGRvZXMgbm90IGNvbnRhaW4gZXhhY3RseSBvbmUgY2hhcmFjdGVyIHRoZW4gdGhyb3cKICogYSBTeW50YXhFcnJvciBleGNlcHRpb24KICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC4yLzE1LjEwLjIuMTUvUzE1LjEwLjIuMTVfQTFfVDI3LmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiBleGVjdXRpb24gb2YgIi9bYi1HXHddLy5leGVjKCJhIikiIGxlYWRzIHRvIHRocm93aW5nIHRoZSBjb3JyZWN0IGV4Y2VwdGlvbgogKi8KCi8vQ0hFQ0sjMQp0cnkgewogICRFUlJPUignIzEuMTogL1tiLUdcXHddLy5leGVjKCJhIikgdGhyb3cgU3ludGF4RXJyb3IuIEFjdHVhbDogJyArIChuZXcgUmVnRXhwKCJbYi1HXFx3XSIpLmV4ZWMoImEiKSkpOwp9IGNhdGNoIChlKSB7CiAgaWYoKGUgaW5zdGFuY2VvZiBTeW50YXhFcnJvcikgIT09IHRydWUpewogICAgJEVSUk9SKCcjMS4yOiAvW2ItR1xcd10vLmV4ZWMoImEiKSB0aHJvdyBTeW50YXhFcnJvci4gQWN0dWFsOiAnICsgKGUpKTsKICB9Cn0KCg==","commentary":"The internal helper function CharacterRange takes two CharSet parameters A and B and performs the\nfollowing:\nIf A does not contain exactly one character or B does not contain exactly one character then throw\na SyntaxError exception","description":"Checking if execution of \"/[b-G\\w]/.exec(\"a\")\" leads to throwing the correct exception","path":"TestCases/ch15/15.10/15.10.2/15.10.2.15/S15.10.2.15_A1_T27.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgaW50ZXJuYWwgaGVscGVyIGZ1bmN0aW9uIENoYXJhY3RlclJhbmdlIHRha2VzIHR3byBDaGFyU2V0IHBhcmFtZXRlcnMgQSBhbmQgQiBhbmQgcGVyZm9ybXMgdGhlCiAqIGZvbGxvd2luZzoKICogSWYgQSBkb2VzIG5vdCBjb250YWluIGV4YWN0bHkgb25lIGNoYXJhY3RlciBvciBCIGRvZXMgbm90IGNvbnRhaW4gZXhhY3RseSBvbmUgY2hhcmFjdGVyIHRoZW4gdGhyb3cKICogYSBTeW50YXhFcnJvciBleGNlcHRpb24KICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC4yLzE1LjEwLjIuMTUvUzE1LjEwLjIuMTVfQTFfVDI4LmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiBleGVjdXRpb24gb2YgIi9bYi1HXFddLy5leGVjKCJhIikiIGxlYWRzIHRvIHRocm93aW5nIHRoZSBjb3JyZWN0IGV4Y2VwdGlvbgogKi8KCi8vQ0hFQ0sjMQp0cnkgewogICRFUlJPUignIzEuMTogL1tiLUdcXFddLy5leGVjKCJhIikgdGhyb3cgU3ludGF4RXJyb3IuIEFjdHVhbDogJyArIChuZXcgUmVnRXhwKCJbYi1HXFxXXSIpLmV4ZWMoImEiKSkpOwp9IGNhdGNoIChlKSB7CiAgaWYoKGUgaW5zdGFuY2VvZiBTeW50YXhFcnJvcikgIT09IHRydWUpewogICAgJEVSUk9SKCcjMS4yOiAvW2ItR1xcV10vLmV4ZWMoImEiKSB0aHJvdyBTeW50YXhFcnJvci4gQWN0dWFsOiAnICsgKGUpKTsKICB9Cn0KCg==","commentary":"The internal helper function CharacterRange takes two CharSet parameters A and B and performs the\nfollowing:\nIf A does not contain exactly one character or B does not contain exactly one character then throw\na SyntaxError exception","description":"Checking if execution of \"/[b-G\\W]/.exec(\"a\")\" leads to throwing the correct exception","path":"TestCases/ch15/15.10/15.10.2/15.10.2.15/S15.10.2.15_A1_T28.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgaW50ZXJuYWwgaGVscGVyIGZ1bmN0aW9uIENoYXJhY3RlclJhbmdlIHRha2VzIHR3byBDaGFyU2V0IHBhcmFtZXRlcnMgQSBhbmQgQiBhbmQgcGVyZm9ybXMgdGhlCiAqIGZvbGxvd2luZzoKICogSWYgQSBkb2VzIG5vdCBjb250YWluIGV4YWN0bHkgb25lIGNoYXJhY3RlciBvciBCIGRvZXMgbm90IGNvbnRhaW4gZXhhY3RseSBvbmUgY2hhcmFjdGVyIHRoZW4gdGhyb3cKICogYSBTeW50YXhFcnJvciBleGNlcHRpb24KICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC4yLzE1LjEwLjIuMTUvUzE1LjEwLjIuMTVfQTFfVDI5LmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiBleGVjdXRpb24gb2YgIi9bYi1HXDBdLy5leGVjKCJhIikiIGxlYWRzIHRvIHRocm93aW5nIHRoZSBjb3JyZWN0IGV4Y2VwdGlvbgogKi8KCi8vQ0hFQ0sjMQp0cnkgewogICRFUlJPUignIzEuMTogL1tiLUdcXDBdLy5leGVjKCJhIikgdGhyb3cgU3ludGF4RXJyb3IuIEFjdHVhbDogJyArIChuZXcgUmVnRXhwKCJbYi1HXFwwXSIpLmV4ZWMoImEiKSkpOwp9IGNhdGNoIChlKSB7CiAgaWYoKGUgaW5zdGFuY2VvZiBTeW50YXhFcnJvcikgIT09IHRydWUpewogICAgJEVSUk9SKCcjMS4yOiAvW2ItR1xcMF0vLmV4ZWMoImEiKSB0aHJvdyBTeW50YXhFcnJvci4gQWN0dWFsOiAnICsgKGUpKTsKICB9Cn0KCg==","commentary":"The internal helper function CharacterRange takes two CharSet parameters A and B and performs the\nfollowing:\nIf A does not contain exactly one character or B does not contain exactly one character then throw\na SyntaxError exception","description":"Checking if execution of \"/[b-G\\0]/.exec(\"a\")\" leads to throwing the correct exception","path":"TestCases/ch15/15.10/15.10.2/15.10.2.15/S15.10.2.15_A1_T29.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgaW50ZXJuYWwgaGVscGVyIGZ1bmN0aW9uIENoYXJhY3RlclJhbmdlIHRha2VzIHR3byBDaGFyU2V0IHBhcmFtZXRlcnMgQSBhbmQgQiBhbmQgcGVyZm9ybXMgdGhlCiAqIGZvbGxvd2luZzoKICogSWYgQSBkb2VzIG5vdCBjb250YWluIGV4YWN0bHkgb25lIGNoYXJhY3RlciBvciBCIGRvZXMgbm90IGNvbnRhaW4gZXhhY3RseSBvbmUgY2hhcmFjdGVyIHRoZW4gdGhyb3cKICogYSBTeW50YXhFcnJvciBleGNlcHRpb24KICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC4yLzE1LjEwLjIuMTUvUzE1LjEwLjIuMTVfQTFfVDMuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIGV4ZWN1dGlvbiBvZiAiL1tcZGItR10vLmV4ZWMoImEiKSIgbGVhZHMgdG8gdGhyb3dpbmcgdGhlIGNvcnJlY3QgZXhjZXB0aW9uCiAqLwoKLy9DSEVDSyMxCnRyeSB7CiAgJEVSUk9SKCcjMS4xOiAvW1xcZGItR10vLmV4ZWMoImEiKSB0aHJvdyBTeW50YXhFcnJvci4gQWN0dWFsOiAnICsgKG5ldyBSZWdFeHAoIltcXGRiLUddIikuZXhlYygiYSIpKSk7Cn0gY2F0Y2ggKGUpIHsKICBpZigoZSBpbnN0YW5jZW9mIFN5bnRheEVycm9yKSAhPT0gdHJ1ZSl7CiAgICAkRVJST1IoJyMxLjI6IC9bXFxkYi1HXS8uZXhlYygiYSIpIHRocm93IFN5bnRheEVycm9yLiBBY3R1YWw6ICcgKyAoZSkpOwogIH0KfQoK","commentary":"The internal helper function CharacterRange takes two CharSet parameters A and B and performs the\nfollowing:\nIf A does not contain exactly one character or B does not contain exactly one character then throw\na SyntaxError exception","description":"Checking if execution of \"/[\\db-G]/.exec(\"a\")\" leads to throwing the correct exception","path":"TestCases/ch15/15.10/15.10.2/15.10.2.15/S15.10.2.15_A1_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgaW50ZXJuYWwgaGVscGVyIGZ1bmN0aW9uIENoYXJhY3RlclJhbmdlIHRha2VzIHR3byBDaGFyU2V0IHBhcmFtZXRlcnMgQSBhbmQgQiBhbmQgcGVyZm9ybXMgdGhlCiAqIGZvbGxvd2luZzoKICogSWYgQSBkb2VzIG5vdCBjb250YWluIGV4YWN0bHkgb25lIGNoYXJhY3RlciBvciBCIGRvZXMgbm90IGNvbnRhaW4gZXhhY3RseSBvbmUgY2hhcmFjdGVyIHRoZW4gdGhyb3cKICogYSBTeW50YXhFcnJvciBleGNlcHRpb24KICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC4yLzE1LjEwLjIuMTUvUzE1LjEwLjIuMTVfQTFfVDMwLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiBleGVjdXRpb24gb2YgIi9bYi1HXDEwXS8uZXhlYygiYSIpIiBsZWFkcyB0byB0aHJvd2luZyB0aGUgY29ycmVjdCBleGNlcHRpb24KICovCgovL0NIRUNLIzEKdHJ5IHsKICAkRVJST1IoJyMxLjE6IC9bYi1HXFwxMF0vLmV4ZWMoImEiKSB0aHJvdyBTeW50YXhFcnJvci4gQWN0dWFsOiAnICsgKG5ldyBSZWdFeHAoIltiLUdcXDEwXSIpLmV4ZWMoImEiKSkpOwp9IGNhdGNoIChlKSB7CiAgaWYoKGUgaW5zdGFuY2VvZiBTeW50YXhFcnJvcikgIT09IHRydWUpewogICAgJEVSUk9SKCcjMS4yOiAvW2ItR1xcMTBdLy5leGVjKCJhIikgdGhyb3cgU3ludGF4RXJyb3IuIEFjdHVhbDogJyArIChlKSk7CiAgfQp9Cgo=","commentary":"The internal helper function CharacterRange takes two CharSet parameters A and B and performs the\nfollowing:\nIf A does not contain exactly one character or B does not contain exactly one character then throw\na SyntaxError exception","description":"Checking if execution of \"/[b-G\\10]/.exec(\"a\")\" leads to throwing the correct exception","path":"TestCases/ch15/15.10/15.10.2/15.10.2.15/S15.10.2.15_A1_T30.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgaW50ZXJuYWwgaGVscGVyIGZ1bmN0aW9uIENoYXJhY3RlclJhbmdlIHRha2VzIHR3byBDaGFyU2V0IHBhcmFtZXRlcnMgQSBhbmQgQiBhbmQgcGVyZm9ybXMgdGhlCiAqIGZvbGxvd2luZzoKICogSWYgQSBkb2VzIG5vdCBjb250YWluIGV4YWN0bHkgb25lIGNoYXJhY3RlciBvciBCIGRvZXMgbm90IGNvbnRhaW4gZXhhY3RseSBvbmUgY2hhcmFjdGVyIHRoZW4gdGhyb3cKICogYSBTeW50YXhFcnJvciBleGNlcHRpb24KICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC4yLzE1LjEwLjIuMTUvUzE1LjEwLjIuMTVfQTFfVDMxLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiBleGVjdXRpb24gb2YgIi9bZC1HXGJdLy5leGVjKCJhIikiIGxlYWRzIHRvIHRocm93aW5nIHRoZSBjb3JyZWN0IGV4Y2VwdGlvbgogKi8KCi8vQ0hFQ0sjMQp0cnkgewogICRFUlJPUignIzEuMTogL1tkLUdcXGJdLy5leGVjKCJhIikgdGhyb3cgU3ludGF4RXJyb3IuIEFjdHVhbDogJyArIChuZXcgUmVnRXhwKCJbZC1HXFxiXSIpLmV4ZWMoImEiKSkpOwp9IGNhdGNoIChlKSB7CiAgaWYoKGUgaW5zdGFuY2VvZiBTeW50YXhFcnJvcikgIT09IHRydWUpewogICAgJEVSUk9SKCcjMS4yOiAvW2QtR1xcYl0vLmV4ZWMoImEiKSB0aHJvdyBTeW50YXhFcnJvci4gQWN0dWFsOiAnICsgKGUpKTsKICB9Cn0KCg==","commentary":"The internal helper function CharacterRange takes two CharSet parameters A and B and performs the\nfollowing:\nIf A does not contain exactly one character or B does not contain exactly one character then throw\na SyntaxError exception","description":"Checking if execution of \"/[d-G\\b]/.exec(\"a\")\" leads to throwing the correct exception","path":"TestCases/ch15/15.10/15.10.2/15.10.2.15/S15.10.2.15_A1_T31.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgaW50ZXJuYWwgaGVscGVyIGZ1bmN0aW9uIENoYXJhY3RlclJhbmdlIHRha2VzIHR3byBDaGFyU2V0IHBhcmFtZXRlcnMgQSBhbmQgQiBhbmQgcGVyZm9ybXMgdGhlCiAqIGZvbGxvd2luZzoKICogSWYgQSBkb2VzIG5vdCBjb250YWluIGV4YWN0bHkgb25lIGNoYXJhY3RlciBvciBCIGRvZXMgbm90IGNvbnRhaW4gZXhhY3RseSBvbmUgY2hhcmFjdGVyIHRoZW4gdGhyb3cKICogYSBTeW50YXhFcnJvciBleGNlcHRpb24KICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC4yLzE1LjEwLjIuMTUvUzE1LjEwLjIuMTVfQTFfVDMyLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiBleGVjdXRpb24gb2YgIi9bZC1HXEJdLy5leGVjKCJhIikiIGxlYWRzIHRvIHRocm93aW5nIHRoZSBjb3JyZWN0IGV4Y2VwdGlvbgogKi8KCi8vQ0hFQ0sjMQp0cnkgewogICRFUlJPUignIzEuMTogL1tkLUdcXEJdLy5leGVjKCJhIikgdGhyb3cgU3ludGF4RXJyb3IuIEFjdHVhbDogJyArIChuZXcgUmVnRXhwKCJbZC1HXFxCXSIpLmV4ZWMoImEiKSkpOwp9IGNhdGNoIChlKSB7CiAgaWYoKGUgaW5zdGFuY2VvZiBTeW50YXhFcnJvcikgIT09IHRydWUpewogICAgJEVSUk9SKCcjMS4yOiAvW2QtR1xcQl0vLmV4ZWMoImEiKSB0aHJvdyBTeW50YXhFcnJvci4gQWN0dWFsOiAnICsgKGUpKTsKICB9Cn0KCg==","commentary":"The internal helper function CharacterRange takes two CharSet parameters A and B and performs the\nfollowing:\nIf A does not contain exactly one character or B does not contain exactly one character then throw\na SyntaxError exception","description":"Checking if execution of \"/[d-G\\B]/.exec(\"a\")\" leads to throwing the correct exception","path":"TestCases/ch15/15.10/15.10.2/15.10.2.15/S15.10.2.15_A1_T32.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgaW50ZXJuYWwgaGVscGVyIGZ1bmN0aW9uIENoYXJhY3RlclJhbmdlIHRha2VzIHR3byBDaGFyU2V0IHBhcmFtZXRlcnMgQSBhbmQgQiBhbmQgcGVyZm9ybXMgdGhlCiAqIGZvbGxvd2luZzoKICogSWYgQSBkb2VzIG5vdCBjb250YWluIGV4YWN0bHkgb25lIGNoYXJhY3RlciBvciBCIGRvZXMgbm90IGNvbnRhaW4gZXhhY3RseSBvbmUgY2hhcmFjdGVyIHRoZW4gdGhyb3cKICogYSBTeW50YXhFcnJvciBleGNlcHRpb24KICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC4yLzE1LjEwLjIuMTUvUzE1LjEwLjIuMTVfQTFfVDMzLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiBleGVjdXRpb24gb2YgIi9bZC1HXHRdLy5leGVjKCJhIikiIGxlYWRzIHRvIHRocm93aW5nIHRoZSBjb3JyZWN0IGV4Y2VwdGlvbgogKi8KCi8vQ0hFQ0sjMQp0cnkgewogICRFUlJPUignIzEuMTogL1tkLUdcXHRdLy5leGVjKCJhIikgdGhyb3cgU3ludGF4RXJyb3IuIEFjdHVhbDogJyArIChuZXcgUmVnRXhwKCJbZC1HXFx0XSIpLmV4ZWMoImEiKSkpOwp9IGNhdGNoIChlKSB7CiAgaWYoKGUgaW5zdGFuY2VvZiBTeW50YXhFcnJvcikgIT09IHRydWUpewogICAgJEVSUk9SKCcjMS4yOiAvW2QtR1xcdF0vLmV4ZWMoImEiKSB0aHJvdyBTeW50YXhFcnJvci4gQWN0dWFsOiAnICsgKGUpKTsKICB9Cn0KCg==","commentary":"The internal helper function CharacterRange takes two CharSet parameters A and B and performs the\nfollowing:\nIf A does not contain exactly one character or B does not contain exactly one character then throw\na SyntaxError exception","description":"Checking if execution of \"/[d-G\\t]/.exec(\"a\")\" leads to throwing the correct exception","path":"TestCases/ch15/15.10/15.10.2/15.10.2.15/S15.10.2.15_A1_T33.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgaW50ZXJuYWwgaGVscGVyIGZ1bmN0aW9uIENoYXJhY3RlclJhbmdlIHRha2VzIHR3byBDaGFyU2V0IHBhcmFtZXRlcnMgQSBhbmQgQiBhbmQgcGVyZm9ybXMgdGhlCiAqIGZvbGxvd2luZzoKICogSWYgQSBkb2VzIG5vdCBjb250YWluIGV4YWN0bHkgb25lIGNoYXJhY3RlciBvciBCIGRvZXMgbm90IGNvbnRhaW4gZXhhY3RseSBvbmUgY2hhcmFjdGVyIHRoZW4gdGhyb3cKICogYSBTeW50YXhFcnJvciBleGNlcHRpb24KICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC4yLzE1LjEwLjIuMTUvUzE1LjEwLjIuMTVfQTFfVDM0LmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiBleGVjdXRpb24gb2YgIi9bZC1HXG5dLy5leGVjKCJhIikiIGxlYWRzIHRvIHRocm93aW5nIHRoZSBjb3JyZWN0IGV4Y2VwdGlvbgogKi8KCi8vQ0hFQ0sjMQp0cnkgewogICRFUlJPUignIzEuMTogL1tkLUdcXG5dLy5leGVjKCJhIikgdGhyb3cgU3ludGF4RXJyb3IuIEFjdHVhbDogJyArIChuZXcgUmVnRXhwKCJbZC1HXFxuXSIpLmV4ZWMoImEiKSkpOwp9IGNhdGNoIChlKSB7CiAgaWYoKGUgaW5zdGFuY2VvZiBTeW50YXhFcnJvcikgIT09IHRydWUpewogICAgJEVSUk9SKCcjMS4yOiAvW2QtR1xcbl0vLmV4ZWMoImEiKSB0aHJvdyBTeW50YXhFcnJvci4gQWN0dWFsOiAnICsgKGUpKTsKICB9Cn0KCg==","commentary":"The internal helper function CharacterRange takes two CharSet parameters A and B and performs the\nfollowing:\nIf A does not contain exactly one character or B does not contain exactly one character then throw\na SyntaxError exception","description":"Checking if execution of \"/[d-G\\n]/.exec(\"a\")\" leads to throwing the correct exception","path":"TestCases/ch15/15.10/15.10.2/15.10.2.15/S15.10.2.15_A1_T34.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgaW50ZXJuYWwgaGVscGVyIGZ1bmN0aW9uIENoYXJhY3RlclJhbmdlIHRha2VzIHR3byBDaGFyU2V0IHBhcmFtZXRlcnMgQSBhbmQgQiBhbmQgcGVyZm9ybXMgdGhlCiAqIGZvbGxvd2luZzoKICogSWYgQSBkb2VzIG5vdCBjb250YWluIGV4YWN0bHkgb25lIGNoYXJhY3RlciBvciBCIGRvZXMgbm90IGNvbnRhaW4gZXhhY3RseSBvbmUgY2hhcmFjdGVyIHRoZW4gdGhyb3cKICogYSBTeW50YXhFcnJvciBleGNlcHRpb24KICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC4yLzE1LjEwLjIuMTUvUzE1LjEwLjIuMTVfQTFfVDM1LmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiBleGVjdXRpb24gb2YgIi9bZC1HXHZdLy5leGVjKCJhIikiIGxlYWRzIHRvIHRocm93aW5nIHRoZSBjb3JyZWN0IGV4Y2VwdGlvbgogKi8KCi8vQ0hFQ0sjMQp0cnkgewogICRFUlJPUignIzEuMTogL1tkLUdcXHZdLy5leGVjKCJhIikgdGhyb3cgU3ludGF4RXJyb3IuIEFjdHVhbDogJyArIChuZXcgUmVnRXhwKCJbZC1HXFx2XSIpLmV4ZWMoImEiKSkpOwp9IGNhdGNoIChlKSB7CiAgaWYoKGUgaW5zdGFuY2VvZiBTeW50YXhFcnJvcikgIT09IHRydWUpewogICAgJEVSUk9SKCcjMS4yOiAvW2QtR1xcdl0vLmV4ZWMoImEiKSB0aHJvdyBTeW50YXhFcnJvci4gQWN0dWFsOiAnICsgKGUpKTsKICB9Cn0KCg==","commentary":"The internal helper function CharacterRange takes two CharSet parameters A and B and performs the\nfollowing:\nIf A does not contain exactly one character or B does not contain exactly one character then throw\na SyntaxError exception","description":"Checking if execution of \"/[d-G\\v]/.exec(\"a\")\" leads to throwing the correct exception","path":"TestCases/ch15/15.10/15.10.2/15.10.2.15/S15.10.2.15_A1_T35.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgaW50ZXJuYWwgaGVscGVyIGZ1bmN0aW9uIENoYXJhY3RlclJhbmdlIHRha2VzIHR3byBDaGFyU2V0IHBhcmFtZXRlcnMgQSBhbmQgQiBhbmQgcGVyZm9ybXMgdGhlCiAqIGZvbGxvd2luZzoKICogSWYgQSBkb2VzIG5vdCBjb250YWluIGV4YWN0bHkgb25lIGNoYXJhY3RlciBvciBCIGRvZXMgbm90IGNvbnRhaW4gZXhhY3RseSBvbmUgY2hhcmFjdGVyIHRoZW4gdGhyb3cKICogYSBTeW50YXhFcnJvciBleGNlcHRpb24KICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC4yLzE1LjEwLjIuMTUvUzE1LjEwLjIuMTVfQTFfVDM2LmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiBleGVjdXRpb24gb2YgIi9bZC1HXGZdLy5leGVjKCJhIikiIGxlYWRzIHRvIHRocm93aW5nIHRoZSBjb3JyZWN0IGV4Y2VwdGlvbgogKi8KCi8vQ0hFQ0sjMQp0cnkgewogICRFUlJPUignIzEuMTogL1tkLUdcXGZdLy5leGVjKCJhIikgdGhyb3cgU3ludGF4RXJyb3IuIEFjdHVhbDogJyArIChuZXcgUmVnRXhwKCJbZC1HXFxmXSIpLmV4ZWMoImEiKSkpOwp9IGNhdGNoIChlKSB7CiAgaWYoKGUgaW5zdGFuY2VvZiBTeW50YXhFcnJvcikgIT09IHRydWUpewogICAgJEVSUk9SKCcjMS4yOiAvW2QtR1xcZl0vLmV4ZWMoImEiKSB0aHJvdyBTeW50YXhFcnJvci4gQWN0dWFsOiAnICsgKGUpKTsKICB9Cn0KCg==","commentary":"The internal helper function CharacterRange takes two CharSet parameters A and B and performs the\nfollowing:\nIf A does not contain exactly one character or B does not contain exactly one character then throw\na SyntaxError exception","description":"Checking if execution of \"/[d-G\\f]/.exec(\"a\")\" leads to throwing the correct exception","path":"TestCases/ch15/15.10/15.10.2/15.10.2.15/S15.10.2.15_A1_T36.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgaW50ZXJuYWwgaGVscGVyIGZ1bmN0aW9uIENoYXJhY3RlclJhbmdlIHRha2VzIHR3byBDaGFyU2V0IHBhcmFtZXRlcnMgQSBhbmQgQiBhbmQgcGVyZm9ybXMgdGhlCiAqIGZvbGxvd2luZzoKICogSWYgQSBkb2VzIG5vdCBjb250YWluIGV4YWN0bHkgb25lIGNoYXJhY3RlciBvciBCIGRvZXMgbm90IGNvbnRhaW4gZXhhY3RseSBvbmUgY2hhcmFjdGVyIHRoZW4gdGhyb3cKICogYSBTeW50YXhFcnJvciBleGNlcHRpb24KICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC4yLzE1LjEwLjIuMTUvUzE1LjEwLjIuMTVfQTFfVDM3LmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiBleGVjdXRpb24gb2YgIi9bZC1HXHJdLy5leGVjKCJhIikiIGxlYWRzIHRvIHRocm93aW5nIHRoZSBjb3JyZWN0IGV4Y2VwdGlvbgogKi8KCi8vQ0hFQ0sjMQp0cnkgewogICRFUlJPUignIzEuMTogL1tkLUdcXHJdLy5leGVjKCJhIikgdGhyb3cgU3ludGF4RXJyb3IuIEFjdHVhbDogJyArIChuZXcgUmVnRXhwKCJbZC1HXFxyXSIpLmV4ZWMoImEiKSkpOwp9IGNhdGNoIChlKSB7CiAgaWYoKGUgaW5zdGFuY2VvZiBTeW50YXhFcnJvcikgIT09IHRydWUpewogICAgJEVSUk9SKCcjMS4yOiAvW2QtR1xccl0vLmV4ZWMoImEiKSB0aHJvdyBTeW50YXhFcnJvci4gQWN0dWFsOiAnICsgKGUpKTsKICB9Cn0KCg==","commentary":"The internal helper function CharacterRange takes two CharSet parameters A and B and performs the\nfollowing:\nIf A does not contain exactly one character or B does not contain exactly one character then throw\na SyntaxError exception","description":"Checking if execution of \"/[d-G\\r]/.exec(\"a\")\" leads to throwing the correct exception","path":"TestCases/ch15/15.10/15.10.2/15.10.2.15/S15.10.2.15_A1_T37.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgaW50ZXJuYWwgaGVscGVyIGZ1bmN0aW9uIENoYXJhY3RlclJhbmdlIHRha2VzIHR3byBDaGFyU2V0IHBhcmFtZXRlcnMgQSBhbmQgQiBhbmQgcGVyZm9ybXMgdGhlCiAqIGZvbGxvd2luZzoKICogSWYgQSBkb2VzIG5vdCBjb250YWluIGV4YWN0bHkgb25lIGNoYXJhY3RlciBvciBCIGRvZXMgbm90IGNvbnRhaW4gZXhhY3RseSBvbmUgY2hhcmFjdGVyIHRoZW4gdGhyb3cKICogYSBTeW50YXhFcnJvciBleGNlcHRpb24KICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC4yLzE1LjEwLjIuMTUvUzE1LjEwLjIuMTVfQTFfVDM4LmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiBleGVjdXRpb24gb2YgIi9bZC1HXGMwMDAxXS8uZXhlYygiMSIpIiBsZWFkcyB0byB0aHJvd2luZyB0aGUgY29ycmVjdCBleGNlcHRpb24KICovCgovL0NIRUNLIzEKdHJ5IHsKICAkRVJST1IoJyMxLjE6IC9bZC1HXFxjMDAwMV0vLmV4ZWMoIjEiKSB0aHJvdyBTeW50YXhFcnJvci4gQWN0dWFsOiAnICsgKG5ldyBSZWdFeHAoIltkLUdcXGMwMDAxXSIpLmV4ZWMoIjEiKSkpOwp9IGNhdGNoIChlKSB7CiAgaWYoKGUgaW5zdGFuY2VvZiBTeW50YXhFcnJvcikgIT09IHRydWUpewogICAgJEVSUk9SKCcjMS4yOiAvW2QtR1xcYzAwMDFdLy5leGVjKCIxIikgdGhyb3cgU3ludGF4RXJyb3IuIEFjdHVhbDogJyArIChlKSk7CiAgfQp9Cgo=","commentary":"The internal helper function CharacterRange takes two CharSet parameters A and B and performs the\nfollowing:\nIf A does not contain exactly one character or B does not contain exactly one character then throw\na SyntaxError exception","description":"Checking if execution of \"/[d-G\\c0001]/.exec(\"1\")\" leads to throwing the correct exception","path":"TestCases/ch15/15.10/15.10.2/15.10.2.15/S15.10.2.15_A1_T38.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgaW50ZXJuYWwgaGVscGVyIGZ1bmN0aW9uIENoYXJhY3RlclJhbmdlIHRha2VzIHR3byBDaGFyU2V0IHBhcmFtZXRlcnMgQSBhbmQgQiBhbmQgcGVyZm9ybXMgdGhlCiAqIGZvbGxvd2luZzoKICogSWYgQSBkb2VzIG5vdCBjb250YWluIGV4YWN0bHkgb25lIGNoYXJhY3RlciBvciBCIGRvZXMgbm90IGNvbnRhaW4gZXhhY3RseSBvbmUgY2hhcmFjdGVyIHRoZW4gdGhyb3cKICogYSBTeW50YXhFcnJvciBleGNlcHRpb24KICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC4yLzE1LjEwLjIuMTUvUzE1LjEwLjIuMTVfQTFfVDM5LmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiBleGVjdXRpb24gb2YgIi9bZC1HXHgwMDYxXS8uZXhlYygiMSIpIiBsZWFkcyB0byB0aHJvd2luZyB0aGUgY29ycmVjdCBleGNlcHRpb24KICovCgovL0NIRUNLIzEKdHJ5IHsKICAkRVJST1IoJyMxLjE6IC9bZC1HXFx4MDA2MV0vLmV4ZWMoIjEiKSB0aHJvdyBTeW50YXhFcnJvci4gQWN0dWFsOiAnICsgKG5ldyBSZWdFeHAoIltkLUdcXHgwMDYxXSIpLmV4ZWMoIjEiKSkpOwp9IGNhdGNoIChlKSB7CiAgaWYoKGUgaW5zdGFuY2VvZiBTeW50YXhFcnJvcikgIT09IHRydWUpewogICAgJEVSUk9SKCcjMS4yOiAvW2QtR1xceDAwNjFdLy5leGVjKCIxIikgdGhyb3cgU3ludGF4RXJyb3IuIEFjdHVhbDogJyArIChlKSk7CiAgfQp9Cgo=","commentary":"The internal helper function CharacterRange takes two CharSet parameters A and B and performs the\nfollowing:\nIf A does not contain exactly one character or B does not contain exactly one character then throw\na SyntaxError exception","description":"Checking if execution of \"/[d-G\\x0061]/.exec(\"1\")\" leads to throwing the correct exception","path":"TestCases/ch15/15.10/15.10.2/15.10.2.15/S15.10.2.15_A1_T39.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgaW50ZXJuYWwgaGVscGVyIGZ1bmN0aW9uIENoYXJhY3RlclJhbmdlIHRha2VzIHR3byBDaGFyU2V0IHBhcmFtZXRlcnMgQSBhbmQgQiBhbmQgcGVyZm9ybXMgdGhlCiAqIGZvbGxvd2luZzoKICogSWYgQSBkb2VzIG5vdCBjb250YWluIGV4YWN0bHkgb25lIGNoYXJhY3RlciBvciBCIGRvZXMgbm90IGNvbnRhaW4gZXhhY3RseSBvbmUgY2hhcmFjdGVyIHRoZW4gdGhyb3cKICogYSBTeW50YXhFcnJvciBleGNlcHRpb24KICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC4yLzE1LjEwLjIuMTUvUzE1LjEwLjIuMTVfQTFfVDQuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIGV4ZWN1dGlvbiBvZiAiL1tcRGItR10vLmV4ZWMoImEiKSIgbGVhZHMgdG8gdGhyb3dpbmcgdGhlIGNvcnJlY3QgZXhjZXB0aW9uCiAqLwoKLy9DSEVDSyMxCnRyeSB7CiAgJEVSUk9SKCcjMS4xOiAvW1xcRGItR10vLmV4ZWMoImEiKSB0aHJvdyBTeW50YXhFcnJvci4gQWN0dWFsOiAnICsgKG5ldyBSZWdFeHAoIltcXERiLUddIikuZXhlYygiYSIpKSk7Cn0gY2F0Y2ggKGUpIHsKICBpZigoZSBpbnN0YW5jZW9mIFN5bnRheEVycm9yKSAhPT0gdHJ1ZSl7CiAgICAkRVJST1IoJyMxLjI6IC9bXFxEYi1HXS8uZXhlYygiYSIpIHRocm93IFN5bnRheEVycm9yLiBBY3R1YWw6ICcgKyAoZSkpOwogIH0KfQoK","commentary":"The internal helper function CharacterRange takes two CharSet parameters A and B and performs the\nfollowing:\nIf A does not contain exactly one character or B does not contain exactly one character then throw\na SyntaxError exception","description":"Checking if execution of \"/[\\Db-G]/.exec(\"a\")\" leads to throwing the correct exception","path":"TestCases/ch15/15.10/15.10.2/15.10.2.15/S15.10.2.15_A1_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgaW50ZXJuYWwgaGVscGVyIGZ1bmN0aW9uIENoYXJhY3RlclJhbmdlIHRha2VzIHR3byBDaGFyU2V0IHBhcmFtZXRlcnMgQSBhbmQgQiBhbmQgcGVyZm9ybXMgdGhlCiAqIGZvbGxvd2luZzoKICogSWYgQSBkb2VzIG5vdCBjb250YWluIGV4YWN0bHkgb25lIGNoYXJhY3RlciBvciBCIGRvZXMgbm90IGNvbnRhaW4gZXhhY3RseSBvbmUgY2hhcmFjdGVyIHRoZW4gdGhyb3cKICogYSBTeW50YXhFcnJvciBleGNlcHRpb24KICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC4yLzE1LjEwLjIuMTUvUzE1LjEwLjIuMTVfQTFfVDQwLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiBleGVjdXRpb24gb2YgIi9bZC1HXHUwMDYxXS8uZXhlYygiYSIpIiBsZWFkcyB0byB0aHJvd2luZyB0aGUgY29ycmVjdCBleGNlcHRpb24KICovCgovL0NIRUNLIzEKdHJ5IHsKICAkRVJST1IoJyMxLjE6IC9bZC1HXFx1MDA2MV0vLmV4ZWMoImEiKSB0aHJvdyBTeW50YXhFcnJvci4gQWN0dWFsOiAnICsgKG5ldyBSZWdFeHAoIltkLUdcXHUwMDYxXSIpLmV4ZWMoImEiKSkpOwp9IGNhdGNoIChlKSB7CiAgaWYoKGUgaW5zdGFuY2VvZiBTeW50YXhFcnJvcikgIT09IHRydWUpewogICAgJEVSUk9SKCcjMS4yOiAvW2QtR1xcdTAwNjFdLy5leGVjKCJhIikgdGhyb3cgU3ludGF4RXJyb3IuIEFjdHVhbDogJyArIChlKSk7CiAgfQp9Cgo=","commentary":"The internal helper function CharacterRange takes two CharSet parameters A and B and performs the\nfollowing:\nIf A does not contain exactly one character or B does not contain exactly one character then throw\na SyntaxError exception","description":"Checking if execution of \"/[d-G\\u0061]/.exec(\"a\")\" leads to throwing the correct exception","path":"TestCases/ch15/15.10/15.10.2/15.10.2.15/S15.10.2.15_A1_T40.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgaW50ZXJuYWwgaGVscGVyIGZ1bmN0aW9uIENoYXJhY3RlclJhbmdlIHRha2VzIHR3byBDaGFyU2V0IHBhcmFtZXRlcnMgQSBhbmQgQiBhbmQgcGVyZm9ybXMgdGhlCiAqIGZvbGxvd2luZzoKICogSWYgQSBkb2VzIG5vdCBjb250YWluIGV4YWN0bHkgb25lIGNoYXJhY3RlciBvciBCIGRvZXMgbm90IGNvbnRhaW4gZXhhY3RseSBvbmUgY2hhcmFjdGVyIHRoZW4gdGhyb3cKICogYSBTeW50YXhFcnJvciBleGNlcHRpb24KICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC4yLzE1LjEwLjIuMTUvUzE1LjEwLjIuMTVfQTFfVDQxLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiBleGVjdXRpb24gb2YgIi9bZC1HXGFdLy5leGVjKCJhIikiIGxlYWRzIHRvIHRocm93aW5nIHRoZSBjb3JyZWN0IGV4Y2VwdGlvbgogKi8KCi8vQ0hFQ0sjMQp0cnkgewogICRFUlJPUignIzEuMTogL1tkLUdcXGFdLy5leGVjKCJhIikgdGhyb3cgU3ludGF4RXJyb3IuIEFjdHVhbDogJyArIChuZXcgUmVnRXhwKCJbZC1HXFxhXSIpLmV4ZWMoImEiKSkpOwp9IGNhdGNoIChlKSB7CiAgaWYoKGUgaW5zdGFuY2VvZiBTeW50YXhFcnJvcikgIT09IHRydWUpewogICAgJEVSUk9SKCcjMS4yOiAvW2QtR1xcYV0vLmV4ZWMoImEiKSB0aHJvdyBTeW50YXhFcnJvci4gQWN0dWFsOiAnICsgKGUpKTsKICB9Cn0KCg==","commentary":"The internal helper function CharacterRange takes two CharSet parameters A and B and performs the\nfollowing:\nIf A does not contain exactly one character or B does not contain exactly one character then throw\na SyntaxError exception","description":"Checking if execution of \"/[d-G\\a]/.exec(\"a\")\" leads to throwing the correct exception","path":"TestCases/ch15/15.10/15.10.2/15.10.2.15/S15.10.2.15_A1_T41.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgaW50ZXJuYWwgaGVscGVyIGZ1bmN0aW9uIENoYXJhY3RlclJhbmdlIHRha2VzIHR3byBDaGFyU2V0IHBhcmFtZXRlcnMgQSBhbmQgQiBhbmQgcGVyZm9ybXMgdGhlCiAqIGZvbGxvd2luZzoKICogSWYgQSBkb2VzIG5vdCBjb250YWluIGV4YWN0bHkgb25lIGNoYXJhY3RlciBvciBCIGRvZXMgbm90IGNvbnRhaW4gZXhhY3RseSBvbmUgY2hhcmFjdGVyIHRoZW4gdGhyb3cKICogYSBTeW50YXhFcnJvciBleGNlcHRpb24KICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC4yLzE1LjEwLjIuMTUvUzE1LjEwLjIuMTVfQTFfVDUuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIGV4ZWN1dGlvbiBvZiAiL1tcc2ItR10vLmV4ZWMoImEiKSIgbGVhZHMgdG8gdGhyb3dpbmcgdGhlIGNvcnJlY3QgZXhjZXB0aW9uCiAqLwoKLy9DSEVDSyMxCnRyeSB7CiAgJEVSUk9SKCcjMS4xOiAvW1xcc2ItR10vLmV4ZWMoImEiKSB0aHJvdyBTeW50YXhFcnJvci4gQWN0dWFsOiAnICsgKG5ldyBSZWdFeHAoIltcXHNiLUddIikuZXhlYygiYSIpKSk7Cn0gY2F0Y2ggKGUpIHsKICBpZigoZSBpbnN0YW5jZW9mIFN5bnRheEVycm9yKSAhPT0gdHJ1ZSl7CiAgICAkRVJST1IoJyMxLjI6IC9bXFxzYi1HXS8uZXhlYygiYSIpIHRocm93IFN5bnRheEVycm9yLiBBY3R1YWw6ICcgKyAoZSkpOwogIH0KfQoK","commentary":"The internal helper function CharacterRange takes two CharSet parameters A and B and performs the\nfollowing:\nIf A does not contain exactly one character or B does not contain exactly one character then throw\na SyntaxError exception","description":"Checking if execution of \"/[\\sb-G]/.exec(\"a\")\" leads to throwing the correct exception","path":"TestCases/ch15/15.10/15.10.2/15.10.2.15/S15.10.2.15_A1_T5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgaW50ZXJuYWwgaGVscGVyIGZ1bmN0aW9uIENoYXJhY3RlclJhbmdlIHRha2VzIHR3byBDaGFyU2V0IHBhcmFtZXRlcnMgQSBhbmQgQiBhbmQgcGVyZm9ybXMgdGhlCiAqIGZvbGxvd2luZzoKICogSWYgQSBkb2VzIG5vdCBjb250YWluIGV4YWN0bHkgb25lIGNoYXJhY3RlciBvciBCIGRvZXMgbm90IGNvbnRhaW4gZXhhY3RseSBvbmUgY2hhcmFjdGVyIHRoZW4gdGhyb3cKICogYSBTeW50YXhFcnJvciBleGNlcHRpb24KICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC4yLzE1LjEwLjIuMTUvUzE1LjEwLjIuMTVfQTFfVDYuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIGV4ZWN1dGlvbiBvZiAiL1tcU2ItR10vLmV4ZWMoImEiKSIgbGVhZHMgdG8gdGhyb3dpbmcgdGhlIGNvcnJlY3QgZXhjZXB0aW9uCiAqLwoKLy9DSEVDSyMxCnRyeSB7CiAgJEVSUk9SKCcjMS4xOiAvW1xcU2ItR10vLmV4ZWMoImEiKSB0aHJvdyBTeW50YXhFcnJvci4gQWN0dWFsOiAnICsgKG5ldyBSZWdFeHAoIltcXFNiLUddIikuZXhlYygiYSIpKSk7Cn0gY2F0Y2ggKGUpIHsKICBpZigoZSBpbnN0YW5jZW9mIFN5bnRheEVycm9yKSAhPT0gdHJ1ZSl7CiAgICAkRVJST1IoJyMxLjI6IC9bXFxTYi1HXS8uZXhlYygiYSIpIHRocm93IFN5bnRheEVycm9yLiBBY3R1YWw6ICcgKyAoZSkpOwogIH0KfQoK","commentary":"The internal helper function CharacterRange takes two CharSet parameters A and B and performs the\nfollowing:\nIf A does not contain exactly one character or B does not contain exactly one character then throw\na SyntaxError exception","description":"Checking if execution of \"/[\\Sb-G]/.exec(\"a\")\" leads to throwing the correct exception","path":"TestCases/ch15/15.10/15.10.2/15.10.2.15/S15.10.2.15_A1_T6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgaW50ZXJuYWwgaGVscGVyIGZ1bmN0aW9uIENoYXJhY3RlclJhbmdlIHRha2VzIHR3byBDaGFyU2V0IHBhcmFtZXRlcnMgQSBhbmQgQiBhbmQgcGVyZm9ybXMgdGhlCiAqIGZvbGxvd2luZzoKICogSWYgQSBkb2VzIG5vdCBjb250YWluIGV4YWN0bHkgb25lIGNoYXJhY3RlciBvciBCIGRvZXMgbm90IGNvbnRhaW4gZXhhY3RseSBvbmUgY2hhcmFjdGVyIHRoZW4gdGhyb3cKICogYSBTeW50YXhFcnJvciBleGNlcHRpb24KICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC4yLzE1LjEwLjIuMTUvUzE1LjEwLjIuMTVfQTFfVDcuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIGV4ZWN1dGlvbiBvZiAiL1tcd2ItR10vLmV4ZWMoImEiKSIgbGVhZHMgdG8gdGhyb3dpbmcgdGhlIGNvcnJlY3QgZXhjZXB0aW9uCiAqLwoKLy9DSEVDSyMxCnRyeSB7CiAgJEVSUk9SKCcjMS4xOiAvW1xcd2ItR10vLmV4ZWMoImEiKSB0aHJvdyBTeW50YXhFcnJvci4gQWN0dWFsOiAnICsgKG5ldyBSZWdFeHAoIltcXHdiLUddIikuZXhlYygiYSIpKSk7Cn0gY2F0Y2ggKGUpIHsKICBpZigoZSBpbnN0YW5jZW9mIFN5bnRheEVycm9yKSAhPT0gdHJ1ZSl7CiAgICAkRVJST1IoJyMxLjI6IC9bXFx3Yi1HXS8uZXhlYygiYSIpIHRocm93IFN5bnRheEVycm9yLiBBY3R1YWw6ICcgKyAoZSkpOwogIH0KfQoK","commentary":"The internal helper function CharacterRange takes two CharSet parameters A and B and performs the\nfollowing:\nIf A does not contain exactly one character or B does not contain exactly one character then throw\na SyntaxError exception","description":"Checking if execution of \"/[\\wb-G]/.exec(\"a\")\" leads to throwing the correct exception","path":"TestCases/ch15/15.10/15.10.2/15.10.2.15/S15.10.2.15_A1_T7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgaW50ZXJuYWwgaGVscGVyIGZ1bmN0aW9uIENoYXJhY3RlclJhbmdlIHRha2VzIHR3byBDaGFyU2V0IHBhcmFtZXRlcnMgQSBhbmQgQiBhbmQgcGVyZm9ybXMgdGhlCiAqIGZvbGxvd2luZzoKICogSWYgQSBkb2VzIG5vdCBjb250YWluIGV4YWN0bHkgb25lIGNoYXJhY3RlciBvciBCIGRvZXMgbm90IGNvbnRhaW4gZXhhY3RseSBvbmUgY2hhcmFjdGVyIHRoZW4gdGhyb3cKICogYSBTeW50YXhFcnJvciBleGNlcHRpb24KICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC4yLzE1LjEwLjIuMTUvUzE1LjEwLjIuMTVfQTFfVDguanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIGV4ZWN1dGlvbiBvZiAiL1tcV2ItR10vLmV4ZWMoImEiKSIgbGVhZHMgdG8gdGhyb3dpbmcgdGhlIGNvcnJlY3QgZXhjZXB0aW9uCiAqLwoKLy9DSEVDSyMxCnRyeSB7CiAgJEVSUk9SKCcjMS4xOiAvW1xcV2ItR10vLmV4ZWMoImEiKSB0aHJvdyBTeW50YXhFcnJvci4gQWN0dWFsOiAnICsgKG5ldyBSZWdFeHAoIltcXFdiLUddIikuZXhlYygiYSIpKSk7Cn0gY2F0Y2ggKGUpIHsKICBpZigoZSBpbnN0YW5jZW9mIFN5bnRheEVycm9yKSAhPT0gdHJ1ZSl7CiAgICAkRVJST1IoJyMxLjI6IC9bXFxXYi1HXS8uZXhlYygiYSIpIHRocm93IFN5bnRheEVycm9yLiBBY3R1YWw6ICcgKyAoZSkpOwogIH0KfQoK","commentary":"The internal helper function CharacterRange takes two CharSet parameters A and B and performs the\nfollowing:\nIf A does not contain exactly one character or B does not contain exactly one character then throw\na SyntaxError exception","description":"Checking if execution of \"/[\\Wb-G]/.exec(\"a\")\" leads to throwing the correct exception","path":"TestCases/ch15/15.10/15.10.2/15.10.2.15/S15.10.2.15_A1_T8.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgaW50ZXJuYWwgaGVscGVyIGZ1bmN0aW9uIENoYXJhY3RlclJhbmdlIHRha2VzIHR3byBDaGFyU2V0IHBhcmFtZXRlcnMgQSBhbmQgQiBhbmQgcGVyZm9ybXMgdGhlCiAqIGZvbGxvd2luZzoKICogSWYgQSBkb2VzIG5vdCBjb250YWluIGV4YWN0bHkgb25lIGNoYXJhY3RlciBvciBCIGRvZXMgbm90IGNvbnRhaW4gZXhhY3RseSBvbmUgY2hhcmFjdGVyIHRoZW4gdGhyb3cKICogYSBTeW50YXhFcnJvciBleGNlcHRpb24KICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC4yLzE1LjEwLjIuMTUvUzE1LjEwLjIuMTVfQTFfVDkuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIGV4ZWN1dGlvbiBvZiAiL1tcMGItR10vLmV4ZWMoImEiKSIgbGVhZHMgdG8gdGhyb3dpbmcgdGhlIGNvcnJlY3QgZXhjZXB0aW9uCiAqLwoKLy9DSEVDSyMxCnRyeSB7CiAgJEVSUk9SKCcjMS4xOiAvW1xcMGItR10vLmV4ZWMoImEiKSB0aHJvdyBTeW50YXhFcnJvci4gQWN0dWFsOiAnICsgKG5ldyBSZWdFeHAoIltcXDBiLUddIikuZXhlYygiYSIpKSk7Cn0gY2F0Y2ggKGUpIHsKICBpZigoZSBpbnN0YW5jZW9mIFN5bnRheEVycm9yKSAhPT0gdHJ1ZSl7CiAgICAkRVJST1IoJyMxLjI6IC9bXFwwYi1HXS8uZXhlYygiYSIpIHRocm93IFN5bnRheEVycm9yLiBBY3R1YWw6ICcgKyAoZSkpOwogIH0KfQoK","commentary":"The internal helper function CharacterRange takes two CharSet parameters A and B and performs the\nfollowing:\nIf A does not contain exactly one character or B does not contain exactly one character then throw\na SyntaxError exception","description":"Checking if execution of \"/[\\0b-G]/.exec(\"a\")\" leads to throwing the correct exception","path":"TestCases/ch15/15.10/15.10.2/15.10.2.15/S15.10.2.15_A1_T9.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgfCByZWd1bGFyIGV4cHJlc3Npb24gb3BlcmF0b3Igc2VwYXJhdGVzIHR3byBhbHRlcm5hdGl2ZXMuCiAqIFRoZSBwYXR0ZXJuIGZpcnN0IHRyaWVzIHRvIG1hdGNoIHRoZSBsZWZ0IEFsdGVybmF0aXZlIChmb2xsb3dlZCBieSB0aGUgc2VxdWVsIG9mIHRoZSByZWd1bGFyIGV4cHJlc3Npb24pLgogKiBJZiBpdCBmYWlscywgaXQgdHJpZXMgdG8gbWF0Y2ggdGhlIHJpZ2h0IERpc2p1bmN0aW9uIChmb2xsb3dlZCBieSB0aGUgc2VxdWVsIG9mIHRoZSByZWd1bGFyIGV4cHJlc3Npb24pCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuMi8xNS4xMC4yLjMvUzE1LjEwLjIuM19BMV9UMS5qcwogKiBAZGVzY3JpcHRpb24gRXhlY3V0ZSAvYXxhYi8uZXhlYygiYWJjIikgYW5kIGNoZWNrIHJlc3VsdHMKICovCgpfX2V4ZWN1dGVkID0gL2F8YWIvLmV4ZWMoImFiYyIpOwoKX19leHBlY3RlZCA9IFsiYSJdOwpfX2V4cGVjdGVkLmluZGV4ID0gMDsKX19leHBlY3RlZC5pbnB1dCA9ICJhYmMiOwoKLy9DSEVDSyMxCmlmIChfX2V4ZWN1dGVkLmxlbmd0aCAhPT0gX19leHBlY3RlZC5sZW5ndGgpIHsKCSRFUlJPUignIzE6IF9fZXhlY3V0ZWQgPSAvYXxhYi8uZXhlYygiYWJjIik7IF9fZXhlY3V0ZWQubGVuZ3RoID09PSAnICsgX19leHBlY3RlZC5sZW5ndGggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmxlbmd0aCk7Cn0KCi8vQ0hFQ0sjMgppZiAoX19leGVjdXRlZC5pbmRleCAhPT0gX19leHBlY3RlZC5pbmRleCkgewoJJEVSUk9SKCcjMjogX19leGVjdXRlZCA9IC9hfGFiLy5leGVjKCJhYmMiKTsgX19leGVjdXRlZC5pbmRleCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5kZXggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmluZGV4KTsKfQoKLy9DSEVDSyMzCmlmIChfX2V4ZWN1dGVkLmlucHV0ICE9PSBfX2V4cGVjdGVkLmlucHV0KSB7CgkkRVJST1IoJyMzOiBfX2V4ZWN1dGVkID0gL2F8YWIvLmV4ZWMoImFiYyIpOyBfX2V4ZWN1dGVkLmlucHV0ID09PSAnICsgX19leHBlY3RlZC5pbnB1dCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5wdXQpOwp9CgovL0NIRUNLIzQKZm9yKHZhciBpbmRleD0wOyBpbmRleDxfX2V4cGVjdGVkLmxlbmd0aDsgaW5kZXgrKykgewoJaWYgKF9fZXhlY3V0ZWRbaW5kZXhdICE9PSBfX2V4cGVjdGVkW2luZGV4XSkgewoJCSRFUlJPUignIzQ6IF9fZXhlY3V0ZWQgPSAvYXxhYi8uZXhlYygiYWJjIik7IF9fZXhlY3V0ZWRbJyArIGluZGV4ICsgJ10gPT09ICcgKyBfX2V4cGVjdGVkW2luZGV4XSArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWRbaW5kZXhdKTsKCX0KfQoKCg==","commentary":"The | regular expression operator separates two alternatives.\nThe pattern first tries to match the left Alternative (followed by the sequel of the regular expression).\nIf it fails, it tries to match the right Disjunction (followed by the sequel of the regular expression)","description":"Execute /a|ab/.exec(\"abc\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.3/S15.10.2.3_A1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgfCByZWd1bGFyIGV4cHJlc3Npb24gb3BlcmF0b3Igc2VwYXJhdGVzIHR3byBhbHRlcm5hdGl2ZXMuCiAqIFRoZSBwYXR0ZXJuIGZpcnN0IHRyaWVzIHRvIG1hdGNoIHRoZSBsZWZ0IEFsdGVybmF0aXZlIChmb2xsb3dlZCBieSB0aGUgc2VxdWVsIG9mIHRoZSByZWd1bGFyIGV4cHJlc3Npb24pLgogKiBJZiBpdCBmYWlscywgaXQgdHJpZXMgdG8gbWF0Y2ggdGhlIHJpZ2h0IERpc2p1bmN0aW9uIChmb2xsb3dlZCBieSB0aGUgc2VxdWVsIG9mIHRoZSByZWd1bGFyIGV4cHJlc3Npb24pCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuMi8xNS4xMC4yLjMvUzE1LjEwLjIuM19BMV9UMTAuanMKICogQGRlc2NyaXB0aW9uIEV4ZWN1dGUgLyg/OmFifGNkKSt8ZWYvaS5leGVjKCJBRUtlRkNEYWIiKSBhbmQgY2hlY2sgcmVzdWx0cwogKi8KCl9fZXhlY3V0ZWQgPSAvKD86YWJ8Y2QpK3xlZi9pLmV4ZWMoIkFFS2VGQ0RhYiIpOwoKX19leHBlY3RlZCA9IFsiZUYiXTsKX19leHBlY3RlZC5pbmRleCA9IDM7Cl9fZXhwZWN0ZWQuaW5wdXQgPSAiQUVLZUZDRGFiIjsKCi8vQ0hFQ0sjMQppZiAoX19leGVjdXRlZC5sZW5ndGggIT09IF9fZXhwZWN0ZWQubGVuZ3RoKSB7CgkkRVJST1IoJyMxOiBfX2V4ZWN1dGVkID0gLyg/OmFifGNkKSt8ZWYvaS5leGVjKCJBRUtlRkNEYWIiKTsgX19leGVjdXRlZC5sZW5ndGggPT09ICcgKyBfX2V4cGVjdGVkLmxlbmd0aCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQubGVuZ3RoKTsKfQoKLy9DSEVDSyMyCmlmIChfX2V4ZWN1dGVkLmluZGV4ICE9PSBfX2V4cGVjdGVkLmluZGV4KSB7CgkkRVJST1IoJyMyOiBfX2V4ZWN1dGVkID0gLyg/OmFifGNkKSt8ZWYvaS5leGVjKCJBRUtlRkNEYWIiKTsgX19leGVjdXRlZC5pbmRleCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5kZXggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmluZGV4KTsKfQoKLy9DSEVDSyMzCmlmIChfX2V4ZWN1dGVkLmlucHV0ICE9PSBfX2V4cGVjdGVkLmlucHV0KSB7CgkkRVJST1IoJyMzOiBfX2V4ZWN1dGVkID0gLyg/OmFifGNkKSt8ZWYvaS5leGVjKCJBRUtlRkNEYWIiKTsgX19leGVjdXRlZC5pbnB1dCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5wdXQgKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmlucHV0KTsKfQoKLy9DSEVDSyM0CmZvcih2YXIgaW5kZXg9MDsgaW5kZXg8X19leHBlY3RlZC5sZW5ndGg7IGluZGV4KyspIHsKCWlmIChfX2V4ZWN1dGVkW2luZGV4XSAhPT0gX19leHBlY3RlZFtpbmRleF0pIHsKCQkkRVJST1IoJyM0OiBfX2V4ZWN1dGVkID0gLyg/OmFifGNkKSt8ZWYvaS5leGVjKCJBRUtlRkNEYWIiKTsgX19leGVjdXRlZFsnICsgaW5kZXggKyAnXSA9PT0gJyArIF9fZXhwZWN0ZWRbaW5kZXhdICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZFtpbmRleF0pOwoJfQp9CgoK","commentary":"The | regular expression operator separates two alternatives.\nThe pattern first tries to match the left Alternative (followed by the sequel of the regular expression).\nIf it fails, it tries to match the right Disjunction (followed by the sequel of the regular expression)","description":"Execute /(?:ab|cd)+|ef/i.exec(\"AEKeFCDab\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.3/S15.10.2.3_A1_T10.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgfCByZWd1bGFyIGV4cHJlc3Npb24gb3BlcmF0b3Igc2VwYXJhdGVzIHR3byBhbHRlcm5hdGl2ZXMuCiAqIFRoZSBwYXR0ZXJuIGZpcnN0IHRyaWVzIHRvIG1hdGNoIHRoZSBsZWZ0IEFsdGVybmF0aXZlIChmb2xsb3dlZCBieSB0aGUgc2VxdWVsIG9mIHRoZSByZWd1bGFyIGV4cHJlc3Npb24pLgogKiBJZiBpdCBmYWlscywgaXQgdHJpZXMgdG8gbWF0Y2ggdGhlIHJpZ2h0IERpc2p1bmN0aW9uIChmb2xsb3dlZCBieSB0aGUgc2VxdWVsIG9mIHRoZSByZWd1bGFyIGV4cHJlc3Npb24pCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuMi8xNS4xMC4yLjMvUzE1LjEwLjIuM19BMV9UMTEuanMKICogQGRlc2NyaXB0aW9uIEV4ZWN1dGUgLzExMTExfDExMS8uZXhlYygiMTExMTExMTExMTExMTExMSIpIGFuZCBjaGVjayByZXN1bHRzCiAqLwoKX19leGVjdXRlZCA9IC8xMTExMXwxMTEvLmV4ZWMoIjExMTExMTExMTExMTExMTEiKTsKCl9fZXhwZWN0ZWQgPSBbIjExMTExIl07Cl9fZXhwZWN0ZWQuaW5kZXggPSAwOwpfX2V4cGVjdGVkLmlucHV0ID0gIjExMTExMTExMTExMTExMTEiOwoKLy9DSEVDSyMxCmlmIChfX2V4ZWN1dGVkLmxlbmd0aCAhPT0gX19leHBlY3RlZC5sZW5ndGgpIHsKCSRFUlJPUignIzE6IF9fZXhlY3V0ZWQgPSAvMTExMTF8MTExLy5leGVjKCIxMTExMTExMTExMTExMTExIik7IF9fZXhlY3V0ZWQubGVuZ3RoID09PSAnICsgX19leHBlY3RlZC5sZW5ndGggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmxlbmd0aCk7Cn0KCi8vQ0hFQ0sjMgppZiAoX19leGVjdXRlZC5pbmRleCAhPT0gX19leHBlY3RlZC5pbmRleCkgewoJJEVSUk9SKCcjMjogX19leGVjdXRlZCA9IC8xMTExMXwxMTEvLmV4ZWMoIjExMTExMTExMTExMTExMTEiKTsgX19leGVjdXRlZC5pbmRleCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5kZXggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmluZGV4KTsKfQoKLy9DSEVDSyMzCmlmIChfX2V4ZWN1dGVkLmlucHV0ICE9PSBfX2V4cGVjdGVkLmlucHV0KSB7CgkkRVJST1IoJyMzOiBfX2V4ZWN1dGVkID0gLzExMTExfDExMS8uZXhlYygiMTExMTExMTExMTExMTExMSIpOyBfX2V4ZWN1dGVkLmlucHV0ID09PSAnICsgX19leHBlY3RlZC5pbnB1dCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5wdXQpOwp9CgovL0NIRUNLIzQKZm9yKHZhciBpbmRleD0wOyBpbmRleDxfX2V4cGVjdGVkLmxlbmd0aDsgaW5kZXgrKykgewoJaWYgKF9fZXhlY3V0ZWRbaW5kZXhdICE9PSBfX2V4cGVjdGVkW2luZGV4XSkgewoJCSRFUlJPUignIzQ6IF9fZXhlY3V0ZWQgPSAvMTExMTF8MTExLy5leGVjKCIxMTExMTExMTExMTExMTExIik7IF9fZXhlY3V0ZWRbJyArIGluZGV4ICsgJ10gPT09ICcgKyBfX2V4cGVjdGVkW2luZGV4XSArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWRbaW5kZXhdKTsKCX0KfQoKCg==","commentary":"The | regular expression operator separates two alternatives.\nThe pattern first tries to match the left Alternative (followed by the sequel of the regular expression).\nIf it fails, it tries to match the right Disjunction (followed by the sequel of the regular expression)","description":"Execute /11111|111/.exec(\"1111111111111111\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.3/S15.10.2.3_A1_T11.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgfCByZWd1bGFyIGV4cHJlc3Npb24gb3BlcmF0b3Igc2VwYXJhdGVzIHR3byBhbHRlcm5hdGl2ZXMuCiAqIFRoZSBwYXR0ZXJuIGZpcnN0IHRyaWVzIHRvIG1hdGNoIHRoZSBsZWZ0IEFsdGVybmF0aXZlIChmb2xsb3dlZCBieSB0aGUgc2VxdWVsIG9mIHRoZSByZWd1bGFyIGV4cHJlc3Npb24pLgogKiBJZiBpdCBmYWlscywgaXQgdHJpZXMgdG8gbWF0Y2ggdGhlIHJpZ2h0IERpc2p1bmN0aW9uIChmb2xsb3dlZCBieSB0aGUgc2VxdWVsIG9mIHRoZSByZWd1bGFyIGV4cHJlc3Npb24pCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuMi8xNS4xMC4yLjMvUzE1LjEwLjIuM19BMV9UMTIuanMKICogQGRlc2NyaXB0aW9uIEV4ZWN1dGUgL3h5enwuLi4vLmV4ZWMoImFiYyIpIGFuZCBjaGVjayByZXN1bHRzCiAqLwoKX19leGVjdXRlZCA9IC94eXp8Li4uLy5leGVjKCJhYmMiKTsKCl9fZXhwZWN0ZWQgPSBbImFiYyJdOwpfX2V4cGVjdGVkLmluZGV4ID0gMDsKX19leHBlY3RlZC5pbnB1dCA9ICJhYmMiOwoKLy9DSEVDSyMxCmlmIChfX2V4ZWN1dGVkLmxlbmd0aCAhPT0gX19leHBlY3RlZC5sZW5ndGgpIHsKCSRFUlJPUignIzE6IF9fZXhlY3V0ZWQgPSAveHl6fC4uLi8uZXhlYygiYWJjIik7IF9fZXhlY3V0ZWQubGVuZ3RoID09PSAnICsgX19leHBlY3RlZC5sZW5ndGggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmxlbmd0aCk7Cn0KCi8vQ0hFQ0sjMgppZiAoX19leGVjdXRlZC5pbmRleCAhPT0gX19leHBlY3RlZC5pbmRleCkgewoJJEVSUk9SKCcjMjogX19leGVjdXRlZCA9IC94eXp8Li4uLy5leGVjKCJhYmMiKTsgX19leGVjdXRlZC5pbmRleCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5kZXggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmluZGV4KTsKfQoKLy9DSEVDSyMzCmlmIChfX2V4ZWN1dGVkLmlucHV0ICE9PSBfX2V4cGVjdGVkLmlucHV0KSB7CgkkRVJST1IoJyMzOiBfX2V4ZWN1dGVkID0gL3h5enwuLi4vLmV4ZWMoImFiYyIpOyBfX2V4ZWN1dGVkLmlucHV0ID09PSAnICsgX19leHBlY3RlZC5pbnB1dCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5wdXQpOwp9CgovL0NIRUNLIzQKZm9yKHZhciBpbmRleD0wOyBpbmRleDxfX2V4cGVjdGVkLmxlbmd0aDsgaW5kZXgrKykgewoJaWYgKF9fZXhlY3V0ZWRbaW5kZXhdICE9PSBfX2V4cGVjdGVkW2luZGV4XSkgewoJCSRFUlJPUignIzQ6IF9fZXhlY3V0ZWQgPSAveHl6fC4uLi8uZXhlYygiYWJjIik7IF9fZXhlY3V0ZWRbJyArIGluZGV4ICsgJ10gPT09ICcgKyBfX2V4cGVjdGVkW2luZGV4XSArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWRbaW5kZXhdKTsKCX0KfQoKCg==","commentary":"The | regular expression operator separates two alternatives.\nThe pattern first tries to match the left Alternative (followed by the sequel of the regular expression).\nIf it fails, it tries to match the right Disjunction (followed by the sequel of the regular expression)","description":"Execute /xyz|.../.exec(\"abc\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.3/S15.10.2.3_A1_T12.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgfCByZWd1bGFyIGV4cHJlc3Npb24gb3BlcmF0b3Igc2VwYXJhdGVzIHR3byBhbHRlcm5hdGl2ZXMuCiAqIFRoZSBwYXR0ZXJuIGZpcnN0IHRyaWVzIHRvIG1hdGNoIHRoZSBsZWZ0IEFsdGVybmF0aXZlIChmb2xsb3dlZCBieSB0aGUgc2VxdWVsIG9mIHRoZSByZWd1bGFyIGV4cHJlc3Npb24pLgogKiBJZiBpdCBmYWlscywgaXQgdHJpZXMgdG8gbWF0Y2ggdGhlIHJpZ2h0IERpc2p1bmN0aW9uIChmb2xsb3dlZCBieSB0aGUgc2VxdWVsIG9mIHRoZSByZWd1bGFyIGV4cHJlc3Npb24pCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuMi8xNS4xMC4yLjMvUzE1LjEwLjIuM19BMV9UMTMuanMKICogQGRlc2NyaXB0aW9uIEV4ZWN1dGUgLyguKS4ufGFiYy8uZXhlYygiYWJjIikgYW5kIGNoZWNrIHJlc3VsdHMKICovCgpfX2V4ZWN1dGVkID0gLyguKS4ufGFiYy8uZXhlYygiYWJjIik7CgpfX2V4cGVjdGVkID0gWyJhYmMiLCJhIl07Cl9fZXhwZWN0ZWQuaW5kZXggPSAwOwpfX2V4cGVjdGVkLmlucHV0ID0gImFiYyI7CgovL0NIRUNLIzEKaWYgKF9fZXhlY3V0ZWQubGVuZ3RoICE9PSBfX2V4cGVjdGVkLmxlbmd0aCkgewoJJEVSUk9SKCcjMTogX19leGVjdXRlZCA9IC8oLikuLnxhYmMvLmV4ZWMoImFiYyIpOyBfX2V4ZWN1dGVkLmxlbmd0aCA9PT0gJyArIF9fZXhwZWN0ZWQubGVuZ3RoICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5sZW5ndGgpOwp9CgovL0NIRUNLIzIKaWYgKF9fZXhlY3V0ZWQuaW5kZXggIT09IF9fZXhwZWN0ZWQuaW5kZXgpIHsKCSRFUlJPUignIzI6IF9fZXhlY3V0ZWQgPSAvKC4pLi58YWJjLy5leGVjKCJhYmMiKTsgX19leGVjdXRlZC5pbmRleCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5kZXggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmluZGV4KTsKfQoKLy9DSEVDSyMzCmlmIChfX2V4ZWN1dGVkLmlucHV0ICE9PSBfX2V4cGVjdGVkLmlucHV0KSB7CgkkRVJST1IoJyMzOiBfX2V4ZWN1dGVkID0gLyguKS4ufGFiYy8uZXhlYygiYWJjIik7IF9fZXhlY3V0ZWQuaW5wdXQgPT09ICcgKyBfX2V4cGVjdGVkLmlucHV0ICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5pbnB1dCk7Cn0KCi8vQ0hFQ0sjNApmb3IodmFyIGluZGV4PTA7IGluZGV4PF9fZXhwZWN0ZWQubGVuZ3RoOyBpbmRleCsrKSB7CglpZiAoX19leGVjdXRlZFtpbmRleF0gIT09IF9fZXhwZWN0ZWRbaW5kZXhdKSB7CgkJJEVSUk9SKCcjNDogX19leGVjdXRlZCA9IC8oLikuLnxhYmMvLmV4ZWMoImFiYyIpOyBfX2V4ZWN1dGVkWycgKyBpbmRleCArICddID09PSAnICsgX19leHBlY3RlZFtpbmRleF0gKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkW2luZGV4XSk7Cgl9Cn0KCgo=","commentary":"The | regular expression operator separates two alternatives.\nThe pattern first tries to match the left Alternative (followed by the sequel of the regular expression).\nIf it fails, it tries to match the right Disjunction (followed by the sequel of the regular expression)","description":"Execute /(.)..|abc/.exec(\"abc\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.3/S15.10.2.3_A1_T13.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgfCByZWd1bGFyIGV4cHJlc3Npb24gb3BlcmF0b3Igc2VwYXJhdGVzIHR3byBhbHRlcm5hdGl2ZXMuCiAqIFRoZSBwYXR0ZXJuIGZpcnN0IHRyaWVzIHRvIG1hdGNoIHRoZSBsZWZ0IEFsdGVybmF0aXZlIChmb2xsb3dlZCBieSB0aGUgc2VxdWVsIG9mIHRoZSByZWd1bGFyIGV4cHJlc3Npb24pLgogKiBJZiBpdCBmYWlscywgaXQgdHJpZXMgdG8gbWF0Y2ggdGhlIHJpZ2h0IERpc2p1bmN0aW9uIChmb2xsb3dlZCBieSB0aGUgc2VxdWVsIG9mIHRoZSByZWd1bGFyIGV4cHJlc3Npb24pCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuMi8xNS4xMC4yLjMvUzE1LjEwLjIuM19BMV9UMTQuanMKICogQGRlc2NyaXB0aW9uIEV4ZWN1dGUgLy4rOiBncihhfGUpeS8uZXhlYygiY29sb3I6IGdyZXkiKSBhbmQgY2hlY2sgcmVzdWx0cwogKi8KCl9fZXhlY3V0ZWQgPSAvLis6IGdyKGF8ZSl5Ly5leGVjKCJjb2xvcjogZ3JleSIpOwoKX19leHBlY3RlZCA9IFsiY29sb3I6IGdyZXkiLCJlIl07Cl9fZXhwZWN0ZWQuaW5kZXggPSAwOwpfX2V4cGVjdGVkLmlucHV0ID0gImNvbG9yOiBncmV5IjsKCi8vQ0hFQ0sjMQppZiAoX19leGVjdXRlZC5sZW5ndGggIT09IF9fZXhwZWN0ZWQubGVuZ3RoKSB7CgkkRVJST1IoJyMxOiBfX2V4ZWN1dGVkID0gLy4rOiBncihhfGUpeS8uZXhlYygiY29sb3I6IGdyZXkiKTsgX19leGVjdXRlZC5sZW5ndGggPT09ICcgKyBfX2V4cGVjdGVkLmxlbmd0aCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQubGVuZ3RoKTsKfQoKLy9DSEVDSyMyCmlmIChfX2V4ZWN1dGVkLmluZGV4ICE9PSBfX2V4cGVjdGVkLmluZGV4KSB7CgkkRVJST1IoJyMyOiBfX2V4ZWN1dGVkID0gLy4rOiBncihhfGUpeS8uZXhlYygiY29sb3I6IGdyZXkiKTsgX19leGVjdXRlZC5pbmRleCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5kZXggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmluZGV4KTsKfQoKLy9DSEVDSyMzCmlmIChfX2V4ZWN1dGVkLmlucHV0ICE9PSBfX2V4cGVjdGVkLmlucHV0KSB7CgkkRVJST1IoJyMzOiBfX2V4ZWN1dGVkID0gLy4rOiBncihhfGUpeS8uZXhlYygiY29sb3I6IGdyZXkiKTsgX19leGVjdXRlZC5pbnB1dCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5wdXQgKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmlucHV0KTsKfQoKLy9DSEVDSyM0CmZvcih2YXIgaW5kZXg9MDsgaW5kZXg8X19leHBlY3RlZC5sZW5ndGg7IGluZGV4KyspIHsKCWlmIChfX2V4ZWN1dGVkW2luZGV4XSAhPT0gX19leHBlY3RlZFtpbmRleF0pIHsKCQkkRVJST1IoJyM0OiBfX2V4ZWN1dGVkID0gLy4rOiBncihhfGUpeS8uZXhlYygiY29sb3I6IGdyZXkiKTsgX19leGVjdXRlZFsnICsgaW5kZXggKyAnXSA9PT0gJyArIF9fZXhwZWN0ZWRbaW5kZXhdICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZFtpbmRleF0pOwoJfQp9CgoK","commentary":"The | regular expression operator separates two alternatives.\nThe pattern first tries to match the left Alternative (followed by the sequel of the regular expression).\nIf it fails, it tries to match the right Disjunction (followed by the sequel of the regular expression)","description":"Execute /.+: gr(a|e)y/.exec(\"color: grey\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.3/S15.10.2.3_A1_T14.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgfCByZWd1bGFyIGV4cHJlc3Npb24gb3BlcmF0b3Igc2VwYXJhdGVzIHR3byBhbHRlcm5hdGl2ZXMuCiAqIFRoZSBwYXR0ZXJuIGZpcnN0IHRyaWVzIHRvIG1hdGNoIHRoZSBsZWZ0IEFsdGVybmF0aXZlIChmb2xsb3dlZCBieSB0aGUgc2VxdWVsIG9mIHRoZSByZWd1bGFyIGV4cHJlc3Npb24pLgogKiBJZiBpdCBmYWlscywgaXQgdHJpZXMgdG8gbWF0Y2ggdGhlIHJpZ2h0IERpc2p1bmN0aW9uIChmb2xsb3dlZCBieSB0aGUgc2VxdWVsIG9mIHRoZSByZWd1bGFyIGV4cHJlc3Npb24pCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuMi8xNS4xMC4yLjMvUzE1LjEwLjIuM19BMV9UMTUuanMKICogQGRlc2NyaXB0aW9uIEV4ZWN1dGUgLyhSb2IpfChCb2IpfChSb2JlcnQpfChCb2JieSkvLmV4ZWMoIkhpIEJvYiIpIGFuZCBjaGVjayByZXN1bHRzCiAqLwoKX19leGVjdXRlZCA9IC8oUm9iKXwoQm9iKXwoUm9iZXJ0KXwoQm9iYnkpLy5leGVjKCJIaSBCb2IiKTsKCl9fZXhwZWN0ZWQgPSBbIkJvYiIsdW5kZWZpbmVkLCJCb2IiLCB1bmRlZmluZWQsIHVuZGVmaW5lZF07Cl9fZXhwZWN0ZWQuaW5kZXggPSAzOwpfX2V4cGVjdGVkLmlucHV0ID0gIkhpIEJvYiI7CgovL0NIRUNLIzEKaWYgKF9fZXhlY3V0ZWQubGVuZ3RoICE9PSBfX2V4cGVjdGVkLmxlbmd0aCkgewoJJEVSUk9SKCcjMTogX19leGVjdXRlZCA9IC8oUm9iKXwoQm9iKXwoUm9iZXJ0KXwoQm9iYnkpLy5leGVjKCJIaSBCb2IiKTsgX19leGVjdXRlZC5sZW5ndGggPT09ICcgKyBfX2V4cGVjdGVkLmxlbmd0aCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQubGVuZ3RoKTsKfQoKLy9DSEVDSyMyCmlmIChfX2V4ZWN1dGVkLmluZGV4ICE9PSBfX2V4cGVjdGVkLmluZGV4KSB7CgkkRVJST1IoJyMyOiBfX2V4ZWN1dGVkID0gLyhSb2IpfChCb2IpfChSb2JlcnQpfChCb2JieSkvLmV4ZWMoIkhpIEJvYiIpOyBfX2V4ZWN1dGVkLmluZGV4ID09PSAnICsgX19leHBlY3RlZC5pbmRleCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5kZXgpOwp9CgovL0NIRUNLIzMKaWYgKF9fZXhlY3V0ZWQuaW5wdXQgIT09IF9fZXhwZWN0ZWQuaW5wdXQpIHsKCSRFUlJPUignIzM6IF9fZXhlY3V0ZWQgPSAvKFJvYil8KEJvYil8KFJvYmVydCl8KEJvYmJ5KS8uZXhlYygiSGkgQm9iIik7IF9fZXhlY3V0ZWQuaW5wdXQgPT09ICcgKyBfX2V4cGVjdGVkLmlucHV0ICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5pbnB1dCk7Cn0KCi8vQ0hFQ0sjNApmb3IodmFyIGluZGV4PTA7IGluZGV4PF9fZXhwZWN0ZWQubGVuZ3RoOyBpbmRleCsrKSB7CglpZiAoX19leGVjdXRlZFtpbmRleF0gIT09IF9fZXhwZWN0ZWRbaW5kZXhdKSB7CgkJJEVSUk9SKCcjNDogX19leGVjdXRlZCA9IC8oUm9iKXwoQm9iKXwoUm9iZXJ0KXwoQm9iYnkpLy5leGVjKCJIaSBCb2IiKTsgX19leGVjdXRlZFsnICsgaW5kZXggKyAnXSA9PT0gJyArIF9fZXhwZWN0ZWRbaW5kZXhdICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZFtpbmRleF0pOwoJfQp9CgoK","commentary":"The | regular expression operator separates two alternatives.\nThe pattern first tries to match the left Alternative (followed by the sequel of the regular expression).\nIf it fails, it tries to match the right Disjunction (followed by the sequel of the regular expression)","description":"Execute /(Rob)|(Bob)|(Robert)|(Bobby)/.exec(\"Hi Bob\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.3/S15.10.2.3_A1_T15.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgfCByZWd1bGFyIGV4cHJlc3Npb24gb3BlcmF0b3Igc2VwYXJhdGVzIHR3byBhbHRlcm5hdGl2ZXMuCiAqIFRoZSBwYXR0ZXJuIGZpcnN0IHRyaWVzIHRvIG1hdGNoIHRoZSBsZWZ0IEFsdGVybmF0aXZlIChmb2xsb3dlZCBieSB0aGUgc2VxdWVsIG9mIHRoZSByZWd1bGFyIGV4cHJlc3Npb24pLgogKiBJZiBpdCBmYWlscywgaXQgdHJpZXMgdG8gbWF0Y2ggdGhlIHJpZ2h0IERpc2p1bmN0aW9uIChmb2xsb3dlZCBieSB0aGUgc2VxdWVsIG9mIHRoZSByZWd1bGFyIGV4cHJlc3Npb24pCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuMi8xNS4xMC4yLjMvUzE1LjEwLjIuM19BMV9UMTYuanMKICogQGRlc2NyaXB0aW9uIEV4ZWN1dGUgLygpfC8uZXhlYygiIikgYW5kIGNoZWNrIHJlc3VsdHMKICovCgpfX2V4ZWN1dGVkID0gLygpfC8uZXhlYygiIik7CgpfX2V4cGVjdGVkID0gWyIiLCIiXTsKX19leHBlY3RlZC5pbmRleCA9IDA7Cl9fZXhwZWN0ZWQuaW5wdXQgPSAiIjsKCi8vQ0hFQ0sjMQppZiAoX19leGVjdXRlZC5sZW5ndGggIT09IF9fZXhwZWN0ZWQubGVuZ3RoKSB7CgkkRVJST1IoJyMxOiBfX2V4ZWN1dGVkID0gLygpfC8uZXhlYygiIik7IF9fZXhlY3V0ZWQubGVuZ3RoID09PSAnICsgX19leHBlY3RlZC5sZW5ndGggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmxlbmd0aCk7Cn0KCi8vQ0hFQ0sjMgppZiAoX19leGVjdXRlZC5pbmRleCAhPT0gX19leHBlY3RlZC5pbmRleCkgewoJJEVSUk9SKCcjMjogX19leGVjdXRlZCA9IC8oKXwvLmV4ZWMoIiIpOyBfX2V4ZWN1dGVkLmluZGV4ID09PSAnICsgX19leHBlY3RlZC5pbmRleCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5kZXgpOwp9CgovL0NIRUNLIzMKaWYgKF9fZXhlY3V0ZWQuaW5wdXQgIT09IF9fZXhwZWN0ZWQuaW5wdXQpIHsKCSRFUlJPUignIzM6IF9fZXhlY3V0ZWQgPSAvKCl8Ly5leGVjKCIiKTsgX19leGVjdXRlZC5pbnB1dCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5wdXQgKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmlucHV0KTsKfQoKLy9DSEVDSyM0CmZvcih2YXIgaW5kZXg9MDsgaW5kZXg8X19leHBlY3RlZC5sZW5ndGg7IGluZGV4KyspIHsKCWlmIChfX2V4ZWN1dGVkW2luZGV4XSAhPT0gX19leHBlY3RlZFtpbmRleF0pIHsKCQkkRVJST1IoJyM0OiBfX2V4ZWN1dGVkID0gLygpfC8uZXhlYygiIik7IF9fZXhlY3V0ZWRbJyArIGluZGV4ICsgJ10gPT09ICcgKyBfX2V4cGVjdGVkW2luZGV4XSArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWRbaW5kZXhdKTsKCX0KfQoKCg==","commentary":"The | regular expression operator separates two alternatives.\nThe pattern first tries to match the left Alternative (followed by the sequel of the regular expression).\nIf it fails, it tries to match the right Disjunction (followed by the sequel of the regular expression)","description":"Execute /()|/.exec(\"\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.3/S15.10.2.3_A1_T16.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgfCByZWd1bGFyIGV4cHJlc3Npb24gb3BlcmF0b3Igc2VwYXJhdGVzIHR3byBhbHRlcm5hdGl2ZXMuCiAqIFRoZSBwYXR0ZXJuIGZpcnN0IHRyaWVzIHRvIG1hdGNoIHRoZSBsZWZ0IEFsdGVybmF0aXZlIChmb2xsb3dlZCBieSB0aGUgc2VxdWVsIG9mIHRoZSByZWd1bGFyIGV4cHJlc3Npb24pLgogKiBJZiBpdCBmYWlscywgaXQgdHJpZXMgdG8gbWF0Y2ggdGhlIHJpZ2h0IERpc2p1bmN0aW9uIChmb2xsb3dlZCBieSB0aGUgc2VxdWVsIG9mIHRoZSByZWd1bGFyIGV4cHJlc3Npb24pCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuMi8xNS4xMC4yLjMvUzE1LjEwLjIuM19BMV9UMTcuanMKICogQGRlc2NyaXB0aW9uIEV4ZWN1dGUgL3woKS8uZXhlYygiIikgYW5kIGNoZWNrIHJlc3VsdHMKICovCgpfX2V4ZWN1dGVkID0gL3woKS8uZXhlYygiIik7CgpfX2V4cGVjdGVkID0gWyIiLHVuZGVmaW5lZF07Cl9fZXhwZWN0ZWQuaW5kZXggPSAwOwpfX2V4cGVjdGVkLmlucHV0ID0gIiI7CgovL0NIRUNLIzEKaWYgKF9fZXhlY3V0ZWQubGVuZ3RoICE9PSBfX2V4cGVjdGVkLmxlbmd0aCkgewoJJEVSUk9SKCcjMTogX19leGVjdXRlZCA9IC98KCkvLmV4ZWMoIiIpOyBfX2V4ZWN1dGVkLmxlbmd0aCA9PT0gJyArIF9fZXhwZWN0ZWQubGVuZ3RoICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5sZW5ndGgpOwp9CgovL0NIRUNLIzIKaWYgKF9fZXhlY3V0ZWQuaW5kZXggIT09IF9fZXhwZWN0ZWQuaW5kZXgpIHsKCSRFUlJPUignIzI6IF9fZXhlY3V0ZWQgPSAvfCgpLy5leGVjKCIiKTsgX19leGVjdXRlZC5pbmRleCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5kZXggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmluZGV4KTsKfQoKLy9DSEVDSyMzCmlmIChfX2V4ZWN1dGVkLmlucHV0ICE9PSBfX2V4cGVjdGVkLmlucHV0KSB7CgkkRVJST1IoJyMzOiBfX2V4ZWN1dGVkID0gL3woKS8uZXhlYygiIik7IF9fZXhlY3V0ZWQuaW5wdXQgPT09ICcgKyBfX2V4cGVjdGVkLmlucHV0ICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5pbnB1dCk7Cn0KCi8vQ0hFQ0sjNApmb3IodmFyIGluZGV4PTA7IGluZGV4PF9fZXhwZWN0ZWQubGVuZ3RoOyBpbmRleCsrKSB7CglpZiAoX19leGVjdXRlZFtpbmRleF0gIT09IF9fZXhwZWN0ZWRbaW5kZXhdKSB7CgkJJEVSUk9SKCcjNDogX19leGVjdXRlZCA9IC98KCkvLmV4ZWMoIiIpOyBfX2V4ZWN1dGVkWycgKyBpbmRleCArICddID09PSAnICsgX19leHBlY3RlZFtpbmRleF0gKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkW2luZGV4XSk7Cgl9Cn0KCgo=","commentary":"The | regular expression operator separates two alternatives.\nThe pattern first tries to match the left Alternative (followed by the sequel of the regular expression).\nIf it fails, it tries to match the right Disjunction (followed by the sequel of the regular expression)","description":"Execute /|()/.exec(\"\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.3/S15.10.2.3_A1_T17.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgfCByZWd1bGFyIGV4cHJlc3Npb24gb3BlcmF0b3Igc2VwYXJhdGVzIHR3byBhbHRlcm5hdGl2ZXMuCiAqIFRoZSBwYXR0ZXJuIGZpcnN0IHRyaWVzIHRvIG1hdGNoIHRoZSBsZWZ0IEFsdGVybmF0aXZlIChmb2xsb3dlZCBieSB0aGUgc2VxdWVsIG9mIHRoZSByZWd1bGFyIGV4cHJlc3Npb24pLgogKiBJZiBpdCBmYWlscywgaXQgdHJpZXMgdG8gbWF0Y2ggdGhlIHJpZ2h0IERpc2p1bmN0aW9uIChmb2xsb3dlZCBieSB0aGUgc2VxdWVsIG9mIHRoZSByZWd1bGFyIGV4cHJlc3Npb24pCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuMi8xNS4xMC4yLjMvUzE1LjEwLjIuM19BMV9UMi5qcwogKiBAZGVzY3JpcHRpb24gRXhlY3V0ZSAvKChhKXwoYWIpKSgoYyl8KGJjKSkvLmV4ZWMoImFiYyIpIGFuZCBjaGVjayByZXN1bHRzCiAqLwoKX19leGVjdXRlZCA9IC8oKGEpfChhYikpKChjKXwoYmMpKS8uZXhlYygiYWJjIik7CgpfX2V4cGVjdGVkID0gWyJhYmMiLCAiYSIsICJhIiwgdW5kZWZpbmVkLCAiYmMiLCB1bmRlZmluZWQsICJiYyJdOwpfX2V4cGVjdGVkLmluZGV4ID0gMDsKX19leHBlY3RlZC5pbnB1dCA9ICJhYmMiOwoKLy9DSEVDSyMxCmlmIChfX2V4ZWN1dGVkLmxlbmd0aCAhPT0gX19leHBlY3RlZC5sZW5ndGgpIHsKCSRFUlJPUignIzE6IF9fZXhlY3V0ZWQgPSAvKChhKXwoYWIpKSgoYyl8KGJjKSkvLmV4ZWMoImFiYyIpOyBfX2V4ZWN1dGVkLmxlbmd0aCA9PT0gJyArIF9fZXhwZWN0ZWQubGVuZ3RoICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5sZW5ndGgpOwp9CgovL0NIRUNLIzIKaWYgKF9fZXhlY3V0ZWQuaW5kZXggIT09IF9fZXhwZWN0ZWQuaW5kZXgpIHsKCSRFUlJPUignIzI6IF9fZXhlY3V0ZWQgPSAvKChhKXwoYWIpKSgoYyl8KGJjKSkvLmV4ZWMoImFiYyIpOyBfX2V4ZWN1dGVkLmluZGV4ID09PSAnICsgX19leHBlY3RlZC5pbmRleCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5kZXgpOwp9CgovL0NIRUNLIzMKaWYgKF9fZXhlY3V0ZWQuaW5wdXQgIT09IF9fZXhwZWN0ZWQuaW5wdXQpIHsKCSRFUlJPUignIzM6IF9fZXhlY3V0ZWQgPSAvKChhKXwoYWIpKSgoYyl8KGJjKSkvLmV4ZWMoImFiYyIpOyBfX2V4ZWN1dGVkLmlucHV0ID09PSAnICsgX19leHBlY3RlZC5pbnB1dCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5wdXQpOwp9CgovL0NIRUNLIzQKZm9yKHZhciBpbmRleD0wOyBpbmRleDxfX2V4cGVjdGVkLmxlbmd0aDsgaW5kZXgrKykgewoJaWYgKF9fZXhlY3V0ZWRbaW5kZXhdICE9PSBfX2V4cGVjdGVkW2luZGV4XSkgewoJCSRFUlJPUignIzQ6IF9fZXhlY3V0ZWQgPSAvKChhKXwoYWIpKSgoYyl8KGJjKSkvLmV4ZWMoImFiYyIpOyBfX2V4ZWN1dGVkWycgKyBpbmRleCArICddID09PSAnICsgX19leHBlY3RlZFtpbmRleF0gKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkW2luZGV4XSk7Cgl9Cn0KCgo=","commentary":"The | regular expression operator separates two alternatives.\nThe pattern first tries to match the left Alternative (followed by the sequel of the regular expression).\nIf it fails, it tries to match the right Disjunction (followed by the sequel of the regular expression)","description":"Execute /((a)|(ab))((c)|(bc))/.exec(\"abc\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.3/S15.10.2.3_A1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgfCByZWd1bGFyIGV4cHJlc3Npb24gb3BlcmF0b3Igc2VwYXJhdGVzIHR3byBhbHRlcm5hdGl2ZXMuCiAqIFRoZSBwYXR0ZXJuIGZpcnN0IHRyaWVzIHRvIG1hdGNoIHRoZSBsZWZ0IEFsdGVybmF0aXZlIChmb2xsb3dlZCBieSB0aGUgc2VxdWVsIG9mIHRoZSByZWd1bGFyIGV4cHJlc3Npb24pLgogKiBJZiBpdCBmYWlscywgaXQgdHJpZXMgdG8gbWF0Y2ggdGhlIHJpZ2h0IERpc2p1bmN0aW9uIChmb2xsb3dlZCBieSB0aGUgc2VxdWVsIG9mIHRoZSByZWd1bGFyIGV4cHJlc3Npb24pCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuMi8xNS4xMC4yLjMvUzE1LjEwLjIuM19BMV9UMy5qcwogKiBAZGVzY3JpcHRpb24gRXhlY3V0ZSAvXGR7M318W2Etel17NH0vLmV4ZWMoIjIsIDEyIGFuZCBvZiBjb3Vyc2UgcmVwZWF0IDEyIikgYW5kIGNoZWNrIHJlc3VsdHMKICovCgpfX2V4ZWN1dGVkID0gL1xkezN9fFthLXpdezR9Ly5leGVjKCIyLCAxMiBhbmQgb2YgY291cnNlIHJlcGVhdCAxMiIpOwoKX19leHBlY3RlZCA9IFsiY291ciJdOwpfX2V4cGVjdGVkLmluZGV4ID0gMTM7Cl9fZXhwZWN0ZWQuaW5wdXQgPSAiMiwgMTIgYW5kIG9mIGNvdXJzZSByZXBlYXQgMTIiOwoKLy9DSEVDSyMxCmlmIChfX2V4ZWN1dGVkLmxlbmd0aCAhPT0gX19leHBlY3RlZC5sZW5ndGgpIHsKCSRFUlJPUignIzE6IF9fZXhlY3V0ZWQgPSAvXFxkezN9fFthLXpdezR9Ly5leGVjKCIyLCAxMiBhbmQgb2YgY291cnNlIHJlcGVhdCAxMiIpOyBfX2V4ZWN1dGVkLmxlbmd0aCA9PT0gJyArIF9fZXhwZWN0ZWQubGVuZ3RoICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5sZW5ndGgpOwp9CgovL0NIRUNLIzIKaWYgKF9fZXhlY3V0ZWQuaW5kZXggIT09IF9fZXhwZWN0ZWQuaW5kZXgpIHsKCSRFUlJPUignIzI6IF9fZXhlY3V0ZWQgPSAvXFxkezN9fFthLXpdezR9Ly5leGVjKCIyLCAxMiBhbmQgb2YgY291cnNlIHJlcGVhdCAxMiIpOyBfX2V4ZWN1dGVkLmluZGV4ID09PSAnICsgX19leHBlY3RlZC5pbmRleCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5kZXgpOwp9CgovL0NIRUNLIzMKaWYgKF9fZXhlY3V0ZWQuaW5wdXQgIT09IF9fZXhwZWN0ZWQuaW5wdXQpIHsKCSRFUlJPUignIzM6IF9fZXhlY3V0ZWQgPSAvXFxkezN9fFthLXpdezR9Ly5leGVjKCIyLCAxMiBhbmQgb2YgY291cnNlIHJlcGVhdCAxMiIpOyBfX2V4ZWN1dGVkLmlucHV0ID09PSAnICsgX19leHBlY3RlZC5pbnB1dCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5wdXQpOwp9CgovL0NIRUNLIzQKZm9yKHZhciBpbmRleD0wOyBpbmRleDxfX2V4cGVjdGVkLmxlbmd0aDsgaW5kZXgrKykgewoJaWYgKF9fZXhlY3V0ZWRbaW5kZXhdICE9PSBfX2V4cGVjdGVkW2luZGV4XSkgewoJCSRFUlJPUignIzQ6IF9fZXhlY3V0ZWQgPSAvXFxkezN9fFthLXpdezR9Ly5leGVjKCIyLCAxMiBhbmQgb2YgY291cnNlIHJlcGVhdCAxMiIpOyBfX2V4ZWN1dGVkWycgKyBpbmRleCArICddID09PSAnICsgX19leHBlY3RlZFtpbmRleF0gKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkW2luZGV4XSk7Cgl9Cn0KCgo=","commentary":"The | regular expression operator separates two alternatives.\nThe pattern first tries to match the left Alternative (followed by the sequel of the regular expression).\nIf it fails, it tries to match the right Disjunction (followed by the sequel of the regular expression)","description":"Execute /\\d{3}|[a-z]{4}/.exec(\"2, 12 and of course repeat 12\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.3/S15.10.2.3_A1_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgfCByZWd1bGFyIGV4cHJlc3Npb24gb3BlcmF0b3Igc2VwYXJhdGVzIHR3byBhbHRlcm5hdGl2ZXMuCiAqIFRoZSBwYXR0ZXJuIGZpcnN0IHRyaWVzIHRvIG1hdGNoIHRoZSBsZWZ0IEFsdGVybmF0aXZlIChmb2xsb3dlZCBieSB0aGUgc2VxdWVsIG9mIHRoZSByZWd1bGFyIGV4cHJlc3Npb24pLgogKiBJZiBpdCBmYWlscywgaXQgdHJpZXMgdG8gbWF0Y2ggdGhlIHJpZ2h0IERpc2p1bmN0aW9uIChmb2xsb3dlZCBieSB0aGUgc2VxdWVsIG9mIHRoZSByZWd1bGFyIGV4cHJlc3Npb24pCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuMi8xNS4xMC4yLjMvUzE1LjEwLjIuM19BMV9UNC5qcwogKiBAZGVzY3JpcHRpb24gRXhlY3V0ZSAvXGR7M318W2Etel17NH0vLmV4ZWMoIjIsIDEyIGFuZCAyMzQgQU5EIG9mIGNvdXJzZSByZXBlYXQgMTIiKSBhbmQgY2hlY2sgcmVzdWx0cwogKi8KCl9fZXhlY3V0ZWQgPSAvXGR7M318W2Etel17NH0vLmV4ZWMoIjIsIDEyIGFuZCAyMzQgQU5EIG9mIGNvdXJzZSByZXBlYXQgMTIiKTsKCl9fZXhwZWN0ZWQgPSBbIjIzNCJdOwpfX2V4cGVjdGVkLmluZGV4ID0gMTA7Cl9fZXhwZWN0ZWQuaW5wdXQgPSAiMiwgMTIgYW5kIDIzNCBBTkQgb2YgY291cnNlIHJlcGVhdCAxMiI7CgovL0NIRUNLIzEKaWYgKF9fZXhlY3V0ZWQubGVuZ3RoICE9PSBfX2V4cGVjdGVkLmxlbmd0aCkgewoJJEVSUk9SKCcjMTogX19leGVjdXRlZCA9IC9cXGR7M318W2Etel17NH0vLmV4ZWMoIjIsIDEyIGFuZCAyMzQgQU5EIG9mIGNvdXJzZSByZXBlYXQgMTIiKTsgX19leGVjdXRlZC5sZW5ndGggPT09ICcgKyBfX2V4cGVjdGVkLmxlbmd0aCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQubGVuZ3RoKTsKfQoKLy9DSEVDSyMyCmlmIChfX2V4ZWN1dGVkLmluZGV4ICE9PSBfX2V4cGVjdGVkLmluZGV4KSB7CgkkRVJST1IoJyMyOiBfX2V4ZWN1dGVkID0gL1xcZHszfXxbYS16XXs0fS8uZXhlYygiMiwgMTIgYW5kIDIzNCBBTkQgb2YgY291cnNlIHJlcGVhdCAxMiIpOyBfX2V4ZWN1dGVkLmluZGV4ID09PSAnICsgX19leHBlY3RlZC5pbmRleCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5kZXgpOwp9CgovL0NIRUNLIzMKaWYgKF9fZXhlY3V0ZWQuaW5wdXQgIT09IF9fZXhwZWN0ZWQuaW5wdXQpIHsKCSRFUlJPUignIzM6IF9fZXhlY3V0ZWQgPSAvXFxkezN9fFthLXpdezR9Ly5leGVjKCIyLCAxMiBhbmQgMjM0IEFORCBvZiBjb3Vyc2UgcmVwZWF0IDEyIik7IF9fZXhlY3V0ZWQuaW5wdXQgPT09ICcgKyBfX2V4cGVjdGVkLmlucHV0ICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5pbnB1dCk7Cn0KCi8vQ0hFQ0sjNApmb3IodmFyIGluZGV4PTA7IGluZGV4PF9fZXhwZWN0ZWQubGVuZ3RoOyBpbmRleCsrKSB7CglpZiAoX19leGVjdXRlZFtpbmRleF0gIT09IF9fZXhwZWN0ZWRbaW5kZXhdKSB7CgkJJEVSUk9SKCcjNDogX19leGVjdXRlZCA9IC9cXGR7M318W2Etel17NH0vLmV4ZWMoIjIsIDEyIGFuZCAyMzQgQU5EIG9mIGNvdXJzZSByZXBlYXQgMTIiKTsgX19leGVjdXRlZFsnICsgaW5kZXggKyAnXSA9PT0gJyArIF9fZXhwZWN0ZWRbaW5kZXhdICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZFtpbmRleF0pOwoJfQp9CgoK","commentary":"The | regular expression operator separates two alternatives.\nThe pattern first tries to match the left Alternative (followed by the sequel of the regular expression).\nIf it fails, it tries to match the right Disjunction (followed by the sequel of the regular expression)","description":"Execute /\\d{3}|[a-z]{4}/.exec(\"2, 12 and 234 AND of course repeat 12\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.3/S15.10.2.3_A1_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgfCByZWd1bGFyIGV4cHJlc3Npb24gb3BlcmF0b3Igc2VwYXJhdGVzIHR3byBhbHRlcm5hdGl2ZXMuCiAqIFRoZSBwYXR0ZXJuIGZpcnN0IHRyaWVzIHRvIG1hdGNoIHRoZSBsZWZ0IEFsdGVybmF0aXZlIChmb2xsb3dlZCBieSB0aGUgc2VxdWVsIG9mIHRoZSByZWd1bGFyIGV4cHJlc3Npb24pLgogKiBJZiBpdCBmYWlscywgaXQgdHJpZXMgdG8gbWF0Y2ggdGhlIHJpZ2h0IERpc2p1bmN0aW9uIChmb2xsb3dlZCBieSB0aGUgc2VxdWVsIG9mIHRoZSByZWd1bGFyIGV4cHJlc3Npb24pCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuMi8xNS4xMC4yLjMvUzE1LjEwLjIuM19BMV9UNS5qcwogKiBAZGVzY3JpcHRpb24gRXhlY3V0ZSAvXGR7M318W2Etel17NH0vLnRlc3QoIjIsIDEyIGFuZCAyMyBBTkQgMC4wMC4xIikgYW5kIGNoZWNrIHJlc3VsdHMKICovCgpfX2V4ZWN1dGVkID0gL1xkezN9fFthLXpdezR9Ly50ZXN0KCIyLCAxMiBhbmQgMjMgQU5EIDAuMDAuMSIpOwoKLy9DSEVDSyMxCmlmIChfX2V4ZWN1dGVkKSB7CgkkRVJST1IoJyMxOiAvXFxkezN9fFthLXpdezR9Ly50ZXN0KCIyLCAxMiBhbmQgMjMgQU5EIDAuMDAuMSIpID09PSBmYWxzZScpOwp9CgoK","commentary":"The | regular expression operator separates two alternatives.\nThe pattern first tries to match the left Alternative (followed by the sequel of the regular expression).\nIf it fails, it tries to match the right Disjunction (followed by the sequel of the regular expression)","description":"Execute /\\d{3}|[a-z]{4}/.test(\"2, 12 and 23 AND 0.00.1\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.3/S15.10.2.3_A1_T5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgfCByZWd1bGFyIGV4cHJlc3Npb24gb3BlcmF0b3Igc2VwYXJhdGVzIHR3byBhbHRlcm5hdGl2ZXMuCiAqIFRoZSBwYXR0ZXJuIGZpcnN0IHRyaWVzIHRvIG1hdGNoIHRoZSBsZWZ0IEFsdGVybmF0aXZlIChmb2xsb3dlZCBieSB0aGUgc2VxdWVsIG9mIHRoZSByZWd1bGFyIGV4cHJlc3Npb24pLgogKiBJZiBpdCBmYWlscywgaXQgdHJpZXMgdG8gbWF0Y2ggdGhlIHJpZ2h0IERpc2p1bmN0aW9uIChmb2xsb3dlZCBieSB0aGUgc2VxdWVsIG9mIHRoZSByZWd1bGFyIGV4cHJlc3Npb24pCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuMi8xNS4xMC4yLjMvUzE1LjEwLjIuM19BMV9UNi5qcwogKiBAZGVzY3JpcHRpb24gRXhlY3V0ZSAvYWJ8Y2R8ZWYvaS5leGVjKCJBRUtGQ0QiKSBhbmQgY2hlY2sgcmVzdWx0cwogKi8KCl9fZXhlY3V0ZWQgPSAvYWJ8Y2R8ZWYvaS5leGVjKCJBRUtGQ0QiKTsKCl9fZXhwZWN0ZWQgPSBbIkNEIl07Cl9fZXhwZWN0ZWQuaW5kZXggPSA0OwpfX2V4cGVjdGVkLmlucHV0ID0gIkFFS0ZDRCI7CgovL0NIRUNLIzEKaWYgKF9fZXhlY3V0ZWQubGVuZ3RoICE9PSBfX2V4cGVjdGVkLmxlbmd0aCkgewoJJEVSUk9SKCcjMTogX19leGVjdXRlZCA9IC9hYnxjZHxlZi9pLmV4ZWMoIkFFS0ZDRCIpOyBfX2V4ZWN1dGVkLmxlbmd0aCA9PT0gJyArIF9fZXhwZWN0ZWQubGVuZ3RoICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5sZW5ndGgpOwp9CgovL0NIRUNLIzIKaWYgKF9fZXhlY3V0ZWQuaW5kZXggIT09IF9fZXhwZWN0ZWQuaW5kZXgpIHsKCSRFUlJPUignIzI6IF9fZXhlY3V0ZWQgPSAvYWJ8Y2R8ZWYvaS5leGVjKCJBRUtGQ0QiKTsgX19leGVjdXRlZC5pbmRleCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5kZXggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmluZGV4KTsKfQoKLy9DSEVDSyMzCmlmIChfX2V4ZWN1dGVkLmlucHV0ICE9PSBfX2V4cGVjdGVkLmlucHV0KSB7CgkkRVJST1IoJyMzOiBfX2V4ZWN1dGVkID0gL2FifGNkfGVmL2kuZXhlYygiQUVLRkNEIik7IF9fZXhlY3V0ZWQuaW5wdXQgPT09ICcgKyBfX2V4cGVjdGVkLmlucHV0ICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5pbnB1dCk7Cn0KCi8vQ0hFQ0sjNApmb3IodmFyIGluZGV4PTA7IGluZGV4PF9fZXhwZWN0ZWQubGVuZ3RoOyBpbmRleCsrKSB7CglpZiAoX19leGVjdXRlZFtpbmRleF0gIT09IF9fZXhwZWN0ZWRbaW5kZXhdKSB7CgkJJEVSUk9SKCcjNDogX19leGVjdXRlZCA9IC9hYnxjZHxlZi9pLmV4ZWMoIkFFS0ZDRCIpOyBfX2V4ZWN1dGVkWycgKyBpbmRleCArICddID09PSAnICsgX19leHBlY3RlZFtpbmRleF0gKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkW2luZGV4XSk7Cgl9Cn0KCgo=","commentary":"The | regular expression operator separates two alternatives.\nThe pattern first tries to match the left Alternative (followed by the sequel of the regular expression).\nIf it fails, it tries to match the right Disjunction (followed by the sequel of the regular expression)","description":"Execute /ab|cd|ef/i.exec(\"AEKFCD\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.3/S15.10.2.3_A1_T6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgfCByZWd1bGFyIGV4cHJlc3Npb24gb3BlcmF0b3Igc2VwYXJhdGVzIHR3byBhbHRlcm5hdGl2ZXMuCiAqIFRoZSBwYXR0ZXJuIGZpcnN0IHRyaWVzIHRvIG1hdGNoIHRoZSBsZWZ0IEFsdGVybmF0aXZlIChmb2xsb3dlZCBieSB0aGUgc2VxdWVsIG9mIHRoZSByZWd1bGFyIGV4cHJlc3Npb24pLgogKiBJZiBpdCBmYWlscywgaXQgdHJpZXMgdG8gbWF0Y2ggdGhlIHJpZ2h0IERpc2p1bmN0aW9uIChmb2xsb3dlZCBieSB0aGUgc2VxdWVsIG9mIHRoZSByZWd1bGFyIGV4cHJlc3Npb24pCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuMi8xNS4xMC4yLjMvUzE1LjEwLjIuM19BMV9UNy5qcwogKiBAZGVzY3JpcHRpb24gRXhlY3V0ZSAvYWJ8Y2R8ZWYvLnRlc3QoIkFFS0ZDRCIpIGFuZCBjaGVjayByZXN1bHRzCiAqLwoKX19leGVjdXRlZCA9IC9hYnxjZHxlZi8udGVzdCgiQUVLRkNEIik7CgovL0NIRUNLIzEKaWYgKF9fZXhlY3V0ZWQpIHsKCSRFUlJPUignIzE6IC9hYnxjZHxlZi8udGVzdCgiQUVLRkNEIikgPT09IGZhbHNlJyk7Cn0KCgo=","commentary":"The | regular expression operator separates two alternatives.\nThe pattern first tries to match the left Alternative (followed by the sequel of the regular expression).\nIf it fails, it tries to match the right Disjunction (followed by the sequel of the regular expression)","description":"Execute /ab|cd|ef/.test(\"AEKFCD\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.3/S15.10.2.3_A1_T7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgfCByZWd1bGFyIGV4cHJlc3Npb24gb3BlcmF0b3Igc2VwYXJhdGVzIHR3byBhbHRlcm5hdGl2ZXMuCiAqIFRoZSBwYXR0ZXJuIGZpcnN0IHRyaWVzIHRvIG1hdGNoIHRoZSBsZWZ0IEFsdGVybmF0aXZlIChmb2xsb3dlZCBieSB0aGUgc2VxdWVsIG9mIHRoZSByZWd1bGFyIGV4cHJlc3Npb24pLgogKiBJZiBpdCBmYWlscywgaXQgdHJpZXMgdG8gbWF0Y2ggdGhlIHJpZ2h0IERpc2p1bmN0aW9uIChmb2xsb3dlZCBieSB0aGUgc2VxdWVsIG9mIHRoZSByZWd1bGFyIGV4cHJlc3Npb24pCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuMi8xNS4xMC4yLjMvUzE1LjEwLjIuM19BMV9UOC5qcwogKiBAZGVzY3JpcHRpb24gRXhlY3V0ZSAvKD86YWJ8Y2QpK3xlZi9pLmV4ZWMoIkFFS0ZDRCIpIGFuZCBjaGVjayByZXN1bHRzCiAqLwoKX19leGVjdXRlZCA9IC8oPzphYnxjZCkrfGVmL2kuZXhlYygiQUVLRkNEIik7CgpfX2V4cGVjdGVkID0gWyJDRCJdOwpfX2V4cGVjdGVkLmluZGV4ID0gNDsKX19leHBlY3RlZC5pbnB1dCA9ICJBRUtGQ0QiOwoKLy9DSEVDSyMxCmlmIChfX2V4ZWN1dGVkLmxlbmd0aCAhPT0gX19leHBlY3RlZC5sZW5ndGgpIHsKCSRFUlJPUignIzE6IF9fZXhlY3V0ZWQgPSAvKD86YWJ8Y2QpK3xlZi9pLmV4ZWMoIkFFS0ZDRCIpOyBfX2V4ZWN1dGVkLmxlbmd0aCA9PT0gJyArIF9fZXhwZWN0ZWQubGVuZ3RoICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5sZW5ndGgpOwp9CgovL0NIRUNLIzIKaWYgKF9fZXhlY3V0ZWQuaW5kZXggIT09IF9fZXhwZWN0ZWQuaW5kZXgpIHsKCSRFUlJPUignIzI6IF9fZXhlY3V0ZWQgPSAvKD86YWJ8Y2QpK3xlZi9pLmV4ZWMoIkFFS0ZDRCIpOyBfX2V4ZWN1dGVkLmluZGV4ID09PSAnICsgX19leHBlY3RlZC5pbmRleCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5kZXgpOwp9CgovL0NIRUNLIzMKaWYgKF9fZXhlY3V0ZWQuaW5wdXQgIT09IF9fZXhwZWN0ZWQuaW5wdXQpIHsKCSRFUlJPUignIzM6IF9fZXhlY3V0ZWQgPSAvKD86YWJ8Y2QpK3xlZi9pLmV4ZWMoIkFFS0ZDRCIpOyBfX2V4ZWN1dGVkLmlucHV0ID09PSAnICsgX19leHBlY3RlZC5pbnB1dCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5wdXQpOwp9CgovL0NIRUNLIzQKZm9yKHZhciBpbmRleD0wOyBpbmRleDxfX2V4cGVjdGVkLmxlbmd0aDsgaW5kZXgrKykgewoJaWYgKF9fZXhlY3V0ZWRbaW5kZXhdICE9PSBfX2V4cGVjdGVkW2luZGV4XSkgewoJCSRFUlJPUignIzQ6IF9fZXhlY3V0ZWQgPSAvKD86YWJ8Y2QpK3xlZi9pLmV4ZWMoIkFFS0ZDRCIpOyBfX2V4ZWN1dGVkWycgKyBpbmRleCArICddID09PSAnICsgX19leHBlY3RlZFtpbmRleF0gKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkW2luZGV4XSk7Cgl9Cn0KCgo=","commentary":"The | regular expression operator separates two alternatives.\nThe pattern first tries to match the left Alternative (followed by the sequel of the regular expression).\nIf it fails, it tries to match the right Disjunction (followed by the sequel of the regular expression)","description":"Execute /(?:ab|cd)+|ef/i.exec(\"AEKFCD\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.3/S15.10.2.3_A1_T8.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgfCByZWd1bGFyIGV4cHJlc3Npb24gb3BlcmF0b3Igc2VwYXJhdGVzIHR3byBhbHRlcm5hdGl2ZXMuCiAqIFRoZSBwYXR0ZXJuIGZpcnN0IHRyaWVzIHRvIG1hdGNoIHRoZSBsZWZ0IEFsdGVybmF0aXZlIChmb2xsb3dlZCBieSB0aGUgc2VxdWVsIG9mIHRoZSByZWd1bGFyIGV4cHJlc3Npb24pLgogKiBJZiBpdCBmYWlscywgaXQgdHJpZXMgdG8gbWF0Y2ggdGhlIHJpZ2h0IERpc2p1bmN0aW9uIChmb2xsb3dlZCBieSB0aGUgc2VxdWVsIG9mIHRoZSByZWd1bGFyIGV4cHJlc3Npb24pCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuMi8xNS4xMC4yLjMvUzE1LjEwLjIuM19BMV9UOS5qcwogKiBAZGVzY3JpcHRpb24gRXhlY3V0ZSAvKD86YWJ8Y2QpK3xlZi9pLmV4ZWMoIkFFS0ZDRGFiIikgYW5kIGNoZWNrIHJlc3VsdHMKICovCgpfX2V4ZWN1dGVkID0gLyg/OmFifGNkKSt8ZWYvaS5leGVjKCJBRUtGQ0RhYiIpOwoKX19leHBlY3RlZCA9IFsiQ0RhYiJdOwpfX2V4cGVjdGVkLmluZGV4ID0gNDsKX19leHBlY3RlZC5pbnB1dCA9ICJBRUtGQ0RhYiI7CgovL0NIRUNLIzEKaWYgKF9fZXhlY3V0ZWQubGVuZ3RoICE9PSBfX2V4cGVjdGVkLmxlbmd0aCkgewoJJEVSUk9SKCcjMTogX19leGVjdXRlZCA9IC8oPzphYnxjZCkrfGVmL2kuZXhlYygiQUVLRkNEYWIiKTsgX19leGVjdXRlZC5sZW5ndGggPT09ICcgKyBfX2V4cGVjdGVkLmxlbmd0aCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQubGVuZ3RoKTsKfQoKLy9DSEVDSyMyCmlmIChfX2V4ZWN1dGVkLmluZGV4ICE9PSBfX2V4cGVjdGVkLmluZGV4KSB7CgkkRVJST1IoJyMyOiBfX2V4ZWN1dGVkID0gLyg/OmFifGNkKSt8ZWYvaS5leGVjKCJBRUtGQ0RhYiIpOyBfX2V4ZWN1dGVkLmluZGV4ID09PSAnICsgX19leHBlY3RlZC5pbmRleCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5kZXgpOwp9CgovL0NIRUNLIzMKaWYgKF9fZXhlY3V0ZWQuaW5wdXQgIT09IF9fZXhwZWN0ZWQuaW5wdXQpIHsKCSRFUlJPUignIzM6IF9fZXhlY3V0ZWQgPSAvKD86YWJ8Y2QpK3xlZi9pLmV4ZWMoIkFFS0ZDRGFiIik7IF9fZXhlY3V0ZWQuaW5wdXQgPT09ICcgKyBfX2V4cGVjdGVkLmlucHV0ICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5pbnB1dCk7Cn0KCi8vQ0hFQ0sjNApmb3IodmFyIGluZGV4PTA7IGluZGV4PF9fZXhwZWN0ZWQubGVuZ3RoOyBpbmRleCsrKSB7CglpZiAoX19leGVjdXRlZFtpbmRleF0gIT09IF9fZXhwZWN0ZWRbaW5kZXhdKSB7CgkJJEVSUk9SKCcjNDogX19leGVjdXRlZCA9IC8oPzphYnxjZCkrfGVmL2kuZXhlYygiQUVLRkNEYWIiKTsgX19leGVjdXRlZFsnICsgaW5kZXggKyAnXSA9PT0gJyArIF9fZXhwZWN0ZWRbaW5kZXhdICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZFtpbmRleF0pOwoJfQp9CgoK","commentary":"The | regular expression operator separates two alternatives.\nThe pattern first tries to match the left Alternative (followed by the sequel of the regular expression).\nIf it fails, it tries to match the right Disjunction (followed by the sequel of the regular expression)","description":"Execute /(?:ab|cd)+|ef/i.exec(\"AEKFCDab\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.3/S15.10.2.3_A1_T9.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBBbiBBdG9tIGZvbGxvd2VkIGJ5IGEgUXVhbnRpZmllciBpcyByZXBlYXRlZCB0aGUgbnVtYmVyIG9mIHRpbWVzIHNwZWNpZmllZCBieSB0aGUgUXVhbnRpZmllcgogKgogKiBAcGF0aCBjaDE1LzE1LjEwLzE1LjEwLjIvMTUuMTAuMi41L1MxNS4xMC4yLjVfQTFfVDEuanMKICogQGRlc2NyaXB0aW9uIEV4ZWN1dGUgL2FbYS16XXsyLDR9Ly5leGVjKCJhYmNkZWZnaGkiKSBhbmQgY2hlY2sgcmVzdWx0cwogKi8KCl9fZXhlY3V0ZWQgPSAvYVthLXpdezIsNH0vLmV4ZWMoImFiY2RlZmdoaSIpOwoKX19leHBlY3RlZCA9IFsiYWJjZGUiXTsKX19leHBlY3RlZC5pbmRleCA9IDA7Cl9fZXhwZWN0ZWQuaW5wdXQgPSAiYWJjZGVmZ2hpIjsKCi8vQ0hFQ0sjMQppZiAoX19leGVjdXRlZC5sZW5ndGggIT09IF9fZXhwZWN0ZWQubGVuZ3RoKSB7CgkkRVJST1IoJyMxOiBfX2V4ZWN1dGVkID0gL2FbYS16XXsyLDR9Ly5leGVjKCJhYmNkZWZnaGkiKTsgX19leGVjdXRlZC5sZW5ndGggPT09ICcgKyBfX2V4cGVjdGVkLmxlbmd0aCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQubGVuZ3RoKTsKfQoKLy9DSEVDSyMyCmlmIChfX2V4ZWN1dGVkLmluZGV4ICE9PSBfX2V4cGVjdGVkLmluZGV4KSB7CgkkRVJST1IoJyMyOiBfX2V4ZWN1dGVkID0gL2FbYS16XXsyLDR9Ly5leGVjKCJhYmNkZWZnaGkiKTsgX19leGVjdXRlZC5pbmRleCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5kZXggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmluZGV4KTsKfQoKLy9DSEVDSyMzCmlmIChfX2V4ZWN1dGVkLmlucHV0ICE9PSBfX2V4cGVjdGVkLmlucHV0KSB7CgkkRVJST1IoJyMzOiBfX2V4ZWN1dGVkID0gL2FbYS16XXsyLDR9Ly5leGVjKCJhYmNkZWZnaGkiKTsgX19leGVjdXRlZC5pbnB1dCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5wdXQgKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmlucHV0KTsKfQoKLy9DSEVDSyM0CmZvcih2YXIgaW5kZXg9MDsgaW5kZXg8X19leHBlY3RlZC5sZW5ndGg7IGluZGV4KyspIHsKCWlmIChfX2V4ZWN1dGVkW2luZGV4XSAhPT0gX19leHBlY3RlZFtpbmRleF0pIHsKCQkkRVJST1IoJyM0OiBfX2V4ZWN1dGVkID0gL2FbYS16XXsyLDR9Ly5leGVjKCJhYmNkZWZnaGkiKTsgX19leGVjdXRlZFsnICsgaW5kZXggKyAnXSA9PT0gJyArIF9fZXhwZWN0ZWRbaW5kZXhdICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZFtpbmRleF0pOwoJfQp9CgoK","commentary":"An Atom followed by a Quantifier is repeated the number of times specified by the Quantifier","description":"Execute /a[a-z]{2,4}/.exec(\"abcdefghi\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.5/S15.10.2.5_A1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBBbiBBdG9tIGZvbGxvd2VkIGJ5IGEgUXVhbnRpZmllciBpcyByZXBlYXRlZCB0aGUgbnVtYmVyIG9mIHRpbWVzIHNwZWNpZmllZCBieSB0aGUgUXVhbnRpZmllcgogKgogKiBAcGF0aCBjaDE1LzE1LjEwLzE1LjEwLjIvMTUuMTAuMi41L1MxNS4xMC4yLjVfQTFfVDIuanMKICogQGRlc2NyaXB0aW9uIEV4ZWN1dGUgL2FbYS16XXsyLDR9Py8uZXhlYygiYWJjZGVmZ2hpIikgYW5kIGNoZWNrIHJlc3VsdHMKICovCgpfX2V4ZWN1dGVkID0gL2FbYS16XXsyLDR9Py8uZXhlYygiYWJjZGVmZ2hpIik7CgpfX2V4cGVjdGVkID0gWyJhYmMiXTsKX19leHBlY3RlZC5pbmRleCA9IDA7Cl9fZXhwZWN0ZWQuaW5wdXQgPSAiYWJjZGVmZ2hpIjsKCi8vQ0hFQ0sjMQppZiAoX19leGVjdXRlZC5sZW5ndGggIT09IF9fZXhwZWN0ZWQubGVuZ3RoKSB7CgkkRVJST1IoJyMxOiBfX2V4ZWN1dGVkID0gL2FbYS16XXsyLDR9Py8uZXhlYygiYWJjZGVmZ2hpIik7IF9fZXhlY3V0ZWQubGVuZ3RoID09PSAnICsgX19leHBlY3RlZC5sZW5ndGggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmxlbmd0aCk7Cn0KCi8vQ0hFQ0sjMgppZiAoX19leGVjdXRlZC5pbmRleCAhPT0gX19leHBlY3RlZC5pbmRleCkgewoJJEVSUk9SKCcjMjogX19leGVjdXRlZCA9IC9hW2Etel17Miw0fT8vLmV4ZWMoImFiY2RlZmdoaSIpOyBfX2V4ZWN1dGVkLmluZGV4ID09PSAnICsgX19leHBlY3RlZC5pbmRleCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5kZXgpOwp9CgovL0NIRUNLIzMKaWYgKF9fZXhlY3V0ZWQuaW5wdXQgIT09IF9fZXhwZWN0ZWQuaW5wdXQpIHsKCSRFUlJPUignIzM6IF9fZXhlY3V0ZWQgPSAvYVthLXpdezIsNH0/Ly5leGVjKCJhYmNkZWZnaGkiKTsgX19leGVjdXRlZC5pbnB1dCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5wdXQgKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmlucHV0KTsKfQoKLy9DSEVDSyM0CmZvcih2YXIgaW5kZXg9MDsgaW5kZXg8X19leHBlY3RlZC5sZW5ndGg7IGluZGV4KyspIHsKCWlmIChfX2V4ZWN1dGVkW2luZGV4XSAhPT0gX19leHBlY3RlZFtpbmRleF0pIHsKCQkkRVJST1IoJyM0OiBfX2V4ZWN1dGVkID0gL2FbYS16XXsyLDR9Py8uZXhlYygiYWJjZGVmZ2hpIik7IF9fZXhlY3V0ZWRbJyArIGluZGV4ICsgJ10gPT09ICcgKyBfX2V4cGVjdGVkW2luZGV4XSArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWRbaW5kZXhdKTsKCX0KfQoKCg==","commentary":"An Atom followed by a Quantifier is repeated the number of times specified by the Quantifier","description":"Execute /a[a-z]{2,4}?/.exec(\"abcdefghi\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.5/S15.10.2.5_A1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBBbiBBdG9tIGZvbGxvd2VkIGJ5IGEgUXVhbnRpZmllciBpcyByZXBlYXRlZCB0aGUgbnVtYmVyIG9mIHRpbWVzIHNwZWNpZmllZCBieSB0aGUgUXVhbnRpZmllcgogKgogKiBAcGF0aCBjaDE1LzE1LjEwLzE1LjEwLjIvMTUuMTAuMi41L1MxNS4xMC4yLjVfQTFfVDMuanMKICogQGRlc2NyaXB0aW9uIEV4ZWN1dGUgLyhhYXxhYWJhYWN8YmF8YnxjKSogLy5leGVjKCJhYWJhYWMiKSBhbmQgY2hlY2sgcmVzdWx0cwogKi8KCl9fZXhlY3V0ZWQgPSAvKGFhfGFhYmFhY3xiYXxifGMpKi8uZXhlYygiYWFiYWFjIik7CgpfX2V4cGVjdGVkID0gWyJhYWJhIiwgImJhIl07Cl9fZXhwZWN0ZWQuaW5kZXggPSAwOwpfX2V4cGVjdGVkLmlucHV0ID0gImFhYmFhYyI7CgovL0NIRUNLIzEKaWYgKF9fZXhlY3V0ZWQubGVuZ3RoICE9PSBfX2V4cGVjdGVkLmxlbmd0aCkgewoJJEVSUk9SKCcjMTogX19leGVjdXRlZCA9IC8oYWF8YWFiYWFjfGJhfGJ8YykqLy5leGVjKCJhYWJhYWMiKTsgX19leGVjdXRlZC5sZW5ndGggPT09ICcgKyBfX2V4cGVjdGVkLmxlbmd0aCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQubGVuZ3RoKTsKfQoKLy9DSEVDSyMyCmlmIChfX2V4ZWN1dGVkLmluZGV4ICE9PSBfX2V4cGVjdGVkLmluZGV4KSB7CgkkRVJST1IoJyMyOiBfX2V4ZWN1dGVkID0gLyhhYXxhYWJhYWN8YmF8YnxjKSovLmV4ZWMoImFhYmFhYyIpOyBfX2V4ZWN1dGVkLmluZGV4ID09PSAnICsgX19leHBlY3RlZC5pbmRleCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5kZXgpOwp9CgovL0NIRUNLIzMKaWYgKF9fZXhlY3V0ZWQuaW5wdXQgIT09IF9fZXhwZWN0ZWQuaW5wdXQpIHsKCSRFUlJPUignIzM6IF9fZXhlY3V0ZWQgPSAvKGFhfGFhYmFhY3xiYXxifGMpKi8uZXhlYygiYWFiYWFjIik7IF9fZXhlY3V0ZWQuaW5wdXQgPT09ICcgKyBfX2V4cGVjdGVkLmlucHV0ICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5pbnB1dCk7Cn0KCi8vQ0hFQ0sjNApmb3IodmFyIGluZGV4PTA7IGluZGV4PF9fZXhwZWN0ZWQubGVuZ3RoOyBpbmRleCsrKSB7CglpZiAoX19leGVjdXRlZFtpbmRleF0gIT09IF9fZXhwZWN0ZWRbaW5kZXhdKSB7CgkJJEVSUk9SKCcjNDogX19leGVjdXRlZCA9IC8oYWF8YWFiYWFjfGJhfGJ8YykqLy5leGVjKCJhYWJhYWMiKTsgX19leGVjdXRlZFsnICsgaW5kZXggKyAnXSA9PT0gJyArIF9fZXhwZWN0ZWRbaW5kZXhdICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZFtpbmRleF0pOwoJfQp9CgoK","commentary":"An Atom followed by a Quantifier is repeated the number of times specified by the Quantifier","description":"Execute /(aa|aabaac|ba|b|c)* /.exec(\"aabaac\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.5/S15.10.2.5_A1_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBBbiBBdG9tIGZvbGxvd2VkIGJ5IGEgUXVhbnRpZmllciBpcyByZXBlYXRlZCB0aGUgbnVtYmVyIG9mIHRpbWVzIHNwZWNpZmllZCBieSB0aGUgUXVhbnRpZmllcgogKgogKiBAcGF0aCBjaDE1LzE1LjEwLzE1LjEwLjIvMTUuMTAuMi41L1MxNS4xMC4yLjVfQTFfVDQuanMKICogQGRlc2NyaXB0aW9uIEV4ZWN1dGUgLyh6KSgoYSspPyhiKyk/KGMpKSogLy5leGVjKCJ6YWFjYmJiY2FjIikgYW5kIGNoZWNrIHJlc3VsdHMKICovCgpfX2V4ZWN1dGVkID0gLyh6KSgoYSspPyhiKyk/KGMpKSovLmV4ZWMoInphYWNiYmJjYWMiKTsKCl9fZXhwZWN0ZWQgPSBbInphYWNiYmJjYWMiLCAieiIsICJhYyIsICJhIiwgdW5kZWZpbmVkLCAiYyJdOwpfX2V4cGVjdGVkLmluZGV4ID0gMDsKX19leHBlY3RlZC5pbnB1dCA9ICJ6YWFjYmJiY2FjIjsKCi8vQ0hFQ0sjMQppZiAoX19leGVjdXRlZC5sZW5ndGggIT09IF9fZXhwZWN0ZWQubGVuZ3RoKSB7CgkkRVJST1IoJyMxOiBfX2V4ZWN1dGVkID0gLyh6KSgoYSspPyhiKyk/KGMpKSovLmV4ZWMoInphYWNiYmJjYWMiKTsgX19leGVjdXRlZC5sZW5ndGggPT09ICcgKyBfX2V4cGVjdGVkLmxlbmd0aCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQubGVuZ3RoKTsKfQoKLy9DSEVDSyMyCmlmIChfX2V4ZWN1dGVkLmluZGV4ICE9PSBfX2V4cGVjdGVkLmluZGV4KSB7CgkkRVJST1IoJyMyOiBfX2V4ZWN1dGVkID0gLyh6KSgoYSspPyhiKyk/KGMpKSovLmV4ZWMoInphYWNiYmJjYWMiKTsgX19leGVjdXRlZC5pbmRleCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5kZXggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmluZGV4KTsKfQoKLy9DSEVDSyMzCmlmIChfX2V4ZWN1dGVkLmlucHV0ICE9PSBfX2V4cGVjdGVkLmlucHV0KSB7CgkkRVJST1IoJyMzOiBfX2V4ZWN1dGVkID0gLyh6KSgoYSspPyhiKyk/KGMpKSovLmV4ZWMoInphYWNiYmJjYWMiKTsgX19leGVjdXRlZC5pbnB1dCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5wdXQgKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmlucHV0KTsKfQoKLy9DSEVDSyM0CmZvcih2YXIgaW5kZXg9MDsgaW5kZXg8X19leHBlY3RlZC5sZW5ndGg7IGluZGV4KyspIHsKCWlmIChfX2V4ZWN1dGVkW2luZGV4XSAhPT0gX19leHBlY3RlZFtpbmRleF0pIHsKCQkkRVJST1IoJyM0OiBfX2V4ZWN1dGVkID0gLyh6KSgoYSspPyhiKyk/KGMpKSovLmV4ZWMoInphYWNiYmJjYWMiKTsgX19leGVjdXRlZFsnICsgaW5kZXggKyAnXSA9PT0gJyArIF9fZXhwZWN0ZWRbaW5kZXhdICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZFtpbmRleF0pOwoJfQp9CgoK","commentary":"An Atom followed by a Quantifier is repeated the number of times specified by the Quantifier","description":"Execute /(z)((a+)?(b+)?(c))* /.exec(\"zaacbbbcac\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.5/S15.10.2.5_A1_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBBbiBBdG9tIGZvbGxvd2VkIGJ5IGEgUXVhbnRpZmllciBpcyByZXBlYXRlZCB0aGUgbnVtYmVyIG9mIHRpbWVzIHNwZWNpZmllZCBieSB0aGUgUXVhbnRpZmllcgogKgogKiBAcGF0aCBjaDE1LzE1LjEwLzE1LjEwLjIvMTUuMTAuMi41L1MxNS4xMC4yLjVfQTFfVDUuanMKICogQGRlc2NyaXB0aW9uIEV4ZWN1dGUgLyhhKiliXDErLy5leGVjKCJiYWFhYWMiKSBhbmQgY2hlY2sgcmVzdWx0cwogKi8KCl9fZXhlY3V0ZWQgPSAvKGEqKWJcMSsvLmV4ZWMoImJhYWFhYyIpOwoKX19leHBlY3RlZCA9IFsiYiIsICIiXTsKX19leHBlY3RlZC5pbmRleCA9IDA7Cl9fZXhwZWN0ZWQuaW5wdXQgPSAiYmFhYWFjIjsKCi8vQ0hFQ0sjMQppZiAoX19leGVjdXRlZC5sZW5ndGggIT09IF9fZXhwZWN0ZWQubGVuZ3RoKSB7CgkkRVJST1IoJyMxOiBfX2V4ZWN1dGVkID0gLyhhKiliXFwxKy8uZXhlYygiYmFhYWFjIik7IF9fZXhlY3V0ZWQubGVuZ3RoID09PSAnICsgX19leHBlY3RlZC5sZW5ndGggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmxlbmd0aCk7Cn0KCi8vQ0hFQ0sjMgppZiAoX19leGVjdXRlZC5pbmRleCAhPT0gX19leHBlY3RlZC5pbmRleCkgewoJJEVSUk9SKCcjMjogX19leGVjdXRlZCA9IC8oYSopYlxcMSsvLmV4ZWMoImJhYWFhYyIpOyBfX2V4ZWN1dGVkLmluZGV4ID09PSAnICsgX19leHBlY3RlZC5pbmRleCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5kZXgpOwp9CgovL0NIRUNLIzMKaWYgKF9fZXhlY3V0ZWQuaW5wdXQgIT09IF9fZXhwZWN0ZWQuaW5wdXQpIHsKCSRFUlJPUignIzM6IF9fZXhlY3V0ZWQgPSAvKGEqKWJcXDErLy5leGVjKCJiYWFhYWMiKTsgX19leGVjdXRlZC5pbnB1dCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5wdXQgKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmlucHV0KTsKfQoKLy9DSEVDSyM0CmZvcih2YXIgaW5kZXg9MDsgaW5kZXg8X19leHBlY3RlZC5sZW5ndGg7IGluZGV4KyspIHsKCWlmIChfX2V4ZWN1dGVkW2luZGV4XSAhPT0gX19leHBlY3RlZFtpbmRleF0pIHsKCQkkRVJST1IoJyM0OiBfX2V4ZWN1dGVkID0gLyhhKiliXFwxKy8uZXhlYygiYmFhYWFjIik7IF9fZXhlY3V0ZWRbJyArIGluZGV4ICsgJ10gPT09ICcgKyBfX2V4cGVjdGVkW2luZGV4XSArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWRbaW5kZXhdKTsKCX0KfQoKCg==","commentary":"An Atom followed by a Quantifier is repeated the number of times specified by the Quantifier","description":"Execute /(a*)b\\1+/.exec(\"baaaac\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.5/S15.10.2.5_A1_T5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBBc3NlcnRpb24gOjogJCBldmFsdWF0ZXMgYnkgcmV0dXJuaW5nIGFuIGludGVybmFsIEFzc2VydGlvblRlc3RlciBjbG9zdXJlIHRoYXQgdGFrZXMgYSBTdGF0ZSBhcmd1bWVudCB4IGFuZCBwZXJmb3JtcyB0aGUgLi4uCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuMi8xNS4xMC4yLjYvUzE1LjEwLjIuNl9BMV9UMS5qcwogKiBAZGVzY3JpcHRpb24gRXhlY3V0ZSAvcyQvLnRlc3QoInBhaXJzXG5tYWtlc1x0ZG91YmxlIikgYW5kIGNoZWNrIHJlc3VsdHMKICovCgpfX2V4ZWN1dGVkID0gL3MkLy50ZXN0KCJwYWlyc1xubWFrZXNcdGRvdWJsZSIpOwoKLy9DSEVDSyMxCmlmIChfX2V4ZWN1dGVkKSB7CgkkRVJST1IoJyMxOiAvcyQvLnRlc3QoInBhaXJzXFxubWFrZXNcXHRkb3VibGUiKSA9PT0gZmFsc2UnKTsKfQoKCg==","commentary":"The production Assertion :: $ evaluates by returning an internal AssertionTester closure that takes a State argument x and performs the ...","description":"Execute /s$/.test(\"pairs\\nmakes\\tdouble\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.6/S15.10.2.6_A1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBBc3NlcnRpb24gOjogJCBldmFsdWF0ZXMgYnkgcmV0dXJuaW5nIGFuIGludGVybmFsIEFzc2VydGlvblRlc3RlciBjbG9zdXJlIHRoYXQgdGFrZXMgYSBTdGF0ZSBhcmd1bWVudCB4IGFuZCBwZXJmb3JtcyB0aGUgLi4uCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuMi8xNS4xMC4yLjYvUzE1LjEwLjIuNl9BMV9UMi5qcwogKiBAZGVzY3JpcHRpb24gRXhlY3V0ZSAvZSQvLmV4ZWMoInBhaXJzXG5tYWtlc1x0ZG91YmxlIikgYW5kIGNoZWNrIHJlc3VsdHMKICovCgpfX2V4ZWN1dGVkID0gL2UkLy5leGVjKCJwYWlyc1xubWFrZXNcdGRvdWJsZSIpOwoKX19leHBlY3RlZCA9IFsiZSJdOwpfX2V4cGVjdGVkLmluZGV4ID0gMTc7Cl9fZXhwZWN0ZWQuaW5wdXQgPSAicGFpcnNcbm1ha2VzXHRkb3VibGUiOwoKLy9DSEVDSyMxCmlmIChfX2V4ZWN1dGVkLmxlbmd0aCAhPT0gX19leHBlY3RlZC5sZW5ndGgpIHsKCSRFUlJPUignIzE6IF9fZXhlY3V0ZWQgPSAvZSQvLmV4ZWMoInBhaXJzXFxubWFrZXNcXHRkb3VibGUiKTsgX19leGVjdXRlZC5sZW5ndGggPT09ICcgKyBfX2V4cGVjdGVkLmxlbmd0aCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQubGVuZ3RoKTsKfQoKLy9DSEVDSyMyCmlmIChfX2V4ZWN1dGVkLmluZGV4ICE9PSBfX2V4cGVjdGVkLmluZGV4KSB7CgkkRVJST1IoJyMyOiBfX2V4ZWN1dGVkID0gL2UkLy5leGVjKCJwYWlyc1xcbm1ha2VzXFx0ZG91YmxlIik7IF9fZXhlY3V0ZWQuaW5kZXggPT09ICcgKyBfX2V4cGVjdGVkLmluZGV4ICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5pbmRleCk7Cn0KCi8vQ0hFQ0sjMwppZiAoX19leGVjdXRlZC5pbnB1dCAhPT0gX19leHBlY3RlZC5pbnB1dCkgewoJJEVSUk9SKCcjMzogX19leGVjdXRlZCA9IC9lJC8uZXhlYygicGFpcnNcXG5tYWtlc1xcdGRvdWJsZSIpOyBfX2V4ZWN1dGVkLmlucHV0ID09PSAnICsgX19leHBlY3RlZC5pbnB1dCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5wdXQpOwp9CgovL0NIRUNLIzQKZm9yKHZhciBpbmRleD0wOyBpbmRleDxfX2V4cGVjdGVkLmxlbmd0aDsgaW5kZXgrKykgewoJaWYgKF9fZXhlY3V0ZWRbaW5kZXhdICE9PSBfX2V4cGVjdGVkW2luZGV4XSkgewoJCSRFUlJPUignIzQ6IF9fZXhlY3V0ZWQgPSAvZSQvLmV4ZWMoInBhaXJzXFxubWFrZXNcXHRkb3VibGUiKTsgX19leGVjdXRlZFsnICsgaW5kZXggKyAnXSA9PT0gJyArIF9fZXhwZWN0ZWRbaW5kZXhdICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZFtpbmRleF0pOwoJfQp9CgoK","commentary":"The production Assertion :: $ evaluates by returning an internal AssertionTester closure that takes a State argument x and performs the ...","description":"Execute /e$/.exec(\"pairs\\nmakes\\tdouble\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.6/S15.10.2.6_A1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBBc3NlcnRpb24gOjogJCBldmFsdWF0ZXMgYnkgcmV0dXJuaW5nIGFuIGludGVybmFsIEFzc2VydGlvblRlc3RlciBjbG9zdXJlIHRoYXQgdGFrZXMgYSBTdGF0ZSBhcmd1bWVudCB4IGFuZCBwZXJmb3JtcyB0aGUgLi4uCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuMi8xNS4xMC4yLjYvUzE1LjEwLjIuNl9BMV9UMy5qcwogKiBAZGVzY3JpcHRpb24gRXhlY3V0ZSAvcyQvbS5leGVjKCJwYWlyc1xubWFrZXNcdGRvdWJsZSIpIGFuZCBjaGVjayByZXN1bHRzCiAqLwoKX19leGVjdXRlZCA9IC9zJC9tLmV4ZWMoInBhaXJzXG5tYWtlc1x0ZG91YmxlIik7CgpfX2V4cGVjdGVkID0gWyJzIl07Cl9fZXhwZWN0ZWQuaW5kZXggPSA0OwpfX2V4cGVjdGVkLmlucHV0ID0gInBhaXJzXG5tYWtlc1x0ZG91YmxlIjsKCi8vQ0hFQ0sjMQppZiAoX19leGVjdXRlZC5sZW5ndGggIT09IF9fZXhwZWN0ZWQubGVuZ3RoKSB7CgkkRVJST1IoJyMxOiBfX2V4ZWN1dGVkID0gL3MkL20uZXhlYygicGFpcnNcXG5tYWtlc1xcdGRvdWJsZSIpOyBfX2V4ZWN1dGVkLmxlbmd0aCA9PT0gJyArIF9fZXhwZWN0ZWQubGVuZ3RoICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5sZW5ndGgpOwp9CgovL0NIRUNLIzIKaWYgKF9fZXhlY3V0ZWQuaW5kZXggIT09IF9fZXhwZWN0ZWQuaW5kZXgpIHsKCSRFUlJPUignIzI6IF9fZXhlY3V0ZWQgPSAvcyQvbS5leGVjKCJwYWlyc1xcbm1ha2VzXFx0ZG91YmxlIik7IF9fZXhlY3V0ZWQuaW5kZXggPT09ICcgKyBfX2V4cGVjdGVkLmluZGV4ICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5pbmRleCk7Cn0KCi8vQ0hFQ0sjMwppZiAoX19leGVjdXRlZC5pbnB1dCAhPT0gX19leHBlY3RlZC5pbnB1dCkgewoJJEVSUk9SKCcjMzogX19leGVjdXRlZCA9IC9zJC9tLmV4ZWMoInBhaXJzXFxubWFrZXNcXHRkb3VibGUiKTsgX19leGVjdXRlZC5pbnB1dCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5wdXQgKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmlucHV0KTsKfQoKLy9DSEVDSyM0CmZvcih2YXIgaW5kZXg9MDsgaW5kZXg8X19leHBlY3RlZC5sZW5ndGg7IGluZGV4KyspIHsKCWlmIChfX2V4ZWN1dGVkW2luZGV4XSAhPT0gX19leHBlY3RlZFtpbmRleF0pIHsKCQkkRVJST1IoJyM0OiBfX2V4ZWN1dGVkID0gL3MkL20uZXhlYygicGFpcnNcXG5tYWtlc1xcdGRvdWJsZSIpOyBfX2V4ZWN1dGVkWycgKyBpbmRleCArICddID09PSAnICsgX19leHBlY3RlZFtpbmRleF0gKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkW2luZGV4XSk7Cgl9Cn0KCgo=","commentary":"The production Assertion :: $ evaluates by returning an internal AssertionTester closure that takes a State argument x and performs the ...","description":"Execute /s$/m.exec(\"pairs\\nmakes\\tdouble\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.6/S15.10.2.6_A1_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBBc3NlcnRpb24gOjogJCBldmFsdWF0ZXMgYnkgcmV0dXJuaW5nIGFuIGludGVybmFsIEFzc2VydGlvblRlc3RlciBjbG9zdXJlIHRoYXQgdGFrZXMgYSBTdGF0ZSBhcmd1bWVudCB4IGFuZCBwZXJmb3JtcyB0aGUgLi4uCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuMi8xNS4xMC4yLjYvUzE1LjEwLjIuNl9BMV9UNC5qcwogKiBAZGVzY3JpcHRpb24gRXhlY3V0ZSAvW15lXSQvbWcuZXhlYygicGFpcnNcbm1ha2VzXHRkb3VibGUiKSBhbmQgY2hlY2sgcmVzdWx0cwogKi8KCl9fZXhlY3V0ZWQgPSAvW15lXSQvbWcuZXhlYygicGFpcnNcbm1ha2VzXHRkb3VibGUiKTsKCl9fZXhwZWN0ZWQgPSBbInMiXTsKX19leHBlY3RlZC5pbmRleCA9IDQ7Cl9fZXhwZWN0ZWQuaW5wdXQgPSAicGFpcnNcbm1ha2VzXHRkb3VibGUiOwoKLy9DSEVDSyMxCmlmIChfX2V4ZWN1dGVkLmxlbmd0aCAhPT0gX19leHBlY3RlZC5sZW5ndGgpIHsKCSRFUlJPUignIzE6IF9fZXhlY3V0ZWQgPSAvW15lXSQvbWcuZXhlYygicGFpcnNcXG5tYWtlc1xcdGRvdWJsZSIpOyBfX2V4ZWN1dGVkLmxlbmd0aCA9PT0gJyArIF9fZXhwZWN0ZWQubGVuZ3RoICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5sZW5ndGgpOwp9CgovL0NIRUNLIzIKaWYgKF9fZXhlY3V0ZWQuaW5kZXggIT09IF9fZXhwZWN0ZWQuaW5kZXgpIHsKCSRFUlJPUignIzI6IF9fZXhlY3V0ZWQgPSAvW15lXSQvbWcuZXhlYygicGFpcnNcXG5tYWtlc1xcdGRvdWJsZSIpOyBfX2V4ZWN1dGVkLmluZGV4ID09PSAnICsgX19leHBlY3RlZC5pbmRleCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5kZXgpOwp9CgovL0NIRUNLIzMKaWYgKF9fZXhlY3V0ZWQuaW5wdXQgIT09IF9fZXhwZWN0ZWQuaW5wdXQpIHsKCSRFUlJPUignIzM6IF9fZXhlY3V0ZWQgPSAvW15lXSQvbWcuZXhlYygicGFpcnNcXG5tYWtlc1xcdGRvdWJsZSIpOyBfX2V4ZWN1dGVkLmlucHV0ID09PSAnICsgX19leHBlY3RlZC5pbnB1dCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5wdXQpOwp9CgovL0NIRUNLIzQKZm9yKHZhciBpbmRleD0wOyBpbmRleDxfX2V4cGVjdGVkLmxlbmd0aDsgaW5kZXgrKykgewoJaWYgKF9fZXhlY3V0ZWRbaW5kZXhdICE9PSBfX2V4cGVjdGVkW2luZGV4XSkgewoJCSRFUlJPUignIzQ6IF9fZXhlY3V0ZWQgPSAvW15lXSQvbWcuZXhlYygicGFpcnNcXG5tYWtlc1xcdGRvdWJsZSIpOyBfX2V4ZWN1dGVkWycgKyBpbmRleCArICddID09PSAnICsgX19leHBlY3RlZFtpbmRleF0gKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkW2luZGV4XSk7Cgl9Cn0KCgo=","commentary":"The production Assertion :: $ evaluates by returning an internal AssertionTester closure that takes a State argument x and performs the ...","description":"Execute /[^e]$/mg.exec(\"pairs\\nmakes\\tdouble\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.6/S15.10.2.6_A1_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBBc3NlcnRpb24gOjogJCBldmFsdWF0ZXMgYnkgcmV0dXJuaW5nIGFuIGludGVybmFsIEFzc2VydGlvblRlc3RlciBjbG9zdXJlIHRoYXQgdGFrZXMgYSBTdGF0ZSBhcmd1bWVudCB4IGFuZCBwZXJmb3JtcyB0aGUgLi4uCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuMi8xNS4xMC4yLjYvUzE1LjEwLjIuNl9BMV9UNS5qcwogKiBAZGVzY3JpcHRpb24gRXhlY3V0ZSAvZXMkL21nLmV4ZWMoInBhaXJzXG5tYWtlc1x0ZG91YmxcdTAwNjVzIikgYW5kIGNoZWNrIHJlc3VsdHMKICovCgpfX2V4ZWN1dGVkID0gL2VzJC9tZy5leGVjKCJwYWlyc1xubWFrZXNcdGRvdWJsXHUwMDY1cyIpOwoKX19leHBlY3RlZCA9IFsiZXMiXTsKX19leHBlY3RlZC5pbmRleCA9IDE3OwpfX2V4cGVjdGVkLmlucHV0ID0gInBhaXJzXG5tYWtlc1x0ZG91YmxlcyI7CgovL0NIRUNLIzEKaWYgKF9fZXhlY3V0ZWQubGVuZ3RoICE9PSBfX2V4cGVjdGVkLmxlbmd0aCkgewoJJEVSUk9SKCcjMTogX19leGVjdXRlZCA9IC9lcyQvbWcuZXhlYygicGFpcnNcXG5tYWtlc1xcdGRvdWJsXFx1MDA2NXMiKTsgX19leGVjdXRlZC5sZW5ndGggPT09ICcgKyBfX2V4cGVjdGVkLmxlbmd0aCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQubGVuZ3RoKTsKfQoKLy9DSEVDSyMyCmlmIChfX2V4ZWN1dGVkLmluZGV4ICE9PSBfX2V4cGVjdGVkLmluZGV4KSB7CgkkRVJST1IoJyMyOiBfX2V4ZWN1dGVkID0gL2VzJC9tZy5leGVjKCJwYWlyc1xcbm1ha2VzXFx0ZG91YmxcXHUwMDY1cyIpOyBfX2V4ZWN1dGVkLmluZGV4ID09PSAnICsgX19leHBlY3RlZC5pbmRleCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5kZXgpOwp9CgovL0NIRUNLIzMKaWYgKF9fZXhlY3V0ZWQuaW5wdXQgIT09IF9fZXhwZWN0ZWQuaW5wdXQpIHsKCSRFUlJPUignIzM6IF9fZXhlY3V0ZWQgPSAvZXMkL21nLmV4ZWMoInBhaXJzXFxubWFrZXNcXHRkb3VibFxcdTAwNjVzIik7IF9fZXhlY3V0ZWQuaW5wdXQgPT09ICcgKyBfX2V4cGVjdGVkLmlucHV0ICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5pbnB1dCk7Cn0KCi8vQ0hFQ0sjNApmb3IodmFyIGluZGV4PTA7IGluZGV4PF9fZXhwZWN0ZWQubGVuZ3RoOyBpbmRleCsrKSB7CglpZiAoX19leGVjdXRlZFtpbmRleF0gIT09IF9fZXhwZWN0ZWRbaW5kZXhdKSB7CgkJJEVSUk9SKCcjNDogX19leGVjdXRlZCA9IC9lcyQvbWcuZXhlYygicGFpcnNcXG5tYWtlc1xcdGRvdWJsXFx1MDA2NXMiKTsgX19leGVjdXRlZFsnICsgaW5kZXggKyAnXSA9PT0gJyArIF9fZXhwZWN0ZWRbaW5kZXhdICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZFtpbmRleF0pOwoJfQp9CgoK","commentary":"The production Assertion :: $ evaluates by returning an internal AssertionTester closure that takes a State argument x and performs the ...","description":"Execute /es$/mg.exec(\"pairs\\nmakes\\tdoubl\\u0065s\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.6/S15.10.2.6_A1_T5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBBc3NlcnRpb24gOjogXiBldmFsdWF0ZXMgYnkgcmV0dXJuaW5nIGFuIGludGVybmFsIEFzc2VydGlvblRlc3RlciBjbG9zdXJlIHRoYXQgdGFrZXMgYSBTdGF0ZSBhcmd1bWVudCB4IGFuZCBwZXJmb3JtcyB0aGUgLi4uCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuMi8xNS4xMC4yLjYvUzE1LjEwLjIuNl9BMl9UMS5qcwogKiBAZGVzY3JpcHRpb24gRXhlY3V0ZSAvXm0vLnRlc3QoInBhaXJzXG5tYWtlc1x0ZG91YmxlIikgYW5kIGNoZWNrIHJlc3VsdHMKICovCgpfX2V4ZWN1dGVkID0gL15tLy50ZXN0KCJwYWlyc1xubWFrZXNcdGRvdWJsZSIpOwoKLy9DSEVDSyMxCmlmIChfX2V4ZWN1dGVkKSB7CgkkRVJST1IoJyMxOiAvXm0vLnRlc3QoInBhaXJzXFxubWFrZXNcXHRkb3VibGUiKSA9PT0gZmFsc2UnKTsKfQoKCg==","commentary":"The production Assertion :: ^ evaluates by returning an internal AssertionTester closure that takes a State argument x and performs the ...","description":"Execute /^m/.test(\"pairs\\nmakes\\tdouble\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.6/S15.10.2.6_A2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBBc3NlcnRpb24gOjogXiBldmFsdWF0ZXMgYnkgcmV0dXJuaW5nIGFuIGludGVybmFsIEFzc2VydGlvblRlc3RlciBjbG9zdXJlIHRoYXQgdGFrZXMgYSBTdGF0ZSBhcmd1bWVudCB4IGFuZCBwZXJmb3JtcyB0aGUgLi4uCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuMi8xNS4xMC4yLjYvUzE1LjEwLjIuNl9BMl9UMTAuanMKICogQGRlc2NyaXB0aW9uIEV4ZWN1dGUgL15cZCsvbS5leGVjKCJhYmNcbjEyM3h5eiIpIGFuZCBjaGVjayByZXN1bHRzCiAqLwoKX19leGVjdXRlZCA9IC9eXGQrL20uZXhlYygiYWJjXG4xMjN4eXoiKTsKCl9fZXhwZWN0ZWQgPSBbIjEyMyJdOwpfX2V4cGVjdGVkLmluZGV4ID0gNDsKX19leHBlY3RlZC5pbnB1dCA9ICJhYmNcbjEyM3h5eiI7CgovL0NIRUNLIzEKaWYgKF9fZXhlY3V0ZWQubGVuZ3RoICE9PSBfX2V4cGVjdGVkLmxlbmd0aCkgewoJJEVSUk9SKCcjMTogX19leGVjdXRlZCA9IC9eXFxkKy9tLmV4ZWMoImFiY1xcbjEyM3h5eiIpOyBfX2V4ZWN1dGVkLmxlbmd0aCA9PT0gJyArIF9fZXhwZWN0ZWQubGVuZ3RoICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5sZW5ndGgpOwp9CgovL0NIRUNLIzIKaWYgKF9fZXhlY3V0ZWQuaW5kZXggIT09IF9fZXhwZWN0ZWQuaW5kZXgpIHsKCSRFUlJPUignIzI6IF9fZXhlY3V0ZWQgPSAvXlxcZCsvbS5leGVjKCJhYmNcXG4xMjN4eXoiKTsgX19leGVjdXRlZC5pbmRleCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5kZXggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmluZGV4KTsKfQoKLy9DSEVDSyMzCmlmIChfX2V4ZWN1dGVkLmlucHV0ICE9PSBfX2V4cGVjdGVkLmlucHV0KSB7CgkkRVJST1IoJyMzOiBfX2V4ZWN1dGVkID0gL15cXGQrL20uZXhlYygiYWJjXFxuMTIzeHl6Iik7IF9fZXhlY3V0ZWQuaW5wdXQgPT09ICcgKyBfX2V4cGVjdGVkLmlucHV0ICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5pbnB1dCk7Cn0KCi8vQ0hFQ0sjNApmb3IodmFyIGluZGV4PTA7IGluZGV4PF9fZXhwZWN0ZWQubGVuZ3RoOyBpbmRleCsrKSB7CglpZiAoX19leGVjdXRlZFtpbmRleF0gIT09IF9fZXhwZWN0ZWRbaW5kZXhdKSB7CgkJJEVSUk9SKCcjNDogX19leGVjdXRlZCA9IC9eXFxkKy9tLmV4ZWMoImFiY1xcbjEyM3h5eiIpOyBfX2V4ZWN1dGVkWycgKyBpbmRleCArICddID09PSAnICsgX19leHBlY3RlZFtpbmRleF0gKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkW2luZGV4XSk7Cgl9Cn0KCgo=","commentary":"The production Assertion :: ^ evaluates by returning an internal AssertionTester closure that takes a State argument x and performs the ...","description":"Execute /^\\d+/m.exec(\"abc\\n123xyz\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.6/S15.10.2.6_A2_T10.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBBc3NlcnRpb24gOjogXiBldmFsdWF0ZXMgYnkgcmV0dXJuaW5nIGFuIGludGVybmFsIEFzc2VydGlvblRlc3RlciBjbG9zdXJlIHRoYXQgdGFrZXMgYSBTdGF0ZSBhcmd1bWVudCB4IGFuZCBwZXJmb3JtcyB0aGUgLi4uCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuMi8xNS4xMC4yLjYvUzE1LjEwLjIuNl9BMl9UMi5qcwogKiBAZGVzY3JpcHRpb24gRXhlY3V0ZSAvXm0vbS5leGVjKCJwYWlyc1xubWFrZXNcdGRvdWJsZSIpIGFuZCBjaGVjayByZXN1bHRzCiAqLwoKX19leGVjdXRlZCA9IC9ebS9tLmV4ZWMoInBhaXJzXG5tYWtlc1x0ZG91YmxlIik7CgpfX2V4cGVjdGVkID0gWyJtIl07Cl9fZXhwZWN0ZWQuaW5kZXggPSA2OwpfX2V4cGVjdGVkLmlucHV0ID0gInBhaXJzXG5tYWtlc1x0ZG91YmxlIjsKCi8vQ0hFQ0sjMQppZiAoX19leGVjdXRlZC5sZW5ndGggIT09IF9fZXhwZWN0ZWQubGVuZ3RoKSB7CgkkRVJST1IoJyMxOiBfX2V4ZWN1dGVkID0gL15tL20uZXhlYygicGFpcnNcXG5tYWtlc1xcdGRvdWJsZSIpOyBfX2V4ZWN1dGVkLmxlbmd0aCA9PT0gJyArIF9fZXhwZWN0ZWQubGVuZ3RoICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5sZW5ndGgpOwp9CgovL0NIRUNLIzIKaWYgKF9fZXhlY3V0ZWQuaW5kZXggIT09IF9fZXhwZWN0ZWQuaW5kZXgpIHsKCSRFUlJPUignIzI6IF9fZXhlY3V0ZWQgPSAvXm0vbS5leGVjKCJwYWlyc1xcbm1ha2VzXFx0ZG91YmxlIik7IF9fZXhlY3V0ZWQuaW5kZXggPT09ICcgKyBfX2V4cGVjdGVkLmluZGV4ICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5pbmRleCk7Cn0KCi8vQ0hFQ0sjMwppZiAoX19leGVjdXRlZC5pbnB1dCAhPT0gX19leHBlY3RlZC5pbnB1dCkgewoJJEVSUk9SKCcjMzogX19leGVjdXRlZCA9IC9ebS9tLmV4ZWMoInBhaXJzXFxubWFrZXNcXHRkb3VibGUiKTsgX19leGVjdXRlZC5pbnB1dCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5wdXQgKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmlucHV0KTsKfQoKLy9DSEVDSyM0CmZvcih2YXIgaW5kZXg9MDsgaW5kZXg8X19leHBlY3RlZC5sZW5ndGg7IGluZGV4KyspIHsKCWlmIChfX2V4ZWN1dGVkW2luZGV4XSAhPT0gX19leHBlY3RlZFtpbmRleF0pIHsKCQkkRVJST1IoJyM0OiBfX2V4ZWN1dGVkID0gL15tL20uZXhlYygicGFpcnNcXG5tYWtlc1xcdGRvdWJsZSIpOyBfX2V4ZWN1dGVkWycgKyBpbmRleCArICddID09PSAnICsgX19leHBlY3RlZFtpbmRleF0gKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkW2luZGV4XSk7Cgl9Cn0KCgo=","commentary":"The production Assertion :: ^ evaluates by returning an internal AssertionTester closure that takes a State argument x and performs the ...","description":"Execute /^m/m.exec(\"pairs\\nmakes\\tdouble\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.6/S15.10.2.6_A2_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBBc3NlcnRpb24gOjogXiBldmFsdWF0ZXMgYnkgcmV0dXJuaW5nIGFuIGludGVybmFsIEFzc2VydGlvblRlc3RlciBjbG9zdXJlIHRoYXQgdGFrZXMgYSBTdGF0ZSBhcmd1bWVudCB4IGFuZCBwZXJmb3JtcyB0aGUgLi4uCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuMi8xNS4xMC4yLjYvUzE1LjEwLjIuNl9BMl9UMy5qcwogKiBAZGVzY3JpcHRpb24gRXhlY3V0ZSAvXnBbYS16XS8uZXhlYygicGFpcnNcbm1ha2VzXHRkb3VibGVcbnBlc29zIikgYW5kIGNoZWNrIHJlc3VsdHMKICovCgpfX2V4ZWN1dGVkID0gL15wW2Etel0vLmV4ZWMoInBhaXJzXG5tYWtlc1x0ZG91YmxlXG5wZXNvcyIpOwoKX19leHBlY3RlZCA9IFsicGEiXTsKX19leHBlY3RlZC5pbmRleCA9IDA7Cl9fZXhwZWN0ZWQuaW5wdXQgPSAicGFpcnNcbm1ha2VzXHRkb3VibGVcbnBlc29zIjsKCi8vQ0hFQ0sjMQppZiAoX19leGVjdXRlZC5sZW5ndGggIT09IF9fZXhwZWN0ZWQubGVuZ3RoKSB7CgkkRVJST1IoJyMxOiBfX2V4ZWN1dGVkID0gL15wW2Etel0vLmV4ZWMoInBhaXJzXFxubWFrZXNcXHRkb3VibGVcXG5wZXNvcyIpOyBfX2V4ZWN1dGVkLmxlbmd0aCA9PT0gJyArIF9fZXhwZWN0ZWQubGVuZ3RoICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5sZW5ndGgpOwp9CgovL0NIRUNLIzIKaWYgKF9fZXhlY3V0ZWQuaW5kZXggIT09IF9fZXhwZWN0ZWQuaW5kZXgpIHsKCSRFUlJPUignIzI6IF9fZXhlY3V0ZWQgPSAvXnBbYS16XS8uZXhlYygicGFpcnNcXG5tYWtlc1xcdGRvdWJsZVxcbnBlc29zIik7IF9fZXhlY3V0ZWQuaW5kZXggPT09ICcgKyBfX2V4cGVjdGVkLmluZGV4ICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5pbmRleCk7Cn0KCi8vQ0hFQ0sjMwppZiAoX19leGVjdXRlZC5pbnB1dCAhPT0gX19leHBlY3RlZC5pbnB1dCkgewoJJEVSUk9SKCcjMzogX19leGVjdXRlZCA9IC9ecFthLXpdLy5leGVjKCJwYWlyc1xcbm1ha2VzXFx0ZG91YmxlXFxucGVzb3MiKTsgX19leGVjdXRlZC5pbnB1dCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5wdXQgKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmlucHV0KTsKfQoKLy9DSEVDSyM0CmZvcih2YXIgaW5kZXg9MDsgaW5kZXg8X19leHBlY3RlZC5sZW5ndGg7IGluZGV4KyspIHsKCWlmIChfX2V4ZWN1dGVkW2luZGV4XSAhPT0gX19leHBlY3RlZFtpbmRleF0pIHsKCQkkRVJST1IoJyM0OiBfX2V4ZWN1dGVkID0gL15wW2Etel0vLmV4ZWMoInBhaXJzXFxubWFrZXNcXHRkb3VibGVcXG5wZXNvcyIpOyBfX2V4ZWN1dGVkWycgKyBpbmRleCArICddID09PSAnICsgX19leHBlY3RlZFtpbmRleF0gKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkW2luZGV4XSk7Cgl9Cn0KCgo=","commentary":"The production Assertion :: ^ evaluates by returning an internal AssertionTester closure that takes a State argument x and performs the ...","description":"Execute /^p[a-z]/.exec(\"pairs\\nmakes\\tdouble\\npesos\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.6/S15.10.2.6_A2_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBBc3NlcnRpb24gOjogXiBldmFsdWF0ZXMgYnkgcmV0dXJuaW5nIGFuIGludGVybmFsIEFzc2VydGlvblRlc3RlciBjbG9zdXJlIHRoYXQgdGFrZXMgYSBTdGF0ZSBhcmd1bWVudCB4IGFuZCBwZXJmb3JtcyB0aGUgLi4uCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuMi8xNS4xMC4yLjYvUzE1LjEwLjIuNl9BMl9UNC5qcwogKiBAZGVzY3JpcHRpb24gRXhlY3V0ZSAvXnBbYS16XS9tLmV4ZWMoInBhaXJzXG5tYWtlc1x0ZG91YmxlXG5wZXNvcyIpIGFuZCBjaGVjayByZXN1bHRzCiAqLwoKX19leGVjdXRlZCA9IC9ecFtiLXpdL20uZXhlYygicGFpcnNcbm1ha2VzXHRkb3VibGVcbnBlc29zIik7CgpfX2V4cGVjdGVkID0gWyJwZSJdOwpfX2V4cGVjdGVkLmluZGV4ID0gMTk7Cl9fZXhwZWN0ZWQuaW5wdXQgPSAicGFpcnNcbm1ha2VzXHRkb3VibGVcbnBlc29zIjsKCi8vQ0hFQ0sjMQppZiAoX19leGVjdXRlZC5sZW5ndGggIT09IF9fZXhwZWN0ZWQubGVuZ3RoKSB7CgkkRVJST1IoJyMxOiBfX2V4ZWN1dGVkID0gL15wW2Itel0vbS5leGVjKCJwYWlyc1xcbm1ha2VzXFx0ZG91YmxlXFxucGVzb3MiKTsgX19leGVjdXRlZC5sZW5ndGggPT09ICcgKyBfX2V4cGVjdGVkLmxlbmd0aCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQubGVuZ3RoKTsKfQoKLy9DSEVDSyMyCmlmIChfX2V4ZWN1dGVkLmluZGV4ICE9PSBfX2V4cGVjdGVkLmluZGV4KSB7CgkkRVJST1IoJyMyOiBfX2V4ZWN1dGVkID0gL15wW2Itel0vbS5leGVjKCJwYWlyc1xcbm1ha2VzXFx0ZG91YmxlXFxucGVzb3MiKTsgX19leGVjdXRlZC5pbmRleCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5kZXggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmluZGV4KTsKfQoKLy9DSEVDSyMzCmlmIChfX2V4ZWN1dGVkLmlucHV0ICE9PSBfX2V4cGVjdGVkLmlucHV0KSB7CgkkRVJST1IoJyMzOiBfX2V4ZWN1dGVkID0gL15wW2Itel0vbS5leGVjKCJwYWlyc1xcbm1ha2VzXFx0ZG91YmxlXFxucGVzb3MiKTsgX19leGVjdXRlZC5pbnB1dCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5wdXQgKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmlucHV0KTsKfQoKLy9DSEVDSyM0CmZvcih2YXIgaW5kZXg9MDsgaW5kZXg8X19leHBlY3RlZC5sZW5ndGg7IGluZGV4KyspIHsKCWlmIChfX2V4ZWN1dGVkW2luZGV4XSAhPT0gX19leHBlY3RlZFtpbmRleF0pIHsKCQkkRVJST1IoJyM0OiBfX2V4ZWN1dGVkID0gL15wW2Itel0vbS5leGVjKCJwYWlyc1xcbm1ha2VzXFx0ZG91YmxlXFxucGVzb3MiKTsgX19leGVjdXRlZFsnICsgaW5kZXggKyAnXSA9PT0gJyArIF9fZXhwZWN0ZWRbaW5kZXhdICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZFtpbmRleF0pOwoJfQp9CgoK","commentary":"The production Assertion :: ^ evaluates by returning an internal AssertionTester closure that takes a State argument x and performs the ...","description":"Execute /^p[a-z]/m.exec(\"pairs\\nmakes\\tdouble\\npesos\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.6/S15.10.2.6_A2_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBBc3NlcnRpb24gOjogXiBldmFsdWF0ZXMgYnkgcmV0dXJuaW5nIGFuIGludGVybmFsIEFzc2VydGlvblRlc3RlciBjbG9zdXJlIHRoYXQgdGFrZXMgYSBTdGF0ZSBhcmd1bWVudCB4IGFuZCBwZXJmb3JtcyB0aGUgLi4uCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuMi8xNS4xMC4yLjYvUzE1LjEwLjIuNl9BMl9UNS5qcwogKiBAZGVzY3JpcHRpb24gRXhlY3V0ZSAvXltecF0vbS5leGVjKCJwYWlyc1xubWFrZXNcdGRvdWJsZVxucGVzb3MiKSBhbmQgY2hlY2sgcmVzdWx0cwogKi8KCl9fZXhlY3V0ZWQgPSAvXltecF0vbS5leGVjKCJwYWlyc1xubWFrZXNcdGRvdWJsZVxucGVzb3MiKTsKCl9fZXhwZWN0ZWQgPSBbIm0iXTsKX19leHBlY3RlZC5pbmRleCA9IDY7Cl9fZXhwZWN0ZWQuaW5wdXQgPSAicGFpcnNcbm1ha2VzXHRkb3VibGVcbnBlc29zIjsKCi8vQ0hFQ0sjMQppZiAoX19leGVjdXRlZC5sZW5ndGggIT09IF9fZXhwZWN0ZWQubGVuZ3RoKSB7CgkkRVJST1IoJyMxOiBfX2V4ZWN1dGVkID0gL15bXnBdL20uZXhlYygicGFpcnNcXG5tYWtlc1xcdGRvdWJsZVxcbnBlc29zIik7IF9fZXhlY3V0ZWQubGVuZ3RoID09PSAnICsgX19leHBlY3RlZC5sZW5ndGggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmxlbmd0aCk7Cn0KCi8vQ0hFQ0sjMgppZiAoX19leGVjdXRlZC5pbmRleCAhPT0gX19leHBlY3RlZC5pbmRleCkgewoJJEVSUk9SKCcjMjogX19leGVjdXRlZCA9IC9eW15wXS9tLmV4ZWMoInBhaXJzXFxubWFrZXNcXHRkb3VibGVcXG5wZXNvcyIpOyBfX2V4ZWN1dGVkLmluZGV4ID09PSAnICsgX19leHBlY3RlZC5pbmRleCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5kZXgpOwp9CgovL0NIRUNLIzMKaWYgKF9fZXhlY3V0ZWQuaW5wdXQgIT09IF9fZXhwZWN0ZWQuaW5wdXQpIHsKCSRFUlJPUignIzM6IF9fZXhlY3V0ZWQgPSAvXltecF0vbS5leGVjKCJwYWlyc1xcbm1ha2VzXFx0ZG91YmxlXFxucGVzb3MiKTsgX19leGVjdXRlZC5pbnB1dCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5wdXQgKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmlucHV0KTsKfQoKLy9DSEVDSyM0CmZvcih2YXIgaW5kZXg9MDsgaW5kZXg8X19leHBlY3RlZC5sZW5ndGg7IGluZGV4KyspIHsKCWlmIChfX2V4ZWN1dGVkW2luZGV4XSAhPT0gX19leHBlY3RlZFtpbmRleF0pIHsKCQkkRVJST1IoJyM0OiBfX2V4ZWN1dGVkID0gL15bXnBdL20uZXhlYygicGFpcnNcXG5tYWtlc1xcdGRvdWJsZVxcbnBlc29zIik7IF9fZXhlY3V0ZWRbJyArIGluZGV4ICsgJ10gPT09ICcgKyBfX2V4cGVjdGVkW2luZGV4XSArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWRbaW5kZXhdKTsKCX0KfQoKCg==","commentary":"The production Assertion :: ^ evaluates by returning an internal AssertionTester closure that takes a State argument x and performs the ...","description":"Execute /^[^p]/m.exec(\"pairs\\nmakes\\tdouble\\npesos\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.6/S15.10.2.6_A2_T5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBBc3NlcnRpb24gOjogXiBldmFsdWF0ZXMgYnkgcmV0dXJuaW5nIGFuIGludGVybmFsIEFzc2VydGlvblRlc3RlciBjbG9zdXJlIHRoYXQgdGFrZXMgYSBTdGF0ZSBhcmd1bWVudCB4IGFuZCBwZXJmb3JtcyB0aGUgLi4uCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuMi8xNS4xMC4yLjYvUzE1LjEwLjIuNl9BMl9UNi5qcwogKiBAZGVzY3JpcHRpb24gRXhlY3V0ZSAvXmFiLy5leGVjKCJhYmNkZSIpIGFuZCBjaGVjayByZXN1bHRzCiAqLwoKX19leGVjdXRlZCA9IC9eYWIvLmV4ZWMoImFiY2RlIik7CgpfX2V4cGVjdGVkID0gWyJhYiJdOwpfX2V4cGVjdGVkLmluZGV4ID0gMDsKX19leHBlY3RlZC5pbnB1dCA9ICJhYmNkZSI7CgovL0NIRUNLIzEKaWYgKF9fZXhlY3V0ZWQubGVuZ3RoICE9PSBfX2V4cGVjdGVkLmxlbmd0aCkgewoJJEVSUk9SKCcjMTogX19leGVjdXRlZCA9IC9eYWIvLmV4ZWMoImFiY2RlIik7IF9fZXhlY3V0ZWQubGVuZ3RoID09PSAnICsgX19leHBlY3RlZC5sZW5ndGggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmxlbmd0aCk7Cn0KCi8vQ0hFQ0sjMgppZiAoX19leGVjdXRlZC5pbmRleCAhPT0gX19leHBlY3RlZC5pbmRleCkgewoJJEVSUk9SKCcjMjogX19leGVjdXRlZCA9IC9eYWIvLmV4ZWMoImFiY2RlIik7IF9fZXhlY3V0ZWQuaW5kZXggPT09ICcgKyBfX2V4cGVjdGVkLmluZGV4ICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5pbmRleCk7Cn0KCi8vQ0hFQ0sjMwppZiAoX19leGVjdXRlZC5pbnB1dCAhPT0gX19leHBlY3RlZC5pbnB1dCkgewoJJEVSUk9SKCcjMzogX19leGVjdXRlZCA9IC9eYWIvLmV4ZWMoImFiY2RlIik7IF9fZXhlY3V0ZWQuaW5wdXQgPT09ICcgKyBfX2V4cGVjdGVkLmlucHV0ICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5pbnB1dCk7Cn0KCi8vQ0hFQ0sjNApmb3IodmFyIGluZGV4PTA7IGluZGV4PF9fZXhwZWN0ZWQubGVuZ3RoOyBpbmRleCsrKSB7CglpZiAoX19leGVjdXRlZFtpbmRleF0gIT09IF9fZXhwZWN0ZWRbaW5kZXhdKSB7CgkJJEVSUk9SKCcjNDogX19leGVjdXRlZCA9IC9eYWIvLmV4ZWMoImFiY2RlIik7IF9fZXhlY3V0ZWRbJyArIGluZGV4ICsgJ10gPT09ICcgKyBfX2V4cGVjdGVkW2luZGV4XSArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWRbaW5kZXhdKTsKCX0KfQoKCg==","commentary":"The production Assertion :: ^ evaluates by returning an internal AssertionTester closure that takes a State argument x and performs the ...","description":"Execute /^ab/.exec(\"abcde\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.6/S15.10.2.6_A2_T6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBBc3NlcnRpb24gOjogXiBldmFsdWF0ZXMgYnkgcmV0dXJuaW5nIGFuIGludGVybmFsIEFzc2VydGlvblRlc3RlciBjbG9zdXJlIHRoYXQgdGFrZXMgYSBTdGF0ZSBhcmd1bWVudCB4IGFuZCBwZXJmb3JtcyB0aGUgLi4uCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuMi8xNS4xMC4yLjYvUzE1LjEwLjIuNl9BMl9UNy5qcwogKiBAZGVzY3JpcHRpb24gRXhlY3V0ZSAvXi4uXmUvLnRlc3QoImFiXG5jZGUiKSBhbmQgY2hlY2sgcmVzdWx0cwogKi8KCl9fZXhlY3V0ZWQgPSAvXi4uXmUvLnRlc3QoImFiXG5jZGUiKTsKCi8vQ0hFQ0sjMQppZiAoX19leGVjdXRlZCkgewoJJEVSUk9SKCcjMTogL14uLl5lLy50ZXN0KCJhYlxcbmNkZSIpID09PSBmYWxzZScpOwp9CgoK","commentary":"The production Assertion :: ^ evaluates by returning an internal AssertionTester closure that takes a State argument x and performs the ...","description":"Execute /^..^e/.test(\"ab\\ncde\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.6/S15.10.2.6_A2_T7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBBc3NlcnRpb24gOjogXiBldmFsdWF0ZXMgYnkgcmV0dXJuaW5nIGFuIGludGVybmFsIEFzc2VydGlvblRlc3RlciBjbG9zdXJlIHRoYXQgdGFrZXMgYSBTdGF0ZSBhcmd1bWVudCB4IGFuZCBwZXJmb3JtcyB0aGUgLi4uCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuMi8xNS4xMC4yLjYvUzE1LjEwLjIuNl9BMl9UOC5qcwogKiBAZGVzY3JpcHRpb24gRXhlY3V0ZSAvXnh4eC8udGVzdCgieXl5eXkiKSBhbmQgY2hlY2sgcmVzdWx0cwogKi8KCl9fZXhlY3V0ZWQgPSAvXnh4eC8udGVzdCgieXl5eXkiKTsKCi8vQ0hFQ0sjMQppZiAoX19leGVjdXRlZCkgewoJJEVSUk9SKCcjMTogL154eHgvLnRlc3QoInl5eXl5IikgPT09IGZhbHNlJyk7Cn0KCgo=","commentary":"The production Assertion :: ^ evaluates by returning an internal AssertionTester closure that takes a State argument x and performs the ...","description":"Execute /^xxx/.test(\"yyyyy\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.6/S15.10.2.6_A2_T8.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBBc3NlcnRpb24gOjogXiBldmFsdWF0ZXMgYnkgcmV0dXJuaW5nIGFuIGludGVybmFsIEFzc2VydGlvblRlc3RlciBjbG9zdXJlIHRoYXQgdGFrZXMgYSBTdGF0ZSBhcmd1bWVudCB4IGFuZCBwZXJmb3JtcyB0aGUgLi4uCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuMi8xNS4xMC4yLjYvUzE1LjEwLjIuNl9BMl9UOS5qcwogKiBAZGVzY3JpcHRpb24gRXhlY3V0ZSAvXlxeKy8uZXhlYygiXl5eeCIpIGFuZCBjaGVjayByZXN1bHRzCiAqLwoKX19leGVjdXRlZCA9IC9eXF4rLy5leGVjKCJeXl54Iik7CgpfX2V4cGVjdGVkID0gWyJeXl4iXTsKX19leHBlY3RlZC5pbmRleCA9IDA7Cl9fZXhwZWN0ZWQuaW5wdXQgPSAiXl5eeCI7CgovL0NIRUNLIzEKaWYgKF9fZXhlY3V0ZWQubGVuZ3RoICE9PSBfX2V4cGVjdGVkLmxlbmd0aCkgewoJJEVSUk9SKCcjMTogX19leGVjdXRlZCA9IC9eXFxeKy8uZXhlYygiXl5eeCIpOyBfX2V4ZWN1dGVkLmxlbmd0aCA9PT0gJyArIF9fZXhwZWN0ZWQubGVuZ3RoICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5sZW5ndGgpOwp9CgovL0NIRUNLIzIKaWYgKF9fZXhlY3V0ZWQuaW5kZXggIT09IF9fZXhwZWN0ZWQuaW5kZXgpIHsKCSRFUlJPUignIzI6IF9fZXhlY3V0ZWQgPSAvXlxcXisvLmV4ZWMoIl5eXngiKTsgX19leGVjdXRlZC5pbmRleCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5kZXggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmluZGV4KTsKfQoKLy9DSEVDSyMzCmlmIChfX2V4ZWN1dGVkLmlucHV0ICE9PSBfX2V4cGVjdGVkLmlucHV0KSB7CgkkRVJST1IoJyMzOiBfX2V4ZWN1dGVkID0gL15cXF4rLy5leGVjKCJeXl54Iik7IF9fZXhlY3V0ZWQuaW5wdXQgPT09ICcgKyBfX2V4cGVjdGVkLmlucHV0ICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5pbnB1dCk7Cn0KCi8vQ0hFQ0sjNApmb3IodmFyIGluZGV4PTA7IGluZGV4PF9fZXhwZWN0ZWQubGVuZ3RoOyBpbmRleCsrKSB7CglpZiAoX19leGVjdXRlZFtpbmRleF0gIT09IF9fZXhwZWN0ZWRbaW5kZXhdKSB7CgkJJEVSUk9SKCcjNDogX19leGVjdXRlZCA9IC9eXFxeKy8uZXhlYygiXl5eeCIpOyBfX2V4ZWN1dGVkWycgKyBpbmRleCArICddID09PSAnICsgX19leHBlY3RlZFtpbmRleF0gKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkW2luZGV4XSk7Cgl9Cn0KCgo=","commentary":"The production Assertion :: ^ evaluates by returning an internal AssertionTester closure that takes a State argument x and performs the ...","description":"Execute /^\\^+/.exec(\"^^^x\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.6/S15.10.2.6_A2_T9.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBBc3NlcnRpb24gOjogXGIgZXZhbHVhdGVzIGJ5IHJldHVybmluZyBhbiBpbnRlcm5hbCBBc3NlcnRpb25UZXN0ZXIgY2xvc3VyZSB0aGF0IHRha2VzIGEgU3RhdGUgYXJndW1lbnQgeCBhbmQgcGVyZm9ybXMgdGhlIC4uLgogKgogKiBAcGF0aCBjaDE1LzE1LjEwLzE1LjEwLjIvMTUuMTAuMi42L1MxNS4xMC4yLjZfQTNfVDEuanMKICogQGRlc2NyaXB0aW9uIEV4ZWN1dGUgL1xicC8uZXhlYygicGlsb3RcbnNvdmlldCByb2JvdFx0b3Blbm9mZmljZSIpIGFuZCBjaGVjayByZXN1bHRzCiAqLwoKX19leGVjdXRlZCA9IC9cYnAvLmV4ZWMoInBpbG90XG5zb3ZpZXQgcm9ib3RcdG9wZW5vZmZpY2UiKTsKCl9fZXhwZWN0ZWQgPSBbInAiXTsKX19leHBlY3RlZC5pbmRleCA9IDA7Cl9fZXhwZWN0ZWQuaW5wdXQgPSAicGlsb3RcbnNvdmlldCByb2JvdFx0b3Blbm9mZmljZSI7CgovL0NIRUNLIzEKaWYgKF9fZXhlY3V0ZWQubGVuZ3RoICE9PSBfX2V4cGVjdGVkLmxlbmd0aCkgewoJJEVSUk9SKCcjMTogX19leGVjdXRlZCA9IC9cXGJwLy5leGVjKCJwaWxvdFxcbnNvdmlldCByb2JvdFxcdG9wZW5vZmZpY2UiKTsgX19leGVjdXRlZC5sZW5ndGggPT09ICcgKyBfX2V4cGVjdGVkLmxlbmd0aCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQubGVuZ3RoKTsKfQoKLy9DSEVDSyMyCmlmIChfX2V4ZWN1dGVkLmluZGV4ICE9PSBfX2V4cGVjdGVkLmluZGV4KSB7CgkkRVJST1IoJyMyOiBfX2V4ZWN1dGVkID0gL1xcYnAvLmV4ZWMoInBpbG90XFxuc292aWV0IHJvYm90XFx0b3Blbm9mZmljZSIpOyBfX2V4ZWN1dGVkLmluZGV4ID09PSAnICsgX19leHBlY3RlZC5pbmRleCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5kZXgpOwp9CgovL0NIRUNLIzMKaWYgKF9fZXhlY3V0ZWQuaW5wdXQgIT09IF9fZXhwZWN0ZWQuaW5wdXQpIHsKCSRFUlJPUignIzM6IF9fZXhlY3V0ZWQgPSAvXFxicC8uZXhlYygicGlsb3RcXG5zb3ZpZXQgcm9ib3RcXHRvcGVub2ZmaWNlIik7IF9fZXhlY3V0ZWQuaW5wdXQgPT09ICcgKyBfX2V4cGVjdGVkLmlucHV0ICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5pbnB1dCk7Cn0KCi8vQ0hFQ0sjNApmb3IodmFyIGluZGV4PTA7IGluZGV4PF9fZXhwZWN0ZWQubGVuZ3RoOyBpbmRleCsrKSB7CglpZiAoX19leGVjdXRlZFtpbmRleF0gIT09IF9fZXhwZWN0ZWRbaW5kZXhdKSB7CgkJJEVSUk9SKCcjNDogX19leGVjdXRlZCA9IC9cXGJwLy5leGVjKCJwaWxvdFxcbnNvdmlldCByb2JvdFxcdG9wZW5vZmZpY2UiKTsgX19leGVjdXRlZFsnICsgaW5kZXggKyAnXSA9PT0gJyArIF9fZXhwZWN0ZWRbaW5kZXhdICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZFtpbmRleF0pOwoJfQp9CgoK","commentary":"The production Assertion :: \\b evaluates by returning an internal AssertionTester closure that takes a State argument x and performs the ...","description":"Execute /\\bp/.exec(\"pilot\\nsoviet robot\\topenoffice\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.6/S15.10.2.6_A3_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBBc3NlcnRpb24gOjogXGIgZXZhbHVhdGVzIGJ5IHJldHVybmluZyBhbiBpbnRlcm5hbCBBc3NlcnRpb25UZXN0ZXIgY2xvc3VyZSB0aGF0IHRha2VzIGEgU3RhdGUgYXJndW1lbnQgeCBhbmQgcGVyZm9ybXMgdGhlIC4uLgogKgogKiBAcGF0aCBjaDE1LzE1LjEwLzE1LjEwLjIvMTUuMTAuMi42L1MxNS4xMC4yLjZfQTNfVDEwLmpzCiAqIEBkZXNjcmlwdGlvbiBFeGVjdXRlIC9cYnJvYm90XGIvLmV4ZWMoInBpbG90XG5zb3ZpZXQgcm9ib3RcdG9wZW5vZmZpY2UiKSBhbmQgY2hlY2sgcmVzdWx0cwogKi8KCl9fZXhlY3V0ZWQgPSAvXGJyb2JvdFxiLy5leGVjKCJwaWxvdFxuc292aWV0IHJvYm90XHRvcGVub2ZmaWNlIik7CgpfX2V4cGVjdGVkID0gWyJyb2JvdCJdOwpfX2V4cGVjdGVkLmluZGV4ID0gMTM7Cl9fZXhwZWN0ZWQuaW5wdXQgPSAicGlsb3RcbnNvdmlldCByb2JvdFx0b3Blbm9mZmljZSI7CgovL0NIRUNLIzEKaWYgKF9fZXhlY3V0ZWQubGVuZ3RoICE9PSBfX2V4cGVjdGVkLmxlbmd0aCkgewoJJEVSUk9SKCcjMTogX19leGVjdXRlZCA9IC9cXGJyb2JvdFxcYi8uZXhlYygicGlsb3RcXG5zb3ZpZXQgcm9ib3RcXHRvcGVub2ZmaWNlIik7IF9fZXhlY3V0ZWQubGVuZ3RoID09PSAnICsgX19leHBlY3RlZC5sZW5ndGggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmxlbmd0aCk7Cn0KCi8vQ0hFQ0sjMgppZiAoX19leGVjdXRlZC5pbmRleCAhPT0gX19leHBlY3RlZC5pbmRleCkgewoJJEVSUk9SKCcjMjogX19leGVjdXRlZCA9IC9cXGJyb2JvdFxcYi8uZXhlYygicGlsb3RcXG5zb3ZpZXQgcm9ib3RcXHRvcGVub2ZmaWNlIik7IF9fZXhlY3V0ZWQuaW5kZXggPT09ICcgKyBfX2V4cGVjdGVkLmluZGV4ICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5pbmRleCk7Cn0KCi8vQ0hFQ0sjMwppZiAoX19leGVjdXRlZC5pbnB1dCAhPT0gX19leHBlY3RlZC5pbnB1dCkgewoJJEVSUk9SKCcjMzogX19leGVjdXRlZCA9IC9cXGJyb2JvdFxcYi8uZXhlYygicGlsb3RcXG5zb3ZpZXQgcm9ib3RcXHRvcGVub2ZmaWNlIik7IF9fZXhlY3V0ZWQuaW5wdXQgPT09ICcgKyBfX2V4cGVjdGVkLmlucHV0ICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5pbnB1dCk7Cn0KCi8vQ0hFQ0sjNApmb3IodmFyIGluZGV4PTA7IGluZGV4PF9fZXhwZWN0ZWQubGVuZ3RoOyBpbmRleCsrKSB7CglpZiAoX19leGVjdXRlZFtpbmRleF0gIT09IF9fZXhwZWN0ZWRbaW5kZXhdKSB7CgkJJEVSUk9SKCcjNDogX19leGVjdXRlZCA9IC9cXGJyb2JvdFxcYi8uZXhlYygicGlsb3RcXG5zb3ZpZXQgcm9ib3RcXHRvcGVub2ZmaWNlIik7IF9fZXhlY3V0ZWRbJyArIGluZGV4ICsgJ10gPT09ICcgKyBfX2V4cGVjdGVkW2luZGV4XSArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWRbaW5kZXhdKTsKCX0KfQoKCg==","commentary":"The production Assertion :: \\b evaluates by returning an internal AssertionTester closure that takes a State argument x and performs the ...","description":"Execute /\\brobot\\b/.exec(\"pilot\\nsoviet robot\\topenoffice\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.6/S15.10.2.6_A3_T10.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBBc3NlcnRpb24gOjogXGIgZXZhbHVhdGVzIGJ5IHJldHVybmluZyBhbiBpbnRlcm5hbCBBc3NlcnRpb25UZXN0ZXIgY2xvc3VyZSB0aGF0IHRha2VzIGEgU3RhdGUgYXJndW1lbnQgeCBhbmQgcGVyZm9ybXMgdGhlIC4uLgogKgogKiBAcGF0aCBjaDE1LzE1LjEwLzE1LjEwLjIvMTUuMTAuMi42L1MxNS4xMC4yLjZfQTNfVDExLmpzCiAqIEBkZXNjcmlwdGlvbiBFeGVjdXRlIC9cYlx3ezV9XGIvLmV4ZWMoInBpbG90XG5zb3ZpZXQgcm9ib3RcdG9wZW5vZmZpY2UiKSBhbmQgY2hlY2sgcmVzdWx0cwogKi8KCl9fZXhlY3V0ZWQgPSAvXGJcd3s1fVxiLy5leGVjKCJwaWxvdFxuc292aWV0IHJvYm90XHRvcGVub2ZmaWNlIik7CgpfX2V4cGVjdGVkID0gWyJwaWxvdCJdOwpfX2V4cGVjdGVkLmluZGV4ID0gMDsKX19leHBlY3RlZC5pbnB1dCA9ICJwaWxvdFxuc292aWV0IHJvYm90XHRvcGVub2ZmaWNlIjsKCi8vQ0hFQ0sjMQppZiAoX19leGVjdXRlZC5sZW5ndGggIT09IF9fZXhwZWN0ZWQubGVuZ3RoKSB7CgkkRVJST1IoJyMxOiBfX2V4ZWN1dGVkID0gL1xcYlxcd3s1fVxcYi8uZXhlYygicGlsb3RcXG5zb3ZpZXQgcm9ib3RcXHRvcGVub2ZmaWNlIik7IF9fZXhlY3V0ZWQubGVuZ3RoID09PSAnICsgX19leHBlY3RlZC5sZW5ndGggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmxlbmd0aCk7Cn0KCi8vQ0hFQ0sjMgppZiAoX19leGVjdXRlZC5pbmRleCAhPT0gX19leHBlY3RlZC5pbmRleCkgewoJJEVSUk9SKCcjMjogX19leGVjdXRlZCA9IC9cXGJcXHd7NX1cXGIvLmV4ZWMoInBpbG90XFxuc292aWV0IHJvYm90XFx0b3Blbm9mZmljZSIpOyBfX2V4ZWN1dGVkLmluZGV4ID09PSAnICsgX19leHBlY3RlZC5pbmRleCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5kZXgpOwp9CgovL0NIRUNLIzMKaWYgKF9fZXhlY3V0ZWQuaW5wdXQgIT09IF9fZXhwZWN0ZWQuaW5wdXQpIHsKCSRFUlJPUignIzM6IF9fZXhlY3V0ZWQgPSAvXFxiXFx3ezV9XFxiLy5leGVjKCJwaWxvdFxcbnNvdmlldCByb2JvdFxcdG9wZW5vZmZpY2UiKTsgX19leGVjdXRlZC5pbnB1dCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5wdXQgKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmlucHV0KTsKfQoKLy9DSEVDSyM0CmZvcih2YXIgaW5kZXg9MDsgaW5kZXg8X19leHBlY3RlZC5sZW5ndGg7IGluZGV4KyspIHsKCWlmIChfX2V4ZWN1dGVkW2luZGV4XSAhPT0gX19leHBlY3RlZFtpbmRleF0pIHsKCQkkRVJST1IoJyM0OiBfX2V4ZWN1dGVkID0gL1xcYlxcd3s1fVxcYi8uZXhlYygicGlsb3RcXG5zb3ZpZXQgcm9ib3RcXHRvcGVub2ZmaWNlIik7IF9fZXhlY3V0ZWRbJyArIGluZGV4ICsgJ10gPT09ICcgKyBfX2V4cGVjdGVkW2luZGV4XSArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWRbaW5kZXhdKTsKCX0KfQoKCg==","commentary":"The production Assertion :: \\b evaluates by returning an internal AssertionTester closure that takes a State argument x and performs the ...","description":"Execute /\\b\\w{5}\\b/.exec(\"pilot\\nsoviet robot\\topenoffice\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.6/S15.10.2.6_A3_T11.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBBc3NlcnRpb24gOjogXGIgZXZhbHVhdGVzIGJ5IHJldHVybmluZyBhbiBpbnRlcm5hbCBBc3NlcnRpb25UZXN0ZXIgY2xvc3VyZSB0aGF0IHRha2VzIGEgU3RhdGUgYXJndW1lbnQgeCBhbmQgcGVyZm9ybXMgdGhlIC4uLgogKgogKiBAcGF0aCBjaDE1LzE1LjEwLzE1LjEwLjIvMTUuMTAuMi42L1MxNS4xMC4yLjZfQTNfVDEyLmpzCiAqIEBkZXNjcmlwdGlvbiBFeGVjdXRlIC9cYm9wLy5leGVjKCJwaWxvdFxuc292aWV0IHJvYm90XHRvcGVub2ZmaWNlIikgYW5kIGNoZWNrIHJlc3VsdHMKICovCgpfX2V4ZWN1dGVkID0gL1xib3AvLmV4ZWMoInBpbG90XG5zb3ZpZXQgcm9ib3RcdG9wZW5vZmZpY2UiKTsKCl9fZXhwZWN0ZWQgPSBbIm9wIl07Cl9fZXhwZWN0ZWQuaW5kZXggPSAxOTsKX19leHBlY3RlZC5pbnB1dCA9ICJwaWxvdFxuc292aWV0IHJvYm90XHRvcGVub2ZmaWNlIjsKCi8vQ0hFQ0sjMQppZiAoX19leGVjdXRlZC5sZW5ndGggIT09IF9fZXhwZWN0ZWQubGVuZ3RoKSB7CgkkRVJST1IoJyMxOiBfX2V4ZWN1dGVkID0gL1xcYm9wLy5leGVjKCJwaWxvdFxcbnNvdmlldCByb2JvdFxcdG9wZW5vZmZpY2UiKTsgX19leGVjdXRlZC5sZW5ndGggPT09ICcgKyBfX2V4cGVjdGVkLmxlbmd0aCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQubGVuZ3RoKTsKfQoKLy9DSEVDSyMyCmlmIChfX2V4ZWN1dGVkLmluZGV4ICE9PSBfX2V4cGVjdGVkLmluZGV4KSB7CgkkRVJST1IoJyMyOiBfX2V4ZWN1dGVkID0gL1xcYm9wLy5leGVjKCJwaWxvdFxcbnNvdmlldCByb2JvdFxcdG9wZW5vZmZpY2UiKTsgX19leGVjdXRlZC5pbmRleCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5kZXggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmluZGV4KTsKfQoKLy9DSEVDSyMzCmlmIChfX2V4ZWN1dGVkLmlucHV0ICE9PSBfX2V4cGVjdGVkLmlucHV0KSB7CgkkRVJST1IoJyMzOiBfX2V4ZWN1dGVkID0gL1xcYm9wLy5leGVjKCJwaWxvdFxcbnNvdmlldCByb2JvdFxcdG9wZW5vZmZpY2UiKTsgX19leGVjdXRlZC5pbnB1dCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5wdXQgKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmlucHV0KTsKfQoKLy9DSEVDSyM0CmZvcih2YXIgaW5kZXg9MDsgaW5kZXg8X19leHBlY3RlZC5sZW5ndGg7IGluZGV4KyspIHsKCWlmIChfX2V4ZWN1dGVkW2luZGV4XSAhPT0gX19leHBlY3RlZFtpbmRleF0pIHsKCQkkRVJST1IoJyM0OiBfX2V4ZWN1dGVkID0gL1xcYm9wLy5leGVjKCJwaWxvdFxcbnNvdmlldCByb2JvdFxcdG9wZW5vZmZpY2UiKTsgX19leGVjdXRlZFsnICsgaW5kZXggKyAnXSA9PT0gJyArIF9fZXhwZWN0ZWRbaW5kZXhdICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZFtpbmRleF0pOwoJfQp9CgoK","commentary":"The production Assertion :: \\b evaluates by returning an internal AssertionTester closure that takes a State argument x and performs the ...","description":"Execute /\\bop/.exec(\"pilot\\nsoviet robot\\topenoffice\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.6/S15.10.2.6_A3_T12.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBBc3NlcnRpb24gOjogXGIgZXZhbHVhdGVzIGJ5IHJldHVybmluZyBhbiBpbnRlcm5hbCBBc3NlcnRpb25UZXN0ZXIgY2xvc3VyZSB0aGF0IHRha2VzIGEgU3RhdGUgYXJndW1lbnQgeCBhbmQgcGVyZm9ybXMgdGhlIC4uLgogKgogKiBAcGF0aCBjaDE1LzE1LjEwLzE1LjEwLjIvMTUuMTAuMi42L1MxNS4xMC4yLjZfQTNfVDEzLmpzCiAqIEBkZXNjcmlwdGlvbiBFeGVjdXRlIC9vcFxiLy50ZXN0KCJwaWxvdFxuc292aWV0IHJvYm90XHRvcGVub2ZmaWNlIikgYW5kIGNoZWNrIHJlc3VsdHMKICovCgpfX2V4ZWN1dGVkID0gL29wXGIvLnRlc3QoInBpbG90XG5zb3ZpZXQgcm9ib3RcdG9wZW5vZmZpY2UiKTsKCi8vQ0hFQ0sjMQppZiAoX19leGVjdXRlZCkgewoJJEVSUk9SKCcjMTogL29wXFxiLy50ZXN0KCJwaWxvdFxcbnNvdmlldCByb2JvdFxcdG9wZW5vZmZpY2UiKSA9PT0gZmFsc2UnKTsKfQoKCg==","commentary":"The production Assertion :: \\b evaluates by returning an internal AssertionTester closure that takes a State argument x and performs the ...","description":"Execute /op\\b/.test(\"pilot\\nsoviet robot\\topenoffice\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.6/S15.10.2.6_A3_T13.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBBc3NlcnRpb24gOjogXGIgZXZhbHVhdGVzIGJ5IHJldHVybmluZyBhbiBpbnRlcm5hbCBBc3NlcnRpb25UZXN0ZXIgY2xvc3VyZSB0aGF0IHRha2VzIGEgU3RhdGUgYXJndW1lbnQgeCBhbmQgcGVyZm9ybXMgdGhlIC4uLgogKgogKiBAcGF0aCBjaDE1LzE1LjEwLzE1LjEwLjIvMTUuMTAuMi42L1MxNS4xMC4yLjZfQTNfVDE0LmpzCiAqIEBkZXNjcmlwdGlvbiBFeGVjdXRlIC9lXGIvLmV4ZWMoInBpbG90XG5zb3ZpZXQgcm9ib3RcdG9wZW5vZmZpY1x1MDA2NSIpIGFuZCBjaGVjayByZXN1bHRzCiAqLwoKX19leGVjdXRlZCA9IC9lXGIvLmV4ZWMoInBpbG90XG5zb3ZpZXQgcm9ib3RcdG9wZW5vZmZpY1x1MDA2NSIpOwoKX19leHBlY3RlZCA9IFsiZSJdOwpfX2V4cGVjdGVkLmluZGV4ID0gMjg7Cl9fZXhwZWN0ZWQuaW5wdXQgPSAicGlsb3RcbnNvdmlldCByb2JvdFx0b3Blbm9mZmljZSI7CgovL0NIRUNLIzEKaWYgKF9fZXhlY3V0ZWQubGVuZ3RoICE9PSBfX2V4cGVjdGVkLmxlbmd0aCkgewoJJEVSUk9SKCcjMTogX19leGVjdXRlZCA9IC9lXFxiLy5leGVjKCJwaWxvdFxcbnNvdmlldCByb2JvdFxcdG9wZW5vZmZpY1xcdTAwNjUiKTsgX19leGVjdXRlZC5sZW5ndGggPT09ICcgKyBfX2V4cGVjdGVkLmxlbmd0aCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQubGVuZ3RoKTsKfQoKLy9DSEVDSyMyCmlmIChfX2V4ZWN1dGVkLmluZGV4ICE9PSBfX2V4cGVjdGVkLmluZGV4KSB7CgkkRVJST1IoJyMyOiBfX2V4ZWN1dGVkID0gL2VcXGIvLmV4ZWMoInBpbG90XFxuc292aWV0IHJvYm90XFx0b3Blbm9mZmljXFx1MDA2NSIpOyBfX2V4ZWN1dGVkLmluZGV4ID09PSAnICsgX19leHBlY3RlZC5pbmRleCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5kZXgpOwp9CgovL0NIRUNLIzMKaWYgKF9fZXhlY3V0ZWQuaW5wdXQgIT09IF9fZXhwZWN0ZWQuaW5wdXQpIHsKCSRFUlJPUignIzM6IF9fZXhlY3V0ZWQgPSAvZVxcYi8uZXhlYygicGlsb3RcXG5zb3ZpZXQgcm9ib3RcXHRvcGVub2ZmaWNcXHUwMDY1Iik7IF9fZXhlY3V0ZWQuaW5wdXQgPT09ICcgKyBfX2V4cGVjdGVkLmlucHV0ICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5pbnB1dCk7Cn0KCi8vQ0hFQ0sjNApmb3IodmFyIGluZGV4PTA7IGluZGV4PF9fZXhwZWN0ZWQubGVuZ3RoOyBpbmRleCsrKSB7CglpZiAoX19leGVjdXRlZFtpbmRleF0gIT09IF9fZXhwZWN0ZWRbaW5kZXhdKSB7CgkJJEVSUk9SKCcjNDogX19leGVjdXRlZCA9IC9lXFxiLy5leGVjKCJwaWxvdFxcbnNvdmlldCByb2JvdFxcdG9wZW5vZmZpY1xcdTAwNjUiKTsgX19leGVjdXRlZFsnICsgaW5kZXggKyAnXSA9PT0gJyArIF9fZXhwZWN0ZWRbaW5kZXhdICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZFtpbmRleF0pOwoJfQp9CgoK","commentary":"The production Assertion :: \\b evaluates by returning an internal AssertionTester closure that takes a State argument x and performs the ...","description":"Execute /e\\b/.exec(\"pilot\\nsoviet robot\\topenoffic\\u0065\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.6/S15.10.2.6_A3_T14.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBBc3NlcnRpb24gOjogXGIgZXZhbHVhdGVzIGJ5IHJldHVybmluZyBhbiBpbnRlcm5hbCBBc3NlcnRpb25UZXN0ZXIgY2xvc3VyZSB0aGF0IHRha2VzIGEgU3RhdGUgYXJndW1lbnQgeCBhbmQgcGVyZm9ybXMgdGhlIC4uLgogKgogKiBAcGF0aCBjaDE1LzE1LjEwLzE1LjEwLjIvMTUuMTAuMi42L1MxNS4xMC4yLjZfQTNfVDE1LmpzCiAqIEBkZXNjcmlwdGlvbiBFeGVjdXRlIC9cYmUvLnRlc3QoInBpbG90XG5zb3ZpZXQgcm9ib3RcdG9wZW5vZmZpY1x1MDA2NSIpIGFuZCBjaGVjayByZXN1bHRzCiAqLwoKX19leGVjdXRlZCA9IC9cYmUvLnRlc3QoInBpbG90XG5zb3ZpZXQgcm9ib3RcdG9wZW5vZmZpY1x1MDA2NSIpOwoKLy9DSEVDSyMxCmlmIChfX2V4ZWN1dGVkKSB7CgkkRVJST1IoJyMxOiAvXFxiZS8udGVzdCgicGlsb3RcXG5zb3ZpZXQgcm9ib3RcXHRvcGVub2ZmaWNcXHUwMDY1IikgPT09IGZhbHNlJyk7Cn0KCgo=","commentary":"The production Assertion :: \\b evaluates by returning an internal AssertionTester closure that takes a State argument x and performs the ...","description":"Execute /\\be/.test(\"pilot\\nsoviet robot\\topenoffic\\u0065\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.6/S15.10.2.6_A3_T15.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBBc3NlcnRpb24gOjogXGIgZXZhbHVhdGVzIGJ5IHJldHVybmluZyBhbiBpbnRlcm5hbCBBc3NlcnRpb25UZXN0ZXIgY2xvc3VyZSB0aGF0IHRha2VzIGEgU3RhdGUgYXJndW1lbnQgeCBhbmQgcGVyZm9ybXMgdGhlIC4uLgogKgogKiBAcGF0aCBjaDE1LzE1LjEwLzE1LjEwLjIvMTUuMTAuMi42L1MxNS4xMC4yLjZfQTNfVDIuanMKICogQGRlc2NyaXB0aW9uIEV4ZWN1dGUgL290XGIvLmV4ZWMoInBpbG90XG5zb3ZpZXQgcm9ib3RcdG9wZW5vZmZpY2UiKSBhbmQgY2hlY2sgcmVzdWx0cwogKi8KCl9fZXhlY3V0ZWQgPSAvb3RcYi8uZXhlYygicGlsb3RcbnNvdmlldCByb2JvdFx0b3Blbm9mZmljZSIpOwoKX19leHBlY3RlZCA9IFsib3QiXTsKX19leHBlY3RlZC5pbmRleCA9IDM7Cl9fZXhwZWN0ZWQuaW5wdXQgPSAicGlsb3RcbnNvdmlldCByb2JvdFx0b3Blbm9mZmljZSI7CgovL0NIRUNLIzEKaWYgKF9fZXhlY3V0ZWQubGVuZ3RoICE9PSBfX2V4cGVjdGVkLmxlbmd0aCkgewoJJEVSUk9SKCcjMTogX19leGVjdXRlZCA9IC9vdFxcYi8uZXhlYygicGlsb3RcXG5zb3ZpZXQgcm9ib3RcXHRvcGVub2ZmaWNlIik7IF9fZXhlY3V0ZWQubGVuZ3RoID09PSAnICsgX19leHBlY3RlZC5sZW5ndGggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmxlbmd0aCk7Cn0KCi8vQ0hFQ0sjMgppZiAoX19leGVjdXRlZC5pbmRleCAhPT0gX19leHBlY3RlZC5pbmRleCkgewoJJEVSUk9SKCcjMjogX19leGVjdXRlZCA9IC9vdFxcYi8uZXhlYygicGlsb3RcXG5zb3ZpZXQgcm9ib3RcXHRvcGVub2ZmaWNlIik7IF9fZXhlY3V0ZWQuaW5kZXggPT09ICcgKyBfX2V4cGVjdGVkLmluZGV4ICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5pbmRleCk7Cn0KCi8vQ0hFQ0sjMwppZiAoX19leGVjdXRlZC5pbnB1dCAhPT0gX19leHBlY3RlZC5pbnB1dCkgewoJJEVSUk9SKCcjMzogX19leGVjdXRlZCA9IC9vdFxcYi8uZXhlYygicGlsb3RcXG5zb3ZpZXQgcm9ib3RcXHRvcGVub2ZmaWNlIik7IF9fZXhlY3V0ZWQuaW5wdXQgPT09ICcgKyBfX2V4cGVjdGVkLmlucHV0ICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5pbnB1dCk7Cn0KCi8vQ0hFQ0sjNApmb3IodmFyIGluZGV4PTA7IGluZGV4PF9fZXhwZWN0ZWQubGVuZ3RoOyBpbmRleCsrKSB7CglpZiAoX19leGVjdXRlZFtpbmRleF0gIT09IF9fZXhwZWN0ZWRbaW5kZXhdKSB7CgkJJEVSUk9SKCcjNDogX19leGVjdXRlZCA9IC9vdFxcYi8uZXhlYygicGlsb3RcXG5zb3ZpZXQgcm9ib3RcXHRvcGVub2ZmaWNlIik7IF9fZXhlY3V0ZWRbJyArIGluZGV4ICsgJ10gPT09ICcgKyBfX2V4cGVjdGVkW2luZGV4XSArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWRbaW5kZXhdKTsKCX0KfQoKCg==","commentary":"The production Assertion :: \\b evaluates by returning an internal AssertionTester closure that takes a State argument x and performs the ...","description":"Execute /ot\\b/.exec(\"pilot\\nsoviet robot\\topenoffice\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.6/S15.10.2.6_A3_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBBc3NlcnRpb24gOjogXGIgZXZhbHVhdGVzIGJ5IHJldHVybmluZyBhbiBpbnRlcm5hbCBBc3NlcnRpb25UZXN0ZXIgY2xvc3VyZSB0aGF0IHRha2VzIGEgU3RhdGUgYXJndW1lbnQgeCBhbmQgcGVyZm9ybXMgdGhlIC4uLgogKgogKiBAcGF0aCBjaDE1LzE1LjEwLzE1LjEwLjIvMTUuMTAuMi42L1MxNS4xMC4yLjZfQTNfVDMuanMKICogQGRlc2NyaXB0aW9uIEV4ZWN1dGUgL1xib3QvLnRlc3QoInBpbG90XG5zb3ZpZXQgcm9ib3RcdG9wZW5vZmZpY2UiKSBhbmQgY2hlY2sgcmVzdWx0cwogKi8KCl9fZXhlY3V0ZWQgPSAvXGJvdC8udGVzdCgicGlsb3RcbnNvdmlldCByb2JvdFx0b3Blbm9mZmljZSIpOwoKLy9DSEVDSyMxCmlmIChfX2V4ZWN1dGVkKSB7CgkkRVJST1IoJyMxOiAvXFxib3QvLnRlc3QoInBpbG90XFxuc292aWV0IHJvYm90XFx0b3Blbm9mZmljZSIpID09PSBmYWxzZScpOwp9CgoK","commentary":"The production Assertion :: \\b evaluates by returning an internal AssertionTester closure that takes a State argument x and performs the ...","description":"Execute /\\bot/.test(\"pilot\\nsoviet robot\\topenoffice\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.6/S15.10.2.6_A3_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBBc3NlcnRpb24gOjogXGIgZXZhbHVhdGVzIGJ5IHJldHVybmluZyBhbiBpbnRlcm5hbCBBc3NlcnRpb25UZXN0ZXIgY2xvc3VyZSB0aGF0IHRha2VzIGEgU3RhdGUgYXJndW1lbnQgeCBhbmQgcGVyZm9ybXMgdGhlIC4uLgogKgogKiBAcGF0aCBjaDE1LzE1LjEwLzE1LjEwLjIvMTUuMTAuMi42L1MxNS4xMC4yLjZfQTNfVDQuanMKICogQGRlc2NyaXB0aW9uIEV4ZWN1dGUgL1xic28vLmV4ZWMoInBpbG90XG5zb3ZpZXQgcm9ib3RcdG9wZW5vZmZpY2UiKSBhbmQgY2hlY2sgcmVzdWx0cwogKi8KCl9fZXhlY3V0ZWQgPSAvXGJzby8uZXhlYygicGlsb3RcbnNvdmlldCByb2JvdFx0b3Blbm9mZmljZSIpOwoKX19leHBlY3RlZCA9IFsic28iXTsKX19leHBlY3RlZC5pbmRleCA9IDY7Cl9fZXhwZWN0ZWQuaW5wdXQgPSAicGlsb3RcbnNvdmlldCByb2JvdFx0b3Blbm9mZmljZSI7CgovL0NIRUNLIzEKaWYgKF9fZXhlY3V0ZWQubGVuZ3RoICE9PSBfX2V4cGVjdGVkLmxlbmd0aCkgewoJJEVSUk9SKCcjMTogX19leGVjdXRlZCA9IC9cXGJzby8uZXhlYygicGlsb3RcXG5zb3ZpZXQgcm9ib3RcXHRvcGVub2ZmaWNlIik7IF9fZXhlY3V0ZWQubGVuZ3RoID09PSAnICsgX19leHBlY3RlZC5sZW5ndGggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmxlbmd0aCk7Cn0KCi8vQ0hFQ0sjMgppZiAoX19leGVjdXRlZC5pbmRleCAhPT0gX19leHBlY3RlZC5pbmRleCkgewoJJEVSUk9SKCcjMjogX19leGVjdXRlZCA9IC9cXGJzby8uZXhlYygicGlsb3RcXG5zb3ZpZXQgcm9ib3RcXHRvcGVub2ZmaWNlIik7IF9fZXhlY3V0ZWQuaW5kZXggPT09ICcgKyBfX2V4cGVjdGVkLmluZGV4ICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5pbmRleCk7Cn0KCi8vQ0hFQ0sjMwppZiAoX19leGVjdXRlZC5pbnB1dCAhPT0gX19leHBlY3RlZC5pbnB1dCkgewoJJEVSUk9SKCcjMzogX19leGVjdXRlZCA9IC9cXGJzby8uZXhlYygicGlsb3RcXG5zb3ZpZXQgcm9ib3RcXHRvcGVub2ZmaWNlIik7IF9fZXhlY3V0ZWQuaW5wdXQgPT09ICcgKyBfX2V4cGVjdGVkLmlucHV0ICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5pbnB1dCk7Cn0KCi8vQ0hFQ0sjNApmb3IodmFyIGluZGV4PTA7IGluZGV4PF9fZXhwZWN0ZWQubGVuZ3RoOyBpbmRleCsrKSB7CglpZiAoX19leGVjdXRlZFtpbmRleF0gIT09IF9fZXhwZWN0ZWRbaW5kZXhdKSB7CgkJJEVSUk9SKCcjNDogX19leGVjdXRlZCA9IC9cXGJzby8uZXhlYygicGlsb3RcXG5zb3ZpZXQgcm9ib3RcXHRvcGVub2ZmaWNlIik7IF9fZXhlY3V0ZWRbJyArIGluZGV4ICsgJ10gPT09ICcgKyBfX2V4cGVjdGVkW2luZGV4XSArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWRbaW5kZXhdKTsKCX0KfQoKCg==","commentary":"The production Assertion :: \\b evaluates by returning an internal AssertionTester closure that takes a State argument x and performs the ...","description":"Execute /\\bso/.exec(\"pilot\\nsoviet robot\\topenoffice\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.6/S15.10.2.6_A3_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBBc3NlcnRpb24gOjogXGIgZXZhbHVhdGVzIGJ5IHJldHVybmluZyBhbiBpbnRlcm5hbCBBc3NlcnRpb25UZXN0ZXIgY2xvc3VyZSB0aGF0IHRha2VzIGEgU3RhdGUgYXJndW1lbnQgeCBhbmQgcGVyZm9ybXMgdGhlIC4uLgogKgogKiBAcGF0aCBjaDE1LzE1LjEwLzE1LjEwLjIvMTUuMTAuMi42L1MxNS4xMC4yLjZfQTNfVDUuanMKICogQGRlc2NyaXB0aW9uIEV4ZWN1dGUgL3NvXGIvLnRlc3QoInBpbG90XG5zb3ZpZXQgcm9ib3RcdG9wZW5vZmZpY2UiKSBhbmQgY2hlY2sgcmVzdWx0cwogKi8KCl9fZXhlY3V0ZWQgPSAvc29cYi8udGVzdCgicGlsb3RcbnNvdmlldCByb2JvdFx0b3Blbm9mZmljZSIpOwoKLy9DSEVDSyMxCmlmIChfX2V4ZWN1dGVkKSB7CgkkRVJST1IoJyMxOiAvc29cXGIvLnRlc3QoInBpbG90XFxuc292aWV0IHJvYm90XFx0b3Blbm9mZmljZSIpID09PSBmYWxzZScpOwp9CgoK","commentary":"The production Assertion :: \\b evaluates by returning an internal AssertionTester closure that takes a State argument x and performs the ...","description":"Execute /so\\b/.test(\"pilot\\nsoviet robot\\topenoffice\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.6/S15.10.2.6_A3_T5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBBc3NlcnRpb24gOjogXGIgZXZhbHVhdGVzIGJ5IHJldHVybmluZyBhbiBpbnRlcm5hbCBBc3NlcnRpb25UZXN0ZXIgY2xvc3VyZSB0aGF0IHRha2VzIGEgU3RhdGUgYXJndW1lbnQgeCBhbmQgcGVyZm9ybXMgdGhlIC4uLgogKgogKiBAcGF0aCBjaDE1LzE1LjEwLzE1LjEwLjIvMTUuMTAuMi42L1MxNS4xMC4yLjZfQTNfVDYuanMKICogQGRlc2NyaXB0aW9uIEV4ZWN1dGUgL1teb110XGIvLmV4ZWMoInBpbE90XG5zb3ZpZXQgcm9ib3RcdG9wZW5vZmZpY2UiKSBhbmQgY2hlY2sgcmVzdWx0cwogKi8KCl9fZXhlY3V0ZWQgPSAvW15vXXRcYi8uZXhlYygicGlsT3RcbnNvdmlldCByb2JvdFx0b3Blbm9mZmljZSIpOwoKX19leHBlY3RlZCA9IFsiT3QiXTsKX19leHBlY3RlZC5pbmRleCA9IDM7Cl9fZXhwZWN0ZWQuaW5wdXQgPSAicGlsT3RcbnNvdmlldCByb2JvdFx0b3Blbm9mZmljZSI7CgovL0NIRUNLIzEKaWYgKF9fZXhlY3V0ZWQubGVuZ3RoICE9PSBfX2V4cGVjdGVkLmxlbmd0aCkgewoJJEVSUk9SKCcjMTogX19leGVjdXRlZCA9IC9bXm9ddFxcYi8uZXhlYygicGlsT3RcXG5zb3ZpZXQgcm9ib3RcXHRvcGVub2ZmaWNlIik7IF9fZXhlY3V0ZWQubGVuZ3RoID09PSAnICsgX19leHBlY3RlZC5sZW5ndGggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmxlbmd0aCk7Cn0KCi8vQ0hFQ0sjMgppZiAoX19leGVjdXRlZC5pbmRleCAhPT0gX19leHBlY3RlZC5pbmRleCkgewoJJEVSUk9SKCcjMjogX19leGVjdXRlZCA9IC9bXm9ddFxcYi8uZXhlYygicGlsT3RcXG5zb3ZpZXQgcm9ib3RcXHRvcGVub2ZmaWNlIik7IF9fZXhlY3V0ZWQuaW5kZXggPT09ICcgKyBfX2V4cGVjdGVkLmluZGV4ICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5pbmRleCk7Cn0KCi8vQ0hFQ0sjMwppZiAoX19leGVjdXRlZC5pbnB1dCAhPT0gX19leHBlY3RlZC5pbnB1dCkgewoJJEVSUk9SKCcjMzogX19leGVjdXRlZCA9IC9bXm9ddFxcYi8uZXhlYygicGlsT3RcXG5zb3ZpZXQgcm9ib3RcXHRvcGVub2ZmaWNlIik7IF9fZXhlY3V0ZWQuaW5wdXQgPT09ICcgKyBfX2V4cGVjdGVkLmlucHV0ICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5pbnB1dCk7Cn0KCi8vQ0hFQ0sjNApmb3IodmFyIGluZGV4PTA7IGluZGV4PF9fZXhwZWN0ZWQubGVuZ3RoOyBpbmRleCsrKSB7CglpZiAoX19leGVjdXRlZFtpbmRleF0gIT09IF9fZXhwZWN0ZWRbaW5kZXhdKSB7CgkJJEVSUk9SKCcjNDogX19leGVjdXRlZCA9IC9bXm9ddFxcYi8uZXhlYygicGlsT3RcXG5zb3ZpZXQgcm9ib3RcXHRvcGVub2ZmaWNlIik7IF9fZXhlY3V0ZWRbJyArIGluZGV4ICsgJ10gPT09ICcgKyBfX2V4cGVjdGVkW2luZGV4XSArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWRbaW5kZXhdKTsKCX0KfQoKCg==","commentary":"The production Assertion :: \\b evaluates by returning an internal AssertionTester closure that takes a State argument x and performs the ...","description":"Execute /[^o]t\\b/.exec(\"pilOt\\nsoviet robot\\topenoffice\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.6/S15.10.2.6_A3_T6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBBc3NlcnRpb24gOjogXGIgZXZhbHVhdGVzIGJ5IHJldHVybmluZyBhbiBpbnRlcm5hbCBBc3NlcnRpb25UZXN0ZXIgY2xvc3VyZSB0aGF0IHRha2VzIGEgU3RhdGUgYXJndW1lbnQgeCBhbmQgcGVyZm9ybXMgdGhlIC4uLgogKgogKiBAcGF0aCBjaDE1LzE1LjEwLzE1LjEwLjIvMTUuMTAuMi42L1MxNS4xMC4yLjZfQTNfVDcuanMKICogQGRlc2NyaXB0aW9uIEV4ZWN1dGUgL1teb110XGIvaS5leGVjKCJwaWxPdFxuc292aWV0IHJvYm90XHRvcGVub2ZmaWNlIikgYW5kIGNoZWNrIHJlc3VsdHMKICovCgpfX2V4ZWN1dGVkID0gL1teb110XGIvaS5leGVjKCJwaWxPdFxuc292aWV0IHJvYm90XHRvcGVub2ZmaWNlIik7CgpfX2V4cGVjdGVkID0gWyJldCJdOwpfX2V4cGVjdGVkLmluZGV4ID0gMTA7Cl9fZXhwZWN0ZWQuaW5wdXQgPSAicGlsT3RcbnNvdmlldCByb2JvdFx0b3Blbm9mZmljZSI7CgovL0NIRUNLIzEKaWYgKF9fZXhlY3V0ZWQubGVuZ3RoICE9PSBfX2V4cGVjdGVkLmxlbmd0aCkgewoJJEVSUk9SKCcjMTogX19leGVjdXRlZCA9IC9bXm9ddFxcYi9pLmV4ZWMoInBpbE90XFxuc292aWV0IHJvYm90XFx0b3Blbm9mZmljZSIpOyBfX2V4ZWN1dGVkLmxlbmd0aCA9PT0gJyArIF9fZXhwZWN0ZWQubGVuZ3RoICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5sZW5ndGgpOwp9CgovL0NIRUNLIzIKaWYgKF9fZXhlY3V0ZWQuaW5kZXggIT09IF9fZXhwZWN0ZWQuaW5kZXgpIHsKCSRFUlJPUignIzI6IF9fZXhlY3V0ZWQgPSAvW15vXXRcXGIvaS5leGVjKCJwaWxPdFxcbnNvdmlldCByb2JvdFxcdG9wZW5vZmZpY2UiKTsgX19leGVjdXRlZC5pbmRleCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5kZXggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmluZGV4KTsKfQoKLy9DSEVDSyMzCmlmIChfX2V4ZWN1dGVkLmlucHV0ICE9PSBfX2V4cGVjdGVkLmlucHV0KSB7CgkkRVJST1IoJyMzOiBfX2V4ZWN1dGVkID0gL1teb110XFxiL2kuZXhlYygicGlsT3RcXG5zb3ZpZXQgcm9ib3RcXHRvcGVub2ZmaWNlIik7IF9fZXhlY3V0ZWQuaW5wdXQgPT09ICcgKyBfX2V4cGVjdGVkLmlucHV0ICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5pbnB1dCk7Cn0KCi8vQ0hFQ0sjNApmb3IodmFyIGluZGV4PTA7IGluZGV4PF9fZXhwZWN0ZWQubGVuZ3RoOyBpbmRleCsrKSB7CglpZiAoX19leGVjdXRlZFtpbmRleF0gIT09IF9fZXhwZWN0ZWRbaW5kZXhdKSB7CgkJJEVSUk9SKCcjNDogX19leGVjdXRlZCA9IC9bXm9ddFxcYi9pLmV4ZWMoInBpbE90XFxuc292aWV0IHJvYm90XFx0b3Blbm9mZmljZSIpOyBfX2V4ZWN1dGVkWycgKyBpbmRleCArICddID09PSAnICsgX19leHBlY3RlZFtpbmRleF0gKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkW2luZGV4XSk7Cgl9Cn0KCgo=","commentary":"The production Assertion :: \\b evaluates by returning an internal AssertionTester closure that takes a State argument x and performs the ...","description":"Execute /[^o]t\\b/i.exec(\"pilOt\\nsoviet robot\\topenoffice\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.6/S15.10.2.6_A3_T7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBBc3NlcnRpb24gOjogXGIgZXZhbHVhdGVzIGJ5IHJldHVybmluZyBhbiBpbnRlcm5hbCBBc3NlcnRpb25UZXN0ZXIgY2xvc3VyZSB0aGF0IHRha2VzIGEgU3RhdGUgYXJndW1lbnQgeCBhbmQgcGVyZm9ybXMgdGhlIC4uLgogKgogKiBAcGF0aCBjaDE1LzE1LjEwLzE1LjEwLjIvMTUuMTAuMi42L1MxNS4xMC4yLjZfQTNfVDguanMKICogQGRlc2NyaXB0aW9uIEV4ZWN1dGUgL1xicm8vLmV4ZWMoInBpbG90XG5zb3ZpZXQgcm9ib3RcdG9wZW5vZmZpY2UiKSBhbmQgY2hlY2sgcmVzdWx0cwogKi8KCl9fZXhlY3V0ZWQgPSAvXGJyby8uZXhlYygicGlsb3RcbnNvdmlldCByb2JvdFx0b3Blbm9mZmljZSIpOwoKX19leHBlY3RlZCA9IFsicm8iXTsKX19leHBlY3RlZC5pbmRleCA9IDEzOwpfX2V4cGVjdGVkLmlucHV0ID0gInBpbG90XG5zb3ZpZXQgcm9ib3RcdG9wZW5vZmZpY2UiOwoKLy9DSEVDSyMxCmlmIChfX2V4ZWN1dGVkLmxlbmd0aCAhPT0gX19leHBlY3RlZC5sZW5ndGgpIHsKCSRFUlJPUignIzE6IF9fZXhlY3V0ZWQgPSAvXFxicm8vLmV4ZWMoInBpbG90XFxuc292aWV0IHJvYm90XFx0b3Blbm9mZmljZSIpOyBfX2V4ZWN1dGVkLmxlbmd0aCA9PT0gJyArIF9fZXhwZWN0ZWQubGVuZ3RoICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5sZW5ndGgpOwp9CgovL0NIRUNLIzIKaWYgKF9fZXhlY3V0ZWQuaW5kZXggIT09IF9fZXhwZWN0ZWQuaW5kZXgpIHsKCSRFUlJPUignIzI6IF9fZXhlY3V0ZWQgPSAvXFxicm8vLmV4ZWMoInBpbG90XFxuc292aWV0IHJvYm90XFx0b3Blbm9mZmljZSIpOyBfX2V4ZWN1dGVkLmluZGV4ID09PSAnICsgX19leHBlY3RlZC5pbmRleCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5kZXgpOwp9CgovL0NIRUNLIzMKaWYgKF9fZXhlY3V0ZWQuaW5wdXQgIT09IF9fZXhwZWN0ZWQuaW5wdXQpIHsKCSRFUlJPUignIzM6IF9fZXhlY3V0ZWQgPSAvXFxicm8vLmV4ZWMoInBpbG90XFxuc292aWV0IHJvYm90XFx0b3Blbm9mZmljZSIpOyBfX2V4ZWN1dGVkLmlucHV0ID09PSAnICsgX19leHBlY3RlZC5pbnB1dCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5wdXQpOwp9CgovL0NIRUNLIzQKZm9yKHZhciBpbmRleD0wOyBpbmRleDxfX2V4cGVjdGVkLmxlbmd0aDsgaW5kZXgrKykgewoJaWYgKF9fZXhlY3V0ZWRbaW5kZXhdICE9PSBfX2V4cGVjdGVkW2luZGV4XSkgewoJCSRFUlJPUignIzQ6IF9fZXhlY3V0ZWQgPSAvXFxicm8vLmV4ZWMoInBpbG90XFxuc292aWV0IHJvYm90XFx0b3Blbm9mZmljZSIpOyBfX2V4ZWN1dGVkWycgKyBpbmRleCArICddID09PSAnICsgX19leHBlY3RlZFtpbmRleF0gKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkW2luZGV4XSk7Cgl9Cn0KCgo=","commentary":"The production Assertion :: \\b evaluates by returning an internal AssertionTester closure that takes a State argument x and performs the ...","description":"Execute /\\bro/.exec(\"pilot\\nsoviet robot\\topenoffice\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.6/S15.10.2.6_A3_T8.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBBc3NlcnRpb24gOjogXGIgZXZhbHVhdGVzIGJ5IHJldHVybmluZyBhbiBpbnRlcm5hbCBBc3NlcnRpb25UZXN0ZXIgY2xvc3VyZSB0aGF0IHRha2VzIGEgU3RhdGUgYXJndW1lbnQgeCBhbmQgcGVyZm9ybXMgdGhlIC4uLgogKgogKiBAcGF0aCBjaDE1LzE1LjEwLzE1LjEwLjIvMTUuMTAuMi42L1MxNS4xMC4yLjZfQTNfVDkuanMKICogQGRlc2NyaXB0aW9uIEV4ZWN1dGUgL3JcYi8uZXhlYygicGlsb3RcbnNvdmlldCByb2JvdFx0b3Blbm9mZmljZSIpIGFuZCBjaGVjayByZXN1bHRzCiAqLwoKX19leGVjdXRlZCA9IC9yXGIvLnRlc3QoInBpbG90XG5zb3ZpZXQgcm9ib3RcdG9wZW5vZmZpY2UiKTsKCi8vQ0hFQ0sjMQppZiAoX19leGVjdXRlZCkgewoJJEVSUk9SKCcjMTogL3JcXGIvLnRlc3QoInBpbG90XFxuc292aWV0IHJvYm90XFx0b3Blbm9mZmljZSIpID09PSBmYWxzZScpOwp9CgoK","commentary":"The production Assertion :: \\b evaluates by returning an internal AssertionTester closure that takes a State argument x and performs the ...","description":"Execute /r\\b/.exec(\"pilot\\nsoviet robot\\topenoffice\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.6/S15.10.2.6_A3_T9.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBBc3NlcnRpb24gOjogXEIgZXZhbHVhdGVzIGJ5IHJldHVybmluZyBhbiBpbnRlcm5hbCBBc3NlcnRpb25UZXN0ZXIgY2xvc3VyZSB0aGF0IHRha2VzIGEgU3RhdGUgYXJndW1lbnQgeCBhbmQgcGVyZm9ybXMgdGhlIC4uLgogKgogKiBAcGF0aCBjaDE1LzE1LjEwLzE1LjEwLjIvMTUuMTAuMi42L1MxNS4xMC4yLjZfQTRfVDEuanMKICogQGRlc2NyaXB0aW9uIEV4ZWN1dGUgL1xCZXZpbFxCLy5leGVjKCJkZXZpbHMgYXJpc2VcdGZvclxuZXZpbCIpIGFuZCBjaGVjayByZXN1bHRzCiAqLwoKX19leGVjdXRlZCA9IC9cQmV2aWxcQi8uZXhlYygiZGV2aWxzIGFyaXNlXHRmb3JcbmV2aWwiKTsKCl9fZXhwZWN0ZWQgPSBbImV2aWwiXTsKX19leHBlY3RlZC5pbmRleCA9IDE7Cl9fZXhwZWN0ZWQuaW5wdXQgPSAiZGV2aWxzIGFyaXNlXHRmb3JcbmV2aWwiOwoKLy9DSEVDSyMxCmlmIChfX2V4ZWN1dGVkLmxlbmd0aCAhPT0gX19leHBlY3RlZC5sZW5ndGgpIHsKCSRFUlJPUignIzE6IF9fZXhlY3V0ZWQgPSAvXFxCZXZpbFxcQi8uZXhlYygiZGV2aWxzIGFyaXNlXFx0Zm9yXFxuZXZpbCIpOyBfX2V4ZWN1dGVkLmxlbmd0aCA9PT0gJyArIF9fZXhwZWN0ZWQubGVuZ3RoICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5sZW5ndGgpOwp9CgovL0NIRUNLIzIKaWYgKF9fZXhlY3V0ZWQuaW5kZXggIT09IF9fZXhwZWN0ZWQuaW5kZXgpIHsKCSRFUlJPUignIzI6IF9fZXhlY3V0ZWQgPSAvXFxCZXZpbFxcQi8uZXhlYygiZGV2aWxzIGFyaXNlXFx0Zm9yXFxuZXZpbCIpOyBfX2V4ZWN1dGVkLmluZGV4ID09PSAnICsgX19leHBlY3RlZC5pbmRleCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5kZXgpOwp9CgovL0NIRUNLIzMKaWYgKF9fZXhlY3V0ZWQuaW5wdXQgIT09IF9fZXhwZWN0ZWQuaW5wdXQpIHsKCSRFUlJPUignIzM6IF9fZXhlY3V0ZWQgPSAvXFxCZXZpbFxcQi8uZXhlYygiZGV2aWxzIGFyaXNlXFx0Zm9yXFxuZXZpbCIpOyBfX2V4ZWN1dGVkLmlucHV0ID09PSAnICsgX19leHBlY3RlZC5pbnB1dCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5wdXQpOwp9CgovL0NIRUNLIzQKZm9yKHZhciBpbmRleD0wOyBpbmRleDxfX2V4cGVjdGVkLmxlbmd0aDsgaW5kZXgrKykgewoJaWYgKF9fZXhlY3V0ZWRbaW5kZXhdICE9PSBfX2V4cGVjdGVkW2luZGV4XSkgewoJCSRFUlJPUignIzQ6IF9fZXhlY3V0ZWQgPSAvXFxCZXZpbFxcQi8uZXhlYygiZGV2aWxzIGFyaXNlXFx0Zm9yXFxuZXZpbCIpOyBfX2V4ZWN1dGVkWycgKyBpbmRleCArICddID09PSAnICsgX19leHBlY3RlZFtpbmRleF0gKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkW2luZGV4XSk7Cgl9Cn0KCgo=","commentary":"The production Assertion :: \\B evaluates by returning an internal AssertionTester closure that takes a State argument x and performs the ...","description":"Execute /\\Bevil\\B/.exec(\"devils arise\\tfor\\nevil\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.6/S15.10.2.6_A4_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBBc3NlcnRpb24gOjogXEIgZXZhbHVhdGVzIGJ5IHJldHVybmluZyBhbiBpbnRlcm5hbCBBc3NlcnRpb25UZXN0ZXIgY2xvc3VyZSB0aGF0IHRha2VzIGEgU3RhdGUgYXJndW1lbnQgeCBhbmQgcGVyZm9ybXMgdGhlIC4uLgogKgogKiBAcGF0aCBjaDE1LzE1LjEwLzE1LjEwLjIvMTUuMTAuMi42L1MxNS4xMC4yLjZfQTRfVDIuanMKICogQGRlc2NyaXB0aW9uIEV4ZWN1dGUgL1tmLXpdZVxCLy5leGVjKCJkZXZpbHMgYXJpc2VcdGZvclxuZXZpbCIpIGFuZCBjaGVjayByZXN1bHRzCiAqLwoKX19leGVjdXRlZCA9IC9bZi16XWVcQi8uZXhlYygiZGV2aWxzIGFyaXNlXHRmb3JcbnJldmlsIik7CgpfX2V4cGVjdGVkID0gWyJyZSJdOwpfX2V4cGVjdGVkLmluZGV4ID0gMTc7Cl9fZXhwZWN0ZWQuaW5wdXQgPSAiZGV2aWxzIGFyaXNlXHRmb3JcbnJldmlsIjsKCi8vQ0hFQ0sjMQppZiAoX19leGVjdXRlZC5sZW5ndGggIT09IF9fZXhwZWN0ZWQubGVuZ3RoKSB7CgkkRVJST1IoJyMxOiBfX2V4ZWN1dGVkID0gL1tmLXpdZVxcQi8uZXhlYygiZGV2aWxzIGFyaXNlXFx0Zm9yXFxucmV2aWwiKTsgX19leGVjdXRlZC5sZW5ndGggPT09ICcgKyBfX2V4cGVjdGVkLmxlbmd0aCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQubGVuZ3RoKTsKfQoKLy9DSEVDSyMyCmlmIChfX2V4ZWN1dGVkLmluZGV4ICE9PSBfX2V4cGVjdGVkLmluZGV4KSB7CgkkRVJST1IoJyMyOiBfX2V4ZWN1dGVkID0gL1tmLXpdZVxcQi8uZXhlYygiZGV2aWxzIGFyaXNlXFx0Zm9yXFxucmV2aWwiKTsgX19leGVjdXRlZC5pbmRleCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5kZXggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmluZGV4KTsKfQoKLy9DSEVDSyMzCmlmIChfX2V4ZWN1dGVkLmlucHV0ICE9PSBfX2V4cGVjdGVkLmlucHV0KSB7CgkkRVJST1IoJyMzOiBfX2V4ZWN1dGVkID0gL1tmLXpdZVxcQi8uZXhlYygiZGV2aWxzIGFyaXNlXFx0Zm9yXFxucmV2aWwiKTsgX19leGVjdXRlZC5pbnB1dCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5wdXQgKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmlucHV0KTsKfQoKLy9DSEVDSyM0CmZvcih2YXIgaW5kZXg9MDsgaW5kZXg8X19leHBlY3RlZC5sZW5ndGg7IGluZGV4KyspIHsKCWlmIChfX2V4ZWN1dGVkW2luZGV4XSAhPT0gX19leHBlY3RlZFtpbmRleF0pIHsKCQkkRVJST1IoJyM0OiBfX2V4ZWN1dGVkID0gL1tmLXpdZVxcQi8uZXhlYygiZGV2aWxzIGFyaXNlXFx0Zm9yXFxucmV2aWwiKTsgX19leGVjdXRlZFsnICsgaW5kZXggKyAnXSA9PT0gJyArIF9fZXhwZWN0ZWRbaW5kZXhdICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZFtpbmRleF0pOwoJfQp9CgoK","commentary":"The production Assertion :: \\B evaluates by returning an internal AssertionTester closure that takes a State argument x and performs the ...","description":"Execute /[f-z]e\\B/.exec(\"devils arise\\tfor\\nevil\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.6/S15.10.2.6_A4_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBBc3NlcnRpb24gOjogXEIgZXZhbHVhdGVzIGJ5IHJldHVybmluZyBhbiBpbnRlcm5hbCBBc3NlcnRpb25UZXN0ZXIgY2xvc3VyZSB0aGF0IHRha2VzIGEgU3RhdGUgYXJndW1lbnQgeCBhbmQgcGVyZm9ybXMgdGhlIC4uLgogKgogKiBAcGF0aCBjaDE1LzE1LjEwLzE1LjEwLjIvMTUuMTAuMi42L1MxNS4xMC4yLjZfQTRfVDMuanMKICogQGRlc2NyaXB0aW9uIEV4ZWN1dGUgL1xCb1xCLy5leGVjKCJkZXZpbHMgYXJpc2VcdGZvclxuZXZpbCIpIGFuZCBjaGVjayByZXN1bHRzCiAqLwoKX19leGVjdXRlZCA9IC9cQm9cQi9pLmV4ZWMoImRldmlscyBhcmlzZVx0Zk9yXG5yZXZpbCIpOwoKX19leHBlY3RlZCA9IFsiTyJdOwpfX2V4cGVjdGVkLmluZGV4ID0gMTQ7Cl9fZXhwZWN0ZWQuaW5wdXQgPSAiZGV2aWxzIGFyaXNlXHRmT3JcbnJldmlsIjsKCi8vQ0hFQ0sjMQppZiAoX19leGVjdXRlZC5sZW5ndGggIT09IF9fZXhwZWN0ZWQubGVuZ3RoKSB7CgkkRVJST1IoJyMxOiBfX2V4ZWN1dGVkID0gL1xcQm9cXEIvaS5leGVjKCJkZXZpbHMgYXJpc2VcXHRmT3JcXG5yZXZpbCIpOyBfX2V4ZWN1dGVkLmxlbmd0aCA9PT0gJyArIF9fZXhwZWN0ZWQubGVuZ3RoICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5sZW5ndGgpOwp9CgovL0NIRUNLIzIKaWYgKF9fZXhlY3V0ZWQuaW5kZXggIT09IF9fZXhwZWN0ZWQuaW5kZXgpIHsKCSRFUlJPUignIzI6IF9fZXhlY3V0ZWQgPSAvXFxCb1xcQi9pLmV4ZWMoImRldmlscyBhcmlzZVxcdGZPclxcbnJldmlsIik7IF9fZXhlY3V0ZWQuaW5kZXggPT09ICcgKyBfX2V4cGVjdGVkLmluZGV4ICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5pbmRleCk7Cn0KCi8vQ0hFQ0sjMwppZiAoX19leGVjdXRlZC5pbnB1dCAhPT0gX19leHBlY3RlZC5pbnB1dCkgewoJJEVSUk9SKCcjMzogX19leGVjdXRlZCA9IC9cXEJvXFxCL2kuZXhlYygiZGV2aWxzIGFyaXNlXFx0Zk9yXFxucmV2aWwiKTsgX19leGVjdXRlZC5pbnB1dCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5wdXQgKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmlucHV0KTsKfQoKLy9DSEVDSyM0CmZvcih2YXIgaW5kZXg9MDsgaW5kZXg8X19leHBlY3RlZC5sZW5ndGg7IGluZGV4KyspIHsKCWlmIChfX2V4ZWN1dGVkW2luZGV4XSAhPT0gX19leHBlY3RlZFtpbmRleF0pIHsKCQkkRVJST1IoJyM0OiBfX2V4ZWN1dGVkID0gL1xcQm9cXEIvaS5leGVjKCJkZXZpbHMgYXJpc2VcXHRmT3JcXG5yZXZpbCIpOyBfX2V4ZWN1dGVkWycgKyBpbmRleCArICddID09PSAnICsgX19leHBlY3RlZFtpbmRleF0gKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkW2luZGV4XSk7Cgl9Cn0KCgo=","commentary":"The production Assertion :: \\B evaluates by returning an internal AssertionTester closure that takes a State argument x and performs the ...","description":"Execute /\\Bo\\B/.exec(\"devils arise\\tfor\\nevil\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.6/S15.10.2.6_A4_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBBc3NlcnRpb24gOjogXEIgZXZhbHVhdGVzIGJ5IHJldHVybmluZyBhbiBpbnRlcm5hbCBBc3NlcnRpb25UZXN0ZXIgY2xvc3VyZSB0aGF0IHRha2VzIGEgU3RhdGUgYXJndW1lbnQgeCBhbmQgcGVyZm9ybXMgdGhlIC4uLgogKgogKiBAcGF0aCBjaDE1LzE1LjEwLzE1LjEwLjIvMTUuMTAuMi42L1MxNS4xMC4yLjZfQTRfVDQuanMKICogQGRlc2NyaXB0aW9uIEV4ZWN1dGUgL1xCXHdcQi8uZXhlYygiZGV2aWxzIGFyaXNlXHRmb3JcbmV2aWwiKSBhbmQgY2hlY2sgcmVzdWx0cwogKi8KCl9fZXhlY3V0ZWQgPSAvXEJcd1xCLy5leGVjKCJkZXZpbHMgYXJpc2VcdGZvclxucmV2aWwiKTsKCl9fZXhwZWN0ZWQgPSBbImUiXTsKX19leHBlY3RlZC5pbmRleCA9IDE7Cl9fZXhwZWN0ZWQuaW5wdXQgPSAiZGV2aWxzIGFyaXNlXHRmb3JcbnJldmlsIjsKCi8vQ0hFQ0sjMQppZiAoX19leGVjdXRlZC5sZW5ndGggIT09IF9fZXhwZWN0ZWQubGVuZ3RoKSB7CgkkRVJST1IoJyMxOiBfX2V4ZWN1dGVkID0gL1xcQlxcd1xcQi8uZXhlYygiZGV2aWxzIGFyaXNlXFx0Zm9yXFxucmV2aWwiKTsgX19leGVjdXRlZC5sZW5ndGggPT09ICcgKyBfX2V4cGVjdGVkLmxlbmd0aCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQubGVuZ3RoKTsKfQoKLy9DSEVDSyMyCmlmIChfX2V4ZWN1dGVkLmluZGV4ICE9PSBfX2V4cGVjdGVkLmluZGV4KSB7CgkkRVJST1IoJyMyOiBfX2V4ZWN1dGVkID0gL1xcQlxcd1xcQi8uZXhlYygiZGV2aWxzIGFyaXNlXFx0Zm9yXFxucmV2aWwiKTsgX19leGVjdXRlZC5pbmRleCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5kZXggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmluZGV4KTsKfQoKLy9DSEVDSyMzCmlmIChfX2V4ZWN1dGVkLmlucHV0ICE9PSBfX2V4cGVjdGVkLmlucHV0KSB7CgkkRVJST1IoJyMzOiBfX2V4ZWN1dGVkID0gL1xcQlxcd1xcQi8uZXhlYygiZGV2aWxzIGFyaXNlXFx0Zm9yXFxucmV2aWwiKTsgX19leGVjdXRlZC5pbnB1dCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5wdXQgKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmlucHV0KTsKfQoKLy9DSEVDSyM0CmZvcih2YXIgaW5kZXg9MDsgaW5kZXg8X19leHBlY3RlZC5sZW5ndGg7IGluZGV4KyspIHsKCWlmIChfX2V4ZWN1dGVkW2luZGV4XSAhPT0gX19leHBlY3RlZFtpbmRleF0pIHsKCQkkRVJST1IoJyM0OiBfX2V4ZWN1dGVkID0gL1xcQlxcd1xcQi8uZXhlYygiZGV2aWxzIGFyaXNlXFx0Zm9yXFxucmV2aWwiKTsgX19leGVjdXRlZFsnICsgaW5kZXggKyAnXSA9PT0gJyArIF9fZXhwZWN0ZWRbaW5kZXhdICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZFtpbmRleF0pOwoJfQp9CgoK","commentary":"The production Assertion :: \\B evaluates by returning an internal AssertionTester closure that takes a State argument x and performs the ...","description":"Execute /\\B\\w\\B/.exec(\"devils arise\\tfor\\nevil\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.6/S15.10.2.6_A4_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBBc3NlcnRpb24gOjogXEIgZXZhbHVhdGVzIGJ5IHJldHVybmluZyBhbiBpbnRlcm5hbCBBc3NlcnRpb25UZXN0ZXIgY2xvc3VyZSB0aGF0IHRha2VzIGEgU3RhdGUgYXJndW1lbnQgeCBhbmQgcGVyZm9ybXMgdGhlIC4uLgogKgogKiBAcGF0aCBjaDE1LzE1LjEwLzE1LjEwLjIvMTUuMTAuMi42L1MxNS4xMC4yLjZfQTRfVDUuanMKICogQGRlc2NyaXB0aW9uIEV4ZWN1dGUgL1x3XEIvLmV4ZWMoImRldmlscyBhcmlzZVx0Zm9yXG5ldmlsIikgYW5kIGNoZWNrIHJlc3VsdHMKICovCgpfX2V4ZWN1dGVkID0gL1x3XEIvLmV4ZWMoImRldmlscyBhcmlzZVx0Zm9yXG5yZXZpbCIpOwoKX19leHBlY3RlZCA9IFsiZCJdOwpfX2V4cGVjdGVkLmluZGV4ID0gMDsKX19leHBlY3RlZC5pbnB1dCA9ICJkZXZpbHMgYXJpc2VcdGZvclxucmV2aWwiOwoKLy9DSEVDSyMxCmlmIChfX2V4ZWN1dGVkLmxlbmd0aCAhPT0gX19leHBlY3RlZC5sZW5ndGgpIHsKCSRFUlJPUignIzE6IF9fZXhlY3V0ZWQgPSAvXFx3XFxCLy5leGVjKCJkZXZpbHMgYXJpc2VcXHRmb3JcXG5yZXZpbCIpOyBfX2V4ZWN1dGVkLmxlbmd0aCA9PT0gJyArIF9fZXhwZWN0ZWQubGVuZ3RoICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5sZW5ndGgpOwp9CgovL0NIRUNLIzIKaWYgKF9fZXhlY3V0ZWQuaW5kZXggIT09IF9fZXhwZWN0ZWQuaW5kZXgpIHsKCSRFUlJPUignIzI6IF9fZXhlY3V0ZWQgPSAvXFx3XFxCLy5leGVjKCJkZXZpbHMgYXJpc2VcXHRmb3JcXG5yZXZpbCIpOyBfX2V4ZWN1dGVkLmluZGV4ID09PSAnICsgX19leHBlY3RlZC5pbmRleCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5kZXgpOwp9CgovL0NIRUNLIzMKaWYgKF9fZXhlY3V0ZWQuaW5wdXQgIT09IF9fZXhwZWN0ZWQuaW5wdXQpIHsKCSRFUlJPUignIzM6IF9fZXhlY3V0ZWQgPSAvXFx3XFxCLy5leGVjKCJkZXZpbHMgYXJpc2VcXHRmb3JcXG5yZXZpbCIpOyBfX2V4ZWN1dGVkLmlucHV0ID09PSAnICsgX19leHBlY3RlZC5pbnB1dCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5wdXQpOwp9CgovL0NIRUNLIzQKZm9yKHZhciBpbmRleD0wOyBpbmRleDxfX2V4cGVjdGVkLmxlbmd0aDsgaW5kZXgrKykgewoJaWYgKF9fZXhlY3V0ZWRbaW5kZXhdICE9PSBfX2V4cGVjdGVkW2luZGV4XSkgewoJCSRFUlJPUignIzQ6IF9fZXhlY3V0ZWQgPSAvXFx3XFxCLy5leGVjKCJkZXZpbHMgYXJpc2VcXHRmb3JcXG5yZXZpbCIpOyBfX2V4ZWN1dGVkWycgKyBpbmRleCArICddID09PSAnICsgX19leHBlY3RlZFtpbmRleF0gKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkW2luZGV4XSk7Cgl9Cn0KCgo=","commentary":"The production Assertion :: \\B evaluates by returning an internal AssertionTester closure that takes a State argument x and performs the ...","description":"Execute /\\w\\B/.exec(\"devils arise\\tfor\\nevil\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.6/S15.10.2.6_A4_T5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBBc3NlcnRpb24gOjogXEIgZXZhbHVhdGVzIGJ5IHJldHVybmluZyBhbiBpbnRlcm5hbCBBc3NlcnRpb25UZXN0ZXIgY2xvc3VyZSB0aGF0IHRha2VzIGEgU3RhdGUgYXJndW1lbnQgeCBhbmQgcGVyZm9ybXMgdGhlIC4uLgogKgogKiBAcGF0aCBjaDE1LzE1LjEwLzE1LjEwLjIvMTUuMTAuMi42L1MxNS4xMC4yLjZfQTRfVDYuanMKICogQGRlc2NyaXB0aW9uIEV4ZWN1dGUgL1xCXHcvLmV4ZWMoImRldmlscyBhcmlzZVx0Zm9yXG5ldmlsIikgYW5kIGNoZWNrIHJlc3VsdHMKICovCgpfX2V4ZWN1dGVkID0gL1xCXHcvLmV4ZWMoImRldmlscyBhcmlzZVx0Zm9yXG5yZXZpbCIpOwoKX19leHBlY3RlZCA9IFsiZSJdOwpfX2V4cGVjdGVkLmluZGV4ID0gMTsKX19leHBlY3RlZC5pbnB1dCA9ICJkZXZpbHMgYXJpc2VcdGZvclxucmV2aWwiOwoKLy9DSEVDSyMxCmlmIChfX2V4ZWN1dGVkLmxlbmd0aCAhPT0gX19leHBlY3RlZC5sZW5ndGgpIHsKCSRFUlJPUignIzE6IF9fZXhlY3V0ZWQgPSAvXFxCXFx3Ly5leGVjKCJkZXZpbHMgYXJpc2VcXHRmb3JcXG5yZXZpbCIpOyBfX2V4ZWN1dGVkLmxlbmd0aCA9PT0gJyArIF9fZXhwZWN0ZWQubGVuZ3RoICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5sZW5ndGgpOwp9CgovL0NIRUNLIzIKaWYgKF9fZXhlY3V0ZWQuaW5kZXggIT09IF9fZXhwZWN0ZWQuaW5kZXgpIHsKCSRFUlJPUignIzI6IF9fZXhlY3V0ZWQgPSAvXFxCXFx3Ly5leGVjKCJkZXZpbHMgYXJpc2VcXHRmb3JcXG5yZXZpbCIpOyBfX2V4ZWN1dGVkLmluZGV4ID09PSAnICsgX19leHBlY3RlZC5pbmRleCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5kZXgpOwp9CgovL0NIRUNLIzMKaWYgKF9fZXhlY3V0ZWQuaW5wdXQgIT09IF9fZXhwZWN0ZWQuaW5wdXQpIHsKCSRFUlJPUignIzM6IF9fZXhlY3V0ZWQgPSAvXFxCXFx3Ly5leGVjKCJkZXZpbHMgYXJpc2VcXHRmb3JcXG5yZXZpbCIpOyBfX2V4ZWN1dGVkLmlucHV0ID09PSAnICsgX19leHBlY3RlZC5pbnB1dCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5wdXQpOwp9CgovL0NIRUNLIzQKZm9yKHZhciBpbmRleD0wOyBpbmRleDxfX2V4cGVjdGVkLmxlbmd0aDsgaW5kZXgrKykgewoJaWYgKF9fZXhlY3V0ZWRbaW5kZXhdICE9PSBfX2V4cGVjdGVkW2luZGV4XSkgewoJCSRFUlJPUignIzQ6IF9fZXhlY3V0ZWQgPSAvXFxCXFx3Ly5leGVjKCJkZXZpbHMgYXJpc2VcXHRmb3JcXG5yZXZpbCIpOyBfX2V4ZWN1dGVkWycgKyBpbmRleCArICddID09PSAnICsgX19leHBlY3RlZFtpbmRleF0gKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkW2luZGV4XSk7Cgl9Cn0KCgo=","commentary":"The production Assertion :: \\B evaluates by returning an internal AssertionTester closure that takes a State argument x and performs the ...","description":"Execute /\\B\\w/.exec(\"devils arise\\tfor\\nevil\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.6/S15.10.2.6_A4_T6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBBc3NlcnRpb24gOjogXEIgZXZhbHVhdGVzIGJ5IHJldHVybmluZyBhbiBpbnRlcm5hbCBBc3NlcnRpb25UZXN0ZXIgY2xvc3VyZSB0aGF0IHRha2VzIGEgU3RhdGUgYXJndW1lbnQgeCBhbmQgcGVyZm9ybXMgdGhlIC4uLgogKgogKiBAcGF0aCBjaDE1LzE1LjEwLzE1LjEwLjIvMTUuMTAuMi42L1MxNS4xMC4yLjZfQTRfVDcuanMKICogQGRlc2NyaXB0aW9uIEV4ZWN1dGUgL1xCXFteel17NH1cQi8udGVzdCgiZGV2aWwgYXJpc2VcdGZvcnp6eFxuZXZpbHMiKSBhbmQgY2hlY2sgcmVzdWx0cwogKi8KCl9fZXhlY3V0ZWQgPSAvXEJcW156XXs0fVxCLy50ZXN0KCJkZXZpbCBhcmlzZVx0Zm9yenp4XG5ldmlscyIpOwoKLy9DSEVDSyMxCmlmIChfX2V4ZWN1dGVkKSB7CgkkRVJST1IoJyMxOiAvXFxCXFxbXnpdezR9XFxCLy50ZXN0KCJkZXZpbCBhcmlzZVxcdGZvcnp6eFxcbmV2aWxzIikgPT09IGZhbHNlJyk7Cn0KCgo=","commentary":"The production Assertion :: \\B evaluates by returning an internal AssertionTester closure that takes a State argument x and performs the ...","description":"Execute /\\B\\[^z]{4}\\B/.test(\"devil arise\\tforzzx\\nevils\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.6/S15.10.2.6_A4_T7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBBc3NlcnRpb24gOjogXEIgZXZhbHVhdGVzIGJ5IHJldHVybmluZyBhbiBpbnRlcm5hbCBBc3NlcnRpb25UZXN0ZXIgY2xvc3VyZSB0aGF0IHRha2VzIGEgU3RhdGUgYXJndW1lbnQgeCBhbmQgcGVyZm9ybXMgdGhlIC4uLgogKgogKiBAcGF0aCBjaDE1LzE1LjEwLzE1LjEwLjIvMTUuMTAuMi42L1MxNS4xMC4yLjZfQTRfVDguanMKICogQGRlc2NyaXB0aW9uIEV4ZWN1dGUgL1xCXHd7NH1cQi8uZXhlYygiZGV2aWwgYXJpc2VcdGZvcnp6eFxuZXZpbHMiKSBhbmQgY2hlY2sgcmVzdWx0cwogKi8KCl9fZXhlY3V0ZWQgPSAvXEJcd3s0fVxCLy5leGVjKCJkZXZpbCBhcmlzZVx0Zm9yenp4XG5ldmlscyIpOwoKX19leHBlY3RlZCA9IFsib3J6eiJdOwpfX2V4cGVjdGVkLmluZGV4ID0gMTM7Cl9fZXhwZWN0ZWQuaW5wdXQgPSAiZGV2aWwgYXJpc2VcdGZvcnp6eFxuZXZpbHMiOwoKLy9DSEVDSyMxCmlmIChfX2V4ZWN1dGVkLmxlbmd0aCAhPT0gX19leHBlY3RlZC5sZW5ndGgpIHsKCSRFUlJPUignIzE6IF9fZXhlY3V0ZWQgPSAvXFxCXFx3ezR9XFxCLy5leGVjKCJkZXZpbCBhcmlzZVxcdGZvcnp6eFxcbmV2aWxzIik7IF9fZXhlY3V0ZWQubGVuZ3RoID09PSAnICsgX19leHBlY3RlZC5sZW5ndGggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmxlbmd0aCk7Cn0KCi8vQ0hFQ0sjMgppZiAoX19leGVjdXRlZC5pbmRleCAhPT0gX19leHBlY3RlZC5pbmRleCkgewoJJEVSUk9SKCcjMjogX19leGVjdXRlZCA9IC9cXEJcXHd7NH1cXEIvLmV4ZWMoImRldmlsIGFyaXNlXFx0Zm9yenp4XFxuZXZpbHMiKTsgX19leGVjdXRlZC5pbmRleCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5kZXggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmluZGV4KTsKfQoKLy9DSEVDSyMzCmlmIChfX2V4ZWN1dGVkLmlucHV0ICE9PSBfX2V4cGVjdGVkLmlucHV0KSB7CgkkRVJST1IoJyMzOiBfX2V4ZWN1dGVkID0gL1xcQlxcd3s0fVxcQi8uZXhlYygiZGV2aWwgYXJpc2VcXHRmb3J6enhcXG5ldmlscyIpOyBfX2V4ZWN1dGVkLmlucHV0ID09PSAnICsgX19leHBlY3RlZC5pbnB1dCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5wdXQpOwp9CgovL0NIRUNLIzQKZm9yKHZhciBpbmRleD0wOyBpbmRleDxfX2V4cGVjdGVkLmxlbmd0aDsgaW5kZXgrKykgewoJaWYgKF9fZXhlY3V0ZWRbaW5kZXhdICE9PSBfX2V4cGVjdGVkW2luZGV4XSkgewoJCSRFUlJPUignIzQ6IF9fZXhlY3V0ZWQgPSAvXFxCXFx3ezR9XFxCLy5leGVjKCJkZXZpbCBhcmlzZVxcdGZvcnp6eFxcbmV2aWxzIik7IF9fZXhlY3V0ZWRbJyArIGluZGV4ICsgJ10gPT09ICcgKyBfX2V4cGVjdGVkW2luZGV4XSArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWRbaW5kZXhdKTsKCX0KfQoKCg==","commentary":"The production Assertion :: \\B evaluates by returning an internal AssertionTester closure that takes a State argument x and performs the ...","description":"Execute /\\B\\w{4}\\B/.exec(\"devil arise\\tforzzx\\nevils\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.6/S15.10.2.6_A4_T8.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTaW5jZSBhc3NlcnRpb24gZXZhbHVhdGluZyBkbyBub3QgY2hhbmdlIGVuZEluZGV4IHJlcGV0aXRpb24gb2YgYXNzZXJ0aW9uIGRvZXMgdGhlIHNhbWUgcmVzdWx0CiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuMi8xNS4xMC4yLjYvUzE1LjEwLjIuNl9BNV9UMS5qcwogKiBAZGVzY3JpcHRpb24gRXhlY3V0ZSAvXl5eXl5eXnJvYm90JCQkJC8uZXhlYygicm9ib3QiKSBhbmQgY2hlY2sgcmVzdWx0cwogKi8KCl9fZXhlY3V0ZWQgPSAvXl5eXl5eXnJvYm90JCQkJC8uZXhlYygicm9ib3QiKTsKCl9fZXhwZWN0ZWQgPSBbInJvYm90Il07Cl9fZXhwZWN0ZWQuaW5kZXggPSAwOwpfX2V4cGVjdGVkLmlucHV0ID0gInJvYm90IjsKCi8vQ0hFQ0sjMQppZiAoX19leGVjdXRlZC5sZW5ndGggIT09IF9fZXhwZWN0ZWQubGVuZ3RoKSB7CgkkRVJST1IoJyMxOiBfX2V4ZWN1dGVkID0gL15eXl5eXl5yb2JvdCQkJCQvLmV4ZWMoInJvYm90Iik7IF9fZXhlY3V0ZWQubGVuZ3RoID09PSAnICsgX19leHBlY3RlZC5sZW5ndGggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmxlbmd0aCk7Cn0KCi8vQ0hFQ0sjMgppZiAoX19leGVjdXRlZC5pbmRleCAhPT0gX19leHBlY3RlZC5pbmRleCkgewoJJEVSUk9SKCcjMjogX19leGVjdXRlZCA9IC9eXl5eXl5ecm9ib3QkJCQkLy5leGVjKCJyb2JvdCIpOyBfX2V4ZWN1dGVkLmluZGV4ID09PSAnICsgX19leHBlY3RlZC5pbmRleCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5kZXgpOwp9CgovL0NIRUNLIzMKaWYgKF9fZXhlY3V0ZWQuaW5wdXQgIT09IF9fZXhwZWN0ZWQuaW5wdXQpIHsKCSRFUlJPUignIzM6IF9fZXhlY3V0ZWQgPSAvXl5eXl5eXnJvYm90JCQkJC8uZXhlYygicm9ib3QiKTsgX19leGVjdXRlZC5pbnB1dCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5wdXQgKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmlucHV0KTsKfQoKLy9DSEVDSyM0CmZvcih2YXIgaW5kZXg9MDsgaW5kZXg8X19leHBlY3RlZC5sZW5ndGg7IGluZGV4KyspIHsKCWlmIChfX2V4ZWN1dGVkW2luZGV4XSAhPT0gX19leHBlY3RlZFtpbmRleF0pIHsKCQkkRVJST1IoJyM0OiBfX2V4ZWN1dGVkID0gL15eXl5eXl5yb2JvdCQkJCQvLmV4ZWMoInJvYm90Iik7IF9fZXhlY3V0ZWRbJyArIGluZGV4ICsgJ10gPT09ICcgKyBfX2V4cGVjdGVkW2luZGV4XSArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWRbaW5kZXhdKTsKCX0KfQoKCg==","commentary":"Since assertion evaluating do not change endIndex repetition of assertion does the same result","description":"Execute /^^^^^^^robot$$$$/.exec(\"robot\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.6/S15.10.2.6_A5_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTaW5jZSBhc3NlcnRpb24gZXZhbHVhdGluZyBkbyBub3QgY2hhbmdlIGVuZEluZGV4IHJlcGV0aXRpb24gb2YgYXNzZXJ0aW9uIGRvZXMgdGhlIHNhbWUgcmVzdWx0CiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuMi8xNS4xMC4yLjYvUzE1LjEwLjIuNl9BNV9UMi5qcwogKiBAZGVzY3JpcHRpb24gRXhlY3V0ZSAvXEJcQlxCXEJcQlxCYm90XGJcYlxiXGJcYlxiXGIvLmV4ZWMoInJvYm90IHdhbGwtZSIpIGFuZCBjaGVjayByZXN1bHRzCiAqLwoKX19leGVjdXRlZCA9IC9cQlxCXEJcQlxCXEJib3RcYlxiXGJcYlxiXGJcYi8uZXhlYygicm9ib3Qgd2FsbC1lIik7CgpfX2V4cGVjdGVkID0gWyJib3QiXTsKX19leHBlY3RlZC5pbmRleCA9IDI7Cl9fZXhwZWN0ZWQuaW5wdXQgPSAicm9ib3Qgd2FsbC1lIjsKCi8vQ0hFQ0sjMQppZiAoX19leGVjdXRlZC5sZW5ndGggIT09IF9fZXhwZWN0ZWQubGVuZ3RoKSB7CgkkRVJST1IoJyMxOiBfX2V4ZWN1dGVkID0gL1xcQlxcQlxcQlxcQlxcQlxcQmJvdFxcYlxcYlxcYlxcYlxcYlxcYlxcYi8uZXhlYygicm9ib3Qgd2FsbC1lIik7IF9fZXhlY3V0ZWQubGVuZ3RoID09PSAnICsgX19leHBlY3RlZC5sZW5ndGggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmxlbmd0aCk7Cn0KCi8vQ0hFQ0sjMgppZiAoX19leGVjdXRlZC5pbmRleCAhPT0gX19leHBlY3RlZC5pbmRleCkgewoJJEVSUk9SKCcjMjogX19leGVjdXRlZCA9IC9cXEJcXEJcXEJcXEJcXEJcXEJib3RcXGJcXGJcXGJcXGJcXGJcXGJcXGIvLmV4ZWMoInJvYm90IHdhbGwtZSIpOyBfX2V4ZWN1dGVkLmluZGV4ID09PSAnICsgX19leHBlY3RlZC5pbmRleCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5kZXgpOwp9CgovL0NIRUNLIzMKaWYgKF9fZXhlY3V0ZWQuaW5wdXQgIT09IF9fZXhwZWN0ZWQuaW5wdXQpIHsKCSRFUlJPUignIzM6IF9fZXhlY3V0ZWQgPSAvXFxCXFxCXFxCXFxCXFxCXFxCYm90XFxiXFxiXFxiXFxiXFxiXFxiXFxiLy5leGVjKCJyb2JvdCB3YWxsLWUiKTsgX19leGVjdXRlZC5pbnB1dCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5wdXQgKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmlucHV0KTsKfQoKLy9DSEVDSyM0CmZvcih2YXIgaW5kZXg9MDsgaW5kZXg8X19leHBlY3RlZC5sZW5ndGg7IGluZGV4KyspIHsKCWlmIChfX2V4ZWN1dGVkW2luZGV4XSAhPT0gX19leHBlY3RlZFtpbmRleF0pIHsKCQkkRVJST1IoJyM0OiBfX2V4ZWN1dGVkID0gL1xcQlxcQlxcQlxcQlxcQlxcQmJvdFxcYlxcYlxcYlxcYlxcYlxcYlxcYi8uZXhlYygicm9ib3Qgd2FsbC1lIik7IF9fZXhlY3V0ZWRbJyArIGluZGV4ICsgJ10gPT09ICcgKyBfX2V4cGVjdGVkW2luZGV4XSArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWRbaW5kZXhdKTsKCX0KfQoKCg==","commentary":"Since assertion evaluating do not change endIndex repetition of assertion does the same result","description":"Execute /\\B\\B\\B\\B\\B\\Bbot\\b\\b\\b\\b\\b\\b\\b/.exec(\"robot wall-e\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.6/S15.10.2.6_A5_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBBc3NlcnRpb25zIGluIGNvbWJpbmF0aW9uCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuMi8xNS4xMC4yLjYvUzE1LjEwLjIuNl9BNl9UMS5qcwogKiBAZGVzY3JpcHRpb24gd2hpbGUgYXN0ZXJpeCBpcyBub24gZ3JlZWR5IGl0IGlzIHJ1biB0aWxsIHRoZSBlbmQgYmVjYXVzZSBvZiBkb2xsYXIgYXNzZXJ0aW9uCiAqLwoKX19leGVjdXRlZCA9IC9eLio/JC8uZXhlYygiSGVsbG8gV29ybGQiKTsKCl9fZXhwZWN0ZWQgPSBbIkhlbGxvIFdvcmxkIl07Cl9fZXhwZWN0ZWQuaW5kZXggPSAwOwpfX2V4cGVjdGVkLmlucHV0ID0gIkhlbGxvIFdvcmxkIjsKCi8vQ0hFQ0sjMQppZiAoX19leGVjdXRlZC5sZW5ndGggIT09IF9fZXhwZWN0ZWQubGVuZ3RoKSB7CgkkRVJST1IoJyMxOiBfX2V4ZWN1dGVkID0gL14uKj8kLy5leGVjKCJIZWxsbyBXb3JsZCIpOyBfX2V4ZWN1dGVkLmxlbmd0aCA9PT0gJyArIF9fZXhwZWN0ZWQubGVuZ3RoICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5sZW5ndGgpOwp9CgovL0NIRUNLIzIKaWYgKF9fZXhlY3V0ZWQuaW5kZXggIT09IF9fZXhwZWN0ZWQuaW5kZXgpIHsKCSRFUlJPUignIzI6IF9fZXhlY3V0ZWQgPSAvXi4qPyQvLmV4ZWMoIkhlbGxvIFdvcmxkIik7IF9fZXhlY3V0ZWQuaW5kZXggPT09ICcgKyBfX2V4cGVjdGVkLmluZGV4ICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5pbmRleCk7Cn0KCi8vQ0hFQ0sjMwppZiAoX19leGVjdXRlZC5pbnB1dCAhPT0gX19leHBlY3RlZC5pbnB1dCkgewoJJEVSUk9SKCcjMzogX19leGVjdXRlZCA9IC9eLio/JC8uZXhlYygiSGVsbG8gV29ybGQiKTsgX19leGVjdXRlZC5pbnB1dCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5wdXQgKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmlucHV0KTsKfQoKLy9DSEVDSyM0CmZvcih2YXIgaW5kZXg9MDsgaW5kZXg8X19leHBlY3RlZC5sZW5ndGg7IGluZGV4KyspIHsKCWlmIChfX2V4ZWN1dGVkW2luZGV4XSAhPT0gX19leHBlY3RlZFtpbmRleF0pIHsKCQkkRVJST1IoJyM0OiBfX2V4ZWN1dGVkID0gL14uKj8kLy5leGVjKCJIZWxsbyBXb3JsZCIpOyBfX2V4ZWN1dGVkWycgKyBpbmRleCArICddID09PSAnICsgX19leHBlY3RlZFtpbmRleF0gKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkW2luZGV4XSk7Cgl9Cn0KCgo=","commentary":"Assertions in combination","description":"while asterix is non greedy it is run till the end because of dollar assertion","path":"TestCases/ch15/15.10/15.10.2/15.10.2.6/S15.10.2.6_A6_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBBc3NlcnRpb25zIGluIGNvbWJpbmF0aW9uCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuMi8xNS4xMC4yLjYvUzE1LjEwLjIuNl9BNl9UMi5qcwogKiBAZGVzY3JpcHRpb24gRXhlY3V0ZSAvXi4qPy8uZXhlYygiSGVsbG8gV29ybGQiKSBhbmQgY2hlY2sgcmVzdWx0cwogKi8KCl9fZXhlY3V0ZWQgPSAvXi4qPy8uZXhlYygiSGVsbG8gV29ybGQiKTsKCl9fZXhwZWN0ZWQgPSBbIiJdOwpfX2V4cGVjdGVkLmluZGV4ID0gMDsKX19leHBlY3RlZC5pbnB1dCA9ICJIZWxsbyBXb3JsZCI7CgovL0NIRUNLIzEKaWYgKF9fZXhlY3V0ZWQubGVuZ3RoICE9PSBfX2V4cGVjdGVkLmxlbmd0aCkgewoJJEVSUk9SKCcjMTogX19leGVjdXRlZCA9IC9eLio/Ly5leGVjKCJIZWxsbyBXb3JsZCIpOyBfX2V4ZWN1dGVkLmxlbmd0aCA9PT0gJyArIF9fZXhwZWN0ZWQubGVuZ3RoICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5sZW5ndGgpOwp9CgovL0NIRUNLIzIKaWYgKF9fZXhlY3V0ZWQuaW5kZXggIT09IF9fZXhwZWN0ZWQuaW5kZXgpIHsKCSRFUlJPUignIzI6IF9fZXhlY3V0ZWQgPSAvXi4qPy8uZXhlYygiSGVsbG8gV29ybGQiKTsgX19leGVjdXRlZC5pbmRleCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5kZXggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmluZGV4KTsKfQoKLy9DSEVDSyMzCmlmIChfX2V4ZWN1dGVkLmlucHV0ICE9PSBfX2V4cGVjdGVkLmlucHV0KSB7CgkkRVJST1IoJyMzOiBfX2V4ZWN1dGVkID0gL14uKj8vLmV4ZWMoIkhlbGxvIFdvcmxkIik7IF9fZXhlY3V0ZWQuaW5wdXQgPT09ICcgKyBfX2V4cGVjdGVkLmlucHV0ICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5pbnB1dCk7Cn0KCi8vQ0hFQ0sjNApmb3IodmFyIGluZGV4PTA7IGluZGV4PF9fZXhwZWN0ZWQubGVuZ3RoOyBpbmRleCsrKSB7CglpZiAoX19leGVjdXRlZFtpbmRleF0gIT09IF9fZXhwZWN0ZWRbaW5kZXhdKSB7CgkJJEVSUk9SKCcjNDogX19leGVjdXRlZCA9IC9eLio/Ly5leGVjKCJIZWxsbyBXb3JsZCIpOyBfX2V4ZWN1dGVkWycgKyBpbmRleCArICddID09PSAnICsgX19leHBlY3RlZFtpbmRleF0gKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkW2luZGV4XSk7Cgl9Cn0KCgo=","commentary":"Assertions in combination","description":"Execute /^.*?/.exec(\"Hello World\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.6/S15.10.2.6_A6_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBBc3NlcnRpb25zIGluIGNvbWJpbmF0aW9uCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuMi8xNS4xMC4yLjYvUzE1LjEwLjIuNl9BNl9UMy5qcwogKiBAZGVzY3JpcHRpb24gd2hpbGUgYXN0ZXJpeCBpcyBub24gZ3JlZWR5IGl0IGlzIHJ1biB0aWxsIG1hdGNoZXMgZW5kIG9yIGNvbG9uCiAqLwoKX19leGVjdXRlZCA9IC9eLio/KDp8JCkvLmV4ZWMoIkhlbGxvOiBXb3JsZCIpOwoKX19leHBlY3RlZCA9IFsiSGVsbG86IiwgIjoiXTsKX19leHBlY3RlZC5pbmRleCA9IDA7Cl9fZXhwZWN0ZWQuaW5wdXQgPSAiSGVsbG86IFdvcmxkIjsKCi8vQ0hFQ0sjMQppZiAoX19leGVjdXRlZC5sZW5ndGggIT09IF9fZXhwZWN0ZWQubGVuZ3RoKSB7CgkkRVJST1IoJyMxOiBfX2V4ZWN1dGVkID0gL14uKj8oOnwkKS8uZXhlYygiSGVsbG86IFdvcmxkIik7IF9fZXhlY3V0ZWQubGVuZ3RoID09PSAnICsgX19leHBlY3RlZC5sZW5ndGggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmxlbmd0aCk7Cn0KCi8vQ0hFQ0sjMgppZiAoX19leGVjdXRlZC5pbmRleCAhPT0gX19leHBlY3RlZC5pbmRleCkgewoJJEVSUk9SKCcjMjogX19leGVjdXRlZCA9IC9eLio/KDp8JCkvLmV4ZWMoIkhlbGxvOiBXb3JsZCIpOyBfX2V4ZWN1dGVkLmluZGV4ID09PSAnICsgX19leHBlY3RlZC5pbmRleCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5kZXgpOwp9CgovL0NIRUNLIzMKaWYgKF9fZXhlY3V0ZWQuaW5wdXQgIT09IF9fZXhwZWN0ZWQuaW5wdXQpIHsKCSRFUlJPUignIzM6IF9fZXhlY3V0ZWQgPSAvXi4qPyg6fCQpLy5leGVjKCJIZWxsbzogV29ybGQiKTsgX19leGVjdXRlZC5pbnB1dCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5wdXQgKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmlucHV0KTsKfQoKLy9DSEVDSyM0CmZvcih2YXIgaW5kZXg9MDsgaW5kZXg8X19leHBlY3RlZC5sZW5ndGg7IGluZGV4KyspIHsKCWlmIChfX2V4ZWN1dGVkW2luZGV4XSAhPT0gX19leHBlY3RlZFtpbmRleF0pIHsKCQkkRVJST1IoJyM0OiBfX2V4ZWN1dGVkID0gL14uKj8oOnwkKS8uZXhlYygiSGVsbG86IFdvcmxkIik7IF9fZXhlY3V0ZWRbJyArIGluZGV4ICsgJ10gPT09ICcgKyBfX2V4cGVjdGVkW2luZGV4XSArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWRbaW5kZXhdKTsKCX0KfQoKCg==","commentary":"Assertions in combination","description":"while asterix is non greedy it is run till matches end or colon","path":"TestCases/ch15/15.10/15.10.2/15.10.2.6/S15.10.2.6_A6_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBBc3NlcnRpb25zIGluIGNvbWJpbmF0aW9uCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuMi8xNS4xMC4yLjYvUzE1LjEwLjIuNl9BNl9UNC5qcwogKiBAZGVzY3JpcHRpb24gRXhlY3V0ZSAvXi4qKDp8JCkvLmV4ZWMoIkhlbGxvOiBXb3JsZCIpIGFuZCBjaGVjayByZXN1bHRzCiAqLwoKX19leGVjdXRlZCA9IC9eLiooOnwkKS8uZXhlYygiSGVsbG86IFdvcmxkIik7CgpfX2V4cGVjdGVkID0gWyJIZWxsbzogV29ybGQiLCAiIl07Cl9fZXhwZWN0ZWQuaW5kZXggPSAwOwpfX2V4cGVjdGVkLmlucHV0ID0gIkhlbGxvOiBXb3JsZCI7CgovL0NIRUNLIzEKaWYgKF9fZXhlY3V0ZWQubGVuZ3RoICE9PSBfX2V4cGVjdGVkLmxlbmd0aCkgewoJJEVSUk9SKCcjMTogX19leGVjdXRlZCA9IC9eLiooOnwkKS8uZXhlYygiSGVsbG86IFdvcmxkIik7IF9fZXhlY3V0ZWQubGVuZ3RoID09PSAnICsgX19leHBlY3RlZC5sZW5ndGggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmxlbmd0aCk7Cn0KCi8vQ0hFQ0sjMgppZiAoX19leGVjdXRlZC5pbmRleCAhPT0gX19leHBlY3RlZC5pbmRleCkgewoJJEVSUk9SKCcjMjogX19leGVjdXRlZCA9IC9eLiooOnwkKS8uZXhlYygiSGVsbG86IFdvcmxkIik7IF9fZXhlY3V0ZWQuaW5kZXggPT09ICcgKyBfX2V4cGVjdGVkLmluZGV4ICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5pbmRleCk7Cn0KCi8vQ0hFQ0sjMwppZiAoX19leGVjdXRlZC5pbnB1dCAhPT0gX19leHBlY3RlZC5pbnB1dCkgewoJJEVSUk9SKCcjMzogX19leGVjdXRlZCA9IC9eLiooOnwkKS8uZXhlYygiSGVsbG86IFdvcmxkIik7IF9fZXhlY3V0ZWQuaW5wdXQgPT09ICcgKyBfX2V4cGVjdGVkLmlucHV0ICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5pbnB1dCk7Cn0KCi8vQ0hFQ0sjNApmb3IodmFyIGluZGV4PTA7IGluZGV4PF9fZXhwZWN0ZWQubGVuZ3RoOyBpbmRleCsrKSB7CglpZiAoX19leGVjdXRlZFtpbmRleF0gIT09IF9fZXhwZWN0ZWRbaW5kZXhdKSB7CgkJJEVSUk9SKCcjNDogX19leGVjdXRlZCA9IC9eLiooOnwkKS8uZXhlYygiSGVsbG86IFdvcmxkIik7IF9fZXhlY3V0ZWRbJyArIGluZGV4ICsgJ10gPT09ICcgKyBfX2V4cGVjdGVkW2luZGV4XSArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWRbaW5kZXhdKTsKCX0KfQoKCg==","commentary":"Assertions in combination","description":"Execute /^.*(:|$)/.exec(\"Hello: World\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.6/S15.10.2.6_A6_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBRdWFudGlmaWVyUHJlZml4IDo6IHsgRGVjaW1hbERpZ2l0cyAsIERlY2ltYWxEaWdpdHMgfSBldmFsdWF0ZXMgYXMgLi4uCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuMi8xNS4xMC4yLjcvUzE1LjEwLjIuN19BMV9UMS5qcwogKiBAZGVzY3JpcHRpb24gRXhlY3V0ZSAvXGR7Miw0fS8uZXhlYygidGhlIGFuc3dlciBpcyA0MiIpIGFuZCBjaGVjayByZXN1bHRzCiAqLwoKX19leGVjdXRlZCA9IC9cZHsyLDR9Ly5leGVjKCJ0aGUgYW5zd2VyIGlzIDQyIik7CgpfX2V4cGVjdGVkID0gWyI0MiJdOwpfX2V4cGVjdGVkLmluZGV4ID0gMTQ7Cl9fZXhwZWN0ZWQuaW5wdXQgPSAidGhlIGFuc3dlciBpcyA0MiI7CgovL0NIRUNLIzEKaWYgKF9fZXhlY3V0ZWQubGVuZ3RoICE9PSBfX2V4cGVjdGVkLmxlbmd0aCkgewoJJEVSUk9SKCcjMTogX19leGVjdXRlZCA9IC9cXGR7Miw0fS8uZXhlYygidGhlIGFuc3dlciBpcyA0MiIpOyBfX2V4ZWN1dGVkLmxlbmd0aCA9PT0gJyArIF9fZXhwZWN0ZWQubGVuZ3RoICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5sZW5ndGgpOwp9CgovL0NIRUNLIzIKaWYgKF9fZXhlY3V0ZWQuaW5kZXggIT09IF9fZXhwZWN0ZWQuaW5kZXgpIHsKCSRFUlJPUignIzI6IF9fZXhlY3V0ZWQgPSAvXFxkezIsNH0vLmV4ZWMoInRoZSBhbnN3ZXIgaXMgNDIiKTsgX19leGVjdXRlZC5pbmRleCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5kZXggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmluZGV4KTsKfQoKLy9DSEVDSyMzCmlmIChfX2V4ZWN1dGVkLmlucHV0ICE9PSBfX2V4cGVjdGVkLmlucHV0KSB7CgkkRVJST1IoJyMzOiBfX2V4ZWN1dGVkID0gL1xcZHsyLDR9Ly5leGVjKCJ0aGUgYW5zd2VyIGlzIDQyIik7IF9fZXhlY3V0ZWQuaW5wdXQgPT09ICcgKyBfX2V4cGVjdGVkLmlucHV0ICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5pbnB1dCk7Cn0KCi8vQ0hFQ0sjNApmb3IodmFyIGluZGV4PTA7IGluZGV4PF9fZXhwZWN0ZWQubGVuZ3RoOyBpbmRleCsrKSB7CglpZiAoX19leGVjdXRlZFtpbmRleF0gIT09IF9fZXhwZWN0ZWRbaW5kZXhdKSB7CgkJJEVSUk9SKCcjNDogX19leGVjdXRlZCA9IC9cXGR7Miw0fS8uZXhlYygidGhlIGFuc3dlciBpcyA0MiIpOyBfX2V4ZWN1dGVkWycgKyBpbmRleCArICddID09PSAnICsgX19leHBlY3RlZFtpbmRleF0gKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkW2luZGV4XSk7Cgl9Cn0KCgo=","commentary":"The production QuantifierPrefix :: { DecimalDigits , DecimalDigits } evaluates as ...","description":"Execute /\\d{2,4}/.exec(\"the answer is 42\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBRdWFudGlmaWVyUHJlZml4IDo6IHsgRGVjaW1hbERpZ2l0cyAsIERlY2ltYWxEaWdpdHMgfSBldmFsdWF0ZXMgYXMgLi4uCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuMi8xNS4xMC4yLjcvUzE1LjEwLjIuN19BMV9UMTAuanMKICogQGRlc2NyaXB0aW9uIEV4ZWN1dGUgL2J7MCw5M31jLy5leGVjKCJhYWFiYmJiY2NjZGRlZWVlZmZmZmYiKSBhbmQgY2hlY2sgcmVzdWx0cwogKi8KCl9fZXhlY3V0ZWQgPSAvYnswLDkzfWMvLmV4ZWMoImFhYWJiYmJjY2NkZGVlZWVmZmZmZiIpOwoKX19leHBlY3RlZCA9IFsiYmJiYmMiXTsKX19leHBlY3RlZC5pbmRleCA9IDM7Cl9fZXhwZWN0ZWQuaW5wdXQgPSAiYWFhYmJiYmNjY2RkZWVlZWZmZmZmIjsKCi8vQ0hFQ0sjMQppZiAoX19leGVjdXRlZC5sZW5ndGggIT09IF9fZXhwZWN0ZWQubGVuZ3RoKSB7CgkkRVJST1IoJyMxOiBfX2V4ZWN1dGVkID0gL2J7MCw5M31jLy5leGVjKCJhYWFiYmJiY2NjZGRlZWVlZmZmZmYiKTsgX19leGVjdXRlZC5sZW5ndGggPT09ICcgKyBfX2V4cGVjdGVkLmxlbmd0aCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQubGVuZ3RoKTsKfQoKLy9DSEVDSyMyCmlmIChfX2V4ZWN1dGVkLmluZGV4ICE9PSBfX2V4cGVjdGVkLmluZGV4KSB7CgkkRVJST1IoJyMyOiBfX2V4ZWN1dGVkID0gL2J7MCw5M31jLy5leGVjKCJhYWFiYmJiY2NjZGRlZWVlZmZmZmYiKTsgX19leGVjdXRlZC5pbmRleCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5kZXggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmluZGV4KTsKfQoKLy9DSEVDSyMzCmlmIChfX2V4ZWN1dGVkLmlucHV0ICE9PSBfX2V4cGVjdGVkLmlucHV0KSB7CgkkRVJST1IoJyMzOiBfX2V4ZWN1dGVkID0gL2J7MCw5M31jLy5leGVjKCJhYWFiYmJiY2NjZGRlZWVlZmZmZmYiKTsgX19leGVjdXRlZC5pbnB1dCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5wdXQgKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmlucHV0KTsKfQoKLy9DSEVDSyM0CmZvcih2YXIgaW5kZXg9MDsgaW5kZXg8X19leHBlY3RlZC5sZW5ndGg7IGluZGV4KyspIHsKCWlmIChfX2V4ZWN1dGVkW2luZGV4XSAhPT0gX19leHBlY3RlZFtpbmRleF0pIHsKCQkkRVJST1IoJyM0OiBfX2V4ZWN1dGVkID0gL2J7MCw5M31jLy5leGVjKCJhYWFiYmJiY2NjZGRlZWVlZmZmZmYiKTsgX19leGVjdXRlZFsnICsgaW5kZXggKyAnXSA9PT0gJyArIF9fZXhwZWN0ZWRbaW5kZXhdICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZFtpbmRleF0pOwoJfQp9CgoK","commentary":"The production QuantifierPrefix :: { DecimalDigits , DecimalDigits } evaluates as ...","description":"Execute /b{0,93}c/.exec(\"aaabbbbcccddeeeefffff\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A1_T10.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBRdWFudGlmaWVyUHJlZml4IDo6IHsgRGVjaW1hbERpZ2l0cyAsIERlY2ltYWxEaWdpdHMgfSBldmFsdWF0ZXMgYXMgLi4uCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuMi8xNS4xMC4yLjcvUzE1LjEwLjIuN19BMV9UMTEuanMKICogQGRlc2NyaXB0aW9uIEV4ZWN1dGUgL2J4ezAsOTN9Yy8uZXhlYygiYWFhYmJiYmNjY2RkZWVlZWZmZmZmIikgYW5kIGNoZWNrIHJlc3VsdHMKICovCgpfX2V4ZWN1dGVkID0gL2J4ezAsOTN9Yy8uZXhlYygiYWFhYmJiYmNjY2RkZWVlZWZmZmZmIik7CgpfX2V4cGVjdGVkID0gWyJiYyJdOwpfX2V4cGVjdGVkLmluZGV4ID0gNjsKX19leHBlY3RlZC5pbnB1dCA9ICJhYWFiYmJiY2NjZGRlZWVlZmZmZmYiOwoKLy9DSEVDSyMxCmlmIChfX2V4ZWN1dGVkLmxlbmd0aCAhPT0gX19leHBlY3RlZC5sZW5ndGgpIHsKCSRFUlJPUignIzE6IF9fZXhlY3V0ZWQgPSAvYnh7MCw5M31jLy5leGVjKCJhYWFiYmJiY2NjZGRlZWVlZmZmZmYiKTsgX19leGVjdXRlZC5sZW5ndGggPT09ICcgKyBfX2V4cGVjdGVkLmxlbmd0aCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQubGVuZ3RoKTsKfQoKLy9DSEVDSyMyCmlmIChfX2V4ZWN1dGVkLmluZGV4ICE9PSBfX2V4cGVjdGVkLmluZGV4KSB7CgkkRVJST1IoJyMyOiBfX2V4ZWN1dGVkID0gL2J4ezAsOTN9Yy8uZXhlYygiYWFhYmJiYmNjY2RkZWVlZWZmZmZmIik7IF9fZXhlY3V0ZWQuaW5kZXggPT09ICcgKyBfX2V4cGVjdGVkLmluZGV4ICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5pbmRleCk7Cn0KCi8vQ0hFQ0sjMwppZiAoX19leGVjdXRlZC5pbnB1dCAhPT0gX19leHBlY3RlZC5pbnB1dCkgewoJJEVSUk9SKCcjMzogX19leGVjdXRlZCA9IC9ieHswLDkzfWMvLmV4ZWMoImFhYWJiYmJjY2NkZGVlZWVmZmZmZiIpOyBfX2V4ZWN1dGVkLmlucHV0ID09PSAnICsgX19leHBlY3RlZC5pbnB1dCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5wdXQpOwp9CgovL0NIRUNLIzQKZm9yKHZhciBpbmRleD0wOyBpbmRleDxfX2V4cGVjdGVkLmxlbmd0aDsgaW5kZXgrKykgewoJaWYgKF9fZXhlY3V0ZWRbaW5kZXhdICE9PSBfX2V4cGVjdGVkW2luZGV4XSkgewoJCSRFUlJPUignIzQ6IF9fZXhlY3V0ZWQgPSAvYnh7MCw5M31jLy5leGVjKCJhYWFiYmJiY2NjZGRlZWVlZmZmZmYiKTsgX19leGVjdXRlZFsnICsgaW5kZXggKyAnXSA9PT0gJyArIF9fZXhwZWN0ZWRbaW5kZXhdICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZFtpbmRleF0pOwoJfQp9CgoK","commentary":"The production QuantifierPrefix :: { DecimalDigits , DecimalDigits } evaluates as ...","description":"Execute /bx{0,93}c/.exec(\"aaabbbbcccddeeeefffff\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A1_T11.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBRdWFudGlmaWVyUHJlZml4IDo6IHsgRGVjaW1hbERpZ2l0cyAsIERlY2ltYWxEaWdpdHMgfSBldmFsdWF0ZXMgYXMgLi4uCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuMi8xNS4xMC4yLjcvUzE1LjEwLjIuN19BMV9UMTIuanMKICogQGRlc2NyaXB0aW9uIEV4ZWN1dGUgLy57MCw5M30vLmV4ZWMoIndlaXJ3ZXJkZiIpIGFuZCBjaGVjayByZXN1bHRzCiAqLwoKX19leGVjdXRlZCA9IC8uezAsOTN9Ly5leGVjKCJ3ZWlyd2VyZGYiKTsKCl9fZXhwZWN0ZWQgPSBbIndlaXJ3ZXJkZiJdOwpfX2V4cGVjdGVkLmluZGV4ID0gMDsKX19leHBlY3RlZC5pbnB1dCA9ICJ3ZWlyd2VyZGYiOwoKLy9DSEVDSyMxCmlmIChfX2V4ZWN1dGVkLmxlbmd0aCAhPT0gX19leHBlY3RlZC5sZW5ndGgpIHsKCSRFUlJPUignIzE6IF9fZXhlY3V0ZWQgPSAvLnswLDkzfS8uZXhlYygid2VpcndlcmRmIik7IF9fZXhlY3V0ZWQubGVuZ3RoID09PSAnICsgX19leHBlY3RlZC5sZW5ndGggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmxlbmd0aCk7Cn0KCi8vQ0hFQ0sjMgppZiAoX19leGVjdXRlZC5pbmRleCAhPT0gX19leHBlY3RlZC5pbmRleCkgewoJJEVSUk9SKCcjMjogX19leGVjdXRlZCA9IC8uezAsOTN9Ly5leGVjKCJ3ZWlyd2VyZGYiKTsgX19leGVjdXRlZC5pbmRleCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5kZXggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmluZGV4KTsKfQoKLy9DSEVDSyMzCmlmIChfX2V4ZWN1dGVkLmlucHV0ICE9PSBfX2V4cGVjdGVkLmlucHV0KSB7CgkkRVJST1IoJyMzOiBfX2V4ZWN1dGVkID0gLy57MCw5M30vLmV4ZWMoIndlaXJ3ZXJkZiIpOyBfX2V4ZWN1dGVkLmlucHV0ID09PSAnICsgX19leHBlY3RlZC5pbnB1dCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5wdXQpOwp9CgovL0NIRUNLIzQKZm9yKHZhciBpbmRleD0wOyBpbmRleDxfX2V4cGVjdGVkLmxlbmd0aDsgaW5kZXgrKykgewoJaWYgKF9fZXhlY3V0ZWRbaW5kZXhdICE9PSBfX2V4cGVjdGVkW2luZGV4XSkgewoJCSRFUlJPUignIzQ6IF9fZXhlY3V0ZWQgPSAvLnswLDkzfS8uZXhlYygid2VpcndlcmRmIik7IF9fZXhlY3V0ZWRbJyArIGluZGV4ICsgJ10gPT09ICcgKyBfX2V4cGVjdGVkW2luZGV4XSArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWRbaW5kZXhdKTsKCX0KfQoKCg==","commentary":"The production QuantifierPrefix :: { DecimalDigits , DecimalDigits } evaluates as ...","description":"Execute /.{0,93}/.exec(\"weirwerdf\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A1_T12.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBRdWFudGlmaWVyUHJlZml4IDo6IHsgRGVjaW1hbERpZ2l0cyAsIERlY2ltYWxEaWdpdHMgfSBldmFsdWF0ZXMgYXMgLi4uCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuMi8xNS4xMC4yLjcvUzE1LjEwLjIuN19BMV9UMi5qcwogKiBAZGVzY3JpcHRpb24gRXhlY3V0ZSAvXGR7Miw0fS8udGVzdCgidGhlIDcgbW92aWUiKSBhbmQgY2hlY2sgcmVzdWx0cwogKi8KCl9fZXhlY3V0ZWQgPSAvXGR7Miw0fS8udGVzdCgidGhlIDcgbW92aWUiKTsKCi8vQ0hFQ0sjMQppZiAoX19leGVjdXRlZCkgewoJJEVSUk9SKCcjMTogL1xcZHsyLDR9Ly50ZXN0KCJ0aGUgNyBtb3ZpZSIpID09PSBmYWxzZScpOwp9CgoK","commentary":"The production QuantifierPrefix :: { DecimalDigits , DecimalDigits } evaluates as ...","description":"Execute /\\d{2,4}/.test(\"the 7 movie\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBRdWFudGlmaWVyUHJlZml4IDo6IHsgRGVjaW1hbERpZ2l0cyAsIERlY2ltYWxEaWdpdHMgfSBldmFsdWF0ZXMgYXMgLi4uCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuMi8xNS4xMC4yLjcvUzE1LjEwLjIuN19BMV9UMy5qcwogKiBAZGVzY3JpcHRpb24gRXhlY3V0ZSAvXGR7Miw0fS8uZXhlYygidGhlIDIwMDAwIExlYWd1ZXMgVW5kZXIgdGhlIFNlYSBib29rIikgYW5kIGNoZWNrIHJlc3VsdHMKICovCgpfX2V4ZWN1dGVkID0gL1xkezIsNH0vLmV4ZWMoInRoZSAyMDAwMCBMZWFndWVzIFVuZGVyIHRoZSBTZWEgYm9vayIpOwoKX19leHBlY3RlZCA9IFsiMjAwMCJdOwpfX2V4cGVjdGVkLmluZGV4ID0gNDsKX19leHBlY3RlZC5pbnB1dCA9ICJ0aGUgMjAwMDAgTGVhZ3VlcyBVbmRlciB0aGUgU2VhIGJvb2siOwoKLy9DSEVDSyMxCmlmIChfX2V4ZWN1dGVkLmxlbmd0aCAhPT0gX19leHBlY3RlZC5sZW5ndGgpIHsKCSRFUlJPUignIzE6IF9fZXhlY3V0ZWQgPSAvXFxkezIsNH0vLmV4ZWMoInRoZSAyMDAwMCBMZWFndWVzIFVuZGVyIHRoZSBTZWEgYm9vayIpOyBfX2V4ZWN1dGVkLmxlbmd0aCA9PT0gJyArIF9fZXhwZWN0ZWQubGVuZ3RoICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5sZW5ndGgpOwp9CgovL0NIRUNLIzIKaWYgKF9fZXhlY3V0ZWQuaW5kZXggIT09IF9fZXhwZWN0ZWQuaW5kZXgpIHsKCSRFUlJPUignIzI6IF9fZXhlY3V0ZWQgPSAvXFxkezIsNH0vLmV4ZWMoInRoZSAyMDAwMCBMZWFndWVzIFVuZGVyIHRoZSBTZWEgYm9vayIpOyBfX2V4ZWN1dGVkLmluZGV4ID09PSAnICsgX19leHBlY3RlZC5pbmRleCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5kZXgpOwp9CgovL0NIRUNLIzMKaWYgKF9fZXhlY3V0ZWQuaW5wdXQgIT09IF9fZXhwZWN0ZWQuaW5wdXQpIHsKCSRFUlJPUignIzM6IF9fZXhlY3V0ZWQgPSAvXFxkezIsNH0vLmV4ZWMoInRoZSAyMDAwMCBMZWFndWVzIFVuZGVyIHRoZSBTZWEgYm9vayIpOyBfX2V4ZWN1dGVkLmlucHV0ID09PSAnICsgX19leHBlY3RlZC5pbnB1dCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5wdXQpOwp9CgovL0NIRUNLIzQKZm9yKHZhciBpbmRleD0wOyBpbmRleDxfX2V4cGVjdGVkLmxlbmd0aDsgaW5kZXgrKykgewoJaWYgKF9fZXhlY3V0ZWRbaW5kZXhdICE9PSBfX2V4cGVjdGVkW2luZGV4XSkgewoJCSRFUlJPUignIzQ6IF9fZXhlY3V0ZWQgPSAvXFxkezIsNH0vLmV4ZWMoInRoZSAyMDAwMCBMZWFndWVzIFVuZGVyIHRoZSBTZWEgYm9vayIpOyBfX2V4ZWN1dGVkWycgKyBpbmRleCArICddID09PSAnICsgX19leHBlY3RlZFtpbmRleF0gKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkW2luZGV4XSk7Cgl9Cn0KCgo=","commentary":"The production QuantifierPrefix :: { DecimalDigits , DecimalDigits } evaluates as ...","description":"Execute /\\d{2,4}/.exec(\"the 20000 Leagues Under the Sea book\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A1_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBRdWFudGlmaWVyUHJlZml4IDo6IHsgRGVjaW1hbERpZ2l0cyAsIERlY2ltYWxEaWdpdHMgfSBldmFsdWF0ZXMgYXMgLi4uCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuMi8xNS4xMC4yLjcvUzE1LjEwLjIuN19BMV9UNC5qcwogKiBAZGVzY3JpcHRpb24gRXhlY3V0ZSAvXGR7Miw0fS8uZXhlYygidGhlIEZhaHJlbmhlaXQgNDUxIGJvb2siKSBhbmQgY2hlY2sgcmVzdWx0cwogKi8KCl9fZXhlY3V0ZWQgPSAvXGR7Miw0fS8uZXhlYygidGhlIEZhaHJlbmhlaXQgNDUxIGJvb2siKTsKCl9fZXhwZWN0ZWQgPSBbIjQ1MSJdOwpfX2V4cGVjdGVkLmluZGV4ID0gMTU7Cl9fZXhwZWN0ZWQuaW5wdXQgPSAidGhlIEZhaHJlbmhlaXQgNDUxIGJvb2siOwoKLy9DSEVDSyMxCmlmIChfX2V4ZWN1dGVkLmxlbmd0aCAhPT0gX19leHBlY3RlZC5sZW5ndGgpIHsKCSRFUlJPUignIzE6IF9fZXhlY3V0ZWQgPSAvXFxkezIsNH0vLmV4ZWMoInRoZSBGYWhyZW5oZWl0IDQ1MSBib29rIik7IF9fZXhlY3V0ZWQubGVuZ3RoID09PSAnICsgX19leHBlY3RlZC5sZW5ndGggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmxlbmd0aCk7Cn0KCi8vQ0hFQ0sjMgppZiAoX19leGVjdXRlZC5pbmRleCAhPT0gX19leHBlY3RlZC5pbmRleCkgewoJJEVSUk9SKCcjMjogX19leGVjdXRlZCA9IC9cXGR7Miw0fS8uZXhlYygidGhlIEZhaHJlbmhlaXQgNDUxIGJvb2siKTsgX19leGVjdXRlZC5pbmRleCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5kZXggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmluZGV4KTsKfQoKLy9DSEVDSyMzCmlmIChfX2V4ZWN1dGVkLmlucHV0ICE9PSBfX2V4cGVjdGVkLmlucHV0KSB7CgkkRVJST1IoJyMzOiBfX2V4ZWN1dGVkID0gL1xcZHsyLDR9Ly5leGVjKCJ0aGUgRmFocmVuaGVpdCA0NTEgYm9vayIpOyBfX2V4ZWN1dGVkLmlucHV0ID09PSAnICsgX19leHBlY3RlZC5pbnB1dCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5wdXQpOwp9CgovL0NIRUNLIzQKZm9yKHZhciBpbmRleD0wOyBpbmRleDxfX2V4cGVjdGVkLmxlbmd0aDsgaW5kZXgrKykgewoJaWYgKF9fZXhlY3V0ZWRbaW5kZXhdICE9PSBfX2V4cGVjdGVkW2luZGV4XSkgewoJCSRFUlJPUignIzQ6IF9fZXhlY3V0ZWQgPSAvXFxkezIsNH0vLmV4ZWMoInRoZSBGYWhyZW5oZWl0IDQ1MSBib29rIik7IF9fZXhlY3V0ZWRbJyArIGluZGV4ICsgJ10gPT09ICcgKyBfX2V4cGVjdGVkW2luZGV4XSArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWRbaW5kZXhdKTsKCX0KfQoKCg==","commentary":"The production QuantifierPrefix :: { DecimalDigits , DecimalDigits } evaluates as ...","description":"Execute /\\d{2,4}/.exec(\"the Fahrenheit 451 book\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A1_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBRdWFudGlmaWVyUHJlZml4IDo6IHsgRGVjaW1hbERpZ2l0cyAsIERlY2ltYWxEaWdpdHMgfSBldmFsdWF0ZXMgYXMgLi4uCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuMi8xNS4xMC4yLjcvUzE1LjEwLjIuN19BMV9UNS5qcwogKiBAZGVzY3JpcHRpb24gRXhlY3V0ZSAvXGR7Miw0fS8uZXhlYygidGhlIDE5ODQgbm92ZWwiKSBhbmQgY2hlY2sgcmVzdWx0cwogKi8KCl9fZXhlY3V0ZWQgPSAvXGR7Miw0fS8uZXhlYygidGhlIDE5ODQgbm92ZWwiKTsKCl9fZXhwZWN0ZWQgPSBbIjE5ODQiXTsKX19leHBlY3RlZC5pbmRleCA9IDQ7Cl9fZXhwZWN0ZWQuaW5wdXQgPSAidGhlIDE5ODQgbm92ZWwiOwoKLy9DSEVDSyMxCmlmIChfX2V4ZWN1dGVkLmxlbmd0aCAhPT0gX19leHBlY3RlZC5sZW5ndGgpIHsKCSRFUlJPUignIzE6IF9fZXhlY3V0ZWQgPSAvXFxkezIsNH0vLmV4ZWMoInRoZSAxOTg0IG5vdmVsIik7IF9fZXhlY3V0ZWQubGVuZ3RoID09PSAnICsgX19leHBlY3RlZC5sZW5ndGggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmxlbmd0aCk7Cn0KCi8vQ0hFQ0sjMgppZiAoX19leGVjdXRlZC5pbmRleCAhPT0gX19leHBlY3RlZC5pbmRleCkgewoJJEVSUk9SKCcjMjogX19leGVjdXRlZCA9IC9cXGR7Miw0fS8uZXhlYygidGhlIDE5ODQgbm92ZWwiKTsgX19leGVjdXRlZC5pbmRleCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5kZXggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmluZGV4KTsKfQoKLy9DSEVDSyMzCmlmIChfX2V4ZWN1dGVkLmlucHV0ICE9PSBfX2V4cGVjdGVkLmlucHV0KSB7CgkkRVJST1IoJyMzOiBfX2V4ZWN1dGVkID0gL1xcZHsyLDR9Ly5leGVjKCJ0aGUgMTk4NCBub3ZlbCIpOyBfX2V4ZWN1dGVkLmlucHV0ID09PSAnICsgX19leHBlY3RlZC5pbnB1dCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5wdXQpOwp9CgovL0NIRUNLIzQKZm9yKHZhciBpbmRleD0wOyBpbmRleDxfX2V4cGVjdGVkLmxlbmd0aDsgaW5kZXgrKykgewoJaWYgKF9fZXhlY3V0ZWRbaW5kZXhdICE9PSBfX2V4cGVjdGVkW2luZGV4XSkgewoJCSRFUlJPUignIzQ6IF9fZXhlY3V0ZWQgPSAvXFxkezIsNH0vLmV4ZWMoInRoZSAxOTg0IG5vdmVsIik7IF9fZXhlY3V0ZWRbJyArIGluZGV4ICsgJ10gPT09ICcgKyBfX2V4cGVjdGVkW2luZGV4XSArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWRbaW5kZXhdKTsKCX0KfQoKCg==","commentary":"The production QuantifierPrefix :: { DecimalDigits , DecimalDigits } evaluates as ...","description":"Execute /\\d{2,4}/.exec(\"the 1984 novel\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A1_T5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBRdWFudGlmaWVyUHJlZml4IDo6IHsgRGVjaW1hbERpZ2l0cyAsIERlY2ltYWxEaWdpdHMgfSBldmFsdWF0ZXMgYXMgLi4uCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuMi8xNS4xMC4yLjcvUzE1LjEwLjIuN19BMV9UNi5qcwogKiBAZGVzY3JpcHRpb24gRXhlY3V0ZSAvXGR7Miw0fS8uZXhlYygiMGEwXHUwMDMxXHUwMDMxYiIpIGFuZCBjaGVjayByZXN1bHRzCiAqLwoKX19leGVjdXRlZCA9IC9cZHsyLDR9Ly5leGVjKCIwYTBcdTAwMzFcdTAwMzFiIik7CgpfX2V4cGVjdGVkID0gWyIwMTEiXTsKX19leHBlY3RlZC5pbmRleCA9IDI7Cl9fZXhwZWN0ZWQuaW5wdXQgPSAiMGEwMTFiIjsKCi8vQ0hFQ0sjMQppZiAoX19leGVjdXRlZC5sZW5ndGggIT09IF9fZXhwZWN0ZWQubGVuZ3RoKSB7CgkkRVJST1IoJyMxOiBfX2V4ZWN1dGVkID0gL1xcZHsyLDR9Ly5leGVjKCIwYTBcXHUwMDMxXFx1MDAzMWIiKTsgX19leGVjdXRlZC5sZW5ndGggPT09ICcgKyBfX2V4cGVjdGVkLmxlbmd0aCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQubGVuZ3RoKTsKfQoKLy9DSEVDSyMyCmlmIChfX2V4ZWN1dGVkLmluZGV4ICE9PSBfX2V4cGVjdGVkLmluZGV4KSB7CgkkRVJST1IoJyMyOiBfX2V4ZWN1dGVkID0gL1xcZHsyLDR9Ly5leGVjKCIwYTBcXHUwMDMxXFx1MDAzMWIiKTsgX19leGVjdXRlZC5pbmRleCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5kZXggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmluZGV4KTsKfQoKLy9DSEVDSyMzCmlmIChfX2V4ZWN1dGVkLmlucHV0ICE9PSBfX2V4cGVjdGVkLmlucHV0KSB7CgkkRVJST1IoJyMzOiBfX2V4ZWN1dGVkID0gL1xcZHsyLDR9Ly5leGVjKCIwYTBcXHUwMDMxXFx1MDAzMWIiKTsgX19leGVjdXRlZC5pbnB1dCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5wdXQgKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmlucHV0KTsKfQoKLy9DSEVDSyM0CmZvcih2YXIgaW5kZXg9MDsgaW5kZXg8X19leHBlY3RlZC5sZW5ndGg7IGluZGV4KyspIHsKCWlmIChfX2V4ZWN1dGVkW2luZGV4XSAhPT0gX19leHBlY3RlZFtpbmRleF0pIHsKCQkkRVJST1IoJyM0OiBfX2V4ZWN1dGVkID0gL1xcZHsyLDR9Ly5leGVjKCIwYTBcXHUwMDMxXFx1MDAzMWIiKTsgX19leGVjdXRlZFsnICsgaW5kZXggKyAnXSA9PT0gJyArIF9fZXhwZWN0ZWRbaW5kZXhdICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZFtpbmRleF0pOwoJfQp9CgoK","commentary":"The production QuantifierPrefix :: { DecimalDigits , DecimalDigits } evaluates as ...","description":"Execute /\\d{2,4}/.exec(\"0a0\\u0031\\u0031b\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A1_T6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBRdWFudGlmaWVyUHJlZml4IDo6IHsgRGVjaW1hbERpZ2l0cyAsIERlY2ltYWxEaWdpdHMgfSBldmFsdWF0ZXMgYXMgLi4uCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuMi8xNS4xMC4yLjcvUzE1LjEwLjIuN19BMV9UNy5qcwogKiBAZGVzY3JpcHRpb24gRXhlY3V0ZSAvXGR7Miw0fS8uZXhlYygiMGEwXHUwMDMxXHUwMDMxMjJiIikgYW5kIGNoZWNrIHJlc3VsdHMKICovCgpfX2V4ZWN1dGVkID0gL1xkezIsNH0vLmV4ZWMoIjBhMFx1MDAzMVx1MDAzMTIyYiIpOwoKX19leHBlY3RlZCA9IFsiMDExMiJdOwpfX2V4cGVjdGVkLmluZGV4ID0gMjsKX19leHBlY3RlZC5pbnB1dCA9ICIwYTAxMTIyYiI7CgovL0NIRUNLIzEKaWYgKF9fZXhlY3V0ZWQubGVuZ3RoICE9PSBfX2V4cGVjdGVkLmxlbmd0aCkgewoJJEVSUk9SKCcjMTogX19leGVjdXRlZCA9IC9cXGR7Miw0fS8uZXhlYygiMGEwXFx1MDAzMVxcdTAwMzEyMmIiKTsgX19leGVjdXRlZC5sZW5ndGggPT09ICcgKyBfX2V4cGVjdGVkLmxlbmd0aCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQubGVuZ3RoKTsKfQoKLy9DSEVDSyMyCmlmIChfX2V4ZWN1dGVkLmluZGV4ICE9PSBfX2V4cGVjdGVkLmluZGV4KSB7CgkkRVJST1IoJyMyOiBfX2V4ZWN1dGVkID0gL1xcZHsyLDR9Ly5leGVjKCIwYTBcXHUwMDMxXFx1MDAzMTIyYiIpOyBfX2V4ZWN1dGVkLmluZGV4ID09PSAnICsgX19leHBlY3RlZC5pbmRleCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5kZXgpOwp9CgovL0NIRUNLIzMKaWYgKF9fZXhlY3V0ZWQuaW5wdXQgIT09IF9fZXhwZWN0ZWQuaW5wdXQpIHsKCSRFUlJPUignIzM6IF9fZXhlY3V0ZWQgPSAvXFxkezIsNH0vLmV4ZWMoIjBhMFxcdTAwMzFcXHUwMDMxMjJiIik7IF9fZXhlY3V0ZWQuaW5wdXQgPT09ICcgKyBfX2V4cGVjdGVkLmlucHV0ICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5pbnB1dCk7Cn0KCi8vQ0hFQ0sjNApmb3IodmFyIGluZGV4PTA7IGluZGV4PF9fZXhwZWN0ZWQubGVuZ3RoOyBpbmRleCsrKSB7CglpZiAoX19leGVjdXRlZFtpbmRleF0gIT09IF9fZXhwZWN0ZWRbaW5kZXhdKSB7CgkJJEVSUk9SKCcjNDogX19leGVjdXRlZCA9IC9cXGR7Miw0fS8uZXhlYygiMGEwXFx1MDAzMVxcdTAwMzEyMmIiKTsgX19leGVjdXRlZFsnICsgaW5kZXggKyAnXSA9PT0gJyArIF9fZXhwZWN0ZWRbaW5kZXhdICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZFtpbmRleF0pOwoJfQp9CgoK","commentary":"The production QuantifierPrefix :: { DecimalDigits , DecimalDigits } evaluates as ...","description":"Execute /\\d{2,4}/.exec(\"0a0\\u0031\\u003122b\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A1_T7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBRdWFudGlmaWVyUHJlZml4IDo6IHsgRGVjaW1hbERpZ2l0cyAsIERlY2ltYWxEaWdpdHMgfSBldmFsdWF0ZXMgYXMgLi4uCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuMi8xNS4xMC4yLjcvUzE1LjEwLjIuN19BMV9UOC5qcwogKiBAZGVzY3JpcHRpb24gRXhlY3V0ZSAvYnsyLDN9Yy8uZXhlYygiYWFhYmJiYmNjY2RkZWVlZWZmZmZmIikgYW5kIGNoZWNrIHJlc3VsdHMKICovCgpfX2V4ZWN1dGVkID0gL2J7MiwzfWMvLmV4ZWMoImFhYWJiYmJjY2NkZGVlZWVmZmZmZiIpOwoKX19leHBlY3RlZCA9IFsiYmJiYyJdOwpfX2V4cGVjdGVkLmluZGV4ID0gNDsKX19leHBlY3RlZC5pbnB1dCA9ICJhYWFiYmJiY2NjZGRlZWVlZmZmZmYiOwoKLy9DSEVDSyMxCmlmIChfX2V4ZWN1dGVkLmxlbmd0aCAhPT0gX19leHBlY3RlZC5sZW5ndGgpIHsKCSRFUlJPUignIzE6IF9fZXhlY3V0ZWQgPSAvYnsyLDN9Yy8uZXhlYygiYWFhYmJiYmNjY2RkZWVlZWZmZmZmIik7IF9fZXhlY3V0ZWQubGVuZ3RoID09PSAnICsgX19leHBlY3RlZC5sZW5ndGggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmxlbmd0aCk7Cn0KCi8vQ0hFQ0sjMgppZiAoX19leGVjdXRlZC5pbmRleCAhPT0gX19leHBlY3RlZC5pbmRleCkgewoJJEVSUk9SKCcjMjogX19leGVjdXRlZCA9IC9iezIsM31jLy5leGVjKCJhYWFiYmJiY2NjZGRlZWVlZmZmZmYiKTsgX19leGVjdXRlZC5pbmRleCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5kZXggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmluZGV4KTsKfQoKLy9DSEVDSyMzCmlmIChfX2V4ZWN1dGVkLmlucHV0ICE9PSBfX2V4cGVjdGVkLmlucHV0KSB7CgkkRVJST1IoJyMzOiBfX2V4ZWN1dGVkID0gL2J7MiwzfWMvLmV4ZWMoImFhYWJiYmJjY2NkZGVlZWVmZmZmZiIpOyBfX2V4ZWN1dGVkLmlucHV0ID09PSAnICsgX19leHBlY3RlZC5pbnB1dCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5wdXQpOwp9CgovL0NIRUNLIzQKZm9yKHZhciBpbmRleD0wOyBpbmRleDxfX2V4cGVjdGVkLmxlbmd0aDsgaW5kZXgrKykgewoJaWYgKF9fZXhlY3V0ZWRbaW5kZXhdICE9PSBfX2V4cGVjdGVkW2luZGV4XSkgewoJCSRFUlJPUignIzQ6IF9fZXhlY3V0ZWQgPSAvYnsyLDN9Yy8uZXhlYygiYWFhYmJiYmNjY2RkZWVlZWZmZmZmIik7IF9fZXhlY3V0ZWRbJyArIGluZGV4ICsgJ10gPT09ICcgKyBfX2V4cGVjdGVkW2luZGV4XSArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWRbaW5kZXhdKTsKCX0KfQoKCg==","commentary":"The production QuantifierPrefix :: { DecimalDigits , DecimalDigits } evaluates as ...","description":"Execute /b{2,3}c/.exec(\"aaabbbbcccddeeeefffff\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A1_T8.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBRdWFudGlmaWVyUHJlZml4IDo6IHsgRGVjaW1hbERpZ2l0cyAsIERlY2ltYWxEaWdpdHMgfSBldmFsdWF0ZXMgYXMgLi4uCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuMi8xNS4xMC4yLjcvUzE1LjEwLjIuN19BMV9UOS5qcwogKiBAZGVzY3JpcHRpb24gRXhlY3V0ZSAvYns0Miw5M31jLy5leGVjKCJhYWFiYmJiY2NjZGRlZWVlZmZmZmYiKSBhbmQgY2hlY2sgcmVzdWx0cwogKi8KCl9fZXhlY3V0ZWQgPSAvYns0Miw5M31jLy50ZXN0KCJhYWFiYmJiY2NjZGRlZWVlZmZmZmYiKTsKCi8vQ0hFQ0sjMQppZiAoX19leGVjdXRlZCkgewoJJEVSUk9SKCcjMTogL2J7NDIsOTN9Yy8udGVzdCgiYWFhYmJiYmNjY2RkZWVlZWZmZmZmIikgPT09IGZhbHNlJyk7Cn0KCgo=","commentary":"The production QuantifierPrefix :: { DecimalDigits , DecimalDigits } evaluates as ...","description":"Execute /b{42,93}c/.exec(\"aaabbbbcccddeeeefffff\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A1_T9.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBpKSBUaGUgcHJvZHVjdGlvbiBRdWFudGlmaWVyUHJlZml4IDo6IHsgRGVjaW1hbERpZ2l0cyB9IGV2YWx1YXRlcy4uLgogKiBpaSkgVGhlIHByb2R1Y3Rpb24gUXVhbnRpZmllclByZWZpeCA6OiA/IGV2YWx1YXRlcyBieSByZXR1cm5pbmcgdGhlIHR3byByZXN1bHRzIDAgYW5kIDEKICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC4yLzE1LjEwLjIuNy9TMTUuMTAuMi43X0EyX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBFeGVjdXRlIC9cd3szfVxkPy8uZXhlYygiQ0VcdUZGRkZMXHVGRkREYm94MTI3IikgYW5kIGNoZWNrIHJlc3VsdHMKICovCgpfX2V4ZWN1dGVkID0gL1x3ezN9XGQ/Ly5leGVjKCJDRVx1RkZGRkxcdUZGRERib3gxMjciKTsKCl9fZXhwZWN0ZWQgPSBbImJveDEiXTsKX19leHBlY3RlZC5pbmRleCA9IDU7Cl9fZXhwZWN0ZWQuaW5wdXQgPSAiQ0VcdUZGRkZMXHVGRkREYm94MTI3IjsKCi8vQ0hFQ0sjMQppZiAoX19leGVjdXRlZC5sZW5ndGggIT09IF9fZXhwZWN0ZWQubGVuZ3RoKSB7CgkkRVJST1IoJyMxOiBfX2V4ZWN1dGVkID0gL1xcd3szfVxcZD8vLmV4ZWMoIkNFXFx1RkZGRkxcXHVGRkREYm94MTI3Iik7IF9fZXhlY3V0ZWQubGVuZ3RoID09PSAnICsgX19leHBlY3RlZC5sZW5ndGggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmxlbmd0aCk7Cn0KCi8vQ0hFQ0sjMgppZiAoX19leGVjdXRlZC5pbmRleCAhPT0gX19leHBlY3RlZC5pbmRleCkgewoJJEVSUk9SKCcjMjogX19leGVjdXRlZCA9IC9cXHd7M31cXGQ/Ly5leGVjKCJDRVxcdUZGRkZMXFx1RkZERGJveDEyNyIpOyBfX2V4ZWN1dGVkLmluZGV4ID09PSAnICsgX19leHBlY3RlZC5pbmRleCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5kZXgpOwp9CgovL0NIRUNLIzMKaWYgKF9fZXhlY3V0ZWQuaW5wdXQgIT09IF9fZXhwZWN0ZWQuaW5wdXQpIHsKCSRFUlJPUignIzM6IF9fZXhlY3V0ZWQgPSAvXFx3ezN9XFxkPy8uZXhlYygiQ0VcXHVGRkZGTFxcdUZGRERib3gxMjciKTsgX19leGVjdXRlZC5pbnB1dCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5wdXQgKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmlucHV0KTsKfQoKLy9DSEVDSyM0CmZvcih2YXIgaW5kZXg9MDsgaW5kZXg8X19leHBlY3RlZC5sZW5ndGg7IGluZGV4KyspIHsKCWlmIChfX2V4ZWN1dGVkW2luZGV4XSAhPT0gX19leHBlY3RlZFtpbmRleF0pIHsKCQkkRVJST1IoJyM0OiBfX2V4ZWN1dGVkID0gL1xcd3szfVxcZD8vLmV4ZWMoIkNFXFx1RkZGRkxcXHVGRkREYm94MTI3Iik7IF9fZXhlY3V0ZWRbJyArIGluZGV4ICsgJ10gPT09ICcgKyBfX2V4cGVjdGVkW2luZGV4XSArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWRbaW5kZXhdKTsKCX0KfQoKCg==","commentary":"i) The production QuantifierPrefix :: { DecimalDigits } evaluates...\nii) The production QuantifierPrefix :: ? evaluates by returning the two results 0 and 1","description":"Execute /\\w{3}\\d?/.exec(\"CE\\uFFFFL\\uFFDDbox127\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBpKSBUaGUgcHJvZHVjdGlvbiBRdWFudGlmaWVyUHJlZml4IDo6IHsgRGVjaW1hbERpZ2l0cyB9IGV2YWx1YXRlcy4uLgogKiBpaSkgVGhlIHByb2R1Y3Rpb24gUXVhbnRpZmllclByZWZpeCA6OiA/IGV2YWx1YXRlcyBieSByZXR1cm5pbmcgdGhlIHR3byByZXN1bHRzIDAgYW5kIDEKICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC4yLzE1LjEwLjIuNy9TMTUuMTAuMi43X0EyX1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBFeGVjdXRlIC9cd3szfVxkPy8uZXhlYygiQ0VMTFx1RkZERGJveDEyNyIpIGFuZCBjaGVjayByZXN1bHRzCiAqLwoKX19leGVjdXRlZCA9IC9cd3szfVxkPy8uZXhlYygiQ0VMTFx1RkZERGJveDEyNyIpOwoKX19leHBlY3RlZCA9IFsiQ0VMIl07Cl9fZXhwZWN0ZWQuaW5kZXggPSAwOwpfX2V4cGVjdGVkLmlucHV0ID0gIkNFTExcdUZGRERib3gxMjciOwoKLy9DSEVDSyMxCmlmIChfX2V4ZWN1dGVkLmxlbmd0aCAhPT0gX19leHBlY3RlZC5sZW5ndGgpIHsKCSRFUlJPUignIzE6IF9fZXhlY3V0ZWQgPSAvXFx3ezN9XFxkPy8uZXhlYygiQ0VMTFxcdUZGRERib3gxMjciKTsgX19leGVjdXRlZC5sZW5ndGggPT09ICcgKyBfX2V4cGVjdGVkLmxlbmd0aCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQubGVuZ3RoKTsKfQoKLy9DSEVDSyMyCmlmIChfX2V4ZWN1dGVkLmluZGV4ICE9PSBfX2V4cGVjdGVkLmluZGV4KSB7CgkkRVJST1IoJyMyOiBfX2V4ZWN1dGVkID0gL1xcd3szfVxcZD8vLmV4ZWMoIkNFTExcXHVGRkREYm94MTI3Iik7IF9fZXhlY3V0ZWQuaW5kZXggPT09ICcgKyBfX2V4cGVjdGVkLmluZGV4ICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5pbmRleCk7Cn0KCi8vQ0hFQ0sjMwppZiAoX19leGVjdXRlZC5pbnB1dCAhPT0gX19leHBlY3RlZC5pbnB1dCkgewoJJEVSUk9SKCcjMzogX19leGVjdXRlZCA9IC9cXHd7M31cXGQ/Ly5leGVjKCJDRUxMXFx1RkZERGJveDEyNyIpOyBfX2V4ZWN1dGVkLmlucHV0ID09PSAnICsgX19leHBlY3RlZC5pbnB1dCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5wdXQpOwp9CgovL0NIRUNLIzQKZm9yKHZhciBpbmRleD0wOyBpbmRleDxfX2V4cGVjdGVkLmxlbmd0aDsgaW5kZXgrKykgewoJaWYgKF9fZXhlY3V0ZWRbaW5kZXhdICE9PSBfX2V4cGVjdGVkW2luZGV4XSkgewoJCSRFUlJPUignIzQ6IF9fZXhlY3V0ZWQgPSAvXFx3ezN9XFxkPy8uZXhlYygiQ0VMTFxcdUZGRERib3gxMjciKTsgX19leGVjdXRlZFsnICsgaW5kZXggKyAnXSA9PT0gJyArIF9fZXhwZWN0ZWRbaW5kZXhdICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZFtpbmRleF0pOwoJfQp9CgoK","commentary":"i) The production QuantifierPrefix :: { DecimalDigits } evaluates...\nii) The production QuantifierPrefix :: ? evaluates by returning the two results 0 and 1","description":"Execute /\\w{3}\\d?/.exec(\"CELL\\uFFDDbox127\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A2_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBpKSBUaGUgcHJvZHVjdGlvbiBRdWFudGlmaWVyUHJlZml4IDo6IHsgRGVjaW1hbERpZ2l0cyB9IGV2YWx1YXRlcy4uLgogKiBpaSkgVGhlIHByb2R1Y3Rpb24gUXVhbnRpZmllclByZWZpeCA6OiA/IGV2YWx1YXRlcyBieSByZXR1cm5pbmcgdGhlIHR3byByZXN1bHRzIDAgYW5kIDEKICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC4yLzE1LjEwLjIuNy9TMTUuMTAuMi43X0EyX1QzLmpzCiAqIEBkZXNjcmlwdGlvbiBFeGVjdXRlIC9iezJ9Yy8uZXhlYygiYWFhYmJiYmNjY2RkZWVlZWZmZmZmIikgYW5kIGNoZWNrIHJlc3VsdHMKICovCgpfX2V4ZWN1dGVkID0gL2J7Mn1jLy5leGVjKCJhYWFiYmJiY2NjZGRlZWVlZmZmZmYiKTsKCl9fZXhwZWN0ZWQgPSBbImJiYyJdOwpfX2V4cGVjdGVkLmluZGV4ID0gNTsKX19leHBlY3RlZC5pbnB1dCA9ICJhYWFiYmJiY2NjZGRlZWVlZmZmZmYiOwoKLy9DSEVDSyMxCmlmIChfX2V4ZWN1dGVkLmxlbmd0aCAhPT0gX19leHBlY3RlZC5sZW5ndGgpIHsKCSRFUlJPUignIzE6IF9fZXhlY3V0ZWQgPSAvYnsyfWMvLmV4ZWMoImFhYWJiYmJjY2NkZGVlZWVmZmZmZiIpOyBfX2V4ZWN1dGVkLmxlbmd0aCA9PT0gJyArIF9fZXhwZWN0ZWQubGVuZ3RoICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5sZW5ndGgpOwp9CgovL0NIRUNLIzIKaWYgKF9fZXhlY3V0ZWQuaW5kZXggIT09IF9fZXhwZWN0ZWQuaW5kZXgpIHsKCSRFUlJPUignIzI6IF9fZXhlY3V0ZWQgPSAvYnsyfWMvLmV4ZWMoImFhYWJiYmJjY2NkZGVlZWVmZmZmZiIpOyBfX2V4ZWN1dGVkLmluZGV4ID09PSAnICsgX19leHBlY3RlZC5pbmRleCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5kZXgpOwp9CgovL0NIRUNLIzMKaWYgKF9fZXhlY3V0ZWQuaW5wdXQgIT09IF9fZXhwZWN0ZWQuaW5wdXQpIHsKCSRFUlJPUignIzM6IF9fZXhlY3V0ZWQgPSAvYnsyfWMvLmV4ZWMoImFhYWJiYmJjY2NkZGVlZWVmZmZmZiIpOyBfX2V4ZWN1dGVkLmlucHV0ID09PSAnICsgX19leHBlY3RlZC5pbnB1dCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5wdXQpOwp9CgovL0NIRUNLIzQKZm9yKHZhciBpbmRleD0wOyBpbmRleDxfX2V4cGVjdGVkLmxlbmd0aDsgaW5kZXgrKykgewoJaWYgKF9fZXhlY3V0ZWRbaW5kZXhdICE9PSBfX2V4cGVjdGVkW2luZGV4XSkgewoJCSRFUlJPUignIzQ6IF9fZXhlY3V0ZWQgPSAvYnsyfWMvLmV4ZWMoImFhYWJiYmJjY2NkZGVlZWVmZmZmZiIpOyBfX2V4ZWN1dGVkWycgKyBpbmRleCArICddID09PSAnICsgX19leHBlY3RlZFtpbmRleF0gKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkW2luZGV4XSk7Cgl9Cn0KCgo=","commentary":"i) The production QuantifierPrefix :: { DecimalDigits } evaluates...\nii) The production QuantifierPrefix :: ? evaluates by returning the two results 0 and 1","description":"Execute /b{2}c/.exec(\"aaabbbbcccddeeeefffff\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A2_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBpKSBUaGUgcHJvZHVjdGlvbiBRdWFudGlmaWVyUHJlZml4IDo6IHsgRGVjaW1hbERpZ2l0cyB9IGV2YWx1YXRlcy4uLgogKiBpaSkgVGhlIHByb2R1Y3Rpb24gUXVhbnRpZmllclByZWZpeCA6OiA/IGV2YWx1YXRlcyBieSByZXR1cm5pbmcgdGhlIHR3byByZXN1bHRzIDAgYW5kIDEKICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC4yLzE1LjEwLjIuNy9TMTUuMTAuMi43X0EyX1Q0LmpzCiAqIEBkZXNjcmlwdGlvbiBFeGVjdXRlIC9iezh9Yy8udGVzdCgiYWFhYmJiYmNjY2RkZWVlZWZmZmZmIikgYW5kIGNoZWNrIHJlc3VsdHMKICovCgpfX2V4ZWN1dGVkID0gL2J7OH0vLnRlc3QoImFhYWJiYmJjY2NkZGVlZWVmZmZmZiIpOwoKLy9DSEVDSyMxCmlmIChfX2V4ZWN1dGVkKSB7CgkkRVJST1IoJyMxOiAvYns4fS8udGVzdCgiYWFhYmJiYmNjY2RkZWVlZWZmZmZmIikgPT09IGZhbHNlJyk7Cn0KCgo=","commentary":"i) The production QuantifierPrefix :: { DecimalDigits } evaluates...\nii) The production QuantifierPrefix :: ? evaluates by returning the two results 0 and 1","description":"Execute /b{8}c/.test(\"aaabbbbcccddeeeefffff\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A2_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBRdWFudGlmaWVyUHJlZml4IDo6ICsgZXZhbHVhdGVzIGJ5IHJldHVybmluZyB0aGUgdHdvIHJlc3VsdHMgMSBhbmQgXGluZnR5CiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuMi8xNS4xMC4yLjcvUzE1LjEwLjIuN19BM19UMS5qcwogKiBAZGVzY3JpcHRpb24gRXhlY3V0ZSAvXHMramF2YVxzKy8uZXhlYygibGFuZ3VhZ2UgIGphdmFcbiIpIGFuZCBjaGVjayByZXN1bHRzCiAqLwoKX19leGVjdXRlZCA9IC9ccytqYXZhXHMrLy5leGVjKCJsYW5ndWFnZSAgamF2YVxuIik7CgpfX2V4cGVjdGVkID0gWyIgIGphdmFcbiJdOwpfX2V4cGVjdGVkLmluZGV4ID0gODsKX19leHBlY3RlZC5pbnB1dCA9ICJsYW5ndWFnZSAgamF2YVxuIjsKCi8vQ0hFQ0sjMQppZiAoX19leGVjdXRlZC5sZW5ndGggIT09IF9fZXhwZWN0ZWQubGVuZ3RoKSB7CgkkRVJST1IoJyMxOiBfX2V4ZWN1dGVkID0gL1xccytqYXZhXFxzKy8uZXhlYygibGFuZ3VhZ2UgIGphdmFcXG4iKTsgX19leGVjdXRlZC5sZW5ndGggPT09ICcgKyBfX2V4cGVjdGVkLmxlbmd0aCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQubGVuZ3RoKTsKfQoKLy9DSEVDSyMyCmlmIChfX2V4ZWN1dGVkLmluZGV4ICE9PSBfX2V4cGVjdGVkLmluZGV4KSB7CgkkRVJST1IoJyMyOiBfX2V4ZWN1dGVkID0gL1xccytqYXZhXFxzKy8uZXhlYygibGFuZ3VhZ2UgIGphdmFcXG4iKTsgX19leGVjdXRlZC5pbmRleCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5kZXggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmluZGV4KTsKfQoKLy9DSEVDSyMzCmlmIChfX2V4ZWN1dGVkLmlucHV0ICE9PSBfX2V4cGVjdGVkLmlucHV0KSB7CgkkRVJST1IoJyMzOiBfX2V4ZWN1dGVkID0gL1xccytqYXZhXFxzKy8uZXhlYygibGFuZ3VhZ2UgIGphdmFcXG4iKTsgX19leGVjdXRlZC5pbnB1dCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5wdXQgKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmlucHV0KTsKfQoKLy9DSEVDSyM0CmZvcih2YXIgaW5kZXg9MDsgaW5kZXg8X19leHBlY3RlZC5sZW5ndGg7IGluZGV4KyspIHsKCWlmIChfX2V4ZWN1dGVkW2luZGV4XSAhPT0gX19leHBlY3RlZFtpbmRleF0pIHsKCQkkRVJST1IoJyM0OiBfX2V4ZWN1dGVkID0gL1xccytqYXZhXFxzKy8uZXhlYygibGFuZ3VhZ2UgIGphdmFcXG4iKTsgX19leGVjdXRlZFsnICsgaW5kZXggKyAnXSA9PT0gJyArIF9fZXhwZWN0ZWRbaW5kZXhdICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZFtpbmRleF0pOwoJfQp9CgoK","commentary":"The production QuantifierPrefix :: + evaluates by returning the two results 1 and \\infty","description":"Execute /\\s+java\\s+/.exec(\"language java\\n\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A3_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBRdWFudGlmaWVyUHJlZml4IDo6ICsgZXZhbHVhdGVzIGJ5IHJldHVybmluZyB0aGUgdHdvIHJlc3VsdHMgMSBhbmQgXGluZnR5CiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuMi8xNS4xMC4yLjcvUzE1LjEwLjIuN19BM19UMTAuanMKICogQGRlc2NyaXB0aW9uIEV4ZWN1dGUgL28rLy50ZXN0KCJhYmNkZWZnIikgYW5kIGNoZWNrIHJlc3VsdHMKICovCgpfX2V4ZWN1dGVkID0gL28rLy50ZXN0KCJhYmNkZWZnIik7CgovL0NIRUNLIzEKaWYgKF9fZXhlY3V0ZWQpIHsKCSRFUlJPUignIzE6IC9vKy8udGVzdCgiYWJjZGVmZyIpID09PSBmYWxzZScpOwp9CgoK","commentary":"The production QuantifierPrefix :: + evaluates by returning the two results 1 and \\infty","description":"Execute /o+/.test(\"abcdefg\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A3_T10.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBRdWFudGlmaWVyUHJlZml4IDo6ICsgZXZhbHVhdGVzIGJ5IHJldHVybmluZyB0aGUgdHdvIHJlc3VsdHMgMSBhbmQgXGluZnR5CiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuMi8xNS4xMC4yLjcvUzE1LjEwLjIuN19BM19UMTEuanMKICogQGRlc2NyaXB0aW9uIEV4ZWN1dGUgL2QrLy5leGVjKCJhYmNkZWZnIikgYW5kIGNoZWNrIHJlc3VsdHMKICovCgpfX2V4ZWN1dGVkID0gL2QrLy5leGVjKCJhYmNkZWZnIik7CgpfX2V4cGVjdGVkID0gWyJkIl07Cl9fZXhwZWN0ZWQuaW5kZXggPSAzOwpfX2V4cGVjdGVkLmlucHV0ID0gImFiY2RlZmciOwoKLy9DSEVDSyMxCmlmIChfX2V4ZWN1dGVkLmxlbmd0aCAhPT0gX19leHBlY3RlZC5sZW5ndGgpIHsKCSRFUlJPUignIzE6IF9fZXhlY3V0ZWQgPSAvZCsvLmV4ZWMoImFiY2RlZmciKTsgX19leGVjdXRlZC5sZW5ndGggPT09ICcgKyBfX2V4cGVjdGVkLmxlbmd0aCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQubGVuZ3RoKTsKfQoKLy9DSEVDSyMyCmlmIChfX2V4ZWN1dGVkLmluZGV4ICE9PSBfX2V4cGVjdGVkLmluZGV4KSB7CgkkRVJST1IoJyMyOiBfX2V4ZWN1dGVkID0gL2QrLy5leGVjKCJhYmNkZWZnIik7IF9fZXhlY3V0ZWQuaW5kZXggPT09ICcgKyBfX2V4cGVjdGVkLmluZGV4ICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5pbmRleCk7Cn0KCi8vQ0hFQ0sjMwppZiAoX19leGVjdXRlZC5pbnB1dCAhPT0gX19leHBlY3RlZC5pbnB1dCkgewoJJEVSUk9SKCcjMzogX19leGVjdXRlZCA9IC9kKy8uZXhlYygiYWJjZGVmZyIpOyBfX2V4ZWN1dGVkLmlucHV0ID09PSAnICsgX19leHBlY3RlZC5pbnB1dCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5wdXQpOwp9CgovL0NIRUNLIzQKZm9yKHZhciBpbmRleD0wOyBpbmRleDxfX2V4cGVjdGVkLmxlbmd0aDsgaW5kZXgrKykgewoJaWYgKF9fZXhlY3V0ZWRbaW5kZXhdICE9PSBfX2V4cGVjdGVkW2luZGV4XSkgewoJCSRFUlJPUignIzQ6IF9fZXhlY3V0ZWQgPSAvZCsvLmV4ZWMoImFiY2RlZmciKTsgX19leGVjdXRlZFsnICsgaW5kZXggKyAnXSA9PT0gJyArIF9fZXhwZWN0ZWRbaW5kZXhdICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZFtpbmRleF0pOwoJfQp9CgoK","commentary":"The production QuantifierPrefix :: + evaluates by returning the two results 1 and \\infty","description":"Execute /d+/.exec(\"abcdefg\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A3_T11.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBRdWFudGlmaWVyUHJlZml4IDo6ICsgZXZhbHVhdGVzIGJ5IHJldHVybmluZyB0aGUgdHdvIHJlc3VsdHMgMSBhbmQgXGluZnR5CiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuMi8xNS4xMC4yLjcvUzE1LjEwLjIuN19BM19UMTIuanMKICogQGRlc2NyaXB0aW9uIEV4ZWN1dGUgLyhiKykoYispKGIrKS8uZXhlYygiYWJiYmJiYmJjIikgYW5kIGNoZWNrIHJlc3VsdHMKICovCgpfX2V4ZWN1dGVkID0gLyhiKykoYispKGIrKS8uZXhlYygiYWJiYmJiYmJjIik7CgpfX2V4cGVjdGVkID0gWyJiYmJiYmJiIiwiYmJiYmIiLCJiIiwiYiJdOwpfX2V4cGVjdGVkLmluZGV4ID0gMTsKX19leHBlY3RlZC5pbnB1dCA9ICJhYmJiYmJiYmMiOwoKLy9DSEVDSyMxCmlmIChfX2V4ZWN1dGVkLmxlbmd0aCAhPT0gX19leHBlY3RlZC5sZW5ndGgpIHsKCSRFUlJPUignIzE6IF9fZXhlY3V0ZWQgPSAvKGIrKShiKykoYispLy5leGVjKCJhYmJiYmJiYmMiKTsgX19leGVjdXRlZC5sZW5ndGggPT09ICcgKyBfX2V4cGVjdGVkLmxlbmd0aCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQubGVuZ3RoKTsKfQoKLy9DSEVDSyMyCmlmIChfX2V4ZWN1dGVkLmluZGV4ICE9PSBfX2V4cGVjdGVkLmluZGV4KSB7CgkkRVJST1IoJyMyOiBfX2V4ZWN1dGVkID0gLyhiKykoYispKGIrKS8uZXhlYygiYWJiYmJiYmJjIik7IF9fZXhlY3V0ZWQuaW5kZXggPT09ICcgKyBfX2V4cGVjdGVkLmluZGV4ICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5pbmRleCk7Cn0KCi8vQ0hFQ0sjMwppZiAoX19leGVjdXRlZC5pbnB1dCAhPT0gX19leHBlY3RlZC5pbnB1dCkgewoJJEVSUk9SKCcjMzogX19leGVjdXRlZCA9IC8oYispKGIrKShiKykvLmV4ZWMoImFiYmJiYmJiYyIpOyBfX2V4ZWN1dGVkLmlucHV0ID09PSAnICsgX19leHBlY3RlZC5pbnB1dCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5wdXQpOwp9CgovL0NIRUNLIzQKZm9yKHZhciBpbmRleD0wOyBpbmRleDxfX2V4cGVjdGVkLmxlbmd0aDsgaW5kZXgrKykgewoJaWYgKF9fZXhlY3V0ZWRbaW5kZXhdICE9PSBfX2V4cGVjdGVkW2luZGV4XSkgewoJCSRFUlJPUignIzQ6IF9fZXhlY3V0ZWQgPSAvKGIrKShiKykoYispLy5leGVjKCJhYmJiYmJiYmMiKTsgX19leGVjdXRlZFsnICsgaW5kZXggKyAnXSA9PT0gJyArIF9fZXhwZWN0ZWRbaW5kZXhdICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZFtpbmRleF0pOwoJfQp9CgoK","commentary":"The production QuantifierPrefix :: + evaluates by returning the two results 1 and \\infty","description":"Execute /(b+)(b+)(b+)/.exec(\"abbbbbbbc\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A3_T12.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBRdWFudGlmaWVyUHJlZml4IDo6ICsgZXZhbHVhdGVzIGJ5IHJldHVybmluZyB0aGUgdHdvIHJlc3VsdHMgMSBhbmQgXGluZnR5CiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuMi8xNS4xMC4yLjcvUzE1LjEwLjIuN19BM19UMTMuanMKICogQGRlc2NyaXB0aW9uIEV4ZWN1dGUgLyhiKykoYiopLy5leGVjKCJhYmJiYmJiYmMiKSBhbmQgY2hlY2sgcmVzdWx0cwogKi8KCl9fZXhlY3V0ZWQgPSAvKGIrKShiKikvLmV4ZWMoImFiYmJiYmJiYyIpOwoKX19leHBlY3RlZCA9IFsiYmJiYmJiYiIsImJiYmJiYmIiLCIiXTsKX19leHBlY3RlZC5pbmRleCA9IDE7Cl9fZXhwZWN0ZWQuaW5wdXQgPSAiYWJiYmJiYmJjIjsKCi8vQ0hFQ0sjMQppZiAoX19leGVjdXRlZC5sZW5ndGggIT09IF9fZXhwZWN0ZWQubGVuZ3RoKSB7CgkkRVJST1IoJyMxOiBfX2V4ZWN1dGVkID0gLyhiKykoYiopLy5leGVjKCJhYmJiYmJiYmMiKTsgX19leGVjdXRlZC5sZW5ndGggPT09ICcgKyBfX2V4cGVjdGVkLmxlbmd0aCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQubGVuZ3RoKTsKfQoKLy9DSEVDSyMyCmlmIChfX2V4ZWN1dGVkLmluZGV4ICE9PSBfX2V4cGVjdGVkLmluZGV4KSB7CgkkRVJST1IoJyMyOiBfX2V4ZWN1dGVkID0gLyhiKykoYiopLy5leGVjKCJhYmJiYmJiYmMiKTsgX19leGVjdXRlZC5pbmRleCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5kZXggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmluZGV4KTsKfQoKLy9DSEVDSyMzCmlmIChfX2V4ZWN1dGVkLmlucHV0ICE9PSBfX2V4cGVjdGVkLmlucHV0KSB7CgkkRVJST1IoJyMzOiBfX2V4ZWN1dGVkID0gLyhiKykoYiopLy5leGVjKCJhYmJiYmJiYmMiKTsgX19leGVjdXRlZC5pbnB1dCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5wdXQgKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmlucHV0KTsKfQoKLy9DSEVDSyM0CmZvcih2YXIgaW5kZXg9MDsgaW5kZXg8X19leHBlY3RlZC5sZW5ndGg7IGluZGV4KyspIHsKCWlmIChfX2V4ZWN1dGVkW2luZGV4XSAhPT0gX19leHBlY3RlZFtpbmRleF0pIHsKCQkkRVJST1IoJyM0OiBfX2V4ZWN1dGVkID0gLyhiKykoYiopLy5leGVjKCJhYmJiYmJiYmMiKTsgX19leGVjdXRlZFsnICsgaW5kZXggKyAnXSA9PT0gJyArIF9fZXhwZWN0ZWRbaW5kZXhdICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZFtpbmRleF0pOwoJfQp9CgoK","commentary":"The production QuantifierPrefix :: + evaluates by returning the two results 1 and \\infty","description":"Execute /(b+)(b*)/.exec(\"abbbbbbbc\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A3_T13.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBRdWFudGlmaWVyUHJlZml4IDo6ICsgZXZhbHVhdGVzIGJ5IHJldHVybmluZyB0aGUgdHdvIHJlc3VsdHMgMSBhbmQgXGluZnR5CiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuMi8xNS4xMC4yLjcvUzE1LjEwLjIuN19BM19UMTQuanMKICogQGRlc2NyaXB0aW9uIEV4ZWN1dGUgL2IqYisvLmV4ZWMoImFiYmJiYmJiYyIpIGFuZCBjaGVjayByZXN1bHRzCiAqLwoKX19leGVjdXRlZCA9IC9iKmIrLy5leGVjKCJhYmJiYmJiYmMiKTsKCl9fZXhwZWN0ZWQgPSBbImJiYmJiYmIiXTsKX19leHBlY3RlZC5pbmRleCA9IDE7Cl9fZXhwZWN0ZWQuaW5wdXQgPSAiYWJiYmJiYmJjIjsKCi8vQ0hFQ0sjMQppZiAoX19leGVjdXRlZC5sZW5ndGggIT09IF9fZXhwZWN0ZWQubGVuZ3RoKSB7CgkkRVJST1IoJyMxOiBfX2V4ZWN1dGVkID0gL2IqYisvLmV4ZWMoImFiYmJiYmJiYyIpOyBfX2V4ZWN1dGVkLmxlbmd0aCA9PT0gJyArIF9fZXhwZWN0ZWQubGVuZ3RoICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5sZW5ndGgpOwp9CgovL0NIRUNLIzIKaWYgKF9fZXhlY3V0ZWQuaW5kZXggIT09IF9fZXhwZWN0ZWQuaW5kZXgpIHsKCSRFUlJPUignIzI6IF9fZXhlY3V0ZWQgPSAvYipiKy8uZXhlYygiYWJiYmJiYmJjIik7IF9fZXhlY3V0ZWQuaW5kZXggPT09ICcgKyBfX2V4cGVjdGVkLmluZGV4ICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5pbmRleCk7Cn0KCi8vQ0hFQ0sjMwppZiAoX19leGVjdXRlZC5pbnB1dCAhPT0gX19leHBlY3RlZC5pbnB1dCkgewoJJEVSUk9SKCcjMzogX19leGVjdXRlZCA9IC9iKmIrLy5leGVjKCJhYmJiYmJiYmMiKTsgX19leGVjdXRlZC5pbnB1dCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5wdXQgKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmlucHV0KTsKfQoKLy9DSEVDSyM0CmZvcih2YXIgaW5kZXg9MDsgaW5kZXg8X19leHBlY3RlZC5sZW5ndGg7IGluZGV4KyspIHsKCWlmIChfX2V4ZWN1dGVkW2luZGV4XSAhPT0gX19leHBlY3RlZFtpbmRleF0pIHsKCQkkRVJST1IoJyM0OiBfX2V4ZWN1dGVkID0gL2IqYisvLmV4ZWMoImFiYmJiYmJiYyIpOyBfX2V4ZWN1dGVkWycgKyBpbmRleCArICddID09PSAnICsgX19leHBlY3RlZFtpbmRleF0gKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkW2luZGV4XSk7Cgl9Cn0KCgo=","commentary":"The production QuantifierPrefix :: + evaluates by returning the two results 1 and \\infty","description":"Execute /b*b+/.exec(\"abbbbbbbc\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A3_T14.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBRdWFudGlmaWVyUHJlZml4IDo6ICsgZXZhbHVhdGVzIGJ5IHJldHVybmluZyB0aGUgdHdvIHJlc3VsdHMgMSBhbmQgXGluZnR5CiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuMi8xNS4xMC4yLjcvUzE1LjEwLjIuN19BM19UMi5qcwogKiBAZGVzY3JpcHRpb24gRXhlY3V0ZSAvXHMramF2YVxzKy8uZXhlYygiXHQgamF2YSBvYmplY3QiKSBhbmQgY2hlY2sgcmVzdWx0cwogKi8KCl9fZXhlY3V0ZWQgPSAvXHMramF2YVxzKy8uZXhlYygiXHQgamF2YSBvYmplY3QiKTsKCl9fZXhwZWN0ZWQgPSBbIlx0IGphdmEgIl07Cl9fZXhwZWN0ZWQuaW5kZXggPSAwOwpfX2V4cGVjdGVkLmlucHV0ID0gIlx0IGphdmEgb2JqZWN0IjsKCi8vQ0hFQ0sjMQppZiAoX19leGVjdXRlZC5sZW5ndGggIT09IF9fZXhwZWN0ZWQubGVuZ3RoKSB7CgkkRVJST1IoJyMxOiBfX2V4ZWN1dGVkID0gL1xccytqYXZhXFxzKy8uZXhlYygiXFx0IGphdmEgb2JqZWN0Iik7IF9fZXhlY3V0ZWQubGVuZ3RoID09PSAnICsgX19leHBlY3RlZC5sZW5ndGggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmxlbmd0aCk7Cn0KCi8vQ0hFQ0sjMgppZiAoX19leGVjdXRlZC5pbmRleCAhPT0gX19leHBlY3RlZC5pbmRleCkgewoJJEVSUk9SKCcjMjogX19leGVjdXRlZCA9IC9cXHMramF2YVxccysvLmV4ZWMoIlxcdCBqYXZhIG9iamVjdCIpOyBfX2V4ZWN1dGVkLmluZGV4ID09PSAnICsgX19leHBlY3RlZC5pbmRleCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5kZXgpOwp9CgovL0NIRUNLIzMKaWYgKF9fZXhlY3V0ZWQuaW5wdXQgIT09IF9fZXhwZWN0ZWQuaW5wdXQpIHsKCSRFUlJPUignIzM6IF9fZXhlY3V0ZWQgPSAvXFxzK2phdmFcXHMrLy5leGVjKCJcXHQgamF2YSBvYmplY3QiKTsgX19leGVjdXRlZC5pbnB1dCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5wdXQgKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmlucHV0KTsKfQoKLy9DSEVDSyM0CmZvcih2YXIgaW5kZXg9MDsgaW5kZXg8X19leHBlY3RlZC5sZW5ndGg7IGluZGV4KyspIHsKCWlmIChfX2V4ZWN1dGVkW2luZGV4XSAhPT0gX19leHBlY3RlZFtpbmRleF0pIHsKCQkkRVJST1IoJyM0OiBfX2V4ZWN1dGVkID0gL1xccytqYXZhXFxzKy8uZXhlYygiXFx0IGphdmEgb2JqZWN0Iik7IF9fZXhlY3V0ZWRbJyArIGluZGV4ICsgJ10gPT09ICcgKyBfX2V4cGVjdGVkW2luZGV4XSArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWRbaW5kZXhdKTsKCX0KfQoKCg==","commentary":"The production QuantifierPrefix :: + evaluates by returning the two results 1 and \\infty","description":"Execute /\\s+java\\s+/.exec(\"\\t java object\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A3_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBRdWFudGlmaWVyUHJlZml4IDo6ICsgZXZhbHVhdGVzIGJ5IHJldHVybmluZyB0aGUgdHdvIHJlc3VsdHMgMSBhbmQgXGluZnR5CiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuMi8xNS4xMC4yLjcvUzE1LjEwLjIuN19BM19UMy5qcwogKiBAZGVzY3JpcHRpb24gRXhlY3V0ZSAvXHMramF2YVxzKy8udGVzdCgiXHQgamF2YXggcGFja2FnZSIpIGFuZCBjaGVjayByZXN1bHRzCiAqLwoKX19leGVjdXRlZCA9IC9ccytqYXZhXHMrLy50ZXN0KCJcdCBqYXZheCBwYWNrYWdlIik7CgovL0NIRUNLIzEKaWYgKF9fZXhlY3V0ZWQpIHsKCSRFUlJPUignIzE6IC9cXHMramF2YVxccysvLnRlc3QoIlxcdCBqYXZheCBwYWNrYWdlIikgPT09IGZhbHNlJyk7Cn0KCgo=","commentary":"The production QuantifierPrefix :: + evaluates by returning the two results 1 and \\infty","description":"Execute /\\s+java\\s+/.test(\"\\t javax package\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A3_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBRdWFudGlmaWVyUHJlZml4IDo6ICsgZXZhbHVhdGVzIGJ5IHJldHVybmluZyB0aGUgdHdvIHJlc3VsdHMgMSBhbmQgXGluZnR5CiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuMi8xNS4xMC4yLjcvUzE1LjEwLjIuN19BM19UNC5qcwogKiBAZGVzY3JpcHRpb24gRXhlY3V0ZSAvXHMramF2YVxzKy8udGVzdCgiamF2YVxuXG5vYmplY3QiKSBhbmQgY2hlY2sgcmVzdWx0cwogKi8KCl9fZXhlY3V0ZWQgPSAvXHMramF2YVxzKy8udGVzdCgiamF2YVxuXG5vYmplY3QiKTsKCi8vQ0hFQ0sjMQppZiAoX19leGVjdXRlZCkgewoJJEVSUk9SKCcjMTogL1xccytqYXZhXFxzKy8udGVzdCgiamF2YVxcblxcbm9iamVjdCIpID09PSBmYWxzZScpOwp9CgoK","commentary":"The production QuantifierPrefix :: + evaluates by returning the two results 1 and \\infty","description":"Execute /\\s+java\\s+/.test(\"java\\n\\nobject\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A3_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBRdWFudGlmaWVyUHJlZml4IDo6ICsgZXZhbHVhdGVzIGJ5IHJldHVybmluZyB0aGUgdHdvIHJlc3VsdHMgMSBhbmQgXGluZnR5CiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuMi8xNS4xMC4yLjcvUzE1LjEwLjIuN19BM19UNS5qcwogKiBAZGVzY3JpcHRpb24gRXhlY3V0ZSAvW2Etel0rXGQrLy5leGVjKCJ4IDIgZmYgNTUgeDIgYXMxIHoxMiBhYmMxMi4wIikgYW5kIGNoZWNrIHJlc3VsdHMKICovCgpfX2V4ZWN1dGVkID0gL1thLXpdK1xkKy8uZXhlYygieCAyIGZmIDU1IHgyIGFzMSB6MTIgYWJjMTIuMCIpOwoKX19leHBlY3RlZCA9IFsieDIiXTsKX19leHBlY3RlZC5pbmRleCA9IDEwOwpfX2V4cGVjdGVkLmlucHV0ID0gInggMiBmZiA1NSB4MiBhczEgejEyIGFiYzEyLjAiOwoKLy9DSEVDSyMxCmlmIChfX2V4ZWN1dGVkLmxlbmd0aCAhPT0gX19leHBlY3RlZC5sZW5ndGgpIHsKCSRFUlJPUignIzE6IF9fZXhlY3V0ZWQgPSAvW2Etel0rXFxkKy8uZXhlYygieCAyIGZmIDU1IHgyIGFzMSB6MTIgYWJjMTIuMCIpOyBfX2V4ZWN1dGVkLmxlbmd0aCA9PT0gJyArIF9fZXhwZWN0ZWQubGVuZ3RoICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5sZW5ndGgpOwp9CgovL0NIRUNLIzIKaWYgKF9fZXhlY3V0ZWQuaW5kZXggIT09IF9fZXhwZWN0ZWQuaW5kZXgpIHsKCSRFUlJPUignIzI6IF9fZXhlY3V0ZWQgPSAvW2Etel0rXFxkKy8uZXhlYygieCAyIGZmIDU1IHgyIGFzMSB6MTIgYWJjMTIuMCIpOyBfX2V4ZWN1dGVkLmluZGV4ID09PSAnICsgX19leHBlY3RlZC5pbmRleCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5kZXgpOwp9CgovL0NIRUNLIzMKaWYgKF9fZXhlY3V0ZWQuaW5wdXQgIT09IF9fZXhwZWN0ZWQuaW5wdXQpIHsKCSRFUlJPUignIzM6IF9fZXhlY3V0ZWQgPSAvW2Etel0rXFxkKy8uZXhlYygieCAyIGZmIDU1IHgyIGFzMSB6MTIgYWJjMTIuMCIpOyBfX2V4ZWN1dGVkLmlucHV0ID09PSAnICsgX19leHBlY3RlZC5pbnB1dCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5wdXQpOwp9CgovL0NIRUNLIzQKZm9yKHZhciBpbmRleD0wOyBpbmRleDxfX2V4cGVjdGVkLmxlbmd0aDsgaW5kZXgrKykgewoJaWYgKF9fZXhlY3V0ZWRbaW5kZXhdICE9PSBfX2V4cGVjdGVkW2luZGV4XSkgewoJCSRFUlJPUignIzQ6IF9fZXhlY3V0ZWQgPSAvW2Etel0rXFxkKy8uZXhlYygieCAyIGZmIDU1IHgyIGFzMSB6MTIgYWJjMTIuMCIpOyBfX2V4ZWN1dGVkWycgKyBpbmRleCArICddID09PSAnICsgX19leHBlY3RlZFtpbmRleF0gKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkW2luZGV4XSk7Cgl9Cn0KCgo=","commentary":"The production QuantifierPrefix :: + evaluates by returning the two results 1 and \\infty","description":"Execute /[a-z]+\\d+/.exec(\"x 2 ff 55 x2 as1 z12 abc12.0\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A3_T5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBRdWFudGlmaWVyUHJlZml4IDo6ICsgZXZhbHVhdGVzIGJ5IHJldHVybmluZyB0aGUgdHdvIHJlc3VsdHMgMSBhbmQgXGluZnR5CiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuMi8xNS4xMC4yLjcvUzE1LjEwLjIuN19BM19UNi5qcwogKiBAZGVzY3JpcHRpb24gRXhlY3V0ZSAvW2Etel0rXGQrLy5leGVjKCJfX2FiYzEyMy4wIikgYW5kIGNoZWNrIHJlc3VsdHMKICovCgpfX2V4ZWN1dGVkID0gL1thLXpdK1xkKy8uZXhlYygiX19hYmMxMjMuMCIpOwoKX19leHBlY3RlZCA9IFsiYWJjMTIzIl07Cl9fZXhwZWN0ZWQuaW5kZXggPSAyOwpfX2V4cGVjdGVkLmlucHV0ID0gIl9fYWJjMTIzLjAiOwoKLy9DSEVDSyMxCmlmIChfX2V4ZWN1dGVkLmxlbmd0aCAhPT0gX19leHBlY3RlZC5sZW5ndGgpIHsKCSRFUlJPUignIzE6IF9fZXhlY3V0ZWQgPSAvW2Etel0rXFxkKy8uZXhlYygiX19hYmMxMjMuMCIpOyBfX2V4ZWN1dGVkLmxlbmd0aCA9PT0gJyArIF9fZXhwZWN0ZWQubGVuZ3RoICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5sZW5ndGgpOwp9CgovL0NIRUNLIzIKaWYgKF9fZXhlY3V0ZWQuaW5kZXggIT09IF9fZXhwZWN0ZWQuaW5kZXgpIHsKCSRFUlJPUignIzI6IF9fZXhlY3V0ZWQgPSAvW2Etel0rXFxkKy8uZXhlYygiX19hYmMxMjMuMCIpOyBfX2V4ZWN1dGVkLmluZGV4ID09PSAnICsgX19leHBlY3RlZC5pbmRleCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5kZXgpOwp9CgovL0NIRUNLIzMKaWYgKF9fZXhlY3V0ZWQuaW5wdXQgIT09IF9fZXhwZWN0ZWQuaW5wdXQpIHsKCSRFUlJPUignIzM6IF9fZXhlY3V0ZWQgPSAvW2Etel0rXFxkKy8uZXhlYygiX19hYmMxMjMuMCIpOyBfX2V4ZWN1dGVkLmlucHV0ID09PSAnICsgX19leHBlY3RlZC5pbnB1dCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5wdXQpOwp9CgovL0NIRUNLIzQKZm9yKHZhciBpbmRleD0wOyBpbmRleDxfX2V4cGVjdGVkLmxlbmd0aDsgaW5kZXgrKykgewoJaWYgKF9fZXhlY3V0ZWRbaW5kZXhdICE9PSBfX2V4cGVjdGVkW2luZGV4XSkgewoJCSRFUlJPUignIzQ6IF9fZXhlY3V0ZWQgPSAvW2Etel0rXFxkKy8uZXhlYygiX19hYmMxMjMuMCIpOyBfX2V4ZWN1dGVkWycgKyBpbmRleCArICddID09PSAnICsgX19leHBlY3RlZFtpbmRleF0gKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkW2luZGV4XSk7Cgl9Cn0KCgo=","commentary":"The production QuantifierPrefix :: + evaluates by returning the two results 1 and \\infty","description":"Execute /[a-z]+\\d+/.exec(\"__abc123.0\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A3_T6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBRdWFudGlmaWVyUHJlZml4IDo6ICsgZXZhbHVhdGVzIGJ5IHJldHVybmluZyB0aGUgdHdvIHJlc3VsdHMgMSBhbmQgXGluZnR5CiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuMi8xNS4xMC4yLjcvUzE1LjEwLjIuN19BM19UNy5qcwogKiBAZGVzY3JpcHRpb24gRXhlY3V0ZSAvW2Etel0rKFxkKykvLmV4ZWMoInggMiBmZiA1NSB4MiBhczEgejEyIGFiYzEyLjAiKSBhbmQgY2hlY2sgcmVzdWx0cwogKi8KCl9fZXhlY3V0ZWQgPSAvW2Etel0rKFxkKykvLmV4ZWMoInggMiBmZiA1NSB4MiBhczEgejEyIGFiYzEyLjAiKTsKCl9fZXhwZWN0ZWQgPSBbIngyIiwiMiJdOwpfX2V4cGVjdGVkLmluZGV4ID0gMTA7Cl9fZXhwZWN0ZWQuaW5wdXQgPSAieCAyIGZmIDU1IHgyIGFzMSB6MTIgYWJjMTIuMCI7CgovL0NIRUNLIzEKaWYgKF9fZXhlY3V0ZWQubGVuZ3RoICE9PSBfX2V4cGVjdGVkLmxlbmd0aCkgewoJJEVSUk9SKCcjMTogX19leGVjdXRlZCA9IC9bYS16XSsoXFxkKykvLmV4ZWMoInggMiBmZiA1NSB4MiBhczEgejEyIGFiYzEyLjAiKTsgX19leGVjdXRlZC5sZW5ndGggPT09ICcgKyBfX2V4cGVjdGVkLmxlbmd0aCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQubGVuZ3RoKTsKfQoKLy9DSEVDSyMyCmlmIChfX2V4ZWN1dGVkLmluZGV4ICE9PSBfX2V4cGVjdGVkLmluZGV4KSB7CgkkRVJST1IoJyMyOiBfX2V4ZWN1dGVkID0gL1thLXpdKyhcXGQrKS8uZXhlYygieCAyIGZmIDU1IHgyIGFzMSB6MTIgYWJjMTIuMCIpOyBfX2V4ZWN1dGVkLmluZGV4ID09PSAnICsgX19leHBlY3RlZC5pbmRleCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5kZXgpOwp9CgovL0NIRUNLIzMKaWYgKF9fZXhlY3V0ZWQuaW5wdXQgIT09IF9fZXhwZWN0ZWQuaW5wdXQpIHsKCSRFUlJPUignIzM6IF9fZXhlY3V0ZWQgPSAvW2Etel0rKFxcZCspLy5leGVjKCJ4IDIgZmYgNTUgeDIgYXMxIHoxMiBhYmMxMi4wIik7IF9fZXhlY3V0ZWQuaW5wdXQgPT09ICcgKyBfX2V4cGVjdGVkLmlucHV0ICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5pbnB1dCk7Cn0KCi8vQ0hFQ0sjNApmb3IodmFyIGluZGV4PTA7IGluZGV4PF9fZXhwZWN0ZWQubGVuZ3RoOyBpbmRleCsrKSB7CglpZiAoX19leGVjdXRlZFtpbmRleF0gIT09IF9fZXhwZWN0ZWRbaW5kZXhdKSB7CgkJJEVSUk9SKCcjNDogX19leGVjdXRlZCA9IC9bYS16XSsoXFxkKykvLmV4ZWMoInggMiBmZiA1NSB4MiBhczEgejEyIGFiYzEyLjAiKTsgX19leGVjdXRlZFsnICsgaW5kZXggKyAnXSA9PT0gJyArIF9fZXhwZWN0ZWRbaW5kZXhdICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZFtpbmRleF0pOwoJfQp9CgoK","commentary":"The production QuantifierPrefix :: + evaluates by returning the two results 1 and \\infty","description":"Execute /[a-z]+(\\d+)/.exec(\"x 2 ff 55 x2 as1 z12 abc12.0\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A3_T7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBRdWFudGlmaWVyUHJlZml4IDo6ICsgZXZhbHVhdGVzIGJ5IHJldHVybmluZyB0aGUgdHdvIHJlc3VsdHMgMSBhbmQgXGluZnR5CiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuMi8xNS4xMC4yLjcvUzE1LjEwLjIuN19BM19UOC5qcwogKiBAZGVzY3JpcHRpb24gRXhlY3V0ZSAvW2Etel0rKFxkKykvLmV4ZWMoIl9fYWJjMTIzLjAiKSBhbmQgY2hlY2sgcmVzdWx0cwogKi8KCl9fZXhlY3V0ZWQgPSAvW2Etel0rKFxkKykvLmV4ZWMoIl9fYWJjMTIzLjAiKTsKCl9fZXhwZWN0ZWQgPSBbImFiYzEyMyIsIjEyMyJdOwpfX2V4cGVjdGVkLmluZGV4ID0gMjsKX19leHBlY3RlZC5pbnB1dCA9ICJfX2FiYzEyMy4wIjsKCi8vQ0hFQ0sjMQppZiAoX19leGVjdXRlZC5sZW5ndGggIT09IF9fZXhwZWN0ZWQubGVuZ3RoKSB7CgkkRVJST1IoJyMxOiBfX2V4ZWN1dGVkID0gL1thLXpdKyhcXGQrKS8uZXhlYygiX19hYmMxMjMuMCIpOyBfX2V4ZWN1dGVkLmxlbmd0aCA9PT0gJyArIF9fZXhwZWN0ZWQubGVuZ3RoICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5sZW5ndGgpOwp9CgovL0NIRUNLIzIKaWYgKF9fZXhlY3V0ZWQuaW5kZXggIT09IF9fZXhwZWN0ZWQuaW5kZXgpIHsKCSRFUlJPUignIzI6IF9fZXhlY3V0ZWQgPSAvW2Etel0rKFxcZCspLy5leGVjKCJfX2FiYzEyMy4wIik7IF9fZXhlY3V0ZWQuaW5kZXggPT09ICcgKyBfX2V4cGVjdGVkLmluZGV4ICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5pbmRleCk7Cn0KCi8vQ0hFQ0sjMwppZiAoX19leGVjdXRlZC5pbnB1dCAhPT0gX19leHBlY3RlZC5pbnB1dCkgewoJJEVSUk9SKCcjMzogX19leGVjdXRlZCA9IC9bYS16XSsoXFxkKykvLmV4ZWMoIl9fYWJjMTIzLjAiKTsgX19leGVjdXRlZC5pbnB1dCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5wdXQgKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmlucHV0KTsKfQoKLy9DSEVDSyM0CmZvcih2YXIgaW5kZXg9MDsgaW5kZXg8X19leHBlY3RlZC5sZW5ndGg7IGluZGV4KyspIHsKCWlmIChfX2V4ZWN1dGVkW2luZGV4XSAhPT0gX19leHBlY3RlZFtpbmRleF0pIHsKCQkkRVJST1IoJyM0OiBfX2V4ZWN1dGVkID0gL1thLXpdKyhcXGQrKS8uZXhlYygiX19hYmMxMjMuMCIpOyBfX2V4ZWN1dGVkWycgKyBpbmRleCArICddID09PSAnICsgX19leHBlY3RlZFtpbmRleF0gKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkW2luZGV4XSk7Cgl9Cn0KCgo=","commentary":"The production QuantifierPrefix :: + evaluates by returning the two results 1 and \\infty","description":"Execute /[a-z]+(\\d+)/.exec(\"__abc123.0\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A3_T8.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBRdWFudGlmaWVyUHJlZml4IDo6ICsgZXZhbHVhdGVzIGJ5IHJldHVybmluZyB0aGUgdHdvIHJlc3VsdHMgMSBhbmQgXGluZnR5CiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuMi8xNS4xMC4yLjcvUzE1LjEwLjIuN19BM19UOS5qcwogKiBAZGVzY3JpcHRpb24gRXhlY3V0ZSAvZCsvLmV4ZWMoImFiY2RkZGRkZWZnIikgYW5kIGNoZWNrIHJlc3VsdHMKICovCgpfX2V4ZWN1dGVkID0gL2QrLy5leGVjKCJhYmNkZGRkZGVmZyIpOwoKX19leHBlY3RlZCA9IFsiZGRkZGQiXTsKX19leHBlY3RlZC5pbmRleCA9IDM7Cl9fZXhwZWN0ZWQuaW5wdXQgPSAiYWJjZGRkZGRlZmciOwoKLy9DSEVDSyMxCmlmIChfX2V4ZWN1dGVkLmxlbmd0aCAhPT0gX19leHBlY3RlZC5sZW5ndGgpIHsKCSRFUlJPUignIzE6IF9fZXhlY3V0ZWQgPSAvZCsvLmV4ZWMoImFiY2RkZGRkZWZnIik7IF9fZXhlY3V0ZWQubGVuZ3RoID09PSAnICsgX19leHBlY3RlZC5sZW5ndGggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmxlbmd0aCk7Cn0KCi8vQ0hFQ0sjMgppZiAoX19leGVjdXRlZC5pbmRleCAhPT0gX19leHBlY3RlZC5pbmRleCkgewoJJEVSUk9SKCcjMjogX19leGVjdXRlZCA9IC9kKy8uZXhlYygiYWJjZGRkZGRlZmciKTsgX19leGVjdXRlZC5pbmRleCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5kZXggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmluZGV4KTsKfQoKLy9DSEVDSyMzCmlmIChfX2V4ZWN1dGVkLmlucHV0ICE9PSBfX2V4cGVjdGVkLmlucHV0KSB7CgkkRVJST1IoJyMzOiBfX2V4ZWN1dGVkID0gL2QrLy5leGVjKCJhYmNkZGRkZGVmZyIpOyBfX2V4ZWN1dGVkLmlucHV0ID09PSAnICsgX19leHBlY3RlZC5pbnB1dCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5wdXQpOwp9CgovL0NIRUNLIzQKZm9yKHZhciBpbmRleD0wOyBpbmRleDxfX2V4cGVjdGVkLmxlbmd0aDsgaW5kZXgrKykgewoJaWYgKF9fZXhlY3V0ZWRbaW5kZXhdICE9PSBfX2V4cGVjdGVkW2luZGV4XSkgewoJCSRFUlJPUignIzQ6IF9fZXhlY3V0ZWQgPSAvZCsvLmV4ZWMoImFiY2RkZGRkZWZnIik7IF9fZXhlY3V0ZWRbJyArIGluZGV4ICsgJ10gPT09ICcgKyBfX2V4cGVjdGVkW2luZGV4XSArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWRbaW5kZXhdKTsKCX0KfQoKCg==","commentary":"The production QuantifierPrefix :: + evaluates by returning the two results 1 and \\infty","description":"Execute /d+/.exec(\"abcdddddefg\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A3_T9.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBRdWFudGlmaWVyUHJlZml4IDo6ICogZXZhbHVhdGVzIGJ5IHJldHVybmluZyB0aGUgdHdvIHJlc3VsdHMgMCBhbmQgXGluZnR5CiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuMi8xNS4xMC4yLjcvUzE1LjEwLjIuN19BNF9UMS5qcwogKiBAZGVzY3JpcHRpb24gRXhlY3V0ZSAvW14iXSogLy5leGVjKCciYmVhc3QiLW5pY2tuYW1lJykgYW5kIGNoZWNrIHJlc3VsdHMKICovCgpfX2V4ZWN1dGVkID0gL1teIl0qLy5leGVjKCciYmVhc3QiLW5pY2tuYW1lJyk7CgpfX2V4cGVjdGVkID0gWyIiXTsKX19leHBlY3RlZC5pbmRleCA9IDA7Cl9fZXhwZWN0ZWQuaW5wdXQgPSAnImJlYXN0Ii1uaWNrbmFtZSc7CgovL0NIRUNLIzEKaWYgKF9fZXhlY3V0ZWQubGVuZ3RoICE9PSBfX2V4cGVjdGVkLmxlbmd0aCkgewoJJEVSUk9SKCcjMTogX19leGVjdXRlZCA9IC9bXiJdKi8uZXhlYyhcJyJiZWFzdCItbmlja25hbWVcJyk7IF9fZXhlY3V0ZWQubGVuZ3RoID09PSAnICsgX19leHBlY3RlZC5sZW5ndGggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmxlbmd0aCk7Cn0KCi8vQ0hFQ0sjMgppZiAoX19leGVjdXRlZC5pbmRleCAhPT0gX19leHBlY3RlZC5pbmRleCkgewoJJEVSUk9SKCcjMjogX19leGVjdXRlZCA9IC9bXiJdKi8uZXhlYyhcJyJiZWFzdCItbmlja25hbWVcJyk7IF9fZXhlY3V0ZWQuaW5kZXggPT09ICcgKyBfX2V4cGVjdGVkLmluZGV4ICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5pbmRleCk7Cn0KCi8vQ0hFQ0sjMwppZiAoX19leGVjdXRlZC5pbnB1dCAhPT0gX19leHBlY3RlZC5pbnB1dCkgewoJJEVSUk9SKCcjMzogX19leGVjdXRlZCA9IC9bXiJdKi8uZXhlYyhcJyJiZWFzdCItbmlja25hbWVcJyk7IF9fZXhlY3V0ZWQuaW5wdXQgPT09ICcgKyBfX2V4cGVjdGVkLmlucHV0ICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5pbnB1dCk7Cn0KCi8vQ0hFQ0sjNApmb3IodmFyIGluZGV4PTA7IGluZGV4PF9fZXhwZWN0ZWQubGVuZ3RoOyBpbmRleCsrKSB7CglpZiAoX19leGVjdXRlZFtpbmRleF0gIT09IF9fZXhwZWN0ZWRbaW5kZXhdKSB7CgkJJEVSUk9SKCcjNDogX19leGVjdXRlZCA9IC9bXiJdKi8uZXhlYyhcJyJiZWFzdCItbmlja25hbWVcJyk7IF9fZXhlY3V0ZWRbJyArIGluZGV4ICsgJ10gPT09ICcgKyBfX2V4cGVjdGVkW2luZGV4XSArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWRbaW5kZXhdKTsKCX0KfQoKCg==","commentary":"The production QuantifierPrefix :: * evaluates by returning the two results 0 and \\infty","description":"Execute /[^\"]* /.exec('\"beast\"-nickname') and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A4_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBRdWFudGlmaWVyUHJlZml4IDo6ICogZXZhbHVhdGVzIGJ5IHJldHVybmluZyB0aGUgdHdvIHJlc3VsdHMgMCBhbmQgXGluZnR5CiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuMi8xNS4xMC4yLjcvUzE1LjEwLjIuN19BNF9UMTAuanMKICogQGRlc2NyaXB0aW9uIEV4ZWN1dGUgL2QqIC8uZXhlYygnYWJjZGRkZGVmZycpIGFuZCBjaGVjayByZXN1bHRzCiAqLwoKX19leGVjdXRlZCA9IC9kKi8uZXhlYygnYWJjZGRkZGVmZycpOwoKX19leHBlY3RlZCA9IFsiIl07Cl9fZXhwZWN0ZWQuaW5kZXggPSAwOwpfX2V4cGVjdGVkLmlucHV0ID0gJ2FiY2RkZGRlZmcnOwoKLy9DSEVDSyMxCmlmIChfX2V4ZWN1dGVkLmxlbmd0aCAhPT0gX19leHBlY3RlZC5sZW5ndGgpIHsKCSRFUlJPUignIzE6IF9fZXhlY3V0ZWQgPSAvZCovLmV4ZWMoXCdhYmNkZGRkZWZnXCcpOyBfX2V4ZWN1dGVkLmxlbmd0aCA9PT0gJyArIF9fZXhwZWN0ZWQubGVuZ3RoICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5sZW5ndGgpOwp9CgovL0NIRUNLIzIKaWYgKF9fZXhlY3V0ZWQuaW5kZXggIT09IF9fZXhwZWN0ZWQuaW5kZXgpIHsKCSRFUlJPUignIzI6IF9fZXhlY3V0ZWQgPSAvZCovLmV4ZWMoXCdhYmNkZGRkZWZnXCcpOyBfX2V4ZWN1dGVkLmluZGV4ID09PSAnICsgX19leHBlY3RlZC5pbmRleCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5kZXgpOwp9CgovL0NIRUNLIzMKaWYgKF9fZXhlY3V0ZWQuaW5wdXQgIT09IF9fZXhwZWN0ZWQuaW5wdXQpIHsKCSRFUlJPUignIzM6IF9fZXhlY3V0ZWQgPSAvZCovLmV4ZWMoXCdhYmNkZGRkZWZnXCcpOyBfX2V4ZWN1dGVkLmlucHV0ID09PSAnICsgX19leHBlY3RlZC5pbnB1dCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5wdXQpOwp9CgovL0NIRUNLIzQKZm9yKHZhciBpbmRleD0wOyBpbmRleDxfX2V4cGVjdGVkLmxlbmd0aDsgaW5kZXgrKykgewoJaWYgKF9fZXhlY3V0ZWRbaW5kZXhdICE9PSBfX2V4cGVjdGVkW2luZGV4XSkgewoJCSRFUlJPUignIzQ6IF9fZXhlY3V0ZWQgPSAvZCovLmV4ZWMoXCdhYmNkZGRkZWZnXCcpOyBfX2V4ZWN1dGVkWycgKyBpbmRleCArICddID09PSAnICsgX19leHBlY3RlZFtpbmRleF0gKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkW2luZGV4XSk7Cgl9Cn0KCgo=","commentary":"The production QuantifierPrefix :: * evaluates by returning the two results 0 and \\infty","description":"Execute /d* /.exec('abcddddefg') and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A4_T10.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBRdWFudGlmaWVyUHJlZml4IDo6ICogZXZhbHVhdGVzIGJ5IHJldHVybmluZyB0aGUgdHdvIHJlc3VsdHMgMCBhbmQgXGluZnR5CiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuMi8xNS4xMC4yLjcvUzE1LjEwLjIuN19BNF9UMTEuanMKICogQGRlc2NyaXB0aW9uIEV4ZWN1dGUgL2NkKiAvLmV4ZWMoJ2FiY2RkZGRlZmcnKSBhbmQgY2hlY2sgcmVzdWx0cwogKi8KCl9fZXhlY3V0ZWQgPSAvY2QqLy5leGVjKCdhYmNkZGRkZWZnJyk7CgpfX2V4cGVjdGVkID0gWyJjZGRkZCJdOwpfX2V4cGVjdGVkLmluZGV4ID0gMjsKX19leHBlY3RlZC5pbnB1dCA9ICdhYmNkZGRkZWZnJzsKCi8vQ0hFQ0sjMQppZiAoX19leGVjdXRlZC5sZW5ndGggIT09IF9fZXhwZWN0ZWQubGVuZ3RoKSB7CgkkRVJST1IoJyMxOiBfX2V4ZWN1dGVkID0gL2NkKi8uZXhlYyhcJ2FiY2RkZGRlZmdcJyk7IF9fZXhlY3V0ZWQubGVuZ3RoID09PSAnICsgX19leHBlY3RlZC5sZW5ndGggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmxlbmd0aCk7Cn0KCi8vQ0hFQ0sjMgppZiAoX19leGVjdXRlZC5pbmRleCAhPT0gX19leHBlY3RlZC5pbmRleCkgewoJJEVSUk9SKCcjMjogX19leGVjdXRlZCA9IC9jZCovLmV4ZWMoXCdhYmNkZGRkZWZnXCcpOyBfX2V4ZWN1dGVkLmluZGV4ID09PSAnICsgX19leHBlY3RlZC5pbmRleCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5kZXgpOwp9CgovL0NIRUNLIzMKaWYgKF9fZXhlY3V0ZWQuaW5wdXQgIT09IF9fZXhwZWN0ZWQuaW5wdXQpIHsKCSRFUlJPUignIzM6IF9fZXhlY3V0ZWQgPSAvY2QqLy5leGVjKFwnYWJjZGRkZGVmZ1wnKTsgX19leGVjdXRlZC5pbnB1dCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5wdXQgKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmlucHV0KTsKfQoKLy9DSEVDSyM0CmZvcih2YXIgaW5kZXg9MDsgaW5kZXg8X19leHBlY3RlZC5sZW5ndGg7IGluZGV4KyspIHsKCWlmIChfX2V4ZWN1dGVkW2luZGV4XSAhPT0gX19leHBlY3RlZFtpbmRleF0pIHsKCQkkRVJST1IoJyM0OiBfX2V4ZWN1dGVkID0gL2NkKi8uZXhlYyhcJ2FiY2RkZGRlZmdcJyk7IF9fZXhlY3V0ZWRbJyArIGluZGV4ICsgJ10gPT09ICcgKyBfX2V4cGVjdGVkW2luZGV4XSArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWRbaW5kZXhdKTsKCX0KfQoKCg==","commentary":"The production QuantifierPrefix :: * evaluates by returning the two results 0 and \\infty","description":"Execute /cd* /.exec('abcddddefg') and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A4_T11.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBRdWFudGlmaWVyUHJlZml4IDo6ICogZXZhbHVhdGVzIGJ5IHJldHVybmluZyB0aGUgdHdvIHJlc3VsdHMgMCBhbmQgXGluZnR5CiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuMi8xNS4xMC4yLjcvUzE1LjEwLjIuN19BNF9UMTIuanMKICogQGRlc2NyaXB0aW9uIEV4ZWN1dGUgL2N4KmQvLmV4ZWMoJ2FiY2RlZmcnKSBhbmQgY2hlY2sgcmVzdWx0cwogKi8KCl9fZXhlY3V0ZWQgPSAvY3gqZC8uZXhlYygnYWJjZGVmZycpOwoKX19leHBlY3RlZCA9IFsiY2QiXTsKX19leHBlY3RlZC5pbmRleCA9IDI7Cl9fZXhwZWN0ZWQuaW5wdXQgPSAnYWJjZGVmZyc7CgovL0NIRUNLIzEKaWYgKF9fZXhlY3V0ZWQubGVuZ3RoICE9PSBfX2V4cGVjdGVkLmxlbmd0aCkgewoJJEVSUk9SKCcjMTogX19leGVjdXRlZCA9IC9jeCpkLy5leGVjKFwnYWJjZGVmZ1wnKTsgX19leGVjdXRlZC5sZW5ndGggPT09ICcgKyBfX2V4cGVjdGVkLmxlbmd0aCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQubGVuZ3RoKTsKfQoKLy9DSEVDSyMyCmlmIChfX2V4ZWN1dGVkLmluZGV4ICE9PSBfX2V4cGVjdGVkLmluZGV4KSB7CgkkRVJST1IoJyMyOiBfX2V4ZWN1dGVkID0gL2N4KmQvLmV4ZWMoXCdhYmNkZWZnXCcpOyBfX2V4ZWN1dGVkLmluZGV4ID09PSAnICsgX19leHBlY3RlZC5pbmRleCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5kZXgpOwp9CgovL0NIRUNLIzMKaWYgKF9fZXhlY3V0ZWQuaW5wdXQgIT09IF9fZXhwZWN0ZWQuaW5wdXQpIHsKCSRFUlJPUignIzM6IF9fZXhlY3V0ZWQgPSAvY3gqZC8uZXhlYyhcJ2FiY2RlZmdcJyk7IF9fZXhlY3V0ZWQuaW5wdXQgPT09ICcgKyBfX2V4cGVjdGVkLmlucHV0ICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5pbnB1dCk7Cn0KCi8vQ0hFQ0sjNApmb3IodmFyIGluZGV4PTA7IGluZGV4PF9fZXhwZWN0ZWQubGVuZ3RoOyBpbmRleCsrKSB7CglpZiAoX19leGVjdXRlZFtpbmRleF0gIT09IF9fZXhwZWN0ZWRbaW5kZXhdKSB7CgkJJEVSUk9SKCcjNDogX19leGVjdXRlZCA9IC9jeCpkLy5leGVjKFwnYWJjZGVmZ1wnKTsgX19leGVjdXRlZFsnICsgaW5kZXggKyAnXSA9PT0gJyArIF9fZXhwZWN0ZWRbaW5kZXhdICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZFtpbmRleF0pOwoJfQp9CgoK","commentary":"The production QuantifierPrefix :: * evaluates by returning the two results 0 and \\infty","description":"Execute /cx*d/.exec('abcdefg') and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A4_T12.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBRdWFudGlmaWVyUHJlZml4IDo6ICogZXZhbHVhdGVzIGJ5IHJldHVybmluZyB0aGUgdHdvIHJlc3VsdHMgMCBhbmQgXGluZnR5CiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuMi8xNS4xMC4yLjcvUzE1LjEwLjIuN19BNF9UMTMuanMKICogQGRlc2NyaXB0aW9uIEV4ZWN1dGUgLyh4KikoeCspLy5leGVjKCd4eHh4eHh4JykgYW5kIGNoZWNrIHJlc3VsdHMKICovCgpfX2V4ZWN1dGVkID0gLyh4KikoeCspLy5leGVjKCd4eHh4eHh4Jyk7CgpfX2V4cGVjdGVkID0gWyJ4eHh4eHh4IiwieHh4eHh4IiwieCJdOwpfX2V4cGVjdGVkLmluZGV4ID0gMDsKX19leHBlY3RlZC5pbnB1dCA9ICd4eHh4eHh4JzsKCi8vQ0hFQ0sjMQppZiAoX19leGVjdXRlZC5sZW5ndGggIT09IF9fZXhwZWN0ZWQubGVuZ3RoKSB7CgkkRVJST1IoJyMxOiBfX2V4ZWN1dGVkID0gLyh4KikoeCspLy5leGVjKFwneHh4eHh4eFwnKTsgX19leGVjdXRlZC5sZW5ndGggPT09ICcgKyBfX2V4cGVjdGVkLmxlbmd0aCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQubGVuZ3RoKTsKfQoKLy9DSEVDSyMyCmlmIChfX2V4ZWN1dGVkLmluZGV4ICE9PSBfX2V4cGVjdGVkLmluZGV4KSB7CgkkRVJST1IoJyMyOiBfX2V4ZWN1dGVkID0gLyh4KikoeCspLy5leGVjKFwneHh4eHh4eFwnKTsgX19leGVjdXRlZC5pbmRleCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5kZXggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmluZGV4KTsKfQoKLy9DSEVDSyMzCmlmIChfX2V4ZWN1dGVkLmlucHV0ICE9PSBfX2V4cGVjdGVkLmlucHV0KSB7CgkkRVJST1IoJyMzOiBfX2V4ZWN1dGVkID0gLyh4KikoeCspLy5leGVjKFwneHh4eHh4eFwnKTsgX19leGVjdXRlZC5pbnB1dCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5wdXQgKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmlucHV0KTsKfQoKLy9DSEVDSyM0CmZvcih2YXIgaW5kZXg9MDsgaW5kZXg8X19leHBlY3RlZC5sZW5ndGg7IGluZGV4KyspIHsKCWlmIChfX2V4ZWN1dGVkW2luZGV4XSAhPT0gX19leHBlY3RlZFtpbmRleF0pIHsKCQkkRVJST1IoJyM0OiBfX2V4ZWN1dGVkID0gLyh4KikoeCspLy5leGVjKFwneHh4eHh4eFwnKTsgX19leGVjdXRlZFsnICsgaW5kZXggKyAnXSA9PT0gJyArIF9fZXhwZWN0ZWRbaW5kZXhdICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZFtpbmRleF0pOwoJfQp9CgoK","commentary":"The production QuantifierPrefix :: * evaluates by returning the two results 0 and \\infty","description":"Execute /(x*)(x+)/.exec('xxxxxxx') and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A4_T13.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBRdWFudGlmaWVyUHJlZml4IDo6ICogZXZhbHVhdGVzIGJ5IHJldHVybmluZyB0aGUgdHdvIHJlc3VsdHMgMCBhbmQgXGluZnR5CiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuMi8xNS4xMC4yLjcvUzE1LjEwLjIuN19BNF9UMTQuanMKICogQGRlc2NyaXB0aW9uIEV4ZWN1dGUgLyhcZCopKFxkKykvLmV4ZWMoJzEyMzQ1Njc4OTAnKSBhbmQgY2hlY2sgcmVzdWx0cwogKi8KCl9fZXhlY3V0ZWQgPSAvKFxkKikoXGQrKS8uZXhlYygnMTIzNDU2Nzg5MCcpOwoKX19leHBlY3RlZCA9IFsiMTIzNDU2Nzg5MCIsIjEyMzQ1Njc4OSIsIjAiXTsKX19leHBlY3RlZC5pbmRleCA9IDA7Cl9fZXhwZWN0ZWQuaW5wdXQgPSAnMTIzNDU2Nzg5MCc7CgovL0NIRUNLIzEKaWYgKF9fZXhlY3V0ZWQubGVuZ3RoICE9PSBfX2V4cGVjdGVkLmxlbmd0aCkgewoJJEVSUk9SKCcjMTogX19leGVjdXRlZCA9IC8oXFxkKikoXFxkKykvLmV4ZWMoXCcxMjM0NTY3ODkwXCcpOyBfX2V4ZWN1dGVkLmxlbmd0aCA9PT0gJyArIF9fZXhwZWN0ZWQubGVuZ3RoICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5sZW5ndGgpOwp9CgovL0NIRUNLIzIKaWYgKF9fZXhlY3V0ZWQuaW5kZXggIT09IF9fZXhwZWN0ZWQuaW5kZXgpIHsKCSRFUlJPUignIzI6IF9fZXhlY3V0ZWQgPSAvKFxcZCopKFxcZCspLy5leGVjKFwnMTIzNDU2Nzg5MFwnKTsgX19leGVjdXRlZC5pbmRleCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5kZXggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmluZGV4KTsKfQoKLy9DSEVDSyMzCmlmIChfX2V4ZWN1dGVkLmlucHV0ICE9PSBfX2V4cGVjdGVkLmlucHV0KSB7CgkkRVJST1IoJyMzOiBfX2V4ZWN1dGVkID0gLyhcXGQqKShcXGQrKS8uZXhlYyhcJzEyMzQ1Njc4OTBcJyk7IF9fZXhlY3V0ZWQuaW5wdXQgPT09ICcgKyBfX2V4cGVjdGVkLmlucHV0ICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5pbnB1dCk7Cn0KCi8vQ0hFQ0sjNApmb3IodmFyIGluZGV4PTA7IGluZGV4PF9fZXhwZWN0ZWQubGVuZ3RoOyBpbmRleCsrKSB7CglpZiAoX19leGVjdXRlZFtpbmRleF0gIT09IF9fZXhwZWN0ZWRbaW5kZXhdKSB7CgkJJEVSUk9SKCcjNDogX19leGVjdXRlZCA9IC8oXFxkKikoXFxkKykvLmV4ZWMoXCcxMjM0NTY3ODkwXCcpOyBfX2V4ZWN1dGVkWycgKyBpbmRleCArICddID09PSAnICsgX19leHBlY3RlZFtpbmRleF0gKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkW2luZGV4XSk7Cgl9Cn0KCgo=","commentary":"The production QuantifierPrefix :: * evaluates by returning the two results 0 and \\infty","description":"Execute /(\\d*)(\\d+)/.exec('1234567890') and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A4_T14.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBRdWFudGlmaWVyUHJlZml4IDo6ICogZXZhbHVhdGVzIGJ5IHJldHVybmluZyB0aGUgdHdvIHJlc3VsdHMgMCBhbmQgXGluZnR5CiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuMi8xNS4xMC4yLjcvUzE1LjEwLjIuN19BNF9UMTUuanMKICogQGRlc2NyaXB0aW9uIEV4ZWN1dGUgLyhcZCopXGQoXGQrKS8uZXhlYygnMTIzNDU2Nzg5MCcpIGFuZCBjaGVjayByZXN1bHRzCiAqLwoKX19leGVjdXRlZCA9IC8oXGQqKVxkKFxkKykvLmV4ZWMoJzEyMzQ1Njc4OTAnKTsKCl9fZXhwZWN0ZWQgPSBbIjEyMzQ1Njc4OTAiLCIxMjM0NTY3OCIsIjAiXTsKX19leHBlY3RlZC5pbmRleCA9IDA7Cl9fZXhwZWN0ZWQuaW5wdXQgPSAnMTIzNDU2Nzg5MCc7CgovL0NIRUNLIzEKaWYgKF9fZXhlY3V0ZWQubGVuZ3RoICE9PSBfX2V4cGVjdGVkLmxlbmd0aCkgewoJJEVSUk9SKCcjMTogX19leGVjdXRlZCA9IC8oXFxkKilcXGQoXFxkKykvLmV4ZWMoXCcxMjM0NTY3ODkwXCcpOyBfX2V4ZWN1dGVkLmxlbmd0aCA9PT0gJyArIF9fZXhwZWN0ZWQubGVuZ3RoICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5sZW5ndGgpOwp9CgovL0NIRUNLIzIKaWYgKF9fZXhlY3V0ZWQuaW5kZXggIT09IF9fZXhwZWN0ZWQuaW5kZXgpIHsKCSRFUlJPUignIzI6IF9fZXhlY3V0ZWQgPSAvKFxcZCopXFxkKFxcZCspLy5leGVjKFwnMTIzNDU2Nzg5MFwnKTsgX19leGVjdXRlZC5pbmRleCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5kZXggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmluZGV4KTsKfQoKLy9DSEVDSyMzCmlmIChfX2V4ZWN1dGVkLmlucHV0ICE9PSBfX2V4cGVjdGVkLmlucHV0KSB7CgkkRVJST1IoJyMzOiBfX2V4ZWN1dGVkID0gLyhcXGQqKVxcZChcXGQrKS8uZXhlYyhcJzEyMzQ1Njc4OTBcJyk7IF9fZXhlY3V0ZWQuaW5wdXQgPT09ICcgKyBfX2V4cGVjdGVkLmlucHV0ICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5pbnB1dCk7Cn0KCi8vQ0hFQ0sjNApmb3IodmFyIGluZGV4PTA7IGluZGV4PF9fZXhwZWN0ZWQubGVuZ3RoOyBpbmRleCsrKSB7CglpZiAoX19leGVjdXRlZFtpbmRleF0gIT09IF9fZXhwZWN0ZWRbaW5kZXhdKSB7CgkJJEVSUk9SKCcjNDogX19leGVjdXRlZCA9IC8oXFxkKilcXGQoXFxkKykvLmV4ZWMoXCcxMjM0NTY3ODkwXCcpOyBfX2V4ZWN1dGVkWycgKyBpbmRleCArICddID09PSAnICsgX19leHBlY3RlZFtpbmRleF0gKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkW2luZGV4XSk7Cgl9Cn0KCgo=","commentary":"The production QuantifierPrefix :: * evaluates by returning the two results 0 and \\infty","description":"Execute /(\\d*)\\d(\\d+)/.exec('1234567890') and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A4_T15.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBRdWFudGlmaWVyUHJlZml4IDo6ICogZXZhbHVhdGVzIGJ5IHJldHVybmluZyB0aGUgdHdvIHJlc3VsdHMgMCBhbmQgXGluZnR5CiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuMi8xNS4xMC4yLjcvUzE1LjEwLjIuN19BNF9UMTYuanMKICogQGRlc2NyaXB0aW9uIEV4ZWN1dGUgLyh4KykoeCopLy5leGVjKCd4eHh4eHh4JykgYW5kIGNoZWNrIHJlc3VsdHMKICovCgpfX2V4ZWN1dGVkID0gLyh4KykoeCopLy5leGVjKCd4eHh4eHh4Jyk7CgpfX2V4cGVjdGVkID0gWyJ4eHh4eHh4IiwieHh4eHh4eCIsIiJdOwpfX2V4cGVjdGVkLmluZGV4ID0gMDsKX19leHBlY3RlZC5pbnB1dCA9ICd4eHh4eHh4JzsKCi8vQ0hFQ0sjMQppZiAoX19leGVjdXRlZC5sZW5ndGggIT09IF9fZXhwZWN0ZWQubGVuZ3RoKSB7CgkkRVJST1IoJyMxOiBfX2V4ZWN1dGVkID0gLyh4KykoeCopLy5leGVjKFwneHh4eHh4eFwnKTsgX19leGVjdXRlZC5sZW5ndGggPT09ICcgKyBfX2V4cGVjdGVkLmxlbmd0aCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQubGVuZ3RoKTsKfQoKLy9DSEVDSyMyCmlmIChfX2V4ZWN1dGVkLmluZGV4ICE9PSBfX2V4cGVjdGVkLmluZGV4KSB7CgkkRVJST1IoJyMyOiBfX2V4ZWN1dGVkID0gLyh4KykoeCopLy5leGVjKFwneHh4eHh4eFwnKTsgX19leGVjdXRlZC5pbmRleCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5kZXggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmluZGV4KTsKfQoKLy9DSEVDSyMzCmlmIChfX2V4ZWN1dGVkLmlucHV0ICE9PSBfX2V4cGVjdGVkLmlucHV0KSB7CgkkRVJST1IoJyMzOiBfX2V4ZWN1dGVkID0gLyh4KykoeCopLy5leGVjKFwneHh4eHh4eFwnKTsgX19leGVjdXRlZC5pbnB1dCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5wdXQgKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmlucHV0KTsKfQoKLy9DSEVDSyM0CmZvcih2YXIgaW5kZXg9MDsgaW5kZXg8X19leHBlY3RlZC5sZW5ndGg7IGluZGV4KyspIHsKCWlmIChfX2V4ZWN1dGVkW2luZGV4XSAhPT0gX19leHBlY3RlZFtpbmRleF0pIHsKCQkkRVJST1IoJyM0OiBfX2V4ZWN1dGVkID0gLyh4KykoeCopLy5leGVjKFwneHh4eHh4eFwnKTsgX19leGVjdXRlZFsnICsgaW5kZXggKyAnXSA9PT0gJyArIF9fZXhwZWN0ZWRbaW5kZXhdICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZFtpbmRleF0pOwoJfQp9CgoK","commentary":"The production QuantifierPrefix :: * evaluates by returning the two results 0 and \\infty","description":"Execute /(x+)(x*)/.exec('xxxxxxx') and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A4_T16.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBRdWFudGlmaWVyUHJlZml4IDo6ICogZXZhbHVhdGVzIGJ5IHJldHVybmluZyB0aGUgdHdvIHJlc3VsdHMgMCBhbmQgXGluZnR5CiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuMi8xNS4xMC4yLjcvUzE1LjEwLjIuN19BNF9UMTcuanMKICogQGRlc2NyaXB0aW9uIEV4ZWN1dGUgL3gqeSskLy5leGVjKCd4eHh4eHh5eXl5eXknKSBhbmQgY2hlY2sgcmVzdWx0cwogKi8KCl9fZXhlY3V0ZWQgPSAveCp5KyQvLmV4ZWMoJ3h4eHh4eHl5eXl5eScpOwoKX19leHBlY3RlZCA9IFsieHh4eHh4eXl5eXl5Il07Cl9fZXhwZWN0ZWQuaW5kZXggPSAwOwpfX2V4cGVjdGVkLmlucHV0ID0gJ3h4eHh4eHl5eXl5eSc7CgovL0NIRUNLIzEKaWYgKF9fZXhlY3V0ZWQubGVuZ3RoICE9PSBfX2V4cGVjdGVkLmxlbmd0aCkgewoJJEVSUk9SKCcjMTogX19leGVjdXRlZCA9IC94KnkrJC8uZXhlYyhcJ3h4eHh4eHl5eXl5eVwnKTsgX19leGVjdXRlZC5sZW5ndGggPT09ICcgKyBfX2V4cGVjdGVkLmxlbmd0aCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQubGVuZ3RoKTsKfQoKLy9DSEVDSyMyCmlmIChfX2V4ZWN1dGVkLmluZGV4ICE9PSBfX2V4cGVjdGVkLmluZGV4KSB7CgkkRVJST1IoJyMyOiBfX2V4ZWN1dGVkID0gL3gqeSskLy5leGVjKFwneHh4eHh4eXl5eXl5XCcpOyBfX2V4ZWN1dGVkLmluZGV4ID09PSAnICsgX19leHBlY3RlZC5pbmRleCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5kZXgpOwp9CgovL0NIRUNLIzMKaWYgKF9fZXhlY3V0ZWQuaW5wdXQgIT09IF9fZXhwZWN0ZWQuaW5wdXQpIHsKCSRFUlJPUignIzM6IF9fZXhlY3V0ZWQgPSAveCp5KyQvLmV4ZWMoXCd4eHh4eHh5eXl5eXlcJyk7IF9fZXhlY3V0ZWQuaW5wdXQgPT09ICcgKyBfX2V4cGVjdGVkLmlucHV0ICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5pbnB1dCk7Cn0KCi8vQ0hFQ0sjNApmb3IodmFyIGluZGV4PTA7IGluZGV4PF9fZXhwZWN0ZWQubGVuZ3RoOyBpbmRleCsrKSB7CglpZiAoX19leGVjdXRlZFtpbmRleF0gIT09IF9fZXhwZWN0ZWRbaW5kZXhdKSB7CgkJJEVSUk9SKCcjNDogX19leGVjdXRlZCA9IC94KnkrJC8uZXhlYyhcJ3h4eHh4eHl5eXl5eVwnKTsgX19leGVjdXRlZFsnICsgaW5kZXggKyAnXSA9PT0gJyArIF9fZXhwZWN0ZWRbaW5kZXhdICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZFtpbmRleF0pOwoJfQp9CgoK","commentary":"The production QuantifierPrefix :: * evaluates by returning the two results 0 and \\infty","description":"Execute /x*y+$/.exec('xxxxxxyyyyyy') and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A4_T17.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBRdWFudGlmaWVyUHJlZml4IDo6ICogZXZhbHVhdGVzIGJ5IHJldHVybmluZyB0aGUgdHdvIHJlc3VsdHMgMCBhbmQgXGluZnR5CiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuMi8xNS4xMC4yLjcvUzE1LjEwLjIuN19BNF9UMTguanMKICogQGRlc2NyaXB0aW9uIEV4ZWN1dGUgL1tcZF0qW1xzXSpiYy4vLmV4ZWMoJ2FiY2RlZicpIGFuZCBjaGVjayByZXN1bHRzCiAqLwoKX19leGVjdXRlZCA9IC9bXGRdKltcc10qYmMuLy5leGVjKCdhYmNkZWYnKTsKCl9fZXhwZWN0ZWQgPSBbImJjZCJdOwpfX2V4cGVjdGVkLmluZGV4ID0gMTsKX19leHBlY3RlZC5pbnB1dCA9ICdhYmNkZWYnOwoKLy9DSEVDSyMxCmlmIChfX2V4ZWN1dGVkLmxlbmd0aCAhPT0gX19leHBlY3RlZC5sZW5ndGgpIHsKCSRFUlJPUignIzE6IF9fZXhlY3V0ZWQgPSAvW1xcZF0qW1xcc10qYmMuLy5leGVjKFwnYWJjZGVmXCcpOyBfX2V4ZWN1dGVkLmxlbmd0aCA9PT0gJyArIF9fZXhwZWN0ZWQubGVuZ3RoICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5sZW5ndGgpOwp9CgovL0NIRUNLIzIKaWYgKF9fZXhlY3V0ZWQuaW5kZXggIT09IF9fZXhwZWN0ZWQuaW5kZXgpIHsKCSRFUlJPUignIzI6IF9fZXhlY3V0ZWQgPSAvW1xcZF0qW1xcc10qYmMuLy5leGVjKFwnYWJjZGVmXCcpOyBfX2V4ZWN1dGVkLmluZGV4ID09PSAnICsgX19leHBlY3RlZC5pbmRleCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5kZXgpOwp9CgovL0NIRUNLIzMKaWYgKF9fZXhlY3V0ZWQuaW5wdXQgIT09IF9fZXhwZWN0ZWQuaW5wdXQpIHsKCSRFUlJPUignIzM6IF9fZXhlY3V0ZWQgPSAvW1xcZF0qW1xcc10qYmMuLy5leGVjKFwnYWJjZGVmXCcpOyBfX2V4ZWN1dGVkLmlucHV0ID09PSAnICsgX19leHBlY3RlZC5pbnB1dCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5wdXQpOwp9CgovL0NIRUNLIzQKZm9yKHZhciBpbmRleD0wOyBpbmRleDxfX2V4cGVjdGVkLmxlbmd0aDsgaW5kZXgrKykgewoJaWYgKF9fZXhlY3V0ZWRbaW5kZXhdICE9PSBfX2V4cGVjdGVkW2luZGV4XSkgewoJCSRFUlJPUignIzQ6IF9fZXhlY3V0ZWQgPSAvW1xcZF0qW1xcc10qYmMuLy5leGVjKFwnYWJjZGVmXCcpOyBfX2V4ZWN1dGVkWycgKyBpbmRleCArICddID09PSAnICsgX19leHBlY3RlZFtpbmRleF0gKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkW2luZGV4XSk7Cgl9Cn0KCgo=","commentary":"The production QuantifierPrefix :: * evaluates by returning the two results 0 and \\infty","description":"Execute /[\\d]*[\\s]*bc./.exec('abcdef') and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A4_T18.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBRdWFudGlmaWVyUHJlZml4IDo6ICogZXZhbHVhdGVzIGJ5IHJldHVybmluZyB0aGUgdHdvIHJlc3VsdHMgMCBhbmQgXGluZnR5CiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuMi8xNS4xMC4yLjcvUzE1LjEwLjIuN19BNF9UMTkuanMKICogQGRlc2NyaXB0aW9uIEV4ZWN1dGUgL2JjLi5bXGRdKltcc10qIC8uZXhlYygnYWJjZGVmJykgYW5kIGNoZWNrIHJlc3VsdHMKICovCgpfX2V4ZWN1dGVkID0gL2JjLi5bXGRdKltcc10qLy5leGVjKCdhYmNkZWYnKTsKCl9fZXhwZWN0ZWQgPSBbImJjZGUiXTsKX19leHBlY3RlZC5pbmRleCA9IDE7Cl9fZXhwZWN0ZWQuaW5wdXQgPSAnYWJjZGVmJzsKCi8vQ0hFQ0sjMQppZiAoX19leGVjdXRlZC5sZW5ndGggIT09IF9fZXhwZWN0ZWQubGVuZ3RoKSB7CgkkRVJST1IoJyMxOiBfX2V4ZWN1dGVkID0gL2JjLi5bXFxkXSpbXFxzXSovLmV4ZWMoXCdhYmNkZWZcJyk7IF9fZXhlY3V0ZWQubGVuZ3RoID09PSAnICsgX19leHBlY3RlZC5sZW5ndGggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmxlbmd0aCk7Cn0KCi8vQ0hFQ0sjMgppZiAoX19leGVjdXRlZC5pbmRleCAhPT0gX19leHBlY3RlZC5pbmRleCkgewoJJEVSUk9SKCcjMjogX19leGVjdXRlZCA9IC9iYy4uW1xcZF0qW1xcc10qLy5leGVjKFwnYWJjZGVmXCcpOyBfX2V4ZWN1dGVkLmluZGV4ID09PSAnICsgX19leHBlY3RlZC5pbmRleCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5kZXgpOwp9CgovL0NIRUNLIzMKaWYgKF9fZXhlY3V0ZWQuaW5wdXQgIT09IF9fZXhwZWN0ZWQuaW5wdXQpIHsKCSRFUlJPUignIzM6IF9fZXhlY3V0ZWQgPSAvYmMuLltcXGRdKltcXHNdKi8uZXhlYyhcJ2FiY2RlZlwnKTsgX19leGVjdXRlZC5pbnB1dCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5wdXQgKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmlucHV0KTsKfQoKLy9DSEVDSyM0CmZvcih2YXIgaW5kZXg9MDsgaW5kZXg8X19leHBlY3RlZC5sZW5ndGg7IGluZGV4KyspIHsKCWlmIChfX2V4ZWN1dGVkW2luZGV4XSAhPT0gX19leHBlY3RlZFtpbmRleF0pIHsKCQkkRVJST1IoJyM0OiBfX2V4ZWN1dGVkID0gL2JjLi5bXFxkXSpbXFxzXSovLmV4ZWMoXCdhYmNkZWZcJyk7IF9fZXhlY3V0ZWRbJyArIGluZGV4ICsgJ10gPT09ICcgKyBfX2V4cGVjdGVkW2luZGV4XSArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWRbaW5kZXhdKTsKCX0KfQoKCg==","commentary":"The production QuantifierPrefix :: * evaluates by returning the two results 0 and \\infty","description":"Execute /bc..[\\d]*[\\s]* /.exec('abcdef') and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A4_T19.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBRdWFudGlmaWVyUHJlZml4IDo6ICogZXZhbHVhdGVzIGJ5IHJldHVybmluZyB0aGUgdHdvIHJlc3VsdHMgMCBhbmQgXGluZnR5CiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuMi8xNS4xMC4yLjcvUzE1LjEwLjIuN19BNF9UMi5qcwogKiBAZGVzY3JpcHRpb24gRXhlY3V0ZSAvW14iXSogLy5leGVjKCdhbGljZSBzYWlkOiAiZG9uXCd0IicpIGFuZCBjaGVjayByZXN1bHRzCiAqLwoKX19leGVjdXRlZCA9IC9bXiJdKi8uZXhlYygnYWxpY2Ugc2FpZDogImRvblwndCInKTsKCl9fZXhwZWN0ZWQgPSBbImFsaWNlIHNhaWQ6ICJdOwpfX2V4cGVjdGVkLmluZGV4ID0gMDsKX19leHBlY3RlZC5pbnB1dCA9ICdhbGljZSBzYWlkOiAiZG9uXCd0Iic7CgovL0NIRUNLIzEKaWYgKF9fZXhlY3V0ZWQubGVuZ3RoICE9PSBfX2V4cGVjdGVkLmxlbmd0aCkgewoJJEVSUk9SKCcjMTogX19leGVjdXRlZCA9IC9bXiJdKi8uZXhlYyhcJ2FsaWNlIHNhaWQ6ICJkb25cJ3QiXCcpOyBfX2V4ZWN1dGVkLmxlbmd0aCA9PT0gJyArIF9fZXhwZWN0ZWQubGVuZ3RoICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5sZW5ndGgpOwp9CgovL0NIRUNLIzIKaWYgKF9fZXhlY3V0ZWQuaW5kZXggIT09IF9fZXhwZWN0ZWQuaW5kZXgpIHsKCSRFUlJPUignIzI6IF9fZXhlY3V0ZWQgPSAvW14iXSovLmV4ZWMoXCdhbGljZSBzYWlkOiAiZG9uXCd0IlwnKTsgX19leGVjdXRlZC5pbmRleCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5kZXggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmluZGV4KTsKfQoKLy9DSEVDSyMzCmlmIChfX2V4ZWN1dGVkLmlucHV0ICE9PSBfX2V4cGVjdGVkLmlucHV0KSB7CgkkRVJST1IoJyMzOiBfX2V4ZWN1dGVkID0gL1teIl0qLy5leGVjKFwnYWxpY2Ugc2FpZDogImRvblwndCJcJyk7IF9fZXhlY3V0ZWQuaW5wdXQgPT09ICcgKyBfX2V4cGVjdGVkLmlucHV0ICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5pbnB1dCk7Cn0KCi8vQ0hFQ0sjNApmb3IodmFyIGluZGV4PTA7IGluZGV4PF9fZXhwZWN0ZWQubGVuZ3RoOyBpbmRleCsrKSB7CglpZiAoX19leGVjdXRlZFtpbmRleF0gIT09IF9fZXhwZWN0ZWRbaW5kZXhdKSB7CgkJJEVSUk9SKCcjNDogX19leGVjdXRlZCA9IC9bXiJdKi8uZXhlYyhcJ2FsaWNlIHNhaWQ6ICJkb25cJ3QiXCcpOyBfX2V4ZWN1dGVkWycgKyBpbmRleCArICddID09PSAnICsgX19leHBlY3RlZFtpbmRleF0gKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkW2luZGV4XSk7Cgl9Cn0KCgo=","commentary":"The production QuantifierPrefix :: * evaluates by returning the two results 0 and \\infty","description":"Execute /[^\"]* /.exec('alice said: \"don\\'t\"') and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A4_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBRdWFudGlmaWVyUHJlZml4IDo6ICogZXZhbHVhdGVzIGJ5IHJldHVybmluZyB0aGUgdHdvIHJlc3VsdHMgMCBhbmQgXGluZnR5CiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuMi8xNS4xMC4yLjcvUzE1LjEwLjIuN19BNF9UMjAuanMKICogQGRlc2NyaXB0aW9uIEV4ZWN1dGUgLy4qIC8uZXhlYygnYTFiMmMzJykgYW5kIGNoZWNrIHJlc3VsdHMKICovCgpfX2V4ZWN1dGVkID0gLy4qLy5leGVjKCdhMWIyYzMnKTsKCl9fZXhwZWN0ZWQgPSBbImExYjJjMyJdOwpfX2V4cGVjdGVkLmluZGV4ID0gMDsKX19leHBlY3RlZC5pbnB1dCA9ICdhMWIyYzMnOwoKLy9DSEVDSyMxCmlmIChfX2V4ZWN1dGVkLmxlbmd0aCAhPT0gX19leHBlY3RlZC5sZW5ndGgpIHsKCSRFUlJPUignIzE6IF9fZXhlY3V0ZWQgPSAvLiovLmV4ZWMoXCdhMWIyYzNcJyk7IF9fZXhlY3V0ZWQubGVuZ3RoID09PSAnICsgX19leHBlY3RlZC5sZW5ndGggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmxlbmd0aCk7Cn0KCi8vQ0hFQ0sjMgppZiAoX19leGVjdXRlZC5pbmRleCAhPT0gX19leHBlY3RlZC5pbmRleCkgewoJJEVSUk9SKCcjMjogX19leGVjdXRlZCA9IC8uKi8uZXhlYyhcJ2ExYjJjM1wnKTsgX19leGVjdXRlZC5pbmRleCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5kZXggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmluZGV4KTsKfQoKLy9DSEVDSyMzCmlmIChfX2V4ZWN1dGVkLmlucHV0ICE9PSBfX2V4cGVjdGVkLmlucHV0KSB7CgkkRVJST1IoJyMzOiBfX2V4ZWN1dGVkID0gLy4qLy5leGVjKFwnYTFiMmMzXCcpOyBfX2V4ZWN1dGVkLmlucHV0ID09PSAnICsgX19leHBlY3RlZC5pbnB1dCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5wdXQpOwp9CgovL0NIRUNLIzQKZm9yKHZhciBpbmRleD0wOyBpbmRleDxfX2V4cGVjdGVkLmxlbmd0aDsgaW5kZXgrKykgewoJaWYgKF9fZXhlY3V0ZWRbaW5kZXhdICE9PSBfX2V4cGVjdGVkW2luZGV4XSkgewoJCSRFUlJPUignIzQ6IF9fZXhlY3V0ZWQgPSAvLiovLmV4ZWMoXCdhMWIyYzNcJyk7IF9fZXhlY3V0ZWRbJyArIGluZGV4ICsgJ10gPT09ICcgKyBfX2V4cGVjdGVkW2luZGV4XSArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWRbaW5kZXhdKTsKCX0KfQoKCg==","commentary":"The production QuantifierPrefix :: * evaluates by returning the two results 0 and \\infty","description":"Execute /.* /.exec('a1b2c3') and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A4_T20.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBRdWFudGlmaWVyUHJlZml4IDo6ICogZXZhbHVhdGVzIGJ5IHJldHVybmluZyB0aGUgdHdvIHJlc3VsdHMgMCBhbmQgXGluZnR5CiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuMi8xNS4xMC4yLjcvUzE1LjEwLjIuN19BNF9UMjEuanMKICogQGRlc2NyaXB0aW9uIEV4ZWN1dGUgL1t4eXpdKjEvLnRlc3QoJ2EwLmIyLmMzJykgYW5kIGNoZWNrIHJlc3VsdHMKICovCgpfX2V4ZWN1dGVkID0gL1t4eXpdKjEvLnRlc3QoJ2EwLmIyLmMzJyk7CgovL0NIRUNLIzEKaWYgKF9fZXhlY3V0ZWQpIHsKCSRFUlJPUignIzE6IC9beHl6XSoxLy50ZXN0KFwnYTAuYjIuYzNcJykgPT09IGZhbHNlJyk7Cn0KCgo=","commentary":"The production QuantifierPrefix :: * evaluates by returning the two results 0 and \\infty","description":"Execute /[xyz]*1/.test('a0.b2.c3') and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A4_T21.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBRdWFudGlmaWVyUHJlZml4IDo6ICogZXZhbHVhdGVzIGJ5IHJldHVybmluZyB0aGUgdHdvIHJlc3VsdHMgMCBhbmQgXGluZnR5CiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuMi8xNS4xMC4yLjcvUzE1LjEwLjIuN19BNF9UMy5qcwogKiBAZGVzY3JpcHRpb24gRXhlY3V0ZSAvW14iXSogLy5leGVjKCJiZWZvcmVcJ2lcJ3N0YXJ0IikgYW5kIGNoZWNrIHJlc3VsdHMKICovCgpfX2V4ZWN1dGVkID0gL1teIl0qLy5leGVjKCJiZWZvcmVcJ2lcJ3N0YXJ0Iik7CgpfX2V4cGVjdGVkID0gWyJiZWZvcmVcJ2lcJ3N0YXJ0Il07Cl9fZXhwZWN0ZWQuaW5kZXggPSAwOwpfX2V4cGVjdGVkLmlucHV0ID0gImJlZm9yZVwnaVwnc3RhcnQiOwoKLy9DSEVDSyMxCmlmIChfX2V4ZWN1dGVkLmxlbmd0aCAhPT0gX19leHBlY3RlZC5sZW5ndGgpIHsKCSRFUlJPUignIzE6IF9fZXhlY3V0ZWQgPSAvW14iXSovLmV4ZWMoImJlZm9yZVwnaVwnc3RhcnQiKTsgX19leGVjdXRlZC5sZW5ndGggPT09ICcgKyBfX2V4cGVjdGVkLmxlbmd0aCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQubGVuZ3RoKTsKfQoKLy9DSEVDSyMyCmlmIChfX2V4ZWN1dGVkLmluZGV4ICE9PSBfX2V4cGVjdGVkLmluZGV4KSB7CgkkRVJST1IoJyMyOiBfX2V4ZWN1dGVkID0gL1teIl0qLy5leGVjKCJiZWZvcmVcJ2lcJ3N0YXJ0Iik7IF9fZXhlY3V0ZWQuaW5kZXggPT09ICcgKyBfX2V4cGVjdGVkLmluZGV4ICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5pbmRleCk7Cn0KCi8vQ0hFQ0sjMwppZiAoX19leGVjdXRlZC5pbnB1dCAhPT0gX19leHBlY3RlZC5pbnB1dCkgewoJJEVSUk9SKCcjMzogX19leGVjdXRlZCA9IC9bXiJdKi8uZXhlYygiYmVmb3JlXCdpXCdzdGFydCIpOyBfX2V4ZWN1dGVkLmlucHV0ID09PSAnICsgX19leHBlY3RlZC5pbnB1dCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5wdXQpOwp9CgovL0NIRUNLIzQKZm9yKHZhciBpbmRleD0wOyBpbmRleDxfX2V4cGVjdGVkLmxlbmd0aDsgaW5kZXgrKykgewoJaWYgKF9fZXhlY3V0ZWRbaW5kZXhdICE9PSBfX2V4cGVjdGVkW2luZGV4XSkgewoJCSRFUlJPUignIzQ6IF9fZXhlY3V0ZWQgPSAvW14iXSovLmV4ZWMoImJlZm9yZVwnaVwnc3RhcnQiKTsgX19leGVjdXRlZFsnICsgaW5kZXggKyAnXSA9PT0gJyArIF9fZXhwZWN0ZWRbaW5kZXhdICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZFtpbmRleF0pOwoJfQp9CgoK","commentary":"The production QuantifierPrefix :: * evaluates by returning the two results 0 and \\infty","description":"Execute /[^\"]* /.exec(\"before\\'i\\'start\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A4_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBRdWFudGlmaWVyUHJlZml4IDo6ICogZXZhbHVhdGVzIGJ5IHJldHVybmluZyB0aGUgdHdvIHJlc3VsdHMgMCBhbmQgXGluZnR5CiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuMi8xNS4xMC4yLjcvUzE1LjEwLjIuN19BNF9UNC5qcwogKiBAZGVzY3JpcHRpb24gRXhlY3V0ZSAvW14iXSogLy5leGVjKCdhbGljZSBcInN3ZWVwXCI6ICJkb25cJ3QiJykgYW5kIGNoZWNrIHJlc3VsdHMKICovCgpfX2V4ZWN1dGVkID0gL1teIl0qLy5leGVjKCdhbGljZSBcInN3ZWVwXCI6ICJkb25cJ3QiJyk7CgpfX2V4cGVjdGVkID0gWyJhbGljZSAiXTsKX19leHBlY3RlZC5pbmRleCA9IDA7Cl9fZXhwZWN0ZWQuaW5wdXQgPSAnYWxpY2UgXCJzd2VlcFwiOiAiZG9uXCd0Iic7CgovL0NIRUNLIzEKaWYgKF9fZXhlY3V0ZWQubGVuZ3RoICE9PSBfX2V4cGVjdGVkLmxlbmd0aCkgewoJJEVSUk9SKCcjMTogX19leGVjdXRlZCA9IC9bXiJdKi8uZXhlYyhcJ2FsaWNlIFxcInN3ZWVwXFwiOiAiZG9uXCd0IlwnKTsgX19leGVjdXRlZC5sZW5ndGggPT09ICcgKyBfX2V4cGVjdGVkLmxlbmd0aCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQubGVuZ3RoKTsKfQoKLy9DSEVDSyMyCmlmIChfX2V4ZWN1dGVkLmluZGV4ICE9PSBfX2V4cGVjdGVkLmluZGV4KSB7CgkkRVJST1IoJyMyOiBfX2V4ZWN1dGVkID0gL1teIl0qLy5leGVjKFwnYWxpY2UgXFwic3dlZXBcXCI6ICJkb25cJ3QiXCcpOyBfX2V4ZWN1dGVkLmluZGV4ID09PSAnICsgX19leHBlY3RlZC5pbmRleCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5kZXgpOwp9CgovL0NIRUNLIzMKaWYgKF9fZXhlY3V0ZWQuaW5wdXQgIT09IF9fZXhwZWN0ZWQuaW5wdXQpIHsKCSRFUlJPUignIzM6IF9fZXhlY3V0ZWQgPSAvW14iXSovLmV4ZWMoXCdhbGljZSBcXCJzd2VlcFxcIjogImRvblwndCJcJyk7IF9fZXhlY3V0ZWQuaW5wdXQgPT09ICcgKyBfX2V4cGVjdGVkLmlucHV0ICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5pbnB1dCk7Cn0KCi8vQ0hFQ0sjNApmb3IodmFyIGluZGV4PTA7IGluZGV4PF9fZXhwZWN0ZWQubGVuZ3RoOyBpbmRleCsrKSB7CglpZiAoX19leGVjdXRlZFtpbmRleF0gIT09IF9fZXhwZWN0ZWRbaW5kZXhdKSB7CgkJJEVSUk9SKCcjNDogX19leGVjdXRlZCA9IC9bXiJdKi8uZXhlYyhcJ2FsaWNlIFxcInN3ZWVwXFwiOiAiZG9uXCd0IlwnKTsgX19leGVjdXRlZFsnICsgaW5kZXggKyAnXSA9PT0gJyArIF9fZXhwZWN0ZWRbaW5kZXhdICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZFtpbmRleF0pOwoJfQp9CgoK","commentary":"The production QuantifierPrefix :: * evaluates by returning the two results 0 and \\infty","description":"Execute /[^\"]* /.exec('alice \\\"sweep\\\": \"don\\'t\"') and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A4_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBRdWFudGlmaWVyUHJlZml4IDo6ICogZXZhbHVhdGVzIGJ5IHJldHVybmluZyB0aGUgdHdvIHJlc3VsdHMgMCBhbmQgXGluZnR5CiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuMi8xNS4xMC4yLjcvUzE1LjEwLjIuN19BNF9UNS5qcwogKiBAZGVzY3JpcHRpb24gRXhlY3V0ZSAvW14iXSogLy5leGVjKCdhbGljZSBcdTAwMjJzd2VlcFx1MDAyMjogImRvblwndCInKSBhbmQgY2hlY2sgcmVzdWx0cwogKi8KCl9fZXhlY3V0ZWQgPSAvW14iXSovLmV4ZWMoJ2FsaWNlIFx1MDAyMnN3ZWVwXHUwMDIyOiAiZG9uXCd0IicpOwoKX19leHBlY3RlZCA9IFsiYWxpY2UgIl07Cl9fZXhwZWN0ZWQuaW5kZXggPSAwOwpfX2V4cGVjdGVkLmlucHV0ID0gJ2FsaWNlICJzd2VlcCI6ICJkb25cJ3QiJzsKCi8vQ0hFQ0sjMQppZiAoX19leGVjdXRlZC5sZW5ndGggIT09IF9fZXhwZWN0ZWQubGVuZ3RoKSB7CgkkRVJST1IoJyMxOiBfX2V4ZWN1dGVkID0gL1teIl0qLy5leGVjKFwnYWxpY2UgXFx1MDAyMnN3ZWVwXFx1MDAyMjogImRvblwndCJcJyk7IF9fZXhlY3V0ZWQubGVuZ3RoID09PSAnICsgX19leHBlY3RlZC5sZW5ndGggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmxlbmd0aCk7Cn0KCi8vQ0hFQ0sjMgppZiAoX19leGVjdXRlZC5pbmRleCAhPT0gX19leHBlY3RlZC5pbmRleCkgewoJJEVSUk9SKCcjMjogX19leGVjdXRlZCA9IC9bXiJdKi8uZXhlYyhcJ2FsaWNlIFxcdTAwMjJzd2VlcFxcdTAwMjI6ICJkb25cJ3QiXCcpOyBfX2V4ZWN1dGVkLmluZGV4ID09PSAnICsgX19leHBlY3RlZC5pbmRleCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5kZXgpOwp9CgovL0NIRUNLIzMKaWYgKF9fZXhlY3V0ZWQuaW5wdXQgIT09IF9fZXhwZWN0ZWQuaW5wdXQpIHsKCSRFUlJPUignIzM6IF9fZXhlY3V0ZWQgPSAvW14iXSovLmV4ZWMoXCdhbGljZSBcXHUwMDIyc3dlZXBcXHUwMDIyOiAiZG9uXCd0IlwnKTsgX19leGVjdXRlZC5pbnB1dCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5wdXQgKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmlucHV0KTsKfQoKLy9DSEVDSyM0CmZvcih2YXIgaW5kZXg9MDsgaW5kZXg8X19leHBlY3RlZC5sZW5ndGg7IGluZGV4KyspIHsKCWlmIChfX2V4ZWN1dGVkW2luZGV4XSAhPT0gX19leHBlY3RlZFtpbmRleF0pIHsKCQkkRVJST1IoJyM0OiBfX2V4ZWN1dGVkID0gL1teIl0qLy5leGVjKFwnYWxpY2UgXFx1MDAyMnN3ZWVwXFx1MDAyMjogImRvblwndCJcJyk7IF9fZXhlY3V0ZWRbJyArIGluZGV4ICsgJ10gPT09ICcgKyBfX2V4cGVjdGVkW2luZGV4XSArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWRbaW5kZXhdKTsKCX0KfQoKCg==","commentary":"The production QuantifierPrefix :: * evaluates by returning the two results 0 and \\infty","description":"Execute /[^\"]* /.exec('alice \\u0022sweep\\u0022: \"don\\'t\"') and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A4_T5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBRdWFudGlmaWVyUHJlZml4IDo6ICogZXZhbHVhdGVzIGJ5IHJldHVybmluZyB0aGUgdHdvIHJlc3VsdHMgMCBhbmQgXGluZnR5CiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuMi8xNS4xMC4yLjcvUzE1LjEwLjIuN19BNF9UNi5qcwogKiBAZGVzY3JpcHRpb24gRXhlY3V0ZSAvWyInXVteIiddKlsiJ10vLmV4ZWMoJ2FsaWNlIFx1MDAyMnN3ZWVwXHUwMDIyOiAiZG9uXCd0IicpIGFuZCBjaGVjayByZXN1bHRzCiAqLwoKX19leGVjdXRlZCA9IC9bIiddW14iJ10qWyInXS8uZXhlYygnYWxpY2UgXHUwMDIyc3dlZXBcdTAwMjI6ICJkb25cJ3QiJyk7CgpfX2V4cGVjdGVkID0gWyJcInN3ZWVwXCIiXTsKX19leHBlY3RlZC5pbmRleCA9IDY7Cl9fZXhwZWN0ZWQuaW5wdXQgPSAnYWxpY2UgInN3ZWVwIjogImRvblwndCInOwoKLy9DSEVDSyMxCmlmIChfX2V4ZWN1dGVkLmxlbmd0aCAhPT0gX19leHBlY3RlZC5sZW5ndGgpIHsKCSRFUlJPUignIzE6IF9fZXhlY3V0ZWQgPSAvWyJcJ11bXiJcJ10qWyJcJ10vLmV4ZWMoXCdhbGljZSBcXHUwMDIyc3dlZXBcXHUwMDIyOiAiZG9uXCd0IlwnKTsgX19leGVjdXRlZC5sZW5ndGggPT09ICcgKyBfX2V4cGVjdGVkLmxlbmd0aCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQubGVuZ3RoKTsKfQoKLy9DSEVDSyMyCmlmIChfX2V4ZWN1dGVkLmluZGV4ICE9PSBfX2V4cGVjdGVkLmluZGV4KSB7CgkkRVJST1IoJyMyOiBfX2V4ZWN1dGVkID0gL1siXCddW14iXCddKlsiXCddLy5leGVjKFwnYWxpY2UgXFx1MDAyMnN3ZWVwXFx1MDAyMjogImRvblwndCJcJyk7IF9fZXhlY3V0ZWQuaW5kZXggPT09ICcgKyBfX2V4cGVjdGVkLmluZGV4ICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5pbmRleCk7Cn0KCi8vQ0hFQ0sjMwppZiAoX19leGVjdXRlZC5pbnB1dCAhPT0gX19leHBlY3RlZC5pbnB1dCkgewoJJEVSUk9SKCcjMzogX19leGVjdXRlZCA9IC9bIlwnXVteIlwnXSpbIlwnXS8uZXhlYyhcJ2FsaWNlIFxcdTAwMjJzd2VlcFxcdTAwMjI6ICJkb25cJ3QiXCcpOyBfX2V4ZWN1dGVkLmlucHV0ID09PSAnICsgX19leHBlY3RlZC5pbnB1dCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5wdXQpOwp9CgovL0NIRUNLIzQKZm9yKHZhciBpbmRleD0wOyBpbmRleDxfX2V4cGVjdGVkLmxlbmd0aDsgaW5kZXgrKykgewoJaWYgKF9fZXhlY3V0ZWRbaW5kZXhdICE9PSBfX2V4cGVjdGVkW2luZGV4XSkgewoJCSRFUlJPUignIzQ6IF9fZXhlY3V0ZWQgPSAvWyJcJ11bXiJcJ10qWyJcJ10vLmV4ZWMoXCdhbGljZSBcXHUwMDIyc3dlZXBcXHUwMDIyOiAiZG9uXCd0IlwnKTsgX19leGVjdXRlZFsnICsgaW5kZXggKyAnXSA9PT0gJyArIF9fZXhwZWN0ZWRbaW5kZXhdICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZFtpbmRleF0pOwoJfQp9CgoK","commentary":"The production QuantifierPrefix :: * evaluates by returning the two results 0 and \\infty","description":"Execute /[\"'][^\"']*[\"']/.exec('alice \\u0022sweep\\u0022: \"don\\'t\"') and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A4_T6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBRdWFudGlmaWVyUHJlZml4IDo6ICogZXZhbHVhdGVzIGJ5IHJldHVybmluZyB0aGUgdHdvIHJlc3VsdHMgMCBhbmQgXGluZnR5CiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuMi8xNS4xMC4yLjcvUzE1LjEwLjIuN19BNF9UNy5qcwogKiBAZGVzY3JpcHRpb24gRXhlY3V0ZSAvWyInXVteIiddKlsiJ10vLmV4ZWMoJ2FsaWNlIGNyaWVzIG91dDogXCdkb25cJ3RcJycpIGFuZCBjaGVjayByZXN1bHRzCiAqLwoKX19leGVjdXRlZCA9IC9bIiddW14iJ10qWyInXS8uZXhlYygnYWxpY2UgY3JpZXMgb3V0OiBcJ2RvblwndFwnJyk7CgpfX2V4cGVjdGVkID0gWyJcJ2RvblwnIl07Cl9fZXhwZWN0ZWQuaW5kZXggPSAxNzsKX19leHBlY3RlZC5pbnB1dCA9ICdhbGljZSBjcmllcyBvdXQ6IFwnZG9uXCd0XCcnOwoKLy9DSEVDSyMxCmlmIChfX2V4ZWN1dGVkLmxlbmd0aCAhPT0gX19leHBlY3RlZC5sZW5ndGgpIHsKCSRFUlJPUignIzE6IF9fZXhlY3V0ZWQgPSAvWyJcJ11bXiJcJ10qWyJcJ10vLmV4ZWMoXCdhbGljZSBjcmllcyBvdXQ6IFwnZG9uXCd0XCdcJyk7IF9fZXhlY3V0ZWQubGVuZ3RoID09PSAnICsgX19leHBlY3RlZC5sZW5ndGggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmxlbmd0aCk7Cn0KCi8vQ0hFQ0sjMgppZiAoX19leGVjdXRlZC5pbmRleCAhPT0gX19leHBlY3RlZC5pbmRleCkgewoJJEVSUk9SKCcjMjogX19leGVjdXRlZCA9IC9bIlwnXVteIlwnXSpbIlwnXS8uZXhlYyhcJ2FsaWNlIGNyaWVzIG91dDogXCdkb25cJ3RcJ1wnKTsgX19leGVjdXRlZC5pbmRleCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5kZXggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmluZGV4KTsKfQoKLy9DSEVDSyMzCmlmIChfX2V4ZWN1dGVkLmlucHV0ICE9PSBfX2V4cGVjdGVkLmlucHV0KSB7CgkkRVJST1IoJyMzOiBfX2V4ZWN1dGVkID0gL1siXCddW14iXCddKlsiXCddLy5leGVjKFwnYWxpY2UgY3JpZXMgb3V0OiBcJ2RvblwndFwnXCcpOyBfX2V4ZWN1dGVkLmlucHV0ID09PSAnICsgX19leHBlY3RlZC5pbnB1dCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5wdXQpOwp9CgovL0NIRUNLIzQKZm9yKHZhciBpbmRleD0wOyBpbmRleDxfX2V4cGVjdGVkLmxlbmd0aDsgaW5kZXgrKykgewoJaWYgKF9fZXhlY3V0ZWRbaW5kZXhdICE9PSBfX2V4cGVjdGVkW2luZGV4XSkgewoJCSRFUlJPUignIzQ6IF9fZXhlY3V0ZWQgPSAvWyJcJ11bXiJcJ10qWyJcJ10vLmV4ZWMoXCdhbGljZSBjcmllcyBvdXQ6IFwnZG9uXCd0XCdcJyk7IF9fZXhlY3V0ZWRbJyArIGluZGV4ICsgJ10gPT09ICcgKyBfX2V4cGVjdGVkW2luZGV4XSArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWRbaW5kZXhdKTsKCX0KfQoKCg==","commentary":"The production QuantifierPrefix :: * evaluates by returning the two results 0 and \\infty","description":"Execute /[\"'][^\"']*[\"']/.exec('alice cries out: \\'don\\'t\\'') and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A4_T7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBRdWFudGlmaWVyUHJlZml4IDo6ICogZXZhbHVhdGVzIGJ5IHJldHVybmluZyB0aGUgdHdvIHJlc3VsdHMgMCBhbmQgXGluZnR5CiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuMi8xNS4xMC4yLjcvUzE1LjEwLjIuN19BNF9UOC5qcwogKiBAZGVzY3JpcHRpb24gRXhlY3V0ZSAvWyInXVteIiddKlsiJ10vLnRlc3QoJ2FsaWNlIGNyaWVzIG91dDogZG9uXCd0JykgYW5kIGNoZWNrIHJlc3VsdHMKICovCgpfX2V4ZWN1dGVkID0gL1siJ11bXiInXSpbIiddLy50ZXN0KCdhbGljZSBjcmllcyBvdXQ6IGRvblwndCcpOwoKLy9DSEVDSyMxCmlmIChfX2V4ZWN1dGVkKSB7CgkkRVJST1IoJyMxOiAvWyJcJ11bXiJcJ10qWyJcJ10vLnRlc3QoXCdhbGljZSBjcmllcyBvdXQ6IGRvblwndFwnKSA9PT0gZmFsc2UnKTsKfQoKCg==","commentary":"The production QuantifierPrefix :: * evaluates by returning the two results 0 and \\infty","description":"Execute /[\"'][^\"']*[\"']/.test('alice cries out: don\\'t') and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A4_T8.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBRdWFudGlmaWVyUHJlZml4IDo6ICogZXZhbHVhdGVzIGJ5IHJldHVybmluZyB0aGUgdHdvIHJlc3VsdHMgMCBhbmQgXGluZnR5CiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuMi8xNS4xMC4yLjcvUzE1LjEwLjIuN19BNF9UOS5qcwogKiBAZGVzY3JpcHRpb24gRXhlY3V0ZSAvWyInXVteIiddKlsiJ10vLmV4ZWMoJ2FsaWNlIGNyaWVzIG91dDpcIlwiJykgYW5kIGNoZWNrIHJlc3VsdHMKICovCgpfX2V4ZWN1dGVkID0gL1siJ11bXiInXSpbIiddLy5leGVjKCdhbGljZSBjcmllcyBvdXQ6XCJcIicpOwoKX19leHBlY3RlZCA9IFsnXCJcIiddOwpfX2V4cGVjdGVkLmluZGV4ID0gMTY7Cl9fZXhwZWN0ZWQuaW5wdXQgPSAnYWxpY2UgY3JpZXMgb3V0OlwiXCInOwoKLy9DSEVDSyMxCmlmIChfX2V4ZWN1dGVkLmxlbmd0aCAhPT0gX19leHBlY3RlZC5sZW5ndGgpIHsKCSRFUlJPUignIzE6IF9fZXhlY3V0ZWQgPSAvWyJcJ11bXiJcJ10qWyJcJ10vLmV4ZWMoXCdhbGljZSBjcmllcyBvdXQ6XFwiXFwiXCcpOyBfX2V4ZWN1dGVkLmxlbmd0aCA9PT0gJyArIF9fZXhwZWN0ZWQubGVuZ3RoICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5sZW5ndGgpOwp9CgovL0NIRUNLIzIKaWYgKF9fZXhlY3V0ZWQuaW5kZXggIT09IF9fZXhwZWN0ZWQuaW5kZXgpIHsKCSRFUlJPUignIzI6IF9fZXhlY3V0ZWQgPSAvWyJcJ11bXiJcJ10qWyJcJ10vLmV4ZWMoXCdhbGljZSBjcmllcyBvdXQ6XFwiXFwiXCcpOyBfX2V4ZWN1dGVkLmluZGV4ID09PSAnICsgX19leHBlY3RlZC5pbmRleCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5kZXgpOwp9CgovL0NIRUNLIzMKaWYgKF9fZXhlY3V0ZWQuaW5wdXQgIT09IF9fZXhwZWN0ZWQuaW5wdXQpIHsKCSRFUlJPUignIzM6IF9fZXhlY3V0ZWQgPSAvWyJcJ11bXiJcJ10qWyJcJ10vLmV4ZWMoXCdhbGljZSBjcmllcyBvdXQ6XFwiXFwiXCcpOyBfX2V4ZWN1dGVkLmlucHV0ID09PSAnICsgX19leHBlY3RlZC5pbnB1dCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5wdXQpOwp9CgovL0NIRUNLIzQKZm9yKHZhciBpbmRleD0wOyBpbmRleDxfX2V4cGVjdGVkLmxlbmd0aDsgaW5kZXgrKykgewoJaWYgKF9fZXhlY3V0ZWRbaW5kZXhdICE9PSBfX2V4cGVjdGVkW2luZGV4XSkgewoJCSRFUlJPUignIzQ6IF9fZXhlY3V0ZWQgPSAvWyJcJ11bXiJcJ10qWyJcJ10vLmV4ZWMoXCdhbGljZSBjcmllcyBvdXQ6XFwiXFwiXCcpOyBfX2V4ZWN1dGVkWycgKyBpbmRleCArICddID09PSAnICsgX19leHBlY3RlZFtpbmRleF0gKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkW2luZGV4XSk7Cgl9Cn0KCgo=","commentary":"The production QuantifierPrefix :: * evaluates by returning the two results 0 and \\infty","description":"Execute /[\"'][^\"']*[\"']/.exec('alice cries out:\\\"\\\"') and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A4_T9.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBRdWFudGlmaWVyUHJlZml4IDo6ID8gZXZhbHVhdGVzIGJ5IHJldHVybmluZyB0aGUgdHdvIHJlc3VsdHMgMCBhbmQgMQogKgogKiBAcGF0aCBjaDE1LzE1LjEwLzE1LjEwLjIvMTUuMTAuMi43L1MxNS4xMC4yLjdfQTVfVDEuanMKICogQGRlc2NyaXB0aW9uIEV4ZWN1dGUgL2phdmEoc2NyaXB0KT8vLmV4ZWMoInN0YXRlOiBqYXZhc2NyaXB0IGlzIGV4dGVuc2lvbiBvZiBlY21hIHNjcmlwdCIpIGFuZCBjaGVjayByZXN1bHRzCiAqLwoKX19leGVjdXRlZCA9IC9qYXZhKHNjcmlwdCk/Ly5leGVjKCJzdGF0ZTogamF2YXNjcmlwdCBpcyBleHRlbnNpb24gb2YgZWNtYSBzY3JpcHQiKTsKCl9fZXhwZWN0ZWQgPSBbImphdmFzY3JpcHQiLCAic2NyaXB0Il07Cl9fZXhwZWN0ZWQuaW5kZXggPSA3OwpfX2V4cGVjdGVkLmlucHV0ID0gInN0YXRlOiBqYXZhc2NyaXB0IGlzIGV4dGVuc2lvbiBvZiBlY21hIHNjcmlwdCI7CgovL0NIRUNLIzEKaWYgKF9fZXhlY3V0ZWQubGVuZ3RoICE9PSBfX2V4cGVjdGVkLmxlbmd0aCkgewoJJEVSUk9SKCcjMTogX19leGVjdXRlZCA9IC9qYXZhKHNjcmlwdCk/Ly5leGVjKCJzdGF0ZTogamF2YXNjcmlwdCBpcyBleHRlbnNpb24gb2YgZWNtYSBzY3JpcHQiKTsgX19leGVjdXRlZC5sZW5ndGggPT09ICcgKyBfX2V4cGVjdGVkLmxlbmd0aCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQubGVuZ3RoKTsKfQoKLy9DSEVDSyMyCmlmIChfX2V4ZWN1dGVkLmluZGV4ICE9PSBfX2V4cGVjdGVkLmluZGV4KSB7CgkkRVJST1IoJyMyOiBfX2V4ZWN1dGVkID0gL2phdmEoc2NyaXB0KT8vLmV4ZWMoInN0YXRlOiBqYXZhc2NyaXB0IGlzIGV4dGVuc2lvbiBvZiBlY21hIHNjcmlwdCIpOyBfX2V4ZWN1dGVkLmluZGV4ID09PSAnICsgX19leHBlY3RlZC5pbmRleCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5kZXgpOwp9CgovL0NIRUNLIzMKaWYgKF9fZXhlY3V0ZWQuaW5wdXQgIT09IF9fZXhwZWN0ZWQuaW5wdXQpIHsKCSRFUlJPUignIzM6IF9fZXhlY3V0ZWQgPSAvamF2YShzY3JpcHQpPy8uZXhlYygic3RhdGU6IGphdmFzY3JpcHQgaXMgZXh0ZW5zaW9uIG9mIGVjbWEgc2NyaXB0Iik7IF9fZXhlY3V0ZWQuaW5wdXQgPT09ICcgKyBfX2V4cGVjdGVkLmlucHV0ICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5pbnB1dCk7Cn0KCi8vQ0hFQ0sjNApmb3IodmFyIGluZGV4PTA7IGluZGV4PF9fZXhwZWN0ZWQubGVuZ3RoOyBpbmRleCsrKSB7CglpZiAoX19leGVjdXRlZFtpbmRleF0gIT09IF9fZXhwZWN0ZWRbaW5kZXhdKSB7CgkJJEVSUk9SKCcjNDogX19leGVjdXRlZCA9IC9qYXZhKHNjcmlwdCk/Ly5leGVjKCJzdGF0ZTogamF2YXNjcmlwdCBpcyBleHRlbnNpb24gb2YgZWNtYSBzY3JpcHQiKTsgX19leGVjdXRlZFsnICsgaW5kZXggKyAnXSA9PT0gJyArIF9fZXhwZWN0ZWRbaW5kZXhdICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZFtpbmRleF0pOwoJfQp9CgoK","commentary":"The production QuantifierPrefix :: ? evaluates by returning the two results 0 and 1","description":"Execute /java(script)?/.exec(\"state: javascript is extension of ecma script\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A5_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBRdWFudGlmaWVyUHJlZml4IDo6ID8gZXZhbHVhdGVzIGJ5IHJldHVybmluZyB0aGUgdHdvIHJlc3VsdHMgMCBhbmQgMQogKgogKiBAcGF0aCBjaDE1LzE1LjEwLzE1LjEwLjIvMTUuMTAuMi43L1MxNS4xMC4yLjdfQTVfVDEwLmpzCiAqIEBkZXNjcmlwdGlvbiBFeGVjdXRlIC9hYj9jP2Q/eD95P3ovLmV4ZWMoIjEyM2F6Nzg5IikgYW5kIGNoZWNrIHJlc3VsdHMKICovCgpfX2V4ZWN1dGVkID0gL2FiP2M/ZD94P3k/ei8uZXhlYygiMTIzYXo3ODkiKTsKCl9fZXhwZWN0ZWQgPSBbImF6Il07Cl9fZXhwZWN0ZWQuaW5kZXggPSAzOwpfX2V4cGVjdGVkLmlucHV0ID0gIjEyM2F6Nzg5IjsKCi8vQ0hFQ0sjMQppZiAoX19leGVjdXRlZC5sZW5ndGggIT09IF9fZXhwZWN0ZWQubGVuZ3RoKSB7CgkkRVJST1IoJyMxOiBfX2V4ZWN1dGVkID0gL2FiP2M/ZD94P3k/ei8uZXhlYygiMTIzYXo3ODkiKTsgX19leGVjdXRlZC5sZW5ndGggPT09ICcgKyBfX2V4cGVjdGVkLmxlbmd0aCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQubGVuZ3RoKTsKfQoKLy9DSEVDSyMyCmlmIChfX2V4ZWN1dGVkLmluZGV4ICE9PSBfX2V4cGVjdGVkLmluZGV4KSB7CgkkRVJST1IoJyMyOiBfX2V4ZWN1dGVkID0gL2FiP2M/ZD94P3k/ei8uZXhlYygiMTIzYXo3ODkiKTsgX19leGVjdXRlZC5pbmRleCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5kZXggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmluZGV4KTsKfQoKLy9DSEVDSyMzCmlmIChfX2V4ZWN1dGVkLmlucHV0ICE9PSBfX2V4cGVjdGVkLmlucHV0KSB7CgkkRVJST1IoJyMzOiBfX2V4ZWN1dGVkID0gL2FiP2M/ZD94P3k/ei8uZXhlYygiMTIzYXo3ODkiKTsgX19leGVjdXRlZC5pbnB1dCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5wdXQgKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmlucHV0KTsKfQoKLy9DSEVDSyM0CmZvcih2YXIgaW5kZXg9MDsgaW5kZXg8X19leHBlY3RlZC5sZW5ndGg7IGluZGV4KyspIHsKCWlmIChfX2V4ZWN1dGVkW2luZGV4XSAhPT0gX19leHBlY3RlZFtpbmRleF0pIHsKCQkkRVJST1IoJyM0OiBfX2V4ZWN1dGVkID0gL2FiP2M/ZD94P3k/ei8uZXhlYygiMTIzYXo3ODkiKTsgX19leGVjdXRlZFsnICsgaW5kZXggKyAnXSA9PT0gJyArIF9fZXhwZWN0ZWRbaW5kZXhdICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZFtpbmRleF0pOwoJfQp9CgoK","commentary":"The production QuantifierPrefix :: ? evaluates by returning the two results 0 and 1","description":"Execute /ab?c?d?x?y?z/.exec(\"123az789\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A5_T10.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBRdWFudGlmaWVyUHJlZml4IDo6ID8gZXZhbHVhdGVzIGJ5IHJldHVybmluZyB0aGUgdHdvIHJlc3VsdHMgMCBhbmQgMQogKgogKiBAcGF0aCBjaDE1LzE1LjEwLzE1LjEwLjIvMTUuMTAuMi43L1MxNS4xMC4yLjdfQTVfVDExLmpzCiAqIEBkZXNjcmlwdGlvbiBFeGVjdXRlIC9cPz9cPz9cPz9cPz9cPz8vLmV4ZWMoIj8/Pz8/IikgYW5kIGNoZWNrIHJlc3VsdHMKICovCgpfX2V4ZWN1dGVkID0gL1w/P1w/P1w/P1w/P1w/Py8uZXhlYygiPz8/Pz8iKTsKCl9fZXhwZWN0ZWQgPSBbIj8/Pz8/Il07Cl9fZXhwZWN0ZWQuaW5kZXggPSAwOwpfX2V4cGVjdGVkLmlucHV0ID0gIj8/Pz8/IjsKCi8vQ0hFQ0sjMQppZiAoX19leGVjdXRlZC5sZW5ndGggIT09IF9fZXhwZWN0ZWQubGVuZ3RoKSB7CgkkRVJST1IoJyMxOiBfX2V4ZWN1dGVkID0gL1xcPz9cXD8/XFw/P1xcPz9cXD8/Ly5leGVjKCI/Pz8/PyIpOyBfX2V4ZWN1dGVkLmxlbmd0aCA9PT0gJyArIF9fZXhwZWN0ZWQubGVuZ3RoICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5sZW5ndGgpOwp9CgovL0NIRUNLIzIKaWYgKF9fZXhlY3V0ZWQuaW5kZXggIT09IF9fZXhwZWN0ZWQuaW5kZXgpIHsKCSRFUlJPUignIzI6IF9fZXhlY3V0ZWQgPSAvXFw/P1xcPz9cXD8/XFw/P1xcPz8vLmV4ZWMoIj8/Pz8/Iik7IF9fZXhlY3V0ZWQuaW5kZXggPT09ICcgKyBfX2V4cGVjdGVkLmluZGV4ICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5pbmRleCk7Cn0KCi8vQ0hFQ0sjMwppZiAoX19leGVjdXRlZC5pbnB1dCAhPT0gX19leHBlY3RlZC5pbnB1dCkgewoJJEVSUk9SKCcjMzogX19leGVjdXRlZCA9IC9cXD8/XFw/P1xcPz9cXD8/XFw/Py8uZXhlYygiPz8/Pz8iKTsgX19leGVjdXRlZC5pbnB1dCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5wdXQgKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmlucHV0KTsKfQoKLy9DSEVDSyM0CmZvcih2YXIgaW5kZXg9MDsgaW5kZXg8X19leHBlY3RlZC5sZW5ndGg7IGluZGV4KyspIHsKCWlmIChfX2V4ZWN1dGVkW2luZGV4XSAhPT0gX19leHBlY3RlZFtpbmRleF0pIHsKCQkkRVJST1IoJyM0OiBfX2V4ZWN1dGVkID0gL1xcPz9cXD8/XFw/P1xcPz9cXD8/Ly5leGVjKCI/Pz8/PyIpOyBfX2V4ZWN1dGVkWycgKyBpbmRleCArICddID09PSAnICsgX19leHBlY3RlZFtpbmRleF0gKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkW2luZGV4XSk7Cgl9Cn0KCgo=","commentary":"The production QuantifierPrefix :: ? evaluates by returning the two results 0 and 1","description":"Execute /\\??\\??\\??\\??\\??/.exec(\"?????\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A5_T11.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBRdWFudGlmaWVyUHJlZml4IDo6ID8gZXZhbHVhdGVzIGJ5IHJldHVybmluZyB0aGUgdHdvIHJlc3VsdHMgMCBhbmQgMQogKgogKiBAcGF0aCBjaDE1LzE1LjEwLzE1LjEwLjIvMTUuMTAuMi43L1MxNS4xMC4yLjdfQTVfVDEyLmpzCiAqIEBkZXNjcmlwdGlvbiBFeGVjdXRlIC8uPy4/Lj8uPy4/Lj8uPy8uZXhlYygidGVzdCIpIGFuZCBjaGVjayByZXN1bHRzCiAqLwoKX19leGVjdXRlZCA9IC8uPy4/Lj8uPy4/Lj8uPy8uZXhlYygidGVzdCIpOwoKX19leHBlY3RlZCA9IFsidGVzdCJdOwpfX2V4cGVjdGVkLmluZGV4ID0gMDsKX19leHBlY3RlZC5pbnB1dCA9ICJ0ZXN0IjsKCi8vQ0hFQ0sjMQppZiAoX19leGVjdXRlZC5sZW5ndGggIT09IF9fZXhwZWN0ZWQubGVuZ3RoKSB7CgkkRVJST1IoJyMxOiBfX2V4ZWN1dGVkID0gLy4/Lj8uPy4/Lj8uPy4/Ly5leGVjKCJ0ZXN0Iik7IF9fZXhlY3V0ZWQubGVuZ3RoID09PSAnICsgX19leHBlY3RlZC5sZW5ndGggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmxlbmd0aCk7Cn0KCi8vQ0hFQ0sjMgppZiAoX19leGVjdXRlZC5pbmRleCAhPT0gX19leHBlY3RlZC5pbmRleCkgewoJJEVSUk9SKCcjMjogX19leGVjdXRlZCA9IC8uPy4/Lj8uPy4/Lj8uPy8uZXhlYygidGVzdCIpOyBfX2V4ZWN1dGVkLmluZGV4ID09PSAnICsgX19leHBlY3RlZC5pbmRleCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5kZXgpOwp9CgovL0NIRUNLIzMKaWYgKF9fZXhlY3V0ZWQuaW5wdXQgIT09IF9fZXhwZWN0ZWQuaW5wdXQpIHsKCSRFUlJPUignIzM6IF9fZXhlY3V0ZWQgPSAvLj8uPy4/Lj8uPy4/Lj8vLmV4ZWMoInRlc3QiKTsgX19leGVjdXRlZC5pbnB1dCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5wdXQgKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmlucHV0KTsKfQoKLy9DSEVDSyM0CmZvcih2YXIgaW5kZXg9MDsgaW5kZXg8X19leHBlY3RlZC5sZW5ndGg7IGluZGV4KyspIHsKCWlmIChfX2V4ZWN1dGVkW2luZGV4XSAhPT0gX19leHBlY3RlZFtpbmRleF0pIHsKCQkkRVJST1IoJyM0OiBfX2V4ZWN1dGVkID0gLy4/Lj8uPy4/Lj8uPy4/Ly5leGVjKCJ0ZXN0Iik7IF9fZXhlY3V0ZWRbJyArIGluZGV4ICsgJ10gPT09ICcgKyBfX2V4cGVjdGVkW2luZGV4XSArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWRbaW5kZXhdKTsKCX0KfQoKCg==","commentary":"The production QuantifierPrefix :: ? evaluates by returning the two results 0 and 1","description":"Execute /.?.?.?.?.?.?.?/.exec(\"test\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A5_T12.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBRdWFudGlmaWVyUHJlZml4IDo6ID8gZXZhbHVhdGVzIGJ5IHJldHVybmluZyB0aGUgdHdvIHJlc3VsdHMgMCBhbmQgMQogKgogKiBAcGF0aCBjaDE1LzE1LjEwLzE1LjEwLjIvMTUuMTAuMi43L1MxNS4xMC4yLjdfQTVfVDIuanMKICogQGRlc2NyaXB0aW9uIEV4ZWN1dGUgL2phdmEoc2NyaXB0KT8vLmV4ZWMoInN0YXRlOiBqYXZhIGFuZCBqYXZhc2NyaXB0IGFyZSB2YXN0bHkgZGlmZmVyZW50IikgYW5kIGNoZWNrIHJlc3VsdHMKICovCgpfX2V4ZWN1dGVkID0gL2phdmEoc2NyaXB0KT8vLmV4ZWMoInN0YXRlOiBqYXZhIGFuZCBqYXZhc2NyaXB0IGFyZSB2YXN0bHkgZGlmZmVyZW50Iik7CgpfX2V4cGVjdGVkID0gWyJqYXZhIiwgdW5kZWZpbmVkXTsKX19leHBlY3RlZC5pbmRleCA9IDc7Cl9fZXhwZWN0ZWQuaW5wdXQgPSAic3RhdGU6IGphdmEgYW5kIGphdmFzY3JpcHQgYXJlIHZhc3RseSBkaWZmZXJlbnQiOwoKLy9DSEVDSyMxCmlmIChfX2V4ZWN1dGVkLmxlbmd0aCAhPT0gX19leHBlY3RlZC5sZW5ndGgpIHsKCSRFUlJPUignIzE6IF9fZXhlY3V0ZWQgPSAvamF2YShzY3JpcHQpPy8uZXhlYygic3RhdGU6IGphdmEgYW5kIGphdmFzY3JpcHQgYXJlIHZhc3RseSBkaWZmZXJlbnQiKTsgX19leGVjdXRlZC5sZW5ndGggPT09ICcgKyBfX2V4cGVjdGVkLmxlbmd0aCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQubGVuZ3RoKTsKfQoKLy9DSEVDSyMyCmlmIChfX2V4ZWN1dGVkLmluZGV4ICE9PSBfX2V4cGVjdGVkLmluZGV4KSB7CgkkRVJST1IoJyMyOiBfX2V4ZWN1dGVkID0gL2phdmEoc2NyaXB0KT8vLmV4ZWMoInN0YXRlOiBqYXZhIGFuZCBqYXZhc2NyaXB0IGFyZSB2YXN0bHkgZGlmZmVyZW50Iik7IF9fZXhlY3V0ZWQuaW5kZXggPT09ICcgKyBfX2V4cGVjdGVkLmluZGV4ICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5pbmRleCk7Cn0KCi8vQ0hFQ0sjMwppZiAoX19leGVjdXRlZC5pbnB1dCAhPT0gX19leHBlY3RlZC5pbnB1dCkgewoJJEVSUk9SKCcjMzogX19leGVjdXRlZCA9IC9qYXZhKHNjcmlwdCk/Ly5leGVjKCJzdGF0ZTogamF2YSBhbmQgamF2YXNjcmlwdCBhcmUgdmFzdGx5IGRpZmZlcmVudCIpOyBfX2V4ZWN1dGVkLmlucHV0ID09PSAnICsgX19leHBlY3RlZC5pbnB1dCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5wdXQpOwp9CgovL0NIRUNLIzQKZm9yKHZhciBpbmRleD0wOyBpbmRleDxfX2V4cGVjdGVkLmxlbmd0aDsgaW5kZXgrKykgewoJaWYgKF9fZXhlY3V0ZWRbaW5kZXhdICE9PSBfX2V4cGVjdGVkW2luZGV4XSkgewoJCSRFUlJPUignIzQ6IF9fZXhlY3V0ZWQgPSAvamF2YShzY3JpcHQpPy8uZXhlYygic3RhdGU6IGphdmEgYW5kIGphdmFzY3JpcHQgYXJlIHZhc3RseSBkaWZmZXJlbnQiKTsgX19leGVjdXRlZFsnICsgaW5kZXggKyAnXSA9PT0gJyArIF9fZXhwZWN0ZWRbaW5kZXhdICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZFtpbmRleF0pOwoJfQp9CgoK","commentary":"The production QuantifierPrefix :: ? evaluates by returning the two results 0 and 1","description":"Execute /java(script)?/.exec(\"state: java and javascript are vastly different\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A5_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBRdWFudGlmaWVyUHJlZml4IDo6ID8gZXZhbHVhdGVzIGJ5IHJldHVybmluZyB0aGUgdHdvIHJlc3VsdHMgMCBhbmQgMQogKgogKiBAcGF0aCBjaDE1LzE1LjEwLzE1LjEwLjIvMTUuMTAuMi43L1MxNS4xMC4yLjdfQTVfVDMuanMKICogQGRlc2NyaXB0aW9uIEV4ZWN1dGUgL2phdmEoc2NyaXB0KT8vLnRlc3QoInN0YXRlOiBib3RoIEphdmEgYW5kIEphdmFTY3JpcHQgdXNlZCBpbiB3ZWIgZGV2ZWxvcG1lbnQiKSBhbmQgY2hlY2sgcmVzdWx0cwogKi8KCl9fZXhlY3V0ZWQgPSAvamF2YShzY3JpcHQpPy8udGVzdCgic3RhdGU6IGJvdGggSmF2YSBhbmQgSmF2YVNjcmlwdCB1c2VkIGluIHdlYiBkZXZlbG9wbWVudCIpOwoKLy9DSEVDSyMxCmlmIChfX2V4ZWN1dGVkKSB7CgkkRVJST1IoJyMxOiAvamF2YShzY3JpcHQpPy8udGVzdCgic3RhdGU6IGJvdGggSmF2YSBhbmQgSmF2YVNjcmlwdCB1c2VkIGluIHdlYiBkZXZlbG9wbWVudCIpID09PSBmYWxzZScpOwp9CgoK","commentary":"The production QuantifierPrefix :: ? evaluates by returning the two results 0 and 1","description":"Execute /java(script)?/.test(\"state: both Java and JavaScript used in web development\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A5_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBRdWFudGlmaWVyUHJlZml4IDo6ID8gZXZhbHVhdGVzIGJ5IHJldHVybmluZyB0aGUgdHdvIHJlc3VsdHMgMCBhbmQgMQogKgogKiBAcGF0aCBjaDE1LzE1LjEwLzE1LjEwLjIvMTUuMTAuMi43L1MxNS4xMC4yLjdfQTVfVDQuanMKICogQGRlc2NyaXB0aW9uIEV4ZWN1dGUgL2NkP2UvLmV4ZWMoImFiY2RlZiIpIGFuZCBjaGVjayByZXN1bHRzCiAqLwoKX19leGVjdXRlZCA9IC9jZD9lLy5leGVjKCJhYmNkZWYiKTsKCl9fZXhwZWN0ZWQgPSBbImNkZSJdOwpfX2V4cGVjdGVkLmluZGV4ID0gMjsKX19leHBlY3RlZC5pbnB1dCA9ICJhYmNkZWYiOwoKLy9DSEVDSyMxCmlmIChfX2V4ZWN1dGVkLmxlbmd0aCAhPT0gX19leHBlY3RlZC5sZW5ndGgpIHsKCSRFUlJPUignIzE6IF9fZXhlY3V0ZWQgPSAvY2Q/ZS8uZXhlYygiYWJjZGVmIik7IF9fZXhlY3V0ZWQubGVuZ3RoID09PSAnICsgX19leHBlY3RlZC5sZW5ndGggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmxlbmd0aCk7Cn0KCi8vQ0hFQ0sjMgppZiAoX19leGVjdXRlZC5pbmRleCAhPT0gX19leHBlY3RlZC5pbmRleCkgewoJJEVSUk9SKCcjMjogX19leGVjdXRlZCA9IC9jZD9lLy5leGVjKCJhYmNkZWYiKTsgX19leGVjdXRlZC5pbmRleCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5kZXggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmluZGV4KTsKfQoKLy9DSEVDSyMzCmlmIChfX2V4ZWN1dGVkLmlucHV0ICE9PSBfX2V4cGVjdGVkLmlucHV0KSB7CgkkRVJST1IoJyMzOiBfX2V4ZWN1dGVkID0gL2NkP2UvLmV4ZWMoImFiY2RlZiIpOyBfX2V4ZWN1dGVkLmlucHV0ID09PSAnICsgX19leHBlY3RlZC5pbnB1dCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5wdXQpOwp9CgovL0NIRUNLIzQKZm9yKHZhciBpbmRleD0wOyBpbmRleDxfX2V4cGVjdGVkLmxlbmd0aDsgaW5kZXgrKykgewoJaWYgKF9fZXhlY3V0ZWRbaW5kZXhdICE9PSBfX2V4cGVjdGVkW2luZGV4XSkgewoJCSRFUlJPUignIzQ6IF9fZXhlY3V0ZWQgPSAvY2Q/ZS8uZXhlYygiYWJjZGVmIik7IF9fZXhlY3V0ZWRbJyArIGluZGV4ICsgJ10gPT09ICcgKyBfX2V4cGVjdGVkW2luZGV4XSArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWRbaW5kZXhdKTsKCX0KfQoKCg==","commentary":"The production QuantifierPrefix :: ? evaluates by returning the two results 0 and 1","description":"Execute /cd?e/.exec(\"abcdef\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A5_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBRdWFudGlmaWVyUHJlZml4IDo6ID8gZXZhbHVhdGVzIGJ5IHJldHVybmluZyB0aGUgdHdvIHJlc3VsdHMgMCBhbmQgMQogKgogKiBAcGF0aCBjaDE1LzE1LjEwLzE1LjEwLjIvMTUuMTAuMi43L1MxNS4xMC4yLjdfQTVfVDUuanMKICogQGRlc2NyaXB0aW9uIEV4ZWN1dGUgL2NkeD9lLy5leGVjKCJhYmNkZWYiKSBhbmQgY2hlY2sgcmVzdWx0cwogKi8KCl9fZXhlY3V0ZWQgPSAvY2R4P2UvLmV4ZWMoImFiY2RlZiIpOwoKX19leHBlY3RlZCA9IFsiY2RlIl07Cl9fZXhwZWN0ZWQuaW5kZXggPSAyOwpfX2V4cGVjdGVkLmlucHV0ID0gImFiY2RlZiI7CgovL0NIRUNLIzEKaWYgKF9fZXhlY3V0ZWQubGVuZ3RoICE9PSBfX2V4cGVjdGVkLmxlbmd0aCkgewoJJEVSUk9SKCcjMTogX19leGVjdXRlZCA9IC9jZHg/ZS8uZXhlYygiYWJjZGVmIik7IF9fZXhlY3V0ZWQubGVuZ3RoID09PSAnICsgX19leHBlY3RlZC5sZW5ndGggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmxlbmd0aCk7Cn0KCi8vQ0hFQ0sjMgppZiAoX19leGVjdXRlZC5pbmRleCAhPT0gX19leHBlY3RlZC5pbmRleCkgewoJJEVSUk9SKCcjMjogX19leGVjdXRlZCA9IC9jZHg/ZS8uZXhlYygiYWJjZGVmIik7IF9fZXhlY3V0ZWQuaW5kZXggPT09ICcgKyBfX2V4cGVjdGVkLmluZGV4ICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5pbmRleCk7Cn0KCi8vQ0hFQ0sjMwppZiAoX19leGVjdXRlZC5pbnB1dCAhPT0gX19leHBlY3RlZC5pbnB1dCkgewoJJEVSUk9SKCcjMzogX19leGVjdXRlZCA9IC9jZHg/ZS8uZXhlYygiYWJjZGVmIik7IF9fZXhlY3V0ZWQuaW5wdXQgPT09ICcgKyBfX2V4cGVjdGVkLmlucHV0ICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5pbnB1dCk7Cn0KCi8vQ0hFQ0sjNApmb3IodmFyIGluZGV4PTA7IGluZGV4PF9fZXhwZWN0ZWQubGVuZ3RoOyBpbmRleCsrKSB7CglpZiAoX19leGVjdXRlZFtpbmRleF0gIT09IF9fZXhwZWN0ZWRbaW5kZXhdKSB7CgkJJEVSUk9SKCcjNDogX19leGVjdXRlZCA9IC9jZHg/ZS8uZXhlYygiYWJjZGVmIik7IF9fZXhlY3V0ZWRbJyArIGluZGV4ICsgJ10gPT09ICcgKyBfX2V4cGVjdGVkW2luZGV4XSArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWRbaW5kZXhdKTsKCX0KfQoKCg==","commentary":"The production QuantifierPrefix :: ? evaluates by returning the two results 0 and 1","description":"Execute /cdx?e/.exec(\"abcdef\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A5_T5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBRdWFudGlmaWVyUHJlZml4IDo6ID8gZXZhbHVhdGVzIGJ5IHJldHVybmluZyB0aGUgdHdvIHJlc3VsdHMgMCBhbmQgMQogKgogKiBAcGF0aCBjaDE1LzE1LjEwLzE1LjEwLjIvMTUuMTAuMi43L1MxNS4xMC4yLjdfQTVfVDYuanMKICogQGRlc2NyaXB0aW9uIEV4ZWN1dGUgL28/cHFyc3QvLmV4ZWMoInBxcnN0dXZ3IikgYW5kIGNoZWNrIHJlc3VsdHMKICovCgpfX2V4ZWN1dGVkID0gL28/cHFyc3QvLmV4ZWMoInBxcnN0dXZ3Iik7CgpfX2V4cGVjdGVkID0gWyJwcXJzdCJdOwpfX2V4cGVjdGVkLmluZGV4ID0gMDsKX19leHBlY3RlZC5pbnB1dCA9ICJwcXJzdHV2dyI7CgovL0NIRUNLIzEKaWYgKF9fZXhlY3V0ZWQubGVuZ3RoICE9PSBfX2V4cGVjdGVkLmxlbmd0aCkgewoJJEVSUk9SKCcjMTogX19leGVjdXRlZCA9IC9vP3BxcnN0Ly5leGVjKCJwcXJzdHV2dyIpOyBfX2V4ZWN1dGVkLmxlbmd0aCA9PT0gJyArIF9fZXhwZWN0ZWQubGVuZ3RoICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5sZW5ndGgpOwp9CgovL0NIRUNLIzIKaWYgKF9fZXhlY3V0ZWQuaW5kZXggIT09IF9fZXhwZWN0ZWQuaW5kZXgpIHsKCSRFUlJPUignIzI6IF9fZXhlY3V0ZWQgPSAvbz9wcXJzdC8uZXhlYygicHFyc3R1dnciKTsgX19leGVjdXRlZC5pbmRleCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5kZXggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmluZGV4KTsKfQoKLy9DSEVDSyMzCmlmIChfX2V4ZWN1dGVkLmlucHV0ICE9PSBfX2V4cGVjdGVkLmlucHV0KSB7CgkkRVJST1IoJyMzOiBfX2V4ZWN1dGVkID0gL28/cHFyc3QvLmV4ZWMoInBxcnN0dXZ3Iik7IF9fZXhlY3V0ZWQuaW5wdXQgPT09ICcgKyBfX2V4cGVjdGVkLmlucHV0ICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5pbnB1dCk7Cn0KCi8vQ0hFQ0sjNApmb3IodmFyIGluZGV4PTA7IGluZGV4PF9fZXhwZWN0ZWQubGVuZ3RoOyBpbmRleCsrKSB7CglpZiAoX19leGVjdXRlZFtpbmRleF0gIT09IF9fZXhwZWN0ZWRbaW5kZXhdKSB7CgkJJEVSUk9SKCcjNDogX19leGVjdXRlZCA9IC9vP3BxcnN0Ly5leGVjKCJwcXJzdHV2dyIpOyBfX2V4ZWN1dGVkWycgKyBpbmRleCArICddID09PSAnICsgX19leHBlY3RlZFtpbmRleF0gKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkW2luZGV4XSk7Cgl9Cn0KCgo=","commentary":"The production QuantifierPrefix :: ? evaluates by returning the two results 0 and 1","description":"Execute /o?pqrst/.exec(\"pqrstuvw\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A5_T6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBRdWFudGlmaWVyUHJlZml4IDo6ID8gZXZhbHVhdGVzIGJ5IHJldHVybmluZyB0aGUgdHdvIHJlc3VsdHMgMCBhbmQgMQogKgogKiBAcGF0aCBjaDE1LzE1LjEwLzE1LjEwLjIvMTUuMTAuMi43L1MxNS4xMC4yLjdfQTVfVDcuanMKICogQGRlc2NyaXB0aW9uIEV4ZWN1dGUgL3g/eT96Py8uZXhlYygiYWJjZCIpIGFuZCBjaGVjayByZXN1bHRzCiAqLwoKX19leGVjdXRlZCA9IC94P3k/ej8vLmV4ZWMoImFiY2QiKTsKCl9fZXhwZWN0ZWQgPSBbIiJdOwpfX2V4cGVjdGVkLmluZGV4ID0gMDsKX19leHBlY3RlZC5pbnB1dCA9ICJhYmNkIjsKCi8vQ0hFQ0sjMQppZiAoX19leGVjdXRlZC5sZW5ndGggIT09IF9fZXhwZWN0ZWQubGVuZ3RoKSB7CgkkRVJST1IoJyMxOiBfX2V4ZWN1dGVkID0gL3g/eT96Py8uZXhlYygiYWJjZCIpOyBfX2V4ZWN1dGVkLmxlbmd0aCA9PT0gJyArIF9fZXhwZWN0ZWQubGVuZ3RoICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5sZW5ndGgpOwp9CgovL0NIRUNLIzIKaWYgKF9fZXhlY3V0ZWQuaW5kZXggIT09IF9fZXhwZWN0ZWQuaW5kZXgpIHsKCSRFUlJPUignIzI6IF9fZXhlY3V0ZWQgPSAveD95P3o/Ly5leGVjKCJhYmNkIik7IF9fZXhlY3V0ZWQuaW5kZXggPT09ICcgKyBfX2V4cGVjdGVkLmluZGV4ICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5pbmRleCk7Cn0KCi8vQ0hFQ0sjMwppZiAoX19leGVjdXRlZC5pbnB1dCAhPT0gX19leHBlY3RlZC5pbnB1dCkgewoJJEVSUk9SKCcjMzogX19leGVjdXRlZCA9IC94P3k/ej8vLmV4ZWMoImFiY2QiKTsgX19leGVjdXRlZC5pbnB1dCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5wdXQgKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmlucHV0KTsKfQoKLy9DSEVDSyM0CmZvcih2YXIgaW5kZXg9MDsgaW5kZXg8X19leHBlY3RlZC5sZW5ndGg7IGluZGV4KyspIHsKCWlmIChfX2V4ZWN1dGVkW2luZGV4XSAhPT0gX19leHBlY3RlZFtpbmRleF0pIHsKCQkkRVJST1IoJyM0OiBfX2V4ZWN1dGVkID0gL3g/eT96Py8uZXhlYygiYWJjZCIpOyBfX2V4ZWN1dGVkWycgKyBpbmRleCArICddID09PSAnICsgX19leHBlY3RlZFtpbmRleF0gKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkW2luZGV4XSk7Cgl9Cn0KCgo=","commentary":"The production QuantifierPrefix :: ? evaluates by returning the two results 0 and 1","description":"Execute /x?y?z?/.exec(\"abcd\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A5_T7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBRdWFudGlmaWVyUHJlZml4IDo6ID8gZXZhbHVhdGVzIGJ5IHJldHVybmluZyB0aGUgdHdvIHJlc3VsdHMgMCBhbmQgMQogKgogKiBAcGF0aCBjaDE1LzE1LjEwLzE1LjEwLjIvMTUuMTAuMi43L1MxNS4xMC4yLjdfQTVfVDguanMKICogQGRlc2NyaXB0aW9uIEV4ZWN1dGUgL3g/YXk/Yno/Yy8uZXhlYygiYWJjZCIpIGFuZCBjaGVjayByZXN1bHRzCiAqLwoKX19leGVjdXRlZCA9IC94P2F5P2J6P2MvLmV4ZWMoImFiY2QiKTsKCl9fZXhwZWN0ZWQgPSBbImFiYyJdOwpfX2V4cGVjdGVkLmluZGV4ID0gMDsKX19leHBlY3RlZC5pbnB1dCA9ICJhYmNkIjsKCi8vQ0hFQ0sjMQppZiAoX19leGVjdXRlZC5sZW5ndGggIT09IF9fZXhwZWN0ZWQubGVuZ3RoKSB7CgkkRVJST1IoJyMxOiBfX2V4ZWN1dGVkID0gL3g/YXk/Yno/Yy8uZXhlYygiYWJjZCIpOyBfX2V4ZWN1dGVkLmxlbmd0aCA9PT0gJyArIF9fZXhwZWN0ZWQubGVuZ3RoICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5sZW5ndGgpOwp9CgovL0NIRUNLIzIKaWYgKF9fZXhlY3V0ZWQuaW5kZXggIT09IF9fZXhwZWN0ZWQuaW5kZXgpIHsKCSRFUlJPUignIzI6IF9fZXhlY3V0ZWQgPSAveD9heT9iej9jLy5leGVjKCJhYmNkIik7IF9fZXhlY3V0ZWQuaW5kZXggPT09ICcgKyBfX2V4cGVjdGVkLmluZGV4ICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5pbmRleCk7Cn0KCi8vQ0hFQ0sjMwppZiAoX19leGVjdXRlZC5pbnB1dCAhPT0gX19leHBlY3RlZC5pbnB1dCkgewoJJEVSUk9SKCcjMzogX19leGVjdXRlZCA9IC94P2F5P2J6P2MvLmV4ZWMoImFiY2QiKTsgX19leGVjdXRlZC5pbnB1dCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5wdXQgKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmlucHV0KTsKfQoKLy9DSEVDSyM0CmZvcih2YXIgaW5kZXg9MDsgaW5kZXg8X19leHBlY3RlZC5sZW5ndGg7IGluZGV4KyspIHsKCWlmIChfX2V4ZWN1dGVkW2luZGV4XSAhPT0gX19leHBlY3RlZFtpbmRleF0pIHsKCQkkRVJST1IoJyM0OiBfX2V4ZWN1dGVkID0gL3g/YXk/Yno/Yy8uZXhlYygiYWJjZCIpOyBfX2V4ZWN1dGVkWycgKyBpbmRleCArICddID09PSAnICsgX19leHBlY3RlZFtpbmRleF0gKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkW2luZGV4XSk7Cgl9Cn0KCgo=","commentary":"The production QuantifierPrefix :: ? evaluates by returning the two results 0 and 1","description":"Execute /x?ay?bz?c/.exec(\"abcd\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A5_T8.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBRdWFudGlmaWVyUHJlZml4IDo6ID8gZXZhbHVhdGVzIGJ5IHJldHVybmluZyB0aGUgdHdvIHJlc3VsdHMgMCBhbmQgMQogKgogKiBAcGF0aCBjaDE1LzE1LjEwLzE1LjEwLjIvMTUuMTAuMi43L1MxNS4xMC4yLjdfQTVfVDkuanMKICogQGRlc2NyaXB0aW9uIEV4ZWN1dGUgL2I/Yj9iP2IvLmV4ZWMoImFiYmJiYyIpIGFuZCBjaGVjayByZXN1bHRzCiAqLwoKX19leGVjdXRlZCA9IC9iP2I/Yj9iLy5leGVjKCJhYmJiYmMiKTsKCl9fZXhwZWN0ZWQgPSBbImJiYmIiXTsKX19leHBlY3RlZC5pbmRleCA9IDE7Cl9fZXhwZWN0ZWQuaW5wdXQgPSAiYWJiYmJjIjsKCi8vQ0hFQ0sjMQppZiAoX19leGVjdXRlZC5sZW5ndGggIT09IF9fZXhwZWN0ZWQubGVuZ3RoKSB7CgkkRVJST1IoJyMxOiBfX2V4ZWN1dGVkID0gL2I/Yj9iP2IvLmV4ZWMoImFiYmJiYyIpOyBfX2V4ZWN1dGVkLmxlbmd0aCA9PT0gJyArIF9fZXhwZWN0ZWQubGVuZ3RoICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5sZW5ndGgpOwp9CgovL0NIRUNLIzIKaWYgKF9fZXhlY3V0ZWQuaW5kZXggIT09IF9fZXhwZWN0ZWQuaW5kZXgpIHsKCSRFUlJPUignIzI6IF9fZXhlY3V0ZWQgPSAvYj9iP2I/Yi8uZXhlYygiYWJiYmJjIik7IF9fZXhlY3V0ZWQuaW5kZXggPT09ICcgKyBfX2V4cGVjdGVkLmluZGV4ICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5pbmRleCk7Cn0KCi8vQ0hFQ0sjMwppZiAoX19leGVjdXRlZC5pbnB1dCAhPT0gX19leHBlY3RlZC5pbnB1dCkgewoJJEVSUk9SKCcjMzogX19leGVjdXRlZCA9IC9iP2I/Yj9iLy5leGVjKCJhYmJiYmMiKTsgX19leGVjdXRlZC5pbnB1dCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5wdXQgKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmlucHV0KTsKfQoKLy9DSEVDSyM0CmZvcih2YXIgaW5kZXg9MDsgaW5kZXg8X19leHBlY3RlZC5sZW5ndGg7IGluZGV4KyspIHsKCWlmIChfX2V4ZWN1dGVkW2luZGV4XSAhPT0gX19leHBlY3RlZFtpbmRleF0pIHsKCQkkRVJST1IoJyM0OiBfX2V4ZWN1dGVkID0gL2I/Yj9iP2IvLmV4ZWMoImFiYmJiYyIpOyBfX2V4ZWN1dGVkWycgKyBpbmRleCArICddID09PSAnICsgX19leHBlY3RlZFtpbmRleF0gKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkW2luZGV4XSk7Cgl9Cn0KCgo=","commentary":"The production QuantifierPrefix :: ? evaluates by returning the two results 0 and 1","description":"Execute /b?b?b?b/.exec(\"abbbbc\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A5_T9.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBRdWFudGlmaWVyUHJlZml4IDo6IHsgRGVjaW1hbERpZ2l0cyAsIH1ldmFsdWF0ZXMgYXMgZm9sbG93czoKICogaSkgTGV0IGkgYmUgdGhlIE1WIG9mIERlY2ltYWxEaWdpdHMKICogaWkpIFJldHVybiB0aGUgdHdvIHJlc3VsdHMgaSBhbmQgXGluZnR5CiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuMi8xNS4xMC4yLjcvUzE1LjEwLjIuN19BNl9UMS5qcwogKiBAZGVzY3JpcHRpb24gRXhlY3V0ZSAvYnsyLH1jLy5leGVjKCJhYWFiYmJiY2NjZGRlZWVlZmZmZmYiKSBhbmQgY2hlY2sgcmVzdWx0cwogKi8KCl9fZXhlY3V0ZWQgPSAvYnsyLH1jLy5leGVjKCJhYWFiYmJiY2NjZGRlZWVlZmZmZmYiKTsKCl9fZXhwZWN0ZWQgPSBbImJiYmJjIl07Cl9fZXhwZWN0ZWQuaW5kZXggPSAzOwpfX2V4cGVjdGVkLmlucHV0ID0gImFhYWJiYmJjY2NkZGVlZWVmZmZmZiI7CgovL0NIRUNLIzEKaWYgKF9fZXhlY3V0ZWQubGVuZ3RoICE9PSBfX2V4cGVjdGVkLmxlbmd0aCkgewoJJEVSUk9SKCcjMTogX19leGVjdXRlZCA9IC9iezIsfWMvLmV4ZWMoImFhYWJiYmJjY2NkZGVlZWVmZmZmZiIpOyBfX2V4ZWN1dGVkLmxlbmd0aCA9PT0gJyArIF9fZXhwZWN0ZWQubGVuZ3RoICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5sZW5ndGgpOwp9CgovL0NIRUNLIzIKaWYgKF9fZXhlY3V0ZWQuaW5kZXggIT09IF9fZXhwZWN0ZWQuaW5kZXgpIHsKCSRFUlJPUignIzI6IF9fZXhlY3V0ZWQgPSAvYnsyLH1jLy5leGVjKCJhYWFiYmJiY2NjZGRlZWVlZmZmZmYiKTsgX19leGVjdXRlZC5pbmRleCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5kZXggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmluZGV4KTsKfQoKLy9DSEVDSyMzCmlmIChfX2V4ZWN1dGVkLmlucHV0ICE9PSBfX2V4cGVjdGVkLmlucHV0KSB7CgkkRVJST1IoJyMzOiBfX2V4ZWN1dGVkID0gL2J7Mix9Yy8uZXhlYygiYWFhYmJiYmNjY2RkZWVlZWZmZmZmIik7IF9fZXhlY3V0ZWQuaW5wdXQgPT09ICcgKyBfX2V4cGVjdGVkLmlucHV0ICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5pbnB1dCk7Cn0KCi8vQ0hFQ0sjNApmb3IodmFyIGluZGV4PTA7IGluZGV4PF9fZXhwZWN0ZWQubGVuZ3RoOyBpbmRleCsrKSB7CglpZiAoX19leGVjdXRlZFtpbmRleF0gIT09IF9fZXhwZWN0ZWRbaW5kZXhdKSB7CgkJJEVSUk9SKCcjNDogX19leGVjdXRlZCA9IC9iezIsfWMvLmV4ZWMoImFhYWJiYmJjY2NkZGVlZWVmZmZmZiIpOyBfX2V4ZWN1dGVkWycgKyBpbmRleCArICddID09PSAnICsgX19leHBlY3RlZFtpbmRleF0gKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkW2luZGV4XSk7Cgl9Cn0KCgo=","commentary":"The production QuantifierPrefix :: { DecimalDigits , }evaluates as follows:\ni) Let i be the MV of DecimalDigits\nii) Return the two results i and \\infty","description":"Execute /b{2,}c/.exec(\"aaabbbbcccddeeeefffff\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A6_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBRdWFudGlmaWVyUHJlZml4IDo6IHsgRGVjaW1hbERpZ2l0cyAsIH1ldmFsdWF0ZXMgYXMgZm9sbG93czoKICogaSkgTGV0IGkgYmUgdGhlIE1WIG9mIERlY2ltYWxEaWdpdHMKICogaWkpIFJldHVybiB0aGUgdHdvIHJlc3VsdHMgaSBhbmQgXGluZnR5CiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuMi8xNS4xMC4yLjcvUzE1LjEwLjIuN19BNl9UMi5qcwogKiBAZGVzY3JpcHRpb24gRXhlY3V0ZSAvYns4LH1jLy50ZXN0KCJhYWFiYmJiY2NjZGRlZWVlZmZmZmYiKSBhbmQgY2hlY2sgcmVzdWx0cwogKi8KCl9fZXhlY3V0ZWQgPSAvYns4LH1jLy50ZXN0KCJhYWFiYmJiY2NjZGRlZWVlZmZmZmYiKTsKCi8vQ0hFQ0sjMQppZiAoX19leGVjdXRlZCkgewoJJEVSUk9SKCcjMTogL2J7OCx9Yy8udGVzdCgiYWFhYmJiYmNjY2RkZWVlZWZmZmZmIikgPT09IGZhbHNlJyk7Cn0KCgo=","commentary":"The production QuantifierPrefix :: { DecimalDigits , }evaluates as follows:\ni) Let i be the MV of DecimalDigits\nii) Return the two results i and \\infty","description":"Execute /b{8,}c/.test(\"aaabbbbcccddeeeefffff\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A6_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBRdWFudGlmaWVyUHJlZml4IDo6IHsgRGVjaW1hbERpZ2l0cyAsIH1ldmFsdWF0ZXMgYXMgZm9sbG93czoKICogaSkgTGV0IGkgYmUgdGhlIE1WIG9mIERlY2ltYWxEaWdpdHMKICogaWkpIFJldHVybiB0aGUgdHdvIHJlc3VsdHMgaSBhbmQgXGluZnR5CiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuMi8xNS4xMC4yLjcvUzE1LjEwLjIuN19BNl9UMy5qcwogKiBAZGVzY3JpcHRpb24gRXhlY3V0ZSAvXGR7MSx9Ly5leGVjKCJ3cWU0NTY2NDZkc2ZmIikgYW5kIGNoZWNrIHJlc3VsdHMKICovCgpfX2V4ZWN1dGVkID0gL1xkezEsfS8uZXhlYygid3FlNDU2NjQ2ZHNmZiIpOwoKX19leHBlY3RlZCA9IFsiNDU2NjQ2Il07Cl9fZXhwZWN0ZWQuaW5kZXggPSAzOwpfX2V4cGVjdGVkLmlucHV0ID0gIndxZTQ1NjY0NmRzZmYiOwoKLy9DSEVDSyMxCmlmIChfX2V4ZWN1dGVkLmxlbmd0aCAhPT0gX19leHBlY3RlZC5sZW5ndGgpIHsKCSRFUlJPUignIzE6IF9fZXhlY3V0ZWQgPSAvXFxkezEsfS8uZXhlYygid3FlNDU2NjQ2ZHNmZiIpOyBfX2V4ZWN1dGVkLmxlbmd0aCA9PT0gJyArIF9fZXhwZWN0ZWQubGVuZ3RoICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5sZW5ndGgpOwp9CgovL0NIRUNLIzIKaWYgKF9fZXhlY3V0ZWQuaW5kZXggIT09IF9fZXhwZWN0ZWQuaW5kZXgpIHsKCSRFUlJPUignIzI6IF9fZXhlY3V0ZWQgPSAvXFxkezEsfS8uZXhlYygid3FlNDU2NjQ2ZHNmZiIpOyBfX2V4ZWN1dGVkLmluZGV4ID09PSAnICsgX19leHBlY3RlZC5pbmRleCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5kZXgpOwp9CgovL0NIRUNLIzMKaWYgKF9fZXhlY3V0ZWQuaW5wdXQgIT09IF9fZXhwZWN0ZWQuaW5wdXQpIHsKCSRFUlJPUignIzM6IF9fZXhlY3V0ZWQgPSAvXFxkezEsfS8uZXhlYygid3FlNDU2NjQ2ZHNmZiIpOyBfX2V4ZWN1dGVkLmlucHV0ID09PSAnICsgX19leHBlY3RlZC5pbnB1dCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5wdXQpOwp9CgovL0NIRUNLIzQKZm9yKHZhciBpbmRleD0wOyBpbmRleDxfX2V4cGVjdGVkLmxlbmd0aDsgaW5kZXgrKykgewoJaWYgKF9fZXhlY3V0ZWRbaW5kZXhdICE9PSBfX2V4cGVjdGVkW2luZGV4XSkgewoJCSRFUlJPUignIzQ6IF9fZXhlY3V0ZWQgPSAvXFxkezEsfS8uZXhlYygid3FlNDU2NjQ2ZHNmZiIpOyBfX2V4ZWN1dGVkWycgKyBpbmRleCArICddID09PSAnICsgX19leHBlY3RlZFtpbmRleF0gKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkW2luZGV4XSk7Cgl9Cn0KCgo=","commentary":"The production QuantifierPrefix :: { DecimalDigits , }evaluates as follows:\ni) Let i be the MV of DecimalDigits\nii) Return the two results i and \\infty","description":"Execute /\\d{1,}/.exec(\"wqe456646dsff\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A6_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBRdWFudGlmaWVyUHJlZml4IDo6IHsgRGVjaW1hbERpZ2l0cyAsIH1ldmFsdWF0ZXMgYXMgZm9sbG93czoKICogaSkgTGV0IGkgYmUgdGhlIE1WIG9mIERlY2ltYWxEaWdpdHMKICogaWkpIFJldHVybiB0aGUgdHdvIHJlc3VsdHMgaSBhbmQgXGluZnR5CiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuMi8xNS4xMC4yLjcvUzE1LjEwLjIuN19BNl9UNC5qcwogKiBAZGVzY3JpcHRpb24gRXhlY3V0ZSAvKDEyMyl7MSx9Ly5leGVjKCIxMjMxMjMiKSBhbmQgY2hlY2sgcmVzdWx0cwogKi8KCl9fZXhlY3V0ZWQgPSAvKDEyMyl7MSx9Ly5leGVjKCIxMjMxMjMiKTsKCl9fZXhwZWN0ZWQgPSBbIjEyMzEyMyIsIjEyMyJdOwpfX2V4cGVjdGVkLmluZGV4ID0gMDsKX19leHBlY3RlZC5pbnB1dCA9ICIxMjMxMjMiOwoKLy9DSEVDSyMxCmlmIChfX2V4ZWN1dGVkLmxlbmd0aCAhPT0gX19leHBlY3RlZC5sZW5ndGgpIHsKCSRFUlJPUignIzE6IF9fZXhlY3V0ZWQgPSAvKDEyMyl7MSx9Ly5leGVjKCIxMjMxMjMiKTsgX19leGVjdXRlZC5sZW5ndGggPT09ICcgKyBfX2V4cGVjdGVkLmxlbmd0aCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQubGVuZ3RoKTsKfQoKLy9DSEVDSyMyCmlmIChfX2V4ZWN1dGVkLmluZGV4ICE9PSBfX2V4cGVjdGVkLmluZGV4KSB7CgkkRVJST1IoJyMyOiBfX2V4ZWN1dGVkID0gLygxMjMpezEsfS8uZXhlYygiMTIzMTIzIik7IF9fZXhlY3V0ZWQuaW5kZXggPT09ICcgKyBfX2V4cGVjdGVkLmluZGV4ICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5pbmRleCk7Cn0KCi8vQ0hFQ0sjMwppZiAoX19leGVjdXRlZC5pbnB1dCAhPT0gX19leHBlY3RlZC5pbnB1dCkgewoJJEVSUk9SKCcjMzogX19leGVjdXRlZCA9IC8oMTIzKXsxLH0vLmV4ZWMoIjEyMzEyMyIpOyBfX2V4ZWN1dGVkLmlucHV0ID09PSAnICsgX19leHBlY3RlZC5pbnB1dCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5wdXQpOwp9CgovL0NIRUNLIzQKZm9yKHZhciBpbmRleD0wOyBpbmRleDxfX2V4cGVjdGVkLmxlbmd0aDsgaW5kZXgrKykgewoJaWYgKF9fZXhlY3V0ZWRbaW5kZXhdICE9PSBfX2V4cGVjdGVkW2luZGV4XSkgewoJCSRFUlJPUignIzQ6IF9fZXhlY3V0ZWQgPSAvKDEyMyl7MSx9Ly5leGVjKCIxMjMxMjMiKTsgX19leGVjdXRlZFsnICsgaW5kZXggKyAnXSA9PT0gJyArIF9fZXhwZWN0ZWRbaW5kZXhdICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZFtpbmRleF0pOwoJfQp9CgoK","commentary":"The production QuantifierPrefix :: { DecimalDigits , }evaluates as follows:\ni) Let i be the MV of DecimalDigits\nii) Return the two results i and \\infty","description":"Execute /(123){1,}/.exec(\"123123\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A6_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBRdWFudGlmaWVyUHJlZml4IDo6IHsgRGVjaW1hbERpZ2l0cyAsIH1ldmFsdWF0ZXMgYXMgZm9sbG93czoKICogaSkgTGV0IGkgYmUgdGhlIE1WIG9mIERlY2ltYWxEaWdpdHMKICogaWkpIFJldHVybiB0aGUgdHdvIHJlc3VsdHMgaSBhbmQgXGluZnR5CiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuMi8xNS4xMC4yLjcvUzE1LjEwLjIuN19BNl9UNS5qcwogKiBAZGVzY3JpcHRpb24gRXhlY3V0ZSAvKDEyMyl7MSx9eFwxLy5leGVjKCIxMjMxMjN4MTIzIikgYW5kIGNoZWNrIHJlc3VsdHMKICovCgpfX2V4ZWN1dGVkID0gLygxMjMpezEsfXhcMS8uZXhlYygiMTIzMTIzeDEyMyIpOwoKX19leHBlY3RlZCA9IFsiMTIzMTIzeDEyMyIsIjEyMyJdOwpfX2V4cGVjdGVkLmluZGV4ID0gMDsKX19leHBlY3RlZC5pbnB1dCA9ICIxMjMxMjN4MTIzIjsKCi8vQ0hFQ0sjMQppZiAoX19leGVjdXRlZC5sZW5ndGggIT09IF9fZXhwZWN0ZWQubGVuZ3RoKSB7CgkkRVJST1IoJyMxOiBfX2V4ZWN1dGVkID0gLygxMjMpezEsfXhcXDEvLmV4ZWMoIjEyMzEyM3gxMjMiKTsgX19leGVjdXRlZC5sZW5ndGggPT09ICcgKyBfX2V4cGVjdGVkLmxlbmd0aCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQubGVuZ3RoKTsKfQoKLy9DSEVDSyMyCmlmIChfX2V4ZWN1dGVkLmluZGV4ICE9PSBfX2V4cGVjdGVkLmluZGV4KSB7CgkkRVJST1IoJyMyOiBfX2V4ZWN1dGVkID0gLygxMjMpezEsfXhcXDEvLmV4ZWMoIjEyMzEyM3gxMjMiKTsgX19leGVjdXRlZC5pbmRleCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5kZXggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmluZGV4KTsKfQoKLy9DSEVDSyMzCmlmIChfX2V4ZWN1dGVkLmlucHV0ICE9PSBfX2V4cGVjdGVkLmlucHV0KSB7CgkkRVJST1IoJyMzOiBfX2V4ZWN1dGVkID0gLygxMjMpezEsfXhcXDFcXC8uZXhlYygiMTIzMTIzeDEyMyIpOyBfX2V4ZWN1dGVkLmlucHV0ID09PSAnICsgX19leHBlY3RlZC5pbnB1dCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5wdXQpOwp9CgovL0NIRUNLIzQKZm9yKHZhciBpbmRleD0wOyBpbmRleDxfX2V4cGVjdGVkLmxlbmd0aDsgaW5kZXgrKykgewoJaWYgKF9fZXhlY3V0ZWRbaW5kZXhdICE9PSBfX2V4cGVjdGVkW2luZGV4XSkgewoJCSRFUlJPUignIzQ6IF9fZXhlY3V0ZWQgPSAvKDEyMyl7MSx9eFxcMS8uZXhlYygiMTIzMTIzeDEyMyIpOyBfX2V4ZWN1dGVkWycgKyBpbmRleCArICddID09PSAnICsgX19leHBlY3RlZFtpbmRleF0gKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkW2luZGV4XSk7Cgl9Cn0KCgo=","commentary":"The production QuantifierPrefix :: { DecimalDigits , }evaluates as follows:\ni) Let i be the MV of DecimalDigits\nii) Return the two results i and \\infty","description":"Execute /(123){1,}x\\1/.exec(\"123123x123\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A6_T5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBRdWFudGlmaWVyUHJlZml4IDo6IHsgRGVjaW1hbERpZ2l0cyAsIH1ldmFsdWF0ZXMgYXMgZm9sbG93czoKICogaSkgTGV0IGkgYmUgdGhlIE1WIG9mIERlY2ltYWxEaWdpdHMKICogaWkpIFJldHVybiB0aGUgdHdvIHJlc3VsdHMgaSBhbmQgXGluZnR5CiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuMi8xNS4xMC4yLjcvUzE1LjEwLjIuN19BNl9UNi5qcwogKiBAZGVzY3JpcHRpb24gRXhlY3V0ZSAveHsxLDJ9eHsxLH0vLmV4ZWMoInh4eHh4eHgiKSBhbmQgY2hlY2sgcmVzdWx0cwogKi8KCl9fZXhlY3V0ZWQgPSAveHsxLDJ9eHsxLH0vLmV4ZWMoInh4eHh4eHgiKTsKCl9fZXhwZWN0ZWQgPSBbInh4eHh4eHgiXTsKX19leHBlY3RlZC5pbmRleCA9IDA7Cl9fZXhwZWN0ZWQuaW5wdXQgPSAieHh4eHh4eCI7CgovL0NIRUNLIzEKaWYgKF9fZXhlY3V0ZWQubGVuZ3RoICE9PSBfX2V4cGVjdGVkLmxlbmd0aCkgewoJJEVSUk9SKCcjMTogX19leGVjdXRlZCA9IC94ezEsMn14ezEsfS8uZXhlYygieHh4eHh4eCIpOyBfX2V4ZWN1dGVkLmxlbmd0aCA9PT0gJyArIF9fZXhwZWN0ZWQubGVuZ3RoICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5sZW5ndGgpOwp9CgovL0NIRUNLIzIKaWYgKF9fZXhlY3V0ZWQuaW5kZXggIT09IF9fZXhwZWN0ZWQuaW5kZXgpIHsKCSRFUlJPUignIzI6IF9fZXhlY3V0ZWQgPSAveHsxLDJ9eHsxLH0vLmV4ZWMoInh4eHh4eHgiKTsgX19leGVjdXRlZC5pbmRleCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5kZXggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmluZGV4KTsKfQoKLy9DSEVDSyMzCmlmIChfX2V4ZWN1dGVkLmlucHV0ICE9PSBfX2V4cGVjdGVkLmlucHV0KSB7CgkkRVJST1IoJyMzOiBfX2V4ZWN1dGVkID0gL3h7MSwyfXh7MSx9Ly5leGVjKCJ4eHh4eHh4Iik7IF9fZXhlY3V0ZWQuaW5wdXQgPT09ICcgKyBfX2V4cGVjdGVkLmlucHV0ICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5pbnB1dCk7Cn0KCi8vQ0hFQ0sjNApmb3IodmFyIGluZGV4PTA7IGluZGV4PF9fZXhwZWN0ZWQubGVuZ3RoOyBpbmRleCsrKSB7CglpZiAoX19leGVjdXRlZFtpbmRleF0gIT09IF9fZXhwZWN0ZWRbaW5kZXhdKSB7CgkJJEVSUk9SKCcjNDogX19leGVjdXRlZCA9IC94ezEsMn14ezEsfS8uZXhlYygieHh4eHh4eCIpOyBfX2V4ZWN1dGVkWycgKyBpbmRleCArICddID09PSAnICsgX19leHBlY3RlZFtpbmRleF0gKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkW2luZGV4XSk7Cgl9Cn0KCgo=","commentary":"The production QuantifierPrefix :: { DecimalDigits , }evaluates as follows:\ni) Let i be the MV of DecimalDigits\nii) Return the two results i and \\infty","description":"Execute /x{1,2}x{1,}/.exec(\"xxxxxxx\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.7/S15.10.2.7_A6_T6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgZm9ybSAoPz0gRGlzanVuY3Rpb24gKSBzcGVjaWZpZXMgYSB6ZXJvLXdpZHRoIHBvc2l0aXZlIGxvb2thaGVhZC4KICogSW4gb3JkZXIgZm9yIGl0IHRvIHN1Y2NlZWQsIHRoZSBwYXR0ZXJuIGluc2lkZSBEaXNqdW5jdGlvbiBtdXN0IG1hdGNoIGF0IHRoZSBjdXJyZW50IHBvc2l0aW9uLCBidXQgdGhlIGN1cnJlbnQgcG9zaXRpb24gaXMgbm90IGFkdmFuY2VkIGJlZm9yZSBtYXRjaGluZyB0aGUgc2VxdWVsLgogKiBJZiBEaXNqdW5jdGlvbiBjYW4gbWF0Y2ggYXQgdGhlIGN1cnJlbnQgcG9zaXRpb24gaW4gc2V2ZXJhbCB3YXlzLCBvbmx5IHRoZSBmaXJzdCBvbmUgaXMgdHJpZWQKICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC4yLzE1LjEwLjIuOC9TMTUuMTAuMi44X0ExX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBFeGVjdXRlIC8oPz0oYSspKS8uZXhlYygiYmFhYWJhYyIpIGFuZCBjaGVjayByZXN1bHRzCiAqLwoKX19leGVjdXRlZCA9IC8oPz0oYSspKS8uZXhlYygiYmFhYWJhYyIpOwoKX19leHBlY3RlZCA9IFsiIiwgImFhYSJdOwpfX2V4cGVjdGVkLmluZGV4ID0gMTsKX19leHBlY3RlZC5pbnB1dCA9ICJiYWFhYmFjIjsKCi8vQ0hFQ0sjMQppZiAoX19leGVjdXRlZC5sZW5ndGggIT09IF9fZXhwZWN0ZWQubGVuZ3RoKSB7CgkkRVJST1IoJyMxOiBfX2V4ZWN1dGVkID0gLyg/PShhKykpLy5leGVjKCJiYWFhYmFjIik7IF9fZXhlY3V0ZWQubGVuZ3RoID09PSAnICsgX19leHBlY3RlZC5sZW5ndGggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmxlbmd0aCk7Cn0KCi8vQ0hFQ0sjMgppZiAoX19leGVjdXRlZC5pbmRleCAhPT0gX19leHBlY3RlZC5pbmRleCkgewoJJEVSUk9SKCcjMjogX19leGVjdXRlZCA9IC8oPz0oYSspKS8uZXhlYygiYmFhYWJhYyIpOyBfX2V4ZWN1dGVkLmluZGV4ID09PSAnICsgX19leHBlY3RlZC5pbmRleCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5kZXgpOwp9CgovL0NIRUNLIzMKaWYgKF9fZXhlY3V0ZWQuaW5wdXQgIT09IF9fZXhwZWN0ZWQuaW5wdXQpIHsKCSRFUlJPUignIzM6IF9fZXhlY3V0ZWQgPSAvKD89KGErKSkvLmV4ZWMoImJhYWFiYWMiKTsgX19leGVjdXRlZC5pbnB1dCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5wdXQgKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmlucHV0KTsKfQoKLy9DSEVDSyM0CmZvcih2YXIgaW5kZXg9MDsgaW5kZXg8X19leHBlY3RlZC5sZW5ndGg7IGluZGV4KyspIHsKCWlmIChfX2V4ZWN1dGVkW2luZGV4XSAhPT0gX19leHBlY3RlZFtpbmRleF0pIHsKCQkkRVJST1IoJyM0OiBfX2V4ZWN1dGVkID0gLyg/PShhKykpLy5leGVjKCJiYWFhYmFjIik7IF9fZXhlY3V0ZWRbJyArIGluZGV4ICsgJ10gPT09ICcgKyBfX2V4cGVjdGVkW2luZGV4XSArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWRbaW5kZXhdKTsKCX0KfQoKCg==","commentary":"The form (?= Disjunction ) specifies a zero-width positive lookahead.\nIn order for it to succeed, the pattern inside Disjunction must match at the current position, but the current position is not advanced before matching the sequel.\nIf Disjunction can match at the current position in several ways, only the first one is tried","description":"Execute /(?=(a+))/.exec(\"baaabac\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.8/S15.10.2.8_A1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgZm9ybSAoPz0gRGlzanVuY3Rpb24gKSBzcGVjaWZpZXMgYSB6ZXJvLXdpZHRoIHBvc2l0aXZlIGxvb2thaGVhZC4KICogSW4gb3JkZXIgZm9yIGl0IHRvIHN1Y2NlZWQsIHRoZSBwYXR0ZXJuIGluc2lkZSBEaXNqdW5jdGlvbiBtdXN0IG1hdGNoIGF0IHRoZSBjdXJyZW50IHBvc2l0aW9uLCBidXQgdGhlIGN1cnJlbnQgcG9zaXRpb24gaXMgbm90IGFkdmFuY2VkIGJlZm9yZSBtYXRjaGluZyB0aGUgc2VxdWVsLgogKiBJZiBEaXNqdW5jdGlvbiBjYW4gbWF0Y2ggYXQgdGhlIGN1cnJlbnQgcG9zaXRpb24gaW4gc2V2ZXJhbCB3YXlzLCBvbmx5IHRoZSBmaXJzdCBvbmUgaXMgdHJpZWQKICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC4yLzE1LjEwLjIuOC9TMTUuMTAuMi44X0ExX1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBFeGVjdXRlIC8oPz0oYSspKWEqYlwxLy5leGVjKCJiYWFhYmFjIikgYW5kIGNoZWNrIHJlc3VsdHMKICovCgpfX2V4ZWN1dGVkID0gLyg/PShhKykpYSpiXDEvLmV4ZWMoImJhYWFiYWMiKTsKCl9fZXhwZWN0ZWQgPSBbImFiYSIsICJhIl07Cl9fZXhwZWN0ZWQuaW5kZXggPSAzOwpfX2V4cGVjdGVkLmlucHV0ID0gImJhYWFiYWMiOwoKLy9DSEVDSyMxCmlmIChfX2V4ZWN1dGVkLmxlbmd0aCAhPT0gX19leHBlY3RlZC5sZW5ndGgpIHsKCSRFUlJPUignIzE6IF9fZXhlY3V0ZWQgPSAvKD89KGErKSlhKmJcXDEvLmV4ZWMoImJhYWFiYWMiKTsgX19leGVjdXRlZC5sZW5ndGggPT09ICcgKyBfX2V4cGVjdGVkLmxlbmd0aCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQubGVuZ3RoKTsKfQoKLy9DSEVDSyMyCmlmIChfX2V4ZWN1dGVkLmluZGV4ICE9PSBfX2V4cGVjdGVkLmluZGV4KSB7CgkkRVJST1IoJyMyOiBfX2V4ZWN1dGVkID0gLyg/PShhKykpYSpiXFwxLy5leGVjKCJiYWFhYmFjIik7IF9fZXhlY3V0ZWQuaW5kZXggPT09ICcgKyBfX2V4cGVjdGVkLmluZGV4ICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5pbmRleCk7Cn0KCi8vQ0hFQ0sjMwppZiAoX19leGVjdXRlZC5pbnB1dCAhPT0gX19leHBlY3RlZC5pbnB1dCkgewoJJEVSUk9SKCcjMzogX19leGVjdXRlZCA9IC8oPz0oYSspKWEqYlxcMS8uZXhlYygiYmFhYWJhYyIpOyBfX2V4ZWN1dGVkLmlucHV0ID09PSAnICsgX19leHBlY3RlZC5pbnB1dCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5wdXQpOwp9CgovL0NIRUNLIzQKZm9yKHZhciBpbmRleD0wOyBpbmRleDxfX2V4cGVjdGVkLmxlbmd0aDsgaW5kZXgrKykgewoJaWYgKF9fZXhlY3V0ZWRbaW5kZXhdICE9PSBfX2V4cGVjdGVkW2luZGV4XSkgewoJCSRFUlJPUignIzQ6IF9fZXhlY3V0ZWQgPSAvKD89KGErKSlhKmJcXDEvLmV4ZWMoImJhYWFiYWMiKTsgX19leGVjdXRlZFsnICsgaW5kZXggKyAnXSA9PT0gJyArIF9fZXhwZWN0ZWRbaW5kZXhdICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZFtpbmRleF0pOwoJfQp9CgoK","commentary":"The form (?= Disjunction ) specifies a zero-width positive lookahead.\nIn order for it to succeed, the pattern inside Disjunction must match at the current position, but the current position is not advanced before matching the sequel.\nIf Disjunction can match at the current position in several ways, only the first one is tried","description":"Execute /(?=(a+))a*b\\1/.exec(\"baaabac\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.8/S15.10.2.8_A1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgZm9ybSAoPz0gRGlzanVuY3Rpb24gKSBzcGVjaWZpZXMgYSB6ZXJvLXdpZHRoIHBvc2l0aXZlIGxvb2thaGVhZC4KICogSW4gb3JkZXIgZm9yIGl0IHRvIHN1Y2NlZWQsIHRoZSBwYXR0ZXJuIGluc2lkZSBEaXNqdW5jdGlvbiBtdXN0IG1hdGNoIGF0IHRoZSBjdXJyZW50IHBvc2l0aW9uLCBidXQgdGhlIGN1cnJlbnQgcG9zaXRpb24gaXMgbm90IGFkdmFuY2VkIGJlZm9yZSBtYXRjaGluZyB0aGUgc2VxdWVsLgogKiBJZiBEaXNqdW5jdGlvbiBjYW4gbWF0Y2ggYXQgdGhlIGN1cnJlbnQgcG9zaXRpb24gaW4gc2V2ZXJhbCB3YXlzLCBvbmx5IHRoZSBmaXJzdCBvbmUgaXMgdHJpZWQKICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC4yLzE1LjEwLjIuOC9TMTUuMTAuMi44X0ExX1QzLmpzCiAqIEBkZXNjcmlwdGlvbiBFeGVjdXRlIC9bSmpdYXZhKFtTc11jcmlwdCk/KD89XDopLy5leGVjKCJqdXN0IEphdmFzY3JpcHQ6IHRoZSB3YXkgYWYgamVkaSIpIGFuZCBjaGVjayByZXN1bHRzCiAqLwoKX19leGVjdXRlZCA9IC9bSmpdYXZhKFtTc11jcmlwdCk/KD89XDopLy5leGVjKCJqdXN0IEphdmFzY3JpcHQ6IHRoZSB3YXkgYWYgamVkaSIpOwoKX19leHBlY3RlZCA9IFsiSmF2YXNjcmlwdCIsICJzY3JpcHQiXTsKX19leHBlY3RlZC5pbmRleCA9IDU7Cl9fZXhwZWN0ZWQuaW5wdXQgPSAianVzdCBKYXZhc2NyaXB0OiB0aGUgd2F5IGFmIGplZGkiOwoKLy9DSEVDSyMxCmlmIChfX2V4ZWN1dGVkLmxlbmd0aCAhPT0gX19leHBlY3RlZC5sZW5ndGgpIHsKCSRFUlJPUignIzE6IF9fZXhlY3V0ZWQgPSAvW0pqXWF2YShbU3NdY3JpcHQpPyg/PVxcOikvLmV4ZWMoImp1c3QgSmF2YXNjcmlwdDogdGhlIHdheSBhZiBqZWRpIik7IF9fZXhlY3V0ZWQubGVuZ3RoID09PSAnICsgX19leHBlY3RlZC5sZW5ndGggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmxlbmd0aCk7Cn0KCi8vQ0hFQ0sjMgppZiAoX19leGVjdXRlZC5pbmRleCAhPT0gX19leHBlY3RlZC5pbmRleCkgewoJJEVSUk9SKCcjMjogX19leGVjdXRlZCA9IC9bSmpdYXZhKFtTc11jcmlwdCk/KD89XFw6KS8uZXhlYygianVzdCBKYXZhc2NyaXB0OiB0aGUgd2F5IGFmIGplZGkiKTsgX19leGVjdXRlZC5pbmRleCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5kZXggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmluZGV4KTsKfQoKLy9DSEVDSyMzCmlmIChfX2V4ZWN1dGVkLmlucHV0ICE9PSBfX2V4cGVjdGVkLmlucHV0KSB7CgkkRVJST1IoJyMzOiBfX2V4ZWN1dGVkID0gL1tKal1hdmEoW1NzXWNyaXB0KT8oPz1cXDopLy5leGVjKCJqdXN0IEphdmFzY3JpcHQ6IHRoZSB3YXkgYWYgamVkaSIpOyBfX2V4ZWN1dGVkLmlucHV0ID09PSAnICsgX19leHBlY3RlZC5pbnB1dCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5wdXQpOwp9CgovL0NIRUNLIzQKZm9yKHZhciBpbmRleD0wOyBpbmRleDxfX2V4cGVjdGVkLmxlbmd0aDsgaW5kZXgrKykgewoJaWYgKF9fZXhlY3V0ZWRbaW5kZXhdICE9PSBfX2V4cGVjdGVkW2luZGV4XSkgewoJCSRFUlJPUignIzQ6IF9fZXhlY3V0ZWQgPSAvW0pqXWF2YShbU3NdY3JpcHQpPyg/PVxcOikvLmV4ZWMoImp1c3QgSmF2YXNjcmlwdDogdGhlIHdheSBhZiBqZWRpIik7IF9fZXhlY3V0ZWRbJyArIGluZGV4ICsgJ10gPT09ICcgKyBfX2V4cGVjdGVkW2luZGV4XSArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWRbaW5kZXhdKTsKCX0KfQoKCg==","commentary":"The form (?= Disjunction ) specifies a zero-width positive lookahead.\nIn order for it to succeed, the pattern inside Disjunction must match at the current position, but the current position is not advanced before matching the sequel.\nIf Disjunction can match at the current position in several ways, only the first one is tried","description":"Execute /[Jj]ava([Ss]cript)?(?=\\:)/.exec(\"just Javascript: the way af jedi\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.8/S15.10.2.8_A1_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgZm9ybSAoPz0gRGlzanVuY3Rpb24gKSBzcGVjaWZpZXMgYSB6ZXJvLXdpZHRoIHBvc2l0aXZlIGxvb2thaGVhZC4KICogSW4gb3JkZXIgZm9yIGl0IHRvIHN1Y2NlZWQsIHRoZSBwYXR0ZXJuIGluc2lkZSBEaXNqdW5jdGlvbiBtdXN0IG1hdGNoIGF0IHRoZSBjdXJyZW50IHBvc2l0aW9uLCBidXQgdGhlIGN1cnJlbnQgcG9zaXRpb24gaXMgbm90IGFkdmFuY2VkIGJlZm9yZSBtYXRjaGluZyB0aGUgc2VxdWVsLgogKiBJZiBEaXNqdW5jdGlvbiBjYW4gbWF0Y2ggYXQgdGhlIGN1cnJlbnQgcG9zaXRpb24gaW4gc2V2ZXJhbCB3YXlzLCBvbmx5IHRoZSBmaXJzdCBvbmUgaXMgdHJpZWQKICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC4yLzE1LjEwLjIuOC9TMTUuMTAuMi44X0ExX1Q0LmpzCiAqIEBkZXNjcmlwdGlvbiBFeGVjdXRlIC9bSmpdYXZhKFtTc11jcmlwdCk/KD89XDopLy5leGVjKCJ0YXN0ZSBvZiBqYXZhOiB0aGUgY29va2Jvb2sgIikgYW5kIGNoZWNrIHJlc3VsdHMKICovCgpfX2V4ZWN1dGVkID0gL1tKal1hdmEoW1NzXWNyaXB0KT8oPz1cOikvLmV4ZWMoInRhc3RlIG9mIGphdmE6IHRoZSBjb29rYm9vayAiKTsKCl9fZXhwZWN0ZWQgPSBbImphdmEiLCB1bmRlZmluZWRdOwpfX2V4cGVjdGVkLmluZGV4ID0gOTsKX19leHBlY3RlZC5pbnB1dCA9ICJ0YXN0ZSBvZiBqYXZhOiB0aGUgY29va2Jvb2sgIjsKCi8vQ0hFQ0sjMQppZiAoX19leGVjdXRlZC5sZW5ndGggIT09IF9fZXhwZWN0ZWQubGVuZ3RoKSB7CgkkRVJST1IoJyMxOiBfX2V4ZWN1dGVkID0gL1tKal1hdmEoW1NzXWNyaXB0KT8oPz1cXDopLy5leGVjKCJ0YXN0ZSBvZiBqYXZhOiB0aGUgY29va2Jvb2sgIik7IF9fZXhlY3V0ZWQubGVuZ3RoID09PSAnICsgX19leHBlY3RlZC5sZW5ndGggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmxlbmd0aCk7Cn0KCi8vQ0hFQ0sjMgppZiAoX19leGVjdXRlZC5pbmRleCAhPT0gX19leHBlY3RlZC5pbmRleCkgewoJJEVSUk9SKCcjMjogX19leGVjdXRlZCA9IC9bSmpdYXZhKFtTc11jcmlwdCk/KD89XFw6KS8uZXhlYygidGFzdGUgb2YgamF2YTogdGhlIGNvb2tib29rICIpOyBfX2V4ZWN1dGVkLmluZGV4ID09PSAnICsgX19leHBlY3RlZC5pbmRleCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5kZXgpOwp9CgovL0NIRUNLIzMKaWYgKF9fZXhlY3V0ZWQuaW5wdXQgIT09IF9fZXhwZWN0ZWQuaW5wdXQpIHsKCSRFUlJPUignIzM6IF9fZXhlY3V0ZWQgPSAvW0pqXWF2YShbU3NdY3JpcHQpPyg/PVxcOikvLmV4ZWMoInRhc3RlIG9mIGphdmE6IHRoZSBjb29rYm9vayAiKTsgX19leGVjdXRlZC5pbnB1dCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5wdXQgKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmlucHV0KTsKfQoKLy9DSEVDSyM0CmZvcih2YXIgaW5kZXg9MDsgaW5kZXg8X19leHBlY3RlZC5sZW5ndGg7IGluZGV4KyspIHsKCWlmIChfX2V4ZWN1dGVkW2luZGV4XSAhPT0gX19leHBlY3RlZFtpbmRleF0pIHsKCQkkRVJST1IoJyM0OiBfX2V4ZWN1dGVkID0gL1tKal1hdmEoW1NzXWNyaXB0KT8oPz1cXDopLy5leGVjKCJ0YXN0ZSBvZiBqYXZhOiB0aGUgY29va2Jvb2sgIik7IF9fZXhlY3V0ZWRbJyArIGluZGV4ICsgJ10gPT09ICcgKyBfX2V4cGVjdGVkW2luZGV4XSArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWRbaW5kZXhdKTsKCX0KfQoKCg==","commentary":"The form (?= Disjunction ) specifies a zero-width positive lookahead.\nIn order for it to succeed, the pattern inside Disjunction must match at the current position, but the current position is not advanced before matching the sequel.\nIf Disjunction can match at the current position in several ways, only the first one is tried","description":"Execute /[Jj]ava([Ss]cript)?(?=\\:)/.exec(\"taste of java: the cookbook \") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.8/S15.10.2.8_A1_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgZm9ybSAoPz0gRGlzanVuY3Rpb24gKSBzcGVjaWZpZXMgYSB6ZXJvLXdpZHRoIHBvc2l0aXZlIGxvb2thaGVhZC4KICogSW4gb3JkZXIgZm9yIGl0IHRvIHN1Y2NlZWQsIHRoZSBwYXR0ZXJuIGluc2lkZSBEaXNqdW5jdGlvbiBtdXN0IG1hdGNoIGF0IHRoZSBjdXJyZW50IHBvc2l0aW9uLCBidXQgdGhlIGN1cnJlbnQgcG9zaXRpb24gaXMgbm90IGFkdmFuY2VkIGJlZm9yZSBtYXRjaGluZyB0aGUgc2VxdWVsLgogKiBJZiBEaXNqdW5jdGlvbiBjYW4gbWF0Y2ggYXQgdGhlIGN1cnJlbnQgcG9zaXRpb24gaW4gc2V2ZXJhbCB3YXlzLCBvbmx5IHRoZSBmaXJzdCBvbmUgaXMgdHJpZWQKICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC4yLzE1LjEwLjIuOC9TMTUuMTAuMi44X0ExX1Q1LmpzCiAqIEBkZXNjcmlwdGlvbiBFeGVjdXRlIC9bSmpdYXZhKFtTc11jcmlwdCk/KD89XDopLy50ZXN0KCJyaGlubyBpcyBKYXZhU2NyaXB0IGVuZ2luZSIpIGFuZCBjaGVjayByZXN1bHRzCiAqLwoKX19leGVjdXRlZCA9IC9bSmpdYXZhKFtTc11jcmlwdCk/KD89XDopLy50ZXN0KCJyaGlubyBpcyBKYXZhU2NyaXB0IGVuZ2luZSIpOwoKLy9DSEVDSyMxCmlmIChfX2V4ZWN1dGVkKSB7CgkkRVJST1IoJyMxOiAvW0pqXWF2YShbU3NdY3JpcHQpPyg/PVxcOikvLnRlc3QoInJoaW5vIGlzIEphdmFTY3JpcHQgZW5naW5lIikgPT09IGZhbHNlJyk7Cn0KCgo=","commentary":"The form (?= Disjunction ) specifies a zero-width positive lookahead.\nIn order for it to succeed, the pattern inside Disjunction must match at the current position, but the current position is not advanced before matching the sequel.\nIf Disjunction can match at the current position in several ways, only the first one is tried","description":"Execute /[Jj]ava([Ss]cript)?(?=\\:)/.test(\"rhino is JavaScript engine\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.8/S15.10.2.8_A1_T5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgZm9ybSAoPyEgRGlzanVuY3Rpb24gKSBzcGVjaWZpZXMgYSB6ZXJvLXdpZHRoIG5lZ2F0aXZlIGxvb2thaGVhZC4KICogSW4gb3JkZXIgZm9yIGl0IHRvIHN1Y2NlZWQsIHRoZSBwYXR0ZXJuIGluc2lkZSBEaXNqdW5jdGlvbiBtdXN0IGZhaWwgdG8gbWF0Y2ggYXQgdGhlIGN1cnJlbnQgcG9zaXRpb24uCiAqIFRoZSBjdXJyZW50IHBvc2l0aW9uIGlzIG5vdCBhZHZhbmNlZCBiZWZvcmUgbWF0Y2hpbmcgdGhlIHNlcXVlbAogKgogKiBAcGF0aCBjaDE1LzE1LjEwLzE1LjEwLjIvMTUuMTAuMi44L1MxNS4xMC4yLjhfQTJfVDEuanMKICogQGRlc2NyaXB0aW9uIEV4ZWN1dGUgLyguKj8pYSg/IShhKyliXDJjKVwyKC4qKS8uZXhlYygiYmFhYWJhYWMiKSBhbmQgY2hlY2sgcmVzdWx0cwogKi8KCl9fZXhlY3V0ZWQgPSAvKC4qPylhKD8hKGErKWJcMmMpXDIoLiopLy5leGVjKCJiYWFhYmFhYyIpOwoKX19leHBlY3RlZCA9IFsiYmFhYWJhYWMiLCAiYmEiLCB1bmRlZmluZWQsICJhYmFhYyJdOwpfX2V4cGVjdGVkLmluZGV4ID0gMDsKX19leHBlY3RlZC5pbnB1dCA9ICJiYWFhYmFhYyI7CgovL0NIRUNLIzEKaWYgKF9fZXhlY3V0ZWQubGVuZ3RoICE9PSBfX2V4cGVjdGVkLmxlbmd0aCkgewoJJEVSUk9SKCcjMTogX19leGVjdXRlZCA9IC8oLio/KWEoPyEoYSspYlxcMmMpXFwyKC4qKS8uZXhlYygiYmFhYWJhYWMiKTsgX19leGVjdXRlZC5sZW5ndGggPT09ICcgKyBfX2V4cGVjdGVkLmxlbmd0aCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQubGVuZ3RoKTsKfQoKLy9DSEVDSyMyCmlmIChfX2V4ZWN1dGVkLmluZGV4ICE9PSBfX2V4cGVjdGVkLmluZGV4KSB7CgkkRVJST1IoJyMyOiBfX2V4ZWN1dGVkID0gLyguKj8pYSg/IShhKyliXFwyYylcXDIoLiopLy5leGVjKCJiYWFhYmFhYyIpOyBfX2V4ZWN1dGVkLmluZGV4ID09PSAnICsgX19leHBlY3RlZC5pbmRleCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5kZXgpOwp9CgovL0NIRUNLIzMKaWYgKF9fZXhlY3V0ZWQuaW5wdXQgIT09IF9fZXhwZWN0ZWQuaW5wdXQpIHsKCSRFUlJPUignIzM6IF9fZXhlY3V0ZWQgPSAvKC4qPylhKD8hKGErKWJcXDJjKVxcMiguKikvLmV4ZWMoImJhYWFiYWFjIik7IF9fZXhlY3V0ZWQuaW5wdXQgPT09ICcgKyBfX2V4cGVjdGVkLmlucHV0ICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5pbnB1dCk7Cn0KCi8vQ0hFQ0sjNApmb3IodmFyIGluZGV4PTA7IGluZGV4PF9fZXhwZWN0ZWQubGVuZ3RoOyBpbmRleCsrKSB7CglpZiAoX19leGVjdXRlZFtpbmRleF0gIT09IF9fZXhwZWN0ZWRbaW5kZXhdKSB7CgkJJEVSUk9SKCcjNDogX19leGVjdXRlZCA9IC8oLio/KWEoPyEoYSspYlxcMmMpXFwyKC4qKS8uZXhlYygiYmFhYWJhYWMiKTsgX19leGVjdXRlZFsnICsgaW5kZXggKyAnXSA9PT0gJyArIF9fZXhwZWN0ZWRbaW5kZXhdICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZFtpbmRleF0pOwoJfQp9CgoK","commentary":"The form (?! Disjunction ) specifies a zero-width negative lookahead.\nIn order for it to succeed, the pattern inside Disjunction must fail to match at the current position.\nThe current position is not advanced before matching the sequel","description":"Execute /(.*?)a(?!(a+)b\\2c)\\2(.*)/.exec(\"baaabaac\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.8/S15.10.2.8_A2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgZm9ybSAoPyEgRGlzanVuY3Rpb24gKSBzcGVjaWZpZXMgYSB6ZXJvLXdpZHRoIG5lZ2F0aXZlIGxvb2thaGVhZC4KICogSW4gb3JkZXIgZm9yIGl0IHRvIHN1Y2NlZWQsIHRoZSBwYXR0ZXJuIGluc2lkZSBEaXNqdW5jdGlvbiBtdXN0IGZhaWwgdG8gbWF0Y2ggYXQgdGhlIGN1cnJlbnQgcG9zaXRpb24uCiAqIFRoZSBjdXJyZW50IHBvc2l0aW9uIGlzIG5vdCBhZHZhbmNlZCBiZWZvcmUgbWF0Y2hpbmcgdGhlIHNlcXVlbAogKgogKiBAcGF0aCBjaDE1LzE1LjEwLzE1LjEwLjIvMTUuMTAuMi44L1MxNS4xMC4yLjhfQTJfVDEwLmpzCiAqIEBkZXNjcmlwdGlvbiBFeGVjdXRlIC8oPyFhfGIpfGMvLmV4ZWMoImJjIikgYW5kIGNoZWNrIHJlc3VsdHMKICovCgpfX2V4ZWN1dGVkID0gLyg/IWF8Yil8Yy8uZXhlYygiYmMiKTsKCl9fZXhwZWN0ZWQgPSBbIiJdOwpfX2V4cGVjdGVkLmluZGV4ID0gMTsKX19leHBlY3RlZC5pbnB1dCA9ICJiYyI7CgovL0NIRUNLIzEKaWYgKF9fZXhlY3V0ZWQubGVuZ3RoICE9PSBfX2V4cGVjdGVkLmxlbmd0aCkgewoJJEVSUk9SKCcjMTogX19leGVjdXRlZCA9IC8oPyFhfGIpfGMvLmV4ZWMoImJjIik7IF9fZXhlY3V0ZWQubGVuZ3RoID09PSAnICsgX19leHBlY3RlZC5sZW5ndGggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmxlbmd0aCk7Cn0KCi8vQ0hFQ0sjMgppZiAoX19leGVjdXRlZC5pbmRleCAhPT0gX19leHBlY3RlZC5pbmRleCkgewoJJEVSUk9SKCcjMjogX19leGVjdXRlZCA9IC8oPyFhfGIpfGMvLmV4ZWMoImJjIik7IF9fZXhlY3V0ZWQuaW5kZXggPT09ICcgKyBfX2V4cGVjdGVkLmluZGV4ICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5pbmRleCk7Cn0KCi8vQ0hFQ0sjMwppZiAoX19leGVjdXRlZC5pbnB1dCAhPT0gX19leHBlY3RlZC5pbnB1dCkgewoJJEVSUk9SKCcjMzogX19leGVjdXRlZCA9IC8oPyFhfGIpfGMvLmV4ZWMoImJjIik7IF9fZXhlY3V0ZWQuaW5wdXQgPT09ICcgKyBfX2V4cGVjdGVkLmlucHV0ICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5pbnB1dCk7Cn0KCi8vQ0hFQ0sjNApmb3IodmFyIGluZGV4PTA7IGluZGV4PF9fZXhwZWN0ZWQubGVuZ3RoOyBpbmRleCsrKSB7CglpZiAoX19leGVjdXRlZFtpbmRleF0gIT09IF9fZXhwZWN0ZWRbaW5kZXhdKSB7CgkJJEVSUk9SKCcjNDogX19leGVjdXRlZCA9IC8oPyFhfGIpfGMvLmV4ZWMoImJjIik7IF9fZXhlY3V0ZWRbJyArIGluZGV4ICsgJ10gPT09ICcgKyBfX2V4cGVjdGVkW2luZGV4XSArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWRbaW5kZXhdKTsKCX0KfQoKCg==","commentary":"The form (?! Disjunction ) specifies a zero-width negative lookahead.\nIn order for it to succeed, the pattern inside Disjunction must fail to match at the current position.\nThe current position is not advanced before matching the sequel","description":"Execute /(?!a|b)|c/.exec(\"bc\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.8/S15.10.2.8_A2_T10.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgZm9ybSAoPyEgRGlzanVuY3Rpb24gKSBzcGVjaWZpZXMgYSB6ZXJvLXdpZHRoIG5lZ2F0aXZlIGxvb2thaGVhZC4KICogSW4gb3JkZXIgZm9yIGl0IHRvIHN1Y2NlZWQsIHRoZSBwYXR0ZXJuIGluc2lkZSBEaXNqdW5jdGlvbiBtdXN0IGZhaWwgdG8gbWF0Y2ggYXQgdGhlIGN1cnJlbnQgcG9zaXRpb24uCiAqIFRoZSBjdXJyZW50IHBvc2l0aW9uIGlzIG5vdCBhZHZhbmNlZCBiZWZvcmUgbWF0Y2hpbmcgdGhlIHNlcXVlbAogKgogKiBAcGF0aCBjaDE1LzE1LjEwLzE1LjEwLjIvMTUuMTAuMi44L1MxNS4xMC4yLjhfQTJfVDExLmpzCiAqIEBkZXNjcmlwdGlvbiBFeGVjdXRlIC8oPyFhfGIpfGMvLmV4ZWMoImQiKSBhbmQgY2hlY2sgcmVzdWx0cwogKi8KCl9fZXhlY3V0ZWQgPSAvKD8hYXxiKXxjLy5leGVjKCJkIik7CgpfX2V4cGVjdGVkID0gWyIiXTsKX19leHBlY3RlZC5pbmRleCA9IDA7Cl9fZXhwZWN0ZWQuaW5wdXQgPSAiZCI7CgovL0NIRUNLIzEKaWYgKF9fZXhlY3V0ZWQubGVuZ3RoICE9PSBfX2V4cGVjdGVkLmxlbmd0aCkgewoJJEVSUk9SKCcjMTogX19leGVjdXRlZCA9IC8oPyFhfGIpfGMvLmV4ZWMoImQiKTsgX19leGVjdXRlZC5sZW5ndGggPT09ICcgKyBfX2V4cGVjdGVkLmxlbmd0aCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQubGVuZ3RoKTsKfQoKLy9DSEVDSyMyCmlmIChfX2V4ZWN1dGVkLmluZGV4ICE9PSBfX2V4cGVjdGVkLmluZGV4KSB7CgkkRVJST1IoJyMyOiBfX2V4ZWN1dGVkID0gLyg/IWF8Yil8Yy8uZXhlYygiZCIpOyBfX2V4ZWN1dGVkLmluZGV4ID09PSAnICsgX19leHBlY3RlZC5pbmRleCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5kZXgpOwp9CgovL0NIRUNLIzMKaWYgKF9fZXhlY3V0ZWQuaW5wdXQgIT09IF9fZXhwZWN0ZWQuaW5wdXQpIHsKCSRFUlJPUignIzM6IF9fZXhlY3V0ZWQgPSAvKD8hYXxiKXxjLy5leGVjKCJkIik7IF9fZXhlY3V0ZWQuaW5wdXQgPT09ICcgKyBfX2V4cGVjdGVkLmlucHV0ICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5pbnB1dCk7Cn0KCi8vQ0hFQ0sjNApmb3IodmFyIGluZGV4PTA7IGluZGV4PF9fZXhwZWN0ZWQubGVuZ3RoOyBpbmRleCsrKSB7CglpZiAoX19leGVjdXRlZFtpbmRleF0gIT09IF9fZXhwZWN0ZWRbaW5kZXhdKSB7CgkJJEVSUk9SKCcjNDogX19leGVjdXRlZCA9IC8oPyFhfGIpfGMvLmV4ZWMoImQiKTsgX19leGVjdXRlZFsnICsgaW5kZXggKyAnXSA9PT0gJyArIF9fZXhwZWN0ZWRbaW5kZXhdICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZFtpbmRleF0pOwoJfQp9CgoK","commentary":"The form (?! Disjunction ) specifies a zero-width negative lookahead.\nIn order for it to succeed, the pattern inside Disjunction must fail to match at the current position.\nThe current position is not advanced before matching the sequel","description":"Execute /(?!a|b)|c/.exec(\"d\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.8/S15.10.2.8_A2_T11.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgZm9ybSAoPyEgRGlzanVuY3Rpb24gKSBzcGVjaWZpZXMgYSB6ZXJvLXdpZHRoIG5lZ2F0aXZlIGxvb2thaGVhZC4KICogSW4gb3JkZXIgZm9yIGl0IHRvIHN1Y2NlZWQsIHRoZSBwYXR0ZXJuIGluc2lkZSBEaXNqdW5jdGlvbiBtdXN0IGZhaWwgdG8gbWF0Y2ggYXQgdGhlIGN1cnJlbnQgcG9zaXRpb24uCiAqIFRoZSBjdXJyZW50IHBvc2l0aW9uIGlzIG5vdCBhZHZhbmNlZCBiZWZvcmUgbWF0Y2hpbmcgdGhlIHNlcXVlbAogKgogKiBAcGF0aCBjaDE1LzE1LjEwLzE1LjEwLjIvMTUuMTAuMi44L1MxNS4xMC4yLjhfQTJfVDIuanMKICogQGRlc2NyaXB0aW9uIEV4ZWN1dGUgL0phdmEoPyFTY3JpcHQpKFtBLVpdXHcqKS8uZXhlYygidXNpbmcgb2YgSmF2YUJlYW5zIHRlY2hub2xvZ3kiKSBhbmQgY2hlY2sgcmVzdWx0cwogKi8KCl9fZXhlY3V0ZWQgPSAvSmF2YSg/IVNjcmlwdCkoW0EtWl1cdyopLy5leGVjKCJ1c2luZyBvZiBKYXZhQmVhbnMgdGVjaG5vbG9neSIpOwoKX19leHBlY3RlZCA9IFsiSmF2YUJlYW5zIiwgIkJlYW5zIl07Cl9fZXhwZWN0ZWQuaW5kZXggPSA5OwpfX2V4cGVjdGVkLmlucHV0ID0gInVzaW5nIG9mIEphdmFCZWFucyB0ZWNobm9sb2d5IjsKCi8vQ0hFQ0sjMQppZiAoX19leGVjdXRlZC5sZW5ndGggIT09IF9fZXhwZWN0ZWQubGVuZ3RoKSB7CgkkRVJST1IoJyMxOiBfX2V4ZWN1dGVkID0gL0phdmEoPyFTY3JpcHQpKFtBLVpdXFx3KikvLmV4ZWMoInVzaW5nIG9mIEphdmFCZWFucyB0ZWNobm9sb2d5Iik7IF9fZXhlY3V0ZWQubGVuZ3RoID09PSAnICsgX19leHBlY3RlZC5sZW5ndGggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmxlbmd0aCk7Cn0KCi8vQ0hFQ0sjMgppZiAoX19leGVjdXRlZC5pbmRleCAhPT0gX19leHBlY3RlZC5pbmRleCkgewoJJEVSUk9SKCcjMjogX19leGVjdXRlZCA9IC9KYXZhKD8hU2NyaXB0KShbQS1aXVxcdyopLy5leGVjKCJ1c2luZyBvZiBKYXZhQmVhbnMgdGVjaG5vbG9neSIpOyBfX2V4ZWN1dGVkLmluZGV4ID09PSAnICsgX19leHBlY3RlZC5pbmRleCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5kZXgpOwp9CgovL0NIRUNLIzMKaWYgKF9fZXhlY3V0ZWQuaW5wdXQgIT09IF9fZXhwZWN0ZWQuaW5wdXQpIHsKCSRFUlJPUignIzM6IF9fZXhlY3V0ZWQgPSAvSmF2YSg/IVNjcmlwdCkoW0EtWl1cXHcqKS8uZXhlYygidXNpbmcgb2YgSmF2YUJlYW5zIHRlY2hub2xvZ3kiKTsgX19leGVjdXRlZC5pbnB1dCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5wdXQgKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmlucHV0KTsKfQoKLy9DSEVDSyM0CmZvcih2YXIgaW5kZXg9MDsgaW5kZXg8X19leHBlY3RlZC5sZW5ndGg7IGluZGV4KyspIHsKCWlmIChfX2V4ZWN1dGVkW2luZGV4XSAhPT0gX19leHBlY3RlZFtpbmRleF0pIHsKCQkkRVJST1IoJyM0OiBfX2V4ZWN1dGVkID0gL0phdmEoPyFTY3JpcHQpKFtBLVpdXFx3KikvLmV4ZWMoInVzaW5nIG9mIEphdmFCZWFucyB0ZWNobm9sb2d5Iik7IF9fZXhlY3V0ZWRbJyArIGluZGV4ICsgJ10gPT09ICcgKyBfX2V4cGVjdGVkW2luZGV4XSArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWRbaW5kZXhdKTsKCX0KfQoKCg==","commentary":"The form (?! Disjunction ) specifies a zero-width negative lookahead.\nIn order for it to succeed, the pattern inside Disjunction must fail to match at the current position.\nThe current position is not advanced before matching the sequel","description":"Execute /Java(?!Script)([A-Z]\\w*)/.exec(\"using of JavaBeans technology\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.8/S15.10.2.8_A2_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgZm9ybSAoPyEgRGlzanVuY3Rpb24gKSBzcGVjaWZpZXMgYSB6ZXJvLXdpZHRoIG5lZ2F0aXZlIGxvb2thaGVhZC4KICogSW4gb3JkZXIgZm9yIGl0IHRvIHN1Y2NlZWQsIHRoZSBwYXR0ZXJuIGluc2lkZSBEaXNqdW5jdGlvbiBtdXN0IGZhaWwgdG8gbWF0Y2ggYXQgdGhlIGN1cnJlbnQgcG9zaXRpb24uCiAqIFRoZSBjdXJyZW50IHBvc2l0aW9uIGlzIG5vdCBhZHZhbmNlZCBiZWZvcmUgbWF0Y2hpbmcgdGhlIHNlcXVlbAogKgogKiBAcGF0aCBjaDE1LzE1LjEwLzE1LjEwLjIvMTUuMTAuMi44L1MxNS4xMC4yLjhfQTJfVDMuanMKICogQGRlc2NyaXB0aW9uIEV4ZWN1dGUgL0phdmEoPyFTY3JpcHQpKFtBLVpdXHcqKS8udGVzdCgidXNpbmcgb2YgSmF2YSBsYW5ndWFnZSIpIGFuZCBjaGVjayByZXN1bHRzCiAqLwoKX19leGVjdXRlZCA9IC9KYXZhKD8hU2NyaXB0KShbQS1aXVx3KikvLnRlc3QoInVzaW5nIG9mIEphdmEgbGFuZ3VhZ2UiKTsKCi8vQ0hFQ0sjMQppZiAoX19leGVjdXRlZCkgewoJJEVSUk9SKCcjMTogL0phdmEoPyFTY3JpcHQpKFtBLVpdXFx3KikvLnRlc3QoInVzaW5nIG9mIEphdmEgbGFuZ3VhZ2UiKSA9PT0gZmFsc2UnKTsKfQoKCg==","commentary":"The form (?! Disjunction ) specifies a zero-width negative lookahead.\nIn order for it to succeed, the pattern inside Disjunction must fail to match at the current position.\nThe current position is not advanced before matching the sequel","description":"Execute /Java(?!Script)([A-Z]\\w*)/.test(\"using of Java language\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.8/S15.10.2.8_A2_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgZm9ybSAoPyEgRGlzanVuY3Rpb24gKSBzcGVjaWZpZXMgYSB6ZXJvLXdpZHRoIG5lZ2F0aXZlIGxvb2thaGVhZC4KICogSW4gb3JkZXIgZm9yIGl0IHRvIHN1Y2NlZWQsIHRoZSBwYXR0ZXJuIGluc2lkZSBEaXNqdW5jdGlvbiBtdXN0IGZhaWwgdG8gbWF0Y2ggYXQgdGhlIGN1cnJlbnQgcG9zaXRpb24uCiAqIFRoZSBjdXJyZW50IHBvc2l0aW9uIGlzIG5vdCBhZHZhbmNlZCBiZWZvcmUgbWF0Y2hpbmcgdGhlIHNlcXVlbAogKgogKiBAcGF0aCBjaDE1LzE1LjEwLzE1LjEwLjIvMTUuMTAuMi44L1MxNS4xMC4yLjhfQTJfVDQuanMKICogQGRlc2NyaXB0aW9uIEV4ZWN1dGUgL0phdmEoPyFTY3JpcHQpKFtBLVpdXHcqKS8udGVzdCgiaSdtIGEgSmF2YVNjcmlwdGVyICIpIGFuZCBjaGVjayByZXN1bHRzCiAqLwoKX19leGVjdXRlZCA9IC9KYXZhKD8hU2NyaXB0KShbQS1aXVx3KikvLnRlc3QoImknbSBhIEphdmFTY3JpcHRlciAiKTsKCi8vQ0hFQ0sjMQppZiAoX19leGVjdXRlZCkgewoJJEVSUk9SKCcjMTogL0phdmEoPyFTY3JpcHQpKFtBLVpdXFx3KikvLnRlc3QoImlcJ20gYSBKYXZhU2NyaXB0ZXIgIikgPT09IGZhbHNlJyk7Cn0KCgo=","commentary":"The form (?! Disjunction ) specifies a zero-width negative lookahead.\nIn order for it to succeed, the pattern inside Disjunction must fail to match at the current position.\nThe current position is not advanced before matching the sequel","description":"Execute /Java(?!Script)([A-Z]\\w*)/.test(\"i'm a JavaScripter \") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.8/S15.10.2.8_A2_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgZm9ybSAoPyEgRGlzanVuY3Rpb24gKSBzcGVjaWZpZXMgYSB6ZXJvLXdpZHRoIG5lZ2F0aXZlIGxvb2thaGVhZC4KICogSW4gb3JkZXIgZm9yIGl0IHRvIHN1Y2NlZWQsIHRoZSBwYXR0ZXJuIGluc2lkZSBEaXNqdW5jdGlvbiBtdXN0IGZhaWwgdG8gbWF0Y2ggYXQgdGhlIGN1cnJlbnQgcG9zaXRpb24uCiAqIFRoZSBjdXJyZW50IHBvc2l0aW9uIGlzIG5vdCBhZHZhbmNlZCBiZWZvcmUgbWF0Y2hpbmcgdGhlIHNlcXVlbAogKgogKiBAcGF0aCBjaDE1LzE1LjEwLzE1LjEwLjIvMTUuMTAuMi44L1MxNS4xMC4yLjhfQTJfVDUuanMKICogQGRlc2NyaXB0aW9uIEV4ZWN1dGUgL0phdmEoPyFTY3JpcHQpKFtBLVpdXHcqKS8uZXhlYygiSmF2YVNjciBvb3BzIGlwdCAiKSBhbmQgY2hlY2sgcmVzdWx0cwogKi8KCl9fZXhlY3V0ZWQgPSAvSmF2YSg/IVNjcmlwdCkoW0EtWl1cdyopLy5leGVjKCJKYXZhU2NyIG9vcHMgaXB0ICIpOwoKX19leHBlY3RlZCA9IFsiSmF2YVNjciIsICJTY3IiXTsKX19leHBlY3RlZC5pbmRleCA9IDA7Cl9fZXhwZWN0ZWQuaW5wdXQgPSAiSmF2YVNjciBvb3BzIGlwdCAiOwoKLy9DSEVDSyMxCmlmIChfX2V4ZWN1dGVkLmxlbmd0aCAhPT0gX19leHBlY3RlZC5sZW5ndGgpIHsKCSRFUlJPUignIzE6IF9fZXhlY3V0ZWQgPSAvSmF2YSg/IVNjcmlwdCkoW0EtWl1cXHcqKS8uZXhlYygiSmF2YVNjciBvb3BzIGlwdCAiKTsgX19leGVjdXRlZC5sZW5ndGggPT09ICcgKyBfX2V4cGVjdGVkLmxlbmd0aCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQubGVuZ3RoKTsKfQoKLy9DSEVDSyMyCmlmIChfX2V4ZWN1dGVkLmluZGV4ICE9PSBfX2V4cGVjdGVkLmluZGV4KSB7CgkkRVJST1IoJyMyOiBfX2V4ZWN1dGVkID0gL0phdmEoPyFTY3JpcHQpKFtBLVpdXFx3KikvLmV4ZWMoIkphdmFTY3Igb29wcyBpcHQgIik7IF9fZXhlY3V0ZWQuaW5kZXggPT09ICcgKyBfX2V4cGVjdGVkLmluZGV4ICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5pbmRleCk7Cn0KCi8vQ0hFQ0sjMwppZiAoX19leGVjdXRlZC5pbnB1dCAhPT0gX19leHBlY3RlZC5pbnB1dCkgewoJJEVSUk9SKCcjMzogX19leGVjdXRlZCA9IC9KYXZhKD8hU2NyaXB0KShbQS1aXVxcdyopLy5leGVjKCJKYXZhU2NyIG9vcHMgaXB0ICIpOyBfX2V4ZWN1dGVkLmlucHV0ID09PSAnICsgX19leHBlY3RlZC5pbnB1dCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5wdXQpOwp9CgovL0NIRUNLIzQKZm9yKHZhciBpbmRleD0wOyBpbmRleDxfX2V4cGVjdGVkLmxlbmd0aDsgaW5kZXgrKykgewoJaWYgKF9fZXhlY3V0ZWRbaW5kZXhdICE9PSBfX2V4cGVjdGVkW2luZGV4XSkgewoJCSRFUlJPUignIzQ6IF9fZXhlY3V0ZWQgPSAvSmF2YSg/IVNjcmlwdCkoW0EtWl1cXHcqKS8uZXhlYygiSmF2YVNjciBvb3BzIGlwdCAiKTsgX19leGVjdXRlZFsnICsgaW5kZXggKyAnXSA9PT0gJyArIF9fZXhwZWN0ZWRbaW5kZXhdICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZFtpbmRleF0pOwoJfQp9CgoK","commentary":"The form (?! Disjunction ) specifies a zero-width negative lookahead.\nIn order for it to succeed, the pattern inside Disjunction must fail to match at the current position.\nThe current position is not advanced before matching the sequel","description":"Execute /Java(?!Script)([A-Z]\\w*)/.exec(\"JavaScr oops ipt \") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.8/S15.10.2.8_A2_T5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgZm9ybSAoPyEgRGlzanVuY3Rpb24gKSBzcGVjaWZpZXMgYSB6ZXJvLXdpZHRoIG5lZ2F0aXZlIGxvb2thaGVhZC4KICogSW4gb3JkZXIgZm9yIGl0IHRvIHN1Y2NlZWQsIHRoZSBwYXR0ZXJuIGluc2lkZSBEaXNqdW5jdGlvbiBtdXN0IGZhaWwgdG8gbWF0Y2ggYXQgdGhlIGN1cnJlbnQgcG9zaXRpb24uCiAqIFRoZSBjdXJyZW50IHBvc2l0aW9uIGlzIG5vdCBhZHZhbmNlZCBiZWZvcmUgbWF0Y2hpbmcgdGhlIHNlcXVlbAogKgogKiBAcGF0aCBjaDE1LzE1LjEwLzE1LjEwLjIvMTUuMTAuMi44L1MxNS4xMC4yLjhfQTJfVDYuanMKICogQGRlc2NyaXB0aW9uIEV4ZWN1dGUgLyhcLig/IWNvbXxvcmcpfFwvKS8uZXhlYygiYWguaW5mbyIpIGFuZCBjaGVjayByZXN1bHRzCiAqLwoKX19leGVjdXRlZCA9IC8oXC4oPyFjb218b3JnKXxcLykvLmV4ZWMoImFoLmluZm8iKTsKCl9fZXhwZWN0ZWQgPSBbJy4nLCAnLiddOwpfX2V4cGVjdGVkLmluZGV4ID0gMjsKX19leHBlY3RlZC5pbnB1dCA9ICJhaC5pbmZvIjsKCi8vQ0hFQ0sjMQppZiAoX19leGVjdXRlZC5sZW5ndGggIT09IF9fZXhwZWN0ZWQubGVuZ3RoKSB7CgkkRVJST1IoJyMxOiBfX2V4ZWN1dGVkID0gLyhcXC4oPyFjb218b3JnKXxcXC8pLy5leGVjKCJhaC5pbmZvIik7IF9fZXhlY3V0ZWQubGVuZ3RoID09PSAnICsgX19leHBlY3RlZC5sZW5ndGggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmxlbmd0aCk7Cn0KCi8vQ0hFQ0sjMgppZiAoX19leGVjdXRlZC5pbmRleCAhPT0gX19leHBlY3RlZC5pbmRleCkgewoJJEVSUk9SKCcjMjogX19leGVjdXRlZCA9IC8oXFwuKD8hY29tfG9yZyl8XFwvKS8uZXhlYygiYWguaW5mbyIpOyBfX2V4ZWN1dGVkLmluZGV4ID09PSAnICsgX19leHBlY3RlZC5pbmRleCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5kZXgpOwp9CgovL0NIRUNLIzMKaWYgKF9fZXhlY3V0ZWQuaW5wdXQgIT09IF9fZXhwZWN0ZWQuaW5wdXQpIHsKCSRFUlJPUignIzM6IF9fZXhlY3V0ZWQgPSAvKFxcLig/IWNvbXxvcmcpfFxcLykvLmV4ZWMoImFoLmluZm8iKTsgX19leGVjdXRlZC5pbnB1dCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5wdXQgKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmlucHV0KTsKfQoKLy9DSEVDSyM0CmZvcih2YXIgaW5kZXg9MDsgaW5kZXg8X19leHBlY3RlZC5sZW5ndGg7IGluZGV4KyspIHsKCWlmIChfX2V4ZWN1dGVkW2luZGV4XSAhPT0gX19leHBlY3RlZFtpbmRleF0pIHsKCQkkRVJST1IoJyM0OiBfX2V4ZWN1dGVkID0gLyhcXC4oPyFjb218b3JnKXxcXC8pLy5leGVjKCJhaC5pbmZvIik7IF9fZXhlY3V0ZWRbJyArIGluZGV4ICsgJ10gPT09ICcgKyBfX2V4cGVjdGVkW2luZGV4XSArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWRbaW5kZXhdKTsKCX0KfQoKCg==","commentary":"The form (?! Disjunction ) specifies a zero-width negative lookahead.\nIn order for it to succeed, the pattern inside Disjunction must fail to match at the current position.\nThe current position is not advanced before matching the sequel","description":"Execute /(\\.(?!com|org)|\\/)/.exec(\"ah.info\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.8/S15.10.2.8_A2_T6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgZm9ybSAoPyEgRGlzanVuY3Rpb24gKSBzcGVjaWZpZXMgYSB6ZXJvLXdpZHRoIG5lZ2F0aXZlIGxvb2thaGVhZC4KICogSW4gb3JkZXIgZm9yIGl0IHRvIHN1Y2NlZWQsIHRoZSBwYXR0ZXJuIGluc2lkZSBEaXNqdW5jdGlvbiBtdXN0IGZhaWwgdG8gbWF0Y2ggYXQgdGhlIGN1cnJlbnQgcG9zaXRpb24uCiAqIFRoZSBjdXJyZW50IHBvc2l0aW9uIGlzIG5vdCBhZHZhbmNlZCBiZWZvcmUgbWF0Y2hpbmcgdGhlIHNlcXVlbAogKgogKiBAcGF0aCBjaDE1LzE1LjEwLzE1LjEwLjIvMTUuMTAuMi44L1MxNS4xMC4yLjhfQTJfVDcuanMKICogQGRlc2NyaXB0aW9uIEV4ZWN1dGUgLyhcLig/IWNvbXxvcmcpfFwvKS8uZXhlYygiYWgvaW5mbyIpIGFuZCBjaGVjayByZXN1bHRzCiAqLwoKX19leGVjdXRlZCA9IC8oXC4oPyFjb218b3JnKXxcLykvLmV4ZWMoImFoL2luZm8iKTsKCl9fZXhwZWN0ZWQgPSBbJy8nLCAnLyddOwpfX2V4cGVjdGVkLmluZGV4ID0gMjsKX19leHBlY3RlZC5pbnB1dCA9ICJhaC9pbmZvIjsKCi8vQ0hFQ0sjMQppZiAoX19leGVjdXRlZC5sZW5ndGggIT09IF9fZXhwZWN0ZWQubGVuZ3RoKSB7CgkkRVJST1IoJyMxOiBfX2V4ZWN1dGVkID0gLyhcXC4oPyFjb218b3JnKXxcXC8pLy5leGVjKCJhaC9pbmZvIik7IF9fZXhlY3V0ZWQubGVuZ3RoID09PSAnICsgX19leHBlY3RlZC5sZW5ndGggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmxlbmd0aCk7Cn0KCi8vQ0hFQ0sjMgppZiAoX19leGVjdXRlZC5pbmRleCAhPT0gX19leHBlY3RlZC5pbmRleCkgewoJJEVSUk9SKCcjMjogX19leGVjdXRlZCA9IC8oXFwuKD8hY29tfG9yZyl8XFwvKS8uZXhlYygiYWgvaW5mbyIpOyBfX2V4ZWN1dGVkLmluZGV4ID09PSAnICsgX19leHBlY3RlZC5pbmRleCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5kZXgpOwp9CgovL0NIRUNLIzMKaWYgKF9fZXhlY3V0ZWQuaW5wdXQgIT09IF9fZXhwZWN0ZWQuaW5wdXQpIHsKCSRFUlJPUignIzM6IF9fZXhlY3V0ZWQgPSAvKFxcLig/IWNvbXxvcmcpfFxcLykvLmV4ZWMoImFoL2luZm8iKTsgX19leGVjdXRlZC5pbnB1dCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5wdXQgKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmlucHV0KTsKfQoKLy9DSEVDSyM0CmZvcih2YXIgaW5kZXg9MDsgaW5kZXg8X19leHBlY3RlZC5sZW5ndGg7IGluZGV4KyspIHsKCWlmIChfX2V4ZWN1dGVkW2luZGV4XSAhPT0gX19leHBlY3RlZFtpbmRleF0pIHsKCQkkRVJST1IoJyM0OiBfX2V4ZWN1dGVkID0gLyhcXC4oPyFjb218b3JnKXxcXC8pLy5leGVjKCJhaC9pbmZvIik7IF9fZXhlY3V0ZWRbJyArIGluZGV4ICsgJ10gPT09ICcgKyBfX2V4cGVjdGVkW2luZGV4XSArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWRbaW5kZXhdKTsKCX0KfQoKCg==","commentary":"The form (?! Disjunction ) specifies a zero-width negative lookahead.\nIn order for it to succeed, the pattern inside Disjunction must fail to match at the current position.\nThe current position is not advanced before matching the sequel","description":"Execute /(\\.(?!com|org)|\\/)/.exec(\"ah/info\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.8/S15.10.2.8_A2_T7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgZm9ybSAoPyEgRGlzanVuY3Rpb24gKSBzcGVjaWZpZXMgYSB6ZXJvLXdpZHRoIG5lZ2F0aXZlIGxvb2thaGVhZC4KICogSW4gb3JkZXIgZm9yIGl0IHRvIHN1Y2NlZWQsIHRoZSBwYXR0ZXJuIGluc2lkZSBEaXNqdW5jdGlvbiBtdXN0IGZhaWwgdG8gbWF0Y2ggYXQgdGhlIGN1cnJlbnQgcG9zaXRpb24uCiAqIFRoZSBjdXJyZW50IHBvc2l0aW9uIGlzIG5vdCBhZHZhbmNlZCBiZWZvcmUgbWF0Y2hpbmcgdGhlIHNlcXVlbAogKgogKiBAcGF0aCBjaDE1LzE1LjEwLzE1LjEwLjIvMTUuMTAuMi44L1MxNS4xMC4yLjhfQTJfVDguanMKICogQGRlc2NyaXB0aW9uIEV4ZWN1dGUgLyhcLig/IWNvbXxvcmcpfFwvKS8udGVzdCgiYWguY29tIikgYW5kIGNoZWNrIHJlc3VsdHMKICovCgpfX2V4ZWN1dGVkID0gLyhcLig/IWNvbXxvcmcpfFwvKS8udGVzdCgiYWguY29tIik7CgovL0NIRUNLIzEKaWYgKF9fZXhlY3V0ZWQpIHsKCSRFUlJPUignIzE6IC8oXFwuKD8hY29tfG9yZyl8XFwvKS8udGVzdCgiYWguY29tIikgPT09IGZhbHNlJyk7Cn0KCgo=","commentary":"The form (?! Disjunction ) specifies a zero-width negative lookahead.\nIn order for it to succeed, the pattern inside Disjunction must fail to match at the current position.\nThe current position is not advanced before matching the sequel","description":"Execute /(\\.(?!com|org)|\\/)/.test(\"ah.com\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.8/S15.10.2.8_A2_T8.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgZm9ybSAoPyEgRGlzanVuY3Rpb24gKSBzcGVjaWZpZXMgYSB6ZXJvLXdpZHRoIG5lZ2F0aXZlIGxvb2thaGVhZC4KICogSW4gb3JkZXIgZm9yIGl0IHRvIHN1Y2NlZWQsIHRoZSBwYXR0ZXJuIGluc2lkZSBEaXNqdW5jdGlvbiBtdXN0IGZhaWwgdG8gbWF0Y2ggYXQgdGhlIGN1cnJlbnQgcG9zaXRpb24uCiAqIFRoZSBjdXJyZW50IHBvc2l0aW9uIGlzIG5vdCBhZHZhbmNlZCBiZWZvcmUgbWF0Y2hpbmcgdGhlIHNlcXVlbAogKgogKiBAcGF0aCBjaDE1LzE1LjEwLzE1LjEwLjIvMTUuMTAuMi44L1MxNS4xMC4yLjhfQTJfVDkuanMKICogQGRlc2NyaXB0aW9uIEV4ZWN1dGUgLyg/IWF8Yil8Yy8uZXhlYygiIikgYW5kIGNoZWNrIHJlc3VsdHMKICovCgpfX2V4ZWN1dGVkID0gLyg/IWF8Yil8Yy8uZXhlYygiIik7CgpfX2V4cGVjdGVkID0gWyIiXTsKX19leHBlY3RlZC5pbmRleCA9IDA7Cl9fZXhwZWN0ZWQuaW5wdXQgPSAiIjsKCi8vQ0hFQ0sjMQppZiAoX19leGVjdXRlZC5sZW5ndGggIT09IF9fZXhwZWN0ZWQubGVuZ3RoKSB7CgkkRVJST1IoJyMxOiBfX2V4ZWN1dGVkID0gLyg/IWF8Yil8Yy8uZXhlYygiIik7IF9fZXhlY3V0ZWQubGVuZ3RoID09PSAnICsgX19leHBlY3RlZC5sZW5ndGggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmxlbmd0aCk7Cn0KCi8vQ0hFQ0sjMgppZiAoX19leGVjdXRlZC5pbmRleCAhPT0gX19leHBlY3RlZC5pbmRleCkgewoJJEVSUk9SKCcjMjogX19leGVjdXRlZCA9IC8oPyFhfGIpfGMvLmV4ZWMoIiIpOyBfX2V4ZWN1dGVkLmluZGV4ID09PSAnICsgX19leHBlY3RlZC5pbmRleCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5kZXgpOwp9CgovL0NIRUNLIzMKaWYgKF9fZXhlY3V0ZWQuaW5wdXQgIT09IF9fZXhwZWN0ZWQuaW5wdXQpIHsKCSRFUlJPUignIzM6IF9fZXhlY3V0ZWQgPSAvKD8hYXxiKXxjLy5leGVjKCIiKTsgX19leGVjdXRlZC5pbnB1dCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5wdXQgKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmlucHV0KTsKfQoKLy9DSEVDSyM0CmZvcih2YXIgaW5kZXg9MDsgaW5kZXg8X19leHBlY3RlZC5sZW5ndGg7IGluZGV4KyspIHsKCWlmIChfX2V4ZWN1dGVkW2luZGV4XSAhPT0gX19leHBlY3RlZFtpbmRleF0pIHsKCQkkRVJST1IoJyM0OiBfX2V4ZWN1dGVkID0gLyg/IWF8Yil8Yy8uZXhlYygiIik7IF9fZXhlY3V0ZWRbJyArIGluZGV4ICsgJ10gPT09ICcgKyBfX2V4cGVjdGVkW2luZGV4XSArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWRbaW5kZXhdKTsKCX0KfQoKCg==","commentary":"The form (?! Disjunction ) specifies a zero-width negative lookahead.\nIn order for it to succeed, the pattern inside Disjunction must fail to match at the current position.\nThe current position is not advanced before matching the sequel","description":"Execute /(?!a|b)|c/.exec(\"\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.8/S15.10.2.8_A2_T9.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBQYXJlbnRoZXNlcyBvZiB0aGUgZm9ybSAoIERpc2p1bmN0aW9uICkgc2VydmUgYm90aCB0byBncm91cCB0aGUgY29tcG9uZW50cyBvZiB0aGUgRGlzanVuY3Rpb24gcGF0dGVybiB0b2dldGhlciBhbmQgdG8gc2F2ZSB0aGUgcmVzdWx0IG9mIHRoZSBtYXRjaC4KICogVGhlIHJlc3VsdCBjYW4gYmUgdXNlZCBlaXRoZXIgaW4gYSBiYWNrcmVmZXJlbmNlIChcIGZvbGxvd2VkIGJ5IGEgbm9uemVybyBkZWNpbWFsIG51bWJlciksCiAqIHJlZmVyZW5jZWQgaW4gYSByZXBsYWNlIHN0cmluZywKICogb3IgcmV0dXJuZWQgYXMgcGFydCBvZiBhbiBhcnJheSBmcm9tIHRoZSByZWd1bGFyIGV4cHJlc3Npb24gbWF0Y2hpbmcgZnVuY3Rpb24KICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC4yLzE1LjEwLjIuOC9TMTUuMTAuMi44X0EzX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBFeGVjdXRlIC8oW0pqXWF2YShbU3NdY3JpcHQpPylcc2lzXHMoZnVuXHcqKS8uZXhlYygiTGVhcm5pbmcgamF2YVNjcmlwdCBpcyBmdW5ueSwgcmVhbGx5IikgYW5kIGNoZWNrIHJlc3VsdHMKICovCgpfX2V4ZWN1dGVkID0gLyhbSmpdYXZhKFtTc11jcmlwdCk/KVxzaXNccyhmdW5cdyopLy5leGVjKCJMZWFybmluZyBqYXZhU2NyaXB0IGlzIGZ1bm55LCByZWFsbHkiKTsKCl9fZXhwZWN0ZWQgPSBbImphdmFTY3JpcHQgaXMgZnVubnkiLCJqYXZhU2NyaXB0IiwiU2NyaXB0IiwiZnVubnkiXTsKX19leHBlY3RlZC5pbmRleCA9IDk7Cl9fZXhwZWN0ZWQuaW5wdXQgPSAiTGVhcm5pbmcgamF2YVNjcmlwdCBpcyBmdW5ueSwgcmVhbGx5IjsKCi8vQ0hFQ0sjMQppZiAoX19leGVjdXRlZC5sZW5ndGggIT09IF9fZXhwZWN0ZWQubGVuZ3RoKSB7CgkkRVJST1IoJyMxOiBfX2V4ZWN1dGVkID0gLyhbSmpdYXZhKFtTc11jcmlwdCk/KVxcc2lzXFxzKGZ1blxcdyopLy5leGVjKCJMZWFybmluZyBqYXZhU2NyaXB0IGlzIGZ1bm55LCByZWFsbHkiKTsgX19leGVjdXRlZC5sZW5ndGggPT09ICcgKyBfX2V4cGVjdGVkLmxlbmd0aCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQubGVuZ3RoKTsKfQoKLy9DSEVDSyMyCmlmIChfX2V4ZWN1dGVkLmluZGV4ICE9PSBfX2V4cGVjdGVkLmluZGV4KSB7CgkkRVJST1IoJyMyOiBfX2V4ZWN1dGVkID0gLyhbSmpdYXZhKFtTc11jcmlwdCk/KVxcc2lzXFxzKGZ1blxcdyopLy5leGVjKCJMZWFybmluZyBqYXZhU2NyaXB0IGlzIGZ1bm55LCByZWFsbHkiKTsgX19leGVjdXRlZC5pbmRleCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5kZXggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmluZGV4KTsKfQoKLy9DSEVDSyMzCmlmIChfX2V4ZWN1dGVkLmlucHV0ICE9PSBfX2V4cGVjdGVkLmlucHV0KSB7CgkkRVJST1IoJyMzOiBfX2V4ZWN1dGVkID0gLyhbSmpdYXZhKFtTc11jcmlwdCk/KVxcc2lzXFxzKGZ1blxcdyopLy5leGVjKCJMZWFybmluZyBqYXZhU2NyaXB0IGlzIGZ1bm55LCByZWFsbHkiKTsgX19leGVjdXRlZC5pbnB1dCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5wdXQgKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmlucHV0KTsKfQoKLy9DSEVDSyM0CmZvcih2YXIgaW5kZXg9MDsgaW5kZXg8X19leHBlY3RlZC5sZW5ndGg7IGluZGV4KyspIHsKCWlmIChfX2V4ZWN1dGVkW2luZGV4XSAhPT0gX19leHBlY3RlZFtpbmRleF0pIHsKCQkkRVJST1IoJyM0OiBfX2V4ZWN1dGVkID0gLyhbSmpdYXZhKFtTc11jcmlwdCk/KVxcc2lzXFxzKGZ1blxcdyopLy5leGVjKCJMZWFybmluZyBqYXZhU2NyaXB0IGlzIGZ1bm55LCByZWFsbHkiKTsgX19leGVjdXRlZFsnICsgaW5kZXggKyAnXSA9PT0gJyArIF9fZXhwZWN0ZWRbaW5kZXhdICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZFtpbmRleF0pOwoJfQp9CgoK","commentary":"Parentheses of the form ( Disjunction ) serve both to group the components of the Disjunction pattern together and to save the result of the match.\nThe result can be used either in a backreference (\\ followed by a nonzero decimal number),\nreferenced in a replace string,\nor returned as part of an array from the regular expression matching function","description":"Execute /([Jj]ava([Ss]cript)?)\\sis\\s(fun\\w*)/.exec(\"Learning javaScript is funny, really\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.8/S15.10.2.8_A3_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBQYXJlbnRoZXNlcyBvZiB0aGUgZm9ybSAoIERpc2p1bmN0aW9uICkgc2VydmUgYm90aCB0byBncm91cCB0aGUgY29tcG9uZW50cyBvZiB0aGUgRGlzanVuY3Rpb24gcGF0dGVybiB0b2dldGhlciBhbmQgdG8gc2F2ZSB0aGUgcmVzdWx0IG9mIHRoZSBtYXRjaC4KICogVGhlIHJlc3VsdCBjYW4gYmUgdXNlZCBlaXRoZXIgaW4gYSBiYWNrcmVmZXJlbmNlIChcIGZvbGxvd2VkIGJ5IGEgbm9uemVybyBkZWNpbWFsIG51bWJlciksCiAqIHJlZmVyZW5jZWQgaW4gYSByZXBsYWNlIHN0cmluZywKICogb3IgcmV0dXJuZWQgYXMgcGFydCBvZiBhbiBhcnJheSBmcm9tIHRoZSByZWd1bGFyIGV4cHJlc3Npb24gbWF0Y2hpbmcgZnVuY3Rpb24KICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC4yLzE1LjEwLjIuOC9TMTUuMTAuMi44X0EzX1QxMC5qcwogKiBAZGVzY3JpcHRpb24gRXhlY3V0ZSAvKFxkezN9KShcZHszfSlcMVwyLy5leGVjKCIxMjM0NTYxMjM0NTYiKSBhbmQgY2hlY2sgcmVzdWx0cwogKi8KCl9fZXhlY3V0ZWQgPSAvKFxkezN9KShcZHszfSlcMVwyLy5leGVjKCIxMjM0NTYxMjM0NTYiKTsKCl9fZXhwZWN0ZWQgPSBbIjEyMzQ1NjEyMzQ1NiIsIjEyMyIsIjQ1NiJdOwpfX2V4cGVjdGVkLmluZGV4ID0gMDsKX19leHBlY3RlZC5pbnB1dCA9ICIxMjM0NTYxMjM0NTYiOwoKLy9DSEVDSyMxCmlmIChfX2V4ZWN1dGVkLmxlbmd0aCAhPT0gX19leHBlY3RlZC5sZW5ndGgpIHsKCSRFUlJPUignIzE6IF9fZXhlY3V0ZWQgPSAvKFxcZHszfSkoXFxkezN9KVxcMVxcMi8uZXhlYygiMTIzNDU2MTIzNDU2Iik7IF9fZXhlY3V0ZWQubGVuZ3RoID09PSAnICsgX19leHBlY3RlZC5sZW5ndGggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmxlbmd0aCk7Cn0KCi8vQ0hFQ0sjMgppZiAoX19leGVjdXRlZC5pbmRleCAhPT0gX19leHBlY3RlZC5pbmRleCkgewoJJEVSUk9SKCcjMjogX19leGVjdXRlZCA9IC8oXFxkezN9KShcXGR7M30pXFwxXFwyLy5leGVjKCIxMjM0NTYxMjM0NTYiKTsgX19leGVjdXRlZC5pbmRleCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5kZXggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmluZGV4KTsKfQoKLy9DSEVDSyMzCmlmIChfX2V4ZWN1dGVkLmlucHV0ICE9PSBfX2V4cGVjdGVkLmlucHV0KSB7CgkkRVJST1IoJyMzOiBfX2V4ZWN1dGVkID0gLyhcXGR7M30pKFxcZHszfSlcXDFcXDIvLmV4ZWMoIjEyMzQ1NjEyMzQ1NiIpOyBfX2V4ZWN1dGVkLmlucHV0ID09PSAnICsgX19leHBlY3RlZC5pbnB1dCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5wdXQpOwp9CgovL0NIRUNLIzQKZm9yKHZhciBpbmRleD0wOyBpbmRleDxfX2V4cGVjdGVkLmxlbmd0aDsgaW5kZXgrKykgewoJaWYgKF9fZXhlY3V0ZWRbaW5kZXhdICE9PSBfX2V4cGVjdGVkW2luZGV4XSkgewoJCSRFUlJPUignIzQ6IF9fZXhlY3V0ZWQgPSAvKFxcZHszfSkoXFxkezN9KVxcMVxcMi8uZXhlYygiMTIzNDU2MTIzNDU2Iik7IF9fZXhlY3V0ZWRbJyArIGluZGV4ICsgJ10gPT09ICcgKyBfX2V4cGVjdGVkW2luZGV4XSArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWRbaW5kZXhdKTsKCX0KfQoKCg==","commentary":"Parentheses of the form ( Disjunction ) serve both to group the components of the Disjunction pattern together and to save the result of the match.\nThe result can be used either in a backreference (\\ followed by a nonzero decimal number),\nreferenced in a replace string,\nor returned as part of an array from the regular expression matching function","description":"Execute /(\\d{3})(\\d{3})\\1\\2/.exec(\"123456123456\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.8/S15.10.2.8_A3_T10.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBQYXJlbnRoZXNlcyBvZiB0aGUgZm9ybSAoIERpc2p1bmN0aW9uICkgc2VydmUgYm90aCB0byBncm91cCB0aGUgY29tcG9uZW50cyBvZiB0aGUgRGlzanVuY3Rpb24gcGF0dGVybiB0b2dldGhlciBhbmQgdG8gc2F2ZSB0aGUgcmVzdWx0IG9mIHRoZSBtYXRjaC4KICogVGhlIHJlc3VsdCBjYW4gYmUgdXNlZCBlaXRoZXIgaW4gYSBiYWNrcmVmZXJlbmNlIChcIGZvbGxvd2VkIGJ5IGEgbm9uemVybyBkZWNpbWFsIG51bWJlciksCiAqIHJlZmVyZW5jZWQgaW4gYSByZXBsYWNlIHN0cmluZywKICogb3IgcmV0dXJuZWQgYXMgcGFydCBvZiBhbiBhcnJheSBmcm9tIHRoZSByZWd1bGFyIGV4cHJlc3Npb24gbWF0Y2hpbmcgZnVuY3Rpb24KICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC4yLzE1LjEwLjIuOC9TMTUuMTAuMi44X0EzX1QxMS5qcwogKiBAZGVzY3JpcHRpb24gRXhlY3V0ZSAvYSguLiguLikuLikvLmV4ZWMoImFiY2RlZmdoIikgYW5kIGNoZWNrIHJlc3VsdHMKICovCgpfX2V4ZWN1dGVkID0gL2EoLi4oLi4pLi4pLy5leGVjKCJhYmNkZWZnaCIpOwoKX19leHBlY3RlZCA9IFsiYWJjZGVmZyIsImJjZGVmZyIsImRlIl07Cl9fZXhwZWN0ZWQuaW5kZXggPSAwOwpfX2V4cGVjdGVkLmlucHV0ID0gImFiY2RlZmdoIjsKCi8vQ0hFQ0sjMQppZiAoX19leGVjdXRlZC5sZW5ndGggIT09IF9fZXhwZWN0ZWQubGVuZ3RoKSB7CgkkRVJST1IoJyMxOiBfX2V4ZWN1dGVkID0gL2EoLi4oLi4pLi4pLy5leGVjKCJhYmNkZWZnaCIpOyBfX2V4ZWN1dGVkLmxlbmd0aCA9PT0gJyArIF9fZXhwZWN0ZWQubGVuZ3RoICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5sZW5ndGgpOwp9CgovL0NIRUNLIzIKaWYgKF9fZXhlY3V0ZWQuaW5kZXggIT09IF9fZXhwZWN0ZWQuaW5kZXgpIHsKCSRFUlJPUignIzI6IF9fZXhlY3V0ZWQgPSAvYSguLiguLikuLikvLmV4ZWMoImFiY2RlZmdoIik7IF9fZXhlY3V0ZWQuaW5kZXggPT09ICcgKyBfX2V4cGVjdGVkLmluZGV4ICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5pbmRleCk7Cn0KCi8vQ0hFQ0sjMwppZiAoX19leGVjdXRlZC5pbnB1dCAhPT0gX19leHBlY3RlZC5pbnB1dCkgewoJJEVSUk9SKCcjMzogX19leGVjdXRlZCA9IC9hKC4uKC4uKS4uKS8uZXhlYygiYWJjZGVmZ2giKTsgX19leGVjdXRlZC5pbnB1dCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5wdXQgKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmlucHV0KTsKfQoKLy9DSEVDSyM0CmZvcih2YXIgaW5kZXg9MDsgaW5kZXg8X19leHBlY3RlZC5sZW5ndGg7IGluZGV4KyspIHsKCWlmIChfX2V4ZWN1dGVkW2luZGV4XSAhPT0gX19leHBlY3RlZFtpbmRleF0pIHsKCQkkRVJST1IoJyM0OiBfX2V4ZWN1dGVkID0gL2EoLi4oLi4pLi4pLy5leGVjKCJhYmNkZWZnaCIpOyBfX2V4ZWN1dGVkWycgKyBpbmRleCArICddID09PSAnICsgX19leHBlY3RlZFtpbmRleF0gKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkW2luZGV4XSk7Cgl9Cn0KCgo=","commentary":"Parentheses of the form ( Disjunction ) serve both to group the components of the Disjunction pattern together and to save the result of the match.\nThe result can be used either in a backreference (\\ followed by a nonzero decimal number),\nreferenced in a replace string,\nor returned as part of an array from the regular expression matching function","description":"Execute /a(..(..)..)/.exec(\"abcdefgh\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.8/S15.10.2.8_A3_T11.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBQYXJlbnRoZXNlcyBvZiB0aGUgZm9ybSAoIERpc2p1bmN0aW9uICkgc2VydmUgYm90aCB0byBncm91cCB0aGUgY29tcG9uZW50cyBvZiB0aGUgRGlzanVuY3Rpb24gcGF0dGVybiB0b2dldGhlciBhbmQgdG8gc2F2ZSB0aGUgcmVzdWx0IG9mIHRoZSBtYXRjaC4KICogVGhlIHJlc3VsdCBjYW4gYmUgdXNlZCBlaXRoZXIgaW4gYSBiYWNrcmVmZXJlbmNlIChcIGZvbGxvd2VkIGJ5IGEgbm9uemVybyBkZWNpbWFsIG51bWJlciksCiAqIHJlZmVyZW5jZWQgaW4gYSByZXBsYWNlIHN0cmluZywKICogb3IgcmV0dXJuZWQgYXMgcGFydCBvZiBhbiBhcnJheSBmcm9tIHRoZSByZWd1bGFyIGV4cHJlc3Npb24gbWF0Y2hpbmcgZnVuY3Rpb24KICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC4yLzE1LjEwLjIuOC9TMTUuMTAuMi44X0EzX1QxMi5qcwogKiBAZGVzY3JpcHRpb24gRXhlY3V0ZSAvKGEoYihjKSkpKGQoZShmKSkpLy5leGVjKCJ4YWJjZGVmZyIpIGFuZCBjaGVjayByZXN1bHRzCiAqLwoKX19leGVjdXRlZCA9IC8oYShiKGMpKSkoZChlKGYpKSkvLmV4ZWMoInhhYmNkZWZnIik7CgpfX2V4cGVjdGVkID0gWyJhYmNkZWYiLCJhYmMiLCJiYyIsImMiLCJkZWYiLCJlZiIsImYiXTsKX19leHBlY3RlZC5pbmRleCA9IDE7Cl9fZXhwZWN0ZWQuaW5wdXQgPSAieGFiY2RlZmciOwoKLy9DSEVDSyMxCmlmIChfX2V4ZWN1dGVkLmxlbmd0aCAhPT0gX19leHBlY3RlZC5sZW5ndGgpIHsKCSRFUlJPUignIzE6IF9fZXhlY3V0ZWQgPSAvKGEoYihjKSkpKGQoZShmKSkpLy5leGVjKCJ4YWJjZGVmZyIpOyBfX2V4ZWN1dGVkLmxlbmd0aCA9PT0gJyArIF9fZXhwZWN0ZWQubGVuZ3RoICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5sZW5ndGgpOwp9CgovL0NIRUNLIzIKaWYgKF9fZXhlY3V0ZWQuaW5kZXggIT09IF9fZXhwZWN0ZWQuaW5kZXgpIHsKCSRFUlJPUignIzI6IF9fZXhlY3V0ZWQgPSAvKGEoYihjKSkpKGQoZShmKSkpLy5leGVjKCJ4YWJjZGVmZyIpOyBfX2V4ZWN1dGVkLmluZGV4ID09PSAnICsgX19leHBlY3RlZC5pbmRleCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5kZXgpOwp9CgovL0NIRUNLIzMKaWYgKF9fZXhlY3V0ZWQuaW5wdXQgIT09IF9fZXhwZWN0ZWQuaW5wdXQpIHsKCSRFUlJPUignIzM6IF9fZXhlY3V0ZWQgPSAvKGEoYihjKSkpKGQoZShmKSkpLy5leGVjKCJ4YWJjZGVmZyIpOyBfX2V4ZWN1dGVkLmlucHV0ID09PSAnICsgX19leHBlY3RlZC5pbnB1dCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5wdXQpOwp9CgovL0NIRUNLIzQKZm9yKHZhciBpbmRleD0wOyBpbmRleDxfX2V4cGVjdGVkLmxlbmd0aDsgaW5kZXgrKykgewoJaWYgKF9fZXhlY3V0ZWRbaW5kZXhdICE9PSBfX2V4cGVjdGVkW2luZGV4XSkgewoJCSRFUlJPUignIzQ6IF9fZXhlY3V0ZWQgPSAvKGEoYihjKSkpKGQoZShmKSkpLy5leGVjKCJ4YWJjZGVmZyIpOyBfX2V4ZWN1dGVkWycgKyBpbmRleCArICddID09PSAnICsgX19leHBlY3RlZFtpbmRleF0gKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkW2luZGV4XSk7Cgl9Cn0KCgo=","commentary":"Parentheses of the form ( Disjunction ) serve both to group the components of the Disjunction pattern together and to save the result of the match.\nThe result can be used either in a backreference (\\ followed by a nonzero decimal number),\nreferenced in a replace string,\nor returned as part of an array from the regular expression matching function","description":"Execute /(a(b(c)))(d(e(f)))/.exec(\"xabcdefg\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.8/S15.10.2.8_A3_T12.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBQYXJlbnRoZXNlcyBvZiB0aGUgZm9ybSAoIERpc2p1bmN0aW9uICkgc2VydmUgYm90aCB0byBncm91cCB0aGUgY29tcG9uZW50cyBvZiB0aGUgRGlzanVuY3Rpb24gcGF0dGVybiB0b2dldGhlciBhbmQgdG8gc2F2ZSB0aGUgcmVzdWx0IG9mIHRoZSBtYXRjaC4KICogVGhlIHJlc3VsdCBjYW4gYmUgdXNlZCBlaXRoZXIgaW4gYSBiYWNrcmVmZXJlbmNlIChcIGZvbGxvd2VkIGJ5IGEgbm9uemVybyBkZWNpbWFsIG51bWJlciksCiAqIHJlZmVyZW5jZWQgaW4gYSByZXBsYWNlIHN0cmluZywKICogb3IgcmV0dXJuZWQgYXMgcGFydCBvZiBhbiBhcnJheSBmcm9tIHRoZSByZWd1bGFyIGV4cHJlc3Npb24gbWF0Y2hpbmcgZnVuY3Rpb24KICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC4yLzE1LjEwLjIuOC9TMTUuMTAuMi44X0EzX1QxMy5qcwogKiBAZGVzY3JpcHRpb24gRXhlY3V0ZSAvKGEoYihjKSkpKGQoZShmKSkpXDJcNS8uZXhlYygieGFiY2RlZmJjZWZnIikgYW5kIGNoZWNrIHJlc3VsdHMKICovCgpfX2V4ZWN1dGVkID0gLyhhKGIoYykpKShkKGUoZikpKVwyXDUvLmV4ZWMoInhhYmNkZWZiY2VmZyIpOwoKX19leHBlY3RlZCA9IFsiYWJjZGVmYmNlZiIsImFiYyIsImJjIiwiYyIsImRlZiIsImVmIiwiZiJdOwpfX2V4cGVjdGVkLmluZGV4ID0gMTsKX19leHBlY3RlZC5pbnB1dCA9ICJ4YWJjZGVmYmNlZmciOwoKLy9DSEVDSyMxCmlmIChfX2V4ZWN1dGVkLmxlbmd0aCAhPT0gX19leHBlY3RlZC5sZW5ndGgpIHsKCSRFUlJPUignIzE6IF9fZXhlY3V0ZWQgPSAvKGEoYihjKSkpKGQoZShmKSkpXFwyXFw1Ly5leGVjKCJ4YWJjZGVmYmNlZmciKTsgX19leGVjdXRlZC5sZW5ndGggPT09ICcgKyBfX2V4cGVjdGVkLmxlbmd0aCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQubGVuZ3RoKTsKfQoKLy9DSEVDSyMyCmlmIChfX2V4ZWN1dGVkLmluZGV4ICE9PSBfX2V4cGVjdGVkLmluZGV4KSB7CgkkRVJST1IoJyMyOiBfX2V4ZWN1dGVkID0gLyhhKGIoYykpKShkKGUoZikpKVxcMlxcNS8uZXhlYygieGFiY2RlZmJjZWZnIik7IF9fZXhlY3V0ZWQuaW5kZXggPT09ICcgKyBfX2V4cGVjdGVkLmluZGV4ICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5pbmRleCk7Cn0KCi8vQ0hFQ0sjMwppZiAoX19leGVjdXRlZC5pbnB1dCAhPT0gX19leHBlY3RlZC5pbnB1dCkgewoJJEVSUk9SKCcjMzogX19leGVjdXRlZCA9IC8oYShiKGMpKSkoZChlKGYpKSlcXDJcXDUvLmV4ZWMoInhhYmNkZWZiY2VmZyIpOyBfX2V4ZWN1dGVkLmlucHV0ID09PSAnICsgX19leHBlY3RlZC5pbnB1dCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5wdXQpOwp9CgovL0NIRUNLIzQKZm9yKHZhciBpbmRleD0wOyBpbmRleDxfX2V4cGVjdGVkLmxlbmd0aDsgaW5kZXgrKykgewoJaWYgKF9fZXhlY3V0ZWRbaW5kZXhdICE9PSBfX2V4cGVjdGVkW2luZGV4XSkgewoJCSRFUlJPUignIzQ6IF9fZXhlY3V0ZWQgPSAvKGEoYihjKSkpKGQoZShmKSkpXFwyXFw1Ly5leGVjKCJ4YWJjZGVmYmNlZmciKTsgX19leGVjdXRlZFsnICsgaW5kZXggKyAnXSA9PT0gJyArIF9fZXhwZWN0ZWRbaW5kZXhdICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZFtpbmRleF0pOwoJfQp9CgoK","commentary":"Parentheses of the form ( Disjunction ) serve both to group the components of the Disjunction pattern together and to save the result of the match.\nThe result can be used either in a backreference (\\ followed by a nonzero decimal number),\nreferenced in a replace string,\nor returned as part of an array from the regular expression matching function","description":"Execute /(a(b(c)))(d(e(f)))\\2\\5/.exec(\"xabcdefbcefg\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.8/S15.10.2.8_A3_T13.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBQYXJlbnRoZXNlcyBvZiB0aGUgZm9ybSAoIERpc2p1bmN0aW9uICkgc2VydmUgYm90aCB0byBncm91cCB0aGUgY29tcG9uZW50cyBvZiB0aGUgRGlzanVuY3Rpb24gcGF0dGVybiB0b2dldGhlciBhbmQgdG8gc2F2ZSB0aGUgcmVzdWx0IG9mIHRoZSBtYXRjaC4KICogVGhlIHJlc3VsdCBjYW4gYmUgdXNlZCBlaXRoZXIgaW4gYSBiYWNrcmVmZXJlbmNlIChcIGZvbGxvd2VkIGJ5IGEgbm9uemVybyBkZWNpbWFsIG51bWJlciksCiAqIHJlZmVyZW5jZWQgaW4gYSByZXBsYWNlIHN0cmluZywKICogb3IgcmV0dXJuZWQgYXMgcGFydCBvZiBhbiBhcnJheSBmcm9tIHRoZSByZWd1bGFyIGV4cHJlc3Npb24gbWF0Y2hpbmcgZnVuY3Rpb24KICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC4yLzE1LjEwLjIuOC9TMTUuMTAuMi44X0EzX1QxNC5qcwogKiBAZGVzY3JpcHRpb24gRXhlY3V0ZSAvYSguPyliXDFjXDFkXDEvLmV4ZWMoImFiY2QiKSBhbmQgY2hlY2sgcmVzdWx0cwogKi8KCl9fZXhlY3V0ZWQgPSAvYSguPyliXDFjXDFkXDEvLmV4ZWMoImFiY2QiKTsKCl9fZXhwZWN0ZWQgPSBbImFiY2QiLCIiXTsKX19leHBlY3RlZC5pbmRleCA9IDA7Cl9fZXhwZWN0ZWQuaW5wdXQgPSAiYWJjZCI7CgovL0NIRUNLIzEKaWYgKF9fZXhlY3V0ZWQubGVuZ3RoICE9PSBfX2V4cGVjdGVkLmxlbmd0aCkgewoJJEVSUk9SKCcjMTogX19leGVjdXRlZCA9IC9hKC4/KWJcXDFjXFwxZFxcMS8uZXhlYygiYWJjZCIpOyBfX2V4ZWN1dGVkLmxlbmd0aCA9PT0gJyArIF9fZXhwZWN0ZWQubGVuZ3RoICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5sZW5ndGgpOwp9CgovL0NIRUNLIzIKaWYgKF9fZXhlY3V0ZWQuaW5kZXggIT09IF9fZXhwZWN0ZWQuaW5kZXgpIHsKCSRFUlJPUignIzI6IF9fZXhlY3V0ZWQgPSAvYSguPyliXFwxY1xcMWRcXDEvLmV4ZWMoImFiY2QiKTsgX19leGVjdXRlZC5pbmRleCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5kZXggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmluZGV4KTsKfQoKLy9DSEVDSyMzCmlmIChfX2V4ZWN1dGVkLmlucHV0ICE9PSBfX2V4cGVjdGVkLmlucHV0KSB7CgkkRVJST1IoJyMzOiBfX2V4ZWN1dGVkID0gL2EoLj8pYlxcMWNcXDFkXFwxLy5leGVjKCJhYmNkIik7IF9fZXhlY3V0ZWQuaW5wdXQgPT09ICcgKyBfX2V4cGVjdGVkLmlucHV0ICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5pbnB1dCk7Cn0KCi8vQ0hFQ0sjNApmb3IodmFyIGluZGV4PTA7IGluZGV4PF9fZXhwZWN0ZWQubGVuZ3RoOyBpbmRleCsrKSB7CglpZiAoX19leGVjdXRlZFtpbmRleF0gIT09IF9fZXhwZWN0ZWRbaW5kZXhdKSB7CgkJJEVSUk9SKCcjNDogX19leGVjdXRlZCA9IC9hKC4/KWJcXDFjXFwxZFxcMS8uZXhlYygiYWJjZCIpOyBfX2V4ZWN1dGVkWycgKyBpbmRleCArICddID09PSAnICsgX19leHBlY3RlZFtpbmRleF0gKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkW2luZGV4XSk7Cgl9Cn0KCgo=","commentary":"Parentheses of the form ( Disjunction ) serve both to group the components of the Disjunction pattern together and to save the result of the match.\nThe result can be used either in a backreference (\\ followed by a nonzero decimal number),\nreferenced in a replace string,\nor returned as part of an array from the regular expression matching function","description":"Execute /a(.?)b\\1c\\1d\\1/.exec(\"abcd\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.8/S15.10.2.8_A3_T14.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBQYXJlbnRoZXNlcyBvZiB0aGUgZm9ybSAoIERpc2p1bmN0aW9uICkgc2VydmUgYm90aCB0byBncm91cCB0aGUgY29tcG9uZW50cyBvZiB0aGUgRGlzanVuY3Rpb24gcGF0dGVybiB0b2dldGhlciBhbmQgdG8gc2F2ZSB0aGUgcmVzdWx0IG9mIHRoZSBtYXRjaC4KICogVGhlIHJlc3VsdCBjYW4gYmUgdXNlZCBlaXRoZXIgaW4gYSBiYWNrcmVmZXJlbmNlIChcIGZvbGxvd2VkIGJ5IGEgbm9uemVybyBkZWNpbWFsIG51bWJlciksCiAqIHJlZmVyZW5jZWQgaW4gYSByZXBsYWNlIHN0cmluZywKICogb3IgcmV0dXJuZWQgYXMgcGFydCBvZiBhbiBhcnJheSBmcm9tIHRoZSByZWd1bGFyIGV4cHJlc3Npb24gbWF0Y2hpbmcgZnVuY3Rpb24KICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC4yLzE1LjEwLjIuOC9TMTUuMTAuMi44X0EzX1QxNS5qcwogKiBAZGVzY3JpcHRpb24gc2VlIGJ1ZyBodHRwOmJ1Z3ppbGxhLm1vemlsbGEub3JnL3Nob3dfYnVnLmNnaT9pZD0xMTk5MDkKICovCgpfX3N0ck9yaWdpbmFsID0gImhlbGxvIjsKX19vcGVuUGFyZW4gPSAnKCc7Cl9fY2xvc2VQYXJlbiA9ICcpJzsKX19wYXR0ZXJuID0gJyc7CiBudW1QYXJlbnMgPSAyMDA7CiAgCmZvciAodmFyIGk9MDsgaTxudW1QYXJlbnM7IGkrKykKICAgIF9fcGF0dGVybiArPSBfX29wZW5QYXJlbjsKICAgIApfX3BhdHRlcm4gKz0gX19zdHJPcmlnaW5hbDsKCmZvciAoaT0wOyBpPG51bVBhcmVuczsgaSsrKSAKICAgIF9fcGF0dGVybiArPSBfX2Nsb3NlUGFyZW47CiAgICAKX19yZSA9IG5ldyBSZWdFeHAoX19wYXR0ZXJuKTsKCl9fZXhlY3V0ZWQgPSBfX3JlLmV4ZWMoX19zdHJPcmlnaW5hbCk7CgpfX2V4cGVjdGVkID0gW107CmZvciAodmFyIGk9MDsgaTw9bnVtUGFyZW5zOyBpKyspCiAgICBfX2V4cGVjdGVkLnB1c2goX19zdHJPcmlnaW5hbCk7Cl9fZXhwZWN0ZWQuaW5kZXggPSAwOwpfX2V4cGVjdGVkLmlucHV0ID0gX19zdHJPcmlnaW5hbDsKCi8vQ0hFQ0sjMQppZiAoX19leGVjdXRlZC5sZW5ndGggIT09IF9fZXhwZWN0ZWQubGVuZ3RoKSB7CgkkRVJST1IoJyMxOiBfX3JlID0gbmV3IFJlZ0V4cChfX3BhdHRlcm4pOyBfX2V4ZWN1dGVkID0gX19yZS5leGVjKF9fc3RyT3JpZ2luYWwpOyBfX2V4ZWN1dGVkLmxlbmd0aCA9PT0gJyArIF9fZXhwZWN0ZWQubGVuZ3RoICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5sZW5ndGgpOwp9CgovL0NIRUNLIzIKaWYgKF9fZXhlY3V0ZWQuaW5kZXggIT09IF9fZXhwZWN0ZWQuaW5kZXgpIHsKCSRFUlJPUignIzI6IF9fcmUgPSBuZXcgUmVnRXhwKF9fcGF0dGVybik7IF9fZXhlY3V0ZWQgPSBfX3JlLmV4ZWMoX19zdHJPcmlnaW5hbCk7IF9fZXhlY3V0ZWQuaW5kZXggPT09ICcgKyBfX2V4cGVjdGVkLmluZGV4ICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5pbmRleCk7Cn0KCi8vQ0hFQ0sjMwppZiAoX19leGVjdXRlZC5pbnB1dCAhPT0gX19leHBlY3RlZC5pbnB1dCkgewoJJEVSUk9SKCcjMzogX19yZSA9IG5ldyBSZWdFeHAoX19wYXR0ZXJuKTsgX19leGVjdXRlZCA9IF9fcmUuZXhlYyhfX3N0ck9yaWdpbmFsKTsgX19leGVjdXRlZC5pbnB1dCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5wdXQgKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmlucHV0KTsKfQoKLy9DSEVDSyM0CmZvcih2YXIgaW5kZXg9MDsgaW5kZXg8X19leHBlY3RlZC5sZW5ndGg7IGluZGV4KyspIHsKCWlmIChfX2V4ZWN1dGVkW2luZGV4XSAhPT0gX19leHBlY3RlZFtpbmRleF0pIHsKCQkkRVJST1IoJyM0OiBfX3JlID0gbmV3IFJlZ0V4cChfX3BhdHRlcm4pOyBfX2V4ZWN1dGVkID0gX19yZS5leGVjKF9fc3RyT3JpZ2luYWwpOyBfX2V4ZWN1dGVkWycgKyBpbmRleCArICddID09PSAnICsgX19leHBlY3RlZFtpbmRleF0gKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkW2luZGV4XSk7Cgl9Cn0KCgo=","commentary":"Parentheses of the form ( Disjunction ) serve both to group the components of the Disjunction pattern together and to save the result of the match.\nThe result can be used either in a backreference (\\ followed by a nonzero decimal number),\nreferenced in a replace string,\nor returned as part of an array from the regular expression matching function","description":"see bug http:bugzilla.mozilla.org/show_bug.cgi?id=119909","path":"TestCases/ch15/15.10/15.10.2/15.10.2.8/S15.10.2.8_A3_T15.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBQYXJlbnRoZXNlcyBvZiB0aGUgZm9ybSAoIERpc2p1bmN0aW9uICkgc2VydmUgYm90aCB0byBncm91cCB0aGUgY29tcG9uZW50cyBvZiB0aGUgRGlzanVuY3Rpb24gcGF0dGVybiB0b2dldGhlciBhbmQgdG8gc2F2ZSB0aGUgcmVzdWx0IG9mIHRoZSBtYXRjaC4KICogVGhlIHJlc3VsdCBjYW4gYmUgdXNlZCBlaXRoZXIgaW4gYSBiYWNrcmVmZXJlbmNlIChcIGZvbGxvd2VkIGJ5IGEgbm9uemVybyBkZWNpbWFsIG51bWJlciksCiAqIHJlZmVyZW5jZWQgaW4gYSByZXBsYWNlIHN0cmluZywKICogb3IgcmV0dXJuZWQgYXMgcGFydCBvZiBhbiBhcnJheSBmcm9tIHRoZSByZWd1bGFyIGV4cHJlc3Npb24gbWF0Y2hpbmcgZnVuY3Rpb24KICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC4yLzE1LjEwLjIuOC9TMTUuMTAuMi44X0EzX1QxNi5qcwogKiBAZGVzY3JpcHRpb24gc2VlIGJ1ZyBodHRwOmJ1Z3ppbGxhLm1vemlsbGEub3JnL3Nob3dfYnVnLmNnaT9pZD0xMTk5MDkKICovCgpfX3N0ck9yaWdpbmFsID0gImhlbGxvIjsKX19vcGVuUGFyZW4gPSAnKD86JzsKX19jbG9zZVBhcmVuID0gJyknOwpfX3BhdHRlcm4gPSAnJzsKIG51bVBhcmVucyA9IDIwMDsKICAKZm9yICh2YXIgaT0wOyBpPG51bVBhcmVuczsgaSsrKQogICAgX19wYXR0ZXJuICs9IF9fb3BlblBhcmVuOwogICAgCl9fcGF0dGVybiArPSBfX3N0ck9yaWdpbmFsOwoKZm9yIChpPTA7IGk8bnVtUGFyZW5zOyBpKyspIAogICAgX19wYXR0ZXJuICs9IF9fY2xvc2VQYXJlbjsKICAgIApfX3JlID0gbmV3IFJlZ0V4cChfX3BhdHRlcm4pOwoKX19leGVjdXRlZCA9IF9fcmUuZXhlYyhfX3N0ck9yaWdpbmFsKTsKCl9fZXhwZWN0ZWQgPSBbX19zdHJPcmlnaW5hbF07Cl9fZXhwZWN0ZWQuaW5kZXggPSAwOwpfX2V4cGVjdGVkLmlucHV0ID0gX19zdHJPcmlnaW5hbDsKCi8vQ0hFQ0sjMQppZiAoX19leGVjdXRlZC5sZW5ndGggIT09IF9fZXhwZWN0ZWQubGVuZ3RoKSB7CgkkRVJST1IoJyMxOiBfX3JlID0gbmV3IFJlZ0V4cChfX3BhdHRlcm4pOyBfX2V4ZWN1dGVkID0gX19yZS5leGVjKF9fc3RyT3JpZ2luYWwpOyBfX2V4ZWN1dGVkLmxlbmd0aCA9PT0gJyArIF9fZXhwZWN0ZWQubGVuZ3RoICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5sZW5ndGgpOwp9CgovL0NIRUNLIzIKaWYgKF9fZXhlY3V0ZWQuaW5kZXggIT09IF9fZXhwZWN0ZWQuaW5kZXgpIHsKCSRFUlJPUignIzI6IF9fcmUgPSBuZXcgUmVnRXhwKF9fcGF0dGVybik7IF9fZXhlY3V0ZWQgPSBfX3JlLmV4ZWMoX19zdHJPcmlnaW5hbCk7IF9fZXhlY3V0ZWQuaW5kZXggPT09ICcgKyBfX2V4cGVjdGVkLmluZGV4ICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5pbmRleCk7Cn0KCi8vQ0hFQ0sjMwppZiAoX19leGVjdXRlZC5pbnB1dCAhPT0gX19leHBlY3RlZC5pbnB1dCkgewoJJEVSUk9SKCcjMzogX19yZSA9IG5ldyBSZWdFeHAoX19wYXR0ZXJuKTsgX19leGVjdXRlZCA9IF9fcmUuZXhlYyhfX3N0ck9yaWdpbmFsKTsgX19leGVjdXRlZC5pbnB1dCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5wdXQgKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmlucHV0KTsKfQoKLy9DSEVDSyM0CmZvcih2YXIgaW5kZXg9MDsgaW5kZXg8X19leHBlY3RlZC5sZW5ndGg7IGluZGV4KyspIHsKCWlmIChfX2V4ZWN1dGVkW2luZGV4XSAhPT0gX19leHBlY3RlZFtpbmRleF0pIHsKCQkkRVJST1IoJyM0OiBfX3JlID0gbmV3IFJlZ0V4cChfX3BhdHRlcm4pOyBfX2V4ZWN1dGVkID0gX19yZS5leGVjKF9fc3RyT3JpZ2luYWwpOyBfX2V4ZWN1dGVkWycgKyBpbmRleCArICddID09PSAnICsgX19leHBlY3RlZFtpbmRleF0gKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkW2luZGV4XSk7Cgl9Cn0KCgo=","commentary":"Parentheses of the form ( Disjunction ) serve both to group the components of the Disjunction pattern together and to save the result of the match.\nThe result can be used either in a backreference (\\ followed by a nonzero decimal number),\nreferenced in a replace string,\nor returned as part of an array from the regular expression matching function","description":"see bug http:bugzilla.mozilla.org/show_bug.cgi?id=119909","path":"TestCases/ch15/15.10/15.10.2/15.10.2.8/S15.10.2.8_A3_T16.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBQYXJlbnRoZXNlcyBvZiB0aGUgZm9ybSAoIERpc2p1bmN0aW9uICkgc2VydmUgYm90aCB0byBncm91cCB0aGUgY29tcG9uZW50cyBvZiB0aGUgRGlzanVuY3Rpb24gcGF0dGVybiB0b2dldGhlciBhbmQgdG8gc2F2ZSB0aGUgcmVzdWx0IG9mIHRoZSBtYXRjaC4KICogVGhlIHJlc3VsdCBjYW4gYmUgdXNlZCBlaXRoZXIgaW4gYSBiYWNrcmVmZXJlbmNlIChcIGZvbGxvd2VkIGJ5IGEgbm9uemVybyBkZWNpbWFsIG51bWJlciksCiAqIHJlZmVyZW5jZWQgaW4gYSByZXBsYWNlIHN0cmluZywKICogb3IgcmV0dXJuZWQgYXMgcGFydCBvZiBhbiBhcnJheSBmcm9tIHRoZSByZWd1bGFyIGV4cHJlc3Npb24gbWF0Y2hpbmcgZnVuY3Rpb24KICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC4yLzE1LjEwLjIuOC9TMTUuMTAuMi44X0EzX1QxNy5qcwogKiBAZGVzY3JpcHRpb24gc2VlIGJ1ZyBodHRwOmJ1Z3ppbGxhLm1vemlsbGEub3JnL3Nob3dfYnVnLmNnaT9pZD0xNjk0OTcKICovCgpfX2JvZHk9IiI7Cl9fYm9keSArPSAnPGJvZHkgb25YWFg9ImFsZXJ0KGV2ZW50LnR5cGUpOyI+XG4nOwpfX2JvZHkgKz0gJzxwPktpYm9sb2d5IGZvciBhbGw8XC9wPlxuJzsKX19ib2R5ICs9ICc8cD5BbGwgZm9yIEtpYm9sb2d5PFwvcD5cbic7Cl9fYm9keSArPSAnPFwvYm9keT4nOwoKX19odG1sPSIiOwpfX2h0bWwgKz0gJzxodG1sPlxuJzsKX19odG1sICs9IF9fYm9keTsKX19odG1sICs9ICdcbjxcL2h0bWw+JzsKCl9fZXhlY3V0ZWQgPSAvPGJvZHkuKj4oKC4qXG4/KSo/KTxcL2JvZHk+L2kuZXhlYyhfX2h0bWwpOwoKX19leHBlY3RlZCA9IFtfX2JvZHksICdcbjxwPktpYm9sb2d5IGZvciBhbGw8L3A+XG48cD5BbGwgZm9yIEtpYm9sb2d5PC9wPlxuJywgJzxwPkFsbCBmb3IgS2lib2xvZ3k8L3A+XG4nXTsKX19leHBlY3RlZC5pbmRleCA9IDc7Cl9fZXhwZWN0ZWQuaW5wdXQgPSBfX2h0bWw7CgovL0NIRUNLIzEKaWYgKF9fZXhlY3V0ZWQubGVuZ3RoICE9PSBfX2V4cGVjdGVkLmxlbmd0aCkgewoJJEVSUk9SKCcjMTogX19leGVjdXRlZCA9IC88Ym9keS4qPigoLipcXG4/KSo/KTxcXC9ib2R5Pi9pLmV4ZWMoX19odG1sKTsgX19leGVjdXRlZC5sZW5ndGggPT09ICcgKyBfX2V4cGVjdGVkLmxlbmd0aCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQubGVuZ3RoKTsKfQoKLy9DSEVDSyMyCmlmIChfX2V4ZWN1dGVkLmluZGV4ICE9PSBfX2V4cGVjdGVkLmluZGV4KSB7CgkkRVJST1IoJyMyOiBfX2V4ZWN1dGVkID0gLzxib2R5Lio+KCguKlxcbj8pKj8pPFxcL2JvZHk+L2kuZXhlYyhfX2h0bWwpOyBfX2V4ZWN1dGVkLmluZGV4ID09PSAnICsgX19leHBlY3RlZC5pbmRleCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5kZXgpOwp9CgovL0NIRUNLIzMKaWYgKF9fZXhlY3V0ZWQuaW5wdXQgIT09IF9fZXhwZWN0ZWQuaW5wdXQpIHsKCSRFUlJPUignIzM6IF9fZXhlY3V0ZWQgPSAvPGJvZHkuKj4oKC4qXFxuPykqPyk8XFwvYm9keT4vaS5leGVjKF9faHRtbCk7IF9fZXhlY3V0ZWQuaW5wdXQgPT09ICcgKyBfX2V4cGVjdGVkLmlucHV0ICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5pbnB1dCk7Cn0KCi8vQ0hFQ0sjNApmb3IodmFyIGluZGV4PTA7IGluZGV4PF9fZXhwZWN0ZWQubGVuZ3RoOyBpbmRleCsrKSB7CglpZiAoX19leGVjdXRlZFtpbmRleF0gIT09IF9fZXhwZWN0ZWRbaW5kZXhdKSB7CgkJJEVSUk9SKCcjNDogX19leGVjdXRlZCA9IC88Ym9keS4qPigoLipcXG4/KSo/KTxcXC9ib2R5Pi9pLmV4ZWMoX19odG1sKTsgX19leGVjdXRlZFsnICsgaW5kZXggKyAnXSA9PT0gJyArIF9fZXhwZWN0ZWRbaW5kZXhdICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZFtpbmRleF0pOwoJfQp9CgoK","commentary":"Parentheses of the form ( Disjunction ) serve both to group the components of the Disjunction pattern together and to save the result of the match.\nThe result can be used either in a backreference (\\ followed by a nonzero decimal number),\nreferenced in a replace string,\nor returned as part of an array from the regular expression matching function","description":"see bug http:bugzilla.mozilla.org/show_bug.cgi?id=169497","path":"TestCases/ch15/15.10/15.10.2/15.10.2.8/S15.10.2.8_A3_T17.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBQYXJlbnRoZXNlcyBvZiB0aGUgZm9ybSAoIERpc2p1bmN0aW9uICkgc2VydmUgYm90aCB0byBncm91cCB0aGUgY29tcG9uZW50cyBvZiB0aGUgRGlzanVuY3Rpb24gcGF0dGVybiB0b2dldGhlciBhbmQgdG8gc2F2ZSB0aGUgcmVzdWx0IG9mIHRoZSBtYXRjaC4KICogVGhlIHJlc3VsdCBjYW4gYmUgdXNlZCBlaXRoZXIgaW4gYSBiYWNrcmVmZXJlbmNlIChcIGZvbGxvd2VkIGJ5IGEgbm9uemVybyBkZWNpbWFsIG51bWJlciksCiAqIHJlZmVyZW5jZWQgaW4gYSByZXBsYWNlIHN0cmluZywKICogb3IgcmV0dXJuZWQgYXMgcGFydCBvZiBhbiBhcnJheSBmcm9tIHRoZSByZWd1bGFyIGV4cHJlc3Npb24gbWF0Y2hpbmcgZnVuY3Rpb24KICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC4yLzE1LjEwLjIuOC9TMTUuMTAuMi44X0EzX1QxOC5qcwogKiBAZGVzY3JpcHRpb24gc2VlIGJ1ZyAgaHR0cDpidWd6aWxsYS5tb3ppbGxhLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTY5NTM0CiAqLwoKX19yZXBsYWNlZCA9ICJUbyBzaWduIHVwIGNsaWNrIHxoZXJlfGh0dHBzOnd3dy54eHh4Lm9yZy9zdWJzY3JpYmUuaHRtfCIucmVwbGFjZSgvKFx8KShbXHdceDgxLVx4ZmYgXSopKFx8KShbXC9hLXpdW1x3OlwvXC5dKlwuW2Etel17Myw0fSkoXHwpL2lnLCAnPGEgaHJlZj0iJDQiPiQyPC9hPicpOwoKX19leHBlY3RlZCA9ICdUbyBzaWduIHVwIGNsaWNrIDxhIGhyZWY9Imh0dHBzOnd3dy54eHh4Lm9yZy9zdWJzY3JpYmUuaHRtIj5oZXJlPC9hPic7CgovL0NIRUNLIzEKaWYgKF9fcmVwbGFjZWQgIT09IF9fZXhwZWN0ZWQpIHsKCSRFUlJPUignIzE6IF9fcmVwbGFjZWQgPSAiVG8gc2lnbiB1cCBjbGljayB8aGVyZXxodHRwczp3d3cueHh4eC5vcmcvc3Vic2NyaWJlLmh0bXwiLnJlcGxhY2UoLyhcXHwpKFtcXHdcXHg4MS1cXHhmZiBdKikoXFx8KShbXFwvYS16XVtcXHc6XFwvXFwuXSpcXC5bYS16XXszLDR9KShcXHwpL2lnLCBcJzxhIGhyZWY9IiQ0Ij4kMjwvYT5cJyk7IF9fcmVwbGFjZWQgPT09ICcgKyBfX2V4cGVjdGVkICsgJy4gQWN0dWFsOiAnICsgX19yZXBsYWNlZCk7Cn0KCgo=","commentary":"Parentheses of the form ( Disjunction ) serve both to group the components of the Disjunction pattern together and to save the result of the match.\nThe result can be used either in a backreference (\\ followed by a nonzero decimal number),\nreferenced in a replace string,\nor returned as part of an array from the regular expression matching function","description":"see bug http:bugzilla.mozilla.org/show_bug.cgi?id=169534","path":"TestCases/ch15/15.10/15.10.2/15.10.2.8/S15.10.2.8_A3_T18.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBQYXJlbnRoZXNlcyBvZiB0aGUgZm9ybSAoIERpc2p1bmN0aW9uICkgc2VydmUgYm90aCB0byBncm91cCB0aGUgY29tcG9uZW50cyBvZiB0aGUgRGlzanVuY3Rpb24gcGF0dGVybiB0b2dldGhlciBhbmQgdG8gc2F2ZSB0aGUgcmVzdWx0IG9mIHRoZSBtYXRjaC4KICogVGhlIHJlc3VsdCBjYW4gYmUgdXNlZCBlaXRoZXIgaW4gYSBiYWNrcmVmZXJlbmNlIChcIGZvbGxvd2VkIGJ5IGEgbm9uemVybyBkZWNpbWFsIG51bWJlciksCiAqIHJlZmVyZW5jZWQgaW4gYSByZXBsYWNlIHN0cmluZywKICogb3IgcmV0dXJuZWQgYXMgcGFydCBvZiBhbiBhcnJheSBmcm9tIHRoZSByZWd1bGFyIGV4cHJlc3Npb24gbWF0Y2hpbmcgZnVuY3Rpb24KICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC4yLzE1LjEwLjIuOC9TMTUuMTAuMi44X0EzX1QxOS5qcwogKiBAZGVzY3JpcHRpb24gRXhlY3V0ZSAvKFtcU10rKFsgXHRdK1tcU10rKSopWyBcdF0qPVsgXHRdKltcU10rLy5leGVjKCJDb3Vyc2VfQ3JlYXRvciA9IFRlc3QiKSBhbmQgY2hlY2sgcmVzdWx0cwogKi8KCl9fZXhlY3V0ZWQgPSAvKFtcU10rKFsgXHRdK1tcU10rKSopWyBcdF0qPVsgXHRdKltcU10rLy5leGVjKCJDb3Vyc2VfQ3JlYXRvciA9IFRlc3QiKTsKCl9fZXhwZWN0ZWQgPSBbIkNvdXJzZV9DcmVhdG9yID0gVGVzdCIsIkNvdXJzZV9DcmVhdG9yIix1bmRlZmluZWRdOwpfX2V4cGVjdGVkLmluZGV4ID0gMDsKX19leHBlY3RlZC5pbnB1dCA9ICJDb3Vyc2VfQ3JlYXRvciA9IFRlc3QiOwoKLy9DSEVDSyMxCmlmIChfX2V4ZWN1dGVkLmxlbmd0aCAhPT0gX19leHBlY3RlZC5sZW5ndGgpIHsKCSRFUlJPUignIzE6IF9fZXhlY3V0ZWQgPSAvKFtcXFNdKyhbIFxcdF0rW1xcU10rKSopWyBcXHRdKj1bIFxcdF0qW1xcU10rLy5leGVjKCJDb3Vyc2VfQ3JlYXRvciA9IFRlc3QiKTsgX19leGVjdXRlZC5sZW5ndGggPT09ICcgKyBfX2V4cGVjdGVkLmxlbmd0aCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQubGVuZ3RoKTsKfQoKLy9DSEVDSyMyCmlmIChfX2V4ZWN1dGVkLmluZGV4ICE9PSBfX2V4cGVjdGVkLmluZGV4KSB7CgkkRVJST1IoJyMyOiBfX2V4ZWN1dGVkID0gLyhbXFxTXSsoWyBcXHRdK1tcXFNdKykqKVsgXFx0XSo9WyBcXHRdKltcXFNdKy8uZXhlYygiQ291cnNlX0NyZWF0b3IgPSBUZXN0Iik7IF9fZXhlY3V0ZWQuaW5kZXggPT09ICcgKyBfX2V4cGVjdGVkLmluZGV4ICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5pbmRleCk7Cn0KCi8vQ0hFQ0sjMwppZiAoX19leGVjdXRlZC5pbnB1dCAhPT0gX19leHBlY3RlZC5pbnB1dCkgewoJJEVSUk9SKCcjMzogX19leGVjdXRlZCA9IC8oW1xcU10rKFsgXFx0XStbXFxTXSspKilbIFxcdF0qPVsgXFx0XSpbXFxTXSsvLmV4ZWMoIkNvdXJzZV9DcmVhdG9yID0gVGVzdCIpOyBfX2V4ZWN1dGVkLmlucHV0ID09PSAnICsgX19leHBlY3RlZC5pbnB1dCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5wdXQpOwp9CgovL0NIRUNLIzQKZm9yKHZhciBpbmRleD0wOyBpbmRleDxfX2V4cGVjdGVkLmxlbmd0aDsgaW5kZXgrKykgewoJaWYgKF9fZXhlY3V0ZWRbaW5kZXhdICE9PSBfX2V4cGVjdGVkW2luZGV4XSkgewoJCSRFUlJPUignIzQ6IF9fZXhlY3V0ZWQgPSAvKFtcXFNdKyhbIFxcdF0rW1xcU10rKSopWyBcXHRdKj1bIFxcdF0qW1xcU10rLy5leGVjKCJDb3Vyc2VfQ3JlYXRvciA9IFRlc3QiKTsgX19leGVjdXRlZFsnICsgaW5kZXggKyAnXSA9PT0gJyArIF9fZXhwZWN0ZWRbaW5kZXhdICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZFtpbmRleF0pOwoJfQp9CgoK","commentary":"Parentheses of the form ( Disjunction ) serve both to group the components of the Disjunction pattern together and to save the result of the match.\nThe result can be used either in a backreference (\\ followed by a nonzero decimal number),\nreferenced in a replace string,\nor returned as part of an array from the regular expression matching function","description":"Execute /([\\S]+([ \\t]+[\\S]+)*)[ \\t]*=[ \\t]*[\\S]+/.exec(\"Course_Creator = Test\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.8/S15.10.2.8_A3_T19.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBQYXJlbnRoZXNlcyBvZiB0aGUgZm9ybSAoIERpc2p1bmN0aW9uICkgc2VydmUgYm90aCB0byBncm91cCB0aGUgY29tcG9uZW50cyBvZiB0aGUgRGlzanVuY3Rpb24gcGF0dGVybiB0b2dldGhlciBhbmQgdG8gc2F2ZSB0aGUgcmVzdWx0IG9mIHRoZSBtYXRjaC4KICogVGhlIHJlc3VsdCBjYW4gYmUgdXNlZCBlaXRoZXIgaW4gYSBiYWNrcmVmZXJlbmNlIChcIGZvbGxvd2VkIGJ5IGEgbm9uemVybyBkZWNpbWFsIG51bWJlciksCiAqIHJlZmVyZW5jZWQgaW4gYSByZXBsYWNlIHN0cmluZywKICogb3IgcmV0dXJuZWQgYXMgcGFydCBvZiBhbiBhcnJheSBmcm9tIHRoZSByZWd1bGFyIGV4cHJlc3Npb24gbWF0Y2hpbmcgZnVuY3Rpb24KICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC4yLzE1LjEwLjIuOC9TMTUuMTAuMi44X0EzX1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBFeGVjdXRlIC8oW0pqXWF2YShbU3NdY3JpcHQpPylcc2lzXHMoZnVuXHcqKS8uZXhlYygiRGV2ZWxvcGluZyB3aXRoIEphdmEgaXMgZnVuLCB0cnkgaXQiKSBhbmQgY2hlY2sgcmVzdWx0cwogKi8KCl9fZXhlY3V0ZWQgPSAvKFtKal1hdmEoW1NzXWNyaXB0KT8pXHNpc1xzKGZ1blx3KikvLmV4ZWMoIkRldmVsb3Bpbmcgd2l0aCBKYXZhIGlzIGZ1biwgdHJ5IGl0Iik7CgpfX2V4cGVjdGVkID0gWyJKYXZhIGlzIGZ1biIsIkphdmEiLHVuZGVmaW5lZCwiZnVuIl07Cl9fZXhwZWN0ZWQuaW5kZXggPSAxNjsKX19leHBlY3RlZC5pbnB1dCA9ICJEZXZlbG9waW5nIHdpdGggSmF2YSBpcyBmdW4sIHRyeSBpdCI7CgovL0NIRUNLIzEKaWYgKF9fZXhlY3V0ZWQubGVuZ3RoICE9PSBfX2V4cGVjdGVkLmxlbmd0aCkgewoJJEVSUk9SKCcjMTogX19leGVjdXRlZCA9IC8oW0pqXWF2YShbU3NdY3JpcHQpPylcXHNpc1xccyhmdW5cXHcqKS8uZXhlYygiRGV2ZWxvcGluZyB3aXRoIEphdmEgaXMgZnVuLCB0cnkgaXQiKTsgX19leGVjdXRlZC5sZW5ndGggPT09ICcgKyBfX2V4cGVjdGVkLmxlbmd0aCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQubGVuZ3RoKTsKfQoKLy9DSEVDSyMyCmlmIChfX2V4ZWN1dGVkLmluZGV4ICE9PSBfX2V4cGVjdGVkLmluZGV4KSB7CgkkRVJST1IoJyMyOiBfX2V4ZWN1dGVkID0gLyhbSmpdYXZhKFtTc11jcmlwdCk/KVxcc2lzXFxzKGZ1blxcdyopLy5leGVjKCJEZXZlbG9waW5nIHdpdGggSmF2YSBpcyBmdW4sIHRyeSBpdCIpOyBfX2V4ZWN1dGVkLmluZGV4ID09PSAnICsgX19leHBlY3RlZC5pbmRleCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5kZXgpOwp9CgovL0NIRUNLIzMKaWYgKF9fZXhlY3V0ZWQuaW5wdXQgIT09IF9fZXhwZWN0ZWQuaW5wdXQpIHsKCSRFUlJPUignIzM6IF9fZXhlY3V0ZWQgPSAvKFtKal1hdmEoW1NzXWNyaXB0KT8pXFxzaXNcXHMoZnVuXFx3KikvLmV4ZWMoIkRldmVsb3Bpbmcgd2l0aCBKYXZhIGlzIGZ1biwgdHJ5IGl0Iik7IF9fZXhlY3V0ZWQuaW5wdXQgPT09ICcgKyBfX2V4cGVjdGVkLmlucHV0ICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5pbnB1dCk7Cn0KCi8vQ0hFQ0sjNApmb3IodmFyIGluZGV4PTA7IGluZGV4PF9fZXhwZWN0ZWQubGVuZ3RoOyBpbmRleCsrKSB7CglpZiAoX19leGVjdXRlZFtpbmRleF0gIT09IF9fZXhwZWN0ZWRbaW5kZXhdKSB7CgkJJEVSUk9SKCcjNDogX19leGVjdXRlZCA9IC8oW0pqXWF2YShbU3NdY3JpcHQpPylcXHNpc1xccyhmdW5cXHcqKS8uZXhlYygiRGV2ZWxvcGluZyB3aXRoIEphdmEgaXMgZnVuLCB0cnkgaXQiKTsgX19leGVjdXRlZFsnICsgaW5kZXggKyAnXSA9PT0gJyArIF9fZXhwZWN0ZWRbaW5kZXhdICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZFtpbmRleF0pOwoJfQp9CgoK","commentary":"Parentheses of the form ( Disjunction ) serve both to group the components of the Disjunction pattern together and to save the result of the match.\nThe result can be used either in a backreference (\\ followed by a nonzero decimal number),\nreferenced in a replace string,\nor returned as part of an array from the regular expression matching function","description":"Execute /([Jj]ava([Ss]cript)?)\\sis\\s(fun\\w*)/.exec(\"Developing with Java is fun, try it\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.8/S15.10.2.8_A3_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBQYXJlbnRoZXNlcyBvZiB0aGUgZm9ybSAoIERpc2p1bmN0aW9uICkgc2VydmUgYm90aCB0byBncm91cCB0aGUgY29tcG9uZW50cyBvZiB0aGUgRGlzanVuY3Rpb24gcGF0dGVybiB0b2dldGhlciBhbmQgdG8gc2F2ZSB0aGUgcmVzdWx0IG9mIHRoZSBtYXRjaC4KICogVGhlIHJlc3VsdCBjYW4gYmUgdXNlZCBlaXRoZXIgaW4gYSBiYWNrcmVmZXJlbmNlIChcIGZvbGxvd2VkIGJ5IGEgbm9uemVybyBkZWNpbWFsIG51bWJlciksCiAqIHJlZmVyZW5jZWQgaW4gYSByZXBsYWNlIHN0cmluZywKICogb3IgcmV0dXJuZWQgYXMgcGFydCBvZiBhbiBhcnJheSBmcm9tIHRoZSByZWd1bGFyIGV4cHJlc3Npb24gbWF0Y2hpbmcgZnVuY3Rpb24KICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC4yLzE1LjEwLjIuOC9TMTUuMTAuMi44X0EzX1QyMC5qcwogKiBAZGVzY3JpcHRpb24gRXhlY3V0ZSAvXihBKT8oQS4qKSQvLmV4ZWMoIkFBQSIpIGFuZCBjaGVjayByZXN1bHRzCiAqLwoKX19leGVjdXRlZCA9IC9eKEEpPyhBLiopJC8uZXhlYygiQUFBIik7CgpfX2V4cGVjdGVkID0gWyJBQUEiLCJBIiwiQUEiXTsKX19leHBlY3RlZC5pbmRleCA9IDA7Cl9fZXhwZWN0ZWQuaW5wdXQgPSAiQUFBIjsKCi8vQ0hFQ0sjMQppZiAoX19leGVjdXRlZC5sZW5ndGggIT09IF9fZXhwZWN0ZWQubGVuZ3RoKSB7CgkkRVJST1IoJyMxOiBfX2V4ZWN1dGVkID0gL14oQSk/KEEuKikkLy5leGVjKCJBQUEiKTsgX19leGVjdXRlZC5sZW5ndGggPT09ICcgKyBfX2V4cGVjdGVkLmxlbmd0aCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQubGVuZ3RoKTsKfQoKLy9DSEVDSyMyCmlmIChfX2V4ZWN1dGVkLmluZGV4ICE9PSBfX2V4cGVjdGVkLmluZGV4KSB7CgkkRVJST1IoJyMyOiBfX2V4ZWN1dGVkID0gL14oQSk/KEEuKikkLy5leGVjKCJBQUEiKTsgX19leGVjdXRlZC5pbmRleCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5kZXggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmluZGV4KTsKfQoKLy9DSEVDSyMzCmlmIChfX2V4ZWN1dGVkLmlucHV0ICE9PSBfX2V4cGVjdGVkLmlucHV0KSB7CgkkRVJST1IoJyMzOiBfX2V4ZWN1dGVkID0gL14oQSk/KEEuKikkLy5leGVjKCJBQUEiKTsgX19leGVjdXRlZC5pbnB1dCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5wdXQgKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmlucHV0KTsKfQoKLy9DSEVDSyM0CmZvcih2YXIgaW5kZXg9MDsgaW5kZXg8X19leHBlY3RlZC5sZW5ndGg7IGluZGV4KyspIHsKCWlmIChfX2V4ZWN1dGVkW2luZGV4XSAhPT0gX19leHBlY3RlZFtpbmRleF0pIHsKCQkkRVJST1IoJyM0OiBfX2V4ZWN1dGVkID0gL14oQSk/KEEuKikkLy5leGVjKCJBQUEiKTsgX19leGVjdXRlZFsnICsgaW5kZXggKyAnXSA9PT0gJyArIF9fZXhwZWN0ZWRbaW5kZXhdICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZFtpbmRleF0pOwoJfQp9CgoK","commentary":"Parentheses of the form ( Disjunction ) serve both to group the components of the Disjunction pattern together and to save the result of the match.\nThe result can be used either in a backreference (\\ followed by a nonzero decimal number),\nreferenced in a replace string,\nor returned as part of an array from the regular expression matching function","description":"Execute /^(A)?(A.*)$/.exec(\"AAA\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.8/S15.10.2.8_A3_T20.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBQYXJlbnRoZXNlcyBvZiB0aGUgZm9ybSAoIERpc2p1bmN0aW9uICkgc2VydmUgYm90aCB0byBncm91cCB0aGUgY29tcG9uZW50cyBvZiB0aGUgRGlzanVuY3Rpb24gcGF0dGVybiB0b2dldGhlciBhbmQgdG8gc2F2ZSB0aGUgcmVzdWx0IG9mIHRoZSBtYXRjaC4KICogVGhlIHJlc3VsdCBjYW4gYmUgdXNlZCBlaXRoZXIgaW4gYSBiYWNrcmVmZXJlbmNlIChcIGZvbGxvd2VkIGJ5IGEgbm9uemVybyBkZWNpbWFsIG51bWJlciksCiAqIHJlZmVyZW5jZWQgaW4gYSByZXBsYWNlIHN0cmluZywKICogb3IgcmV0dXJuZWQgYXMgcGFydCBvZiBhbiBhcnJheSBmcm9tIHRoZSByZWd1bGFyIGV4cHJlc3Npb24gbWF0Y2hpbmcgZnVuY3Rpb24KICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC4yLzE1LjEwLjIuOC9TMTUuMTAuMi44X0EzX1QyMS5qcwogKiBAZGVzY3JpcHRpb24gRXhlY3V0ZSAvXihBKT8oQS4qKSQvLmV4ZWMoIkFBIikgYW5kIGNoZWNrIHJlc3VsdHMKICovCgpfX2V4ZWN1dGVkID0gL14oQSk/KEEuKikkLy5leGVjKCJBQSIpOwoKX19leHBlY3RlZCA9IFsiQUEiLCJBIiwiQSJdOwpfX2V4cGVjdGVkLmluZGV4ID0gMDsKX19leHBlY3RlZC5pbnB1dCA9ICJBQSI7CgovL0NIRUNLIzEKaWYgKF9fZXhlY3V0ZWQubGVuZ3RoICE9PSBfX2V4cGVjdGVkLmxlbmd0aCkgewoJJEVSUk9SKCcjMTogX19leGVjdXRlZCA9IC9eKEEpPyhBLiopJC8uZXhlYygiQUEiKTsgX19leGVjdXRlZC5sZW5ndGggPT09ICcgKyBfX2V4cGVjdGVkLmxlbmd0aCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQubGVuZ3RoKTsKfQoKLy9DSEVDSyMyCmlmIChfX2V4ZWN1dGVkLmluZGV4ICE9PSBfX2V4cGVjdGVkLmluZGV4KSB7CgkkRVJST1IoJyMyOiBfX2V4ZWN1dGVkID0gL14oQSk/KEEuKikkLy5leGVjKCJBQSIpOyBfX2V4ZWN1dGVkLmluZGV4ID09PSAnICsgX19leHBlY3RlZC5pbmRleCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5kZXgpOwp9CgovL0NIRUNLIzMKaWYgKF9fZXhlY3V0ZWQuaW5wdXQgIT09IF9fZXhwZWN0ZWQuaW5wdXQpIHsKCSRFUlJPUignIzM6IF9fZXhlY3V0ZWQgPSAvXihBKT8oQS4qKSQvLmV4ZWMoIkFBIik7IF9fZXhlY3V0ZWQuaW5wdXQgPT09ICcgKyBfX2V4cGVjdGVkLmlucHV0ICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5pbnB1dCk7Cn0KCi8vQ0hFQ0sjNApmb3IodmFyIGluZGV4PTA7IGluZGV4PF9fZXhwZWN0ZWQubGVuZ3RoOyBpbmRleCsrKSB7CglpZiAoX19leGVjdXRlZFtpbmRleF0gIT09IF9fZXhwZWN0ZWRbaW5kZXhdKSB7CgkJJEVSUk9SKCcjNDogX19leGVjdXRlZCA9IC9eKEEpPyhBLiopJC8uZXhlYygiQUEiKTsgX19leGVjdXRlZFsnICsgaW5kZXggKyAnXSA9PT0gJyArIF9fZXhwZWN0ZWRbaW5kZXhdICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZFtpbmRleF0pOwoJfQp9CgoK","commentary":"Parentheses of the form ( Disjunction ) serve both to group the components of the Disjunction pattern together and to save the result of the match.\nThe result can be used either in a backreference (\\ followed by a nonzero decimal number),\nreferenced in a replace string,\nor returned as part of an array from the regular expression matching function","description":"Execute /^(A)?(A.*)$/.exec(\"AA\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.8/S15.10.2.8_A3_T21.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBQYXJlbnRoZXNlcyBvZiB0aGUgZm9ybSAoIERpc2p1bmN0aW9uICkgc2VydmUgYm90aCB0byBncm91cCB0aGUgY29tcG9uZW50cyBvZiB0aGUgRGlzanVuY3Rpb24gcGF0dGVybiB0b2dldGhlciBhbmQgdG8gc2F2ZSB0aGUgcmVzdWx0IG9mIHRoZSBtYXRjaC4KICogVGhlIHJlc3VsdCBjYW4gYmUgdXNlZCBlaXRoZXIgaW4gYSBiYWNrcmVmZXJlbmNlIChcIGZvbGxvd2VkIGJ5IGEgbm9uemVybyBkZWNpbWFsIG51bWJlciksCiAqIHJlZmVyZW5jZWQgaW4gYSByZXBsYWNlIHN0cmluZywKICogb3IgcmV0dXJuZWQgYXMgcGFydCBvZiBhbiBhcnJheSBmcm9tIHRoZSByZWd1bGFyIGV4cHJlc3Npb24gbWF0Y2hpbmcgZnVuY3Rpb24KICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC4yLzE1LjEwLjIuOC9TMTUuMTAuMi44X0EzX1QyMi5qcwogKiBAZGVzY3JpcHRpb24gRXhlY3V0ZSAvXihBKT8oQS4qKSQvLmV4ZWMoIkEiKSBhbmQgY2hlY2sgcmVzdWx0cwogKi8KCl9fZXhlY3V0ZWQgPSAvXihBKT8oQS4qKSQvLmV4ZWMoIkEiKTsKCl9fZXhwZWN0ZWQgPSBbIkEiLHVuZGVmaW5lZCwiQSJdOwpfX2V4cGVjdGVkLmluZGV4ID0gMDsKX19leHBlY3RlZC5pbnB1dCA9ICJBIjsKCi8vQ0hFQ0sjMQppZiAoX19leGVjdXRlZC5sZW5ndGggIT09IF9fZXhwZWN0ZWQubGVuZ3RoKSB7CgkkRVJST1IoJyMxOiBfX2V4ZWN1dGVkID0gL14oQSk/KEEuKikkLy5leGVjKCJBIik7IF9fZXhlY3V0ZWQubGVuZ3RoID09PSAnICsgX19leHBlY3RlZC5sZW5ndGggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmxlbmd0aCk7Cn0KCi8vQ0hFQ0sjMgppZiAoX19leGVjdXRlZC5pbmRleCAhPT0gX19leHBlY3RlZC5pbmRleCkgewoJJEVSUk9SKCcjMjogX19leGVjdXRlZCA9IC9eKEEpPyhBLiopJC8uZXhlYygiQSIpOyBfX2V4ZWN1dGVkLmluZGV4ID09PSAnICsgX19leHBlY3RlZC5pbmRleCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5kZXgpOwp9CgovL0NIRUNLIzMKaWYgKF9fZXhlY3V0ZWQuaW5wdXQgIT09IF9fZXhwZWN0ZWQuaW5wdXQpIHsKCSRFUlJPUignIzM6IF9fZXhlY3V0ZWQgPSAvXihBKT8oQS4qKSQvLmV4ZWMoIkEiKTsgX19leGVjdXRlZC5pbnB1dCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5wdXQgKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmlucHV0KTsKfQoKLy9DSEVDSyM0CmZvcih2YXIgaW5kZXg9MDsgaW5kZXg8X19leHBlY3RlZC5sZW5ndGg7IGluZGV4KyspIHsKCWlmIChfX2V4ZWN1dGVkW2luZGV4XSAhPT0gX19leHBlY3RlZFtpbmRleF0pIHsKCQkkRVJST1IoJyM0OiBfX2V4ZWN1dGVkID0gL14oQSk/KEEuKikkLy5leGVjKCJBIik7IF9fZXhlY3V0ZWRbJyArIGluZGV4ICsgJ10gPT09ICcgKyBfX2V4cGVjdGVkW2luZGV4XSArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWRbaW5kZXhdKTsKCX0KfQoKCg==","commentary":"Parentheses of the form ( Disjunction ) serve both to group the components of the Disjunction pattern together and to save the result of the match.\nThe result can be used either in a backreference (\\ followed by a nonzero decimal number),\nreferenced in a replace string,\nor returned as part of an array from the regular expression matching function","description":"Execute /^(A)?(A.*)$/.exec(\"A\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.8/S15.10.2.8_A3_T22.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBQYXJlbnRoZXNlcyBvZiB0aGUgZm9ybSAoIERpc2p1bmN0aW9uICkgc2VydmUgYm90aCB0byBncm91cCB0aGUgY29tcG9uZW50cyBvZiB0aGUgRGlzanVuY3Rpb24gcGF0dGVybiB0b2dldGhlciBhbmQgdG8gc2F2ZSB0aGUgcmVzdWx0IG9mIHRoZSBtYXRjaC4KICogVGhlIHJlc3VsdCBjYW4gYmUgdXNlZCBlaXRoZXIgaW4gYSBiYWNrcmVmZXJlbmNlIChcIGZvbGxvd2VkIGJ5IGEgbm9uemVybyBkZWNpbWFsIG51bWJlciksCiAqIHJlZmVyZW5jZWQgaW4gYSByZXBsYWNlIHN0cmluZywKICogb3IgcmV0dXJuZWQgYXMgcGFydCBvZiBhbiBhcnJheSBmcm9tIHRoZSByZWd1bGFyIGV4cHJlc3Npb24gbWF0Y2hpbmcgZnVuY3Rpb24KICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC4yLzE1LjEwLjIuOC9TMTUuMTAuMi44X0EzX1QyMy5qcwogKiBAZGVzY3JpcHRpb24gRXhlY3V0ZSAvKEEpPyhBLiopLy5leGVjKCJ6eGNhc2Q7ZmxcXFwgIF5BQUFhYUFBYWFhZjtscmxyenMiKSBhbmQgY2hlY2sgcmVzdWx0cwogKi8KCl9fc3RyaW5nID0gInp4Y2FzZDtmbFxcXCAgXkFBQWFhQUFhYWFmO2xybHJ6cyI7CgpfX2V4ZWN1dGVkID0gLyhBKT8oQS4qKS8uZXhlYyhfX3N0cmluZyk7CgpfX2V4cGVjdGVkID0gWyJBQUFhYUFBYWFhZjtscmxyenMiLCJBIiwiQUFhYUFBYWFhZjtscmxyenMiXTsKX19leHBlY3RlZC5pbmRleCA9IDEzOwpfX2V4cGVjdGVkLmlucHV0ID0gX19zdHJpbmc7CgovL0NIRUNLIzEKaWYgKF9fZXhlY3V0ZWQubGVuZ3RoICE9PSBfX2V4cGVjdGVkLmxlbmd0aCkgewoJJEVSUk9SKCcjMTogX19zdHJpbmcgPSAienhjYXNkO2ZsXFxcICBeQUFBYWFBQWFhYWY7bHJscnpzIjsgX19leGVjdXRlZCA9IC8oQSk/KEEuKikvLmV4ZWMoX19zdHJpbmcpOyBfX2V4ZWN1dGVkLmxlbmd0aCA9PT0gJyArIF9fZXhwZWN0ZWQubGVuZ3RoICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5sZW5ndGgpOwp9CgovL0NIRUNLIzIKaWYgKF9fZXhlY3V0ZWQuaW5kZXggIT09IF9fZXhwZWN0ZWQuaW5kZXgpIHsKCSRFUlJPUignIzI6IF9fc3RyaW5nID0gInp4Y2FzZDtmbFxcXCAgXkFBQWFhQUFhYWFmO2xybHJ6cyI7IF9fZXhlY3V0ZWQgPSAvKEEpPyhBLiopLy5leGVjKF9fc3RyaW5nKTsgX19leGVjdXRlZC5pbmRleCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5kZXggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmluZGV4KTsKfQoKLy9DSEVDSyMzCmlmIChfX2V4ZWN1dGVkLmlucHV0ICE9PSBfX2V4cGVjdGVkLmlucHV0KSB7CgkkRVJST1IoJyMzOiBfX3N0cmluZyA9ICJ6eGNhc2Q7ZmxcXFwgIF5BQUFhYUFBYWFhZjtscmxyenMiOyBfX2V4ZWN1dGVkID0gLyhBKT8oQS4qKS8uZXhlYyhfX3N0cmluZyk7IF9fZXhlY3V0ZWQuaW5wdXQgPT09ICcgKyBfX2V4cGVjdGVkLmlucHV0ICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5pbnB1dCk7Cn0KCi8vQ0hFQ0sjNApmb3IodmFyIGluZGV4PTA7IGluZGV4PF9fZXhwZWN0ZWQubGVuZ3RoOyBpbmRleCsrKSB7CglpZiAoX19leGVjdXRlZFtpbmRleF0gIT09IF9fZXhwZWN0ZWRbaW5kZXhdKSB7CgkJJEVSUk9SKCcjNDogX19zdHJpbmcgPSAienhjYXNkO2ZsXFxcICBeQUFBYWFBQWFhYWY7bHJscnpzIjsgX19leGVjdXRlZCA9IC8oQSk/KEEuKikvLmV4ZWMoX19zdHJpbmcpOyBfX2V4ZWN1dGVkWycgKyBpbmRleCArICddID09PSAnICsgX19leHBlY3RlZFtpbmRleF0gKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkW2luZGV4XSk7Cgl9Cn0KCgo=","commentary":"Parentheses of the form ( Disjunction ) serve both to group the components of the Disjunction pattern together and to save the result of the match.\nThe result can be used either in a backreference (\\ followed by a nonzero decimal number),\nreferenced in a replace string,\nor returned as part of an array from the regular expression matching function","description":"Execute /(A)?(A.*)/.exec(\"zxcasd;fl\\\\\\ ^AAAaaAAaaaf;lrlrzs\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.8/S15.10.2.8_A3_T23.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBQYXJlbnRoZXNlcyBvZiB0aGUgZm9ybSAoIERpc2p1bmN0aW9uICkgc2VydmUgYm90aCB0byBncm91cCB0aGUgY29tcG9uZW50cyBvZiB0aGUgRGlzanVuY3Rpb24gcGF0dGVybiB0b2dldGhlciBhbmQgdG8gc2F2ZSB0aGUgcmVzdWx0IG9mIHRoZSBtYXRjaC4KICogVGhlIHJlc3VsdCBjYW4gYmUgdXNlZCBlaXRoZXIgaW4gYSBiYWNrcmVmZXJlbmNlIChcIGZvbGxvd2VkIGJ5IGEgbm9uemVybyBkZWNpbWFsIG51bWJlciksCiAqIHJlZmVyZW5jZWQgaW4gYSByZXBsYWNlIHN0cmluZywKICogb3IgcmV0dXJuZWQgYXMgcGFydCBvZiBhbiBhcnJheSBmcm9tIHRoZSByZWd1bGFyIGV4cHJlc3Npb24gbWF0Y2hpbmcgZnVuY3Rpb24KICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC4yLzE1LjEwLjIuOC9TMTUuMTAuMi44X0EzX1QyNC5qcwogKiBAZGVzY3JpcHRpb24gRXhlY3V0ZSAvKEEpPyhBLiopLy5leGVjKCJ6eGNhc2Q7ZmxcXFwgIF5BQWFhQUFhYWFmO2xybHJ6cyIpIGFuZCBjaGVjayByZXN1bHRzCiAqLwoKX19zdHJpbmcgPSAienhjYXNkO2ZsXFxcICBeQUFhYUFBYWFhZjtscmxyenMiOwoKX19leGVjdXRlZCA9IC8oQSk/KEEuKikvLmV4ZWMoX19zdHJpbmcpOwoKX19leHBlY3RlZCA9IFsiQUFhYUFBYWFhZjtscmxyenMiLCJBIiwiQWFhQUFhYWFmO2xybHJ6cyJdOwpfX2V4cGVjdGVkLmluZGV4ID0gMTM7Cl9fZXhwZWN0ZWQuaW5wdXQgPSBfX3N0cmluZzsKCi8vQ0hFQ0sjMQppZiAoX19leGVjdXRlZC5sZW5ndGggIT09IF9fZXhwZWN0ZWQubGVuZ3RoKSB7CgkkRVJST1IoJyMxOiBfX3N0cmluZyA9ICJ6eGNhc2Q7ZmxcXFwgIF5BQWFhQUFhYWFmO2xybHJ6cyI7IF9fZXhlY3V0ZWQgPSAvKEEpPyhBLiopLy5leGVjKF9fc3RyaW5nKTsgX19leGVjdXRlZC5sZW5ndGggPT09ICcgKyBfX2V4cGVjdGVkLmxlbmd0aCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQubGVuZ3RoKTsKfQoKLy9DSEVDSyMyCmlmIChfX2V4ZWN1dGVkLmluZGV4ICE9PSBfX2V4cGVjdGVkLmluZGV4KSB7CgkkRVJST1IoJyMyOiBfX3N0cmluZyA9ICJ6eGNhc2Q7ZmxcXFwgIF5BQWFhQUFhYWFmO2xybHJ6cyI7IF9fZXhlY3V0ZWQgPSAvKEEpPyhBLiopLy5leGVjKF9fc3RyaW5nKTsgX19leGVjdXRlZC5pbmRleCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5kZXggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmluZGV4KTsKfQoKLy9DSEVDSyMzCmlmIChfX2V4ZWN1dGVkLmlucHV0ICE9PSBfX2V4cGVjdGVkLmlucHV0KSB7CgkkRVJST1IoJyMzOiBfX3N0cmluZyA9ICJ6eGNhc2Q7ZmxcXFwgIF5BQWFhQUFhYWFmO2xybHJ6cyI7IF9fZXhlY3V0ZWQgPSAvKEEpPyhBLiopLy5leGVjKF9fc3RyaW5nKTsgX19leGVjdXRlZC5pbnB1dCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5wdXQgKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmlucHV0KTsKfQoKLy9DSEVDSyM0CmZvcih2YXIgaW5kZXg9MDsgaW5kZXg8X19leHBlY3RlZC5sZW5ndGg7IGluZGV4KyspIHsKCWlmIChfX2V4ZWN1dGVkW2luZGV4XSAhPT0gX19leHBlY3RlZFtpbmRleF0pIHsKCQkkRVJST1IoJyM0OiBfX3N0cmluZyA9ICJ6eGNhc2Q7ZmxcXFwgIF5BQWFhQUFhYWFmO2xybHJ6cyI7IF9fZXhlY3V0ZWQgPSAvKEEpPyhBLiopLy5leGVjKF9fc3RyaW5nKTsgX19leGVjdXRlZFsnICsgaW5kZXggKyAnXSA9PT0gJyArIF9fZXhwZWN0ZWRbaW5kZXhdICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZFtpbmRleF0pOwoJfQp9CgoK","commentary":"Parentheses of the form ( Disjunction ) serve both to group the components of the Disjunction pattern together and to save the result of the match.\nThe result can be used either in a backreference (\\ followed by a nonzero decimal number),\nreferenced in a replace string,\nor returned as part of an array from the regular expression matching function","description":"Execute /(A)?(A.*)/.exec(\"zxcasd;fl\\\\\\ ^AAaaAAaaaf;lrlrzs\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.8/S15.10.2.8_A3_T24.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBQYXJlbnRoZXNlcyBvZiB0aGUgZm9ybSAoIERpc2p1bmN0aW9uICkgc2VydmUgYm90aCB0byBncm91cCB0aGUgY29tcG9uZW50cyBvZiB0aGUgRGlzanVuY3Rpb24gcGF0dGVybiB0b2dldGhlciBhbmQgdG8gc2F2ZSB0aGUgcmVzdWx0IG9mIHRoZSBtYXRjaC4KICogVGhlIHJlc3VsdCBjYW4gYmUgdXNlZCBlaXRoZXIgaW4gYSBiYWNrcmVmZXJlbmNlIChcIGZvbGxvd2VkIGJ5IGEgbm9uemVybyBkZWNpbWFsIG51bWJlciksCiAqIHJlZmVyZW5jZWQgaW4gYSByZXBsYWNlIHN0cmluZywKICogb3IgcmV0dXJuZWQgYXMgcGFydCBvZiBhbiBhcnJheSBmcm9tIHRoZSByZWd1bGFyIGV4cHJlc3Npb24gbWF0Y2hpbmcgZnVuY3Rpb24KICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC4yLzE1LjEwLjIuOC9TMTUuMTAuMi44X0EzX1QyNS5qcwogKiBAZGVzY3JpcHRpb24gRXhlY3V0ZSAvKEEpPyhBLiopLy5leGVjKCJ6eGNhc2Q7ZmxcXFwgIF5BYWFBQWFhYWY7bHJscnpzIikgYW5kIGNoZWNrIHJlc3VsdHMKICovCgpfX3N0cmluZyA9ICJ6eGNhc2Q7ZmxcXFwgIF5BYWFBQWFhYWY7bHJscnpzIjsKCl9fZXhlY3V0ZWQgPSAvKEEpPyhBLiopLy5leGVjKF9fc3RyaW5nKTsKCl9fZXhwZWN0ZWQgPSBbIkFhYUFBYWFhZjtscmxyenMiLHVuZGVmaW5lZCwiQWFhQUFhYWFmO2xybHJ6cyJdOwpfX2V4cGVjdGVkLmluZGV4ID0gMTM7Cl9fZXhwZWN0ZWQuaW5wdXQgPSBfX3N0cmluZzsKCi8vQ0hFQ0sjMQppZiAoX19leGVjdXRlZC5sZW5ndGggIT09IF9fZXhwZWN0ZWQubGVuZ3RoKSB7CgkkRVJST1IoJyMxOiBfX3N0cmluZyA9ICJ6eGNhc2Q7ZmxcXFwgIF5BYWFBQWFhYWY7bHJscnpzIjsgX19leGVjdXRlZCA9IC8oQSk/KEEuKikvLmV4ZWMoX19zdHJpbmcpOyBfX2V4ZWN1dGVkLmxlbmd0aCA9PT0gJyArIF9fZXhwZWN0ZWQubGVuZ3RoICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5sZW5ndGgpOwp9CgovL0NIRUNLIzIKaWYgKF9fZXhlY3V0ZWQuaW5kZXggIT09IF9fZXhwZWN0ZWQuaW5kZXgpIHsKCSRFUlJPUignIzI6IF9fc3RyaW5nID0gInp4Y2FzZDtmbFxcXCAgXkFhYUFBYWFhZjtscmxyenMiOyBfX2V4ZWN1dGVkID0gLyhBKT8oQS4qKS8uZXhlYyhfX3N0cmluZyk7IF9fZXhlY3V0ZWQuaW5kZXggPT09ICcgKyBfX2V4cGVjdGVkLmluZGV4ICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5pbmRleCk7Cn0KCi8vQ0hFQ0sjMwppZiAoX19leGVjdXRlZC5pbnB1dCAhPT0gX19leHBlY3RlZC5pbnB1dCkgewoJJEVSUk9SKCcjMzogX19zdHJpbmcgPSAienhjYXNkO2ZsXFxcICBeQWFhQUFhYWFmO2xybHJ6cyI7IF9fZXhlY3V0ZWQgPSAvKEEpPyhBLiopLy5leGVjKF9fc3RyaW5nKTsgX19leGVjdXRlZC5pbnB1dCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5wdXQgKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmlucHV0KTsKfQoKLy9DSEVDSyM0CmZvcih2YXIgaW5kZXg9MDsgaW5kZXg8X19leHBlY3RlZC5sZW5ndGg7IGluZGV4KyspIHsKCWlmIChfX2V4ZWN1dGVkW2luZGV4XSAhPT0gX19leHBlY3RlZFtpbmRleF0pIHsKCQkkRVJST1IoJyM0OiBfX3N0cmluZyA9ICJ6eGNhc2Q7ZmxcXFwgIF5BYWFBQWFhYWY7bHJscnpzIjsgX19leGVjdXRlZCA9IC8oQSk/KEEuKikvLmV4ZWMoX19zdHJpbmcpOyBfX2V4ZWN1dGVkWycgKyBpbmRleCArICddID09PSAnICsgX19leHBlY3RlZFtpbmRleF0gKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkW2luZGV4XSk7Cgl9Cn0KCgo=","commentary":"Parentheses of the form ( Disjunction ) serve both to group the components of the Disjunction pattern together and to save the result of the match.\nThe result can be used either in a backreference (\\ followed by a nonzero decimal number),\nreferenced in a replace string,\nor returned as part of an array from the regular expression matching function","description":"Execute /(A)?(A.*)/.exec(\"zxcasd;fl\\\\\\ ^AaaAAaaaf;lrlrzs\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.8/S15.10.2.8_A3_T25.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBQYXJlbnRoZXNlcyBvZiB0aGUgZm9ybSAoIERpc2p1bmN0aW9uICkgc2VydmUgYm90aCB0byBncm91cCB0aGUgY29tcG9uZW50cyBvZiB0aGUgRGlzanVuY3Rpb24gcGF0dGVybiB0b2dldGhlciBhbmQgdG8gc2F2ZSB0aGUgcmVzdWx0IG9mIHRoZSBtYXRjaC4KICogVGhlIHJlc3VsdCBjYW4gYmUgdXNlZCBlaXRoZXIgaW4gYSBiYWNrcmVmZXJlbmNlIChcIGZvbGxvd2VkIGJ5IGEgbm9uemVybyBkZWNpbWFsIG51bWJlciksCiAqIHJlZmVyZW5jZWQgaW4gYSByZXBsYWNlIHN0cmluZywKICogb3IgcmV0dXJuZWQgYXMgcGFydCBvZiBhbiBhcnJheSBmcm9tIHRoZSByZWd1bGFyIGV4cHJlc3Npb24gbWF0Y2hpbmcgZnVuY3Rpb24KICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC4yLzE1LjEwLjIuOC9TMTUuMTAuMi44X0EzX1QyNi5qcwogKiBAZGVzY3JpcHRpb24gRXhlY3V0ZSAvKGEpP2EvLmV4ZWMoImEiKSBhbmQgY2hlY2sgcmVzdWx0cwogKi8KCl9fc3RyaW5nID0gImEiOwoKX19leGVjdXRlZCA9IC8oYSk/YS8uZXhlYyhfX3N0cmluZyk7CgpfX2V4cGVjdGVkID0gWyJhIix1bmRlZmluZWRdOwpfX2V4cGVjdGVkLmluZGV4ID0gMDsKX19leHBlY3RlZC5pbnB1dCA9IF9fc3RyaW5nOwoKLy9DSEVDSyMxCmlmIChfX2V4ZWN1dGVkLmxlbmd0aCAhPT0gX19leHBlY3RlZC5sZW5ndGgpIHsKCSRFUlJPUignIzE6IF9fc3RyaW5nID0gImEiOyBfX2V4ZWN1dGVkID0gLyhhKT9hLy5leGVjKF9fc3RyaW5nKTsgX19leGVjdXRlZC5sZW5ndGggPT09ICcgKyBfX2V4cGVjdGVkLmxlbmd0aCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQubGVuZ3RoKTsKfQoKLy9DSEVDSyMyCmlmIChfX2V4ZWN1dGVkLmluZGV4ICE9PSBfX2V4cGVjdGVkLmluZGV4KSB7CgkkRVJST1IoJyMyOiBfX3N0cmluZyA9ICJhIjsgX19leGVjdXRlZCA9IC8oYSk/YS8uZXhlYyhfX3N0cmluZyk7IF9fZXhlY3V0ZWQuaW5kZXggPT09ICcgKyBfX2V4cGVjdGVkLmluZGV4ICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5pbmRleCk7Cn0KCi8vQ0hFQ0sjMwppZiAoX19leGVjdXRlZC5pbnB1dCAhPT0gX19leHBlY3RlZC5pbnB1dCkgewoJJEVSUk9SKCcjMzogX19zdHJpbmcgPSAiYSI7IF9fZXhlY3V0ZWQgPSAvKGEpP2EvLmV4ZWMoX19zdHJpbmcpOyBfX2V4ZWN1dGVkLmlucHV0ID09PSAnICsgX19leHBlY3RlZC5pbnB1dCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5wdXQpOwp9CgovL0NIRUNLIzQKZm9yKHZhciBpbmRleD0wOyBpbmRleDxfX2V4cGVjdGVkLmxlbmd0aDsgaW5kZXgrKykgewoJaWYgKF9fZXhlY3V0ZWRbaW5kZXhdICE9PSBfX2V4cGVjdGVkW2luZGV4XSkgewoJCSRFUlJPUignIzQ6IF9fc3RyaW5nID0gImEiOyBfX2V4ZWN1dGVkID0gLyhhKT9hLy5leGVjKF9fc3RyaW5nKTsgX19leGVjdXRlZFsnICsgaW5kZXggKyAnXSA9PT0gJyArIF9fZXhwZWN0ZWRbaW5kZXhdICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZFtpbmRleF0pOwoJfQp9CgoK","commentary":"Parentheses of the form ( Disjunction ) serve both to group the components of the Disjunction pattern together and to save the result of the match.\nThe result can be used either in a backreference (\\ followed by a nonzero decimal number),\nreferenced in a replace string,\nor returned as part of an array from the regular expression matching function","description":"Execute /(a)?a/.exec(\"a\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.8/S15.10.2.8_A3_T26.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBQYXJlbnRoZXNlcyBvZiB0aGUgZm9ybSAoIERpc2p1bmN0aW9uICkgc2VydmUgYm90aCB0byBncm91cCB0aGUgY29tcG9uZW50cyBvZiB0aGUgRGlzanVuY3Rpb24gcGF0dGVybiB0b2dldGhlciBhbmQgdG8gc2F2ZSB0aGUgcmVzdWx0IG9mIHRoZSBtYXRjaC4KICogVGhlIHJlc3VsdCBjYW4gYmUgdXNlZCBlaXRoZXIgaW4gYSBiYWNrcmVmZXJlbmNlIChcIGZvbGxvd2VkIGJ5IGEgbm9uemVybyBkZWNpbWFsIG51bWJlciksCiAqIHJlZmVyZW5jZWQgaW4gYSByZXBsYWNlIHN0cmluZywKICogb3IgcmV0dXJuZWQgYXMgcGFydCBvZiBhbiBhcnJheSBmcm9tIHRoZSByZWd1bGFyIGV4cHJlc3Npb24gbWF0Y2hpbmcgZnVuY3Rpb24KICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC4yLzE1LjEwLjIuOC9TMTUuMTAuMi44X0EzX1QyNy5qcwogKiBAZGVzY3JpcHRpb24gRXhlY3V0ZSAvYXwoYikvLmV4ZWMoImEiKSBhbmQgY2hlY2sgcmVzdWx0cwogKi8KCl9fc3RyaW5nID0gImEiOwoKX19leGVjdXRlZCA9IC9hfChiKS8uZXhlYyhfX3N0cmluZyk7CgpfX2V4cGVjdGVkID0gWyJhIix1bmRlZmluZWRdOwpfX2V4cGVjdGVkLmluZGV4ID0gMDsKX19leHBlY3RlZC5pbnB1dCA9IF9fc3RyaW5nOwoKLy9DSEVDSyMxCmlmIChfX2V4ZWN1dGVkLmxlbmd0aCAhPT0gX19leHBlY3RlZC5sZW5ndGgpIHsKCSRFUlJPUignIzE6IF9fc3RyaW5nID0gImEiOyBfX2V4ZWN1dGVkID0gL2F8KGIpLy5leGVjKF9fc3RyaW5nKTsgX19leGVjdXRlZC5sZW5ndGggPT09ICcgKyBfX2V4cGVjdGVkLmxlbmd0aCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQubGVuZ3RoKTsKfQoKLy9DSEVDSyMyCmlmIChfX2V4ZWN1dGVkLmluZGV4ICE9PSBfX2V4cGVjdGVkLmluZGV4KSB7CgkkRVJST1IoJyMyOiBfX3N0cmluZyA9ICJhIjsgX19leGVjdXRlZCA9IC9hfChiKS8uZXhlYyhfX3N0cmluZyk7IF9fZXhlY3V0ZWQuaW5kZXggPT09ICcgKyBfX2V4cGVjdGVkLmluZGV4ICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5pbmRleCk7Cn0KCi8vQ0hFQ0sjMwppZiAoX19leGVjdXRlZC5pbnB1dCAhPT0gX19leHBlY3RlZC5pbnB1dCkgewoJJEVSUk9SKCcjMzogX19zdHJpbmcgPSAiYSI7IF9fZXhlY3V0ZWQgPSAvYXwoYikvLmV4ZWMoX19zdHJpbmcpOyBfX2V4ZWN1dGVkLmlucHV0ID09PSAnICsgX19leHBlY3RlZC5pbnB1dCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5wdXQpOwp9CgovL0NIRUNLIzQKZm9yKHZhciBpbmRleD0wOyBpbmRleDxfX2V4cGVjdGVkLmxlbmd0aDsgaW5kZXgrKykgewoJaWYgKF9fZXhlY3V0ZWRbaW5kZXhdICE9PSBfX2V4cGVjdGVkW2luZGV4XSkgewoJCSRFUlJPUignIzQ6IF9fc3RyaW5nID0gImEiOyBfX2V4ZWN1dGVkID0gL2F8KGIpLy5leGVjKF9fc3RyaW5nKTsgX19leGVjdXRlZFsnICsgaW5kZXggKyAnXSA9PT0gJyArIF9fZXhwZWN0ZWRbaW5kZXhdICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZFtpbmRleF0pOwoJfQp9CgoK","commentary":"Parentheses of the form ( Disjunction ) serve both to group the components of the Disjunction pattern together and to save the result of the match.\nThe result can be used either in a backreference (\\ followed by a nonzero decimal number),\nreferenced in a replace string,\nor returned as part of an array from the regular expression matching function","description":"Execute /a|(b)/.exec(\"a\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.8/S15.10.2.8_A3_T27.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBQYXJlbnRoZXNlcyBvZiB0aGUgZm9ybSAoIERpc2p1bmN0aW9uICkgc2VydmUgYm90aCB0byBncm91cCB0aGUgY29tcG9uZW50cyBvZiB0aGUgRGlzanVuY3Rpb24gcGF0dGVybiB0b2dldGhlciBhbmQgdG8gc2F2ZSB0aGUgcmVzdWx0IG9mIHRoZSBtYXRjaC4KICogVGhlIHJlc3VsdCBjYW4gYmUgdXNlZCBlaXRoZXIgaW4gYSBiYWNrcmVmZXJlbmNlIChcIGZvbGxvd2VkIGJ5IGEgbm9uemVybyBkZWNpbWFsIG51bWJlciksCiAqIHJlZmVyZW5jZWQgaW4gYSByZXBsYWNlIHN0cmluZywKICogb3IgcmV0dXJuZWQgYXMgcGFydCBvZiBhbiBhcnJheSBmcm9tIHRoZSByZWd1bGFyIGV4cHJlc3Npb24gbWF0Y2hpbmcgZnVuY3Rpb24KICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC4yLzE1LjEwLjIuOC9TMTUuMTAuMi44X0EzX1QyOC5qcwogKiBAZGVzY3JpcHRpb24gRXhlY3V0ZSAvKGEpPyhhKS8uZXhlYygiYSIpIGFuZCBjaGVjayByZXN1bHRzCiAqLwoKX19zdHJpbmcgPSAiYSI7CgpfX2V4ZWN1dGVkID0gLyhhKT8oYSkvLmV4ZWMoX19zdHJpbmcpOwoKX19leHBlY3RlZCA9IFsnYScsIHVuZGVmaW5lZCwgJ2EnXTsKX19leHBlY3RlZC5pbmRleCA9IDA7Cl9fZXhwZWN0ZWQuaW5wdXQgPSBfX3N0cmluZzsKCi8vQ0hFQ0sjMQppZiAoX19leGVjdXRlZC5sZW5ndGggIT09IF9fZXhwZWN0ZWQubGVuZ3RoKSB7CgkkRVJST1IoJyMxOiBfX3N0cmluZyA9ICJhIjsgX19leGVjdXRlZCA9IC8oYSk/KGEpLy5leGVjKF9fc3RyaW5nKTsgX19leGVjdXRlZC5sZW5ndGggPT09ICcgKyBfX2V4cGVjdGVkLmxlbmd0aCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQubGVuZ3RoKTsKfQoKLy9DSEVDSyMyCmlmIChfX2V4ZWN1dGVkLmluZGV4ICE9PSBfX2V4cGVjdGVkLmluZGV4KSB7CgkkRVJST1IoJyMyOiBfX3N0cmluZyA9ICJhIjsgX19leGVjdXRlZCA9IC8oYSk/KGEpLy5leGVjKF9fc3RyaW5nKTsgX19leGVjdXRlZC5pbmRleCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5kZXggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmluZGV4KTsKfQoKLy9DSEVDSyMzCmlmIChfX2V4ZWN1dGVkLmlucHV0ICE9PSBfX2V4cGVjdGVkLmlucHV0KSB7CgkkRVJST1IoJyMzOiBfX3N0cmluZyA9ICJhIjsgX19leGVjdXRlZCA9IC8oYSk/KGEpLy5leGVjKF9fc3RyaW5nKTsgX19leGVjdXRlZC5pbnB1dCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5wdXQgKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmlucHV0KTsKfQoKLy9DSEVDSyM0CmZvcih2YXIgaW5kZXg9MDsgaW5kZXg8X19leHBlY3RlZC5sZW5ndGg7IGluZGV4KyspIHsKCWlmIChfX2V4ZWN1dGVkW2luZGV4XSAhPT0gX19leHBlY3RlZFtpbmRleF0pIHsKCQkkRVJST1IoJyM0OiBfX3N0cmluZyA9ICJhIjsgX19leGVjdXRlZCA9IC8oYSk/KGEpLy5leGVjKF9fc3RyaW5nKTsgX19leGVjdXRlZFsnICsgaW5kZXggKyAnXSA9PT0gJyArIF9fZXhwZWN0ZWRbaW5kZXhdICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZFtpbmRleF0pOwoJfQp9CgoK","commentary":"Parentheses of the form ( Disjunction ) serve both to group the components of the Disjunction pattern together and to save the result of the match.\nThe result can be used either in a backreference (\\ followed by a nonzero decimal number),\nreferenced in a replace string,\nor returned as part of an array from the regular expression matching function","description":"Execute /(a)?(a)/.exec(\"a\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.8/S15.10.2.8_A3_T28.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBQYXJlbnRoZXNlcyBvZiB0aGUgZm9ybSAoIERpc2p1bmN0aW9uICkgc2VydmUgYm90aCB0byBncm91cCB0aGUgY29tcG9uZW50cyBvZiB0aGUgRGlzanVuY3Rpb24gcGF0dGVybiB0b2dldGhlciBhbmQgdG8gc2F2ZSB0aGUgcmVzdWx0IG9mIHRoZSBtYXRjaC4KICogVGhlIHJlc3VsdCBjYW4gYmUgdXNlZCBlaXRoZXIgaW4gYSBiYWNrcmVmZXJlbmNlIChcIGZvbGxvd2VkIGJ5IGEgbm9uemVybyBkZWNpbWFsIG51bWJlciksCiAqIHJlZmVyZW5jZWQgaW4gYSByZXBsYWNlIHN0cmluZywKICogb3IgcmV0dXJuZWQgYXMgcGFydCBvZiBhbiBhcnJheSBmcm9tIHRoZSByZWd1bGFyIGV4cHJlc3Npb24gbWF0Y2hpbmcgZnVuY3Rpb24KICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC4yLzE1LjEwLjIuOC9TMTUuMTAuMi44X0EzX1QyOS5qcwogKiBAZGVzY3JpcHRpb24gU2VlIGJ1ZyBodHRwOmJ1Z3ppbGxhLm1vemlsbGEub3JnL3Nob3dfYnVnLmNnaT9pZD0xNjUzNTMKICovCgpfX3N0cmluZyA9ICJhIjsKCl9fZXhlY3V0ZWQgPSAvXihbYS16XSspKlthLXpdJC8uZXhlYyhfX3N0cmluZyk7CgpfX2V4cGVjdGVkID0gWydhJywgdW5kZWZpbmVkXTsKX19leHBlY3RlZC5pbmRleCA9IDA7Cl9fZXhwZWN0ZWQuaW5wdXQgPSBfX3N0cmluZzsKCi8vQ0hFQ0sjMQppZiAoX19leGVjdXRlZC5sZW5ndGggIT09IF9fZXhwZWN0ZWQubGVuZ3RoKSB7CgkkRVJST1IoJyMxOiBfX3N0cmluZyA9ICJhIjsgX19leGVjdXRlZCA9IC9eKFthLXpdKykqW2Etel0kLy5leGVjKF9fc3RyaW5nKTsgX19leGVjdXRlZC5sZW5ndGggPT09ICcgKyBfX2V4cGVjdGVkLmxlbmd0aCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQubGVuZ3RoKTsKfQoKLy9DSEVDSyMyCmlmIChfX2V4ZWN1dGVkLmluZGV4ICE9PSBfX2V4cGVjdGVkLmluZGV4KSB7CgkkRVJST1IoJyMyOiBfX3N0cmluZyA9ICJhIjsgX19leGVjdXRlZCA9IC9eKFthLXpdKykqW2Etel0kLy5leGVjKF9fc3RyaW5nKTsgX19leGVjdXRlZC5pbmRleCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5kZXggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmluZGV4KTsKfQoKLy9DSEVDSyMzCmlmIChfX2V4ZWN1dGVkLmlucHV0ICE9PSBfX2V4cGVjdGVkLmlucHV0KSB7CgkkRVJST1IoJyMzOiBfX3N0cmluZyA9ICJhIjsgX19leGVjdXRlZCA9IC9eKFthLXpdKykqW2Etel0kLy5leGVjKF9fc3RyaW5nKTsgX19leGVjdXRlZC5pbnB1dCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5wdXQgKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmlucHV0KTsKfQoKLy9DSEVDSyM0CmZvcih2YXIgaW5kZXg9MDsgaW5kZXg8X19leHBlY3RlZC5sZW5ndGg7IGluZGV4KyspIHsKCWlmIChfX2V4ZWN1dGVkW2luZGV4XSAhPT0gX19leHBlY3RlZFtpbmRleF0pIHsKCQkkRVJST1IoJyM0OiBfX3N0cmluZyA9ICJhIjsgX19leGVjdXRlZCA9IC9eKFthLXpdKykqW2Etel0kLy5leGVjKF9fc3RyaW5nKTsgX19leGVjdXRlZFsnICsgaW5kZXggKyAnXSA9PT0gJyArIF9fZXhwZWN0ZWRbaW5kZXhdICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZFtpbmRleF0pOwoJfQp9CgoK","commentary":"Parentheses of the form ( Disjunction ) serve both to group the components of the Disjunction pattern together and to save the result of the match.\nThe result can be used either in a backreference (\\ followed by a nonzero decimal number),\nreferenced in a replace string,\nor returned as part of an array from the regular expression matching function","description":"See bug http:bugzilla.mozilla.org/show_bug.cgi?id=165353","path":"TestCases/ch15/15.10/15.10.2/15.10.2.8/S15.10.2.8_A3_T29.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBQYXJlbnRoZXNlcyBvZiB0aGUgZm9ybSAoIERpc2p1bmN0aW9uICkgc2VydmUgYm90aCB0byBncm91cCB0aGUgY29tcG9uZW50cyBvZiB0aGUgRGlzanVuY3Rpb24gcGF0dGVybiB0b2dldGhlciBhbmQgdG8gc2F2ZSB0aGUgcmVzdWx0IG9mIHRoZSBtYXRjaC4KICogVGhlIHJlc3VsdCBjYW4gYmUgdXNlZCBlaXRoZXIgaW4gYSBiYWNrcmVmZXJlbmNlIChcIGZvbGxvd2VkIGJ5IGEgbm9uemVybyBkZWNpbWFsIG51bWJlciksCiAqIHJlZmVyZW5jZWQgaW4gYSByZXBsYWNlIHN0cmluZywKICogb3IgcmV0dXJuZWQgYXMgcGFydCBvZiBhbiBhcnJheSBmcm9tIHRoZSByZWd1bGFyIGV4cHJlc3Npb24gbWF0Y2hpbmcgZnVuY3Rpb24KICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC4yLzE1LjEwLjIuOC9TMTUuMTAuMi44X0EzX1QzLmpzCiAqIEBkZXNjcmlwdGlvbiBFeGVjdXRlIC8oW0pqXWF2YShbU3NdY3JpcHQpPylcc2lzXHMoZnVuXHcqKS8udGVzdCgiRGV2ZWxvcGluZyB3aXRoIEphdmFTY3JpcHQgaXMgZGFuZ2Vyb3VzLCBkbyBub3QgdHJ5IGl0IHdpdGhvdXQgYXNzaXN0YW5jZSIpIGFuZCBjaGVjayByZXN1bHRzCiAqLwoKX19leGVjdXRlZCA9IC8oW0pqXWF2YShbU3NdY3JpcHQpPylcc2lzXHMoZnVuXHcqKS8udGVzdCgiRGV2ZWxvcGluZyB3aXRoIEphdmFTY3JpcHQgaXMgZGFuZ2Vyb3VzLCBkbyBub3QgdHJ5IGl0IHdpdGhvdXQgYXNzaXN0YW5jZSIpOwoKLy9DSEVDSyMxCmlmIChfX2V4ZWN1dGVkKSB7CgkkRVJST1IoJyMxOiAvKFtKal1hdmEoW1NzXWNyaXB0KT8pXFxzaXNcXHMoZnVuXFx3KikvLnRlc3QoIkRldmVsb3Bpbmcgd2l0aCBKYXZhU2NyaXB0IGlzIGRhbmdlcm91cywgZG8gbm90IHRyeSBpdCB3aXRob3V0IGFzc2lzdGFuY2UiKSA9PT0gZmFsc2UnKTsKfQoKCg==","commentary":"Parentheses of the form ( Disjunction ) serve both to group the components of the Disjunction pattern together and to save the result of the match.\nThe result can be used either in a backreference (\\ followed by a nonzero decimal number),\nreferenced in a replace string,\nor returned as part of an array from the regular expression matching function","description":"Execute /([Jj]ava([Ss]cript)?)\\sis\\s(fun\\w*)/.test(\"Developing with JavaScript is dangerous, do not try it without assistance\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.8/S15.10.2.8_A3_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBQYXJlbnRoZXNlcyBvZiB0aGUgZm9ybSAoIERpc2p1bmN0aW9uICkgc2VydmUgYm90aCB0byBncm91cCB0aGUgY29tcG9uZW50cyBvZiB0aGUgRGlzanVuY3Rpb24gcGF0dGVybiB0b2dldGhlciBhbmQgdG8gc2F2ZSB0aGUgcmVzdWx0IG9mIHRoZSBtYXRjaC4KICogVGhlIHJlc3VsdCBjYW4gYmUgdXNlZCBlaXRoZXIgaW4gYSBiYWNrcmVmZXJlbmNlIChcIGZvbGxvd2VkIGJ5IGEgbm9uemVybyBkZWNpbWFsIG51bWJlciksCiAqIHJlZmVyZW5jZWQgaW4gYSByZXBsYWNlIHN0cmluZywKICogb3IgcmV0dXJuZWQgYXMgcGFydCBvZiBhbiBhcnJheSBmcm9tIHRoZSByZWd1bGFyIGV4cHJlc3Npb24gbWF0Y2hpbmcgZnVuY3Rpb24KICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC4yLzE1LjEwLjIuOC9TMTUuMTAuMi44X0EzX1QzMC5qcwogKiBAZGVzY3JpcHRpb24gU2VlIGJ1ZyBodHRwOmJ1Z3ppbGxhLm1vemlsbGEub3JnL3Nob3dfYnVnLmNnaT9pZD0xNjUzNTMKICovCgpfX3N0cmluZyA9ICJhYiI7CgpfX2V4ZWN1dGVkID0gL14oW2Etel0rKSpbYS16XSQvLmV4ZWMoX19zdHJpbmcpOwoKX19leHBlY3RlZCA9IFsnYWInLCAiYSJdOwpfX2V4cGVjdGVkLmluZGV4ID0gMDsKX19leHBlY3RlZC5pbnB1dCA9IF9fc3RyaW5nOwoKLy9DSEVDSyMxCmlmIChfX2V4ZWN1dGVkLmxlbmd0aCAhPT0gX19leHBlY3RlZC5sZW5ndGgpIHsKCSRFUlJPUignIzE6IF9fc3RyaW5nID0gImFiIjsgX19leGVjdXRlZCA9IC9eKFthLXpdKykqW2Etel0kLy5leGVjKF9fc3RyaW5nKTsgX19leGVjdXRlZC5sZW5ndGggPT09ICcgKyBfX2V4cGVjdGVkLmxlbmd0aCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQubGVuZ3RoKTsKfQoKLy9DSEVDSyMyCmlmIChfX2V4ZWN1dGVkLmluZGV4ICE9PSBfX2V4cGVjdGVkLmluZGV4KSB7CgkkRVJST1IoJyMyOiBfX3N0cmluZyA9ICJhYiI7IF9fZXhlY3V0ZWQgPSAvXihbYS16XSspKlthLXpdJC8uZXhlYyhfX3N0cmluZyk7IF9fZXhlY3V0ZWQuaW5kZXggPT09ICcgKyBfX2V4cGVjdGVkLmluZGV4ICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5pbmRleCk7Cn0KCi8vQ0hFQ0sjMwppZiAoX19leGVjdXRlZC5pbnB1dCAhPT0gX19leHBlY3RlZC5pbnB1dCkgewoJJEVSUk9SKCcjMzogX19zdHJpbmcgPSAiYWIiOyBfX2V4ZWN1dGVkID0gL14oW2Etel0rKSpbYS16XSQvLmV4ZWMoX19zdHJpbmcpOyBfX2V4ZWN1dGVkLmlucHV0ID09PSAnICsgX19leHBlY3RlZC5pbnB1dCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5wdXQpOwp9CgovL0NIRUNLIzQKZm9yKHZhciBpbmRleD0wOyBpbmRleDxfX2V4cGVjdGVkLmxlbmd0aDsgaW5kZXgrKykgewoJaWYgKF9fZXhlY3V0ZWRbaW5kZXhdICE9PSBfX2V4cGVjdGVkW2luZGV4XSkgewoJCSRFUlJPUignIzQ6IF9fc3RyaW5nID0gImFiIjsgX19leGVjdXRlZCA9IC9eKFthLXpdKykqW2Etel0kLy5leGVjKF9fc3RyaW5nKTsgX19leGVjdXRlZFsnICsgaW5kZXggKyAnXSA9PT0gJyArIF9fZXhwZWN0ZWRbaW5kZXhdICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZFtpbmRleF0pOwoJfQp9CgoK","commentary":"Parentheses of the form ( Disjunction ) serve both to group the components of the Disjunction pattern together and to save the result of the match.\nThe result can be used either in a backreference (\\ followed by a nonzero decimal number),\nreferenced in a replace string,\nor returned as part of an array from the regular expression matching function","description":"See bug http:bugzilla.mozilla.org/show_bug.cgi?id=165353","path":"TestCases/ch15/15.10/15.10.2/15.10.2.8/S15.10.2.8_A3_T30.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBQYXJlbnRoZXNlcyBvZiB0aGUgZm9ybSAoIERpc2p1bmN0aW9uICkgc2VydmUgYm90aCB0byBncm91cCB0aGUgY29tcG9uZW50cyBvZiB0aGUgRGlzanVuY3Rpb24gcGF0dGVybiB0b2dldGhlciBhbmQgdG8gc2F2ZSB0aGUgcmVzdWx0IG9mIHRoZSBtYXRjaC4KICogVGhlIHJlc3VsdCBjYW4gYmUgdXNlZCBlaXRoZXIgaW4gYSBiYWNrcmVmZXJlbmNlIChcIGZvbGxvd2VkIGJ5IGEgbm9uemVybyBkZWNpbWFsIG51bWJlciksCiAqIHJlZmVyZW5jZWQgaW4gYSByZXBsYWNlIHN0cmluZywKICogb3IgcmV0dXJuZWQgYXMgcGFydCBvZiBhbiBhcnJheSBmcm9tIHRoZSByZWd1bGFyIGV4cHJlc3Npb24gbWF0Y2hpbmcgZnVuY3Rpb24KICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC4yLzE1LjEwLjIuOC9TMTUuMTAuMi44X0EzX1QzMS5qcwogKiBAZGVzY3JpcHRpb24gU2VlIGJ1ZyBodHRwOmJ1Z3ppbGxhLm1vemlsbGEub3JnL3Nob3dfYnVnLmNnaT9pZD0xNjUzNTMKICovCgpfX3N0cmluZyA9ICJhYmMiOwoKX19leGVjdXRlZCA9IC9eKFthLXpdKykqW2Etel0kLy5leGVjKF9fc3RyaW5nKTsKCl9fZXhwZWN0ZWQgPSBbJ2FiYycsICJhYiJdOwpfX2V4cGVjdGVkLmluZGV4ID0gMDsKX19leHBlY3RlZC5pbnB1dCA9IF9fc3RyaW5nOwoKLy9DSEVDSyMxCmlmIChfX2V4ZWN1dGVkLmxlbmd0aCAhPT0gX19leHBlY3RlZC5sZW5ndGgpIHsKCSRFUlJPUignIzE6IF9fc3RyaW5nID0gImFiYyI7IF9fZXhlY3V0ZWQgPSAvXihbYS16XSspKlthLXpdJC8uZXhlYyhfX3N0cmluZyk7IF9fZXhlY3V0ZWQubGVuZ3RoID09PSAnICsgX19leHBlY3RlZC5sZW5ndGggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmxlbmd0aCk7Cn0KCi8vQ0hFQ0sjMgppZiAoX19leGVjdXRlZC5pbmRleCAhPT0gX19leHBlY3RlZC5pbmRleCkgewoJJEVSUk9SKCcjMjogX19zdHJpbmcgPSAiYWJjIjsgX19leGVjdXRlZCA9IC9eKFthLXpdKykqW2Etel0kLy5leGVjKF9fc3RyaW5nKTsgX19leGVjdXRlZC5pbmRleCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5kZXggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmluZGV4KTsKfQoKLy9DSEVDSyMzCmlmIChfX2V4ZWN1dGVkLmlucHV0ICE9PSBfX2V4cGVjdGVkLmlucHV0KSB7CgkkRVJST1IoJyMzOiBfX3N0cmluZyA9ICJhYmMiOyBfX2V4ZWN1dGVkID0gL14oW2Etel0rKSpbYS16XSQvLmV4ZWMoX19zdHJpbmcpOyBfX2V4ZWN1dGVkLmlucHV0ID09PSAnICsgX19leHBlY3RlZC5pbnB1dCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5wdXQpOwp9CgovL0NIRUNLIzQKZm9yKHZhciBpbmRleD0wOyBpbmRleDxfX2V4cGVjdGVkLmxlbmd0aDsgaW5kZXgrKykgewoJaWYgKF9fZXhlY3V0ZWRbaW5kZXhdICE9PSBfX2V4cGVjdGVkW2luZGV4XSkgewoJCSRFUlJPUignIzQ6IF9fc3RyaW5nID0gImFiYyI7IF9fZXhlY3V0ZWQgPSAvXihbYS16XSspKlthLXpdJC8uZXhlYyhfX3N0cmluZyk7IF9fZXhlY3V0ZWRbJyArIGluZGV4ICsgJ10gPT09ICcgKyBfX2V4cGVjdGVkW2luZGV4XSArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWRbaW5kZXhdKTsKCX0KfQoKCg==","commentary":"Parentheses of the form ( Disjunction ) serve both to group the components of the Disjunction pattern together and to save the result of the match.\nThe result can be used either in a backreference (\\ followed by a nonzero decimal number),\nreferenced in a replace string,\nor returned as part of an array from the regular expression matching function","description":"See bug http:bugzilla.mozilla.org/show_bug.cgi?id=165353","path":"TestCases/ch15/15.10/15.10.2/15.10.2.8/S15.10.2.8_A3_T31.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBQYXJlbnRoZXNlcyBvZiB0aGUgZm9ybSAoIERpc2p1bmN0aW9uICkgc2VydmUgYm90aCB0byBncm91cCB0aGUgY29tcG9uZW50cyBvZiB0aGUgRGlzanVuY3Rpb24gcGF0dGVybiB0b2dldGhlciBhbmQgdG8gc2F2ZSB0aGUgcmVzdWx0IG9mIHRoZSBtYXRjaC4KICogVGhlIHJlc3VsdCBjYW4gYmUgdXNlZCBlaXRoZXIgaW4gYSBiYWNrcmVmZXJlbmNlIChcIGZvbGxvd2VkIGJ5IGEgbm9uemVybyBkZWNpbWFsIG51bWJlciksCiAqIHJlZmVyZW5jZWQgaW4gYSByZXBsYWNlIHN0cmluZywKICogb3IgcmV0dXJuZWQgYXMgcGFydCBvZiBhbiBhcnJheSBmcm9tIHRoZSByZWd1bGFyIGV4cHJlc3Npb24gbWF0Y2hpbmcgZnVuY3Rpb24KICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC4yLzE1LjEwLjIuOC9TMTUuMTAuMi44X0EzX1QzMi5qcwogKiBAZGVzY3JpcHRpb24gU2VlIGJ1ZyBodHRwOmJ1Z3ppbGxhLm1vemlsbGEub3JnL3Nob3dfYnVnLmNnaT9pZD0xNjUzNTMKICovCgpfX3N0cmluZyA9ICJ3d3cubmV0c2NhcGUuY29tIjsKCl9fZXhlY3V0ZWQgPSAvXigoW2Etel0rKSpbYS16XVwuKStbYS16XXsyLH0kLy5leGVjKF9fc3RyaW5nKTsKCl9fZXhwZWN0ZWQgPSBbJ3d3dy5uZXRzY2FwZS5jb20nLCAnbmV0c2NhcGUuJywgJ25ldHNjYXAnXTsKX19leHBlY3RlZC5pbmRleCA9IDA7Cl9fZXhwZWN0ZWQuaW5wdXQgPSBfX3N0cmluZzsKCi8vQ0hFQ0sjMQppZiAoX19leGVjdXRlZC5sZW5ndGggIT09IF9fZXhwZWN0ZWQubGVuZ3RoKSB7CgkkRVJST1IoJyMxOiBfX3N0cmluZyA9ICJ3d3cubmV0c2NhcGUuY29tIjsgX19leGVjdXRlZCA9IC9eKChbYS16XSspKlthLXpdXFwuKStbYS16XXsyLH0kLy5leGVjKF9fc3RyaW5nKTsgX19leGVjdXRlZC5sZW5ndGggPT09ICcgKyBfX2V4cGVjdGVkLmxlbmd0aCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQubGVuZ3RoKTsKfQoKLy9DSEVDSyMyCmlmIChfX2V4ZWN1dGVkLmluZGV4ICE9PSBfX2V4cGVjdGVkLmluZGV4KSB7CgkkRVJST1IoJyMyOiBfX3N0cmluZyA9ICJ3d3cubmV0c2NhcGUuY29tIjsgX19leGVjdXRlZCA9IC9eKChbYS16XSspKlthLXpdXFwuKStbYS16XXsyLH0kLy5leGVjKF9fc3RyaW5nKTsgX19leGVjdXRlZC5pbmRleCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5kZXggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmluZGV4KTsKfQoKLy9DSEVDSyMzCmlmIChfX2V4ZWN1dGVkLmlucHV0ICE9PSBfX2V4cGVjdGVkLmlucHV0KSB7CgkkRVJST1IoJyMzOiBfX3N0cmluZyA9ICJ3d3cubmV0c2NhcGUuY29tIjsgX19leGVjdXRlZCA9IC9eKChbYS16XSspKlthLXpdXFwuKStbYS16XXsyLH0kLy5leGVjKF9fc3RyaW5nKTsgX19leGVjdXRlZC5pbnB1dCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5wdXQgKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmlucHV0KTsKfQoKLy9DSEVDSyM0CmZvcih2YXIgaW5kZXg9MDsgaW5kZXg8X19leHBlY3RlZC5sZW5ndGg7IGluZGV4KyspIHsKCWlmIChfX2V4ZWN1dGVkW2luZGV4XSAhPT0gX19leHBlY3RlZFtpbmRleF0pIHsKCQkkRVJST1IoJyM0OiBfX3N0cmluZyA9ICJ3d3cubmV0c2NhcGUuY29tIjsgX19leGVjdXRlZCA9IC9eKChbYS16XSspKlthLXpdXFwuKStbYS16XXsyLH0kLy5leGVjKF9fc3RyaW5nKTsgX19leGVjdXRlZFsnICsgaW5kZXggKyAnXSA9PT0gJyArIF9fZXhwZWN0ZWRbaW5kZXhdICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZFtpbmRleF0pOwoJfQp9CgoK","commentary":"Parentheses of the form ( Disjunction ) serve both to group the components of the Disjunction pattern together and to save the result of the match.\nThe result can be used either in a backreference (\\ followed by a nonzero decimal number),\nreferenced in a replace string,\nor returned as part of an array from the regular expression matching function","description":"See bug http:bugzilla.mozilla.org/show_bug.cgi?id=165353","path":"TestCases/ch15/15.10/15.10.2/15.10.2.8/S15.10.2.8_A3_T32.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBQYXJlbnRoZXNlcyBvZiB0aGUgZm9ybSAoIERpc2p1bmN0aW9uICkgc2VydmUgYm90aCB0byBncm91cCB0aGUgY29tcG9uZW50cyBvZiB0aGUgRGlzanVuY3Rpb24gcGF0dGVybiB0b2dldGhlciBhbmQgdG8gc2F2ZSB0aGUgcmVzdWx0IG9mIHRoZSBtYXRjaC4KICogVGhlIHJlc3VsdCBjYW4gYmUgdXNlZCBlaXRoZXIgaW4gYSBiYWNrcmVmZXJlbmNlIChcIGZvbGxvd2VkIGJ5IGEgbm9uemVybyBkZWNpbWFsIG51bWJlciksCiAqIHJlZmVyZW5jZWQgaW4gYSByZXBsYWNlIHN0cmluZywKICogb3IgcmV0dXJuZWQgYXMgcGFydCBvZiBhbiBhcnJheSBmcm9tIHRoZSByZWd1bGFyIGV4cHJlc3Npb24gbWF0Y2hpbmcgZnVuY3Rpb24KICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC4yLzE1LjEwLjIuOC9TMTUuMTAuMi44X0EzX1QzMy5qcwogKiBAZGVzY3JpcHRpb24gU2VlIGJ1ZyBodHRwOmJ1Z3ppbGxhLm1vemlsbGEub3JnL3Nob3dfYnVnLmNnaT9pZD0xNjUzNTMKICovCgpfX3N0cmluZyA9ICJ3d3cubmV0c2NhcGUuY29tIjsKCl9fZXhlY3V0ZWQgPSAvXigoW2Etel0rKSooW2Etel0pXC4pK1thLXpdezIsfSQvLmV4ZWMoX19zdHJpbmcpOwoKX19leHBlY3RlZCA9IFsnd3d3Lm5ldHNjYXBlLmNvbScsICduZXRzY2FwZS4nLCAnbmV0c2NhcCcsICdlJ107Cl9fZXhwZWN0ZWQuaW5kZXggPSAwOwpfX2V4cGVjdGVkLmlucHV0ID0gX19zdHJpbmc7CgovL0NIRUNLIzEKaWYgKF9fZXhlY3V0ZWQubGVuZ3RoICE9PSBfX2V4cGVjdGVkLmxlbmd0aCkgewoJJEVSUk9SKCcjMTogX19zdHJpbmcgPSAid3d3Lm5ldHNjYXBlLmNvbSI7IF9fZXhlY3V0ZWQgPSAvXigoW2Etel0rKSooW2Etel0pXFwuKStbYS16XXsyLH0kLy5leGVjKF9fc3RyaW5nKTsgX19leGVjdXRlZC5sZW5ndGggPT09ICcgKyBfX2V4cGVjdGVkLmxlbmd0aCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQubGVuZ3RoKTsKfQoKLy9DSEVDSyMyCmlmIChfX2V4ZWN1dGVkLmluZGV4ICE9PSBfX2V4cGVjdGVkLmluZGV4KSB7CgkkRVJST1IoJyMyOiBfX3N0cmluZyA9ICJ3d3cubmV0c2NhcGUuY29tIjsgX19leGVjdXRlZCA9IC9eKChbYS16XSspKihbYS16XSlcXC4pK1thLXpdezIsfSQvLmV4ZWMoX19zdHJpbmcpOyBfX2V4ZWN1dGVkLmluZGV4ID09PSAnICsgX19leHBlY3RlZC5pbmRleCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5kZXgpOwp9CgovL0NIRUNLIzMKaWYgKF9fZXhlY3V0ZWQuaW5wdXQgIT09IF9fZXhwZWN0ZWQuaW5wdXQpIHsKCSRFUlJPUignIzM6IF9fc3RyaW5nID0gInd3dy5uZXRzY2FwZS5jb20iOyBfX2V4ZWN1dGVkID0gL14oKFthLXpdKykqKFthLXpdKVxcLikrW2Etel17Mix9JC8uZXhlYyhfX3N0cmluZyk7IF9fZXhlY3V0ZWQuaW5wdXQgPT09ICcgKyBfX2V4cGVjdGVkLmlucHV0ICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5pbnB1dCk7Cn0KCi8vQ0hFQ0sjNApmb3IodmFyIGluZGV4PTA7IGluZGV4PF9fZXhwZWN0ZWQubGVuZ3RoOyBpbmRleCsrKSB7CglpZiAoX19leGVjdXRlZFtpbmRleF0gIT09IF9fZXhwZWN0ZWRbaW5kZXhdKSB7CgkJJEVSUk9SKCcjNDogX19zdHJpbmcgPSAid3d3Lm5ldHNjYXBlLmNvbSI7IF9fZXhlY3V0ZWQgPSAvXigoW2Etel0rKSooW2Etel0pXFwuKStbYS16XXsyLH0kLy5leGVjKF9fc3RyaW5nKTsgX19leGVjdXRlZFsnICsgaW5kZXggKyAnXSA9PT0gJyArIF9fZXhwZWN0ZWRbaW5kZXhdICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZFtpbmRleF0pOwoJfQp9CgoK","commentary":"Parentheses of the form ( Disjunction ) serve both to group the components of the Disjunction pattern together and to save the result of the match.\nThe result can be used either in a backreference (\\ followed by a nonzero decimal number),\nreferenced in a replace string,\nor returned as part of an array from the regular expression matching function","description":"See bug http:bugzilla.mozilla.org/show_bug.cgi?id=165353","path":"TestCases/ch15/15.10/15.10.2/15.10.2.8/S15.10.2.8_A3_T33.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBQYXJlbnRoZXNlcyBvZiB0aGUgZm9ybSAoIERpc2p1bmN0aW9uICkgc2VydmUgYm90aCB0byBncm91cCB0aGUgY29tcG9uZW50cyBvZiB0aGUgRGlzanVuY3Rpb24gcGF0dGVybiB0b2dldGhlciBhbmQgdG8gc2F2ZSB0aGUgcmVzdWx0IG9mIHRoZSBtYXRjaC4KICogVGhlIHJlc3VsdCBjYW4gYmUgdXNlZCBlaXRoZXIgaW4gYSBiYWNrcmVmZXJlbmNlIChcIGZvbGxvd2VkIGJ5IGEgbm9uemVybyBkZWNpbWFsIG51bWJlciksCiAqIHJlZmVyZW5jZWQgaW4gYSByZXBsYWNlIHN0cmluZywKICogb3IgcmV0dXJuZWQgYXMgcGFydCBvZiBhbiBhcnJheSBmcm9tIHRoZSByZWd1bGFyIGV4cHJlc3Npb24gbWF0Y2hpbmcgZnVuY3Rpb24KICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC4yLzE1LjEwLjIuOC9TMTUuMTAuMi44X0EzX1Q0LmpzCiAqIEBkZXNjcmlwdGlvbiBFeGVjdXRlIC8oYWJjKS8uZXhlYygiYWJjIikgYW5kIGNoZWNrIHJlc3VsdHMKICovCgpfX2V4ZWN1dGVkID0gLyhhYmMpLy5leGVjKCJhYmMiKTsKCl9fZXhwZWN0ZWQgPSBbImFiYyIsImFiYyJdOwpfX2V4cGVjdGVkLmluZGV4ID0gMDsKX19leHBlY3RlZC5pbnB1dCA9ICJhYmMiOwoKLy9DSEVDSyMxCmlmIChfX2V4ZWN1dGVkLmxlbmd0aCAhPT0gX19leHBlY3RlZC5sZW5ndGgpIHsKCSRFUlJPUignIzE6IF9fZXhlY3V0ZWQgPSAvKGFiYykvLmV4ZWMoImFiYyIpOyBfX2V4ZWN1dGVkLmxlbmd0aCA9PT0gJyArIF9fZXhwZWN0ZWQubGVuZ3RoICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5sZW5ndGgpOwp9CgovL0NIRUNLIzIKaWYgKF9fZXhlY3V0ZWQuaW5kZXggIT09IF9fZXhwZWN0ZWQuaW5kZXgpIHsKCSRFUlJPUignIzI6IF9fZXhlY3V0ZWQgPSAvKGFiYykvLmV4ZWMoImFiYyIpOyBfX2V4ZWN1dGVkLmluZGV4ID09PSAnICsgX19leHBlY3RlZC5pbmRleCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5kZXgpOwp9CgovL0NIRUNLIzMKaWYgKF9fZXhlY3V0ZWQuaW5wdXQgIT09IF9fZXhwZWN0ZWQuaW5wdXQpIHsKCSRFUlJPUignIzM6IF9fZXhlY3V0ZWQgPSAvKGFiYykvLmV4ZWMoImFiYyIpOyBfX2V4ZWN1dGVkLmlucHV0ID09PSAnICsgX19leHBlY3RlZC5pbnB1dCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5wdXQpOwp9CgovL0NIRUNLIzQKZm9yKHZhciBpbmRleD0wOyBpbmRleDxfX2V4cGVjdGVkLmxlbmd0aDsgaW5kZXgrKykgewoJaWYgKF9fZXhlY3V0ZWRbaW5kZXhdICE9PSBfX2V4cGVjdGVkW2luZGV4XSkgewoJCSRFUlJPUignIzQ6IF9fZXhlY3V0ZWQgPSAvKGFiYykvLmV4ZWMoImFiYyIpOyBfX2V4ZWN1dGVkWycgKyBpbmRleCArICddID09PSAnICsgX19leHBlY3RlZFtpbmRleF0gKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkW2luZGV4XSk7Cgl9Cn0KCgo=","commentary":"Parentheses of the form ( Disjunction ) serve both to group the components of the Disjunction pattern together and to save the result of the match.\nThe result can be used either in a backreference (\\ followed by a nonzero decimal number),\nreferenced in a replace string,\nor returned as part of an array from the regular expression matching function","description":"Execute /(abc)/.exec(\"abc\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.8/S15.10.2.8_A3_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBQYXJlbnRoZXNlcyBvZiB0aGUgZm9ybSAoIERpc2p1bmN0aW9uICkgc2VydmUgYm90aCB0byBncm91cCB0aGUgY29tcG9uZW50cyBvZiB0aGUgRGlzanVuY3Rpb24gcGF0dGVybiB0b2dldGhlciBhbmQgdG8gc2F2ZSB0aGUgcmVzdWx0IG9mIHRoZSBtYXRjaC4KICogVGhlIHJlc3VsdCBjYW4gYmUgdXNlZCBlaXRoZXIgaW4gYSBiYWNrcmVmZXJlbmNlIChcIGZvbGxvd2VkIGJ5IGEgbm9uemVybyBkZWNpbWFsIG51bWJlciksCiAqIHJlZmVyZW5jZWQgaW4gYSByZXBsYWNlIHN0cmluZywKICogb3IgcmV0dXJuZWQgYXMgcGFydCBvZiBhbiBhcnJheSBmcm9tIHRoZSByZWd1bGFyIGV4cHJlc3Npb24gbWF0Y2hpbmcgZnVuY3Rpb24KICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC4yLzE1LjEwLjIuOC9TMTUuMTAuMi44X0EzX1Q1LmpzCiAqIEBkZXNjcmlwdGlvbiBFeGVjdXRlIC9hKGJjKWQoZWYpZy8uZXhlYygiYWJjZGVmZyIpIGFuZCBjaGVjayByZXN1bHRzCiAqLwoKX19leGVjdXRlZCA9IC9hKGJjKWQoZWYpZy8uZXhlYygiYWJjZGVmZyIpOwoKX19leHBlY3RlZCA9IFsiYWJjZGVmZyIsImJjIiwiZWYiXTsKX19leHBlY3RlZC5pbmRleCA9IDA7Cl9fZXhwZWN0ZWQuaW5wdXQgPSAiYWJjZGVmZyI7CgovL0NIRUNLIzEKaWYgKF9fZXhlY3V0ZWQubGVuZ3RoICE9PSBfX2V4cGVjdGVkLmxlbmd0aCkgewoJJEVSUk9SKCcjMTogX19leGVjdXRlZCA9IC9hKGJjKWQoZWYpZy8uZXhlYygiYWJjZGVmZyIpOyBfX2V4ZWN1dGVkLmxlbmd0aCA9PT0gJyArIF9fZXhwZWN0ZWQubGVuZ3RoICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5sZW5ndGgpOwp9CgovL0NIRUNLIzIKaWYgKF9fZXhlY3V0ZWQuaW5kZXggIT09IF9fZXhwZWN0ZWQuaW5kZXgpIHsKCSRFUlJPUignIzI6IF9fZXhlY3V0ZWQgPSAvYShiYylkKGVmKWcvLmV4ZWMoImFiY2RlZmciKTsgX19leGVjdXRlZC5pbmRleCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5kZXggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmluZGV4KTsKfQoKLy9DSEVDSyMzCmlmIChfX2V4ZWN1dGVkLmlucHV0ICE9PSBfX2V4cGVjdGVkLmlucHV0KSB7CgkkRVJST1IoJyMzOiBfX2V4ZWN1dGVkID0gL2EoYmMpZChlZilnLy5leGVjKCJhYmNkZWZnIik7IF9fZXhlY3V0ZWQuaW5wdXQgPT09ICcgKyBfX2V4cGVjdGVkLmlucHV0ICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5pbnB1dCk7Cn0KCi8vQ0hFQ0sjNApmb3IodmFyIGluZGV4PTA7IGluZGV4PF9fZXhwZWN0ZWQubGVuZ3RoOyBpbmRleCsrKSB7CglpZiAoX19leGVjdXRlZFtpbmRleF0gIT09IF9fZXhwZWN0ZWRbaW5kZXhdKSB7CgkJJEVSUk9SKCcjNDogX19leGVjdXRlZCA9IC9hKGJjKWQoZWYpZy8uZXhlYygiYWJjZGVmZyIpOyBfX2V4ZWN1dGVkWycgKyBpbmRleCArICddID09PSAnICsgX19leHBlY3RlZFtpbmRleF0gKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkW2luZGV4XSk7Cgl9Cn0KCgo=","commentary":"Parentheses of the form ( Disjunction ) serve both to group the components of the Disjunction pattern together and to save the result of the match.\nThe result can be used either in a backreference (\\ followed by a nonzero decimal number),\nreferenced in a replace string,\nor returned as part of an array from the regular expression matching function","description":"Execute /a(bc)d(ef)g/.exec(\"abcdefg\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.8/S15.10.2.8_A3_T5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBQYXJlbnRoZXNlcyBvZiB0aGUgZm9ybSAoIERpc2p1bmN0aW9uICkgc2VydmUgYm90aCB0byBncm91cCB0aGUgY29tcG9uZW50cyBvZiB0aGUgRGlzanVuY3Rpb24gcGF0dGVybiB0b2dldGhlciBhbmQgdG8gc2F2ZSB0aGUgcmVzdWx0IG9mIHRoZSBtYXRjaC4KICogVGhlIHJlc3VsdCBjYW4gYmUgdXNlZCBlaXRoZXIgaW4gYSBiYWNrcmVmZXJlbmNlIChcIGZvbGxvd2VkIGJ5IGEgbm9uemVybyBkZWNpbWFsIG51bWJlciksCiAqIHJlZmVyZW5jZWQgaW4gYSByZXBsYWNlIHN0cmluZywKICogb3IgcmV0dXJuZWQgYXMgcGFydCBvZiBhbiBhcnJheSBmcm9tIHRoZSByZWd1bGFyIGV4cHJlc3Npb24gbWF0Y2hpbmcgZnVuY3Rpb24KICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC4yLzE1LjEwLjIuOC9TMTUuMTAuMi44X0EzX1Q2LmpzCiAqIEBkZXNjcmlwdGlvbiBFeGVjdXRlIC8oLnszfSkoLns0fSkvLmV4ZWMoImFiY2RlZmdoIikgYW5kIGNoZWNrIHJlc3VsdHMKICovCgpfX2V4ZWN1dGVkID0gLyguezN9KSguezR9KS8uZXhlYygiYWJjZGVmZ2giKTsKCl9fZXhwZWN0ZWQgPSBbImFiY2RlZmciLCJhYmMiLCJkZWZnIl07Cl9fZXhwZWN0ZWQuaW5kZXggPSAwOwpfX2V4cGVjdGVkLmlucHV0ID0gImFiY2RlZmdoIjsKCi8vQ0hFQ0sjMQppZiAoX19leGVjdXRlZC5sZW5ndGggIT09IF9fZXhwZWN0ZWQubGVuZ3RoKSB7CgkkRVJST1IoJyMxOiBfX2V4ZWN1dGVkID0gLyguezN9KSguezR9KS8uZXhlYygiYWJjZGVmZ2giKTsgX19leGVjdXRlZC5sZW5ndGggPT09ICcgKyBfX2V4cGVjdGVkLmxlbmd0aCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQubGVuZ3RoKTsKfQoKLy9DSEVDSyMyCmlmIChfX2V4ZWN1dGVkLmluZGV4ICE9PSBfX2V4cGVjdGVkLmluZGV4KSB7CgkkRVJST1IoJyMyOiBfX2V4ZWN1dGVkID0gLyguezN9KSguezR9KS8uZXhlYygiYWJjZGVmZ2giKTsgX19leGVjdXRlZC5pbmRleCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5kZXggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmluZGV4KTsKfQoKLy9DSEVDSyMzCmlmIChfX2V4ZWN1dGVkLmlucHV0ICE9PSBfX2V4cGVjdGVkLmlucHV0KSB7CgkkRVJST1IoJyMzOiBfX2V4ZWN1dGVkID0gLyguezN9KSguezR9KS8uZXhlYygiYWJjZGVmZ2giKTsgX19leGVjdXRlZC5pbnB1dCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5wdXQgKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmlucHV0KTsKfQoKLy9DSEVDSyM0CmZvcih2YXIgaW5kZXg9MDsgaW5kZXg8X19leHBlY3RlZC5sZW5ndGg7IGluZGV4KyspIHsKCWlmIChfX2V4ZWN1dGVkW2luZGV4XSAhPT0gX19leHBlY3RlZFtpbmRleF0pIHsKCQkkRVJST1IoJyM0OiBfX2V4ZWN1dGVkID0gLyguezN9KSguezR9KS8uZXhlYygiYWJjZGVmZ2giKTsgX19leGVjdXRlZFsnICsgaW5kZXggKyAnXSA9PT0gJyArIF9fZXhwZWN0ZWRbaW5kZXhdICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZFtpbmRleF0pOwoJfQp9CgoK","commentary":"Parentheses of the form ( Disjunction ) serve both to group the components of the Disjunction pattern together and to save the result of the match.\nThe result can be used either in a backreference (\\ followed by a nonzero decimal number),\nreferenced in a replace string,\nor returned as part of an array from the regular expression matching function","description":"Execute /(.{3})(.{4})/.exec(\"abcdefgh\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.8/S15.10.2.8_A3_T6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBQYXJlbnRoZXNlcyBvZiB0aGUgZm9ybSAoIERpc2p1bmN0aW9uICkgc2VydmUgYm90aCB0byBncm91cCB0aGUgY29tcG9uZW50cyBvZiB0aGUgRGlzanVuY3Rpb24gcGF0dGVybiB0b2dldGhlciBhbmQgdG8gc2F2ZSB0aGUgcmVzdWx0IG9mIHRoZSBtYXRjaC4KICogVGhlIHJlc3VsdCBjYW4gYmUgdXNlZCBlaXRoZXIgaW4gYSBiYWNrcmVmZXJlbmNlIChcIGZvbGxvd2VkIGJ5IGEgbm9uemVybyBkZWNpbWFsIG51bWJlciksCiAqIHJlZmVyZW5jZWQgaW4gYSByZXBsYWNlIHN0cmluZywKICogb3IgcmV0dXJuZWQgYXMgcGFydCBvZiBhbiBhcnJheSBmcm9tIHRoZSByZWd1bGFyIGV4cHJlc3Npb24gbWF0Y2hpbmcgZnVuY3Rpb24KICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC4yLzE1LjEwLjIuOC9TMTUuMTAuMi44X0EzX1Q3LmpzCiAqIEBkZXNjcmlwdGlvbiBFeGVjdXRlIC8oYWEpYmNkXDEvLmV4ZWMoImFhYmNkYWFiY2QiKSBhbmQgY2hlY2sgcmVzdWx0cwogKi8KCl9fZXhlY3V0ZWQgPSAvKGFhKWJjZFwxLy5leGVjKCJhYWJjZGFhYmNkIik7CgpfX2V4cGVjdGVkID0gWyJhYWJjZGFhIiwiYWEiXTsKX19leHBlY3RlZC5pbmRleCA9IDA7Cl9fZXhwZWN0ZWQuaW5wdXQgPSAiYWFiY2RhYWJjZCI7CgovL0NIRUNLIzEKaWYgKF9fZXhlY3V0ZWQubGVuZ3RoICE9PSBfX2V4cGVjdGVkLmxlbmd0aCkgewoJJEVSUk9SKCcjMTogX19leGVjdXRlZCA9IC8oYWEpYmNkXFwxLy5leGVjKCJhYWJjZGFhYmNkIik7IF9fZXhlY3V0ZWQubGVuZ3RoID09PSAnICsgX19leHBlY3RlZC5sZW5ndGggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmxlbmd0aCk7Cn0KCi8vQ0hFQ0sjMgppZiAoX19leGVjdXRlZC5pbmRleCAhPT0gX19leHBlY3RlZC5pbmRleCkgewoJJEVSUk9SKCcjMjogX19leGVjdXRlZCA9IC8oYWEpYmNkXFwxLy5leGVjKCJhYWJjZGFhYmNkIik7IF9fZXhlY3V0ZWQuaW5kZXggPT09ICcgKyBfX2V4cGVjdGVkLmluZGV4ICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5pbmRleCk7Cn0KCi8vQ0hFQ0sjMwppZiAoX19leGVjdXRlZC5pbnB1dCAhPT0gX19leHBlY3RlZC5pbnB1dCkgewoJJEVSUk9SKCcjMzogX19leGVjdXRlZCA9IC8oYWEpYmNkXFwxLy5leGVjKCJhYWJjZGFhYmNkIik7IF9fZXhlY3V0ZWQuaW5wdXQgPT09ICcgKyBfX2V4cGVjdGVkLmlucHV0ICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5pbnB1dCk7Cn0KCi8vQ0hFQ0sjNApmb3IodmFyIGluZGV4PTA7IGluZGV4PF9fZXhwZWN0ZWQubGVuZ3RoOyBpbmRleCsrKSB7CglpZiAoX19leGVjdXRlZFtpbmRleF0gIT09IF9fZXhwZWN0ZWRbaW5kZXhdKSB7CgkJJEVSUk9SKCcjNDogX19leGVjdXRlZCA9IC8oYWEpYmNkXFwxLy5leGVjKCJhYWJjZGFhYmNkIik7IF9fZXhlY3V0ZWRbJyArIGluZGV4ICsgJ10gPT09ICcgKyBfX2V4cGVjdGVkW2luZGV4XSArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWRbaW5kZXhdKTsKCX0KfQoKCg==","commentary":"Parentheses of the form ( Disjunction ) serve both to group the components of the Disjunction pattern together and to save the result of the match.\nThe result can be used either in a backreference (\\ followed by a nonzero decimal number),\nreferenced in a replace string,\nor returned as part of an array from the regular expression matching function","description":"Execute /(aa)bcd\\1/.exec(\"aabcdaabcd\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.8/S15.10.2.8_A3_T7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBQYXJlbnRoZXNlcyBvZiB0aGUgZm9ybSAoIERpc2p1bmN0aW9uICkgc2VydmUgYm90aCB0byBncm91cCB0aGUgY29tcG9uZW50cyBvZiB0aGUgRGlzanVuY3Rpb24gcGF0dGVybiB0b2dldGhlciBhbmQgdG8gc2F2ZSB0aGUgcmVzdWx0IG9mIHRoZSBtYXRjaC4KICogVGhlIHJlc3VsdCBjYW4gYmUgdXNlZCBlaXRoZXIgaW4gYSBiYWNrcmVmZXJlbmNlIChcIGZvbGxvd2VkIGJ5IGEgbm9uemVybyBkZWNpbWFsIG51bWJlciksCiAqIHJlZmVyZW5jZWQgaW4gYSByZXBsYWNlIHN0cmluZywKICogb3IgcmV0dXJuZWQgYXMgcGFydCBvZiBhbiBhcnJheSBmcm9tIHRoZSByZWd1bGFyIGV4cHJlc3Npb24gbWF0Y2hpbmcgZnVuY3Rpb24KICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC4yLzE1LjEwLjIuOC9TMTUuMTAuMi44X0EzX1Q4LmpzCiAqIEBkZXNjcmlwdGlvbiBFeGVjdXRlIC8oYWEpLitcMS8uZXhlYygiYWFiY2RhYWJjZCIpIGFuZCBjaGVjayByZXN1bHRzCiAqLwoKX19leGVjdXRlZCA9IC8oYWEpLitcMS8uZXhlYygiYWFiY2RhYWJjZCIpOwoKX19leHBlY3RlZCA9IFsiYWFiY2RhYSIsImFhIl07Cl9fZXhwZWN0ZWQuaW5kZXggPSAwOwpfX2V4cGVjdGVkLmlucHV0ID0gImFhYmNkYWFiY2QiOwoKLy9DSEVDSyMxCmlmIChfX2V4ZWN1dGVkLmxlbmd0aCAhPT0gX19leHBlY3RlZC5sZW5ndGgpIHsKCSRFUlJPUignIzE6IF9fZXhlY3V0ZWQgPSAvKGFhKS4rXFwxLy5leGVjKCJhYWJjZGFhYmNkIik7IF9fZXhlY3V0ZWQubGVuZ3RoID09PSAnICsgX19leHBlY3RlZC5sZW5ndGggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmxlbmd0aCk7Cn0KCi8vQ0hFQ0sjMgppZiAoX19leGVjdXRlZC5pbmRleCAhPT0gX19leHBlY3RlZC5pbmRleCkgewoJJEVSUk9SKCcjMjogX19leGVjdXRlZCA9IC8oYWEpLitcXDEvLmV4ZWMoImFhYmNkYWFiY2QiKTsgX19leGVjdXRlZC5pbmRleCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5kZXggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmluZGV4KTsKfQoKLy9DSEVDSyMzCmlmIChfX2V4ZWN1dGVkLmlucHV0ICE9PSBfX2V4cGVjdGVkLmlucHV0KSB7CgkkRVJST1IoJyMzOiBfX2V4ZWN1dGVkID0gLyhhYSkuK1xcMS8uZXhlYygiYWFiY2RhYWJjZCIpOyBfX2V4ZWN1dGVkLmlucHV0ID09PSAnICsgX19leHBlY3RlZC5pbnB1dCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5wdXQpOwp9CgovL0NIRUNLIzQKZm9yKHZhciBpbmRleD0wOyBpbmRleDxfX2V4cGVjdGVkLmxlbmd0aDsgaW5kZXgrKykgewoJaWYgKF9fZXhlY3V0ZWRbaW5kZXhdICE9PSBfX2V4cGVjdGVkW2luZGV4XSkgewoJCSRFUlJPUignIzQ6IF9fZXhlY3V0ZWQgPSAvKGFhKS4rXFwxLy5leGVjKCJhYWJjZGFhYmNkIik7IF9fZXhlY3V0ZWRbJyArIGluZGV4ICsgJ10gPT09ICcgKyBfX2V4cGVjdGVkW2luZGV4XSArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWRbaW5kZXhdKTsKCX0KfQoKCg==","commentary":"Parentheses of the form ( Disjunction ) serve both to group the components of the Disjunction pattern together and to save the result of the match.\nThe result can be used either in a backreference (\\ followed by a nonzero decimal number),\nreferenced in a replace string,\nor returned as part of an array from the regular expression matching function","description":"Execute /(aa).+\\1/.exec(\"aabcdaabcd\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.8/S15.10.2.8_A3_T8.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBQYXJlbnRoZXNlcyBvZiB0aGUgZm9ybSAoIERpc2p1bmN0aW9uICkgc2VydmUgYm90aCB0byBncm91cCB0aGUgY29tcG9uZW50cyBvZiB0aGUgRGlzanVuY3Rpb24gcGF0dGVybiB0b2dldGhlciBhbmQgdG8gc2F2ZSB0aGUgcmVzdWx0IG9mIHRoZSBtYXRjaC4KICogVGhlIHJlc3VsdCBjYW4gYmUgdXNlZCBlaXRoZXIgaW4gYSBiYWNrcmVmZXJlbmNlIChcIGZvbGxvd2VkIGJ5IGEgbm9uemVybyBkZWNpbWFsIG51bWJlciksCiAqIHJlZmVyZW5jZWQgaW4gYSByZXBsYWNlIHN0cmluZywKICogb3IgcmV0dXJuZWQgYXMgcGFydCBvZiBhbiBhcnJheSBmcm9tIHRoZSByZWd1bGFyIGV4cHJlc3Npb24gbWF0Y2hpbmcgZnVuY3Rpb24KICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC4yLzE1LjEwLjIuOC9TMTUuMTAuMi44X0EzX1Q5LmpzCiAqIEBkZXNjcmlwdGlvbiBFeGVjdXRlIC8oLnsyfSkuK1wxLy5leGVjKCJhYWJjZGFhYmNkIikgYW5kIGNoZWNrIHJlc3VsdHMKICovCgpfX2V4ZWN1dGVkID0gLyguezJ9KS4rXDEvLmV4ZWMoImFhYmNkYWFiY2QiKTsKCl9fZXhwZWN0ZWQgPSBbImFhYmNkYWEiLCJhYSJdOwpfX2V4cGVjdGVkLmluZGV4ID0gMDsKX19leHBlY3RlZC5pbnB1dCA9ICJhYWJjZGFhYmNkIjsKCi8vQ0hFQ0sjMQppZiAoX19leGVjdXRlZC5sZW5ndGggIT09IF9fZXhwZWN0ZWQubGVuZ3RoKSB7CgkkRVJST1IoJyMxOiBfX2V4ZWN1dGVkID0gLyguezJ9KS4rXFwxLy5leGVjKCJhYWJjZGFhYmNkIik7IF9fZXhlY3V0ZWQubGVuZ3RoID09PSAnICsgX19leHBlY3RlZC5sZW5ndGggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmxlbmd0aCk7Cn0KCi8vQ0hFQ0sjMgppZiAoX19leGVjdXRlZC5pbmRleCAhPT0gX19leHBlY3RlZC5pbmRleCkgewoJJEVSUk9SKCcjMjogX19leGVjdXRlZCA9IC8oLnsyfSkuK1xcMS8uZXhlYygiYWFiY2RhYWJjZCIpOyBfX2V4ZWN1dGVkLmluZGV4ID09PSAnICsgX19leHBlY3RlZC5pbmRleCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5kZXgpOwp9CgovL0NIRUNLIzMKaWYgKF9fZXhlY3V0ZWQuaW5wdXQgIT09IF9fZXhwZWN0ZWQuaW5wdXQpIHsKCSRFUlJPUignIzM6IF9fZXhlY3V0ZWQgPSAvKC57Mn0pLitcXDEvLmV4ZWMoImFhYmNkYWFiY2QiKTsgX19leGVjdXRlZC5pbnB1dCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5wdXQgKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmlucHV0KTsKfQoKLy9DSEVDSyM0CmZvcih2YXIgaW5kZXg9MDsgaW5kZXg8X19leHBlY3RlZC5sZW5ndGg7IGluZGV4KyspIHsKCWlmIChfX2V4ZWN1dGVkW2luZGV4XSAhPT0gX19leHBlY3RlZFtpbmRleF0pIHsKCQkkRVJST1IoJyM0OiBfX2V4ZWN1dGVkID0gLyguezJ9KS4rXFwxLy5leGVjKCJhYWJjZGFhYmNkIik7IF9fZXhlY3V0ZWRbJyArIGluZGV4ICsgJ10gPT09ICcgKyBfX2V4cGVjdGVkW2luZGV4XSArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWRbaW5kZXhdKTsKCX0KfQoKCg==","commentary":"Parentheses of the form ( Disjunction ) serve both to group the components of the Disjunction pattern together and to save the result of the match.\nThe result can be used either in a backreference (\\ followed by a nonzero decimal number),\nreferenced in a replace string,\nor returned as part of an array from the regular expression matching function","description":"Execute /(.{2}).+\\1/.exec(\"aabcdaabcd\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.8/S15.10.2.8_A3_T9.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBBdG9tIDo6IC4gZXZhbHVhdGVzIGFzIGZvbGxvd3M6CiAqIGkpIExldCBBIGJlIHRoZSBzZXQgb2YgYWxsIGNoYXJhY3RlcnMgZXhjZXB0IHRoZSBmb3VyIGxpbmUgdGVybWluYXRvciBjaGFyYWN0ZXJzIDxMRj4sIDxDUj4sIDxMUz4sIG9yIDxQUz4KICogaWkpIENhbGwgQ2hhcmFjdGVyU2V0TWF0Y2hlcihBLCBmYWxzZSkgYW5kIHJldHVybiBpdHMgTWF0Y2hlciByZXN1bHQKICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC4yLzE1LjEwLjIuOC9TMTUuMTAuMi44X0E0X1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBFeGVjdXRlIC9hYi5kZS8uZXhlYygiYWJjZGUiKSBhbmQgY2hlY2sgcmVzdWx0cwogKi8KCl9fc3RyaW5nID0gImFiY2RlIjsKX19leGVjdXRlZCA9IC9hYi5kZS8uZXhlYyhfX3N0cmluZyk7CgpfX2V4cGVjdGVkID0gWyJhYmNkZSJdOwpfX2V4cGVjdGVkLmluZGV4ID0gMDsKX19leHBlY3RlZC5pbnB1dCA9IF9fc3RyaW5nOwoKLy9DSEVDSyMxCmlmIChfX2V4ZWN1dGVkLmxlbmd0aCAhPT0gX19leHBlY3RlZC5sZW5ndGgpIHsKCSRFUlJPUignIzE6IF9fc3RyaW5nID0gImFiY2RlIjsgX19leGVjdXRlZCA9IC9hYi5kZS8uZXhlYyhfX3N0cmluZyk7IF9fZXhlY3V0ZWQubGVuZ3RoID09PSAnICsgX19leHBlY3RlZC5sZW5ndGggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmxlbmd0aCk7Cn0KCi8vQ0hFQ0sjMgppZiAoX19leGVjdXRlZC5pbmRleCAhPT0gX19leHBlY3RlZC5pbmRleCkgewoJJEVSUk9SKCcjMjogX19zdHJpbmcgPSAiYWJjZGUiOyBfX2V4ZWN1dGVkID0gL2FiLmRlLy5leGVjKF9fc3RyaW5nKTsgX19leGVjdXRlZC5pbmRleCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5kZXggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmluZGV4KTsKfQoKLy9DSEVDSyMzCmlmIChfX2V4ZWN1dGVkLmlucHV0ICE9PSBfX2V4cGVjdGVkLmlucHV0KSB7CgkkRVJST1IoJyMzOiBfX3N0cmluZyA9ICJhYmNkZSI7IF9fZXhlY3V0ZWQgPSAvYWIuZGUvLmV4ZWMoX19zdHJpbmcpOyBfX2V4ZWN1dGVkLmlucHV0ID09PSAnICsgX19leHBlY3RlZC5pbnB1dCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5wdXQpOwp9CgovL0NIRUNLIzQKZm9yKHZhciBpbmRleD0wOyBpbmRleDxfX2V4cGVjdGVkLmxlbmd0aDsgaW5kZXgrKykgewoJaWYgKF9fZXhlY3V0ZWRbaW5kZXhdICE9PSBfX2V4cGVjdGVkW2luZGV4XSkgewoJCSRFUlJPUignIzQ6IF9fc3RyaW5nID0gImFiY2RlIjsgX19leGVjdXRlZCA9IC9hYi5kZS8uZXhlYyhfX3N0cmluZyk7IF9fZXhlY3V0ZWRbJyArIGluZGV4ICsgJ10gPT09ICcgKyBfX2V4cGVjdGVkW2luZGV4XSArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWRbaW5kZXhdKTsKCX0KfQoKCg==","commentary":"The production Atom :: . evaluates as follows:\ni) Let A be the set of all characters except the four line terminator characters <LF>, <CR>, <LS>, or <PS>\nii) Call CharacterSetMatcher(A, false) and return its Matcher result","description":"Execute /ab.de/.exec(\"abcde\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.8/S15.10.2.8_A4_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBBdG9tIDo6IC4gZXZhbHVhdGVzIGFzIGZvbGxvd3M6CiAqIGkpIExldCBBIGJlIHRoZSBzZXQgb2YgYWxsIGNoYXJhY3RlcnMgZXhjZXB0IHRoZSBmb3VyIGxpbmUgdGVybWluYXRvciBjaGFyYWN0ZXJzIDxMRj4sIDxDUj4sIDxMUz4sIG9yIDxQUz4KICogaWkpIENhbGwgQ2hhcmFjdGVyU2V0TWF0Y2hlcihBLCBmYWxzZSkgYW5kIHJldHVybiBpdHMgTWF0Y2hlciByZXN1bHQKICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC4yLzE1LjEwLjIuOC9TMTUuMTAuMi44X0E0X1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBFeGVjdXRlIC8uKy8uZXhlYygibGluZSAxXG5saW5lIDIiKSBhbmQgY2hlY2sgcmVzdWx0cwogKi8KCl9fc3RyaW5nID0gImxpbmUgMVxubGluZSAyIjsKX19leGVjdXRlZCA9IC8uKy8uZXhlYyhfX3N0cmluZyk7CgpfX2V4cGVjdGVkID0gWyJsaW5lIDEiXTsKX19leHBlY3RlZC5pbmRleCA9IDA7Cl9fZXhwZWN0ZWQuaW5wdXQgPSBfX3N0cmluZzsKCi8vQ0hFQ0sjMQppZiAoX19leGVjdXRlZC5sZW5ndGggIT09IF9fZXhwZWN0ZWQubGVuZ3RoKSB7CgkkRVJST1IoJyMxOiBfX3N0cmluZyA9ICJsaW5lIDFcbmxpbmUgMiI7IF9fZXhlY3V0ZWQgPSAvLisvLmV4ZWMoX19zdHJpbmcpOyBfX2V4ZWN1dGVkLmxlbmd0aCA9PT0gJyArIF9fZXhwZWN0ZWQubGVuZ3RoICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5sZW5ndGgpOwp9CgovL0NIRUNLIzIKaWYgKF9fZXhlY3V0ZWQuaW5kZXggIT09IF9fZXhwZWN0ZWQuaW5kZXgpIHsKCSRFUlJPUignIzI6IF9fc3RyaW5nID0gImxpbmUgMVxubGluZSAyIjsgX19leGVjdXRlZCA9IC8uKy8uZXhlYyhfX3N0cmluZyk7IF9fZXhlY3V0ZWQuaW5kZXggPT09ICcgKyBfX2V4cGVjdGVkLmluZGV4ICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5pbmRleCk7Cn0KCi8vQ0hFQ0sjMwppZiAoX19leGVjdXRlZC5pbnB1dCAhPT0gX19leHBlY3RlZC5pbnB1dCkgewoJJEVSUk9SKCcjMzogX19zdHJpbmcgPSAibGluZSAxXG5saW5lIDIiOyBfX2V4ZWN1dGVkID0gLy4rLy5leGVjKF9fc3RyaW5nKTsgX19leGVjdXRlZC5pbnB1dCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5wdXQgKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmlucHV0KTsKfQoKLy9DSEVDSyM0CmZvcih2YXIgaW5kZXg9MDsgaW5kZXg8X19leHBlY3RlZC5sZW5ndGg7IGluZGV4KyspIHsKCWlmIChfX2V4ZWN1dGVkW2luZGV4XSAhPT0gX19leHBlY3RlZFtpbmRleF0pIHsKCQkkRVJST1IoJyM0OiBfX3N0cmluZyA9ICJsaW5lIDFcbmxpbmUgMiI7IF9fZXhlY3V0ZWQgPSAvLisvLmV4ZWMoX19zdHJpbmcpOyBfX2V4ZWN1dGVkWycgKyBpbmRleCArICddID09PSAnICsgX19leHBlY3RlZFtpbmRleF0gKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkW2luZGV4XSk7Cgl9Cn0KCgo=","commentary":"The production Atom :: . evaluates as follows:\ni) Let A be the set of all characters except the four line terminator characters <LF>, <CR>, <LS>, or <PS>\nii) Call CharacterSetMatcher(A, false) and return its Matcher result","description":"Execute /.+/.exec(\"line 1\\nline 2\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.8/S15.10.2.8_A4_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBBdG9tIDo6IC4gZXZhbHVhdGVzIGFzIGZvbGxvd3M6CiAqIGkpIExldCBBIGJlIHRoZSBzZXQgb2YgYWxsIGNoYXJhY3RlcnMgZXhjZXB0IHRoZSBmb3VyIGxpbmUgdGVybWluYXRvciBjaGFyYWN0ZXJzIDxMRj4sIDxDUj4sIDxMUz4sIG9yIDxQUz4KICogaWkpIENhbGwgQ2hhcmFjdGVyU2V0TWF0Y2hlcihBLCBmYWxzZSkgYW5kIHJldHVybiBpdHMgTWF0Y2hlciByZXN1bHQKICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC4yLzE1LjEwLjIuOC9TMTUuMTAuMi44X0E0X1QzLmpzCiAqIEBkZXNjcmlwdGlvbiBFeGVjdXRlIC8uKmEuKiAvLmV4ZWMoInRoaXMgaXMgYSB0ZXN0IikgYW5kIGNoZWNrIHJlc3VsdHMKICovCgpfX3N0cmluZyA9ICJ0aGlzIGlzIGEgdGVzdCI7Cl9fZXhlY3V0ZWQgPSAvLiphLiovLmV4ZWMoX19zdHJpbmcpOwoKX19leHBlY3RlZCA9IFsidGhpcyBpcyBhIHRlc3QiXTsKX19leHBlY3RlZC5pbmRleCA9IDA7Cl9fZXhwZWN0ZWQuaW5wdXQgPSBfX3N0cmluZzsKCi8vQ0hFQ0sjMQppZiAoX19leGVjdXRlZC5sZW5ndGggIT09IF9fZXhwZWN0ZWQubGVuZ3RoKSB7CgkkRVJST1IoJyMxOiBfX3N0cmluZyA9ICJ0aGlzIGlzIGEgdGVzdCI7IF9fZXhlY3V0ZWQgPSAvLiphLiovLmV4ZWMoX19zdHJpbmcpOyBfX2V4ZWN1dGVkLmxlbmd0aCA9PT0gJyArIF9fZXhwZWN0ZWQubGVuZ3RoICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5sZW5ndGgpOwp9CgovL0NIRUNLIzIKaWYgKF9fZXhlY3V0ZWQuaW5kZXggIT09IF9fZXhwZWN0ZWQuaW5kZXgpIHsKCSRFUlJPUignIzI6IF9fc3RyaW5nID0gInRoaXMgaXMgYSB0ZXN0IjsgX19leGVjdXRlZCA9IC8uKmEuKi8uZXhlYyhfX3N0cmluZyk7IF9fZXhlY3V0ZWQuaW5kZXggPT09ICcgKyBfX2V4cGVjdGVkLmluZGV4ICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5pbmRleCk7Cn0KCi8vQ0hFQ0sjMwppZiAoX19leGVjdXRlZC5pbnB1dCAhPT0gX19leHBlY3RlZC5pbnB1dCkgewoJJEVSUk9SKCcjMzogX19zdHJpbmcgPSAidGhpcyBpcyBhIHRlc3QiOyBfX2V4ZWN1dGVkID0gLy4qYS4qLy5leGVjKF9fc3RyaW5nKTsgX19leGVjdXRlZC5pbnB1dCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5wdXQgKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmlucHV0KTsKfQoKLy9DSEVDSyM0CmZvcih2YXIgaW5kZXg9MDsgaW5kZXg8X19leHBlY3RlZC5sZW5ndGg7IGluZGV4KyspIHsKCWlmIChfX2V4ZWN1dGVkW2luZGV4XSAhPT0gX19leHBlY3RlZFtpbmRleF0pIHsKCQkkRVJST1IoJyM0OiBfX3N0cmluZyA9ICJ0aGlzIGlzIGEgdGVzdCI7IF9fZXhlY3V0ZWQgPSAvLiphLiovLmV4ZWMoX19zdHJpbmcpOyBfX2V4ZWN1dGVkWycgKyBpbmRleCArICddID09PSAnICsgX19leHBlY3RlZFtpbmRleF0gKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkW2luZGV4XSk7Cgl9Cn0KCgo=","commentary":"The production Atom :: . evaluates as follows:\ni) Let A be the set of all characters except the four line terminator characters <LF>, <CR>, <LS>, or <PS>\nii) Call CharacterSetMatcher(A, false) and return its Matcher result","description":"Execute /.*a.* /.exec(\"this is a test\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.8/S15.10.2.8_A4_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBBdG9tIDo6IC4gZXZhbHVhdGVzIGFzIGZvbGxvd3M6CiAqIGkpIExldCBBIGJlIHRoZSBzZXQgb2YgYWxsIGNoYXJhY3RlcnMgZXhjZXB0IHRoZSBmb3VyIGxpbmUgdGVybWluYXRvciBjaGFyYWN0ZXJzIDxMRj4sIDxDUj4sIDxMUz4sIG9yIDxQUz4KICogaWkpIENhbGwgQ2hhcmFjdGVyU2V0TWF0Y2hlcihBLCBmYWxzZSkgYW5kIHJldHVybiBpdHMgTWF0Y2hlciByZXN1bHQKICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC4yLzE1LjEwLjIuOC9TMTUuMTAuMi44X0E0X1Q0LmpzCiAqIEBkZXNjcmlwdGlvbiBFeGVjdXRlIC8uKy8uZXhlYygidGhpcyBpcyBhIComXiUkIyB0ZXN0IikgYW5kIGNoZWNrIHJlc3VsdHMKICovCgpfX3N0cmluZyA9ICJ0aGlzIGlzIGEgKiZeJSQjIHRlc3QiOwpfX2V4ZWN1dGVkID0gLy4rLy5leGVjKF9fc3RyaW5nKTsKCl9fZXhwZWN0ZWQgPSBbInRoaXMgaXMgYSAqJl4lJCMgdGVzdCJdOwpfX2V4cGVjdGVkLmluZGV4ID0gMDsKX19leHBlY3RlZC5pbnB1dCA9IF9fc3RyaW5nOwoKLy9DSEVDSyMxCmlmIChfX2V4ZWN1dGVkLmxlbmd0aCAhPT0gX19leHBlY3RlZC5sZW5ndGgpIHsKCSRFUlJPUignIzE6IF9fc3RyaW5nID0gInRoaXMgaXMgYSAqJl4lJCMgdGVzdCI7IF9fZXhlY3V0ZWQgPSAvLisvLmV4ZWMoX19zdHJpbmcpOyBfX2V4ZWN1dGVkLmxlbmd0aCA9PT0gJyArIF9fZXhwZWN0ZWQubGVuZ3RoICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5sZW5ndGgpOwp9CgovL0NIRUNLIzIKaWYgKF9fZXhlY3V0ZWQuaW5kZXggIT09IF9fZXhwZWN0ZWQuaW5kZXgpIHsKCSRFUlJPUignIzI6IF9fc3RyaW5nID0gInRoaXMgaXMgYSAqJl4lJCMgdGVzdCI7IF9fZXhlY3V0ZWQgPSAvLisvLmV4ZWMoX19zdHJpbmcpOyBfX2V4ZWN1dGVkLmluZGV4ID09PSAnICsgX19leHBlY3RlZC5pbmRleCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5kZXgpOwp9CgovL0NIRUNLIzMKaWYgKF9fZXhlY3V0ZWQuaW5wdXQgIT09IF9fZXhwZWN0ZWQuaW5wdXQpIHsKCSRFUlJPUignIzM6IF9fc3RyaW5nID0gInRoaXMgaXMgYSAqJl4lJCMgdGVzdCI7IF9fZXhlY3V0ZWQgPSAvLisvLmV4ZWMoX19zdHJpbmcpOyBfX2V4ZWN1dGVkLmlucHV0ID09PSAnICsgX19leHBlY3RlZC5pbnB1dCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5wdXQpOwp9CgovL0NIRUNLIzQKZm9yKHZhciBpbmRleD0wOyBpbmRleDxfX2V4cGVjdGVkLmxlbmd0aDsgaW5kZXgrKykgewoJaWYgKF9fZXhlY3V0ZWRbaW5kZXhdICE9PSBfX2V4cGVjdGVkW2luZGV4XSkgewoJCSRFUlJPUignIzQ6IF9fc3RyaW5nID0gInRoaXMgaXMgYSAqJl4lJCMgdGVzdCI7IF9fZXhlY3V0ZWQgPSAvLisvLmV4ZWMoX19zdHJpbmcpOyBfX2V4ZWN1dGVkWycgKyBpbmRleCArICddID09PSAnICsgX19leHBlY3RlZFtpbmRleF0gKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkW2luZGV4XSk7Cgl9Cn0KCgo=","commentary":"The production Atom :: . evaluates as follows:\ni) Let A be the set of all characters except the four line terminator characters <LF>, <CR>, <LS>, or <PS>\nii) Call CharacterSetMatcher(A, false) and return its Matcher result","description":"Execute /.+/.exec(\"this is a *&^%$# test\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.8/S15.10.2.8_A4_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBBdG9tIDo6IC4gZXZhbHVhdGVzIGFzIGZvbGxvd3M6CiAqIGkpIExldCBBIGJlIHRoZSBzZXQgb2YgYWxsIGNoYXJhY3RlcnMgZXhjZXB0IHRoZSBmb3VyIGxpbmUgdGVybWluYXRvciBjaGFyYWN0ZXJzIDxMRj4sIDxDUj4sIDxMUz4sIG9yIDxQUz4KICogaWkpIENhbGwgQ2hhcmFjdGVyU2V0TWF0Y2hlcihBLCBmYWxzZSkgYW5kIHJldHVybiBpdHMgTWF0Y2hlciByZXN1bHQKICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC4yLzE1LjEwLjIuOC9TMTUuMTAuMi44X0E0X1Q1LmpzCiAqIEBkZXNjcmlwdGlvbiBFeGVjdXRlIC8uKy8uZXhlYygiLi4uLiIpIGFuZCBjaGVjayByZXN1bHRzCiAqLwoKX19zdHJpbmcgPSAiLi4uLiI7Cl9fZXhlY3V0ZWQgPSAvLisvLmV4ZWMoX19zdHJpbmcpOwoKX19leHBlY3RlZCA9IFsiLi4uLiJdOwpfX2V4cGVjdGVkLmluZGV4ID0gMDsKX19leHBlY3RlZC5pbnB1dCA9IF9fc3RyaW5nOwoKLy9DSEVDSyMxCmlmIChfX2V4ZWN1dGVkLmxlbmd0aCAhPT0gX19leHBlY3RlZC5sZW5ndGgpIHsKCSRFUlJPUignIzE6IF9fc3RyaW5nID0gIi4uLi4iOyBfX2V4ZWN1dGVkID0gLy4rLy5leGVjKF9fc3RyaW5nKTsgX19leGVjdXRlZC5sZW5ndGggPT09ICcgKyBfX2V4cGVjdGVkLmxlbmd0aCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQubGVuZ3RoKTsKfQoKLy9DSEVDSyMyCmlmIChfX2V4ZWN1dGVkLmluZGV4ICE9PSBfX2V4cGVjdGVkLmluZGV4KSB7CgkkRVJST1IoJyMyOiBfX3N0cmluZyA9ICIuLi4uIjsgX19leGVjdXRlZCA9IC8uKy8uZXhlYyhfX3N0cmluZyk7IF9fZXhlY3V0ZWQuaW5kZXggPT09ICcgKyBfX2V4cGVjdGVkLmluZGV4ICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5pbmRleCk7Cn0KCi8vQ0hFQ0sjMwppZiAoX19leGVjdXRlZC5pbnB1dCAhPT0gX19leHBlY3RlZC5pbnB1dCkgewoJJEVSUk9SKCcjMzogX19zdHJpbmcgPSAiLi4uLiI7IF9fZXhlY3V0ZWQgPSAvLisvLmV4ZWMoX19zdHJpbmcpOyBfX2V4ZWN1dGVkLmlucHV0ID09PSAnICsgX19leHBlY3RlZC5pbnB1dCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5wdXQpOwp9CgovL0NIRUNLIzQKZm9yKHZhciBpbmRleD0wOyBpbmRleDxfX2V4cGVjdGVkLmxlbmd0aDsgaW5kZXgrKykgewoJaWYgKF9fZXhlY3V0ZWRbaW5kZXhdICE9PSBfX2V4cGVjdGVkW2luZGV4XSkgewoJCSRFUlJPUignIzQ6IF9fc3RyaW5nID0gIi4uLi4iOyBfX2V4ZWN1dGVkID0gLy4rLy5leGVjKF9fc3RyaW5nKTsgX19leGVjdXRlZFsnICsgaW5kZXggKyAnXSA9PT0gJyArIF9fZXhwZWN0ZWRbaW5kZXhdICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZFtpbmRleF0pOwoJfQp9CgoK","commentary":"The production Atom :: . evaluates as follows:\ni) Let A be the set of all characters except the four line terminator characters <LF>, <CR>, <LS>, or <PS>\nii) Call CharacterSetMatcher(A, false) and return its Matcher result","description":"Execute /.+/.exec(\"....\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.8/S15.10.2.8_A4_T5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBBdG9tIDo6IC4gZXZhbHVhdGVzIGFzIGZvbGxvd3M6CiAqIGkpIExldCBBIGJlIHRoZSBzZXQgb2YgYWxsIGNoYXJhY3RlcnMgZXhjZXB0IHRoZSBmb3VyIGxpbmUgdGVybWluYXRvciBjaGFyYWN0ZXJzIDxMRj4sIDxDUj4sIDxMUz4sIG9yIDxQUz4KICogaWkpIENhbGwgQ2hhcmFjdGVyU2V0TWF0Y2hlcihBLCBmYWxzZSkgYW5kIHJldHVybiBpdHMgTWF0Y2hlciByZXN1bHQKICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC4yLzE1LjEwLjIuOC9TMTUuMTAuMi44X0E0X1Q2LmpzCiAqIEBkZXNjcmlwdGlvbiBFeGVjdXRlIC8uKy8uZXhlYygiYWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXoiKSBhbmQgY2hlY2sgcmVzdWx0cwogKi8KCl9fc3RyaW5nID0gImFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6IjsKX19leGVjdXRlZCA9IC8uKy8uZXhlYyhfX3N0cmluZyk7CgpfX2V4cGVjdGVkID0gWyJhYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5eiJdOwpfX2V4cGVjdGVkLmluZGV4ID0gMDsKX19leHBlY3RlZC5pbnB1dCA9IF9fc3RyaW5nOwoKLy9DSEVDSyMxCmlmIChfX2V4ZWN1dGVkLmxlbmd0aCAhPT0gX19leHBlY3RlZC5sZW5ndGgpIHsKCSRFUlJPUignIzE6IF9fc3RyaW5nID0gImFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6IjsgX19leGVjdXRlZCA9IC8uKy8uZXhlYyhfX3N0cmluZyk7IF9fZXhlY3V0ZWQubGVuZ3RoID09PSAnICsgX19leHBlY3RlZC5sZW5ndGggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmxlbmd0aCk7Cn0KCi8vQ0hFQ0sjMgppZiAoX19leGVjdXRlZC5pbmRleCAhPT0gX19leHBlY3RlZC5pbmRleCkgewoJJEVSUk9SKCcjMjogX19zdHJpbmcgPSAiYWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXoiOyBfX2V4ZWN1dGVkID0gLy4rLy5leGVjKF9fc3RyaW5nKTsgX19leGVjdXRlZC5pbmRleCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5kZXggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmluZGV4KTsKfQoKLy9DSEVDSyMzCmlmIChfX2V4ZWN1dGVkLmlucHV0ICE9PSBfX2V4cGVjdGVkLmlucHV0KSB7CgkkRVJST1IoJyMzOiBfX3N0cmluZyA9ICJhYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5eiI7IF9fZXhlY3V0ZWQgPSAvLisvLmV4ZWMoX19zdHJpbmcpOyBfX2V4ZWN1dGVkLmlucHV0ID09PSAnICsgX19leHBlY3RlZC5pbnB1dCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5wdXQpOwp9CgovL0NIRUNLIzQKZm9yKHZhciBpbmRleD0wOyBpbmRleDxfX2V4cGVjdGVkLmxlbmd0aDsgaW5kZXgrKykgewoJaWYgKF9fZXhlY3V0ZWRbaW5kZXhdICE9PSBfX2V4cGVjdGVkW2luZGV4XSkgewoJCSRFUlJPUignIzQ6IF9fc3RyaW5nID0gImFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6IjsgX19leGVjdXRlZCA9IC8uKy8uZXhlYyhfX3N0cmluZyk7IF9fZXhlY3V0ZWRbJyArIGluZGV4ICsgJ10gPT09ICcgKyBfX2V4cGVjdGVkW2luZGV4XSArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWRbaW5kZXhdKTsKCX0KfQoKCg==","commentary":"The production Atom :: . evaluates as follows:\ni) Let A be the set of all characters except the four line terminator characters <LF>, <CR>, <LS>, or <PS>\nii) Call CharacterSetMatcher(A, false) and return its Matcher result","description":"Execute /.+/.exec(\"abcdefghijklmnopqrstuvwxyz\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.8/S15.10.2.8_A4_T6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBBdG9tIDo6IC4gZXZhbHVhdGVzIGFzIGZvbGxvd3M6CiAqIGkpIExldCBBIGJlIHRoZSBzZXQgb2YgYWxsIGNoYXJhY3RlcnMgZXhjZXB0IHRoZSBmb3VyIGxpbmUgdGVybWluYXRvciBjaGFyYWN0ZXJzIDxMRj4sIDxDUj4sIDxMUz4sIG9yIDxQUz4KICogaWkpIENhbGwgQ2hhcmFjdGVyU2V0TWF0Y2hlcihBLCBmYWxzZSkgYW5kIHJldHVybiBpdHMgTWF0Y2hlciByZXN1bHQKICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC4yLzE1LjEwLjIuOC9TMTUuMTAuMi44X0E0X1Q3LmpzCiAqIEBkZXNjcmlwdGlvbiBFeGVjdXRlIC8uKy8uZXhlYygiQUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVoiKSBhbmQgY2hlY2sgcmVzdWx0cwogKi8KCl9fc3RyaW5nID0gIkFCQ0RFRkdISUpLTE1OT1BRUlNUVVZXWFlaIjsKX19leGVjdXRlZCA9IC8uKy8uZXhlYyhfX3N0cmluZyk7CgpfX2V4cGVjdGVkID0gWyJBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWiJdOwpfX2V4cGVjdGVkLmluZGV4ID0gMDsKX19leHBlY3RlZC5pbnB1dCA9IF9fc3RyaW5nOwoKLy9DSEVDSyMxCmlmIChfX2V4ZWN1dGVkLmxlbmd0aCAhPT0gX19leHBlY3RlZC5sZW5ndGgpIHsKCSRFUlJPUignIzE6IF9fc3RyaW5nID0gIkFCQ0RFRkdISUpLTE1OT1BRUlNUVVZXWFlaIjsgX19leGVjdXRlZCA9IC8uKy8uZXhlYyhfX3N0cmluZyk7IF9fZXhlY3V0ZWQubGVuZ3RoID09PSAnICsgX19leHBlY3RlZC5sZW5ndGggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmxlbmd0aCk7Cn0KCi8vQ0hFQ0sjMgppZiAoX19leGVjdXRlZC5pbmRleCAhPT0gX19leHBlY3RlZC5pbmRleCkgewoJJEVSUk9SKCcjMjogX19zdHJpbmcgPSAiQUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVoiOyBfX2V4ZWN1dGVkID0gLy4rLy5leGVjKF9fc3RyaW5nKTsgX19leGVjdXRlZC5pbmRleCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5kZXggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmluZGV4KTsKfQoKLy9DSEVDSyMzCmlmIChfX2V4ZWN1dGVkLmlucHV0ICE9PSBfX2V4cGVjdGVkLmlucHV0KSB7CgkkRVJST1IoJyMzOiBfX3N0cmluZyA9ICJBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWiI7IF9fZXhlY3V0ZWQgPSAvLisvLmV4ZWMoX19zdHJpbmcpOyBfX2V4ZWN1dGVkLmlucHV0ID09PSAnICsgX19leHBlY3RlZC5pbnB1dCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5wdXQpOwp9CgovL0NIRUNLIzQKZm9yKHZhciBpbmRleD0wOyBpbmRleDxfX2V4cGVjdGVkLmxlbmd0aDsgaW5kZXgrKykgewoJaWYgKF9fZXhlY3V0ZWRbaW5kZXhdICE9PSBfX2V4cGVjdGVkW2luZGV4XSkgewoJCSRFUlJPUignIzQ6IF9fc3RyaW5nID0gIkFCQ0RFRkdISUpLTE1OT1BRUlNUVVZXWFlaIjsgX19leGVjdXRlZCA9IC8uKy8uZXhlYyhfX3N0cmluZyk7IF9fZXhlY3V0ZWRbJyArIGluZGV4ICsgJ10gPT09ICcgKyBfX2V4cGVjdGVkW2luZGV4XSArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWRbaW5kZXhdKTsKCX0KfQoKCg==","commentary":"The production Atom :: . evaluates as follows:\ni) Let A be the set of all characters except the four line terminator characters <LF>, <CR>, <LS>, or <PS>\nii) Call CharacterSetMatcher(A, false) and return its Matcher result","description":"Execute /.+/.exec(\"ABCDEFGHIJKLMNOPQRSTUVWXYZ\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.8/S15.10.2.8_A4_T7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBBdG9tIDo6IC4gZXZhbHVhdGVzIGFzIGZvbGxvd3M6CiAqIGkpIExldCBBIGJlIHRoZSBzZXQgb2YgYWxsIGNoYXJhY3RlcnMgZXhjZXB0IHRoZSBmb3VyIGxpbmUgdGVybWluYXRvciBjaGFyYWN0ZXJzIDxMRj4sIDxDUj4sIDxMUz4sIG9yIDxQUz4KICogaWkpIENhbGwgQ2hhcmFjdGVyU2V0TWF0Y2hlcihBLCBmYWxzZSkgYW5kIHJldHVybiBpdHMgTWF0Y2hlciByZXN1bHQKICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC4yLzE1LjEwLjIuOC9TMTUuMTAuMi44X0E0X1Q4LmpzCiAqIEBkZXNjcmlwdGlvbiBFeGVjdXRlIC8uKy8uZXhlYygiYDEyMzQ1Njc4OTAtPX4hQCMkJV4mKigpXysiKSBhbmQgY2hlY2sgcmVzdWx0cwogKi8KCl9fc3RyaW5nID0gImAxMjM0NTY3ODkwLT1+IUAjJCVeJiooKV8rIjsKX19leGVjdXRlZCA9IC8uKy8uZXhlYyhfX3N0cmluZyk7CgpfX2V4cGVjdGVkID0gWyJgMTIzNDU2Nzg5MC09fiFAIyQlXiYqKClfKyJdOwpfX2V4cGVjdGVkLmluZGV4ID0gMDsKX19leHBlY3RlZC5pbnB1dCA9IF9fc3RyaW5nOwoKLy9DSEVDSyMxCmlmIChfX2V4ZWN1dGVkLmxlbmd0aCAhPT0gX19leHBlY3RlZC5sZW5ndGgpIHsKCSRFUlJPUignIzE6IF9fc3RyaW5nID0gImAxMjM0NTY3ODkwLT1+IUAjJCVeJiooKV8rIjsgX19leGVjdXRlZCA9IC8uKy8uZXhlYyhfX3N0cmluZyk7IF9fZXhlY3V0ZWQubGVuZ3RoID09PSAnICsgX19leHBlY3RlZC5sZW5ndGggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmxlbmd0aCk7Cn0KCi8vQ0hFQ0sjMgppZiAoX19leGVjdXRlZC5pbmRleCAhPT0gX19leHBlY3RlZC5pbmRleCkgewoJJEVSUk9SKCcjMjogX19zdHJpbmcgPSAiYDEyMzQ1Njc4OTAtPX4hQCMkJV4mKigpXysiOyBfX2V4ZWN1dGVkID0gLy4rLy5leGVjKF9fc3RyaW5nKTsgX19leGVjdXRlZC5pbmRleCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5kZXggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmluZGV4KTsKfQoKLy9DSEVDSyMzCmlmIChfX2V4ZWN1dGVkLmlucHV0ICE9PSBfX2V4cGVjdGVkLmlucHV0KSB7CgkkRVJST1IoJyMzOiBfX3N0cmluZyA9ICJgMTIzNDU2Nzg5MC09fiFAIyQlXiYqKClfKyI7IF9fZXhlY3V0ZWQgPSAvLisvLmV4ZWMoX19zdHJpbmcpOyBfX2V4ZWN1dGVkLmlucHV0ID09PSAnICsgX19leHBlY3RlZC5pbnB1dCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5wdXQpOwp9CgovL0NIRUNLIzQKZm9yKHZhciBpbmRleD0wOyBpbmRleDxfX2V4cGVjdGVkLmxlbmd0aDsgaW5kZXgrKykgewoJaWYgKF9fZXhlY3V0ZWRbaW5kZXhdICE9PSBfX2V4cGVjdGVkW2luZGV4XSkgewoJCSRFUlJPUignIzQ6IF9fc3RyaW5nID0gImAxMjM0NTY3ODkwLT1+IUAjJCVeJiooKV8rIjsgX19leGVjdXRlZCA9IC8uKy8uZXhlYyhfX3N0cmluZyk7IF9fZXhlY3V0ZWRbJyArIGluZGV4ICsgJ10gPT09ICcgKyBfX2V4cGVjdGVkW2luZGV4XSArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWRbaW5kZXhdKTsKCX0KfQoKCg==","commentary":"The production Atom :: . evaluates as follows:\ni) Let A be the set of all characters except the four line terminator characters <LF>, <CR>, <LS>, or <PS>\nii) Call CharacterSetMatcher(A, false) and return its Matcher result","description":"Execute /.+/.exec(\"`1234567890-=~!@#$%^&*()_+\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.8/S15.10.2.8_A4_T8.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvZHVjdGlvbiBBdG9tIDo6IC4gZXZhbHVhdGVzIGFzIGZvbGxvd3M6CiAqIGkpIExldCBBIGJlIHRoZSBzZXQgb2YgYWxsIGNoYXJhY3RlcnMgZXhjZXB0IHRoZSBmb3VyIGxpbmUgdGVybWluYXRvciBjaGFyYWN0ZXJzIDxMRj4sIDxDUj4sIDxMUz4sIG9yIDxQUz4KICogaWkpIENhbGwgQ2hhcmFjdGVyU2V0TWF0Y2hlcihBLCBmYWxzZSkgYW5kIHJldHVybiBpdHMgTWF0Y2hlciByZXN1bHQKICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC4yLzE1LjEwLjIuOC9TMTUuMTAuMi44X0E0X1Q5LmpzCiAqIEBkZXNjcmlwdGlvbiBFeGVjdXRlIC8uKy8uZXhlYygifFxcW3tdfTs6XCJcJyw8Pi4/LyIpIGFuZCBjaGVjayByZXN1bHRzCiAqLwoKX19zdHJpbmcgPSAifFxcW3tdfTs6XCJcJyw8Pi4/LyI7Cl9fZXhlY3V0ZWQgPSAvLisvLmV4ZWMoX19zdHJpbmcpOwoKX19leHBlY3RlZCA9IFsifFxcW3tdfTs6XCJcJyw8Pi4/LyJdOwpfX2V4cGVjdGVkLmluZGV4ID0gMDsKX19leHBlY3RlZC5pbnB1dCA9IF9fc3RyaW5nOwoKLy9DSEVDSyMxCmlmIChfX2V4ZWN1dGVkLmxlbmd0aCAhPT0gX19leHBlY3RlZC5sZW5ndGgpIHsKCSRFUlJPUignIzE6IF9fc3RyaW5nID0gInxcXFt7XX07OlwiXCcsPD4uPy8iOyBfX2V4ZWN1dGVkID0gLy4rLy5leGVjKF9fc3RyaW5nKTsgX19leGVjdXRlZC5sZW5ndGggPT09ICcgKyBfX2V4cGVjdGVkLmxlbmd0aCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQubGVuZ3RoKTsKfQoKLy9DSEVDSyMyCmlmIChfX2V4ZWN1dGVkLmluZGV4ICE9PSBfX2V4cGVjdGVkLmluZGV4KSB7CgkkRVJST1IoJyMyOiBfX3N0cmluZyA9ICJ8XFxbe119OzpcIlwnLDw+Lj8vIjsgX19leGVjdXRlZCA9IC8uKy8uZXhlYyhfX3N0cmluZyk7IF9fZXhlY3V0ZWQuaW5kZXggPT09ICcgKyBfX2V4cGVjdGVkLmluZGV4ICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5pbmRleCk7Cn0KCi8vQ0hFQ0sjMwppZiAoX19leGVjdXRlZC5pbnB1dCAhPT0gX19leHBlY3RlZC5pbnB1dCkgewoJJEVSUk9SKCcjMzogX19zdHJpbmcgPSAifFxcW3tdfTs6XCJcJyw8Pi4/LyI7IF9fZXhlY3V0ZWQgPSAvLisvLmV4ZWMoX19zdHJpbmcpOyBfX2V4ZWN1dGVkLmlucHV0ID09PSAnICsgX19leHBlY3RlZC5pbnB1dCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5wdXQpOwp9CgovL0NIRUNLIzQKZm9yKHZhciBpbmRleD0wOyBpbmRleDxfX2V4cGVjdGVkLmxlbmd0aDsgaW5kZXgrKykgewoJaWYgKF9fZXhlY3V0ZWRbaW5kZXhdICE9PSBfX2V4cGVjdGVkW2luZGV4XSkgewoJCSRFUlJPUignIzQ6IF9fc3RyaW5nID0gInxcXFt7XX07OlwiXCcsPD4uPy8iOyBfX2V4ZWN1dGVkID0gLy4rLy5leGVjKF9fc3RyaW5nKTsgX19leGVjdXRlZFsnICsgaW5kZXggKyAnXSA9PT0gJyArIF9fZXhwZWN0ZWRbaW5kZXhdICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZFtpbmRleF0pOwoJfQp9CgoK","commentary":"The production Atom :: . evaluates as follows:\ni) Let A be the set of all characters except the four line terminator characters <LF>, <CR>, <LS>, or <PS>\nii) Call CharacterSetMatcher(A, false) and return its Matcher result","description":"Execute /.+/.exec(\"|\\\\[{]};:\\\"\\',<>.?/\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.8/S15.10.2.8_A4_T9.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJbiBjYXNlLWluc2lnbmlmaWNhbnQgbWF0Y2hlcyBhbGwgY2hhcmFjdGVycyBhcmUgaW1wbGljaXRseSBjb252ZXJ0ZWQgdG8gdXBwZXIgY2FzZSBpbW1lZGlhdGVseSBiZWZvcmUgdGhleSBhcmUgY29tcGFyZWQKICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC4yLzE1LjEwLjIuOC9TMTUuMTAuMi44X0E1X1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBFeGVjdXRlIC9bYS16XSsvaWcuZXhlYygiQUJDIGRlZiBnaGkiKSBhbmQgY2hlY2sgcmVzdWx0cwogKi8KCl9fc3RyaW5nID0gIkFCQyBkZWYgZ2hpIjsKX19leGVjdXRlZCA9IC9bYS16XSsvaWcuZXhlYyhfX3N0cmluZyk7CgpfX2V4cGVjdGVkID0gWyJBQkMiXTsKX19leHBlY3RlZC5pbmRleCA9IDA7Cl9fZXhwZWN0ZWQuaW5wdXQgPSBfX3N0cmluZzsKCi8vQ0hFQ0sjMQppZiAoX19leGVjdXRlZC5sZW5ndGggIT09IF9fZXhwZWN0ZWQubGVuZ3RoKSB7CgkkRVJST1IoJyMxOiBfX3N0cmluZyA9ICJBQkMgZGVmIGdoaSI7IF9fZXhlY3V0ZWQgPSAvW2Etel0rL2lnLmV4ZWMoX19zdHJpbmcpOyBfX2V4ZWN1dGVkLmxlbmd0aCA9PT0gJyArIF9fZXhwZWN0ZWQubGVuZ3RoICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5sZW5ndGgpOwp9CgovL0NIRUNLIzIKaWYgKF9fZXhlY3V0ZWQuaW5kZXggIT09IF9fZXhwZWN0ZWQuaW5kZXgpIHsKCSRFUlJPUignIzI6IF9fc3RyaW5nID0gIkFCQyBkZWYgZ2hpIjsgX19leGVjdXRlZCA9IC9bYS16XSsvaWcuZXhlYyhfX3N0cmluZyk7IF9fZXhlY3V0ZWQuaW5kZXggPT09ICcgKyBfX2V4cGVjdGVkLmluZGV4ICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5pbmRleCk7Cn0KCi8vQ0hFQ0sjMwppZiAoX19leGVjdXRlZC5pbnB1dCAhPT0gX19leHBlY3RlZC5pbnB1dCkgewoJJEVSUk9SKCcjMzogX19zdHJpbmcgPSAiQUJDIGRlZiBnaGkiOyBfX2V4ZWN1dGVkID0gL1thLXpdKy9pZy5leGVjKF9fc3RyaW5nKTsgX19leGVjdXRlZC5pbnB1dCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5wdXQgKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmlucHV0KTsKfQoKLy9DSEVDSyM0CmZvcih2YXIgaW5kZXg9MDsgaW5kZXg8X19leHBlY3RlZC5sZW5ndGg7IGluZGV4KyspIHsKCWlmIChfX2V4ZWN1dGVkW2luZGV4XSAhPT0gX19leHBlY3RlZFtpbmRleF0pIHsKCQkkRVJST1IoJyM0OiBfX3N0cmluZyA9ICJBQkMgZGVmIGdoaSI7IF9fZXhlY3V0ZWQgPSAvW2Etel0rL2lnLmV4ZWMoX19zdHJpbmcpOyBfX2V4ZWN1dGVkWycgKyBpbmRleCArICddID09PSAnICsgX19leHBlY3RlZFtpbmRleF0gKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkW2luZGV4XSk7Cgl9Cn0KCgo=","commentary":"In case-insignificant matches all characters are implicitly converted to upper case immediately before they are compared","description":"Execute /[a-z]+/ig.exec(\"ABC def ghi\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.8/S15.10.2.8_A5_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJbiBjYXNlLWluc2lnbmlmaWNhbnQgbWF0Y2hlcyBhbGwgY2hhcmFjdGVycyBhcmUgaW1wbGljaXRseSBjb252ZXJ0ZWQgdG8gdXBwZXIgY2FzZSBpbW1lZGlhdGVseSBiZWZvcmUgdGhleSBhcmUgY29tcGFyZWQKICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC4yLzE1LjEwLjIuOC9TMTUuMTAuMi44X0E1X1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBFeGVjdXRlIC9bYS16XSsvLmV4ZWMoIkFCQyBkZWYgZ2hpIikgYW5kIGNoZWNrIHJlc3VsdHMKICovCgpfX3N0cmluZyA9ICJBQkMgZGVmIGdoaSI7Cl9fZXhlY3V0ZWQgPSAvW2Etel0rLy5leGVjKF9fc3RyaW5nKTsKCl9fZXhwZWN0ZWQgPSBbImRlZiJdOwpfX2V4cGVjdGVkLmluZGV4ID0gNDsKX19leHBlY3RlZC5pbnB1dCA9IF9fc3RyaW5nOwoKLy9DSEVDSyMxCmlmIChfX2V4ZWN1dGVkLmxlbmd0aCAhPT0gX19leHBlY3RlZC5sZW5ndGgpIHsKCSRFUlJPUignIzE6IF9fc3RyaW5nID0gIkFCQyBkZWYgZ2hpIjsgX19leGVjdXRlZCA9IC9bYS16XSsvLmV4ZWMoX19zdHJpbmcpOyBfX2V4ZWN1dGVkLmxlbmd0aCA9PT0gJyArIF9fZXhwZWN0ZWQubGVuZ3RoICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5sZW5ndGgpOwp9CgovL0NIRUNLIzIKaWYgKF9fZXhlY3V0ZWQuaW5kZXggIT09IF9fZXhwZWN0ZWQuaW5kZXgpIHsKCSRFUlJPUignIzI6IF9fc3RyaW5nID0gIkFCQyBkZWYgZ2hpIjsgX19leGVjdXRlZCA9IC9bYS16XSsvLmV4ZWMoX19zdHJpbmcpOyBfX2V4ZWN1dGVkLmluZGV4ID09PSAnICsgX19leHBlY3RlZC5pbmRleCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5kZXgpOwp9CgovL0NIRUNLIzMKaWYgKF9fZXhlY3V0ZWQuaW5wdXQgIT09IF9fZXhwZWN0ZWQuaW5wdXQpIHsKCSRFUlJPUignIzM6IF9fc3RyaW5nID0gIkFCQyBkZWYgZ2hpIjsgX19leGVjdXRlZCA9IC9bYS16XSsvLmV4ZWMoX19zdHJpbmcpOyBfX2V4ZWN1dGVkLmlucHV0ID09PSAnICsgX19leHBlY3RlZC5pbnB1dCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5wdXQpOwp9CgovL0NIRUNLIzQKZm9yKHZhciBpbmRleD0wOyBpbmRleDxfX2V4cGVjdGVkLmxlbmd0aDsgaW5kZXgrKykgewoJaWYgKF9fZXhlY3V0ZWRbaW5kZXhdICE9PSBfX2V4cGVjdGVkW2luZGV4XSkgewoJCSRFUlJPUignIzQ6IF9fc3RyaW5nID0gIkFCQyBkZWYgZ2hpIjsgX19leGVjdXRlZCA9IC9bYS16XSsvLmV4ZWMoX19zdHJpbmcpOyBfX2V4ZWN1dGVkWycgKyBpbmRleCArICddID09PSAnICsgX19leHBlY3RlZFtpbmRleF0gKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkW2luZGV4XSk7Cgl9Cn0KCgo=","commentary":"In case-insignificant matches all characters are implicitly converted to upper case immediately before they are compared","description":"Execute /[a-z]+/.exec(\"ABC def ghi\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.8/S15.10.2.8_A5_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBBbiBlc2NhcGUgc2VxdWVuY2Ugb2YgdGhlIGZvcm0gXCBmb2xsb3dlZCBieSBhIG5vbnplcm8gZGVjaW1hbCBudW1iZXIgbiBtYXRjaGVzIHRoZSByZXN1bHQgb2YgdGhlIG50aCBzZXQgb2YgY2FwdHVyaW5nIHBhcmVudGhlc2VzIChzZWUgMTUuMTAuMi4xMSkKICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC4yLzE1LjEwLjIuOS9TMTUuMTAuMi45X0ExX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBFeGVjdXRlIC9cYihcdyspIFwxXGIvLmV4ZWMoImRvIHlvdSBsaXN0ZW4gdGhlIHRoZSBiYW5kIikgYW5kIGNoZWNrIHJlc3VsdHMKICovCgpfX2V4ZWN1dGVkID0gL1xiKFx3KykgXDFcYi8uZXhlYygiZG8geW91IGxpc3RlbiB0aGUgdGhlIGJhbmQiKTsKCl9fZXhwZWN0ZWQgPSBbInRoZSB0aGUiLCAidGhlIl07Cl9fZXhwZWN0ZWQuaW5kZXggPSAxNDsKX19leHBlY3RlZC5pbnB1dCA9ICJkbyB5b3UgbGlzdGVuIHRoZSB0aGUgYmFuZCI7CgovL0NIRUNLIzEKaWYgKF9fZXhlY3V0ZWQubGVuZ3RoICE9PSBfX2V4cGVjdGVkLmxlbmd0aCkgewoJJEVSUk9SKCcjMTogX19leGVjdXRlZCA9IC9cXGIoXFx3KykgXFwxXFxiLy5leGVjKCJkbyB5b3UgbGlzdGVuIHRoZSB0aGUgYmFuZCIpOyBfX2V4ZWN1dGVkLmxlbmd0aCA9PT0gJyArIF9fZXhwZWN0ZWQubGVuZ3RoICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5sZW5ndGgpOwp9CgovL0NIRUNLIzIKaWYgKF9fZXhlY3V0ZWQuaW5kZXggIT09IF9fZXhwZWN0ZWQuaW5kZXgpIHsKCSRFUlJPUignIzI6IF9fZXhlY3V0ZWQgPSAvXFxiKFxcdyspIFxcMVxcYi8uZXhlYygiZG8geW91IGxpc3RlbiB0aGUgdGhlIGJhbmQiKTsgX19leGVjdXRlZC5pbmRleCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5kZXggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmluZGV4KTsKfQoKLy9DSEVDSyMzCmlmIChfX2V4ZWN1dGVkLmlucHV0ICE9PSBfX2V4cGVjdGVkLmlucHV0KSB7CgkkRVJST1IoJyMzOiBfX2V4ZWN1dGVkID0gL1xcYihcXHcrKSBcXDFcXGIvLmV4ZWMoImRvIHlvdSBsaXN0ZW4gdGhlIHRoZSBiYW5kIik7IF9fZXhlY3V0ZWQuaW5wdXQgPT09ICcgKyBfX2V4cGVjdGVkLmlucHV0ICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5pbnB1dCk7Cn0KCi8vQ0hFQ0sjNApmb3IodmFyIGluZGV4PTA7IGluZGV4PF9fZXhwZWN0ZWQubGVuZ3RoOyBpbmRleCsrKSB7CglpZiAoX19leGVjdXRlZFtpbmRleF0gIT09IF9fZXhwZWN0ZWRbaW5kZXhdKSB7CgkJJEVSUk9SKCcjNDogX19leGVjdXRlZCA9IC9cXGIoXFx3KykgXFwxXFxiLy5leGVjKCJkbyB5b3UgbGlzdGVuIHRoZSB0aGUgYmFuZCIpOyBfX2V4ZWN1dGVkWycgKyBpbmRleCArICddID09PSAnICsgX19leHBlY3RlZFtpbmRleF0gKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkW2luZGV4XSk7Cgl9Cn0KCgo=","commentary":"An escape sequence of the form \\ followed by a nonzero decimal number n matches the result of the nth set of capturing parentheses (see 15.10.2.11)","description":"Execute /\\b(\\w+) \\1\\b/.exec(\"do you listen the the band\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.9/S15.10.2.9_A1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBBbiBlc2NhcGUgc2VxdWVuY2Ugb2YgdGhlIGZvcm0gXCBmb2xsb3dlZCBieSBhIG5vbnplcm8gZGVjaW1hbCBudW1iZXIgbiBtYXRjaGVzIHRoZSByZXN1bHQgb2YgdGhlIG50aCBzZXQgb2YgY2FwdHVyaW5nIHBhcmVudGhlc2VzIChzZWUgMTUuMTAuMi4xMSkKICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC4yLzE1LjEwLjIuOS9TMTUuMTAuMi45X0ExX1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBFeGVjdXRlIC8oW3h1XVxkezJ9KFtBLUhdezJ9KT8pXDEvLmV4ZWMoIngwOXgxMngwMXgwMXUwMEZGdTAwRkZ4MDR4MDR4MjMiKSBhbmQgY2hlY2sgcmVzdWx0cwogKi8KCl9fZXhlY3V0ZWQgPSAvKFt4dV1cZHsyfShbQS1IXXsyfSk/KVwxLy5leGVjKCJ4MDl4MTJ4MDF4MDF1MDBGRnUwMEZGeDA0eDA0eDIzIik7CgpfX2V4cGVjdGVkID0gWyJ4MDF4MDEiLCAieDAxIiwgdW5kZWZpbmVkXTsKX19leHBlY3RlZC5pbmRleCA9IDY7Cl9fZXhwZWN0ZWQuaW5wdXQgPSAieDA5eDEyeDAxeDAxdTAwRkZ1MDBGRngwNHgwNHgyMyI7CgovL0NIRUNLIzEKaWYgKF9fZXhlY3V0ZWQubGVuZ3RoICE9PSBfX2V4cGVjdGVkLmxlbmd0aCkgewoJJEVSUk9SKCcjMTogX19leGVjdXRlZCA9IC8oW3h1XVxcZHsyfShbQS1IXXsyfSk/KVxcMS8uZXhlYygieDA5eDEyeDAxeDAxdTAwRkZ1MDBGRngwNHgwNHgyMyIpOyBfX2V4ZWN1dGVkLmxlbmd0aCA9PT0gJyArIF9fZXhwZWN0ZWQubGVuZ3RoICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5sZW5ndGgpOwp9CgovL0NIRUNLIzIKaWYgKF9fZXhlY3V0ZWQuaW5kZXggIT09IF9fZXhwZWN0ZWQuaW5kZXgpIHsKCSRFUlJPUignIzI6IF9fZXhlY3V0ZWQgPSAvKFt4dV1cXGR7Mn0oW0EtSF17Mn0pPylcXDEvLmV4ZWMoIngwOXgxMngwMXgwMXUwMEZGdTAwRkZ4MDR4MDR4MjMiKTsgX19leGVjdXRlZC5pbmRleCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5kZXggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmluZGV4KTsKfQoKLy9DSEVDSyMzCmlmIChfX2V4ZWN1dGVkLmlucHV0ICE9PSBfX2V4cGVjdGVkLmlucHV0KSB7CgkkRVJST1IoJyMzOiBfX2V4ZWN1dGVkID0gLyhbeHVdXFxkezJ9KFtBLUhdezJ9KT8pXFwxLy5leGVjKCJ4MDl4MTJ4MDF4MDF1MDBGRnUwMEZGeDA0eDA0eDIzIik7IF9fZXhlY3V0ZWQuaW5wdXQgPT09ICcgKyBfX2V4cGVjdGVkLmlucHV0ICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5pbnB1dCk7Cn0KCi8vQ0hFQ0sjNApmb3IodmFyIGluZGV4PTA7IGluZGV4PF9fZXhwZWN0ZWQubGVuZ3RoOyBpbmRleCsrKSB7CglpZiAoX19leGVjdXRlZFtpbmRleF0gIT09IF9fZXhwZWN0ZWRbaW5kZXhdKSB7CgkJJEVSUk9SKCcjNDogX19leGVjdXRlZCA9IC8oW3h1XVxcZHsyfShbQS1IXXsyfSk/KVxcMS8uZXhlYygieDA5eDEyeDAxeDAxdTAwRkZ1MDBGRngwNHgwNHgyMyIpOyBfX2V4ZWN1dGVkWycgKyBpbmRleCArICddID09PSAnICsgX19leHBlY3RlZFtpbmRleF0gKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkW2luZGV4XSk7Cgl9Cn0KCgo=","commentary":"An escape sequence of the form \\ followed by a nonzero decimal number n matches the result of the nth set of capturing parentheses (see 15.10.2.11)","description":"Execute /([xu]\\d{2}([A-H]{2})?)\\1/.exec(\"x09x12x01x01u00FFu00FFx04x04x23\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.9/S15.10.2.9_A1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBBbiBlc2NhcGUgc2VxdWVuY2Ugb2YgdGhlIGZvcm0gXCBmb2xsb3dlZCBieSBhIG5vbnplcm8gZGVjaW1hbCBudW1iZXIgbiBtYXRjaGVzIHRoZSByZXN1bHQgb2YgdGhlIG50aCBzZXQgb2YgY2FwdHVyaW5nIHBhcmVudGhlc2VzIChzZWUgMTUuMTAuMi4xMSkKICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC4yLzE1LjEwLjIuOS9TMTUuMTAuMi45X0ExX1QzLmpzCiAqIEBkZXNjcmlwdGlvbiBFeGVjdXRlIC8oW3h1XVxkezJ9KFtBLUhdezJ9KT8pXDEvLmV4ZWMoIngwOXgxMngwMXgwNXUwMEZGdTAwRkZ4MDR4MDR4MjMiKSBhbmQgY2hlY2sgcmVzdWx0cwogKi8KCl9fZXhlY3V0ZWQgPSAvKFt4dV1cZHsyfShbQS1IXXsyfSk/KVwxLy5leGVjKCJ4MDl4MTJ4MDF4MDV1MDBGRnUwMEZGeDA0eDA0eDIzIik7CgpfX2V4cGVjdGVkID0gWyJ1MDBGRnUwMEZGIiwgInUwMEZGIiwgIkZGIl07Cl9fZXhwZWN0ZWQuaW5kZXggPSAxMjsKX19leHBlY3RlZC5pbnB1dCA9ICJ4MDl4MTJ4MDF4MDV1MDBGRnUwMEZGeDA0eDA0eDIzIjsKCi8vQ0hFQ0sjMQppZiAoX19leGVjdXRlZC5sZW5ndGggIT09IF9fZXhwZWN0ZWQubGVuZ3RoKSB7CgkkRVJST1IoJyMxOiBfX2V4ZWN1dGVkID0gLyhbeHVdXFxkezJ9KFtBLUhdezJ9KT8pXFwxLy5leGVjKCJ4MDl4MTJ4MDF4MDV1MDBGRnUwMEZGeDA0eDA0eDIzIik7IF9fZXhlY3V0ZWQubGVuZ3RoID09PSAnICsgX19leHBlY3RlZC5sZW5ndGggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmxlbmd0aCk7Cn0KCi8vQ0hFQ0sjMgppZiAoX19leGVjdXRlZC5pbmRleCAhPT0gX19leHBlY3RlZC5pbmRleCkgewoJJEVSUk9SKCcjMjogX19leGVjdXRlZCA9IC8oW3h1XVxcZHsyfShbQS1IXXsyfSk/KVxcMS8uZXhlYygieDA5eDEyeDAxeDA1dTAwRkZ1MDBGRngwNHgwNHgyMyIpOyBfX2V4ZWN1dGVkLmluZGV4ID09PSAnICsgX19leHBlY3RlZC5pbmRleCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5kZXgpOwp9CgovL0NIRUNLIzMKaWYgKF9fZXhlY3V0ZWQuaW5wdXQgIT09IF9fZXhwZWN0ZWQuaW5wdXQpIHsKCSRFUlJPUignIzM6IF9fZXhlY3V0ZWQgPSAvKFt4dV1cXGR7Mn0oW0EtSF17Mn0pPylcXDEvLmV4ZWMoIngwOXgxMngwMXgwNXUwMEZGdTAwRkZ4MDR4MDR4MjMiKTsgX19leGVjdXRlZC5pbnB1dCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5wdXQgKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmlucHV0KTsKfQoKLy9DSEVDSyM0CmZvcih2YXIgaW5kZXg9MDsgaW5kZXg8X19leHBlY3RlZC5sZW5ndGg7IGluZGV4KyspIHsKCWlmIChfX2V4ZWN1dGVkW2luZGV4XSAhPT0gX19leHBlY3RlZFtpbmRleF0pIHsKCQkkRVJST1IoJyM0OiBfX2V4ZWN1dGVkID0gLyhbeHVdXFxkezJ9KFtBLUhdezJ9KT8pXFwxLy5leGVjKCJ4MDl4MTJ4MDF4MDV1MDBGRnUwMEZGeDA0eDA0eDIzIik7IF9fZXhlY3V0ZWRbJyArIGluZGV4ICsgJ10gPT09ICcgKyBfX2V4cGVjdGVkW2luZGV4XSArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWRbaW5kZXhdKTsKCX0KfQoKCg==","commentary":"An escape sequence of the form \\ followed by a nonzero decimal number n matches the result of the nth set of capturing parentheses (see 15.10.2.11)","description":"Execute /([xu]\\d{2}([A-H]{2})?)\\1/.exec(\"x09x12x01x05u00FFu00FFx04x04x23\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.9/S15.10.2.9_A1_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBBbiBlc2NhcGUgc2VxdWVuY2Ugb2YgdGhlIGZvcm0gXCBmb2xsb3dlZCBieSBhIG5vbnplcm8gZGVjaW1hbCBudW1iZXIgbiBtYXRjaGVzIHRoZSByZXN1bHQgb2YgdGhlIG50aCBzZXQgb2YgY2FwdHVyaW5nIHBhcmVudGhlc2VzIChzZWUgMTUuMTAuMi4xMSkKICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC4yLzE1LjEwLjIuOS9TMTUuMTAuMi45X0ExX1Q0LmpzCiAqIEBkZXNjcmlwdGlvbiBFeGVjdXRlIC9cYihcdyspIFwyXGIvLnRlc3QoImRvIHlvdSBsaXN0ZW4gdGhlIHRoZSBiYW5kIikgYW5kIGNoZWNrIHJlc3VsdHMKICovCgpfX2V4ZWN1dGVkID0gL1xiKFx3KykgXDJcYi8udGVzdCgiZG8geW91IGxpc3RlbiB0aGUgdGhlIGJhbmQiKTsKCi8vQ0hFQ0sjMQppZiAoX19leGVjdXRlZCkgewoJJEVSUk9SKCcjMTogL1xcYihcXHcrKSBcXDJcXGIvLnRlc3QoImRvIHlvdSBsaXN0ZW4gdGhlIHRoZSBiYW5kIikgPT09IGZhbHNlJyk7Cn0KCgo=","commentary":"An escape sequence of the form \\ followed by a nonzero decimal number n matches the result of the nth set of capturing parentheses (see 15.10.2.11)","description":"Execute /\\b(\\w+) \\2\\b/.test(\"do you listen the the band\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.9/S15.10.2.9_A1_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBBbiBlc2NhcGUgc2VxdWVuY2Ugb2YgdGhlIGZvcm0gXCBmb2xsb3dlZCBieSBhIG5vbnplcm8gZGVjaW1hbCBudW1iZXIgbiBtYXRjaGVzIHRoZSByZXN1bHQgb2YgdGhlIG50aCBzZXQgb2YgY2FwdHVyaW5nIHBhcmVudGhlc2VzIChzZWUgMTUuMTAuMi4xMSkKICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC4yLzE1LjEwLjIuOS9TMTUuMTAuMi45X0ExX1Q1LmpzCiAqIEBkZXNjcmlwdGlvbiBFeGVjdXRlIC8oYSopYlwxKy8uZXhlYygiYmFhYWMiKSBhbmQgY2hlY2sgcmVzdWx0cwogKi8KCl9fZXhlY3V0ZWQgPSAvKGEqKWJcMSsvLmV4ZWMoImJhYWFjIik7CgpfX2V4cGVjdGVkID0gWyJiIiwgIiJdOwpfX2V4cGVjdGVkLmluZGV4ID0gMDsKX19leHBlY3RlZC5pbnB1dCA9ICJiYWFhYyI7CgovL0NIRUNLIzEKaWYgKF9fZXhlY3V0ZWQubGVuZ3RoICE9PSBfX2V4cGVjdGVkLmxlbmd0aCkgewoJJEVSUk9SKCcjMTogX19leGVjdXRlZCA9IC8oYSopYlxcMSsvLmV4ZWMoImJhYWFjIik7IF9fZXhlY3V0ZWQubGVuZ3RoID09PSAnICsgX19leHBlY3RlZC5sZW5ndGggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmxlbmd0aCk7Cn0KCi8vQ0hFQ0sjMgppZiAoX19leGVjdXRlZC5pbmRleCAhPT0gX19leHBlY3RlZC5pbmRleCkgewoJJEVSUk9SKCcjMjogX19leGVjdXRlZCA9IC8oYSopYlxcMSsvLmV4ZWMoImJhYWFjIik7IF9fZXhlY3V0ZWQuaW5kZXggPT09ICcgKyBfX2V4cGVjdGVkLmluZGV4ICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5pbmRleCk7Cn0KCi8vQ0hFQ0sjMwppZiAoX19leGVjdXRlZC5pbnB1dCAhPT0gX19leHBlY3RlZC5pbnB1dCkgewoJJEVSUk9SKCcjMzogX19leGVjdXRlZCA9IC8oYSopYlxcMSsvLmV4ZWMoImJhYWFjIik7IF9fZXhlY3V0ZWQuaW5wdXQgPT09ICcgKyBfX2V4cGVjdGVkLmlucHV0ICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5pbnB1dCk7Cn0KCi8vQ0hFQ0sjNApmb3IodmFyIGluZGV4PTA7IGluZGV4PF9fZXhwZWN0ZWQubGVuZ3RoOyBpbmRleCsrKSB7CglpZiAoX19leGVjdXRlZFtpbmRleF0gIT09IF9fZXhwZWN0ZWRbaW5kZXhdKSB7CgkJJEVSUk9SKCcjNDogX19leGVjdXRlZCA9IC8oYSopYlxcMSsvLmV4ZWMoImJhYWFjIik7IF9fZXhlY3V0ZWRbJyArIGluZGV4ICsgJ10gPT09ICcgKyBfX2V4cGVjdGVkW2luZGV4XSArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWRbaW5kZXhdKTsKCX0KfQoKCg==","commentary":"An escape sequence of the form \\ followed by a nonzero decimal number n matches the result of the nth set of capturing parentheses (see 15.10.2.11)","description":"Execute /(a*)b\\1+/.exec(\"baaac\") and check results","path":"TestCases/ch15/15.10/15.10.2/15.10.2.9/S15.10.2.9_A1_T5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBwYXR0ZXJuIGlzIGFuIG9iamVjdCBSIHdob3NlIFtbQ2xhc3NdXSBwcm9wZXJ0eSBpcyAiUmVnRXhwIiBhbmQgZmxhZ3MgaXMgdW5kZWZpbmVkLCB0aGVuIHJldHVybiBSIHVuY2hhbmdlZAogKgogKiBAcGF0aCBjaDE1LzE1LjEwLzE1LjEwLjMvUzE1LjEwLjMuMV9BMV9UMS5qcwogKiBAZGVzY3JpcHRpb24gUiBpcyAveC9pIGFuZCBpbnN0YW5jZSBpcyBSZWdFeHAoUikKICovCgpfX3JlID0gL3gvaTsKX19pbnN0YW5jZSA9IFJlZ0V4cChfX3JlKTsKX19yZS5pbmRpY2F0b3IgPSAxOwoKLy9DSEVDSyMxCmlmIChfX2luc3RhbmNlLmluZGljYXRvciAhPT0gMSkgewoJJEVSUk9SKCcjMTogX19yZSA9IC94L2k7IF9faW5zdGFuY2UgPSBSZWdFeHAoX19yZSk7IF9fcmUuaW5kaWNhdG9yID0gMTsgX19pbnN0YW5jZS5pbmRpY2F0b3IgPT09IDEuIEFjdHVhbDogJyArIChfX2luc3RhbmNlLmluZGljYXRvcikpOwp9CgoK","commentary":"If pattern is an object R whose [[Class]] property is \"RegExp\" and flags is undefined, then return R unchanged","description":"R is /x/i and instance is RegExp(R)","path":"TestCases/ch15/15.10/15.10.3/S15.10.3.1_A1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBwYXR0ZXJuIGlzIGFuIG9iamVjdCBSIHdob3NlIFtbQ2xhc3NdXSBwcm9wZXJ0eSBpcyAiUmVnRXhwIiBhbmQgZmxhZ3MgaXMgdW5kZWZpbmVkLCB0aGVuIHJldHVybiBSIHVuY2hhbmdlZAogKgogKiBAcGF0aCBjaDE1LzE1LjEwLzE1LjEwLjMvUzE1LjEwLjMuMV9BMV9UMi5qcwogKiBAZGVzY3JpcHRpb24gUiBpcyBuZXcgUmVnRXhwIGFuZCBpbnN0YW5jZSBpcyBSZWdFeHAoUiwgZnVuY3Rpb24oKXt9KCkpCiAqLwoKX19yZSA9IG5ldyBSZWdFeHA7Cl9faW5zdGFuY2UgPSBSZWdFeHAoX19yZSwgZnVuY3Rpb24oKXt9KCkpOwpfX3JlLmluZGljYXRvciA9IDE7CgovL0NIRUNLIzEKaWYgKF9faW5zdGFuY2UuaW5kaWNhdG9yICE9PSAxKSB7CgkkRVJST1IoJyMxOiBfX3JlID0gbmV3IFJlZ0V4cDsgX19pbnN0YW5jZSA9IFJlZ0V4cChfX3JlLCBmdW5jdGlvbigpe30oKSk7IF9fcmUuaW5kaWNhdG9yID0gMTsgX19pbnN0YW5jZS5pbmRpY2F0b3IgPT09IDEuIEFjdHVhbDogJyArIChfX2luc3RhbmNlLmluZGljYXRvcikpOwp9Cgo=","commentary":"If pattern is an object R whose [[Class]] property is \"RegExp\" and flags is undefined, then return R unchanged","description":"R is new RegExp and instance is RegExp(R, function(){}())","path":"TestCases/ch15/15.10/15.10.3/S15.10.3.1_A1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBwYXR0ZXJuIGlzIGFuIG9iamVjdCBSIHdob3NlIFtbQ2xhc3NdXSBwcm9wZXJ0eSBpcyAiUmVnRXhwIiBhbmQgZmxhZ3MgaXMgdW5kZWZpbmVkLCB0aGVuIHJldHVybiBSIHVuY2hhbmdlZAogKgogKiBAcGF0aCBjaDE1LzE1LjEwLzE1LjEwLjMvUzE1LjEwLjMuMV9BMV9UMy5qcwogKiBAZGVzY3JpcHRpb24gUiBpcyBuZXcgUmVnRXhwKCkgYW5kIGluc3RhbmNlIGlzIFJlZ0V4cChSLCB4KSwgd2hlcmUgeCBpcyB1bmRlZmluZWQgdmFyaWFibGUKICovCgpfX3JlID0gbmV3IFJlZ0V4cCgpOwpfX2luc3RhbmNlID0gUmVnRXhwKF9fcmUsIHgpOwpfX3JlLmluZGljYXRvciA9IDE7CgovL0NIRUNLIzEKaWYgKF9faW5zdGFuY2UuaW5kaWNhdG9yICE9PSAxKSB7CgkkRVJST1IoJyMxOiBfX3JlID0gbmV3IFJlZ0V4cCgpOyBfX2luc3RhbmNlID0gUmVnRXhwKF9fcmUsIHgpOyBfX3JlLmluZGljYXRvciA9IDE7IF9faW5zdGFuY2UuaW5kaWNhdG9yID09PSAxLiBBY3R1YWw6ICcgKyAoX19pbnN0YW5jZS5pbmRpY2F0b3IpKTsKfQoKdmFyIHg7Cgo=","commentary":"If pattern is an object R whose [[Class]] property is \"RegExp\" and flags is undefined, then return R unchanged","description":"R is new RegExp() and instance is RegExp(R, x), where x is undefined variable","path":"TestCases/ch15/15.10/15.10.3/S15.10.3.1_A1_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBwYXR0ZXJuIGlzIGFuIG9iamVjdCBSIHdob3NlIFtbQ2xhc3NdXSBwcm9wZXJ0eSBpcyAiUmVnRXhwIiBhbmQgZmxhZ3MgaXMgdW5kZWZpbmVkLCB0aGVuIHJldHVybiBSIHVuY2hhbmdlZAogKgogKiBAcGF0aCBjaDE1LzE1LjEwLzE1LjEwLjMvUzE1LjEwLjMuMV9BMV9UNC5qcwogKiBAZGVzY3JpcHRpb24gUiBpcyBuZXcgUmVnRXhwKCkgYW5kIGluc3RhbmNlIGlzIFJlZ0V4cChSLCB2b2lkIDApCiAqLwoKX19yZSA9IFJlZ0V4cCgpOwpfX2luc3RhbmNlID0gUmVnRXhwKF9fcmUsIHZvaWQgMCk7Cl9fcmUuaW5kaWNhdG9yID0gMTsKCi8vQ0hFQ0sjMQppZiAoX19pbnN0YW5jZS5pbmRpY2F0b3IgIT09IDEpIHsKCSRFUlJPUignIzE6IF9fcmUgPSBSZWdFeHAoKTsgX19pbnN0YW5jZSA9IFJlZ0V4cChfX3JlLCB2b2lkIDApOyBfX3JlLmluZGljYXRvciA9IDE7IF9faW5zdGFuY2UuaW5kaWNhdG9yID09PSAxLiBBY3R1YWw6ICcgKyAoX19pbnN0YW5jZS5pbmRpY2F0b3IpKTsKfQoKCg==","commentary":"If pattern is an object R whose [[Class]] property is \"RegExp\" and flags is undefined, then return R unchanged","description":"R is new RegExp() and instance is RegExp(R, void 0)","path":"TestCases/ch15/15.10/15.10.3/S15.10.3.1_A1_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBwYXR0ZXJuIGlzIGFuIG9iamVjdCBSIHdob3NlIFtbQ2xhc3NdXSBwcm9wZXJ0eSBpcyAiUmVnRXhwIiBhbmQgZmxhZ3MgaXMgdW5kZWZpbmVkLCB0aGVuIHJldHVybiBSIHVuY2hhbmdlZAogKgogKiBAcGF0aCBjaDE1LzE1LjEwLzE1LjEwLjMvUzE1LjEwLjMuMV9BMV9UNS5qcwogKiBAZGVzY3JpcHRpb24gUiBpcyAvXGIvbSBhbmQgaW5zdGFuY2UgaXMgUmVnRXhwKFIsIHVuZGVmaW5lZCkKICovCgpfX3JlID0gL1xiL207Cl9faW5zdGFuY2UgPSBSZWdFeHAoX19yZSwgdW5kZWZpbmVkKTsKX19yZS5pbmRpY2F0b3IgPSAxOwoKLy9DSEVDSyMxCmlmIChfX2luc3RhbmNlLmluZGljYXRvciAhPT0gMSkgewoJJEVSUk9SKCcjMTogX19yZSA9IC9cXGIvbTsgX19pbnN0YW5jZSA9IFJlZ0V4cChfX3JlLCB1bmRlZmluZWQpOyBfX3JlLmluZGljYXRvciA9IDE7IF9faW5zdGFuY2UuaW5kaWNhdG9yID09PSAxLiBBY3R1YWw6ICcgKyAoX19pbnN0YW5jZS5pbmRpY2F0b3IpKTsKfQoKCg==","commentary":"If pattern is an object R whose [[Class]] property is \"RegExp\" and flags is undefined, then return R unchanged","description":"R is /\\b/m and instance is RegExp(R, undefined)","path":"TestCases/ch15/15.10/15.10.3/S15.10.3.1_A1_T5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBwYXR0ZXJuIGlzIGFuIG9iamVjdCBSIHdob3NlIFtbQ2xhc3NdXSBwcm9wZXJ0eSBpcyAiUmVnRXhwIiBhbmQgZmxhZ3MgaXMgZGVmaW5lZCwgdGhlbgogKiBjYWxsIHRoZSBSZWdFeHAgY29uc3RydWN0b3IgKDE1LjEwLjQuMSksIHBhc3NpbmcgaXQgdGhlIHBhdHRlcm4gYW5kIGZsYWdzIGFyZ3VtZW50cyBhbmQgcmV0dXJuIHRoZSBvYmplY3QgY29uc3RydWN0ZWQgYnkgdGhhdCBjb25zdHJ1Y3RvcgogKgogKiBAcGF0aCBjaDE1LzE1LjEwLzE1LjEwLjMvUzE1LjEwLjMuMV9BMl9UMS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgaWYgdXNpbmcgIjEiIGFzIGZsYWdzIGxlYWRzIHRvIHRocm93aW5nIHRoZSBjb3JyZWN0IGV4Y2VwdGlvbgogKi8KCi8vQ0hFQ0sjMQp0cnkgewoJJEVSUk9SKCcjMS4xOiBSZWdFeHAobmV3IFJlZ0V4cCgiXFxkIiksICIxIikpIHRocm93IFR5cGVFcnJvci4gQWN0dWFsOiAnICsgKFJlZ0V4cChuZXcgUmVnRXhwKCJcZCIpLCAiMSIpKSk7Cn0gY2F0Y2ggKGUpIHsKCWlmICgoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikgIT09IHRydWUpIHsKCQkkRVJST1IoJyMxLjI6IFJlZ0V4cChuZXcgUmVnRXhwKCJcXGQiKSwgIjEiKSkgdGhyb3cgVHlwZUVycm9yLiBBY3R1YWw6ICcgKyAoZSkpOwoJfQp9CgoK","commentary":"If pattern is an object R whose [[Class]] property is \"RegExp\" and flags is defined, then\ncall the RegExp constructor (15.10.4.1), passing it the pattern and flags arguments and return the object constructed by that constructor","description":"Checking if using \"1\" as flags leads to throwing the correct exception","path":"TestCases/ch15/15.10/15.10.3/S15.10.3.1_A2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBwYXR0ZXJuIGlzIGFuIG9iamVjdCBSIHdob3NlIFtbQ2xhc3NdXSBwcm9wZXJ0eSBpcyAiUmVnRXhwIiBhbmQgZmxhZ3MgaXMgZGVmaW5lZCwgdGhlbgogKiBjYWxsIHRoZSBSZWdFeHAgY29uc3RydWN0b3IgKDE1LjEwLjQuMSksIHBhc3NpbmcgaXQgdGhlIHBhdHRlcm4gYW5kIGZsYWdzIGFyZ3VtZW50cyBhbmQgcmV0dXJuIHRoZSBvYmplY3QgY29uc3RydWN0ZWQgYnkgdGhhdCBjb25zdHJ1Y3RvcgogKgogKiBAcGF0aCBjaDE1LzE1LjEwLzE1LjEwLjMvUzE1LjEwLjMuMV9BMl9UMi5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgaWYgdXNpbmcgZGFmaW5lZCB2YXJpYWJsZSAieCA9IDEiIGFzIGZsYWdzIGxlYWRzIHRvIHRocm93aW5nIHRoZSBjb3JyZWN0IGV4Y2VwdGlvbgogKi8KCnZhciB4ID0gMTsKCi8vQ0hFQ0sjMQp0cnkgewoJJEVSUk9SKCcjMS4xOiB2YXIgeCA9IDE7IFJlZ0V4cCgvW2EtYl0/LywgeCkgdGhyb3cgVHlwZUVycm9yLiBBY3R1YWw6ICcgKyAoUmVnRXhwKC9bYS1iXT8vLCB4KSkpOwp9IGNhdGNoIChlKSB7CglpZiAoKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpICE9PSB0cnVlKSB7CgkJJEVSUk9SKCcjMS4yOiB2YXIgeCA9IDE7IFJlZ0V4cCgvW2EtYl0/LywgeCkgdGhyb3cgVHlwZUVycm9yLiBBY3R1YWw6ICcgKyAoZSkpOwoJfSAKfQoKCg==","commentary":"If pattern is an object R whose [[Class]] property is \"RegExp\" and flags is defined, then\ncall the RegExp constructor (15.10.4.1), passing it the pattern and flags arguments and return the object constructed by that constructor","description":"Checking if using dafined variable \"x = 1\" as flags leads to throwing the correct exception","path":"TestCases/ch15/15.10/15.10.3/S15.10.3.1_A2_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBwYXR0ZXJuIGFuZCBmbGFncyBhcmUgZGVmaW5lZCwgdGhlbgogKiBjYWxsIHRoZSBSZWdFeHAgY29uc3RydWN0b3IgKDE1LjEwLjQuMSksIHBhc3NpbmcgaXQgdGhlIHBhdHRlcm4gYW5kIGZsYWdzIGFyZ3VtZW50cyBhbmQgcmV0dXJuIHRoZSBvYmplY3QgY29uc3RydWN0ZWQgYnkgdGhhdCBjb25zdHJ1Y3RvcgogKgogKiBAcGF0aCBjaDE1LzE1LjEwLzE1LjEwLjMvUzE1LjEwLjMuMV9BM19UMS5qcwogKiBAZGVzY3JpcHRpb24gUiBpcyAiZCsiIGFuZCBpbnN0YW5jZSBpcyBSZWdFeHAoUiwiaSIpCiAqLwoKX19yZSA9ICJkKyI7Cl9faW5zdGFuY2UgPSBSZWdFeHAoX19yZSwgImkiKTsKCi8vQ0hFQ0sjMQppZiAoX19pbnN0YW5jZS5jb25zdHJ1Y3RvciAhPT0gUmVnRXhwKSB7CgkkRVJST1IoJyMxOiBfX3JlID0gImQrIjsgX19pbnN0YW5jZSA9IFJlZ0V4cChfX3JlLCAiaSIpOyBfX2luc3RhbmNlLmNvbnN0cnVjdG9yID09PSBSZWdFeHAuIEFjdHVhbDogJyArIChfX2luc3RhbmNlLmNvbnN0cnVjdG9yKSk7Cn0KCi8vQ0hFQ0sjMgppZiAoX19pbnN0YW5jZS5zb3VyY2UgIT09IF9fcmUpIHsKCSRFUlJPUignIzI6IF9fcmUgPSAiZCsiOyBfX2luc3RhbmNlID0gUmVnRXhwKF9fcmUsICJpIik7IF9faW5zdGFuY2Uuc291cmNlID09PSBfX3JlLiBBY3R1YWw6ICcrIChfX2luc3RhbmNlLnNvdXJjZSkpOwp9CgoK","commentary":"If pattern and flags are defined, then\ncall the RegExp constructor (15.10.4.1), passing it the pattern and flags arguments and return the object constructed by that constructor","description":"R is \"d+\" and instance is RegExp(R,\"i\")","path":"TestCases/ch15/15.10/15.10.3/S15.10.3.1_A3_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBwYXR0ZXJuIGFuZCBmbGFncyBhcmUgZGVmaW5lZCwgdGhlbgogKiBjYWxsIHRoZSBSZWdFeHAgY29uc3RydWN0b3IgKDE1LjEwLjQuMSksIHBhc3NpbmcgaXQgdGhlIHBhdHRlcm4gYW5kIGZsYWdzIGFyZ3VtZW50cyBhbmQgcmV0dXJuIHRoZSBvYmplY3QgY29uc3RydWN0ZWQgYnkgdGhhdCBjb25zdHJ1Y3RvcgogKgogKiBAcGF0aCBjaDE1LzE1LjEwLzE1LjEwLjMvUzE1LjEwLjMuMV9BM19UMi5qcwogKiBAZGVzY3JpcHRpb24gUiBpcyB7dG9TdHJpbmc6ZnVuY3Rpb24oKXtyZXR1cm4gIlthLWNdKiI7fX0gYW5kIGluc3RhbmNlIGlzIFJlZ0V4cChSLCJnbSIpCiAqLwoKX19pbnN0YW5jZSA9IFJlZ0V4cCh7dG9TdHJpbmc6ZnVuY3Rpb24oKXtyZXR1cm4gIlthLWNdKiI7fX0sICJnbSIpOwoKLy9DSEVDSyMxCmlmIChfX2luc3RhbmNlLmNvbnN0cnVjdG9yICE9PSBSZWdFeHApIHsKCSRFUlJPUignIzE6IF9faW5zdGFuY2UgPSBSZWdFeHAoe3RvU3RyaW5nOmZ1bmN0aW9uKCl7cmV0dXJuICJbYS1jXSoiO319LCAiZ20iKTsgX19pbnN0YW5jZS5jb25zdHJ1Y3RvciA9PT0gUmVnRXhwLiBBY3R1YWw6ICcgKyAoX19pbnN0YW5jZS5jb25zdHJ1Y3RvcikpOwp9CgovL0NIRUNLIzIKaWYgKF9faW5zdGFuY2Uuc291cmNlICE9PSAiW2EtY10qIikgewoJJEVSUk9SKCcjMjogX19pbnN0YW5jZSA9IFJlZ0V4cCh7dG9TdHJpbmc6ZnVuY3Rpb24oKXtyZXR1cm4gIlthLWNdKiI7fX0sICJnbSIpOyBfX2luc3RhbmNlLnNvdXJjZSA9PT0gIlthLWNdKiIuIEFjdHVhbDogJysgKF9faW5zdGFuY2Uuc291cmNlKSk7Cn0KCgo=","commentary":"If pattern and flags are defined, then\ncall the RegExp constructor (15.10.4.1), passing it the pattern and flags arguments and return the object constructed by that constructor","description":"R is {toString:function(){return \"[a-c]*\";}} and instance is RegExp(R,\"gm\")","path":"TestCases/ch15/15.10/15.10.3/S15.10.3.1_A3_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBwYXR0ZXJuIGlzIGFuIG9iamVjdCBSIHdob3NlIFtbQ2xhc3NdXSBwcm9wZXJ0eSBpcyAiUmVnRXhwIiBhbmQgZmxhZ3MgaXMgdW5kZWZpbmVkLCB0aGVuIGxldCBQIGJlCiAqIHRoZSBwYXR0ZXJuIHVzZWQgdG8gY29uc3RydWN0IFIgYW5kIGxldCBGIGJlIHRoZSBmbGFncyB1c2VkIHRvIGNvbnN0cnVjdCBSCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuNC9TMTUuMTAuNC4xX0ExX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBQYXR0ZXJuIGlzIC8uL2kgYW5kIFJlZ0V4cCBpcyBuZXcgUmVnRXhwKHBhdHRlcm4pCiAqLwoKX19wYXR0ZXJuID0gLy4vaTsKX19yZSA9IG5ldyBSZWdFeHAoX19wYXR0ZXJuKTsgCgovL0NIRUNLIzEKaWYgKF9fcmUuc291cmNlICE9PSBfX3BhdHRlcm4uc291cmNlKSB7CiAgJEVSUk9SKCcjMTogX19wYXR0ZXJuID0gLy4vaTsgX19yZSA9IG5ldyBSZWdFeHAoX19wYXR0ZXJuKTsgX19yZS5zb3VyY2UgPT09IF9fcGF0dGVybi5zb3VyY2UuIEFjdHVhbDogJysgKF9fcmUuc291cmNlKSk7Cn0KCi8vQ0hFQ0sjMgppZiAoX19yZS5tdWx0aWxpbmUgIT09IF9fcGF0dGVybi5tdWx0aWxpbmUpIHsKICAkRVJST1IoJyMyOiBfX3BhdHRlcm4gPSAvLi9pOyBfX3JlID0gbmV3IFJlZ0V4cChfX3BhdHRlcm4pOyBfX3JlLm11bHRpbGluZSA9PT0gX19wYXR0ZXJuLm11bHRpbGluZS4gQWN0dWFsOiAnICsgKF9fcmUubXVsdGlsaW5lKSk7Cn0KCi8vQ0hFQ0sjMwppZiAoX19yZS5nbG9iYWwgIT09IF9fcGF0dGVybi5nbG9iYWwpIHsKICAkRVJST1IoJyMzOiBfX3BhdHRlcm4gPSAvLi9pOyBfX3JlID0gbmV3IFJlZ0V4cChfX3BhdHRlcm4pOyBfX3JlLmdsb2JhbCA9PT0gX19wYXR0ZXJuLmdsb2JhbC4gQWN0dWFsOiAnICsgKF9fcmUuZ2xvYmFsKSk7Cn0KCi8vQ0hFQ0sjNAppZiAoX19yZS5pZ25vcmVDYXNlICE9PSBfX3BhdHRlcm4uaWdub3JlQ2FzZSkgewogICRFUlJPUignIzQ6IF9fcGF0dGVybiA9IC8uL2k7IF9fcmUgPSBuZXcgUmVnRXhwKF9fcGF0dGVybik7IF9fcmUuaWdub3JlQ2FzZSA9PT0gX19wYXR0ZXJuLmlnbm9yZUNhc2UuIEFjdHVhbDogJyArIChfX3JlLmlnbm9yZUNhc2UpKTsKfQoK","commentary":"If pattern is an object R whose [[Class]] property is \"RegExp\" and flags is undefined, then let P be\nthe pattern used to construct R and let F be the flags used to construct R","description":"Pattern is /./i and RegExp is new RegExp(pattern)","path":"TestCases/ch15/15.10/15.10.4/S15.10.4.1_A1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBwYXR0ZXJuIGlzIGFuIG9iamVjdCBSIHdob3NlIFtbQ2xhc3NdXSBwcm9wZXJ0eSBpcyAiUmVnRXhwIiBhbmQgZmxhZ3MgaXMgdW5kZWZpbmVkLCB0aGVuIGxldCBQIGJlCiAqIHRoZSBwYXR0ZXJuIHVzZWQgdG8gY29uc3RydWN0IFIgYW5kIGxldCBGIGJlIHRoZSBmbGFncyB1c2VkIHRvIGNvbnN0cnVjdCBSCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuNC9TMTUuMTAuNC4xX0ExX1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBQYXR0ZXJuIGlzIC9cdC9tIGFuZCBSZWdFeHAgaXMgbmV3IFJlZ0V4cChwYXR0ZXJuLHgpLCB3aGVyZSB4IGlzIHVuZGVmaW5lZCB2YXJpYWJsZQogKi8KCl9fcGF0dGVybiA9IC9cdC9tOwpfX3JlID0gbmV3IFJlZ0V4cChfX3BhdHRlcm4sIHgpOwoKLy9DSEVDSyMxCmlmIChfX3JlLnNvdXJjZSAhPT0gX19wYXR0ZXJuLnNvdXJjZSkgewogICRFUlJPUignIzE6IF9fcGF0dGVybiA9IC9cXHQvbTsgX3JlID0gbmV3IFJlZ0V4cChfX3BhdHRlcm4sIHgpOyB2YXIgeDsgX19yZS5zb3VyY2UgPT09IF9fcGF0dGVybi5zb3VyY2UuIEFjdHVhbDogJysgKF9fcmUuc291cmNlKSk7Cn0KCi8vQ0hFQ0sjMgppZiAoX19yZS5tdWx0aWxpbmUgIT09IF9fcGF0dGVybi5tdWx0aWxpbmUpIHsKICAkRVJST1IoJyMyOiBfX3BhdHRlcm4gPSAvXFx0L207IF9yZSA9IG5ldyBSZWdFeHAoX19wYXR0ZXJuLCB4KTsgdmFyIHg7IF9fcmUubXVsdGlsaW5lID09PSBfX3BhdHRlcm4ubXVsdGlsaW5lLiBBY3R1YWw6ICcgKyAoX19yZS5tdWx0aWxpbmUpKTsKfQoKLy9DSEVDSyMzCmlmIChfX3JlLmdsb2JhbCAhPT0gX19wYXR0ZXJuLmdsb2JhbCkgewogICRFUlJPUignIzM6IF9fcGF0dGVybiA9IC9cXHQvbTsgX3JlID0gbmV3IFJlZ0V4cChfX3BhdHRlcm4sIHgpOyB2YXIgeDsgX19yZS5nbG9iYWwgPT09IF9fcGF0dGVybi5nbG9iYWwuIEFjdHVhbDogJyArIChfX3JlLmdsb2JhbCkpOwp9CgovL0NIRUNLIzQKaWYgKF9fcmUuaWdub3JlQ2FzZSAhPT0gX19wYXR0ZXJuLmlnbm9yZUNhc2UpIHsKICAkRVJST1IoJyM0OiBfX3BhdHRlcm4gPSAvXFx0L207IF9yZSA9IG5ldyBSZWdFeHAoX19wYXR0ZXJuLCB4KTsgdmFyIHg7IF9fcmUuaWdub3JlQ2FzZSA9PT0gX19wYXR0ZXJuLmlnbm9yZUNhc2UuIEFjdHVhbDogJyArIChfX3JlLmlnbm9yZUNhc2UpKTsKfQoKdmFyIHg7Cgo=","commentary":"If pattern is an object R whose [[Class]] property is \"RegExp\" and flags is undefined, then let P be\nthe pattern used to construct R and let F be the flags used to construct R","description":"Pattern is /\\t/m and RegExp is new RegExp(pattern,x), where x is undefined variable","path":"TestCases/ch15/15.10/15.10.4/S15.10.4.1_A1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBwYXR0ZXJuIGlzIGFuIG9iamVjdCBSIHdob3NlIFtbQ2xhc3NdXSBwcm9wZXJ0eSBpcyAiUmVnRXhwIiBhbmQgZmxhZ3MgaXMgdW5kZWZpbmVkLCB0aGVuIGxldCBQIGJlCiAqIHRoZSBwYXR0ZXJuIHVzZWQgdG8gY29uc3RydWN0IFIgYW5kIGxldCBGIGJlIHRoZSBmbGFncyB1c2VkIHRvIGNvbnN0cnVjdCBSCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuNC9TMTUuMTAuNC4xX0ExX1QzLmpzCiAqIEBkZXNjcmlwdGlvbiBQYXR0ZXJuIGlzIC9bYS1iXS9nIGFuZCBSZWdFeHAgaXMgbmV3IFJlZ0V4cChwYXR0ZXJuLHZvaWQgMCkKICovCgpfX3BhdHRlcm4gPSAvW2EtYl0vZzsKX19yZSA9IG5ldyBSZWdFeHAoX19wYXR0ZXJuLCB2b2lkIDApOwoKLy9DSEVDSyMxCmlmIChfX3JlLnNvdXJjZSAhPT0gX19wYXR0ZXJuLnNvdXJjZSkgewogICRFUlJPUignIzE6IF9fcGF0dGVybiA9IC9bYS1iXS9nOyBfX3JlID0gbmV3IFJlZ0V4cChfX3BhdHRlcm4sIHZvaWQgMCk7IF9fcmUuc291cmNlID09PSBfX3BhdHRlcm4uc291cmNlLiBBY3R1YWw6ICcrIChfX3JlLnNvdXJjZSkpOwp9CgovL0NIRUNLIzIKaWYgKF9fcmUubXVsdGlsaW5lICE9PSBfX3BhdHRlcm4ubXVsdGlsaW5lKSB7CiAgJEVSUk9SKCcjMjogX19wYXR0ZXJuID0gL1thLWJdL2c7IF9fcmUgPSBuZXcgUmVnRXhwKF9fcGF0dGVybiwgdm9pZCAwKTsgX19yZS5tdWx0aWxpbmUgPT09IF9fcGF0dGVybi5tdWx0aWxpbmUuIEFjdHVhbDogJyArIChfX3JlLm11bHRpbGluZSkpOwp9CgovL0NIRUNLIzMKaWYgKF9fcmUuZ2xvYmFsICE9PSBfX3BhdHRlcm4uZ2xvYmFsKSB7CiAgJEVSUk9SKCcjMzogX19wYXR0ZXJuID0gL1thLWJdL2c7IF9fcmUgPSBuZXcgUmVnRXhwKF9fcGF0dGVybiwgdm9pZCAwKTsgX19yZS5nbG9iYWwgPT09IF9fcGF0dGVybi5nbG9iYWwuIEFjdHVhbDogJyArIChfX3JlLmdsb2JhbCkpOwp9CgovL0NIRUNLIzQKaWYgKF9fcmUuaWdub3JlQ2FzZSAhPT0gX19wYXR0ZXJuLmlnbm9yZUNhc2UpIHsKICAkRVJST1IoJyM0OiBfX3BhdHRlcm4gPSAvW2EtYl0vZzsgX19yZSA9IG5ldyBSZWdFeHAoX19wYXR0ZXJuLCB2b2lkIDApOyBfX3JlLmlnbm9yZUNhc2UgPT09IF9fcGF0dGVybi5pZ25vcmVDYXNlLiBBY3R1YWw6ICcgKyAoX19yZS5pZ25vcmVDYXNlKSk7Cn0KCgoK","commentary":"If pattern is an object R whose [[Class]] property is \"RegExp\" and flags is undefined, then let P be\nthe pattern used to construct R and let F be the flags used to construct R","description":"Pattern is /[a-b]/g and RegExp is new RegExp(pattern,void 0)","path":"TestCases/ch15/15.10/15.10.4/S15.10.4.1_A1_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBwYXR0ZXJuIGlzIGFuIG9iamVjdCBSIHdob3NlIFtbQ2xhc3NdXSBwcm9wZXJ0eSBpcyAiUmVnRXhwIiBhbmQgZmxhZ3MgaXMgdW5kZWZpbmVkLCB0aGVuIGxldCBQIGJlCiAqIHRoZSBwYXR0ZXJuIHVzZWQgdG8gY29uc3RydWN0IFIgYW5kIGxldCBGIGJlIHRoZSBmbGFncyB1c2VkIHRvIGNvbnN0cnVjdCBSCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuNC9TMTUuMTAuNC4xX0ExX1Q0LmpzCiAqIEBkZXNjcmlwdGlvbiBQYXR0ZXJuIGlzIG5ldyBSZWdFeHAgYW5kIFJlZ0V4cCBpcyBuZXcgUmVnRXhwKHBhdHRlcm4sdW5kZWZpbmVkKQogKi8KCl9fcGF0dGVybiA9IG5ldyBSZWdFeHA7Cl9fcmUgPSBuZXcgUmVnRXhwKF9fcGF0dGVybiwgdW5kZWZpbmVkKTsKCi8vQ0hFQ0sjMQppZiAoX19yZS5zb3VyY2UgIT09IF9fcGF0dGVybi5zb3VyY2UpIHsKICAkRVJST1IoJyMxOiBfX3BhdHRlcm4gPSBuZXcgUmVnRXhwOyBfX3JlID0gbmV3IFJlZ0V4cChfX3BhdHRlcm4sIHVuZGVmaW5lZCk7IF9fcmUuc291cmNlID09PSBfX3BhdHRlcm4uc291cmNlLiBBY3R1YWw6ICcrIChfX3JlLnNvdXJjZSkpOwp9CgovL0NIRUNLIzIKaWYgKF9fcmUubXVsdGlsaW5lICE9PSBfX3BhdHRlcm4ubXVsdGlsaW5lKSB7CiAgJEVSUk9SKCcjMjogX19wYXR0ZXJuID0gbmV3IFJlZ0V4cDsgX19yZSA9IG5ldyBSZWdFeHAoX19wYXR0ZXJuLCB1bmRlZmluZWQpOyBfX3JlLm11bHRpbGluZSA9PT0gX19wYXR0ZXJuLm11bHRpbGluZS4gQWN0dWFsOiAnICsgKF9fcmUubXVsdGlsaW5lKSk7Cn0KCi8vQ0hFQ0sjMwppZiAoX19yZS5nbG9iYWwgIT09IF9fcGF0dGVybi5nbG9iYWwpIHsKICAkRVJST1IoJyMzOiBfX3BhdHRlcm4gPSBuZXcgUmVnRXhwOyBfX3JlID0gbmV3IFJlZ0V4cChfX3BhdHRlcm4sIHVuZGVmaW5lZCk7IF9fcmUuZ2xvYmFsID09PSBfX3BhdHRlcm4uZ2xvYmFsLiBBY3R1YWw6ICcgKyAoX19yZS5nbG9iYWwpKTsKfQoKLy9DSEVDSyM0CmlmIChfX3JlLmlnbm9yZUNhc2UgIT09IF9fcGF0dGVybi5pZ25vcmVDYXNlKSB7CiAgJEVSUk9SKCcjNDogX19wYXR0ZXJuID0gbmV3IFJlZ0V4cDsgX19yZSA9IG5ldyBSZWdFeHAoX19wYXR0ZXJuLCB1bmRlZmluZWQpOyBfX3JlLmlnbm9yZUNhc2UgPT09IF9fcGF0dGVybi5pZ25vcmVDYXNlLiBBY3R1YWw6ICcgKyAoX19yZS5pZ25vcmVDYXNlKSk7Cn0KCgo=","commentary":"If pattern is an object R whose [[Class]] property is \"RegExp\" and flags is undefined, then let P be\nthe pattern used to construct R and let F be the flags used to construct R","description":"Pattern is new RegExp and RegExp is new RegExp(pattern,undefined)","path":"TestCases/ch15/15.10/15.10.4/S15.10.4.1_A1_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBwYXR0ZXJuIGlzIGFuIG9iamVjdCBSIHdob3NlIFtbQ2xhc3NdXSBwcm9wZXJ0eSBpcyAiUmVnRXhwIiBhbmQgZmxhZ3MgaXMgdW5kZWZpbmVkLCB0aGVuIGxldCBQIGJlCiAqIHRoZSBwYXR0ZXJuIHVzZWQgdG8gY29uc3RydWN0IFIgYW5kIGxldCBGIGJlIHRoZSBmbGFncyB1c2VkIHRvIGNvbnN0cnVjdCBSCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuNC9TMTUuMTAuNC4xX0ExX1Q1LmpzCiAqIEBkZXNjcmlwdGlvbiBQYXR0ZXJuIGlzIFJlZ0V4cCgiMT8iLCJtaWciKSBhbmQgUmVnRXhwIGlzIG5ldyBSZWdFeHAocGF0dGVybiwoZnVuY3Rpb24oKXt9KSgpKQogKi8KCl9fcGF0dGVybiA9IFJlZ0V4cCgiMT8iLCJtaWciKTsKX19yZSA9IG5ldyBSZWdFeHAoX19wYXR0ZXJuLCAoZnVuY3Rpb24oKXt9KSgpKTsKCi8vQ0hFQ0sjMQppZiAoX19yZS5zb3VyY2UgIT09IF9fcGF0dGVybi5zb3VyY2UpIHsKICAkRVJST1IoJyMxOiBfX3BhdHRlcm4gPSBSZWdFeHAoIjE/IiwibWlnIik7IF9fcmUgPSBuZXcgUmVnRXhwKF9fcGF0dGVybiwgKGZ1bmN0aW9uKCl7fSkoKSk7IF9fcmUuc291cmNlID09PSBfX3BhdHRlcm4uc291cmNlLiBBY3R1YWw6ICcrIChfX3JlLnNvdXJjZSkpOwp9CgovL0NIRUNLIzIKaWYgKF9fcmUubXVsdGlsaW5lICE9PSBfX3BhdHRlcm4ubXVsdGlsaW5lKSB7CiAgJEVSUk9SKCcjMjogX19wYXR0ZXJuID0gUmVnRXhwKCIxPyIsIm1pZyIpOyBfX3JlID0gbmV3IFJlZ0V4cChfX3BhdHRlcm4sIChmdW5jdGlvbigpe30pKCkpOyBfX3JlLm11bHRpbGluZSA9PT0gX19wYXR0ZXJuLm11bHRpbGluZS4gQWN0dWFsOiAnICsgKF9fcmUubXVsdGlsaW5lKSk7Cn0KCi8vQ0hFQ0sjMwppZiAoX19yZS5nbG9iYWwgIT09IF9fcGF0dGVybi5nbG9iYWwpIHsKICAkRVJST1IoJyMzOiBfX3BhdHRlcm4gPSBSZWdFeHAoIjE/IiwibWlnIik7IF9fcmUgPSBuZXcgUmVnRXhwKF9fcGF0dGVybiwgKGZ1bmN0aW9uKCl7fSkoKSk7IF9fcmUuZ2xvYmFsID09PSBfX3BhdHRlcm4uZ2xvYmFsLiBBY3R1YWw6ICcgKyAoX19yZS5nbG9iYWwpKTsKfQoKLy9DSEVDSyM0CmlmIChfX3JlLmlnbm9yZUNhc2UgIT09IF9fcGF0dGVybi5pZ25vcmVDYXNlKSB7CiAgJEVSUk9SKCcjNDogX19wYXR0ZXJuID0gUmVnRXhwKCIxPyIsIm1pZyIpOyBfX3JlID0gbmV3IFJlZ0V4cChfX3BhdHRlcm4sIChmdW5jdGlvbigpe30pKCkpOyBfX3JlLmlnbm9yZUNhc2UgPT09IF9fcGF0dGVybi5pZ25vcmVDYXNlLiBBY3R1YWw6ICcgKyAoX19yZS5pZ25vcmVDYXNlKSk7Cn0KCgoK","commentary":"If pattern is an object R whose [[Class]] property is \"RegExp\" and flags is undefined, then let P be\nthe pattern used to construct R and let F be the flags used to construct R","description":"Pattern is RegExp(\"1?\",\"mig\") and RegExp is new RegExp(pattern,(function(){})())","path":"TestCases/ch15/15.10/15.10.4/S15.10.4.1_A1_T5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBwYXR0ZXJuIGlzIGFuIG9iamVjdCBSIHdob3NlIFtbQ2xhc3NdXSBwcm9wZXJ0eSBpcyAiUmVnRXhwIiBhbmQgZmxhZ3MgaXMgbm90IHVuZGVmaW5lZCwgdGhlbiB0aHJvdyBhIFR5cGVFcnJvciBleGNlcHRpb24KICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC40L1MxNS4xMC40LjFfQTJfVDEuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIGV4ZWN1dGlvbiBvZiAibmV3IFJlZ0V4cChwYXR0ZXJuLCAiaSIpIiwgd2hlcmUgdGhlIHBhdHRlcm4gaXMgIi9cdTAwNDIvaSIsIGZhaWxzCiAqLwoKLy9DSEVDSyMxCnRyeSB7CgkkRVJST1IoJyMxLjE6IG5ldyBSZWdFeHAoL1xcdTAwNDIvaSwgImkiKSB0aHJvdyBUeXBlRXJyb3IuIEFjdHVhbDogJyArIChuZXcgUmVnRXhwKC9cdTAwNDIvaSwgImkiKSkpOyAKfSBjYXRjaCAoZSkgewoJaWYgKChlIGluc3RhbmNlb2YgVHlwZUVycm9yKSAhPT0gdHJ1ZSkgewoJCSRFUlJPUignIzEuMjogbmV3IFJlZ0V4cCgvXFx1MDA0Mi9pLCAiaSIpIHRocm93IFR5cGVFcnJvci4gQWN0dWFsOiAnICsgKGUpKTsKCX0KfQoKCg==","commentary":"If pattern is an object R whose [[Class]] property is \"RegExp\" and flags is not undefined, then throw a TypeError exception","description":"Checking if execution of \"new RegExp(pattern, \"i\")\", where the pattern is \"/\\u0042/i\", fails","path":"TestCases/ch15/15.10/15.10.4/S15.10.4.1_A2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBwYXR0ZXJuIGlzIGFuIG9iamVjdCBSIHdob3NlIFtbQ2xhc3NdXSBwcm9wZXJ0eSBpcyAiUmVnRXhwIiBhbmQgZmxhZ3MgaXMgbm90IHVuZGVmaW5lZCwgdGhlbiB0aHJvdyBhIFR5cGVFcnJvciBleGNlcHRpb24KICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC40L1MxNS4xMC40LjFfQTJfVDIuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIGV4ZWN1dGlvbiBvZiAibmV3IFJlZ0V4cChwYXR0ZXJuLCB7fSkiLCB3aGVyZSB0aGUgcGF0dGVybiBpcyAiLzE/MS9taWciLCBmYWlscwogKi8KCi8vQ0hFQ0sjMQp0cnkgewogICRFUlJPUignIzEuMTogbmV3IFJlZ0V4cCgvMT8xL21pZywge30pIHRocm93IFR5cGVFcnJvci4gQWN0dWFsOiAnICsgKG5ldyBSZWdFeHAoLzE/MS9taWcsIHt9KSkpOyAKfSBjYXRjaCAoZSkgewogIGlmICgoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikgIT09IHRydWUpIHsKICAgICRFUlJPUignIzEuMjogbmV3IFJlZ0V4cCgvMT8xL21pZywge30pIHRocm93IFR5cGVFcnJvci4gQWN0dWFsOiAnICsgKGUpKTsKICB9Cn0KCgo=","commentary":"If pattern is an object R whose [[Class]] property is \"RegExp\" and flags is not undefined, then throw a TypeError exception","description":"Checking if execution of \"new RegExp(pattern, {})\", where the pattern is \"/1?1/mig\", fails","path":"TestCases/ch15/15.10/15.10.4/S15.10.4.1_A2_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBsZXQgUCBiZSB0aGUgZW1wdHkgc3RyaW5nIGlmIHBhdHRlcm4gaXMgdW5kZWZpbmVkCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuNC9TMTUuMTAuNC4xX0EzX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBSZWdFeHAgaXMgbmV3IFJlZ0V4cAogKi8KCl9fcmUgPSBuZXcgUmVnRXhwOwoKLy9DSEVDSyMyCmlmIChfX3JlLm11bHRpbGluZSAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyMyOiBfX3JlID0gbmV3IFJlZ0V4cDsgX19yZS5tdWx0aWxpbmUgPT09IGZhbHNlLiBBY3R1YWw6ICcgKyAoX19yZS5tdWx0aWxpbmUpKTsKfQoKLy9DSEVDSyMzCmlmIChfX3JlLmdsb2JhbCAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyMzOiBfX3JlID0gbmV3IFJlZ0V4cDsgX19yZS5nbG9iYWwgPT09IGZhbHNlLiBBY3R1YWw6ICcgKyAoX19yZS5nbG9iYWwpKTsKfQoKLy9DSEVDSyM0CmlmIChfX3JlLmlnbm9yZUNhc2UgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjNDogX19yZSA9IG5ldyBSZWdFeHA7IF9fcmUuaWdub3JlQ2FzZSA9PT0gZmFsc2UuIEFjdHVhbDogJyArIChfX3JlLmlnbm9yZUNhc2UpKTsKfQoKCgo=","commentary":"let P be the empty string if pattern is undefined","description":"RegExp is new RegExp","path":"TestCases/ch15/15.10/15.10.4/S15.10.4.1_A3_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBsZXQgUCBiZSB0aGUgZW1wdHkgc3RyaW5nIGlmIHBhdHRlcm4gaXMgdW5kZWZpbmVkCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuNC9TMTUuMTAuNC4xX0EzX1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBSZWdFeHAgaXMgbmV3IFJlZ0V4cCh2b2lkIDApCiAqLwoKX19yZSA9IG5ldyBSZWdFeHAodm9pZCAwKTsKCi8vQ0hFQ0sjMgppZiAoX19yZS5tdWx0aWxpbmUgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjMjogX19yZSA9IG5ldyBSZWdFeHAodm9pZCAwKTsgX19yZS5tdWx0aWxpbmUgPT09IGZhbHNlLiBBY3R1YWw6ICcgKyAoX19yZS5tdWx0aWxpbmUpKTsKfQoKLy9DSEVDSyMzCmlmIChfX3JlLmdsb2JhbCAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyMzOiBfX3JlID0gbmV3IFJlZ0V4cCh2b2lkIDApOyBfX3JlLmdsb2JhbCA9PT0gZmFsc2UuIEFjdHVhbDogJyArIChfX3JlLmdsb2JhbCkpOwp9CgovL0NIRUNLIzQKaWYgKF9fcmUuaWdub3JlQ2FzZSAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyM0OiBfX3JlID0gbmV3IFJlZ0V4cCh2b2lkIDApOyBfX3JlLmlnbm9yZUNhc2UgPT09IGZhbHNlLiBBY3R1YWw6ICcgKyAoX19yZS5pZ25vcmVDYXNlKSk7Cn0KCgo=","commentary":"let P be the empty string if pattern is undefined","description":"RegExp is new RegExp(void 0)","path":"TestCases/ch15/15.10/15.10.4/S15.10.4.1_A3_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBsZXQgUCBiZSB0aGUgZW1wdHkgc3RyaW5nIGlmIHBhdHRlcm4gaXMgdW5kZWZpbmVkCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuNC9TMTUuMTAuNC4xX0EzX1QzLmpzCiAqIEBkZXNjcmlwdGlvbiBSZWdFeHAgaXMgbmV3IFJlZ0V4cCh4KSwgd2hlcmUgeCBpcyB1bmRlZmluZWQgdmFyaWFibGUKICovCgpfX3JlID0gbmV3IFJlZ0V4cCh4KTsKCi8vQ0hFQ0sjMgppZiAoX19yZS5tdWx0aWxpbmUgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjMjogX19yZSA9IG5ldyBSZWdFeHAoeCk7IHZhciB4OyBfX3JlLm11bHRpbGluZSA9PT0gZmFsc2UuIEFjdHVhbDogJyArIChfX3JlLm11bHRpbGluZSkpOwp9CgovL0NIRUNLIzMKaWYgKF9fcmUuZ2xvYmFsICE9PSBmYWxzZSkgewogICRFUlJPUignIzM6IF9fcmUgPSBuZXcgUmVnRXhwKHgpOyB2YXIgeDsgX19yZS5nbG9iYWwgPT09IGZhbHNlLiBBY3R1YWw6ICcgKyAoX19yZS5nbG9iYWwpKTsKfQoKLy9DSEVDSyM0CmlmIChfX3JlLmlnbm9yZUNhc2UgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjNDogX19yZSA9IG5ldyBSZWdFeHAoeCk7IHZhciB4OyBfX3JlLmlnbm9yZUNhc2UgPT09IGZhbHNlLiBBY3R1YWw6ICcgKyAoX19yZS5pZ25vcmVDYXNlKSk7Cn0KCnZhciB4OwoKCg==","commentary":"let P be the empty string if pattern is undefined","description":"RegExp is new RegExp(x), where x is undefined variable","path":"TestCases/ch15/15.10/15.10.4/S15.10.4.1_A3_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBsZXQgUCBiZSB0aGUgZW1wdHkgc3RyaW5nIGlmIHBhdHRlcm4gaXMgdW5kZWZpbmVkCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuNC9TMTUuMTAuNC4xX0EzX1Q0LmpzCiAqIEBkZXNjcmlwdGlvbiBSZWdFeHAgaXMgbmV3IFJlZ0V4cCh1bmRlZmluZWQpCiAqLwoKX19yZSA9IG5ldyBSZWdFeHAodW5kZWZpbmVkKTsKCi8vQ0hFQ0sjMgppZiAoX19yZS5tdWx0aWxpbmUgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjMjogX19yZSA9IG5ldyBSZWdFeHAodW5kZWZpbmVkKTsgX19yZS5tdWx0aWxpbmUgPT09IGZhbHNlLiBBY3R1YWw6ICcgKyAoX19yZS5tdWx0aWxpbmUpKTsKfQoKLy9DSEVDSyMzCmlmIChfX3JlLmdsb2JhbCAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyMzOiBfX3JlID0gbmV3IFJlZ0V4cCh1bmRlZmluZWQpOyBfX3JlLmdsb2JhbCA9PT0gZmFsc2UuIEFjdHVhbDogJyArIChfX3JlLmdsb2JhbCkpOwp9CgovL0NIRUNLIzQKaWYgKF9fcmUuaWdub3JlQ2FzZSAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyM0OiBfX3JlID0gbmV3IFJlZ0V4cCh1bmRlZmluZWQpOyBfX3JlLmlnbm9yZUNhc2UgPT09IGZhbHNlLiBBY3R1YWw6ICcgKyAoX19yZS5pZ25vcmVDYXNlKSk7Cn0KCg==","commentary":"let P be the empty string if pattern is undefined","description":"RegExp is new RegExp(undefined)","path":"TestCases/ch15/15.10/15.10.4/S15.10.4.1_A3_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBsZXQgUCBiZSB0aGUgZW1wdHkgc3RyaW5nIGlmIHBhdHRlcm4gaXMgdW5kZWZpbmVkCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuNC9TMTUuMTAuNC4xX0EzX1Q1LmpzCiAqIEBkZXNjcmlwdGlvbiBSZWdFeHAgaXMgbmV3IFJlZ0V4cCgoZnVuY3Rpb24oKXt9KSgpKQogKi8KCl9fcmUgPSBuZXcgUmVnRXhwKChmdW5jdGlvbigpe30pKCkpOwoKLy9DSEVDSyMyCmlmIChfX3JlLm11bHRpbGluZSAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyMyOiBfX3JlID0gbmV3IFJlZ0V4cCgoZnVuY3Rpb24oKXt9KSgpKTsgX19yZS5tdWx0aWxpbmUgPT09IGZhbHNlLiBBY3R1YWw6ICcgKyAoX19yZS5tdWx0aWxpbmUpKTsKfQoKLy9DSEVDSyMzCmlmIChfX3JlLmdsb2JhbCAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyMzOiBfX3JlID0gbmV3IFJlZ0V4cCgoZnVuY3Rpb24oKXt9KSgpKTsgX19yZS5nbG9iYWwgPT09IGZhbHNlLiBBY3R1YWw6ICcgKyAoX19yZS5nbG9iYWwpKTsKfQoKLy9DSEVDSyM0CmlmIChfX3JlLmlnbm9yZUNhc2UgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjNDogX19yZSA9IG5ldyBSZWdFeHAoKGZ1bmN0aW9uKCl7fSkoKSk7IF9fcmUuaWdub3JlQ2FzZSA9PT0gZmFsc2UuIEFjdHVhbDogJyArIChfX3JlLmlnbm9yZUNhc2UpKTsKfQoKCg==","commentary":"let P be the empty string if pattern is undefined","description":"RegExp is new RegExp((function(){})())","path":"TestCases/ch15/15.10/15.10.4/S15.10.4.1_A3_T5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBsZXQgRiBiZSB0aGUgZW1wdHkgc3RyaW5nIGlmIGZsYWdzIGlzIHVuZGVmaW5lZAogKgogKiBAcGF0aCBjaDE1LzE1LjEwLzE1LjEwLjQvUzE1LjEwLjQuMV9BNF9UMS5qcwogKiBAZGVzY3JpcHRpb24gUmVnRXhwIGlzIG5ldyBSZWdFeHAodW5kZWZpbmVkKQogKi8KCl9fcmUgPSBuZXcgUmVnRXhwKG51bGwsIHZvaWQgMCk7CgovL0NIRUNLIzEKaWYgKF9fcmUuc291cmNlICE9PSAibnVsbCIpIHsKICAkRVJST1IoJyMxOiBfX3JlID0gbmV3IFJlZ0V4cChudWxsLCB2b2lkIDApOyBfX3JlLnNvdXJjZSA9PT0gIm51bGwiLiBBY3R1YWw6ICcrIChfX3JlLnNvdXJjZSkpOwp9CgovL0NIRUNLIzIKaWYgKF9fcmUubXVsdGlsaW5lICE9PSBmYWxzZSkgewogICRFUlJPUignIzI6IF9fcmUgPSBuZXcgUmVnRXhwKG51bGwsIHZvaWQgMCk7IF9fcmUubXVsdGlsaW5lID09PSBmYWxzZS4gQWN0dWFsOiAnICsgKF9fcmUubXVsdGlsaW5lKSk7Cn0KCi8vQ0hFQ0sjMwppZiAoX19yZS5nbG9iYWwgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjMzogX19yZSA9IG5ldyBSZWdFeHAobnVsbCwgdm9pZCAwKTsgX19yZS5nbG9iYWwgPT09IGZhbHNlLiBBY3R1YWw6ICcgKyAoX19yZS5nbG9iYWwpKTsKfQoKLy9DSEVDSyM0CmlmIChfX3JlLmlnbm9yZUNhc2UgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjNDogX19yZSA9IG5ldyBSZWdFeHAobnVsbCwgdm9pZCAwKTsgX19yZS5pZ25vcmVDYXNlID09PSBmYWxzZS4gQWN0dWFsOiAnICsgKF9fcmUuaWdub3JlQ2FzZSkpOwp9CgoKCg==","commentary":"let F be the empty string if flags is undefined","description":"RegExp is new RegExp(undefined)","path":"TestCases/ch15/15.10/15.10.4/S15.10.4.1_A4_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBsZXQgRiBiZSB0aGUgZW1wdHkgc3RyaW5nIGlmIGZsYWdzIGlzIHVuZGVmaW5lZAogKgogKiBAcGF0aCBjaDE1LzE1LjEwLzE1LjEwLjQvUzE1LjEwLjQuMV9BNF9UMi5qcwogKiBAZGVzY3JpcHRpb24gUmVnRXhwIGlzIG5ldyBSZWdFeHAodW5kZWZpbmVkLHVuZGVmaW5lZCkKICovCgpfX3JlID0gbmV3IFJlZ0V4cCh1bmRlZmluZWQsIHVuZGVmaW5lZCk7CgovL0NIRUNLIzIKaWYgKF9fcmUubXVsdGlsaW5lICE9PSBmYWxzZSkgewogICRFUlJPUignIzI6IF9fcmUgPSBuZXcgUmVnRXhwKHVuZGVmaW5lZCwgdW5kZWZpbmVkKTsgX19yZS5tdWx0aWxpbmUgPT09IGZhbHNlLiBBY3R1YWw6ICcgKyAoX19yZS5tdWx0aWxpbmUpKTsKfQoKLy9DSEVDSyMzCmlmIChfX3JlLmdsb2JhbCAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyMzOiBfX3JlID0gbmV3IFJlZ0V4cCh1bmRlZmluZWQsIHVuZGVmaW5lZCk7IF9fcmUuZ2xvYmFsID09PSBmYWxzZS4gQWN0dWFsOiAnICsgKF9fcmUuZ2xvYmFsKSk7Cn0KCi8vQ0hFQ0sjNAppZiAoX19yZS5pZ25vcmVDYXNlICE9PSBmYWxzZSkgewogICRFUlJPUignIzQ6IF9fcmUgPSBuZXcgUmVnRXhwKHVuZGVmaW5lZCwgdW5kZWZpbmVkKTsgX19yZS5pZ25vcmVDYXNlID09PSBmYWxzZS4gQWN0dWFsOiAnICsgKF9fcmUuaWdub3JlQ2FzZSkpOwp9CgoK","commentary":"let F be the empty string if flags is undefined","description":"RegExp is new RegExp(undefined,undefined)","path":"TestCases/ch15/15.10/15.10.4/S15.10.4.1_A4_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBsZXQgRiBiZSB0aGUgZW1wdHkgc3RyaW5nIGlmIGZsYWdzIGlzIHVuZGVmaW5lZAogKgogKiBAcGF0aCBjaDE1LzE1LjEwLzE1LjEwLjQvUzE1LjEwLjQuMV9BNF9UMy5qcwogKiBAZGVzY3JpcHRpb24gVXNlIHVuZGVmaW5lZCBwcm9wZXJ0aWVzIG9mIG9iamVjdCBhcyBmbGFncyBvZiBSZWdFeHAKICovCgpfX3JlID0gbmV3IFJlZ0V4cCh7fS5wLCB7fS5xKTsKCi8vQ0hFQ0sjMgppZiAoX19yZS5tdWx0aWxpbmUgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjMjogX19yZSA9IG5ldyBSZWdFeHAoe30ucCwge30ucSk7IF9fcmUubXVsdGlsaW5lID09PSBmYWxzZS4gQWN0dWFsOiAnICsgKF9fcmUubXVsdGlsaW5lKSk7Cn0KCi8vQ0hFQ0sjMwppZiAoX19yZS5nbG9iYWwgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjMzogX19yZSA9IG5ldyBSZWdFeHAoe30ucCwge30ucSk7IF9fcmUuZ2xvYmFsID09PSBmYWxzZS4gQWN0dWFsOiAnICsgKF9fcmUuZ2xvYmFsKSk7Cn0KCi8vQ0hFQ0sjNAppZiAoX19yZS5pZ25vcmVDYXNlICE9PSBmYWxzZSkgewogICRFUlJPUignIzQ6IF9fcmUgPSBuZXcgUmVnRXhwKHt9LnAsIHt9LnEpOyBfX3JlLmlnbm9yZUNhc2UgPT09IGZhbHNlLiBBY3R1YWw6ICcgKyAoX19yZS5pZ25vcmVDYXNlKSk7Cn0KCgo=","commentary":"let F be the empty string if flags is undefined","description":"Use undefined properties of object as flags of RegExp","path":"TestCases/ch15/15.10/15.10.4/S15.10.4.1_A4_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBsZXQgRiBiZSB0aGUgZW1wdHkgc3RyaW5nIGlmIGZsYWdzIGlzIHVuZGVmaW5lZAogKgogKiBAcGF0aCBjaDE1LzE1LjEwLzE1LjEwLjQvUzE1LjEwLjQuMV9BNF9UNC5qcwogKiBAZGVzY3JpcHRpb24gUmVnRXhwIGlzIG5ldyBSZWdFeHAobnVsbCx2b2lkIDApCiAqLwoKX19yZSA9IG5ldyBSZWdFeHAobnVsbCwgdm9pZCAwKTsKCi8vQ0hFQ0sjMQppZiAoX19yZS5zb3VyY2UgIT09ICJudWxsIikgewogICRFUlJPUignIzE6IF9fcmUgPSBuZXcgUmVnRXhwKG51bGwsIHZvaWQgMCk7IF9fcmUuc291cmNlID09PSAibnVsbCIuIEFjdHVhbDogJysgKF9fcmUuc291cmNlKSk7Cn0KCi8vQ0hFQ0sjMgppZiAoX19yZS5tdWx0aWxpbmUgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjMjogX19yZSA9IG5ldyBSZWdFeHAobnVsbCwgdm9pZCAwKTsgX19yZS5tdWx0aWxpbmUgPT09IGZhbHNlLiBBY3R1YWw6ICcgKyAoX19yZS5tdWx0aWxpbmUpKTsKfQoKLy9DSEVDSyMzCmlmIChfX3JlLmdsb2JhbCAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyMzOiBfX3JlID0gbmV3IFJlZ0V4cChudWxsLCB2b2lkIDApOyBfX3JlLmdsb2JhbCA9PT0gZmFsc2UuIEFjdHVhbDogJyArIChfX3JlLmdsb2JhbCkpOwp9CgovL0NIRUNLIzQKaWYgKF9fcmUuaWdub3JlQ2FzZSAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyM0OiBfX3JlID0gbmV3IFJlZ0V4cChudWxsLCB2b2lkIDApOyBfX3JlLmlnbm9yZUNhc2UgPT09IGZhbHNlLiBBY3R1YWw6ICcgKyAoX19yZS5pZ25vcmVDYXNlKSk7Cn0KCgo=","commentary":"let F be the empty string if flags is undefined","description":"RegExp is new RegExp(null,void 0)","path":"TestCases/ch15/15.10/15.10.4/S15.10.4.1_A4_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBsZXQgRiBiZSB0aGUgZW1wdHkgc3RyaW5nIGlmIGZsYWdzIGlzIHVuZGVmaW5lZAogKgogKiBAcGF0aCBjaDE1LzE1LjEwLzE1LjEwLjQvUzE1LjEwLjQuMV9BNF9UNS5qcwogKiBAZGVzY3JpcHRpb24gUmVnRXhwIGlzIG5ldyBSZWdFeHAoIiIsKGZ1bmN0aW9uKCl7fSkoKSkKICovCgpfX3JlID0gbmV3IFJlZ0V4cCgiIiwgKGZ1bmN0aW9uKCl7fSkoKSk7CgovL0NIRUNLIzIKaWYgKF9fcmUubXVsdGlsaW5lICE9PSBmYWxzZSkgewogICRFUlJPUignIzI6IF9fcmUgPSBuZXcgUmVnRXhwKCIiLCAoZnVuY3Rpb24oKXt9KSgpKTsgX19yZS5tdWx0aWxpbmUgPT09IGZhbHNlLiBBY3R1YWw6ICcgKyAoX19yZS5tdWx0aWxpbmUpKTsKfQoKLy9DSEVDSyMzCmlmIChfX3JlLmdsb2JhbCAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyMzOiBfX3JlID0gbmV3IFJlZ0V4cCgiIiwgKGZ1bmN0aW9uKCl7fSkoKSk7IF9fcmUuZ2xvYmFsID09PSBmYWxzZS4gQWN0dWFsOiAnICsgKF9fcmUuZ2xvYmFsKSk7Cn0KCi8vQ0hFQ0sjNAppZiAoX19yZS5pZ25vcmVDYXNlICE9PSBmYWxzZSkgewogICRFUlJPUignIzQ6IF9fcmUgPSBuZXcgUmVnRXhwKCIiLCAoZnVuY3Rpb24oKXt9KSgpKTsgX19yZS5pZ25vcmVDYXNlID09PSBmYWxzZS4gQWN0dWFsOiAnICsgKF9fcmUuaWdub3JlQ2FzZSkpOwp9Cgo=","commentary":"let F be the empty string if flags is undefined","description":"RegExp is new RegExp(\"\",(function(){})())","path":"TestCases/ch15/15.10/15.10.4/S15.10.4.1_A4_T5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBGIGNvbnRhaW5zIGFueSBjaGFyYWN0ZXIgb3RoZXIgdGhhbiAnZycsICdpJywgb3IgJ20nLCBvciBpZiBpdCBjb250YWlucyB0aGUgc2FtZSBvbmUgbW9yZSB0aGFuIG9uY2UsIHRoZW4gdGhyb3cgYSBTeW50YXhFcnJvciBleGNlcHRpb24KICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC40L1MxNS4xMC40LjFfQTVfVDEuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIHVzaW5nICJpaSIgYXMgRiBsZWFkcyB0byB0aHJvd2luZyB0aGUgY29ycmVjdCBleGNlcHRpb24KICovCgovL0NIRUNLIzEKdHJ5IHsKCSRFUlJPUignIzEuMTogbmV3IFJlZ0V4cCh1bmRlZmluZWQsImlpIikgdGhyb3cgU3ludGF4RXJyb3IuIEFjdHVhbDogJyArIChuZXcgUmVnRXhwKHVuZGVmaW5lZCwiaWkiKSkpOwp9IGNhdGNoIChlKSB7CglpZiAoKGUgaW5zdGFuY2VvZiBTeW50YXhFcnJvcikgIT09IHRydWUpIHsKCQkkRVJST1IoJyMxLjI6IG5ldyBSZWdFeHAodW5kZWZpbmVkLCJpaSIpIHRocm93IFN5bnRheEVycm9yLiBBY3R1YWw6ICcgKyAoZSkpOwoJfQp9CgoK","commentary":"If F contains any character other than 'g', 'i', or 'm', or if it contains the same one more than once, then throw a SyntaxError exception","description":"Checking if using \"ii\" as F leads to throwing the correct exception","path":"TestCases/ch15/15.10/15.10.4/S15.10.4.1_A5_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBGIGNvbnRhaW5zIGFueSBjaGFyYWN0ZXIgb3RoZXIgdGhhbiAnZycsICdpJywgb3IgJ20nLCBvciBpZiBpdCBjb250YWlucyB0aGUgc2FtZSBvbmUgbW9yZSB0aGFuIG9uY2UsIHRoZW4gdGhyb3cgYSBTeW50YXhFcnJvciBleGNlcHRpb24KICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC40L1MxNS4xMC40LjFfQTVfVDIuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIHVzaW5nICJtaWdnIiBhcyBGIGxlYWRzIHRvIHRocm93aW5nIHRoZSBjb3JyZWN0IGV4Y2VwdGlvbgogKi8KCi8vQ0hFQ0sjMQp0cnkgewoJJEVSUk9SKCcjMS4xOiBuZXcgUmVnRXhwKG51bGwsIm1pZ2ciKSB0aHJvdyBTeW50YXhFcnJvci4gQWN0dWFsOiAnICsgKG5ldyBSZWdFeHAobnVsbCwibWlnZyIpKSk7Cn0gY2F0Y2ggKGUpIHsKCWlmICgoZSBpbnN0YW5jZW9mIFN5bnRheEVycm9yKSAhPT0gdHJ1ZSkgewoJCSRFUlJPUignIzEuMjogbmV3IFJlZ0V4cChudWxsLCJtaWdnIikgdGhyb3cgU3ludGF4RXJyb3IuIEFjdHVhbDogJyArIChlKSk7Cgl9Cn0KCgo=","commentary":"If F contains any character other than 'g', 'i', or 'm', or if it contains the same one more than once, then throw a SyntaxError exception","description":"Checking if using \"migg\" as F leads to throwing the correct exception","path":"TestCases/ch15/15.10/15.10.4/S15.10.4.1_A5_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBGIGNvbnRhaW5zIGFueSBjaGFyYWN0ZXIgb3RoZXIgdGhhbiAnZycsICdpJywgb3IgJ20nLCBvciBpZiBpdCBjb250YWlucyB0aGUgc2FtZSBvbmUgbW9yZSB0aGFuIG9uY2UsIHRoZW4gdGhyb3cgYSBTeW50YXhFcnJvciBleGNlcHRpb24KICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC40L1MxNS4xMC40LjFfQTVfVDMuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGJ5IHVzaW5nIGV2YWwsIHRyeSB0byB1c2UgZXZhbCgiXCJtaWdnXCIiKSBhcyBGCiAqLwoKLy9DSEVDSyMxCnRyeSB7CgkkRVJST1IoJyMxLjE6IG5ldyBSZWdFeHAoIiIsZXZhbCgiXFwibWlnclxcIiIpKSB0aHJvdyBTeW50YXhFcnJvci4gQWN0dWFsOiAnICsgKG5ldyBSZWdFeHAoIiIsZXZhbCgiXCJtaWdyXCIiKSkpKTsKfSBjYXRjaCAoZSkgewoJaWYgKChlIGluc3RhbmNlb2YgU3ludGF4RXJyb3IpICE9PSB0cnVlKSB7CgkJJEVSUk9SKCcjMS4yOiBuZXcgUmVnRXhwKCIiLGV2YWwoIlxcIm1pZ3JcXCIiKSkgdGhyb3cgU3ludGF4RXJyb3IuIEFjdHVhbDogJyArIChlKSk7Cgl9Cn0KCgo=","commentary":"If F contains any character other than 'g', 'i', or 'm', or if it contains the same one more than once, then throw a SyntaxError exception","description":"Checking by using eval, try to use eval(\"\\\"migg\\\"\") as F","path":"TestCases/ch15/15.10/15.10.4/S15.10.4.1_A5_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBGIGNvbnRhaW5zIGFueSBjaGFyYWN0ZXIgb3RoZXIgdGhhbiAnZycsICdpJywgb3IgJ20nLCBvciBpZiBpdCBjb250YWlucyB0aGUgc2FtZSBvbmUgbW9yZSB0aGFuIG9uY2UsIHRoZW4gdGhyb3cgYSBTeW50YXhFcnJvciBleGNlcHRpb24KICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC40L1MxNS4xMC40LjFfQTVfVDQuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIHVzaW5nICJ6IiBhcyBGIGxlYWRzIHRvIHRocm93aW5nIHRoZSBjb3JyZWN0IGV4Y2VwdGlvbgogKi8KCi8vQ0hFQ0sjMQp0cnkgewoJJEVSUk9SKCcjMS4xOiBuZXcgUmVnRXhwKCJhfGIiLCJ6IikgdGhyb3cgU3ludGF4RXJyb3IuIEFjdHVhbDogJyArIChuZXcgUmVnRXhwKCJhfGIiLCJ6IikpKTsKfSBjYXRjaCAoZSkgewoJaWYgKChlIGluc3RhbmNlb2YgU3ludGF4RXJyb3IpICE9PSB0cnVlKSB7CgkJJEVSUk9SKCcjMS4yOiBuZXcgUmVnRXhwKCJhfGIiLCJ6IikgdGhyb3cgU3ludGF4RXJyb3IuIEFjdHVhbDogJyArIChlKSk7Cgl9Cn0KCgo=","commentary":"If F contains any character other than 'g', 'i', or 'm', or if it contains the same one more than once, then throw a SyntaxError exception","description":"Checking if using \"z\" as F leads to throwing the correct exception","path":"TestCases/ch15/15.10/15.10.4/S15.10.4.1_A5_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBGIGNvbnRhaW5zIGFueSBjaGFyYWN0ZXIgb3RoZXIgdGhhbiAnZycsICdpJywgb3IgJ20nLCBvciBpZiBpdCBjb250YWlucyB0aGUgc2FtZSBvbmUgbW9yZSB0aGFuIG9uY2UsIHRoZW4gdGhyb3cgYSBTeW50YXhFcnJvciBleGNlcHRpb24KICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC40L1MxNS4xMC40LjFfQTVfVDYuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIHVzaW5nICJudWxsIiBhcyBGIGxlYWRzIHRvIHRocm93aW5nIHRoZSBjb3JyZWN0IGV4Y2VwdGlvbgogKi8KCi8vQ0hFQ0sjMQp0cnkgewoJJEVSUk9SKCcjMS4xOiBuZXcgUmVnRXhwKCIuIixudWxsKSB0aHJvdyBTeW50YXhFcnJvci4gQWN0dWFsOiAnICsgKG5ldyBSZWdFeHAoIi4iLG51bGwpKSk7Cn0gY2F0Y2ggKGUpIHsKCWlmICgoZSBpbnN0YW5jZW9mIFN5bnRheEVycm9yKSAhPT0gdHJ1ZSkgewoJCSRFUlJPUignIzEuMjogbmV3IFJlZ0V4cCgiLiIsbnVsbCkgdGhyb3cgU3ludGF4RXJyb3IuIEFjdHVhbDogJyArIChlKSk7Cgl9Cn0KCgo=","commentary":"If F contains any character other than 'g', 'i', or 'm', or if it contains the same one more than once, then throw a SyntaxError exception","description":"Checking if using \"null\" as F leads to throwing the correct exception","path":"TestCases/ch15/15.10/15.10.4/S15.10.4.1_A5_T6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBGIGNvbnRhaW5zIGFueSBjaGFyYWN0ZXIgb3RoZXIgdGhhbiAnZycsICdpJywgb3IgJ20nLCBvciBpZiBpdCBjb250YWlucyB0aGUgc2FtZSBvbmUgbW9yZSB0aGFuIG9uY2UsIHRoZW4gdGhyb3cgYSBTeW50YXhFcnJvciBleGNlcHRpb24KICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC40L1MxNS4xMC40LjFfQTVfVDcuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIHVzaW5nIDEuMCBhcyBGIGxlYWRzIHRvIHRocm93aW5nIHRoZSBjb3JyZWN0IGV4Y2VwdGlvbgogKi8KCi8vQ0hFQ0sjMQp0cnkgewoJJEVSUk9SKCcjMS4xOiBuZXcgUmVnRXhwKCJeIiwxLjApIHRocm93IFN5bnRheEVycm9yLiBBY3R1YWw6ICcgKyAobmV3IFJlZ0V4cCgiXiIsMS4wKSkpOwp9IGNhdGNoIChlKSB7CglpZiAoKGUgaW5zdGFuY2VvZiBTeW50YXhFcnJvcikgIT09IHRydWUpIHsKCQkkRVJST1IoJyMxLjI6IG5ldyBSZWdFeHAoIl4iLDEuMCkgdGhyb3cgU3ludGF4RXJyb3IuIEFjdHVhbDogJyArIChlKSk7Cgl9Cn0KCgo=","commentary":"If F contains any character other than 'g', 'i', or 'm', or if it contains the same one more than once, then throw a SyntaxError exception","description":"Checking if using 1.0 as F leads to throwing the correct exception","path":"TestCases/ch15/15.10/15.10.4/S15.10.4.1_A5_T7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBGIGNvbnRhaW5zIGFueSBjaGFyYWN0ZXIgb3RoZXIgdGhhbiAnZycsICdpJywgb3IgJ20nLCBvciBpZiBpdCBjb250YWlucyB0aGUgc2FtZSBvbmUgbW9yZSB0aGFuIG9uY2UsIHRoZW4gdGhyb3cgYSBTeW50YXhFcnJvciBleGNlcHRpb24KICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC40L1MxNS4xMC40LjFfQTVfVDguanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIHVzaW5nICJ0cnVlIiBhcyBGIGxlYWRzIHRvIHRocm93aW5nIHRoZSBjb3JyZWN0IGV4Y2VwdGlvbgogKi8KCi8vQ0hFQ0sjMQp0cnkgewoJJEVSUk9SKCcjMS4xOiBuZXcgUmVnRXhwKCJ8Iix0cnVlKSB0aHJvdyBTeW50YXhFcnJvci4gQWN0dWFsOiAnICsgKG5ldyBSZWdFeHAoInwiLHRydWUpKSk7Cn0gY2F0Y2ggKGUpIHsKCWlmICgoZSBpbnN0YW5jZW9mIFN5bnRheEVycm9yKSAhPT0gdHJ1ZSkgewoJCSRFUlJPUignIzEuMjogbmV3IFJlZ0V4cCgifCIsdHJ1ZSkgdGhyb3cgU3ludGF4RXJyb3IuIEFjdHVhbDogJyArIChlKSk7Cgl9Cn0KCgo=","commentary":"If F contains any character other than 'g', 'i', or 'm', or if it contains the same one more than once, then throw a SyntaxError exception","description":"Checking if using \"true\" as F leads to throwing the correct exception","path":"TestCases/ch15/15.10/15.10.4/S15.10.4.1_A5_T8.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBGIGNvbnRhaW5zIGFueSBjaGFyYWN0ZXIgb3RoZXIgdGhhbiAnZycsICdpJywgb3IgJ20nLCBvciBpZiBpdCBjb250YWlucyB0aGUgc2FtZSBvbmUgbW9yZSB0aGFuIG9uY2UsIHRoZW4gdGhyb3cgYSBTeW50YXhFcnJvciBleGNlcHRpb24KICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC40L1MxNS4xMC40LjFfQTVfVDkuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIHVzaW5nICJ7dG9TdHJpbmc6ZnVuY3Rpb24oKXt9fSIgYXMgRiBsZWFkcyB0byB0aHJvd2luZyB0aGUgY29ycmVjdCBleGNlcHRpb24KICovCgovL0NIRUNLIzEKdHJ5IHsKCSRFUlJPUignIzEuMTogbmV3IFJlZ0V4cCgiJHN1cCIse3RvU3RyaW5nOmZ1bmN0aW9uKCl7fX0pIHRocm93IFN5bnRheEVycm9yLiBBY3R1YWw6ICcgKyAobmV3IFJlZ0V4cCgiJHN1cCIse3RvU3RyaW5nOmZ1bmN0aW9uKCl7fX0pKSk7Cn0gY2F0Y2ggKGUpIHsKCWlmICgoZSBpbnN0YW5jZW9mIFN5bnRheEVycm9yKSAhPT0gdHJ1ZSkgewoJCSRFUlJPUignIzEuMjogbmV3IFJlZ0V4cCgiJHN1cCIse3RvU3RyaW5nOmZ1bmN0aW9uKCl7fX0pIHRocm93IFN5bnRheEVycm9yLiBBY3R1YWw6ICcgKyAoZSkpOwoJfQp9CgoK","commentary":"If F contains any character other than 'g', 'i', or 'm', or if it contains the same one more than once, then throw a SyntaxError exception","description":"Checking if using \"{toString:function(){}}\" as F leads to throwing the correct exception","path":"TestCases/ch15/15.10/15.10.4/S15.10.4.1_A5_T9.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgW1tDbGFzc11dIHByb3BlcnR5IG9mIHRoZSBuZXdseSBjb25zdHJ1Y3RlZCBvYmplY3QgaXMgc2V0IHRvICJSZWdFeHAiCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuNC9TMTUuMTAuNC4xX0E2X1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBbW0NsYXNzXV0gcHJvcGVydHkgb2YgdGhlIG5ld2x5IGNvbnN0cnVjdGVkIG9iamVjdAogKi8KCl9fcmUgPSBuZXcgUmVnRXhwOwpfX3JlLnRvU3RyaW5nID0gT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZzsKCi8vQ0hFQ0sjMQppZiAoX19yZS50b1N0cmluZygpICE9PSAiW29iamVjdCAiKyJSZWdFeHAiKyJdIikgewoJJEVSUk9SKCcjMTogX19yZSA9IG5ldyBSZWdFeHA7IF9fcmUudG9TdHJpbmcgPSBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nOyBfX3JlLnRvU3RyaW5nKCkgPT09ICJbb2JqZWN0ICIrIlJlZ0V4cCIrIl0iLiBBY3R1YWw6ICcgKyAoX19yZS50b1N0cmluZygpKSk7Cn0KCgo=","commentary":"The [[Class]] property of the newly constructed object is set to \"RegExp\"","description":"Checking [[Class]] property of the newly constructed object","path":"TestCases/ch15/15.10/15.10.4/S15.10.4.1_A6_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgW1tQcm90b3R5cGVdXSBwcm9wZXJ0eSBvZiB0aGUgbmV3bHkgY29uc3RydWN0ZWQgb2JqZWN0IGlzIHNldCB0byB0aGUgb3JpZ2luYWwgUmVnRXhwIHByb3RvdHlwZSBvYmplY3QsIHRoZSBvbmUgdGhhdCBpcyB0aGUgaW5pdGlhbCB2YWx1ZSBvZiBSZWdFeHAucHJvdG90eXBlCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuNC9TMTUuMTAuNC4xX0E3X1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBBZGQgbmV3IHByb3BlcnR5IHRvIFtbUHJvdG90eXBlXV0gb2YgUkVnRXhwIGFuZCBjaGVjayB0aGlzIHByb3BlcnR5IG9mIHRoZSBuZXdseSBjb25zdHJ1Y3RlZCBvYmplY3QKICovCgpfX3JlID0gbmV3IFJlZ0V4cDsKUmVnRXhwLnByb3RvdHlwZS5pbmRpY2F0b3IgPSAxOwoKLy9DSEVDSyMxCmlmIChfX3JlLmluZGljYXRvciAhPT0gMSkgewoJJEVSUk9SKCcjMTogX19yZSA9IG5ldyBSZWdFeHA7IFJlZ0V4cC5wcm90b3R5cGUuaW5kaWNhdG9yID0gMTsgX19yZS5pbmRpY2F0b3IgPT09IDEuIEFjdHVhbDogJyArIChfX3JlLmluZGljYXRvcikpOwp9CgoK","commentary":"The [[Prototype]] property of the newly constructed object is set to the original RegExp prototype object, the one that is the initial value of RegExp.prototype","description":"Add new property to [[Prototype]] of REgExp and check this property of the newly constructed object","path":"TestCases/ch15/15.10/15.10.4/S15.10.4.1_A7_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgW1tQcm90b3R5cGVdXSBwcm9wZXJ0eSBvZiB0aGUgbmV3bHkgY29uc3RydWN0ZWQgb2JqZWN0IGlzIHNldCB0byB0aGUgb3JpZ2luYWwgUmVnRXhwIHByb3RvdHlwZSBvYmplY3QsIHRoZSBvbmUgdGhhdCBpcyB0aGUgaW5pdGlhbCB2YWx1ZSBvZiBSZWdFeHAucHJvdG90eXBlCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuNC9TMTUuMTAuNC4xX0E3X1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBbW1Byb3RvdHlwZV1dIHByb3BlcnR5IG9mIHRoZSBuZXdseSBjb25zdHJ1Y3RlZCBvYmplY3QKICovCgpfX3JlID0gbmV3IFJlZ0V4cCgpOwoKLy9DSEVDSyMxCmlmIChSZWdFeHAucHJvdG90eXBlLmlzUHJvdG90eXBlT2YoX19yZSkgIT09IHRydWUpIHsKCSRFUlJPUignIzE6IF9fcmUgPSBuZXcgUmVnRXhwKCk7IFJlZ0V4cC5wcm90b3R5cGUuaXNQcm90b3R5cGVPZihfX3JlKSA9PT0gdHJ1ZS4gQWN0dWFsOiAnICsgKFJlZ0V4cC5wcm90b3R5cGUuaXNQcm90b3R5cGVPZihfX3JlKSkpOwp9CgoK","commentary":"The [[Prototype]] property of the newly constructed object is set to the original RegExp prototype object, the one that is the initial value of RegExp.prototype","description":"Checking [[Prototype]] property of the newly constructed object","path":"TestCases/ch15/15.10/15.10.4/S15.10.4.1_A7_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBsZXQgUCBiZSBUb1N0cmluZyhwYXR0ZXJuKSBhbmQgbGV0IEYgYmUgVG9TdHJpbmcoZmxhZ3MpCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuNC9TMTUuMTAuNC4xX0E4X1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBQYXR0ZXJuIGlzICJhfGIiIGFuZCBmbGFncyBpcyAiaSIKICovCgpfX3JlID0gbmV3IFJlZ0V4cCgiYXxiIiwiaSIpOwoKLy9DSEVDSyMxCmlmIChfX3JlLmlnbm9yZUNhc2UgIT09IHRydWUpIHsKCSRFUlJPUignIzE6IF9fcmUgPSBuZXcgUmVnRXhwKCJhfGIiLCJpIik7IF9fcmUuaWdub3JlQ2FzZSA9PT0gdHJ1ZS4gQWN0dWFsOiAnICsgKF9fcmUuaWdub3JlQ2FzZSkpOwp9CgovL0NIRUNLIzIKaWYgKF9fcmUubXVsdGlsaW5lICE9PSBmYWxzZSkgewoJJEVSUk9SKCcjMjogX19yZSA9IG5ldyBSZWdFeHAoImF8YiIsImkiKTsgX19yZS5tdWx0aWxpbmUgPT09IGZhbHNlLiBBY3R1YWw6ICcgKyAoX19yZS5tdWx0aWxpbmUpKTsKfQoKLy9DSEVDSyMzCmlmIChfX3JlLmdsb2JhbCAhPT0gZmFsc2UpIHsKCSRFUlJPUignIzM6IF9fcmUgPSBuZXcgUmVnRXhwKCJhfGIiLCJpIik7IF9fcmUuZ2xvYmFsID09PSBmYWxzZS4gQWN0dWFsOiAnICsgKF9fcmUuZ2xvYmFsKSk7Cn0KCi8vQ0hFQ0sjNAppZiAoX19yZS5sYXN0SW5kZXggIT09IDApIHsKCSRFUlJPUignIzQ6IF9fcmUgPSBuZXcgUmVnRXhwKCJhfGIiLCJpIik7IF9fcmUubGFzdEluZGV4ID09PSAwLiBBY3R1YWw6ICcgKyAoX19yZS5sYXN0SW5kZXgpKTsKfQoKLy9DSEVDSyM1CmlmICh0eXBlb2YgX19yZS5zb3VyY2UgPT09ICJ1bmRlZmluZWQiKSB7CgkkRVJST1IoJyM1OiBfX3JlID0gbmV3IFJlZ0V4cCgiYXxiIiwiaSIpOyB0eXBlb2YgX19yZS5zb3VyY2UgIT09ICJ1bmRlZmluZWQiJyk7Cn0KCgo=","commentary":"let P be ToString(pattern) and let F be ToString(flags)","description":"Pattern is \"a|b\" and flags is \"i\"","path":"TestCases/ch15/15.10/15.10.4/S15.10.4.1_A8_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBsZXQgUCBiZSBUb1N0cmluZyhwYXR0ZXJuKSBhbmQgbGV0IEYgYmUgVG9TdHJpbmcoZmxhZ3MpCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuNC9TMTUuMTAuNC4xX0E4X1QxMC5qcwogKiBAZGVzY3JpcHRpb24gUGF0dGVybiBpcyB0cnVlIGFuZCBmbGFncyBpcyAibSIKICovCgpfX3JlID0gbmV3IFJlZ0V4cCh0cnVlLCJtIik7CgovL0NIRUNLIzEKaWYgKF9fcmUuaWdub3JlQ2FzZSAhPT0gZmFsc2UpIHsKCSRFUlJPUignIzE6IF9fcmUgPSBuZXcgUmVnRXhwKHRydWUsIm0iKTsgX19yZS5pZ25vcmVDYXNlID09PSBmYWxzZS4gQWN0dWFsOiAnICsgKF9fcmUuaWdub3JlQ2FzZSkpOwp9CgovL0NIRUNLIzIKaWYgKF9fcmUubXVsdGlsaW5lICE9PSB0cnVlKSB7CgkkRVJST1IoJyMyOiBfX3JlID0gbmV3IFJlZ0V4cCh0cnVlLCJtIik7IF9fcmUubXVsdGlsaW5lID09PSB0cnVlLiBBY3R1YWw6ICcgKyAoX19yZS5tdWx0aWxpbmUpKTsKfQoKLy9DSEVDSyMzCmlmIChfX3JlLmdsb2JhbCAhPT0gZmFsc2UpIHsKCSRFUlJPUignIzM6IF9fcmUgPSBuZXcgUmVnRXhwKHRydWUsIm0iKTsgX19yZS5nbG9iYWwgPT09IGZhbHNlLiBBY3R1YWw6ICcgKyAoX19yZS5nbG9iYWwpKTsKfQoKLy9DSEVDSyM0CmlmIChfX3JlLmxhc3RJbmRleCAhPT0gMCkgewoJJEVSUk9SKCcjNDogX19yZSA9IG5ldyBSZWdFeHAodHJ1ZSwibSIpOyBfX3JlLmxhc3RJbmRleCA9PT0gMC4gQWN0dWFsOiAnICsgKF9fcmUubGFzdEluZGV4KSk7Cn0KCi8vQ0hFQ0sjNQppZiAodHlwZW9mIF9fcmUuc291cmNlID09PSAidW5kZWZpbmVkIikgewoJJEVSUk9SKCcjNTogX19yZSA9IG5ldyBSZWdFeHAodHJ1ZSwibSIpOyB0eXBlb2YgX19yZS5zb3VyY2UgIT09ICJ1bmRlZmluZWQiJyk7Cn0KCgo=","commentary":"let P be ToString(pattern) and let F be ToString(flags)","description":"Pattern is true and flags is \"m\"","path":"TestCases/ch15/15.10/15.10.4/S15.10.4.1_A8_T10.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBsZXQgUCBiZSBUb1N0cmluZyhwYXR0ZXJuKSBhbmQgbGV0IEYgYmUgVG9TdHJpbmcoZmxhZ3MpCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuNC9TMTUuMTAuNC4xX0E4X1QxMS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgYnkgdXNpbmcgZXZhbCwgcGF0dGVybiBpcyBNYXRoIGFuZCBmbGFncyBpcyBldmFsKCJcImdcIiIpCiAqLwoKX19yZSA9IG5ldyBSZWdFeHAoTWF0aCxldmFsKCJcImdcIiIpKTsKCi8vQ0hFQ0sjMQppZiAoX19yZS5pZ25vcmVDYXNlICE9PSBmYWxzZSkgewoJJEVSUk9SKCcjMTogX19yZSA9IG5ldyBSZWdFeHAoTWF0aCxldmFsKCJcXCJnXFwiIikpOyBfX3JlLmlnbm9yZUNhc2UgPT09IGZhbHNlLiBBY3R1YWw6ICcgKyAoX19yZS5pZ25vcmVDYXNlKSk7Cn0KCi8vQ0hFQ0sjMgppZiAoX19yZS5tdWx0aWxpbmUgIT09IGZhbHNlKSB7CgkkRVJST1IoJyMyOiBfX3JlID0gbmV3IFJlZ0V4cChNYXRoLGV2YWwoIlxcImdcXCIiKSk7IF9fcmUubXVsdGlsaW5lID09PSBmYWxzZS4gQWN0dWFsOiAnICsgKF9fcmUubXVsdGlsaW5lKSk7Cn0KCi8vQ0hFQ0sjMwppZiAoX19yZS5nbG9iYWwgIT09IHRydWUpIHsKCSRFUlJPUignIzM6IF9fcmUgPSBuZXcgUmVnRXhwKE1hdGgsZXZhbCgiXFwiZ1xcIiIpKTsgX19yZS5nbG9iYWwgPT09IHRydWUuIEFjdHVhbDogJyArIChfX3JlLmdsb2JhbCkpOwp9CgovL0NIRUNLIzQKaWYgKF9fcmUubGFzdEluZGV4ICE9PSAwKSB7CgkkRVJST1IoJyM0OiBfX3JlID0gbmV3IFJlZ0V4cChNYXRoLGV2YWwoIlxcImdcXCIiKSk7IF9fcmUubGFzdEluZGV4ID09PSAwLiBBY3R1YWw6ICcgKyAoX19yZS5sYXN0SW5kZXgpKTsKfQoKLy9DSEVDSyM1CmlmICh0eXBlb2YgX19yZS5zb3VyY2UgPT09ICJ1bmRlZmluZWQiKSB7CgkkRVJST1IoJyM1OiBfX3JlID0gbmV3IFJlZ0V4cChNYXRoLGV2YWwoIlxcImdcXCIiKSk7IHR5cGVvZiBfX3JlLnNvdXJjZSAhPT0gInVuZGVmaW5lZCInKTsKfQoKCg==","commentary":"let P be ToString(pattern) and let F be ToString(flags)","description":"Checking by using eval, pattern is Math and flags is eval(\"\\\"g\\\"\")","path":"TestCases/ch15/15.10/15.10.4/S15.10.4.1_A8_T11.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBsZXQgUCBiZSBUb1N0cmluZyhwYXR0ZXJuKSBhbmQgbGV0IEYgYmUgVG9TdHJpbmcoZmxhZ3MpCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuNC9TMTUuMTAuNC4xX0E4X1QxMi5qcwogKiBAZGVzY3JpcHRpb24gUGF0dGVybiBpcyAiXHUwMDQyIiBhbmQgZmxhZ3MgaXMge3RvU3RyaW5nOnZvaWQgMCwgdmFsdWVPZjpmdW5jdGlvbigpe3Rocm93ICJpbnZhbG9mIjt9IH0KICovCgovL0NIRUNLIzEKdHJ5IHsKCSRFUlJPUignIzEuMTogbmV3IFJlZ0V4cCgiXFx1MDA0MiIsIHt0b1N0cmluZzp2b2lkIDAsIHZhbHVlT2Y6ZnVuY3Rpb24oKXt0aHJvdyAiaW52YWxvZiI7fX0pIHRocm93ICJpbnZhbG9mIi4gQWN0dWFsOiAnICsgKG5ldyBSZWdFeHAoIlx1MDA0MiIsIHt0b1N0cmluZzp2b2lkIDAsIHZhbHVlT2Y6ZnVuY3Rpb24oKXt0aHJvdyAiaW52YWxvZiI7fX0pKSk7Cn0gY2F0Y2ggKGUpIHsKCWlmIChlICE9PSAiaW52YWxvZiIgKSB7CgkJJEVSUk9SKCcjMS4yOiBuZXcgUmVnRXhwKCJcXHUwMDQyIiwge3RvU3RyaW5nOnZvaWQgMCwgdmFsdWVPZjpmdW5jdGlvbigpe3Rocm93ICJpbnZhbG9mIjt9fSkgdGhyb3cgImludmFsb2YiLiBBY3R1YWw6ICcgKyAoZSkpOwoJfQp9CgoK","commentary":"let P be ToString(pattern) and let F be ToString(flags)","description":"Pattern is \"\\u0042\" and flags is {toString:void 0, valueOf:function(){throw \"invalof\";} }","path":"TestCases/ch15/15.10/15.10.4/S15.10.4.1_A8_T12.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBsZXQgUCBiZSBUb1N0cmluZyhwYXR0ZXJuKSBhbmQgbGV0IEYgYmUgVG9TdHJpbmcoZmxhZ3MpCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuNC9TMTUuMTAuNC4xX0E4X1QxMy5qcwogKiBAZGVzY3JpcHRpb24gUGF0dGVybiBpcyAiMSIgYW5kIGZsYWdzIGlzIHt0b1N0cmluZzpmdW5jdGlvbigpe3Rocm93ICJpbnRvc3RyIjt9IH0KICovCgovL0NIRUNLIzEKdHJ5IHsKCSRFUlJPUignIzEuMTogbmV3IFJlZ0V4cCgiMSIsIHt0b1N0cmluZzpmdW5jdGlvbigpe3Rocm93ICJpbnRvc3RyIjt9fSkgdGhyb3cgImludG9zdHIiLiBBY3R1YWw6ICcgKyAobmV3IFJlZ0V4cCgiMSIsIHt0b1N0cmluZzpmdW5jdGlvbigpe3Rocm93ICJpbnRvc3RyIjt9fSkpKTsKfSBjYXRjaCAoZSkgewoJaWYgKGUgIT09ICJpbnRvc3RyIiApIHsKCQkkRVJST1IoJyMxLjI6IG5ldyBSZWdFeHAoIjEiLCB7dG9TdHJpbmc6ZnVuY3Rpb24oKXt0aHJvdyAiaW50b3N0ciI7fX0pIHRocm93ICJpbnRvc3RyIi4gQWN0dWFsOiAnICsgKGUpKTsKCX0KfQoKCg==","commentary":"let P be ToString(pattern) and let F be ToString(flags)","description":"Pattern is \"1\" and flags is {toString:function(){throw \"intostr\";} }","path":"TestCases/ch15/15.10/15.10.4/S15.10.4.1_A8_T13.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBsZXQgUCBiZSBUb1N0cmluZyhwYXR0ZXJuKSBhbmQgbGV0IEYgYmUgVG9TdHJpbmcoZmxhZ3MpCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuNC9TMTUuMTAuNC4xX0E4X1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBQYXR0ZXJuIGlzIGZ1bmN0aW9uKCl7cmV0dXJuICJhfGJ8W10iO30oKSBhbmQgZmxhZ3MgaXMgImlnIgogKi8KCl9fcmUgPSBuZXcgUmVnRXhwKGZ1bmN0aW9uKCl7cmV0dXJuICJhfGJ8W10iO30oKSwiaWciKTsKCi8vQ0hFQ0sjMQppZiAoX19yZS5pZ25vcmVDYXNlICE9PSB0cnVlKSB7CgkkRVJST1IoJyMxOiBfX3JlID0gbmV3IFJlZ0V4cChmdW5jdGlvbigpe3JldHVybiAiYXxifFtdIjsgX19yZS5pZ25vcmVDYXNlID09PSB0cnVlLiBBY3R1YWw6ICcgKyAoX19yZS5pZ25vcmVDYXNlKSk7Cn0KCi8vQ0hFQ0sjMgppZiAoX19yZS5tdWx0aWxpbmUgIT09IGZhbHNlKSB7CgkkRVJST1IoJyMyOiBfX3JlID0gbmV3IFJlZ0V4cChmdW5jdGlvbigpe3JldHVybiAiYXxifFtdIjsgX19yZS5tdWx0aWxpbmUgPT09IGZhbHNlLiBBY3R1YWw6ICcgKyAoX19yZS5tdWx0aWxpbmUpKTsKfQoKLy9DSEVDSyMzCmlmIChfX3JlLmdsb2JhbCAhPT0gdHJ1ZSkgewoJJEVSUk9SKCcjMzogX19yZSA9IG5ldyBSZWdFeHAoZnVuY3Rpb24oKXtyZXR1cm4gImF8YnxbXSI7IF9fcmUuZ2xvYmFsID09PSB0cnVlLiBBY3R1YWw6ICcgKyAoX19yZS5nbG9iYWwpKTsKfQoKLy9DSEVDSyM0CmlmIChfX3JlLmxhc3RJbmRleCAhPT0gMCkgewoJJEVSUk9SKCcjNDogX19yZSA9IG5ldyBSZWdFeHAoZnVuY3Rpb24oKXtyZXR1cm4gImF8YnxbXSI7IF9fcmUubGFzdEluZGV4ID09PSAwLiBBY3R1YWw6ICcgKyAoX19yZS5sYXN0SW5kZXgpKTsKfQoKLy9DSEVDSyM1CmlmICh0eXBlb2YgX19yZS5zb3VyY2UgPT09ICJ1bmRlZmluZWQiKSB7CgkkRVJST1IoJyM1OiBfX3JlID0gbmV3IFJlZ0V4cChmdW5jdGlvbigpe3JldHVybiAiYXxifFtdIjsgdHlwZW9mIF9fcmUuc291cmNlICE9PSAidW5kZWZpbmVkIicpOwp9CgoK","commentary":"let P be ToString(pattern) and let F be ToString(flags)","description":"Pattern is function(){return \"a|b|[]\";}() and flags is \"ig\"","path":"TestCases/ch15/15.10/15.10.4/S15.10.4.1_A8_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBsZXQgUCBiZSBUb1N0cmluZyhwYXR0ZXJuKSBhbmQgbGV0IEYgYmUgVG9TdHJpbmcoZmxhZ3MpCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuNC9TMTUuMTAuNC4xX0E4X1QzLmpzCiAqIEBkZXNjcmlwdGlvbiBQYXR0ZXJuIGlzIHt0b1N0cmluZzpmdW5jdGlvbigpe3JldHVybiAiWzAtOV0iO319IGFuZCBmbGFncyBpcyAoZnVuY3Rpb24oKXtyZXR1cm4gIm0iO30pKCkKICovCgpfX3JlID0gbmV3IFJlZ0V4cCh7dG9TdHJpbmc6ZnVuY3Rpb24oKXtyZXR1cm4gIlswLTldIjt9fSwgKGZ1bmN0aW9uKCl7cmV0dXJuICJtIjt9KSgpKTsKCi8vQ0hFQ0sjMQppZiAoX19yZS5pZ25vcmVDYXNlICE9PSBmYWxzZSkgewoJJEVSUk9SKCcjMTogX19yZSA9IG5ldyBSZWdFeHAoe3RvU3RyaW5nOmZ1bmN0aW9uKCl7cmV0dXJuICJbMC05XSI7IF9fcmUuaWdub3JlQ2FzZSA9PT0gZmFsc2UuIEFjdHVhbDogJyArIChfX3JlLmlnbm9yZUNhc2UpKTsKfQoKLy9DSEVDSyMyCmlmIChfX3JlLm11bHRpbGluZSAhPT0gdHJ1ZSkgewoJJEVSUk9SKCcjMjogX19yZSA9IG5ldyBSZWdFeHAoe3RvU3RyaW5nOmZ1bmN0aW9uKCl7cmV0dXJuICJbMC05XSI7IF9fcmUubXVsdGlsaW5lID09PSB0cnVlLiBBY3R1YWw6ICcgKyAoX19yZS5tdWx0aWxpbmUpKTsKfQoKLy9DSEVDSyMzCmlmIChfX3JlLmdsb2JhbCAhPT0gZmFsc2UpIHsKCSRFUlJPUignIzM6IF9fcmUgPSBuZXcgUmVnRXhwKHt0b1N0cmluZzpmdW5jdGlvbigpe3JldHVybiAiWzAtOV0iOyBfX3JlLmdsb2JhbCA9PT0gZmFsc2UuIEFjdHVhbDogJyArIChfX3JlLmdsb2JhbCkpOwp9CgovL0NIRUNLIzQKaWYgKF9fcmUubGFzdEluZGV4ICE9PSAwKSB7CgkkRVJST1IoJyM0OiBfX3JlID0gbmV3IFJlZ0V4cCh7dG9TdHJpbmc6ZnVuY3Rpb24oKXtyZXR1cm4gIlswLTldIjsgX19yZS5sYXN0SW5kZXggPT09IDAuIEFjdHVhbDogJyArIChfX3JlLmxhc3RJbmRleCkpOwp9CgovL0NIRUNLIzUKaWYgKHR5cGVvZiBfX3JlLnNvdXJjZSA9PT0gInVuZGVmaW5lZCIpIHsKCSRFUlJPUignIzU6IF9fcmUgPSBuZXcgUmVnRXhwKHt0b1N0cmluZzpmdW5jdGlvbigpe3JldHVybiAiWzAtOV0iOyB0eXBlb2YgX19yZS5zb3VyY2UgIT09ICJ1bmRlZmluZWQiJyk7Cn0KCgo=","commentary":"let P be ToString(pattern) and let F be ToString(flags)","description":"Pattern is {toString:function(){return \"[0-9]\";}} and flags is (function(){return \"m\";})()","path":"TestCases/ch15/15.10/15.10.4/S15.10.4.1_A8_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBsZXQgUCBiZSBUb1N0cmluZyhwYXR0ZXJuKSBhbmQgbGV0IEYgYmUgVG9TdHJpbmcoZmxhZ3MpCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuNC9TMTUuMTAuNC4xX0E4X1Q0LmpzCiAqIEBkZXNjcmlwdGlvbiBQYXR0ZXJuIGlzIHt0b1N0cmluZzp2b2lkIDAsdmFsdWVPZjpmdW5jdGlvbigpe3JldHVybiAiW3otel0iO319IGFuZCBmbGFncyBpcyB7dG9TdHJpbmc6dm9pZCAwLHZhbHVlT2Y6ZnVuY3Rpb24oKXtyZXR1cm4gIm1pZyI7fX0KICovCgpfX3JlID0gbmV3IFJlZ0V4cCh7dG9TdHJpbmc6dm9pZCAwLHZhbHVlT2Y6ZnVuY3Rpb24oKXtyZXR1cm4gIlt6LXpdIjt9fSwge3RvU3RyaW5nOnZvaWQgMCx2YWx1ZU9mOmZ1bmN0aW9uKCl7cmV0dXJuICJtaWciO319KTsKCi8vQ0hFQ0sjMQppZiAoX19yZS5pZ25vcmVDYXNlICE9PSB0cnVlKSB7CgkkRVJST1IoJyMxOiBfX3JlID0gbmV3IFJlZ0V4cCh7dG9TdHJpbmc6dm9pZCAwLHZhbHVlT2Y6ZnVuY3Rpb24oKXtyZXR1cm4gIlt6LXpdIjsgX19yZS5pZ25vcmVDYXNlID09PSB0cnVlLiBBY3R1YWw6ICcgKyAoX19yZS5pZ25vcmVDYXNlKSk7Cn0KCi8vQ0hFQ0sjMgppZiAoX19yZS5tdWx0aWxpbmUgIT09IHRydWUpIHsKCSRFUlJPUignIzI6IF9fcmUgPSBuZXcgUmVnRXhwKHt0b1N0cmluZzp2b2lkIDAsdmFsdWVPZjpmdW5jdGlvbigpe3JldHVybiAiW3otel0iOyBfX3JlLm11bHRpbGluZSA9PT0gdHJ1ZS4gQWN0dWFsOiAnICsgKF9fcmUubXVsdGlsaW5lKSk7Cn0KCi8vQ0hFQ0sjMwppZiAoX19yZS5nbG9iYWwgIT09IHRydWUpIHsKCSRFUlJPUignIzM6IF9fcmUgPSBuZXcgUmVnRXhwKHt0b1N0cmluZzp2b2lkIDAsdmFsdWVPZjpmdW5jdGlvbigpe3JldHVybiAiW3otel0iOyBfX3JlLmdsb2JhbCA9PT0gdHJ1ZS4gQWN0dWFsOiAnICsgKF9fcmUuZ2xvYmFsKSk7Cn0KCi8vQ0hFQ0sjNAppZiAoX19yZS5sYXN0SW5kZXggIT09IDApIHsKCSRFUlJPUignIzQ6IF9fcmUgPSBuZXcgUmVnRXhwKHt0b1N0cmluZzp2b2lkIDAsdmFsdWVPZjpmdW5jdGlvbigpe3JldHVybiAiW3otel0iOyBfX3JlLmxhc3RJbmRleCA9PT0gMC4gQWN0dWFsOiAnICsgKF9fcmUubGFzdEluZGV4KSk7Cn0KCi8vQ0hFQ0sjNQppZiAodHlwZW9mIF9fcmUuc291cmNlID09PSAidW5kZWZpbmVkIikgewoJJEVSUk9SKCcjNTogX19yZSA9IG5ldyBSZWdFeHAoe3RvU3RyaW5nOnZvaWQgMCx2YWx1ZU9mOmZ1bmN0aW9uKCl7cmV0dXJuICJbei16XSI7IHR5cGVvZiBfX3JlLnNvdXJjZSAhPT0gInVuZGVmaW5lZCInKTsKfQoKCg==","commentary":"let P be ToString(pattern) and let F be ToString(flags)","description":"Pattern is {toString:void 0,valueOf:function(){return \"[z-z]\";}} and flags is {toString:void 0,valueOf:function(){return \"mig\";}}","path":"TestCases/ch15/15.10/15.10.4/S15.10.4.1_A8_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBsZXQgUCBiZSBUb1N0cmluZyhwYXR0ZXJuKSBhbmQgbGV0IEYgYmUgVG9TdHJpbmcoZmxhZ3MpCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuNC9TMTUuMTAuNC4xX0E4X1Q1LmpzCiAqIEBkZXNjcmlwdGlvbiBQYXR0ZXJuIGlzIG5ldyBPYmplY3QoImFiY3sxfSIpIGFuZCBmbGFncyBpcyB7dG9TdHJpbmc6ZnVuY3Rpb24oKXtyZXR1cm4gIiI7fX0KICovCgpfX3JlID0gbmV3IFJlZ0V4cChuZXcgT2JqZWN0KCJhYmN7MX0iKSwge3RvU3RyaW5nOmZ1bmN0aW9uKCl7cmV0dXJuICIiO319KTsKCi8vQ0hFQ0sjMQppZiAoX19yZS5pZ25vcmVDYXNlICE9PSBmYWxzZSkgewoJJEVSUk9SKCcjMTogX19yZSA9IG5ldyBSZWdFeHAobmV3IE9iamVjdCgiYWJjezF9IiksIHt0b1N0cmluZzpmdW5jdGlvbigpe3JldHVybiAiIjsgX19yZS5pZ25vcmVDYXNlID09PSBmYWxzZS4gQWN0dWFsOiAnICsgKF9fcmUuaWdub3JlQ2FzZSkpOwp9CgovL0NIRUNLIzIKaWYgKF9fcmUubXVsdGlsaW5lICE9PSBmYWxzZSkgewoJJEVSUk9SKCcjMjogX19yZSA9IG5ldyBSZWdFeHAobmV3IE9iamVjdCgiYWJjezF9IiksIHt0b1N0cmluZzpmdW5jdGlvbigpe3JldHVybiAiIjsgX19yZS5tdWx0aWxpbmUgPT09IGZhbHNlLiBBY3R1YWw6ICcgKyAoX19yZS5tdWx0aWxpbmUpKTsKfQoKLy9DSEVDSyMzCmlmIChfX3JlLmdsb2JhbCAhPT0gZmFsc2UpIHsKCSRFUlJPUignIzM6IF9fcmUgPSBuZXcgUmVnRXhwKG5ldyBPYmplY3QoImFiY3sxfSIpLCB7dG9TdHJpbmc6ZnVuY3Rpb24oKXtyZXR1cm4gIiI7IF9fcmUuZ2xvYmFsID09PSBmYWxzZS4gQWN0dWFsOiAnICsgKF9fcmUuZ2xvYmFsKSk7Cn0KCi8vQ0hFQ0sjNAppZiAoX19yZS5sYXN0SW5kZXggIT09IDApIHsKCSRFUlJPUignIzQ6IF9fcmUgPSBuZXcgUmVnRXhwKG5ldyBPYmplY3QoImFiY3sxfSIpLCB7dG9TdHJpbmc6ZnVuY3Rpb24oKXtyZXR1cm4gIiI7IF9fcmUubGFzdEluZGV4ID09PSAwLiBBY3R1YWw6ICcgKyAoX19yZS5sYXN0SW5kZXgpKTsKfQoKLy9DSEVDSyM1CmlmICh0eXBlb2YgX19yZS5zb3VyY2UgPT09ICJ1bmRlZmluZWQiKSB7CgkkRVJST1IoJyM1OiBfX3JlID0gbmV3IFJlZ0V4cChuZXcgT2JqZWN0KCJhYmN7MX0iKSwge3RvU3RyaW5nOmZ1bmN0aW9uKCl7cmV0dXJuICIiOyB0eXBlb2YgX19yZS5zb3VyY2UgIT09ICJ1bmRlZmluZWQiJyk7Cn0KCgo=","commentary":"let P be ToString(pattern) and let F be ToString(flags)","description":"Pattern is new Object(\"abc{1}\") and flags is {toString:function(){return \"\";}}","path":"TestCases/ch15/15.10/15.10.4/S15.10.4.1_A8_T5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBsZXQgUCBiZSBUb1N0cmluZyhwYXR0ZXJuKSBhbmQgbGV0IEYgYmUgVG9TdHJpbmcoZmxhZ3MpCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuNC9TMTUuMTAuNC4xX0E4X1Q2LmpzCiAqIEBkZXNjcmlwdGlvbiBQYXR0ZXJuIGlzIHt0b1N0cmluZzpmdW5jdGlvbigpe3Rocm93ICJpbnRvc3RyIjt9IH0gYW5kIGZsYWdzIGlzICJpIgogKi8KCi8vQ0hFQ0sjMQp0cnkgewoJJEVSUk9SKCcjMS4xOiBuZXcgUmVnRXhwKHt0b1N0cmluZzpmdW5jdGlvbigpe3Rocm93ICJpbnRvc3RyIjt9fSwgImkiKSB0aHJvdyAiaW50b3N0ciIuIEFjdHVhbDogJyArIChuZXcgUmVnRXhwKHt0b1N0cmluZzpmdW5jdGlvbigpe3Rocm93ICJpbnRvc3RyIjt9fSwgImkiKSkpOwp9IGNhdGNoIChlKSB7CglpZiAoZSAhPT0gImludG9zdHIiICkgewoJCSRFUlJPUignIzEuMjogbmV3IFJlZ0V4cCh7dG9TdHJpbmc6ZnVuY3Rpb24oKXt0aHJvdyAiaW50b3N0ciI7fX0sICJpIikgdGhyb3cgImludG9zdHIiLiBBY3R1YWw6ICcgKyAoZSkpOwoJfQp9CgoK","commentary":"let P be ToString(pattern) and let F be ToString(flags)","description":"Pattern is {toString:function(){throw \"intostr\";} } and flags is \"i\"","path":"TestCases/ch15/15.10/15.10.4/S15.10.4.1_A8_T6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBsZXQgUCBiZSBUb1N0cmluZyhwYXR0ZXJuKSBhbmQgbGV0IEYgYmUgVG9TdHJpbmcoZmxhZ3MpCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuNC9TMTUuMTAuNC4xX0E4X1Q3LmpzCiAqIEBkZXNjcmlwdGlvbiBQYXR0ZXJuIGlzIHt0b1N0cmluZzp2b2lkIDAsIHZhbHVlT2Y6ZnVuY3Rpb24oKXt0aHJvdyAiaW52YWxvZiI7fSB9IGFuZCBmbGFncyBpcyAiaSIKICovCgovL0NIRUNLIzEKdHJ5IHsKCSRFUlJPUignIzEuMTogbmV3IFJlZ0V4cCh7dG9TdHJpbmc6dm9pZCAwLCB2YWx1ZU9mOmZ1bmN0aW9uKCl7dGhyb3cgImludmFsb2YiO319KSB0aHJvdyAiaW52YWxvZiIuIEFjdHVhbDogJyArIChuZXcgUmVnRXhwKHt0b1N0cmluZzp2b2lkIDAsIHZhbHVlT2Y6ZnVuY3Rpb24oKXt0aHJvdyAiaW52YWxvZiI7fX0pKSk7Cn0gY2F0Y2ggKGUpIHsKCWlmIChlICE9PSAiaW52YWxvZiIgKSB7CgkJJEVSUk9SKCcjMS4yOiBuZXcgUmVnRXhwKHt0b1N0cmluZzp2b2lkIDAsIHZhbHVlT2Y6ZnVuY3Rpb24oKXt0aHJvdyAiaW52YWxvZiI7fX0pIHRocm93ICJpbnZhbG9mIi4gQWN0dWFsOiAnICsgKGUpKTsKCX0KfQoKCg==","commentary":"let P be ToString(pattern) and let F be ToString(flags)","description":"Pattern is {toString:void 0, valueOf:function(){throw \"invalof\";} } and flags is \"i\"","path":"TestCases/ch15/15.10/15.10.4/S15.10.4.1_A8_T7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBsZXQgUCBiZSBUb1N0cmluZyhwYXR0ZXJuKSBhbmQgbGV0IEYgYmUgVG9TdHJpbmcoZmxhZ3MpCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuNC9TMTUuMTAuNC4xX0E4X1Q4LmpzCiAqIEBkZXNjcmlwdGlvbiBQYXR0ZXJuIGlzIHt0b1N0cmluZzpmdW5jdGlvbigpe3Rocm93ICJpbnRvc3RyIjt9IH0gYW5kIGZsYWdzIGlzICJlcnJvciIKICovCgovL0NIRUNLIzEKdHJ5IHsKCSRFUlJPUignIzEuMTogbmV3IFJlZ0V4cCh7dG9TdHJpbmc6ZnVuY3Rpb24oKXt0aHJvdyAiaW50b3N0ciI7fX0sICJlcnJvciIpIHRocm93ICJpbnRvc3RyIi4gQWN0dWFsOiAnICsgKG5ldyBSZWdFeHAoe3RvU3RyaW5nOmZ1bmN0aW9uKCl7dGhyb3cgImludG9zdHIiO319LCAiZXJyb3IiKSkpOwp9IGNhdGNoIChlKSB7CglpZiAoZSAhPT0gImludG9zdHIiICkgewoJCSRFUlJPUignIzEuMjogbmV3IFJlZ0V4cCh7dG9TdHJpbmc6ZnVuY3Rpb24oKXt0aHJvdyAiaW50b3N0ciI7fX0sICJlcnJvciIpIHRocm93ICJpbnRvc3RyIi4gQWN0dWFsOiAnICsgKGUpKTsKCX0KfQoKCg==","commentary":"let P be ToString(pattern) and let F be ToString(flags)","description":"Pattern is {toString:function(){throw \"intostr\";} } and flags is \"error\"","path":"TestCases/ch15/15.10/15.10.4/S15.10.4.1_A8_T8.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBsZXQgUCBiZSBUb1N0cmluZyhwYXR0ZXJuKSBhbmQgbGV0IEYgYmUgVG9TdHJpbmcoZmxhZ3MpCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuNC9TMTUuMTAuNC4xX0E4X1Q5LmpzCiAqIEBkZXNjcmlwdGlvbiBQYXR0ZXJuIGlzIDEgYW5kIGZsYWdzIGlzIG5ldyBPYmplY3QoImdpIikKICovCgpfX3JlID0gbmV3IFJlZ0V4cCgxLCBuZXcgT2JqZWN0KCJnaSIpKTsKCi8vQ0hFQ0sjMQppZiAoX19yZS5pZ25vcmVDYXNlICE9PSB0cnVlKSB7CgkkRVJST1IoJyMxOiBfX3JlID0gbmV3IFJlZ0V4cCgxLCBuZXcgT2JqZWN0KCJnaSIpKTsgX19yZS5pZ25vcmVDYXNlID09PSB0cnVlLiBBY3R1YWw6ICcgKyAoX19yZS5pZ25vcmVDYXNlKSk7Cn0KCi8vQ0hFQ0sjMgppZiAoX19yZS5tdWx0aWxpbmUgIT09IGZhbHNlKSB7CgkkRVJST1IoJyMyOiBfX3JlID0gbmV3IFJlZ0V4cCgxLCBuZXcgT2JqZWN0KCJnaSIpKTsgX19yZS5tdWx0aWxpbmUgPT09IGZhbHNlLiBBY3R1YWw6ICcgKyAoX19yZS5tdWx0aWxpbmUpKTsKfQoKLy9DSEVDSyMzCmlmIChfX3JlLmdsb2JhbCAhPT0gdHJ1ZSkgewoJJEVSUk9SKCcjMzogX19yZSA9IG5ldyBSZWdFeHAoMSwgbmV3IE9iamVjdCgiZ2kiKSk7IF9fcmUuZ2xvYmFsID09PSB0cnVlLiBBY3R1YWw6ICcgKyAoX19yZS5nbG9iYWwpKTsKfQoKLy9DSEVDSyM0CmlmIChfX3JlLmxhc3RJbmRleCAhPT0gMCkgewoJJEVSUk9SKCcjNDogX19yZSA9IG5ldyBSZWdFeHAoMSwgbmV3IE9iamVjdCgiZ2kiKSk7IF9fcmUubGFzdEluZGV4ID09PSAwLiBBY3R1YWw6ICcgKyAoX19yZS5sYXN0SW5kZXgpKTsKfQoKLy9DSEVDSyM1CmlmICh0eXBlb2YgX19yZS5zb3VyY2UgPT09ICJ1bmRlZmluZWQiKSB7CgkkRVJST1IoJyM1OiBfX3JlID0gbmV3IFJlZ0V4cCgxLCBuZXcgT2JqZWN0KCJnaSIpKTsgdHlwZW9mIF9fcmUuc291cmNlICE9PSAidW5kZWZpbmVkIicpOwp9CgoK","commentary":"let P be ToString(pattern) and let F be ToString(flags)","description":"Pattern is 1 and flags is new Object(\"gi\")","path":"TestCases/ch15/15.10/15.10.4/S15.10.4.1_A8_T9.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBQJ3MgY2hhcmFjdGVycyBkbyBub3QgaGF2ZSB0aGUgZm9ybSBQYXR0ZXJuLCB0aGVuIHRocm93IGEgU3ludGF4RXJyb3IgZXhjZXB0aW9uCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuNC9TMTUuMTAuNC4xX0E5X1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBQYXR0ZXJuIGlzICI/PyIKICovCgovL0NIRUNLIzEKdHJ5IHsKCSRFUlJPUignIzEuMTogbmV3IFJlZ0V4cCgiPz8iKSB0aHJvdyBTeW50YXhFcnJvci4gQWN0dWFsOiAnICsgKG5ldyBSZWdFeHAoIj8/IikpKTsKfSBjYXRjaCAoZSkgewoJaWYgKChlIGluc3RhbmNlb2YgU3ludGF4RXJyb3IpICE9PSB0cnVlKSB7CgkJJEVSUk9SKCcjMS4yOiBuZXcgUmVnRXhwKCI/PyIpIHRocm93IFN5bnRheEVycm9yLiBBY3R1YWw6ICcgKyAoZSkpOwoJfQp9CgoK","commentary":"If P's characters do not have the form Pattern, then throw a SyntaxError exception","description":"Pattern is \"??\"","path":"TestCases/ch15/15.10/15.10.4/S15.10.4.1_A9_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBQJ3MgY2hhcmFjdGVycyBkbyBub3QgaGF2ZSB0aGUgZm9ybSBQYXR0ZXJuLCB0aGVuIHRocm93IGEgU3ludGF4RXJyb3IgZXhjZXB0aW9uCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuNC9TMTUuMTAuNC4xX0E5X1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBQYXR0ZXJuIGlzICJbey16XSIKICovCgovL0NIRUNLIzEKdHJ5IHsKCSRFUlJPUignIzEuMTogbmV3IFJlZ0V4cCgiW3stel0iKSB0aHJvdyBTeW50YXhFcnJvci4gQWN0dWFsOiAnICsgKG5ldyBSZWdFeHAoIlt7LXpdIikpKTsKfSBjYXRjaCAoZSkgewoJaWYgKChlIGluc3RhbmNlb2YgU3ludGF4RXJyb3IpICE9PSB0cnVlKSB7CgkJJEVSUk9SKCcjMS4yOiBuZXcgUmVnRXhwKCJbey16XSIpIHRocm93IFN5bnRheEVycm9yLiBBY3R1YWw6ICcgKyAoZSkpOwoJfQp9CgoK","commentary":"If P's characters do not have the form Pattern, then throw a SyntaxError exception","description":"Pattern is \"[{-z]\"","path":"TestCases/ch15/15.10/15.10.4/S15.10.4.1_A9_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBQJ3MgY2hhcmFjdGVycyBkbyBub3QgaGF2ZSB0aGUgZm9ybSBQYXR0ZXJuLCB0aGVuIHRocm93IGEgU3ludGF4RXJyb3IgZXhjZXB0aW9uCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuNC9TMTUuMTAuNC4xX0E5X1QzLmpzCiAqIEBkZXNjcmlwdGlvbiBQYXR0ZXJuIGlzICJbYS0tel0iCiAqLwoKLy9DSEVDSyMxCnRyeSB7CgkkRVJST1IoJyMxLjE6IG5ldyBSZWdFeHAoIlthLS16XSIpIHRocm93IFN5bnRheEVycm9yLiBBY3R1YWw6ICcgKyAobmV3IFJlZ0V4cCgiW2EtLXpdIikpKTsKfSBjYXRjaCAoZSkgewoJaWYgKChlIGluc3RhbmNlb2YgU3ludGF4RXJyb3IpICE9PSB0cnVlKSB7CgkJJEVSUk9SKCcjMS4yOiBuZXcgUmVnRXhwKCJbYS0tel0iKSB0aHJvdyBTeW50YXhFcnJvci4gQWN0dWFsOiAnICsgKGUpKTsKCX0KfQoKCg==","commentary":"If P's characters do not have the form Pattern, then throw a SyntaxError exception","description":"Pattern is \"[a--z]\"","path":"TestCases/ch15/15.10/15.10.4/S15.10.4.1_A9_T3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC40LzE1LjEwLjQuMS8xNS4xMC40LjEtMS5qcw0KICogQGRlc2NyaXB0aW9uIFJlZ0V4cCAtIHRoZSB0aHJvd24gZXJyb3IgaXMgVHlwZUVycm9yIGluc3RlYWQgb2YgUmVnRXhwRXJyb3Igd2hlbiBwYXR0ZXJuIGlzIGFuIG9iamVjdCB3aG9zZSBbW0NsYXNzXV0gcHJvcGVydHkgaXMgJ1JlZ0V4cCcgYW5kIGZsYWdzIGlzIG5vdCB1bmRlZmluZWQgDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIHJlZ09iaiA9IG5ldyBSZWdFeHAoKTsNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIHZhciByZWdFeHBPYmogPSBuZXcgUmVnRXhwKHJlZ09iaiwgdHJ1ZSk7DQoNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBUeXBlRXJyb3I7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"RegExp - the thrown error is TypeError instead of RegExpError when pattern is an object whose [[Class]] property is 'RegExp' and flags is not undefined","path":"TestCases/ch15/15.10/15.10.4/15.10.4.1/15.10.4.1-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC40LzE1LjEwLjQuMS8xNS4xMC40LjEtMi5qcw0KICogQGRlc2NyaXB0aW9uIFJlZ0V4cCAtIHRoZSB0aHJvd24gZXJyb3IgaXMgU3ludGF4RXJyb3IgaW5zdGVhZCBvZiBSZWdFeHBFcnJvciB3aGVuIHRoZSBjaGFyYWN0ZXJzIG9mICdQJyBkbyBub3QgaGF2ZSB0aGUgc3ludGFjdGljIGZvcm0gUGF0dGVybg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICB2YXIgcmVnRXhwT2JqID0gbmV3IFJlZ0V4cCgnXFwnKTsNCg0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFN5bnRheEVycm9yOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"RegExp - the thrown error is SyntaxError instead of RegExpError when the characters of 'P' do not have the syntactic form Pattern","path":"TestCases/ch15/15.10/15.10.4/15.10.4.1/15.10.4.1-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC40LzE1LjEwLjQuMS8xNS4xMC40LjEtMy5qcw0KICogQGRlc2NyaXB0aW9uIFJlZ0V4cCAtIHRoZSB0aHJvd24gZXJyb3IgaXMgU3ludGF4RXJyb3IgaW5zdGVhZCBvZiBSZWdFeHBFcnJvciB3aGVuICdGJyBjb250YWlucyBhbnkgY2hhcmFjdGVyIG90aGVyIHRoYW4gJ2cnLCAnaScsIG9yICdtJyANCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgdmFyIHJlZ0V4cE9iaiA9IG5ldyBSZWdFeHAoJ2FiYycsICdhJyk7DQoNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBTeW50YXhFcnJvcjsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"RegExp - the thrown error is SyntaxError instead of RegExpError when 'F' contains any character other than 'g', 'i', or 'm'","path":"TestCases/ch15/15.10/15.10.4/15.10.4.1/15.10.4.1-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC40LzE1LjEwLjQuMS8xNS4xMC40LjEtNC5qcw0KICogQGRlc2NyaXB0aW9uIFJlZ0V4cCAtIHRoZSBTeW50YXhFcnJvciBpcyBub3QgdGhyb3duIHdoZW4gZmxhZ3MgaXMgJ2dpbScNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgdmFyIHJlZ0V4cE9iaiA9IG5ldyBSZWdFeHAoJ2FiYycsICdnaW0nKTsNCg0KICAgICAgICAgICAgcmV0dXJuIHRydWU7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"RegExp - the SyntaxError is not thrown when flags is 'gim'","path":"TestCases/ch15/15.10/15.10.4/15.10.4.1/15.10.4.1-4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgUmVnRXhwIGhhcyBwcm9wZXJ0eSBwcm90b3R5cGUKICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC41L1MxNS4xMC41LjFfQTEuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIFJlZ0V4cC5wcm90b3R5cGUgcHJvcGVydHkKICovCgovL0NIRUNLIzEKaWYgKFJlZ0V4cC5oYXNPd25Qcm9wZXJ0eSgncHJvdG90eXBlJykgIT09IHRydWUpIHsKCSRFUlJPUignIzE6IFJlZ0V4cC5oYXNPd25Qcm9wZXJ0eShcJ3Byb3RvdHlwZVwnKSA9PT0gdHJ1ZScpOwp9CgoK","commentary":"The RegExp has property prototype","description":"Checking RegExp.prototype property","path":"TestCases/ch15/15.10/15.10.5/S15.10.5.1_A1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgUmVnRXhwLnByb3RvdHlwZSBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZSBEb250RW51bQogKgogKiBAcGF0aCBjaDE1LzE1LjEwLzE1LjEwLjUvUzE1LjEwLjUuMV9BMi5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgaWYgZW51bWVyYXRpbmcgdGhlIFJlZ0V4cC5wcm90b3R5cGUgcHJvcGVydHkgZmFpbHMKICovCgovL0NIRUNLIzAKaWYgKFJlZ0V4cC5oYXNPd25Qcm9wZXJ0eSgncHJvdG90eXBlJykgIT09IHRydWUpIHsKCSRFUlJPUignIzA6IFJlZ0V4cC5oYXNPd25Qcm9wZXJ0eShcJ3Byb3RvdHlwZVwnKSA9PT0gdHJ1ZScpOwp9CgogLy9DSEVDSyMxCmlmIChSZWdFeHAucHJvcGVydHlJc0VudW1lcmFibGUoJ3Byb3RvdHlwZScpICE9PSBmYWxzZSkgewoJJEVSUk9SKCcjMTogUmVnRXhwLnByb3BlcnR5SXNFbnVtZXJhYmxlKFwncHJvdG90eXBlXCcpID09PSBmYWxzZScpOwp9CgogLy9DSEVDSyMyCmNvdW50PTA7CmZvciAocCBpbiBSZWdFeHApewoJaWYgKHA9PT0icHJvdG90eXBlIikgY291bnQrKzsKfQoKaWYgKGNvdW50ICE9PSAwKSB7CgkkRVJST1IoJyMyOiBjb3VudD0wOyBmb3IgKHAgaW4gUmVnRXhwKXsgaWYgKHA9PT0icHJvdG90eXBlIikgY291bnQrKzsgfSBjb3VudCA9PT0gMC4gQWN0dWFsOiAnICsgKGNvdW50KSk7Cn0KCgo=","commentary":"The RegExp.prototype property has the attribute DontEnum","description":"Checking if enumerating the RegExp.prototype property fails","path":"TestCases/ch15/15.10/15.10.5/S15.10.5.1_A2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgUmVnRXhwLnByb3RvdHlwZSBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZSBEb250RGVsZXRlCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuNS9TMTUuMTAuNS4xX0EzLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiBkZWxldGluZyB0aGUgUmVnRXhwLnByb3RvdHlwZSBwcm9wZXJ0eSBmYWlscwogKi8KCi8vQ0hFQ0sjMAppZiAoUmVnRXhwLmhhc093blByb3BlcnR5KCdwcm90b3R5cGUnKSAhPT0gdHJ1ZSkgewoJJEZBSUwoJyMwOiBSZWdFeHAuaGFzT3duUHJvcGVydHkoXCdwcm90b3R5cGVcJykgPT09IHRydWUnKTsKfQoKLy9DSEVDSyMxCmlmIChkZWxldGUgUmVnRXhwLnByb3RvdHlwZSAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyMxOiBkZWxldGUgUmVnRXhwLnByb3RvdHlwZSA9PT0gZmFsc2UnKTsKfQoKLy9DSEVDSyMyCmlmIChSZWdFeHAuaGFzT3duUHJvcGVydHkoJ3Byb3RvdHlwZScpICE9PSB0cnVlKSB7CgkkRVJST1IoJyMyOiBkZWxldGUgUmVnRXhwLnByb3RvdHlwZTsgUmVnRXhwLmhhc093blByb3BlcnR5KFwncHJvdG90eXBlXCcpID09PSB0cnVlJyk7Cn0KCgo=","commentary":"The RegExp.prototype property has the attribute DontDelete","description":"Checking if deleting the RegExp.prototype property fails","path":"TestCases/ch15/15.10/15.10.5/S15.10.5.1_A3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgUmVnRXhwLnByb3RvdHlwZSBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZSBSZWFkT25seQogKgogKiBAcGF0aCBjaDE1LzE1LjEwLzE1LjEwLjUvUzE1LjEwLjUuMV9BNC5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgaWYgdmFyeWluZyB0aGUgUmVnRXhwLnByb3RvdHlwZSBwcm9wZXJ0eSBmYWlscwogKi8KCi8vQ0hFQ0sjMQppZiAoUmVnRXhwLmhhc093blByb3BlcnR5KCdwcm90b3R5cGUnKSAhPT0gdHJ1ZSkgewoJJEZBSUwoJyMxOiBSZWdFeHAuaGFzT3duUHJvcGVydHkoXCdwcm90b3R5cGVcJykgPT09IHRydWUnKTsKfQoKX19vYmogPSBSZWdFeHAucHJvdG90eXBlOwoKUmVnRXhwLnByb3RvdHlwZSA9IGZ1bmN0aW9uKCl7cmV0dXJuICJzaGlmdGVkIjt9OwoKLy9DSEVDSyMyCmlmIChSZWdFeHAucHJvdG90eXBlICE9PSBfX29iaikgewoJJEVSUk9SKCcjMjogX19vYmogPSBSZWdFeHAucHJvdG90eXBlOyBSZWdFeHAucHJvdG90eXBlID0gZnVuY3Rpb24oKXtyZXR1cm4gInNoaWZ0ZWQiO307IFJlZ0V4cC5wcm90b3R5cGUgPT09IF9fb2JqLiBBY3R1YWw6ICcgKyAoUmVnRXhwLnByb3RvdHlwZSkpOwp9CgoK","commentary":"The RegExp.prototype property has the attribute ReadOnly","description":"Checking if varying the RegExp.prototype property fails","path":"TestCases/ch15/15.10/15.10.5/S15.10.5.1_A4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBSZWdFeHAgY29uc3RydWN0b3IgaGFzIGxlbmd0aCBwcm9wZXJ0eSB3aG9zZSB2YWx1ZSBpcyAyCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuNS9TMTUuMTAuNV9BMS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgUmVnRXhwLmxlbmd0aCBwcm9wZXJ0eQogKi8KCiAvL0NIRUNLIzEKaWYgKFJlZ0V4cC5sZW5ndGggIT09IDIpIHsKCSRFUlJPUignIzE6IFJlZ0V4cC5sZW5ndGggPT09IDIuIEFjdHVhbDogJyArIChSZWdFeHAubGVuZ3RoKSk7Cn0KCgo=","commentary":"RegExp constructor has length property whose value is 2","description":"Checking RegExp.length property","path":"TestCases/ch15/15.10/15.10.5/S15.10.5_A1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgdmFsdWUgb2YgdGhlIGludGVybmFsIFtbUHJvdG90eXBlXV0gcHJvcGVydHkgb2YgdGhlIFJlZ0V4cCBjb25zdHJ1Y3RvciBpcyB0aGUgRnVuY3Rpb24gcHJvdG90eXBlIG9iamVjdAogKgogKiBAcGF0aCBjaDE1LzE1LjEwLzE1LjEwLjUvUzE1LjEwLjVfQTJfVDEuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIEZ1bmN0aW9uLnByb3RvdHlwZS5pc1Byb3RvdHlwZU9mKFJlZ0V4cCkKICovCgogLy9DSEVDSyMxCmlmIChGdW5jdGlvbi5wcm90b3R5cGUuaXNQcm90b3R5cGVPZihSZWdFeHApICE9PSB0cnVlKSB7CgkkRVJST1IoJyMxOiBGdW5jdGlvbi5wcm90b3R5cGUuaXNQcm90b3R5cGVPZihSZWdFeHApID09PSB0cnVlJyk7Cn0KCgo=","commentary":"The value of the internal [[Prototype]] property of the RegExp constructor is the Function prototype object","description":"Checking Function.prototype.isPrototypeOf(RegExp)","path":"TestCases/ch15/15.10/15.10.5/S15.10.5_A2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgdmFsdWUgb2YgdGhlIGludGVybmFsIFtbUHJvdG90eXBlXV0gcHJvcGVydHkgb2YgdGhlIFJlZ0V4cCBjb25zdHJ1Y3RvciBpcyB0aGUgRnVuY3Rpb24gcHJvdG90eXBlIG9iamVjdAogKgogKiBAcGF0aCBjaDE1LzE1LjEwLzE1LjEwLjUvUzE1LjEwLjVfQTJfVDIuanMKICogQGRlc2NyaXB0aW9uIEFkZCBuZXcgcHJvcGVydHkgdG8gRnVuY3Rpb24ucHJvdG90eXBlIGFuZCB0aGVuIGNoZWNrIHRoaXMgcHJvcGVydHkgb2YgUmVnRXhwCiAqLwoKRnVuY3Rpb24ucHJvdG90eXBlLmluZGljYXRvciA9IDE7CgogLy9DSEVDSyMxCmlmIChSZWdFeHAuaW5kaWNhdG9yICE9PSAxKSB7CgkkRVJST1IoJyMxOiBGdW5jdGlvbi5wcm90b3R5cGUuaW5kaWNhdG9yID0gMTsgUmVnRXhwLmluZGljYXRvciA9PT0gMS4gQWN0dWFsOiAnICsgKFJlZ0V4cC5pbmRpY2F0b3IpKTsKfQoKCg==","commentary":"The value of the internal [[Prototype]] property of the RegExp constructor is the Function prototype object","description":"Add new property to Function.prototype and then check this property of RegExp","path":"TestCases/ch15/15.10/15.10.5/S15.10.5_A2_T2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC42LzE1LjEwLjYuanMNCiAqIEBkZXNjcmlwdGlvbiBSZWdFeHAucHJvdG90eXBlIGlzIGl0c2VsZiBhIFJlZ0V4cA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBzID0gT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKFJlZ0V4cC5wcm90b3R5cGUpOw0KICByZXR1cm4gcyA9PT0gJ1tvYmplY3QgUmVnRXhwXSc7DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"RegExp.prototype is itself a RegExp","path":"TestCases/ch15/15.10/15.10.6/15.10.6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgaW5pdGlhbCB2YWx1ZSBvZiBSZWdFeHAucHJvdG90eXBlLmNvbnN0cnVjdG9yIGlzIHRoZSBidWlsdC1pbiBSZWdFeHAgY29uc3RydWN0b3IKICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC42L1MxNS4xMC42LjFfQTFfVDEuanMKICogQGRlc2NyaXB0aW9uIENvbXBhcmUgUmVnRXhwLnByb3RvdHlwZS5jb25zdHJ1Y3RvciB3aXRoIFJlZ0V4cAogKi8KCi8vQ0hFQ0sjMQppZiAoUmVnRXhwLnByb3RvdHlwZS5jb25zdHJ1Y3RvciAhPT0gUmVnRXhwKSB7CgkkRVJST1IoJyMxOiBSZWdFeHAucHJvdG90eXBlLmNvbnN0cnVjdG9yID09PSBSZWdFeHAuIEFjdHVhbDogJyArIChSZWdFeHAucHJvdG90eXBlLmNvbnN0cnVjdG9yKSk7Cn0KCgo=","commentary":"The initial value of RegExp.prototype.constructor is the built-in RegExp constructor","description":"Compare RegExp.prototype.constructor with RegExp","path":"TestCases/ch15/15.10/15.10.6/S15.10.6.1_A1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgaW5pdGlhbCB2YWx1ZSBvZiBSZWdFeHAucHJvdG90eXBlLmNvbnN0cnVjdG9yIGlzIHRoZSBidWlsdC1pbiBSZWdFeHAgY29uc3RydWN0b3IKICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC42L1MxNS4xMC42LjFfQTFfVDIuanMKICogQGRlc2NyaXB0aW9uIENvbXBhcmUgaW5zdGFuY2UuY29uc3RydWN0b3IgIT09IFJlZ0V4cCwgd2hlcmUgaW5zdGFuY2UgaXMgbmV3IFJlZ0V4cC5wcm90b3R5cGUuY29uc3RydWN0b3IKICovCgpfX0ZBQ1RPUlkgPSBSZWdFeHAucHJvdG90eXBlLmNvbnN0cnVjdG9yOwoKX19pbnN0YW5jZSA9IG5ldyBfX0ZBQ1RPUlk7CgovL0NIRUNLIzEKaWYgKChfX2luc3RhbmNlIGluc3RhbmNlb2YgUmVnRXhwKSAhPT0gdHJ1ZSkgewoJJEVSUk9SKCcjMTogX19GQUNUT1JZID0gUmVnRXhwLnByb3RvdHlwZS5jb25zdHJ1Y3RvcjsgX19pbnN0YW5jZSA9IG5ldyBfX0ZBQ1RPUlk7IChfX2luc3RhbmNlIGluc3RhbmNlb2YgUmVnRXhwKSA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzIKaWYgKF9faW5zdGFuY2UuY29uc3RydWN0b3IgIT09IFJlZ0V4cCkgewoJJEVSUk9SKCcjMjogX19GQUNUT1JZID0gUmVnRXhwLnByb3RvdHlwZS5jb25zdHJ1Y3RvcjsgX19pbnN0YW5jZSA9IG5ldyBfX0ZBQ1RPUlk7IF9faW5zdGFuY2UuY29uc3RydWN0b3IgPT09IFJlZ0V4cC4gQWN0dWFsOiAnICsgKF9faW5zdGFuY2UuY29uc3RydWN0b3IpKTsKfQoKCg==","commentary":"The initial value of RegExp.prototype.constructor is the built-in RegExp constructor","description":"Compare instance.constructor !== RegExp, where instance is new RegExp.prototype.constructor","path":"TestCases/ch15/15.10/15.10.6/S15.10.6.1_A1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgdmFsdWUgb2YgdGhlIGludGVybmFsIFtbUHJvdG90eXBlXV0gcHJvcGVydHkgb2YgdGhlIFJlZ0V4cCBwcm90b3R5cGUgb2JqZWN0IGlzIHRoZSBPYmplY3QgcHJvdG90eXBlCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuNi9TMTUuMTAuNl9BMV9UMS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgT2JqZWN0LnByb3RvdHlwZS5pc1Byb3RvdHlwZU9mKFJlZ0V4cC5wcm90b3R5cGUpCiAqLwoKLy9DSEVDSyMxCmlmIChPYmplY3QucHJvdG90eXBlLmlzUHJvdG90eXBlT2YoUmVnRXhwLnByb3RvdHlwZSkgIT09IHRydWUpIHsKCSRFUlJPUignIzE6IE9iamVjdC5wcm90b3R5cGUuaXNQcm90b3R5cGVPZihSZWdFeHAucHJvdG90eXBlKSA9PT0gdHJ1ZScpOwp9CgoK","commentary":"The value of the internal [[Prototype]] property of the RegExp prototype object is the Object prototype","description":"Checking Object.prototype.isPrototypeOf(RegExp.prototype)","path":"TestCases/ch15/15.10/15.10.6/S15.10.6_A1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgdmFsdWUgb2YgdGhlIGludGVybmFsIFtbUHJvdG90eXBlXV0gcHJvcGVydHkgb2YgdGhlIFJlZ0V4cCBwcm90b3R5cGUgb2JqZWN0IGlzIHRoZSBPYmplY3QgcHJvdG90eXBlCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuNi9TMTUuMTAuNl9BMV9UMi5qcwogKiBAZGVzY3JpcHRpb24gQWRkIG5ldyBwcm9wZXJ0eSB0byBPYmplY3QucHJvdG90eXBlIGFuZCBjaGVjayBpdCBvZiBSZWdFeHAucHJvdG90eXBlCiAqLwoKT2JqZWN0LnByb3RvdHlwZS5pbmRpY2F0b3IgPSAxOwoKLy9DSEVDSyMxCmlmIChSZWdFeHAucHJvdG90eXBlLmluZGljYXRvciAhPT0gMSkgewoJJEVSUk9SKCcjMTogT2JqZWN0LnByb3RvdHlwZS5pbmRpY2F0b3IgPSAxOyBSZWdFeHAucHJvdG90eXBlLmluZGljYXRvciA9PT0gMS4gQWN0dWFsOiAnICsgKFJlZ0V4cC5wcm90b3R5cGUuaW5kaWNhdG9yKSk7Cn0KCgo=","commentary":"The value of the internal [[Prototype]] property of the RegExp prototype object is the Object prototype","description":"Add new property to Object.prototype and check it of RegExp.prototype","path":"TestCases/ch15/15.10/15.10.6/S15.10.6_A1_T2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC42LzE1LjEwLjYuMi8xNS4xMC42LjItOS1lLTEuanMNCiAqIEBkZXNjcmlwdGlvbiBSZWdFeHAucHJvdG90eXBlLmV4ZWMgLSB0aGUgcmVtb3ZlZCBzdGVwIDkuZSB3b24ndCBhZmZlY3RlZCBjdXJyZW50IGFsZ29yaXRobQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBzdHIgPSAiSGVsbG8gV29ybGQhIjsNCiAgICAgICAgdmFyIHJlZ09iaiA9IG5ldyBSZWdFeHAoIldvcmxkIik7DQogICAgICAgIHZhciByZXN1bHQgPSBmYWxzZTsNCiAgICAgICAgcmVzdWx0ID0gcmVnT2JqLmV4ZWMoc3RyKS50b1N0cmluZygpID09PSAiV29ybGQiOw0KICAgICAgICByZXR1cm4gcmVzdWx0Ow0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"RegExp.prototype.exec - the removed step 9.e won't affected current algorithm","path":"TestCases/ch15/15.10/15.10.6/15.10.6.2/15.10.6.2-9-e-1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgUmVnRXhwLnByb3RvdHlwZS5leGVjLmxlbmd0aCBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZSBSZWFkT25seQogKgogKiBAcGF0aCBjaDE1LzE1LjEwLzE1LjEwLjYvMTUuMTAuNi4yL1MxNS4xMC42LjJfQTEwLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiB2YXJ5aW5nIHRoZSBSZWdFeHAucHJvdG90eXBlLmV4ZWMubGVuZ3RoIHByb3BlcnR5IGZhaWxzCiAqLwoKLy9DSEVDSyMxCmlmIChSZWdFeHAucHJvdG90eXBlLmV4ZWMuaGFzT3duUHJvcGVydHkoJ2xlbmd0aCcpICE9PSB0cnVlKSB7CiAgJEZBSUwoJyMxOiBSZWdFeHAucHJvdG90eXBlLmV4ZWMuaGFzT3duUHJvcGVydHkoXCdsZW5ndGhcJykgPT09IHRydWUnKTsKfQoKX19vYmogPSBSZWdFeHAucHJvdG90eXBlLmV4ZWMubGVuZ3RoOwoKUmVnRXhwLnByb3RvdHlwZS5leGVjLmxlbmd0aCA9IGZ1bmN0aW9uKCl7cmV0dXJuICJzaGlmdGVkIjt9OwoKLy9DSEVDSyMyCmlmIChSZWdFeHAucHJvdG90eXBlLmV4ZWMubGVuZ3RoICE9PSBfX29iaikgewogICRFUlJPUignIzI6IF9fb2JqID0gUmVnRXhwLnByb3RvdHlwZS5leGVjLmxlbmd0aDsgUmVnRXhwLnByb3RvdHlwZS5leGVjLmxlbmd0aCA9IGZ1bmN0aW9uKCl7cmV0dXJuICJzaGlmdGVkIjt9OyBSZWdFeHAucHJvdG90eXBlLmV4ZWMubGVuZ3RoID09PSBfX29iai4gQWN0dWFsOiAnICsgKFJlZ0V4cC5wcm90b3R5cGUuZXhlYy5sZW5ndGgpKTsKfQoK","commentary":"The RegExp.prototype.exec.length property has the attribute ReadOnly","description":"Checking if varying the RegExp.prototype.exec.length property fails","path":"TestCases/ch15/15.10/15.10.6/15.10.6.2/S15.10.6.2_A10.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgbGVuZ3RoIHByb3BlcnR5IG9mIHRoZSBleGVjIG1ldGhvZCBpcyAxCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuNi8xNS4xMC42LjIvUzE1LjEwLjYuMl9BMTEuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIFJlZ0V4cC5wcm90b3R5cGUuZXhlYy5sZW5ndGgKICovCgovL0NIRUNLIzEKaWYgKFJlZ0V4cC5wcm90b3R5cGUuZXhlYy5oYXNPd25Qcm9wZXJ0eSgibGVuZ3RoIikgIT09IHRydWUpIHsKICAkRkFJTCgnIzE6IFJlZ0V4cC5wcm90b3R5cGUuZXhlYy5oYXNPd25Qcm9wZXJ0eShcJ2xlbmd0aFwnKSA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzIKaWYgKFJlZ0V4cC5wcm90b3R5cGUuZXhlYy5sZW5ndGggIT09IDEpIHsKICAkRVJST1IoJyMyOiBSZWdFeHAucHJvdG90eXBlLmV4ZWMubGVuZ3RoID09PSAxLiBBY3R1YWw6ICcgKyAoUmVnRXhwLnByb3RvdHlwZS5leGVjLmxlbmd0aCkpOwp9CgoK","commentary":"The length property of the exec method is 1","description":"Checking RegExp.prototype.exec.length","path":"TestCases/ch15/15.10/15.10.6/15.10.6.2/S15.10.6.2_A11.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMTEgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiByZWdFeHAgZXhlYygpIGFjdHMgbGlrZSByZWdFeHAuZXhlYygndW5kZWZpbmVkJykgKHN0ZXAgMikKICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC42LzE1LjEwLjYuMi9TMTUuMTAuNi4yX0ExMi5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgUmVnRXhwLnByb3RvdHlwZS5leGVjCiAqLwoKKC9mb28vKS50ZXN0KCd4Zm9veCcpOwp2YXIgbWF0Y2ggPSBuZXcgUmVnRXhwKCcoLnxccnxcbikqJywnJykuZXhlYygpWzBdOwppZiAobWF0Y2ggPT09ICd4Zm9veCcpIHsKICAkRkFJTCgnIzE6IHJlZ0V4cC5leGVjKCkgbGVha3MgbWF0Y2ggZ2xvYmFsbHknKTsKfQppZiAobWF0Y2ggIT09ICd1bmRlZmluZWQnKSB7CiAgJEZBSUwoJyMyOiByZWdFeHAuZXhlYygpIG11c3QgY29lcmNlIGFic2VudCBmaXJzdCBhcmcgdG8gInVuZGVmaW5lZCInKTsKfQoK","commentary":"regExp exec() acts like regExp.exec('undefined') (step 2)","description":"Checking RegExp.prototype.exec","path":"TestCases/ch15/15.10/15.10.6/15.10.6.2/S15.10.6.2_A12.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBSZWdFeHAucHJvdG90eXBlLmV4ZWMoc3RyaW5nKSBQZXJmb3JtcyBhIHJlZ3VsYXIgZXhwcmVzc2lvbiBtYXRjaCBvZiBUb1N0cmluZyhzdHJpbmcpIGFnYWluc3QgdGhlIHJlZ3VsYXIgZXhwcmVzc2lvbiBhbmQKICogcmV0dXJucyBhbiBBcnJheSBvYmplY3QgY29udGFpbmluZyB0aGUgcmVzdWx0cyBvZiB0aGUgbWF0Y2gsIG9yIG51bGwgaWYgdGhlIHN0cmluZyBkaWQgbm90IG1hdGNoCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuNi8xNS4xMC42LjIvUzE1LjEwLjYuMl9BMV9UMS5qcwogKiBAZGVzY3JpcHRpb24gU3RyaW5nIGlzICIxMjMiIGFuZCBSZWdFeHAgaXMgLzF8MTIvCiAqLwoKX19leGVjdXRlZCA9IC8xfDEyLy5leGVjKCIxMjMiKTsKCl9fZXhwZWN0ZWQgPSBbIjEiXTsKX19leHBlY3RlZC5pbmRleD0wOwpfX2V4cGVjdGVkLmlucHV0PSIxMjMiOwoKLy9DSEVDSyMwCmlmICgoX19leGVjdXRlZCBpbnN0YW5jZW9mIEFycmF5KSAhPT0gdHJ1ZSkgewoJJEVSUk9SKCcjMDogX19leGVjdXRlZCA9IC8xfDEyLy5leGVjKCIxMjMiKTsgKF9fZXhlY3V0ZWQgaW5zdGFuY2VvZiBBcnJheSkgPT09IHRydWUnKTsKfQoKLy9DSEVDSyMxCmlmIChfX2V4ZWN1dGVkLmxlbmd0aCAhPT0gX19leHBlY3RlZC5sZW5ndGgpIHsKICAkRVJST1IoJyMxOiBfX2V4ZWN1dGVkID0gLzF8MTIvLmV4ZWMoIjEyMyIpOyBfX2V4ZWN1dGVkLmxlbmd0aCA9PT0gJyArIF9fZXhwZWN0ZWQubGVuZ3RoICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5sZW5ndGgpOwp9CgovL0NIRUNLIzIKaWYgKF9fZXhlY3V0ZWQuaW5kZXggIT09IF9fZXhwZWN0ZWQuaW5kZXgpIHsKICAkRVJST1IoJyMyOiBfX2V4ZWN1dGVkID0gLzF8MTIvLmV4ZWMoIjEyMyIpOyBfX2V4ZWN1dGVkLmluZGV4ID09PSAnICsgX19leHBlY3RlZC5pbmRleCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5kZXgpOwp9CgovL0NIRUNLIzMKaWYgKF9fZXhlY3V0ZWQuaW5wdXQgIT09IF9fZXhwZWN0ZWQuaW5wdXQpIHsKICAkRVJST1IoJyMzOiBfX2V4ZWN1dGVkID0gLzF8MTIvLmV4ZWMoIjEyMyIpOyBfX2V4ZWN1dGVkLmlucHV0ID09PSAnICsgX19leHBlY3RlZC5pbnB1dCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5wdXQpOwp9CgovL0NIRUNLIzQKZm9yKHZhciBpbmRleD0wOyBpbmRleDxfX2V4cGVjdGVkLmxlbmd0aDsgaW5kZXgrKykgewogIGlmIChfX2V4ZWN1dGVkW2luZGV4XSAhPT0gX19leHBlY3RlZFtpbmRleF0pIHsKICAgICRFUlJPUignIzQ6IF9fZXhlY3V0ZWQgPSAvMXwxMi8uZXhlYygiMTIzIik7IF9fZXhlY3V0ZWRbJyArIGluZGV4ICsgJ10gPT09ICcgKyBfX2V4cGVjdGVkW2luZGV4XSArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWRbaW5kZXhdKTsKICB9Cn0KCgo=","commentary":"RegExp.prototype.exec(string) Performs a regular expression match of ToString(string) against the regular expression and\nreturns an Array object containing the results of the match, or null if the string did not match","description":"String is \"123\" and RegExp is /1|12/","path":"TestCases/ch15/15.10/15.10.6/15.10.6.2/S15.10.6.2_A1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBSZWdFeHAucHJvdG90eXBlLmV4ZWMoc3RyaW5nKSBQZXJmb3JtcyBhIHJlZ3VsYXIgZXhwcmVzc2lvbiBtYXRjaCBvZiBUb1N0cmluZyhzdHJpbmcpIGFnYWluc3QgdGhlIHJlZ3VsYXIgZXhwcmVzc2lvbiBhbmQKICogcmV0dXJucyBhbiBBcnJheSBvYmplY3QgY29udGFpbmluZyB0aGUgcmVzdWx0cyBvZiB0aGUgbWF0Y2gsIG9yIG51bGwgaWYgdGhlIHN0cmluZyBkaWQgbm90IG1hdGNoCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuNi8xNS4xMC42LjIvUzE1LjEwLjYuMl9BMV9UMTAuanMKICogQGRlc2NyaXB0aW9uIFN0cmluZyBpcyAxLjAxIGFuZCBSZWdFeHAgaXMgLzF8MTIvCiAqLwoKX19leGVjdXRlZCA9IC8xfDEyLy5leGVjKDEuMDEpOwoKX19leHBlY3RlZCA9IFsiMSJdOwpfX2V4cGVjdGVkLmluZGV4PTA7Cl9fZXhwZWN0ZWQuaW5wdXQ9IjEuMDEiOwoKLy9DSEVDSyMwCmlmICgoX19leGVjdXRlZCBpbnN0YW5jZW9mIEFycmF5KSAhPT0gdHJ1ZSkgewoJJEVSUk9SKCcjMDogX19leGVjdXRlZCA9IC8xfDEyLy5leGVjKDEuMDEpOyAoX19leGVjdXRlZCBpbnN0YW5jZW9mIEFycmF5KSA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzEKaWYgKF9fZXhlY3V0ZWQubGVuZ3RoICE9PSBfX2V4cGVjdGVkLmxlbmd0aCkgewogICRFUlJPUignIzE6IF9fZXhlY3V0ZWQgPSAvMXwxMi8uZXhlYygxLjAxKTsgX19leGVjdXRlZC5sZW5ndGggPT09ICcgKyBfX2V4cGVjdGVkLmxlbmd0aCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQubGVuZ3RoKTsKfQoKLy9DSEVDSyMyCmlmIChfX2V4ZWN1dGVkLmluZGV4ICE9PSBfX2V4cGVjdGVkLmluZGV4KSB7CiAgJEVSUk9SKCcjMjogX19leGVjdXRlZCA9IC8xfDEyLy5leGVjKDEuMDEpOyBfX2V4ZWN1dGVkLmluZGV4ID09PSAnICsgX19leHBlY3RlZC5pbmRleCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5kZXgpOwp9CgovL0NIRUNLIzMKaWYgKF9fZXhlY3V0ZWQuaW5wdXQgIT09IF9fZXhwZWN0ZWQuaW5wdXQpIHsKICAkRVJST1IoJyMzOiBfX2V4ZWN1dGVkID0gLzF8MTIvLmV4ZWMoMS4wMSk7IF9fZXhlY3V0ZWQuaW5wdXQgPT09ICcgKyBfX2V4cGVjdGVkLmlucHV0ICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5pbnB1dCk7Cn0KCi8vQ0hFQ0sjNApmb3IodmFyIGluZGV4PTA7IGluZGV4PF9fZXhwZWN0ZWQubGVuZ3RoOyBpbmRleCsrKSB7CiAgaWYgKF9fZXhlY3V0ZWRbaW5kZXhdICE9PSBfX2V4cGVjdGVkW2luZGV4XSkgewogICAgJEVSUk9SKCcjNDogX19leGVjdXRlZCA9IC8xfDEyLy5leGVjKDEuMDEpOyBfX2V4ZWN1dGVkWycgKyBpbmRleCArICddID09PSAnICsgX19leHBlY3RlZFtpbmRleF0gKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkW2luZGV4XSk7CiAgfQp9CgoK","commentary":"RegExp.prototype.exec(string) Performs a regular expression match of ToString(string) against the regular expression and\nreturns an Array object containing the results of the match, or null if the string did not match","description":"String is 1.01 and RegExp is /1|12/","path":"TestCases/ch15/15.10/15.10.6/15.10.6.2/S15.10.6.2_A1_T10.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBSZWdFeHAucHJvdG90eXBlLmV4ZWMoc3RyaW5nKSBQZXJmb3JtcyBhIHJlZ3VsYXIgZXhwcmVzc2lvbiBtYXRjaCBvZiBUb1N0cmluZyhzdHJpbmcpIGFnYWluc3QgdGhlIHJlZ3VsYXIgZXhwcmVzc2lvbiBhbmQKICogcmV0dXJucyBhbiBBcnJheSBvYmplY3QgY29udGFpbmluZyB0aGUgcmVzdWx0cyBvZiB0aGUgbWF0Y2gsIG9yIG51bGwgaWYgdGhlIHN0cmluZyBkaWQgbm90IG1hdGNoCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuNi8xNS4xMC42LjIvUzE1LjEwLjYuMl9BMV9UMTEuanMKICogQGRlc2NyaXB0aW9uIFN0cmluZyBpcyBuZXcgTnVtYmVyKDEuMDEyKSBhbmQgUmVnRXhwIGlzIC8yfDEyLwogKi8KCl9fZXhlY3V0ZWQgPSAvMnwxMi8uZXhlYyhuZXcgTnVtYmVyKDEuMDEyKSk7CgpfX2V4cGVjdGVkID0gWyIxMiJdOwpfX2V4cGVjdGVkLmluZGV4PTM7Cl9fZXhwZWN0ZWQuaW5wdXQ9IjEuMDEyIjsKCi8vQ0hFQ0sjMAppZiAoKF9fZXhlY3V0ZWQgaW5zdGFuY2VvZiBBcnJheSkgIT09IHRydWUpIHsKCSRFUlJPUignIzA6IF9fZXhlY3V0ZWQgPSAvMnwxMi8uZXhlYyhuZXcgTnVtYmVyKDEuMDEyKSk7IChfX2V4ZWN1dGVkIGluc3RhbmNlb2YgQXJyYXkpID09PSB0cnVlJyk7Cn0KCi8vQ0hFQ0sjMQppZiAoX19leGVjdXRlZC5sZW5ndGggIT09IF9fZXhwZWN0ZWQubGVuZ3RoKSB7CiAgJEVSUk9SKCcjMTogX19leGVjdXRlZCA9IC8yfDEyLy5leGVjKG5ldyBOdW1iZXIoMS4wMTIpKTsgX19leGVjdXRlZC5sZW5ndGggPT09ICcgKyBfX2V4cGVjdGVkLmxlbmd0aCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQubGVuZ3RoKTsKfQoKLy9DSEVDSyMyCmlmIChfX2V4ZWN1dGVkLmluZGV4ICE9PSBfX2V4cGVjdGVkLmluZGV4KSB7CiAgJEVSUk9SKCcjMjogX19leGVjdXRlZCA9IC8yfDEyLy5leGVjKG5ldyBOdW1iZXIoMS4wMTIpKTsgX19leGVjdXRlZC5pbmRleCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5kZXggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmluZGV4KTsKfQoKLy9DSEVDSyMzCmlmIChfX2V4ZWN1dGVkLmlucHV0ICE9PSBfX2V4cGVjdGVkLmlucHV0KSB7CiAgJEVSUk9SKCcjMzogX19leGVjdXRlZCA9IC8yfDEyLy5leGVjKG5ldyBOdW1iZXIoMS4wMTIpKTsgX19leGVjdXRlZC5pbnB1dCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5wdXQgKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmlucHV0KTsKfQoKLy9DSEVDSyM0CmZvcih2YXIgaW5kZXg9MDsgaW5kZXg8X19leHBlY3RlZC5sZW5ndGg7IGluZGV4KyspIHsKICBpZiAoX19leGVjdXRlZFtpbmRleF0gIT09IF9fZXhwZWN0ZWRbaW5kZXhdKSB7CiAgICAkRVJST1IoJyM0OiBfX2V4ZWN1dGVkID0gLzJ8MTIvLmV4ZWMobmV3IE51bWJlcigxLjAxMikpOyBfX2V4ZWN1dGVkWycgKyBpbmRleCArICddID09PSAnICsgX19leHBlY3RlZFtpbmRleF0gKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkW2luZGV4XSk7CiAgfQp9CgoK","commentary":"RegExp.prototype.exec(string) Performs a regular expression match of ToString(string) against the regular expression and\nreturns an Array object containing the results of the match, or null if the string did not match","description":"String is new Number(1.012) and RegExp is /2|12/","path":"TestCases/ch15/15.10/15.10.6/15.10.6.2/S15.10.6.2_A1_T11.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBSZWdFeHAucHJvdG90eXBlLmV4ZWMoc3RyaW5nKSBQZXJmb3JtcyBhIHJlZ3VsYXIgZXhwcmVzc2lvbiBtYXRjaCBvZiBUb1N0cmluZyhzdHJpbmcpIGFnYWluc3QgdGhlIHJlZ3VsYXIgZXhwcmVzc2lvbiBhbmQKICogcmV0dXJucyBhbiBBcnJheSBvYmplY3QgY29udGFpbmluZyB0aGUgcmVzdWx0cyBvZiB0aGUgbWF0Y2gsIG9yIG51bGwgaWYgdGhlIHN0cmluZyBkaWQgbm90IG1hdGNoCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuNi8xNS4xMC42LjIvUzE1LjEwLjYuMl9BMV9UMTIuanMKICogQGRlc2NyaXB0aW9uIFN0cmluZyBpcyB7dG9TdHJpbmc6ZnVuY3Rpb24oKXtyZXR1cm4gTWF0aC5QSTt9fSBhbmQgUmVnRXhwIGlzIC9cLjE0LwogKi8KCl9fZXhlY3V0ZWQgPSAvXC4xNC8uZXhlYyh7dG9TdHJpbmc6ZnVuY3Rpb24oKXtyZXR1cm4gTWF0aC5QSX19KTsKCl9fZXhwZWN0ZWQgPSBbIi4xNCJdOwpfX2V4cGVjdGVkLmluZGV4PTE7Cl9fZXhwZWN0ZWQuaW5wdXQ9U3RyaW5nKE1hdGguUEkpOwoKLy9DSEVDSyMwCmlmICgoX19leGVjdXRlZCBpbnN0YW5jZW9mIEFycmF5KSAhPT0gdHJ1ZSkgewoJJEVSUk9SKCcjMDogX19leGVjdXRlZCA9IC9cXC4xNC8uZXhlYyh7dG9TdHJpbmc6ZnVuY3Rpb24oKXtyZXR1cm4gTWF0aC5QSX19KTsgKF9fZXhlY3V0ZWQgaW5zdGFuY2VvZiBBcnJheSkgPT09IHRydWUnKTsKfQoKLy9DSEVDSyMxCmlmIChfX2V4ZWN1dGVkLmxlbmd0aCAhPT0gX19leHBlY3RlZC5sZW5ndGgpIHsKICAkRVJST1IoJyMxOiBfX2V4ZWN1dGVkID0gL1xcLjE0Ly5leGVjKHt0b1N0cmluZzpmdW5jdGlvbigpe3JldHVybiBNYXRoLlBJfX0pOyBfX2V4ZWN1dGVkLmxlbmd0aCA9PT0gJyArIF9fZXhwZWN0ZWQubGVuZ3RoICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5sZW5ndGgpOwp9CgovL0NIRUNLIzIKaWYgKF9fZXhlY3V0ZWQuaW5kZXggIT09IF9fZXhwZWN0ZWQuaW5kZXgpIHsKICAkRVJST1IoJyMyOiBfX2V4ZWN1dGVkID0gL1xcLjE0Ly5leGVjKHt0b1N0cmluZzpmdW5jdGlvbigpe3JldHVybiBNYXRoLlBJfX0pOyBfX2V4ZWN1dGVkLmluZGV4ID09PSAnICsgX19leHBlY3RlZC5pbmRleCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5kZXgpOwp9CgovL0NIRUNLIzMKaWYgKF9fZXhlY3V0ZWQuaW5wdXQgIT09IF9fZXhwZWN0ZWQuaW5wdXQpIHsKICAkRVJST1IoJyMzOiBfX2V4ZWN1dGVkID0gL1xcLjE0Ly5leGVjKHt0b1N0cmluZzpmdW5jdGlvbigpe3JldHVybiBNYXRoLlBJfX0pOyBfX2V4ZWN1dGVkLmlucHV0ID09PSAnICsgX19leHBlY3RlZC5pbnB1dCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5wdXQpOwp9CgovL0NIRUNLIzQKZm9yKHZhciBpbmRleD0wOyBpbmRleDxfX2V4cGVjdGVkLmxlbmd0aDsgaW5kZXgrKykgewogIGlmIChfX2V4ZWN1dGVkW2luZGV4XSAhPT0gX19leHBlY3RlZFtpbmRleF0pIHsKICAgICRFUlJPUignIzQ6IF9fZXhlY3V0ZWQgPSAvXFwuMTQvLmV4ZWMoe3RvU3RyaW5nOmZ1bmN0aW9uKCl7cmV0dXJuIE1hdGguUEl9fSk7IF9fZXhlY3V0ZWRbJyArIGluZGV4ICsgJ10gPT09ICcgKyBfX2V4cGVjdGVkW2luZGV4XSArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWRbaW5kZXhdKTsKICB9Cn0KCgo=","commentary":"RegExp.prototype.exec(string) Performs a regular expression match of ToString(string) against the regular expression and\nreturns an Array object containing the results of the match, or null if the string did not match","description":"String is {toString:function(){return Math.PI;}} and RegExp is /\\.14/","path":"TestCases/ch15/15.10/15.10.6/15.10.6.2/S15.10.6.2_A1_T12.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBSZWdFeHAucHJvdG90eXBlLmV4ZWMoc3RyaW5nKSBQZXJmb3JtcyBhIHJlZ3VsYXIgZXhwcmVzc2lvbiBtYXRjaCBvZiBUb1N0cmluZyhzdHJpbmcpIGFnYWluc3QgdGhlIHJlZ3VsYXIgZXhwcmVzc2lvbiBhbmQKICogcmV0dXJucyBhbiBBcnJheSBvYmplY3QgY29udGFpbmluZyB0aGUgcmVzdWx0cyBvZiB0aGUgbWF0Y2gsIG9yIG51bGwgaWYgdGhlIHN0cmluZyBkaWQgbm90IG1hdGNoCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuNi8xNS4xMC42LjIvUzE1LjEwLjYuMl9BMV9UMTMuanMKICogQGRlc2NyaXB0aW9uIFN0cmluZyBpcyB0cnVlIGFuZCBSZWdFeHAgaXMgL3RbYS1ifHEtc10vCiAqLwoKX19leGVjdXRlZCA9IC90W2EtYnxxLXNdLy5leGVjKHRydWUpOwoKX19leHBlY3RlZCA9IFsidHIiXTsKX19leHBlY3RlZC5pbmRleD0wOwpfX2V4cGVjdGVkLmlucHV0PSJ0cnVlIjsKCi8vQ0hFQ0sjMAppZiAoKF9fZXhlY3V0ZWQgaW5zdGFuY2VvZiBBcnJheSkgIT09IHRydWUpIHsKCSRFUlJPUignIzA6IF9fZXhlY3V0ZWQgPSAvdFthLWJ8cS1zXS8uZXhlYyh0cnVlKTsgKF9fZXhlY3V0ZWQgaW5zdGFuY2VvZiBBcnJheSkgPT09IHRydWUnKTsKfQoKLy9DSEVDSyMxCmlmIChfX2V4ZWN1dGVkLmxlbmd0aCAhPT0gX19leHBlY3RlZC5sZW5ndGgpIHsKICAkRVJST1IoJyMxOiBfX2V4ZWN1dGVkID0gL3RbYS1ifHEtc10vLmV4ZWModHJ1ZSk7IF9fZXhlY3V0ZWQubGVuZ3RoID09PSAnICsgX19leHBlY3RlZC5sZW5ndGggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmxlbmd0aCk7Cn0KCi8vQ0hFQ0sjMgppZiAoX19leGVjdXRlZC5pbmRleCAhPT0gX19leHBlY3RlZC5pbmRleCkgewogICRFUlJPUignIzI6IF9fZXhlY3V0ZWQgPSAvdFthLWJ8cS1zXS8uZXhlYyh0cnVlKTsgX19leGVjdXRlZC5pbmRleCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5kZXggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmluZGV4KTsKfQoKLy9DSEVDSyMzCmlmIChfX2V4ZWN1dGVkLmlucHV0ICE9PSBfX2V4cGVjdGVkLmlucHV0KSB7CiAgJEVSUk9SKCcjMzogX19leGVjdXRlZCA9IC90W2EtYnxxLXNdLy5leGVjKHRydWUpOyBfX2V4ZWN1dGVkLmlucHV0ID09PSAnICsgX19leHBlY3RlZC5pbnB1dCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5wdXQpOwp9CgovL0NIRUNLIzQKZm9yKHZhciBpbmRleD0wOyBpbmRleDxfX2V4cGVjdGVkLmxlbmd0aDsgaW5kZXgrKykgewogIGlmIChfX2V4ZWN1dGVkW2luZGV4XSAhPT0gX19leHBlY3RlZFtpbmRleF0pIHsKICAgICRFUlJPUignIzQ6IF9fZXhlY3V0ZWQgPSAvdFthLWJ8cS1zXS8uZXhlYyh0cnVlKTsgX19leGVjdXRlZFsnICsgaW5kZXggKyAnXSA9PT0gJyArIF9fZXhwZWN0ZWRbaW5kZXhdICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZFtpbmRleF0pOwogIH0KfQoKCg==","commentary":"RegExp.prototype.exec(string) Performs a regular expression match of ToString(string) against the regular expression and\nreturns an Array object containing the results of the match, or null if the string did not match","description":"String is true and RegExp is /t[a-b|q-s]/","path":"TestCases/ch15/15.10/15.10.6/15.10.6.2/S15.10.6.2_A1_T13.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBSZWdFeHAucHJvdG90eXBlLmV4ZWMoc3RyaW5nKSBQZXJmb3JtcyBhIHJlZ3VsYXIgZXhwcmVzc2lvbiBtYXRjaCBvZiBUb1N0cmluZyhzdHJpbmcpIGFnYWluc3QgdGhlIHJlZ3VsYXIgZXhwcmVzc2lvbiBhbmQKICogcmV0dXJucyBhbiBBcnJheSBvYmplY3QgY29udGFpbmluZyB0aGUgcmVzdWx0cyBvZiB0aGUgbWF0Y2gsIG9yIG51bGwgaWYgdGhlIHN0cmluZyBkaWQgbm90IG1hdGNoCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuNi8xNS4xMC42LjIvUzE1LjEwLjYuMl9BMV9UMTQuanMKICogQGRlc2NyaXB0aW9uIFN0cmluZyBpcyBuZXcgQm9vbGVhbiBhbmQgUmVnRXhwIGlzIC9BTHxzZS8KICovCgpfX2V4ZWN1dGVkID0gL0FMfHNlLy5leGVjKG5ldyBCb29sZWFuKTsKCl9fZXhwZWN0ZWQgPSBbInNlIl07Cl9fZXhwZWN0ZWQuaW5kZXg9MzsKX19leHBlY3RlZC5pbnB1dD0iZmFsc2UiOwoKLy9DSEVDSyMwCmlmICgoX19leGVjdXRlZCBpbnN0YW5jZW9mIEFycmF5KSAhPT0gdHJ1ZSkgewoJJEVSUk9SKCcjMDogX19leGVjdXRlZCA9IC9BTHxzZS8uZXhlYyhuZXcgQm9vbGVhbik7IChfX2V4ZWN1dGVkIGluc3RhbmNlb2YgQXJyYXkpID09PSB0cnVlJyk7Cn0KCi8vQ0hFQ0sjMQppZiAoX19leGVjdXRlZC5sZW5ndGggIT09IF9fZXhwZWN0ZWQubGVuZ3RoKSB7CiAgJEVSUk9SKCcjMTogX19leGVjdXRlZCA9IC9BTHxzZS8uZXhlYyhuZXcgQm9vbGVhbik7IF9fZXhlY3V0ZWQubGVuZ3RoID09PSAnICsgX19leHBlY3RlZC5sZW5ndGggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmxlbmd0aCk7Cn0KCi8vQ0hFQ0sjMgppZiAoX19leGVjdXRlZC5pbmRleCAhPT0gX19leHBlY3RlZC5pbmRleCkgewogICRFUlJPUignIzI6IF9fZXhlY3V0ZWQgPSAvQUx8c2UvLmV4ZWMobmV3IEJvb2xlYW4pOyBfX2V4ZWN1dGVkLmluZGV4ID09PSAnICsgX19leHBlY3RlZC5pbmRleCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5kZXgpOwp9CgovL0NIRUNLIzMKaWYgKF9fZXhlY3V0ZWQuaW5wdXQgIT09IF9fZXhwZWN0ZWQuaW5wdXQpIHsKICAkRVJST1IoJyMzOiBfX2V4ZWN1dGVkID0gL0FMfHNlLy5leGVjKG5ldyBCb29sZWFuKTsgX19leGVjdXRlZC5pbnB1dCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5wdXQgKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmlucHV0KTsKfQoKLy9DSEVDSyM0CmZvcih2YXIgaW5kZXg9MDsgaW5kZXg8X19leHBlY3RlZC5sZW5ndGg7IGluZGV4KyspIHsKICBpZiAoX19leGVjdXRlZFtpbmRleF0gIT09IF9fZXhwZWN0ZWRbaW5kZXhdKSB7CiAgICAkRVJST1IoJyM0OiBfX2V4ZWN1dGVkID0gL0FMfHNlLy5leGVjKG5ldyBCb29sZWFuKTsgX19leGVjdXRlZFsnICsgaW5kZXggKyAnXSA9PT0gJyArIF9fZXhwZWN0ZWRbaW5kZXhdICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZFtpbmRleF0pOwogIH0KfQoKCg==","commentary":"RegExp.prototype.exec(string) Performs a regular expression match of ToString(string) against the regular expression and\nreturns an Array object containing the results of the match, or null if the string did not match","description":"String is new Boolean and RegExp is /AL|se/","path":"TestCases/ch15/15.10/15.10.6/15.10.6.2/S15.10.6.2_A1_T14.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBSZWdFeHAucHJvdG90eXBlLmV4ZWMoc3RyaW5nKSBQZXJmb3JtcyBhIHJlZ3VsYXIgZXhwcmVzc2lvbiBtYXRjaCBvZiBUb1N0cmluZyhzdHJpbmcpIGFnYWluc3QgdGhlIHJlZ3VsYXIgZXhwcmVzc2lvbiBhbmQKICogcmV0dXJucyBhbiBBcnJheSBvYmplY3QgY29udGFpbmluZyB0aGUgcmVzdWx0cyBvZiB0aGUgbWF0Y2gsIG9yIG51bGwgaWYgdGhlIHN0cmluZyBkaWQgbm90IG1hdGNoCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuNi8xNS4xMC42LjIvUzE1LjEwLjYuMl9BMV9UMTUuanMKICogQGRlc2NyaXB0aW9uIFN0cmluZyBpcyB7dG9TdHJpbmc6ZnVuY3Rpb24oKXtyZXR1cm4gZmFsc2U7fX0gYW5kIFJlZ0V4cCBpcyAvTFMvaQogKi8KCl9fZXhlY3V0ZWQgPSAvTFMvaS5leGVjKHt0b1N0cmluZzpmdW5jdGlvbigpe3JldHVybiBmYWxzZX19KTsKCl9fZXhwZWN0ZWQgPSBbImxzIl07Cl9fZXhwZWN0ZWQuaW5kZXg9MjsKX19leHBlY3RlZC5pbnB1dD0iZmFsc2UiOwoKLy9DSEVDSyMwCmlmICgoX19leGVjdXRlZCBpbnN0YW5jZW9mIEFycmF5KSAhPT0gdHJ1ZSkgewoJJEVSUk9SKCcjMDogX19leGVjdXRlZCA9IC9MUy9pLmV4ZWMoe3RvU3RyaW5nOmZ1bmN0aW9uKCl7cmV0dXJuIGZhbHNlfX0pOyAoX19leGVjdXRlZCBpbnN0YW5jZW9mIEFycmF5KSA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzEKaWYgKF9fZXhlY3V0ZWQubGVuZ3RoICE9PSBfX2V4cGVjdGVkLmxlbmd0aCkgewogICRFUlJPUignIzE6IF9fZXhlY3V0ZWQgPSAvTFMvaS5leGVjKHt0b1N0cmluZzpmdW5jdGlvbigpe3JldHVybiBmYWxzZX19KTsgX19leGVjdXRlZC5sZW5ndGggPT09ICcgKyBfX2V4cGVjdGVkLmxlbmd0aCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQubGVuZ3RoKTsKfQoKLy9DSEVDSyMyCmlmIChfX2V4ZWN1dGVkLmluZGV4ICE9PSBfX2V4cGVjdGVkLmluZGV4KSB7CiAgJEVSUk9SKCcjMjogX19leGVjdXRlZCA9IC9MUy9pLmV4ZWMoe3RvU3RyaW5nOmZ1bmN0aW9uKCl7cmV0dXJuIGZhbHNlfX0pOyBfX2V4ZWN1dGVkLmluZGV4ID09PSAnICsgX19leHBlY3RlZC5pbmRleCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5kZXgpOwp9CgovL0NIRUNLIzMKaWYgKF9fZXhlY3V0ZWQuaW5wdXQgIT09IF9fZXhwZWN0ZWQuaW5wdXQpIHsKICAkRVJST1IoJyMzOiBfX2V4ZWN1dGVkID0gL0xTL2kuZXhlYyh7dG9TdHJpbmc6ZnVuY3Rpb24oKXtyZXR1cm4gZmFsc2V9fSk7IF9fZXhlY3V0ZWQuaW5wdXQgPT09ICcgKyBfX2V4cGVjdGVkLmlucHV0ICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5pbnB1dCk7Cn0KCi8vQ0hFQ0sjNApmb3IodmFyIGluZGV4PTA7IGluZGV4PF9fZXhwZWN0ZWQubGVuZ3RoOyBpbmRleCsrKSB7CiAgaWYgKF9fZXhlY3V0ZWRbaW5kZXhdICE9PSBfX2V4cGVjdGVkW2luZGV4XSkgewogICAgJEVSUk9SKCcjNDogX19leGVjdXRlZCA9IC9MUy9pLmV4ZWMoe3RvU3RyaW5nOmZ1bmN0aW9uKCl7cmV0dXJuIGZhbHNlfX0pOyBfX2V4ZWN1dGVkWycgKyBpbmRleCArICddID09PSAnICsgX19leHBlY3RlZFtpbmRleF0gKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkW2luZGV4XSk7CiAgfQp9CgoK","commentary":"RegExp.prototype.exec(string) Performs a regular expression match of ToString(string) against the regular expression and\nreturns an Array object containing the results of the match, or null if the string did not match","description":"String is {toString:function(){return false;}} and RegExp is /LS/i","path":"TestCases/ch15/15.10/15.10.6/15.10.6.2/S15.10.6.2_A1_T15.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBSZWdFeHAucHJvdG90eXBlLmV4ZWMoc3RyaW5nKSBQZXJmb3JtcyBhIHJlZ3VsYXIgZXhwcmVzc2lvbiBtYXRjaCBvZiBUb1N0cmluZyhzdHJpbmcpIGFnYWluc3QgdGhlIHJlZ3VsYXIgZXhwcmVzc2lvbiBhbmQKICogcmV0dXJucyBhbiBBcnJheSBvYmplY3QgY29udGFpbmluZyB0aGUgcmVzdWx0cyBvZiB0aGUgbWF0Y2gsIG9yIG51bGwgaWYgdGhlIHN0cmluZyBkaWQgbm90IG1hdGNoCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuNi8xNS4xMC42LjIvUzE1LjEwLjYuMl9BMV9UMTYuanMKICogQGRlc2NyaXB0aW9uIFJlZ0V4cCBpcyAvdW5kZWZpbmVkLyBhbmQgY2FsbCBleGVjKCkgd2l0aG91dCBhcmd1bWVudHMKICovCgpfX3JlID0gL3VuZGVmaW5lZC8uZXhlYygpWzBdOwppZiAoX19yZSAhPT0gInVuZGVmaW5lZCIpIHsKCSRFUlJPUignIzE6IC91bmRlZmluZWQvLmV4ZWMoKVswXSA9PT0gInVuZGVmaW5lZCIuIEFjdHVhbDogJyArIChfX3JlKSk7Cn0KCgo=","commentary":"RegExp.prototype.exec(string) Performs a regular expression match of ToString(string) against the regular expression and\nreturns an Array object containing the results of the match, or null if the string did not match","description":"RegExp is /undefined/ and call exec() without arguments","path":"TestCases/ch15/15.10/15.10.6/15.10.6.2/S15.10.6.2_A1_T16.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBSZWdFeHAucHJvdG90eXBlLmV4ZWMoc3RyaW5nKSBQZXJmb3JtcyBhIHJlZ3VsYXIgZXhwcmVzc2lvbiBtYXRjaCBvZiBUb1N0cmluZyhzdHJpbmcpIGFnYWluc3QgdGhlIHJlZ3VsYXIgZXhwcmVzc2lvbiBhbmQKICogcmV0dXJucyBhbiBBcnJheSBvYmplY3QgY29udGFpbmluZyB0aGUgcmVzdWx0cyBvZiB0aGUgbWF0Y2gsIG9yIG51bGwgaWYgdGhlIHN0cmluZyBkaWQgbm90IG1hdGNoCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuNi8xNS4xMC42LjIvUzE1LjEwLjYuMl9BMV9UMTcuanMKICogQGRlc2NyaXB0aW9uIFN0cmluZyBpcyBudWxsIGFuZCBSZWdFeHAgaXMgL2xsfGwvCiAqLwoKX19leGVjdXRlZCA9IC9sbHxsLy5leGVjKG51bGwpOwoKX19leHBlY3RlZCA9IFsibGwiXTsKX19leHBlY3RlZC5pbmRleD0yOwpfX2V4cGVjdGVkLmlucHV0PSJudWxsIjsKCi8vQ0hFQ0sjMAppZiAoKF9fZXhlY3V0ZWQgaW5zdGFuY2VvZiBBcnJheSkgIT09IHRydWUpIHsKCSRFUlJPUignIzA6IF9fZXhlY3V0ZWQgPSAvbGx8bC8uZXhlYyhudWxsKTsgKF9fZXhlY3V0ZWQgaW5zdGFuY2VvZiBBcnJheSkgPT09IHRydWUnKTsKfQoKLy9DSEVDSyMxCmlmIChfX2V4ZWN1dGVkLmxlbmd0aCAhPT0gX19leHBlY3RlZC5sZW5ndGgpIHsKICAkRVJST1IoJyMxOiBfX2V4ZWN1dGVkID0gL2xsfGwvLmV4ZWMobnVsbCk7IF9fZXhlY3V0ZWQubGVuZ3RoID09PSAnICsgX19leHBlY3RlZC5sZW5ndGggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmxlbmd0aCk7Cn0KCi8vQ0hFQ0sjMgppZiAoX19leGVjdXRlZC5pbmRleCAhPT0gX19leHBlY3RlZC5pbmRleCkgewogICRFUlJPUignIzI6IF9fZXhlY3V0ZWQgPSAvbGx8bC8uZXhlYyhudWxsKTsgX19leGVjdXRlZC5pbmRleCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5kZXggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmluZGV4KTsKfQoKLy9DSEVDSyMzCmlmIChfX2V4ZWN1dGVkLmlucHV0ICE9PSBfX2V4cGVjdGVkLmlucHV0KSB7CiAgJEVSUk9SKCcjMzogX19leGVjdXRlZCA9IC9sbHxsLy5leGVjKG51bGwpOyBfX2V4ZWN1dGVkLmlucHV0ID09PSAnICsgX19leHBlY3RlZC5pbnB1dCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5wdXQpOwp9CgovL0NIRUNLIzQKZm9yKHZhciBpbmRleD0wOyBpbmRleDxfX2V4cGVjdGVkLmxlbmd0aDsgaW5kZXgrKykgewogIGlmIChfX2V4ZWN1dGVkW2luZGV4XSAhPT0gX19leHBlY3RlZFtpbmRleF0pIHsKICAgICRFUlJPUignIzQ6IF9fZXhlY3V0ZWQgPSAvbGx8bC8uZXhlYyhudWxsKTsgX19leGVjdXRlZFsnICsgaW5kZXggKyAnXSA9PT0gJyArIF9fZXhwZWN0ZWRbaW5kZXhdICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZFtpbmRleF0pOwogIH0KfQoKCg==","commentary":"RegExp.prototype.exec(string) Performs a regular expression match of ToString(string) against the regular expression and\nreturns an Array object containing the results of the match, or null if the string did not match","description":"String is null and RegExp is /ll|l/","path":"TestCases/ch15/15.10/15.10.6/15.10.6.2/S15.10.6.2_A1_T17.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBSZWdFeHAucHJvdG90eXBlLmV4ZWMoc3RyaW5nKSBQZXJmb3JtcyBhIHJlZ3VsYXIgZXhwcmVzc2lvbiBtYXRjaCBvZiBUb1N0cmluZyhzdHJpbmcpIGFnYWluc3QgdGhlIHJlZ3VsYXIgZXhwcmVzc2lvbiBhbmQKICogcmV0dXJucyBhbiBBcnJheSBvYmplY3QgY29udGFpbmluZyB0aGUgcmVzdWx0cyBvZiB0aGUgbWF0Y2gsIG9yIG51bGwgaWYgdGhlIHN0cmluZyBkaWQgbm90IG1hdGNoCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuNi8xNS4xMC42LjIvUzE1LjEwLjYuMl9BMV9UMTguanMKICogQGRlc2NyaXB0aW9uIFN0cmluZyBpcyB1bmRlZmluZWQgYW5kIFJlZ0V4cCBpcyAvbmR8bmUvCiAqLwoKX19leGVjdXRlZCA9IC9uZHxuZS8uZXhlYyh1bmRlZmluZWQpOwoKX19leHBlY3RlZCA9IFsibmQiXTsKX19leHBlY3RlZC5pbmRleD0xOwpfX2V4cGVjdGVkLmlucHV0PSJ1bmRlZmluZWQiOwoKLy9DSEVDSyMwCmlmICgoX19leGVjdXRlZCBpbnN0YW5jZW9mIEFycmF5KSAhPT0gdHJ1ZSkgewoJJEVSUk9SKCcjMDogX19leGVjdXRlZCA9IC9uZHxuZS8uZXhlYyh1bmRlZmluZWQpOyAoX19leGVjdXRlZCBpbnN0YW5jZW9mIEFycmF5KSA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzEKaWYgKF9fZXhlY3V0ZWQubGVuZ3RoICE9PSBfX2V4cGVjdGVkLmxlbmd0aCkgewogICRFUlJPUignIzE6IF9fZXhlY3V0ZWQgPSAvbmR8bmUvLmV4ZWModW5kZWZpbmVkKTsgX19leGVjdXRlZC5sZW5ndGggPT09ICcgKyBfX2V4cGVjdGVkLmxlbmd0aCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQubGVuZ3RoKTsKfQoKLy9DSEVDSyMyCmlmIChfX2V4ZWN1dGVkLmluZGV4ICE9PSBfX2V4cGVjdGVkLmluZGV4KSB7CiAgJEVSUk9SKCcjMjogX19leGVjdXRlZCA9IC9uZHxuZS8uZXhlYyh1bmRlZmluZWQpOyBfX2V4ZWN1dGVkLmluZGV4ID09PSAnICsgX19leHBlY3RlZC5pbmRleCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5kZXgpOwp9CgovL0NIRUNLIzMKaWYgKF9fZXhlY3V0ZWQuaW5wdXQgIT09IF9fZXhwZWN0ZWQuaW5wdXQpIHsKICAkRVJST1IoJyMzOiBfX2V4ZWN1dGVkID0gL25kfG5lLy5leGVjKHVuZGVmaW5lZCk7IF9fZXhlY3V0ZWQuaW5wdXQgPT09ICcgKyBfX2V4cGVjdGVkLmlucHV0ICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5pbnB1dCk7Cn0KCi8vQ0hFQ0sjNApmb3IodmFyIGluZGV4PTA7IGluZGV4PF9fZXhwZWN0ZWQubGVuZ3RoOyBpbmRleCsrKSB7CiAgaWYgKF9fZXhlY3V0ZWRbaW5kZXhdICE9PSBfX2V4cGVjdGVkW2luZGV4XSkgewogICAgJEVSUk9SKCcjNDogX19leGVjdXRlZCA9IC9uZHxuZS8uZXhlYyh1bmRlZmluZWQpOyBfX2V4ZWN1dGVkWycgKyBpbmRleCArICddID09PSAnICsgX19leHBlY3RlZFtpbmRleF0gKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkW2luZGV4XSk7CiAgfQp9CgoK","commentary":"RegExp.prototype.exec(string) Performs a regular expression match of ToString(string) against the regular expression and\nreturns an Array object containing the results of the match, or null if the string did not match","description":"String is undefined and RegExp is /nd|ne/","path":"TestCases/ch15/15.10/15.10.6/15.10.6.2/S15.10.6.2_A1_T18.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBSZWdFeHAucHJvdG90eXBlLmV4ZWMoc3RyaW5nKSBQZXJmb3JtcyBhIHJlZ3VsYXIgZXhwcmVzc2lvbiBtYXRjaCBvZiBUb1N0cmluZyhzdHJpbmcpIGFnYWluc3QgdGhlIHJlZ3VsYXIgZXhwcmVzc2lvbiBhbmQKICogcmV0dXJucyBhbiBBcnJheSBvYmplY3QgY29udGFpbmluZyB0aGUgcmVzdWx0cyBvZiB0aGUgbWF0Y2gsIG9yIG51bGwgaWYgdGhlIHN0cmluZyBkaWQgbm90IG1hdGNoCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuNi8xNS4xMC42LjIvUzE1LjEwLjYuMl9BMV9UMTkuanMKICogQGRlc2NyaXB0aW9uIFN0cmluZyBpcyB2b2lkIDAgYW5kIFJlZ0V4cCBpcyAvZXsxfS8KICovCgpfX2V4ZWN1dGVkID0gL2V7MX0vLmV4ZWModm9pZCAwKTsKCl9fZXhwZWN0ZWQgPSBbImUiXTsKX19leHBlY3RlZC5pbmRleD0zOwpfX2V4cGVjdGVkLmlucHV0PSJ1bmRlZmluZWQiOwoKLy9DSEVDSyMwCmlmICgoX19leGVjdXRlZCBpbnN0YW5jZW9mIEFycmF5KSAhPT0gdHJ1ZSkgewoJJEVSUk9SKCcjMDogX19leGVjdXRlZCA9IC9lezF9Ly5leGVjKHZvaWQgMCk7IChfX2V4ZWN1dGVkIGluc3RhbmNlb2YgQXJyYXkpID09PSB0cnVlJyk7Cn0KCi8vQ0hFQ0sjMQppZiAoX19leGVjdXRlZC5sZW5ndGggIT09IF9fZXhwZWN0ZWQubGVuZ3RoKSB7CiAgJEVSUk9SKCcjMTogX19leGVjdXRlZCA9IC9lezF9Ly5leGVjKHZvaWQgMCk7IF9fZXhlY3V0ZWQubGVuZ3RoID09PSAnICsgX19leHBlY3RlZC5sZW5ndGggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmxlbmd0aCk7Cn0KCi8vQ0hFQ0sjMgppZiAoX19leGVjdXRlZC5pbmRleCAhPT0gX19leHBlY3RlZC5pbmRleCkgewogICRFUlJPUignIzI6IF9fZXhlY3V0ZWQgPSAvZXsxfS8uZXhlYyh2b2lkIDApOyBfX2V4ZWN1dGVkLmluZGV4ID09PSAnICsgX19leHBlY3RlZC5pbmRleCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5kZXgpOwp9CgovL0NIRUNLIzMKaWYgKF9fZXhlY3V0ZWQuaW5wdXQgIT09IF9fZXhwZWN0ZWQuaW5wdXQpIHsKICAkRVJST1IoJyMzOiBfX2V4ZWN1dGVkID0gL2V7MX0vLmV4ZWModm9pZCAwKTsgX19leGVjdXRlZC5pbnB1dCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5wdXQgKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmlucHV0KTsKfQoKLy9DSEVDSyM0CmZvcih2YXIgaW5kZXg9MDsgaW5kZXg8X19leHBlY3RlZC5sZW5ndGg7IGluZGV4KyspIHsKICBpZiAoX19leGVjdXRlZFtpbmRleF0gIT09IF9fZXhwZWN0ZWRbaW5kZXhdKSB7CiAgICAkRVJST1IoJyM0OiBfX2V4ZWN1dGVkID0gL2V7MX0vLmV4ZWModm9pZCAwKTsgX19leGVjdXRlZFsnICsgaW5kZXggKyAnXSA9PT0gJyArIF9fZXhwZWN0ZWRbaW5kZXhdICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZFtpbmRleF0pOwogIH0KfQoKCg==","commentary":"RegExp.prototype.exec(string) Performs a regular expression match of ToString(string) against the regular expression and\nreturns an Array object containing the results of the match, or null if the string did not match","description":"String is void 0 and RegExp is /e{1}/","path":"TestCases/ch15/15.10/15.10.6/15.10.6.2/S15.10.6.2_A1_T19.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBSZWdFeHAucHJvdG90eXBlLmV4ZWMoc3RyaW5nKSBQZXJmb3JtcyBhIHJlZ3VsYXIgZXhwcmVzc2lvbiBtYXRjaCBvZiBUb1N0cmluZyhzdHJpbmcpIGFnYWluc3QgdGhlIHJlZ3VsYXIgZXhwcmVzc2lvbiBhbmQKICogcmV0dXJucyBhbiBBcnJheSBvYmplY3QgY29udGFpbmluZyB0aGUgcmVzdWx0cyBvZiB0aGUgbWF0Y2gsIG9yIG51bGwgaWYgdGhlIHN0cmluZyBkaWQgbm90IG1hdGNoCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuNi8xNS4xMC42LjIvUzE1LjEwLjYuMl9BMV9UMi5qcwogKiBAZGVzY3JpcHRpb24gU3RyaW5nIGlzIG5ldyBTdHJpbmcoIjEyMyIpIGFuZCBSZWdFeHAgaXMgLygoMSl8KDEyKSkoKDMpfCgyMykpLwogKi8KCndpdGgoLygoMSl8KDEyKSkoKDMpfCgyMykpLyl7CiAgICBfX2V4ZWN1dGVkID0gZXhlYyhuZXcgU3RyaW5nKCIxMjMiKSk7Cn0KCl9fZXhwZWN0ZWQgPSBbIjEyMyIsICIxIiwgIjEiLCB1bmRlZmluZWQsICIyMyIsIHVuZGVmaW5lZCwgIjIzIl07Cl9fZXhwZWN0ZWQuaW5kZXg9MDsKX19leHBlY3RlZC5pbnB1dD0iMTIzIjsKCi8vQ0hFQ0sjMAppZiAoKF9fZXhlY3V0ZWQgaW5zdGFuY2VvZiBBcnJheSkgIT09IHRydWUpIHsKCSRFUlJPUignIzA6IHdpdGgoLygoMSl8KDEyKSkoKDMpfCgyMykpLyl7X19leGVjdXRlZCA9IGV4ZWMobmV3IFN0cmluZygiMTIzIikpO30gKF9fZXhlY3V0ZWQgaW5zdGFuY2VvZiBBcnJheSkgPT09IHRydWUnKTsKfQoKLy9DSEVDSyMxCmlmIChfX2V4ZWN1dGVkLmxlbmd0aCAhPT0gX19leHBlY3RlZC5sZW5ndGgpIHsKICAkRVJST1IoJyMxOiB3aXRoKC8oKDEpfCgxMikpKCgzKXwoMjMpKS8pe19fZXhlY3V0ZWQgPSBleGVjKG5ldyBTdHJpbmcoIjEyMyIpKTt9IF9fZXhlY3V0ZWQubGVuZ3RoID09PSAnICsgX19leHBlY3RlZC5sZW5ndGggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmxlbmd0aCk7Cn0KCi8vQ0hFQ0sjMgppZiAoX19leGVjdXRlZC5pbmRleCAhPT0gX19leHBlY3RlZC5pbmRleCkgewogICRFUlJPUignIzI6IHdpdGgoLygoMSl8KDEyKSkoKDMpfCgyMykpLyl7X19leGVjdXRlZCA9IGV4ZWMobmV3IFN0cmluZygiMTIzIikpO30gX19leGVjdXRlZC5pbmRleCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5kZXggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmluZGV4KTsKfQoKLy9DSEVDSyMzCmlmIChfX2V4ZWN1dGVkLmlucHV0ICE9PSBfX2V4cGVjdGVkLmlucHV0KSB7CiAgJEVSUk9SKCcjMzogd2l0aCgvKCgxKXwoMTIpKSgoMyl8KDIzKSkvKXtfX2V4ZWN1dGVkID0gZXhlYyhuZXcgU3RyaW5nKCIxMjMiKSk7fSBfX2V4ZWN1dGVkLmlucHV0ID09PSAnICsgX19leHBlY3RlZC5pbnB1dCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5wdXQpOwp9CgovL0NIRUNLIzQKZm9yKHZhciBpbmRleD0wOyBpbmRleDxfX2V4cGVjdGVkLmxlbmd0aDsgaW5kZXgrKykgewogIGlmIChfX2V4ZWN1dGVkW2luZGV4XSAhPT0gX19leHBlY3RlZFtpbmRleF0pIHsKICAgICRFUlJPUignIzQ6IHdpdGgoLygoMSl8KDEyKSkoKDMpfCgyMykpLyl7X19leGVjdXRlZCA9IGV4ZWMobmV3IFN0cmluZygiMTIzIikpO30gX19leGVjdXRlZFsnICsgaW5kZXggKyAnXSA9PT0gJyArIF9fZXhwZWN0ZWRbaW5kZXhdICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZFtpbmRleF0pOwogIH0KfQoKCg==","commentary":"RegExp.prototype.exec(string) Performs a regular expression match of ToString(string) against the regular expression and\nreturns an Array object containing the results of the match, or null if the string did not match","description":"String is new String(\"123\") and RegExp is /((1)|(12))((3)|(23))/","path":"TestCases/ch15/15.10/15.10.6/15.10.6.2/S15.10.6.2_A1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBSZWdFeHAucHJvdG90eXBlLmV4ZWMoc3RyaW5nKSBQZXJmb3JtcyBhIHJlZ3VsYXIgZXhwcmVzc2lvbiBtYXRjaCBvZiBUb1N0cmluZyhzdHJpbmcpIGFnYWluc3QgdGhlIHJlZ3VsYXIgZXhwcmVzc2lvbiBhbmQKICogcmV0dXJucyBhbiBBcnJheSBvYmplY3QgY29udGFpbmluZyB0aGUgcmVzdWx0cyBvZiB0aGUgbWF0Y2gsIG9yIG51bGwgaWYgdGhlIHN0cmluZyBkaWQgbm90IG1hdGNoCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuNi8xNS4xMC42LjIvUzE1LjEwLjYuMl9BMV9UMjAuanMKICogQGRlc2NyaXB0aW9uIFN0cmluZyBpcyB4IGFuZCBSZWdFeHAgaXMgL1thLWZdZC8sIHdoZXJlIHggaXMgdW5kZWZpbmVkIHZhcmlhYmxlCiAqLwoKX19leGVjdXRlZCA9IC9bYS1mXWQvLmV4ZWMoeCk7CgpfX2V4cGVjdGVkID0gWyJlZCJdOwpfX2V4cGVjdGVkLmluZGV4PTc7Cl9fZXhwZWN0ZWQuaW5wdXQ9InVuZGVmaW5lZCI7CgovL0NIRUNLIzAKaWYgKChfX2V4ZWN1dGVkIGluc3RhbmNlb2YgQXJyYXkpICE9PSB0cnVlKSB7CgkkRVJST1IoJyMwOiBfX2V4ZWN1dGVkID0gL1thLWZdZC8uZXhlYyh4KTsgdmFyIHg7IChfX2V4ZWN1dGVkIGluc3RhbmNlb2YgQXJyYXkpID09PSB0cnVlJyk7Cn0KCi8vQ0hFQ0sjMQppZiAoX19leGVjdXRlZC5sZW5ndGggIT09IF9fZXhwZWN0ZWQubGVuZ3RoKSB7CiAgJEVSUk9SKCcjMTogX19leGVjdXRlZCA9IC9bYS1mXWQvLmV4ZWMoeCk7IHZhciB4OyBfX2V4ZWN1dGVkLmxlbmd0aCA9PT0gJyArIF9fZXhwZWN0ZWQubGVuZ3RoICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5sZW5ndGgpOwp9CgovL0NIRUNLIzIKaWYgKF9fZXhlY3V0ZWQuaW5kZXggIT09IF9fZXhwZWN0ZWQuaW5kZXgpIHsKICAkRVJST1IoJyMyOiBfX2V4ZWN1dGVkID0gL1thLWZdZC8uZXhlYyh4KTsgdmFyIHg7IF9fZXhlY3V0ZWQuaW5kZXggPT09ICcgKyBfX2V4cGVjdGVkLmluZGV4ICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5pbmRleCk7Cn0KCi8vQ0hFQ0sjMwppZiAoX19leGVjdXRlZC5pbnB1dCAhPT0gX19leHBlY3RlZC5pbnB1dCkgewogICRFUlJPUignIzM6IF9fZXhlY3V0ZWQgPSAvW2EtZl1kLy5leGVjKHgpOyB2YXIgeDsgX19leGVjdXRlZC5pbnB1dCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5wdXQgKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmlucHV0KTsKfQoKLy9DSEVDSyM0CmZvcih2YXIgaW5kZXg9MDsgaW5kZXg8X19leHBlY3RlZC5sZW5ndGg7IGluZGV4KyspIHsKICBpZiAoX19leGVjdXRlZFtpbmRleF0gIT09IF9fZXhwZWN0ZWRbaW5kZXhdKSB7CiAgICAkRVJST1IoJyM0OiBfX2V4ZWN1dGVkID0gL1thLWZdZC8uZXhlYyh4KTsgdmFyIHg7IF9fZXhlY3V0ZWRbJyArIGluZGV4ICsgJ10gPT09ICcgKyBfX2V4cGVjdGVkW2luZGV4XSArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWRbaW5kZXhdKTsKICB9Cn0KCnZhciB4OwoK","commentary":"RegExp.prototype.exec(string) Performs a regular expression match of ToString(string) against the regular expression and\nreturns an Array object containing the results of the match, or null if the string did not match","description":"String is x and RegExp is /[a-f]d/, where x is undefined variable","path":"TestCases/ch15/15.10/15.10.6/15.10.6.2/S15.10.6.2_A1_T20.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBSZWdFeHAucHJvdG90eXBlLmV4ZWMoc3RyaW5nKSBQZXJmb3JtcyBhIHJlZ3VsYXIgZXhwcmVzc2lvbiBtYXRjaCBvZiBUb1N0cmluZyhzdHJpbmcpIGFnYWluc3QgdGhlIHJlZ3VsYXIgZXhwcmVzc2lvbiBhbmQKICogcmV0dXJucyBhbiBBcnJheSBvYmplY3QgY29udGFpbmluZyB0aGUgcmVzdWx0cyBvZiB0aGUgbWF0Y2gsIG9yIG51bGwgaWYgdGhlIHN0cmluZyBkaWQgbm90IG1hdGNoCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuNi8xNS4xMC42LjIvUzE1LjEwLjYuMl9BMV9UMjEuanMKICogQGRlc2NyaXB0aW9uIFN0cmluZyBpcyBmdW5jdGlvbigpe30oKSBhbmQgUmVnRXhwIGlzIC9bYS16XW4vCiAqLwoKX19leGVjdXRlZCA9IC9bYS16XW4vLmV4ZWMoZnVuY3Rpb24oKXt9KCkpOwoKX19leHBlY3RlZCA9IFsidW4iXTsKX19leHBlY3RlZC5pbmRleD0wOwpfX2V4cGVjdGVkLmlucHV0PSJ1bmRlZmluZWQiOwoKLy9DSEVDSyMwCmlmICgoX19leGVjdXRlZCBpbnN0YW5jZW9mIEFycmF5KSAhPT0gdHJ1ZSkgewoJJEVSUk9SKCcjMDogX19leGVjdXRlZCA9IC9bYS16XW4vLmV4ZWMoZnVuY3Rpb24oKXt9KCkpOyAoX19leGVjdXRlZCBpbnN0YW5jZW9mIEFycmF5KSA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzEKaWYgKF9fZXhlY3V0ZWQubGVuZ3RoICE9PSBfX2V4cGVjdGVkLmxlbmd0aCkgewogICRFUlJPUignIzE6IF9fZXhlY3V0ZWQgPSAvW2Etel1uLy5leGVjKGZ1bmN0aW9uKCl7fSgpKTsgX19leGVjdXRlZC5sZW5ndGggPT09ICcgKyBfX2V4cGVjdGVkLmxlbmd0aCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQubGVuZ3RoKTsKfQoKLy9DSEVDSyMyCmlmIChfX2V4ZWN1dGVkLmluZGV4ICE9PSBfX2V4cGVjdGVkLmluZGV4KSB7CiAgJEVSUk9SKCcjMjogX19leGVjdXRlZCA9IC9bYS16XW4vLmV4ZWMoZnVuY3Rpb24oKXt9KCkpOyBfX2V4ZWN1dGVkLmluZGV4ID09PSAnICsgX19leHBlY3RlZC5pbmRleCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5kZXgpOwp9CgovL0NIRUNLIzMKaWYgKF9fZXhlY3V0ZWQuaW5wdXQgIT09IF9fZXhwZWN0ZWQuaW5wdXQpIHsKICAkRVJST1IoJyMzOiBfX2V4ZWN1dGVkID0gL1thLXpdbi8uZXhlYyhmdW5jdGlvbigpe30oKSk7IF9fZXhlY3V0ZWQuaW5wdXQgPT09ICcgKyBfX2V4cGVjdGVkLmlucHV0ICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5pbnB1dCk7Cn0KCi8vQ0hFQ0sjNApmb3IodmFyIGluZGV4PTA7IGluZGV4PF9fZXhwZWN0ZWQubGVuZ3RoOyBpbmRleCsrKSB7CiAgaWYgKF9fZXhlY3V0ZWRbaW5kZXhdICE9PSBfX2V4cGVjdGVkW2luZGV4XSkgewogICAgJEVSUk9SKCcjNDogX19leGVjdXRlZCA9IC9bYS16XW4vLmV4ZWMoZnVuY3Rpb24oKXt9KCkpOyBfX2V4ZWN1dGVkWycgKyBpbmRleCArICddID09PSAnICsgX19leHBlY3RlZFtpbmRleF0gKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkW2luZGV4XSk7CiAgfQp9CgoK","commentary":"RegExp.prototype.exec(string) Performs a regular expression match of ToString(string) against the regular expression and\nreturns an Array object containing the results of the match, or null if the string did not match","description":"String is function(){}() and RegExp is /[a-z]n/","path":"TestCases/ch15/15.10/15.10.6/15.10.6.2/S15.10.6.2_A1_T21.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBSZWdFeHAucHJvdG90eXBlLmV4ZWMoc3RyaW5nKSBQZXJmb3JtcyBhIHJlZ3VsYXIgZXhwcmVzc2lvbiBtYXRjaCBvZiBUb1N0cmluZyhzdHJpbmcpIGFnYWluc3QgdGhlIHJlZ3VsYXIgZXhwcmVzc2lvbiBhbmQKICogcmV0dXJucyBhbiBBcnJheSBvYmplY3QgY29udGFpbmluZyB0aGUgcmVzdWx0cyBvZiB0aGUgbWF0Y2gsIG9yIG51bGwgaWYgdGhlIHN0cmluZyBkaWQgbm90IG1hdGNoCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuNi8xNS4xMC42LjIvUzE1LjEwLjYuMl9BMV9UMy5qcwogKiBAZGVzY3JpcHRpb24gU3RyaW5nIGlzIG5ldyBPYmplY3QoImFiY2RlZmdoaSIpIGFuZCBSZWdFeHAgaXMgL2FbYS16XXsyLDR9LwogKi8KCl9fZXhlY3V0ZWQgPSAvYVthLXpdezIsNH0vLmV4ZWMobmV3IE9iamVjdCgiYWJjZGVmZ2hpIikpOwoKX19leHBlY3RlZCA9IFsiYWJjZGUiXTsKX19leHBlY3RlZC5pbmRleD0wOwpfX2V4cGVjdGVkLmlucHV0PSJhYmNkZWZnaGkiOwoKLy9DSEVDSyMwCmlmICgoX19leGVjdXRlZCBpbnN0YW5jZW9mIEFycmF5KSAhPT0gdHJ1ZSkgewoJJEVSUk9SKCcjMDogX19leGVjdXRlZCA9IC9hW2Etel17Miw0fS8uZXhlYyhuZXcgT2JqZWN0KCJhYmNkZWZnaGkiKSk7IChfX2V4ZWN1dGVkIGluc3RhbmNlb2YgQXJyYXkpID09PSB0cnVlJyk7Cn0KCi8vQ0hFQ0sjMQppZiAoX19leGVjdXRlZC5sZW5ndGggIT09IF9fZXhwZWN0ZWQubGVuZ3RoKSB7CiAgJEVSUk9SKCcjMTogX19leGVjdXRlZCA9IC9hW2Etel17Miw0fS8uZXhlYyhuZXcgT2JqZWN0KCJhYmNkZWZnaGkiKSk7IF9fZXhlY3V0ZWQubGVuZ3RoID09PSAnICsgX19leHBlY3RlZC5sZW5ndGggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmxlbmd0aCk7Cn0KCi8vQ0hFQ0sjMgppZiAoX19leGVjdXRlZC5pbmRleCAhPT0gX19leHBlY3RlZC5pbmRleCkgewogICRFUlJPUignIzI6IF9fZXhlY3V0ZWQgPSAvYVthLXpdezIsNH0vLmV4ZWMobmV3IE9iamVjdCgiYWJjZGVmZ2hpIikpOyBfX2V4ZWN1dGVkLmluZGV4ID09PSAnICsgX19leHBlY3RlZC5pbmRleCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5kZXgpOwp9CgovL0NIRUNLIzMKaWYgKF9fZXhlY3V0ZWQuaW5wdXQgIT09IF9fZXhwZWN0ZWQuaW5wdXQpIHsKICAkRVJST1IoJyMzOiBfX2V4ZWN1dGVkID0gL2FbYS16XXsyLDR9Ly5leGVjKG5ldyBPYmplY3QoImFiY2RlZmdoaSIpKTsgX19leGVjdXRlZC5pbnB1dCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5wdXQgKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmlucHV0KTsKfQoKLy9DSEVDSyM0CmZvcih2YXIgaW5kZXg9MDsgaW5kZXg8X19leHBlY3RlZC5sZW5ndGg7IGluZGV4KyspIHsKICBpZiAoX19leGVjdXRlZFtpbmRleF0gIT09IF9fZXhwZWN0ZWRbaW5kZXhdKSB7CiAgICAkRVJST1IoJyM0OiBfX2V4ZWN1dGVkID0gL2FbYS16XXsyLDR9Ly5leGVjKG5ldyBPYmplY3QoImFiY2RlZmdoaSIpKTsgX19leGVjdXRlZFsnICsgaW5kZXggKyAnXSA9PT0gJyArIF9fZXhwZWN0ZWRbaW5kZXhdICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZFtpbmRleF0pOwogIH0KfQoKCg==","commentary":"RegExp.prototype.exec(string) Performs a regular expression match of ToString(string) against the regular expression and\nreturns an Array object containing the results of the match, or null if the string did not match","description":"String is new Object(\"abcdefghi\") and RegExp is /a[a-z]{2,4}/","path":"TestCases/ch15/15.10/15.10.6/15.10.6.2/S15.10.6.2_A1_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBSZWdFeHAucHJvdG90eXBlLmV4ZWMoc3RyaW5nKSBQZXJmb3JtcyBhIHJlZ3VsYXIgZXhwcmVzc2lvbiBtYXRjaCBvZiBUb1N0cmluZyhzdHJpbmcpIGFnYWluc3QgdGhlIHJlZ3VsYXIgZXhwcmVzc2lvbiBhbmQKICogcmV0dXJucyBhbiBBcnJheSBvYmplY3QgY29udGFpbmluZyB0aGUgcmVzdWx0cyBvZiB0aGUgbWF0Y2gsIG9yIG51bGwgaWYgdGhlIHN0cmluZyBkaWQgbm90IG1hdGNoCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuNi8xNS4xMC42LjIvUzE1LjEwLjYuMl9BMV9UNC5qcwogKiBAZGVzY3JpcHRpb24gU3RyaW5nIGlzIHt0b1N0cmluZzpmdW5jdGlvbigpe3JldHVybiAiYWJjZGVmZ2hpIjt9fSBhbmQgUmVnRXhwIGlzIC9hW2Etel17Miw0fT8vCiAqLwoKX19leGVjdXRlZCA9IC9hW2Etel17Miw0fT8vLmV4ZWMoe3RvU3RyaW5nOmZ1bmN0aW9uKCl7cmV0dXJuICJhYmNkZWZnaGkifX0pOwoKX19leHBlY3RlZCA9IFsiYWJjIl07Cl9fZXhwZWN0ZWQuaW5kZXg9MDsKX19leHBlY3RlZC5pbnB1dD0iYWJjZGVmZ2hpIjsKCi8vQ0hFQ0sjMAppZiAoKF9fZXhlY3V0ZWQgaW5zdGFuY2VvZiBBcnJheSkgIT09IHRydWUpIHsKCSRFUlJPUignIzA6IF9fZXhlY3V0ZWQgPSAvYVthLXpdezIsNH0/Ly5leGVjKHt0b1N0cmluZzpmdW5jdGlvbigpe3JldHVybiAiYWJjZGVmZ2hpIn19KTsgKF9fZXhlY3V0ZWQgaW5zdGFuY2VvZiBBcnJheSkgPT09IHRydWUnKTsKfQoKLy9DSEVDSyMxCmlmIChfX2V4ZWN1dGVkLmxlbmd0aCAhPT0gX19leHBlY3RlZC5sZW5ndGgpIHsKICAkRVJST1IoJyMxOiBfX2V4ZWN1dGVkID0gL2FbYS16XXsyLDR9Py8uZXhlYyh7dG9TdHJpbmc6ZnVuY3Rpb24oKXtyZXR1cm4gImFiY2RlZmdoaSJ9fSk7IF9fZXhlY3V0ZWQubGVuZ3RoID09PSAnICsgX19leHBlY3RlZC5sZW5ndGggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmxlbmd0aCk7Cn0KCi8vQ0hFQ0sjMgppZiAoX19leGVjdXRlZC5pbmRleCAhPT0gX19leHBlY3RlZC5pbmRleCkgewogICRFUlJPUignIzI6IF9fZXhlY3V0ZWQgPSAvYVthLXpdezIsNH0/Ly5leGVjKHt0b1N0cmluZzpmdW5jdGlvbigpe3JldHVybiAiYWJjZGVmZ2hpIn19KTsgX19leGVjdXRlZC5pbmRleCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5kZXggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmluZGV4KTsKfQoKLy9DSEVDSyMzCmlmIChfX2V4ZWN1dGVkLmlucHV0ICE9PSBfX2V4cGVjdGVkLmlucHV0KSB7CiAgJEVSUk9SKCcjMzogX19leGVjdXRlZCA9IC9hW2Etel17Miw0fT8vLmV4ZWMoe3RvU3RyaW5nOmZ1bmN0aW9uKCl7cmV0dXJuICJhYmNkZWZnaGkifX0pOyBfX2V4ZWN1dGVkLmlucHV0ID09PSAnICsgX19leHBlY3RlZC5pbnB1dCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5wdXQpOwp9CgovL0NIRUNLIzQKZm9yKHZhciBpbmRleD0wOyBpbmRleDxfX2V4cGVjdGVkLmxlbmd0aDsgaW5kZXgrKykgewogIGlmIChfX2V4ZWN1dGVkW2luZGV4XSAhPT0gX19leHBlY3RlZFtpbmRleF0pIHsKICAgICRFUlJPUignIzQ6IF9fZXhlY3V0ZWQgPSAvYVthLXpdezIsNH0/Ly5leGVjKHt0b1N0cmluZzpmdW5jdGlvbigpe3JldHVybiAiYWJjZGVmZ2hpIn19KTsgX19leGVjdXRlZFsnICsgaW5kZXggKyAnXSA9PT0gJyArIF9fZXhwZWN0ZWRbaW5kZXhdICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZFtpbmRleF0pOwogIH0KfQoKCg==","commentary":"RegExp.prototype.exec(string) Performs a regular expression match of ToString(string) against the regular expression and\nreturns an Array object containing the results of the match, or null if the string did not match","description":"String is {toString:function(){return \"abcdefghi\";}} and RegExp is /a[a-z]{2,4}?/","path":"TestCases/ch15/15.10/15.10.6/15.10.6.2/S15.10.6.2_A1_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBSZWdFeHAucHJvdG90eXBlLmV4ZWMoc3RyaW5nKSBQZXJmb3JtcyBhIHJlZ3VsYXIgZXhwcmVzc2lvbiBtYXRjaCBvZiBUb1N0cmluZyhzdHJpbmcpIGFnYWluc3QgdGhlIHJlZ3VsYXIgZXhwcmVzc2lvbiBhbmQKICogcmV0dXJucyBhbiBBcnJheSBvYmplY3QgY29udGFpbmluZyB0aGUgcmVzdWx0cyBvZiB0aGUgbWF0Y2gsIG9yIG51bGwgaWYgdGhlIHN0cmluZyBkaWQgbm90IG1hdGNoCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuNi8xNS4xMC42LjIvUzE1LjEwLjYuMl9BMV9UNS5qcwogKiBAZGVzY3JpcHRpb24gU3RyaW5nIGlzIHt0b1N0cmluZzpmdW5jdGlvbigpe3JldHVybiB7fTt9LCB2YWx1ZU9mOmZ1bmN0aW9uKCl7cmV0dXJuICJhYWJhYWMiO319IGFuZCBSZWdFeHAgaXMgLyhhYXxhYWJhYWN8YmF8YnxjKSogLwogKi8KCl9fZXhlY3V0ZWQgPSAvKGFhfGFhYmFhY3xiYXxifGMpKi8uZXhlYyh7dG9TdHJpbmc6ZnVuY3Rpb24oKXtyZXR1cm4ge307fSwgdmFsdWVPZjpmdW5jdGlvbigpe3JldHVybiAiYWFiYWFjIjt9fSk7CgpfX2V4cGVjdGVkID0gWyJhYWJhIiwgImJhIl07Cl9fZXhwZWN0ZWQuaW5kZXg9MDsKX19leHBlY3RlZC5pbnB1dD0iYWFiYWFjIjsKCi8vQ0hFQ0sjMAppZiAoKF9fZXhlY3V0ZWQgaW5zdGFuY2VvZiBBcnJheSkgIT09IHRydWUpIHsKCSRFUlJPUignIzA6IF9fZXhlY3V0ZWQgPSAvKGFhfGFhYmFhY3xiYXxifGMpKi8uZXhlYyh7dG9TdHJpbmc6ZnVuY3Rpb24oKXtyZXR1cm4ge307fSwgdmFsdWVPZjpmdW5jdGlvbigpe3JldHVybiAiYWFiYWFjIjt9fSk7IChfX2V4ZWN1dGVkIGluc3RhbmNlb2YgQXJyYXkpID09PSB0cnVlJyk7Cn0KCi8vQ0hFQ0sjMQppZiAoX19leGVjdXRlZC5sZW5ndGggIT09IF9fZXhwZWN0ZWQubGVuZ3RoKSB7CiAgJEVSUk9SKCcjMTogX19leGVjdXRlZCA9IC8oYWF8YWFiYWFjfGJhfGJ8YykqLy5leGVjKHt0b1N0cmluZzpmdW5jdGlvbigpe3JldHVybiB7fTt9LCB2YWx1ZU9mOmZ1bmN0aW9uKCl7cmV0dXJuICJhYWJhYWMiO319KTsgX19leGVjdXRlZC5sZW5ndGggPT09ICcgKyBfX2V4cGVjdGVkLmxlbmd0aCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQubGVuZ3RoKTsKfQoKLy9DSEVDSyMyCmlmIChfX2V4ZWN1dGVkLmluZGV4ICE9PSBfX2V4cGVjdGVkLmluZGV4KSB7CiAgJEVSUk9SKCcjMjogX19leGVjdXRlZCA9IC8oYWF8YWFiYWFjfGJhfGJ8YykqLy5leGVjKHt0b1N0cmluZzpmdW5jdGlvbigpe3JldHVybiB7fTt9LCB2YWx1ZU9mOmZ1bmN0aW9uKCl7cmV0dXJuICJhYWJhYWMiO319KTsgX19leGVjdXRlZC5pbmRleCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5kZXggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmluZGV4KTsKfQoKLy9DSEVDSyMzCmlmIChfX2V4ZWN1dGVkLmlucHV0ICE9PSBfX2V4cGVjdGVkLmlucHV0KSB7CiAgJEVSUk9SKCcjMzogX19leGVjdXRlZCA9IC8oYWF8YWFiYWFjfGJhfGJ8YykqLy5leGVjKHt0b1N0cmluZzpmdW5jdGlvbigpe3JldHVybiB7fTt9LCB2YWx1ZU9mOmZ1bmN0aW9uKCl7cmV0dXJuICJhYWJhYWMiO319KTsgX19leGVjdXRlZC5pbnB1dCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5wdXQgKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmlucHV0KTsKfQoKLy9DSEVDSyM0CmZvcih2YXIgaW5kZXg9MDsgaW5kZXg8X19leHBlY3RlZC5sZW5ndGg7IGluZGV4KyspIHsKICBpZiAoX19leGVjdXRlZFtpbmRleF0gIT09IF9fZXhwZWN0ZWRbaW5kZXhdKSB7CiAgICAkRVJST1IoJyM0OiBfX2V4ZWN1dGVkID0gLyhhYXxhYWJhYWN8YmF8YnxjKSovLmV4ZWMoe3RvU3RyaW5nOmZ1bmN0aW9uKCl7cmV0dXJuIHt9O30sIHZhbHVlT2Y6ZnVuY3Rpb24oKXtyZXR1cm4gImFhYmFhYyI7fX0pOyBfX2V4ZWN1dGVkWycgKyBpbmRleCArICddID09PSAnICsgX19leHBlY3RlZFtpbmRleF0gKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkW2luZGV4XSk7CiAgfQp9CgoK","commentary":"RegExp.prototype.exec(string) Performs a regular expression match of ToString(string) against the regular expression and\nreturns an Array object containing the results of the match, or null if the string did not match","description":"String is {toString:function(){return {};}, valueOf:function(){return \"aabaac\";}} and RegExp is /(aa|aabaac|ba|b|c)* /","path":"TestCases/ch15/15.10/15.10.6/15.10.6.2/S15.10.6.2_A1_T5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBSZWdFeHAucHJvdG90eXBlLmV4ZWMoc3RyaW5nKSBQZXJmb3JtcyBhIHJlZ3VsYXIgZXhwcmVzc2lvbiBtYXRjaCBvZiBUb1N0cmluZyhzdHJpbmcpIGFnYWluc3QgdGhlIHJlZ3VsYXIgZXhwcmVzc2lvbiBhbmQKICogcmV0dXJucyBhbiBBcnJheSBvYmplY3QgY29udGFpbmluZyB0aGUgcmVzdWx0cyBvZiB0aGUgbWF0Y2gsIG9yIG51bGwgaWYgdGhlIHN0cmluZyBkaWQgbm90IG1hdGNoCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuNi8xNS4xMC42LjIvUzE1LjEwLjYuMl9BMV9UNi5qcwogKiBAZGVzY3JpcHRpb24gU3RyaW5nIGlzIChmdW5jdGlvbigpe3JldHVybiAiemFhY2JiYmNhYyJ9KSgpIGFuZCBSZWdFeHAgaXMgLyh6KSgoYSspPyhiKyk/KGMpKSogLwogKi8KCl9fZXhlY3V0ZWQgPSAvKHopKChhKyk/KGIrKT8oYykpKi8uZXhlYygoZnVuY3Rpb24oKXtyZXR1cm4gInphYWNiYmJjYWMifSkoKSk7CgpfX2V4cGVjdGVkID0gWyJ6YWFjYmJiY2FjIiwgInoiLCAiYWMiLCAiYSIsIHVuZGVmaW5lZCwgImMiXTsKX19leHBlY3RlZC5pbmRleD0wOwpfX2V4cGVjdGVkLmlucHV0PSJ6YWFjYmJiY2FjIjsKCi8vQ0hFQ0sjMAppZiAoKF9fZXhlY3V0ZWQgaW5zdGFuY2VvZiBBcnJheSkgIT09IHRydWUpIHsKCSRFUlJPUignIzA6IF9fZXhlY3V0ZWQgPSAvKHopKChhKyk/KGIrKT8oYykpKi8uZXhlYygoZnVuY3Rpb24oKXtyZXR1cm4gInphYWNiYmJjYWMifSkoKSk7IChfX2V4ZWN1dGVkIGluc3RhbmNlb2YgQXJyYXkpID09PSB0cnVlJyk7Cn0KCi8vQ0hFQ0sjMQppZiAoX19leGVjdXRlZC5sZW5ndGggIT09IF9fZXhwZWN0ZWQubGVuZ3RoKSB7CiAgJEVSUk9SKCcjMTogX19leGVjdXRlZCA9IC8oeikoKGErKT8oYispPyhjKSkqLy5leGVjKChmdW5jdGlvbigpe3JldHVybiAiemFhY2JiYmNhYyJ9KSgpKTsgX19leGVjdXRlZC5sZW5ndGggPT09ICcgKyBfX2V4cGVjdGVkLmxlbmd0aCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQubGVuZ3RoKTsKfQoKLy9DSEVDSyMyCmlmIChfX2V4ZWN1dGVkLmluZGV4ICE9PSBfX2V4cGVjdGVkLmluZGV4KSB7CiAgJEVSUk9SKCcjMjogX19leGVjdXRlZCA9IC8oeikoKGErKT8oYispPyhjKSkqLy5leGVjKChmdW5jdGlvbigpe3JldHVybiAiemFhY2JiYmNhYyJ9KSgpKTsgX19leGVjdXRlZC5pbmRleCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5kZXggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmluZGV4KTsKfQoKLy9DSEVDSyMzCmlmIChfX2V4ZWN1dGVkLmlucHV0ICE9PSBfX2V4cGVjdGVkLmlucHV0KSB7CiAgJEVSUk9SKCcjMzogX19leGVjdXRlZCA9IC8oeikoKGErKT8oYispPyhjKSkqLy5leGVjKChmdW5jdGlvbigpe3JldHVybiAiemFhY2JiYmNhYyJ9KSgpKTsgX19leGVjdXRlZC5pbnB1dCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5wdXQgKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmlucHV0KTsKfQoKLy9DSEVDSyM0CmZvcih2YXIgaW5kZXg9MDsgaW5kZXg8X19leHBlY3RlZC5sZW5ndGg7IGluZGV4KyspIHsKICBpZiAoX19leGVjdXRlZFtpbmRleF0gIT09IF9fZXhwZWN0ZWRbaW5kZXhdKSB7CiAgICAkRVJST1IoJyM0OiBfX2V4ZWN1dGVkID0gLyh6KSgoYSspPyhiKyk/KGMpKSovLmV4ZWMoKGZ1bmN0aW9uKCl7cmV0dXJuICJ6YWFjYmJiY2FjIn0pKCkpOyBfX2V4ZWN1dGVkWycgKyBpbmRleCArICddID09PSAnICsgX19leHBlY3RlZFtpbmRleF0gKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkW2luZGV4XSk7CiAgfQp9CgoK","commentary":"RegExp.prototype.exec(string) Performs a regular expression match of ToString(string) against the regular expression and\nreturns an Array object containing the results of the match, or null if the string did not match","description":"String is (function(){return \"zaacbbbcac\"})() and RegExp is /(z)((a+)?(b+)?(c))* /","path":"TestCases/ch15/15.10/15.10.6/15.10.6.2/S15.10.6.2_A1_T6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBSZWdFeHAucHJvdG90eXBlLmV4ZWMoc3RyaW5nKSBQZXJmb3JtcyBhIHJlZ3VsYXIgZXhwcmVzc2lvbiBtYXRjaCBvZiBUb1N0cmluZyhzdHJpbmcpIGFnYWluc3QgdGhlIHJlZ3VsYXIgZXhwcmVzc2lvbiBhbmQKICogcmV0dXJucyBhbiBBcnJheSBvYmplY3QgY29udGFpbmluZyB0aGUgcmVzdWx0cyBvZiB0aGUgbWF0Y2gsIG9yIG51bGwgaWYgdGhlIHN0cmluZyBkaWQgbm90IG1hdGNoCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuNi8xNS4xMC42LjIvUzE1LjEwLjYuMl9BMV9UNy5qcwogKiBAZGVzY3JpcHRpb24gU3RyaW5nIGlzIHt0b1N0cmluZzpmdW5jdGlvbigpe3Rocm93ICJpbnRvc3RyIjt9fSBhbmQgUmVnRXhwIGlzIC9bYS16XS8KICovCgovL0NIRUNLIzEKdHJ5IHsKCSRFUlJPUignIzEuMTogL1thLXpdLy5leGVjKHt0b1N0cmluZzpmdW5jdGlvbigpe3Rocm93ICJpbnRvc3RyIn19KSB0aHJvdyAiaW50b3N0ciIuIEFjdHVhbDogJyArICgvW2Etel0vLmV4ZWMoe3RvU3RyaW5nOmZ1bmN0aW9uKCl7dGhyb3cgImludG9zdHIifX0pKSk7Cn0gY2F0Y2ggKGUpIHsKCWlmIChlICE9PSAiaW50b3N0ciIpIHsKCQkkRVJST1IoJyMxLjI6IC9bYS16XS8uZXhlYyh7dG9TdHJpbmc6ZnVuY3Rpb24oKXt0aHJvdyAiaW50b3N0ciJ9fSkgdGhyb3cgImludG9zdHIiLiBBY3R1YWw6ICcgKyAoZSkpOwoJfQp9CgoK","commentary":"RegExp.prototype.exec(string) Performs a regular expression match of ToString(string) against the regular expression and\nreturns an Array object containing the results of the match, or null if the string did not match","description":"String is {toString:function(){throw \"intostr\";}} and RegExp is /[a-z]/","path":"TestCases/ch15/15.10/15.10.6/15.10.6.2/S15.10.6.2_A1_T7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBSZWdFeHAucHJvdG90eXBlLmV4ZWMoc3RyaW5nKSBQZXJmb3JtcyBhIHJlZ3VsYXIgZXhwcmVzc2lvbiBtYXRjaCBvZiBUb1N0cmluZyhzdHJpbmcpIGFnYWluc3QgdGhlIHJlZ3VsYXIgZXhwcmVzc2lvbiBhbmQKICogcmV0dXJucyBhbiBBcnJheSBvYmplY3QgY29udGFpbmluZyB0aGUgcmVzdWx0cyBvZiB0aGUgbWF0Y2gsIG9yIG51bGwgaWYgdGhlIHN0cmluZyBkaWQgbm90IG1hdGNoCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuNi8xNS4xMC42LjIvUzE1LjEwLjYuMl9BMV9UOC5qcwogKiBAZGVzY3JpcHRpb24gU3RyaW5nIGlzIHt0b1N0cmluZzp2b2lkIDAsIHZhbHVlT2Y6ZnVuY3Rpb24oKXt0aHJvdyAiaW52YWxvZiI7fX0gYW5kIFJlZ0V4cCBpcyAvW2Etel0vCiAqLwoKLy9DSEVDSyMxCnRyeSB7CiAgJEVSUk9SKCcjMS4xOiAvW2Etel0vLmV4ZWMoe3RvU3RyaW5nOnZvaWQgMCwgdmFsdWVPZjpmdW5jdGlvbigpe3Rocm93ICJpbnZhbG9mIn19KSB0aHJvdyAiaW52YWxvZiIuIEFjdHVhbDogJyArICgvW2Etel0vLmV4ZWMoe3RvU3RyaW5nOnZvaWQgMCwgdmFsdWVPZjpmdW5jdGlvbigpe3Rocm93ICJpbnZhbG9mIn19KSkpOwp9IGNhdGNoIChlKSB7CiAgaWYgKGUgIT09ICJpbnZhbG9mIikgewogICAgJEVSUk9SKCcjMS4yOiAvW2Etel0vLmV4ZWMoe3RvU3RyaW5nOnZvaWQgMCwgdmFsdWVPZjpmdW5jdGlvbigpe3Rocm93ICJpbnZhbG9mIn19KSB0aHJvdyAiaW52YWxvZiIuIEFjdHVhbDogJyArIChlKSk7CiAgfQp9CgoK","commentary":"RegExp.prototype.exec(string) Performs a regular expression match of ToString(string) against the regular expression and\nreturns an Array object containing the results of the match, or null if the string did not match","description":"String is {toString:void 0, valueOf:function(){throw \"invalof\";}} and RegExp is /[a-z]/","path":"TestCases/ch15/15.10/15.10.6/15.10.6.2/S15.10.6.2_A1_T8.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBSZWdFeHAucHJvdG90eXBlLmV4ZWMoc3RyaW5nKSBQZXJmb3JtcyBhIHJlZ3VsYXIgZXhwcmVzc2lvbiBtYXRjaCBvZiBUb1N0cmluZyhzdHJpbmcpIGFnYWluc3QgdGhlIHJlZ3VsYXIgZXhwcmVzc2lvbiBhbmQKICogcmV0dXJucyBhbiBBcnJheSBvYmplY3QgY29udGFpbmluZyB0aGUgcmVzdWx0cyBvZiB0aGUgbWF0Y2gsIG9yIG51bGwgaWYgdGhlIHN0cmluZyBkaWQgbm90IG1hdGNoCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuNi8xNS4xMC42LjIvUzE1LjEwLjYuMl9BMV9UOS5qcwogKiBAZGVzY3JpcHRpb24gU3RyaW5nIGlzIHVuZGVmaW5lZCB2YXJpYWJsZSBhbmQgUmVnRXhwIGlzIC8xfDEyLwogKi8KCnZhciBfX3N0cmluZzsKCi8vQ0hFQ0sjMQpfX3JlID0gLzF8MTIvOwppZiAoX19yZS5leGVjKF9fc3RyaW5nKSAhPT0gbnVsbCkgewoJJEVSUk9SKCcjMTogdmFyIF9fc3RyaW5nOyAvMXwxMi8uZXhlYyhfX3N0cmluZykgPT09IG51bGw7IGZ1bmN0aW9uIF9fc3RyaW5nKCl7fS4gQWN0dWFsOiAnICsgKF9fcmUpKTsKfQoKZnVuY3Rpb24gX19zdHJpbmcoKXt9OwoK","commentary":"RegExp.prototype.exec(string) Performs a regular expression match of ToString(string) against the regular expression and\nreturns an Array object containing the results of the match, or null if the string did not match","description":"String is undefined variable and RegExp is /1|12/","path":"TestCases/ch15/15.10/15.10.6/15.10.6.2/S15.10.6.2_A1_T9.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBBIFR5cGVFcnJvciBleGNlcHRpb24gaXMgdGhyb3duIGlmIHRoZSB0aGlzIHZhbHVlIGlzIG5vdCBhbiBvYmplY3QgZm9yIHdoaWNoIHRoZSB2YWx1ZSBvZiB0aGUgaW50ZXJuYWwgW1tDbGFzc11dIHByb3BlcnR5IGlzICJSZWdFeHAiCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuNi8xNS4xMC42LjIvUzE1LjEwLjYuMl9BMl9UMS5qcwogKiBAZGVzY3JpcHRpb24gVGhlIGludGVybmFsIFtbQ2xhc3NdXSBwcm9wZXJ0eSBpcyAiT2JqZWN0IgogKi8KCl9faW5zdGFuY2UgPSBuZXcgT2JqZWN0OwoKX19pbnN0YW5jZS5leGVjID0gUmVnRXhwLnByb3RvdHlwZS5leGVjOwoKLy9DSEVDSyMxCnRyeSB7CgkkRVJST1IoJyMxLjE6IF9faW5zdGFuY2UgPSBuZXcgT2JqZWN0OyBfX2luc3RhbmNlLmV4ZWMgPSBSZWdFeHAucHJvdG90eXBlLmV4ZWM7IF9faW5zdGFuY2UuZXhlYygibWVzc2FnZSB0byBpbnZlc3RpZ2F0ZSIpLiBBY3R1YWw6ICcgKyAoX19pbnN0YW5jZS5leGVjKCJtZXNzYWdlIHRvIGludmVzdGlnYXRlIikpKTsKfSBjYXRjaCAoZSkgewoJaWYgKChlIGluc3RhbmNlb2YgVHlwZUVycm9yKSAhPT0gdHJ1ZSkgewoJCSRFUlJPUignIzEuMjogX19pbnN0YW5jZSA9IG5ldyBPYmplY3Q7IF9faW5zdGFuY2UuZXhlYyA9IFJlZ0V4cC5wcm90b3R5cGUuZXhlYy4gQWN0dWFsOiAnICsgKGUpKTsKCX0KfQoKCg==","commentary":"A TypeError exception is thrown if the this value is not an object for which the value of the internal [[Class]] property is \"RegExp\"","description":"The internal [[Class]] property is \"Object\"","path":"TestCases/ch15/15.10/15.10.6/15.10.6.2/S15.10.6.2_A2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBBIFR5cGVFcnJvciBleGNlcHRpb24gaXMgdGhyb3duIGlmIHRoZSB0aGlzIHZhbHVlIGlzIG5vdCBhbiBvYmplY3QgZm9yIHdoaWNoIHRoZSB2YWx1ZSBvZiB0aGUgaW50ZXJuYWwgW1tDbGFzc11dIHByb3BlcnR5IGlzICJSZWdFeHAiCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuNi8xNS4xMC42LjIvUzE1LjEwLjYuMl9BMl9UMTAuanMKICogQGRlc2NyaXB0aW9uIFRoZSB0ZXN0ZWQgb2JqZWN0IGlzIHVuZGVmaW5lZAogKi8KCmV4ZWMgPSBSZWdFeHAucHJvdG90eXBlLmV4ZWM7CgovL0NIRUNLIzEKdHJ5IHsKCSRFUlJPUignIzEuMTogZXhlYyA9IFJlZ0V4cC5wcm90b3R5cGUuZXhlYzsgZXhlYygibWVzc2FnZSB0byBpbnZlc3RpZ2F0ZSIpLiBBY3R1YWw6ICcgKyAoZXhlYygibWVzc2FnZSB0byBpbnZlc3RpZ2F0ZSIpKSk7Cn0gY2F0Y2ggKGUpIHsKCWlmICgoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikgIT09IHRydWUpIHsKCQkkRVJST1IoJyMxLjI6IGV4ZWMgPSBSZWdFeHAucHJvdG90eXBlLmV4ZWM7IGV4ZWMoIm1lc3NhZ2UgdG8gaW52ZXN0aWdhdGUiKS4gQWN0dWFsOiAnICsgKGUpKTsKCX0KfQoKCg==","commentary":"A TypeError exception is thrown if the this value is not an object for which the value of the internal [[Class]] property is \"RegExp\"","description":"The tested object is undefined","path":"TestCases/ch15/15.10/15.10.6/15.10.6.2/S15.10.6.2_A2_T10.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBBIFR5cGVFcnJvciBleGNlcHRpb24gaXMgdGhyb3duIGlmIHRoZSB0aGlzIHZhbHVlIGlzIG5vdCBhbiBvYmplY3QgZm9yIHdoaWNoIHRoZSB2YWx1ZSBvZiB0aGUgaW50ZXJuYWwgW1tDbGFzc11dIHByb3BlcnR5IGlzICJSZWdFeHAiCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuNi8xNS4xMC42LjIvUzE1LjEwLjYuMl9BMl9UMi5qcwogKiBAZGVzY3JpcHRpb24gVGhlIHRlc3RlZCBvYmplY3QgaXMgTWF0aAogKi8KCl9faW5zdGFuY2UgPSBNYXRoOwoKX19pbnN0YW5jZS5leGVjID0gUmVnRXhwLnByb3RvdHlwZS5leGVjOwoKLy9DSEVDSyMxCnRyeSB7IAogIHdpdGgoX19pbnN0YW5jZSkgZXhlYygibWVzc2FnZSB0byBpbnZlc3RpZ2F0ZSIpOwoJJEVSUk9SKCcjMS4xOiBfX2luc3RhbmNlID0gTWF0aDsgX19pbnN0YW5jZS5leGVjID0gUmVnRXhwLnByb3RvdHlwZS5leGVjOyAgd2l0aChfX2luc3RhbmNlKSBleGVjKCJtZXNzYWdlIHRvIGludmVzdGlnYXRlIiknKTsKfSBjYXRjaCAoZSkgewoJaWYgKChlIGluc3RhbmNlb2YgVHlwZUVycm9yKSAhPT0gdHJ1ZSkgewoJCSRFUlJPUignIzEuMjogX19pbnN0YW5jZSA9IE1hdGg7IF9faW5zdGFuY2UuZXhlYyA9IFJlZ0V4cC5wcm90b3R5cGUuZXhlYzsgIHdpdGgoX19pbnN0YW5jZSkgZXhlYygibWVzc2FnZSB0byBpbnZlc3RpZ2F0ZSIpLiBBY3R1YWw6ICcgKyAoZSkpOwoJfQp9CgoK","commentary":"A TypeError exception is thrown if the this value is not an object for which the value of the internal [[Class]] property is \"RegExp\"","description":"The tested object is Math","path":"TestCases/ch15/15.10/15.10.6/15.10.6.2/S15.10.6.2_A2_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBBIFR5cGVFcnJvciBleGNlcHRpb24gaXMgdGhyb3duIGlmIHRoZSB0aGlzIHZhbHVlIGlzIG5vdCBhbiBvYmplY3QgZm9yIHdoaWNoIHRoZSB2YWx1ZSBvZiB0aGUgaW50ZXJuYWwgW1tDbGFzc11dIHByb3BlcnR5IGlzICJSZWdFeHAiCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuNi8xNS4xMC42LjIvUzE1LjEwLjYuMl9BMl9UMy5qcwogKiBAZGVzY3JpcHRpb24gVGhlIHRlc3RlZCBvYmplY3QgaXMgZnVuY3Rpb24gb2JqZWN0CiAqLwoKX19pbnN0YW5jZS5leGVjID0gUmVnRXhwLnByb3RvdHlwZS5leGVjOwoKLy9DSEVDSyMxCnRyeSB7CiAgd2l0aChfX2luc3RhbmNlKSBleGVjKCJtZXNzYWdlIHRvIGludmVzdGlnYXRlIik7CgkkRVJST1IoJyMxLjE6IF9faW5zdGFuY2UuZXhlYyA9IFJlZ0V4cC5wcm90b3R5cGUuZXhlYzsgd2l0aChfX2luc3RhbmNlKSBleGVjKCJtZXNzYWdlIHRvIGludmVzdGlnYXRlIik7IGZ1bmN0aW9uIF9faW5zdGFuY2UoKXt9Jyk7Cn0gY2F0Y2ggKGUpIHsKCWlmICgoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikgIT09IHRydWUpIHsKCQkkRVJST1IoJyMxLjI6IF9faW5zdGFuY2UuZXhlYyA9IFJlZ0V4cC5wcm90b3R5cGUuZXhlYzsgd2l0aChfX2luc3RhbmNlKSBleGVjKCJtZXNzYWdlIHRvIGludmVzdGlnYXRlIik7IGZ1bmN0aW9uIF9faW5zdGFuY2UoKXt9LiBBY3R1YWw6ICcgKyAoZSkpOwoJfQp9CgpmdW5jdGlvbiBfX2luc3RhbmNlKCl7fTsKCg==","commentary":"A TypeError exception is thrown if the this value is not an object for which the value of the internal [[Class]] property is \"RegExp\"","description":"The tested object is function object","path":"TestCases/ch15/15.10/15.10.6/15.10.6.2/S15.10.6.2_A2_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBBIFR5cGVFcnJvciBleGNlcHRpb24gaXMgdGhyb3duIGlmIHRoZSB0aGlzIHZhbHVlIGlzIG5vdCBhbiBvYmplY3QgZm9yIHdoaWNoIHRoZSB2YWx1ZSBvZiB0aGUgaW50ZXJuYWwgW1tDbGFzc11dIHByb3BlcnR5IGlzICJSZWdFeHAiCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuNi8xNS4xMC42LjIvUzE1LjEwLjYuMl9BMl9UNC5qcwogKiBAZGVzY3JpcHRpb24gVGhlIHRlc3RlZCBvYmplY3QgaXMgbmV3IFN0cmluZygiW2EtYl0iKQogKi8KCl9faW5zdGFuY2UgPSBuZXcgU3RyaW5nKCJbYS1iXSIpOwoKX19pbnN0YW5jZS5leGVjID0gUmVnRXhwLnByb3RvdHlwZS5leGVjOwoKLy9DSEVDSyMxCndpdGgoX19pbnN0YW5jZSl7CiAgICB0cnkgewogICAgCSRFUlJPUignIzEuMTogX19pbnN0YW5jZSA9IG5ldyBTdHJpbmcoIlthLWJdIik7IF9faW5zdGFuY2UuZXhlYyA9IFJlZ0V4cC5wcm90b3R5cGUuZXhlYzsgZXhlYygibWVzc2FnZSB0byBpbnZlc3RpZ2F0ZSIpLiBBY3R1YWw6ICcgKyAoZXhlYygibWVzc2FnZSB0byBpbnZlc3RpZ2F0ZSIpKSk7CiAgICB9IGNhdGNoIChlKSB7CiAgICAJaWYgKChlIGluc3RhbmNlb2YgVHlwZUVycm9yKSAhPT0gdHJ1ZSkgewogICAgCQkkRVJST1IoJyMxLjI6IF9faW5zdGFuY2UgPSBuZXcgU3RyaW5nKCJbYS1iXSIpOyBfX2luc3RhbmNlLmV4ZWMgPSBSZWdFeHAucHJvdG90eXBlLmV4ZWM7IGV4ZWMoIm1lc3NhZ2UgdG8gaW52ZXN0aWdhdGUiKS4gQWN0dWFsOiAnICsgKGUpKTsKICAgIAl9CiAgIH0KfQoKCg==","commentary":"A TypeError exception is thrown if the this value is not an object for which the value of the internal [[Class]] property is \"RegExp\"","description":"The tested object is new String(\"[a-b]\")","path":"TestCases/ch15/15.10/15.10.6/15.10.6.2/S15.10.6.2_A2_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBBIFR5cGVFcnJvciBleGNlcHRpb24gaXMgdGhyb3duIGlmIHRoZSB0aGlzIHZhbHVlIGlzIG5vdCBhbiBvYmplY3QgZm9yIHdoaWNoIHRoZSB2YWx1ZSBvZiB0aGUgaW50ZXJuYWwgW1tDbGFzc11dIHByb3BlcnR5IGlzICJSZWdFeHAiCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuNi8xNS4xMC42LjIvUzE1LjEwLjYuMl9BMl9UNS5qcwogKiBAZGVzY3JpcHRpb24gVGhlIHRlc3RlZCBvYmplY3QgaXMgbmV3IEJvb2xlYW4oZmFsc2UpCiAqLwoKX19pbnN0YW5jZSA9IG5ldyBCb29sZWFuKGZhbHNlKTsKCl9faW5zdGFuY2UuZXhlYyA9IFJlZ0V4cC5wcm90b3R5cGUuZXhlYzsKCi8vQ0hFQ0sjMQp3aXRoKF9faW5zdGFuY2UpIHsKICB0cnkgewogICAkRVJST1IoJyMxLjE6IF9faW5zdGFuY2UgPSBuZXcgQm9vbGVhbihmYWxzZSk7IF9faW5zdGFuY2UuZXhlYyA9IFJlZ0V4cC5wcm90b3R5cGUuZXhlYzsgZXhlYygibWVzc2FnZSB0byBpbnZlc3RpZ2F0ZSIpLiBBY3R1YWw6ICcgKyAoZXhlYygibWVzc2FnZSB0byBpbnZlc3RpZ2F0ZSIpKSk7CiAgfSBjYXRjaCAoZSkgewogICAgaWYgKChlIGluc3RhbmNlb2YgVHlwZUVycm9yICE9PSB0cnVlKSkgewogICAgICAkRVJST1IoJyMxLjI6IF9faW5zdGFuY2UgPSBuZXcgQm9vbGVhbihmYWxzZSk7IF9faW5zdGFuY2UuZXhlYyA9IFJlZ0V4cC5wcm90b3R5cGUuZXhlYzsgZXhlYygibWVzc2FnZSB0byBpbnZlc3RpZ2F0ZSIpLiBBY3R1YWw6ICcgKyAoZSkpOwogICAgfQogIH0gIAp9CgoK","commentary":"A TypeError exception is thrown if the this value is not an object for which the value of the internal [[Class]] property is \"RegExp\"","description":"The tested object is new Boolean(false)","path":"TestCases/ch15/15.10/15.10.6/15.10.6.2/S15.10.6.2_A2_T5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBBIFR5cGVFcnJvciBleGNlcHRpb24gaXMgdGhyb3duIGlmIHRoZSB0aGlzIHZhbHVlIGlzIG5vdCBhbiBvYmplY3QgZm9yIHdoaWNoIHRoZSB2YWx1ZSBvZiB0aGUgaW50ZXJuYWwgW1tDbGFzc11dIHByb3BlcnR5IGlzICJSZWdFeHAiCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuNi8xNS4xMC42LjIvUzE1LjEwLjYuMl9BMl9UNi5qcwogKiBAZGVzY3JpcHRpb24gVGhlIHRlc3RlZCBvYmplY3QgaXMgbmV3IE51bWJlcigxLjApCiAqLwoKX19pbnN0YW5jZSA9IG5ldyBOdW1iZXIoMS4wKTsKCl9faW5zdGFuY2UuZXhlYyA9IFJlZ0V4cC5wcm90b3R5cGUuZXhlYzsKCi8vQ0hFQ0sjMQp0cnkgewoJJEVSUk9SKCcjMS4xOiBfX2luc3RhbmNlID0gbmV3IE51bWJlcigxLjApOyBfX2luc3RhbmNlLmV4ZWMgPSBSZWdFeHAucHJvdG90eXBlLmV4ZWM7IF9faW5zdGFuY2VbImV4ZWMiXSgibWVzc2FnZSB0byBpbnZlc3RpZ2F0ZSIpLiBBY3R1YWw6ICcgKyAoX19pbnN0YW5jZVsiZXhlYyJdKCJtZXNzYWdlIHRvIGludmVzdGlnYXRlIikpKTsKfSBjYXRjaCAoZSkgewoJaWYgKChlIGluc3RhbmNlb2YgVHlwZUVycm9yKSAhPT0gdHJ1ZSkgewoJCSRFUlJPUignIzEuMjogX19pbnN0YW5jZSA9IG5ldyBOdW1iZXIoMS4wKTsgX19pbnN0YW5jZS5leGVjID0gUmVnRXhwLnByb3RvdHlwZS5leGVjOyBfX2luc3RhbmNlWyJleGVjIl0oIm1lc3NhZ2UgdG8gaW52ZXN0aWdhdGUiKS4gQWN0dWFsOiAnICsgKGUpKTsKCX0KfQoKCg==","commentary":"A TypeError exception is thrown if the this value is not an object for which the value of the internal [[Class]] property is \"RegExp\"","description":"The tested object is new Number(1.0)","path":"TestCases/ch15/15.10/15.10.6/15.10.6.2/S15.10.6.2_A2_T6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBBIFR5cGVFcnJvciBleGNlcHRpb24gaXMgdGhyb3duIGlmIHRoZSB0aGlzIHZhbHVlIGlzIG5vdCBhbiBvYmplY3QgZm9yIHdoaWNoIHRoZSB2YWx1ZSBvZiB0aGUgaW50ZXJuYWwgW1tDbGFzc11dIHByb3BlcnR5IGlzICJSZWdFeHAiCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuNi8xNS4xMC42LjIvUzE1LjEwLjYuMl9BMl9UNy5qcwogKiBAZGVzY3JpcHRpb24gVGhlIHRlc3RlZCBvYmplY3QgaXMgZmFsc2UKICovCgpfX2luc3RhbmNlID0gZmFsc2U7CgpPYmplY3QucHJvdG90eXBlLmV4ZWMgPSBSZWdFeHAucHJvdG90eXBlLmV4ZWM7CgovL0NIRUNLIzEKdHJ5IHsKCSRFUlJPUignIzEuMTogX19pbnN0YW5jZSA9IGZhbHNlOyBPYmplY3QucHJvdG90eXBlLmV4ZWMgPSBSZWdFeHAucHJvdG90eXBlLmV4ZWM7IF9faW5zdGFuY2UuZXhlYygibWVzc2FnZSB0byBpbnZlc3RpZ2F0ZSIpLiBBY3R1YWw6ICcgKyAoX19pbnN0YW5jZS5leGVjKCJtZXNzYWdlIHRvIGludmVzdGlnYXRlIikpKTsKfSBjYXRjaCAoZSkgewoJaWYgKChlIGluc3RhbmNlb2YgVHlwZUVycm9yKSAhPT0gdHJ1ZSkgewoJCSRFUlJPUignIzEuMjogX19pbnN0YW5jZSA9IGZhbHNlOyBPYmplY3QucHJvdG90eXBlLmV4ZWMgPSBSZWdFeHAucHJvdG90eXBlLmV4ZWM7IF9faW5zdGFuY2UuZXhlYygibWVzc2FnZSB0byBpbnZlc3RpZ2F0ZSIpLiBBY3R1YWw6ICcgKyAoZSkpOwoJfQp9CgoK","commentary":"A TypeError exception is thrown if the this value is not an object for which the value of the internal [[Class]] property is \"RegExp\"","description":"The tested object is false","path":"TestCases/ch15/15.10/15.10.6/15.10.6.2/S15.10.6.2_A2_T7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBBIFR5cGVFcnJvciBleGNlcHRpb24gaXMgdGhyb3duIGlmIHRoZSB0aGlzIHZhbHVlIGlzIG5vdCBhbiBvYmplY3QgZm9yIHdoaWNoIHRoZSB2YWx1ZSBvZiB0aGUgaW50ZXJuYWwgW1tDbGFzc11dIHByb3BlcnR5IGlzICJSZWdFeHAiCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuNi8xNS4xMC42LjIvUzE1LjEwLjYuMl9BMl9UOC5qcwogKiBAZGVzY3JpcHRpb24gVGhlIHRlc3RlZCBvYmplY3QgaXMgIi4iCiAqLwoKX19pbnN0YW5jZSA9ICIuIjsKCk9iamVjdC5wcm90b3R5cGUuZXhlYyA9IFJlZ0V4cC5wcm90b3R5cGUuZXhlYzsKCi8vQ0hFQ0sjMQp0cnkgewoJJEVSUk9SKCcjMS4xOiBfX2luc3RhbmNlID0gIi4iOyBPYmplY3QucHJvdG90eXBlLmV4ZWMgPSBSZWdFeHAucHJvdG90eXBlLmV4ZWM7IF9faW5zdGFuY2UuZXhlYygibWVzc2FnZSB0byBpbnZlc3RpZ2F0ZSIpLiBBY3R1YWw6ICcgKyAoX19pbnN0YW5jZS5leGVjKCJtZXNzYWdlIHRvIGludmVzdGlnYXRlIikpKTsKfSBjYXRjaCAoZSkgewoJaWYgKChlIGluc3RhbmNlb2YgVHlwZUVycm9yKSAhPT0gdHJ1ZSkgewoJCSRFUlJPUignIzEuMjogX19pbnN0YW5jZSA9ICIuIjsgT2JqZWN0LnByb3RvdHlwZS5leGVjID0gUmVnRXhwLnByb3RvdHlwZS5leGVjOyBfX2luc3RhbmNlLmV4ZWMoIm1lc3NhZ2UgdG8gaW52ZXN0aWdhdGUiKS4gQWN0dWFsOiAnICsgKGUpKTsKCX0KfQoKCg==","commentary":"A TypeError exception is thrown if the this value is not an object for which the value of the internal [[Class]] property is \"RegExp\"","description":"The tested object is \".\"","path":"TestCases/ch15/15.10/15.10.6/15.10.6.2/S15.10.6.2_A2_T8.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBBIFR5cGVFcnJvciBleGNlcHRpb24gaXMgdGhyb3duIGlmIHRoZSB0aGlzIHZhbHVlIGlzIG5vdCBhbiBvYmplY3QgZm9yIHdoaWNoIHRoZSB2YWx1ZSBvZiB0aGUgaW50ZXJuYWwgW1tDbGFzc11dIHByb3BlcnR5IGlzICJSZWdFeHAiCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuNi8xNS4xMC42LjIvUzE1LjEwLjYuMl9BMl9UOS5qcwogKiBAZGVzY3JpcHRpb24gVGhlIHRlc3RlZCBvYmplY3QgaXMgMS4wCiAqLwoKX19pbnN0YW5jZSA9IDEuMDsKCk9iamVjdC5wcm90b3R5cGUuZXhlYyA9IFJlZ0V4cC5wcm90b3R5cGUuZXhlYzsKCi8vQ0hFQ0sjMQp0cnkgewoJJEVSUk9SKCcjMS4xOiBfX2luc3RhbmNlID0gMS4wOyBPYmplY3QucHJvdG90eXBlLmV4ZWMgPSBSZWdFeHAucHJvdG90eXBlLmV4ZWM7IF9faW5zdGFuY2UuZXhlYygibWVzc2FnZSB0byBpbnZlc3RpZ2F0ZSIpLiBBY3R1YWw6ICcgKyAoX19pbnN0YW5jZS5leGVjKCJtZXNzYWdlIHRvIGludmVzdGlnYXRlIikpKTsKfSBjYXRjaCAoZSkgewoJaWYgKChlIGluc3RhbmNlb2YgVHlwZUVycm9yKSAhPT0gdHJ1ZSkgewoJCSRFUlJPUignIzEuMjogX19pbnN0YW5jZSA9IDEuMDsgT2JqZWN0LnByb3RvdHlwZS5leGVjID0gUmVnRXhwLnByb3RvdHlwZS5leGVjOyBfX2luc3RhbmNlLmV4ZWMoIm1lc3NhZ2UgdG8gaW52ZXN0aWdhdGUiKS4gQWN0dWFsOiAnICsgKGUpKTsKCX0KfQoKCg==","commentary":"A TypeError exception is thrown if the this value is not an object for which the value of the internal [[Class]] property is \"RegExp\"","description":"The tested object is 1.0","path":"TestCases/ch15/15.10/15.10.6/15.10.6.2/S15.10.6.2_A2_T9.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBSZWdFeHAucHJvdG90eXBlLmV4ZWMgYmVoYXZpb3IgZGVwZW5kcyBvbiBnbG9iYWwgcHJvcGVydHkuCiAqIElmIGdsb2JhbCBpcyB0cnVlIGFuZCBsYXN0SW5kZXggbm90IGNoYW5nZWQgbWFudWFsbHksCiAqIG5leHQgZXhlYyBjYWxsaW5nIHN0YXJ0IHRvIG1hdGNoIGZyb20gcG9zaXRpb24gd2hlcmUgY3VycmVudCBtYXRjaCBmaW5pc2hlZAogKgogKiBAcGF0aCBjaDE1LzE1LjEwLzE1LjEwLjYvMTUuMTAuNi4yL1MxNS4xMC42LjJfQTNfVDEuanMKICogQGRlc2NyaXB0aW9uIFJlZ0V4cCBpcyAvKD86YWJ8Y2QpXGQ/L2cgYW5kIHRlc3RlZCBzdHJpbmcgaXMgImFiICBjZDIgIGFiMzQgIGNkIgogKi8KCl9fcmUgPSAvKD86YWJ8Y2QpXGQ/L2c7CgpfX21hdGNoZWQgPSBbXTsKCl9fZXhwZWN0ZWQgPSBbImFiIiwgImNkMiIsICJhYjMiLCAiY2QiXTsKCmRvewogICAgX19leGVjdXRlZCA9IF9fcmUuZXhlYygiYWIgIGNkMiAgYWIzNCAgY2QiKTsKICAgIGlmIChfX2V4ZWN1dGVkICE9PSBudWxsKSB7CiAgICAgIF9fbWF0Y2hlZC5wdXNoKF9fZXhlY3V0ZWRbMF0pOwogICAgfSBlbHNlIHsKICAgICAgYnJlYWs7CiAgICB9Cn13aGlsZSh0cnVlKTsKCi8vQ0hFQ0sjMQppZiAoX19leHBlY3RlZC5sZW5ndGggIT09IF9fbWF0Y2hlZC5sZW5ndGgpIHsKCSRFUlJPUignIzE6IF9fZXhlY3V0ZWQgPSAvKD86YWJ8Y2QpXFxkPy9nLmV4ZWMoImFiICBjZDIgIGFiMzQgIGNkIik7IF9fbWF0Y2hlZC5sZW5ndGggPT09ICcgKyAoX19leHBlY3RlZC5sZW5ndGgpICsgJy5BY3R1YWw6ICcgKyAoX19tYXRjaGVkLmxlbmd0aCkpOwp9CgovL0NIRUNLIzIKZm9yKHZhciBpbmRleD0wOyBpbmRleDxfX2V4cGVjdGVkLmxlbmd0aDsgaW5kZXgrKykgewoJaWYgKF9fZXhwZWN0ZWRbaW5kZXhdICE9PSBfX21hdGNoZWRbaW5kZXhdKSB7CgkJJEVSUk9SKCcjMjogX19leGVjdXRlZCA9IC8oPzphYnxjZClcXGQ/L2cuZXhlYygiYWIgIGNkMiAgYWIzNCAgY2QiKTsgX19tYXRjaGVkWycgKyBpbmRleCArICddID09PSAnICsgX19leHBlY3RlZFtpbmRleF0gKyAnLiBBY3R1YWw6ICcgKyBfX21hdGNoZWRbaW5kZXhdKTsKCX0KfQoKCg==","commentary":"RegExp.prototype.exec behavior depends on global property.\nIf global is true and lastIndex not changed manually,\nnext exec calling start to match from position where current match finished","description":"RegExp is /(?:ab|cd)\\d?/g and tested string is \"ab cd2 ab34 cd\"","path":"TestCases/ch15/15.10/15.10.6/15.10.6.2/S15.10.6.2_A3_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBSZWdFeHAucHJvdG90eXBlLmV4ZWMgYmVoYXZpb3IgZGVwZW5kcyBvbiBnbG9iYWwgcHJvcGVydHkuCiAqIElmIGdsb2JhbCBpcyB0cnVlIGFuZCBsYXN0SW5kZXggbm90IGNoYW5nZWQgbWFudWFsbHksCiAqIG5leHQgZXhlYyBjYWxsaW5nIHN0YXJ0IHRvIG1hdGNoIGZyb20gcG9zaXRpb24gd2hlcmUgY3VycmVudCBtYXRjaCBmaW5pc2hlZAogKgogKiBAcGF0aCBjaDE1LzE1LjEwLzE1LjEwLjYvMTUuMTAuNi4yL1MxNS4xMC42LjJfQTNfVDIuanMKICogQGRlc2NyaXB0aW9uIFJlZ0V4cCBpcyAvW05uXWV2ZXJtb3JlL2cgYW5kIHRlc3RlZCBzdHJpbmcgaXMgdmVyeSBsb25nIHN0cmluZwogKi8KCl9fdGhlX19yYXZlbiA9ICIJT25jZSB1cG9uIGEgbWlkbmlnaHQgZHJlYXJ5LCB3aGlsZSBJIHBvbmRlcmVkIHdlYWsgYW5kIHdlYXJ5LCIgKwogICAgICAgICJPdmVyIG1hbnkgYSBxdWFpbnQgYW5kIGN1cmlvdXMgdm9sdW1lIG9mIGZvcmdvdHRlbiBsb3JlLCIgKwogICAgICAgICJXaGlsZSBJIG5vZGRlZCwgbmVhcmx5IG5hcHBpbmcsIHN1ZGRlbmx5IHRoZXJlIGNhbWUgYSB0YXBwaW5nLCIgKwogICAgICAgICJBcyBvZiBzb21lIG9uZSBnZW50bHkgcmFwcGluZywgcmFwcGluZyBhdCBteSBjaGFtYmVyIGRvb3IuIiArCiAgICAgICAgImAnVGlzIHNvbWUgdmlzaXRvciwnIEkgbXV0dGVyZWQsIGB0YXBwaW5nIGF0IG15IGNoYW1iZXIgZG9vciAtIiArCiAgICAgICAgIk9ubHkgdGhpcywgYW5kIG5vdGhpbmcgbW9yZS4nIiArCiAgICAgICAgIkFoLCBkaXN0aW5jdGx5IEkgcmVtZW1iZXIgaXQgd2FzIGluIHRoZSBibGVhayBEZWNlbWJlciwiICsKICAgICAgICAiQW5kIGVhY2ggc2VwYXJhdGUgZHlpbmcgZW1iZXIgd3JvdWdodCBpdHMgZ2hvc3QgdXBvbiB0aGUgZmxvb3IuIiArCiAgICAgICAgIkVhZ2VybHkgSSB3aXNoZWQgdGhlIG1vcnJvdzsgLSB2YWlubHkgSSBoYWQgc291Z2h0IHRvIGJvcnJvdyIgKwogICAgICAgICJGcm9tIG15IGJvb2tzIHN1cmNlYXNlIG9mIHNvcnJvdyAtIHNvcnJvdyBmb3IgdGhlIGxvc3QgTGVub3JlIC0iICsKICAgICAgICAiRm9yIHRoZSByYXJlIGFuZCByYWRpYW50IG1haWRlbiB3aG9tIHRoZSBhbmdlbHMgbmFtZWQgTGVub3JlIC0iICsKICAgICAgICAiTmFtZWxlc3MgaGVyZSBmb3IgZXZlcm1vcmUuIiArCiAgICAgICAgIlxuIiArCiAgICAgICAgIkFuZCB0aGUgc2lsa2VuIHNhZCB1bmNlcnRhaW4gcnVzdGxpbmcgb2YgZWFjaCBwdXJwbGUgY3VydGFpbiIgKwogICAgICAgICJUaHJpbGxlZCBtZSAtIGZpbGxlZCBtZSB3aXRoIGZhbnRhc3RpYyB0ZXJyb3JzIG5ldmVyIGZlbHQgYmVmb3JlOyIgKwogICAgICAgICJTbyB0aGF0IG5vdywgdG8gc3RpbGwgdGhlIGJlYXRpbmcgb2YgbXkgaGVhcnQsIEkgc3Rvb2QgcmVwZWF0aW5nIiArCiAgICAgICAgImAnVGlzIHNvbWUgdmlzaXRvciBlbnRyZWF0aW5nIGVudHJhbmNlIGF0IG15IGNoYW1iZXIgZG9vciAtIiArCiAgICAgICAgIlNvbWUgbGF0ZSB2aXNpdG9yIGVudHJlYXRpbmcgZW50cmFuY2UgYXQgbXkgY2hhbWJlciBkb29yOyAtIiArCiAgICAgICAgIlRoaXMgaXQgaXMsIGFuZCBub3RoaW5nIG1vcmUsJyIgKwogICAgICAgICJQcmVzZW50bHkgbXkgc291bCBncmV3IHN0cm9uZ2VyOyBoZXNpdGF0aW5nIHRoZW4gbm8gbG9uZ2VyLCIgKwogICAgICAgICJgU2lyLCcgc2FpZCBJLCBgb3IgTWFkYW0sIHRydWx5IHlvdXIgZm9yZ2l2ZW5lc3MgSSBpbXBsb3JlOyIgKwogICAgICAgICJCdXQgdGhlIGZhY3QgaXMgSSB3YXMgbmFwcGluZywgYW5kIHNvIGdlbnRseSB5b3UgY2FtZSByYXBwaW5nLCIgKwogICAgICAgICJBbmQgc28gZmFpbnRseSB5b3UgY2FtZSB0YXBwaW5nLCB0YXBwaW5nIGF0IG15IGNoYW1iZXIgZG9vciwiICsKICAgICAgICAiVGhhdCBJIHNjYXJjZSB3YXMgc3VyZSBJIGhlYXJkIHlvdScgLSBoZXJlIEkgb3BlbmVkIHdpZGUgdGhlIGRvb3I7IC0iICsKICAgICAgICAiRGFya25lc3MgdGhlcmUsIGFuZCBub3RoaW5nIG1vcmUuIiArCiAgICAgICAgIlxuIiArCiAgICAgICAgIkRlZXAgaW50byB0aGF0IGRhcmtuZXNzIHBlZXJpbmcsIGxvbmcgSSBzdG9vZCB0aGVyZSB3b25kZXJpbmcsIGZlYXJpbmcsIiArCiAgICAgICAgIkRvdWJ0aW5nLCBkcmVhbWluZyBkcmVhbXMgbm8gbW9ydGFsIGV2ZXIgZGFyZWQgdG8gZHJlYW0gYmVmb3JlIiArCiAgICAgICAgIkJ1dCB0aGUgc2lsZW5jZSB3YXMgdW5icm9rZW4sIGFuZCB0aGUgZGFya25lc3MgZ2F2ZSBubyB0b2tlbiwiICsKICAgICAgICAiQW5kIHRoZSBvbmx5IHdvcmQgdGhlcmUgc3Bva2VuIHdhcyB0aGUgd2hpc3BlcmVkIHdvcmQsIGBMZW5vcmUhJyIgKwogICAgICAgICJUaGlzIEkgd2hpc3BlcmVkLCBhbmQgYW4gZWNobyBtdXJtdXJlZCBiYWNrIHRoZSB3b3JkLCBgTGVub3JlISciICsKICAgICAgICAiTWVyZWx5IHRoaXMgYW5kIG5vdGhpbmcgbW9yZS4iICsKICAgICAgICAiXG4iICsKICAgICAgICAiQmFjayBpbnRvIHRoZSBjaGFtYmVyIHR1cm5pbmcsIGFsbCBteSBzb3VsIHdpdGhpbiBtZSBidXJuaW5nLCIgKwogICAgICAgICJTb29uIGFnYWluIEkgaGVhcmQgYSB0YXBwaW5nIHNvbWV3aGF0IGxvdWRlciB0aGFuIGJlZm9yZS4iICsKICAgICAgICAiYFN1cmVseSwnIHNhaWQgSSwgYHN1cmVseSB0aGF0IGlzIHNvbWV0aGluZyBhdCBteSB3aW5kb3cgbGF0dGljZTsiICsKICAgICAgICAiTGV0IG1lIHNlZSB0aGVuLCB3aGF0IHRoZXJlYXQgaXMsIGFuZCB0aGlzIG15c3RlcnkgZXhwbG9yZSAtIiArCiAgICAgICAgIkxldCBteSBoZWFydCBiZSBzdGlsbCBhIG1vbWVudCBhbmQgdGhpcyBteXN0ZXJ5IGV4cGxvcmU7IC0iICsKICAgICAgICAiJ1RpcyB0aGUgd2luZCBhbmQgbm90aGluZyBtb3JlISciICsKICAgICAgICAiXG4iICsKICAgICAgICAiT3BlbiBoZXJlIEkgZmx1bmcgdGhlIHNodXR0ZXIsIHdoZW4sIHdpdGggbWFueSBhIGZsaXJ0IGFuZCBmbHV0dGVyLCIgKwogICAgICAgICJJbiB0aGVyZSBzdGVwcGVkIGEgc3RhdGVseSByYXZlbiBvZiB0aGUgc2FpbnRseSBkYXlzIG9mIHlvcmUuIiArCiAgICAgICAgIk5vdCB0aGUgbGVhc3Qgb2JlaXNhbmNlIG1hZGUgaGU7IG5vdCBhIG1pbnV0ZSBzdG9wcGVkIG9yIHN0YXllZCBoZTsiICsKICAgICAgICAiQnV0LCB3aXRoIG1pZW4gb2YgbG9yZCBvciBsYWR5LCBwZXJjaGVkIGFib3ZlIG15IGNoYW1iZXIgZG9vciAtIiArCiAgICAgICAgIlBlcmNoZWQgdXBvbiBhIGJ1c3Qgb2YgUGFsbGFzIGp1c3QgYWJvdmUgbXkgY2hhbWJlciBkb29yIC0iICsKICAgICAgICAiUGVyY2hlZCwgYW5kIHNhdCwgYW5kIG5vdGhpbmcgbW9yZS4iICsKICAgICAgICAiXG4iICsKICAgICAgICAiVGhlbiB0aGlzIGVib255IGJpcmQgYmVndWlsaW5nIG15IHNhZCBmYW5jeSBpbnRvIHNtaWxpbmcsIiArCiAgICAgICAgIkJ5IHRoZSBncmF2ZSBhbmQgc3Rlcm4gZGVjb3J1bSBvZiB0aGUgY291bnRlbmFuY2UgaXQgd29yZSwiICsKICAgICAgICAiYFRob3VnaCB0aHkgY3Jlc3QgYmUgc2hvcm4gYW5kIHNoYXZlbiwgdGhvdSwnIEkgc2FpZCwgYGFydCBzdXJlIG5vIGNyYXZlbi4iICsKICAgICAgICAiR2hhc3RseSBncmltIGFuZCBhbmNpZW50IHJhdmVuIHdhbmRlcmluZyBmcm9tIHRoZSBuaWdodGx5IHNob3JlIC0iICsKICAgICAgICAiVGVsbCBtZSB3aGF0IHRoeSBsb3JkbHkgbmFtZSBpcyBvbiB0aGUgTmlnaHQncyBQbHV0b25pYW4gc2hvcmUhJyIgKwogICAgICAgICJRdW90aCB0aGUgcmF2ZW4sIGBOZXZlcm1vcmUuJyIgKwogICAgICAgICItbiIgKwogICAgICAgICJNdWNoIEkgbWFydmVsbGVkIHRoaXMgdW5nYWlubHkgZm93bCB0byBoZWFyIGRpc2NvdXJzZSBzbyBwbGFpbmx5LCIgKwogICAgICAgICJUaG91Z2ggaXRzIGFuc3dlciBsaXR0bGUgbWVhbmluZyAtIGxpdHRsZSByZWxldmFuY3kgYm9yZTsiICsKICAgICAgICAiRm9yIHdlIGNhbm5vdCBoZWxwIGFncmVlaW5nIHRoYXQgbm8gbGl2aW5nIGh1bWFuIGJlaW5nIiArCiAgICAgICAgIkV2ZXIgeWV0IHdhcyBibGVzc2VkIHdpdGggc2VlaW5nIGJpcmQgYWJvdmUgaGlzIGNoYW1iZXIgZG9vciAtIiArCiAgICAgICAgIkJpcmQgb3IgYmVhc3QgYWJvdmUgdGhlIHNjdWxwdHVyZWQgYnVzdCBhYm92ZSBoaXMgY2hhbWJlciBkb29yLCIgKwogICAgICAgICJXaXRoIHN1Y2ggbmFtZSBhcyBgTmV2ZXJtb3JlLiciICsKICAgICAgICAiXG4iICsKICAgICAgICAiQnV0IHRoZSByYXZlbiwgc2l0dGluZyBsb25lbHkgb24gdGhlIHBsYWNpZCBidXN0LCBzcG9rZSBvbmx5LCIgKwogICAgICAgICJUaGF0IG9uZSB3b3JkLCBhcyBpZiBoaXMgc291bCBpbiB0aGF0IG9uZSB3b3JkIGhlIGRpZCBvdXRwb3VyLiIgKwogICAgICAgICJOb3RoaW5nIGZ1cnRoZXIgdGhlbiBoZSB1dHRlcmVkIC0gbm90IGEgZmVhdGhlciB0aGVuIGhlIGZsdXR0ZXJlZCAtIiArCiAgICAgICAgIlRpbGwgSSBzY2FyY2VseSBtb3JlIHRoYW4gbXV0dGVyZWQgYE90aGVyIGZyaWVuZHMgaGF2ZSBmbG93biBiZWZvcmUgLSIgKwogICAgICAgICJPbiB0aGUgbW9ycm93IGhlIHdpbGwgbGVhdmUgbWUsIGFzIG15IGhvcGVzIGhhdmUgZmxvd24gYmVmb3JlLiciICsKICAgICAgICAiVGhlbiB0aGUgYmlyZCBzYWlkLCBgTmV2ZXJtb3JlLiciICsKICAgICAgICAiXG4iICsKICAgICAgICAiU3RhcnRsZWQgYXQgdGhlIHN0aWxsbmVzcyBicm9rZW4gYnkgcmVwbHkgc28gYXB0bHkgc3Bva2VuLCIgKwogICAgICAgICJgRG91YnRsZXNzLCcgc2FpZCBJLCBgd2hhdCBpdCB1dHRlcnMgaXMgaXRzIG9ubHkgc3RvY2sgYW5kIHN0b3JlLCIgKwogICAgICAgICJDYXVnaHQgZnJvbSBzb21lIHVuaGFwcHkgbWFzdGVyIHdob20gdW5tZXJjaWZ1bCBkaXNhc3RlciIgKwogICAgICAgICJGb2xsb3dlZCBmYXN0IGFuZCBmb2xsb3dlZCBmYXN0ZXIgdGlsbCBoaXMgc29uZ3Mgb25lIGJ1cmRlbiBib3JlIC0iICsKICAgICAgICAiVGlsbCB0aGUgZGlyZ2VzIG9mIGhpcyBob3BlIHRoYXQgbWVsYW5jaG9seSBidXJkZW4gYm9yZSIgKwogICAgICAgICJPZiBcIk5ldmVyLW5ldmVybW9yZS5cIiciICsKICAgICAgICAiXG4iICsKICAgICAgICAiQnV0IHRoZSByYXZlbiBzdGlsbCBiZWd1aWxpbmcgYWxsIG15IHNhZCBzb3VsIGludG8gc21pbGluZywiICsKICAgICAgICAiU3RyYWlnaHQgSSB3aGVlbGVkIGEgY3VzaGlvbmVkIHNlYXQgaW4gZnJvbnQgb2YgYmlyZCBhbmQgYnVzdCBhbmQgZG9vcjsiICsKICAgICAgICAiVGhlbiwgdXBvbiB0aGUgdmVsdmV0IHNpbmtpbmcsIEkgYmV0b29rIG15c2VsZiB0byBsaW5raW5nIiArCiAgICAgICAgIkZhbmN5IHVudG8gZmFuY3ksIHRoaW5raW5nIHdoYXQgdGhpcyBvbWlub3VzIGJpcmQgb2YgeW9yZSAtIiArCiAgICAgICAgIldoYXQgdGhpcyBncmltLCB1bmdhaW5seSwgZ2hhc3RseSwgZ2F1bnQsIGFuZCBvbWlub3VzIGJpcmQgb2YgeW9yZSIgKwogICAgICAgICJNZWFudCBpbiBjcm9ha2luZyBgTmV2ZXJtb3JlLiciICsKICAgICAgICAiXG4iICsKICAgICAgICAiVGhpcyBJIHNhdCBlbmdhZ2VkIGluIGd1ZXNzaW5nLCBidXQgbm8gc3lsbGFibGUgZXhwcmVzc2luZyIgKwogICAgICAgICJUbyB0aGUgZm93bCB3aG9zZSBmaWVyeSBleWVzIG5vdyBidXJuZWQgaW50byBteSBib3NvbSdzIGNvcmU7IiArCiAgICAgICAgIlRoaXMgYW5kIG1vcmUgSSBzYXQgZGl2aW5pbmcsIHdpdGggbXkgaGVhZCBhdCBlYXNlIHJlY2xpbmluZyIgKwogICAgICAgICJPbiB0aGUgY3VzaGlvbidzIHZlbHZldCBsaW5pbmcgdGhhdCB0aGUgbGFtcC1saWdodCBnbG9hdGVkIG8nZXIsIiArCiAgICAgICAgIkJ1dCB3aG9zZSB2ZWx2ZXQgdmlvbGV0IGxpbmluZyB3aXRoIHRoZSBsYW1wLWxpZ2h0IGdsb2F0aW5nIG8nZXIsIiArCiAgICAgICAgIlNoZSBzaGFsbCBwcmVzcywgYWgsIG5ldmVybW9yZSEiICsKICAgICAgICAiXG4iICsKICAgICAgICAiVGhlbiwgbWV0aG91Z2h0LCB0aGUgYWlyIGdyZXcgZGVuc2VyLCBwZXJmdW1lZCBmcm9tIGFuIHVuc2VlbiBjZW5zZXIiICsKICAgICAgICAiU3d1bmcgYnkgU2VyYXBoaW0gd2hvc2UgZm9vdC1mYWxscyB0aW5rbGVkIG9uIHRoZSB0dWZ0ZWQgZmxvb3IuIiArCiAgICAgICAgImBXcmV0Y2gsJyBJIGNyaWVkLCBgdGh5IEdvZCBoYXRoIGxlbnQgdGhlZSAtIGJ5IHRoZXNlIGFuZ2VscyBoZSBoYXMgc2VudCB0aGVlIiArCiAgICAgICAgIlJlc3BpdGUgLSByZXNwaXRlIGFuZCBuZXBlbnRoZSBmcm9tIHRoeSBtZW1vcmllcyBvZiBMZW5vcmUhIiArCiAgICAgICAgIlF1YWZmLCBvaCBxdWFmZiB0aGlzIGtpbmQgbmVwZW50aGUsIGFuZCBmb3JnZXQgdGhpcyBsb3N0IExlbm9yZSEnIiArCiAgICAgICAgIlF1b3RoIHRoZSByYXZlbiwgYE5ldmVybW9yZS4nIiArCiAgICAgICAgIlxuIiArCiAgICAgICAgImBQcm9waGV0IScgc2FpZCBJLCBgdGhpbmcgb2YgZXZpbCEgLSBwcm9waGV0IHN0aWxsLCBpZiBiaXJkIG9yIGRldmlsISAtIiArCiAgICAgICAgIldoZXRoZXIgdGVtcHRlciBzZW50LCBvciB3aGV0aGVyIHRlbXBlc3QgdG9zc2VkIHRoZWUgaGVyZSBhc2hvcmUsIiArCiAgICAgICAgIkRlc29sYXRlIHlldCBhbGwgdW5kYXVudGVkLCBvbiB0aGlzIGRlc2VydCBsYW5kIGVuY2hhbnRlZCAtIiArCiAgICAgICAgIk9uIHRoaXMgaG9tZSBieSBob3Jyb3IgaGF1bnRlZCAtIHRlbGwgbWUgdHJ1bHksIEkgaW1wbG9yZSAtIiArCiAgICAgICAgIklzIHRoZXJlIC0gaXMgdGhlcmUgYmFsbSBpbiBHaWxlYWQ/IC0gdGVsbCBtZSAtIHRlbGwgbWUsIEkgaW1wbG9yZSEnIiArCiAgICAgICAgIlF1b3RoIHRoZSByYXZlbiwgYE5ldmVybW9yZS4nIiArCiAgICAgICAgIlxuIiArCiAgICAgICAgImBQcm9waGV0IScgc2FpZCBJLCBgdGhpbmcgb2YgZXZpbCEgLSBwcm9waGV0IHN0aWxsLCBpZiBiaXJkIG9yIGRldmlsISIgKwogICAgICAgICJCeSB0aGF0IEhlYXZlbiB0aGF0IGJlbmRzIGFib3ZlIHVzIC0gYnkgdGhhdCBHb2Qgd2UgYm90aCBhZG9yZSAtIiArCiAgICAgICAgIlRlbGwgdGhpcyBzb3VsIHdpdGggc29ycm93IGxhZGVuIGlmLCB3aXRoaW4gdGhlIGRpc3RhbnQgQWlkZW5uLCIgKwogICAgICAgICJJdCBzaGFsbCBjbGFzcCBhIHNhaW50ZWQgbWFpZGVuIHdob20gdGhlIGFuZ2VscyBuYW1lZCBMZW5vcmUgLSIgKwogICAgICAgICJDbGFzcCBhIHJhcmUgYW5kIHJhZGlhbnQgbWFpZGVuLCB3aG9tIHRoZSBhbmdlbHMgbmFtZWQgTGVub3JlPyciICsKICAgICAgICAiUXVvdGggdGhlIHJhdmVuLCBgTmV2ZXJtb3JlLiciICsKICAgICAgICAiXG4iICsKICAgICAgICAiYEJlIHRoYXQgd29yZCBvdXIgc2lnbiBvZiBwYXJ0aW5nLCBiaXJkIG9yIGZpZW5kIScgSSBzaHJpZWtlZCB1cHN0YXJ0aW5nIC0iICsKICAgICAgICAiYEdldCB0aGVlIGJhY2sgaW50byB0aGUgdGVtcGVzdCBhbmQgdGhlIE5pZ2h0J3MgUGx1dG9uaWFuIHNob3JlISIgKwogICAgICAgICJMZWF2ZSBubyBibGFjayBwbHVtZSBhcyBhIHRva2VuIG9mIHRoYXQgbGllIHRoeSBzb3VsIGhhdGggc3Bva2VuISIgKwogICAgICAgICJMZWF2ZSBteSBsb25lbGluZXNzIHVuYnJva2VuISAtIHF1aXQgdGhlIGJ1c3QgYWJvdmUgbXkgZG9vciEiICsKICAgICAgICAiVGFrZSB0aHkgYmVhayBmcm9tIG91dCBteSBoZWFydCwgYW5kIHRha2UgdGh5IGZvcm0gZnJvbSBvZmYgbXkgZG9vciEnIiArCiAgICAgICAgIlF1b3RoIHRoZSByYXZlbiwgYE5ldmVybW9yZS4nIiArCiAgICAgICAgIlxuIiArCiAgICAgICAgIkFuZCB0aGUgcmF2ZW4sIG5ldmVyIGZsaXR0aW5nLCBzdGlsbCBpcyBzaXR0aW5nLCBzdGlsbCBpcyBzaXR0aW5nIiArCiAgICAgICAgIk9uIHRoZSBwYWxsaWQgYnVzdCBvZiBQYWxsYXMganVzdCBhYm92ZSBteSBjaGFtYmVyIGRvb3I7IiArCiAgICAgICAgIkFuZCBoaXMgZXllcyBoYXZlIGFsbCB0aGUgc2VlbWluZyBvZiBhIGRlbW9uJ3MgdGhhdCBpcyBkcmVhbWluZywiICsKICAgICAgICAiQW5kIHRoZSBsYW1wLWxpZ2h0IG8nZXIgaGltIHN0cmVhbWluZyB0aHJvd3MgaGlzIHNoYWRvdyBvbiB0aGUgZmxvb3I7IiArCiAgICAgICAgIkFuZCBteSBzb3VsIGZyb20gb3V0IHRoYXQgc2hhZG93IHRoYXQgbGllcyBmbG9hdGluZyBvbiB0aGUgZmxvb3IiICsKICAgICAgICAiU2hhbGwgYmUgbGlmdGVkIC0gbmV2ZXJtb3JlISIKCk5FVkVSTU9SRT0xMTsgICAgICAgCiAgICAgICAKX19yZSA9IC9bTm5dZXZlcm1vcmUvZzsKX19tYXRjaGVkPTA7Cgpkb3sKICAgIF9fZXhlY3V0ZWQgPSBfX3JlLmV4ZWMoX190aGVfX3JhdmVuKTsKICAgIGlmIChfX2V4ZWN1dGVkICE9PSBudWxsKSB7CiAgICAJX19tYXRjaGVkKys7CiAgICB9IGVsc2UgewogICAgCWJyZWFrOwogICAgfQp9d2hpbGUoMSk7CgovL0NIRUNLIzEKaWYgKF9fbWF0Y2hlZCAhPT0gTkVWRVJNT1JFKSB7CgkkRVJST1IoJyMxOiBfX3JlID0gL1tObl1ldmVybW9yZS9nOyBfX2V4ZWN1dGVkID0gX19yZS5leGVjKF9fdGhlX19yYXZlbiknK19fbWF0Y2hlZCk7Cn0KCgo=","commentary":"RegExp.prototype.exec behavior depends on global property.\nIf global is true and lastIndex not changed manually,\nnext exec calling start to match from position where current match finished","description":"RegExp is /[Nn]evermore/g and tested string is very long string","path":"TestCases/ch15/15.10/15.10.6/15.10.6.2/S15.10.6.2_A3_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBSZWdFeHAucHJvdG90eXBlLmV4ZWMgYmVoYXZpb3IgZGVwZW5kcyBvbiBnbG9iYWwgcHJvcGVydHkuCiAqIElmIGdsb2JhbCBpcyB0cnVlIGFuZCBsYXN0SW5kZXggbm90IGNoYW5nZWQgbWFudWFsbHksCiAqIG5leHQgZXhlYyBjYWxsaW5nIHN0YXJ0IHRvIG1hdGNoIGZyb20gcG9zaXRpb24gd2hlcmUgY3VycmVudCBtYXRjaCBmaW5pc2hlZAogKgogKiBAcGF0aCBjaDE1LzE1LjEwLzE1LjEwLjYvMTUuMTAuNi4yL1MxNS4xMC42LjJfQTNfVDMuanMKICogQGRlc2NyaXB0aW9uIFJlZ0V4cCBpcyAvW05uXT9ldmVybW9yZS9nIGFuZCB0ZXN0ZWQgc3RyaW5nIGlzIHZlcnkgbG9uZyBzdHJpbmcKICovCgpfX3RoZV9fcmF2ZW4gPSAiCU9uY2UgdXBvbiBhIG1pZG5pZ2h0IGRyZWFyeSwgd2hpbGUgSSBwb25kZXJlZCB3ZWFrIGFuZCB3ZWFyeSwiICsKICAgICAgICAiT3ZlciBtYW55IGEgcXVhaW50IGFuZCBjdXJpb3VzIHZvbHVtZSBvZiBmb3Jnb3R0ZW4gbG9yZSwiICsKICAgICAgICAiV2hpbGUgSSBub2RkZWQsIG5lYXJseSBuYXBwaW5nLCBzdWRkZW5seSB0aGVyZSBjYW1lIGEgdGFwcGluZywiICsKICAgICAgICAiQXMgb2Ygc29tZSBvbmUgZ2VudGx5IHJhcHBpbmcsIHJhcHBpbmcgYXQgbXkgY2hhbWJlciBkb29yLiIgKwogICAgICAgICJgJ1RpcyBzb21lIHZpc2l0b3IsJyBJIG11dHRlcmVkLCBgdGFwcGluZyBhdCBteSBjaGFtYmVyIGRvb3IgLSIgKwogICAgICAgICJPbmx5IHRoaXMsIGFuZCBub3RoaW5nIG1vcmUuJyIgKwogICAgICAgICJBaCwgZGlzdGluY3RseSBJIHJlbWVtYmVyIGl0IHdhcyBpbiB0aGUgYmxlYWsgRGVjZW1iZXIsIiArCiAgICAgICAgIkFuZCBlYWNoIHNlcGFyYXRlIGR5aW5nIGVtYmVyIHdyb3VnaHQgaXRzIGdob3N0IHVwb24gdGhlIGZsb29yLiIgKwogICAgICAgICJFYWdlcmx5IEkgd2lzaGVkIHRoZSBtb3Jyb3c7IC0gdmFpbmx5IEkgaGFkIHNvdWdodCB0byBib3Jyb3ciICsKICAgICAgICAiRnJvbSBteSBib29rcyBzdXJjZWFzZSBvZiBzb3Jyb3cgLSBzb3Jyb3cgZm9yIHRoZSBsb3N0IExlbm9yZSAtIiArCiAgICAgICAgIkZvciB0aGUgcmFyZSBhbmQgcmFkaWFudCBtYWlkZW4gd2hvbSB0aGUgYW5nZWxzIG5hbWVkIExlbm9yZSAtIiArCiAgICAgICAgIk5hbWVsZXNzIGhlcmUgZm9yIGV2ZXJtb3JlLiIgKwogICAgICAgICJcbiIgKwogICAgICAgICJBbmQgdGhlIHNpbGtlbiBzYWQgdW5jZXJ0YWluIHJ1c3RsaW5nIG9mIGVhY2ggcHVycGxlIGN1cnRhaW4iICsKICAgICAgICAiVGhyaWxsZWQgbWUgLSBmaWxsZWQgbWUgd2l0aCBmYW50YXN0aWMgdGVycm9ycyBuZXZlciBmZWx0IGJlZm9yZTsiICsKICAgICAgICAiU28gdGhhdCBub3csIHRvIHN0aWxsIHRoZSBiZWF0aW5nIG9mIG15IGhlYXJ0LCBJIHN0b29kIHJlcGVhdGluZyIgKwogICAgICAgICJgJ1RpcyBzb21lIHZpc2l0b3IgZW50cmVhdGluZyBlbnRyYW5jZSBhdCBteSBjaGFtYmVyIGRvb3IgLSIgKwogICAgICAgICJTb21lIGxhdGUgdmlzaXRvciBlbnRyZWF0aW5nIGVudHJhbmNlIGF0IG15IGNoYW1iZXIgZG9vcjsgLSIgKwogICAgICAgICJUaGlzIGl0IGlzLCBhbmQgbm90aGluZyBtb3JlLCciICsKICAgICAgICAiUHJlc2VudGx5IG15IHNvdWwgZ3JldyBzdHJvbmdlcjsgaGVzaXRhdGluZyB0aGVuIG5vIGxvbmdlciwiICsKICAgICAgICAiYFNpciwnIHNhaWQgSSwgYG9yIE1hZGFtLCB0cnVseSB5b3VyIGZvcmdpdmVuZXNzIEkgaW1wbG9yZTsiICsKICAgICAgICAiQnV0IHRoZSBmYWN0IGlzIEkgd2FzIG5hcHBpbmcsIGFuZCBzbyBnZW50bHkgeW91IGNhbWUgcmFwcGluZywiICsKICAgICAgICAiQW5kIHNvIGZhaW50bHkgeW91IGNhbWUgdGFwcGluZywgdGFwcGluZyBhdCBteSBjaGFtYmVyIGRvb3IsIiArCiAgICAgICAgIlRoYXQgSSBzY2FyY2Ugd2FzIHN1cmUgSSBoZWFyZCB5b3UnIC0gaGVyZSBJIG9wZW5lZCB3aWRlIHRoZSBkb29yOyAtIiArCiAgICAgICAgIkRhcmtuZXNzIHRoZXJlLCBhbmQgbm90aGluZyBtb3JlLiIgKwogICAgICAgICJcbiIgKwogICAgICAgICJEZWVwIGludG8gdGhhdCBkYXJrbmVzcyBwZWVyaW5nLCBsb25nIEkgc3Rvb2QgdGhlcmUgd29uZGVyaW5nLCBmZWFyaW5nLCIgKwogICAgICAgICJEb3VidGluZywgZHJlYW1pbmcgZHJlYW1zIG5vIG1vcnRhbCBldmVyIGRhcmVkIHRvIGRyZWFtIGJlZm9yZSIgKwogICAgICAgICJCdXQgdGhlIHNpbGVuY2Ugd2FzIHVuYnJva2VuLCBhbmQgdGhlIGRhcmtuZXNzIGdhdmUgbm8gdG9rZW4sIiArCiAgICAgICAgIkFuZCB0aGUgb25seSB3b3JkIHRoZXJlIHNwb2tlbiB3YXMgdGhlIHdoaXNwZXJlZCB3b3JkLCBgTGVub3JlISciICsKICAgICAgICAiVGhpcyBJIHdoaXNwZXJlZCwgYW5kIGFuIGVjaG8gbXVybXVyZWQgYmFjayB0aGUgd29yZCwgYExlbm9yZSEnIiArCiAgICAgICAgIk1lcmVseSB0aGlzIGFuZCBub3RoaW5nIG1vcmUuIiArCiAgICAgICAgIlxuIiArCiAgICAgICAgIkJhY2sgaW50byB0aGUgY2hhbWJlciB0dXJuaW5nLCBhbGwgbXkgc291bCB3aXRoaW4gbWUgYnVybmluZywiICsKICAgICAgICAiU29vbiBhZ2FpbiBJIGhlYXJkIGEgdGFwcGluZyBzb21ld2hhdCBsb3VkZXIgdGhhbiBiZWZvcmUuIiArCiAgICAgICAgImBTdXJlbHksJyBzYWlkIEksIGBzdXJlbHkgdGhhdCBpcyBzb21ldGhpbmcgYXQgbXkgd2luZG93IGxhdHRpY2U7IiArCiAgICAgICAgIkxldCBtZSBzZWUgdGhlbiwgd2hhdCB0aGVyZWF0IGlzLCBhbmQgdGhpcyBteXN0ZXJ5IGV4cGxvcmUgLSIgKwogICAgICAgICJMZXQgbXkgaGVhcnQgYmUgc3RpbGwgYSBtb21lbnQgYW5kIHRoaXMgbXlzdGVyeSBleHBsb3JlOyAtIiArCiAgICAgICAgIidUaXMgdGhlIHdpbmQgYW5kIG5vdGhpbmcgbW9yZSEnIiArCiAgICAgICAgIlxuIiArCiAgICAgICAgIk9wZW4gaGVyZSBJIGZsdW5nIHRoZSBzaHV0dGVyLCB3aGVuLCB3aXRoIG1hbnkgYSBmbGlydCBhbmQgZmx1dHRlciwiICsKICAgICAgICAiSW4gdGhlcmUgc3RlcHBlZCBhIHN0YXRlbHkgcmF2ZW4gb2YgdGhlIHNhaW50bHkgZGF5cyBvZiB5b3JlLiIgKwogICAgICAgICJOb3QgdGhlIGxlYXN0IG9iZWlzYW5jZSBtYWRlIGhlOyBub3QgYSBtaW51dGUgc3RvcHBlZCBvciBzdGF5ZWQgaGU7IiArCiAgICAgICAgIkJ1dCwgd2l0aCBtaWVuIG9mIGxvcmQgb3IgbGFkeSwgcGVyY2hlZCBhYm92ZSBteSBjaGFtYmVyIGRvb3IgLSIgKwogICAgICAgICJQZXJjaGVkIHVwb24gYSBidXN0IG9mIFBhbGxhcyBqdXN0IGFib3ZlIG15IGNoYW1iZXIgZG9vciAtIiArCiAgICAgICAgIlBlcmNoZWQsIGFuZCBzYXQsIGFuZCBub3RoaW5nIG1vcmUuIiArCiAgICAgICAgIlxuIiArCiAgICAgICAgIlRoZW4gdGhpcyBlYm9ueSBiaXJkIGJlZ3VpbGluZyBteSBzYWQgZmFuY3kgaW50byBzbWlsaW5nLCIgKwogICAgICAgICJCeSB0aGUgZ3JhdmUgYW5kIHN0ZXJuIGRlY29ydW0gb2YgdGhlIGNvdW50ZW5hbmNlIGl0IHdvcmUsIiArCiAgICAgICAgImBUaG91Z2ggdGh5IGNyZXN0IGJlIHNob3JuIGFuZCBzaGF2ZW4sIHRob3UsJyBJIHNhaWQsIGBhcnQgc3VyZSBubyBjcmF2ZW4uIiArCiAgICAgICAgIkdoYXN0bHkgZ3JpbSBhbmQgYW5jaWVudCByYXZlbiB3YW5kZXJpbmcgZnJvbSB0aGUgbmlnaHRseSBzaG9yZSAtIiArCiAgICAgICAgIlRlbGwgbWUgd2hhdCB0aHkgbG9yZGx5IG5hbWUgaXMgb24gdGhlIE5pZ2h0J3MgUGx1dG9uaWFuIHNob3JlISciICsKICAgICAgICAiUXVvdGggdGhlIHJhdmVuLCBgTmV2ZXJtb3JlLiciICsKICAgICAgICAiLW4iICsKICAgICAgICAiTXVjaCBJIG1hcnZlbGxlZCB0aGlzIHVuZ2Fpbmx5IGZvd2wgdG8gaGVhciBkaXNjb3Vyc2Ugc28gcGxhaW5seSwiICsKICAgICAgICAiVGhvdWdoIGl0cyBhbnN3ZXIgbGl0dGxlIG1lYW5pbmcgLSBsaXR0bGUgcmVsZXZhbmN5IGJvcmU7IiArCiAgICAgICAgIkZvciB3ZSBjYW5ub3QgaGVscCBhZ3JlZWluZyB0aGF0IG5vIGxpdmluZyBodW1hbiBiZWluZyIgKwogICAgICAgICJFdmVyIHlldCB3YXMgYmxlc3NlZCB3aXRoIHNlZWluZyBiaXJkIGFib3ZlIGhpcyBjaGFtYmVyIGRvb3IgLSIgKwogICAgICAgICJCaXJkIG9yIGJlYXN0IGFib3ZlIHRoZSBzY3VscHR1cmVkIGJ1c3QgYWJvdmUgaGlzIGNoYW1iZXIgZG9vciwiICsKICAgICAgICAiV2l0aCBzdWNoIG5hbWUgYXMgYE5ldmVybW9yZS4nIiArCiAgICAgICAgIlxuIiArCiAgICAgICAgIkJ1dCB0aGUgcmF2ZW4sIHNpdHRpbmcgbG9uZWx5IG9uIHRoZSBwbGFjaWQgYnVzdCwgc3Bva2Ugb25seSwiICsKICAgICAgICAiVGhhdCBvbmUgd29yZCwgYXMgaWYgaGlzIHNvdWwgaW4gdGhhdCBvbmUgd29yZCBoZSBkaWQgb3V0cG91ci4iICsKICAgICAgICAiTm90aGluZyBmdXJ0aGVyIHRoZW4gaGUgdXR0ZXJlZCAtIG5vdCBhIGZlYXRoZXIgdGhlbiBoZSBmbHV0dGVyZWQgLSIgKwogICAgICAgICJUaWxsIEkgc2NhcmNlbHkgbW9yZSB0aGFuIG11dHRlcmVkIGBPdGhlciBmcmllbmRzIGhhdmUgZmxvd24gYmVmb3JlIC0iICsKICAgICAgICAiT24gdGhlIG1vcnJvdyBoZSB3aWxsIGxlYXZlIG1lLCBhcyBteSBob3BlcyBoYXZlIGZsb3duIGJlZm9yZS4nIiArCiAgICAgICAgIlRoZW4gdGhlIGJpcmQgc2FpZCwgYE5ldmVybW9yZS4nIiArCiAgICAgICAgIlxuIiArCiAgICAgICAgIlN0YXJ0bGVkIGF0IHRoZSBzdGlsbG5lc3MgYnJva2VuIGJ5IHJlcGx5IHNvIGFwdGx5IHNwb2tlbiwiICsKICAgICAgICAiYERvdWJ0bGVzcywnIHNhaWQgSSwgYHdoYXQgaXQgdXR0ZXJzIGlzIGl0cyBvbmx5IHN0b2NrIGFuZCBzdG9yZSwiICsKICAgICAgICAiQ2F1Z2h0IGZyb20gc29tZSB1bmhhcHB5IG1hc3RlciB3aG9tIHVubWVyY2lmdWwgZGlzYXN0ZXIiICsKICAgICAgICAiRm9sbG93ZWQgZmFzdCBhbmQgZm9sbG93ZWQgZmFzdGVyIHRpbGwgaGlzIHNvbmdzIG9uZSBidXJkZW4gYm9yZSAtIiArCiAgICAgICAgIlRpbGwgdGhlIGRpcmdlcyBvZiBoaXMgaG9wZSB0aGF0IG1lbGFuY2hvbHkgYnVyZGVuIGJvcmUiICsKICAgICAgICAiT2YgXCJOZXZlci1uZXZlcm1vcmUuXCInIiArCiAgICAgICAgIlxuIiArCiAgICAgICAgIkJ1dCB0aGUgcmF2ZW4gc3RpbGwgYmVndWlsaW5nIGFsbCBteSBzYWQgc291bCBpbnRvIHNtaWxpbmcsIiArCiAgICAgICAgIlN0cmFpZ2h0IEkgd2hlZWxlZCBhIGN1c2hpb25lZCBzZWF0IGluIGZyb250IG9mIGJpcmQgYW5kIGJ1c3QgYW5kIGRvb3I7IiArCiAgICAgICAgIlRoZW4sIHVwb24gdGhlIHZlbHZldCBzaW5raW5nLCBJIGJldG9vayBteXNlbGYgdG8gbGlua2luZyIgKwogICAgICAgICJGYW5jeSB1bnRvIGZhbmN5LCB0aGlua2luZyB3aGF0IHRoaXMgb21pbm91cyBiaXJkIG9mIHlvcmUgLSIgKwogICAgICAgICJXaGF0IHRoaXMgZ3JpbSwgdW5nYWlubHksIGdoYXN0bHksIGdhdW50LCBhbmQgb21pbm91cyBiaXJkIG9mIHlvcmUiICsKICAgICAgICAiTWVhbnQgaW4gY3JvYWtpbmcgYE5ldmVybW9yZS4nIiArCiAgICAgICAgIlxuIiArCiAgICAgICAgIlRoaXMgSSBzYXQgZW5nYWdlZCBpbiBndWVzc2luZywgYnV0IG5vIHN5bGxhYmxlIGV4cHJlc3NpbmciICsKICAgICAgICAiVG8gdGhlIGZvd2wgd2hvc2UgZmllcnkgZXllcyBub3cgYnVybmVkIGludG8gbXkgYm9zb20ncyBjb3JlOyIgKwogICAgICAgICJUaGlzIGFuZCBtb3JlIEkgc2F0IGRpdmluaW5nLCB3aXRoIG15IGhlYWQgYXQgZWFzZSByZWNsaW5pbmciICsKICAgICAgICAiT24gdGhlIGN1c2hpb24ncyB2ZWx2ZXQgbGluaW5nIHRoYXQgdGhlIGxhbXAtbGlnaHQgZ2xvYXRlZCBvJ2VyLCIgKwogICAgICAgICJCdXQgd2hvc2UgdmVsdmV0IHZpb2xldCBsaW5pbmcgd2l0aCB0aGUgbGFtcC1saWdodCBnbG9hdGluZyBvJ2VyLCIgKwogICAgICAgICJTaGUgc2hhbGwgcHJlc3MsIGFoLCBuZXZlcm1vcmUhIiArCiAgICAgICAgIlxuIiArCiAgICAgICAgIlRoZW4sIG1ldGhvdWdodCwgdGhlIGFpciBncmV3IGRlbnNlciwgcGVyZnVtZWQgZnJvbSBhbiB1bnNlZW4gY2Vuc2VyIiArCiAgICAgICAgIlN3dW5nIGJ5IFNlcmFwaGltIHdob3NlIGZvb3QtZmFsbHMgdGlua2xlZCBvbiB0aGUgdHVmdGVkIGZsb29yLiIgKwogICAgICAgICJgV3JldGNoLCcgSSBjcmllZCwgYHRoeSBHb2QgaGF0aCBsZW50IHRoZWUgLSBieSB0aGVzZSBhbmdlbHMgaGUgaGFzIHNlbnQgdGhlZSIgKwogICAgICAgICJSZXNwaXRlIC0gcmVzcGl0ZSBhbmQgbmVwZW50aGUgZnJvbSB0aHkgbWVtb3JpZXMgb2YgTGVub3JlISIgKwogICAgICAgICJRdWFmZiwgb2ggcXVhZmYgdGhpcyBraW5kIG5lcGVudGhlLCBhbmQgZm9yZ2V0IHRoaXMgbG9zdCBMZW5vcmUhJyIgKwogICAgICAgICJRdW90aCB0aGUgcmF2ZW4sIGBOZXZlcm1vcmUuJyIgKwogICAgICAgICJcbiIgKwogICAgICAgICJgUHJvcGhldCEnIHNhaWQgSSwgYHRoaW5nIG9mIGV2aWwhIC0gcHJvcGhldCBzdGlsbCwgaWYgYmlyZCBvciBkZXZpbCEgLSIgKwogICAgICAgICJXaGV0aGVyIHRlbXB0ZXIgc2VudCwgb3Igd2hldGhlciB0ZW1wZXN0IHRvc3NlZCB0aGVlIGhlcmUgYXNob3JlLCIgKwogICAgICAgICJEZXNvbGF0ZSB5ZXQgYWxsIHVuZGF1bnRlZCwgb24gdGhpcyBkZXNlcnQgbGFuZCBlbmNoYW50ZWQgLSIgKwogICAgICAgICJPbiB0aGlzIGhvbWUgYnkgaG9ycm9yIGhhdW50ZWQgLSB0ZWxsIG1lIHRydWx5LCBJIGltcGxvcmUgLSIgKwogICAgICAgICJJcyB0aGVyZSAtIGlzIHRoZXJlIGJhbG0gaW4gR2lsZWFkPyAtIHRlbGwgbWUgLSB0ZWxsIG1lLCBJIGltcGxvcmUhJyIgKwogICAgICAgICJRdW90aCB0aGUgcmF2ZW4sIGBOZXZlcm1vcmUuJyIgKwogICAgICAgICJcbiIgKwogICAgICAgICJgUHJvcGhldCEnIHNhaWQgSSwgYHRoaW5nIG9mIGV2aWwhIC0gcHJvcGhldCBzdGlsbCwgaWYgYmlyZCBvciBkZXZpbCEiICsKICAgICAgICAiQnkgdGhhdCBIZWF2ZW4gdGhhdCBiZW5kcyBhYm92ZSB1cyAtIGJ5IHRoYXQgR29kIHdlIGJvdGggYWRvcmUgLSIgKwogICAgICAgICJUZWxsIHRoaXMgc291bCB3aXRoIHNvcnJvdyBsYWRlbiBpZiwgd2l0aGluIHRoZSBkaXN0YW50IEFpZGVubiwiICsKICAgICAgICAiSXQgc2hhbGwgY2xhc3AgYSBzYWludGVkIG1haWRlbiB3aG9tIHRoZSBhbmdlbHMgbmFtZWQgTGVub3JlIC0iICsKICAgICAgICAiQ2xhc3AgYSByYXJlIGFuZCByYWRpYW50IG1haWRlbiwgd2hvbSB0aGUgYW5nZWxzIG5hbWVkIExlbm9yZT8nIiArCiAgICAgICAgIlF1b3RoIHRoZSByYXZlbiwgYE5ldmVybW9yZS4nIiArCiAgICAgICAgIlxuIiArCiAgICAgICAgImBCZSB0aGF0IHdvcmQgb3VyIHNpZ24gb2YgcGFydGluZywgYmlyZCBvciBmaWVuZCEnIEkgc2hyaWVrZWQgdXBzdGFydGluZyAtIiArCiAgICAgICAgImBHZXQgdGhlZSBiYWNrIGludG8gdGhlIHRlbXBlc3QgYW5kIHRoZSBOaWdodCdzIFBsdXRvbmlhbiBzaG9yZSEiICsKICAgICAgICAiTGVhdmUgbm8gYmxhY2sgcGx1bWUgYXMgYSB0b2tlbiBvZiB0aGF0IGxpZSB0aHkgc291bCBoYXRoIHNwb2tlbiEiICsKICAgICAgICAiTGVhdmUgbXkgbG9uZWxpbmVzcyB1bmJyb2tlbiEgLSBxdWl0IHRoZSBidXN0IGFib3ZlIG15IGRvb3IhIiArCiAgICAgICAgIlRha2UgdGh5IGJlYWsgZnJvbSBvdXQgbXkgaGVhcnQsIGFuZCB0YWtlIHRoeSBmb3JtIGZyb20gb2ZmIG15IGRvb3IhJyIgKwogICAgICAgICJRdW90aCB0aGUgcmF2ZW4sIGBOZXZlcm1vcmUuJyIgKwogICAgICAgICJcbiIgKwogICAgICAgICJBbmQgdGhlIHJhdmVuLCBuZXZlciBmbGl0dGluZywgc3RpbGwgaXMgc2l0dGluZywgc3RpbGwgaXMgc2l0dGluZyIgKwogICAgICAgICJPbiB0aGUgcGFsbGlkIGJ1c3Qgb2YgUGFsbGFzIGp1c3QgYWJvdmUgbXkgY2hhbWJlciBkb29yOyIgKwogICAgICAgICJBbmQgaGlzIGV5ZXMgaGF2ZSBhbGwgdGhlIHNlZW1pbmcgb2YgYSBkZW1vbidzIHRoYXQgaXMgZHJlYW1pbmcsIiArCiAgICAgICAgIkFuZCB0aGUgbGFtcC1saWdodCBvJ2VyIGhpbSBzdHJlYW1pbmcgdGhyb3dzIGhpcyBzaGFkb3cgb24gdGhlIGZsb29yOyIgKwogICAgICAgICJBbmQgbXkgc291bCBmcm9tIG91dCB0aGF0IHNoYWRvdyB0aGF0IGxpZXMgZmxvYXRpbmcgb24gdGhlIGZsb29yIiArCiAgICAgICAgIlNoYWxsIGJlIGxpZnRlZCAtIG5ldmVybW9yZSEiCgpORVZFUk1PUkVfQU5EX0VWRVJNT1JFPTEyOyAgICAgICAKICAgICAgIApfX3JlID0gL1tObl0/ZXZlcm1vcmUvZzsKX19tYXRjaGVkPTA7Cgpkb3sKICAgIF9fZXhlY3V0ZWQgPSBfX3JlLmV4ZWMoX190aGVfX3JhdmVuKTsKICAgIGlmIChfX2V4ZWN1dGVkICE9PSBudWxsKSB7CiAgICAJX19tYXRjaGVkKys7CiAgICB9IGVsc2UgewogICAgCWJyZWFrOwogICAgfQp9d2hpbGUoMSk7CgovL0NIRUNLIzEKaWYgKF9fbWF0Y2hlZCAhPT0gTkVWRVJNT1JFX0FORF9FVkVSTU9SRSkgewoJJEVSUk9SKCcjMTogX19yZSA9IC9bTm5dP2V2ZXJtb3JlL2c7IF9fZXhlY3V0ZWQgPSBfX3JlLmV4ZWMoX190aGVfX3JhdmVuKScrX19tYXRjaGVkKTsKfQoKCg==","commentary":"RegExp.prototype.exec behavior depends on global property.\nIf global is true and lastIndex not changed manually,\nnext exec calling start to match from position where current match finished","description":"RegExp is /[Nn]?evermore/g and tested string is very long string","path":"TestCases/ch15/15.10/15.10.6/15.10.6.2/S15.10.6.2_A3_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBSZWdFeHAucHJvdG90eXBlLmV4ZWMgYmVoYXZpb3IgZGVwZW5kcyBvbiBnbG9iYWwgcHJvcGVydHkuCiAqIElmIGdsb2JhbCBpcyB0cnVlIGFuZCBsYXN0SW5kZXggbm90IGNoYW5nZWQgbWFudWFsbHksCiAqIG5leHQgZXhlYyBjYWxsaW5nIHN0YXJ0IHRvIG1hdGNoIGZyb20gcG9zaXRpb24gd2hlcmUgY3VycmVudCBtYXRjaCBmaW5pc2hlZAogKgogKiBAcGF0aCBjaDE1LzE1LjEwLzE1LjEwLjYvMTUuMTAuNi4yL1MxNS4xMC42LjJfQTNfVDQuanMKICogQGRlc2NyaXB0aW9uIFJlZ0V4cCBpcyAvKFtObl0/ZXZlcnwoW05uXW90aGluZ1xzezEsfSkpbW9yZS9nIGFuZCB0ZXN0ZWQgc3RyaW5nIGlzIHZlcnkgbG9uZyBzdHJpbmcKICovCgpfX3RoZV9fcmF2ZW4gPSAiCU9uY2UgdXBvbiBhIG1pZG5pZ2h0IGRyZWFyeSwgd2hpbGUgSSBwb25kZXJlZCB3ZWFrIGFuZCB3ZWFyeSwiICsKICAgICAgICAiT3ZlciBtYW55IGEgcXVhaW50IGFuZCBjdXJpb3VzIHZvbHVtZSBvZiBmb3Jnb3R0ZW4gbG9yZSwiICsKICAgICAgICAiV2hpbGUgSSBub2RkZWQsIG5lYXJseSBuYXBwaW5nLCBzdWRkZW5seSB0aGVyZSBjYW1lIGEgdGFwcGluZywiICsKICAgICAgICAiQXMgb2Ygc29tZSBvbmUgZ2VudGx5IHJhcHBpbmcsIHJhcHBpbmcgYXQgbXkgY2hhbWJlciBkb29yLiIgKwogICAgICAgICJgJ1RpcyBzb21lIHZpc2l0b3IsJyBJIG11dHRlcmVkLCBgdGFwcGluZyBhdCBteSBjaGFtYmVyIGRvb3IgLSIgKwogICAgICAgICJPbmx5IHRoaXMsIGFuZCBub3RoaW5nIG1vcmUuJyIgKwogICAgICAgICJBaCwgZGlzdGluY3RseSBJIHJlbWVtYmVyIGl0IHdhcyBpbiB0aGUgYmxlYWsgRGVjZW1iZXIsIiArCiAgICAgICAgIkFuZCBlYWNoIHNlcGFyYXRlIGR5aW5nIGVtYmVyIHdyb3VnaHQgaXRzIGdob3N0IHVwb24gdGhlIGZsb29yLiIgKwogICAgICAgICJFYWdlcmx5IEkgd2lzaGVkIHRoZSBtb3Jyb3c7IC0gdmFpbmx5IEkgaGFkIHNvdWdodCB0byBib3Jyb3ciICsKICAgICAgICAiRnJvbSBteSBib29rcyBzdXJjZWFzZSBvZiBzb3Jyb3cgLSBzb3Jyb3cgZm9yIHRoZSBsb3N0IExlbm9yZSAtIiArCiAgICAgICAgIkZvciB0aGUgcmFyZSBhbmQgcmFkaWFudCBtYWlkZW4gd2hvbSB0aGUgYW5nZWxzIG5hbWVkIExlbm9yZSAtIiArCiAgICAgICAgIk5hbWVsZXNzIGhlcmUgZm9yIGV2ZXJtb3JlLiIgKwogICAgICAgICJcbiIgKwogICAgICAgICJBbmQgdGhlIHNpbGtlbiBzYWQgdW5jZXJ0YWluIHJ1c3RsaW5nIG9mIGVhY2ggcHVycGxlIGN1cnRhaW4iICsKICAgICAgICAiVGhyaWxsZWQgbWUgLSBmaWxsZWQgbWUgd2l0aCBmYW50YXN0aWMgdGVycm9ycyBuZXZlciBmZWx0IGJlZm9yZTsiICsKICAgICAgICAiU28gdGhhdCBub3csIHRvIHN0aWxsIHRoZSBiZWF0aW5nIG9mIG15IGhlYXJ0LCBJIHN0b29kIHJlcGVhdGluZyIgKwogICAgICAgICJgJ1RpcyBzb21lIHZpc2l0b3IgZW50cmVhdGluZyBlbnRyYW5jZSBhdCBteSBjaGFtYmVyIGRvb3IgLSIgKwogICAgICAgICJTb21lIGxhdGUgdmlzaXRvciBlbnRyZWF0aW5nIGVudHJhbmNlIGF0IG15IGNoYW1iZXIgZG9vcjsgLSIgKwogICAgICAgICJUaGlzIGl0IGlzLCBhbmQgbm90aGluZyBtb3JlLCciICsKICAgICAgICAiUHJlc2VudGx5IG15IHNvdWwgZ3JldyBzdHJvbmdlcjsgaGVzaXRhdGluZyB0aGVuIG5vIGxvbmdlciwiICsKICAgICAgICAiYFNpciwnIHNhaWQgSSwgYG9yIE1hZGFtLCB0cnVseSB5b3VyIGZvcmdpdmVuZXNzIEkgaW1wbG9yZTsiICsKICAgICAgICAiQnV0IHRoZSBmYWN0IGlzIEkgd2FzIG5hcHBpbmcsIGFuZCBzbyBnZW50bHkgeW91IGNhbWUgcmFwcGluZywiICsKICAgICAgICAiQW5kIHNvIGZhaW50bHkgeW91IGNhbWUgdGFwcGluZywgdGFwcGluZyBhdCBteSBjaGFtYmVyIGRvb3IsIiArCiAgICAgICAgIlRoYXQgSSBzY2FyY2Ugd2FzIHN1cmUgSSBoZWFyZCB5b3UnIC0gaGVyZSBJIG9wZW5lZCB3aWRlIHRoZSBkb29yOyAtIiArCiAgICAgICAgIkRhcmtuZXNzIHRoZXJlLCBhbmQgbm90aGluZyBtb3JlLiIgKwogICAgICAgICJcbiIgKwogICAgICAgICJEZWVwIGludG8gdGhhdCBkYXJrbmVzcyBwZWVyaW5nLCBsb25nIEkgc3Rvb2QgdGhlcmUgd29uZGVyaW5nLCBmZWFyaW5nLCIgKwogICAgICAgICJEb3VidGluZywgZHJlYW1pbmcgZHJlYW1zIG5vIG1vcnRhbCBldmVyIGRhcmVkIHRvIGRyZWFtIGJlZm9yZSIgKwogICAgICAgICJCdXQgdGhlIHNpbGVuY2Ugd2FzIHVuYnJva2VuLCBhbmQgdGhlIGRhcmtuZXNzIGdhdmUgbm8gdG9rZW4sIiArCiAgICAgICAgIkFuZCB0aGUgb25seSB3b3JkIHRoZXJlIHNwb2tlbiB3YXMgdGhlIHdoaXNwZXJlZCB3b3JkLCBgTGVub3JlISciICsKICAgICAgICAiVGhpcyBJIHdoaXNwZXJlZCwgYW5kIGFuIGVjaG8gbXVybXVyZWQgYmFjayB0aGUgd29yZCwgYExlbm9yZSEnIiArCiAgICAgICAgIk1lcmVseSB0aGlzIGFuZCBub3RoaW5nIG1vcmUuIiArCiAgICAgICAgIlxuIiArCiAgICAgICAgIkJhY2sgaW50byB0aGUgY2hhbWJlciB0dXJuaW5nLCBhbGwgbXkgc291bCB3aXRoaW4gbWUgYnVybmluZywiICsKICAgICAgICAiU29vbiBhZ2FpbiBJIGhlYXJkIGEgdGFwcGluZyBzb21ld2hhdCBsb3VkZXIgdGhhbiBiZWZvcmUuIiArCiAgICAgICAgImBTdXJlbHksJyBzYWlkIEksIGBzdXJlbHkgdGhhdCBpcyBzb21ldGhpbmcgYXQgbXkgd2luZG93IGxhdHRpY2U7IiArCiAgICAgICAgIkxldCBtZSBzZWUgdGhlbiwgd2hhdCB0aGVyZWF0IGlzLCBhbmQgdGhpcyBteXN0ZXJ5IGV4cGxvcmUgLSIgKwogICAgICAgICJMZXQgbXkgaGVhcnQgYmUgc3RpbGwgYSBtb21lbnQgYW5kIHRoaXMgbXlzdGVyeSBleHBsb3JlOyAtIiArCiAgICAgICAgIidUaXMgdGhlIHdpbmQgYW5kIG5vdGhpbmcgbW9yZSEnIiArCiAgICAgICAgIlxuIiArCiAgICAgICAgIk9wZW4gaGVyZSBJIGZsdW5nIHRoZSBzaHV0dGVyLCB3aGVuLCB3aXRoIG1hbnkgYSBmbGlydCBhbmQgZmx1dHRlciwiICsKICAgICAgICAiSW4gdGhlcmUgc3RlcHBlZCBhIHN0YXRlbHkgcmF2ZW4gb2YgdGhlIHNhaW50bHkgZGF5cyBvZiB5b3JlLiIgKwogICAgICAgICJOb3QgdGhlIGxlYXN0IG9iZWlzYW5jZSBtYWRlIGhlOyBub3QgYSBtaW51dGUgc3RvcHBlZCBvciBzdGF5ZWQgaGU7IiArCiAgICAgICAgIkJ1dCwgd2l0aCBtaWVuIG9mIGxvcmQgb3IgbGFkeSwgcGVyY2hlZCBhYm92ZSBteSBjaGFtYmVyIGRvb3IgLSIgKwogICAgICAgICJQZXJjaGVkIHVwb24gYSBidXN0IG9mIFBhbGxhcyBqdXN0IGFib3ZlIG15IGNoYW1iZXIgZG9vciAtIiArCiAgICAgICAgIlBlcmNoZWQsIGFuZCBzYXQsIGFuZCBub3RoaW5nIG1vcmUuIiArCiAgICAgICAgIlxuIiArCiAgICAgICAgIlRoZW4gdGhpcyBlYm9ueSBiaXJkIGJlZ3VpbGluZyBteSBzYWQgZmFuY3kgaW50byBzbWlsaW5nLCIgKwogICAgICAgICJCeSB0aGUgZ3JhdmUgYW5kIHN0ZXJuIGRlY29ydW0gb2YgdGhlIGNvdW50ZW5hbmNlIGl0IHdvcmUsIiArCiAgICAgICAgImBUaG91Z2ggdGh5IGNyZXN0IGJlIHNob3JuIGFuZCBzaGF2ZW4sIHRob3UsJyBJIHNhaWQsIGBhcnQgc3VyZSBubyBjcmF2ZW4uIiArCiAgICAgICAgIkdoYXN0bHkgZ3JpbSBhbmQgYW5jaWVudCByYXZlbiB3YW5kZXJpbmcgZnJvbSB0aGUgbmlnaHRseSBzaG9yZSAtIiArCiAgICAgICAgIlRlbGwgbWUgd2hhdCB0aHkgbG9yZGx5IG5hbWUgaXMgb24gdGhlIE5pZ2h0J3MgUGx1dG9uaWFuIHNob3JlISciICsKICAgICAgICAiUXVvdGggdGhlIHJhdmVuLCBgTmV2ZXJtb3JlLiciICsKICAgICAgICAiLW4iICsKICAgICAgICAiTXVjaCBJIG1hcnZlbGxlZCB0aGlzIHVuZ2Fpbmx5IGZvd2wgdG8gaGVhciBkaXNjb3Vyc2Ugc28gcGxhaW5seSwiICsKICAgICAgICAiVGhvdWdoIGl0cyBhbnN3ZXIgbGl0dGxlIG1lYW5pbmcgLSBsaXR0bGUgcmVsZXZhbmN5IGJvcmU7IiArCiAgICAgICAgIkZvciB3ZSBjYW5ub3QgaGVscCBhZ3JlZWluZyB0aGF0IG5vIGxpdmluZyBodW1hbiBiZWluZyIgKwogICAgICAgICJFdmVyIHlldCB3YXMgYmxlc3NlZCB3aXRoIHNlZWluZyBiaXJkIGFib3ZlIGhpcyBjaGFtYmVyIGRvb3IgLSIgKwogICAgICAgICJCaXJkIG9yIGJlYXN0IGFib3ZlIHRoZSBzY3VscHR1cmVkIGJ1c3QgYWJvdmUgaGlzIGNoYW1iZXIgZG9vciwiICsKICAgICAgICAiV2l0aCBzdWNoIG5hbWUgYXMgYE5ldmVybW9yZS4nIiArCiAgICAgICAgIlxuIiArCiAgICAgICAgIkJ1dCB0aGUgcmF2ZW4sIHNpdHRpbmcgbG9uZWx5IG9uIHRoZSBwbGFjaWQgYnVzdCwgc3Bva2Ugb25seSwiICsKICAgICAgICAiVGhhdCBvbmUgd29yZCwgYXMgaWYgaGlzIHNvdWwgaW4gdGhhdCBvbmUgd29yZCBoZSBkaWQgb3V0cG91ci4iICsKICAgICAgICAiTm90aGluZyBmdXJ0aGVyIHRoZW4gaGUgdXR0ZXJlZCAtIG5vdCBhIGZlYXRoZXIgdGhlbiBoZSBmbHV0dGVyZWQgLSIgKwogICAgICAgICJUaWxsIEkgc2NhcmNlbHkgbW9yZSB0aGFuIG11dHRlcmVkIGBPdGhlciBmcmllbmRzIGhhdmUgZmxvd24gYmVmb3JlIC0iICsKICAgICAgICAiT24gdGhlIG1vcnJvdyBoZSB3aWxsIGxlYXZlIG1lLCBhcyBteSBob3BlcyBoYXZlIGZsb3duIGJlZm9yZS4nIiArCiAgICAgICAgIlRoZW4gdGhlIGJpcmQgc2FpZCwgYE5ldmVybW9yZS4nIiArCiAgICAgICAgIlxuIiArCiAgICAgICAgIlN0YXJ0bGVkIGF0IHRoZSBzdGlsbG5lc3MgYnJva2VuIGJ5IHJlcGx5IHNvIGFwdGx5IHNwb2tlbiwiICsKICAgICAgICAiYERvdWJ0bGVzcywnIHNhaWQgSSwgYHdoYXQgaXQgdXR0ZXJzIGlzIGl0cyBvbmx5IHN0b2NrIGFuZCBzdG9yZSwiICsKICAgICAgICAiQ2F1Z2h0IGZyb20gc29tZSB1bmhhcHB5IG1hc3RlciB3aG9tIHVubWVyY2lmdWwgZGlzYXN0ZXIiICsKICAgICAgICAiRm9sbG93ZWQgZmFzdCBhbmQgZm9sbG93ZWQgZmFzdGVyIHRpbGwgaGlzIHNvbmdzIG9uZSBidXJkZW4gYm9yZSAtIiArCiAgICAgICAgIlRpbGwgdGhlIGRpcmdlcyBvZiBoaXMgaG9wZSB0aGF0IG1lbGFuY2hvbHkgYnVyZGVuIGJvcmUiICsKICAgICAgICAiT2YgXCJOZXZlci1uZXZlcm1vcmUuXCInIiArCiAgICAgICAgIlxuIiArCiAgICAgICAgIkJ1dCB0aGUgcmF2ZW4gc3RpbGwgYmVndWlsaW5nIGFsbCBteSBzYWQgc291bCBpbnRvIHNtaWxpbmcsIiArCiAgICAgICAgIlN0cmFpZ2h0IEkgd2hlZWxlZCBhIGN1c2hpb25lZCBzZWF0IGluIGZyb250IG9mIGJpcmQgYW5kIGJ1c3QgYW5kIGRvb3I7IiArCiAgICAgICAgIlRoZW4sIHVwb24gdGhlIHZlbHZldCBzaW5raW5nLCBJIGJldG9vayBteXNlbGYgdG8gbGlua2luZyIgKwogICAgICAgICJGYW5jeSB1bnRvIGZhbmN5LCB0aGlua2luZyB3aGF0IHRoaXMgb21pbm91cyBiaXJkIG9mIHlvcmUgLSIgKwogICAgICAgICJXaGF0IHRoaXMgZ3JpbSwgdW5nYWlubHksIGdoYXN0bHksIGdhdW50LCBhbmQgb21pbm91cyBiaXJkIG9mIHlvcmUiICsKICAgICAgICAiTWVhbnQgaW4gY3JvYWtpbmcgYE5ldmVybW9yZS4nIiArCiAgICAgICAgIlxuIiArCiAgICAgICAgIlRoaXMgSSBzYXQgZW5nYWdlZCBpbiBndWVzc2luZywgYnV0IG5vIHN5bGxhYmxlIGV4cHJlc3NpbmciICsKICAgICAgICAiVG8gdGhlIGZvd2wgd2hvc2UgZmllcnkgZXllcyBub3cgYnVybmVkIGludG8gbXkgYm9zb20ncyBjb3JlOyIgKwogICAgICAgICJUaGlzIGFuZCBtb3JlIEkgc2F0IGRpdmluaW5nLCB3aXRoIG15IGhlYWQgYXQgZWFzZSByZWNsaW5pbmciICsKICAgICAgICAiT24gdGhlIGN1c2hpb24ncyB2ZWx2ZXQgbGluaW5nIHRoYXQgdGhlIGxhbXAtbGlnaHQgZ2xvYXRlZCBvJ2VyLCIgKwogICAgICAgICJCdXQgd2hvc2UgdmVsdmV0IHZpb2xldCBsaW5pbmcgd2l0aCB0aGUgbGFtcC1saWdodCBnbG9hdGluZyBvJ2VyLCIgKwogICAgICAgICJTaGUgc2hhbGwgcHJlc3MsIGFoLCBuZXZlcm1vcmUhIiArCiAgICAgICAgIlxuIiArCiAgICAgICAgIlRoZW4sIG1ldGhvdWdodCwgdGhlIGFpciBncmV3IGRlbnNlciwgcGVyZnVtZWQgZnJvbSBhbiB1bnNlZW4gY2Vuc2VyIiArCiAgICAgICAgIlN3dW5nIGJ5IFNlcmFwaGltIHdob3NlIGZvb3QtZmFsbHMgdGlua2xlZCBvbiB0aGUgdHVmdGVkIGZsb29yLiIgKwogICAgICAgICJgV3JldGNoLCcgSSBjcmllZCwgYHRoeSBHb2QgaGF0aCBsZW50IHRoZWUgLSBieSB0aGVzZSBhbmdlbHMgaGUgaGFzIHNlbnQgdGhlZSIgKwogICAgICAgICJSZXNwaXRlIC0gcmVzcGl0ZSBhbmQgbmVwZW50aGUgZnJvbSB0aHkgbWVtb3JpZXMgb2YgTGVub3JlISIgKwogICAgICAgICJRdWFmZiwgb2ggcXVhZmYgdGhpcyBraW5kIG5lcGVudGhlLCBhbmQgZm9yZ2V0IHRoaXMgbG9zdCBMZW5vcmUhJyIgKwogICAgICAgICJRdW90aCB0aGUgcmF2ZW4sIGBOZXZlcm1vcmUuJyIgKwogICAgICAgICJcbiIgKwogICAgICAgICJgUHJvcGhldCEnIHNhaWQgSSwgYHRoaW5nIG9mIGV2aWwhIC0gcHJvcGhldCBzdGlsbCwgaWYgYmlyZCBvciBkZXZpbCEgLSIgKwogICAgICAgICJXaGV0aGVyIHRlbXB0ZXIgc2VudCwgb3Igd2hldGhlciB0ZW1wZXN0IHRvc3NlZCB0aGVlIGhlcmUgYXNob3JlLCIgKwogICAgICAgICJEZXNvbGF0ZSB5ZXQgYWxsIHVuZGF1bnRlZCwgb24gdGhpcyBkZXNlcnQgbGFuZCBlbmNoYW50ZWQgLSIgKwogICAgICAgICJPbiB0aGlzIGhvbWUgYnkgaG9ycm9yIGhhdW50ZWQgLSB0ZWxsIG1lIHRydWx5LCBJIGltcGxvcmUgLSIgKwogICAgICAgICJJcyB0aGVyZSAtIGlzIHRoZXJlIGJhbG0gaW4gR2lsZWFkPyAtIHRlbGwgbWUgLSB0ZWxsIG1lLCBJIGltcGxvcmUhJyIgKwogICAgICAgICJRdW90aCB0aGUgcmF2ZW4sIGBOZXZlcm1vcmUuJyIgKwogICAgICAgICJcbiIgKwogICAgICAgICJgUHJvcGhldCEnIHNhaWQgSSwgYHRoaW5nIG9mIGV2aWwhIC0gcHJvcGhldCBzdGlsbCwgaWYgYmlyZCBvciBkZXZpbCEiICsKICAgICAgICAiQnkgdGhhdCBIZWF2ZW4gdGhhdCBiZW5kcyBhYm92ZSB1cyAtIGJ5IHRoYXQgR29kIHdlIGJvdGggYWRvcmUgLSIgKwogICAgICAgICJUZWxsIHRoaXMgc291bCB3aXRoIHNvcnJvdyBsYWRlbiBpZiwgd2l0aGluIHRoZSBkaXN0YW50IEFpZGVubiwiICsKICAgICAgICAiSXQgc2hhbGwgY2xhc3AgYSBzYWludGVkIG1haWRlbiB3aG9tIHRoZSBhbmdlbHMgbmFtZWQgTGVub3JlIC0iICsKICAgICAgICAiQ2xhc3AgYSByYXJlIGFuZCByYWRpYW50IG1haWRlbiwgd2hvbSB0aGUgYW5nZWxzIG5hbWVkIExlbm9yZT8nIiArCiAgICAgICAgIlF1b3RoIHRoZSByYXZlbiwgYE5ldmVybW9yZS4nIiArCiAgICAgICAgIlxuIiArCiAgICAgICAgImBCZSB0aGF0IHdvcmQgb3VyIHNpZ24gb2YgcGFydGluZywgYmlyZCBvciBmaWVuZCEnIEkgc2hyaWVrZWQgdXBzdGFydGluZyAtIiArCiAgICAgICAgImBHZXQgdGhlZSBiYWNrIGludG8gdGhlIHRlbXBlc3QgYW5kIHRoZSBOaWdodCdzIFBsdXRvbmlhbiBzaG9yZSEiICsKICAgICAgICAiTGVhdmUgbm8gYmxhY2sgcGx1bWUgYXMgYSB0b2tlbiBvZiB0aGF0IGxpZSB0aHkgc291bCBoYXRoIHNwb2tlbiEiICsKICAgICAgICAiTGVhdmUgbXkgbG9uZWxpbmVzcyB1bmJyb2tlbiEgLSBxdWl0IHRoZSBidXN0IGFib3ZlIG15IGRvb3IhIiArCiAgICAgICAgIlRha2UgdGh5IGJlYWsgZnJvbSBvdXQgbXkgaGVhcnQsIGFuZCB0YWtlIHRoeSBmb3JtIGZyb20gb2ZmIG15IGRvb3IhJyIgKwogICAgICAgICJRdW90aCB0aGUgcmF2ZW4sIGBOZXZlcm1vcmUuJyIgKwogICAgICAgICJcbiIgKwogICAgICAgICJBbmQgdGhlIHJhdmVuLCBuZXZlciBmbGl0dGluZywgc3RpbGwgaXMgc2l0dGluZywgc3RpbGwgaXMgc2l0dGluZyIgKwogICAgICAgICJPbiB0aGUgcGFsbGlkIGJ1c3Qgb2YgUGFsbGFzIGp1c3QgYWJvdmUgbXkgY2hhbWJlciBkb29yOyIgKwogICAgICAgICJBbmQgaGlzIGV5ZXMgaGF2ZSBhbGwgdGhlIHNlZW1pbmcgb2YgYSBkZW1vbidzIHRoYXQgaXMgZHJlYW1pbmcsIiArCiAgICAgICAgIkFuZCB0aGUgbGFtcC1saWdodCBvJ2VyIGhpbSBzdHJlYW1pbmcgdGhyb3dzIGhpcyBzaGFkb3cgb24gdGhlIGZsb29yOyIgKwogICAgICAgICJBbmQgbXkgc291bCBmcm9tIG91dCB0aGF0IHNoYWRvdyB0aGF0IGxpZXMgZmxvYXRpbmcgb24gdGhlIGZsb29yIiArCiAgICAgICAgIlNoYWxsIGJlIGxpZnRlZCAtIG5ldmVybW9yZSEiCgpBTExfVEhFX0hPUEVMRVNTX01PUkU9MTg7ICAgICAgIAogICAgICAgCl9fcmUgPSAvKFtObl0/ZXZlcnwoW05uXW90aGluZ1xzezEsfSkpbW9yZS9nOwpfX21hdGNoZWQ9MDsKCmRvewogICAgX19leGVjdXRlZCA9IF9fcmUuZXhlYyhfX3RoZV9fcmF2ZW4pOwogICAgaWYgKF9fZXhlY3V0ZWQgIT09IG51bGwpIHsKICAgIAlfX21hdGNoZWQrKzsKICAgIH0gZWxzZSB7CiAgICAJYnJlYWs7CiAgICB9Cn13aGlsZSgxKTsKCi8vQ0hFQ0sjMQppZiAoX19tYXRjaGVkICE9PSBBTExfVEhFX0hPUEVMRVNTX01PUkUpIHsKCSRFUlJPUignIzE6IF9fcmUgPSAvKFtObl0/ZXZlcnwoW05uXW90aGluZ1xcc3sxLH0pKW1vcmUvZzsgX19leGVjdXRlZCA9IF9fcmUuZXhlYyhfX3RoZV9fcmF2ZW4pJytfX21hdGNoZWQpOwp9CgoK","commentary":"RegExp.prototype.exec behavior depends on global property.\nIf global is true and lastIndex not changed manually,\nnext exec calling start to match from position where current match finished","description":"RegExp is /([Nn]?ever|([Nn]othing\\s{1,}))more/g and tested string is very long string","path":"TestCases/ch15/15.10/15.10.6/15.10.6.2/S15.10.6.2_A3_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBSZWdFeHAucHJvdG90eXBlLmV4ZWMgYmVoYXZpb3IgZGVwZW5kcyBvbiBnbG9iYWwgcHJvcGVydHkuCiAqIElmIGdsb2JhbCBpcyB0cnVlIGFuZCBsYXN0SW5kZXggbm90IGNoYW5nZWQgbWFudWFsbHksCiAqIG5leHQgZXhlYyBjYWxsaW5nIHN0YXJ0IHRvIG1hdGNoIGZyb20gcG9zaXRpb24gd2hlcmUgY3VycmVudCBtYXRjaCBmaW5pc2hlZAogKgogKiBAcGF0aCBjaDE1LzE1LjEwLzE1LjEwLjYvMTUuMTAuNi4yL1MxNS4xMC42LjJfQTNfVDUuanMKICogQGRlc2NyaXB0aW9uIFJlZ0V4cCBpcyAvXGQrL2cgYW5kIHRlc3RlZCBzdHJpbmcgaXMgIjEyMyA0NTYgNzg5IgogKi8KCl9fcmUgPSAvXGQrL2c7CgpfX21hdGNoZWQgPSBbXTsKCl9fZXhwZWN0ZWQgPSBbIjEyMyIsIjQ1NiIsIjc4OSJdOwoKZG97CiAgICBfX2V4ZWN1dGVkID0gX19yZS5leGVjKCIxMjMgNDU2IDc4OSIpOwogICAgaWYgKF9fZXhlY3V0ZWQgIT09IG51bGwpIHsKICAgIAlfX21hdGNoZWQucHVzaChfX2V4ZWN1dGVkWzBdKTsKICAgIH0gZWxzZSB7CiAgICAJYnJlYWs7CiAgICB9Cn13aGlsZSh0cnVlKTsKCi8vQ0hFQ0sjMQppZiAoX19leHBlY3RlZC5sZW5ndGggIT09IF9fbWF0Y2hlZC5sZW5ndGgpIHsKICAkRVJST1IoJyMxOiBfX2V4ZWN1dGVkID0gL1xcZCsvZy5leGVjKCIxMjMgNDU2IDc4OSIpOyBfX21hdGNoZWQubGVuZ3RoID09PSAnICsgKF9fZXhwZWN0ZWQubGVuZ3RoKSArICcuQWN0dWFsOiAnICsgKF9fbWF0Y2hlZC5sZW5ndGgpKTsKfQoKLy9DSEVDSyMyCmZvcih2YXIgaW5kZXg9MDsgaW5kZXg8X19leHBlY3RlZC5sZW5ndGg7IGluZGV4KyspIHsKICBpZiAoX19leHBlY3RlZFtpbmRleF0gIT09IF9fbWF0Y2hlZFtpbmRleF0pIHsKICAgICRFUlJPUignIzI6IF9fZXhlY3V0ZWQgPSAvXFxkKy9nLmV4ZWMoIjEyMyA0NTYgNzg5Iik7IF9fbWF0Y2hlZFsnICsgaW5kZXggKyAnXSA9PT0gJyArIF9fZXhwZWN0ZWRbaW5kZXhdICsgJy4gQWN0dWFsOiAnICsgX19tYXRjaGVkW2luZGV4XSk7CiAgfQp9CgoK","commentary":"RegExp.prototype.exec behavior depends on global property.\nIf global is true and lastIndex not changed manually,\nnext exec calling start to match from position where current match finished","description":"RegExp is /\\d+/g and tested string is \"123 456 789\"","path":"TestCases/ch15/15.10/15.10.6/15.10.6.2/S15.10.6.2_A3_T5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBSZWdFeHAucHJvdG90eXBlLmV4ZWMgYmVoYXZpb3IgZGVwZW5kcyBvbiBnbG9iYWwgcHJvcGVydHkuCiAqIElmIGdsb2JhbCBpcyB0cnVlIGFuZCBsYXN0SW5kZXggbm90IGNoYW5nZWQgbWFudWFsbHksCiAqIG5leHQgZXhlYyBjYWxsaW5nIHN0YXJ0IHRvIG1hdGNoIGZyb20gcG9zaXRpb24gd2hlcmUgY3VycmVudCBtYXRjaCBmaW5pc2hlZAogKgogKiBAcGF0aCBjaDE1LzE1LjEwLzE1LjEwLjYvMTUuMTAuNi4yL1MxNS4xMC42LjJfQTNfVDYuanMKICogQGRlc2NyaXB0aW9uIFJlZ0V4cCBpcyAvKFxkKykvZyBhbmQgdGVzdGVkIHN0cmluZyBpcyAiMTIzIDQ1NiA3ODkiCiAqLwoKX19yZSA9IC8oXGQrKS9nOwoKX19tYXRjaGVkID0gW107CgpfX2V4cGVjdGVkID0gWyIxMjMiLCI0NTYiLCI3ODkiXTsKCmRvewogICAgX19leGVjdXRlZCA9IF9fcmUuZXhlYygiMTIzIDQ1NiA3ODkiKTsKICAgIGlmIChfX2V4ZWN1dGVkICE9PSBudWxsKSB7CiAgICAJX19tYXRjaGVkLnB1c2goX19leGVjdXRlZFswXSk7CiAgICB9IGVsc2UgewogICAgCWJyZWFrOwogICAgfQp9d2hpbGUodHJ1ZSk7CgovL0NIRUNLIzEKaWYgKF9fZXhwZWN0ZWQubGVuZ3RoICE9PSBfX21hdGNoZWQubGVuZ3RoKSB7CiAgJEVSUk9SKCcjMTogX19leGVjdXRlZCA9IC8oXFxkKykvZy5leGVjKCIxMjMgNDU2IDc4OSIpOyBfX21hdGNoZWQubGVuZ3RoID09PSAnICsgKF9fZXhwZWN0ZWQubGVuZ3RoKSArICcuQWN0dWFsOiAnICsgKF9fbWF0Y2hlZC5sZW5ndGgpKTsKfQoKLy9DSEVDSyMyCmZvcih2YXIgaW5kZXg9MDsgaW5kZXg8X19leHBlY3RlZC5sZW5ndGg7IGluZGV4KyspIHsKICBpZiAoX19leHBlY3RlZFtpbmRleF0gIT09IF9fbWF0Y2hlZFtpbmRleF0pIHsKICAgICRFUlJPUignIzI6IF9fZXhlY3V0ZWQgPSAvKFxcZCspL2cuZXhlYygiMTIzIDQ1NiA3ODkiKTsgX19tYXRjaGVkWycgKyBpbmRleCArICddID09PSAnICsgX19leHBlY3RlZFtpbmRleF0gKyAnLiBBY3R1YWw6ICcgKyBfX21hdGNoZWRbaW5kZXhdKTsKICB9Cn0KCgo=","commentary":"RegExp.prototype.exec behavior depends on global property.\nIf global is true and lastIndex not changed manually,\nnext exec calling start to match from position where current match finished","description":"RegExp is /(\\d+)/g and tested string is \"123 456 789\"","path":"TestCases/ch15/15.10/15.10.6/15.10.6.2/S15.10.6.2_A3_T6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBSZWdFeHAucHJvdG90eXBlLmV4ZWMgYmVoYXZpb3IgZGVwZW5kcyBvbiBnbG9iYWwgcHJvcGVydHkuCiAqIElmIGdsb2JhbCBpcyB0cnVlIGFuZCBsYXN0SW5kZXggbm90IGNoYW5nZWQgbWFudWFsbHksCiAqIG5leHQgZXhlYyBjYWxsaW5nIHN0YXJ0IHRvIG1hdGNoIGZyb20gcG9zaXRpb24gd2hlcmUgY3VycmVudCBtYXRjaCBmaW5pc2hlZAogKgogKiBAcGF0aCBjaDE1LzE1LjEwLzE1LjEwLjYvMTUuMTAuNi4yL1MxNS4xMC42LjJfQTNfVDcuanMKICogQGRlc2NyaXB0aW9uIFJlZ0V4cCBpcyAvXGQrLyBhbmQgdGVzdGVkIHN0cmluZyBpcyAiMTIzIDQ1NiA3ODkiCiAqLwoKX19yZSA9IC9cZCsvOwoKX19tYXRjaGVkID0gW107CgpfX2V4cGVjdGVkID0gWyIxMjMiLCIxMjMiLCIxMjMiLCIxMjMiLCIxMjMiLCIxMjMiLCIxMjMiLCIxMjMiLCIxMjMiLCIxMjMiXTsKCmRvewogICAgX19leGVjdXRlZCA9IF9fcmUuZXhlYygiMTIzIDQ1NiA3ODkiKTsKICAgIGlmIChfX2V4ZWN1dGVkICE9PSBudWxsKSB7CiAgICAJX19tYXRjaGVkLnB1c2goX19leGVjdXRlZFswXSk7CiAgICB9IGVsc2UgewogICAgCWJyZWFrOwogICAgfQp9d2hpbGUoX19tYXRjaGVkLmxlbmd0aDwxMCk7CgovL0NIRUNLIzEKaWYgKF9fZXhwZWN0ZWQubGVuZ3RoICE9PSBfX21hdGNoZWQubGVuZ3RoKSB7CiAgJEVSUk9SKCcjMTogX19leGVjdXRlZCA9IC9cXGQrLy5leGVjKCIxMjMgNDU2IDc4OSIpOyBfX21hdGNoZWQubGVuZ3RoID09PSAnICsgKF9fZXhwZWN0ZWQubGVuZ3RoKSArICcuQWN0dWFsOiAnICsgKF9fbWF0Y2hlZC5sZW5ndGgpKTsKfQoKLy9DSEVDSyMyCmZvcih2YXIgaW5kZXg9MDsgaW5kZXg8X19leHBlY3RlZC5sZW5ndGg7IGluZGV4KyspIHsKICBpZiAoX19leHBlY3RlZFtpbmRleF0gIT09IF9fbWF0Y2hlZFtpbmRleF0pIHsKICAgICRFUlJPUignIzI6IF9fZXhlY3V0ZWQgPSAvXFxkKy8uZXhlYygiMTIzIDQ1NiA3ODkiKTsgX19tYXRjaGVkWycgKyBpbmRleCArICddID09PSAnICsgX19leHBlY3RlZFtpbmRleF0gKyAnLiBBY3R1YWw6ICcgKyBfX21hdGNoZWRbaW5kZXhdKTsKICB9Cn0KCgo=","commentary":"RegExp.prototype.exec behavior depends on global property.\nIf global is true and lastIndex not changed manually,\nnext exec calling start to match from position where current match finished","description":"RegExp is /\\d+/ and tested string is \"123 456 789\"","path":"TestCases/ch15/15.10/15.10.6/15.10.6.2/S15.10.6.2_A3_T7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBSZWdFeHAucHJvdG90eXBlLmV4ZWMgYmVoYXZpb3IgZGVwZW5kcyBvbiBnbG9iYWwgcHJvcGVydHkuCiAqIElmIGdsb2JhbCBpcyB0cnVlIG5leHQgZXhlYyBjYWxsaW5nIHN0YXJ0IHRvIG1hdGNoIGZyb20gbGFzdEluZGV4IHBvc2l0aW9uCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuNi8xNS4xMC42LjIvUzE1LjEwLjYuMl9BNF9UMS5qcwogKiBAZGVzY3JpcHRpb24gQ2FsbCBmaXJzdCBleGVjLCB0aGVuIHNldCByZS5sYXN0SW5kZXggPSAxMiBhbmQgYWdhaW4gY2FsbCBleGVjCiAqLwoKX19yZSA9IC8oPzphYnxjZClcZD8vZzsKCl9fZXhlY3V0ZWQgPSBfX3JlLmV4ZWMoImFhY2QyMjMzYWIxMm5tNDQ0YWI0MiIpOwoKX19leHBlY3RlZCA9IFsiY2QyIl07Cl9fZXhwZWN0ZWQuaW5kZXggPSAyOwpfX2V4cGVjdGVkLmlucHV0ID0gImFhY2QyMjMzYWIxMm5tNDQ0YWI0MiI7CgovL0NIRUNLIzEKaWYgKF9fZXhlY3V0ZWQubGVuZ3RoICE9PSBfX2V4cGVjdGVkLmxlbmd0aCkgewoJJEVSUk9SKCcjMTogX19yZSA9IC8oPzphYnxjZClcXGQ/L2c7IF9fZXhlY3V0ZWQgPSBfX3JlLmV4ZWMoImFhY2QyMjMzYWIxMm5tNDQ0YWI0MiIpOyBfX2V4ZWN1dGVkLmxlbmd0aCA9PT0gJyArIF9fZXhwZWN0ZWQubGVuZ3RoICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5sZW5ndGgpOwp9CgovL0NIRUNLIzIKaWYgKF9fZXhlY3V0ZWQuaW5kZXggIT09IF9fZXhwZWN0ZWQuaW5kZXgpIHsKCSRFUlJPUignIzI6IF9fcmUgPSAvKD86YWJ8Y2QpXFxkPy9nOyBfX2V4ZWN1dGVkID0gX19yZS5leGVjKCJhYWNkMjIzM2FiMTJubTQ0NGFiNDIiKTsgX19leGVjdXRlZC5pbmRleCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5kZXggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmluZGV4KTsKfQoKLy9DSEVDSyMzCmlmIChfX2V4ZWN1dGVkLmlucHV0ICE9PSBfX2V4cGVjdGVkLmlucHV0KSB7CgkkRVJST1IoJyMzOiBfX3JlID0gLyg/OmFifGNkKVxcZD8vZzsgX19leGVjdXRlZCA9IF9fcmUuZXhlYygiYWFjZDIyMzNhYjEybm00NDRhYjQyIik7IF9fZXhlY3V0ZWQuaW5wdXQgPT09ICcgKyBfX2V4cGVjdGVkLmlucHV0ICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5pbnB1dCk7Cn0KCi8vQ0hFQ0sjNApmb3IodmFyIGluZGV4PTA7IGluZGV4PF9fZXhwZWN0ZWQubGVuZ3RoOyBpbmRleCsrKSB7CglpZiAoX19leGVjdXRlZFtpbmRleF0gIT09IF9fZXhwZWN0ZWRbaW5kZXhdKSB7CgkJJEVSUk9SKCcjNDogX19yZSA9IC8oPzphYnxjZClcXGQ/L2c7IF9fZXhlY3V0ZWQgPSBfX3JlLmV4ZWMoImFhY2QyMjMzYWIxMm5tNDQ0YWI0MiIpOyBfX2V4ZWN1dGVkWycgKyBpbmRleCArICddID09PSAnICsgX19leHBlY3RlZFtpbmRleF0gKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkW2luZGV4XSk7Cgl9Cn0KCl9fcmUubGFzdEluZGV4ID0gMTI7CgpfX2V4ZWN1dGVkID0gX19yZS5leGVjKCJhYWNkMjIzM2FiMTJubTQ0NGFiNDIiKTsKCl9fZXhwZWN0ZWQgPSBbImFiNCJdOwpfX2V4cGVjdGVkLmluZGV4ID0gMTc7Cl9fZXhwZWN0ZWQuaW5wdXQgPSAiYWFjZDIyMzNhYjEybm00NDRhYjQyIjsKCi8vQ0hFQ0sjNQppZiAoX19leGVjdXRlZC5sZW5ndGggIT09IF9fZXhwZWN0ZWQubGVuZ3RoKSB7CgkkRVJST1IoJyM1OiBfX3JlID0gLyg/OmFifGNkKVxcZD8vZzsgX19yZS5sYXN0SW5kZXggPSAxMjsgX19leGVjdXRlZCA9IF9fcmUuZXhlYygiYWFjZDIyMzNhYjEybm00NDRhYjQyIik7IF9fZXhlY3V0ZWQubGVuZ3RoID09PSAnICsgX19leHBlY3RlZC5sZW5ndGggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmxlbmd0aCk7Cn0KCi8vQ0hFQ0sjNgppZiAoX19leGVjdXRlZC5pbmRleCAhPT0gX19leHBlY3RlZC5pbmRleCkgewoJJEVSUk9SKCcjNjogX19yZSA9IC8oPzphYnxjZClcXGQ/L2c7IF9fcmUubGFzdEluZGV4ID0gMTI7IF9fZXhlY3V0ZWQgPSBfX3JlLmV4ZWMoImFhY2QyMjMzYWIxMm5tNDQ0YWI0MiIpOyBfX2V4ZWN1dGVkLmluZGV4ID09PSAnICsgX19leHBlY3RlZC5pbmRleCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5kZXgpOwp9CgovL0NIRUNLIzcKaWYgKF9fZXhlY3V0ZWQuaW5wdXQgIT09IF9fZXhwZWN0ZWQuaW5wdXQpIHsKCSRFUlJPUignIzc6IF9fcmUgPSAvKD86YWJ8Y2QpXFxkPy9nOyBfX3JlLmxhc3RJbmRleCA9IDEyOyBfX2V4ZWN1dGVkID0gX19yZS5leGVjKCJhYWNkMjIzM2FiMTJubTQ0NGFiNDIiKTsgX19leGVjdXRlZC5pbnB1dCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5wdXQgKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmlucHV0KTsKfQoKLy9DSEVDSyM4CmZvcih2YXIgaW5kZXg9MDsgaW5kZXg8X19leHBlY3RlZC5sZW5ndGg7IGluZGV4KyspIHsKCWlmIChfX2V4ZWN1dGVkW2luZGV4XSAhPT0gX19leHBlY3RlZFtpbmRleF0pIHsKCQkkRVJST1IoJyM4OiBfX3JlID0gLyg/OmFifGNkKVxcZD8vZzsgX19yZS5sYXN0SW5kZXggPSAxMjsgX19leGVjdXRlZCA9IF9fcmUuZXhlYygiYWFjZDIyMzNhYjEybm00NDRhYjQyIik7IF9fZXhlY3V0ZWRbJyArIGluZGV4ICsgJ10gPT09ICcgKyBfX2V4cGVjdGVkW2luZGV4XSArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWRbaW5kZXhdKTsKCX0KfQoKCg==","commentary":"RegExp.prototype.exec behavior depends on global property.\nIf global is true next exec calling start to match from lastIndex position","description":"Call first exec, then set re.lastIndex = 12 and again call exec","path":"TestCases/ch15/15.10/15.10.6/15.10.6.2/S15.10.6.2_A4_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBSZWdFeHAucHJvdG90eXBlLmV4ZWMgYmVoYXZpb3IgZGVwZW5kcyBvbiBnbG9iYWwgcHJvcGVydHkuCiAqIElmIGdsb2JhbCBpcyB0cnVlIG5leHQgZXhlYyBjYWxsaW5nIHN0YXJ0IHRvIG1hdGNoIGZyb20gbGFzdEluZGV4IHBvc2l0aW9uCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuNi8xNS4xMC42LjIvUzE1LjEwLjYuMl9BNF9UMTAuanMKICogQGRlc2NyaXB0aW9uIENhbGwgZmlyc3QgZXhlYywgdGhlbiBzZXQgcmUubGFzdEluZGV4ID0ge3ZhbHVlT2Y6ZnVuY3Rpb24oKXtyZXR1cm4gMTI7fX0gYW5kIGFnYWluIGNhbGwgZXhlYwogKi8KCl9fcmUgPSAvKD86YWJ8Y2QpXGQ/L2c7CgpfX2V4ZWN1dGVkID0gX19yZS5leGVjKCJhYWNkMjIzM2FiMTJubTQ0NGFiNDIiKTsKCl9fZXhwZWN0ZWQgPSBbImNkMiJdOwpfX2V4cGVjdGVkLmluZGV4ID0gMjsKX19leHBlY3RlZC5pbnB1dCA9ICJhYWNkMjIzM2FiMTJubTQ0NGFiNDIiOwoKLy9DSEVDSyMxCmlmIChfX2V4ZWN1dGVkLmxlbmd0aCAhPT0gX19leHBlY3RlZC5sZW5ndGgpIHsKCSRFUlJPUignIzE6IF9fcmUgPSAvKD86YWJ8Y2QpXFxkPy9nOyBfX2V4ZWN1dGVkID0gX19yZS5leGVjKCJhYWNkMjIzM2FiMTJubTQ0NGFiNDIiKTsgX19leGVjdXRlZC5sZW5ndGggPT09ICcgKyBfX2V4cGVjdGVkLmxlbmd0aCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQubGVuZ3RoKTsKfQoKLy9DSEVDSyMyCmlmIChfX2V4ZWN1dGVkLmluZGV4ICE9PSBfX2V4cGVjdGVkLmluZGV4KSB7CgkkRVJST1IoJyMyOiBfX3JlID0gLyg/OmFifGNkKVxcZD8vZzsgX19leGVjdXRlZCA9IF9fcmUuZXhlYygiYWFjZDIyMzNhYjEybm00NDRhYjQyIik7IF9fZXhlY3V0ZWQuaW5kZXggPT09ICcgKyBfX2V4cGVjdGVkLmluZGV4ICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5pbmRleCk7Cn0KCi8vQ0hFQ0sjMwppZiAoX19leGVjdXRlZC5pbnB1dCAhPT0gX19leHBlY3RlZC5pbnB1dCkgewoJJEVSUk9SKCcjMzogX19yZSA9IC8oPzphYnxjZClcXGQ/L2c7IF9fZXhlY3V0ZWQgPSBfX3JlLmV4ZWMoImFhY2QyMjMzYWIxMm5tNDQ0YWI0MiIpOyBfX2V4ZWN1dGVkLmlucHV0ID09PSAnICsgX19leHBlY3RlZC5pbnB1dCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5wdXQpOwp9CgovL0NIRUNLIzQKZm9yKHZhciBpbmRleD0wOyBpbmRleDxfX2V4cGVjdGVkLmxlbmd0aDsgaW5kZXgrKykgewoJaWYgKF9fZXhlY3V0ZWRbaW5kZXhdICE9PSBfX2V4cGVjdGVkW2luZGV4XSkgewoJCSRFUlJPUignIzQ6IF9fcmUgPSAvKD86YWJ8Y2QpXFxkPy9nOyBfX2V4ZWN1dGVkID0gX19yZS5leGVjKCJhYWNkMjIzM2FiMTJubTQ0NGFiNDIiKTsgX19leGVjdXRlZFsnICsgaW5kZXggKyAnXSA9PT0gJyArIF9fZXhwZWN0ZWRbaW5kZXhdICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZFtpbmRleF0pOwoJfQp9CgpfX29iaiA9IHt2YWx1ZU9mOmZ1bmN0aW9uKCl7cmV0dXJuIDEyO319OwoKX19yZS5sYXN0SW5kZXggPSBfX29iajsKCl9fZXhlY3V0ZWQgPSBfX3JlLmV4ZWMoImFhY2QyMjMzYWIxMm5tNDQ0YWI0MiIpOwoKX19leHBlY3RlZCA9IFsiYWI0Il07Cl9fZXhwZWN0ZWQuaW5kZXggPSAxNzsKX19leHBlY3RlZC5pbnB1dCA9ICJhYWNkMjIzM2FiMTJubTQ0NGFiNDIiOwoKLy9DSEVDSyM1CmlmIChfX2V4ZWN1dGVkLmxlbmd0aCAhPT0gX19leHBlY3RlZC5sZW5ndGgpIHsKCSRFUlJPUignIzU6IF9fcmUgPSAvKD86YWJ8Y2QpXFxkPy9nOyBfX29iaiA9IHt2YWx1ZU9mOmZ1bmN0aW9uKCl7cmV0dXJuIDEyO319OyBfX3JlLmxhc3RJbmRleCA9IF9fb2JqOyBfX2V4ZWN1dGVkID0gX19yZS5leGVjKCJhYWNkMjIzM2FiMTJubTQ0NGFiNDIiKTsgX19leGVjdXRlZC5sZW5ndGggPT09ICcgKyBfX2V4cGVjdGVkLmxlbmd0aCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQubGVuZ3RoKTsKfQoKLy9DSEVDSyM2CmlmIChfX2V4ZWN1dGVkLmluZGV4ICE9PSBfX2V4cGVjdGVkLmluZGV4KSB7CgkkRVJST1IoJyM2OiBfX3JlID0gLyg/OmFifGNkKVxcZD8vZzsgX19vYmogPSB7dmFsdWVPZjpmdW5jdGlvbigpe3JldHVybiAxMjt9fTsgX19yZS5sYXN0SW5kZXggPSBfX29iajsgX19leGVjdXRlZCA9IF9fcmUuZXhlYygiYWFjZDIyMzNhYjEybm00NDRhYjQyIik7IF9fZXhlY3V0ZWQuaW5kZXggPT09ICcgKyBfX2V4cGVjdGVkLmluZGV4ICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5pbmRleCk7Cn0KCi8vQ0hFQ0sjNwppZiAoX19leGVjdXRlZC5pbnB1dCAhPT0gX19leHBlY3RlZC5pbnB1dCkgewoJJEVSUk9SKCcjNzogX19yZSA9IC8oPzphYnxjZClcXGQ/L2c7IF9fb2JqID0ge3ZhbHVlT2Y6ZnVuY3Rpb24oKXtyZXR1cm4gMTI7fX07IF9fcmUubGFzdEluZGV4ID0gX19vYmo7IF9fZXhlY3V0ZWQgPSBfX3JlLmV4ZWMoImFhY2QyMjMzYWIxMm5tNDQ0YWI0MiIpOyBfX2V4ZWN1dGVkLmlucHV0ID09PSAnICsgX19leHBlY3RlZC5pbnB1dCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5wdXQpOwp9CgovL0NIRUNLIzgKZm9yKHZhciBpbmRleD0wOyBpbmRleDxfX2V4cGVjdGVkLmxlbmd0aDsgaW5kZXgrKykgewoJaWYgKF9fZXhlY3V0ZWRbaW5kZXhdICE9PSBfX2V4cGVjdGVkW2luZGV4XSkgewoJCSRFUlJPUignIzg6IF9fcmUgPSAvKD86YWJ8Y2QpXFxkPy9nOyBfX29iaiA9IHt2YWx1ZU9mOmZ1bmN0aW9uKCl7cmV0dXJuIDEyO319OyBfX3JlLmxhc3RJbmRleCA9IF9fb2JqOyBfX2V4ZWN1dGVkID0gX19yZS5leGVjKCJhYWNkMjIzM2FiMTJubTQ0NGFiNDIiKTsgX19leGVjdXRlZFsnICsgaW5kZXggKyAnXSA9PT0gJyArIF9fZXhwZWN0ZWRbaW5kZXhdICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZFtpbmRleF0pOwoJfQp9CgoK","commentary":"RegExp.prototype.exec behavior depends on global property.\nIf global is true next exec calling start to match from lastIndex position","description":"Call first exec, then set re.lastIndex = {valueOf:function(){return 12;}} and again call exec","path":"TestCases/ch15/15.10/15.10.6/15.10.6.2/S15.10.6.2_A4_T10.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBSZWdFeHAucHJvdG90eXBlLmV4ZWMgYmVoYXZpb3IgZGVwZW5kcyBvbiBnbG9iYWwgcHJvcGVydHkuCiAqIElmIGdsb2JhbCBpcyB0cnVlIG5leHQgZXhlYyBjYWxsaW5nIHN0YXJ0IHRvIG1hdGNoIGZyb20gbGFzdEluZGV4IHBvc2l0aW9uCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuNi8xNS4xMC42LjIvUzE1LjEwLjYuMl9BNF9UMTEuanMKICogQGRlc2NyaXB0aW9uIENhbGwgZmlyc3QgZXhlYywgdGhlbiBzZXQgcmUubGFzdEluZGV4ID0ge3ZhbHVlT2Y6ZnVuY3Rpb24oKXt0aHJvdyAiaW50b2ludCI7fX0gYW5kIGFnYWluIGNhbGwgZXhlYwogKi8KCl9fcmUgPSAvKD86YWJ8Y2QpXGQ/L2c7CgpfX2V4ZWN1dGVkID0gX19yZS5leGVjKCJhYWNkMjIzM2FiMTJubTQ0NGFiNDIiKTsKCl9fZXhwZWN0ZWQgPSBbImNkMiJdOwpfX2V4cGVjdGVkLmluZGV4ID0gMjsKX19leHBlY3RlZC5pbnB1dCA9ICJhYWNkMjIzM2FiMTJubTQ0NGFiNDIiOwoKLy9DSEVDSyMxCmlmIChfX2V4ZWN1dGVkLmxlbmd0aCAhPT0gX19leHBlY3RlZC5sZW5ndGgpIHsKCSRFUlJPUignIzE6IF9fcmUgPSAvKD86YWJ8Y2QpXFxkPy9nOyBfX2V4ZWN1dGVkID0gX19yZS5leGVjKCJhYWNkMjIzM2FiMTJubTQ0NGFiNDIiKTsgX19leGVjdXRlZC5sZW5ndGggPT09ICcgKyBfX2V4cGVjdGVkLmxlbmd0aCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQubGVuZ3RoKTsKfQoKLy9DSEVDSyMyCmlmIChfX2V4ZWN1dGVkLmluZGV4ICE9PSBfX2V4cGVjdGVkLmluZGV4KSB7CgkkRVJST1IoJyMyOiBfX3JlID0gLyg/OmFifGNkKVxcZD8vZzsgX19leGVjdXRlZCA9IF9fcmUuZXhlYygiYWFjZDIyMzNhYjEybm00NDRhYjQyIik7IF9fZXhlY3V0ZWQuaW5kZXggPT09ICcgKyBfX2V4cGVjdGVkLmluZGV4ICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5pbmRleCk7Cn0KCi8vQ0hFQ0sjMwppZiAoX19leGVjdXRlZC5pbnB1dCAhPT0gX19leHBlY3RlZC5pbnB1dCkgewoJJEVSUk9SKCcjMzogX19yZSA9IC8oPzphYnxjZClcXGQ/L2c7IF9fZXhlY3V0ZWQgPSBfX3JlLmV4ZWMoImFhY2QyMjMzYWIxMm5tNDQ0YWI0MiIpOyBfX2V4ZWN1dGVkLmlucHV0ID09PSAnICsgX19leHBlY3RlZC5pbnB1dCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5wdXQpOwp9CgovL0NIRUNLIzQKZm9yKHZhciBpbmRleD0wOyBpbmRleDxfX2V4cGVjdGVkLmxlbmd0aDsgaW5kZXgrKykgewoJaWYgKF9fZXhlY3V0ZWRbaW5kZXhdICE9PSBfX2V4cGVjdGVkW2luZGV4XSkgewoJCSRFUlJPUignIzQ6IF9fcmUgPSAvKD86YWJ8Y2QpXFxkPy9nOyBfX2V4ZWN1dGVkID0gX19yZS5leGVjKCJhYWNkMjIzM2FiMTJubTQ0NGFiNDIiKTsgX19leGVjdXRlZFsnICsgaW5kZXggKyAnXSA9PT0gJyArIF9fZXhwZWN0ZWRbaW5kZXhdICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZFtpbmRleF0pOwoJfQp9CgpfX29iaiA9IHt2YWx1ZU9mOmZ1bmN0aW9uKCl7dGhyb3cgImludG9pbnQiO319OwoKX19yZS5sYXN0SW5kZXggPSBfX29iajsKCi8vQ0hFQ0sjNQp0cnkgewogICRGQUlMKCcjNS4xOiBfX29iaiA9IHt2YWx1ZU9mOmZ1bmN0aW9uKCl7dGhyb3cgImludG9pbnQiO319OyBfX3JlLmxhc3RJbmRleCA9IF9fb2JqOyBfX2V4ZWN1dGVkID0gX19yZS5leGVjKCJhYWNkMjIzM2FiMTJubTQ0NGFiNDIiKSB0aHJvdyAiaW50b2ludCIuIEFjdHVhbDogJyArIChfX3JlLmV4ZWMoImFhY2QyMjMzYWIxMm5tNDQ0YWI0MiIpKSk7Cn0gY2F0Y2ggKGUpIHsKCWlmIChlICE9PSAiaW50b2ludCIpIHsKCQkkRVJST1IoJyM1LjI6IF9fb2JqID0ge3ZhbHVlT2Y6ZnVuY3Rpb24oKXt0aHJvdyAiaW50b2ludCI7fX07IF9fcmUubGFzdEluZGV4ID0gX19vYmo7IF9fZXhlY3V0ZWQgPSBfX3JlLmV4ZWMoImFhY2QyMjMzYWIxMm5tNDQ0YWI0MiIpICB0aHJvdyAiaW50b2ludCIuIEFjdHVhbDogJyArIChlKSk7Cgl9Cn0KCgo=","commentary":"RegExp.prototype.exec behavior depends on global property.\nIf global is true next exec calling start to match from lastIndex position","description":"Call first exec, then set re.lastIndex = {valueOf:function(){throw \"intoint\";}} and again call exec","path":"TestCases/ch15/15.10/15.10.6/15.10.6.2/S15.10.6.2_A4_T11.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBSZWdFeHAucHJvdG90eXBlLmV4ZWMgYmVoYXZpb3IgZGVwZW5kcyBvbiBnbG9iYWwgcHJvcGVydHkuCiAqIElmIGdsb2JhbCBpcyB0cnVlIG5leHQgZXhlYyBjYWxsaW5nIHN0YXJ0IHRvIG1hdGNoIGZyb20gbGFzdEluZGV4IHBvc2l0aW9uCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuNi8xNS4xMC42LjIvUzE1LjEwLjYuMl9BNF9UMTIuanMKICogQGRlc2NyaXB0aW9uIENhbGwgZmlyc3QgZXhlYywgdGhlbiBzZXQgcmUubGFzdEluZGV4ID0ge3RvU3RyaW5nOmZ1bmN0aW9uKCl7cmV0dXJuIDEyO30sdmFsdWVPZjpmdW5jdGlvbigpe3JldHVybiB7fTt9fSBhbmQgYWdhaW4gY2FsbCBleGVjCiAqLwoKX19yZSA9IC8oPzphYnxjZClcZD8vZzsKCl9fZXhlY3V0ZWQgPSBfX3JlLmV4ZWMoImFhY2QyMjMzYWIxMm5tNDQ0YWI0MiIpOwoKX19leHBlY3RlZCA9IFsiY2QyIl07Cl9fZXhwZWN0ZWQuaW5kZXggPSAyOwpfX2V4cGVjdGVkLmlucHV0ID0gImFhY2QyMjMzYWIxMm5tNDQ0YWI0MiI7CgovL0NIRUNLIzEKaWYgKF9fZXhlY3V0ZWQubGVuZ3RoICE9PSBfX2V4cGVjdGVkLmxlbmd0aCkgewoJJEVSUk9SKCcjMTogX19yZSA9IC8oPzphYnxjZClcXGQ/L2c7IF9fZXhlY3V0ZWQgPSBfX3JlLmV4ZWMoImFhY2QyMjMzYWIxMm5tNDQ0YWI0MiIpOyBfX2V4ZWN1dGVkLmxlbmd0aCA9PT0gJyArIF9fZXhwZWN0ZWQubGVuZ3RoICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5sZW5ndGgpOwp9CgovL0NIRUNLIzIKaWYgKF9fZXhlY3V0ZWQuaW5kZXggIT09IF9fZXhwZWN0ZWQuaW5kZXgpIHsKCSRFUlJPUignIzI6IF9fcmUgPSAvKD86YWJ8Y2QpXFxkPy9nOyBfX2V4ZWN1dGVkID0gX19yZS5leGVjKCJhYWNkMjIzM2FiMTJubTQ0NGFiNDIiKTsgX19leGVjdXRlZC5pbmRleCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5kZXggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmluZGV4KTsKfQoKLy9DSEVDSyMzCmlmIChfX2V4ZWN1dGVkLmlucHV0ICE9PSBfX2V4cGVjdGVkLmlucHV0KSB7CgkkRVJST1IoJyMzOiBfX3JlID0gLyg/OmFifGNkKVxcZD8vZzsgX19leGVjdXRlZCA9IF9fcmUuZXhlYygiYWFjZDIyMzNhYjEybm00NDRhYjQyIik7IF9fZXhlY3V0ZWQuaW5wdXQgPT09ICcgKyBfX2V4cGVjdGVkLmlucHV0ICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5pbnB1dCk7Cn0KCi8vQ0hFQ0sjNApmb3IodmFyIGluZGV4PTA7IGluZGV4PF9fZXhwZWN0ZWQubGVuZ3RoOyBpbmRleCsrKSB7CglpZiAoX19leGVjdXRlZFtpbmRleF0gIT09IF9fZXhwZWN0ZWRbaW5kZXhdKSB7CgkJJEVSUk9SKCcjNDogX19yZSA9IC8oPzphYnxjZClcXGQ/L2c7IF9fZXhlY3V0ZWQgPSBfX3JlLmV4ZWMoImFhY2QyMjMzYWIxMm5tNDQ0YWI0MiIpOyBfX2V4ZWN1dGVkWycgKyBpbmRleCArICddID09PSAnICsgX19leHBlY3RlZFtpbmRleF0gKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkW2luZGV4XSk7Cgl9Cn0KCl9fb2JqID0ge3RvU3RyaW5nOmZ1bmN0aW9uKCl7cmV0dXJuIDEyO30sdmFsdWVPZjpmdW5jdGlvbigpe3JldHVybiB7fTt9fTsKCl9fcmUubGFzdEluZGV4ID0gX19vYmo7CgpfX2V4ZWN1dGVkID0gX19yZS5leGVjKCJhYWNkMjIzM2FiMTJubTQ0NGFiNDIiKTsKCl9fZXhwZWN0ZWQgPSBbImFiNCJdOwpfX2V4cGVjdGVkLmluZGV4ID0gMTc7Cl9fZXhwZWN0ZWQuaW5wdXQgPSAiYWFjZDIyMzNhYjEybm00NDRhYjQyIjsKCi8vQ0hFQ0sjNQppZiAoX19leGVjdXRlZC5sZW5ndGggIT09IF9fZXhwZWN0ZWQubGVuZ3RoKSB7CgkkRVJST1IoJyM1OiBfX3JlID0gLyg/OmFifGNkKVxcZD8vZzsgX19vYmogPSB7dG9TdHJpbmc6ZnVuY3Rpb24oKXtyZXR1cm4gMTI7fSx2YWx1ZU9mOmZ1bmN0aW9uKCl7cmV0dXJuIHt9O319OyBfX3JlLmxhc3RJbmRleCA9IF9fb2JqOyBfX2V4ZWN1dGVkID0gX19yZS5leGVjKCJhYWNkMjIzM2FiMTJubTQ0NGFiNDIiKTsgX19leGVjdXRlZC5sZW5ndGggPT09ICcgKyBfX2V4cGVjdGVkLmxlbmd0aCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQubGVuZ3RoKTsKfQoKLy9DSEVDSyM2CmlmIChfX2V4ZWN1dGVkLmluZGV4ICE9PSBfX2V4cGVjdGVkLmluZGV4KSB7CgkkRVJST1IoJyM2OiBfX3JlID0gLyg/OmFifGNkKVxcZD8vZzsgX19vYmogPSB7dG9TdHJpbmc6ZnVuY3Rpb24oKXtyZXR1cm4gMTI7fSx2YWx1ZU9mOmZ1bmN0aW9uKCl7cmV0dXJuIHt9O319OyBfX3JlLmxhc3RJbmRleCA9IF9fb2JqOyBfX2V4ZWN1dGVkID0gX19yZS5leGVjKCJhYWNkMjIzM2FiMTJubTQ0NGFiNDIiKTsgX19leGVjdXRlZC5pbmRleCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5kZXggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmluZGV4KTsKfQoKLy9DSEVDSyM3CmlmIChfX2V4ZWN1dGVkLmlucHV0ICE9PSBfX2V4cGVjdGVkLmlucHV0KSB7CgkkRVJST1IoJyM3OiBfX3JlID0gLyg/OmFifGNkKVxcZD8vZzsgX19vYmogPSB7dG9TdHJpbmc6ZnVuY3Rpb24oKXtyZXR1cm4gMTI7fSx2YWx1ZU9mOmZ1bmN0aW9uKCl7cmV0dXJuIHt9O319OyBfX3JlLmxhc3RJbmRleCA9IF9fb2JqOyBfX2V4ZWN1dGVkID0gX19yZS5leGVjKCJhYWNkMjIzM2FiMTJubTQ0NGFiNDIiKTsgX19leGVjdXRlZC5pbnB1dCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5wdXQgKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmlucHV0KTsKfQoKLy9DSEVDSyM4CmZvcih2YXIgaW5kZXg9MDsgaW5kZXg8X19leHBlY3RlZC5sZW5ndGg7IGluZGV4KyspIHsKCWlmIChfX2V4ZWN1dGVkW2luZGV4XSAhPT0gX19leHBlY3RlZFtpbmRleF0pIHsKCQkkRVJST1IoJyM4OiBfX3JlID0gLyg/OmFifGNkKVxcZD8vZzsgX19vYmogPSB7dG9TdHJpbmc6ZnVuY3Rpb24oKXtyZXR1cm4gMTI7fSx2YWx1ZU9mOmZ1bmN0aW9uKCl7cmV0dXJuIHt9O319OyBfX3JlLmxhc3RJbmRleCA9IF9fb2JqOyBfX2V4ZWN1dGVkID0gX19yZS5leGVjKCJhYWNkMjIzM2FiMTJubTQ0NGFiNDIiKTsgX19leGVjdXRlZFsnICsgaW5kZXggKyAnXSA9PT0gJyArIF9fZXhwZWN0ZWRbaW5kZXhdICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZFtpbmRleF0pOwoJfQp9CgoK","commentary":"RegExp.prototype.exec behavior depends on global property.\nIf global is true next exec calling start to match from lastIndex position","description":"Call first exec, then set re.lastIndex = {toString:function(){return 12;},valueOf:function(){return {};}} and again call exec","path":"TestCases/ch15/15.10/15.10.6/15.10.6.2/S15.10.6.2_A4_T12.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBSZWdFeHAucHJvdG90eXBlLmV4ZWMgYmVoYXZpb3IgZGVwZW5kcyBvbiBnbG9iYWwgcHJvcGVydHkuCiAqIElmIGdsb2JhbCBpcyB0cnVlIG5leHQgZXhlYyBjYWxsaW5nIHN0YXJ0IHRvIG1hdGNoIGZyb20gbGFzdEluZGV4IHBvc2l0aW9uCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuNi8xNS4xMC42LjIvUzE1LjEwLjYuMl9BNF9UMi5qcwogKiBAZGVzY3JpcHRpb24gQ2FsbCBmaXJzdCBleGVjLCB0aGVuIHNldCByZS5sYXN0SW5kZXggPSB1bmRlZmluZWQgYW5kIGFnYWluIGNhbGwgZXhlYwogKi8KCl9fcmUgPSAvKD86YWJ8Y2QpXGQ/L2c7CgpfX2V4ZWN1dGVkID0gX19yZS5leGVjKCJhYWNkMjIzM2FiMTJubTQ0NGFiNDIiKTsKCl9fZXhwZWN0ZWQgPSBbImNkMiJdOwpfX2V4cGVjdGVkLmluZGV4ID0gMjsKX19leHBlY3RlZC5pbnB1dCA9ICJhYWNkMjIzM2FiMTJubTQ0NGFiNDIiOwoKLy9DSEVDSyMxCmlmIChfX2V4ZWN1dGVkLmxlbmd0aCAhPT0gX19leHBlY3RlZC5sZW5ndGgpIHsKCSRFUlJPUignIzE6IF9fcmUgPSAvKD86YWJ8Y2QpXFxkPy9nOyBfX2V4ZWN1dGVkID0gX19yZS5leGVjKCJhYWNkMjIzM2FiMTJubTQ0NGFiNDIiKTsgX19leGVjdXRlZC5sZW5ndGggPT09ICcgKyBfX2V4cGVjdGVkLmxlbmd0aCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQubGVuZ3RoKTsKfQoKLy9DSEVDSyMyCmlmIChfX2V4ZWN1dGVkLmluZGV4ICE9PSBfX2V4cGVjdGVkLmluZGV4KSB7CgkkRVJST1IoJyMyOiBfX3JlID0gLyg/OmFifGNkKVxcZD8vZzsgX19leGVjdXRlZCA9IF9fcmUuZXhlYygiYWFjZDIyMzNhYjEybm00NDRhYjQyIik7IF9fZXhlY3V0ZWQuaW5kZXggPT09ICcgKyBfX2V4cGVjdGVkLmluZGV4ICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5pbmRleCk7Cn0KCi8vQ0hFQ0sjMwppZiAoX19leGVjdXRlZC5pbnB1dCAhPT0gX19leHBlY3RlZC5pbnB1dCkgewoJJEVSUk9SKCcjMzogX19yZSA9IC8oPzphYnxjZClcXGQ/L2c7IF9fZXhlY3V0ZWQgPSBfX3JlLmV4ZWMoImFhY2QyMjMzYWIxMm5tNDQ0YWI0MiIpOyBfX2V4ZWN1dGVkLmlucHV0ID09PSAnICsgX19leHBlY3RlZC5pbnB1dCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5wdXQpOwp9CgovL0NIRUNLIzQKZm9yKHZhciBpbmRleD0wOyBpbmRleDxfX2V4cGVjdGVkLmxlbmd0aDsgaW5kZXgrKykgewoJaWYgKF9fZXhlY3V0ZWRbaW5kZXhdICE9PSBfX2V4cGVjdGVkW2luZGV4XSkgewoJCSRFUlJPUignIzQ6IF9fcmUgPSAvKD86YWJ8Y2QpXFxkPy9nOyBfX2V4ZWN1dGVkID0gX19yZS5leGVjKCJhYWNkMjIzM2FiMTJubTQ0NGFiNDIiKTsgX19leGVjdXRlZFsnICsgaW5kZXggKyAnXSA9PT0gJyArIF9fZXhwZWN0ZWRbaW5kZXhdICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZFtpbmRleF0pOwoJfQp9CgpfX3JlLmxhc3RJbmRleCA9IHVuZGVmaW5lZDsKCl9fZXhlY3V0ZWQgPSBfX3JlLmV4ZWMoImFhY2QyMjMzYWIxMm5tNDQ0YWI0MiIpOwoKX19leHBlY3RlZCA9IFsiY2QyIl07Cl9fZXhwZWN0ZWQuaW5kZXggPSAyOwpfX2V4cGVjdGVkLmlucHV0ID0gImFhY2QyMjMzYWIxMm5tNDQ0YWI0MiI7CgovL0NIRUNLIzUKaWYgKF9fZXhlY3V0ZWQubGVuZ3RoICE9PSBfX2V4cGVjdGVkLmxlbmd0aCkgewoJJEVSUk9SKCcjNTogX19yZSA9IC8oPzphYnxjZClcXGQ/L2c7IF9fcmUubGFzdEluZGV4ID0gdW5kZWZpbmVkOyBfX2V4ZWN1dGVkID0gX19yZS5leGVjKCJhYWNkMjIzM2FiMTJubTQ0NGFiNDIiKTsgX19leGVjdXRlZC5sZW5ndGggPT09ICcgKyBfX2V4cGVjdGVkLmxlbmd0aCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQubGVuZ3RoKTsKfQoKLy9DSEVDSyM2CmlmIChfX2V4ZWN1dGVkLmluZGV4ICE9PSBfX2V4cGVjdGVkLmluZGV4KSB7CgkkRVJST1IoJyM2OiBfX3JlID0gLyg/OmFifGNkKVxcZD8vZzsgX19yZS5sYXN0SW5kZXggPSB1bmRlZmluZWQ7IF9fZXhlY3V0ZWQgPSBfX3JlLmV4ZWMoImFhY2QyMjMzYWIxMm5tNDQ0YWI0MiIpOyBfX2V4ZWN1dGVkLmluZGV4ID09PSAnICsgX19leHBlY3RlZC5pbmRleCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5kZXgpOwp9CgovL0NIRUNLIzcKaWYgKF9fZXhlY3V0ZWQuaW5wdXQgIT09IF9fZXhwZWN0ZWQuaW5wdXQpIHsKCSRFUlJPUignIzc6IF9fcmUgPSAvKD86YWJ8Y2QpXFxkPy9nOyBfX3JlLmxhc3RJbmRleCA9IHVuZGVmaW5lZDsgX19leGVjdXRlZCA9IF9fcmUuZXhlYygiYWFjZDIyMzNhYjEybm00NDRhYjQyIik7IF9fZXhlY3V0ZWQuaW5wdXQgPT09ICcgKyBfX2V4cGVjdGVkLmlucHV0ICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5pbnB1dCk7Cn0KCi8vQ0hFQ0sjOApmb3IodmFyIGluZGV4PTA7IGluZGV4PF9fZXhwZWN0ZWQubGVuZ3RoOyBpbmRleCsrKSB7CglpZiAoX19leGVjdXRlZFtpbmRleF0gIT09IF9fZXhwZWN0ZWRbaW5kZXhdKSB7CgkJJEVSUk9SKCcjODogX19yZSA9IC8oPzphYnxjZClcXGQ/L2c7IF9fcmUubGFzdEluZGV4ID0gdW5kZWZpbmVkOyBfX2V4ZWN1dGVkID0gX19yZS5leGVjKCJhYWNkMjIzM2FiMTJubTQ0NGFiNDIiKTsgX19leGVjdXRlZFsnICsgaW5kZXggKyAnXSA9PT0gJyArIF9fZXhwZWN0ZWRbaW5kZXhdICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZFtpbmRleF0pOwoJfQp9CgoK","commentary":"RegExp.prototype.exec behavior depends on global property.\nIf global is true next exec calling start to match from lastIndex position","description":"Call first exec, then set re.lastIndex = undefined and again call exec","path":"TestCases/ch15/15.10/15.10.6/15.10.6.2/S15.10.6.2_A4_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBSZWdFeHAucHJvdG90eXBlLmV4ZWMgYmVoYXZpb3IgZGVwZW5kcyBvbiBnbG9iYWwgcHJvcGVydHkuCiAqIElmIGdsb2JhbCBpcyB0cnVlIG5leHQgZXhlYyBjYWxsaW5nIHN0YXJ0IHRvIG1hdGNoIGZyb20gbGFzdEluZGV4IHBvc2l0aW9uCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuNi8xNS4xMC42LjIvUzE1LjEwLjYuMl9BNF9UMy5qcwogKiBAZGVzY3JpcHRpb24gQ2FsbCBmaXJzdCBleGVjLCB0aGVuIHNldCByZS5sYXN0SW5kZXggPSB2b2lkIDAgYW5kIGFnYWluIGNhbGwgZXhlYwogKi8KCl9fcmUgPSAvKD86YWJ8Y2QpXGQ/L2c7CgpfX2V4ZWN1dGVkID0gX19yZS5leGVjKCJhYWNkMjIzM2FiMTJubTQ0NGFiNDIiKTsKCl9fZXhwZWN0ZWQgPSBbImNkMiJdOwpfX2V4cGVjdGVkLmluZGV4ID0gMjsKX19leHBlY3RlZC5pbnB1dCA9ICJhYWNkMjIzM2FiMTJubTQ0NGFiNDIiOwoKLy9DSEVDSyMxCmlmIChfX2V4ZWN1dGVkLmxlbmd0aCAhPT0gX19leHBlY3RlZC5sZW5ndGgpIHsKCSRFUlJPUignIzE6IF9fcmUgPSAvKD86YWJ8Y2QpXFxkPy9nOyBfX2V4ZWN1dGVkID0gX19yZS5leGVjKCJhYWNkMjIzM2FiMTJubTQ0NGFiNDIiKTsgX19leGVjdXRlZC5sZW5ndGggPT09ICcgKyBfX2V4cGVjdGVkLmxlbmd0aCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQubGVuZ3RoKTsKfQoKLy9DSEVDSyMyCmlmIChfX2V4ZWN1dGVkLmluZGV4ICE9PSBfX2V4cGVjdGVkLmluZGV4KSB7CgkkRVJST1IoJyMyOiBfX3JlID0gLyg/OmFifGNkKVxcZD8vZzsgX19leGVjdXRlZCA9IF9fcmUuZXhlYygiYWFjZDIyMzNhYjEybm00NDRhYjQyIik7IF9fZXhlY3V0ZWQuaW5kZXggPT09ICcgKyBfX2V4cGVjdGVkLmluZGV4ICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5pbmRleCk7Cn0KCi8vQ0hFQ0sjMwppZiAoX19leGVjdXRlZC5pbnB1dCAhPT0gX19leHBlY3RlZC5pbnB1dCkgewoJJEVSUk9SKCcjMzogX19yZSA9IC8oPzphYnxjZClcXGQ/L2c7IF9fZXhlY3V0ZWQgPSBfX3JlLmV4ZWMoImFhY2QyMjMzYWIxMm5tNDQ0YWI0MiIpOyBfX2V4ZWN1dGVkLmlucHV0ID09PSAnICsgX19leHBlY3RlZC5pbnB1dCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5wdXQpOwp9CgovL0NIRUNLIzQKZm9yKHZhciBpbmRleD0wOyBpbmRleDxfX2V4cGVjdGVkLmxlbmd0aDsgaW5kZXgrKykgewoJaWYgKF9fZXhlY3V0ZWRbaW5kZXhdICE9PSBfX2V4cGVjdGVkW2luZGV4XSkgewoJCSRFUlJPUignIzQ6IF9fcmUgPSAvKD86YWJ8Y2QpXFxkPy9nOyBfX2V4ZWN1dGVkID0gX19yZS5leGVjKCJhYWNkMjIzM2FiMTJubTQ0NGFiNDIiKTsgX19leGVjdXRlZFsnICsgaW5kZXggKyAnXSA9PT0gJyArIF9fZXhwZWN0ZWRbaW5kZXhdICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZFtpbmRleF0pOwoJfQp9CgpfX3JlLmxhc3RJbmRleCA9IHZvaWQgMDsKCl9fZXhlY3V0ZWQgPSBfX3JlLmV4ZWMoImFhY2QyMjMzYWIxMm5tNDQ0YWI0MiIpOwoKX19leHBlY3RlZCA9IFsiY2QyIl07Cl9fZXhwZWN0ZWQuaW5kZXggPSAyOwpfX2V4cGVjdGVkLmlucHV0ID0gImFhY2QyMjMzYWIxMm5tNDQ0YWI0MiI7CgovL0NIRUNLIzUKaWYgKF9fZXhlY3V0ZWQubGVuZ3RoICE9PSBfX2V4cGVjdGVkLmxlbmd0aCkgewoJJEVSUk9SKCcjNTogX19yZSA9IC8oPzphYnxjZClcXGQ/L2c7IF9fcmUubGFzdEluZGV4ID0gdm9pZCAwOyBfX2V4ZWN1dGVkID0gX19yZS5leGVjKCJhYWNkMjIzM2FiMTJubTQ0NGFiNDIiKTsgX19leGVjdXRlZC5sZW5ndGggPT09ICcgKyBfX2V4cGVjdGVkLmxlbmd0aCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQubGVuZ3RoKTsKfQoKLy9DSEVDSyM2CmlmIChfX2V4ZWN1dGVkLmluZGV4ICE9PSBfX2V4cGVjdGVkLmluZGV4KSB7CgkkRVJST1IoJyM2OiBfX3JlID0gLyg/OmFifGNkKVxcZD8vZzsgX19yZS5sYXN0SW5kZXggPSB2b2lkIDA7IF9fZXhlY3V0ZWQgPSBfX3JlLmV4ZWMoImFhY2QyMjMzYWIxMm5tNDQ0YWI0MiIpOyBfX2V4ZWN1dGVkLmluZGV4ID09PSAnICsgX19leHBlY3RlZC5pbmRleCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5kZXgpOwp9CgovL0NIRUNLIzcKaWYgKF9fZXhlY3V0ZWQuaW5wdXQgIT09IF9fZXhwZWN0ZWQuaW5wdXQpIHsKCSRFUlJPUignIzc6IF9fcmUgPSAvKD86YWJ8Y2QpXFxkPy9nOyBfX3JlLmxhc3RJbmRleCA9IHZvaWQgMDsgX19leGVjdXRlZCA9IF9fcmUuZXhlYygiYWFjZDIyMzNhYjEybm00NDRhYjQyIik7IF9fZXhlY3V0ZWQuaW5wdXQgPT09ICcgKyBfX2V4cGVjdGVkLmlucHV0ICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5pbnB1dCk7Cn0KCi8vQ0hFQ0sjOApmb3IodmFyIGluZGV4PTA7IGluZGV4PF9fZXhwZWN0ZWQubGVuZ3RoOyBpbmRleCsrKSB7CglpZiAoX19leGVjdXRlZFtpbmRleF0gIT09IF9fZXhwZWN0ZWRbaW5kZXhdKSB7CgkJJEVSUk9SKCcjODogX19yZSA9IC8oPzphYnxjZClcXGQ/L2c7IF9fcmUubGFzdEluZGV4ID0gdm9pZCAwOyBfX2V4ZWN1dGVkID0gX19yZS5leGVjKCJhYWNkMjIzM2FiMTJubTQ0NGFiNDIiKTsgX19leGVjdXRlZFsnICsgaW5kZXggKyAnXSA9PT0gJyArIF9fZXhwZWN0ZWRbaW5kZXhdICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZFtpbmRleF0pOwoJfQp9CgoK","commentary":"RegExp.prototype.exec behavior depends on global property.\nIf global is true next exec calling start to match from lastIndex position","description":"Call first exec, then set re.lastIndex = void 0 and again call exec","path":"TestCases/ch15/15.10/15.10.6/15.10.6.2/S15.10.6.2_A4_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBSZWdFeHAucHJvdG90eXBlLmV4ZWMgYmVoYXZpb3IgZGVwZW5kcyBvbiBnbG9iYWwgcHJvcGVydHkuCiAqIElmIGdsb2JhbCBpcyB0cnVlIG5leHQgZXhlYyBjYWxsaW5nIHN0YXJ0IHRvIG1hdGNoIGZyb20gbGFzdEluZGV4IHBvc2l0aW9uCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuNi8xNS4xMC42LjIvUzE1LjEwLjYuMl9BNF9UNC5qcwogKiBAZGVzY3JpcHRpb24gQ2FsbCBmaXJzdCBleGVjLCB0aGVuIHNldCByZS5sYXN0SW5kZXggPSBudWxsIGFuZCBhZ2FpbiBjYWxsIGV4ZWMKICovCgpfX3JlID0gLyg/OmFifGNkKVxkPy9nOwoKX19leGVjdXRlZCA9IF9fcmUuZXhlYygiYWFjZDIyMzNhYjEybm00NDRhYjQyIik7CgpfX2V4cGVjdGVkID0gWyJjZDIiXTsKX19leHBlY3RlZC5pbmRleCA9IDI7Cl9fZXhwZWN0ZWQuaW5wdXQgPSAiYWFjZDIyMzNhYjEybm00NDRhYjQyIjsKCi8vQ0hFQ0sjMQppZiAoX19leGVjdXRlZC5sZW5ndGggIT09IF9fZXhwZWN0ZWQubGVuZ3RoKSB7CgkkRVJST1IoJyMxOiBfX3JlID0gLyg/OmFifGNkKVxcZD8vZzsgX19leGVjdXRlZCA9IF9fcmUuZXhlYygiYWFjZDIyMzNhYjEybm00NDRhYjQyIik7IF9fZXhlY3V0ZWQubGVuZ3RoID09PSAnICsgX19leHBlY3RlZC5sZW5ndGggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmxlbmd0aCk7Cn0KCi8vQ0hFQ0sjMgppZiAoX19leGVjdXRlZC5pbmRleCAhPT0gX19leHBlY3RlZC5pbmRleCkgewoJJEVSUk9SKCcjMjogX19yZSA9IC8oPzphYnxjZClcXGQ/L2c7IF9fZXhlY3V0ZWQgPSBfX3JlLmV4ZWMoImFhY2QyMjMzYWIxMm5tNDQ0YWI0MiIpOyBfX2V4ZWN1dGVkLmluZGV4ID09PSAnICsgX19leHBlY3RlZC5pbmRleCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5kZXgpOwp9CgovL0NIRUNLIzMKaWYgKF9fZXhlY3V0ZWQuaW5wdXQgIT09IF9fZXhwZWN0ZWQuaW5wdXQpIHsKCSRFUlJPUignIzM6IF9fcmUgPSAvKD86YWJ8Y2QpXFxkPy9nOyBfX2V4ZWN1dGVkID0gX19yZS5leGVjKCJhYWNkMjIzM2FiMTJubTQ0NGFiNDIiKTsgX19leGVjdXRlZC5pbnB1dCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5wdXQgKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmlucHV0KTsKfQoKLy9DSEVDSyM0CmZvcih2YXIgaW5kZXg9MDsgaW5kZXg8X19leHBlY3RlZC5sZW5ndGg7IGluZGV4KyspIHsKCWlmIChfX2V4ZWN1dGVkW2luZGV4XSAhPT0gX19leHBlY3RlZFtpbmRleF0pIHsKCQkkRVJST1IoJyM0OiBfX3JlID0gLyg/OmFifGNkKVxcZD8vZzsgX19leGVjdXRlZCA9IF9fcmUuZXhlYygiYWFjZDIyMzNhYjEybm00NDRhYjQyIik7IF9fZXhlY3V0ZWRbJyArIGluZGV4ICsgJ10gPT09ICcgKyBfX2V4cGVjdGVkW2luZGV4XSArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWRbaW5kZXhdKTsKCX0KfQoKX19yZS5sYXN0SW5kZXggPSBudWxsOwoKX19leGVjdXRlZCA9IF9fcmUuZXhlYygiYWFjZDIyMzNhYjEybm00NDRhYjQyIik7CgpfX2V4cGVjdGVkID0gWyJjZDIiXTsKX19leHBlY3RlZC5pbmRleCA9IDI7Cl9fZXhwZWN0ZWQuaW5wdXQgPSAiYWFjZDIyMzNhYjEybm00NDRhYjQyIjsKCi8vQ0hFQ0sjNQppZiAoX19leGVjdXRlZC5sZW5ndGggIT09IF9fZXhwZWN0ZWQubGVuZ3RoKSB7CgkkRVJST1IoJyM1OiBfX3JlID0gLyg/OmFifGNkKVxcZD8vZzsgX19yZS5sYXN0SW5kZXggPSBudWxsOyBfX2V4ZWN1dGVkID0gX19yZS5leGVjKCJhYWNkMjIzM2FiMTJubTQ0NGFiNDIiKTsgX19leGVjdXRlZC5sZW5ndGggPT09ICcgKyBfX2V4cGVjdGVkLmxlbmd0aCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQubGVuZ3RoKTsKfQoKLy9DSEVDSyM2CmlmIChfX2V4ZWN1dGVkLmluZGV4ICE9PSBfX2V4cGVjdGVkLmluZGV4KSB7CgkkRVJST1IoJyM2OiBfX3JlID0gLyg/OmFifGNkKVxcZD8vZzsgX19yZS5sYXN0SW5kZXggPSBudWxsOyBfX2V4ZWN1dGVkID0gX19yZS5leGVjKCJhYWNkMjIzM2FiMTJubTQ0NGFiNDIiKTsgX19leGVjdXRlZC5pbmRleCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5kZXggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmluZGV4KTsKfQoKLy9DSEVDSyM3CmlmIChfX2V4ZWN1dGVkLmlucHV0ICE9PSBfX2V4cGVjdGVkLmlucHV0KSB7CgkkRVJST1IoJyM3OiBfX3JlID0gLyg/OmFifGNkKVxcZD8vZzsgX19yZS5sYXN0SW5kZXggPSBudWxsOyBfX2V4ZWN1dGVkID0gX19yZS5leGVjKCJhYWNkMjIzM2FiMTJubTQ0NGFiNDIiKTsgX19leGVjdXRlZC5pbnB1dCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5wdXQgKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmlucHV0KTsKfQoKLy9DSEVDSyM4CmZvcih2YXIgaW5kZXg9MDsgaW5kZXg8X19leHBlY3RlZC5sZW5ndGg7IGluZGV4KyspIHsKCWlmIChfX2V4ZWN1dGVkW2luZGV4XSAhPT0gX19leHBlY3RlZFtpbmRleF0pIHsKCQkkRVJST1IoJyM4OiBfX3JlID0gLyg/OmFifGNkKVxcZD8vZzsgX19yZS5sYXN0SW5kZXggPSBudWxsOyBfX2V4ZWN1dGVkID0gX19yZS5leGVjKCJhYWNkMjIzM2FiMTJubTQ0NGFiNDIiKTsgX19leGVjdXRlZFsnICsgaW5kZXggKyAnXSA9PT0gJyArIF9fZXhwZWN0ZWRbaW5kZXhdICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZFtpbmRleF0pOwoJfQp9CgoK","commentary":"RegExp.prototype.exec behavior depends on global property.\nIf global is true next exec calling start to match from lastIndex position","description":"Call first exec, then set re.lastIndex = null and again call exec","path":"TestCases/ch15/15.10/15.10.6/15.10.6.2/S15.10.6.2_A4_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBSZWdFeHAucHJvdG90eXBlLmV4ZWMgYmVoYXZpb3IgZGVwZW5kcyBvbiBnbG9iYWwgcHJvcGVydHkuCiAqIElmIGdsb2JhbCBpcyB0cnVlIG5leHQgZXhlYyBjYWxsaW5nIHN0YXJ0IHRvIG1hdGNoIGZyb20gbGFzdEluZGV4IHBvc2l0aW9uCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuNi8xNS4xMC42LjIvUzE1LjEwLjYuMl9BNF9UNS5qcwogKiBAZGVzY3JpcHRpb24gQ2FsbCBmaXJzdCBleGVjLCB0aGVuIHNldCByZS5sYXN0SW5kZXggPSB4IGFuZCBhZ2FpbiBjYWxsIGV4ZWMsIHdoZXJlIHggaXMgdW5kZWZpbmVkIHZhcmlhYmxlCiAqLwoKX19yZSA9IC8oPzphYnxjZClcZD8vZzsKCl9fZXhlY3V0ZWQgPSBfX3JlLmV4ZWMoImFhY2QyMjMzYWIxMm5tNDQ0YWI0MiIpOwoKX19leHBlY3RlZCA9IFsiY2QyIl07Cl9fZXhwZWN0ZWQuaW5kZXggPSAyOwpfX2V4cGVjdGVkLmlucHV0ID0gImFhY2QyMjMzYWIxMm5tNDQ0YWI0MiI7CgovL0NIRUNLIzEKaWYgKF9fZXhlY3V0ZWQubGVuZ3RoICE9PSBfX2V4cGVjdGVkLmxlbmd0aCkgewoJJEVSUk9SKCcjMTogX19yZSA9IC8oPzphYnxjZClcXGQ/L2c7IF9fZXhlY3V0ZWQgPSBfX3JlLmV4ZWMoImFhY2QyMjMzYWIxMm5tNDQ0YWI0MiIpOyBfX2V4ZWN1dGVkLmxlbmd0aCA9PT0gJyArIF9fZXhwZWN0ZWQubGVuZ3RoICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5sZW5ndGgpOwp9CgovL0NIRUNLIzIKaWYgKF9fZXhlY3V0ZWQuaW5kZXggIT09IF9fZXhwZWN0ZWQuaW5kZXgpIHsKCSRFUlJPUignIzI6IF9fcmUgPSAvKD86YWJ8Y2QpXFxkPy9nOyBfX2V4ZWN1dGVkID0gX19yZS5leGVjKCJhYWNkMjIzM2FiMTJubTQ0NGFiNDIiKTsgX19leGVjdXRlZC5pbmRleCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5kZXggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmluZGV4KTsKfQoKLy9DSEVDSyMzCmlmIChfX2V4ZWN1dGVkLmlucHV0ICE9PSBfX2V4cGVjdGVkLmlucHV0KSB7CgkkRVJST1IoJyMzOiBfX3JlID0gLyg/OmFifGNkKVxcZD8vZzsgX19leGVjdXRlZCA9IF9fcmUuZXhlYygiYWFjZDIyMzNhYjEybm00NDRhYjQyIik7IF9fZXhlY3V0ZWQuaW5wdXQgPT09ICcgKyBfX2V4cGVjdGVkLmlucHV0ICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5pbnB1dCk7Cn0KCi8vQ0hFQ0sjNApmb3IodmFyIGluZGV4PTA7IGluZGV4PF9fZXhwZWN0ZWQubGVuZ3RoOyBpbmRleCsrKSB7CglpZiAoX19leGVjdXRlZFtpbmRleF0gIT09IF9fZXhwZWN0ZWRbaW5kZXhdKSB7CgkJJEVSUk9SKCcjNDogX19yZSA9IC8oPzphYnxjZClcXGQ/L2c7IF9fZXhlY3V0ZWQgPSBfX3JlLmV4ZWMoImFhY2QyMjMzYWIxMm5tNDQ0YWI0MiIpOyBfX2V4ZWN1dGVkWycgKyBpbmRleCArICddID09PSAnICsgX19leHBlY3RlZFtpbmRleF0gKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkW2luZGV4XSk7Cgl9Cn0KCl9fcmUubGFzdEluZGV4ID0geDsKCl9fZXhlY3V0ZWQgPSBfX3JlLmV4ZWMoImFhY2QyMjMzYWIxMm5tNDQ0YWI0MiIpOwoKX19leHBlY3RlZCA9IFsiY2QyIl07Cl9fZXhwZWN0ZWQuaW5kZXggPSAyOwpfX2V4cGVjdGVkLmlucHV0ID0gImFhY2QyMjMzYWIxMm5tNDQ0YWI0MiI7CgovL0NIRUNLIzUKaWYgKF9fZXhlY3V0ZWQubGVuZ3RoICE9PSBfX2V4cGVjdGVkLmxlbmd0aCkgewoJJEVSUk9SKCcjNTogX19yZSA9IC8oPzphYnxjZClcXGQ/L2c7IF9fcmUubGFzdEluZGV4ID0geDsgX19leGVjdXRlZCA9IF9fcmUuZXhlYygiYWFjZDIyMzNhYjEybm00NDRhYjQyIik7IHZhciB4OyBfX2V4ZWN1dGVkLmxlbmd0aCA9PT0gJyArIF9fZXhwZWN0ZWQubGVuZ3RoICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5sZW5ndGgpOwp9CgovL0NIRUNLIzYKaWYgKF9fZXhlY3V0ZWQuaW5kZXggIT09IF9fZXhwZWN0ZWQuaW5kZXgpIHsKCSRFUlJPUignIzY6IF9fcmUgPSAvKD86YWJ8Y2QpXFxkPy9nOyBfX3JlLmxhc3RJbmRleCA9IHg7IF9fZXhlY3V0ZWQgPSBfX3JlLmV4ZWMoImFhY2QyMjMzYWIxMm5tNDQ0YWI0MiIpOyB2YXIgeDsgX19leGVjdXRlZC5pbmRleCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5kZXggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmluZGV4KTsKfQoKLy9DSEVDSyM3CmlmIChfX2V4ZWN1dGVkLmlucHV0ICE9PSBfX2V4cGVjdGVkLmlucHV0KSB7CgkkRVJST1IoJyM3OiBfX3JlID0gLyg/OmFifGNkKVxcZD8vZzsgX19yZS5sYXN0SW5kZXggPSB4OyBfX2V4ZWN1dGVkID0gX19yZS5leGVjKCJhYWNkMjIzM2FiMTJubTQ0NGFiNDIiKTsgdmFyIHg7IF9fZXhlY3V0ZWQuaW5wdXQgPT09ICcgKyBfX2V4cGVjdGVkLmlucHV0ICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5pbnB1dCk7Cn0KCi8vQ0hFQ0sjOApmb3IodmFyIGluZGV4PTA7IGluZGV4PF9fZXhwZWN0ZWQubGVuZ3RoOyBpbmRleCsrKSB7CglpZiAoX19leGVjdXRlZFtpbmRleF0gIT09IF9fZXhwZWN0ZWRbaW5kZXhdKSB7CgkJJEVSUk9SKCcjODogX19yZSA9IC8oPzphYnxjZClcXGQ/L2c7IF9fcmUubGFzdEluZGV4ID0geDsgX19leGVjdXRlZCA9IF9fcmUuZXhlYygiYWFjZDIyMzNhYjEybm00NDRhYjQyIik7IHZhciB4OyBfX2V4ZWN1dGVkWycgKyBpbmRleCArICddID09PSAnICsgX19leHBlY3RlZFtpbmRleF0gKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkW2luZGV4XSk7Cgl9Cn0KCnZhciB4OwoK","commentary":"RegExp.prototype.exec behavior depends on global property.\nIf global is true next exec calling start to match from lastIndex position","description":"Call first exec, then set re.lastIndex = x and again call exec, where x is undefined variable","path":"TestCases/ch15/15.10/15.10.6/15.10.6.2/S15.10.6.2_A4_T5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBSZWdFeHAucHJvdG90eXBlLmV4ZWMgYmVoYXZpb3IgZGVwZW5kcyBvbiBnbG9iYWwgcHJvcGVydHkuCiAqIElmIGdsb2JhbCBpcyB0cnVlIG5leHQgZXhlYyBjYWxsaW5nIHN0YXJ0IHRvIG1hdGNoIGZyb20gbGFzdEluZGV4IHBvc2l0aW9uCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuNi8xNS4xMC42LjIvUzE1LjEwLjYuMl9BNF9UNi5qcwogKiBAZGVzY3JpcHRpb24gQ2FsbCBmaXJzdCBleGVjLCB0aGVuIHNldCByZS5sYXN0SW5kZXggPSBmYWxzZSBhbmQgYWdhaW4gY2FsbCBleGVjCiAqLwoKX19yZSA9IC8oPzphYnxjZClcZD8vZzsKCl9fZXhlY3V0ZWQgPSBfX3JlLmV4ZWMoImFhY2QyMjMzYWIxMm5tNDQ0YWI0MiIpOwoKX19leHBlY3RlZCA9IFsiY2QyIl07Cl9fZXhwZWN0ZWQuaW5kZXggPSAyOwpfX2V4cGVjdGVkLmlucHV0ID0gImFhY2QyMjMzYWIxMm5tNDQ0YWI0MiI7CgovL0NIRUNLIzEKaWYgKF9fZXhlY3V0ZWQubGVuZ3RoICE9PSBfX2V4cGVjdGVkLmxlbmd0aCkgewoJJEVSUk9SKCcjMTogX19yZSA9IC8oPzphYnxjZClcXGQ/L2c7IF9fZXhlY3V0ZWQgPSBfX3JlLmV4ZWMoImFhY2QyMjMzYWIxMm5tNDQ0YWI0MiIpOyBfX2V4ZWN1dGVkLmxlbmd0aCA9PT0gJyArIF9fZXhwZWN0ZWQubGVuZ3RoICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5sZW5ndGgpOwp9CgovL0NIRUNLIzIKaWYgKF9fZXhlY3V0ZWQuaW5kZXggIT09IF9fZXhwZWN0ZWQuaW5kZXgpIHsKCSRFUlJPUignIzI6IF9fcmUgPSAvKD86YWJ8Y2QpXFxkPy9nOyBfX2V4ZWN1dGVkID0gX19yZS5leGVjKCJhYWNkMjIzM2FiMTJubTQ0NGFiNDIiKTsgX19leGVjdXRlZC5pbmRleCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5kZXggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmluZGV4KTsKfQoKLy9DSEVDSyMzCmlmIChfX2V4ZWN1dGVkLmlucHV0ICE9PSBfX2V4cGVjdGVkLmlucHV0KSB7CgkkRVJST1IoJyMzOiBfX3JlID0gLyg/OmFifGNkKVxcZD8vZzsgX19leGVjdXRlZCA9IF9fcmUuZXhlYygiYWFjZDIyMzNhYjEybm00NDRhYjQyIik7IF9fZXhlY3V0ZWQuaW5wdXQgPT09ICcgKyBfX2V4cGVjdGVkLmlucHV0ICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5pbnB1dCk7Cn0KCi8vQ0hFQ0sjNApmb3IodmFyIGluZGV4PTA7IGluZGV4PF9fZXhwZWN0ZWQubGVuZ3RoOyBpbmRleCsrKSB7CglpZiAoX19leGVjdXRlZFtpbmRleF0gIT09IF9fZXhwZWN0ZWRbaW5kZXhdKSB7CgkJJEVSUk9SKCcjNDogX19yZSA9IC8oPzphYnxjZClcXGQ/L2c7IF9fZXhlY3V0ZWQgPSBfX3JlLmV4ZWMoImFhY2QyMjMzYWIxMm5tNDQ0YWI0MiIpOyBfX2V4ZWN1dGVkWycgKyBpbmRleCArICddID09PSAnICsgX19leHBlY3RlZFtpbmRleF0gKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkW2luZGV4XSk7Cgl9Cn0KCl9fcmUubGFzdEluZGV4ID0gZmFsc2U7CgpfX2V4ZWN1dGVkID0gX19yZS5leGVjKCJhYWNkMjIzM2FiMTJubTQ0NGFiNDIiKTsKCl9fZXhwZWN0ZWQgPSBbImNkMiJdOwpfX2V4cGVjdGVkLmluZGV4ID0gMjsKX19leHBlY3RlZC5pbnB1dCA9ICJhYWNkMjIzM2FiMTJubTQ0NGFiNDIiOwoKLy9DSEVDSyM1CmlmIChfX2V4ZWN1dGVkLmxlbmd0aCAhPT0gX19leHBlY3RlZC5sZW5ndGgpIHsKCSRFUlJPUignIzU6IF9fcmUgPSAvKD86YWJ8Y2QpXFxkPy9nOyBfX3JlLmxhc3RJbmRleCA9IGZhbHNlOyBfX2V4ZWN1dGVkID0gX19yZS5leGVjKCJhYWNkMjIzM2FiMTJubTQ0NGFiNDIiKTsgX19leGVjdXRlZCA9IF9fcmUuZXhlYygiYWFjZDIyMzNhYjEybm00NDRhYjQyIik7IF9fZXhlY3V0ZWQubGVuZ3RoID09PSAnICsgX19leHBlY3RlZC5sZW5ndGggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmxlbmd0aCk7Cn0KCi8vQ0hFQ0sjNgppZiAoX19leGVjdXRlZC5pbmRleCAhPT0gX19leHBlY3RlZC5pbmRleCkgewoJJEVSUk9SKCcjNjogX19yZSA9IC8oPzphYnxjZClcXGQ/L2c7IF9fcmUubGFzdEluZGV4ID0gZmFsc2U7IF9fZXhlY3V0ZWQgPSBfX3JlLmV4ZWMoImFhY2QyMjMzYWIxMm5tNDQ0YWI0MiIpOyBfX2V4ZWN1dGVkID0gX19yZS5leGVjKCJhYWNkMjIzM2FiMTJubTQ0NGFiNDIiKTsgX19leGVjdXRlZC5pbmRleCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5kZXggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmluZGV4KTsKfQoKLy9DSEVDSyM3CmlmIChfX2V4ZWN1dGVkLmlucHV0ICE9PSBfX2V4cGVjdGVkLmlucHV0KSB7CgkkRVJST1IoJyM3OiBfX3JlID0gLyg/OmFifGNkKVxcZD8vZzsgX19yZS5sYXN0SW5kZXggPSBmYWxzZTsgX19leGVjdXRlZCA9IF9fcmUuZXhlYygiYWFjZDIyMzNhYjEybm00NDRhYjQyIik7IF9fZXhlY3V0ZWQgPSBfX3JlLmV4ZWMoImFhY2QyMjMzYWIxMm5tNDQ0YWI0MiIpOyBfX2V4ZWN1dGVkLmlucHV0ID09PSAnICsgX19leHBlY3RlZC5pbnB1dCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5wdXQpOwp9CgovL0NIRUNLIzgKZm9yKHZhciBpbmRleD0wOyBpbmRleDxfX2V4cGVjdGVkLmxlbmd0aDsgaW5kZXgrKykgewoJaWYgKF9fZXhlY3V0ZWRbaW5kZXhdICE9PSBfX2V4cGVjdGVkW2luZGV4XSkgewoJCSRFUlJPUignIzg6IF9fcmUgPSAvKD86YWJ8Y2QpXFxkPy9nOyBfX3JlLmxhc3RJbmRleCA9IGZhbHNlOyBfX2V4ZWN1dGVkID0gX19yZS5leGVjKCJhYWNkMjIzM2FiMTJubTQ0NGFiNDIiKTsgX19leGVjdXRlZCA9IF9fcmUuZXhlYygiYWFjZDIyMzNhYjEybm00NDRhYjQyIik7IF9fZXhlY3V0ZWRbJyArIGluZGV4ICsgJ10gPT09ICcgKyBfX2V4cGVjdGVkW2luZGV4XSArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWRbaW5kZXhdKTsKCX0KfQoKCg==","commentary":"RegExp.prototype.exec behavior depends on global property.\nIf global is true next exec calling start to match from lastIndex position","description":"Call first exec, then set re.lastIndex = false and again call exec","path":"TestCases/ch15/15.10/15.10.6/15.10.6.2/S15.10.6.2_A4_T6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBSZWdFeHAucHJvdG90eXBlLmV4ZWMgYmVoYXZpb3IgZGVwZW5kcyBvbiBnbG9iYWwgcHJvcGVydHkuCiAqIElmIGdsb2JhbCBpcyB0cnVlIG5leHQgZXhlYyBjYWxsaW5nIHN0YXJ0IHRvIG1hdGNoIGZyb20gbGFzdEluZGV4IHBvc2l0aW9uCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuNi8xNS4xMC42LjIvUzE1LjEwLjYuMl9BNF9UNy5qcwogKiBAZGVzY3JpcHRpb24gQ2FsbCBmaXJzdCBleGVjLCB0aGVuIHNldCByZS5sYXN0SW5kZXggPSBNYXRoLk5hTiBhbmQgYWdhaW4gY2FsbCBleGVjCiAqLwoKX19yZSA9IC8oPzphYnxjZClcZD8vZzsKCl9fZXhlY3V0ZWQgPSBfX3JlLmV4ZWMoImFhY2QyMjMzYWIxMm5tNDQ0YWI0MiIpOwoKX19leHBlY3RlZCA9IFsiY2QyIl07Cl9fZXhwZWN0ZWQuaW5kZXggPSAyOwpfX2V4cGVjdGVkLmlucHV0ID0gImFhY2QyMjMzYWIxMm5tNDQ0YWI0MiI7CgovL0NIRUNLIzEKaWYgKF9fZXhlY3V0ZWQubGVuZ3RoICE9PSBfX2V4cGVjdGVkLmxlbmd0aCkgewoJJEVSUk9SKCcjMTogX19yZSA9IC8oPzphYnxjZClcXGQ/L2c7IF9fZXhlY3V0ZWQgPSBfX3JlLmV4ZWMoImFhY2QyMjMzYWIxMm5tNDQ0YWI0MiIpOyBfX2V4ZWN1dGVkLmxlbmd0aCA9PT0gJyArIF9fZXhwZWN0ZWQubGVuZ3RoICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5sZW5ndGgpOwp9CgovL0NIRUNLIzIKaWYgKF9fZXhlY3V0ZWQuaW5kZXggIT09IF9fZXhwZWN0ZWQuaW5kZXgpIHsKCSRFUlJPUignIzI6IF9fcmUgPSAvKD86YWJ8Y2QpXFxkPy9nOyBfX2V4ZWN1dGVkID0gX19yZS5leGVjKCJhYWNkMjIzM2FiMTJubTQ0NGFiNDIiKTsgX19leGVjdXRlZC5pbmRleCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5kZXggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmluZGV4KTsKfQoKLy9DSEVDSyMzCmlmIChfX2V4ZWN1dGVkLmlucHV0ICE9PSBfX2V4cGVjdGVkLmlucHV0KSB7CgkkRVJST1IoJyMzOiBfX3JlID0gLyg/OmFifGNkKVxcZD8vZzsgX19leGVjdXRlZCA9IF9fcmUuZXhlYygiYWFjZDIyMzNhYjEybm00NDRhYjQyIik7IF9fZXhlY3V0ZWQuaW5wdXQgPT09ICcgKyBfX2V4cGVjdGVkLmlucHV0ICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5pbnB1dCk7Cn0KCi8vQ0hFQ0sjNApmb3IodmFyIGluZGV4PTA7IGluZGV4PF9fZXhwZWN0ZWQubGVuZ3RoOyBpbmRleCsrKSB7CglpZiAoX19leGVjdXRlZFtpbmRleF0gIT09IF9fZXhwZWN0ZWRbaW5kZXhdKSB7CgkJJEVSUk9SKCcjNDogX19yZSA9IC8oPzphYnxjZClcXGQ/L2c7IF9fZXhlY3V0ZWQgPSBfX3JlLmV4ZWMoImFhY2QyMjMzYWIxMm5tNDQ0YWI0MiIpOyBfX2V4ZWN1dGVkWycgKyBpbmRleCArICddID09PSAnICsgX19leHBlY3RlZFtpbmRleF0gKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkW2luZGV4XSk7Cgl9Cn0KCl9fcmUubGFzdEluZGV4ID0gTWF0aC5OYU47CgpfX2V4ZWN1dGVkID0gX19yZS5leGVjKCJhYWNkMjIzM2FiMTJubTQ0NGFiNDIiKTsKCl9fZXhwZWN0ZWQgPSBbImNkMiJdOwpfX2V4cGVjdGVkLmluZGV4ID0gMjsKX19leHBlY3RlZC5pbnB1dCA9ICJhYWNkMjIzM2FiMTJubTQ0NGFiNDIiOwoKLy9DSEVDSyM1CmlmIChfX2V4ZWN1dGVkLmxlbmd0aCAhPT0gX19leHBlY3RlZC5sZW5ndGgpIHsKCSRFUlJPUignIzU6IF9fcmUgPSAvKD86YWJ8Y2QpXFxkPy9nOyBfX3JlLmxhc3RJbmRleCA9IE1hdGguTmFOOyBfX2V4ZWN1dGVkID0gX19yZS5leGVjKCJhYWNkMjIzM2FiMTJubTQ0NGFiNDIiKTsgX19leGVjdXRlZCA9IF9fcmUuZXhlYygiYWFjZDIyMzNhYjEybm00NDRhYjQyIik7IF9fZXhlY3V0ZWQubGVuZ3RoID09PSAnICsgX19leHBlY3RlZC5sZW5ndGggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmxlbmd0aCk7Cn0KCi8vQ0hFQ0sjNgppZiAoX19leGVjdXRlZC5pbmRleCAhPT0gX19leHBlY3RlZC5pbmRleCkgewoJJEVSUk9SKCcjNjogX19yZSA9IC8oPzphYnxjZClcXGQ/L2c7IF9fcmUubGFzdEluZGV4ID0gTWF0aC5OYU47IF9fZXhlY3V0ZWQgPSBfX3JlLmV4ZWMoImFhY2QyMjMzYWIxMm5tNDQ0YWI0MiIpOyBfX2V4ZWN1dGVkID0gX19yZS5leGVjKCJhYWNkMjIzM2FiMTJubTQ0NGFiNDIiKTsgX19leGVjdXRlZC5pbmRleCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5kZXggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmluZGV4KTsKfQoKLy9DSEVDSyM3CmlmIChfX2V4ZWN1dGVkLmlucHV0ICE9PSBfX2V4cGVjdGVkLmlucHV0KSB7CgkkRVJST1IoJyM3OiBfX3JlID0gLyg/OmFifGNkKVxcZD8vZzsgX19yZS5sYXN0SW5kZXggPSBNYXRoLk5hTjsgX19leGVjdXRlZCA9IF9fcmUuZXhlYygiYWFjZDIyMzNhYjEybm00NDRhYjQyIik7IF9fZXhlY3V0ZWQgPSBfX3JlLmV4ZWMoImFhY2QyMjMzYWIxMm5tNDQ0YWI0MiIpOyBfX2V4ZWN1dGVkLmlucHV0ID09PSAnICsgX19leHBlY3RlZC5pbnB1dCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5wdXQpOwp9CgovL0NIRUNLIzgKZm9yKHZhciBpbmRleD0wOyBpbmRleDxfX2V4cGVjdGVkLmxlbmd0aDsgaW5kZXgrKykgewoJaWYgKF9fZXhlY3V0ZWRbaW5kZXhdICE9PSBfX2V4cGVjdGVkW2luZGV4XSkgewoJCSRFUlJPUignIzg6IF9fcmUgPSAvKD86YWJ8Y2QpXFxkPy9nOyByZS5sYXN0SW5kZXggPSBNYXRoLk5hTjsgX19leGVjdXRlZCA9IF9fcmUuZXhlYygiYWFjZDIyMzNhYjEybm00NDRhYjQyIik7IF9fZXhlY3V0ZWQgPSBfX3JlLmV4ZWMoImFhY2QyMjMzYWIxMm5tNDQ0YWI0MiIpOyBfX2V4ZWN1dGVkWycgKyBpbmRleCArICddID09PSAnICsgX19leHBlY3RlZFtpbmRleF0gKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkW2luZGV4XSk7Cgl9Cn0KCgo=","commentary":"RegExp.prototype.exec behavior depends on global property.\nIf global is true next exec calling start to match from lastIndex position","description":"Call first exec, then set re.lastIndex = Math.NaN and again call exec","path":"TestCases/ch15/15.10/15.10.6/15.10.6.2/S15.10.6.2_A4_T7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBSZWdFeHAucHJvdG90eXBlLmV4ZWMgYmVoYXZpb3IgZGVwZW5kcyBvbiBnbG9iYWwgcHJvcGVydHkuCiAqIElmIGdsb2JhbCBpcyB0cnVlIG5leHQgZXhlYyBjYWxsaW5nIHN0YXJ0IHRvIG1hdGNoIGZyb20gbGFzdEluZGV4IHBvc2l0aW9uCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuNi8xNS4xMC42LjIvUzE1LjEwLjYuMl9BNF9UOC5qcwogKiBAZGVzY3JpcHRpb24gQ2FsbCBmaXJzdCBleGVjLCB0aGVuIHNldCByZS5sYXN0SW5kZXggPSAiMTIiIGFuZCBhZ2FpbiBjYWxsIGV4ZWMKICovCgpfX3JlID0gLyg/OmFifGNkKVxkPy9nOwoKX19leGVjdXRlZCA9IF9fcmUuZXhlYygiYWFjZDIyMzNhYjEybm00NDRhYjQyIik7CgpfX2V4cGVjdGVkID0gWyJjZDIiXTsKX19leHBlY3RlZC5pbmRleCA9IDI7Cl9fZXhwZWN0ZWQuaW5wdXQgPSAiYWFjZDIyMzNhYjEybm00NDRhYjQyIjsKCi8vQ0hFQ0sjMQppZiAoX19leGVjdXRlZC5sZW5ndGggIT09IF9fZXhwZWN0ZWQubGVuZ3RoKSB7CgkkRVJST1IoJyMxOiBfX3JlID0gLyg/OmFifGNkKVxcZD8vZzsgX19leGVjdXRlZCA9IF9fcmUuZXhlYygiYWFjZDIyMzNhYjEybm00NDRhYjQyIik7IF9fZXhlY3V0ZWQubGVuZ3RoID09PSAnICsgX19leHBlY3RlZC5sZW5ndGggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmxlbmd0aCk7Cn0KCi8vQ0hFQ0sjMgppZiAoX19leGVjdXRlZC5pbmRleCAhPT0gX19leHBlY3RlZC5pbmRleCkgewoJJEVSUk9SKCcjMjogX19yZSA9IC8oPzphYnxjZClcXGQ/L2c7IF9fZXhlY3V0ZWQgPSBfX3JlLmV4ZWMoImFhY2QyMjMzYWIxMm5tNDQ0YWI0MiIpOyBfX2V4ZWN1dGVkLmluZGV4ID09PSAnICsgX19leHBlY3RlZC5pbmRleCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5kZXgpOwp9CgovL0NIRUNLIzMKaWYgKF9fZXhlY3V0ZWQuaW5wdXQgIT09IF9fZXhwZWN0ZWQuaW5wdXQpIHsKCSRFUlJPUignIzM6IF9fcmUgPSAvKD86YWJ8Y2QpXFxkPy9nOyBfX2V4ZWN1dGVkID0gX19yZS5leGVjKCJhYWNkMjIzM2FiMTJubTQ0NGFiNDIiKTsgX19leGVjdXRlZC5pbnB1dCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5wdXQgKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmlucHV0KTsKfQoKLy9DSEVDSyM0CmZvcih2YXIgaW5kZXg9MDsgaW5kZXg8X19leHBlY3RlZC5sZW5ndGg7IGluZGV4KyspIHsKCWlmIChfX2V4ZWN1dGVkW2luZGV4XSAhPT0gX19leHBlY3RlZFtpbmRleF0pIHsKCQkkRVJST1IoJyM0OiBfX3JlID0gLyg/OmFifGNkKVxcZD8vZzsgX19leGVjdXRlZCA9IF9fcmUuZXhlYygiYWFjZDIyMzNhYjEybm00NDRhYjQyIik7IF9fZXhlY3V0ZWRbJyArIGluZGV4ICsgJ10gPT09ICcgKyBfX2V4cGVjdGVkW2luZGV4XSArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWRbaW5kZXhdKTsKCX0KfQoKX19yZS5sYXN0SW5kZXggPSAiMTIiOwoKX19leGVjdXRlZCA9IF9fcmUuZXhlYygiYWFjZDIyMzNhYjEybm00NDRhYjQyIik7CgpfX2V4cGVjdGVkID0gWyJhYjQiXTsKX19leHBlY3RlZC5pbmRleCA9IDE3OwpfX2V4cGVjdGVkLmlucHV0ID0gImFhY2QyMjMzYWIxMm5tNDQ0YWI0MiI7CgovL0NIRUNLIzUKaWYgKF9fZXhlY3V0ZWQubGVuZ3RoICE9PSBfX2V4cGVjdGVkLmxlbmd0aCkgewoJJEVSUk9SKCcjNTogX19yZSA9IC8oPzphYnxjZClcXGQ/L2c7IF9fcmUubGFzdEluZGV4ID0gIjEyIjsgX19leGVjdXRlZCA9IF9fcmUuZXhlYygiYWFjZDIyMzNhYjEybm00NDRhYjQyIik7X19leGVjdXRlZCA9IF9fcmUuZXhlYygiYWFjZDIyMzNhYjEybm00NDRhYjQyIik7IF9fZXhlY3V0ZWQubGVuZ3RoID09PSAnICsgX19leHBlY3RlZC5sZW5ndGggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmxlbmd0aCk7Cn0KCi8vQ0hFQ0sjNgppZiAoX19leGVjdXRlZC5pbmRleCAhPT0gX19leHBlY3RlZC5pbmRleCkgewoJJEVSUk9SKCcjNjogX19yZSA9IC8oPzphYnxjZClcXGQ/L2c7IF9fcmUubGFzdEluZGV4ID0gIjEyIjsgX19leGVjdXRlZCA9IF9fcmUuZXhlYygiYWFjZDIyMzNhYjEybm00NDRhYjQyIik7X19leGVjdXRlZCA9IF9fcmUuZXhlYygiYWFjZDIyMzNhYjEybm00NDRhYjQyIik7IF9fZXhlY3V0ZWQuaW5kZXggPT09ICcgKyBfX2V4cGVjdGVkLmluZGV4ICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5pbmRleCk7Cn0KCi8vQ0hFQ0sjNwppZiAoX19leGVjdXRlZC5pbnB1dCAhPT0gX19leHBlY3RlZC5pbnB1dCkgewoJJEVSUk9SKCcjNzogX19yZSA9IC8oPzphYnxjZClcXGQ/L2c7IF9fcmUubGFzdEluZGV4ID0gIjEyIjsgX19leGVjdXRlZCA9IF9fcmUuZXhlYygiYWFjZDIyMzNhYjEybm00NDRhYjQyIik7X19leGVjdXRlZCA9IF9fcmUuZXhlYygiYWFjZDIyMzNhYjEybm00NDRhYjQyIik7IF9fZXhlY3V0ZWQuaW5wdXQgPT09ICcgKyBfX2V4cGVjdGVkLmlucHV0ICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5pbnB1dCk7Cn0KCi8vQ0hFQ0sjOApmb3IodmFyIGluZGV4PTA7IGluZGV4PF9fZXhwZWN0ZWQubGVuZ3RoOyBpbmRleCsrKSB7CglpZiAoX19leGVjdXRlZFtpbmRleF0gIT09IF9fZXhwZWN0ZWRbaW5kZXhdKSB7CgkJJEVSUk9SKCcjODogX19yZSA9IC8oPzphYnxjZClcXGQ/L2c7IF9fcmUubGFzdEluZGV4ID0gIjEyIjsgX19leGVjdXRlZCA9IF9fcmUuZXhlYygiYWFjZDIyMzNhYjEybm00NDRhYjQyIik7X19leGVjdXRlZCA9IF9fcmUuZXhlYygiYWFjZDIyMzNhYjEybm00NDRhYjQyIik7IF9fZXhlY3V0ZWRbJyArIGluZGV4ICsgJ10gPT09ICcgKyBfX2V4cGVjdGVkW2luZGV4XSArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWRbaW5kZXhdKTsKCX0KfQoKCg==","commentary":"RegExp.prototype.exec behavior depends on global property.\nIf global is true next exec calling start to match from lastIndex position","description":"Call first exec, then set re.lastIndex = \"12\" and again call exec","path":"TestCases/ch15/15.10/15.10.6/15.10.6.2/S15.10.6.2_A4_T8.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBSZWdFeHAucHJvdG90eXBlLmV4ZWMgYmVoYXZpb3IgZGVwZW5kcyBvbiBnbG9iYWwgcHJvcGVydHkuCiAqIElmIGdsb2JhbCBpcyB0cnVlIG5leHQgZXhlYyBjYWxsaW5nIHN0YXJ0IHRvIG1hdGNoIGZyb20gbGFzdEluZGV4IHBvc2l0aW9uCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuNi8xNS4xMC42LjIvUzE1LjEwLjYuMl9BNF9UOS5qcwogKiBAZGVzY3JpcHRpb24gQ2FsbCBmaXJzdCBleGVjLCB0aGVuIHNldCByZS5sYXN0SW5kZXggPSAiZWxldmVuIiBhbmQgYWdhaW4gY2FsbCBleGVjCiAqLwoKX19yZSA9IC8oPzphYnxjZClcZD8vZzsKCl9fZXhlY3V0ZWQgPSBfX3JlLmV4ZWMoImFhY2QyMjMzYWIxMm5tNDQ0YWI0MiIpOwoKX19leHBlY3RlZCA9IFsiY2QyIl07Cl9fZXhwZWN0ZWQuaW5kZXggPSAyOwpfX2V4cGVjdGVkLmlucHV0ID0gImFhY2QyMjMzYWIxMm5tNDQ0YWI0MiI7CgovL0NIRUNLIzEKaWYgKF9fZXhlY3V0ZWQubGVuZ3RoICE9PSBfX2V4cGVjdGVkLmxlbmd0aCkgewoJJEVSUk9SKCcjMTogX19yZSA9IC8oPzphYnxjZClcXGQ/L2c7IF9fZXhlY3V0ZWQgPSBfX3JlLmV4ZWMoImFhY2QyMjMzYWIxMm5tNDQ0YWI0MiIpOyBfX2V4ZWN1dGVkLmxlbmd0aCA9PT0gJyArIF9fZXhwZWN0ZWQubGVuZ3RoICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5sZW5ndGgpOwp9CgovL0NIRUNLIzIKaWYgKF9fZXhlY3V0ZWQuaW5kZXggIT09IF9fZXhwZWN0ZWQuaW5kZXgpIHsKCSRFUlJPUignIzI6IF9fcmUgPSAvKD86YWJ8Y2QpXFxkPy9nOyBfX2V4ZWN1dGVkID0gX19yZS5leGVjKCJhYWNkMjIzM2FiMTJubTQ0NGFiNDIiKTsgX19leGVjdXRlZC5pbmRleCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5kZXggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmluZGV4KTsKfQoKLy9DSEVDSyMzCmlmIChfX2V4ZWN1dGVkLmlucHV0ICE9PSBfX2V4cGVjdGVkLmlucHV0KSB7CgkkRVJST1IoJyMzOiBfX3JlID0gLyg/OmFifGNkKVxcZD8vZzsgX19leGVjdXRlZCA9IF9fcmUuZXhlYygiYWFjZDIyMzNhYjEybm00NDRhYjQyIik7IF9fZXhlY3V0ZWQuaW5wdXQgPT09ICcgKyBfX2V4cGVjdGVkLmlucHV0ICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5pbnB1dCk7Cn0KCi8vQ0hFQ0sjNApmb3IodmFyIGluZGV4PTA7IGluZGV4PF9fZXhwZWN0ZWQubGVuZ3RoOyBpbmRleCsrKSB7CglpZiAoX19leGVjdXRlZFtpbmRleF0gIT09IF9fZXhwZWN0ZWRbaW5kZXhdKSB7CgkJJEVSUk9SKCcjNDogX19yZSA9IC8oPzphYnxjZClcXGQ/L2c7IF9fZXhlY3V0ZWQgPSBfX3JlLmV4ZWMoImFhY2QyMjMzYWIxMm5tNDQ0YWI0MiIpOyBfX2V4ZWN1dGVkWycgKyBpbmRleCArICddID09PSAnICsgX19leHBlY3RlZFtpbmRleF0gKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkW2luZGV4XSk7Cgl9Cn0KCl9fcmUubGFzdEluZGV4ID0gImVsZXZlbiI7CgpfX2V4ZWN1dGVkID0gX19yZS5leGVjKCJhYWNkMjIzM2FiMTJubTQ0NGFiNDIiKTsKCl9fZXhwZWN0ZWQgPSBbImNkMiJdOwpfX2V4cGVjdGVkLmluZGV4ID0gMjsKX19leHBlY3RlZC5pbnB1dCA9ICJhYWNkMjIzM2FiMTJubTQ0NGFiNDIiOwoKLy9DSEVDSyM1CmlmIChfX2V4ZWN1dGVkLmxlbmd0aCAhPT0gX19leHBlY3RlZC5sZW5ndGgpIHsKCSRFUlJPUignIzU6IF9fcmUgPSAvKD86YWJ8Y2QpXFxkPy9nOyBfX3JlLmxhc3RJbmRleCA9ICJlbGV2ZW4iOyBfX2V4ZWN1dGVkID0gX19yZS5leGVjKCJhYWNkMjIzM2FiMTJubTQ0NGFiNDIiKTsgX19leGVjdXRlZCA9IF9fcmUuZXhlYygiYWFjZDIyMzNhYjEybm00NDRhYjQyIik7IF9fZXhlY3V0ZWQubGVuZ3RoID09PSAnICsgX19leHBlY3RlZC5sZW5ndGggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmxlbmd0aCk7Cn0KCi8vQ0hFQ0sjNgppZiAoX19leGVjdXRlZC5pbmRleCAhPT0gX19leHBlY3RlZC5pbmRleCkgewoJJEVSUk9SKCcjNjogX19yZSA9IC8oPzphYnxjZClcXGQ/L2c7IF9fcmUubGFzdEluZGV4ID0gImVsZXZlbiI7IF9fZXhlY3V0ZWQgPSBfX3JlLmV4ZWMoImFhY2QyMjMzYWIxMm5tNDQ0YWI0MiIpOyBfX2V4ZWN1dGVkID0gX19yZS5leGVjKCJhYWNkMjIzM2FiMTJubTQ0NGFiNDIiKTsgX19leGVjdXRlZC5pbmRleCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5kZXggKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmluZGV4KTsKfQoKLy9DSEVDSyM3CmlmIChfX2V4ZWN1dGVkLmlucHV0ICE9PSBfX2V4cGVjdGVkLmlucHV0KSB7CgkkRVJST1IoJyM3OiBfX3JlID0gLyg/OmFifGNkKVxcZD8vZzsgX19yZS5sYXN0SW5kZXggPSAiZWxldmVuIjsgX19leGVjdXRlZCA9IF9fcmUuZXhlYygiYWFjZDIyMzNhYjEybm00NDRhYjQyIik7IF9fZXhlY3V0ZWQgPSBfX3JlLmV4ZWMoImFhY2QyMjMzYWIxMm5tNDQ0YWI0MiIpOyBfX2V4ZWN1dGVkLmlucHV0ID09PSAnICsgX19leHBlY3RlZC5pbnB1dCArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWQuaW5wdXQpOwp9CgovL0NIRUNLIzgKZm9yKHZhciBpbmRleD0wOyBpbmRleDxfX2V4cGVjdGVkLmxlbmd0aDsgaW5kZXgrKykgewoJaWYgKF9fZXhlY3V0ZWRbaW5kZXhdICE9PSBfX2V4cGVjdGVkW2luZGV4XSkgewoJCSRFUlJPUignIzg6IF9fcmUgPSAvKD86YWJ8Y2QpXFxkPy9nO19fcmUubGFzdEluZGV4ID0gImVsZXZlbiI7IF9fZXhlY3V0ZWQgPSBfX3JlLmV4ZWMoImFhY2QyMjMzYWIxMm5tNDQ0YWI0MiIpOyAgX19leGVjdXRlZCA9IF9fcmUuZXhlYygiYWFjZDIyMzNhYjEybm00NDRhYjQyIik7IF9fZXhlY3V0ZWRbJyArIGluZGV4ICsgJ10gPT09ICcgKyBfX2V4cGVjdGVkW2luZGV4XSArICcuIEFjdHVhbDogJyArIF9fZXhlY3V0ZWRbaW5kZXhdKTsKCX0KfQoKCg==","commentary":"RegExp.prototype.exec behavior depends on global property.\nIf global is true next exec calling start to match from lastIndex position","description":"Call first exec, then set re.lastIndex = \"eleven\" and again call exec","path":"TestCases/ch15/15.10/15.10.6/15.10.6.2/S15.10.6.2_A4_T9.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBSZWdFeHAucHJvdG90eXBlLmV4ZWMgYmVoYXZpb3IgZGVwZW5kcyBvbiBnbG9iYWwgcHJvcGVydHkuCiAqIExldCBnbG9iYWwgaXMgdHJ1ZSBhbmQgbGV0IEkgPSBJZiBUb0ludGVnZXIobGFzdEluZGV4KS4KICogVGhlbiBpZiBJPDAgb3JJPmxlbmd0aCB0aGVuIHNldCBsYXN0SW5kZXggdG8gMCBhbmQgcmV0dXJuIG51bGwKICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC42LzE1LjEwLjYuMi9TMTUuMTAuNi4yX0E1X1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBGaXJzdCBjYWxsIC8oPzphYnxjZClcZD8vZy5leGVjKCJhYWMxZHoyMjMzYTFiejEybm00NDRhYjQyIiksIGFuZCB0aGVuIEZpcnN0IGNhbGwgLyg/OmFifGNkKVxkPy9nLmV4ZWMoImFhY2QyMiIpCiAqLwoKX19yZSA9IC8oPzphYnxjZClcZD8vZzsKX19leGVjdXRlZCA9IF9fcmUuZXhlYygiYWFjMWR6MjIzM2ExYnoxMm5tNDQ0YWI0MiIpOwoKX19leHBlY3RlZCA9IFsiYWI0Il07Cl9fZXhwZWN0ZWQuaW5kZXggPSAyMTsKX19leHBlY3RlZC5pbnB1dCA9ICJhYWMxZHoyMjMzYTFiejEybm00NDRhYjQyIjsKCi8vQ0hFQ0sjMQppZiAoX19leGVjdXRlZC5sZW5ndGggIT09IF9fZXhwZWN0ZWQubGVuZ3RoKSB7CgkkRVJST1IoJyMxOiBfX3JlID0gLyg/OmFifGNkKVxcZD8vZzsgX19leGVjdXRlZCA9IF9fcmUuZXhlYygiYWFjMWR6MjIzM2ExYnoxMm5tNDQ0YWI0MiIpOyBfX2V4ZWN1dGVkLmxlbmd0aCA9PT0gJyArIF9fZXhwZWN0ZWQubGVuZ3RoICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5sZW5ndGgpOwp9CgovL0NIRUNLIzIKaWYgKF9fZXhlY3V0ZWQuaW5kZXggIT09IF9fZXhwZWN0ZWQuaW5kZXgpIHsKCSRFUlJPUignIzI6IF9fcmUgPSAvKD86YWJ8Y2QpXFxkPy9nOyBfX2V4ZWN1dGVkID0gX19yZS5leGVjKCJhYWMxZHoyMjMzYTFiejEybm00NDRhYjQyIik7IF9fZXhlY3V0ZWQuaW5kZXggPT09ICcgKyBfX2V4cGVjdGVkLmluZGV4ICsgJy4gQWN0dWFsOiAnICsgX19leGVjdXRlZC5pbmRleCk7Cn0KCi8vQ0hFQ0sjMwppZiAoX19leGVjdXRlZC5pbnB1dCAhPT0gX19leHBlY3RlZC5pbnB1dCkgewoJJEVSUk9SKCcjMzogX19yZSA9IC8oPzphYnxjZClcXGQ/L2c7IF9fZXhlY3V0ZWQgPSBfX3JlLmV4ZWMoImFhYzFkejIyMzNhMWJ6MTJubTQ0NGFiNDIiKTsgX19leGVjdXRlZC5pbnB1dCA9PT0gJyArIF9fZXhwZWN0ZWQuaW5wdXQgKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkLmlucHV0KTsKfQoKLy9DSEVDSyM0CmZvcih2YXIgaW5kZXg9MDsgaW5kZXg8X19leHBlY3RlZC5sZW5ndGg7IGluZGV4KyspIHsKCWlmIChfX2V4ZWN1dGVkW2luZGV4XSAhPT0gX19leHBlY3RlZFtpbmRleF0pIHsKCQkkRVJST1IoJyM0OiBfX3JlID0gLyg/OmFifGNkKVxcZD8vZzsgX19leGVjdXRlZCA9IF9fcmUuZXhlYygiYWFjMWR6MjIzM2ExYnoxMm5tNDQ0YWI0MiIpOyBfX2V4ZWN1dGVkWycgKyBpbmRleCArICddID09PSAnICsgX19leHBlY3RlZFtpbmRleF0gKyAnLiBBY3R1YWw6ICcgKyBfX2V4ZWN1dGVkW2luZGV4XSk7Cgl9Cn0KCl9fZXhlY3V0ZWQgPSBfX3JlLmV4ZWMoImFhY2QyMiIpOwoKLy9DSEVDSyM1CmlmIChfX2V4ZWN1dGVkKSB7CgkkRVJST1IoJyM1OiBfX3JlID0gLyg/OmFifGNkKVxcZD8vZzsgX19leGVjdXRlZCA9IF9fcmUuZXhlYygiYWFjZDIyIik7IF9fZXhlY3V0ZWQgPT09IHRydWUnKTsKfQoKLy9DSEVDSyM2CmlmIChfX3JlLmxhc3RJbmRleCAhPT0gMCkgewoJJEVSUk9SKCcjNjogX19yZSA9IC8oPzphYnxjZClcXGQ/L2c7IF9fZXhlY3V0ZWQgPSBfX3JlLmV4ZWMoImFhY2QyMiIpOyBfX3JlLmxhc3RJbmRleCA9PT0gMC4gQWN0dWFsOiAnICsgKF9fcmUubGFzdEluZGV4KSk7Cn0KCgo=","commentary":"RegExp.prototype.exec behavior depends on global property.\nLet global is true and let I = If ToInteger(lastIndex).\nThen if I<0 orI>length then set lastIndex to 0 and return null","description":"First call /(?:ab|cd)\\d?/g.exec(\"aac1dz2233a1bz12nm444ab42\"), and then First call /(?:ab|cd)\\d?/g.exec(\"aacd22\")","path":"TestCases/ch15/15.10/15.10.6/15.10.6.2/S15.10.6.2_A5_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBSZWdFeHAucHJvdG90eXBlLmV4ZWMgYmVoYXZpb3IgZGVwZW5kcyBvbiBnbG9iYWwgcHJvcGVydHkuCiAqIExldCBnbG9iYWwgaXMgdHJ1ZSBhbmQgbGV0IEkgPSBJZiBUb0ludGVnZXIobGFzdEluZGV4KS4KICogVGhlbiBpZiBJPDAgb3JJPmxlbmd0aCB0aGVuIHNldCBsYXN0SW5kZXggdG8gMCBhbmQgcmV0dXJuIG51bGwKICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC42LzE1LjEwLjYuMi9TMTUuMTAuNi4yX0E1X1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBTZXQgbGFzdEluZGV4IHRvIDEwMCBhbmQgY2FsbCAvKD86YWJ8Y2QpXGQ/L2cuZXhlYygiYWFjZDIyICIpCiAqLwoKX19yZSA9IC8oPzphYnxjZClcZD8vZzsKX19yZS5sYXN0SW5kZXg9MTAwOwpfX2V4ZWN1dGVkID0gX19yZS5leGVjKCJhYWNkMjIgIik7CgovL0NIRUNLIzEKaWYgKF9fZXhlY3V0ZWQpIHsKCSRFUlJPUignIzE6IF9fcmUgPSAvKD86YWJ8Y2QpXFxkPy9nOyBfX3JlLmxhc3RJbmRleD0xMDA7IF9fZXhlY3V0ZWQgPSBfX3JlLmV4ZWMoImFhY2QyMiAiKTsgX19leGVjdXRlZCA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzIKaWYgKF9fcmUubGFzdEluZGV4ICE9PSAwKSB7CgkkRVJST1IoJyMyOiBfX3JlID0gLyg/OmFifGNkKVxcZD8vZzsgX19yZS5sYXN0SW5kZXg9MTAwOyBfX2V4ZWN1dGVkID0gX19yZS5leGVjKCJhYWNkMjIgIik7IF9fcmUubGFzdEluZGV4ID09PSAwLiBBY3R1YWw6ICcgKyAoX19yZS5sYXN0SW5kZXgpKTsKfQoKCg==","commentary":"RegExp.prototype.exec behavior depends on global property.\nLet global is true and let I = If ToInteger(lastIndex).\nThen if I<0 orI>length then set lastIndex to 0 and return null","description":"Set lastIndex to 100 and call /(?:ab|cd)\\d?/g.exec(\"aacd22 \")","path":"TestCases/ch15/15.10/15.10.6/15.10.6.2/S15.10.6.2_A5_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBSZWdFeHAucHJvdG90eXBlLmV4ZWMgYmVoYXZpb3IgZGVwZW5kcyBvbiBnbG9iYWwgcHJvcGVydHkuCiAqIExldCBnbG9iYWwgaXMgdHJ1ZSBhbmQgbGV0IEkgPSBJZiBUb0ludGVnZXIobGFzdEluZGV4KS4KICogVGhlbiBpZiBJPDAgb3JJPmxlbmd0aCB0aGVuIHNldCBsYXN0SW5kZXggdG8gMCBhbmQgcmV0dXJuIG51bGwKICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC42LzE1LjEwLjYuMi9TMTUuMTAuNi4yX0E1X1QzLmpzCiAqIEBkZXNjcmlwdGlvbiBTZXQgbGFzdEluZGV4IHRvIC0xIGFuZCBjYWxsIC8oPzphYnxjZClcZD8vZy5leGVjKCJhYWNkMjIgIikKICovCgpfX3JlID0gLyg/OmFifGNkKVxkPy9nOwpfX3JlLmxhc3RJbmRleD0tMTsKX19leGVjdXRlZCA9IF9fcmUudGVzdCgiYWFjZDIyICIpOwoKLy9DSEVDSyMxCmlmIChfX2V4ZWN1dGVkKSB7CgkkRVJST1IoJyMxOiBfX3JlID0gLyg/OmFifGNkKVxcZD8vZzsgX19yZS5sYXN0SW5kZXg9LTE7IF9fZXhlY3V0ZWQgPSBfX3JlLnRlc3QoImFhY2QyMiAiKTsgX19leGVjdXRlZCA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzIKaWYgKF9fcmUubGFzdEluZGV4ICE9PSAwKSB7CgkkRVJST1IoJyMyOiBfX3JlID0gLyg/OmFifGNkKVxcZD8vZzsgX19yZS5sYXN0SW5kZXg9LTE7IF9fZXhlY3V0ZWQgPSBfX3JlLnRlc3QoImFhY2QyMiAiKTsgX19yZS5sYXN0SW5kZXggPT09IDAuIEFjdHVhbDogJyArIChfX3JlLmxhc3RJbmRleCkpOwp9CgpfX3JlLmxhc3RJbmRleD0tMTAwOwpfX2V4ZWN1dGVkID0gX19yZS50ZXN0KCJhYWNkMjIgIik7CgovL0NIRUNLIzMKaWYgKF9fZXhlY3V0ZWQpIHsKCSRFUlJPUignIzM6IF9fcmUgPSAvKD86YWJ8Y2QpXFxkPy9nOyBfX3JlLmxhc3RJbmRleD0tMTsgX19leGVjdXRlZCA9IF9fcmUudGVzdCgiYWFjZDIyICIpOyBfX3JlLmxhc3RJbmRleD0tMTAwOyBfX2V4ZWN1dGVkID0gX19yZS50ZXN0KCJhYWNkMjIgIik7IF9fZXhlY3V0ZWQgPT09IHRydWUnKTsKfQoKLy9DSEVDSyM0CmlmIChfX3JlLmxhc3RJbmRleCAhPT0gMCkgewoJJEVSUk9SKCcjNDogX19yZSA9IC8oPzphYnxjZClcXGQ/L2c7IF9fcmUubGFzdEluZGV4PS0xOyBfX2V4ZWN1dGVkID0gX19yZS50ZXN0KCJhYWNkMjIgIik7IF9fcmUubGFzdEluZGV4PS0xMDA7IF9fZXhlY3V0ZWQgPSBfX3JlLnRlc3QoImFhY2QyMiAiKTsgX19yZS5sYXN0SW5kZXggPT09IDAuIEFjdHVhbDogJyArIChfX3JlLmxhc3RJbmRleCkpOwp9CgoK","commentary":"RegExp.prototype.exec behavior depends on global property.\nLet global is true and let I = If ToInteger(lastIndex).\nThen if I<0 orI>length then set lastIndex to 0 and return null","description":"Set lastIndex to -1 and call /(?:ab|cd)\\d?/g.exec(\"aacd22 \")","path":"TestCases/ch15/15.10/15.10.6/15.10.6.2/S15.10.6.2_A5_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBSZWdFeHAucHJvdG90eXBlLmV4ZWMgaGFzIG5vdCBwcm90b3R5cGUgcHJvcGVydHkKICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC42LzE1LjEwLjYuMi9TMTUuMTAuNi4yX0E2LmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBSZWdFeHAucHJvdG90eXBlLmV4ZWMucHJvdG90eXBlCiAqLwoKLy9DSEVDSyMxCmlmIChSZWdFeHAucHJvdG90eXBlLmV4ZWMucHJvdG90eXBlICE9PSB1bmRlZmluZWQpIHsKICAkRVJST1IoJyMxOiBSZWdFeHAucHJvdG90eXBlLmV4ZWMucHJvdG90eXBlID09PSB1bmRlZmluZWQuIEFjdHVhbDogJyArIChSZWdFeHAucHJvdG90eXBlLmV4ZWMucHJvdG90eXBlKSk7Cn0KCg==","commentary":"RegExp.prototype.exec has not prototype property","description":"Checking RegExp.prototype.exec.prototype","path":"TestCases/ch15/15.10/15.10.6/15.10.6.2/S15.10.6.2_A6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBSZWdFeHAucHJvdG90eXBlLmV4ZWMgY2FuJ3QgYmUgdXNlZCBhcyBjb25zdHJ1Y3RvcgogKgogKiBAcGF0aCBjaDE1LzE1LjEwLzE1LjEwLjYvMTUuMTAuNi4yL1MxNS4xMC42LjJfQTcuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIGNyZWF0aW5nIHRoZSBSZWdFeHAucHJvdG90eXBlLmV4ZWMgb2JqZWN0IGZhaWxzCiAqLwoKX19GQUNUT1JZID0gUmVnRXhwLnByb3RvdHlwZS5leGVjOwoKdHJ5IHsKICBfX2luc3RhbmNlID0gbmV3IF9fRkFDVE9SWTsKICAkRVJST1IoJyMxLjE6IF9fRkFDVE9SWSA9IFJlZ0V4cC5wcm90b3R5cGUuZXhlYyB0aHJvdyBUeXBlRXJyb3IuIEFjdHVhbDogJyArIChfX2luc3RhbmNlKSk7Cn0gY2F0Y2ggKGUpIHsKICBpZiAoKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpICE9PSB0cnVlKSB7CiAgICAkRVJST1IoJyMxLjI6IF9fRkFDVE9SWSA9IFJlZ0V4cC5wcm90b3R5cGUuZXhlYyB0aHJvdyBUeXBlRXJyb3IuIEFjdHVhbDogJyArIChlKSk7CiAgfQp9Cgo=","commentary":"RegExp.prototype.exec can't be used as constructor","description":"Checking if creating the RegExp.prototype.exec object fails","path":"TestCases/ch15/15.10/15.10.6/15.10.6.2/S15.10.6.2_A7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgUmVnRXhwLnByb3RvdHlwZS5leGVjLmxlbmd0aCBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZSBEb250RW51bQogKgogKiBAcGF0aCBjaDE1LzE1LjEwLzE1LjEwLjYvMTUuMTAuNi4yL1MxNS4xMC42LjJfQTguanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIGVudW1lcmF0aW5nIHRoZSBSZWdFeHAucHJvdG90eXBlLmV4ZWMubGVuZ3RoIHByb3BlcnR5IGZhaWxzCiAqLwoKLy9DSEVDSyMwCmlmIChSZWdFeHAucHJvdG90eXBlLmV4ZWMuaGFzT3duUHJvcGVydHkoJ2xlbmd0aCcpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMDogUmVnRXhwLnByb3RvdHlwZS5leGVjLmhhc093blByb3BlcnR5KFwnbGVuZ3RoXCcpID09PSB0cnVlJyk7Cn0KCiAvL0NIRUNLIzEKaWYgKFJlZ0V4cC5wcm90b3R5cGUuZXhlYy5wcm9wZXJ0eUlzRW51bWVyYWJsZSgnbGVuZ3RoJykgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjMTogUmVnRXhwLnByb3RvdHlwZS5leGVjLnByb3BlcnR5SXNFbnVtZXJhYmxlKFwnbGVuZ3RoXCcpID09PSB0cnVlJyk7Cn0KCiAvL0NIRUNLIzIKY291bnQ9MDsKCmZvciAocCBpbiBSZWdFeHAucHJvdG90eXBlLmV4ZWMpewogIGlmIChwPT09Imxlbmd0aCIpIGNvdW50Kys7Cn0KCmlmIChjb3VudCAhPT0gMCkgewogICRFUlJPUignIzI6IGNvdW50ID0gMDsgZm9yIChwIGluIFJlZ0V4cC5wcm90b3R5cGUuZXhlYyl7IGlmIChwPT09Imxlbmd0aCIpIGNvdW50Kys7IH0gY291bnQgPT09IDAuIEFjdHVhbDogJyArIChjb3VudCkpOwp9CgoK","commentary":"The RegExp.prototype.exec.length property has the attribute DontEnum","description":"Checking if enumerating the RegExp.prototype.exec.length property fails","path":"TestCases/ch15/15.10/15.10.6/15.10.6.2/S15.10.6.2_A8.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgUmVnRXhwLnByb3RvdHlwZS5leGVjLmxlbmd0aCBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZSBEb250RGVsZXRlCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuNi8xNS4xMC42LjIvUzE1LjEwLjYuMl9BOS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgaWYgZGVsZXRpbmcgdGhlIFJlZ0V4cC5wcm90b3R5cGUuZXhlYy5sZW5ndGggcHJvcGVydHkgZmFpbHMKICovCgovL0NIRUNLIzAKaWYgKChSZWdFeHAucHJvdG90eXBlLmV4ZWMuaGFzT3duUHJvcGVydHkoJ2xlbmd0aCcpICE9PSB0cnVlKSkgewogICRGQUlMKCcjMDogUmVnRXhwLnByb3RvdHlwZS5leGVjLmhhc093blByb3BlcnR5KFwnbGVuZ3RoXCcpID09PSB0cnVlJyk7Cn0KCi8vQ0hFQ0sjMQppZiAoZGVsZXRlIFJlZ0V4cC5wcm90b3R5cGUuZXhlYy5sZW5ndGggIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjMTogZGVsZXRlIFJlZ0V4cC5wcm90b3R5cGUuZXhlYy5sZW5ndGggPT09IGZhbHNlJyk7Cn0KCi8vQ0hFQ0sjMgppZiAoUmVnRXhwLnByb3RvdHlwZS5leGVjLmhhc093blByb3BlcnR5KCdsZW5ndGgnKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzI6IGRlbGV0ZSBSZWdFeHAucHJvdG90eXBlLmV4ZWMubGVuZ3RoOyBSZWdFeHAucHJvdG90eXBlLmV4ZWMuaGFzT3duUHJvcGVydHkoXCdsZW5ndGhcJykgPT09IHRydWUnKTsKfQoKCg==","commentary":"The RegExp.prototype.exec.length property has the attribute DontDelete","description":"Checking if deleting the RegExp.prototype.exec.length property fails","path":"TestCases/ch15/15.10/15.10.6/15.10.6.2/S15.10.6.2_A9.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgUmVnRXhwLnByb3RvdHlwZS50ZXN0Lmxlbmd0aCBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZSBSZWFkT25seQogKgogKiBAcGF0aCBjaDE1LzE1LjEwLzE1LjEwLjYvMTUuMTAuNi4zL1MxNS4xMC42LjNfQTEwLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiB2YXJ5aW5nIHRoZSBSZWdFeHAucHJvdG90eXBlLnRlc3QubGVuZ3RoIHByb3BlcnR5IGZhaWxzCiAqLwoKLy9DSEVDSyMxCmlmIChSZWdFeHAucHJvdG90eXBlLnRlc3QuaGFzT3duUHJvcGVydHkoJ2xlbmd0aCcpICE9PSB0cnVlKSB7CiAgJEZBSUwoJyMxOiBSZWdFeHAucHJvdG90eXBlLnRlc3QuaGFzT3duUHJvcGVydHkoXCdsZW5ndGhcJykgPT09IHRydWUnKTsKfQoKX19vYmogPSBSZWdFeHAucHJvdG90eXBlLnRlc3QubGVuZ3RoOwoKUmVnRXhwLnByb3RvdHlwZS50ZXN0Lmxlbmd0aCA9IGZ1bmN0aW9uKCl7cmV0dXJuICJzaGlmdGVkIjt9OwoKLy9DSEVDSyMyCmlmIChSZWdFeHAucHJvdG90eXBlLnRlc3QubGVuZ3RoICE9PSBfX29iaikgewogICRFUlJPUignIzI6IF9fb2JqID0gUmVnRXhwLnByb3RvdHlwZS50ZXN0Lmxlbmd0aDsgUmVnRXhwLnByb3RvdHlwZS50ZXN0Lmxlbmd0aCA9IGZ1bmN0aW9uKCl7cmV0dXJuICJzaGlmdGVkIjt9OyBSZWdFeHAucHJvdG90eXBlLnRlc3QubGVuZ3RoID09PSBfX29iai4gQWN0dWFsOiAnICsgKFJlZ0V4cC5wcm90b3R5cGUudGVzdC5sZW5ndGgpKTsKfQoKCg==","commentary":"The RegExp.prototype.test.length property has the attribute ReadOnly","description":"Checking if varying the RegExp.prototype.test.length property fails","path":"TestCases/ch15/15.10/15.10.6/15.10.6.3/S15.10.6.3_A10.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgbGVuZ3RoIHByb3BlcnR5IG9mIHRoZSB0ZXN0IG1ldGhvZCBpcyAxCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuNi8xNS4xMC42LjMvUzE1LjEwLjYuM19BMTEuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIFJlZ0V4cC5wcm90b3R5cGUudGVzdC5sZW5ndGgKICovCgovL0NIRUNLIzEKaWYgKFJlZ0V4cC5wcm90b3R5cGUudGVzdC5oYXNPd25Qcm9wZXJ0eSgibGVuZ3RoIikgIT09IHRydWUpIHsKICAkRkFJTCgnIzE6IFJlZ0V4cC5wcm90b3R5cGUudGVzdC5oYXNPd25Qcm9wZXJ0eShcJ2xlbmd0aFwnKSA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzIKaWYgKFJlZ0V4cC5wcm90b3R5cGUudGVzdC5sZW5ndGggIT09IDEpIHsKICAkRVJST1IoJyMyOiBSZWdFeHAucHJvdG90eXBlLnRlc3QubGVuZ3RoID09PSAxLiBBY3R1YWw6ICcgKyAoUmVnRXhwLnByb3RvdHlwZS50ZXN0Lmxlbmd0aCkpOwp9CgoK","commentary":"The length property of the test method is 1","description":"Checking RegExp.prototype.test.length","path":"TestCases/ch15/15.10/15.10.6/15.10.6.3/S15.10.6.3_A11.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBFcXVpdmFsZW50IHRvIHRoZSBleHByZXNzaW9uIFJlZ0V4cC5wcm90b3R5cGUuZXhlYyhzdHJpbmcpICE9IG51bGwKICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC42LzE1LjEwLjYuMy9TMTUuMTAuNi4zX0ExX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBSZWdFeHAgaXMgLzF8MTIvIGFuZCB0ZXN0ZWQgc3RyaW5nIGlzICIxMjMiCiAqLwoKdmFyIF9fc3RyaW5nID0gIjEyMyI7Cl9fcmUgPSAvMXwxMi87CgovL0NIRUNLIzAKaWYgKF9fcmUudGVzdChfX3N0cmluZykgIT09IChfX3JlLmV4ZWMoX19zdHJpbmcpICE9PSBudWxsKSkgewoJJEVSUk9SKCcjMDogdmFyIF9fc3RyaW5nID0gIjEyMyI7X19yZSA9IC8xfDEyLzsgX19yZS50ZXN0KF9fc3RyaW5nKSA9PT0gKF9fcmUuZXhlYyhfX3N0cmluZykgIT09IG51bGwpJyk7Cn0KCgo=","commentary":"Equivalent to the expression RegExp.prototype.exec(string) != null","description":"RegExp is /1|12/ and tested string is \"123\"","path":"TestCases/ch15/15.10/15.10.6/15.10.6.3/S15.10.6.3_A1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBFcXVpdmFsZW50IHRvIHRoZSBleHByZXNzaW9uIFJlZ0V4cC5wcm90b3R5cGUuZXhlYyhzdHJpbmcpICE9IG51bGwKICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC42LzE1LjEwLjYuMy9TMTUuMTAuNi4zX0ExX1QxMC5qcwogKiBAZGVzY3JpcHRpb24gUmVnRXhwIGlzIC8xfDEyLyBhbmQgdGVzdGVkIHN0cmluZyBpcyAxLjAxCiAqLwoKdmFyIF9fc3RyaW5nID0gMS4wMTsKX19yZSA9IC8xfDEyLzsKCi8vQ0hFQ0sjMAppZiAoX19yZS50ZXN0KF9fc3RyaW5nKSAhPT0gKF9fcmUuZXhlYyhfX3N0cmluZykgIT09IG51bGwpKSB7CgkkRVJST1IoJyMwOiB2YXIgX19zdHJpbmcgPSAxLjAxO19fcmUgPSAvMXwxMi87IF9fcmUudGVzdChfX3N0cmluZykgPT09IChfX3JlLmV4ZWMoX19zdHJpbmcpICE9PSBudWxsKScpOwp9CgoK","commentary":"Equivalent to the expression RegExp.prototype.exec(string) != null","description":"RegExp is /1|12/ and tested string is 1.01","path":"TestCases/ch15/15.10/15.10.6/15.10.6.3/S15.10.6.3_A1_T10.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBFcXVpdmFsZW50IHRvIHRoZSBleHByZXNzaW9uIFJlZ0V4cC5wcm90b3R5cGUuZXhlYyhzdHJpbmcpICE9IG51bGwKICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC42LzE1LjEwLjYuMy9TMTUuMTAuNi4zX0ExX1QxMS5qcwogKiBAZGVzY3JpcHRpb24gUmVnRXhwIGlzIC8yfDEyLyBhbmQgdGVzdGVkIHN0cmluZyBpcyBuZXcgTnVtYmVyKDEuMDEyKQogKi8KCnZhciBfX3N0cmluZyA9IG5ldyBOdW1iZXIoMS4wMTIpOwpfX3JlID0gLzJ8MTIvOwoKLy9DSEVDSyMwCmlmIChfX3JlLnRlc3QoX19zdHJpbmcpICE9PSAoX19yZS5leGVjKF9fc3RyaW5nKSAhPT0gbnVsbCkpIHsKCSRFUlJPUignIzA6IHZhciBfX3N0cmluZyA9IG5ldyBOdW1iZXIoMS4wMTIpOyBfX3JlID0gLzJ8MTIvOyBfX3JlLnRlc3QoX19zdHJpbmcpID09PSAoX19yZS5leGVjKF9fc3RyaW5nKSAhPT0gbnVsbCknKTsKfQoKCg==","commentary":"Equivalent to the expression RegExp.prototype.exec(string) != null","description":"RegExp is /2|12/ and tested string is new Number(1.012)","path":"TestCases/ch15/15.10/15.10.6/15.10.6.3/S15.10.6.3_A1_T11.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBFcXVpdmFsZW50IHRvIHRoZSBleHByZXNzaW9uIFJlZ0V4cC5wcm90b3R5cGUuZXhlYyhzdHJpbmcpICE9IG51bGwKICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC42LzE1LjEwLjYuMy9TMTUuMTAuNi4zX0ExX1QxMi5qcwogKiBAZGVzY3JpcHRpb24gUmVnRXhwIGlzIC9cLjE0LyBhbmQgdGVzdGVkIHN0cmluZyBpcyB7dG9TdHJpbmc6ZnVuY3Rpb24oKXtyZXR1cm4gTWF0aC5QSTt9fQogKi8KCnZhciBfX3N0cmluZyA9IHt0b1N0cmluZzpmdW5jdGlvbigpe3JldHVybiBNYXRoLlBJO319OwpfX3JlID0gL1wuMTQvOwoKLy9DSEVDSyMwCmlmIChfX3JlLnRlc3QoX19zdHJpbmcpICE9PSAoX19yZS5leGVjKF9fc3RyaW5nKSAhPT0gbnVsbCkpIHsKCSRFUlJPUignIzA6IHZhciBfX3N0cmluZyA9IHt0b1N0cmluZzpmdW5jdGlvbigpe3JldHVybiBNYXRoLlBJO319OyBfX3JlID0gL1xcLjE0LzsgX19yZS50ZXN0KF9fc3RyaW5nKSA9PT0gKF9fcmUuZXhlYyhfX3N0cmluZykgIT09IG51bGwpJyk7Cn0KCgo=","commentary":"Equivalent to the expression RegExp.prototype.exec(string) != null","description":"RegExp is /\\.14/ and tested string is {toString:function(){return Math.PI;}}","path":"TestCases/ch15/15.10/15.10.6/15.10.6.3/S15.10.6.3_A1_T12.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBFcXVpdmFsZW50IHRvIHRoZSBleHByZXNzaW9uIFJlZ0V4cC5wcm90b3R5cGUuZXhlYyhzdHJpbmcpICE9IG51bGwKICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC42LzE1LjEwLjYuMy9TMTUuMTAuNi4zX0ExX1QxMy5qcwogKiBAZGVzY3JpcHRpb24gUmVnRXhwIGlzIC90W2EtYnxxLXNdLyBhbmQgdGVzdGVkIHN0cmluZyBpcyB0cnVlCiAqLwoKdmFyIF9fc3RyaW5nID0gdHJ1ZTsKX19yZSA9IC90W2EtYnxxLXNdLzsKCi8vQ0hFQ0sjMAppZiAoX19yZS50ZXN0KF9fc3RyaW5nKSAhPT0gKF9fcmUuZXhlYyhfX3N0cmluZykgIT09IG51bGwpKSB7CgkkRVJST1IoJyMwOiB2YXIgX19zdHJpbmcgPSB0cnVlO19fcmUgPSAvdFthLWJ8cS1zXS87IF9fcmUudGVzdChfX3N0cmluZykgPT09IChfX3JlLmV4ZWMoX19zdHJpbmcpICE9PSBudWxsKScpOwp9CgoK","commentary":"Equivalent to the expression RegExp.prototype.exec(string) != null","description":"RegExp is /t[a-b|q-s]/ and tested string is true","path":"TestCases/ch15/15.10/15.10.6/15.10.6.3/S15.10.6.3_A1_T13.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBFcXVpdmFsZW50IHRvIHRoZSBleHByZXNzaW9uIFJlZ0V4cC5wcm90b3R5cGUuZXhlYyhzdHJpbmcpICE9IG51bGwKICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC42LzE1LjEwLjYuMy9TMTUuMTAuNi4zX0ExX1QxNC5qcwogKiBAZGVzY3JpcHRpb24gUmVnRXhwIGlzIC9BTHxzZS8gYW5kIHRlc3RlZCBzdHJpbmcgaXMgbmV3IEJvb2xlYW4KICovCgp2YXIgX19zdHJpbmcgPSBuZXcgQm9vbGVhbjsKX19yZSA9IC9BTHxzZS87CgovL0NIRUNLIzAKaWYgKF9fcmUudGVzdChfX3N0cmluZykgIT09IChfX3JlLmV4ZWMoX19zdHJpbmcpICE9PSBudWxsKSkgewoJJEVSUk9SKCcjMDogdmFyIF9fc3RyaW5nID0gbmV3IEJvb2xlYW47X19yZSA9IC9BTHxzZS87IF9fcmUudGVzdChfX3N0cmluZykgPT09IChfX3JlLmV4ZWMoX19zdHJpbmcpICE9PSBudWxsKScpOwp9CgoK","commentary":"Equivalent to the expression RegExp.prototype.exec(string) != null","description":"RegExp is /AL|se/ and tested string is new Boolean","path":"TestCases/ch15/15.10/15.10.6/15.10.6.3/S15.10.6.3_A1_T14.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBFcXVpdmFsZW50IHRvIHRoZSBleHByZXNzaW9uIFJlZ0V4cC5wcm90b3R5cGUuZXhlYyhzdHJpbmcpICE9IG51bGwKICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC42LzE1LjEwLjYuMy9TMTUuMTAuNi4zX0ExX1QxNS5qcwogKiBAZGVzY3JpcHRpb24gUmVnRXhwIGlzIC9MUy9pIGFuZCB0ZXN0ZWQgc3RyaW5nIGlzIHt0b1N0cmluZzpmdW5jdGlvbigpe3JldHVybiBmYWxzZTt9fQogKi8KCnZhciBfX3N0cmluZyA9IHt0b1N0cmluZzpmdW5jdGlvbigpe3JldHVybiBmYWxzZTt9fTsKX19yZSA9IC9MUy9pOwoKLy9DSEVDSyMwCmlmIChfX3JlLnRlc3QoX19zdHJpbmcpICE9PSAoX19yZS5leGVjKF9fc3RyaW5nKSAhPT0gbnVsbCkpIHsKCSRFUlJPUignIzA6IHZhciBfX3N0cmluZyA9IHt0b1N0cmluZzpmdW5jdGlvbigpe3JldHVybiBmYWxzZTt9fTsgX19yZSA9IC9MUy9pOyBfX3JlLnRlc3QoX19zdHJpbmcpID09PSAoX19yZS5leGVjKF9fc3RyaW5nKSAhPT0gbnVsbCknKTsKfQoKCg==","commentary":"Equivalent to the expression RegExp.prototype.exec(string) != null","description":"RegExp is /LS/i and tested string is {toString:function(){return false;}}","path":"TestCases/ch15/15.10/15.10.6/15.10.6.3/S15.10.6.3_A1_T15.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBFcXVpdmFsZW50IHRvIHRoZSBleHByZXNzaW9uIFJlZ0V4cC5wcm90b3R5cGUuZXhlYyhzdHJpbmcpICE9IG51bGwKICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC42LzE1LjEwLjYuMy9TMTUuMTAuNi4zX0ExX1QxNi5qcwogKiBAZGVzY3JpcHRpb24gUmVnRXhwIGlzIC91bmRlZmluZWQvIGFuZCBjYWxsIHRlc3QoKSB3aXRob3V0IGFyZ3VtZW50cwogKi8KCl9fcmUgPSAvdW5kZWZpbmVkLzsKCi8vQ0hFQ0sjMAppZiAoX19yZS50ZXN0KCkgIT09IChfX3JlLmV4ZWMoKSAhPT0gbnVsbCkpIHsKCSRFUlJPUignIzA6IF9fcmUgPSAvdW5kZWZpbmVkLzsgX19yZS50ZXN0KCkgPT09IChfX3JlLmV4ZWMoKSAhPT0gbnVsbCknKTsKfQoKCg==","commentary":"Equivalent to the expression RegExp.prototype.exec(string) != null","description":"RegExp is /undefined/ and call test() without arguments","path":"TestCases/ch15/15.10/15.10.6/15.10.6.3/S15.10.6.3_A1_T16.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBFcXVpdmFsZW50IHRvIHRoZSBleHByZXNzaW9uIFJlZ0V4cC5wcm90b3R5cGUuZXhlYyhzdHJpbmcpICE9IG51bGwKICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC42LzE1LjEwLjYuMy9TMTUuMTAuNi4zX0ExX1QxNy5qcwogKiBAZGVzY3JpcHRpb24gUmVnRXhwIGlzIC9sbHxsLyBhbmQgdGVzdGVkIHN0cmluZyBpcyBudWxsCiAqLwoKX19yZSA9IC9sbHxsLzsKCi8vQ0hFQ0sjMAppZiAoX19yZS50ZXN0KG51bGwpICE9PSAoX19yZS5leGVjKG51bGwpICE9PSBudWxsKSkgewoJJEVSUk9SKCcjMDogX19yZSA9IC9sbHxsLzsgX19yZS50ZXN0KG51bGwpID09PSAoX19yZS5leGVjKG51bGwpICE9PSBudWxsKScpOwp9CgoK","commentary":"Equivalent to the expression RegExp.prototype.exec(string) != null","description":"RegExp is /ll|l/ and tested string is null","path":"TestCases/ch15/15.10/15.10.6/15.10.6.3/S15.10.6.3_A1_T17.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBFcXVpdmFsZW50IHRvIHRoZSBleHByZXNzaW9uIFJlZ0V4cC5wcm90b3R5cGUuZXhlYyhzdHJpbmcpICE9IG51bGwKICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC42LzE1LjEwLjYuMy9TMTUuMTAuNi4zX0ExX1QxOC5qcwogKiBAZGVzY3JpcHRpb24gUmVnRXhwIGlzIC9uZHxuZS8gYW5kIHRlc3RlZCBzdHJpbmcgaXMgdW5kZWZpbmVkCiAqLwoKX19yZSA9IC9uZHxuZS87CgovL0NIRUNLIzAKaWYgKF9fcmUudGVzdCh1bmRlZmluZWQpICE9PSAoX19yZS5leGVjKHVuZGVmaW5lZCkgIT09IG51bGwpKSB7CgkkRVJST1IoJyMwOiBfX3JlID0gL25kfG5lLzsgX19yZS50ZXN0KHVuZGVmaW5lZCkgPT09IChfX3JlLmV4ZWModW5kZWZpbmVkKSAhPT0gbnVsbCknKTsKfQoKCg==","commentary":"Equivalent to the expression RegExp.prototype.exec(string) != null","description":"RegExp is /nd|ne/ and tested string is undefined","path":"TestCases/ch15/15.10/15.10.6/15.10.6.3/S15.10.6.3_A1_T18.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBFcXVpdmFsZW50IHRvIHRoZSBleHByZXNzaW9uIFJlZ0V4cC5wcm90b3R5cGUuZXhlYyhzdHJpbmcpICE9IG51bGwKICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC42LzE1LjEwLjYuMy9TMTUuMTAuNi4zX0ExX1QxOS5qcwogKiBAZGVzY3JpcHRpb24gUmVnRXhwIGlzIC9lezF9LyBhbmQgdGVzdGVkIHN0cmluZyBpcyB2b2lkIDAKICovCgpfX3JlID0gL2V7MX0vOwoKLy9DSEVDSyMwCmlmIChfX3JlLnRlc3Qodm9pZCAwKSAhPT0gKF9fcmUuZXhlYyh2b2lkIDApICE9PSBudWxsKSkgewoJJEVSUk9SKCcjMDogX19yZSA9IC9lezF9LzsgX19yZS50ZXN0KHZvaWQgMCkgPT09IChfX3JlLmV4ZWModm9pZCAwKSAhPT0gbnVsbCknKTsKfQoKCg==","commentary":"Equivalent to the expression RegExp.prototype.exec(string) != null","description":"RegExp is /e{1}/ and tested string is void 0","path":"TestCases/ch15/15.10/15.10.6/15.10.6.3/S15.10.6.3_A1_T19.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBFcXVpdmFsZW50IHRvIHRoZSBleHByZXNzaW9uIFJlZ0V4cC5wcm90b3R5cGUuZXhlYyhzdHJpbmcpICE9IG51bGwKICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC42LzE1LjEwLjYuMy9TMTUuMTAuNi4zX0ExX1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBSZWdFeHAgaXMgLygoMSl8KDEyKSkoKDMpfCgyMykpLyBhbmQgdGVzdGVkIHN0cmluZyBpcyBuZXcgU3RyaW5nKCIxMjMiKQogKi8KCnZhciBfX3N0cmluZyA9IG5ldyBTdHJpbmcoIjEyMyIpOwpfX3JlID0gLygoMSl8KDEyKSkoKDMpfCgyMykpLzsKCi8vQ0hFQ0sjMAppZiAoX19yZS50ZXN0KF9fc3RyaW5nKSAhPT0gKF9fcmUuZXhlYyhfX3N0cmluZykgIT09IG51bGwpKSB7CgkkRVJST1IoJyMwOiB2YXIgX19zdHJpbmcgPSBuZXcgU3RyaW5nKCIxMjMiKTsgX19yZSA9IC8oKDEpfCgxMikpKCgzKXwoMjMpKS87IF9fcmUudGVzdChfX3N0cmluZykgPT09IChfX3JlLmV4ZWMoX19zdHJpbmcpICE9PSBudWxsKScpOwp9CgoK","commentary":"Equivalent to the expression RegExp.prototype.exec(string) != null","description":"RegExp is /((1)|(12))((3)|(23))/ and tested string is new String(\"123\")","path":"TestCases/ch15/15.10/15.10.6/15.10.6.3/S15.10.6.3_A1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBFcXVpdmFsZW50IHRvIHRoZSBleHByZXNzaW9uIFJlZ0V4cC5wcm90b3R5cGUuZXhlYyhzdHJpbmcpICE9IG51bGwKICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC42LzE1LjEwLjYuMy9TMTUuMTAuNi4zX0ExX1QyMC5qcwogKiBAZGVzY3JpcHRpb24gUmVnRXhwIGlzIC9bYS1mXWQvIGFuZCB0ZXN0ZWQgc3RyaW5nIGlzIHgsIHdoZXJlIHggaXMgdW5kZWZpbmVkCiAqLwoKX19yZSA9IC9bYS1mXWQvOwoKLy9DSEVDSyMwCmlmIChfX3JlLnRlc3QoeCkgIT09IChfX3JlLmV4ZWMoeCkgIT09IG51bGwpKSB7CgkkRVJST1IoJyMwOiBfX3JlID0gL1thLWZdZC87IF9fcmUudGVzdCh4KSA9PT0gKF9fcmUuZXhlYyh4KSAhPT0gbnVsbCk7IHZhciB4OycpOwp9Cgp2YXIgeDsKCg==","commentary":"Equivalent to the expression RegExp.prototype.exec(string) != null","description":"RegExp is /[a-f]d/ and tested string is x, where x is undefined","path":"TestCases/ch15/15.10/15.10.6/15.10.6.3/S15.10.6.3_A1_T20.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBFcXVpdmFsZW50IHRvIHRoZSBleHByZXNzaW9uIFJlZ0V4cC5wcm90b3R5cGUuZXhlYyhzdHJpbmcpICE9IG51bGwKICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC42LzE1LjEwLjYuMy9TMTUuMTAuNi4zX0ExX1QyMS5qcwogKiBAZGVzY3JpcHRpb24gUmVnRXhwIGlzIC9bYS16XW4vIGFuZCB0ZXN0ZWQgc3RyaW5nIGlzIHgsIHdoZXJlIHggaXMgZnVuY3Rpb24oKXt9KCkKICovCgpfX3JlID0gL1thLXpdbi87CgovL0NIRUNLIzAKaWYgKF9fcmUudGVzdChmdW5jdGlvbigpe30oKSkgIT09IChfX3JlLmV4ZWMoZnVuY3Rpb24oKXt9KCkpICE9PSBudWxsKSkgewoJJEVSUk9SKCcjMDogX19yZSA9IC9bYS16XW4vOyBfX3JlLnRlc3QoZnVuY3Rpb24oKXt9KCkpID09PSAoX19yZS5leGVjKGZ1bmN0aW9uKCl7fSgpKSAhPT0gbnVsbCknKTsKfQoKCg==","commentary":"Equivalent to the expression RegExp.prototype.exec(string) != null","description":"RegExp is /[a-z]n/ and tested string is x, where x is function(){}()","path":"TestCases/ch15/15.10/15.10.6/15.10.6.3/S15.10.6.3_A1_T21.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBFcXVpdmFsZW50IHRvIHRoZSBleHByZXNzaW9uIFJlZ0V4cC5wcm90b3R5cGUuZXhlYyhzdHJpbmcpICE9IG51bGwKICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC42LzE1LjEwLjYuMy9TMTUuMTAuNi4zX0ExX1QzLmpzCiAqIEBkZXNjcmlwdGlvbiBSZWdFeHAgaXMgL2FbYS16XXsyLDR9LyBhbmQgdGVzdGVkIHN0cmluZyBpcyBuZXcgT2JqZWN0KCJhYmNkZWZnaGkiKQogKi8KCnZhciBfX3N0cmluZyA9IG5ldyBPYmplY3QoImFiY2RlZmdoaSIpOwpfX3JlID0gL2FbYS16XXsyLDR9LzsKCi8vQ0hFQ0sjMAppZiAoX19yZS50ZXN0KF9fc3RyaW5nKSAhPT0gKF9fcmUuZXhlYyhfX3N0cmluZykgIT09IG51bGwpKSB7CgkkRVJST1IoJyMwOiB2YXIgX19zdHJpbmcgPSBuZXcgT2JqZWN0KCJhYmNkZWZnaGkiKTsgX19yZSA9IC9hW2Etel17Miw0fS87IF9fcmUudGVzdChfX3N0cmluZykgPT09IChfX3JlLmV4ZWMoX19zdHJpbmcpICE9PSBudWxsKScpOwp9CgoK","commentary":"Equivalent to the expression RegExp.prototype.exec(string) != null","description":"RegExp is /a[a-z]{2,4}/ and tested string is new Object(\"abcdefghi\")","path":"TestCases/ch15/15.10/15.10.6/15.10.6.3/S15.10.6.3_A1_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBFcXVpdmFsZW50IHRvIHRoZSBleHByZXNzaW9uIFJlZ0V4cC5wcm90b3R5cGUuZXhlYyhzdHJpbmcpICE9IG51bGwKICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC42LzE1LjEwLjYuMy9TMTUuMTAuNi4zX0ExX1Q0LmpzCiAqIEBkZXNjcmlwdGlvbiBSZWdFeHAgaXMgL2FbYS16XXsyLDR9Py8gYW5kIHRlc3RlZCBzdHJpbmcgaXMge3RvU3RyaW5nOmZ1bmN0aW9uKCl7cmV0dXJuICJhYmNkZWZnaGkiO319CiAqLwoKdmFyIF9fc3RyaW5nID0ge3RvU3RyaW5nOmZ1bmN0aW9uKCl7cmV0dXJuICJhYmNkZWZnaGkiO319OwpfX3JlID0gL2FbYS16XXsyLDR9Py87CgovL0NIRUNLIzAKaWYgKF9fcmUudGVzdChfX3N0cmluZykgIT09IChfX3JlLmV4ZWMoX19zdHJpbmcpICE9PSBudWxsKSkgewoJJEVSUk9SKCcjMDogdmFyIF9fc3RyaW5nID0ge3RvU3RyaW5nOmZ1bmN0aW9uKCl7cmV0dXJuICJhYmNkZWZnaGkiO319OyBfX3JlID0gL2FbYS16XXsyLDR9Py87IF9fcmUudGVzdChfX3N0cmluZykgPT09IChfX3JlLmV4ZWMoX19zdHJpbmcpICE9PSBudWxsKScpOwp9CgoK","commentary":"Equivalent to the expression RegExp.prototype.exec(string) != null","description":"RegExp is /a[a-z]{2,4}?/ and tested string is {toString:function(){return \"abcdefghi\";}}","path":"TestCases/ch15/15.10/15.10.6/15.10.6.3/S15.10.6.3_A1_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBFcXVpdmFsZW50IHRvIHRoZSBleHByZXNzaW9uIFJlZ0V4cC5wcm90b3R5cGUuZXhlYyhzdHJpbmcpICE9IG51bGwKICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC42LzE1LjEwLjYuMy9TMTUuMTAuNi4zX0ExX1Q1LmpzCiAqIEBkZXNjcmlwdGlvbiBSZWdFeHAgaXMgLyhhYXxhYWJhYWN8YmF8YnxjKSogLyBhbmQgdGVzdGVkIHN0cmluZyBpcyB7dG9TdHJpbmc6ZnVuY3Rpb24oKXtyZXR1cm4ge307fSwgdmFsdWVPZjpmdW5jdGlvbigpe3JldHVybiAiYWFiYWFjIjt9fQogKi8KCnZhciBfX3N0cmluZyA9IHt0b1N0cmluZzpmdW5jdGlvbigpe3JldHVybiB7fTt9LCB2YWx1ZU9mOmZ1bmN0aW9uKCl7cmV0dXJuICJhYWJhYWMiO319OwpfX3JlID0gLyhhYXxhYWJhYWN8YmF8YnxjKSovOwoKLy9DSEVDSyMwCmlmIChfX3JlLnRlc3QoX19zdHJpbmcpICE9PSAoX19yZS5leGVjKF9fc3RyaW5nKSAhPT0gbnVsbCkpIHsKCSRFUlJPUignIzA6IHZhciBfX3N0cmluZyA9IHt0b1N0cmluZzpmdW5jdGlvbigpe3JldHVybiB7fTt9LCB2YWx1ZU9mOmZ1bmN0aW9uKCl7cmV0dXJuICJhYWJhYWMiO319OyBfX3JlID0gLyhhYXxhYWJhYWN8YmF8YnxjKSovOyBfX3JlLnRlc3QoX19zdHJpbmcpID09PSAoX19yZS5leGVjKF9fc3RyaW5nKSAhPT0gbnVsbCknKTsKfQoKCg==","commentary":"Equivalent to the expression RegExp.prototype.exec(string) != null","description":"RegExp is /(aa|aabaac|ba|b|c)* / and tested string is {toString:function(){return {};}, valueOf:function(){return \"aabaac\";}}","path":"TestCases/ch15/15.10/15.10.6/15.10.6.3/S15.10.6.3_A1_T5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBFcXVpdmFsZW50IHRvIHRoZSBleHByZXNzaW9uIFJlZ0V4cC5wcm90b3R5cGUuZXhlYyhzdHJpbmcpICE9IG51bGwKICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC42LzE1LjEwLjYuMy9TMTUuMTAuNi4zX0ExX1Q2LmpzCiAqIEBkZXNjcmlwdGlvbiBSZWdFeHAgaXMgLyh6KSgoYSspPyhiKyk/KGMpKSogLyBhbmQgdGVzdGVkIHN0cmluZyBpcyAoZnVuY3Rpb24oKXtyZXR1cm4gInphYWNiYmJjYWMifSkoKQogKi8KCl9fcmUgPSAvKHopKChhKyk/KGIrKT8oYykpKi87CgovL0NIRUNLIzAKaWYgKF9fcmUudGVzdCgoZnVuY3Rpb24oKXtyZXR1cm4gInphYWNiYmJjYWMifSkoKSkgIT09IChfX3JlLmV4ZWMoKGZ1bmN0aW9uKCl7cmV0dXJuICJ6YWFjYmJiY2FjIn0pKCkpICE9PSBudWxsKSkgewoJJEVSUk9SKCcjMDogX19yZSA9IC8oeikoKGErKT8oYispPyhjKSkqLzsgX19yZS50ZXN0KChmdW5jdGlvbigpe3JldHVybiAiemFhY2JiYmNhYyJ9KSgpKSA9PT0gKF9fcmUuZXhlYygoZnVuY3Rpb24oKXtyZXR1cm4gInphYWNiYmJjYWMifSkoKSkgIT09IG51bGwpJyk7Cn0KCgo=","commentary":"Equivalent to the expression RegExp.prototype.exec(string) != null","description":"RegExp is /(z)((a+)?(b+)?(c))* / and tested string is (function(){return \"zaacbbbcac\"})()","path":"TestCases/ch15/15.10/15.10.6/15.10.6.3/S15.10.6.3_A1_T6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBFcXVpdmFsZW50IHRvIHRoZSBleHByZXNzaW9uIFJlZ0V4cC5wcm90b3R5cGUuZXhlYyhzdHJpbmcpICE9IG51bGwKICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC42LzE1LjEwLjYuMy9TMTUuMTAuNi4zX0ExX1Q3LmpzCiAqIEBkZXNjcmlwdGlvbiBSZWdFeHAgaXMgL1thLXpdLyBhbmQgdGVzdGVkIHN0cmluZyBpcyB7dG9TdHJpbmc6ZnVuY3Rpb24oKXt0aHJvdyAiaW50b3N0ciI7fX0KICovCgovL0NIRUNLIzEKdHJ5IHsKCSRFUlJPUignIzEuMTogL1thLXpdLy50ZXN0KHt0b1N0cmluZzpmdW5jdGlvbigpe3Rocm93ICJpbnRvc3RyIjt9fSkgdGhyb3cgImludG9zdHIiLiBBY3R1YWw6ICcgKyAoL1thLXpdLy50ZXN0KHt0b1N0cmluZzpmdW5jdGlvbigpe3Rocm93ICJpbnRvc3RyIjt9fSkpKTsKfSBjYXRjaCAoZSkgewoJaWYgKGUgIT09ICJpbnRvc3RyIikgewoJCSRFUlJPUignIzEuMjogL1thLXpdLy50ZXN0KHt0b1N0cmluZzpmdW5jdGlvbigpe3Rocm93ICJpbnRvc3RyIjt9fSkgdGhyb3cgImludG9zdHIiLiBBY3R1YWw6ICcgKyAoZSkpOwoJfQp9CgoK","commentary":"Equivalent to the expression RegExp.prototype.exec(string) != null","description":"RegExp is /[a-z]/ and tested string is {toString:function(){throw \"intostr\";}}","path":"TestCases/ch15/15.10/15.10.6/15.10.6.3/S15.10.6.3_A1_T7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBFcXVpdmFsZW50IHRvIHRoZSBleHByZXNzaW9uIFJlZ0V4cC5wcm90b3R5cGUuZXhlYyhzdHJpbmcpICE9IG51bGwKICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC42LzE1LjEwLjYuMy9TMTUuMTAuNi4zX0ExX1Q4LmpzCiAqIEBkZXNjcmlwdGlvbiBSZWdFeHAgaXMgL1thLXpdLyBhbmQgdGVzdGVkIHN0cmluZyBpcyB7dG9TdHJpbmc6dm9pZCAwLCB2YWx1ZU9mOmZ1bmN0aW9uKCl7dGhyb3cgImludmFsb2YiO319CiAqLwoKLy9DSEVDSyMxCnRyeSB7CiAgJEVSUk9SKCcjMS4xOiAvW2Etel0vLnRlc3Qoe3RvU3RyaW5nOnZvaWQgMCwgdmFsdWVPZjpmdW5jdGlvbigpe3Rocm93ICJpbnZhbG9mIjt9fSkgdGhyb3cgImludmFsb2YiLiBBY3R1YWw6ICcgKyAoL1thLXpdLy50ZXN0KHt0b1N0cmluZzp2b2lkIDAsIHZhbHVlT2Y6ZnVuY3Rpb24oKXt0aHJvdyAiaW52YWxvZiI7fX0pKSk7Cn0gY2F0Y2ggKGUpIHsKICBpZiAoZSAhPT0gImludmFsb2YiKSB7CiAgICAkRVJST1IoJyMxLjI6IC9bYS16XS8udGVzdCh7dG9TdHJpbmc6dm9pZCAwLCB2YWx1ZU9mOmZ1bmN0aW9uKCl7dGhyb3cgImludmFsb2YiO319KSB0aHJvdyAiaW52YWxvZiIuIEFjdHVhbDogJyArIChlKSk7CiAgfQp9Cgo=","commentary":"Equivalent to the expression RegExp.prototype.exec(string) != null","description":"RegExp is /[a-z]/ and tested string is {toString:void 0, valueOf:function(){throw \"invalof\";}}","path":"TestCases/ch15/15.10/15.10.6/15.10.6.3/S15.10.6.3_A1_T8.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBFcXVpdmFsZW50IHRvIHRoZSBleHByZXNzaW9uIFJlZ0V4cC5wcm90b3R5cGUuZXhlYyhzdHJpbmcpICE9IG51bGwKICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC42LzE1LjEwLjYuMy9TMTUuMTAuNi4zX0ExX1Q5LmpzCiAqIEBkZXNjcmlwdGlvbiBSZWdFeHAgaXMgLzF8MTIvIGFuZCB0ZXN0ZWQgc3RyaW5nIGlzIGZ1bmN0aW9uIG9iamVjdAogKi8KCnZhciBfX3N0cmluZzsKX19yZSA9IC8xfDEyLzsKCi8vQ0hFQ0sjMAppZiAoX19yZS50ZXN0KF9fc3RyaW5nKSAhPT0gKF9fcmUuZXhlYyhfX3N0cmluZykgIT09IG51bGwpKSB7CgkkRVJST1IoJyMwOiB2YXIgX19zdHJpbmc7X19yZSA9IC8xfDEyLzsgX19yZS50ZXN0KF9fc3RyaW5nKSA9PT0gKF9fcmUuZXhlYyhfX3N0cmluZykgIT09IG51bGwpOyBmdW5jdGlvbiBfX3N0cmluZygpe307Jyk7Cn0KCmZ1bmN0aW9uIF9fc3RyaW5nKCl7fTsKCg==","commentary":"Equivalent to the expression RegExp.prototype.exec(string) != null","description":"RegExp is /1|12/ and tested string is function object","path":"TestCases/ch15/15.10/15.10.6/15.10.6.3/S15.10.6.3_A1_T9.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBBIFR5cGVFcnJvciBleGNlcHRpb24gaXMgdGhyb3duIGlmIHRoZSB0aGlzIHZhbHVlIGlzIG5vdCBhbiBvYmplY3QgZm9yIHdoaWNoIHRoZSB2YWx1ZSBvZiB0aGUgaW50ZXJuYWwgW1tDbGFzc11dIHByb3BlcnR5IGlzICJSZWdFeHAiCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuNi8xNS4xMC42LjMvUzE1LjEwLjYuM19BMl9UMS5qcwogKiBAZGVzY3JpcHRpb24gVGhlIHRlc3RlZCBvYmplY3QgaXMgbmV3IE9iamVjdAogKi8KCl9faW5zdGFuY2UgPSBuZXcgT2JqZWN0OwoKX19pbnN0YW5jZS50ZXN0ID0gUmVnRXhwLnByb3RvdHlwZS50ZXN0OwoKLy9DSEVDSyMxCnRyeSB7CiAgJEVSUk9SKCcjMS4xOiBfX2luc3RhbmNlID0gbmV3IE9iamVjdDsgX19pbnN0YW5jZS50ZXN0ID0gUmVnRXhwLnByb3RvdHlwZS50ZXN0OyBfX2luc3RhbmNlLnRlc3QoIm1lc3NhZ2UgdG8gaW52ZXN0aWdhdGUiKS4gQWN0dWFsOiAnICsgKF9faW5zdGFuY2UudGVzdCgibWVzc2FnZSB0byBpbnZlc3RpZ2F0ZSIpKSk7Cn0gY2F0Y2ggKGUpIHsKICBpZiAoKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpICE9PSB0cnVlKSB7CiAgICAkRVJST1IoJyMxLjI6IF9faW5zdGFuY2UgPSBuZXcgT2JqZWN0OyBfX2luc3RhbmNlLnRlc3QgPSBSZWdFeHAucHJvdG90eXBlLnRlc3QuIEFjdHVhbDogJyArIChlKSk7CiAgfQp9CgoK","commentary":"A TypeError exception is thrown if the this value is not an object for which the value of the internal [[Class]] property is \"RegExp\"","description":"The tested object is new Object","path":"TestCases/ch15/15.10/15.10.6/15.10.6.3/S15.10.6.3_A2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBBIFR5cGVFcnJvciBleGNlcHRpb24gaXMgdGhyb3duIGlmIHRoZSB0aGlzIHZhbHVlIGlzIG5vdCBhbiBvYmplY3QgZm9yIHdoaWNoIHRoZSB2YWx1ZSBvZiB0aGUgaW50ZXJuYWwgW1tDbGFzc11dIHByb3BlcnR5IGlzICJSZWdFeHAiCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuNi8xNS4xMC42LjMvUzE1LjEwLjYuM19BMl9UMTAuanMKICogQGRlc2NyaXB0aW9uIFRoZSB0ZXN0ZWQgb2JqZWN0IGlzIHVuZGVmaW5lZAogKi8KCnRlc3QgPSBSZWdFeHAucHJvdG90eXBlLnRlc3Q7CgovL0NIRUNLIzEKdHJ5IHsKICAkRVJST1IoJyMxLjE6IHRlc3QgPSBSZWdFeHAucHJvdG90eXBlLnRlc3Q7IHRlc3QoIm1lc3NhZ2UgdG8gaW52ZXN0aWdhdGUiKS4gQWN0dWFsOiAnICsgKHRlc3QoIm1lc3NhZ2UgdG8gaW52ZXN0aWdhdGUiKSkpOwp9IGNhdGNoIChlKSB7CiAgaWYgKChlIGluc3RhbmNlb2YgVHlwZUVycm9yKSAhPT0gdHJ1ZSkgewogICAgJEVSUk9SKCcjMS4yOiB0ZXN0ID0gUmVnRXhwLnByb3RvdHlwZS50ZXN0OyB0ZXN0KCJtZXNzYWdlIHRvIGludmVzdGlnYXRlIikuIEFjdHVhbDogJyArIChlKSk7CiAgfQp9Cgo=","commentary":"A TypeError exception is thrown if the this value is not an object for which the value of the internal [[Class]] property is \"RegExp\"","description":"The tested object is undefined","path":"TestCases/ch15/15.10/15.10.6/15.10.6.3/S15.10.6.3_A2_T10.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBBIFR5cGVFcnJvciBleGNlcHRpb24gaXMgdGhyb3duIGlmIHRoZSB0aGlzIHZhbHVlIGlzIG5vdCBhbiBvYmplY3QgZm9yIHdoaWNoIHRoZSB2YWx1ZSBvZiB0aGUgaW50ZXJuYWwgW1tDbGFzc11dIHByb3BlcnR5IGlzICJSZWdFeHAiCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuNi8xNS4xMC42LjMvUzE1LjEwLjYuM19BMl9UMi5qcwogKiBAZGVzY3JpcHRpb24gVGhlIHRlc3RlZCBvYmplY3QgaXMgTWF0aAogKi8KCl9faW5zdGFuY2UgPSBNYXRoOwoKX19pbnN0YW5jZS50ZXN0ID0gUmVnRXhwLnByb3RvdHlwZS50ZXN0OwoKLy9DSEVDSyMxCnRyeSB7IAogIHdpdGgoX19pbnN0YW5jZSkgdGVzdCgibWVzc2FnZSB0byBpbnZlc3RpZ2F0ZSIpOwogICRFUlJPUignIzEuMTogX19pbnN0YW5jZSA9IE1hdGg7IF9faW5zdGFuY2UudGVzdCA9IFJlZ0V4cC5wcm90b3R5cGUudGVzdDsgIHdpdGgoX19pbnN0YW5jZSkgdGVzdCgibWVzc2FnZSB0byBpbnZlc3RpZ2F0ZSIpJyk7Cn0gY2F0Y2ggKGUpIHsKICBpZiAoKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpICE9PSB0cnVlKSB7CiAgICAkRVJST1IoJyMxLjI6IF9faW5zdGFuY2UgPSBNYXRoOyBfX2luc3RhbmNlLnRlc3QgPSBSZWdFeHAucHJvdG90eXBlLnRlc3Q7ICB3aXRoKF9faW5zdGFuY2UpIHRlc3QoIm1lc3NhZ2UgdG8gaW52ZXN0aWdhdGUiKS4gQWN0dWFsOiAnICsgKGUpKTsKICB9Cn0KCgoK","commentary":"A TypeError exception is thrown if the this value is not an object for which the value of the internal [[Class]] property is \"RegExp\"","description":"The tested object is Math","path":"TestCases/ch15/15.10/15.10.6/15.10.6.3/S15.10.6.3_A2_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBBIFR5cGVFcnJvciBleGNlcHRpb24gaXMgdGhyb3duIGlmIHRoZSB0aGlzIHZhbHVlIGlzIG5vdCBhbiBvYmplY3QgZm9yIHdoaWNoIHRoZSB2YWx1ZSBvZiB0aGUgaW50ZXJuYWwgW1tDbGFzc11dIHByb3BlcnR5IGlzICJSZWdFeHAiCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuNi8xNS4xMC42LjMvUzE1LjEwLjYuM19BMl9UMy5qcwogKiBAZGVzY3JpcHRpb24gVGhlIHRlc3RlZCBvYmplY3QgaXMgZnVuY3Rpb24gb2JqZWN0CiAqLwoKX19pbnN0YW5jZS50ZXN0ID0gUmVnRXhwLnByb3RvdHlwZS50ZXN0OwoKLy9DSEVDSyMxCnRyeSB7CiAgd2l0aChfX2luc3RhbmNlKSB0ZXN0KCJtZXNzYWdlIHRvIGludmVzdGlnYXRlIik7CiAgJEVSUk9SKCcjMS4xOiBfX2luc3RhbmNlLnRlc3QgPSBSZWdFeHAucHJvdG90eXBlLnRlc3Q7IHdpdGgoX19pbnN0YW5jZSkgdGVzdCgibWVzc2FnZSB0byBpbnZlc3RpZ2F0ZSIpOyBmdW5jdGlvbiBfX2luc3RhbmNlKCl7fScpOwp9IGNhdGNoIChlKSB7CiAgaWYgKChlIGluc3RhbmNlb2YgVHlwZUVycm9yKSAhPT0gdHJ1ZSkgewogICAgJEVSUk9SKCcjMS4yOiBfX2luc3RhbmNlLnRlc3QgPSBSZWdFeHAucHJvdG90eXBlLnRlc3Q7IHdpdGgoX19pbnN0YW5jZSkgdGVzdCgibWVzc2FnZSB0byBpbnZlc3RpZ2F0ZSIpOyBmdW5jdGlvbiBfX2luc3RhbmNlKCl7fS4gQWN0dWFsOiAnICsgKGUpKTsKICB9Cn0KCmZ1bmN0aW9uIF9faW5zdGFuY2UoKXt9OwoK","commentary":"A TypeError exception is thrown if the this value is not an object for which the value of the internal [[Class]] property is \"RegExp\"","description":"The tested object is function object","path":"TestCases/ch15/15.10/15.10.6/15.10.6.3/S15.10.6.3_A2_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBBIFR5cGVFcnJvciBleGNlcHRpb24gaXMgdGhyb3duIGlmIHRoZSB0aGlzIHZhbHVlIGlzIG5vdCBhbiBvYmplY3QgZm9yIHdoaWNoIHRoZSB2YWx1ZSBvZiB0aGUgaW50ZXJuYWwgW1tDbGFzc11dIHByb3BlcnR5IGlzICJSZWdFeHAiCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuNi8xNS4xMC42LjMvUzE1LjEwLjYuM19BMl9UNC5qcwogKiBAZGVzY3JpcHRpb24gVGhlIHRlc3RlZCBvYmplY3QgaXMgbmV3IFN0cmluZygiW2EtYl0iKQogKi8KCl9faW5zdGFuY2UgPSBuZXcgU3RyaW5nKCJbYS1iXSIpOwoKX19pbnN0YW5jZS50ZXN0ID0gUmVnRXhwLnByb3RvdHlwZS50ZXN0OwoKLy9DSEVDSyMxCndpdGgoX19pbnN0YW5jZSl7CiAgICB0cnkgewogICAgICAkRVJST1IoJyMxLjE6IF9faW5zdGFuY2UgPSBuZXcgU3RyaW5nKCJbYS1iXSIpOyBfX2luc3RhbmNlLnRlc3QgPSBSZWdFeHAucHJvdG90eXBlLnRlc3Q7IHRlc3QoIm1lc3NhZ2UgdG8gaW52ZXN0aWdhdGUiKS4gQWN0dWFsOiAnICsgKHRlc3QoIm1lc3NhZ2UgdG8gaW52ZXN0aWdhdGUiKSkpOwogICAgfSBjYXRjaCAoZSkgewogICAgICBpZiAoKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpICE9PSB0cnVlKSB7CiAgICAgICAgJEVSUk9SKCcjMS4yOiBfX2luc3RhbmNlID0gbmV3IFN0cmluZygiW2EtYl0iKTsgX19pbnN0YW5jZS50ZXN0ID0gUmVnRXhwLnByb3RvdHlwZS50ZXN0OyB0ZXN0KCJtZXNzYWdlIHRvIGludmVzdGlnYXRlIikuIEFjdHVhbDogJyArIChlKSk7CiAgICAgIH0KICAgfQp9CgoK","commentary":"A TypeError exception is thrown if the this value is not an object for which the value of the internal [[Class]] property is \"RegExp\"","description":"The tested object is new String(\"[a-b]\")","path":"TestCases/ch15/15.10/15.10.6/15.10.6.3/S15.10.6.3_A2_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBBIFR5cGVFcnJvciBleGNlcHRpb24gaXMgdGhyb3duIGlmIHRoZSB0aGlzIHZhbHVlIGlzIG5vdCBhbiBvYmplY3QgZm9yIHdoaWNoIHRoZSB2YWx1ZSBvZiB0aGUgaW50ZXJuYWwgW1tDbGFzc11dIHByb3BlcnR5IGlzICJSZWdFeHAiCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuNi8xNS4xMC42LjMvUzE1LjEwLjYuM19BMl9UNS5qcwogKiBAZGVzY3JpcHRpb24gVGhlIHRlc3RlZCBvYmplY3QgaXMgbmV3IEJvb2xlYW4oZmFsc2UpCiAqLwoKX19pbnN0YW5jZSA9IG5ldyBCb29sZWFuKGZhbHNlKTsKCl9faW5zdGFuY2UudGVzdCA9IFJlZ0V4cC5wcm90b3R5cGUudGVzdDsKCi8vQ0hFQ0sjMQp3aXRoKF9faW5zdGFuY2UpIHsKICB0cnkgewogICAkRVJST1IoJyMxLjE6IF9faW5zdGFuY2UgPSBuZXcgQm9vbGVhbihmYWxzZSk7IF9faW5zdGFuY2UudGVzdCA9IFJlZ0V4cC5wcm90b3R5cGUudGVzdDsgdGVzdCgibWVzc2FnZSB0byBpbnZlc3RpZ2F0ZSIpLiBBY3R1YWw6ICcgKyAodGVzdCgibWVzc2FnZSB0byBpbnZlc3RpZ2F0ZSIpKSk7CiAgfSBjYXRjaCAoZSkgewogICAgaWYgKChlIGluc3RhbmNlb2YgVHlwZUVycm9yICE9PSB0cnVlKSkgewogICAgICAkRVJST1IoJyMxLjI6IF9faW5zdGFuY2UgPSBuZXcgQm9vbGVhbihmYWxzZSk7IF9faW5zdGFuY2UudGVzdCA9IFJlZ0V4cC5wcm90b3R5cGUudGVzdDsgdGVzdCgibWVzc2FnZSB0byBpbnZlc3RpZ2F0ZSIpLiBBY3R1YWw6ICcgKyAoZSkpOwogICAgfQogIH0gIAp9Cgo=","commentary":"A TypeError exception is thrown if the this value is not an object for which the value of the internal [[Class]] property is \"RegExp\"","description":"The tested object is new Boolean(false)","path":"TestCases/ch15/15.10/15.10.6/15.10.6.3/S15.10.6.3_A2_T5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBBIFR5cGVFcnJvciBleGNlcHRpb24gaXMgdGhyb3duIGlmIHRoZSB0aGlzIHZhbHVlIGlzIG5vdCBhbiBvYmplY3QgZm9yIHdoaWNoIHRoZSB2YWx1ZSBvZiB0aGUgaW50ZXJuYWwgW1tDbGFzc11dIHByb3BlcnR5IGlzICJSZWdFeHAiCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuNi8xNS4xMC42LjMvUzE1LjEwLjYuM19BMl9UNi5qcwogKiBAZGVzY3JpcHRpb24gVGhlIHRlc3RlZCBvYmplY3QgaXMgbmV3IE51bWJlcigxLjApCiAqLwoKX19pbnN0YW5jZSA9IG5ldyBOdW1iZXIoMS4wKTsKCl9faW5zdGFuY2UudGVzdCA9IFJlZ0V4cC5wcm90b3R5cGUudGVzdDsKCi8vQ0hFQ0sjMQp0cnkgewogICRFUlJPUignIzEuMTogX19pbnN0YW5jZSA9IG5ldyBOdW1iZXIoMS4wKTsgX19pbnN0YW5jZS50ZXN0ID0gUmVnRXhwLnByb3RvdHlwZS50ZXN0OyBfX2luc3RhbmNlWyJ0ZXN0Il0oIm1lc3NhZ2UgdG8gaW52ZXN0aWdhdGUiKS4gQWN0dWFsOiAnICsgKF9faW5zdGFuY2VbInRlc3QiXSgibWVzc2FnZSB0byBpbnZlc3RpZ2F0ZSIpKSk7Cn0gY2F0Y2ggKGUpIHsKICBpZiAoKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpICE9PSB0cnVlKSB7CiAgICAkRVJST1IoJyMxLjI6IF9faW5zdGFuY2UgPSBuZXcgTnVtYmVyKDEuMCk7IF9faW5zdGFuY2UudGVzdCA9IFJlZ0V4cC5wcm90b3R5cGUudGVzdDsgX19pbnN0YW5jZVsidGVzdCJdKCJtZXNzYWdlIHRvIGludmVzdGlnYXRlIikuIEFjdHVhbDogJyArIChlKSk7CiAgfQp9CgoK","commentary":"A TypeError exception is thrown if the this value is not an object for which the value of the internal [[Class]] property is \"RegExp\"","description":"The tested object is new Number(1.0)","path":"TestCases/ch15/15.10/15.10.6/15.10.6.3/S15.10.6.3_A2_T6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBBIFR5cGVFcnJvciBleGNlcHRpb24gaXMgdGhyb3duIGlmIHRoZSB0aGlzIHZhbHVlIGlzIG5vdCBhbiBvYmplY3QgZm9yIHdoaWNoIHRoZSB2YWx1ZSBvZiB0aGUgaW50ZXJuYWwgW1tDbGFzc11dIHByb3BlcnR5IGlzICJSZWdFeHAiCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuNi8xNS4xMC42LjMvUzE1LjEwLjYuM19BMl9UNy5qcwogKiBAZGVzY3JpcHRpb24gVGhlIHRlc3RlZCBvYmplY3QgaXMgZmFsc2UKICovCgpfX2luc3RhbmNlID0gZmFsc2U7CgpPYmplY3QucHJvdG90eXBlLnRlc3QgPSBSZWdFeHAucHJvdG90eXBlLnRlc3Q7CgovL0NIRUNLIzEKdHJ5IHsKICAkRVJST1IoJyMxLjE6IF9faW5zdGFuY2UgPSBmYWxzZTsgT2JqZWN0LnByb3RvdHlwZS50ZXN0ID0gUmVnRXhwLnByb3RvdHlwZS50ZXN0OyBfX2luc3RhbmNlLnRlc3QoIm1lc3NhZ2UgdG8gaW52ZXN0aWdhdGUiKS4gQWN0dWFsOiAnICsgKF9faW5zdGFuY2UudGVzdCgibWVzc2FnZSB0byBpbnZlc3RpZ2F0ZSIpKSk7Cn0gY2F0Y2ggKGUpIHsKICBpZiAoKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpICE9PSB0cnVlKSB7CiAgICAkRVJST1IoJyMxLjI6IF9faW5zdGFuY2UgPSBmYWxzZTsgT2JqZWN0LnByb3RvdHlwZS50ZXN0ID0gUmVnRXhwLnByb3RvdHlwZS50ZXN0OyBfX2luc3RhbmNlLnRlc3QoIm1lc3NhZ2UgdG8gaW52ZXN0aWdhdGUiKS4gQWN0dWFsOiAnICsgKGUpKTsKICB9Cn0KCgoK","commentary":"A TypeError exception is thrown if the this value is not an object for which the value of the internal [[Class]] property is \"RegExp\"","description":"The tested object is false","path":"TestCases/ch15/15.10/15.10.6/15.10.6.3/S15.10.6.3_A2_T7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBBIFR5cGVFcnJvciBleGNlcHRpb24gaXMgdGhyb3duIGlmIHRoZSB0aGlzIHZhbHVlIGlzIG5vdCBhbiBvYmplY3QgZm9yIHdoaWNoIHRoZSB2YWx1ZSBvZiB0aGUgaW50ZXJuYWwgW1tDbGFzc11dIHByb3BlcnR5IGlzICJSZWdFeHAiCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuNi8xNS4xMC42LjMvUzE1LjEwLjYuM19BMl9UOC5qcwogKiBAZGVzY3JpcHRpb24gVGhlIHRlc3RlZCBvYmplY3QgaXMgIi4iCiAqLwoKX19pbnN0YW5jZSA9ICIuIjsKCk9iamVjdC5wcm90b3R5cGUudGVzdCA9IFJlZ0V4cC5wcm90b3R5cGUudGVzdDsKCi8vQ0hFQ0sjMQp0cnkgewogICRFUlJPUignIzEuMTogX19pbnN0YW5jZSA9ICIuIjsgT2JqZWN0LnByb3RvdHlwZS50ZXN0ID0gUmVnRXhwLnByb3RvdHlwZS50ZXN0OyBfX2luc3RhbmNlLnRlc3QoIm1lc3NhZ2UgdG8gaW52ZXN0aWdhdGUiKS4gQWN0dWFsOiAnICsgKF9faW5zdGFuY2UudGVzdCgibWVzc2FnZSB0byBpbnZlc3RpZ2F0ZSIpKSk7Cn0gY2F0Y2ggKGUpIHsKICBpZiAoKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpICE9PSB0cnVlKSB7CiAgICAkRVJST1IoJyMxLjI6IF9faW5zdGFuY2UgPSAiLiI7IE9iamVjdC5wcm90b3R5cGUudGVzdCA9IFJlZ0V4cC5wcm90b3R5cGUudGVzdDsgX19pbnN0YW5jZS50ZXN0KCJtZXNzYWdlIHRvIGludmVzdGlnYXRlIikuIEFjdHVhbDogJyArIChlKSk7CiAgfQp9Cgo=","commentary":"A TypeError exception is thrown if the this value is not an object for which the value of the internal [[Class]] property is \"RegExp\"","description":"The tested object is \".\"","path":"TestCases/ch15/15.10/15.10.6/15.10.6.3/S15.10.6.3_A2_T8.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBBIFR5cGVFcnJvciBleGNlcHRpb24gaXMgdGhyb3duIGlmIHRoZSB0aGlzIHZhbHVlIGlzIG5vdCBhbiBvYmplY3QgZm9yIHdoaWNoIHRoZSB2YWx1ZSBvZiB0aGUgaW50ZXJuYWwgW1tDbGFzc11dIHByb3BlcnR5IGlzICJSZWdFeHAiCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuNi8xNS4xMC42LjMvUzE1LjEwLjYuM19BMl9UOS5qcwogKiBAZGVzY3JpcHRpb24gVGhlIHRlc3RlZCBvYmplY3QgaXMgMS4wCiAqLwoKX19pbnN0YW5jZSA9IDEuMDsKCk9iamVjdC5wcm90b3R5cGUudGVzdCA9IFJlZ0V4cC5wcm90b3R5cGUudGVzdDsKCi8vQ0hFQ0sjMQp0cnkgewogICRFUlJPUignIzEuMTogX19pbnN0YW5jZSA9IDEuMDsgT2JqZWN0LnByb3RvdHlwZS50ZXN0ID0gUmVnRXhwLnByb3RvdHlwZS50ZXN0OyBfX2luc3RhbmNlLnRlc3QoIm1lc3NhZ2UgdG8gaW52ZXN0aWdhdGUiKS4gQWN0dWFsOiAnICsgKF9faW5zdGFuY2UudGVzdCgibWVzc2FnZSB0byBpbnZlc3RpZ2F0ZSIpKSk7Cn0gY2F0Y2ggKGUpIHsKICBpZiAoKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpICE9PSB0cnVlKSB7CiAgICAkRVJST1IoJyMxLjI6IF9faW5zdGFuY2UgPSAxLjA7IE9iamVjdC5wcm90b3R5cGUudGVzdCA9IFJlZ0V4cC5wcm90b3R5cGUudGVzdDsgX19pbnN0YW5jZS50ZXN0KCJtZXNzYWdlIHRvIGludmVzdGlnYXRlIikuIEFjdHVhbDogJyArIChlKSk7CiAgfQp9CgoK","commentary":"A TypeError exception is thrown if the this value is not an object for which the value of the internal [[Class]] property is \"RegExp\"","description":"The tested object is 1.0","path":"TestCases/ch15/15.10/15.10.6/15.10.6.3/S15.10.6.3_A2_T9.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBSZWdFeHAucHJvdG90eXBlLnRlc3QgaGFzIG5vdCBwcm90b3R5cGUgcHJvcGVydHkKICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC42LzE1LjEwLjYuMy9TMTUuMTAuNi4zX0E2LmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBSZWdFeHAucHJvdG90eXBlLnRlc3QucHJvdG90eXBlCiAqLwoKLy9DSEVDSyMxCmlmIChSZWdFeHAucHJvdG90eXBlLnRlc3QucHJvdG90eXBlICE9PSB1bmRlZmluZWQpIHsKICAkRVJST1IoJyMxOiBSZWdFeHAucHJvdG90eXBlLnRlc3QucHJvdG90eXBlID09PSB1bmRlZmluZWQuIEFjdHVhbDogJyArIChSZWdFeHAucHJvdG90eXBlLnRlc3QucHJvdG90eXBlKSk7Cn0KCgo=","commentary":"RegExp.prototype.test has not prototype property","description":"Checking RegExp.prototype.test.prototype","path":"TestCases/ch15/15.10/15.10.6/15.10.6.3/S15.10.6.3_A6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBSZWdFeHAucHJvdG90eXBlLnRlc3QgY2FuJ3QgYmUgdXNlZCBhcyBjb25zdHJ1Y3RvcgogKgogKiBAcGF0aCBjaDE1LzE1LjEwLzE1LjEwLjYvMTUuMTAuNi4zL1MxNS4xMC42LjNfQTcuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIGNyZWF0aW5nIHRoZSBSZWdFeHAucHJvdG90eXBlLnRlc3Qgb2JqZWN0IGZhaWxzCiAqLwoKX19GQUNUT1JZID0gUmVnRXhwLnByb3RvdHlwZS50ZXN0OwoKdHJ5IHsKICBfX2luc3RhbmNlID0gbmV3IF9fRkFDVE9SWTsKICAkRVJST1IoJyMxLjE6IF9fRkFDVE9SWSA9IFJlZ0V4cC5wcm90b3R5cGUudGVzdCB0aHJvdyBUeXBlRXJyb3IuIEFjdHVhbDogJyArIChfX2luc3RhbmNlKSk7Cn0gY2F0Y2ggKGUpIHsKICBpZiAoKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpICE9PSB0cnVlKSB7CiAgICAkRVJST1IoJyMxLjI6IF9fRkFDVE9SWSA9IFJlZ0V4cC5wcm90b3R5cGUudGVzdCB0aHJvdyBUeXBlRXJyb3IuIEFjdHVhbDogJyArIChlKSk7CiAgfQp9Cgo=","commentary":"RegExp.prototype.test can't be used as constructor","description":"Checking if creating the RegExp.prototype.test object fails","path":"TestCases/ch15/15.10/15.10.6/15.10.6.3/S15.10.6.3_A7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgUmVnRXhwLnByb3RvdHlwZS50ZXN0Lmxlbmd0aCBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZSBEb250RW51bQogKgogKiBAcGF0aCBjaDE1LzE1LjEwLzE1LjEwLjYvMTUuMTAuNi4zL1MxNS4xMC42LjNfQTguanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIGVudW1lcmF0aW5nIHRoZSBSZWdFeHAucHJvdG90eXBlLnRlc3QubGVuZ3RoIHByb3BlcnR5IGZhaWxzCiAqLwoKLy9DSEVDSyMwCmlmIChSZWdFeHAucHJvdG90eXBlLnRlc3QuaGFzT3duUHJvcGVydHkoJ2xlbmd0aCcpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMDogUmVnRXhwLnByb3RvdHlwZS50ZXN0Lmhhc093blByb3BlcnR5KFwnbGVuZ3RoXCcpID09PSB0cnVlJyk7Cn0KCiAvL0NIRUNLIzEKaWYgKFJlZ0V4cC5wcm90b3R5cGUudGVzdC5wcm9wZXJ0eUlzRW51bWVyYWJsZSgnbGVuZ3RoJykgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjMTogUmVnRXhwLnByb3RvdHlwZS50ZXN0LnByb3BlcnR5SXNFbnVtZXJhYmxlKFwnbGVuZ3RoXCcpID09PSB0cnVlJyk7Cn0KCiAvL0NIRUNLIzIKY291bnQ9MDsKCmZvciAocCBpbiBSZWdFeHAucHJvdG90eXBlLnRlc3QpewogIGlmIChwPT09Imxlbmd0aCIpIGNvdW50Kys7Cn0KCmlmIChjb3VudCAhPT0gMCkgewogICRFUlJPUignIzI6IGNvdW50ID0gMDsgZm9yIChwIGluIFJlZ0V4cC5wcm90b3R5cGUudGVzdCl7IGlmIChwPT09Imxlbmd0aCIpIGNvdW50Kys7IH0gY291bnQgPT09IDAuIEFjdHVhbDogJyArIChjb3VudCkpOwp9CgoK","commentary":"The RegExp.prototype.test.length property has the attribute DontEnum","description":"Checking if enumerating the RegExp.prototype.test.length property fails","path":"TestCases/ch15/15.10/15.10.6/15.10.6.3/S15.10.6.3_A8.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgUmVnRXhwLnByb3RvdHlwZS50ZXN0Lmxlbmd0aCBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZSBEb250RGVsZXRlCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuNi8xNS4xMC42LjMvUzE1LjEwLjYuM19BOS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgaWYgZGVsZXRpbmcgUmVnRXhwLnByb3RvdHlwZS50ZXN0Lmxlbmd0aCBwcm9wZXJ0eSBmYWlscwogKi8KCi8vQ0hFQ0sjMAppZiAoKFJlZ0V4cC5wcm90b3R5cGUuZXhlYy5oYXNPd25Qcm9wZXJ0eSgnbGVuZ3RoJykgIT09IHRydWUpKSB7CiAgJEZBSUwoJyMwOiBSZWdFeHAucHJvdG90eXBlLmV4ZWMuaGFzT3duUHJvcGVydHkoXCdsZW5ndGhcJykgPT09IHRydWUnKTsKfQoKLy9DSEVDSyMxCmlmIChkZWxldGUgUmVnRXhwLnByb3RvdHlwZS5leGVjLmxlbmd0aCAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyMxOiBkZWxldGUgUmVnRXhwLnByb3RvdHlwZS5leGVjLmxlbmd0aCA9PT0gZmFsc2UnKTsKfQoKLy9DSEVDSyMyCmlmIChSZWdFeHAucHJvdG90eXBlLmV4ZWMuaGFzT3duUHJvcGVydHkoJ2xlbmd0aCcpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMjogZGVsZXRlIFJlZ0V4cC5wcm90b3R5cGUuZXhlYy5sZW5ndGg7IFJlZ0V4cC5wcm90b3R5cGUuZXhlYy5oYXNPd25Qcm9wZXJ0eShcJ2xlbmd0aFwnKSA9PT0gdHJ1ZScpOwp9CgoK","commentary":"The RegExp.prototype.test.length property has the attribute DontDelete","description":"Checking if deleting RegExp.prototype.test.length property fails","path":"TestCases/ch15/15.10/15.10.6/15.10.6.3/S15.10.6.3_A9.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgUmVnRXhwLnByb3RvdHlwZS50b1N0cmluZy5sZW5ndGggcHJvcGVydHkgaGFzIHRoZSBhdHRyaWJ1dGUgUmVhZE9ubHkKICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC42LzE1LjEwLjYuNC9TMTUuMTAuNi40X0ExMC5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgaWYgdmFyeWluZyB0aGUgUmVnRXhwLnByb3RvdHlwZS50b1N0cmluZy5sZW5ndGggcHJvcGVydHkgZmFpbHMKICovCgovL0NIRUNLIzEKaWYgKFJlZ0V4cC5wcm90b3R5cGUudG9TdHJpbmcuaGFzT3duUHJvcGVydHkoJ2xlbmd0aCcpICE9PSB0cnVlKSB7CgkkRkFJTCgnIzE6IFJlZ0V4cC5wcm90b3R5cGUudG9TdHJpbmcuaGFzT3duUHJvcGVydHkoXCdsZW5ndGhcJykgPT09IHRydWUnKTsKfQoKX19vYmogPSBSZWdFeHAucHJvdG90eXBlLnRvU3RyaW5nLmxlbmd0aDsKClJlZ0V4cC5wcm90b3R5cGUudG9TdHJpbmcubGVuZ3RoID0gZnVuY3Rpb24oKXtyZXR1cm4gInNoaWZ0ZWQiO307CgovL0NIRUNLIzIKaWYgKFJlZ0V4cC5wcm90b3R5cGUudG9TdHJpbmcubGVuZ3RoICE9PSBfX29iaikgewoJJEVSUk9SKCcjMjogX19vYmogPSBSZWdFeHAucHJvdG90eXBlLnRvU3RyaW5nLmxlbmd0aDsgUmVnRXhwLnByb3RvdHlwZS50b1N0cmluZy5sZW5ndGggPSBmdW5jdGlvbigpe3JldHVybiAic2hpZnRlZCI7fTsgUmVnRXhwLnByb3RvdHlwZS50b1N0cmluZy5sZW5ndGggPT09IF9fb2JqLiBBY3R1YWw6ICcgKyAoUmVnRXhwLnByb3RvdHlwZS50b1N0cmluZy5sZW5ndGgpKTsKfQoKCg==","commentary":"The RegExp.prototype.toString.length property has the attribute ReadOnly","description":"Checking if varying the RegExp.prototype.toString.length property fails","path":"TestCases/ch15/15.10/15.10.6/15.10.6.4/S15.10.6.4_A10.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgbGVuZ3RoIHByb3BlcnR5IG9mIHRoZSB0b1N0cmluZyBtZXRob2QgaXMgMQogKgogKiBAcGF0aCBjaDE1LzE1LjEwLzE1LjEwLjYvMTUuMTAuNi40L1MxNS4xMC42LjRfQTExLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBSZWdFeHAucHJvdG90eXBlLnRvU3RyaW5nLmxlbmd0aAogKi8KCi8vQ0hFQ0sjMQppZiAoUmVnRXhwLnByb3RvdHlwZS50b1N0cmluZy5oYXNPd25Qcm9wZXJ0eSgibGVuZ3RoIikgIT09IHRydWUpIHsKCSRGQUlMKCcjMTogUmVnRXhwLnByb3RvdHlwZS50b1N0cmluZy5oYXNPd25Qcm9wZXJ0eShcJ2xlbmd0aFwnKSA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzIKaWYgKFJlZ0V4cC5wcm90b3R5cGUudG9TdHJpbmcubGVuZ3RoICE9PSAwKSB7CgkkRVJST1IoJyMyOiBSZWdFeHAucHJvdG90eXBlLnRvU3RyaW5nLmxlbmd0aCA9PT0gMC4gQWN0dWFsOiAnICsgKFJlZ0V4cC5wcm90b3R5cGUudG9TdHJpbmcubGVuZ3RoKSk7Cn0KCgo=","commentary":"The length property of the toString method is 1","description":"Checking RegExp.prototype.toString.length","path":"TestCases/ch15/15.10/15.10.6/15.10.6.4/S15.10.6.4_A11.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBSZWdFeHAucHJvdG90eXBlLnRvU3RyaW5nIGhhcyBub3QgcHJvdG90eXBlIHByb3BlcnR5CiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuNi8xNS4xMC42LjQvUzE1LjEwLjYuNF9BNi5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgUmVnRXhwLnByb3RvdHlwZS50b1N0cmluZy5wcm90b3R5cGUKICovCgovL0NIRUNLIzEKaWYgKFJlZ0V4cC5wcm90b3R5cGUudG9TdHJpbmcucHJvdG90eXBlICE9PSB1bmRlZmluZWQpIHsKCSRFUlJPUignIzE6IFJlZ0V4cC5wcm90b3R5cGUudG9TdHJpbmcucHJvdG90eXBlID09PSB1bmRlZmluZWQuIEFjdHVhbDogJyArIChSZWdFeHAucHJvdG90eXBlLnRvU3RyaW5nLnByb3RvdHlwZSkpOwp9CgoK","commentary":"RegExp.prototype.toString has not prototype property","description":"Checking RegExp.prototype.toString.prototype","path":"TestCases/ch15/15.10/15.10.6/15.10.6.4/S15.10.6.4_A6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBSZWdFeHAucHJvdG90eXBlLnRvU3RyaW5nIGNhbid0IGJlIHVzZWQgYXMgY29uc3RydWN0b3IKICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC42LzE1LjEwLjYuNC9TMTUuMTAuNi40X0E3LmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiBjcmVhdGluZyB0aGUgUmVnRXhwLnByb3RvdHlwZS50b1N0cmluZyBvYmplY3QgZmFpbHMKICovCgpfX0ZBQ1RPUlkgPSBSZWdFeHAucHJvdG90eXBlLnRvU3RyaW5nOwoKdHJ5IHsKCV9faW5zdGFuY2UgPSBuZXcgX19GQUNUT1JZOwoJJEVSUk9SKCcjMS4xOiBfX0ZBQ1RPUlkgPSBSZWdFeHAucHJvdG90eXBlLnRvU3RyaW5nIHRocm93IFR5cGVFcnJvci4gQWN0dWFsOiAnICsgKF9faW5zdGFuY2UpKTsKfSBjYXRjaCAoZSkgewogIGlmICgoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikgIT09IHRydWUpIHsKICAgICRFUlJPUignIzEuMjogX19GQUNUT1JZID0gUmVnRXhwLnByb3RvdHlwZS50b1N0cmluZyB0aHJvdyBUeXBlRXJyb3IuIEFjdHVhbDogJyArIChlKSk7CiAgfQp9Cgo=","commentary":"RegExp.prototype.toString can't be used as constructor","description":"Checking if creating the RegExp.prototype.toString object fails","path":"TestCases/ch15/15.10/15.10.6/15.10.6.4/S15.10.6.4_A7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgUmVnRXhwLnByb3RvdHlwZS50b1N0cmluZy5sZW5ndGggcHJvcGVydHkgaGFzIHRoZSBhdHRyaWJ1dGUgRG9udEVudW0KICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC42LzE1LjEwLjYuNC9TMTUuMTAuNi40X0E4LmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiBlbnVtZXJhdGluZyB0aGUgUmVnRXhwLnByb3RvdHlwZS50b1N0cmluZy5sZW5ndGggcHJvcGVydHkgZmFpbHMKICovCgovL0NIRUNLIzAKaWYgKFJlZ0V4cC5wcm90b3R5cGUudG9TdHJpbmcuaGFzT3duUHJvcGVydHkoJ2xlbmd0aCcpICE9PSB0cnVlKSB7CgkkRVJST1IoJyMwOiBSZWdFeHAucHJvdG90eXBlLnRvU3RyaW5nLmhhc093blByb3BlcnR5KFwnbGVuZ3RoXCcpID09PSB0cnVlJyk7Cn0KCiAvL0NIRUNLIzEKaWYgKFJlZ0V4cC5wcm90b3R5cGUudG9TdHJpbmcucHJvcGVydHlJc0VudW1lcmFibGUoJ2xlbmd0aCcpICE9PSBmYWxzZSkgewoJJEVSUk9SKCcjMTogUmVnRXhwLnByb3RvdHlwZS50b1N0cmluZy5wcm9wZXJ0eUlzRW51bWVyYWJsZShcJ2xlbmd0aFwnKSA9PT0gdHJ1ZScpOwp9CgogLy9DSEVDSyMyCmNvdW50PTA7Cgpmb3IgKHAgaW4gUmVnRXhwLnByb3RvdHlwZS50b1N0cmluZyl7CglpZiAocD09PSJsZW5ndGgiKSBjb3VudCsrOwp9CgppZiAoY291bnQgIT09IDApIHsKCSRFUlJPUignIzI6IGNvdW50ID0gMDsgZm9yIChwIGluIFJlZ0V4cC5wcm90b3R5cGUudG9TdHJpbmcpeyBpZiAocD09PSJsZW5ndGgiKSBjb3VudCsrOyB9IGNvdW50ID09PSAwLiBBY3R1YWw6ICcgKyAoY291bnQpKTsKfQoKCg==","commentary":"The RegExp.prototype.toString.length property has the attribute DontEnum","description":"Checking if enumerating the RegExp.prototype.toString.length property fails","path":"TestCases/ch15/15.10/15.10.6/15.10.6.4/S15.10.6.4_A8.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgUmVnRXhwLnByb3RvdHlwZS50b1N0cmluZy5sZW5ndGggcHJvcGVydHkgaGFzIHRoZSBhdHRyaWJ1dGUgRG9udERlbGV0ZQogKgogKiBAcGF0aCBjaDE1LzE1LjEwLzE1LjEwLjYvMTUuMTAuNi40L1MxNS4xMC42LjRfQTkuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIGRlbGV0aW5nIHRoZSBSZWdFeHAucHJvdG90eXBlLnRvU3RyaW5nLmxlbmd0aCBwcm9wZXJ0eSBmYWlscwogKi8KCi8vQ0hFQ0sjMAppZiAoKFJlZ0V4cC5wcm90b3R5cGUudG9TdHJpbmcuaGFzT3duUHJvcGVydHkoJ2xlbmd0aCcpICE9PSB0cnVlKSkgewoJJEZBSUwoJyMwOiBSZWdFeHAucHJvdG90eXBlLnRvU3RyaW5nLmhhc093blByb3BlcnR5KFwnbGVuZ3RoXCcpID09PSB0cnVlJyk7Cn0KCi8vQ0hFQ0sjMQppZiAoZGVsZXRlIFJlZ0V4cC5wcm90b3R5cGUudG9TdHJpbmcubGVuZ3RoICE9PSBmYWxzZSkgewoJJEVSUk9SKCcjMTogZGVsZXRlIFJlZ0V4cC5wcm90b3R5cGUudG9TdHJpbmcubGVuZ3RoID09PSBmYWxzZScpOwp9CgovL0NIRUNLIzIKaWYgKFJlZ0V4cC5wcm90b3R5cGUudG9TdHJpbmcuaGFzT3duUHJvcGVydHkoJ2xlbmd0aCcpICE9PSB0cnVlKSB7CgkkRVJST1IoJyMyOiBkZWxldGUgUmVnRXhwLnByb3RvdHlwZS50b1N0cmluZy5sZW5ndGg7IFJlZ0V4cC5wcm90b3R5cGUudG9TdHJpbmcuaGFzT3duUHJvcGVydHkoXCdsZW5ndGhcJykgPT09IHRydWUnKTsKfQoKCg==","commentary":"The RegExp.prototype.toString.length property has the attribute DontDelete","description":"Checking if deleting the RegExp.prototype.toString.length property fails","path":"TestCases/ch15/15.10/15.10.6/15.10.6.4/S15.10.6.4_A9.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBSZWdFeHAgaW5zdGFuY2UgaGFzIG5vdCBbW2NhbGxdXSBwcm9wZXJ0eQogKgogKiBAcGF0aCBjaDE1LzE1LjEwLzE1LjEwLjcvUzE1LjEwLjdfQTFfVDEuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIGNhbGwgb2YgUmVnRXhwIGluc3RhbmNlIGZhaWxzCiAqLwoKLy9DSEVDSyMxCnRyeSB7CgkkRVJST1IoJyMxLjE6IC9bXmFdKi8oKSB0aHJvdyBUeXBlRXJyb3IuIEFjdHVhbDogJyArICgvW15hXSovKCkpKTsKfSBjYXRjaCAoZSkgewoJaWYgKChlIGluc3RhbmNlb2YgVHlwZUVycm9yKSAhPT0gdHJ1ZSkgewoJCSRFUlJPUignIzEuMjogL1teYV0qLygpIHRocm93IFR5cGVFcnJvci4gQWN0dWFsOiAnICsgKGUpKTsKCX0KfQoKCg==","commentary":"RegExp instance has not [[call]] property","description":"Checking if call of RegExp instance fails","path":"TestCases/ch15/15.10/15.10.7/S15.10.7_A1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBSZWdFeHAgaW5zdGFuY2UgaGFzIG5vdCBbW2NhbGxdXSBwcm9wZXJ0eQogKgogKiBAcGF0aCBjaDE1LzE1LjEwLzE1LjEwLjcvUzE1LjEwLjdfQTFfVDIuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIGNhbGwgb2YgUmVnRXhwKCJhfGIiLCJnIikoKSBmYWlscwogKi8KCi8vQ0hFQ0sjMQp0cnkgewogICRFUlJPUignIzEuMTogUmVnRXhwKCJhfGIiLCJnIikoKSB0aHJvdyBUeXBlRXJyb3IuIEFjdHVhbDogJyArIChSZWdFeHAoImF8YiIsImciKSgpKSk7Cn0gY2F0Y2ggKGUpIHsKICBpZiAoKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpICE9PSB0cnVlKSB7CiAgICAkRVJST1IoJyMxLjI6IFJlZ0V4cCgiYXxiIiwiZyIpKCkgdGhyb3cgVHlwZUVycm9yLiBBY3R1YWw6ICcgKyAoZSkpOwogIH0KfQoKCgo=","commentary":"RegExp instance has not [[call]] property","description":"Checking if call of RegExp(\"a|b\",\"g\")() fails","path":"TestCases/ch15/15.10/15.10.7/S15.10.7_A1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBSZWdFeHAgaW5zdGFuY2UgaGFzIG5vdCBbW2NvbnN0cnVjdF1dIHByb3BlcnR5CiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuNy9TMTUuMTAuN19BMl9UMS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgaWYgY3JlYXRpbmcgbmV3IFJlZ0V4cCBpbnN0YW5jZSBmYWlscwogKi8KCi8vQ0hFQ0sjMQp0cnkgewogICRFUlJPUignIzEuMTogbmV3IC96LygpIHRocm93IFR5cGVFcnJvci4gQWN0dWFsOiAnICsgKG5ldyAvei8oKSkpOwp9IGNhdGNoIChlKSB7CiAgaWYgKChlIGluc3RhbmNlb2YgVHlwZUVycm9yKSAhPT0gdHJ1ZSkgewogICAgJEVSUk9SKCcjMS4yOiBuZXcgL3ovKCkgdGhyb3cgVHlwZUVycm9yLiBBY3R1YWw6ICcgKyAoZSkpOwogIH0KfQoKCg==","commentary":"RegExp instance has not [[construct]] property","description":"Checking if creating new RegExp instance fails","path":"TestCases/ch15/15.10/15.10.7/S15.10.7_A2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBSZWdFeHAgaW5zdGFuY2UgaGFzIG5vdCBbW2NvbnN0cnVjdF1dIHByb3BlcnR5CiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuNy9TMTUuMTAuN19BMl9UMi5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgaWYgY3JlYXRpbmcgIm5ldyBSZWdFeHAiIGluc3RhbmNlIGZhaWxzCiAqLwoKLy9DSEVDSyMxCnRyeSB7CiAgJEVSUk9SKCcjMS4xOiBuZXcgbmV3IFJlZ0V4cCB0aHJvdyBUeXBlRXJyb3IuIEFjdHVhbDogJyArIChuZXcgbmV3IFJlZ0V4cCkpOwp9IGNhdGNoIChlKSB7CiAgaWYgKChlIGluc3RhbmNlb2YgVHlwZUVycm9yKSAhPT0gdHJ1ZSkgewogICAgJEVSUk9SKCcjMS4yOiBuZXcgbmV3IFJlZ0V4cCB0aHJvdyBUeXBlRXJyb3IuIEFjdHVhbDogJyArIChlKSk7CiAgfQp9CgoK","commentary":"RegExp instance has not [[construct]] property","description":"Checking if creating \"new RegExp\" instance fails","path":"TestCases/ch15/15.10/15.10.7/S15.10.7_A2_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBSZWdFeHAgaW5zdGFuY2UgdHlwZSBpcyBSZWdFeHAKICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC43L1MxNS4xMC43X0EzX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyB0eXBlIG9mIFJlZ0V4cCBpbnN0YW5jZSB3aXRoIG9wZXJhdG9ycyB0eXBlb2YsIGluc3RhbmNlb2YgYW5kIGNoZWNrIGl0IGNvbnN0cnVjdG9yLgogKiBSZWdFeHAgaW5zdGFuY2UgaXMgL1teYV0qIC8KICovCgpfX3JlID0gL1teYV0qLzsKCi8vQ0hFQ0sjMQppZiAodHlwZW9mIF9fcmUgIT09ICJvYmplY3QiKSB7CgkkRVJST1IoJyMxOiBfX3JlID0gL1teYV0qLzsgdHlwZW9mIF9fcmUgPT09ICJvYmplY3QiLiBBY3R1YWw6ICcgKyAodHlwZW9mIF9fcmUpKTsKfQoKLy9DSEVDSyMxCmlmIChfX3JlLmNvbnN0cnVjdG9yICE9PSBSZWdFeHApIHsKCSRFUlJPUignIzI6IF9fcmUgPSAvW15hXSovOyBfX3JlLmNvbnN0cnVjdG9yID09PSBSZWdFeHAuIEFjdHVhbDogJyArIChfX3JlLmNvbnN0cnVjdG9yKSk7Cn0KCi8vQ0hFQ0sjMwppZiAoKF9fcmUgaW5zdGFuY2VvZiBSZWdFeHApICE9PSB0cnVlKSB7CgkkRVJST1IoJyMzOiBfX3JlID0gL1teYV0qLzsgKF9fcmUgaW5zdGFuY2VvZiBSZWdFeHApID09PSB0cnVlJyk7Cn0KCgo=","commentary":"RegExp instance type is RegExp","description":"Checking type of RegExp instance with operators typeof, instanceof and check it constructor.\nRegExp instance is /[^a]* /","path":"TestCases/ch15/15.10/15.10.7/S15.10.7_A3_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBSZWdFeHAgaW5zdGFuY2UgdHlwZSBpcyBSZWdFeHAKICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC43L1MxNS4xMC43X0EzX1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyB0eXBlIG9mIFJlZ0V4cCBpbnN0YW5jZSB3aXRoIG9wZXJhdG9ycyB0eXBlb2YsIGluc3RhbmNlb2YgYW5kIGNoZWNrIGl0IGNvbnN0cnVjdG9yLgogKiBSZWdFeHAgaW5zdGFuY2UgaXMgbmV3IFJlZ0V4cAogKi8KCl9fcmUgPSBuZXcgUmVnRXhwOwoKLy9DSEVDSyMxCmlmICh0eXBlb2YgX19yZSAhPT0gIm9iamVjdCIpIHsKCSRFUlJPUignIzE6IF9fcmUgPSBuZXcgUmVnRXhwOyB0eXBlb2YgX19yZSA9PT0gIm9iamVjdCIuIEFjdHVhbDogJyArICh0eXBlb2YgX19yZSkpOwp9CgovL0NIRUNLIzEKaWYgKF9fcmUuY29uc3RydWN0b3IgIT09IFJlZ0V4cCkgewoJJEVSUk9SKCcjMjogX19yZSA9IG5ldyBSZWdFeHA7IF9fcmUuY29uc3RydWN0b3IgPT09IFJlZ0V4cC4gQWN0dWFsOiAnICsgKF9fcmUuY29uc3RydWN0b3IpKTsKfQoKLy9DSEVDSyMzCmlmICgoX19yZSBpbnN0YW5jZW9mIFJlZ0V4cCkgIT09IHRydWUpIHsKCSRFUlJPUignIzM6IF9fcmUgPSBuZXcgUmVnRXhwOyAoX19yZSBpbnN0YW5jZW9mIFJlZ0V4cCkgPT09IHRydWUnKTsKfQoKCg==","commentary":"RegExp instance type is RegExp","description":"Checking type of RegExp instance with operators typeof, instanceof and check it constructor.\nRegExp instance is new RegExp","path":"TestCases/ch15/15.10/15.10.7/S15.10.7_A3_T2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC43LzE1LjEwLjcuMS8xNS4xMC43LjEtMS5qcw0KICogQGRlc2NyaXB0aW9uIFJlZ0V4cC5wcm90b3R5cGUuc291cmNlIGlzIG9mIHR5cGUgU3RyaW5nDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgcmV0dXJuICh0eXBlb2YoUmVnRXhwLnByb3RvdHlwZS5zb3VyY2UpKSA9PT0gJ3N0cmluZyc7DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"RegExp.prototype.source is of type String","path":"TestCases/ch15/15.10/15.10.7/15.10.7.1/15.10.7.1-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC43LzE1LjEwLjcuMS8xNS4xMC43LjEtMi5qcw0KICogQGRlc2NyaXB0aW9uIFJlZ0V4cC5wcm90b3R5cGUuc291cmNlIGlzIGEgZGF0YSBwcm9wZXJ0eSB3aXRoIGRlZmF1bHQgYXR0cmlidXRlIHZhbHVlcyAoZmFsc2UpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIGQgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKFJlZ0V4cC5wcm90b3R5cGUsICdzb3VyY2UnKTsNCiAgDQogIGlmIChkLndyaXRhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZC5lbnVtZXJhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZC5jb25maWd1cmFibGUgPT09IGZhbHNlKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"RegExp.prototype.source is a data property with default attribute values (false)","path":"TestCases/ch15/15.10/15.10.7/15.10.7.1/15.10.7.1-2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgUmVnRXhwIGluc3RhbmNlIHNvdXJjZSBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZSBSZWFkT25seQogKgogKiBAcGF0aCBjaDE1LzE1LjEwLzE1LjEwLjcvMTUuMTAuNy4xL1MxNS4xMC43LjFfQTEwLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiB2YXJ5aW5nIHRoZSBzb3VyY2UgcHJvcGVydHkgZmFpbHMKICovCgpfX3JlID0gLy4vOwoKLy9DSEVDSyMxCmlmIChfX3JlLmhhc093blByb3BlcnR5KCdzb3VyY2UnKSAhPT0gdHJ1ZSkgewogICRGQUlMKCcjMTogX19yZSA9IC8uLzsgX19yZS5oYXNPd25Qcm9wZXJ0eShcJ3NvdXJjZVwnKSA9PT0gdHJ1ZScpOwp9CgpfX29iaiA9IF9fcmUuc291cmNlOwoKX19yZS5zb3VyY2UgPSAic2hpZnRlZCI7CgovL0NIRUNLIzIKaWYgKF9fcmUuc291cmNlICE9PSBfX29iaikgewogICRFUlJPUignIzI6IF9fcmUgPSAvLi87IF9fb2JqID0gX19yZS5zb3VyY2U7IF9fcmUuc291cmNlID0gInNoaWZ0ZWQiOyBfX3JlLnNvdXJjZSA9PT0gX19vYmouIEFjdHVhbDogJyArIChfX3JlLnNvdXJjZSkpOwp9CgoK","commentary":"The RegExp instance source property has the attribute ReadOnly","description":"Checking if varying the source property fails","path":"TestCases/ch15/15.10/15.10.7/15.10.7.1/S15.10.7.1_A10.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgUmVnRXhwIGluc3RhbmNlIHNvdXJjZSBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZSBEb250RW51bQogKgogKiBAcGF0aCBjaDE1LzE1LjEwLzE1LjEwLjcvMTUuMTAuNy4xL1MxNS4xMC43LjFfQTguanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIGVudW1lcmF0aW5nIHRoZSBzb3VyY2UgcHJvcGVydHkgb2YgUmVnRXhwIGluc3RhbmNlIGZhaWxzCiAqLwoKX19yZSA9IG5ldyBSZWdFeHAoIlsxLTJdIiwiaSIpOwoKLy9DSEVDSyMwCmlmIChfX3JlLmhhc093blByb3BlcnR5KCdzb3VyY2UnKSAhPT0gdHJ1ZSkgewoJJEZBSUwoJyMwOiBfX3JlID0gbmV3IFJlZ0V4cCgiWzEtMl0iLCJpIik7IF9fcmUuaGFzT3duUHJvcGVydHkoXCdzb3VyY2VcJykgPT09IHRydWUnKTsKfQoKIC8vQ0hFQ0sjMQppZiAoX19yZS5wcm9wZXJ0eUlzRW51bWVyYWJsZSgnc291cmNlJykgIT09IGZhbHNlKSB7CgkkRVJST1IoJyMxOiBfX3JlID0gbmV3IFJlZ0V4cCgiWzEtMl0iLCJpIik7IF9fcmUucHJvcGVydHlJc0VudW1lcmFibGUoXCdzb3VyY2VcJykgPT09IGZhbHNlJyk7Cn0KCiAvL0NIRUNLIzIKY291bnQgPSAwCmZvciAocCBpbiBfX3JlKXsKCWlmIChwPT09InNvdXJjZSIpIGNvdW50KysJICAKfQoKaWYgKGNvdW50ICE9PSAwKSB7CiAgJEVSUk9SKCcjMjogY291bnQgPSAwOyBfX3JlID0gbmV3IFJlZ0V4cCgiWzEtMl0iLCJpIik7IGZvciAocCBpbiBfX3JlKXsgaWYgKHA9PT0ic291cmNlIikgY291bnQrKzsgfSBjb3VudCA9PT0gMC4gQWN0dWFsOiAnICsgKGNvdW50KSk7Cn0gIAoKCg==","commentary":"The RegExp instance source property has the attribute DontEnum","description":"Checking if enumerating the source property of RegExp instance fails","path":"TestCases/ch15/15.10/15.10.7/15.10.7.1/S15.10.7.1_A8.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgUmVnRXhwIGluc3RhbmNlIHNvdXJjZSBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZSBEb250RGVsZXRlCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuNy8xNS4xMC43LjEvUzE1LjEwLjcuMV9BOS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgaWYgZGVsZXRpbmcgdGhlIHNvdXJjZSBwcm9wZXJ0eSBmYWlscwogKi8KCl9fcmUgPSBuZXcgUmVnRXhwOwoKLy9DSEVDSyMwCmlmIChfX3JlLmhhc093blByb3BlcnR5KCdzb3VyY2UnKSAhPT0gdHJ1ZSkgewoJJEZBSUwoJyMwOiBfX3JlID0gbmV3IFJlZ0V4cDsgX19yZS5oYXNPd25Qcm9wZXJ0eShcJ3NvdXJjZVwnKSA9PT0gdHJ1ZScpOwp9CgovL0NIRUNLIzEKaWYgKChkZWxldGUgX19yZS5zb3VyY2UpICE9PSBmYWxzZSkgewoJJEVSUk9SKCcjMTogX19yZSA9IG5ldyBSZWdFeHA7IChkZWxldGUgX19yZS5zb3VyY2UpID09PSBmYWxzZScpOwp9CgovL0NIRUNLIzIKaWYgKF9fcmUuaGFzT3duUHJvcGVydHkoJ3NvdXJjZScpICE9PSB0cnVlKSB7CgkkRVJST1IoJyMyOiBfX3JlID0gbmV3IFJlZ0V4cDtkZWxldGUgX19yZS5zb3VyY2UgPT09IHRydWU7IF9fcmUuaGFzT3duUHJvcGVydHkoXCdzb3VyY2VcJykgPT09IHRydWUnKTsKfQoKCg==","commentary":"The RegExp instance source property has the attribute DontDelete","description":"Checking if deleting the source property fails","path":"TestCases/ch15/15.10/15.10.7/15.10.7.1/S15.10.7.1_A9.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC43LzE1LjEwLjcuMi8xNS4xMC43LjItMS5qcw0KICogQGRlc2NyaXB0aW9uIFJlZ0V4cC5wcm90b3R5cGUuZ2xvYmFsIGlzIG9mIHR5cGUgQm9vbGVhbg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHJldHVybiAodHlwZW9mKFJlZ0V4cC5wcm90b3R5cGUuZ2xvYmFsKSkgPT09ICdib29sZWFuJzsNCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"RegExp.prototype.global is of type Boolean","path":"TestCases/ch15/15.10/15.10.7/15.10.7.2/15.10.7.2-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC43LzE1LjEwLjcuMi8xNS4xMC43LjItMi5qcw0KICogQGRlc2NyaXB0aW9uIFJlZ0V4cC5wcm90b3R5cGUuZ2xvYmFsIGlzIGEgZGF0YSBwcm9wZXJ0eSB3aXRoIGRlZmF1bHQgYXR0cmlidXRlIHZhbHVlcyAoZmFsc2UpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKFJlZ0V4cC5wcm90b3R5cGUsICdnbG9iYWwnKTsNCiAgDQogIGlmIChkZXNjLndyaXRhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5jb25maWd1cmFibGUgPT09IGZhbHNlKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"RegExp.prototype.global is a data property with default attribute values (false)","path":"TestCases/ch15/15.10/15.10.7/15.10.7.2/15.10.7.2-2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgUmVnRXhwIGluc3RhbmNlIGdsb2JhbCBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZSBSZWFkT25seQogKgogKiBAcGF0aCBjaDE1LzE1LjEwLzE1LjEwLjcvMTUuMTAuNy4yL1MxNS4xMC43LjJfQTEwLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiB2YXJ5aW5nIHRoZSBnbG9iYWwgcHJvcGVydHkgZmFpbHMKICovCgpfX3JlID0gL158Xi87CgovL0NIRUNLIzEKaWYgKF9fcmUuaGFzT3duUHJvcGVydHkoJ2dsb2JhbCcpICE9PSB0cnVlKSB7CiAgJEZBSUwoJyMxOiBfX3JlID0gL158Xi87IF9fcmUuaGFzT3duUHJvcGVydHkoXCdnbG9iYWxcJykgPT09IHRydWUnKTsKfQoKX19vYmogPSBfX3JlLmdsb2JhbDsKCl9fcmUuZ2xvYmFsID0gInNoaWZ0ZWQiOwoKLy9DSEVDSyMyCmlmIChfX3JlLmdsb2JhbCAhPT0gX19vYmopIHsKICAkRVJST1IoJyMyOiBfX3JlID0gL158Xi87IF9fb2JqID0gX19yZS5nbG9iYWw7IF9fcmUuZ2xvYmFsID0gInNoaWZ0ZWQiOyBfX3JlLmdsb2JhbCA9PT0gX19vYmouIEFjdHVhbDogJyArIChfX3JlLmdsb2JhbCkpOwp9CgoK","commentary":"The RegExp instance global property has the attribute ReadOnly","description":"Checking if varying the global property fails","path":"TestCases/ch15/15.10/15.10.7/15.10.7.2/S15.10.7.2_A10.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgUmVnRXhwIGluc3RhbmNlIGdsb2JhbCBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZSBEb250RW51bQogKgogKiBAcGF0aCBjaDE1LzE1LjEwLzE1LjEwLjcvMTUuMTAuNy4yL1MxNS4xMC43LjJfQTguanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIGVudW1lcmF0aW5nIHRoZSBnbG9iYWwgcHJvcGVydHkgb2YgUmVnRXhwIGluc3RhbmNlIGZhaWxzCiAqLwoKX19yZSA9IG5ldyBSZWdFeHAoIltvLW9dIiwibSIpOwoKLy9DSEVDSyMwCmlmIChfX3JlLmhhc093blByb3BlcnR5KCdnbG9iYWwnKSAhPT0gdHJ1ZSkgewogICRGQUlMKCcjMDogX19yZSA9IG5ldyBSZWdFeHAoIltvLW9dIiwibSIpOyBfX3JlLmhhc093blByb3BlcnR5KFwnZ2xvYmFsXCcpID09PSB0cnVlJyk7Cn0KCiAvL0NIRUNLIzEKaWYgKF9fcmUucHJvcGVydHlJc0VudW1lcmFibGUoJ2dsb2JhbCcpICE9PSBmYWxzZSkgewogICRFUlJPUignIzE6IF9fcmUgPSBuZXcgUmVnRXhwKCJbby1vXSIsIm0iKTsgX19yZS5wcm9wZXJ0eUlzRW51bWVyYWJsZShcJ2dsb2JhbFwnKSA9PT0gZmFsc2UnKTsKfQoKIC8vQ0hFQ0sjMgpjb3VudCA9IDAKZm9yIChwIGluIF9fcmUpewogIGlmIChwPT09Imdsb2JhbCIpIGNvdW50KysgICAKfQoKaWYgKGNvdW50ICE9PSAwKSB7CiAgJEVSUk9SKCcjMjogY291bnQgPSAwOyBfX3JlID0gbmV3IFJlZ0V4cCgiW28tb10iLCJtIik7IGZvciAocCBpbiBfX3JlKXsgaWYgKHA9PT0iZ2xvYmFsIikgY291bnQrKzsgfSBjb3VudCA9PT0gMC4gQWN0dWFsOiAnICsgKGNvdW50KSk7Cn0gCgoK","commentary":"The RegExp instance global property has the attribute DontEnum","description":"Checking if enumerating the global property of RegExp instance fails","path":"TestCases/ch15/15.10/15.10.7/15.10.7.2/S15.10.7.2_A8.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgUmVnRXhwIGluc3RhbmNlIGdsb2JhbCBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZSBEb250RGVsZXRlCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuNy8xNS4xMC43LjIvUzE1LjEwLjcuMl9BOS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgaWYgZGVsZXRpbmcgdGhlIGdsb2JhbCBwcm9wZXJ0eSBmYWlscwogKi8KCl9fcmUgPSBuZXcgUmVnRXhwOwoKLy9DSEVDSyMwCmlmIChfX3JlLmhhc093blByb3BlcnR5KCdnbG9iYWwnKSAhPT0gdHJ1ZSkgewogICRGQUlMKCcjMDogX19yZSA9IG5ldyBSZWdFeHA7IF9fcmUuaGFzT3duUHJvcGVydHkoXCdnbG9iYWxcJykgPT09IHRydWUnKTsKfQoKLy9DSEVDSyMxCmlmICgoZGVsZXRlIF9fcmUuZ2xvYmFsKSAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyMxOiBfX3JlID0gbmV3IFJlZ0V4cDsgKGRlbGV0ZSBfX3JlLmdsb2JhbCkgPT09IGZhbHNlJyk7Cn0KCi8vQ0hFQ0sjMgppZiAoX19yZS5oYXNPd25Qcm9wZXJ0eSgnZ2xvYmFsJykgIT09IHRydWUpIHsKICAkRVJST1IoJyMyOiBfX3JlID0gbmV3IFJlZ0V4cDtkZWxldGUgX19yZS5nbG9iYWwgPT09IHRydWU7IF9fcmUuaGFzT3duUHJvcGVydHkoXCdnbG9iYWxcJykgPT09IHRydWUnKTsKfQoKCg==","commentary":"The RegExp instance global property has the attribute DontDelete","description":"Checking if deleting the global property fails","path":"TestCases/ch15/15.10/15.10.7/15.10.7.2/S15.10.7.2_A9.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC43LzE1LjEwLjcuMy8xNS4xMC43LjMtMS5qcw0KICogQGRlc2NyaXB0aW9uIFJlZ0V4cC5wcm90b3R5cGUuaWdub3JlQ2FzZSBpcyBvZiB0eXBlIEJvb2xlYW4NCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICByZXR1cm4gKHR5cGVvZihSZWdFeHAucHJvdG90eXBlLmlnbm9yZUNhc2UpKSA9PT0gJ2Jvb2xlYW4nOw0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"RegExp.prototype.ignoreCase is of type Boolean","path":"TestCases/ch15/15.10/15.10.7/15.10.7.3/15.10.7.3-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC43LzE1LjEwLjcuMy8xNS4xMC43LjMtMi5qcw0KICogQGRlc2NyaXB0aW9uIFJlZ0V4cC5wcm90b3R5cGUuaWdub3JlQ2FzZSBpcyBhIGRhdGEgcHJvcGVydHkgd2l0aCBkZWZhdWx0IGF0dHJpYnV0ZSB2YWx1ZXMgKGZhbHNlKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBkID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihSZWdFeHAucHJvdG90eXBlLCAnaWdub3JlQ2FzZScpOw0KICANCiAgaWYgKGQud3JpdGFibGUgPT09IGZhbHNlICYmDQogICAgICBkLmVudW1lcmFibGUgPT09IGZhbHNlICYmDQogICAgICBkLmNvbmZpZ3VyYWJsZSA9PT0gZmFsc2UpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"RegExp.prototype.ignoreCase is a data property with default attribute values (false)","path":"TestCases/ch15/15.10/15.10.7/15.10.7.3/15.10.7.3-2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgUmVnRXhwIGluc3RhbmNlIGlnbm9yZUNhc2UgcHJvcGVydHkgaGFzIHRoZSBhdHRyaWJ1dGUgUmVhZE9ubHkKICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC43LzE1LjEwLjcuMy9TMTUuMTAuNy4zX0ExMC5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgaWYgdmFyeWluZyB0aGUgaWdub3JlQ2FzZSBwcm9wZXJ0eSBmYWlscwogKi8KCl9fcmUgPSAvYXxifGMvOwoKLy9DSEVDSyMxCmlmIChfX3JlLmhhc093blByb3BlcnR5KCdpZ25vcmVDYXNlJykgIT09IHRydWUpIHsKICAkRkFJTCgnIzE6IF9fcmUgPSAvYXxifGMvOyBfX3JlLmhhc093blByb3BlcnR5KFwnaWdub3JlQ2FzZVwnKSA9PT0gdHJ1ZScpOwp9CgpfX29iaiA9IF9fcmUuaWdub3JlQ2FzZTsKCl9fcmUuaWdub3JlQ2FzZSA9ICJzaGlmdGVkIjsKCi8vQ0hFQ0sjMgppZiAoX19yZS5pZ25vcmVDYXNlICE9PSBfX29iaikgewogICRFUlJPUignIzI6IF9fcmUgPSAvYXxifGMvOyBfX29iaiA9IF9fcmUuaWdub3JlQ2FzZTsgX19yZS5pZ25vcmVDYXNlID0gInNoaWZ0ZWQiOyBfX3JlLmlnbm9yZUNhc2UgPT09IF9fb2JqLiBBY3R1YWw6ICcgKyAoX19yZS5pZ25vcmVDYXNlKSk7Cn0KCgo=","commentary":"The RegExp instance ignoreCase property has the attribute ReadOnly","description":"Checking if varying the ignoreCase property fails","path":"TestCases/ch15/15.10/15.10.7/15.10.7.3/S15.10.7.3_A10.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgUmVnRXhwIGluc3RhbmNlIGlnbm9yZUNhc2UgcHJvcGVydHkgaGFzIHRoZSBhdHRyaWJ1dGUgRG9udEVudW0KICoKICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC43LzE1LjEwLjcuMy9TMTUuMTAuNy4zX0E4LmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiBlbnVtZXJhdGluZyB0aGUgaWdub3JlQ2FzZSBwcm9wZXJ0eSBvZiBSZWdFeHAgaW5zdGFuY2UgZmFpbHMKICovCgpfX3JlID0gbmV3IFJlZ0V4cCgiW3x8fHx8fHxdIiwiIik7CgovL0NIRUNLIzAKaWYgKF9fcmUuaGFzT3duUHJvcGVydHkoJ2lnbm9yZUNhc2UnKSAhPT0gdHJ1ZSkgewogICRGQUlMKCcjMDogX19yZSA9IG5ldyBSZWdFeHAoIlt8fHx8fHx8XSIsIiIpOyBfX3JlLmhhc093blByb3BlcnR5KFwnaWdub3JlQ2FzZVwnKSA9PT0gdHJ1ZScpOwp9CgogLy9DSEVDSyMxCmlmIChfX3JlLnByb3BlcnR5SXNFbnVtZXJhYmxlKCdpZ25vcmVDYXNlJykgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjMTogX19yZSA9IG5ldyBSZWdFeHAoIlt8fHx8fHx8XSIsIiIpOyBfX3JlLnByb3BlcnR5SXNFbnVtZXJhYmxlKFwnaWdub3JlQ2FzZVwnKSA9PT0gZmFsc2UnKTsKfQoKIC8vQ0hFQ0sjMgpjb3VudCA9IDAKZm9yIChwIGluIF9fcmUpewogIGlmIChwPT09Imlnbm9yZUNhc2UiKSBjb3VudCsrICAgCn0KCmlmIChjb3VudCAhPT0gMCkgewogICRFUlJPUignIzI6IGNvdW50ID0gMDsgX19yZSA9IG5ldyBSZWdFeHAoIlt8fHx8fHx8XSIsIiIpOyBmb3IgKHAgaW4gX19yZSl7IGlmIChwPT09Imlnbm9yZUNhc2UiKSBjb3VudCsrOyB9IGNvdW50ID09PSAwLiBBY3R1YWw6ICcgKyAoY291bnQpKTsKfSAKCg==","commentary":"The RegExp instance ignoreCase property has the attribute DontEnum","description":"Checking if enumerating the ignoreCase property of RegExp instance fails","path":"TestCases/ch15/15.10/15.10.7/15.10.7.3/S15.10.7.3_A8.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgUmVnRXhwIGluc3RhbmNlIGlnbm9yZUNhc2UgcHJvcGVydHkgaGFzIHRoZSBhdHRyaWJ1dGUgRG9udERlbGV0ZQogKgogKiBAcGF0aCBjaDE1LzE1LjEwLzE1LjEwLjcvMTUuMTAuNy4zL1MxNS4xMC43LjNfQTkuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIGRlbGV0aW5nIHRoZSBpZ25vcmVDYXNlIHByb3BlcnR5IGZhaWxzCiAqLwoKX19yZSA9IG5ldyBSZWdFeHA7CgovL0NIRUNLIzAKaWYgKF9fcmUuaGFzT3duUHJvcGVydHkoJ2lnbm9yZUNhc2UnKSAhPT0gdHJ1ZSkgewogICRGQUlMKCcjMDogX19yZSA9IG5ldyBSZWdFeHA7IF9fcmUuaGFzT3duUHJvcGVydHkoXCdpZ25vcmVDYXNlXCcpID09PSB0cnVlJyk7Cn0KCi8vQ0hFQ0sjMQppZiAoKGRlbGV0ZSBfX3JlLmlnbm9yZUNhc2UpICE9PSBmYWxzZSkgewogICRFUlJPUignIzE6IF9fcmUgPSBuZXcgUmVnRXhwOyAoZGVsZXRlIF9fcmUuaWdub3JlQ2FzZSkgPT09IGZhbHNlJyk7Cn0KCi8vQ0hFQ0sjMgppZiAoX19yZS5oYXNPd25Qcm9wZXJ0eSgnaWdub3JlQ2FzZScpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMjogX19yZSA9IG5ldyBSZWdFeHA7ZGVsZXRlIF9fcmUuaWdub3JlQ2FzZSA9PT0gdHJ1ZTsgX19yZS5oYXNPd25Qcm9wZXJ0eShcJ2lnbm9yZUNhc2VcJykgPT09IHRydWUnKTsKfQoKCgoK","commentary":"The RegExp instance ignoreCase property has the attribute DontDelete","description":"Checking if deleting the ignoreCase property fails","path":"TestCases/ch15/15.10/15.10.7/15.10.7.3/S15.10.7.3_A9.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC43LzE1LjEwLjcuNC8xNS4xMC43LjQtMS5qcw0KICogQGRlc2NyaXB0aW9uIFJlZ0V4cC5wcm90b3R5cGUubXVsdGlsaW5lIGlzIG9mIHR5cGUgQm9vbGVhbg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHJldHVybiAodHlwZW9mKFJlZ0V4cC5wcm90b3R5cGUubXVsdGlsaW5lKSkgPT09ICdib29sZWFuJzsNCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"RegExp.prototype.multiline is of type Boolean","path":"TestCases/ch15/15.10/15.10.7/15.10.7.4/15.10.7.4-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC43LzE1LjEwLjcuNC8xNS4xMC43LjQtMi5qcw0KICogQGRlc2NyaXB0aW9uIFJlZ0V4cC5wcm90b3R5cGUubXVsdGlsaW5lIGlzIGEgZGF0YSBwcm9wZXJ0eSB3aXRoIGRlZmF1bHQgYXR0cmlidXRlIHZhbHVlcyAoZmFsc2UpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIGQgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKFJlZ0V4cC5wcm90b3R5cGUsICdtdWx0aWxpbmUnKTsNCiAgDQogIGlmIChkLndyaXRhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZC5lbnVtZXJhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZC5jb25maWd1cmFibGUgPT09IGZhbHNlKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"RegExp.prototype.multiline is a data property with default attribute values (false)","path":"TestCases/ch15/15.10/15.10.7/15.10.7.4/15.10.7.4-2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgUmVnRXhwIGluc3RhbmNlIG11bHRpbGluZSBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZSBSZWFkT25seQogKgogKiBAcGF0aCBjaDE1LzE1LjEwLzE1LjEwLjcvMTUuMTAuNy40L1MxNS4xMC43LjRfQTEwLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiB2YXJ5aW5nIHRoZSBtdWx0aWxpbmUgcHJvcGVydHkgZmFpbHMKICovCgpfX3JlID0gL1xuLzsKCi8vQ0hFQ0sjMQppZiAoX19yZS5oYXNPd25Qcm9wZXJ0eSgnbXVsdGlsaW5lJykgIT09IHRydWUpIHsKICAkRkFJTCgnIzE6IF9fcmUgPSAvXFxuLzsgX19yZS5oYXNPd25Qcm9wZXJ0eShcJ211bHRpbGluZVwnKSA9PT0gdHJ1ZScpOwp9CgpfX29iaiA9IF9fcmUubXVsdGlsaW5lOwoKX19yZS5tdWx0aWxpbmUgPSAic2hpZnRlZCI7CgovL0NIRUNLIzIKaWYgKF9fcmUubXVsdGlsaW5lICE9PSBfX29iaikgewogICRFUlJPUignIzI6IF9fcmUgPSAvXFxuLzsgX19vYmogPSBfX3JlLm11bHRpbGluZTsgX19yZS5tdWx0aWxpbmUgPSAic2hpZnRlZCI7IF9fcmUubXVsdGlsaW5lID09PSBfX29iai4gQWN0dWFsOiAnICsgKF9fcmUubXVsdGlsaW5lKSk7Cn0KCgo=","commentary":"The RegExp instance multiline property has the attribute ReadOnly","description":"Checking if varying the multiline property fails","path":"TestCases/ch15/15.10/15.10.7/15.10.7.4/S15.10.7.4_A10.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgUmVnRXhwIGluc3RhbmNlIG11bHRpbGluZSBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZSBEb250RW51bQogKgogKiBAcGF0aCBjaDE1LzE1LjEwLzE1LjEwLjcvMTUuMTAuNy40L1MxNS4xMC43LjRfQTguanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIGVudW1lcmF0aW5nIHRoZSBtdWx0aWxpbmUgcHJvcGVydHkgb2YgUmVnRXhwIGluc3RhbmNlIGZhaWxzCiAqLwoKX19yZSA9IG5ldyBSZWdFeHAoIltcdTAwNDEtXHUwMDQ5XSIpOwoKLy9DSEVDSyMwCmlmIChfX3JlLmhhc093blByb3BlcnR5KCdtdWx0aWxpbmUnKSAhPT0gdHJ1ZSkgewogICRGQUlMKCcjMDogX19yZSA9IG5ldyBSZWdFeHAoIltcXHUwMDQxLVxcdTAwNDldIik7IF9fcmUuaGFzT3duUHJvcGVydHkoXCdtdWx0aWxpbmVcJykgPT09IHRydWUnKTsKfQoKIC8vQ0hFQ0sjMQppZiAoX19yZS5wcm9wZXJ0eUlzRW51bWVyYWJsZSgnbXVsdGlsaW5lJykgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjMTogX19yZSA9IG5ldyBSZWdFeHAoIltcXHUwMDQxLVxcdTAwNDldIik7IF9fcmUucHJvcGVydHlJc0VudW1lcmFibGUoXCdtdWx0aWxpbmVcJykgPT09IGZhbHNlJyk7Cn0KCiAvL0NIRUNLIzIKY291bnQgPSAwCmZvciAocCBpbiBfX3JlKXsKICBpZiAocD09PSJtdWx0aWxpbmUiKSBjb3VudCsrICAgCn0KCmlmIChjb3VudCAhPT0gMCkgewogICRFUlJPUignIzI6IGNvdW50ID0gMDsgX19yZSA9IG5ldyBSZWdFeHAoIltcXHUwMDQxLVxcdTAwNDldIik7IGZvciAocCBpbiBfX3JlKXsgaWYgKHA9PT0ibXVsdGlsaW5lIikgY291bnQrKzsgfSBjb3VudCA9PT0gMC4gQWN0dWFsOiAnICsgKGNvdW50KSk7Cn0gCgo=","commentary":"The RegExp instance multiline property has the attribute DontEnum","description":"Checking if enumerating the multiline property of RegExp instance fails","path":"TestCases/ch15/15.10/15.10.7/15.10.7.4/S15.10.7.4_A8.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgUmVnRXhwIGluc3RhbmNlIG11bHRpbGluZSBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZSBEb250RGVsZXRlCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuNy8xNS4xMC43LjQvUzE1LjEwLjcuNF9BOS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgaWYgZGVsZXRpbmcgdGhlIG11bHRpbGluZSBwcm9wZXJ0eSBmYWlscwogKi8KCl9fcmUgPSBuZXcgUmVnRXhwOwoKLy9DSEVDSyMwCmlmIChfX3JlLmhhc093blByb3BlcnR5KCdtdWx0aWxpbmUnKSAhPT0gdHJ1ZSkgewogICRGQUlMKCcjMDogX19yZSA9IG5ldyBSZWdFeHA7IF9fcmUuaGFzT3duUHJvcGVydHkoXCdtdWx0aWxpbmVcJykgPT09IHRydWUnKTsKfQoKLy9DSEVDSyMxCmlmICgoZGVsZXRlIF9fcmUubXVsdGlsaW5lKSAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyMxOiBfX3JlID0gbmV3IFJlZ0V4cDsgKGRlbGV0ZSBfX3JlLm11bHRpbGluZSkgPT09IGZhbHNlJyk7Cn0KCi8vQ0hFQ0sjMgppZiAoX19yZS5oYXNPd25Qcm9wZXJ0eSgnbXVsdGlsaW5lJykgIT09IHRydWUpIHsKICAkRVJST1IoJyMyOiBfX3JlID0gbmV3IFJlZ0V4cDtkZWxldGUgX19yZS5tdWx0aWxpbmUgPT09IHRydWU7IF9fcmUuaGFzT3duUHJvcGVydHkoXCdtdWx0aWxpbmVcJykgPT09IHRydWUnKTsKfQoKCg==","commentary":"The RegExp instance multiline property has the attribute DontDelete","description":"Checking if deleting the multiline property fails","path":"TestCases/ch15/15.10/15.10.7/15.10.7.4/S15.10.7.4_A9.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC43LzE1LjEwLjcuNS8xNS4xMC43LjUtMS5qcw0KICogQGRlc2NyaXB0aW9uIFJlZ0V4cC5wcm90b3R5cGUubGFzdEluZGV4IGlzIG9mIHR5cGUgTnVtYmVyDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgcmV0dXJuICh0eXBlb2YoUmVnRXhwLnByb3RvdHlwZS5sYXN0SW5kZXgpKSA9PT0gJ251bWJlcic7DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"RegExp.prototype.lastIndex is of type Number","path":"TestCases/ch15/15.10/15.10.7/15.10.7.5/15.10.7.5-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4xMC8xNS4xMC43LzE1LjEwLjcuNS8xNS4xMC43LjUtMi5qcw0KICogQGRlc2NyaXB0aW9uIFJlZ0V4cC5wcm90b3R5cGUubGFzdEluZGV4IGlzIGEgZGF0YSBwcm9wZXJ0eSB3aXRoIHNwZWNpZmllZCBhdHRyaWJ1dGUgdmFsdWVzDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIGQgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKFJlZ0V4cC5wcm90b3R5cGUsICdsYXN0SW5kZXgnKTsNCiAgDQogIGlmIChkLndyaXRhYmxlID09PSB0cnVlICYmDQogICAgICBkLmVudW1lcmFibGUgPT09IGZhbHNlICYmDQogICAgICBkLmNvbmZpZ3VyYWJsZSA9PT0gZmFsc2UpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"RegExp.prototype.lastIndex is a data property with specified attribute values","path":"TestCases/ch15/15.10/15.10.7/15.10.7.5/15.10.7.5-2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgUmVnRXhwIGluc3RhbmNlIGxhc3RJbmRleCBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZSBEb250RW51bQogKgogKiBAcGF0aCBjaDE1LzE1LjEwLzE1LjEwLjcvMTUuMTAuNy41L1MxNS4xMC43LjVfQTguanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIGVudW1lcmF0aW5nIHRoZSBsYXN0SW5kZXggcHJvcGVydHkgb2YgUmVnRXhwIGluc3RhbmNlIGZhaWxzCiAqLwoKX19yZSA9IG5ldyBSZWdFeHAoIkE/QiIpOwoKLy9DSEVDSyMwCmlmIChfX3JlLmhhc093blByb3BlcnR5KCdsYXN0SW5kZXgnKSAhPT0gdHJ1ZSkgewogICRGQUlMKCcjMDogX19yZSA9IG5ldyBSZWdFeHAoIkE/QiIpOyBfX3JlLmhhc093blByb3BlcnR5KFwnbGFzdEluZGV4XCcpID09PSB0cnVlJyk7Cn0KCiAvL0NIRUNLIzEKaWYgKF9fcmUucHJvcGVydHlJc0VudW1lcmFibGUoJ2xhc3RJbmRleCcpICE9PSBmYWxzZSkgewogICRFUlJPUignIzE6IF9fcmUgPSBuZXcgUmVnRXhwKCJBP0IiKTsgX19yZS5wcm9wZXJ0eUlzRW51bWVyYWJsZShcJ2xhc3RJbmRleFwnKSA9PT0gZmFsc2UnKTsKfQoKIC8vQ0hFQ0sjMgpjb3VudCA9IDAKZm9yIChwIGluIF9fcmUpewogIGlmIChwPT09Imxhc3RJbmRleCIpIGNvdW50KysgICAKfQoKaWYgKGNvdW50ICE9PSAwKSB7CiAgJEVSUk9SKCcjMjogY291bnQgPSAwOyBfX3JlID0gbmV3IFJlZ0V4cCgiQT9CIik7IGZvciAocCBpbiBfX3JlKXsgaWYgKHA9PT0ibGFzdEluZGV4IikgY291bnQrKzsgfSBjb3VudCA9PT0gMC4gQWN0dWFsOiAnICsgKGNvdW50KSk7Cn0gCgo=","commentary":"The RegExp instance lastIndex property has the attribute DontEnum","description":"Checking if enumerating the lastIndex property of RegExp instance fails","path":"TestCases/ch15/15.10/15.10.7/15.10.7.5/S15.10.7.5_A8.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgUmVnRXhwIGluc3RhbmNlIGxhc3RJbmRleCBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZSBEb250RGVsZXRlCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTAvMTUuMTAuNy8xNS4xMC43LjUvUzE1LjEwLjcuNV9BOS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgaWYgZGVsZXRpbmcgdGhlIGxhc3RJbmRleCBwcm9wZXJ0eSBmYWlscwogKi8KCl9fcmUgPSBuZXcgUmVnRXhwOwoKLy9DSEVDSyMwCmlmIChfX3JlLmhhc093blByb3BlcnR5KCdsYXN0SW5kZXgnKSAhPT0gdHJ1ZSkgewogICRGQUlMKCcjMDogX19yZSA9IG5ldyBSZWdFeHA7IF9fcmUuaGFzT3duUHJvcGVydHkoXCdsYXN0SW5kZXhcJykgPT09IHRydWUnKTsKfQoKLy9DSEVDSyMxCmlmICgoZGVsZXRlIF9fcmUubGFzdEluZGV4KSAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyMxOiBfX3JlID0gbmV3IFJlZ0V4cDsgKGRlbGV0ZSBfX3JlLmxhc3RJbmRleCkgPT09IGZhbHNlJyk7Cn0KCi8vQ0hFQ0sjMgppZiAoX19yZS5oYXNPd25Qcm9wZXJ0eSgnbGFzdEluZGV4JykgIT09IHRydWUpIHsKICAkRVJST1IoJyMyOiBfX3JlID0gbmV3IFJlZ0V4cDtkZWxldGUgX19yZS5sYXN0SW5kZXggPT09IHRydWU7IF9fcmUuaGFzT3duUHJvcGVydHkoXCdsYXN0SW5kZXhcJykgPT09IHRydWUnKTsKfQoKCg==","commentary":"The RegExp instance lastIndex property has the attribute DontDelete","description":"Checking if deleting the lastIndex property fails","path":"TestCases/ch15/15.10/15.10.7/15.10.7.5/S15.10.7.5_A9.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4xMS8xNS4xMS0xLmpzDQogKiBAZGVzY3JpcHRpb24gRXJyb3IgLSBDb252ZXJzaW9uRXJyb3IgaGFzIGJlZW4gcmVtb3ZlZCBmcm9tIElFOSBzdGFuZGFyZCBtb2RlDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgcmV0dXJuIHR5cGVvZiBDb252ZXJzaW9uRXJyb3IgPT09ICJ1bmRlZmluZWQiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Error - ConversionError has been removed from IE9 standard mode","path":"TestCases/ch15/15.11/15.11-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4xMS8xNS4xMS0yLmpzDQogKiBAZGVzY3JpcHRpb24gRXJyb3IgLSBSZWdFeHBFcnJvciBoYXMgYmVlbiByZW1vdmVkIGZyb20gSUU5IHN0YW5kYXJkIG1vZGUNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICByZXR1cm4gdHlwZW9mIFJlZ0V4cEVycm9yID09PSAidW5kZWZpbmVkIjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Error - RegExpError has been removed from IE9 standard mode","path":"TestCases/ch15/15.11/15.11-2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB0aGUgYXJndW1lbnQgIm1lc3NhZ2UiIGlzIG5vdCB1bmRlZmluZWQsIHRoZSBtZXNzYWdlIHByb3BlcnR5IG9mIHRoZSBuZXdseSBjb25zdHJ1Y3RlZCBvYmplY3QgaXMKICogc2V0IHRvIFRvU3RyaW5nKG1lc3NhZ2UpCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTEvMTUuMTEuMS9TMTUuMTEuMS4xX0ExX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBtZXNzYWdlIHByb3BlcnR5IG9mIGRpZmZlcmVudCBlcnJvciBvYmplY3RzCiAqLwoKZnVuY3Rpb24gb3RoZXJTY29wZShtc2cpCnsKICByZXR1cm4gRXJyb3IobXNnKTsKfQoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQp2YXIgZXJyMT1FcnJvcignbXNnMScpOwppZihlcnIxLm1lc3NhZ2UhPT0ibXNnMSIpewogICRFUlJPUignIzE6IHZhciBlcnIxPUVycm9yKFwnbXNnMVwnKTsgZXJyMS5tZXNzYWdlPT09Im1zZzEiLiBBY3R1YWw6ICcrZXJyMS5tZXNzYWdlKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzIKdmFyIGVycjI9b3RoZXJTY29wZSgnbXNnMicpOwppZihlcnIyLm1lc3NhZ2UhPT0ibXNnMiIpewogICRFUlJPUignIzI6IGZ1bmN0aW9uIG90aGVyU2NvcGUobXNnKXtyZXR1cm4gRXJyb3IobXNnKTt9IHZhciBlcnIyPW90aGVyU2NvcGUoXCdtc2cyXCcpOyBlcnIyLm1lc3NhZ2U9PT0ibXNnMiIuIEFjdHVhbDogJytlcnIyLm1lc3NhZ2UpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMwp2YXIgZXJyMz1vdGhlclNjb3BlKCk7CmlmKGVycjMuaGFzT3duUHJvcGVydHkoJ21lc3NhZ2UnKSl7CiAgJEVSUk9SKCcjMzogZnVuY3Rpb24gb3RoZXJTY29wZShtc2cpe3JldHVybiBFcnJvcihtc2cpO30gdmFyIGVycjM9b3RoZXJTY29wZSgpOyBlcnIzLmhhc093blByb3BlcnR5KCJtZXNzYWdlIikuIEFjdHVhbDogJytlcnIzLm1lc3NhZ2UpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjNAp2YXIgZXJyND1ldmFsKCJFcnJvcignbXNnNCcpIik7CmlmKGVycjQubWVzc2FnZSE9PSJtc2c0Iil7CiAgJEVSUk9SKCcjNDogdmFyIGVycjQ9ZXZhbCgiRXJyb3IoXCdtc2c0XCcpIik7IGVycjQubWVzc2FnZT09PSJtc2c0Ii4gQWN0dWFsOiAnK2VycjQubWVzc2FnZSk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"If the argument \"message\" is not undefined, the message property of the newly constructed object is\nset to ToString(message)","description":"Checking message property of different error objects","path":"TestCases/ch15/15.11/15.11.1/S15.11.1.1_A1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgW1tQcm90b3R5cGVdXSBwcm9wZXJ0eSBvZiB0aGUgbmV3bHkgY29uc3RydWN0ZWQgb2JqZWN0IGlzIHNldCB0byB0aGUgb3JpZ2luYWwgRXJyb3IgcHJvdG90eXBlCiAqIG9iamVjdCwgdGhlIG9uZSB0aGF0IGlzIHRoZSBpbml0aWFsIHZhbHVlIG9mIEVycm9yLnByb3RvdHlwZSAoMTUuMTEuMy4xKQogKgogKiBAcGF0aCBjaDE1LzE1LjExLzE1LjExLjEvUzE1LjExLjEuMV9BMl9UMS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgcHJvdG90eXBlIG9mIHRoZSBuZXdseSBjb25zdHJ1Y3RlZCBFcnJvciBvYmplY3QKICovCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCnZhciBlcnIxPUVycm9yKCdtc2cxJyk7CmlmKCFFcnJvci5wcm90b3R5cGUuaXNQcm90b3R5cGVPZihlcnIxKSl7CiAgJEVSUk9SKCcjMTogdmFyIGVycjE9RXJyb3IoXCdtc2cxXCcpOyBFcnJvci5wcm90b3R5cGUuaXNQcm90b3R5cGVPZihlcnIxKSByZXR1cm4gdHJ1ZS4gQWN0dWFsOiAnK0Vycm9yLnByb3RvdHlwZS5pc1Byb3RvdHlwZU9mKGVycjEpKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"The [[Prototype]] property of the newly constructed object is set to the original Error prototype\nobject, the one that is the initial value of Error.prototype (15.11.3.1)","description":"Checking prototype of the newly constructed Error object","path":"TestCases/ch15/15.11/15.11.1/S15.11.1.1_A2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgW1tDbGFzc11dIHByb3BlcnR5IG9mIHRoZSBuZXdseSBjb25zdHJ1Y3RlZCBvYmplY3QgaXMgc2V0IHRvICJFcnJvciIKICoKICogQHBhdGggY2gxNS8xNS4xMS8xNS4xMS4xL1MxNS4xMS4xLjFfQTNfVDEuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIENsYXNzIG9mIHRoZSBuZXdseSBjb25zdHJ1Y3RlZCBFcnJvciBvYmplY3QgdXNpbmcgdG9TdGluZygpIGZ1bmN0aW9uCiAqLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQpFcnJvci5wcm90b3R5cGUudG9TdHJpbmc9T2JqZWN0LnByb3RvdHlwZS50b1N0cmluZzsKdmFyIGVycjE9RXJyb3IoKTsKaWYoZXJyMS50b1N0cmluZygpIT09J1tvYmplY3QgJysgJ0Vycm9yJyArJ10nKXsKICAkRVJST1IoJyMxOiBFcnJvci5wcm90b3R5cGUudG9TdHJpbmc9T2JqZWN0LnByb3RvdHlwZS50b1N0cmluZzsgdmFyIGVycjE9RXJyb3IoKTsgZXJyMS50b1N0cmluZygpPT09XCdbb2JqZWN0IEVycm9yXVwnLiBBY3R1YWw6ICcrZXJyMS50b1N0cmluZygpKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"The [[Class]] property of the newly constructed object is set to \"Error\"","description":"Checking Class of the newly constructed Error object using toSting() function","path":"TestCases/ch15/15.11/15.11.1/S15.11.1.1_A3_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgZnVuY3Rpb24gY2FsbCBFcnJvciguLi4pIGlzIGVxdWl2YWxlbnQgdG8gdGhlIG9iamVjdCBjcmVhdGlvbiBleHByZXNzaW9uIG5ldwogKiBFcnJvciguLi4pIHdpdGggdGhlIHNhbWUgYXJndW1lbnRzCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTEvMTUuMTEuMS9TMTUuMTEuMV9BMV9UMS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgY29uc3RydWN0b3Igb2YgdGhlIG5ld2x5IGNvbnN0cnVjdGVkIEVycm9yIG9iamVjdAogKi8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKRXJyb3IucHJvdG90eXBlLnRvU3RyaW5nPU9iamVjdC5wcm90b3R5cGUudG9TdHJpbmc7CnZhciBlcnIxPUVycm9yKCk7CmlmKGVycjEuY29uc3RydWN0b3IhPT1FcnJvcil7CiAgJEVSUk9SKCcjMTogRXJyb3IucHJvdG90eXBlLnRvU3RyaW5nPU9iamVjdC5wcm90b3R5cGUudG9TdHJpbmc7IHZhciBlcnIxPUVycm9yKCk7IGVycjEuY29uc3RydWN0b3I9PT1FcnJvci4gQWN0dWFsOiAnK2VycjEuY29uc3RydWN0b3IpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"The function call Error(...) is equivalent to the object creation expression new\nError(...) with the same arguments","description":"Checking constructor of the newly constructed Error object","path":"TestCases/ch15/15.11/15.11.1/S15.11.1_A1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB0aGUgYXJndW1lbnQgIm1lc3NhZ2UiIGlzIG5vdCB1bmRlZmluZWQsIHRoZSBtZXNzYWdlIHByb3BlcnR5IG9mIHRoZSBuZXdseSBjb25zdHJ1Y3RlZCBvYmplY3QgaXMKICogc2V0IHRvIFRvU3RyaW5nKG1lc3NhZ2UpCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTEvMTUuMTEuMi9TMTUuMTEuMi4xX0ExX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBtZXNzYWdlIHByb3BlcnR5IG9mIGRpZmZlcmVudCBlcnJvciBvYmplY3RzCiAqLwoKZnVuY3Rpb24gb3RoZXJTY29wZShtc2cpCnsKICByZXR1cm4gbmV3IEVycm9yKG1zZyk7Cn0KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKdmFyIGVycjE9bmV3IEVycm9yKCdtc2cxJyk7CmlmKGVycjEubWVzc2FnZSE9PSJtc2cxIil7CiAgJEVSUk9SKCcjMTogdmFyIGVycjE9bmV3IEVycm9yKFwnbXNnMVwnKTsgZXJyMS5tZXNzYWdlPT09Im1zZzEiLiBBY3R1YWw6ICcrZXJyMS5tZXNzYWdlKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzIKdmFyIGVycjI9b3RoZXJTY29wZSgnbXNnMicpOwppZihlcnIyLm1lc3NhZ2UhPT0ibXNnMiIpewogICRFUlJPUignIzI6IGZ1bmN0aW9uIG90aGVyU2NvcGUobXNnKXtyZXR1cm4gbmV3IEVycm9yKG1zZyk7fSB2YXIgZXJyMj1vdGhlclNjb3BlKFwnbXNnMlwnKTsgZXJyMi5tZXNzYWdlPT09Im1zZzIiLiBBY3R1YWw6ICcrZXJyMi5tZXNzYWdlKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzMKdmFyIGVycjM9b3RoZXJTY29wZSgpOwppZihlcnIzLmhhc093blByb3BlcnR5KCdtZXNzYWdlJykpewogICRFUlJPUignIzM6IGZ1bmN0aW9uIG90aGVyU2NvcGUobXNnKXtyZXR1cm4gbmV3IEVycm9yKG1zZyk7fSB2YXIgZXJyMz1vdGhlclNjb3BlKCk7IGVycjMuaGFzT3duUHJvcGVydHkoIm1lc3NhZ2UiKS4gQWN0dWFsOiAnK2VycjMubWVzc2FnZSk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyM0CnZhciBlcnI0PWV2YWwoIm5ldyBFcnJvcignbXNnNCcpIik7CmlmKGVycjQubWVzc2FnZSE9PSJtc2c0Iil7CiAgJEVSUk9SKCcjNDogdmFyIGVycjQ9ZXZhbCgibmV3IEVycm9yKFwnbXNnNFwnKSIpOyBlcnI0Lm1lc3NhZ2U9PT0ibXNnNCIuIEFjdHVhbDogJytlcnI0Lm1lc3NhZ2UpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"If the argument \"message\" is not undefined, the message property of the newly constructed object is\nset to ToString(message)","description":"Checking message property of different error objects","path":"TestCases/ch15/15.11/15.11.2/S15.11.2.1_A1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgW1tQcm90b3R5cGVdXSBwcm9wZXJ0eSBvZiB0aGUgbmV3bHkgY29uc3RydWN0ZWQgb2JqZWN0IGlzIHNldCB0byB0aGUgb3JpZ2luYWwgRXJyb3IgcHJvdG90eXBlCiAqIG9iamVjdCwgdGhlIG9uZSB0aGF0IGlzIHRoZSBpbml0aWFsIHZhbHVlIG9mIEVycm9yLnByb3RvdHlwZSAoMTUuMTEuMy4xKQogKgogKiBAcGF0aCBjaDE1LzE1LjExLzE1LjExLjIvUzE1LjExLjIuMV9BMl9UMS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgcHJvdG90eXBlIG9mIHRoZSBuZXdseSBjb25zdHJ1Y3RlZCBFcnJvciBvYmplY3QKICovCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCnZhciBlcnIxPW5ldyBFcnJvcignbXNnMScpOwppZighRXJyb3IucHJvdG90eXBlLmlzUHJvdG90eXBlT2YoZXJyMSkpewogICRFUlJPUignIzE6IEVycm9yLnByb3RvdHlwZS5pc1Byb3RvdHlwZU9mKGVycjEpIHJldHVybiB0cnVlLiBBY3R1YWw6ICcrRXJyb3IucHJvdG90eXBlLmlzUHJvdG90eXBlT2YoZXJyMSkpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"The [[Prototype]] property of the newly constructed object is set to the original Error prototype\nobject, the one that is the initial value of Error.prototype (15.11.3.1)","description":"Checking prototype of the newly constructed Error object","path":"TestCases/ch15/15.11/15.11.2/S15.11.2.1_A2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgW1tDbGFzc11dIHByb3BlcnR5IG9mIHRoZSBuZXdseSBjb25zdHJ1Y3RlZCBvYmplY3QgaXMgc2V0IHRvICJFcnJvciIKICoKICogQHBhdGggY2gxNS8xNS4xMS8xNS4xMS4yL1MxNS4xMS4yLjFfQTNfVDEuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIENsYXNzIG9mIHRoZSBuZXdseSBjb25zdHJ1Y3RlZCBFcnJvciBvYmplY3QgdXNpbmcgdG9TdGluZygpIGZ1bmN0aW9uCiAqLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQpFcnJvci5wcm90b3R5cGUudG9TdHJpbmc9T2JqZWN0LnByb3RvdHlwZS50b1N0cmluZzsKdmFyIGVycjE9bmV3IEVycm9yKCk7CmlmKGVycjEudG9TdHJpbmcoKSE9PSdbb2JqZWN0ICcrICdFcnJvcicgKyddJyl7CiAgJEVSUk9SKCcjMTogZXJyMS50b1N0cmluZygpPT09XCdbb2JqZWN0IEVycm9yXVwnLiBBY3R1YWw6ICcrZXJyMS50b1N0cmluZygpKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"The [[Class]] property of the newly constructed object is set to \"Error\"","description":"Checking Class of the newly constructed Error object using toSting() function","path":"TestCases/ch15/15.11/15.11.2/S15.11.2.1_A3_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBFcnJvci5wcm90b3R5cGUgcHJvcGVydHkgaGFzIHRoZSBhdHRyaWJ1dGVzIHtEb250RGVsZXRlfQogKgogKiBAcGF0aCBjaDE1LzE1LjExLzE1LjExLjMvUzE1LjExLjMuMV9BMV9UMS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgaWYgZGVsZXRpbmcgdGhlIEVycm9yLnByb3RvdHlwZSBwcm9wZXJ0eSBmYWlscwogKi8KCnZhciBwcm90bz1FcnJvci5wcm90b3R5cGU7Ci8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYoZGVsZXRlIEVycm9yLnByb3RvdHlwZSl7CiAgJEVSUk9SKCcjMTogZGVsZXRlIEVycm9yLnByb3RvdHlwZSByZXR1cm4gZmFsc2UnKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzIKaWYoRXJyb3IucHJvdG90eXBlIT09cHJvdG8pewogICRFUlJPUignIzI6IHZhciBwcm90bz1FcnJvci5wcm90b3R5cGU7IGRlbGV0ZSBFcnJvci5wcm90b3R5cGU7IEVycm9yLnByb3RvdHlwZT09PXByb3RvLiBBY3R1YWw6ICcrRXJyb3IucHJvdG90eXBlKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"Error.prototype property has the attributes {DontDelete}","description":"Checking if deleting the Error.prototype property fails","path":"TestCases/ch15/15.11/15.11.3/S15.11.3.1_A1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBFcnJvci5wcm90b3R5cGUgcHJvcGVydHkgaGFzIHRoZSBhdHRyaWJ1dGVzIHtEb250RW51bX0KICoKICogQHBhdGggY2gxNS8xNS4xMS8xNS4xMS4zL1MxNS4xMS4zLjFfQTJfVDEuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIGVudW1lcmF0aW5nIHRoZSBFcnJvci5wcm90b3R5cGUgcHJvcGVydHkgZmFpbHMKICovCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMwCmlmICghKEVycm9yLmhhc093blByb3BlcnR5KCdwcm90b3R5cGUnKSkpIHsKICAkRVJST1IoJyMwOiBFcnJvci5oYXNPd25Qcm9wZXJ0eShcJ3Byb3RvdHlwZVwnKSByZXR1cm4gdHJ1ZS4gQWN0dWFsOiAnK0Vycm9yLmhhc093blByb3BlcnR5KCdwcm90b3R5cGUnKSk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vIENIRUNLIzEKaWYgKEVycm9yLnByb3BlcnR5SXNFbnVtZXJhYmxlKCdwcm90b3R5cGUnKSkgewogICRFUlJPUignIzE6IEVycm9yLnByb3BlcnR5SXNFbnVtZXJhYmxlKFwncHJvdG90eXBlXCcpIHJldHVybiBmYWxzZS4gQWN0dWFsOiAnK0Vycm9yLnByb3BlcnR5SXNFbnVtZXJhYmxlKCdwcm90b3R5cGUnKSk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vIENIRUNLIzIKY291dD0wOwoKZm9yIChwIGluIEVycm9yKXsKICBpZiAocD09PSJwcm90b3R5cGUiKSBjb3V0Kys7Cn0KCmlmIChjb3V0ICE9PSAwKSB7CiAgJEVSUk9SKCcjMjogY291dCA9PT0gMC4gQWN0dWFsOiAnK2NvdXQgKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"Error.prototype property has the attributes {DontEnum}","description":"Checking if enumerating the Error.prototype property fails","path":"TestCases/ch15/15.11/15.11.3/S15.11.3.1_A2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBFcnJvci5wcm90b3R5cGUgcHJvcGVydHkgaGFzIHRoZSBhdHRyaWJ1dGVzIHtSZWFkT25seX0KICoKICogQHBhdGggY2gxNS8xNS4xMS8xNS4xMS4zL1MxNS4xMS4zLjFfQTNfVDEuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIHZhcnlpbmcgdGhlIEVycm9yLnByb3RvdHlwZSBwcm9wZXJ0eSBmYWlscwogKi8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKCEoRXJyb3IuaGFzT3duUHJvcGVydHkoJ3Byb3RvdHlwZScpKSkgewogICRFUlJPUignIzE6IEVycm9yLmhhc093blByb3BlcnR5KFwncHJvdG90eXBlXCcpIHJldHVybiB0cnVlLiBBY3R1YWw6ICcrRXJyb3IuaGFzT3duUHJvcGVydHkoJ3Byb3RvdHlwZScpKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCl9fb2JqID0gRXJyb3IucHJvdG90eXBlOwoKRXJyb3IucHJvdG90eXBlID0gZnVuY3Rpb24oKXtyZXR1cm4gInNoaWZ0ZWQiO307CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMyCmlmIChFcnJvci5wcm90b3R5cGUgIT09IF9fb2JqKSB7CiAgJEVSUk9SKCcjMjogX19vYmogPSBFcnJvci5wcm90b3R5cGU7IEVycm9yLnByb3RvdHlwZSA9IGZ1bmN0aW9uKCl7cmV0dXJuICJzaGlmdGVkIjt9OyBFcnJvci5wcm90b3R5cGUgPT09IF9fb2JqLiBBY3R1YWw6ICcrRXJyb3IucHJvdG90eXBlICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMzCnRyeSB7CiAgRXJyb3IucHJvdG90eXBlKCk7CiAgJEVSUk9SKCcjMzogIkVycm9yLnByb3RvdHlwZSgpIiBsZWFkIHRvIHRocm93aW5nIGV4Y2VwdGlvbicpOwp9IGNhdGNoIChlKSB7CiAgOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"Error.prototype property has the attributes {ReadOnly}","description":"Checking if varying the Error.prototype property fails","path":"TestCases/ch15/15.11/15.11.3/S15.11.3.1_A3_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRXJyb3IgaGFzIHByb3BlcnR5IHByb3RvdHlwZQogKgogKiBAcGF0aCBjaDE1LzE1LjExLzE1LjExLjMvUzE1LjExLjMuMV9BNF9UMS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgRXJyb3IuaGFzT3duUHJvcGVydHkoJ3Byb3RvdHlwZScpCiAqLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAoIShFcnJvci5oYXNPd25Qcm9wZXJ0eSgncHJvdG90eXBlJykpKSB7CiAgJEVSUk9SKCcjMTogRXJyb3IuaGFzT3duUHJvcGVydHkoXCdwcm90b3R5cGVcJykgcmV0dXJuIHRydWUuIEFjdHVhbDogJytFcnJvci5oYXNPd25Qcm9wZXJ0eSgncHJvdG90eXBlJykpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"The Error has property prototype","description":"Checking Error.hasOwnProperty('prototype')","path":"TestCases/ch15/15.11/15.11.3/S15.11.3.1_A4_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgdmFsdWUgb2YgdGhlIGludGVybmFsIFtbUHJvdG90eXBlXV0gcHJvcGVydHkgb2YgdGhlIEVycm9yIGNvbnN0cnVjdG9yIGlzIHRoZSBGdW5jdGlvbiBwcm90b3R5cGUgb2JqZWN0KDE1LjMuNCkKICoKICogQHBhdGggY2gxNS8xNS4xMS8xNS4xMS4zL1MxNS4xMS4zX0ExX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBwcm90b3R5cGUgb2YgY29uc3RydWN0b3Igb2YgdGhlIG5ld2x5IGNvbnN0cnVjdGVkIEVycm9yIG9iamVjdAogKi8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKdmFyIGVycjE9RXJyb3IoImVyciIpOwppZighRnVuY3Rpb24ucHJvdG90eXBlLmlzUHJvdG90eXBlT2YoZXJyMS5jb25zdHJ1Y3RvcikpewogICRFUlJPUignIzE6IHZhciBlcnIxPUVycm9yKCJlcnIiKTsgRnVuY3Rpb24ucHJvdG90eXBlLmlzUHJvdG90eXBlT2YoZXJyMS5jb25zdHJ1Y3RvcikgcmV0dXJuIHRydWUuIEFjdHVhbDonK0Z1bmN0aW9uLnByb3RvdHlwZS5pc1Byb3RvdHlwZU9mKGVycjEuY29uc3RydWN0b3IpKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzIKaWYoIUZ1bmN0aW9uLnByb3RvdHlwZS5pc1Byb3RvdHlwZU9mKEVycm9yLmNvbnN0cnVjdG9yKSl7CiAgJEVSUk9SKCcjMjogRnVuY3Rpb24ucHJvdG90eXBlLmlzUHJvdG90eXBlT2YoRXJyb3IuY29uc3RydWN0b3IpIHJldHVybiB0cnVlLiBBY3R1YWw6JytGdW5jdGlvbi5wcm90b3R5cGUuaXNQcm90b3R5cGVPZihFcnJvci5jb25zdHJ1Y3RvcikpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"The value of the internal [[Prototype]] property of the Error constructor is the Function prototype object(15.3.4)","description":"Checking prototype of constructor of the newly constructed Error object","path":"TestCases/ch15/15.11/15.11.3/S15.11.3_A1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgbGVuZ3RoIHByb3BlcnR5IHZhbHVlIGlzIDEKICoKICogQHBhdGggY2gxNS8xNS4xMS8xNS4xMS4zL1MxNS4xMS4zX0EyX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBsZW5ndGggcHJvcGVydHkKICovCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCnZhciBlcnIxPUVycm9yKCJlcnIiKTsKaWYoZXJyMS5jb25zdHJ1Y3Rvci5sZW5ndGghPT0xKXsKICAkRVJST1IoJyMxOiB2YXIgZXJyMT1FcnJvcigiZXJyIik7IGVycjEuY29uc3RydWN0b3IubGVuZ3RoPT09MS4gQWN0dWFsOiAnK2VycjEuY29uc3RydWN0b3IubGVuZ3RoKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzIKaWYoRXJyb3IuY29uc3RydWN0b3IubGVuZ3RoIT09MSl7CiAgJEVSUk9SKCcjMjogRXJyb3IuY29uc3RydWN0b3IubGVuZ3RoPT09MS4gQWN0dWFsOiAnK0Vycm9yLmNvbnN0cnVjdG9yLmxlbmd0aCk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"The length property value is 1","description":"Checking length property","path":"TestCases/ch15/15.11/15.11.3/S15.11.3_A2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgaW5pdGlhbCB2YWx1ZSBvZiBFcnJvci5wcm90b3R5cGUuY29uc3RydWN0b3IgaXMgdGhlIGJ1aWx0LWluIEVycm9yIGNvbnN0cnVjdG9yCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTEvMTUuMTEuNC9TMTUuMTEuNC4xX0ExX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBFcnJvci5wcm90b3R5cGUuY29uc3RydWN0b3IKICovCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmIChFcnJvci5wcm90b3R5cGUuY29uc3RydWN0b3IgIT09IEVycm9yKSB7CgkkRVJST1IoJyMxOiBFcnJvci5wcm90b3R5cGUuY29uc3RydWN0b3IgPT09IEVycm9yLiBBY3R1YWw6ICcrRXJyb3IucHJvdG90eXBlLmNvbnN0cnVjdG9yICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"The initial value of Error.prototype.constructor is the built-in Error constructor","description":"Checking Error.prototype.constructor","path":"TestCases/ch15/15.11/15.11.4/S15.11.4.1_A1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgaW5pdGlhbCB2YWx1ZSBvZiBFcnJvci5wcm90b3R5cGUuY29uc3RydWN0b3IgaXMgdGhlIGJ1aWx0LWluIEVycm9yIGNvbnN0cnVjdG9yCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTEvMTUuMTEuNC9TMTUuMTEuNC4xX0ExX1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiBjcmVhdGluZyAibmV3IEVycm9yLnByb3RvdHlwZS5jb25zdHJ1Y3RvciIgcGFzc2VzIGFuZCBjaGVja2luZyBpdHMgcHJvcGVydGllcwogKi8KCmNvbnN0ciA9IEVycm9yLnByb3RvdHlwZS5jb25zdHJ1Y3RvcjsKCmVyciA9IG5ldyBjb25zdHI7CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy8gQ0hFQ0sjMAppZiAoZXJyID09PSB1bmRlZmluZWQpIHsKCSRFUlJPUignIzA6IGNvbnN0ciA9IEVycm9yLnByb3RvdHlwZS5jb25zdHJ1Y3RvcjsgZXJyID0gbmV3IGNvbnN0cjsgZXJyID09PSB1bmRlZmluZWQnKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovLyBDSEVDSyMxCmlmIChlcnIuY29uc3RydWN0b3IgIT09IEVycm9yKSB7CgkkRVJST1IoJyMxOiBjb25zdHIgPSBFcnJvci5wcm90b3R5cGUuY29uc3RydWN0b3I7IGVyciA9IG5ldyBjb25zdHI7IGVyci5jb25zdHJ1Y3RvciA9PT0gRXJyb3IuIEFjdHVhbDogJytlcnIuY29uc3RydWN0b3IgKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovLyBDSEVDSyMyCmlmICghKEVycm9yLnByb3RvdHlwZS5pc1Byb3RvdHlwZU9mKGVycikpKSB7CgkkRVJST1IoJyMyOiBjb25zdHIgPSBFcnJvci5wcm90b3R5cGUuY29uc3RydWN0b3I7IGVyciA9IG5ldyBjb25zdHI7IEVycm9yLnByb3RvdHlwZS5pc1Byb3RvdHlwZU9mKGVycikgcmV0dXJuIHRydWUuIEFjdHVhbDogJytFcnJvci5wcm90b3R5cGUuaXNQcm90b3R5cGVPZihlcnIpKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovLyBDSEVDSyMzCkVycm9yLnByb3RvdHlwZS50b1N0cmluZz1PYmplY3QucHJvdG90eXBlLnRvU3RyaW5nOwp0b19zdHJpbmdfcmVzdWx0ID0gJ1tvYmplY3QgJysgJ0Vycm9yJyArJ10nOwppZiAoZXJyLnRvU3RyaW5nKCkgIT09IHRvX3N0cmluZ19yZXN1bHQpIHsKCSRFUlJPUignIzM6IGNvbnN0ciA9IEVycm9yLnByb3RvdHlwZS5jb25zdHJ1Y3RvcjsgZXJyID0gbmV3IGNvbnN0cjsgRXJyb3IucHJvdG90eXBlLnRvU3RyaW5nPU9iamVjdC5wcm90b3R5cGUudG9TdHJpbmc7IGVyci50b1N0cmluZygpID09PSBcJ1tvYmplY3QgRXJyb3JdXCcuIEFjdHVhbDogJytlcnIudG9TdHJpbmcoKSApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vIENIRUNLIzQKaWYgKGVyci52YWx1ZU9mKCkudG9TdHJpbmcoKSAhPT0gdG9fc3RyaW5nX3Jlc3VsdCkgewoJJEVSUk9SKCcjNDogY29uc3RyID0gRXJyb3IucHJvdG90eXBlLmNvbnN0cnVjdG9yOyBlcnIgPSBuZXcgY29uc3RyOyBFcnJvci5wcm90b3R5cGUudG9TdHJpbmc9T2JqZWN0LnByb3RvdHlwZS50b1N0cmluZzsgZXJyLnZhbHVlT2YoKS50b1N0cmluZygpID09PSBcJ1tvYmplY3QgRXJyb3JdXCcuIEFjdHVhbDogJytlcnIudmFsdWVPZigpLnRvU3RyaW5nKCkgKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"The initial value of Error.prototype.constructor is the built-in Error constructor","description":"Checking if creating \"new Error.prototype.constructor\" passes and checking its properties","path":"TestCases/ch15/15.11/15.11.4/S15.11.4.1_A1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRXJyb3IucHJvdG90eXBlIGhhcyBuYW1lIHByb3BlcnR5CiAqCiAqIEBwYXRoIGNoMTUvMTUuMTEvMTUuMTEuNC9TMTUuMTEuNC4yX0ExLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBFcnJvci5wcm90b3R5cGUubmFtZQogKi8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovLyBDSEVDSyMxCmlmICghRXJyb3IucHJvdG90eXBlLmhhc093blByb3BlcnR5KCduYW1lJykpIHsKCSRFUlJPUignIzE6IEVycm9yLnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eShcJ25hbWVcJykgcmV0dXJuIHRydWUuIEFjdHVhbDogJytFcnJvci5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkoJ25hbWUnKSk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"The Error.prototype has name property","description":"Checking Error.prototype.name","path":"TestCases/ch15/15.11/15.11.4/S15.11.4.2_A1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgaW5pdGlhbCB2YWx1ZSBvZiBFcnJvci5wcm90b3R5cGUubmFtZSBpcyAiRXJyb3IiCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTEvMTUuMTEuNC9TMTUuMTEuNC4yX0EyLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyB2YWx1ZSBvZiBFcnJvci5wcm90b3R5cGUubmFtZQogKi8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovLyBDSEVDSyMxCmlmIChFcnJvci5wcm90b3R5cGUubmFtZSE9PSJFcnJvciIpIHsKCSRFUlJPUignIzE6IEVycm9yLnByb3RvdHlwZS5uYW1lPT09IkVycm9yIi4gQWN0dWFsOiAnK0Vycm9yLnByb3RvdHlwZS5uYW1lKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"The initial value of Error.prototype.name is \"Error\"","description":"Checking value of Error.prototype.name","path":"TestCases/ch15/15.11/15.11.4/S15.11.4.2_A2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRXJyb3IucHJvdG90eXBlIGhhcyBtZXNzYWdlIHByb3BlcnR5CiAqCiAqIEBwYXRoIGNoMTUvMTUuMTEvMTUuMTEuNC9TMTUuMTEuNC4zX0ExLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBFcnJvci5wcm90b3R5cGUubWVzc2FnZQogKi8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovLyBDSEVDSyMxCmlmICghRXJyb3IucHJvdG90eXBlLmhhc093blByb3BlcnR5KCdtZXNzYWdlJykpIHsKCSRFUlJPUignIzE6IEVycm9yLnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eShcJ21lc3NhZ2VcJykgcmV1cm4gdHJ1ZS4gQWN0dWFsOiAnK0Vycm9yLnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eSgnbWVzc2FnZScpKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"The Error.prototype has message property","description":"Checking Error.prototype.message","path":"TestCases/ch15/15.11/15.11.4/S15.11.4.3_A1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgaW5pdGlhbCB2YWx1ZSBvZiBFcnJvci5wcm90b3R5cGUubWVzc2FnZSBpcyAiIgogKgogKiBAcGF0aCBjaDE1LzE1LjExLzE1LjExLjQvUzE1LjExLjQuM19BMi5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgdmFsdWUgb2YgRXJyb3IucHJvdG90eXBlLm1lc3NhZ2UKICovCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy8gQ0hFQ0sjMQppZiAodHlwZW9mIEVycm9yLnByb3RvdHlwZS5tZXNzYWdlICE9PSAic3RyaW5nIikgewogICRFUlJPUignIzE6IHR5cGVvZiBFcnJvci5wcm90b3R5cGUubWVzc2FnZSA9PT0gInN0cmluZyIuIEFjdHVhbDogJyArIEVycm9yLnByb3RvdHlwZS5tZXNzYWdlKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"The initial value of Error.prototype.message is \"\"","description":"Checking value of Error.prototype.message","path":"TestCases/ch15/15.11/15.11.4/S15.11.4.3_A2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRXJyb3IucHJvdG90eXBlIGhhcyB0b1N0cmluZyBwcm9wZXJ0eQogKgogKiBAcGF0aCBjaDE1LzE1LjExLzE1LjExLjQvUzE1LjExLjQuNF9BMS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgRXJyb3IucHJvdG90eXBlLnRvU3RyaW5nCiAqLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vIENIRUNLIzEKaWYgKCFFcnJvci5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkoJ3RvU3RyaW5nJykpIHsKCSRFUlJPUignIzE6IEVycm9yLnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eShcJ3RvU3RyaW5nXCcpIHJldHVybiB0cnVlLiBBY3R1YWw6ICcrRXJyb3IucHJvdG90eXBlLmhhc093blByb3BlcnR5KCd0b1N0cmluZycpKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"The Error.prototype has toString property","description":"Checking Error.prototype.toString","path":"TestCases/ch15/15.11/15.11.4/S15.11.4.4_A1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRXJyb3IucHJvdG90eXBlLnRvU3RyaW5nIHJldHVybnMgYW4gaW1wbGVtZW50YXRpb24gZGVmaW5lZCBzdHJpbmcKICoKICogQHBhdGggY2gxNS8xNS4xMS8xNS4xMS40L1MxNS4xMS40LjRfQTIuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIGNhbGwgb2YgRXJyb3IucHJvdG90eXBlLnRvU3RpbmcoKSBmYWlscwogKi8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovLyBDSEVDSyMxCnZhciBlcnIxPW5ldyBFcnJvcigiRXJyb3IiKTsKdHJ5ewoJdmFyIHRvU3RyPWVycjEudG9TdHJpbmcoKTsKfQpjYXRjaChlKXsKCSRFUlJPUignIzE6IHZhciBlcnIxPW5ldyBFcnJvcigiRXJyb3IiKTsgdmFyIHRvU3RyPWVycjEudG9TdHJpbmcoKTsgbGVhZCB0byB0aHJvd2luZyBleGNlcHRpb24uIEV4Y2VwdGlvbiBpcyAnK2UpOwp9CmlmICh0b1N0cj09PXVuZGVmaW5lZCkgewoJJEVSUk9SKCcjMjogdmFyIGVycjE9bmV3IEVycm9yKCJFcnJvciIpOyB2YXIgdG9TdHI9ZXJyMS50b1N0cmluZygpOyB0b1N0ciE9PXVuZGVmaW5lZC4gQWN0dWFsOiAnK3RvU3RyKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"The Error.prototype.toString returns an implementation defined string","description":"Checking if call of Error.prototype.toSting() fails","path":"TestCases/ch15/15.11/15.11.4/S15.11.4.4_A2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgdmFsdWUgb2YgdGhlIGludGVybmFsIFtbUHJvdG90eXBlXV0gcHJvcGVydHkgb2YgdGhlIEVycm9yIHByb3RvdHlwZSBvYmplY3QgaXMgdGhlIE9iamVjdCBwcm90b3R5cGUKICogb2JqZWN0KDE1LjIuMy4xKQogKgogKiBAcGF0aCBjaDE1LzE1LjExLzE1LjExLjQvUzE1LjExLjRfQTEuanMKICogQGRlc2NyaXB0aW9uIEdldCBFcnJvci5wcm90b3R5cGUgYW5kIGNvbXBhcmUgd2l0aCBPYmplY3QucHJvdG90eXBlCiAqLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vIENIRUNLIzEKaWYgKCFPYmplY3QucHJvdG90eXBlLmlzUHJvdG90eXBlT2YoRXJyb3IucHJvdG90eXBlKSkgewoJJEVSUk9SKCcjMTogT2JqZWN0LnByb3RvdHlwZS5pc1Byb3RvdHlwZU9mKEVycm9yLnByb3RvdHlwZSkgcmV0dXJuIHRydWUuIEFjdHVhbDogJytPYmplY3QucHJvdG90eXBlLmlzUHJvdG90eXBlT2YoRXJyb3IucHJvdG90eXBlKSk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"The value of the internal [[Prototype]] property of the Error prototype object is the Object prototype\nobject(15.2.3.1)","description":"Get Error.prototype and compare with Object.prototype","path":"TestCases/ch15/15.11/15.11.4/S15.11.4_A1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgdmFsdWUgb2YgdGhlIGludGVybmFsIFtbQ2xhc3NdXSBwcm9wZXJ0eSBvZiBFcnJvciBwcm90b3R5cGUgb2JqZWN0IGlzICJFcnJvciIKICoKICogQHBhdGggY2gxNS8xNS4xMS8xNS4xMS40L1MxNS4xMS40X0EyLmpzCiAqIEBkZXNjcmlwdGlvbiBHZXR0aW5nIHRoZSB2YWx1ZSBvZiB0aGUgaW50ZXJuYWwgW1tDbGFzc11dIHByb3BlcnR5IHVzaW5nIEVycm9yLnByb3RvdHlwZS50b1N0cmluZygpIGZ1bmN0aW9uCiAqLwoKRXJyb3IucHJvdG90eXBlLnRvU3RyaW5nPU9iamVjdC5wcm90b3R5cGUudG9TdHJpbmc7Cl9fdG9zdHIgPSBFcnJvci5wcm90b3R5cGUudG9TdHJpbmcoKTsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKF9fdG9zdHIgIT09ICJbb2JqZWN0IEVycm9yXSIpIHsKCSRFUlJPUignIzE6IEVycm9yLnByb3RvdHlwZS50b1N0cmluZz1PYmplY3QucHJvdG90eXBlLnRvU3RyaW5nOyBfX3Rvc3RyID0gRXJyb3IucHJvdG90eXBlLnRvU3RyaW5nKCk7IF9fdG9zdHIgPT09ICJbb2JqZWN0IEVycm9yXSIuIEFjdHVhbDogJytfX3Rvc3RyICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"The value of the internal [[Class]] property of Error prototype object is \"Error\"","description":"Getting the value of the internal [[Class]] property using Error.prototype.toString() function","path":"TestCases/ch15/15.11/15.11.4/S15.11.4_A2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTaW5jZSBFcnJvciBwcm90b3R5cGUgb2JqZWN0IGlzIG5vdCBmdW5jdGlvbiBpdCBoYXMgbm90IFtbY2FsbF1dIG1ldGhvZAogKgogKiBAcGF0aCBjaDE1LzE1LjExLzE1LjExLjQvUzE1LjExLjRfQTMuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIGNhbGwgb2YgRXJyb3IgcHJvdG90eXBlIGFzIGEgZnVuY3Rpb24gZmFpbHMKICovCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCnRyeSB7CglFcnJvci5wcm90b3R5cGUoKTsKCSRGQUlMKCcjMTogIkVycm9yLnByb3RvdHlwZSgpIiBsZWFkIHRvIHRocm93aW5nIGV4Y2VwdGlvbicpOw0KfSBjYXRjaCAoZSkgew0KICAgIGlmIChlIGluc3RhbmNlb2YgVGVzdDI2MkVycm9yKSB0aHJvdyBlOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"Since Error prototype object is not function it has not [[call]] method","description":"Checking if call of Error prototype as a function fails","path":"TestCases/ch15/15.11/15.11.4/S15.11.4_A3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTaW5jZSBFcnJvciBwcm90b3R5cGUgb2JqZWN0IGlzIG5vdCBmdW5jdGlvbiBpdCBoYXMgbm90IFtbY3JlYXRlXV0gbWV0aG9kCiAqCiAqIEBwYXRoIGNoMTUvMTUuMTEvMTUuMTEuNC9TMTUuMTEuNF9BNC5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgaWYgY3JlYXRpbmcgIm5ldyBFcnJvci5wcm90b3R5cGUiIGZhaWxzCiAqLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQp0cnkgewoJX19pbnN0YW5jZSA9IG5ldyBPYmplY3QucHJvdG90eXBlOwoJJEZBSUwoJyMxOiAiX19pbnN0YW5jZSA9IG5ldyBPYmplY3QucHJvdG90eXBlIiBsZWFkIHRvIHRocm93aW5nIGV4Y2VwdGlvbicpOw0KfSBjYXRjaCAoZSkgew0KICAgIGlmIChlIGluc3RhbmNlb2YgVGVzdDI2MkVycm9yKSB0aHJvdyBlOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"Since Error prototype object is not function it has not [[create]] method","description":"Checking if creating \"new Error.prototype\" fails","path":"TestCases/ch15/15.11/15.11.4/S15.11.4_A4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4xMS8xNS4xMS40LzE1LjExLjQuMi8xNS4xMS40LjItMS5qcw0KICogQGRlc2NyaXB0aW9uIEVycm9yLnByb3RvdHlwZS5uYW1lIGlzIG5vdCBlbnVtZXJhYmxlLg0KICovDQoNCg0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICBmb3IgKHZhciBpIGluIEVycm9yLnByb3RvdHlwZSkgew0KICAgICAgICAgICAgaWYgKGk9PT0ibmFtZSIpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCiAgICAgICAgcmV0dXJuIHRydWU7DQp9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7","commentary":"","description":"Error.prototype.name is not enumerable.","path":"TestCases/ch15/15.11/15.11.4/15.11.4.2/15.11.4.2-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4xMS8xNS4xMS40LzE1LjExLjQuMy8xNS4xMS40LjMtMS5qcw0KICogQGRlc2NyaXB0aW9uIEVycm9yLnByb3RvdHlwZS5tZXNzYWdlIGlzIG5vdCBlbnVtZXJhYmxlLg0KICovDQoNCg0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICBmb3IgKHZhciBpIGluIEVycm9yLnByb3RvdHlwZSkgew0KICAgICAgICAgICAgaWYgKGk9PT0ibWVzc2FnZSIpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCiAgICAgICAgcmV0dXJuIHRydWU7DQp9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7","commentary":"","description":"Error.prototype.message is not enumerable.","path":"TestCases/ch15/15.11/15.11.4/15.11.4.3/15.11.4.3-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4xMS8xNS4xMS40LzE1LjExLjQuNC8xNS4xMS40LjQtMTAtMS5qcw0KICogQGRlc2NyaXB0aW9uIEVycm9yLnByb3RvdHlwZS50b1N0cmluZyByZXR1cm4gdGhlIHJlc3VsdCBvZiBjb25jYXRlbmF0aW5nICduYW1lJywgJzonLCBhIHNpbmdsZSBzcGFjZSBjaGFyYWN0ZXIsIGFuZCAnbXNnJyB3aGVuICduYW1lJyBhbmQgJ21zZycgYXJlIG5vbi1lbXB0eSBzdHJpbmcNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgZXJyT2JqID0gbmV3IEVycm9yKCJFcnJvck1lc3NhZ2UiKTsNCiAgICAgICAgZXJyT2JqLm5hbWUgPSAiRXJyb3JOYW1lIjsNCiAgICAgICAgcmV0dXJuIGVyck9iai50b1N0cmluZygpID09PSAiRXJyb3JOYW1lOiBFcnJvck1lc3NhZ2UiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Error.prototype.toString return the result of concatenating 'name', ':', a single space character, and 'msg' when 'name' and 'msg' are non-empty string","path":"TestCases/ch15/15.11/15.11.4/15.11.4.4/15.11.4.4-10-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4xMS8xNS4xMS40LzE1LjExLjQuNC8xNS4xMS40LjQtNi0xLmpzDQogKiBAZGVzY3JpcHRpb24gRXJyb3IucHJvdG90eXBlLnRvU3RyaW5nIC0gJ0Vycm9yJyBpcyByZXR1cm5lZCB3aGVuICduYW1lJyBpcyBhYnNlbnQgYW5kIGVtcHR5IHN0cmluZyBpcyByZXR1cm5lZCB3aGVuICdtc2cnIGlzIHVuZGVmaW5lZA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBlcnJPYmogPSBuZXcgRXJyb3IoKTsNCiAgICAgICAgcmV0dXJuIGVyck9iai50b1N0cmluZygpID09PSAiRXJyb3IiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Error.prototype.toString - 'Error' is returned when 'name' is absent and empty string is returned when 'msg' is undefined","path":"TestCases/ch15/15.11/15.11.4/15.11.4.4/15.11.4.4-6-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4xMS8xNS4xMS40LzE1LjExLjQuNC8xNS4xMS40LjQtNi0yLmpzDQogKiBAZGVzY3JpcHRpb24gRXJyb3IucHJvdG90eXBlLnRvU3RyaW5nIC0gJ0Vycm9yJyBpcyByZXR1cm5lZCB3aGVuICduYW1lJyBpcyBhYnNlbnQgYW5kIHZhbHVlIG9mICdtc2cnIGlzIHJldHVybmVkIHdoZW4gJ21zZycgaXMgbm9uLWVtcHR5IHN0cmluZw0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBlcnJPYmogPSBuZXcgRXJyb3IoIkVycm9yTWVzc2FnZSIpOw0KICAgICAgICByZXR1cm4gZXJyT2JqLnRvU3RyaW5nKCkgPT09ICJFcnJvcjogRXJyb3JNZXNzYWdlIjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Error.prototype.toString - 'Error' is returned when 'name' is absent and value of 'msg' is returned when 'msg' is non-empty string","path":"TestCases/ch15/15.11/15.11.4/15.11.4.4/15.11.4.4-6-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4xMS8xNS4xMS40LzE1LjExLjQuNC8xNS4xMS40LjQtOC0xLmpzDQogKiBAZGVzY3JpcHRpb24gRXJyb3IucHJvdG90eXBlLnRvU3RyaW5nIHJldHVybiB0aGUgdmFsdWUgb2YgJ21zZycgd2hlbiAnbmFtZScgaXMgZW1wdHkgc3RyaW5nIGFuZCAnbXNnJyBpc24ndCB1bmRlZmluZWQNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgZXJyT2JqID0gbmV3IEVycm9yKCJFcnJvck1lc3NhZ2UiKTsNCiAgICAgICAgZXJyT2JqLm5hbWUgPSAiIjsNCiAgICAgICAgcmV0dXJuIGVyck9iai50b1N0cmluZygpID09PSAiRXJyb3JNZXNzYWdlIjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Error.prototype.toString return the value of 'msg' when 'name' is empty string and 'msg' isn't undefined","path":"TestCases/ch15/15.11/15.11.4/15.11.4.4/15.11.4.4-8-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4xMS8xNS4xMS40LzE1LjExLjQuNC8xNS4xMS40LjQtOC0yLmpzDQogKiBAZGVzY3JpcHRpb24gRXJyb3IucHJvdG90eXBlLnRvU3RyaW5nIHJldHVybiBlbXB0eSBzdHJpbmcgd2hlbiAnbmFtZScgaXMgZW1wdHkgc3RyaW5nIGFuZCAnbXNnJyBpcyB1bmRlZmluZWQNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgZXJyT2JqID0gbmV3IEVycm9yKCk7DQogICAgICAgIGVyck9iai5uYW1lID0gIiI7DQogICAgICAgIHJldHVybiBlcnJPYmoudG9TdHJpbmcoKSA9PT0gIiI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Error.prototype.toString return empty string when 'name' is empty string and 'msg' is undefined","path":"TestCases/ch15/15.11/15.11.4/15.11.4.4/15.11.4.4-8-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4xMS8xNS4xMS40LzE1LjExLjQuNC8xNS4xMS40LjQtOS0xLmpzDQogKiBAZGVzY3JpcHRpb24gRXJyb3IucHJvdG90eXBlLnRvU3RyaW5nIHJldHVybiAnbmFtZScgd2hlbiAnbmFtZScgaXMgbm9uLWVtcHR5IHN0cmluZyBhbmQgJ21zZycgaXMgZW1wdHkgc3RyaW5nDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIGVyck9iaiA9IG5ldyBFcnJvcigpOw0KICAgICAgICBlcnJPYmoubmFtZSA9ICJFcnJvck5hbWUiOw0KICAgICAgICByZXR1cm4gZXJyT2JqLnRvU3RyaW5nKCkgPT09ICJFcnJvck5hbWUiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Error.prototype.toString return 'name' when 'name' is non-empty string and 'msg' is empty string","path":"TestCases/ch15/15.11/15.11.4/15.11.4.4/15.11.4.4-9-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogVGhpcyB0ZXN0IHNob3VsZCBiZSBydW4gd2l0aG91dCBhbnkgYnVpbHQtaW5zIGJlaW5nIGFkZGVkL2F1Z21lbnRlZC4NCiAqIFRoZSBuYW1lIEpTT04gbXVzdCBiZSBib3VuZCB0byBhbiBvYmplY3QuDQogKiA0LjIgY2FsbHMgb3V0IEpTT04gYXMgb25lIG9mIHRoZSBidWlsdC1pbiBvYmplY3RzLg0KICoNCiAqIEBwYXRoIGNoMTUvMTUuMTIvMTUuMTItMC0xLmpzDQogKiBAZGVzY3JpcHRpb24gSlNPTiBtdXN0IGJlIGEgYnVpbHQtaW4gb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIG8gPSBKU09OOw0KICBpZiAodHlwZW9mKG8pID09PSAib2JqZWN0IikgeyAgDQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"This test should be run without any built-ins being added/augmented.\nThe name JSON must be bound to an object.\n4.2 calls out JSON as one of the built-in objects.","description":"JSON must be a built-in object","path":"TestCases/ch15/15.12/15.12-0-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogVGhpcyB0ZXN0IHNob3VsZCBiZSBydW4gd2l0aG91dCBhbnkgYnVpbHQtaW5zIGJlaW5nIGFkZGVkL2F1Z21lbnRlZC4NCiAqIFRoZSBuYW1lIEpTT04gbXVzdCBiZSBib3VuZCB0byBhbiBvYmplY3QsIGFuZCBtdXN0IG5vdCBzdXBwb3J0IFtbQ29uc3RydWN0XV0uDQogKiBzdGVwIDQgaW4gMTEuMi4yIHNob3VsZCB0aHJvdyBhIFR5cGVFcnJvciBleGNlcHRpb24uDQogKg0KICogQHBhdGggY2gxNS8xNS4xMi8xNS4xMi0wLTIuanMNCiAqIEBkZXNjcmlwdGlvbiBKU09OIG11c3Qgbm90IHN1cHBvcnQgdGhlIFtbQ29uc3RydWN0XV0gbWV0aG9kDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIG8gPSBKU09OOw0KDQogIHRyeSB7DQogICAgdmFyIGogPSBuZXcgSlNPTigpOw0KICB9DQogIGNhdGNoIChlKSB7DQogICAgaWYgKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpIHsNCiAgICAgIHJldHVybiB0cnVlOw0KICAgIH0NCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"This test should be run without any built-ins being added/augmented.\nThe name JSON must be bound to an object, and must not support [[Construct]].\nstep 4 in 11.2.2 should throw a TypeError exception.","description":"JSON must not support the [[Construct]] method","path":"TestCases/ch15/15.12/15.12-0-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogVGhpcyB0ZXN0IHNob3VsZCBiZSBydW4gd2l0aG91dCBhbnkgYnVpbHQtaW5zIGJlaW5nIGFkZGVkL2F1Z21lbnRlZC4NCiAqIFRoZSBuYW1lIEpTT04gbXVzdCBiZSBib3VuZCB0byBhbiBvYmplY3QsIGFuZCBtdXN0IG5vdCBzdXBwb3J0IFtbQ2FsbF1dLg0KICogc3RlcCA1IGluIDExLjIuMyBzaG91bGQgdGhyb3cgYSBUeXBlRXJyb3IgZXhjZXB0aW9uLg0KICoNCiAqIEBwYXRoIGNoMTUvMTUuMTIvMTUuMTItMC0zLmpzDQogKiBAZGVzY3JpcHRpb24gSlNPTiBtdXN0IG5vdCBzdXBwb3J0IHRoZSBbW0NhbGxdXSBtZXRob2QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgbyA9IEpTT047DQoNCiAgdHJ5IHsNCiAgICB2YXIgaiA9IEpTT04oKTsNCiAgfQ0KICBjYXRjaCAoZSkgew0KICAgIGlmIChlIGluc3RhbmNlb2YgVHlwZUVycm9yKSB7DQogICAgICByZXR1cm4gdHJ1ZTsNCiAgICB9DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"This test should be run without any built-ins being added/augmented.\nThe name JSON must be bound to an object, and must not support [[Call]].\nstep 5 in 11.2.3 should throw a TypeError exception.","description":"JSON must not support the [[Call]] method","path":"TestCases/ch15/15.12/15.12-0-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogVGhpcyB0ZXN0IHNob3VsZCBiZSBydW4gd2l0aG91dCBhbnkgYnVpbHQtaW5zIGJlaW5nIGFkZGVkL2F1Z21lbnRlZC4NCiAqIFRoZSBsYXN0IHBhcmFncmFwaCBpbiBzZWN0aW9uIDE1IHNheXMgImV2ZXJ5IG90aGVyIHByb3BlcnR5IGRlc2NyaWJlZA0KICogaW4gdGhpcyBzZWN0aW9uIGhhcyB0aGUgYXR0cmlidXRlIHsuLi4gW1tFbnVtZXJhYmxlXV0gOiBmYWxzZSAuLi59DQogKiB1bmxlc3Mgb3RoZXJ3aXNlIHNwZWNpZmllZC4gVGhpcyBkZWZhdWx0IGFwcGxpZXMgdG8gdGhlIHByb3BlcnRpZXMgb24NCiAqIEpTT04sIGFuZCB3ZSBzaG91bGQgbm90IGJlIGFibGUgdG8gZW51bWVyYXRlIHRoZW0uDQogKg0KICogQHBhdGggY2gxNS8xNS4xMi8xNS4xMi0wLTQuanMNCiAqIEBkZXNjcmlwdGlvbiBKU09OIG9iamVjdCdzIHByb3BlcnRpZXMgbXVzdCBiZSBub24gZW51bWVyYWJsZQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7IA0KICB2YXIgbyA9IEpTT047DQogIHZhciBpID0gMDsNCiAgZm9yICh2YXIgcCBpbiBvKSB7DQogICAgaSsrOw0KICB9DQogICAgDQogIGlmIChpID09PSAwKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"This test should be run without any built-ins being added/augmented.\nThe last paragraph in section 15 says \"every other property described\nin this section has the attribute {... [[Enumerable]] : false ...}\nunless otherwise specified. This default applies to the properties on\nJSON, and we should not be able to enumerate them.","description":"JSON object's properties must be non enumerable","path":"TestCases/ch15/15.12/15.12-0-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4xMi8xNS4xMi4xLzE1LjEyLjEuMS8xNS4xMi4xLjEtMC0xLmpzDQogKiBAZGVzY3JpcHRpb24gVGhlIEpTT04gbGV4aWNhbCBncmFtbWFyIHRyZWF0cyB3aGl0ZXNwYWNlIGFzIGEgdG9rZW4gc2VwZXJhdG9yDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgDQogIHRyeSB7DQogICAgSlNPTi5wYXJzZSgnMTJcdFxyXG4gMzQnKTsgLy8gc2hvdWxkIHByb2R1Y2UgYSBzeW50YXggZXJyb3IgYXMgd2hpdGVzcGFjZSByZXN1bHRzIGluIHR3byB0b2tlbnMNCiAgICB9DQogIGNhdGNoIChlKSB7DQogICAgICBpZiAoZS5uYW1lID09PSAnU3ludGF4RXJyb3InKSByZXR1cm4gdHJ1ZTsNCiAgICAgIH0NCiAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"The JSON lexical grammar treats whitespace as a token seperator","path":"TestCases/ch15/15.12/15.12.1/15.12.1.1/15.12.1.1-0-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4xMi8xNS4xMi4xLzE1LjEyLjEuMS8xNS4xMi4xLjEtMC0yLmpzDQogKiBAZGVzY3JpcHRpb24gPFZUPiBpcyBub3QgdmFsaWQgSlNPTiB3aGl0ZXNwYWNlIGFzIHNwZWNpZmllZCBieSB0aGUgcHJvZHVjdGlvbiBKU09OV2hpdGVzcGFjZS4NCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICANCiAgdHJ5IHsNCiAgICBKU09OLnBhcnNlKCdcdTAwMGIxMjM0Jyk7IC8vIHNob3VsZCBwcm9kdWNlIGEgc3ludGF4IGVycm9yIA0KICAgIH0NCiAgY2F0Y2ggKGUpIHsNCiAgICAgIHJldHVybiB0cnVlOyAvLyB0cmVhdCBhbnkgZXhjZXB0aW9uIGFzIGEgcGFzcywgb3RoZXIgdGVzdHMgZW5zdXJlIHRoYXQgSlNPTi5wYXJzZSB0aHJvd3MgU3ludGF4RXJyb3IgZXhjZXB0aW9ucw0KICAgICAgfQ0KICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"<VT> is not valid JSON whitespace as specified by the production JSONWhitespace.","path":"TestCases/ch15/15.12/15.12.1/15.12.1.1/15.12.1.1-0-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4xMi8xNS4xMi4xLzE1LjEyLjEuMS8xNS4xMi4xLjEtMC0zLmpzDQogKiBAZGVzY3JpcHRpb24gPEZGPiBpcyBub3QgdmFsaWQgSlNPTiB3aGl0ZXNwYWNlIGFzIHNwZWNpZmllZCBieSB0aGUgcHJvZHVjdGlvbiBKU09OV2hpdGVzcGFjZS4NCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICANCiAgdHJ5IHsNCiAgICBKU09OLnBhcnNlKCdcdTAwMGMxMjM0Jyk7IC8vIHNob3VsZCBwcm9kdWNlIGEgc3ludGF4IGVycm9yIA0KICAgIH0NCiAgY2F0Y2ggKGUpIHsNCiAgICAgIHJldHVybiB0cnVlOyAvLyB0cmVhdCBhbnkgZXhjZXB0aW9uIGFzIGEgcGFzcywgb3RoZXIgdGVzdHMgZW5zdXJlIHRoYXQgSlNPTi5wYXJzZSB0aHJvd3MgU3ludGF4RXJyb3IgZXhjZXB0aW9ucw0KICAgICAgfQ0KICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"<FF> is not valid JSON whitespace as specified by the production JSONWhitespace.","path":"TestCases/ch15/15.12/15.12.1/15.12.1.1/15.12.1.1-0-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4xMi8xNS4xMi4xLzE1LjEyLjEuMS8xNS4xMi4xLjEtMC00LmpzDQogKiBAZGVzY3JpcHRpb24gPE5CU1A+IGlzIG5vdCB2YWxpZCBKU09OIHdoaXRlc3BhY2UgYXMgc3BlY2lmaWVkIGJ5IHRoZSBwcm9kdWN0aW9uIEpTT05XaGl0ZXNwYWNlLg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIA0KICB0cnkgew0KICAgIEpTT04ucGFyc2UoJ1x1MDBhMDEyMzQnKTsgLy8gc2hvdWxkIHByb2R1Y2UgYSBzeW50YXggZXJyb3IgDQogICAgfQ0KICBjYXRjaCAoZSkgew0KICAgICAgcmV0dXJuIHRydWU7IC8vIHRyZWF0IGFueSBleGNlcHRpb24gYXMgYSBwYXNzLCBvdGhlciB0ZXN0cyBlbnN1cmUgdGhhdCBKU09OLnBhcnNlIHRocm93cyBTeW50YXhFcnJvciBleGNlcHRpb25zDQogICAgICB9DQogIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"<NBSP> is not valid JSON whitespace as specified by the production JSONWhitespace.","path":"TestCases/ch15/15.12/15.12.1/15.12.1.1/15.12.1.1-0-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4xMi8xNS4xMi4xLzE1LjEyLjEuMS8xNS4xMi4xLjEtMC01LmpzDQogKiBAZGVzY3JpcHRpb24gPFpXU1BQPiBpcyBub3QgdmFsaWQgSlNPTiB3aGl0ZXNwYWNlIGFzIHNwZWNpZmllZCBieSB0aGUgcHJvZHVjdGlvbiBKU09OV2hpdGVzcGFjZS4NCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICANCiAgdHJ5IHsNCiAgICBKU09OLnBhcnNlKCdcdTIwMGIxMjM0Jyk7IC8vIHNob3VsZCBwcm9kdWNlIGEgc3ludGF4IGVycm9yIA0KICAgIH0NCiAgY2F0Y2ggKGUpIHsNCiAgICAgIHJldHVybiB0cnVlOyAvLyB0cmVhdCBhbnkgZXhjZXB0aW9uIGFzIGEgcGFzcywgb3RoZXIgdGVzdHMgZW5zdXJlIHRoYXQgSlNPTi5wYXJzZSB0aHJvd3MgU3ludGF4RXJyb3IgZXhjZXB0aW9ucw0KICAgICAgfQ0KICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"<ZWSPP> is not valid JSON whitespace as specified by the production JSONWhitespace.","path":"TestCases/ch15/15.12/15.12.1/15.12.1.1/15.12.1.1-0-5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4xMi8xNS4xMi4xLzE1LjEyLjEuMS8xNS4xMi4xLjEtMC02LmpzDQogKiBAZGVzY3JpcHRpb24gPEJPTT4gaXMgbm90IHZhbGlkIEpTT04gd2hpdGVzcGFjZSBhcyBzcGVjaWZpZWQgYnkgdGhlIHByb2R1Y3Rpb24gSlNPTldoaXRlc3BhY2UuDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgDQogIHRyeSB7DQogICAgSlNPTi5wYXJzZSgnXHVmZWZmMTIzNCcpOyAvLyBzaG91bGQgcHJvZHVjZSBhIHN5bnRheCBlcnJvciBhDQogICAgfQ0KICBjYXRjaCAoZSkgew0KICAgICAgcmV0dXJuIHRydWU7IC8vIHRyZWF0IGFueSBleGNlcHRpb24gYXMgYSBwYXNzLCBvdGhlciB0ZXN0cyBlbnN1cmUgdGhhdCBKU09OLnBhcnNlIHRocm93cyBTeW50YXhFcnJvciBleGNlcHRpb25zDQogICAgICB9DQogIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"<BOM> is not valid JSON whitespace as specified by the production JSONWhitespace.","path":"TestCases/ch15/15.12/15.12.1/15.12.1.1/15.12.1.1-0-6.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4xMi8xNS4xMi4xLzE1LjEyLjEuMS8xNS4xMi4xLjEtMC03LmpzDQogKiBAZGVzY3JpcHRpb24gb3RoZXIgY2F0ZWdvcnkgeiBzcGFjZXMgYXJlIG5vdCB2YWxpZCBKU09OIHdoaXRlc3BhY2UgYXMgc3BlY2lmaWVkIGJ5IHRoZSBwcm9kdWN0aW9uIEpTT05XaGl0ZXNwYWNlLg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIA0KICB0cnkgew0KICAgIC8vIHRoZSBmb2xsb3dpbmcgc2hvdWxkIHByb2R1Y2UgYSBzeW50YXggZXJyb3IgDQogICAgSlNPTi5wYXJzZSgnXHUxNjgwXHUxODBlXHUyMDAwXHUyMDAxXHUyMDAyXHUyMDAzXHUyMDA0XHUyMDA1XHUyMDA2XHUyMDA3XHUyMDA4XHUyMDA5XHUyMDBhXHUyMDJmXHUyMDVmXHUzMDAwMTIzNCcpOyANCiAgICB9DQogIGNhdGNoIChlKSB7DQogICAgICByZXR1cm4gdHJ1ZTsgLy8gdHJlYXQgYW55IGV4Y2VwdGlvbiBhcyBhIHBhc3MsIG90aGVyIHRlc3RzIGVuc3VyZSB0aGF0IEpTT04ucGFyc2UgdGhyb3dzIFN5bnRheEVycm9yIGV4Y2VwdGlvbnMNCiAgICAgfQ0KICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"other category z spaces are not valid JSON whitespace as specified by the production JSONWhitespace.","path":"TestCases/ch15/15.12/15.12.1/15.12.1.1/15.12.1.1-0-7.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4xMi8xNS4xMi4xLzE1LjEyLjEuMS8xNS4xMi4xLjEtMC04LmpzDQogKiBAZGVzY3JpcHRpb24gVSsyMDI4IGFuZCBVKzIwMjkgYXJlIG5vdCB2YWxpZCBKU09OIHdoaXRlc3BhY2UgYXMgc3BlY2lmaWVkIGJ5IHRoZSBwcm9kdWN0aW9uIEpTT05XaGl0ZXNwYWNlLg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIA0KICB0cnkgew0KICAgIEpTT04ucGFyc2UoJ1x1MjAyOFx1MjAyOTEyMzQnKTsgLy8gc2hvdWxkIHByb2R1Y2UgYSBzeW50YXggZXJyb3IgDQogICAgfQ0KICBjYXRjaCAoZSkgew0KICAgICAgcmV0dXJuIHRydWU7IC8vIHRyZWF0IGFueSBleGNlcHRpb24gYXMgYSBwYXNzLCBvdGhlciB0ZXN0cyBlbnN1cmUgdGhhdCBKU09OLnBhcnNlIHRocm93cyBTeW50YXhFcnJvciBleGNlcHRpb25zDQogICAgICB9DQogIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"U+2028 and U+2029 are not valid JSON whitespace as specified by the production JSONWhitespace.","path":"TestCases/ch15/15.12/15.12.1/15.12.1.1/15.12.1.1-0-8.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4xMi8xNS4xMi4xLzE1LjEyLjEuMS8xNS4xMi4xLjEtMC05LmpzDQogKiBAZGVzY3JpcHRpb24gV2hpdGVzcGFjZSBjaGFyYWN0ZXJzIGNhbiBhcHBlYXIgYmVmb3JlL2FmdGVyIGFueSBKU09OdG9rZW4NCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgSlNPTi5wYXJzZSgnXHRcciBcbntcdFxyIFxuJysNCiAgICAgICAgICAgICAgICAgICAnInByb3BlcnR5Ilx0XHIgXG46XHRcciBcbntcdFxyIFxufVx0XHIgXG4sXHRcciBcbicgKw0KICAgICAgICAgICAgICAgICAgICcicHJvcDIiXHRcciBcbjpcdFxyIFxuJysNCiAgICAgICAgICAgICAgICAgICAgICAgICdbXHRcciBcbnRydWVcdFxyIFxuLFx0XHIgXG5udWxsXHRcciBcbiwxMjMuNDU2XHRcciBcbl0nKw0KICAgICAgICAgICAgICAgICAgICAgJ1x0XHIgXG59XHRcciBcbicpOyAgLy8gc2hvdWxkIEpPU04gcGFyc2Ugd2l0aG91dCBlcnJvcg0KICAgIHJldHVybiB0cnVlOw0KICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Whitespace characters can appear before/after any JSONtoken","path":"TestCases/ch15/15.12/15.12.1/15.12.1.1/15.12.1.1-0-9.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4xMi8xNS4xMi4xLzE1LjEyLjEuMS8xNS4xMi4xLjEtZzEtMS5qcw0KICogQGRlc2NyaXB0aW9uIFRoZSBKU09OIGxleGljYWwgZ3JhbW1hciB0cmVhdHMgPFRBQj4gYXMgYSB3aGl0ZXNwYWNlIGNoYXJhY3Rlcg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIGlmIChKU09OLnBhcnNlKCdcdDEyMzQnKSE9PTEyMzQpIHJldHVybiBmYWxzZTsgLy8gPFRBQj4gc2hvdWxkIGJlIGlnbm9yZWQNCiAgdHJ5IHsNCiAgICBKU09OLnBhcnNlKCcxMlx0MzQnKTsgLy8gPFRBQj4gc2hvdWxkIHByb2R1Y2UgYSBzeW50YXggZXJyb3IgYXMgd2hpdGVzcGFjZSByZXN1bHRzIGluIHR3byB0b2tlbnMNCiAgICB9DQogIGNhdGNoIChlKSB7DQogICAgICByZXR1cm4gdHJ1ZTsgLy8gdHJlYXQgYW55IGV4Y2VwdGlvbiBhcyBhIHBhc3MsIG90aGVyIHRlc3RzIGVuc3VyZSB0aGF0IEpTT04ucGFyc2UgdGhyb3dzIFN5bnRheEVycm9yIGV4Y2VwdGlvbnMNCiAgICAgIH0NCiAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"The JSON lexical grammar treats <TAB> as a whitespace character","path":"TestCases/ch15/15.12/15.12.1/15.12.1.1/15.12.1.1-g1-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4xMi8xNS4xMi4xLzE1LjEyLjEuMS8xNS4xMi4xLjEtZzEtMi5qcw0KICogQGRlc2NyaXB0aW9uIFRoZSBKU09OIGxleGljYWwgZ3JhbW1hciB0cmVhdHMgPENSPiBhcyBhIHdoaXRlc3BhY2UgY2hhcmFjdGVyDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgaWYgKEpTT04ucGFyc2UoJ1xyMTIzNCcpIT09MTIzNCkgcmV0dXJuIGZhbHNlOyAvLyA8Y3I+IHNob3VsZCBiZSBpZ25vcmVkDQogIHRyeSB7DQogICAgSlNPTi5wYXJzZSgnMTJccjM0Jyk7IC8vIDxDUj4gc2hvdWxkIHByb2R1Y2UgYSBzeW50YXggZXJyb3IgYXMgd2hpdGVzcGFjZSByZXN1bHRzIGluIHR3byB0b2tlbnMNCiAgICB9DQogIGNhdGNoIChlKSB7DQogICAgICBpZiAoZS5uYW1lID09PSAnU3ludGF4RXJyb3InKSByZXR1cm4gdHJ1ZTsNCiAgICAgIH0NCiAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"The JSON lexical grammar treats <CR> as a whitespace character","path":"TestCases/ch15/15.12/15.12.1/15.12.1.1/15.12.1.1-g1-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4xMi8xNS4xMi4xLzE1LjEyLjEuMS8xNS4xMi4xLjEtZzEtMy5qcw0KICogQGRlc2NyaXB0aW9uIFRoZSBKU09OIGxleGljYWwgZ3JhbW1hciB0cmVhdHMgPExGPiBhcyBhIHdoaXRlc3BhY2UgY2hhcmFjdGVyDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgaWYgKEpTT04ucGFyc2UoJ1xuMTIzNCcpIT09MTIzNCkgcmV0dXJuIGZhbHNlOyAvLyA8TEY+IHNob3VsZCBiZSBpZ25vcmVkDQogIHRyeSB7DQogICAgSlNPTi5wYXJzZSgnMTJcbjM0Jyk7IC8vIDxMRj4gc2hvdWxkIHByb2R1Y2UgYSBzeW50YXggZXJyb3IgYXMgd2hpdGVzcGFjZSByZXN1bHRzIGluIHR3byB0b2tlbnMNCiAgICB9DQogIGNhdGNoIChlKSB7DQogICAgICBpZiAoZS5uYW1lID09PSAnU3ludGF4RXJyb3InKSByZXR1cm4gdHJ1ZTsNCiAgICAgIH0NCiAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"The JSON lexical grammar treats <LF> as a whitespace character","path":"TestCases/ch15/15.12/15.12.1/15.12.1.1/15.12.1.1-g1-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4xMi8xNS4xMi4xLzE1LjEyLjEuMS8xNS4xMi4xLjEtZzEtNC5qcw0KICogQGRlc2NyaXB0aW9uIFRoZSBKU09OIGxleGljYWwgZ3JhbW1hciB0cmVhdHMgPFNQPiBhcyBhIHdoaXRlc3BhY2UgY2hhcmFjdGVyDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiBpZiAoSlNPTi5wYXJzZSgnIDEyMzQnKSE9MTIzNCkgcmV0dXJuIGZhbHNlOyAvLyA8U1A+IHNob3VsZCBiZSBpZ25vcmVkDQogIHRyeSB7DQogICAgSlNPTi5wYXJzZSgnMTIgMzQnKTsgLy8gPFNQPiBzaG91bGQgcHJvZHVjZSBhIHN5bnRheCBlcnJvciBhcyB3aGl0ZXNwYWNlIHJlc3VsdHMgaW4gdHdvIHRva2Vucw0KICAgIH0NCiAgY2F0Y2ggKGUpIHsNCiAgICAgIGlmIChlLm5hbWUgPT09ICdTeW50YXhFcnJvcicpIHJldHVybiB0cnVlOw0KICAgICAgfQ0KICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"The JSON lexical grammar treats <SP> as a whitespace character","path":"TestCases/ch15/15.12/15.12.1/15.12.1.1/15.12.1.1-g1-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4xMi8xNS4xMi4xLzE1LjEyLjEuMS8xNS4xMi4xLjEtZzItMS5qcw0KICogQGRlc2NyaXB0aW9uIEpTT05TdHJpbmdzIGNhbiBiZSB3cml0dGVuIHVzaW5nIGRvdWJsZSBxdW90ZXMNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICByZXR1cm4gSlNPTi5wYXJzZSgnImFiYyInKT09PSJhYmMiOyANCiAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"JSONStrings can be written using double quotes","path":"TestCases/ch15/15.12/15.12.1/15.12.1.1/15.12.1.1-g2-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4xMi8xNS4xMi4xLzE1LjEyLjEuMS8xNS4xMi4xLjEtZzItMi5qcw0KICogQGRlc2NyaXB0aW9uIEEgSlNPTlN0cmluZyBtYXkgbm90IGJlIGRlbGltaXRlZCBieSBzaW5nbGUgcXVvdGVzIA0KICovDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICB0cnkgew0KICAgICAgICBpZiAoSlNPTi5wYXJzZSgiJ2FiYyciKSA9PT0nYWJjJykgcmV0dXJuIGZhbHNlOw0KICAgICAgIH0NCiAgICAgY2F0Y2ggKGUpIHsNCiAgICAgICAgcmV0dXJuIHRydWU7DQogICAgICAgIH0NCiAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"A JSONString may not be delimited by single quotes","path":"TestCases/ch15/15.12/15.12.1/15.12.1.1/15.12.1.1-g2-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4xMi8xNS4xMi4xLzE1LjEyLjEuMS8xNS4xMi4xLjEtZzItMy5qcw0KICogQGRlc2NyaXB0aW9uIEEgSlNPTlN0cmluZyBtYXkgbm90IGJlIGRlbGltaXRlZCBieSBVbmNvZGUgZXNjYXBlZCBxdW90ZXMgDQogKi8NCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgIHRyeSB7DQogICAgICAgIGlmIChKU09OLnBhcnNlKCJcXHUwMDIyYWJjXFx1MDAyMiIpID09PSdhYmMnKSByZXR1cm4gZmFsc2U7DQogICAgICAgfQ0KICAgICBjYXRjaCAoZSkgew0KICAgICAgICByZXR1cm4gdHJ1ZTsNCiAgICAgICAgfQ0KICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"A JSONString may not be delimited by Uncode escaped quotes","path":"TestCases/ch15/15.12/15.12.1/15.12.1.1/15.12.1.1-g2-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4xMi8xNS4xMi4xLzE1LjEyLjEuMS8xNS4xMi4xLjEtZzItNC5qcw0KICogQGRlc2NyaXB0aW9uIEEgSlNPTlN0cmluZyBtdXN0IGJvdGggYmVnaW4gYW5kIGVuZCB3aXRoIGRvdWJsZSBxdW90ZXMNCiAqLw0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgdHJ5IHsNCiAgICAgICAgaWYgKEpTT04ucGFyc2UoJyJhYicrImMnIikgPT09J2FiYycpIHJldHVybiBmYWxzZTsNCiAgICAgICB9DQogICAgIGNhdGNoIChlKSB7DQogICAgICAgIHJldHVybiB0cnVlOw0KICAgICAgICB9DQogIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"A JSONString must both begin and end with double quotes","path":"TestCases/ch15/15.12/15.12.1/15.12.1.1/15.12.1.1-g2-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4xMi8xNS4xMi4xLzE1LjEyLjEuMS8xNS4xMi4xLjEtZzItNS5qcw0KICogQGRlc2NyaXB0aW9uIEEgSlNPTlN0cmluZ3MgY2FuIGNvbnRhaW4gbm8gSlNPTlN0cmluZ0NoYXJhY3RlcnMgKEVtcHR5IEpTT05TdHJpbmdzKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHJldHVybiBKU09OLnBhcnNlKCciIicpPT09IiI7IA0KICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"A JSONStrings can contain no JSONStringCharacters (Empty JSONStrings)","path":"TestCases/ch15/15.12/15.12.1/15.12.1.1/15.12.1.1-g2-5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4xMi8xNS4xMi4xLzE1LjEyLjEuMS8xNS4xMi4xLjEtZzQtMS5qcw0KICogQGRlc2NyaXB0aW9uIFRoZSBKU09OIGxleGljYWwgZ3JhbW1hciBkb2VzIG5vdCBhbGxvdyBhIEpTT05TdHJpbmdDaGFyYWN0ZXIgdG8gYmUgYW55IG9mIHRoZSBVbmljb2RlIGNoYXJhY3RlcnMgVSswMDAwIHRocnUgVSswMDA3DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdHJ5IHsNCiAgICBKU09OLnBhcnNlKCciXHUwMDAwXHUwMDAxXHUwMDAyXHUwMDAzXHUwMDA0XHUwMDA1XHUwMDA2XHUwMDA3IicpOyAvLyBpbnZhbGlkIHN0cmluZyBjaGFyYWN0ZXJzIHNob3VsZCBwcm9kdWNlIGEgc3ludGF4IGVycm9yDQogICAgfQ0KICBjYXRjaCAoZSkgew0KICAgICAgcmV0dXJuIHRydWU7IC8vIHRyZWF0IGFueSBleGNlcHRpb24gYXMgYSBwYXNzLCBvdGhlciB0ZXN0cyBlbnN1cmUgdGhhdCBKU09OLnBhcnNlIHRocm93cyBTeW50YXhFcnJvciBleGNlcHRpb25zDQogICAgICB9DQogIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"The JSON lexical grammar does not allow a JSONStringCharacter to be any of the Unicode characters U+0000 thru U+0007","path":"TestCases/ch15/15.12/15.12.1/15.12.1.1/15.12.1.1-g4-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4xMi8xNS4xMi4xLzE1LjEyLjEuMS8xNS4xMi4xLjEtZzQtMi5qcw0KICogQGRlc2NyaXB0aW9uIFRoZSBKU09OIGxleGljYWwgZ3JhbW1hciBkb2VzIG5vdCBhbGxvdyBhIEpTT05TdHJpbmdDaGFyYWN0ZXIgdG8gYmUgYW55IG9mIHRoZSBVbmljb2RlIGNoYXJhY3RlcnMgVSswMDA4IHRocnUgVSswMDBGDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdHJ5IHsNCiAgICBKU09OLnBhcnNlKCciXHUwMDA4XHUwMDA5XHUwMDBhXHUwMDBiXHUwMDBjXHUwMDBkXHUwMDBlXHUwMDBmIicpOyAvLyBpbnZhbGlkIHN0cmluZyBjaGFyYWN0ZXJzIHNob3VsZCBwcm9kdWNlIGEgc3ludGF4IGVycm9yDQogICAgfQ0KICBjYXRjaCAoZSkgew0KICAgICAgcmV0dXJuIHRydWU7IC8vIHRyZWF0IGFueSBleGNlcHRpb24gYXMgYSBwYXNzLCBvdGhlciB0ZXN0cyBlbnN1cmUgdGhhdCBKU09OLnBhcnNlIHRocm93cyBTeW50YXhFcnJvciBleGNlcHRpb25zDQogICAgICB9DQogIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"The JSON lexical grammar does not allow a JSONStringCharacter to be any of the Unicode characters U+0008 thru U+000F","path":"TestCases/ch15/15.12/15.12.1/15.12.1.1/15.12.1.1-g4-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4xMi8xNS4xMi4xLzE1LjEyLjEuMS8xNS4xMi4xLjEtZzQtMy5qcw0KICogQGRlc2NyaXB0aW9uIFRoZSBKU09OIGxleGljYWwgZ3JhbW1hciBkb2VzIG5vdCBhbGxvdyBhIEpTT05TdHJpbmdDaGFyYWN0ZXIgdG8gYmUgYW55IG9mIHRoZSBVbmljb2RlIGNoYXJhY3RlcnMgVSswMDEwIHRocnUgVSswMDE3DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdHJ5IHsNCiAgICBKU09OLnBhcnNlKCciXHUwMDEwXHUwMDExXHUwMDEyXHUwMDEzXHUwMDE0XHUwMDE1XHUwMDE2XHUwMDE3IicpOyAvLyBpbnZhbGlkIHN0cmluZyBjaGFyYWN0ZXJzIHNob3VsZCBwcm9kdWNlIGEgc3ludGF4IGVycm9yDQogICAgfQ0KICBjYXRjaCAoZSkgew0KICAgICAgcmV0dXJuIHRydWU7IC8vIHRyZWF0IGFueSBleGNlcHRpb24gYXMgYSBwYXNzLCBvdGhlciB0ZXN0cyBlbnN1cmUgdGhhdCBKU09OLnBhcnNlIHRocm93cyBTeW50YXhFcnJvciBleGNlcHRpb25zDQogICAgICB9DQogIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"The JSON lexical grammar does not allow a JSONStringCharacter to be any of the Unicode characters U+0010 thru U+0017","path":"TestCases/ch15/15.12/15.12.1/15.12.1.1/15.12.1.1-g4-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4xMi8xNS4xMi4xLzE1LjEyLjEuMS8xNS4xMi4xLjEtZzQtNC5qcw0KICogQGRlc2NyaXB0aW9uIFRoZSBKU09OIGxleGljYWwgZ3JhbW1hciBkb2VzIG5vdCBhbGxvdyBhIEpTT05TdHJpbmdDaGFyYWN0ZXIgdG8gYmUgYW55IG9mIHRoZSBVbmljb2RlIGNoYXJhY3RlcnMgVSswMDE4IHRocnUgVSswMDFGDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdHJ5IHsNCiAgICBKU09OLnBhcnNlKCciXHUwMDE4XHUwMDE5XHUwMDFhXHUwMDFiXHUwMDFjXHUwMDFkXHUwMDFlXHUwMDFmIicpOyAvLyBpbnZhbGlkIHN0cmluZyBjaGFyYWN0ZXJzIHNob3VsZCBwcm9kdWNlIGEgc3ludGF4IGVycm9yDQogICAgfQ0KICBjYXRjaCAoZSkgew0KICAgICAgaWYgKGUubmFtZSA9PT0gJ1N5bnRheEVycm9yJykgcmV0dXJuIHRydWU7DQogICAgICB9DQogIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"The JSON lexical grammar does not allow a JSONStringCharacter to be any of the Unicode characters U+0018 thru U+001F","path":"TestCases/ch15/15.12/15.12.1/15.12.1.1/15.12.1.1-g4-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4xMi8xNS4xMi4xLzE1LjEyLjEuMS8xNS4xMi4xLjEtZzUtMS5qcw0KICogQGRlc2NyaXB0aW9uIFRoZSBKU09OIGxleGljYWwgZ3JhbW1hciBhbGxvd3MgVW5pY29kZSBlc2NhcGUgc2VxdWVuY2VzIGluIGEgSlNPTlN0cmluZw0KICovDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICByZXR1cm4gSlNPTi5wYXJzZSgnIlxcdTAwNTgiJyk9PT0nWCc7IA0KICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"The JSON lexical grammar allows Unicode escape sequences in a JSONString","path":"TestCases/ch15/15.12/15.12.1/15.12.1.1/15.12.1.1-g5-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4xMi8xNS4xMi4xLzE1LjEyLjEuMS8xNS4xMi4xLjEtZzUtMi5qcw0KICogQGRlc2NyaXB0aW9uIEEgSlNPTlN0cmluZ0NoYXJhY3RlciBVbmljb2RlRXNjYXBlIG1heSBub3QgaGF2ZSBmZXdlciB0aGFuIDQgaGV4IGNoYXJhY3RlcnMNCiAqLw0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgdHJ5IHsNCiAgICAgICAgSlNPTi5wYXJzZSgnIlxcdTAwNSInKSANCiAgICAgICB9DQogICAgIGNhdGNoIChlKSB7DQogICAgICAgIHJldHVybiBlLm5hbWU9PT0nU3ludGF4RXJyb3InDQogICAgICAgIH0NCiAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"A JSONStringCharacter UnicodeEscape may not have fewer than 4 hex characters","path":"TestCases/ch15/15.12/15.12.1/15.12.1.1/15.12.1.1-g5-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4xMi8xNS4xMi4xLzE1LjEyLjEuMS8xNS4xMi4xLjEtZzUtMy5qcw0KICogQGRlc2NyaXB0aW9uIEEgSlNPTlN0cmluZ0NoYXJhY3RlciBVbmljb2RlRXNjYXBlIG1heSBub3QgaW5jbHVkZSBhbnkgbm9uPWhleCBjaGFyYWN0ZXJzDQogKi8NCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgIHRyeSB7DQogICAgICAgIEpTT04ucGFyc2UoJyJcXHUwWDUwIicpIA0KICAgICAgIH0NCiAgICAgY2F0Y2ggKGUpIHsNCiAgICAgICAgcmV0dXJuIGUubmFtZT09PSdTeW50YXhFcnJvcicNCiAgICAgICAgfQ0KICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"A JSONStringCharacter UnicodeEscape may not include any non=hex characters","path":"TestCases/ch15/15.12/15.12.1/15.12.1.1/15.12.1.1-g5-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4xMi8xNS4xMi4xLzE1LjEyLjEuMS8xNS4xMi4xLjEtZzYtMS5qcw0KICogQGRlc2NyaXB0aW9uIFRoZSBKU09OIGxleGljYWwgZ3JhbW1lciBhbGxvd3MgJy8nIGFzIGEgSlNPTkVzY2FwZUNoYXJhY3RlciBhZnRlciAnJyBpbiBhIEpTT05TdHJpbmcNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgIHJldHVybiBKU09OLnBhcnNlKCciXFwvIicpPT09Jy8nOyANCiAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"The JSON lexical grammer allows '/' as a JSONEscapeCharacter after '' in a JSONString","path":"TestCases/ch15/15.12/15.12.1/15.12.1.1/15.12.1.1-g6-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4xMi8xNS4xMi4xLzE1LjEyLjEuMS8xNS4xMi4xLjEtZzYtMi5qcw0KICogQGRlc2NyaXB0aW9uIFRoZSBKU09OIGxleGljYWwgZ3JhbW1lciBhbGxvd3MgJycgYXMgYSBKU09ORXNjYXBlQ2hhcmFjdGVyIGFmdGVyICcnIGluIGEgSlNPTlN0cmluZw0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgcmV0dXJuIEpTT04ucGFyc2UoJyJcXFxcIicpPT09J1xcJzsgDQogIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"The JSON lexical grammer allows '' as a JSONEscapeCharacter after '' in a JSONString","path":"TestCases/ch15/15.12/15.12.1/15.12.1.1/15.12.1.1-g6-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4xMi8xNS4xMi4xLzE1LjEyLjEuMS8xNS4xMi4xLjEtZzYtMy5qcw0KICogQGRlc2NyaXB0aW9uIFRoZSBKU09OIGxleGljYWwgZ3JhbW1lciBhbGxvd3MgJ2InIGFzIGEgSlNPTkVzY2FwZUNoYXJhY3RlciBhZnRlciAnJyBpbiBhIEpTT05TdHJpbmcNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgIHJldHVybiBKU09OLnBhcnNlKCciXFxiIicpPT09J1xiJzsgDQogIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"The JSON lexical grammer allows 'b' as a JSONEscapeCharacter after '' in a JSONString","path":"TestCases/ch15/15.12/15.12.1/15.12.1.1/15.12.1.1-g6-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4xMi8xNS4xMi4xLzE1LjEyLjEuMS8xNS4xMi4xLjEtZzYtNC5qcw0KICogQGRlc2NyaXB0aW9uIFRoZSBKU09OIGxleGljYWwgZ3JhbW1lciBhbGxvd3MgJ2YnIGFzIGEgSlNPTkVzY2FwZUNoYXJhY3RlciBhZnRlciAnJyBpbiBhIEpTT05TdHJpbmcNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgIHJldHVybiBKU09OLnBhcnNlKCciXFxmIicpPT09J1xmJzsgDQogIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"The JSON lexical grammer allows 'f' as a JSONEscapeCharacter after '' in a JSONString","path":"TestCases/ch15/15.12/15.12.1/15.12.1.1/15.12.1.1-g6-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4xMi8xNS4xMi4xLzE1LjEyLjEuMS8xNS4xMi4xLjEtZzYtNS5qcw0KICogQGRlc2NyaXB0aW9uIFRoZSBKU09OIGxleGljYWwgZ3JhbW1lciBhbGxvd3MgJ24nIGFzIGEgSlNPTkVzY2FwZUNoYXJhY3RlciBhZnRlciAnJyBpbiBhIEpTT05TdHJpbmcNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgIHJldHVybiBKU09OLnBhcnNlKCciXFxuIicpPT09J1xuJzsgDQogIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"The JSON lexical grammer allows 'n' as a JSONEscapeCharacter after '' in a JSONString","path":"TestCases/ch15/15.12/15.12.1/15.12.1.1/15.12.1.1-g6-5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4xMi8xNS4xMi4xLzE1LjEyLjEuMS8xNS4xMi4xLjEtZzYtNi5qcw0KICogQGRlc2NyaXB0aW9uIFRoZSBKU09OIGxleGljYWwgZ3JhbW1lciBhbGxvd3MgJ3InIGFzIGEgSlNPTkVzY2FwZUNoYXJhY3RlciBhZnRlciAnJyBpbiBhIEpTT05TdHJpbmcNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgIHJldHVybiBKU09OLnBhcnNlKCciXFxyIicpPT09J1xyJzsgDQogIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"The JSON lexical grammer allows 'r' as a JSONEscapeCharacter after '' in a JSONString","path":"TestCases/ch15/15.12/15.12.1/15.12.1.1/15.12.1.1-g6-6.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4xMi8xNS4xMi4xLzE1LjEyLjEuMS8xNS4xMi4xLjEtZzYtNy5qcw0KICogQGRlc2NyaXB0aW9uIFRoZSBKU09OIGxleGljYWwgZ3JhbW1lciBhbGxvd3MgJ3QnIGFzIGEgSlNPTkVzY2FwZUNoYXJhY3RlciBhZnRlciAnJyBpbiBhIEpTT05TdHJpbmcNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgIHJldHVybiBKU09OLnBhcnNlKCciXFx0IicpPT09J1x0JzsgDQogIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"The JSON lexical grammer allows 't' as a JSONEscapeCharacter after '' in a JSONString","path":"TestCases/ch15/15.12/15.12.1/15.12.1.1/15.12.1.1-g6-7.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogVGhpcyB0ZXN0IHNob3VsZCBiZSBydW4gd2l0aG91dCBhbnkgYnVpbHQtaW5zIGJlaW5nIGFkZGVkL2F1Z21lbnRlZC4NCiAqIFRoZSBuYW1lIEpTT04gbXVzdCBiZSBib3VuZCB0byBhbiBvYmplY3QuDQogKiANCiAqIFNlY3Rpb24gMTUgc2F5cyB0aGF0IGV2ZXJ5IGJ1aWx0LWluIEZ1bmN0aW9uIG9iamVjdCBkZXNjcmliZWQgaW4gdGhpcw0KICogc2VjdGlvbiDvv70gd2hldGhlciBhcyBhIGNvbnN0cnVjdG9yLCBhbiBvcmRpbmFyeSBmdW5jdGlvbiwgb3IgYm90aCDvv70gaGFzDQogKiBhIGxlbmd0aCBwcm9wZXJ0eSB3aG9zZSB2YWx1ZSBpcyBhbiBpbnRlZ2VyLiBVbmxlc3Mgb3RoZXJ3aXNlIHNwZWNpZmllZCwNCiAqIHRoaXMgdmFsdWUgaXMgZXF1YWwgdG8gdGhlIGxhcmdlc3QgbnVtYmVyIG9mIG5hbWVkIGFyZ3VtZW50cyBzaG93biBpbg0KICogdGhlIHNlY3Rpb24gaGVhZGluZ3MgZm9yIHRoZSBmdW5jdGlvbiBkZXNjcmlwdGlvbiwgaW5jbHVkaW5nIG9wdGlvbmFsDQogKiBwYXJhbWV0ZXJzLg0KICogDQogKiBUaGlzIGRlZmF1bHQgYXBwbGllcyB0byBKU09OLnBhcnNlLCBhbmQgaXQgbXVzdCBleGlzdCBhcyBhIGZ1bmN0aW9uDQogKiB0YWtpbmcgMiBwYXJhbWV0ZXJzLg0KICoNCiAqIEBwYXRoIGNoMTUvMTUuMTIvMTUuMTIuMi8xNS4xMi4yLTAtMS5qcw0KICogQGRlc2NyaXB0aW9uIEpTT04ucGFyc2UgbXVzdCBleGlzdCBhcyBhIGZ1bmN0aW9uDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIGYgPSBKU09OLnBhcnNlOw0KDQogIGlmICh0eXBlb2YoZikgPT09ICJmdW5jdGlvbiIpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"This test should be run without any built-ins being added/augmented.\nThe name JSON must be bound to an object.\n\nSection 15 says that every built-in Function object described in this\nsection \ufffd whether as a constructor, an ordinary function, or both \ufffd has\na length property whose value is an integer. Unless otherwise specified,\nthis value is equal to the largest number of named arguments shown in\nthe section headings for the function description, including optional\nparameters.\n\nThis default applies to JSON.parse, and it must exist as a function\ntaking 2 parameters.","description":"JSON.parse must exist as a function","path":"TestCases/ch15/15.12/15.12.2/15.12.2-0-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogVGhpcyB0ZXN0IHNob3VsZCBiZSBydW4gd2l0aG91dCBhbnkgYnVpbHQtaW5zIGJlaW5nIGFkZGVkL2F1Z21lbnRlZC4NCiAqIFRoZSBuYW1lIEpTT04gbXVzdCBiZSBib3VuZCB0byBhbiBvYmplY3QuDQogKiANCiAqIFNlY3Rpb24gMTUgc2F5cyB0aGF0IGV2ZXJ5IGJ1aWx0LWluIEZ1bmN0aW9uIG9iamVjdCBkZXNjcmliZWQgaW4gdGhpcw0KICogc2VjdGlvbiDvv70gd2hldGhlciBhcyBhIGNvbnN0cnVjdG9yLCBhbiBvcmRpbmFyeSBmdW5jdGlvbiwgb3IgYm90aCDvv70gaGFzDQogKiBhIGxlbmd0aCBwcm9wZXJ0eSB3aG9zZSB2YWx1ZSBpcyBhbiBpbnRlZ2VyLiBVbmxlc3Mgb3RoZXJ3aXNlIHNwZWNpZmllZCwNCiAqIHRoaXMgdmFsdWUgaXMgZXF1YWwgdG8gdGhlIGxhcmdlc3QgbnVtYmVyIG9mIG5hbWVkIGFyZ3VtZW50cyBzaG93biBpbg0KICogdGhlIHNlY3Rpb24gaGVhZGluZ3MgZm9yIHRoZSBmdW5jdGlvbiBkZXNjcmlwdGlvbiwgaW5jbHVkaW5nIG9wdGlvbmFsDQogKiBwYXJhbWV0ZXJzLg0KICogDQogKiBUaGlzIGRlZmF1bHQgYXBwbGllcyB0byBKU09OLnBhcnNlLCBhbmQgaXQgbXVzdCBleGlzdCBhcyBhIGZ1bmN0aW9uDQogKiB0YWtpbmcgMiBwYXJhbWV0ZXJzLg0KICoNCiAqIEBwYXRoIGNoMTUvMTUuMTIvMTUuMTIuMi8xNS4xMi4yLTAtMi5qcw0KICogQGRlc2NyaXB0aW9uIEpTT04ucGFyc2UgbXVzdCBleGlzdCBhcyBhIGZ1bmN0aW9uIHRha2luZyAyIHBhcmFtZXRlcnMNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgZiA9IEpTT04ucGFyc2U7DQoNCiAgaWYgKHR5cGVvZihmKSA9PT0gImZ1bmN0aW9uIiAmJiBmLmxlbmd0aCA9PT0gMikgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"This test should be run without any built-ins being added/augmented.\nThe name JSON must be bound to an object.\n\nSection 15 says that every built-in Function object described in this\nsection \ufffd whether as a constructor, an ordinary function, or both \ufffd has\na length property whose value is an integer. Unless otherwise specified,\nthis value is equal to the largest number of named arguments shown in\nthe section headings for the function description, including optional\nparameters.\n\nThis default applies to JSON.parse, and it must exist as a function\ntaking 2 parameters.","description":"JSON.parse must exist as a function taking 2 parameters","path":"TestCases/ch15/15.12/15.12.2/15.12.2-0-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogVGhpcyB0ZXN0IHNob3VsZCBiZSBydW4gd2l0aG91dCBhbnkgYnVpbHQtaW5zIGJlaW5nIGFkZGVkL2F1Z21lbnRlZC4NCiAqIFRoZSBpbml0aWFsIHZhbHVlIG9mIFtbQ29uZmlndXJhYmxlXV0gb24gSlNPTiBpcyB0cnVlLiBUaGlzIG1lYW5zIHdlDQogKiBzaG91bGQgYmUgYWJsZSB0byBkZWxldGUgKDguNi4yLjUpIHRoZSBzdHJpbmdpZnkgYW5kIHBhcnNlIHByb3BlcnRpZXMuDQogKg0KICogQHBhdGggY2gxNS8xNS4xMi8xNS4xMi4yLzE1LjEyLjItMC0zLmpzDQogKiBAZGVzY3JpcHRpb24gSlNPTi5wYXJzZSBtdXN0IGJlIGRlbGV0YWJsZSAoY29uZmlndXJhYmxlKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBvID0gSlNPTjsNCiAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG8sICJwYXJzZSIpOw0KICByZXR1cm4gZGVzYy5jb25maWd1cmFibGUgPT09IHRydWU7DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"This test should be run without any built-ins being added/augmented.\nThe initial value of [[Configurable]] on JSON is true. This means we\nshould be able to delete (8.6.2.5) the stringify and parse properties.","description":"JSON.parse must be deletable (configurable)","path":"TestCases/ch15/15.12/15.12.2/15.12.2-0-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4xMi8xNS4xMi4yLzE1LjEyLjItMi0xLmpzDQogKiBAZGVzY3JpcHRpb24gSlNPTi5wYXJzZSAtIHBhcnNpbmcgYW4gb2JqZWN0IHdoZXJlIHByb3BlcnR5IG5hbWUgaXMgYSBudWxsIGNoYXJhY3Rlcg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHJlc3VsdCA9IHRydWU7DQoNCiAgICAgICAgdmFyIG51bGxDaGFycyA9IG5ldyBBcnJheSgpOw0KICAgICAgICBudWxsQ2hhcnNbMF0gPSAnXCJcdTAwMDBcIic7DQogICAgICAgIG51bGxDaGFyc1sxXSA9ICdcIlx1MDAwMVwiJzsNCiAgICAgICAgbnVsbENoYXJzWzJdID0gJ1wiXHUwMDAyXCInOw0KICAgICAgICBudWxsQ2hhcnNbM10gPSAnXCJcdTAwMDNcIic7DQogICAgICAgIG51bGxDaGFyc1s0XSA9ICdcIlx1MDAwNFwiJzsNCiAgICAgICAgbnVsbENoYXJzWzVdID0gJ1wiXHUwMDA1XCInOw0KICAgICAgICBudWxsQ2hhcnNbNl0gPSAnXCJcdTAwMDZcIic7DQogICAgICAgIG51bGxDaGFyc1s3XSA9ICdcIlx1MDAwN1wiJzsNCiAgICAgICAgbnVsbENoYXJzWzhdID0gJ1wiXHUwMDA4XCInOw0KICAgICAgICBudWxsQ2hhcnNbOV0gPSAnXCJcdTAwMDlcIic7DQogICAgICAgIG51bGxDaGFyc1sxMF0gPSAnXCJcdTAwMEFcIic7DQogICAgICAgIG51bGxDaGFyc1sxMV0gPSAnXCJcdTAwMEJcIic7DQogICAgICAgIG51bGxDaGFyc1sxMl0gPSAnXCJcdTAwMENcIic7DQogICAgICAgIG51bGxDaGFyc1sxM10gPSAnXCJcdTAwMERcIic7DQogICAgICAgIG51bGxDaGFyc1sxNF0gPSAnXCJcdTAwMEVcIic7DQogICAgICAgIG51bGxDaGFyc1sxNV0gPSAnXCJcdTAwMEZcIic7DQogICAgICAgIG51bGxDaGFyc1sxNl0gPSAnXCJcdTAwMTBcIic7DQogICAgICAgIG51bGxDaGFyc1sxN10gPSAnXCJcdTAwMTFcIic7DQogICAgICAgIG51bGxDaGFyc1sxOF0gPSAnXCJcdTAwMTJcIic7DQogICAgICAgIG51bGxDaGFyc1sxOV0gPSAnXCJcdTAwMTNcIic7DQogICAgICAgIG51bGxDaGFyc1syMF0gPSAnXCJcdTAwMTRcIic7DQogICAgICAgIG51bGxDaGFyc1syMV0gPSAnXCJcdTAwMTVcIic7DQogICAgICAgIG51bGxDaGFyc1syMl0gPSAnXCJcdTAwMTZcIic7DQogICAgICAgIG51bGxDaGFyc1syM10gPSAnXCJcdTAwMTdcIic7DQogICAgICAgIG51bGxDaGFyc1syNF0gPSAnXCJcdTAwMThcIic7DQogICAgICAgIG51bGxDaGFyc1syNV0gPSAnXCJcdTAwMTlcIic7DQogICAgICAgIG51bGxDaGFyc1syNl0gPSAnXCJcdTAwMUFcIic7DQogICAgICAgIG51bGxDaGFyc1syN10gPSAnXCJcdTAwMUJcIic7DQogICAgICAgIG51bGxDaGFyc1syOF0gPSAnXCJcdTAwMUNcIic7DQogICAgICAgIG51bGxDaGFyc1syOV0gPSAnXCJcdTAwMURcIic7DQogICAgICAgIG51bGxDaGFyc1szMF0gPSAnXCJcdTAwMUVcIic7DQogICAgICAgIG51bGxDaGFyc1szMV0gPSAnXCJcdTAwMUZcIic7DQoNCiAgICAgICAgZm9yICh2YXIgaW5kZXggaW4gbnVsbENoYXJzKSB7DQogICAgICAgICAgICB0cnkgew0KICAgICAgICAgICAgICAgIHZhciBvYmogPSBKU09OLnBhcnNlKCd7ICcgKyBudWxsQ2hhcnNbaW5kZXhdICsgJyA6ICJKb2huIiB9ICcpOw0KICAgICAgICAgICAgICAgIHJlc3VsdCA9IChyZXN1bHQgJiYgZmFsc2UpOw0KICAgICAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgICAgIHJlc3VsdCA9IChyZXN1bHQgJiYgKGUgaW5zdGFuY2VvZiBTeW50YXhFcnJvcikpOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQogICAgICAgIHJldHVybiByZXN1bHQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"JSON.parse - parsing an object where property name is a null character","path":"TestCases/ch15/15.12/15.12.2/15.12.2-2-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4xMi8xNS4xMi4yLzE1LjEyLjItMi0xMC5qcw0KICogQGRlc2NyaXB0aW9uIEpTT04ucGFyc2UgLSBwYXJzaW5nIGFuIG9iamVjdCB3aGVyZSBwcm9wZXJ0eSB2YWx1ZSBtaWRkbGVzIHdpdGggYSBudWxsIGNoYXJhY3Rlcg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHJlc3VsdCA9IHRydWU7DQoNCiAgICAgICAgdmFyIG51bGxDaGFycyA9IG5ldyBBcnJheSgpOw0KICAgICAgICBudWxsQ2hhcnNbMF0gPSAnXCJcdTAwMDBcIic7DQogICAgICAgIG51bGxDaGFyc1sxXSA9ICdcIlx1MDAwMVwiJzsNCiAgICAgICAgbnVsbENoYXJzWzJdID0gJ1wiXHUwMDAyXCInOw0KICAgICAgICBudWxsQ2hhcnNbM10gPSAnXCJcdTAwMDNcIic7DQogICAgICAgIG51bGxDaGFyc1s0XSA9ICdcIlx1MDAwNFwiJzsNCiAgICAgICAgbnVsbENoYXJzWzVdID0gJ1wiXHUwMDA1XCInOw0KICAgICAgICBudWxsQ2hhcnNbNl0gPSAnXCJcdTAwMDZcIic7DQogICAgICAgIG51bGxDaGFyc1s3XSA9ICdcIlx1MDAwN1wiJzsNCiAgICAgICAgbnVsbENoYXJzWzhdID0gJ1wiXHUwMDA4XCInOw0KICAgICAgICBudWxsQ2hhcnNbOV0gPSAnXCJcdTAwMDlcIic7DQogICAgICAgIG51bGxDaGFyc1sxMF0gPSAnXCJcdTAwMEFcIic7DQogICAgICAgIG51bGxDaGFyc1sxMV0gPSAnXCJcdTAwMEJcIic7DQogICAgICAgIG51bGxDaGFyc1sxMl0gPSAnXCJcdTAwMENcIic7DQogICAgICAgIG51bGxDaGFyc1sxM10gPSAnXCJcdTAwMERcIic7DQogICAgICAgIG51bGxDaGFyc1sxNF0gPSAnXCJcdTAwMEVcIic7DQogICAgICAgIG51bGxDaGFyc1sxNV0gPSAnXCJcdTAwMEZcIic7DQogICAgICAgIG51bGxDaGFyc1sxNl0gPSAnXCJcdTAwMTBcIic7DQogICAgICAgIG51bGxDaGFyc1sxN10gPSAnXCJcdTAwMTFcIic7DQogICAgICAgIG51bGxDaGFyc1sxOF0gPSAnXCJcdTAwMTJcIic7DQogICAgICAgIG51bGxDaGFyc1sxOV0gPSAnXCJcdTAwMTNcIic7DQogICAgICAgIG51bGxDaGFyc1syMF0gPSAnXCJcdTAwMTRcIic7DQogICAgICAgIG51bGxDaGFyc1syMV0gPSAnXCJcdTAwMTVcIic7DQogICAgICAgIG51bGxDaGFyc1syMl0gPSAnXCJcdTAwMTZcIic7DQogICAgICAgIG51bGxDaGFyc1syM10gPSAnXCJcdTAwMTdcIic7DQogICAgICAgIG51bGxDaGFyc1syNF0gPSAnXCJcdTAwMThcIic7DQogICAgICAgIG51bGxDaGFyc1syNV0gPSAnXCJcdTAwMTlcIic7DQogICAgICAgIG51bGxDaGFyc1syNl0gPSAnXCJcdTAwMUFcIic7DQogICAgICAgIG51bGxDaGFyc1syN10gPSAnXCJcdTAwMUJcIic7DQogICAgICAgIG51bGxDaGFyc1syOF0gPSAnXCJcdTAwMUNcIic7DQogICAgICAgIG51bGxDaGFyc1syOV0gPSAnXCJcdTAwMURcIic7DQogICAgICAgIG51bGxDaGFyc1szMF0gPSAnXCJcdTAwMUVcIic7DQogICAgICAgIG51bGxDaGFyc1szMV0gPSAnXCJcdTAwMUZcIic7DQoNCiAgICAgICAgZm9yICh2YXIgaW5kZXggaW4gbnVsbENoYXJzKSB7DQogICAgICAgICAgICB0cnkgew0KICAgICAgICAgICAgICAgIHZhciBvYmogPSBKU09OLnBhcnNlKCd7ICJuYW1lIiA6ICcgKyAiSm8iICsgbnVsbENoYXJzW2luZGV4XSArICJobiIgKyAnIH0gJyk7DQogICAgICAgICAgICAgICAgcmVzdWx0ID0gKHJlc3VsdCAmJiBmYWxzZSk7DQogICAgICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICAgICAgcmVzdWx0ID0gKHJlc3VsdCAmJiAoZSBpbnN0YW5jZW9mIFN5bnRheEVycm9yKSk7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCiAgICAgICAgcmV0dXJuIHJlc3VsdDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"JSON.parse - parsing an object where property value middles with a null character","path":"TestCases/ch15/15.12/15.12.2/15.12.2-2-10.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4xMi8xNS4xMi4yLzE1LjEyLjItMi0yLmpzDQogKiBAZGVzY3JpcHRpb24gSlNPTi5wYXJzZSAtIHBhcnNpbmcgYW4gb2JqZWN0IHdoZXJlIHByb3BlcnR5IG5hbWUgc3RhcnRzIHdpdGggYSBudWxsIGNoYXJhY3Rlcg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHJlc3VsdCA9IHRydWU7DQoNCiAgICAgICAgdmFyIG51bGxDaGFycyA9IG5ldyBBcnJheSgpOw0KICAgICAgICBudWxsQ2hhcnNbMF0gPSAnXCJcdTAwMDBcIic7DQogICAgICAgIG51bGxDaGFyc1sxXSA9ICdcIlx1MDAwMVwiJzsNCiAgICAgICAgbnVsbENoYXJzWzJdID0gJ1wiXHUwMDAyXCInOw0KICAgICAgICBudWxsQ2hhcnNbM10gPSAnXCJcdTAwMDNcIic7DQogICAgICAgIG51bGxDaGFyc1s0XSA9ICdcIlx1MDAwNFwiJzsNCiAgICAgICAgbnVsbENoYXJzWzVdID0gJ1wiXHUwMDA1XCInOw0KICAgICAgICBudWxsQ2hhcnNbNl0gPSAnXCJcdTAwMDZcIic7DQogICAgICAgIG51bGxDaGFyc1s3XSA9ICdcIlx1MDAwN1wiJzsNCiAgICAgICAgbnVsbENoYXJzWzhdID0gJ1wiXHUwMDA4XCInOw0KICAgICAgICBudWxsQ2hhcnNbOV0gPSAnXCJcdTAwMDlcIic7DQogICAgICAgIG51bGxDaGFyc1sxMF0gPSAnXCJcdTAwMEFcIic7DQogICAgICAgIG51bGxDaGFyc1sxMV0gPSAnXCJcdTAwMEJcIic7DQogICAgICAgIG51bGxDaGFyc1sxMl0gPSAnXCJcdTAwMENcIic7DQogICAgICAgIG51bGxDaGFyc1sxM10gPSAnXCJcdTAwMERcIic7DQogICAgICAgIG51bGxDaGFyc1sxNF0gPSAnXCJcdTAwMEVcIic7DQogICAgICAgIG51bGxDaGFyc1sxNV0gPSAnXCJcdTAwMEZcIic7DQogICAgICAgIG51bGxDaGFyc1sxNl0gPSAnXCJcdTAwMTBcIic7DQogICAgICAgIG51bGxDaGFyc1sxN10gPSAnXCJcdTAwMTFcIic7DQogICAgICAgIG51bGxDaGFyc1sxOF0gPSAnXCJcdTAwMTJcIic7DQogICAgICAgIG51bGxDaGFyc1sxOV0gPSAnXCJcdTAwMTNcIic7DQogICAgICAgIG51bGxDaGFyc1syMF0gPSAnXCJcdTAwMTRcIic7DQogICAgICAgIG51bGxDaGFyc1syMV0gPSAnXCJcdTAwMTVcIic7DQogICAgICAgIG51bGxDaGFyc1syMl0gPSAnXCJcdTAwMTZcIic7DQogICAgICAgIG51bGxDaGFyc1syM10gPSAnXCJcdTAwMTdcIic7DQogICAgICAgIG51bGxDaGFyc1syNF0gPSAnXCJcdTAwMThcIic7DQogICAgICAgIG51bGxDaGFyc1syNV0gPSAnXCJcdTAwMTlcIic7DQogICAgICAgIG51bGxDaGFyc1syNl0gPSAnXCJcdTAwMUFcIic7DQogICAgICAgIG51bGxDaGFyc1syN10gPSAnXCJcdTAwMUJcIic7DQogICAgICAgIG51bGxDaGFyc1syOF0gPSAnXCJcdTAwMUNcIic7DQogICAgICAgIG51bGxDaGFyc1syOV0gPSAnXCJcdTAwMURcIic7DQogICAgICAgIG51bGxDaGFyc1szMF0gPSAnXCJcdTAwMUVcIic7DQogICAgICAgIG51bGxDaGFyc1szMV0gPSAnXCJcdTAwMUZcIic7DQoNCiAgICAgICAgZm9yICh2YXIgaW5kZXggaW4gbnVsbENoYXJzKSB7DQogICAgICAgICAgICB0cnkgew0KICAgICAgICAgICAgICAgIHZhciBvYmogPSBKU09OLnBhcnNlKCd7ICcgKyBudWxsQ2hhcnNbaW5kZXhdICsgIm5hbWUiICsgJyA6ICJKb2huIiB9ICcpOw0KICAgICAgICAgICAgICAgIHJlc3VsdCA9IChyZXN1bHQgJiYgZmFsc2UpOw0KICAgICAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgICAgIHJlc3VsdCA9IChyZXN1bHQgJiYgKGUgaW5zdGFuY2VvZiBTeW50YXhFcnJvcikpOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQogICAgICAgIHJldHVybiByZXN1bHQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"JSON.parse - parsing an object where property name starts with a null character","path":"TestCases/ch15/15.12/15.12.2/15.12.2-2-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4xMi8xNS4xMi4yLzE1LjEyLjItMi0zLmpzDQogKiBAZGVzY3JpcHRpb24gSlNPTi5wYXJzZSAtIHBhcnNpbmcgYW4gb2JqZWN0IHdoZXJlIHByb3BlcnR5IG5hbWUgZW5kcyB3aXRoIGEgbnVsbCBjaGFyYWN0ZXINCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciByZXN1bHQgPSB0cnVlOw0KDQogICAgICAgIHZhciBudWxsQ2hhcnMgPSBuZXcgQXJyYXkoKTsNCiAgICAgICAgbnVsbENoYXJzWzBdID0gJ1wiXHUwMDAwXCInOw0KICAgICAgICBudWxsQ2hhcnNbMV0gPSAnXCJcdTAwMDFcIic7DQogICAgICAgIG51bGxDaGFyc1syXSA9ICdcIlx1MDAwMlwiJzsNCiAgICAgICAgbnVsbENoYXJzWzNdID0gJ1wiXHUwMDAzXCInOw0KICAgICAgICBudWxsQ2hhcnNbNF0gPSAnXCJcdTAwMDRcIic7DQogICAgICAgIG51bGxDaGFyc1s1XSA9ICdcIlx1MDAwNVwiJzsNCiAgICAgICAgbnVsbENoYXJzWzZdID0gJ1wiXHUwMDA2XCInOw0KICAgICAgICBudWxsQ2hhcnNbN10gPSAnXCJcdTAwMDdcIic7DQogICAgICAgIG51bGxDaGFyc1s4XSA9ICdcIlx1MDAwOFwiJzsNCiAgICAgICAgbnVsbENoYXJzWzldID0gJ1wiXHUwMDA5XCInOw0KICAgICAgICBudWxsQ2hhcnNbMTBdID0gJ1wiXHUwMDBBXCInOw0KICAgICAgICBudWxsQ2hhcnNbMTFdID0gJ1wiXHUwMDBCXCInOw0KICAgICAgICBudWxsQ2hhcnNbMTJdID0gJ1wiXHUwMDBDXCInOw0KICAgICAgICBudWxsQ2hhcnNbMTNdID0gJ1wiXHUwMDBEXCInOw0KICAgICAgICBudWxsQ2hhcnNbMTRdID0gJ1wiXHUwMDBFXCInOw0KICAgICAgICBudWxsQ2hhcnNbMTVdID0gJ1wiXHUwMDBGXCInOw0KICAgICAgICBudWxsQ2hhcnNbMTZdID0gJ1wiXHUwMDEwXCInOw0KICAgICAgICBudWxsQ2hhcnNbMTddID0gJ1wiXHUwMDExXCInOw0KICAgICAgICBudWxsQ2hhcnNbMThdID0gJ1wiXHUwMDEyXCInOw0KICAgICAgICBudWxsQ2hhcnNbMTldID0gJ1wiXHUwMDEzXCInOw0KICAgICAgICBudWxsQ2hhcnNbMjBdID0gJ1wiXHUwMDE0XCInOw0KICAgICAgICBudWxsQ2hhcnNbMjFdID0gJ1wiXHUwMDE1XCInOw0KICAgICAgICBudWxsQ2hhcnNbMjJdID0gJ1wiXHUwMDE2XCInOw0KICAgICAgICBudWxsQ2hhcnNbMjNdID0gJ1wiXHUwMDE3XCInOw0KICAgICAgICBudWxsQ2hhcnNbMjRdID0gJ1wiXHUwMDE4XCInOw0KICAgICAgICBudWxsQ2hhcnNbMjVdID0gJ1wiXHUwMDE5XCInOw0KICAgICAgICBudWxsQ2hhcnNbMjZdID0gJ1wiXHUwMDFBXCInOw0KICAgICAgICBudWxsQ2hhcnNbMjddID0gJ1wiXHUwMDFCXCInOw0KICAgICAgICBudWxsQ2hhcnNbMjhdID0gJ1wiXHUwMDFDXCInOw0KICAgICAgICBudWxsQ2hhcnNbMjldID0gJ1wiXHUwMDFEXCInOw0KICAgICAgICBudWxsQ2hhcnNbMzBdID0gJ1wiXHUwMDFFXCInOw0KICAgICAgICBudWxsQ2hhcnNbMzFdID0gJ1wiXHUwMDFGXCInOw0KDQogICAgICAgIGZvciAodmFyIGluZGV4IGluIG51bGxDaGFycykgew0KICAgICAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgICAgICB2YXIgb2JqID0gSlNPTi5wYXJzZSgneycgKyAibmFtZSIgKyBudWxsQ2hhcnNbaW5kZXhdICsgJyA6ICJKb2huIiB9ICcpOw0KICAgICAgICAgICAgICAgIHJlc3VsdCA9IChyZXN1bHQgJiYgZmFsc2UpOw0KICAgICAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgICAgIHJlc3VsdCA9IChyZXN1bHQgJiYgKGUgaW5zdGFuY2VvZiBTeW50YXhFcnJvcikpOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQogICAgICAgIHJldHVybiByZXN1bHQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"JSON.parse - parsing an object where property name ends with a null character","path":"TestCases/ch15/15.12/15.12.2/15.12.2-2-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4xMi8xNS4xMi4yLzE1LjEyLjItMi00LmpzDQogKiBAZGVzY3JpcHRpb24gSlNPTi5wYXJzZSAtIHBhcnNpbmcgYW4gb2JqZWN0IHdoZXJlIHByb3BlcnR5IG5hbWUgc3RhcnRzIGFuZCBlbmRzIHdpdGggYSBudWxsIGNoYXJhY3Rlcg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHJlc3VsdCA9IHRydWU7DQoNCiAgICAgICAgdmFyIG51bGxDaGFycyA9IG5ldyBBcnJheSgpOw0KICAgICAgICBudWxsQ2hhcnNbMF0gPSAnXCJcdTAwMDBcIic7DQogICAgICAgIG51bGxDaGFyc1sxXSA9ICdcIlx1MDAwMVwiJzsNCiAgICAgICAgbnVsbENoYXJzWzJdID0gJ1wiXHUwMDAyXCInOw0KICAgICAgICBudWxsQ2hhcnNbM10gPSAnXCJcdTAwMDNcIic7DQogICAgICAgIG51bGxDaGFyc1s0XSA9ICdcIlx1MDAwNFwiJzsNCiAgICAgICAgbnVsbENoYXJzWzVdID0gJ1wiXHUwMDA1XCInOw0KICAgICAgICBudWxsQ2hhcnNbNl0gPSAnXCJcdTAwMDZcIic7DQogICAgICAgIG51bGxDaGFyc1s3XSA9ICdcIlx1MDAwN1wiJzsNCiAgICAgICAgbnVsbENoYXJzWzhdID0gJ1wiXHUwMDA4XCInOw0KICAgICAgICBudWxsQ2hhcnNbOV0gPSAnXCJcdTAwMDlcIic7DQogICAgICAgIG51bGxDaGFyc1sxMF0gPSAnXCJcdTAwMEFcIic7DQogICAgICAgIG51bGxDaGFyc1sxMV0gPSAnXCJcdTAwMEJcIic7DQogICAgICAgIG51bGxDaGFyc1sxMl0gPSAnXCJcdTAwMENcIic7DQogICAgICAgIG51bGxDaGFyc1sxM10gPSAnXCJcdTAwMERcIic7DQogICAgICAgIG51bGxDaGFyc1sxNF0gPSAnXCJcdTAwMEVcIic7DQogICAgICAgIG51bGxDaGFyc1sxNV0gPSAnXCJcdTAwMEZcIic7DQogICAgICAgIG51bGxDaGFyc1sxNl0gPSAnXCJcdTAwMTBcIic7DQogICAgICAgIG51bGxDaGFyc1sxN10gPSAnXCJcdTAwMTFcIic7DQogICAgICAgIG51bGxDaGFyc1sxOF0gPSAnXCJcdTAwMTJcIic7DQogICAgICAgIG51bGxDaGFyc1sxOV0gPSAnXCJcdTAwMTNcIic7DQogICAgICAgIG51bGxDaGFyc1syMF0gPSAnXCJcdTAwMTRcIic7DQogICAgICAgIG51bGxDaGFyc1syMV0gPSAnXCJcdTAwMTVcIic7DQogICAgICAgIG51bGxDaGFyc1syMl0gPSAnXCJcdTAwMTZcIic7DQogICAgICAgIG51bGxDaGFyc1syM10gPSAnXCJcdTAwMTdcIic7DQogICAgICAgIG51bGxDaGFyc1syNF0gPSAnXCJcdTAwMThcIic7DQogICAgICAgIG51bGxDaGFyc1syNV0gPSAnXCJcdTAwMTlcIic7DQogICAgICAgIG51bGxDaGFyc1syNl0gPSAnXCJcdTAwMUFcIic7DQogICAgICAgIG51bGxDaGFyc1syN10gPSAnXCJcdTAwMUJcIic7DQogICAgICAgIG51bGxDaGFyc1syOF0gPSAnXCJcdTAwMUNcIic7DQogICAgICAgIG51bGxDaGFyc1syOV0gPSAnXCJcdTAwMURcIic7DQogICAgICAgIG51bGxDaGFyc1szMF0gPSAnXCJcdTAwMUVcIic7DQogICAgICAgIG51bGxDaGFyc1szMV0gPSAnXCJcdTAwMUZcIic7DQoNCiAgICAgICAgZm9yICh2YXIgaW5kZXggaW4gbnVsbENoYXJzKSB7DQogICAgICAgICAgICB0cnkgew0KICAgICAgICAgICAgICAgIHZhciBvYmogPSBKU09OLnBhcnNlKCd7JyArIG51bGxDaGFyc1tpbmRleF0gKyAibmFtZSIgKyBudWxsQ2hhcnNbaW5kZXhdICsgJyA6ICJKb2huIiB9ICcpOw0KICAgICAgICAgICAgICAgIHJlc3VsdCA9IChyZXN1bHQgJiYgZmFsc2UpOw0KICAgICAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgICAgIHJlc3VsdCA9IChyZXN1bHQgJiYgKGUgaW5zdGFuY2VvZiBTeW50YXhFcnJvcikpOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQogICAgICAgIHJldHVybiByZXN1bHQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"JSON.parse - parsing an object where property name starts and ends with a null character","path":"TestCases/ch15/15.12/15.12.2/15.12.2-2-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4xMi8xNS4xMi4yLzE1LjEyLjItMi01LmpzDQogKiBAZGVzY3JpcHRpb24gSlNPTi5wYXJzZSAtIHBhcnNpbmcgYW4gb2JqZWN0IHdoZXJlIHByb3BlcnR5IG5hbWUgbWlkZGxlcyB3aXRoIGEgbnVsbCBjaGFyYWN0ZXINCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciByZXN1bHQgPSB0cnVlOw0KDQogICAgICAgIHZhciBudWxsQ2hhcnMgPSBuZXcgQXJyYXkoKTsNCiAgICAgICAgbnVsbENoYXJzWzBdID0gJ1wiXHUwMDAwXCInOw0KICAgICAgICBudWxsQ2hhcnNbMV0gPSAnXCJcdTAwMDFcIic7DQogICAgICAgIG51bGxDaGFyc1syXSA9ICdcIlx1MDAwMlwiJzsNCiAgICAgICAgbnVsbENoYXJzWzNdID0gJ1wiXHUwMDAzXCInOw0KICAgICAgICBudWxsQ2hhcnNbNF0gPSAnXCJcdTAwMDRcIic7DQogICAgICAgIG51bGxDaGFyc1s1XSA9ICdcIlx1MDAwNVwiJzsNCiAgICAgICAgbnVsbENoYXJzWzZdID0gJ1wiXHUwMDA2XCInOw0KICAgICAgICBudWxsQ2hhcnNbN10gPSAnXCJcdTAwMDdcIic7DQogICAgICAgIG51bGxDaGFyc1s4XSA9ICdcIlx1MDAwOFwiJzsNCiAgICAgICAgbnVsbENoYXJzWzldID0gJ1wiXHUwMDA5XCInOw0KICAgICAgICBudWxsQ2hhcnNbMTBdID0gJ1wiXHUwMDBBXCInOw0KICAgICAgICBudWxsQ2hhcnNbMTFdID0gJ1wiXHUwMDBCXCInOw0KICAgICAgICBudWxsQ2hhcnNbMTJdID0gJ1wiXHUwMDBDXCInOw0KICAgICAgICBudWxsQ2hhcnNbMTNdID0gJ1wiXHUwMDBEXCInOw0KICAgICAgICBudWxsQ2hhcnNbMTRdID0gJ1wiXHUwMDBFXCInOw0KICAgICAgICBudWxsQ2hhcnNbMTVdID0gJ1wiXHUwMDBGXCInOw0KICAgICAgICBudWxsQ2hhcnNbMTZdID0gJ1wiXHUwMDEwXCInOw0KICAgICAgICBudWxsQ2hhcnNbMTddID0gJ1wiXHUwMDExXCInOw0KICAgICAgICBudWxsQ2hhcnNbMThdID0gJ1wiXHUwMDEyXCInOw0KICAgICAgICBudWxsQ2hhcnNbMTldID0gJ1wiXHUwMDEzXCInOw0KICAgICAgICBudWxsQ2hhcnNbMjBdID0gJ1wiXHUwMDE0XCInOw0KICAgICAgICBudWxsQ2hhcnNbMjFdID0gJ1wiXHUwMDE1XCInOw0KICAgICAgICBudWxsQ2hhcnNbMjJdID0gJ1wiXHUwMDE2XCInOw0KICAgICAgICBudWxsQ2hhcnNbMjNdID0gJ1wiXHUwMDE3XCInOw0KICAgICAgICBudWxsQ2hhcnNbMjRdID0gJ1wiXHUwMDE4XCInOw0KICAgICAgICBudWxsQ2hhcnNbMjVdID0gJ1wiXHUwMDE5XCInOw0KICAgICAgICBudWxsQ2hhcnNbMjZdID0gJ1wiXHUwMDFBXCInOw0KICAgICAgICBudWxsQ2hhcnNbMjddID0gJ1wiXHUwMDFCXCInOw0KICAgICAgICBudWxsQ2hhcnNbMjhdID0gJ1wiXHUwMDFDXCInOw0KICAgICAgICBudWxsQ2hhcnNbMjldID0gJ1wiXHUwMDFEXCInOw0KICAgICAgICBudWxsQ2hhcnNbMzBdID0gJ1wiXHUwMDFFXCInOw0KICAgICAgICBudWxsQ2hhcnNbMzFdID0gJ1wiXHUwMDFGXCInOw0KDQogICAgICAgIGZvciAodmFyIGluZGV4IGluIG51bGxDaGFycykgew0KICAgICAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgICAgICB2YXIgb2JqID0gSlNPTi5wYXJzZSgneyAnICsgIm5hIiArIG51bGxDaGFyc1tpbmRleF0gKyAibWUiICsgJyA6ICJKb2huIiB9ICcpOw0KICAgICAgICAgICAgICAgIHJlc3VsdCA9IChyZXN1bHQgJiYgZmFsc2UpOw0KICAgICAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgICAgIHJlc3VsdCA9IChyZXN1bHQgJiYgKGUgaW5zdGFuY2VvZiBTeW50YXhFcnJvcikpOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQogICAgICAgIHJldHVybiByZXN1bHQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"JSON.parse - parsing an object where property name middles with a null character","path":"TestCases/ch15/15.12/15.12.2/15.12.2-2-5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4xMi8xNS4xMi4yLzE1LjEyLjItMi02LmpzDQogKiBAZGVzY3JpcHRpb24gSlNPTi5wYXJzZSAtIHBhcnNpbmcgYW4gb2JqZWN0IHdoZXJlIHByb3BlcnR5IHZhbHVlIGlzIGEgbnVsbCBjaGFyYWN0ZXINCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciByZXN1bHQgPSB0cnVlOw0KDQogICAgICAgIHZhciBudWxsQ2hhcnMgPSBuZXcgQXJyYXkoKTsNCiAgICAgICAgbnVsbENoYXJzWzBdID0gJ1wiXHUwMDAwXCInOw0KICAgICAgICBudWxsQ2hhcnNbMV0gPSAnXCJcdTAwMDFcIic7DQogICAgICAgIG51bGxDaGFyc1syXSA9ICdcIlx1MDAwMlwiJzsNCiAgICAgICAgbnVsbENoYXJzWzNdID0gJ1wiXHUwMDAzXCInOw0KICAgICAgICBudWxsQ2hhcnNbNF0gPSAnXCJcdTAwMDRcIic7DQogICAgICAgIG51bGxDaGFyc1s1XSA9ICdcIlx1MDAwNVwiJzsNCiAgICAgICAgbnVsbENoYXJzWzZdID0gJ1wiXHUwMDA2XCInOw0KICAgICAgICBudWxsQ2hhcnNbN10gPSAnXCJcdTAwMDdcIic7DQogICAgICAgIG51bGxDaGFyc1s4XSA9ICdcIlx1MDAwOFwiJzsNCiAgICAgICAgbnVsbENoYXJzWzldID0gJ1wiXHUwMDA5XCInOw0KICAgICAgICBudWxsQ2hhcnNbMTBdID0gJ1wiXHUwMDBBXCInOw0KICAgICAgICBudWxsQ2hhcnNbMTFdID0gJ1wiXHUwMDBCXCInOw0KICAgICAgICBudWxsQ2hhcnNbMTJdID0gJ1wiXHUwMDBDXCInOw0KICAgICAgICBudWxsQ2hhcnNbMTNdID0gJ1wiXHUwMDBEXCInOw0KICAgICAgICBudWxsQ2hhcnNbMTRdID0gJ1wiXHUwMDBFXCInOw0KICAgICAgICBudWxsQ2hhcnNbMTVdID0gJ1wiXHUwMDBGXCInOw0KICAgICAgICBudWxsQ2hhcnNbMTZdID0gJ1wiXHUwMDEwXCInOw0KICAgICAgICBudWxsQ2hhcnNbMTddID0gJ1wiXHUwMDExXCInOw0KICAgICAgICBudWxsQ2hhcnNbMThdID0gJ1wiXHUwMDEyXCInOw0KICAgICAgICBudWxsQ2hhcnNbMTldID0gJ1wiXHUwMDEzXCInOw0KICAgICAgICBudWxsQ2hhcnNbMjBdID0gJ1wiXHUwMDE0XCInOw0KICAgICAgICBudWxsQ2hhcnNbMjFdID0gJ1wiXHUwMDE1XCInOw0KICAgICAgICBudWxsQ2hhcnNbMjJdID0gJ1wiXHUwMDE2XCInOw0KICAgICAgICBudWxsQ2hhcnNbMjNdID0gJ1wiXHUwMDE3XCInOw0KICAgICAgICBudWxsQ2hhcnNbMjRdID0gJ1wiXHUwMDE4XCInOw0KICAgICAgICBudWxsQ2hhcnNbMjVdID0gJ1wiXHUwMDE5XCInOw0KICAgICAgICBudWxsQ2hhcnNbMjZdID0gJ1wiXHUwMDFBXCInOw0KICAgICAgICBudWxsQ2hhcnNbMjddID0gJ1wiXHUwMDFCXCInOw0KICAgICAgICBudWxsQ2hhcnNbMjhdID0gJ1wiXHUwMDFDXCInOw0KICAgICAgICBudWxsQ2hhcnNbMjldID0gJ1wiXHUwMDFEXCInOw0KICAgICAgICBudWxsQ2hhcnNbMzBdID0gJ1wiXHUwMDFFXCInOw0KICAgICAgICBudWxsQ2hhcnNbMzFdID0gJ1wiXHUwMDFGXCInOw0KDQogICAgICAgIGZvciAodmFyIGluZGV4IGluIG51bGxDaGFycykgew0KICAgICAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgICAgICB2YXIgb2JqID0gSlNPTi5wYXJzZSgneyAibmFtZSIgOiAnICsgbnVsbENoYXJzW2luZGV4XSArICcgfSAnKTsNCiAgICAgICAgICAgICAgICByZXN1bHQgPSAocmVzdWx0ICYmIGZhbHNlKTsNCiAgICAgICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgICAgICByZXN1bHQgPSAocmVzdWx0ICYmIChlIGluc3RhbmNlb2YgU3ludGF4RXJyb3IpKTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KICAgICAgICByZXR1cm4gcmVzdWx0Ow0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"JSON.parse - parsing an object where property value is a null character","path":"TestCases/ch15/15.12/15.12.2/15.12.2-2-6.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4xMi8xNS4xMi4yLzE1LjEyLjItMi03LmpzDQogKiBAZGVzY3JpcHRpb24gSlNPTi5wYXJzZSAtIHBhcnNpbmcgYW4gb2JqZWN0IHdoZXJlIHByb3BlcnR5IHZhbHVlIHN0YXJ0cyB3aXRoIGEgbnVsbCBjaGFyYWN0ZXINCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciByZXN1bHQgPSB0cnVlOw0KDQogICAgICAgIHZhciBudWxsQ2hhcnMgPSBuZXcgQXJyYXkoKTsNCiAgICAgICAgbnVsbENoYXJzWzBdID0gJ1wiXHUwMDAwXCInOw0KICAgICAgICBudWxsQ2hhcnNbMV0gPSAnXCJcdTAwMDFcIic7DQogICAgICAgIG51bGxDaGFyc1syXSA9ICdcIlx1MDAwMlwiJzsNCiAgICAgICAgbnVsbENoYXJzWzNdID0gJ1wiXHUwMDAzXCInOw0KICAgICAgICBudWxsQ2hhcnNbNF0gPSAnXCJcdTAwMDRcIic7DQogICAgICAgIG51bGxDaGFyc1s1XSA9ICdcIlx1MDAwNVwiJzsNCiAgICAgICAgbnVsbENoYXJzWzZdID0gJ1wiXHUwMDA2XCInOw0KICAgICAgICBudWxsQ2hhcnNbN10gPSAnXCJcdTAwMDdcIic7DQogICAgICAgIG51bGxDaGFyc1s4XSA9ICdcIlx1MDAwOFwiJzsNCiAgICAgICAgbnVsbENoYXJzWzldID0gJ1wiXHUwMDA5XCInOw0KICAgICAgICBudWxsQ2hhcnNbMTBdID0gJ1wiXHUwMDBBXCInOw0KICAgICAgICBudWxsQ2hhcnNbMTFdID0gJ1wiXHUwMDBCXCInOw0KICAgICAgICBudWxsQ2hhcnNbMTJdID0gJ1wiXHUwMDBDXCInOw0KICAgICAgICBudWxsQ2hhcnNbMTNdID0gJ1wiXHUwMDBEXCInOw0KICAgICAgICBudWxsQ2hhcnNbMTRdID0gJ1wiXHUwMDBFXCInOw0KICAgICAgICBudWxsQ2hhcnNbMTVdID0gJ1wiXHUwMDBGXCInOw0KICAgICAgICBudWxsQ2hhcnNbMTZdID0gJ1wiXHUwMDEwXCInOw0KICAgICAgICBudWxsQ2hhcnNbMTddID0gJ1wiXHUwMDExXCInOw0KICAgICAgICBudWxsQ2hhcnNbMThdID0gJ1wiXHUwMDEyXCInOw0KICAgICAgICBudWxsQ2hhcnNbMTldID0gJ1wiXHUwMDEzXCInOw0KICAgICAgICBudWxsQ2hhcnNbMjBdID0gJ1wiXHUwMDE0XCInOw0KICAgICAgICBudWxsQ2hhcnNbMjFdID0gJ1wiXHUwMDE1XCInOw0KICAgICAgICBudWxsQ2hhcnNbMjJdID0gJ1wiXHUwMDE2XCInOw0KICAgICAgICBudWxsQ2hhcnNbMjNdID0gJ1wiXHUwMDE3XCInOw0KICAgICAgICBudWxsQ2hhcnNbMjRdID0gJ1wiXHUwMDE4XCInOw0KICAgICAgICBudWxsQ2hhcnNbMjVdID0gJ1wiXHUwMDE5XCInOw0KICAgICAgICBudWxsQ2hhcnNbMjZdID0gJ1wiXHUwMDFBXCInOw0KICAgICAgICBudWxsQ2hhcnNbMjddID0gJ1wiXHUwMDFCXCInOw0KICAgICAgICBudWxsQ2hhcnNbMjhdID0gJ1wiXHUwMDFDXCInOw0KICAgICAgICBudWxsQ2hhcnNbMjldID0gJ1wiXHUwMDFEXCInOw0KICAgICAgICBudWxsQ2hhcnNbMzBdID0gJ1wiXHUwMDFFXCInOw0KICAgICAgICBudWxsQ2hhcnNbMzFdID0gJ1wiXHUwMDFGXCInOw0KDQogICAgICAgIGZvciAodmFyIGluZGV4IGluIG51bGxDaGFycykgew0KICAgICAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgICAgICB2YXIgb2JqID0gSlNPTi5wYXJzZSgneyAibmFtZSIgOiAnICsgbnVsbENoYXJzW2luZGV4XSArICJKb2huIiArICcgfSAnKTsNCiAgICAgICAgICAgICAgICByZXN1bHQgPSAocmVzdWx0ICYmIGZhbHNlKTsNCiAgICAgICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgICAgICByZXN1bHQgPSAocmVzdWx0ICYmIChlIGluc3RhbmNlb2YgU3ludGF4RXJyb3IpKTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KICAgICAgICByZXR1cm4gcmVzdWx0Ow0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"JSON.parse - parsing an object where property value starts with a null character","path":"TestCases/ch15/15.12/15.12.2/15.12.2-2-7.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4xMi8xNS4xMi4yLzE1LjEyLjItMi04LmpzDQogKiBAZGVzY3JpcHRpb24gSlNPTi5wYXJzZSAtIHBhcnNpbmcgYW4gb2JqZWN0IHdoZXJlIHByb3BlcnR5IHZhbHVlIGVuZHMgd2l0aCBhIG51bGwgY2hhcmFjdGVyDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgcmVzdWx0ID0gdHJ1ZTsNCg0KICAgICAgICB2YXIgbnVsbENoYXJzID0gbmV3IEFycmF5KCk7DQogICAgICAgIG51bGxDaGFyc1swXSA9ICdcIlx1MDAwMFwiJzsNCiAgICAgICAgbnVsbENoYXJzWzFdID0gJ1wiXHUwMDAxXCInOw0KICAgICAgICBudWxsQ2hhcnNbMl0gPSAnXCJcdTAwMDJcIic7DQogICAgICAgIG51bGxDaGFyc1szXSA9ICdcIlx1MDAwM1wiJzsNCiAgICAgICAgbnVsbENoYXJzWzRdID0gJ1wiXHUwMDA0XCInOw0KICAgICAgICBudWxsQ2hhcnNbNV0gPSAnXCJcdTAwMDVcIic7DQogICAgICAgIG51bGxDaGFyc1s2XSA9ICdcIlx1MDAwNlwiJzsNCiAgICAgICAgbnVsbENoYXJzWzddID0gJ1wiXHUwMDA3XCInOw0KICAgICAgICBudWxsQ2hhcnNbOF0gPSAnXCJcdTAwMDhcIic7DQogICAgICAgIG51bGxDaGFyc1s5XSA9ICdcIlx1MDAwOVwiJzsNCiAgICAgICAgbnVsbENoYXJzWzEwXSA9ICdcIlx1MDAwQVwiJzsNCiAgICAgICAgbnVsbENoYXJzWzExXSA9ICdcIlx1MDAwQlwiJzsNCiAgICAgICAgbnVsbENoYXJzWzEyXSA9ICdcIlx1MDAwQ1wiJzsNCiAgICAgICAgbnVsbENoYXJzWzEzXSA9ICdcIlx1MDAwRFwiJzsNCiAgICAgICAgbnVsbENoYXJzWzE0XSA9ICdcIlx1MDAwRVwiJzsNCiAgICAgICAgbnVsbENoYXJzWzE1XSA9ICdcIlx1MDAwRlwiJzsNCiAgICAgICAgbnVsbENoYXJzWzE2XSA9ICdcIlx1MDAxMFwiJzsNCiAgICAgICAgbnVsbENoYXJzWzE3XSA9ICdcIlx1MDAxMVwiJzsNCiAgICAgICAgbnVsbENoYXJzWzE4XSA9ICdcIlx1MDAxMlwiJzsNCiAgICAgICAgbnVsbENoYXJzWzE5XSA9ICdcIlx1MDAxM1wiJzsNCiAgICAgICAgbnVsbENoYXJzWzIwXSA9ICdcIlx1MDAxNFwiJzsNCiAgICAgICAgbnVsbENoYXJzWzIxXSA9ICdcIlx1MDAxNVwiJzsNCiAgICAgICAgbnVsbENoYXJzWzIyXSA9ICdcIlx1MDAxNlwiJzsNCiAgICAgICAgbnVsbENoYXJzWzIzXSA9ICdcIlx1MDAxN1wiJzsNCiAgICAgICAgbnVsbENoYXJzWzI0XSA9ICdcIlx1MDAxOFwiJzsNCiAgICAgICAgbnVsbENoYXJzWzI1XSA9ICdcIlx1MDAxOVwiJzsNCiAgICAgICAgbnVsbENoYXJzWzI2XSA9ICdcIlx1MDAxQVwiJzsNCiAgICAgICAgbnVsbENoYXJzWzI3XSA9ICdcIlx1MDAxQlwiJzsNCiAgICAgICAgbnVsbENoYXJzWzI4XSA9ICdcIlx1MDAxQ1wiJzsNCiAgICAgICAgbnVsbENoYXJzWzI5XSA9ICdcIlx1MDAxRFwiJzsNCiAgICAgICAgbnVsbENoYXJzWzMwXSA9ICdcIlx1MDAxRVwiJzsNCiAgICAgICAgbnVsbENoYXJzWzMxXSA9ICdcIlx1MDAxRlwiJzsNCg0KICAgICAgICBmb3IgKHZhciBpbmRleCBpbiBudWxsQ2hhcnMpIHsNCiAgICAgICAgICAgIHRyeSB7DQogICAgICAgICAgICAgICAgdmFyIG9iaiA9IEpTT04ucGFyc2UoJ3sgIm5hbWUiIDogJyArICJKb2huIiArIG51bGxDaGFyc1tpbmRleF0gKyAnIH0gJyk7DQogICAgICAgICAgICAgICAgcmVzdWx0ID0gKHJlc3VsdCAmJiBmYWxzZSk7DQogICAgICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICAgICAgcmVzdWx0ID0gKHJlc3VsdCAmJiAoZSBpbnN0YW5jZW9mIFN5bnRheEVycm9yKSk7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCiAgICAgICAgcmV0dXJuIHJlc3VsdDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"JSON.parse - parsing an object where property value ends with a null character","path":"TestCases/ch15/15.12/15.12.2/15.12.2-2-8.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4xMi8xNS4xMi4yLzE1LjEyLjItMi05LmpzDQogKiBAZGVzY3JpcHRpb24gSlNPTi5wYXJzZSAtIHBhcnNpbmcgYW4gb2JqZWN0IHdoZXJlIHByb3BlcnR5IHZhbHVlIHN0YXJ0cyBhbmQgZW5kcyB3aXRoIGEgbnVsbCBjaGFyYWN0ZXINCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciByZXN1bHQgPSB0cnVlOw0KDQogICAgICAgIHZhciBudWxsQ2hhcnMgPSBuZXcgQXJyYXkoKTsNCiAgICAgICAgbnVsbENoYXJzWzBdID0gJ1wiXHUwMDAwXCInOw0KICAgICAgICBudWxsQ2hhcnNbMV0gPSAnXCJcdTAwMDFcIic7DQogICAgICAgIG51bGxDaGFyc1syXSA9ICdcIlx1MDAwMlwiJzsNCiAgICAgICAgbnVsbENoYXJzWzNdID0gJ1wiXHUwMDAzXCInOw0KICAgICAgICBudWxsQ2hhcnNbNF0gPSAnXCJcdTAwMDRcIic7DQogICAgICAgIG51bGxDaGFyc1s1XSA9ICdcIlx1MDAwNVwiJzsNCiAgICAgICAgbnVsbENoYXJzWzZdID0gJ1wiXHUwMDA2XCInOw0KICAgICAgICBudWxsQ2hhcnNbN10gPSAnXCJcdTAwMDdcIic7DQogICAgICAgIG51bGxDaGFyc1s4XSA9ICdcIlx1MDAwOFwiJzsNCiAgICAgICAgbnVsbENoYXJzWzldID0gJ1wiXHUwMDA5XCInOw0KICAgICAgICBudWxsQ2hhcnNbMTBdID0gJ1wiXHUwMDBBXCInOw0KICAgICAgICBudWxsQ2hhcnNbMTFdID0gJ1wiXHUwMDBCXCInOw0KICAgICAgICBudWxsQ2hhcnNbMTJdID0gJ1wiXHUwMDBDXCInOw0KICAgICAgICBudWxsQ2hhcnNbMTNdID0gJ1wiXHUwMDBEXCInOw0KICAgICAgICBudWxsQ2hhcnNbMTRdID0gJ1wiXHUwMDBFXCInOw0KICAgICAgICBudWxsQ2hhcnNbMTVdID0gJ1wiXHUwMDBGXCInOw0KICAgICAgICBudWxsQ2hhcnNbMTZdID0gJ1wiXHUwMDEwXCInOw0KICAgICAgICBudWxsQ2hhcnNbMTddID0gJ1wiXHUwMDExXCInOw0KICAgICAgICBudWxsQ2hhcnNbMThdID0gJ1wiXHUwMDEyXCInOw0KICAgICAgICBudWxsQ2hhcnNbMTldID0gJ1wiXHUwMDEzXCInOw0KICAgICAgICBudWxsQ2hhcnNbMjBdID0gJ1wiXHUwMDE0XCInOw0KICAgICAgICBudWxsQ2hhcnNbMjFdID0gJ1wiXHUwMDE1XCInOw0KICAgICAgICBudWxsQ2hhcnNbMjJdID0gJ1wiXHUwMDE2XCInOw0KICAgICAgICBudWxsQ2hhcnNbMjNdID0gJ1wiXHUwMDE3XCInOw0KICAgICAgICBudWxsQ2hhcnNbMjRdID0gJ1wiXHUwMDE4XCInOw0KICAgICAgICBudWxsQ2hhcnNbMjVdID0gJ1wiXHUwMDE5XCInOw0KICAgICAgICBudWxsQ2hhcnNbMjZdID0gJ1wiXHUwMDFBXCInOw0KICAgICAgICBudWxsQ2hhcnNbMjddID0gJ1wiXHUwMDFCXCInOw0KICAgICAgICBudWxsQ2hhcnNbMjhdID0gJ1wiXHUwMDFDXCInOw0KICAgICAgICBudWxsQ2hhcnNbMjldID0gJ1wiXHUwMDFEXCInOw0KICAgICAgICBudWxsQ2hhcnNbMzBdID0gJ1wiXHUwMDFFXCInOw0KICAgICAgICBudWxsQ2hhcnNbMzFdID0gJ1wiXHUwMDFGXCInOw0KDQogICAgICAgIGZvciAodmFyIGluZGV4IGluIG51bGxDaGFycykgew0KICAgICAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgICAgICB2YXIgb2JqID0gSlNPTi5wYXJzZSgneyAibmFtZSIgOiAnICsgbnVsbENoYXJzW2luZGV4XSArICJKb2huIiArIG51bGxDaGFyc1tpbmRleF0gKyAnIH0gJyk7DQogICAgICAgICAgICAgICAgcmVzdWx0ID0gKHJlc3VsdCAmJiBmYWxzZSk7DQogICAgICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICAgICAgcmVzdWx0ID0gKHJlc3VsdCAmJiAoZSBpbnN0YW5jZW9mIFN5bnRheEVycm9yKSk7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCiAgICAgICAgcmV0dXJuIHJlc3VsdDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"JSON.parse - parsing an object where property value starts and ends with a null character","path":"TestCases/ch15/15.12/15.12.2/15.12.2-2-9.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMTEgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBKU09OLnBhcnNlIG11c3QgY3JlYXRlIGEgcHJvcGVydHkgd2l0aCB0aGUgZ2l2ZW4gcHJvcGVydHkgbmFtZQogKgogKiBAcGF0aCBjaDE1LzE1LjEyLzE1LjEyLjIvUzE1LjEyLjJfQTEuanMKICogQGRlc2NyaXB0aW9uIFRlc3RzIHRoYXQgSlNPTi5wYXJzZSB0cmVhdHMgIl9fcHJvdG9fXyIgYXMgYSByZWd1bGFyIHByb3BlcnR5IG5hbWUKICovCgp2YXIgeCA9IEpTT04ucGFyc2UoJ3siX19wcm90b19fIjpbXX0nKTsKaWYgKE9iamVjdC5nZXRQcm90b3R5cGVPZih4KSAhPT0gT2JqZWN0LnByb3RvdHlwZSkgewogICRGQUlMKCcjMTogSlNPTi5wYXJzZSBjb25mdXNlZCBieSAiX19wcm90b19fIicpOwp9CmlmICghQXJyYXkuaXNBcnJheSh4Ll9fcHJvdG9fXykpIHsKICAkRkFJTCgnIzI6IEpTT04ucGFyc2UgZGlkIG5vdCBzZXQgIl9fcHJvdG9fXyIgYXMgYSByZWd1bGFyIHByb3BlcnR5Jyk7Cn0KCg==","commentary":"JSON.parse must create a property with the given property name","description":"Tests that JSON.parse treats \"__proto__\" as a regular property name","path":"TestCases/ch15/15.12/15.12.2/S15.12.2_A1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogVGhpcyB0ZXN0IHNob3VsZCBiZSBydW4gd2l0aG91dCBhbnkgYnVpbHQtaW5zIGJlaW5nIGFkZGVkL2F1Z21lbnRlZC4NCiAqIFRoZSBuYW1lIEpTT04gbXVzdCBiZSBib3VuZCB0byBhbiBvYmplY3QuDQogKiANCiAqIFNlY3Rpb24gMTUgc2F5cyB0aGF0IGV2ZXJ5IGJ1aWx0LWluIEZ1bmN0aW9uIG9iamVjdCBkZXNjcmliZWQgaW4gdGhpcw0KICogc2VjdGlvbiDvv70gd2hldGhlciBhcyBhIGNvbnN0cnVjdG9yLCBhbiBvcmRpbmFyeSBmdW5jdGlvbiwgb3IgYm90aCDvv70gaGFzDQogKiBhIGxlbmd0aCBwcm9wZXJ0eSB3aG9zZSB2YWx1ZSBpcyBhbiBpbnRlZ2VyLiBVbmxlc3Mgb3RoZXJ3aXNlIHNwZWNpZmllZCwNCiAqIHRoaXMgdmFsdWUgaXMgZXF1YWwgdG8gdGhlIGxhcmdlc3QgbnVtYmVyIG9mIG5hbWVkIGFyZ3VtZW50cyBzaG93biBpbg0KICogdGhlIHNlY3Rpb24gaGVhZGluZ3MgZm9yIHRoZSBmdW5jdGlvbiBkZXNjcmlwdGlvbiwgaW5jbHVkaW5nIG9wdGlvbmFsDQogKiBwYXJhbWV0ZXJzLg0KICogDQogKiBUaGlzIGRlZmF1bHQgYXBwbGllcyB0byBKU09OLnN0cmluZ2lmeSwgYW5kIGl0IG11c3QgZXhpc3QgYXMgYSBmdW5jdGlvbg0KICogdGFraW5nIDMgcGFyYW1ldGVycy4NCiAqDQogKiBAcGF0aCBjaDE1LzE1LjEyLzE1LjEyLjMvMTUuMTIuMy0wLTEuanMNCiAqIEBkZXNjcmlwdGlvbiBKU09OLnN0cmluZ2lmeSBtdXN0IGV4aXN0IGFzIGJlIGEgZnVuY3Rpb24NCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgZiA9IEpTT04uc3RyaW5naWZ5Ow0KDQogIGlmICh0eXBlb2YoZikgPT09ICJmdW5jdGlvbiIpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"This test should be run without any built-ins being added/augmented.\nThe name JSON must be bound to an object.\n\nSection 15 says that every built-in Function object described in this\nsection \ufffd whether as a constructor, an ordinary function, or both \ufffd has\na length property whose value is an integer. Unless otherwise specified,\nthis value is equal to the largest number of named arguments shown in\nthe section headings for the function description, including optional\nparameters.\n\nThis default applies to JSON.stringify, and it must exist as a function\ntaking 3 parameters.","description":"JSON.stringify must exist as be a function","path":"TestCases/ch15/15.12/15.12.3/15.12.3-0-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogVGhpcyB0ZXN0IHNob3VsZCBiZSBydW4gd2l0aG91dCBhbnkgYnVpbHQtaW5zIGJlaW5nIGFkZGVkL2F1Z21lbnRlZC4NCiAqIFRoZSBuYW1lIEpTT04gbXVzdCBiZSBib3VuZCB0byBhbiBvYmplY3QuDQogKiANCiAqIFNlY3Rpb24gMTUgc2F5cyB0aGF0IGV2ZXJ5IGJ1aWx0LWluIEZ1bmN0aW9uIG9iamVjdCBkZXNjcmliZWQgaW4gdGhpcw0KICogc2VjdGlvbiDvv70gd2hldGhlciBhcyBhIGNvbnN0cnVjdG9yLCBhbiBvcmRpbmFyeSBmdW5jdGlvbiwgb3IgYm90aCDvv70gaGFzDQogKiBhIGxlbmd0aCBwcm9wZXJ0eSB3aG9zZSB2YWx1ZSBpcyBhbiBpbnRlZ2VyLiBVbmxlc3Mgb3RoZXJ3aXNlIHNwZWNpZmllZCwNCiAqIHRoaXMgdmFsdWUgaXMgZXF1YWwgdG8gdGhlIGxhcmdlc3QgbnVtYmVyIG9mIG5hbWVkIGFyZ3VtZW50cyBzaG93biBpbg0KICogdGhlIHNlY3Rpb24gaGVhZGluZ3MgZm9yIHRoZSBmdW5jdGlvbiBkZXNjcmlwdGlvbiwgaW5jbHVkaW5nIG9wdGlvbmFsDQogKiBwYXJhbWV0ZXJzLg0KICogDQogKiBUaGlzIGRlZmF1bHQgYXBwbGllcyB0byBKU09OLnN0cmluZ2lmeSwgYW5kIGl0IG11c3QgZXhpc3QgYXMgYSBmdW5jdGlvbg0KICogdGFraW5nIDMgcGFyYW1ldGVycy4NCiAqDQogKiBAcGF0aCBjaDE1LzE1LjEyLzE1LjEyLjMvMTUuMTIuMy0wLTIuanMNCiAqIEBkZXNjcmlwdGlvbiBKU09OLnN0cmluZ2lmeSBtdXN0IGV4aXN0IGFzIGJlIGEgZnVuY3Rpb24gdGFraW5nIDMgcGFyYW1ldGVycw0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBmID0gSlNPTi5zdHJpbmdpZnk7DQoNCiAgaWYgKHR5cGVvZihmKSA9PT0gImZ1bmN0aW9uIiAmJiBmLmxlbmd0aCA9PT0gMykgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"This test should be run without any built-ins being added/augmented.\nThe name JSON must be bound to an object.\n\nSection 15 says that every built-in Function object described in this\nsection \ufffd whether as a constructor, an ordinary function, or both \ufffd has\na length property whose value is an integer. Unless otherwise specified,\nthis value is equal to the largest number of named arguments shown in\nthe section headings for the function description, including optional\nparameters.\n\nThis default applies to JSON.stringify, and it must exist as a function\ntaking 3 parameters.","description":"JSON.stringify must exist as be a function taking 3 parameters","path":"TestCases/ch15/15.12/15.12.3/15.12.3-0-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogVGhpcyB0ZXN0IHNob3VsZCBiZSBydW4gd2l0aG91dCBhbnkgYnVpbHQtaW5zIGJlaW5nIGFkZGVkL2F1Z21lbnRlZC4NCiAqIFRoZSBpbml0aWFsIHZhbHVlIG9mIFtbQ29uZmlndXJhYmxlXV0gb24gSlNPTiBpcyB0cnVlLiBUaGlzIG1lYW5zIHdlDQogKiBzaG91bGQgYmUgYWJsZSB0byBkZWxldGUgKDguNi4yLjUpIHRoZSBzdHJpbmdpZnkgYW5kIHBhcnNlIHByb3BlcnRpZXMuDQogKg0KICogQHBhdGggY2gxNS8xNS4xMi8xNS4xMi4zLzE1LjEyLjMtMC0zLmpzDQogKiBAZGVzY3JpcHRpb24gSlNPTi5zdHJpbmdpZnkgbXVzdCBiZSBkZWxldGFibGUgKGNvbmZpZ3VyYWJsZSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgbyA9IEpTT047DQogIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvLCAic3RyaW5naWZ5Iik7DQogIGlmIChkZXNjLmNvbmZpZ3VyYWJsZSA9PT0gdHJ1ZSkgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"This test should be run without any built-ins being added/augmented.\nThe initial value of [[Configurable]] on JSON is true. This means we\nshould be able to delete (8.6.2.5) the stringify and parse properties.","description":"JSON.stringify must be deletable (configurable)","path":"TestCases/ch15/15.12/15.12.3/15.12.3-0-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4xMi8xNS4xMi4zLzE1LjEyLjMtMTEtMS5qcw0KICogQGRlc2NyaXB0aW9uIEpTT04uc3RyaW5naWZ5KHVuZGVmaW5lZCkgcmV0dXJucyB1bmRlZmluZWQNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICByZXR1cm4gSlNPTi5zdHJpbmdpZnkodW5kZWZpbmVkKSA9PT0gdW5kZWZpbmVkOw0KICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"JSON.stringify(undefined) returns undefined","path":"TestCases/ch15/15.12/15.12.3/15.12.3-11-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4xMi8xNS4xMi4zLzE1LjEyLjMtMTEtMTAuanMNCiAqIEBkZXNjcmlwdGlvbiBBIEpTT04uc3RyaW5naWZ5IHJlcGxhY2VyIGZ1bmN0aW9uIGFwcGxpZWQgdG8gYSB0b3AgbGV2ZWwgc2NhbGFyIHZhbHVlIGNhbiByZXR1cm4gdW5kZWZpbmVkLg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHJldHVybiBKU09OLnN0cmluZ2lmeSg0MiwgZnVuY3Rpb24oaywgdikgeyByZXR1cm4gdW5kZWZpbmVkIH0pID09PSB1bmRlZmluZWQ7DQogIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"A JSON.stringify replacer function applied to a top level scalar value can return undefined.","path":"TestCases/ch15/15.12/15.12.3/15.12.3-11-10.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4xMi8xNS4xMi4zLzE1LjEyLjMtMTEtMTEuanMNCiAqIEBkZXNjcmlwdGlvbiBBIEpTT04uc3RyaW5naWZ5IHJlcGxhY2VyIGZ1bmN0aW9uIGFwcGxpZWQgdG8gYSB0b3AgbGV2ZWwgT2JqZWN0IGNhbiByZXR1cm4gdW5kZWZpbmVkLg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHJldHVybiBKU09OLnN0cmluZ2lmeSh7cHJvcDoxfSwgZnVuY3Rpb24oaywgdikgeyByZXR1cm4gdW5kZWZpbmVkIH0pID09PSB1bmRlZmluZWQ7DQogIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"A JSON.stringify replacer function applied to a top level Object can return undefined.","path":"TestCases/ch15/15.12/15.12.3/15.12.3-11-11.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4xMi8xNS4xMi4zLzE1LjEyLjMtMTEtMTIuanMNCiAqIEBkZXNjcmlwdGlvbiBBIEpTT04uc3RyaW5naWZ5IHJlcGxhY2VyIGZ1bmN0aW9uIGFwcGxpZWQgdG8gYSB0b3AgbGV2ZWwgc2NhbGFyIGNhbiByZXR1cm4gYW4gQXJyYXkuDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgcmV0dXJuIEpTT04uc3RyaW5naWZ5KDQyLCBmdW5jdGlvbihrLCB2KSB7IHJldHVybiB2PT00MiA/WzQsMl06diB9KSA9PT0gJ1s0LDJdJzsNCiAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"A JSON.stringify replacer function applied to a top level scalar can return an Array.","path":"TestCases/ch15/15.12/15.12.3/15.12.3-11-12.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4xMi8xNS4xMi4zLzE1LjEyLjMtMTEtMTMuanMNCiAqIEBkZXNjcmlwdGlvbiBBIEpTT04uc3RyaW5naWZ5IHJlcGxhY2VyIGZ1bmN0aW9uIGFwcGxpZWQgdG8gYSB0b3AgbGV2ZWwgc2NhbGFyIGNhbiByZXR1cm4gYW4gT2JqZWN0Lg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHJldHVybiBKU09OLnN0cmluZ2lmeSg0MiwgZnVuY3Rpb24oaywgdikgeyByZXR1cm4gdj09NDIgPyB7Zm9ydHk6Mn06IHZ9KSA9PT0gJ3siZm9ydHkiOjJ9JzsNCiAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"A JSON.stringify replacer function applied to a top level scalar can return an Object.","path":"TestCases/ch15/15.12/15.12.3/15.12.3-11-13.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4xMi8xNS4xMi4zLzE1LjEyLjMtMTEtMTQuanMNCiAqIEBkZXNjcmlwdGlvbiBBcHBseWluZyBKU09OLnN0cmluZ2lmeSB0byBhICBmdW5jdGlvbiByZXR1cm5zIHVuZGVmaW5lZC4NCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICByZXR1cm4gSlNPTi5zdHJpbmdpZnkoZnVuY3Rpb24oKSB7fSkgPT09IHVuZGVmaW5lZDsNCiAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Applying JSON.stringify to a function returns undefined.","path":"TestCases/ch15/15.12/15.12.3/15.12.3-11-14.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4xMi8xNS4xMi4zLzE1LjEyLjMtMTEtMTUuanMNCiAqIEBkZXNjcmlwdGlvbiBBcHBseWluZyBKU09OLnN0cmluZ2lmeSB3aXRoIGEgcmVwbGFjZXIgZnVuY3Rpb24gdG8gYSBmdW5jdGlvbiByZXR1cm5zIHRoZSByZXBsYWNlciB2YWx1ZS4NCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICByZXR1cm4gSlNPTi5zdHJpbmdpZnkoZnVuY3Rpb24oKSB7fSwgZnVuY3Rpb24oayx2KSB7cmV0dXJuIDk5fSkgPT09ICc5OSc7DQogIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Applying JSON.stringify with a replacer function to a function returns the replacer value.","path":"TestCases/ch15/15.12/15.12.3/15.12.3-11-15.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4xMi8xNS4xMi4zLzE1LjEyLjMtMTEtMTYuanMNCiAqIEBkZXNjcmlwdGlvbiBKU09OLnN0cmluZ2lmeSAtIHN0cmluZ2lmeWluZyBhbiBvYmplY3Qgd2hlcmUgcHJvcGVydHkgbmFtZSBpcyB0aGUgdW5pb24gb2YgYWxsIG51bGwgY2hhcmFjdGVyIChUaGUgYWJzdHJhY3Qgb3BlcmF0aW9uIFF1b3RlKHZhbHVlKSBzdGVwIDIuYykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciByZXN1bHQgPSB0cnVlOw0KDQogICAgICAgIHZhciBleHBlY3RlZE51bGxDaGFycyA9IG5ldyBBcnJheSgpOw0KICAgICAgICBleHBlY3RlZE51bGxDaGFyc1swXSA9ICJcXHUwMDAwIjsNCiAgICAgICAgZXhwZWN0ZWROdWxsQ2hhcnNbMV0gPSAiXFx1MDAwMSI7DQogICAgICAgIGV4cGVjdGVkTnVsbENoYXJzWzJdID0gIlxcdTAwMDIiOw0KICAgICAgICBleHBlY3RlZE51bGxDaGFyc1szXSA9ICJcXHUwMDAzIjsNCiAgICAgICAgZXhwZWN0ZWROdWxsQ2hhcnNbNF0gPSAiXFx1MDAwNCI7DQogICAgICAgIGV4cGVjdGVkTnVsbENoYXJzWzVdID0gIlxcdTAwMDUiOw0KICAgICAgICBleHBlY3RlZE51bGxDaGFyc1s2XSA9ICJcXHUwMDA2IjsNCiAgICAgICAgZXhwZWN0ZWROdWxsQ2hhcnNbN10gPSAiXFx1MDAwNyI7DQogICAgICAgIGV4cGVjdGVkTnVsbENoYXJzWzhdID0gIlxcYiI7DQogICAgICAgIGV4cGVjdGVkTnVsbENoYXJzWzldID0gIlxcdCI7DQogICAgICAgIGV4cGVjdGVkTnVsbENoYXJzWzEwXSA9ICJcXG4iOw0KICAgICAgICBleHBlY3RlZE51bGxDaGFyc1sxMV0gPSAiXFx1MDAwYiI7DQogICAgICAgIGV4cGVjdGVkTnVsbENoYXJzWzEyXSA9ICJcXGYiOw0KICAgICAgICBleHBlY3RlZE51bGxDaGFyc1sxM10gPSAiXFxyIjsNCiAgICAgICAgZXhwZWN0ZWROdWxsQ2hhcnNbMTRdID0gIlxcdTAwMGUiOw0KICAgICAgICBleHBlY3RlZE51bGxDaGFyc1sxNV0gPSAiXFx1MDAwZiI7DQogICAgICAgIGV4cGVjdGVkTnVsbENoYXJzWzE2XSA9ICJcXHUwMDEwIjsNCiAgICAgICAgZXhwZWN0ZWROdWxsQ2hhcnNbMTddID0gIlxcdTAwMTEiOw0KICAgICAgICBleHBlY3RlZE51bGxDaGFyc1sxOF0gPSAiXFx1MDAxMiI7DQogICAgICAgIGV4cGVjdGVkTnVsbENoYXJzWzE5XSA9ICJcXHUwMDEzIjsNCiAgICAgICAgZXhwZWN0ZWROdWxsQ2hhcnNbMjBdID0gIlxcdTAwMTQiOw0KICAgICAgICBleHBlY3RlZE51bGxDaGFyc1syMV0gPSAiXFx1MDAxNSI7DQogICAgICAgIGV4cGVjdGVkTnVsbENoYXJzWzIyXSA9ICJcXHUwMDE2IjsNCiAgICAgICAgZXhwZWN0ZWROdWxsQ2hhcnNbMjNdID0gIlxcdTAwMTciOw0KICAgICAgICBleHBlY3RlZE51bGxDaGFyc1syNF0gPSAiXFx1MDAxOCI7DQogICAgICAgIGV4cGVjdGVkTnVsbENoYXJzWzI1XSA9ICJcXHUwMDE5IjsNCiAgICAgICAgZXhwZWN0ZWROdWxsQ2hhcnNbMjZdID0gIlxcdTAwMWEiOw0KICAgICAgICBleHBlY3RlZE51bGxDaGFyc1syN10gPSAiXFx1MDAxYiI7DQogICAgICAgIGV4cGVjdGVkTnVsbENoYXJzWzI4XSA9ICJcXHUwMDFjIjsNCiAgICAgICAgZXhwZWN0ZWROdWxsQ2hhcnNbMjldID0gIlxcdTAwMWQiOw0KICAgICAgICBleHBlY3RlZE51bGxDaGFyc1szMF0gPSAiXFx1MDAxZSI7DQogICAgICAgIGV4cGVjdGVkTnVsbENoYXJzWzMxXSA9ICJcXHUwMDFmIjsNCg0KICAgICAgICBmb3IgKHZhciBpbmRleCBpbiBleHBlY3RlZE51bGxDaGFycykgew0KDQogICAgICAgICAgICB2YXIgc3RyID0gSlNPTi5zdHJpbmdpZnkoeyAiXHUwMDAwXHUwMDAxXHUwMDAyXHUwMDAzXHUwMDA0XHUwMDA1XHUwMDA2XHUwMDA3XHUwMDA4XHUwMDA5XHUwMDBBXHUwMDBCXHUwMDBDXHUwMDBEXHUwMDBFXHUwMDBGXHUwMDEwXHUwMDExXHUwMDEyXHUwMDEzXHUwMDE0XHUwMDE1XHUwMDE2XHUwMDE3XHUwMDE4XHUwMDE5XHUwMDFBXHUwMDFCXHUwMDFDXHUwMDFEXHUwMDFFXHUwMDFGIjogIkpvaG4iIH0pOw0KICAgICAgICAgICAgcmVzdWx0ID0gKHJlc3VsdCAmJiBzdHIuaW5kZXhPZihleHBlY3RlZE51bGxDaGFyc1tpbmRleF0pICE9PSAtMSk7IA0KICAgICAgICB9DQogICAgICAgIHJldHVybiByZXN1bHQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"JSON.stringify - stringifying an object where property name is the union of all null character (The abstract operation Quote(value) step 2.c)","path":"TestCases/ch15/15.12/15.12.3/15.12.3-11-16.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4xMi8xNS4xMi4zLzE1LjEyLjMtMTEtMTcuanMNCiAqIEBkZXNjcmlwdGlvbiBKU09OLnN0cmluZ2lmeSAtIHN0cmluZ2lmeWluZyBhbiBvYmplY3Qgd2hlcmUgcHJvcGVydHkgbmFtZSBzdGFydHMgd2l0aCB0aGUgdW5pb24gb2YgYWxsIG51bGwgY2hhcmFjdGVyIChUaGUgYWJzdHJhY3Qgb3BlcmF0aW9uIFF1b3RlKHZhbHVlKSBzdGVwIDIuYykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciByZXN1bHQgPSB0cnVlOw0KDQogICAgICAgIHZhciBleHBlY3RlZE51bGxDaGFycyA9IG5ldyBBcnJheSgpOw0KICAgICAgICBleHBlY3RlZE51bGxDaGFyc1swXSA9ICJcXHUwMDAwIjsNCiAgICAgICAgZXhwZWN0ZWROdWxsQ2hhcnNbMV0gPSAiXFx1MDAwMSI7DQogICAgICAgIGV4cGVjdGVkTnVsbENoYXJzWzJdID0gIlxcdTAwMDIiOw0KICAgICAgICBleHBlY3RlZE51bGxDaGFyc1szXSA9ICJcXHUwMDAzIjsNCiAgICAgICAgZXhwZWN0ZWROdWxsQ2hhcnNbNF0gPSAiXFx1MDAwNCI7DQogICAgICAgIGV4cGVjdGVkTnVsbENoYXJzWzVdID0gIlxcdTAwMDUiOw0KICAgICAgICBleHBlY3RlZE51bGxDaGFyc1s2XSA9ICJcXHUwMDA2IjsNCiAgICAgICAgZXhwZWN0ZWROdWxsQ2hhcnNbN10gPSAiXFx1MDAwNyI7DQogICAgICAgIGV4cGVjdGVkTnVsbENoYXJzWzhdID0gIlxcYiI7DQogICAgICAgIGV4cGVjdGVkTnVsbENoYXJzWzldID0gIlxcdCI7DQogICAgICAgIGV4cGVjdGVkTnVsbENoYXJzWzEwXSA9ICJcXG4iOw0KICAgICAgICBleHBlY3RlZE51bGxDaGFyc1sxMV0gPSAiXFx1MDAwYiI7DQogICAgICAgIGV4cGVjdGVkTnVsbENoYXJzWzEyXSA9ICJcXGYiOw0KICAgICAgICBleHBlY3RlZE51bGxDaGFyc1sxM10gPSAiXFxyIjsNCiAgICAgICAgZXhwZWN0ZWROdWxsQ2hhcnNbMTRdID0gIlxcdTAwMGUiOw0KICAgICAgICBleHBlY3RlZE51bGxDaGFyc1sxNV0gPSAiXFx1MDAwZiI7DQogICAgICAgIGV4cGVjdGVkTnVsbENoYXJzWzE2XSA9ICJcXHUwMDEwIjsNCiAgICAgICAgZXhwZWN0ZWROdWxsQ2hhcnNbMTddID0gIlxcdTAwMTEiOw0KICAgICAgICBleHBlY3RlZE51bGxDaGFyc1sxOF0gPSAiXFx1MDAxMiI7DQogICAgICAgIGV4cGVjdGVkTnVsbENoYXJzWzE5XSA9ICJcXHUwMDEzIjsNCiAgICAgICAgZXhwZWN0ZWROdWxsQ2hhcnNbMjBdID0gIlxcdTAwMTQiOw0KICAgICAgICBleHBlY3RlZE51bGxDaGFyc1syMV0gPSAiXFx1MDAxNSI7DQogICAgICAgIGV4cGVjdGVkTnVsbENoYXJzWzIyXSA9ICJcXHUwMDE2IjsNCiAgICAgICAgZXhwZWN0ZWROdWxsQ2hhcnNbMjNdID0gIlxcdTAwMTciOw0KICAgICAgICBleHBlY3RlZE51bGxDaGFyc1syNF0gPSAiXFx1MDAxOCI7DQogICAgICAgIGV4cGVjdGVkTnVsbENoYXJzWzI1XSA9ICJcXHUwMDE5IjsNCiAgICAgICAgZXhwZWN0ZWROdWxsQ2hhcnNbMjZdID0gIlxcdTAwMWEiOw0KICAgICAgICBleHBlY3RlZE51bGxDaGFyc1syN10gPSAiXFx1MDAxYiI7DQogICAgICAgIGV4cGVjdGVkTnVsbENoYXJzWzI4XSA9ICJcXHUwMDFjIjsNCiAgICAgICAgZXhwZWN0ZWROdWxsQ2hhcnNbMjldID0gIlxcdTAwMWQiOw0KICAgICAgICBleHBlY3RlZE51bGxDaGFyc1szMF0gPSAiXFx1MDAxZSI7DQogICAgICAgIGV4cGVjdGVkTnVsbENoYXJzWzMxXSA9ICJcXHUwMDFmIjsNCg0KICAgICAgICBmb3IgKHZhciBpbmRleCBpbiBleHBlY3RlZE51bGxDaGFycykgew0KDQogICAgICAgICAgICB2YXIgc3RyID0gSlNPTi5zdHJpbmdpZnkoeyAiXHUwMDAwXHUwMDAxXHUwMDAyXHUwMDAzXHUwMDA0XHUwMDA1XHUwMDA2XHUwMDA3XHUwMDA4XHUwMDA5XHUwMDBBXHUwMDBCXHUwMDBDXHUwMDBEXHUwMDBFXHUwMDBGXHUwMDEwXHUwMDExXHUwMDEyXHUwMDEzXHUwMDE0XHUwMDE1XHUwMDE2XHUwMDE3XHUwMDE4XHUwMDE5XHUwMDFBXHUwMDFCXHUwMDFDXHUwMDFEXHUwMDFFXHUwMDFGbmFtZSI6ICJKb2huIiB9KTsNCiAgICAgICAgICAgIHJlc3VsdCA9IChyZXN1bHQgJiYgc3RyLmluZGV4T2YoZXhwZWN0ZWROdWxsQ2hhcnNbaW5kZXhdKSAhPT0gLTEpOw0KICAgICAgICB9DQogICAgICAgIHJldHVybiByZXN1bHQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"JSON.stringify - stringifying an object where property name starts with the union of all null character (The abstract operation Quote(value) step 2.c)","path":"TestCases/ch15/15.12/15.12.3/15.12.3-11-17.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4xMi8xNS4xMi4zLzE1LjEyLjMtMTEtMTguanMNCiAqIEBkZXNjcmlwdGlvbiBKU09OLnN0cmluZ2lmeSAtIHN0cmluZ2lmeWluZyBhbiBvYmplY3Qgd2hlcmUgcHJvcGVydHkgbmFtZSBlbmRzIHdpdGggdGhlIHVuaW9uIG9mIGFsbCBudWxsIGNoYXJhY3RlciAoVGhlIGFic3RyYWN0IG9wZXJhdGlvbiBRdW90ZSh2YWx1ZSkgc3RlcCAyLmMpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgcmVzdWx0ID0gdHJ1ZTsNCg0KICAgICAgICB2YXIgZXhwZWN0ZWROdWxsQ2hhcnMgPSBuZXcgQXJyYXkoKTsNCiAgICAgICAgZXhwZWN0ZWROdWxsQ2hhcnNbMF0gPSAiXFx1MDAwMCI7DQogICAgICAgIGV4cGVjdGVkTnVsbENoYXJzWzFdID0gIlxcdTAwMDEiOw0KICAgICAgICBleHBlY3RlZE51bGxDaGFyc1syXSA9ICJcXHUwMDAyIjsNCiAgICAgICAgZXhwZWN0ZWROdWxsQ2hhcnNbM10gPSAiXFx1MDAwMyI7DQogICAgICAgIGV4cGVjdGVkTnVsbENoYXJzWzRdID0gIlxcdTAwMDQiOw0KICAgICAgICBleHBlY3RlZE51bGxDaGFyc1s1XSA9ICJcXHUwMDA1IjsNCiAgICAgICAgZXhwZWN0ZWROdWxsQ2hhcnNbNl0gPSAiXFx1MDAwNiI7DQogICAgICAgIGV4cGVjdGVkTnVsbENoYXJzWzddID0gIlxcdTAwMDciOw0KICAgICAgICBleHBlY3RlZE51bGxDaGFyc1s4XSA9ICJcXGIiOw0KICAgICAgICBleHBlY3RlZE51bGxDaGFyc1s5XSA9ICJcXHQiOw0KICAgICAgICBleHBlY3RlZE51bGxDaGFyc1sxMF0gPSAiXFxuIjsNCiAgICAgICAgZXhwZWN0ZWROdWxsQ2hhcnNbMTFdID0gIlxcdTAwMGIiOw0KICAgICAgICBleHBlY3RlZE51bGxDaGFyc1sxMl0gPSAiXFxmIjsNCiAgICAgICAgZXhwZWN0ZWROdWxsQ2hhcnNbMTNdID0gIlxcciI7DQogICAgICAgIGV4cGVjdGVkTnVsbENoYXJzWzE0XSA9ICJcXHUwMDBlIjsNCiAgICAgICAgZXhwZWN0ZWROdWxsQ2hhcnNbMTVdID0gIlxcdTAwMGYiOw0KICAgICAgICBleHBlY3RlZE51bGxDaGFyc1sxNl0gPSAiXFx1MDAxMCI7DQogICAgICAgIGV4cGVjdGVkTnVsbENoYXJzWzE3XSA9ICJcXHUwMDExIjsNCiAgICAgICAgZXhwZWN0ZWROdWxsQ2hhcnNbMThdID0gIlxcdTAwMTIiOw0KICAgICAgICBleHBlY3RlZE51bGxDaGFyc1sxOV0gPSAiXFx1MDAxMyI7DQogICAgICAgIGV4cGVjdGVkTnVsbENoYXJzWzIwXSA9ICJcXHUwMDE0IjsNCiAgICAgICAgZXhwZWN0ZWROdWxsQ2hhcnNbMjFdID0gIlxcdTAwMTUiOw0KICAgICAgICBleHBlY3RlZE51bGxDaGFyc1syMl0gPSAiXFx1MDAxNiI7DQogICAgICAgIGV4cGVjdGVkTnVsbENoYXJzWzIzXSA9ICJcXHUwMDE3IjsNCiAgICAgICAgZXhwZWN0ZWROdWxsQ2hhcnNbMjRdID0gIlxcdTAwMTgiOw0KICAgICAgICBleHBlY3RlZE51bGxDaGFyc1syNV0gPSAiXFx1MDAxOSI7DQogICAgICAgIGV4cGVjdGVkTnVsbENoYXJzWzI2XSA9ICJcXHUwMDFhIjsNCiAgICAgICAgZXhwZWN0ZWROdWxsQ2hhcnNbMjddID0gIlxcdTAwMWIiOw0KICAgICAgICBleHBlY3RlZE51bGxDaGFyc1syOF0gPSAiXFx1MDAxYyI7DQogICAgICAgIGV4cGVjdGVkTnVsbENoYXJzWzI5XSA9ICJcXHUwMDFkIjsNCiAgICAgICAgZXhwZWN0ZWROdWxsQ2hhcnNbMzBdID0gIlxcdTAwMWUiOw0KICAgICAgICBleHBlY3RlZE51bGxDaGFyc1szMV0gPSAiXFx1MDAxZiI7DQoNCiAgICAgICAgZm9yICh2YXIgaW5kZXggaW4gZXhwZWN0ZWROdWxsQ2hhcnMpIHsNCg0KICAgICAgICAgICAgdmFyIHN0ciA9IEpTT04uc3RyaW5naWZ5KHsgIm5hbWVcdTAwMDBcdTAwMDFcdTAwMDJcdTAwMDNcdTAwMDRcdTAwMDVcdTAwMDZcdTAwMDdcdTAwMDhcdTAwMDlcdTAwMEFcdTAwMEJcdTAwMENcdTAwMERcdTAwMEVcdTAwMEZcdTAwMTBcdTAwMTFcdTAwMTJcdTAwMTNcdTAwMTRcdTAwMTVcdTAwMTZcdTAwMTdcdTAwMThcdTAwMTlcdTAwMUFcdTAwMUJcdTAwMUNcdTAwMURcdTAwMUVcdTAwMUYiOiAiSm9obiIgfSk7DQogICAgICAgICAgICByZXN1bHQgPSAocmVzdWx0ICYmIHN0ci5pbmRleE9mKGV4cGVjdGVkTnVsbENoYXJzW2luZGV4XSkgIT09IC0xKTsNCiAgICAgICAgfQ0KICAgICAgICByZXR1cm4gcmVzdWx0Ow0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"JSON.stringify - stringifying an object where property name ends with the union of all null character (The abstract operation Quote(value) step 2.c)","path":"TestCases/ch15/15.12/15.12.3/15.12.3-11-18.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4xMi8xNS4xMi4zLzE1LjEyLjMtMTEtMTkuanMNCiAqIEBkZXNjcmlwdGlvbiBKU09OLnN0cmluZ2lmeSAtIHN0cmluZ2lmeWluZyBhbiBvYmplY3Qgd2hlcmUgcHJvcGVydHkgbmFtZSBzdGFydHMgYW5kIGVuZHMgd2l0aCB0aGUgdW5pb24gb2YgYWxsIG51bGwgY2hhcmFjdGVyIChUaGUgYWJzdHJhY3Qgb3BlcmF0aW9uIFF1b3RlKHZhbHVlKSBzdGVwIDIuYykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciByZXN1bHQgPSB0cnVlOw0KDQogICAgICAgIHZhciBleHBlY3RlZE51bGxDaGFycyA9IG5ldyBBcnJheSgpOw0KICAgICAgICBleHBlY3RlZE51bGxDaGFyc1swXSA9ICJcXHUwMDAwIjsNCiAgICAgICAgZXhwZWN0ZWROdWxsQ2hhcnNbMV0gPSAiXFx1MDAwMSI7DQogICAgICAgIGV4cGVjdGVkTnVsbENoYXJzWzJdID0gIlxcdTAwMDIiOw0KICAgICAgICBleHBlY3RlZE51bGxDaGFyc1szXSA9ICJcXHUwMDAzIjsNCiAgICAgICAgZXhwZWN0ZWROdWxsQ2hhcnNbNF0gPSAiXFx1MDAwNCI7DQogICAgICAgIGV4cGVjdGVkTnVsbENoYXJzWzVdID0gIlxcdTAwMDUiOw0KICAgICAgICBleHBlY3RlZE51bGxDaGFyc1s2XSA9ICJcXHUwMDA2IjsNCiAgICAgICAgZXhwZWN0ZWROdWxsQ2hhcnNbN10gPSAiXFx1MDAwNyI7DQogICAgICAgIGV4cGVjdGVkTnVsbENoYXJzWzhdID0gIlxcYiI7DQogICAgICAgIGV4cGVjdGVkTnVsbENoYXJzWzldID0gIlxcdCI7DQogICAgICAgIGV4cGVjdGVkTnVsbENoYXJzWzEwXSA9ICJcXG4iOw0KICAgICAgICBleHBlY3RlZE51bGxDaGFyc1sxMV0gPSAiXFx1MDAwYiI7DQogICAgICAgIGV4cGVjdGVkTnVsbENoYXJzWzEyXSA9ICJcXGYiOw0KICAgICAgICBleHBlY3RlZE51bGxDaGFyc1sxM10gPSAiXFxyIjsNCiAgICAgICAgZXhwZWN0ZWROdWxsQ2hhcnNbMTRdID0gIlxcdTAwMGUiOw0KICAgICAgICBleHBlY3RlZE51bGxDaGFyc1sxNV0gPSAiXFx1MDAwZiI7DQogICAgICAgIGV4cGVjdGVkTnVsbENoYXJzWzE2XSA9ICJcXHUwMDEwIjsNCiAgICAgICAgZXhwZWN0ZWROdWxsQ2hhcnNbMTddID0gIlxcdTAwMTEiOw0KICAgICAgICBleHBlY3RlZE51bGxDaGFyc1sxOF0gPSAiXFx1MDAxMiI7DQogICAgICAgIGV4cGVjdGVkTnVsbENoYXJzWzE5XSA9ICJcXHUwMDEzIjsNCiAgICAgICAgZXhwZWN0ZWROdWxsQ2hhcnNbMjBdID0gIlxcdTAwMTQiOw0KICAgICAgICBleHBlY3RlZE51bGxDaGFyc1syMV0gPSAiXFx1MDAxNSI7DQogICAgICAgIGV4cGVjdGVkTnVsbENoYXJzWzIyXSA9ICJcXHUwMDE2IjsNCiAgICAgICAgZXhwZWN0ZWROdWxsQ2hhcnNbMjNdID0gIlxcdTAwMTciOw0KICAgICAgICBleHBlY3RlZE51bGxDaGFyc1syNF0gPSAiXFx1MDAxOCI7DQogICAgICAgIGV4cGVjdGVkTnVsbENoYXJzWzI1XSA9ICJcXHUwMDE5IjsNCiAgICAgICAgZXhwZWN0ZWROdWxsQ2hhcnNbMjZdID0gIlxcdTAwMWEiOw0KICAgICAgICBleHBlY3RlZE51bGxDaGFyc1syN10gPSAiXFx1MDAxYiI7DQogICAgICAgIGV4cGVjdGVkTnVsbENoYXJzWzI4XSA9ICJcXHUwMDFjIjsNCiAgICAgICAgZXhwZWN0ZWROdWxsQ2hhcnNbMjldID0gIlxcdTAwMWQiOw0KICAgICAgICBleHBlY3RlZE51bGxDaGFyc1szMF0gPSAiXFx1MDAxZSI7DQogICAgICAgIGV4cGVjdGVkTnVsbENoYXJzWzMxXSA9ICJcXHUwMDFmIjsNCg0KICAgICAgICBmb3IgKHZhciBpbmRleCBpbiBleHBlY3RlZE51bGxDaGFycykgew0KDQogICAgICAgICAgICB2YXIgc3RyID0gSlNPTi5zdHJpbmdpZnkoeyAiXHUwMDAwXHUwMDAxXHUwMDAyXHUwMDAzXHUwMDA0XHUwMDA1XHUwMDA2XHUwMDA3XHUwMDA4XHUwMDA5XHUwMDBBXHUwMDBCXHUwMDBDXHUwMDBEXHUwMDBFXHUwMDBGXHUwMDEwXHUwMDExXHUwMDEyXHUwMDEzXHUwMDE0XHUwMDE1XHUwMDE2XHUwMDE3XHUwMDE4XHUwMDE5XHUwMDFBXHUwMDFCXHUwMDFDXHUwMDFEXHUwMDFFXHUwMDFGbmFtZVx1MDAwMFx1MDAwMVx1MDAwMlx1MDAwM1x1MDAwNFx1MDAwNVx1MDAwNlx1MDAwN1x1MDAwOFx1MDAwOVx1MDAwQVx1MDAwQlx1MDAwQ1x1MDAwRFx1MDAwRVx1MDAwRlx1MDAxMFx1MDAxMVx1MDAxMlx1MDAxM1x1MDAxNFx1MDAxNVx1MDAxNlx1MDAxN1x1MDAxOFx1MDAxOVx1MDAxQVx1MDAxQlx1MDAxQ1x1MDAxRFx1MDAxRVx1MDAxRiI6ICJKb2huIiB9KTsNCiAgICAgICAgICAgIHJlc3VsdCA9IChyZXN1bHQgJiYgc3RyLmluZGV4T2YoZXhwZWN0ZWROdWxsQ2hhcnNbaW5kZXhdKSAhPT0gLTEgJiYgc3RyLmluZGV4T2YoZXhwZWN0ZWROdWxsQ2hhcnNbaW5kZXhdKSAhPT0gLTEpOw0KICAgICAgICB9DQogICAgICAgIHJldHVybiByZXN1bHQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"JSON.stringify - stringifying an object where property name starts and ends with the union of all null character (The abstract operation Quote(value) step 2.c)","path":"TestCases/ch15/15.12/15.12.3/15.12.3-11-19.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4xMi8xNS4xMi4zLzE1LjEyLjMtMTEtMi5qcw0KICogQGRlc2NyaXB0aW9uIEEgSlNPTi5zdHJpbmdpZnkgcmVwbGFjZXIgZnVuY3Rpb24gd29ya3MgaXMgYXBwbGllZCB0byBhIHRvcCBsZXZlbCB1bmRlZmluZWQgdmFsdWUuDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgcmV0dXJuIEpTT04uc3RyaW5naWZ5KHVuZGVmaW5lZCwgZnVuY3Rpb24oaywgdikgeyByZXR1cm4gInJlcGxhY2VtZW50IiB9KSA9PT0gJyJyZXBsYWNlbWVudCInOw0KICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"A JSON.stringify replacer function works is applied to a top level undefined value.","path":"TestCases/ch15/15.12/15.12.3/15.12.3-11-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4xMi8xNS4xMi4zLzE1LjEyLjMtMTEtMjAuanMNCiAqIEBkZXNjcmlwdGlvbiBKU09OLnN0cmluZ2lmeSAtIHN0cmluZ2lmeWluZyBhbiBvYmplY3Qgd2hlcmUgcHJvcGVydHkgbmFtZSBtaWRkbGVzIHdpdGggdGhlIHVuaW9uIG9mIGFsbCBudWxsIGNoYXJhY3RlciAoVGhlIGFic3RyYWN0IG9wZXJhdGlvbiBRdW90ZSh2YWx1ZSkgc3RlcCAyLmMpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgcmVzdWx0ID0gdHJ1ZTsNCg0KICAgICAgICB2YXIgZXhwZWN0ZWROdWxsQ2hhcnMgPSBuZXcgQXJyYXkoKTsNCiAgICAgICAgZXhwZWN0ZWROdWxsQ2hhcnNbMF0gPSAiXFx1MDAwMCI7DQogICAgICAgIGV4cGVjdGVkTnVsbENoYXJzWzFdID0gIlxcdTAwMDEiOw0KICAgICAgICBleHBlY3RlZE51bGxDaGFyc1syXSA9ICJcXHUwMDAyIjsNCiAgICAgICAgZXhwZWN0ZWROdWxsQ2hhcnNbM10gPSAiXFx1MDAwMyI7DQogICAgICAgIGV4cGVjdGVkTnVsbENoYXJzWzRdID0gIlxcdTAwMDQiOw0KICAgICAgICBleHBlY3RlZE51bGxDaGFyc1s1XSA9ICJcXHUwMDA1IjsNCiAgICAgICAgZXhwZWN0ZWROdWxsQ2hhcnNbNl0gPSAiXFx1MDAwNiI7DQogICAgICAgIGV4cGVjdGVkTnVsbENoYXJzWzddID0gIlxcdTAwMDciOw0KICAgICAgICBleHBlY3RlZE51bGxDaGFyc1s4XSA9ICJcXGIiOw0KICAgICAgICBleHBlY3RlZE51bGxDaGFyc1s5XSA9ICJcXHQiOw0KICAgICAgICBleHBlY3RlZE51bGxDaGFyc1sxMF0gPSAiXFxuIjsNCiAgICAgICAgZXhwZWN0ZWROdWxsQ2hhcnNbMTFdID0gIlxcdTAwMGIiOw0KICAgICAgICBleHBlY3RlZE51bGxDaGFyc1sxMl0gPSAiXFxmIjsNCiAgICAgICAgZXhwZWN0ZWROdWxsQ2hhcnNbMTNdID0gIlxcciI7DQogICAgICAgIGV4cGVjdGVkTnVsbENoYXJzWzE0XSA9ICJcXHUwMDBlIjsNCiAgICAgICAgZXhwZWN0ZWROdWxsQ2hhcnNbMTVdID0gIlxcdTAwMGYiOw0KICAgICAgICBleHBlY3RlZE51bGxDaGFyc1sxNl0gPSAiXFx1MDAxMCI7DQogICAgICAgIGV4cGVjdGVkTnVsbENoYXJzWzE3XSA9ICJcXHUwMDExIjsNCiAgICAgICAgZXhwZWN0ZWROdWxsQ2hhcnNbMThdID0gIlxcdTAwMTIiOw0KICAgICAgICBleHBlY3RlZE51bGxDaGFyc1sxOV0gPSAiXFx1MDAxMyI7DQogICAgICAgIGV4cGVjdGVkTnVsbENoYXJzWzIwXSA9ICJcXHUwMDE0IjsNCiAgICAgICAgZXhwZWN0ZWROdWxsQ2hhcnNbMjFdID0gIlxcdTAwMTUiOw0KICAgICAgICBleHBlY3RlZE51bGxDaGFyc1syMl0gPSAiXFx1MDAxNiI7DQogICAgICAgIGV4cGVjdGVkTnVsbENoYXJzWzIzXSA9ICJcXHUwMDE3IjsNCiAgICAgICAgZXhwZWN0ZWROdWxsQ2hhcnNbMjRdID0gIlxcdTAwMTgiOw0KICAgICAgICBleHBlY3RlZE51bGxDaGFyc1syNV0gPSAiXFx1MDAxOSI7DQogICAgICAgIGV4cGVjdGVkTnVsbENoYXJzWzI2XSA9ICJcXHUwMDFhIjsNCiAgICAgICAgZXhwZWN0ZWROdWxsQ2hhcnNbMjddID0gIlxcdTAwMWIiOw0KICAgICAgICBleHBlY3RlZE51bGxDaGFyc1syOF0gPSAiXFx1MDAxYyI7DQogICAgICAgIGV4cGVjdGVkTnVsbENoYXJzWzI5XSA9ICJcXHUwMDFkIjsNCiAgICAgICAgZXhwZWN0ZWROdWxsQ2hhcnNbMzBdID0gIlxcdTAwMWUiOw0KICAgICAgICBleHBlY3RlZE51bGxDaGFyc1szMV0gPSAiXFx1MDAxZiI7DQoNCiAgICAgICAgZm9yICh2YXIgaW5kZXggaW4gZXhwZWN0ZWROdWxsQ2hhcnMpIHsNCg0KICAgICAgICAgICAgdmFyIHN0ciA9IEpTT04uc3RyaW5naWZ5KHsgIm5hXHUwMDAwXHUwMDAxXHUwMDAyXHUwMDAzXHUwMDA0XHUwMDA1XHUwMDA2XHUwMDA3XHUwMDA4XHUwMDA5XHUwMDBBXHUwMDBCXHUwMDBDXHUwMDBEXHUwMDBFXHUwMDBGXHUwMDEwXHUwMDExXHUwMDEyXHUwMDEzXHUwMDE0XHUwMDE1XHUwMDE2XHUwMDE3XHUwMDE4XHUwMDE5XHUwMDFBXHUwMDFCXHUwMDFDXHUwMDFEXHUwMDFFXHUwMDFGbWUiOiAiSm9obiIgfSk7DQogICAgICAgICAgICByZXN1bHQgPSAocmVzdWx0ICYmIHN0ci5pbmRleE9mKGV4cGVjdGVkTnVsbENoYXJzW2luZGV4XSkgIT09IC0xKTsNCiAgICAgICAgfQ0KICAgICAgICByZXR1cm4gcmVzdWx0Ow0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"JSON.stringify - stringifying an object where property name middles with the union of all null character (The abstract operation Quote(value) step 2.c)","path":"TestCases/ch15/15.12/15.12.3/15.12.3-11-20.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4xMi8xNS4xMi4zLzE1LjEyLjMtMTEtMjEuanMNCiAqIEBkZXNjcmlwdGlvbiBKU09OLnN0cmluZ2lmeSAtIHN0cmluZ2lmeWluZyBhbiBvYmplY3Qgd2hlcmUgcHJvcGVydHkgdmFsdWUgaXMgdGhlIHVuaW9uIG9mIGFsbCBudWxsIGNoYXJhY3RlciAoVGhlIGFic3RyYWN0IG9wZXJhdGlvbiBRdW90ZSh2YWx1ZSkgc3RlcCAyLmMpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgcmVzdWx0ID0gdHJ1ZTsNCg0KICAgICAgICB2YXIgZXhwZWN0ZWROdWxsQ2hhcnMgPSBuZXcgQXJyYXkoKTsNCiAgICAgICAgZXhwZWN0ZWROdWxsQ2hhcnNbMF0gPSAiXFx1MDAwMCI7DQogICAgICAgIGV4cGVjdGVkTnVsbENoYXJzWzFdID0gIlxcdTAwMDEiOw0KICAgICAgICBleHBlY3RlZE51bGxDaGFyc1syXSA9ICJcXHUwMDAyIjsNCiAgICAgICAgZXhwZWN0ZWROdWxsQ2hhcnNbM10gPSAiXFx1MDAwMyI7DQogICAgICAgIGV4cGVjdGVkTnVsbENoYXJzWzRdID0gIlxcdTAwMDQiOw0KICAgICAgICBleHBlY3RlZE51bGxDaGFyc1s1XSA9ICJcXHUwMDA1IjsNCiAgICAgICAgZXhwZWN0ZWROdWxsQ2hhcnNbNl0gPSAiXFx1MDAwNiI7DQogICAgICAgIGV4cGVjdGVkTnVsbENoYXJzWzddID0gIlxcdTAwMDciOw0KICAgICAgICBleHBlY3RlZE51bGxDaGFyc1s4XSA9ICJcXGIiOw0KICAgICAgICBleHBlY3RlZE51bGxDaGFyc1s5XSA9ICJcXHQiOw0KICAgICAgICBleHBlY3RlZE51bGxDaGFyc1sxMF0gPSAiXFxuIjsNCiAgICAgICAgZXhwZWN0ZWROdWxsQ2hhcnNbMTFdID0gIlxcdTAwMGIiOw0KICAgICAgICBleHBlY3RlZE51bGxDaGFyc1sxMl0gPSAiXFxmIjsNCiAgICAgICAgZXhwZWN0ZWROdWxsQ2hhcnNbMTNdID0gIlxcciI7DQogICAgICAgIGV4cGVjdGVkTnVsbENoYXJzWzE0XSA9ICJcXHUwMDBlIjsNCiAgICAgICAgZXhwZWN0ZWROdWxsQ2hhcnNbMTVdID0gIlxcdTAwMGYiOw0KICAgICAgICBleHBlY3RlZE51bGxDaGFyc1sxNl0gPSAiXFx1MDAxMCI7DQogICAgICAgIGV4cGVjdGVkTnVsbENoYXJzWzE3XSA9ICJcXHUwMDExIjsNCiAgICAgICAgZXhwZWN0ZWROdWxsQ2hhcnNbMThdID0gIlxcdTAwMTIiOw0KICAgICAgICBleHBlY3RlZE51bGxDaGFyc1sxOV0gPSAiXFx1MDAxMyI7DQogICAgICAgIGV4cGVjdGVkTnVsbENoYXJzWzIwXSA9ICJcXHUwMDE0IjsNCiAgICAgICAgZXhwZWN0ZWROdWxsQ2hhcnNbMjFdID0gIlxcdTAwMTUiOw0KICAgICAgICBleHBlY3RlZE51bGxDaGFyc1syMl0gPSAiXFx1MDAxNiI7DQogICAgICAgIGV4cGVjdGVkTnVsbENoYXJzWzIzXSA9ICJcXHUwMDE3IjsNCiAgICAgICAgZXhwZWN0ZWROdWxsQ2hhcnNbMjRdID0gIlxcdTAwMTgiOw0KICAgICAgICBleHBlY3RlZE51bGxDaGFyc1syNV0gPSAiXFx1MDAxOSI7DQogICAgICAgIGV4cGVjdGVkTnVsbENoYXJzWzI2XSA9ICJcXHUwMDFhIjsNCiAgICAgICAgZXhwZWN0ZWROdWxsQ2hhcnNbMjddID0gIlxcdTAwMWIiOw0KICAgICAgICBleHBlY3RlZE51bGxDaGFyc1syOF0gPSAiXFx1MDAxYyI7DQogICAgICAgIGV4cGVjdGVkTnVsbENoYXJzWzI5XSA9ICJcXHUwMDFkIjsNCiAgICAgICAgZXhwZWN0ZWROdWxsQ2hhcnNbMzBdID0gIlxcdTAwMWUiOw0KICAgICAgICBleHBlY3RlZE51bGxDaGFyc1szMV0gPSAiXFx1MDAxZiI7DQoNCiAgICAgICAgZm9yICh2YXIgaW5kZXggaW4gZXhwZWN0ZWROdWxsQ2hhcnMpIHsNCg0KICAgICAgICAgICAgdmFyIHN0ciA9IEpTT04uc3RyaW5naWZ5KHsgIm5hbWUiOiAiXHUwMDAwXHUwMDAxXHUwMDAyXHUwMDAzXHUwMDA0XHUwMDA1XHUwMDA2XHUwMDA3XHUwMDA4XHUwMDA5XHUwMDBBXHUwMDBCXHUwMDBDXHUwMDBEXHUwMDBFXHUwMDBGXHUwMDEwXHUwMDExXHUwMDEyXHUwMDEzXHUwMDE0XHUwMDE1XHUwMDE2XHUwMDE3XHUwMDE4XHUwMDE5XHUwMDFBXHUwMDFCXHUwMDFDXHUwMDFEXHUwMDFFXHUwMDFGIiB9KTsNCiAgICAgICAgICAgIHJlc3VsdCA9IChyZXN1bHQgJiYgc3RyLmluZGV4T2YoZXhwZWN0ZWROdWxsQ2hhcnNbaW5kZXhdKSAhPT0gLTEpOw0KICAgICAgICB9DQogICAgICAgIHJldHVybiByZXN1bHQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"JSON.stringify - stringifying an object where property value is the union of all null character (The abstract operation Quote(value) step 2.c)","path":"TestCases/ch15/15.12/15.12.3/15.12.3-11-21.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4xMi8xNS4xMi4zLzE1LjEyLjMtMTEtMjIuanMNCiAqIEBkZXNjcmlwdGlvbiBKU09OLnN0cmluZ2lmeSAtIHN0cmluZ2lmeWluZyBhbiBvYmplY3Qgd2hlcmUgcHJvcGVydHkgdmFsdWUgc3RhcnRzIHdpdGggdGhlIHVuaW9uIG9mIGFsbCBudWxsIGNoYXJhY3RlciAoVGhlIGFic3RyYWN0IG9wZXJhdGlvbiBRdW90ZSh2YWx1ZSkgc3RlcCAyLmMpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgcmVzdWx0ID0gdHJ1ZTsNCg0KICAgICAgICB2YXIgZXhwZWN0ZWROdWxsQ2hhcnMgPSBuZXcgQXJyYXkoKTsNCiAgICAgICAgZXhwZWN0ZWROdWxsQ2hhcnNbMF0gPSAiXFx1MDAwMCI7DQogICAgICAgIGV4cGVjdGVkTnVsbENoYXJzWzFdID0gIlxcdTAwMDEiOw0KICAgICAgICBleHBlY3RlZE51bGxDaGFyc1syXSA9ICJcXHUwMDAyIjsNCiAgICAgICAgZXhwZWN0ZWROdWxsQ2hhcnNbM10gPSAiXFx1MDAwMyI7DQogICAgICAgIGV4cGVjdGVkTnVsbENoYXJzWzRdID0gIlxcdTAwMDQiOw0KICAgICAgICBleHBlY3RlZE51bGxDaGFyc1s1XSA9ICJcXHUwMDA1IjsNCiAgICAgICAgZXhwZWN0ZWROdWxsQ2hhcnNbNl0gPSAiXFx1MDAwNiI7DQogICAgICAgIGV4cGVjdGVkTnVsbENoYXJzWzddID0gIlxcdTAwMDciOw0KICAgICAgICBleHBlY3RlZE51bGxDaGFyc1s4XSA9ICJcXGIiOw0KICAgICAgICBleHBlY3RlZE51bGxDaGFyc1s5XSA9ICJcXHQiOw0KICAgICAgICBleHBlY3RlZE51bGxDaGFyc1sxMF0gPSAiXFxuIjsNCiAgICAgICAgZXhwZWN0ZWROdWxsQ2hhcnNbMTFdID0gIlxcdTAwMGIiOw0KICAgICAgICBleHBlY3RlZE51bGxDaGFyc1sxMl0gPSAiXFxmIjsNCiAgICAgICAgZXhwZWN0ZWROdWxsQ2hhcnNbMTNdID0gIlxcciI7DQogICAgICAgIGV4cGVjdGVkTnVsbENoYXJzWzE0XSA9ICJcXHUwMDBlIjsNCiAgICAgICAgZXhwZWN0ZWROdWxsQ2hhcnNbMTVdID0gIlxcdTAwMGYiOw0KICAgICAgICBleHBlY3RlZE51bGxDaGFyc1sxNl0gPSAiXFx1MDAxMCI7DQogICAgICAgIGV4cGVjdGVkTnVsbENoYXJzWzE3XSA9ICJcXHUwMDExIjsNCiAgICAgICAgZXhwZWN0ZWROdWxsQ2hhcnNbMThdID0gIlxcdTAwMTIiOw0KICAgICAgICBleHBlY3RlZE51bGxDaGFyc1sxOV0gPSAiXFx1MDAxMyI7DQogICAgICAgIGV4cGVjdGVkTnVsbENoYXJzWzIwXSA9ICJcXHUwMDE0IjsNCiAgICAgICAgZXhwZWN0ZWROdWxsQ2hhcnNbMjFdID0gIlxcdTAwMTUiOw0KICAgICAgICBleHBlY3RlZE51bGxDaGFyc1syMl0gPSAiXFx1MDAxNiI7DQogICAgICAgIGV4cGVjdGVkTnVsbENoYXJzWzIzXSA9ICJcXHUwMDE3IjsNCiAgICAgICAgZXhwZWN0ZWROdWxsQ2hhcnNbMjRdID0gIlxcdTAwMTgiOw0KICAgICAgICBleHBlY3RlZE51bGxDaGFyc1syNV0gPSAiXFx1MDAxOSI7DQogICAgICAgIGV4cGVjdGVkTnVsbENoYXJzWzI2XSA9ICJcXHUwMDFhIjsNCiAgICAgICAgZXhwZWN0ZWROdWxsQ2hhcnNbMjddID0gIlxcdTAwMWIiOw0KICAgICAgICBleHBlY3RlZE51bGxDaGFyc1syOF0gPSAiXFx1MDAxYyI7DQogICAgICAgIGV4cGVjdGVkTnVsbENoYXJzWzI5XSA9ICJcXHUwMDFkIjsNCiAgICAgICAgZXhwZWN0ZWROdWxsQ2hhcnNbMzBdID0gIlxcdTAwMWUiOw0KICAgICAgICBleHBlY3RlZE51bGxDaGFyc1szMV0gPSAiXFx1MDAxZiI7DQoNCiAgICAgICAgZm9yICh2YXIgaW5kZXggaW4gZXhwZWN0ZWROdWxsQ2hhcnMpIHsNCg0KICAgICAgICAgICAgdmFyIHN0ciA9IEpTT04uc3RyaW5naWZ5KHsgIm5hbWUiOiAiXHUwMDAwXHUwMDAxXHUwMDAyXHUwMDAzXHUwMDA0XHUwMDA1XHUwMDA2XHUwMDA3XHUwMDA4XHUwMDA5XHUwMDBBXHUwMDBCXHUwMDBDXHUwMDBEXHUwMDBFXHUwMDBGXHUwMDEwXHUwMDExXHUwMDEyXHUwMDEzXHUwMDE0XHUwMDE1XHUwMDE2XHUwMDE3XHUwMDE4XHUwMDE5XHUwMDFBXHUwMDFCXHUwMDFDXHUwMDFEXHUwMDFFXHUwMDFGSm9obiIgfSk7DQogICAgICAgICAgICByZXN1bHQgPSAocmVzdWx0ICYmIHN0ci5pbmRleE9mKGV4cGVjdGVkTnVsbENoYXJzW2luZGV4XSkgIT09IC0xKTsNCiAgICAgICAgfQ0KICAgICAgICByZXR1cm4gcmVzdWx0Ow0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"JSON.stringify - stringifying an object where property value starts with the union of all null character (The abstract operation Quote(value) step 2.c)","path":"TestCases/ch15/15.12/15.12.3/15.12.3-11-22.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4xMi8xNS4xMi4zLzE1LjEyLjMtMTEtMjMuanMNCiAqIEBkZXNjcmlwdGlvbiBKU09OLnN0cmluZ2lmeSAtIHN0cmluZ2lmeWluZyBhbiBvYmplY3Qgd2hlcmUgcHJvcGVydHkgdmFsdWUgZW5kcyB3aXRoIHRoZSB1bmlvbiBvZiBhbGwgbnVsbCBjaGFyYWN0ZXIgKFRoZSBhYnN0cmFjdCBvcGVyYXRpb24gUXVvdGUodmFsdWUpIHN0ZXAgMi5jKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHJlc3VsdCA9IHRydWU7DQoNCiAgICAgICAgdmFyIGV4cGVjdGVkTnVsbENoYXJzID0gbmV3IEFycmF5KCk7DQogICAgICAgIGV4cGVjdGVkTnVsbENoYXJzWzBdID0gIlxcdTAwMDAiOw0KICAgICAgICBleHBlY3RlZE51bGxDaGFyc1sxXSA9ICJcXHUwMDAxIjsNCiAgICAgICAgZXhwZWN0ZWROdWxsQ2hhcnNbMl0gPSAiXFx1MDAwMiI7DQogICAgICAgIGV4cGVjdGVkTnVsbENoYXJzWzNdID0gIlxcdTAwMDMiOw0KICAgICAgICBleHBlY3RlZE51bGxDaGFyc1s0XSA9ICJcXHUwMDA0IjsNCiAgICAgICAgZXhwZWN0ZWROdWxsQ2hhcnNbNV0gPSAiXFx1MDAwNSI7DQogICAgICAgIGV4cGVjdGVkTnVsbENoYXJzWzZdID0gIlxcdTAwMDYiOw0KICAgICAgICBleHBlY3RlZE51bGxDaGFyc1s3XSA9ICJcXHUwMDA3IjsNCiAgICAgICAgZXhwZWN0ZWROdWxsQ2hhcnNbOF0gPSAiXFxiIjsNCiAgICAgICAgZXhwZWN0ZWROdWxsQ2hhcnNbOV0gPSAiXFx0IjsNCiAgICAgICAgZXhwZWN0ZWROdWxsQ2hhcnNbMTBdID0gIlxcbiI7DQogICAgICAgIGV4cGVjdGVkTnVsbENoYXJzWzExXSA9ICJcXHUwMDBiIjsNCiAgICAgICAgZXhwZWN0ZWROdWxsQ2hhcnNbMTJdID0gIlxcZiI7DQogICAgICAgIGV4cGVjdGVkTnVsbENoYXJzWzEzXSA9ICJcXHIiOw0KICAgICAgICBleHBlY3RlZE51bGxDaGFyc1sxNF0gPSAiXFx1MDAwZSI7DQogICAgICAgIGV4cGVjdGVkTnVsbENoYXJzWzE1XSA9ICJcXHUwMDBmIjsNCiAgICAgICAgZXhwZWN0ZWROdWxsQ2hhcnNbMTZdID0gIlxcdTAwMTAiOw0KICAgICAgICBleHBlY3RlZE51bGxDaGFyc1sxN10gPSAiXFx1MDAxMSI7DQogICAgICAgIGV4cGVjdGVkTnVsbENoYXJzWzE4XSA9ICJcXHUwMDEyIjsNCiAgICAgICAgZXhwZWN0ZWROdWxsQ2hhcnNbMTldID0gIlxcdTAwMTMiOw0KICAgICAgICBleHBlY3RlZE51bGxDaGFyc1syMF0gPSAiXFx1MDAxNCI7DQogICAgICAgIGV4cGVjdGVkTnVsbENoYXJzWzIxXSA9ICJcXHUwMDE1IjsNCiAgICAgICAgZXhwZWN0ZWROdWxsQ2hhcnNbMjJdID0gIlxcdTAwMTYiOw0KICAgICAgICBleHBlY3RlZE51bGxDaGFyc1syM10gPSAiXFx1MDAxNyI7DQogICAgICAgIGV4cGVjdGVkTnVsbENoYXJzWzI0XSA9ICJcXHUwMDE4IjsNCiAgICAgICAgZXhwZWN0ZWROdWxsQ2hhcnNbMjVdID0gIlxcdTAwMTkiOw0KICAgICAgICBleHBlY3RlZE51bGxDaGFyc1syNl0gPSAiXFx1MDAxYSI7DQogICAgICAgIGV4cGVjdGVkTnVsbENoYXJzWzI3XSA9ICJcXHUwMDFiIjsNCiAgICAgICAgZXhwZWN0ZWROdWxsQ2hhcnNbMjhdID0gIlxcdTAwMWMiOw0KICAgICAgICBleHBlY3RlZE51bGxDaGFyc1syOV0gPSAiXFx1MDAxZCI7DQogICAgICAgIGV4cGVjdGVkTnVsbENoYXJzWzMwXSA9ICJcXHUwMDFlIjsNCiAgICAgICAgZXhwZWN0ZWROdWxsQ2hhcnNbMzFdID0gIlxcdTAwMWYiOw0KDQogICAgICAgIGZvciAodmFyIGluZGV4IGluIGV4cGVjdGVkTnVsbENoYXJzKSB7DQoNCiAgICAgICAgICAgIHZhciBzdHIgPSBKU09OLnN0cmluZ2lmeSh7ICJuYW1lIjogIkpvaG5cdTAwMDBcdTAwMDFcdTAwMDJcdTAwMDNcdTAwMDRcdTAwMDVcdTAwMDZcdTAwMDdcdTAwMDhcdTAwMDlcdTAwMEFcdTAwMEJcdTAwMENcdTAwMERcdTAwMEVcdTAwMEZcdTAwMTBcdTAwMTFcdTAwMTJcdTAwMTNcdTAwMTRcdTAwMTVcdTAwMTZcdTAwMTdcdTAwMThcdTAwMTlcdTAwMUFcdTAwMUJcdTAwMUNcdTAwMURcdTAwMUVcdTAwMUYiIH0pOw0KICAgICAgICAgICAgcmVzdWx0ID0gKHJlc3VsdCAmJiBzdHIuaW5kZXhPZihleHBlY3RlZE51bGxDaGFyc1tpbmRleF0pICE9PSAtMSk7DQogICAgICAgIH0NCiAgICAgICAgcmV0dXJuIHJlc3VsdDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"JSON.stringify - stringifying an object where property value ends with the union of all null character (The abstract operation Quote(value) step 2.c)","path":"TestCases/ch15/15.12/15.12.3/15.12.3-11-23.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4xMi8xNS4xMi4zLzE1LjEyLjMtMTEtMjQuanMNCiAqIEBkZXNjcmlwdGlvbiBKU09OLnN0cmluZ2lmeSAtIHN0cmluZ2lmeWluZyBhbiBvYmplY3Qgd2hlcmUgcHJvcGVydHkgdmFsdWUgc3RhcnRzIGFuZCBlbmRzIHdpdGggdGhlIHVuaW9uIG9mIGFsbCBudWxsIGNoYXJhY3RlciAoVGhlIGFic3RyYWN0IG9wZXJhdGlvbiBRdW90ZSh2YWx1ZSkgc3RlcCAyLmMpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgcmVzdWx0ID0gdHJ1ZTsNCg0KICAgICAgICB2YXIgZXhwZWN0ZWROdWxsQ2hhcnMgPSBuZXcgQXJyYXkoKTsNCiAgICAgICAgZXhwZWN0ZWROdWxsQ2hhcnNbMF0gPSAiXFx1MDAwMCI7DQogICAgICAgIGV4cGVjdGVkTnVsbENoYXJzWzFdID0gIlxcdTAwMDEiOw0KICAgICAgICBleHBlY3RlZE51bGxDaGFyc1syXSA9ICJcXHUwMDAyIjsNCiAgICAgICAgZXhwZWN0ZWROdWxsQ2hhcnNbM10gPSAiXFx1MDAwMyI7DQogICAgICAgIGV4cGVjdGVkTnVsbENoYXJzWzRdID0gIlxcdTAwMDQiOw0KICAgICAgICBleHBlY3RlZE51bGxDaGFyc1s1XSA9ICJcXHUwMDA1IjsNCiAgICAgICAgZXhwZWN0ZWROdWxsQ2hhcnNbNl0gPSAiXFx1MDAwNiI7DQogICAgICAgIGV4cGVjdGVkTnVsbENoYXJzWzddID0gIlxcdTAwMDciOw0KICAgICAgICBleHBlY3RlZE51bGxDaGFyc1s4XSA9ICJcXGIiOw0KICAgICAgICBleHBlY3RlZE51bGxDaGFyc1s5XSA9ICJcXHQiOw0KICAgICAgICBleHBlY3RlZE51bGxDaGFyc1sxMF0gPSAiXFxuIjsNCiAgICAgICAgZXhwZWN0ZWROdWxsQ2hhcnNbMTFdID0gIlxcdTAwMGIiOw0KICAgICAgICBleHBlY3RlZE51bGxDaGFyc1sxMl0gPSAiXFxmIjsNCiAgICAgICAgZXhwZWN0ZWROdWxsQ2hhcnNbMTNdID0gIlxcciI7DQogICAgICAgIGV4cGVjdGVkTnVsbENoYXJzWzE0XSA9ICJcXHUwMDBlIjsNCiAgICAgICAgZXhwZWN0ZWROdWxsQ2hhcnNbMTVdID0gIlxcdTAwMGYiOw0KICAgICAgICBleHBlY3RlZE51bGxDaGFyc1sxNl0gPSAiXFx1MDAxMCI7DQogICAgICAgIGV4cGVjdGVkTnVsbENoYXJzWzE3XSA9ICJcXHUwMDExIjsNCiAgICAgICAgZXhwZWN0ZWROdWxsQ2hhcnNbMThdID0gIlxcdTAwMTIiOw0KICAgICAgICBleHBlY3RlZE51bGxDaGFyc1sxOV0gPSAiXFx1MDAxMyI7DQogICAgICAgIGV4cGVjdGVkTnVsbENoYXJzWzIwXSA9ICJcXHUwMDE0IjsNCiAgICAgICAgZXhwZWN0ZWROdWxsQ2hhcnNbMjFdID0gIlxcdTAwMTUiOw0KICAgICAgICBleHBlY3RlZE51bGxDaGFyc1syMl0gPSAiXFx1MDAxNiI7DQogICAgICAgIGV4cGVjdGVkTnVsbENoYXJzWzIzXSA9ICJcXHUwMDE3IjsNCiAgICAgICAgZXhwZWN0ZWROdWxsQ2hhcnNbMjRdID0gIlxcdTAwMTgiOw0KICAgICAgICBleHBlY3RlZE51bGxDaGFyc1syNV0gPSAiXFx1MDAxOSI7DQogICAgICAgIGV4cGVjdGVkTnVsbENoYXJzWzI2XSA9ICJcXHUwMDFhIjsNCiAgICAgICAgZXhwZWN0ZWROdWxsQ2hhcnNbMjddID0gIlxcdTAwMWIiOw0KICAgICAgICBleHBlY3RlZE51bGxDaGFyc1syOF0gPSAiXFx1MDAxYyI7DQogICAgICAgIGV4cGVjdGVkTnVsbENoYXJzWzI5XSA9ICJcXHUwMDFkIjsNCiAgICAgICAgZXhwZWN0ZWROdWxsQ2hhcnNbMzBdID0gIlxcdTAwMWUiOw0KICAgICAgICBleHBlY3RlZE51bGxDaGFyc1szMV0gPSAiXFx1MDAxZiI7DQoNCiAgICAgICAgZm9yICh2YXIgaW5kZXggaW4gZXhwZWN0ZWROdWxsQ2hhcnMpIHsNCg0KICAgICAgICAgICAgdmFyIHN0ciA9IEpTT04uc3RyaW5naWZ5KHsgIm5hbWUiOiAiXHUwMDAwXHUwMDAxXHUwMDAyXHUwMDAzXHUwMDA0XHUwMDA1XHUwMDA2XHUwMDA3XHUwMDA4XHUwMDA5XHUwMDBBXHUwMDBCXHUwMDBDXHUwMDBEXHUwMDBFXHUwMDBGXHUwMDEwXHUwMDExXHUwMDEyXHUwMDEzXHUwMDE0XHUwMDE1XHUwMDE2XHUwMDE3XHUwMDE4XHUwMDE5XHUwMDFBXHUwMDFCXHUwMDFDXHUwMDFEXHUwMDFFXHUwMDFGSm9oblx1MDAwMFx1MDAwMVx1MDAwMlx1MDAwM1x1MDAwNFx1MDAwNVx1MDAwNlx1MDAwN1x1MDAwOFx1MDAwOVx1MDAwQVx1MDAwQlx1MDAwQ1x1MDAwRFx1MDAwRVx1MDAwRlx1MDAxMFx1MDAxMVx1MDAxMlx1MDAxM1x1MDAxNFx1MDAxNVx1MDAxNlx1MDAxN1x1MDAxOFx1MDAxOVx1MDAxQVx1MDAxQlx1MDAxQ1x1MDAxRFx1MDAxRVx1MDAxRiIgfSk7DQogICAgICAgICAgICByZXN1bHQgPSAocmVzdWx0ICYmIHN0ci5pbmRleE9mKGV4cGVjdGVkTnVsbENoYXJzW2luZGV4XSkgIT09IC0xICYmIHN0ci5pbmRleE9mKGV4cGVjdGVkTnVsbENoYXJzW2luZGV4XSkgIT09IC0xKTsNCiAgICAgICAgfQ0KICAgICAgICByZXR1cm4gcmVzdWx0Ow0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"JSON.stringify - stringifying an object where property value starts and ends with the union of all null character (The abstract operation Quote(value) step 2.c)","path":"TestCases/ch15/15.12/15.12.3/15.12.3-11-24.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4xMi8xNS4xMi4zLzE1LjEyLjMtMTEtMjUuanMNCiAqIEBkZXNjcmlwdGlvbiBKU09OLnN0cmluZ2lmeSAtIHN0cmluZ2lmeWluZyBhbiBvYmplY3Qgd2hlcmUgcHJvcGVydHkgdmFsdWUgbWlkZGxlcyB3aXRoIHRoZSB1bmlvbiBvZiBhbGwgbnVsbCBjaGFyYWN0ZXIgKFRoZSBhYnN0cmFjdCBvcGVyYXRpb24gUXVvdGUodmFsdWUpIHN0ZXAgMi5jKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHJlc3VsdCA9IHRydWU7DQoNCiAgICAgICAgdmFyIGV4cGVjdGVkTnVsbENoYXJzID0gbmV3IEFycmF5KCk7DQogICAgICAgIGV4cGVjdGVkTnVsbENoYXJzWzBdID0gIlxcdTAwMDAiOw0KICAgICAgICBleHBlY3RlZE51bGxDaGFyc1sxXSA9ICJcXHUwMDAxIjsNCiAgICAgICAgZXhwZWN0ZWROdWxsQ2hhcnNbMl0gPSAiXFx1MDAwMiI7DQogICAgICAgIGV4cGVjdGVkTnVsbENoYXJzWzNdID0gIlxcdTAwMDMiOw0KICAgICAgICBleHBlY3RlZE51bGxDaGFyc1s0XSA9ICJcXHUwMDA0IjsNCiAgICAgICAgZXhwZWN0ZWROdWxsQ2hhcnNbNV0gPSAiXFx1MDAwNSI7DQogICAgICAgIGV4cGVjdGVkTnVsbENoYXJzWzZdID0gIlxcdTAwMDYiOw0KICAgICAgICBleHBlY3RlZE51bGxDaGFyc1s3XSA9ICJcXHUwMDA3IjsNCiAgICAgICAgZXhwZWN0ZWROdWxsQ2hhcnNbOF0gPSAiXFxiIjsNCiAgICAgICAgZXhwZWN0ZWROdWxsQ2hhcnNbOV0gPSAiXFx0IjsNCiAgICAgICAgZXhwZWN0ZWROdWxsQ2hhcnNbMTBdID0gIlxcbiI7DQogICAgICAgIGV4cGVjdGVkTnVsbENoYXJzWzExXSA9ICJcXHUwMDBiIjsNCiAgICAgICAgZXhwZWN0ZWROdWxsQ2hhcnNbMTJdID0gIlxcZiI7DQogICAgICAgIGV4cGVjdGVkTnVsbENoYXJzWzEzXSA9ICJcXHIiOw0KICAgICAgICBleHBlY3RlZE51bGxDaGFyc1sxNF0gPSAiXFx1MDAwZSI7DQogICAgICAgIGV4cGVjdGVkTnVsbENoYXJzWzE1XSA9ICJcXHUwMDBmIjsNCiAgICAgICAgZXhwZWN0ZWROdWxsQ2hhcnNbMTZdID0gIlxcdTAwMTAiOw0KICAgICAgICBleHBlY3RlZE51bGxDaGFyc1sxN10gPSAiXFx1MDAxMSI7DQogICAgICAgIGV4cGVjdGVkTnVsbENoYXJzWzE4XSA9ICJcXHUwMDEyIjsNCiAgICAgICAgZXhwZWN0ZWROdWxsQ2hhcnNbMTldID0gIlxcdTAwMTMiOw0KICAgICAgICBleHBlY3RlZE51bGxDaGFyc1syMF0gPSAiXFx1MDAxNCI7DQogICAgICAgIGV4cGVjdGVkTnVsbENoYXJzWzIxXSA9ICJcXHUwMDE1IjsNCiAgICAgICAgZXhwZWN0ZWROdWxsQ2hhcnNbMjJdID0gIlxcdTAwMTYiOw0KICAgICAgICBleHBlY3RlZE51bGxDaGFyc1syM10gPSAiXFx1MDAxNyI7DQogICAgICAgIGV4cGVjdGVkTnVsbENoYXJzWzI0XSA9ICJcXHUwMDE4IjsNCiAgICAgICAgZXhwZWN0ZWROdWxsQ2hhcnNbMjVdID0gIlxcdTAwMTkiOw0KICAgICAgICBleHBlY3RlZE51bGxDaGFyc1syNl0gPSAiXFx1MDAxYSI7DQogICAgICAgIGV4cGVjdGVkTnVsbENoYXJzWzI3XSA9ICJcXHUwMDFiIjsNCiAgICAgICAgZXhwZWN0ZWROdWxsQ2hhcnNbMjhdID0gIlxcdTAwMWMiOw0KICAgICAgICBleHBlY3RlZE51bGxDaGFyc1syOV0gPSAiXFx1MDAxZCI7DQogICAgICAgIGV4cGVjdGVkTnVsbENoYXJzWzMwXSA9ICJcXHUwMDFlIjsNCiAgICAgICAgZXhwZWN0ZWROdWxsQ2hhcnNbMzFdID0gIlxcdTAwMWYiOw0KDQogICAgICAgIGZvciAodmFyIGluZGV4IGluIGV4cGVjdGVkTnVsbENoYXJzKSB7DQoNCiAgICAgICAgICAgIHZhciBzdHIgPSBKU09OLnN0cmluZ2lmeSh7ICJuYW1lIjogIkpvXHUwMDAwXHUwMDAxXHUwMDAyXHUwMDAzXHUwMDA0XHUwMDA1XHUwMDA2XHUwMDA3XHUwMDA4XHUwMDA5XHUwMDBBXHUwMDBCXHUwMDBDXHUwMDBEXHUwMDBFXHUwMDBGXHUwMDEwXHUwMDExXHUwMDEyXHUwMDEzXHUwMDE0XHUwMDE1XHUwMDE2XHUwMDE3XHUwMDE4XHUwMDE5XHUwMDFBXHUwMDFCXHUwMDFDXHUwMDFEXHUwMDFFXHUwMDFGaG4iIH0pOw0KICAgICAgICAgICAgcmVzdWx0ID0gKHJlc3VsdCAmJiBzdHIuaW5kZXhPZihleHBlY3RlZE51bGxDaGFyc1tpbmRleF0pICE9PSAtMSAmJiBzdHIuaW5kZXhPZihleHBlY3RlZE51bGxDaGFyc1tpbmRleF0pICE9PSAtMSk7DQogICAgICAgIH0NCiAgICAgICAgcmV0dXJuIHJlc3VsdDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"JSON.stringify - stringifying an object where property value middles with the union of all null character (The abstract operation Quote(value) step 2.c)","path":"TestCases/ch15/15.12/15.12.3/15.12.3-11-25.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4xMi8xNS4xMi4zLzE1LjEyLjMtMTEtMjYuanMNCiAqIEBkZXNjcmlwdGlvbiBKU09OLnN0cmluZ2lmeSAtIHRoZSBsYXN0IGVsZW1lbnQgb2YgdGhlIGNvbmNhdGVuYXRpb24gaXMgJ10nIChUaGUgYWJzdHJhY3Qgb3BlcmF0aW9uIEpBKHZhbHVlKSBzdGVwIDEwLmIuaWlpKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBhcnJPYmogPSBbXTsNCiAgICAgICAgYXJyT2JqWzBdID0gImEiOw0KICAgICAgICBhcnJPYmpbMV0gPSAiYiI7DQogICAgICAgIGFyck9ialsyXSA9ICJjIjsNCg0KICAgICAgICB2YXIganNvblRleHQgPSBKU09OLnN0cmluZ2lmeShhcnJPYmosIHVuZGVmaW5lZCwgIiIpLnRvU3RyaW5nKCk7DQogICAgICAgIHJldHVybiBqc29uVGV4dC5zdWJzdHIoanNvblRleHQubGVuZ3RoIC0gMSwgMSkgPT09ICJdIjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"JSON.stringify - the last element of the concatenation is ']' (The abstract operation JA(value) step 10.b.iii)","path":"TestCases/ch15/15.12/15.12.3/15.12.3-11-26.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4xMi8xNS4xMi4zLzE1LjEyLjMtMTEtMy5qcw0KICogQGRlc2NyaXB0aW9uIEEgSlNPTi5zdHJpbmdpZnkgY29ycmVjdGx5IHdvcmtzIG9uIHRvcCBsZXZlbCBzdHJpbmcgdmFsdWVzLg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHJldHVybiBKU09OLnN0cmluZ2lmeSgiYSBzdHJpbmciKSA9PT0gJyJhIHN0cmluZyInOw0KICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"A JSON.stringify correctly works on top level string values.","path":"TestCases/ch15/15.12/15.12.3/15.12.3-11-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4xMi8xNS4xMi4zLzE1LjEyLjMtMTEtNC5qcw0KICogQGRlc2NyaXB0aW9uIEpTT04uc3RyaW5naWZ5IGNvcnJlY3RseSB3b3JrcyBvbiB0b3AgbGV2ZWwgTnVtYmVyIHZhbHVlcy4NCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICByZXR1cm4gSlNPTi5zdHJpbmdpZnkoMTIzKSA9PT0gJzEyMyc7DQogIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"JSON.stringify correctly works on top level Number values.","path":"TestCases/ch15/15.12/15.12.3/15.12.3-11-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4xMi8xNS4xMi4zLzE1LjEyLjMtMTEtNS5qcw0KICogQGRlc2NyaXB0aW9uIEpTT04uc3RyaW5naWZ5IGNvcnJlY3RseSB3b3JrcyBvbiB0b3AgbGV2ZWwgQm9vbGVhbiB2YWx1ZXMuDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgcmV0dXJuIEpTT04uc3RyaW5naWZ5KHRydWUpID09PSAndHJ1ZSc7DQogIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"JSON.stringify correctly works on top level Boolean values.","path":"TestCases/ch15/15.12/15.12.3/15.12.3-11-5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4xMi8xNS4xMi4zLzE1LjEyLjMtMTEtNi5qcw0KICogQGRlc2NyaXB0aW9uIEpTT04uc3RyaW5naWZ5IGNvcnJlY3RseSB3b3JrcyBvbiB0b3AgbGV2ZWwgbnVsbCB2YWx1ZXMuDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgcmV0dXJuIEpTT04uc3RyaW5naWZ5KG51bGwpID09PSAnbnVsbCc7DQogIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"JSON.stringify correctly works on top level null values.","path":"TestCases/ch15/15.12/15.12.3/15.12.3-11-6.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4xMi8xNS4xMi4zLzE1LjEyLjMtMTEtNy5qcw0KICogQGRlc2NyaXB0aW9uIEpTT04uc3RyaW5naWZ5IGNvcnJlY3RseSB3b3JrcyBvbiB0b3AgbGV2ZWwgTnVtYmVyIG9iamVjdHMuDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgcmV0dXJuIEpTT04uc3RyaW5naWZ5KG5ldyBOdW1iZXIoNDIpKSA9PT0gJzQyJzsNCiAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"JSON.stringify correctly works on top level Number objects.","path":"TestCases/ch15/15.12/15.12.3/15.12.3-11-7.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4xMi8xNS4xMi4zLzE1LjEyLjMtMTEtOC5qcw0KICogQGRlc2NyaXB0aW9uIEpTT04uc3RyaW5naWZ5IGNvcnJlY3RseSB3b3JrcyBvbiB0b3AgbGV2ZWwgU3RyaW5nIG9iamVjdHMuDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgcmV0dXJuIEpTT04uc3RyaW5naWZ5KG5ldyBTdHJpbmcoJ3dyYXBwZXJlZCcpKSA9PT0gJyJ3cmFwcGVyZWQiJzsNCiAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"JSON.stringify correctly works on top level String objects.","path":"TestCases/ch15/15.12/15.12.3/15.12.3-11-8.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4xMi8xNS4xMi4zLzE1LjEyLjMtMTEtOS5qcw0KICogQGRlc2NyaXB0aW9uIEpTT04uc3RyaW5naWZ5IGNvcnJlY3RseSB3b3JrcyBvbiB0b3AgbGV2ZWwgQm9vbGVhbiBvYmplY3RzLg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHJldHVybiBKU09OLnN0cmluZ2lmeShuZXcgQm9vbGVhbihmYWxzZSkpID09PSAnZmFsc2UnOw0KICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"JSON.stringify correctly works on top level Boolean objects.","path":"TestCases/ch15/15.12/15.12.3/15.12.3-11-9.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4xMi8xNS4xMi4zLzE1LjEyLjMtNC0xLmpzDQogKiBAZGVzY3JpcHRpb24gSlNPTi5zdHJpbmdpZnkgaWdub3JlcyByZXBsYWNlciBhcnVndW1lbnRzIHRoYXQgYXJlIG5vdCBmdW5jdGlvbnMgb3IgYXJyYXlzLi4NCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB0cnkgew0KICAgICByZXR1cm4gSlNPTi5zdHJpbmdpZnkoWzQyXSx7fSk9PT0gJ1s0Ml0nOw0KICAgICB9DQogICBjYXRjaCAoZSkge3JldHVybiAgZmFsc2V9DQogIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"JSON.stringify ignores replacer aruguments that are not functions or arrays..","path":"TestCases/ch15/15.12/15.12.3/15.12.3-4-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4xMi8xNS4xMi4zLzE1LjEyLjMtNS1hLWktMS5qcw0KICogQGRlc2NyaXB0aW9uIEpTT04uc3RyaW5naWZ5IGNvbnZlcnRzIE51bWJlciB3cmFwcGVyIG9iamVjdCBzcGFjZSBhcnVndW1lbnRzIHRvIE51bWJlciB2YWx1ZXMNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgb2JqID0ge2ExOiB7YjE6IFsxLDIsMyw0XSwgYjI6IHtjMTogMSwgYzI6IDJ9fSxhMjogJ2EyJ307DQogIHJldHVybiBKU09OLnN0cmluZ2lmeShvYmosbnVsbCwgbmV3IE51bWJlcig1KSk9PT0gSlNPTi5zdHJpbmdpZnkob2JqLG51bGwsIDUpOw0KICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"JSON.stringify converts Number wrapper object space aruguments to Number values","path":"TestCases/ch15/15.12/15.12.3/15.12.3-5-a-i-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4xMi8xNS4xMi4zLzE1LjEyLjMtNS1iLWktMS5qcw0KICogQGRlc2NyaXB0aW9uIEpTT04uc3RyaW5naWZ5IGNvbnZlcnRzIFN0cmluZyB3cmFwcGVyIG9iamVjdCBzcGFjZSBhcnVndW1lbnRzIHRvIFN0cmluZyB2YWx1ZXMNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgb2JqID0ge2ExOiB7YjE6IFsxLDIsMyw0XSwgYjI6IHtjMTogMSwgYzI6IDJ9fSxhMjogJ2EyJ307DQogIHJldHVybiBKU09OLnN0cmluZ2lmeShvYmosbnVsbCwgbmV3IFN0cmluZygneHh4JykpPT09IEpTT04uc3RyaW5naWZ5KG9iaixudWxsLCAneHh4Jyk7DQogIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"JSON.stringify converts String wrapper object space aruguments to String values","path":"TestCases/ch15/15.12/15.12.3/15.12.3-5-b-i-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4xMi8xNS4xMi4zLzE1LjEyLjMtNi1hLTEuanMNCiAqIEBkZXNjcmlwdGlvbiBKU09OLnN0cmluZ2lmeSB0cmVhdHMgbnVtZXJpYyBzcGFjZSBhcmd1bWVudHMgZ3JlYXRlciB0aGFuIDEwIHRoZSBzYW1lIGFzIGEgIHNwYWNlIGFyZ3VtZW50IG9mIDEwLg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBvYmogPSB7YTE6IHtiMTogWzEsMiwzLDRdLCBiMjoge2MxOiAxLCBjMjogMn19LGEyOiAnYTInfTsNCiAgcmV0dXJuIEpTT04uc3RyaW5naWZ5KG9iaixudWxsLCAxMCk9PT0gSlNPTi5zdHJpbmdpZnkob2JqLG51bGwsIDEwMCk7DQogIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"JSON.stringify treats numeric space arguments greater than 10 the same as a space argument of 10.","path":"TestCases/ch15/15.12/15.12.3/15.12.3-6-a-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4xMi8xNS4xMi4zLzE1LjEyLjMtNi1hLTIuanMNCiAqIEBkZXNjcmlwdGlvbiBKU09OLnN0cmluZ2lmeSB0cnVjY2F0ZXMgbm9uLWludGVnZXIgbnVtZXJpYyBzcGFjZSBhcmd1bWVudHMgdG8gdGhlaXIgaW50ZWdlciBwYXJ0Lg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBvYmogPSB7YTE6IHtiMTogWzEsMiwzLDRdLCBiMjoge2MxOiAxLCBjMjogMn19LGEyOiAnYTInfTsNCiAgcmV0dXJuIEpTT04uc3RyaW5naWZ5KG9iaixudWxsLCA1Ljk5OTk5KT09PSBKU09OLnN0cmluZ2lmeShvYmosbnVsbCwgNSk7DQogIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"JSON.stringify truccates non-integer numeric space arguments to their integer part.","path":"TestCases/ch15/15.12/15.12.3/15.12.3-6-a-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4xMi8xNS4xMi4zLzE1LjEyLjMtNi1iLTEuanMNCiAqIEBkZXNjcmlwdGlvbiBKU09OLnN0cmluZ2lmeSB0cmVhdHMgbnVtZXJpYyBzcGFjZSBhcmd1bWVudHMgbGVzcyB0aGFuIDEgKDAuOTk5OTk5KXRoZSBzYW1lIGFzIGVtcHRyeSBzdHJpbmcgc3BhY2UgYXJndW1lbnQuDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIG9iaiA9IHthMToge2IxOiBbMSwyLDMsNF0sIGIyOiB7YzE6IDEsIGMyOiAyfX0sYTI6ICdhMid9Ow0KICByZXR1cm4gSlNPTi5zdHJpbmdpZnkob2JqLG51bGwsIDAuOTk5OTk5KT09PSBKU09OLnN0cmluZ2lmeShvYmopOyAgLyogZW1wdHJ5IHN0cmluZyBzaG91bGQgYmUgc2FtZSBhcyBubyBzcGFjZSBhcmcgKi8NCiAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"JSON.stringify treats numeric space arguments less than 1 (0.999999)the same as emptry string space argument.","path":"TestCases/ch15/15.12/15.12.3/15.12.3-6-b-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4xMi8xNS4xMi4zLzE1LjEyLjMtNi1iLTIuanMNCiAqIEBkZXNjcmlwdGlvbiBKU09OLnN0cmluZ2lmeSB0cmVhdHMgbnVtZXJpYyBzcGFjZSBhcmd1bWVudHMgbGVzcyB0aGFuIDEgKDApdGhlIHNhbWUgYXMgZW1wdHJ5IHN0cmluZyBzcGFjZSBhcmd1bWVudC4NCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgb2JqID0ge2ExOiB7YjE6IFsxLDIsMyw0XSwgYjI6IHtjMTogMSwgYzI6IDJ9fSxhMjogJ2EyJ307DQogIHJldHVybiBKU09OLnN0cmluZ2lmeShvYmosbnVsbCwgMCk9PT0gSlNPTi5zdHJpbmdpZnkob2JqKTsgIC8qIGVtcHRyeSBzdHJpbmcgc2hvdWxkIGJlIHNhbWUgYXMgbm8gc3BhY2UgYXJnICovDQogIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"JSON.stringify treats numeric space arguments less than 1 (0)the same as emptry string space argument.","path":"TestCases/ch15/15.12/15.12.3/15.12.3-6-b-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4xMi8xNS4xMi4zLzE1LjEyLjMtNi1iLTMuanMNCiAqIEBkZXNjcmlwdGlvbiBKU09OLnN0cmluZ2lmeSB0cmVhdHMgbnVtZXJpYyBzcGFjZSBhcmd1bWVudHMgbGVzcyB0aGFuIDEgKC01KSB0aGUgc2FtZSBhcyBlbXB0cnkgc3RyaW5nIHNwYWNlIGFyZ3VtZW50Lg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBvYmogPSB7YTE6IHtiMTogWzEsMiwzLDRdLCBiMjoge2MxOiAxLCBjMjogMn19LGEyOiAnYTInfTsNCiAgcmV0dXJuIEpTT04uc3RyaW5naWZ5KG9iaixudWxsLCAtNSk9PT0gSlNPTi5zdHJpbmdpZnkob2JqKTsgIC8qIGVtcHRyeSBzdHJpbmcgc2hvdWxkIGJlIHNhbWUgYXMgbm8gc3BhY2UgYXJnICovDQogIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"JSON.stringify treats numeric space arguments less than 1 (-5) the same as emptry string space argument.","path":"TestCases/ch15/15.12/15.12.3/15.12.3-6-b-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4xMi8xNS4xMi4zLzE1LjEyLjMtNi1iLTQuanMNCiAqIEBkZXNjcmlwdGlvbiBKU09OLnN0cmluZ2lmeSB0cmVhdHMgbnVtZXJpYyBzcGFjZSBhcmd1bWVudHMgKGluIHRoZSByYW5nZSAxLi4xMCkgaXMgZXF1aXZhbGVudCB0byBhIHN0cmluZyBvZiBzcGFjZXMgb2YgdGhhdCBsZW5ndGguDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIG9iaiA9IHthMToge2IxOiBbMSwyLDMsNF0sIGIyOiB7YzE6IDEsIGMyOiAyfX0sYTI6ICdhMid9Ow0KICB2YXIgZml2ZVNwYWNlcyA9ICcgICAgICc7DQogIC8vICAgICAgICAgICAgICAgJzEyMzQ1Jw0KICByZXR1cm4gSlNPTi5zdHJpbmdpZnkob2JqLG51bGwsIDUpPT09IEpTT04uc3RyaW5naWZ5KG9iaiwgbnVsbCwgZml2ZVNwYWNlcyk7ICANCiAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"JSON.stringify treats numeric space arguments (in the range 1..10) is equivalent to a string of spaces of that length.","path":"TestCases/ch15/15.12/15.12.3/15.12.3-6-b-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4xMi8xNS4xMi4zLzE1LjEyLjMtNy1hLTEuanMNCiAqIEBkZXNjcmlwdGlvbiBKU09OLnN0cmluZ2lmeSBvbmx5IHVzZXMgdGhlIGZpcnN0IDEwIGNoYXJhY3RlcnMgb2YgYSBzdHJpbmcgc3BhY2UgYXJndW1lbnRzLg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBvYmogPSB7YTE6IHtiMTogWzEsMiwzLDRdLCBiMjoge2MxOiAxLCBjMjogMn19LGEyOiAnYTInfTsNCiAgcmV0dXJuIEpTT04uc3RyaW5naWZ5KG9iaixudWxsLCAnMDEyMzQ1Njc4OXh4eHh4eHh4eCcpPT09IEpTT04uc3RyaW5naWZ5KG9iaixudWxsLCAnMDEyMzQ1Njc4OScpOyAgDQogIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"JSON.stringify only uses the first 10 characters of a string space arguments.","path":"TestCases/ch15/15.12/15.12.3/15.12.3-7-a-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4xMi8xNS4xMi4zLzE1LjEyLjMtOC1hLTEuanMNCiAqIEBkZXNjcmlwdGlvbiBKU09OLnN0cmluZ2lmeSB0cmVhdHMgYW4gZW1wdHkgc3RyaW5nIHNwYWNlIGFyZ3VtZW50IHRoZSBzYW1lIGFzIGEgbWlzc2luZyBzcGFjZSBhcmd1bWVudC4NCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgb2JqID0ge2ExOiB7YjE6IFsxLDIsMyw0XSwgYjI6IHtjMTogMSwgYzI6IDJ9fSxhMjogJ2EyJ307DQogIHJldHVybiBKU09OLnN0cmluZ2lmeShvYmopPT09IEpTT04uc3RyaW5naWZ5KG9iaixudWxsLCAnJyk7DQogIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"JSON.stringify treats an empty string space argument the same as a missing space argument.","path":"TestCases/ch15/15.12/15.12.3/15.12.3-8-a-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4xMi8xNS4xMi4zLzE1LjEyLjMtOC1hLTIuanMNCiAqIEBkZXNjcmlwdGlvbiBKU09OLnN0cmluZ2lmeSB0cmVhdHMgYW4gQm9vbGVhbiBzcGFjZSBhcmd1bWVudCB0aGUgc2FtZSBhcyBhIG1pc3Npbmcgc3BhY2UgYXJndW1lbnQuDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIG9iaiA9IHthMToge2IxOiBbMSwyLDMsNF0sIGIyOiB7YzE6IDEsIGMyOiAyfX0sYTI6ICdhMid9Ow0KICByZXR1cm4gSlNPTi5zdHJpbmdpZnkob2JqKT09PSBKU09OLnN0cmluZ2lmeShvYmosbnVsbCwgdHJ1ZSk7DQogIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"JSON.stringify treats an Boolean space argument the same as a missing space argument.","path":"TestCases/ch15/15.12/15.12.3/15.12.3-8-a-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4xMi8xNS4xMi4zLzE1LjEyLjMtOC1hLTMuanMNCiAqIEBkZXNjcmlwdGlvbiBKU09OLnN0cmluZ2lmeSB0cmVhdHMgYW4gbnVsbCBzcGFjZSBhcmd1bWVudCB0aGUgc2FtZSBhcyBhIG1pc3Npbmcgc3BhY2UgYXJndW1lbnQuDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIG9iaiA9IHthMToge2IxOiBbMSwyLDMsNF0sIGIyOiB7YzE6IDEsIGMyOiAyfX0sYTI6ICdhMid9Ow0KICByZXR1cm4gSlNPTi5zdHJpbmdpZnkob2JqKT09PSBKU09OLnN0cmluZ2lmeShvYmosbnVsbCwgbnVsbCk7DQogIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"JSON.stringify treats an null space argument the same as a missing space argument.","path":"TestCases/ch15/15.12/15.12.3/15.12.3-8-a-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4xMi8xNS4xMi4zLzE1LjEyLjMtOC1hLTQuanMNCiAqIEBkZXNjcmlwdGlvbiBKU09OLnN0cmluZ2lmeSB0cmVhdHMgYW4gQm9vbGVhbiB3cmFwcGVyIHNwYWNlIGFyZ3VtZW50IHRoZSBzYW1lIGFzIGEgbWlzc2luZyBzcGFjZSBhcmd1bWVudC4NCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgb2JqID0ge2ExOiB7YjE6IFsxLDIsMyw0XSwgYjI6IHtjMTogMSwgYzI6IDJ9fSxhMjogJ2EyJ307DQogIHJldHVybiBKU09OLnN0cmluZ2lmeShvYmopPT09IEpTT04uc3RyaW5naWZ5KG9iaixudWxsLCBuZXcgQm9vbGVhbih0cnVlKSk7DQogIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"JSON.stringify treats an Boolean wrapper space argument the same as a missing space argument.","path":"TestCases/ch15/15.12/15.12.3/15.12.3-8-a-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4xMi8xNS4xMi4zLzE1LjEyLjMtOC1hLTUuanMNCiAqIEBkZXNjcmlwdGlvbiBKU09OLnN0cmluZ2lmeSB0cmVhdHMgbm9uLU51bWJlciBvciBTdHJpbmcgb2JqZWN0IHNwYWNlIGFyZ3VtZW50cyB0aGUgc2FtZSBhcyBhIG1pc3Npbmcgc3BhY2UgYXJndW1lbnQuDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIG9iaiA9IHthMToge2IxOiBbMSwyLDMsNF0sIGIyOiB7YzE6IDEsIGMyOiAyfX0sYTI6ICdhMid9Ow0KICByZXR1cm4gSlNPTi5zdHJpbmdpZnkob2JqKT09PSBKU09OLnN0cmluZ2lmeShvYmosbnVsbCwgb2JqKTsNCiAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"JSON.stringify treats non-Number or String object space arguments the same as a missing space argument.","path":"TestCases/ch15/15.12/15.12.3/15.12.3-8-a-5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4xMi8xNS4xMi4zLzE1LjEyLjNfMi0yLWItaS0xLmpzDQogKiBAZGVzY3JpcHRpb24gSlNPTi5zdHJpbmdpZnkgY29udmVydHMgc3RyaW5nIHdyYXBwZXIgb2JqZWN0cyByZXR1cm5lZCBmcm9tIGEgdG9KU09OIGNhbGwgdG8gbGl0ZXJhbCBzdHJpbmdzLg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBvYmogPSB7DQogICAgcHJvcDo0MiwNCiAgICB0b0pTT046IGZ1bmN0aW9uICgpIHtyZXR1cm4gJ2ZvcnR5dHdvIG9iamVjdHMnfQ0KICAgIH07DQogIHJldHVybiBKU09OLnN0cmluZ2lmeShbb2JqXSkgPT09ICdbImZvcnR5dHdvIG9iamVjdHMiXSc7DQogIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"JSON.stringify converts string wrapper objects returned from a toJSON call to literal strings.","path":"TestCases/ch15/15.12/15.12.3/15.12.3_2-2-b-i-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4xMi8xNS4xMi4zLzE1LjEyLjNfMi0yLWItaS0yLmpzDQogKiBAZGVzY3JpcHRpb24gSlNPTi5zdHJpbmdpZnkgY29udmVydHMgTnVtYmVyIHdyYXBwZXIgb2JqZWN0cyByZXR1cm5lZCBmcm9tIGEgdG9KU09OIGNhbGwgdG8gbGl0ZXJhbCBOdW1iZXIuDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIG9iaiA9IHsNCiAgICBwcm9wOjQyLA0KICAgIHRvSlNPTjogZnVuY3Rpb24gKCkge3JldHVybiBuZXcgTnVtYmVyKDQyKX0NCiAgICB9Ow0KICByZXR1cm4gSlNPTi5zdHJpbmdpZnkoW29ial0pID09PSAnWzQyXSc7DQogIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"JSON.stringify converts Number wrapper objects returned from a toJSON call to literal Number.","path":"TestCases/ch15/15.12/15.12.3/15.12.3_2-2-b-i-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4xMi8xNS4xMi4zLzE1LjEyLjNfMi0yLWItaS0zLmpzDQogKiBAZGVzY3JpcHRpb24gSlNPTi5zdHJpbmdpZnkgY29udmVydHMgQm9vbGVhbiB3cmFwcGVyIG9iamVjdHMgcmV0dXJuZWQgZnJvbSBhIHRvSlNPTiBjYWxsIHRvIGxpdGVyYWwgQm9vbGVhbiB2YWx1ZXMuDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIG9iaiA9IHsNCiAgICBwcm9wOjQyLA0KICAgIHRvSlNPTjogZnVuY3Rpb24gKCkge3JldHVybiBuZXcgQm9vbGVhbih0cnVlKX0NCiAgICB9Ow0KICByZXR1cm4gSlNPTi5zdHJpbmdpZnkoW29ial0pID09PSAnW3RydWVdJzsNCiAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"JSON.stringify converts Boolean wrapper objects returned from a toJSON call to literal Boolean values.","path":"TestCases/ch15/15.12/15.12.3/15.12.3_2-2-b-i-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4xMi8xNS4xMi4zLzE1LjEyLjNfMi0zLWEtMS5qcw0KICogQGRlc2NyaXB0aW9uIEpTT04uc3RyaW5naWZ5IGNvbnZlcnRzIHN0cmluZyB3cmFwcGVyIG9iamVjdHMgcmV0dXJuZWQgZnJvbSByZXBsYWNlciBmdW5jdGlvbnMgdG8gbGl0ZXJhbCBzdHJpbmdzLg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHJldHVybiBKU09OLnN0cmluZ2lmeShbNDJdLCBmdW5jdGlvbihrLHYpIHtyZXR1cm4gdj09PTQyPyBuZXcgU3RyaW5nKCdmb3J0eXR3bycpOnZ9KSA9PT0gJ1siZm9ydHl0d28iXSc7DQogIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"JSON.stringify converts string wrapper objects returned from replacer functions to literal strings.","path":"TestCases/ch15/15.12/15.12.3/15.12.3_2-3-a-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4xMi8xNS4xMi4zLzE1LjEyLjNfMi0zLWEtMi5qcw0KICogQGRlc2NyaXB0aW9uIEpTT04uc3RyaW5naWZ5IGNvbnZlcnRzIE51bWJlciB3cmFwcGVyIG9iamVjdHMgcmV0dXJuZWQgZnJvbSByZXBsYWNlciBmdW5jdGlvbnMgdG8gbGl0ZXJhbCBudW1iZXJzLg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHJldHVybiBKU09OLnN0cmluZ2lmeShbNDJdLCBmdW5jdGlvbihrLHYpIHtyZXR1cm4gdj09PTQyPyBuZXcgTnVtYmVyKDg0KTp2fSkgPT09ICdbODRdJzsNCiAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"JSON.stringify converts Number wrapper objects returned from replacer functions to literal numbers.","path":"TestCases/ch15/15.12/15.12.3/15.12.3_2-3-a-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4xMi8xNS4xMi4zLzE1LjEyLjNfMi0zLWEtMy5qcw0KICogQGRlc2NyaXB0aW9uIEpTT04uc3RyaW5naWZ5IGNvbnZlcnRzIEJvb2xlYW4gd3JhcHBlciBvYmplY3RzIHJldHVybmVkIGZyb20gcmVwbGFjZXIgZnVuY3Rpb25zIHRvIGxpdGVyYWwgbnVtYmVycy4NCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICByZXR1cm4gSlNPTi5zdHJpbmdpZnkoWzQyXSwgZnVuY3Rpb24oayx2KSB7cmV0dXJuIHY9PT00Mj8gbmV3IEJvb2xlYW4oZmFsc2UpOnZ9KSA9PT0gJ1tmYWxzZV0nOw0KICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"JSON.stringify converts Boolean wrapper objects returned from replacer functions to literal numbers.","path":"TestCases/ch15/15.12/15.12.3/15.12.3_2-3-a-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4xMi8xNS4xMi4zLzE1LjEyLjNfNC0xLTEuanMNCiAqIEBkZXNjcmlwdGlvbiBKU09OLnN0cmluZ2lmeSBhIGNpcmN1bGFyIG9iamVjdCB0aHJvd3MgYSBlcnJvcg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBvYmogPSB7fTsNCiAgb2JqLnByb3AgPSBvYmo7DQogIHRyeSB7DQogICAgIEpTT04uc3RyaW5naWZ5KG9iaik7DQogICAgIHJldHVybiBmYWxzZTsgIC8vIHNob3VsZCBub3QgcmVhY2ggaGVyZQ0KICAgICB9DQogICBjYXRjaCAoZSkge3JldHVybiB0cnVlfQ0KICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"JSON.stringify a circular object throws a error","path":"TestCases/ch15/15.12/15.12.3/15.12.3_4-1-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4xMi8xNS4xMi4zLzE1LjEyLjNfNC0xLTIuanMNCiAqIEBkZXNjcmlwdGlvbiBKU09OLnN0cmluZ2lmeSBhIGNpcmN1bGFyIG9iamVjdCB0aHJvd3MgYSBUeXBlRXJyb3INCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgb2JqID0ge307DQogIG9iai5wcm9wID0gb2JqOw0KICB0cnkgew0KICAgICBKU09OLnN0cmluZ2lmeShvYmopOw0KICAgICByZXR1cm4gZmFsc2U7ICAvLyBzaG91bGQgbm90IHJlYWNoIGhlcmUNCiAgICAgfQ0KICAgY2F0Y2ggKGUpIHtyZXR1cm4gZS5uYW1lPT09J1R5cGVFcnJvcid9DQogIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"JSON.stringify a circular object throws a TypeError","path":"TestCases/ch15/15.12/15.12.3/15.12.3_4-1-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4xMi8xNS4xMi4zLzE1LjEyLjNfNC0xLTMuanMNCiAqIEBkZXNjcmlwdGlvbiBKU09OLnN0cmluZ2lmeSBhIGluZGlyZWN0bHkgY2lyY3VsYXIgb2JqZWN0IHRocm93cyBhIGVycm9yDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIG9iaiA9IHtwMToge3AyOiB7fX19Ow0KICBvYmoucDEucDIucHJvcCA9IG9iajsNCiAgdHJ5IHsNCiAgICAgSlNPTi5zdHJpbmdpZnkob2JqKTsNCiAgICAgcmV0dXJuIGZhbHNlOyAgLy8gc2hvdWxkIG5vdCByZWFjaCBoZXJlDQogICAgIH0NCiAgIGNhdGNoIChlKSB7cmV0dXJuICB0cnVlfQ0KICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"JSON.stringify a indirectly circular object throws a error","path":"TestCases/ch15/15.12/15.12.3/15.12.3_4-1-3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPYmplY3QgaXMgdGhlIHByb3BlcnR5IG9mIGdsb2JhbAogKgogKiBAcGF0aCBjaDE1LzE1LjIvUzE1LjJfQTEuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIE9iamVjdCBlcXVhbHMgdG8gdGhpcy5PYmplY3QKICovCgp2YXIgb2JqPU9iamVjdDsKCnZhciB0aGlzb2JqPXRoaXMuT2JqZWN0OwoKaWYob2JqIT09dGhpc29iail7CiAgJEVSUk9SKCdPYmplY3QgaXMgdGhlIHByb3BlcnR5IG9mIGdsb2JhbCcpOwp9Cgo=","commentary":"Object is the property of global","description":"Checking if Object equals to this.Object","path":"TestCases/ch15/15.2/S15.2_A1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuIHRoZSBPYmplY3QodmFsdWUpIGlzIGNhbGxlZCBhbmQgdGhlIHZhbHVlIGlzIG51bGwsIHVuZGVmaW5lZCBvciBub3Qgc3VwcGxpZWQsCiAqIGNyZWF0ZSBhbmQgcmV0dXJuIGEgbmV3IE9iamVjdCBvYmplY3QgaWYgdGhlIG9iamVjdCBjb25zdHJ1Y3RvciBoYWQgYmVlbiBjYWxsZWQgd2l0aCB0aGUgc2FtZSBhcmd1bWVudHMgKDE1LjIuMi4xKQogKgogKiBAcGF0aCBjaDE1LzE1LjIvMTUuMi4xL1MxNS4yLjEuMV9BMV9UMS5qcwogKiBAZGVzY3JpcHRpb24gQ3JlYXRpbmcgT2JqZWN0KG51bGwpIGFuZCBjaGVja2luZyBpdHMgcHJvcGVydGllcwogKi8KCnZhciBfX29iaiA9IE9iamVjdChudWxsKTsKCnZhciBuX19vYmogPSBuZXcgT2JqZWN0KG51bGwpOyAKCmlmIChfX29iai50b1N0cmluZygpICE9PSBuX19vYmoudG9TdHJpbmcoKSl7CgkkRVJST1IoJyMxJyk7CQp9CgppZiAoX19vYmouY29uc3RydWN0b3IgIT09IG5fX29iai5jb25zdHJ1Y3RvcikgewoJJEVSUk9SKCcjMicpOwp9CgppZiAoX19vYmoucHJvdG90eXBlICE9PSBuX19vYmoucHJvdG90eXBlKSB7CgkkRVJST1IoJyMzJyk7Cn0JCgppZiAoX19vYmoudG9Mb2NhbGVTdHJpbmcoKSAhPT0gbl9fb2JqLnRvTG9jYWxlU3RyaW5nKCkpIHsKCSRFUlJPUignIzQnKTsKfQoKaWYgKHR5cGVvZiBfX29iaiAhPT0gdHlwZW9mIG5fX29iaikgewoJJEVSUk9SKCcjNScpOwp9Cgo=","commentary":"When the Object(value) is called and the value is null, undefined or not supplied,\ncreate and return a new Object object if the object constructor had been called with the same arguments (15.2.2.1)","description":"Creating Object(null) and checking its properties","path":"TestCases/ch15/15.2/15.2.1/S15.2.1.1_A1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuIHRoZSBPYmplY3QodmFsdWUpIGlzIGNhbGxlZCBhbmQgdGhlIHZhbHVlIGlzIG51bGwsIHVuZGVmaW5lZCBvciBub3Qgc3VwcGxpZWQsCiAqIGNyZWF0ZSBhbmQgcmV0dXJuIGEgbmV3IE9iamVjdCBvYmplY3QgaWYgdGhlIG9iamVjdCBjb25zdHJ1Y3RvciBoYWQgYmVlbiBjYWxsZWQgd2l0aCB0aGUgc2FtZSBhcmd1bWVudHMgKDE1LjIuMi4xKQogKgogKiBAcGF0aCBjaDE1LzE1LjIvMTUuMi4xL1MxNS4yLjEuMV9BMV9UMi5qcwogKiBAZGVzY3JpcHRpb24gQ3JlYXRpbmcgT2JqZWN0KHZvaWQgMCkgYW5kIGNoZWNraW5nIGl0cyBwcm9wZXJ0aWVzCiAqLwoKLy92YXIgeT0gdm9pZCAwOwoKdmFyIF9fb2JqID0gT2JqZWN0KHZvaWQgMCk7Cgp2YXIgbl9fb2JqID0gbmV3IE9iamVjdCh2b2lkIDApOwoKCmlmIChfX29iai50b1N0cmluZygpICE9PSBuX19vYmoudG9TdHJpbmcoKSl7CgkkRVJST1IoJyMxJyk7CQp9CgppZiAoX19vYmouY29uc3RydWN0b3IgIT09IG5fX29iai5jb25zdHJ1Y3RvcikgewoJJEVSUk9SKCcjMicpOwp9CgppZiAoX19vYmoucHJvdG90eXBlICE9PSBuX19vYmoucHJvdG90eXBlKSB7CgkkRVJST1IoJyMzJyk7Cn0JCgppZiAoX19vYmoudG9Mb2NhbGVTdHJpbmcoKSAhPT0gbl9fb2JqLnRvTG9jYWxlU3RyaW5nKCkpIHsKCSRFUlJPUignIzQnKTsKfQoKaWYgKHR5cGVvZiBfX29iaiAhPT0gdHlwZW9mIG5fX29iaikgewoJJEVSUk9SKCcjNScpOwp9Cgo=","commentary":"When the Object(value) is called and the value is null, undefined or not supplied,\ncreate and return a new Object object if the object constructor had been called with the same arguments (15.2.2.1)","description":"Creating Object(void 0) and checking its properties","path":"TestCases/ch15/15.2/15.2.1/S15.2.1.1_A1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuIHRoZSBPYmplY3QodmFsdWUpIGlzIGNhbGxlZCBhbmQgdGhlIHZhbHVlIGlzIG51bGwsIHVuZGVmaW5lZCBvciBub3Qgc3VwcGxpZWQsCiAqIGNyZWF0ZSBhbmQgcmV0dXJuIGEgbmV3IE9iamVjdCBvYmplY3QgaWYgdGhlIG9iamVjdCBjb25zdHJ1Y3RvciBoYWQgYmVlbiBjYWxsZWQgd2l0aCB0aGUgc2FtZSBhcmd1bWVudHMgKDE1LjIuMi4xKQogKgogKiBAcGF0aCBjaDE1LzE1LjIvMTUuMi4xL1MxNS4yLjEuMV9BMV9UMy5qcwogKiBAZGVzY3JpcHRpb24gQ3JlYXRpbmcgT2JqZWN0KCkgYW5kIGNoZWNraW5nIGl0cyBwcm9wZXJ0aWVzCiAqLwoKdmFyIF9fb2JqID0gT2JqZWN0KCk7Cgp2YXIgbl9fb2JqID0gbmV3IE9iamVjdCgpOwogCmlmIChfX29iai50b1N0cmluZygpICE9PSBuX19vYmoudG9TdHJpbmcoKSl7CgkkRVJST1IoJyMxJyk7CQp9CgppZiAoX19vYmouY29uc3RydWN0b3IgIT09IG5fX29iai5jb25zdHJ1Y3RvcikgewoJJEVSUk9SKCcjMicpOwp9CgppZiAoX19vYmoucHJvdG90eXBlICE9PSBuX19vYmoucHJvdG90eXBlKSB7CgkkRVJST1IoJyMzJyk7Cn0JCgppZiAoX19vYmoudG9Mb2NhbGVTdHJpbmcoKSAhPT0gbl9fb2JqLnRvTG9jYWxlU3RyaW5nKCkpIHsKCSRFUlJPUignIzQnKTsKfQoKaWYgKHR5cGVvZiBfX29iaiAhPT0gdHlwZW9mIG5fX29iaikgewoJJEVSUk9SKCcjNScpOwp9Cgo=","commentary":"When the Object(value) is called and the value is null, undefined or not supplied,\ncreate and return a new Object object if the object constructor had been called with the same arguments (15.2.2.1)","description":"Creating Object() and checking its properties","path":"TestCases/ch15/15.2/15.2.1/S15.2.1.1_A1_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuIHRoZSBPYmplY3QodmFsdWUpIGlzIGNhbGxlZCBhbmQgdGhlIHZhbHVlIGlzIG51bGwsIHVuZGVmaW5lZCBvciBub3Qgc3VwcGxpZWQsCiAqIGNyZWF0ZSBhbmQgcmV0dXJuIGEgbmV3IE9iamVjdCBvYmplY3QgaWYgdGhlIG9iamVjdCBjb25zdHJ1Y3RvciBoYWQgYmVlbiBjYWxsZWQgd2l0aCB0aGUgc2FtZSBhcmd1bWVudHMgKDE1LjIuMi4xKQogKgogKiBAcGF0aCBjaDE1LzE1LjIvMTUuMi4xL1MxNS4yLjEuMV9BMV9UNC5qcwogKiBAZGVzY3JpcHRpb24gQ3JlYXRpbmcgT2JqZWN0KHVuZGVmaW5lZCkgYW5kIGNoZWNraW5nIGl0cyBwcm9wZXJ0aWVzCiAqLwoKdmFyIF9fb2JqID0gT2JqZWN0KHVuZGVmaW5lZCk7Cgp2YXIgbl9fb2JqID0gbmV3IE9iamVjdCh1bmRlZmluZWQpOyAKCmlmIChfX29iai50b1N0cmluZygpICE9PSBuX19vYmoudG9TdHJpbmcoKSl7CgkkRVJST1IoJyMxJyk7CQp9CgppZiAoX19vYmouY29uc3RydWN0b3IgIT09IG5fX29iai5jb25zdHJ1Y3RvcikgewoJJEVSUk9SKCcjMicpOwp9CgppZiAoX19vYmoucHJvdG90eXBlICE9PSBuX19vYmoucHJvdG90eXBlKSB7CgkkRVJST1IoJyMzJyk7Cn0JCgppZiAoX19vYmoudG9Mb2NhbGVTdHJpbmcoKSAhPT0gbl9fb2JqLnRvTG9jYWxlU3RyaW5nKCkpIHsKCSRFUlJPUignIzQnKTsKfQoKaWYgKHR5cGVvZiBfX29iaiAhPT0gdHlwZW9mIG5fX29iaikgewoJJEVSUk9SKCcjNScpOwp9Cgo=","commentary":"When the Object(value) is called and the value is null, undefined or not supplied,\ncreate and return a new Object object if the object constructor had been called with the same arguments (15.2.2.1)","description":"Creating Object(undefined) and checking its properties","path":"TestCases/ch15/15.2/15.2.1/S15.2.1.1_A1_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuIHRoZSBPYmplY3QodmFsdWUpIGlzIGNhbGxlZCBhbmQgdGhlIHZhbHVlIGlzIG51bGwsIHVuZGVmaW5lZCBvciBub3Qgc3VwcGxpZWQsCiAqIGNyZWF0ZSBhbmQgcmV0dXJuIGEgbmV3IE9iamVjdCBvYmplY3QgaWYgdGhlIG9iamVjdCBjb25zdHJ1Y3RvciBoYWQgYmVlbiBjYWxsZWQgd2l0aCB0aGUgc2FtZSBhcmd1bWVudHMgKDE1LjIuMi4xKQogKgogKiBAcGF0aCBjaDE1LzE1LjIvMTUuMi4xL1MxNS4yLjEuMV9BMV9UNS5qcwogKiBAZGVzY3JpcHRpb24gQ3JlYXRpbmcgT2JqZWN0KHgpIGFuZCBjaGVja2luZyBpdHMgcHJvcGVydGllcwogKi8KCnZhciBfX29iaiA9IE9iamVjdCh4KTsKCnZhciBuX19vYmogPSBuZXcgT2JqZWN0KHgpOyAKCmlmIChfX29iai50b1N0cmluZygpICE9PSBuX19vYmoudG9TdHJpbmcoKSl7CgkkRVJST1IoJyMxJyk7CQp9CgppZiAoX19vYmouY29uc3RydWN0b3IgIT09IG5fX29iai5jb25zdHJ1Y3RvcikgewoJJEVSUk9SKCcjMicpOwp9CgppZiAoX19vYmoucHJvdG90eXBlICE9PSBuX19vYmoucHJvdG90eXBlKSB7CgkkRVJST1IoJyMzJyk7Cn0JCgppZiAoX19vYmoudG9Mb2NhbGVTdHJpbmcoKSAhPT0gbl9fb2JqLnRvTG9jYWxlU3RyaW5nKCkpIHsKCSRFUlJPUignIzQnKTsKfQoKaWYgKHR5cGVvZiBfX29iaiAhPT0gdHlwZW9mIG5fX29iaikgewoJJEVSUk9SKCcjNScpOwp9Cgp2YXIgeDsKCg==","commentary":"When the Object(value) is called and the value is null, undefined or not supplied,\ncreate and return a new Object object if the object constructor had been called with the same arguments (15.2.2.1)","description":"Creating Object(x) and checking its properties","path":"TestCases/ch15/15.2/15.2.1/S15.2.1.1_A1_T5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuIHRoZSBPYmplY3QgZnVuY3Rpb24gaXMgY2FsbGVkIHdpdGggb25lIGFyZ3VtZW50IHZhbHVlLAogKiBhbmQgdGhlIHZhbHVlIG5laXRoZXIgaXMgbnVsbCBub3IgdW5kZWZpbmVkLCBhbmQgaXMgc3VwcGxpZWQsIHJldHVybiBUb09iamVjdCh2YWx1ZSkKICoKICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMS9TMTUuMi4xLjFfQTJfVDEuanMKICogQGRlc2NyaXB0aW9uIENhbGxpbmcgT2JqZWN0IGZ1bmN0aW9uIHdpdGggYm9vbGVhbiBhcmd1bWVudCB2YWx1ZQogKi8KCnZhciBib29sID0gdHJ1ZTsKCmlmKHR5cGVvZiBib29sICE9PSAnYm9vbGVhbicpewogICRGQUlMKCcjMTogYm9vbCBzaG91bGQgYmUgYm9vbGVhbiBwcmltaXRpdmUnKTsKfQoKdmFyIG9iaiA9IE9iamVjdChib29sKTsKCmlmIChvYmouY29uc3RydWN0b3IgIT09IEJvb2xlYW4pIHsKICAkRVJST1IoJyMyOiBPYmplY3QodHJ1ZSkgcmV0dXJucyBUb09iamVjdCh0cnVlKScpOwp9CgppZiAodHlwZW9mIG9iaiAhPT0gIm9iamVjdCIpIHsKICAkRVJST1IoJyMzOiBPYmplY3QodHJ1ZSkgcmV0dXJucyBUb09iamVjdCh0cnVlKScpOwp9CgppZiAoIW9iaikgewogICRFUlJPUignIzQ6IE9iamVjdCh0cnVlKSByZXR1cm5zIFRvT2JqZWN0KHRydWUpJyk7Cn0KCmlmIChvYmogPT09IHRydWUpIHsKICAkRVJST1IoJyM1OiBPYmplY3QodHJ1ZSkgcmV0dXJucyBUb09iamVjdCh0cnVlKScpOwp9Cgo=","commentary":"When the Object function is called with one argument value,\nand the value neither is null nor undefined, and is supplied, return ToObject(value)","description":"Calling Object function with boolean argument value","path":"TestCases/ch15/15.2/15.2.1/S15.2.1.1_A2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuIHRoZSBPYmplY3QgZnVuY3Rpb24gaXMgY2FsbGVkIHdpdGggb25lIGFyZ3VtZW50IHZhbHVlLAogKiBhbmQgdGhlIHZhbHVlIG5laXRoZXIgaXMgbnVsbCBub3IgdW5kZWZpbmVkLCBhbmQgaXMgc3VwcGxpZWQsIHJldHVybiBUb09iamVjdCh2YWx1ZSkKICoKICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMS9TMTUuMi4xLjFfQTJfVDEwLmpzCiAqIEBkZXNjcmlwdGlvbiBDYWxsaW5nIE9iamVjdCBmdW5jdGlvbiB3aXRoIGFycmF5IG9mIG51bWJlcnMgYXMgYXJndW1lbnQgdmFsdWUKICovCgp2YXIgYXJyID0gWzEsMiwzXTsKCi8vQ0hFQ0sjMQppZiAodHlwZW9mIGFyciAhPT0gJ29iamVjdCcpIHsKICAkRVJST1IoJyMxOiBhcnIgPSBbMSwyLDNdIGlzIE5PVCBhbiBvYmplY3QnKTsKfQoKdmFyIG5fb2JqID0gT2JqZWN0KGFycik7CgphcnIucHVzaCg0KTsKCi8vQ0hFQ0sjMgppZiAoKG5fb2JqICE9PSBhcnIpfHwobl9vYmpbM10hPT00KSkgewogICRFUlJPUignIzI6IE9iamVjdChbMSwyLDNdKSByZXR1cm5zIFRvT2JqZWN0KFsxLDIsM10pJyk7Cn0KCgoKCg==","commentary":"When the Object function is called with one argument value,\nand the value neither is null nor undefined, and is supplied, return ToObject(value)","description":"Calling Object function with array of numbers as argument value","path":"TestCases/ch15/15.2/15.2.1/S15.2.1.1_A2_T10.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuIHRoZSBPYmplY3QgZnVuY3Rpb24gaXMgY2FsbGVkIHdpdGggb25lIGFyZ3VtZW50IHZhbHVlLAogKiBhbmQgdGhlIHZhbHVlIG5laXRoZXIgaXMgbnVsbCBub3IgdW5kZWZpbmVkLCBhbmQgaXMgc3VwcGxpZWQsIHJldHVybiBUb09iamVjdCh2YWx1ZSkKICoKICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMS9TMTUuMi4xLjFfQTJfVDExLmpzCiAqIEBkZXNjcmlwdGlvbiBDYWxsaW5nIE9iamVjdCBmdW5jdGlvbiB3aXRoIGZ1bmN0aW9uIGRlY2xhcmF0aW9uIGFzIGFyZ3VtZW50IHZhbHVlCiAqLwoKLy9DSEVDSyMxCmlmICh0eXBlb2YgZnVuYyAhPT0gJ3VuZGVmaW5lZCcpIHsKICAkRVJST1IoJyMxOiAgZnVuY3Rpb24gZXhwcmVzc2lvbiBjYW5cJ3QgYmUgZGVjbGFyYXRlZCcpOwp9Cgp2YXIgbl9vYmogPSBPYmplY3QoZnVuY3Rpb24gZnVuYygpe3JldHVybiAxO30pOwoKLy9DSEVDSyMyCmlmICgobl9vYmouY29uc3RydWN0b3IgIT09IEZ1bmN0aW9uKXx8KG5fb2JqKCkhPT0xKSkgewogICRFUlJPUignIzI6IE9iamVjdChmdW5jdGlvbiBmdW5jKCl7cmV0dXJuIDE7fSkgcmV0dXJucyBmdW5jdGlvbicpOwp9CgovL0NIRUNLIzMKaWYgKHR5cGVvZiBmdW5jICE9PSAndW5kZWZpbmVkJykgewogICRFUlJPUignIzM6ICBmdW5jdGlvbiBleHByZXNzaW9uIGNhblwndCBiZSBkZWNsYXJhdGVkJyk7Cn0KCgo=","commentary":"When the Object function is called with one argument value,\nand the value neither is null nor undefined, and is supplied, return ToObject(value)","description":"Calling Object function with function declaration as argument value","path":"TestCases/ch15/15.2/15.2.1/S15.2.1.1_A2_T11.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuIHRoZSBPYmplY3QgZnVuY3Rpb24gaXMgY2FsbGVkIHdpdGggb25lIGFyZ3VtZW50IHZhbHVlLAogKiBhbmQgdGhlIHZhbHVlIG5laXRoZXIgaXMgbnVsbCBub3IgdW5kZWZpbmVkLCBhbmQgaXMgc3VwcGxpZWQsIHJldHVybiBUb09iamVjdCh2YWx1ZSkKICoKICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMS9TMTUuMi4xLjFfQTJfVDEyLmpzCiAqIEBkZXNjcmlwdGlvbiBDYWxsaW5nIE9iamVjdCBmdW5jdGlvbiB3aXRoIG51bWVyaWMgZXhwcmVzc2lvbiBhcyBhcmd1bWVudCB2YWx1ZQogKi8KCnZhciBvYmogPSBPYmplY3QoMS4xKihbXS5sZW5ndGgre3E6MX1bInEiXSkpOwoKLy9DSEVDSyMyCmlmICh0eXBlb2Ygb2JqICE9PSAib2JqZWN0IikgewogICRFUlJPUignIzI6IE9iamVjdChleHByZXNzaW9uKSByZXR1cm5zIFRvT2JqZWN0KGV4cHJlc3Npb24pJyk7Cn0KCi8vQ0hFQ0sjMwppZiAob2JqLmNvbnN0cnVjdG9yICE9PSBOdW1iZXIpIHsKICAkRVJST1IoJyMzOiBPYmplY3QoZXhwcmVzc2lvbikgcmV0dXJucyBUb09iamVjdChleHByZXNzaW9uKScpOwp9CgovL0NIRUNLIzQKaWYgKChvYmogIT0gMS4xKXx8KG9iaiA9PT0gMS4xKSkgewogICRFUlJPUignIzQ6IE9iamVjdChleHByZXNzaW9uKSByZXR1cm5zIFRvT2JqZWN0KGV4cHJlc3Npb24pJyk7Cn0KLy8KCg==","commentary":"When the Object function is called with one argument value,\nand the value neither is null nor undefined, and is supplied, return ToObject(value)","description":"Calling Object function with numeric expression as argument value","path":"TestCases/ch15/15.2/15.2.1/S15.2.1.1_A2_T12.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuIHRoZSBPYmplY3QgZnVuY3Rpb24gaXMgY2FsbGVkIHdpdGggb25lIGFyZ3VtZW50IHZhbHVlLAogKiBhbmQgdGhlIHZhbHVlIG5laXRoZXIgaXMgbnVsbCBub3IgdW5kZWZpbmVkLCBhbmQgaXMgc3VwcGxpZWQsIHJldHVybiBUb09iamVjdCh2YWx1ZSkKICoKICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMS9TMTUuMi4xLjFfQTJfVDEzLmpzCiAqIEBkZXNjcmlwdGlvbiBDYWxsaW5nIE9iamVjdCBmdW5jdGlvbiB3aXRoIGJvb2xlYW4gZXhwcmVzc2lvbiBhcyBhcmd1bWVudCB2YWx1ZQogKi8KCnZhciBvYmogPSBPYmplY3QoKDE9PT0xKSYmKCFmYWxzZSkpOwoKLy9DSEVDSyMxCmlmIChvYmouY29uc3RydWN0b3IgIT09IEJvb2xlYW4pIHsKICAkRVJST1IoJyMxOiBPYmplY3QoZXhwcmVzc2lvbikgcmV0dXJucyBUb09iamVjdChleHByZXNzaW9uKScpOwp9CgovL0NIRUNLIzEuMQppZiAodHlwZW9mIG9iaiAhPT0gIm9iamVjdCIpIHsKICAkRVJST1IoJyMxLjE6IE9iamVjdChleHByZXNzaW9uKSByZXR1cm5zIFRvT2JqZWN0KGV4cHJlc3Npb24pJyk7Cn0KCi8vQ0hFQ0sjMgppZiAoIShvYmopKSB7CiAgJEVSUk9SKCcjMjogT2JqZWN0KGV4cHJlc3Npb24pIHJldHVybnMgVG9PYmplY3QoZXhwcmVzc2lvbiknKTsKfQoKLy9DSEVDSyMzCmlmIChvYmo9PT10cnVlKSB7CiAgJEVSUk9SKCcjMzogT2JqZWN0KGV4cHJlc3Npb24pIHJldHVybnMgVG9PYmplY3QoZXhwcmVzc2lvbiknKTsKfQoK","commentary":"When the Object function is called with one argument value,\nand the value neither is null nor undefined, and is supplied, return ToObject(value)","description":"Calling Object function with boolean expression as argument value","path":"TestCases/ch15/15.2/15.2.1/S15.2.1.1_A2_T13.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuIHRoZSBPYmplY3QgZnVuY3Rpb24gaXMgY2FsbGVkIHdpdGggb25lIGFyZ3VtZW50IHZhbHVlLAogKiBhbmQgdGhlIHZhbHVlIG5laXRoZXIgaXMgbnVsbCBub3IgdW5kZWZpbmVkLCBhbmQgaXMgc3VwcGxpZWQsIHJldHVybiBUb09iamVjdCh2YWx1ZSkKICoKICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMS9TMTUuMi4xLjFfQTJfVDE0LmpzCiAqIEBkZXNjcmlwdGlvbiBDYWxsaW5nIE9iamVjdCBmdW5jdGlvbiB3aXRoIHN1bSBvZiBlbXB0eSBzdHJpbmcgYW5kIGEgbnVtYmVyIGFzIGFyZ3VtZW50IHZhbHVlCiAqLwoKdmFyIG9iaiA9IE9iamVjdCgiIisxKTsKCi8vQ0hFQ0sjMgppZiAob2JqLmNvbnN0cnVjdG9yICE9PSBTdHJpbmcpIHsKICAkRVJST1IoJyMyOiBPYmplY3QoZXhwcmVzc2lvbikgcmV0dXJucyBUb09iamVjdChleHByZXNzaW9uKScpOwp9CgovL0NIRUNLIzMKaWYgKHR5cGVvZiBvYmogIT09ICJvYmplY3QiKSB7CiAgJEVSUk9SKCcjMzogT2JqZWN0KGV4cHJlc3Npb24pIHJldHVybnMgVG9PYmplY3QoZXhwcmVzc2lvbiknKTsKfQoKLy9DSEVDSyM0CmlmICgob2JqICE9ICIxIil8fChvYmogPT09ICIxIikpIHsKICAkRVJST1IoJyM0OiBPYmplY3QoZXhwcmVzc2lvbikgcmV0dXJucyBUb09iamVjdChleHByZXNzaW9uKScpOwp9Cgo=","commentary":"When the Object function is called with one argument value,\nand the value neither is null nor undefined, and is supplied, return ToObject(value)","description":"Calling Object function with sum of empty string and a number as argument value","path":"TestCases/ch15/15.2/15.2.1/S15.2.1.1_A2_T14.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuIHRoZSBPYmplY3QgZnVuY3Rpb24gaXMgY2FsbGVkIHdpdGggb25lIGFyZ3VtZW50IHZhbHVlLAogKiBhbmQgdGhlIHZhbHVlIG5laXRoZXIgaXMgbnVsbCBub3IgdW5kZWZpbmVkLCBhbmQgaXMgc3VwcGxpZWQsIHJldHVybiBUb09iamVjdCh2YWx1ZSkKICoKICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMS9TMTUuMi4xLjFfQTJfVDIuanMKICogQGRlc2NyaXB0aW9uIENhbGxpbmcgT2JqZWN0IGZ1bmN0aW9uIHdpdGggbnVtYmVyIGFyZ3VtZW50IHZhbHVlCiAqLwoKdmFyIG51bSA9IDEuMTsKCi8vIENIRUNLIzEKaWYodHlwZW9mIG51bSAgIT09ICdudW1iZXInKXsKICAkRVJST1IoJyMxOiBudW0gPSAxLjEgc2hvdWxkIGJlIE51bWJlciBwcmltaXRpdmUnKTsKfQoKdmFyIG9iaiA9IE9iamVjdChudW0pOwoKLy9DSEVDSyMyCmlmICh0eXBlb2Ygb2JqICE9PSAib2JqZWN0IikgewogICRFUlJPUignIzI6IE9iamVjdCgxLjEpIHJldHVybnMgVG9PYmplY3QoMS4xKScpOwp9CgovL0NIRUNLIzMKaWYgKG9iai5jb25zdHJ1Y3RvciAhPT0gTnVtYmVyKSB7CiAgJEVSUk9SKCcjMzogT2JqZWN0KDEuMSkgcmV0dXJucyBUb09iamVjdCgxLjEpJyk7Cn0KCi8vQ0hFQ0sjNAppZiAoKG9iaiAhPSAxLjEpfHwob2JqID09PSAxLjEpKSB7CiAgJEVSUk9SKCcjNDogT2JqZWN0KDEuMSkgcmV0dXJucyBUb09iamVjdCgxLjEpJyk7Cn0KLy8KCg==","commentary":"When the Object function is called with one argument value,\nand the value neither is null nor undefined, and is supplied, return ToObject(value)","description":"Calling Object function with number argument value","path":"TestCases/ch15/15.2/15.2.1/S15.2.1.1_A2_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuIHRoZSBPYmplY3QgZnVuY3Rpb24gaXMgY2FsbGVkIHdpdGggb25lIGFyZ3VtZW50IHZhbHVlLAogKiBhbmQgdGhlIHZhbHVlIG5laXRoZXIgaXMgbnVsbCBub3IgdW5kZWZpbmVkLCBhbmQgaXMgc3VwcGxpZWQsIHJldHVybiBUb09iamVjdCh2YWx1ZSkKICoKICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMS9TMTUuMi4xLjFfQTJfVDMuanMKICogQGRlc2NyaXB0aW9uIENhbGxpbmcgT2JqZWN0IGZ1bmN0aW9uIHdpdGggc3RyaW5nIGFyZ3VtZW50IHZhbHVlCiAqLwoKdmFyIHN0ciA9ICdMdWtlIFNreXdhbGtlcic7CgovLyBDSEVDSyMxCmlmICh0eXBlb2Ygc3RyICAhPT0gJ3N0cmluZycpIHsKICAkRVJST1IoJyMxOiAiTHVrZSBTa3l3YWxrZXIiIHNob3VsZCBiZSBhIFN0cmluZyBwcmltaXRpdmUnKTsKfQoKdmFyIG9iaiA9IE9iamVjdChzdHIpOwoKLy9DSEVDSyMyCmlmIChvYmouY29uc3RydWN0b3IgIT09IFN0cmluZykgewogICRFUlJPUignIzI6IE9iamVjdCgiTHVrZSBTa3l3YWxrZXIiKSByZXR1cm5zIFRvT2JqZWN0KCJMdWtlIFNreXdhbGtlciIpJyk7Cn0KCi8vQ0hFQ0sjMwppZiAodHlwZW9mIG9iaiAhPT0gIm9iamVjdCIpIHsKICAkRVJST1IoJyMzOiBPYmplY3QoIkx1a2UgU2t5d2Fsa2VyIikgcmV0dXJucyBUb09iamVjdCgiTHVrZSBTa3l3YWxrZXIiKScpOwp9CgovL0NIRUNLIzQKaWYgKChvYmogIT0gIkx1a2UgU2t5d2Fsa2VyIil8fChvYmogPT09ICJMdWtlIFNreXdhbGtlciIpKSB7CiAgJEVSUk9SKCcjNDogT2JqZWN0KCJMdWtlIFNreXdhbGtlciIpIHJldHVybnMgVG9PYmplY3QoIkx1a2UgU2t5d2Fsa2VyIiknKTsKfQoK","commentary":"When the Object function is called with one argument value,\nand the value neither is null nor undefined, and is supplied, return ToObject(value)","description":"Calling Object function with string argument value","path":"TestCases/ch15/15.2/15.2.1/S15.2.1.1_A2_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuIHRoZSBPYmplY3QgZnVuY3Rpb24gaXMgY2FsbGVkIHdpdGggb25lIGFyZ3VtZW50IHZhbHVlLAogKiBhbmQgdGhlIHZhbHVlIG5laXRoZXIgaXMgbnVsbCBub3IgdW5kZWZpbmVkLCBhbmQgaXMgc3VwcGxpZWQsIHJldHVybiBUb09iamVjdCh2YWx1ZSkKICoKICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMS9TMTUuMi4xLjFfQTJfVDQuanMKICogQGRlc2NyaXB0aW9uIENhbGxpbmcgT2JqZWN0IGZ1bmN0aW9uIHdpdGggb2JqZWN0IGFyZ3VtZW50IHZhbHVlCiAqLwoKdmFyIG9iaiA9IHtmbGFnOnRydWV9OwoKLy9DSEVDSyMxCmlmICh0eXBlb2Yob2JqKSAhPT0gJ29iamVjdCcpIHsKICAkRkFJTCgnIzE6IG9iaiA9IHtmbGFnOnRydWV9IHNob3VsZCBiZSBhbiBPYmplY3QnKTsKfQoKdmFyIG5fb2JqID0gT2JqZWN0KG9iaik7CgovL0NIRUNLIzIKaWYgKChuX29iaiAhPT0gb2JqKXx8KCEobl9vYmpbJ2ZsYWcnXSkpKSB7CiAgJEVSUk9SKCcjMjogT2JqZWN0KHtmbGFnOnRydWV9KSByZXR1cm5zIFRvT2JqZWN0KHtmbGFnOnRydWV9KScpOwp9CgoK","commentary":"When the Object function is called with one argument value,\nand the value neither is null nor undefined, and is supplied, return ToObject(value)","description":"Calling Object function with object argument value","path":"TestCases/ch15/15.2/15.2.1/S15.2.1.1_A2_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuIHRoZSBPYmplY3QgZnVuY3Rpb24gaXMgY2FsbGVkIHdpdGggb25lIGFyZ3VtZW50IHZhbHVlLAogKiBhbmQgdGhlIHZhbHVlIG5laXRoZXIgaXMgbnVsbCBub3IgdW5kZWZpbmVkLCBhbmQgaXMgc3VwcGxpZWQsIHJldHVybiBUb09iamVjdCh2YWx1ZSkKICoKICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMS9TMTUuMi4xLjFfQTJfVDUuanMKICogQGRlc2NyaXB0aW9uIENhbGxpbmcgT2JqZWN0IGZ1bmN0aW9uIHdpdGggTmFOIGFyZ3VtZW50IHZhbHVlCiAqLwoKdmFyIG51bSA9IE5hTjsKCi8vIENIRUNLIzEKaWYodHlwZW9mIG51bSAgIT09ICdudW1iZXInKXsKICAkRVJST1IoJyMxOiBudW0gPSBOYU4gc2hvdWxkIGhhdmUgbnVtYmVyIHR5cGUnKTsKfQoKdmFyIG9iaiA9IE9iamVjdChudW0pOwoKLy9DSEVDSyMyCmlmIChvYmouY29uc3RydWN0b3IgIT09IE51bWJlcikgewogICRFUlJPUignIzI6IE9iamVjdChOYU4pIHJldHVybnMgVG9PYmplY3QoTmFOKScpOwp9CgovL0NIRUNLIzMKaWYgKHR5cGVvZiBvYmohPT0ib2JqZWN0IikgewogICRFUlJPUignIzI6IE9iamVjdChOYU4pIHJldHVybnMgVG9PYmplY3QoTmFOKScpOwp9Ci8vCgo=","commentary":"When the Object function is called with one argument value,\nand the value neither is null nor undefined, and is supplied, return ToObject(value)","description":"Calling Object function with NaN argument value","path":"TestCases/ch15/15.2/15.2.1/S15.2.1.1_A2_T5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuIHRoZSBPYmplY3QgZnVuY3Rpb24gaXMgY2FsbGVkIHdpdGggb25lIGFyZ3VtZW50IHZhbHVlLAogKiBhbmQgdGhlIHZhbHVlIG5laXRoZXIgaXMgbnVsbCBub3IgdW5kZWZpbmVkLCBhbmQgaXMgc3VwcGxpZWQsIHJldHVybiBUb09iamVjdCh2YWx1ZSkKICoKICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMS9TMTUuMi4xLjFfQTJfVDYuanMKICogQGRlc2NyaXB0aW9uIENhbGxpbmcgT2JqZWN0IGZ1bmN0aW9uIHdpdGggSW5maW5pdHkgYXJndW1lbnQgdmFsdWUKICovCgp2YXIgbnVtID0gSW5maW5pdHk7CgovLyBDSEVDSyMxCmlmKHR5cGVvZiBudW0gICE9PSAnbnVtYmVyJyl7CiAgJEVSUk9SKCcjMTogbnVtID0gSW5maW5pdHkgc2hvdWxkIGJlIGEgTnVtYmVyIHByaW1pdGl2ZScpOwp9Cgp2YXIgb2JqID0gT2JqZWN0KG51bSk7CgovL0NIRUNLIzIKaWYgKG9iai5jb25zdHJ1Y3RvciAhPT0gTnVtYmVyKSB7CiAgJEVSUk9SKCcjMjogT2JqZWN0KEluZmluaXR5KSByZXR1cm5zIFRvT2JqZWN0KEluZmluaXR5KScpOwp9CgovL0NIRUNLIzMKaWYgKHR5cGVvZiBvYmohPT0ib2JqZWN0IikgewogICRFUlJPUignIzM6IE9iamVjdChJbmZpbml0eSkgcmV0dXJucyBUb09iamVjdChJbmZpbml0eSknKTsKfQoKLy9DSEVDSyM0CmlmICgob2JqICE9IEluZmluaXR5KXx8KG9iaiA9PT0gSW5maW5pdHkpKSB7CiAgJEVSUk9SKCcjNDogT2JqZWN0KEluZmluaXR5KSByZXR1cm5zIFRvT2JqZWN0KEluZmluaXR5KScpOwp9CgoK","commentary":"When the Object function is called with one argument value,\nand the value neither is null nor undefined, and is supplied, return ToObject(value)","description":"Calling Object function with Infinity argument value","path":"TestCases/ch15/15.2/15.2.1/S15.2.1.1_A2_T6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuIHRoZSBPYmplY3QgZnVuY3Rpb24gaXMgY2FsbGVkIHdpdGggb25lIGFyZ3VtZW50IHZhbHVlLAogKiBhbmQgdGhlIHZhbHVlIG5laXRoZXIgaXMgbnVsbCBub3IgdW5kZWZpbmVkLCBhbmQgaXMgc3VwcGxpZWQsIHJldHVybiBUb09iamVjdCh2YWx1ZSkKICoKICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMS9TMTUuMi4xLjFfQTJfVDcuanMKICogQGRlc2NyaXB0aW9uIENhbGxpbmcgT2JqZWN0IGZ1bmN0aW9uIHdpdGggZW1wdHkgc3RyaW5nIGFyZ3VtZW50IHZhbHVlCiAqLwoKdmFyIHN0ciA9ICcnOwoKLy8gQ0hFQ0sjMQppZiAodHlwZW9mKHN0cikgIT09ICdzdHJpbmcnKSB7CiAgJEZBSUwoJyMxOiAiIiBpcyBOT1QgYSBTdHJpbmcnKTsKfQoKdmFyIG9iaiA9IE9iamVjdChzdHIpOwoKLy9DSEVDSyMyCmlmIChvYmouY29uc3RydWN0b3IgIT09IFN0cmluZykgewogICRFUlJPUignIzI6IE9iamVjdCgiIikgcmV0dXJucyBUb09iamVjdCgiIiknKTsKfQoKLy9DSEVDSyMzCmlmICh0eXBlb2Ygb2JqICE9PSAib2JqZWN0IikgewogICRFUlJPUignIzM6IE9iamVjdCgiIikgcmV0dXJucyBUb09iamVjdCgiIiknKTsKfQoKLy9DSEVDSyM0CmlmICgob2JqICE9ICIiKXx8KG9iaiA9PT0gIiIpKSB7CiAgJEVSUk9SKCcjNDogT2JqZWN0KCIiKSByZXR1cm5zIFRvT2JqZWN0KCIiKScpOwp9Cgo=","commentary":"When the Object function is called with one argument value,\nand the value neither is null nor undefined, and is supplied, return ToObject(value)","description":"Calling Object function with empty string argument value","path":"TestCases/ch15/15.2/15.2.1/S15.2.1.1_A2_T7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuIHRoZSBPYmplY3QgZnVuY3Rpb24gaXMgY2FsbGVkIHdpdGggb25lIGFyZ3VtZW50IHZhbHVlLAogKiBhbmQgdGhlIHZhbHVlIG5laXRoZXIgaXMgbnVsbCBub3IgdW5kZWZpbmVkLCBhbmQgaXMgc3VwcGxpZWQsIHJldHVybiBUb09iamVjdCh2YWx1ZSkKICoKICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMS9TMTUuMi4xLjFfQTJfVDguanMKICogQGRlc2NyaXB0aW9uIENhbGxpbmcgT2JqZWN0IGZ1bmN0aW9uIHdpdGggZnVuY3Rpb24gdmFyaWFibGUgYXJndW1lbnQgdmFsdWUKICovCgp2YXIgZnVuYyA9IGZ1bmN0aW9uKCl7cmV0dXJuIDE7fTsKCi8vQ0hFQ0sjMQppZiAodHlwZW9mIGZ1bmMgIT09ICdmdW5jdGlvbicpIHsKICAkRVJST1IoJyMxOiBmdW5jID0gZnVuY3Rpb24oKXtyZXR1cm4gMTt9IGlzIE5PVCBhbiBmdW5jdGlvbicpOwp9Cgp2YXIgbl9vYmogPSBPYmplY3QoZnVuYyk7CgovL0NIRUNLIzIKaWYgKChuX29iaiAhPT0gZnVuYyl8fChuX29iaigpIT09MSkpIHsKICAkRVJST1IoJyMyOiBPYmplY3QoZnVuY3Rpb24pIHJldHVybnMgZnVuY3Rpb24nKTsKfQoKCg==","commentary":"When the Object function is called with one argument value,\nand the value neither is null nor undefined, and is supplied, return ToObject(value)","description":"Calling Object function with function variable argument value","path":"TestCases/ch15/15.2/15.2.1/S15.2.1.1_A2_T8.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuIHRoZSBPYmplY3QgZnVuY3Rpb24gaXMgY2FsbGVkIHdpdGggb25lIGFyZ3VtZW50IHZhbHVlLAogKiBhbmQgdGhlIHZhbHVlIG5laXRoZXIgaXMgbnVsbCBub3IgdW5kZWZpbmVkLCBhbmQgaXMgc3VwcGxpZWQsIHJldHVybiBUb09iamVjdCh2YWx1ZSkKICoKICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMS9TMTUuMi4xLjFfQTJfVDkuanMKICogQGRlc2NyaXB0aW9uIENhbGxpbmcgT2JqZWN0IGZ1bmN0aW9uIHdpdGggZnVuY3Rpb24gYXJndW1lbnQgdmFsdWUuIFRoZSBmdW5jdGlvbiBpcyBkZWNsYXJlZAogKi8KCi8vQ0hFQ0sjMQppZiAodHlwZW9mIGZ1bmMgIT09ICdmdW5jdGlvbicpIHsKICAkRVJST1IoJyMxOiBmdW5jID0gZnVuY3Rpb24oKXtyZXR1cm4gMTt9IGlzIE5PVCBhbiBmdW5jdGlvbicpOwp9Cgp2YXIgbl9vYmogPSBPYmplY3QoZnVuYyk7CgovL0NIRUNLIzIKaWYgKChuX29iaiAhPT0gZnVuYyl8fChuX29iaigpIT09MSkpIHsKICAkRVJST1IoJyMyOiBPYmplY3QoZnVuY3Rpb24pIHJldHVybnMgZnVuY3Rpb24nKTsKfQoKZnVuY3Rpb24gZnVuYygpe3JldHVybiAxO307CgoK","commentary":"When the Object function is called with one argument value,\nand the value neither is null nor undefined, and is supplied, return ToObject(value)","description":"Calling Object function with function argument value. The function is declared","path":"TestCases/ch15/15.2/15.2.1/S15.2.1.1_A2_T9.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTaW5jZSBjYWxsaW5nIE9iamVjdCBhcyBhIGZ1bmN0aW9uIGlzIGlkZW50aWNhbCB0byBjYWxsaW5nIGEgZnVuY3Rpb24sIGxpc3Qgb2YgYXJndW1lbnRzIGJyYWNrZXRpbmcgaXMgYWxsb3dlZAogKgogKiBAcGF0aCBjaDE1LzE1LjIvMTUuMi4xL1MxNS4yLjEuMV9BM19UMS5qcwogKiBAZGVzY3JpcHRpb24gQ3JlYXRpbmcgYW4gb2JqZWN0IHdpdGggIk9iamVjdCgxLDIsMykiCiAqLwoKdmFyIG9iaiA9IE9iamVjdCgxLDIsMyk7CgovL0NIRUNLIzEKaWYgKG9iai5jb25zdHJ1Y3RvciAhPT0gTnVtYmVyKSB7CiAgJEVSUk9SKCcjMTogU2luY2UgT2JqZWN0IGFzIGEgZnVuY3Rpb24gY2FsbGluZyBpcyB0aGUgc2FtZSBhcyBmdW5jdGlvbiBjYWxsaW5nIGxpc3Qgb2YgYXJndW1lbnRzIGNhbiBhcHBlYXJzIGluIGJyYWNlczsnKTsKfQoKLy9DSEVDSyMyCmlmICh0eXBlb2Ygb2JqICE9PSAib2JqZWN0IikgewogICRFUlJPUignIzI6IFNpbmNlIE9iamVjdCBhcyBhIGZ1bmN0aW9uIGNhbGxpbmcgaXMgdGhlIHNhbWUgYXMgZnVuY3Rpb24gY2FsbGluZyBsaXN0IG9mIGFyZ3VtZW50cyBjYW4gYXBwZWFycyBpbiBicmFjZXM7Jyk7Cn0KCi8vQ0hFQ0sjMwppZiAoKG9iaiAhPSAxKXx8KG9iaiA9PT0gMSkpIHsKICAkRVJST1IoJzMjOiBTaW5jZSBPYmplY3QgYXMgYSBmdW5jdGlvbiBjYWxsaW5nIGlzIHRoZSBzYW1lIGFzIGZ1bmN0aW9uIGNhbGxpbmcgbGlzdCBvZiBhcmd1bWVudHMgY2FuIGFwcGVhcnMgaW4gYnJhY2VzOycpOwp9Cgo=","commentary":"Since calling Object as a function is identical to calling a function, list of arguments bracketing is allowed","description":"Creating an object with \"Object(1,2,3)\"","path":"TestCases/ch15/15.2/15.2.1/S15.2.1.1_A3_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTaW5jZSBjYWxsaW5nIE9iamVjdCBhcyBhIGZ1bmN0aW9uIGlzIGlkZW50aWNhbCB0byBjYWxsaW5nIGEgZnVuY3Rpb24sIGxpc3Qgb2YgYXJndW1lbnRzIGJyYWNrZXRpbmcgaXMgYWxsb3dlZAogKgogKiBAcGF0aCBjaDE1LzE1LjIvMTUuMi4xL1MxNS4yLjEuMV9BM19UMi5qcwogKiBAZGVzY3JpcHRpb24gQ3JlYXRpbmcgYW4gb2JqZWN0IHdpdGggIk9iamVjdChudWxsLDIsMykiCiAqLwoKdmFyIG9iaiA9IE9iamVjdChudWxsLDIsMyk7CgovL0NIRUNLIzEKaWYgKG9iai5jb25zdHJ1Y3RvciAhPT0gT2JqZWN0KSB7CiAgJEVSUk9SKCcjMTogU2luY2UgT2JqZWN0IGFzIGEgZnVuY3Rpb24gY2FsbGluZyBpcyB0aGUgc2FtZSBhcyBmdW5jdGlvbiBjYWxsaW5nIGxpc3Qgb2YgYXJndW1lbnRzIGNhbiBhcHBlYXJzIGluIGJyYWNlczsnKTsKfQoKLy9DSEVDSyMyCmlmICh0eXBlb2Ygb2JqICE9PSAib2JqZWN0IikgewogICRFUlJPUignIzI6IFNpbmNlIE9iamVjdCBhcyBhIGZ1bmN0aW9uIGNhbGxpbmcgaXMgdGhlIHNhbWUgYXMgZnVuY3Rpb24gY2FsbGluZyBsaXN0IG9mIGFyZ3VtZW50cyBjYW4gYXBwZWFycyBpbiBicmFjZXM7Jyk7Cn0KCg==","commentary":"Since calling Object as a function is identical to calling a function, list of arguments bracketing is allowed","description":"Creating an object with \"Object(null,2,3)\"","path":"TestCases/ch15/15.2/15.2.1/S15.2.1.1_A3_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTaW5jZSBjYWxsaW5nIE9iamVjdCBhcyBhIGZ1bmN0aW9uIGlzIGlkZW50aWNhbCB0byBjYWxsaW5nIGEgZnVuY3Rpb24sIGxpc3Qgb2YgYXJndW1lbnRzIGJyYWNrZXRpbmcgaXMgYWxsb3dlZAogKgogKiBAcGF0aCBjaDE1LzE1LjIvMTUuMi4xL1MxNS4yLjEuMV9BM19UMy5qcwogKiBAZGVzY3JpcHRpb24gQ3JlYXRpbmcgYW4gb2JqZWN0IHdpdGggIk9iamVjdCgobnVsbCwyLDMpLDEsMikiCiAqLwoKdmFyIG9iaiA9IE9iamVjdCgobnVsbCwyLDMpLDEsMik7CgovL0NIRUNLIzEKaWYgKG9iai5jb25zdHJ1Y3RvciAhPT0gTnVtYmVyKSB7CiAgJEVSUk9SKCcjMTogU2luY2UgT2JqZWN0IGFzIGEgZnVuY3Rpb24gY2FsbGluZyBpcyB0aGUgc2FtZSBhcyBmdW5jdGlvbiBjYWxsaW5nIGxpc3Qgb2YgYXJndW1lbnRzIGNhbiBhcHBlYXJzIGluIGJyYWNlczsnKTsKfQoKLy9DSEVDSyMyCmlmICh0eXBlb2Ygb2JqICE9PSAib2JqZWN0IikgewogICRFUlJPUignIzI6IFNpbmNlIE9iamVjdCBhcyBhIGZ1bmN0aW9uIGNhbGxpbmcgaXMgdGhlIHNhbWUgYXMgZnVuY3Rpb24gY2FsbGluZyBsaXN0IG9mIGFyZ3VtZW50cyBjYW4gYXBwZWFycyBpbiBicmFjZXM7Jyk7Cn0KCi8vQ0hFQ0sjMwppZiAoKG9iaiAhPSAzKXx8KG9iaiA9PT0gMykpIHsKICAkRVJST1IoJzMjOiBTaW5jZSBPYmplY3QgYXMgYSBmdW5jdGlvbiBjYWxsaW5nIGlzIHRoZSBzYW1lIGFzIGZ1bmN0aW9uIGNhbGxpbmcgbGlzdCBvZiBhcmd1bWVudHMgY2FuIGFwcGVhcnMgaW4gYnJhY2VzOycpOwp9Cgo=","commentary":"Since calling Object as a function is identical to calling a function, list of arguments bracketing is allowed","description":"Creating an object with \"Object((null,2,3),1,2)\"","path":"TestCases/ch15/15.2/15.2.1/S15.2.1.1_A3_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuIHRoZSBPYmplY3QgY29uc3RydWN0b3IgaXMgY2FsbGVkIHdpdGggbm8gYXJndW1lbnRzIHRoZSBmb2xsb3dpbmcgc3RlcHMgYXJlIHRha2VuOgogKiAoVGhlIGFyZ3VtZW50IHZhbHVlIHdhcyBub3Qgc3VwcGxpZWQgb3IgaXRzIHR5cGUgd2FzIE51bGwgb3IgVW5kZWZpbmVkLikKICogICBpKQlDcmVhdGUgYSBuZXcgbmF0aXZlIEVDTUFTY3JpcHQgb2JqZWN0LgogKiAgaWkpIAlUaGUgW1tQcm90b3R5cGVdXSBwcm9wZXJ0eSBvZiB0aGUgbmV3bHkgY29uc3RydWN0ZWQgb2JqZWN0IGlzIHNldCB0byB0aGUgT2JqZWN0IHByb3RvdHlwZSBvYmplY3QuCiAqIGlpaSkgCVRoZSBbW0NsYXNzXV0gcHJvcGVydHkgb2YgdGhlIG5ld2x5IGNvbnN0cnVjdGVkIG9iamVjdCBpcyBzZXQgdG8gIk9iamVjdCIuCiAqICBpdikgCVRoZSBuZXdseSBjb25zdHJ1Y3RlZCBvYmplY3QgaGFzIG5vIFtbVmFsdWVdXSBwcm9wZXJ0eS4KICogICB2KSAJUmV0dXJuIHRoZSBuZXdseSBjcmVhdGVkIG5hdGl2ZSBvYmplY3QKICoKICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMi9TMTUuMi4yLjFfQTFfVDEuanMKICogQGRlc2NyaXB0aW9uIENyZWF0aW5nIG5ldyBPYmplY3QoKSBhbmQgY2hlY2tpbmcgaXRzIHByb3BlcnRpZXMKICovCgp2YXIgb2JqID0gbmV3IE9iamVjdCgpOwoKLy8gQ0hFQ0sjMAppZiAob2JqID09PSB1bmRlZmluZWQpIHsKICAkRVJST1IoJyMwOiBuZXcgT2JqZWN0KCkgcmV0dXJuIHRoZSBuZXdseSBjcmVhdGVkIG5hdGl2ZSBvYmplY3QuJyk7Cn0KCi8vIENIRUNLIzEKaWYgKG9iai5jb25zdHJ1Y3RvciAhPT0gT2JqZWN0KSB7CiAgJEVSUk9SKCcjMTogbmV3IE9iamVjdCgpIGNyZWF0ZSBhIG5ldyBuYXRpdmUgRUNNQVNjcmlwdCBvYmplY3QnKTsKfQoKLy8gQ0hFQ0sjMgppZiAoIShPYmplY3QucHJvdG90eXBlLmlzUHJvdG90eXBlT2Yob2JqKSkpIHsKICAkRVJST1IoJyMyOiB3aGVuIG5ldyBPYmplY3QoKSBjYWxscyB0aGUgW1tQcm90b3R5cGVdXSBwcm9wZXJ0eSBvZiB0aGUgbmV3bHkgY29uc3RydWN0ZWQgb2JqZWN0IGlzIHNldCB0byB0aGUgT2JqZWN0IHByb3RvdHlwZSBvYmplY3QuJyk7Cn0KCi8vIENIRUNLIzMKdmFyIHRvX3N0cmluZ19yZXN1bHQgPSAnW29iamVjdCAnKyAnT2JqZWN0JyArJ10nOwppZiAob2JqLnRvU3RyaW5nKCkgIT09IHRvX3N0cmluZ19yZXN1bHQpIHsKICAkRVJST1IoJyMzOiB3aGVuIG5ldyBPYmplY3QoKSBjYWxscyB0aGUgW1tDbGFzc11dIHByb3BlcnR5IG9mIHRoZSBuZXdseSBjb25zdHJ1Y3RlZCBvYmplY3QgaXMgc2V0IHRvICJPYmplY3QiLicpOwp9CgovLyBDSEVDSyM0CmlmIChvYmoudmFsdWVPZigpLnRvU3RyaW5nKCkgIT09IHRvX3N0cmluZ19yZXN1bHQudG9TdHJpbmcoKSkgewogICRFUlJPUignIzQ6IHdoZW4gbmV3IE9iamVjdCgpIGNhbGxzIHRoZSBuZXdseSBjb25zdHJ1Y3RlZCBvYmplY3QgaGFzIG5vIFtbVmFsdWVdXSBwcm9wZXJ0eS4nKTsKfQoKCg==","commentary":"When the Object constructor is called with no arguments the following steps are taken:\n(The argument value was not supplied or its type was Null or Undefined.)\n i)\tCreate a new native ECMAScript object.\n ii) \tThe [[Prototype]] property of the newly constructed object is set to the Object prototype object.\niii) \tThe [[Class]] property of the newly constructed object is set to \"Object\".\n iv) \tThe newly constructed object has no [[Value]] property.\n v) \tReturn the newly created native object","description":"Creating new Object() and checking its properties","path":"TestCases/ch15/15.2/15.2.2/S15.2.2.1_A1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuIHRoZSBPYmplY3QgY29uc3RydWN0b3IgaXMgY2FsbGVkIHdpdGggbm8gYXJndW1lbnRzIHRoZSBmb2xsb3dpbmcgc3RlcHMgYXJlIHRha2VuOgogKiAoVGhlIGFyZ3VtZW50IHZhbHVlIHdhcyBub3Qgc3VwcGxpZWQgb3IgaXRzIHR5cGUgd2FzIE51bGwgb3IgVW5kZWZpbmVkLikKICogICBpKQlDcmVhdGUgYSBuZXcgbmF0aXZlIEVDTUFTY3JpcHQgb2JqZWN0LgogKiAgaWkpIAlUaGUgW1tQcm90b3R5cGVdXSBwcm9wZXJ0eSBvZiB0aGUgbmV3bHkgY29uc3RydWN0ZWQgb2JqZWN0IGlzIHNldCB0byB0aGUgT2JqZWN0IHByb3RvdHlwZSBvYmplY3QuCiAqIGlpaSkgCVRoZSBbW0NsYXNzXV0gcHJvcGVydHkgb2YgdGhlIG5ld2x5IGNvbnN0cnVjdGVkIG9iamVjdCBpcyBzZXQgdG8gIk9iamVjdCIuCiAqICBpdikgCVRoZSBuZXdseSBjb25zdHJ1Y3RlZCBvYmplY3QgaGFzIG5vIFtbVmFsdWVdXSBwcm9wZXJ0eS4KICogICB2KSAJUmV0dXJuIHRoZSBuZXdseSBjcmVhdGVkIG5hdGl2ZSBvYmplY3QKICoKICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMi9TMTUuMi4yLjFfQTFfVDIuanMKICogQGRlc2NyaXB0aW9uIENyZWF0aW5nIG5ldyBPYmplY3Qodm9pZCAwKSBhbmQgY2hlY2tpbmcgaXRzIHByb3BlcnRpZXMKICovCgovL3ZhciBmb28gPSB2b2lkIDA7CnZhciBvYmogPSBuZXcgT2JqZWN0KHZvaWQgMCk7CgovLyBDSEVDSyMwCmlmIChvYmogPT09IHVuZGVmaW5lZCkgewogICRFUlJPUignIzA6IG5ldyBPYmplY3QodW5kZWZpbmVkKSByZXR1cm4gdGhlIG5ld2x5IGNyZWF0ZWQgbmF0aXZlIG9iamVjdC4nKTsKfQoKLy8gQ0hFQ0sjMQppZiAob2JqLmNvbnN0cnVjdG9yICE9PSBPYmplY3QpIHsKICAkRVJST1IoJyMxOiBuZXcgT2JqZWN0KHVuZGVmaW5lZCkgY3JlYXRlIGEgbmV3IG5hdGl2ZSBFQ01BU2NyaXB0IG9iamVjdCcpOwp9CgovLyBDSEVDSyMyCmlmICghKE9iamVjdC5wcm90b3R5cGUuaXNQcm90b3R5cGVPZihvYmopKSkgewogICRFUlJPUignIzI6IHdoZW4gbmV3IE9iamVjdCh1bmRlZmluZWQpIGNhbGxzIHRoZSBbW1Byb3RvdHlwZV1dIHByb3BlcnR5IG9mIHRoZSBuZXdseSBjb25zdHJ1Y3RlZCBvYmplY3QgaXMgc2V0IHRvIHRoZSBPYmplY3QgcHJvdG90eXBlIG9iamVjdC4nKTsKfQoKLy8gQ0hFQ0sjMwp2YXIgdG9fc3RyaW5nX3Jlc3VsdCA9ICdbb2JqZWN0ICcrICdPYmplY3QnICsnXSc7CmlmIChvYmoudG9TdHJpbmcoKSAhPT0gdG9fc3RyaW5nX3Jlc3VsdCkgewogICRFUlJPUignIzM6IHdoZW4gbmV3IE9iamVjdCh1bmRlZmluZWQpIGNhbGxzIHRoZSBbW0NsYXNzXV0gcHJvcGVydHkgb2YgdGhlIG5ld2x5IGNvbnN0cnVjdGVkIG9iamVjdCBpcyBzZXQgdG8gIk9iamVjdCIuJyk7Cn0KCi8vIENIRUNLIzQKaWYgKG9iai52YWx1ZU9mKCkudG9TdHJpbmcoKSAhPT0gdG9fc3RyaW5nX3Jlc3VsdC50b1N0cmluZygpKSB7CiAgJEVSUk9SKCcjNDogd2hlbiBuZXcgT2JqZWN0KHVuZGVmaW5lZCkgY2FsbHMgdGhlIG5ld2x5IGNvbnN0cnVjdGVkIG9iamVjdCBoYXMgbm8gW1tWYWx1ZV1dIHByb3BlcnR5LicpOwp9CgoK","commentary":"When the Object constructor is called with no arguments the following steps are taken:\n(The argument value was not supplied or its type was Null or Undefined.)\n i)\tCreate a new native ECMAScript object.\n ii) \tThe [[Prototype]] property of the newly constructed object is set to the Object prototype object.\niii) \tThe [[Class]] property of the newly constructed object is set to \"Object\".\n iv) \tThe newly constructed object has no [[Value]] property.\n v) \tReturn the newly created native object","description":"Creating new Object(void 0) and checking its properties","path":"TestCases/ch15/15.2/15.2.2/S15.2.2.1_A1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuIHRoZSBPYmplY3QgY29uc3RydWN0b3IgaXMgY2FsbGVkIHdpdGggbm8gYXJndW1lbnRzIHRoZSBmb2xsb3dpbmcgc3RlcHMgYXJlIHRha2VuOgogKiAoVGhlIGFyZ3VtZW50IHZhbHVlIHdhcyBub3Qgc3VwcGxpZWQgb3IgaXRzIHR5cGUgd2FzIE51bGwgb3IgVW5kZWZpbmVkLikKICogICBpKQlDcmVhdGUgYSBuZXcgbmF0aXZlIEVDTUFTY3JpcHQgb2JqZWN0LgogKiAgaWkpIAlUaGUgW1tQcm90b3R5cGVdXSBwcm9wZXJ0eSBvZiB0aGUgbmV3bHkgY29uc3RydWN0ZWQgb2JqZWN0IGlzIHNldCB0byB0aGUgT2JqZWN0IHByb3RvdHlwZSBvYmplY3QuCiAqIGlpaSkgCVRoZSBbW0NsYXNzXV0gcHJvcGVydHkgb2YgdGhlIG5ld2x5IGNvbnN0cnVjdGVkIG9iamVjdCBpcyBzZXQgdG8gIk9iamVjdCIuCiAqICBpdikgCVRoZSBuZXdseSBjb25zdHJ1Y3RlZCBvYmplY3QgaGFzIG5vIFtbVmFsdWVdXSBwcm9wZXJ0eS4KICogICB2KSAJUmV0dXJuIHRoZSBuZXdseSBjcmVhdGVkIG5hdGl2ZSBvYmplY3QKICoKICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMi9TMTUuMi4yLjFfQTFfVDMuanMKICogQGRlc2NyaXB0aW9uIENyZWF0aW5nIG5ldyBPYmplY3QobnVsbCkgYW5kIGNoZWNraW5nIGl0cyBwcm9wZXJ0aWVzCiAqLwoKdmFyIG9iaiA9IG5ldyBPYmplY3QobnVsbCk7CgovLyBDSEVDSyMwCmlmIChvYmogPT09IHVuZGVmaW5lZCkgewogICRFUlJPUignIzA6IG5ldyBPYmplY3QobnVsbCkgcmV0dXJuIHRoZSBuZXdseSBjcmVhdGVkIG5hdGl2ZSBvYmplY3QuJyk7Cn0KCi8vIENIRUNLIzEKaWYgKG9iai5jb25zdHJ1Y3RvciAhPT0gT2JqZWN0KSB7CiAgJEVSUk9SKCcjMTogbmV3IE9iamVjdChudWxsKSBjcmVhdGUgYSBuZXcgbmF0aXZlIEVDTUFTY3JpcHQgb2JqZWN0Jyk7Cn0KCi8vIENIRUNLIzIKaWYgKCEoT2JqZWN0LnByb3RvdHlwZS5pc1Byb3RvdHlwZU9mKG9iaikpKSB7CiAgJEVSUk9SKCcjMjogd2hlbiBuZXcgT2JqZWN0KG51bGwpIGNhbGxzIHRoZSBbW1Byb3RvdHlwZV1dIHByb3BlcnR5IG9mIHRoZSBuZXdseSBjb25zdHJ1Y3RlZCBvYmplY3QgaXMgc2V0IHRvIHRoZSBPYmplY3QgcHJvdG90eXBlIG9iamVjdC4nKTsKfQoKLy8gQ0hFQ0sjMwp2YXIgdG9fc3RyaW5nX3Jlc3VsdCA9ICdbb2JqZWN0ICcrICdPYmplY3QnICsnXSc7CmlmIChvYmoudG9TdHJpbmcoKSAhPT0gdG9fc3RyaW5nX3Jlc3VsdCkgewogICRFUlJPUignIzM6IHdoZW4gbmV3IE9iamVjdChudWxsKSBjYWxscyB0aGUgW1tDbGFzc11dIHByb3BlcnR5IG9mIHRoZSBuZXdseSBjb25zdHJ1Y3RlZCBvYmplY3QgaXMgc2V0IHRvICJPYmplY3QiLicpOwp9CgovLyBDSEVDSyM0CmlmIChvYmoudmFsdWVPZigpLnRvU3RyaW5nKCkgIT09IHRvX3N0cmluZ19yZXN1bHQudG9TdHJpbmcoKSkgewogICRFUlJPUignIzQ6IHdoZW4gbmV3IE9iamVjdChudWxsKSBjYWxscyB0aGUgbmV3bHkgY29uc3RydWN0ZWQgb2JqZWN0IGhhcyBubyBbW1ZhbHVlXV0gcHJvcGVydHkuJyk7Cn0KCgo=","commentary":"When the Object constructor is called with no arguments the following steps are taken:\n(The argument value was not supplied or its type was Null or Undefined.)\n i)\tCreate a new native ECMAScript object.\n ii) \tThe [[Prototype]] property of the newly constructed object is set to the Object prototype object.\niii) \tThe [[Class]] property of the newly constructed object is set to \"Object\".\n iv) \tThe newly constructed object has no [[Value]] property.\n v) \tReturn the newly created native object","description":"Creating new Object(null) and checking its properties","path":"TestCases/ch15/15.2/15.2.2/S15.2.2.1_A1_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuIHRoZSBPYmplY3QgY29uc3RydWN0b3IgaXMgY2FsbGVkIHdpdGggbm8gYXJndW1lbnRzIHRoZSBmb2xsb3dpbmcgc3RlcHMgYXJlIHRha2VuOgogKiAoVGhlIGFyZ3VtZW50IHZhbHVlIHdhcyBub3Qgc3VwcGxpZWQgb3IgaXRzIHR5cGUgd2FzIE51bGwgb3IgVW5kZWZpbmVkLikKICogICBpKQlDcmVhdGUgYSBuZXcgbmF0aXZlIEVDTUFTY3JpcHQgb2JqZWN0LgogKiAgaWkpIAlUaGUgW1tQcm90b3R5cGVdXSBwcm9wZXJ0eSBvZiB0aGUgbmV3bHkgY29uc3RydWN0ZWQgb2JqZWN0IGlzIHNldCB0byB0aGUgT2JqZWN0IHByb3RvdHlwZSBvYmplY3QuCiAqIGlpaSkgCVRoZSBbW0NsYXNzXV0gcHJvcGVydHkgb2YgdGhlIG5ld2x5IGNvbnN0cnVjdGVkIG9iamVjdCBpcyBzZXQgdG8gIk9iamVjdCIuCiAqICBpdikgCVRoZSBuZXdseSBjb25zdHJ1Y3RlZCBvYmplY3QgaGFzIG5vIFtbVmFsdWVdXSBwcm9wZXJ0eS4KICogICB2KSAJUmV0dXJuIHRoZSBuZXdseSBjcmVhdGVkIG5hdGl2ZSBvYmplY3QKICoKICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMi9TMTUuMi4yLjFfQTFfVDQuanMKICogQGRlc2NyaXB0aW9uIENyZWF0aW5nIG5ldyBPYmplY3QodW5kZWZpbmVkKSBhbmQgY2hlY2tpbmcgaXRzIHByb3BlcnRpZXMKICovCgp2YXIgb2JqID0gbmV3IE9iamVjdCh1bmRlZmluZWQpOwoKLy8gQ0hFQ0sjMAppZiAob2JqID09PSB1bmRlZmluZWQpIHsKICAkRVJST1IoJyMwOiBuZXcgT2JqZWN0KHVuZGVmaW5lZCkgcmV0dXJuIHRoZSBuZXdseSBjcmVhdGVkIG5hdGl2ZSBvYmplY3QuJyk7Cn0KCi8vIENIRUNLIzEKaWYgKG9iai5jb25zdHJ1Y3RvciAhPT0gT2JqZWN0KSB7CiAgJEVSUk9SKCcjMTogbmV3IE9iamVjdCh1bmRlZmluZWQpIGNyZWF0ZSBhIG5ldyBuYXRpdmUgRUNNQVNjcmlwdCBvYmplY3QnKTsKfQoKLy8gQ0hFQ0sjMgppZiAoIShPYmplY3QucHJvdG90eXBlLmlzUHJvdG90eXBlT2Yob2JqKSkpIHsKICAkRVJST1IoJyMyOiB3aGVuIG5ldyBPYmplY3QodW5kZWZpbmVkKSBjYWxscyB0aGUgW1tQcm90b3R5cGVdXSBwcm9wZXJ0eSBvZiB0aGUgbmV3bHkgY29uc3RydWN0ZWQgb2JqZWN0IGlzIHNldCB0byB0aGUgT2JqZWN0IHByb3RvdHlwZSBvYmplY3QuJyk7Cn0KCi8vIENIRUNLIzMKdmFyIHRvX3N0cmluZ19yZXN1bHQgPSAnW29iamVjdCAnKyAnT2JqZWN0JyArJ10nOwppZiAob2JqLnRvU3RyaW5nKCkgIT09IHRvX3N0cmluZ19yZXN1bHQpIHsKICAkRVJST1IoJyMzOiB3aGVuIG5ldyBPYmplY3QodW5kZWZpbmVkKSBjYWxscyB0aGUgW1tDbGFzc11dIHByb3BlcnR5IG9mIHRoZSBuZXdseSBjb25zdHJ1Y3RlZCBvYmplY3QgaXMgc2V0IHRvICJPYmplY3QiLicpOwp9CgovLyBDSEVDSyM0CmlmIChvYmoudmFsdWVPZigpLnRvU3RyaW5nKCkgIT09IHRvX3N0cmluZ19yZXN1bHQudG9TdHJpbmcoKSkgewogICRFUlJPUignIzQ6IHdoZW4gbmV3IE9iamVjdCh1bmRlZmluZWQpIGNhbGxzIHRoZSBuZXdseSBjb25zdHJ1Y3RlZCBvYmplY3QgaGFzIG5vIFtbVmFsdWVdXSBwcm9wZXJ0eS4nKTsKfQoKCg==","commentary":"When the Object constructor is called with no arguments the following steps are taken:\n(The argument value was not supplied or its type was Null or Undefined.)\n i)\tCreate a new native ECMAScript object.\n ii) \tThe [[Prototype]] property of the newly constructed object is set to the Object prototype object.\niii) \tThe [[Class]] property of the newly constructed object is set to \"Object\".\n iv) \tThe newly constructed object has no [[Value]] property.\n v) \tReturn the newly created native object","description":"Creating new Object(undefined) and checking its properties","path":"TestCases/ch15/15.2/15.2.2/S15.2.2.1_A1_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuIHRoZSBPYmplY3QgY29uc3RydWN0b3IgaXMgY2FsbGVkIHdpdGggbm8gYXJndW1lbnRzIHRoZSBmb2xsb3dpbmcgc3RlcHMgYXJlIHRha2VuOgogKiAoVGhlIGFyZ3VtZW50IHZhbHVlIHdhcyBub3Qgc3VwcGxpZWQgb3IgaXRzIHR5cGUgd2FzIE51bGwgb3IgVW5kZWZpbmVkLikKICogICBpKQlDcmVhdGUgYSBuZXcgbmF0aXZlIEVDTUFTY3JpcHQgb2JqZWN0LgogKiAgaWkpIAlUaGUgW1tQcm90b3R5cGVdXSBwcm9wZXJ0eSBvZiB0aGUgbmV3bHkgY29uc3RydWN0ZWQgb2JqZWN0IGlzIHNldCB0byB0aGUgT2JqZWN0IHByb3RvdHlwZSBvYmplY3QuCiAqIGlpaSkgCVRoZSBbW0NsYXNzXV0gcHJvcGVydHkgb2YgdGhlIG5ld2x5IGNvbnN0cnVjdGVkIG9iamVjdCBpcyBzZXQgdG8gIk9iamVjdCIuCiAqICBpdikgCVRoZSBuZXdseSBjb25zdHJ1Y3RlZCBvYmplY3QgaGFzIG5vIFtbVmFsdWVdXSBwcm9wZXJ0eS4KICogICB2KSAJUmV0dXJuIHRoZSBuZXdseSBjcmVhdGVkIG5hdGl2ZSBvYmplY3QKICoKICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMi9TMTUuMi4yLjFfQTFfVDUuanMKICogQGRlc2NyaXB0aW9uIENyZWF0aW5nIG5ldyBPYmplY3QoeCksIHdoZXJlIHggaXMgInVuZGVmaW5lZCIsIGFuZCBjaGVja2luZyBpdCBwcm9wZXJ0aWVzCiAqLwoKdmFyIG9iaiA9IG5ldyBPYmplY3QoeCk7CgovLyBDSEVDSyMwCmlmIChvYmogPT09IHVuZGVmaW5lZCkgewogICRFUlJPUignIzA6IG5ldyBPYmplY3QodW5kZWZpbmVkKSByZXR1cm4gdGhlIG5ld2x5IGNyZWF0ZWQgbmF0aXZlIG9iamVjdC4nKTsKfQoKLy8gQ0hFQ0sjMQppZiAob2JqLmNvbnN0cnVjdG9yICE9PSBPYmplY3QpIHsKICAkRVJST1IoJyMxOiBuZXcgT2JqZWN0KHVuZGVmaW5lZCkgY3JlYXRlIGEgbmV3IG5hdGl2ZSBFQ01BU2NyaXB0IG9iamVjdCcpOwp9CgovLyBDSEVDSyMyCmlmICghKE9iamVjdC5wcm90b3R5cGUuaXNQcm90b3R5cGVPZihvYmopKSkgewogICRFUlJPUignIzI6IHdoZW4gbmV3IE9iamVjdCh1bmRlZmluZWQpIGNhbGxzIHRoZSBbW1Byb3RvdHlwZV1dIHByb3BlcnR5IG9mIHRoZSBuZXdseSBjb25zdHJ1Y3RlZCBvYmplY3QgaXMgc2V0IHRvIHRoZSBPYmplY3QgcHJvdG90eXBlIG9iamVjdC4nKTsKfQoKLy8gQ0hFQ0sjMwp2YXIgdG9fc3RyaW5nX3Jlc3VsdCA9ICdbb2JqZWN0ICcrICdPYmplY3QnICsnXSc7CmlmIChvYmoudG9TdHJpbmcoKSAhPT0gdG9fc3RyaW5nX3Jlc3VsdCkgewogICRFUlJPUignIzM6IHdoZW4gbmV3IE9iamVjdCh1bmRlZmluZWQpIGNhbGxzIHRoZSBbW0NsYXNzXV0gcHJvcGVydHkgb2YgdGhlIG5ld2x5IGNvbnN0cnVjdGVkIG9iamVjdCBpcyBzZXQgdG8gIk9iamVjdCIuJyk7Cn0KCi8vIENIRUNLIzQKaWYgKG9iai52YWx1ZU9mKCkudG9TdHJpbmcoKSAhPT0gdG9fc3RyaW5nX3Jlc3VsdC50b1N0cmluZygpKSB7CiAgJEVSUk9SKCcjNDogd2hlbiBuZXcgT2JqZWN0KHVuZGVmaW5lZCkgY2FsbHMgdGhlIG5ld2x5IGNvbnN0cnVjdGVkIG9iamVjdCBoYXMgbm8gW1tWYWx1ZV1dIHByb3BlcnR5LicpOwp9Cgp2YXIgeDsKCgo=","commentary":"When the Object constructor is called with no arguments the following steps are taken:\n(The argument value was not supplied or its type was Null or Undefined.)\n i)\tCreate a new native ECMAScript object.\n ii) \tThe [[Prototype]] property of the newly constructed object is set to the Object prototype object.\niii) \tThe [[Class]] property of the newly constructed object is set to \"Object\".\n iv) \tThe newly constructed object has no [[Value]] property.\n v) \tReturn the newly created native object","description":"Creating new Object(x), where x is \"undefined\", and checking it properties","path":"TestCases/ch15/15.2/15.2.2/S15.2.2.1_A1_T5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuIHRoZSBPYmplY3QgY29uc3RydWN0b3IgaXMgY2FsbGVkIHdpdGggb25lIGFyZ3VtZW50IHZhbHVlIGFuZAogKiB0aGUgdmFsdWUgaXMgYSBuYXRpdmUgRUNNQVNjcmlwdCBvYmplY3QsIGRvIG5vdCBjcmVhdGUgYSBuZXcgb2JqZWN0IGJ1dCBzaW1wbHkgcmV0dXJuIHZhbHVlCiAqCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjIvUzE1LjIuMi4xX0EyX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBUaGUgdmFsdWUgaXMgT2JqZWN0CiAqLwoKdmFyIG9iaiA9IHtwcm9wOjF9OwoKdmFyIG5fb2JqID0gbmV3IE9iamVjdChvYmopOwoKLy9DSEVDSyMxCmlmIChuX29iaiAhPT0gb2JqKSB7CiAgJEVSUk9SKCcjMTogV2hlbiB0aGUgT2JqZWN0IGNvbnN0cnVjdG9yIGlzIGNhbGxlZCBhbmQgaWYgdGhlIHZhbHVlIGlzIGFuIE9iamVjdCBzaW1wbHkgdmFsdWUgcmV0dXJucy4nKTsKfQoKLy9DSEVDSyMyCmlmIChuX29ialsncHJvcCddICE9PSAxKSB7CiAgJEVSUk9SKCcjMjogV2hlbiB0aGUgT2JqZWN0IGNvbnN0cnVjdG9yIGlzIGNhbGxlZCBhbmQgaWYgdGhlIHZhbHVlIGlzIGFuIE9iamVjdCBzaW1wbHkgdmFsdWUgcmV0dXJucy4nKTsKfQoK","commentary":"When the Object constructor is called with one argument value and\nthe value is a native ECMAScript object, do not create a new object but simply return value","description":"The value is Object","path":"TestCases/ch15/15.2/15.2.2/S15.2.2.1_A2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuIHRoZSBPYmplY3QgY29uc3RydWN0b3IgaXMgY2FsbGVkIHdpdGggb25lIGFyZ3VtZW50IHZhbHVlIGFuZAogKiB0aGUgdmFsdWUgaXMgYSBuYXRpdmUgRUNNQVNjcmlwdCBvYmplY3QsIGRvIG5vdCBjcmVhdGUgYSBuZXcgb2JqZWN0IGJ1dCBzaW1wbHkgcmV0dXJuIHZhbHVlCiAqCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjIvUzE1LjIuMi4xX0EyX1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBUaGUgdmFsdWUgaXMgYSBmdW5jdGlvbiB2YXJpYWJsZQogKi8KCnZhciBmdW5jID0gZnVuY3Rpb24oKXtyZXR1cm4gMTt9OwoKdmFyIG5fb2JqID0gbmV3IE9iamVjdChmdW5jKTsKCi8vQ0hFQ0sjMQppZiAobl9vYmogIT09IGZ1bmMpIHsKICAkRVJST1IoJyMxOiBXaGVuIHRoZSBPYmplY3QgY29uc3RydWN0b3IgaXMgY2FsbGVkIGFuZCBpZiB0aGUgdmFsdWUgaXMgYW4gT2JqZWN0IHNpbXBseSB2YWx1ZSByZXR1cm5zJyk7Cn0KCi8vQ0hFQ0sjMgppZiAobl9vYmooKSAhPT0gMSkgewogICRFUlJPUignV2hlbiB0aGUgT2JqZWN0IGNvbnN0cnVjdG9yIGlzIGNhbGxlZCBhbmQgaWYgdGhlIHZhbHVlIGlzIGFuIE9iamVjdCBzaW1wbHkgdmFsdWUgcmV0dXJucycpOwp9Ci8vCgo=","commentary":"When the Object constructor is called with one argument value and\nthe value is a native ECMAScript object, do not create a new object but simply return value","description":"The value is a function variable","path":"TestCases/ch15/15.2/15.2.2/S15.2.2.1_A2_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuIHRoZSBPYmplY3QgY29uc3RydWN0b3IgaXMgY2FsbGVkIHdpdGggb25lIGFyZ3VtZW50IHZhbHVlIGFuZAogKiB0aGUgdmFsdWUgaXMgYSBuYXRpdmUgRUNNQVNjcmlwdCBvYmplY3QsIGRvIG5vdCBjcmVhdGUgYSBuZXcgb2JqZWN0IGJ1dCBzaW1wbHkgcmV0dXJuIHZhbHVlCiAqCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjIvUzE1LjIuMi4xX0EyX1QzLmpzCiAqIEBkZXNjcmlwdGlvbiBUaGUgdmFsdWUgaXMgYW4gYXJyYXkKICovCgp2YXIgYXJyID0gWzEsMiwzXTsKCnZhciBuX29iaiA9IG5ldyBPYmplY3QoYXJyKTsKCmFyci5wdXNoKDQpOwoKLy9DSEVDSyMxCmlmIChuX29iaiAhPT0gYXJyKSB7CiAgJEVSUk9SKCcjMTogV2hlbiB0aGUgT2JqZWN0IGNvbnN0cnVjdG9yIGlzIGNhbGxlZCBhbmQgaWYgdGhlIHZhbHVlIGlzIGFuIE9iamVjdCBzaW1wbHkgdmFsdWUgcmV0dXJucy4nKTsKfQoKLy9DSEVDSyMyCmlmIChuX29ialszXSAhPT0gNCkgewogICRFUlJPUignIzI6IFdoZW4gdGhlIE9iamVjdCBjb25zdHJ1Y3RvciBpcyBjYWxsZWQgYW5kIGlmIHRoZSB2YWx1ZSBpcyBhbiBPYmplY3Qgc2ltcGx5IHZhbHVlIHJldHVybnMuJyk7Cn0KCg==","commentary":"When the Object constructor is called with one argument value and\nthe value is a native ECMAScript object, do not create a new object but simply return value","description":"The value is an array","path":"TestCases/ch15/15.2/15.2.2/S15.2.2.1_A2_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuIHRoZSBPYmplY3QgY29uc3RydWN0b3IgaXMgY2FsbGVkIHdpdGggb25lIGFyZ3VtZW50IHZhbHVlIGFuZAogKiB0aGUgdmFsdWUgaXMgYSBuYXRpdmUgRUNNQVNjcmlwdCBvYmplY3QsIGRvIG5vdCBjcmVhdGUgYSBuZXcgb2JqZWN0IGJ1dCBzaW1wbHkgcmV0dXJuIHZhbHVlCiAqCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjIvUzE1LjIuMi4xX0EyX1Q0LmpzCiAqIEBkZXNjcmlwdGlvbiBUaGUgdmFsdWUgaXMgInRoaXMiCiAqLwoKdmFyIHg9MTsKCnZhciBvYmogPSB0aGlzOwoKdmFyIG5fb2JqID0gbmV3IE9iamVjdChvYmopOwoKLy9DSEVDSyMxCmlmIChuX29iaiAhPT0gb2JqKSB7CiAgJEVSUk9SKCcjMTogV2hlbiB0aGUgT2JqZWN0IGNvbnN0cnVjdG9yIGlzIGNhbGxlZCBhbmQgaWYgdGhlIHZhbHVlIGlzIGFuIE9iamVjdCBzaW1wbHkgdmFsdWUgcmV0dXJucy4nKTsKfQoKLy9DSEVDSyMyCmlmIChuX29ialsneCddICE9PSAxKSB7CiAgJEVSUk9SKCcjMjogV2hlbiB0aGUgT2JqZWN0IGNvbnN0cnVjdG9yIGlzIGNhbGxlZCBhbmQgaWYgdGhlIHZhbHVlIGlzIGFuIE9iamVjdCBzaW1wbHkgdmFsdWUgcmV0dXJucy4nKTsKfQoK","commentary":"When the Object constructor is called with one argument value and\nthe value is a native ECMAScript object, do not create a new object but simply return value","description":"The value is \"this\"","path":"TestCases/ch15/15.2/15.2.2/S15.2.2.1_A2_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuIHRoZSBPYmplY3QgY29uc3RydWN0b3IgaXMgY2FsbGVkIHdpdGggb25lIGFyZ3VtZW50IHZhbHVlIGFuZAogKiB0aGUgdmFsdWUgaXMgYSBuYXRpdmUgRUNNQVNjcmlwdCBvYmplY3QsIGRvIG5vdCBjcmVhdGUgYSBuZXcgb2JqZWN0IGJ1dCBzaW1wbHkgcmV0dXJuIHZhbHVlCiAqCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjIvUzE1LjIuMi4xX0EyX1Q1LmpzCiAqIEBkZXNjcmlwdGlvbiBUaGUgdmFsdWUgaXMgYSBEYXRlIG9iamVjdAogKi8KCnZhciBvYmogPSBuZXcgRGF0ZSgxOTc4LDMpOwoKdmFyIG5fb2JqID0gbmV3IE9iamVjdChvYmopOwoKLy9DSEVDSyMxCmlmIChuX29iaiAhPT0gb2JqKSB7CiAgJEVSUk9SKCcjMTogV2hlbiB0aGUgT2JqZWN0IGNvbnN0cnVjdG9yIGlzIGNhbGxlZCBhbmQgaWYgdGhlIHZhbHVlIGlzIGFuIE9iamVjdCBzaW1wbHkgdmFsdWUgcmV0dXJucy4nKTsKfQoKLy9DSEVDSyMyCmlmICgobl9vYmouZ2V0WWVhcigpICE9PSA3OCl8fChuX29iai5nZXRNb250aCgpICE9PSAzKSkgewogICRFUlJPUignIzI6IFdoZW4gdGhlIE9iamVjdCBjb25zdHJ1Y3RvciBpcyBjYWxsZWQgYW5kIGlmIHRoZSB2YWx1ZSBpcyBhbiBPYmplY3Qgc2ltcGx5IHZhbHVlIHJldHVybnMuJyk7Cn0KCg==","commentary":"When the Object constructor is called with one argument value and\nthe value is a native ECMAScript object, do not create a new object but simply return value","description":"The value is a Date object","path":"TestCases/ch15/15.2/15.2.2/S15.2.2.1_A2_T5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuIHRoZSBPYmplY3QgY29uc3RydWN0b3IgaXMgY2FsbGVkIHdpdGggb25lIGFyZ3VtZW50IHZhbHVlIGFuZAogKiB0aGUgdmFsdWUgaXMgYSBuYXRpdmUgRUNNQVNjcmlwdCBvYmplY3QsIGRvIG5vdCBjcmVhdGUgYSBuZXcgb2JqZWN0IGJ1dCBzaW1wbHkgcmV0dXJuIHZhbHVlCiAqCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjIvUzE1LjIuMi4xX0EyX1Q2LmpzCiAqIEBkZXNjcmlwdGlvbiBUaGUgdmFsdWUgaXMgYSBkZWNsYXJlZCBmdW5jdGlvbgogKi8KCnZhciBuX29iaiA9IG5ldyBPYmplY3QoZnVuYyk7CgovL0NIRUNLIzEKaWYgKG5fb2JqICE9PSBmdW5jKSB7CiAgJEVSUk9SKCcjMTogV2hlbiB0aGUgT2JqZWN0IGNvbnN0cnVjdG9yIGlzIGNhbGxlZCBhbmQgaWYgdGhlIHZhbHVlIGlzIGFuIE9iamVjdCBzaW1wbHkgdmFsdWUgcmV0dXJucycpOwp9CgovL0NIRUNLIzIKaWYgKG5fb2JqKCkgIT09IDEpIHsKICAkRVJST1IoJ1doZW4gdGhlIE9iamVjdCBjb25zdHJ1Y3RvciBpcyBjYWxsZWQgYW5kIGlmIHRoZSB2YWx1ZSBpcyBhbiBPYmplY3Qgc2ltcGx5IHZhbHVlIHJldHVybnMnKTsKfQoKZnVuY3Rpb24gZnVuYygpe3JldHVybiAxO307Cgo=","commentary":"When the Object constructor is called with one argument value and\nthe value is a native ECMAScript object, do not create a new object but simply return value","description":"The value is a declared function","path":"TestCases/ch15/15.2/15.2.2/S15.2.2.1_A2_T6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuIHRoZSBPYmplY3QgY29uc3RydWN0b3IgaXMgY2FsbGVkIHdpdGggb25lIGFyZ3VtZW50IHZhbHVlIGFuZAogKiB0aGUgdmFsdWUgaXMgYSBuYXRpdmUgRUNNQVNjcmlwdCBvYmplY3QsIGRvIG5vdCBjcmVhdGUgYSBuZXcgb2JqZWN0IGJ1dCBzaW1wbHkgcmV0dXJuIHZhbHVlCiAqCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjIvUzE1LjIuMi4xX0EyX1Q3LmpzCiAqIEBkZXNjcmlwdGlvbiBUaGUgdmFsdWUgaXMgYSBmdW5jdGlvbiBkZWNsYXJhdGlvbgogKi8KCi8vQ0hFQ0sjMAppZiAodHlwZW9mIGZ1bmMgIT09ICd1bmRlZmluZWQnKSB7CiAgJEVSUk9SKCcjMDogZnVuY3Rpb24gZXhwcmVzc2lvbiBjYW5cJ3QgYmUgZGVjbGFyYXRlZCcpOwp9Cgp2YXIgbl9vYmogPSBuZXcgT2JqZWN0KGZ1bmN0aW9uIGZ1bmMoKXtyZXR1cm4gMTt9KTsKCi8vQ0hFQ0sjMQppZiAobl9vYmouY29uc3RydWN0b3IgIT09IEZ1bmN0aW9uKSB7CiAgJEVSUk9SKCcjMTogV2hlbiB0aGUgT2JqZWN0IGNvbnN0cnVjdG9yIGlzIGNhbGxlZCBhbmQgaWYgdGhlIHZhbHVlIGlzIGFuIE9iamVjdCBzaW1wbHkgdmFsdWUgcmV0dXJucycpOwp9CgovL0NIRUNLIzIKaWYgKG5fb2JqKCkgIT09IDEpIHsKICAkRVJST1IoJyMyOiBXaGVuIHRoZSBPYmplY3QgY29uc3RydWN0b3IgaXMgY2FsbGVkIGFuZCBpZiB0aGUgdmFsdWUgaXMgYW4gT2JqZWN0IHNpbXBseSB2YWx1ZSByZXR1cm5zJyk7Cn0KCi8vQ0hFQ0sjMwppZiAodHlwZW9mIGZ1bmMgIT09ICd1bmRlZmluZWQnKSB7CiAgJEVSUk9SKCcjMzogZnVuY3Rpb24gZXhwcmVzc2lvbiBjYW5cJ3QgYmUgZGVjbGFyYXRlZCcpOwp9CgoK","commentary":"When the Object constructor is called with one argument value and\nthe value is a native ECMAScript object, do not create a new object but simply return value","description":"The value is a function declaration","path":"TestCases/ch15/15.2/15.2.2/S15.2.2.1_A2_T7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuIHRoZSBPYmplY3QgY29uc3RydWN0b3IgaXMgY2FsbGVkIHdpdGggb25lIGFyZ3VtZW50IHZhbHVlIGFuZAogKiB0aGUgdHlwZSBvZiB2YWx1ZSBpcyBTdHJpbmcsIHJldHVybiBUb09iamVjdChzdHJpbmcpCiAqCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjIvUzE1LjIuMi4xX0EzX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBBcmd1bWVudCB2YWx1ZSBpcyBhIG5vbmVtcHR5IHN0cmluZwogKi8KCnZhciBzdHIgPSAnT2JpLVdhbiBLZW5vYmknOwoKLy9DSEVDSyMxCmlmICh0eXBlb2Ygc3RyICAhPT0gJ3N0cmluZycpIHsKICAkRkFJTCgnIzE6ICJPYmktV2FuIEtlbm9iaSIgaXMgTk9UIGEgU3RyaW5nJyk7Cn0KCgp2YXIgbl9vYmogPSBuZXcgT2JqZWN0KHN0cik7CgovL0NIRUNLIzIKaWYgKG5fb2JqLmNvbnN0cnVjdG9yICE9PSBTdHJpbmcpIHsKICAkRVJST1IoJyMyOiBXaGVuIHRoZSBPYmplY3QgY29uc3RydWN0b3IgaXMgY2FsbGVkIHdpdGggU3RyaW5nIGFyZ3VtZW50IHJldHVybiBUb09iamVjdChzdHJpbmcpJyk7Cn0KCi8vQ0hFQ0sjMwppZiAodHlwZW9mIG5fb2JqICE9PSAnb2JqZWN0JykgewogICRFUlJPUignIzM6IFdoZW4gdGhlIE9iamVjdCBjb25zdHJ1Y3RvciBpcyBjYWxsZWQgd2l0aCBTdHJpbmcgYXJndW1lbnQgcmV0dXJuIFRvT2JqZWN0KHN0cmluZyknKTsKfQoKLy9DSEVDSyM0CmlmICggbl9vYmogIT0gc3RyKSB7CiAgJEVSUk9SKCcjNDogV2hlbiB0aGUgT2JqZWN0IGNvbnN0cnVjdG9yIGlzIGNhbGxlZCB3aXRoIFN0cmluZyBhcmd1bWVudCByZXR1cm4gVG9PYmplY3Qoc3RyaW5nKScpOwp9CgovL0NIRUNLIzUKaWYgKCBuX29iaiA9PT0gc3RyKSB7CiAgJEVSUk9SKCcjNTogV2hlbiB0aGUgT2JqZWN0IGNvbnN0cnVjdG9yIGlzIGNhbGxlZCB3aXRoIFN0cmluZyBhcmd1bWVudCByZXR1cm4gVG9PYmplY3Qoc3RyaW5nKScpOwp9CgoK","commentary":"When the Object constructor is called with one argument value and\nthe type of value is String, return ToObject(string)","description":"Argument value is a nonempty string","path":"TestCases/ch15/15.2/15.2.2/S15.2.2.1_A3_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuIHRoZSBPYmplY3QgY29uc3RydWN0b3IgaXMgY2FsbGVkIHdpdGggb25lIGFyZ3VtZW50IHZhbHVlIGFuZAogKiB0aGUgdHlwZSBvZiB2YWx1ZSBpcyBTdHJpbmcsIHJldHVybiBUb09iamVjdChzdHJpbmcpCiAqCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjIvUzE1LjIuMi4xX0EzX1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBBcmd1bWVudCB2YWx1ZSBpcyBhbiBlbXB0eSBzdHJpbmcKICovCgp2YXIgc3RyID0gJyc7CgovL0NIRUNLIzEKaWYgKHR5cGVvZiBzdHIgICE9PSAnc3RyaW5nJykgewogICRGQUlMKCcjMTogIiIgaXMgTk9UIGEgU3RyaW5nJyk7Cn0KCnZhciBuX29iaiA9IG5ldyBPYmplY3Qoc3RyKTsKCi8vQ0hFQ0sjMgppZiAobl9vYmouY29uc3RydWN0b3IgIT09IFN0cmluZykgewogICRFUlJPUignIzI6IFdoZW4gdGhlIE9iamVjdCBjb25zdHJ1Y3RvciBpcyBjYWxsZWQgd2l0aCBTdHJpbmcgYXJndW1lbnQgcmV0dXJuIFRvT2JqZWN0KHN0cmluZyknKTsKfQoKLy9DSEVDSyMzCmlmICh0eXBlb2Ygbl9vYmogIT09ICdvYmplY3QnKSB7CiAgJEVSUk9SKCcjMzogV2hlbiB0aGUgT2JqZWN0IGNvbnN0cnVjdG9yIGlzIGNhbGxlZCB3aXRoIFN0cmluZyBhcmd1bWVudCByZXR1cm4gVG9PYmplY3Qoc3RyaW5nKScpOwp9CgovL0NIRUNLIzQKaWYgKCBuX29iaiAhPSBzdHIpIHsKICAkRVJST1IoJyM0OiBXaGVuIHRoZSBPYmplY3QgY29uc3RydWN0b3IgaXMgY2FsbGVkIHdpdGggU3RyaW5nIGFyZ3VtZW50IHJldHVybiBUb09iamVjdChzdHJpbmcpJyk7Cn0KCi8vQ0hFQ0sjNQppZiAoIG5fb2JqID09PSBzdHIpIHsKICAkRVJST1IoJyM1OiBXaGVuIHRoZSBPYmplY3QgY29uc3RydWN0b3IgaXMgY2FsbGVkIHdpdGggU3RyaW5nIGFyZ3VtZW50IHJldHVybiBUb09iamVjdChzdHJpbmcpJyk7Cn0KCg==","commentary":"When the Object constructor is called with one argument value and\nthe type of value is String, return ToObject(string)","description":"Argument value is an empty string","path":"TestCases/ch15/15.2/15.2.2/S15.2.2.1_A3_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuIHRoZSBPYmplY3QgY29uc3RydWN0b3IgaXMgY2FsbGVkIHdpdGggb25lIGFyZ3VtZW50IHZhbHVlIGFuZAogKiB0aGUgdHlwZSBvZiB2YWx1ZSBpcyBTdHJpbmcsIHJldHVybiBUb09iamVjdChzdHJpbmcpCiAqCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjIvUzE1LjIuMi4xX0EzX1QzLmpzCiAqIEBkZXNjcmlwdGlvbiBBcmd1bWVudCB2YWx1ZSBpcyBzdW0gb2YgZW1wdHkgc3RyaW5nIGFuZCBudW1iZXIKICovCgp2YXIgbl9vYmogPSBuZXcgT2JqZWN0KCIiKzEpOwoKLy9DSEVDSyMyCmlmIChuX29iai5jb25zdHJ1Y3RvciAhPT0gU3RyaW5nKSB7CiAgJEVSUk9SKCcjMjogV2hlbiB0aGUgT2JqZWN0IGNvbnN0cnVjdG9yIGlzIGNhbGxlZCB3aXRoIFN0cmluZyBhcmd1bWVudCByZXR1cm4gVG9PYmplY3Qoc3RyaW5nKScpOwp9CgovL0NIRUNLIzMKaWYgKHR5cGVvZiBuX29iaiAhPT0gJ29iamVjdCcpIHsKICAkRVJST1IoJyMzOiBXaGVuIHRoZSBPYmplY3QgY29uc3RydWN0b3IgaXMgY2FsbGVkIHdpdGggU3RyaW5nIGFyZ3VtZW50IHJldHVybiBUb09iamVjdChzdHJpbmcpJyk7Cn0KCi8vQ0hFQ0sjNAppZiAoIG5fb2JqICE9ICIxIikgewogICRFUlJPUignIzQ6IFdoZW4gdGhlIE9iamVjdCBjb25zdHJ1Y3RvciBpcyBjYWxsZWQgd2l0aCBTdHJpbmcgYXJndW1lbnQgcmV0dXJuIFRvT2JqZWN0KHN0cmluZyknKTsKfQoKLy9DSEVDSyM1CmlmICggbl9vYmogPT09ICIxIikgewogICRFUlJPUignIzU6IFdoZW4gdGhlIE9iamVjdCBjb25zdHJ1Y3RvciBpcyBjYWxsZWQgd2l0aCBTdHJpbmcgYXJndW1lbnQgcmV0dXJuIFRvT2JqZWN0KHN0cmluZyknKTsKfQoK","commentary":"When the Object constructor is called with one argument value and\nthe type of value is String, return ToObject(string)","description":"Argument value is sum of empty string and number","path":"TestCases/ch15/15.2/15.2.2/S15.2.2.1_A3_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuIHRoZSBPYmplY3QgY29uc3RydWN0b3IgaXMgY2FsbGVkIHdpdGggb25lIGFyZ3VtZW50IHZhbHVlIGFuZAogKiB0aGUgdHlwZSBvZiB2YWx1ZSBpcyBCb29sZWFuLCByZXR1cm4gVG9PYmplY3QoYm9vbGVhbikKICoKICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMi9TMTUuMi4yLjFfQTRfVDEuanMKICogQGRlc2NyaXB0aW9uIEFyZ3VtZW50IHZhbHVlIGlzICJ0cnVlIgogKi8KCnZhciBib29sID0gdHJ1ZTsKCi8vQ0hFQ0sjMQppZiAodHlwZW9mIGJvb2wgICE9PSAnYm9vbGVhbicpIHsKICAkRkFJTCgnIzE6IHRydWUgaXMgTk9UIGEgYm9vbGVhbicpOwp9Cgp2YXIgbl9vYmogPSBuZXcgT2JqZWN0KGJvb2wpOwoKLy9DSEVDSyMyCmlmIChuX29iai5jb25zdHJ1Y3RvciAhPT0gQm9vbGVhbikgewogICRFUlJPUignIzI6IFdoZW4gdGhlIE9iamVjdCBjb25zdHJ1Y3RvciBpcyBjYWxsZWQgd2l0aCBCb29sZWFuIGFyZ3VtZW50IHJldHVybiBUb09iamVjdChib29sZWFuKScpOwp9CgovL0NIRUNLIzMKaWYgKHR5cGVvZiBuX29iaiAhPT0gJ29iamVjdCcpIHsKICAkRVJST1IoJyMzOiBXaGVuIHRoZSBPYmplY3QgY29uc3RydWN0b3IgaXMgY2FsbGVkIHdpdGggQm9vbGVhbiBhcmd1bWVudCByZXR1cm4gVG9PYmplY3QoYm9vbGVhbiknKTsKfQoKLy9DSEVDSyM0CmlmICggbl9vYmogIT0gYm9vbCkgewogICRFUlJPUignIzQ6IFdoZW4gdGhlIE9iamVjdCBjb25zdHJ1Y3RvciBpcyBjYWxsZWQgd2l0aCBCb29sZWFuIGFyZ3VtZW50IHJldHVybiBUb09iamVjdChib29sZWFuKScpOwp9CgovL0NIRUNLIzUKaWYgKCBuX29iaiA9PT0gYm9vbCkgewogICRFUlJPUignIzU6IFdoZW4gdGhlIE9iamVjdCBjb25zdHJ1Y3RvciBpcyBjYWxsZWQgd2l0aCBCb29sZWFuIGFyZ3VtZW50IHJldHVybiBUb09iamVjdChib29sZWFuKScpOwp9Cgo=","commentary":"When the Object constructor is called with one argument value and\nthe type of value is Boolean, return ToObject(boolean)","description":"Argument value is \"true\"","path":"TestCases/ch15/15.2/15.2.2/S15.2.2.1_A4_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuIHRoZSBPYmplY3QgY29uc3RydWN0b3IgaXMgY2FsbGVkIHdpdGggb25lIGFyZ3VtZW50IHZhbHVlIGFuZAogKiB0aGUgdHlwZSBvZiB2YWx1ZSBpcyBCb29sZWFuLCByZXR1cm4gVG9PYmplY3QoYm9vbGVhbikKICoKICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMi9TMTUuMi4yLjFfQTRfVDIuanMKICogQGRlc2NyaXB0aW9uIEFyZ3VtZW50IHZhbHVlIGlzICJmYWxzZSIKICovCgp2YXIgYm9vbCA9IGZhbHNlOwoKLy9DSEVDSyMxCmlmICh0eXBlb2YgYm9vbCAgIT09ICdib29sZWFuJykgewogICRGQUlMKCcjMTogZmFsc2UgaXMgTk9UIGEgYm9vbGVhbicpOwp9Cgp2YXIgbl9vYmogPSBuZXcgT2JqZWN0KGJvb2wpOwoKLy9DSEVDSyMyCmlmIChuX29iai5jb25zdHJ1Y3RvciAhPT0gQm9vbGVhbikgewogICRFUlJPUignIzI6IFdoZW4gdGhlIE9iamVjdCBjb25zdHJ1Y3RvciBpcyBjYWxsZWQgd2l0aCBCb29sZWFuIGFyZ3VtZW50IHJldHVybiBUb09iamVjdChib29sZWFuKScpOwp9CgovL0NIRUNLIzMKaWYgKHR5cGVvZiBuX29iaiAhPT0gJ29iamVjdCcpIHsKICAkRVJST1IoJyMzOiBXaGVuIHRoZSBPYmplY3QgY29uc3RydWN0b3IgaXMgY2FsbGVkIHdpdGggQm9vbGVhbiBhcmd1bWVudCByZXR1cm4gVG9PYmplY3QoYm9vbGVhbiknKTsKfQoKLy9DSEVDSyM0CmlmICggbl9vYmogIT0gYm9vbCkgewogICRFUlJPUignIzQ6IFdoZW4gdGhlIE9iamVjdCBjb25zdHJ1Y3RvciBpcyBjYWxsZWQgd2l0aCBCb29sZWFuIGFyZ3VtZW50IHJldHVybiBUb09iamVjdChib29sZWFuKScpOwp9CgovL0NIRUNLIzUKaWYgKCBuX29iaiA9PT0gYm9vbCkgewogICRFUlJPUignIzU6IFdoZW4gdGhlIE9iamVjdCBjb25zdHJ1Y3RvciBpcyBjYWxsZWQgd2l0aCBCb29sZWFuIGFyZ3VtZW50IHJldHVybiBUb09iamVjdChib29sZWFuKScpOwp9Cgo=","commentary":"When the Object constructor is called with one argument value and\nthe type of value is Boolean, return ToObject(boolean)","description":"Argument value is \"false\"","path":"TestCases/ch15/15.2/15.2.2/S15.2.2.1_A4_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuIHRoZSBPYmplY3QgY29uc3RydWN0b3IgaXMgY2FsbGVkIHdpdGggb25lIGFyZ3VtZW50IHZhbHVlIGFuZAogKiB0aGUgdHlwZSBvZiB2YWx1ZSBpcyBCb29sZWFuLCByZXR1cm4gVG9PYmplY3QoYm9vbGVhbikKICoKICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMi9TMTUuMi4yLjFfQTRfVDMuanMKICogQGRlc2NyaXB0aW9uIEFyZ3VtZW50IHZhbHVlIGlzIGJvb2xlYW4gZXhwcmVzc2lvbgogKi8KCnZhciBuX29iaiA9IG5ldyBPYmplY3QoKDE9PT0xKSYmIShmYWxzZSkpOwoKLy9DSEVDSyMyCmlmIChuX29iai5jb25zdHJ1Y3RvciAhPT0gQm9vbGVhbikgewogICRFUlJPUignIzI6IFdoZW4gdGhlIE9iamVjdCBjb25zdHJ1Y3RvciBpcyBjYWxsZWQgd2l0aCBCb29sZWFuIGFyZ3VtZW50IHJldHVybiBUb09iamVjdChib29sZWFuKScpOwp9CgovL0NIRUNLIzMKaWYgKHR5cGVvZiBuX29iaiAhPT0gJ29iamVjdCcpIHsKICAkRVJST1IoJyMzOiBXaGVuIHRoZSBPYmplY3QgY29uc3RydWN0b3IgaXMgY2FsbGVkIHdpdGggQm9vbGVhbiBhcmd1bWVudCByZXR1cm4gVG9PYmplY3QoYm9vbGVhbiknKTsKfQoKLy9DSEVDSyM0CmlmICggbl9vYmogIT0gdHJ1ZSkgewogICRFUlJPUignIzQ6IFdoZW4gdGhlIE9iamVjdCBjb25zdHJ1Y3RvciBpcyBjYWxsZWQgd2l0aCBCb29sZWFuIGFyZ3VtZW50IHJldHVybiBUb09iamVjdChib29sZWFuKScpOwp9CgovL0NIRUNLIzUKaWYgKCBuX29iaiA9PT0gdHJ1ZSkgewogICRFUlJPUignIzU6IFdoZW4gdGhlIE9iamVjdCBjb25zdHJ1Y3RvciBpcyBjYWxsZWQgd2l0aCBCb29sZWFuIGFyZ3VtZW50IHJldHVybiBUb09iamVjdChib29sZWFuKScpOwp9Cgo=","commentary":"When the Object constructor is called with one argument value and\nthe type of value is Boolean, return ToObject(boolean)","description":"Argument value is boolean expression","path":"TestCases/ch15/15.2/15.2.2/S15.2.2.1_A4_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuIHRoZSBPYmplY3QgY29uc3RydWN0b3IgaXMgY2FsbGVkIHdpdGggb25lIGFyZ3VtZW50IHZhbHVlIGFuZAogKiB0aGUgdHlwZSBvZiB2YWx1ZSBpcyBOdW1iZXIsIHJldHVybiBUb09iamVjdChudW1iZXIpCiAqCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjIvUzE1LjIuMi4xX0E1X1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBBcmd1bWVudCB2YWx1ZSBpcyBhbnkgbnVtYmVyCiAqLwoKdmFyIG51bSA9IDEuMDsKCi8vQ0hFQ0sjMQppZiAodHlwZW9mIG51bSAgIT09ICdudW1iZXInKSB7CiAgJEZBSUwoJyMxOiAxLjAgaXMgTk9UIGEgbnVtYmVyJyk7Cn0KCnZhciBuX29iaiA9IG5ldyBPYmplY3QobnVtKTsKCi8vQ0hFQ0sjMgppZiAobl9vYmouY29uc3RydWN0b3IgIT09IE51bWJlcikgewogICRFUlJPUignIzI6IFdoZW4gdGhlIE9iamVjdCBjb25zdHJ1Y3RvciBpcyBjYWxsZWQgd2l0aCBOdW1iZXIgYXJndW1lbnQgcmV0dXJuIFRvT2JqZWN0KG51bWJlciknKTsKfQoKLy9DSEVDSyMzCmlmICh0eXBlb2Ygbl9vYmogIT09ICdvYmplY3QnKSB7CiAgJEVSUk9SKCcjMzogV2hlbiB0aGUgT2JqZWN0IGNvbnN0cnVjdG9yIGlzIGNhbGxlZCB3aXRoIE51bWJlciBhcmd1bWVudCByZXR1cm4gVG9PYmplY3QobnVtYmVyKScpOwp9CgovL0NIRUNLIzQKaWYgKCBuX29iaiAhPSBudW0pIHsKICAkRVJST1IoJyM0OiBXaGVuIHRoZSBPYmplY3QgY29uc3RydWN0b3IgaXMgY2FsbGVkIHdpdGggTnVtYmVyIGFyZ3VtZW50IHJldHVybiBUb09iamVjdChudW1iZXIpJyk7Cn0KCi8vQ0hFQ0sjNQppZiAoIG5fb2JqID09PSBudW0pIHsKICAkRVJST1IoJyM1OiBXaGVuIHRoZSBPYmplY3QgY29uc3RydWN0b3IgaXMgY2FsbGVkIHdpdGggTnVtYmVyIGFyZ3VtZW50IHJldHVybiBUb09iamVjdChudW1iZXIpJyk7Cn0KCg==","commentary":"When the Object constructor is called with one argument value and\nthe type of value is Number, return ToObject(number)","description":"Argument value is any number","path":"TestCases/ch15/15.2/15.2.2/S15.2.2.1_A5_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuIHRoZSBPYmplY3QgY29uc3RydWN0b3IgaXMgY2FsbGVkIHdpdGggb25lIGFyZ3VtZW50IHZhbHVlIGFuZAogKiB0aGUgdHlwZSBvZiB2YWx1ZSBpcyBOdW1iZXIsIHJldHVybiBUb09iamVjdChudW1iZXIpCiAqCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjIvUzE1LjIuMi4xX0E1X1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBBcmd1bWVudCB2YWx1ZSBpcyBOYU4KICovCgp2YXIgbnVtID0gTmFOOwoKLy9DSEVDSyMxCmlmICh0eXBlb2YgbnVtICAhPT0gJ251bWJlcicpIHsKICAkRkFJTCgnIzE6IE5hTiBpcyBOT1QgYSBudW1iZXInKTsKfQoKdmFyIG5fb2JqID0gbmV3IE9iamVjdChudW0pOwoKLy9DSEVDSyMyCmlmIChuX29iai5jb25zdHJ1Y3RvciAhPT0gTnVtYmVyKSB7CiAgJEVSUk9SKCcjMjogV2hlbiB0aGUgT2JqZWN0IGNvbnN0cnVjdG9yIGlzIGNhbGxlZCB3aXRoIE51bWJlciBhcmd1bWVudCByZXR1cm4gVG9PYmplY3QobnVtYmVyKScpOwp9CgovL0NIRUNLIzMKaWYgKHR5cGVvZiBuX29iaiAhPT0gJ29iamVjdCcpIHsKICAkRVJST1IoJyMzOiBXaGVuIHRoZSBPYmplY3QgY29uc3RydWN0b3IgaXMgY2FsbGVkIHdpdGggTnVtYmVyIGFyZ3VtZW50IHJldHVybiBUb09iamVjdChudW1iZXIpJyk7Cn0KCg==","commentary":"When the Object constructor is called with one argument value and\nthe type of value is Number, return ToObject(number)","description":"Argument value is NaN","path":"TestCases/ch15/15.2/15.2.2/S15.2.2.1_A5_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuIHRoZSBPYmplY3QgY29uc3RydWN0b3IgaXMgY2FsbGVkIHdpdGggb25lIGFyZ3VtZW50IHZhbHVlIGFuZAogKiB0aGUgdHlwZSBvZiB2YWx1ZSBpcyBOdW1iZXIsIHJldHVybiBUb09iamVjdChudW1iZXIpCiAqCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjIvUzE1LjIuMi4xX0E1X1QzLmpzCiAqIEBkZXNjcmlwdGlvbiBBcmd1bWVudCB2YWx1ZSBpcyBJbmZpbml0eQogKi8KCnZhciBudW0gPSBJbmZpbml0eTsKCi8vQ0hFQ0sjMQppZiAodHlwZW9mIG51bSAgIT09ICdudW1iZXInKSB7CiAgJEZBSUwoJyMxOiBJbmZpbml0eSBpcyBOT1QgYSBudW1iZXInKTsKfQoKdmFyIG5fb2JqID0gbmV3IE9iamVjdChudW0pOwoKLy9DSEVDSyMyCmlmIChuX29iai5jb25zdHJ1Y3RvciAhPT0gTnVtYmVyKSB7CiAgJEVSUk9SKCcjMjogV2hlbiB0aGUgT2JqZWN0IGNvbnN0cnVjdG9yIGlzIGNhbGxlZCB3aXRoIE51bWJlciBhcmd1bWVudCByZXR1cm4gVG9PYmplY3QobnVtYmVyKScpOwp9CgovL0NIRUNLIzMKaWYgKHR5cGVvZiBuX29iaiAhPT0gJ29iamVjdCcpIHsKICAkRVJST1IoJyMzOiBXaGVuIHRoZSBPYmplY3QgY29uc3RydWN0b3IgaXMgY2FsbGVkIHdpdGggTnVtYmVyIGFyZ3VtZW50IHJldHVybiBUb09iamVjdChudW1iZXIpJyk7Cn0KCi8vQ0hFQ0sjNAppZiAoIG5fb2JqICE9IG51bSkgewogICRFUlJPUignIzQ6IFdoZW4gdGhlIE9iamVjdCBjb25zdHJ1Y3RvciBpcyBjYWxsZWQgd2l0aCBOdW1iZXIgYXJndW1lbnQgcmV0dXJuIFRvT2JqZWN0KG51bWJlciknKTsKfQoKLy9DSEVDSyM1CmlmICggbl9vYmogPT09IG51bSkgewogICRFUlJPUignIzU6IFdoZW4gdGhlIE9iamVjdCBjb25zdHJ1Y3RvciBpcyBjYWxsZWQgd2l0aCBOdW1iZXIgYXJndW1lbnQgcmV0dXJuIFRvT2JqZWN0KG51bWJlciknKTsKfQoK","commentary":"When the Object constructor is called with one argument value and\nthe type of value is Number, return ToObject(number)","description":"Argument value is Infinity","path":"TestCases/ch15/15.2/15.2.2/S15.2.2.1_A5_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuIHRoZSBPYmplY3QgY29uc3RydWN0b3IgaXMgY2FsbGVkIHdpdGggb25lIGFyZ3VtZW50IHZhbHVlIGFuZAogKiB0aGUgdHlwZSBvZiB2YWx1ZSBpcyBOdW1iZXIsIHJldHVybiBUb09iamVjdChudW1iZXIpCiAqCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjIvUzE1LjIuMi4xX0E1X1Q0LmpzCiAqIEBkZXNjcmlwdGlvbiBBcmd1bWVudCB2YWx1ZSBpcyBudW1lcmljIGV4cHJlc3Npb24KICovCgp2YXIgbl9vYmogPSBuZXcgT2JqZWN0KCAyKihbXS5sZW5ndGggKyB7cToxfVsicSJdKSk7CgovL0NIRUNLIzIKaWYgKG5fb2JqLmNvbnN0cnVjdG9yICE9PSBOdW1iZXIpIHsKICAkRVJST1IoJyMyOiBXaGVuIHRoZSBPYmplY3QgY29uc3RydWN0b3IgaXMgY2FsbGVkIHdpdGggTnVtYmVyIGFyZ3VtZW50IHJldHVybiBUb09iamVjdChudW1iZXIpJyk7Cn0KCi8vQ0hFQ0sjMwppZiAodHlwZW9mIG5fb2JqICE9PSAnb2JqZWN0JykgewogICRFUlJPUignIzM6IFdoZW4gdGhlIE9iamVjdCBjb25zdHJ1Y3RvciBpcyBjYWxsZWQgd2l0aCBOdW1iZXIgYXJndW1lbnQgcmV0dXJuIFRvT2JqZWN0KG51bWJlciknKTsKfQoKLy9DSEVDSyM0CmlmICggbl9vYmogIT0gMikgewogICRFUlJPUignIzQ6IFdoZW4gdGhlIE9iamVjdCBjb25zdHJ1Y3RvciBpcyBjYWxsZWQgd2l0aCBOdW1iZXIgYXJndW1lbnQgcmV0dXJuIFRvT2JqZWN0KG51bWJlciknKTsKfQoKLy9DSEVDSyM1CmlmICggbl9vYmogPT09IDIpIHsKICAkRVJST1IoJyM1OiBXaGVuIHRoZSBPYmplY3QgY29uc3RydWN0b3IgaXMgY2FsbGVkIHdpdGggTnVtYmVyIGFyZ3VtZW50IHJldHVybiBUb09iamVjdChudW1iZXIpJyk7Cn0KCg==","commentary":"When the Object constructor is called with one argument value and\nthe type of value is Number, return ToObject(number)","description":"Argument value is numeric expression","path":"TestCases/ch15/15.2/15.2.2/S15.2.2.1_A5_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTaW5jZSBjYWxsaW5nIE9iamVjdCBhcyBhIGZ1bmN0aW9uIGlzIGlkZW50aWNhbCB0byBjYWxsaW5nIGEgZnVuY3Rpb24sIGxpc3Qgb2YgYXJndW1lbnRzIGJyYWNrZXRpbmcgaXMgYWxsb3dlZAogKgogKiBAcGF0aCBjaDE1LzE1LjIvMTUuMi4yL1MxNS4yLjIuMV9BNl9UMS5qcwogKiBAZGVzY3JpcHRpb24gQ3JlYXRpbmcgYW4gb2JqZWN0IHdpdGggIm5ldyBPYmplY3QoMSwyLDMpIgogKi8KCnZhciBvYmogPSBuZXcgT2JqZWN0KDEsMiwzKTsKCi8vQ0hFQ0sjMQppZiAob2JqLmNvbnN0cnVjdG9yICE9PSBOdW1iZXIpIHsKICAkRVJST1IoJyMxOiBTaW5jZSBPYmplY3QgYXMgYSBmdW5jdGlvbiBjYWxsaW5nIGlzIHRoZSBzYW1lIGFzIGZ1bmN0aW9uIGNhbGxpbmcgbGlzdCBvZiBhcmd1bWVudHMgY2FuIGFwcGVhcnMgaW4gYnJhY2VzOycpOwp9CgovL0NIRUNLIzIKaWYgKHR5cGVvZiBvYmogIT09ICJvYmplY3QiKSB7CiAgJEVSUk9SKCcjMjogU2luY2UgT2JqZWN0IGFzIGEgZnVuY3Rpb24gY2FsbGluZyBpcyB0aGUgc2FtZSBhcyBmdW5jdGlvbiBjYWxsaW5nIGxpc3Qgb2YgYXJndW1lbnRzIGNhbiBhcHBlYXJzIGluIGJyYWNlczsnKTsKfQoKLy9DSEVDSyMzCmlmICgob2JqICE9IDEpfHwob2JqID09PSAxKSkgewogICRFUlJPUignMyM6IFNpbmNlIE9iamVjdCBhcyBhIGZ1bmN0aW9uIGNhbGxpbmcgaXMgdGhlIHNhbWUgYXMgZnVuY3Rpb24gY2FsbGluZyBsaXN0IG9mIGFyZ3VtZW50cyBjYW4gYXBwZWFycyBpbiBicmFjZXM7Jyk7Cn0KCg==","commentary":"Since calling Object as a function is identical to calling a function, list of arguments bracketing is allowed","description":"Creating an object with \"new Object(1,2,3)\"","path":"TestCases/ch15/15.2/15.2.2/S15.2.2.1_A6_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTaW5jZSBjYWxsaW5nIE9iamVjdCBhcyBhIGZ1bmN0aW9uIGlzIGlkZW50aWNhbCB0byBjYWxsaW5nIGEgZnVuY3Rpb24sIGxpc3Qgb2YgYXJndW1lbnRzIGJyYWNrZXRpbmcgaXMgYWxsb3dlZAogKgogKiBAcGF0aCBjaDE1LzE1LjIvMTUuMi4yL1MxNS4yLjIuMV9BNl9UMi5qcwogKiBAZGVzY3JpcHRpb24gQ3JlYXRpbmcgYW4gb2JqZWN0IHdpdGggIm5ldyBPYmplY3QobnVsbCwyLDMpIgogKi8KCnZhciBvYmogPSBuZXcgT2JqZWN0KG51bGwsMiwzKTsKCi8vQ0hFQ0sjMQppZiAob2JqLmNvbnN0cnVjdG9yICE9PSBPYmplY3QpIHsKICAkRVJST1IoJyMxOiBTaW5jZSBPYmplY3QgYXMgYSBmdW5jdGlvbiBjYWxsaW5nIGlzIHRoZSBzYW1lIGFzIGZ1bmN0aW9uIGNhbGxpbmcgbGlzdCBvZiBhcmd1bWVudHMgY2FuIGFwcGVhcnMgaW4gYnJhY2VzOycpOwp9CgovL0NIRUNLIzIKaWYgKHR5cGVvZiBvYmogIT09ICJvYmplY3QiKSB7CiAgJEVSUk9SKCcjMjogU2luY2UgT2JqZWN0IGFzIGEgZnVuY3Rpb24gY2FsbGluZyBpcyB0aGUgc2FtZSBhcyBmdW5jdGlvbiBjYWxsaW5nIGxpc3Qgb2YgYXJndW1lbnRzIGNhbiBhcHBlYXJzIGluIGJyYWNlczsnKTsKfQoK","commentary":"Since calling Object as a function is identical to calling a function, list of arguments bracketing is allowed","description":"Creating an object with \"new Object(null,2,3)\"","path":"TestCases/ch15/15.2/15.2.2/S15.2.2.1_A6_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTaW5jZSBjYWxsaW5nIE9iamVjdCBhcyBhIGZ1bmN0aW9uIGlzIGlkZW50aWNhbCB0byBjYWxsaW5nIGEgZnVuY3Rpb24sIGxpc3Qgb2YgYXJndW1lbnRzIGJyYWNrZXRpbmcgaXMgYWxsb3dlZAogKgogKiBAcGF0aCBjaDE1LzE1LjIvMTUuMi4yL1MxNS4yLjIuMV9BNl9UMy5qcwogKiBAZGVzY3JpcHRpb24gQ3JlYXRpbmcgYW4gb2JqZWN0IHdpdGggIm5ldyBPYmplY3QoKG51bGwsMiwzKSwyLDMpIgogKi8KCnZhciBvYmogPSBuZXcgT2JqZWN0KChudWxsLDIsMyksMSwyKTsKCi8vQ0hFQ0sjMQppZiAob2JqLmNvbnN0cnVjdG9yICE9PSBOdW1iZXIpIHsKICAkRVJST1IoJyMxOiBTaW5jZSBPYmplY3QgYXMgYSBmdW5jdGlvbiBjYWxsaW5nIGlzIHRoZSBzYW1lIGFzIGZ1bmN0aW9uIGNhbGxpbmcgbGlzdCBvZiBhcmd1bWVudHMgY2FuIGFwcGVhcnMgaW4gYnJhY2VzOycpOwp9CgovL0NIRUNLIzIKaWYgKHR5cGVvZiBvYmogIT09ICJvYmplY3QiKSB7CiAgJEVSUk9SKCcjMjogU2luY2UgT2JqZWN0IGFzIGEgZnVuY3Rpb24gY2FsbGluZyBpcyB0aGUgc2FtZSBhcyBmdW5jdGlvbiBjYWxsaW5nIGxpc3Qgb2YgYXJndW1lbnRzIGNhbiBhcHBlYXJzIGluIGJyYWNlczsnKTsKfQoKLy9DSEVDSyMzCmlmICgob2JqICE9IDMpfHwob2JqID09PSAzKSkgewogICRFUlJPUignMyM6IFNpbmNlIE9iamVjdCBhcyBhIGZ1bmN0aW9uIGNhbGxpbmcgaXMgdGhlIHNhbWUgYXMgZnVuY3Rpb24gY2FsbGluZyBsaXN0IG9mIGFyZ3VtZW50cyBjYW4gYXBwZWFycyBpbiBicmFjZXM7Jyk7Cn0KCg==","commentary":"Since calling Object as a function is identical to calling a function, list of arguments bracketing is allowed","description":"Creating an object with \"new Object((null,2,3),2,3)\"","path":"TestCases/ch15/15.2/15.2.2/S15.2.2.1_A6_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgT2JqZWN0IGNvbnN0cnVjdG9yIGhhcyB0aGUgcHJvcGVydHkgInByb3RvdHlwZSIKICoKICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy9TMTUuMi4zX0ExLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBleGlzdGVuY2Ugb2YgdGhlIHByb3BlcnR5ICJwcm90b3R5cGUiCiAqLwoKaWYoIU9iamVjdC5oYXNPd25Qcm9wZXJ0eSgicHJvdG90eXBlIikpewogICRFUlJPUignIzE6IFRoZSBPYmplY3QgY29uc3RydWN0b3IgaGFzIHRoZSBwcm9wZXJ0eSAicHJvdG90eXBlIicpOwp9Cgo=","commentary":"The Object constructor has the property \"prototype\"","description":"Checking existence of the property \"prototype\"","path":"TestCases/ch15/15.2/15.2.3/S15.2.3_A1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgdmFsdWUgb2YgdGhlIGludGVybmFsIFtbUHJvdG90eXBlXV0gcHJvcGVydHkgb2YgdGhlIE9iamVjdCBjb25zdHJ1Y3RvcgogKiBpcyB0aGUgRnVuY3Rpb24gcHJvdG90eXBlIG9iamVjdAogKgogKiBAcGF0aCBjaDE1LzE1LjIvMTUuMi4zL1MxNS4yLjNfQTIuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIEZ1bmN0aW9uLnByb3RvdHlwZS5pc1Byb3RvdHlwZU9mKE9iamVjdCkKICovCgovLyBDSEVDSyMKaWYgKCEoRnVuY3Rpb24ucHJvdG90eXBlLmlzUHJvdG90eXBlT2YoT2JqZWN0KSkpIHsKICAkRVJST1IoJyMxOiB0aGUgdmFsdWUgb2YgdGhlIGludGVybmFsIFtbUHJvdG90eXBlXV0gcHJvcGVydHkgb2YgdGhlIE9iamVjdCBjb25zdHJ1Y3RvciBpcyB0aGUgRnVuY3Rpb24gcHJvdG90eXBlIG9iamVjdC4nKTsKfQoK","commentary":"The value of the internal [[Prototype]] property of the Object constructor\nis the Function prototype object","description":"Checking Function.prototype.isPrototypeOf(Object)","path":"TestCases/ch15/15.2/15.2.3/S15.2.3_A2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPYmplY3QgY29uc3RydWN0b3IgaGFzIGxlbmd0aCBwcm9wZXJ0eSB3aG9zZSB2YWx1ZSBpcyAxCiAqCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvUzE1LjIuM19BMy5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgT2JqZWN0Lmxlbmd0aAogKi8KCi8vQ0hFQ0sjMQppZighT2JqZWN0Lmhhc093blByb3BlcnR5KCJsZW5ndGgiKSl7CiAgJEVSUk9SKCcjMTogVGhlIE9iamVjdCBjb25zdHJ1Y3RvciBoYXMgdGhlIHByb3BlcnR5ICJsZW5ndGgiJyk7Cn0KCi8vQ0hFQ0sjMgppZiAoT2JqZWN0Lmxlbmd0aCAhPT0gMSkgewogICRFUlJPUignIzI6IE9iamVjdC5sZW5ndGggcHJvcGVydHkgdmFsdWUgc2hvdWxkIGJlIDEnKTsKfQoK","commentary":"Object constructor has length property whose value is 1","description":"Checking Object.length","path":"TestCases/ch15/15.2/15.2.3/S15.2.3_A3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMS8xNS4yLjMuMS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5wcm90b3R5cGUgaXMgYSBkYXRhIHByb3BlcnR5IHdpdGggZGVmYXVsdCBhdHRyaWJ1dGUgdmFsdWVzIChmYWxzZSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoT2JqZWN0LCAncHJvdG90eXBlJyk7DQogIGlmIChkZXNjLndyaXRhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5jb25maWd1cmFibGUgPT09IGZhbHNlKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.prototype is a data property with default attribute values (false)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.1/15.2.3.1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgT2JqZWN0LnByb3RvdHlwZSBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZSBSZWFkT25seQogKgogKiBAcGF0aCBjaDE1LzE1LjIvMTUuMi4zLzE1LjIuMy4xL1MxNS4yLjMuMV9BMS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgaWYgdmFyeWluZyAiT2JqZWN0LnByb3RvdHlwZSIgcHJvcGVydHkgZmFpbHMKICovCgp2YXIgb2JqID0gT2JqZWN0LnByb3RvdHlwZTsKT2JqZWN0LnByb3RvdHlwZSA9IGZ1bmN0aW9uKCl7cmV0dXJuICJzaGlmdGVkIjt9OwoKLy9DSEVDSyMxCmlmIChPYmplY3QucHJvdG90eXBlICE9PSBvYmopIHsKICAkRVJST1IoJyMxOiB0aGUgT2JqZWN0LnByb3RvdHlwZSBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZXMgUmVhZE9ubHkuJyk7Cn0KCi8vQ0hFQ0sjMgp0cnkgewogIE9iamVjdC5wcm90b3R5cGUoKTsKICAkRVJST1IoJyMyOiB0aGUgT2JqZWN0LnByb3RvdHlwZSBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZXMgUmVhZE9ubHknKTsKfSBjYXRjaCAoZSkgewogIDsKfQoK","commentary":"The Object.prototype property has the attribute ReadOnly","description":"Checking if varying \"Object.prototype\" property fails","path":"TestCases/ch15/15.2/15.2.3/15.2.3.1/S15.2.3.1_A1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgT2JqZWN0LnByb3RvdHlwZSBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZSBEb250RW51bQogKgogKiBAcGF0aCBjaDE1LzE1LjIvMTUuMi4zLzE1LjIuMy4xL1MxNS4yLjMuMV9BMi5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgaWYgZW51bWVyYXRpbmcgIk9iamVjdC5wcm90b3R5cGUiIHByb3BlcnR5IGZhaWxzCiAqLwoKLy8gQ0hFQ0sjMQppZiAoT2JqZWN0LnByb3BlcnR5SXNFbnVtZXJhYmxlKCdwcm90b3R5cGUnKSkgewogICRFUlJPUignIzE6IHRoZSBPYmplY3QucHJvdG90eXBlIHByb3BlcnR5IGhhcyB0aGUgYXR0cmlidXRlcyBEb250RW51bScpOwp9CgovLyBDSEVDSyMyCnZhciBjb3V0PTA7Cgpmb3IgKHAgaW4gT2JqZWN0KXsKICBpZiAocD09PSJwcm90b3R5cGUiKSBjb3V0Kys7Cn0KCmlmIChjb3V0ICE9PSAwKSB7CiAgJEVSUk9SKCcjMjogdGhlIE9iamVjdC5wcm90b3R5cGUgcHJvcGVydHkgaGFzIHRoZSBhdHRyaWJ1dGVzIERvbnRFbnVtJyk7Cn0KCg==","commentary":"The Object.prototype property has the attribute DontEnum","description":"Checking if enumerating \"Object.prototype\" property fails","path":"TestCases/ch15/15.2/15.2.3/15.2.3.1/S15.2.3.1_A2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBAcGF0aCBjaDE1LzE1LjIvMTUuMi4zLzE1LjIuMy4xL1MxNS4yLjMuMV9BMy5qcwogKi8KCgovKioKKiBAbmFtZTogUzE1LjIuMy4xX0EzOwoqIEBzZWN0aW9uOiAxNS4yLjMuMSwgMTUuMi40OwoqIEBhc3NlcnRpb246IFRoZSBPYmplY3QucHJvdG90eXBlIHByb3BlcnR5IGhhcyB0aGUgYXR0cmlidXRlIERvbnREZWxldGU7CiogQGRlc2NyaXB0aW9uOiBDaGVja2luZyBpZiBkZWxldGluZyAiT2JqZWN0LnByb3RvdHlwZSIgcHJvcGVydHkgZmFpbHM7CiogQG5vU3RyaWN0CiovCgpkZWxldGUgT2JqZWN0LnByb3RvdHlwZTsKCi8vQ0hFQ0sjMgppZiAoIShPYmplY3QuaGFzT3duUHJvcGVydHkoJ3Byb3RvdHlwZScpKSkgewogICRFUlJPUignIzI6IHRoZSBPYmplY3QucHJvdG90eXBlIHByb3BlcnR5IGhhcyB0aGUgYXR0cmlidXRlcyBEb250RGVsZXRlLicpOwp9Cgo=","commentary":"","path":"TestCases/ch15/15.2/15.2.3/15.2.3.1/S15.2.3.1_A3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMTAvMTUuMi4zLjEwLTAtMS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5wcmV2ZW50RXh0ZW5zaW9ucyBtdXN0IGV4aXN0IGFzIGEgZnVuY3Rpb24NCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgZiA9IE9iamVjdC5wcmV2ZW50RXh0ZW5zaW9uczsNCiAgaWYgKHR5cGVvZihmKSA9PT0gImZ1bmN0aW9uIikgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.preventExtensions must exist as a function","path":"TestCases/ch15/15.2/15.2.3/15.2.3.10/15.2.3.10-0-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMTAvMTUuMi4zLjEwLTAtMi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5wcmV2ZW50RXh0ZW5zaW9ucyBtdXN0IGV4aXN0IGFzIGEgZnVuY3Rpb24gdGFraW5nIDEgcGFyYW1ldGVyDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgaWYgKE9iamVjdC5wcmV2ZW50RXh0ZW5zaW9ucy5sZW5ndGggPT09IDEpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.preventExtensions must exist as a function taking 1 parameter","path":"TestCases/ch15/15.2/15.2.3/15.2.3.10/15.2.3.10-0-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMTAvMTUuMi4zLjEwLTEtMS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5wcmV2ZW50RXh0ZW5zaW9ucyB0aHJvd3MgVHlwZUVycm9yIGlmICdPJyBpcyB1bmRlZmluZWQNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LnByZXZlbnRFeHRlbnNpb25zKHVuZGVmaW5lZCk7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiAoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcik7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.preventExtensions throws TypeError if 'O' is undefined","path":"TestCases/ch15/15.2/15.2.3/15.2.3.10/15.2.3.10-1-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMTAvMTUuMi4zLjEwLTEtMi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5wcmV2ZW50RXh0ZW5zaW9ucyB0aHJvd3MgVHlwZUVycm9yIGlmICdPJyBpcyBudWxsDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5wcmV2ZW50RXh0ZW5zaW9ucyhudWxsKTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIChlIGluc3RhbmNlb2YgVHlwZUVycm9yKTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.preventExtensions throws TypeError if 'O' is null","path":"TestCases/ch15/15.2/15.2.3/15.2.3.10/15.2.3.10-1-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMTAvMTUuMi4zLjEwLTEtMy5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5wcmV2ZW50RXh0ZW5zaW9ucyB0aHJvd3MgVHlwZUVycm9yIGlmICdPJyBpcyBhIGJvb2xlYW4gcHJpbWl0aXZlIHZhbHVlDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5wcmV2ZW50RXh0ZW5zaW9ucyh0cnVlKTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIChlIGluc3RhbmNlb2YgVHlwZUVycm9yKTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.preventExtensions throws TypeError if 'O' is a boolean primitive value","path":"TestCases/ch15/15.2/15.2.3/15.2.3.10/15.2.3.10-1-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMTAvMTUuMi4zLjEwLTEtNC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5wcmV2ZW50RXh0ZW5zaW9ucyB0aHJvd3MgVHlwZUVycm9yIGlmICdPJyBpcyBhIHN0cmluZyBwcmltaXRpdmUgdmFsdWUNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LnByZXZlbnRFeHRlbnNpb25zKCJhYmMiKTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIChlIGluc3RhbmNlb2YgVHlwZUVycm9yKTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.preventExtensions throws TypeError if 'O' is a string primitive value","path":"TestCases/ch15/15.2/15.2.3/15.2.3.10/15.2.3.10-1-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMTAvMTUuMi4zLjEwLTEuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QucHJldmVudEV4dGVuc2lvbnMgdGhyb3dzIFR5cGVFcnJvciBpZiB0eXBlIG9mIGZpcnN0IHBhcmFtIGlzIG5vdCBPYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgIHRyeSB7DQogICAgICBPYmplY3QucHJldmVudEV4dGVuc2lvbnMoMCk7DQogICAgfQ0KICAgIGNhdGNoIChlKSB7DQogICAgICBpZiAoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikgew0KICAgICAgICByZXR1cm4gdHJ1ZTsNCiAgICAgIH0NCiAgICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.preventExtensions throws TypeError if type of first param is not Object","path":"TestCases/ch15/15.2/15.2.3/15.2.3.10/15.2.3.10-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMTAvMTUuMi4zLjEwLTItMS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5wcmV2ZW50RXh0ZW5zaW9ucyAtIHJlcGVhdGVkIGNhbGxzIHRvIHByZXZlbnRFeHRlbnNpb25zIGhhdmUgbm8gc2lkZSBlZmZlY3RzDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICB2YXIgdGVzdFJlc3VsdDEgPSB0cnVlOw0KICAgICAgICB2YXIgdGVzdFJlc3VsdDIgPSB0cnVlOw0KDQogICAgICAgIHZhciBwcmVDaGVjayA9IE9iamVjdC5pc0V4dGVuc2libGUob2JqKTsNCg0KICAgICAgICBPYmplY3QucHJldmVudEV4dGVuc2lvbnMob2JqKTsNCiAgICAgICAgdGVzdFJlc3VsdDEgPSBPYmplY3QuaXNFeHRlbnNpYmxlKG9iaik7DQogICAgICAgIE9iamVjdC5wcmV2ZW50RXh0ZW5zaW9ucyhvYmopOw0KICAgICAgICB0ZXN0UmVzdWx0MiA9IE9iamVjdC5pc0V4dGVuc2libGUob2JqKTsNCg0KICAgICAgICByZXR1cm4gcHJlQ2hlY2sgJiYgIXRlc3RSZXN1bHQxICYmICF0ZXN0UmVzdWx0MjsNCg0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.preventExtensions - repeated calls to preventExtensions have no side effects","path":"TestCases/ch15/15.2/15.2.3/15.2.3.10/15.2.3.10-2-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogVGhlIGVmZmVjdCBvZiBwcmV2ZW50RXh0ZW50aW9ucyBtdXN0IGJlIHRlc3RhYmxlIGJ5IGNhbGxpbmcgaXNFeHRlbnNpYmxlDQogKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMTAvMTUuMi4zLjEwLTIuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QucHJldmVudEV4dGVuc2lvbnMgcmV0dXJucyBpdHMgYXJndW1lbnRzIGFmdGVyIHNldHRpbmcgaXRzIGV4dGVuc2libGUgcHJvcGVydHkgdG8gZmFsc2UNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgbyAgPSB7fTsNCiAgdmFyIG8yID0gdW5kZWZpbmVkOw0KDQogIG8yID0gT2JqZWN0LnByZXZlbnRFeHRlbnNpb25zKG8pOw0KICBpZiAobzIgPT09IG8gJiYgT2JqZWN0LmlzRXh0ZW5zaWJsZShvMikgPT09IGZhbHNlKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"The effect of preventExtentions must be testable by calling isExtensible","description":"Object.preventExtensions returns its arguments after setting its extensible property to false","path":"TestCases/ch15/15.2/15.2.3/15.2.3.10/15.2.3.10-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMTAvMTUuMi4zLjEwLTMtMS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5wcmV2ZW50RXh0ZW5zaW9ucyAtIE9iamVjdC5pc0V4dGVuc2libGUoYXJnKSByZXR1cm5zIGZhbHNlIGlmIGFyZyBpcyB0aGUgcmV0dXJuZWQgb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICB2YXIgcHJlQ2hlY2sgPSBPYmplY3QuaXNFeHRlbnNpYmxlKG9iaik7DQogICAgICAgIE9iamVjdC5wcmV2ZW50RXh0ZW5zaW9ucyhvYmopOw0KDQogICAgICAgIHJldHVybiBwcmVDaGVjayAmJiAhT2JqZWN0LmlzRXh0ZW5zaWJsZShvYmopOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.preventExtensions - Object.isExtensible(arg) returns false if arg is the returned object","path":"TestCases/ch15/15.2/15.2.3/15.2.3.10/15.2.3.10-3-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMTAvMTUuMi4zLjEwLTMtMTAuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QucHJldmVudEV4dGVuc2lvbnMgLSBpbmRleGVkIHByb3BlcnRpZXMgY2Fubm90IGJlIGFkZGVkIGludG8gYW4gRXJyb3Igb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIGVyck9iaiA9IG5ldyBFcnJvcigpOw0KICAgICAgICB2YXIgcHJlQ2hlY2sgPSBPYmplY3QuaXNFeHRlbnNpYmxlKGVyck9iaik7DQogICAgICAgIE9iamVjdC5wcmV2ZW50RXh0ZW5zaW9ucyhlcnJPYmopOw0KDQogICAgICAgIGVyck9ialswXSA9IDEyOw0KICAgICAgICByZXR1cm4gcHJlQ2hlY2sgJiYgIWVyck9iai5oYXNPd25Qcm9wZXJ0eSgiMCIpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.preventExtensions - indexed properties cannot be added into an Error object","path":"TestCases/ch15/15.2/15.2.3/15.2.3.10/15.2.3.10-3-10.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMTAvMTUuMi4zLjEwLTMtMTEuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QucHJldmVudEV4dGVuc2lvbnMgLSBpbmRleGVkIHByb3BlcnRpZXMgY2Fubm90IGJlIGFkZGVkIGludG8gYW4gQXJndW1lbnRzIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBhcmdPYmo7DQogICAgICAgIChmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICBhcmdPYmogPSBhcmd1bWVudHM7DQogICAgICAgIH0oKSk7DQogICAgICAgIHZhciBwcmVDaGVjayA9IE9iamVjdC5pc0V4dGVuc2libGUoYXJnT2JqKTsNCiAgICAgICAgT2JqZWN0LnByZXZlbnRFeHRlbnNpb25zKGFyZ09iaik7DQoNCiAgICAgICAgYXJnT2JqWzBdID0gMTI7DQogICAgICAgIHJldHVybiBwcmVDaGVjayAmJiAhYXJnT2JqLmhhc093blByb3BlcnR5KCIwIik7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.preventExtensions - indexed properties cannot be added into an Arguments object","path":"TestCases/ch15/15.2/15.2.3/15.2.3.10/15.2.3.10-3-11.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMTAvMTUuMi4zLjEwLTMtMTIuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QucHJldmVudEV4dGVuc2lvbnMgLSBuYW1lZCBwcm9wZXJ0aWVzIGNhbm5vdCBiZSBhZGRlZCBpbnRvIHRoZSByZXR1cm5lZCBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIHZhciBwcmVDaGVjayA9IE9iamVjdC5pc0V4dGVuc2libGUob2JqKTsNCiAgICAgICAgT2JqZWN0LnByZXZlbnRFeHRlbnNpb25zKG9iaik7DQoNCiAgICAgICAgb2JqLmV4TmFtZSA9IDI7DQogICAgICAgIHJldHVybiBwcmVDaGVjayAmJiAhT2JqZWN0Lmhhc093blByb3BlcnR5KCJleE5hbWUiKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.preventExtensions - named properties cannot be added into the returned object","path":"TestCases/ch15/15.2/15.2.3/15.2.3.10/15.2.3.10-3-12.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMTAvMTUuMi4zLjEwLTMtMTMuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QucHJldmVudEV4dGVuc2lvbnMgLSBuYW1lZCBwcm9wZXJ0aWVzIGNhbm5vdCBiZSBhZGRlZCBpbnRvIGEgRnVuY3Rpb24gb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIGZ1bk9iaiA9IGZ1bmN0aW9uICgpIHsgfTsNCiAgICAgICAgdmFyIHByZUNoZWNrID0gT2JqZWN0LmlzRXh0ZW5zaWJsZShmdW5PYmopOw0KICAgICAgICBPYmplY3QucHJldmVudEV4dGVuc2lvbnMoZnVuT2JqKTsNCg0KICAgICAgICBmdW5PYmouZXhOYW1lID0gMjsNCiAgICAgICAgcmV0dXJuIHByZUNoZWNrICYmICFmdW5PYmouaGFzT3duUHJvcGVydHkoImV4TmFtZSIpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.preventExtensions - named properties cannot be added into a Function object","path":"TestCases/ch15/15.2/15.2.3/15.2.3.10/15.2.3.10-3-13.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMTAvMTUuMi4zLjEwLTMtMTQuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QucHJldmVudEV4dGVuc2lvbnMgLSBuYW1lZCBwcm9wZXJ0aWVzIGNhbm5vdCBiZSBhZGRlZCBpbnRvIGFuIEFycmF5IG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBhcnJPYmogPSBbXTsNCiAgICAgICAgdmFyIHByZUNoZWNrID0gT2JqZWN0LmlzRXh0ZW5zaWJsZShhcnJPYmopOw0KICAgICAgICBPYmplY3QucHJldmVudEV4dGVuc2lvbnMoYXJyT2JqKTsNCg0KICAgICAgICBhcnJPYmouZXhOYW1lID0gMjsNCiAgICAgICAgcmV0dXJuIHByZUNoZWNrICYmICFhcnJPYmouaGFzT3duUHJvcGVydHkoImV4TmFtZSIpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.preventExtensions - named properties cannot be added into an Array object","path":"TestCases/ch15/15.2/15.2.3/15.2.3.10/15.2.3.10-3-14.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMTAvMTUuMi4zLjEwLTMtMTUuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QucHJldmVudEV4dGVuc2lvbnMgLSBuYW1lZCBwcm9wZXJ0aWVzIGNhbm5vdCBiZSBhZGRlZCBpbnRvIGEgU3RyaW5nIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBzdHJPYmogPSBuZXcgU3RyaW5nKCJiYnEiKTsNCiAgICAgICAgdmFyIHByZUNoZWNrID0gT2JqZWN0LmlzRXh0ZW5zaWJsZShzdHJPYmopOw0KICAgICAgICBPYmplY3QucHJldmVudEV4dGVuc2lvbnMoc3RyT2JqKTsNCg0KICAgICAgICBzdHJPYmouZXhOYW1lID0gMjsNCiAgICAgICAgcmV0dXJuIHByZUNoZWNrICYmICFzdHJPYmouaGFzT3duUHJvcGVydHkoImV4TmFtZSIpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.preventExtensions - named properties cannot be added into a String object","path":"TestCases/ch15/15.2/15.2.3/15.2.3.10/15.2.3.10-3-15.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMTAvMTUuMi4zLjEwLTMtMTYuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QucHJldmVudEV4dGVuc2lvbnMgLSBuYW1lZCBwcm9wZXJ0aWVzIGNhbm5vdCBiZSBhZGRlZCBpbnRvIGEgQm9vbGVhbiBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgYm9vbE9iaiA9IG5ldyBCb29sZWFuKHRydWUpOw0KICAgICAgICB2YXIgcHJlQ2hlY2sgPSBPYmplY3QuaXNFeHRlbnNpYmxlKGJvb2xPYmopOw0KICAgICAgICBPYmplY3QucHJldmVudEV4dGVuc2lvbnMoYm9vbE9iaik7DQoNCiAgICAgICAgYm9vbE9iai5leE5hbWUgPSAyOw0KICAgICAgICByZXR1cm4gcHJlQ2hlY2sgJiYgIWJvb2xPYmouaGFzT3duUHJvcGVydHkoImV4TmFtZSIpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.preventExtensions - named properties cannot be added into a Boolean object","path":"TestCases/ch15/15.2/15.2.3/15.2.3.10/15.2.3.10-3-16.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMTAvMTUuMi4zLjEwLTMtMTcuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QucHJldmVudEV4dGVuc2lvbnMgLSBuYW1lZCBwcm9wZXJ0aWVzIGNhbm5vdCBiZSBhZGRlZCBpbnRvIGEgTnVtYmVyIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBudW1PYmogPSBuZXcgTnVtYmVyKDEyMyk7DQogICAgICAgIHZhciBwcmVDaGVjayA9IE9iamVjdC5pc0V4dGVuc2libGUobnVtT2JqKTsNCiAgICAgICAgT2JqZWN0LnByZXZlbnRFeHRlbnNpb25zKG51bU9iaik7DQoNCiAgICAgICAgbnVtT2JqLmV4TmFtZSA9IDI7DQogICAgICAgIHJldHVybiBwcmVDaGVjayAmJiAhbnVtT2JqLmhhc093blByb3BlcnR5KCJleE5hbWUiKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.preventExtensions - named properties cannot be added into a Number object","path":"TestCases/ch15/15.2/15.2.3/15.2.3.10/15.2.3.10-3-17.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMTAvMTUuMi4zLjEwLTMtMTguanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QucHJldmVudEV4dGVuc2lvbnMgLSBuYW1lZCBwcm9wZXJ0aWVzIGNhbm5vdCBiZSBhZGRlZCBpbnRvIGEgRGF0ZSBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgZGF0ZU9iaiA9IG5ldyBEYXRlKCk7DQogICAgICAgIHZhciBwcmVDaGVjayA9IE9iamVjdC5pc0V4dGVuc2libGUoZGF0ZU9iaik7DQogICAgICAgIE9iamVjdC5wcmV2ZW50RXh0ZW5zaW9ucyhkYXRlT2JqKTsNCg0KICAgICAgICBkYXRlT2JqLmV4TmFtZSA9IDI7DQogICAgICAgIHJldHVybiBwcmVDaGVjayAmJiAhZGF0ZU9iai5oYXNPd25Qcm9wZXJ0eSgiZXhOYW1lIik7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.preventExtensions - named properties cannot be added into a Date object","path":"TestCases/ch15/15.2/15.2.3/15.2.3.10/15.2.3.10-3-18.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMTAvMTUuMi4zLjEwLTMtMTkuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QucHJldmVudEV4dGVuc2lvbnMgLSBuYW1lZCBwcm9wZXJ0aWVzIGNhbm5vdCBiZSBhZGRlZCBpbnRvIGEgUmVnRXhwIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciByZWdPYmogPSBuZXcgUmVnRXhwKCk7DQogICAgICAgIHZhciBwcmVDaGVjayA9IE9iamVjdC5pc0V4dGVuc2libGUocmVnT2JqKTsNCiAgICAgICAgT2JqZWN0LnByZXZlbnRFeHRlbnNpb25zKHJlZ09iaik7DQoNCiAgICAgICAgcmVnT2JqLmV4TmFtZSA9IDI7DQogICAgICAgIHJldHVybiBwcmVDaGVjayAmJiAhcmVnT2JqLmhhc093blByb3BlcnR5KCJleE5hbWUiKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.preventExtensions - named properties cannot be added into a RegExp object","path":"TestCases/ch15/15.2/15.2.3/15.2.3.10/15.2.3.10-3-19.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMTAvMTUuMi4zLjEwLTMtMi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5wcmV2ZW50RXh0ZW5zaW9ucyAtIGluZGV4ZWQgcHJvcGVydGllcyBjYW5ub3QgYmUgYWRkZWQgaW50byB0aGUgcmV0dXJuZWQgb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIHZhciBwcmVDaGVjayA9IE9iamVjdC5pc0V4dGVuc2libGUob2JqKTsNCiAgICAgICAgT2JqZWN0LnByZXZlbnRFeHRlbnNpb25zKG9iaik7DQoNCiAgICAgICAgb2JqWzBdID0gMTI7DQogICAgICAgIHJldHVybiBwcmVDaGVjayAmJiAhb2JqLmhhc093blByb3BlcnR5KCIwIik7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.preventExtensions - indexed properties cannot be added into the returned object","path":"TestCases/ch15/15.2/15.2.3/15.2.3.10/15.2.3.10-3-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMTAvMTUuMi4zLjEwLTMtMjAuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QucHJldmVudEV4dGVuc2lvbnMgLSBuYW1lZCBwcm9wZXJ0aWVzIGNhbm5vdCBiZSBhZGRlZCBpbnRvIGFuIEVycm9yIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBlcnJPYmogPSBuZXcgRXJyb3IoKTsNCiAgICAgICAgdmFyIHByZUNoZWNrID0gT2JqZWN0LmlzRXh0ZW5zaWJsZShlcnJPYmopOw0KICAgICAgICBPYmplY3QucHJldmVudEV4dGVuc2lvbnMoZXJyT2JqKTsNCg0KICAgICAgICBlcnJPYmouZXhOYW1lID0gMjsNCiAgICAgICAgcmV0dXJuIHByZUNoZWNrICYmICFlcnJPYmouaGFzT3duUHJvcGVydHkoImV4TmFtZSIpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.preventExtensions - named properties cannot be added into an Error object","path":"TestCases/ch15/15.2/15.2.3/15.2.3.10/15.2.3.10-3-20.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMTAvMTUuMi4zLjEwLTMtMjEuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QucHJldmVudEV4dGVuc2lvbnMgLSBuYW1lZCBwcm9wZXJ0aWVzIGNhbm5vdCBiZSBhZGRlZCBpbnRvIGFuIEFyZ3VtZW50cyBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgYXJnT2JqOw0KICAgICAgICAoZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgYXJnT2JqID0gYXJndW1lbnRzOw0KICAgICAgICB9KCkpOw0KICAgICAgICB2YXIgcHJlQ2hlY2sgPSBPYmplY3QuaXNFeHRlbnNpYmxlKGFyZ09iaik7DQogICAgICAgIE9iamVjdC5wcmV2ZW50RXh0ZW5zaW9ucyhhcmdPYmopOw0KDQogICAgICAgIGFyZ09iai5leE5hbWUgPSAyOw0KICAgICAgICByZXR1cm4gcHJlQ2hlY2sgJiYgIWFyZ09iai5oYXNPd25Qcm9wZXJ0eSgiZXhOYW1lIik7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.preventExtensions - named properties cannot be added into an Arguments object","path":"TestCases/ch15/15.2/15.2.3/15.2.3.10/15.2.3.10-3-21.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMTAvMTUuMi4zLjEwLTMtMjIuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QucHJldmVudEV4dGVuc2lvbnMgLSBwcm9wZXJ0aWVzIGNhbiBzdGlsbCBiZSBkZWxldGVkIGFmdGVyIGV4dGVuc2lvbnMgaGF2ZSBiZWVuIHByZXZlbnRlZA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7IHByb3A6IDEyIH07DQogICAgICAgIHZhciBwcmVDaGVjayA9IE9iamVjdC5pc0V4dGVuc2libGUob2JqKTsNCiAgICAgICAgT2JqZWN0LnByZXZlbnRFeHRlbnNpb25zKG9iaik7DQoNCiAgICAgICAgZGVsZXRlIG9iai5wcm9wOw0KDQogICAgICAgIHJldHVybiBwcmVDaGVjayAmJiAhb2JqLmhhc093blByb3BlcnR5KCJwcm9wIik7DQoNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.preventExtensions - properties can still be deleted after extensions have been prevented","path":"TestCases/ch15/15.2/15.2.3/15.2.3.10/15.2.3.10-3-22.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMTAvMTUuMi4zLjEwLTMtMjMuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QucHJldmVudEV4dGVuc2lvbnMgLSBwcm9wZXJ0aWVzIGNhbiBzdGlsbCBiZSByZWFzc2lnbmVkIGFmdGVyIGV4dGVuc2lvbnMgaGF2ZSBiZWVuIHByZXZlbnRlZA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7IHByb3A6IDEyIH07DQogICAgICAgIHZhciBwcmVDaGVjayA9IE9iamVjdC5pc0V4dGVuc2libGUob2JqKTsNCiAgICAgICAgT2JqZWN0LnByZXZlbnRFeHRlbnNpb25zKG9iaik7DQoNCiAgICAgICAgb2JqLnByb3AgPSAtMTsNCg0KICAgICAgICByZXR1cm4gcHJlQ2hlY2sgJiYgb2JqLnByb3AgPT09IC0xOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.preventExtensions - properties can still be reassigned after extensions have been prevented","path":"TestCases/ch15/15.2/15.2.3/15.2.3.10/15.2.3.10-3-23.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMTAvMTUuMi4zLjEwLTMtMjQuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QucHJldmVudEV4dGVuc2lvbnMgLSBbW0V4dGVuc2libGVdXTogZmFsc2Ugb24gYSBwcm90b3R5cGUgZG9lc24ndCBwcmV2ZW50IGFkZGluZyBwcm9wZXJ0aWVzIHRvIGFuIGluc3RhbmNlIHRoYXQgaW5oZXJpdHMgZnJvbSB0aGF0IHByb3RvdHlwZQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBwcm90byA9IHt9Ow0KICAgICAgICB2YXIgcHJlQ2hlY2sgPSBPYmplY3QuaXNFeHRlbnNpYmxlKHByb3RvKTsNCiAgICAgICAgT2JqZWN0LnByZXZlbnRFeHRlbnNpb25zKHByb3RvKTsNCg0KICAgICAgICB2YXIgQ29uc3RydWN0RnVuID0gZnVuY3Rpb24gKCkgeyB9Ow0KICAgICAgICBDb25zdHJ1Y3RGdW4ucHJvdG90eXBlID0gcHJvdG87DQogICAgICAgIHZhciBjaGlsZCA9IG5ldyBDb25zdHJ1Y3RGdW4oKTsNCg0KICAgICAgICBjaGlsZC5wcm9wID0gMTA7DQoNCiAgICAgICAgcmV0dXJuIHByZUNoZWNrICYmIGNoaWxkLmhhc093blByb3BlcnR5KCJwcm9wIik7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.preventExtensions - [[Extensible]]: false on a prototype doesn't prevent adding properties to an instance that inherits from that prototype","path":"TestCases/ch15/15.2/15.2.3/15.2.3.10/15.2.3.10-3-24.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMTAvMTUuMi4zLjEwLTMtMy5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5wcmV2ZW50RXh0ZW5zaW9ucyAtIGluZGV4ZWQgcHJvcGVydGllcyBjYW5ub3QgYmUgYWRkZWQgaW50byBhIEZ1bmN0aW9uIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBmdW5PYmogPSBmdW5jdGlvbiAoKSB7IH07DQogICAgICAgIHZhciBwcmVDaGVjayA9IE9iamVjdC5pc0V4dGVuc2libGUoZnVuT2JqKTsNCiAgICAgICAgT2JqZWN0LnByZXZlbnRFeHRlbnNpb25zKGZ1bk9iaik7DQoNCiAgICAgICAgZnVuT2JqWzBdID0gMTI7DQogICAgICAgIHJldHVybiBwcmVDaGVjayAmJiAhZnVuT2JqLmhhc093blByb3BlcnR5KCIwIik7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.preventExtensions - indexed properties cannot be added into a Function object","path":"TestCases/ch15/15.2/15.2.3/15.2.3.10/15.2.3.10-3-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMTAvMTUuMi4zLjEwLTMtNC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5wcmV2ZW50RXh0ZW5zaW9ucyAtIGluZGV4ZWQgcHJvcGVydGllcyBjYW5ub3QgYmUgYWRkZWQgaW50byBhbiBBcnJheSBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgYXJyT2JqID0gW107DQogICAgICAgIHZhciBwcmVDaGVjayA9IE9iamVjdC5pc0V4dGVuc2libGUoYXJyT2JqKTsNCiAgICAgICAgT2JqZWN0LnByZXZlbnRFeHRlbnNpb25zKGFyck9iaik7DQoNCiAgICAgICAgYXJyT2JqWzBdID0gMTI7DQogICAgICAgIHJldHVybiBwcmVDaGVjayAmJiAhYXJyT2JqLmhhc093blByb3BlcnR5KCIwIik7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.preventExtensions - indexed properties cannot be added into an Array object","path":"TestCases/ch15/15.2/15.2.3/15.2.3.10/15.2.3.10-3-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMTAvMTUuMi4zLjEwLTMtNS0xLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LnByZXZlbnRFeHRlbnNpb25zIC0gaW5kZXhlZCBwcm9wZXJ0aWVzIGNhbm5vdCBiZSBhZGRlZCBpbnRvIGEgU3RyaW5nIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBzdHJPYmogPSBuZXcgU3RyaW5nKCJiYnEiKTsNCiAgICAgICAgdmFyIHByZUNoZWNrID0gT2JqZWN0LmlzRXh0ZW5zaWJsZShzdHJPYmopOw0KICAgICAgICBPYmplY3QucHJldmVudEV4dGVuc2lvbnMoc3RyT2JqKTsNCg0KICAgICAgICBzdHJPYmpbMTBdID0gMTI7DQogICAgICAgIHJldHVybiBwcmVDaGVjayAmJiAhc3RyT2JqLmhhc093blByb3BlcnR5KCIxMCIpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.preventExtensions - indexed properties cannot be added into a String object","path":"TestCases/ch15/15.2/15.2.3/15.2.3.10/15.2.3.10-3-5-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMTAvMTUuMi4zLjEwLTMtNS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5wcmV2ZW50RXh0ZW5zaW9ucyAtIGluZGV4ZWQgcHJvcGVydGllcyBjYW5ub3QgYmUgYWRkZWQgaW50byBhIFN0cmluZyBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgc3RyT2JqID0gbmV3IFN0cmluZygpOw0KICAgICAgICB2YXIgcHJlQ2hlY2sgPSBPYmplY3QuaXNFeHRlbnNpYmxlKHN0ck9iaik7DQogICAgICAgIE9iamVjdC5wcmV2ZW50RXh0ZW5zaW9ucyhzdHJPYmopOw0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHN0ck9iaiwgIjAiLCB7IHZhbHVlOiAiYyIgfSk7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiBlIGluc3RhbmNlb2YgVHlwZUVycm9yICYmIHByZUNoZWNrICYmDQogICAgICAgICAgICAgICAgIXN0ck9iai5oYXNPd25Qcm9wZXJ0eSgiMCIpICYmIHR5cGVvZiBzdHJPYmpbMF0gPT09ICJ1bmRlZmluZWQiOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.preventExtensions - indexed properties cannot be added into a String object","path":"TestCases/ch15/15.2/15.2.3/15.2.3.10/15.2.3.10-3-5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMTAvMTUuMi4zLjEwLTMtNi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5wcmV2ZW50RXh0ZW5zaW9ucyAtIGluZGV4ZWQgcHJvcGVydGllcyBjYW5ub3QgYmUgYWRkZWQgaW50byBhIEJvb2xlYW4gb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIGJvb2xPYmogPSBuZXcgQm9vbGVhbih0cnVlKTsNCiAgICAgICAgdmFyIHByZUNoZWNrID0gT2JqZWN0LmlzRXh0ZW5zaWJsZShib29sT2JqKTsNCiAgICAgICAgT2JqZWN0LnByZXZlbnRFeHRlbnNpb25zKGJvb2xPYmopOw0KDQogICAgICAgIGJvb2xPYmpbMF0gPSAxMjsNCiAgICAgICAgcmV0dXJuIHByZUNoZWNrICYmICFib29sT2JqLmhhc093blByb3BlcnR5KCIwIik7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.preventExtensions - indexed properties cannot be added into a Boolean object","path":"TestCases/ch15/15.2/15.2.3/15.2.3.10/15.2.3.10-3-6.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMTAvMTUuMi4zLjEwLTMtNy5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5wcmV2ZW50RXh0ZW5zaW9ucyAtIGluZGV4ZWQgcHJvcGVydGllcyBjYW5ub3QgYmUgYWRkZWQgaW50byBhIE51bWJlciBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgbnVtT2JqID0gbmV3IE51bWJlcigxMjMpOw0KICAgICAgICB2YXIgcHJlQ2hlY2sgPSBPYmplY3QuaXNFeHRlbnNpYmxlKG51bU9iaik7DQogICAgICAgIE9iamVjdC5wcmV2ZW50RXh0ZW5zaW9ucyhudW1PYmopOw0KDQogICAgICAgIG51bU9ialswXSA9IDEyOw0KICAgICAgICByZXR1cm4gcHJlQ2hlY2sgJiYgIW51bU9iai5oYXNPd25Qcm9wZXJ0eSgiMCIpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.preventExtensions - indexed properties cannot be added into a Number object","path":"TestCases/ch15/15.2/15.2.3/15.2.3.10/15.2.3.10-3-7.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMTAvMTUuMi4zLjEwLTMtOC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5wcmV2ZW50RXh0ZW5zaW9ucyAtIGluZGV4ZWQgcHJvcGVydGllcyBjYW5ub3QgYmUgYWRkZWQgaW50byBhIERhdGUgb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIGRhdGVPYmogPSBuZXcgRGF0ZSgpOw0KICAgICAgICB2YXIgcHJlQ2hlY2sgPSBPYmplY3QuaXNFeHRlbnNpYmxlKGRhdGVPYmopOw0KICAgICAgICBPYmplY3QucHJldmVudEV4dGVuc2lvbnMoZGF0ZU9iaik7DQoNCiAgICAgICAgZGF0ZU9ialswXSA9IDEyOw0KICAgICAgICByZXR1cm4gcHJlQ2hlY2sgJiYgIWRhdGVPYmouaGFzT3duUHJvcGVydHkoIjAiKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.preventExtensions - indexed properties cannot be added into a Date object","path":"TestCases/ch15/15.2/15.2.3/15.2.3.10/15.2.3.10-3-8.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMTAvMTUuMi4zLjEwLTMtOS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5wcmV2ZW50RXh0ZW5zaW9ucyAtIGluZGV4ZWQgcHJvcGVydGllcyBjYW5ub3QgYmUgYWRkZWQgaW50byBhIFJlZ0V4cCBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgcmVnT2JqID0gbmV3IFJlZ0V4cCgpOw0KICAgICAgICB2YXIgcHJlQ2hlY2sgPSBPYmplY3QuaXNFeHRlbnNpYmxlKHJlZ09iaik7DQogICAgICAgIE9iamVjdC5wcmV2ZW50RXh0ZW5zaW9ucyhyZWdPYmopOw0KDQogICAgICAgIHJlZ09ialswXSA9IDEyOw0KICAgICAgICByZXR1cm4gcHJlQ2hlY2sgJiYgIXJlZ09iai5oYXNPd25Qcm9wZXJ0eSgiMCIpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.preventExtensions - indexed properties cannot be added into a RegExp object","path":"TestCases/ch15/15.2/15.2.3/15.2.3.10/15.2.3.10-3-9.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMTEvMTUuMi4zLjExLTAtMS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5pc1NlYWxlZCBtdXN0IGV4aXN0IGFzIGEgZnVuY3Rpb24NCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgZiA9IE9iamVjdC5pc1NlYWxlZDsNCiAgaWYgKHR5cGVvZihmKSA9PT0gImZ1bmN0aW9uIikgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.isSealed must exist as a function","path":"TestCases/ch15/15.2/15.2.3/15.2.3.11/15.2.3.11-0-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMTEvMTUuMi4zLjExLTAtMi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5pc1NlYWxlZCBtdXN0IGV4aXN0IGFzIGEgZnVuY3Rpb24gdGFraW5nIDEgcGFyYW1ldGVyDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgaWYgKE9iamVjdC5pc1NlYWxlZC5sZW5ndGggPT09IDEpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.isSealed must exist as a function taking 1 parameter","path":"TestCases/ch15/15.2/15.2.3/15.2.3.11/15.2.3.11-0-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMTEvMTUuMi4zLjExLTEuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuaXNTZWFsZWQgdGhyb3dzIFR5cGVFcnJvciBpZiB0eXBlIG9mIGZpcnN0IHBhcmFtIGlzIG5vdCBPYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgIHRyeSB7DQogICAgICBPYmplY3QuaXNTZWFsZWQoMCk7DQogICAgfQ0KICAgIGNhdGNoIChlKSB7DQogICAgICBpZiAoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikgew0KICAgICAgICByZXR1cm4gdHJ1ZTsNCiAgICAgIH0NCiAgICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.isSealed throws TypeError if type of first param is not Object","path":"TestCases/ch15/15.2/15.2.3/15.2.3.11/15.2.3.11-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMTEvMTUuMi4zLjExLTQtMS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5pc1NlYWxlZCByZXR1cm5zIGZhbHNlIGZvciBhbGwgYnVpbHQtaW4gb2JqZWN0cyAoR2xvYmFsKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIC8vIGluIG5vbi1zdHJpY3QgbW9kZSwgJ3RoaXMnIGlzIGJvdW5kIHRvIHRoZSBnbG9iYWwgb2JqZWN0Lg0KICB2YXIgYiA9IE9iamVjdC5pc1NlYWxlZCh0aGlzKTsNCiAgaWYgKGIgPT09IGZhbHNlKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.isSealed returns false for all built-in objects (Global)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.11/15.2.3.11-4-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMTEvMTUuMi4zLjExLTQtMTAuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuaXNTZWFsZWQgcmV0dXJucyBmYWxzZSBmb3IgYWxsIGJ1aWx0LWluIG9iamVjdHMgKEJvb2xlYW4pDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIGIgPSBPYmplY3QuaXNTZWFsZWQoQm9vbGVhbik7DQogIGlmIChiID09PSBmYWxzZSkgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.isSealed returns false for all built-in objects (Boolean)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.11/15.2.3.11-4-10.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMTEvMTUuMi4zLjExLTQtMTEuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuaXNTZWFsZWQgcmV0dXJucyBmYWxzZSBmb3IgYWxsIGJ1aWx0LWluIG9iamVjdHMgKEJvb2xlYW4ucHJvdG90eXBlKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBiID0gT2JqZWN0LmlzU2VhbGVkKEJvb2xlYW4ucHJvdG90eXBlKTsNCiAgaWYgKGIgPT09IGZhbHNlKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.isSealed returns false for all built-in objects (Boolean.prototype)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.11/15.2.3.11-4-11.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMTEvMTUuMi4zLjExLTQtMTIuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuaXNTZWFsZWQgcmV0dXJucyBmYWxzZSBmb3IgYWxsIGJ1aWx0LWluIG9iamVjdHMgKE51bWJlcikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgYiA9IE9iamVjdC5pc1NlYWxlZChOdW1iZXIpOw0KICBpZiAoYiA9PT0gZmFsc2UpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.isSealed returns false for all built-in objects (Number)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.11/15.2.3.11-4-12.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMTEvMTUuMi4zLjExLTQtMTMuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuaXNTZWFsZWQgcmV0dXJucyBmYWxzZSBmb3IgYWxsIGJ1aWx0LWluIG9iamVjdHMgKE51bWJlci5wcm90b3R5cGUpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIGIgPSBPYmplY3QuaXNTZWFsZWQoTnVtYmVyLnByb3RvdHlwZSk7DQogIGlmIChiID09PSBmYWxzZSkgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.isSealed returns false for all built-in objects (Number.prototype)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.11/15.2.3.11-4-13.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMTEvMTUuMi4zLjExLTQtMTQuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuaXNTZWFsZWQgcmV0dXJucyBmYWxzZSBmb3IgYWxsIGJ1aWx0LWluIG9iamVjdHMgKE1hdGgpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIGIgPSBPYmplY3QuaXNTZWFsZWQoTWF0aCk7DQogIGlmIChiID09PSBmYWxzZSkgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.isSealed returns false for all built-in objects (Math)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.11/15.2.3.11-4-14.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMTEvMTUuMi4zLjExLTQtMTUuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuaXNTZWFsZWQgcmV0dXJucyBmYWxzZSBmb3IgYWxsIGJ1aWx0LWluIG9iamVjdHMgKERhdGUpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIGIgPSBPYmplY3QuaXNTZWFsZWQoRGF0ZSk7DQogIGlmIChiID09PSBmYWxzZSkgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.isSealed returns false for all built-in objects (Date)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.11/15.2.3.11-4-15.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMTEvMTUuMi4zLjExLTQtMTYuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuaXNTZWFsZWQgcmV0dXJucyBmYWxzZSBmb3IgYWxsIGJ1aWx0LWluIG9iamVjdHMgKERhdGUucHJvdG90eXBlKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBiID0gT2JqZWN0LmlzU2VhbGVkKERhdGUucHJvdG90eXBlKTsNCiAgaWYgKGIgPT09IGZhbHNlKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.isSealed returns false for all built-in objects (Date.prototype)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.11/15.2.3.11-4-16.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMTEvMTUuMi4zLjExLTQtMTcuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuaXNTZWFsZWQgcmV0dXJucyBmYWxzZSBmb3IgYWxsIGJ1aWx0LWluIG9iamVjdHMgKFJlZ0V4cCkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgYiA9IE9iamVjdC5pc1NlYWxlZChSZWdFeHApOw0KICBpZiAoYiA9PT0gZmFsc2UpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.isSealed returns false for all built-in objects (RegExp)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.11/15.2.3.11-4-17.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMTEvMTUuMi4zLjExLTQtMTguanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuaXNTZWFsZWQgcmV0dXJucyBmYWxzZSBmb3IgYWxsIGJ1aWx0LWluIG9iamVjdHMgKFJlZ0V4cC5wcm90b3R5cGUpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIGIgPSBPYmplY3QuaXNTZWFsZWQoUmVnRXhwLnByb3RvdHlwZSk7DQogIGlmIChiID09PSBmYWxzZSkgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.isSealed returns false for all built-in objects (RegExp.prototype)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.11/15.2.3.11-4-18.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMTEvMTUuMi4zLjExLTQtMTkuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuaXNTZWFsZWQgcmV0dXJucyBmYWxzZSBmb3IgYWxsIGJ1aWx0LWluIG9iamVjdHMgKEVycm9yKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBiID0gT2JqZWN0LmlzU2VhbGVkKEVycm9yKTsNCiAgaWYgKGIgPT09IGZhbHNlKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.isSealed returns false for all built-in objects (Error)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.11/15.2.3.11-4-19.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMTEvMTUuMi4zLjExLTQtMi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5pc1NlYWxlZCByZXR1cm5zIGZhbHNlIGZvciBhbGwgYnVpbHQtaW4gb2JqZWN0cyAoT2JqZWN0KQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBiID0gT2JqZWN0LmlzU2VhbGVkKE9iamVjdCk7DQogIGlmIChiID09PSBmYWxzZSkgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.isSealed returns false for all built-in objects (Object)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.11/15.2.3.11-4-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMTEvMTUuMi4zLjExLTQtMjAuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuaXNTZWFsZWQgcmV0dXJucyBmYWxzZSBmb3IgYWxsIGJ1aWx0LWluIG9iamVjdHMgKEVycm9yLnByb3RvdHlwZSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgYiA9IE9iamVjdC5pc1NlYWxlZChFcnJvci5wcm90b3R5cGUpOw0KICBpZiAoYiA9PT0gZmFsc2UpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.isSealed returns false for all built-in objects (Error.prototype)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.11/15.2.3.11-4-20.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMTEvMTUuMi4zLjExLTQtMjEuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuaXNTZWFsZWQgcmV0dXJucyBmYWxzZSBmb3IgYWxsIGJ1aWx0LWluIG9iamVjdHMgKEV2YWxFcnJvcikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgYiA9IE9iamVjdC5pc1NlYWxlZChFdmFsRXJyb3IpOw0KICBpZiAoYiA9PT0gZmFsc2UpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.isSealed returns false for all built-in objects (EvalError)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.11/15.2.3.11-4-21.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMTEvMTUuMi4zLjExLTQtMjIuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuaXNTZWFsZWQgcmV0dXJucyBmYWxzZSBmb3IgYWxsIGJ1aWx0LWluIG9iamVjdHMgKFJhbmdlRXJyb3IpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIGIgPSBPYmplY3QuaXNTZWFsZWQoUmFuZ2VFcnJvcik7DQogIGlmIChiID09PSBmYWxzZSkgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.isSealed returns false for all built-in objects (RangeError)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.11/15.2.3.11-4-22.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMTEvMTUuMi4zLjExLTQtMjMuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuaXNTZWFsZWQgcmV0dXJucyBmYWxzZSBmb3IgYWxsIGJ1aWx0LWluIG9iamVjdHMgKFJlZmVyZW5jZUVycm9yKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBiID0gT2JqZWN0LmlzU2VhbGVkKFJlZmVyZW5jZUVycm9yKTsNCiAgaWYgKGIgPT09IGZhbHNlKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.isSealed returns false for all built-in objects (ReferenceError)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.11/15.2.3.11-4-23.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMTEvMTUuMi4zLjExLTQtMjQuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuaXNTZWFsZWQgcmV0dXJucyBmYWxzZSBmb3IgYWxsIGJ1aWx0LWluIG9iamVjdHMgKFN5bnRheEVycm9yKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBiID0gT2JqZWN0LmlzU2VhbGVkKFN5bnRheEVycm9yKTsNCiAgaWYgKGIgPT09IGZhbHNlKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.isSealed returns false for all built-in objects (SyntaxError)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.11/15.2.3.11-4-24.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMTEvMTUuMi4zLjExLTQtMjUuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuaXNTZWFsZWQgcmV0dXJucyBmYWxzZSBmb3IgYWxsIGJ1aWx0LWluIG9iamVjdHMgKFR5cGVFcnJvcikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgYiA9IE9iamVjdC5pc1NlYWxlZChUeXBlRXJyb3IpOw0KICBpZiAoYiA9PT0gZmFsc2UpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.isSealed returns false for all built-in objects (TypeError)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.11/15.2.3.11-4-25.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMTEvMTUuMi4zLjExLTQtMjYuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuaXNTZWFsZWQgcmV0dXJucyBmYWxzZSBmb3IgYWxsIGJ1aWx0LWluIG9iamVjdHMgKFVSSUVycm9yKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBiID0gT2JqZWN0LmlzU2VhbGVkKFVSSUVycm9yKTsNCiAgaWYgKGIgPT09IGZhbHNlKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.isSealed returns false for all built-in objects (URIError)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.11/15.2.3.11-4-26.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMTEvMTUuMi4zLjExLTQtMjcuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuaXNTZWFsZWQgcmV0dXJucyBmYWxzZSBmb3IgYWxsIGJ1aWx0LWluIG9iamVjdHMgKEpTT04pDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIGIgPSBPYmplY3QuaXNTZWFsZWQoSlNPTik7DQogIGlmIChiID09PSBmYWxzZSkgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.isSealed returns false for all built-in objects (JSON)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.11/15.2.3.11-4-27.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMTEvMTUuMi4zLjExLTQtMy5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5pc1NlYWxlZCByZXR1cm5zIGZhbHNlIGZvciBhbGwgYnVpbHQtaW4gb2JqZWN0cyAoT2JqZWN0LnByb3RvdHlwZSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgYiA9IE9iamVjdC5pc1NlYWxlZChPYmplY3QucHJvdG90eXBlKTsNCiAgaWYgKGIgPT09IGZhbHNlKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.isSealed returns false for all built-in objects (Object.prototype)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.11/15.2.3.11-4-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMTEvMTUuMi4zLjExLTQtNC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5pc1NlYWxlZCByZXR1cm5zIGZhbHNlIGZvciBhbGwgYnVpbHQtaW4gb2JqZWN0cyAoRnVuY3Rpb24pDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIGIgPSBPYmplY3QuaXNTZWFsZWQoRnVuY3Rpb24pOw0KICBpZiAoYiA9PT0gZmFsc2UpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.isSealed returns false for all built-in objects (Function)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.11/15.2.3.11-4-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMTEvMTUuMi4zLjExLTQtNS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5pc1NlYWxlZCByZXR1cm5zIGZhbHNlIGZvciBhbGwgYnVpbHQtaW4gb2JqZWN0cyAoRnVuY3Rpb24ucHJvdG90eXBlKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBiID0gT2JqZWN0LmlzU2VhbGVkKEZ1bmN0aW9uLnByb3RvdHlwZSk7DQogIGlmIChiID09PSBmYWxzZSkgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.isSealed returns false for all built-in objects (Function.prototype)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.11/15.2.3.11-4-5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMTEvMTUuMi4zLjExLTQtNi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5pc1NlYWxlZCByZXR1cm5zIGZhbHNlIGZvciBhbGwgYnVpbHQtaW4gb2JqZWN0cyAoQXJyYXkpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIGIgPSBPYmplY3QuaXNTZWFsZWQoQXJyYXkpOw0KICBpZiAoYiA9PT0gZmFsc2UpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.isSealed returns false for all built-in objects (Array)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.11/15.2.3.11-4-6.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMTEvMTUuMi4zLjExLTQtNy5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5pc1NlYWxlZCByZXR1cm5zIGZhbHNlIGZvciBhbGwgYnVpbHQtaW4gb2JqZWN0cyAoQXJyYXkucHJvdG90eXBlKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBiID0gT2JqZWN0LmlzU2VhbGVkKEFycmF5LnByb3RvdHlwZSk7DQogIGlmIChiID09PSBmYWxzZSkgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.isSealed returns false for all built-in objects (Array.prototype)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.11/15.2.3.11-4-7.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMTEvMTUuMi4zLjExLTQtOC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5pc1NlYWxlZCByZXR1cm5zIGZhbHNlIGZvciBhbGwgYnVpbHQtaW4gb2JqZWN0cyAoU3RyaW5nKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBiID0gT2JqZWN0LmlzU2VhbGVkKFN0cmluZyk7DQogIGlmIChiID09PSBmYWxzZSkgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQp9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.isSealed returns false for all built-in objects (String)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.11/15.2.3.11-4-8.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMTEvMTUuMi4zLjExLTQtOS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5pc1NlYWxlZCByZXR1cm5zIGZhbHNlIGZvciBhbGwgYnVpbHQtaW4gb2JqZWN0cyAoU3RyaW5nLnByb3RvdHlwZSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgYiA9IE9iamVjdC5pc1NlYWxlZChTdHJpbmcucHJvdG90eXBlKTsNCiAgaWYgKGIgPT09IGZhbHNlKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.isSealed returns false for all built-in objects (String.prototype)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.11/15.2.3.11-4-9.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMTIvMTUuMi4zLjEyLTAtMS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5pc0Zyb3plbiBtdXN0IGV4aXN0IGFzIGEgZnVuY3Rpb24NCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgZiA9IE9iamVjdC5pc0Zyb3plbjsNCiAgaWYgKHR5cGVvZihmKSA9PT0gImZ1bmN0aW9uIikgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.isFrozen must exist as a function","path":"TestCases/ch15/15.2/15.2.3/15.2.3.12/15.2.3.12-0-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMTIvMTUuMi4zLjEyLTAtMi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5pc0Zyb3plbiBtdXN0IGV4aXN0IGFzIGEgZnVuY3Rpb24gdGFraW5nIDEgcGFyYW1ldGVyDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgaWYgKE9iamVjdC5pc0Zyb3plbi5sZW5ndGggPT09IDEpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.isFrozen must exist as a function taking 1 parameter","path":"TestCases/ch15/15.2/15.2.3/15.2.3.12/15.2.3.12-0-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMTIvMTUuMi4zLjEyLTEtMS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5pc0Zyb3plbiAtIFR5cGVFcnJvciBpcyB0aHJvd24gd2hlbiB0aGUgZmlyc3QgcGFyYW0gJ08nIGlzIHVuZGVmaW5lZA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuaXNGcm96ZW4odW5kZWZpbmVkKTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIChlIGluc3RhbmNlb2YgVHlwZUVycm9yKTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.isFrozen - TypeError is thrown when the first param 'O' is undefined","path":"TestCases/ch15/15.2/15.2.3/15.2.3.12/15.2.3.12-1-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMTIvMTUuMi4zLjEyLTEtMi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5pc0Zyb3plbiAtIFR5cGVFcnJvciBpcyB0aHJvd24gd2hlbiB0aGUgZmlyc3QgcGFyYW0gJ08nIGlzIG51bGwNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmlzRnJvemVuKG51bGwpOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.isFrozen - TypeError is thrown when the first param 'O' is null","path":"TestCases/ch15/15.2/15.2.3/15.2.3.12/15.2.3.12-1-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMTIvMTUuMi4zLjEyLTEtMy5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5pc0Zyb3plbiAtIFR5cGVFcnJvciBpcyB0aHJvd24gd2hlbiB0aGUgZmlyc3QgcGFyYW0gJ08nIGlzIGEgYm9vbGVhbg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuaXNGcm96ZW4odHJ1ZSk7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiAoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcik7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.isFrozen - TypeError is thrown when the first param 'O' is a boolean","path":"TestCases/ch15/15.2/15.2.3/15.2.3.12/15.2.3.12-1-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMTIvMTUuMi4zLjEyLTEtNC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5pc0Zyb3plbiAtIFR5cGVFcnJvciBpcyB0aHJvd24gd2hlbiB0aGUgZmlyc3QgcGFyYW0gJ08nIGlzIGEgc3RyaW5nDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5pc0Zyb3plbigiYWJjIik7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiAoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcik7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.isFrozen - TypeError is thrown when the first param 'O' is a string","path":"TestCases/ch15/15.2/15.2.3/15.2.3.12/15.2.3.12-1-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMTIvMTUuMi4zLjEyLTEtNS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5pc0Zyb3plbiBhcHBsaWVzIHRvIGRlbnNlIGFycmF5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IE9iamVjdC5mcmVlemUoWzAsIDEsIDJdKTsNCiAgICAgICAgcmV0dXJuIE9iamVjdC5pc0Zyb3plbihvYmopOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.isFrozen applies to dense array","path":"TestCases/ch15/15.2/15.2.3/15.2.3.12/15.2.3.12-1-5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMTIvMTUuMi4zLjEyLTEtNi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5pc0Zyb3plbiBhcHBsaWVzIHRvIHNwYXJzZSBhcnJheQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBzcGFyc2VBcnIgPSBbMCwgMV07DQogICAgICAgIHNwYXJzZUFyclsxMDAwMF0gPSAxMDAwMDsNCg0KICAgICAgICBzcGFyc2VBcnIgPSBPYmplY3QuZnJlZXplKHNwYXJzZUFycik7DQogICAgICAgIHJldHVybiBPYmplY3QuaXNGcm96ZW4oc3BhcnNlQXJyKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.isFrozen applies to sparse array","path":"TestCases/ch15/15.2/15.2.3/15.2.3.12/15.2.3.12-1-6.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMTIvMTUuMi4zLjEyLTEtNy5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5pc0Zyb3plbiBhcHBsaWVzIHRvIG5vbi1hcnJheSBvYmplY3Qgd2hpY2ggY29udGFpbnMgaW5kZXggbmFtZWQgcHJvcGVydGllcw0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSBPYmplY3QuZnJlZXplKHsgMDogMCwgMTogMSwgMTAwMDogMTAwMCB9KTsNCiAgICAgICAgcmV0dXJuIE9iamVjdC5pc0Zyb3plbihvYmopOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.isFrozen applies to non-array object which contains index named properties","path":"TestCases/ch15/15.2/15.2.3/15.2.3.12/15.2.3.12-1-7.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMTIvMTUuMi4zLjEyLTEuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuaXNGcm96ZW4gdGhyb3dzIFR5cGVFcnJvciBpZiB0eXBlIG9mIGZpcnN0IHBhcmFtIGlzIG5vdCBPYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgIHRyeSB7DQogICAgICBPYmplY3QuaXNGcm96ZW4oMCk7DQogICAgfQ0KICAgIGNhdGNoIChlKSB7DQogICAgICBpZiAoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikgew0KICAgICAgICByZXR1cm4gdHJ1ZTsNCiAgICAgIH0NCiAgICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.isFrozen throws TypeError if type of first param is not Object","path":"TestCases/ch15/15.2/15.2.3/15.2.3.12/15.2.3.12-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMTIvMTUuMi4zLjEyLTItMS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5pc0Zyb3plbiAtIGluaGVyaXRlZCBkYXRhIHByb3BlcnR5IGlzIG5vdCBjb25zaWRlcmVkIGludG8gdGhlIGZvciBlYWNoIGxvb3ANCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBwcm90byA9IHt9Ow0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkocHJvdG8sICJGYXRoZXIiLCB7DQogICAgICAgICAgICB2YWx1ZTogMTAsDQogICAgICAgICAgICB3cml0YWJsZTogZmFsc2UsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIENvbiA9IGZ1bmN0aW9uICgpIHsgfTsNCiAgICAgICAgQ29uLnByb3RvdHlwZSA9IHByb3RvOw0KDQogICAgICAgIHZhciBjaGlsZCA9IG5ldyBDb24oKTsNCg0KICAgICAgICBPYmplY3QucHJldmVudEV4dGVuc2lvbnMoY2hpbGQpOw0KDQogICAgICAgIHJldHVybiBPYmplY3QuaXNGcm96ZW4oY2hpbGQpOw0KDQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.isFrozen - inherited data property is not considered into the for each loop","path":"TestCases/ch15/15.2/15.2.3/15.2.3.12/15.2.3.12-2-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMTIvMTUuMi4zLjEyLTItMi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5pc0Zyb3plbiAtIGluaGVyaXRlZCBhY2Nlc3NvciBwcm9wZXJ0eSBpcyBub3QgY29uc2lkZXJlZCBpbnRvIHRoZSBmb3IgZWFjaCBsb29wDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgcHJvdG8gPSB7fTsNCiAgICAgICAgDQogICAgICAgIGZ1bmN0aW9uIGdldF9mdW5jKCkgew0KICAgICAgICAgICAgcmV0dXJuIDEwOw0KICAgICAgICB9DQogICAgICAgIGZ1bmN0aW9uIHNldF9mdW5jKCkgeyB9DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHByb3RvLCAiRmF0aGVyIiwgew0KICAgICAgICAgICAgZ2V0OiBnZXRfZnVuYywNCiAgICAgICAgICAgIHNldDogc2V0X2Z1bmMsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIENvbiA9IGZ1bmN0aW9uICgpIHsgfTsNCiAgICAgICAgQ29uLnByb3RvdHlwZSA9IHByb3RvOw0KDQogICAgICAgIHZhciBjaGlsZCA9IG5ldyBDb24oKTsNCg0KICAgICAgICBPYmplY3QucHJldmVudEV4dGVuc2lvbnMoY2hpbGQpOw0KDQogICAgICAgIHJldHVybiBPYmplY3QuaXNGcm96ZW4oY2hpbGQpOw0KDQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.isFrozen - inherited accessor property is not considered into the for each loop","path":"TestCases/ch15/15.2/15.2.3/15.2.3.12/15.2.3.12-2-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMTIvMTUuMi4zLjEyLTItYS0xLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmlzRnJvemVuIC0gJ1AnIGlzIG93biBkYXRhIHByb3BlcnR5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgImZvbyIsIHsNCiAgICAgICAgICAgIHZhbHVlOiAxMiwNCiAgICAgICAgICAgIHdyaXRhYmxlOiB0cnVlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBPYmplY3QucHJldmVudEV4dGVuc2lvbnMob2JqKTsNCg0KICAgICAgICByZXR1cm4gIU9iamVjdC5pc0Zyb3plbihvYmopOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.isFrozen - 'P' is own data property","path":"TestCases/ch15/15.2/15.2.3/15.2.3.12/15.2.3.12-2-a-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMTIvMTUuMi4zLjEyLTItYS0xMS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5pc0Zyb3plbiAtICdPJyBpcyB0aGUgQXJndW1lbnRzIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFyZzsNCg0KICAgICAgICAoZnVuY3Rpb24gZnVuKCkgew0KICAgICAgICAgICAgYXJnID0gYXJndW1lbnRzOw0KICAgICAgICB9KDEsIDIsIDMpKTsNCg0KICAgICAgICBPYmplY3QucHJldmVudEV4dGVuc2lvbnMoYXJnKTsNCiAgICAgICAgcmV0dXJuICFPYmplY3QuaXNGcm96ZW4oYXJnKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.isFrozen - 'O' is the Arguments object","path":"TestCases/ch15/15.2/15.2.3/15.2.3.12/15.2.3.12-2-a-11.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMTIvMTUuMi4zLjEyLTItYS0xMi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5pc0Zyb3plbiAtICdPJyBpcyBhIFN0cmluZyBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSBuZXcgU3RyaW5nKCJhYmMiKTsNCg0KICAgICAgICBvYmoubGVuID0gMTAwOw0KDQogICAgICAgIE9iamVjdC5wcmV2ZW50RXh0ZW5zaW9ucyhvYmopOw0KDQogICAgICAgIHJldHVybiAhT2JqZWN0LmlzRnJvemVuKG9iaik7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.isFrozen - 'O' is a String object","path":"TestCases/ch15/15.2/15.2.3/15.2.3.12/15.2.3.12-2-a-12.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMTIvMTUuMi4zLjEyLTItYS0xMy5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5pc0Zyb3plbiAtICdPJyBpcyBhIEZ1bmN0aW9uIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IGZ1bmN0aW9uICgpIHsgfTsNCiAgICAgICAgDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wZXJ0eSIsIHsNCiAgICAgICAgICAgIHZhbHVlOiAxMiwNCiAgICAgICAgICAgIHdyaXRhYmxlOiB0cnVlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBPYmplY3QucHJldmVudEV4dGVuc2lvbnMob2JqKTsNCg0KICAgICAgICByZXR1cm4gIU9iamVjdC5pc0Zyb3plbihvYmopOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.isFrozen - 'O' is a Function object","path":"TestCases/ch15/15.2/15.2.3/15.2.3.12/15.2.3.12-2-a-13.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMTIvMTUuMi4zLjEyLTItYS0xNC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5pc0Zyb3plbiAtICdPJyBpcyBhbiBBcnJheSBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSBbMl07DQogICAgICAgIG9iai5sZW4gPSAyMDA7DQoNCiAgICAgICAgT2JqZWN0LnByZXZlbnRFeHRlbnNpb25zKG9iaik7DQoNCiAgICAgICAgcmV0dXJuICFPYmplY3QuaXNGcm96ZW4ob2JqKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.isFrozen - 'O' is an Array object","path":"TestCases/ch15/15.2/15.2.3/15.2.3.12/15.2.3.12-2-a-14.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMTIvMTUuMi4zLjEyLTItYS0yLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmlzRnJvemVuIC0gJ1AnIGlzIG93biBkYXRhIHByb3BlcnR5IHRoYXQgb3ZlcnJpZGVzIGFuIGluaGVyaXRlZCBkYXRhIHByb3BlcnR5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgcHJvdG8gPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkocHJvdG8sICJmb28iLCB7DQogICAgICAgICAgICB2YWx1ZTogOSwNCiAgICAgICAgICAgIHdyaXRhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIENvbiA9IGZ1bmN0aW9uICgpIHsgfTsNCiAgICAgICAgQ29uLnByb3RvdHlwZSA9IHByb3RvOw0KICAgICAgICB2YXIgY2hpbGQgPSBuZXcgQ29uKCk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGNoaWxkLCAiZm9vIiwgew0KICAgICAgICAgICAgdmFsdWU6IDEyLA0KICAgICAgICAgICAgd3JpdGFibGU6IHRydWUsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgIH0pOw0KDQogICAgICAgIE9iamVjdC5wcmV2ZW50RXh0ZW5zaW9ucyhjaGlsZCk7DQogICAgICAgIHJldHVybiAhT2JqZWN0LmlzRnJvemVuKGNoaWxkKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.isFrozen - 'P' is own data property that overrides an inherited data property","path":"TestCases/ch15/15.2/15.2.3/15.2.3.12/15.2.3.12-2-a-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMTIvMTUuMi4zLjEyLTItYS0zLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmlzRnJvemVuIC0gJ1AnIGlzIG93biBkYXRhIHByb3BlcnR5IHRoYXQgb3ZlcnJpZGVzIGFuIGluaGVyaXRlZCBhY2Nlc3NvciBwcm9wZXJ0eQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHByb3RvID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHByb3RvLCAiZm9vIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIDk7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgQ29uID0gZnVuY3Rpb24gKCkgeyB9Ow0KICAgICAgICBDb24ucHJvdG90eXBlID0gcHJvdG87DQogICAgICAgIHZhciBjaGlsZCA9IG5ldyBDb24oKTsNCg0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShjaGlsZCwgImZvbyIsIHsNCiAgICAgICAgICAgIHZhbHVlOiAxMiwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBPYmplY3QucHJldmVudEV4dGVuc2lvbnMoY2hpbGQpOw0KICAgICAgICByZXR1cm4gIU9iamVjdC5pc0Zyb3plbihjaGlsZCk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.isFrozen - 'P' is own data property that overrides an inherited accessor property","path":"TestCases/ch15/15.2/15.2.3/15.2.3.12/15.2.3.12-2-a-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMTIvMTUuMi4zLjEyLTItYS00LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmlzRnJvemVuIC0gJ1AnIGlzIG93biBhY2Nlc3NvciBwcm9wZXJ0eQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiZm9vIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIDk7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIE9iamVjdC5wcmV2ZW50RXh0ZW5zaW9ucyhvYmopOw0KICAgICAgICByZXR1cm4gIU9iamVjdC5pc0Zyb3plbihvYmopOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.isFrozen - 'P' is own accessor property","path":"TestCases/ch15/15.2/15.2.3/15.2.3.12/15.2.3.12-2-a-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMTIvMTUuMi4zLjEyLTItYS01LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmlzRnJvemVuIC0gJ1AnIGlzIG93biBhY2Nlc3NvciBwcm9wZXJ0eSB0aGF0IG92ZXJyaWRlcyBhbiBpbmhlcml0ZWQgZGF0YSBwcm9wZXJ0eQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHByb3RvID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHByb3RvLCAiZm9vIiwgew0KICAgICAgICAgICAgdmFsdWU6IDEyLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgQ29uID0gZnVuY3Rpb24gKCkgeyB9Ow0KICAgICAgICBDb24ucHJvdG90eXBlID0gcHJvdG87DQogICAgICAgIHZhciBjaGlsZCA9IG5ldyBDb24oKTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoY2hpbGQsICJmb28iLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gOTsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgT2JqZWN0LnByZXZlbnRFeHRlbnNpb25zKGNoaWxkKTsNCiAgICAgICAgcmV0dXJuICFPYmplY3QuaXNGcm96ZW4oY2hpbGQpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.isFrozen - 'P' is own accessor property that overrides an inherited data property","path":"TestCases/ch15/15.2/15.2.3/15.2.3.12/15.2.3.12-2-a-5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMTIvMTUuMi4zLjEyLTItYS02LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmlzRnJvemVuIC0gJ1AnIGlzIG93biBhY2Nlc3NvciBwcm9wZXJ0eSB0aGF0IG92ZXJyaWRlcyBhbiBpbmhlcml0ZWQgYWNjZXNzb3IgcHJvcGVydHkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBwcm90byA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShwcm90bywgImZvbyIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiAxMjsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBDb24gPSBmdW5jdGlvbiAoKSB7IH07DQogICAgICAgIENvbi5wcm90b3R5cGUgPSBwcm90bzsNCiAgICAgICAgdmFyIGNoaWxkID0gbmV3IENvbigpOw0KDQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGNoaWxkLCAiZm9vIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIDk7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIE9iamVjdC5wcmV2ZW50RXh0ZW5zaW9ucyhjaGlsZCk7DQogICAgICAgIHJldHVybiAhT2JqZWN0LmlzRnJvemVuKGNoaWxkKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.isFrozen - 'P' is own accessor property that overrides an inherited accessor property","path":"TestCases/ch15/15.2/15.2.3/15.2.3.12/15.2.3.12-2-a-6.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMTIvMTUuMi4zLjEyLTItYS03LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmlzRnJvemVuIC0gJ1AnIGlzIG93biBhY2Nlc3NvciBwcm9wZXJ0eSB3aXRob3V0IGEgZ2V0IGZ1bmN0aW9uDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJmb28iLCB7DQogICAgICAgICAgICBzZXQ6IGZ1bmN0aW9uICgpIHsgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBPYmplY3QucHJldmVudEV4dGVuc2lvbnMob2JqKTsNCiAgICAgICAgcmV0dXJuICFPYmplY3QuaXNGcm96ZW4ob2JqKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.isFrozen - 'P' is own accessor property without a get function","path":"TestCases/ch15/15.2/15.2.3/15.2.3.12/15.2.3.12-2-a-7.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMTIvMTUuMi4zLjEyLTItYS04LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmlzRnJvemVuIC0gJ1AnIGlzIG93biBhY2Nlc3NvciBwcm9wZXJ0eSB3aXRob3V0IGEgZ2V0IGZ1bmN0aW9uIHRoYXQgb3ZlcnJpZGVzIGFuIGluaGVyaXRlZCBhY2Nlc3NvciBwcm9wZXJ0eQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHByb3RvID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHByb3RvLCAiZm9vIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIDk7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgQ29uID0gZnVuY3Rpb24gKCkgeyB9Ow0KICAgICAgICBDb24ucHJvdG90eXBlID0gcHJvdG87DQogICAgICAgIHZhciBjaGlsZCA9IG5ldyBDb24oKTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoY2hpbGQsICJmb28iLCB7DQogICAgICAgICAgICBzZXQ6IGZ1bmN0aW9uICgpIHsgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBPYmplY3QucHJldmVudEV4dGVuc2lvbnMoY2hpbGQpOw0KICAgICAgICByZXR1cm4gIU9iamVjdC5pc0Zyb3plbihjaGlsZCk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.isFrozen - 'P' is own accessor property without a get function that overrides an inherited accessor property","path":"TestCases/ch15/15.2/15.2.3/15.2.3.12/15.2.3.12-2-a-8.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMTIvMTUuMi4zLjEyLTItYi1pLTEuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuaXNGcm96ZW4gcmV0dXJucyBmYWxzZSBpZiAnTycgY29udGFpbnMgb3duIHdyaXRhYmxlIGRhdGEgcHJvcGVydHkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgImZvbyIsIHsNCiAgICAgICAgICAgIHZhbHVlOiAyMCwNCiAgICAgICAgICAgIHdyaXRhYmxlOiB0cnVlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICB9KTsNCiAgICAgICAgT2JqZWN0LnByZXZlbnRFeHRlbnNpb25zKG9iaik7DQogICAgICAgIHJldHVybiAhT2JqZWN0LmlzRnJvemVuKG9iaik7DQoNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.isFrozen returns false if 'O' contains own writable data property","path":"TestCases/ch15/15.2/15.2.3/15.2.3.12/15.2.3.12-2-b-i-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMTIvMTUuMi4zLjEyLTItYy0xLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmlzRnJvemVuIHJldHVybnMgZmFsc2UgaWYgJ08nIGNvbnRhaW5zIG93biBjb25maWd1cmFibGUgZGF0YSBwcm9wZXJ0eQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiZm9vIiwgew0KICAgICAgICAgICAgdmFsdWU6IDIwLA0KICAgICAgICAgICAgd3JpdGFibGU6IGZhbHNlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIE9iamVjdC5wcmV2ZW50RXh0ZW5zaW9ucyhvYmopOw0KICAgICAgICByZXR1cm4gIU9iamVjdC5pc0Zyb3plbihvYmopOw0KDQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.isFrozen returns false if 'O' contains own configurable data property","path":"TestCases/ch15/15.2/15.2.3/15.2.3.12/15.2.3.12-2-c-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMTIvMTUuMi4zLjEyLTItYy0yLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmlzRnJvemVuIHJldHVybnMgZmFsc2UgaWYgJ08nIGNvbnRhaW5zIG93biBjb25maWd1cmFibGUgYWNjZXNzb3IgcHJvcGVydHkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBmdW5jdGlvbiBnZXRfZnVuYygpIHsNCiAgICAgICAgICAgIHJldHVybiAxMDsNCiAgICAgICAgfQ0KICAgICAgICBmdW5jdGlvbiBzZXRfZnVuYygpIHsgfQ0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJmb28iLCB7DQogICAgICAgICAgICBnZXQ6IGdldF9mdW5jLA0KICAgICAgICAgICAgc2V0OiBzZXRfZnVuYywNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBPYmplY3QucHJldmVudEV4dGVuc2lvbnMob2JqKTsNCiAgICAgICAgcmV0dXJuICFPYmplY3QuaXNGcm96ZW4ob2JqKTsNCg0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.isFrozen returns false if 'O' contains own configurable accessor property","path":"TestCases/ch15/15.2/15.2.3/15.2.3.12/15.2.3.12-2-c-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMTIvMTUuMi4zLjEyLTMtMS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5pc0Zyb3plbiByZXR1cm5zIGZhbHNlIGZvciBhbGwgYnVpbHQtaW4gb2JqZWN0cyAoR2xvYmFsKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIC8vIGluIG5vbi1zdHJpY3QgbW9kZSwgJ3RoaXMnIGlzIGJvdW5kIHRvIHRoZSBnbG9iYWwgb2JqZWN0Lg0KICB2YXIgYiA9IE9iamVjdC5pc0Zyb3plbih0aGlzKTsNCiAgaWYgKGIgPT09IGZhbHNlKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.isFrozen returns false for all built-in objects (Global)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.12/15.2.3.12-3-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMTIvMTUuMi4zLjEyLTMtMTAuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuaXNGcm96ZW4gcmV0dXJucyBmYWxzZSBmb3IgYWxsIGJ1aWx0LWluIG9iamVjdHMgKEJvb2xlYW4pDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIGIgPSBPYmplY3QuaXNGcm96ZW4oQm9vbGVhbik7DQogIGlmIChiID09PSBmYWxzZSkgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.isFrozen returns false for all built-in objects (Boolean)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.12/15.2.3.12-3-10.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMTIvMTUuMi4zLjEyLTMtMTEuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuaXNGcm96ZW4gcmV0dXJucyBmYWxzZSBmb3IgYWxsIGJ1aWx0LWluIG9iamVjdHMgKEJvb2xlYW4ucHJvdG90eXBlKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBiID0gT2JqZWN0LmlzRnJvemVuKEJvb2xlYW4ucHJvdG90eXBlKTsNCiAgaWYgKGIgPT09IGZhbHNlKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.isFrozen returns false for all built-in objects (Boolean.prototype)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.12/15.2.3.12-3-11.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMTIvMTUuMi4zLjEyLTMtMTIuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuaXNGcm96ZW4gcmV0dXJucyBmYWxzZSBmb3IgYWxsIGJ1aWx0LWluIG9iamVjdHMgKE51bWJlcikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgYiA9IE9iamVjdC5pc0Zyb3plbihOdW1iZXIpOw0KICBpZiAoYiA9PT0gZmFsc2UpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.isFrozen returns false for all built-in objects (Number)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.12/15.2.3.12-3-12.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMTIvMTUuMi4zLjEyLTMtMTMuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuaXNGcm96ZW4gcmV0dXJucyBmYWxzZSBmb3IgYWxsIGJ1aWx0LWluIG9iamVjdHMgKE51bWJlci5wcm90b3R5cGUpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIGIgPSBPYmplY3QuaXNGcm96ZW4oTnVtYmVyLnByb3RvdHlwZSk7DQogIGlmIChiID09PSBmYWxzZSkgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.isFrozen returns false for all built-in objects (Number.prototype)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.12/15.2.3.12-3-13.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMTIvMTUuMi4zLjEyLTMtMTQuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuaXNGcm96ZW4gcmV0dXJucyBmYWxzZSBmb3IgYWxsIGJ1aWx0LWluIG9iamVjdHMgKE1hdGgpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIGIgPSBPYmplY3QuaXNGcm96ZW4oTWF0aCk7DQogIGlmIChiID09PSBmYWxzZSkgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.isFrozen returns false for all built-in objects (Math)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.12/15.2.3.12-3-14.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMTIvMTUuMi4zLjEyLTMtMTUuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuaXNGcm96ZW4gcmV0dXJucyBmYWxzZSBmb3IgYWxsIGJ1aWx0LWluIG9iamVjdHMgKERhdGUpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIGIgPSBPYmplY3QuaXNGcm96ZW4oRGF0ZSk7DQogIGlmIChiID09PSBmYWxzZSkgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.isFrozen returns false for all built-in objects (Date)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.12/15.2.3.12-3-15.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMTIvMTUuMi4zLjEyLTMtMTYuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuaXNGcm96ZW4gcmV0dXJucyBmYWxzZSBmb3IgYWxsIGJ1aWx0LWluIG9iamVjdHMgKERhdGUucHJvdG90eXBlKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBiID0gT2JqZWN0LmlzRnJvemVuKERhdGUucHJvdG90eXBlKTsNCiAgaWYgKGIgPT09IGZhbHNlKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.isFrozen returns false for all built-in objects (Date.prototype)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.12/15.2.3.12-3-16.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMTIvMTUuMi4zLjEyLTMtMTcuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuaXNGcm96ZW4gcmV0dXJucyBmYWxzZSBmb3IgYWxsIGJ1aWx0LWluIG9iamVjdHMgKFJlZ0V4cCkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgYiA9IE9iamVjdC5pc0Zyb3plbihSZWdFeHApOw0KICBpZiAoYiA9PT0gZmFsc2UpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.isFrozen returns false for all built-in objects (RegExp)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.12/15.2.3.12-3-17.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMTIvMTUuMi4zLjEyLTMtMTguanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuaXNGcm96ZW4gcmV0dXJucyBmYWxzZSBmb3IgYWxsIGJ1aWx0LWluIG9iamVjdHMgKFJlZ0V4cC5wcm90b3R5cGUpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIGIgPSBPYmplY3QuaXNGcm96ZW4oUmVnRXhwLnByb3RvdHlwZSk7DQogIGlmIChiID09PSBmYWxzZSkgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.isFrozen returns false for all built-in objects (RegExp.prototype)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.12/15.2.3.12-3-18.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMTIvMTUuMi4zLjEyLTMtMTkuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuaXNGcm96ZW4gcmV0dXJucyBmYWxzZSBmb3IgYWxsIGJ1aWx0LWluIG9iamVjdHMgKEVycm9yKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBiID0gT2JqZWN0LmlzRnJvemVuKEVycm9yKTsNCiAgaWYgKGIgPT09IGZhbHNlKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.isFrozen returns false for all built-in objects (Error)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.12/15.2.3.12-3-19.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMTIvMTUuMi4zLjEyLTMtMi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5pc0Zyb3plbiByZXR1cm5zIGZhbHNlIGZvciBhbGwgYnVpbHQtaW4gb2JqZWN0cyAoT2JqZWN0KQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBiID0gT2JqZWN0LmlzRnJvemVuKE9iamVjdCk7DQogIGlmIChiID09PSBmYWxzZSkgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.isFrozen returns false for all built-in objects (Object)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.12/15.2.3.12-3-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMTIvMTUuMi4zLjEyLTMtMjAuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuaXNGcm96ZW4gcmV0dXJucyBmYWxzZSBmb3IgYWxsIGJ1aWx0LWluIG9iamVjdHMgKEVycm9yLnByb3RvdHlwZSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgYiA9IE9iamVjdC5pc0Zyb3plbihFcnJvci5wcm90b3R5cGUpOw0KICBpZiAoYiA9PT0gZmFsc2UpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.isFrozen returns false for all built-in objects (Error.prototype)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.12/15.2.3.12-3-20.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMTIvMTUuMi4zLjEyLTMtMjEuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuaXNGcm96ZW4gcmV0dXJucyBmYWxzZSBmb3IgYWxsIGJ1aWx0LWluIG9iamVjdHMgKEV2YWxFcnJvcikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgYiA9IE9iamVjdC5pc0Zyb3plbihFdmFsRXJyb3IpOw0KICBpZiAoYiA9PT0gZmFsc2UpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.isFrozen returns false for all built-in objects (EvalError)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.12/15.2.3.12-3-21.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMTIvMTUuMi4zLjEyLTMtMjIuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuaXNGcm96ZW4gcmV0dXJucyBmYWxzZSBmb3IgYWxsIGJ1aWx0LWluIG9iamVjdHMgKFJhbmdlRXJyb3IpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIGIgPSBPYmplY3QuaXNGcm96ZW4oUmFuZ2VFcnJvcik7DQogIGlmIChiID09PSBmYWxzZSkgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.isFrozen returns false for all built-in objects (RangeError)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.12/15.2.3.12-3-22.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMTIvMTUuMi4zLjEyLTMtMjMuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuaXNGcm96ZW4gcmV0dXJucyBmYWxzZSBmb3IgYWxsIGJ1aWx0LWluIG9iamVjdHMgKFJlZmVyZW5jZUVycm9yKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBiID0gT2JqZWN0LmlzRnJvemVuKFJlZmVyZW5jZUVycm9yKTsNCiAgaWYgKGIgPT09IGZhbHNlKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.isFrozen returns false for all built-in objects (ReferenceError)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.12/15.2.3.12-3-23.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMTIvMTUuMi4zLjEyLTMtMjQuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuaXNGcm96ZW4gcmV0dXJucyBmYWxzZSBmb3IgYWxsIGJ1aWx0LWluIG9iamVjdHMgKFN5bnRheEVycm9yKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBiID0gT2JqZWN0LmlzRnJvemVuKFN5bnRheEVycm9yKTsNCiAgaWYgKGIgPT09IGZhbHNlKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.isFrozen returns false for all built-in objects (SyntaxError)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.12/15.2.3.12-3-24.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMTIvMTUuMi4zLjEyLTMtMjUuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuaXNGcm96ZW4gcmV0dXJucyBmYWxzZSBmb3IgYWxsIGJ1aWx0LWluIG9iamVjdHMgKFR5cGVFcnJvcikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgYiA9IE9iamVjdC5pc0Zyb3plbihUeXBlRXJyb3IpOw0KICBpZiAoYiA9PT0gZmFsc2UpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.isFrozen returns false for all built-in objects (TypeError)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.12/15.2.3.12-3-25.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMTIvMTUuMi4zLjEyLTMtMjYuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuaXNGcm96ZW4gcmV0dXJucyBmYWxzZSBmb3IgYWxsIGJ1aWx0LWluIG9iamVjdHMgKFVSSUVycm9yKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBiID0gT2JqZWN0LmlzRnJvemVuKFVSSUVycm9yKTsNCiAgaWYgKGIgPT09IGZhbHNlKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.isFrozen returns false for all built-in objects (URIError)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.12/15.2.3.12-3-26.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMTIvMTUuMi4zLjEyLTMtMjcuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuaXNGcm96ZW4gcmV0dXJucyBmYWxzZSBmb3IgYWxsIGJ1aWx0LWluIG9iamVjdHMgKEpTT04pDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIGIgPSBPYmplY3QuaXNGcm96ZW4oSlNPTik7DQogIGlmIChiID09PSBmYWxzZSkgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.isFrozen returns false for all built-in objects (JSON)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.12/15.2.3.12-3-27.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMTIvMTUuMi4zLjEyLTMtMjguanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuaXNGcm96ZW4gcmV0dXJucyB0cnVlIHdoZW4gYWxsIG93biBwcm9wZXJ0aWVzIG9mICdPJyBhcmUgbm90IHdyaXRhYmxlIGFuZCBub3QgY29uZmlndXJhYmxlLCBhbmQgJ08nIGlzIG5vdCBleHRlbnNpYmxlDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgImZvbzEiLCB7DQogICAgICAgICAgICB2YWx1ZTogMjAsDQogICAgICAgICAgICB3cml0YWJsZTogZmFsc2UsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgfSk7DQoNCg0KICAgICAgICBmdW5jdGlvbiBnZXRfZnVuYygpIHsNCiAgICAgICAgICAgIHJldHVybiAxMDsNCiAgICAgICAgfQ0KICAgICAgICBmdW5jdGlvbiBzZXRfZnVuYygpIHsgfQ0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJmb28yIiwgew0KICAgICAgICAgICAgZ2V0OiBnZXRfZnVuYywNCiAgICAgICAgICAgIHNldDogc2V0X2Z1bmMsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgIH0pOw0KDQogICAgICAgIE9iamVjdC5wcmV2ZW50RXh0ZW5zaW9ucyhvYmopOw0KICAgICAgICByZXR1cm4gT2JqZWN0LmlzRnJvemVuKG9iaik7DQoNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.isFrozen returns true when all own properties of 'O' are not writable and not configurable, and 'O' is not extensible","path":"TestCases/ch15/15.2/15.2.3/15.2.3.12/15.2.3.12-3-28.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMTIvMTUuMi4zLjEyLTMtMy5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5pc0Zyb3plbiByZXR1cm5zIGZhbHNlIGZvciBhbGwgYnVpbHQtaW4gb2JqZWN0cyAoT2JqZWN0LnByb3RvdHlwZSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgYiA9IE9iamVjdC5pc0Zyb3plbihPYmplY3QucHJvdG90eXBlKTsNCiAgaWYgKGIgPT09IGZhbHNlKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.isFrozen returns false for all built-in objects (Object.prototype)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.12/15.2.3.12-3-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMTIvMTUuMi4zLjEyLTMtNC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5pc0Zyb3plbiByZXR1cm5zIGZhbHNlIGZvciBhbGwgYnVpbHQtaW4gb2JqZWN0cyAoRnVuY3Rpb24pDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIGIgPSBPYmplY3QuaXNGcm96ZW4oRnVuY3Rpb24pOw0KICBpZiAoYiA9PT0gZmFsc2UpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.isFrozen returns false for all built-in objects (Function)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.12/15.2.3.12-3-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMTIvMTUuMi4zLjEyLTMtNS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5pc0Zyb3plbiByZXR1cm5zIGZhbHNlIGZvciBhbGwgYnVpbHQtaW4gb2JqZWN0cyAoRnVuY3Rpb24ucHJvdG90eXBlKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBiID0gT2JqZWN0LmlzRnJvemVuKEZ1bmN0aW9uLnByb3RvdHlwZSk7DQogIGlmIChiID09PSBmYWxzZSkgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.isFrozen returns false for all built-in objects (Function.prototype)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.12/15.2.3.12-3-5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMTIvMTUuMi4zLjEyLTMtNi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5pc0Zyb3plbiByZXR1cm5zIGZhbHNlIGZvciBhbGwgYnVpbHQtaW4gb2JqZWN0cyAoQXJyYXkpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIGIgPSBPYmplY3QuaXNGcm96ZW4oQXJyYXkpOw0KICBpZiAoYiA9PT0gZmFsc2UpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.isFrozen returns false for all built-in objects (Array)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.12/15.2.3.12-3-6.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMTIvMTUuMi4zLjEyLTMtNy5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5pc0Zyb3plbiByZXR1cm5zIGZhbHNlIGZvciBhbGwgYnVpbHQtaW4gb2JqZWN0cyAoQXJyYXkucHJvdG90eXBlKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBiID0gT2JqZWN0LmlzRnJvemVuKEFycmF5LnByb3RvdHlwZSk7DQogIGlmIChiID09PSBmYWxzZSkgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.isFrozen returns false for all built-in objects (Array.prototype)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.12/15.2.3.12-3-7.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMTIvMTUuMi4zLjEyLTMtOC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5pc0Zyb3plbiByZXR1cm5zIGZhbHNlIGZvciBhbGwgYnVpbHQtaW4gb2JqZWN0cyAoU3RyaW5nKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBiID0gT2JqZWN0LmlzRnJvemVuKFN0cmluZyk7DQogIGlmIChiID09PSBmYWxzZSkgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.isFrozen returns false for all built-in objects (String)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.12/15.2.3.12-3-8.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMTIvMTUuMi4zLjEyLTMtOS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5pc0Zyb3plbiByZXR1cm5zIGZhbHNlIGZvciBhbGwgYnVpbHQtaW4gb2JqZWN0cyAoU3RyaW5nLnByb3RvdHlwZSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgYiA9IE9iamVjdC5pc0Zyb3plbihTdHJpbmcucHJvdG90eXBlKTsNCiAgaWYgKGIgPT09IGZhbHNlKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.isFrozen returns false for all built-in objects (String.prototype)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.12/15.2.3.12-3-9.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMTIvMTUuMi4zLjEyLTQtMS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5pc0Zyb3plbiByZXR1cm5zIGZhbHNlIGlmIGV4dGVuc2libGUgaXMgdHJ1ZQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHJldHVybiAhT2JqZWN0LmlzRnJvemVuKHt9KTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.isFrozen returns false if extensible is true","path":"TestCases/ch15/15.2/15.2.3/15.2.3.12/15.2.3.12-4-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMTMvMTUuMi4zLjEzLTAtMS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5pc0V4dGVuc2libGUgbXVzdCBleGlzdCBhcyBhIGZ1bmN0aW9uDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIGYgPSBPYmplY3QuaXNFeHRlbnNpYmxlIDsNCiAgaWYgKHR5cGVvZihmKSA9PT0gImZ1bmN0aW9uIikgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.isExtensible must exist as a function","path":"TestCases/ch15/15.2/15.2.3/15.2.3.13/15.2.3.13-0-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMTMvMTUuMi4zLjEzLTAtMi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5pc0V4dGVuc2libGUgbXVzdCBleGlzdCBhcyBhIGZ1bmN0aW9uIHRha2luZyAxIHBhcmFtZXRlcg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIGlmIChPYmplY3QuaXNFeHRlbnNpYmxlLmxlbmd0aCA9PT0gMSkgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.isExtensible must exist as a function taking 1 parameter","path":"TestCases/ch15/15.2/15.2.3/15.2.3.13/15.2.3.13-0-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQSBuZXdseSBjcmVhdGVkIG9iamVjdCB1c2luZyB0aGUgT2JqZWN0IGNvbnRydWN0b3IgaGFzIGl0cyBbW0V4dGVuc2libGVdXQ0KICogcHJvcGVydHkgc2V0IHRvIHRydWUgYnkgZGVmYXVsdCAoMTUuMi4yLjEsIHN0ZXAgOCkuDQogKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMTMvMTUuMi4zLjEzLTAtMy5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5pc0V4dGVuc2libGUgaXMgdHJ1ZSBmb3Igb2JqZWN0cyBjcmVhdGVkIHVzaW5nIHRoZSBPYmplY3QgY29uc3RydWN0b3INCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgbyA9IG5ldyBPYmplY3QoKTsNCg0KICBpZiAoT2JqZWN0LmlzRXh0ZW5zaWJsZShvKSA9PT0gdHJ1ZSkgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"A newly created object using the Object contructor has its [[Extensible]]\nproperty set to true by default (15.2.2.1, step 8).","description":"Object.isExtensible is true for objects created using the Object constructor","path":"TestCases/ch15/15.2/15.2.3/15.2.3.13/15.2.3.13-0-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMTMvMTUuMi4zLjEzLTEtMS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5pc0V4dGVuc2libGUgdGhyb3dzIFR5cGVFcnJvciBpZiAnTycgaXMgdW5kZWZpbmVkDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmlzRXh0ZW5zaWJsZSh1bmRlZmluZWQpOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.isExtensible throws TypeError if 'O' is undefined","path":"TestCases/ch15/15.2/15.2.3/15.2.3.13/15.2.3.13-1-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMTMvMTUuMi4zLjEzLTEtMi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5pc0V4dGVuc2libGUgdGhyb3dzIFR5cGVFcnJvciBpZiAnTycgaXMgbnVsbA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5pc0V4dGVuc2libGUobnVsbCk7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiAoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcik7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.isExtensible throws TypeError if 'O' is null","path":"TestCases/ch15/15.2/15.2.3/15.2.3.13/15.2.3.13-1-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMTMvMTUuMi4zLjEzLTEtMy5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5pc0V4dGVuc2libGUgdGhyb3dzIFR5cGVFcnJvciBpZiAnTycgaXMgYSBib29sZWFuDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmlzRXh0ZW5zaWJsZSh0cnVlKTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIChlIGluc3RhbmNlb2YgVHlwZUVycm9yKTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.isExtensible throws TypeError if 'O' is a boolean","path":"TestCases/ch15/15.2/15.2.3/15.2.3.13/15.2.3.13-1-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMTMvMTUuMi4zLjEzLTEtNC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5pc0V4dGVuc2libGUgdGhyb3dzIFR5cGVFcnJvciBpZiAnTycgaXMgYSBzdHJpbmcNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuaXNFeHRlbnNpYmxlKCJhYmMiKTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIChlIGluc3RhbmNlb2YgVHlwZUVycm9yKTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.isExtensible throws TypeError if 'O' is a string","path":"TestCases/ch15/15.2/15.2.3/15.2.3.13/15.2.3.13-1-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMTMvMTUuMi4zLjEzLTEuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuaXNFeHRlbnNpYmxlIHRocm93cyBUeXBlRXJyb3IgaWYgdHlwZSBvZiBmaXJzdCBwYXJhbSBpcyBub3QgT2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICB0cnkgew0KICAgICAgT2JqZWN0LmlzRXh0ZW5zaWJsZSgwKTsNCiAgICB9DQogICAgY2F0Y2ggKGUpIHsNCiAgICAgIGlmIChlIGluc3RhbmNlb2YgVHlwZUVycm9yKSB7DQogICAgICAgIHJldHVybiB0cnVlOw0KICAgICAgfQ0KICAgIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.isExtensible throws TypeError if type of first param is not Object","path":"TestCases/ch15/15.2/15.2.3/15.2.3.13/15.2.3.13-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMTMvMTUuMi4zLjEzLTItMS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5pc0V4dGVuc2libGUgcmV0dXJucyB0cnVlIGZvciBhbGwgYnVpbHQtaW4gb2JqZWN0cyAoR2xvYmFsKQ0KICovDQoNCmdsb2JhbCA9IHRoaXM7DQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgLy8gaW4gbm9uLXN0cmljdCBtb2RlLCAndGhpcycgaXMgYm91bmQgdG8gdGhlIGdsb2JhbCBvYmplY3QuDQogIHZhciBlID0gT2JqZWN0LmlzRXh0ZW5zaWJsZSh0aGlzKTsNCiAgaWYgKGUgPT09IHRydWUpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.isExtensible returns true for all built-in objects (Global)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.13/15.2.3.13-2-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMTMvMTUuMi4zLjEzLTItMTAuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuaXNFeHRlbnNpYmxlIHJldHVybnMgdHJ1ZSBmb3IgYWxsIGJ1aWx0LWluIG9iamVjdHMgKFJlZ0V4cCkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgZSA9IE9iamVjdC5pc0V4dGVuc2libGUoUmVnRXhwKTsNCiAgaWYgKGUgPT09IHRydWUpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.isExtensible returns true for all built-in objects (RegExp)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.13/15.2.3.13-2-10.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMTMvMTUuMi4zLjEzLTItMTEuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuaXNFeHRlbnNpYmxlIHJldHVybnMgdHJ1ZSBmb3IgYWxsIGJ1aWx0LWluIG9iamVjdHMgKEVycm9yKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBlID0gT2JqZWN0LmlzRXh0ZW5zaWJsZShFcnJvcik7DQogIGlmIChlID09PSB0cnVlKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.isExtensible returns true for all built-in objects (Error)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.13/15.2.3.13-2-11.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMTMvMTUuMi4zLjEzLTItMTIuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuaXNFeHRlbnNpYmxlIHJldHVybnMgdHJ1ZSBmb3IgYWxsIGJ1aWx0LWluIG9iamVjdHMgKEpTT04pDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIGUgPSBPYmplY3QuaXNFeHRlbnNpYmxlKEpTT04pOw0KICBpZiAoZSA9PT0gdHJ1ZSkgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.isExtensible returns true for all built-in objects (JSON)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.13/15.2.3.13-2-12.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMTMvMTUuMi4zLjEzLTItMTMuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuaXNFeHRlbnNpYmxlIHJldHVybnMgdHJ1ZSBmb3IgYWxsIGJ1aWx0LWluIG9iamVjdHMgKEZ1bmN0aW9uLmNvbnN0cnVjdG9yKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBlID0gT2JqZWN0LmlzRXh0ZW5zaWJsZShGdW5jdGlvbi5jb25zdHJ1Y3Rvcik7DQogIGlmIChlID09PSB0cnVlKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.isExtensible returns true for all built-in objects (Function.constructor)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.13/15.2.3.13-2-13.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMTMvMTUuMi4zLjEzLTItMTQuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuaXNFeHRlbnNpYmxlIHJldHVybnMgdHJ1ZSBmb3IgYWxsIGJ1aWx0LWluIG9iamVjdHMgKEZ1bmN0aW9uLnByb3RvdHlwZSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgZSA9IE9iamVjdC5pc0V4dGVuc2libGUoRnVuY3Rpb24ucHJvdG90eXBlKTsNCiAgaWYgKGUgPT09IHRydWUpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.isExtensible returns true for all built-in objects (Function.prototype)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.13/15.2.3.13-2-14.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMTMvMTUuMi4zLjEzLTItMTUuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuaXNFeHRlbnNpYmxlIHJldHVybnMgdHJ1ZSBmb3IgYWxsIGJ1aWx0LWluIG9iamVjdHMgKEFycmF5LnByb3RvdHlwZSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgZSA9IE9iamVjdC5pc0V4dGVuc2libGUoQXJyYXkucHJvdG90eXBlKTsNCiAgaWYgKGUgPT09IHRydWUpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.isExtensible returns true for all built-in objects (Array.prototype)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.13/15.2.3.13-2-15.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMTMvMTUuMi4zLjEzLTItMTYuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuaXNFeHRlbnNpYmxlIHJldHVybnMgdHJ1ZSBmb3IgYWxsIGJ1aWx0LWluIG9iamVjdHMgKFN0cmluZy5wcm90b3R5cGUpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIGUgPSBPYmplY3QuaXNFeHRlbnNpYmxlKFN0cmluZy5wcm90b3R5cGUpOw0KICBpZiAoZSA9PT0gdHJ1ZSkgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.isExtensible returns true for all built-in objects (String.prototype)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.13/15.2.3.13-2-16.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMTMvMTUuMi4zLjEzLTItMTcuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuaXNFeHRlbnNpYmxlIHJldHVybnMgdHJ1ZSBmb3IgYWxsIGJ1aWx0LWluIG9iamVjdHMgKEJvb2xlYW4ucHJvdG90eXBlKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBlID0gT2JqZWN0LmlzRXh0ZW5zaWJsZShCb29sZWFuLnByb3RvdHlwZSk7DQogIGlmIChlID09PSB0cnVlKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.isExtensible returns true for all built-in objects (Boolean.prototype)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.13/15.2.3.13-2-17.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMTMvMTUuMi4zLjEzLTItMTguanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuaXNFeHRlbnNpYmxlIHJldHVybnMgdHJ1ZSBmb3IgYWxsIGJ1aWx0LWluIG9iamVjdHMgKE51bWJlci5wcm90b3R5cGUpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIGUgPSBPYmplY3QuaXNFeHRlbnNpYmxlKE51bWJlci5wcm90b3R5cGUpOw0KICBpZiAoZSA9PT0gdHJ1ZSkgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.isExtensible returns true for all built-in objects (Number.prototype)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.13/15.2.3.13-2-18.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMTMvMTUuMi4zLjEzLTItMTkuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuaXNFeHRlbnNpYmxlIHJldHVybnMgdHJ1ZSBmb3IgYWxsIGJ1aWx0LWluIG9iamVjdHMgKERhdGUucHJvdG90eXBlKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBlID0gT2JqZWN0LmlzRXh0ZW5zaWJsZShEYXRlLnByb3RvdHlwZSk7DQogIGlmIChlID09PSB0cnVlKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.isExtensible returns true for all built-in objects (Date.prototype)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.13/15.2.3.13-2-19.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMTMvMTUuMi4zLjEzLTItMi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5pc0V4dGVuc2libGUgcmV0dXJucyB0cnVlIGZvciBhbGwgYnVpbHQtaW4gb2JqZWN0cyAoT2JqZWN0KQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBvID0ge307DQogIHZhciBlID0gT2JqZWN0LmlzRXh0ZW5zaWJsZShvKTsNCiAgaWYgKGUgPT09IHRydWUpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.isExtensible returns true for all built-in objects (Object)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.13/15.2.3.13-2-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMTMvMTUuMi4zLjEzLTItMjAuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuaXNFeHRlbnNpYmxlIHJldHVybnMgdHJ1ZSBmb3IgYWxsIGJ1aWx0LWluIG9iamVjdHMgKFJlZ0V4cC5wcm90b3R5cGUpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIGUgPSBPYmplY3QuaXNFeHRlbnNpYmxlKFJlZ0V4cC5wcm90b3R5cGUpOw0KICBpZiAoZSA9PT0gdHJ1ZSkgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.isExtensible returns true for all built-in objects (RegExp.prototype)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.13/15.2.3.13-2-20.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogRnVuY3Rpb24uY29uc3RydWN0b3INCiAqIEZ1bmN0aW9uLnByb3RvdHlwZQ0KICogQXJyYXkucHJvdG90eXBlDQogKiBTdHJpbmcucHJvdG90eXBlDQogKiBCb29sZWFuLnByb3RvdHlwZQ0KICogTnVtYmVyLnByb3RvdHlwZQ0KICogRGF0ZS5wcm90b3R5cGUNCiAqIFJlZ0V4cC5wcm90b3R5cGUNCiAqIEVycm9yLnByb3RvdHlwZQ0KICoNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjEzLzE1LjIuMy4xMy0yLTIxLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmlzRXh0ZW5zaWJsZSByZXR1cm5zIHRydWUgZm9yIGFsbCBidWlsdC1pbiBvYmplY3RzIChFcnJvci5wcm90b3R5cGUpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIGUgPSBPYmplY3QuaXNFeHRlbnNpYmxlKEVycm9yLnByb3RvdHlwZSk7DQogIGlmIChlID09PSB0cnVlKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"Function.constructor\nFunction.prototype\nArray.prototype\nString.prototype\nBoolean.prototype\nNumber.prototype\nDate.prototype\nRegExp.prototype\nError.prototype","description":"Object.isExtensible returns true for all built-in objects (Error.prototype)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.13/15.2.3.13-2-21.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMTMvMTUuMi4zLjEzLTItMjIuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuaXNFeHRlbnNpYmxlIHJldHVybnMgdHJ1ZSBpZiAnTycgaXMgZXh0ZW5zaWJsZQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICByZXR1cm4gT2JqZWN0LmlzRXh0ZW5zaWJsZShvYmopOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.isExtensible returns true if 'O' is extensible","path":"TestCases/ch15/15.2/15.2.3/15.2.3.13/15.2.3.13-2-22.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMTMvMTUuMi4zLjEzLTItMjMuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuaXNFeHRlbnNpYmxlIHJldHVybnMgZmFsc2UgaWYgJ08nIGlzIG5vdCBleHRlbnNpYmxlDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIE9iamVjdC5wcmV2ZW50RXh0ZW5zaW9ucyhvYmopOw0KICAgICAgICByZXR1cm4gIU9iamVjdC5pc0V4dGVuc2libGUob2JqKTsNCg0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.isExtensible returns false if 'O' is not extensible","path":"TestCases/ch15/15.2/15.2.3/15.2.3.13/15.2.3.13-2-23.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMTMvMTUuMi4zLjEzLTItMjQuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuaXNFeHRlbnNpYmxlIHJldHVybnMgdHJ1ZSBpZiBPIGlzIGV4dGVuc2libGUgYW5kIGhhcyBhIHByb3RvdHlwZSB0aGF0IGlzIGV4dGVuc2libGUNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgIA0KICAgICAgICB2YXIgcHJvdG8gPSB7fTsNCg0KICAgICAgICB2YXIgQ29uc3RydWN0RnVuID0gZnVuY3Rpb24gKCkgeyB9Ow0KICAgICAgICBDb25zdHJ1Y3RGdW4ucHJvdG90eXBlID0gcHJvdG87DQoNCiAgICAgICAgdmFyIG9iaiA9IG5ldyBDb25zdHJ1Y3RGdW4oKTsNCg0KICAgICAgICByZXR1cm4gT2JqZWN0LmlzRXh0ZW5zaWJsZShvYmopOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.isExtensible returns true if O is extensible and has a prototype that is extensible","path":"TestCases/ch15/15.2/15.2.3/15.2.3.13/15.2.3.13-2-24.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMTMvMTUuMi4zLjEzLTItMjUuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuaXNFeHRlbnNpYmxlIHJldHVybnMgdHJ1ZSBpZiBPIGlzIGV4dGVuc2libGUgYW5kIGhhcyBhIHByb3RvdHlwZSB0aGF0IGlzIG5vdCBleHRlbnNpYmxlDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgcHJvdG8gPSB7fTsNCiAgICAgICAgT2JqZWN0LnByZXZlbnRFeHRlbnNpb25zKHByb3RvKTsNCiAgICAgIA0KICAgICAgICB2YXIgQ29uc3RydWN0RnVuID0gZnVuY3Rpb24gKCkgeyB9Ow0KICAgICAgICBDb25zdHJ1Y3RGdW4ucHJvdG90eXBlID0gcHJvdG87DQoNCiAgICAgICAgdmFyIG9iaiA9IG5ldyBDb25zdHJ1Y3RGdW4oKTsNCg0KICAgICAgICByZXR1cm4gT2JqZWN0LmlzRXh0ZW5zaWJsZShvYmopOw0KDQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.isExtensible returns true if O is extensible and has a prototype that is not extensible","path":"TestCases/ch15/15.2/15.2.3/15.2.3.13/15.2.3.13-2-25.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMTMvMTUuMi4zLjEzLTItMjYuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuaXNFeHRlbnNpYmxlIHJldHVybnMgZmFsc2UgaWYgTyBpcyBub3QgZXh0ZW5zaWJsZSBhbmQgaGFzIGEgcHJvdG90eXBlIHRoYXQgaXMgZXh0ZW5zaWJsZQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHByb3RvID0ge307DQoNCiAgICAgICAgdmFyIENvbnN0cnVjdEZ1biA9IGZ1bmN0aW9uICgpIHsgfTsNCiAgICAgICAgQ29uc3RydWN0RnVuLnByb3RvdHlwZSA9IHByb3RvOw0KICAgICAgICB2YXIgb2JqID0gbmV3IENvbnN0cnVjdEZ1bigpOw0KDQogICAgICAgIE9iamVjdC5wcmV2ZW50RXh0ZW5zaW9ucyhvYmopOw0KDQogICAgICAgIHJldHVybiAhT2JqZWN0LmlzRXh0ZW5zaWJsZShvYmopOw0KDQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.isExtensible returns false if O is not extensible and has a prototype that is extensible","path":"TestCases/ch15/15.2/15.2.3/15.2.3.13/15.2.3.13-2-26.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMTMvMTUuMi4zLjEzLTItMjcuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuaXNFeHRlbnNpYmxlIHJldHVybnMgZmFsc2UgaWYgTyBpcyBub3QgZXh0ZW5zaWJsZSBhbmQgaGFzIGEgcHJvdG90eXBlIHRoYXQgaXMgbm90IGV4dGVuc2libGUNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBwcm90byA9IHt9Ow0KICAgICAgICBPYmplY3QucHJldmVudEV4dGVuc2lvbnMocHJvdG8pOw0KDQogICAgICAgIHZhciBDb25zdHJ1Y3RGdW4gPSBmdW5jdGlvbiAoKSB7IH07DQogICAgICAgIENvbnN0cnVjdEZ1bi5wcm90b3R5cGUgPSBwcm90bzsNCg0KICAgICAgICB2YXIgb2JqID0gbmV3IENvbnN0cnVjdEZ1bigpOw0KICAgICAgICBPYmplY3QucHJldmVudEV4dGVuc2lvbnMob2JqKTsNCg0KICAgICAgICByZXR1cm4gIU9iamVjdC5pc0V4dGVuc2libGUob2JqKTsNCg0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.isExtensible returns false if O is not extensible and has a prototype that is not extensible","path":"TestCases/ch15/15.2/15.2.3/15.2.3.13/15.2.3.13-2-27.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMTMvMTUuMi4zLjEzLTItMjkuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuaXNFeHRlbnNpYmxlIHJldHVybnMgdHJ1ZSBmb3IgdGhlIGdsb2JhbCBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHJldHVybiBPYmplY3QuaXNFeHRlbnNpYmxlKGZuR2xvYmFsT2JqZWN0KCkpOw0KDQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.isExtensible returns true for the global object","path":"TestCases/ch15/15.2/15.2.3/15.2.3.13/15.2.3.13-2-29.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMTMvMTUuMi4zLjEzLTItMy5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5pc0V4dGVuc2libGUgcmV0dXJucyB0cnVlIGZvciBhbGwgYnVpbHQtaW4gb2JqZWN0cyAoRnVuY3Rpb24pDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgZnVuY3Rpb24gZm9vKCkge30NCiANCiAgdmFyIGUgPSBPYmplY3QuaXNFeHRlbnNpYmxlKGZvbyk7DQogIGlmIChlID09PSB0cnVlKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.isExtensible returns true for all built-in objects (Function)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.13/15.2.3.13-2-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMTMvMTUuMi4zLjEzLTItNC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5pc0V4dGVuc2libGUgcmV0dXJucyB0cnVlIGZvciBhbGwgYnVpbHQtaW4gb2JqZWN0cyAoQXJyYXkpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIGUgPSBPYmplY3QuaXNFeHRlbnNpYmxlKEFycmF5KTsNCiAgaWYgKGUgPT09IHRydWUpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.isExtensible returns true for all built-in objects (Array)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.13/15.2.3.13-2-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMTMvMTUuMi4zLjEzLTItNS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5pc0V4dGVuc2libGUgcmV0dXJucyB0cnVlIGZvciBhbGwgYnVpbHQtaW4gb2JqZWN0cyAoU3RyaW5nKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBlID0gT2JqZWN0LmlzRXh0ZW5zaWJsZShTdHJpbmcpOw0KICBpZiAoZSA9PT0gdHJ1ZSkgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.isExtensible returns true for all built-in objects (String)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.13/15.2.3.13-2-5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMTMvMTUuMi4zLjEzLTItNi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5pc0V4dGVuc2libGUgcmV0dXJucyB0cnVlIGZvciBhbGwgYnVpbHQtaW4gb2JqZWN0cyAoQm9vbGVhbikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgZSA9IE9iamVjdC5pc0V4dGVuc2libGUoQm9vbGVhbik7DQogIGlmIChlID09PSB0cnVlKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.isExtensible returns true for all built-in objects (Boolean)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.13/15.2.3.13-2-6.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMTMvMTUuMi4zLjEzLTItNy5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5pc0V4dGVuc2libGUgcmV0dXJucyB0cnVlIGZvciBhbGwgYnVpbHQtaW4gb2JqZWN0cyAoTnVtYmVyKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBlID0gT2JqZWN0LmlzRXh0ZW5zaWJsZShOdW1iZXIpOw0KICBpZiAoZSA9PT0gdHJ1ZSkgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.isExtensible returns true for all built-in objects (Number)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.13/15.2.3.13-2-7.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMTMvMTUuMi4zLjEzLTItOC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5pc0V4dGVuc2libGUgcmV0dXJucyB0cnVlIGZvciBhbGwgYnVpbHQtaW4gb2JqZWN0cyAoTWF0aCkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgZSA9IE9iamVjdC5pc0V4dGVuc2libGUoTWF0aCk7DQogIGlmIChlID09PSB0cnVlKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.isExtensible returns true for all built-in objects (Math)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.13/15.2.3.13-2-8.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMTMvMTUuMi4zLjEzLTItOS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5pc0V4dGVuc2libGUgcmV0dXJucyB0cnVlIGZvciBhbGwgYnVpbHQtaW4gb2JqZWN0cyAoRGF0ZSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgZSA9IE9iamVjdC5pc0V4dGVuc2libGUoRGF0ZSk7DQogIGlmIChlID09PSB0cnVlKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.isExtensible returns true for all built-in objects (Date)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.13/15.2.3.13-2-9.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMTQvMTUuMi4zLjE0LTAtMS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5rZXlzIG11c3QgZXhpc3QgYXMgYSBmdW5jdGlvbg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBmID0gT2JqZWN0LmtleXM7DQogIGlmICh0eXBlb2YoZikgPT09ICJmdW5jdGlvbiIpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.keys must exist as a function","path":"TestCases/ch15/15.2/15.2.3/15.2.3.14/15.2.3.14-0-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMTQvMTUuMi4zLjE0LTAtMi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5rZXlzIG11c3QgZXhpc3QgYXMgYSBmdW5jdGlvbiB0YWtpbmcgMSBwYXJhbWV0ZXINCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICBpZiAoT2JqZWN0LmtleXMubGVuZ3RoID09PSAxKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.keys must exist as a function taking 1 parameter","path":"TestCases/ch15/15.2/15.2.3/15.2.3.14/15.2.3.14-0-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMTQvMTUuMi4zLjE0LTEtMS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5rZXlzIHRocm93cyBUeXBlRXJyb3IgaWYgdHlwZSBvZiBmaXJzdCBwYXJhbSBpcyBub3QgT2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdHJ5IHsNCiAgICBPYmplY3Qua2V5cygwKTsNCiAgfQ0KICBjYXRjaCAoZSkgew0KICAgIGlmIChlIGluc3RhbmNlb2YgVHlwZUVycm9yKSB7DQogICAgICByZXR1cm4gdHJ1ZTsNCiAgICB9DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.keys throws TypeError if type of first param is not Object","path":"TestCases/ch15/15.2/15.2.3/15.2.3.14/15.2.3.14-1-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMTQvMTUuMi4zLjE0LTEtMi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5rZXlzIHRocm93cyBUeXBlRXJyb3IgaWYgdHlwZSBvZiBmaXJzdCBwYXJhbSBpcyBub3QgT2JqZWN0IChib29sZWFuKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHRyeSB7DQogICAgT2JqZWN0LmtleXModHJ1ZSk7DQogIH0NCiAgY2F0Y2ggKGUpIHsNCiAgICBpZiAoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikgew0KICAgICAgcmV0dXJuIHRydWU7DQogICAgfQ0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.keys throws TypeError if type of first param is not Object (boolean)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.14/15.2.3.14-1-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMTQvMTUuMi4zLjE0LTEtMy5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5rZXlzIHRocm93cyBUeXBlRXJyb3IgaWYgdHlwZSBvZiBmaXJzdCBwYXJhbSBpcyBub3QgT2JqZWN0IChzdHJpbmcpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdHJ5IHsNCiAgICBPYmplY3Qua2V5cygnYWJjJyk7DQogIH0NCiAgY2F0Y2ggKGUpIHsNCiAgICBpZiAoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikgew0KICAgICAgcmV0dXJuIHRydWU7DQogICAgfQ0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.keys throws TypeError if type of first param is not Object (string)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.14/15.2.3.14-1-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMTQvMTUuMi4zLjE0LTEtNC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5rZXlzIHRocm93cyBUeXBlRXJyb3IgaWYgdHlwZSBvZiBmaXJzdCBwYXJhbSBpcyBub3QgT2JqZWN0IChudWxsKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHRyeSB7DQogICAgT2JqZWN0LmtleXMobnVsbCk7DQogIH0NCiAgY2F0Y2ggKGUpIHsNCiAgICBpZiAoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikgew0KICAgICAgcmV0dXJuIHRydWU7DQogICAgfQ0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.keys throws TypeError if type of first param is not Object (null)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.14/15.2.3.14-1-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMTQvMTUuMi4zLjE0LTEtNS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5rZXlzIHRocm93cyBUeXBlRXJyb3IgaWYgdHlwZSBvZiBmaXJzdCBwYXJhbSBpcyBub3QgT2JqZWN0ICh1bmRlZmluZWQpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdHJ5IHsNCiAgICBPYmplY3Qua2V5cyh1bmRlZmluZWQpOw0KICB9DQogIGNhdGNoIChlKSB7DQogICAgaWYgKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpIHsNCiAgICAgIHJldHVybiB0cnVlOw0KICAgIH0NCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.keys throws TypeError if type of first param is not Object (undefined)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.14/15.2.3.14-1-5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMTQvMTUuMi4zLjE0LTItMS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5rZXlzIHJldHVybnMgdGhlIHN0YW5kYXJkIGJ1aWx0LWluIEFycmF5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIG8gPSB7IHg6IDEsIHk6IDJ9Ow0KDQogIHZhciBhID0gT2JqZWN0LmtleXMobyk7DQogIGlmIChBcnJheS5pc0FycmF5KGEpID09PSB0cnVlKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.keys returns the standard built-in Array","path":"TestCases/ch15/15.2/15.2.3/15.2.3.14/15.2.3.14-2-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMTQvMTUuMi4zLjE0LTItMi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5rZXlzIHJldHVybnMgdGhlIHN0YW5kYXJkIGJ1aWx0LWluIEFycmF5IChjaGVjayBbW0NsYXNzXV0NCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgbyA9IHsgeDogMSwgeTogMn07DQoNCiAgdmFyIGEgPSBPYmplY3Qua2V5cyhvKTsNCiAgdmFyIHMgPSBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwoYSk7DQogIGlmIChzID09PSAnW29iamVjdCBBcnJheV0nKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.keys returns the standard built-in Array (check [[Class]]","path":"TestCases/ch15/15.2/15.2.3/15.2.3.14/15.2.3.14-2-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMTQvMTUuMi4zLjE0LTItMy5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5rZXlzIHJldHVybnMgdGhlIHN0YW5kYXJkIGJ1aWx0LWluIEFycmF5IChBcnJheSBvdmVycmlkZGVuKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIGZ1bmN0aW9uIEFycmF5KCkgeyB9DQoNCiAgdmFyIG8gPSB7IHg6IDEsIHk6IDJ9Ow0KDQogIHZhciBhID0gT2JqZWN0LmtleXMobyk7DQoNCiAgdmFyIHMgPSBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwoYSk7DQogIGlmIChzID09PSAnW29iamVjdCBBcnJheV0nKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.keys returns the standard built-in Array (Array overridden)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.14/15.2.3.14-2-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMTQvMTUuMi4zLjE0LTItNC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5rZXlzIHJldHVybnMgdGhlIHN0YW5kYXJkIGJ1aWx0LWluIEFycmF5IHRoYXQgaXMgZXh0ZW5zaWJsZQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBvID0geyB4OiAxLCB5OiAyfTsNCg0KICB2YXIgYSA9IE9iamVjdC5rZXlzKG8pOw0KICBpZiAoT2JqZWN0LmlzRXh0ZW5zaWJsZShhKSA9PT0gdHJ1ZSkgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.keys returns the standard built-in Array that is extensible","path":"TestCases/ch15/15.2/15.2.3/15.2.3.14/15.2.3.14-2-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMTQvMTUuMi4zLjE0LTItNS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5rZXlzIHJldHVybnMgdGhlIHN0YW5kYXJkIGJ1aWx0LWluIEFycmF5IHRoYXQgaXMgbm90IHNlYWxlZA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBvID0geyB4OiAxLCB5OiAyfTsNCg0KICB2YXIgYSA9IE9iamVjdC5rZXlzKG8pOw0KICBpZiAoT2JqZWN0LmlzU2VhbGVkKGEpID09PSBmYWxzZSkgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.keys returns the standard built-in Array that is not sealed","path":"TestCases/ch15/15.2/15.2.3/15.2.3.14/15.2.3.14-2-5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMTQvMTUuMi4zLjE0LTItNi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5rZXlzIHJldHVybnMgdGhlIHN0YW5kYXJkIGJ1aWx0LWluIEFycmF5IHRoYXQgaXMgbm90IGZyb3plbg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBvID0geyB4OiAxLCB5OiAyfTsNCg0KICB2YXIgYSA9IE9iamVjdC5rZXlzKG8pOw0KICBpZiAoT2JqZWN0LmlzRnJvemVuKGEpID09PSBmYWxzZSkgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.keys returns the standard built-in Array that is not frozen","path":"TestCases/ch15/15.2/15.2.3/15.2.3.14/15.2.3.14-2-6.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMTQvMTUuMi4zLjE0LTItNy5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5rZXlzIC0gJ24nIGlzIDAgd2hlbiAnTycgZG9lc24ndCBjb250YWluIG93biBlbnVtZXJhYmxlIGRhdGEgb3IgYWNjZXNzb3IgcHJvcGVydGllcw0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcDEiLCB7DQogICAgICAgICAgICB2YWx1ZTogMTAwMSwNCiAgICAgICAgICAgIGVudW1lcmFibGU6IGZhbHNlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wMiIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiAxMDAyOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGVudW1lcmFibGU6IGZhbHNlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBhcnIgPSBPYmplY3Qua2V5cyhvYmopOw0KDQogICAgICAgIHJldHVybiBhcnIubGVuZ3RoID09PSAwOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.keys - 'n' is 0 when 'O' doesn't contain own enumerable data or accessor properties","path":"TestCases/ch15/15.2/15.2.3/15.2.3.14/15.2.3.14-2-7.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMTQvMTUuMi4zLjE0LTItOC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5rZXlzIC0gJ24nIGlzIHRoZSBjb3JyZWN0IHZhbHVlIHdoZW4gZW51bWVyYWJsZSBwcm9wZXJ0aWVzIGV4aXN0IGluICdPJw0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7DQogICAgICAgICAgICBwcm9wMTogMTAwMSwNCiAgICAgICAgICAgIHByb3AyOiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIDEwMDI7DQogICAgICAgICAgICB9DQogICAgICAgIH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AzIiwgew0KICAgICAgICAgICAgdmFsdWU6IDEwMDMsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcDQiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gMTAwNDsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgYXJyID0gT2JqZWN0LmtleXMob2JqKTsNCg0KICAgICAgICByZXR1cm4gKGFyci5sZW5ndGggPT09IDIpICYmIChhcnJbMF0gPT09ICJwcm9wMSIpICYmIChhcnJbMV0gPT09ICJwcm9wMiIpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.keys - 'n' is the correct value when enumerable properties exist in 'O'","path":"TestCases/ch15/15.2/15.2.3/15.2.3.14/15.2.3.14-2-8.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMTQvMTUuMi4zLjE0LTMtMS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5rZXlzIHJldHVybnMgdGhlIHN0YW5kYXJkIGJ1aWx0LWluIEFycmF5IGNvbnRhaW5pbmcgb3duIGVudW1lcmFibGUgcHJvcGVydGllcw0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBvID0geyB4OiAxLCB5OiAyfTsNCg0KICB2YXIgYSA9IE9iamVjdC5rZXlzKG8pOw0KICBpZiAoYS5sZW5ndGggPT09IDIgJiYNCiAgICAgIGFbMF0gPT09ICd4JyAmJg0KICAgICAgYVsxXSA9PT0gJ3knKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.keys returns the standard built-in Array containing own enumerable properties","path":"TestCases/ch15/15.2/15.2.3/15.2.3.14/15.2.3.14-3-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMTQvMTUuMi4zLjE0LTMtMi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5rZXlzIHJldHVybnMgdGhlIHN0YW5kYXJkIGJ1aWx0LWluIEFycmF5IGNvbnRhaW5pbmcgb3duIGVudW1lcmFibGUgcHJvcGVydGllcyAoZnVuY3Rpb24pDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgZnVuY3Rpb24gZm9vKCkge30NCiAgZm9vLnggPSAxOw0KICANCiAgdmFyIGEgPSBPYmplY3Qua2V5cyhmb28pOw0KICBpZiAoYS5sZW5ndGggPT09IDEgJiYNCiAgICAgIGFbMF0gPT09ICd4Jykgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.keys returns the standard built-in Array containing own enumerable properties (function)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.14/15.2.3.14-3-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMTQvMTUuMi4zLjE0LTMtMy5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5rZXlzIHJldHVybnMgdGhlIHN0YW5kYXJkIGJ1aWx0LWluIEFycmF5IGNvbnRhaW5pbmcgb3duIGVudW1lcmFibGUgcHJvcGVydGllcyAoYXJyYXkpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIG8gPSBbMSwgMl07DQogIHZhciBhID0gT2JqZWN0LmtleXMobyk7DQogIGlmIChhLmxlbmd0aCA9PT0gMiAmJg0KICAgICAgYVswXSA9PT0gJzAnICYmDQogICAgICBhWzFdID09PSAnMScpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.keys returns the standard built-in Array containing own enumerable properties (array)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.14/15.2.3.14-3-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMTQvMTUuMi4zLjE0LTMtNC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5rZXlzIG9mIGFuIGFyZ3VtZW50cyBvYmplY3QgcmV0dXJucyB0aGUgaW5kaWNlcyBvZiB0aGUgZ2l2ZW4gYXJndW1lbnRzDQogKi8NCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICBmdW5jdGlvbiB0ZXN0QXJnczIoeCwgeSwgeikgew0KICAgIC8vIFByb3BlcnRpZXMgb2YgdGhlIGFyZ3VtZW50cyBvYmplY3QgYXJlIGVudW1lcmFibGUuDQogICAgdmFyIGEgPSBPYmplY3Qua2V5cyhhcmd1bWVudHMpOw0KICAgIGlmIChhLmxlbmd0aCA9PT0gMiAmJiBhWzBdID09PSAiMCIgJiYgYVsxXSA9PT0gIjEiKQ0KICAgICAgcmV0dXJuIHRydWU7DQogIH0NCiAgZnVuY3Rpb24gdGVzdEFyZ3MzKHgsIHksIHopIHsNCiAgICAvLyBQcm9wZXJ0aWVzIG9mIHRoZSBhcmd1bWVudHMgb2JqZWN0IGFyZSBlbnVtZXJhYmxlLg0KICAgIHZhciBhID0gT2JqZWN0LmtleXMoYXJndW1lbnRzKTsNCiAgICBpZiAoYS5sZW5ndGggPT09IDMgJiYgYVswXSA9PT0gIjAiICYmIGFbMV0gPT09ICIxIiAmJiBhWzJdID09PSAiMiIpDQogICAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KICBmdW5jdGlvbiB0ZXN0QXJnczQoeCwgeSwgeikgew0KICAgIC8vIFByb3BlcnRpZXMgb2YgdGhlIGFyZ3VtZW50cyBvYmplY3QgYXJlIGVudW1lcmFibGUuDQogICAgdmFyIGEgPSBPYmplY3Qua2V5cyhhcmd1bWVudHMpOw0KICAgIGlmIChhLmxlbmd0aCA9PT0gNCAmJiBhWzBdID09PSAiMCIgJiYgYVsxXSA9PT0gIjEiICYmIGFbMl0gPT09ICIyIiAmJiBhWzNdID09PSAiMyIpDQogICAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KICByZXR1cm4gdGVzdEFyZ3MyKDEsIDIpICYmIHRlc3RBcmdzMygxLCAyLCAzKSAmJiB0ZXN0QXJnczQoMSwgMiwgMywgNCk7DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.keys of an arguments object returns the indices of the given arguments","path":"TestCases/ch15/15.2/15.2.3/15.2.3.14/15.2.3.14-3-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMTQvMTUuMi4zLjE0LTMtNS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5rZXlzIG11c3QgcmV0dXJuIGEgZnJlc2ggYXJyYXkgb24gZWFjaCBpbnZvY2F0aW9uDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIGxpdGVyYWwgPSB7YTogMX07DQogIHZhciBrZXlzQmVmb3JlID0gT2JqZWN0LmtleXMobGl0ZXJhbCk7DQogIGlmIChrZXlzQmVmb3JlWzBdICE9ICdhJykgcmV0dXJuIGZhbHNlOw0KICBrZXlzQmVmb3JlWzBdID0gJ3gnOw0KICB2YXIga2V5c0FmdGVyID0gT2JqZWN0LmtleXMobGl0ZXJhbCk7DQogIHJldHVybiAoa2V5c0JlZm9yZVswXSA9PSAneCcpICYmIChrZXlzQWZ0ZXJbMF0gPT0gJ2EnKTsNCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.keys must return a fresh array on each invocation","path":"TestCases/ch15/15.2/15.2.3/15.2.3.14/15.2.3.14-3-5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMTQvMTUuMi4zLjE0LTMtNi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5rZXlzIC0gcmV0dXJucyB0aGUgc3RhbmRhcmQgYnVpbHQtaW4gQXJyYXkgKGluc3RhbmNlb2YgQXJyYXkpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIHZhciBhcnIgPSBPYmplY3Qua2V5cyhvYmopOw0KDQogICAgICAgIHJldHVybiBhcnIgaW5zdGFuY2VvZiBBcnJheTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.keys - returns the standard built-in Array (instanceof Array)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.14/15.2.3.14-3-6.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMTQvMTUuMi4zLjE0LTMtNy5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5rZXlzIC0gbGVuZ3RoIG9mIHRoZSByZXR1cm5lZCBhcnJheSBlcXVhbHMgdGhlIG51bWJlciBvZiBvd24gZW51bWVyYWJsZSBwcm9wZXJ0aWVzIG9mICdPJw0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7IHByb3AxOiAxMDAxLCBwcm9wMjogMTAwMiB9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wMyIsIHsNCiAgICAgICAgICAgIHZhbHVlOiAxMDAzLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcDQiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gMTAwMzsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgYXJyID0gT2JqZWN0LmtleXMob2JqKTsNCg0KICAgICAgICByZXR1cm4gYXJyLmxlbmd0aCA9PT0gMzsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.keys - length of the returned array equals the number of own enumerable properties of 'O'","path":"TestCases/ch15/15.2/15.2.3/15.2.3.14/15.2.3.14-3-7.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMTQvMTUuMi4zLjE0LTQtMS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5rZXlzIC0gZWxlbWVudHMgb2YgdGhlIHJldHVybmVkIGFycmF5IHN0YXJ0IGZyb20gaW5kZXggMA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7IHByb3AxOiAxMDAxLCBwcm9wMjogMTAwMiB9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wMyIsIHsNCiAgICAgICAgICAgIHZhbHVlOiAxMDAzLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcDQiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gMTAwMzsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBhcnIgPSBPYmplY3Qua2V5cyhvYmopOw0KDQogICAgICAgIHJldHVybiBhcnIuaGFzT3duUHJvcGVydHkoMCkgJiYgYXJyWzBdID09PSAicHJvcDEiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.keys - elements of the returned array start from index 0","path":"TestCases/ch15/15.2/15.2.3/15.2.3.14/15.2.3.14-4-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMTQvMTUuMi4zLjE0LTUtMS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5rZXlzIC0gb3duIGVudW1lcmFibGUgZGF0YSBwcm9wZXJ0eSBvZiAnTycgaXMgZGVmaW5lZCBpbiByZXR1cm5lZCBhcnJheQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7IH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICB2YWx1ZTogMTAwMywNCiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIGFyciA9IE9iamVjdC5rZXlzKG9iaik7DQoNCiAgICAgICAgcmV0dXJuIGFyci5oYXNPd25Qcm9wZXJ0eSgwKSAmJiBhcnJbMF0gPT09ICJwcm9wIjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.keys - own enumerable data property of 'O' is defined in returned array","path":"TestCases/ch15/15.2/15.2.3/15.2.3.14/15.2.3.14-5-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMTQvMTUuMi4zLjE0LTUtMTAuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3Qua2V5cyAtIGluaGVydGVkIGVudW1lcmFibGUgYWNjZXNzb3IgcHJvcGVydHkgdGhhdCBpcyBvdmVyLXJpZGRlbiBieSBub24tZW51bWVyYWJsZSBvd24gYWNjZXNzb3IgcHJvcGVydHkgaXMgbm90IGRlZmluZWQgaW4gcmV0dXJuZWQgYXJyYXkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgcHJvdG8gPSB7fTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHByb3RvLCAicHJvcCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgeyB9LA0KICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCiAgICAgICAgdmFyIENvbiA9IGZ1bmN0aW9uICgpIHsgfTsNCiAgICAgICAgQ29uLnByb3RvdHlwZSA9IHByb3RvOw0KDQogICAgICAgIHZhciBvYmogPSBuZXcgQ29uKCk7DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7IH0sDQogICAgICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgYXJyID0gT2JqZWN0LmtleXMob2JqKTsNCg0KICAgICAgICBmb3IgKHZhciBwIGluIGFycikgew0KICAgICAgICAgICAgaWYgKGFycltwXSA9PT0gInByb3AiKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgcmV0dXJuIHRydWU7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.keys - inherted enumerable accessor property that is over-ridden by non-enumerable own accessor property is not defined in returned array","path":"TestCases/ch15/15.2/15.2.3/15.2.3.14/15.2.3.14-5-10.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMTQvMTUuMi4zLjE0LTUtMTEuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3Qua2V5cyAtIG93biBlbnVtZXJhYmxlIGluZGV4ZWQgZGF0YSBwcm9wZXJ0eSBvZiBkZW5zZSBhcnJheSAnTycgaXMgZGVmaW5lZCBpbiByZXR1cm5lZCBhcnJheQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSBbMSwgMiwgMywgNCwgNV07DQoNCiAgICAgICAgdmFyIGFyciA9IE9iamVjdC5rZXlzKG9iaik7DQoNCiAgICAgICAgdmFyIGluaXRWYWx1ZSA9IDA7DQogICAgICAgIGZvciAodmFyIHAgaW4gYXJyKSB7DQogICAgICAgICAgICBpZiAoYXJyLmhhc093blByb3BlcnR5KHApKSB7DQogICAgICAgICAgICAgICAgaWYgKGFycltwXSAhPT0gaW5pdFZhbHVlLnRvU3RyaW5nKCkpIHsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICBpbml0VmFsdWUrKzsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIHJldHVybiB0cnVlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.keys - own enumerable indexed data property of dense array 'O' is defined in returned array","path":"TestCases/ch15/15.2/15.2.3/15.2.3.14/15.2.3.14-5-11.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMTQvMTUuMi4zLjE0LTUtMTIuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3Qua2V5cyAtIG93biBlbnVtZXJhYmxlIGluZGV4ZWQgYWNjZXNzb3IgcHJvcGVydHkgb2YgZGVuc2UgYXJyYXkgJ08nIGlzIGRlZmluZWQgaW4gcmV0dXJuZWQgYXJyYXkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0gWzIsIDMsIDQsIDVdOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIDY7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgYXJyID0gT2JqZWN0LmtleXMob2JqKTsNCg0KICAgICAgICBmb3IgKHZhciBwIGluIGFycikgew0KICAgICAgICAgICAgaWYgKGFyci5oYXNPd25Qcm9wZXJ0eShwKSkgew0KICAgICAgICAgICAgICAgIGlmIChhcnJbcF0gPT09ICJwcm9wIikgew0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.keys - own enumerable indexed accessor property of dense array 'O' is defined in returned array","path":"TestCases/ch15/15.2/15.2.3/15.2.3.14/15.2.3.14-5-12.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMTQvMTUuMi4zLjE0LTUtMTMuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3Qua2V5cyAtIG93biBlbnVtZXJhYmxlIGluZGV4ZWQgZGF0YSBwcm9wZXJ0eSBvZiBzcGFyc2UgYXJyYXkgJ08nIGlzIGRlZmluZWQgaW4gcmV0dXJuZWQgYXJyYXkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0gWzEsICwgMywgLCA1XTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCA1LCB7DQogICAgICAgICAgICB2YWx1ZTogNywNCiAgICAgICAgICAgIGVudW1lcmFibGU6IGZhbHNlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosIDEwMDAwLCB7DQogICAgICAgICAgICB2YWx1ZTogIkVsZW1lbnRXaXRoTGFyZ2VJbmRleCIsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBhcnIgPSBPYmplY3Qua2V5cyhvYmopOw0KDQogICAgICAgIHZhciBpbmRleDsNCiAgICAgICAgdmFyIGluaXRWYWx1ZSA9IDA7DQogICAgICAgIGZvciAoaW5kZXggPSAwOyBpbmRleCA8IDM7IGluZGV4KyspIHsNCiAgICAgICAgICAgIGlmIChhcnJbaW5kZXhdICE9PSBpbml0VmFsdWUudG9TdHJpbmcoKSkgew0KICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIGluaXRWYWx1ZSArPSAyOw0KICAgICAgICB9DQoNCiAgICAgICAgaWYgKGFyci5sZW5ndGggIT09IDQgfHwgYXJyWzNdICE9PSAiMTAwMDAiKSB7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0NCg0KICAgICAgICByZXR1cm4gdHJ1ZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.keys - own enumerable indexed data property of sparse array 'O' is defined in returned array","path":"TestCases/ch15/15.2/15.2.3/15.2.3.14/15.2.3.14-5-13.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMTQvMTUuMi4zLjE0LTUtMTQuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3Qua2V5cyAtIG93biBlbnVtZXJhYmxlIGluZGV4ZWQgYWNjZXNzb3IgcHJvcGVydHkgb2Ygc3BhcnNlIGFycmF5ICdPJyBpcyBkZWZpbmVkIGluIHJldHVybmVkIGFycmF5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IFsxLCAsIDMsICwgNV07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgIjEwMDAwIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuICJFbGVtZW50V2l0aExhcmdlSW5kZXgiOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIGFyciA9IE9iamVjdC5rZXlzKG9iaik7DQoNCiAgICAgICAgZm9yICh2YXIgcCBpbiBhcnIpIHsNCiAgICAgICAgICAgIGlmIChhcnJbcF0gPT09ICIxMDAwMCIpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIHJldHVybiBmYWxzZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.keys - own enumerable indexed accessor property of sparse array 'O' is defined in returned array","path":"TestCases/ch15/15.2/15.2.3/15.2.3.14/15.2.3.14-5-14.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMTQvMTUuMi4zLjE0LTUtMTUuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3Qua2V5cyAtIG93biBlbnVtZXJhYmxlIGluZGV4ZWQgZGF0YSBwcm9wZXJ0eSBvZiBTdHJpbmcgb2JqZWN0ICdPJyBpcyBkZWZpbmVkIGluIHJldHVybmVkIGFycmF5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IG5ldyBTdHJpbmcoInh5eiIpOw0KICAgICAgICBvYmpbLTIwXSA9IC0yMDsNCiAgICAgICAgb2JqWzIwXSA9IDIwOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgdmFsdWU6IDEwMDMsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgYXJyID0gT2JqZWN0LmtleXMob2JqKTsNCg0KICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IGFyci5sZW5ndGg7IGkrKykgew0KICAgICAgICAgICAgaWYgKCFvYmouaGFzT3duUHJvcGVydHkoYXJyW2ldKSkgew0KICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIHJldHVybiB0cnVlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.keys - own enumerable indexed data property of String object 'O' is defined in returned array","path":"TestCases/ch15/15.2/15.2.3/15.2.3.14/15.2.3.14-5-15.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMTQvMTUuMi4zLjE0LTUtMTYuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3Qua2V5cyAtIG93biBlbnVtZXJhYmxlIGluZGV4ZWQgYWNjZXNzb3IgcHJvcGVydHkgb2YgU3RyaW5nIG9iamVjdCAnTycgaXMgZGVmaW5lZCBpbiByZXR1cm5lZCBhcnJheQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSBuZXcgU3RyaW5nKCJ4eXoiKTsNCiAgICAgICAgb2JqWy0yMF0gPSAtMjA7DQogICAgICAgIG9ialsyMF0gPSAyMDsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcDEiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsgfSwNCiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wMiIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgeyB9LA0KICAgICAgICAgICAgZW51bWVyYWJsZTogZmFsc2UsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIGFyciA9IE9iamVjdC5rZXlzKG9iaik7DQoNCiAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBhcnIubGVuZ3RoOyBpKyspIHsNCiAgICAgICAgICAgIGlmICghb2JqLmhhc093blByb3BlcnR5KGFycltpXSkpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICByZXR1cm4gdHJ1ZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.keys - own enumerable indexed accessor property of String object 'O' is defined in returned array","path":"TestCases/ch15/15.2/15.2.3/15.2.3.14/15.2.3.14-5-16.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMTQvMTUuMi4zLjE0LTUtMi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5rZXlzIC0gb3duIGVudW1lcmFibGUgYWNjZXNzb3IgcHJvcGVydHkgb2YgJ08nIGlzIGRlZmluZWQgaW4gcmV0dXJuZWQgYXJyYXkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0geyB9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIDEwMDM7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgYXJyID0gT2JqZWN0LmtleXMob2JqKTsNCg0KICAgICAgICByZXR1cm4gYXJyLmhhc093blByb3BlcnR5KDApICYmIGFyclswXSA9PT0gInByb3AiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.keys - own enumerable accessor property of 'O' is defined in returned array","path":"TestCases/ch15/15.2/15.2.3/15.2.3.14/15.2.3.14-5-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMTQvMTUuMi4zLjE0LTUtMy5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5rZXlzIC0gbm9uLWVudW1lcmFibGUgb3duIGRhdGEgcHJvcGVydHkgb2YgJ08nIGlzIG5vdCBkZWZpbmVkIGluIHJldHVybmVkIGFycmF5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHsgcHJvcDE6IDEwMDEsIHByb3AyOiAxMDAyIH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AzIiwgew0KICAgICAgICAgICAgdmFsdWU6IDEwMDMsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wNCIsIHsNCiAgICAgICAgICAgIHZhbHVlOiAxMDA0LA0KICAgICAgICAgICAgZW51bWVyYWJsZTogZmFsc2UsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIGFyciA9IE9iamVjdC5rZXlzKG9iaik7DQoNCiAgICAgICAgZm9yICh2YXIgcCBpbiBhcnIpIHsNCiAgICAgICAgICAgIGlmIChhcnIuaGFzT3duUHJvcGVydHkocCkpIHsNCiAgICAgICAgICAgICAgICBpZiAoYXJyW3BdID09PSAicHJvcDQiKSB7DQogICAgICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICByZXR1cm4gdHJ1ZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.keys - non-enumerable own data property of 'O' is not defined in returned array","path":"TestCases/ch15/15.2/15.2.3/15.2.3.14/15.2.3.14-5-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMTQvMTUuMi4zLjE0LTUtNC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5rZXlzIC0gbm9uLWVudW1lcmFibGUgb3duIGFjY2Vzc29yIHByb3BlcnR5IG9mICdPJyBpcyBub3QgZGVmaW5lZCBpbiByZXR1cm5lZCBhcnJheQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcDEiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsgfSwNCiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wMiIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgeyB9LA0KICAgICAgICAgICAgZW51bWVyYWJsZTogZmFsc2UsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wMyIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgeyB9LA0KICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgYXJyID0gT2JqZWN0LmtleXMob2JqKTsNCg0KICAgICAgICBmb3IgKHZhciBwIGluIGFycikgew0KICAgICAgICAgICAgaWYgKGFyci5oYXNPd25Qcm9wZXJ0eShwKSkgew0KICAgICAgICAgICAgICAgIGlmIChhcnJbcF0gPT09ICJwcm9wMiIpIHsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIHJldHVybiB0cnVlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.keys - non-enumerable own accessor property of 'O' is not defined in returned array","path":"TestCases/ch15/15.2/15.2.3/15.2.3.14/15.2.3.14-5-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMTQvMTUuMi4zLjE0LTUtNS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5rZXlzIC0gaW5oZXJpdGVkIGVudW1lcmFibGUgZGF0YSBwcm9wZXJ0eSBvZiAnTycgaXMgbm90IGRlZmluZWQgaW4gcmV0dXJuZWQgYXJyYXkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgcHJvdG8gPSB7fTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHByb3RvLCAiaW5oZXJpdGVkUHJvcCIsIHsNCiAgICAgICAgICAgIHZhbHVlOiAxMDAzLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCiAgICAgICAgdmFyIENvbiA9IGZ1bmN0aW9uICgpIHsgfTsNCiAgICAgICAgQ29uLnByb3RvdHlwZSA9IHByb3RvOw0KDQogICAgICAgIHZhciBvYmogPSBuZXcgQ29uKCk7DQogICAgICAgIG9iai5wcm9wID0gMTAwNDsNCg0KICAgICAgICB2YXIgYXJyID0gT2JqZWN0LmtleXMob2JqKTsNCg0KICAgICAgICBmb3IgKHZhciBwIGluIGFycikgew0KICAgICAgICAgICAgaWYgKGFycltwXSA9PT0gImluaGVyaXRlZFByb3AiKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgcmV0dXJuIHRydWU7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.keys - inherited enumerable data property of 'O' is not defined in returned array","path":"TestCases/ch15/15.2/15.2.3/15.2.3.14/15.2.3.14-5-5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMTQvMTUuMi4zLjE0LTUtNi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5rZXlzIC0gaW5oZXJpdGVkIGVudW1lcmFibGUgYWNjZXNzb3IgcHJvcGVydHkgb2YgJ08nIGlzIG5vdCBkZWZpbmVkIGluIHJldHVybmVkIGFycmF5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIHByb3RvID0ge307DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShwcm90bywgImluaGVyaXRlZFByb3AiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gMTAwMzsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KICAgICAgICB2YXIgQ29uID0gZnVuY3Rpb24gKCkgeyB9Ow0KICAgICAgICBDb24ucHJvdG90eXBlID0gcHJvdG87DQoNCiAgICAgICAgdmFyIG9iaiA9IG5ldyBDb24oKTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gMTAwNDsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBhcnIgPSBPYmplY3Qua2V5cyhvYmopOw0KDQogICAgICAgIGZvciAodmFyIHAgaW4gYXJyKSB7DQogICAgICAgICAgICBpZiAoYXJyW3BdID09PSAiaW5oZXJpdGVkUHJvcCIpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICByZXR1cm4gdHJ1ZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.keys - inherited enumerable accessor property of 'O' is not defined in returned array","path":"TestCases/ch15/15.2/15.2.3/15.2.3.14/15.2.3.14-5-6.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMTQvMTUuMi4zLjE0LTUtNy5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5rZXlzIC0gaW5oZXJ0ZWQgZW51bWVyYWJsZSBkYXRhIHByb3BlcnR5IHRoYXQgaXMgb3Zlci1yaWRkZW4gYnkgbm9uLWVudW1lcmFibGUgb3duIGRhdGEgcHJvcGVydHkgaXMgbm90IGRlZmluZWQgaW4gcmV0dXJuZWQgYXJyYXkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgcHJvdG8gPSB7fTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHByb3RvLCAicHJvcCIsIHsNCiAgICAgICAgICAgIHZhbHVlOiAxMDAzLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCiAgICAgICAgdmFyIENvbiA9IGZ1bmN0aW9uICgpIHsgfTsNCiAgICAgICAgQ29uLnByb3RvdHlwZSA9IHByb3RvOw0KDQogICAgICAgIHZhciBvYmogPSBuZXcgQ29uKCk7DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgdmFsdWU6IDEwMDQsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgYXJyID0gT2JqZWN0LmtleXMob2JqKTsNCg0KICAgICAgICBmb3IgKHZhciBwIGluIGFycikgew0KICAgICAgICAgICAgaWYgKGFycltwXSA9PT0gInByb3AiKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgcmV0dXJuIHRydWU7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.keys - inherted enumerable data property that is over-ridden by non-enumerable own data property is not defined in returned array","path":"TestCases/ch15/15.2/15.2.3/15.2.3.14/15.2.3.14-5-7.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMTQvMTUuMi4zLjE0LTUtOC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5rZXlzIC0gaW5oZXJ0ZWQgZW51bWVyYWJsZSBkYXRhIHByb3BlcnR5IHRoYXQgaXMgb3Zlci1yaWRkZW4gYnkgbm9uLWVudW1lcmFibGUgb3duIGFjY2Vzc29yIHByb3BlcnR5IGlzIG5vdCBkZWZpbmVkIGluIHJldHVybmVkIGFycmF5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIHByb3RvID0ge307DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShwcm90bywgInByb3AiLCB7DQogICAgICAgICAgICB2YWx1ZTogMTAwMywNCiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQogICAgICAgIHZhciBDb24gPSBmdW5jdGlvbiAoKSB7IH07DQogICAgICAgIENvbi5wcm90b3R5cGUgPSBwcm90bzsNCg0KICAgICAgICB2YXIgb2JqID0gbmV3IENvbigpOw0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgeyB9LA0KICAgICAgICAgICAgZW51bWVyYWJsZTogZmFsc2UsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIGFyciA9IE9iamVjdC5rZXlzKG9iaik7DQoNCiAgICAgICAgZm9yICh2YXIgcCBpbiBhcnIpIHsNCiAgICAgICAgICAgIGlmIChhcnJbcF0gPT09ICJwcm9wIikgew0KICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIHJldHVybiB0cnVlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.keys - inherted enumerable data property that is over-ridden by non-enumerable own accessor property is not defined in returned array","path":"TestCases/ch15/15.2/15.2.3/15.2.3.14/15.2.3.14-5-8.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMTQvMTUuMi4zLjE0LTUtOS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5rZXlzIC0gaW5oZXJ0ZWQgZW51bWVyYWJsZSBhY2Nlc3NvciBwcm9wZXJ0eSB0aGF0IGlzIG92ZXItcmlkZGVuIGJ5IG5vbi1lbnVtZXJhYmxlIG93biBkYXRhIHByb3BlcnR5IGlzIG5vdCBkZWZpbmVkIGluIHJldHVybmVkIGFycmF5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIHByb3RvID0ge307DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShwcm90bywgInByb3AiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsgfSwNCiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQogICAgICAgIHZhciBDb24gPSBmdW5jdGlvbiAoKSB7IH07DQogICAgICAgIENvbi5wcm90b3R5cGUgPSBwcm90bzsNCg0KICAgICAgICB2YXIgb2JqID0gbmV3IENvbigpOw0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgIHZhbHVlOiAxMDAzLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogZmFsc2UsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIGFyciA9IE9iamVjdC5rZXlzKG9iaik7DQoNCiAgICAgICAgZm9yICh2YXIgcCBpbiBhcnIpIHsNCiAgICAgICAgICAgIGlmIChhcnJbcF0gPT09ICJwcm9wIikgew0KICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIHJldHVybiB0cnVlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.keys - inherted enumerable accessor property that is over-ridden by non-enumerable own data property is not defined in returned array","path":"TestCases/ch15/15.2/15.2.3/15.2.3.14/15.2.3.14-5-9.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMTQvMTUuMi4zLjE0LTUtYS0xLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmtleXMgLSAndmFsdWUnIGF0dHJpYnV0ZSBvZiBlbGVtZW50IGluIHJldHVybmVkIGFycmF5IGlzIGNvcnJlY3QuDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHsgcHJvcDE6IDEgfTsNCg0KICAgICAgICB2YXIgYXJyYXkgPSBPYmplY3Qua2V5cyhvYmopOw0KDQogICAgICAgIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihhcnJheSwgIjAiKTsNCg0KICAgICAgICByZXR1cm4gZGVzYy5oYXNPd25Qcm9wZXJ0eSgidmFsdWUiKSAmJiBkZXNjLnZhbHVlID09PSAicHJvcDEiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.keys - 'value' attribute of element in returned array is correct.","path":"TestCases/ch15/15.2/15.2.3/15.2.3.14/15.2.3.14-5-a-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMTQvMTUuMi4zLjE0LTUtYS0yLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmtleXMgLSAnd3JpdGFibGUnIGF0dHJpYnV0ZSBvZiBlbGVtZW50IG9mIHJldHVybmVkIGFycmF5IGlzIGNvcnJlY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0geyBwcm9wMTogMTAwIH07DQoNCiAgICAgICAgdmFyIGFycmF5ID0gT2JqZWN0LmtleXMob2JqKTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgYXJyYXlbMF0gPSAiaXNXcml0YWJsZSI7DQoNCiAgICAgICAgICAgIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihhcnJheSwgIjAiKTsNCg0KICAgICAgICAgICAgcmV0dXJuIGFycmF5WzBdID09PSAiaXNXcml0YWJsZSIgJiYgZGVzYy5oYXNPd25Qcm9wZXJ0eSgid3JpdGFibGUiKSAmJiBkZXNjLndyaXRhYmxlID09PSB0cnVlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.keys - 'writable' attribute of element of returned array is correct","path":"TestCases/ch15/15.2/15.2.3/15.2.3.14/15.2.3.14-5-a-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMTQvMTUuMi4zLjE0LTUtYS0zLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmtleXMgLSAnZW51bWVyYWJsZScgYXR0cmlidXRlIG9mIGVsZW1lbnQgb2YgcmV0dXJuZWQgYXJyYXkgaXMgY29ycmVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7IHByb3AxOiAxMDAgfTsNCg0KICAgICAgICB2YXIgYXJyYXkgPSBPYmplY3Qua2V5cyhvYmopOw0KICAgICAgICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoYXJyYXksICIwIik7DQogICAgICAgIHZhciByZXN1bHQgPSBmYWxzZTsNCiAgICAgICAgZm9yICh2YXIgaW5kZXggaW4gYXJyYXkpIHsNCiAgICAgICAgICAgIGlmIChvYmouaGFzT3duUHJvcGVydHkoYXJyYXlbaW5kZXhdKSAmJiBhcnJheVtpbmRleF0gPT09ICJwcm9wMSIpIHsNCiAgICAgICAgICAgICAgICByZXN1bHQgPSB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgcmV0dXJuIHJlc3VsdCAmJiBkZXNjLmhhc093blByb3BlcnR5KCJlbnVtZXJhYmxlIikgJiYgZGVzYy5lbnVtZXJhYmxlID09PSB0cnVlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.keys - 'enumerable' attribute of element of returned array is correct","path":"TestCases/ch15/15.2/15.2.3/15.2.3.14/15.2.3.14-5-a-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMTQvMTUuMi4zLjE0LTUtYS00LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmtleXMgLSBWZXJpZnkgdGhhdCAnY29uZmlndXJhYmxlJyBhdHRyaWJ1dGUgb2YgZWxlbWVudCBvZiByZXR1cm5lZCBhcnJheSBpcyBjb3JyZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHsgcHJvcDE6IDEwMCB9Ow0KDQogICAgICAgIHZhciBhcnJheSA9IE9iamVjdC5rZXlzKG9iaik7DQogICAgICAgIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihhcnJheSwgIjAiKTsNCg0KICAgICAgICBkZWxldGUgYXJyYXlbMF07DQoNCiAgICAgICAgcmV0dXJuIHR5cGVvZiBhcnJheVswXSA9PT0gInVuZGVmaW5lZCIgJiYgZGVzYy5oYXNPd25Qcm9wZXJ0eSgiY29uZmlndXJhYmxlIikgJiYgZGVzYy5jb25maWd1cmFibGUgPT09IHRydWU7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.keys - Verify that 'configurable' attribute of element of returned array is correct","path":"TestCases/ch15/15.2/15.2.3/15.2.3.14/15.2.3.14-5-a-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMTQvMTUuMi4zLjE0LTUtYi0xLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmtleXMgLSBWZXJpZnkgdGhhdCAnaW5kZXgnIG9mIHJldHVybmVkIGFycmF5IGlzIGFzY2VuZCBieSAxDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHsgcHJvcDE6IDEwMCwgcHJvcDI6IDIwMCwgcHJvcDM6IDMwMCB9Ow0KDQogICAgICAgIHZhciBhcnJheSA9IE9iamVjdC5rZXlzKG9iaik7DQoNCiAgICAgICAgdmFyIGlkeCA9IDA7DQogICAgICAgIGZvciAodmFyIGluZGV4IGluIGFycmF5KSB7DQogICAgICAgICAgICBpZiAoYXJyYXkuaGFzT3duUHJvcGVydHkoaW5kZXgpKSB7DQogICAgICAgICAgICAgICAgaWYgKGluZGV4ICE9PSBpZHgudG9TdHJpbmcoKSkgew0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgIGlkeCsrOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgcmV0dXJuIHRydWU7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.keys - Verify that 'index' of returned array is ascend by 1","path":"TestCases/ch15/15.2/15.2.3/15.2.3.14/15.2.3.14-5-b-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMTQvMTUuMi4zLjE0LTYtMS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5rZXlzIC0gdGhlIG9yZGVyIG9mIGVsZW1lbnRzIGluIHJldHVybmVkIGFycmF5IGlzIHRoZSBzYW1lIHdpdGggdGhlIG9yZGVyIG9mIHByb3BlcnRpZXMgaW4gJ08nIChkZW5zZSBhcnJheSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgZGVuc2VBcnJheSA9IFsxLCAyLCAzXTsNCg0KICAgICAgICB2YXIgdGVtcEFycmF5ID0gW107DQogICAgICAgIGZvciAodmFyIHAgaW4gZGVuc2VBcnJheSkgew0KICAgICAgICAgICAgaWYgKGRlbnNlQXJyYXkuaGFzT3duUHJvcGVydHkocCkpIHsNCiAgICAgICAgICAgICAgICB0ZW1wQXJyYXkucHVzaChwKTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIHZhciByZXR1cm5lZEFycmF5ID0gT2JqZWN0LmtleXMoZGVuc2VBcnJheSk7DQoNCiAgICAgICAgZm9yICh2YXIgaW5kZXggaW4gcmV0dXJuZWRBcnJheSkgew0KICAgICAgICAgICAgaWYgKHRlbXBBcnJheVtpbmRleF0gIT09IHJldHVybmVkQXJyYXlbaW5kZXhdKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQogICAgICAgIHJldHVybiB0cnVlOw0KDQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.keys - the order of elements in returned array is the same with the order of properties in 'O' (dense array)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.14/15.2.3.14-6-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMTQvMTUuMi4zLjE0LTYtMi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5rZXlzIC0gdGhlIG9yZGVyIG9mIGVsZW1lbnRzIGluIHJldHVybmVkIGFycmF5IGlzIHRoZSBzYW1lIHdpdGggdGhlIG9yZGVyIG9mIHByb3BlcnRpZXMgaW4gJ08nIChzcGFyc2UgYXJyYXkpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIHNwYXJzZUFycmF5ID0gWzEsIDIsICwgNCwgLCA2XTsNCg0KICAgICAgICB2YXIgdGVtcEFycmF5ID0gW107DQogICAgICAgIGZvciAodmFyIHAgaW4gc3BhcnNlQXJyYXkpIHsNCiAgICAgICAgICAgIGlmIChzcGFyc2VBcnJheS5oYXNPd25Qcm9wZXJ0eShwKSkgew0KICAgICAgICAgICAgICAgIHRlbXBBcnJheS5wdXNoKHApOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIHJldHVybmVkQXJyYXkgPSBPYmplY3Qua2V5cyhzcGFyc2VBcnJheSk7DQoNCiAgICAgICAgZm9yICh2YXIgaW5kZXggaW4gcmV0dXJuZWRBcnJheSkgew0KICAgICAgICAgICAgaWYgKHRlbXBBcnJheVtpbmRleF0gIT09IHJldHVybmVkQXJyYXlbaW5kZXhdKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQogICAgICAgIHJldHVybiB0cnVlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.keys - the order of elements in returned array is the same with the order of properties in 'O' (sparse array)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.14/15.2.3.14-6-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMTQvMTUuMi4zLjE0LTYtMy5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5rZXlzIC0gdGhlIG9yZGVyIG9mIGVsZW1lbnRzIGluIHJldHVybmVkIGFycmF5IGlzIHRoZSBzYW1lIHdpdGggdGhlIG9yZGVyIG9mIHByb3BlcnRpZXMgaW4gJ08nIChTdHJpbmcgb2JqZWN0KQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBzdHIgPSBuZXcgU3RyaW5nKCJhYmMiKTsNCg0KICAgICAgICB2YXIgdGVtcEFycmF5ID0gW107DQogICAgICAgIGZvciAodmFyIHAgaW4gc3RyKSB7DQogICAgICAgICAgICBpZiAoc3RyLmhhc093blByb3BlcnR5KHApKSB7DQogICAgICAgICAgICAgICAgdGVtcEFycmF5LnB1c2gocCk7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgcmV0dXJuZWRBcnJheSA9IE9iamVjdC5rZXlzKHN0cik7DQoNCiAgICAgICAgZm9yICh2YXIgaW5kZXggaW4gcmV0dXJuZWRBcnJheSkgew0KICAgICAgICAgICAgaWYgKHRlbXBBcnJheVtpbmRleF0gIT09IHJldHVybmVkQXJyYXlbaW5kZXhdKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQogICAgICAgIHJldHVybiB0cnVlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.keys - the order of elements in returned array is the same with the order of properties in 'O' (String object)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.14/15.2.3.14-6-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMTQvMTUuMi4zLjE0LTYtNC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5rZXlzIC0gdGhlIG9yZGVyIG9mIGVsZW1lbnRzIGluIHJldHVybmVkIGFycmF5IGlzIHRoZSBzYW1lIHdpdGggdGhlIG9yZGVyIG9mIHByb3BlcnRpZXMgaW4gJ08nIChBcmd1bWVudHMgb2JqZWN0KQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBmdW5jID0gZnVuY3Rpb24gKGEsIGIsIGMpIHsNCiAgICAgICAgICAgIHJldHVybiBhcmd1bWVudHM7DQogICAgICAgIH07DQoNCiAgICAgICAgdmFyIGFyZ3MgPSBmdW5jKDEsICJiIiwgZmFsc2UpOw0KDQogICAgICAgIHZhciB0ZW1wQXJyYXkgPSBbXTsNCiAgICAgICAgZm9yICh2YXIgcCBpbiBhcmdzKSB7DQogICAgICAgICAgICBpZiAoYXJncy5oYXNPd25Qcm9wZXJ0eShwKSkgew0KICAgICAgICAgICAgICAgIHRlbXBBcnJheS5wdXNoKHApOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIHJldHVybmVkQXJyYXkgPSBPYmplY3Qua2V5cyhhcmdzKTsNCg0KICAgICAgICBmb3IgKHZhciBpbmRleCBpbiByZXR1cm5lZEFycmF5KSB7DQogICAgICAgICAgICBpZiAodGVtcEFycmF5W2luZGV4XSAhPT0gcmV0dXJuZWRBcnJheVtpbmRleF0pIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCiAgICAgICAgcmV0dXJuIHRydWU7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.keys - the order of elements in returned array is the same with the order of properties in 'O' (Arguments object)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.14/15.2.3.14-6-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMTQvMTUuMi4zLjE0LTYtNS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5rZXlzIC0gdGhlIG9yZGVyIG9mIGVsZW1lbnRzIGluIHJldHVybmVkIGFycmF5IGlzIHRoZSBzYW1lIHdpdGggdGhlIG9yZGVyIG9mIHByb3BlcnRpZXMgaW4gJ08nIChhbnkgb3RoZXIgYnVpbHQtaW4gb2JqZWN0KQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSBuZXcgRGF0ZSgpOw0KICAgICAgICBvYmoucHJvcDEgPSAxMDA7DQogICAgICAgIG9iai5wcm9wMiA9ICJwcm9wMiI7DQoNCiAgICAgICAgdmFyIHRlbXBBcnJheSA9IFtdOw0KICAgICAgICBmb3IgKHZhciBwIGluIG9iaikgew0KICAgICAgICAgICAgaWYgKG9iai5oYXNPd25Qcm9wZXJ0eShwKSkgew0KICAgICAgICAgICAgICAgIHRlbXBBcnJheS5wdXNoKHApOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIHJldHVybmVkQXJyYXkgPSBPYmplY3Qua2V5cyhvYmopOw0KDQogICAgICAgIGZvciAodmFyIGluZGV4IGluIHJldHVybmVkQXJyYXkpIHsNCiAgICAgICAgICAgIGlmICh0ZW1wQXJyYXlbaW5kZXhdICE9PSByZXR1cm5lZEFycmF5W2luZGV4XSkgew0KICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KICAgICAgICByZXR1cm4gdHJ1ZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.keys - the order of elements in returned array is the same with the order of properties in 'O' (any other built-in object)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.14/15.2.3.14-6-5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMTQvMTUuMi4zLjE0LTYtNi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5rZXlzIC0gdGhlIG9yZGVyIG9mIGVsZW1lbnRzIGluIHJldHVybmVkIGFycmF5IGlzIHRoZSBzYW1lIHdpdGggdGhlIG9yZGVyIG9mIHByb3BlcnRpZXMgaW4gJ08nIChnbG9iYWwgT2JqZWN0KQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSBmbkdsb2JhbE9iamVjdCgpOw0KDQogICAgICAgIHZhciB0ZW1wQXJyYXkgPSBbXTsNCiAgICAgICAgZm9yICh2YXIgcCBpbiBvYmopIHsNCiAgICAgICAgICAgIGlmIChvYmouaGFzT3duUHJvcGVydHkocCkpIHsNCiAgICAgICAgICAgICAgICB0ZW1wQXJyYXkucHVzaChwKTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIHZhciByZXR1cm5lZEFycmF5ID0gT2JqZWN0LmtleXMob2JqKTsNCg0KICAgICAgICBmb3IgKHZhciBpbmRleCBpbiByZXR1cm5lZEFycmF5KSB7DQogICAgICAgICAgICBpZiAodGVtcEFycmF5W2luZGV4XSAhPT0gcmV0dXJuZWRBcnJheVtpbmRleF0pIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCiAgICAgICAgcmV0dXJuIHRydWU7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.keys - the order of elements in returned array is the same with the order of properties in 'O' (global Object)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.14/15.2.3.14-6-6.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMi8xNS4yLjMuMi0wLTEuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0UHJvdG90eXBlT2YgbXVzdCBleGlzdCBhcyBhIGZ1bmN0aW9uDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgaWYgKHR5cGVvZihPYmplY3QuZ2V0UHJvdG90eXBlT2YpID09PSAiZnVuY3Rpb24iKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.getPrototypeOf must exist as a function","path":"TestCases/ch15/15.2/15.2.3/15.2.3.2/15.2.3.2-0-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMi8xNS4yLjMuMi0wLTIuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0UHJvdG90eXBlT2YgbXVzdCBleGlzdCBhcyBhIGZ1bmN0aW9uIHRha2luZyAxIHBhcmFtZXRlcg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIGlmIChPYmplY3QuZ2V0UHJvdG90eXBlT2YubGVuZ3RoID09PSAxKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.getPrototypeOf must exist as a function taking 1 parameter","path":"TestCases/ch15/15.2/15.2.3/15.2.3.2/15.2.3.2-0-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMi8xNS4yLjMuMi0wLTMuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0UHJvdG90eXBlT2YgbXVzdCB0YWtlIDEgcGFyYW1ldGVyDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdHJ5DQogIHsNCiAgICBPYmplY3QuZ2V0UHJvdG90eXBlT2YoKTsNCiAgfQ0KICBjYXRjaChlKQ0KICB7DQogICAgaWYoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikNCiAgICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.getPrototypeOf must take 1 parameter","path":"TestCases/ch15/15.2/15.2.3/15.2.3.2/15.2.3.2-0-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMi8xNS4yLjMuMi0xLTIuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0UHJvdG90eXBlT2YgdGhyb3dzIFR5cGVFcnJvciBpZiAnTycgaXMgbnVsbA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZ2V0UHJvdG90eXBlT2YobnVsbCk7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiAoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcik7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.getPrototypeOf throws TypeError if 'O' is null","path":"TestCases/ch15/15.2/15.2.3/15.2.3.2/15.2.3.2-1-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMi8xNS4yLjMuMi0xLTMuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0UHJvdG90eXBlT2YgdGhyb3dzIFR5cGVFcnJvciBpZiAnTycgaXMgYSBib29sZWFuDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5nZXRQcm90b3R5cGVPZih0cnVlKTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIChlIGluc3RhbmNlb2YgVHlwZUVycm9yKTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.getPrototypeOf throws TypeError if 'O' is a boolean","path":"TestCases/ch15/15.2/15.2.3/15.2.3.2/15.2.3.2-1-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMi8xNS4yLjMuMi0xLTQuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0UHJvdG90eXBlT2YgdGhyb3dzIFR5cGVFcnJvciBpZiAnTycgaXMgYSBzdHJpbmcNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmdldFByb3RvdHlwZU9mKCJhYmMiKTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIChlIGluc3RhbmNlb2YgVHlwZUVycm9yKTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.getPrototypeOf throws TypeError if 'O' is a string","path":"TestCases/ch15/15.2/15.2.3/15.2.3.2/15.2.3.2-1-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMi8xNS4yLjMuMi0xLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmdldFByb3RvdHlwZU9mIHRocm93cyBUeXBlRXJyb3IgaWYgdHlwZSBvZiBmaXJzdCBwYXJhbSBpcyBub3QgT2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdHJ5IHsNCiAgICBPYmplY3QuZ2V0UHJvdG90eXBlT2YoMCk7DQogIH0NCiAgY2F0Y2ggKGUpIHsNCiAgICBpZiAoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikgew0KICAgICAgcmV0dXJuIHRydWU7DQogICAgfQ0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.getPrototypeOf throws TypeError if type of first param is not Object","path":"TestCases/ch15/15.2/15.2.3/15.2.3.2/15.2.3.2-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMi8xNS4yLjMuMi0yLTEuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0UHJvdG90eXBlT2YgcmV0dXJucyB0aGUgW1tQcm90b3R5cGVdXSBvZiBpdHMgcGFyYW1ldGVyIChCb29sZWFuKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIGlmIChPYmplY3QuZ2V0UHJvdG90eXBlT2YoQm9vbGVhbikgPT09IEZ1bmN0aW9uLnByb3RvdHlwZSkgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.getPrototypeOf returns the [[Prototype]] of its parameter (Boolean)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.2/15.2.3.2-2-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMi8xNS4yLjMuMi0yLTEwLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmdldFByb3RvdHlwZU9mIHJldHVybnMgdGhlIFtbUHJvdG90eXBlXV0gb2YgaXRzIHBhcmFtZXRlciAoUmVnRXhwKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIGlmIChPYmplY3QuZ2V0UHJvdG90eXBlT2YoUmVnRXhwKSA9PT0gRnVuY3Rpb24ucHJvdG90eXBlKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.getPrototypeOf returns the [[Prototype]] of its parameter (RegExp)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.2/15.2.3.2-2-10.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMi8xNS4yLjMuMi0yLTExLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmdldFByb3RvdHlwZU9mIHJldHVybnMgdGhlIFtbUHJvdG90eXBlXV0gb2YgaXRzIHBhcmFtZXRlciAoRXJyb3IpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgaWYgKE9iamVjdC5nZXRQcm90b3R5cGVPZihFcnJvcikgPT09IEZ1bmN0aW9uLnByb3RvdHlwZSkgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.getPrototypeOf returns the [[Prototype]] of its parameter (Error)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.2/15.2.3.2-2-11.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMi8xNS4yLjMuMi0yLTEyLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmdldFByb3RvdHlwZU9mIHJldHVybnMgdGhlIFtbUHJvdG90eXBlXV0gb2YgaXRzIHBhcmFtZXRlciAoRXZhbEVycm9yKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIGlmIChPYmplY3QuZ2V0UHJvdG90eXBlT2YoRXZhbEVycm9yKSA9PT0gRnVuY3Rpb24ucHJvdG90eXBlKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.getPrototypeOf returns the [[Prototype]] of its parameter (EvalError)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.2/15.2.3.2-2-12.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMi8xNS4yLjMuMi0yLTEzLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmdldFByb3RvdHlwZU9mIHJldHVybnMgdGhlIFtbUHJvdG90eXBlXV0gb2YgaXRzIHBhcmFtZXRlciAoUmFuZ2VFcnJvcikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICBpZiAoT2JqZWN0LmdldFByb3RvdHlwZU9mKFJhbmdlRXJyb3IpID09PSBGdW5jdGlvbi5wcm90b3R5cGUpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.getPrototypeOf returns the [[Prototype]] of its parameter (RangeError)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.2/15.2.3.2-2-13.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMi8xNS4yLjMuMi0yLTE0LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmdldFByb3RvdHlwZU9mIHJldHVybnMgdGhlIFtbUHJvdG90eXBlXV0gb2YgaXRzIHBhcmFtZXRlciAoUmVmZXJlbmNlRXJyb3IpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgaWYgKE9iamVjdC5nZXRQcm90b3R5cGVPZihSZWZlcmVuY2VFcnJvcikgPT09IEZ1bmN0aW9uLnByb3RvdHlwZSkgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.getPrototypeOf returns the [[Prototype]] of its parameter (ReferenceError)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.2/15.2.3.2-2-14.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMi8xNS4yLjMuMi0yLTE1LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmdldFByb3RvdHlwZU9mIHJldHVybnMgdGhlIFtbUHJvdG90eXBlXV0gb2YgaXRzIHBhcmFtZXRlciAoU3ludGF4RXJyb3IpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgaWYgKE9iamVjdC5nZXRQcm90b3R5cGVPZihTeW50YXhFcnJvcikgPT09IEZ1bmN0aW9uLnByb3RvdHlwZSkgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.getPrototypeOf returns the [[Prototype]] of its parameter (SyntaxError)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.2/15.2.3.2-2-15.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMi8xNS4yLjMuMi0yLTE2LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmdldFByb3RvdHlwZU9mIHJldHVybnMgdGhlIFtbUHJvdG90eXBlXV0gb2YgaXRzIHBhcmFtZXRlciAoVHlwZUVycm9yKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIGlmIChPYmplY3QuZ2V0UHJvdG90eXBlT2YoVHlwZUVycm9yKSA9PT0gRnVuY3Rpb24ucHJvdG90eXBlKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.getPrototypeOf returns the [[Prototype]] of its parameter (TypeError)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.2/15.2.3.2-2-16.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMi8xNS4yLjMuMi0yLTE3LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmdldFByb3RvdHlwZU9mIHJldHVybnMgdGhlIFtbUHJvdG90eXBlXV0gb2YgaXRzIHBhcmFtZXRlciAoVVJJRXJyb3IpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgaWYgKE9iamVjdC5nZXRQcm90b3R5cGVPZihVUklFcnJvcikgPT09IEZ1bmN0aW9uLnByb3RvdHlwZSkgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.getPrototypeOf returns the [[Prototype]] of its parameter (URIError)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.2/15.2.3.2-2-17.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMi8xNS4yLjMuMi0yLTE4LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmdldFByb3RvdHlwZU9mIHJldHVybnMgdGhlIFtbUHJvdG90eXBlXV0gb2YgaXRzIHBhcmFtZXRlciAoSlNPTikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICBpZiAoT2JqZWN0LmdldFByb3RvdHlwZU9mKEpTT04pID09PSBPYmplY3QucHJvdG90eXBlKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.getPrototypeOf returns the [[Prototype]] of its parameter (JSON)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.2/15.2.3.2-2-18.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMi8xNS4yLjMuMi0yLTE5LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmdldFByb3RvdHlwZU9mIHJldHVybnMgdGhlIFtbUHJvdG90eXBlXV0gb2YgaXRzIHBhcmFtZXRlciAoT2JqZWN0IG9iamVjdCkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgcmV0dXJuIE9iamVjdC5nZXRQcm90b3R5cGVPZihvYmopID09PSBPYmplY3QucHJvdG90eXBlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.getPrototypeOf returns the [[Prototype]] of its parameter (Object object)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.2/15.2.3.2-2-19.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogTGV0ICd4JyBiZSB0aGUgcmV0dXJuIHZhbHVlIGZyb20gZ2V0UHJvdG90eXBlT2Ygd2hlbiBjYWxsZWQgb24gZC4NCiAqIFRoZW4sIHguaXNQcm90b3R5cGVPZihkKSBtdXN0IGJlIHRydWUuDQogKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMi8xNS4yLjMuMi0yLTIuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0UHJvdG90eXBlT2YgcmV0dXJucyB0aGUgW1tQcm90b3R5cGVdXSBvZiBpdHMgcGFyYW1ldGVyIChjdXN0b20gb2JqZWN0KQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIGZ1bmN0aW9uIGJhc2UoKSB7fQ0KDQogIGZ1bmN0aW9uIGRlcml2ZWQoKSB7fQ0KICBkZXJpdmVkLnByb3RvdHlwZSA9IG5ldyBiYXNlKCk7DQoNCiAgdmFyIGQgPSBuZXcgZGVyaXZlZCgpOw0KICB2YXIgeCA9IE9iamVjdC5nZXRQcm90b3R5cGVPZihkKTsNCiAgaWYgKHguaXNQcm90b3R5cGVPZihkKSA9PT0gdHJ1ZSkgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"Let 'x' be the return value from getPrototypeOf when called on d.\nThen, x.isPrototypeOf(d) must be true.","description":"Object.getPrototypeOf returns the [[Prototype]] of its parameter (custom object)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.2/15.2.3.2-2-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMi8xNS4yLjMuMi0yLTIwLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmdldFByb3RvdHlwZU9mIHJldHVybnMgdGhlIFtbUHJvdG90eXBlXV0gb2YgaXRzIHBhcmFtZXRlciAoRnVuY3Rpb24gT2JqZWN0KQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSBmdW5jdGlvbiAoYSwgYikgew0KICAgICAgICAgICAgcmV0dXJuIGEgKyBiOw0KICAgICAgICB9Ow0KDQogICAgICAgIHJldHVybiBPYmplY3QuZ2V0UHJvdG90eXBlT2Yob2JqKSA9PT0gRnVuY3Rpb24ucHJvdG90eXBlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.getPrototypeOf returns the [[Prototype]] of its parameter (Function Object)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.2/15.2.3.2-2-20.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMi8xNS4yLjMuMi0yLTIxLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmdldFByb3RvdHlwZU9mIHJldHVybnMgdGhlIFtbUHJvdG90eXBlXV0gb2YgaXRzIHBhcmFtZXRlciAoQXJyYXkgb2JqZWN0KQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBhcnIgPSBbMSwgMiwgM107DQoNCiAgICAgICAgcmV0dXJuIE9iamVjdC5nZXRQcm90b3R5cGVPZihhcnIpID09PSBBcnJheS5wcm90b3R5cGU7IA0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.getPrototypeOf returns the [[Prototype]] of its parameter (Array object)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.2/15.2.3.2-2-21.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMi8xNS4yLjMuMi0yLTIyLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmdldFByb3RvdHlwZU9mIHJldHVybnMgdGhlIFtbUHJvdG90eXBlXV0gb2YgaXRzIHBhcmFtZXRlciAoU3RyaW5nIG9iamVjdCkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0gbmV3IFN0cmluZygiYWJjIik7DQoNCiAgICAgICAgcmV0dXJuIE9iamVjdC5nZXRQcm90b3R5cGVPZihvYmopID09PSBTdHJpbmcucHJvdG90eXBlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.getPrototypeOf returns the [[Prototype]] of its parameter (String object)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.2/15.2.3.2-2-22.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMi8xNS4yLjMuMi0yLTIzLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmdldFByb3RvdHlwZU9mIHJldHVybnMgdGhlIFtbUHJvdG90eXBlXV0gb2YgaXRzIHBhcmFtZXRlciAoQm9vbGVhbiBvYmplY3QpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IG5ldyBCb29sZWFuKHRydWUpOw0KDQogICAgICAgIHJldHVybiBPYmplY3QuZ2V0UHJvdG90eXBlT2Yob2JqKSA9PT0gQm9vbGVhbi5wcm90b3R5cGU7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.getPrototypeOf returns the [[Prototype]] of its parameter (Boolean object)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.2/15.2.3.2-2-23.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMi8xNS4yLjMuMi0yLTI0LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmdldFByb3RvdHlwZU9mIHJldHVybnMgdGhlIFtbUHJvdG90eXBlXV0gb2YgaXRzIHBhcmFtZXRlciAoTnVtYmVyIG9iamVjdCkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0gbmV3IE51bWJlcigtMyk7DQoNCiAgICAgICAgcmV0dXJuIE9iamVjdC5nZXRQcm90b3R5cGVPZihvYmopID09PSBOdW1iZXIucHJvdG90eXBlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.getPrototypeOf returns the [[Prototype]] of its parameter (Number object)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.2/15.2.3.2-2-24.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMi8xNS4yLjMuMi0yLTI1LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmdldFByb3RvdHlwZU9mIHJldHVybnMgdGhlIFtbUHJvdG90eXBlXV0gb2YgaXRzIHBhcmFtZXRlciAoRGF0ZSBvYmplY3QpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IG5ldyBEYXRlKCk7DQoNCiAgICAgICAgcmV0dXJuIE9iamVjdC5nZXRQcm90b3R5cGVPZihvYmopID09PSBEYXRlLnByb3RvdHlwZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.getPrototypeOf returns the [[Prototype]] of its parameter (Date object)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.2/15.2.3.2-2-25.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMi8xNS4yLjMuMi0yLTI2LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmdldFByb3RvdHlwZU9mIHJldHVybnMgdGhlIFtbUHJvdG90eXBlXV0gb2YgaXRzIHBhcmFtZXRlciAoUmVnRXhwIG9iamVjdCkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0gbmV3IFJlZ0V4cCgpOw0KDQogICAgICAgIHJldHVybiBPYmplY3QuZ2V0UHJvdG90eXBlT2Yob2JqKSA9PT0gUmVnRXhwLnByb3RvdHlwZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.getPrototypeOf returns the [[Prototype]] of its parameter (RegExp object)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.2/15.2.3.2-2-26.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMi8xNS4yLjMuMi0yLTI3LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmdldFByb3RvdHlwZU9mIHJldHVybnMgdGhlIFtbUHJvdG90eXBlXV0gb2YgaXRzIHBhcmFtZXRlciAoRXJyb3Igb2JqZWN0KQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSBuZXcgRXJyb3IoKTsNCg0KICAgICAgICByZXR1cm4gT2JqZWN0LmdldFByb3RvdHlwZU9mKG9iaikgPT09IEVycm9yLnByb3RvdHlwZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.getPrototypeOf returns the [[Prototype]] of its parameter (Error object)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.2/15.2.3.2-2-27.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMi8xNS4yLjMuMi0yLTI4LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmdldFByb3RvdHlwZU9mIHJldHVybnMgdGhlIFtbUHJvdG90eXBlXV0gb2YgaXRzIHBhcmFtZXRlciAodGhlIEFyZ3VtZW50cyBvYmplY3QpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgZnVuY3Rpb24gZnVuKCkgew0KICAgICAgICAgICAgcmV0dXJuIGFyZ3VtZW50czsNCiAgICAgICAgfQ0KICAgICAgICB2YXIgb2JqID0gZnVuKDEsIHRydWUsIDMpOw0KDQogICAgICAgIHJldHVybiBPYmplY3QuZ2V0UHJvdG90eXBlT2Yob2JqKSA9PT0gT2JqZWN0LnByb3RvdHlwZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.getPrototypeOf returns the [[Prototype]] of its parameter (the Arguments object)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.2/15.2.3.2-2-28.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMi8xNS4yLjMuMi0yLTMuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0UHJvdG90eXBlT2YgcmV0dXJucyB0aGUgW1tQcm90b3R5cGVdXSBvZiBpdHMgcGFyYW1ldGVyIChPYmplY3QpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgaWYgKE9iamVjdC5nZXRQcm90b3R5cGVPZihPYmplY3QpID09PSBGdW5jdGlvbi5wcm90b3R5cGUpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.getPrototypeOf returns the [[Prototype]] of its parameter (Object)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.2/15.2.3.2-2-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMi8xNS4yLjMuMi0yLTMwLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmdldFByb3RvdHlwZU9mIHJldHVybnMgdGhlIFtbUHJvdG90eXBlXV0gb2YgaXRzIHBhcmFtZXRlciAodGhlIGdsb2JhbCBvYmplY3QpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIHByb3RvID0gT2JqZWN0LmdldFByb3RvdHlwZU9mKGZuR2xvYmFsT2JqZWN0KCkpOw0KDQogICAgICAgIHJldHVybiBwcm90by5pc1Byb3RvdHlwZU9mKGZuR2xvYmFsT2JqZWN0KCkpID09PSB0cnVlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.getPrototypeOf returns the [[Prototype]] of its parameter (the global object)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.2/15.2.3.2-2-30.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMi8xNS4yLjMuMi0yLTMxLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmdldFByb3RvdHlwZU9mIHJldHVybnMgbnVsbA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgcmV0dXJuIChPYmplY3QuZ2V0UHJvdG90eXBlT2YoT2JqZWN0LnByb3RvdHlwZSkgPT09IG51bGwpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.getPrototypeOf returns null","path":"TestCases/ch15/15.2/15.2.3/15.2.3.2/15.2.3.2-2-31.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMi8xNS4yLjMuMi0yLTQuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0UHJvdG90eXBlT2YgcmV0dXJucyB0aGUgW1tQcm90b3R5cGVdXSBvZiBpdHMgcGFyYW1ldGVyIChGdW5jdGlvbikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICBpZiAoT2JqZWN0LmdldFByb3RvdHlwZU9mKEZ1bmN0aW9uKSA9PT0gRnVuY3Rpb24ucHJvdG90eXBlKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.getPrototypeOf returns the [[Prototype]] of its parameter (Function)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.2/15.2.3.2-2-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMi8xNS4yLjMuMi0yLTUuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0UHJvdG90eXBlT2YgcmV0dXJucyB0aGUgW1tQcm90b3R5cGVdXSBvZiBpdHMgcGFyYW1ldGVyIChBcnJheSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICBpZiAoT2JqZWN0LmdldFByb3RvdHlwZU9mKEFycmF5KSA9PT0gRnVuY3Rpb24ucHJvdG90eXBlKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.getPrototypeOf returns the [[Prototype]] of its parameter (Array)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.2/15.2.3.2-2-5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMi8xNS4yLjMuMi0yLTYuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0UHJvdG90eXBlT2YgcmV0dXJucyB0aGUgW1tQcm90b3R5cGVdXSBvZiBpdHMgcGFyYW1ldGVyIChTdHJpbmcpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgaWYgKE9iamVjdC5nZXRQcm90b3R5cGVPZihTdHJpbmcpID09PSBGdW5jdGlvbi5wcm90b3R5cGUpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.getPrototypeOf returns the [[Prototype]] of its parameter (String)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.2/15.2.3.2-2-6.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMi8xNS4yLjMuMi0yLTcuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0UHJvdG90eXBlT2YgcmV0dXJucyB0aGUgW1tQcm90b3R5cGVdXSBvZiBpdHMgcGFyYW1ldGVyIChOdW1iZXIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgaWYgKE9iamVjdC5nZXRQcm90b3R5cGVPZihOdW1iZXIpID09PSBGdW5jdGlvbi5wcm90b3R5cGUpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.getPrototypeOf returns the [[Prototype]] of its parameter (Number)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.2/15.2.3.2-2-7.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMi8xNS4yLjMuMi0yLTguanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0UHJvdG90eXBlT2YgcmV0dXJucyB0aGUgW1tQcm90b3R5cGVdXSBvZiBpdHMgcGFyYW1ldGVyIChNYXRoKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIGlmIChPYmplY3QuZ2V0UHJvdG90eXBlT2YoTWF0aCkgPT09IE9iamVjdC5wcm90b3R5cGUpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.getPrototypeOf returns the [[Prototype]] of its parameter (Math)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.2/15.2.3.2-2-8.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMi8xNS4yLjMuMi0yLTkuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0UHJvdG90eXBlT2YgcmV0dXJucyB0aGUgW1tQcm90b3R5cGVdXSBvZiBpdHMgcGFyYW1ldGVyIChEYXRlKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIGlmIChPYmplY3QuZ2V0UHJvdG90eXBlT2YoRGF0ZSkgPT09IEZ1bmN0aW9uLnByb3RvdHlwZSkgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.getPrototypeOf returns the [[Prototype]] of its parameter (Date)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.2/15.2.3.2-2-9.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMy8xNS4yLjMuMy0wLTEuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIG11c3QgZXhpc3QgYXMgYSBmdW5jdGlvbg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIGlmICh0eXBlb2YoT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcikgPT09ICJmdW5jdGlvbiIpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.getOwnPropertyDescriptor must exist as a function","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-0-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMy8xNS4yLjMuMy0wLTIuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIG11c3QgZXhpc3QgYXMgYSBmdW5jdGlvbiB0YWtpbmcgMiBwYXJhbWV0ZXJzDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgaWYgKE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IubGVuZ3RoID09PSAyKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.getOwnPropertyDescriptor must exist as a function taking 2 parameters","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-0-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMy8xNS4yLjMuMy0xLTEuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIC0gVHlwZUVycm9yIGlzIHRocm93biB3aGVuIGZpcnN0IHBhcmFtIGlzIHVuZGVmaW5lZA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKHVuZGVmaW5lZCwgImZvbyIpOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.getOwnPropertyDescriptor - TypeError is thrown when first param is undefined","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-1-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMy8xNS4yLjMuMy0xLTIuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIC0gVHlwZUVycm9yIGlzIHRocm93biB3aGVuIGZpcnN0IHBhcmFtIGlzIG51bGwNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihudWxsLCAiZm9vIik7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiAoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcik7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.getOwnPropertyDescriptor - TypeError is thrown when first param is null","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-1-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMy8xNS4yLjMuMy0xLTMuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIC0gVHlwZUVycm9yIGlzIHRocm93biB3aGVuIGZpcnN0IHBhcmFtIGlzIGEgYm9vbGVhbg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKHRydWUsICJmb28iKTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIChlIGluc3RhbmNlb2YgVHlwZUVycm9yKTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.getOwnPropertyDescriptor - TypeError is thrown when first param is a boolean","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-1-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMy8xNS4yLjMuMy0xLTQuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIC0gVHlwZUVycm9yIGlzIHRocm93biB3aGVuIGZpcnN0IHBhcmFtIGlzIGEgbnVtYmVyDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoLTIsICJmb28iKTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIChlIGluc3RhbmNlb2YgVHlwZUVycm9yKTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.getOwnPropertyDescriptor - TypeError is thrown when first param is a number","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-1-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMy8xNS4yLjMuMy0xLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvciB0aHJvd3MgVHlwZUVycm9yIGlmIHR5cGUgb2YgZmlyc3QgcGFyYW0gaXMgbm90IE9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHRyeSB7DQogICAgT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcigwLCAiZm9vIik7DQogIH0NCiAgY2F0Y2ggKGUpIHsNCiAgICBpZiAoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikgew0KICAgICAgcmV0dXJuIHRydWU7DQogICAgfQ0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.getOwnPropertyDescriptor throws TypeError if type of first param is not Object","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMy8xNS4yLjMuMy0yLTEuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIHJldHVybnMgdW5kZWZpbmVkIGZvciB1bmRlZmluZWQgcHJvcGVydHkgbmFtZQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgdmFyIG8gPSB7fTsNCiAgICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IobywgdW5kZWZpbmVkKTsNCiAgICBpZiAoZGVzYyA9PT0gdW5kZWZpbmVkKSB7DQogICAgICByZXR1cm4gdHJ1ZTsNCiAgICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.getOwnPropertyDescriptor returns undefined for undefined property name","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-2-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMy8xNS4yLjMuMy0yLTEwLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvciAtIGFyZ3VtZW50ICdQJyBpcyBhIG51bWJlciB0aGF0IGNvbnZlcnRzIHRvIGEgc3RyaW5nICh2YWx1ZSBpcyAtMCkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0geyAiMCI6IDEgfTsNCg0KICAgICAgICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAtMCk7DQoNCiAgICAgICAgcmV0dXJuIGRlc2MudmFsdWUgPT09IDE7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.getOwnPropertyDescriptor - argument 'P' is a number that converts to a string (value is -0)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-2-10.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMy8xNS4yLjMuMy0yLTExLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvciAtIGFyZ3VtZW50ICdQJyBpcyBhIG51bWJlciB0aGF0IGNvbnZlcnRzIHRvIGEgc3RyaW5nICh2YWx1ZSBpcyBwb3NpdGl2ZSBudW1iZXIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHsgIjMwIjogMSB9Ow0KDQogICAgICAgIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosIDMwKTsNCg0KICAgICAgICByZXR1cm4gZGVzYy52YWx1ZSA9PT0gMTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.getOwnPropertyDescriptor - argument 'P' is a number that converts to a string (value is positive number)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-2-11.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMy8xNS4yLjMuMy0yLTEyLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvciAtIGFyZ3VtZW50ICdQJyBpcyBhIG51bWJlciB0aGF0IGNvbnZlcnRzIHRvIGEgc3RyaW5nICh2YWx1ZSBpcyBuZWdhdGl2ZSBudW1iZXIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHsgIi0yMCI6IDEgfTsNCg0KICAgICAgICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAtMjApOw0KDQogICAgICAgIHJldHVybiBkZXNjLnZhbHVlID09PSAxOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.getOwnPropertyDescriptor - argument 'P' is a number that converts to a string (value is negative number)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-2-12.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMy8xNS4yLjMuMy0yLTEzLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvciAtIGFyZ3VtZW50ICdQJyBpcyBhIG51bWJlciB0aGF0IGNvbnZlcnRzIHRvIGEgc3RyaW5nICh2YWx1ZSBpcyBJbmZpbml0eSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0geyAiSW5maW5pdHkiOiAxIH07DQoNCiAgICAgICAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgSW5maW5pdHkpOw0KDQogICAgICAgIHJldHVybiBkZXNjLnZhbHVlID09PSAxOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.getOwnPropertyDescriptor - argument 'P' is a number that converts to a string (value is Infinity)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-2-13.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMy8xNS4yLjMuMy0yLTE0LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvciAtIGFyZ3VtZW50ICdQJyBpcyBhIG51bWJlciB0aGF0IGNvbnZlcnRzIHRvIGEgc3RyaW5nICh2YWx1ZSBpcyArSW5maW5pdHkpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHsgIkluZmluaXR5IjogMSB9Ow0KDQogICAgICAgIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICtJbmZpbml0eSk7DQoNCiAgICAgICAgcmV0dXJuIGRlc2MudmFsdWUgPT09IDE7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.getOwnPropertyDescriptor - argument 'P' is a number that converts to a string (value is +Infinity)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-2-14.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMy8xNS4yLjMuMy0yLTE1LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvciAtIGFyZ3VtZW50ICdQJyBpcyBhIG51bWJlciB0aGF0IGNvbnZlcnRzIHRvIGEgc3RyaW5nICh2YWx1ZSBpcyAtSW5maW5pdHkpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHsgIi1JbmZpbml0eSI6IDEgfTsNCg0KICAgICAgICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAtSW5maW5pdHkpOw0KDQogICAgICAgIHJldHVybiBkZXNjLnZhbHVlID09PSAxOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.getOwnPropertyDescriptor - argument 'P' is a number that converts to a string (value is -Infinity)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-2-15.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMy8xNS4yLjMuMy0yLTE2LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvciAtIGFyZ3VtZW50ICdQJyBpcyBhIG51bWJlciB0aGF0IGNvbnZlcnRzIHRvIGEgc3RyaW5nICh2YWx1ZSBpcyAxKGZvbGxvd2luZyAyMCB6ZXJvcykpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHsgIjEwMDAwMDAwMDAwMDAwMDAwMDAwMCI6IDEgfTsNCg0KICAgICAgICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAxMDAwMDAwMDAwMDAwMDAwMDAwMDApOw0KDQogICAgICAgIHJldHVybiBkZXNjLnZhbHVlID09PSAxOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.getOwnPropertyDescriptor - argument 'P' is a number that converts to a string (value is 1(following 20 zeros))","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-2-16.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMy8xNS4yLjMuMy0yLTE3LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvciAtIGFyZ3VtZW50ICdQJyBpcyBhIG51bWJlciB0aGF0IGNvbnZlcnRzIHRvIGEgc3RyaW5nICh2YWx1ZSBpcyAxKGZvbGxvd2luZyAyMSB6ZXJvcykpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHsgIjFlKzIxIjogMSB9Ow0KDQogICAgICAgIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosIDEwMDAwMDAwMDAwMDAwMDAwMDAwMDApOw0KDQogICAgICAgIHJldHVybiBkZXNjLnZhbHVlID09PSAxOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.getOwnPropertyDescriptor - argument 'P' is a number that converts to a string (value is 1(following 21 zeros))","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-2-17.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMy8xNS4yLjMuMy0yLTE4LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvciAtIGFyZ3VtZW50ICdQJyBpcyBhIG51bWJlciB0aGF0IGNvbnZlcnRzIHRvIGEgc3RyaW5nICh2YWx1ZSBpcyAxKGZvbGxvd2luZyAyMiB6ZXJvcykpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHsgIjFlKzIyIjogMSB9Ow0KDQogICAgICAgIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosIDEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwKTsNCg0KICAgICAgICByZXR1cm4gZGVzYy52YWx1ZSA9PT0gMTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.getOwnPropertyDescriptor - argument 'P' is a number that converts to a string (value is 1(following 22 zeros))","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-2-18.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMy8xNS4yLjMuMy0yLTE5LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvciAtIGFyZ3VtZW50ICdQJyBpcyBhIG51bWJlciB0aGF0IGNvbnZlcnRzIHRvIGEgc3RyaW5nICh2YWx1ZSBpcyAxZSsyMCkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0geyAiMTAwMDAwMDAwMDAwMDAwMDAwMDAwIjogMSB9Ow0KDQogICAgICAgIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosIDFlKzIwKTsNCg0KICAgICAgICByZXR1cm4gZGVzYy52YWx1ZSA9PT0gMTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.getOwnPropertyDescriptor - argument 'P' is a number that converts to a string (value is 1e+20)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-2-19.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMy8xNS4yLjMuMy0yLTIuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIHJldHVybnMgdW5kZWZpbmVkIGZvciBudWxsIHByb3BlcnR5IG5hbWUNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgIHZhciBvID0ge307DQogICAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG8sIG51bGwpOw0KICAgIGlmIChkZXNjID09PSB1bmRlZmluZWQpIHsNCiAgICAgIHJldHVybiB0cnVlOw0KICAgIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.getOwnPropertyDescriptor returns undefined for null property name","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-2-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMy8xNS4yLjMuMy0yLTIwLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvciAtIGFyZ3VtZW50ICdQJyBpcyBhIG51bWJlciB0aGF0IGNvbnZlcnRzIHRvIHN0cmluZyAodmFsdWUgaXMgMWUrMjEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHsgIjFlKzIxIjogMSB9Ow0KDQogICAgICAgIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosIDFlKzIxKTsNCg0KICAgICAgICByZXR1cm4gZGVzYy52YWx1ZSA9PT0gMTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.getOwnPropertyDescriptor - argument 'P' is a number that converts to string (value is 1e+21)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-2-20.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMy8xNS4yLjMuMy0yLTIxLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvciAtIGFyZ3VtZW50ICdQJyBpcyBhIG51bWJlciB0aGF0IGNvbnZlcnRzIHRvIGEgc3RyaW5nICh2YWx1ZSBpcyAxZSsyMikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0geyAiMWUrMjIiOiAxIH07DQoNCiAgICAgICAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgMWUrMjIpOw0KDQogICAgICAgIHJldHVybiBkZXNjLnZhbHVlID09PSAxOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.getOwnPropertyDescriptor - argument 'P' is a number that converts to a string (value is 1e+22)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-2-21.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMy8xNS4yLjMuMy0yLTIyLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvciAtIGFyZ3VtZW50ICdQJyBpcyBhIG51bWJlciB0aGF0IGNvbnZlcnRzIHRvIGEgc3RyaW5nICh2YWx1ZSBpcyAwLjAwMDAwMSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0geyAiMC4wMDAwMDEiOiAxIH07DQoNCiAgICAgICAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgMC4wMDAwMDEpOw0KDQogICAgICAgIHJldHVybiBkZXNjLnZhbHVlID09PSAxOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.getOwnPropertyDescriptor - argument 'P' is a number that converts to a string (value is 0.000001)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-2-22.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMy8xNS4yLjMuMy0yLTIzLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvciAtIGFyZ3VtZW50ICdQJyBpcyBhIG51bWJlciB0aGF0IGNvbnZlcnRzIHRvIGEgc3RyaW5nICh2YWx1ZSBpcyAwLjAwMDAwMDEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHsgIjFlLTciOiAxIH07DQoNCiAgICAgICAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgMC4wMDAwMDAxKTsNCg0KICAgICAgICByZXR1cm4gZGVzYy52YWx1ZSA9PT0gMTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.getOwnPropertyDescriptor - argument 'P' is a number that converts to a string (value is 0.0000001)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-2-23.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMy8xNS4yLjMuMy0yLTI0LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvciAtIGFyZ3VtZW50ICdQJyBpcyBhIG51bWJlciB0aGF0IGNvbnZlcnRzIHRvIGEgc3RyaW5nICh2YWx1ZSBpcyAwLjAwMDAwMDAxKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7ICIxZS04IjogMSB9Ow0KDQogICAgICAgIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosIDAuMDAwMDAwMDEpOw0KDQogICAgICAgIHJldHVybiBkZXNjLnZhbHVlID09PSAxOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.getOwnPropertyDescriptor - argument 'P' is a number that converts to a string (value is 0.00000001)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-2-24.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMy8xNS4yLjMuMy0yLTI1LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvciAtIGFyZ3VtZW50ICdQJyBpcyBhIG51bWJlciB0aGF0IGNvbnZlcnRzIHRvIGEgc3RyaW5nICh2YWx1ZSBpcyAxZS03KQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7ICIxZS03IjogMSB9Ow0KDQogICAgICAgIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosIDFlLTcpOw0KDQogICAgICAgIHJldHVybiBkZXNjLnZhbHVlID09PSAxOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.getOwnPropertyDescriptor - argument 'P' is a number that converts to a string (value is 1e-7)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-2-25.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMy8xNS4yLjMuMy0yLTI2LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvciAtIGFyZ3VtZW50ICdQJyBpcyBhIG51bWJlciB0aGF0IGNvbnZlcnRzIHRvIGEgc3RyaW5nICh2YWx1ZSBpcyAxZS02KQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7ICIwLjAwMDAwMSI6IDEgfTsNCg0KICAgICAgICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAxZS02KTsNCg0KICAgICAgICByZXR1cm4gZGVzYy52YWx1ZSA9PT0gMTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.getOwnPropertyDescriptor - argument 'P' is a number that converts to a string (value is 1e-6)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-2-26.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMy8xNS4yLjMuMy0yLTI3LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvciAtIGFyZ3VtZW50ICdQJyBpcyBhIG51bWJlciB0aGF0IGNvbnZlcnRzIHRvIGEgc3RyaW5nICh2YWx1ZSBpcyAxZS01KQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7ICIwLjAwMDAxIjogMSB9Ow0KDQogICAgICAgIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosIDFlLTUpOw0KDQogICAgICAgIHJldHVybiBkZXNjLnZhbHVlID09PSAxOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.getOwnPropertyDescriptor - argument 'P' is a number that converts to a string (value is 1e-5)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-2-27.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMy8xNS4yLjMuMy0yLTI4LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvciAtIGFyZ3VtZW50ICdQJyBpcyBhbiBpbnRlZ2VyIHRoYXQgY29udmVydHMgdG8gYSBzdHJpbmcgKHZhbHVlIGlzIDEyMykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0geyAiMTIzIjogMSB9Ow0KDQogICAgICAgIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosIDEyMyk7DQoNCiAgICAgICAgcmV0dXJuIGRlc2MudmFsdWUgPT09IDE7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.getOwnPropertyDescriptor - argument 'P' is an integer that converts to a string (value is 123)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-2-28.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMy8xNS4yLjMuMy0yLTI5LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvciAtIGFyZ3VtZW50ICdQJyBpcyBhIGRlY2ltYWwgdGhhdCBjb252ZXJ0cyB0byBhIHN0cmluZyAodmFsdWUgaXMgMTIzLjQ1NikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0geyAiMTIzLjQ1NiI6IDEgfTsNCg0KICAgICAgICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAxMjMuNDU2KTsNCg0KICAgICAgICByZXR1cm4gZGVzYy52YWx1ZSA9PT0gMTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.getOwnPropertyDescriptor - argument 'P' is a decimal that converts to a string (value is 123.456)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-2-29.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMy8xNS4yLjMuMy0yLTMuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIC0gYXJndW1lbnQgJ1AnIGlzIHVuZGVmaW5lZA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7ICJ1bmRlZmluZWQiOiAxIH07DQoNCiAgICAgICAgdmFyIGRlc2MxID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosIHVuZGVmaW5lZCk7DQogICAgICAgIHZhciBkZXNjMiA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAidW5kZWZpbmVkIik7DQoNCiAgICAgICAgcmV0dXJuIGRlc2MxLnZhbHVlID09PSAxICYmIGRlc2MyLnZhbHVlID09PSAxOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.getOwnPropertyDescriptor - argument 'P' is undefined","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-2-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMy8xNS4yLjMuMy0yLTMwLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvciAtIGFyZ3VtZW50ICdQJyBpcyBhIG51bWJlciB0aGF0IGNvbnZlcnRzIHRvIGEgc3RyaW5nICh2YWx1ZSBpcyAxMDAwMDAwMDAwMDAwMDAwMDAwMDAuMTIzKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7ICIxMDAwMDAwMDAwMDAwMDAwMDAwMDAiOiAxIH07DQoNCiAgICAgICAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgMTAwMDAwMDAwMDAwMDAwMDAwMDAwLjEyMyk7DQoNCiAgICAgICAgcmV0dXJuIHR5cGVvZiBkZXNjICE9PSAidW5kZWZpbmVkIiAmJiBkZXNjLnZhbHVlID09PSAxOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.getOwnPropertyDescriptor - argument 'P' is a number that converts to a string (value is 100000000000000000000.123)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-2-30.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMy8xNS4yLjMuMy0yLTMxLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvciAtIGFyZ3VtZW50ICdQJyBpcyBhIG51bWJlciB0aGF0IGNvbnZlcnRzIHRvIGEgc3RyaW5nICh2YWx1ZSBpcyAxMjMuMTIzNDU2NykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0geyAiMTIzLjEyMzQ1NjciOiAxIH07DQoNCiAgICAgICAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgMTIzLjEyMzQ1NjcpOw0KDQogICAgICAgIHJldHVybiBkZXNjLnZhbHVlID09PSAxOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.getOwnPropertyDescriptor - argument 'P' is a number that converts to a string (value is 123.1234567)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-2-31.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMy8xNS4yLjMuMy0yLTMyLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvciAtIGFyZ3VtZW50ICdQJyBpcyBhcHBsaWVkIHRvIGFuIGVtcHR5IHN0cmluZyANCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0geyAiIjogMSB9Ow0KDQogICAgICAgIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICIiKTsNCg0KICAgICAgICByZXR1cm4gZGVzYy52YWx1ZSA9PT0gMTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.getOwnPropertyDescriptor - argument 'P' is applied to an empty string","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-2-32.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMy8xNS4yLjMuMy0yLTMzLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvciAtIGFyZ3VtZW50ICdQJyBpcyBhcHBsaWVkIHRvIHN0cmluZyAnQUINCiAqIFxjZCcgDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHsgIkFCXG5cXGNkIjogMSB9Ow0KDQogICAgICAgIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJBQlxuXFxjZCIpOw0KDQogICAgICAgIHJldHVybiBkZXNjLnZhbHVlID09PSAxOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.getOwnPropertyDescriptor - argument 'P' is applied to string 'AB\n\\cd'","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-2-33.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMy8xNS4yLjMuMy0yLTM0LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvciAtIGFyZ3VtZW50ICdQJyBpcyBhcHBsaWVkIHRvIHN0cmluZyAndW5kZWZpbmVkJyANCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0geyAidW5kZWZpbmVkIjogMSB9Ow0KDQogICAgICAgIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJ1bmRlZmluZWQiKTsNCg0KICAgICAgICByZXR1cm4gZGVzYy52YWx1ZSA9PT0gMTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.getOwnPropertyDescriptor - argument 'P' is applied to string 'undefined'","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-2-34.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMy8xNS4yLjMuMy0yLTM1LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvciAtIGFyZ3VtZW50ICdQJyBpcyBhcHBsaWVkIHRvIHN0cmluZyAnbnVsbCcgDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHsgIm51bGwiOiAxIH07DQoNCiAgICAgICAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgIm51bGwiKTsNCg0KICAgICAgICByZXR1cm4gZGVzYy52YWx1ZSA9PT0gMTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.getOwnPropertyDescriptor - argument 'P' is applied to string 'null'","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-2-35.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMy8xNS4yLjMuMy0yLTM2LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvciAtIGFyZ3VtZW50ICdQJyBpcyBhcHBsaWVkIHRvIHN0cmluZyAnMTIz77+977+977+9wqbvv71jZCcgDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHsgIjEyM++/ve+/ve+/vcKm77+9Y2QiOiAxIH07DQoNCiAgICAgICAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgIjEyM++/ve+/ve+/vcKm77+9Y2QiKTsNCg0KICAgICAgICByZXR1cm4gZGVzYy52YWx1ZSA9PT0gMTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.getOwnPropertyDescriptor - argument 'P' is applied to string '123\ufffd\ufffd\ufffd\u00a6\ufffdcd'","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-2-36.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMy8xNS4yLjMuMy0yLTM3LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvciAtIGFyZ3VtZW50ICdQJyBpcyBhcHBsaWVkIHRvIHN0cmluZyAnMScgDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHsgIjEiOiAxIH07DQoNCiAgICAgICAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgMSk7DQoNCiAgICAgICAgcmV0dXJuIGRlc2MudmFsdWUgPT09IDE7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.getOwnPropertyDescriptor - argument 'P' is applied to string '1'","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-2-37.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMy8xNS4yLjMuMy0yLTM4LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvciAtIGFyZ3VtZW50ICdQJyBpcyBhbiBhcnJheSB0aGF0IGNvbnZlcnRzIHRvIGEgc3RyaW5nDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHsgIjEiOiAxIH07DQoNCiAgICAgICAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgWzFdKTsNCg0KICAgICAgICByZXR1cm4gZGVzYy52YWx1ZSA9PT0gMTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.getOwnPropertyDescriptor - argument 'P' is an array that converts to a string","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-2-38.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMy8xNS4yLjMuMy0yLTM5LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvciAtIGFyZ3VtZW50ICdQJyBpcyBhIFN0cmluZyBPYmplY3QgdGhhdCBjb252ZXJ0cyB0byBhIHN0cmluZw0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7ICJIZWxsbyI6IDEgfTsNCg0KICAgICAgICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCBuZXcgU3RyaW5nKCJIZWxsbyIpKTsNCg0KICAgICAgICByZXR1cm4gZGVzYy52YWx1ZSA9PT0gMTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.getOwnPropertyDescriptor - argument 'P' is a String Object that converts to a string","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-2-39.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMy8xNS4yLjMuMy0yLTQuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIC0gYXJndW1lbnQgJ1AnIGlzIG51bGwgdGhhdCBjb252ZXJ0cyB0byBzdHJpbmcgJ251bGwnDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHsgIm51bGwiOiAxIH07DQoNCiAgICAgICAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgbnVsbCk7DQoNCiAgICAgICAgcmV0dXJuIGRlc2MudmFsdWUgPT09IDE7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.getOwnPropertyDescriptor - argument 'P' is null that converts to string 'null'","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-2-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMy8xNS4yLjMuMy0yLTQwLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvciAtIGFyZ3VtZW50ICdQJyBpcyBhIEJvb2xlYW4gT2JqZWN0IHRoYXQgY29udmVydHMgdG8gYSBzdHJpbmcNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0geyAidHJ1ZSI6IDEgfTsNCg0KICAgICAgICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCBuZXcgQm9vbGVhbih0cnVlKSk7DQoNCiAgICAgICAgcmV0dXJuIGRlc2MudmFsdWUgPT09IDE7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.getOwnPropertyDescriptor - argument 'P' is a Boolean Object that converts to a string","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-2-40.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMy8xNS4yLjMuMy0yLTQxLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvciAtIGFyZ3VtZW50ICdQJyBpcyBhIE51bWJlciBPYmplY3QgdGhhdCBjb252ZXJ0cyB0byBhIHN0cmluZw0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7ICIxMjMiOiAxIH07DQoNCiAgICAgICAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgbmV3IE51bWJlcigxMjMpKTsNCg0KICAgICAgICByZXR1cm4gZGVzYy52YWx1ZSA9PT0gMTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.getOwnPropertyDescriptor - argument 'P' is a Number Object that converts to a string","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-2-41.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMy8xNS4yLjMuMy0yLTQyLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvciAtIGFyZ3VtZW50ICdQJyBpcyBhbiBvYmplY3Qgd2hpY2ggaGFzIGFuIG93biB0b1N0cmluZyBtZXRob2QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0geyAiYWJjIjogMSB9Ow0KDQogICAgICAgIHZhciBvd25Qcm9wID0gew0KICAgICAgICAgICAgdG9TdHJpbmc6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gImFiYyI7DQogICAgICAgICAgICB9DQogICAgICAgIH07DQoNCiAgICAgICAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgb3duUHJvcCk7DQoNCiAgICAgICAgcmV0dXJuIGRlc2MudmFsdWUgPT09IDE7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.getOwnPropertyDescriptor - argument 'P' is an object which has an own toString method","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-2-42.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMy8xNS4yLjMuMy0yLTQzLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvciAtIGFyZ3VtZW50ICdQJyBpcyBhbiBvYmplY3Qgd2hpY2ggaGFzIGFuIG93biB2YWx1ZU9mIG1ldGhvZA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7ICJbb2JqZWN0IE9iamVjdF0iOiAxLCAiYWJjIiA6IDIgfTsNCg0KICAgICAgICB2YXIgb3duUHJvcCA9IHsNCiAgICAgICAgICAgIHZhbHVlT2Y6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gImFiYyI7DQogICAgICAgICAgICB9DQogICAgICAgIH07DQoNCiAgICAgICAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgb3duUHJvcCk7DQoNCiAgICAgICAgcmV0dXJuIGRlc2MudmFsdWUgPT09IDE7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.getOwnPropertyDescriptor - argument 'P' is an object which has an own valueOf method","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-2-43.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMy8xNS4yLjMuMy0yLTQ0LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvciAtIGFyZ3VtZW50ICdQJyBpcyBhbiBvYmplY3QgdGhhdCBoYXMgYW4gb3duIHRvU3RyaW5nIG1ldGhvZCB0aGF0IHJldHVybnMgYW4gb2JqZWN0IGFuZCB0b1ZhbHVlIG1ldGhvZCB0aGF0IHJldHVybnMgYSBwcmltaXRpdmUgdmFsdWUNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0geyAiYWJjIjogMSB9Ow0KICAgICAgICB2YXIgdmFsdWVPZkFjY2Vzc2VkID0gZmFsc2U7DQogICAgICAgIHZhciB0b1N0cmluZ0FjY2Vzc2VkID0gZmFsc2U7DQoNCiAgICAgICAgdmFyIG93blByb3AgPSB7DQogICAgICAgICAgICB0b1N0cmluZzogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHRvU3RyaW5nQWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgICAgIHJldHVybiB7fTsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICB2YWx1ZU9mOiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgdmFsdWVPZkFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgICAgICByZXR1cm4gImFiYyI7DQogICAgICAgICAgICB9DQogICAgICAgIH07DQoNCiAgICAgICAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgb3duUHJvcCk7DQoNCiAgICAgICAgcmV0dXJuIGRlc2MudmFsdWUgPT09IDEgJiYgdmFsdWVPZkFjY2Vzc2VkICYmIHRvU3RyaW5nQWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.getOwnPropertyDescriptor - argument 'P' is an object that has an own toString method that returns an object and toValue method that returns a primitive value","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-2-44.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMy8xNS4yLjMuMy0yLTQ1LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvciAtIGFyZ3VtZW50ICdQJyBpcyBhbiBvYmplY3Qgd2hpY2ggaGFzIGFuIG93biB0b1N0cmluZyBhbmQgdmFsdWVPZiBtZXRob2QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0geyAiYmJxIjogMSwgImFiYyI6IDIgfTsNCiAgICAgICAgdmFyIHZhbHVlT2ZBY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIHZhciBvd25Qcm9wID0gew0KICAgICAgICAgICAgdG9TdHJpbmc6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gImJicSI7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgdmFsdWVPZjogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHZhbHVlT2ZBY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICAgICAgcmV0dXJuICJhYmMiOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9Ow0KDQogICAgICAgIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosIG93blByb3ApOw0KDQogICAgICAgIHJldHVybiBkZXNjLnZhbHVlID09PSAxICYmICF2YWx1ZU9mQWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.getOwnPropertyDescriptor - argument 'P' is an object which has an own toString and valueOf method","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-2-45.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMy8xNS4yLjMuMy0yLTQ2LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvciAtIFR5cGVFcnJvciBleGNlcHRpb24gd2FzIHRocm93biAgd2hlbiAnUCcgaXMgYW4gb2JqZWN0IHRoYXQgYm90aCB0b1N0cmluZyBhbmQgdmFsdWVPZiB3b3VsZG4ndCByZXR1cm4gcHJpbWl0aXZlIHZhbHVlDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHsgIjEiOiAxIH07DQogICAgICAgIHZhciB0b1N0cmluZ0FjY2Vzc2VkID0gZmFsc2U7DQogICAgICAgIHZhciB2YWx1ZU9mQWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICB2YXIgb3duUHJvcCA9IHsNCiAgICAgICAgICAgIHRvU3RyaW5nOiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgdG9TdHJpbmdBY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICAgICAgcmV0dXJuIFsxXTsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICB2YWx1ZU9mOiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgdmFsdWVPZkFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgICAgICByZXR1cm4gWzFdOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9Ow0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgb3duUHJvcCk7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiB0b1N0cmluZ0FjY2Vzc2VkICYmIHZhbHVlT2ZBY2Nlc3NlZCAmJiBlIGluc3RhbmNlb2YgVHlwZUVycm9yOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.getOwnPropertyDescriptor - TypeError exception was thrown when 'P' is an object that both toString and valueOf wouldn't return primitive value","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-2-46.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMy8xNS4yLjMuMy0yLTQ3LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvciAtIHVzZXMgaW5oZXJpdGVkIHRvU3RyaW5nIG1ldGhvZCB3aGVuICdQJyBpcyBhbiBvYmplY3Qgd2l0aCBhbiBvd24gdmFsdWVPZiBhbmQgaW5oZXJpdGVkIHRvU3RyaW5nIG1ldGhvZHMNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgcHJvdG8gPSB7fTsNCiAgICAgICAgdmFyIHZhbHVlT2ZBY2Nlc3NlZCA9IGZhbHNlOw0KICAgICAgICB2YXIgdG9TdHJpbmdBY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIHByb3RvLnRvU3RyaW5nID0gZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgdG9TdHJpbmdBY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICByZXR1cm4gInRlc3QiOw0KICAgICAgICB9Ow0KDQogICAgICAgIHZhciBDb24gPSBmdW5jdGlvbiAoKSB7IH07DQogICAgICAgIENvbi5wcm90b3R5cGUgPSBwcm90bzsNCg0KICAgICAgICB2YXIgY2hpbGQgPSBuZXcgQ29uKCk7DQogICAgICAgIGNoaWxkLnZhbHVlT2YgPSBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICB2YWx1ZU9mQWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgcmV0dXJuICIxMCI7DQogICAgICAgIH07DQogICAgICAgIHZhciBvYmogPSB7ICIxMCI6ICJsZW5ndGgxIiwgInRlc3QiOiAibGVuZ3RoMiIgfTsNCiAgICAgICAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgY2hpbGQpOw0KDQogICAgICAgIHJldHVybiBkZXNjLnZhbHVlID09PSAibGVuZ3RoMiIgJiYgdG9TdHJpbmdBY2Nlc3NlZCAmJiAhdmFsdWVPZkFjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.getOwnPropertyDescriptor - uses inherited toString method when 'P' is an object with an own valueOf and inherited toString methods","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-2-47.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMy8xNS4yLjMuMy0yLTUuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIC0gYXJndW1lbnQgJ1AnIGlzIGEgYm9vbGVhbiB3aG9zZSB2YWx1ZSBpcyBmYWxzZQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7ICJmYWxzZSI6IDEgfTsNCg0KICAgICAgICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCBmYWxzZSk7DQoNCiAgICAgICAgcmV0dXJuIGRlc2MudmFsdWUgPT09IDE7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.getOwnPropertyDescriptor - argument 'P' is a boolean whose value is false","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-2-5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMy8xNS4yLjMuMy0yLTYuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIC0gYXJndW1lbnQgJ1AnIGlzIGEgYm9vbGVhbiB3aG9zZSB2YWx1ZSBpcyB0cnVlDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHsgInRydWUiOiAxIH07DQoNCiAgICAgICAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgdHJ1ZSk7DQoNCiAgICAgICAgcmV0dXJuIGRlc2MudmFsdWUgPT09IDE7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.getOwnPropertyDescriptor - argument 'P' is a boolean whose value is true","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-2-6.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMy8xNS4yLjMuMy0yLTcuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIC0gYXJndW1lbnQgJ1AnIGlzIGEgbnVtYmVyIHRoYXQgY29udmVydHMgdG8gYSBzdHJpbmcgKHZhbHVlIGlzIE5hTikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0geyAiTmFOIjogMSB9Ow0KDQogICAgICAgIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosIE5hTik7DQoNCiAgICAgICAgcmV0dXJuIGRlc2MudmFsdWUgPT09IDE7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.getOwnPropertyDescriptor - argument 'P' is a number that converts to a string (value is NaN)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-2-7.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMy8xNS4yLjMuMy0yLTguanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIC0gYXJndW1lbnQgJ1AnIGlzIGEgbnVtYmVyIHRoYXQgY29udmVydHMgdG8gYSBzdHJpbmcgKHZhbHVlIGlzIDApDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHsgIjAiOiAxIH07DQoNCiAgICAgICAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgMCk7DQoNCiAgICAgICAgcmV0dXJuIGRlc2MudmFsdWUgPT09IDE7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.getOwnPropertyDescriptor - argument 'P' is a number that converts to a string (value is 0)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-2-8.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMy8xNS4yLjMuMy0yLTkuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIC0gYXJndW1lbnQgJ1AnIGlzIGEgbnVtYmVyIHRoYXQgY29udmVydHMgdG8gYSBzdHJpbmcgKHZhbHVlIGlzICswKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7ICIwIjogMSB9Ow0KDQogICAgICAgIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICswKTsNCg0KICAgICAgICByZXR1cm4gZGVzYy52YWx1ZSA9PT0gMTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.getOwnPropertyDescriptor - argument 'P' is a number that converts to a string (value is +0)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-2-9.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMy8xNS4yLjMuMy0zLTEuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIC0gJ1AnIGlzIG93biBkYXRhIHByb3BlcnR5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0gew0KICAgICAgICAgICAgcHJvcGVydHk6ICJvd25EYXRhUHJvcGVydHkiDQogICAgICAgIH07DQoNCiAgICAgICAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3BlcnR5Iik7DQoNCiAgICAgICAgcmV0dXJuIGRlc2MudmFsdWUgPT09ICJvd25EYXRhUHJvcGVydHkiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.getOwnPropertyDescriptor - 'P' is own data property","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-3-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMy8xNS4yLjMuMy0zLTEwLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvciAtICdQJyBpcyBub3QgYW4gZXhpc3RpbmcgcHJvcGVydHkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7DQogICAgICAgICAgICBwcm9wZXJ0eTogIm93bkRhdGFQcm9wZXJ0eSINCiAgICAgICAgfTsNCg0KICAgICAgICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcGVydHlOb25FeGlzdCIpOw0KDQogICAgICAgIHJldHVybiB0eXBlb2YgZGVzYyA9PT0gInVuZGVmaW5lZCI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.getOwnPropertyDescriptor - 'P' is not an existing property","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-3-10.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMy8xNS4yLjMuMy0zLTEzLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvciBhcHBsaWVkIHRvIHRoZSBBcmd1bWVudHMgb2JqZWN0IHdoaWNoIGltcGxlbWVudHMgaXRzIG93biBwcm9wZXJ0eSBnZXQgbWV0aG9kDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYXJnID0gKGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgIHJldHVybiBhcmd1bWVudHM7DQogICAgICAgIH0oIm93blByb3BlcnR5IiwgdHJ1ZSkpOw0KDQogICAgICAgIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihhcmcsICIwIik7DQoNCiAgICAgICAgcmV0dXJuIGRlc2MudmFsdWUgPT09ICJvd25Qcm9wZXJ0eSIgJiYgZGVzYy53cml0YWJsZSA9PT0gdHJ1ZSAmJiBkZXNjLmVudW1lcmFibGUgPT09IHRydWUgJiYgZGVzYy5jb25maWd1cmFibGUgPT09IHRydWU7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.getOwnPropertyDescriptor applied to the Arguments object which implements its own property get method","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-3-13.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMy8xNS4yLjMuMy0zLTE0LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvciBhcHBsaWVkIHRvIGEgU3RyaW5nIG9iamVjdCB3aGljaCBpbXBsZW1lbnRzIGl0cyBvd24gcHJvcGVydHkgZ2V0IG1ldGhvZA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHN0ciA9IG5ldyBTdHJpbmcoIjEyMyIpOw0KDQogICAgICAgIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihzdHIsICIyIik7DQoNCiAgICAgICAgcmV0dXJuIGRlc2MudmFsdWUgPT09ICIzIjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.getOwnPropertyDescriptor applied to a String object which implements its own property get method","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-3-14.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMy8xNS4yLjMuMy0zLTE1LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvciBhcHBsaWVkIHRvIGEgRnVuY3Rpb24gb2JqZWN0IHdoaWNoIGltcGxlbWVudHMgaXRzIG93biBwcm9wZXJ0eSBnZXQgbWV0aG9kDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0gZnVuY3Rpb24gKGEsIGIpIHsNCiAgICAgICAgICAgIHJldHVybiBhICsgYjsNCiAgICAgICAgfTsNCiAgICAgICAgb2JqWzFdID0gIm93blByb3BlcnR5IjsNCg0KICAgICAgICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAiMSIpOw0KDQogICAgICAgIHJldHVybiBkZXNjLnZhbHVlID09PSAib3duUHJvcGVydHkiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.getOwnPropertyDescriptor applied to a Function object which implements its own property get method","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-3-15.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMy8xNS4yLjMuMy0zLTIuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIC0gJ1AnIGlzIGluaGVyaXRlZCBkYXRhIHByb3BlcnR5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgcHJvdG8gPSB7DQogICAgICAgICAgICBwcm9wZXJ0eTogImluaGVyaXRlZERhdGFQcm9wZXJ0eSINCiAgICAgICAgfTsNCg0KICAgICAgICB2YXIgQ29uID0gZnVuY3Rpb24gKCkgeyB9Ow0KICAgICAgICBDb24ucHRvdG90eXBlID0gcHJvdG87DQoNCiAgICAgICAgdmFyIGNoaWxkID0gbmV3IENvbigpOw0KDQogICAgICAgIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihjaGlsZCwgInByb3BlcnR5Iik7DQoNCiAgICAgICAgcmV0dXJuIHR5cGVvZiBkZXNjID09PSAidW5kZWZpbmVkIjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.getOwnPropertyDescriptor - 'P' is inherited data property","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-3-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMy8xNS4yLjMuMy0zLTMuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIC0gJ1AnIGlzIG93biBkYXRhIHByb3BlcnR5IHRoYXQgb3ZlcnJpZGVzIGFuIGluaGVyaXRlZCBkYXRhIHByb3BlcnR5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgcHJvdG8gPSB7DQogICAgICAgICAgICBwcm9wZXJ0eTogImluaGVyaXRlZERhdGFQcm9wZXJ0eSINCiAgICAgICAgfTsNCg0KICAgICAgICB2YXIgQ29uID0gZnVuY3Rpb24gKCkgeyB9Ow0KICAgICAgICBDb24ucHRvdG90eXBlID0gcHJvdG87DQoNCiAgICAgICAgdmFyIGNoaWxkID0gbmV3IENvbigpOw0KICAgICAgICBjaGlsZC5wcm9wZXJ0eSA9ICJvd25EYXRhUHJvcGVydHkiOw0KDQogICAgICAgIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihjaGlsZCwgInByb3BlcnR5Iik7DQoNCiAgICAgICAgcmV0dXJuIGRlc2MudmFsdWUgPT09ICJvd25EYXRhUHJvcGVydHkiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.getOwnPropertyDescriptor - 'P' is own data property that overrides an inherited data property","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-3-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMy8xNS4yLjMuMy0zLTQuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIC0gJ1AnIGlzIG93biBkYXRhIHByb3BlcnR5IHRoYXQgb3ZlcnJpZGVzIGFuIGluaGVyaXRlZCBhY2Nlc3NvciBwcm9wZXJ0eQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHByb3RvID0ge307DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShwcm90bywgInByb3BlcnR5Iiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuICJpbmhlcml0ZWREYXRhUHJvcGVydHkiOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgQ29uID0gZnVuY3Rpb24gKCkgeyB9Ow0KICAgICAgICBDb24ucHRvdG90eXBlID0gcHJvdG87DQoNCiAgICAgICAgdmFyIGNoaWxkID0gbmV3IENvbigpOw0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoY2hpbGQsICJwcm9wZXJ0eSIsIHsNCiAgICAgICAgICAgIHZhbHVlOiAib3duRGF0YVByb3BlcnR5IiwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoY2hpbGQsICJwcm9wZXJ0eSIpOw0KDQogICAgICAgIHJldHVybiBkZXNjLnZhbHVlID09PSAib3duRGF0YVByb3BlcnR5IjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.getOwnPropertyDescriptor - 'P' is own data property that overrides an inherited accessor property","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-3-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMy8xNS4yLjMuMy0zLTUuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIC0gJ1AnIGlzIG93biBhY2Nlc3NvciBwcm9wZXJ0eQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICB2YXIgZnVuID0gZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgcmV0dXJuICJvd25BY2Nlc3NvclByb3BlcnR5IjsNCiAgICAgICAgfTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3BlcnR5Iiwgew0KICAgICAgICAgICAgZ2V0OiBmdW4sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3BlcnR5Iik7DQoNCiAgICAgICAgcmV0dXJuIGRlc2MuZ2V0ID09PSBmdW47DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.getOwnPropertyDescriptor - 'P' is own accessor property","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-3-5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMy8xNS4yLjMuMy0zLTYuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIC0gJ1AnIGlzIGluaGVyaXRlZCBhY2Nlc3NvciBwcm9wZXJ0eQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHByb3RvID0ge307DQogICAgICAgIHZhciBmdW4gPSBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICByZXR1cm4gIm93bkFjY2Vzc29yUHJvcGVydHkiOw0KICAgICAgICB9Ow0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkocHJvdG8sICJwcm9wZXJ0eSIsIHsNCiAgICAgICAgICAgIGdldDogZnVuLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBDb24gPSBmdW5jdGlvbiAoKSB7IH07DQogICAgICAgIENvbi5wcm90b3R5cGUgPSBwcm90bzsNCg0KICAgICAgICB2YXIgY2hpbGQgPSBuZXcgQ29uKCk7DQoNCiAgICAgICAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGNoaWxkLCAicHJvcGVydHkiKTsNCg0KICAgICAgICByZXR1cm4gdHlwZW9mIGRlc2MgPT09ICJ1bmRlZmluZWQiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.getOwnPropertyDescriptor - 'P' is inherited accessor property","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-3-6.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMy8xNS4yLjMuMy0zLTcuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIC0gJ1AnIGlzIG93biBhY2Nlc3NvciBwcm9wZXJ0eSB0aGF0IG92ZXJyaWRlcyBhbiBpbmhlcml0ZWQgZGF0YSBwcm9wZXJ0eQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHByb3RvID0gew0KICAgICAgICAgICAgcHJvcGVydHk6ICJpbmhlcml0ZWREYXRhUHJvcGVydHkiDQogICAgICAgIH07DQoNCiAgICAgICAgdmFyIENvbiA9IGZ1bmN0aW9uICgpIHsgfTsNCiAgICAgICAgQ29uLnB0b3RvdHlwZSA9IHByb3RvOw0KDQogICAgICAgIHZhciBjaGlsZCA9IG5ldyBDb24oKTsNCiAgICAgICAgdmFyIGZ1biA9IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgIHJldHVybiAib3duQWNjZXNzb3JQcm9wZXJ0eSI7DQogICAgICAgIH07DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShjaGlsZCwgInByb3BlcnR5Iiwgew0KICAgICAgICAgICAgZ2V0OiBmdW4sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGNoaWxkLCAicHJvcGVydHkiKTsNCg0KICAgICAgICByZXR1cm4gZGVzYy5nZXQgPT09IGZ1bjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.getOwnPropertyDescriptor - 'P' is own accessor property that overrides an inherited data property","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-3-7.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMy8xNS4yLjMuMy0zLTguanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIC0gJ1AnIGlzIG93biBhY2Nlc3NvciBwcm9wZXJ0eSB0aGF0IG92ZXJyaWRlcyBhbiBpbmhlcml0ZWQgYWNjZXNzb3IgcHJvcGVydHkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBwcm90byA9IHt9Ow0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkocHJvdG8sICJwcm9wZXJ0eSIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiAiaW5oZXJpdGVkQWNjZXNzb3JQcm9wZXJ0eSI7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBDb24gPSBmdW5jdGlvbiAoKSB7IH07DQogICAgICAgIENvbi5wdG90b3R5cGUgPSBwcm90bzsNCg0KICAgICAgICB2YXIgY2hpbGQgPSBuZXcgQ29uKCk7DQogICAgICAgIHZhciBmdW4gPSBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICByZXR1cm4gIm93bkFjY2Vzc29yUHJvcGVydHkiOw0KICAgICAgICB9Ow0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoY2hpbGQsICJwcm9wZXJ0eSIsIHsNCiAgICAgICAgICAgIGdldDogZnVuLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihjaGlsZCwgInByb3BlcnR5Iik7DQoNCiAgICAgICAgcmV0dXJuIGRlc2MuZ2V0ID09PSBmdW47DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.getOwnPropertyDescriptor - 'P' is own accessor property that overrides an inherited accessor property","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-3-8.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMy8xNS4yLjMuMy0zLTkuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIC0gJ1AnIGlzIG93biBhY2Nlc3NvciBwcm9wZXJ0eSB3aXRob3V0IGEgZ2V0IGZ1bmN0aW9uDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIHZhciBmdW4gPSBmdW5jdGlvbiAoKSB7IH07DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wZXJ0eSIsIHsNCiAgICAgICAgICAgIHNldDogZnVuLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wZXJ0eSIpOw0KDQogICAgICAgIHJldHVybiBkZXNjLnNldCA9PT0gZnVuOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.getOwnPropertyDescriptor - 'P' is own accessor property without a get function","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-3-9.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMy8xNS4yLjMuMy00LTEuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIHJldHVybnMgYW4gb2JqZWN0IHJlcHJlc2VudGluZyBhIGRhdGEgZGVzYyBmb3IgdmFsaWQgZGF0YSB2YWx1ZWQgcHJvcGVydGllcw0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgdmFyIG8gPSB7fTsNCiAgICBvWyJmb28iXSA9IDEwMTsNCg0KICAgIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvLCAiZm9vIik7DQogICAgaWYgKGRlc2MudmFsdWUgPT09IDEwMSAmJg0KICAgICAgICBkZXNjLmVudW1lcmFibGUgPT09IHRydWUgJiYNCiAgICAgICAgZGVzYy53cml0YWJsZSA9PT0gdHJ1ZSAmJg0KICAgICAgICBkZXNjLmNvbmZpZ3VyYWJsZSA9PT0gdHJ1ZSAmJg0KICAgICAgICAhZGVzYy5oYXNPd25Qcm9wZXJ0eSgiZ2V0IikgJiYNCiAgICAgICAgIWRlc2MuaGFzT3duUHJvcGVydHkoInNldCIpKSB7DQogICAgICByZXR1cm4gdHJ1ZTsNCiAgICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.getOwnPropertyDescriptor returns an object representing a data desc for valid data valued properties","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMy8xNS4yLjMuMy00LTEwLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvciByZXR1cm5zIGRhdGEgZGVzYyBmb3IgZnVuY3Rpb25zIG9uIGJ1aWx0LWlucyAoR2xvYmFsLmRlY29kZVVSSUNvbXBvbmVudCkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgZ2xvYmFsID0gZm5HbG9iYWxPYmplY3QoKTsNCiAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGdsb2JhbCwgICJkZWNvZGVVUklDb21wb25lbnQiKTsNCiAgaWYgKGRlc2MudmFsdWUgPT09IGdsb2JhbC5kZWNvZGVVUklDb21wb25lbnQgJiYNCiAgICAgIGRlc2Mud3JpdGFibGUgPT09IHRydWUgJiYNCiAgICAgIGRlc2MuZW51bWVyYWJsZSA9PT0gZmFsc2UgJiYNCiAgICAgIGRlc2MuY29uZmlndXJhYmxlID09PSB0cnVlKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc for functions on built-ins (Global.decodeURIComponent)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-10.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMy8xNS4yLjMuMy00LTEwMC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgcmV0dXJucyBkYXRhIGRlc2MgZm9yIGZ1bmN0aW9ucyBvbiBidWlsdC1pbnMgKE1hdGguYXRhbjIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKE1hdGgsICJhdGFuMiIpOw0KICBpZiAoZGVzYy52YWx1ZSA9PT0gTWF0aC5hdGFuMiAmJg0KICAgICAgZGVzYy53cml0YWJsZSA9PT0gdHJ1ZSAmJg0KICAgICAgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5jb25maWd1cmFibGUgPT09IHRydWUpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc for functions on built-ins (Math.atan2)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-100.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMy8xNS4yLjMuMy00LTEwMS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgcmV0dXJucyBkYXRhIGRlc2MgZm9yIGZ1bmN0aW9ucyBvbiBidWlsdC1pbnMgKE1hdGguY2VpbCkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoTWF0aCwgImNlaWwiKTsNCiAgaWYgKGRlc2MudmFsdWUgPT09IE1hdGguY2VpbCAmJg0KICAgICAgZGVzYy53cml0YWJsZSA9PT0gdHJ1ZSAmJg0KICAgICAgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5jb25maWd1cmFibGUgPT09IHRydWUpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc for functions on built-ins (Math.ceil)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-101.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMy8xNS4yLjMuMy00LTEwMi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgcmV0dXJucyBkYXRhIGRlc2MgZm9yIGZ1bmN0aW9ucyBvbiBidWlsdC1pbnMgKE1hdGguY29zKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihNYXRoLCAiY29zIik7DQogIGlmIChkZXNjLnZhbHVlID09PSBNYXRoLmNvcyAmJg0KICAgICAgZGVzYy53cml0YWJsZSA9PT0gdHJ1ZSAmJg0KICAgICAgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5jb25maWd1cmFibGUgPT09IHRydWUpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc for functions on built-ins (Math.cos)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-102.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMy8xNS4yLjMuMy00LTEwMy5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgcmV0dXJucyBkYXRhIGRlc2MgZm9yIGZ1bmN0aW9ucyBvbiBidWlsdC1pbnMgKE1hdGguZXhwKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihNYXRoLCAiZXhwIik7DQogIGlmIChkZXNjLnZhbHVlID09PSBNYXRoLmV4cCAmJg0KICAgICAgZGVzYy53cml0YWJsZSA9PT0gdHJ1ZSAmJg0KICAgICAgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5jb25maWd1cmFibGUgPT09IHRydWUpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc for functions on built-ins (Math.exp)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-103.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMy8xNS4yLjMuMy00LTEwNC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgcmV0dXJucyBkYXRhIGRlc2MgZm9yIGZ1bmN0aW9ucyBvbiBidWlsdC1pbnMgKE1hdGguZmxvb3IpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKE1hdGgsICJmbG9vciIpOw0KICBpZiAoZGVzYy52YWx1ZSA9PT0gTWF0aC5mbG9vciAmJg0KICAgICAgZGVzYy53cml0YWJsZSA9PT0gdHJ1ZSAmJg0KICAgICAgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5jb25maWd1cmFibGUgPT09IHRydWUpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc for functions on built-ins (Math.floor)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-104.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMy8xNS4yLjMuMy00LTEwNS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgcmV0dXJucyBkYXRhIGRlc2MgZm9yIGZ1bmN0aW9ucyBvbiBidWlsdC1pbnMgKE1hdGgubG9nKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihNYXRoLCAibG9nIik7DQogIGlmIChkZXNjLnZhbHVlID09PSBNYXRoLmxvZyAmJg0KICAgICAgZGVzYy53cml0YWJsZSA9PT0gdHJ1ZSAmJg0KICAgICAgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5jb25maWd1cmFibGUgPT09IHRydWUpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc for functions on built-ins (Math.log)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-105.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMy8xNS4yLjMuMy00LTEwNi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgcmV0dXJucyBkYXRhIGRlc2MgZm9yIGZ1bmN0aW9ucyBvbiBidWlsdC1pbnMgKE1hdGgubWF4KQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihNYXRoLCAibWF4Iik7DQogIGlmIChkZXNjLnZhbHVlID09PSBNYXRoLm1heCAmJg0KICAgICAgZGVzYy53cml0YWJsZSA9PT0gdHJ1ZSAmJg0KICAgICAgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5jb25maWd1cmFibGUgPT09IHRydWUpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc for functions on built-ins (Math.max)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-106.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMy8xNS4yLjMuMy00LTEwNy5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgcmV0dXJucyBkYXRhIGRlc2MgZm9yIGZ1bmN0aW9ucyBvbiBidWlsdC1pbnMgKE1hdGgubWluKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihNYXRoLCAibWluIik7DQogIGlmIChkZXNjLnZhbHVlID09PSBNYXRoLm1pbiAmJg0KICAgICAgZGVzYy53cml0YWJsZSA9PT0gdHJ1ZSAmJg0KICAgICAgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5jb25maWd1cmFibGUgPT09IHRydWUpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc for functions on built-ins (Math.min)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-107.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMy8xNS4yLjMuMy00LTEwOC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgcmV0dXJucyBkYXRhIGRlc2MgZm9yIGZ1bmN0aW9ucyBvbiBidWlsdC1pbnMgKE1hdGgucG93KQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihNYXRoLCAicG93Iik7DQogIGlmIChkZXNjLnZhbHVlID09PSBNYXRoLnBvdyAmJg0KICAgICAgZGVzYy53cml0YWJsZSA9PT0gdHJ1ZSAmJg0KICAgICAgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5jb25maWd1cmFibGUgPT09IHRydWUpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc for functions on built-ins (Math.pow)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-108.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMy8xNS4yLjMuMy00LTEwOS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgcmV0dXJucyBkYXRhIGRlc2MgZm9yIGZ1bmN0aW9ucyBvbiBidWlsdC1pbnMgKE1hdGgucmFuZG9tKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihNYXRoLCAicmFuZG9tIik7DQogIGlmIChkZXNjLnZhbHVlID09PSBNYXRoLnJhbmRvbSAmJg0KICAgICAgZGVzYy53cml0YWJsZSA9PT0gdHJ1ZSAmJg0KICAgICAgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5jb25maWd1cmFibGUgPT09IHRydWUpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc for functions on built-ins (Math.random)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-109.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMy8xNS4yLjMuMy00LTExLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvciByZXR1cm5zIGRhdGEgZGVzYyBmb3IgZnVuY3Rpb25zIG9uIGJ1aWx0LWlucyAoR2xvYmFsLmVuY29kZVVSSUNvbXBvbmVudCkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgZ2xvYmFsID0gZm5HbG9iYWxPYmplY3QoKTsNCiAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGdsb2JhbCwgICJlbmNvZGVVUklDb21wb25lbnQiKTsNCiAgaWYgKGRlc2MudmFsdWUgPT09IGdsb2JhbC5lbmNvZGVVUklDb21wb25lbnQgJiYNCiAgICAgIGRlc2Mud3JpdGFibGUgPT09IHRydWUgJiYNCiAgICAgIGRlc2MuZW51bWVyYWJsZSA9PT0gZmFsc2UgJiYNCiAgICAgIGRlc2MuY29uZmlndXJhYmxlID09PSB0cnVlKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc for functions on built-ins (Global.encodeURIComponent)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-11.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMy8xNS4yLjMuMy00LTExMC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgcmV0dXJucyBkYXRhIGRlc2MgZm9yIGZ1bmN0aW9ucyBvbiBidWlsdC1pbnMgKE1hdGgucm91bmQpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKE1hdGgsICJyb3VuZCIpOw0KICBpZiAoZGVzYy52YWx1ZSA9PT0gTWF0aC5yb3VuZCAmJg0KICAgICAgZGVzYy53cml0YWJsZSA9PT0gdHJ1ZSAmJg0KICAgICAgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5jb25maWd1cmFibGUgPT09IHRydWUpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc for functions on built-ins (Math.round)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-110.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMy8xNS4yLjMuMy00LTExMS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgcmV0dXJucyBkYXRhIGRlc2MgZm9yIGZ1bmN0aW9ucyBvbiBidWlsdC1pbnMgKE1hdGguc2luKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihNYXRoLCAic2luIik7DQogIGlmIChkZXNjLnZhbHVlID09PSBNYXRoLnNpbiAmJg0KICAgICAgZGVzYy53cml0YWJsZSA9PT0gdHJ1ZSAmJg0KICAgICAgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5jb25maWd1cmFibGUgPT09IHRydWUpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc for functions on built-ins (Math.sin)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-111.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMy8xNS4yLjMuMy00LTExMi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgcmV0dXJucyBkYXRhIGRlc2MgZm9yIGZ1bmN0aW9ucyBvbiBidWlsdC1pbnMgKE1hdGguc3FydCkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoTWF0aCwgInNxcnQiKTsNCiAgaWYgKGRlc2MudmFsdWUgPT09IE1hdGguc3FydCAmJg0KICAgICAgZGVzYy53cml0YWJsZSA9PT0gdHJ1ZSAmJg0KICAgICAgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5jb25maWd1cmFibGUgPT09IHRydWUpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc for functions on built-ins (Math.sqrt)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-112.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMy8xNS4yLjMuMy00LTExMy5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgcmV0dXJucyBkYXRhIGRlc2MgZm9yIGZ1bmN0aW9ucyBvbiBidWlsdC1pbnMgKE1hdGgudGFuKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihNYXRoLCAidGFuIik7DQogIGlmIChkZXNjLnZhbHVlID09PSBNYXRoLnRhbiAmJg0KICAgICAgZGVzYy53cml0YWJsZSA9PT0gdHJ1ZSAmJg0KICAgICAgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5jb25maWd1cmFibGUgPT09IHRydWUpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc for functions on built-ins (Math.tan)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-113.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMy8xNS4yLjMuMy00LTExNC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgcmV0dXJucyBkYXRhIGRlc2MgZm9yIGZ1bmN0aW9ucyBvbiBidWlsdC1pbnMgKERhdGUucGFyc2UpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKERhdGUsICJwYXJzZSIpOw0KICBpZiAoZGVzYy52YWx1ZSA9PT0gRGF0ZS5wYXJzZSAmJg0KICAgICAgZGVzYy53cml0YWJsZSA9PT0gdHJ1ZSAmJg0KICAgICAgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5jb25maWd1cmFibGUgPT09IHRydWUpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc for functions on built-ins (Date.parse)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-114.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMy8xNS4yLjMuMy00LTExNS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgcmV0dXJucyBkYXRhIGRlc2MgZm9yIGZ1bmN0aW9ucyBvbiBidWlsdC1pbnMgKERhdGUuVVRDKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihEYXRlLCAiVVRDIik7DQogIGlmIChkZXNjLnZhbHVlID09PSBEYXRlLlVUQyAmJg0KICAgICAgZGVzYy53cml0YWJsZSA9PT0gdHJ1ZSAmJg0KICAgICAgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5jb25maWd1cmFibGUgPT09IHRydWUpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc for functions on built-ins (Date.UTC)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-115.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMy8xNS4yLjMuMy00LTExNi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgcmV0dXJucyBkYXRhIGRlc2MgZm9yIGZ1bmN0aW9ucyBvbiBidWlsdC1pbnMgKERhdGUucHJvdG90eXBlLmNvbnN0cnVjdG9yKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihEYXRlLnByb3RvdHlwZSwgImNvbnN0cnVjdG9yIik7DQogIGlmIChkZXNjLnZhbHVlID09PSBEYXRlLnByb3RvdHlwZS5jb25zdHJ1Y3RvciAmJg0KICAgICAgZGVzYy53cml0YWJsZSA9PT0gdHJ1ZSAmJg0KICAgICAgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5jb25maWd1cmFibGUgPT09IHRydWUpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc for functions on built-ins (Date.prototype.constructor)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-116.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMy8xNS4yLjMuMy00LTExNy5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgcmV0dXJucyBkYXRhIGRlc2MgZm9yIGZ1bmN0aW9ucyBvbiBidWlsdC1pbnMgKERhdGUucHJvdG90eXBlLmdldFRpbWUpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKERhdGUucHJvdG90eXBlLCAiZ2V0VGltZSIpOw0KICBpZiAoZGVzYy52YWx1ZSA9PT0gRGF0ZS5wcm90b3R5cGUuZ2V0VGltZSAmJg0KICAgICAgZGVzYy53cml0YWJsZSA9PT0gdHJ1ZSAmJg0KICAgICAgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5jb25maWd1cmFibGUgPT09IHRydWUpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc for functions on built-ins (Date.prototype.getTime)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-117.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMy8xNS4yLjMuMy00LTExOC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgcmV0dXJucyBkYXRhIGRlc2MgZm9yIGZ1bmN0aW9ucyBvbiBidWlsdC1pbnMgKERhdGUucHJvdG90eXBlLmdldFRpbWV6b25lT2Zmc2V0KQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihEYXRlLnByb3RvdHlwZSwgImdldFRpbWV6b25lT2Zmc2V0Iik7DQogIGlmIChkZXNjLnZhbHVlID09PSBEYXRlLnByb3RvdHlwZS5nZXRUaW1lem9uZU9mZnNldCAmJg0KICAgICAgZGVzYy53cml0YWJsZSA9PT0gdHJ1ZSAmJg0KICAgICAgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5jb25maWd1cmFibGUgPT09IHRydWUpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc for functions on built-ins (Date.prototype.getTimezoneOffset)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-118.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMy8xNS4yLjMuMy00LTExOS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgcmV0dXJucyBkYXRhIGRlc2MgZm9yIGZ1bmN0aW9ucyBvbiBidWlsdC1pbnMgKERhdGUucHJvdG90eXBlLmdldFllYXIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKERhdGUucHJvdG90eXBlLCAiZ2V0WWVhciIpOw0KICBpZiAoZGVzYy52YWx1ZSA9PT0gRGF0ZS5wcm90b3R5cGUuZ2V0WWVhciAmJg0KICAgICAgZGVzYy53cml0YWJsZSA9PT0gdHJ1ZSAmJg0KICAgICAgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5jb25maWd1cmFibGUgPT09IHRydWUpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc for functions on built-ins (Date.prototype.getYear)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-119.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMy8xNS4yLjMuMy00LTEyLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvciByZXR1cm5zIGRhdGEgZGVzYyBmb3IgZnVuY3Rpb25zIG9uIGJ1aWx0LWlucyAoR2xvYmFsLmVzY2FwZSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgZ2xvYmFsID0gZm5HbG9iYWxPYmplY3QoKTsNCiAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGdsb2JhbCwgImVzY2FwZSIpOw0KICBpZiAoZGVzYy52YWx1ZSA9PT0gZ2xvYmFsLmVzY2FwZSAmJg0KICAgICAgZGVzYy53cml0YWJsZSA9PT0gdHJ1ZSAmJg0KICAgICAgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5jb25maWd1cmFibGUgPT09IHRydWUpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc for functions on built-ins (Global.escape)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-12.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMy8xNS4yLjMuMy00LTEyMC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgcmV0dXJucyBkYXRhIGRlc2MgZm9yIGZ1bmN0aW9ucyBvbiBidWlsdC1pbnMgKERhdGUucHJvdG90eXBlLmdldEZ1bGxZZWFyKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihEYXRlLnByb3RvdHlwZSwgImdldEZ1bGxZZWFyIik7DQogIGlmIChkZXNjLnZhbHVlID09PSBEYXRlLnByb3RvdHlwZS5nZXRGdWxsWWVhciAmJg0KICAgICAgZGVzYy53cml0YWJsZSA9PT0gdHJ1ZSAmJg0KICAgICAgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5jb25maWd1cmFibGUgPT09IHRydWUpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc for functions on built-ins (Date.prototype.getFullYear)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-120.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMy8xNS4yLjMuMy00LTEyMS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgcmV0dXJucyBkYXRhIGRlc2MgZm9yIGZ1bmN0aW9ucyBvbiBidWlsdC1pbnMgKERhdGUucHJvdG90eXBlLmdldE1vbnRoKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihEYXRlLnByb3RvdHlwZSwgImdldE1vbnRoIik7DQogIGlmIChkZXNjLnZhbHVlID09PSBEYXRlLnByb3RvdHlwZS5nZXRNb250aCAmJg0KICAgICAgZGVzYy53cml0YWJsZSA9PT0gdHJ1ZSAmJg0KICAgICAgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5jb25maWd1cmFibGUgPT09IHRydWUpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc for functions on built-ins (Date.prototype.getMonth)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-121.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMy8xNS4yLjMuMy00LTEyMi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgcmV0dXJucyBkYXRhIGRlc2MgZm9yIGZ1bmN0aW9ucyBvbiBidWlsdC1pbnMgKERhdGUucHJvdG90eXBlLmdldERhdGUpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKERhdGUucHJvdG90eXBlLCAiZ2V0RGF0ZSIpOw0KICBpZiAoZGVzYy52YWx1ZSA9PT0gRGF0ZS5wcm90b3R5cGUuZ2V0RGF0ZSAmJg0KICAgICAgZGVzYy53cml0YWJsZSA9PT0gdHJ1ZSAmJg0KICAgICAgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5jb25maWd1cmFibGUgPT09IHRydWUpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc for functions on built-ins (Date.prototype.getDate)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-122.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMy8xNS4yLjMuMy00LTEyMy5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgcmV0dXJucyBkYXRhIGRlc2MgZm9yIGZ1bmN0aW9ucyBvbiBidWlsdC1pbnMgKERhdGUucHJvdG90eXBlLmdldERheSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoRGF0ZS5wcm90b3R5cGUsICJnZXREYXkiKTsNCiAgaWYgKGRlc2MudmFsdWUgPT09IERhdGUucHJvdG90eXBlLmdldERheSAmJg0KICAgICAgZGVzYy53cml0YWJsZSA9PT0gdHJ1ZSAmJg0KICAgICAgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5jb25maWd1cmFibGUgPT09IHRydWUpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc for functions on built-ins (Date.prototype.getDay)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-123.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMy8xNS4yLjMuMy00LTEyNC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgcmV0dXJucyBkYXRhIGRlc2MgZm9yIGZ1bmN0aW9ucyBvbiBidWlsdC1pbnMgKERhdGUucHJvdG90eXBlLmdldEhvdXJzKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihEYXRlLnByb3RvdHlwZSwgImdldEhvdXJzIik7DQogIGlmIChkZXNjLnZhbHVlID09PSBEYXRlLnByb3RvdHlwZS5nZXRIb3VycyAmJg0KICAgICAgZGVzYy53cml0YWJsZSA9PT0gdHJ1ZSAmJg0KICAgICAgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5jb25maWd1cmFibGUgPT09IHRydWUpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc for functions on built-ins (Date.prototype.getHours)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-124.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMy8xNS4yLjMuMy00LTEyNS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgcmV0dXJucyBkYXRhIGRlc2MgZm9yIGZ1bmN0aW9ucyBvbiBidWlsdC1pbnMgKERhdGUucHJvdG90eXBlLmdldE1pbnV0ZXMpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKERhdGUucHJvdG90eXBlLCAiZ2V0TWludXRlcyIpOw0KICBpZiAoZGVzYy52YWx1ZSA9PT0gRGF0ZS5wcm90b3R5cGUuZ2V0TWludXRlcyAmJg0KICAgICAgZGVzYy53cml0YWJsZSA9PT0gdHJ1ZSAmJg0KICAgICAgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5jb25maWd1cmFibGUgPT09IHRydWUpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc for functions on built-ins (Date.prototype.getMinutes)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-125.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMy8xNS4yLjMuMy00LTEyNi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgcmV0dXJucyBkYXRhIGRlc2MgZm9yIGZ1bmN0aW9ucyBvbiBidWlsdC1pbnMgKERhdGUucHJvdG90eXBlLmdldFNlY29uZHMpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKERhdGUucHJvdG90eXBlLCAiZ2V0U2Vjb25kcyIpOw0KICBpZiAoZGVzYy52YWx1ZSA9PT0gRGF0ZS5wcm90b3R5cGUuZ2V0U2Vjb25kcyAmJg0KICAgICAgZGVzYy53cml0YWJsZSA9PT0gdHJ1ZSAmJg0KICAgICAgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5jb25maWd1cmFibGUgPT09IHRydWUpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc for functions on built-ins (Date.prototype.getSeconds)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-126.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMy8xNS4yLjMuMy00LTEyNy5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgcmV0dXJucyBkYXRhIGRlc2MgZm9yIGZ1bmN0aW9ucyBvbiBidWlsdC1pbnMgKERhdGUucHJvdG90eXBlLmdldE1pbGxpc2Vjb25kcykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoRGF0ZS5wcm90b3R5cGUsICJnZXRNaWxsaXNlY29uZHMiKTsNCiAgaWYgKGRlc2MudmFsdWUgPT09IERhdGUucHJvdG90eXBlLmdldE1pbGxpc2Vjb25kcyAmJg0KICAgICAgZGVzYy53cml0YWJsZSA9PT0gdHJ1ZSAmJg0KICAgICAgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5jb25maWd1cmFibGUgPT09IHRydWUpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc for functions on built-ins (Date.prototype.getMilliseconds)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-127.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMy8xNS4yLjMuMy00LTEyOC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgcmV0dXJucyBkYXRhIGRlc2MgZm9yIGZ1bmN0aW9ucyBvbiBidWlsdC1pbnMgKERhdGUucHJvdG90eXBlLmdldFVUQ0Z1bGxZZWFyKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihEYXRlLnByb3RvdHlwZSwgImdldFVUQ0Z1bGxZZWFyIik7DQogIGlmIChkZXNjLnZhbHVlID09PSBEYXRlLnByb3RvdHlwZS5nZXRVVENGdWxsWWVhciAmJg0KICAgICAgZGVzYy53cml0YWJsZSA9PT0gdHJ1ZSAmJg0KICAgICAgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5jb25maWd1cmFibGUgPT09IHRydWUpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc for functions on built-ins (Date.prototype.getUTCFullYear)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-128.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMy8xNS4yLjMuMy00LTEyOS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgcmV0dXJucyBkYXRhIGRlc2MgZm9yIGZ1bmN0aW9ucyBvbiBidWlsdC1pbnMgKERhdGUucHJvdG90eXBlLmdldFVUQ01vbnRoKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihEYXRlLnByb3RvdHlwZSwgImdldFVUQ01vbnRoIik7DQogIGlmIChkZXNjLnZhbHVlID09PSBEYXRlLnByb3RvdHlwZS5nZXRVVENNb250aCAmJg0KICAgICAgZGVzYy53cml0YWJsZSA9PT0gdHJ1ZSAmJg0KICAgICAgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5jb25maWd1cmFibGUgPT09IHRydWUpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc for functions on built-ins (Date.prototype.getUTCMonth)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-129.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMy8xNS4yLjMuMy00LTEzLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvciByZXR1cm5zIGRhdGEgZGVzYyBmb3IgZnVuY3Rpb25zIG9uIGJ1aWx0LWlucyAoR2xvYmFsLnVuZXNjYXBlKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBnbG9iYWwgPSBmbkdsb2JhbE9iamVjdCgpOw0KICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoZ2xvYmFsLCAgInVuZXNjYXBlIik7DQogIGlmIChkZXNjLnZhbHVlID09PSBnbG9iYWwudW5lc2NhcGUgJiYNCiAgICAgIGRlc2Mud3JpdGFibGUgPT09IHRydWUgJiYNCiAgICAgIGRlc2MuZW51bWVyYWJsZSA9PT0gZmFsc2UgJiYNCiAgICAgIGRlc2MuY29uZmlndXJhYmxlID09PSB0cnVlKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc for functions on built-ins (Global.unescape)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-13.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMy8xNS4yLjMuMy00LTEzMC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgcmV0dXJucyBkYXRhIGRlc2MgZm9yIGZ1bmN0aW9ucyBvbiBidWlsdC1pbnMgKERhdGUucHJvdG90eXBlLmdldFVUQ0RhdGUpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKERhdGUucHJvdG90eXBlLCAiZ2V0VVRDRGF0ZSIpOw0KICBpZiAoZGVzYy52YWx1ZSA9PT0gRGF0ZS5wcm90b3R5cGUuZ2V0VVRDRGF0ZSAmJg0KICAgICAgZGVzYy53cml0YWJsZSA9PT0gdHJ1ZSAmJg0KICAgICAgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5jb25maWd1cmFibGUgPT09IHRydWUpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc for functions on built-ins (Date.prototype.getUTCDate)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-130.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMy8xNS4yLjMuMy00LTEzMS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgcmV0dXJucyBkYXRhIGRlc2MgZm9yIGZ1bmN0aW9ucyBvbiBidWlsdC1pbnMgKERhdGUucHJvdG90eXBlLmdldFVUQ0RheSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoRGF0ZS5wcm90b3R5cGUsICJnZXRVVENEYXkiKTsNCiAgaWYgKGRlc2MudmFsdWUgPT09IERhdGUucHJvdG90eXBlLmdldFVUQ0RheSAmJg0KICAgICAgZGVzYy53cml0YWJsZSA9PT0gdHJ1ZSAmJg0KICAgICAgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5jb25maWd1cmFibGUgPT09IHRydWUpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc for functions on built-ins (Date.prototype.getUTCDay)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-131.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMy8xNS4yLjMuMy00LTEzMi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgcmV0dXJucyBkYXRhIGRlc2MgZm9yIGZ1bmN0aW9ucyBvbiBidWlsdC1pbnMgKERhdGUucHJvdG90eXBlLmdldFVUQ0hvdXJzKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihEYXRlLnByb3RvdHlwZSwgImdldFVUQ0hvdXJzIik7DQogIGlmIChkZXNjLnZhbHVlID09PSBEYXRlLnByb3RvdHlwZS5nZXRVVENIb3VycyAmJg0KICAgICAgZGVzYy53cml0YWJsZSA9PT0gdHJ1ZSAmJg0KICAgICAgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5jb25maWd1cmFibGUgPT09IHRydWUpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc for functions on built-ins (Date.prototype.getUTCHours)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-132.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMy8xNS4yLjMuMy00LTEzMy5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgcmV0dXJucyBkYXRhIGRlc2MgZm9yIGZ1bmN0aW9ucyBvbiBidWlsdC1pbnMgKERhdGUucHJvdG90eXBlLmdldFVUQ01pbnV0ZXMpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKERhdGUucHJvdG90eXBlLCAiZ2V0VVRDTWludXRlcyIpOw0KICBpZiAoZGVzYy52YWx1ZSA9PT0gRGF0ZS5wcm90b3R5cGUuZ2V0VVRDTWludXRlcyAmJg0KICAgICAgZGVzYy53cml0YWJsZSA9PT0gdHJ1ZSAmJg0KICAgICAgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5jb25maWd1cmFibGUgPT09IHRydWUpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc for functions on built-ins (Date.prototype.getUTCMinutes)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-133.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMy8xNS4yLjMuMy00LTEzNC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgcmV0dXJucyBkYXRhIGRlc2MgZm9yIGZ1bmN0aW9ucyBvbiBidWlsdC1pbnMgKERhdGUucHJvdG90eXBlLmdldFVUQ1NlY29uZHMpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKERhdGUucHJvdG90eXBlLCAiZ2V0VVRDU2Vjb25kcyIpOw0KICBpZiAoZGVzYy52YWx1ZSA9PT0gRGF0ZS5wcm90b3R5cGUuZ2V0VVRDU2Vjb25kcyAmJg0KICAgICAgZGVzYy53cml0YWJsZSA9PT0gdHJ1ZSAmJg0KICAgICAgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5jb25maWd1cmFibGUgPT09IHRydWUpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc for functions on built-ins (Date.prototype.getUTCSeconds)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-134.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMy8xNS4yLjMuMy00LTEzNS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgcmV0dXJucyBkYXRhIGRlc2MgZm9yIGZ1bmN0aW9ucyBvbiBidWlsdC1pbnMgKERhdGUucHJvdG90eXBlLmdldFVUQ01pbGxpc2Vjb25kcykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoRGF0ZS5wcm90b3R5cGUsICJnZXRVVENNaWxsaXNlY29uZHMiKTsNCiAgaWYgKGRlc2MudmFsdWUgPT09IERhdGUucHJvdG90eXBlLmdldFVUQ01pbGxpc2Vjb25kcyAmJg0KICAgICAgZGVzYy53cml0YWJsZSA9PT0gdHJ1ZSAmJg0KICAgICAgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5jb25maWd1cmFibGUgPT09IHRydWUpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc for functions on built-ins (Date.prototype.getUTCMilliseconds)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-135.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMy8xNS4yLjMuMy00LTEzNi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgcmV0dXJucyBkYXRhIGRlc2MgZm9yIGZ1bmN0aW9ucyBvbiBidWlsdC1pbnMgKERhdGUucHJvdG90eXBlLnNldFRpbWUpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKERhdGUucHJvdG90eXBlLCAic2V0VGltZSIpOw0KICBpZiAoZGVzYy52YWx1ZSA9PT0gRGF0ZS5wcm90b3R5cGUuc2V0VGltZSAmJg0KICAgICAgZGVzYy53cml0YWJsZSA9PT0gdHJ1ZSAmJg0KICAgICAgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5jb25maWd1cmFibGUgPT09IHRydWUpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc for functions on built-ins (Date.prototype.setTime)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-136.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMy8xNS4yLjMuMy00LTEzNy5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgcmV0dXJucyBkYXRhIGRlc2MgZm9yIGZ1bmN0aW9ucyBvbiBidWlsdC1pbnMgKERhdGUucHJvdG90eXBlLnNldFllYXIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKERhdGUucHJvdG90eXBlLCAic2V0WWVhciIpOw0KICBpZiAoZGVzYy52YWx1ZSA9PT0gRGF0ZS5wcm90b3R5cGUuc2V0WWVhciAmJg0KICAgICAgZGVzYy53cml0YWJsZSA9PT0gdHJ1ZSAmJg0KICAgICAgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5jb25maWd1cmFibGUgPT09IHRydWUpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc for functions on built-ins (Date.prototype.setYear)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-137.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMy8xNS4yLjMuMy00LTEzOC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgcmV0dXJucyBkYXRhIGRlc2MgZm9yIGZ1bmN0aW9ucyBvbiBidWlsdC1pbnMgKERhdGUucHJvdG90eXBlLnNldEZ1bGxZZWFyKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihEYXRlLnByb3RvdHlwZSwgInNldEZ1bGxZZWFyIik7DQogIGlmIChkZXNjLnZhbHVlID09PSBEYXRlLnByb3RvdHlwZS5zZXRGdWxsWWVhciAmJg0KICAgICAgZGVzYy53cml0YWJsZSA9PT0gdHJ1ZSAmJg0KICAgICAgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5jb25maWd1cmFibGUgPT09IHRydWUpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc for functions on built-ins (Date.prototype.setFullYear)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-138.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMy8xNS4yLjMuMy00LTEzOS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgcmV0dXJucyBkYXRhIGRlc2MgZm9yIGZ1bmN0aW9ucyBvbiBidWlsdC1pbnMgKERhdGUucHJvdG90eXBlLnNldE1vbnRoKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihEYXRlLnByb3RvdHlwZSwgInNldE1vbnRoIik7DQogIGlmIChkZXNjLnZhbHVlID09PSBEYXRlLnByb3RvdHlwZS5zZXRNb250aCAmJg0KICAgICAgZGVzYy53cml0YWJsZSA9PT0gdHJ1ZSAmJg0KICAgICAgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5jb25maWd1cmFibGUgPT09IHRydWUpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc for functions on built-ins (Date.prototype.setMonth)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-139.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMy8xNS4yLjMuMy00LTE0LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvciByZXR1cm5zIGRhdGEgZGVzYyBmb3IgZnVuY3Rpb25zIG9uIGJ1aWx0LWlucyAoT2JqZWN0LmdldFByb3RvdHlwZU9mKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihPYmplY3QsICJnZXRQcm90b3R5cGVPZiIpOw0KICBpZiAoZGVzYy52YWx1ZSA9PT0gT2JqZWN0LmdldFByb3RvdHlwZU9mICYmDQogICAgICBkZXNjLndyaXRhYmxlID09PSB0cnVlICYmDQogICAgICBkZXNjLmVudW1lcmFibGUgPT09IGZhbHNlICYmDQogICAgICBkZXNjLmNvbmZpZ3VyYWJsZSA9PT0gdHJ1ZSkgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc for functions on built-ins (Object.getPrototypeOf)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-14.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMy8xNS4yLjMuMy00LTE0MC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgcmV0dXJucyBkYXRhIGRlc2MgZm9yIGZ1bmN0aW9ucyBvbiBidWlsdC1pbnMgKERhdGUucHJvdG90eXBlLnNldERhdGUpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKERhdGUucHJvdG90eXBlLCAic2V0RGF0ZSIpOw0KICBpZiAoZGVzYy52YWx1ZSA9PT0gRGF0ZS5wcm90b3R5cGUuc2V0RGF0ZSAmJg0KICAgICAgZGVzYy53cml0YWJsZSA9PT0gdHJ1ZSAmJg0KICAgICAgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5jb25maWd1cmFibGUgPT09IHRydWUpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc for functions on built-ins (Date.prototype.setDate)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-140.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMy8xNS4yLjMuMy00LTE0MS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgcmV0dXJucyBkYXRhIGRlc2MgZm9yIGZ1bmN0aW9ucyBvbiBidWlsdC1pbnMgKERhdGUucHJvdG90eXBlLnNldEhvdXJzKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihEYXRlLnByb3RvdHlwZSwgInNldEhvdXJzIik7DQogIGlmIChkZXNjLnZhbHVlID09PSBEYXRlLnByb3RvdHlwZS5zZXRIb3VycyAmJg0KICAgICAgZGVzYy53cml0YWJsZSA9PT0gdHJ1ZSAmJg0KICAgICAgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5jb25maWd1cmFibGUgPT09IHRydWUpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc for functions on built-ins (Date.prototype.setHours)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-141.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMy8xNS4yLjMuMy00LTE0Mi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgcmV0dXJucyBkYXRhIGRlc2MgZm9yIGZ1bmN0aW9ucyBvbiBidWlsdC1pbnMgKERhdGUucHJvdG90eXBlLnNldE1pbnV0ZXMpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKERhdGUucHJvdG90eXBlLCAic2V0TWludXRlcyIpOw0KICBpZiAoZGVzYy52YWx1ZSA9PT0gRGF0ZS5wcm90b3R5cGUuc2V0TWludXRlcyAmJg0KICAgICAgZGVzYy53cml0YWJsZSA9PT0gdHJ1ZSAmJg0KICAgICAgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5jb25maWd1cmFibGUgPT09IHRydWUpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc for functions on built-ins (Date.prototype.setMinutes)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-142.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMy8xNS4yLjMuMy00LTE0My5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgcmV0dXJucyBkYXRhIGRlc2MgZm9yIGZ1bmN0aW9ucyBvbiBidWlsdC1pbnMgKERhdGUucHJvdG90eXBlLnNldFNlY29uZHMpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKERhdGUucHJvdG90eXBlLCAic2V0U2Vjb25kcyIpOw0KICBpZiAoZGVzYy52YWx1ZSA9PT0gRGF0ZS5wcm90b3R5cGUuc2V0U2Vjb25kcyAmJg0KICAgICAgZGVzYy53cml0YWJsZSA9PT0gdHJ1ZSAmJg0KICAgICAgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5jb25maWd1cmFibGUgPT09IHRydWUpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc for functions on built-ins (Date.prototype.setSeconds)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-143.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMy8xNS4yLjMuMy00LTE0NC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgcmV0dXJucyBkYXRhIGRlc2MgZm9yIGZ1bmN0aW9ucyBvbiBidWlsdC1pbnMgKERhdGUucHJvdG90eXBlLnNldE1pbGxpc2Vjb25kcykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoRGF0ZS5wcm90b3R5cGUsICJzZXRNaWxsaXNlY29uZHMiKTsNCiAgaWYgKGRlc2MudmFsdWUgPT09IERhdGUucHJvdG90eXBlLnNldE1pbGxpc2Vjb25kcyAmJg0KICAgICAgZGVzYy53cml0YWJsZSA9PT0gdHJ1ZSAmJg0KICAgICAgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5jb25maWd1cmFibGUgPT09IHRydWUpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc for functions on built-ins (Date.prototype.setMilliseconds)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-144.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMy8xNS4yLjMuMy00LTE0NS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgcmV0dXJucyBkYXRhIGRlc2MgZm9yIGZ1bmN0aW9ucyBvbiBidWlsdC1pbnMgKERhdGUucHJvdG90eXBlLnNldFVUQ0Z1bGxZZWFyKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihEYXRlLnByb3RvdHlwZSwgInNldFVUQ0Z1bGxZZWFyIik7DQogIGlmIChkZXNjLnZhbHVlID09PSBEYXRlLnByb3RvdHlwZS5zZXRVVENGdWxsWWVhciAmJg0KICAgICAgZGVzYy53cml0YWJsZSA9PT0gdHJ1ZSAmJg0KICAgICAgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5jb25maWd1cmFibGUgPT09IHRydWUpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc for functions on built-ins (Date.prototype.setUTCFullYear)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-145.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMy8xNS4yLjMuMy00LTE0Ni5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgcmV0dXJucyBkYXRhIGRlc2MgZm9yIGZ1bmN0aW9ucyBvbiBidWlsdC1pbnMgKERhdGUucHJvdG90eXBlLnNldFVUQ01vbnRoKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihEYXRlLnByb3RvdHlwZSwgInNldFVUQ01vbnRoIik7DQogIGlmIChkZXNjLnZhbHVlID09PSBEYXRlLnByb3RvdHlwZS5zZXRVVENNb250aCAmJg0KICAgICAgZGVzYy53cml0YWJsZSA9PT0gdHJ1ZSAmJg0KICAgICAgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5jb25maWd1cmFibGUgPT09IHRydWUpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc for functions on built-ins (Date.prototype.setUTCMonth)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-146.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMy8xNS4yLjMuMy00LTE0Ny5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgcmV0dXJucyBkYXRhIGRlc2MgZm9yIGZ1bmN0aW9ucyBvbiBidWlsdC1pbnMgKERhdGUucHJvdG90eXBlLnNldFVUQ0RhdGUpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKERhdGUucHJvdG90eXBlLCAic2V0VVRDRGF0ZSIpOw0KICBpZiAoZGVzYy52YWx1ZSA9PT0gRGF0ZS5wcm90b3R5cGUuc2V0VVRDRGF0ZSAmJg0KICAgICAgZGVzYy53cml0YWJsZSA9PT0gdHJ1ZSAmJg0KICAgICAgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5jb25maWd1cmFibGUgPT09IHRydWUpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc for functions on built-ins (Date.prototype.setUTCDate)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-147.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMy8xNS4yLjMuMy00LTE0OC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgcmV0dXJucyBkYXRhIGRlc2MgZm9yIGZ1bmN0aW9ucyBvbiBidWlsdC1pbnMgKERhdGUucHJvdG90eXBlLnNldFVUQ0hvdXJzKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihEYXRlLnByb3RvdHlwZSwgInNldFVUQ0hvdXJzIik7DQogIGlmIChkZXNjLnZhbHVlID09PSBEYXRlLnByb3RvdHlwZS5zZXRVVENIb3VycyAmJg0KICAgICAgZGVzYy53cml0YWJsZSA9PT0gdHJ1ZSAmJg0KICAgICAgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5jb25maWd1cmFibGUgPT09IHRydWUpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc for functions on built-ins (Date.prototype.setUTCHours)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-148.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMy8xNS4yLjMuMy00LTE0OS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgcmV0dXJucyBkYXRhIGRlc2MgZm9yIGZ1bmN0aW9ucyBvbiBidWlsdC1pbnMgKERhdGUucHJvdG90eXBlLnNldFVUQ01pbnV0ZXMpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKERhdGUucHJvdG90eXBlLCAic2V0VVRDTWludXRlcyIpOw0KICBpZiAoZGVzYy52YWx1ZSA9PT0gRGF0ZS5wcm90b3R5cGUuc2V0VVRDTWludXRlcyAmJg0KICAgICAgZGVzYy53cml0YWJsZSA9PT0gdHJ1ZSAmJg0KICAgICAgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5jb25maWd1cmFibGUgPT09IHRydWUpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc for functions on built-ins (Date.prototype.setUTCMinutes)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-149.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMy8xNS4yLjMuMy00LTE1LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvciByZXR1cm5zIGRhdGEgZGVzYyBmb3IgZnVuY3Rpb25zIG9uIGJ1aWx0LWlucyAoT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoT2JqZWN0LCAiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIik7DQogIGlmIChkZXNjLnZhbHVlID09PSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yICYmDQogICAgICBkZXNjLndyaXRhYmxlID09PSB0cnVlICYmDQogICAgICBkZXNjLmVudW1lcmFibGUgPT09IGZhbHNlICYmDQogICAgICBkZXNjLmNvbmZpZ3VyYWJsZSA9PT0gdHJ1ZSkgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc for functions on built-ins (Object.getOwnPropertyDescriptor)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-15.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMy8xNS4yLjMuMy00LTE1MC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgcmV0dXJucyBkYXRhIGRlc2MgZm9yIGZ1bmN0aW9ucyBvbiBidWlsdC1pbnMgKERhdGUucHJvdG90eXBlLnNldFVUQ1NlY29uZHMpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKERhdGUucHJvdG90eXBlLCAic2V0VVRDU2Vjb25kcyIpOw0KICBpZiAoZGVzYy52YWx1ZSA9PT0gRGF0ZS5wcm90b3R5cGUuc2V0VVRDU2Vjb25kcyAmJg0KICAgICAgZGVzYy53cml0YWJsZSA9PT0gdHJ1ZSAmJg0KICAgICAgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5jb25maWd1cmFibGUgPT09IHRydWUpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc for functions on built-ins (Date.prototype.setUTCSeconds)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-150.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMy8xNS4yLjMuMy00LTE1MS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgcmV0dXJucyBkYXRhIGRlc2MgZm9yIGZ1bmN0aW9ucyBvbiBidWlsdC1pbnMgKERhdGUucHJvdG90eXBlLnNldFVUQ01pbGxpc2Vjb25kcykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoRGF0ZS5wcm90b3R5cGUsICJzZXRVVENNaWxsaXNlY29uZHMiKTsNCiAgaWYgKGRlc2MudmFsdWUgPT09IERhdGUucHJvdG90eXBlLnNldFVUQ01pbGxpc2Vjb25kcyAmJg0KICAgICAgZGVzYy53cml0YWJsZSA9PT0gdHJ1ZSAmJg0KICAgICAgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5jb25maWd1cmFibGUgPT09IHRydWUpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc for functions on built-ins (Date.prototype.setUTCMilliseconds)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-151.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMy8xNS4yLjMuMy00LTE1Mi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgcmV0dXJucyBkYXRhIGRlc2MgZm9yIGZ1bmN0aW9ucyBvbiBidWlsdC1pbnMgKERhdGUucHJvdG90eXBlLnRvTG9jYWxlU3RyaW5nKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihEYXRlLnByb3RvdHlwZSwgInRvTG9jYWxlU3RyaW5nIik7DQogIGlmIChkZXNjLnZhbHVlID09PSBEYXRlLnByb3RvdHlwZS50b0xvY2FsZVN0cmluZyAmJg0KICAgICAgZGVzYy53cml0YWJsZSA9PT0gdHJ1ZSAmJg0KICAgICAgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5jb25maWd1cmFibGUgPT09IHRydWUpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc for functions on built-ins (Date.prototype.toLocaleString)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-152.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMy8xNS4yLjMuMy00LTE1My5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgcmV0dXJucyBkYXRhIGRlc2MgZm9yIGZ1bmN0aW9ucyBvbiBidWlsdC1pbnMgKERhdGUucHJvdG90eXBlLnRvU3RyaW5nKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihEYXRlLnByb3RvdHlwZSwgInRvU3RyaW5nIik7DQogIGlmIChkZXNjLnZhbHVlID09PSBEYXRlLnByb3RvdHlwZS50b1N0cmluZyAmJg0KICAgICAgZGVzYy53cml0YWJsZSA9PT0gdHJ1ZSAmJg0KICAgICAgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5jb25maWd1cmFibGUgPT09IHRydWUpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc for functions on built-ins (Date.prototype.toString)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-153.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMy8xNS4yLjMuMy00LTE1NC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgcmV0dXJucyBkYXRhIGRlc2MgZm9yIGZ1bmN0aW9ucyBvbiBidWlsdC1pbnMgKERhdGUucHJvdG90eXBlLnRvVVRDU3RyaW5nKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihEYXRlLnByb3RvdHlwZSwgInRvVVRDU3RyaW5nIik7DQogIGlmIChkZXNjLnZhbHVlID09PSBEYXRlLnByb3RvdHlwZS50b1VUQ1N0cmluZyAmJg0KICAgICAgZGVzYy53cml0YWJsZSA9PT0gdHJ1ZSAmJg0KICAgICAgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5jb25maWd1cmFibGUgPT09IHRydWUpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc for functions on built-ins (Date.prototype.toUTCString)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-154.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMy8xNS4yLjMuMy00LTE1NS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgcmV0dXJucyBkYXRhIGRlc2MgZm9yIGZ1bmN0aW9ucyBvbiBidWlsdC1pbnMgKERhdGUucHJvdG90eXBlLnRvR01UU3RyaW5nKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihEYXRlLnByb3RvdHlwZSwgInRvR01UU3RyaW5nIik7DQogIGlmIChkZXNjLnZhbHVlID09PSBEYXRlLnByb3RvdHlwZS50b0dNVFN0cmluZyAmJg0KICAgICAgZGVzYy53cml0YWJsZSA9PT0gdHJ1ZSAmJg0KICAgICAgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5jb25maWd1cmFibGUgPT09IHRydWUpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc for functions on built-ins (Date.prototype.toGMTString)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-155.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMy8xNS4yLjMuMy00LTE1Ni5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgcmV0dXJucyBkYXRhIGRlc2MgZm9yIGZ1bmN0aW9ucyBvbiBidWlsdC1pbnMgKERhdGUucHJvdG90eXBlLnRvVGltZVN0cmluZykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoRGF0ZS5wcm90b3R5cGUsICJ0b1RpbWVTdHJpbmciKTsNCiAgaWYgKGRlc2MudmFsdWUgPT09IERhdGUucHJvdG90eXBlLnRvVGltZVN0cmluZyAmJg0KICAgICAgZGVzYy53cml0YWJsZSA9PT0gdHJ1ZSAmJg0KICAgICAgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5jb25maWd1cmFibGUgPT09IHRydWUpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc for functions on built-ins (Date.prototype.toTimeString)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-156.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMy8xNS4yLjMuMy00LTE1Ny5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgcmV0dXJucyBkYXRhIGRlc2MgZm9yIGZ1bmN0aW9ucyBvbiBidWlsdC1pbnMgKERhdGUucHJvdG90eXBlLnRvRGF0ZVN0cmluZykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoRGF0ZS5wcm90b3R5cGUsICJ0b0RhdGVTdHJpbmciKTsNCiAgaWYgKGRlc2MudmFsdWUgPT09IERhdGUucHJvdG90eXBlLnRvRGF0ZVN0cmluZyAmJg0KICAgICAgZGVzYy53cml0YWJsZSA9PT0gdHJ1ZSAmJg0KICAgICAgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5jb25maWd1cmFibGUgPT09IHRydWUpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc for functions on built-ins (Date.prototype.toDateString)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-157.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMy8xNS4yLjMuMy00LTE1OC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgcmV0dXJucyBkYXRhIGRlc2MgZm9yIGZ1bmN0aW9ucyBvbiBidWlsdC1pbnMgKERhdGUucHJvdG90eXBlLnRvTG9jYWxlRGF0ZVN0cmluZykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoRGF0ZS5wcm90b3R5cGUsICJ0b0xvY2FsZURhdGVTdHJpbmciKTsNCiAgaWYgKGRlc2MudmFsdWUgPT09IERhdGUucHJvdG90eXBlLnRvTG9jYWxlRGF0ZVN0cmluZyAmJg0KICAgICAgZGVzYy53cml0YWJsZSA9PT0gdHJ1ZSAmJg0KICAgICAgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5jb25maWd1cmFibGUgPT09IHRydWUpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc for functions on built-ins (Date.prototype.toLocaleDateString)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-158.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMy8xNS4yLjMuMy00LTE1OS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgcmV0dXJucyBkYXRhIGRlc2MgZm9yIGZ1bmN0aW9ucyBvbiBidWlsdC1pbnMgKERhdGUucHJvdG90eXBlLnRvTG9jYWxlVGltZVN0cmluZykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoRGF0ZS5wcm90b3R5cGUsICJ0b0xvY2FsZVRpbWVTdHJpbmciKTsNCiAgaWYgKGRlc2MudmFsdWUgPT09IERhdGUucHJvdG90eXBlLnRvTG9jYWxlVGltZVN0cmluZyAmJg0KICAgICAgZGVzYy53cml0YWJsZSA9PT0gdHJ1ZSAmJg0KICAgICAgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5jb25maWd1cmFibGUgPT09IHRydWUpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc for functions on built-ins (Date.prototype.toLocaleTimeString)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-159.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMy8xNS4yLjMuMy00LTE2LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvciByZXR1cm5zIGRhdGEgZGVzYyBmb3IgZnVuY3Rpb25zIG9uIGJ1aWx0LWlucyAoT2JqZWN0LmdldE93blByb3BlcnR5TmFtZXMpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKE9iamVjdCwgImdldE93blByb3BlcnR5TmFtZXMiKTsNCiAgaWYgKGRlc2MudmFsdWUgPT09IE9iamVjdC5nZXRPd25Qcm9wZXJ0eU5hbWVzICYmDQogICAgICBkZXNjLndyaXRhYmxlID09PSB0cnVlICYmDQogICAgICBkZXNjLmVudW1lcmFibGUgPT09IGZhbHNlICYmDQogICAgICBkZXNjLmNvbmZpZ3VyYWJsZSA9PT0gdHJ1ZSkgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc for functions on built-ins (Object.getOwnPropertyNames)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-16.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMy8xNS4yLjMuMy00LTE2MC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgcmV0dXJucyBkYXRhIGRlc2MgZm9yIGZ1bmN0aW9ucyBvbiBidWlsdC1pbnMgKERhdGUucHJvdG90eXBlLnZhbHVlT2YpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKERhdGUucHJvdG90eXBlLCAidmFsdWVPZiIpOw0KICBpZiAoZGVzYy52YWx1ZSA9PT0gRGF0ZS5wcm90b3R5cGUudmFsdWVPZiAmJg0KICAgICAgZGVzYy53cml0YWJsZSA9PT0gdHJ1ZSAmJg0KICAgICAgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5jb25maWd1cmFibGUgPT09IHRydWUpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc for functions on built-ins (Date.prototype.valueOf)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-160.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMy8xNS4yLjMuMy00LTE2MS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgcmV0dXJucyBkYXRhIGRlc2MgZm9yIGZ1bmN0aW9ucyBvbiBidWlsdC1pbnMgKERhdGUucHJvdG90eXBlLnRvSVNPU3RyaW5nKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihEYXRlLnByb3RvdHlwZSwgInRvSVNPU3RyaW5nIik7DQogIGlmIChkZXNjLnZhbHVlID09PSBEYXRlLnByb3RvdHlwZS50b0lTT1N0cmluZyAmJg0KICAgICAgZGVzYy53cml0YWJsZSA9PT0gdHJ1ZSAmJg0KICAgICAgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5jb25maWd1cmFibGUgPT09IHRydWUpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc for functions on built-ins (Date.prototype.toISOString)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-161.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMy8xNS4yLjMuMy00LTE2Mi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgcmV0dXJucyBkYXRhIGRlc2MgZm9yIGZ1bmN0aW9ucyBvbiBidWlsdC1pbnMgKERhdGUucHJvdG90eXBlLnRvSlNPTikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoRGF0ZS5wcm90b3R5cGUsICJ0b0pTT04iKTsNCiAgaWYgKGRlc2MudmFsdWUgPT09IERhdGUucHJvdG90eXBlLnRvSlNPTiAmJg0KICAgICAgZGVzYy53cml0YWJsZSA9PT0gdHJ1ZSAmJg0KICAgICAgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5jb25maWd1cmFibGUgPT09IHRydWUpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc for functions on built-ins (Date.prototype.toJSON)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-162.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMy8xNS4yLjMuMy00LTE2My5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgcmV0dXJucyBkYXRhIGRlc2MgZm9yIGZ1bmN0aW9ucyBvbiBidWlsdC1pbnMgKFJlZ0V4cC5wcm90b3R5cGUuY29uc3RydWN0b3IpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKFJlZ0V4cC5wcm90b3R5cGUsICJjb25zdHJ1Y3RvciIpOw0KICBpZiAoZGVzYy52YWx1ZSA9PT0gUmVnRXhwLnByb3RvdHlwZS5jb25zdHJ1Y3RvciAmJg0KICAgICAgZGVzYy53cml0YWJsZSA9PT0gdHJ1ZSAmJg0KICAgICAgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5jb25maWd1cmFibGUgPT09IHRydWUpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc for functions on built-ins (RegExp.prototype.constructor)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-163.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMy8xNS4yLjMuMy00LTE2NC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgcmV0dXJucyBkYXRhIGRlc2MgZm9yIGZ1bmN0aW9ucyBvbiBidWlsdC1pbnMgKFJlZ0V4cC5wcm90b3R5cGUuY29tcGlsZSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoUmVnRXhwLnByb3RvdHlwZSwgImNvbXBpbGUiKTsNCiAgaWYgKGRlc2MudmFsdWUgPT09IFJlZ0V4cC5wcm90b3R5cGUuY29tcGlsZSAmJg0KICAgICAgZGVzYy53cml0YWJsZSA9PT0gdHJ1ZSAmJg0KICAgICAgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5jb25maWd1cmFibGUgPT09IHRydWUpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc for functions on built-ins (RegExp.prototype.compile)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-164.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMy8xNS4yLjMuMy00LTE2NS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgcmV0dXJucyBkYXRhIGRlc2MgZm9yIGZ1bmN0aW9ucyBvbiBidWlsdC1pbnMgKFJlZ0V4cC5wcm90b3R5cGUuZXhlYykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoUmVnRXhwLnByb3RvdHlwZSwgImV4ZWMiKTsNCiAgaWYgKGRlc2MudmFsdWUgPT09IFJlZ0V4cC5wcm90b3R5cGUuZXhlYyAmJg0KICAgICAgZGVzYy53cml0YWJsZSA9PT0gdHJ1ZSAmJg0KICAgICAgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5jb25maWd1cmFibGUgPT09IHRydWUpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc for functions on built-ins (RegExp.prototype.exec)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-165.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMy8xNS4yLjMuMy00LTE2Ni5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgcmV0dXJucyBkYXRhIGRlc2MgZm9yIGZ1bmN0aW9ucyBvbiBidWlsdC1pbnMgKFJlZ0V4cC5wcm90b3R5cGUudGVzdCkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoUmVnRXhwLnByb3RvdHlwZSwgInRlc3QiKTsNCiAgaWYgKGRlc2MudmFsdWUgPT09IFJlZ0V4cC5wcm90b3R5cGUudGVzdCAmJg0KICAgICAgZGVzYy53cml0YWJsZSA9PT0gdHJ1ZSAmJg0KICAgICAgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5jb25maWd1cmFibGUgPT09IHRydWUpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc for functions on built-ins (RegExp.prototype.test)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-166.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMy8xNS4yLjMuMy00LTE2Ny5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgcmV0dXJucyBkYXRhIGRlc2MgZm9yIGZ1bmN0aW9ucyBvbiBidWlsdC1pbnMgKFJlZ0V4cC5wcm90b3R5cGUudG9TdHJpbmcpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKFJlZ0V4cC5wcm90b3R5cGUsICJ0b1N0cmluZyIpOw0KICBpZiAoZGVzYy52YWx1ZSA9PT0gUmVnRXhwLnByb3RvdHlwZS50b1N0cmluZyAmJg0KICAgICAgZGVzYy53cml0YWJsZSA9PT0gdHJ1ZSAmJg0KICAgICAgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5jb25maWd1cmFibGUgPT09IHRydWUpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc for functions on built-ins (RegExp.prototype.toString)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-167.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMy8xNS4yLjMuMy00LTE2OC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgcmV0dXJucyBkYXRhIGRlc2MgZm9yIGZ1bmN0aW9ucyBvbiBidWlsdC1pbnMgKEVycm9yLnByb3RvdHlwZS5jb25zdHJ1Y3RvcikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoRXJyb3IucHJvdG90eXBlLCAiY29uc3RydWN0b3IiKTsNCiAgaWYgKGRlc2MudmFsdWUgPT09IEVycm9yLnByb3RvdHlwZS5jb25zdHJ1Y3RvciAmJg0KICAgICAgZGVzYy53cml0YWJsZSA9PT0gdHJ1ZSAmJg0KICAgICAgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5jb25maWd1cmFibGUgPT09IHRydWUpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc for functions on built-ins (Error.prototype.constructor)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-168.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMy8xNS4yLjMuMy00LTE2OS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgcmV0dXJucyBkYXRhIGRlc2MgZm9yIGZ1bmN0aW9ucyBvbiBidWlsdC1pbnMgKEVycm9yLnByb3RvdHlwZS50b1N0cmluZykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoRXJyb3IucHJvdG90eXBlLCAidG9TdHJpbmciKTsNCiAgaWYgKGRlc2MudmFsdWUgPT09IEVycm9yLnByb3RvdHlwZS50b1N0cmluZyAmJg0KICAgICAgZGVzYy53cml0YWJsZSA9PT0gdHJ1ZSAmJg0KICAgICAgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5jb25maWd1cmFibGUgPT09IHRydWUpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc for functions on built-ins (Error.prototype.toString)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-169.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMy8xNS4yLjMuMy00LTE3LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvciByZXR1cm5zIGRhdGEgZGVzYyBmb3IgZnVuY3Rpb25zIG9uIGJ1aWx0LWlucyAoT2JqZWN0LmNyZWF0ZSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoT2JqZWN0LCAiY3JlYXRlIik7DQogIGlmIChkZXNjLnZhbHVlID09PSBPYmplY3QuY3JlYXRlICYmDQogICAgICBkZXNjLndyaXRhYmxlID09PSB0cnVlICYmDQogICAgICBkZXNjLmVudW1lcmFibGUgPT09IGZhbHNlICYmDQogICAgICBkZXNjLmNvbmZpZ3VyYWJsZSA9PT0gdHJ1ZSkgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc for functions on built-ins (Object.create)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-17.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMy8xNS4yLjMuMy00LTE3MC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgcmV0dXJucyBkYXRhIGRlc2MgZm9yIGZ1bmN0aW9ucyBvbiBidWlsdC1pbnMgKEV2YWxFcnJvci5wcm90b3R5cGUuY29uc3RydWN0b3IpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKEV2YWxFcnJvci5wcm90b3R5cGUsICJjb25zdHJ1Y3RvciIpOw0KICBpZiAoZGVzYy52YWx1ZSA9PT0gRXZhbEVycm9yLnByb3RvdHlwZS5jb25zdHJ1Y3RvciAmJg0KICAgICAgZGVzYy53cml0YWJsZSA9PT0gdHJ1ZSAmJg0KICAgICAgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5jb25maWd1cmFibGUgPT09IHRydWUpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc for functions on built-ins (EvalError.prototype.constructor)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-170.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMy8xNS4yLjMuMy00LTE3MS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgcmV0dXJucyBkYXRhIGRlc2MgZm9yIGZ1bmN0aW9ucyBvbiBidWlsdC1pbnMgKFJhbmdlRXJyb3IucHJvdG90eXBlLmNvbnN0cnVjdG9yKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihSYW5nZUVycm9yLnByb3RvdHlwZSwgImNvbnN0cnVjdG9yIik7DQogIGlmIChkZXNjLnZhbHVlID09PSBSYW5nZUVycm9yLnByb3RvdHlwZS5jb25zdHJ1Y3RvciAmJg0KICAgICAgZGVzYy53cml0YWJsZSA9PT0gdHJ1ZSAmJg0KICAgICAgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5jb25maWd1cmFibGUgPT09IHRydWUpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc for functions on built-ins (RangeError.prototype.constructor)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-171.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMy8xNS4yLjMuMy00LTE3Mi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgcmV0dXJucyBkYXRhIGRlc2MgZm9yIGZ1bmN0aW9ucyBvbiBidWlsdC1pbnMgKFJlZmVyZW5jZUVycm9yLnByb3RvdHlwZS5jb25zdHJ1Y3RvcikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoUmVmZXJlbmNlRXJyb3IucHJvdG90eXBlLCAiY29uc3RydWN0b3IiKTsNCiAgaWYgKGRlc2MudmFsdWUgPT09IFJlZmVyZW5jZUVycm9yLnByb3RvdHlwZS5jb25zdHJ1Y3RvciAmJg0KICAgICAgZGVzYy53cml0YWJsZSA9PT0gdHJ1ZSAmJg0KICAgICAgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5jb25maWd1cmFibGUgPT09IHRydWUpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc for functions on built-ins (ReferenceError.prototype.constructor)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-172.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMy8xNS4yLjMuMy00LTE3My5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgcmV0dXJucyBkYXRhIGRlc2MgZm9yIGZ1bmN0aW9ucyBvbiBidWlsdC1pbnMgKFN5bnRheEVycm9yLnByb3RvdHlwZS5jb25zdHJ1Y3RvcikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoU3ludGF4RXJyb3IucHJvdG90eXBlLCAiY29uc3RydWN0b3IiKTsNCiAgaWYgKGRlc2MudmFsdWUgPT09IFN5bnRheEVycm9yLnByb3RvdHlwZS5jb25zdHJ1Y3RvciAmJg0KICAgICAgZGVzYy53cml0YWJsZSA9PT0gdHJ1ZSAmJg0KICAgICAgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5jb25maWd1cmFibGUgPT09IHRydWUpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc for functions on built-ins (SyntaxError.prototype.constructor)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-173.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMy8xNS4yLjMuMy00LTE3NC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgcmV0dXJucyBkYXRhIGRlc2MgZm9yIGZ1bmN0aW9ucyBvbiBidWlsdC1pbnMgKFR5cGVFcnJvci5wcm90b3R5cGUuY29uc3RydWN0b3IpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKFR5cGVFcnJvci5wcm90b3R5cGUsICJjb25zdHJ1Y3RvciIpOw0KICBpZiAoZGVzYy52YWx1ZSA9PT0gVHlwZUVycm9yLnByb3RvdHlwZS5jb25zdHJ1Y3RvciAmJg0KICAgICAgZGVzYy53cml0YWJsZSA9PT0gdHJ1ZSAmJg0KICAgICAgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5jb25maWd1cmFibGUgPT09IHRydWUpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc for functions on built-ins (TypeError.prototype.constructor)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-174.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMy8xNS4yLjMuMy00LTE3NS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgcmV0dXJucyBkYXRhIGRlc2MgZm9yIGZ1bmN0aW9ucyBvbiBidWlsdC1pbnMgKFVSSUVycm9yLnByb3RvdHlwZS5jb25zdHJ1Y3RvcikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoVVJJRXJyb3IucHJvdG90eXBlLCAiY29uc3RydWN0b3IiKTsNCiAgaWYgKGRlc2MudmFsdWUgPT09IFVSSUVycm9yLnByb3RvdHlwZS5jb25zdHJ1Y3RvciAmJg0KICAgICAgZGVzYy53cml0YWJsZSA9PT0gdHJ1ZSAmJg0KICAgICAgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5jb25maWd1cmFibGUgPT09IHRydWUpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc for functions on built-ins (URIError.prototype.constructor)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-175.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMy8xNS4yLjMuMy00LTE3Ni5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgcmV0dXJucyBkYXRhIGRlc2MgZm9yIGZ1bmN0aW9ucyBvbiBidWlsdC1pbnMgKEpTT04uc3RyaW5naWZ5KQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihKU09OLCAic3RyaW5naWZ5Iik7DQogIGlmIChkZXNjLnZhbHVlID09PSBKU09OLnN0cmluZ2lmeSAmJg0KICAgICAgZGVzYy53cml0YWJsZSA9PT0gdHJ1ZSAmJg0KICAgICAgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5jb25maWd1cmFibGUgPT09IHRydWUpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc for functions on built-ins (JSON.stringify)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-176.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMy8xNS4yLjMuMy00LTE3Ny5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgcmV0dXJucyBkYXRhIGRlc2MgZm9yIGZ1bmN0aW9ucyBvbiBidWlsdC1pbnMgKEpTT04ucGFyc2UpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKEpTT04sICJwYXJzZSIpOw0KICBpZiAoZGVzYy52YWx1ZSA9PT0gSlNPTi5wYXJzZSAmJg0KICAgICAgZGVzYy53cml0YWJsZSA9PT0gdHJ1ZSAmJg0KICAgICAgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5jb25maWd1cmFibGUgPT09IHRydWUpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc for functions on built-ins (JSON.parse)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-177.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMy8xNS4yLjMuMy00LTE3OC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgcmV0dXJucyBkYXRhIGRlc2MgKGFsbCBmYWxzZSkgZm9yIHByb3BlcnRpZXMgb24gYnVpbHQtaW5zIChHbG9iYWwuTmFOKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIC8vIGluIG5vbi1zdHJpY3QgbW9kZSwgJ3RoaXMnIGlzIGJvdW5kIHRvIHRoZSBnbG9iYWwgb2JqZWN0Lg0KICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoZm5HbG9iYWxPYmplY3QoKSwgIk5hTiIpOw0KDQogIGlmIChkZXNjLndyaXRhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5jb25maWd1cmFibGUgPT09IGZhbHNlICYmDQogICAgICBkZXNjLmhhc093blByb3BlcnR5KCdnZXQnKSA9PT0gZmFsc2UgJiYNCiAgICAgIGRlc2MuaGFzT3duUHJvcGVydHkoJ3NldCcpID09PSBmYWxzZSkgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogIHJldHVybiBmYWxzZTsNCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc (all false) for properties on built-ins (Global.NaN)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-178.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMy8xNS4yLjMuMy00LTE3OS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgcmV0dXJucyBkYXRhIGRlc2MgKGFsbCBmYWxzZSkgZm9yIHByb3BlcnRpZXMgb24gYnVpbHQtaW5zIChHbG9iYWwuSW5maW5pdHkpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgLy8gaW4gbm9uLXN0cmljdCBtb2RlLCAndGhpcycgaXMgYm91bmQgdG8gdGhlIGdsb2JhbCBvYmplY3QuDQogIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihmbkdsb2JhbE9iamVjdCgpLCAgIkluZmluaXR5Iik7DQoNCiAgaWYgKGRlc2Mud3JpdGFibGUgPT09IGZhbHNlICYmDQogICAgICBkZXNjLmVudW1lcmFibGUgPT09IGZhbHNlICYmDQogICAgICBkZXNjLmNvbmZpZ3VyYWJsZSA9PT0gZmFsc2UgJiYNCiAgICAgIGRlc2MuaGFzT3duUHJvcGVydHkoJ2dldCcpID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5oYXNPd25Qcm9wZXJ0eSgnc2V0JykgPT09IGZhbHNlKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiAgcmV0dXJuIGZhbHNlOw0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc (all false) for properties on built-ins (Global.Infinity)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-179.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMy8xNS4yLjMuMy00LTE4LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvciByZXR1cm5zIGRhdGEgZGVzYyBmb3IgZnVuY3Rpb25zIG9uIGJ1aWx0LWlucyAoT2JqZWN0LmRlZmluZVByb3BlcnR5KQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihPYmplY3QsICJkZWZpbmVQcm9wZXJ0eSIpOw0KICBpZiAoZGVzYy52YWx1ZSA9PT0gT2JqZWN0LmRlZmluZVByb3BlcnR5ICYmDQogICAgICBkZXNjLndyaXRhYmxlID09PSB0cnVlICYmDQogICAgICBkZXNjLmVudW1lcmFibGUgPT09IGZhbHNlICYmDQogICAgICBkZXNjLmNvbmZpZ3VyYWJsZSA9PT0gdHJ1ZSkgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc for functions on built-ins (Object.defineProperty)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-18.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMy8xNS4yLjMuMy00LTE4MC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgcmV0dXJucyBkYXRhIGRlc2MgKGFsbCBmYWxzZSkgZm9yIHByb3BlcnRpZXMgb24gYnVpbHQtaW5zIChHbG9iYWwudW5kZWZpbmVkKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIC8vIGluIG5vbi1zdHJpY3QgbW9kZSwgJ3RoaXMnIGlzIGJvdW5kIHRvIHRoZSBnbG9iYWwgb2JqZWN0Lg0KICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoZm5HbG9iYWxPYmplY3QoKSwgICJ1bmRlZmluZWQiKTsNCg0KICBpZiAoZGVzYy53cml0YWJsZSA9PT0gZmFsc2UgJiYNCiAgICAgIGRlc2MuZW51bWVyYWJsZSA9PT0gZmFsc2UgJiYNCiAgICAgIGRlc2MuY29uZmlndXJhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5oYXNPd25Qcm9wZXJ0eSgnZ2V0JykgPT09IGZhbHNlICYmDQogICAgICBkZXNjLmhhc093blByb3BlcnR5KCdzZXQnKSA9PT0gZmFsc2UpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KICByZXR1cm4gZmFsc2U7DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc (all false) for properties on built-ins (Global.undefined)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-180.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMy8xNS4yLjMuMy00LTE4Mi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgcmV0dXJucyBkYXRhIGRlc2MgKGFsbCBmYWxzZSkgZm9yIHByb3BlcnRpZXMgb24gYnVpbHQtaW5zIChPYmplY3QucHJvdG90eXBlKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihPYmplY3QsICJwcm90b3R5cGUiKTsNCg0KICBpZiAoZGVzYy53cml0YWJsZSA9PT0gZmFsc2UgJiYNCiAgICAgIGRlc2MuZW51bWVyYWJsZSA9PT0gZmFsc2UgJiYNCiAgICAgIGRlc2MuY29uZmlndXJhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5oYXNPd25Qcm9wZXJ0eSgnZ2V0JykgPT09IGZhbHNlICYmDQogICAgICBkZXNjLmhhc093blByb3BlcnR5KCdzZXQnKSA9PT0gZmFsc2UpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc (all false) for properties on built-ins (Object.prototype)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-182.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMy8xNS4yLjMuMy00LTE4My5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgcmV0dXJucyB1bmRlZmluZWQgZm9yIG5vbi1leGlzdGVudCBwcm9wZXJ0eSAoYXJndW1lbnRzXzEpIG9uIGJ1aWx0LWluIG9iamVjdCAoRnVuY3Rpb24pDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKEZ1bmN0aW9uLCAiYXJndW1lbnRzXzEiKTsNCg0KICBpZiAoZGVzYyA9PT0gdW5kZWZpbmVkKQ0KICAgIHJldHVybiB0cnVlOw0KICBlbHNlDQogICAgcmV0dXJuIGZhbHNlOyAgDQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.getOwnPropertyDescriptor returns undefined for non-existent property (arguments_1) on built-in object (Function)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-183.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMy8xNS4yLjMuMy00LTE4NC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgcmV0dXJucyB1bmRlZmluZWQgZm9yIG5vbi1leGlzdGVudCBwcm9wZXJ0eSAoY2FsbGVyKSBvbiBidWlsdC1pbiBvYmplY3QgKE1hdGgpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKE1hdGgsICJjYWxsZXIiKTsNCg0KICBpZiAoZGVzYyA9PT0gdW5kZWZpbmVkKQ0KICAgIHJldHVybiB0cnVlOyAgDQogIGVsc2UNCiAgICByZXR1cm4gZmFsc2U7DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.getOwnPropertyDescriptor returns undefined for non-existent property (caller) on built-in object (Math)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-184.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMy8xNS4yLjMuMy00LTE4NS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgcmV0dXJucyBkYXRhIGRlc2MgKGFsbCBmYWxzZSkgZm9yIHByb3BlcnRpZXMgb24gYnVpbHQtaW5zIChGdW5jdGlvbi5wcm90b3R5cGUpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKEZ1bmN0aW9uLCAicHJvdG90eXBlIik7DQoNCiAgaWYgKGRlc2Mud3JpdGFibGUgPT09IGZhbHNlICYmDQogICAgICBkZXNjLmVudW1lcmFibGUgPT09IGZhbHNlICYmDQogICAgICBkZXNjLmNvbmZpZ3VyYWJsZSA9PT0gZmFsc2UgJiYNCiAgICAgIGRlc2MuaGFzT3duUHJvcGVydHkoJ2dldCcpID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5oYXNPd25Qcm9wZXJ0eSgnc2V0JykgPT09IGZhbHNlKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc (all false) for properties on built-ins (Function.prototype)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-185.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMy8xNS4yLjMuMy00LTE4Ni5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgcmV0dXJucyBkYXRhIGRlc2MgKGFsbCBmYWxzZSkgZm9yIHByb3BlcnRpZXMgb24gYnVpbHQtaW5zIChGdW5jdGlvbi5sZW5ndGgpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKEZ1bmN0aW9uLCAibGVuZ3RoIik7DQoNCiAgaWYgKGRlc2Mud3JpdGFibGUgPT09IGZhbHNlICYmDQogICAgICBkZXNjLmVudW1lcmFibGUgPT09IGZhbHNlICYmDQogICAgICBkZXNjLmNvbmZpZ3VyYWJsZSA9PT0gZmFsc2UgJiYNCiAgICAgIGRlc2MuaGFzT3duUHJvcGVydHkoJ2dldCcpID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5oYXNPd25Qcm9wZXJ0eSgnc2V0JykgPT09IGZhbHNlKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc (all false) for properties on built-ins (Function.length)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-186.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMy8xNS4yLjMuMy00LTE4Ny5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgcmV0dXJucyBkYXRhIGRlc2MgKGFsbCBmYWxzZSkgZm9yIHByb3BlcnRpZXMgb24gYnVpbHQtaW5zIChGdW5jdGlvbiAoaW5zdGFuY2UpLmxlbmd0aCkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgZiA9IEZ1bmN0aW9uKCdyZXR1cm4gNDI7Jyk7DQoNCiAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGYsICJsZW5ndGgiKTsNCg0KICBpZiAoZGVzYy53cml0YWJsZSA9PT0gZmFsc2UgJiYNCiAgICAgIGRlc2MuZW51bWVyYWJsZSA9PT0gZmFsc2UgJiYNCiAgICAgIGRlc2MuY29uZmlndXJhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5oYXNPd25Qcm9wZXJ0eSgnZ2V0JykgPT09IGZhbHNlICYmDQogICAgICBkZXNjLmhhc093blByb3BlcnR5KCdzZXQnKSA9PT0gZmFsc2UpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc (all false) for properties on built-ins (Function (instance).length)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-187.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMy8xNS4yLjMuMy00LTE4OC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgcmV0dXJucyB1bmRlZmluZWQgZm9yIG5vbi1leGlzdGVudCBwcm9wZXJ0aWVzIG9uIGJ1aWx0LWlucyAoRnVuY3Rpb24gKGluc3RhbmNlKS5uYW1lKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBmID0gRnVuY3Rpb24oJ3JldHVybiA0MjsnKTsNCiAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGYsICJmdW5jdGlvbk5hbWVIb3BlZnVsbHlEb2VzTm90RXhpc3QiKTsNCiAgcmV0dXJuIGRlc2MgPT09IHVuZGVmaW5lZDsNCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.getOwnPropertyDescriptor returns undefined for non-existent properties on built-ins (Function (instance).name)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-188.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMy8xNS4yLjMuMy00LTE4OS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgcmV0dXJucyBkYXRhIGRlc2MgKGFsbCBmYWxzZSkgZm9yIHByb3BlcnRpZXMgb24gYnVpbHQtaW5zIChBcnJheS5wcm90b3R5cGUpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKEFycmF5LCAicHJvdG90eXBlIik7DQoNCiAgaWYgKGRlc2Mud3JpdGFibGUgPT09IGZhbHNlICYmDQogICAgICBkZXNjLmVudW1lcmFibGUgPT09IGZhbHNlICYmDQogICAgICBkZXNjLmNvbmZpZ3VyYWJsZSA9PT0gZmFsc2UgJiYNCiAgICAgIGRlc2MuaGFzT3duUHJvcGVydHkoJ2dldCcpID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5oYXNPd25Qcm9wZXJ0eSgnc2V0JykgPT09IGZhbHNlKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc (all false) for properties on built-ins (Array.prototype)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-189.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMy8xNS4yLjMuMy00LTE5LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvciByZXR1cm5zIGRhdGEgZGVzYyBmb3IgZnVuY3Rpb25zIG9uIGJ1aWx0LWlucyAoT2JqZWN0LmRlZmluZVByb3BlcnRpZXMpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKE9iamVjdCwgImRlZmluZVByb3BlcnRpZXMiKTsNCiAgaWYgKGRlc2MudmFsdWUgPT09IE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzICYmDQogICAgICBkZXNjLndyaXRhYmxlID09PSB0cnVlICYmDQogICAgICBkZXNjLmVudW1lcmFibGUgPT09IGZhbHNlICYmDQogICAgICBkZXNjLmNvbmZpZ3VyYWJsZSA9PT0gdHJ1ZSkgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc for functions on built-ins (Object.defineProperties)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-19.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMy8xNS4yLjMuMy00LTE5MC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgcmV0dXJucyBkYXRhIGRlc2MgKGFsbCBmYWxzZSkgZm9yIHByb3BlcnRpZXMgb24gYnVpbHQtaW5zIChTdHJpbmcucHJvdG90eXBlKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihTdHJpbmcsICJwcm90b3R5cGUiKTsNCg0KICBpZiAoZGVzYy53cml0YWJsZSA9PT0gZmFsc2UgJiYNCiAgICAgIGRlc2MuZW51bWVyYWJsZSA9PT0gZmFsc2UgJiYNCiAgICAgIGRlc2MuY29uZmlndXJhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5oYXNPd25Qcm9wZXJ0eSgnZ2V0JykgPT09IGZhbHNlICYmDQogICAgICBkZXNjLmhhc093blByb3BlcnR5KCdzZXQnKSA9PT0gZmFsc2UpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc (all false) for properties on built-ins (String.prototype)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-190.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMy8xNS4yLjMuMy00LTE5MS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgcmV0dXJucyBkYXRhIGRlc2MgKGFsbCBmYWxzZSkgZm9yIHByb3BlcnRpZXMgb24gYnVpbHQtaW5zIChTdHJpbmcubGVuZ3RoKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihTdHJpbmcsICJsZW5ndGgiKTsNCg0KICBpZiAoZGVzYy53cml0YWJsZSA9PT0gZmFsc2UgJiYNCiAgICAgIGRlc2MuZW51bWVyYWJsZSA9PT0gZmFsc2UgJiYNCiAgICAgIGRlc2MuY29uZmlndXJhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5oYXNPd25Qcm9wZXJ0eSgnZ2V0JykgPT09IGZhbHNlICYmDQogICAgICBkZXNjLmhhc093blByb3BlcnR5KCdzZXQnKSA9PT0gZmFsc2UpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc (all false) for properties on built-ins (String.length)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-191.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMy8xNS4yLjMuMy00LTE5Mi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgcmV0dXJucyBkYXRhIGRlc2MgKGFsbCBmYWxzZSkgZm9yIHByb3BlcnRpZXMgb24gYnVpbHQtaW5zIChTdHJpbmcgKGluc3RhbmNlKS5sZW5ndGgpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIHMgPSBuZXcgU3RyaW5nKCJhYmMiKTsNCiAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKHMsICJsZW5ndGgiKTsNCg0KICBpZiAoZGVzYy53cml0YWJsZSA9PT0gZmFsc2UgJiYNCiAgICAgIGRlc2MuZW51bWVyYWJsZSA9PT0gZmFsc2UgJiYNCiAgICAgIGRlc2MuY29uZmlndXJhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5oYXNPd25Qcm9wZXJ0eSgnZ2V0JykgPT09IGZhbHNlICYmDQogICAgICBkZXNjLmhhc093blByb3BlcnR5KCdzZXQnKSA9PT0gZmFsc2UpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc (all false) for properties on built-ins (String (instance).length)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-192.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMy8xNS4yLjMuMy00LTE5My5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgcmV0dXJucyBkYXRhIGRlc2MgKGFsbCBmYWxzZSkgZm9yIHByb3BlcnRpZXMgb24gYnVpbHQtaW5zIChCb29sZWFuLnByb3RvdHlwZSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoQm9vbGVhbiwgInByb3RvdHlwZSIpOw0KDQogIGlmIChkZXNjLndyaXRhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5jb25maWd1cmFibGUgPT09IGZhbHNlICYmDQogICAgICBkZXNjLmhhc093blByb3BlcnR5KCdnZXQnKSA9PT0gZmFsc2UgJiYNCiAgICAgIGRlc2MuaGFzT3duUHJvcGVydHkoJ3NldCcpID09PSBmYWxzZSkgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc (all false) for properties on built-ins (Boolean.prototype)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-193.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMy8xNS4yLjMuMy00LTE5NC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgcmV0dXJucyBkYXRhIGRlc2MgKGFsbCBmYWxzZSkgZm9yIHByb3BlcnRpZXMgb24gYnVpbHQtaW5zIChCb29sZWFuLmxlbmd0aCkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoQm9vbGVhbiwgImxlbmd0aCIpOw0KDQogIGlmIChkZXNjLndyaXRhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5jb25maWd1cmFibGUgPT09IGZhbHNlICYmDQogICAgICBkZXNjLmhhc093blByb3BlcnR5KCdnZXQnKSA9PT0gZmFsc2UgJiYNCiAgICAgIGRlc2MuaGFzT3duUHJvcGVydHkoJ3NldCcpID09PSBmYWxzZSkgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc (all false) for properties on built-ins (Boolean.length)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-194.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMy8xNS4yLjMuMy00LTE5NS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgcmV0dXJucyBkYXRhIGRlc2MgKGFsbCBmYWxzZSkgZm9yIHByb3BlcnRpZXMgb24gYnVpbHQtaW5zIChOdW1iZXIucHJvdG90eXBlKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihOdW1iZXIsICJwcm90b3R5cGUiKTsNCg0KICBpZiAoZGVzYy53cml0YWJsZSA9PT0gZmFsc2UgJiYNCiAgICAgIGRlc2MuZW51bWVyYWJsZSA9PT0gZmFsc2UgJiYNCiAgICAgIGRlc2MuY29uZmlndXJhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5oYXNPd25Qcm9wZXJ0eSgnZ2V0JykgPT09IGZhbHNlICYmDQogICAgICBkZXNjLmhhc093blByb3BlcnR5KCdzZXQnKSA9PT0gZmFsc2UpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc (all false) for properties on built-ins (Number.prototype)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-195.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMy8xNS4yLjMuMy00LTE5Ni5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgcmV0dXJucyBkYXRhIGRlc2MgKGFsbCBmYWxzZSkgZm9yIHByb3BlcnRpZXMgb24gYnVpbHQtaW5zIChOdW1iZXIuTUFYX1ZBTFVFKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihOdW1iZXIsICJNQVhfVkFMVUUiKTsNCg0KICBpZiAoZGVzYy53cml0YWJsZSA9PT0gZmFsc2UgJiYNCiAgICAgIGRlc2MuZW51bWVyYWJsZSA9PT0gZmFsc2UgJiYNCiAgICAgIGRlc2MuY29uZmlndXJhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5oYXNPd25Qcm9wZXJ0eSgnZ2V0JykgPT09IGZhbHNlICYmDQogICAgICBkZXNjLmhhc093blByb3BlcnR5KCdzZXQnKSA9PT0gZmFsc2UpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc (all false) for properties on built-ins (Number.MAX_VALUE)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-196.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMy8xNS4yLjMuMy00LTE5Ny5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgcmV0dXJucyBkYXRhIGRlc2MgKGFsbCBmYWxzZSkgZm9yIHByb3BlcnRpZXMgb24gYnVpbHQtaW5zIChOdW1iZXIuTUlOX1ZBTFVFKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihOdW1iZXIsICJNSU5fVkFMVUUiKTsNCg0KICBpZiAoZGVzYy53cml0YWJsZSA9PT0gZmFsc2UgJiYNCiAgICAgIGRlc2MuZW51bWVyYWJsZSA9PT0gZmFsc2UgJiYNCiAgICAgIGRlc2MuY29uZmlndXJhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5oYXNPd25Qcm9wZXJ0eSgnZ2V0JykgPT09IGZhbHNlICYmDQogICAgICBkZXNjLmhhc093blByb3BlcnR5KCdzZXQnKSA9PT0gZmFsc2UpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc (all false) for properties on built-ins (Number.MIN_VALUE)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-197.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMy8xNS4yLjMuMy00LTE5OC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgcmV0dXJucyBkYXRhIGRlc2MgKGFsbCBmYWxzZSkgZm9yIHByb3BlcnRpZXMgb24gYnVpbHQtaW5zIChOdW1iZXIuTmFOKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihOdW1iZXIsICJOYU4iKTsNCg0KICBpZiAoZGVzYy53cml0YWJsZSA9PT0gZmFsc2UgJiYNCiAgICAgIGRlc2MuZW51bWVyYWJsZSA9PT0gZmFsc2UgJiYNCiAgICAgIGRlc2MuY29uZmlndXJhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5oYXNPd25Qcm9wZXJ0eSgnZ2V0JykgPT09IGZhbHNlICYmDQogICAgICBkZXNjLmhhc093blByb3BlcnR5KCdzZXQnKSA9PT0gZmFsc2UpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc (all false) for properties on built-ins (Number.NaN)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-198.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMy8xNS4yLjMuMy00LTE5OS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgcmV0dXJucyBkYXRhIGRlc2MgKGFsbCBmYWxzZSkgZm9yIHByb3BlcnRpZXMgb24gYnVpbHQtaW5zIChOdW1iZXIuTkVHQVRJVkVfSU5GSU5JVFkpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKE51bWJlciwgIk5FR0FUSVZFX0lORklOSVRZIik7DQoNCiAgaWYgKGRlc2Mud3JpdGFibGUgPT09IGZhbHNlICYmDQogICAgICBkZXNjLmVudW1lcmFibGUgPT09IGZhbHNlICYmDQogICAgICBkZXNjLmNvbmZpZ3VyYWJsZSA9PT0gZmFsc2UgJiYNCiAgICAgIGRlc2MuaGFzT3duUHJvcGVydHkoJ2dldCcpID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5oYXNPd25Qcm9wZXJ0eSgnc2V0JykgPT09IGZhbHNlKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc (all false) for properties on built-ins (Number.NEGATIVE_INFINITY)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-199.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMy8xNS4yLjMuMy00LTIuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIHJldHVybnMgdW5kZWZpbmVkIGZvciBub24tZXhpc3RlbnQgcHJvcGVydGllcw0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgdmFyIG8gPSB7fTsNCg0KICAgIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvLCAiZm9vIik7DQogICAgaWYgKGRlc2MgPT09IHVuZGVmaW5lZCkgew0KICAgICAgcmV0dXJuIHRydWU7DQogICAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.getOwnPropertyDescriptor returns undefined for non-existent properties","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMy8xNS4yLjMuMy00LTIwLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvciByZXR1cm5zIGRhdGEgZGVzYyBmb3IgZnVuY3Rpb25zIG9uIGJ1aWx0LWlucyAoT2JqZWN0LnNlYWwpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKE9iamVjdCwgInNlYWwiKTsNCiAgaWYgKGRlc2MudmFsdWUgPT09IE9iamVjdC5zZWFsICYmDQogICAgICBkZXNjLndyaXRhYmxlID09PSB0cnVlICYmDQogICAgICBkZXNjLmVudW1lcmFibGUgPT09IGZhbHNlICYmDQogICAgICBkZXNjLmNvbmZpZ3VyYWJsZSA9PT0gdHJ1ZSkgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc for functions on built-ins (Object.seal)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-20.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMy8xNS4yLjMuMy00LTIwMC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgcmV0dXJucyBkYXRhIGRlc2MgKGFsbCBmYWxzZSkgZm9yIHByb3BlcnRpZXMgb24gYnVpbHQtaW5zIChOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKE51bWJlciwgIlBPU0lUSVZFX0lORklOSVRZIik7DQoNCiAgaWYgKGRlc2Mud3JpdGFibGUgPT09IGZhbHNlICYmDQogICAgICBkZXNjLmVudW1lcmFibGUgPT09IGZhbHNlICYmDQogICAgICBkZXNjLmNvbmZpZ3VyYWJsZSA9PT0gZmFsc2UgJiYNCiAgICAgIGRlc2MuaGFzT3duUHJvcGVydHkoJ2dldCcpID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5oYXNPd25Qcm9wZXJ0eSgnc2V0JykgPT09IGZhbHNlKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc (all false) for properties on built-ins (Number.POSITIVE_INFINITY)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-200.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMy8xNS4yLjMuMy00LTIwMS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgcmV0dXJucyBkYXRhIGRlc2MgKGFsbCBmYWxzZSkgZm9yIHByb3BlcnRpZXMgb24gYnVpbHQtaW5zIChOdW1iZXIubGVuZ3RoKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihOdW1iZXIsICJsZW5ndGgiKTsNCg0KICBpZiAoZGVzYy53cml0YWJsZSA9PT0gZmFsc2UgJiYNCiAgICAgIGRlc2MuZW51bWVyYWJsZSA9PT0gZmFsc2UgJiYNCiAgICAgIGRlc2MuY29uZmlndXJhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5oYXNPd25Qcm9wZXJ0eSgnZ2V0JykgPT09IGZhbHNlICYmDQogICAgICBkZXNjLmhhc093blByb3BlcnR5KCdzZXQnKSA9PT0gZmFsc2UpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc (all false) for properties on built-ins (Number.length)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-201.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMy8xNS4yLjMuMy00LTIwMi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgcmV0dXJucyBkYXRhIGRlc2MgKGFsbCBmYWxzZSkgZm9yIHByb3BlcnRpZXMgb24gYnVpbHQtaW5zIChNYXRoLkUpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKE1hdGgsICJFIik7DQoNCiAgaWYgKGRlc2Mud3JpdGFibGUgPT09IGZhbHNlICYmDQogICAgICBkZXNjLmVudW1lcmFibGUgPT09IGZhbHNlICYmDQogICAgICBkZXNjLmNvbmZpZ3VyYWJsZSA9PT0gZmFsc2UgJiYNCiAgICAgIGRlc2MuaGFzT3duUHJvcGVydHkoJ2dldCcpID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5oYXNPd25Qcm9wZXJ0eSgnc2V0JykgPT09IGZhbHNlKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc (all false) for properties on built-ins (Math.E)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-202.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMy8xNS4yLjMuMy00LTIwMy5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgcmV0dXJucyBkYXRhIGRlc2MgKGFsbCBmYWxzZSkgZm9yIHByb3BlcnRpZXMgb24gYnVpbHQtaW5zIChNYXRoLkxOMTApDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKE1hdGgsICJMTjEwIik7DQoNCiAgaWYgKGRlc2Mud3JpdGFibGUgPT09IGZhbHNlICYmDQogICAgICBkZXNjLmVudW1lcmFibGUgPT09IGZhbHNlICYmDQogICAgICBkZXNjLmNvbmZpZ3VyYWJsZSA9PT0gZmFsc2UgJiYNCiAgICAgIGRlc2MuaGFzT3duUHJvcGVydHkoJ2dldCcpID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5oYXNPd25Qcm9wZXJ0eSgnc2V0JykgPT09IGZhbHNlKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc (all false) for properties on built-ins (Math.LN10)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-203.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMy8xNS4yLjMuMy00LTIwNC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgcmV0dXJucyBkYXRhIGRlc2MgKGFsbCBmYWxzZSkgZm9yIHByb3BlcnRpZXMgb24gYnVpbHQtaW5zIChNYXRoLkxOMikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoTWF0aCwgIkxOMiIpOw0KDQogIGlmIChkZXNjLndyaXRhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5jb25maWd1cmFibGUgPT09IGZhbHNlICYmDQogICAgICBkZXNjLmhhc093blByb3BlcnR5KCdnZXQnKSA9PT0gZmFsc2UgJiYNCiAgICAgIGRlc2MuaGFzT3duUHJvcGVydHkoJ3NldCcpID09PSBmYWxzZSkgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc (all false) for properties on built-ins (Math.LN2)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-204.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMy8xNS4yLjMuMy00LTIwNS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgcmV0dXJucyBkYXRhIGRlc2MgKGFsbCBmYWxzZSkgZm9yIHByb3BlcnRpZXMgb24gYnVpbHQtaW5zIChNYXRoLkxPRzJFKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihNYXRoLCAiTE9HMkUiKTsNCg0KICBpZiAoZGVzYy53cml0YWJsZSA9PT0gZmFsc2UgJiYNCiAgICAgIGRlc2MuZW51bWVyYWJsZSA9PT0gZmFsc2UgJiYNCiAgICAgIGRlc2MuY29uZmlndXJhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5oYXNPd25Qcm9wZXJ0eSgnZ2V0JykgPT09IGZhbHNlICYmDQogICAgICBkZXNjLmhhc093blByb3BlcnR5KCdzZXQnKSA9PT0gZmFsc2UpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc (all false) for properties on built-ins (Math.LOG2E)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-205.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMy8xNS4yLjMuMy00LTIwNi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgcmV0dXJucyBkYXRhIGRlc2MgKGFsbCBmYWxzZSkgZm9yIHByb3BlcnRpZXMgb24gYnVpbHQtaW5zIChNYXRoLkxPRzEwRSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoTWF0aCwgIkxPRzEwRSIpOw0KDQogIGlmIChkZXNjLndyaXRhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5jb25maWd1cmFibGUgPT09IGZhbHNlICYmDQogICAgICBkZXNjLmhhc093blByb3BlcnR5KCdnZXQnKSA9PT0gZmFsc2UgJiYNCiAgICAgIGRlc2MuaGFzT3duUHJvcGVydHkoJ3NldCcpID09PSBmYWxzZSkgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc (all false) for properties on built-ins (Math.LOG10E)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-206.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMy8xNS4yLjMuMy00LTIwNy5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgcmV0dXJucyBkYXRhIGRlc2MgKGFsbCBmYWxzZSkgZm9yIHByb3BlcnRpZXMgb24gYnVpbHQtaW5zIChNYXRoLlBJKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihNYXRoLCAiUEkiKTsNCg0KICBpZiAoZGVzYy53cml0YWJsZSA9PT0gZmFsc2UgJiYNCiAgICAgIGRlc2MuZW51bWVyYWJsZSA9PT0gZmFsc2UgJiYNCiAgICAgIGRlc2MuY29uZmlndXJhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5oYXNPd25Qcm9wZXJ0eSgnZ2V0JykgPT09IGZhbHNlICYmDQogICAgICBkZXNjLmhhc093blByb3BlcnR5KCdzZXQnKSA9PT0gZmFsc2UpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc (all false) for properties on built-ins (Math.PI)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-207.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMy8xNS4yLjMuMy00LTIwOC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgcmV0dXJucyBkYXRhIGRlc2MgKGFsbCBmYWxzZSkgZm9yIHByb3BlcnRpZXMgb24gYnVpbHQtaW5zIChNYXRoLlNRUlQxXzIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKE1hdGgsICJTUVJUMV8yIik7DQoNCiAgaWYgKGRlc2Mud3JpdGFibGUgPT09IGZhbHNlICYmDQogICAgICBkZXNjLmVudW1lcmFibGUgPT09IGZhbHNlICYmDQogICAgICBkZXNjLmNvbmZpZ3VyYWJsZSA9PT0gZmFsc2UgJiYNCiAgICAgIGRlc2MuaGFzT3duUHJvcGVydHkoJ2dldCcpID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5oYXNPd25Qcm9wZXJ0eSgnc2V0JykgPT09IGZhbHNlKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc (all false) for properties on built-ins (Math.SQRT1_2)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-208.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMy8xNS4yLjMuMy00LTIwOS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgcmV0dXJucyBkYXRhIGRlc2MgKGFsbCBmYWxzZSkgZm9yIHByb3BlcnRpZXMgb24gYnVpbHQtaW5zIChNYXRoLlNRUlQyKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihNYXRoLCAiU1FSVDIiKTsNCg0KICBpZiAoZGVzYy53cml0YWJsZSA9PT0gZmFsc2UgJiYNCiAgICAgIGRlc2MuZW51bWVyYWJsZSA9PT0gZmFsc2UgJiYNCiAgICAgIGRlc2MuY29uZmlndXJhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5oYXNPd25Qcm9wZXJ0eSgnZ2V0JykgPT09IGZhbHNlICYmDQogICAgICBkZXNjLmhhc093blByb3BlcnR5KCdzZXQnKSA9PT0gZmFsc2UpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc (all false) for properties on built-ins (Math.SQRT2)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-209.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMy8xNS4yLjMuMy00LTIxLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvciByZXR1cm5zIGRhdGEgZGVzYyBmb3IgZnVuY3Rpb25zIG9uIGJ1aWx0LWlucyAoT2JqZWN0LmZyZWV6ZSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoT2JqZWN0LCAiZnJlZXplIik7DQogIGlmIChkZXNjLnZhbHVlID09PSBPYmplY3QuZnJlZXplICYmDQogICAgICBkZXNjLndyaXRhYmxlID09PSB0cnVlICYmDQogICAgICBkZXNjLmVudW1lcmFibGUgPT09IGZhbHNlICYmDQogICAgICBkZXNjLmNvbmZpZ3VyYWJsZSA9PT0gdHJ1ZSkgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc for functions on built-ins (Object.freeze)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-21.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMy8xNS4yLjMuMy00LTIxMC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgcmV0dXJucyBkYXRhIGRlc2MgKGFsbCBmYWxzZSkgZm9yIHByb3BlcnRpZXMgb24gYnVpbHQtaW5zIChEYXRlLnByb3RvdHlwZSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoRGF0ZSwgInByb3RvdHlwZSIpOw0KDQogIGlmIChkZXNjLndyaXRhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5jb25maWd1cmFibGUgPT09IGZhbHNlICYmDQogICAgICBkZXNjLmhhc093blByb3BlcnR5KCdnZXQnKSA9PT0gZmFsc2UgJiYNCiAgICAgIGRlc2MuaGFzT3duUHJvcGVydHkoJ3NldCcpID09PSBmYWxzZSkgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc (all false) for properties on built-ins (Date.prototype)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-210.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMy8xNS4yLjMuMy00LTIxMS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgcmV0dXJucyBkYXRhIGRlc2MgKGFsbCBmYWxzZSkgZm9yIHByb3BlcnRpZXMgb24gYnVpbHQtaW5zIChSZWdFeHAucHJvdG90eXBlKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihSZWdFeHAsICJwcm90b3R5cGUiKTsNCg0KICBpZiAoZGVzYy53cml0YWJsZSA9PT0gZmFsc2UgJiYNCiAgICAgIGRlc2MuZW51bWVyYWJsZSA9PT0gZmFsc2UgJiYNCiAgICAgIGRlc2MuY29uZmlndXJhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5oYXNPd25Qcm9wZXJ0eSgnZ2V0JykgPT09IGZhbHNlICYmDQogICAgICBkZXNjLmhhc093blByb3BlcnR5KCdzZXQnKSA9PT0gZmFsc2UpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc (all false) for properties on built-ins (RegExp.prototype)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-211.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMy8xNS4yLjMuMy00LTIxMi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgcmV0dXJucyBkYXRhIGRlc2MgKGFsbCBmYWxzZSkgZm9yIHByb3BlcnRpZXMgb24gYnVpbHQtaW5zIChSZWdFeHAucHJvdG90eXBlLnNvdXJjZSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoUmVnRXhwLnByb3RvdHlwZSwgInNvdXJjZSIpOw0KDQogIGlmIChkZXNjLndyaXRhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5jb25maWd1cmFibGUgPT09IGZhbHNlICYmDQogICAgICBkZXNjLmhhc093blByb3BlcnR5KCdnZXQnKSA9PT0gZmFsc2UgJiYNCiAgICAgIGRlc2MuaGFzT3duUHJvcGVydHkoJ3NldCcpID09PSBmYWxzZSkgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc (all false) for properties on built-ins (RegExp.prototype.source)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-212.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMy8xNS4yLjMuMy00LTIxMy5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgcmV0dXJucyBkYXRhIGRlc2MgKGFsbCBmYWxzZSkgZm9yIHByb3BlcnRpZXMgb24gYnVpbHQtaW5zIChSZWdFeHAucHJvdG90eXBlLmdsb2JhbCkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoUmVnRXhwLnByb3RvdHlwZSwgImdsb2JhbCIpOw0KDQogIGlmIChkZXNjLndyaXRhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5jb25maWd1cmFibGUgPT09IGZhbHNlICYmDQogICAgICBkZXNjLmhhc093blByb3BlcnR5KCdnZXQnKSA9PT0gZmFsc2UgJiYNCiAgICAgIGRlc2MuaGFzT3duUHJvcGVydHkoJ3NldCcpID09PSBmYWxzZSkgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc (all false) for properties on built-ins (RegExp.prototype.global)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-213.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMy8xNS4yLjMuMy00LTIxNC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgcmV0dXJucyBkYXRhIGRlc2MgKGFsbCBmYWxzZSkgZm9yIHByb3BlcnRpZXMgb24gYnVpbHQtaW5zIChSZWdFeHAucHJvdG90eXBlLmlnbm9yZUNhc2UpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKFJlZ0V4cC5wcm90b3R5cGUsICJpZ25vcmVDYXNlIik7DQoNCiAgaWYgKGRlc2Mud3JpdGFibGUgPT09IGZhbHNlICYmDQogICAgICBkZXNjLmVudW1lcmFibGUgPT09IGZhbHNlICYmDQogICAgICBkZXNjLmNvbmZpZ3VyYWJsZSA9PT0gZmFsc2UgJiYNCiAgICAgIGRlc2MuaGFzT3duUHJvcGVydHkoJ2dldCcpID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5oYXNPd25Qcm9wZXJ0eSgnc2V0JykgPT09IGZhbHNlKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc (all false) for properties on built-ins (RegExp.prototype.ignoreCase)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-214.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMy8xNS4yLjMuMy00LTIxNS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgcmV0dXJucyBkYXRhIGRlc2MgKGFsbCBmYWxzZSkgZm9yIHByb3BlcnRpZXMgb24gYnVpbHQtaW5zIChSZWdFeHAucHJvdG90eXBlLm11bHRpbGluZSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoUmVnRXhwLnByb3RvdHlwZSwgIm11bHRpbGluZSIpOw0KDQogIGlmIChkZXNjLndyaXRhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5jb25maWd1cmFibGUgPT09IGZhbHNlICYmDQogICAgICBkZXNjLmhhc093blByb3BlcnR5KCdnZXQnKSA9PT0gZmFsc2UgJiYNCiAgICAgIGRlc2MuaGFzT3duUHJvcGVydHkoJ3NldCcpID09PSBmYWxzZSkgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc (all false) for properties on built-ins (RegExp.prototype.multiline)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-215.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMy8xNS4yLjMuMy00LTIxNi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgcmV0dXJucyBkYXRhIGRlc2MgKGFsbCBmYWxzZSkgZm9yIHByb3BlcnRpZXMgb24gYnVpbHQtaW5zIChFcnJvci5wcm90b3R5cGUpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKEVycm9yLCAicHJvdG90eXBlIik7DQoNCiAgaWYgKGRlc2Mud3JpdGFibGUgPT09IGZhbHNlICYmDQogICAgICBkZXNjLmVudW1lcmFibGUgPT09IGZhbHNlICYmDQogICAgICBkZXNjLmNvbmZpZ3VyYWJsZSA9PT0gZmFsc2UgJiYNCiAgICAgIGRlc2MuaGFzT3duUHJvcGVydHkoJ2dldCcpID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5oYXNPd25Qcm9wZXJ0eSgnc2V0JykgPT09IGZhbHNlKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc (all false) for properties on built-ins (Error.prototype)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-216.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMy8xNS4yLjMuMy00LTIxNy5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgcmV0dXJucyBkYXRhIGRlc2MgKGFsbCBmYWxzZSkgZm9yIHByb3BlcnRpZXMgb24gYnVpbHQtaW5zIChFdmFsRXJyb3IucHJvdG90eXBlKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihFdmFsRXJyb3IsICJwcm90b3R5cGUiKTsNCg0KICBpZiAoZGVzYy53cml0YWJsZSA9PT0gZmFsc2UgJiYNCiAgICAgIGRlc2MuZW51bWVyYWJsZSA9PT0gZmFsc2UgJiYNCiAgICAgIGRlc2MuY29uZmlndXJhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5oYXNPd25Qcm9wZXJ0eSgnZ2V0JykgPT09IGZhbHNlICYmDQogICAgICBkZXNjLmhhc093blByb3BlcnR5KCdzZXQnKSA9PT0gZmFsc2UpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc (all false) for properties on built-ins (EvalError.prototype)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-217.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMy8xNS4yLjMuMy00LTIxOC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgcmV0dXJucyBkYXRhIGRlc2MgKGFsbCBmYWxzZSkgZm9yIHByb3BlcnRpZXMgb24gYnVpbHQtaW5zIChSYW5nZUVycm9yLnByb3RvdHlwZSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoUmFuZ2VFcnJvciwgInByb3RvdHlwZSIpOw0KDQogIGlmIChkZXNjLndyaXRhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5jb25maWd1cmFibGUgPT09IGZhbHNlICYmDQogICAgICBkZXNjLmhhc093blByb3BlcnR5KCdnZXQnKSA9PT0gZmFsc2UgJiYNCiAgICAgIGRlc2MuaGFzT3duUHJvcGVydHkoJ3NldCcpID09PSBmYWxzZSkgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc (all false) for properties on built-ins (RangeError.prototype)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-218.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMy8xNS4yLjMuMy00LTIxOS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgcmV0dXJucyBkYXRhIGRlc2MgKGFsbCBmYWxzZSkgZm9yIHByb3BlcnRpZXMgb24gYnVpbHQtaW5zIChSZWZlcmVuY2VFcnJvci5wcm90b3R5cGUpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKFJlZmVyZW5jZUVycm9yLCAicHJvdG90eXBlIik7DQoNCiAgaWYgKGRlc2Mud3JpdGFibGUgPT09IGZhbHNlICYmDQogICAgICBkZXNjLmVudW1lcmFibGUgPT09IGZhbHNlICYmDQogICAgICBkZXNjLmNvbmZpZ3VyYWJsZSA9PT0gZmFsc2UgJiYNCiAgICAgIGRlc2MuaGFzT3duUHJvcGVydHkoJ2dldCcpID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5oYXNPd25Qcm9wZXJ0eSgnc2V0JykgPT09IGZhbHNlKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc (all false) for properties on built-ins (ReferenceError.prototype)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-219.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMy8xNS4yLjMuMy00LTIyLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvciByZXR1cm5zIGRhdGEgZGVzYyBmb3IgZnVuY3Rpb25zIG9uIGJ1aWx0LWlucyAoT2JqZWN0LnByZXZlbnRFeHRlbnNpb25zKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihPYmplY3QsICJwcmV2ZW50RXh0ZW5zaW9ucyIpOw0KICBpZiAoZGVzYy52YWx1ZSA9PT0gT2JqZWN0LnByZXZlbnRFeHRlbnNpb25zICYmDQogICAgICBkZXNjLndyaXRhYmxlID09PSB0cnVlICYmDQogICAgICBkZXNjLmVudW1lcmFibGUgPT09IGZhbHNlICYmDQogICAgICBkZXNjLmNvbmZpZ3VyYWJsZSA9PT0gdHJ1ZSkgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc for functions on built-ins (Object.preventExtensions)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-22.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMy8xNS4yLjMuMy00LTIyMC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgcmV0dXJucyBkYXRhIGRlc2MgKGFsbCBmYWxzZSkgZm9yIHByb3BlcnRpZXMgb24gYnVpbHQtaW5zIChTeW50YXhFcnJvci5wcm90b3R5cGUpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKFN5bnRheEVycm9yLCAicHJvdG90eXBlIik7DQoNCiAgaWYgKGRlc2Mud3JpdGFibGUgPT09IGZhbHNlICYmDQogICAgICBkZXNjLmVudW1lcmFibGUgPT09IGZhbHNlICYmDQogICAgICBkZXNjLmNvbmZpZ3VyYWJsZSA9PT0gZmFsc2UgJiYNCiAgICAgIGRlc2MuaGFzT3duUHJvcGVydHkoJ2dldCcpID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5oYXNPd25Qcm9wZXJ0eSgnc2V0JykgPT09IGZhbHNlKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc (all false) for properties on built-ins (SyntaxError.prototype)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-220.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMy8xNS4yLjMuMy00LTIyMS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgcmV0dXJucyBkYXRhIGRlc2MgKGFsbCBmYWxzZSkgZm9yIHByb3BlcnRpZXMgb24gYnVpbHQtaW5zIChUeXBlRXJyb3IucHJvdG90eXBlKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihUeXBlRXJyb3IsICJwcm90b3R5cGUiKTsNCg0KICBpZiAoZGVzYy53cml0YWJsZSA9PT0gZmFsc2UgJiYNCiAgICAgIGRlc2MuZW51bWVyYWJsZSA9PT0gZmFsc2UgJiYNCiAgICAgIGRlc2MuY29uZmlndXJhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5oYXNPd25Qcm9wZXJ0eSgnZ2V0JykgPT09IGZhbHNlICYmDQogICAgICBkZXNjLmhhc093blByb3BlcnR5KCdzZXQnKSA9PT0gZmFsc2UpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc (all false) for properties on built-ins (TypeError.prototype)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-221.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMy8xNS4yLjMuMy00LTIyMi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgcmV0dXJucyBkYXRhIGRlc2MgKGFsbCBmYWxzZSkgZm9yIHByb3BlcnRpZXMgb24gYnVpbHQtaW5zIChVUklFcnJvci5wcm90b3R5cGUpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKFVSSUVycm9yLCAicHJvdG90eXBlIik7DQoNCiAgaWYgKGRlc2Mud3JpdGFibGUgPT09IGZhbHNlICYmDQogICAgICBkZXNjLmVudW1lcmFibGUgPT09IGZhbHNlICYmDQogICAgICBkZXNjLmNvbmZpZ3VyYWJsZSA9PT0gZmFsc2UgJiYNCiAgICAgIGRlc2MuaGFzT3duUHJvcGVydHkoJ2dldCcpID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5oYXNPd25Qcm9wZXJ0eSgnc2V0JykgPT09IGZhbHNlKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc (all false) for properties on built-ins (URIError.prototype)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-222.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMy8xNS4yLjMuMy00LTIyMy5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgLSBlbnN1cmUgdGhhdCAndmFsdWUnIHByb3BlcnR5IG9mIHJldHVybmVkIG9iamVjdCBpcyBkYXRhIHByb3BlcnR5IHdpdGggY29ycmVjdCAndmFsdWUnIGF0dHJpYnV0ZQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7ICJwcm9wZXJ0eSI6ICJvd25EYXRhUHJvcGVydHkiIH07DQoNCiAgICAgICAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3BlcnR5Iik7DQoNCiAgICAgICAgcmV0dXJuIGRlc2MudmFsdWUgPT09ICJvd25EYXRhUHJvcGVydHkiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.getOwnPropertyDescriptor - ensure that 'value' property of returned object is data property with correct 'value' attribute","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-223.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMy8xNS4yLjMuMy00LTIyNC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgLSBlbnN1cmUgdGhhdCAndmFsdWUnIHByb3BlcnR5IG9mIHJldHVybmVkIG9iamVjdCBpcyBkYXRhIHByb3BlcnR5IHdpdGggY29ycmVjdCAnd3JpdGFibGUnIGF0dHJpYnV0ZQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7ICJwcm9wZXJ0eSI6ICJvd25EYXRhUHJvcGVydHkiIH07DQoNCiAgICAgICAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3BlcnR5Iik7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIGRlc2MudmFsdWUgPSAib3ZlcndyaXRlRGF0YVByb3BlcnR5IjsNCiAgICAgICAgICAgIHJldHVybiBkZXNjLnZhbHVlID09PSAib3ZlcndyaXRlRGF0YVByb3BlcnR5IjsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.getOwnPropertyDescriptor - ensure that 'value' property of returned object is data property with correct 'writable' attribute","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-224.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMy8xNS4yLjMuMy00LTIyNS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgLSBlbnN1cmUgdGhhdCAndmFsdWUnIHByb3BlcnR5IG9mIHJldHVybmVkIG9iamVjdCBpcyBkYXRhIHByb3BlcnR5IHdpdGggY29ycmVjdCAnZW51bWVyYWJsZScgYXR0cmlidXRlDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHsgInByb3BlcnR5IjogIm93bkRhdGFQcm9wZXJ0eSIgfTsNCg0KICAgICAgICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcGVydHkiKTsNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQoNCiAgICAgICAgZm9yICh2YXIgcHJvcCBpbiBkZXNjKSB7DQogICAgICAgICAgICBpZiAocHJvcCA9PT0gInZhbHVlIikgew0KICAgICAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIHJldHVybiBhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.getOwnPropertyDescriptor - ensure that 'value' property of returned object is data property with correct 'enumerable' attribute","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-225.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMy8xNS4yLjMuMy00LTIyNi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgLSBlbnN1cmUgdGhhdCAndmFsdWUnIHByb3BlcnR5IG9mIHJldHVybmVkIG9iamVjdCBpcyBkYXRhIHByb3BlcnR5IHdpdGggY29ycmVjdCAnY29uZmlndXJhYmxlJyBhdHRyaWJ1dGUNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0geyAicHJvcGVydHkiOiAib3duRGF0YVByb3BlcnR5IiB9Ow0KDQogICAgICAgIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wZXJ0eSIpOw0KDQogICAgICAgIHZhciBwcm9wRGVmaW5lZCA9ICJ2YWx1ZSIgaW4gZGVzYzsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgZGVsZXRlIGRlc2MudmFsdWU7DQogICAgICAgICAgICB2YXIgcHJvcERlbGV0ZWQgPSAidmFsdWUiIGluIGRlc2M7DQoNCiAgICAgICAgICAgIHJldHVybiBwcm9wRGVmaW5lZCAmJiAhcHJvcERlbGV0ZWQ7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.getOwnPropertyDescriptor - ensure that 'value' property of returned object is data property with correct 'configurable' attribute","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-226.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMy8xNS4yLjMuMy00LTIyNy5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgLSBlbnN1cmUgdGhhdCAnd3JpdGFibGUnIHByb3BlcnR5IG9mIHJldHVybmVkIG9iamVjdCBpcyBkYXRhIHByb3BlcnR5IHdpdGggY29ycmVjdCAndmFsdWUnIGF0dHJpYnV0ZQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7ICJwcm9wZXJ0eSI6ICJvd25EYXRhUHJvcGVydHkiIH07DQoNCiAgICAgICAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3BlcnR5Iik7DQoNCiAgICAgICAgcmV0dXJuIGRlc2Mud3JpdGFibGUgPT09IHRydWU7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.getOwnPropertyDescriptor - ensure that 'writable' property of returned object is data property with correct 'value' attribute","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-227.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMy8xNS4yLjMuMy00LTIyOC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgLSBlbnN1cmUgdGhhdCAnd3JpdGFibGUnIHByb3BlcnR5IG9mIHJldHVybmVkIG9iamVjdCBpcyBkYXRhIHByb3BlcnR5IHdpdGggY29ycmVjdCAnd3JpdGFibGUnIGF0dHJpYnV0ZQ0KICovDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHsgInByb3BlcnR5IjogIm93bkRhdGFQcm9wZXJ0eSIgfTsNCg0KICAgICAgICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcGVydHkiKTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgZGVzYy53cml0YWJsZSA9ICJvdmVyd3JpdGVEYXRhUHJvcGVydHkiOw0KICAgICAgICAgICAgcmV0dXJuIGRlc2Mud3JpdGFibGUgPT09ICJvdmVyd3JpdGVEYXRhUHJvcGVydHkiOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.getOwnPropertyDescriptor - ensure that 'writable' property of returned object is data property with correct 'writable' attribute","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-228.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMy8xNS4yLjMuMy00LTIyOS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgLSBlbnN1cmUgdGhhdCAnd3JpdGFibGUnIHByb3BlcnR5IG9mIHJldHVybmVkIG9iamVjdCBpcyBkYXRhIHByb3BlcnR5IHdpdGggY29ycmVjdCAnZW51bWVyYWJsZScgYXR0cmlidXRlDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHsgInByb3BlcnR5IjogIm93bkRhdGFQcm9wZXJ0eSIgfTsNCg0KICAgICAgICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcGVydHkiKTsNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQoNCiAgICAgICAgZm9yICh2YXIgcHJvcHMgaW4gZGVzYykgew0KICAgICAgICAgICAgaWYgKHByb3BzID09PSAid3JpdGFibGUiKSB7DQogICAgICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgcmV0dXJuIGFjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.getOwnPropertyDescriptor - ensure that 'writable' property of returned object is data property with correct 'enumerable' attribute","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-229.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMy8xNS4yLjMuMy00LTIzLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvciByZXR1cm5zIGRhdGEgZGVzYyBmb3IgZnVuY3Rpb25zIG9uIGJ1aWx0LWlucyAoT2JqZWN0LmlzU2VhbGVkKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihPYmplY3QsICJpc1NlYWxlZCIpOw0KICBpZiAoZGVzYy52YWx1ZSA9PT0gT2JqZWN0LmlzU2VhbGVkICYmDQogICAgICBkZXNjLndyaXRhYmxlID09PSB0cnVlICYmDQogICAgICBkZXNjLmVudW1lcmFibGUgPT09IGZhbHNlICYmDQogICAgICBkZXNjLmNvbmZpZ3VyYWJsZSA9PT0gdHJ1ZSkgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc for functions on built-ins (Object.isSealed)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-23.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMy8xNS4yLjMuMy00LTIzMC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgLSBlbnN1cmUgdGhhdCAnd3JpdGFibGUnIHByb3BlcnR5IG9mIHJldHVybmVkIG9iamVjdCBpcyBkYXRhIHByb3BlcnR5IHdpdGggY29ycmVjdCAnY29uZmlndXJhYmxlJyBhdHRyaWJ1dGUNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0geyAicHJvcGVydHkiOiAib3duRGF0YVByb3BlcnR5IiB9Ow0KDQogICAgICAgIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wZXJ0eSIpOw0KDQogICAgICAgIHZhciBwcm9wRGVmaW5lZCA9ICgid3JpdGFibGUiIGluIGRlc2MpOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBkZWxldGUgZGVzYy53cml0YWJsZTsNCiAgICAgICAgICAgIHZhciBwcm9wRGVsZXRlZCA9ICJ3cml0YWJsZSIgaW4gZGVzYzsNCg0KICAgICAgICAgICAgcmV0dXJuIHByb3BEZWZpbmVkICYmICFwcm9wRGVsZXRlZDsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.getOwnPropertyDescriptor - ensure that 'writable' property of returned object is data property with correct 'configurable' attribute","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-230.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMy8xNS4yLjMuMy00LTIzMS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgLSBlbnN1cmUgdGhhdCAnZW51bWVyYWJsZScgcHJvcGVydHkgb2YgcmV0dXJuZWQgb2JqZWN0IGlzIGRhdGEgcHJvcGVydHkgd2l0aCBjb3JyZWN0ICd2YWx1ZScgYXR0cmlidXRlDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHsgInByb3BlcnR5IjogIm93bkRhdGFQcm9wZXJ0eSIgfTsNCg0KICAgICAgICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcGVydHkiKTsNCg0KICAgICAgICByZXR1cm4gZGVzYy5lbnVtZXJhYmxlID09PSB0cnVlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.getOwnPropertyDescriptor - ensure that 'enumerable' property of returned object is data property with correct 'value' attribute","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-231.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMy8xNS4yLjMuMy00LTIzMi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgLSBlbnN1cmUgdGhhdCAnZW51bWVyYWJsZScgcHJvcGVydHkgb2YgcmV0dXJuZWQgb2JqZWN0IGlzIGRhdGEgcHJvcGVydHkgd2l0aCBjb3JyZWN0ICd3cml0YWJsZScgYXR0cmlidXRlDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHsgInByb3BlcnR5IjogIm93bkRhdGFQcm9wZXJ0eSIgfTsNCg0KICAgICAgICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcGVydHkiKTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgZGVzYy5lbnVtZXJhYmxlID0gIm92ZXJ3cml0ZURhdGFQcm9wZXJ0eSI7DQogICAgICAgICAgICByZXR1cm4gZGVzYy5lbnVtZXJhYmxlID09PSAib3ZlcndyaXRlRGF0YVByb3BlcnR5IjsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.getOwnPropertyDescriptor - ensure that 'enumerable' property of returned object is data property with correct 'writable' attribute","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-232.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMy8xNS4yLjMuMy00LTIzMy5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgLSBlbnN1cmUgdGhhdCAnZW51bWVyYWJsZScgcHJvcGVydHkgb2YgcmV0dXJuZWQgb2JqZWN0IGlzIGRhdGEgcHJvcGVydHkgd2l0aCBjb3JyZWN0ICdlbnVtZXJhYmxlJyBhdHRyaWJ1dGUNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0geyAicHJvcGVydHkiOiAib3duRGF0YVByb3BlcnR5IiB9Ow0KDQogICAgICAgIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wZXJ0eSIpOw0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICBmb3IgKHZhciBwcm9wcyBpbiBkZXNjKSB7DQogICAgICAgICAgICBpZiAocHJvcHMgPT09ICJlbnVtZXJhYmxlIikgew0KICAgICAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIHJldHVybiBhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.getOwnPropertyDescriptor - ensure that 'enumerable' property of returned object is data property with correct 'enumerable' attribute","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-233.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMy8xNS4yLjMuMy00LTIzNC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgLSBlbnN1cmUgdGhhdCAnZW51bWVyYWJsZScgcHJvcGVydHkgb2YgcmV0dXJuZWQgb2JqZWN0IGlzIGRhdGEgcHJvcGVydHkgd2l0aCBjb3JyZWN0ICdjb25maWd1cmFibGUnIGF0dHJpYnV0ZQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7ICJwcm9wZXJ0eSI6ICJvd25EYXRhUHJvcGVydHkiIH07DQoNCiAgICAgICAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3BlcnR5Iik7DQoNCiAgICAgICAgdmFyIHByb3BEZWZpbmVkID0gImVudW1lcmFibGUiIGluIGRlc2M7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBkZXNjLmVudW1lcmFibGU7DQogICAgICAgICAgICB2YXIgcHJvcERlbGV0ZWQgPSAiZW51bWVyYWJsZSIgaW4gZGVzYzsNCg0KICAgICAgICAgICAgcmV0dXJuIHByb3BEZWZpbmVkICYmICFwcm9wRGVsZXRlZDsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.getOwnPropertyDescriptor - ensure that 'enumerable' property of returned object is data property with correct 'configurable' attribute","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-234.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMy8xNS4yLjMuMy00LTIzNS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgLSBlbnN1cmUgdGhhdCAnY29uZmlndXJhYmxlJyBwcm9wZXJ0eSBvZiByZXR1cm5lZCBvYmplY3QgaXMgZGF0YSBwcm9wZXJ0eSB3aXRoIGNvcnJlY3QgJ3ZhbHVlJyBhdHRyaWJ1dGUNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0geyAicHJvcGVydHkiOiAib3duRGF0YVByb3BlcnR5IiB9Ow0KDQogICAgICAgIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wZXJ0eSIpOw0KDQogICAgICAgIHJldHVybiBkZXNjLmNvbmZpZ3VyYWJsZSA9PT0gdHJ1ZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.getOwnPropertyDescriptor - ensure that 'configurable' property of returned object is data property with correct 'value' attribute","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-235.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMy8xNS4yLjMuMy00LTIzNi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgLSBlbnN1cmUgdGhhdCAnY29uZmlndXJhYmxlJyBwcm9wZXJ0eSBvZiByZXR1cm5lZCBvYmplY3QgaXMgZGF0YSBwcm9wZXJ0eSB3aXRoIGNvcnJlY3QgJ3dyaXRhYmxlJyBhdHRyaWJ1dGUNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0geyAicHJvcGVydHkiOiAib3duRGF0YVByb3BlcnR5IiB9Ow0KDQogICAgICAgIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wZXJ0eSIpOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBkZXNjLndyaXRhYmxlID0gIm92ZXJ3cml0ZURhdGFQcm9wZXJ0eSI7DQogICAgICAgICAgICByZXR1cm4gZGVzYy53cml0YWJsZSA9PT0gIm92ZXJ3cml0ZURhdGFQcm9wZXJ0eSI7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.getOwnPropertyDescriptor - ensure that 'configurable' property of returned object is data property with correct 'writable' attribute","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-236.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMy8xNS4yLjMuMy00LTIzNy5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgLSBlbnN1cmUgdGhhdCAnY29uZmlndXJhYmxlJyBwcm9wZXJ0eSBvZiByZXR1cm5lZCBvYmplY3QgaXMgZGF0YSBwcm9wZXJ0eSB3aXRoIGNvcnJlY3QgJ2VudW1lcmFibGUnIGF0dHJpYnV0ZQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7ICJwcm9wZXJ0eSI6ICJvd25EYXRhUHJvcGVydHkiIH07DQoNCiAgICAgICAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3BlcnR5Iik7DQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIGZvciAodmFyIHByb3AgaW4gZGVzYykgew0KICAgICAgICAgICAgaWYgKHByb3AgPT09ICJjb25maWd1cmFibGUiKSB7DQogICAgICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgcmV0dXJuIGFjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.getOwnPropertyDescriptor - ensure that 'configurable' property of returned object is data property with correct 'enumerable' attribute","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-237.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMy8xNS4yLjMuMy00LTIzOC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgLSBlbnN1cmUgdGhhdCAnY29uZmlndXJhYmxlJyBwcm9wZXJ0eSBvZiByZXR1cm5lZCBvYmplY3QgaXMgZGF0YSBwcm9wZXJ0eSB3aXRoIGNvcnJlY3QgJ2NvbmZpZ3VyYWJsZScgYXR0cmlidXRlDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHsgInByb3BlcnR5IjogIm93bkRhdGFQcm9wZXJ0eSIgfTsNCg0KICAgICAgICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcGVydHkiKTsNCg0KICAgICAgICB2YXIgcHJvcERlZmluZWQgPSAiY29uZmlndXJhYmxlIiBpbiBkZXNjOw0KICAgICAgICANCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBkZXNjLmNvbmZpZ3VyYWJsZTsNCiAgICAgICAgICAgIHZhciBwcm9wRGVsZXRlZCA9ICJjb25maWd1cmFibGUiIGluIGRlc2M7DQoNCiAgICAgICAgICAgIHJldHVybiBwcm9wRGVmaW5lZCAmJiAhcHJvcERlbGV0ZWQ7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.getOwnPropertyDescriptor - ensure that 'configurable' property of returned object is data property with correct 'configurable' attribute","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-238.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMy8xNS4yLjMuMy00LTIzOS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgLSBlbnN1cmUgdGhhdCAnZ2V0JyBwcm9wZXJ0eSBvZiByZXR1cm5lZCBvYmplY3QgaXMgZGF0YSBwcm9wZXJ0eSB3aXRoIGNvcnJlY3QgJ3ZhbHVlJyBhdHRyaWJ1dGUNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIHZhciBmdW4gPSBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICByZXR1cm4gIm93bkRhdGFQcm9wZXJ0eSI7DQogICAgICAgIH07DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wZXJ0eSIsIHsNCiAgICAgICAgICAgIGdldDogZnVuLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wZXJ0eSIpOw0KDQogICAgICAgIHJldHVybiBkZXNjLmdldCA9PT0gZnVuOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.getOwnPropertyDescriptor - ensure that 'get' property of returned object is data property with correct 'value' attribute","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-239.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMy8xNS4yLjMuMy00LTI0LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvciByZXR1cm5zIGRhdGEgZGVzYyBmb3IgZnVuY3Rpb25zIG9uIGJ1aWx0LWlucyAoT2JqZWN0LmlzRnJvemVuKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihPYmplY3QsICJpc0Zyb3plbiIpOw0KICBpZiAoZGVzYy52YWx1ZSA9PT0gT2JqZWN0LmlzRnJvemVuICYmDQogICAgICBkZXNjLndyaXRhYmxlID09PSB0cnVlICYmDQogICAgICBkZXNjLmVudW1lcmFibGUgPT09IGZhbHNlICYmDQogICAgICBkZXNjLmNvbmZpZ3VyYWJsZSA9PT0gdHJ1ZSkgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc for functions on built-ins (Object.isFrozen)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-24.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMy8xNS4yLjMuMy00LTI0MC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgLSBlbnN1cmUgdGhhdCAnZ2V0JyBwcm9wZXJ0eSBvZiByZXR1cm5lZCBvYmplY3QgaXMgZGF0YSBwcm9wZXJ0eSB3aXRoIGNvcnJlY3QgJ3dyaXRhYmxlJyBhdHRyaWJ1dGUNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIHZhciBmdW4gPSBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICByZXR1cm4gIm93bkdldFByb3BlcnR5IjsNCiAgICAgICAgfTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3BlcnR5Iiwgew0KICAgICAgICAgICAgZ2V0OiBmdW4sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3BlcnR5Iik7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIGRlc2MuZ2V0ID0gIm92ZXJ3cml0ZUdldFByb3BlcnR5IjsNCiAgICAgICAgICAgIHJldHVybiBkZXNjLmdldCA9PT0gIm92ZXJ3cml0ZUdldFByb3BlcnR5IjsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.getOwnPropertyDescriptor - ensure that 'get' property of returned object is data property with correct 'writable' attribute","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-240.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMy8xNS4yLjMuMy00LTI0MS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgLSBlbnN1cmUgdGhhdCAnZ2V0JyBwcm9wZXJ0eSBvZiByZXR1cm5lZCBvYmplY3QgaXMgZGF0YSBwcm9wZXJ0eSB3aXRoIGNvcnJlY3QgJ2VudW1lcmFibGUnIGF0dHJpYnV0ZQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgdmFyIGZ1biA9IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgIHJldHVybiAib3duRGF0YVByb3BlcnR5IjsNCiAgICAgICAgfTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3BlcnR5Iiwgew0KICAgICAgICAgICAgZ2V0OiBmdW4sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3BlcnR5Iik7DQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIGZvciAodmFyIHByb3AgaW4gZGVzYykgew0KICAgICAgICAgICAgaWYgKHByb3AgPT09ICJnZXQiKSB7DQogICAgICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgcmV0dXJuIGFjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.getOwnPropertyDescriptor - ensure that 'get' property of returned object is data property with correct 'enumerable' attribute","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-241.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMy8xNS4yLjMuMy00LTI0Mi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgLSBlbnN1cmUgdGhhdCAnZ2V0JyBwcm9wZXJ0eSBvZiByZXR1cm5lZCBvYmplY3QgaXMgZGF0YSBwcm9wZXJ0eSB3aXRoIGNvcnJlY3QgJ2NvbmZpZ3VyYWJsZScgYXR0cmlidXRlDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICB2YXIgZnVuID0gZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgcmV0dXJuICJvd25EYXRhUHJvcGVydHkiOw0KICAgICAgICB9Ow0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcGVydHkiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1biwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcGVydHkiKTsNCg0KICAgICAgICB2YXIgcHJvcERlZmluZWQgPSAiZ2V0IiBpbiBkZXNjOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBkZWxldGUgZGVzYy5nZXQ7DQogICAgICAgICAgICB2YXIgcHJvcERlbGV0ZWQgPSAiZ2V0IiBpbiBkZXNjOw0KDQogICAgICAgICAgICByZXR1cm4gcHJvcERlZmluZWQgJiYgIXByb3BEZWxldGVkOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.getOwnPropertyDescriptor - ensure that 'get' property of returned object is data property with correct 'configurable' attribute","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-242.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMy8xNS4yLjMuMy00LTI0My5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgLSBlbnN1cmUgdGhhdCAnc2V0JyBwcm9wZXJ0eSBvZiByZXR1cm5lZCBvYmplY3QgaXMgZGF0YSBwcm9wZXJ0eSB3aXRoIGNvcnJlY3QgJ3ZhbHVlJyBhdHRyaWJ1dGUNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIHZhciBmdW4gPSBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICByZXR1cm4gIm93blNldFByb3BlcnR5IjsNCiAgICAgICAgfTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3BlcnR5Iiwgew0KICAgICAgICAgICAgc2V0OiBmdW4sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3BlcnR5Iik7DQoNCiAgICAgICAgcmV0dXJuIGRlc2Muc2V0ID09PSBmdW47DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.getOwnPropertyDescriptor - ensure that 'set' property of returned object is data property with correct 'value' attribute","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-243.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMy8xNS4yLjMuMy00LTI0NC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgLSBlbnN1cmUgdGhhdCAnc2V0JyBwcm9wZXJ0eSBvZiByZXR1cm5lZCBvYmplY3QgaXMgZGF0YSBwcm9wZXJ0eSB3aXRoIGNvcnJlY3QgJ3dyaXRhYmxlJyBhdHRyaWJ1dGUNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIHZhciBmdW4gPSBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICByZXR1cm4gIm93blNldFByb3BlcnR5IjsNCiAgICAgICAgfTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3BlcnR5Iiwgew0KICAgICAgICAgICAgc2V0OiBmdW4sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3BlcnR5Iik7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIGRlc2Muc2V0ID0gIm92ZXJ3cml0ZVNldFByb3BlcnR5IjsNCiAgICAgICAgICAgIHJldHVybiBkZXNjLnNldCA9PT0gIm92ZXJ3cml0ZVNldFByb3BlcnR5IjsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.getOwnPropertyDescriptor - ensure that 'set' property of returned object is data property with correct 'writable' attribute","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-244.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMy8xNS4yLjMuMy00LTI0NS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgLSBlbnN1cmUgdGhhdCAnc2V0JyBwcm9wZXJ0eSBvZiByZXR1cm5lZCBvYmplY3QgaXMgZGF0YSBwcm9wZXJ0eSB3aXRoIGNvcnJlY3QgJ2VudW1lcmFibGUnIGF0dHJpYnV0ZQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgdmFyIGZ1biA9IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgIHJldHVybiAib3duU2V0UHJvcGVydHkiOw0KICAgICAgICB9Ow0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcGVydHkiLCB7DQogICAgICAgICAgICBzZXQ6IGZ1biwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcGVydHkiKTsNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQoNCiAgICAgICAgZm9yICh2YXIgcHJvcCBpbiBkZXNjKSB7DQogICAgICAgICAgICBpZiAocHJvcCA9PT0gInNldCIpIHsNCiAgICAgICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICByZXR1cm4gYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.getOwnPropertyDescriptor - ensure that 'set' property of returned object is data property with correct 'enumerable' attribute","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-245.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMy8xNS4yLjMuMy00LTI0Ni5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgLSBlbnN1cmUgdGhhdCAnc2V0JyBwcm9wZXJ0eSBvZiByZXR1cm5lZCBvYmplY3QgaXMgZGF0YSBwcm9wZXJ0eSB3aXRoIGNvcnJlY3QgJ2NvbmZpZ3VyYWJsZScgYXR0cmlidXRlDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICB2YXIgZnVuID0gZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgcmV0dXJuICJvd25TZXRQcm9wZXJ0eSI7DQogICAgICAgIH07DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wZXJ0eSIsIHsNCiAgICAgICAgICAgIHNldDogZnVuLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wZXJ0eSIpOw0KDQogICAgICAgIHZhciBwcm9wRGVmaW5lZCA9ICJzZXQiIGluIGRlc2M7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBkZXNjLnNldDsNCiAgICAgICAgICAgIHZhciBwcm9wRGVsZXRlZCA9ICJzZXQiIGluIGRlc2M7DQoNCiAgICAgICAgICAgIHJldHVybiBwcm9wRGVmaW5lZCAmJiAhcHJvcERlbGV0ZWQ7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.getOwnPropertyDescriptor - ensure that 'set' property of returned object is data property with correct 'configurable' attribute","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-246.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMy8xNS4yLjMuMy00LTI0Ny5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgLSByZXR1cm5lZCB2YWx1ZSBpcyBhbiBpbnN0YW5jZSBvZiBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0geyAicHJvcGVydHkiOiAxMDAgfTsNCg0KICAgICAgICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcGVydHkiKTsNCg0KICAgICAgICByZXR1cm4gZGVzYyBpbnN0YW5jZW9mIE9iamVjdDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.getOwnPropertyDescriptor - returned value is an instance of object","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-247.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMy8xNS4yLjMuMy00LTI0OC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgLSByZXR1cm5lZCBvYmplY3QgY29udGFpbnMgdGhlIHByb3BlcnR5ICd2YWx1ZScgaWYgdGhlIHZhbHVlIG9mIHByb3BlcnR5ICd2YWx1ZScgaXMgbm90IGV4cGxpY2l0bHkgc3BlY2lmaWVkIHdoZW4gZGVmaW5lZCBieSBPYmplY3QuZGVmaW5lUHJvcGVydHkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wZXJ0eSIsIHsNCiAgICAgICAgICAgIHdyaXRhYmxlOiB0cnVlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wZXJ0eSIpOw0KDQogICAgICAgIHJldHVybiAidmFsdWUiIGluIGRlc2M7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.getOwnPropertyDescriptor - returned object contains the property 'value' if the value of property 'value' is not explicitly specified when defined by Object.defineProperty","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-248.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMy8xNS4yLjMuMy00LTI0OS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgLSByZXR1cm5lZCBvYmplY3QgY29udGFpbnMgdGhlIHByb3BlcnR5ICdzZXQnIGlmIHRoZSB2YWx1ZSBvZiBwcm9wZXJ0eSAnc2V0JyBpcyBub3QgZXhwbGljaXRseSBzcGVjaWZpZWQgd2hlbiBkZWZpbmVkIGJ5IE9iamVjdC5kZWZpbmVQcm9wZXJ0eS4NCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wZXJ0eSIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgeyB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wZXJ0eSIpOw0KDQogICAgICAgIHJldHVybiAic2V0IiBpbiBkZXNjOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.getOwnPropertyDescriptor - returned object contains the property 'set' if the value of property 'set' is not explicitly specified when defined by Object.defineProperty.","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-249.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMy8xNS4yLjMuMy00LTI1LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvciByZXR1cm5zIGRhdGEgZGVzYyBmb3IgZnVuY3Rpb25zIG9uIGJ1aWx0LWlucyAoT2JqZWN0LmlzRXh0ZW5zaWJsZSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoT2JqZWN0LCAiaXNFeHRlbnNpYmxlIik7DQogIGlmIChkZXNjLnZhbHVlID09PSBPYmplY3QuaXNFeHRlbnNpYmxlICYmDQogICAgICBkZXNjLndyaXRhYmxlID09PSB0cnVlICYmDQogICAgICBkZXNjLmVudW1lcmFibGUgPT09IGZhbHNlICYmDQogICAgICBkZXNjLmNvbmZpZ3VyYWJsZSA9PT0gdHJ1ZSkgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc for functions on built-ins (Object.isExtensible)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-25.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMy8xNS4yLjMuMy00LTI1MC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IgLSByZXR1cm5lZCBvYmplY3QgY29udGFpbnMgdGhlIHByb3BlcnR5ICdnZXQnIGlmIHRoZSB2YWx1ZSBvZiBwcm9wZXJ0eSAnZ2V0JyBpcyBub3QgZXhwbGljaXRseSBzcGVjaWZpZWQgd2hlbiBkZWZpbmVkIGJ5IE9iamVjdC5kZWZpbmVQcm9wZXJ0eS4NCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wZXJ0eSIsIHsNCiAgICAgICAgICAgIHNldDogZnVuY3Rpb24gKCkge30sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3BlcnR5Iik7DQoNCiAgICAgICAgcmV0dXJuICJnZXQiIGluIGRlc2M7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.getOwnPropertyDescriptor - returned object contains the property 'get' if the value of property 'get' is not explicitly specified when defined by Object.defineProperty.","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-250.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMy8xNS4yLjMuMy00LTI2LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvciByZXR1cm5zIGRhdGEgZGVzYyBmb3IgZnVuY3Rpb25zIG9uIGJ1aWx0LWlucyAoT2JqZWN0LmtleXMpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKE9iamVjdCwgImtleXMiKTsNCiAgaWYgKGRlc2MudmFsdWUgPT09IE9iamVjdC5rZXlzICYmDQogICAgICBkZXNjLndyaXRhYmxlID09PSB0cnVlICYmDQogICAgICBkZXNjLmVudW1lcmFibGUgPT09IGZhbHNlICYmDQogICAgICBkZXNjLmNvbmZpZ3VyYWJsZSA9PT0gdHJ1ZSkgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc for functions on built-ins (Object.keys)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-26.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMy8xNS4yLjMuMy00LTI3LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvciByZXR1cm5zIGRhdGEgZGVzYyBmb3IgZnVuY3Rpb25zIG9uIGJ1aWx0LWlucyAoT2JqZWN0LnByb3RvdHlwZS5jb25zdHJ1Y3RvcikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoT2JqZWN0LnByb3RvdHlwZSwgImNvbnN0cnVjdG9yIik7DQogIGlmIChkZXNjLnZhbHVlID09PSBPYmplY3QucHJvdG90eXBlLmNvbnN0cnVjdG9yICYmDQogICAgICBkZXNjLndyaXRhYmxlID09PSB0cnVlICYmDQogICAgICBkZXNjLmVudW1lcmFibGUgPT09IGZhbHNlICYmDQogICAgICBkZXNjLmNvbmZpZ3VyYWJsZSA9PT0gdHJ1ZSkgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc for functions on built-ins (Object.prototype.constructor)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-27.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMy8xNS4yLjMuMy00LTI4LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvciByZXR1cm5zIGRhdGEgZGVzYyBmb3IgZnVuY3Rpb25zIG9uIGJ1aWx0LWlucyAoT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoT2JqZWN0LnByb3RvdHlwZSwgInRvU3RyaW5nIik7DQogIGlmIChkZXNjLnZhbHVlID09PSBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nICYmDQogICAgICBkZXNjLndyaXRhYmxlID09PSB0cnVlICYmDQogICAgICBkZXNjLmVudW1lcmFibGUgPT09IGZhbHNlICYmDQogICAgICBkZXNjLmNvbmZpZ3VyYWJsZSA9PT0gdHJ1ZSkgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc for functions on built-ins (Object.prototype.toString)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-28.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMy8xNS4yLjMuMy00LTI5LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvciByZXR1cm5zIGRhdGEgZGVzYyBmb3IgZnVuY3Rpb25zIG9uIGJ1aWx0LWlucyAoT2JqZWN0LnByb3RvdHlwZS52YWx1ZU9mKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihPYmplY3QucHJvdG90eXBlLCAidmFsdWVPZiIpOw0KICBpZiAoZGVzYy52YWx1ZSA9PT0gT2JqZWN0LnByb3RvdHlwZS52YWx1ZU9mICYmDQogICAgICBkZXNjLndyaXRhYmxlID09PSB0cnVlICYmDQogICAgICBkZXNjLmVudW1lcmFibGUgPT09IGZhbHNlICYmDQogICAgICBkZXNjLmNvbmZpZ3VyYWJsZSA9PT0gdHJ1ZSkgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc for functions on built-ins (Object.prototype.valueOf)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-29.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMy8xNS4yLjMuMy00LTMuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIHJldHVybnMgYW4gb2JqZWN0IHJlcHJlc2VudGluZyBhbiBhY2Nlc3NvciBkZXNjIGZvciB2YWxpZCBhY2Nlc3NvciBwcm9wZXJ0aWVzDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICB2YXIgbyA9IHt9Ow0KDQogICAgLy8gZHVtbXkgZ2V0dGVyDQogICAgdmFyIGdldHRlciA9IGZ1bmN0aW9uICgpIHsgcmV0dXJuIDE7IH0NCiAgICB2YXIgZCA9IHsgZ2V0OiBnZXR0ZXIgfTsNCg0KICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvLCAiZm9vIiwgZCk7DQoNCiAgICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IobywgImZvbyIpOw0KICAgIGlmIChkZXNjLmdldCA9PT0gZ2V0dGVyICYmDQogICAgICAgIGRlc2Muc2V0ID09PSB1bmRlZmluZWQgJiYNCiAgICAgICAgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJg0KICAgICAgICBkZXNjLmNvbmZpZ3VyYWJsZSA9PT0gZmFsc2UpIHsNCiAgICAgIHJldHVybiB0cnVlOw0KICAgIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.getOwnPropertyDescriptor returns an object representing an accessor desc for valid accessor properties","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMy8xNS4yLjMuMy00LTMwLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvciByZXR1cm5zIGRhdGEgZGVzYyBmb3IgZnVuY3Rpb25zIG9uIGJ1aWx0LWlucyAoT2JqZWN0LnByb3RvdHlwZS5pc1Byb3RvdHlwZU9mKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihPYmplY3QucHJvdG90eXBlLCAiaXNQcm90b3R5cGVPZiIpOw0KICBpZiAoZGVzYy52YWx1ZSA9PT0gT2JqZWN0LnByb3RvdHlwZS5pc1Byb3RvdHlwZU9mICYmDQogICAgICBkZXNjLndyaXRhYmxlID09PSB0cnVlICYmDQogICAgICBkZXNjLmVudW1lcmFibGUgPT09IGZhbHNlICYmDQogICAgICBkZXNjLmNvbmZpZ3VyYWJsZSA9PT0gdHJ1ZSkgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc for functions on built-ins (Object.prototype.isPrototypeOf)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-30.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMy8xNS4yLjMuMy00LTMxLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvciByZXR1cm5zIGRhdGEgZGVzYyBmb3IgZnVuY3Rpb25zIG9uIGJ1aWx0LWlucyAoT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoT2JqZWN0LnByb3RvdHlwZSwgImhhc093blByb3BlcnR5Iik7DQogIGlmIChkZXNjLnZhbHVlID09PSBPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5ICYmDQogICAgICBkZXNjLndyaXRhYmxlID09PSB0cnVlICYmDQogICAgICBkZXNjLmVudW1lcmFibGUgPT09IGZhbHNlICYmDQogICAgICBkZXNjLmNvbmZpZ3VyYWJsZSA9PT0gdHJ1ZSkgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc for functions on built-ins (Object.prototype.hasOwnProperty)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-31.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMy8xNS4yLjMuMy00LTMyLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvciByZXR1cm5zIGRhdGEgZGVzYyBmb3IgZnVuY3Rpb25zIG9uIGJ1aWx0LWlucyAoT2JqZWN0LnByb3RvdHlwZS5wcm9wZXJ0eUlzRW51bWVyYWJsZSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoT2JqZWN0LnByb3RvdHlwZSwgInByb3BlcnR5SXNFbnVtZXJhYmxlIik7DQogIGlmIChkZXNjLnZhbHVlID09PSBPYmplY3QucHJvdG90eXBlLnByb3BlcnR5SXNFbnVtZXJhYmxlICYmDQogICAgICBkZXNjLndyaXRhYmxlID09PSB0cnVlICYmDQogICAgICBkZXNjLmVudW1lcmFibGUgPT09IGZhbHNlICYmDQogICAgICBkZXNjLmNvbmZpZ3VyYWJsZSA9PT0gdHJ1ZSkgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc for functions on built-ins (Object.prototype.propertyIsEnumerable)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-32.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMy8xNS4yLjMuMy00LTMzLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvciByZXR1cm5zIGRhdGEgZGVzYyBmb3IgZnVuY3Rpb25zIG9uIGJ1aWx0LWlucyAoT2JqZWN0LnByb3RvdHlwZS50b0xvY2FsZVN0cmluZykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoT2JqZWN0LnByb3RvdHlwZSwgInRvTG9jYWxlU3RyaW5nIik7DQogIGlmIChkZXNjLnZhbHVlID09PSBPYmplY3QucHJvdG90eXBlLnRvTG9jYWxlU3RyaW5nICYmDQogICAgICBkZXNjLndyaXRhYmxlID09PSB0cnVlICYmDQogICAgICBkZXNjLmVudW1lcmFibGUgPT09IGZhbHNlICYmDQogICAgICBkZXNjLmNvbmZpZ3VyYWJsZSA9PT0gdHJ1ZSkgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc for functions on built-ins (Object.prototype.toLocaleString)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-33.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMy8xNS4yLjMuMy00LTM0LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvciByZXR1cm5zIGRhdGEgZGVzYyBmb3IgZnVuY3Rpb25zIG9uIGJ1aWx0LWlucyAoRnVuY3Rpb24ucHJvdG90eXBlLmNvbnN0cnVjdG9yKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihGdW5jdGlvbi5wcm90b3R5cGUsICJjb25zdHJ1Y3RvciIpOw0KICBpZiAoZGVzYy52YWx1ZSA9PT0gRnVuY3Rpb24ucHJvdG90eXBlLmNvbnN0cnVjdG9yICYmDQogICAgICBkZXNjLndyaXRhYmxlID09PSB0cnVlICYmDQogICAgICBkZXNjLmVudW1lcmFibGUgPT09IGZhbHNlICYmDQogICAgICBkZXNjLmNvbmZpZ3VyYWJsZSA9PT0gdHJ1ZSkgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc for functions on built-ins (Function.prototype.constructor)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-34.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMy8xNS4yLjMuMy00LTM1LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvciByZXR1cm5zIGRhdGEgZGVzYyBmb3IgZnVuY3Rpb25zIG9uIGJ1aWx0LWlucyAoRnVuY3Rpb24ucHJvdG90eXBlLnRvU3RyaW5nKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihGdW5jdGlvbi5wcm90b3R5cGUsICJ0b1N0cmluZyIpOw0KICBpZiAoZGVzYy52YWx1ZSA9PT0gRnVuY3Rpb24ucHJvdG90eXBlLnRvU3RyaW5nICYmDQogICAgICBkZXNjLndyaXRhYmxlID09PSB0cnVlICYmDQogICAgICBkZXNjLmVudW1lcmFibGUgPT09IGZhbHNlICYmDQogICAgICBkZXNjLmNvbmZpZ3VyYWJsZSA9PT0gdHJ1ZSkgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc for functions on built-ins (Function.prototype.toString)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-35.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMy8xNS4yLjMuMy00LTM2LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvciByZXR1cm5zIGRhdGEgZGVzYyBmb3IgZnVuY3Rpb25zIG9uIGJ1aWx0LWlucyAoRnVuY3Rpb24ucHJvdG90eXBlLmFwcGx5KQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihGdW5jdGlvbi5wcm90b3R5cGUsICJhcHBseSIpOw0KICBpZiAoZGVzYy52YWx1ZSA9PT0gRnVuY3Rpb24ucHJvdG90eXBlLmFwcGx5ICYmDQogICAgICBkZXNjLndyaXRhYmxlID09PSB0cnVlICYmDQogICAgICBkZXNjLmVudW1lcmFibGUgPT09IGZhbHNlICYmDQogICAgICBkZXNjLmNvbmZpZ3VyYWJsZSA9PT0gdHJ1ZSkgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc for functions on built-ins (Function.prototype.apply)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-36.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMy8xNS4yLjMuMy00LTM3LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvciByZXR1cm5zIGRhdGEgZGVzYyBmb3IgZnVuY3Rpb25zIG9uIGJ1aWx0LWlucyAoRnVuY3Rpb24ucHJvdG90eXBlLmNhbGwpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKEZ1bmN0aW9uLnByb3RvdHlwZSwgImNhbGwiKTsNCiAgaWYgKGRlc2MudmFsdWUgPT09IEZ1bmN0aW9uLnByb3RvdHlwZS5jYWxsICYmDQogICAgICBkZXNjLndyaXRhYmxlID09PSB0cnVlICYmDQogICAgICBkZXNjLmVudW1lcmFibGUgPT09IGZhbHNlICYmDQogICAgICBkZXNjLmNvbmZpZ3VyYWJsZSA9PT0gdHJ1ZSkgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc for functions on built-ins (Function.prototype.call)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-37.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMy8xNS4yLjMuMy00LTM4LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvciByZXR1cm5zIGRhdGEgZGVzYyBmb3IgZnVuY3Rpb25zIG9uIGJ1aWx0LWlucyAoRnVuY3Rpb24ucHJvdG90eXBlLmJpbmQpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKEZ1bmN0aW9uLnByb3RvdHlwZSwgImJpbmQiKTsNCiAgaWYgKGRlc2MudmFsdWUgPT09IEZ1bmN0aW9uLnByb3RvdHlwZS5iaW5kICYmDQogICAgICBkZXNjLndyaXRhYmxlID09PSB0cnVlICYmDQogICAgICBkZXNjLmVudW1lcmFibGUgPT09IGZhbHNlICYmDQogICAgICBkZXNjLmNvbmZpZ3VyYWJsZSA9PT0gdHJ1ZSkgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc for functions on built-ins (Function.prototype.bind)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-38.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMy8xNS4yLjMuMy00LTM5LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvciByZXR1cm5zIGRhdGEgZGVzYyBmb3IgZnVuY3Rpb25zIG9uIGJ1aWx0LWlucyAoQXJyYXkucHJvdG90eXBlLmNvbnN0cnVjdG9yKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihBcnJheS5wcm90b3R5cGUsICJjb25zdHJ1Y3RvciIpOw0KICBpZiAoZGVzYy52YWx1ZSA9PT0gQXJyYXkucHJvdG90eXBlLmNvbnN0cnVjdG9yICYmDQogICAgICBkZXNjLndyaXRhYmxlID09PSB0cnVlICYmDQogICAgICBkZXNjLmVudW1lcmFibGUgPT09IGZhbHNlICYmDQogICAgICBkZXNjLmNvbmZpZ3VyYWJsZSA9PT0gdHJ1ZSkgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc for functions on built-ins (Array.prototype.constructor)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-39.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMy8xNS4yLjMuMy00LTQuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIHJldHVybnMgZGF0YSBkZXNjIGZvciBmdW5jdGlvbnMgb24gYnVpbHQtaW5zIChHbG9iYWwuZXZhbCkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgZ2xvYmFsID0gZm5HbG9iYWxPYmplY3QoKTsNCiAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGdsb2JhbCwgICJldmFsIik7DQogIGlmIChkZXNjLnZhbHVlID09PSBnbG9iYWwuZXZhbCAmJg0KICAgICAgZGVzYy53cml0YWJsZSA9PT0gdHJ1ZSAmJg0KICAgICAgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5jb25maWd1cmFibGUgPT09IHRydWUpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc for functions on built-ins (Global.eval)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMy8xNS4yLjMuMy00LTQwLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvciByZXR1cm5zIGRhdGEgZGVzYyBmb3IgZnVuY3Rpb25zIG9uIGJ1aWx0LWlucyAoQXJyYXkucHJvdG90eXBlLmNvbmNhdCkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoQXJyYXkucHJvdG90eXBlLCAiY29uY2F0Iik7DQogIGlmIChkZXNjLnZhbHVlID09PSBBcnJheS5wcm90b3R5cGUuY29uY2F0ICYmDQogICAgICBkZXNjLndyaXRhYmxlID09PSB0cnVlICYmDQogICAgICBkZXNjLmVudW1lcmFibGUgPT09IGZhbHNlICYmDQogICAgICBkZXNjLmNvbmZpZ3VyYWJsZSA9PT0gdHJ1ZSkgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc for functions on built-ins (Array.prototype.concat)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-40.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMy8xNS4yLjMuMy00LTQxLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvciByZXR1cm5zIGRhdGEgZGVzYyBmb3IgZnVuY3Rpb25zIG9uIGJ1aWx0LWlucyAoQXJyYXkucHJvdG90eXBlLmpvaW4pDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKEFycmF5LnByb3RvdHlwZSwgImpvaW4iKTsNCiAgaWYgKGRlc2MudmFsdWUgPT09IEFycmF5LnByb3RvdHlwZS5qb2luICYmDQogICAgICBkZXNjLndyaXRhYmxlID09PSB0cnVlICYmDQogICAgICBkZXNjLmVudW1lcmFibGUgPT09IGZhbHNlICYmDQogICAgICBkZXNjLmNvbmZpZ3VyYWJsZSA9PT0gdHJ1ZSkgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc for functions on built-ins (Array.prototype.join)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-41.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMy8xNS4yLjMuMy00LTQyLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvciByZXR1cm5zIGRhdGEgZGVzYyBmb3IgZnVuY3Rpb25zIG9uIGJ1aWx0LWlucyAoQXJyYXkucHJvdG90eXBlLnJldmVyc2UpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKEFycmF5LnByb3RvdHlwZSwgInJldmVyc2UiKTsNCiAgaWYgKGRlc2MudmFsdWUgPT09IEFycmF5LnByb3RvdHlwZS5yZXZlcnNlICYmDQogICAgICBkZXNjLndyaXRhYmxlID09PSB0cnVlICYmDQogICAgICBkZXNjLmVudW1lcmFibGUgPT09IGZhbHNlICYmDQogICAgICBkZXNjLmNvbmZpZ3VyYWJsZSA9PT0gdHJ1ZSkgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc for functions on built-ins (Array.prototype.reverse)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-42.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMy8xNS4yLjMuMy00LTQzLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvciByZXR1cm5zIGRhdGEgZGVzYyBmb3IgZnVuY3Rpb25zIG9uIGJ1aWx0LWlucyAoQXJyYXkucHJvdG90eXBlLnNsaWNlKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihBcnJheS5wcm90b3R5cGUsICJzbGljZSIpOw0KICBpZiAoZGVzYy52YWx1ZSA9PT0gQXJyYXkucHJvdG90eXBlLnNsaWNlICYmDQogICAgICBkZXNjLndyaXRhYmxlID09PSB0cnVlICYmDQogICAgICBkZXNjLmVudW1lcmFibGUgPT09IGZhbHNlICYmDQogICAgICBkZXNjLmNvbmZpZ3VyYWJsZSA9PT0gdHJ1ZSkgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc for functions on built-ins (Array.prototype.slice)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-43.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMy8xNS4yLjMuMy00LTQ0LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvciByZXR1cm5zIGRhdGEgZGVzYyBmb3IgZnVuY3Rpb25zIG9uIGJ1aWx0LWlucyAoQXJyYXkucHJvdG90eXBlLnNvcnQpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKEFycmF5LnByb3RvdHlwZSwgInNvcnQiKTsNCiAgaWYgKGRlc2MudmFsdWUgPT09IEFycmF5LnByb3RvdHlwZS5zb3J0ICYmDQogICAgICBkZXNjLndyaXRhYmxlID09PSB0cnVlICYmDQogICAgICBkZXNjLmVudW1lcmFibGUgPT09IGZhbHNlICYmDQogICAgICBkZXNjLmNvbmZpZ3VyYWJsZSA9PT0gdHJ1ZSkgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc for functions on built-ins (Array.prototype.sort)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-44.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMy8xNS4yLjMuMy00LTQ1LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvciByZXR1cm5zIGRhdGEgZGVzYyBmb3IgZnVuY3Rpb25zIG9uIGJ1aWx0LWlucyAoQXJyYXkucHJvdG90eXBlLnRvU3RyaW5nKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihBcnJheS5wcm90b3R5cGUsICJ0b1N0cmluZyIpOw0KICBpZiAoZGVzYy52YWx1ZSA9PT0gQXJyYXkucHJvdG90eXBlLnRvU3RyaW5nICYmDQogICAgICBkZXNjLndyaXRhYmxlID09PSB0cnVlICYmDQogICAgICBkZXNjLmVudW1lcmFibGUgPT09IGZhbHNlICYmDQogICAgICBkZXNjLmNvbmZpZ3VyYWJsZSA9PT0gdHJ1ZSkgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc for functions on built-ins (Array.prototype.toString)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-45.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMy8xNS4yLjMuMy00LTQ2LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvciByZXR1cm5zIGRhdGEgZGVzYyBmb3IgZnVuY3Rpb25zIG9uIGJ1aWx0LWlucyAoQXJyYXkucHJvdG90eXBlLnB1c2gpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKEFycmF5LnByb3RvdHlwZSwgInB1c2giKTsNCiAgaWYgKGRlc2MudmFsdWUgPT09IEFycmF5LnByb3RvdHlwZS5wdXNoICYmDQogICAgICBkZXNjLndyaXRhYmxlID09PSB0cnVlICYmDQogICAgICBkZXNjLmVudW1lcmFibGUgPT09IGZhbHNlICYmDQogICAgICBkZXNjLmNvbmZpZ3VyYWJsZSA9PT0gdHJ1ZSkgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc for functions on built-ins (Array.prototype.push)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-46.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMy8xNS4yLjMuMy00LTQ3LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvciByZXR1cm5zIGRhdGEgZGVzYyBmb3IgZnVuY3Rpb25zIG9uIGJ1aWx0LWlucyAoQXJyYXkucHJvdG90eXBlLnBvcCkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoQXJyYXkucHJvdG90eXBlLCAicG9wIik7DQogIGlmIChkZXNjLnZhbHVlID09PSBBcnJheS5wcm90b3R5cGUucG9wICYmDQogICAgICBkZXNjLndyaXRhYmxlID09PSB0cnVlICYmDQogICAgICBkZXNjLmVudW1lcmFibGUgPT09IGZhbHNlICYmDQogICAgICBkZXNjLmNvbmZpZ3VyYWJsZSA9PT0gdHJ1ZSkgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc for functions on built-ins (Array.prototype.pop)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-47.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMy8xNS4yLjMuMy00LTQ4LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvciByZXR1cm5zIGRhdGEgZGVzYyBmb3IgZnVuY3Rpb25zIG9uIGJ1aWx0LWlucyAoQXJyYXkucHJvdG90eXBlLnNoaWZ0KQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihBcnJheS5wcm90b3R5cGUsICJzaGlmdCIpOw0KICBpZiAoZGVzYy52YWx1ZSA9PT0gQXJyYXkucHJvdG90eXBlLnNoaWZ0ICYmDQogICAgICBkZXNjLndyaXRhYmxlID09PSB0cnVlICYmDQogICAgICBkZXNjLmVudW1lcmFibGUgPT09IGZhbHNlICYmDQogICAgICBkZXNjLmNvbmZpZ3VyYWJsZSA9PT0gdHJ1ZSkgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc for functions on built-ins (Array.prototype.shift)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-48.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMy8xNS4yLjMuMy00LTQ5LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvciByZXR1cm5zIGRhdGEgZGVzYyBmb3IgZnVuY3Rpb25zIG9uIGJ1aWx0LWlucyAoQXJyYXkucHJvdG90eXBlLnVuc2hpZnQpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKEFycmF5LnByb3RvdHlwZSwgInVuc2hpZnQiKTsNCiAgaWYgKGRlc2MudmFsdWUgPT09IEFycmF5LnByb3RvdHlwZS51bnNoaWZ0ICYmDQogICAgICBkZXNjLndyaXRhYmxlID09PSB0cnVlICYmDQogICAgICBkZXNjLmVudW1lcmFibGUgPT09IGZhbHNlICYmDQogICAgICBkZXNjLmNvbmZpZ3VyYWJsZSA9PT0gdHJ1ZSkgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc for functions on built-ins (Array.prototype.unshift)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-49.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMy8xNS4yLjMuMy00LTUuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIHJldHVybnMgZGF0YSBkZXNjIGZvciBmdW5jdGlvbnMgb24gYnVpbHQtaW5zIChHbG9iYWwucGFyc2VJbnQpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIGdsb2JhbCA9IGZuR2xvYmFsT2JqZWN0KCk7DQogIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihnbG9iYWwsICAicGFyc2VJbnQiKTsNCiAgaWYgKGRlc2MudmFsdWUgPT09IGdsb2JhbC5wYXJzZUludCAmJg0KICAgICAgZGVzYy53cml0YWJsZSA9PT0gdHJ1ZSAmJg0KICAgICAgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5jb25maWd1cmFibGUgPT09IHRydWUpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc for functions on built-ins (Global.parseInt)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMy8xNS4yLjMuMy00LTUwLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvciByZXR1cm5zIGRhdGEgZGVzYyBmb3IgZnVuY3Rpb25zIG9uIGJ1aWx0LWlucyAoQXJyYXkucHJvdG90eXBlLnNwbGljZSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoQXJyYXkucHJvdG90eXBlLCAic3BsaWNlIik7DQogIGlmIChkZXNjLnZhbHVlID09PSBBcnJheS5wcm90b3R5cGUuc3BsaWNlICYmDQogICAgICBkZXNjLndyaXRhYmxlID09PSB0cnVlICYmDQogICAgICBkZXNjLmVudW1lcmFibGUgPT09IGZhbHNlICYmDQogICAgICBkZXNjLmNvbmZpZ3VyYWJsZSA9PT0gdHJ1ZSkgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc for functions on built-ins (Array.prototype.splice)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-50.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMy8xNS4yLjMuMy00LTUxLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvciByZXR1cm5zIGRhdGEgZGVzYyBmb3IgZnVuY3Rpb25zIG9uIGJ1aWx0LWlucyAoQXJyYXkucHJvdG90eXBlLnRvTG9jYWxlU3RyaW5nKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihBcnJheS5wcm90b3R5cGUsICJ0b0xvY2FsZVN0cmluZyIpOw0KICBpZiAoZGVzYy52YWx1ZSA9PT0gQXJyYXkucHJvdG90eXBlLnRvTG9jYWxlU3RyaW5nICYmDQogICAgICBkZXNjLndyaXRhYmxlID09PSB0cnVlICYmDQogICAgICBkZXNjLmVudW1lcmFibGUgPT09IGZhbHNlICYmDQogICAgICBkZXNjLmNvbmZpZ3VyYWJsZSA9PT0gdHJ1ZSkgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc for functions on built-ins (Array.prototype.toLocaleString)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-51.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMy8xNS4yLjMuMy00LTUyLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvciByZXR1cm5zIGRhdGEgZGVzYyBmb3IgZnVuY3Rpb25zIG9uIGJ1aWx0LWlucyAoQXJyYXkucHJvdG90eXBlLmluZGV4T2YpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKEFycmF5LnByb3RvdHlwZSwgImluZGV4T2YiKTsNCiAgaWYgKGRlc2MudmFsdWUgPT09IEFycmF5LnByb3RvdHlwZS5pbmRleE9mICYmDQogICAgICBkZXNjLndyaXRhYmxlID09PSB0cnVlICYmDQogICAgICBkZXNjLmVudW1lcmFibGUgPT09IGZhbHNlICYmDQogICAgICBkZXNjLmNvbmZpZ3VyYWJsZSA9PT0gdHJ1ZSkgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc for functions on built-ins (Array.prototype.indexOf)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-52.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMy8xNS4yLjMuMy00LTUzLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvciByZXR1cm5zIGRhdGEgZGVzYyBmb3IgZnVuY3Rpb25zIG9uIGJ1aWx0LWlucyAoQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihBcnJheS5wcm90b3R5cGUsICJsYXN0SW5kZXhPZiIpOw0KICBpZiAoZGVzYy52YWx1ZSA9PT0gQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mICYmDQogICAgICBkZXNjLndyaXRhYmxlID09PSB0cnVlICYmDQogICAgICBkZXNjLmVudW1lcmFibGUgPT09IGZhbHNlICYmDQogICAgICBkZXNjLmNvbmZpZ3VyYWJsZSA9PT0gdHJ1ZSkgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc for functions on built-ins (Array.prototype.lastIndexOf)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-53.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMy8xNS4yLjMuMy00LTU0LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvciByZXR1cm5zIGRhdGEgZGVzYyBmb3IgZnVuY3Rpb25zIG9uIGJ1aWx0LWlucyAoQXJyYXkucHJvdG90eXBlLmV2ZXJ5KQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihBcnJheS5wcm90b3R5cGUsICJldmVyeSIpOw0KICBpZiAoZGVzYy52YWx1ZSA9PT0gQXJyYXkucHJvdG90eXBlLmV2ZXJ5ICYmDQogICAgICBkZXNjLndyaXRhYmxlID09PSB0cnVlICYmDQogICAgICBkZXNjLmVudW1lcmFibGUgPT09IGZhbHNlICYmDQogICAgICBkZXNjLmNvbmZpZ3VyYWJsZSA9PT0gdHJ1ZSkgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc for functions on built-ins (Array.prototype.every)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-54.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMy8xNS4yLjMuMy00LTU1LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvciByZXR1cm5zIGRhdGEgZGVzYyBmb3IgZnVuY3Rpb25zIG9uIGJ1aWx0LWlucyAoQXJyYXkucHJvdG90eXBlLnNvbWUpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKEFycmF5LnByb3RvdHlwZSwgInNvbWUiKTsNCiAgaWYgKGRlc2MudmFsdWUgPT09IEFycmF5LnByb3RvdHlwZS5zb21lICYmDQogICAgICBkZXNjLndyaXRhYmxlID09PSB0cnVlICYmDQogICAgICBkZXNjLmVudW1lcmFibGUgPT09IGZhbHNlICYmDQogICAgICBkZXNjLmNvbmZpZ3VyYWJsZSA9PT0gdHJ1ZSkgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc for functions on built-ins (Array.prototype.some)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-55.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMy8xNS4yLjMuMy00LTU2LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvciByZXR1cm5zIGRhdGEgZGVzYyBmb3IgZnVuY3Rpb25zIG9uIGJ1aWx0LWlucyAoQXJyYXkucHJvdG90eXBlLmZvckVhY2gpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKEFycmF5LnByb3RvdHlwZSwgImZvckVhY2giKTsNCiAgaWYgKGRlc2MudmFsdWUgPT09IEFycmF5LnByb3RvdHlwZS5mb3JFYWNoICYmDQogICAgICBkZXNjLndyaXRhYmxlID09PSB0cnVlICYmDQogICAgICBkZXNjLmVudW1lcmFibGUgPT09IGZhbHNlICYmDQogICAgICBkZXNjLmNvbmZpZ3VyYWJsZSA9PT0gdHJ1ZSkgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc for functions on built-ins (Array.prototype.forEach)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-56.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMy8xNS4yLjMuMy00LTU3LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvciByZXR1cm5zIGRhdGEgZGVzYyBmb3IgZnVuY3Rpb25zIG9uIGJ1aWx0LWlucyAoQXJyYXkucHJvdG90eXBlLm1hcCkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoQXJyYXkucHJvdG90eXBlLCAibWFwIik7DQogIGlmIChkZXNjLnZhbHVlID09PSBBcnJheS5wcm90b3R5cGUubWFwICYmDQogICAgICBkZXNjLndyaXRhYmxlID09PSB0cnVlICYmDQogICAgICBkZXNjLmVudW1lcmFibGUgPT09IGZhbHNlICYmDQogICAgICBkZXNjLmNvbmZpZ3VyYWJsZSA9PT0gdHJ1ZSkgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc for functions on built-ins (Array.prototype.map)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-57.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMy8xNS4yLjMuMy00LTU4LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvciByZXR1cm5zIGRhdGEgZGVzYyBmb3IgZnVuY3Rpb25zIG9uIGJ1aWx0LWlucyAoQXJyYXkucHJvdG90eXBlLmZpbHRlcikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoQXJyYXkucHJvdG90eXBlLCAiZmlsdGVyIik7DQogIGlmIChkZXNjLnZhbHVlID09PSBBcnJheS5wcm90b3R5cGUuZmlsdGVyICYmDQogICAgICBkZXNjLndyaXRhYmxlID09PSB0cnVlICYmDQogICAgICBkZXNjLmVudW1lcmFibGUgPT09IGZhbHNlICYmDQogICAgICBkZXNjLmNvbmZpZ3VyYWJsZSA9PT0gdHJ1ZSkgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc for functions on built-ins (Array.prototype.filter)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-58.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMy8xNS4yLjMuMy00LTU5LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvciByZXR1cm5zIGRhdGEgZGVzYyBmb3IgZnVuY3Rpb25zIG9uIGJ1aWx0LWlucyAoQXJyYXkucHJvdG90eXBlLnJlZHVjZSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoQXJyYXkucHJvdG90eXBlLCAicmVkdWNlIik7DQogIGlmIChkZXNjLnZhbHVlID09PSBBcnJheS5wcm90b3R5cGUucmVkdWNlICYmDQogICAgICBkZXNjLndyaXRhYmxlID09PSB0cnVlICYmDQogICAgICBkZXNjLmVudW1lcmFibGUgPT09IGZhbHNlICYmDQogICAgICBkZXNjLmNvbmZpZ3VyYWJsZSA9PT0gdHJ1ZSkgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc for functions on built-ins (Array.prototype.reduce)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-59.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMy8xNS4yLjMuMy00LTYuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIHJldHVybnMgZGF0YSBkZXNjIGZvciBmdW5jdGlvbnMgb24gYnVpbHQtaW5zIChHbG9iYWwucGFyc2VGbG9hdCkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgZ2xvYmFsID0gZm5HbG9iYWxPYmplY3QoKTsNCiAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGdsb2JhbCwgInBhcnNlRmxvYXQiKTsNCiAgaWYgKGRlc2MudmFsdWUgPT09IGdsb2JhbC5wYXJzZUZsb2F0ICYmDQogICAgICBkZXNjLndyaXRhYmxlID09PSB0cnVlICYmDQogICAgICBkZXNjLmVudW1lcmFibGUgPT09IGZhbHNlICYmDQogICAgICBkZXNjLmNvbmZpZ3VyYWJsZSA9PT0gdHJ1ZSkgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc for functions on built-ins (Global.parseFloat)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-6.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMy8xNS4yLjMuMy00LTYwLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvciByZXR1cm5zIGRhdGEgZGVzYyBmb3IgZnVuY3Rpb25zIG9uIGJ1aWx0LWlucyAoQXJyYXkucHJvdG90eXBlLnJlZHVjZVJpZ2h0KQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihBcnJheS5wcm90b3R5cGUsICJyZWR1Y2VSaWdodCIpOw0KICBpZiAoZGVzYy52YWx1ZSA9PT0gQXJyYXkucHJvdG90eXBlLnJlZHVjZVJpZ2h0ICYmDQogICAgICBkZXNjLndyaXRhYmxlID09PSB0cnVlICYmDQogICAgICBkZXNjLmVudW1lcmFibGUgPT09IGZhbHNlICYmDQogICAgICBkZXNjLmNvbmZpZ3VyYWJsZSA9PT0gdHJ1ZSkgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc for functions on built-ins (Array.prototype.reduceRight)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-60.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMy8xNS4yLjMuMy00LTYxLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvciByZXR1cm5zIGRhdGEgZGVzYyBmb3IgZnVuY3Rpb25zIG9uIGJ1aWx0LWlucyAoU3RyaW5nLmZyb21DaGFyQ29kZSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoU3RyaW5nLCAiZnJvbUNoYXJDb2RlIik7DQogIGlmIChkZXNjLnZhbHVlID09PSBTdHJpbmcuZnJvbUNoYXJDb2RlICYmDQogICAgICBkZXNjLndyaXRhYmxlID09PSB0cnVlICYmDQogICAgICBkZXNjLmVudW1lcmFibGUgPT09IGZhbHNlICYmDQogICAgICBkZXNjLmNvbmZpZ3VyYWJsZSA9PT0gdHJ1ZSkgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc for functions on built-ins (String.fromCharCode)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-61.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMy8xNS4yLjMuMy00LTYyLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvciByZXR1cm5zIGRhdGEgZGVzYyBmb3IgZnVuY3Rpb25zIG9uIGJ1aWx0LWlucyAoU3RyaW5nLnByb3RvdHlwZS5jb25zdHJ1Y3RvcikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoU3RyaW5nLnByb3RvdHlwZSwgImNvbnN0cnVjdG9yIik7DQogIGlmIChkZXNjLnZhbHVlID09PSBTdHJpbmcucHJvdG90eXBlLmNvbnN0cnVjdG9yICYmDQogICAgICBkZXNjLndyaXRhYmxlID09PSB0cnVlICYmDQogICAgICBkZXNjLmVudW1lcmFibGUgPT09IGZhbHNlICYmDQogICAgICBkZXNjLmNvbmZpZ3VyYWJsZSA9PT0gdHJ1ZSkgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc for functions on built-ins (String.prototype.constructor)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-62.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMy8xNS4yLjMuMy00LTYzLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvciByZXR1cm5zIGRhdGEgZGVzYyBmb3IgZnVuY3Rpb25zIG9uIGJ1aWx0LWlucyAoU3RyaW5nLnByb3RvdHlwZS5jaGFyQXQpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKFN0cmluZy5wcm90b3R5cGUsICJjaGFyQXQiKTsNCiAgaWYgKGRlc2MudmFsdWUgPT09IFN0cmluZy5wcm90b3R5cGUuY2hhckF0ICYmDQogICAgICBkZXNjLndyaXRhYmxlID09PSB0cnVlICYmDQogICAgICBkZXNjLmVudW1lcmFibGUgPT09IGZhbHNlICYmDQogICAgICBkZXNjLmNvbmZpZ3VyYWJsZSA9PT0gdHJ1ZSkgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc for functions on built-ins (String.prototype.charAt)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-63.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMy8xNS4yLjMuMy00LTY0LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvciByZXR1cm5zIGRhdGEgZGVzYyBmb3IgZnVuY3Rpb25zIG9uIGJ1aWx0LWlucyAoU3RyaW5nLnByb3RvdHlwZS5jaGFyQ29kZUF0KQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihTdHJpbmcucHJvdG90eXBlLCAiY2hhckNvZGVBdCIpOw0KICBpZiAoZGVzYy52YWx1ZSA9PT0gU3RyaW5nLnByb3RvdHlwZS5jaGFyQ29kZUF0ICYmDQogICAgICBkZXNjLndyaXRhYmxlID09PSB0cnVlICYmDQogICAgICBkZXNjLmVudW1lcmFibGUgPT09IGZhbHNlICYmDQogICAgICBkZXNjLmNvbmZpZ3VyYWJsZSA9PT0gdHJ1ZSkgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc for functions on built-ins (String.prototype.charCodeAt)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-64.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMy8xNS4yLjMuMy00LTY1LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvciByZXR1cm5zIGRhdGEgZGVzYyBmb3IgZnVuY3Rpb25zIG9uIGJ1aWx0LWlucyAoU3RyaW5nLnByb3RvdHlwZS5jb25jYXQpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKFN0cmluZy5wcm90b3R5cGUsICJjb25jYXQiKTsNCiAgaWYgKGRlc2MudmFsdWUgPT09IFN0cmluZy5wcm90b3R5cGUuY29uY2F0ICYmDQogICAgICBkZXNjLndyaXRhYmxlID09PSB0cnVlICYmDQogICAgICBkZXNjLmVudW1lcmFibGUgPT09IGZhbHNlICYmDQogICAgICBkZXNjLmNvbmZpZ3VyYWJsZSA9PT0gdHJ1ZSkgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc for functions on built-ins (String.prototype.concat)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-65.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMy8xNS4yLjMuMy00LTY2LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvciByZXR1cm5zIGRhdGEgZGVzYyBmb3IgZnVuY3Rpb25zIG9uIGJ1aWx0LWlucyAoU3RyaW5nLnByb3RvdHlwZS5pbmRleE9mKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihTdHJpbmcucHJvdG90eXBlLCAiaW5kZXhPZiIpOw0KICBpZiAoZGVzYy52YWx1ZSA9PT0gU3RyaW5nLnByb3RvdHlwZS5pbmRleE9mICYmDQogICAgICBkZXNjLndyaXRhYmxlID09PSB0cnVlICYmDQogICAgICBkZXNjLmVudW1lcmFibGUgPT09IGZhbHNlICYmDQogICAgICBkZXNjLmNvbmZpZ3VyYWJsZSA9PT0gdHJ1ZSkgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc for functions on built-ins (String.prototype.indexOf)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-66.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMy8xNS4yLjMuMy00LTY3LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvciByZXR1cm5zIGRhdGEgZGVzYyBmb3IgZnVuY3Rpb25zIG9uIGJ1aWx0LWlucyAoU3RyaW5nLnByb3RvdHlwZS5sYXN0SW5kZXhPZikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoU3RyaW5nLnByb3RvdHlwZSwgImxhc3RJbmRleE9mIik7DQogIGlmIChkZXNjLnZhbHVlID09PSBTdHJpbmcucHJvdG90eXBlLmxhc3RJbmRleE9mICYmDQogICAgICBkZXNjLndyaXRhYmxlID09PSB0cnVlICYmDQogICAgICBkZXNjLmVudW1lcmFibGUgPT09IGZhbHNlICYmDQogICAgICBkZXNjLmNvbmZpZ3VyYWJsZSA9PT0gdHJ1ZSkgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc for functions on built-ins (String.prototype.lastIndexOf)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-67.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMy8xNS4yLjMuMy00LTY4LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvciByZXR1cm5zIGRhdGEgZGVzYyBmb3IgZnVuY3Rpb25zIG9uIGJ1aWx0LWlucyAoU3RyaW5nLnByb3RvdHlwZS5tYXRjaCkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoU3RyaW5nLnByb3RvdHlwZSwgIm1hdGNoIik7DQogIGlmIChkZXNjLnZhbHVlID09PSBTdHJpbmcucHJvdG90eXBlLm1hdGNoICYmDQogICAgICBkZXNjLndyaXRhYmxlID09PSB0cnVlICYmDQogICAgICBkZXNjLmVudW1lcmFibGUgPT09IGZhbHNlICYmDQogICAgICBkZXNjLmNvbmZpZ3VyYWJsZSA9PT0gdHJ1ZSkgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc for functions on built-ins (String.prototype.match)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-68.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMy8xNS4yLjMuMy00LTY5LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvciByZXR1cm5zIGRhdGEgZGVzYyBmb3IgZnVuY3Rpb25zIG9uIGJ1aWx0LWlucyAoU3RyaW5nLnByb3RvdHlwZS5yZXBsYWNlKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihTdHJpbmcucHJvdG90eXBlLCAicmVwbGFjZSIpOw0KICBpZiAoZGVzYy52YWx1ZSA9PT0gU3RyaW5nLnByb3RvdHlwZS5yZXBsYWNlICYmDQogICAgICBkZXNjLndyaXRhYmxlID09PSB0cnVlICYmDQogICAgICBkZXNjLmVudW1lcmFibGUgPT09IGZhbHNlICYmDQogICAgICBkZXNjLmNvbmZpZ3VyYWJsZSA9PT0gdHJ1ZSkgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc for functions on built-ins (String.prototype.replace)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-69.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMy8xNS4yLjMuMy00LTcuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIHJldHVybnMgZGF0YSBkZXNjIGZvciBmdW5jdGlvbnMgb24gYnVpbHQtaW5zIChHbG9iYWwuaXNOYU4pDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIGdsb2JhbCA9IGZuR2xvYmFsT2JqZWN0KCk7DQogIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihnbG9iYWwsICAiaXNOYU4iKTsNCiAgaWYgKGRlc2MudmFsdWUgPT09IGdsb2JhbC5pc05hTiAmJg0KICAgICAgZGVzYy53cml0YWJsZSA9PT0gdHJ1ZSAmJg0KICAgICAgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5jb25maWd1cmFibGUgPT09IHRydWUpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc for functions on built-ins (Global.isNaN)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-7.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMy8xNS4yLjMuMy00LTcwLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvciByZXR1cm5zIGRhdGEgZGVzYyBmb3IgZnVuY3Rpb25zIG9uIGJ1aWx0LWlucyAoU3RyaW5nLnByb3RvdHlwZS5zZWFyY2gpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKFN0cmluZy5wcm90b3R5cGUsICJzZWFyY2giKTsNCiAgaWYgKGRlc2MudmFsdWUgPT09IFN0cmluZy5wcm90b3R5cGUuc2VhcmNoICYmDQogICAgICBkZXNjLndyaXRhYmxlID09PSB0cnVlICYmDQogICAgICBkZXNjLmVudW1lcmFibGUgPT09IGZhbHNlICYmDQogICAgICBkZXNjLmNvbmZpZ3VyYWJsZSA9PT0gdHJ1ZSkgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc for functions on built-ins (String.prototype.search)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-70.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMy8xNS4yLjMuMy00LTcxLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvciByZXR1cm5zIGRhdGEgZGVzYyBmb3IgZnVuY3Rpb25zIG9uIGJ1aWx0LWlucyAoU3RyaW5nLnByb3RvdHlwZS5zbGljZSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoU3RyaW5nLnByb3RvdHlwZSwgInNsaWNlIik7DQogIGlmIChkZXNjLnZhbHVlID09PSBTdHJpbmcucHJvdG90eXBlLnNsaWNlICYmDQogICAgICBkZXNjLndyaXRhYmxlID09PSB0cnVlICYmDQogICAgICBkZXNjLmVudW1lcmFibGUgPT09IGZhbHNlICYmDQogICAgICBkZXNjLmNvbmZpZ3VyYWJsZSA9PT0gdHJ1ZSkgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc for functions on built-ins (String.prototype.slice)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-71.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMy8xNS4yLjMuMy00LTcyLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvciByZXR1cm5zIGRhdGEgZGVzYyBmb3IgZnVuY3Rpb25zIG9uIGJ1aWx0LWlucyAoU3RyaW5nLnByb3RvdHlwZS5zcGxpdCkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoU3RyaW5nLnByb3RvdHlwZSwgInNwbGl0Iik7DQogIGlmIChkZXNjLnZhbHVlID09PSBTdHJpbmcucHJvdG90eXBlLnNwbGl0ICYmDQogICAgICBkZXNjLndyaXRhYmxlID09PSB0cnVlICYmDQogICAgICBkZXNjLmVudW1lcmFibGUgPT09IGZhbHNlICYmDQogICAgICBkZXNjLmNvbmZpZ3VyYWJsZSA9PT0gdHJ1ZSkgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc for functions on built-ins (String.prototype.split)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-72.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMy8xNS4yLjMuMy00LTczLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvciByZXR1cm5zIGRhdGEgZGVzYyBmb3IgZnVuY3Rpb25zIG9uIGJ1aWx0LWlucyAoU3RyaW5nLnByb3RvdHlwZS5zdWJzdHJpbmcpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKFN0cmluZy5wcm90b3R5cGUsICJzdWJzdHJpbmciKTsNCiAgaWYgKGRlc2MudmFsdWUgPT09IFN0cmluZy5wcm90b3R5cGUuc3Vic3RyaW5nICYmDQogICAgICBkZXNjLndyaXRhYmxlID09PSB0cnVlICYmDQogICAgICBkZXNjLmVudW1lcmFibGUgPT09IGZhbHNlICYmDQogICAgICBkZXNjLmNvbmZpZ3VyYWJsZSA9PT0gdHJ1ZSkgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc for functions on built-ins (String.prototype.substring)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-73.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMy8xNS4yLjMuMy00LTc0LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvciByZXR1cm5zIGRhdGEgZGVzYyBmb3IgZnVuY3Rpb25zIG9uIGJ1aWx0LWlucyAoU3RyaW5nLnByb3RvdHlwZS5zdWJzdHIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKFN0cmluZy5wcm90b3R5cGUsICJzdWJzdHIiKTsNCiAgaWYgKGRlc2MudmFsdWUgPT09IFN0cmluZy5wcm90b3R5cGUuc3Vic3RyICYmDQogICAgICBkZXNjLndyaXRhYmxlID09PSB0cnVlICYmDQogICAgICBkZXNjLmVudW1lcmFibGUgPT09IGZhbHNlICYmDQogICAgICBkZXNjLmNvbmZpZ3VyYWJsZSA9PT0gdHJ1ZSkgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc for functions on built-ins (String.prototype.substr)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-74.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMy8xNS4yLjMuMy00LTc1LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvciByZXR1cm5zIGRhdGEgZGVzYyBmb3IgZnVuY3Rpb25zIG9uIGJ1aWx0LWlucyAoU3RyaW5nLnByb3RvdHlwZS50b0xvd2VyQ2FzZSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoU3RyaW5nLnByb3RvdHlwZSwgInRvTG93ZXJDYXNlIik7DQogIGlmIChkZXNjLnZhbHVlID09PSBTdHJpbmcucHJvdG90eXBlLnRvTG93ZXJDYXNlICYmDQogICAgICBkZXNjLndyaXRhYmxlID09PSB0cnVlICYmDQogICAgICBkZXNjLmVudW1lcmFibGUgPT09IGZhbHNlICYmDQogICAgICBkZXNjLmNvbmZpZ3VyYWJsZSA9PT0gdHJ1ZSkgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc for functions on built-ins (String.prototype.toLowerCase)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-75.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMy8xNS4yLjMuMy00LTc2LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvciByZXR1cm5zIGRhdGEgZGVzYyBmb3IgZnVuY3Rpb25zIG9uIGJ1aWx0LWlucyAoU3RyaW5nLnByb3RvdHlwZS50b1N0cmluZykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoU3RyaW5nLnByb3RvdHlwZSwgInRvU3RyaW5nIik7DQogIGlmIChkZXNjLnZhbHVlID09PSBTdHJpbmcucHJvdG90eXBlLnRvU3RyaW5nICYmDQogICAgICBkZXNjLndyaXRhYmxlID09PSB0cnVlICYmDQogICAgICBkZXNjLmVudW1lcmFibGUgPT09IGZhbHNlICYmDQogICAgICBkZXNjLmNvbmZpZ3VyYWJsZSA9PT0gdHJ1ZSkgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc for functions on built-ins (String.prototype.toString)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-76.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMy8xNS4yLjMuMy00LTc3LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvciByZXR1cm5zIGRhdGEgZGVzYyBmb3IgZnVuY3Rpb25zIG9uIGJ1aWx0LWlucyAoU3RyaW5nLnByb3RvdHlwZS50b1VwcGVyQ2FzZSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoU3RyaW5nLnByb3RvdHlwZSwgInRvVXBwZXJDYXNlIik7DQogIGlmIChkZXNjLnZhbHVlID09PSBTdHJpbmcucHJvdG90eXBlLnRvVXBwZXJDYXNlICYmDQogICAgICBkZXNjLndyaXRhYmxlID09PSB0cnVlICYmDQogICAgICBkZXNjLmVudW1lcmFibGUgPT09IGZhbHNlICYmDQogICAgICBkZXNjLmNvbmZpZ3VyYWJsZSA9PT0gdHJ1ZSkgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc for functions on built-ins (String.prototype.toUpperCase)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-77.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMy8xNS4yLjMuMy00LTc4LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvciByZXR1cm5zIGRhdGEgZGVzYyBmb3IgZnVuY3Rpb25zIG9uIGJ1aWx0LWlucyAoU3RyaW5nLnByb3RvdHlwZS52YWx1ZU9mKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihTdHJpbmcucHJvdG90eXBlLCAidmFsdWVPZiIpOw0KICBpZiAoZGVzYy52YWx1ZSA9PT0gU3RyaW5nLnByb3RvdHlwZS52YWx1ZU9mICYmDQogICAgICBkZXNjLndyaXRhYmxlID09PSB0cnVlICYmDQogICAgICBkZXNjLmVudW1lcmFibGUgPT09IGZhbHNlICYmDQogICAgICBkZXNjLmNvbmZpZ3VyYWJsZSA9PT0gdHJ1ZSkgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc for functions on built-ins (String.prototype.valueOf)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-78.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMy8xNS4yLjMuMy00LTc5LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvciByZXR1cm5zIGRhdGEgZGVzYyBmb3IgZnVuY3Rpb25zIG9uIGJ1aWx0LWlucyAoU3RyaW5nLnByb3RvdHlwZS50b0xvY2FsZUxvd2VyQ2FzZSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoU3RyaW5nLnByb3RvdHlwZSwgInRvTG9jYWxlTG93ZXJDYXNlIik7DQogIGlmIChkZXNjLnZhbHVlID09PSBTdHJpbmcucHJvdG90eXBlLnRvTG9jYWxlTG93ZXJDYXNlICYmDQogICAgICBkZXNjLndyaXRhYmxlID09PSB0cnVlICYmDQogICAgICBkZXNjLmVudW1lcmFibGUgPT09IGZhbHNlICYmDQogICAgICBkZXNjLmNvbmZpZ3VyYWJsZSA9PT0gdHJ1ZSkgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc for functions on built-ins (String.prototype.toLocaleLowerCase)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-79.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMy8xNS4yLjMuMy00LTguanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIHJldHVybnMgZGF0YSBkZXNjIGZvciBmdW5jdGlvbnMgb24gYnVpbHQtaW5zIChHbG9iYWwuaXNGaW5pdGUpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIGdsb2JhbCA9IGZuR2xvYmFsT2JqZWN0KCk7DQogIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihnbG9iYWwsICAiaXNGaW5pdGUiKTsNCiAgaWYgKGRlc2MudmFsdWUgPT09IGdsb2JhbC5pc0Zpbml0ZSAmJg0KICAgICAgZGVzYy53cml0YWJsZSA9PT0gdHJ1ZSAmJg0KICAgICAgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZGVzYy5jb25maWd1cmFibGUgPT09IHRydWUpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc for functions on built-ins (Global.isFinite)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-8.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMy8xNS4yLjMuMy00LTgwLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvciByZXR1cm5zIGRhdGEgZGVzYyBmb3IgZnVuY3Rpb25zIG9uIGJ1aWx0LWlucyAoU3RyaW5nLnByb3RvdHlwZS50b0xvY2FsZVVwcGVyQ2FzZSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoU3RyaW5nLnByb3RvdHlwZSwgInRvTG9jYWxlVXBwZXJDYXNlIik7DQogIGlmIChkZXNjLnZhbHVlID09PSBTdHJpbmcucHJvdG90eXBlLnRvTG9jYWxlVXBwZXJDYXNlICYmDQogICAgICBkZXNjLndyaXRhYmxlID09PSB0cnVlICYmDQogICAgICBkZXNjLmVudW1lcmFibGUgPT09IGZhbHNlICYmDQogICAgICBkZXNjLmNvbmZpZ3VyYWJsZSA9PT0gdHJ1ZSkgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc for functions on built-ins (String.prototype.toLocaleUpperCase)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-80.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMy8xNS4yLjMuMy00LTgxLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvciByZXR1cm5zIGRhdGEgZGVzYyBmb3IgZnVuY3Rpb25zIG9uIGJ1aWx0LWlucyAoU3RyaW5nLnByb3RvdHlwZS5sb2NhbGVDb21wYXJlKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihTdHJpbmcucHJvdG90eXBlLCAibG9jYWxlQ29tcGFyZSIpOw0KICBpZiAoZGVzYy52YWx1ZSA9PT0gU3RyaW5nLnByb3RvdHlwZS5sb2NhbGVDb21wYXJlICYmDQogICAgICBkZXNjLndyaXRhYmxlID09PSB0cnVlICYmDQogICAgICBkZXNjLmVudW1lcmFibGUgPT09IGZhbHNlICYmDQogICAgICBkZXNjLmNvbmZpZ3VyYWJsZSA9PT0gdHJ1ZSkgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc for functions on built-ins (String.prototype.localeCompare)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-81.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMy8xNS4yLjMuMy00LTgyLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvciByZXR1cm5zIGRhdGEgZGVzYyBmb3IgZnVuY3Rpb25zIG9uIGJ1aWx0LWlucyAoU3RyaW5nLnByb3RvdHlwZS50cmltKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihTdHJpbmcucHJvdG90eXBlLCAidHJpbSIpOw0KICBpZiAoZGVzYy52YWx1ZSA9PT0gU3RyaW5nLnByb3RvdHlwZS50cmltICYmDQogICAgICBkZXNjLndyaXRhYmxlID09PSB0cnVlICYmDQogICAgICBkZXNjLmVudW1lcmFibGUgPT09IGZhbHNlICYmDQogICAgICBkZXNjLmNvbmZpZ3VyYWJsZSA9PT0gdHJ1ZSkgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc for functions on built-ins (String.prototype.trim)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-82.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMy8xNS4yLjMuMy00LTg0LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvciByZXR1cm5zIGRhdGEgZGVzYyBmb3IgZnVuY3Rpb25zIG9uIGJ1aWx0LWlucyAoQm9vbGVhbi5wcm90b3R5cGUuY29uc3RydWN0b3IpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKEJvb2xlYW4ucHJvdG90eXBlLCAiY29uc3RydWN0b3IiKTsNCiAgaWYgKGRlc2MudmFsdWUgPT09IEJvb2xlYW4ucHJvdG90eXBlLmNvbnN0cnVjdG9yICYmDQogICAgICBkZXNjLndyaXRhYmxlID09PSB0cnVlICYmDQogICAgICBkZXNjLmVudW1lcmFibGUgPT09IGZhbHNlICYmDQogICAgICBkZXNjLmNvbmZpZ3VyYWJsZSA9PT0gdHJ1ZSkgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc for functions on built-ins (Boolean.prototype.constructor)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-84.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMy8xNS4yLjMuMy00LTg1LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvciByZXR1cm5zIGRhdGEgZGVzYyBmb3IgZnVuY3Rpb25zIG9uIGJ1aWx0LWlucyAoQm9vbGVhbi5wcm90b3R5cGUudG9TdHJpbmcpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKEJvb2xlYW4ucHJvdG90eXBlLCAidG9TdHJpbmciKTsNCiAgaWYgKGRlc2MudmFsdWUgPT09IEJvb2xlYW4ucHJvdG90eXBlLnRvU3RyaW5nICYmDQogICAgICBkZXNjLndyaXRhYmxlID09PSB0cnVlICYmDQogICAgICBkZXNjLmVudW1lcmFibGUgPT09IGZhbHNlICYmDQogICAgICBkZXNjLmNvbmZpZ3VyYWJsZSA9PT0gdHJ1ZSkgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc for functions on built-ins (Boolean.prototype.toString)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-85.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMy8xNS4yLjMuMy00LTg2LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvciByZXR1cm5zIGRhdGEgZGVzYyBmb3IgZnVuY3Rpb25zIG9uIGJ1aWx0LWlucyAoQm9vbGVhbi5wcm90b3R5cGUudmFsdWVPZikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoQm9vbGVhbi5wcm90b3R5cGUsICJ2YWx1ZU9mIik7DQogIGlmIChkZXNjLnZhbHVlID09PSBCb29sZWFuLnByb3RvdHlwZS52YWx1ZU9mICYmDQogICAgICBkZXNjLndyaXRhYmxlID09PSB0cnVlICYmDQogICAgICBkZXNjLmVudW1lcmFibGUgPT09IGZhbHNlICYmDQogICAgICBkZXNjLmNvbmZpZ3VyYWJsZSA9PT0gdHJ1ZSkgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc for functions on built-ins (Boolean.prototype.valueOf)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-86.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMy8xNS4yLjMuMy00LTg4LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvciByZXR1cm5zIGRhdGEgZGVzYyBmb3IgZnVuY3Rpb25zIG9uIGJ1aWx0LWlucyAoTnVtYmVyLnByb3RvdHlwZS5jb25zdHJ1Y3RvcikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoTnVtYmVyLnByb3RvdHlwZSwgImNvbnN0cnVjdG9yIik7DQogIGlmIChkZXNjLnZhbHVlID09PSBOdW1iZXIucHJvdG90eXBlLmNvbnN0cnVjdG9yICYmDQogICAgICBkZXNjLndyaXRhYmxlID09PSB0cnVlICYmDQogICAgICBkZXNjLmVudW1lcmFibGUgPT09IGZhbHNlICYmDQogICAgICBkZXNjLmNvbmZpZ3VyYWJsZSA9PT0gdHJ1ZSkgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc for functions on built-ins (Number.prototype.constructor)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-88.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMy8xNS4yLjMuMy00LTg5LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvciByZXR1cm5zIGRhdGEgZGVzYyBmb3IgZnVuY3Rpb25zIG9uIGJ1aWx0LWlucyAoTnVtYmVyLnByb3RvdHlwZS50b1N0cmluZykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoTnVtYmVyLnByb3RvdHlwZSwgInRvU3RyaW5nIik7DQogIGlmIChkZXNjLnZhbHVlID09PSBOdW1iZXIucHJvdG90eXBlLnRvU3RyaW5nICYmDQogICAgICBkZXNjLndyaXRhYmxlID09PSB0cnVlICYmDQogICAgICBkZXNjLmVudW1lcmFibGUgPT09IGZhbHNlICYmDQogICAgICBkZXNjLmNvbmZpZ3VyYWJsZSA9PT0gdHJ1ZSkgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc for functions on built-ins (Number.prototype.toString)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-89.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMy8xNS4yLjMuMy00LTkuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIHJldHVybnMgZGF0YSBkZXNjIGZvciBmdW5jdGlvbnMgb24gYnVpbHQtaW5zIChHbG9iYWwuZGVjb2RlVVJJKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBnbG9iYWwgPSBmbkdsb2JhbE9iamVjdCgpOw0KICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoZ2xvYmFsLCAiZGVjb2RlVVJJIik7DQogIGlmIChkZXNjLnZhbHVlID09PSBnbG9iYWwuZGVjb2RlVVJJICYmDQogICAgICBkZXNjLndyaXRhYmxlID09PSB0cnVlICYmDQogICAgICBkZXNjLmVudW1lcmFibGUgPT09IGZhbHNlICYmDQogICAgICBkZXNjLmNvbmZpZ3VyYWJsZSA9PT0gdHJ1ZSkgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc for functions on built-ins (Global.decodeURI)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-9.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMy8xNS4yLjMuMy00LTkwLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvciByZXR1cm5zIGRhdGEgZGVzYyBmb3IgZnVuY3Rpb25zIG9uIGJ1aWx0LWlucyAoTnVtYmVyLnByb3RvdHlwZS50b0xvY2FsZVN0cmluZykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoTnVtYmVyLnByb3RvdHlwZSwgInRvTG9jYWxlU3RyaW5nIik7DQogIGlmIChkZXNjLnZhbHVlID09PSBOdW1iZXIucHJvdG90eXBlLnRvTG9jYWxlU3RyaW5nICYmDQogICAgICBkZXNjLndyaXRhYmxlID09PSB0cnVlICYmDQogICAgICBkZXNjLmVudW1lcmFibGUgPT09IGZhbHNlICYmDQogICAgICBkZXNjLmNvbmZpZ3VyYWJsZSA9PT0gdHJ1ZSkgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc for functions on built-ins (Number.prototype.toLocaleString)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-90.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMy8xNS4yLjMuMy00LTkxLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvciByZXR1cm5zIGRhdGEgZGVzYyBmb3IgZnVuY3Rpb25zIG9uIGJ1aWx0LWlucyAoTnVtYmVyLnByb3RvdHlwZS50b0ZpeGVkKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihOdW1iZXIucHJvdG90eXBlLCAidG9GaXhlZCIpOw0KICBpZiAoZGVzYy52YWx1ZSA9PT0gTnVtYmVyLnByb3RvdHlwZS50b0ZpeGVkICYmDQogICAgICBkZXNjLndyaXRhYmxlID09PSB0cnVlICYmDQogICAgICBkZXNjLmVudW1lcmFibGUgPT09IGZhbHNlICYmDQogICAgICBkZXNjLmNvbmZpZ3VyYWJsZSA9PT0gdHJ1ZSkgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc for functions on built-ins (Number.prototype.toFixed)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-91.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMy8xNS4yLjMuMy00LTkyLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvciByZXR1cm5zIGRhdGEgZGVzYyBmb3IgZnVuY3Rpb25zIG9uIGJ1aWx0LWlucyAoTnVtYmVyLnByb3RvdHlwZS50b0V4cG9uZW50aWFsKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihOdW1iZXIucHJvdG90eXBlLCAidG9FeHBvbmVudGlhbCIpOw0KICBpZiAoZGVzYy52YWx1ZSA9PT0gTnVtYmVyLnByb3RvdHlwZS50b0V4cG9uZW50aWFsICYmDQogICAgICBkZXNjLndyaXRhYmxlID09PSB0cnVlICYmDQogICAgICBkZXNjLmVudW1lcmFibGUgPT09IGZhbHNlICYmDQogICAgICBkZXNjLmNvbmZpZ3VyYWJsZSA9PT0gdHJ1ZSkgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc for functions on built-ins (Number.prototype.toExponential)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-92.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMy8xNS4yLjMuMy00LTkzLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvciByZXR1cm5zIGRhdGEgZGVzYyBmb3IgZnVuY3Rpb25zIG9uIGJ1aWx0LWlucyAoTnVtYmVyLnByb3RvdHlwZS50b1ByZWNpc2lvbikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoTnVtYmVyLnByb3RvdHlwZSwgInRvUHJlY2lzaW9uIik7DQogIGlmIChkZXNjLnZhbHVlID09PSBOdW1iZXIucHJvdG90eXBlLnRvUHJlY2lzaW9uICYmDQogICAgICBkZXNjLndyaXRhYmxlID09PSB0cnVlICYmDQogICAgICBkZXNjLmVudW1lcmFibGUgPT09IGZhbHNlICYmDQogICAgICBkZXNjLmNvbmZpZ3VyYWJsZSA9PT0gdHJ1ZSkgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc for functions on built-ins (Number.prototype.toPrecision)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-93.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMy8xNS4yLjMuMy00LTk0LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvciByZXR1cm5zIGRhdGEgZGVzYyBmb3IgZnVuY3Rpb25zIG9uIGJ1aWx0LWlucyAoTnVtYmVyLnByb3RvdHlwZS52YWx1ZU9mKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihOdW1iZXIucHJvdG90eXBlLCAidmFsdWVPZiIpOw0KICBpZiAoZGVzYy52YWx1ZSA9PT0gTnVtYmVyLnByb3RvdHlwZS52YWx1ZU9mICYmDQogICAgICBkZXNjLndyaXRhYmxlID09PSB0cnVlICYmDQogICAgICBkZXNjLmVudW1lcmFibGUgPT09IGZhbHNlICYmDQogICAgICBkZXNjLmNvbmZpZ3VyYWJsZSA9PT0gdHJ1ZSkgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc for functions on built-ins (Number.prototype.valueOf)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-94.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMy8xNS4yLjMuMy00LTk2LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvciByZXR1cm5zIGRhdGEgZGVzYyBmb3IgZnVuY3Rpb25zIG9uIGJ1aWx0LWlucyAoTWF0aC5hYnMpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKE1hdGgsICJhYnMiKTsNCiAgaWYgKGRlc2MudmFsdWUgPT09IE1hdGguYWJzICYmDQogICAgICBkZXNjLndyaXRhYmxlID09PSB0cnVlICYmDQogICAgICBkZXNjLmVudW1lcmFibGUgPT09IGZhbHNlICYmDQogICAgICBkZXNjLmNvbmZpZ3VyYWJsZSA9PT0gdHJ1ZSkgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc for functions on built-ins (Math.abs)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-96.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMy8xNS4yLjMuMy00LTk3LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvciByZXR1cm5zIGRhdGEgZGVzYyBmb3IgZnVuY3Rpb25zIG9uIGJ1aWx0LWlucyAoTWF0aC5hY29zKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihNYXRoLCAiYWNvcyIpOw0KICBpZiAoZGVzYy52YWx1ZSA9PT0gTWF0aC5hY29zICYmDQogICAgICBkZXNjLndyaXRhYmxlID09PSB0cnVlICYmDQogICAgICBkZXNjLmVudW1lcmFibGUgPT09IGZhbHNlICYmDQogICAgICBkZXNjLmNvbmZpZ3VyYWJsZSA9PT0gdHJ1ZSkgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc for functions on built-ins (Math.acos)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-97.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMy8xNS4yLjMuMy00LTk4LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvciByZXR1cm5zIGRhdGEgZGVzYyBmb3IgZnVuY3Rpb25zIG9uIGJ1aWx0LWlucyAoTWF0aC5hc2luKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihNYXRoLCAiYXNpbiIpOw0KICBpZiAoZGVzYy52YWx1ZSA9PT0gTWF0aC5hc2luICYmDQogICAgICBkZXNjLndyaXRhYmxlID09PSB0cnVlICYmDQogICAgICBkZXNjLmVudW1lcmFibGUgPT09IGZhbHNlICYmDQogICAgICBkZXNjLmNvbmZpZ3VyYWJsZSA9PT0gdHJ1ZSkgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc for functions on built-ins (Math.asin)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-98.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuMy8xNS4yLjMuMy00LTk5LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvciByZXR1cm5zIGRhdGEgZGVzYyBmb3IgZnVuY3Rpb25zIG9uIGJ1aWx0LWlucyAoTWF0aC5hdGFuKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihNYXRoLCAiYXRhbiIpOw0KICBpZiAoZGVzYy52YWx1ZSA9PT0gTWF0aC5hdGFuICYmDQogICAgICBkZXNjLndyaXRhYmxlID09PSB0cnVlICYmDQogICAgICBkZXNjLmVudW1lcmFibGUgPT09IGZhbHNlICYmDQogICAgICBkZXNjLmNvbmZpZ3VyYWJsZSA9PT0gdHJ1ZSkgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.getOwnPropertyDescriptor returns data desc for functions on built-ins (Math.atan)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.3/15.2.3.3-4-99.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNC8xNS4yLjMuNC0wLTEuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0T3duUHJvcGVydHlOYW1lcyBtdXN0IGV4aXN0IGFzIGEgZnVuY3Rpb24NCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICBpZiAodHlwZW9mKE9iamVjdC5nZXRPd25Qcm9wZXJ0eU5hbWVzKSA9PT0gImZ1bmN0aW9uIikgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.getOwnPropertyNames must exist as a function","path":"TestCases/ch15/15.2/15.2.3/15.2.3.4/15.2.3.4-0-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNC8xNS4yLjMuNC0wLTIuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0T3duUHJvcGVydHlOYW1lcyBtdXN0IGV4aXN0IGFzIGEgZnVuY3Rpb24gdGFraW5nIDEgcGFyYW1ldGVyDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgaWYgKE9iamVjdC5nZXRPd25Qcm9wZXJ0eU5hbWVzLmxlbmd0aCA9PT0gMSkgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.getOwnPropertyNames must exist as a function taking 1 parameter","path":"TestCases/ch15/15.2/15.2.3/15.2.3.4/15.2.3.4-0-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNC8xNS4yLjMuNC0xLTIuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0T3duUHJvcGVydHlOYW1lcyB0aHJvd3MgVHlwZUVycm9yIGlmICdPJyBpcyB1bmRlZmluZWQNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmdldE93blByb3BlcnR5TmFtZXModW5kZWZpbmVkKTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBUeXBlRXJyb3I7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.getOwnPropertyNames throws TypeError if 'O' is undefined","path":"TestCases/ch15/15.2/15.2.3/15.2.3.4/15.2.3.4-1-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNC8xNS4yLjMuNC0xLTMuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0T3duUHJvcGVydHlOYW1lcyB0aHJvd3MgVHlwZUVycm9yIGlmICdPJyBpcyBudWxsDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5nZXRPd25Qcm9wZXJ0eU5hbWVzKG51bGwpOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFR5cGVFcnJvcjsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.getOwnPropertyNames throws TypeError if 'O' is null","path":"TestCases/ch15/15.2/15.2.3/15.2.3.4/15.2.3.4-1-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNC8xNS4yLjMuNC0xLTQuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0T3duUHJvcGVydHlOYW1lcyB0aHJvd3MgVHlwZUVycm9yIGlmICdPJyBpcyBhIGJvb2xlYW4NCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmdldE93blByb3BlcnR5TmFtZXModHJ1ZSk7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiBlIGluc3RhbmNlb2YgVHlwZUVycm9yOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.getOwnPropertyNames throws TypeError if 'O' is a boolean","path":"TestCases/ch15/15.2/15.2.3/15.2.3.4/15.2.3.4-1-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNC8xNS4yLjMuNC0xLTUuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0T3duUHJvcGVydHlOYW1lcyB0aHJvd3MgVHlwZUVycm9yIGlmICdPJyBpcyBhIHN0cmluZw0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZ2V0T3duUHJvcGVydHlOYW1lcygiYWJjIik7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiBlIGluc3RhbmNlb2YgVHlwZUVycm9yOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.getOwnPropertyNames throws TypeError if 'O' is a string","path":"TestCases/ch15/15.2/15.2.3/15.2.3.4/15.2.3.4-1-5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNC8xNS4yLjMuNC0xLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmdldE93blByb3BlcnR5TmFtZXMgdGhyb3dzIFR5cGVFcnJvciBpZiB0eXBlIG9mIGZpcnN0IHBhcmFtIGlzIG5vdCBPYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgIHRyeSB7DQogICAgICBPYmplY3QuZ2V0T3duUHJvcGVydHlOYW1lcygwKTsNCiAgICB9DQogICAgY2F0Y2ggKGUpIHsNCiAgICAgIGlmIChlIGluc3RhbmNlb2YgVHlwZUVycm9yKSB7DQogICAgICAgIHJldHVybiB0cnVlOw0KICAgICAgfQ0KICAgIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.getOwnPropertyNames throws TypeError if type of first param is not Object","path":"TestCases/ch15/15.2/15.2.3/15.2.3.4/15.2.3.4-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNC8xNS4yLjMuNC0yLTEuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0T3duUHJvcGVydHlOYW1lcyAtIHJldHVybmVkIGFycmF5IGlzIGFuIGFycmF5IGFjY29yZGluZyB0byBBcnJheS5pc0FycmF5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIHZhciByZXN1bHQgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlOYW1lcyhvYmopOw0KDQogICAgICAgIHJldHVybiBBcnJheS5pc0FycmF5KHJlc3VsdCk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.getOwnPropertyNames - returned array is an array according to Array.isArray","path":"TestCases/ch15/15.2/15.2.3/15.2.3.4/15.2.3.4-2-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNC8xNS4yLjMuNC0yLTIuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0T3duUHJvcGVydHlOYW1lcyAtIHJldHVybmVkIGFycmF5IGlzIGFuIGluc3RhbmNlIG9mIEFycmF5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICB2YXIgcmVzdWx0ID0gT2JqZWN0LmdldE93blByb3BlcnR5TmFtZXMob2JqKTsNCg0KICAgICAgICByZXR1cm4gcmVzdWx0IGluc3RhbmNlb2YgQXJyYXk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.getOwnPropertyNames - returned array is an instance of Array","path":"TestCases/ch15/15.2/15.2.3/15.2.3.4/15.2.3.4-2-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNC8xNS4yLjMuNC0yLTMuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0T3duUHJvcGVydHlOYW1lcyAtIGxlbmd0aCBvZiByZXR1cm5lZCBhcnJheSBpcyBpbml0aWFsaXplZCB0byAwDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIHZhciByZXN1bHQgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlOYW1lcyhvYmopOw0KDQogICAgICAgIHJldHVybiByZXN1bHQubGVuZ3RoID09PSAwOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.getOwnPropertyNames - length of returned array is initialized to 0","path":"TestCases/ch15/15.2/15.2.3/15.2.3.4/15.2.3.4-2-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNC8xNS4yLjMuNC0yLTQuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0T3duUHJvcGVydHlOYW1lcyAtIHJldHVybmVkIGFycmF5IGlzIHRoZSBzdGFuZGFyZCBidWlsdC1pbiBjb25zdHJ1Y3Rvcg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvbGRBcnJheSA9IEFycmF5Ow0KICAgICAgICBBcnJheSA9IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcigiaW52b2tlIGN1c3RvbWVyIGRlZmluZWQgQXJyYXkhIik7DQogICAgICAgIH07DQoNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgdmFyIHJlc3VsdCA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eU5hbWVzKG9iaik7DQogICAgICAgICAgICByZXR1cm4gT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKHJlc3VsdCkgPT09ICJbb2JqZWN0IEFycmF5XSI7DQogICAgICAgIH0gY2F0Y2ggKGV4KSB7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBBcnJheSA9IG9sZEFycmF5Ow0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.getOwnPropertyNames - returned array is the standard built-in constructor","path":"TestCases/ch15/15.2/15.2.3/15.2.3.4/15.2.3.4-2-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNC8xNS4yLjMuNC0zLTEuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0T3duUHJvcGVydHlOYW1lcyAtIGVsZW1lbnRzIG9mIHRoZSByZXR1cm5lZCBhcnJheSBzdGFydCBmcm9tIGluZGV4IDANCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0geyBwcm9wMTogMTAwMSB9Ow0KDQogICAgICAgIHZhciBhcnIgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlOYW1lcyhvYmopOw0KDQogICAgICAgIHJldHVybiBhcnIuaGFzT3duUHJvcGVydHkoMCkgJiYgYXJyWzBdID09PSAicHJvcDEiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.getOwnPropertyNames - elements of the returned array start from index 0","path":"TestCases/ch15/15.2/15.2.3/15.2.3.4/15.2.3.4-3-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNC8xNS4yLjMuNC00LTEuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0T3duUHJvcGVydHlOYW1lcyByZXR1cm5zIGFycmF5IG9mIHByb3BlcnR5IG5hbWVzIChHbG9iYWwpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIHJlc3VsdCA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eU5hbWVzKGZuR2xvYmFsT2JqZWN0KCkpOw0KICAgICAgICB2YXIgZXhwUmVzdWx0ID0gWyJOYU4iLCAiSW5maW5pdHkiLCAidW5kZWZpbmVkIiwgImV2YWwiLCAicGFyc2VJbnQiLCAicGFyc2VGbG9hdCIsICJpc05hTiIsICJpc0Zpbml0ZSIsICJkZWNvZGVVUkkiLCAiZGVjb2RlVVJJQ29tcG9uZW50IiwgImVuY29kZVVSSSIsICJlbmNvZGVVUklDb21wb25lbnQiLCAiT2JqZWN0IiwgIkZ1bmN0aW9uIiwgIkFycmF5IiwgIlN0cmluZyIsICJCb29sZWFuIiwgIk51bWJlciIsICJEYXRlIiwgIkRhdGUiLCAiUmVnRXhwIiwgIkVycm9yIiwgIkV2YWxFcnJvciIsICJSYW5nZUVycm9yIiwgIlJlZmVyZW5jZUVycm9yIiwgIlN5bnRheEVycm9yIiwgIlR5cGVFcnJvciIsICJVUklFcnJvciIsICJNYXRoIiwgIkpTT04iXTsNCg0KICAgICAgICB2YXIgcmVzdWx0MSA9IHt9Ow0KICAgICAgICBmb3IgKHZhciBwIGluIHJlc3VsdCkgew0KICAgICAgICAgICAgcmVzdWx0MVtyZXN1bHRbcF1dID0gdHJ1ZTsNCiAgICAgICAgfQ0KDQogICAgICAgIGZvciAodmFyIHAxIGluIGV4cFJlc3VsdCkgew0KICAgICAgICAgICAgaWYgKCFyZXN1bHQxW2V4cFJlc3VsdFtwMV1dKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgcmV0dXJuIHRydWU7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.getOwnPropertyNames returns array of property names (Global)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.4/15.2.3.4-4-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNC8xNS4yLjMuNC00LTIuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZ2V0T3duUHJvcGVydHlOYW1lcyByZXR1cm5zIGFycmF5IG9mIHByb3BlcnR5IG5hbWVzIChPYmplY3QpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIHJlc3VsdCA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eU5hbWVzKE9iamVjdCk7DQogIHZhciBleHBSZXN1bHQgPSBbImdldFByb3RvdHlwZU9mIiwgImdldE93blByb3BlcnR5RGVzY3JpcHRvciIsICJnZXRPd25Qcm9wZXJ0eU5hbWVzIiwgImNyZWF0ZSIsICJkZWZpbmVQcm9wZXJ0eSIsICJkZWZpbmVQcm9wZXJ0aWVzIiwgInNlYWwiLCAiZnJlZXplIiwgInByZXZlbnRFeHRlbnNpb25zIiwgImlzU2VhbGVkIiwgImlzRnJvemVuIiwgImlzRXh0ZW5zaWJsZSIsICJrZXlzIiwgInByb3RvdHlwZSIsICJsZW5ndGgiXTsNCiAgdmFyIGZvdW5kOw0KDQogIHJldHVybiBhcnJheUNvbnRhaW5zKHJlc3VsdCwgZXhwUmVzdWx0KTsNCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.getOwnPropertyNames returns array of property names (Object)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.4/15.2.3.4-4-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNC8xNS4yLjMuNC00LTM2LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmdldE93blByb3BlcnR5TmFtZXMgLSBpbmhlcml0ZWQgZGF0YSBwcm9wZXJ0aWVzIGFyZSBub3QgcHVzaGVkIGludG8gdGhlIHJldHVybmVkIGFycmF5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgcHJvdG8gPSB7ICJwYXJlbnQiOiAicGFyZW50IiB9Ow0KDQogICAgICAgIHZhciBDb24gPSBmdW5jdGlvbiAoKSB7IH07DQogICAgICAgIENvbi5wcm90b3R5cGUgPSBwcm90bzsNCg0KICAgICAgICB2YXIgY2hpbGQgPSBuZXcgQ29uKCk7DQoNCiAgICAgICAgdmFyIHJlc3VsdCA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eU5hbWVzKGNoaWxkKTsNCg0KICAgICAgICBmb3IgKHZhciBwIGluIHJlc3VsdCkgew0KICAgICAgICAgICAgaWYgKHJlc3VsdFtwXSA9PT0gInBhcmVudCIpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCiAgICAgICAgcmV0dXJuIHRydWU7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.getOwnPropertyNames - inherited data properties are not pushed into the returned array","path":"TestCases/ch15/15.2/15.2.3/15.2.3.4/15.2.3.4-4-36.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNC8xNS4yLjMuNC00LTM3LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmdldE93blByb3BlcnR5TmFtZXMgLSBpbmhlcml0ZWQgYWNjZXNzb3IgcHJvcGVydGllcyBhcmUgbm90IHB1c2hlZCBpbnRvIHRoZSByZXR1cm5lZCBhcnJheQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBwcm90byA9IHt9Ow0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkocHJvdG8sICJwYXJlbnQiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gInBhcmVudCI7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBDb24gPSBmdW5jdGlvbiAoKSB7IH07DQogICAgICAgIENvbi5wcm90b3R5cGUgPSBwcm90bzsNCg0KICAgICAgICB2YXIgY2hpbGQgPSBuZXcgQ29uKCk7DQoNCiAgICAgICAgdmFyIHJlc3VsdCA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eU5hbWVzKGNoaWxkKTsNCg0KICAgICAgICBmb3IgKHZhciBwIGluIHJlc3VsdCkgew0KICAgICAgICAgICAgaWYgKHJlc3VsdFtwXSA9PT0gInBhcmVudCIpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCiAgICAgICAgcmV0dXJuIHRydWU7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.getOwnPropertyNames - inherited accessor properties are not pushed into the returned array","path":"TestCases/ch15/15.2/15.2.3/15.2.3.4/15.2.3.4-4-37.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNC8xNS4yLjMuNC00LTM4LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmdldE93blByb3BlcnR5TmFtZXMgLSBvd24gZGF0YSBwcm9wZXJ0aWVzIGFyZSBwdXNoZWQgaW50byB0aGUgcmV0dXJuZWQgYXJyYXkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7ICJhIjogImEiIH07DQoNCiAgICAgICAgdmFyIHJlc3VsdCA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eU5hbWVzKG9iaik7DQoNCiAgICAgICAgcmV0dXJuIHJlc3VsdFswXSA9PT0gImEiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.getOwnPropertyNames - own data properties are pushed into the returned array","path":"TestCases/ch15/15.2/15.2.3/15.2.3.4/15.2.3.4-4-38.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNC8xNS4yLjMuNC00LTM5LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmdldE93blByb3BlcnR5TmFtZXMgLSBvd24gYWNjZXNzb3IgcHJvcGVydGllcyBhcmUgcHVzaGVkIGludG8gdGhlIHJldHVybmVkIGFycmF5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiYSIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiAiYSI7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciByZXN1bHQgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlOYW1lcyhvYmopOw0KDQogICAgICAgIHJldHVybiByZXN1bHRbMF0gPT09ICJhIjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.getOwnPropertyNames - own accessor properties are pushed into the returned array","path":"TestCases/ch15/15.2/15.2.3/15.2.3.4/15.2.3.4-4-39.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNC8xNS4yLjMuNC00LTQwLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmdldE93blByb3BlcnR5TmFtZXMgLSBpbmhlcml0ZWQgZGF0YSBwcm9wZXJ0eSBvZiBTdHJpbmcgb2JqZWN0ICdPJyBpcyBub3QgcHVzaGVkIGludG8gdGhlIHJldHVybmVkIGFycmF5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIHZhciBzdHIgPSBuZXcgU3RyaW5nKCJhYmMiKTsNCg0KICAgICAgICAgICAgU3RyaW5nLnByb3RvdHlwZS5wcm90b1Byb3BlcnR5ID0gInByb3RvU3RyaW5nIjsNCg0KICAgICAgICAgICAgdmFyIHJlc3VsdCA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eU5hbWVzKHN0cik7DQoNCiAgICAgICAgICAgIGZvciAodmFyIHAgaW4gcmVzdWx0KSB7DQogICAgICAgICAgICAgICAgaWYgKHJlc3VsdFtwXSA9PT0gInByb3RvUHJvcGVydHkiKSB7DQogICAgICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9DQoNCiAgICAgICAgICAgIHJldHVybiB0cnVlOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIFN0cmluZy5wcm90b3R5cGUucHJvdG9Qcm9wZXJ0eTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.getOwnPropertyNames - inherited data property of String object 'O' is not pushed into the returned array","path":"TestCases/ch15/15.2/15.2.3/15.2.3.4/15.2.3.4-4-40.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNC8xNS4yLjMuNC00LTQxLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmdldE93blByb3BlcnR5TmFtZXMgLSBpbmhlcml0ZWQgYWNjZXNzb3IgcHJvcGVydHkgb2YgU3RyaW5nIG9iamVjdCAnTycgaXMgbm90IHB1c2hlZCBpbnRvIHRoZSByZXR1cm5lZCBhcnJheQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICB2YXIgc3RyID0gbmV3IFN0cmluZygiYWJjIik7DQoNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShTdHJpbmcucHJvdG90eXBlLCAicHJvdG9Qcm9wZXJ0eSIsIHsNCiAgICAgICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuICJwcm90b1N0cmluZyI7DQogICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICB2YXIgcmVzdWx0ID0gT2JqZWN0LmdldE93blByb3BlcnR5TmFtZXMoc3RyKTsNCg0KICAgICAgICAgICAgZm9yICh2YXIgcCBpbiByZXN1bHQpIHsNCiAgICAgICAgICAgICAgICBpZiAocmVzdWx0W3BdID09PSAicHJvdG9Qcm9wZXJ0eSIpIHsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIHJldHVybiB0cnVlOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIFN0cmluZy5wcm90b3R5cGUucHJvdG9Qcm9wZXJ0eTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.getOwnPropertyNames - inherited accessor property of String object 'O' is not pushed into the returned array","path":"TestCases/ch15/15.2/15.2.3/15.2.3.4/15.2.3.4-4-41.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNC8xNS4yLjMuNC00LTQyLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmdldE93blByb3BlcnR5TmFtZXMgLSBvd24gZGF0YSBwcm9wZXJ0eSBvZiBTdHJpbmcgb2JqZWN0ICdPJyBpcyBwdXNoZWQgaW50byB0aGUgcmV0dXJuZWQgYXJyYXkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgc3RyID0gbmV3IFN0cmluZygiYWJjIik7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHN0ciwgIm93blByb3BlcnR5Iiwgew0KICAgICAgICAgICAgdmFsdWU6ICJvd25TdHJpbmciLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciByZXN1bHQgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlOYW1lcyhzdHIpOw0KDQogICAgICAgIGZvciAodmFyIHAgaW4gcmVzdWx0KSB7DQogICAgICAgICAgICBpZiAocmVzdWx0W3BdID09PSAib3duUHJvcGVydHkiKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.getOwnPropertyNames - own data property of String object 'O' is pushed into the returned array","path":"TestCases/ch15/15.2/15.2.3/15.2.3.4/15.2.3.4-4-42.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNC8xNS4yLjMuNC00LTQzLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmdldE93blByb3BlcnR5TmFtZXMgLSBvd24gYWNjZXNzb3IgcHJvcGVydHkgb2YgU3RyaW5nIG9iamVjdCAnTycgaXMgcHVzaGVkIGludG8gdGhlIHJldHVybmVkIGFycmF5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIHN0ciA9IG5ldyBTdHJpbmcoImFiYyIpOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShzdHIsICJvd25Qcm9wZXJ0eSIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiAib3duU3RyaW5nIjsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIHJlc3VsdCA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eU5hbWVzKHN0cik7DQoNCiAgICAgICAgZm9yICh2YXIgcCBpbiByZXN1bHQpIHsNCiAgICAgICAgICAgIGlmIChyZXN1bHRbcF0gPT09ICJvd25Qcm9wZXJ0eSIpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIHJldHVybiBmYWxzZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.getOwnPropertyNames - own accessor property of String object 'O' is pushed into the returned array","path":"TestCases/ch15/15.2/15.2.3/15.2.3.4/15.2.3.4-4-43.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNC8xNS4yLjMuNC00LTQ0LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmdldE93blByb3BlcnR5TmFtZXMgLSBvd24gaW5kZXggcHJvcGVydGllcyBvZiBTdHJpbmcgb2JqZWN0IGFyZSBwdXNoZWQgaW50byB0aGUgcmV0dXJuZWQgQXJyYXkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBzdHIgPSBuZXcgU3RyaW5nKCJhYmMiKTsNCiAgICAgICAgc3RyWzVdID0gImRlIjsNCg0KICAgICAgICB2YXIgZXhwUmVzdWx0ID0gWyIwIiwgIjEiLCAiMiIsICJsZW5ndGgiLCAiNSJdOw0KDQogICAgICAgIHZhciByZXN1bHQgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlOYW1lcyhzdHIpOw0KDQogICAgICAgIHJldHVybiBjb21wYXJlQXJyYXkoZXhwUmVzdWx0LCByZXN1bHQpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.getOwnPropertyNames - own index properties of String object are pushed into the returned Array","path":"TestCases/ch15/15.2/15.2.3/15.2.3.4/15.2.3.4-4-44.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNC8xNS4yLjMuNC00LTQ1LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmdldE93blByb3BlcnR5TmFtZXMgLSBpbmhlcml0ZWQgZGF0YSBwcm9wZXJ0eSBvZiBBcnJheSBvYmplY3QgJ08nIGlzIG5vdCBwdXNoZWQgaW50byB0aGUgcmV0dXJuZWQgYXJyYXkuDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIHZhciBhcnIgPSBbMCwgMSwgMl07DQoNCiAgICAgICAgICAgIEFycmF5LnByb3RvdHlwZS5wcm90b1Byb3BlcnR5ID0gInByb3RvQXJyYXkiOw0KDQogICAgICAgICAgICB2YXIgcmVzdWx0ID0gT2JqZWN0LmdldE93blByb3BlcnR5TmFtZXMoYXJyKTsNCg0KICAgICAgICAgICAgZm9yICh2YXIgcCBpbiByZXN1bHQpIHsNCiAgICAgICAgICAgICAgICBpZiAocmVzdWx0W3BdID09PSAicHJvdG9Qcm9wZXJ0eSIpIHsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIHJldHVybiB0cnVlOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIEFycmF5LnByb3RvdHlwZS5wcm90b1Byb3BlcnR5Ow0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.getOwnPropertyNames - inherited data property of Array object 'O' is not pushed into the returned array.","path":"TestCases/ch15/15.2/15.2.3/15.2.3.4/15.2.3.4-4-45.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNC8xNS4yLjMuNC00LTQ2LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmdldE93blByb3BlcnR5TmFtZXMgLSBpbmhlcml0ZWQgYWNjZXNzb3IgcHJvcGVydHkgb2YgQXJyYXkgb2JqZWN0ICdPJyBpcyBub3QgcHVzaGVkIGludG8gdGhlIHJldHVybmVkIGFycmF5Lg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICB2YXIgYXJyID0gWzAsIDEsIDJdOw0KDQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoQXJyYXkucHJvdG90eXBlLCAicHJvdG9Qcm9wZXJ0eSIsIHsNCiAgICAgICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuICJwcm90b0FycmF5IjsNCiAgICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgIHZhciByZXN1bHQgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlOYW1lcyhhcnIpOw0KDQogICAgICAgICAgICBmb3IgKHZhciBwIGluIHJlc3VsdCkgew0KICAgICAgICAgICAgICAgIGlmIChyZXN1bHRbcF0gPT09ICJwcm90b1Byb3BlcnR5Iikgew0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgcmV0dXJuIHRydWU7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgQXJyYXkucHJvdG90eXBlLnByb3RvUHJvcGVydHk7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.getOwnPropertyNames - inherited accessor property of Array object 'O' is not pushed into the returned array.","path":"TestCases/ch15/15.2/15.2.3/15.2.3.4/15.2.3.4-4-46.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNC8xNS4yLjMuNC00LTQ3LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmdldE93blByb3BlcnR5TmFtZXMgLSBvd24gZGF0YSBwcm9wZXJ0eSBvZiBBcnJheSBvYmplY3QgJ08nIGlzIHB1c2hlZCBpbnRvIHRoZSByZXR1cm5lZCBhcnJheQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBhcnIgPSBbMCwgMSwgMl07DQogICAgICAgIGFyci5vd25Qcm9wZXJ0eSA9ICJvd25BcnJheSI7DQoNCiAgICAgICAgdmFyIHJlc3VsdCA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eU5hbWVzKGFycik7DQoNCiAgICAgICAgZm9yICh2YXIgcCBpbiByZXN1bHQpIHsNCiAgICAgICAgICAgIGlmIChyZXN1bHRbcF0gPT09ICJvd25Qcm9wZXJ0eSIpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIHJldHVybiBmYWxzZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.getOwnPropertyNames - own data property of Array object 'O' is pushed into the returned array","path":"TestCases/ch15/15.2/15.2.3/15.2.3.4/15.2.3.4-4-47.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNC8xNS4yLjMuNC00LTQ4LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmdldE93blByb3BlcnR5TmFtZXMgLSBvd24gYWNjZXNzb3IgcHJvcGVydHkgb2YgQXJyYXkgb2JqZWN0ICdPJyBpcyBwdXNoZWQgaW50byB0aGUgcmV0dXJuZWQgYXJyYXkuDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIGFyciA9IFswLCAxLCAyXTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyLCAib3duUHJvcGVydHkiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gIm93bkFycmF5IjsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIHJlc3VsdCA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eU5hbWVzKGFycik7DQoNCiAgICAgICAgZm9yICh2YXIgcCBpbiByZXN1bHQpIHsNCiAgICAgICAgICAgIGlmIChyZXN1bHRbcF0gPT09ICJvd25Qcm9wZXJ0eSIpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIHJldHVybiBmYWxzZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.getOwnPropertyNames - own accessor property of Array object 'O' is pushed into the returned array.","path":"TestCases/ch15/15.2/15.2.3/15.2.3.4/15.2.3.4-4-48.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNC8xNS4yLjMuNC00LTQ5LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmdldE93blByb3BlcnR5TmFtZXMgLSBvd24gaW5kZXggcHJvcGVydGllcyBvZiBBcnJheSBvYmpjZWN0IGFyZSBwdXNoZWQgaW50byB0aGUgcmV0dXJuZWQgQXJyYXkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgYXJyID0gWzAsIDEsIDJdOw0KDQogICAgICAgIHZhciBleHBSZXN1bHQgPSBbIjAiLCAiMSIsICIyIiwgImxlbmd0aCJdOw0KDQogICAgICAgIHZhciByZXN1bHQgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlOYW1lcyhhcnIpOw0KDQogICAgICAgIHJldHVybiBjb21wYXJlQXJyYXkoZXhwUmVzdWx0LCByZXN1bHQpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.getOwnPropertyNames - own index properties of Array objcect are pushed into the returned Array","path":"TestCases/ch15/15.2/15.2.3/15.2.3.4/15.2.3.4-4-49.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNC8xNS4yLjMuNC00LTUwLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmdldE93blByb3BlcnR5TmFtZXMgLSBub24tZW51bWVyYWJsZSBvd24gcHJvcGVydHkgb2YgJ08nIGlzIHB1c2hlZCBpbnRvIHRoZSByZXR1cm5lZCBBcnJheQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAibm9uRW51bWVyYWJsZVByb3AiLCB7DQogICAgICAgICAgICB2YWx1ZTogMTAsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgcmVzdWx0ID0gT2JqZWN0LmdldE93blByb3BlcnR5TmFtZXMob2JqKTsNCg0KICAgICAgICByZXR1cm4gcmVzdWx0WzBdID09PSAibm9uRW51bWVyYWJsZVByb3AiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.getOwnPropertyNames - non-enumerable own property of 'O' is pushed into the returned Array","path":"TestCases/ch15/15.2/15.2.3/15.2.3.4/15.2.3.4-4-50.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNC8xNS4yLjMuNC00LWItMS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eU5hbWVzIC0gZGVzY3JpcHRvciBvZiByZXN1bHRhbnQgYXJyYXkgaXMgYWxsIHRydWUNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgb2JqID0gbmV3IE9iamVjdCgpOw0KICBvYmoueCA9IDE7DQogIG9iai55ID0gMjsNCiAgdmFyIHJlc3VsdCA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eU5hbWVzKG9iaik7DQogIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihyZXN1bHQsIjAiKTsNCiAgaWYgKGRlc2MuZW51bWVyYWJsZSA9PT0gdHJ1ZSAmJg0KICAgICAgZGVzYy5jb25maWd1cmFibGUgPT09IHRydWUgJiYNCiAgICAgIGRlc2Mud3JpdGFibGUgPT09IHRydWUpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.getOwnPropertyNames - descriptor of resultant array is all true","path":"TestCases/ch15/15.2/15.2.3/15.2.3.4/15.2.3.4-4-b-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNC8xNS4yLjMuNC00LWItMi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eU5hbWVzIC0gYWxsIG93biBwcm9wZXJ0aWVzIGFyZSBwdXNoZWQgaW50byB0aGUgcmV0dXJuZWQgYXJyYXkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0geyAiYSI6ICJhIiB9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJiIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuICJiIjsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiYyIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiAiYyI7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiZCIsIHsNCiAgICAgICAgICAgIHZhbHVlOiAiZCIsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgcmVzdWx0ID0gT2JqZWN0LmdldE93blByb3BlcnR5TmFtZXMob2JqKTsNCiAgICAgICAgdmFyIGV4cFJlc3VsdCA9IFsiYSIsICJiIiwgImMiLCAiZCJdOw0KDQogICAgICAgIHJldHVybiBjb21wYXJlQXJyYXkoZXhwUmVzdWx0LCByZXN1bHQpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.getOwnPropertyNames - all own properties are pushed into the returned array","path":"TestCases/ch15/15.2/15.2.3/15.2.3.4/15.2.3.4-4-b-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNC8xNS4yLjMuNC00LWItMy5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eU5hbWVzIC0gb3duIHByb3BlcnR5IG5hbWVkIGVtcHR5KCcnKSBpcyBwdXNoZWQgaW50byB0aGUgcmV0dXJuZWQgYXJyYXkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0geyAiIjogImVtcHR5IiB9Ow0KDQogICAgICAgIHZhciByZXN1bHQgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlOYW1lcyhvYmopOw0KDQogICAgICAgIGZvciAodmFyIHAgaW4gcmVzdWx0KSB7DQogICAgICAgICAgICBpZiAocmVzdWx0W3BdID09PSAiIikgew0KICAgICAgICAgICAgICAgIHJldHVybiB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.getOwnPropertyNames - own property named empty('') is pushed into the returned array","path":"TestCases/ch15/15.2/15.2.3/15.2.3.4/15.2.3.4-4-b-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNC8xNS4yLjMuNC00LWItNC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eU5hbWVzIC0gZWxlbWVudHMgb2YgdGhlIHJldHVybmVkIGFycmF5IGFyZSB3cml0YWJsZQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7ICJhIjogImEiIH07DQoNCiAgICAgICAgdmFyIHJlc3VsdCA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eU5hbWVzKG9iaik7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIHZhciBiZWZvcmVPdmVycmlkZSA9IChyZXN1bHRbMF0gPT09ICJhIik7DQogICAgICAgICAgICByZXN1bHRbMF0gPSAiYiI7DQogICAgICAgICAgICB2YXIgYWZ0ZXJPdmVycmlkZSA9IChyZXN1bHRbMF0gPT09ICJiIik7DQoNCiAgICAgICAgICAgIHJldHVybiBiZWZvcmVPdmVycmlkZSAmJiBhZnRlck92ZXJyaWRlOw0KICAgICAgICB9IGNhdGNoIChleCkgew0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.getOwnPropertyNames - elements of the returned array are writable","path":"TestCases/ch15/15.2/15.2.3/15.2.3.4/15.2.3.4-4-b-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNC8xNS4yLjMuNC00LWItNS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eU5hbWVzIC0gZWxlbWVudHMgb2YgdGhlIHJldHVybmVkIGFycmF5IGFyZSBlbnVtZXJhYmxlDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHsgImEiOiAiYSIgfTsNCg0KICAgICAgICB2YXIgcmVzdWx0ID0gT2JqZWN0LmdldE93blByb3BlcnR5TmFtZXMob2JqKTsNCg0KICAgICAgICBmb3IgKHZhciBwIGluIHJlc3VsdCkgew0KICAgICAgICAgICAgaWYgKHJlc3VsdFtwXSA9PT0gImEiKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.getOwnPropertyNames - elements of the returned array are enumerable","path":"TestCases/ch15/15.2/15.2.3/15.2.3.4/15.2.3.4-4-b-5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNC8xNS4yLjMuNC00LWItNi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5nZXRPd25Qcm9wZXJ0eU5hbWVzIC0gZWxlbWVudHMgb2YgdGhlIHJldHVybmVkIGFycmF5IGFyZSBjb25maWd1cmFibGUNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0geyAiYSI6ICJhIiB9Ow0KDQogICAgICAgIHZhciByZXN1bHQgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlOYW1lcyhvYmopOw0KDQogICAgICAgIHZhciBiZWZvcmVEZWxldGVkID0gKHJlc3VsdC5oYXNPd25Qcm9wZXJ0eSgiMCIpKTsNCiAgICAgICAgZGVsZXRlIHJlc3VsdFswXTsNCiAgICAgICAgdmFyIGFmdGVyRGVsZXRlZCA9IChyZXN1bHQuaGFzT3duUHJvcGVydHkoIjAiKSk7DQoNCiAgICAgICAgcmV0dXJuIGJlZm9yZURlbGV0ZWQgJiYgIWFmdGVyRGVsZXRlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.getOwnPropertyNames - elements of the returned array are configurable","path":"TestCases/ch15/15.2/15.2.3/15.2.3.4/15.2.3.4-4-b-6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMTEgR29vZ2xlLCBJbmMuICBBbGwgcmlnaHRzIHJlc2VydmVkLgovKioKICogT2JqZWN0LmdldE93blByb3BlcnRpZXMgYW5kIE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkgc2hvdWxkCiAqIGFncmVlIG9uIHdoYXQgdGhlIG93biBwcm9wZXJ0aWVzIGFyZS4KICoKICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNC9TMTUuMi4zLjRfQTFfVDEuanMKICogQGRlc2NyaXB0aW9uIENoZWNrIHRoYXQgYWxsIHRoZSBvd24gcHJvcGVydHkgbmFtZXMgcmVwb3J0ZWQgYnkKICogT2JqZWN0LmdldE93blByb3BlcnR5TmFtZXMgb24gYSBzdHJpY3QgZnVuY3Rpb24gYXJlIG5hbWVzIHRoYXQKICogaGFzT3duUHJvcGVydHkgYWdyZWVzIGFyZSBvd24gcHJvcGVydGllcy4KICogQG9ubHlTdHJpY3QKICovCgoidXNlIHN0cmljdCI7CmZ1bmN0aW9uIGZvbygpIHt9Cgp2YXIgbmFtZXMgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlOYW1lcyhmb28pOwpmb3IgKHZhciBpID0gMCwgbGVuID0gbmFtZXMubGVuZ3RoOyBpIDwgbGVuOyBpKyspIHsKICBpZiAoIWZvby5oYXNPd25Qcm9wZXJ0eShuYW1lc1tpXSkpIHsKICAgICRFUlJPUignUGhhbnRvbSBvd24gcHJvcGVydHk6ICcgKyBuYW1lc1tpXSk7CiAgfQp9Cg==","commentary":"Object.getOwnProperties and Object.prototype.hasOwnProperty should\nagree on what the own properties are.","description":"Check that all the own property names reported by\nObject.getOwnPropertyNames on a strict function are names that\nhasOwnProperty agrees are own properties.","onlyStrict":"","path":"TestCases/ch15/15.2/15.2.3/15.2.3.4/S15.2.3.4_A1_T1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNS8xNS4yLjMuNS0wLTEuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIG11c3QgZXhpc3QgYXMgYSBmdW5jdGlvbg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIGlmICh0eXBlb2YoT2JqZWN0LmNyZWF0ZSkgPT09ICJmdW5jdGlvbiIpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.create must exist as a function","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-0-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNS8xNS4yLjMuNS0wLTIuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIG11c3QgZXhpc3QgYXMgYSBmdW5jdGlvbiB0YWtpbmcgMiBwYXJhbWV0ZXJzDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgaWYgKE9iamVjdC5jcmVhdGUubGVuZ3RoID09PSAyKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.create must exist as a function taking 2 parameters","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-0-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNS8xNS4yLjMuNS0xLTEuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIHRocm93cyBUeXBlRXJyb3IgaWYgJ08nIGlzIHVuZGVmaW5lZA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5jcmVhdGUodW5kZWZpbmVkKTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIChlIGluc3RhbmNlb2YgVHlwZUVycm9yKTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.create throws TypeError if 'O' is undefined","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-1-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNS8xNS4yLjMuNS0xLTIuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIFR5cGVFcnJvciBpcyBub3QgdGhyb3duIGlmICdPJyBpcyBudWxsDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5jcmVhdGUobnVsbCk7DQogICAgICAgICAgICByZXR1cm4gdHJ1ZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.create TypeError is not thrown if 'O' is null","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-1-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNS8xNS4yLjMuNS0xLTMuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIHRocm93cyBUeXBlRXJyb3IgaWYgJ08nIGlzIGEgYm9vbGVhbiBwcmltaXRpdmUNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuY3JlYXRlKHRydWUpOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.create throws TypeError if 'O' is a boolean primitive","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-1-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNS8xNS4yLjMuNS0xLTQuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIHRocm93cyBUeXBlRXJyb3IgaWYgJ08nIGlzIGEgbnVtYmVyIHByaW1pdGl2ZQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5jcmVhdGUoMik7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiAoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcik7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.create throws TypeError if 'O' is a number primitive","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-1-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNS8xNS4yLjMuNS0xLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmNyZWF0ZSB0aHJvd3MgVHlwZUVycm9yIGlmIHR5cGUgb2YgZmlyc3QgcGFyYW0gaXMgbm90IE9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgdHJ5IHsNCiAgICAgIE9iamVjdC5jcmVhdGUoMCk7DQogICAgfQ0KICAgIGNhdGNoIChlKSB7DQogICAgICBpZiAoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikgew0KICAgICAgICByZXR1cm4gdHJ1ZTsNCiAgICAgIH0NCiAgICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.create throws TypeError if type of first param is not Object","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogY3JlYXRlIHNldHMgdGhlIFtbUHJvdG90eXBlXV0gb2YgdGhlIGNyZWF0ZWQgb2JqZWN0IHRvIGZpcnN0IHBhcmFtZXRlci4NCiAqIFRoaXMgY2FuIGJlIGNoZWNrZWQgdXNpbmcgaXNQcm90b3R5cGVPZiwgb3IgZ2V0UHJvdG90eXBlT2YuDQogKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNS8xNS4yLjMuNS0yLTEuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIGNyZWF0ZXMgbmV3IE9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgZnVuY3Rpb24gYmFzZSgpIHt9DQogICAgdmFyIGIgPSBuZXcgYmFzZSgpOw0KICAgIHZhciBwcm9wID0gbmV3IE9iamVjdCgpOw0KICAgIHZhciBkID0gT2JqZWN0LmNyZWF0ZShiKTsNCg0KICAgIGlmICh0eXBlb2YgZCA9PT0gJ29iamVjdCcpIHsNCiAgICAgIHJldHVybiB0cnVlOw0KICAgIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"create sets the [[Prototype]] of the created object to first parameter.\nThis can be checked using isPrototypeOf, or getPrototypeOf.","description":"Object.create creates new Object","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-2-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNS8xNS4yLjMuNS0yLTIuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gcmV0dXJuZWQgb2JqZWN0IGlzIGFuIGluc3RhbmNlIG9mIE9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG5ld09iaiA9IE9iamVjdC5jcmVhdGUoe30pOw0KICAgICAgICByZXR1cm4gbmV3T2JqIGluc3RhbmNlb2YgT2JqZWN0Ow0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.create - returned object is an instance of Object","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-2-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogY3JlYXRlIHNldHMgdGhlIFtbUHJvdG90eXBlXV0gb2YgdGhlIGNyZWF0ZWQgb2JqZWN0IHRvIGZpcnN0IHBhcmFtZXRlci4NCiAqIFRoaXMgY2FuIGJlIGNoZWNrZWQgdXNpbmcgaXNQcm90b3R5cGVPZiwgb3IgZ2V0UHJvdG90eXBlT2YuDQogKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNS8xNS4yLjMuNS0zLTEuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIHNldHMgdGhlIHByb3RvdHlwZSBvZiB0aGUgcGFzc2VkLWluIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgZnVuY3Rpb24gYmFzZSgpIHt9DQogICAgdmFyIGIgPSBuZXcgYmFzZSgpOw0KICAgIHZhciBkID0gT2JqZWN0LmNyZWF0ZShiKTsNCg0KICAgIGlmIChPYmplY3QuZ2V0UHJvdG90eXBlT2YoZCkgPT09IGIgJiYNCiAgICAgICAgYi5pc1Byb3RvdHlwZU9mKGQpID09PSB0cnVlKSB7DQogICAgICByZXR1cm4gdHJ1ZTsNCiAgICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"create sets the [[Prototype]] of the created object to first parameter.\nThis can be checked using isPrototypeOf, or getPrototypeOf.","description":"Object.create sets the prototype of the passed-in object","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-3-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogY3JlYXRlIHNldHMgdGhlIFtbUHJvdG90eXBlXV0gb2YgdGhlIGNyZWF0ZWQgb2JqZWN0IHRvIGZpcnN0IHBhcmFtZXRlci4NCiAqIFRoaXMgY2FuIGJlIGNoZWNrZWQgdXNpbmcgaXNQcm90b3R5cGVPZiwgb3IgZ2V0UHJvdG90eXBlT2YuDQogKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNS8xNS4yLjMuNS00LTEuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIHNldHMgdGhlIHByb3RvdHlwZSBvZiB0aGUgcGFzc2VkLWluIG9iamVjdCBhbmQgYWRkcyBuZXcgcHJvcGVydGllcw0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgZnVuY3Rpb24gYmFzZSgpIHt9DQogICAgdmFyIGIgPSBuZXcgYmFzZSgpOw0KICAgIHZhciBwcm9wID0gbmV3IE9iamVjdCgpOw0KICAgIHZhciBkID0gT2JqZWN0LmNyZWF0ZShiLHsgIngiOiB7dmFsdWU6IHRydWUsd3JpdGFibGU6IGZhbHNlfSwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ5Ijoge3ZhbHVlOiAic3RyIix3cml0YWJsZTogZmFsc2V9IH0pOw0KDQogICAgaWYgKE9iamVjdC5nZXRQcm90b3R5cGVPZihkKSA9PT0gYiAmJg0KICAgICAgICBiLmlzUHJvdG90eXBlT2YoZCkgPT09IHRydWUgJiYNCiAgICAgICAgZC54ID09PSB0cnVlICYmDQogICAgICAgIGQueSA9PT0gInN0ciIgJiYNCiAgICAgICAgYi54ID09PSB1bmRlZmluZWQgJiYNCiAgICAgICAgYi55ID09PSB1bmRlZmluZWQpIHsNCiAgICAgIHJldHVybiB0cnVlOw0KICAgIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"create sets the [[Prototype]] of the created object to first parameter.\nThis can be checked using isPrototypeOf, or getPrototypeOf.","description":"Object.create sets the prototype of the passed-in object and adds new properties","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNS8xNS4yLjMuNS00LTEwLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmNyZWF0ZSAtIGFyZ3VtZW50ICdQcm9wZXJ0aWVzJyBpcyB0aGUgTWF0aCBvYmplY3QgKDE1LjIuMy43IHN0ZXAgMikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciByZXN1bHQgPSBmYWxzZTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KE1hdGgsICJwcm9wIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmVzdWx0ID0gKHRoaXMgPT09IE1hdGgpOw0KICAgICAgICAgICAgICAgIHJldHVybiB7fTsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICB2YXIgbmV3T2JqID0gT2JqZWN0LmNyZWF0ZSh7fSwgTWF0aCk7DQogICAgICAgICAgICByZXR1cm4gcmVzdWx0ICYmIG5ld09iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIE1hdGgucHJvcDsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.create - argument 'Properties' is the Math object (15.2.3.7 step 2)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-10.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNS8xNS4yLjMuNS00LTEwMC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5jcmVhdGUgLSAnY29uZmlndXJhYmxlJyBwcm9wZXJ0eSBvZiBvbmUgcHJvcGVydHkgaW4gJ1Byb3BlcnRpZXMnIGlzIG5vdCBwcmVzZW50ICg4LjEwLjUgc3RlcCA0KQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG5ld09iaiA9IE9iamVjdC5jcmVhdGUoe30sIHsNCiAgICAgICAgICAgIHByb3A6IHsNCiAgICAgICAgICAgICAgICB2YWx1ZTogIm93bkRhdGFQcm9wZXJ0eSINCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIHJlc3VsdDEgPSBuZXdPYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCiAgICAgICAgZGVsZXRlIG5ld09iai5wcm9wOw0KICAgICAgICB2YXIgcmVzdWx0MiA9IG5ld09iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KDQogICAgICAgIHJldHVybiByZXN1bHQxID09PSB0cnVlICYmIHJlc3VsdDIgPT09IHRydWU7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.create - 'configurable' property of one property in 'Properties' is not present (8.10.5 step 4)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-100.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNS8xNS4yLjMuNS00LTEwMS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5jcmVhdGUgLSAnY29uZmlndXJhYmxlJyBwcm9wZXJ0eSBvZiBvbmUgcHJvcGVydHkgaW4gJ1Byb3BlcnRpZXMnIGlzIG93biBkYXRhIHByb3BlcnR5ICg4LjEwLjUgc3RlcCA0LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgbmV3T2JqID0gT2JqZWN0LmNyZWF0ZSh7fSwgew0KICAgICAgICAgICAgcHJvcDogew0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIHJlc3VsdDEgPSBuZXdPYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCiAgICAgICAgZGVsZXRlIG5ld09iai5wcm9wOw0KICAgICAgICB2YXIgcmVzdWx0MiA9IG5ld09iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KDQogICAgICAgIHJldHVybiByZXN1bHQxID09PSB0cnVlICYmIHJlc3VsdDIgPT09IHRydWU7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.create - 'configurable' property of one property in 'Properties' is own data property (8.10.5 step 4.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-101.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNS8xNS4yLjMuNS00LTEwMi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5jcmVhdGUgLSAnY29uZmlndXJhYmxlJyBwcm9wZXJ0eSBvZiBvbmUgcHJvcGVydHkgaW4gJ1Byb3BlcnRpZXMnIGlzIGFuIGluaGVyaXRlZCBkYXRhIHByb3BlcnR5ICg4LjEwLjUgc3RlcCA0LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICANCiAgICAgICAgdmFyIHByb3RvID0gew0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH07DQoNCiAgICAgICAgdmFyIENvbnN0cnVjdEZ1biA9IGZ1bmN0aW9uICgpIHsgfTsNCiAgICAgICAgQ29uc3RydWN0RnVuLnByb3RvdHlwZSA9IHByb3RvOw0KICAgICAgICB2YXIgZGVzY09iaiA9IG5ldyBDb25zdHJ1Y3RGdW4oKTsNCg0KICAgICAgICB2YXIgbmV3T2JqID0gT2JqZWN0LmNyZWF0ZSh7fSwgew0KICAgICAgICAgICAgcHJvcDogZGVzY09iaiANCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIHJlc3VsdDEgPSBuZXdPYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCiAgICAgICAgZGVsZXRlIG5ld09iai5wcm9wOw0KICAgICAgICB2YXIgcmVzdWx0MiA9IG5ld09iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KDQogICAgICAgIHJldHVybiByZXN1bHQxID09PSB0cnVlICYmIHJlc3VsdDIgPT09IGZhbHNlOw0KDQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.create - 'configurable' property of one property in 'Properties' is an inherited data property (8.10.5 step 4.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-102.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNS8xNS4yLjMuNS00LTEwMy5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5jcmVhdGUgLSAnY29uZmlndXJhYmxlJyBwcm9wZXJ0eSBvZiBvbmUgcHJvcGVydHkgaW4gJ1Byb3BlcnRpZXMnIGlzIG93biBkYXRhIHByb3BlcnR5IHRoYXQgb3ZlcnJpZGVzIGFuIGluaGVyaXRlZCBkYXRhIHByb3BlcnR5ICg4LjEwLjUgc3RlcCA0LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgcHJvdG8gPSB7DQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfTsNCg0KICAgICAgICB2YXIgQ29uc3RydWN0RnVuID0gZnVuY3Rpb24gKCkgeyB9Ow0KICAgICAgICBDb25zdHJ1Y3RGdW4ucHJvdG90eXBlID0gcHJvdG87DQogICAgICAgIHZhciBkZXNjT2JqID0gbmV3IENvbnN0cnVjdEZ1bigpOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShkZXNjT2JqLCAiY29uZmlndXJhYmxlIiwgew0KICAgICAgICAgICAgdmFsdWU6IGZhbHNlDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBuZXdPYmogPSBPYmplY3QuY3JlYXRlKHt9LCB7DQogICAgICAgICAgICBwcm9wOiBkZXNjT2JqIA0KICAgICAgICB9KTsNCiAgICAgICAgdmFyIHJlc3VsdDEgPSBuZXdPYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCiAgICAgICAgZGVsZXRlIG5ld09iai5wcm9wOw0KICAgICAgICB2YXIgcmVzdWx0MiA9IG5ld09iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KDQogICAgICAgIHJldHVybiByZXN1bHQxID09PSB0cnVlICYmIHJlc3VsdDIgPT09IHRydWU7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.create - 'configurable' property of one property in 'Properties' is own data property that overrides an inherited data property (8.10.5 step 4.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-103.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNS8xNS4yLjMuNS00LTEwNC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5jcmVhdGUgLSAnY29uZmlndXJhYmxlJyBwcm9wZXJ0eSBvZiBvbmUgcHJvcGVydHkgaW4gJ1Byb3BlcnRpZXMnIGlzIG93biBkYXRhIHByb3BlcnR5IHRoYXQgb3ZlcnJpZGVzIGFuIGluaGVyaXRlZCBhY2Nlc3NvciBwcm9wZXJ0eSAoOC4xMC41IHN0ZXAgNC5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHByb3RvID0ge307DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShwcm90bywgImNvbmZpZ3VyYWJsZSIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgQ29uc3RydWN0RnVuID0gZnVuY3Rpb24gKCkgeyB9Ow0KICAgICAgICBDb25zdHJ1Y3RGdW4ucHJvdG90eXBlID0gcHJvdG87DQogICAgICAgIHZhciBkZXNjT2JqID0gbmV3IENvbnN0cnVjdEZ1bigpOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShkZXNjT2JqLCAiY29uZmlndXJhYmxlIiwgew0KICAgICAgICAgICAgdmFsdWU6IGZhbHNlDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBuZXdPYmogPSBPYmplY3QuY3JlYXRlKHt9LCB7DQogICAgICAgICAgICBwcm9wOiBkZXNjT2JqIA0KICAgICAgICB9KTsNCiAgICAgICAgdmFyIHJlc3VsdDEgPSBuZXdPYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCiAgICAgICAgZGVsZXRlIG5ld09iai5wcm9wOw0KICAgICAgICB2YXIgcmVzdWx0MiA9IG5ld09iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KDQogICAgICAgIHJldHVybiByZXN1bHQxID09PSB0cnVlICYmIHJlc3VsdDIgPT09IHRydWU7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.create - 'configurable' property of one property in 'Properties' is own data property that overrides an inherited accessor property (8.10.5 step 4.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-104.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNS8xNS4yLjMuNS00LTEwNS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5jcmVhdGUgLSAnY29uZmlndXJhYmxlJyBwcm9wZXJ0eSBvZiBvbmUgcHJvcGVydHkgaW4gJ1Byb3BlcnRpZXMnIGlzIG93biBhY2Nlc3NvciBwcm9wZXJ0eSAoOC4xMC41IHN0ZXAgNC5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGRlc2NPYmogPSB7fTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGRlc2NPYmosICJjb25maWd1cmFibGUiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIG5ld09iaiA9IE9iamVjdC5jcmVhdGUoe30sIHsNCiAgICAgICAgICAgIHByb3A6IGRlc2NPYmogDQogICAgICAgIH0pOw0KICAgICAgICB2YXIgcmVzdWx0MSA9IG5ld09iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KICAgICAgICBkZWxldGUgbmV3T2JqLnByb3A7DQogICAgICAgIHZhciByZXN1bHQyID0gbmV3T2JqLmhhc093blByb3BlcnR5KCJwcm9wIik7DQoNCiAgICAgICAgcmV0dXJuIHJlc3VsdDEgPT09IHRydWUgJiYgcmVzdWx0MiA9PT0gZmFsc2U7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.create - 'configurable' property of one property in 'Properties' is own accessor property (8.10.5 step 4.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-105.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNS8xNS4yLjMuNS00LTEwNi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5jcmVhdGUgLSAnY29uZmlndXJhYmxlJyBwcm9wZXJ0eSBvZiBvbmUgcHJvcGVydHkgaW4gJ1Byb3BlcnRpZXMnIGlzIGFuIGluaGVyaXRlZCBhY2Nlc3NvciBwcm9wZXJ0eSAoOC4xMC41IHN0ZXAgNC5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHByb3RvID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHByb3RvLCAiY29uZmlndXJhYmxlIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBDb25zdHJ1Y3RGdW4gPSBmdW5jdGlvbiAoKSB7IH07DQogICAgICAgIENvbnN0cnVjdEZ1bi5wcm90b3R5cGUgPSBwcm90bzsNCiAgICAgICAgdmFyIGRlc2NPYmogPSBuZXcgQ29uc3RydWN0RnVuKCk7DQoNCiAgICAgICAgdmFyIG5ld09iaiA9IE9iamVjdC5jcmVhdGUoe30sIHsNCiAgICAgICAgICAgIHByb3A6IGRlc2NPYmogDQogICAgICAgIH0pOw0KICAgICAgICB2YXIgcmVzdWx0MSA9IG5ld09iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KICAgICAgICBkZWxldGUgbmV3T2JqLnByb3A7DQogICAgICAgIHZhciByZXN1bHQyID0gbmV3T2JqLmhhc093blByb3BlcnR5KCJwcm9wIik7DQoNCiAgICAgICAgcmV0dXJuIHJlc3VsdDEgPT09IHRydWUgJiYgcmVzdWx0MiA9PT0gZmFsc2U7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.create - 'configurable' property of one property in 'Properties' is an inherited accessor property (8.10.5 step 4.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-106.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNS8xNS4yLjMuNS00LTEwNy5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5jcmVhdGUgLSAnY29uZmlndXJhYmxlJyBwcm9wZXJ0eSBvZiBvbmUgcHJvcGVydHkgaW4gJ1Byb3BlcnRpZXMnIGlzIG93biBhY2Nlc3NvciBwcm9wZXJ0eSB0aGF0IG92ZXJyaWRlcyBhbiBpbmhlcml0ZWQgZGF0YSBwcm9wZXJ0eSAoOC4xMC41IHN0ZXAgNC5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHByb3RvID0gew0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH07DQoNCiAgICAgICAgdmFyIENvbnN0cnVjdEZ1biA9IGZ1bmN0aW9uICgpIHsgfTsNCiAgICAgICAgQ29uc3RydWN0RnVuLnByb3RvdHlwZSA9IHByb3RvOw0KICAgICAgICB2YXIgZGVzY09iaiA9IG5ldyBDb25zdHJ1Y3RGdW4oKTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoZGVzY09iaiwgImNvbmZpZ3VyYWJsZSIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIG5ld09iaiA9IE9iamVjdC5jcmVhdGUoe30sIHsNCiAgICAgICAgICAgIHByb3A6IGRlc2NPYmoNCiAgICAgICAgfSk7DQogICAgICAgIHZhciByZXN1bHQxID0gbmV3T2JqLmhhc093blByb3BlcnR5KCJwcm9wIik7DQogICAgICAgIGRlbGV0ZSBuZXdPYmoucHJvcDsNCiAgICAgICAgdmFyIHJlc3VsdDIgPSBuZXdPYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCg0KICAgICAgICByZXR1cm4gcmVzdWx0MSA9PT0gdHJ1ZSAmJiByZXN1bHQyID09PSB0cnVlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.create - 'configurable' property of one property in 'Properties' is own accessor property that overrides an inherited data property (8.10.5 step 4.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-107.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNS8xNS4yLjMuNS00LTEwOC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5jcmVhdGUgLSAnY29uZmlndXJhYmxlJyBwcm9wZXJ0eSBvZiBvbmUgcHJvcGVydHkgaW4gJ1Byb3BlcnRpZXMnIGlzIG93biBhY2Nlc3NvciBwcm9wZXJ0eSB0aGF0IG92ZXJyaWRlcyBhbiBpbmhlcml0ZWQgYWNjZXNzb3IgcHJvcGVydHkgKDguMTAuNSBzdGVwIDQuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBwcm90byA9IHt9Ow0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkocHJvdG8sICJjb25maWd1cmFibGUiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIENvbnN0cnVjdEZ1biA9IGZ1bmN0aW9uICgpIHsgfTsNCiAgICAgICAgQ29uc3RydWN0RnVuLnByb3RvdHlwZSA9IHByb3RvOw0KICAgICAgICB2YXIgZGVzY09iaiA9IG5ldyBDb25zdHJ1Y3RGdW4oKTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoZGVzY09iaiwgImNvbmZpZ3VyYWJsZSIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIG5ld09iaiA9IE9iamVjdC5jcmVhdGUoe30sIHsNCiAgICAgICAgICAgIHByb3A6IGRlc2NPYmogDQogICAgICAgIH0pOw0KICAgICAgICB2YXIgcmVzdWx0MSA9IG5ld09iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KICAgICAgICBkZWxldGUgbmV3T2JqLnByb3A7DQogICAgICAgIHZhciByZXN1bHQyID0gbmV3T2JqLmhhc093blByb3BlcnR5KCJwcm9wIik7DQoNCiAgICAgICAgcmV0dXJuIHJlc3VsdDEgPT09IHRydWUgJiYgcmVzdWx0MiA9PT0gdHJ1ZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.create - 'configurable' property of one property in 'Properties' is own accessor property that overrides an inherited accessor property (8.10.5 step 4.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-108.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNS8xNS4yLjMuNS00LTEwOS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5jcmVhdGUgLSAnY29uZmlndXJhYmxlJyBwcm9wZXJ0eSBvZiBvbmUgcHJvcGVydHkgaW4gJ1Byb3BlcnRpZXMnIGlzIG93biBhY2Nlc3NvciBwcm9wZXJ0eSB3aXRob3V0IGEgZ2V0IGZ1bmN0aW9uICg4LjEwLjUgc3RlcCA0LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgZGVzY09iaiA9IHt9Ow0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoZGVzY09iaiwgImNvbmZpZ3VyYWJsZSIsIHsNCiAgICAgICAgICAgIHNldDogZnVuY3Rpb24gKCkgeyB9DQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBuZXdPYmogPSBPYmplY3QuY3JlYXRlKHt9LCB7DQogICAgICAgICAgICBwcm9wOiBkZXNjT2JqIA0KICAgICAgICB9KTsNCiAgICAgICAgdmFyIHJlc3VsdDEgPSBuZXdPYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCiAgICAgICAgZGVsZXRlIG5ld09iai5wcm9wOw0KICAgICAgICB2YXIgcmVzdWx0MiA9IG5ld09iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KDQogICAgICAgIHJldHVybiByZXN1bHQxID09PSB0cnVlICYmIHJlc3VsdDIgPT09IHRydWU7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.create - 'configurable' property of one property in 'Properties' is own accessor property without a get function (8.10.5 step 4.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-109.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNS8xNS4yLjMuNS00LTExLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmNyZWF0ZSAtIGFyZ3VtZW50ICdQcm9wZXJ0aWVzJyBpcyBhIERhdGUgb2JqZWN0ICgxNS4yLjMuNyBzdGVwIDIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgcHJvcHMgPSBuZXcgRGF0ZSgpOw0KICAgICAgICB2YXIgcmVzdWx0ID0gZmFsc2U7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHByb3BzLCAicHJvcCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJlc3VsdCA9IHRoaXMgaW5zdGFuY2VvZiBEYXRlOw0KICAgICAgICAgICAgICAgIHJldHVybiB7fTsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KICAgICAgICB2YXIgbmV3T2JqID0gT2JqZWN0LmNyZWF0ZSh7fSwgcHJvcHMpOw0KICAgICAgICByZXR1cm4gcmVzdWx0ICYmIG5ld09iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.create - argument 'Properties' is a Date object (15.2.3.7 step 2)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-11.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNS8xNS4yLjMuNS00LTExMC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5jcmVhdGUgLSAnY29uZmlndXJhYmxlJyBwcm9wZXJ0eSBvZiBvbmUgcHJvcGVydHkgaW4gJ1Byb3BlcnRpZXMnIGlzIG93biBhY2Nlc3NvciBwcm9wZXJ0eSB3aXRob3V0IGEgZ2V0IGZ1bmN0aW9uLCB3aGljaCBvdmVycmlkZXMgYW4gaW5oZXJpdGVkIGFjY2Vzc29yIHByb3BlcnR5ICg4LjEwLjUgc3RlcCA0LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgcHJvdG8gPSB7fTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHByb3RvLCAiY29uZmlndXJhYmxlIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBDb25zdHJ1Y3RGdW4gPSBmdW5jdGlvbiAoKSB7IH07DQogICAgICAgIENvbnN0cnVjdEZ1bi5wcm90b3R5cGUgPSBwcm90bzsNCiAgICAgICAgdmFyIGRlc2NPYmogPSBuZXcgQ29uc3RydWN0RnVuKCk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGRlc2NPYmosICJjb25maWd1cmFibGUiLCB7DQogICAgICAgICAgICBzZXQ6IGZ1bmN0aW9uICgpIHsgfQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgbmV3T2JqID0gT2JqZWN0LmNyZWF0ZSh7fSwgew0KICAgICAgICAgICAgcHJvcDogZGVzY09iaiANCiAgICAgICAgfSk7DQogICAgICAgIHZhciByZXN1bHQxID0gbmV3T2JqLmhhc093blByb3BlcnR5KCJwcm9wIik7DQogICAgICAgIGRlbGV0ZSBuZXdPYmoucHJvcDsNCiAgICAgICAgdmFyIHJlc3VsdDIgPSBuZXdPYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCg0KICAgICAgICByZXR1cm4gcmVzdWx0MSA9PT0gdHJ1ZSAmJiByZXN1bHQyID09PSB0cnVlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.create - 'configurable' property of one property in 'Properties' is own accessor property without a get function, which overrides an inherited accessor property (8.10.5 step 4.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-110.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNS8xNS4yLjMuNS00LTExMS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5jcmVhdGUgLSAnY29uZmlndXJhYmxlJyBwcm9wZXJ0eSBvZiBvbmUgcHJvcGVydHkgaW4gJ1Byb3BlcnRpZXMnIGlzIGFuIGluaGVyaXRlZCBhY2Nlc3NvciBwcm9wZXJ0eSB3aXRob3V0IGEgZ2V0IGZ1bmN0aW9uICg4LjEwLjUgc3RlcCA0LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgcHJvdG8gPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkocHJvdG8sICJjb25maWd1cmFibGUiLCB7DQogICAgICAgICAgICBzZXQ6IGZ1bmN0aW9uICgpIHsgfQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgQ29uc3RydWN0RnVuID0gZnVuY3Rpb24gKCkgeyB9Ow0KICAgICAgICBDb25zdHJ1Y3RGdW4ucHJvdG90eXBlID0gcHJvdG87DQogICAgICAgIHZhciBkZXNjT2JqID0gbmV3IENvbnN0cnVjdEZ1bigpOw0KDQogICAgICAgIHZhciBuZXdPYmogPSBPYmplY3QuY3JlYXRlKHt9LCB7DQogICAgICAgICAgICBwcm9wOiBkZXNjT2JqIA0KICAgICAgICB9KTsNCiAgICAgICAgdmFyIHJlc3VsdDEgPSBuZXdPYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCiAgICAgICAgZGVsZXRlIG5ld09iai5wcm9wOw0KICAgICAgICB2YXIgcmVzdWx0MiA9IG5ld09iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KDQogICAgICAgIHJldHVybiByZXN1bHQxID09PSB0cnVlICYmIHJlc3VsdDIgPT09IHRydWU7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.create - 'configurable' property of one property in 'Properties' is an inherited accessor property without a get function (8.10.5 step 4.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-111.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNS8xNS4yLjMuNS00LTExMi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5jcmVhdGUgLSBvbmUgcHJvcGVydHkgaW4gJ1Byb3BlcnRpZXMnIGlzIGEgRnVuY3Rpb24gb2JqZWN0IHdoaWNoIGltcGxlbWVudHMgaXRzIG93biBbW0dldF1dIG1ldGhvZCB0byBhY2Nlc3MgdGhlICdjb25maWd1cmFibGUnIHByb3BlcnR5ICg4LjEwLjUgc3RlcCA0LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgZGVzY09iaiA9IGZ1bmN0aW9uICgpIHsgfTsNCg0KICAgICAgICBkZXNjT2JqLmNvbmZpZ3VyYWJsZSA9IHRydWU7DQoNCiAgICAgICAgdmFyIG5ld09iaiA9IE9iamVjdC5jcmVhdGUoe30sIHsNCiAgICAgICAgICAgIHByb3A6IGRlc2NPYmogDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciByZXN1bHQxID0gbmV3T2JqLmhhc093blByb3BlcnR5KCJwcm9wIik7DQogICAgICAgIGRlbGV0ZSBuZXdPYmoucHJvcDsNCiAgICAgICAgdmFyIHJlc3VsdDIgPSBuZXdPYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCg0KICAgICAgICByZXR1cm4gcmVzdWx0MSA9PT0gdHJ1ZSAmJiByZXN1bHQyID09PSBmYWxzZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.create - one property in 'Properties' is a Function object which implements its own [[Get]] method to access the 'configurable' property (8.10.5 step 4.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-112.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNS8xNS4yLjMuNS00LTExMy5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5jcmVhdGUgLSBvbmUgcHJvcGVydHkgaW4gJ1Byb3BlcnRpZXMnIGlzIGFuIEFycmF5IG9iamVjdCB0aGF0IHVzZXMgT2JqZWN0J3MgW1tHZXRdXSBtZXRob2QgdG8gYWNjZXNzIHRoZSAnY29uZmlndXJhYmxlJyBwcm9wZXJ0eSAoOC4xMC41IHN0ZXAgNC5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGRlc2NPYmogPSBbXTsNCg0KICAgICAgICBkZXNjT2JqLmNvbmZpZ3VyYWJsZSA9IHRydWU7DQoNCiAgICAgICAgdmFyIG5ld09iaiA9IE9iamVjdC5jcmVhdGUoe30sIHsNCiAgICAgICAgICAgIHByb3A6IGRlc2NPYmogDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciByZXN1bHQxID0gbmV3T2JqLmhhc093blByb3BlcnR5KCJwcm9wIik7DQogICAgICAgIGRlbGV0ZSBuZXdPYmoucHJvcDsNCiAgICAgICAgdmFyIHJlc3VsdDIgPSBuZXdPYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCg0KICAgICAgICByZXR1cm4gcmVzdWx0MSA9PT0gdHJ1ZSAmJiByZXN1bHQyID09PSBmYWxzZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.create - one property in 'Properties' is an Array object that uses Object's [[Get]] method to access the 'configurable' property (8.10.5 step 4.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-113.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNS8xNS4yLjMuNS00LTExNC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5jcmVhdGUgLSBvbmUgcHJvcGVydHkgaW4gJ1Byb3BlcnRpZXMnIGlzIGEgU3RyaW5nIG9iamVjdCB0aGF0IHVzZXMgT2JqZWN0J3MgW1tHZXRdXSBtZXRob2QgdG8gYWNjZXNzIHRoZSAnY29uZmlndXJhYmxlJyBwcm9wZXJ0eSAoOC4xMC41IHN0ZXAgNC5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGRlc2NPYmogPSBuZXcgU3RyaW5nKCk7DQoNCiAgICAgICAgZGVzY09iai5jb25maWd1cmFibGUgPSB0cnVlOw0KDQogICAgICAgIHZhciBuZXdPYmogPSBPYmplY3QuY3JlYXRlKHt9LCB7DQogICAgICAgICAgICBwcm9wOiBkZXNjT2JqDQogICAgICAgIH0pOw0KICAgICAgICB2YXIgcmVzdWx0MSA9IG5ld09iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KICAgICAgICBkZWxldGUgbmV3T2JqLnByb3A7DQogICAgICAgIHZhciByZXN1bHQyID0gbmV3T2JqLmhhc093blByb3BlcnR5KCJwcm9wIik7DQoNCiAgICAgICAgcmV0dXJuIHJlc3VsdDEgPT09IHRydWUgJiYgcmVzdWx0MiA9PT0gZmFsc2U7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.create - one property in 'Properties' is a String object that uses Object's [[Get]] method to access the 'configurable' property (8.10.5 step 4.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-114.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNS8xNS4yLjMuNS00LTExNS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5jcmVhdGUgLSBvbmUgcHJvcGVydHkgaW4gJ1Byb3BlcnRpZXMnIGlzIGEgQm9vbGVhbiBvYmplY3QgdGhhdCB1c2VzIE9iamVjdCdzIFtbR2V0XV0gbWV0aG9kIHRvIGFjY2VzcyB0aGUgJ2NvbmZpZ3VyYWJsZScgcHJvcGVydHkgKDguMTAuNSBzdGVwIDQuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBkZXNjT2JqID0gbmV3IEJvb2xlYW4oZmFsc2UpOw0KDQogICAgICAgIGRlc2NPYmouY29uZmlndXJhYmxlID0gdHJ1ZTsNCg0KICAgICAgICB2YXIgbmV3T2JqID0gT2JqZWN0LmNyZWF0ZSh7fSwgew0KICAgICAgICAgICAgcHJvcDogZGVzY09iaiANCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIHJlc3VsdDEgPSBuZXdPYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCiAgICAgICAgZGVsZXRlIG5ld09iai5wcm9wOw0KICAgICAgICB2YXIgcmVzdWx0MiA9IG5ld09iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KDQogICAgICAgIHJldHVybiByZXN1bHQxID09PSB0cnVlICYmIHJlc3VsdDIgPT09IGZhbHNlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.create - one property in 'Properties' is a Boolean object that uses Object's [[Get]] method to access the 'configurable' property (8.10.5 step 4.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-115.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNS8xNS4yLjMuNS00LTExNi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5jcmVhdGUgLSBvbmUgcHJvcGVydHkgaW4gJ1Byb3BlcnRpZXMnIGlzIGEgTnVtYmVyIG9iamVjdCB0aGF0IHVzZXMgT2JqZWN0J3MgW1tHZXRdXSBtZXRob2QgdG8gYWNjZXNzIHRoZSAnY29uZmlndXJhYmxlJyBwcm9wZXJ0eSAoOC4xMC41IHN0ZXAgNC5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGRlc2NPYmogPSBuZXcgTnVtYmVyKC05KTsNCg0KICAgICAgICBkZXNjT2JqLmNvbmZpZ3VyYWJsZSA9IHRydWU7DQoNCiAgICAgICAgdmFyIG5ld09iaiA9IE9iamVjdC5jcmVhdGUoe30sIHsNCiAgICAgICAgICAgIHByb3A6IGRlc2NPYmogDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciByZXN1bHQxID0gbmV3T2JqLmhhc093blByb3BlcnR5KCJwcm9wIik7DQogICAgICAgIGRlbGV0ZSBuZXdPYmoucHJvcDsNCiAgICAgICAgdmFyIHJlc3VsdDIgPSBuZXdPYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCg0KICAgICAgICByZXR1cm4gcmVzdWx0MSA9PT0gdHJ1ZSAmJiByZXN1bHQyID09PSBmYWxzZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.create - one property in 'Properties' is a Number object that uses Object's [[Get]] method to access the 'configurable' property (8.10.5 step 4.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-116.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNS8xNS4yLjMuNS00LTExNy5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5jcmVhdGUgLSBvbmUgcHJvcGVydHkgaW4gJ1Byb3BlcnRpZXMnIGlzIHRoZSBNYXRoIG9iamVjdCB0aGF0IHVzZXMgT2JqZWN0J3MgW1tHZXRdXSBtZXRob2QgdG8gYWNjZXNzIHRoZSAnY29uZmlndXJhYmxlJyBwcm9wZXJ0eSAoOC4xMC41IHN0ZXAgNC5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE1hdGguY29uZmlndXJhYmxlID0gdHJ1ZTsNCg0KICAgICAgICAgICAgdmFyIG5ld09iaiA9IE9iamVjdC5jcmVhdGUoe30sIHsNCiAgICAgICAgICAgICAgICBwcm9wOiBNYXRoDQogICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgdmFyIHJlc3VsdDEgPSBuZXdPYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCiAgICAgICAgICAgIGRlbGV0ZSBuZXdPYmoucHJvcDsNCiAgICAgICAgICAgIHZhciByZXN1bHQyID0gbmV3T2JqLmhhc093blByb3BlcnR5KCJwcm9wIik7DQoNCiAgICAgICAgICAgIHJldHVybiByZXN1bHQxID09PSB0cnVlICYmIHJlc3VsdDIgPT09IGZhbHNlOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIE1hdGguY29uZmlndXJhYmxlOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.create - one property in 'Properties' is the Math object that uses Object's [[Get]] method to access the 'configurable' property (8.10.5 step 4.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-117.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNS8xNS4yLjMuNS00LTExOC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5jcmVhdGUgLSBvbmUgcHJvcGVydHkgaW4gJ1Byb3BlcnRpZXMnIGlzIGEgRGF0ZSBvYmplY3QgdGhhdCB1c2VzIE9iamVjdCdzIFtbR2V0XV0gbWV0aG9kIHRvIGFjY2VzcyB0aGUgJ2NvbmZpZ3VyYWJsZScgcHJvcGVydHkgKDguMTAuNSBzdGVwIDQuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBkZXNjT2JqID0gbmV3IERhdGUoKTsNCg0KICAgICAgICBkZXNjT2JqLmNvbmZpZ3VyYWJsZSA9IHRydWU7DQoNCiAgICAgICAgdmFyIG5ld09iaiA9IE9iamVjdC5jcmVhdGUoe30sIHsNCiAgICAgICAgICAgIHByb3A6IGRlc2NPYmogDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciByZXN1bHQxID0gbmV3T2JqLmhhc093blByb3BlcnR5KCJwcm9wIik7DQogICAgICAgIGRlbGV0ZSBuZXdPYmoucHJvcDsNCiAgICAgICAgdmFyIHJlc3VsdDIgPSBuZXdPYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCg0KICAgICAgICByZXR1cm4gcmVzdWx0MSA9PT0gdHJ1ZSAmJiByZXN1bHQyID09PSBmYWxzZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.create - one property in 'Properties' is a Date object that uses Object's [[Get]] method to access the 'configurable' property (8.10.5 step 4.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-118.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNS8xNS4yLjMuNS00LTExOS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5jcmVhdGUgLSBvbmUgcHJvcGVydHkgaW4gJ1Byb3BlcnRpZXMnIGlzIGEgRGF0ZSBvYmplY3QgdGhhdCB1c2VzIE9iamVjdCdzIFtbR2V0XV0gbWV0aG9kIHRvIGFjY2VzcyB0aGUgJ2NvbmZpZ3VyYWJsZScgcHJvcGVydHkgKDguMTAuNSBzdGVwIDQuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBkZXNjT2JqID0gbmV3IFJlZ0V4cCgpOw0KDQogICAgICAgIGRlc2NPYmouY29uZmlndXJhYmxlID0gdHJ1ZTsNCg0KICAgICAgICB2YXIgbmV3T2JqID0gT2JqZWN0LmNyZWF0ZSh7fSwgew0KICAgICAgICAgICAgcHJvcDogZGVzY09iaiANCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIHJlc3VsdDEgPSBuZXdPYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCiAgICAgICAgZGVsZXRlIG5ld09iai5wcm9wOw0KICAgICAgICB2YXIgcmVzdWx0MiA9IG5ld09iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KDQogICAgICAgIHJldHVybiByZXN1bHQxID09PSB0cnVlICYmIHJlc3VsdDIgPT09IGZhbHNlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.create - one property in 'Properties' is a Date object that uses Object's [[Get]] method to access the 'configurable' property (8.10.5 step 4.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-119.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNS8xNS4yLjMuNS00LTEyLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmNyZWF0ZSAtIGFyZ3VtZW50ICdQcm9wZXJ0aWVzJyBpcyBhIFJlZ0V4cCBvYmplY3QgKDE1LjIuMy43IHN0ZXAgMikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBwcm9wcyA9IG5ldyBSZWdFeHAoKTsNCiAgICAgICAgdmFyIHJlc3VsdCA9IGZhbHNlOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShwcm9wcywgInByb3AiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXN1bHQgPSB0aGlzIGluc3RhbmNlb2YgUmVnRXhwOw0KICAgICAgICAgICAgICAgIHJldHVybiB7fTsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KICAgICAgICB2YXIgbmV3T2JqID0gT2JqZWN0LmNyZWF0ZSh7fSwgcHJvcHMpOw0KICAgICAgICByZXR1cm4gcmVzdWx0ICYmIG5ld09iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.create - argument 'Properties' is a RegExp object (15.2.3.7 step 2)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-12.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNS8xNS4yLjMuNS00LTEyMC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5jcmVhdGUgLSBvbmUgcHJvcGVydHkgaW4gJ1Byb3BlcnRpZXMnIGlzIHRoZSBKU09OIG9iamVjdCB0aGF0IHVzZXMgT2JqZWN0J3MgW1tHZXRdXSBtZXRob2QgdG8gYWNjZXNzIHRoZSAnY29uZmlndXJhYmxlJyBwcm9wZXJ0eSAoOC4xMC41IHN0ZXAgNC5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIEpTT04uY29uZmlndXJhYmxlID0gdHJ1ZTsNCg0KICAgICAgICAgICAgdmFyIG5ld09iaiA9IE9iamVjdC5jcmVhdGUoe30sIHsNCiAgICAgICAgICAgICAgICBwcm9wOiBKU09OIA0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgIHZhciByZXN1bHQxID0gbmV3T2JqLmhhc093blByb3BlcnR5KCJwcm9wIik7DQogICAgICAgICAgICBkZWxldGUgbmV3T2JqLnByb3A7DQogICAgICAgICAgICB2YXIgcmVzdWx0MiA9IG5ld09iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KDQogICAgICAgICAgICByZXR1cm4gcmVzdWx0MSA9PT0gdHJ1ZSAmJiByZXN1bHQyID09PSBmYWxzZTsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBKU09OLmNvbmZpZ3VyYWJsZTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.create - one property in 'Properties' is the JSON object that uses Object's [[Get]] method to access the 'configurable' property (8.10.5 step 4.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-120.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNS8xNS4yLjMuNS00LTEyMS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5jcmVhdGUgLSBvbmUgcHJvcGVydHkgaW4gJ1Byb3BlcnRpZXMnIGlzIGFuIEVycm9yIG9iamVjdCB0aGF0IHVzZXMgT2JqZWN0J3MgW1tHZXRdXSBtZXRob2QgdG8gYWNjZXNzIHRoZSAnY29uZmlndXJhYmxlJyBwcm9wZXJ0eSAoOC4xMC41IHN0ZXAgNC5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGRlc2NPYmogPSBuZXcgRXJyb3IoKTsNCg0KICAgICAgICBkZXNjT2JqLmNvbmZpZ3VyYWJsZSA9IHRydWU7DQoNCiAgICAgICAgdmFyIG5ld09iaiA9IE9iamVjdC5jcmVhdGUoe30sIHsNCiAgICAgICAgICAgIHByb3A6IGRlc2NPYmogDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciByZXN1bHQxID0gbmV3T2JqLmhhc093blByb3BlcnR5KCJwcm9wIik7DQogICAgICAgIGRlbGV0ZSBuZXdPYmoucHJvcDsNCiAgICAgICAgdmFyIHJlc3VsdDIgPSBuZXdPYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCg0KICAgICAgICByZXR1cm4gcmVzdWx0MSA9PT0gdHJ1ZSAmJiByZXN1bHQyID09PSBmYWxzZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.create - one property in 'Properties' is an Error object that uses Object's [[Get]] method to access the 'configurable' property (8.10.5 step 4.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-121.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNS8xNS4yLjMuNS00LTEyMi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5jcmVhdGUgLSBvbmUgcHJvcGVydHkgaW4gJ1Byb3BlcnRpZXMnIGlzIGFuIEFyZ3VtZW50cyBvYmplY3Qgd2hpY2ggaW1wbGVtZW50cyBpdHMgb3duIFtbR2V0XV0gbWV0aG9kIHRvIGFjY2VzcyB0aGUgJ2NvbmZpZ3VyYWJsZScgcHJvcGVydHkgKDguMTAuNSBzdGVwIDQuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhcmdPYmogPSAoZnVuY3Rpb24gKCkgeyByZXR1cm4gYXJndW1lbnRzOyB9KSgpOw0KDQogICAgICAgIGFyZ09iai5jb25maWd1cmFibGUgPSB0cnVlOw0KDQogICAgICAgIHZhciBuZXdPYmogPSBPYmplY3QuY3JlYXRlKHt9LCB7DQogICAgICAgICAgICBwcm9wOiBhcmdPYmoNCiAgICAgICAgfSk7DQogICAgICAgIHZhciByZXN1bHQxID0gbmV3T2JqLmhhc093blByb3BlcnR5KCJwcm9wIik7DQogICAgICAgIGRlbGV0ZSBuZXdPYmoucHJvcDsNCiAgICAgICAgdmFyIHJlc3VsdDIgPSBuZXdPYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCg0KICAgICAgICByZXR1cm4gcmVzdWx0MSA9PT0gdHJ1ZSAmJiByZXN1bHQyID09PSBmYWxzZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.create - one property in 'Properties' is an Arguments object which implements its own [[Get]] method to access the 'configurable' property (8.10.5 step 4.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-122.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNS8xNS4yLjMuNS00LTEyNC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5jcmVhdGUgLSBvbmUgcHJvcGVydHkgaW4gJ1Byb3BlcnRpZXMnIGlzIHRoZSBnbG9iYWwgb2JqZWN0IHRoYXQgdXNlcyBPYmplY3QncyBbW0dldF1dIG1ldGhvZCB0byBhY2Nlc3MgdGhlICdjb25maWd1cmFibGUnIHByb3BlcnR5ICg4LjEwLjUgc3RlcCA0LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgZm5HbG9iYWxPYmplY3QoKS5jb25maWd1cmFibGUgPSB0cnVlOw0KDQogICAgICAgICAgICB2YXIgbmV3T2JqID0gT2JqZWN0LmNyZWF0ZSh7fSwgew0KICAgICAgICAgICAgICAgIHByb3A6IGZuR2xvYmFsT2JqZWN0KCkgDQogICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgdmFyIHJlc3VsdDEgPSBuZXdPYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCiAgICAgICAgICAgIGRlbGV0ZSBuZXdPYmoucHJvcDsNCiAgICAgICAgICAgIHZhciByZXN1bHQyID0gbmV3T2JqLmhhc093blByb3BlcnR5KCJwcm9wIik7DQoNCiAgICAgICAgICAgIHJldHVybiByZXN1bHQxID09PSB0cnVlICYmIHJlc3VsdDIgPT09IGZhbHNlOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIGZuR2xvYmFsT2JqZWN0KCkuY29uZmlndXJhYmxlOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.create - one property in 'Properties' is the global object that uses Object's [[Get]] method to access the 'configurable' property (8.10.5 step 4.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-124.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNS8xNS4yLjMuNS00LTEyNS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5jcmVhdGUgLSAnY29uZmlndXJhYmxlJyBwcm9wZXJ0eSBvZiBvbmUgcHJvcGVydHkgaW4gJ1Byb3BlcnRpZXMnIGlzIHVuZGVmaW5lZCAoOC4xMC41IHN0ZXAgNC5iKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG5ld09iaiA9IE9iamVjdC5jcmVhdGUoe30sIHsNCiAgICAgICAgICAgIHByb3A6IHsNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHVuZGVmaW5lZA0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgcmVzdWx0MSA9IG5ld09iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KICAgICAgICBkZWxldGUgbmV3T2JqLnByb3A7DQogICAgICAgIHZhciByZXN1bHQyID0gbmV3T2JqLmhhc093blByb3BlcnR5KCJwcm9wIik7DQoNCiAgICAgICAgcmV0dXJuIHJlc3VsdDEgPT09IHRydWUgJiYgcmVzdWx0MiA9PT0gdHJ1ZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.create - 'configurable' property of one property in 'Properties' is undefined (8.10.5 step 4.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-125.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNS8xNS4yLjMuNS00LTEyNi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5jcmVhdGUgLSAnY29uZmlndXJhYmxlJyBwcm9wZXJ0eSBvZiBvbmUgcHJvcGVydHkgaW4gJ1Byb3BlcnRpZXMnIGlzIG51bGwgKDguMTAuNSBzdGVwIDQuYikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBuZXdPYmogPSBPYmplY3QuY3JlYXRlKHt9LCB7DQogICAgICAgICAgICBwcm9wOiB7DQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiBudWxsDQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBiZWZvcmVEZWxldGVkID0gbmV3T2JqLmhhc093blByb3BlcnR5KCJwcm9wIik7DQoNCiAgICAgICAgZGVsZXRlIG5ld09iai5wcm9wOw0KDQogICAgICAgIHZhciBhZnRlckRlbGV0ZWQgPSBuZXdPYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCg0KICAgICAgICByZXR1cm4gYmVmb3JlRGVsZXRlZCA9PT0gdHJ1ZSAmJiBhZnRlckRlbGV0ZWQgPT09IHRydWU7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.create - 'configurable' property of one property in 'Properties' is null (8.10.5 step 4.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-126.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNS8xNS4yLjMuNS00LTEyNy5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5jcmVhdGUgLSAnY29uZmlndXJhYmxlJyBwcm9wZXJ0eSBvZiBvbmUgcHJvcGVydHkgaW4gJ1Byb3BlcnRpZXMnIGlzIHRydWUgKDguMTAuNSBzdGVwIDQuYikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBuZXdPYmogPSBPYmplY3QuY3JlYXRlKHt9LCB7DQogICAgICAgICAgICBwcm9wOiB7DQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBiZWZvcmVEZWxldGVkID0gbmV3T2JqLmhhc093blByb3BlcnR5KCJwcm9wIik7DQoNCiAgICAgICAgZGVsZXRlIG5ld09iai5wcm9wOw0KDQogICAgICAgIHZhciBhZnRlckRlbGV0ZWQgPSBuZXdPYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCg0KICAgICAgICByZXR1cm4gYmVmb3JlRGVsZXRlZCA9PT0gdHJ1ZSAmJiBhZnRlckRlbGV0ZWQgPT09IGZhbHNlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.create - 'configurable' property of one property in 'Properties' is true (8.10.5 step 4.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-127.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNS8xNS4yLjMuNS00LTEyOC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5jcmVhdGUgLSAnY29uZmlndXJhYmxlJyBwcm9wZXJ0eSBvZiBvbmUgcHJvcGVydHkgaW4gJ1Byb3BlcnRpZXMnIGlzIGZhbHNlICg4LjEwLjUgc3RlcCA0LmIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgbmV3T2JqID0gT2JqZWN0LmNyZWF0ZSh7fSwgew0KICAgICAgICAgICAgcHJvcDogew0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIGJlZm9yZURlbGV0ZWQgPSBuZXdPYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCg0KICAgICAgICBkZWxldGUgbmV3T2JqLnByb3A7DQoNCiAgICAgICAgdmFyIGFmdGVyRGVsZXRlZCA9IG5ld09iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KDQogICAgICAgIHJldHVybiBiZWZvcmVEZWxldGVkID09PSB0cnVlICYmIGFmdGVyRGVsZXRlZCA9PT0gdHJ1ZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.create - 'configurable' property of one property in 'Properties' is false (8.10.5 step 4.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-128.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNS8xNS4yLjMuNS00LTEyOS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5jcmVhdGUgLSAnY29uZmlndXJhYmxlJyBwcm9wZXJ0eSBvZiBvbmUgcHJvcGVydHkgaW4gJ1Byb3BlcnRpZXMnIGlzIDAgKDguMTAuNSBzdGVwIDQuYikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBuZXdPYmogPSBPYmplY3QuY3JlYXRlKHt9LCB7DQogICAgICAgICAgICBwcm9wOiB7DQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiAwDQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBiZWZvcmVEZWxldGVkID0gbmV3T2JqLmhhc093blByb3BlcnR5KCJwcm9wIik7DQoNCiAgICAgICAgZGVsZXRlIG5ld09iai5wcm9wOw0KDQogICAgICAgIHZhciBhZnRlckRlbGV0ZWQgPSBuZXdPYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCg0KICAgICAgICByZXR1cm4gYmVmb3JlRGVsZXRlZCA9PT0gdHJ1ZSAmJiBhZnRlckRlbGV0ZWQgPT09IHRydWU7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.create - 'configurable' property of one property in 'Properties' is 0 (8.10.5 step 4.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-129.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNS8xNS4yLjMuNS00LTEzLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmNyZWF0ZSAtIGFyZ3VtZW50ICdQcm9wZXJ0aWVzJyBpcyB0aGUgSlNPTiBvYmplY3QgKDE1LjIuMy43IHN0ZXAgMikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciByZXN1bHQgPSBmYWxzZTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoSlNPTiwgInByb3AiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXN1bHQgPSAodGhpcyA9PT0gSlNPTik7DQogICAgICAgICAgICAgICAgcmV0dXJuIHt9Ow0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIHZhciBuZXdPYmogPSBPYmplY3QuY3JlYXRlKHt9LCBKU09OKTsNCiAgICAgICAgICAgIHJldHVybiByZXN1bHQgJiYgbmV3T2JqLmhhc093blByb3BlcnR5KCJwcm9wIik7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgSlNPTi5wcm9wOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.create - argument 'Properties' is the JSON object (15.2.3.7 step 2)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-13.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNS8xNS4yLjMuNS00LTEzMC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5jcmVhdGUgLSAnY29uZmlndXJhYmxlJyBwcm9wZXJ0eSBvZiBvbmUgcHJvcGVydHkgaW4gJ1Byb3BlcnRpZXMnIGlzICswICg4LjEwLjUgc3RlcCA0LmIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgbmV3T2JqID0gT2JqZWN0LmNyZWF0ZSh7fSwgew0KICAgICAgICAgICAgcHJvcDogew0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogKzANCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIGJlZm9yZURlbGV0ZWQgPSBuZXdPYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCg0KICAgICAgICBkZWxldGUgbmV3T2JqLnByb3A7DQoNCiAgICAgICAgdmFyIGFmdGVyRGVsZXRlZCA9IG5ld09iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KDQogICAgICAgIHJldHVybiBiZWZvcmVEZWxldGVkID09PSB0cnVlICYmIGFmdGVyRGVsZXRlZCA9PT0gdHJ1ZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.create - 'configurable' property of one property in 'Properties' is +0 (8.10.5 step 4.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-130.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNS8xNS4yLjMuNS00LTEzMS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5jcmVhdGUgLSAnY29uZmlndXJhYmxlJyBwcm9wZXJ0eSBvZiBvbmUgcHJvcGVydHkgaW4gJ1Byb3BlcnRpZXMnIGlzIC0wICg4LjEwLjUgc3RlcCA0LmIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgbmV3T2JqID0gT2JqZWN0LmNyZWF0ZSh7fSwgew0KICAgICAgICAgICAgcHJvcDogew0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogLTANCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIGJlZm9yZURlbGV0ZWQgPSBuZXdPYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCg0KICAgICAgICBkZWxldGUgbmV3T2JqLnByb3A7DQoNCiAgICAgICAgdmFyIGFmdGVyRGVsZXRlZCA9IG5ld09iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KDQogICAgICAgIHJldHVybiBiZWZvcmVEZWxldGVkID09PSB0cnVlICYmIGFmdGVyRGVsZXRlZCA9PT0gdHJ1ZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.create - 'configurable' property of one property in 'Properties' is -0 (8.10.5 step 4.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-131.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNS8xNS4yLjMuNS00LTEzMi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5jcmVhdGUgLSAnY29uZmlndXJhYmxlJyBwcm9wZXJ0eSBvZiBvbmUgcHJvcGVydHkgaW4gJ1Byb3BlcnRpZXMnIGlzIE5hTiAoOC4xMC41IHN0ZXAgNC5iKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG5ld09iaiA9IE9iamVjdC5jcmVhdGUoe30sIHsNCiAgICAgICAgICAgIHByb3A6IHsNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IE5hTg0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgYmVmb3JlRGVsZXRlZCA9IG5ld09iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KDQogICAgICAgIGRlbGV0ZSBuZXdPYmoucHJvcDsNCg0KICAgICAgICB2YXIgYWZ0ZXJEZWxldGVkID0gbmV3T2JqLmhhc093blByb3BlcnR5KCJwcm9wIik7DQoNCiAgICAgICAgcmV0dXJuIGJlZm9yZURlbGV0ZWQgPT09IHRydWUgJiYgYWZ0ZXJEZWxldGVkID09PSB0cnVlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.create - 'configurable' property of one property in 'Properties' is NaN (8.10.5 step 4.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-132.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNS8xNS4yLjMuNS00LTEzMy5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5jcmVhdGUgLSAnY29uZmlndXJhYmxlJyBwcm9wZXJ0eSBvZiBvbmUgcHJvcGVydHkgaW4gJ1Byb3BlcnRpZXMnIGlzIGEgcG9zaXRpdmUgbnVtYmVyICg4LjEwLjUgc3RlcCA0LmIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgbmV3T2JqID0gT2JqZWN0LmNyZWF0ZSh7fSwgew0KICAgICAgICAgICAgcHJvcDogew0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogMTIzDQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBiZWZvcmVEZWxldGVkID0gbmV3T2JqLmhhc093blByb3BlcnR5KCJwcm9wIik7DQoNCiAgICAgICAgZGVsZXRlIG5ld09iai5wcm9wOw0KDQogICAgICAgIHZhciBhZnRlckRlbGV0ZWQgPSBuZXdPYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCg0KICAgICAgICByZXR1cm4gYmVmb3JlRGVsZXRlZCA9PT0gdHJ1ZSAmJiBhZnRlckRlbGV0ZWQgPT09IGZhbHNlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.create - 'configurable' property of one property in 'Properties' is a positive number (8.10.5 step 4.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-133.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNS8xNS4yLjMuNS00LTEzNC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5jcmVhdGUgLSAnY29uZmlndXJhYmxlJyBwcm9wZXJ0eSBvZiBvbmUgcHJvcGVydHkgaW4gJ1Byb3BlcnRpZXMnIGlzIGEgbmVnYXRpdmUgbnVtYmVyICg4LjEwLjUgc3RlcCA0LmIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgbmV3T2JqID0gT2JqZWN0LmNyZWF0ZSh7fSwgew0KICAgICAgICAgICAgcHJvcDogew0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogLTEyMw0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgYmVmb3JlRGVsZXRlZCA9IG5ld09iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KDQogICAgICAgIGRlbGV0ZSBuZXdPYmoucHJvcDsNCg0KICAgICAgICB2YXIgYWZ0ZXJEZWxldGVkID0gbmV3T2JqLmhhc093blByb3BlcnR5KCJwcm9wIik7DQoNCiAgICAgICAgcmV0dXJuIGJlZm9yZURlbGV0ZWQgPT09IHRydWUgJiYgYWZ0ZXJEZWxldGVkID09PSBmYWxzZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.create - 'configurable' property of one property in 'Properties' is a negative number (8.10.5 step 4.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-134.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNS8xNS4yLjMuNS00LTEzNS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5jcmVhdGUgLSAnY29uZmlndXJhYmxlJyBwcm9wZXJ0eSBvZiBvbmUgcHJvcGVydHkgaW4gJ1Byb3BlcnRpZXMnIGlzIGFuIGVtcHR5IHN0cmluZyAoOC4xMC41IHN0ZXAgNC5iKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG5ld09iaiA9IE9iamVjdC5jcmVhdGUoe30sIHsNCiAgICAgICAgICAgIHByb3A6IHsNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6ICIiDQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBiZWZvcmVEZWxldGVkID0gbmV3T2JqLmhhc093blByb3BlcnR5KCJwcm9wIik7DQoNCiAgICAgICAgZGVsZXRlIG5ld09iai5wcm9wOw0KDQogICAgICAgIHZhciBhZnRlckRlbGV0ZWQgPSBuZXdPYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCg0KICAgICAgICByZXR1cm4gYmVmb3JlRGVsZXRlZCA9PT0gdHJ1ZSAmJiBhZnRlckRlbGV0ZWQgPT09IHRydWU7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.create - 'configurable' property of one property in 'Properties' is an empty string (8.10.5 step 4.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-135.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNS8xNS4yLjMuNS00LTEzNi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5jcmVhdGUgLSAnY29uZmlndXJhYmxlJyBwcm9wZXJ0eSBvZiBvbmUgcHJvcGVydHkgaW4gJ1Byb3BlcnRpZXMnIGlzIGEgbm9uLWVtcHR5IHN0cmluZyAoOC4xMC41IHN0ZXAgNC5iKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG5ld09iaiA9IE9iamVjdC5jcmVhdGUoe30sIHsNCiAgICAgICAgICAgIHByb3A6IHsNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6ICJhYmMiDQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBiZWZvcmVEZWxldGVkID0gbmV3T2JqLmhhc093blByb3BlcnR5KCJwcm9wIik7DQoNCiAgICAgICAgZGVsZXRlIG5ld09iai5wcm9wOw0KDQogICAgICAgIHZhciBhZnRlckRlbGV0ZWQgPSBuZXdPYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCg0KICAgICAgICByZXR1cm4gYmVmb3JlRGVsZXRlZCA9PT0gdHJ1ZSAmJiBhZnRlckRlbGV0ZWQgPT09IGZhbHNlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.create - 'configurable' property of one property in 'Properties' is a non-empty string (8.10.5 step 4.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-136.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNS8xNS4yLjMuNS00LTEzNy5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5jcmVhdGUgLSAnY29uZmlndXJhYmxlJyBwcm9wZXJ0eSBvZiBvbmUgcHJvcGVydHkgaW4gJ1Byb3BlcnRpZXMnIGlzIGEgRnVuY3Rpb24gb2JqZWN0ICg4LjEwLjUgc3RlcCA0LmIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgbmV3T2JqID0gT2JqZWN0LmNyZWF0ZSh7fSwgew0KICAgICAgICAgICAgcHJvcDogew0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZnVuY3Rpb24gKCkgeyB9DQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBiZWZvcmVEZWxldGVkID0gbmV3T2JqLmhhc093blByb3BlcnR5KCJwcm9wIik7DQoNCiAgICAgICAgZGVsZXRlIG5ld09iai5wcm9wOw0KDQogICAgICAgIHZhciBhZnRlckRlbGV0ZWQgPSBuZXdPYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCg0KICAgICAgICByZXR1cm4gYmVmb3JlRGVsZXRlZCA9PT0gdHJ1ZSAmJiBhZnRlckRlbGV0ZWQgPT09IGZhbHNlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.create - 'configurable' property of one property in 'Properties' is a Function object (8.10.5 step 4.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-137.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNS8xNS4yLjMuNS00LTEzOC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5jcmVhdGUgLSAnY29uZmlndXJhYmxlJyBwcm9wZXJ0eSBvZiBvbmUgcHJvcGVydHkgaW4gJ1Byb3BlcnRpZXMnIGlzIGFuIEFycmF5IG9iamVjdCAoOC4xMC41IHN0ZXAgNC5iKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG5ld09iaiA9IE9iamVjdC5jcmVhdGUoe30sIHsNCiAgICAgICAgICAgIHByb3A6IHsNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IFtdDQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBiZWZvcmVEZWxldGVkID0gbmV3T2JqLmhhc093blByb3BlcnR5KCJwcm9wIik7DQoNCiAgICAgICAgZGVsZXRlIG5ld09iai5wcm9wOw0KDQogICAgICAgIHZhciBhZnRlckRlbGV0ZWQgPSBuZXdPYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCg0KICAgICAgICByZXR1cm4gYmVmb3JlRGVsZXRlZCA9PT0gdHJ1ZSAmJiBhZnRlckRlbGV0ZWQgPT09IGZhbHNlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.create - 'configurable' property of one property in 'Properties' is an Array object (8.10.5 step 4.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-138.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNS8xNS4yLjMuNS00LTEzOS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5jcmVhdGUgLSAnY29uZmlndXJhYmxlJyBwcm9wZXJ0eSBvZiBvbmUgcHJvcGVydHkgaW4gJ1Byb3BlcnRpZXMnIGlzIGEgU3RyaW5nIG9iamVjdCAoOC4xMC41IHN0ZXAgNC5iKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG5ld09iaiA9IE9iamVjdC5jcmVhdGUoe30sIHsNCiAgICAgICAgICAgIHByb3A6IHsNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IG5ldyBTdHJpbmcoImFiYyIpDQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBiZWZvcmVEZWxldGVkID0gbmV3T2JqLmhhc093blByb3BlcnR5KCJwcm9wIik7DQoNCiAgICAgICAgZGVsZXRlIG5ld09iai5wcm9wOw0KDQogICAgICAgIHZhciBhZnRlckRlbGV0ZWQgPSBuZXdPYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCg0KICAgICAgICByZXR1cm4gYmVmb3JlRGVsZXRlZCA9PT0gdHJ1ZSAmJiBhZnRlckRlbGV0ZWQgPT09IGZhbHNlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.create - 'configurable' property of one property in 'Properties' is a String object (8.10.5 step 4.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-139.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNS8xNS4yLjMuNS00LTE0LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmNyZWF0ZSAtIGFyZ3VtZW50ICdQcm9wZXJ0aWVzJyBpcyBhbiBFcnJvciBvYmplY3QgKDE1LjIuMy43IHN0ZXAgMikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBwcm9wcyA9IG5ldyBFcnJvcigidGVzdCIpOw0KICAgICAgICB2YXIgcmVzdWx0ID0gZmFsc2U7DQoNCiAgICAgICAgKE9iamVjdC5nZXRPd25Qcm9wZXJ0eU5hbWVzKHByb3BzKSkuZm9yRWFjaChmdW5jdGlvbihuYW1lKXsNCiAgICAgICAgICAgIHByb3BzW25hbWVdID0ge3ZhbHVlOjExLCBjb25maWd1cmFibGU6dHJ1ZX0NCiAgICAgICAgfSk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHByb3BzLCAicHJvcDE1XzJfM181XzRfMTQiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXN1bHQgPSB0aGlzIGluc3RhbmNlb2YgRXJyb3I7DQogICAgICAgICAgICAgICAgcmV0dXJuIHt9Ow0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUNCiAgICAgICAgfSk7DQogICAgICAgIHZhciBuZXdPYmogPSBPYmplY3QuY3JlYXRlKHt9LCBwcm9wcyk7DQogICAgICAgIHJldHVybiByZXN1bHQgJiYgbmV3T2JqLmhhc093blByb3BlcnR5KCJwcm9wMTVfMl8zXzVfNF8xNCIpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.create - argument 'Properties' is an Error object (15.2.3.7 step 2)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-14.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNS8xNS4yLjMuNS00LTE0MC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5jcmVhdGUgLSAnY29uZmlndXJhYmxlJyBwcm9wZXJ0eSBvZiBvbmUgcHJvcGVydHkgaW4gJ1Byb3BlcnRpZXMnIGlzIGEgQm9vbGVhbiBvYmplY3QgKDguMTAuNSBzdGVwIDQuYikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBuZXdPYmogPSBPYmplY3QuY3JlYXRlKHt9LCB7DQogICAgICAgICAgICBwcm9wOiB7DQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiBuZXcgQm9vbGVhbih0cnVlKQ0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgYmVmb3JlRGVsZXRlZCA9IG5ld09iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KDQogICAgICAgIGRlbGV0ZSBuZXdPYmoucHJvcDsNCg0KICAgICAgICB2YXIgYWZ0ZXJEZWxldGVkID0gbmV3T2JqLmhhc093blByb3BlcnR5KCJwcm9wIik7DQoNCiAgICAgICAgcmV0dXJuIGJlZm9yZURlbGV0ZWQgPT09IHRydWUgJiYgYWZ0ZXJEZWxldGVkID09PSBmYWxzZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.create - 'configurable' property of one property in 'Properties' is a Boolean object (8.10.5 step 4.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-140.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNS8xNS4yLjMuNS00LTE0MS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5jcmVhdGUgLSAnY29uZmlndXJhYmxlJyBwcm9wZXJ0eSBvZiBvbmUgcHJvcGVydHkgaW4gJ1Byb3BlcnRpZXMnIGlzIGEgTnVtYmVyIG9iamVjdCAoOC4xMC41IHN0ZXAgNC5iKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG5ld09iaiA9IE9iamVjdC5jcmVhdGUoe30sIHsNCiAgICAgICAgICAgIHByb3A6IHsNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IG5ldyBOdW1iZXIoMTIzKQ0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgYmVmb3JlRGVsZXRlZCA9IG5ld09iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KDQogICAgICAgIGRlbGV0ZSBuZXdPYmoucHJvcDsNCg0KICAgICAgICB2YXIgYWZ0ZXJEZWxldGVkID0gbmV3T2JqLmhhc093blByb3BlcnR5KCJwcm9wIik7DQoNCiAgICAgICAgcmV0dXJuIGJlZm9yZURlbGV0ZWQgPT09IHRydWUgJiYgYWZ0ZXJEZWxldGVkID09PSBmYWxzZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.create - 'configurable' property of one property in 'Properties' is a Number object (8.10.5 step 4.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-141.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNS8xNS4yLjMuNS00LTE0Mi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5jcmVhdGUgLSAnY29uZmlndXJhYmxlJyBwcm9wZXJ0eSBvZiBvbmUgcHJvcGVydHkgaW4gJ1Byb3BlcnRpZXMnIGlzIHRoZSBNYXRoIG9iamVjdCAoOC4xMC41IHN0ZXAgNC5iKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG5ld09iaiA9IE9iamVjdC5jcmVhdGUoe30sIHsNCiAgICAgICAgICAgIHByb3A6IHsNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IE1hdGgNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIGJlZm9yZURlbGV0ZWQgPSBuZXdPYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCg0KICAgICAgICBkZWxldGUgbmV3T2JqLnByb3A7DQoNCiAgICAgICAgdmFyIGFmdGVyRGVsZXRlZCA9IG5ld09iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KDQogICAgICAgIHJldHVybiBiZWZvcmVEZWxldGVkID09PSB0cnVlICYmIGFmdGVyRGVsZXRlZCA9PT0gZmFsc2U7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.create - 'configurable' property of one property in 'Properties' is the Math object (8.10.5 step 4.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-142.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNS8xNS4yLjMuNS00LTE0My5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5jcmVhdGUgLSAnY29uZmlndXJhYmxlJyBwcm9wZXJ0eSBvZiBvbmUgcHJvcGVydHkgaW4gJ1Byb3BlcnRpZXMnIGlzIGEgRGF0ZSBvYmplY3QgKDguMTAuNSBzdGVwIDQuYikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBuZXdPYmogPSBPYmplY3QuY3JlYXRlKHt9LCB7DQogICAgICAgICAgICBwcm9wOiB7DQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiBuZXcgRGF0ZSgpDQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBiZWZvcmVEZWxldGVkID0gbmV3T2JqLmhhc093blByb3BlcnR5KCJwcm9wIik7DQoNCiAgICAgICAgZGVsZXRlIG5ld09iai5wcm9wOw0KDQogICAgICAgIHZhciBhZnRlckRlbGV0ZWQgPSBuZXdPYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCg0KICAgICAgICByZXR1cm4gYmVmb3JlRGVsZXRlZCA9PT0gdHJ1ZSAmJiBhZnRlckRlbGV0ZWQgPT09IGZhbHNlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.create - 'configurable' property of one property in 'Properties' is a Date object (8.10.5 step 4.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-143.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNS8xNS4yLjMuNS00LTE0NC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5jcmVhdGUgLSAnY29uZmlndXJhYmxlJyBwcm9wZXJ0eSBvZiBvbmUgcHJvcGVydHkgaW4gJ1Byb3BlcnRpZXMnIGlzIGEgUmVnRXhwIG9iamVjdCAoOC4xMC41IHN0ZXAgNC5iKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG5ld09iaiA9IE9iamVjdC5jcmVhdGUoe30sIHsNCiAgICAgICAgICAgIHByb3A6IHsNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IG5ldyBSZWdFeHAoKQ0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgYmVmb3JlRGVsZXRlZCA9IG5ld09iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KDQogICAgICAgIGRlbGV0ZSBuZXdPYmoucHJvcDsNCg0KICAgICAgICB2YXIgYWZ0ZXJEZWxldGVkID0gbmV3T2JqLmhhc093blByb3BlcnR5KCJwcm9wIik7DQoNCiAgICAgICAgcmV0dXJuIGJlZm9yZURlbGV0ZWQgPT09IHRydWUgJiYgYWZ0ZXJEZWxldGVkID09PSBmYWxzZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.create - 'configurable' property of one property in 'Properties' is a RegExp object (8.10.5 step 4.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-144.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNS8xNS4yLjMuNS00LTE0NS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5jcmVhdGUgLSAnY29uZmlndXJhYmxlJyBwcm9wZXJ0eSBvZiBvbmUgcHJvcGVydHkgaW4gJ1Byb3BlcnRpZXMnIGlzIHRoZSBKU09OIG9iamVjdCAoOC4xMC41IHN0ZXAgNC5iKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG5ld09iaiA9IE9iamVjdC5jcmVhdGUoe30sIHsNCiAgICAgICAgICAgIHByb3A6IHsNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IEpTT04NCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIGJlZm9yZURlbGV0ZWQgPSBuZXdPYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCg0KICAgICAgICBkZWxldGUgbmV3T2JqLnByb3A7DQoNCiAgICAgICAgdmFyIGFmdGVyRGVsZXRlZCA9IG5ld09iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KDQogICAgICAgIHJldHVybiBiZWZvcmVEZWxldGVkID09PSB0cnVlICYmIGFmdGVyRGVsZXRlZCA9PT0gZmFsc2U7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.create - 'configurable' property of one property in 'Properties' is the JSON object (8.10.5 step 4.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-145.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNS8xNS4yLjMuNS00LTE0Ni5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5jcmVhdGUgLSAnY29uZmlndXJhYmxlJyBwcm9wZXJ0eSBvZiBvbmUgcHJvcGVydHkgaW4gJ1Byb3BlcnRpZXMnIGlzIGFuIEVycm9yIG9iamVjdCAoOC4xMC41IHN0ZXAgNC5iKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG5ld09iaiA9IE9iamVjdC5jcmVhdGUoe30sIHsNCiAgICAgICAgICAgIHByb3A6IHsNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IG5ldyBFcnJvcigpDQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBiZWZvcmVEZWxldGVkID0gbmV3T2JqLmhhc093blByb3BlcnR5KCJwcm9wIik7DQoNCiAgICAgICAgZGVsZXRlIG5ld09iai5wcm9wOw0KDQogICAgICAgIHZhciBhZnRlckRlbGV0ZWQgPSBuZXdPYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCg0KICAgICAgICByZXR1cm4gYmVmb3JlRGVsZXRlZCA9PT0gdHJ1ZSAmJiBhZnRlckRlbGV0ZWQgPT09IGZhbHNlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.create - 'configurable' property of one property in 'Properties' is an Error object (8.10.5 step 4.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-146.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNS8xNS4yLjMuNS00LTE0Ny5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5jcmVhdGUgLSAnY29uZmlndXJhYmxlJyBwcm9wZXJ0eSBvZiBvbmUgcHJvcGVydHkgaW4gJ1Byb3BlcnRpZXMnIGlzIGFuIEFyZ3VtZW50cyBvYmplY3QgKDguMTAuNSBzdGVwIDQuYikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhcmdPYmogPSAoZnVuY3Rpb24gKCkgeyByZXR1cm4gYXJndW1lbnRzOyB9KSgpOw0KDQogICAgICAgIHZhciBuZXdPYmogPSBPYmplY3QuY3JlYXRlKHt9LCB7DQogICAgICAgICAgICBwcm9wOiB7DQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiBhcmdPYmoNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIGJlZm9yZURlbGV0ZWQgPSBuZXdPYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCg0KICAgICAgICBkZWxldGUgbmV3T2JqLnByb3A7DQoNCiAgICAgICAgdmFyIGFmdGVyRGVsZXRlZCA9IG5ld09iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KDQogICAgICAgIHJldHVybiBiZWZvcmVEZWxldGVkID09PSB0cnVlICYmIGFmdGVyRGVsZXRlZCA9PT0gZmFsc2U7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.create - 'configurable' property of one property in 'Properties' is an Arguments object (8.10.5 step 4.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-147.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNS8xNS4yLjMuNS00LTE0OS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5jcmVhdGUgLSAnY29uZmlndXJhYmxlJyBwcm9wZXJ0eSBvZiBvbmUgcHJvcGVydHkgaW4gJ1Byb3BlcnRpZXMnIGlzIHRoZSBnbG9iYWwgb2JqZWN0ICg4LjEwLjUgc3RlcCA0LmIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgbmV3T2JqID0gT2JqZWN0LmNyZWF0ZSh7fSwgew0KICAgICAgICAgICAgcHJvcDogew0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZm5HbG9iYWxPYmplY3QoKQ0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgYmVmb3JlRGVsZXRlZCA9IG5ld09iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KDQogICAgICAgIGRlbGV0ZSBuZXdPYmoucHJvcDsNCg0KICAgICAgICB2YXIgYWZ0ZXJEZWxldGVkID0gbmV3T2JqLmhhc093blByb3BlcnR5KCJwcm9wIik7DQoNCiAgICAgICAgcmV0dXJuIGJlZm9yZURlbGV0ZWQgPT09IHRydWUgJiYgYWZ0ZXJEZWxldGVkID09PSBmYWxzZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.create - 'configurable' property of one property in 'Properties' is the global object (8.10.5 step 4.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-149.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNS8xNS4yLjMuNS00LTE1LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmNyZWF0ZSAtIGFyZ3VtZW50ICdQcm9wZXJ0aWVzJyBpcyB0aGUgQWd1bWVudHMgb2JqZWN0ICgxNS4yLjMuNyBzdGVwIDIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgcmVzdWx0ID0gZmFsc2U7DQoNCiAgICAgICAgdmFyIGFyZ09iaiA9IChmdW5jdGlvbiAoKSB7IHJldHVybiBhcmd1bWVudHM7IH0pKCk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyZ09iaiwgInByb3AiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXN1bHQgPSAoJ1tvYmplY3QgQXJndW1lbnRzXScgPT09IE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbCh0aGlzKSk7DQogICAgICAgICAgICAgICAgcmV0dXJuIHt9Ow0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIG5ld09iaiA9IE9iamVjdC5jcmVhdGUoe30sIGFyZ09iaik7DQogICAgICAgIHJldHVybiByZXN1bHQgJiYgbmV3T2JqLmhhc093blByb3BlcnR5KCJwcm9wIik7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.create - argument 'Properties' is the Aguments object (15.2.3.7 step 2)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-15.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNS8xNS4yLjMuNS00LTE1MC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5jcmVhdGUgLSAnY29uZmlndXJhYmxlJyBwcm9wZXJ0eSBvZiBvbmUgcHJvcGVydHkgaW4gJ1Byb3BlcnRpZXMnIGlzIGEgc3RyaW5nICh2YWx1ZSBpcyAnZmFsc2UnKSB3aGljaCBpcyB0cmVhdGVkIGFzIHRoZSB2YWx1ZSB0cnVlICg4LjEwLjUgc3RlcCA0LmIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgbmV3T2JqID0gT2JqZWN0LmNyZWF0ZSh7fSwgew0KICAgICAgICAgICAgcHJvcDogew0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogImZhbHNlIg0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgYmVmb3JlRGVsZXRlZCA9IG5ld09iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KDQogICAgICAgIGRlbGV0ZSBuZXdPYmoucHJvcDsNCg0KICAgICAgICB2YXIgYWZ0ZXJEZWxldGVkID0gbmV3T2JqLmhhc093blByb3BlcnR5KCJwcm9wIik7DQoNCiAgICAgICAgcmV0dXJuIGJlZm9yZURlbGV0ZWQgPT09IHRydWUgJiYgYWZ0ZXJEZWxldGVkID09PSBmYWxzZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.create - 'configurable' property of one property in 'Properties' is a string (value is 'false') which is treated as the value true (8.10.5 step 4.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-150.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNS8xNS4yLjMuNS00LTE1MS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5jcmVhdGUgLSAnY29uZmlndXJhYmxlJyBwcm9wZXJ0eSBvZiBvbmUgcHJvcGVydHkgaW4gJ1Byb3BlcnRpZXMnIGlzIG5ldyBCb29sZWFuKGZhbHNlKSB3aGljaCBpcyB0cmVhdGVkIGFzIHRoZSB2YWx1ZSB0cnVlICg4LjEwLjUgc3RlcCA0LmIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgbmV3T2JqID0gT2JqZWN0LmNyZWF0ZSh7fSwgew0KICAgICAgICAgICAgcHJvcDogew0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogbmV3IEJvb2xlYW4oZmFsc2UpDQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBiZWZvcmVEZWxldGVkID0gbmV3T2JqLmhhc093blByb3BlcnR5KCJwcm9wIik7DQoNCiAgICAgICAgZGVsZXRlIG5ld09iai5wcm9wOw0KDQogICAgICAgIHZhciBhZnRlckRlbGV0ZWQgPSBuZXdPYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCg0KICAgICAgICByZXR1cm4gYmVmb3JlRGVsZXRlZCA9PT0gdHJ1ZSAmJiBhZnRlckRlbGV0ZWQgPT09IGZhbHNlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.create - 'configurable' property of one property in 'Properties' is new Boolean(false) which is treated as the value true (8.10.5 step 4.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-151.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNS8xNS4yLjMuNS00LTE1Mi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5jcmVhdGUgLSAndmFsdWUnIHByb3BlcnR5IG9mIG9uZSBwcm9wZXJ0eSBpbiAnUHJvcGVydGllcycgaXMgcHJlc2VudCAoOC4xMC41IHN0ZXAgNSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBuZXdPYmogPSBPYmplY3QuY3JlYXRlKHt9LCB7DQogICAgICAgICAgICBwcm9wOiB7DQogICAgICAgICAgICAgICAgdmFsdWU6IDEwMA0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCg0KICAgICAgICByZXR1cm4gbmV3T2JqLnByb3AgPT09IDEwMDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.create - 'value' property of one property in 'Properties' is present (8.10.5 step 5)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-152.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNS8xNS4yLjMuNS00LTE1My5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5jcmVhdGUgLSAndmFsdWUnIHByb3BlcnR5IG9mIG9uZSBwcm9wZXJ0eSBpbiAnUHJvcGVydGllcycgaXMgbm90IHByZXNlbnQgKDguMTAuNSBzdGVwIDUpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgbmV3T2JqID0gT2JqZWN0LmNyZWF0ZSh7fSwgew0KICAgICAgICAgICAgcHJvcDoge30NCiAgICAgICAgfSk7DQoNCiAgICAgICAgcmV0dXJuIG5ld09iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpICYmIHR5cGVvZiAobmV3T2JqLnByb3ApID09PSAidW5kZWZpbmVkIjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.create - 'value' property of one property in 'Properties' is not present (8.10.5 step 5)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-153.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNS8xNS4yLjMuNS00LTE1NC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5jcmVhdGUgLSAndmFsdWUnIHByb3BlcnR5IG9mIG9uZSBwcm9wZXJ0eSBpbiAnUHJvcGVydGllcycgaXMgb3duIGRhdGEgcHJvcGVydHkgKDguMTAuNSBzdGVwIDUuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBuZXdPYmogPSBPYmplY3QuY3JlYXRlKHt9LCB7DQogICAgICAgICAgICBwcm9wOiB7DQogICAgICAgICAgICAgICAgdmFsdWU6ICJvd25EYXRhUHJvcGVydHkiDQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KDQogICAgICAgIHJldHVybiBuZXdPYmoucHJvcCA9PT0gIm93bkRhdGFQcm9wZXJ0eSI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.create - 'value' property of one property in 'Properties' is own data property (8.10.5 step 5.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-154.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNS8xNS4yLjMuNS00LTE1NS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5jcmVhdGUgLSAndmFsdWUnIHByb3BlcnR5IG9mIG9uZSBwcm9wZXJ0eSBpbiAnUHJvcGVydGllcycgaXMgYW4gaW5oZXJpdGVkIGRhdGEgcHJvcGVydHkgKDguMTAuNSBzdGVwIDUuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBwcm90byA9IHsNCiAgICAgICAgICAgIHZhbHVlOiAiaW5oZXJpdGVkRGF0YVByb3BlcnR5Ig0KICAgICAgICB9Ow0KDQogICAgICAgIHZhciBDb25zdHJ1Y3RGdW4gPSBmdW5jdGlvbiAoKSB7IH07DQogICAgICAgIENvbnN0cnVjdEZ1bi5wcm90b3R5cGUgPSBwcm90bzsNCg0KICAgICAgICB2YXIgZGVzY09iaiA9IG5ldyBDb25zdHJ1Y3RGdW4oKTsNCg0KICAgICAgICB2YXIgbmV3T2JqID0gT2JqZWN0LmNyZWF0ZSh7fSwgew0KICAgICAgICAgICAgcHJvcDogZGVzY09iag0KICAgICAgICB9KTsNCg0KICAgICAgICByZXR1cm4gbmV3T2JqLnByb3AgPT09ICJpbmhlcml0ZWREYXRhUHJvcGVydHkiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.create - 'value' property of one property in 'Properties' is an inherited data property (8.10.5 step 5.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-155.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNS8xNS4yLjMuNS00LTE1Ni5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5jcmVhdGUgLSAndmFsdWUnIHByb3BlcnR5IG9mIG9uZSBwcm9wZXJ0eSBpbiAnUHJvcGVydGllcycgaXMgb3duIGRhdGEgcHJvcGVydHkgdGhhdCBvdmVycmlkZXMgYW4gaW5oZXJpdGVkIGRhdGEgcHJvcGVydHkgKDguMTAuNSBzdGVwIDUuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBwcm90byA9IHsNCiAgICAgICAgICAgIHZhbHVlOiAiaW5oZXJpdGVkRGF0YVByb3BlcnR5Ig0KICAgICAgICB9Ow0KDQogICAgICAgIHZhciBDb25zdHJ1Y3RGdW4gPSBmdW5jdGlvbiAoKSB7IH07DQogICAgICAgIENvbnN0cnVjdEZ1bi5wcm90b3R5cGUgPSBwcm90bzsNCg0KICAgICAgICB2YXIgZGVzY09iaiA9IG5ldyBDb25zdHJ1Y3RGdW4oKTsNCg0KICAgICAgICBkZXNjT2JqLnZhbHVlID0gIm93bkRhdGFQcm9wZXJ0eSI7DQoNCiAgICAgICAgdmFyIG5ld09iaiA9IE9iamVjdC5jcmVhdGUoe30sIHsNCiAgICAgICAgICAgIHByb3A6IGRlc2NPYmoNCiAgICAgICAgfSk7DQoNCiAgICAgICAgcmV0dXJuIG5ld09iai5wcm9wID09PSAib3duRGF0YVByb3BlcnR5IjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.create - 'value' property of one property in 'Properties' is own data property that overrides an inherited data property (8.10.5 step 5.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-156.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNS8xNS4yLjMuNS00LTE1Ny5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5jcmVhdGUgLSAndmFsdWUnIHByb3BlcnR5IG9mIG9uZSBwcm9wZXJ0eSBpbiAnUHJvcGVydGllcycgaXMgb3duIGRhdGEgcHJvcGVydHkgdGhhdCBvdmVycmlkZXMgYW4gaW5oZXJpdGVkIGFjY2Vzc29yIHByb3BlcnR5ICg4LjEwLjUgc3RlcCA1LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgcHJvdG8gPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkocHJvdG8sICJ2YWx1ZSIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiAiaW5oZXJpdGVkQWNjZXNzb3JQcm9wZXJ0eSI7DQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBDb25zdHJ1Y3RGdW4gPSBmdW5jdGlvbiAoKSB7IH07DQogICAgICAgIENvbnN0cnVjdEZ1bi5wcm90b3R5cGUgPSBwcm90bzsNCg0KICAgICAgICB2YXIgZGVzY09iaiA9IG5ldyBDb25zdHJ1Y3RGdW4oKTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoZGVzY09iaiwgInZhbHVlIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuICJvd25EYXRhUHJvcGVydHkiOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgbmV3T2JqID0gT2JqZWN0LmNyZWF0ZSh7fSwgew0KICAgICAgICAgICAgcHJvcDogZGVzY09iag0KICAgICAgICB9KTsNCg0KICAgICAgICByZXR1cm4gbmV3T2JqLnByb3AgPT09ICJvd25EYXRhUHJvcGVydHkiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.create - 'value' property of one property in 'Properties' is own data property that overrides an inherited accessor property (8.10.5 step 5.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-157.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNS8xNS4yLjMuNS00LTE1OC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5jcmVhdGUgLSAndmFsdWUnIHByb3BlcnR5IG9mIG9uZSBwcm9wZXJ0eSBpbiAnUHJvcGVydGllcycgaXMgb3duIGFjY2Vzc29yIHByb3BlcnR5ICg4LjEwLjUgc3RlcCA1LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgZGVzY09iaiA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShkZXNjT2JqLCAidmFsdWUiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gIm93bkFjY2Vzc29yUHJvcGVydHkiOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgbmV3T2JqID0gT2JqZWN0LmNyZWF0ZSh7fSwgew0KICAgICAgICAgICAgcHJvcDogZGVzY09iag0KICAgICAgICB9KTsNCg0KICAgICAgICByZXR1cm4gbmV3T2JqLnByb3AgPT09ICJvd25BY2Nlc3NvclByb3BlcnR5IjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.create - 'value' property of one property in 'Properties' is own accessor property (8.10.5 step 5.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-158.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNS8xNS4yLjMuNS00LTE1OS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5jcmVhdGUgLSAndmFsdWUnIHByb3BlcnR5IG9mIG9uZSBwcm9wZXJ0eSBpbiAnUHJvcGVydGllcycgaXMgYW4gaW5oZXJpdGVkIGFjY2Vzc29yIHByb3BlcnR5ICg4LjEwLjUgc3RlcCA1LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgcHJvdG8gPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkocHJvdG8sICJ2YWx1ZSIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiAiaW5oZXJpdGVkQWNjZXNzb3JQcm9wZXJ0eSI7DQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBDb25zdHJ1Y3RGdW4gPSBmdW5jdGlvbiAoKSB7IH07DQogICAgICAgIENvbnN0cnVjdEZ1bi5wcm90b3R5cGUgPSBwcm90bzsNCg0KICAgICAgICB2YXIgZGVzY09iaiA9IG5ldyBDb25zdHJ1Y3RGdW4oKTsNCg0KICAgICAgICB2YXIgbmV3T2JqID0gT2JqZWN0LmNyZWF0ZSh7fSwgew0KICAgICAgICAgICAgcHJvcDogZGVzY09iag0KICAgICAgICB9KTsNCg0KICAgICAgICByZXR1cm4gbmV3T2JqLnByb3AgPT09ICJpbmhlcml0ZWRBY2Nlc3NvclByb3BlcnR5IjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.create - 'value' property of one property in 'Properties' is an inherited accessor property (8.10.5 step 5.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-159.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNS8xNS4yLjMuNS00LTE2LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmNyZWF0ZSAtIG93biBlbnVtZXJhYmxlIGRhdGEgcHJvcGVydHkgaW4gJ1Byb3BlcnRpZXMnIGlzIGRlZmluZWQgaW4gJ29iaicgKDE1LjIuMy43IHN0ZXAgMykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBuZXdPYmogPSBPYmplY3QuY3JlYXRlKHt9LCB7DQogICAgICAgICAgICBwcm9wOiB7fSANCiAgICAgICAgfSk7DQogICAgICAgIHJldHVybiBuZXdPYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.create - own enumerable data property in 'Properties' is defined in 'obj' (15.2.3.7 step 3)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-16.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNS8xNS4yLjMuNS00LTE2MC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5jcmVhdGUgLSAndmFsdWUnIHByb3BlcnR5IG9mIG9uZSBwcm9wZXJ0eSBpbiAnUHJvcGVydGllcycgaXMgb3duIGFjY2Vzc29yIHByb3BlcnR5IHRoYXQgb3ZlcnJpZGVzIGFuIGluaGVyaXRlZCBkYXRhIHByb3BlcnR5ICg4LjEwLjUgc3RlcCA1LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgcHJvdG8gPSB7DQogICAgICAgICAgICB2YWx1ZTogImluaGVyaXRlZERhdGFQcm9wZXJ0eSINCiAgICAgICAgfTsNCg0KICAgICAgICB2YXIgQ29uc3RydWN0RnVuID0gZnVuY3Rpb24gKCkgeyB9Ow0KICAgICAgICBDb25zdHJ1Y3RGdW4ucHJvdG90eXBlID0gcHJvdG87DQoNCiAgICAgICAgdmFyIGRlc2NPYmogPSBuZXcgQ29uc3RydWN0RnVuKCk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGRlc2NPYmosICJ2YWx1ZSIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiAib3duQWNjZXNzb3JQcm9wZXJ0eSI7DQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBuZXdPYmogPSBPYmplY3QuY3JlYXRlKHt9LCB7DQogICAgICAgICAgICBwcm9wOiBkZXNjT2JqDQogICAgICAgIH0pOw0KDQogICAgICAgIHJldHVybiBuZXdPYmoucHJvcCA9PT0gIm93bkFjY2Vzc29yUHJvcGVydHkiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.create - 'value' property of one property in 'Properties' is own accessor property that overrides an inherited data property (8.10.5 step 5.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-160.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNS8xNS4yLjMuNS00LTE2MS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5jcmVhdGUgLSAndmFsdWUnIHByb3BlcnR5IG9mIG9uZSBwcm9wZXJ0eSBpbiAnUHJvcGVydGllcycgaXMgb3duIGFjY2Vzc29yIHByb3BlcnR5IHRoYXQgb3ZlcnJpZGVzIGFuIGluaGVyaXRlZCBhY2Nlc3NvciBwcm9wZXJ0eSAoOC4xMC41IHN0ZXAgNS5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHByb3RvID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHByb3RvLCAidmFsdWUiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gImluaGVyaXRlZEFjY2Vzc29yUHJvcGVydHkiOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgQ29uc3RydWN0RnVuID0gZnVuY3Rpb24gKCkgeyB9Ow0KICAgICAgICBDb25zdHJ1Y3RGdW4ucHJvdG90eXBlID0gcHJvdG87DQoNCiAgICAgICAgdmFyIGRlc2NPYmogPSBuZXcgQ29uc3RydWN0RnVuKCk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGRlc2NPYmosICJ2YWx1ZSIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiAib3duQWNjZXNzb3JQcm9wZXJ0eSI7DQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBuZXdPYmogPSBPYmplY3QuY3JlYXRlKHt9LCB7DQogICAgICAgICAgICBwcm9wOiBkZXNjT2JqDQogICAgICAgIH0pOw0KDQogICAgICAgIHJldHVybiBuZXdPYmoucHJvcCA9PT0gIm93bkFjY2Vzc29yUHJvcGVydHkiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.create - 'value' property of one property in 'Properties' is own accessor property that overrides an inherited accessor property (8.10.5 step 5.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-161.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNS8xNS4yLjMuNS00LTE2Mi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5jcmVhdGUgLSAndmFsdWUnIHByb3BlcnR5IG9mIG9uZSBwcm9wZXJ0eSBpbiAnUHJvcGVydGllcycgaXMgb3duIGFjY2Vzc29yIHByb3BlcnR5IHdpdGhvdXQgYSBnZXQgZnVuY3Rpb24gKDguMTAuNSBzdGVwIDUuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBkZXNjT2JqID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGRlc2NPYmosICJ2YWx1ZSIsIHsNCiAgICAgICAgICAgIHNldDogZnVuY3Rpb24gKCkgeyB9DQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBuZXdPYmogPSBPYmplY3QuY3JlYXRlKHt9LCB7DQogICAgICAgICAgICBwcm9wOiBkZXNjT2JqDQogICAgICAgIH0pOw0KDQogICAgICAgIHJldHVybiBuZXdPYmouaGFzT3duUHJvcGVydHkoInByb3AiKSAmJiB0eXBlb2YgKG5ld09iai5wcm9wKSA9PT0gInVuZGVmaW5lZCI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.create - 'value' property of one property in 'Properties' is own accessor property without a get function (8.10.5 step 5.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-162.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNS8xNS4yLjMuNS00LTE2My5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5jcmVhdGUgLSAndmFsdWUnIHByb3BlcnR5IG9mIG9uZSBwcm9wZXJ0eSBpbiAnUHJvcGVydGllcycgaXMgb3duIGFjY2Vzc29yIHByb3BlcnR5IHdpdGhvdXQgYSBnZXQgZnVuY3Rpb24sIHdoaWNoIG92ZXJyaWRlcyBhbiBpbmhlcml0ZWQgYWNjZXNzb3IgcHJvcGVydHkgKDguMTAuNSBzdGVwIDUuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBwcm90byA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShwcm90bywgInZhbHVlIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuICJpbmhlcml0ZWRBY2Nlc3NvclByb3BlcnR5IjsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIENvbnN0cnVjdEZ1biA9IGZ1bmN0aW9uICgpIHsgfTsNCiAgICAgICAgQ29uc3RydWN0RnVuLnByb3RvdHlwZSA9IHByb3RvOw0KDQogICAgICAgIHZhciBkZXNjT2JqID0gbmV3IENvbnN0cnVjdEZ1bigpOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShkZXNjT2JqLCAidmFsdWUiLCB7DQogICAgICAgICAgICBzZXQ6IGZ1bmN0aW9uICgpIHsgfQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgbmV3T2JqID0gT2JqZWN0LmNyZWF0ZSh7fSwgew0KICAgICAgICAgICAgcHJvcDogZGVzY09iag0KICAgICAgICB9KTsNCg0KICAgICAgICByZXR1cm4gbmV3T2JqLmhhc093blByb3BlcnR5KCJwcm9wIikgJiYgdHlwZW9mIChuZXdPYmoucHJvcCkgPT09ICJ1bmRlZmluZWQiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.create - 'value' property of one property in 'Properties' is own accessor property without a get function, which overrides an inherited accessor property (8.10.5 step 5.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-163.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNS8xNS4yLjMuNS00LTE2NC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5jcmVhdGUgLSAndmFsdWUnIHByb3BlcnR5IG9mIG9uZSBwcm9wZXJ0eSBpbiAnUHJvcGVydGllcycgaXMgYW4gaW5oZXJpdGVkIGFjY2Vzc29yIHByb3BlcnR5IHdpdGhvdXQgYSBnZXQgZnVuY3Rpb24gKDguMTAuNSBzdGVwIDUuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBwcm90byA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShwcm90bywgInZhbHVlIiwgew0KICAgICAgICAgICAgc2V0OiBmdW5jdGlvbiAoKSB7IH0NCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIENvbnN0cnVjdEZ1biA9IGZ1bmN0aW9uICgpIHsgfTsNCiAgICAgICAgQ29uc3RydWN0RnVuLnByb3RvdHlwZSA9IHByb3RvOw0KDQogICAgICAgIHZhciBkZXNjT2JqID0gbmV3IENvbnN0cnVjdEZ1bigpOw0KDQogICAgICAgIHZhciBuZXdPYmogPSBPYmplY3QuY3JlYXRlKHt9LCB7DQogICAgICAgICAgICBwcm9wOiBkZXNjT2JqDQogICAgICAgIH0pOw0KDQogICAgICAgIHJldHVybiBuZXdPYmouaGFzT3duUHJvcGVydHkoInByb3AiKSAmJiB0eXBlb2YgKG5ld09iai5wcm9wKSA9PT0gInVuZGVmaW5lZCI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.create - 'value' property of one property in 'Properties' is an inherited accessor property without a get function (8.10.5 step 5.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-164.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNS8xNS4yLjMuNS00LTE2NS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5jcmVhdGUgLSBvbmUgcHJvcGVydHkgaW4gJ1Byb3BlcnRpZXMnIGlzIGEgRnVuY3Rpb24gb2JqZWN0IHdoaWNoIGltcGxlbWVudHMgaXRzIG93biBbW0dldF1dIG1ldGhvZCB0byBhY2Nlc3MgdGhlICd2YWx1ZScgcHJvcGVydHkgKDguMTAuNSBzdGVwIDUuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBGdW5jID0gZnVuY3Rpb24gKGEsIGIpIHsNCiAgICAgICAgICAgIHJldHVybiBhICsgYjsNCiAgICAgICAgfTsNCg0KICAgICAgICB2YXIgZnVuID0gbmV3IEZ1bmMoKTsNCiAgICAgICAgZnVuLnZhbHVlID0gIkZ1blZhbHVlIjsNCg0KICAgICAgICB2YXIgbmV3T2JqID0gT2JqZWN0LmNyZWF0ZSh7fSwgew0KICAgICAgICAgICAgcHJvcDogZnVuDQogICAgICAgIH0pOw0KICAgICAgICByZXR1cm4gbmV3T2JqLnByb3AgPT09ICJGdW5WYWx1ZSI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.create - one property in 'Properties' is a Function object which implements its own [[Get]] method to access the 'value' property (8.10.5 step 5.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-165.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNS8xNS4yLjMuNS00LTE2Ni5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5jcmVhdGUgLSBvbmUgcHJvcGVydHkgaW4gJ1Byb3BlcnRpZXMnIGlzIGFuIEFycmF5IG9iamVjdCB0aGF0IHVzZXMgT2JqZWN0J3MgW1tHZXRdXSBtZXRob2QgdG8gYWNjZXNzIHRoZSAndmFsdWUnIHByb3BlcnR5ICg4LjEwLjUgc3RlcCA1LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYXJyID0gWzEsIDIsIDNdOw0KDQogICAgICAgIGFyci52YWx1ZSA9ICJBcnJWYWx1ZSI7DQoNCiAgICAgICAgdmFyIG5ld09iaiA9IE9iamVjdC5jcmVhdGUoe30sIHsNCiAgICAgICAgICAgIHByb3A6IGFycg0KICAgICAgICB9KTsNCg0KICAgICAgICByZXR1cm4gbmV3T2JqLnByb3AgPT09ICJBcnJWYWx1ZSI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.create - one property in 'Properties' is an Array object that uses Object's [[Get]] method to access the 'value' property (8.10.5 step 5.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-166.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNS8xNS4yLjMuNS00LTE2Ny5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5jcmVhdGUgLSBvbmUgcHJvcGVydHkgaW4gJ1Byb3BlcnRpZXMnIGlzIGEgU3RyaW5nIG9iamVjdCB0aGF0IHVzZXMgT2JqZWN0J3MgW1tHZXRdXSBtZXRob2QgdG8gYWNjZXNzIHRoZSAndmFsdWUnIHByb3BlcnR5ICg4LjEwLjUgc3RlcCA1LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgc3RyID0gbmV3IFN0cmluZygiYWJjIik7DQoNCiAgICAgICAgc3RyLnZhbHVlID0gIlN0clZhbHVlIjsNCg0KICAgICAgICB2YXIgbmV3T2JqID0gT2JqZWN0LmNyZWF0ZSh7fSwgew0KICAgICAgICAgICAgcHJvcDogc3RyDQogICAgICAgIH0pOw0KDQogICAgICAgIHJldHVybiBuZXdPYmoucHJvcCA9PT0gIlN0clZhbHVlIjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.create - one property in 'Properties' is a String object that uses Object's [[Get]] method to access the 'value' property (8.10.5 step 5.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-167.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNS8xNS4yLjMuNS00LTE2OC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5jcmVhdGUgLSBvbmUgcHJvcGVydHkgaW4gJ1Byb3BlcnRpZXMnIGlzIGEgQm9vbGVhbiBvYmplY3QgdGhhdCB1c2VzIE9iamVjdCdzIFtbR2V0XV0gbWV0aG9kIHRvIGFjY2VzcyB0aGUgJ3ZhbHVlJyBwcm9wZXJ0eSAoOC4xMC41IHN0ZXAgNS5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGJvb2xlYW5PYmogPSBuZXcgQm9vbGVhbihmYWxzZSk7DQoNCiAgICAgICAgYm9vbGVhbk9iai52YWx1ZSA9ICJCb29sZWFuVmFsdWUiOw0KDQogICAgICAgIHZhciBuZXdPYmogPSBPYmplY3QuY3JlYXRlKHt9LCB7DQogICAgICAgICAgICBwcm9wOiBib29sZWFuT2JqDQogICAgICAgIH0pOw0KDQogICAgICAgIHJldHVybiBuZXdPYmoucHJvcCA9PT0gIkJvb2xlYW5WYWx1ZSI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.create - one property in 'Properties' is a Boolean object that uses Object's [[Get]] method to access the 'value' property (8.10.5 step 5.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-168.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNS8xNS4yLjMuNS00LTE2OS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5jcmVhdGUgLSBvbmUgcHJvcGVydHkgaW4gJ1Byb3BlcnRpZXMnIGlzIGEgTnVtYmVyIG9iamVjdCB0aGF0IHVzZXMgT2JqZWN0J3MgW1tHZXRdXSBtZXRob2QgdG8gYWNjZXNzIHRoZSAndmFsdWUnIHByb3BlcnR5ICg4LjEwLjUgc3RlcCA1LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgbnVtT2JqID0gbmV3IE51bWJlcigxMjMpOw0KDQogICAgICAgIG51bU9iai52YWx1ZSA9ICJOdW1WYWx1ZSI7DQoNCiAgICAgICAgdmFyIG5ld09iaiA9IE9iamVjdC5jcmVhdGUoe30sIHsNCiAgICAgICAgICAgIHByb3A6IG51bU9iag0KICAgICAgICB9KTsNCg0KICAgICAgICByZXR1cm4gbmV3T2JqLnByb3AgPT09ICJOdW1WYWx1ZSI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.create - one property in 'Properties' is a Number object that uses Object's [[Get]] method to access the 'value' property (8.10.5 step 5.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-169.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNS8xNS4yLjMuNS00LTE3LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmNyZWF0ZSAtIG93biBkYXRhIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyB3aGljaCBpcyBub3QgZW51bWVyYWJsZSBpcyBub3QgZGVmaW5lZCBpbiAnb2JqJyAoMTUuMi4zLjcgc3RlcCAzKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHByb3BzID0ge307DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShwcm9wcywgInByb3AiLCB7DQogICAgICAgICAgICB2YWx1ZToge30sDQogICAgICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZQ0KICAgICAgICB9KTsNCiAgICAgICAgdmFyIG5ld09iaiA9IE9iamVjdC5jcmVhdGUoe30sIHByb3BzKTsNCg0KICAgICAgICByZXR1cm4gIW5ld09iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.create - own data property in 'Properties' which is not enumerable is not defined in 'obj' (15.2.3.7 step 3)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-17.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNS8xNS4yLjMuNS00LTE3MC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5jcmVhdGUgLSBvbmUgcHJvcGVydHkgaW4gJ1Byb3BlcnRpZXMnIGlzIHRoZSBNYXRoIG9iamVjdCB0aGF0IHVzZXMgT2JqZWN0J3MgW1tHZXRdXSBtZXRob2QgdG8gYWNjZXNzIHRoZSAndmFsdWUnIHByb3BlcnR5ICg4LjEwLjUgc3RlcCA1LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgTWF0aC52YWx1ZSA9ICJNYXRoVmFsdWUiOw0KDQogICAgICAgICAgICB2YXIgbmV3T2JqID0gT2JqZWN0LmNyZWF0ZSh7fSwgew0KICAgICAgICAgICAgICAgIHByb3A6IE1hdGgNCiAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICByZXR1cm4gbmV3T2JqLnByb3AgPT09ICJNYXRoVmFsdWUiOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIE1hdGgudmFsdWU7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.create - one property in 'Properties' is the Math object that uses Object's [[Get]] method to access the 'value' property (8.10.5 step 5.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-170.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNS8xNS4yLjMuNS00LTE3MS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5jcmVhdGUgLSBvbmUgcHJvcGVydHkgaW4gJ1Byb3BlcnRpZXMnIGlzIGEgRGF0ZSBvYmplY3QgdGhhdCB1c2VzIE9iamVjdCdzIFtbR2V0XV0gbWV0aG9kIHRvIGFjY2VzcyB0aGUgJ3ZhbHVlJyBwcm9wZXJ0eSAoOC4xMC41IHN0ZXAgNS5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGRhdGVPYmogPSBuZXcgRGF0ZSgpOw0KDQogICAgICAgIGRhdGVPYmoudmFsdWUgPSAiRGF0ZVZhbHVlIjsNCg0KICAgICAgICB2YXIgbmV3T2JqID0gT2JqZWN0LmNyZWF0ZSh7fSwgew0KICAgICAgICAgICAgcHJvcDogZGF0ZU9iag0KICAgICAgICB9KTsNCg0KICAgICAgICByZXR1cm4gbmV3T2JqLnByb3AgPT09ICJEYXRlVmFsdWUiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.create - one property in 'Properties' is a Date object that uses Object's [[Get]] method to access the 'value' property (8.10.5 step 5.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-171.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNS8xNS4yLjMuNS00LTE3Mi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5jcmVhdGUgLSBvbmUgcHJvcGVydHkgaW4gJ1Byb3BlcnRpZXMnIGlzIGEgUmVnRXhwIG9iamVjdCB0aGF0IHVzZXMgT2JqZWN0J3MgW1tHZXRdXSBtZXRob2QgdG8gYWNjZXNzIHRoZSAndmFsdWUnIHByb3BlcnR5ICg4LjEwLjUgc3RlcCA1LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgcmVnT2JqID0gbmV3IFJlZ0V4cCgpOw0KDQogICAgICAgIHJlZ09iai52YWx1ZSA9ICJSZWdFeHBWYWx1ZSI7DQoNCiAgICAgICAgdmFyIG5ld09iaiA9IE9iamVjdC5jcmVhdGUoe30sIHsNCiAgICAgICAgICAgIHByb3A6IHJlZ09iag0KICAgICAgICB9KTsNCg0KICAgICAgICByZXR1cm4gbmV3T2JqLnByb3AgPT09ICJSZWdFeHBWYWx1ZSI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.create - one property in 'Properties' is a RegExp object that uses Object's [[Get]] method to access the 'value' property (8.10.5 step 5.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-172.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNS8xNS4yLjMuNS00LTE3My5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5jcmVhdGUgLSBvbmUgcHJvcGVydHkgaW4gJ1Byb3BlcnRpZXMnIGlzIHRoZSBKU09OIG9iamVjdCB0aGF0IHVzZXMgT2JqZWN0J3MgW1tHZXRdXSBtZXRob2QgdG8gYWNjZXNzIHRoZSAndmFsdWUnIHByb3BlcnR5ICg4LjEwLjUgc3RlcCA1LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgSlNPTi52YWx1ZSA9ICJKU09OVmFsdWUiOw0KDQogICAgICAgICAgICB2YXIgbmV3T2JqID0gT2JqZWN0LmNyZWF0ZSh7fSwgew0KICAgICAgICAgICAgICAgIHByb3A6IEpTT04NCiAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICByZXR1cm4gbmV3T2JqLnByb3AgPT09ICJKU09OVmFsdWUiOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIEpTT04udmFsdWU7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.create - one property in 'Properties' is the JSON object that uses Object's [[Get]] method to access the 'value' property (8.10.5 step 5.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-173.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNS8xNS4yLjMuNS00LTE3NC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5jcmVhdGUgLSBvbmUgcHJvcGVydHkgaW4gJ1Byb3BlcnRpZXMnIGlzIGFuIEVycm9yIG9iamVjdCB0aGF0IHVzZXMgT2JqZWN0J3MgW1tHZXRdXSBtZXRob2QgdG8gYWNjZXNzIHRoZSAndmFsdWUnIHByb3BlcnR5ICg4LjEwLjUgc3RlcCA1LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgZXJyb3JPYmogPSBuZXcgRXJyb3IoKTsNCg0KICAgICAgICBlcnJvck9iai52YWx1ZSA9ICJFcnJvclZhbHVlIjsNCg0KICAgICAgICB2YXIgbmV3T2JqID0gT2JqZWN0LmNyZWF0ZSh7fSwgew0KICAgICAgICAgICAgcHJvcDogZXJyb3JPYmoNCiAgICAgICAgfSk7DQoNCiAgICAgICAgcmV0dXJuIG5ld09iai5wcm9wID09PSAiRXJyb3JWYWx1ZSI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.create - one property in 'Properties' is an Error object that uses Object's [[Get]] method to access the 'value' property (8.10.5 step 5.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-174.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNS8xNS4yLjMuNS00LTE3NS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5jcmVhdGUgLSBvbmUgcHJvcGVydHkgaW4gJ1Byb3BlcnRpZXMnIGlzIGFuIEFyZ3VtZW50cyBvYmplY3Qgd2hpY2ggaW1wbGVtZW50cyBpdHMgb3duIFtbR2V0XV0gbWV0aG9kIHRvIGFjY2VzcyB0aGUgJ3ZhbHVlJyBwcm9wZXJ0eSAoOC4xMC41IHN0ZXAgNS5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFyZ09iaiA9IChmdW5jdGlvbiAoKSB7IHJldHVybiBhcmd1bWVudHM7IH0pKCk7DQoNCiAgICAgICAgYXJnT2JqLnZhbHVlID0gIkFyZ1ZhbHVlIjsNCg0KICAgICAgICB2YXIgbmV3T2JqID0gT2JqZWN0LmNyZWF0ZSh7fSwgew0KICAgICAgICAgICAgcHJvcDogYXJnT2JqDQogICAgICAgIH0pOw0KDQogICAgICAgIHJldHVybiBuZXdPYmoucHJvcCA9PT0gIkFyZ1ZhbHVlIjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.create - one property in 'Properties' is an Arguments object which implements its own [[Get]] method to access the 'value' property (8.10.5 step 5.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-175.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNS8xNS4yLjMuNS00LTE3Ny5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5jcmVhdGUgLSBvbmUgcHJvcGVydHkgaW4gJ1Byb3BlcnRpZXMnIGlzIHRoZSBnbG9iYWwgb2JqZWN0IHRoYXQgdXNlcyBPYmplY3QncyBbW0dldF1dIG1ldGhvZCB0byBhY2Nlc3MgdGhlICd2YWx1ZScgcHJvcGVydHkgKDguMTAuNSBzdGVwIDUuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBmbkdsb2JhbE9iamVjdCgpLnZhbHVlID0gIkdsb2JhbFZhbHVlIjsNCg0KICAgICAgICAgICAgdmFyIG5ld09iaiA9IE9iamVjdC5jcmVhdGUoe30sIHsNCiAgICAgICAgICAgICAgICBwcm9wOiBmbkdsb2JhbE9iamVjdCgpDQogICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgcmV0dXJuIG5ld09iai5wcm9wID09PSAiR2xvYmFsVmFsdWUiOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIGZuR2xvYmFsT2JqZWN0KCkudmFsdWU7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.create - one property in 'Properties' is the global object that uses Object's [[Get]] method to access the 'value' property (8.10.5 step 5.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-177.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNS8xNS4yLjMuNS00LTE3OC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5jcmVhdGUgLSAnd3JpdGFibGUnIHByb3BlcnR5IG9mIG9uZSBwcm9wZXJ0eSBpbiAnUHJvcGVydGllcycgaXMgdHJ1ZSAoOC4xMC41IHN0ZXAgNikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBuZXdPYmogPSBPYmplY3QuY3JlYXRlKHt9LCB7DQogICAgICAgICAgICBwcm9wOiB7DQogICAgICAgICAgICAgICAgd3JpdGFibGU6IHRydWUNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIGJlZm9yZVdyaXRlID0gKChuZXdPYmouaGFzT3duUHJvcGVydHkoInByb3AiKSAmJiB0eXBlb2YgKG5ld09iai5wcm9wKSA9PT0gInVuZGVmaW5lZCIpKTsNCg0KICAgICAgICBuZXdPYmoucHJvcCA9ICJpc1dyaXRhYmxlIjsNCg0KICAgICAgICB2YXIgYWZ0ZXJXcml0ZSA9IChuZXdPYmoucHJvcCA9PT0gImlzV3JpdGFibGUiKTsNCg0KICAgICAgICByZXR1cm4gYmVmb3JlV3JpdGUgPT09IHRydWUgJiYgYWZ0ZXJXcml0ZSA9PT0gdHJ1ZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.create - 'writable' property of one property in 'Properties' is true (8.10.5 step 6)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-178.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNS8xNS4yLjMuNS00LTE3OS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5jcmVhdGUgLSAnd3JpdGFibGUnIHByb3BlcnR5IG9mIG9uZSBwcm9wZXJ0eSBpbiAnUHJvcGVydGllcycgaXMgbm90IHByZXNlbnQgKDguMTAuNSBzdGVwIDYpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgbmV3T2JqID0gT2JqZWN0LmNyZWF0ZSh7fSwgew0KICAgICAgICAgICAgcHJvcDogew0KICAgICAgICAgICAgICAgIHZhbHVlOiAxMDANCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIGJlZm9yZVdyaXRlID0gKG5ld09iai5wcm9wID09PSAxMDApOw0KDQogICAgICAgIG5ld09iai5wcm9wID0gImlzV3JpdGFibGUiOw0KDQogICAgICAgIHZhciBhZnRlcldyaXRlID0gKG5ld09iai5wcm9wID09PSAxMDApOw0KDQogICAgICAgIHJldHVybiBiZWZvcmVXcml0ZSA9PT0gdHJ1ZSAmJiBhZnRlcldyaXRlID09PSB0cnVlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.create - 'writable' property of one property in 'Properties' is not present (8.10.5 step 6)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-179.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNS8xNS4yLjMuNS00LTE4LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmNyZWF0ZSAtIGFuIGVudW1lcmFibGUgaW5oZXJpdGVkIGRhdGEgcHJvcGVydHkgaW4gJ1Byb3BlcnRpZXMnIGlzIG5vdCBkZWZpbmVkIGluICdvYmonICgxNS4yLjMuNyBzdGVwIDMpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgcHJvdG8gPSB7fTsNCg0KICAgICAgICBwcm90by5wcm9wID0ge307DQoNCiAgICAgICAgdmFyIENvbnN0cnVjdEZ1biA9IGZ1bmN0aW9uICgpIHsgfTsNCiAgICAgICAgQ29uc3RydWN0RnVuLnByb3RvdHlwZSA9IHByb3RvOw0KICAgICAgICB2YXIgY2hpbGQgPSBuZXcgQ29uc3RydWN0RnVuKCk7DQoNCiAgICAgICAgdmFyIG5ld09iaiA9IE9iamVjdC5jcmVhdGUoe30sIGNoaWxkKTsNCg0KICAgICAgICByZXR1cm4gIW5ld09iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.create - an enumerable inherited data property in 'Properties' is not defined in 'obj' (15.2.3.7 step 3)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-18.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNS8xNS4yLjMuNS00LTE4MC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5jcmVhdGUgLSAnd3JpdGFibGUnIHByb3BlcnR5IG9mIG9uZSBwcm9wZXJ0eSBpbiAnUHJvcGVydGllcycgaXMgb3duIGRhdGEgcHJvcGVydHkgKDguMTAuNSBzdGVwIDYuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBuZXdPYmogPSBPYmplY3QuY3JlYXRlKHt9LCB7DQogICAgICAgICAgICBwcm9wOiB7DQogICAgICAgICAgICAgICAgd3JpdGFibGU6IHRydWUNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIGJlZm9yZVdyaXRlID0gKG5ld09iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpICYmIHR5cGVvZiAobmV3T2JqLnByb3ApID09PSAidW5kZWZpbmVkIik7DQoNCiAgICAgICAgbmV3T2JqLnByb3AgPSAiaXNXcml0YWJsZSI7DQoNCiAgICAgICAgdmFyIGFmdGVyV3JpdGUgPSAobmV3T2JqLnByb3AgPT09ICJpc1dyaXRhYmxlIik7DQoNCiAgICAgICAgcmV0dXJuIGJlZm9yZVdyaXRlID09PSB0cnVlICYmIGFmdGVyV3JpdGUgPT09IHRydWU7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.create - 'writable' property of one property in 'Properties' is own data property (8.10.5 step 6.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-180.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNS8xNS4yLjMuNS00LTE4MS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5jcmVhdGUgLSAnd3JpdGFibGUnIHByb3BlcnR5IG9mIG9uZSBwcm9wZXJ0eSBpbiAnUHJvcGVydGllcycgaXMgYW4gaW5oZXJpdGVkIGRhdGEgcHJvcGVydHkgKDguMTAuNSBzdGVwIDYuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBwcm90byA9IHsNCiAgICAgICAgICAgIHdyaXRhYmxlOiB0cnVlDQogICAgICAgIH07DQoNCiAgICAgICAgdmFyIENvbnN0cnVjdEZ1biA9IGZ1bmN0aW9uICgpIHsgfTsNCiAgICAgICAgQ29uc3RydWN0RnVuLnByb3RvdHlwZSA9IHByb3RvOw0KDQogICAgICAgIHZhciBkZXNjT2JqID0gbmV3IENvbnN0cnVjdEZ1bigpOw0KDQogICAgICAgIHZhciBuZXdPYmogPSBPYmplY3QuY3JlYXRlKHt9LCB7DQogICAgICAgICAgICBwcm9wOiBkZXNjT2JqDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBiZWZvcmVXcml0ZSA9IChuZXdPYmouaGFzT3duUHJvcGVydHkoInByb3AiKSAmJiB0eXBlb2YgKG5ld09iai5wcm9wKSA9PT0gInVuZGVmaW5lZCIpOw0KDQogICAgICAgIG5ld09iai5wcm9wID0gImlzV3JpdGFibGUiOw0KDQogICAgICAgIHZhciBhZnRlcldyaXRlID0gKG5ld09iai5wcm9wID09PSAiaXNXcml0YWJsZSIpOw0KDQogICAgICAgIHJldHVybiBiZWZvcmVXcml0ZSA9PT0gdHJ1ZSAmJiBhZnRlcldyaXRlID09PSB0cnVlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.create - 'writable' property of one property in 'Properties' is an inherited data property (8.10.5 step 6.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-181.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNS8xNS4yLjMuNS00LTE4Mi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5jcmVhdGUgLSAnd3JpdGFibGUnIHByb3BlcnR5IG9mIG9uZSBwcm9wZXJ0eSBpbiAnUHJvcGVydGllcycgaXMgb3duIGRhdGEgcHJvcGVydHkgdGhhdCBvdmVycmlkZXMgYW4gaW5oZXJpdGVkIGRhdGEgcHJvcGVydHkgKDguMTAuNSBzdGVwIDYuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBwcm90byA9IHsNCiAgICAgICAgICAgIHdyaXRhYmxlOiBmYWxzZQ0KICAgICAgICB9Ow0KDQogICAgICAgIHZhciBDb25zdHJ1Y3RGdW4gPSBmdW5jdGlvbiAoKSB7IH07DQogICAgICAgIENvbnN0cnVjdEZ1bi5wcm90b3R5cGUgPSBwcm90bzsNCg0KICAgICAgICB2YXIgZGVzY09iaiA9IG5ldyBDb25zdHJ1Y3RGdW4oKTsNCg0KICAgICAgICBkZXNjT2JqLndyaXRhYmxlID0gdHJ1ZTsNCg0KICAgICAgICB2YXIgbmV3T2JqID0gT2JqZWN0LmNyZWF0ZSh7fSwgew0KICAgICAgICAgICAgcHJvcDogZGVzY09iag0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgYmVmb3JlV3JpdGUgPSAobmV3T2JqLmhhc093blByb3BlcnR5KCJwcm9wIikgJiYgdHlwZW9mIChuZXdPYmoucHJvcCkgPT09ICJ1bmRlZmluZWQiKTsNCg0KICAgICAgICBuZXdPYmoucHJvcCA9ICJpc1dyaXRhYmxlIjsNCg0KICAgICAgICB2YXIgYWZ0ZXJXcml0ZSA9IChuZXdPYmoucHJvcCA9PT0gImlzV3JpdGFibGUiKTsNCg0KICAgICAgICByZXR1cm4gYmVmb3JlV3JpdGUgPT09IHRydWUgJiYgYWZ0ZXJXcml0ZSA9PT0gdHJ1ZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.create - 'writable' property of one property in 'Properties' is own data property that overrides an inherited data property (8.10.5 step 6.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-182.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNS8xNS4yLjMuNS00LTE4My5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5jcmVhdGUgLSAnd3JpdGFibGUnIHByb3BlcnR5IG9mIG9uZSBwcm9wZXJ0eSBpbiAnUHJvcGVydGllcycgaXMgb3duIGRhdGEgcHJvcGVydHkgdGhhdCBvdmVycmlkZXMgYW4gaW5oZXJpdGVkIGFjY2Vzc29yIHByb3BlcnR5ICg4LjEwLjUgc3RlcCA2LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgcHJvdG8gPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkocHJvdG8sICJ3cml0YWJsZSIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIENvbnN0cnVjdEZ1biA9IGZ1bmN0aW9uICgpIHsgfTsNCiAgICAgICAgQ29uc3RydWN0RnVuLnByb3RvdHlwZSA9IHByb3RvOw0KDQogICAgICAgIHZhciBkZXNjT2JqID0gbmV3IENvbnN0cnVjdEZ1bigpOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShkZXNjT2JqLCAid3JpdGFibGUiLCB7DQogICAgICAgICAgICB2YWx1ZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgbmV3T2JqID0gT2JqZWN0LmNyZWF0ZSh7fSwgew0KICAgICAgICAgICAgcHJvcDogZGVzY09iag0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgYmVmb3JlV3JpdGUgPSAobmV3T2JqLmhhc093blByb3BlcnR5KCJwcm9wIikgJiYgdHlwZW9mIChuZXdPYmoucHJvcCkgPT09ICJ1bmRlZmluZWQiKTsNCg0KICAgICAgICBuZXdPYmoucHJvcCA9ICJpc1dyaXRhYmxlIjsNCg0KICAgICAgICB2YXIgYWZ0ZXJXcml0ZSA9IChuZXdPYmoucHJvcCA9PT0gImlzV3JpdGFibGUiKTsNCg0KICAgICAgICByZXR1cm4gYmVmb3JlV3JpdGUgPT09IHRydWUgJiYgYWZ0ZXJXcml0ZSA9PT0gdHJ1ZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.create - 'writable' property of one property in 'Properties' is own data property that overrides an inherited accessor property (8.10.5 step 6.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-183.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNS8xNS4yLjMuNS00LTE4NC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5jcmVhdGUgLSAnd3JpdGFibGUnIHByb3BlcnR5IG9mIG9uZSBwcm9wZXJ0eSBpbiAnUHJvcGVydGllcycgaXMgb3duIGFjY2Vzc29yIHByb3BlcnR5ICg4LjEwLjUgc3RlcCA2LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgZGVzY09iaiA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShkZXNjT2JqLCAid3JpdGFibGUiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIG5ld09iaiA9IE9iamVjdC5jcmVhdGUoe30sIHsNCiAgICAgICAgICAgIHByb3A6IGRlc2NPYmoNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIGJlZm9yZVdyaXRlID0gKG5ld09iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpICYmIHR5cGVvZiAobmV3T2JqLnByb3ApID09PSAidW5kZWZpbmVkIik7DQoNCiAgICAgICAgbmV3T2JqLnByb3AgPSAiaXNXcml0YWJsZSI7DQoNCiAgICAgICAgdmFyIGFmdGVyV3JpdGUgPSAobmV3T2JqLnByb3AgPT09ICJpc1dyaXRhYmxlIik7DQoNCiAgICAgICAgcmV0dXJuIGJlZm9yZVdyaXRlID09PSB0cnVlICYmIGFmdGVyV3JpdGUgPT09IHRydWU7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.create - 'writable' property of one property in 'Properties' is own accessor property (8.10.5 step 6.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-184.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNS8xNS4yLjMuNS00LTE4NS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5jcmVhdGUgLSAnd3JpdGFibGUnIHByb3BlcnR5IG9mIG9uZSBwcm9wZXJ0eSBpbiAnUHJvcGVydGllcycgaXMgYW4gaW5oZXJpdGVkIGFjY2Vzc29yIHByb3BlcnR5ICg4LjEwLjUgc3RlcCA2LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgcHJvdG8gPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkocHJvdG8sICJ3cml0YWJsZSIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgQ29uc3RydWN0RnVuID0gZnVuY3Rpb24gKCkgeyB9Ow0KICAgICAgICBDb25zdHJ1Y3RGdW4ucHJvdG90eXBlID0gcHJvdG87DQoNCiAgICAgICAgdmFyIGRlc2NPYmogPSBuZXcgQ29uc3RydWN0RnVuKCk7DQoNCiAgICAgICAgdmFyIG5ld09iaiA9IE9iamVjdC5jcmVhdGUoe30sIHsNCiAgICAgICAgICAgIHByb3A6IGRlc2NPYmoNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIGJlZm9yZVdyaXRlID0gKG5ld09iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpICYmIHR5cGVvZiAobmV3T2JqLnByb3ApID09PSAidW5kZWZpbmVkIik7DQoNCiAgICAgICAgbmV3T2JqLnByb3AgPSAiaXNXcml0YWJsZSI7DQoNCiAgICAgICAgdmFyIGFmdGVyV3JpdGUgPSAobmV3T2JqLnByb3AgPT09ICJpc1dyaXRhYmxlIik7DQoNCiAgICAgICAgcmV0dXJuIGJlZm9yZVdyaXRlID09PSB0cnVlICYmIGFmdGVyV3JpdGUgPT09IHRydWU7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.create - 'writable' property of one property in 'Properties' is an inherited accessor property (8.10.5 step 6.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-185.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNS8xNS4yLjMuNS00LTE4Ni5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5jcmVhdGUgLSAnd3JpdGFibGUnIHByb3BlcnR5IG9mIG9uZSBwcm9wZXJ0eSBpbiAnUHJvcGVydGllcycgaXMgb3duIGFjY2Vzc29yIHByb3BlcnR5IHRoYXQgb3ZlcnJpZGVzIGFuIGluaGVyaXRlZCBkYXRhIHByb3BlcnR5ICg4LjEwLjUgc3RlcCA2LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgcHJvdG8gPSB7DQogICAgICAgICAgICB3cml0YWJsZTogZmFsc2UNCiAgICAgICAgfTsNCg0KICAgICAgICB2YXIgQ29uc3RydWN0RnVuID0gZnVuY3Rpb24gKCkgeyB9Ow0KICAgICAgICBDb25zdHJ1Y3RGdW4ucHJvdG90eXBlID0gcHJvdG87DQoNCiAgICAgICAgdmFyIGRlc2NPYmogPSBuZXcgQ29uc3RydWN0RnVuKCk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGRlc2NPYmosICJ3cml0YWJsZSIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgbmV3T2JqID0gT2JqZWN0LmNyZWF0ZSh7fSwgew0KICAgICAgICAgICAgcHJvcDogZGVzY09iag0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgYmVmb3JlV3JpdGUgPSAobmV3T2JqLmhhc093blByb3BlcnR5KCJwcm9wIikgJiYgdHlwZW9mIChuZXdPYmoucHJvcCkgPT09ICJ1bmRlZmluZWQiKTsNCg0KICAgICAgICBuZXdPYmoucHJvcCA9ICJpc1dyaXRhYmxlIjsNCg0KICAgICAgICB2YXIgYWZ0ZXJXcml0ZSA9IChuZXdPYmoucHJvcCA9PT0gImlzV3JpdGFibGUiKTsNCg0KICAgICAgICByZXR1cm4gYmVmb3JlV3JpdGUgPT09IHRydWUgJiYgYWZ0ZXJXcml0ZSA9PT0gdHJ1ZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.create - 'writable' property of one property in 'Properties' is own accessor property that overrides an inherited data property (8.10.5 step 6.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-186.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNS8xNS4yLjMuNS00LTE4Ny5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5jcmVhdGUgLSAnd3JpdGFibGUnIHByb3BlcnR5IG9mIG9uZSBwcm9wZXJ0eSBpbiAnUHJvcGVydGllcycgaXMgb3duIGFjY2Vzc29yIHByb3BlcnR5IHRoYXQgb3ZlcnJpZGVzIGFuIGluaGVyaXRlZCBhY2Nlc3NvciBwcm9wZXJ0eSAoOC4xMC41IHN0ZXAgNi5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHByb3RvID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHByb3RvLCAid3JpdGFibGUiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBDb25zdHJ1Y3RGdW4gPSBmdW5jdGlvbiAoKSB7IH07DQogICAgICAgIENvbnN0cnVjdEZ1bi5wcm90b3R5cGUgPSBwcm90bzsNCg0KICAgICAgICB2YXIgZGVzY09iaiA9IG5ldyBDb25zdHJ1Y3RGdW4oKTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoZGVzY09iaiwgIndyaXRhYmxlIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBuZXdPYmogPSBPYmplY3QuY3JlYXRlKHt9LCB7DQogICAgICAgICAgICBwcm9wOiBkZXNjT2JqDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBiZWZvcmVXcml0ZSA9IChuZXdPYmouaGFzT3duUHJvcGVydHkoInByb3AiKSAmJiB0eXBlb2YgKG5ld09iai5wcm9wKSA9PT0gInVuZGVmaW5lZCIpOw0KDQogICAgICAgIG5ld09iai5wcm9wID0gImlzV3JpdGFibGUiOw0KDQogICAgICAgIHZhciBhZnRlcldyaXRlID0gKG5ld09iai5wcm9wID09PSAiaXNXcml0YWJsZSIpOw0KDQogICAgICAgIHJldHVybiBiZWZvcmVXcml0ZSA9PT0gdHJ1ZSAmJiBhZnRlcldyaXRlID09PSB0cnVlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.create - 'writable' property of one property in 'Properties' is own accessor property that overrides an inherited accessor property (8.10.5 step 6.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-187.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNS8xNS4yLjMuNS00LTE4OC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5jcmVhdGUgLSAnd3JpdGFibGUnIHByb3BlcnR5IG9mIG9uZSBwcm9wZXJ0eSBpbiAnUHJvcGVydGllcycgaXMgb3duIGFjY2Vzc29yIHByb3BlcnR5IHdpdGhvdXQgYSBnZXQgZnVuY3Rpb24gKDguMTAuNSBzdGVwIDYuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBkZXNjT2JqID0geyB2YWx1ZTogMTAwIH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGRlc2NPYmosICJ3cml0YWJsZSIsIHsNCiAgICAgICAgICAgIHNldDogZnVuY3Rpb24gKCkgeyB9DQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBuZXdPYmogPSBPYmplY3QuY3JlYXRlKHt9LCB7DQogICAgICAgICAgICBwcm9wOiBkZXNjT2JqDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBiZWZvcmVXcml0ZSA9IChuZXdPYmoucHJvcCA9PT0gMTAwKTsNCg0KICAgICAgICBuZXdPYmoucHJvcCA9ICJpc1dyaXRhYmxlIjsNCg0KICAgICAgICB2YXIgYWZ0ZXJXcml0ZSA9IChuZXdPYmoucHJvcCA9PT0gMTAwKTsNCg0KICAgICAgICByZXR1cm4gYmVmb3JlV3JpdGUgPT09IHRydWUgJiYgYWZ0ZXJXcml0ZSA9PT0gdHJ1ZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.create - 'writable' property of one property in 'Properties' is own accessor property without a get function (8.10.5 step 6.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-188.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNS8xNS4yLjMuNS00LTE4OS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5jcmVhdGUgLSAnd3JpdGFibGUnIHByb3BlcnR5IG9mIG9uZSBwcm9wZXJ0eSBpbiAnUHJvcGVydGllcycgaXMgb3duIGFjY2Vzc29yIHByb3BlcnR5IHdpdGhvdXQgYSBnZXQgZnVuY3Rpb24sIHdoaWNoIG92ZXJyaWRlcyBhbiBpbmhlcml0ZWQgYWNjZXNzb3IgcHJvcGVydHkgKDguMTAuNSBzdGVwIDYuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBwcm90byA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShwcm90bywgIndyaXRhYmxlIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBDb25zdHJ1Y3RGdW4gPSBmdW5jdGlvbiAoKSB7IH07DQogICAgICAgIENvbnN0cnVjdEZ1bi5wcm90b3R5cGUgPSBwcm90bzsNCg0KICAgICAgICB2YXIgZGVzY09iaiA9IG5ldyBDb25zdHJ1Y3RGdW4oKTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoZGVzY09iaiwgIndyaXRhYmxlIiwgew0KICAgICAgICAgICAgc2V0OiBmdW5jdGlvbiAoKSB7IH0NCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIG5ld09iaiA9IE9iamVjdC5jcmVhdGUoe30sIHsNCiAgICAgICAgICAgIHByb3A6IGRlc2NPYmoNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIGJlZm9yZVdyaXRlID0gKG5ld09iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpICYmIHR5cGVvZiAobmV3T2JqLnByb3ApID09PSAidW5kZWZpbmVkIik7DQoNCiAgICAgICAgbmV3T2JqLnByb3AgPSAiaXNXcml0YWJsZSI7DQoNCiAgICAgICAgdmFyIGFmdGVyV3JpdGUgPSAobmV3T2JqLnByb3AgPT09ICJpc1dyaXRhYmxlIik7DQoNCiAgICAgICAgcmV0dXJuIGJlZm9yZVdyaXRlID09PSB0cnVlICYmIGFmdGVyV3JpdGUgPT09IGZhbHNlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.create - 'writable' property of one property in 'Properties' is own accessor property without a get function, which overrides an inherited accessor property (8.10.5 step 6.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-189.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNS8xNS4yLjMuNS00LTE5LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmNyZWF0ZSAtICBvd24gZW51bWVyYWJsZSBhY2Nlc3NvciBwcm9wZXJ0eSBpbiAnUHJvcGVydGllcycgaXMgZGVmaW5lZCBpbiAnb2JqJyAoMTUuMi4zLjcgc3RlcCAzKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHByb3BzID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHByb3BzLCAicHJvcCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiB7fTsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBuZXdPYmogPSBPYmplY3QuY3JlYXRlKHt9LCBwcm9wcyk7DQoNCiAgICAgICAgcmV0dXJuIG5ld09iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.create - own enumerable accessor property in 'Properties' is defined in 'obj' (15.2.3.7 step 3)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-19.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNS8xNS4yLjMuNS00LTE5MC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5jcmVhdGUgLSAnd3JpdGFibGUnIHByb3BlcnR5IG9mIG9uZSBwcm9wZXJ0eSBpbiAnUHJvcGVydGllcycgaXMgYW4gaW5oZXJpdGVkIGFjY2Vzc29yIHByb3BlcnR5IHdpdGhvdXQgYSBnZXQgZnVuY3Rpb24gKDguMTAuNSBzdGVwIDYuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBwcm90byA9IHsgdmFsdWU6IDEwMCB9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShwcm90bywgIndyaXRhYmxlIiwgew0KICAgICAgICAgICAgc2V0OiBmdW5jdGlvbiAoKSB7IH0NCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIENvbnN0cnVjdEZ1biA9IGZ1bmN0aW9uICgpIHsgfTsNCiAgICAgICAgQ29uc3RydWN0RnVuLnByb3RvdHlwZSA9IHByb3RvOw0KDQogICAgICAgIHZhciBkZXNjT2JqID0gbmV3IENvbnN0cnVjdEZ1bigpOw0KDQogICAgICAgIHZhciBuZXdPYmogPSBPYmplY3QuY3JlYXRlKHt9LCB7DQogICAgICAgICAgICBwcm9wOiBkZXNjT2JqDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBiZWZvcmVXcml0ZSA9IChuZXdPYmoucHJvcCA9PT0gMTAwKTsNCg0KICAgICAgICBuZXdPYmoucHJvcCA9ICJpc1dyaXRhYmxlIjsNCg0KICAgICAgICB2YXIgYWZ0ZXJXcml0ZSA9IChuZXdPYmoucHJvcCA9PT0gMTAwKTsNCg0KICAgICAgICByZXR1cm4gYmVmb3JlV3JpdGUgPT09IHRydWUgJiYgYWZ0ZXJXcml0ZSA9PT0gdHJ1ZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.create - 'writable' property of one property in 'Properties' is an inherited accessor property without a get function (8.10.5 step 6.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-190.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNS8xNS4yLjMuNS00LTE5MS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5jcmVhdGUgLSBvbmUgcHJvcGVydHkgaW4gJ1Byb3BlcnRpZXMnIGlzIGEgRnVuY3Rpb24gb2JqZWN0IHdoaWNoIGltcGxlbWVudHMgaXRzIG93biBbW0dldF1dIG1ldGhvZCB0byBhY2Nlc3MgdGhlICd3cml0YWJsZScgcHJvcGVydHkgKDguMTAuNSBzdGVwIDYuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBGdW5jID0gZnVuY3Rpb24gKGEsIGIpIHsNCiAgICAgICAgICAgIHJldHVybiBhICsgYjsNCiAgICAgICAgfTsNCg0KICAgICAgICB2YXIgZnVuID0gbmV3IEZ1bmMoKTsNCiAgICAgICAgZnVuLndyaXRhYmxlID0gdHJ1ZTsNCg0KICAgICAgICB2YXIgbmV3T2JqID0gT2JqZWN0LmNyZWF0ZSh7fSwgew0KICAgICAgICAgICAgcHJvcDogZnVuDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBiZWZvcmVXcml0ZSA9IChuZXdPYmouaGFzT3duUHJvcGVydHkoInByb3AiKSAmJiB0eXBlb2YgKG5ld09iai5wcm9wKSA9PT0gInVuZGVmaW5lZCIpOw0KDQogICAgICAgIG5ld09iai5wcm9wID0gImlzV3JpdGFibGUiOw0KDQogICAgICAgIHZhciBhZnRlcldyaXRlID0gKG5ld09iai5wcm9wID09PSAiaXNXcml0YWJsZSIpOw0KDQogICAgICAgIHJldHVybiBiZWZvcmVXcml0ZSA9PT0gdHJ1ZSAmJiBhZnRlcldyaXRlID09PSB0cnVlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.create - one property in 'Properties' is a Function object which implements its own [[Get]] method to access the 'writable' property (8.10.5 step 6.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-191.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNS8xNS4yLjMuNS00LTE5Mi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5jcmVhdGUgLSBvbmUgcHJvcGVydHkgaW4gJ1Byb3BlcnRpZXMnIGlzIGFuIEFycmF5IG9iamVjdCB0aGF0IHVzZXMgT2JqZWN0J3MgW1tHZXRdXSBtZXRob2QgdG8gYWNjZXNzIHRoZSAnd3JpdGFibGUnIHByb3BlcnR5ICg4LjEwLjUgc3RlcCA2LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYXJyYXkgPSBbMSwgMiwgM107DQoNCiAgICAgICAgYXJyYXkud3JpdGFibGUgPSB0cnVlOw0KDQogICAgICAgIHZhciBuZXdPYmogPSBPYmplY3QuY3JlYXRlKHt9LCB7DQogICAgICAgICAgICBwcm9wOiBhcnJheQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgYmVmb3JlV3JpdGUgPSAobmV3T2JqLmhhc093blByb3BlcnR5KCJwcm9wIikgJiYgdHlwZW9mIChuZXdPYmoucHJvcCkgPT09ICJ1bmRlZmluZWQiKTsNCg0KICAgICAgICBuZXdPYmoucHJvcCA9ICJpc1dyaXRhYmxlIjsNCg0KICAgICAgICB2YXIgYWZ0ZXJXcml0ZSA9IChuZXdPYmoucHJvcCA9PT0gImlzV3JpdGFibGUiKTsNCg0KICAgICAgICByZXR1cm4gYmVmb3JlV3JpdGUgPT09IHRydWUgJiYgYWZ0ZXJXcml0ZSA9PT0gdHJ1ZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.create - one property in 'Properties' is an Array object that uses Object's [[Get]] method to access the 'writable' property (8.10.5 step 6.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-192.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNS8xNS4yLjMuNS00LTE5My5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5jcmVhdGUgLSBvbmUgcHJvcGVydHkgaW4gJ1Byb3BlcnRpZXMnIGlzIGEgU3RyaW5nIG9iamVjdCB0aGF0IHVzZXMgT2JqZWN0J3MgW1tHZXRdXSBtZXRob2QgdG8gYWNjZXNzIHRoZSAnd3JpdGFibGUnIHByb3BlcnR5ICg4LjEwLjUgc3RlcCA2LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgc3RyID0gbmV3IFN0cmluZygiYWJjIik7DQoNCiAgICAgICAgc3RyLndyaXRhYmxlID0gdHJ1ZTsNCg0KICAgICAgICB2YXIgbmV3T2JqID0gT2JqZWN0LmNyZWF0ZSh7fSwgew0KICAgICAgICAgICAgcHJvcDogc3RyDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBiZWZvcmVXcml0ZSA9IChuZXdPYmouaGFzT3duUHJvcGVydHkoInByb3AiKSAmJiB0eXBlb2YgKG5ld09iai5wcm9wKSA9PT0gInVuZGVmaW5lZCIpOw0KDQogICAgICAgIG5ld09iai5wcm9wID0gImlzV3JpdGFibGUiOw0KDQogICAgICAgIHZhciBhZnRlcldyaXRlID0gKG5ld09iai5wcm9wID09PSAiaXNXcml0YWJsZSIpOw0KDQogICAgICAgIHJldHVybiBiZWZvcmVXcml0ZSA9PT0gdHJ1ZSAmJiBhZnRlcldyaXRlID09PSB0cnVlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.create - one property in 'Properties' is a String object that uses Object's [[Get]] method to access the 'writable' property (8.10.5 step 6.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-193.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNS8xNS4yLjMuNS00LTE5NC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5jcmVhdGUgLSBvbmUgcHJvcGVydHkgaW4gJ1Byb3BlcnRpZXMnIGlzIGEgQm9vbGVhbiBvYmplY3QgdGhhdCB1c2VzIE9iamVjdCdzIFtbR2V0XV0gbWV0aG9kIHRvIGFjY2VzcyB0aGUgJ3dyaXRhYmxlJyBwcm9wZXJ0eSAoOC4xMC41IHN0ZXAgNi5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGJvb2xlYW5PYmogPSBuZXcgQm9vbGVhbihmYWxzZSk7DQoNCiAgICAgICAgYm9vbGVhbk9iai53cml0YWJsZSA9IHRydWU7DQoNCiAgICAgICAgdmFyIG5ld09iaiA9IE9iamVjdC5jcmVhdGUoe30sIHsNCiAgICAgICAgICAgIHByb3A6IGJvb2xlYW5PYmoNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIGJlZm9yZVdyaXRlID0gKG5ld09iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpICYmIHR5cGVvZiAobmV3T2JqLnByb3ApID09PSAidW5kZWZpbmVkIik7DQoNCiAgICAgICAgbmV3T2JqLnByb3AgPSAiaXNXcml0YWJsZSI7DQoNCiAgICAgICAgdmFyIGFmdGVyV3JpdGUgPSAobmV3T2JqLnByb3AgPT09ICJpc1dyaXRhYmxlIik7DQoNCiAgICAgICAgcmV0dXJuIGJlZm9yZVdyaXRlID09PSB0cnVlICYmIGFmdGVyV3JpdGUgPT09IHRydWU7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.create - one property in 'Properties' is a Boolean object that uses Object's [[Get]] method to access the 'writable' property (8.10.5 step 6.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-194.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNS8xNS4yLjMuNS00LTE5NS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5jcmVhdGUgLSBvbmUgcHJvcGVydHkgaW4gJ1Byb3BlcnRpZXMnIGlzIGEgTnVtYmVyIG9iamVjdCB0aGF0IHVzZXMgT2JqZWN0J3MgW1tHZXRdXSBtZXRob2QgdG8gYWNjZXNzIHRoZSAnd3JpdGFibGUnIHByb3BlcnR5ICg4LjEwLjUgc3RlcCA2LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgbnVtT2JqID0gbmV3IE51bWJlcigxMjMpOw0KDQogICAgICAgIG51bU9iai53cml0YWJsZSA9IHRydWU7DQoNCiAgICAgICAgdmFyIG5ld09iaiA9IE9iamVjdC5jcmVhdGUoe30sIHsNCiAgICAgICAgICAgIHByb3A6IG51bU9iag0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgYmVmb3JlV3JpdGUgPSAobmV3T2JqLmhhc093blByb3BlcnR5KCJwcm9wIikgJiYgdHlwZW9mIChuZXdPYmoucHJvcCkgPT09ICJ1bmRlZmluZWQiKTsNCg0KICAgICAgICBuZXdPYmoucHJvcCA9ICJpc1dyaXRhYmxlIjsNCg0KICAgICAgICB2YXIgYWZ0ZXJXcml0ZSA9IChuZXdPYmoucHJvcCA9PT0gImlzV3JpdGFibGUiKTsNCg0KICAgICAgICByZXR1cm4gYmVmb3JlV3JpdGUgPT09IHRydWUgJiYgYWZ0ZXJXcml0ZSA9PT0gdHJ1ZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.create - one property in 'Properties' is a Number object that uses Object's [[Get]] method to access the 'writable' property (8.10.5 step 6.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-195.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNS8xNS4yLjMuNS00LTE5Ni5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5jcmVhdGUgLSBvbmUgcHJvcGVydHkgaW4gJ1Byb3BlcnRpZXMnIGlzIHRoZSBNYXRoIG9iamVjdCB0aGF0IHVzZXMgT2JqZWN0J3MgW1tHZXRdXSBtZXRob2QgdG8gYWNjZXNzIHRoZSAnd3JpdGFibGUnIHByb3BlcnR5ICg4LjEwLjUgc3RlcCA2LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgTWF0aC53cml0YWJsZSA9IHRydWU7DQoNCiAgICAgICAgICAgIHZhciBuZXdPYmogPSBPYmplY3QuY3JlYXRlKHt9LCB7DQogICAgICAgICAgICAgICAgcHJvcDogTWF0aA0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgIHZhciBiZWZvcmVXcml0ZSA9IChuZXdPYmouaGFzT3duUHJvcGVydHkoInByb3AiKSAmJiB0eXBlb2YgKG5ld09iai5wcm9wKSA9PT0gInVuZGVmaW5lZCIpOw0KDQogICAgICAgICAgICBuZXdPYmoucHJvcCA9ICJpc1dyaXRhYmxlIjsNCg0KICAgICAgICAgICAgdmFyIGFmdGVyV3JpdGUgPSAobmV3T2JqLnByb3AgPT09ICJpc1dyaXRhYmxlIik7DQoNCiAgICAgICAgICAgIHJldHVybiBiZWZvcmVXcml0ZSA9PT0gdHJ1ZSAmJiBhZnRlcldyaXRlID09PSB0cnVlOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIE1hdGgud3JpdGFibGU7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.create - one property in 'Properties' is the Math object that uses Object's [[Get]] method to access the 'writable' property (8.10.5 step 6.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-196.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNS8xNS4yLjMuNS00LTE5Ny5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5jcmVhdGUgLSBvbmUgcHJvcGVydHkgaW4gJ1Byb3BlcnRpZXMnIGlzIGEgRGF0ZSBvYmplY3QgdGhhdCB1c2VzIE9iamVjdCdzIFtbR2V0XV0gbWV0aG9kIHRvIGFjY2VzcyB0aGUgJ3dyaXRhYmxlJyBwcm9wZXJ0eSAoOC4xMC41IHN0ZXAgNi5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGRhdGVPYmogPSBuZXcgRGF0ZSgpOw0KDQogICAgICAgIGRhdGVPYmoud3JpdGFibGUgPSB0cnVlOw0KDQogICAgICAgIHZhciBuZXdPYmogPSBPYmplY3QuY3JlYXRlKHt9LCB7DQogICAgICAgICAgICBwcm9wOiBkYXRlT2JqDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBiZWZvcmVXcml0ZSA9IChuZXdPYmouaGFzT3duUHJvcGVydHkoInByb3AiKSAmJiB0eXBlb2YgKG5ld09iai5wcm9wKSA9PT0gInVuZGVmaW5lZCIpOw0KDQogICAgICAgIG5ld09iai5wcm9wID0gImlzV3JpdGFibGUiOw0KDQogICAgICAgIHZhciBhZnRlcldyaXRlID0gKG5ld09iai5wcm9wID09PSAiaXNXcml0YWJsZSIpOw0KDQogICAgICAgIHJldHVybiBiZWZvcmVXcml0ZSA9PT0gdHJ1ZSAmJiBhZnRlcldyaXRlID09PSB0cnVlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.create - one property in 'Properties' is a Date object that uses Object's [[Get]] method to access the 'writable' property (8.10.5 step 6.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-197.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNS8xNS4yLjMuNS00LTE5OC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5jcmVhdGUgLSBvbmUgcHJvcGVydHkgaW4gJ1Byb3BlcnRpZXMnIGlzIGEgUmVnRXhwIG9iamVjdCB0aGF0IHVzZXMgT2JqZWN0J3MgW1tHZXRdXSBtZXRob2QgdG8gYWNjZXNzIHRoZSAnd3JpdGFibGUnIHByb3BlcnR5ICg4LjEwLjUgc3RlcCA2LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgcmVnT2JqID0gbmV3IFJlZ0V4cCgpOw0KDQogICAgICAgIHJlZ09iai53cml0YWJsZSA9IHRydWU7DQoNCiAgICAgICAgdmFyIG5ld09iaiA9IE9iamVjdC5jcmVhdGUoe30sIHsNCiAgICAgICAgICAgIHByb3A6IHJlZ09iag0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgYmVmb3JlV3JpdGUgPSAobmV3T2JqLmhhc093blByb3BlcnR5KCJwcm9wIikgJiYgdHlwZW9mIChuZXdPYmoucHJvcCkgPT09ICJ1bmRlZmluZWQiKTsNCg0KICAgICAgICBuZXdPYmoucHJvcCA9ICJpc1dyaXRhYmxlIjsNCg0KICAgICAgICB2YXIgYWZ0ZXJXcml0ZSA9IChuZXdPYmoucHJvcCA9PT0gImlzV3JpdGFibGUiKTsNCg0KICAgICAgICByZXR1cm4gYmVmb3JlV3JpdGUgPT09IHRydWUgJiYgYWZ0ZXJXcml0ZSA9PT0gdHJ1ZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.create - one property in 'Properties' is a RegExp object that uses Object's [[Get]] method to access the 'writable' property (8.10.5 step 6.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-198.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNS8xNS4yLjMuNS00LTE5OS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5jcmVhdGUgLSBvbmUgcHJvcGVydHkgaW4gJ1Byb3BlcnRpZXMnIGlzIHRoZSBKU09OIG9iamVjdCB0aGF0IHVzZXMgT2JqZWN0J3MgW1tHZXRdXSBtZXRob2QgdG8gYWNjZXNzIHRoZSAnd3JpdGFibGUnIHByb3BlcnR5ICg4LjEwLjUgc3RlcCA2LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgSlNPTi53cml0YWJsZSA9IHRydWU7DQoNCiAgICAgICAgICAgIHZhciBuZXdPYmogPSBPYmplY3QuY3JlYXRlKHt9LCB7DQogICAgICAgICAgICAgICAgcHJvcDogSlNPTiANCiAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICB2YXIgYmVmb3JlV3JpdGUgPSAobmV3T2JqLmhhc093blByb3BlcnR5KCJwcm9wIikgJiYgdHlwZW9mIChuZXdPYmoucHJvcCkgPT09ICJ1bmRlZmluZWQiKTsNCg0KICAgICAgICAgICAgbmV3T2JqLnByb3AgPSAiaXNXcml0YWJsZSI7DQoNCiAgICAgICAgICAgIHZhciBhZnRlcldyaXRlID0gKG5ld09iai5wcm9wID09PSAiaXNXcml0YWJsZSIpOw0KDQogICAgICAgICAgICByZXR1cm4gYmVmb3JlV3JpdGUgPT09IHRydWUgJiYgYWZ0ZXJXcml0ZSA9PT0gdHJ1ZTsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBKU09OLndyaXRhYmxlOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.create - one property in 'Properties' is the JSON object that uses Object's [[Get]] method to access the 'writable' property (8.10.5 step 6.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-199.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNS8xNS4yLjMuNS00LTIuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gJ1Byb3BlcnRpZXMnIGlzIHVuZGVmaW5lZA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG5ld09iaiA9IE9iamVjdC5jcmVhdGUoe30sIHVuZGVmaW5lZCk7DQogICAgICAgIHJldHVybiAobmV3T2JqIGluc3RhbmNlb2YgT2JqZWN0KTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.create - 'Properties' is undefined","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNS8xNS4yLjMuNS00LTIwLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmNyZWF0ZSAtIG93biBhY2Nlc3NvciBwcm9wZXJ0eSBpbiAnUHJvcGVydGllcycgd2hpY2ggaXMgbm90IGVudW1lcmFibGUgaXMgbm90IGRlZmluZWQgaW4gJ29iaicgKDE1LjIuMy43IHN0ZXAgMykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBwcm9wcyA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShwcm9wcywgInByb3AiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4ge307DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgZW51bWVyYWJsZTogZmFsc2UNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIG5ld09iaiA9IE9iamVjdC5jcmVhdGUoe30sIHByb3BzKTsNCg0KICAgICAgICByZXR1cm4gIW5ld09iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.create - own accessor property in 'Properties' which is not enumerable is not defined in 'obj' (15.2.3.7 step 3)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-20.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNS8xNS4yLjMuNS00LTIwMC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5jcmVhdGUgLSBvbmUgcHJvcGVydHkgaW4gJ1Byb3BlcnRpZXMnIGlzIGFuIEVycm9yIG9iamVjdCB0aGF0IHVzZXMgT2JqZWN0J3MgW1tHZXRdXSBtZXRob2QgdG8gYWNjZXNzIHRoZSAnd3JpdGFibGUnIHByb3BlcnR5ICg4LjEwLjUgc3RlcCA2LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgZXJyb3JPYmogPSBuZXcgRXJyb3IoKTsNCg0KICAgICAgICBlcnJvck9iai53cml0YWJsZSA9IHRydWU7DQoNCiAgICAgICAgdmFyIG5ld09iaiA9IE9iamVjdC5jcmVhdGUoe30sIHsNCiAgICAgICAgICAgIHByb3A6IGVycm9yT2JqDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBiZWZvcmVXcml0ZSA9IChuZXdPYmouaGFzT3duUHJvcGVydHkoInByb3AiKSAmJiB0eXBlb2YgKG5ld09iai5wcm9wKSA9PT0gInVuZGVmaW5lZCIpOw0KDQogICAgICAgIG5ld09iai5wcm9wID0gImlzV3JpdGFibGUiOw0KDQogICAgICAgIHZhciBhZnRlcldyaXRlID0gKG5ld09iai5wcm9wID09PSAiaXNXcml0YWJsZSIpOw0KDQogICAgICAgIHJldHVybiBiZWZvcmVXcml0ZSA9PT0gdHJ1ZSAmJiBhZnRlcldyaXRlID09PSB0cnVlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.create - one property in 'Properties' is an Error object that uses Object's [[Get]] method to access the 'writable' property (8.10.5 step 6.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-200.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNS8xNS4yLjMuNS00LTIwMS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5jcmVhdGUgLSBvbmUgcHJvcGVydHkgaW4gJ1Byb3BlcnRpZXMnIGlzIGFuIEFyZ3VtZW50cyBvYmplY3Qgd2hpY2ggaW1wbGVtZW50cyBpdHMgb3duIFtbR2V0XV0gbWV0aG9kIHRvIGFjY2VzcyB0aGUgJ3dyaXRhYmxlJyBwcm9wZXJ0eSAoOC4xMC41IHN0ZXAgNi5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFyZ09iaiA9IChmdW5jdGlvbiAoKSB7IHJldHVybiBhcmd1bWVudHM7IH0pKCk7DQoNCiAgICAgICAgYXJnT2JqLndyaXRhYmxlID0gdHJ1ZTsNCg0KICAgICAgICB2YXIgbmV3T2JqID0gT2JqZWN0LmNyZWF0ZSh7fSwgew0KICAgICAgICAgICAgcHJvcDogYXJnT2JqDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBiZWZvcmVXcml0ZSA9IChuZXdPYmouaGFzT3duUHJvcGVydHkoInByb3AiKSAmJiB0eXBlb2YgKG5ld09iai5wcm9wKSA9PT0gInVuZGVmaW5lZCIpOw0KDQogICAgICAgIG5ld09iai5wcm9wID0gImlzV3JpdGFibGUiOw0KDQogICAgICAgIHZhciBhZnRlcldyaXRlID0gKG5ld09iai5wcm9wID09PSAiaXNXcml0YWJsZSIpOw0KDQogICAgICAgIHJldHVybiBiZWZvcmVXcml0ZSA9PT0gdHJ1ZSAmJiBhZnRlcldyaXRlID09PSB0cnVlOw0KDQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.create - one property in 'Properties' is an Arguments object which implements its own [[Get]] method to access the 'writable' property (8.10.5 step 6.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-201.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNS8xNS4yLjMuNS00LTIwMy5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5jcmVhdGUgLSBvbmUgcHJvcGVydHkgaW4gJ1Byb3BlcnRpZXMnIGlzIHRoZSBnbG9iYWwgb2JqZWN0IHRoYXQgdXNlcyBPYmplY3QncyBbW0dldF1dIG1ldGhvZCB0byBhY2Nlc3MgdGhlICd3cml0YWJsZScgcHJvcGVydHkgKDguMTAuNSBzdGVwIDYuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBmbkdsb2JhbE9iamVjdCgpLndyaXRhYmxlID0gdHJ1ZTsNCg0KICAgICAgICAgICAgdmFyIG5ld09iaiA9IE9iamVjdC5jcmVhdGUoe30sIHsNCiAgICAgICAgICAgICAgICBwcm9wOiBmbkdsb2JhbE9iamVjdCgpIA0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgIHZhciBiZWZvcmVXcml0ZSA9IChuZXdPYmouaGFzT3duUHJvcGVydHkoInByb3AiKSAmJiB0eXBlb2YgKG5ld09iai5wcm9wKSA9PT0gInVuZGVmaW5lZCIpOw0KDQogICAgICAgICAgICBuZXdPYmoucHJvcCA9ICJpc1dyaXRhYmxlIjsNCg0KICAgICAgICAgICAgdmFyIGFmdGVyV3JpdGUgPSAobmV3T2JqLnByb3AgPT09ICJpc1dyaXRhYmxlIik7DQoNCiAgICAgICAgICAgIHJldHVybiBiZWZvcmVXcml0ZSA9PT0gdHJ1ZSAmJiBhZnRlcldyaXRlID09PSB0cnVlOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIGZuR2xvYmFsT2JqZWN0KCkud3JpdGFibGU7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.create - one property in 'Properties' is the global object that uses Object's [[Get]] method to access the 'writable' property (8.10.5 step 6.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-203.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNS8xNS4yLjMuNS00LTIwNC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5jcmVhdGUgLSAnd3JpdGFibGUnIHByb3BlcnR5IG9mIG9uZSBwcm9wZXJ0eSBpbiAnUHJvcGVydGllcycgaXMgdW5kZWZpbmVkICg4LjEwLjUgc3RlcCA2LmIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG5ld09iaiA9IE9iamVjdC5jcmVhdGUoe30sIHsNCiAgICAgICAgICAgIHByb3A6IHsNCiAgICAgICAgICAgICAgICB3cml0YWJsZTogdW5kZWZpbmVkDQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBoYXNQcm9wZXJ0eSA9IG5ld09iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpICYmIHR5cGVvZiBuZXdPYmoucHJvcCA9PT0gInVuZGVmaW5lZCI7DQoNCiAgICAgICAgbmV3T2JqLnByb3AgPSAxMjE7DQoNCiAgICAgICAgcmV0dXJuIGhhc1Byb3BlcnR5ICYmIHR5cGVvZiBuZXdPYmoucHJvcCA9PT0gInVuZGVmaW5lZCI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.create - 'writable' property of one property in 'Properties' is undefined (8.10.5 step 6.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-204.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNS8xNS4yLjMuNS00LTIwNS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5jcmVhdGUgLSAnd3JpdGFibGUnIHByb3BlcnR5IG9mIG9uZSBwcm9wZXJ0eSBpbiAnUHJvcGVydGllcycgaXMgbnVsbCAoOC4xMC41IHN0ZXAgNi5iKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG5ld09iaiA9IE9iamVjdC5jcmVhdGUoe30sIHsNCiAgICAgICAgICAgIHByb3A6IHsNCiAgICAgICAgICAgICAgICB3cml0YWJsZTogbnVsbA0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCiAgICAgICAgdmFyIGhhc1Byb3BlcnR5ID0gbmV3T2JqLmhhc093blByb3BlcnR5KCJwcm9wIikgJiYgdHlwZW9mIG5ld09iai5wcm9wID09PSAidW5kZWZpbmVkIjsNCg0KICAgICAgICBuZXdPYmoucHJvcCA9IDEyMTsNCg0KICAgICAgICByZXR1cm4gaGFzUHJvcGVydHkgJiYgdHlwZW9mIG5ld09iai5wcm9wID09PSAidW5kZWZpbmVkIjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.create - 'writable' property of one property in 'Properties' is null (8.10.5 step 6.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-205.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNS8xNS4yLjMuNS00LTIwNi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5jcmVhdGUgLSAnd3JpdGFibGUnIHByb3BlcnR5IG9mIG9uZSBwcm9wZXJ0eSBpbiAnUHJvcGVydGllcycgIGlzIHRydWUgKDguMTAuNSBzdGVwIDYuYikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBuZXdPYmogPSBPYmplY3QuY3JlYXRlKHt9LCB7DQogICAgICAgICAgICBwcm9wOiB7DQogICAgICAgICAgICAgICAgd3JpdGFibGU6IHRydWUNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQogICAgICAgIHZhciBoYXNQcm9wZXJ0eSA9IG5ld09iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KDQogICAgICAgIG5ld09iai5wcm9wID0gMTIxOw0KDQogICAgICAgIHJldHVybiBoYXNQcm9wZXJ0eSAmJiBuZXdPYmoucHJvcCA9PT0gMTIxOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.create - 'writable' property of one property in 'Properties' is true (8.10.5 step 6.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-206.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNS8xNS4yLjMuNS00LTIwNy5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5jcmVhdGUgLSAnd3JpdGFibGUnIHByb3BlcnR5IG9mIG9uZSBwcm9wZXJ0eSBpbiAnUHJvcGVydGllcycgaXMgZmFsc2UgKDguMTAuNSBzdGVwIDYuYikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBuZXdPYmogPSBPYmplY3QuY3JlYXRlKHt9LCB7DQogICAgICAgICAgICBwcm9wOiB7DQogICAgICAgICAgICAgICAgd3JpdGFibGU6IGZhbHNlDQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KICAgICAgICB2YXIgaGFzUHJvcGVydHkgPSBuZXdPYmouaGFzT3duUHJvcGVydHkoInByb3AiKSAmJiB0eXBlb2YgbmV3T2JqLnByb3AgPT09ICJ1bmRlZmluZWQiOw0KDQogICAgICAgIG5ld09iai5wcm9wID0gMTIxOw0KDQogICAgICAgIHJldHVybiBoYXNQcm9wZXJ0eSAmJiB0eXBlb2YgbmV3T2JqLnByb3AgPT09ICJ1bmRlZmluZWQiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.create - 'writable' property of one property in 'Properties' is false (8.10.5 step 6.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-207.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNS8xNS4yLjMuNS00LTIwOC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5jcmVhdGUgLSAnd3JpdGFibGUnIHByb3BlcnR5IG9mIG9uZSBwcm9wZXJ0eSBpbiAnUHJvcGVydGllcycgaXMgMCAoOC4xMC41IHN0ZXAgNi5iKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG5ld09iaiA9IE9iamVjdC5jcmVhdGUoe30sIHsNCiAgICAgICAgICAgIHByb3A6IHsNCiAgICAgICAgICAgICAgICB3cml0YWJsZTogMA0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCiAgICAgICAgdmFyIGhhc1Byb3BlcnR5ID0gbmV3T2JqLmhhc093blByb3BlcnR5KCJwcm9wIikgJiYgdHlwZW9mIG5ld09iai5wcm9wID09PSAidW5kZWZpbmVkIjsNCg0KICAgICAgICBuZXdPYmoucHJvcCA9IDEyMTsNCg0KICAgICAgICByZXR1cm4gaGFzUHJvcGVydHkgJiYgdHlwZW9mIG5ld09iai5wcm9wID09PSAidW5kZWZpbmVkIjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.create - 'writable' property of one property in 'Properties' is 0 (8.10.5 step 6.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-208.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNS8xNS4yLjMuNS00LTIwOS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5jcmVhdGUgLSAnd3JpdGFibGUnIHByb3BlcnR5IG9mIG9uZSBwcm9wZXJ0eSBpbiAnUHJvcGVydGllcycgaXMgKzAgKDguMTAuNSBzdGVwIDYuYikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBuZXdPYmogPSBPYmplY3QuY3JlYXRlKHt9LCB7DQogICAgICAgICAgICBwcm9wOiB7DQogICAgICAgICAgICAgICAgd3JpdGFibGU6ICswDQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KICAgICAgICB2YXIgaGFzUHJvcGVydHkgPSBuZXdPYmouaGFzT3duUHJvcGVydHkoInByb3AiKSAmJiB0eXBlb2YgbmV3T2JqLnByb3AgPT09ICJ1bmRlZmluZWQiOw0KDQogICAgICAgIG5ld09iai5wcm9wID0gMTIxOw0KDQogICAgICAgIHJldHVybiBoYXNQcm9wZXJ0eSAmJiB0eXBlb2YgbmV3T2JqLnByb3AgPT09ICJ1bmRlZmluZWQiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.create - 'writable' property of one property in 'Properties' is +0 (8.10.5 step 6.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-209.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNS8xNS4yLjMuNS00LTIxLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmNyZWF0ZSAtIGFuIGVudW1lcmFibGUgaW5oZXJpdGVkIGFjY2Vzc29yIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyBub3QgZGVmaW5lZCBpbiAnb2JqJyAoMTUuMi4zLjcgc3RlcCAzKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHByb3RvID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHByb3RvLCAicHJvcCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiB7fTsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBDb25zdHJ1Y3RGdW4gPSBmdW5jdGlvbiAoKSB7IH07DQogICAgICAgIENvbnN0cnVjdEZ1bi5wcm90b3R5cGUgPSBwcm90bzsNCiAgICAgICAgdmFyIGNoaWxkID0gbmV3IENvbnN0cnVjdEZ1bigpOw0KDQogICAgICAgIHZhciBuZXdPYmogPSBPYmplY3QuY3JlYXRlKHt9LCBjaGlsZCk7DQoNCiAgICAgICAgcmV0dXJuICFuZXdPYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.create - an enumerable inherited accessor property in 'Properties' is not defined in 'obj' (15.2.3.7 step 3)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-21.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNS8xNS4yLjMuNS00LTIxMC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5jcmVhdGUgLSAnd3JpdGFibGUnIHByb3BlcnR5IG9mIG9uZSBwcm9wZXJ0eSBpbiAnUHJvcGVydGllcycgaXMgLTAgKDguMTAuNSBzdGVwIDYuYikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBuZXdPYmogPSBPYmplY3QuY3JlYXRlKHt9LCB7DQogICAgICAgICAgICBwcm9wOiB7DQogICAgICAgICAgICAgICAgd3JpdGFibGU6IC0wDQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KICAgICAgICB2YXIgaGFzUHJvcGVydHkgPSBuZXdPYmouaGFzT3duUHJvcGVydHkoInByb3AiKSAmJiB0eXBlb2YgbmV3T2JqLnByb3AgPT09ICJ1bmRlZmluZWQiOw0KDQogICAgICAgIG5ld09iai5wcm9wID0gMTIxOw0KDQogICAgICAgIHJldHVybiBoYXNQcm9wZXJ0eSAmJiB0eXBlb2YgbmV3T2JqLnByb3AgPT09ICJ1bmRlZmluZWQiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.create - 'writable' property of one property in 'Properties' is -0 (8.10.5 step 6.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-210.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNS8xNS4yLjMuNS00LTIxMS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5jcmVhdGUgLSAnd3JpdGFibGUnIHByb3BlcnR5IG9mIG9uZSBwcm9wZXJ0eSBpbiAnUHJvcGVydGllcycgaXMgTmFOICg4LjEwLjUgc3RlcCA2LmIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgbmV3T2JqID0gT2JqZWN0LmNyZWF0ZSh7fSwgew0KICAgICAgICAgICAgcHJvcDogew0KICAgICAgICAgICAgICAgIHdyaXRhYmxlOiBOYU4NCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQogICAgICAgIHZhciBoYXNQcm9wZXJ0eSA9IG5ld09iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpICYmIHR5cGVvZiBuZXdPYmoucHJvcCA9PT0gInVuZGVmaW5lZCI7DQoNCiAgICAgICAgbmV3T2JqLnByb3AgPSAxMjE7DQoNCiAgICAgICAgcmV0dXJuIGhhc1Byb3BlcnR5ICYmIHR5cGVvZiBuZXdPYmoucHJvcCA9PT0gInVuZGVmaW5lZCI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.create - 'writable' property of one property in 'Properties' is NaN (8.10.5 step 6.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-211.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNS8xNS4yLjMuNS00LTIxMi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5jcmVhdGUgLSAnd3JpdGFibGUnIHByb3BlcnR5IG9mIG9uZSBwcm9wZXJ0eSBpbiAnUHJvcGVydGllcycgaXMgYSBwb3NpdGl2ZSBudW1iZXIgcHJpbWl0aXZlICg4LjEwLjUgc3RlcCA2LmIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgbmV3T2JqID0gT2JqZWN0LmNyZWF0ZSh7fSwgew0KICAgICAgICAgICAgcHJvcDogew0KICAgICAgICAgICAgICAgIHdyaXRhYmxlOiAxMg0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCiAgICAgICAgdmFyIGhhc1Byb3BlcnR5ID0gbmV3T2JqLmhhc093blByb3BlcnR5KCJwcm9wIik7DQoNCiAgICAgICAgbmV3T2JqLnByb3AgPSAxMjE7DQoNCiAgICAgICAgcmV0dXJuIGhhc1Byb3BlcnR5ICYmIG5ld09iai5wcm9wID09PSAxMjE7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.create - 'writable' property of one property in 'Properties' is a positive number primitive (8.10.5 step 6.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-212.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNS8xNS4yLjMuNS00LTIxMy5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5jcmVhdGUgLSAnd3JpdGFibGUnIHByb3BlcnR5IG9mIG9uZSBwcm9wZXJ0eSBpbiAnUHJvcGVydGllcycgaXMgYSBuZWdhdGl2ZSBudW1iZXIgcHJpbWl0aXZlICg4LjEwLjUgc3RlcCA2LmIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgbmV3T2JqID0gT2JqZWN0LmNyZWF0ZSh7fSwgew0KICAgICAgICAgICAgcHJvcDogew0KICAgICAgICAgICAgICAgIHdyaXRhYmxlOiAtOQ0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCiAgICAgICAgdmFyIGhhc1Byb3BlcnR5ID0gbmV3T2JqLmhhc093blByb3BlcnR5KCJwcm9wIik7DQoNCiAgICAgICAgbmV3T2JqLnByb3AgPSAxMjE7DQoNCiAgICAgICAgcmV0dXJuIGhhc1Byb3BlcnR5ICYmIG5ld09iai5wcm9wID09PSAxMjE7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.create - 'writable' property of one property in 'Properties' is a negative number primitive (8.10.5 step 6.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-213.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNS8xNS4yLjMuNS00LTIxNC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5jcmVhdGUgLSAnd3JpdGFibGUnIHByb3BlcnR5IG9mIG9uZSBwcm9wZXJ0eSBpbiAnUHJvcGVydGllcycgaXMgYW4gZW1wdHkgc3RyaW5nICg4LjEwLjUgc3RlcCA2LmIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIGRlc2NPYmogPSB7DQogICAgICAgICAgICB3cml0YWJsZTogIiINCiAgICAgICAgfTsNCg0KICAgICAgICB2YXIgbmV3T2JqID0gT2JqZWN0LmNyZWF0ZSh7fSwgew0KICAgICAgICAgICAgcHJvcDogZGVzY09iag0KICAgICAgICB9KTsNCiAgICAgICAgdmFyIGhhc1Byb3BlcnR5ID0gbmV3T2JqLmhhc093blByb3BlcnR5KCJwcm9wIikgJiYgdHlwZW9mIG5ld09iai5wcm9wID09PSAidW5kZWZpbmVkIjsNCg0KICAgICAgICBuZXdPYmoucHJvcCA9IDEyMTsNCg0KICAgICAgICByZXR1cm4gaGFzUHJvcGVydHkgJiYgdHlwZW9mIG5ld09iai5wcm9wID09PSAidW5kZWZpbmVkIjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.create - 'writable' property of one property in 'Properties' is an empty string (8.10.5 step 6.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-214.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNS8xNS4yLjMuNS00LTIxNS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5jcmVhdGUgLSAnd3JpdGFibGUnIHByb3BlcnR5IG9mIG9uZSBwcm9wZXJ0eSBpbiAnUHJvcGVydGllcycgaXMgYSBub24tZW1wdHkgc3RyaW5nICg4LjEwLjUgc3RlcCA2LmIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgbmV3T2JqID0gT2JqZWN0LmNyZWF0ZSh7fSwgew0KICAgICAgICAgICAgcHJvcDogew0KICAgICAgICAgICAgICAgIHdyaXRhYmxlOiAiYWJjIg0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCiAgICAgICAgdmFyIGhhc1Byb3BlcnR5ID0gbmV3T2JqLmhhc093blByb3BlcnR5KCJwcm9wIik7DQoNCiAgICAgICAgbmV3T2JqLnByb3AgPSAxMjE7DQoNCiAgICAgICAgcmV0dXJuIGhhc1Byb3BlcnR5ICYmIG5ld09iai5wcm9wID09PSAxMjE7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.create - 'writable' property of one property in 'Properties' is a non-empty string (8.10.5 step 6.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-215.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNS8xNS4yLjMuNS00LTIxNi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5jcmVhdGUgLSAnd3JpdGFibGUnIHByb3BlcnR5IG9mIG9uZSBwcm9wZXJ0eSBpbiAnUHJvcGVydGllcycgaXMgYSBGdW5jdGlvbiBvYmplY3QgKDguMTAuNSBzdGVwIDYuYikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBuZXdPYmogPSBPYmplY3QuY3JlYXRlKHt9LCB7DQogICAgICAgICAgICBwcm9wOiB7DQogICAgICAgICAgICAgICAgd3JpdGFibGU6IGZ1bmN0aW9uICgpIHsgfQ0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCiAgICAgICAgdmFyIGhhc1Byb3BlcnR5ID0gbmV3T2JqLmhhc093blByb3BlcnR5KCJwcm9wIik7DQoNCiAgICAgICAgbmV3T2JqLnByb3AgPSAxMjE7DQoNCiAgICAgICAgcmV0dXJuIGhhc1Byb3BlcnR5ICYmIG5ld09iai5wcm9wID09PSAxMjE7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.create - 'writable' property of one property in 'Properties' is a Function object (8.10.5 step 6.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-216.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNS8xNS4yLjMuNS00LTIxNy5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5jcmVhdGUgLSAnd3JpdGFibGUnIHByb3BlcnR5IG9mIG9uZSBwcm9wZXJ0eSBpbiAnUHJvcGVydGllcycgaXMgYW4gQXJyYXkgb2JqZWN0ICg4LjEwLjUgc3RlcCA2LmIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgbmV3T2JqID0gT2JqZWN0LmNyZWF0ZSh7fSwgew0KICAgICAgICAgICAgcHJvcDogew0KICAgICAgICAgICAgICAgIHdyaXRhYmxlOiBbXQ0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCiAgICAgICAgdmFyIGhhc1Byb3BlcnR5ID0gbmV3T2JqLmhhc093blByb3BlcnR5KCJwcm9wIik7DQoNCiAgICAgICAgbmV3T2JqLnByb3AgPSAxMjE7DQoNCiAgICAgICAgcmV0dXJuIGhhc1Byb3BlcnR5ICYmIG5ld09iai5wcm9wID09PSAxMjE7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.create - 'writable' property of one property in 'Properties' is an Array object (8.10.5 step 6.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-217.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNS8xNS4yLjMuNS00LTIxOC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5jcmVhdGUgLSAnd3JpdGFibGUnIHByb3BlcnR5IG9mIG9uZSBwcm9wZXJ0eSBpbiAnUHJvcGVydGllcycgaXMgYSBTdHJpbmcgb2JqZWN0ICg4LjEwLjUgc3RlcCA2LmIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgbmV3T2JqID0gT2JqZWN0LmNyZWF0ZSh7fSwgew0KICAgICAgICAgICAgcHJvcDogew0KICAgICAgICAgICAgICAgIHdyaXRhYmxlOiBuZXcgU3RyaW5nKCkNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQogICAgICAgIHZhciBoYXNQcm9wZXJ0eSA9IG5ld09iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KDQogICAgICAgIG5ld09iai5wcm9wID0gMTIxOw0KDQogICAgICAgIHJldHVybiBoYXNQcm9wZXJ0eSAmJiBuZXdPYmoucHJvcCA9PT0gMTIxOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.create - 'writable' property of one property in 'Properties' is a String object (8.10.5 step 6.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-218.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNS8xNS4yLjMuNS00LTIxOS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5jcmVhdGUgLSAnd3JpdGFibGUnIHByb3BlcnR5IG9mIG9uZSBwcm9wZXJ0eSBpbiAnUHJvcGVydGllcycgaXMgYSBCb29sZWFuIG9iamVjdCAoOC4xMC41IHN0ZXAgNi5iKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG5ld09iaiA9IE9iamVjdC5jcmVhdGUoe30sIHsNCiAgICAgICAgICAgIHByb3A6IHsNCiAgICAgICAgICAgICAgICB3cml0YWJsZTogbmV3IEJvb2xlYW4oKQ0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCiAgICAgICAgdmFyIGhhc1Byb3BlcnR5ID0gbmV3T2JqLmhhc093blByb3BlcnR5KCJwcm9wIik7DQoNCiAgICAgICAgbmV3T2JqLnByb3AgPSAxMjE7DQoNCiAgICAgICAgcmV0dXJuIGhhc1Byb3BlcnR5ICYmIG5ld09iai5wcm9wID09PSAxMjE7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.create - 'writable' property of one property in 'Properties' is a Boolean object (8.10.5 step 6.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-219.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNS8xNS4yLjMuNS00LTIyLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmNyZWF0ZSAtICBvd24gZW51bWVyYWJsZSBkYXRhIHByb3BlcnR5IHRoYXQgb3ZlcnJpZGVzIGFuIGVudW1lcmFibGUgaW5oZXJpdGVkIGRhdGEgcHJvcGVydHkgaW4gJ1Byb3BlcnRpZXMnIGlzIGRlZmluZWQgaW4gJ29iaicgKDE1LjIuMy43IHN0ZXAgNS5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHByb3RvID0ge307DQogICAgICAgIHByb3RvLnByb3AgPSB7DQogICAgICAgICAgICB2YWx1ZTogImFiYyINCiAgICAgICAgfTsNCg0KICAgICAgICB2YXIgQ29uc3RydWN0RnVuID0gZnVuY3Rpb24gKCkgeyB9Ow0KICAgICAgICBDb25zdHJ1Y3RGdW4ucHJvdG90eXBlID0gcHJvdG87DQoNCiAgICAgICAgdmFyIGNoaWxkID0gbmV3IENvbnN0cnVjdEZ1bigpOw0KICAgICAgICBjaGlsZC5wcm9wID0gew0KICAgICAgICAgICAgdmFsdWU6ICJiYnEiDQogICAgICAgIH07DQogICAgICAgIHZhciBuZXdPYmogPSBPYmplY3QuY3JlYXRlKHt9LCBjaGlsZCk7DQoNCiAgICAgICAgcmV0dXJuIG5ld09iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpICYmIG5ld09iai5wcm9wID09PSAiYmJxIjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.create - own enumerable data property that overrides an enumerable inherited data property in 'Properties' is defined in 'obj' (15.2.3.7 step 5.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-22.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNS8xNS4yLjMuNS00LTIyMC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5jcmVhdGUgLSAnd3JpdGFibGUnIHByb3BlcnR5IG9mIG9uZSBwcm9wZXJ0eSBpbiAnUHJvcGVydGllcycgaXMgYSBOdW1iZXIgb2JqZWN0ICg4LjEwLjUgc3RlcCA2LmIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgbmV3T2JqID0gT2JqZWN0LmNyZWF0ZSh7fSwgew0KICAgICAgICAgICAgcHJvcDogew0KICAgICAgICAgICAgICAgIHdyaXRhYmxlOiBuZXcgTnVtYmVyKCkNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQogICAgICAgIHZhciBoYXNQcm9wZXJ0eSA9IG5ld09iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KDQogICAgICAgIG5ld09iai5wcm9wID0gMTIxOw0KDQogICAgICAgIHJldHVybiBoYXNQcm9wZXJ0eSAmJiBuZXdPYmoucHJvcCA9PT0gMTIxOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.create - 'writable' property of one property in 'Properties' is a Number object (8.10.5 step 6.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-220.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNS8xNS4yLjMuNS00LTIyMS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5jcmVhdGUgLSAnd3JpdGFibGUnIHByb3BlcnR5IG9mIG9uZSBwcm9wZXJ0eSBpbiAnUHJvcGVydGllcycgaXMgdGhlIE1hdGggb2JqZWN0ICg4LjEwLjUgc3RlcCA2LmIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgbmV3T2JqID0gT2JqZWN0LmNyZWF0ZSh7fSwgew0KICAgICAgICAgICAgcHJvcDogew0KICAgICAgICAgICAgICAgIHdyaXRhYmxlOiBNYXRoDQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KICAgICAgICB2YXIgaGFzUHJvcGVydHkgPSBuZXdPYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCg0KICAgICAgICBuZXdPYmoucHJvcCA9IDEyMTsNCg0KICAgICAgICByZXR1cm4gaGFzUHJvcGVydHkgJiYgbmV3T2JqLnByb3AgPT09IDEyMTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.create - 'writable' property of one property in 'Properties' is the Math object (8.10.5 step 6.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-221.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNS8xNS4yLjMuNS00LTIyMi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5jcmVhdGUgLSAnd3JpdGFibGUnIHByb3BlcnR5IG9mIG9uZSBwcm9wZXJ0eSBpbiAnUHJvcGVydGllcycgaXMgYSBEYXRlIG9iamVjdCAoOC4xMC41IHN0ZXAgNi5iKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG5ld09iaiA9IE9iamVjdC5jcmVhdGUoe30sIHsNCiAgICAgICAgICAgIHByb3A6IHsNCiAgICAgICAgICAgICAgICB3cml0YWJsZTogbmV3IERhdGUoKQ0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCiAgICAgICAgdmFyIGhhc1Byb3BlcnR5ID0gbmV3T2JqLmhhc093blByb3BlcnR5KCJwcm9wIik7DQoNCiAgICAgICAgbmV3T2JqLnByb3AgPSAxMjE7DQoNCiAgICAgICAgcmV0dXJuIGhhc1Byb3BlcnR5ICYmIG5ld09iai5wcm9wID09PSAxMjE7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.create - 'writable' property of one property in 'Properties' is a Date object (8.10.5 step 6.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-222.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNS8xNS4yLjMuNS00LTIyMy5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5jcmVhdGUgLSAnd3JpdGFibGUnIHByb3BlcnR5IG9mIG9uZSBwcm9wZXJ0eSBpbiAnUHJvcGVydGllcycgaXMgYSBSZWdFeHAgb2JqZWN0ICg4LjEwLjUgc3RlcCA2LmIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgbmV3T2JqID0gT2JqZWN0LmNyZWF0ZSh7fSwgew0KICAgICAgICAgICAgcHJvcDogew0KICAgICAgICAgICAgICAgIHdyaXRhYmxlOiBuZXcgUmVnRXhwKCkNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQogICAgICAgIHZhciBoYXNQcm9wZXJ0eSA9IG5ld09iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KDQogICAgICAgIG5ld09iai5wcm9wID0gMTIxOw0KDQogICAgICAgIHJldHVybiBoYXNQcm9wZXJ0eSAmJiBuZXdPYmoucHJvcCA9PT0gMTIxOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.create - 'writable' property of one property in 'Properties' is a RegExp object (8.10.5 step 6.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-223.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNS8xNS4yLjMuNS00LTIyNC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5jcmVhdGUgLSAnd3JpdGFibGUnIHByb3BlcnR5IG9mIG9uZSBwcm9wZXJ0eSBpbiAnUHJvcGVydGllcycgaXMgdGhlIEpTT04gb2JqZWN0ICg4LjEwLjUgc3RlcCA2LmIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgbmV3T2JqID0gT2JqZWN0LmNyZWF0ZSh7fSwgew0KICAgICAgICAgICAgcHJvcDogew0KICAgICAgICAgICAgICAgIHdyaXRhYmxlOiBKU09ODQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KICAgICAgICB2YXIgaGFzUHJvcGVydHkgPSBuZXdPYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCiAgICAgICAgbmV3T2JqLnByb3AgPSAxMjE7DQogICAgICAgIHJldHVybiBoYXNQcm9wZXJ0eSAmJiBuZXdPYmoucHJvcCA9PT0gMTIxOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.create - 'writable' property of one property in 'Properties' is the JSON object (8.10.5 step 6.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-224.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNS8xNS4yLjMuNS00LTIyNS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5jcmVhdGUgLSAnd3JpdGFibGUnIHByb3BlcnR5IG9mIG9uZSBwcm9wZXJ0eSBpbiAnUHJvcGVydGllcycgaXMgYW4gRXJyb3Igb2JqZWN0ICg4LjEwLjUgc3RlcCA2LmIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgbmV3T2JqID0gT2JqZWN0LmNyZWF0ZSh7fSwgew0KICAgICAgICAgICAgcHJvcDogew0KICAgICAgICAgICAgICAgIHdyaXRhYmxlOiBuZXcgRXJyb3IoKQ0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCiAgICAgICAgdmFyIGhhc1Byb3BlcnR5ID0gbmV3T2JqLmhhc093blByb3BlcnR5KCJwcm9wIik7DQogICAgICAgIG5ld09iai5wcm9wID0gMTIxOw0KICAgICAgICByZXR1cm4gaGFzUHJvcGVydHkgJiYgbmV3T2JqLnByb3AgPT09IDEyMTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.create - 'writable' property of one property in 'Properties' is an Error object (8.10.5 step 6.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-225.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNS8xNS4yLjMuNS00LTIyNi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5jcmVhdGUgLSAnd3JpdGFibGUnIHByb3BlcnR5IG9mIG9uZSBwcm9wZXJ0eSBpbiAnUHJvcGVydGllcycgaXMgYW4gQXJndW1lbnRzIG9iamVjdCAoOC4xMC41IHN0ZXAgNi5iKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFyZ09iaiA9IChmdW5jdGlvbiAoKSB7IHJldHVybiBhcmd1bWVudHM7IH0pKCk7DQoNCiAgICAgICAgdmFyIG5ld09iaiA9IE9iamVjdC5jcmVhdGUoe30sIHsNCiAgICAgICAgICAgIHByb3A6IHsNCiAgICAgICAgICAgICAgICB3cml0YWJsZTogYXJnT2JqDQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KICAgICAgICB2YXIgaGFzUHJvcGVydHkgPSBuZXdPYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCg0KICAgICAgICBuZXdPYmoucHJvcCA9IDEyMTsNCg0KICAgICAgICByZXR1cm4gaGFzUHJvcGVydHkgJiYgbmV3T2JqLnByb3AgPT09IDEyMTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.create - 'writable' property of one property in 'Properties' is an Arguments object (8.10.5 step 6.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-226.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNS8xNS4yLjMuNS00LTIyOC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5jcmVhdGUgLSAnd3JpdGFibGUnIHByb3BlcnR5IG9mIG9uZSBwcm9wZXJ0eSBpbiAnUHJvcGVydGllcycgaXMgdGhlIGdsb2JhbCBvYmplY3QgKDguMTAuNSBzdGVwIDYuYikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBuZXdPYmogPSBPYmplY3QuY3JlYXRlKHt9LCB7DQogICAgICAgICAgICBwcm9wOiB7DQogICAgICAgICAgICAgICAgd3JpdGFibGU6IGZuR2xvYmFsT2JqZWN0KCkNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQogICAgICAgIHZhciBoYXNQcm9wZXJ0eSA9IG5ld09iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KDQogICAgICAgIG5ld09iai5wcm9wID0gMTIxOw0KDQogICAgICAgIHJldHVybiBoYXNQcm9wZXJ0eSAmJiBuZXdPYmoucHJvcCA9PT0gMTIxOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.create - 'writable' property of one property in 'Properties' is the global object (8.10.5 step 6.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-228.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNS8xNS4yLjMuNS00LTIyOS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5jcmVhdGUgLSAnd3JpdGFibGUnIHByb3BlcnR5IG9mIG9uZSBwcm9wZXJ0eSBpbiAnUHJvcGVydGllcycgaXMgYSBzdHJpbmcgKHZhbHVlIGlzICdmYWxzZScpIHdoaWNoIGlzIHRyZWF0ZWQgYXMgdGhlIHZhbHVlIHRydWUgKDguMTAuNSBzdGVwIDYuYikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBuZXdPYmogPSBPYmplY3QuY3JlYXRlKHt9LCB7DQogICAgICAgICAgICBwcm9wOiB7DQogICAgICAgICAgICAgICAgd3JpdGFibGU6ICJmYWxzZSINCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQogICAgICAgIHZhciBoYXNQcm9wZXJ0eSA9IG5ld09iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KDQogICAgICAgIG5ld09iai5wcm9wID0gMTIxOw0KDQogICAgICAgIHJldHVybiBoYXNQcm9wZXJ0eSAmJiBuZXdPYmoucHJvcCA9PT0gMTIxOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.create - 'writable' property of one property in 'Properties' is a string (value is 'false') which is treated as the value true (8.10.5 step 6.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-229.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNS8xNS4yLjMuNS00LTIzLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmNyZWF0ZSAtIG93biBlbnVtZXJhYmxlIGRhdGEgcHJvcGVydHkgdGhhdCBvdmVycmlkZXMgYW4gZW51bWVyYWJsZSBpbmhlcml0ZWQgYWNjZXNzb3IgcHJvcGVydHkgaW4gJ1Byb3BlcnRpZXMnIGlzIGRlZmluZWQgaW4gJ29iaicgKDE1LjIuMy43IHN0ZXAgNS5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHByb3RvID0ge307DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShwcm90bywgInByb3AiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4geyB2YWx1ZTogOSB9Ow0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIENvbnN0cnVjdEZ1biA9IGZ1bmN0aW9uICgpIHsgfTsNCiAgICAgICAgQ29uc3RydWN0RnVuLnByb3RvdHlwZSA9IHByb3RvOw0KDQogICAgICAgIHZhciBjaGlsZCA9IG5ldyBDb25zdHJ1Y3RGdW4oKTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGNoaWxkLCAicHJvcCIsIHsNCiAgICAgICAgICAgIHZhbHVlOiB7DQogICAgICAgICAgICAgICAgdmFsdWU6IDEyDQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCiAgICAgICAgdmFyIG5ld09iaiA9IE9iamVjdC5jcmVhdGUoe30sIGNoaWxkKTsNCg0KICAgICAgICByZXR1cm4gbmV3T2JqLmhhc093blByb3BlcnR5KCJwcm9wIikgJiYgbmV3T2JqLnByb3AgPT09IDEyOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.create - own enumerable data property that overrides an enumerable inherited accessor property in 'Properties' is defined in 'obj' (15.2.3.7 step 5.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-23.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNS8xNS4yLjMuNS00LTIzMC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5jcmVhdGUgLSAnd3JpdGFibGUnIHByb3BlcnR5IG9mIG9uZSBwcm9wZXJ0eSBpbiAnUHJvcGVydGllcycgaXMgbmV3IEJvb2xlYW4oZmFsc2UpIHdoaWNoIGlzIHRyZWF0ZWQgYXMgdGhlIHZhbHVlIHRydWUgKDguMTAuNSBzdGVwIDYuYikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBuZXdPYmogPSBPYmplY3QuY3JlYXRlKHt9LCB7DQogICAgICAgICAgICBwcm9wOiB7DQogICAgICAgICAgICAgICAgd3JpdGFibGU6IG5ldyBCb29sZWFuKGZhbHNlKQ0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCiAgICAgICAgdmFyIGhhc1Byb3BlcnR5ID0gbmV3T2JqLmhhc093blByb3BlcnR5KCJwcm9wIik7DQoNCiAgICAgICAgbmV3T2JqLnByb3AgPSAxMjE7DQoNCiAgICAgICAgcmV0dXJuIGhhc1Byb3BlcnR5ICYmIG5ld09iai5wcm9wID09PSAxMjE7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.create - 'writable' property of one property in 'Properties' is new Boolean(false) which is treated as the value true (8.10.5 step 6.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-230.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNS8xNS4yLjMuNS00LTIzMS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5jcmVhdGUgLSAnZ2V0JyAgcHJvcGVydHkgb2Ygb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyBwcmVzZW50ICg4LjEwLjUgc3RlcCA3KQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG5ld09iaiA9IE9iamVjdC5jcmVhdGUoe30sIHsNCiAgICAgICAgICAgIHByb3A6IHsNCiAgICAgICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuICJwcmVzZW50IjsNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KICAgICAgICByZXR1cm4gbmV3T2JqLnByb3AgPT09ICJwcmVzZW50IjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.create - 'get' property of one property in 'Properties' is present (8.10.5 step 7)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-231.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNS8xNS4yLjMuNS00LTIzMi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5jcmVhdGUgLSAnZ2V0JyAgcHJvcGVydHkgb2Ygb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyBub3QgcHJlc2VudCAoOC4xMC41IHN0ZXAgNykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBuZXdPYmogPSBPYmplY3QuY3JlYXRlKHt9LCB7DQogICAgICAgICAgICBwcm9wOiB7fQ0KICAgICAgICB9KTsNCiAgICAgICAgcmV0dXJuIHR5cGVvZiAobmV3T2JqLnByb3ApID09PSAidW5kZWZpbmVkIjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.create - 'get' property of one property in 'Properties' is not present (8.10.5 step 7)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-232.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNS8xNS4yLjMuNS00LTIzMy5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5jcmVhdGUgLSAnZ2V0JyBwcm9wZXJ0eSBvZiBvbmUgcHJvcGVydHkgaW4gJ1Byb3BlcnRpZXMnIGlzIG93biBkYXRhIHByb3BlcnR5ICg4LjEwLjUgc3RlcCA3LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgbmV3T2JqID0gT2JqZWN0LmNyZWF0ZSh7fSwgew0KICAgICAgICAgICAgcHJvcDogew0KICAgICAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gIm93bkRhdGFQcm9wZXJ0eSI7DQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCiAgICAgICAgcmV0dXJuIG5ld09iai5wcm9wID09PSAib3duRGF0YVByb3BlcnR5IjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.create - 'get' property of one property in 'Properties' is own data property (8.10.5 step 7.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-233.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNS8xNS4yLjMuNS00LTIzNC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5jcmVhdGUgLSAnZ2V0JyBwcm9wZXJ0eSBvZiBvbmUgcHJvcGVydHkgaW4gJ1Byb3BlcnRpZXMnIGlzIGFuIGluaGVyaXRlZCBkYXRhIHByb3BlcnR5ICg4LjEwLjUgc3RlcCA3LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgcHJvdG8gPSB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gImluaGVyaXRlZERhdGFQcm9wZXJ0eSI7DQogICAgICAgICAgICB9DQogICAgICAgIH07DQoNCiAgICAgICAgdmFyIENvbnN0cnVjdEZ1biA9IGZ1bmN0aW9uICgpIHsgfTsNCiAgICAgICAgQ29uc3RydWN0RnVuLnByb3RvdHlwZSA9IHByb3RvOw0KDQogICAgICAgIHZhciBkZXNjT2JqID0gbmV3IENvbnN0cnVjdEZ1bigpOw0KDQogICAgICAgIHZhciBuZXdPYmogPSBPYmplY3QuY3JlYXRlKHt9LCB7DQogICAgICAgICAgICBwcm9wOiBkZXNjT2JqDQogICAgICAgIH0pOw0KDQogICAgICAgIHJldHVybiBuZXdPYmoucHJvcCA9PT0gImluaGVyaXRlZERhdGFQcm9wZXJ0eSI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.create - 'get' property of one property in 'Properties' is an inherited data property (8.10.5 step 7.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-234.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNS8xNS4yLjMuNS00LTIzNS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5jcmVhdGUgLSAnZ2V0JyBwcm9wZXJ0eSBvZiBvbmUgcHJvcGVydHkgaW4gJ1Byb3BlcnRpZXMnIGlzIG93biBkYXRhIHByb3BlcnR5IHRoYXQgb3ZlcnJpZGVzIGFuIGluaGVyaXRlZCBkYXRhIHByb3BlcnR5ICg4LjEwLjUgc3RlcCA3LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgcHJvdG8gPSB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gImluaGVyaXRlZERhdGFQcm9wZXJ0eSI7DQogICAgICAgICAgICB9DQogICAgICAgIH07DQoNCiAgICAgICAgdmFyIENvbnN0cnVjdEZ1biA9IGZ1bmN0aW9uICgpIHsgfTsNCiAgICAgICAgQ29uc3RydWN0RnVuLnByb3RvdHlwZSA9IHByb3RvOw0KDQogICAgICAgIHZhciBkZXNjT2JqID0gbmV3IENvbnN0cnVjdEZ1bigpOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShkZXNjT2JqLCAiZ2V0Iiwgew0KICAgICAgICAgICAgdmFsdWU6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gIm93bkRhdGFQcm9wZXJ0eSI7DQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBuZXdPYmogPSBPYmplY3QuY3JlYXRlKHt9LCB7DQogICAgICAgICAgICBwcm9wOiBkZXNjT2JqDQogICAgICAgIH0pOw0KDQogICAgICAgIHJldHVybiBuZXdPYmoucHJvcCA9PT0gIm93bkRhdGFQcm9wZXJ0eSI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.create - 'get' property of one property in 'Properties' is own data property that overrides an inherited data property (8.10.5 step 7.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-235.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNS8xNS4yLjMuNS00LTIzNi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5jcmVhdGUgLSAnZ2V0JyBwcm9wZXJ0eSBvZiBvbmUgcHJvcGVydHkgaW4gJ1Byb3BlcnRpZXMnIGlzIG93biBkYXRhIHByb3BlcnR5IHRoYXQgb3ZlcnJpZGVzIGFuIGluaGVyaXRlZCBhY2Nlc3NvciBwcm9wZXJ0eSAoOC4xMC41IHN0ZXAgNy5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHByb3RvID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHByb3RvLCAiZ2V0Iiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuICJpbmhlcml0ZWRBY2Nlc3NvclByb3BlcnR5IjsNCiAgICAgICAgICAgICAgICB9Ow0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgQ29uc3RydWN0RnVuID0gZnVuY3Rpb24gKCkgeyB9Ow0KICAgICAgICBDb25zdHJ1Y3RGdW4ucHJvdG90eXBlID0gcHJvdG87DQogICAgICAgIHZhciBkZXNjT2JqID0gbmV3IENvbnN0cnVjdEZ1bigpOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShkZXNjT2JqLCAiZ2V0Iiwgew0KICAgICAgICAgICAgdmFsdWU6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gIm93bkRhdGFQcm9wZXJ0eSI7DQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBuZXdPYmogPSBPYmplY3QuY3JlYXRlKHt9LCB7DQogICAgICAgICAgICBwcm9wOiBkZXNjT2JqDQogICAgICAgIH0pOw0KDQogICAgICAgIHJldHVybiBuZXdPYmoucHJvcCA9PT0gIm93bkRhdGFQcm9wZXJ0eSI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.create - 'get' property of one property in 'Properties' is own data property that overrides an inherited accessor property (8.10.5 step 7.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-236.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNS8xNS4yLjMuNS00LTIzNy5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5jcmVhdGUgLSAnZ2V0JyBwcm9wZXJ0eSBvZiBvbmUgcHJvcGVydHkgaW4gJ1Byb3BlcnRpZXMnIGlzIG93biBhY2Nlc3NvciBwcm9wZXJ0eSAoOC4xMC41IHN0ZXAgNy5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGRlc2NPYmogPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoZGVzY09iaiwgImdldCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgIHJldHVybiAib3duQWNjZXNzb3JQcm9wZXJ0eSI7DQogICAgICAgICAgICAgICAgfTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIG5ld09iaiA9IE9iamVjdC5jcmVhdGUoe30sIHsNCiAgICAgICAgICAgIHByb3A6IGRlc2NPYmogDQogICAgICAgIH0pOw0KDQogICAgICAgIHJldHVybiBuZXdPYmoucHJvcCA9PT0gIm93bkFjY2Vzc29yUHJvcGVydHkiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.create - 'get' property of one property in 'Properties' is own accessor property (8.10.5 step 7.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-237.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNS8xNS4yLjMuNS00LTIzOC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5jcmVhdGUgLSAnZ2V0JyBwcm9wZXJ0eSBvZiBvbmUgcHJvcGVydHkgaW4gJ1Byb3BlcnRpZXMnIGlzIGFuIGluaGVyaXRlZCBhY2Nlc3NvciBwcm9wZXJ0eSAoOC4xMC41IHN0ZXAgNy5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHByb3RvID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHByb3RvLCAiZ2V0Iiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuICJpbmhlcml0ZWRBY2Nlc3NvclByb3BlcnR5IjsNCiAgICAgICAgICAgICAgICB9Ow0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgQ29uc3RydWN0RnVuID0gZnVuY3Rpb24gKCkgeyB9Ow0KICAgICAgICBDb25zdHJ1Y3RGdW4ucHJvdG90eXBlID0gcHJvdG87DQogICAgICAgIHZhciBkZXNjT2JqID0gbmV3IENvbnN0cnVjdEZ1bigpOw0KDQogICAgICAgIHZhciBuZXdPYmogPSBPYmplY3QuY3JlYXRlKHt9LCB7DQogICAgICAgICAgICBwcm9wOiBkZXNjT2JqIA0KICAgICAgICB9KTsNCg0KICAgICAgICByZXR1cm4gbmV3T2JqLnByb3AgPT09ICJpbmhlcml0ZWRBY2Nlc3NvclByb3BlcnR5IjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.create - 'get' property of one property in 'Properties' is an inherited accessor property (8.10.5 step 7.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-238.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNS8xNS4yLjMuNS00LTIzOS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5jcmVhdGUgLSAnZ2V0JyBwcm9wZXJ0eSBvZiBvbmUgcHJvcGVydHkgaW4gJ1Byb3BlcnRpZXMnIGlzIG93biBhY2Nlc3NvciBwcm9wZXJ0eSB0aGF0IG92ZXJyaWRlcyBhbiBpbmhlcml0ZWQgZGF0YSBwcm9wZXJ0eSAoOC4xMC41IHN0ZXAgNy5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBwcm90byA9IHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiAiaW5oZXJpdGVkRGF0YVByb3BlcnR5IjsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfTsNCg0KICAgICAgICB2YXIgQ29uc3RydWN0RnVuID0gZnVuY3Rpb24gKCkgeyB9Ow0KICAgICAgICBDb25zdHJ1Y3RGdW4ucHJvdG90eXBlID0gcHJvdG87DQogICAgICAgIHZhciBkZXNjT2JqID0gbmV3IENvbnN0cnVjdEZ1bigpOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShkZXNjT2JqLCAiZ2V0Iiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuICJvd25BY2Nlc3NvclByb3BlcnR5IjsNCiAgICAgICAgICAgICAgICB9Ow0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgbmV3T2JqID0gT2JqZWN0LmNyZWF0ZSh7fSwgew0KICAgICAgICAgICAgcHJvcDogZGVzY09iag0KICAgICAgICB9KTsNCg0KICAgICAgICByZXR1cm4gbmV3T2JqLnByb3AgPT09ICJvd25BY2Nlc3NvclByb3BlcnR5IjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.create - 'get' property of one property in 'Properties' is own accessor property that overrides an inherited data property (8.10.5 step 7.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-239.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNS8xNS4yLjMuNS00LTI0LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmNyZWF0ZSAtIG93biBlbnVtZXJhYmxlIGFjY2Vzc29yIHByb3BlcnR5IHRoYXQgb3ZlcnJpZGVzIGFuIGVudW1lcmFibGUgaW5oZXJpdGVkIGRhdGEgcHJvcGVydHkgaW4gJ1Byb3BlcnRpZXMnIGlzIGRlZmluZWQgaW4gJ29iaicgKDE1LjIuMy43IHN0ZXAgNS5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHByb3RvID0ge307DQogICAgICAgIHByb3RvLnByb3AgPSB7DQogICAgICAgICAgICB2YWx1ZTogMTINCiAgICAgICAgfTsNCg0KICAgICAgICB2YXIgQ29uc3RydWN0RnVuID0gZnVuY3Rpb24gKCkgeyB9Ow0KICAgICAgICBDb25zdHJ1Y3RGdW4ucHJvdG90eXBlID0gcHJvdG87DQoNCiAgICAgICAgdmFyIGNoaWxkID0gbmV3IENvbnN0cnVjdEZ1bigpOw0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoY2hpbGQsICJwcm9wIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIHsNCiAgICAgICAgICAgICAgICAgICAgdmFsdWU6IDkNCiAgICAgICAgICAgICAgICB9Ow0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIG5ld09iaiA9IE9iamVjdC5jcmVhdGUoe30sIGNoaWxkKTsNCg0KICAgICAgICByZXR1cm4gbmV3T2JqLmhhc093blByb3BlcnR5KCJwcm9wIikgJiYgbmV3T2JqLnByb3AgPT09IDk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.create - own enumerable accessor property that overrides an enumerable inherited data property in 'Properties' is defined in 'obj' (15.2.3.7 step 5.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-24.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNS8xNS4yLjMuNS00LTI0MC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5jcmVhdGUgLSAnZ2V0JyBwcm9wZXJ0eSBvZiBvbmUgcHJvcGVydHkgaW4gJ1Byb3BlcnRpZXMnIGlzIG93biBhY2Nlc3NvciBwcm9wZXJ0eSB0aGF0IG92ZXJyaWRlcyBhbiBpbmhlcml0ZWQgYWNjZXNzb3IgcHJvcGVydHkgKDguMTAuNSBzdGVwIDcuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgcHJvdG8gPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkocHJvdG8sICJnZXQiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gImluaGVyaXRlZEFjY2Vzc29yUHJvcGVydHkiOw0KICAgICAgICAgICAgICAgIH07DQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBDb25zdHJ1Y3RGdW4gPSBmdW5jdGlvbiAoKSB7IH07DQogICAgICAgIENvbnN0cnVjdEZ1bi5wcm90b3R5cGUgPSBwcm90bzsNCiAgICAgICAgdmFyIGRlc2NPYmogPSBuZXcgQ29uc3RydWN0RnVuKCk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGRlc2NPYmosICJnZXQiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gIm93bkFjY2Vzc29yUHJvcGVydHkiOw0KICAgICAgICAgICAgICAgIH07DQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBuZXdPYmogPSBPYmplY3QuY3JlYXRlKHt9LCB7DQogICAgICAgICAgICBwcm9wOiBkZXNjT2JqIA0KICAgICAgICB9KTsNCg0KICAgICAgICByZXR1cm4gbmV3T2JqLnByb3AgPT09ICJvd25BY2Nlc3NvclByb3BlcnR5IjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.create - 'get' property of one property in 'Properties' is own accessor property that overrides an inherited accessor property (8.10.5 step 7.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-240.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNS8xNS4yLjMuNS00LTI0MS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5jcmVhdGUgLSAnZ2V0JyBwcm9wZXJ0eSBvZiBvbmUgcHJvcGVydHkgaW4gJ1Byb3BlcnRpZXMnIGlzIG93biBhY2Nlc3NvciBwcm9wZXJ0eSB3aXRob3V0IGEgZ2V0IGZ1bmN0aW9uICg4LjEwLjUgc3RlcCA3LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIGRlc2NPYmogPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoZGVzY09iaiwgImdldCIsIHsNCiAgICAgICAgICAgIHNldDogZnVuY3Rpb24gKCkgeyB9DQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBuZXdPYmogPSBPYmplY3QuY3JlYXRlKHt9LCB7DQogICAgICAgICAgICBwcm9wOiBkZXNjT2JqIA0KICAgICAgICB9KTsNCg0KICAgICAgICByZXR1cm4gbmV3T2JqLmhhc093blByb3BlcnR5KCJwcm9wIikgJiYgdHlwZW9mIChuZXdPYmoucHJvcCkgPT09ICJ1bmRlZmluZWQiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.create - 'get' property of one property in 'Properties' is own accessor property without a get function (8.10.5 step 7.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-241.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNS8xNS4yLjMuNS00LTI0Mi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5jcmVhdGUgLSAnZ2V0JyBwcm9wZXJ0eSBvZiBvbmUgcHJvcGVydHkgaW4gJ1Byb3BlcnRpZXMnIGlzIG93biBhY2Nlc3NvciBwcm9wZXJ0eSB3aXRob3V0IGEgZ2V0IGZ1bmN0aW9uLCB3aGljaCBvdmVycmlkZXMgYW4gaW5oZXJpdGVkIGFjY2Vzc29yIHByb3BlcnR5ICg4LjEwLjUgc3RlcCA3LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIHByb3RvID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHByb3RvLCAiZ2V0Iiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuICJpbmhlcml0ZWRBY2Nlc3NvclByb3BlcnR5IjsNCiAgICAgICAgICAgICAgICB9Ow0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgQ29uc3RydWN0RnVuID0gZnVuY3Rpb24gKCkgeyB9Ow0KICAgICAgICBDb25zdHJ1Y3RGdW4ucHJvdG90eXBlID0gcHJvdG87DQogICAgICAgIHZhciBkZXNjT2JqID0gbmV3IENvbnN0cnVjdEZ1bigpOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShkZXNjT2JqLCAiZ2V0Iiwgew0KICAgICAgICAgICAgc2V0OiBmdW5jdGlvbiAoKSB7IH0NCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIG5ld09iaiA9IE9iamVjdC5jcmVhdGUoe30sIHsNCiAgICAgICAgICAgIHByb3A6IGRlc2NPYmogDQogICAgICAgIH0pOw0KDQogICAgICAgIHJldHVybiBuZXdPYmouaGFzT3duUHJvcGVydHkoInByb3AiKSAmJiB0eXBlb2YgbmV3T2JqLnByb3AgPT09ICJ1bmRlZmluZWQiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.create - 'get' property of one property in 'Properties' is own accessor property without a get function, which overrides an inherited accessor property (8.10.5 step 7.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-242.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNS8xNS4yLjMuNS00LTI0My5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5jcmVhdGUgLSAnZ2V0JyBwcm9wZXJ0eSBvZiBvbmUgcHJvcGVydHkgaW4gJ1Byb3BlcnRpZXMnIGlzIGFuIGluaGVyaXRlZCBhY2Nlc3NvciBwcm9wZXJ0eSB3aXRob3V0IGEgZ2V0IGZ1bmN0aW9uICg4LjEwLjUgc3RlcCA3LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIHByb3RvID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHByb3RvLCAiZ2V0Iiwgew0KICAgICAgICAgICAgc2V0OiBmdW5jdGlvbiAoKSB7IH0NCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIENvbnN0cnVjdEZ1biA9IGZ1bmN0aW9uICgpIHsgfTsNCiAgICAgICAgQ29uc3RydWN0RnVuLnByb3RvdHlwZSA9IHByb3RvOw0KICAgICAgICB2YXIgZGVzY09iaiA9IG5ldyBDb25zdHJ1Y3RGdW4oKTsNCg0KICAgICAgICB2YXIgbmV3T2JqID0gT2JqZWN0LmNyZWF0ZSh7fSwgew0KICAgICAgICAgICAgcHJvcDogZGVzY09iaiANCiAgICAgICAgfSk7DQoNCiAgICAgICAgcmV0dXJuIG5ld09iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpICYmIHR5cGVvZiAobmV3T2JqLnByb3ApID09PSAidW5kZWZpbmVkIjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.create - 'get' property of one property in 'Properties' is an inherited accessor property without a get function (8.10.5 step 7.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-243.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNS8xNS4yLjMuNS00LTI0NC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5jcmVhdGUgLSBvbmUgcHJvcGVydHkgaW4gJ1Byb3BlcnRpZXMnIGlzIGEgRnVuY3Rpb24gb2JqZWN0IHdoaWNoIGltcGxlbWVudHMgaXRzIG93biBbW0dldF1dIG1ldGhvZCB0byBhY2Nlc3MgdGhlICdnZXQnIHByb3BlcnR5ICg4LjEwLjUgc3RlcCA3LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIGZ1bk9iaiA9IGZ1bmN0aW9uICgpIHt9Ow0KDQogICAgICAgIGZ1bk9iai5nZXQgPSBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICByZXR1cm4gIlZlcmlmeUZ1bmN0aW9uT2JqZWN0IjsNCiAgICAgICAgfTsNCg0KICAgICAgICB2YXIgbmV3T2JqID0gT2JqZWN0LmNyZWF0ZSh7fSwgew0KICAgICAgICAgICAgcHJvcDogZnVuT2JqDQogICAgICAgIH0pOw0KDQogICAgICAgIHJldHVybiBuZXdPYmoucHJvcCA9PT0gIlZlcmlmeUZ1bmN0aW9uT2JqZWN0IjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.create - one property in 'Properties' is a Function object which implements its own [[Get]] method to access the 'get' property (8.10.5 step 7.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-244.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNS8xNS4yLjMuNS00LTI0NS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5jcmVhdGUgLSBvbmUgcHJvcGVydHkgaW4gJ1Byb3BlcnRpZXMnIGlzIGFuIEFycmF5IG9iamVjdCB0aGF0IHVzZXMgT2JqZWN0J3MgW1tHZXRdXSBtZXRob2QgdG8gYWNjZXNzIHRoZSAnZ2V0JyBwcm9wZXJ0eSAoOC4xMC41IHN0ZXAgNy5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBhcnJheU9iaiA9IFsxLCAyLCAzXTsNCg0KICAgICAgICBhcnJheU9iai5nZXQgPSBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICByZXR1cm4gIlZlcmlmeUFycmF5T2JqZWN0IjsNCiAgICAgICAgfTsNCg0KICAgICAgICB2YXIgbmV3T2JqID0gT2JqZWN0LmNyZWF0ZSh7fSwgew0KICAgICAgICAgICAgcHJvcDogYXJyYXlPYmoNCiAgICAgICAgfSk7DQoNCiAgICAgICAgcmV0dXJuIG5ld09iai5wcm9wID09PSAiVmVyaWZ5QXJyYXlPYmplY3QiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.create - one property in 'Properties' is an Array object that uses Object's [[Get]] method to access the 'get' property (8.10.5 step 7.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-245.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNS8xNS4yLjMuNS00LTI0Ni5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5jcmVhdGUgLSBvbmUgcHJvcGVydHkgaW4gJ1Byb3BlcnRpZXMnIGlzIGEgU3RyaW5nIG9iamVjdCB0aGF0IHVzZXMgT2JqZWN0J3MgW1tHZXRdXSBtZXRob2QgdG8gYWNjZXNzIHRoZSAnZ2V0JyBwcm9wZXJ0eSAoOC4xMC41IHN0ZXAgNy5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBzdHJPYmogPSBuZXcgU3RyaW5nKCJhYmMiKTsNCg0KICAgICAgICBzdHJPYmouZ2V0ID0gZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgcmV0dXJuICJWZXJpZnlTdHJpbmdPYmplY3QiOw0KICAgICAgICB9Ow0KDQogICAgICAgIHZhciBuZXdPYmogPSBPYmplY3QuY3JlYXRlKHt9LCB7DQogICAgICAgICAgICBwcm9wOiBzdHJPYmoNCiAgICAgICAgfSk7DQoNCiAgICAgICAgcmV0dXJuIG5ld09iai5wcm9wID09PSAiVmVyaWZ5U3RyaW5nT2JqZWN0IjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.create - one property in 'Properties' is a String object that uses Object's [[Get]] method to access the 'get' property (8.10.5 step 7.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-246.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNS8xNS4yLjMuNS00LTI0Ny5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5jcmVhdGUgLSBvbmUgcHJvcGVydHkgaW4gJ1Byb3BlcnRpZXMnIGlzIGEgQm9vbGVhbiBvYmplY3QgdGhhdCB1c2VzIE9iamVjdCdzIFtbR2V0XV0gbWV0aG9kIHRvIGFjY2VzcyB0aGUgJ2dldCcgcHJvcGVydHkgKDguMTAuNSBzdGVwIDcuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgYm9vbE9iaiA9IG5ldyBCb29sZWFuKHRydWUpOw0KDQogICAgICAgIGJvb2xPYmouZ2V0ID0gZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgcmV0dXJuICJWZXJpZnlCb29sZWFuT2JqZWN0IjsNCiAgICAgICAgfTsNCg0KICAgICAgICB2YXIgbmV3T2JqID0gT2JqZWN0LmNyZWF0ZSh7fSwgew0KICAgICAgICAgICAgcHJvcDogYm9vbE9iaiANCiAgICAgICAgfSk7DQoNCiAgICAgICAgcmV0dXJuIG5ld09iai5wcm9wID09PSAiVmVyaWZ5Qm9vbGVhbk9iamVjdCI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.create - one property in 'Properties' is a Boolean object that uses Object's [[Get]] method to access the 'get' property (8.10.5 step 7.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-247.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNS8xNS4yLjMuNS00LTI0OC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5jcmVhdGUgLSBvbmUgcHJvcGVydHkgaW4gJ1Byb3BlcnRpZXMnIGlzIGEgTnVtYmVyIG9iamVjdCB0aGF0IHVzZXMgT2JqZWN0J3MgW1tHZXRdXSBtZXRob2QgdG8gYWNjZXNzIHRoZSAnZ2V0JyBwcm9wZXJ0eSAoOC4xMC41IHN0ZXAgNy5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBudW1PYmogPSBuZXcgTnVtYmVyKDUpOw0KDQogICAgICAgIG51bU9iai5nZXQgPSBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICByZXR1cm4gIlZlcmlmeU51bWJlck9iamVjdCI7DQogICAgICAgIH07DQoNCiAgICAgICAgdmFyIG5ld09iaiA9IE9iamVjdC5jcmVhdGUoe30sIHsNCiAgICAgICAgICAgIHByb3A6IG51bU9iaiANCiAgICAgICAgfSk7DQoNCiAgICAgICAgcmV0dXJuIG5ld09iai5wcm9wID09PSAiVmVyaWZ5TnVtYmVyT2JqZWN0IjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.create - one property in 'Properties' is a Number object that uses Object's [[Get]] method to access the 'get' property (8.10.5 step 7.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-248.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNS8xNS4yLjMuNS00LTI0OS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5jcmVhdGUgLSBvbmUgcHJvcGVydHkgaW4gJ1Byb3BlcnRpZXMnIGlzIGEgRGF0ZSBvYmplY3QgdGhhdCB1c2VzIE9iamVjdCdzIFtbR2V0XV0gbWV0aG9kIHRvIGFjY2VzcyB0aGUgJ2dldCcgcHJvcGVydHkgKDguMTAuNSBzdGVwIDcuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgZGF0ZU9iaiA9IG5ldyBEYXRlKCk7DQoNCiAgICAgICAgZGF0ZU9iai5nZXQgPSBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICByZXR1cm4gIlZlcmlmeURhdGVPYmplY3QiOw0KICAgICAgICB9Ow0KDQogICAgICAgIHZhciBuZXdPYmogPSBPYmplY3QuY3JlYXRlKHt9LCB7DQogICAgICAgICAgICBwcm9wOiBkYXRlT2JqIA0KICAgICAgICB9KTsNCg0KICAgICAgICByZXR1cm4gbmV3T2JqLnByb3AgPT09ICJWZXJpZnlEYXRlT2JqZWN0IjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.create - one property in 'Properties' is a Date object that uses Object's [[Get]] method to access the 'get' property (8.10.5 step 7.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-249.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNS8xNS4yLjMuNS00LTI1LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmNyZWF0ZSAtIG93biBlbnVtZXJhYmxlIGFjY2Vzc29yIHByb3BlcnR5IHRoYXQgb3ZlcnJpZGVzIGFuIGVudW1lcmFibGUgaW5oZXJpdGVkIGFjY2Vzc29yIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyBkZWZpbmVkIGluICdvYmonICgxNS4yLjMuNyBzdGVwIDUuYSkgDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgcHJvdG8gPSB7fTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHByb3RvLCAicHJvcCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiB7DQogICAgICAgICAgICAgICAgICAgIHZhbHVlOiA5DQogICAgICAgICAgICAgICAgfTsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBDb25zdHJ1Y3RGdW4gPSBmdW5jdGlvbiAoKSB7IH07DQogICAgICAgIENvbnN0cnVjdEZ1bi5wcm90b3R5cGUgPSBwcm90bzsNCg0KICAgICAgICB2YXIgY2hpbGQgPSBuZXcgQ29uc3RydWN0RnVuKCk7DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShjaGlsZCwgInByb3AiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gew0KICAgICAgICAgICAgICAgICAgICB2YWx1ZTogMTINCiAgICAgICAgICAgICAgICB9Ow0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUNCiAgICAgICAgfSk7DQogICAgICAgIHZhciBuZXdPYmogPSBPYmplY3QuY3JlYXRlKHt9LCBjaGlsZCk7DQoNCiAgICAgICAgcmV0dXJuIG5ld09iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpICYmIG5ld09iai5wcm9wID09PSAxMjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.create - own enumerable accessor property that overrides an enumerable inherited accessor property in 'Properties' is defined in 'obj' (15.2.3.7 step 5.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-25.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNS8xNS4yLjMuNS00LTI1MC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5jcmVhdGUgLSBvbmUgcHJvcGVydHkgaW4gJ1Byb3BlcnRpZXMnIGlzIGEgUmVnRXhwIG9iamVjdCB0aGF0IHVzZXMgT2JqZWN0J3MgW1tHZXRdXSBtZXRob2QgdG8gYWNjZXNzIHRoZSAnZ2V0JyBwcm9wZXJ0eSAoOC4xMC41IHN0ZXAgNy5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciByZWdPYmogPSBuZXcgUmVnRXhwKCk7DQoNCiAgICAgICAgcmVnT2JqLmdldCA9IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgIHJldHVybiAiVmVyaWZ5UmVnRXhwT2JqZWN0IjsNCiAgICAgICAgfTsNCg0KICAgICAgICB2YXIgbmV3T2JqID0gT2JqZWN0LmNyZWF0ZSh7fSwgew0KICAgICAgICAgICAgcHJvcDogcmVnT2JqDQogICAgICAgIH0pOw0KDQogICAgICAgIHJldHVybiBuZXdPYmoucHJvcCA9PT0gIlZlcmlmeVJlZ0V4cE9iamVjdCI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.create - one property in 'Properties' is a RegExp object that uses Object's [[Get]] method to access the 'get' property (8.10.5 step 7.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-250.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNS8xNS4yLjMuNS00LTI1MS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5jcmVhdGUgLSBvbmUgcHJvcGVydHkgaW4gJ1Byb3BlcnRpZXMnIGlzIHRoZSBNYXRoIG9iamVjdCB0aGF0IHVzZXMgT2JqZWN0J3MgW1tHZXRdXSBtZXRob2QgdG8gYWNjZXNzIHRoZSAnZ2V0JyBwcm9wZXJ0eSAoOC4xMC41IHN0ZXAgNy5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBNYXRoLmdldCA9IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gIlZlcmlmeU1hdGhPYmplY3QiOw0KICAgICAgICAgICAgfTsNCg0KICAgICAgICAgICAgdmFyIG5ld09iaiA9IE9iamVjdC5jcmVhdGUoe30sIHsNCiAgICAgICAgICAgICAgICBwcm9wOiBNYXRoIA0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgIHJldHVybiBuZXdPYmoucHJvcCA9PT0gIlZlcmlmeU1hdGhPYmplY3QiOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIE1hdGguZ2V0Ow0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.create - one property in 'Properties' is the Math object that uses Object's [[Get]] method to access the 'get' property (8.10.5 step 7.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-251.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNS8xNS4yLjMuNS00LTI1Mi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5jcmVhdGUgLSBvbmUgcHJvcGVydHkgaW4gJ1Byb3BlcnRpZXMnIGlzIHRoZSBKU09OIG9iamVjdCB0aGF0IHVzZXMgT2JqZWN0J3MgW1tHZXRdXSBtZXRob2QgdG8gYWNjZXNzIHRoZSAnZ2V0JyBwcm9wZXJ0eSAoOC4xMC41IHN0ZXAgNy5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIEpTT04uZ2V0ID0gZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgcmV0dXJuICJWZXJpZnlKU09OT2JqZWN0IjsNCiAgICAgICAgfTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgdmFyIG5ld09iaiA9IE9iamVjdC5jcmVhdGUoe30sIHsNCiAgICAgICAgICAgICAgICBwcm9wOiBKU09OIA0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgIHJldHVybiBuZXdPYmoucHJvcCA9PT0gIlZlcmlmeUpTT05PYmplY3QiOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIEpTT04uZ2V0Ow0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.create - one property in 'Properties' is the JSON object that uses Object's [[Get]] method to access the 'get' property (8.10.5 step 7.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-252.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNS8xNS4yLjMuNS00LTI1My5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5jcmVhdGUgLSBvbmUgcHJvcGVydHkgaW4gJ1Byb3BlcnRpZXMnIGlzIGFuIEVycm9yIG9iamVjdCB0aGF0IHVzZXMgT2JqZWN0J3MgW1tHZXRdXSBtZXRob2QgdG8gYWNjZXNzIHRoZSAnZ2V0JyBwcm9wZXJ0eSAoOC4xMC41IHN0ZXAgNy5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBlcnJPYmogPSBuZXcgRXJyb3IoImVycm9yIik7DQoNCiAgICAgICAgZXJyT2JqLmdldCA9IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgIHJldHVybiAiVmVyaWZ5RXJyb3JPYmplY3QiOw0KICAgICAgICB9Ow0KDQogICAgICAgIHZhciBuZXdPYmogPSBPYmplY3QuY3JlYXRlKHt9LCB7DQogICAgICAgICAgICBwcm9wOiBlcnJPYmogDQogICAgICAgIH0pOw0KDQogICAgICAgIHJldHVybiBuZXdPYmoucHJvcCA9PT0gIlZlcmlmeUVycm9yT2JqZWN0IjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.create - one property in 'Properties' is an Error object that uses Object's [[Get]] method to access the 'get' property (8.10.5 step 7.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-253.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNS8xNS4yLjMuNS00LTI1NC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5jcmVhdGUgLSBvbmUgcHJvcGVydHkgaW4gJ1Byb3BlcnRpZXMnIGlzIGFuIEFyZ3VtZW50cyBvYmplY3Qgd2hpY2ggaW1wbGVtZW50cyBpdHMgb3duIFtbR2V0XV0gbWV0aG9kIHRvIGFjY2VzcyB0aGUgJ2dldCcgcHJvcGVydHkgKDguMTAuNSBzdGVwIDcuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhcmdPYmogPSAoZnVuY3Rpb24gKCkgeyByZXR1cm4gYXJndW1lbnRzOyB9KSgpOw0KDQogICAgICAgIGFyZ09iai5nZXQgPSBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICByZXR1cm4gIlZlcmlmeUFyZ3VtZW50c09iamVjdCI7DQogICAgICAgIH07DQoNCiAgICAgICAgdmFyIG5ld09iaiA9IE9iamVjdC5jcmVhdGUoe30sIHsNCiAgICAgICAgICAgIHByb3A6IGFyZ09iag0KICAgICAgICB9KTsNCg0KICAgICAgICByZXR1cm4gbmV3T2JqLnByb3AgPT09ICJWZXJpZnlBcmd1bWVudHNPYmplY3QiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.create - one property in 'Properties' is an Arguments object which implements its own [[Get]] method to access the 'get' property (8.10.5 step 7.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-254.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNS8xNS4yLjMuNS00LTI1Ni5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5jcmVhdGUgLSBvbmUgcHJvcGVydHkgaW4gJ1Byb3BlcnRpZXMnIGlzIHRoZSBnbG9iYWwgb2JqZWN0IHRoYXQgdXNlcyBPYmplY3QncyBbW0dldF1dIG1ldGhvZCB0byBhY2Nlc3MgdGhlICdnZXQnIHByb3BlcnR5ICg4LjEwLjUgc3RlcCA3LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgZm5HbG9iYWxPYmplY3QoKS5nZXQgPSBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICByZXR1cm4gIlZlcmlmeUdsb2JhbE9iamVjdCI7DQogICAgICAgIH07DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIHZhciBuZXdPYmogPSBPYmplY3QuY3JlYXRlKHt9LCB7DQogICAgICAgICAgICAgICAgcHJvcDogZm5HbG9iYWxPYmplY3QoKQ0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgIHJldHVybiBuZXdPYmoucHJvcCA9PT0gIlZlcmlmeUdsb2JhbE9iamVjdCI7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgZm5HbG9iYWxPYmplY3QoKS5nZXQ7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.create - one property in 'Properties' is the global object that uses Object's [[Get]] method to access the 'get' property (8.10.5 step 7.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-256.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNS8xNS4yLjMuNS00LTI1Ny5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5jcmVhdGUgLSAnZ2V0JyBwcm9wZXJ0eSBvZiBvbmUgcHJvcGVydHkgaW4gJ1Byb3BlcnRpZXMnIGlzIHVuZGVmaW5lZCAoOC4xMC41IHN0ZXAgNy5iKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBuZXdPYmogPSBPYmplY3QuY3JlYXRlKHt9LCB7DQogICAgICAgICAgICBwcm9wOiB7DQogICAgICAgICAgICAgICAgZ2V0OiB1bmRlZmluZWQNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQoNCiAgICAgICAgcmV0dXJuIG5ld09iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpICYmIHR5cGVvZiBuZXdPYmoucHJvcCA9PT0gInVuZGVmaW5lZCI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.create - 'get' property of one property in 'Properties' is undefined (8.10.5 step 7.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-257.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNS8xNS4yLjMuNS00LTI1OC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5jcmVhdGUgLSAnZ2V0JyBwcm9wZXJ0eSBvZiBvbmUgcHJvcGVydHkgaW4gJ1Byb3BlcnRpZXMnIGlzIHRoZSBwcmltaXRpdmUgdmFsdWUgbnVsbCAoOC4xMC41IHN0ZXAgNy5iKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuY3JlYXRlKHt9LCB7DQogICAgICAgICAgICAgICAgcHJvcDogew0KICAgICAgICAgICAgICAgICAgICBnZXQ6IG51bGwNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.create - 'get' property of one property in 'Properties' is the primitive value null (8.10.5 step 7.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-258.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNS8xNS4yLjMuNS00LTI1OS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5jcmVhdGUgLSAnZ2V0JyBwcm9wZXJ0eSBvZiBvbmUgcHJvcGVydHkgaW4gJ1Byb3BlcnRpZXMnIGlzIGEgYm9vbGVhbiBwcmltaXRpdmUgKDguMTAuNSBzdGVwIDcuYikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmNyZWF0ZSh7fSwgew0KICAgICAgICAgICAgICAgIHByb3A6IHsNCiAgICAgICAgICAgICAgICAgICAgZ2V0OiBmYWxzZQ0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiAoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcik7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.create - 'get' property of one property in 'Properties' is a boolean primitive (8.10.5 step 7.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-259.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNS8xNS4yLjMuNS00LTI2LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmNyZWF0ZSAtIFR5cGVFcnJvciBpcyB0aHJvd24gd2hlbiBvd24gZW51bWVyYWJsZSBhY2Nlc3NvciBwcm9wZXJ0eSBvZiAnUHJvcGVydGllcycgd2l0aG91dCBhIGdldCBmdW5jdGlvbiAoMTUuMi4zLjcgc3RlcCA1LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgcHJvcHMgPSB7fTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHByb3BzLCAicHJvcCIsIHsNCiAgICAgICAgICAgIHNldDogZnVuY3Rpb24gKCkgeyB9LA0KICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5jcmVhdGUoe30sIHByb3BzKTsNCg0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChleCkgew0KICAgICAgICAgICAgcmV0dXJuIGV4IGluc3RhbmNlb2YgVHlwZUVycm9yOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.create - TypeError is thrown when own enumerable accessor property of 'Properties' without a get function (15.2.3.7 step 5.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-26.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNS8xNS4yLjMuNS00LTI2MC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5jcmVhdGUgLSAnZ2V0JyBwcm9wZXJ0eSBvZiBvbmUgcHJvcGVydHkgaW4gJ1Byb3BlcnRpZXMnIGlzIGEgbnVtYmVyIHByaW1pdGl2ZSAoOC4xMC41IHN0ZXAgNy5iKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuY3JlYXRlKHt9LCB7DQogICAgICAgICAgICAgICAgcHJvcDogew0KICAgICAgICAgICAgICAgICAgICBnZXQ6IDEyMw0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiAoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcik7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.create - 'get' property of one property in 'Properties' is a number primitive (8.10.5 step 7.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-260.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNS8xNS4yLjMuNS00LTI2MS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5jcmVhdGUgLSAnZ2V0JyBwcm9wZXJ0eSBvZiBvbmUgcHJvcGVydHkgaW4gJ1Byb3BlcnRpZXMnIGlzIGEgcHJpbWl0aXZlIHN0cmluZyAoOC4xMC41IHN0ZXAgNy5iKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5jcmVhdGUoe30sIHsNCiAgICAgICAgICAgICAgICBwcm9wOiB7DQogICAgICAgICAgICAgICAgICAgIGdldDogInN0cmluZyINCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.create - 'get' property of one property in 'Properties' is a primitive string (8.10.5 step 7.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-261.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNS8xNS4yLjMuNS00LTI2Mi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5jcmVhdGUgLSAnZ2V0JyBwcm9wZXJ0eSBvZiBvbmUgcHJvcGVydHkgaW4gJ1Byb3BlcnRpZXMnIGlzIGFuIEFycmF5IG9iamVjdCAoOC4xMC41IHN0ZXAgNy5iKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuY3JlYXRlKHt9LCB7DQogICAgICAgICAgICAgICAgcHJvcDogew0KICAgICAgICAgICAgICAgICAgICBnZXQ6IFsxLCAyLCAzXQ0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiAoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcik7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.create - 'get' property of one property in 'Properties' is an Array object (8.10.5 step 7.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-262.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNS8xNS4yLjMuNS00LTI2My5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5jcmVhdGUgLSAnZ2V0JyBwcm9wZXJ0eSBvZiBvbmUgcHJvcGVydHkgaW4gJ1Byb3BlcnRpZXMnIGlzIGEgZnVuY3Rpb24gKDguMTAuNSBzdGVwIDcuYikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgbmV3T2JqID0gT2JqZWN0LmNyZWF0ZSh7fSwgew0KICAgICAgICAgICAgcHJvcDogew0KICAgICAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgeyB9DQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KDQogICAgICAgIHJldHVybiBuZXdPYmouaGFzT3duUHJvcGVydHkoInByb3AiKSAmJiB0eXBlb2YgbmV3T2JqLnByb3AgPT09ICJ1bmRlZmluZWQiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.create - 'get' property of one property in 'Properties' is a function (8.10.5 step 7.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-263.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNS8xNS4yLjMuNS00LTI2Ni5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5jcmVhdGUgLSAnc2V0JyBwcm9wZXJ0eSBvZiBvbmUgcHJvcGVydHkgaW4gJ1Byb3BlcnRpZXMnIGlzIHByZXNlbnQgKDguMTAuNSBzdGVwIDgpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIGRhdGEgPSAiZGF0YSI7DQoNCiAgICAgICAgdmFyIG5ld09iaiA9IE9iamVjdC5jcmVhdGUoe30sIHsNCiAgICAgICAgICAgIHByb3A6IHsNCiAgICAgICAgICAgICAgICBzZXQ6IGZ1bmN0aW9uICh2YWx1ZSkgew0KICAgICAgICAgICAgICAgICAgICBkYXRhID0gdmFsdWU7DQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgaGFzUHJvcGVydHkgPSBuZXdPYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCg0KICAgICAgICBuZXdPYmoucHJvcCA9ICJvdmVycmlkZURhdGEiOw0KDQogICAgICAgIHJldHVybiBoYXNQcm9wZXJ0eSAmJiBkYXRhID09PSAib3ZlcnJpZGVEYXRhIjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.create - 'set' property of one property in 'Properties' is present (8.10.5 step 8)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-266.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNS8xNS4yLjMuNS00LTI2Ny5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5jcmVhdGUgLSAnc2V0JyBwcm9wZXJ0eSBvZiBvbmUgcHJvcGVydHkgaW4gJ1Byb3BlcnRpZXMnIGlzIG5vdCBwcmVzZW50ICg4LjEwLjUgc3RlcCA4KQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBuZXdPYmogPSBPYmplY3QuY3JlYXRlKHt9LCB7DQogICAgICAgICAgICBwcm9wOiB7DQogICAgICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgIHJldHVybiAiZGF0YSI7DQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgaGFzUHJvcGVydHkgPSBuZXdPYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCg0KICAgICAgICBuZXdPYmoucHJvcCA9ICJvdmVycmlkZURhdGEiOw0KDQogICAgICAgIHJldHVybiBoYXNQcm9wZXJ0eSAmJiBuZXdPYmoucHJvcCA9PT0gImRhdGEiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.create - 'set' property of one property in 'Properties' is not present (8.10.5 step 8)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-267.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNS8xNS4yLjMuNS00LTI2OC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5jcmVhdGUgLSAnc2V0JyBwcm9wZXJ0eSBvZiBvbmUgcHJvcGVydHkgaW4gJ1Byb3BlcnRpZXMnIGlzIG93biBkYXRhIHByb3BlcnR5ICg4LjEwLjUgc3RlcCA4LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIGRhdGEgPSAiZGF0YSI7DQoNCiAgICAgICAgdmFyIG5ld09iaiA9IE9iamVjdC5jcmVhdGUoe30sIHsNCiAgICAgICAgICAgIHByb3A6IHsNCiAgICAgICAgICAgICAgICBzZXQ6IGZ1bmN0aW9uICh2YWx1ZSkgew0KICAgICAgICAgICAgICAgICAgICBkYXRhID0gdmFsdWU7DQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgaGFzUHJvcGVydHkgPSBuZXdPYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCg0KICAgICAgICBuZXdPYmoucHJvcCA9ICJvdmVycmlkZURhdGEiOw0KDQogICAgICAgIHJldHVybiBoYXNQcm9wZXJ0eSAmJiBkYXRhID09PSAib3ZlcnJpZGVEYXRhIjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.create - 'set' property of one property in 'Properties' is own data property (8.10.5 step 8.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-268.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNS8xNS4yLjMuNS00LTI2OS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5jcmVhdGUgLSAnc2V0JyBwcm9wZXJ0eSBvZiBvbmUgcHJvcGVydHkgaW4gJ1Byb3BlcnRpZXMnIGlzIGFuIGluaGVyaXRlZCBkYXRhIHByb3BlcnR5ICg4LjEwLjUgc3RlcCA4LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIGRhdGEgPSAiZGF0YSI7DQogICAgICAgIHZhciBwcm90byA9IHsNCiAgICAgICAgICAgIHNldDogZnVuY3Rpb24gKHZhbHVlKSB7DQogICAgICAgICAgICAgICAgZGF0YSA9IHZhbHVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9Ow0KDQogICAgICAgIHZhciBDb25zdHJ1Y3RGdW4gPSBmdW5jdGlvbiAoKSB7IH07DQogICAgICAgIENvbnN0cnVjdEZ1bi5wcm90b3R5cGUgPSBwcm90bzsNCiAgICAgICAgdmFyIGNoaWxkID0gbmV3IENvbnN0cnVjdEZ1bigpOw0KDQogICAgICAgIHZhciBuZXdPYmogPSBPYmplY3QuY3JlYXRlKHt9LCB7DQogICAgICAgICAgICBwcm9wOiBjaGlsZCANCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIGhhc1Byb3BlcnR5ID0gbmV3T2JqLmhhc093blByb3BlcnR5KCJwcm9wIik7DQoNCiAgICAgICAgbmV3T2JqLnByb3AgPSAib3ZlcnJpZGVEYXRhIjsNCg0KICAgICAgICByZXR1cm4gaGFzUHJvcGVydHkgJiYgZGF0YSA9PT0gIm92ZXJyaWRlRGF0YSI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.create - 'set' property of one property in 'Properties' is an inherited data property (8.10.5 step 8.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-269.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNS8xNS4yLjMuNS00LTI3LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmNyZWF0ZSAtIG93biBlbnVtZXJhYmxlIGFjY2Vzc29yIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyB3aXRob3V0IGEgZ2V0IGZ1bmN0aW9uIHRoYXQgb3ZlcnJpZGVzIGFuIGVudW1lcmFibGUgaW5oZXJpdGVkIGFjY2Vzc29yIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyBkZWZpbmVkIGluICdvYmonICgxNS4yLjMuNyBzdGVwIDUuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBwcm90byA9IHt9Ow0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkocHJvdG8sICJwcm9wIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIHt9Ow0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIENvbnN0cnVjdEZ1biA9IGZ1bmN0aW9uICgpIHsgfTsNCiAgICAgICAgQ29uc3RydWN0RnVuLnByb3RvdHlwZSA9IHByb3RvOw0KDQogICAgICAgIHZhciBjaGlsZCA9IG5ldyBDb25zdHJ1Y3RGdW4oKTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGNoaWxkLCAicHJvcCIsIHsNCiAgICAgICAgICAgIHNldDogZnVuY3Rpb24gKCkgeyB9LA0KICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmNyZWF0ZSh7fSwgY2hpbGQpOw0KDQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGV4KSB7DQogICAgICAgICAgICByZXR1cm4gZXggaW5zdGFuY2VvZiBUeXBlRXJyb3I7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.create - own enumerable accessor property in 'Properties' without a get function that overrides an enumerable inherited accessor property in 'Properties' is defined in 'obj' (15.2.3.7 step 5.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-27.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNS8xNS4yLjMuNS00LTI3MC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5jcmVhdGUgLSAnc2V0JyBwcm9wZXJ0eSBvZiBvbmUgcHJvcGVydHkgaW4gJ1Byb3BlcnRpZXMnIGlzIG93biBkYXRhIHByb3BlcnR5IHRoYXQgb3ZlcnJpZGVzIGFuIGluaGVyaXRlZCBkYXRhIHByb3BlcnR5ICg4LjEwLjUgc3RlcCA4LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIGRhdGExID0gImRhdGEiOw0KICAgICAgICB2YXIgZGF0YTIgPSAiZGF0YSI7DQogICAgICAgIHZhciBwcm90byA9IHsNCiAgICAgICAgICAgIHNldDogZnVuY3Rpb24gKHZhbHVlKSB7DQogICAgICAgICAgICAgICAgZGF0YTIgPSB2YWx1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfTsNCg0KICAgICAgICB2YXIgQ29uc3RydWN0RnVuID0gZnVuY3Rpb24gKCkgeyB9Ow0KICAgICAgICBDb25zdHJ1Y3RGdW4ucHJvdG90eXBlID0gcHJvdG87DQogICAgICAgIHZhciBjaGlsZCA9IG5ldyBDb25zdHJ1Y3RGdW4oKTsNCiAgICAgICAgY2hpbGQuc2V0ID0gZnVuY3Rpb24gKHZhbHVlKSB7DQogICAgICAgICAgICBkYXRhMSA9IHZhbHVlOw0KICAgICAgICB9Ow0KDQogICAgICAgIHZhciBuZXdPYmogPSBPYmplY3QuY3JlYXRlKHt9LCB7DQogICAgICAgICAgICBwcm9wOiBjaGlsZCANCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIGhhc1Byb3BlcnR5ID0gbmV3T2JqLmhhc093blByb3BlcnR5KCJwcm9wIik7DQoNCiAgICAgICAgbmV3T2JqLnByb3AgPSAib3ZlcnJpZGVEYXRhIjsNCg0KICAgICAgICByZXR1cm4gaGFzUHJvcGVydHkgJiYgZGF0YTEgPT09ICJvdmVycmlkZURhdGEiICYmIGRhdGEyID09PSAiZGF0YSI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.create - 'set' property of one property in 'Properties' is own data property that overrides an inherited data property (8.10.5 step 8.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-270.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNS8xNS4yLjMuNS00LTI3MS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5jcmVhdGUgLSAnc2V0JyBwcm9wZXJ0eSBvZiBvbmUgcHJvcGVydHkgaW4gJ1Byb3BlcnRpZXMnIGlzIG93biBkYXRhIHByb3BlcnR5IHRoYXQgb3ZlcnJpZGVzIGFuIGluaGVyaXRlZCBhY2Nlc3NvciBwcm9wZXJ0eSAoOC4xMC41IHN0ZXAgOC5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBkYXRhMSA9ICJkYXRhIjsNCiAgICAgICAgdmFyIGRhdGEyID0gImRhdGEiOw0KDQogICAgICAgIHZhciBwcm90byA9IHt9Ow0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkocHJvdG8sICJzZXQiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gZnVuY3Rpb24gKHZhbHVlKSB7DQogICAgICAgICAgICAgICAgICAgIGRhdGEyID0gdmFsdWU7DQogICAgICAgICAgICAgICAgfTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIENvbnN0cnVjdEZ1biA9IGZ1bmN0aW9uICgpIHsgfTsNCiAgICAgICAgQ29uc3RydWN0RnVuLnByb3RvdHlwZSA9IHByb3RvOw0KICAgICAgICB2YXIgY2hpbGQgPSBuZXcgQ29uc3RydWN0RnVuKCk7DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShjaGlsZCwgInNldCIsIHsNCiAgICAgICAgICAgIHZhbHVlOiBmdW5jdGlvbiAodmFsdWUpIHsNCiAgICAgICAgICAgICAgICBkYXRhMSA9IHZhbHVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgbmV3T2JqID0gT2JqZWN0LmNyZWF0ZSh7fSwgew0KICAgICAgICAgICAgcHJvcDogY2hpbGQgDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBoYXNQcm9wZXJ0eSA9IG5ld09iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KDQogICAgICAgIG5ld09iai5wcm9wID0gIm92ZXJyaWRlRGF0YSI7DQoNCiAgICAgICAgcmV0dXJuIGhhc1Byb3BlcnR5ICYmIGRhdGExID09PSAib3ZlcnJpZGVEYXRhIiAmJiBkYXRhMiA9PT0gImRhdGEiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.create - 'set' property of one property in 'Properties' is own data property that overrides an inherited accessor property (8.10.5 step 8.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-271.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNS8xNS4yLjMuNS00LTI3Mi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5jcmVhdGUgLSAnc2V0JyBwcm9wZXJ0eSBvZiBvbmUgcHJvcGVydHkgaW4gJ1Byb3BlcnRpZXMnIGlzIG93biBhY2Nlc3NvciBwcm9wZXJ0eSAoOC4xMC41IHN0ZXAgOC5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBkYXRhID0gImRhdGEiOw0KICAgICAgICB2YXIgZGVzY09iaiA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShkZXNjT2JqLCAic2V0Iiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIGZ1bmN0aW9uICh2YWx1ZSkgew0KICAgICAgICAgICAgICAgICAgICBkYXRhID0gdmFsdWU7DQogICAgICAgICAgICAgICAgfTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIG5ld09iaiA9IE9iamVjdC5jcmVhdGUoe30sIHsNCiAgICAgICAgICAgIHByb3A6IGRlc2NPYmogDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBoYXNQcm9wZXJ0eSA9IG5ld09iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KDQogICAgICAgIG5ld09iai5wcm9wID0gIm92ZXJyaWRlRGF0YSI7DQoNCiAgICAgICAgcmV0dXJuIGhhc1Byb3BlcnR5ICYmIGRhdGEgPT09ICJvdmVycmlkZURhdGEiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.create - 'set' property of one property in 'Properties' is own accessor property (8.10.5 step 8.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-272.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNS8xNS4yLjMuNS00LTI3My5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5jcmVhdGUgLSAnc2V0JyBwcm9wZXJ0eSBvZiBvbmUgcHJvcGVydHkgaW4gJ1Byb3BlcnRpZXMnIGlzIGFuIGluaGVyaXRlZCBhY2Nlc3NvciBwcm9wZXJ0eSAoOC4xMC41IHN0ZXAgOC5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBkYXRhID0gImRhdGEiOw0KICAgICAgICB2YXIgcHJvdG8gPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkocHJvdG8sICJzZXQiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gZnVuY3Rpb24gKHZhbHVlKSB7DQogICAgICAgICAgICAgICAgICAgIGRhdGEgPSB2YWx1ZTsNCiAgICAgICAgICAgICAgICB9Ow0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgQ29uc3RydWN0RnVuID0gZnVuY3Rpb24gKCkgeyB9Ow0KICAgICAgICBDb25zdHJ1Y3RGdW4ucHJvdG90eXBlID0gcHJvdG87DQogICAgICAgIHZhciBjaGlsZCA9IG5ldyBDb25zdHJ1Y3RGdW4oKTsNCg0KICAgICAgICB2YXIgbmV3T2JqID0gT2JqZWN0LmNyZWF0ZSh7fSwgew0KICAgICAgICAgICAgcHJvcDogY2hpbGQgDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBoYXNQcm9wZXJ0eSA9IG5ld09iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KDQogICAgICAgIG5ld09iai5wcm9wID0gIm92ZXJyaWRlRGF0YSI7DQoNCiAgICAgICAgcmV0dXJuIGhhc1Byb3BlcnR5ICYmIGRhdGEgPT09ICJvdmVycmlkZURhdGEiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.create - 'set' property of one property in 'Properties' is an inherited accessor property (8.10.5 step 8.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-273.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNS8xNS4yLjMuNS00LTI3NC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5jcmVhdGUgLSAnc2V0JyBwcm9wZXJ0eSBvZiBvbmUgcHJvcGVydHkgaW4gJ1Byb3BlcnRpZXMnIGlzIG93biBhY2Nlc3NvciBwcm9wZXJ0eSB0aGF0IG92ZXJyaWRlcyBhbiBpbmhlcml0ZWQgZGF0YSBwcm9wZXJ0eSAoOC4xMC41IHN0ZXAgOC5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBkYXRhMSA9ICJkYXRhIjsNCiAgICAgICAgdmFyIGRhdGEyID0gImRhdGEiOw0KDQogICAgICAgIHZhciBwcm90byA9IHt9Ow0KICAgICAgICBwcm90by5zZXQgPSBmdW5jdGlvbiAodmFsdWUpIHsNCiAgICAgICAgICAgIGRhdGEyID0gdmFsdWU7DQogICAgICAgIH07DQoNCiAgICAgICAgdmFyIENvbnN0cnVjdEZ1biA9IGZ1bmN0aW9uICgpIHsgfTsNCiAgICAgICAgQ29uc3RydWN0RnVuLnByb3RvdHlwZSA9IHByb3RvOw0KICAgICAgICB2YXIgY2hpbGQgPSBuZXcgQ29uc3RydWN0RnVuKCk7DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShjaGlsZCwgInNldCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiBmdW5jdGlvbiAodmFsdWUpIHsNCiAgICAgICAgICAgICAgICAgICAgZGF0YTEgPSB2YWx1ZTsNCiAgICAgICAgICAgICAgICB9Ow0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgbmV3T2JqID0gT2JqZWN0LmNyZWF0ZSh7fSwgew0KICAgICAgICAgICAgcHJvcDogY2hpbGQgDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBoYXNQcm9wZXJ0eSA9IG5ld09iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KDQogICAgICAgIG5ld09iai5wcm9wID0gIm92ZXJyaWRlRGF0YSI7DQoNCiAgICAgICAgcmV0dXJuIGhhc1Byb3BlcnR5ICYmIGRhdGExID09PSAib3ZlcnJpZGVEYXRhIiAmJiBkYXRhMiA9PT0gImRhdGEiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.create - 'set' property of one property in 'Properties' is own accessor property that overrides an inherited data property (8.10.5 step 8.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-274.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNS8xNS4yLjMuNS00LTI3NS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5jcmVhdGUgLSAnc2V0JyBwcm9wZXJ0eSBvZiBvbmUgcHJvcGVydHkgaW4gJ1Byb3BlcnRpZXMnIGlzIG93biBhY2Nlc3NvciBwcm9wZXJ0eSB0aGF0IG92ZXJyaWRlcyBhbiBpbmhlcml0ZWQgYWNjZXNzb3IgcHJvcGVydHkgKDguMTAuNSBzdGVwIDguYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgZGF0YTEgPSAiZGF0YSI7DQogICAgICAgIHZhciBkYXRhMiA9ICJkYXRhIjsNCiAgICAgICAgdmFyIHByb3RvID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHByb3RvLCAic2V0Iiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIGZ1bmN0aW9uICh2YWx1ZSkgew0KICAgICAgICAgICAgICAgICAgICBkYXRhMiA9IHZhbHVlOw0KICAgICAgICAgICAgICAgIH07DQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBDb25zdHJ1Y3RGdW4gPSBmdW5jdGlvbiAoKSB7IH07DQogICAgICAgIENvbnN0cnVjdEZ1bi5wcm90b3R5cGUgPSBwcm90bzsNCiAgICAgICAgdmFyIGNoaWxkID0gbmV3IENvbnN0cnVjdEZ1bigpOw0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoY2hpbGQsICJzZXQiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gZnVuY3Rpb24gKHZhbHVlKSB7DQogICAgICAgICAgICAgICAgICAgIGRhdGExID0gdmFsdWU7DQogICAgICAgICAgICAgICAgfTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIG5ld09iaiA9IE9iamVjdC5jcmVhdGUoe30sIHsNCiAgICAgICAgICAgIHByb3A6IGNoaWxkDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBoYXNQcm9wZXJ0eSA9IG5ld09iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KDQogICAgICAgIG5ld09iai5wcm9wID0gIm92ZXJyaWRlRGF0YSI7DQoNCiAgICAgICAgcmV0dXJuIGhhc1Byb3BlcnR5ICYmIGRhdGExID09PSAib3ZlcnJpZGVEYXRhIiAmJiBkYXRhMiA9PT0gImRhdGEiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.create - 'set' property of one property in 'Properties' is own accessor property that overrides an inherited accessor property (8.10.5 step 8.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-275.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNS8xNS4yLjMuNS00LTI3Ni5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5jcmVhdGUgLSAnc2V0JyBwcm9wZXJ0eSBvZiBvbmUgcHJvcGVydHkgaW4gJ1Byb3BlcnRpZXMnIGlzIG93biBhY2Nlc3NvciBwcm9wZXJ0eSB3aXRob3V0IGEgZ2V0IGZ1bmN0aW9uICg4LjEwLjUgc3RlcCA4LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIGRlc2NPYmogPSB7fTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGRlc2NPYmosICJzZXQiLCB7DQogICAgICAgICAgICBzZXQ6IGZ1bmN0aW9uICgpIHsgfQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgbmV3T2JqID0gT2JqZWN0LmNyZWF0ZSh7fSwgew0KICAgICAgICAgICAgcHJvcDogZGVzY09iag0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgaGFzUHJvcGVydHkgPSBuZXdPYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCg0KICAgICAgICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IobmV3T2JqLCAicHJvcCIpOw0KDQogICAgICAgIHJldHVybiBoYXNQcm9wZXJ0eSAmJiB0eXBlb2YgZGVzYy5zZXQgPT09ICJ1bmRlZmluZWQiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.create - 'set' property of one property in 'Properties' is own accessor property without a get function (8.10.5 step 8.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-276.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNS8xNS4yLjMuNS00LTI3Ny5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5jcmVhdGUgLSAnc2V0JyBwcm9wZXJ0eSBvZiBvbmUgcHJvcGVydHkgaW4gJ1Byb3BlcnRpZXMnIGlzIG93biBhY2Nlc3NvciBwcm9wZXJ0eSB3aXRob3V0IGEgZ2V0IGZ1bmN0aW9uLCB3aGljaCBvdmVycmlkZXMgYW4gaW5oZXJpdGVkIGFjY2Vzc29yIHByb3BlcnR5ICg4LjEwLjUgc3RlcCA4LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIHByb3RvID0ge307DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShwcm90bywgInNldCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiBmdW5jdGlvbiAoKSB7IH07DQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBDb25zdHJ1Y3RGdW4gPSBmdW5jdGlvbiAoKSB7IH07DQogICAgICAgIENvbnN0cnVjdEZ1bi5wcm90b3R5cGUgPSBwcm90bzsNCiAgICAgICAgdmFyIGNoaWxkID0gbmV3IENvbnN0cnVjdEZ1bigpOw0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoY2hpbGQsICJzZXQiLCB7DQogICAgICAgICAgICBzZXQ6IGZ1bmN0aW9uICgpIHsgfQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgbmV3T2JqID0gT2JqZWN0LmNyZWF0ZSh7fSwgew0KICAgICAgICAgICAgcHJvcDogY2hpbGQNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG5ld09iaiwgInByb3AiKTsNCg0KICAgICAgICByZXR1cm4gbmV3T2JqLmhhc093blByb3BlcnR5KCJwcm9wIikgJiYgdHlwZW9mIGRlc2Muc2V0ID09PSAidW5kZWZpbmVkIjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.create - 'set' property of one property in 'Properties' is own accessor property without a get function, which overrides an inherited accessor property (8.10.5 step 8.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-277.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNS8xNS4yLjMuNS00LTI3OC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5jcmVhdGUgLSAnc2V0JyBwcm9wZXJ0eSBvZiBvbmUgcHJvcGVydHkgaW4gJ1Byb3BlcnRpZXMnIGlzIGFuIGluaGVyaXRlZCBhY2Nlc3NvciBwcm9wZXJ0eSB3aXRob3V0IGEgZ2V0IGZ1bmN0aW9uICg4LjEwLjUgc3RlcCA4LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIHByb3RvID0ge307DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShwcm90bywgInNldCIsIHsNCiAgICAgICAgICAgIHNldDogZnVuY3Rpb24gKCkgeyB9DQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBDb25zdHJ1Y3RGdW4gPSBmdW5jdGlvbiAoKSB7IH07DQogICAgICAgIENvbnN0cnVjdEZ1bi5wcm90b3R5cGUgPSBwcm90bzsNCiAgICAgICAgdmFyIGNoaWxkID0gbmV3IENvbnN0cnVjdEZ1bigpOw0KDQogICAgICAgIHZhciBuZXdPYmogPSBPYmplY3QuY3JlYXRlKHt9LCB7DQogICAgICAgICAgICBwcm9wOiBjaGlsZA0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IobmV3T2JqLCAicHJvcCIpOw0KDQogICAgICAgIHJldHVybiBuZXdPYmouaGFzT3duUHJvcGVydHkoInByb3AiKSAmJiB0eXBlb2YgZGVzYy5zZXQgPT09ICJ1bmRlZmluZWQiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.create - 'set' property of one property in 'Properties' is an inherited accessor property without a get function (8.10.5 step 8.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-278.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNS8xNS4yLjMuNS00LTI3OS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5jcmVhdGUgLSBvbmUgcHJvcGVydHkgaW4gJ1Byb3BlcnRpZXMnIGlzIGEgRnVuY3Rpb24gb2JqZWN0IHdoaWNoIGltcGxlbWVudHMgaXRzIG93biBbW0dldF1dIG1ldGhvZCB0byBhY2Nlc3MgdGhlICdzZXQnIHByb3BlcnR5ICg4LjEwLjUgc3RlcCA4LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIGZ1bk9iaiA9IGZ1bmN0aW9uICgpIHsgfTsNCiAgICAgICAgdmFyIGRhdGEgPSAiZGF0YSI7DQogICAgICAgIGZ1bk9iai5zZXQgPSBmdW5jdGlvbiAodmFsdWUpIHsNCiAgICAgICAgICAgIGRhdGEgPSB2YWx1ZTsNCiAgICAgICAgfTsNCg0KICAgICAgICB2YXIgbmV3T2JqID0gT2JqZWN0LmNyZWF0ZSh7fSwgew0KICAgICAgICAgICAgcHJvcDogZnVuT2JqDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBoYXNQcm9wZXJ0eSA9IG5ld09iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KDQogICAgICAgIG5ld09iai5wcm9wID0gIm92ZXJyaWRlRGF0YSI7DQoNCiAgICAgICAgcmV0dXJuIGhhc1Byb3BlcnR5ICYmIGRhdGEgPT09ICJvdmVycmlkZURhdGEiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.create - one property in 'Properties' is a Function object which implements its own [[Get]] method to access the 'set' property (8.10.5 step 8.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-279.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNS8xNS4yLjMuNS00LTI4LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmNyZWF0ZSAtICdQcm9wZXJ0aWVzJyBpcyBhIEZ1bmN0aW9uIG9iamVjdCB3aGljaCBpbXBsZW1lbnRzIGl0cyBvd24gW1tHZXRdXSBtZXRob2QgdG8gYWNjZXNzIG93biBlbnVtZXJhYmxlIHByb3BlcnR5ICgxNS4yLjMuNyBzdGVwIDUuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBwcm9wcyA9IGZ1bmN0aW9uICgpIHsgfTsNCiAgICAgICAgcHJvcHMucHJvcCA9IHsNCiAgICAgICAgICAgIHZhbHVlOiAxMiwNCiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUNCiAgICAgICAgfTsNCiAgICAgICAgdmFyIG5ld09iaiA9IE9iamVjdC5jcmVhdGUoe30sIHByb3BzKTsNCiAgICAgICAgcmV0dXJuIG5ld09iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.create - 'Properties' is a Function object which implements its own [[Get]] method to access own enumerable property (15.2.3.7 step 5.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-28.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNS8xNS4yLjMuNS00LTI4MC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5jcmVhdGUgLSBvbmUgcHJvcGVydHkgaW4gJ1Byb3BlcnRpZXMnIGlzIGFuIEFycmF5IG9iamVjdCB0aGF0IHVzZXMgT2JqZWN0J3MgW1tHZXRdXSBtZXRob2QgdG8gYWNjZXNzIHRoZSAnc2V0JyBwcm9wZXJ0eSAoOC4xMC41IHN0ZXAgOC5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBhcnJPYmogPSBbXTsNCiAgICAgICAgdmFyIGRhdGEgPSAiZGF0YSI7DQogICAgICAgIGFyck9iai5zZXQgPSBmdW5jdGlvbiAodmFsdWUpIHsNCiAgICAgICAgICAgIGRhdGEgPSB2YWx1ZTsNCiAgICAgICAgfTsNCg0KICAgICAgICB2YXIgbmV3T2JqID0gT2JqZWN0LmNyZWF0ZSh7fSwgew0KICAgICAgICAgICAgcHJvcDogYXJyT2JqDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBoYXNQcm9wZXJ0eSA9IG5ld09iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KDQogICAgICAgIG5ld09iai5wcm9wID0gIm92ZXJyaWRlRGF0YSI7DQoNCiAgICAgICAgcmV0dXJuIGhhc1Byb3BlcnR5ICYmIGRhdGEgPT09ICJvdmVycmlkZURhdGEiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.create - one property in 'Properties' is an Array object that uses Object's [[Get]] method to access the 'set' property (8.10.5 step 8.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-280.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNS8xNS4yLjMuNS00LTI4MS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5jcmVhdGUgLSBvbmUgcHJvcGVydHkgaW4gJ1Byb3BlcnRpZXMnIGlzIGEgU3RyaW5nIG9iamVjdCB0aGF0IHVzZXMgT2JqZWN0J3MgW1tHZXRdXSBtZXRob2QgdG8gYWNjZXNzIHRoZSAnc2V0JyBwcm9wZXJ0eSAoOC4xMC41IHN0ZXAgOC5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBzdHJPYmogPSBuZXcgU3RyaW5nKCk7DQogICAgICAgIHZhciBkYXRhID0gImRhdGEiOw0KICAgICAgICBzdHJPYmouc2V0ID0gZnVuY3Rpb24gKHZhbHVlKSB7DQogICAgICAgICAgICBkYXRhID0gdmFsdWU7DQogICAgICAgIH07DQoNCiAgICAgICAgdmFyIG5ld09iaiA9IE9iamVjdC5jcmVhdGUoe30sIHsNCiAgICAgICAgICAgIHByb3A6IHN0ck9iag0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgaGFzUHJvcGVydHkgPSBuZXdPYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCg0KICAgICAgICBuZXdPYmoucHJvcCA9ICJvdmVycmlkZURhdGEiOw0KDQogICAgICAgIHJldHVybiBoYXNQcm9wZXJ0eSAmJiBkYXRhID09PSAib3ZlcnJpZGVEYXRhIjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.create - one property in 'Properties' is a String object that uses Object's [[Get]] method to access the 'set' property (8.10.5 step 8.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-281.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNS8xNS4yLjMuNS00LTI4Mi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5jcmVhdGUgLSBvbmUgcHJvcGVydHkgaW4gJ1Byb3BlcnRpZXMnIGlzIGEgQm9vbGVhbiBvYmplY3QgdGhhdCB1c2VzIE9iamVjdCdzIFtbR2V0XV0gbWV0aG9kIHRvIGFjY2VzcyB0aGUgJ3NldCcgcHJvcGVydHkgKDguMTAuNSBzdGVwIDguYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgYm9vbE9iaiA9IG5ldyBCb29sZWFuKHRydWUpOw0KICAgICAgICB2YXIgZGF0YSA9ICJkYXRhIjsNCiAgICAgICAgYm9vbE9iai5zZXQgPSBmdW5jdGlvbiAodmFsdWUpIHsNCiAgICAgICAgICAgIGRhdGEgPSB2YWx1ZTsNCiAgICAgICAgfTsNCg0KICAgICAgICB2YXIgbmV3T2JqID0gT2JqZWN0LmNyZWF0ZSh7fSwgew0KICAgICAgICAgICAgcHJvcDogYm9vbE9iag0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgaGFzUHJvcGVydHkgPSBuZXdPYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCg0KICAgICAgICBuZXdPYmoucHJvcCA9ICJvdmVycmlkZURhdGEiOw0KDQogICAgICAgIHJldHVybiBoYXNQcm9wZXJ0eSAmJiBkYXRhID09PSAib3ZlcnJpZGVEYXRhIjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.create - one property in 'Properties' is a Boolean object that uses Object's [[Get]] method to access the 'set' property (8.10.5 step 8.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-282.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNS8xNS4yLjMuNS00LTI4My5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5jcmVhdGUgLSBvbmUgcHJvcGVydHkgaW4gJ1Byb3BlcnRpZXMnIGlzIGEgTnVtYmVyIG9iamVjdCB0aGF0IHVzZXMgT2JqZWN0J3MgW1tHZXRdXSBtZXRob2QgdG8gYWNjZXNzIHRoZSAnc2V0JyBwcm9wZXJ0eSAoOC4xMC41IHN0ZXAgOC5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBudW1PYmogPSBuZXcgTnVtYmVyKDUpOw0KICAgICAgICB2YXIgZGF0YSA9ICJkYXRhIjsNCiAgICAgICAgbnVtT2JqLnNldCA9IGZ1bmN0aW9uICh2YWx1ZSkgew0KICAgICAgICAgICAgZGF0YSA9IHZhbHVlOw0KICAgICAgICB9Ow0KDQogICAgICAgIHZhciBuZXdPYmogPSBPYmplY3QuY3JlYXRlKHt9LCB7DQogICAgICAgICAgICBwcm9wOiBudW1PYmoNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIGhhc1Byb3BlcnR5ID0gbmV3T2JqLmhhc093blByb3BlcnR5KCJwcm9wIik7DQoNCiAgICAgICAgbmV3T2JqLnByb3AgPSAib3ZlcnJpZGVEYXRhIjsNCg0KICAgICAgICByZXR1cm4gaGFzUHJvcGVydHkgJiYgZGF0YSA9PT0gIm92ZXJyaWRlRGF0YSI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.create - one property in 'Properties' is a Number object that uses Object's [[Get]] method to access the 'set' property (8.10.5 step 8.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-283.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNS8xNS4yLjMuNS00LTI4NC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5jcmVhdGUgLSBvbmUgcHJvcGVydHkgaW4gJ1Byb3BlcnRpZXMnIGlzIHRoZSBNYXRoIG9iamVjdCB0aGF0IHVzZXMgT2JqZWN0J3MgW1tHZXRdXSBtZXRob2QgdG8gYWNjZXNzIHRoZSAnc2V0JyBwcm9wZXJ0eSAoOC4xMC41IHN0ZXAgOC5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBkYXRhID0gImRhdGEiOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBNYXRoLnNldCA9IGZ1bmN0aW9uICh2YWx1ZSkgew0KICAgICAgICAgICAgICAgIGRhdGEgPSB2YWx1ZTsNCiAgICAgICAgICAgIH07DQoNCiAgICAgICAgICAgIHZhciBuZXdPYmogPSBPYmplY3QuY3JlYXRlKHt9LCB7DQogICAgICAgICAgICAgICAgcHJvcDogTWF0aA0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgIHZhciBoYXNQcm9wZXJ0eSA9IG5ld09iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KDQogICAgICAgICAgICBuZXdPYmoucHJvcCA9ICJvdmVycmlkZURhdGEiOw0KDQogICAgICAgICAgICByZXR1cm4gaGFzUHJvcGVydHkgJiYgZGF0YSA9PT0gIm92ZXJyaWRlRGF0YSI7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgTWF0aC5zZXQ7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.create - one property in 'Properties' is the Math object that uses Object's [[Get]] method to access the 'set' property (8.10.5 step 8.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-284.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNS8xNS4yLjMuNS00LTI4NS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5jcmVhdGUgLSBvbmUgcHJvcGVydHkgaW4gJ1Byb3BlcnRpZXMnIGlzIGEgRGF0ZSBvYmplY3QgdGhhdCB1c2VzIE9iamVjdCdzIFtbR2V0XV0gbWV0aG9kIHRvIGFjY2VzcyB0aGUgJ3NldCcgcHJvcGVydHkgKDguMTAuNSBzdGVwIDguYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgZGF0ZU9iaiA9IG5ldyBEYXRlKCk7DQogICAgICAgIHZhciBkYXRhID0gImRhdGEiOw0KICAgICAgICBkYXRlT2JqLnNldCA9IGZ1bmN0aW9uICh2YWx1ZSkgew0KICAgICAgICAgICAgZGF0YSA9IHZhbHVlOw0KICAgICAgICB9Ow0KDQogICAgICAgIHZhciBuZXdPYmogPSBPYmplY3QuY3JlYXRlKHt9LCB7DQogICAgICAgICAgICBwcm9wOiBkYXRlT2JqDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBoYXNQcm9wZXJ0eSA9IG5ld09iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KDQogICAgICAgIG5ld09iai5wcm9wID0gIm92ZXJyaWRlRGF0YSI7DQoNCiAgICAgICAgcmV0dXJuIGhhc1Byb3BlcnR5ICYmIGRhdGEgPT09ICJvdmVycmlkZURhdGEiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.create - one property in 'Properties' is a Date object that uses Object's [[Get]] method to access the 'set' property (8.10.5 step 8.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-285.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNS8xNS4yLjMuNS00LTI4Ni5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5jcmVhdGUgLSBvbmUgcHJvcGVydHkgaW4gJ1Byb3BlcnRpZXMnIGlzIGEgUmVnRXhwIG9iamVjdCB0aGF0IHVzZXMgT2JqZWN0J3MgW1tHZXRdXSBtZXRob2QgdG8gYWNjZXNzIHRoZSAnc2V0JyBwcm9wZXJ0eSAoOC4xMC41IHN0ZXAgOC5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciByZWdPYmogPSBuZXcgUmVnRXhwKCk7DQogICAgICAgIHZhciBkYXRhID0gImRhdGEiOw0KICAgICAgICByZWdPYmouc2V0ID0gZnVuY3Rpb24gKHZhbHVlKSB7DQogICAgICAgICAgICBkYXRhID0gdmFsdWU7DQogICAgICAgIH07DQoNCiAgICAgICAgdmFyIG5ld09iaiA9IE9iamVjdC5jcmVhdGUoe30sIHsNCiAgICAgICAgICAgIHByb3A6IHJlZ09iag0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgaGFzUHJvcGVydHkgPSBuZXdPYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCg0KICAgICAgICBuZXdPYmoucHJvcCA9ICJvdmVycmlkZURhdGEiOw0KDQogICAgICAgIHJldHVybiBoYXNQcm9wZXJ0eSAmJiBkYXRhID09PSAib3ZlcnJpZGVEYXRhIjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.create - one property in 'Properties' is a RegExp object that uses Object's [[Get]] method to access the 'set' property (8.10.5 step 8.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-286.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNS8xNS4yLjMuNS00LTI4Ny5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5jcmVhdGUgLSBvbmUgcHJvcGVydHkgaW4gJ1Byb3BlcnRpZXMnIGlzIHRoZSBKU09OIG9iamVjdCB0aGF0IHVzZXMgT2JqZWN0J3MgW1tHZXRdXSBtZXRob2QgdG8gYWNjZXNzIHRoZSAnc2V0JyBwcm9wZXJ0eSAoOC4xMC41IHN0ZXAgOC5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBkYXRhID0gImRhdGEiOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBKU09OLnNldCA9IGZ1bmN0aW9uICh2YWx1ZSkgew0KICAgICAgICAgICAgICAgIGRhdGEgPSB2YWx1ZTsNCiAgICAgICAgICAgIH07DQoNCiAgICAgICAgICAgIHZhciBuZXdPYmogPSBPYmplY3QuY3JlYXRlKHt9LCB7DQogICAgICAgICAgICAgICAgcHJvcDogSlNPTg0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgIHZhciBoYXNQcm9wZXJ0eSA9IG5ld09iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KDQogICAgICAgICAgICBuZXdPYmoucHJvcCA9ICJvdmVycmlkZURhdGEiOw0KDQogICAgICAgICAgICByZXR1cm4gaGFzUHJvcGVydHkgJiYgZGF0YSA9PT0gIm92ZXJyaWRlRGF0YSI7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgSlNPTi5zZXQ7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.create - one property in 'Properties' is the JSON object that uses Object's [[Get]] method to access the 'set' property (8.10.5 step 8.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-287.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNS8xNS4yLjMuNS00LTI4OC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5jcmVhdGUgLSBvbmUgcHJvcGVydHkgaW4gJ1Byb3BlcnRpZXMnIGlzIGFuIEVycm9yIG9iamVjdCB0aGF0IHVzZXMgT2JqZWN0J3MgW1tHZXRdXSBtZXRob2QgdG8gYWNjZXNzIHRoZSAnc2V0JyBwcm9wZXJ0eSAoOC4xMC41IHN0ZXAgOC5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBlcnJPYmogPSBuZXcgRXJyb3IoImVycm9yIik7DQogICAgICAgIHZhciBkYXRhID0gImRhdGEiOw0KDQogICAgICAgIGVyck9iai5zZXQgPSBmdW5jdGlvbiAodmFsdWUpIHsNCiAgICAgICAgICAgIGRhdGEgPSB2YWx1ZTsNCiAgICAgICAgfTsNCg0KICAgICAgICB2YXIgbmV3T2JqID0gT2JqZWN0LmNyZWF0ZSh7fSwgew0KICAgICAgICAgICAgcHJvcDogZXJyT2JqDQogICAgICAgIH0pOw0KDQogICAgICAgIG5ld09iai5wcm9wID0gIm92ZXJyaWRlRGF0YSI7DQoNCiAgICAgICAgcmV0dXJuIG5ld09iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpICYmIGRhdGEgPT09ICJvdmVycmlkZURhdGEiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.create - one property in 'Properties' is an Error object that uses Object's [[Get]] method to access the 'set' property (8.10.5 step 8.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-288.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNS8xNS4yLjMuNS00LTI4OS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5jcmVhdGUgLSBvbmUgcHJvcGVydHkgaW4gJ1Byb3BlcnRpZXMnIGlzIGFuIEFyZ3VtZW50cyBvYmplY3Qgd2hpY2ggaW1wbGVtZW50cyBpdHMgb3duIFtbR2V0XV0gbWV0aG9kIHRvIGFjY2VzcyB0aGUgJ3NldCcgcHJvcGVydHkgKDguMTAuNSBzdGVwIDguYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgYXJnT2JqID0gKGZ1bmN0aW9uICgpIHsgcmV0dXJuIGFyZ3VtZW50czsgfSkoKTsNCg0KICAgICAgICB2YXIgZGF0YSA9ICJkYXRhIjsNCg0KICAgICAgICBhcmdPYmouc2V0ID0gZnVuY3Rpb24gKHZhbHVlKSB7DQogICAgICAgICAgICBkYXRhID0gdmFsdWU7DQogICAgICAgIH07DQoNCiAgICAgICAgdmFyIG5ld29iaiA9IE9iamVjdC5jcmVhdGUoe30sIHsNCiAgICAgICAgICAgIHByb3A6IGFyZ09iag0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgaGFzUHJvcGVydHkgPSBuZXdvYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCg0KICAgICAgICBuZXdvYmoucHJvcCA9ICJvdmVycmlkZURhdGEiOw0KDQogICAgICAgIHJldHVybiBoYXNQcm9wZXJ0eSAmJiBkYXRhID09PSAib3ZlcnJpZGVEYXRhIjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.create - one property in 'Properties' is an Arguments object which implements its own [[Get]] method to access the 'set' property (8.10.5 step 8.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-289.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNS8xNS4yLjMuNS00LTI5LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmNyZWF0ZSAtICdQcm9wZXJ0aWVzJyBpcyBhbiBBcnJheSBvYmplY3QgdGhhdCB1c2VzIE9iamVjdCdzIFtbR2V0XV0gbWV0aG9kIHRvIGFjY2VzcyBvd24gZW51bWVyYWJsZSBwcm9wZXJ0eSAoMTUuMi4zLjcgc3RlcCA1LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgcHJvcHMgPSBbXTsNCiAgICAgICAgcHJvcHMucHJvcCA9IHsNCiAgICAgICAgICAgIHZhbHVlOiB7fSwNCiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUNCiAgICAgICAgfTsNCiAgICAgICAgdmFyIG5ld09iaiA9IE9iamVjdC5jcmVhdGUoe30sIHByb3BzKTsNCiAgICAgICAgcmV0dXJuIG5ld09iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.create - 'Properties' is an Array object that uses Object's [[Get]] method to access own enumerable property (15.2.3.7 step 5.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-29.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNS8xNS4yLjMuNS00LTI5MS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5jcmVhdGUgLSBvbmUgcHJvcGVydHkgaW4gJ1Byb3BlcnRpZXMnIGlzIHRoZSBnbG9iYWwgb2JqZWN0IHRoYXQgdXNlcyBPYmplY3QncyBbW0dldF1dIG1ldGhvZCB0byBhY2Nlc3MgdGhlICdzZXQnIHByb3BlcnR5ICg4LjEwLjUgc3RlcCA4LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIGRhdGEgPSAiZGF0YSI7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIGZuR2xvYmFsT2JqZWN0KCkuc2V0ID0gZnVuY3Rpb24gKHZhbHVlKSB7DQogICAgICAgICAgICAgICAgZGF0YSA9IHZhbHVlOw0KICAgICAgICAgICAgfTsNCg0KICAgICAgICAgICAgdmFyIG5ld09iaiA9IE9iamVjdC5jcmVhdGUoe30sIHsNCiAgICAgICAgICAgICAgICBwcm9wOiBmbkdsb2JhbE9iamVjdCgpDQogICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgdmFyIGhhc1Byb3BlcnR5ID0gbmV3T2JqLmhhc093blByb3BlcnR5KCJwcm9wIik7DQoNCiAgICAgICAgICAgIG5ld09iai5wcm9wID0gIm92ZXJyaWRlRGF0YSI7DQoNCiAgICAgICAgICAgIHJldHVybiBoYXNQcm9wZXJ0eSAmJiBkYXRhID09PSAib3ZlcnJpZGVEYXRhIjsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBmbkdsb2JhbE9iamVjdCgpLnNldDsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.create - one property in 'Properties' is the global object that uses Object's [[Get]] method to access the 'set' property (8.10.5 step 8.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-291.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNS8xNS4yLjMuNS00LTI5Mi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5jcmVhdGUgLSAnc2V0JyBwcm9wZXJ0eSBvZiBvbmUgcHJvcGVydHkgaW4gJ1Byb3BlcnRpZXMnIGlzIHVuZGVmaW5lZCAoOC4xMC41IHN0ZXAgOC5iKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG5ld09iaiA9IE9iamVjdC5jcmVhdGUoe30sIHsNCiAgICAgICAgICAgIHByb3A6IHsNCiAgICAgICAgICAgICAgICBzZXQ6IHVuZGVmaW5lZA0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCg0KICAgICAgICBuZXdPYmoucHJvcCA9ICJvdmVycmlkZURhdGEiOw0KDQogICAgICAgIHJldHVybiBuZXdPYmouaGFzT3duUHJvcGVydHkoInByb3AiKSAmJiB0eXBlb2YgKG5ld09iai5wcm9wKSA9PT0gInVuZGVmaW5lZCI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.create - 'set' property of one property in 'Properties' is undefined (8.10.5 step 8.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-292.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNS8xNS4yLjMuNS00LTI5My5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5jcmVhdGUgLSAnc2V0JyBwcm9wZXJ0eSBvZiBvbmUgcHJvcGVydHkgaW4gJ1Byb3BlcnRpZXMnIGlzIGEgcHJpbWl0aXZlIHZhbHVlIG51bGwgKDguMTAuNSBzdGVwIDguYikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuY3JlYXRlKHt9LCB7DQogICAgICAgICAgICAgICAgcHJvcDogew0KICAgICAgICAgICAgICAgICAgICBzZXQ6IG51bGwNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.create - 'set' property of one property in 'Properties' is a primitive value null (8.10.5 step 8.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-293.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNS8xNS4yLjMuNS00LTI5NC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5jcmVhdGUgLSAnc2V0JyBwcm9wZXJ0eSBvZiBvbmUgcHJvcGVydHkgaW4gJ1Byb3BlcnRpZXMnIGlzIGEgcHJpbWl0aXZlIGJvb2xlYW4gdmFsdWUgdHJ1ZSAoOC4xMC41IHN0ZXAgOC5iKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5jcmVhdGUoe30sIHsNCiAgICAgICAgICAgICAgICBwcm9wOiB7DQogICAgICAgICAgICAgICAgICAgIHNldDogdHJ1ZQ0KICAgICAgICAgICAgICAgIH0gDQogICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.create - 'set' property of one property in 'Properties' is a primitive boolean value true (8.10.5 step 8.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-294.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNS8xNS4yLjMuNS00LTI5NS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5jcmVhdGUgLSAnc2V0JyBwcm9wZXJ0eSBvZiBvbmUgcHJvcGVydHkgaW4gJ1Byb3BlcnRpZXMnIGlzIGEgcHJpbWl0aXZlIG51bWJlciB2YWx1ZSAoOC4xMC41IHN0ZXAgOC5iKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5jcmVhdGUoe30sIHsNCiAgICAgICAgICAgICAgICBwcm9wOiB7DQogICAgICAgICAgICAgICAgICAgIHNldDogMTIzDQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIChlIGluc3RhbmNlb2YgVHlwZUVycm9yKTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.create - 'set' property of one property in 'Properties' is a primitive number value (8.10.5 step 8.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-295.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNS8xNS4yLjMuNS00LTI5Ni5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5jcmVhdGUgLSAnc2V0JyBwcm9wZXJ0eSBvZiBvbmUgcHJvcGVydHkgaW4gJ1Byb3BlcnRpZXMnIGlzIGEgcHJpbWl0aXZlIHN0cmluZyB2YWx1ZSAoOC4xMC41IHN0ZXAgOC5iKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5jcmVhdGUoe30sIHsNCiAgICAgICAgICAgICAgICBwcm9wOiB7DQogICAgICAgICAgICAgICAgICAgIHNldDogImFiYyINCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.create - 'set' property of one property in 'Properties' is a primitive string value (8.10.5 step 8.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-296.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNS8xNS4yLjMuNS00LTI5Ny5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5jcmVhdGUgLSAnc2V0JyBwcm9wZXJ0eSBvZiBvbmUgcHJvcGVydHkgaW4gJ1Byb3BlcnRpZXMnIGlzIGFuIERhdGUgb2JqZWN0ICg4LjEwLjUgc3RlcCA4LmIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmNyZWF0ZSh7fSwgew0KICAgICAgICAgICAgICAgIHByb3A6IHsNCiAgICAgICAgICAgICAgICAgICAgc2V0OiBuZXcgRGF0ZSgpDQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIChlIGluc3RhbmNlb2YgVHlwZUVycm9yKTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.create - 'set' property of one property in 'Properties' is an Date object (8.10.5 step 8.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-297.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNS8xNS4yLjMuNS00LTI5OC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5jcmVhdGUgLSAnc2V0JyBwcm9wZXJ0eSBvZiBvbmUgcHJvcGVydHkgaW4gJ1Byb3BlcnRpZXMnIGlzIGEgZnVuY3Rpb24gKDguMTAuNSBzdGVwIDguYikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgZGF0YSA9ICJkYXRhIjsNCg0KICAgICAgICB2YXIgbmV3T2JqID0gT2JqZWN0LmNyZWF0ZSh7fSwgew0KICAgICAgICAgICAgcHJvcDogew0KICAgICAgICAgICAgICAgIHNldDogZnVuY3Rpb24gKHZhbHVlKSB7DQogICAgICAgICAgICAgICAgICAgIGRhdGEgPSB2YWx1ZTsNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KDQogICAgICAgIG5ld09iai5wcm9wID0gIm92ZXJyaWRlRGF0YSI7DQoNCiAgICAgICAgcmV0dXJuIG5ld09iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpICYmIGRhdGEgPT09ICJvdmVycmlkZURhdGEiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.create - 'set' property of one property in 'Properties' is a function (8.10.5 step 8.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-298.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNS8xNS4yLjMuNS00LTMuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIHRocm93cyBUeXBlRXJyb3IgaWYgJ1Byb3BlcnRpZXMnIGlzIG51bGwgKDE1LjIuMy43IHN0ZXAgMikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuY3JlYXRlKHt9LCBudWxsKTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIChlIGluc3RhbmNlb2YgVHlwZUVycm9yKTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.create throws TypeError if 'Properties' is null (15.2.3.7 step 2)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNS8xNS4yLjMuNS00LTMwLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmNyZWF0ZSAtICdQcm9wZXJ0aWVzJyBpcyBhIFN0cmluZyBvYmplY3QgdGhhdCB1c2VzIE9iamVjdCdzIFtbR2V0XV0gbWV0aG9kIHRvIGFjY2VzcyBvd24gZW51bWVyYWJsZSBwcm9wZXJ0eSAoMTUuMi4zLjcgc3RlcCA1LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgcHJvcHMgPSBuZXcgU3RyaW5nKCk7DQogICAgICAgIHByb3BzLnByb3AgPSB7DQogICAgICAgICAgICB2YWx1ZTogMTIsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlDQogICAgICAgIH07DQogICAgICAgIHZhciBuZXdPYmogPSBPYmplY3QuY3JlYXRlKHt9LCBwcm9wcyk7DQoNCiAgICAgICAgcmV0dXJuIG5ld09iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.create - 'Properties' is a String object that uses Object's [[Get]] method to access own enumerable property (15.2.3.7 step 5.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-30.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNS8xNS4yLjMuNS00LTMwMC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5jcmVhdGUgLSAnc2V0JyBwcm9wZXJ0eSBvZiBvbmUgcHJvcGVydHkgaW4gJ1Byb3BlcnRpZXMnIGlzIGEgaG9zdCBvYmplY3QgdGhhdCBpc24ndCBjYWxsYWJsZSAoOC4xMC41IHN0ZXAgOC5iKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5jcmVhdGUoe30sIHsNCiAgICAgICAgICAgICAgICBwcm9wOiB7DQogICAgICAgICAgICAgICAgICAgIHNldDogZm5HbG9iYWxPYmplY3QoKQ0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiAoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcik7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.create - 'set' property of one property in 'Properties' is a host object that isn't callable (8.10.5 step 8.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-300.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNS8xNS4yLjMuNS00LTMwMS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5jcmVhdGUgLSBUeXBlRXJyb3IgaXMgdGhyb3duIGlmIGJvdGggJ3NldCcgcHJvcGVydHkgYW5kICd2YWx1ZScgcHJvcGVydHkgb2Ygb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBhcmUgcHJlc2VudCAoOC4xMC41IHN0ZXAgOS5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5jcmVhdGUoe30sIHsNCiAgICAgICAgICAgICAgICBwcm9wOiB7DQogICAgICAgICAgICAgICAgICAgIHNldDogZnVuY3Rpb24gKCkgeyB9LA0KICAgICAgICAgICAgICAgICAgICB2YWx1ZTogMTAwDQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIChlIGluc3RhbmNlb2YgVHlwZUVycm9yKTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.create - TypeError is thrown if both 'set' property and 'value' property of one property in 'Properties' are present (8.10.5 step 9.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-301.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNS8xNS4yLjMuNS00LTMwMi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5jcmVhdGUgLSBUeXBlRXJyb3IgaXMgdGhyb3duIGlmIGJvdGggJ3NldCcgcHJvcGVydHkgYW5kICd3cml0YWJsZScgcHJvcGVydHkgb2Ygb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBhcmUgcHJlc2VudCAoOC4xMC41IHN0ZXAgOS5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5jcmVhdGUoe30sIHsNCiAgICAgICAgICAgICAgICBwcm9wOiB7DQogICAgICAgICAgICAgICAgICAgIHNldDogZnVuY3Rpb24gKCkgeyB9LA0KICAgICAgICAgICAgICAgICAgICB3cml0YWJsZTogdHJ1ZQ0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiAoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcik7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.create - TypeError is thrown if both 'set' property and 'writable' property of one property in 'Properties' are present (8.10.5 step 9.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-302.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNS8xNS4yLjMuNS00LTMwMy5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5jcmVhdGUgLSBUeXBlRXJyb3IgaXMgdGhyb3duIGlmIGJvdGggJ2dldCcgcHJvcGVydHkgYW5kICd2YWx1ZScgcHJvcGVydHkgb2Ygb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBhcmUgcHJlc2VudCAoOC4xMC41IHN0ZXAgOS5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5jcmVhdGUoe30sIHsNCiAgICAgICAgICAgICAgICBwcm9wOiB7DQogICAgICAgICAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgeyB9LA0KICAgICAgICAgICAgICAgICAgICB2YWx1ZTogMTAwDQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIChlIGluc3RhbmNlb2YgVHlwZUVycm9yKTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.create - TypeError is thrown if both 'get' property and 'value' property of one property in 'Properties' are present (8.10.5 step 9.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-303.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNS8xNS4yLjMuNS00LTMwNC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5jcmVhdGUgLSBUeXBlRXJyb3IgaXMgdGhyb3duIGlmIGJvdGggJ2dldCcgcHJvcGVydHkgYW5kICd3cml0YWJsZScgcHJvcGVydHkgb2Ygb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBhcmUgcHJlc2VudCAoOC4xMC41IHN0ZXAgOS5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5jcmVhdGUoe30sIHsNCiAgICAgICAgICAgICAgICBwcm9wOiB7DQogICAgICAgICAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgeyB9LA0KICAgICAgICAgICAgICAgICAgICB3cml0YWJsZTogdHJ1ZQ0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiAoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcik7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.create - TypeError is thrown if both 'get' property and 'writable' property of one property in 'Properties' are present (8.10.5 step 9.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-304.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNS8xNS4yLjMuNS00LTMwNS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5jcmVhdGUgZGVmaW5lcyBhIGRhdGEgcHJvcGVydHkgd2hlbiBvbmUgcHJvcGVydHkgaW4gJ1Byb3BlcnRpZXMnIGlzIGdlbmVyaWMgZGVzY3JpcHRvciAoOC4xMi45IHN0ZXAgNC5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIHZhciBuZXdPYmogPSBPYmplY3QuY3JlYXRlKHt9LCB7DQogICAgICAgICAgICAgICAgcHJvcDogew0KICAgICAgICAgICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlDQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICByZXR1cm4gbmV3T2JqLmhhc093blByb3BlcnR5KCJwcm9wIik7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.create defines a data property when one property in 'Properties' is generic descriptor (8.12.9 step 4.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-305.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNS8xNS4yLjMuNS00LTMwNi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5jcmVhdGUgLSBbW1ZhbHVlXV0gaXMgc2V0IGFzIHVuZGVmaW5lZCBpZiBpdCBpcyBhYnNlbnQgaW4gZGF0YSBkZXNjcmlwdG9yIG9mIG9uZSBwcm9wZXJ0eSBpbiAnUHJvcGVydGllcycgKDguMTIuOSBzdGVwIDQuYS5pKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIHZhciBuZXdPYmogPSBPYmplY3QuY3JlYXRlKHt9LCB7DQogICAgICAgICAgICAgICAgcHJvcDogew0KICAgICAgICAgICAgICAgICAgICB3cml0YWJsZTogdHJ1ZSwNCiAgICAgICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlLA0KICAgICAgICAgICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlDQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICByZXR1cm4gbmV3T2JqLmhhc093blByb3BlcnR5KCJwcm9wIikgJiYgbmV3T2JqLnByb3AgPT09IHVuZGVmaW5lZDsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.create - [[Value]] is set as undefined if it is absent in data descriptor of one property in 'Properties' (8.12.9 step 4.a.i)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-306.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNS8xNS4yLjMuNS00LTMwNy5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5jcmVhdGUgLSBbW1dyaXRhYmxlXV0gaXMgc2V0IGFzIGZhbHNlIGlmIGl0IGlzIGFic2VudCBpbiBkYXRhIGRlc2NyaXB0b3Igb2Ygb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyAoOC4xMi45IHN0ZXAgNC5hLmkpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG5ld09iaiA9IE9iamVjdC5jcmVhdGUoe30sIHsNCiAgICAgICAgICAgIHByb3A6IHsNCiAgICAgICAgICAgICAgICB2YWx1ZTogMTAwMSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUsDQogICAgICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgaGFzUHJvcGVydHkgPSBuZXdPYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCg0KICAgICAgICBuZXdPYmoucHJvcCA9IDEyOw0KDQogICAgICAgIHJldHVybiBoYXNQcm9wZXJ0eSAmJiBuZXdPYmoucHJvcCA9PT0gMTAwMTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.create - [[Writable]] is set as false if it is absent in data descriptor of one property in 'Properties' (8.12.9 step 4.a.i)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-307.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNS8xNS4yLjMuNS00LTMwOC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5jcmVhdGUgLSBbW0VudW1lcmFibGVdXSBpcyBzZXQgYXMgZmFsc2UgaWYgaXQgaXMgYWJzZW50IGluIGRhdGEgZGVzY3JpcHRvciBvZiBvbmUgcHJvcGVydHkgaW4gJ1Byb3BlcnRpZXMnICg4LjEyLjkgc3RlcCA0LmEuaSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgaXNFbnVtZXJhYmxlID0gZmFsc2U7DQoNCiAgICAgICAgdmFyIG5ld09iaiA9IE9iamVjdC5jcmVhdGUoe30sIHsNCiAgICAgICAgICAgIHByb3A6IHsNCiAgICAgICAgICAgICAgICB2YWx1ZTogMTAwMSwNCiAgICAgICAgICAgICAgICB3cml0YWJsZTogdHJ1ZSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIGhhc1Byb3BlcnR5ID0gbmV3T2JqLmhhc093blByb3BlcnR5KCJwcm9wIik7DQoNCiAgICAgICAgZm9yICh2YXIgcCBpbiBuZXdPYmopIHsNCiAgICAgICAgICAgIGlmIChwID09PSAicHJvcCIpIHsNCiAgICAgICAgICAgICAgICBpc0VudW1lcmFibGUgPSB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQogICAgICAgIHJldHVybiBoYXNQcm9wZXJ0eSAmJiAhaXNFbnVtZXJhYmxlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.create - [[Enumerable]] is set as false if it is absent in data descriptor of one property in 'Properties' (8.12.9 step 4.a.i)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-308.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNS8xNS4yLjMuNS00LTMwOS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5jcmVhdGUgLSBbW0NvbmZpZ3VyYWJsZV1dIGlzIHNldCBhcyBmYWxzZSBpZiBpdCBpcyBhYnNlbnQgaW4gZGF0YSBkZXNjcmlwdG9yIG9mIG9uZSBwcm9wZXJ0eSBpbiAnUHJvcGVydGllcycgKDguMTIuOSBzdGVwIDQuYS5pKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBpc05vdENvbmZpZ3VyYWJsZSA9IGZhbHNlOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICB2YXIgbmV3T2JqID0gT2JqZWN0LmNyZWF0ZSh7fSwgew0KICAgICAgICAgICAgICAgIHByb3A6IHsNCiAgICAgICAgICAgICAgICAgICAgdmFsdWU6IDEwMDEsDQogICAgICAgICAgICAgICAgICAgIHdyaXRhYmxlOiB0cnVlLA0KICAgICAgICAgICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlDQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICB2YXIgaGFzUHJvcGVydHkgPSBuZXdPYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCiAgICAgICAgICAgIGRlbGV0ZSBuZXdPYmoucHJvcDsNCiAgICAgICAgICAgIGlzTm90Q29uZmlndXJhYmxlID0gbmV3T2JqLmhhc093blByb3BlcnR5KCJwcm9wIik7DQogICAgICAgICAgICByZXR1cm4gaGFzUHJvcGVydHkgJiYgaXNOb3RDb25maWd1cmFibGU7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.create - [[Configurable]] is set as false if it is absent in data descriptor of one property in 'Properties' (8.12.9 step 4.a.i)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-309.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNS8xNS4yLjMuNS00LTMxLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmNyZWF0ZSAtICdQcm9wZXJ0aWVzJyBpcyBhIEJvb2xlYW4gb2JqZWN0IHRoYXQgdXNlcyBPYmplY3QncyBbW0dldF1dIG1ldGhvZCB0byBhY2Nlc3Mgb3duIGVudW1lcmFibGUgcHJvcGVydHkgKDE1LjIuMy43IHN0ZXAgNS5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHByb3BzID0gbmV3IEJvb2xlYW4oZmFsc2UpOw0KICAgICAgICBwcm9wcy5wcm9wID0gew0KICAgICAgICAgICAgdmFsdWU6IDEyLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZQ0KICAgICAgICB9Ow0KICAgICAgICB2YXIgbmV3T2JqID0gT2JqZWN0LmNyZWF0ZSh7fSwgcHJvcHMpOw0KICAgICAgICByZXR1cm4gbmV3T2JqLmhhc093blByb3BlcnR5KCJwcm9wIik7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.create - 'Properties' is a Boolean object that uses Object's [[Get]] method to access own enumerable property (15.2.3.7 step 5.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-31.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNS8xNS4yLjMuNS00LTMxMC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5jcmVhdGUgLSBbW0dldF1dIGlzIHNldCBhcyB1bmRlZmluZWQgaWYgaXQgaXMgYWJzZW50IGluIGFjY2Vzc29yIGRlc2NyaXB0b3Igb2Ygb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyAoOC4xMi45IHN0ZXAgNC5iKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBuZXdPYmogPSBPYmplY3QuY3JlYXRlKHt9LCB7DQogICAgICAgICAgICBwcm9wOiB7DQogICAgICAgICAgICAgICAgc2V0OiBmdW5jdGlvbiAoKSB7IH0sDQogICAgICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQogICAgICAgIHJldHVybiBuZXdPYmouaGFzT3duUHJvcGVydHkoInByb3AiKSAmJiBuZXdPYmoucHJvcCA9PT0gdW5kZWZpbmVkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.create - [[Get]] is set as undefined if it is absent in accessor descriptor of one property in 'Properties' (8.12.9 step 4.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-310.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNS8xNS4yLjMuNS00LTMxMS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5jcmVhdGUgLSBbW1NldF1dIGlzIHNldCBhcyB1bmRlZmluZWQgaWYgaXQgaXMgYWJzZW50IGluIGFjY2Vzc29yIGRlc2NyaXB0b3Igb2Ygb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyAoOC4xMi45IHN0ZXAgNC5iKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBuZXdPYmogPSBPYmplY3QuY3JlYXRlKHt9LCB7DQogICAgICAgICAgICBwcm9wOiB7DQogICAgICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgIHJldHVybiAidmVyaWZ5Q3JlYXRlIjsNCiAgICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihuZXdPYmosICJwcm9wIik7DQogICAgICAgIHZhciB2ZXJpZnlTZXQgPSBkZXNjLmhhc093blByb3BlcnR5KCJzZXQiKSAmJiB0eXBlb2YgZGVzYy5zZXQgPT09ICJ1bmRlZmluZWQiOw0KDQogICAgICAgIHZhciB2ZXJpZnlHZXQgPSBmYWxzZTsNCiAgICAgICAgaWYgKG5ld09iai5wcm9wID09PSAidmVyaWZ5Q3JlYXRlIikgew0KICAgICAgICAgICAgdmVyaWZ5R2V0ID0gdHJ1ZTsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciB2ZXJpZnlFbnVtZXJhYmxlID0gZmFsc2U7DQogICAgICAgIGZvciAodmFyIHAgaW4gbmV3T2JqKSB7DQogICAgICAgICAgICBpZiAocCA9PT0gInByb3AiKSB7DQogICAgICAgICAgICAgICAgdmVyaWZ5RW51bWVyYWJsZSA9IHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgdmVyaWZ5Q29uZmlndXJhYmxlID0gZmFsc2U7DQogICAgICAgIHZhciBoYXNQcm9wZXJ0eSA9IG5ld09iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KICAgICAgICBkZWxldGUgbmV3T2JqLnByb3A7DQogICAgICAgIHZlcmlmeUNvbmZpZ3VyYWJsZSA9ICFuZXdPYmouaGFzT3duUHJvcGVydHkoInByb3AiKSAmJiBoYXNQcm9wZXJ0eTsNCg0KICAgICAgICByZXR1cm4gdmVyaWZ5U2V0ICYmIHZlcmlmeUdldCAmJiB2ZXJpZnlFbnVtZXJhYmxlICYmIHZlcmlmeUNvbmZpZ3VyYWJsZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.create - [[Set]] is set as undefined if it is absent in accessor descriptor of one property in 'Properties' (8.12.9 step 4.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-311.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNS8xNS4yLjMuNS00LTMxMi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5jcmVhdGUgLSBbW0VudW1lcmFibGVdXSBpcyBzZXQgYXMgZmFsc2UgaWYgaXQgaXMgYWJzZW50IGluIGFjY2Vzc29yIGRlc2NyaXB0b3Igb2Ygb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyAoOC4xMi45IHN0ZXAgNC5iKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBpc0VudW1lcmFibGUgPSBmYWxzZTsNCiAgICAgICAgdmFyIG5ld09iaiA9IE9iamVjdC5jcmVhdGUoe30sIHsNCiAgICAgICAgICAgIHByb3A6IHsNCiAgICAgICAgICAgICAgICBzZXQ6IGZ1bmN0aW9uICgpIHsgfSwNCiAgICAgICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsgfSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQogICAgICAgIHZhciBoYXNQcm9wZXJ0eSA9IG5ld09iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KICAgICAgICBmb3IgKHZhciBwIGluIG5ld09iaikgew0KICAgICAgICAgICAgaWYgKHAgPT09ICJwcm9wIikgew0KICAgICAgICAgICAgICAgIGlzRW51bWVyYWJsZSA9IHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCiAgICAgICAgcmV0dXJuIGhhc1Byb3BlcnR5ICYmICFpc0VudW1lcmFibGU7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.create - [[Enumerable]] is set as false if it is absent in accessor descriptor of one property in 'Properties' (8.12.9 step 4.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-312.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNS8xNS4yLjMuNS00LTMxMy5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5jcmVhdGUgLSBbW0NvbmZpZ3VyYWJsZV1dIGlzIHNldCBhcyBmYWxzZSBpZiBpdCBpcyBhYnNlbnQgaW4gYWNjZXNzb3IgZGVzY3JpcHRvciBvZiBvbmUgcHJvcGVydHkgaW4gJ1Byb3BlcnRpZXMnICg4LjEyLjkgc3RlcCA0LmIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsgICAgICAgDQogICAgICAgIHZhciBuZXdPYmogPSBPYmplY3QuY3JlYXRlKHt9LCB7DQogICAgICAgICAgICBwcm9wOiB7DQogICAgICAgICAgICAgICAgc2V0OiBmdW5jdGlvbiAoKSB7IH0sDQogICAgICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7IH0sDQogICAgICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCiAgICAgICAgdmFyIGhhc1Byb3BlcnR5ID0gbmV3T2JqLmhhc093blByb3BlcnR5KCJwcm9wIik7DQogICAgICAgIGRlbGV0ZSBuZXdPYmoucHJvcDsNCiAgICAgICAgdmFyIGlzTm90Q29uZmlndXJhYmxlID0gbmV3T2JqLmhhc093blByb3BlcnR5KCJwcm9wIik7DQogICAgICAgIHJldHVybiBoYXNQcm9wZXJ0eSAmJiBpc05vdENvbmZpZ3VyYWJsZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.create - [[Configurable]] is set as false if it is absent in accessor descriptor of one property in 'Properties' (8.12.9 step 4.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-313.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNS8xNS4yLjMuNS00LTMxNC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5jcmVhdGUgLSBzb21lIGVudW1lcmFibGUgb3duIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyBlbXB0eSBvYmplY3QgKDE1LjIuMy43IHN0ZXAgNykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBuZXdPYmogPSBPYmplY3QuY3JlYXRlKHt9LCB7DQogICAgICAgICAgICBmb286IHt9DQogICAgICAgIH0pOw0KICAgICAgICByZXR1cm4gbmV3T2JqLmhhc093blByb3BlcnR5KCJmb28iKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.create - some enumerable own property in 'Properties' is empty object (15.2.3.7 step 7)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-314.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNS8xNS4yLjMuNS00LTMxNS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5jcmVhdGUgLSBhbGwgcHJvcGVydGllcyBpbiAnUHJvcGVydGllcycgYXJlIGVudW1lcmFibGUgKGRhdGEgcHJvcGVydHkgYW5kIGFjY2Vzc29yIHByb3BlcnR5KSAoMTUuMi4zLjcgc3RlcCA3KQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG5ld09iaiA9IHt9Ow0KICAgICAgICBmdW5jdGlvbiBnZXRGdW5jKCkgew0KICAgICAgICAgICAgcmV0dXJuIDEwOw0KICAgICAgICB9DQogICAgICAgIGZ1bmN0aW9uIHNldEZ1bmModmFsdWUpIHsNCiAgICAgICAgICAgIG5ld09iai5zZXRWZXJpZnlIZWxwUHJvcCA9IHZhbHVlOw0KICAgICAgICB9DQoNCiAgICAgICAgbmV3T2JqID0gT2JqZWN0LmNyZWF0ZSh7fSwgew0KICAgICAgICAgICAgZm9vMTogew0KICAgICAgICAgICAgICAgIHZhbHVlOiAyMDAsDQogICAgICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSwNCiAgICAgICAgICAgICAgICB3cml0YWJsZTogdHJ1ZSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBmb28yOiB7DQogICAgICAgICAgICAgICAgZ2V0OiBnZXRGdW5jLA0KICAgICAgICAgICAgICAgIHNldDogc2V0RnVuYywNCiAgICAgICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCiAgICAgICAgcmV0dXJuIGRhdGFQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KG5ld09iaiwgImZvbzEiLCAyMDAsIHRydWUsIHRydWUsIHRydWUpICYmDQogICAgICAgICAgICBhY2Nlc3NvclByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3QobmV3T2JqLCAiZm9vMiIsIGdldEZ1bmMsIHNldEZ1bmMsICJzZXRWZXJpZnlIZWxwUHJvcCIsIHRydWUsIHRydWUpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.create - all properties in 'Properties' are enumerable (data property and accessor property) (15.2.3.7 step 7)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-315.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNS8xNS4yLjMuNS00LTMxNi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5jcmVhdGUgLSBlbnVtZXJhYmxlIHByb3BlcnRpZXMgb2YgJ1Byb3BlcnRpZXMnIGFyZSBnaXZlbiBudW1lcmljYWwgbmFtZXMgKDE1LjIuMy43IHN0ZXAgNykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIGZ1bmN0aW9uIGdldEZ1bmMoKSB7DQogICAgICAgICAgICByZXR1cm4gMjA7DQogICAgICAgIH0NCiAgICAgICAgZnVuY3Rpb24gc2V0RnVuYygpIHsgfQ0KDQogICAgICAgIHZhciBuZXdPYmogPSBPYmplY3QuY3JlYXRlKHt9LCB7DQogICAgICAgICAgICAwOiB7DQogICAgICAgICAgICAgICAgdmFsdWU6IDEwMCwNCiAgICAgICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLA0KICAgICAgICAgICAgICAgIHdyaXRhYmxlOiB0cnVlLA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIDE6IHsNCiAgICAgICAgICAgICAgICBnZXQ6IGdldEZ1bmMsDQogICAgICAgICAgICAgICAgc2V0OiBzZXRGdW5jLA0KICAgICAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgMjogew0KICAgICAgICAgICAgICAgIHZhbHVlOiAyMDAsDQogICAgICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSwNCiAgICAgICAgICAgICAgICB3cml0YWJsZTogdHJ1ZSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQogICAgICAgIHJldHVybiBuZXdPYmpbMF0gPT09IDEwMCAmJiBuZXdPYmpbMV0gPT09IDIwICYmIG5ld09ialsyXSA9PT0gMjAwOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.create - enumerable properties of 'Properties' are given numerical names (15.2.3.7 step 7)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-316.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNS8xNS4yLjMuNS00LTMyLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmNyZWF0ZSAtICdQcm9wZXJ0aWVzJyBpcyBhIE51bWJlciBvYmplY3QgdGhhdCB1c2VzIE9iamVjdCdzIFtbR2V0XV0gbWV0aG9kIHRvIGFjY2VzcyBvd24gZW51bWVyYWJsZSBwcm9wZXJ0eSAoMTUuMi4zLjcgc3RlcCA1LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgcHJvcHMgPSBuZXcgTnVtYmVyKC05KTsNCiAgICAgICAgcHJvcHMucHJvcCA9IHsNCiAgICAgICAgICAgIHZhbHVlOiAxMiwNCiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUNCiAgICAgICAgfTsNCiAgICAgICAgdmFyIG5ld09iaiA9IE9iamVjdC5jcmVhdGUoe30sIHByb3BzKTsNCiAgICAgICAgcmV0dXJuIG5ld09iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.create - 'Properties' is a Number object that uses Object's [[Get]] method to access own enumerable property (15.2.3.7 step 5.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-32.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNS8xNS4yLjMuNS00LTMzLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmNyZWF0ZSAtICdQcm9wZXJ0aWVzJyBpcyB0aGUgTWF0aCBvYmplY3QgdGhhdCB1c2VzIE9iamVjdCdzIFtbR2V0XV0gbWV0aG9kIHRvIGFjY2VzcyBvd24gZW51bWVyYWJsZSBwcm9wZXJ0eSAoMTUuMi4zLjcgc3RlcCA1LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgTWF0aC5wcm9wID0gew0KICAgICAgICAgICAgICAgIHZhbHVlOiAxMiwNCiAgICAgICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlDQogICAgICAgICAgICB9Ow0KICAgICAgICAgICAgdmFyIG5ld09iaiA9IE9iamVjdC5jcmVhdGUoe30sIE1hdGgpOw0KICAgICAgICAgICAgcmV0dXJuIG5ld09iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIE1hdGgucHJvcDsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.create - 'Properties' is the Math object that uses Object's [[Get]] method to access own enumerable property (15.2.3.7 step 5.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-33.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNS8xNS4yLjMuNS00LTM0LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmNyZWF0ZSAtICdQcm9wZXJ0aWVzJyBpcyBhIERhdGUgb2JqZWN0IHRoYXQgdXNlcyBPYmplY3QncyBbW0dldF1dIG1ldGhvZCB0byBhY2Nlc3Mgb3duIGVudW1lcmFibGUgcHJvcGVydHkgKDE1LjIuMy43IHN0ZXAgNS5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHByb3BzID0gbmV3IERhdGUoKTsNCiAgICAgICAgcHJvcHMucHJvcCA9IHsNCiAgICAgICAgICAgIHZhbHVlOiAxMiwNCiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUNCiAgICAgICAgfTsNCiAgICAgICAgdmFyIG5ld09iaiA9IE9iamVjdC5jcmVhdGUoe30sIHByb3BzKTsNCiAgICAgICAgcmV0dXJuIG5ld09iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.create - 'Properties' is a Date object that uses Object's [[Get]] method to access own enumerable property (15.2.3.7 step 5.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-34.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNS8xNS4yLjMuNS00LTM1LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmNyZWF0ZSAtICdQcm9wZXJ0aWVzJyBpcyBhIFJlZ0V4cCBvYmplY3QgdGhhdCB1c2VzIE9iamVjdCdzIFtbR2V0XV0gbWV0aG9kIHRvIGFjY2VzcyBvd24gZW51bWVyYWJsZSBwcm9wZXJ0eSAoMTUuMi4zLjcgc3RlcCA1LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgcHJvcHMgPSBuZXcgUmVnRXhwKCk7DQogICAgICAgIHByb3BzLnByb3AgPSB7DQogICAgICAgICAgICB2YWx1ZTogMTIsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlDQogICAgICAgIH07DQogICAgICAgIHZhciBuZXdPYmogPSBPYmplY3QuY3JlYXRlKHt9LCBwcm9wcyk7DQogICAgICAgIHJldHVybiBuZXdPYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.create - 'Properties' is a RegExp object that uses Object's [[Get]] method to access own enumerable property (15.2.3.7 step 5.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-35.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNS8xNS4yLjMuNS00LTM2LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmNyZWF0ZSAtICdQcm9wZXJ0aWVzJyBpcyB0aGUgSlNPTiBvYmplY3QgdGhhdCB1c2VzIE9iamVjdCdzIFtbR2V0XV0gbWV0aG9kIHRvIGFjY2VzcyBvd24gZW51bWVyYWJsZSBwcm9wZXJ0eSAoMTUuMi4zLjcgc3RlcCA1LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgSlNPTi5wcm9wID0gew0KICAgICAgICAgICAgICAgIHZhbHVlOiAxMiwNCiAgICAgICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlDQogICAgICAgICAgICB9Ow0KICAgICAgICAgICAgdmFyIG5ld09iaiA9IE9iamVjdC5jcmVhdGUoe30sIEpTT04pOw0KICAgICAgICAgICAgcmV0dXJuIG5ld09iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIEpTT04ucHJvcDsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.create - 'Properties' is the JSON object that uses Object's [[Get]] method to access own enumerable property (15.2.3.7 step 5.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-36.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNS8xNS4yLjMuNS00LTM3LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmNyZWF0ZSAtICdQcm9wZXJ0aWVzJyBpcyBhbiBFcnJvciBvYmplY3QgdGhhdCB1c2VzIE9iamVjdCdzIFtbR2V0XV0gbWV0aG9kIHRvIGFjY2VzcyBvd24gZW51bWVyYWJsZSBwcm9wZXJ0eSAoMTUuMi4zLjcgc3RlcCA1LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgcHJvcHMgPSBuZXcgRXJyb3IoInRlc3QiKTsNCg0KICAgICAgICAoT2JqZWN0LmdldE93blByb3BlcnR5TmFtZXMocHJvcHMpKS5mb3JFYWNoKGZ1bmN0aW9uKG5hbWUpew0KICAgICAgICAgICAgcHJvcHNbbmFtZV0gPSB7dmFsdWU6MTEsIGNvbmZpZ3VyYWJsZTp0cnVlfQ0KICAgICAgICB9KTsNCg0KICAgICAgICBwcm9wcy5wcm9wMTVfMl8zXzVfNF8zNyA9IHsNCiAgICAgICAgICAgIHZhbHVlOiAxMiwNCiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUNCiAgICAgICAgfTsNCiAgICAgICAgdmFyIG5ld09iaiA9IE9iamVjdC5jcmVhdGUoe30sIHByb3BzKTsNCiAgICAgICAgcmV0dXJuIG5ld09iai5oYXNPd25Qcm9wZXJ0eSgicHJvcDE1XzJfM181XzRfMzciKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.create - 'Properties' is an Error object that uses Object's [[Get]] method to access own enumerable property (15.2.3.7 step 5.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-37.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNS8xNS4yLjMuNS00LTM4LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmNyZWF0ZSAtICdQcm9wZXJ0aWVzJyBpcyBhbiBBcmd1bWVudHMgb2JqZWN0IHdoaWNoIGltcGxlbWVudHMgaXRzIG93biBbW0dldF1dIG1ldGhvZCB0byBhY2Nlc3Mgb3duIGVudW1lcmFibGUgcHJvcGVydHkgKDE1LjIuMy43IHN0ZXAgNS5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFyZ09iaiA9IChmdW5jdGlvbiAoKSB7IHJldHVybiBhcmd1bWVudHM7IH0pKCk7DQoNCiAgICAgICAgYXJnT2JqLnByb3AgPSB7DQogICAgICAgICAgICB2YWx1ZTogMTIsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlDQogICAgICAgIH07DQoNCiAgICAgICAgdmFyIG5ld09iaiA9IE9iamVjdC5jcmVhdGUoe30sIGFyZ09iaik7DQoNCiAgICAgICAgcmV0dXJuIG5ld09iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.create - 'Properties' is an Arguments object which implements its own [[Get]] method to access own enumerable property (15.2.3.7 step 5.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-38.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNS8xNS4yLjMuNS00LTM5LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmNyZWF0ZSAtIGVuc3VyZSB0aGF0IHNpZGUtZWZmZWN0cyBvZiBnZXRzIG9jY3VyIGluIHRoZSBzYW1lIG9yZGVyIGFzIHRoZXkgd291bGQgZm9yOiBmb3IgKFAgaW4gcHJvcHMpIHByb3BzW1BdICgxNS4yLjMuNyBzdGVwIDUuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBwcm9wcyA9IHt9Ow0KICAgICAgICBwcm9wcy5wcm9wMSA9IHsgdmFsdWU6IDEyLCBlbnVtZXJhYmxlOiB0cnVlIH07DQogICAgICAgIHByb3BzLnByb3AyID0geyB2YWx1ZTogdHJ1ZSwgZW51bWVyYWJsZTogdHJ1ZSB9Ow0KDQogICAgICAgIHZhciB0ZW1wQXJyYXkgPSBbXTsNCiAgICAgICAgZm9yICh2YXIgcCBpbiBwcm9wcykgew0KICAgICAgICAgICAgaWYgKHByb3BzLmhhc093blByb3BlcnR5KHApKSB7DQogICAgICAgICAgICAgICAgdGVtcEFycmF5LnB1c2gocCk7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgbmV3T2JqID0gT2JqZWN0LmNyZWF0ZSh7fSwgcHJvcHMpOw0KICAgICAgICB2YXIgaW5kZXggPSAwOw0KICAgICAgICBmb3IgKHZhciBxIGluIG5ld09iaikgew0KICAgICAgICAgICAgaWYgKHRlbXBBcnJheVtpbmRleCsrXSAhPT0gcSAmJiBuZXdPYmouaGFzT3duUHJvcGVydHkocSkpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCiAgICAgICAgcmV0dXJuIHRydWU7ICAgICAgICAgDQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.create - ensure that side-effects of gets occur in the same order as they would for: for (P in props) props[P] (15.2.3.7 step 5.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-39.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNS8xNS4yLjMuNS00LTQuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gYXJndW1lbnQgJ1Byb3BlcnRpZXMnIGlzIGFuIG9iamVjdCAoMTUuMi4zLjcgc3RlcCAyKS4NCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBwcm9wcyA9IHt9Ow0KICAgICAgICB2YXIgcmVzdWx0ID0gZmFsc2U7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHByb3BzLCAicHJvcCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJlc3VsdCA9IHRoaXMgaW5zdGFuY2VvZiBPYmplY3Q7DQogICAgICAgICAgICAgICAgcmV0dXJuIHt9Ow0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUNCiAgICAgICAgfSk7DQogICAgICAgIE9iamVjdC5jcmVhdGUoe30sIHByb3BzKTsNCiAgICAgICAgcmV0dXJuIHJlc3VsdDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.create - argument 'Properties' is an object (15.2.3.7 step 2).","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNS8xNS4yLjMuNS00LTQwLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmNyZWF0ZSAtIGVuc3VyZSB0aGF0IGlmIGFuIGV4Y2VwdGlvbiBpcyB0aHJvd24gaXQgb2NjdXJzIGluIHRoZSBjb3JyZWN0IG9yZGVyIHJlbGF0aXZlIHRvIHByaW9yIGFuZCBzdWJzZXF1ZW50IHNpZGUtZWZmZWN0cyAoMTUuMi4zLjcgc3RlcCA1LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgbmV3T2JqID0ge307DQogICAgICAgIHZhciBwcm9wcyA9IHt9Ow0KICAgICAgICB2YXIgaSA9IDA7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHByb3BzLCAicHJvcDEiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICBpKys7DQogICAgICAgICAgICAgICAgcmV0dXJuIHt9Ow0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHByb3BzLCAicHJvcDIiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICBpZiAoMSA9PT0gaSsrKSB7DQogICAgICAgICAgICAgICAgICAgIHRocm93IG5ldyBSYW5nZUVycm9yKCk7DQogICAgICAgICAgICAgICAgfSBlbHNlIHsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHt9Ow0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBuZXdPYmogPSBPYmplY3QuY3JlYXRlKHt9LCBwcm9wcyk7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiAoZSBpbnN0YW5jZW9mIFJhbmdlRXJyb3IpICYmICFuZXdPYmouaGFzT3duUHJvcGVydHkoInByb3AxIikgJiYgaSA9PT0gMjsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.create - ensure that if an exception is thrown it occurs in the correct order relative to prior and subsequent side-effects (15.2.3.7 step 5.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-40.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNS8xNS4yLjMuNS00LTQxLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmNyZWF0ZSAtIHZhbHVlIG9mIG9uZSBwcm9wZXJ0eSBpbiAnUHJvcGVydGllcycgaXMgdW5kZWZpbmVkICg4LjEwLjUgc3RlcCAxKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5jcmVhdGUoe30sIHsNCiAgICAgICAgICAgICAgICBwcm9wOiB1bmRlZmluZWQgDQogICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIChlIGluc3RhbmNlb2YgVHlwZUVycm9yKTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.create - value of one property in 'Properties' is undefined (8.10.5 step 1)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-41.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNS8xNS4yLjMuNS00LTQyLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmNyZWF0ZSAtIHZhbHVlIG9mIG9uZSBwcm9wZXJ0eSBpbiAnUHJvcGVydGllcycgaXMgbnVsbCAoOC4xMC41IHN0ZXAgMSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuY3JlYXRlKHt9LCB7DQogICAgICAgICAgICAgICAgcHJvcDogbnVsbCANCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpOw0KICAgICAgICB9DQoNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.create - value of one property in 'Properties' is null (8.10.5 step 1)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-42.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNS8xNS4yLjMuNS00LTQzLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmNyZWF0ZSAtIHZhbHVlIG9mIG9uZSBwcm9wZXJ0eSBpbiAnUHJvcGVydGllcycgaXMgZmFsc2UgKDguMTAuNSBzdGVwIDEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmNyZWF0ZSh7fSwgew0KICAgICAgICAgICAgICAgIHByb3A6IGZhbHNlIA0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiAoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcik7DQogICAgICAgIH0NCg0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.create - value of one property in 'Properties' is false (8.10.5 step 1)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-43.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNS8xNS4yLjMuNS00LTQ0LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmNyZWF0ZSAtIHZhbHVlIG9mIG9uZSBwcm9wZXJ0eSBpbiAnUHJvcGVydGllcycgaXMgYSBudW1iZXIgcHJpbWl0aXZlICg4LjEwLjUgc3RlcCAxKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5jcmVhdGUoe30sIHsNCiAgICAgICAgICAgICAgICBwcm9wOiAxMiANCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.create - value of one property in 'Properties' is a number primitive (8.10.5 step 1)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-44.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNS8xNS4yLjMuNS00LTQ1LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmNyZWF0ZSAtIHZhbHVlIG9mIG9uZSBwcm9wZXJ0eSBpbiAnUHJvcGVydGllcycgaXMgYSBzdHJpbmcgKDguMTAuNSBzdGVwIDEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmNyZWF0ZSh7fSwgew0KICAgICAgICAgICAgICAgIHByb3A6ICJhYmMiIA0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiAoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcik7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.create - value of one property in 'Properties' is a string (8.10.5 step 1)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-45.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNS8xNS4yLjMuNS00LTQ2LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmNyZWF0ZSAtICdlbnVtZXJhYmxlJyBwcm9wZXJ0eSBvZiBvbmUgcHJvcGVydHkgaW4gJ1Byb3BlcnRpZXMnIGlzIHRydWUgKDguMTAuNSBzdGVwIDMpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCiAgICAgICAgdmFyIG5ld09iaiA9IE9iamVjdC5jcmVhdGUoe30sIHsNCiAgICAgICAgICAgIHByb3A6IHsNCiAgICAgICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlDQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KICAgICAgICBmb3IgKHZhciBwcm9wZXJ0eSBpbiBuZXdPYmopIHsNCiAgICAgICAgICAgIGlmIChwcm9wZXJ0eSA9PT0gInByb3AiKSB7DQogICAgICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQogICAgICAgIHJldHVybiBhY2Nlc3NlZDsNCg0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.create - 'enumerable' property of one property in 'Properties' is true (8.10.5 step 3)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-46.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNS8xNS4yLjMuNS00LTQ3LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmNyZWF0ZSAgLSAnZW51bWVyYWJsZScgcHJvcGVydHkgb2Ygb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyBub3QgcHJlc2VudCAoOC4xMC41IHN0ZXAgMykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIHZhciBuZXdPYmogPSBPYmplY3QuY3JlYXRlKHt9LCB7DQogICAgICAgICAgICBwcm9wOiB7fSANCiAgICAgICAgfSk7DQogICAgICAgIGZvciAodmFyIHByb3BlcnR5IGluIG5ld09iaikgew0KICAgICAgICAgICAgaWYgKHByb3BlcnR5ID09PSAicHJvcCIpIHsNCiAgICAgICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCiAgICAgICAgcmV0dXJuICFhY2Nlc3NlZDsNCg0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.create - 'enumerable' property of one property in 'Properties' is not present (8.10.5 step 3)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-47.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNS8xNS4yLjMuNS00LTQ4LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmNyZWF0ZSAgLSAnZW51bWVyYWJsZScgcHJvcGVydHkgb2Ygb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyBvd24gZGF0YSBwcm9wZXJ0eSAoOC4xMC41IHN0ZXAgMy5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQoNCiAgICAgICAgdmFyIG5ld09iaiA9IE9iamVjdC5jcmVhdGUoe30sIHsNCiAgICAgICAgICAgIHByb3A6IHsNCiAgICAgICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlDQogICAgICAgICAgICB9IA0KICAgICAgICB9KTsNCg0KICAgICAgICBmb3IgKHZhciBwcm9wZXJ0eSBpbiBuZXdPYmopIHsNCiAgICAgICAgICAgIGlmIChwcm9wZXJ0eSA9PT0gInByb3AiKSB7DQogICAgICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQogICAgICAgIHJldHVybiBhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.create - 'enumerable' property of one property in 'Properties' is own data property (8.10.5 step 3.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-48.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNS8xNS4yLjMuNS00LTQ5LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmNyZWF0ZSAtICdlbnVtZXJhYmxlJyBwcm9wZXJ0eSBvZiBvbmUgcHJvcGVydHkgaW4gJ1Byb3BlcnRpZXMnIGlzIGFuIGluaGVyaXRlZCBkYXRhIHByb3BlcnR5ICg4LjEwLjUgc3RlcCAzLmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICB2YXIgcHJvdG8gPSB7DQogICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlDQogICAgICAgIH07DQogICAgICAgIHZhciBDb25zdHJ1Y3RGdW4gPSBmdW5jdGlvbiAoKSB7IH07DQogICAgICAgIENvbnN0cnVjdEZ1bi5wcm90b3R5cGUgPSBwcm90bzsNCiAgICAgICAgdmFyIGRlc2NPYmogPSBuZXcgQ29uc3RydWN0RnVuKCk7DQoNCiAgICAgICAgdmFyIG5ld09iaiA9IE9iamVjdC5jcmVhdGUoe30sIHsNCiAgICAgICAgICAgIHByb3A6IGRlc2NPYmogDQogICAgICAgIH0pOw0KDQogICAgICAgIGZvciAodmFyIHByb3BlcnR5IGluIG5ld09iaikgew0KICAgICAgICAgICAgaWYgKHByb3BlcnR5ID09PSAicHJvcCIpIHsNCiAgICAgICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCiAgICAgICAgcmV0dXJuIGFjY2Vzc2VkOw0KDQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.create - 'enumerable' property of one property in 'Properties' is an inherited data property (8.10.5 step 3.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-49.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNS8xNS4yLjMuNS00LTUuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gYXJndW1lbnQgJ1Byb3BlcnRpZXMnIGlzIGEgRnVuY3Rpb24gb2JqZWN0ICgxNS4yLjMuNyBzdGVwIDIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgcHJvcHMgPSBmdW5jdGlvbiAoKSB7IH07DQogICAgICAgIHZhciByZXN1bHQgPSBmYWxzZTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkocHJvcHMsICJwcm9wIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmVzdWx0ID0gdGhpcyBpbnN0YW5jZW9mIEZ1bmN0aW9uOw0KICAgICAgICAgICAgICAgIHJldHVybiB7fTsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KICAgICAgICBPYmplY3QuY3JlYXRlKHt9LCBwcm9wcyk7DQogICAgICAgIHJldHVybiByZXN1bHQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.create - argument 'Properties' is a Function object (15.2.3.7 step 2)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNS8xNS4yLjMuNS00LTUwLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmNyZWF0ZSAtICdlbnVtZXJhYmxlJyBwcm9wZXJ0eSBvZiBvbmUgcHJvcGVydHkgaW4gJ1Byb3BlcnRpZXMnIGlzIG93biBkYXRhIHByb3BlcnR5IHRoYXQgb3ZlcnJpZGVzIGFuIGluaGVyaXRlZCBkYXRhIHByb3BlcnR5ICg4LjEwLjUgc3RlcCAzLmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCiAgICAgICAgdmFyIHByb3RvID0gew0KICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZQ0KICAgICAgICB9Ow0KDQogICAgICAgIHZhciBDb25zdHJ1Y3RGdW4gPSBmdW5jdGlvbiAoKSB7IH07DQogICAgICAgIENvbnN0cnVjdEZ1bi5wcm90b3R5cGUgPSBwcm90bzsNCiAgICAgICAgdmFyIGRlc2NPYmogPSBuZXcgQ29uc3RydWN0RnVuKCk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGRlc2NPYmosICJlbnVtZXJhYmxlIiwgew0KICAgICAgICAgICAgdmFsdWU6IGZhbHNlDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBuZXdPYmogPSBPYmplY3QuY3JlYXRlKHt9LCB7DQogICAgICAgICAgICBwcm9wOiBkZXNjT2JqIA0KICAgICAgICB9KTsNCg0KICAgICAgICBmb3IgKHZhciBwcm9wZXJ0eSBpbiBuZXdPYmopIHsNCiAgICAgICAgICAgIGlmIChwcm9wZXJ0eSA9PT0gInByb3AiKSB7DQogICAgICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQogICAgICAgIHJldHVybiAhYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.create - 'enumerable' property of one property in 'Properties' is own data property that overrides an inherited data property (8.10.5 step 3.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-50.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNS8xNS4yLjMuNS00LTUxLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmNyZWF0ZSAtICdlbnVtZXJhYmxlJyBwcm9wZXJ0eSBvZiBvbmUgcHJvcGVydHkgaW4gJ1Byb3BlcnRpZXMnIGlzIG93biBkYXRhIHByb3BlcnR5IHRoYXQgb3ZlcnJpZGVzIGFuIGluaGVyaXRlZCBhY2Nlc3NvciBwcm9wZXJ0eSAoOC4xMC41IHN0ZXAgMy5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHByb3RvID0ge307DQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShwcm90bywgImVudW1lcmFibGUiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIENvbnN0cnVjdEZ1biA9IGZ1bmN0aW9uICgpIHsgfTsNCiAgICAgICAgQ29uc3RydWN0RnVuLnByb3RvdHlwZSA9IHByb3RvOw0KICAgICAgICB2YXIgZGVzY09iaiA9IG5ldyBDb25zdHJ1Y3RGdW4oKTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoZGVzY09iaiwgImVudW1lcmFibGUiLCB7DQogICAgICAgICAgICB2YWx1ZTogZmFsc2UNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIG5ld09iaiA9IE9iamVjdC5jcmVhdGUoe30sIHsNCiAgICAgICAgICAgIHByb3A6IGRlc2NPYmogDQogICAgICAgIH0pOw0KDQogICAgICAgIGZvciAodmFyIHByb3BlcnR5IGluIG5ld09iaikgew0KICAgICAgICAgICAgaWYgKHByb3BlcnR5ID09PSAicHJvcCIpIHsNCiAgICAgICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCiAgICAgICAgcmV0dXJuICFhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.create - 'enumerable' property of one property in 'Properties' is own data property that overrides an inherited accessor property (8.10.5 step 3.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-51.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNS8xNS4yLjMuNS00LTUyLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmNyZWF0ZSAtICdlbnVtZXJhYmxlJyBwcm9wZXJ0eSAgb2Ygb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyBvd24gYWNjZXNzb3IgcHJvcGVydHkgKDguMTAuNSBzdGVwIDMuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIHZhciBkZXNjT2JqID0ge307DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShkZXNjT2JqLCAiZW51bWVyYWJsZSIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgbmV3T2JqID0gT2JqZWN0LmNyZWF0ZSh7fSwgew0KICAgICAgICAgICAgcHJvcDogZGVzY09iag0KICAgICAgICB9KTsNCg0KICAgICAgICBmb3IgKHZhciBwcm9wZXJ0eSBpbiBuZXdPYmopIHsNCiAgICAgICAgICAgIGlmIChwcm9wZXJ0eSA9PT0gInByb3AiKSB7DQogICAgICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQogICAgICAgIHJldHVybiBhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.create - 'enumerable' property of one property in 'Properties' is own accessor property (8.10.5 step 3.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-52.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNS8xNS4yLjMuNS00LTUzLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmNyZWF0ZSAtICdlbnVtZXJhYmxlJyBwcm9wZXJ0eSBvZiBvbmUgcHJvcGVydHkgaW4gJ1Byb3BlcnRpZXMnIGlzIGFuIGluaGVyaXRlZCBhY2Nlc3NvciBwcm9wZXJ0eSAoOC4xMC41IHN0ZXAgMy5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHByb3RvID0ge307DQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShwcm90bywgImVudW1lcmFibGUiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIENvbnN0cnVjdEZ1biA9IGZ1bmN0aW9uICgpIHsgfTsNCiAgICAgICAgQ29uc3RydWN0RnVuLnByb3RvdHlwZSA9IHByb3RvOw0KICAgICAgICB2YXIgZGVzY09iaiA9IG5ldyBDb25zdHJ1Y3RGdW4oKTsNCg0KICAgICAgICB2YXIgbmV3T2JqID0gT2JqZWN0LmNyZWF0ZSh7fSwgew0KICAgICAgICAgICAgcHJvcDogZGVzY09iag0KICAgICAgICB9KTsNCg0KICAgICAgICBmb3IgKHZhciBwcm9wZXJ0eSBpbiBuZXdPYmopIHsNCiAgICAgICAgICAgIGlmIChwcm9wZXJ0eSA9PT0gInByb3AiKSB7DQogICAgICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQogICAgICAgIHJldHVybiBhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.create - 'enumerable' property of one property in 'Properties' is an inherited accessor property (8.10.5 step 3.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-53.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNS8xNS4yLjMuNS00LTU0LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmNyZWF0ZSAtICdlbnVtZXJhYmxlJyBwcm9wZXJ0eSBvZiBvbmUgcHJvcGVydHkgaW4gJ1Byb3BlcnRpZXMnIGlzIG93biBhY2Nlc3NvciBwcm9wZXJ0eSB0aGF0IG92ZXJyaWRlcyBhbiBpbmhlcml0ZWQgZGF0YSBwcm9wZXJ0eSAoOC4xMC41IHN0ZXAgMy5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQogICAgICAgIHZhciBwcm90byA9IHsNCiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUNCiAgICAgICAgfTsNCg0KICAgICAgICB2YXIgQ29uc3RydWN0RnVuID0gZnVuY3Rpb24gKCkgeyB9Ow0KICAgICAgICBDb25zdHJ1Y3RGdW4ucHJvdG90eXBlID0gcHJvdG87DQogICAgICAgIHZhciBkZXNjT2JqID0gbmV3IENvbnN0cnVjdEZ1bigpOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShkZXNjT2JqLCAiZW51bWVyYWJsZSIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIG5ld09iaiA9IE9iamVjdC5jcmVhdGUoe30sIHsNCiAgICAgICAgICAgIHByb3A6IGRlc2NPYmoNCiAgICAgICAgfSk7DQogICAgICAgIGZvciAodmFyIHByb3BlcnR5IGluIG5ld09iaikgew0KICAgICAgICAgICAgaWYgKHByb3BlcnR5ID09PSAicHJvcCIpIHsNCiAgICAgICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCiAgICAgICAgcmV0dXJuICFhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.create - 'enumerable' property of one property in 'Properties' is own accessor property that overrides an inherited data property (8.10.5 step 3.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-54.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNS8xNS4yLjMuNS00LTU1LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmNyZWF0ZSAtICdlbnVtZXJhYmxlJyBwcm9wZXJ0eSBvZiBvbmUgcHJvcGVydHkgaW4gJ1Byb3BlcnRpZXMnIGlzIG93biBhY2Nlc3NvciBwcm9wZXJ0eSB0aGF0IG92ZXJyaWRlcyBhbiBpbmhlcml0ZWQgYWNjZXNzb3IgcHJvcGVydHkgKDguMTAuNSBzdGVwIDMuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBwcm90byA9IHt9Ow0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHByb3RvLCAiZW51bWVyYWJsZSIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgQ29uc3RydWN0RnVuID0gZnVuY3Rpb24gKCkgeyB9Ow0KICAgICAgICBDb25zdHJ1Y3RGdW4ucHJvdG90eXBlID0gcHJvdG87DQogICAgICAgIHZhciBkZXNjT2JqID0gbmV3IENvbnN0cnVjdEZ1bigpOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShkZXNjT2JqLCAiZW51bWVyYWJsZSIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIG5ld09iaiA9IE9iamVjdC5jcmVhdGUoe30sIHsNCiAgICAgICAgICAgIHByb3A6IGRlc2NPYmogDQogICAgICAgIH0pOw0KICAgICAgICBmb3IgKHZhciBwcm9wZXJ0eSBpbiBuZXdPYmopIHsNCiAgICAgICAgICAgIGlmIChwcm9wZXJ0eSA9PT0gInByb3AiKSB7DQogICAgICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQogICAgICAgIHJldHVybiAhYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.create - 'enumerable' property of one property in 'Properties' is own accessor property that overrides an inherited accessor property (8.10.5 step 3.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-55.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNS8xNS4yLjMuNS00LTU2LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmNyZWF0ZSAtICdlbnVtZXJhYmxlJyBwcm9wZXJ0eSBvZiBvbmUgcHJvcGVydHkgaW4gJ1Byb3BlcnRpZXMnIGlzIG93biBhY2Nlc3NvciBwcm9wZXJ0eSB3aXRob3V0IGEgZ2V0IGZ1bmN0aW9uICg4LjEwLjUgc3RlcCAzLmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCiAgICAgICAgdmFyIGRlc2NPYmogPSB7fTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGRlc2NPYmosICJlbnVtZXJhYmxlIiwgew0KICAgICAgICAgICAgc2V0OiBmdW5jdGlvbiAoKSB7IH0NCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIG5ld09iaiA9IE9iamVjdC5jcmVhdGUoe30sIHsNCiAgICAgICAgICAgIHByb3A6IGRlc2NPYmogDQogICAgICAgIH0pOw0KICAgICAgICBmb3IgKHZhciBwcm9wZXJ0eSBpbiBuZXdPYmopIHsNCiAgICAgICAgICAgIGlmIChwcm9wZXJ0eSA9PT0gInByb3AiKSB7DQogICAgICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQogICAgICAgIHJldHVybiAhYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.create - 'enumerable' property of one property in 'Properties' is own accessor property without a get function (8.10.5 step 3.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-56.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNS8xNS4yLjMuNS00LTU3LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmNyZWF0ZSAtICdlbnVtZXJhYmxlJyBwcm9wZXJ0eSBvZiBvbmUgcHJvcGVydHkgaW4gJ1Byb3BlcnRpZXMnIGlzIG93biBhY2Nlc3NvciBwcm9wZXJ0eSB3aXRob3V0IGEgZ2V0IGZ1bmN0aW9uLCB3aGljaCBvdmVycmlkZXMgYW4gaW5oZXJpdGVkIGFjY2Vzc29yIHByb3BlcnR5ICg4LjEwLjUgc3RlcCAzLmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgcHJvdG8gPSB7fTsNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShwcm90bywgImVudW1lcmFibGUiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIENvbnN0cnVjdEZ1biA9IGZ1bmN0aW9uICgpIHsgfTsNCiAgICAgICAgQ29uc3RydWN0RnVuLnByb3RvdHlwZSA9IHByb3RvOw0KICAgICAgICB2YXIgZGVzY09iaiA9IG5ldyBDb25zdHJ1Y3RGdW4oKTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoZGVzY09iaiwgImVudW1lcmFibGUiLCB7DQogICAgICAgICAgICBzZXQ6IGZ1bmN0aW9uICgpIHsgfQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgbmV3T2JqID0gT2JqZWN0LmNyZWF0ZSh7fSwgew0KICAgICAgICAgICAgcHJvcDogZGVzY09iaiANCiAgICAgICAgfSk7DQogICAgICAgIGZvciAodmFyIHByb3BlcnR5IGluIG5ld09iaikgew0KICAgICAgICAgICAgaWYgKHByb3BlcnR5ID09PSAicHJvcCIpIHsNCiAgICAgICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCiAgICAgICAgcmV0dXJuICFhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.create - 'enumerable' property of one property in 'Properties' is own accessor property without a get function, which overrides an inherited accessor property (8.10.5 step 3.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-57.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNS8xNS4yLjMuNS00LTU4LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmNyZWF0ZSAtICdlbnVtZXJhYmxlJyBwcm9wZXJ0eSBvZiBvbmUgcHJvcGVydHkgaW4gJ1Byb3BlcnRpZXMnIGlzIGFuIGluaGVyaXRlZCBhY2Nlc3NvciBwcm9wZXJ0eSB3aXRob3V0IGEgZ2V0IGZ1bmN0aW9uICg4LjEwLjUgc3RlcCAzLmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KDQogICAgICAgIHZhciBwcm90byA9IHt9Ow0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkocHJvdG8sICJlbnVtZXJhYmxlIiwgew0KICAgICAgICAgICAgc2V0OiBmdW5jdGlvbiAoKSB7IH0NCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIENvbnN0cnVjdEZ1biA9IGZ1bmN0aW9uICgpIHsgfTsNCiAgICAgICAgQ29uc3RydWN0RnVuLnByb3RvdHlwZSA9IHByb3RvOw0KICAgICAgICB2YXIgZGVzY09iaiA9IG5ldyBDb25zdHJ1Y3RGdW4oKTsNCg0KICAgICAgICB2YXIgbmV3T2JqID0gT2JqZWN0LmNyZWF0ZSh7fSwgew0KICAgICAgICAgICAgcHJvcDogZGVzY09iaiANCiAgICAgICAgfSk7DQogICAgICAgIGZvciAodmFyIHByb3BlcnR5IGluIG5ld09iaikgew0KICAgICAgICAgICAgaWYgKHByb3BlcnR5ID09PSAicHJvcCIpIHsNCiAgICAgICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCiAgICAgICAgcmV0dXJuICFhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.create - 'enumerable' property of one property in 'Properties' is an inherited accessor property without a get function (8.10.5 step 3.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-58.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNS8xNS4yLjMuNS00LTU5LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmNyZWF0ZSAtIG9uZSBwcm9wZXJ0eSBpbiAnUHJvcGVydGllcycgaXMgYSBGdW5jdGlvbiBvYmplY3Qgd2hpY2ggaW1wbGVtZW50cyBpdHMgb3duIFtbR2V0XV0gbWV0aG9kIHRvIGFjY2VzcyB0aGUgJ2VudW1lcmFibGUnIHByb3BlcnR5ICg4LjEwLjUgc3RlcCAzLmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCiAgICAgICAgdmFyIGRlc2NPYmogPSBmdW5jdGlvbiAoKSB7IH07DQoNCiAgICAgICAgZGVzY09iai5lbnVtZXJhYmxlID0gdHJ1ZTsNCg0KICAgICAgICB2YXIgbmV3T2JqID0gT2JqZWN0LmNyZWF0ZSh7fSwgew0KICAgICAgICAgICAgcHJvcDogZGVzY09iaiANCiAgICAgICAgfSk7DQogICAgICAgIGZvciAodmFyIHByb3BlcnR5IGluIG5ld09iaikgew0KICAgICAgICAgICAgaWYgKHByb3BlcnR5ID09PSAicHJvcCIpIHsNCiAgICAgICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCiAgICAgICAgcmV0dXJuIGFjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.create - one property in 'Properties' is a Function object which implements its own [[Get]] method to access the 'enumerable' property (8.10.5 step 3.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-59.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNS8xNS4yLjMuNS00LTYuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gYXJndW1lbnQgJ1Byb3BlcnRpZXMnIGlzIGFuIEFycmF5IG9iamVjdCAoMTUuMi4zLjcgc3RlcCAyKS4NCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBwcm9wcyA9IFtdOw0KICAgICAgICB2YXIgcmVzdWx0ID0gZmFsc2U7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHByb3BzLCAicHJvcCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJlc3VsdCA9IHRoaXMgaW5zdGFuY2VvZiBBcnJheTsNCiAgICAgICAgICAgICAgICByZXR1cm4ge307DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCiAgICAgICAgT2JqZWN0LmNyZWF0ZSh7fSwgcHJvcHMpOw0KICAgICAgICByZXR1cm4gcmVzdWx0Ow0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.create - argument 'Properties' is an Array object (15.2.3.7 step 2).","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-6.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNS8xNS4yLjMuNS00LTYwLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmNyZWF0ZSAtIG9uZSBwcm9wZXJ0eSBpbiAnUHJvcGVydGllcycgaXMgYW4gQXJyYXkgb2JqZWN0IHRoYXQgdXNlcyBPYmplY3QncyBbW0dldF1dIG1ldGhvZCB0byBhY2Nlc3MgdGhlICdlbnVtZXJhYmxlJyBwcm9wZXJ0eSAoOC4xMC41IHN0ZXAgMy5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCg0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCiAgICAgICAgdmFyIGRlc2NPYmogPSBbXTsNCg0KICAgICAgICBkZXNjT2JqLmVudW1lcmFibGUgPSB0cnVlOw0KDQogICAgICAgIHZhciBuZXdPYmogPSBPYmplY3QuY3JlYXRlKHt9LCB7DQogICAgICAgICAgICBwcm9wOiBkZXNjT2JqIA0KICAgICAgICB9KTsNCiAgICAgICAgZm9yICh2YXIgcHJvcGVydHkgaW4gbmV3T2JqKSB7DQogICAgICAgICAgICBpZiAocHJvcGVydHkgPT09ICJwcm9wIikgew0KICAgICAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KICAgICAgICByZXR1cm4gYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.create - one property in 'Properties' is an Array object that uses Object's [[Get]] method to access the 'enumerable' property (8.10.5 step 3.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-60.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNS8xNS4yLjMuNS00LTYxLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmNyZWF0ZSAtIG9uZSBwcm9wZXJ0eSBpbiAnUHJvcGVydGllcycgaXMgYSBTdHJpbmcgb2JqZWN0IHRoYXQgdXNlcyBPYmplY3QncyBbW0dldF1dIG1ldGhvZCB0byBhY2Nlc3MgdGhlICdlbnVtZXJhYmxlJyBwcm9wZXJ0eSAoOC4xMC41IHN0ZXAgMy5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQogICAgICAgIHZhciBkZXNjT2JqID0gbmV3IFN0cmluZygpOw0KDQogICAgICAgIGRlc2NPYmouZW51bWVyYWJsZSA9IHRydWU7DQoNCiAgICAgICAgdmFyIG5ld09iaiA9IE9iamVjdC5jcmVhdGUoe30sIHsNCiAgICAgICAgICAgIHByb3A6IGRlc2NPYmogDQogICAgICAgIH0pOw0KICAgICAgICBmb3IgKHZhciBwcm9wZXJ0eSBpbiBuZXdPYmopIHsNCiAgICAgICAgICAgIGlmIChwcm9wZXJ0eSA9PT0gInByb3AiKSB7DQogICAgICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQogICAgICAgIHJldHVybiBhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.create - one property in 'Properties' is a String object that uses Object's [[Get]] method to access the 'enumerable' property (8.10.5 step 3.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-61.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNS8xNS4yLjMuNS00LTYyLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmNyZWF0ZSAtIG9uZSBwcm9wZXJ0eSBpbiAnUHJvcGVydGllcycgaXMgYSBCb29sZWFuIG9iamVjdCB0aGF0IHVzZXMgT2JqZWN0J3MgW1tHZXRdXSBtZXRob2QgdG8gYWNjZXNzIHRoZSAnZW51bWVyYWJsZScgcHJvcGVydHkgKDguMTAuNSBzdGVwIDMuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KICAgICAgICB2YXIgZGVzY09iaiA9IG5ldyBCb29sZWFuKGZhbHNlKTsNCg0KICAgICAgICBkZXNjT2JqLmVudW1lcmFibGUgPSB0cnVlOw0KDQogICAgICAgIHZhciBuZXdPYmogPSBPYmplY3QuY3JlYXRlKHt9LCB7DQogICAgICAgICAgICBwcm9wOiBkZXNjT2JqIA0KICAgICAgICB9KTsNCiAgICAgICAgZm9yICh2YXIgcHJvcGVydHkgaW4gbmV3T2JqKSB7DQogICAgICAgICAgICBpZiAocHJvcGVydHkgPT09ICJwcm9wIikgew0KICAgICAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KICAgICAgICByZXR1cm4gYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.create - one property in 'Properties' is a Boolean object that uses Object's [[Get]] method to access the 'enumerable' property (8.10.5 step 3.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-62.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNS8xNS4yLjMuNS00LTYzLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmNyZWF0ZSAtIG9uZSBwcm9wZXJ0eSBpbiAnUHJvcGVydGllcycgaXMgYSBOdW1iZXIgb2JqZWN0IHRoYXQgdXNlcyBPYmplY3QncyBbW0dldF1dIG1ldGhvZCB0byBhY2Nlc3MgdGhlICdlbnVtZXJhYmxlJyBwcm9wZXJ0eSAoOC4xMC41IHN0ZXAgMy5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQogICAgICAgIHZhciBkZXNjT2JqID0gbmV3IE51bWJlcigtOSk7DQoNCiAgICAgICAgZGVzY09iai5lbnVtZXJhYmxlID0gdHJ1ZTsNCg0KICAgICAgICB2YXIgbmV3T2JqID0gT2JqZWN0LmNyZWF0ZSh7fSwgew0KICAgICAgICAgICAgcHJvcDogZGVzY09iaiANCiAgICAgICAgfSk7DQogICAgICAgIGZvciAodmFyIHByb3BlcnR5IGluIG5ld09iaikgew0KICAgICAgICAgICAgaWYgKHByb3BlcnR5ID09PSAicHJvcCIpIHsNCiAgICAgICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCiAgICAgICAgcmV0dXJuIGFjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.create - one property in 'Properties' is a Number object that uses Object's [[Get]] method to access the 'enumerable' property (8.10.5 step 3.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-63.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNS8xNS4yLjMuNS00LTY0LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmNyZWF0ZSAtIG9uZSBwcm9wZXJ0eSBpbiAnUHJvcGVydGllcycgaXMgdGhlIE1hdGggb2JqZWN0IHRoYXQgdXNlcyBPYmplY3QncyBbW0dldF1dIG1ldGhvZCB0byBhY2Nlc3MgdGhlICdlbnVtZXJhYmxlJyBwcm9wZXJ0eSAoOC4xMC41IHN0ZXAgMy5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE1hdGguZW51bWVyYWJsZSA9IHRydWU7DQoNCiAgICAgICAgICAgIHZhciBuZXdPYmogPSBPYmplY3QuY3JlYXRlKHt9LCB7DQogICAgICAgICAgICAgICAgcHJvcDogTWF0aCANCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgZm9yICh2YXIgcHJvcGVydHkgaW4gbmV3T2JqKSB7DQogICAgICAgICAgICAgICAgaWYgKHByb3BlcnR5ID09PSAicHJvcCIpIHsNCiAgICAgICAgICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIHJldHVybiBhY2Nlc3NlZDsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBNYXRoLmVudW1lcmFibGU7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.create - one property in 'Properties' is the Math object that uses Object's [[Get]] method to access the 'enumerable' property (8.10.5 step 3.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-64.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNS8xNS4yLjMuNS00LTY1LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmNyZWF0ZSAtIG9uZSBwcm9wZXJ0eSBpbiAnUHJvcGVydGllcycgaXMgYSBEYXRlIG9iamVjdCB0aGF0IHVzZXMgT2JqZWN0J3MgW1tHZXRdXSBtZXRob2QgdG8gYWNjZXNzIHRoZSAnZW51bWVyYWJsZScgcHJvcGVydHkgKDguMTAuNSBzdGVwIDMuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KICAgICAgICB2YXIgZGVzY09iaiA9IG5ldyBEYXRlKCk7DQoNCiAgICAgICAgZGVzY09iai5lbnVtZXJhYmxlID0gdHJ1ZTsNCg0KICAgICAgICB2YXIgbmV3T2JqID0gT2JqZWN0LmNyZWF0ZSh7fSwgew0KICAgICAgICAgICAgcHJvcDogZGVzY09iaiANCiAgICAgICAgfSk7DQogICAgICAgIGZvciAodmFyIHByb3BlcnR5IGluIG5ld09iaikgew0KICAgICAgICAgICAgaWYgKHByb3BlcnR5ID09PSAicHJvcCIpIHsNCiAgICAgICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCiAgICAgICAgcmV0dXJuIGFjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.create - one property in 'Properties' is a Date object that uses Object's [[Get]] method to access the 'enumerable' property (8.10.5 step 3.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-65.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNS8xNS4yLjMuNS00LTY2LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmNyZWF0ZSAtIG9uZSBwcm9wZXJ0eSBpbiAnUHJvcGVydGllcycgaXMgYSBSZWdFeHAgb2JqZWN0IHRoYXQgdXNlcyBPYmplY3QncyBbW0dldF1dIG1ldGhvZCB0byBhY2Nlc3MgdGhlICdlbnVtZXJhYmxlJyBwcm9wZXJ0eSAoOC4xMC41IHN0ZXAgMy5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQogICAgICAgIHZhciBkZXNjT2JqID0gbmV3IFJlZ0V4cCgpOw0KDQogICAgICAgIGRlc2NPYmouZW51bWVyYWJsZSA9IHRydWU7DQoNCiAgICAgICAgdmFyIG5ld09iaiA9IE9iamVjdC5jcmVhdGUoe30sIHsNCiAgICAgICAgICAgIHByb3A6IGRlc2NPYmoNCiAgICAgICAgfSk7DQogICAgICAgIGZvciAodmFyIHByb3BlcnR5IGluIG5ld09iaikgew0KICAgICAgICAgICAgaWYgKHByb3BlcnR5ID09PSAicHJvcCIpIHsNCiAgICAgICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCiAgICAgICAgcmV0dXJuIGFjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.create - one property in 'Properties' is a RegExp object that uses Object's [[Get]] method to access the 'enumerable' property (8.10.5 step 3.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-66.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNS8xNS4yLjMuNS00LTY3LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmNyZWF0ZSAtIG9uZSBwcm9wZXJ0eSBpbiAnUHJvcGVydGllcycgaXMgdGhlIEpTT04gb2JqZWN0IHRoYXQgdXNlcyBPYmplY3QncyBbW0dldF1dIG1ldGhvZCB0byBhY2Nlc3MgdGhlICdlbnVtZXJhYmxlJyBwcm9wZXJ0eSAoOC4xMC41IHN0ZXAgMy5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIEpTT04uZW51bWVyYWJsZSA9IHRydWU7DQoNCiAgICAgICAgICAgIHZhciBuZXdPYmogPSBPYmplY3QuY3JlYXRlKHt9LCB7DQogICAgICAgICAgICAgICAgcHJvcDogSlNPTg0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICBmb3IgKHZhciBwcm9wZXJ0eSBpbiBuZXdPYmopIHsNCiAgICAgICAgICAgICAgICBpZiAocHJvcGVydHkgPT09ICJwcm9wIikgew0KICAgICAgICAgICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgcmV0dXJuIGFjY2Vzc2VkOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIEpTT04uZW51bWVyYWJsZTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.create - one property in 'Properties' is the JSON object that uses Object's [[Get]] method to access the 'enumerable' property (8.10.5 step 3.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-67.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNS8xNS4yLjMuNS00LTY4LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmNyZWF0ZSAtIG9uZSBwcm9wZXJ0eSBpbiAnUHJvcGVydGllcycgaXMgYW4gRXJyb3Igb2JqZWN0IHRoYXQgdXNlcyBPYmplY3QncyBbW0dldF1dIG1ldGhvZCB0byBhY2Nlc3MgdGhlICdlbnVtZXJhYmxlJyBwcm9wZXJ0eSAoOC4xMC41IHN0ZXAgMy5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQogICAgICAgIHZhciBkZXNjT2JqID0gbmV3IEVycm9yKCk7DQoNCiAgICAgICAgZGVzY09iai5lbnVtZXJhYmxlID0gdHJ1ZTsNCg0KICAgICAgICB2YXIgbmV3T2JqID0gT2JqZWN0LmNyZWF0ZSh7fSwgew0KICAgICAgICAgICAgcHJvcDogZGVzY09iag0KICAgICAgICB9KTsNCiAgICAgICAgZm9yICh2YXIgcHJvcGVydHkgaW4gbmV3T2JqKSB7DQogICAgICAgICAgICBpZiAocHJvcGVydHkgPT09ICJwcm9wIikgew0KICAgICAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KICAgICAgICByZXR1cm4gYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.create - one property in 'Properties' is an Error object that uses Object's [[Get]] method to access the 'enumerable' property (8.10.5 step 3.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-68.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNS8xNS4yLjMuNS00LTY5LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmNyZWF0ZSAtIG9uZSBwcm9wZXJ0eSBpbiAnUHJvcGVydGllcycgaXMgYW4gQXJndW1lbnRzIG9iamVjdCB3aGljaCBpbXBsZW1lbnRzIGl0cyBvd24gW1tHZXRdXSBtZXRob2QgdG8gYWNjZXNzIHRoZSAnZW51bWVyYWJsZScgcHJvcGVydHkgKDguMTAuNSBzdGVwIDMuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICANCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQogICAgICAgIHZhciBhcmdPYmogPSAoZnVuY3Rpb24gKCkgeyByZXR1cm4gYXJndW1lbnRzOyB9KSgpOw0KDQogICAgICAgIGFyZ09iai5lbnVtZXJhYmxlID0gdHJ1ZTsNCg0KICAgICAgICB2YXIgbmV3T2JqID0gT2JqZWN0LmNyZWF0ZSh7fSwgew0KICAgICAgICAgICAgcHJvcDogYXJnT2JqDQogICAgICAgIH0pOw0KICAgICAgICBmb3IgKHZhciBwcm9wZXJ0eSBpbiBuZXdPYmopIHsNCiAgICAgICAgICAgIGlmIChwcm9wZXJ0eSA9PT0gInByb3AiKSB7DQogICAgICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQogICAgICAgIHJldHVybiBhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.create - one property in 'Properties' is an Arguments object which implements its own [[Get]] method to access the 'enumerable' property (8.10.5 step 3.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-69.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNS8xNS4yLjMuNS00LTcuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gYXJndW1lbnQgJ1Byb3BlcnRpZXMnIGlzIGEgU3RyaW5nIG9iamVjdCAoMTUuMi4zLjcgc3RlcCAyKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHByb3BzID0gbmV3IFN0cmluZygpOw0KICAgICAgICB2YXIgcmVzdWx0ID0gZmFsc2U7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHByb3BzLCAicHJvcCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJlc3VsdCA9IHRoaXMgaW5zdGFuY2VvZiBTdHJpbmc7DQogICAgICAgICAgICAgICAgcmV0dXJuIHt9Ow0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUNCiAgICAgICAgfSk7DQogICAgICAgIE9iamVjdC5jcmVhdGUoe30sIHByb3BzKTsNCiAgICAgICAgcmV0dXJuIHJlc3VsdDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.create - argument 'Properties' is a String object (15.2.3.7 step 2)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-7.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNS8xNS4yLjMuNS00LTcxLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmNyZWF0ZSAtIG9uZSBwcm9wZXJ0eSBpbiAnUHJvcGVydGllcycgaXMgdGhlIGdsb2JhbCBvYmplY3QgdGhhdCB1c2VzIE9iamVjdCdzIFtbR2V0XV0gbWV0aG9kIHRvIGFjY2VzcyB0aGUgJ2VudW1lcmFibGUnIHByb3BlcnR5ICg4LjEwLjUgc3RlcCAzLmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgZm5HbG9iYWxPYmplY3QoKS5lbnVtZXJhYmxlID0gdHJ1ZTsNCg0KICAgICAgICAgICAgdmFyIG5ld09iaiA9IE9iamVjdC5jcmVhdGUoe30sIHsNCiAgICAgICAgICAgICAgICBwcm9wOiBmbkdsb2JhbE9iamVjdCgpDQogICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIGZvciAodmFyIHByb3BlcnR5IGluIG5ld09iaikgew0KICAgICAgICAgICAgICAgIGlmIChwcm9wZXJ0eSA9PT0gInByb3AiKSB7DQogICAgICAgICAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9DQogICAgICAgICAgICByZXR1cm4gYWNjZXNzZWQ7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgZm5HbG9iYWxPYmplY3QoKS5lbnVtZXJhYmxlOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.create - one property in 'Properties' is the global object that uses Object's [[Get]] method to access the 'enumerable' property (8.10.5 step 3.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-71.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNS8xNS4yLjMuNS00LTcyLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmNyZWF0ZSAtICdlbnVtZXJhYmxlJyBwcm9wZXJ0eSBvZiBvbmUgcHJvcGVydHkgaW4gJ1Byb3BlcnRpZXMnIGlzIHVuZGVmaW5lZCAoOC4xMC41IHN0ZXAgMy5iKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQoNCiAgICAgICAgdmFyIG5ld09iaiA9IE9iamVjdC5jcmVhdGUoe30sIHsNCiAgICAgICAgICAgIHByb3A6IHsNCiAgICAgICAgICAgICAgICBlbnVtZXJhYmxlOiB1bmRlZmluZWQNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQogICAgICAgIGZvciAodmFyIHByb3BlcnR5IGluIG5ld09iaikgew0KICAgICAgICAgICAgaWYgKHByb3BlcnR5ID09PSAicHJvcCIpIHsNCiAgICAgICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCiAgICAgICAgcmV0dXJuICFhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.create - 'enumerable' property of one property in 'Properties' is undefined (8.10.5 step 3.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-72.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNS8xNS4yLjMuNS00LTczLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmNyZWF0ZSAtIHZhbHVlIG9mICdlbnVtZXJhYmxlJyBwcm9wZXJ0eSBvZiBvbmUgcHJvcGVydHkgaW4gJ1Byb3BlcnRpZXMnIGlzIG51bGwgKDguMTAuNSBzdGVwIDMuYikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIHZhciBuZXdPYmogPSBPYmplY3QuY3JlYXRlKHt9LCB7DQogICAgICAgICAgICBwcm9wOiB7DQogICAgICAgICAgICAgICAgZW51bWVyYWJsZTogbnVsbA0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCiAgICAgICAgZm9yICh2YXIgcHJvcGVydHkgaW4gbmV3T2JqKSB7DQogICAgICAgICAgICBpZiAocHJvcGVydHkgPT09ICJwcm9wIikgew0KICAgICAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KICAgICAgICByZXR1cm4gIWFjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.create - value of 'enumerable' property of one property in 'Properties' is null (8.10.5 step 3.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-73.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNS8xNS4yLjMuNS00LTc0LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmNyZWF0ZSAtICdlbnVtZXJhYmxlJyBwcm9wZXJ0eSBvZiBvbmUgcHJvcGVydHkgaW4gJ1Byb3BlcnRpZXMnIGlzIHRydWUgKDguMTAuNSBzdGVwIDMuYikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIHZhciBuZXdPYmogPSBPYmplY3QuY3JlYXRlKHt9LCB7DQogICAgICAgICAgICBwcm9wOiB7DQogICAgICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgfSANCiAgICAgICAgfSk7DQogICAgICAgIGZvciAodmFyIHByb3BlcnR5IGluIG5ld09iaikgew0KICAgICAgICAgICAgaWYgKHByb3BlcnR5ID09PSAicHJvcCIpIHsNCiAgICAgICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCiAgICAgICAgcmV0dXJuIGFjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.create - 'enumerable' property of one property in 'Properties' is true (8.10.5 step 3.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-74.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNS8xNS4yLjMuNS00LTc1LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmNyZWF0ZSAtICdlbnVtZXJhYmxlJyBwcm9wZXJ0eSBvZiBvbmUgcHJvcGVydHkgaW4gJ1Byb3BlcnRpZXMnIGlzIGZhbHNlICg4LjEwLjUgc3RlcCAzLmIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KDQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KICAgICAgICB2YXIgZGVzY09iaiA9IHsNCiAgICAgICAgICAgIGVudW1lcmFibGU6IGZhbHNlDQogICAgICAgIH07DQoNCiAgICAgICAgdmFyIG5ld09iaiA9IE9iamVjdC5jcmVhdGUoe30sIHsNCiAgICAgICAgICAgIHByb3A6IGRlc2NPYmoNCiAgICAgICAgfSk7DQogICAgICAgIGZvciAodmFyIHByb3BlcnR5IGluIG5ld09iaikgew0KICAgICAgICAgICAgaWYgKHByb3BlcnR5ID09PSAicHJvcCIpIHsNCiAgICAgICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCiAgICAgICAgcmV0dXJuICFhY2Nlc3NlZCAmJiBuZXdPYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.create - 'enumerable' property of one property in 'Properties' is false (8.10.5 step 3.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-75.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNS8xNS4yLjMuNS00LTc2LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmNyZWF0ZSAtICdlbnVtZXJhYmxlJyBwcm9wZXJ0eSBvZiBvbmUgcHJvcGVydHkgaW4gJ1Byb3BlcnRpZXMnIGlzIDAgKDguMTAuNSBzdGVwIDMuYikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIHZhciBuZXdPYmogPSBPYmplY3QuY3JlYXRlKHt9LCB7DQogICAgICAgICAgICBwcm9wOiB7DQogICAgICAgICAgICAgICAgZW51bWVyYWJsZTogMA0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCiAgICAgICAgZm9yICh2YXIgcHJvcGVydHkgaW4gbmV3T2JqKSB7DQogICAgICAgICAgICBpZiAocHJvcGVydHkgPT09ICJwcm9wIikgew0KICAgICAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KICAgICAgICByZXR1cm4gIWFjY2Vzc2VkICYmIG5ld09iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.create - 'enumerable' property of one property in 'Properties' is 0 (8.10.5 step 3.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-76.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNS8xNS4yLjMuNS00LTc3LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmNyZWF0ZSAtICdlbnVtZXJhYmxlJyBwcm9wZXJ0eSBvZiBvbmUgcHJvcGVydHkgaW4gJ1Byb3BlcnRpZXMnIGlzICswICg4LjEwLjUgc3RlcCAzLmIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICB2YXIgbmV3T2JqID0gT2JqZWN0LmNyZWF0ZSh7fSwgew0KICAgICAgICAgICAgcHJvcDogew0KICAgICAgICAgICAgICAgIGVudW1lcmFibGU6ICswDQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KICAgICAgICBmb3IgKHZhciBwcm9wZXJ0eSBpbiBuZXdPYmopIHsNCiAgICAgICAgICAgIGlmIChwcm9wZXJ0eSA9PT0gInByb3AiKSB7DQogICAgICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQogICAgICAgIHJldHVybiAhYWNjZXNzZWQgJiYgbmV3T2JqLmhhc093blByb3BlcnR5KCJwcm9wIik7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.create - 'enumerable' property of one property in 'Properties' is +0 (8.10.5 step 3.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-77.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNS8xNS4yLjMuNS00LTc4LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmNyZWF0ZSAtICdlbnVtZXJhYmxlJyBwcm9wZXJ0eSBvZiBvbmUgcHJvcGVydHkgaW4gJ1Byb3BlcnRpZXMnIGlzIC0wICg4LjEwLjUgc3RlcCAzLmIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgDQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIHZhciBuZXdPYmogPSBPYmplY3QuY3JlYXRlKHt9LCB7DQogICAgICAgICAgICBwcm9wOiB7DQogICAgICAgICAgICAgICAgZW51bWVyYWJsZTogLTANCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQogICAgICAgIGZvciAodmFyIHByb3BlcnR5IGluIG5ld09iaikgew0KICAgICAgICAgICAgaWYgKHByb3BlcnR5ID09PSAicHJvcCIpIHsNCiAgICAgICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCiAgICAgICAgcmV0dXJuICFhY2Nlc3NlZCAmJiBuZXdPYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.create - 'enumerable' property of one property in 'Properties' is -0 (8.10.5 step 3.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-78.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNS8xNS4yLjMuNS00LTc5LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmNyZWF0ZSAtICAnZW51bWVyYWJsZScgcHJvcGVydHkgb2Ygb25lIHByb3BlcnR5IGluICdQcm9wZXJ0aWVzJyBpcyBOYU4gKDguMTAuNSBzdGVwIDMuYikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgIA0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICB2YXIgbmV3T2JqID0gT2JqZWN0LmNyZWF0ZSh7fSwgew0KICAgICAgICAgICAgcHJvcDogew0KICAgICAgICAgICAgICAgIGVudW1lcmFibGU6IE5hTg0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCiAgICAgICAgZm9yICh2YXIgcHJvcGVydHkgaW4gbmV3T2JqKSB7DQogICAgICAgICAgICBpZiAocHJvcGVydHkgPT09ICJwcm9wIikgew0KICAgICAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KICAgICAgICByZXR1cm4gIWFjY2Vzc2VkICYmIG5ld09iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.create - 'enumerable' property of one property in 'Properties' is NaN (8.10.5 step 3.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-79.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNS8xNS4yLjMuNS00LTguanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gYXJndW1lbnQgJ1Byb3BlcnRpZXMnIGlzIGEgQm9vbGVhbiBvYmplY3Qgd2hvc2UgcHJpbWl0aXZlIHZhbHVlIGlzIHRydWUgKDE1LjIuMy43IHN0ZXAgMikuDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgcHJvcHMgPSBuZXcgQm9vbGVhbih0cnVlKTsNCiAgICAgICAgdmFyIHJlc3VsdCA9IGZhbHNlOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShwcm9wcywgInByb3AiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXN1bHQgPSB0aGlzIGluc3RhbmNlb2YgQm9vbGVhbjsNCiAgICAgICAgICAgICAgICByZXR1cm4ge307DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCiAgICAgICAgT2JqZWN0LmNyZWF0ZSh7fSwgcHJvcHMpOw0KICAgICAgICByZXR1cm4gcmVzdWx0Ow0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.create - argument 'Properties' is a Boolean object whose primitive value is true (15.2.3.7 step 2).","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-8.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNS8xNS4yLjMuNS00LTgwLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmNyZWF0ZSAtICdlbnVtZXJhYmxlJyBwcm9wZXJ0eSBvZiBvbmUgcHJvcGVydHkgaW4gJ1Byb3BlcnRpZXMnIGlzIGEgcG9zaXRpdmUgbnVtYmVyIHByaW1pdGl2ZSAoOC4xMC41IHN0ZXAgMy5iKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQoNCiAgICAgICAgdmFyIG5ld09iaiA9IE9iamVjdC5jcmVhdGUoe30sIHsNCiAgICAgICAgICAgIHByb3A6IHsNCiAgICAgICAgICAgICAgICBlbnVtZXJhYmxlOiAxMg0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCiAgICAgICAgZm9yICh2YXIgcHJvcGVydHkgaW4gbmV3T2JqKSB7DQogICAgICAgICAgICBpZiAocHJvcGVydHkgPT09ICJwcm9wIikgew0KICAgICAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KICAgICAgICByZXR1cm4gYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.create - 'enumerable' property of one property in 'Properties' is a positive number primitive (8.10.5 step 3.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-80.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNS8xNS4yLjMuNS00LTgxLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmNyZWF0ZSAtICdlbnVtZXJhYmxlJyBwcm9wZXJ0eSBvZiBvbmUgcHJvcGVydHkgaW4gJ1Byb3BlcnRpZXMnIGlzIGEgbmVnYXRpdmUgbnVtYmVyIHByaW1pdGl2ZSAoOC4xMC41IHN0ZXAgMy5iKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIA0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICB2YXIgbmV3T2JqID0gT2JqZWN0LmNyZWF0ZSh7fSwgew0KICAgICAgICAgICAgcHJvcDogew0KICAgICAgICAgICAgICAgIGVudW1lcmFibGU6IC05DQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KICAgICAgICBmb3IgKHZhciBwcm9wZXJ0eSBpbiBuZXdPYmopIHsNCiAgICAgICAgICAgIGlmIChwcm9wZXJ0eSA9PT0gInByb3AiKSB7DQogICAgICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQogICAgICAgIHJldHVybiBhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.create - 'enumerable' property of one property in 'Properties' is a negative number primitive (8.10.5 step 3.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-81.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNS8xNS4yLjMuNS00LTgyLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmNyZWF0ZSAtICdlbnVtZXJhYmxlJyBwcm9wZXJ0eSBvZiBvbmUgcHJvcGVydHkgaW4gJ1Byb3BlcnRpZXMnIGlzIGFuIGVtcHR5IHN0cmluZyAoOC4xMC41IHN0ZXAgMy5iKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQoNCiAgICAgICAgdmFyIG5ld09iaiA9IE9iamVjdC5jcmVhdGUoe30sIHsNCiAgICAgICAgICAgIHByb3A6IHsNCiAgICAgICAgICAgICAgICBlbnVtZXJhYmxlOiAiIg0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCiAgICAgICAgZm9yICh2YXIgcHJvcGVydHkgaW4gbmV3T2JqKSB7DQogICAgICAgICAgICBpZiAocHJvcGVydHkgPT09ICJwcm9wIikgew0KICAgICAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KICAgICAgICByZXR1cm4gIWFjY2Vzc2VkICYmIG5ld09iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.create - 'enumerable' property of one property in 'Properties' is an empty string (8.10.5 step 3.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-82.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNS8xNS4yLjMuNS00LTgzLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmNyZWF0ZSAtICdlbnVtZXJhYmxlJyBwcm9wZXJ0eSBvZiBvbmUgcHJvcGVydHkgaW4gJ1Byb3BlcnRpZXMnIGlzIGEgbm9uLWVtcHR5IHN0cmluZyAoOC4xMC41IHN0ZXAgMy5iKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQoNCiAgICAgICAgdmFyIG5ld09iaiA9IE9iamVjdC5jcmVhdGUoe30sIHsNCiAgICAgICAgICAgIHByb3A6IHsNCiAgICAgICAgICAgICAgICBlbnVtZXJhYmxlOiAiQUJcblxcY2QiDQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KICAgICAgICBmb3IgKHZhciBwcm9wZXJ0eSBpbiBuZXdPYmopIHsNCiAgICAgICAgICAgIGlmIChwcm9wZXJ0eSA9PT0gInByb3AiKSB7DQogICAgICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQogICAgICAgIHJldHVybiBhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.create - 'enumerable' property of one property in 'Properties' is a non-empty string (8.10.5 step 3.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-83.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNS8xNS4yLjMuNS00LTg0LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmNyZWF0ZSAtICdlbnVtZXJhYmxlJyBwcm9wZXJ0eSBvZiBvbmUgcHJvcGVydHkgaW4gJ1Byb3BlcnRpZXMnIGlzIGEgRnVuY3Rpb24gb2JqZWN0ICg4LjEwLjUgc3RlcCAzLmIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgDQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIHZhciBuZXdPYmogPSBPYmplY3QuY3JlYXRlKHt9LCB7DQogICAgICAgICAgICBwcm9wOiB7DQogICAgICAgICAgICAgICAgZW51bWVyYWJsZTogZnVuY3Rpb24gKCkgeyB9DQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KICAgICAgICBmb3IgKHZhciBwcm9wZXJ0eSBpbiBuZXdPYmopIHsNCiAgICAgICAgICAgIGlmIChwcm9wZXJ0eSA9PT0gInByb3AiKSB7DQogICAgICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQogICAgICAgIHJldHVybiBhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.create - 'enumerable' property of one property in 'Properties' is a Function object (8.10.5 step 3.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-84.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNS8xNS4yLjMuNS00LTg1LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmNyZWF0ZSAtICdlbnVtZXJhYmxlJyBwcm9wZXJ0eSBvZiBvbmUgcHJvcGVydHkgaW4gJ1Byb3BlcnRpZXMnIGlzIGFuIEFycmF5IG9iamVjdCAoOC4xMC41IHN0ZXAgMy5iKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQoNCiAgICAgICAgdmFyIG5ld09iaiA9IE9iamVjdC5jcmVhdGUoe30sIHsNCiAgICAgICAgICAgIHByb3A6IHsNCiAgICAgICAgICAgICAgICBlbnVtZXJhYmxlOiBbXQ0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCg0KICAgICAgICBmb3IgKHZhciBwcm9wZXJ0eSBpbiBuZXdPYmopIHsNCiAgICAgICAgICAgIGlmIChwcm9wZXJ0eSA9PT0gInByb3AiKSB7DQogICAgICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQogICAgICAgIHJldHVybiBhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.create - 'enumerable' property of one property in 'Properties' is an Array object (8.10.5 step 3.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-85.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNS8xNS4yLjMuNS00LTg2LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmNyZWF0ZSAtICdlbnVtZXJhYmxlJyBwcm9wZXJ0eSBvZiBvbmUgcHJvcGVydHkgaW4gJ1Byb3BlcnRpZXMnIGlzIGEgU3RyaW5nIG9iamVjdCAoOC4xMC41IHN0ZXAgMy5iKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQoNCiAgICAgICAgdmFyIG5ld09iaiA9IE9iamVjdC5jcmVhdGUoe30sIHsNCiAgICAgICAgICAgIHByb3A6IHsNCiAgICAgICAgICAgICAgICBlbnVtZXJhYmxlOiBuZXcgU3RyaW5nKCkNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQogICAgICAgIGZvciAodmFyIHByb3BlcnR5IGluIG5ld09iaikgew0KICAgICAgICAgICAgaWYgKHByb3BlcnR5ID09PSAicHJvcCIpIHsNCiAgICAgICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCiAgICAgICAgcmV0dXJuIGFjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.create - 'enumerable' property of one property in 'Properties' is a String object (8.10.5 step 3.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-86.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNS8xNS4yLjMuNS00LTg3LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmNyZWF0ZSAtICdlbnVtZXJhYmxlJyBwcm9wZXJ0eSBvZiBvbmUgcHJvcGVydHkgaW4gJ1Byb3BlcnRpZXMnIGlzIGEgQm9vbGVhbiBvYmplY3QgKDguMTAuNSBzdGVwIDMuYikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIHZhciBuZXdPYmogPSBPYmplY3QuY3JlYXRlKHt9LCB7DQogICAgICAgICAgICBwcm9wOiB7DQogICAgICAgICAgICAgICAgZW51bWVyYWJsZTogbmV3IEJvb2xlYW4odHJ1ZSkNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQogICAgICAgIGZvciAodmFyIHByb3BlcnR5IGluIG5ld09iaikgew0KICAgICAgICAgICAgaWYgKHByb3BlcnR5ID09PSAicHJvcCIpIHsNCiAgICAgICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCiAgICAgICAgcmV0dXJuIGFjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.create - 'enumerable' property of one property in 'Properties' is a Boolean object (8.10.5 step 3.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-87.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNS8xNS4yLjMuNS00LTg4LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmNyZWF0ZSAtICdlbnVtZXJhYmxlJyBwcm9wZXJ0eSBvZiBvbmUgcHJvcGVydHkgaW4gJ1Byb3BlcnRpZXMnIGlzIGEgTnVtYmVyIG9iamVjdCAoOC4xMC41IHN0ZXAgMy5iKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQoNCiAgICAgICAgdmFyIG5ld09iaiA9IE9iamVjdC5jcmVhdGUoe30sIHsNCiAgICAgICAgICAgIHByb3A6IHsNCiAgICAgICAgICAgICAgICBlbnVtZXJhYmxlOiBuZXcgTnVtYmVyKC05KQ0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCiAgICAgICAgZm9yICh2YXIgcHJvcGVydHkgaW4gbmV3T2JqKSB7DQogICAgICAgICAgICBpZiAocHJvcGVydHkgPT09ICJwcm9wIikgew0KICAgICAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KICAgICAgICByZXR1cm4gYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.create - 'enumerable' property of one property in 'Properties' is a Number object (8.10.5 step 3.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-88.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNS8xNS4yLjMuNS00LTg5LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmNyZWF0ZSAtICdlbnVtZXJhYmxlJyBwcm9wZXJ0eSBvZiBvbmUgcHJvcGVydHkgaW4gJ1Byb3BlcnRpZXMnIGlzIHRoZSBNYXRoIG9iamVjdCAoOC4xMC41IHN0ZXAgMy5iKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQoNCiAgICAgICAgdmFyIG5ld09iaiA9IE9iamVjdC5jcmVhdGUoe30sIHsNCiAgICAgICAgICAgIHByb3A6IHsNCiAgICAgICAgICAgICAgICBlbnVtZXJhYmxlOiBNYXRoDQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KICAgICAgICBmb3IgKHZhciBwcm9wZXJ0eSBpbiBuZXdPYmopIHsNCiAgICAgICAgICAgIGlmIChwcm9wZXJ0eSA9PT0gInByb3AiKSB7DQogICAgICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQogICAgICAgIHJldHVybiBhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.create - 'enumerable' property of one property in 'Properties' is the Math object (8.10.5 step 3.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-89.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNS8xNS4yLjMuNS00LTkuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuY3JlYXRlIC0gYXJndW1lbnQgJ1Byb3BlcnRpZXMnIGlzIGEgTnVtYmVyIG9iamVjdCB3aG9zZSBwcmltaXRpdmUgdmFsdWUgaXMgYW55IGludGVyZXN0aW5nIG51bWJlciAoMTUuMi4zLjcgc3RlcCAyKS4NCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBwcm9wcyA9IG5ldyBOdW1iZXIoMTIpOw0KICAgICAgICB2YXIgcmVzdWx0ID0gZmFsc2U7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHByb3BzLCAicHJvcCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJlc3VsdCA9IHRoaXMgaW5zdGFuY2VvZiBOdW1iZXI7DQogICAgICAgICAgICAgICAgcmV0dXJuIHt9Ow0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUNCiAgICAgICAgfSk7DQogICAgICAgIE9iamVjdC5jcmVhdGUoe30sIHByb3BzKTsNCiAgICAgICAgcmV0dXJuIHJlc3VsdDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.create - argument 'Properties' is a Number object whose primitive value is any interesting number (15.2.3.7 step 2).","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-9.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNS8xNS4yLjMuNS00LTkwLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmNyZWF0ZSAtICdlbnVtZXJhYmxlJyBwcm9wZXJ0eSBvZiBvbmUgcHJvcGVydHkgaW4gJ1Byb3BlcnRpZXMnIGlzIGEgRGF0ZSBvYmplY3QgKDguMTAuNSBzdGVwIDMuYikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIHZhciBuZXdPYmogPSBPYmplY3QuY3JlYXRlKHt9LCB7DQogICAgICAgICAgICBwcm9wOiB7DQogICAgICAgICAgICAgICAgZW51bWVyYWJsZTogbmV3IERhdGUoKQ0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCiAgICAgICAgZm9yICh2YXIgcHJvcGVydHkgaW4gbmV3T2JqKSB7DQogICAgICAgICAgICBpZiAocHJvcGVydHkgPT09ICJwcm9wIikgew0KICAgICAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KICAgICAgICByZXR1cm4gYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.create - 'enumerable' property of one property in 'Properties' is a Date object (8.10.5 step 3.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-90.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNS8xNS4yLjMuNS00LTkxLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmNyZWF0ZSAtICdlbnVtZXJhYmxlJyBwcm9wZXJ0eSBvZiBvbmUgcHJvcGVydHkgaW4gJ1Byb3BlcnRpZXMnIGlzIGEgUmVnRXhwIG9iamVjdCAoOC4xMC41IHN0ZXAgMy5iKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQoNCiAgICAgICAgdmFyIG5ld09iaiA9IE9iamVjdC5jcmVhdGUoe30sIHsNCiAgICAgICAgICAgIHByb3A6IHsNCiAgICAgICAgICAgICAgICBlbnVtZXJhYmxlOiBuZXcgUmVnRXhwKCkNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQogICAgICAgIGZvciAodmFyIHByb3BlcnR5IGluIG5ld09iaikgew0KICAgICAgICAgICAgaWYgKHByb3BlcnR5ID09PSAicHJvcCIpIHsNCiAgICAgICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCiAgICAgICAgcmV0dXJuIGFjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.create - 'enumerable' property of one property in 'Properties' is a RegExp object (8.10.5 step 3.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-91.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNS8xNS4yLjMuNS00LTkyLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmNyZWF0ZSAtICdlbnVtZXJhYmxlJyBwcm9wZXJ0eSBvZiBvbmUgcHJvcGVydHkgaW4gJ1Byb3BlcnRpZXMnIGlzIHRoZSBKU09OIG9iamVjdCAoOC4xMC41IHN0ZXAgMy5iKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQoNCiAgICAgICAgdmFyIG5ld09iaiA9IE9iamVjdC5jcmVhdGUoe30sIHsNCiAgICAgICAgICAgIHByb3A6IHsNCiAgICAgICAgICAgICAgICBlbnVtZXJhYmxlOiBKU09ODQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KICAgICAgICBmb3IgKHZhciBwcm9wZXJ0eSBpbiBuZXdPYmopIHsNCiAgICAgICAgICAgIGlmIChwcm9wZXJ0eSA9PT0gInByb3AiKSB7DQogICAgICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQogICAgICAgIHJldHVybiBhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.create - 'enumerable' property of one property in 'Properties' is the JSON object (8.10.5 step 3.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-92.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNS8xNS4yLjMuNS00LTkzLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmNyZWF0ZSAtICdlbnVtZXJhYmxlJyBwcm9wZXJ0eSBvZiBvbmUgcHJvcGVydHkgaW4gJ1Byb3BlcnRpZXMnIGlzIGFuIEVycm9yIG9iamVjdCAoOC4xMC41IHN0ZXAgMy5iKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQoNCiAgICAgICAgdmFyIG5ld09iaiA9IE9iamVjdC5jcmVhdGUoe30sIHsNCiAgICAgICAgICAgIHByb3A6IHsNCiAgICAgICAgICAgICAgICBlbnVtZXJhYmxlOiBuZXcgRXJyb3IoKQ0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCiAgICAgICAgZm9yICh2YXIgcHJvcGVydHkgaW4gbmV3T2JqKSB7DQogICAgICAgICAgICBpZiAocHJvcGVydHkgPT09ICJwcm9wIikgew0KICAgICAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KICAgICAgICByZXR1cm4gYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.create - 'enumerable' property of one property in 'Properties' is an Error object (8.10.5 step 3.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-93.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNS8xNS4yLjMuNS00LTk0LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmNyZWF0ZSAtICdlbnVtZXJhYmxlJyBwcm9wZXJ0eSBvZiBvbmUgcHJvcGVydHkgaW4gJ1Byb3BlcnRpZXMnIGlzIGFuIEFyZ3VtZW50cyBvYmplY3QgKDguMTAuNSBzdGVwIDMuYikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KICAgICAgICB2YXIgYXJnT2JqID0gKGZ1bmN0aW9uICgpIHsgcmV0dXJuIGFyZ3VtZW50czsgfSkoKTsNCg0KICAgICAgICB2YXIgbmV3T2JqID0gT2JqZWN0LmNyZWF0ZSh7fSwgew0KICAgICAgICAgICAgcHJvcDogew0KICAgICAgICAgICAgICAgIGVudW1lcmFibGU6IGFyZ09iag0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCiAgICAgICAgZm9yICh2YXIgcHJvcGVydHkgaW4gbmV3T2JqKSB7DQogICAgICAgICAgICBpZiAocHJvcGVydHkgPT09ICJwcm9wIikgew0KICAgICAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KICAgICAgICByZXR1cm4gYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.create - 'enumerable' property of one property in 'Properties' is an Arguments object (8.10.5 step 3.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-94.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNS8xNS4yLjMuNS00LTk2LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmNyZWF0ZSAtICdlbnVtZXJhYmxlJyBwcm9wZXJ0eSBvZiBvbmUgcHJvcGVydHkgaW4gJ1Byb3BlcnRpZXMnIGlzIHRoZSBnbG9iYWwgb2JqZWN0ICg4LjEwLjUgc3RlcCAzLmIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgDQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIHZhciBuZXdPYmogPSBPYmplY3QuY3JlYXRlKHt9LCB7DQogICAgICAgICAgICBwcm9wOiB7DQogICAgICAgICAgICAgICAgZW51bWVyYWJsZTogZm5HbG9iYWxPYmplY3QoKQ0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCiAgICAgICAgZm9yICh2YXIgcHJvcGVydHkgaW4gbmV3T2JqKSB7DQogICAgICAgICAgICBpZiAocHJvcGVydHkgPT09ICJwcm9wIikgew0KICAgICAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KICAgICAgICByZXR1cm4gYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.create - 'enumerable' property of one property in 'Properties' is the global object (8.10.5 step 3.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-96.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNS8xNS4yLjMuNS00LTk3LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmNyZWF0ZSAtICdlbnVtZXJhYmxlJyBwcm9wZXJ0eSBvZiBvbmUgcHJvcGVydHkgaW4gJ1Byb3BlcnRpZXMnIGlzIGEgc3RyaW5nICh2YWx1ZSBpcyAnZmFsc2UnKSwgd2hpY2ggaXMgdHJlYXRlZCBhcyB0aGUgdmFsdWUgdHJ1ZSAoOC4xMC41IHN0ZXAgMy5iKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIA0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICB2YXIgbmV3T2JqID0gT2JqZWN0LmNyZWF0ZSh7fSwgew0KICAgICAgICAgICAgcHJvcDogew0KICAgICAgICAgICAgICAgIGVudW1lcmFibGU6ICJmYWxzZSINCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQogICAgICAgIGZvciAodmFyIHByb3BlcnR5IGluIG5ld09iaikgew0KICAgICAgICAgICAgaWYgKHByb3BlcnR5ID09PSAicHJvcCIpIHsNCiAgICAgICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCiAgICAgICAgcmV0dXJuIGFjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.create - 'enumerable' property of one property in 'Properties' is a string (value is 'false'), which is treated as the value true (8.10.5 step 3.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-97.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNS8xNS4yLjMuNS00LTk4LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmNyZWF0ZSAtICdlbnVtZXJhYmxlJyBwcm9wZXJ0eSBvZiBvbmUgcHJvcGVydHkgaW4gJ1Byb3BlcnRpZXMnIGlzIG5ldyBCb29sZWFuKGZhbHNlKSwgd2hpY2ggaXMgdHJlYXRlZCBhcyB0aGUgdmFsdWUgdHJ1ZSAoOC4xMC41IHN0ZXAgMy5iKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQoNCiAgICAgICAgdmFyIG5ld09iaiA9IE9iamVjdC5jcmVhdGUoe30sIHsNCiAgICAgICAgICAgIHByb3A6IHsNCiAgICAgICAgICAgICAgICBlbnVtZXJhYmxlOiBuZXcgQm9vbGVhbihmYWxzZSkNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQogICAgICAgIGZvciAodmFyIHByb3BlcnR5IGluIG5ld09iaikgew0KICAgICAgICAgICAgaWYgKHByb3BlcnR5ID09PSAicHJvcCIpIHsNCiAgICAgICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCiAgICAgICAgcmV0dXJuIGFjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.create - 'enumerable' property of one property in 'Properties' is new Boolean(false), which is treated as the value true (8.10.5 step 3.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-98.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNS8xNS4yLjMuNS00LTk5LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmNyZWF0ZSAtICdjb25maWd1cmFibGUnIHByb3BlcnR5IG9mIG9uZSBwcm9wZXJ0eSBpbiAnUHJvcGVydGllcycgaXMgdHJ1ZSAoOC4xMC41IHN0ZXAgNCkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBuZXdPYmogPSBPYmplY3QuY3JlYXRlKHt9LCB7DQogICAgICAgICAgICBwcm9wOiB7DQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciByZXN1bHQxID0gbmV3T2JqLmhhc093blByb3BlcnR5KCJwcm9wIik7DQogICAgICAgIGRlbGV0ZSBuZXdPYmoucHJvcDsNCiAgICAgICAgdmFyIHJlc3VsdDIgPSBuZXdPYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCg0KICAgICAgICByZXR1cm4gcmVzdWx0MSA9PT0gdHJ1ZSAmJiByZXN1bHQyID09PSBmYWxzZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.create - 'configurable' property of one property in 'Properties' is true (8.10.5 step 4)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.5/15.2.3.5-4-99.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi0wLTEuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgbXVzdCBleGlzdCBhcyBhIGZ1bmN0aW9uDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIGYgPSBPYmplY3QuZGVmaW5lUHJvcGVydHk7DQogIGlmICh0eXBlb2YoZikgPT09ICJmdW5jdGlvbiIpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty must exist as a function","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-0-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi0wLTIuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgbXVzdCBleGlzdCBhcyBhIGZ1bmN0aW9uIHRha2luZyAzIHBhcmFtZXRlcnMNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICBpZiAoT2JqZWN0LmRlZmluZVByb3BlcnR5Lmxlbmd0aCA9PT0gMykgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty must exist as a function taking 3 parameters","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-0-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi0xLTEuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgYXBwbGllZCB0byB1bmRlZmluZWQgdGhyb3dzIGEgVHlwZUVycm9yDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh1bmRlZmluZWQsICJmb28iLCB7fSk7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiBlIGluc3RhbmNlb2YgVHlwZUVycm9yOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty applied to undefined throws a TypeError","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-1-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi0xLTIuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgYXBwbGllZCB0byBudWxsIHRocm93cyBhIFR5cGVFcnJvcg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkobnVsbCwgImZvbyIsIHt9KTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBUeXBlRXJyb3I7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty applied to null throws a TypeError","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-1-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi0xLTMuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgYXBwbGllZCB0byBudW1iZXIgcHJpbWl0aXZlIHRocm93cyBhIFR5cGVFcnJvcg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoNSwgImZvbyIsIHt9KTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBUeXBlRXJyb3I7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty applied to number primitive throws a TypeError","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-1-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi0xLTQuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgYXBwbGllZCB0byBzdHJpbmcgcHJpbWl0aXZlIHRocm93cyBhIFR5cGVFcnJvcg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoImhlbGxvXG53b3JsZFxcISIsICJmb28iLCB7fSk7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiBlIGluc3RhbmNlb2YgVHlwZUVycm9yOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty applied to string primitive throws a TypeError","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-1-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi0xLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnR5IHRocm93cyBUeXBlRXJyb3IgaWYgdHlwZSBvZiBmaXJzdCBwYXJhbSBpcyBub3QgT2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICB0cnkgew0KICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHRydWUsICJmb28iLCB7fSk7DQogICAgfQ0KICAgIGNhdGNoIChlKSB7DQogICAgICBpZiAoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikgew0KICAgICAgICByZXR1cm4gdHJ1ZTsNCiAgICAgIH0NCiAgICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty throws TypeError if type of first param is not Object","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi0yLTEuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSBhcmd1bWVudCAnUCcgaXMgdW5kZWZpbmVkIHRoYXQgY29udmVydHMgdG8gc3RyaW5nICd1bmRlZmluZWQnDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCB1bmRlZmluZWQsIHt9KTsNCg0KICAgICAgICByZXR1cm4gb2JqLmhhc093blByb3BlcnR5KCJ1bmRlZmluZWQiKTsNCg0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - argument 'P' is undefined that converts to string 'undefined'","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi0yLTEwLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnR5IC0gYXJndW1lbnQgJ1AnIGlzIGEgbnVtYmVyIHRoYXQgY29udmVydHMgdG8gYSBzdHJpbmcgKHZhbHVlIGlzIGEgbmVnYXRpdmUgbnVtYmVyKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgLTIwLCB7fSk7DQoNCiAgICAgICAgcmV0dXJuIG9iai5oYXNPd25Qcm9wZXJ0eSgiLTIwIik7DQoNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - argument 'P' is a number that converts to a string (value is a negative number)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-10.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi0yLTExLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnR5IC0gYXJndW1lbnQgJ1AnIGlzIGEgbnVtYmVyIHRoYXQgY29udmVydHMgdG8gYSBzdHJpbmcgKHZhbHVlIGlzIEluZmluaXR5KQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgSW5maW5pdHksIHt9KTsNCg0KICAgICAgICByZXR1cm4gb2JqLmhhc093blByb3BlcnR5KCJJbmZpbml0eSIpOw0KDQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - argument 'P' is a number that converts to a string (value is Infinity)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-11.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi0yLTEyLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnR5IC0gYXJndW1lbnQgJ1AnIGlzIGEgbnVtYmVyIHRoYXQgY29udmVydHMgdG8gYSBzdHJpbmcgKHZhbHVlIGlzICtJbmZpbml0eSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICtJbmZpbml0eSwge30pOw0KDQogICAgICAgIHJldHVybiBvYmouaGFzT3duUHJvcGVydHkoIkluZmluaXR5Iik7DQoNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - argument 'P' is a number that converts to a string (value is +Infinity)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-12.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi0yLTEzLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnR5IC0gYXJndW1lbnQgJ1AnIGlzIGEgbnVtYmVyIHRoYXQgY29udmVydHMgdG8gYSBzdHJpbmcgKHZhbHVlIGlzIC1JbmZpbml0eSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosIC1JbmZpbml0eSwge30pOw0KDQogICAgICAgIHJldHVybiBvYmouaGFzT3duUHJvcGVydHkoIi1JbmZpbml0eSIpOw0KDQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - argument 'P' is a number that converts to a string (value is -Infinity)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-13.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi0yLTE0LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnR5IC0gYXJndW1lbnQgJ1AnIGlzIGEgbnVtYmVyIHRoYXQgY29udmVydHMgdG8gYSBzdHJpbmcgKHZhbHVlIGlzIDEoZm9sbG93aW5nIDIwIHplcm9zKSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosIDEwMDAwMDAwMDAwMDAwMDAwMDAwMCwge30pOw0KDQogICAgICAgIHJldHVybiBvYmouaGFzT3duUHJvcGVydHkoIjEwMDAwMDAwMDAwMDAwMDAwMDAwMCIpOw0KDQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - argument 'P' is a number that converts to a string (value is 1(following 20 zeros))","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-14.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi0yLTE1LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnR5IC0gYXJndW1lbnQgJ1AnIGlzIGEgbnVtYmVyIHRoYXQgY29udmVydHMgdG8gYSBzdHJpbmcgKHZhbHVlIGlzIDEoZm9sbG93aW5nIDIxIHplcm9zKSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosIDEwMDAwMDAwMDAwMDAwMDAwMDAwMDAsIHt9KTsNCg0KICAgICAgICByZXR1cm4gb2JqLmhhc093blByb3BlcnR5KCIxZSsyMSIpOw0KDQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - argument 'P' is a number that converts to a string (value is 1(following 21 zeros))","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-15.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi0yLTE2LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnR5IC0gYXJndW1lbnQgJ1AnIGlzIGEgbnVtYmVyIHRoYXQgY29udmVydHMgdG8gYSBzdHJpbmcgKHZhbHVlIGlzIDEoZm9sbG93aW5nIDIyIHplcm9zKSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosIDEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLCB7fSk7DQoNCiAgICAgICAgcmV0dXJuIG9iai5oYXNPd25Qcm9wZXJ0eSgiMWUrMjIiKTsNCg0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - argument 'P' is a number that converts to a string (value is 1(following 22 zeros))","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-16.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi0yLTE3LTEuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSBhcmd1bWVudCAnUCcgaXMgYSBudW1iZXIgdGhhdCBjb252ZXJ0cyB0byBhIHN0cmluZyAodmFsdWUgaXMgMSh0cmFpbGluZyA1IHplcm9zKSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosIDAwMDAwMSwge30pOw0KDQogICAgICAgIHJldHVybiBvYmouaGFzT3duUHJvcGVydHkoIjEiKTsNCg0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - argument 'P' is a number that converts to a string (value is 1(trailing 5 zeros))","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-17-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi0yLTE3LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnR5IC0gYXJndW1lbnQgJ1AnIGlzIGEgbnVtYmVyIHRoYXQgY29udmVydHMgdG8gYSBzdHJpbmcgKHZhbHVlIGlzIDFlKzIwKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgMWUrMjAsIHt9KTsNCg0KICAgICAgICByZXR1cm4gb2JqLmhhc093blByb3BlcnR5KCIxMDAwMDAwMDAwMDAwMDAwMDAwMDAiKTsNCg0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - argument 'P' is a number that converts to a string (value is 1e+20)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-17.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi0yLTE4LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnR5IC0gYXJndW1lbnQgJ1AnIGlzIGEgbnVtYmVyIHRoYXQgY29udmVydHMgdG8gc3RyaW5nICh2YWx1ZSBpcyAxZSsyMSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosIDFlKzIxLCB7fSk7DQoNCiAgICAgICAgcmV0dXJuIG9iai5oYXNPd25Qcm9wZXJ0eSgiMWUrMjEiKTsNCg0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - argument 'P' is a number that converts to string (value is 1e+21)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-18.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi0yLTE5LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnR5IC0gYXJndW1lbnQgJ1AnIGlzIGEgbnVtYmVyIHRoYXQgY29udmVydHMgdG8gc3RyaW5nICh2YWx1ZSBpcyAxZSsyMikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosIDFlKzIyLCB7fSk7DQoNCiAgICAgICAgcmV0dXJuIG9iai5oYXNPd25Qcm9wZXJ0eSgiMWUrMjIiKTsNCg0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - argument 'P' is a number that converts to string (value is 1e+22)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-19.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi0yLTIuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSBhcmd1bWVudCAnUCcgaXMgbnVsbCB0aGF0IGNvbnZlcnRzIHRvIHN0cmluZyAnbnVsbCcNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosIG51bGwsIHt9KTsNCg0KICAgICAgICByZXR1cm4gb2JqLmhhc093blByb3BlcnR5KCJudWxsIik7DQoNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - argument 'P' is null that converts to string 'null'","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi0yLTIwLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnR5IC0gYXJndW1lbnQgJ1AnIGlzIGEgbnVtYmVyIHRoYXQgY29udmVydHMgdG8gYSBzdHJpbmcgKHZhbHVlIGlzIDAuMDAwMDAxKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgMC4wMDAwMDEsIHt9KTsNCg0KICAgICAgICByZXR1cm4gb2JqLmhhc093blByb3BlcnR5KCIwLjAwMDAwMSIpOw0KDQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - argument 'P' is a number that converts to a string (value is 0.000001)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-20.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi0yLTIxLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnR5IC0gYXJndW1lbnQgJ1AnIGlzIGEgbnVtYmVyIHRoYXQgY29udmVydHMgdG8gYSBzdHJpbmcgKHZhbHVlIGlzIDAuMDAwMDAwMSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosIDAuMDAwMDAwMSwge30pOw0KDQogICAgICAgIHJldHVybiBvYmouaGFzT3duUHJvcGVydHkoIjFlLTciKTsNCg0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - argument 'P' is a number that converts to a string (value is 0.0000001)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-21.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi0yLTIyLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnR5IC0gYXJndW1lbnQgJ1AnIGlzIGEgbnVtYmVyIHRoYXQgY29udmVydHMgdG8gYSBzdHJpbmcgKHZhbHVlIGlzIDAuMDAwMDAwMDEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAwLjAwMDAwMDAxLCB7fSk7DQoNCiAgICAgICAgcmV0dXJuIG9iai5oYXNPd25Qcm9wZXJ0eSgiMWUtOCIpOw0KDQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - argument 'P' is a number that converts to a string (value is 0.00000001)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-22.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi0yLTIzLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnR5IC0gYXJndW1lbnQgJ1AnIGlzIGEgbnVtYmVyIHRoYXQgY29udmVydHMgdG8gYSBzdHJpbmcgKHZhbHVlIGlzIDFlLTcpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAxZS03LCB7fSk7DQoNCiAgICAgICAgcmV0dXJuIG9iai5oYXNPd25Qcm9wZXJ0eSgiMWUtNyIpOw0KDQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - argument 'P' is a number that converts to a string (value is 1e-7)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-23.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi0yLTI0LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnR5IC0gYXJndW1lbnQgJ1AnIGlzIGEgbnVtYmVyIHRoYXQgY29udmVydHMgdG8gYSBzdHJpbmcgKHZhbHVlIGlzIDFlLTYpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAxZS02LCB7fSk7DQoNCiAgICAgICAgcmV0dXJuIG9iai5oYXNPd25Qcm9wZXJ0eSgiMC4wMDAwMDEiKTsNCg0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - argument 'P' is a number that converts to a string (value is 1e-6)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-24.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi0yLTI1LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnR5IC0gYXJndW1lbnQgJ1AnIGlzIGEgbnVtYmVyIHRoYXQgY29udmVydHMgdG8gYSBzdHJpbmcgKHZhbHVlIGlzIDFlLTUpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAxZS01LCB7fSk7DQoNCiAgICAgICAgcmV0dXJuIG9iai5oYXNPd25Qcm9wZXJ0eSgiMC4wMDAwMSIpOw0KDQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - argument 'P' is a number that converts to a string (value is 1e-5)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-25.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi0yLTI2LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnR5IC0gYXJndW1lbnQgJ1AnIGlzIGFuIGludGVnZXIgdGhhdCBjb252ZXJ0cyB0byBhIHN0cmluZyAodmFsdWUgaXMgMTIzKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgMTIzLCB7fSk7DQoNCiAgICAgICAgcmV0dXJuIG9iai5oYXNPd25Qcm9wZXJ0eSgiMTIzIik7DQoNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - argument 'P' is an integer that converts to a string (value is 123)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-26.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi0yLTI3LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnR5IC0gYXJndW1lbnQgJ1AnIGlzIGEgZGVjaW1hbCB0aGF0IGNvbnZlcnRzIHRvIGEgc3RyaW5nICh2YWx1ZSBpcyAxMjMuNDU2KQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgMTIzLjQ1Niwge30pOw0KDQogICAgICAgIHJldHVybiBvYmouaGFzT3duUHJvcGVydHkoIjEyMy40NTYiKTsNCg0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - argument 'P' is a decimal that converts to a string (value is 123.456)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-27.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi0yLTI4LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnR5IC0gYXJndW1lbnQgJ1AnIGlzIGEgbnVtYmVyIHRoYXQgY29udmVydHMgdG8gYSBzdHJpbmcgKHZhbHVlIGlzIDEoZm9sbG93aW5nIDE5IHplcm9zKS4xKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgMTAwMDAwMDAwMDAwMDAwMDAwMDAuMSwge30pOw0KDQogICAgICAgIHJldHVybiBvYmouaGFzT3duUHJvcGVydHkoIjEwMDAwMDAwMDAwMDAwMDAwMDAwIik7DQoNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - argument 'P' is a number that converts to a string (value is 1(following 19 zeros).1)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-28.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi0yLTI5LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnR5IC0gYXJndW1lbnQgJ1AnIGlzIGEgbnVtYmVyIHRoYXQgY29udmVydHMgdG8gYSBzdHJpbmcgKHZhbHVlIGlzIDEoZm9sbG93aW5nIDIwIHplcm9zKS4xKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgMTAwMDAwMDAwMDAwMDAwMDAwMDAwLjEsIHt9KTsNCg0KICAgICAgICByZXR1cm4gb2JqLmhhc093blByb3BlcnR5KCIxMDAwMDAwMDAwMDAwMDAwMDAwMDAiKTsNCg0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - argument 'P' is a number that converts to a string (value is 1(following 20 zeros).1)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-29.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi0yLTMuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSBhcmd1bWVudCAnUCcgaXMgYSBib29sZWFuIHdob3NlIHZhbHVlIGlzIGZhbHNlDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCBmYWxzZSwge30pOw0KDQogICAgICAgIHJldHVybiBvYmouaGFzT3duUHJvcGVydHkoImZhbHNlIik7DQoNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - argument 'P' is a boolean whose value is false","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi0yLTMwLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnR5IC0gYXJndW1lbnQgJ1AnIGlzIGEgbnVtYmVyIHRoYXQgY29udmVydHMgdG8gYSBzdHJpbmcgKHZhbHVlIGlzIDEoZm9sbG93aW5nIDIxIHplcm9zKS4xKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgMTAwMDAwMDAwMDAwMDAwMDAwMDAwMC4xLCB7fSk7DQoNCiAgICAgICAgcmV0dXJuIG9iai5oYXNPd25Qcm9wZXJ0eSgiMWUrMjEiKTsNCg0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - argument 'P' is a number that converts to a string (value is 1(following 21 zeros).1)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-30.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi0yLTMxLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnR5IC0gYXJndW1lbnQgJ1AnIGlzIGEgbnVtYmVyIHRoYXQgY29udmVydHMgdG8gYSBzdHJpbmcgKHZhbHVlIGlzIDEoZm9sbG93aW5nIDIyIHplcm9zKS4xKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgMTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuMSwge30pOw0KDQogICAgICAgIHJldHVybiBvYmouaGFzT3duUHJvcGVydHkoIjFlKzIyIik7DQoNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - argument 'P' is a number that converts to a string (value is 1(following 22 zeros).1)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-31.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi0yLTMyLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnR5IC0gYXJndW1lbnQgJ1AnIGlzIGEgbnVtYmVyIHRoYXQgY29udmVydHMgdG8gYSBzdHJpbmcgKHZhbHVlIGlzIDEyMy4xMjM0NTY3KQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgMTIzLjEyMzQ1NjcsIHt9KTsNCg0KICAgICAgICByZXR1cm4gb2JqLmhhc093blByb3BlcnR5KCIxMjMuMTIzNDU2NyIpOw0KDQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - argument 'P' is a number that converts to a string (value is 123.1234567)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-32.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi0yLTMzLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnR5IC0gYXJndW1lbnQgJ1AnIGlzIGFwcGxpZWQgdG8gYW4gZW1wdHkgc3RyaW5nIA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgIiIsIHt9KTsNCg0KICAgICAgICByZXR1cm4gb2JqLmhhc093blByb3BlcnR5KCIiKTsNCg0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - argument 'P' is applied to an empty string","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-33.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi0yLTM0LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnR5IC0gYXJndW1lbnQgJ1AnIGlzIGFwcGxpZWQgdG8gc3RyaW5nICdBQg0KICogXGNkJyANCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJBQlxuXFxjZCIsIHt9KTsNCg0KICAgICAgICByZXR1cm4gb2JqLmhhc093blByb3BlcnR5KCJBQlxuXFxjZCIpOw0KDQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - argument 'P' is applied to string 'AB\n\\cd'","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-34.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi0yLTM1LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnR5IC0gYXJndW1lbnQgJ1AnIGlzIGFwcGxpZWQgdG8gc3RyaW5nICd1bmRlZmluZWQnIA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInVuZGVmaW5lZCIsIHt9KTsNCg0KICAgICAgICByZXR1cm4gb2JqLmhhc093blByb3BlcnR5KCJ1bmRlZmluZWQiKTsNCg0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - argument 'P' is applied to string 'undefined'","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-35.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi0yLTM2LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnR5IC0gYXJndW1lbnQgJ1AnIGlzIGFwcGxpZWQgdG8gc3RyaW5nICdudWxsJyANCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJudWxsIiwge30pOw0KDQogICAgICAgIHJldHVybiBvYmouaGFzT3duUHJvcGVydHkoIm51bGwiKTsNCg0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - argument 'P' is applied to string 'null'","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-36.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi0yLTM3LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnR5IC0gYXJndW1lbnQgJ1AnIGlzIGFwcGxpZWQgdG8gc3RyaW5nICcxMjPOsc6yz4BjZCcgDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiMTIzzrHOss+AY2QiLCB7fSk7DQoNCiAgICAgICAgcmV0dXJuIG9iai5oYXNPd25Qcm9wZXJ0eSgiMTIzzrHOss+AY2QiKTsNCg0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - argument 'P' is applied to string '123\u03b1\u03b2\u03c0cd'","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-37.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi0yLTM4LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnR5IC0gYXJndW1lbnQgJ1AnIGlzIGFwcGxpZWQgdG8gc3RyaW5nICcxJyANCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICIxIiwge30pOw0KDQogICAgICAgIHJldHVybiBvYmouaGFzT3duUHJvcGVydHkoIjEiKTsNCg0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - argument 'P' is applied to string '1'","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-38.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi0yLTM5LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnR5IC0gYXJndW1lbnQgJ1AnIGlzIGFuIGFycmF5IHRoYXQgY29udmVydHMgdG8gYSBzdHJpbmcNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosIFsxLCAyXSwge30pOw0KDQogICAgICAgIHJldHVybiBvYmouaGFzT3duUHJvcGVydHkoIjEsMiIpOw0KDQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - argument 'P' is an array that converts to a string","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-39.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi0yLTQuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSBhcmd1bWVudCAnUCcgaXMgYSBib29sZWFuIHdob3NlIHZhbHVlIGlzIHRydWUNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosIHRydWUsIHt9KTsNCg0KICAgICAgICByZXR1cm4gb2JqLmhhc093blByb3BlcnR5KCJ0cnVlIik7DQoNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - argument 'P' is a boolean whose value is true","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi0yLTQwLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnR5IC0gYXJndW1lbnQgJ1AnIGlzIGEgU3RyaW5nIE9iamVjdCB0aGF0IGNvbnZlcnRzIHRvIGEgc3RyaW5nDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCBuZXcgU3RyaW5nKCJIZWxsbyIpLCB7fSk7DQoNCiAgICAgICAgcmV0dXJuIG9iai5oYXNPd25Qcm9wZXJ0eSgiSGVsbG8iKTsNCg0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - argument 'P' is a String Object that converts to a string","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-40.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi0yLTQxLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnR5IC0gYXJndW1lbnQgJ1AnIGlzIGEgQm9vbGVhbiBPYmplY3QgdGhhdCBjb252ZXJ0cyB0byBhIHN0cmluZw0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgbmV3IEJvb2xlYW4oZmFsc2UpLCB7fSk7DQoNCiAgICAgICAgcmV0dXJuIG9iai5oYXNPd25Qcm9wZXJ0eSgiZmFsc2UiKTsNCg0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - argument 'P' is a Boolean Object that converts to a string","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-41.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi0yLTQyLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnR5IC0gYXJndW1lbnQgJ1AnIGlzIGEgTnVtYmVyIE9iamVjdCB0aGF0IGNvbnZlcnRzIHRvIGEgc3RyaW5nDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCBuZXcgTnVtYmVyKDEyMyksIHt9KTsNCg0KICAgICAgICByZXR1cm4gb2JqLmhhc093blByb3BlcnR5KCIxMjMiKTsNCg0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - argument 'P' is a Number Object that converts to a string","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-42.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi0yLTQzLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnR5IC0gYXJndW1lbnQgJ1AnIGlzIGFuIG9iamVjdCB0aGF0IGhhcyBhbiBvd24gdG9TdHJpbmcgbWV0aG9kDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIHZhciBvd25Qcm9wID0gew0KICAgICAgICAgICAgdG9TdHJpbmc6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gImFiYyI7DQogICAgICAgICAgICB9DQogICAgICAgIH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgb3duUHJvcCwge30pOw0KDQogICAgICAgIHJldHVybiBvYmouaGFzT3duUHJvcGVydHkoImFiYyIpOw0KDQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - argument 'P' is an object that has an own toString method","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-43.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi0yLTQ0LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnR5IC0gYXJndW1lbnQgJ1AnIGlzIGFuIG9iamVjdCB0aGF0IGhhcyBhbiBvd24gdmFsdWVPZiBtZXRob2QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgdmFyIG93blByb3AgPSB7DQogICAgICAgICAgICB2YWx1ZU9mOiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuICJhYmMiOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIHRvU3RyaW5nOiB1bmRlZmluZWQNCiAgICAgICAgfTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCBvd25Qcm9wLCB7fSk7DQoNCiAgICAgICAgcmV0dXJuIG9iai5oYXNPd25Qcm9wZXJ0eSgiYWJjIik7DQoNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - argument 'P' is an object that has an own valueOf method","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-44.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi0yLTQ1LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnR5IC0gYXJndW1lbnQgJ1AnIGlzIGFuIG9iamVjdCB3aG9zZSB0b1N0cmluZyBtZXRob2QgcmV0dXJucyBhbiBvYmplY3QgYW5kIHdob3NlIHZhbHVlT2YgbWV0aG9kIHJldHVybnMgYSBwcmltaXRpdmUgdmFsdWUNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIHZhciB0b1N0cmluZ0FjY2Vzc2VkID0gZmFsc2U7DQogICAgICAgIHZhciB2YWx1ZU9mQWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICB2YXIgb3duUHJvcCA9IHsNCiAgICAgICAgICAgIHRvU3RyaW5nOiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgdG9TdHJpbmdBY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICAgICAgcmV0dXJuIHt9Ow0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIHZhbHVlT2Y6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICB2YWx1ZU9mQWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgICAgIHJldHVybiAiYWJjIjsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCBvd25Qcm9wLCB7fSk7DQoNCiAgICAgICAgcmV0dXJuIG9iai5oYXNPd25Qcm9wZXJ0eSgiYWJjIikgJiYgdmFsdWVPZkFjY2Vzc2VkICYmIHRvU3RyaW5nQWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - argument 'P' is an object whose toString method returns an object and whose valueOf method returns a primitive value","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-45.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi0yLTQ2LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnR5IC0gYXJndW1lbnQgJ1AnIGlzIGFuIG9iamVjdCB0aGF0IGhhcyBhbiBvd24gdG9TdHJpbmcgYW5kIHZhbHVlT2YgbWV0aG9kDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICB2YXIgdG9TdHJpbmdBY2Nlc3NlZCA9IGZhbHNlOw0KICAgICAgICB2YXIgdmFsdWVPZkFjY2Vzc2VkID0gZmFsc2U7DQoNCiAgICAgICAgdmFyIG93blByb3AgPSB7DQogICAgICAgICAgICB0b1N0cmluZzogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHRvU3RyaW5nQWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgICAgIHJldHVybiAiYWJjIjsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICB2YWx1ZU9mOiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgdmFsdWVPZkFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgICAgICByZXR1cm4gInByb3AiOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9Ow0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCBvd25Qcm9wLCB7fSk7DQoNCiAgICAgICAgcmV0dXJuIG9iai5oYXNPd25Qcm9wZXJ0eSgiYWJjIikgJiYgIXZhbHVlT2ZBY2Nlc3NlZCAmJiB0b1N0cmluZ0FjY2Vzc2VkOw0KDQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - argument 'P' is an object that has an own toString and valueOf method","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-46.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi0yLTQ3LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnR5IC0gVHlwZUVycm9yIGV4Y2VwdGlvbiBpcyB0aHJvd24gIHdoZW4gJ1AnIGlzIGFuIG9iamVjdCB0aGF0IG5laXRoZXIgdG9TdHJpbmcgbm9yIHZhbHVlT2YgcmV0dXJucyBhIHByaW1pdGl2ZSB2YWx1ZQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgdmFyIHRvU3RyaW5nQWNjZXNzZWQgPSBmYWxzZTsNCiAgICAgICAgdmFyIHZhbHVlT2ZBY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIHZhciBvd25Qcm9wID0gew0KICAgICAgICAgICAgdG9TdHJpbmc6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICB0b1N0cmluZ0FjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgICAgICByZXR1cm4ge307DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgdmFsdWVPZjogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHZhbHVlT2ZBY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICAgICAgcmV0dXJuIHt9Ow0KICAgICAgICAgICAgfQ0KICAgICAgICB9Ow0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCBvd25Qcm9wLCB7fSk7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiB2YWx1ZU9mQWNjZXNzZWQgJiYgdG9TdHJpbmdBY2Nlc3NlZCAmJiBlIGluc3RhbmNlb2YgVHlwZUVycm9yOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - TypeError exception is thrown when 'P' is an object that neither toString nor valueOf returns a primitive value","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-47.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi0yLTQ4LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnR5IC0gYW4gaW5oZXJpdGVkIHRvU3RyaW5nIG1ldGhvZCAgaXMgaW52b2tlZCB3aGVuICdQJyBpcyBhbiBvYmplY3Qgd2l0aCBhbiBvd24gdmFsdWVPZiBhbmQgYW4gaW5oZXJpdGVkIHRvU3RyaW5nIG1ldGhvZHMNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIHZhciB0b1N0cmluZ0FjY2Vzc2VkID0gZmFsc2U7DQogICAgICAgIHZhciB2YWx1ZU9mQWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICB2YXIgcHJvdG8gPSB7DQogICAgICAgICAgICB0b1N0cmluZzogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHRvU3RyaW5nQWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgICAgIHJldHVybiAidGVzdCI7DQogICAgICAgICAgICB9DQogICAgICAgIH07DQoNCiAgICAgICAgdmFyIENvbnN0cnVjdEZ1biA9IGZ1bmN0aW9uICgpIHsgfTsNCiAgICAgICAgQ29uc3RydWN0RnVuLnByb3RvdHlwZSA9IHByb3RvOw0KDQogICAgICAgIHZhciBjaGlsZCA9IG5ldyBDb25zdHJ1Y3RGdW4oKTsNCiAgICAgICAgY2hpbGQudmFsdWVPZiA9IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgIHZhbHVlT2ZBY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICByZXR1cm4gIjEwIjsNCiAgICAgICAgfTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCBjaGlsZCwge30pOw0KDQogICAgICAgIHJldHVybiBvYmouaGFzT3duUHJvcGVydHkoInRlc3QiKSAmJiAhdmFsdWVPZkFjY2Vzc2VkICYmIHRvU3RyaW5nQWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - an inherited toString method is invoked when 'P' is an object with an own valueOf and an inherited toString methods","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-48.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi0yLTUuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSBhcmd1bWVudCAnUCcgaXMgYSBudW1iZXIgdGhhdCBjb252ZXJ0cyB0byBhIHN0cmluZyAodmFsdWUgaXMgTmFOKQ0KICovDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCBOYU4sIHt9KTsNCg0KICAgICAgICByZXR1cm4gb2JqLmhhc093blByb3BlcnR5KCJOYU4iKTsNCg0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - argument 'P' is a number that converts to a string (value is NaN)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi0yLTYuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSBhcmd1bWVudCAnUCcgaXMgYSBudW1iZXIgdGhhdCBjb252ZXJ0cyB0byBhIHN0cmluZyAodmFsdWUgaXMgMCkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosIDAsIHt9KTsNCg0KICAgICAgICByZXR1cm4gb2JqLmhhc093blByb3BlcnR5KCIwIik7DQoNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - argument 'P' is a number that converts to a string (value is 0)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-6.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi0yLTcuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSBhcmd1bWVudCAnUCcgaXMgYSBudW1iZXIgdGhhdCBjb252ZXJ0cyB0byBhIHN0cmluZyAodmFsdWUgaXMgKzApDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCArMCwge30pOw0KDQogICAgICAgIHJldHVybiBvYmouaGFzT3duUHJvcGVydHkoIjAiKTsNCg0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - argument 'P' is a number that converts to a string (value is +0)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-7.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi0yLTguanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSBhcmd1bWVudCAnUCcgaXMgYSBudW1iZXIgdGhhdCBjb252ZXJ0cyB0byBhIHN0cmluZyAodmFsdWUgaXMgLTApDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAtMCwge30pOw0KDQogICAgICAgIHJldHVybiBvYmouaGFzT3duUHJvcGVydHkoIjAiKTsNCg0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - argument 'P' is a number that converts to a string (value is -0)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-8.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi0yLTkuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSBhcmd1bWVudCAnUCcgaXMgYSBudW1iZXIgdGhhdCBjb252ZXJ0cyB0byBhIHN0cmluZyAodmFsdWUgaXMgYSBwb3NpdGl2ZSBudW1iZXIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAzMCwge30pOw0KDQogICAgICAgIHJldHVybiBvYmouaGFzT3duUHJvcGVydHkoIjMwIik7DQoNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - argument 'P' is a number that converts to a string (value is a positive number)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-2-9.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogVGhlIGFidHJhY3Qgb3BlcmF0aW9uIFRvUHJvcGVydHlEZXNjcmlwdG9yIGlzIHVzZWQgdG8gcGFja2FnZSB0aGUNCiAqIGludG8gYSBwcm9wZXJ0eSBkZXNjLiBTdGVwIDEwIG9mIFRvUHJvcGVydHlEZXNjcmlwdG9yIHRocm93cyBhIFR5cGVFcnJvcg0KICogaWYgdGhlIHByb3BlcnR5IGRlc2MgZW5kcyB1cCBoYXZpbmcgYSBtaXggb2YgYWNjZXNzb3IgYW5kIGRhdGEgcHJvcGVydHkgZWxlbWVudHMuDQogKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi0zLTEuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgdGhyb3dzIFR5cGVFcnJvciBpZiBkZXNjIGhhcyAnZ2V0JyBhbmQgJ3ZhbHVlJyBwcmVzZW50KDguMTAuNSBzdGVwIDkuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgIHZhciBvID0ge307DQoNCiAgICAvLyBkdW1teSBnZXR0ZXINCiAgICB2YXIgZ2V0dGVyID0gZnVuY3Rpb24gKCkgeyByZXR1cm4gMTsgfQ0KICAgIHZhciBkZXNjID0geyBnZXQ6IGdldHRlciwgdmFsdWU6IDEwMX07DQogIA0KICAgIHRyeSB7DQogICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkobywgImZvbyIsIGRlc2MpOw0KICAgIH0NCiAgICBjYXRjaCAoZSkgew0KICAgICAgaWYgKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IgJiYNCiAgICAgICAgICAoby5oYXNPd25Qcm9wZXJ0eSgiZm9vIikgPT09IGZhbHNlKSkgew0KICAgICAgICByZXR1cm4gdHJ1ZTsNCiAgICAgIH0NCiAgICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"The abtract operation ToPropertyDescriptor is used to package the\ninto a property desc. Step 10 of ToPropertyDescriptor throws a TypeError\nif the property desc ends up having a mix of accessor and data property elements.","description":"Object.defineProperty throws TypeError if desc has 'get' and 'value' present(8.10.5 step 9.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogVGhlIGFidHJhY3Qgb3BlcmF0aW9uIFRvUHJvcGVydHlEZXNjcmlwdG9yICBpcyB1c2VkIHRvIHBhY2thZ2UgdGhlDQogKiBpbnRvIGEgcHJvcGVydHkgZGVzYy4gU3RlcCAxMCBvZiBUb1Byb3BlcnR5RGVzY3JpcHRvciB0aHJvd3MgYSBUeXBlRXJyb3INCiAqIGlmIHRoZSBwcm9wZXJ0eSBkZXNjIGVuZHMgdXAgaGF2aW5nIGEgbWl4IG9mIGFjY2Vzc29yIGFuZCBkYXRhIHByb3BlcnR5IGVsZW1lbnRzLg0KICoNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0xMC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSB0aHJvd3MgVHlwZUVycm9yIGlmIHNldHRlciBpcyBub3QgY2FsbGFibGUgYnV0IG5vdCB1bmRlZmluZWQgKE51bWJlcikoOC4xMC41IHN0ZXAgOC5iKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgdmFyIG8gPSB7fTsNCiAgICANCiAgICAvLyBkdW1teSBzZXR0ZXINCiAgICB2YXIgc2V0dGVyID0gNDI7DQogICAgdmFyIGRlc2MgPSB7IHNldDogc2V0dGVyIH07DQogICAgDQogICAgdHJ5IHsNCiAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvLCAiZm9vIiwgZGVzYyk7DQogICAgfQ0KICAgIGNhdGNoIChlKSB7DQogICAgICBpZiAoZSBpbnN0YW5jZW9mIFR5cGVFcnJvciAmJg0KICAgICAgICAgIChvLmhhc093blByb3BlcnR5KCJmb28iKSA9PT0gZmFsc2UpKSB7DQogICAgICAgIHJldHVybiB0cnVlOw0KICAgICAgfQ0KICAgIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"The abtract operation ToPropertyDescriptor is used to package the\ninto a property desc. Step 10 of ToPropertyDescriptor throws a TypeError\nif the property desc ends up having a mix of accessor and data property elements.","description":"Object.defineProperty throws TypeError if setter is not callable but not undefined (Number)(8.10.5 step 8.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-10.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi0zLTEwMC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdjb25maWd1cmFibGUnIHByb3BlcnR5IGluICdBdHRyaWJ1dGVzJyBpcyBudWxsICg4LjEwLjUgc3RlcCA0LmIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHsgfTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcGVydHkiLCB7IGNvbmZpZ3VyYWJsZTogbnVsbCB9KTsNCg0KICAgICAgICB2YXIgYmVmb3JlRGVsZXRlZCA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcGVydHkiKTsNCg0KICAgICAgICBkZWxldGUgb2JqLnByb3BlcnR5Ow0KDQogICAgICAgIHZhciBhZnRlckRlbGV0ZWQgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3BlcnR5IikgJiYgdHlwZW9mIChvYmoucHJvcGVydHkpID09PSAidW5kZWZpbmVkIjsNCg0KICAgICAgICByZXR1cm4gYmVmb3JlRGVsZXRlZCA9PT0gdHJ1ZSAmJiBhZnRlckRlbGV0ZWQgPT09IHRydWU7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - 'configurable' property in 'Attributes' is null (8.10.5 step 4.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-100.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi0zLTEwMS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdjb25maWd1cmFibGUnIHByb3BlcnR5IGluICdBdHRyaWJ1dGVzJyBpcyB0cnVlICg4LjEwLjUgc3RlcCA0LmIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wZXJ0eSIsIHsgY29uZmlndXJhYmxlOiB0cnVlIH0pOw0KDQogICAgICAgIHZhciBiZWZvcmVEZWxldGVkID0gb2JqLmhhc093blByb3BlcnR5KCJwcm9wZXJ0eSIpOw0KDQogICAgICAgIGRlbGV0ZSBvYmoucHJvcGVydHk7DQoNCiAgICAgICAgdmFyIGFmdGVyRGVsZXRlZCA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcGVydHkiKTsNCg0KICAgICAgICByZXR1cm4gYmVmb3JlRGVsZXRlZCA9PT0gdHJ1ZSAmJiBhZnRlckRlbGV0ZWQgPT09IGZhbHNlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'configurable' property in 'Attributes' is true (8.10.5 step 4.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-101.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi0zLTEwMi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdjb25maWd1cmFibGUnIHByb3BlcnR5IGluICdBdHRyaWJ1dGVzJyBpcyBmYWxzZSAoOC4xMC41IHN0ZXAgNC5iKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7IH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3BlcnR5IiwgeyBjb25maWd1cmFibGU6IGZhbHNlIH0pOw0KDQogICAgICAgIHZhciBiZWZvcmVEZWxldGVkID0gb2JqLmhhc093blByb3BlcnR5KCJwcm9wZXJ0eSIpOw0KDQogICAgICAgIGRlbGV0ZSBvYmoucHJvcGVydHk7DQoNCiAgICAgICAgdmFyIGFmdGVyRGVsZXRlZCA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcGVydHkiKSAmJiB0eXBlb2YgKG9iai5wcm9wZXJ0eSkgPT09ICJ1bmRlZmluZWQiOw0KDQogICAgICAgIHJldHVybiBiZWZvcmVEZWxldGVkID09PSB0cnVlICYmIGFmdGVyRGVsZXRlZCA9PT0gdHJ1ZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'configurable' property in 'Attributes' is false (8.10.5 step 4.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-102.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi0zLTEwMy5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdjb25maWd1cmFibGUnIHByb3BlcnR5IGluICdBdHRyaWJ1dGVzJyBpcyAwICg4LjEwLjUgc3RlcCA0LmIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHsgfTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcGVydHkiLCB7IGNvbmZpZ3VyYWJsZTogMCB9KTsNCg0KICAgICAgICB2YXIgYmVmb3JlRGVsZXRlZCA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcGVydHkiKTsNCg0KICAgICAgICBkZWxldGUgb2JqLnByb3BlcnR5Ow0KDQogICAgICAgIHZhciBhZnRlckRlbGV0ZWQgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3BlcnR5IikgJiYgdHlwZW9mIChvYmoucHJvcGVydHkpID09PSAidW5kZWZpbmVkIjsNCg0KICAgICAgICByZXR1cm4gYmVmb3JlRGVsZXRlZCA9PT0gdHJ1ZSAmJiBhZnRlckRlbGV0ZWQgPT09IHRydWU7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - 'configurable' property in 'Attributes' is 0 (8.10.5 step 4.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-103.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi0zLTEwNC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdjb25maWd1cmFibGUnIHByb3BlcnR5IGluICdBdHRyaWJ1dGVzJyBpcyArMCAoOC4xMC41IHN0ZXAgNC5iKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcGVydHkiLCB7IGNvbmZpZ3VyYWJsZTogKzAgfSk7DQoNCiAgICAgICAgdmFyIGJlZm9yZURlbGV0ZWQgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3BlcnR5Iik7DQoNCiAgICAgICAgZGVsZXRlIG9iai5wcm9wZXJ0eTsNCg0KICAgICAgICB2YXIgYWZ0ZXJEZWxldGVkID0gb2JqLmhhc093blByb3BlcnR5KCJwcm9wZXJ0eSIpICYmIHR5cGVvZiAob2JqLnByb3BlcnR5KSA9PT0gInVuZGVmaW5lZCI7DQoNCiAgICAgICAgcmV0dXJuIGJlZm9yZURlbGV0ZWQgPT09IHRydWUgJiYgYWZ0ZXJEZWxldGVkID09PSB0cnVlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'configurable' property in 'Attributes' is +0 (8.10.5 step 4.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-104.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi0zLTEwNS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdjb25maWd1cmFibGUnIHByb3BlcnR5IGluICdBdHRyaWJ1dGVzJyBpcyAtMCAoOC4xMC41IHN0ZXAgNC5iKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7IH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3BlcnR5IiwgeyBjb25maWd1cmFibGU6IC0wIH0pOw0KDQogICAgICAgIHZhciBiZWZvcmVEZWxldGVkID0gb2JqLmhhc093blByb3BlcnR5KCJwcm9wZXJ0eSIpOw0KDQogICAgICAgIGRlbGV0ZSBvYmoucHJvcGVydHk7DQoNCiAgICAgICAgdmFyIGFmdGVyRGVsZXRlZCA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcGVydHkiKSAmJiB0eXBlb2YgKG9iai5wcm9wZXJ0eSkgPT09ICJ1bmRlZmluZWQiOw0KDQogICAgICAgIHJldHVybiBiZWZvcmVEZWxldGVkID09PSB0cnVlICYmIGFmdGVyRGVsZXRlZCA9PT0gdHJ1ZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'configurable' property in 'Attributes' is -0 (8.10.5 step 4.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-105.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi0zLTEwNi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdjb25maWd1cmFibGUnIHByb3BlcnR5IGluICdBdHRyaWJ1dGVzJyBpcyBOYU4gKDguMTAuNSBzdGVwIDQuYikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0geyB9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wZXJ0eSIsIHsgY29uZmlndXJhYmxlOiBOYU4gfSk7DQoNCiAgICAgICAgdmFyIGJlZm9yZURlbGV0ZWQgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3BlcnR5Iik7DQoNCiAgICAgICAgZGVsZXRlIG9iai5wcm9wZXJ0eTsNCg0KICAgICAgICB2YXIgYWZ0ZXJEZWxldGVkID0gb2JqLmhhc093blByb3BlcnR5KCJwcm9wZXJ0eSIpICYmIHR5cGVvZiAob2JqLnByb3BlcnR5KSA9PT0gInVuZGVmaW5lZCI7DQoNCiAgICAgICAgcmV0dXJuIGJlZm9yZURlbGV0ZWQgPT09IHRydWUgJiYgYWZ0ZXJEZWxldGVkID09PSB0cnVlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'configurable' property in 'Attributes' is NaN (8.10.5 step 4.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-106.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi0zLTEwNy5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdjb25maWd1cmFibGUnIHByb3BlcnR5IGluICdBdHRyaWJ1dGVzJyBpcyBhIHBvc2l0aXZlIG51bWJlciAoOC4xMC41IHN0ZXAgNC5iKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcGVydHkiLCB7IGNvbmZpZ3VyYWJsZTogMTIzNDUgfSk7DQoNCiAgICAgICAgdmFyIGJlZm9yZURlbGV0ZWQgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3BlcnR5Iik7DQoNCiAgICAgICAgZGVsZXRlIG9iai5wcm9wZXJ0eTsNCg0KICAgICAgICB2YXIgYWZ0ZXJEZWxldGVkID0gb2JqLmhhc093blByb3BlcnR5KCJwcm9wZXJ0eSIpOw0KDQogICAgICAgIHJldHVybiBiZWZvcmVEZWxldGVkID09PSB0cnVlICYmIGFmdGVyRGVsZXRlZCA9PT0gZmFsc2U7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - 'configurable' property in 'Attributes' is a positive number (8.10.5 step 4.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-107.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi0zLTEwOC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdjb25maWd1cmFibGUnIHByb3BlcnR5IGluICdBdHRyaWJ1dGVzJyBpcyBhIG5lZ2F0aXZlIG51bWJlciAoOC4xMC41IHN0ZXAgNC5iKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcGVydHkiLCB7IGNvbmZpZ3VyYWJsZTogLTEyMzQ1IH0pOw0KDQogICAgICAgIHZhciBiZWZvcmVEZWxldGVkID0gb2JqLmhhc093blByb3BlcnR5KCJwcm9wZXJ0eSIpOw0KDQogICAgICAgIGRlbGV0ZSBvYmoucHJvcGVydHk7DQoNCiAgICAgICAgdmFyIGFmdGVyRGVsZXRlZCA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcGVydHkiKTsNCg0KICAgICAgICByZXR1cm4gYmVmb3JlRGVsZXRlZCA9PT0gdHJ1ZSAmJiBhZnRlckRlbGV0ZWQgPT09IGZhbHNlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'configurable' property in 'Attributes' is a negative number (8.10.5 step 4.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-108.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi0zLTEwOS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdjb25maWd1cmFibGUnIHByb3BlcnR5IGluICdBdHRyaWJ1dGVzJyBpcyBhbiBlbXB0eSBzdHJpbmcgKDguMTAuNSBzdGVwIDQuYikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0geyB9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wZXJ0eSIsIHsgY29uZmlndXJhYmxlOiAiIiB9KTsNCg0KICAgICAgICB2YXIgYmVmb3JlRGVsZXRlZCA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcGVydHkiKTsNCg0KICAgICAgICBkZWxldGUgb2JqLnByb3BlcnR5Ow0KDQogICAgICAgIHZhciBhZnRlckRlbGV0ZWQgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3BlcnR5IikgJiYgdHlwZW9mIChvYmoucHJvcGVydHkpID09PSAidW5kZWZpbmVkIjsNCg0KICAgICAgICByZXR1cm4gYmVmb3JlRGVsZXRlZCA9PT0gdHJ1ZSAmJiBhZnRlckRlbGV0ZWQgPT09IHRydWU7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - 'configurable' property in 'Attributes' is an empty string (8.10.5 step 4.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-109.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogVGhlIGFidHJhY3Qgb3BlcmF0aW9uIFRvUHJvcGVydHlEZXNjcmlwdG9yICBpcyB1c2VkIHRvIHBhY2thZ2UgdGhlDQogKiBpbnRvIGEgcHJvcGVydHkgZGVzYy4gU3RlcCAxMCBvZiBUb1Byb3BlcnR5RGVzY3JpcHRvciB0aHJvd3MgYSBUeXBlRXJyb3INCiAqIGlmIHRoZSBwcm9wZXJ0eSBkZXNjIGVuZHMgdXAgaGF2aW5nIGEgbWl4IG9mIGFjY2Vzc29yIGFuZCBkYXRhIHByb3BlcnR5IGVsZW1lbnRzLg0KICoNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0xMS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSB0aHJvd3MgVHlwZUVycm9yIGlmIHNldHRlciBpcyBub3QgY2FsbGFibGUgYnV0IG5vdCB1bmRlZmluZWQgKEJvb2xlYW4pKDguMTAuNSBzdGVwIDguYikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgIHZhciBvID0ge307DQogICAgDQogICAgLy8gZHVtbXkgc2V0dGVyDQogICAgdmFyIHNldHRlciA9IHRydWU7DQogICAgdmFyIGRlc2MgPSB7IHNldDogc2V0dGVyIH07DQogICAgDQogICAgdHJ5IHsNCiAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvLCAiZm9vIiwgZGVzYyk7DQogICAgfQ0KICAgIGNhdGNoIChlKSB7DQogICAgICBpZiAoZSBpbnN0YW5jZW9mIFR5cGVFcnJvciAmJg0KICAgICAgICAgIChvLmhhc093blByb3BlcnR5KCJmb28iKSA9PT0gZmFsc2UpKSB7DQogICAgICAgIHJldHVybiB0cnVlOw0KICAgICAgfQ0KICAgIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"The abtract operation ToPropertyDescriptor is used to package the\ninto a property desc. Step 10 of ToPropertyDescriptor throws a TypeError\nif the property desc ends up having a mix of accessor and data property elements.","description":"Object.defineProperty throws TypeError if setter is not callable but not undefined (Boolean)(8.10.5 step 8.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-11.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi0zLTExMC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdjb25maWd1cmFibGUnIHByb3BlcnR5IGluICdBdHRyaWJ1dGVzJyBpcyBhIG5vbi1lbXB0eSBzdHJpbmcgKDguMTAuNSBzdGVwIDQuYikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3BlcnR5IiwgeyBjb25maWd1cmFibGU6ICIgICAgICAgIiB9KTsNCg0KICAgICAgICB2YXIgYmVmb3JlRGVsZXRlZCA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcGVydHkiKTsNCg0KICAgICAgICBkZWxldGUgb2JqLnByb3BlcnR5Ow0KDQogICAgICAgIHZhciBhZnRlckRlbGV0ZWQgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3BlcnR5Iik7DQoNCiAgICAgICAgcmV0dXJuIGJlZm9yZURlbGV0ZWQgPT09IHRydWUgJiYgYWZ0ZXJEZWxldGVkID09PSBmYWxzZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'configurable' property in 'Attributes' is a non-empty string (8.10.5 step 4.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-110.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi0zLTExMS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdjb25maWd1cmFibGUnIHByb3BlcnR5IGluICdBdHRyaWJ1dGVzJyBpcyBhIEZ1bmN0aW9uIG9iamVjdCAoOC4xMC41IHN0ZXAgNC5iKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcGVydHkiLCB7DQogICAgICAgICAgICBjb25maWd1cmFibGU6IGZ1bmN0aW9uICgpIHsgfQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgYmVmb3JlRGVsZXRlZCA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcGVydHkiKTsNCg0KICAgICAgICBkZWxldGUgb2JqLnByb3BlcnR5Ow0KDQogICAgICAgIHZhciBhZnRlckRlbGV0ZWQgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3BlcnR5Iik7DQoNCiAgICAgICAgcmV0dXJuIGJlZm9yZURlbGV0ZWQgPT09IHRydWUgJiYgYWZ0ZXJEZWxldGVkID09PSBmYWxzZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'configurable' property in 'Attributes' is a Function object (8.10.5 step 4.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-111.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi0zLTExMi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdjb25maWd1cmFibGUnIHByb3BlcnR5IGluICdBdHRyaWJ1dGVzJyBpcyBhbiBBcnJheSBvYmplY3QgKDguMTAuNSBzdGVwIDQuYikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3BlcnR5IiwgeyBjb25maWd1cmFibGU6IFsxLCAyLCAzXSB9KTsNCg0KICAgICAgICB2YXIgYmVmb3JlRGVsZXRlZCA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcGVydHkiKTsNCg0KICAgICAgICBkZWxldGUgb2JqLnByb3BlcnR5Ow0KDQogICAgICAgIHZhciBhZnRlckRlbGV0ZWQgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3BlcnR5Iik7DQoNCiAgICAgICAgcmV0dXJuIGJlZm9yZURlbGV0ZWQgPT09IHRydWUgJiYgYWZ0ZXJEZWxldGVkID09PSBmYWxzZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'configurable' property in 'Attributes' is an Array object (8.10.5 step 4.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-112.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi0zLTExMy5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdjb25maWd1cmFibGUnIHByb3BlcnR5IGluICdBdHRyaWJ1dGVzJyBpcyBhIFN0cmluZyBvYmplY3QgKDguMTAuNSBzdGVwIDQuYikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3BlcnR5IiwgeyBjb25maWd1cmFibGU6IG5ldyBTdHJpbmcoImJicSIpIH0pOw0KDQogICAgICAgIHZhciBiZWZvcmVEZWxldGVkID0gb2JqLmhhc093blByb3BlcnR5KCJwcm9wZXJ0eSIpOw0KDQogICAgICAgIGRlbGV0ZSBvYmoucHJvcGVydHk7DQoNCiAgICAgICAgdmFyIGFmdGVyRGVsZXRlZCA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcGVydHkiKTsNCg0KICAgICAgICByZXR1cm4gYmVmb3JlRGVsZXRlZCA9PT0gdHJ1ZSAmJiBhZnRlckRlbGV0ZWQgPT09IGZhbHNlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'configurable' property in 'Attributes' is a String object (8.10.5 step 4.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-113.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi0zLTExNC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdjb25maWd1cmFibGUnIHByb3BlcnR5IGluICdBdHRyaWJ1dGVzJyBpcyBhIEJvb2xlYW4gb2JqZWN0ICg4LjEwLjUgc3RlcCA0LmIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wZXJ0eSIsIHsgY29uZmlndXJhYmxlOiBuZXcgQm9vbGVhbih0cnVlKSB9KTsNCg0KICAgICAgICB2YXIgYmVmb3JlRGVsZXRlZCA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcGVydHkiKTsNCg0KICAgICAgICBkZWxldGUgb2JqLnByb3BlcnR5Ow0KDQogICAgICAgIHZhciBhZnRlckRlbGV0ZWQgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3BlcnR5Iik7DQoNCiAgICAgICAgcmV0dXJuIGJlZm9yZURlbGV0ZWQgPT09IHRydWUgJiYgYWZ0ZXJEZWxldGVkID09PSBmYWxzZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'configurable' property in 'Attributes' is a Boolean object (8.10.5 step 4.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-114.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi0zLTExNS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdjb25maWd1cmFibGUnIHByb3BlcnR5IGluICdBdHRyaWJ1dGVzJyBpcyBhIE51bWJlciBvYmplY3QgKDguMTAuNSBzdGVwIDQuYikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3BlcnR5IiwgeyBjb25maWd1cmFibGU6IG5ldyBOdW1iZXIoMCkgfSk7DQoNCiAgICAgICAgdmFyIGJlZm9yZURlbGV0ZWQgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3BlcnR5Iik7DQoNCiAgICAgICAgZGVsZXRlIG9iai5wcm9wZXJ0eTsNCg0KICAgICAgICB2YXIgYWZ0ZXJEZWxldGVkID0gb2JqLmhhc093blByb3BlcnR5KCJwcm9wZXJ0eSIpOw0KDQogICAgICAgIHJldHVybiBiZWZvcmVEZWxldGVkID09PSB0cnVlICYmIGFmdGVyRGVsZXRlZCA9PT0gZmFsc2U7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - 'configurable' property in 'Attributes' is a Number object (8.10.5 step 4.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-115.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi0zLTExNi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdjb25maWd1cmFibGUnIHByb3BlcnR5IGluICdBdHRyaWJ1dGVzJyBpcyB0aGUgTWF0aCBvYmplY3QgKDguMTAuNSBzdGVwIDQuYikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3BlcnR5IiwgeyBjb25maWd1cmFibGU6IE1hdGggfSk7DQoNCiAgICAgICAgdmFyIGJlZm9yZURlbGV0ZWQgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3BlcnR5Iik7DQoNCiAgICAgICAgZGVsZXRlIG9iai5wcm9wZXJ0eTsNCg0KICAgICAgICB2YXIgYWZ0ZXJEZWxldGVkID0gb2JqLmhhc093blByb3BlcnR5KCJwcm9wZXJ0eSIpOw0KDQogICAgICAgIHJldHVybiBiZWZvcmVEZWxldGVkID09PSB0cnVlICYmIGFmdGVyRGVsZXRlZCA9PT0gZmFsc2U7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - 'configurable' property in 'Attributes' is the Math object (8.10.5 step 4.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-116.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi0zLTExNy5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdjb25maWd1cmFibGUnIHByb3BlcnR5IGluICdBdHRyaWJ1dGVzJyBpcyBhIERhdGUgb2JqZWN0ICg4LjEwLjUgc3RlcCA0LmIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wZXJ0eSIsIHsgY29uZmlndXJhYmxlOiBuZXcgRGF0ZSgpIH0pOw0KDQogICAgICAgIHZhciBiZWZvcmVEZWxldGVkID0gb2JqLmhhc093blByb3BlcnR5KCJwcm9wZXJ0eSIpOw0KDQogICAgICAgIGRlbGV0ZSBvYmoucHJvcGVydHk7DQoNCiAgICAgICAgdmFyIGFmdGVyRGVsZXRlZCA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcGVydHkiKTsNCg0KICAgICAgICByZXR1cm4gYmVmb3JlRGVsZXRlZCA9PT0gdHJ1ZSAmJiBhZnRlckRlbGV0ZWQgPT09IGZhbHNlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'configurable' property in 'Attributes' is a Date object (8.10.5 step 4.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-117.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi0zLTExOC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdjb25maWd1cmFibGUnIHByb3BlcnR5IGluICdBdHRyaWJ1dGVzJyBpcyBhIFJlZ0V4cCBvYmplY3QgICg4LjEwLjUgc3RlcCA0LmIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIHZhciBhdHRyID0gew0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiBuZXcgUmVnRXhwKCkNCiAgICAgICAgfTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcGVydHkiLCBhdHRyKTsNCg0KICAgICAgICB2YXIgYmVmb3JlRGVsZXRlZCA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcGVydHkiKTsNCg0KICAgICAgICBkZWxldGUgb2JqLnByb3BlcnR5Ow0KDQogICAgICAgIHZhciBhZnRlckRlbGV0ZWQgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3BlcnR5Iik7DQoNCiAgICAgICAgcmV0dXJuIGJlZm9yZURlbGV0ZWQgPT09IHRydWUgJiYgYWZ0ZXJEZWxldGVkID09PSBmYWxzZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'configurable' property in 'Attributes' is a RegExp object (8.10.5 step 4.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-118.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi0zLTExOS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdjb25maWd1cmFibGUnIHByb3BlcnR5IGluICdBdHRyaWJ1dGVzJyBpcyB0aGUgSlNPTiBvYmplY3QgICg4LjEwLjUgc3RlcCA0LmIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIHZhciBhdHRyID0gew0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiBKU09ODQogICAgICAgIH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3BlcnR5IiwgYXR0cik7DQoNCiAgICAgICAgdmFyIGJlZm9yZURlbGV0ZWQgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3BlcnR5Iik7DQoNCiAgICAgICAgZGVsZXRlIG9iai5wcm9wZXJ0eTsNCg0KICAgICAgICB2YXIgYWZ0ZXJEZWxldGVkID0gb2JqLmhhc093blByb3BlcnR5KCJwcm9wZXJ0eSIpOw0KDQogICAgICAgIHJldHVybiBiZWZvcmVEZWxldGVkID09PSB0cnVlICYmIGFmdGVyRGVsZXRlZCA9PT0gZmFsc2U7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - 'configurable' property in 'Attributes' is the JSON object (8.10.5 step 4.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-119.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogVGhlIGFidHJhY3Qgb3BlcmF0aW9uIFRvUHJvcGVydHlEZXNjcmlwdG9yICBpcyB1c2VkIHRvIHBhY2thZ2UgdGhlDQogKiBpbnRvIGEgcHJvcGVydHkgZGVzYy4gU3RlcCAxMCBvZiBUb1Byb3BlcnR5RGVzY3JpcHRvciB0aHJvd3MgYSBUeXBlRXJyb3INCiAqIGlmIHRoZSBwcm9wZXJ0eSBkZXNjIGVuZHMgdXAgaGF2aW5nIGEgbWl4IG9mIGFjY2Vzc29yIGFuZCBkYXRhIHByb3BlcnR5IGVsZW1lbnRzLg0KICoNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0xMi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSB0aHJvd3MgVHlwZUVycm9yIGlmIHNldHRlciBpcyBub3QgY2FsbGFibGUgYnV0IG5vdCB1bmRlZmluZWQgKFN0cmluZykoOC4xMC41IHN0ZXAgOC5iKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgdmFyIG8gPSB7fTsNCiAgICANCiAgICAvLyBkdW1teSBzZXR0ZXINCiAgICB2YXIgc2V0dGVyID0gImFiYyI7DQogICAgdmFyIGRlc2MgPSB7IHNldDogc2V0dGVyIH07DQogICAgDQogICAgdHJ5IHsNCiAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvLCAiZm9vIiwgZGVzYyk7DQogICAgfQ0KICAgIGNhdGNoIChlKSB7DQogICAgICBpZiAoZSBpbnN0YW5jZW9mIFR5cGVFcnJvciAmJg0KICAgICAgICAgIChvLmhhc093blByb3BlcnR5KCJmb28iKSA9PT0gZmFsc2UpKSB7DQogICAgICAgIHJldHVybiB0cnVlOw0KICAgICAgfQ0KICAgIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"The abtract operation ToPropertyDescriptor is used to package the\ninto a property desc. Step 10 of ToPropertyDescriptor throws a TypeError\nif the property desc ends up having a mix of accessor and data property elements.","description":"Object.defineProperty throws TypeError if setter is not callable but not undefined (String)(8.10.5 step 8.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-12.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi0zLTEyMC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdjb25maWd1cmFibGUnIHByb3BlcnR5IGluICdBdHRyaWJ1dGVzJyBpcyBhIEVycm9yIG9iamVjdCAgKDguMTAuNSBzdGVwIDQuYikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgdmFyIGF0dHIgPSB7DQogICAgICAgICAgICBjb25maWd1cmFibGU6IG5ldyBTeW50YXhFcnJvcigpDQogICAgICAgIH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3BlcnR5IiwgYXR0cik7DQoNCiAgICAgICAgdmFyIGJlZm9yZURlbGV0ZWQgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3BlcnR5Iik7DQoNCiAgICAgICAgZGVsZXRlIG9iai5wcm9wZXJ0eTsNCg0KICAgICAgICB2YXIgYWZ0ZXJEZWxldGVkID0gb2JqLmhhc093blByb3BlcnR5KCJwcm9wZXJ0eSIpOw0KDQogICAgICAgIHJldHVybiBiZWZvcmVEZWxldGVkID09PSB0cnVlICYmIGFmdGVyRGVsZXRlZCA9PT0gZmFsc2U7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - 'configurable' property in 'Attributes' is a Error object (8.10.5 step 4.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-120.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi0zLTEyMS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdjb25maWd1cmFibGUnIHByb3BlcnR5IGluICdBdHRyaWJ1dGVzJyBpcyB0aGUgQXJndW1lbnQgb2JqZWN0ICAoOC4xMC41IHN0ZXAgNC5iKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICB2YXIgYXJnT2JqID0gKGZ1bmN0aW9uICgpIHsgcmV0dXJuIGFyZ3VtZW50czsgfSkoMSwgdHJ1ZSwgImEiKTsNCg0KICAgICAgICB2YXIgYXR0ciA9IHsNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogYXJnT2JqDQogICAgICAgIH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3BlcnR5IiwgYXR0cik7DQoNCiAgICAgICAgdmFyIGJlZm9yZURlbGV0ZWQgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3BlcnR5Iik7DQoNCiAgICAgICAgZGVsZXRlIG9iai5wcm9wZXJ0eTsNCg0KICAgICAgICB2YXIgYWZ0ZXJEZWxldGVkID0gb2JqLmhhc093blByb3BlcnR5KCJwcm9wZXJ0eSIpOw0KDQogICAgICAgIHJldHVybiBiZWZvcmVEZWxldGVkID09PSB0cnVlICYmIGFmdGVyRGVsZXRlZCA9PT0gZmFsc2U7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - 'configurable' property in 'Attributes' is the Argument object (8.10.5 step 4.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-121.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi0zLTEyMy5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdjb25maWd1cmFibGUnIHByb3BlcnR5IGluICdBdHRyaWJ1dGVzJyBpcyB0aGUgZ2xvYmFsIG9iamVjdCAgKDguMTAuNSBzdGVwIDQuYikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgdmFyIGF0dHIgPSB7DQogICAgICAgICAgICBjb25maWd1cmFibGU6IGZuR2xvYmFsT2JqZWN0KCkNCiAgICAgICAgfTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcGVydHkiLCBhdHRyKTsNCg0KICAgICAgICB2YXIgYmVmb3JlRGVsZXRlZCA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcGVydHkiKTsNCg0KICAgICAgICBkZWxldGUgb2JqLnByb3BlcnR5Ow0KDQogICAgICAgIHZhciBhZnRlckRlbGV0ZWQgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3BlcnR5Iik7DQoNCiAgICAgICAgcmV0dXJuIGJlZm9yZURlbGV0ZWQgPT09IHRydWUgJiYgYWZ0ZXJEZWxldGVkID09PSBmYWxzZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'configurable' property in 'Attributes' is the global object (8.10.5 step 4.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-123.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi0zLTEyNC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdjb25maWd1cmFibGUnIHByb3BlcnR5IGluICdBdHRyaWJ1dGVzJyBpcyB0cmVhdGVkIGFzIHRydWUgd2hlbiBpdCBpcyBhIHN0cmluZyAodmFsdWUgaXMgJ2ZhbHNlJykgICg4LjEwLjUgc3RlcCA0LmIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIHZhciBhdHRyID0gew0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiAiZmFsc2UiDQogICAgICAgIH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3BlcnR5IiwgYXR0cik7DQoNCiAgICAgICAgdmFyIGJlZm9yZURlbGV0ZWQgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3BlcnR5Iik7DQoNCiAgICAgICAgZGVsZXRlIG9iai5wcm9wZXJ0eTsNCg0KICAgICAgICB2YXIgYWZ0ZXJEZWxldGVkID0gb2JqLmhhc093blByb3BlcnR5KCJwcm9wZXJ0eSIpOw0KDQogICAgICAgIHJldHVybiBiZWZvcmVEZWxldGVkID09PSB0cnVlICYmIGFmdGVyRGVsZXRlZCA9PT0gZmFsc2U7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - 'configurable' property in 'Attributes' is treated as true when it is a string (value is 'false') (8.10.5 step 4.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-124.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi0zLTEyNS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdjb25maWd1cmFibGUnIHByb3BlcnR5IGluICdBdHRyaWJ1dGVzJyBpcyB0cmVhdGVkIGFzIHRydWUgd2hlbiBpdCBpcyBuZXcgQm9vbGVhbihmYWxzZSkgICg4LjEwLjUgc3RlcCA0LmIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIHZhciBhdHRyID0gew0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiBuZXcgQm9vbGVhbihmYWxzZSkNCiAgICAgICAgfTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcGVydHkiLCBhdHRyKTsNCg0KICAgICAgICB2YXIgYmVmb3JlRGVsZXRlZCA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcGVydHkiKTsNCg0KICAgICAgICBkZWxldGUgb2JqLnByb3BlcnR5Ow0KDQogICAgICAgIHZhciBhZnRlckRlbGV0ZWQgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3BlcnR5Iik7DQoNCiAgICAgICAgcmV0dXJuIGJlZm9yZURlbGV0ZWQgPT09IHRydWUgJiYgYWZ0ZXJEZWxldGVkID09PSBmYWxzZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'configurable' property in 'Attributes' is treated as true when it is new Boolean(false) (8.10.5 step 4.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-125.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi0zLTEyNi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICd2YWx1ZScgcHJvcGVydHkgaW4gJ0F0dHJpYnV0ZXMnIGlzIHByZXNlbnQgICg4LjEwLjUgc3RlcCA1KQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICB2YXIgYXR0ciA9IHsgdmFsdWU6IDEwMCB9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wZXJ0eSIsIGF0dHIpOw0KDQogICAgICAgIHJldHVybiBvYmoucHJvcGVydHkgPT09IDEwMDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'value' property in 'Attributes' is present (8.10.5 step 5)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-126.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi0zLTEyNy5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICd2YWx1ZScgcHJvcGVydHkgaW4gJ0F0dHJpYnV0ZXMnIGlzIG5vdCBwcmVzZW50ICAoOC4xMC41IHN0ZXAgNSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0geyB9Ow0KDQogICAgICAgIHZhciBhdHRyID0gew0KICAgICAgICAgICAgd3JpdGFibGU6IHRydWUNCiAgICAgICAgfTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcGVydHkiLCBhdHRyKTsNCg0KICAgICAgICByZXR1cm4gb2JqLmhhc093blByb3BlcnR5KCJwcm9wZXJ0eSIpICYmIHR5cGVvZiAob2JqLnByb3BlcnR5KSA9PT0gInVuZGVmaW5lZCI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - 'value' property in 'Attributes' is not present (8.10.5 step 5)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-127.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi0zLTEyOS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICd2YWx1ZScgcHJvcGVydHkgaW4gJ0F0dHJpYnV0ZXMnIGlzIGFuIGluaGVyaXRlZCBkYXRhIHByb3BlcnR5ICAoOC4xMC41IHN0ZXAgNS5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7IH07DQoNCiAgICAgICAgdmFyIHByb3RvID0gew0KICAgICAgICAgICAgdmFsdWU6ICJpbmhlcml0ZWREYXRhUHJvcGVydHkiDQogICAgICAgIH07DQoNCiAgICAgICAgdmFyIENvbnN0cnVjdEZ1biA9IGZ1bmN0aW9uICgpIHsgfTsNCiAgICAgICAgQ29uc3RydWN0RnVuLnByb3RvdHlwZSA9IHByb3RvOw0KDQogICAgICAgIHZhciBjaGlsZCA9IG5ldyBDb25zdHJ1Y3RGdW4oKTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcGVydHkiLCBjaGlsZCk7DQoNCiAgICAgICAgcmV0dXJuIG9iai5wcm9wZXJ0eSA9PT0gImluaGVyaXRlZERhdGFQcm9wZXJ0eSI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - 'value' property in 'Attributes' is an inherited data property (8.10.5 step 5.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-129.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogVGhlIGFidHJhY3Qgb3BlcmF0aW9uIFRvUHJvcGVydHlEZXNjcmlwdG9yICBpcyB1c2VkIHRvIHBhY2thZ2UgdGhlDQogKiBpbnRvIGEgcHJvcGVydHkgZGVzYy4gU3RlcCAxMCBvZiBUb1Byb3BlcnR5RGVzY3JpcHRvciB0aHJvd3MgYSBUeXBlRXJyb3INCiAqIGlmIHRoZSBwcm9wZXJ0eSBkZXNjIGVuZHMgdXAgaGF2aW5nIGEgbWl4IG9mIGFjY2Vzc29yIGFuZCBkYXRhIHByb3BlcnR5IGVsZW1lbnRzLg0KICoNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0xMy5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSB0aHJvd3MgVHlwZUVycm9yIGlmIHRoZSBzZXR0ZXIgaW4gZGVzYyBpcyBub3QgY2FsbGFibGUgKE51bGwpKDguMTAuNSBzdGVwIDguYikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgIHZhciBvID0ge307DQogICAgDQogICAgLy8gZHVtbXkgc2V0dGVyDQogICAgdmFyIHNldHRlciA9IG51bGw7DQogICAgdmFyIGRlc2MgPSB7IHNldDogc2V0dGVyIH07DQogICAgDQogICAgdHJ5IHsNCiAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvLCAiZm9vIiwgZGVzYyk7DQogICAgfQ0KICAgIGNhdGNoIChlKSB7DQogICAgICBpZiAoZSBpbnN0YW5jZW9mIFR5cGVFcnJvciAmJg0KICAgICAgICAgIChvLmhhc093blByb3BlcnR5KCJmb28iKSA9PT0gZmFsc2UpKSB7DQogICAgICAgIHJldHVybiB0cnVlOw0KICAgICAgfQ0KICAgIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"The abtract operation ToPropertyDescriptor is used to package the\ninto a property desc. Step 10 of ToPropertyDescriptor throws a TypeError\nif the property desc ends up having a mix of accessor and data property elements.","description":"Object.defineProperty throws TypeError if the setter in desc is not callable (Null)(8.10.5 step 8.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-13.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi0zLTEzMC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICd2YWx1ZScgcHJvcGVydHkgaW4gJ0F0dHJpYnV0ZXMnIGlzIG93biBkYXRhIHByb3BlcnR5IHRoYXQgb3ZlcnJpZGVzIGFuIGluaGVyaXRlZCBkYXRhIHByb3BlcnR5ICAoOC4xMC41IHN0ZXAgNS5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICB2YXIgcHJvdG8gPSB7IHZhbHVlOiAiaW5oZXJpdGVkRGF0YVByb3BlcnR5IiB9Ow0KDQogICAgICAgIHZhciBDb25zdHJ1Y3RGdW4gPSBmdW5jdGlvbiAoKSB7IH07DQogICAgICAgIENvbnN0cnVjdEZ1bi5wcm90b3R5cGUgPSBwcm90bzsNCg0KICAgICAgICB2YXIgY2hpbGQgPSBuZXcgQ29uc3RydWN0RnVuKCk7DQoNCiAgICAgICAgY2hpbGQudmFsdWUgPSAib3duRGF0YVByb3BlcnR5IjsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcGVydHkiLCBjaGlsZCk7DQoNCiAgICAgICAgcmV0dXJuIG9iai5wcm9wZXJ0eSA9PT0gIm93bkRhdGFQcm9wZXJ0eSI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - 'value' property in 'Attributes' is own data property that overrides an inherited data property (8.10.5 step 5.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-130.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi0zLTEzMS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICd2YWx1ZScgcHJvcGVydHkgaW4gJ0F0dHJpYnV0ZXMnIGlzIG93biBkYXRhIHByb3BlcnR5IHRoYXQgb3ZlcnJpZGVzIGFuIGluaGVyaXRlZCBhY2Nlc3NvciBwcm9wZXJ0eSAgKDguMTAuNSBzdGVwIDUuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0geyB9Ow0KDQogICAgICAgIHZhciBwcm90byA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShwcm90bywgInZhbHVlIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuICJpbmhlcml0ZWRBY2Nlc3NvclByb3BlcnR5IjsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIENvbnN0cnVjdEZ1biA9IGZ1bmN0aW9uICgpIHsgfTsNCiAgICAgICAgQ29uc3RydWN0RnVuLnByb3RvdHlwZSA9IHByb3RvOw0KDQogICAgICAgIHZhciBjaGlsZCA9IG5ldyBDb25zdHJ1Y3RGdW4oKTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGNoaWxkLCAidmFsdWUiLCB7DQogICAgICAgICAgICB2YWx1ZTogIm93bkRhdGFQcm9wZXJ0eSINCiAgICAgICAgfSk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3BlcnR5IiwgY2hpbGQpOw0KDQogICAgICAgIHJldHVybiBvYmoucHJvcGVydHkgPT09ICJvd25EYXRhUHJvcGVydHkiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'value' property in 'Attributes' is own data property that overrides an inherited accessor property (8.10.5 step 5.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-131.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi0zLTEzMi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICd2YWx1ZScgcHJvcGVydHkgaW4gJ0F0dHJpYnV0ZXMnIGlzIG93biBhY2Nlc3NvciBwcm9wZXJ0eSAgKDguMTAuNSBzdGVwIDUuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0geyB9Ow0KDQogICAgICAgIHZhciBhdHRyID0ge307DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhdHRyLCAidmFsdWUiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gIm93bkFjY2Vzc29yUHJvcGVydHkiOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcGVydHkiLCBhdHRyKTsNCg0KICAgICAgICByZXR1cm4gb2JqLnByb3BlcnR5ID09PSAib3duQWNjZXNzb3JQcm9wZXJ0eSI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - 'value' property in 'Attributes' is own accessor property (8.10.5 step 5.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-132.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi0zLTEzMy5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICd2YWx1ZScgcHJvcGVydHkgaW4gJ0F0dHJpYnV0ZXMnIGlzIGFuIGluaGVyaXRlZCBhY2Nlc3NvciBwcm9wZXJ0eSAgKDguMTAuNSBzdGVwIDUuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0geyB9Ow0KDQogICAgICAgIHZhciBwcm90byA9IHt9Ow0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkocHJvdG8sICJ2YWx1ZSIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiAiaW5oZXJpdGVkQWNjZXNzb3JQcm9wZXJ0eSI7DQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBDb25zdHJ1Y3RGdW4gPSBmdW5jdGlvbiAoKSB7IH07DQogICAgICAgIENvbnN0cnVjdEZ1bi5wcm90b3R5cGUgPSBwcm90bzsNCg0KICAgICAgICB2YXIgY2hpbGQgPSBuZXcgQ29uc3RydWN0RnVuKCk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3BlcnR5IiwgY2hpbGQpOw0KDQogICAgICAgIHJldHVybiBvYmoucHJvcGVydHkgPT09ICJpbmhlcml0ZWRBY2Nlc3NvclByb3BlcnR5IjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'value' property in 'Attributes' is an inherited accessor property (8.10.5 step 5.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-133.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi0zLTEzNC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICd2YWx1ZScgcHJvcGVydHkgaW4gJ0F0dHJpYnV0ZXMnIGlzIG93biBhY2Nlc3NvciBwcm9wZXJ0eSB0aGF0IG92ZXJyaWRlcyBhbiBpbmhlcml0ZWQgZGF0YSBwcm9wZXJ0eSAgKDguMTAuNSBzdGVwIDUuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgdmFyIHByb3RvID0gew0KICAgICAgICAgICAgdmFsdWU6ICJpbmhlcml0ZWREYXRhUHJvcGVydHkiDQogICAgICAgIH07DQoNCiAgICAgICAgdmFyIENvbnN0cnVjdEZ1biA9IGZ1bmN0aW9uICgpIHsgfTsNCiAgICAgICAgQ29uc3RydWN0RnVuLnByb3RvdHlwZSA9IHByb3RvOw0KDQogICAgICAgIHZhciBjaGlsZCA9IG5ldyBDb25zdHJ1Y3RGdW4oKTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGNoaWxkLCAidmFsdWUiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gIm93bkFjY2Vzc29yUHJvcGVydHkiOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcGVydHkiLCBjaGlsZCk7DQoNCiAgICAgICAgcmV0dXJuIG9iai5wcm9wZXJ0eSA9PT0gIm93bkFjY2Vzc29yUHJvcGVydHkiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'value' property in 'Attributes' is own accessor property that overrides an inherited data property (8.10.5 step 5.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-134.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi0zLTEzNS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICd2YWx1ZScgcHJvcGVydHkgaW4gJ0F0dHJpYnV0ZXMnIGlzIG93biBhY2Nlc3NvciBwcm9wZXJ0eSB0aGF0IG92ZXJyaWRlcyBhbiBpbmhlcml0ZWQgYWNjZXNzb3IgcHJvcGVydHkgICg4LjEwLjUgc3RlcCA1LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIHZhciBwcm90byA9IHt9Ow0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkocHJvdG8sICJ2YWx1ZSIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiAiaW5oZXJpdGVkQWNjZXNzb3JQcm9wZXJ0eSI7DQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBDb25zdHJ1Y3RGdW4gPSBmdW5jdGlvbiAoKSB7IH07DQogICAgICAgIENvbnN0cnVjdEZ1bi5wcm90b3R5cGUgPSBwcm90bzsNCg0KICAgICAgICB2YXIgY2hpbGQgPSBuZXcgQ29uc3RydWN0RnVuKCk7DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShjaGlsZCwgInZhbHVlIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuICJvd25BY2Nlc3NvclByb3BlcnR5IjsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3BlcnR5IiwgY2hpbGQpOw0KDQogICAgICAgIHJldHVybiBvYmoucHJvcGVydHkgPT09ICJvd25BY2Nlc3NvclByb3BlcnR5IjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'value' property in 'Attributes' is own accessor property that overrides an inherited accessor property (8.10.5 step 5.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-135.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi0zLTEzNi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICd2YWx1ZScgcHJvcGVydHkgaW4gJ0F0dHJpYnV0ZXMnIGlzIG93biBhY2Nlc3NvciBwcm9wZXJ0eSB3aXRob3V0IGEgZ2V0IGZ1bmN0aW9uICAoOC4xMC41IHN0ZXAgNS5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICB2YXIgYXR0ciA9IHt9Ow0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXR0ciwgInZhbHVlIiwgew0KICAgICAgICAgICAgc2V0OiBmdW5jdGlvbiAoKSB7IH0NCiAgICAgICAgfSk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3BlcnR5IiwgYXR0cik7DQoNCiAgICAgICAgcmV0dXJuIG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcGVydHkiKSAmJiB0eXBlb2YgKG9iai5wcm9wZXJ0eSkgPT09ICJ1bmRlZmluZWQiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'value' property in 'Attributes' is own accessor property without a get function (8.10.5 step 5.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-136.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi0zLTEzNy5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICd2YWx1ZScgcHJvcGVydHkgaW4gJ0F0dHJpYnV0ZXMnIGlzIG93biBhY2Nlc3NvciBwcm9wZXJ0eSh3aXRob3V0IGEgZ2V0IGZ1bmN0aW9uKSB0aGF0IG92ZXJyaWRlcyBhbiBpbmhlcml0ZWQgYWNjZXNzb3IgcHJvcGVydHkgICg4LjEwLjUgc3RlcCA1LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHsgfTsNCg0KICAgICAgICB2YXIgcHJvdG8gPSB7fTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHByb3RvLCAidmFsdWUiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gImluaGVyaXRlZEFjY2Vzc29yUHJvcGVydHkiOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgQ29uc3RydWN0RnVuID0gZnVuY3Rpb24gKCkgeyB9Ow0KICAgICAgICBDb25zdHJ1Y3RGdW4ucHJvdG90eXBlID0gcHJvdG87DQoNCiAgICAgICAgdmFyIGNoaWxkID0gbmV3IENvbnN0cnVjdEZ1bigpOw0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoY2hpbGQsICJ2YWx1ZSIsIHsNCiAgICAgICAgICAgIHNldCA6IGZ1bmN0aW9uICgpIHsgfQ0KICAgICAgICB9KTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcGVydHkiLCBjaGlsZCk7DQoNCiAgICAgICAgcmV0dXJuIG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcGVydHkiKSAmJiB0eXBlb2YgKG9iai5wcm9wZXJ0eSkgPT09ICJ1bmRlZmluZWQiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'value' property in 'Attributes' is own accessor property(without a get function) that overrides an inherited accessor property (8.10.5 step 5.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-137.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi0zLTEzOC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICd2YWx1ZScgcHJvcGVydHkgaW4gJ0F0dHJpYnV0ZXMnIGlzIGFuIGluaGVyaXRlZCBhY2Nlc3NvciBwcm9wZXJ0eSB3aXRob3V0IGEgZ2V0IGZ1bmN0aW9uICAoOC4xMC41IHN0ZXAgNS5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7IHByb3BlcnR5IDogMTIwIH07DQoNCiAgICAgICAgdmFyIHByb3RvID0ge307DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShwcm90bywgInZhbHVlIiwgew0KICAgICAgICAgICAgc2V0OiBmdW5jdGlvbiAoKSB7IH0NCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIENvbnN0cnVjdEZ1biA9IGZ1bmN0aW9uICgpIHsgfTsNCiAgICAgICAgQ29uc3RydWN0RnVuLnByb3RvdHlwZSA9IHByb3RvOw0KDQogICAgICAgIHZhciBjaGlsZCA9IG5ldyBDb25zdHJ1Y3RGdW4oKTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcGVydHkiLCBjaGlsZCk7DQoNCiAgICAgICAgcmV0dXJuIG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcGVydHkiKSAmJiB0eXBlb2YgKG9iai5wcm9wZXJ0eSkgPT09ICJ1bmRlZmluZWQiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'value' property in 'Attributes' is an inherited accessor property without a get function (8.10.5 step 5.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-138.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi0zLTEzOS0xLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnR5IC0gJ0F0dHJpYnV0ZXMnIGlzIGEgRnVuY3Rpb24gb2JqZWN0IHdoaWNoIGltcGxlbWVudHMgaXRzIG93biBbW0dldF1dIG1ldGhvZCB0byBhY2Nlc3MgdGhlICd2YWx1ZScgcHJvcGVydHkgb2YgcHJvdG90eXBlIG9iamVjdCAgKDguMTAuNSBzdGVwIDUuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBGdW5jdGlvbi5wcm90b3R5cGUudmFsdWUgPSAiRnVuY3Rpb24iOw0KICAgICAgICAgICAgdmFyIGZ1bk9iaiA9IGZ1bmN0aW9uIChhLCBiKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIGEgKyBiOw0KICAgICAgICAgICAgfTsNCg0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3BlcnR5IiwgZnVuT2JqKTsNCg0KICAgICAgICAgICAgcmV0dXJuIG9iai5wcm9wZXJ0eSA9PT0gIkZ1bmN0aW9uIjsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBGdW5jdGlvbi5wcm90b3R5cGUudmFsdWU7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'Attributes' is a Function object which implements its own [[Get]] method to access the 'value' property of prototype object (8.10.5 step 5.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-139-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi0zLTEzOS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdBdHRyaWJ1dGVzJyBpcyBhIEZ1bmN0aW9uIG9iamVjdCB3aGljaCBpbXBsZW1lbnRzIGl0cyBvd24gW1tHZXRdXSBtZXRob2QgdG8gYWNjZXNzIHRoZSAndmFsdWUnIHByb3BlcnR5ICAoOC4xMC41IHN0ZXAgNS5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7IH07DQoNCiAgICAgICAgdmFyIGZ1bk9iaiA9IGZ1bmN0aW9uIChhLCBiKSB7DQogICAgICAgICAgICByZXR1cm4gYSArIGI7DQogICAgICAgIH07DQoNCiAgICAgICAgZnVuT2JqLnZhbHVlID0gIkZ1bmN0aW9uIjsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcGVydHkiLCBmdW5PYmopOw0KDQogICAgICAgIHJldHVybiBvYmoucHJvcGVydHkgPT09ICJGdW5jdGlvbiI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - 'Attributes' is a Function object which implements its own [[Get]] method to access the 'value' property (8.10.5 step 5.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-139.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogVGhlIGFidHJhY3Qgb3BlcmF0aW9uIFRvUHJvcGVydHlEZXNjcmlwdG9yICBpcyB1c2VkIHRvIHBhY2thZ2UgdGhlDQogKiBpbnRvIGEgcHJvcGVydHkgZGVzYy4gU3RlcCAxMCBvZiBUb1Byb3BlcnR5RGVzY3JpcHRvciB0aHJvd3MgYSBUeXBlRXJyb3INCiAqIGlmIHRoZSBwcm9wZXJ0eSBkZXNjIGVuZHMgdXAgaGF2aW5nIGEgbWl4IG9mIGFjY2Vzc29yIGFuZCBkYXRhIHByb3BlcnR5IGVsZW1lbnRzLg0KICoNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0xNC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSB0aHJvd3MgVHlwZUVycm9yIGlmIHNldHRlciBpcyBub3QgY2FsbGFibGUgYnV0IG5vdCB1bmRlZmluZWQgKE9iamVjdCkoOC4xMC41IHN0ZXAgOC5iKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgdmFyIG8gPSB7fTsNCiAgICANCiAgICAvLyBkdW1teSBnZXR0ZXINCiAgICB2YXIgc2V0dGVyID0geyBhOiAxIH07DQogICAgdmFyIGRlc2MgPSB7IHNldDogc2V0dGVyIH07DQogICAgDQogICAgdHJ5IHsNCiAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvLCAiZm9vIiwgZGVzYyk7DQogICAgfQ0KICAgIGNhdGNoIChlKSB7DQogICAgICBpZiAoZSBpbnN0YW5jZW9mIFR5cGVFcnJvciAmJg0KICAgICAgICAgIChvLmhhc093blByb3BlcnR5KCJmb28iKSA9PT0gZmFsc2UpKSB7DQogICAgICAgIHJldHVybiB0cnVlOw0KICAgICAgfQ0KICAgIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"The abtract operation ToPropertyDescriptor is used to package the\ninto a property desc. Step 10 of ToPropertyDescriptor throws a TypeError\nif the property desc ends up having a mix of accessor and data property elements.","description":"Object.defineProperty throws TypeError if setter is not callable but not undefined (Object)(8.10.5 step 8.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-14.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi0zLTE0MC0xLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnR5IC0gJ0F0dHJpYnV0ZXMnIGlzIGFuIEFycmF5IG9iamVjdCB0aGF0IHVzZXMgT2JqZWN0J3MgW1tHZXRdXSBtZXRob2QgdG8gYWNjZXNzIHRoZSAndmFsdWUnIHByb3BlcnR5IG9mIHByb3RvdHlwZSBvYmplY3QgICg4LjEwLjUgc3RlcCA1LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlLnZhbHVlID0gIkFycmF5IjsNCiAgICAgICAgICAgIHZhciBhcnJPYmogPSBbMSwgMiwgM107DQoNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wZXJ0eSIsIGFyck9iaik7DQoNCiAgICAgICAgICAgIHJldHVybiBvYmoucHJvcGVydHkgPT09ICJBcnJheSI7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgQXJyYXkucHJvdG90eXBlLnZhbHVlOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - 'Attributes' is an Array object that uses Object's [[Get]] method to access the 'value' property of prototype object (8.10.5 step 5.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-140-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi0zLTE0MC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdBdHRyaWJ1dGVzJyBpcyBhbiBBcnJheSBvYmplY3QgdGhhdCB1c2VzIE9iamVjdCdzIFtbR2V0XV0gbWV0aG9kIHRvIGFjY2VzcyB0aGUgJ3ZhbHVlJyBwcm9wZXJ0eSAgKDguMTAuNSBzdGVwIDUuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0geyB9Ow0KDQogICAgICAgIHZhciBhcnJPYmogPSBbMSwgMiwgM107DQoNCiAgICAgICAgYXJyT2JqLnZhbHVlID0gIkFycmF5IjsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcGVydHkiLCBhcnJPYmopOw0KDQogICAgICAgIHJldHVybiBvYmoucHJvcGVydHkgPT09ICJBcnJheSI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - 'Attributes' is an Array object that uses Object's [[Get]] method to access the 'value' property (8.10.5 step 5.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-140.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi0zLTE0MS0xLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnR5IC0gJ0F0dHJpYnV0ZXMnIGlzIGEgU3RyaW5nIG9iamVjdCB0aGF0IHVzZXMgT2JqZWN0J3MgW1tHZXRdXSBtZXRob2QgdG8gYWNjZXNzIHRoZSAndmFsdWUnIHByb3BlcnR5IG9mIHByb3RvdHlwZSBvYmplY3QgICg4LjEwLjUgc3RlcCA1LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgU3RyaW5nLnByb3RvdHlwZS52YWx1ZSA9ICJTdHJpbmciOw0KICAgICAgICAgICAgdmFyIHN0ck9iaiA9IG5ldyBTdHJpbmcoImFiYyIpOw0KDQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcGVydHkiLCBzdHJPYmopOw0KDQogICAgICAgICAgICByZXR1cm4gb2JqLnByb3BlcnR5ID09PSAiU3RyaW5nIjsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBTdHJpbmcucHJvdG90eXBlLnZhbHVlOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - 'Attributes' is a String object that uses Object's [[Get]] method to access the 'value' property of prototype object (8.10.5 step 5.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-141-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi0zLTE0MS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdBdHRyaWJ1dGVzJyBpcyBhIFN0cmluZyBvYmplY3QgdGhhdCB1c2VzIE9iamVjdCdzIFtbR2V0XV0gbWV0aG9kIHRvIGFjY2VzcyB0aGUgJ3ZhbHVlJyBwcm9wZXJ0eSAgKDguMTAuNSBzdGVwIDUuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0geyB9Ow0KDQogICAgICAgIHZhciBzdHJPYmogPSBuZXcgU3RyaW5nKCJhYmMiKTsNCg0KICAgICAgICBzdHJPYmoudmFsdWUgPSAiU3RyaW5nIjsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcGVydHkiLCBzdHJPYmopOw0KDQogICAgICAgIHJldHVybiBvYmoucHJvcGVydHkgPT09ICJTdHJpbmciOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'Attributes' is a String object that uses Object's [[Get]] method to access the 'value' property (8.10.5 step 5.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-141.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi0zLTE0Mi0xLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnR5IC0gJ0F0dHJpYnV0ZXMnIGlzIGEgQm9vbGVhbiBvYmplY3QgdGhhdCB1c2VzIE9iamVjdCdzIFtbR2V0XV0gbWV0aG9kIHRvIGFjY2VzcyB0aGUgJ3ZhbHVlJyBwcm9wZXJ0eSBvZiBwcm90b3R5cGUgb2JqZWN0ICAoOC4xMC41IHN0ZXAgNS5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIEJvb2xlYW4ucHJvdG90eXBlLnZhbHVlID0gIkJvb2xlYW4iOw0KICAgICAgICAgICAgdmFyIGJvb2xPYmogPSBuZXcgQm9vbGVhbih0cnVlKTsNCg0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3BlcnR5IiwgYm9vbE9iaik7DQoNCiAgICAgICAgICAgIHJldHVybiBvYmoucHJvcGVydHkgPT09ICJCb29sZWFuIjsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBCb29sZWFuLnByb3RvdHlwZS52YWx1ZTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'Attributes' is a Boolean object that uses Object's [[Get]] method to access the 'value' property of prototype object (8.10.5 step 5.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-142-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi0zLTE0Mi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdBdHRyaWJ1dGVzJyBpcyBhIEJvb2xlYW4gb2JqZWN0IHRoYXQgdXNlcyBPYmplY3QncyBbW0dldF1dIG1ldGhvZCB0byBhY2Nlc3MgdGhlICd2YWx1ZScgcHJvcGVydHkgICg4LjEwLjUgc3RlcCA1LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHsgfTsNCg0KICAgICAgICB2YXIgYm9vbE9iaiA9IG5ldyBCb29sZWFuKHRydWUpOw0KDQogICAgICAgIGJvb2xPYmoudmFsdWUgPSAiQm9vbGVhbiI7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3BlcnR5IiwgYm9vbE9iaik7DQoNCiAgICAgICAgcmV0dXJuIG9iai5wcm9wZXJ0eSA9PT0gIkJvb2xlYW4iOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'Attributes' is a Boolean object that uses Object's [[Get]] method to access the 'value' property (8.10.5 step 5.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-142.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi0zLTE0My0xLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnR5IC0gJ0F0dHJpYnV0ZXMnIGlzIGEgTnVtYmVyIG9iamVjdCB0aGF0IHVzZXMgT2JqZWN0J3MgW1tHZXRdXSBtZXRob2QgdG8gYWNjZXNzIHRoZSAndmFsdWUnIHByb3BlcnR5IG9mIHByb3RvdHlwZSBvYmplY3QgICg4LjEwLjUgc3RlcCA1LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgTnVtYmVyLnByb3RvdHlwZS52YWx1ZSA9ICJOdW1iZXIiOw0KICAgICAgICAgICAgdmFyIG51bU9iaiA9IG5ldyBOdW1iZXIoLTIpOw0KDQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcGVydHkiLCBudW1PYmopOw0KDQogICAgICAgICAgICByZXR1cm4gb2JqLnByb3BlcnR5ID09PSAiTnVtYmVyIjsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBOdW1iZXIucHJvdG90eXBlLnZhbHVlOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - 'Attributes' is a Number object that uses Object's [[Get]] method to access the 'value' property of prototype object (8.10.5 step 5.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-143-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi0zLTE0My5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdBdHRyaWJ1dGVzJyBpcyBhIE51bWJlciBvYmplY3QgdGhhdCB1c2VzIE9iamVjdCdzIFtbR2V0XV0gbWV0aG9kIHRvIGFjY2VzcyB0aGUgJ3ZhbHVlJyBwcm9wZXJ0eSAgKDguMTAuNSBzdGVwIDUuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0geyB9Ow0KDQogICAgICAgIHZhciBudW1PYmogPSBuZXcgTnVtYmVyKC0yKTsNCg0KICAgICAgICBudW1PYmoudmFsdWUgPSAiTnVtYmVyIjsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcGVydHkiLCBudW1PYmopOw0KDQogICAgICAgIHJldHVybiBvYmoucHJvcGVydHkgPT09ICJOdW1iZXIiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'Attributes' is a Number object that uses Object's [[Get]] method to access the 'value' property (8.10.5 step 5.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-143.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi0zLTE0NC0xLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnR5IC0gJ0F0dHJpYnV0ZXMnIGlzIHRoZSBNYXRoIG9iamVjdCB0aGF0IHVzZXMgT2JqZWN0J3MgW1tHZXRdXSBtZXRob2QgdG8gYWNjZXNzIHRoZSAndmFsdWUnIHByb3BlcnR5IG9mIHByb3RvdHlwZSBvYmplY3QgICg4LjEwLjUgc3RlcCA1LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QucHJvdG90eXBlLnZhbHVlID0gIk1hdGgiOw0KDQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcGVydHkiLCBNYXRoKTsNCg0KICAgICAgICAgICAgcmV0dXJuIG9iai5wcm9wZXJ0eSA9PT0gIk1hdGgiOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIE9iamVjdC5wcm90b3R5cGUudmFsdWU7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'Attributes' is the Math object that uses Object's [[Get]] method to access the 'value' property of prototype object (8.10.5 step 5.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-144-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi0zLTE0NC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdBdHRyaWJ1dGVzJyBpcyB0aGUgTWF0aCBvYmplY3QgdGhhdCB1c2VzIE9iamVjdCdzIFtbR2V0XV0gbWV0aG9kIHRvIGFjY2VzcyB0aGUgJ3ZhbHVlJyBwcm9wZXJ0eSAgKDguMTAuNSBzdGVwIDUuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE1hdGgudmFsdWUgPSAiTWF0aCI7DQoNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wZXJ0eSIsIE1hdGgpOw0KDQogICAgICAgICAgICByZXR1cm4gb2JqLnByb3BlcnR5ID09PSAiTWF0aCI7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgTWF0aC52YWx1ZTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'Attributes' is the Math object that uses Object's [[Get]] method to access the 'value' property (8.10.5 step 5.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-144.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi0zLTE0NS0xLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnR5IC0gJ0F0dHJpYnV0ZXMnIGlzIGEgRGF0ZSBvYmplY3QgdGhhdCB1c2VzIE9iamVjdCdzIFtbR2V0XV0gbWV0aG9kIHRvIGFjY2VzcyB0aGUgJ3ZhbHVlJyBwcm9wZXJ0eSBvZiBwcm90b3R5cGUgb2JqZWN0ICAoOC4xMC41IHN0ZXAgNS5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIERhdGUucHJvdG90eXBlLnZhbHVlID0gIkRhdGUiOw0KICAgICAgICAgICAgdmFyIGRhdGVPYmogPSBuZXcgRGF0ZSgpOw0KDQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcGVydHkiLCBkYXRlT2JqKTsNCg0KICAgICAgICAgICAgcmV0dXJuIG9iai5wcm9wZXJ0eSA9PT0gIkRhdGUiOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIERhdGUucHJvdG90eXBlLnZhbHVlOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - 'Attributes' is a Date object that uses Object's [[Get]] method to access the 'value' property of prototype object (8.10.5 step 5.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-145-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi0zLTE0NS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdBdHRyaWJ1dGVzJyBpcyBhIERhdGUgb2JqZWN0IHRoYXQgdXNlcyBPYmplY3QncyBbW0dldF1dIG1ldGhvZCB0byBhY2Nlc3MgdGhlICd2YWx1ZScgcHJvcGVydHkgICg4LjEwLjUgc3RlcCA1LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHsgfTsNCg0KICAgICAgICB2YXIgZGF0ZU9iaiA9IG5ldyBEYXRlKCk7DQoNCiAgICAgICAgZGF0ZU9iai52YWx1ZSA9ICJEYXRlIjsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcGVydHkiLCBkYXRlT2JqKTsNCg0KICAgICAgICByZXR1cm4gb2JqLnByb3BlcnR5ID09PSAiRGF0ZSI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - 'Attributes' is a Date object that uses Object's [[Get]] method to access the 'value' property (8.10.5 step 5.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-145.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi0zLTE0Ni0xLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnR5IC0gJ0F0dHJpYnV0ZXMnIGlzIGEgUmVnRXhwIG9iamVjdCB0aGF0IHVzZXMgT2JqZWN0J3MgW1tHZXRdXSBtZXRob2QgdG8gYWNjZXNzIHRoZSAndmFsdWUnIHByb3BlcnR5IG9mIHByb3RvdHlwZSBvYmplY3QgICg4LjEwLjUgc3RlcCA1LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgUmVnRXhwLnByb3RvdHlwZS52YWx1ZSA9ICJSZWdFeHAiOw0KICAgICAgICAgICAgdmFyIHJlZ09iaiA9IG5ldyBSZWdFeHAoKTsNCg0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3BlcnR5IiwgcmVnT2JqKTsNCg0KICAgICAgICAgICAgcmV0dXJuIG9iai5wcm9wZXJ0eSA9PT0gIlJlZ0V4cCI7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgUmVnRXhwLnByb3RvdHlwZS52YWx1ZTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'Attributes' is a RegExp object that uses Object's [[Get]] method to access the 'value' property of prototype object (8.10.5 step 5.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-146-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi0zLTE0Ni5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdBdHRyaWJ1dGVzJyBpcyBhIFJlZ0V4cCBvYmplY3QgdGhhdCB1c2VzIE9iamVjdCdzIFtbR2V0XV0gbWV0aG9kIHRvIGFjY2VzcyB0aGUgJ3ZhbHVlJyBwcm9wZXJ0eSAgKDguMTAuNSBzdGVwIDUuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0geyB9Ow0KDQogICAgICAgIHZhciByZWdPYmogPSBuZXcgUmVnRXhwKCk7DQoNCiAgICAgICAgcmVnT2JqLnZhbHVlID0gIlJlZ0V4cCI7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3BlcnR5IiwgcmVnT2JqKTsNCg0KICAgICAgICByZXR1cm4gb2JqLnByb3BlcnR5ID09PSAiUmVnRXhwIjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'Attributes' is a RegExp object that uses Object's [[Get]] method to access the 'value' property (8.10.5 step 5.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-146.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi0zLTE0Ny0xLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnR5IC0gJ0F0dHJpYnV0ZXMnIGlzIHRoZSBKU09OIG9iamVjdCB0aGF0IHVzZXMgT2JqZWN0J3MgW1tHZXRdXSBtZXRob2QgdG8gYWNjZXNzIHRoZSAndmFsdWUnIHByb3BlcnR5IG9mIHByb3RvdHlwZSBvYmplY3QgICg4LjEwLjUgc3RlcCA1LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QucHJvdG90eXBlLnZhbHVlID0gIkpTT04iOw0KDQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcGVydHkiLCBKU09OKTsNCg0KICAgICAgICAgICAgcmV0dXJuIG9iai5wcm9wZXJ0eSA9PT0gIkpTT04iOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIE9iamVjdC5wcm90b3R5cGUudmFsdWU7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'Attributes' is the JSON object that uses Object's [[Get]] method to access the 'value' property of prototype object (8.10.5 step 5.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-147-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi0zLTE0Ny5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdBdHRyaWJ1dGVzJyBpcyB0aGUgSlNPTiBvYmplY3QgdGhhdCB1c2VzIE9iamVjdCdzIFtbR2V0XV0gbWV0aG9kIHRvIGFjY2VzcyB0aGUgJ3ZhbHVlJyBwcm9wZXJ0eSAgKDguMTAuNSBzdGVwIDUuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIEpTT04udmFsdWUgPSAiSlNPTiI7DQoNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wZXJ0eSIsIEpTT04pOw0KDQogICAgICAgICAgICByZXR1cm4gb2JqLnByb3BlcnR5ID09PSAiSlNPTiI7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgSlNPTi52YWx1ZTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'Attributes' is the JSON object that uses Object's [[Get]] method to access the 'value' property (8.10.5 step 5.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-147.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi0zLTE0OC0xLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnR5IC0gJ0F0dHJpYnV0ZXMnIGlzIGFuIEVycm9yIG9iamVjdCB0aGF0IHVzZXMgT2JqZWN0J3MgW1tHZXRdXSBtZXRob2QgdG8gYWNjZXNzIHRoZSAndmFsdWUnIHByb3BlcnR5IG9mIHByb3RvdHlwZSBvYmplY3QgICg4LjEwLjUgc3RlcCA1LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgRXJyb3IucHJvdG90eXBlLnZhbHVlID0gIkVycm9yIjsNCiAgICAgICAgICAgIHZhciBlcnJPYmogPSBuZXcgRXJyb3IoKTsNCg0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3BlcnR5IiwgZXJyT2JqKTsNCg0KICAgICAgICAgICAgcmV0dXJuIG9iai5wcm9wZXJ0eSA9PT0gIkVycm9yIjsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBFcnJvci5wcm90b3R5cGUudmFsdWU7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'Attributes' is an Error object that uses Object's [[Get]] method to access the 'value' property of prototype object (8.10.5 step 5.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-148-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi0zLTE0OC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdBdHRyaWJ1dGVzJyBpcyBhbiBFcnJvciBvYmplY3QgdGhhdCB1c2VzIE9iamVjdCdzIFtbR2V0XV0gbWV0aG9kIHRvIGFjY2VzcyB0aGUgJ3ZhbHVlJyBwcm9wZXJ0eSAgKDguMTAuNSBzdGVwIDUuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgdmFyIGVyck9iaiA9IG5ldyBFcnJvcigpOw0KDQogICAgICAgIGVyck9iai52YWx1ZSA9ICJFcnJvciI7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3BlcnR5IiwgZXJyT2JqKTsNCg0KICAgICAgICByZXR1cm4gb2JqLnByb3BlcnR5ID09PSAiRXJyb3IiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'Attributes' is an Error object that uses Object's [[Get]] method to access the 'value' property (8.10.5 step 5.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-148.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi0zLTE0OS0xLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnR5IC0gJ0F0dHJpYnV0ZXMnIGlzIGFuIEFyZ3VtZW50cyBvYmplY3Qgd2hpY2ggaW1wbGVtZW50cyBpdHMgb3duIFtbR2V0XV0gbWV0aG9kIHRvIGFjY2VzcyB0aGUgJ3ZhbHVlJyBwcm9wZXJ0eSBvZiBwcm90b3R5cGUgb2JqZWN0ICg4LjEwLjUgc3RlcCA1LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LnByb3RvdHlwZS52YWx1ZSA9ICJhcmd1bWVudHMiOw0KICAgICAgICAgICAgdmFyIGFyZ09iaiA9IChmdW5jdGlvbiAoKSB7IHJldHVybiBhcmd1bWVudHM7IH0pKCk7DQoNCg0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3BlcnR5IiwgYXJnT2JqKTsNCg0KICAgICAgICAgICAgcmV0dXJuIG9iai5wcm9wZXJ0eSA9PT0gImFyZ3VtZW50cyI7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgT2JqZWN0LnByb3RvdHlwZS52YWx1ZTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'Attributes' is an Arguments object which implements its own [[Get]] method to access the 'value' property of prototype object (8.10.5 step 5.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-149-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi0zLTE0OS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdBdHRyaWJ1dGVzJyBpcyBhbiBBcmd1bWVudHMgb2JqZWN0IHdoaWNoIGltcGxlbWVudHMgaXRzIG93biBbW0dldF1dIG1ldGhvZCB0byBhY2Nlc3MgdGhlICd2YWx1ZScgcHJvcGVydHkgICg4LjEwLjUgc3RlcCA1LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIHZhciBhcmdPYmogPSAoZnVuY3Rpb24gKCkgeyByZXR1cm4gYXJndW1lbnRzOyB9KSgpOw0KDQogICAgICAgIGFyZ09iai52YWx1ZSA9ICJhcmd1bWVudHMiOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wZXJ0eSIsIGFyZ09iaik7DQoNCiAgICAgICAgcmV0dXJuIG9iai5wcm9wZXJ0eSA9PT0gImFyZ3VtZW50cyI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - 'Attributes' is an Arguments object which implements its own [[Get]] method to access the 'value' property (8.10.5 step 5.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-149.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi0zLTE1LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnR5IC0gJ0F0dHJpYnV0ZXMnIGlzIHVuZGVmaW5lZCAgKDguMTAuNSBzdGVwIDEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wZXJ0eSIsIHVuZGVmaW5lZCk7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiBlIGluc3RhbmNlb2YgVHlwZUVycm9yOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - 'Attributes' is undefined (8.10.5 step 1)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-15.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi0zLTE1MS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdBdHRyaWJ1dGVzJyBpcyB0aGUgZ2xvYmFsIG9iamVjdCB0aGF0IHVzZXMgT2JqZWN0J3MgW1tHZXRdXSBtZXRob2QgdG8gYWNjZXNzIHRoZSAndmFsdWUnIHByb3BlcnR5ICAoOC4xMC41IHN0ZXAgNS5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgZm5HbG9iYWxPYmplY3QoKS52YWx1ZSA9ICJnbG9iYWwiOw0KDQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcGVydHkiLCBmbkdsb2JhbE9iamVjdCgpKTsNCg0KICAgICAgICAgICAgcmV0dXJuIG9iai5wcm9wZXJ0eSA9PT0gImdsb2JhbCI7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgZm5HbG9iYWxPYmplY3QoKS52YWx1ZTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'Attributes' is the global object that uses Object's [[Get]] method to access the 'value' property (8.10.5 step 5.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-151.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi0zLTE1Mi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICd3cml0YWJsZScgcHJvcGVydHkgaW4gJ0F0dHJpYnV0ZXMnIGlzIHByZXNlbnQgKDguMTAuNSBzdGVwIDYpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIHZhciBhdHRyID0gew0KICAgICAgICAgICAgd3JpdGFibGU6IGZhbHNlDQogICAgICAgIH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3BlcnR5IiwgYXR0cik7DQoNCiAgICAgICAgdmFyIGJlZm9yZVdyaXRlID0gb2JqLmhhc093blByb3BlcnR5KCJwcm9wZXJ0eSIpOw0KDQogICAgICAgIG9iai5wcm9wZXJ0eSA9ICJpc1dyaXRhYmxlIjsNCg0KICAgICAgICB2YXIgYWZ0ZXJXcml0ZSA9IChvYmoucHJvcGVydHkgPT09ICJpc1dyaXRhYmxlIik7DQoNCiAgICAgICAgcmV0dXJuIGJlZm9yZVdyaXRlID09PSB0cnVlICYmIGFmdGVyV3JpdGUgPT09IGZhbHNlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'writable' property in 'Attributes' is present (8.10.5 step 6)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-152.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi0zLTE1My5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICd3cml0YWJsZScgcHJvcGVydHkgaW4gJ0F0dHJpYnV0ZXMnIGlzIG5vdCBwcmVzZW50ICAoOC4xMC41IHN0ZXAgNikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgdmFyIGF0dHIgPSB7DQogICAgICAgICAgICB2YWx1ZTogMTAwDQogICAgICAgIH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3BlcnR5IiwgYXR0cik7DQoNCiAgICAgICAgdmFyIGJlZm9yZVdyaXRlID0gb2JqLmhhc093blByb3BlcnR5KCJwcm9wZXJ0eSIpOw0KDQogICAgICAgIG9iai5wcm9wZXJ0eSA9ICJpc1dyaXRhYmxlIjsNCg0KICAgICAgICB2YXIgYWZ0ZXJXcml0ZSA9IChvYmoucHJvcGVydHkgPT09ICJpc1dyaXRhYmxlIik7DQoNCiAgICAgICAgcmV0dXJuIGJlZm9yZVdyaXRlID09PSB0cnVlICYmIGFmdGVyV3JpdGUgPT09IGZhbHNlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'writable' property in 'Attributes' is not present (8.10.5 step 6)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-153.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi0zLTE1NC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICd3cml0YWJsZScgcHJvcGVydHkgaW4gJ0F0dHJpYnV0ZXMnIGlzIG93biBkYXRhIHByb3BlcnR5ICAoOC4xMC41IHN0ZXAgNi5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7IH07DQoNCiAgICAgICAgdmFyIGF0dHIgPSB7DQogICAgICAgICAgICB3cml0YWJsZTogdHJ1ZQ0KICAgICAgICB9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wZXJ0eSIsIGF0dHIpOw0KDQogICAgICAgIHZhciBiZWZvcmVXcml0ZSA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcGVydHkiKTsNCg0KICAgICAgICBvYmoucHJvcGVydHkgPSAiaXNXcml0YWJsZSI7DQoNCiAgICAgICAgdmFyIGFmdGVyV3JpdGUgPSAob2JqLnByb3BlcnR5ID09PSAiaXNXcml0YWJsZSIpOw0KDQogICAgICAgIHJldHVybiBiZWZvcmVXcml0ZSA9PT0gdHJ1ZSAmJiBhZnRlcldyaXRlID09PSB0cnVlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'writable' property in 'Attributes' is own data property (8.10.5 step 6.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-154.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi0zLTE1NS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICd3cml0YWJsZScgcHJvcGVydHkgaW4gJ0F0dHJpYnV0ZXMnIGlzIGFuIGluaGVyaXRlZCBkYXRhIHByb3BlcnR5ICAoOC4xMC41IHN0ZXAgNi5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7IH07DQoNCiAgICAgICAgdmFyIHByb3RvID0gew0KICAgICAgICAgICAgd3JpdGFibGU6IHRydWUNCiAgICAgICAgfTsNCg0KICAgICAgICB2YXIgQ29uc3RydWN0RnVuID0gZnVuY3Rpb24gKCkgeyB9Ow0KICAgICAgICBDb25zdHJ1Y3RGdW4ucHJvdG90eXBlID0gcHJvdG87DQoNCiAgICAgICAgdmFyIGNoaWxkID0gbmV3IENvbnN0cnVjdEZ1bigpOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wZXJ0eSIsIGNoaWxkKTsNCg0KICAgICAgICB2YXIgYmVmb3JlV3JpdGUgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3BlcnR5Iik7DQoNCiAgICAgICAgb2JqLnByb3BlcnR5ID0gImlzV3JpdGFibGUiOw0KDQogICAgICAgIHZhciBhZnRlcldyaXRlID0gKG9iai5wcm9wZXJ0eSA9PT0gImlzV3JpdGFibGUiKTsNCg0KICAgICAgICByZXR1cm4gYmVmb3JlV3JpdGUgPT09IHRydWUgJiYgYWZ0ZXJXcml0ZSA9PT0gdHJ1ZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'writable' property in 'Attributes' is an inherited data property (8.10.5 step 6.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-155.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi0zLTE1Ni5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICd3cml0YWJsZScgcHJvcGVydHkgaW4gJ0F0dHJpYnV0ZXMnIGlzIG93biBkYXRhIHByb3BlcnR5IHRoYXQgb3ZlcnJpZGVzIGFuIGluaGVyaXRlZCBkYXRhIHByb3BlcnR5ICAoOC4xMC41IHN0ZXAgNi5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7IH07DQoNCiAgICAgICAgdmFyIHByb3RvID0gew0KICAgICAgICAgICAgd3JpdGFibGU6IGZhbHNlIA0KICAgICAgICB9Ow0KDQogICAgICAgIHZhciBDb25zdHJ1Y3RGdW4gPSBmdW5jdGlvbiAoKSB7IH07DQogICAgICAgIENvbnN0cnVjdEZ1bi5wcm90b3R5cGUgPSBwcm90bzsNCg0KICAgICAgICB2YXIgY2hpbGQgPSBuZXcgQ29uc3RydWN0RnVuKCk7DQogICAgICAgIGNoaWxkLndyaXRhYmxlID0gdHJ1ZTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcGVydHkiLCBjaGlsZCk7DQoNCiAgICAgICAgdmFyIGJlZm9yZVdyaXRlID0gb2JqLmhhc093blByb3BlcnR5KCJwcm9wZXJ0eSIpOw0KDQogICAgICAgIG9iai5wcm9wZXJ0eSA9ICJpc1dyaXRhYmxlIjsNCg0KICAgICAgICB2YXIgYWZ0ZXJXcml0ZSA9IChvYmoucHJvcGVydHkgPT09ICJpc1dyaXRhYmxlIik7DQoNCiAgICAgICAgcmV0dXJuIGJlZm9yZVdyaXRlID09PSB0cnVlICYmIGFmdGVyV3JpdGUgPT09IHRydWU7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - 'writable' property in 'Attributes' is own data property that overrides an inherited data property (8.10.5 step 6.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-156.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi0zLTE1Ny5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICd3cml0YWJsZScgcHJvcGVydHkgaW4gJ0F0dHJpYnV0ZXMnIGlzIG93biBkYXRhIHByb3BlcnR5IHRoYXQgb3ZlcnJpZGVzIGFuIGluaGVyaXRlZCBhY2Nlc3NvciBwcm9wZXJ0eSAgKDguMTAuNSBzdGVwIDYuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0geyB9Ow0KDQogICAgICAgIHZhciBwcm90byA9IHsgfTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHByb3RvLCAid3JpdGFibGUiLCB7DQogICAgICAgICAgICBnZXQgOiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgQ29uc3RydWN0RnVuID0gZnVuY3Rpb24gKCkgeyB9Ow0KICAgICAgICBDb25zdHJ1Y3RGdW4ucHJvdG90eXBlID0gcHJvdG87DQoNCiAgICAgICAgdmFyIGNoaWxkID0gbmV3IENvbnN0cnVjdEZ1bigpOw0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoY2hpbGQsICJ3cml0YWJsZSIsIHsNCiAgICAgICAgICAgIHZhbHVlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wZXJ0eSIsIGNoaWxkKTsNCg0KICAgICAgICB2YXIgYmVmb3JlV3JpdGUgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3BlcnR5Iik7DQoNCiAgICAgICAgb2JqLnByb3BlcnR5ID0gImlzV3JpdGFibGUiOw0KDQogICAgICAgIHZhciBhZnRlcldyaXRlID0gKG9iai5wcm9wZXJ0eSA9PT0gImlzV3JpdGFibGUiKTsNCg0KICAgICAgICByZXR1cm4gYmVmb3JlV3JpdGUgPT09IHRydWUgJiYgYWZ0ZXJXcml0ZSA9PT0gdHJ1ZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'writable' property in 'Attributes' is own data property that overrides an inherited accessor property (8.10.5 step 6.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-157.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi0zLTE1OC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICd3cml0YWJsZScgcHJvcGVydHkgaW4gJ0F0dHJpYnV0ZXMnIGlzIG93biBhY2Nlc3NvciBwcm9wZXJ0eSAgKDguMTAuNSBzdGVwIDYuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0geyB9Ow0KDQogICAgICAgIHZhciBhdHRyID0geyB9Ow0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXR0ciwgIndyaXRhYmxlIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wZXJ0eSIsIGF0dHIpOw0KDQogICAgICAgIHZhciBiZWZvcmVXcml0ZSA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcGVydHkiKTsNCg0KICAgICAgICBvYmoucHJvcGVydHkgPSAiaXNXcml0YWJsZSI7DQoNCiAgICAgICAgdmFyIGFmdGVyV3JpdGUgPSAob2JqLnByb3BlcnR5ID09PSAiaXNXcml0YWJsZSIpOw0KDQogICAgICAgIHJldHVybiBiZWZvcmVXcml0ZSA9PT0gdHJ1ZSAmJiBhZnRlcldyaXRlID09PSB0cnVlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'writable' property in 'Attributes' is own accessor property (8.10.5 step 6.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-158.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi0zLTE1OS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICd3cml0YWJsZScgcHJvcGVydHkgaW4gJ0F0dHJpYnV0ZXMnIGlzIGFuIGluaGVyaXRlZCBhY2Nlc3NvciBwcm9wZXJ0eSAgKDguMTAuNSBzdGVwIDYuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgdmFyIHByb3RvID0ge307DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShwcm90bywgIndyaXRhYmxlIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBDb25zdHJ1Y3RGdW4gPSBmdW5jdGlvbiAoKSB7IH07DQogICAgICAgIENvbnN0cnVjdEZ1bi5wcm90b3R5cGUgPSBwcm90bzsNCg0KICAgICAgICB2YXIgY2hpbGQgPSBuZXcgQ29uc3RydWN0RnVuKCk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3BlcnR5IiwgY2hpbGQpOw0KDQogICAgICAgIHZhciBiZWZvcmVXcml0ZSA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcGVydHkiKTsNCg0KICAgICAgICBvYmoucHJvcGVydHkgPSAiaXNXcml0YWJsZSI7DQoNCiAgICAgICAgdmFyIGFmdGVyV3JpdGUgPSAob2JqLnByb3BlcnR5ID09PSAiaXNXcml0YWJsZSIpOw0KDQogICAgICAgIHJldHVybiBiZWZvcmVXcml0ZSA9PT0gdHJ1ZSAmJiBhZnRlcldyaXRlID09PSB0cnVlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'writable' property in 'Attributes' is an inherited accessor property (8.10.5 step 6.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-159.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi0zLTE2LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnR5IC0gJ0F0dHJpYnV0ZXMnIGlzIG51bGwgKDguMTAuNSBzdGVwIDEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHt9LCAicHJvcGVydHkiLCBudWxsKTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBUeXBlRXJyb3I7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'Attributes' is null (8.10.5 step 1)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-16.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi0zLTE2MC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICd3cml0YWJsZScgcHJvcGVydHkgaW4gJ0F0dHJpYnV0ZXMnIGlzIG93biBhY2Nlc3NvciBwcm9wZXJ0eSB0aGF0IG92ZXJyaWRlcyBhbiBpbmhlcml0ZWQgZGF0YSBwcm9wZXJ0eSAgKDguMTAuNSBzdGVwIDYuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgdmFyIHByb3RvID0gew0KICAgICAgICAgICAgd3JpdGFibGU6IGZhbHNlDQogICAgICAgIH07DQoNCiAgICAgICAgdmFyIENvbnN0cnVjdEZ1biA9IGZ1bmN0aW9uICgpIHsgfTsNCiAgICAgICAgQ29uc3RydWN0RnVuLnByb3RvdHlwZSA9IHByb3RvOw0KDQogICAgICAgIHZhciBjaGlsZCA9IG5ldyBDb25zdHJ1Y3RGdW4oKTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGNoaWxkLCAid3JpdGFibGUiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3BlcnR5IiwgY2hpbGQpOw0KDQogICAgICAgIHZhciBiZWZvcmVXcml0ZSA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcGVydHkiKTsNCg0KICAgICAgICBvYmoucHJvcGVydHkgPSAiaXNXcml0YWJsZSI7DQoNCiAgICAgICAgdmFyIGFmdGVyV3JpdGUgPSAob2JqLnByb3BlcnR5ID09PSAiaXNXcml0YWJsZSIpOw0KDQogICAgICAgIHJldHVybiBiZWZvcmVXcml0ZSA9PT0gdHJ1ZSAmJiBhZnRlcldyaXRlID09PSB0cnVlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'writable' property in 'Attributes' is own accessor property that overrides an inherited data property (8.10.5 step 6.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-160.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi0zLTE2MS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICd3cml0YWJsZScgcHJvcGVydHkgaW4gJ0F0dHJpYnV0ZXMnIGlzIG93biBhY2Nlc3NvciBwcm9wZXJ0eSB0aGF0IG92ZXJyaWRlcyBhbiBpbmhlcml0ZWQgYWNjZXNzb3IgcHJvcGVydHkgICg4LjEwLjUgc3RlcCA2LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIHZhciBwcm90byA9IHt9Ow0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkocHJvdG8sICJ3cml0YWJsZSIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIENvbnN0cnVjdEZ1biA9IGZ1bmN0aW9uICgpIHsgfTsNCiAgICAgICAgQ29uc3RydWN0RnVuLnByb3RvdHlwZSA9IHByb3RvOw0KDQogICAgICAgIHZhciBjaGlsZCA9IG5ldyBDb25zdHJ1Y3RGdW4oKTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGNoaWxkLCAid3JpdGFibGUiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3BlcnR5IiwgY2hpbGQpOw0KDQogICAgICAgIHZhciBiZWZvcmVXcml0ZSA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcGVydHkiKTsNCg0KICAgICAgICBvYmoucHJvcGVydHkgPSAiaXNXcml0YWJsZSI7DQoNCiAgICAgICAgdmFyIGFmdGVyV3JpdGUgPSAob2JqLnByb3BlcnR5ID09PSAiaXNXcml0YWJsZSIpOw0KDQogICAgICAgIHJldHVybiBiZWZvcmVXcml0ZSA9PT0gdHJ1ZSAmJiBhZnRlcldyaXRlID09PSB0cnVlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'writable' property in 'Attributes' is own accessor property that overrides an inherited accessor property (8.10.5 step 6.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-161.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi0zLTE2Mi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICd3cml0YWJsZScgcHJvcGVydHkgaW4gJ0F0dHJpYnV0ZXMnIGlzIG93biBhY2Nlc3NvciBwcm9wZXJ0eSB3aXRob3V0IGEgZ2V0IGZ1bmN0aW9uICAoOC4xMC41IHN0ZXAgNi5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICB2YXIgYXR0ciA9IHt9Ow0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXR0ciwgIndyaXRhYmxlIiwgew0KICAgICAgICAgICAgc2V0OiBmdW5jdGlvbiAoKSB7IH0NCiAgICAgICAgfSk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3BlcnR5IiwgYXR0cik7DQoNCiAgICAgICAgdmFyIGJlZm9yZVdyaXRlID0gb2JqLmhhc093blByb3BlcnR5KCJwcm9wZXJ0eSIpOw0KDQogICAgICAgIG9iai5wcm9wZXJ0eSA9ICJpc1dyaXRhYmxlIjsNCg0KICAgICAgICB2YXIgYWZ0ZXJXcml0ZSA9ICh0eXBlb2YgKG9iai5wcm9wZXJ0eSkgPT09ICJ1bmRlZmluZWQiKTsNCg0KICAgICAgICByZXR1cm4gYmVmb3JlV3JpdGUgPT09IHRydWUgJiYgYWZ0ZXJXcml0ZSA9PT0gdHJ1ZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'writable' property in 'Attributes' is own accessor property without a get function (8.10.5 step 6.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-162.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi0zLTE2My5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICd3cml0YWJsZScgcHJvcGVydHkgaW4gJ0F0dHJpYnV0ZXMnIGlzIG93biBhY2Nlc3NvciBwcm9wZXJ0eSh3aXRob3V0IGEgZ2V0IGZ1bmN0aW9uKSB0aGF0IG92ZXJyaWRlcyBhbiBpbmhlcml0ZWQgYWNjZXNzb3IgcHJvcGVydHkgICg4LjEwLjUgc3RlcCA2LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIHZhciBwcm90byA9IHt9Ow0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkocHJvdG8sICJ3cml0YWJsZSIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgQ29uc3RydWN0RnVuID0gZnVuY3Rpb24gKCkgeyB9Ow0KICAgICAgICBDb25zdHJ1Y3RGdW4ucHJvdG90eXBlID0gcHJvdG87DQoNCiAgICAgICAgdmFyIGNoaWxkID0gbmV3IENvbnN0cnVjdEZ1bigpOw0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoY2hpbGQsICJ3cml0YWJsZSIsIHsNCiAgICAgICAgICAgIHNldDogZnVuY3Rpb24gKCkgeyB9DQogICAgICAgIH0pOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wZXJ0eSIsIGNoaWxkKTsNCg0KICAgICAgICB2YXIgYmVmb3JlV3JpdGUgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3BlcnR5Iik7DQoNCiAgICAgICAgb2JqLnByb3BlcnR5ID0gImlzV3JpdGFibGUiOw0KDQogICAgICAgIHZhciBhZnRlcldyaXRlID0gKHR5cGVvZiAob2JqLnByb3BlcnR5KSA9PT0gInVuZGVmaW5lZCIpOw0KDQogICAgICAgIHJldHVybiBiZWZvcmVXcml0ZSA9PT0gdHJ1ZSAmJiBhZnRlcldyaXRlID09PSB0cnVlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'writable' property in 'Attributes' is own accessor property(without a get function) that overrides an inherited accessor property (8.10.5 step 6.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-163.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi0zLTE2NC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICd3cml0YWJsZScgcHJvcGVydHkgaW4gJ0F0dHJpYnV0ZXMnIGlzIGFuIGluaGVyaXRlZCBhY2Nlc3NvciBwcm9wZXJ0eSB3aXRob3V0IGEgZ2V0IGZ1bmN0aW9uICAoOC4xMC41IHN0ZXAgNi5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICB2YXIgcHJvdG8gPSB7fTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHByb3RvLCAid3JpdGFibGUiLCB7DQogICAgICAgICAgICBzZXQ6IGZ1bmN0aW9uICgpIHsgfQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgQ29uc3RydWN0RnVuID0gZnVuY3Rpb24gKCkgeyB9Ow0KICAgICAgICBDb25zdHJ1Y3RGdW4ucHJvdG90eXBlID0gcHJvdG87DQoNCiAgICAgICAgdmFyIGNoaWxkID0gbmV3IENvbnN0cnVjdEZ1bigpOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wZXJ0eSIsIGNoaWxkKTsNCg0KICAgICAgICB2YXIgYmVmb3JlV3JpdGUgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3BlcnR5Iik7DQoNCiAgICAgICAgb2JqLnByb3BlcnR5ID0gImlzV3JpdGFibGUiOw0KDQogICAgICAgIHZhciBhZnRlcldyaXRlID0gKHR5cGVvZiAob2JqLnByb3BlcnR5KSA9PT0gInVuZGVmaW5lZCIpOw0KDQogICAgICAgIHJldHVybiBiZWZvcmVXcml0ZSA9PT0gdHJ1ZSAmJiBhZnRlcldyaXRlID09PSB0cnVlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'writable' property in 'Attributes' is an inherited accessor property without a get function (8.10.5 step 6.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-164.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi0zLTE2NS0xLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnR5IC0gJ0F0dHJpYnV0ZXMnIGlzIGEgRnVuY3Rpb24gb2JqZWN0IHdoaWNoIGltcGxlbWVudHMgaXRzIG93biBbW0dldF1dIG1ldGhvZCB0byBhY2Nlc3MgdGhlICd3cml0YWJsZScgcHJvcGVydHkgb2YgcHJvdG90eXBlIG9iamVjdCAoOC4xMC41IHN0ZXAgNi5iKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgRnVuY3Rpb24ucHJvdG90eXBlLndyaXRhYmxlID0gdHJ1ZTsNCiAgICAgICAgICAgIHZhciBmdW5PYmogPSBmdW5jdGlvbiAoYSwgYikgew0KICAgICAgICAgICAgICAgIHJldHVybiBhICsgYjsNCiAgICAgICAgICAgIH07DQoNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wZXJ0eSIsIGZ1bk9iaik7DQoNCiAgICAgICAgICAgIHZhciBiZWZvcmVXcml0ZSA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcGVydHkiKTsNCg0KICAgICAgICAgICAgb2JqLnByb3BlcnR5ID0gImlzV3JpdGFibGUiOw0KDQogICAgICAgICAgICB2YXIgYWZ0ZXJXcml0ZSA9IChvYmoucHJvcGVydHkgPT09ICJpc1dyaXRhYmxlIik7DQoNCiAgICAgICAgICAgIHJldHVybiBiZWZvcmVXcml0ZSA9PT0gdHJ1ZSAmJiBhZnRlcldyaXRlID09PSB0cnVlOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIEZ1bmN0aW9uLnByb3RvdHlwZS53cml0YWJsZTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'Attributes' is a Function object which implements its own [[Get]] method to access the 'writable' property of prototype object (8.10.5 step 6.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-165-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi0zLTE2NS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdBdHRyaWJ1dGVzJyBpcyBhIEZ1bmN0aW9uIG9iamVjdCB3aGljaCBpbXBsZW1lbnRzIGl0cyBvd24gW1tHZXRdXSBtZXRob2QgdG8gYWNjZXNzIHRoZSAnd3JpdGFibGUnIHByb3BlcnR5ICAoOC4xMC41IHN0ZXAgNi5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICB2YXIgZnVuT2JqID0gZnVuY3Rpb24gKGEsIGIpIHsNCiAgICAgICAgICAgIHJldHVybiBhICsgYjsNCiAgICAgICAgfTsNCg0KICAgICAgICBmdW5PYmoud3JpdGFibGUgPSB0cnVlOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wZXJ0eSIsIGZ1bk9iaik7DQoNCiAgICAgICAgdmFyIGJlZm9yZVdyaXRlID0gb2JqLmhhc093blByb3BlcnR5KCJwcm9wZXJ0eSIpOw0KDQogICAgICAgIG9iai5wcm9wZXJ0eSA9ICJpc1dyaXRhYmxlIjsNCg0KICAgICAgICB2YXIgYWZ0ZXJXcml0ZSA9IChvYmoucHJvcGVydHkgPT09ICJpc1dyaXRhYmxlIik7DQoNCiAgICAgICAgcmV0dXJuIGJlZm9yZVdyaXRlID09PSB0cnVlICYmIGFmdGVyV3JpdGUgPT09IHRydWU7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - 'Attributes' is a Function object which implements its own [[Get]] method to access the 'writable' property (8.10.5 step 6.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-165.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi0zLTE2Ni0xLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnR5IC0gJ0F0dHJpYnV0ZXMnIGlzIGFuIEFycmF5IG9iamVjdCB0aGF0IHVzZXMgT2JqZWN0J3MgW1tHZXRdXSBtZXRob2QgdG8gYWNjZXNzIHRoZSAnd3JpdGFibGUnIHByb3BlcnR5IG9mIHByb3RvdHlwZSBvYmplY3QgKDguMTAuNSBzdGVwIDYuYikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBBcnJheS5wcm90b3R5cGUud3JpdGFibGUgPSB0cnVlOw0KICAgICAgICAgICAgdmFyIGFyck9iaiA9IFsxLCAyLCAzXTsNCg0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3BlcnR5IiwgYXJyT2JqKTsNCg0KICAgICAgICAgICAgdmFyIGJlZm9yZVdyaXRlID0gb2JqLmhhc093blByb3BlcnR5KCJwcm9wZXJ0eSIpOw0KDQogICAgICAgICAgICBvYmoucHJvcGVydHkgPSAiaXNXcml0YWJsZSI7DQoNCiAgICAgICAgICAgIHZhciBhZnRlcldyaXRlID0gKG9iai5wcm9wZXJ0eSA9PT0gImlzV3JpdGFibGUiKTsNCg0KICAgICAgICAgICAgcmV0dXJuIGJlZm9yZVdyaXRlID09PSB0cnVlICYmIGFmdGVyV3JpdGUgPT09IHRydWU7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgQXJyYXkucHJvdG90eXBlLndyaXRhYmxlOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - 'Attributes' is an Array object that uses Object's [[Get]] method to access the 'writable' property of prototype object (8.10.5 step 6.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-166-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi0zLTE2Ni5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdBdHRyaWJ1dGVzJyBpcyBhbiBBcnJheSBvYmplY3QgdGhhdCB1c2VzIE9iamVjdCdzIFtbR2V0XV0gbWV0aG9kIHRvIGFjY2VzcyB0aGUgJ3dyaXRhYmxlJyBwcm9wZXJ0eSAgKDguMTAuNSBzdGVwIDYuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0geyB9Ow0KDQogICAgICAgIHZhciBhcnJPYmogPSBbMSwgMiwgM107DQoNCiAgICAgICAgYXJyT2JqLndyaXRhYmxlID0gdHJ1ZTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcGVydHkiLCBhcnJPYmopOw0KDQogICAgICAgIHZhciBiZWZvcmVXcml0ZSA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcGVydHkiKTsNCg0KICAgICAgICBvYmoucHJvcGVydHkgPSAiaXNXcml0YWJsZSI7DQoNCiAgICAgICAgdmFyIGFmdGVyV3JpdGUgPSAob2JqLnByb3BlcnR5ID09PSAiaXNXcml0YWJsZSIpOw0KDQogICAgICAgIHJldHVybiBiZWZvcmVXcml0ZSA9PT0gdHJ1ZSAmJiBhZnRlcldyaXRlID09PSB0cnVlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'Attributes' is an Array object that uses Object's [[Get]] method to access the 'writable' property (8.10.5 step 6.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-166.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi0zLTE2Ny0xLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnR5IC0gJ0F0dHJpYnV0ZXMnIGlzIGEgU3RyaW5nIG9iamVjdCB0aGF0IHVzZXMgT2JqZWN0J3MgW1tHZXRdXSBtZXRob2QgdG8gYWNjZXNzIHRoZSAnd3JpdGFibGUnIHByb3BlcnR5IG9mIHByb3RvdHlwZSBvYmplY3QgKDguMTAuNSBzdGVwIDYuYikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBTdHJpbmcucHJvdG90eXBlLndyaXRhYmxlID0gdHJ1ZTsNCiAgICAgICAgICAgIHZhciBzdHJPYmogPSBuZXcgU3RyaW5nKCJhYmMiKTsNCg0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3BlcnR5Iiwgc3RyT2JqKTsNCg0KICAgICAgICAgICAgdmFyIGJlZm9yZVdyaXRlID0gb2JqLmhhc093blByb3BlcnR5KCJwcm9wZXJ0eSIpOw0KDQogICAgICAgICAgICBvYmoucHJvcGVydHkgPSAiaXNXcml0YWJsZSI7DQoNCiAgICAgICAgICAgIHZhciBhZnRlcldyaXRlID0gKG9iai5wcm9wZXJ0eSA9PT0gImlzV3JpdGFibGUiKTsNCg0KICAgICAgICAgICAgcmV0dXJuIGJlZm9yZVdyaXRlID09PSB0cnVlICYmIGFmdGVyV3JpdGUgPT09IHRydWU7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgU3RyaW5nLnByb3RvdHlwZS53cml0YWJsZTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'Attributes' is a String object that uses Object's [[Get]] method to access the 'writable' property of prototype object (8.10.5 step 6.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-167-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi0zLTE2Ny5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdBdHRyaWJ1dGVzJyBpcyBhIFN0cmluZyBvYmplY3QgdGhhdCB1c2VzIE9iamVjdCdzIFtbR2V0XV0gbWV0aG9kIHRvIGFjY2VzcyB0aGUgJ3dyaXRhYmxlJyBwcm9wZXJ0eSAgKDguMTAuNSBzdGVwIDYuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgdmFyIHN0ck9iaiA9IG5ldyBTdHJpbmcoImFiYyIpOw0KDQogICAgICAgIHN0ck9iai53cml0YWJsZSA9IHRydWU7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3BlcnR5Iiwgc3RyT2JqKTsNCg0KICAgICAgICB2YXIgYmVmb3JlV3JpdGUgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3BlcnR5Iik7DQoNCiAgICAgICAgb2JqLnByb3BlcnR5ID0gImlzV3JpdGFibGUiOw0KDQogICAgICAgIHZhciBhZnRlcldyaXRlID0gKG9iai5wcm9wZXJ0eSA9PT0gImlzV3JpdGFibGUiKTsNCg0KICAgICAgICByZXR1cm4gYmVmb3JlV3JpdGUgPT09IHRydWUgJiYgYWZ0ZXJXcml0ZSA9PT0gdHJ1ZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'Attributes' is a String object that uses Object's [[Get]] method to access the 'writable' property (8.10.5 step 6.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-167.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi0zLTE2OC0xLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnR5IC0gJ0F0dHJpYnV0ZXMnIGlzIGEgQm9vbGVhbiBvYmplY3QgdGhhdCB1c2VzIE9iamVjdCdzIFtbR2V0XV0gbWV0aG9kIHRvIGFjY2VzcyB0aGUgJ3dyaXRhYmxlJyBwcm9wZXJ0eSBvZiBwcm90b3R5cGUgb2JqZWN0ICg4LjEwLjUgc3RlcCA2LmIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgQm9vbGVhbi5wcm90b3R5cGUud3JpdGFibGUgPSB0cnVlOw0KICAgICAgICAgICAgdmFyIGJvb2xPYmogPSBuZXcgQm9vbGVhbih0cnVlKTsNCg0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3BlcnR5IiwgYm9vbE9iaik7DQoNCiAgICAgICAgICAgIHZhciBiZWZvcmVXcml0ZSA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcGVydHkiKTsNCg0KICAgICAgICAgICAgb2JqLnByb3BlcnR5ID0gImlzV3JpdGFibGUiOw0KDQogICAgICAgICAgICB2YXIgYWZ0ZXJXcml0ZSA9IChvYmoucHJvcGVydHkgPT09ICJpc1dyaXRhYmxlIik7DQoNCiAgICAgICAgICAgIHJldHVybiBiZWZvcmVXcml0ZSA9PT0gdHJ1ZSAmJiBhZnRlcldyaXRlID09PSB0cnVlOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIEJvb2xlYW4ucHJvdG90eXBlLndyaXRhYmxlOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - 'Attributes' is a Boolean object that uses Object's [[Get]] method to access the 'writable' property of prototype object (8.10.5 step 6.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-168-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi0zLTE2OC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdBdHRyaWJ1dGVzJyBpcyBhIEJvb2xlYW4gb2JqZWN0IHRoYXQgdXNlcyBPYmplY3QncyBbW0dldF1dIG1ldGhvZCB0byBhY2Nlc3MgdGhlICd3cml0YWJsZScgcHJvcGVydHkgICg4LjEwLjUgc3RlcCA2LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHsgfTsNCg0KICAgICAgICB2YXIgYm9vbE9iaiA9IG5ldyBCb29sZWFuKHRydWUpOw0KDQogICAgICAgIGJvb2xPYmoud3JpdGFibGUgPSB0cnVlOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wZXJ0eSIsIGJvb2xPYmopOw0KDQogICAgICAgIHZhciBiZWZvcmVXcml0ZSA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcGVydHkiKTsNCg0KICAgICAgICBvYmoucHJvcGVydHkgPSAiaXNXcml0YWJsZSI7DQoNCiAgICAgICAgdmFyIGFmdGVyV3JpdGUgPSAob2JqLnByb3BlcnR5ID09PSAiaXNXcml0YWJsZSIpOw0KDQogICAgICAgIHJldHVybiBiZWZvcmVXcml0ZSA9PT0gdHJ1ZSAmJiBhZnRlcldyaXRlID09PSB0cnVlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'Attributes' is a Boolean object that uses Object's [[Get]] method to access the 'writable' property (8.10.5 step 6.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-168.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi0zLTE2OS0xLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnR5IC0gJ0F0dHJpYnV0ZXMnIGlzIGEgTnVtYmVyIG9iamVjdCB0aGF0IHVzZXMgT2JqZWN0J3MgW1tHZXRdXSBtZXRob2QgdG8gYWNjZXNzIHRoZSAnd3JpdGFibGUnIHByb3BlcnR5IG9mIHByb3RvdHlwZSBvYmplY3QgKDguMTAuNSBzdGVwIDYuYikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBOdW1iZXIucHJvdG90eXBlLndyaXRhYmxlID0gdHJ1ZTsNCiAgICAgICAgICAgIHZhciBudW1PYmogPSBuZXcgTnVtYmVyKC0yKTsNCg0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3BlcnR5IiwgbnVtT2JqKTsNCg0KICAgICAgICAgICAgdmFyIGJlZm9yZVdyaXRlID0gb2JqLmhhc093blByb3BlcnR5KCJwcm9wZXJ0eSIpOw0KDQogICAgICAgICAgICBvYmoucHJvcGVydHkgPSAiaXNXcml0YWJsZSI7DQoNCiAgICAgICAgICAgIHZhciBhZnRlcldyaXRlID0gKG9iai5wcm9wZXJ0eSA9PT0gImlzV3JpdGFibGUiKTsNCg0KICAgICAgICAgICAgcmV0dXJuIGJlZm9yZVdyaXRlID09PSB0cnVlICYmIGFmdGVyV3JpdGUgPT09IHRydWU7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgTnVtYmVyLnByb3RvdHlwZS53cml0YWJsZTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'Attributes' is a Number object that uses Object's [[Get]] method to access the 'writable' property of prototype object (8.10.5 step 6.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-169-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi0zLTE2OS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdBdHRyaWJ1dGVzJyBpcyBhIE51bWJlciBvYmplY3QgdGhhdCB1c2VzIE9iamVjdCdzIFtbR2V0XV0gbWV0aG9kIHRvIGFjY2VzcyB0aGUgJ3dyaXRhYmxlJyBwcm9wZXJ0eSAgKDguMTAuNSBzdGVwIDYuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0geyB9Ow0KDQogICAgICAgIHZhciBudW1PYmogPSBuZXcgTnVtYmVyKC0yKTsNCg0KICAgICAgICBudW1PYmoud3JpdGFibGUgPSB0cnVlOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wZXJ0eSIsIG51bU9iaik7DQoNCiAgICAgICAgdmFyIGJlZm9yZVdyaXRlID0gb2JqLmhhc093blByb3BlcnR5KCJwcm9wZXJ0eSIpOw0KDQogICAgICAgIG9iai5wcm9wZXJ0eSA9ICJpc1dyaXRhYmxlIjsNCg0KICAgICAgICB2YXIgYWZ0ZXJXcml0ZSA9IChvYmoucHJvcGVydHkgPT09ICJpc1dyaXRhYmxlIik7DQoNCiAgICAgICAgcmV0dXJuIGJlZm9yZVdyaXRlID09PSB0cnVlICYmIGFmdGVyV3JpdGUgPT09IHRydWU7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - 'Attributes' is a Number object that uses Object's [[Get]] method to access the 'writable' property (8.10.5 step 6.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-169.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi0zLTE3LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnR5IC0gJ0F0dHJpYnV0ZXMnIGlzIGEgYm9vbGVhbiBwcmltaXRpdmUgKDguMTAuNSBzdGVwIDEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHt9LCAicHJvcGVydHkiLCB0cnVlKTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBUeXBlRXJyb3I7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'Attributes' is a boolean primitive (8.10.5 step 1)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-17.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi0zLTE3MC0xLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnR5IC0gJ0F0dHJpYnV0ZXMnIGlzIHRoZSBNYXRoIG9iamVjdCB0aGF0IHVzZXMgT2JqZWN0J3MgW1tHZXRdXSBtZXRob2QgdG8gYWNjZXNzIHRoZSAnd3JpdGFibGUnIHByb3BlcnR5IG9mIHByb3RvdHlwZSBvYmplY3QgKDguMTAuNSBzdGVwIDYuYikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5wcm90b3R5cGUud3JpdGFibGUgPSB0cnVlOw0KDQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcGVydHkiLCBNYXRoKTsNCg0KICAgICAgICAgICAgdmFyIGJlZm9yZVdyaXRlID0gb2JqLmhhc093blByb3BlcnR5KCJwcm9wZXJ0eSIpOw0KDQogICAgICAgICAgICBvYmoucHJvcGVydHkgPSAiaXNXcml0YWJsZSI7DQoNCiAgICAgICAgICAgIHZhciBhZnRlcldyaXRlID0gKG9iai5wcm9wZXJ0eSA9PT0gImlzV3JpdGFibGUiKTsNCg0KICAgICAgICAgICAgcmV0dXJuIGJlZm9yZVdyaXRlID09PSB0cnVlICYmIGFmdGVyV3JpdGUgPT09IHRydWU7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgT2JqZWN0LnByb3RvdHlwZS53cml0YWJsZTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'Attributes' is the Math object that uses Object's [[Get]] method to access the 'writable' property of prototype object (8.10.5 step 6.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-170-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi0zLTE3MC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdBdHRyaWJ1dGVzJyBpcyB0aGUgTWF0aCBvYmplY3QgdGhhdCB1c2VzIE9iamVjdCdzIFtbR2V0XV0gbWV0aG9kIHRvIGFjY2VzcyB0aGUgJ3dyaXRhYmxlJyBwcm9wZXJ0eSAgKDguMTAuNSBzdGVwIDYuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE1hdGgud3JpdGFibGUgPSB0cnVlOw0KDQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcGVydHkiLCBNYXRoKTsNCg0KICAgICAgICAgICAgdmFyIGJlZm9yZVdyaXRlID0gb2JqLmhhc093blByb3BlcnR5KCJwcm9wZXJ0eSIpOw0KDQogICAgICAgICAgICBvYmoucHJvcGVydHkgPSAiaXNXcml0YWJsZSI7DQoNCiAgICAgICAgICAgIHZhciBhZnRlcldyaXRlID0gKG9iai5wcm9wZXJ0eSA9PT0gImlzV3JpdGFibGUiKTsNCg0KICAgICAgICAgICAgcmV0dXJuIGJlZm9yZVdyaXRlID09PSB0cnVlICYmIGFmdGVyV3JpdGUgPT09IHRydWU7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgTWF0aC53cml0YWJsZTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'Attributes' is the Math object that uses Object's [[Get]] method to access the 'writable' property (8.10.5 step 6.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-170.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi0zLTE3MS0xLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnR5IC0gJ0F0dHJpYnV0ZXMnIGlzIGEgRGF0ZSBvYmplY3QgdGhhdCB1c2VzIE9iamVjdCdzIFtbR2V0XV0gbWV0aG9kIHRvIGFjY2VzcyB0aGUgJ3dyaXRhYmxlJyBwcm9wZXJ0eSBvZiBwcm90b3R5cGUgb2JqZWN0ICg4LjEwLjUgc3RlcCA2LmIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgRGF0ZS5wcm90b3R5cGUud3JpdGFibGUgPSB0cnVlOw0KDQogICAgICAgICAgICBkYXRlT2JqID0gbmV3IERhdGUoKTsNCg0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3BlcnR5IiwgZGF0ZU9iaik7DQoNCiAgICAgICAgICAgIHZhciBiZWZvcmVXcml0ZSA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcGVydHkiKTsNCg0KICAgICAgICAgICAgb2JqLnByb3BlcnR5ID0gImlzV3JpdGFibGUiOw0KDQogICAgICAgICAgICB2YXIgYWZ0ZXJXcml0ZSA9IChvYmoucHJvcGVydHkgPT09ICJpc1dyaXRhYmxlIik7DQoNCiAgICAgICAgICAgIHJldHVybiBiZWZvcmVXcml0ZSA9PT0gdHJ1ZSAmJiBhZnRlcldyaXRlID09PSB0cnVlOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIERhdGUucHJvdG90eXBlLndyaXRhYmxlOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - 'Attributes' is a Date object that uses Object's [[Get]] method to access the 'writable' property of prototype object (8.10.5 step 6.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-171-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi0zLTE3MS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdBdHRyaWJ1dGVzJyBpcyBhIERhdGUgb2JqZWN0IHRoYXQgdXNlcyBPYmplY3QncyBbW0dldF1dIG1ldGhvZCB0byBhY2Nlc3MgdGhlICd3cml0YWJsZScgcHJvcGVydHkgICg4LjEwLjUgc3RlcCA2LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHsgfTsNCg0KICAgICAgICB2YXIgZGF0ZU9iaiA9IG5ldyBEYXRlKCk7DQoNCiAgICAgICAgZGF0ZU9iai53cml0YWJsZSA9IHRydWU7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3BlcnR5IiwgZGF0ZU9iaik7DQoNCiAgICAgICAgdmFyIGJlZm9yZVdyaXRlID0gb2JqLmhhc093blByb3BlcnR5KCJwcm9wZXJ0eSIpOw0KDQogICAgICAgIG9iai5wcm9wZXJ0eSA9ICJpc1dyaXRhYmxlIjsNCg0KICAgICAgICB2YXIgYWZ0ZXJXcml0ZSA9IChvYmoucHJvcGVydHkgPT09ICJpc1dyaXRhYmxlIik7DQoNCiAgICAgICAgcmV0dXJuIGJlZm9yZVdyaXRlID09PSB0cnVlICYmIGFmdGVyV3JpdGUgPT09IHRydWU7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - 'Attributes' is a Date object that uses Object's [[Get]] method to access the 'writable' property (8.10.5 step 6.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-171.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi0zLTE3Mi0xLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnR5IC0gJ0F0dHJpYnV0ZXMnIGlzIGEgUmVnRXhwIG9iamVjdCB0aGF0IHVzZXMgT2JqZWN0J3MgW1tHZXRdXSBtZXRob2QgdG8gYWNjZXNzIHRoZSAnd3JpdGFibGUnIHByb3BlcnR5IG9mIHByb3RvdHlwZSBvYmplY3QgKDguMTAuNSBzdGVwIDYuYikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBSZWdFeHAucHJvdG90eXBlLndyaXRhYmxlID0gdHJ1ZTsNCg0KICAgICAgICAgICAgdmFyIHJlZ09iaiA9IG5ldyBSZWdFeHAoKTsNCg0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3BlcnR5IiwgcmVnT2JqKTsNCg0KICAgICAgICAgICAgdmFyIGJlZm9yZVdyaXRlID0gb2JqLmhhc093blByb3BlcnR5KCJwcm9wZXJ0eSIpOw0KDQogICAgICAgICAgICBvYmoucHJvcGVydHkgPSAiaXNXcml0YWJsZSI7DQoNCiAgICAgICAgICAgIHZhciBhZnRlcldyaXRlID0gKG9iai5wcm9wZXJ0eSA9PT0gImlzV3JpdGFibGUiKTsNCg0KICAgICAgICAgICAgcmV0dXJuIGJlZm9yZVdyaXRlID09PSB0cnVlICYmIGFmdGVyV3JpdGUgPT09IHRydWU7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgUmVnRXhwLnByb3RvdHlwZS53cml0YWJsZTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'Attributes' is a RegExp object that uses Object's [[Get]] method to access the 'writable' property of prototype object (8.10.5 step 6.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-172-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi0zLTE3Mi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdBdHRyaWJ1dGVzJyBpcyBhIFJlZ0V4cCBvYmplY3QgdGhhdCB1c2VzIE9iamVjdCdzIFtbR2V0XV0gbWV0aG9kIHRvIGFjY2VzcyB0aGUgJ3dyaXRhYmxlJyBwcm9wZXJ0eSAgKDguMTAuNSBzdGVwIDYuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0geyB9Ow0KDQogICAgICAgIHZhciByZWdPYmogPSBuZXcgUmVnRXhwKCk7DQoNCiAgICAgICAgcmVnT2JqLndyaXRhYmxlID0gdHJ1ZTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcGVydHkiLCByZWdPYmopOw0KDQogICAgICAgIHZhciBiZWZvcmVXcml0ZSA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcGVydHkiKTsNCg0KICAgICAgICBvYmoucHJvcGVydHkgPSAiaXNXcml0YWJsZSI7DQoNCiAgICAgICAgdmFyIGFmdGVyV3JpdGUgPSAob2JqLnByb3BlcnR5ID09PSAiaXNXcml0YWJsZSIpOw0KDQogICAgICAgIHJldHVybiBiZWZvcmVXcml0ZSA9PT0gdHJ1ZSAmJiBhZnRlcldyaXRlID09PSB0cnVlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'Attributes' is a RegExp object that uses Object's [[Get]] method to access the 'writable' property (8.10.5 step 6.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-172.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi0zLTE3My0xLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnR5IC0gJ0F0dHJpYnV0ZXMnIGlzIHRoZSBKU09OIG9iamVjdCB0aGF0IHVzZXMgT2JqZWN0J3MgW1tHZXRdXSBtZXRob2QgdG8gYWNjZXNzIHRoZSAnd3JpdGFibGUnIHByb3BlcnR5IG9mIHByb3RvdHlwZSBvYmplY3QgKDguMTAuNSBzdGVwIDYuYikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5wcm90b3R5cGUud3JpdGFibGUgPSB0cnVlOw0KDQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcGVydHkiLCBKU09OKTsNCg0KICAgICAgICAgICAgdmFyIGJlZm9yZVdyaXRlID0gb2JqLmhhc093blByb3BlcnR5KCJwcm9wZXJ0eSIpOw0KDQogICAgICAgICAgICBvYmoucHJvcGVydHkgPSAiaXNXcml0YWJsZSI7DQoNCiAgICAgICAgICAgIHZhciBhZnRlcldyaXRlID0gKG9iai5wcm9wZXJ0eSA9PT0gImlzV3JpdGFibGUiKTsNCg0KICAgICAgICAgICAgcmV0dXJuIGJlZm9yZVdyaXRlID09PSB0cnVlICYmIGFmdGVyV3JpdGUgPT09IHRydWU7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgT2JqZWN0LnByb3RvdHlwZS53cml0YWJsZTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'Attributes' is the JSON object that uses Object's [[Get]] method to access the 'writable' property of prototype object (8.10.5 step 6.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-173-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi0zLTE3My5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdBdHRyaWJ1dGVzJyBpcyB0aGUgSlNPTiBvYmplY3QgdGhhdCB1c2VzIE9iamVjdCdzIFtbR2V0XV0gbWV0aG9kIHRvIGFjY2VzcyB0aGUgJ3dyaXRhYmxlJyBwcm9wZXJ0eSAgKDguMTAuNSBzdGVwIDYuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIEpTT04ud3JpdGFibGUgPSB0cnVlOw0KDQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcGVydHkiLCBKU09OKTsNCg0KICAgICAgICAgICAgdmFyIGJlZm9yZVdyaXRlID0gb2JqLmhhc093blByb3BlcnR5KCJwcm9wZXJ0eSIpOw0KDQogICAgICAgICAgICBvYmoucHJvcGVydHkgPSAiaXNXcml0YWJsZSI7DQoNCiAgICAgICAgICAgIHZhciBhZnRlcldyaXRlID0gKG9iai5wcm9wZXJ0eSA9PT0gImlzV3JpdGFibGUiKTsNCg0KICAgICAgICAgICAgcmV0dXJuIGJlZm9yZVdyaXRlID09PSB0cnVlICYmIGFmdGVyV3JpdGUgPT09IHRydWU7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgSlNPTi53cml0YWJsZTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'Attributes' is the JSON object that uses Object's [[Get]] method to access the 'writable' property (8.10.5 step 6.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-173.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi0zLTE3NC0xLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnR5IC0gJ0F0dHJpYnV0ZXMnIGlzIGFuIEVycm9yIG9iamVjdCB0aGF0IHVzZXMgT2JqZWN0J3MgW1tHZXRdXSBtZXRob2QgdG8gYWNjZXNzIHRoZSAnd3JpdGFibGUnIHByb3BlcnR5IG9mIHByb3RvdHlwZSBvYmplY3QgKDguMTAuNSBzdGVwIDYuYikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBFcnJvci5wcm90b3R5cGUud3JpdGFibGUgPSB0cnVlOw0KDQogICAgICAgICAgICB2YXIgZXJyT2JqID0gbmV3IEVycm9yKCk7DQoNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wZXJ0eSIsIGVyck9iaik7DQoNCiAgICAgICAgICAgIHZhciBiZWZvcmVXcml0ZSA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcGVydHkiKTsNCg0KICAgICAgICAgICAgb2JqLnByb3BlcnR5ID0gImlzV3JpdGFibGUiOw0KDQogICAgICAgICAgICB2YXIgYWZ0ZXJXcml0ZSA9IChvYmoucHJvcGVydHkgPT09ICJpc1dyaXRhYmxlIik7DQoNCiAgICAgICAgICAgIHJldHVybiBiZWZvcmVXcml0ZSA9PT0gdHJ1ZSAmJiBhZnRlcldyaXRlID09PSB0cnVlOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIEVycm9yLnByb3RvdHlwZS53cml0YWJsZTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'Attributes' is an Error object that uses Object's [[Get]] method to access the 'writable' property of prototype object (8.10.5 step 6.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-174-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi0zLTE3NC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdBdHRyaWJ1dGVzJyBpcyBhbiBFcnJvciBvYmplY3QgdGhhdCB1c2VzIE9iamVjdCdzIFtbR2V0XV0gbWV0aG9kIHRvIGFjY2VzcyB0aGUgJ3dyaXRhYmxlJyBwcm9wZXJ0eSAgKDguMTAuNSBzdGVwIDYuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0geyB9Ow0KDQogICAgICAgIHZhciBlcnJPYmogPSBuZXcgRXJyb3IoKTsNCg0KICAgICAgICBlcnJPYmoud3JpdGFibGUgPSB0cnVlOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wZXJ0eSIsIGVyck9iaik7DQoNCiAgICAgICAgdmFyIGJlZm9yZVdyaXRlID0gb2JqLmhhc093blByb3BlcnR5KCJwcm9wZXJ0eSIpOw0KDQogICAgICAgIG9iai5wcm9wZXJ0eSA9ICJpc1dyaXRhYmxlIjsNCg0KICAgICAgICB2YXIgYWZ0ZXJXcml0ZSA9IChvYmoucHJvcGVydHkgPT09ICJpc1dyaXRhYmxlIik7DQoNCiAgICAgICAgcmV0dXJuIGJlZm9yZVdyaXRlID09PSB0cnVlICYmIGFmdGVyV3JpdGUgPT09IHRydWU7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - 'Attributes' is an Error object that uses Object's [[Get]] method to access the 'writable' property (8.10.5 step 6.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-174.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi0zLTE3NS0xLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnR5IC0gJ0F0dHJpYnV0ZXMnIGlzIGFuIEFyZ3VtZW50cyBvYmplY3Qgd2hpY2ggaW1wbGVtZW50cyBpdHMgb3duIFtbR2V0XV0gbWV0aG9kIHRvIGFjY2VzcyB0aGUgJ3dyaXRhYmxlJyBwcm9wZXJ0eSBvZiBwcm90b3R5cGUgb2JqZWN0ICg4LjEwLjUgc3RlcCA2LmIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LnByb3RvdHlwZS53cml0YWJsZSA9IHRydWU7DQoNCiAgICAgICAgICAgIHZhciBhcmdPYmogPSAoZnVuY3Rpb24gKCkgeyByZXR1cm4gYXJndW1lbnRzOyB9KSgpOw0KDQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcGVydHkiLCBhcmdPYmopOw0KDQogICAgICAgICAgICB2YXIgYmVmb3JlV3JpdGUgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3BlcnR5Iik7DQoNCiAgICAgICAgICAgIG9iai5wcm9wZXJ0eSA9ICJpc1dyaXRhYmxlIjsNCg0KICAgICAgICAgICAgdmFyIGFmdGVyV3JpdGUgPSAob2JqLnByb3BlcnR5ID09PSAiaXNXcml0YWJsZSIpOw0KDQogICAgICAgICAgICByZXR1cm4gYmVmb3JlV3JpdGUgPT09IHRydWUgJiYgYWZ0ZXJXcml0ZSA9PT0gdHJ1ZTsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBPYmplY3QucHJvdG90eXBlLndyaXRhYmxlOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - 'Attributes' is an Arguments object which implements its own [[Get]] method to access the 'writable' property of prototype object (8.10.5 step 6.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-175-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi0zLTE3NS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdBdHRyaWJ1dGVzJyBpcyBhbiBBcmd1bWVudHMgb2JqZWN0IHdoaWNoIGltcGxlbWVudHMgaXRzIG93biBbW0dldF1dIG1ldGhvZCB0byBhY2Nlc3MgdGhlICd3cml0YWJsZScgcHJvcGVydHkgICg4LjEwLjUgc3RlcCA2LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIHZhciBhcmdPYmogPSAoZnVuY3Rpb24gKCkgeyByZXR1cm4gYXJndW1lbnRzOyB9KSgpOw0KDQogICAgICAgIGFyZ09iai53cml0YWJsZSA9IHRydWU7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3BlcnR5IiwgYXJnT2JqKTsNCg0KICAgICAgICB2YXIgYmVmb3JlV3JpdGUgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3BlcnR5Iik7DQoNCiAgICAgICAgb2JqLnByb3BlcnR5ID0gImlzV3JpdGFibGUiOw0KDQogICAgICAgIHZhciBhZnRlcldyaXRlID0gKG9iai5wcm9wZXJ0eSA9PT0gImlzV3JpdGFibGUiKTsNCg0KICAgICAgICByZXR1cm4gYmVmb3JlV3JpdGUgPT09IHRydWUgJiYgYWZ0ZXJXcml0ZSA9PT0gdHJ1ZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'Attributes' is an Arguments object which implements its own [[Get]] method to access the 'writable' property (8.10.5 step 6.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-175.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi0zLTE3Ny5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdBdHRyaWJ1dGVzJyBpcyB0aGUgZ2xvYmFsIG9iamVjdCB0aGF0IHVzZXMgT2JqZWN0J3MgW1tHZXRdXSBtZXRob2QgdG8gYWNjZXNzIHRoZSAnd3JpdGFibGUnIHByb3BlcnR5ICAoOC4xMC41IHN0ZXAgNi5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgZm5HbG9iYWxPYmplY3QoKS53cml0YWJsZSA9IHRydWU7DQoNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wZXJ0eSIsIGZuR2xvYmFsT2JqZWN0KCkpOw0KDQogICAgICAgICAgICB2YXIgYmVmb3JlV3JpdGUgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3BlcnR5Iik7DQoNCiAgICAgICAgICAgIG9iai5wcm9wZXJ0eSA9ICJpc1dyaXRhYmxlIjsNCg0KICAgICAgICAgICAgdmFyIGFmdGVyV3JpdGUgPSAob2JqLnByb3BlcnR5ID09PSAiaXNXcml0YWJsZSIpOw0KDQogICAgICAgICAgICByZXR1cm4gYmVmb3JlV3JpdGUgPT09IHRydWUgJiYgYWZ0ZXJXcml0ZSA9PT0gdHJ1ZTsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBmbkdsb2JhbE9iamVjdCgpLndyaXRhYmxlOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - 'Attributes' is the global object that uses Object's [[Get]] method to access the 'writable' property (8.10.5 step 6.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-177.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi0zLTE3OC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICd3cml0YWJsZScgcHJvcGVydHkgaW4gJ0F0dHJpYnV0ZXMnIGlzIHVuZGVmaW5lZCAgKDguMTAuNSBzdGVwIDYuYikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3BlcnR5Iiwgew0KICAgICAgICAgICAgd3JpdGFibGU6IHVuZGVmaW5lZA0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgYmVmb3JlV3JpdGUgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3BlcnR5Iik7DQoNCiAgICAgICAgb2JqLnByb3BlcnR5ID0gImlzV3JpdGFibGUiOw0KDQogICAgICAgIHZhciBhZnRlcldyaXRlID0gKHR5cGVvZiAob2JqLnByb3BlcnR5KSA9PT0gInVuZGVmaW5lZCIpOw0KDQogICAgICAgIHJldHVybiBiZWZvcmVXcml0ZSA9PT0gdHJ1ZSAmJiBhZnRlcldyaXRlID09PSB0cnVlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'writable' property in 'Attributes' is undefined (8.10.5 step 6.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-178.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi0zLTE3OS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICd3cml0YWJsZScgcHJvcGVydHkgaW4gJ0F0dHJpYnV0ZXMnIGlzIG51bGwgICg4LjEwLjUgc3RlcCA2LmIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHsgfTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcGVydHkiLCB7IHdyaXRhYmxlOiBudWxsIH0pOw0KDQogICAgICAgIHZhciBiZWZvcmVXcml0ZSA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcGVydHkiKTsNCg0KICAgICAgICBvYmoucHJvcGVydHkgPSAiaXNXcml0YWJsZSI7DQoNCiAgICAgICAgdmFyIGFmdGVyV3JpdGUgPSAodHlwZW9mIChvYmoucHJvcGVydHkpID09PSAidW5kZWZpbmVkIik7DQoNCiAgICAgICAgcmV0dXJuIGJlZm9yZVdyaXRlID09PSB0cnVlICYmIGFmdGVyV3JpdGUgPT09IHRydWU7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - 'writable' property in 'Attributes' is null (8.10.5 step 6.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-179.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi0zLTE4LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnR5IC0gJ0F0dHJpYnV0ZXMnIGlzIGEgbnVtYmVyIHByaW1pdGl2ZSAoOC4xMC41IHN0ZXAgMSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoe30sICJwcm9wZXJ0eSIsIDEyKTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBUeXBlRXJyb3I7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'Attributes' is a number primitive (8.10.5 step 1)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-18.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi0zLTE4MC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICd3cml0YWJsZScgcHJvcGVydHkgaW4gJ0F0dHJpYnV0ZXMnIGlzIHRydWUgICg4LjEwLjUgc3RlcCA2LmIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wZXJ0eSIsIHsgd3JpdGFibGU6IHRydWUgfSk7DQoNCiAgICAgICAgdmFyIGJlZm9yZVdyaXRlID0gb2JqLmhhc093blByb3BlcnR5KCJwcm9wZXJ0eSIpOw0KDQogICAgICAgIG9iai5wcm9wZXJ0eSA9ICJpc1dyaXRhYmxlIjsNCg0KICAgICAgICB2YXIgYWZ0ZXJXcml0ZSA9IChvYmoucHJvcGVydHkgPT09ICJpc1dyaXRhYmxlIik7DQoNCiAgICAgICAgcmV0dXJuIGJlZm9yZVdyaXRlID09PSB0cnVlICYmIGFmdGVyV3JpdGUgPT09IHRydWU7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - 'writable' property in 'Attributes' is true (8.10.5 step 6.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-180.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi0zLTE4MS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICd3cml0YWJsZScgcHJvcGVydHkgaW4gJ0F0dHJpYnV0ZXMnIGlzIGZhbHNlICAoOC4xMC41IHN0ZXAgNi5iKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7IH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3BlcnR5IiwgeyB3cml0YWJsZTogZmFsc2UgfSk7DQoNCiAgICAgICAgdmFyIGJlZm9yZVdyaXRlID0gb2JqLmhhc093blByb3BlcnR5KCJwcm9wZXJ0eSIpOw0KDQogICAgICAgIG9iai5wcm9wZXJ0eSA9ICJpc1dyaXRhYmxlIjsNCg0KICAgICAgICB2YXIgYWZ0ZXJXcml0ZSA9ICh0eXBlb2YgKG9iai5wcm9wZXJ0eSkgPT09ICJ1bmRlZmluZWQiKTsNCg0KICAgICAgICByZXR1cm4gYmVmb3JlV3JpdGUgPT09IHRydWUgJiYgYWZ0ZXJXcml0ZSA9PT0gdHJ1ZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'writable' property in 'Attributes' is false (8.10.5 step 6.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-181.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi0zLTE4Mi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICd3cml0YWJsZScgcHJvcGVydHkgaW4gJ0F0dHJpYnV0ZXMnIGlzIDAgICg4LjEwLjUgc3RlcCA2LmIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHsgfTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcGVydHkiLCB7IHdyaXRhYmxlOiAwIH0pOw0KDQogICAgICAgIHZhciBiZWZvcmVXcml0ZSA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcGVydHkiKTsNCg0KICAgICAgICBvYmoucHJvcGVydHkgPSAiaXNXcml0YWJsZSI7DQoNCiAgICAgICAgdmFyIGFmdGVyV3JpdGUgPSAodHlwZW9mIChvYmoucHJvcGVydHkpID09PSAidW5kZWZpbmVkIik7DQoNCiAgICAgICAgcmV0dXJuIGJlZm9yZVdyaXRlID09PSB0cnVlICYmIGFmdGVyV3JpdGUgPT09IHRydWU7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - 'writable' property in 'Attributes' is 0 (8.10.5 step 6.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-182.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi0zLTE4My5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICd3cml0YWJsZScgcHJvcGVydHkgaW4gJ0F0dHJpYnV0ZXMnIGlzICswICAoOC4xMC41IHN0ZXAgNi5iKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcGVydHkiLCB7IHdyaXRhYmxlOiArMCB9KTsNCg0KICAgICAgICB2YXIgYmVmb3JlV3JpdGUgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3BlcnR5Iik7DQoNCiAgICAgICAgb2JqLnByb3BlcnR5ID0gImlzV3JpdGFibGUiOw0KDQogICAgICAgIHZhciBhZnRlcldyaXRlID0gKHR5cGVvZiAob2JqLnByb3BlcnR5KSA9PT0gInVuZGVmaW5lZCIpOw0KDQogICAgICAgIHJldHVybiBiZWZvcmVXcml0ZSA9PT0gdHJ1ZSAmJiBhZnRlcldyaXRlID09PSB0cnVlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'writable' property in 'Attributes' is +0 (8.10.5 step 6.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-183.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi0zLTE4NC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICd3cml0YWJsZScgcHJvcGVydHkgaW4gJ0F0dHJpYnV0ZXMnIGlzIC0wICAoOC4xMC41IHN0ZXAgNi5iKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7IH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3BlcnR5IiwgeyB3cml0YWJsZTogLTAgfSk7DQoNCiAgICAgICAgdmFyIGJlZm9yZVdyaXRlID0gb2JqLmhhc093blByb3BlcnR5KCJwcm9wZXJ0eSIpOw0KDQogICAgICAgIG9iai5wcm9wZXJ0eSA9ICJpc1dyaXRhYmxlIjsNCg0KICAgICAgICB2YXIgYWZ0ZXJXcml0ZSA9ICh0eXBlb2YgKG9iai5wcm9wZXJ0eSkgPT09ICJ1bmRlZmluZWQiKTsNCg0KICAgICAgICByZXR1cm4gYmVmb3JlV3JpdGUgPT09IHRydWUgJiYgYWZ0ZXJXcml0ZSA9PT0gdHJ1ZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'writable' property in 'Attributes' is -0 (8.10.5 step 6.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-184.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi0zLTE4NS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICd3cml0YWJsZScgcHJvcGVydHkgaW4gJ0F0dHJpYnV0ZXMnIGlzIE5hTiAgKDguMTAuNSBzdGVwIDYuYikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0geyB9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wZXJ0eSIsIHsgd3JpdGFibGU6ICBOYU59KTsNCg0KICAgICAgICB2YXIgYmVmb3JlV3JpdGUgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3BlcnR5Iik7DQoNCiAgICAgICAgb2JqLnByb3BlcnR5ID0gImlzV3JpdGFibGUiOw0KDQogICAgICAgIHZhciBhZnRlcldyaXRlID0gKHR5cGVvZiAob2JqLnByb3BlcnR5KSA9PT0gInVuZGVmaW5lZCIpOw0KDQogICAgICAgIHJldHVybiBiZWZvcmVXcml0ZSA9PT0gdHJ1ZSAmJiBhZnRlcldyaXRlID09PSB0cnVlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'writable' property in 'Attributes' is NaN (8.10.5 step 6.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-185.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi0zLTE4Ni5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICd3cml0YWJsZScgcHJvcGVydHkgaW4gJ0F0dHJpYnV0ZXMnIGlzIGEgcG9zaXRpdmUgbnVtYmVyICAoOC4xMC41IHN0ZXAgNi5iKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcGVydHkiLCB7IHdyaXRhYmxlOiAxMjM0NSB9KTsNCg0KICAgICAgICB2YXIgYmVmb3JlV3JpdGUgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3BlcnR5Iik7DQoNCiAgICAgICAgb2JqLnByb3BlcnR5ID0gImlzV3JpdGFibGUiOw0KDQogICAgICAgIHZhciBhZnRlcldyaXRlID0gKG9iai5wcm9wZXJ0eSA9PT0gImlzV3JpdGFibGUiKTsNCg0KICAgICAgICByZXR1cm4gYmVmb3JlV3JpdGUgPT09IHRydWUgJiYgYWZ0ZXJXcml0ZSA9PT0gdHJ1ZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'writable' property in 'Attributes' is a positive number (8.10.5 step 6.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-186.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi0zLTE4Ny5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICd3cml0YWJsZScgcHJvcGVydHkgaW4gJ0F0dHJpYnV0ZXMnIGlzIGEgbmVnYXRpdmUgbnVtYmVyICAoOC4xMC41IHN0ZXAgNi5iKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcGVydHkiLCB7IHdyaXRhYmxlOiAtMTIzNDUgfSk7DQoNCiAgICAgICAgdmFyIGJlZm9yZVdyaXRlID0gb2JqLmhhc093blByb3BlcnR5KCJwcm9wZXJ0eSIpOw0KDQogICAgICAgIG9iai5wcm9wZXJ0eSA9ICJpc1dyaXRhYmxlIjsNCg0KICAgICAgICB2YXIgYWZ0ZXJXcml0ZSA9IChvYmoucHJvcGVydHkgPT09ICJpc1dyaXRhYmxlIik7DQoNCiAgICAgICAgcmV0dXJuIGJlZm9yZVdyaXRlID09PSB0cnVlICYmIGFmdGVyV3JpdGUgPT09IHRydWU7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - 'writable' property in 'Attributes' is a negative number (8.10.5 step 6.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-187.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi0zLTE4OC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICd3cml0YWJsZScgcHJvcGVydHkgaW4gJ0F0dHJpYnV0ZXMnIGlzIGFuIGVtcHR5IHN0cmluZyAgKDguMTAuNSBzdGVwIDYuYikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3BlcnR5IiwgeyB3cml0YWJsZTogIiIgfSk7DQoNCiAgICAgICAgdmFyIGJlZm9yZVdyaXRlID0gb2JqLmhhc093blByb3BlcnR5KCJwcm9wZXJ0eSIpOw0KDQogICAgICAgIG9iai5wcm9wZXJ0eSA9ICJpc1dyaXRhYmxlIjsNCg0KICAgICAgICB2YXIgYWZ0ZXJXcml0ZSA9ICh0eXBlb2YgKG9iai5wcm9wZXJ0eSkgPT09ICJ1bmRlZmluZWQiKTsNCg0KICAgICAgICByZXR1cm4gYmVmb3JlV3JpdGUgPT09IHRydWUgJiYgYWZ0ZXJXcml0ZSA9PT0gdHJ1ZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'writable' property in 'Attributes' is an empty string (8.10.5 step 6.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-188.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi0zLTE4OS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICd3cml0YWJsZScgcHJvcGVydHkgaW4gJ0F0dHJpYnV0ZXMnIGlzIGEgbm9uLWVtcHR5IHN0cmluZyAgKDguMTAuNSBzdGVwIDYuYikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3BlcnR5IiwgeyB3cml0YWJsZTogIiAgICAgICIgfSk7DQoNCiAgICAgICAgdmFyIGJlZm9yZVdyaXRlID0gb2JqLmhhc093blByb3BlcnR5KCJwcm9wZXJ0eSIpOw0KDQogICAgICAgIG9iai5wcm9wZXJ0eSA9ICJpc1dyaXRhYmxlIjsNCg0KICAgICAgICB2YXIgYWZ0ZXJXcml0ZSA9IChvYmoucHJvcGVydHkgPT09ICJpc1dyaXRhYmxlIik7DQoNCiAgICAgICAgcmV0dXJuIGJlZm9yZVdyaXRlID09PSB0cnVlICYmIGFmdGVyV3JpdGUgPT09IHRydWU7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - 'writable' property in 'Attributes' is a non-empty string (8.10.5 step 6.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-189.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi0zLTE5LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnR5IC0gJ0F0dHJpYnV0ZXMnIGlzIGEgc3RyaW5nIHByaW1pdGl2ZSAoOC4xMC41IHN0ZXAgMSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoe30sICJwcm9wZXJ0eSIsICJhYmMiKTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBUeXBlRXJyb3I7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'Attributes' is a string primitive (8.10.5 step 1)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-19.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi0zLTE5MC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICd3cml0YWJsZScgcHJvcGVydHkgaW4gJ0F0dHJpYnV0ZXMnIGlzIGEgRnVuY3Rpb24gb2JqZWN0ICg4LjEwLjUgc3RlcCA2LmIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wZXJ0eSIsIHsNCiAgICAgICAgICAgIHdyaXRhYmxlOiBmdW5jdGlvbiAoKSB7IH0NCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIGJlZm9yZVdyaXRlID0gb2JqLmhhc093blByb3BlcnR5KCJwcm9wZXJ0eSIpOw0KDQogICAgICAgIG9iai5wcm9wZXJ0eSA9ICJpc1dyaXRhYmxlIjsNCg0KICAgICAgICB2YXIgYWZ0ZXJXcml0ZSA9IChvYmoucHJvcGVydHkgPT09ICJpc1dyaXRhYmxlIik7DQoNCiAgICAgICAgcmV0dXJuIGJlZm9yZVdyaXRlID09PSB0cnVlICYmIGFmdGVyV3JpdGUgPT09IHRydWU7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - 'writable' property in 'Attributes' is a Function object (8.10.5 step 6.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-190.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi0zLTE5MS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICd3cml0YWJsZScgcHJvcGVydHkgaW4gJ0F0dHJpYnV0ZXMnIGlzIGFuIEFycmF5IG9iamVjdCAoOC4xMC41IHN0ZXAgNi5iKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcGVydHkiLCB7IHdyaXRhYmxlOiBbMSwgMiwgM10gfSk7DQoNCiAgICAgICAgdmFyIGJlZm9yZVdyaXRlID0gb2JqLmhhc093blByb3BlcnR5KCJwcm9wZXJ0eSIpOw0KDQogICAgICAgIG9iai5wcm9wZXJ0eSA9ICJpc1dyaXRhYmxlIjsNCg0KICAgICAgICB2YXIgYWZ0ZXJXcml0ZSA9IChvYmoucHJvcGVydHkgPT09ICJpc1dyaXRhYmxlIik7DQoNCiAgICAgICAgcmV0dXJuIGJlZm9yZVdyaXRlID09PSB0cnVlICYmIGFmdGVyV3JpdGUgPT09IHRydWU7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - 'writable' property in 'Attributes' is an Array object (8.10.5 step 6.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-191.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi0zLTE5Mi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICd3cml0YWJsZScgcHJvcGVydHkgaW4gJ0F0dHJpYnV0ZXMnIGlzIGEgU3RyaW5nIG9iamVjdCAoOC4xMC41IHN0ZXAgNi5iKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcGVydHkiLCB7IHdyaXRhYmxlOiBuZXcgU3RyaW5nKCJiYnEiKSB9KTsNCg0KICAgICAgICB2YXIgYmVmb3JlV3JpdGUgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3BlcnR5Iik7DQoNCiAgICAgICAgb2JqLnByb3BlcnR5ID0gImlzV3JpdGFibGUiOw0KDQogICAgICAgIHZhciBhZnRlcldyaXRlID0gKG9iai5wcm9wZXJ0eSA9PT0gImlzV3JpdGFibGUiKTsNCg0KICAgICAgICByZXR1cm4gYmVmb3JlV3JpdGUgPT09IHRydWUgJiYgYWZ0ZXJXcml0ZSA9PT0gdHJ1ZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'writable' property in 'Attributes' is a String object (8.10.5 step 6.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-192.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi0zLTE5My5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICd3cml0YWJsZScgcHJvcGVydHkgaW4gJ0F0dHJpYnV0ZXMnIGlzIGEgQm9vbGVhbiBvYmplY3QgKDguMTAuNSBzdGVwIDYuYikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3BlcnR5IiwgeyB3cml0YWJsZTogbmV3IEJvb2xlYW4odHJ1ZSkgfSk7DQoNCiAgICAgICAgdmFyIGJlZm9yZVdyaXRlID0gb2JqLmhhc093blByb3BlcnR5KCJwcm9wZXJ0eSIpOw0KDQogICAgICAgIG9iai5wcm9wZXJ0eSA9ICJpc1dyaXRhYmxlIjsNCg0KICAgICAgICB2YXIgYWZ0ZXJXcml0ZSA9IChvYmoucHJvcGVydHkgPT09ICJpc1dyaXRhYmxlIik7DQoNCiAgICAgICAgcmV0dXJuIGJlZm9yZVdyaXRlID09PSB0cnVlICYmIGFmdGVyV3JpdGUgPT09IHRydWU7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - 'writable' property in 'Attributes' is a Boolean object (8.10.5 step 6.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-193.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi0zLTE5NC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICd3cml0YWJsZScgcHJvcGVydHkgaW4gJ0F0dHJpYnV0ZXMnIGlzIGEgTnVtYmVyIG9iamVjdCAoOC4xMC41IHN0ZXAgNi5iKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcGVydHkiLCB7IHdyaXRhYmxlOiBuZXcgTnVtYmVyKDEyMykgfSk7DQoNCiAgICAgICAgdmFyIGJlZm9yZVdyaXRlID0gb2JqLmhhc093blByb3BlcnR5KCJwcm9wZXJ0eSIpOw0KDQogICAgICAgIG9iai5wcm9wZXJ0eSA9ICJpc1dyaXRhYmxlIjsNCg0KICAgICAgICB2YXIgYWZ0ZXJXcml0ZSA9IChvYmoucHJvcGVydHkgPT09ICJpc1dyaXRhYmxlIik7DQoNCiAgICAgICAgcmV0dXJuIGJlZm9yZVdyaXRlID09PSB0cnVlICYmIGFmdGVyV3JpdGUgPT09IHRydWU7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - 'writable' property in 'Attributes' is a Number object (8.10.5 step 6.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-194.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi0zLTE5NS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICd3cml0YWJsZScgcHJvcGVydHkgaW4gJ0F0dHJpYnV0ZXMnIGlzIHRoZSBNYXRoIG9iamVjdCAoOC4xMC41IHN0ZXAgNi5iKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcGVydHkiLCB7IHdyaXRhYmxlOiBNYXRoIH0pOw0KDQogICAgICAgIHZhciBiZWZvcmVXcml0ZSA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcGVydHkiKTsNCg0KICAgICAgICBvYmoucHJvcGVydHkgPSAiaXNXcml0YWJsZSI7DQoNCiAgICAgICAgdmFyIGFmdGVyV3JpdGUgPSAob2JqLnByb3BlcnR5ID09PSAiaXNXcml0YWJsZSIpOw0KDQogICAgICAgIHJldHVybiBiZWZvcmVXcml0ZSA9PT0gdHJ1ZSAmJiBhZnRlcldyaXRlID09PSB0cnVlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'writable' property in 'Attributes' is the Math object (8.10.5 step 6.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-195.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi0zLTE5Ni5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICd3cml0YWJsZScgcHJvcGVydHkgaW4gJ0F0dHJpYnV0ZXMnIGlzIGEgRGF0ZSBvYmplY3QgKDguMTAuNSBzdGVwIDYuYikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3BlcnR5IiwgeyB3cml0YWJsZTogbmV3IERhdGUoKSB9KTsNCg0KICAgICAgICB2YXIgYmVmb3JlV3JpdGUgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3BlcnR5Iik7DQoNCiAgICAgICAgb2JqLnByb3BlcnR5ID0gImlzV3JpdGFibGUiOw0KDQogICAgICAgIHZhciBhZnRlcldyaXRlID0gKG9iai5wcm9wZXJ0eSA9PT0gImlzV3JpdGFibGUiKTsNCg0KICAgICAgICByZXR1cm4gYmVmb3JlV3JpdGUgPT09IHRydWUgJiYgYWZ0ZXJXcml0ZSA9PT0gdHJ1ZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'writable' property in 'Attributes' is a Date object (8.10.5 step 6.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-196.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi0zLTE5Ny5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICd3cml0YWJsZScgcHJvcGVydHkgaW4gJ0F0dHJpYnV0ZXMnIGlzIGEgUmVnRXhwIG9iamVjdCAoOC4xMC41IHN0ZXAgNi5iKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcGVydHkiLCB7DQogICAgICAgICAgICB3cml0YWJsZTogbmV3IFJlZ0V4cCgpDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBiZWZvcmVXcml0ZSA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcGVydHkiKSAmJiB0eXBlb2Ygb2JqLnByb3BlcnR5ID09PSAidW5kZWZpbmVkIjsNCg0KICAgICAgICBvYmoucHJvcGVydHkgPSAiaXNXcml0YWJsZSI7DQoNCiAgICAgICAgdmFyIGFmdGVyV3JpdGUgPSAob2JqLnByb3BlcnR5ID09PSAiaXNXcml0YWJsZSIpOw0KDQogICAgICAgIHJldHVybiBiZWZvcmVXcml0ZSAmJiBhZnRlcldyaXRlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'writable' property in 'Attributes' is a RegExp object (8.10.5 step 6.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-197.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi0zLTE5OC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICd3cml0YWJsZScgcHJvcGVydHkgaW4gJ0F0dHJpYnV0ZXMnIGlzIHRoZSBKU09OIG9iamVjdCAoOC4xMC41IHN0ZXAgNi5iKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcGVydHkiLCB7IHdyaXRhYmxlOiBKU09OIH0pOw0KDQogICAgICAgIHZhciBiZWZvcmVXcml0ZSA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcGVydHkiKTsNCg0KICAgICAgICBvYmoucHJvcGVydHkgPSAiaXNXcml0YWJsZSI7DQoNCiAgICAgICAgdmFyIGFmdGVyV3JpdGUgPSAob2JqLnByb3BlcnR5ID09PSAiaXNXcml0YWJsZSIpOw0KDQogICAgICAgIHJldHVybiBiZWZvcmVXcml0ZSA9PT0gdHJ1ZSAmJiBhZnRlcldyaXRlID09PSB0cnVlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'writable' property in 'Attributes' is the JSON object (8.10.5 step 6.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-198.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi0zLTE5OS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICd3cml0YWJsZScgcHJvcGVydHkgaW4gJ0F0dHJpYnV0ZXMnIGlzIGEgRXJyb3Igb2JqZWN0ICg4LjEwLjUgc3RlcCA2LmIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wZXJ0eSIsIHsgd3JpdGFibGU6IG5ldyBTeW50YXhFcnJvcigpIH0pOw0KDQogICAgICAgIHZhciBiZWZvcmVXcml0ZSA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcGVydHkiKTsNCg0KICAgICAgICBvYmoucHJvcGVydHkgPSAiaXNXcml0YWJsZSI7DQoNCiAgICAgICAgdmFyIGFmdGVyV3JpdGUgPSAob2JqLnByb3BlcnR5ID09PSAiaXNXcml0YWJsZSIpOw0KDQogICAgICAgIHJldHVybiBiZWZvcmVXcml0ZSA9PT0gdHJ1ZSAmJiBhZnRlcldyaXRlID09PSB0cnVlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'writable' property in 'Attributes' is a Error object (8.10.5 step 6.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-199.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogVGhlIGFidHJhY3Qgb3BlcmF0aW9uIFRvUHJvcGVydHlEZXNjcmlwdG9yICBpcyB1c2VkIHRvIHBhY2thZ2UgdGhlDQogKiBpbnRvIGEgcHJvcGVydHkgZGVzYy4gU3RlcCAxMCBvZiBUb1Byb3BlcnR5RGVzY3JpcHRvciB0aHJvd3MgYSBUeXBlRXJyb3INCiAqIGlmIHRoZSBwcm9wZXJ0eSBkZXNjIGVuZHMgdXAgaGF2aW5nIGEgbWl4IG9mIGFjY2Vzc29yIGFuZCBkYXRhIHByb3BlcnR5IGVsZW1lbnRzLg0KICoNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0yLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnR5IHRocm93cyBUeXBlRXJyb3IgaWYgZGVzYyBoYXMgJ2dldCcgYW5kICd3cml0YWJsZScgcHJlc2VudCg4LjEwLjUgc3RlcCA5LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICB2YXIgbyA9IHt9Ow0KICAgIA0KICAgIC8vIGR1bW15IGdldHRlcg0KICAgIHZhciBnZXR0ZXIgPSBmdW5jdGlvbiAoKSB7IHJldHVybiAxOyB9DQogICAgdmFyIGRlc2MgPSB7IGdldDogZ2V0dGVyLCB3cml0YWJsZTogZmFsc2UgfTsNCiAgICANCiAgICB0cnkgew0KICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG8sICJmb28iLCBkZXNjKTsNCiAgICB9DQogICAgY2F0Y2ggKGUpIHsNCiAgICAgIGlmIChlIGluc3RhbmNlb2YgVHlwZUVycm9yICYmDQogICAgICAgICAgKG8uaGFzT3duUHJvcGVydHkoImZvbyIpID09PSBmYWxzZSkpIHsNCiAgICAgICAgcmV0dXJuIHRydWU7DQogICAgICB9DQogICAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"The abtract operation ToPropertyDescriptor is used to package the\ninto a property desc. Step 10 of ToPropertyDescriptor throws a TypeError\nif the property desc ends up having a mix of accessor and data property elements.","description":"Object.defineProperty throws TypeError if desc has 'get' and 'writable' present(8.10.5 step 9.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi0zLTIwLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnR5IC0gJ2VudW1lcmFibGUnIHByb3BlcnR5IGluICdBdHRyaWJ1dGVzJyBpcyBwcmVzZW50ICg4LjEwLjUgc3RlcCAzKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcGVydHkiLCB7DQogICAgICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBmb3IgKHZhciBwcm9wIGluIG9iaikgew0KICAgICAgICAgICAgaWYgKHByb3AgPT09ICJwcm9wZXJ0eSIpIHsNCiAgICAgICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCiAgICAgICAgcmV0dXJuICFhY2Nlc3NlZCAmJiBvYmouaGFzT3duUHJvcGVydHkoInByb3BlcnR5Iik7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - 'enumerable' property in 'Attributes' is present (8.10.5 step 3)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-20.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi0zLTIwMC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICd3cml0YWJsZScgcHJvcGVydHkgaW4gJ0F0dHJpYnV0ZXMnIGlzIHRoZSBBcmd1bWVudCBvYmplY3QgKDguMTAuNSBzdGVwIDYuYikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgdmFyIGFyZ09iaiA9IChmdW5jdGlvbiAoKSB7IHJldHVybiBhcmd1bWVudHM7IH0pKDEsIHRydWUsICJhIik7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3BlcnR5IiwgeyB3cml0YWJsZTogYXJnT2JqIH0pOw0KDQogICAgICAgIHZhciBiZWZvcmVXcml0ZSA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcGVydHkiKTsNCg0KICAgICAgICBvYmoucHJvcGVydHkgPSAiaXNXcml0YWJsZSI7DQoNCiAgICAgICAgdmFyIGFmdGVyV3JpdGUgPSAob2JqLnByb3BlcnR5ID09PSAiaXNXcml0YWJsZSIpOw0KDQogICAgICAgIHJldHVybiBiZWZvcmVXcml0ZSA9PT0gdHJ1ZSAmJiBhZnRlcldyaXRlID09PSB0cnVlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'writable' property in 'Attributes' is the Argument object (8.10.5 step 6.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-200.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi0zLTIwMi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICd3cml0YWJsZScgcHJvcGVydHkgaW4gJ0F0dHJpYnV0ZXMnIGlzIHRoZSBnbG9iYWwgb2JqZWN0ICg4LjEwLjUgc3RlcCA2LmIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wZXJ0eSIsIHsNCiAgICAgICAgICAgIHdyaXRhYmxlOiBmbkdsb2JhbE9iamVjdCgpDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBiZWZvcmVXcml0ZSA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcGVydHkiKTsNCg0KICAgICAgICBvYmoucHJvcGVydHkgPSAiaXNXcml0YWJsZSI7DQoNCiAgICAgICAgdmFyIGFmdGVyV3JpdGUgPSAob2JqLnByb3BlcnR5ID09PSAiaXNXcml0YWJsZSIpOw0KDQogICAgICAgIHJldHVybiBiZWZvcmVXcml0ZSA9PT0gdHJ1ZSAmJiBhZnRlcldyaXRlID09PSB0cnVlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'writable' property in 'Attributes' is the global object (8.10.5 step 6.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-202.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi0zLTIwMy5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICd3cml0YWJsZScgcHJvcGVydHkgaW4gJ0F0dHJpYnV0ZXMnIGlzIHRyZWF0ZWQgYXMgdHJ1ZSB3aGVuIGl0IGlzIGEgc3RyaW5nKHZhbHVlIGlzICdmYWxzZScpICg4LjEwLjUgc3RlcCA2LmIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wZXJ0eSIsIHsgd3JpdGFibGU6ICJmYWxzZSIgfSk7DQoNCiAgICAgICAgdmFyIGJlZm9yZVdyaXRlID0gb2JqLmhhc093blByb3BlcnR5KCJwcm9wZXJ0eSIpOw0KDQogICAgICAgIG9iai5wcm9wZXJ0eSA9ICJpc1dyaXRhYmxlIjsNCg0KICAgICAgICB2YXIgYWZ0ZXJXcml0ZSA9IChvYmoucHJvcGVydHkgPT09ICJpc1dyaXRhYmxlIik7DQoNCiAgICAgICAgcmV0dXJuIGJlZm9yZVdyaXRlID09PSB0cnVlICYmIGFmdGVyV3JpdGUgPT09IHRydWU7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - 'writable' property in 'Attributes' is treated as true when it is a string(value is 'false') (8.10.5 step 6.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-203.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi0zLTIwNC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICd3cml0YWJsZScgcHJvcGVydHkgaW4gJ0F0dHJpYnV0ZXMnIGlzIHRyZWF0ZWQgYXMgdHJ1ZSB3aGVuIGl0IGlzIG5ldyBCb29sZWFuKGZhbHNlKSAoOC4xMC41IHN0ZXAgNi5iKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcGVydHkiLCB7IHdyaXRhYmxlOiBuZXcgQm9vbGVhbihmYWxzZSkgfSk7DQoNCiAgICAgICAgdmFyIGJlZm9yZVdyaXRlID0gb2JqLmhhc093blByb3BlcnR5KCJwcm9wZXJ0eSIpOw0KDQogICAgICAgIG9iai5wcm9wZXJ0eSA9ICJpc1dyaXRhYmxlIjsNCg0KICAgICAgICB2YXIgYWZ0ZXJXcml0ZSA9IChvYmoucHJvcGVydHkgPT09ICJpc1dyaXRhYmxlIik7DQoNCiAgICAgICAgcmV0dXJuIGJlZm9yZVdyaXRlID09PSB0cnVlICYmIGFmdGVyV3JpdGUgPT09IHRydWU7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - 'writable' property in 'Attributes' is treated as true when it is new Boolean(false) (8.10.5 step 6.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-204.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi0zLTIwNS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdnZXQnIHByb3BlcnR5IGluICdBdHRyaWJ1dGVzJyBpcyBwcmVzZW50ICg4LjEwLjUgc3RlcCA3KQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcGVydHkiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gInByZXNlbnQiOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCg0KICAgICAgICByZXR1cm4gb2JqLnByb3BlcnR5ID09PSAicHJlc2VudCI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - 'get' property in 'Attributes' is present (8.10.5 step 7)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-205.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi0zLTIwNi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdnZXQnIHByb3BlcnR5IGluICdBdHRyaWJ1dGVzJyBpcyBub3QgcHJlc2VudCAoOC4xMC41IHN0ZXAgNykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3BlcnR5Iiwgew0KICAgICAgICAgICAgc2V0OiBmdW5jdGlvbiAoKSB7fQ0KICAgICAgICB9KTsNCg0KICAgICAgICByZXR1cm4gdHlwZW9mIG9iai5wcm9wZXJ0eSA9PT0gInVuZGVmaW5lZCIgJiYgb2JqLmhhc093blByb3BlcnR5KCJwcm9wZXJ0eSIpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'get' property in 'Attributes' is not present (8.10.5 step 7)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-206.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi0zLTIwNy5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdnZXQnIHByb3BlcnR5IGluICdBdHRyaWJ1dGVzJyBpcyBvd24gZGF0YSBwcm9wZXJ0eSAoOC4xMC41IHN0ZXAgNy5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgdmFyIGF0dHJpYnV0ZXMgPSB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gIm93bkRhdGFQcm9wZXJ0eSI7DQogICAgICAgICAgICB9DQogICAgICAgIH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3BlcnR5IiwgYXR0cmlidXRlcyk7DQoNCiAgICAgICAgcmV0dXJuIG9iai5wcm9wZXJ0eSA9PT0gIm93bkRhdGFQcm9wZXJ0eSI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - 'get' property in 'Attributes' is own data property (8.10.5 step 7.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-207.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi0zLTIwOC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdnZXQnIHByb3BlcnR5IGluICdBdHRyaWJ1dGVzJyBpcyBhbiBpbmhlcml0ZWQgZGF0YSBwcm9wZXJ0eSAoOC4xMC41IHN0ZXAgNy5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgdmFyIHByb3RvID0gew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuICJpbmhlcml0ZWREYXRhUHJvcGVydHkiOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9Ow0KDQogICAgICAgIHZhciBDb25zdHJ1Y3RGdW4gPSBmdW5jdGlvbiAoKSB7IH07DQogICAgICAgIENvbnN0cnVjdEZ1bi5wcm90b3R5cGUgPSBwcm90bzsNCg0KICAgICAgICB2YXIgY2hpbGQgPSBuZXcgQ29uc3RydWN0RnVuKCk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3BlcnR5IiwgY2hpbGQpOw0KDQogICAgICAgIHJldHVybiBvYmoucHJvcGVydHkgPT09ICJpbmhlcml0ZWREYXRhUHJvcGVydHkiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'get' property in 'Attributes' is an inherited data property (8.10.5 step 7.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-208.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi0zLTIwOS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdnZXQnIHByb3BlcnR5IGluICdBdHRyaWJ1dGVzJyBpcyBvd24gZGF0YSBwcm9wZXJ0eSB0aGF0IG92ZXJyaWRlcyBhbiBpbmhlcml0ZWQgZGF0YSBwcm9wZXJ0eSAoOC4xMC41IHN0ZXAgNy5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgdmFyIHByb3RvID0gew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuICJpbmhlcml0ZWREYXRhUHJvcGVydHkiOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9Ow0KDQogICAgICAgIHZhciBDb25zdHJ1Y3RGdW4gPSBmdW5jdGlvbiAoKSB7IH07DQogICAgICAgIENvbnN0cnVjdEZ1bi5wcm90b3R5cGUgPSBwcm90bzsNCg0KICAgICAgICB2YXIgY2hpbGQgPSBuZXcgQ29uc3RydWN0RnVuKCk7DQogICAgICAgIGNoaWxkLmdldCA9IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgIHJldHVybiAib3duRGF0YVByb3BlcnR5IjsNCiAgICAgICAgfTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcGVydHkiLCBjaGlsZCk7DQoNCiAgICAgICAgcmV0dXJuIG9iai5wcm9wZXJ0eSA9PT0gIm93bkRhdGFQcm9wZXJ0eSI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - 'get' property in 'Attributes' is own data property that overrides an inherited data property (8.10.5 step 7.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-209.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi0zLTIxLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnR5IC0gJ2VudW1lcmFibGUnIHByb3BlcnR5IGluICdBdHRyaWJ1dGVzJyBpcyBub3QgcHJlc2VudCAoOC4xMC41IHN0ZXAgMykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICB2YXIgYXR0ciA9IHt9Ow0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3BlcnR5IiwgYXR0cik7DQoNCiAgICAgICAgZm9yICh2YXIgcHJvcCBpbiBvYmopIHsNCiAgICAgICAgICAgIGlmIChwcm9wID09PSAicHJvcGVydHkiKSB7DQogICAgICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQogICAgICAgIHJldHVybiAhYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - 'enumerable' property in 'Attributes' is not present (8.10.5 step 3)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-21.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi0zLTIxMC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdnZXQnIHByb3BlcnR5IGluICdBdHRyaWJ1dGVzJyBpcyBvd24gZGF0YSBwcm9wZXJ0eSB0aGF0IG92ZXJyaWRlcyBhbiBpbmhlcml0ZWQgYWNjZXNzb3IgcHJvcGVydHkgKDguMTAuNSBzdGVwIDcuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIHZhciBwcm90byA9IHt9Ow0KICAgICAgICB2YXIgZnVuID0gZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgcmV0dXJuICJpbmhlcml0ZWRBY2Nlc3NvclByb3BlcnR5IjsNCiAgICAgICAgfTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHByb3RvLCAiZ2V0Iiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIGZ1bjsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIENvbnN0cnVjdEZ1biA9IGZ1bmN0aW9uICgpIHsgfTsNCiAgICAgICAgQ29uc3RydWN0RnVuLnByb3RvdHlwZSA9IHByb3RvOw0KDQogICAgICAgIHZhciBjaGlsZCA9IG5ldyBDb25zdHJ1Y3RGdW4oKTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGNoaWxkLCAiZ2V0Iiwgew0KICAgICAgICAgICAgdmFsdWU6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gIm93bkRhdGFQcm9wZXJ0eSI7DQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wZXJ0eSIsIGNoaWxkKTsNCg0KICAgICAgICByZXR1cm4gb2JqLnByb3BlcnR5ID09PSAib3duRGF0YVByb3BlcnR5IjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'get' property in 'Attributes' is own data property that overrides an inherited accessor property (8.10.5 step 7.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-210.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi0zLTIxMS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdnZXQnIHByb3BlcnR5IGluICdBdHRyaWJ1dGVzJyBpcyBvd24gYWNjZXNzb3IgcHJvcGVydHkgKDguMTAuNSBzdGVwIDcuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgdmFyIGF0dHJpYnV0ZXMgPSB7fTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGF0dHJpYnV0ZXMsICJnZXQiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gIm93bkFjY2Vzc29yUHJvcGVydHkiOw0KICAgICAgICAgICAgICAgIH07DQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wZXJ0eSIsIGF0dHJpYnV0ZXMpOw0KDQogICAgICAgIHJldHVybiBvYmoucHJvcGVydHkgPT09ICJvd25BY2Nlc3NvclByb3BlcnR5IjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'get' property in 'Attributes' is own accessor property (8.10.5 step 7.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-211.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi0zLTIxMi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdnZXQnIHByb3BlcnR5IGluICdBdHRyaWJ1dGVzJyBpcyBhbiBpbmhlcml0ZWQgYWNjZXNzb3IgcHJvcGVydHkgKDguMTAuNSBzdGVwIDcuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIHZhciBwcm90byA9IHt9Ow0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkocHJvdG8sICJnZXQiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gImluaGVyaXRlZEFjY2Vzc29yUHJvcGVydHkiOw0KICAgICAgICAgICAgICAgIH07DQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBDb25zdHJ1Y3RGdW4gPSBmdW5jdGlvbiAoKSB7IH07DQogICAgICAgIENvbnN0cnVjdEZ1bi5wcm90b3R5cGUgPSBwcm90bzsNCg0KICAgICAgICB2YXIgY2hpbGQgPSBuZXcgQ29uc3RydWN0RnVuKCk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3BlcnR5IiwgY2hpbGQpOw0KDQogICAgICAgIHJldHVybiBvYmoucHJvcGVydHkgPT09ICJpbmhlcml0ZWRBY2Nlc3NvclByb3BlcnR5IjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'get' property in 'Attributes' is an inherited accessor property (8.10.5 step 7.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-212.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi0zLTIxMy5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdnZXQnIHByb3BlcnR5IGluICdBdHRyaWJ1dGVzJyBpcyBvd24gYWNjZXNzb3IgcHJvcGVydHkgdGhhdCBvdmVycmlkZXMgYW4gaW5oZXJpdGVkIGRhdGEgcHJvcGVydHkgKDguMTAuNSBzdGVwIDcuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIHZhciBwcm90byA9IHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiAiaW5oZXJpdGVkRGF0YVByb3BlcnR5IjsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfTsNCg0KICAgICAgICB2YXIgQ29uc3RydWN0RnVuID0gZnVuY3Rpb24gKCkgeyB9Ow0KICAgICAgICBDb25zdHJ1Y3RGdW4ucHJvdG90eXBlID0gcHJvdG87DQoNCiAgICAgICAgdmFyIGNoaWxkID0gbmV3IENvbnN0cnVjdEZ1bigpOw0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoY2hpbGQsICJnZXQiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gIm93bkFjY2Vzc29yUHJvcGVydHkiOw0KICAgICAgICAgICAgICAgIH07DQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wZXJ0eSIsIGNoaWxkKTsNCg0KICAgICAgICByZXR1cm4gb2JqLnByb3BlcnR5ID09PSAib3duQWNjZXNzb3JQcm9wZXJ0eSI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - 'get' property in 'Attributes' is own accessor property that overrides an inherited data property (8.10.5 step 7.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-213.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi0zLTIxNC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdnZXQnIHByb3BlcnR5IGluICdBdHRyaWJ1dGVzJyBpcyBvd24gYWNjZXNzb3IgcHJvcGVydHkgdGhhdCBvdmVycmlkZXMgYW4gaW5oZXJpdGVkIGFjY2Vzc29yIHByb3BlcnR5ICg4LjEwLjUgc3RlcCA3LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICB2YXIgcHJvdG8gPSB7fTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHByb3RvLCAiZ2V0Iiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuICJpbmhlcml0ZWRBY2Nlc3NvclByb3BlcnR5IjsNCiAgICAgICAgICAgICAgICB9Ow0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgQ29uc3RydWN0RnVuID0gZnVuY3Rpb24gKCkgeyB9Ow0KICAgICAgICBDb25zdHJ1Y3RGdW4ucHJvdG90eXBlID0gcHJvdG87DQoNCiAgICAgICAgdmFyIGNoaWxkID0gbmV3IENvbnN0cnVjdEZ1bigpOw0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoY2hpbGQsICJnZXQiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gIm93bkFjY2Vzc29yUHJvcGVydHkiOw0KICAgICAgICAgICAgICAgIH07DQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wZXJ0eSIsIGNoaWxkKTsNCg0KICAgICAgICByZXR1cm4gb2JqLnByb3BlcnR5ID09PSAib3duQWNjZXNzb3JQcm9wZXJ0eSI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - 'get' property in 'Attributes' is own accessor property that overrides an inherited accessor property (8.10.5 step 7.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-214.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi0zLTIxNS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdnZXQnIHByb3BlcnR5IGluICdBdHRyaWJ1dGVzJyBpcyBvd24gYWNjZXNzb3IgcHJvcGVydHkgd2l0aG91dCBhIGdldCBmdW5jdGlvbiAoOC4xMC41IHN0ZXAgNy5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICB2YXIgYXR0cmlidXRlcyA9IHt9Ow0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXR0cmlidXRlcywgImdldCIsIHsNCiAgICAgICAgICAgIHNldDogZnVuY3Rpb24gKCkgeyB9DQogICAgICAgIH0pOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wZXJ0eSIsIGF0dHJpYnV0ZXMpOw0KDQogICAgICAgIHJldHVybiB0eXBlb2Ygb2JqLnByb3BlcnR5ID09PSAidW5kZWZpbmVkIiAmJiBvYmouaGFzT3duUHJvcGVydHkoInByb3BlcnR5Iik7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - 'get' property in 'Attributes' is own accessor property without a get function (8.10.5 step 7.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-215.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi0zLTIxNi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdnZXQnIHByb3BlcnR5IGluICdBdHRyaWJ1dGVzJyBpcyBvd24gYWNjZXNzb3IgcHJvcGVydHkod2l0aG91dCBhIGdldCBmdW5jdGlvbikgdGhhdCBvdmVycmlkZXMgYW4gaW5oZXJpdGVkIGFjY2Vzc29yIHByb3BlcnR5ICg4LjEwLjUgc3RlcCA3LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICB2YXIgcHJvdG8gPSB7fTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHByb3RvLCAiZ2V0Iiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuICJpbmhlcml0ZWRBY2Nlc3NvclByb3BlcnR5IjsNCiAgICAgICAgICAgICAgICB9Ow0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgQ29uc3RydWN0RnVuID0gZnVuY3Rpb24gKCkgeyB9Ow0KICAgICAgICBDb25zdHJ1Y3RGdW4ucHJvdG90eXBlID0gcHJvdG87DQoNCiAgICAgICAgdmFyIGNoaWxkID0gbmV3IENvbnN0cnVjdEZ1bigpOw0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoY2hpbGQsICJnZXQiLCB7DQogICAgICAgICAgICBzZXQ6IGZ1bmN0aW9uICgpIHsgfQ0KICAgICAgICB9KTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcGVydHkiLCBjaGlsZCk7DQoNCiAgICAgICAgcmV0dXJuIG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcGVydHkiKSAmJiB0eXBlb2Ygb2JqLnByb3BlcnR5ID09PSAidW5kZWZpbmVkIjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'get' property in 'Attributes' is own accessor property(without a get function) that overrides an inherited accessor property (8.10.5 step 7.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-216.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi0zLTIxNy5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdnZXQnIHByb3BlcnR5IGluICdBdHRyaWJ1dGVzJyBpcyBhbiBpbmhlcml0ZWQgYWNjZXNzb3IgcHJvcGVydHkgd2l0aG91dCBhIGdldCBmdW5jdGlvbiAoOC4xMC41IHN0ZXAgNy5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgdmFyIHByb3RvID0ge307DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShwcm90bywgImdldCIsIHsNCiAgICAgICAgICAgIHNldDogZnVuY3Rpb24gKCkgeyB9DQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBDb25zdHJ1Y3RGdW4gPSBmdW5jdGlvbiAoKSB7IH07DQogICAgICAgIENvbnN0cnVjdEZ1bi5wcm90b3R5cGUgPSBwcm90bzsNCg0KICAgICAgICB2YXIgY2hpbGQgPSBuZXcgQ29uc3RydWN0RnVuKCk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3BlcnR5IiwgY2hpbGQpOw0KDQogICAgICAgIHJldHVybiBvYmouaGFzT3duUHJvcGVydHkoInByb3BlcnR5IikgJiYgdHlwZW9mIG9iai5wcm9wZXJ0eSA9PT0gInVuZGVmaW5lZCI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - 'get' property in 'Attributes' is an inherited accessor property without a get function (8.10.5 step 7.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-217.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi0zLTIxOC0xLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnR5IC0gJ0F0dHJpYnV0ZXMnIGlzIGEgRnVuY3Rpb24gb2JqZWN0IHdoaWNoIGltcGxlbWVudHMgaXRzIG93biBbW0dldF1dIG1ldGhvZCB0byBhY2Nlc3MgdGhlICdnZXQnIHByb3BlcnR5IG9mIHByb3RvdHlwZSBvYmplY3QgKDguMTAuNSBzdGVwIDcuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBGdW5jdGlvbi5wcm90b3R5cGUuZ2V0ID0gZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiAiZnVuY3Rpb25HZXRQcm9wZXJ0eSI7DQogICAgICAgICAgICB9Ow0KICAgICAgICAgICAgdmFyIGZ1bk9iaiA9IGZ1bmN0aW9uICgpIHsgfTsNCg0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3BlcnR5IiwgZnVuT2JqKTsNCg0KICAgICAgICAgICAgcmV0dXJuIG9iai5wcm9wZXJ0eSA9PT0gImZ1bmN0aW9uR2V0UHJvcGVydHkiOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIEZ1bmN0aW9uLnByb3RvdHlwZS5nZXQ7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'Attributes' is a Function object which implements its own [[Get]] method to access the 'get' property of prototype object (8.10.5 step 7.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-218-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi0zLTIxOC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdBdHRyaWJ1dGVzJyBpcyBhIEZ1bmN0aW9uIG9iamVjdCB3aGljaCBpbXBsZW1lbnRzIGl0cyBvd24gW1tHZXRdXSBtZXRob2QgdG8gYWNjZXNzIHRoZSAnZ2V0JyBwcm9wZXJ0eSAoOC4xMC41IHN0ZXAgNy5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICB2YXIgZnVuT2JqID0gZnVuY3Rpb24gKCkgeyB9Ow0KDQogICAgICAgIGZ1bk9iai5nZXQgPSBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICByZXR1cm4gImZ1bmN0aW9uR2V0UHJvcGVydHkiOw0KICAgICAgICB9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wZXJ0eSIsIGZ1bk9iaik7DQoNCiAgICAgICAgcmV0dXJuIG9iai5wcm9wZXJ0eSA9PT0gImZ1bmN0aW9uR2V0UHJvcGVydHkiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'Attributes' is a Function object which implements its own [[Get]] method to access the 'get' property (8.10.5 step 7.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-218.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi0zLTIxOS0xLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnR5IC0gJ0F0dHJpYnV0ZXMnIGlzIGFuIEFycmF5IG9iamVjdCB0aGF0IHVzZXMgT2JqZWN0J3MgW1tHZXRdXSBtZXRob2QgdG8gYWNjZXNzIHRoZSAnZ2V0JyBwcm9wZXJ0eSBvZiBwcm90b3R5cGUgb2JqZWN0ICg4LjEwLjUgc3RlcCA3LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlLmdldCA9IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gImFycmF5R2V0UHJvcGVydHkiOw0KICAgICAgICAgICAgfTsNCiAgICAgICAgICAgIHZhciBhcnJPYmogPSBbXTsNCg0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3BlcnR5IiwgYXJyT2JqKTsNCg0KICAgICAgICAgICAgcmV0dXJuIG9iai5wcm9wZXJ0eSA9PT0gImFycmF5R2V0UHJvcGVydHkiOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIEFycmF5LnByb3RvdHlwZS5nZXQ7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'Attributes' is an Array object that uses Object's [[Get]] method to access the 'get' property of prototype object (8.10.5 step 7.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-219-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi0zLTIxOS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdBdHRyaWJ1dGVzJyBpcyBhbiBBcnJheSBvYmplY3QgdGhhdCB1c2VzIE9iamVjdCdzIFtbR2V0XV0gbWV0aG9kIHRvIGFjY2VzcyB0aGUgJ2dldCcgcHJvcGVydHkgKDguMTAuNSBzdGVwIDcuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgdmFyIGFyck9iaiA9IFtdOw0KDQogICAgICAgIGFyck9iai5nZXQgPSBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICByZXR1cm4gImFycmF5R2V0UHJvcGVydHkiOw0KICAgICAgICB9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wZXJ0eSIsIGFyck9iaik7DQoNCiAgICAgICAgcmV0dXJuIG9iai5wcm9wZXJ0eSA9PT0gImFycmF5R2V0UHJvcGVydHkiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'Attributes' is an Array object that uses Object's [[Get]] method to access the 'get' property (8.10.5 step 7.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-219.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi0zLTIyLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnR5IC0gJ2VudW1lcmFibGUnIHByb3BlcnR5IGluICdBdHRyaWJ1dGVzJyBpcyBvd24gZGF0YSBwcm9wZXJ0eSAoOC4xMC41IHN0ZXAgMy5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3BlcnR5Iiwgew0KICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBmb3IgKHZhciBwcm9wIGluIG9iaikgew0KICAgICAgICAgICAgaWYgKHByb3AgPT09ICJwcm9wZXJ0eSIpIHsNCiAgICAgICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCiAgICAgICAgcmV0dXJuIGFjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'enumerable' property in 'Attributes' is own data property (8.10.5 step 3.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-22.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi0zLTIyMC0xLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnR5IC0gJ0F0dHJpYnV0ZXMnIGlzIGEgU3RyaW5nIG9iamVjdCB0aGF0IHVzZXMgT2JqZWN0J3MgW1tHZXRdXSBtZXRob2QgdG8gYWNjZXNzIHRoZSAnZ2V0JyBwcm9wZXJ0eSBvZiBwcm90b3R5cGUgb2JqZWN0ICg4LjEwLjUgc3RlcCA3LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgU3RyaW5nLnByb3RvdHlwZS5nZXQgPSBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuICJzdHJpbmdHZXRQcm9wZXJ0eSI7DQogICAgICAgICAgICB9Ow0KICAgICAgICAgICAgdmFyIHN0ck9iaiA9IG5ldyBTdHJpbmcoKTsNCg0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3BlcnR5Iiwgc3RyT2JqKTsNCg0KICAgICAgICAgICAgcmV0dXJuIG9iai5wcm9wZXJ0eSA9PT0gInN0cmluZ0dldFByb3BlcnR5IjsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBTdHJpbmcucHJvdG90eXBlLmdldDsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'Attributes' is a String object that uses Object's [[Get]] method to access the 'get' property of prototype object (8.10.5 step 7.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-220-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi0zLTIyMC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdBdHRyaWJ1dGVzJyBpcyBhIFN0cmluZyBvYmplY3QgdGhhdCB1c2VzIE9iamVjdCdzIFtbR2V0XV0gbWV0aG9kIHRvIGFjY2VzcyB0aGUgJ2dldCcgcHJvcGVydHkgKDguMTAuNSBzdGVwIDcuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgdmFyIHN0ck9iaiA9IG5ldyBTdHJpbmcoKTsNCg0KICAgICAgICBzdHJPYmouZ2V0ID0gZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgcmV0dXJuICJzdHJpbmdHZXRQcm9wZXJ0eSI7DQogICAgICAgIH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3BlcnR5Iiwgc3RyT2JqKTsNCg0KICAgICAgICByZXR1cm4gb2JqLnByb3BlcnR5ID09PSAic3RyaW5nR2V0UHJvcGVydHkiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'Attributes' is a String object that uses Object's [[Get]] method to access the 'get' property (8.10.5 step 7.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-220.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi0zLTIyMS0xLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnR5IC0gJ0F0dHJpYnV0ZXMnIGlzIGEgQm9vbGVhbiBvYmplY3QgdGhhdCB1c2VzIE9iamVjdCdzIFtbR2V0XV0gbWV0aG9kIHRvIGFjY2VzcyB0aGUgJ2dldCcgcHJvcGVydHkgb2YgcHJvdG90eXBlIG9iamVjdCAoOC4xMC41IHN0ZXAgNy5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIEJvb2xlYW4ucHJvdG90eXBlLmdldCA9IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gImJvb2xlYW5HZXRQcm9wZXJ0eSI7DQogICAgICAgICAgICB9Ow0KICAgICAgICAgICAgdmFyIGJvb2xPYmogPSBuZXcgQm9vbGVhbih0cnVlKTsNCg0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3BlcnR5IiwgYm9vbE9iaik7DQoNCiAgICAgICAgICAgIHJldHVybiBvYmoucHJvcGVydHkgPT09ICJib29sZWFuR2V0UHJvcGVydHkiOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIEJvb2xlYW4ucHJvdG90eXBlLmdldDsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'Attributes' is a Boolean object that uses Object's [[Get]] method to access the 'get' property of prototype object (8.10.5 step 7.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-221-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi0zLTIyMS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdBdHRyaWJ1dGVzJyBpcyBhIEJvb2xlYW4gb2JqZWN0IHRoYXQgdXNlcyBPYmplY3QncyBbW0dldF1dIG1ldGhvZCB0byBhY2Nlc3MgdGhlICdnZXQnIHByb3BlcnR5ICg4LjEwLjUgc3RlcCA3LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIHZhciBib29sT2JqID0gbmV3IEJvb2xlYW4odHJ1ZSk7DQoNCiAgICAgICAgYm9vbE9iai5nZXQgPSBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICByZXR1cm4gImJvb2xlYW5HZXRQcm9wZXJ0eSI7DQogICAgICAgIH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3BlcnR5IiwgYm9vbE9iaik7DQoNCiAgICAgICAgcmV0dXJuIG9iai5wcm9wZXJ0eSA9PT0gImJvb2xlYW5HZXRQcm9wZXJ0eSI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - 'Attributes' is a Boolean object that uses Object's [[Get]] method to access the 'get' property (8.10.5 step 7.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-221.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi0zLTIyMi0xLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnR5IC0gJ0F0dHJpYnV0ZXMnIGlzIGEgTnVtYmVyIG9iamVjdCB0aGF0IHVzZXMgT2JqZWN0J3MgW1tHZXRdXSBtZXRob2QgdG8gYWNjZXNzIHRoZSAnZ2V0JyBwcm9wZXJ0eSBvZiBwcm90b3R5cGUgb2JqZWN0ICg4LjEwLjUgc3RlcCA3LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgTnVtYmVyLnByb3RvdHlwZS5nZXQgPSBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuICJudW1iZXJHZXRQcm9wZXJ0eSI7DQogICAgICAgICAgICB9Ow0KICAgICAgICAgICAgdmFyIG51bU9iaiA9IG5ldyBOdW1iZXIoLTIpOw0KDQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcGVydHkiLCBudW1PYmopOw0KDQogICAgICAgICAgICByZXR1cm4gb2JqLnByb3BlcnR5ID09PSAibnVtYmVyR2V0UHJvcGVydHkiOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIE51bWJlci5wcm90b3R5cGUuZ2V0Ow0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - 'Attributes' is a Number object that uses Object's [[Get]] method to access the 'get' property of prototype object (8.10.5 step 7.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-222-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi0zLTIyMi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdBdHRyaWJ1dGVzJyBpcyBhIE51bWJlciBvYmplY3QgdGhhdCB1c2VzIE9iamVjdCdzIFtbR2V0XV0gbWV0aG9kIHRvIGFjY2VzcyB0aGUgJ2dldCcgcHJvcGVydHkgKDguMTAuNSBzdGVwIDcuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgdmFyIG51bU9iaiA9IG5ldyBOdW1iZXIoLTIpOw0KDQogICAgICAgIG51bU9iai5nZXQgPSBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICByZXR1cm4gIm51bWJlckdldFByb3BlcnR5IjsNCiAgICAgICAgfTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcGVydHkiLCBudW1PYmopOw0KDQogICAgICAgIHJldHVybiBvYmoucHJvcGVydHkgPT09ICJudW1iZXJHZXRQcm9wZXJ0eSI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - 'Attributes' is a Number object that uses Object's [[Get]] method to access the 'get' property (8.10.5 step 7.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-222.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi0zLTIyMy0xLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnR5IC0gJ0F0dHJpYnV0ZXMnIGlzIHRoZSBNYXRoIG9iamVjdCB0aGF0IHVzZXMgT2JqZWN0J3MgW1tHZXRdXSBtZXRob2QgdG8gYWNjZXNzIHRoZSAnZ2V0JyBwcm9wZXJ0eSBvZiBwcm90b3R5cGUgb2JqZWN0ICg4LjEwLjUgc3RlcCA3LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QucHJvdG90eXBlLmdldCA9IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gIm1hdGhHZXRQcm9wZXJ0eSI7DQogICAgICAgICAgICB9Ow0KDQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcGVydHkiLCBNYXRoKTsNCg0KICAgICAgICAgICAgcmV0dXJuIG9iai5wcm9wZXJ0eSA9PT0gIm1hdGhHZXRQcm9wZXJ0eSI7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgT2JqZWN0LnByb3RvdHlwZS5nZXQ7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'Attributes' is the Math object that uses Object's [[Get]] method to access the 'get' property of prototype object (8.10.5 step 7.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-223-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi0zLTIyMy5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdBdHRyaWJ1dGVzJyBpcyB0aGUgTWF0aCBvYmplY3QgdGhhdCB1c2VzIE9iamVjdCdzIFtbR2V0XV0gbWV0aG9kIHRvIGFjY2VzcyB0aGUgJ2dldCcgcHJvcGVydHkgKDguMTAuNSBzdGVwIDcuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE1hdGguZ2V0ID0gZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiAibWF0aEdldFByb3BlcnR5IjsNCiAgICAgICAgICAgIH07DQoNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wZXJ0eSIsIE1hdGgpOw0KDQogICAgICAgICAgICByZXR1cm4gb2JqLnByb3BlcnR5ID09PSAibWF0aEdldFByb3BlcnR5IjsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBNYXRoLmdldDsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'Attributes' is the Math object that uses Object's [[Get]] method to access the 'get' property (8.10.5 step 7.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-223.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi0zLTIyNC0xLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnR5IC0gJ0F0dHJpYnV0ZXMnIGlzIGEgRGF0ZSBvYmplY3QgdGhhdCB1c2VzIE9iamVjdCdzIFtbR2V0XV0gbWV0aG9kIHRvIGFjY2VzcyB0aGUgJ2dldCcgcHJvcGVydHkgb2YgcHJvdG90eXBlIG9iamVjdCAoOC4xMC41IHN0ZXAgNy5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIERhdGUucHJvdG90eXBlLmdldCA9IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gImRhdGVHZXRQcm9wZXJ0eSI7DQogICAgICAgICAgICB9Ow0KICAgICAgICAgICAgdmFyIGRhdGVPYmogPSBuZXcgRGF0ZSgpOw0KDQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcGVydHkiLCBkYXRlT2JqKTsNCg0KICAgICAgICAgICAgcmV0dXJuIG9iai5wcm9wZXJ0eSA9PT0gImRhdGVHZXRQcm9wZXJ0eSI7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgRGF0ZS5wcm90b3R5cGUuZ2V0Ow0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - 'Attributes' is a Date object that uses Object's [[Get]] method to access the 'get' property of prototype object (8.10.5 step 7.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-224-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi0zLTIyNC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdBdHRyaWJ1dGVzJyBpcyBhIERhdGUgb2JqZWN0IHRoYXQgdXNlcyBPYmplY3QncyBbW0dldF1dIG1ldGhvZCB0byBhY2Nlc3MgdGhlICdnZXQnIHByb3BlcnR5ICg4LjEwLjUgc3RlcCA3LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIHZhciBkYXRlT2JqID0gbmV3IERhdGUoKTsNCg0KICAgICAgICBkYXRlT2JqLmdldCA9IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgIHJldHVybiAiZGF0ZUdldFByb3BlcnR5IjsNCiAgICAgICAgfTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcGVydHkiLCBkYXRlT2JqKTsNCg0KICAgICAgICByZXR1cm4gb2JqLnByb3BlcnR5ID09PSAiZGF0ZUdldFByb3BlcnR5IjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'Attributes' is a Date object that uses Object's [[Get]] method to access the 'get' property (8.10.5 step 7.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-224.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi0zLTIyNS0xLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnR5IC0gJ0F0dHJpYnV0ZXMnIGlzIGEgUmVnRXhwIG9iamVjdCB0aGF0IHVzZXMgT2JqZWN0J3MgW1tHZXRdXSBtZXRob2QgdG8gYWNjZXNzIHRoZSAnZ2V0JyBwcm9wZXJ0eSBvZiBwcm90b3R5cGUgb2JqZWN0ICg4LjEwLjUgc3RlcCA3LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgUmVnRXhwLnByb3RvdHlwZS5nZXQgPSBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuICJyZWdFeHBHZXRQcm9wZXJ0eSI7DQogICAgICAgICAgICB9Ow0KICAgICAgICAgICAgdmFyIHJlZ09iaiA9IG5ldyBSZWdFeHAoKTsNCg0KDQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcGVydHkiLCByZWdPYmopOw0KDQogICAgICAgICAgICByZXR1cm4gb2JqLnByb3BlcnR5ID09PSAicmVnRXhwR2V0UHJvcGVydHkiOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIFJlZ0V4cC5wcm90b3R5cGUuZ2V0Ow0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - 'Attributes' is a RegExp object that uses Object's [[Get]] method to access the 'get' property of prototype object (8.10.5 step 7.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-225-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi0zLTIyNS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdBdHRyaWJ1dGVzJyBpcyBhIFJlZ0V4cCBvYmplY3QgdGhhdCB1c2VzIE9iamVjdCdzIFtbR2V0XV0gbWV0aG9kIHRvIGFjY2VzcyB0aGUgJ2dldCcgcHJvcGVydHkgKDguMTAuNSBzdGVwIDcuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgdmFyIHJlZ09iaiA9IG5ldyBSZWdFeHAoKTsNCg0KICAgICAgICByZWdPYmouZ2V0ID0gZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgcmV0dXJuICJyZWdFeHBHZXRQcm9wZXJ0eSI7DQogICAgICAgIH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3BlcnR5IiwgcmVnT2JqKTsNCg0KICAgICAgICByZXR1cm4gb2JqLnByb3BlcnR5ID09PSAicmVnRXhwR2V0UHJvcGVydHkiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'Attributes' is a RegExp object that uses Object's [[Get]] method to access the 'get' property (8.10.5 step 7.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-225.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi0zLTIyNi0xLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnR5IC0gJ0F0dHJpYnV0ZXMnIGlzIHRoZSBKU09OIG9iamVjdCB0aGF0IHVzZXMgT2JqZWN0J3MgW1tHZXRdXSBtZXRob2QgdG8gYWNjZXNzIHRoZSAnZ2V0JyBwcm9wZXJ0eSBvZiBwcm90b3R5cGUgb2JqZWN0ICg4LjEwLjUgc3RlcCA3LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QucHJvdG90eXBlLmdldCA9IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gImpzb25HZXRQcm9wZXJ0eSI7DQogICAgICAgICAgICB9Ow0KDQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcGVydHkiLCBKU09OKTsNCg0KICAgICAgICAgICAgcmV0dXJuIG9iai5wcm9wZXJ0eSA9PT0gImpzb25HZXRQcm9wZXJ0eSI7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgT2JqZWN0LnByb3RvdHlwZS5nZXQ7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'Attributes' is the JSON object that uses Object's [[Get]] method to access the 'get' property of prototype object (8.10.5 step 7.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-226-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi0zLTIyNi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdBdHRyaWJ1dGVzJyBpcyB0aGUgSlNPTiBvYmplY3QgdGhhdCB1c2VzIE9iamVjdCdzIFtbR2V0XV0gbWV0aG9kIHRvIGFjY2VzcyB0aGUgJ2dldCcgcHJvcGVydHkgKDguMTAuNSBzdGVwIDcuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIEpTT04uZ2V0ID0gZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiAianNvbkdldFByb3BlcnR5IjsNCiAgICAgICAgICAgIH07DQoNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wZXJ0eSIsIEpTT04pOw0KDQogICAgICAgICAgICByZXR1cm4gb2JqLnByb3BlcnR5ID09PSAianNvbkdldFByb3BlcnR5IjsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBKU09OLmdldDsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'Attributes' is the JSON object that uses Object's [[Get]] method to access the 'get' property (8.10.5 step 7.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-226.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi0zLTIyNy0xLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnR5IC0gJ0F0dHJpYnV0ZXMnIGlzIGFuIEVycm9yIG9iamVjdCB0aGF0IHVzZXMgT2JqZWN0J3MgW1tHZXRdXSBtZXRob2QgdG8gYWNjZXNzIHRoZSAnZ2V0JyBwcm9wZXJ0eSBvZiBwcm90b3R5cGUgb2JqZWN0ICg4LjEwLjUgc3RlcCA3LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgRXJyb3IucHJvdG90eXBlLmdldCA9IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gImVycm9yR2V0UHJvcGVydHkiOw0KICAgICAgICAgICAgfTsNCiAgICAgICAgICAgIHZhciBlcnJPYmogPSBuZXcgRXJyb3IoKTsNCg0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3BlcnR5IiwgZXJyT2JqKTsNCg0KICAgICAgICAgICAgcmV0dXJuIG9iai5wcm9wZXJ0eSA9PT0gImVycm9yR2V0UHJvcGVydHkiOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIEVycm9yLnByb3RvdHlwZS5nZXQ7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'Attributes' is an Error object that uses Object's [[Get]] method to access the 'get' property of prototype object (8.10.5 step 7.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-227-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi0zLTIyNy5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdBdHRyaWJ1dGVzJyBpcyBhbiBFcnJvciBvYmplY3QgdGhhdCB1c2VzIE9iamVjdCdzIFtbR2V0XV0gbWV0aG9kIHRvIGFjY2VzcyB0aGUgJ2dldCcgcHJvcGVydHkgKDguMTAuNSBzdGVwIDcuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgdmFyIGVyck9iaiA9IG5ldyBFcnJvcigpOw0KDQogICAgICAgIGVyck9iai5nZXQgPSBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICByZXR1cm4gImVycm9yR2V0UHJvcGVydHkiOw0KICAgICAgICB9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wZXJ0eSIsIGVyck9iaik7DQoNCiAgICAgICAgcmV0dXJuIG9iai5wcm9wZXJ0eSA9PT0gImVycm9yR2V0UHJvcGVydHkiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'Attributes' is an Error object that uses Object's [[Get]] method to access the 'get' property (8.10.5 step 7.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-227.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi0zLTIyOC0xLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnR5IC0gJ0F0dHJpYnV0ZXMnIGlzIGFuIEFyZ3VtZW50cyBvYmplY3Qgd2hpY2ggaW1wbGVtZW50cyBpdHMgb3duIFtbR2V0XV0gbWV0aG9kIHRvIGFjY2VzcyB0aGUgJ2dldCcgcHJvcGVydHkgb2YgcHJvdG90eXBlIG9iamVjdCAoOC4xMC41IHN0ZXAgNy5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5wcm90b3R5cGUuZ2V0ID0gZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiAiYXJndW1lbnRHZXRQcm9wZXJ0eSI7DQogICAgICAgICAgICB9Ow0KICAgICAgICAgICAgdmFyIGFyZ09iaiA9IChmdW5jdGlvbiAoKSB7IHJldHVybiBhcmd1bWVudHM7IH0pKCk7DQoNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wZXJ0eSIsIGFyZ09iaik7DQoNCiAgICAgICAgICAgIHJldHVybiBvYmoucHJvcGVydHkgPT09ICJhcmd1bWVudEdldFByb3BlcnR5IjsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBPYmplY3QucHJvdG90eXBlLmdldDsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'Attributes' is an Arguments object which implements its own [[Get]] method to access the 'get' property of prototype object (8.10.5 step 7.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-228-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi0zLTIyOC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdBdHRyaWJ1dGVzJyBpcyBhbiBBcmd1bWVudHMgb2JqZWN0IHdoaWNoIGltcGxlbWVudHMgaXRzIG93biBbW0dldF1dIG1ldGhvZCB0byBhY2Nlc3MgdGhlICdnZXQnIHByb3BlcnR5ICg4LjEwLjUgc3RlcCA3LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIHZhciBhcmdPYmogPSAoZnVuY3Rpb24gKCkgeyByZXR1cm4gYXJndW1lbnRzOyB9KSgpOw0KDQogICAgICAgIGFyZ09iai5nZXQgPSBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICByZXR1cm4gImFyZ3VtZW50R2V0UHJvcGVydHkiOw0KICAgICAgICB9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wZXJ0eSIsIGFyZ09iaik7DQoNCiAgICAgICAgcmV0dXJuIG9iai5wcm9wZXJ0eSA9PT0gImFyZ3VtZW50R2V0UHJvcGVydHkiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'Attributes' is an Arguments object which implements its own [[Get]] method to access the 'get' property (8.10.5 step 7.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-228.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi0zLTIzLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnR5IC0gJ2VudW1lcmFibGUnIHByb3BlcnR5IGluICdBdHRyaWJ1dGVzJyBpcyBhbiBpbmhlcml0ZWQgZGF0YSBwcm9wZXJ0eSAoOC4xMC41IHN0ZXAgMy5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQoNCiAgICAgICAgdmFyIHByb3RvID0ge307DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShwcm90bywgImVudW1lcmFibGUiLCB7DQogICAgICAgICAgICB2YWx1ZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgQ29uc3RydWN0RnVuID0gZnVuY3Rpb24gKCkgeyB9Ow0KICAgICAgICBDb25zdHJ1Y3RGdW4ucHJvdG90eXBlID0gcHJvdG87DQoNCiAgICAgICAgdmFyIGNoaWxkID0gbmV3IENvbnN0cnVjdEZ1bigpOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wZXJ0eSIsIGNoaWxkKTsNCg0KICAgICAgICBmb3IgKHZhciBwcm9wIGluIG9iaikgew0KICAgICAgICAgICAgaWYgKHByb3AgPT09ICJwcm9wZXJ0eSIpIHsNCiAgICAgICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCiAgICAgICAgcmV0dXJuIGFjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'enumerable' property in 'Attributes' is an inherited data property (8.10.5 step 3.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-23.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi0zLTIzMC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdBdHRyaWJ1dGVzJyBpcyB0aGUgZ2xvYmFsIG9iamVjdCB0aGF0IHVzZXMgT2JqZWN0J3MgW1tHZXRdXSBtZXRob2QgdG8gYWNjZXNzIHRoZSAnZ2V0JyBwcm9wZXJ0eSAoOC4xMC41IHN0ZXAgNy5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgZm5HbG9iYWxPYmplY3QoKS5nZXQgPSBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuICJnbG9iYWxHZXRQcm9wZXJ0eSI7DQogICAgICAgICAgICB9Ow0KDQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcGVydHkiLCBmbkdsb2JhbE9iamVjdCgpKTsNCg0KICAgICAgICAgICAgcmV0dXJuIG9iai5wcm9wZXJ0eSA9PT0gImdsb2JhbEdldFByb3BlcnR5IjsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBmbkdsb2JhbE9iamVjdCgpLmdldDsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'Attributes' is the global object that uses Object's [[Get]] method to access the 'get' property (8.10.5 step 7.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-230.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi0zLTIzMS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtIHZhbHVlIG9mICdnZXQnIHByb3BlcnR5IGluICdBdHRyaWJ1dGVzJyBpcyB1bmRlZmluZWQgKDguMTAuNSBzdGVwIDcuYikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3BlcnR5Iiwgew0KICAgICAgICAgICAgZ2V0OiB1bmRlZmluZWQNCiAgICAgICAgfSk7DQoNCiAgICAgICAgcmV0dXJuIG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcGVydHkiKSAmJiB0eXBlb2Ygb2JqLnByb3BlcnR5ID09PSAidW5kZWZpbmVkIjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - value of 'get' property in 'Attributes' is undefined (8.10.5 step 7.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-231.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi0zLTIzMi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtIHZhbHVlIG9mICdnZXQnIHByb3BlcnR5IGluICdBdHRyaWJ1dGVzJyBpcyBhIGZ1bmN0aW9uICg4LjEwLjUgc3RlcCA3LmIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wZXJ0eSIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiAiZ2V0RnVuY3Rpb24iOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCg0KICAgICAgICByZXR1cm4gb2JqLmhhc093blByb3BlcnR5KCJwcm9wZXJ0eSIpICYmIG9iai5wcm9wZXJ0eSA9PT0gImdldEZ1bmN0aW9uIjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - value of 'get' property in 'Attributes' is a function (8.10.5 step 7.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-232.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi0zLTIzNS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdzZXQnIHByb3BlcnR5IGluICdBdHRyaWJ1dGVzJyBpcyBwcmVzZW50ICg4LjEwLjUgc3RlcCA4KQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgdmFyIGRhdGEgPSAiZGF0YSI7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3BlcnR5Iiwgew0KICAgICAgICAgICAgc2V0OiBmdW5jdGlvbiAodmFsdWUpIHsNCiAgICAgICAgICAgICAgICBkYXRhID0gdmFsdWU7DQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KDQogICAgICAgIG9iai5wcm9wZXJ0eSA9ICJvdmVycmlkZURhdGEiOw0KDQogICAgICAgIHJldHVybiBvYmouaGFzT3duUHJvcGVydHkoInByb3BlcnR5IikgJiYgZGF0YSA9PT0gIm92ZXJyaWRlRGF0YSI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - 'set' property in 'Attributes' is present (8.10.5 step 8)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-235.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi0zLTIzNi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdzZXQnIHByb3BlcnR5IGluICdBdHRyaWJ1dGVzJyBpcyBub3QgcHJlc2VudCAoOC4xMC41IHN0ZXAgOCkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3BlcnR5Iiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIDExOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCg0KICAgICAgICBvYmoucHJvcGVydHkgPSAxNDsNCiAgICAgICAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3BlcnR5Iik7DQogICAgICAgIHJldHVybiBvYmouaGFzT3duUHJvcGVydHkoInByb3BlcnR5IikgJiYgb2JqLnByb3BlcnR5ID09PSAxMSAmJiB0eXBlb2YgZGVzYy5zZXQgPT09ICJ1bmRlZmluZWQiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'set' property in 'Attributes' is not present (8.10.5 step 8)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-236.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi0zLTIzNy5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdzZXQnIHByb3BlcnR5IGluICdBdHRyaWJ1dGVzJyBpcyBvd24gZGF0YSBwcm9wZXJ0eSAoOC4xMC41IHN0ZXAgOC5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgdmFyIGRhdGEgPSAiZGF0YSI7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3BlcnR5Iiwgew0KICAgICAgICAgICAgc2V0OiBmdW5jdGlvbiAodmFsdWUpIHsNCiAgICAgICAgICAgICAgICBkYXRhID0gdmFsdWU7DQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KDQogICAgICAgIG9iai5wcm9wZXJ0eSA9ICJvdmVycmlkZURhdGEiOw0KDQogICAgICAgIHJldHVybiBvYmouaGFzT3duUHJvcGVydHkoInByb3BlcnR5IikgJiYgZGF0YSA9PT0gIm92ZXJyaWRlRGF0YSI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - 'set' property in 'Attributes' is own data property (8.10.5 step 8.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-237.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi0zLTIzOC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdzZXQnIHByb3BlcnR5IGluICdBdHRyaWJ1dGVzJyBpcyBhbiBpbmhlcml0ZWQgZGF0YSBwcm9wZXJ0eSAoOC4xMC41IHN0ZXAgOC5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgdmFyIGRhdGEgPSAiZGF0YSI7DQogICAgICAgIHZhciBwcm90byA9IHsNCiAgICAgICAgICAgIHNldDogZnVuY3Rpb24gKHZhbHVlKSB7DQogICAgICAgICAgICAgICAgZGF0YSA9IHZhbHVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9Ow0KDQogICAgICAgIHZhciBDb25zdHJ1Y3RGdW4gPSBmdW5jdGlvbiAoKSB7IH07DQogICAgICAgIENvbnN0cnVjdEZ1bi5wcm90b3R5cGUgPSBwcm90bzsNCg0KICAgICAgICB2YXIgY2hpbGQgPSBuZXcgQ29uc3RydWN0RnVuKCk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3BlcnR5IiwgY2hpbGQpOw0KDQogICAgICAgIG9iai5wcm9wZXJ0eSA9ICJvdmVycmlkZURhdGEiOw0KDQogICAgICAgIHJldHVybiBvYmouaGFzT3duUHJvcGVydHkoInByb3BlcnR5IikgJiYgZGF0YSA9PT0gIm92ZXJyaWRlRGF0YSI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - 'set' property in 'Attributes' is an inherited data property (8.10.5 step 8.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-238.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi0zLTIzOS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdzZXQnIHByb3BlcnR5IGluICdBdHRyaWJ1dGVzJyBpcyBvd24gZGF0YSBwcm9wZXJ0eSB0aGF0IG92ZXJyaWRlcyBhbiBpbmhlcml0ZWQgZGF0YSBwcm9wZXJ0eSAoOC4xMC41IHN0ZXAgOC5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgdmFyIGRhdGExID0gImRhdGEiOw0KICAgICAgICB2YXIgZGF0YTIgPSAiZGF0YSI7DQogICAgICAgIHZhciBwcm90byA9IHsNCiAgICAgICAgICAgIHNldDogZnVuY3Rpb24gKHZhbHVlKSB7DQogICAgICAgICAgICAgICAgZGF0YTEgPSB2YWx1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfTsNCg0KICAgICAgICB2YXIgQ29uc3RydWN0RnVuID0gZnVuY3Rpb24gKCkgeyB9Ow0KICAgICAgICBDb25zdHJ1Y3RGdW4ucHJvdG90eXBlID0gcHJvdG87DQoNCiAgICAgICAgdmFyIGNoaWxkID0gbmV3IENvbnN0cnVjdEZ1bigpOw0KICAgICAgICBjaGlsZC5zZXQgPSBmdW5jdGlvbiAodmFsdWUpIHsNCiAgICAgICAgICAgIGRhdGEyID0gdmFsdWU7DQogICAgICAgIH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3BlcnR5IiwgY2hpbGQpOw0KDQogICAgICAgIG9iai5wcm9wZXJ0eSA9ICJvdmVycmlkZURhdGEiOw0KDQogICAgICAgIHJldHVybiBvYmouaGFzT3duUHJvcGVydHkoInByb3BlcnR5IikgJiYgZGF0YTEgPT09ICJkYXRhIiAmJiBkYXRhMiA9PT0gIm92ZXJyaWRlRGF0YSI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - 'set' property in 'Attributes' is own data property that overrides an inherited data property (8.10.5 step 8.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-239.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi0zLTI0LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnR5IC0gJ2VudW1lcmFibGUnIHByb3BlcnR5IGluICdBdHRyaWJ1dGVzJyBpcyBvd24gZGF0YSBwcm9wZXJ0eSB0aGF0IG92ZXJyaWRlcyBhbiBpbmhlcml0ZWQgZGF0YSBwcm9wZXJ0eSAoOC4xMC41IHN0ZXAgMy5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQoNCiAgICAgICAgdmFyIHByb3RvID0ge307DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShwcm90bywgImVudW1lcmFibGUiLCB7DQogICAgICAgICAgICB2YWx1ZTogZmFsc2UNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIENvbnN0cnVjdEZ1biA9IGZ1bmN0aW9uICgpIHsgfTsNCiAgICAgICAgQ29uc3RydWN0RnVuLnByb3RvdHlwZSA9IHByb3RvOw0KDQogICAgICAgIHZhciBjaGlsZCA9IG5ldyBDb25zdHJ1Y3RGdW4oKTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGNoaWxkLCAiZW51bWVyYWJsZSIsIHsNCiAgICAgICAgICAgIHZhbHVlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wZXJ0eSIsIGNoaWxkKTsNCg0KICAgICAgICBmb3IgKHZhciBwcm9wIGluIG9iaikgew0KICAgICAgICAgICAgaWYgKHByb3AgPT09ICJwcm9wZXJ0eSIpIHsNCiAgICAgICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICByZXR1cm4gYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - 'enumerable' property in 'Attributes' is own data property that overrides an inherited data property (8.10.5 step 3.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-24.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi0zLTI0MC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdzZXQnIHByb3BlcnR5IGluICdBdHRyaWJ1dGVzJyBpcyBvd24gZGF0YSBwcm9wZXJ0eSB0aGF0IG92ZXJyaWRlcyBhbiBpbmhlcml0ZWQgYWNjZXNzb3IgcHJvcGVydHkgKDguMTAuNSBzdGVwIDguYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIHZhciBwcm90byA9IHt9Ow0KICAgICAgICB2YXIgZGF0YTEgPSAiZGF0YSI7DQogICAgICAgIHZhciBkYXRhMiA9ICJkYXRhIjsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkocHJvdG8sICJzZXQiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gZnVuY3Rpb24gKHZhbHVlKSB7DQogICAgICAgICAgICAgICAgICAgIGRhdGExID0gdmFsdWU7DQogICAgICAgICAgICAgICAgfTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIENvbnN0cnVjdEZ1biA9IGZ1bmN0aW9uICgpIHsgfTsNCiAgICAgICAgQ29uc3RydWN0RnVuLnByb3RvdHlwZSA9IHByb3RvOw0KDQogICAgICAgIHZhciBjaGlsZCA9IG5ldyBDb25zdHJ1Y3RGdW4oKTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGNoaWxkLCAic2V0Iiwgew0KICAgICAgICAgICAgdmFsdWU6IGZ1bmN0aW9uICh2YWx1ZSkgew0KICAgICAgICAgICAgICAgIGRhdGEyID0gdmFsdWU7DQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wZXJ0eSIsIGNoaWxkKTsNCg0KICAgICAgICBvYmoucHJvcGVydHkgPSAib3ZlcnJpZGVEYXRhIjsNCg0KICAgICAgICByZXR1cm4gb2JqLmhhc093blByb3BlcnR5KCJwcm9wZXJ0eSIpICYmIGRhdGExID09PSAiZGF0YSIgJiYgZGF0YTIgPT09ICJvdmVycmlkZURhdGEiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'set' property in 'Attributes' is own data property that overrides an inherited accessor property (8.10.5 step 8.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-240.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi0zLTI0MS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdzZXQnIHByb3BlcnR5IGluICdBdHRyaWJ1dGVzJyBpcyBvd24gYWNjZXNzb3IgcHJvcGVydHkgKDguMTAuNSBzdGVwIDguYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIHZhciBkYXRhID0gImRhdGEiOw0KICAgICAgICB2YXIgYXR0cmlidXRlcyA9IHt9Ow0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXR0cmlidXRlcywgInNldCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiBmdW5jdGlvbiAodmFsdWUpIHsNCiAgICAgICAgICAgICAgICAgICAgZGF0YSA9IHZhbHVlOw0KICAgICAgICAgICAgICAgIH07DQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wZXJ0eSIsIGF0dHJpYnV0ZXMpOw0KICAgICAgICBvYmoucHJvcGVydHkgPSAib3duQWNjZXNzb3JQcm9wZXJ0eSI7DQoNCiAgICAgICAgcmV0dXJuIG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcGVydHkiKSAmJiBkYXRhID09PSAib3duQWNjZXNzb3JQcm9wZXJ0eSI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - 'set' property in 'Attributes' is own accessor property (8.10.5 step 8.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-241.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi0zLTI0Mi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdzZXQnIHByb3BlcnR5IGluICdBdHRyaWJ1dGVzJyBpcyBhbiBpbmhlcml0ZWQgYWNjZXNzb3IgcHJvcGVydHkgKDguMTAuNSBzdGVwIDguYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIHZhciBwcm90byA9IHt9Ow0KICAgICAgICB2YXIgZGF0YSA9ICJkYXRhIjsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHByb3RvLCAic2V0Iiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIGZ1bmN0aW9uICh2YWx1ZSkgew0KICAgICAgICAgICAgICAgICAgICBkYXRhID0gdmFsdWU7DQogICAgICAgICAgICAgICAgfTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIENvbnN0cnVjdEZ1biA9IGZ1bmN0aW9uICgpIHsgfTsNCiAgICAgICAgQ29uc3RydWN0RnVuLnByb3RvdHlwZSA9IHByb3RvOw0KDQogICAgICAgIHZhciBjaGlsZCA9IG5ldyBDb25zdHJ1Y3RGdW4oKTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcGVydHkiLCBjaGlsZCk7DQogICAgICAgIG9iai5wcm9wZXJ0eSA9ICJpbmhlcml0ZWRBY2Nlc3NvclByb3BlcnR5IjsNCg0KICAgICAgICByZXR1cm4gb2JqLmhhc093blByb3BlcnR5KCJwcm9wZXJ0eSIpICYmIGRhdGEgPT09ICJpbmhlcml0ZWRBY2Nlc3NvclByb3BlcnR5IjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'set' property in 'Attributes' is an inherited accessor property (8.10.5 step 8.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-242.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi0zLTI0My5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdzZXQnIHByb3BlcnR5IGluICdBdHRyaWJ1dGVzJyBpcyBvd24gYWNjZXNzb3IgcHJvcGVydHkgdGhhdCBvdmVycmlkZXMgYW4gaW5oZXJpdGVkIGRhdGEgcHJvcGVydHkgKDguMTAuNSBzdGVwIDguYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIHZhciBkYXRhMSA9ICJkYXRhIjsNCiAgICAgICAgdmFyIGRhdGEyID0gImRhdGEiOw0KDQogICAgICAgIHZhciBwcm90byA9IHsNCiAgICAgICAgICAgIHNldDogZnVuY3Rpb24gKHZhbHVlKSB7DQogICAgICAgICAgICAgICAgZGF0YTEgPSB2YWx1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfTsNCg0KICAgICAgICB2YXIgQ29uc3RydWN0RnVuID0gZnVuY3Rpb24gKCkgeyB9Ow0KICAgICAgICBDb25zdHJ1Y3RGdW4ucHJvdG90eXBlID0gcHJvdG87DQoNCiAgICAgICAgdmFyIGNoaWxkID0gbmV3IENvbnN0cnVjdEZ1bigpOw0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoY2hpbGQsICJzZXQiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gZnVuY3Rpb24gKHZhbHVlKSB7DQogICAgICAgICAgICAgICAgICAgIGRhdGEyID0gdmFsdWU7DQogICAgICAgICAgICAgICAgfTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3BlcnR5IiwgY2hpbGQpOw0KICAgICAgICBvYmoucHJvcGVydHkgPSAib3duQWNjZXNzb3JQcm9wZXJ0eSI7DQoNCiAgICAgICAgcmV0dXJuIG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcGVydHkiKSAmJiBkYXRhMSA9PT0gImRhdGEiICYmIGRhdGEyID09PSAib3duQWNjZXNzb3JQcm9wZXJ0eSI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - 'set' property in 'Attributes' is own accessor property that overrides an inherited data property (8.10.5 step 8.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-243.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi0zLTI0NC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdzZXQnIHByb3BlcnR5IGluICdBdHRyaWJ1dGVzJyBpcyBvd24gYWNjZXNzb3IgcHJvcGVydHkgdGhhdCBvdmVycmlkZXMgYW4gaW5oZXJpdGVkIGFjY2Vzc29yIHByb3BlcnR5ICg4LjEwLjUgc3RlcCA4LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICB2YXIgcHJvdG8gPSB7fTsNCiAgICAgICAgdmFyIGRhdGExID0gImRhdGEiOw0KICAgICAgICB2YXIgZGF0YTIgPSAiZGF0YSI7DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShwcm90bywgInNldCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiBmdW5jdGlvbiAodmFsdWUpIHsNCiAgICAgICAgICAgICAgICAgICAgZGF0YTEgPSB2YWx1ZTsNCiAgICAgICAgICAgICAgICB9Ow0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgQ29uc3RydWN0RnVuID0gZnVuY3Rpb24gKCkgeyB9Ow0KICAgICAgICBDb25zdHJ1Y3RGdW4ucHJvdG90eXBlID0gcHJvdG87DQoNCiAgICAgICAgdmFyIGNoaWxkID0gbmV3IENvbnN0cnVjdEZ1bigpOw0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoY2hpbGQsICJzZXQiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gZnVuY3Rpb24gKHZhbHVlKSB7DQogICAgICAgICAgICAgICAgICAgIGRhdGEyID0gdmFsdWU7DQogICAgICAgICAgICAgICAgfTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3BlcnR5IiwgY2hpbGQpOw0KICAgICAgICBvYmoucHJvcGVydHkgPSAib3duQWNjZXNzb3JQcm9wZXJ0eSI7DQoNCiAgICAgICAgcmV0dXJuIG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcGVydHkiKSAmJiBkYXRhMSA9PT0gImRhdGEiICYmIGRhdGEyID09PSAib3duQWNjZXNzb3JQcm9wZXJ0eSI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - 'set' property in 'Attributes' is own accessor property that overrides an inherited accessor property (8.10.5 step 8.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-244.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi0zLTI0NS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdzZXQnIHByb3BlcnR5IGluICdBdHRyaWJ1dGVzJyBpcyBvd24gYWNjZXNzb3IgcHJvcGVydHkgd2l0aG91dCBhIGdldCBmdW5jdGlvbiAoOC4xMC41IHN0ZXAgOC5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICB2YXIgYXR0cmlidXRlcyA9IHt9Ow0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXR0cmlidXRlcywgInNldCIsIHsNCiAgICAgICAgICAgIHNldDogZnVuY3Rpb24gKCkgeyB9DQogICAgICAgIH0pOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wZXJ0eSIsIGF0dHJpYnV0ZXMpOw0KDQogICAgICAgIG9iai5wcm9wZXJ0eSA9ICJvdmVycmlkZU93bkRhdGEiOw0KDQogICAgICAgIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wZXJ0eSIpOw0KICAgICAgICByZXR1cm4gb2JqLmhhc093blByb3BlcnR5KCJwcm9wZXJ0eSIpICYmIHR5cGVvZiBvYmoucHJvcGVydHkgPT09ICJ1bmRlZmluZWQiICYmDQogICAgICAgICAgICB0eXBlb2YgZGVzYy5zZXQgPT09ICJ1bmRlZmluZWQiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'set' property in 'Attributes' is own accessor property without a get function (8.10.5 step 8.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-245.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi0zLTI0Ni5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdzZXQnIHByb3BlcnR5IGluICdBdHRyaWJ1dGVzJyBpcyBvd24gYWNjZXNzb3IgcHJvcGVydHkod2l0aG91dCBhIGdldCBmdW5jdGlvbikgdGhhdCBvdmVycmlkZXMgYW4gaW5oZXJpdGVkIGFjY2Vzc29yIHByb3BlcnR5ICg4LjEwLjUgc3RlcCA4LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICB2YXIgcHJvdG8gPSB7fTsNCiAgICAgICAgdmFyIGRhdGEgPSAiZGF0YSI7DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShwcm90bywgInNldCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiBmdW5jdGlvbiAodmFsdWUpIHsNCiAgICAgICAgICAgICAgICAgICAgZGF0YSA9IHZhbHVlOw0KICAgICAgICAgICAgICAgIH07DQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBDb25zdHJ1Y3RGdW4gPSBmdW5jdGlvbiAoKSB7IH07DQogICAgICAgIENvbnN0cnVjdEZ1bi5wcm90b3R5cGUgPSBwcm90bzsNCg0KICAgICAgICB2YXIgY2hpbGQgPSBuZXcgQ29uc3RydWN0RnVuKCk7DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShjaGlsZCwgInNldCIsIHsNCiAgICAgICAgICAgIHNldDogZnVuY3Rpb24gKCkgeyB9DQogICAgICAgIH0pOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wZXJ0eSIsIGNoaWxkKTsNCg0KICAgICAgICBvYmoucHJvcGVydHkgPSAib3ZlcnJpZGVEYXRhIjsNCiAgICAgICAgcmV0dXJuIG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcGVydHkiKSAmJiB0eXBlb2Ygb2JqLnByb3BlcnR5ID09PSAidW5kZWZpbmVkIiAmJiBkYXRhID09PSAiZGF0YSI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - 'set' property in 'Attributes' is own accessor property(without a get function) that overrides an inherited accessor property (8.10.5 step 8.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-246.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi0zLTI0Ny5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdzZXQnIHByb3BlcnR5IGluICdBdHRyaWJ1dGVzJyBpcyBhbiBpbmhlcml0ZWQgYWNjZXNzb3IgcHJvcGVydHkgd2l0aG91dCBhIGdldCBmdW5jdGlvbiAoOC4xMC41IHN0ZXAgOC5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgdmFyIHByb3RvID0ge307DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShwcm90bywgInNldCIsIHsNCiAgICAgICAgICAgIHNldDogZnVuY3Rpb24gKCkgeyB9DQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBDb25zdHJ1Y3RGdW4gPSBmdW5jdGlvbiAoKSB7IH07DQogICAgICAgIENvbnN0cnVjdEZ1bi5wcm90b3R5cGUgPSBwcm90bzsNCg0KICAgICAgICB2YXIgY2hpbGQgPSBuZXcgQ29uc3RydWN0RnVuKCk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3BlcnR5IiwgY2hpbGQpOw0KDQogICAgICAgIG9iai5wcm9wZXJ0eSA9ICJvdmVycmlkZURhdGEiOw0KICAgICAgICByZXR1cm4gb2JqLmhhc093blByb3BlcnR5KCJwcm9wZXJ0eSIpICYmIHR5cGVvZiBvYmoucHJvcGVydHkgPT09ICJ1bmRlZmluZWQiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'set' property in 'Attributes' is an inherited accessor property without a get function (8.10.5 step 8.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-247.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi0zLTI0OC0xLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnR5IC0gJ0F0dHJpYnV0ZXMnIGlzIGEgRnVuY3Rpb24gb2JqZWN0IHdoaWNoIGltcGxlbWVudHMgaXRzIG93biBbW0dldF1dIG1ldGhvZCB0byBhY2Nlc3MgdGhlICdzZXQnIHByb3BlcnR5IG9mIHByb3RvdHlwZSBvYmplY3QgKDguMTAuNSBzdGVwIDguYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIHZhciBkYXRhID0gImRhdGEiOw0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgRnVuY3Rpb24ucHJvdG90eXBlLnNldCA9IGZ1bmN0aW9uICh2YWx1ZSkgew0KICAgICAgICAgICAgICAgIGRhdGEgPSB2YWx1ZTsNCiAgICAgICAgICAgIH07DQogICAgICAgICAgICB2YXIgZnVuT2JqID0gZnVuY3Rpb24gKCkgeyB9Ow0KDQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcGVydHkiLCBmdW5PYmopOw0KICAgICAgICAgICAgb2JqLnByb3BlcnR5ID0gIm92ZXJyaWRlRGF0YSI7DQoNCiAgICAgICAgICAgIHJldHVybiBvYmouaGFzT3duUHJvcGVydHkoInByb3BlcnR5IikgJiYgZGF0YSA9PT0gIm92ZXJyaWRlRGF0YSI7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgRnVuY3Rpb24ucHJvdG90eXBlLnNldDsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'Attributes' is a Function object which implements its own [[Get]] method to access the 'set' property of prototype object (8.10.5 step 8.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-248-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi0zLTI0OC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdBdHRyaWJ1dGVzJyBpcyBhIEZ1bmN0aW9uIG9iamVjdCB3aGljaCBpbXBsZW1lbnRzIGl0cyBvd24gW1tHZXRdXSBtZXRob2QgdG8gYWNjZXNzIHRoZSAnc2V0JyBwcm9wZXJ0eSAoOC4xMC41IHN0ZXAgOC5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgdmFyIGRhdGEgPSAiZGF0YSI7DQogICAgICAgIHZhciBmdW5PYmogPSBmdW5jdGlvbiAoKSB7IH07DQoNCiAgICAgICAgZnVuT2JqLnNldCA9IGZ1bmN0aW9uICh2YWx1ZSkgew0KICAgICAgICAgICAgZGF0YSA9IHZhbHVlOw0KICAgICAgICB9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wZXJ0eSIsIGZ1bk9iaik7DQogICAgICAgIG9iai5wcm9wZXJ0eSA9ICJvdmVycmlkZURhdGEiOw0KDQogICAgICAgIHJldHVybiBvYmouaGFzT3duUHJvcGVydHkoInByb3BlcnR5IikgJiYgZGF0YSA9PT0gIm92ZXJyaWRlRGF0YSI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - 'Attributes' is a Function object which implements its own [[Get]] method to access the 'set' property (8.10.5 step 8.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-248.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi0zLTI0OS0xLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnR5IC0gJ0F0dHJpYnV0ZXMnIGlzIGFuIEFycmF5IG9iamVjdCB0aGF0IHVzZXMgT2JqZWN0J3MgW1tHZXRdXSBtZXRob2QgdG8gYWNjZXNzIHRoZSAnc2V0JyBwcm9wZXJ0eSBvZiBwcm90b3R5cGUgb2JqZWN0ICg4LjEwLjUgc3RlcCA4LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICB2YXIgZGF0YSA9ICJkYXRhIjsNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIEFycmF5LnByb3RvdHlwZS5zZXQgPSBmdW5jdGlvbiAodmFsdWUpIHsNCiAgICAgICAgICAgICAgICBkYXRhID0gdmFsdWU7DQogICAgICAgICAgICB9Ow0KICAgICAgICAgICAgdmFyIGFyck9iaiA9IFtdOw0KDQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcGVydHkiLCBhcnJPYmopOw0KICAgICAgICAgICAgb2JqLnByb3BlcnR5ID0gIm92ZXJyaWRlRGF0YSI7DQoNCiAgICAgICAgICAgIHJldHVybiBvYmouaGFzT3duUHJvcGVydHkoInByb3BlcnR5IikgJiYgZGF0YSA9PT0gIm92ZXJyaWRlRGF0YSI7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgQXJyYXkucHJvdG90eXBlLnNldDsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'Attributes' is an Array object that uses Object's [[Get]] method to access the 'set' property of prototype object (8.10.5 step 8.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-249-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi0zLTI0OS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdBdHRyaWJ1dGVzJyBpcyBhbiBBcnJheSBvYmplY3QgdGhhdCB1c2VzIE9iamVjdCdzIFtbR2V0XV0gbWV0aG9kIHRvIGFjY2VzcyB0aGUgJ3NldCcgcHJvcGVydHkgKDguMTAuNSBzdGVwIDguYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIHZhciBkYXRhID0gImRhdGEiOw0KICAgICAgICB2YXIgYXJyT2JqID0gW107DQoNCiAgICAgICAgYXJyT2JqLnNldCA9IGZ1bmN0aW9uICh2YWx1ZSkgew0KICAgICAgICAgICAgZGF0YSA9IHZhbHVlOw0KICAgICAgICB9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wZXJ0eSIsIGFyck9iaik7DQogICAgICAgIG9iai5wcm9wZXJ0eSA9ICJvdmVycmlkZURhdGEiOw0KDQogICAgICAgIHJldHVybiBvYmouaGFzT3duUHJvcGVydHkoInByb3BlcnR5IikgJiYgZGF0YSA9PT0gIm92ZXJyaWRlRGF0YSI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - 'Attributes' is an Array object that uses Object's [[Get]] method to access the 'set' property (8.10.5 step 8.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-249.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi0zLTI1LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnR5IC0gJ2VudW1lcmFibGUnIHByb3BlcnR5IGluICdBdHRyaWJ1dGVzJyBpcyBvd24gZGF0YSBwcm9wZXJ0eSB0aGF0IG92ZXJyaWRlcyBhbiBpbmhlcml0ZWQgYWNjZXNzb3IgcHJvcGVydHkgKDguMTAuNSBzdGVwIDMuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIHZhciBwcm90byA9IHt9Ow0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkocHJvdG8sICJlbnVtZXJhYmxlIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgQ29uc3RydWN0RnVuID0gZnVuY3Rpb24gKCkgeyB9Ow0KICAgICAgICBDb25zdHJ1Y3RGdW4ucHJvdG90eXBlID0gcHJvdG87DQoNCiAgICAgICAgdmFyIGNoaWxkID0gbmV3IENvbnN0cnVjdEZ1bigpOw0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoY2hpbGQsICJlbnVtZXJhYmxlIiwgew0KICAgICAgICAgICAgdmFsdWU6ICB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wZXJ0eSIsIGNoaWxkKTsNCg0KICAgICAgICBmb3IgKHZhciBwcm9wIGluIG9iaikgew0KICAgICAgICAgICAgaWYgKHByb3AgPT09ICJwcm9wZXJ0eSIpIHsNCiAgICAgICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICByZXR1cm4gYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - 'enumerable' property in 'Attributes' is own data property that overrides an inherited accessor property (8.10.5 step 3.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-25.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi0zLTI1MC0xLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnR5IC0gJ0F0dHJpYnV0ZXMnIGlzIGEgU3RyaW5nIG9iamVjdCB0aGF0IHVzZXMgT2JqZWN0J3MgW1tHZXRdXSBtZXRob2QgdG8gYWNjZXNzIHRoZSAnc2V0JyBwcm9wZXJ0eSBvZiBwcm90b3R5cGUgb2JqZWN0ICg4LjEwLjUgc3RlcCA4LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgU3RyaW5nLnByb3RvdHlwZS5zZXQgPSBmdW5jdGlvbiAodmFsdWUpIHsNCiAgICAgICAgICAgICAgICBkYXRhID0gdmFsdWU7DQogICAgICAgICAgICB9Ow0KICAgICAgICAgICAgdmFyIHN0ck9iaiA9IG5ldyBTdHJpbmcoKTsNCiAgICAgICAgICAgIHZhciBkYXRhID0gImRhdGEiOw0KDQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcGVydHkiLCBzdHJPYmopOw0KICAgICAgICAgICAgb2JqLnByb3BlcnR5ID0gIm92ZXJyaWRlRGF0YSI7DQoNCiAgICAgICAgICAgIHJldHVybiBvYmouaGFzT3duUHJvcGVydHkoInByb3BlcnR5IikgJiYgZGF0YSA9PT0gIm92ZXJyaWRlRGF0YSI7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgU3RyaW5nLnByb3RvdHlwZS5zZXQ7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'Attributes' is a String object that uses Object's [[Get]] method to access the 'set' property of prototype object (8.10.5 step 8.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-250-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi0zLTI1MC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdBdHRyaWJ1dGVzJyBpcyBhIFN0cmluZyBvYmplY3QgdGhhdCB1c2VzIE9iamVjdCdzIFtbR2V0XV0gbWV0aG9kIHRvIGFjY2VzcyB0aGUgJ3NldCcgcHJvcGVydHkgKDguMTAuNSBzdGVwIDguYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIHZhciBzdHJPYmogPSBuZXcgU3RyaW5nKCk7DQogICAgICAgIHZhciBkYXRhID0gImRhdGEiOw0KDQogICAgICAgIHN0ck9iai5zZXQgPSBmdW5jdGlvbiAodmFsdWUpIHsNCiAgICAgICAgICAgIGRhdGEgPSB2YWx1ZTsNCiAgICAgICAgfTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcGVydHkiLCBzdHJPYmopOw0KICAgICAgICBvYmoucHJvcGVydHkgPSAib3ZlcnJpZGVEYXRhIjsNCg0KICAgICAgICByZXR1cm4gb2JqLmhhc093blByb3BlcnR5KCJwcm9wZXJ0eSIpICYmIGRhdGEgPT09ICJvdmVycmlkZURhdGEiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'Attributes' is a String object that uses Object's [[Get]] method to access the 'set' property (8.10.5 step 8.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-250.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi0zLTI1MS0xLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnR5IC0gJ0F0dHJpYnV0ZXMnIGlzIGEgQm9vbGVhbiBvYmplY3QgdGhhdCB1c2VzIE9iamVjdCdzIFtbR2V0XV0gbWV0aG9kIHRvIGFjY2VzcyB0aGUgJ3NldCcgcHJvcGVydHkgb2YgcHJvdG90eXBlIG9iamVjdCAoOC4xMC41IHN0ZXAgOC5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgdmFyIGRhdGEgPSAiZGF0YSI7DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBCb29sZWFuLnByb3RvdHlwZS5zZXQgPSBmdW5jdGlvbiAodmFsdWUpIHsNCiAgICAgICAgICAgICAgICBkYXRhID0gdmFsdWU7DQogICAgICAgICAgICB9Ow0KICAgICAgICAgICAgdmFyIGJvb2xPYmogPSBuZXcgQm9vbGVhbih0cnVlKTsNCg0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3BlcnR5IiwgYm9vbE9iaik7DQogICAgICAgICAgICBvYmoucHJvcGVydHkgPSAib3ZlcnJpZGVEYXRhIjsNCg0KICAgICAgICAgICAgcmV0dXJuIG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcGVydHkiKSAmJiBkYXRhID09PSAib3ZlcnJpZGVEYXRhIjsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBCb29sZWFuLnByb3RvdHlwZS5zZXQ7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'Attributes' is a Boolean object that uses Object's [[Get]] method to access the 'set' property of prototype object (8.10.5 step 8.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-251-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi0zLTI1MS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdBdHRyaWJ1dGVzJyBpcyBhIEJvb2xlYW4gb2JqZWN0IHRoYXQgdXNlcyBPYmplY3QncyBbW0dldF1dIG1ldGhvZCB0byBhY2Nlc3MgdGhlICdzZXQnIHByb3BlcnR5ICg4LjEwLjUgc3RlcCA4LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICB2YXIgZGF0YSA9ICJkYXRhIjsNCiAgICAgICAgdmFyIGJvb2xPYmogPSBuZXcgQm9vbGVhbih0cnVlKTsNCg0KICAgICAgICBib29sT2JqLnNldCA9IGZ1bmN0aW9uICh2YWx1ZSkgew0KICAgICAgICAgICAgZGF0YSA9IHZhbHVlOw0KICAgICAgICB9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wZXJ0eSIsIGJvb2xPYmopOw0KICAgICAgICBvYmoucHJvcGVydHkgPSAib3ZlcnJpZGVEYXRhIjsNCg0KICAgICAgICByZXR1cm4gb2JqLmhhc093blByb3BlcnR5KCJwcm9wZXJ0eSIpICYmIGRhdGEgPT09ICJvdmVycmlkZURhdGEiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'Attributes' is a Boolean object that uses Object's [[Get]] method to access the 'set' property (8.10.5 step 8.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-251.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi0zLTI1Mi0xLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnR5IC0gJ0F0dHJpYnV0ZXMnIGlzIGEgTnVtYmVyIG9iamVjdCB0aGF0IHVzZXMgT2JqZWN0J3MgW1tHZXRdXSBtZXRob2QgdG8gYWNjZXNzIHRoZSAnc2V0JyBwcm9wZXJ0eSBvZiBwcm90b3R5cGUgb2JqZWN0ICg4LjEwLjUgc3RlcCA4LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICB2YXIgZGF0YSA9ICJkYXRhIjsNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE51bWJlci5wcm90b3R5cGUuc2V0ID0gZnVuY3Rpb24gKHZhbHVlKSB7DQogICAgICAgICAgICAgICAgZGF0YSA9IHZhbHVlOw0KICAgICAgICAgICAgfTsNCiAgICAgICAgICAgIHZhciBudW1PYmogPSBuZXcgTnVtYmVyKC0yKTsNCg0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3BlcnR5IiwgbnVtT2JqKTsNCiAgICAgICAgICAgIG9iai5wcm9wZXJ0eSA9ICJvdmVycmlkZURhdGEiOw0KDQogICAgICAgICAgICByZXR1cm4gb2JqLmhhc093blByb3BlcnR5KCJwcm9wZXJ0eSIpICYmIGRhdGEgPT09ICJvdmVycmlkZURhdGEiOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIE51bWJlci5wcm90b3R5cGUuc2V0Ow0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - 'Attributes' is a Number object that uses Object's [[Get]] method to access the 'set' property of prototype object (8.10.5 step 8.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-252-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi0zLTI1Mi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdBdHRyaWJ1dGVzJyBpcyBhIE51bWJlciBvYmplY3QgdGhhdCB1c2VzIE9iamVjdCdzIFtbR2V0XV0gbWV0aG9kIHRvIGFjY2VzcyB0aGUgJ3NldCcgcHJvcGVydHkgKDguMTAuNSBzdGVwIDguYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIHZhciBkYXRhID0gImRhdGEiOw0KICAgICAgICB2YXIgbnVtT2JqID0gbmV3IE51bWJlcigtMik7DQoNCiAgICAgICAgbnVtT2JqLnNldCA9IGZ1bmN0aW9uICh2YWx1ZSkgew0KICAgICAgICAgICAgZGF0YSA9IHZhbHVlOw0KICAgICAgICB9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wZXJ0eSIsIG51bU9iaik7DQogICAgICAgIG9iai5wcm9wZXJ0eSA9ICJvdmVycmlkZURhdGEiOw0KDQogICAgICAgIHJldHVybiBvYmouaGFzT3duUHJvcGVydHkoInByb3BlcnR5IikgJiYgZGF0YSA9PT0gIm92ZXJyaWRlRGF0YSI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - 'Attributes' is a Number object that uses Object's [[Get]] method to access the 'set' property (8.10.5 step 8.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-252.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi0zLTI1My0xLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnR5IC0gJ0F0dHJpYnV0ZXMnIGlzIHRoZSBNYXRoIG9iamVjdCB0aGF0IHVzZXMgT2JqZWN0J3MgW1tHZXRdXSBtZXRob2QgdG8gYWNjZXNzIHRoZSAnc2V0JyBwcm9wZXJ0eSBvZiBwcm90b3R5cGUgb2JqZWN0ICg4LjEwLjUgc3RlcCA4LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICB2YXIgZGF0YSA9ICJkYXRhIjsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LnByb3RvdHlwZS5zZXQgPSBmdW5jdGlvbiAodmFsdWUpIHsNCiAgICAgICAgICAgICAgICBkYXRhID0gdmFsdWU7DQogICAgICAgICAgICB9Ow0KDQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcGVydHkiLCBNYXRoKTsNCiAgICAgICAgICAgIG9iai5wcm9wZXJ0eSA9ICJvdmVycmlkZURhdGEiOw0KDQogICAgICAgICAgICByZXR1cm4gb2JqLmhhc093blByb3BlcnR5KCJwcm9wZXJ0eSIpICYmIGRhdGEgPT09ICJvdmVycmlkZURhdGEiOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIE9iamVjdC5wcm90b3R5cGUuc2V0Ow0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - 'Attributes' is the Math object that uses Object's [[Get]] method to access the 'set' property of prototype object (8.10.5 step 8.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-253-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi0zLTI1My5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdBdHRyaWJ1dGVzJyBpcyB0aGUgTWF0aCBvYmplY3QgdGhhdCB1c2VzIE9iamVjdCdzIFtbR2V0XV0gbWV0aG9kIHRvIGFjY2VzcyB0aGUgJ3NldCcgcHJvcGVydHkgKDguMTAuNSBzdGVwIDguYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIHZhciBkYXRhID0gImRhdGEiOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBNYXRoLnNldCA9IGZ1bmN0aW9uICh2YWx1ZSkgew0KICAgICAgICAgICAgICAgIGRhdGEgPSB2YWx1ZTsNCiAgICAgICAgICAgIH07DQoNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wZXJ0eSIsIE1hdGgpOw0KICAgICAgICAgICAgb2JqLnByb3BlcnR5ID0gIm92ZXJyaWRlRGF0YSI7DQoNCiAgICAgICAgICAgIHJldHVybiBvYmouaGFzT3duUHJvcGVydHkoInByb3BlcnR5IikgJiYgZGF0YSA9PT0gIm92ZXJyaWRlRGF0YSI7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgTWF0aC5zZXQ7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'Attributes' is the Math object that uses Object's [[Get]] method to access the 'set' property (8.10.5 step 8.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-253.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi0zLTI1NC0xLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnR5IC0gJ0F0dHJpYnV0ZXMnIGlzIGEgRGF0ZSBvYmplY3QgdGhhdCB1c2VzIE9iamVjdCdzIFtbR2V0XV0gbWV0aG9kIHRvIGFjY2VzcyB0aGUgJ3NldCcgcHJvcGVydHkgb2YgcHJvdG90eXBlIG9iamVjdCAoOC4xMC41IHN0ZXAgOC5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgdmFyIGRhdGEgPSAiZGF0YSI7DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBEYXRlLnByb3RvdHlwZS5zZXQgPSBmdW5jdGlvbiAodmFsdWUpIHsNCiAgICAgICAgICAgICAgICBkYXRhID0gdmFsdWU7DQogICAgICAgICAgICB9Ow0KICAgICAgICAgICAgdmFyIGRhdGVPYmogPSBuZXcgRGF0ZSgpOw0KDQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcGVydHkiLCBkYXRlT2JqKTsNCiAgICAgICAgICAgIG9iai5wcm9wZXJ0eSA9ICJvdmVycmlkZURhdGEiOw0KDQogICAgICAgICAgICByZXR1cm4gb2JqLmhhc093blByb3BlcnR5KCJwcm9wZXJ0eSIpICYmIGRhdGEgPT09ICJvdmVycmlkZURhdGEiOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIERhdGUucHJvdG90eXBlLnNldDsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'Attributes' is a Date object that uses Object's [[Get]] method to access the 'set' property of prototype object (8.10.5 step 8.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-254-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi0zLTI1NC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdBdHRyaWJ1dGVzJyBpcyBhIERhdGUgb2JqZWN0IHRoYXQgdXNlcyBPYmplY3QncyBbW0dldF1dIG1ldGhvZCB0byBhY2Nlc3MgdGhlICdzZXQnIHByb3BlcnR5ICg4LjEwLjUgc3RlcCA4LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICB2YXIgZGF0YSA9ICJkYXRhIjsNCiAgICAgICAgdmFyIGRhdGVPYmogPSBuZXcgRGF0ZSgpOw0KDQogICAgICAgIGRhdGVPYmouc2V0ID0gZnVuY3Rpb24gKHZhbHVlKSB7DQogICAgICAgICAgICBkYXRhID0gdmFsdWU7DQogICAgICAgIH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3BlcnR5IiwgZGF0ZU9iaik7DQogICAgICAgIG9iai5wcm9wZXJ0eSA9ICJvdmVycmlkZURhdGEiOw0KDQogICAgICAgIHJldHVybiBvYmouaGFzT3duUHJvcGVydHkoInByb3BlcnR5IikgJiYgZGF0YSA9PT0gIm92ZXJyaWRlRGF0YSI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - 'Attributes' is a Date object that uses Object's [[Get]] method to access the 'set' property (8.10.5 step 8.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-254.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi0zLTI1NS0xLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnR5IC0gJ0F0dHJpYnV0ZXMnIGlzIGEgUmVnRXhwIG9iamVjdCB0aGF0IHVzZXMgT2JqZWN0J3MgW1tHZXRdXSBtZXRob2QgdG8gYWNjZXNzIHRoZSAnc2V0JyBwcm9wZXJ0eSBvZiBwcm90b3R5cGUgb2JqZWN0ICg4LjEwLjUgc3RlcCA4LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICB2YXIgZGF0YSA9ICJkYXRhIjsNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIFJlZ0V4cC5wcm90b3R5cGUuc2V0ID0gZnVuY3Rpb24gKHZhbHVlKSB7DQogICAgICAgICAgICAgICAgZGF0YSA9IHZhbHVlOw0KICAgICAgICAgICAgfTsNCiAgICAgICAgICAgIHZhciByZWdPYmogPSBuZXcgUmVnRXhwKCk7DQoNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wZXJ0eSIsIHJlZ09iaik7DQogICAgICAgICAgICBvYmoucHJvcGVydHkgPSAib3ZlcnJpZGVEYXRhIjsNCg0KICAgICAgICAgICAgcmV0dXJuIG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcGVydHkiKSAmJiBkYXRhID09PSAib3ZlcnJpZGVEYXRhIjsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBSZWdFeHAucHJvdG90eXBlLnNldDsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'Attributes' is a RegExp object that uses Object's [[Get]] method to access the 'set' property of prototype object (8.10.5 step 8.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-255-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi0zLTI1NS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdBdHRyaWJ1dGVzJyBpcyBhIFJlZ0V4cCBvYmplY3QgdGhhdCB1c2VzIE9iamVjdCdzIFtbR2V0XV0gbWV0aG9kIHRvIGFjY2VzcyB0aGUgJ3NldCcgcHJvcGVydHkgKDguMTAuNSBzdGVwIDguYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIHZhciBkYXRhID0gImRhdGEiOw0KICAgICAgICB2YXIgcmVnT2JqID0gbmV3IFJlZ0V4cCgpOw0KDQogICAgICAgIHJlZ09iai5zZXQgPSBmdW5jdGlvbiAodmFsdWUpIHsNCiAgICAgICAgICAgIGRhdGEgPSB2YWx1ZTsNCiAgICAgICAgfTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcGVydHkiLCByZWdPYmopOw0KICAgICAgICBvYmoucHJvcGVydHkgPSAib3ZlcnJpZGVEYXRhIjsNCg0KICAgICAgICByZXR1cm4gb2JqLmhhc093blByb3BlcnR5KCJwcm9wZXJ0eSIpICYmIGRhdGEgPT09ICJvdmVycmlkZURhdGEiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'Attributes' is a RegExp object that uses Object's [[Get]] method to access the 'set' property (8.10.5 step 8.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-255.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi0zLTI1Ni0xLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnR5IC0gJ0F0dHJpYnV0ZXMnIGlzIHRoZSBKU09OIG9iamVjdCB0aGF0IHVzZXMgT2JqZWN0J3MgW1tHZXRdXSBtZXRob2QgdG8gYWNjZXNzIHRoZSAnc2V0JyBwcm9wZXJ0eSBvZiBwcm90b3R5cGUgb2JqZWN0ICg4LjEwLjUgc3RlcCA4LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICB2YXIgZGF0YSA9ICJkYXRhIjsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LnByb3RvdHlwZS5zZXQgPSBmdW5jdGlvbiAodmFsdWUpIHsNCiAgICAgICAgICAgICAgICBkYXRhID0gdmFsdWU7DQogICAgICAgICAgICB9Ow0KDQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcGVydHkiLCBKU09OKTsNCiAgICAgICAgICAgIG9iai5wcm9wZXJ0eSA9ICJvdmVycmlkZURhdGEiOw0KDQogICAgICAgICAgICByZXR1cm4gb2JqLmhhc093blByb3BlcnR5KCJwcm9wZXJ0eSIpICYmIGRhdGEgPT09ICJvdmVycmlkZURhdGEiOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIE9iamVjdC5wcm90b3R5cGUuc2V0Ow0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - 'Attributes' is the JSON object that uses Object's [[Get]] method to access the 'set' property of prototype object (8.10.5 step 8.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-256-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi0zLTI1Ni5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdBdHRyaWJ1dGVzJyBpcyB0aGUgSlNPTiBvYmplY3QgdGhhdCB1c2VzIE9iamVjdCdzIFtbR2V0XV0gbWV0aG9kIHRvIGFjY2VzcyB0aGUgJ3NldCcgcHJvcGVydHkgKDguMTAuNSBzdGVwIDguYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIHZhciBkYXRhID0gImRhdGEiOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBKU09OLnNldCA9IGZ1bmN0aW9uICh2YWx1ZSkgew0KICAgICAgICAgICAgICAgIGRhdGEgPSB2YWx1ZTsNCiAgICAgICAgICAgIH07DQoNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wZXJ0eSIsIEpTT04pOw0KICAgICAgICAgICAgb2JqLnByb3BlcnR5ID0gIm92ZXJyaWRlRGF0YSI7DQoNCiAgICAgICAgICAgIHJldHVybiBvYmouaGFzT3duUHJvcGVydHkoInByb3BlcnR5IikgJiYgZGF0YSA9PT0gIm92ZXJyaWRlRGF0YSI7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgSlNPTi5zZXQ7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'Attributes' is the JSON object that uses Object's [[Get]] method to access the 'set' property (8.10.5 step 8.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-256.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi0zLTI1Ny0xLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnR5IC0gJ0F0dHJpYnV0ZXMnIGlzIGFuIEVycm9yIG9iamVjdCB0aGF0IHVzZXMgT2JqZWN0J3MgW1tHZXRdXSBtZXRob2QgdG8gYWNjZXNzIHRoZSAnc2V0JyBwcm9wZXJ0eSBvZiBwcm90b3R5cGUgb2JqZWN0ICg4LjEwLjUgc3RlcCA4LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICB2YXIgZGF0YSA9ICJkYXRhIjsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgRXJyb3IucHJvdG90eXBlLnNldCA9IGZ1bmN0aW9uICh2YWx1ZSkgew0KICAgICAgICAgICAgICAgIGRhdGEgPSB2YWx1ZTsNCiAgICAgICAgICAgIH07DQogICAgICAgICAgICB2YXIgZXJyT2JqID0gbmV3IEVycm9yKCk7DQoNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wZXJ0eSIsIGVyck9iaik7DQogICAgICAgICAgICBvYmoucHJvcGVydHkgPSAib3ZlcnJpZGVEYXRhIjsNCg0KICAgICAgICAgICAgcmV0dXJuIG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcGVydHkiKSAmJiBkYXRhID09PSAib3ZlcnJpZGVEYXRhIjsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBFcnJvci5wcm90b3R5cGUuc2V0Ow0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - 'Attributes' is an Error object that uses Object's [[Get]] method to access the 'set' property of prototype object (8.10.5 step 8.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-257-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi0zLTI1Ny5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdBdHRyaWJ1dGVzJyBpcyBhbiBFcnJvciBvYmplY3QgdGhhdCB1c2VzIE9iamVjdCdzIFtbR2V0XV0gbWV0aG9kIHRvIGFjY2VzcyB0aGUgJ3NldCcgcHJvcGVydHkgKDguMTAuNSBzdGVwIDguYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIHZhciBkYXRhID0gImRhdGEiOw0KICAgICAgICB2YXIgZXJyT2JqID0gbmV3IEVycm9yKCk7DQoNCiAgICAgICAgZXJyT2JqLnNldCA9IGZ1bmN0aW9uICh2YWx1ZSkgew0KICAgICAgICAgICAgZGF0YSA9IHZhbHVlOw0KICAgICAgICB9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wZXJ0eSIsIGVyck9iaik7DQogICAgICAgIG9iai5wcm9wZXJ0eSA9ICJvdmVycmlkZURhdGEiOw0KDQogICAgICAgIHJldHVybiBvYmouaGFzT3duUHJvcGVydHkoInByb3BlcnR5IikgJiYgZGF0YSA9PT0gIm92ZXJyaWRlRGF0YSI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - 'Attributes' is an Error object that uses Object's [[Get]] method to access the 'set' property (8.10.5 step 8.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-257.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi0zLTI1OC0xLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnR5IC0gJ0F0dHJpYnV0ZXMnIGlzIGFuIEFyZ3VtZW50cyBvYmplY3Qgd2hpY2ggaW1wbGVtZW50cyBpdHMgb3duIFtbR2V0XV0gbWV0aG9kIHRvIGFjY2VzcyB0aGUgJ3NldCcgcHJvcGVydHkgb2YgcHJvdG90eXBlIG9iamVjdCAoOC4xMC41IHN0ZXAgOC5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgdmFyIGRhdGEgPSAiZGF0YSI7DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QucHJvdG90eXBlLnNldCA9IGZ1bmN0aW9uICh2YWx1ZSkgew0KICAgICAgICAgICAgICAgIGRhdGEgPSB2YWx1ZTsNCiAgICAgICAgICAgIH07DQogICAgICAgICAgICB2YXIgYXJnT2JqID0gKGZ1bmN0aW9uICgpIHsgcmV0dXJuIGFyZ3VtZW50czsgfSkoKTsNCg0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3BlcnR5IiwgYXJnT2JqKTsNCiAgICAgICAgICAgIG9iai5wcm9wZXJ0eSA9ICJvdmVycmlkZURhdGEiOw0KDQogICAgICAgICAgICByZXR1cm4gb2JqLmhhc093blByb3BlcnR5KCJwcm9wZXJ0eSIpICYmIGRhdGEgPT09ICJvdmVycmlkZURhdGEiOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIE9iamVjdC5wcm90b3R5cGUuc2V0Ow0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - 'Attributes' is an Arguments object which implements its own [[Get]] method to access the 'set' property of prototype object (8.10.5 step 8.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-258-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi0zLTI1OC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdBdHRyaWJ1dGVzJyBpcyBhbiBBcmd1bWVudHMgb2JqZWN0IHdoaWNoIGltcGxlbWVudHMgaXRzIG93biBbW0dldF1dIG1ldGhvZCB0byBhY2Nlc3MgdGhlICdzZXQnIHByb3BlcnR5ICg4LjEwLjUgc3RlcCA4LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICB2YXIgZGF0YSA9ICJkYXRhIjsNCiAgICAgICAgdmFyIGFyZ09iaiA9IChmdW5jdGlvbiAoKSB7IHJldHVybiBhcmd1bWVudHM7IH0pKCk7DQogICAgICAgIGFyZ09iai5zZXQgPSBmdW5jdGlvbiAodmFsdWUpIHsNCiAgICAgICAgICAgIGRhdGEgPSB2YWx1ZTsNCiAgICAgICAgfTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcGVydHkiLCBhcmdPYmopOw0KICAgICAgICBvYmoucHJvcGVydHkgPSAib3ZlcnJpZGVEYXRhIjsNCg0KICAgICAgICByZXR1cm4gb2JqLmhhc093blByb3BlcnR5KCJwcm9wZXJ0eSIpICYmIGRhdGEgPT09ICJvdmVycmlkZURhdGEiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'Attributes' is an Arguments object which implements its own [[Get]] method to access the 'set' property (8.10.5 step 8.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-258.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi0zLTI2LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnR5IC0gJ2VudW1lcmFibGUnIHByb3BlcnR5IGluICdBdHRyaWJ1dGVzJyBpcyBvd24gYWNjZXNzb3IgcHJvcGVydHkgKDguMTAuNSBzdGVwIDMuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIHZhciBhdHRyID0ge307DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhdHRyLCAiZW51bWVyYWJsZSIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcGVydHkiLCBhdHRyKTsNCg0KICAgICAgICBmb3IgKHZhciBwcm9wIGluIG9iaikgew0KICAgICAgICAgICAgaWYgKHByb3AgPT09ICJwcm9wZXJ0eSIpIHsNCiAgICAgICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCiAgICAgICAgcmV0dXJuIGFjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'enumerable' property in 'Attributes' is own accessor property (8.10.5 step 3.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-26.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi0zLTI2MC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdBdHRyaWJ1dGVzJyBpcyB0aGUgZ2xvYmFsIG9iamVjdCB0aGF0IHVzZXMgT2JqZWN0J3MgW1tHZXRdXSBtZXRob2QgdG8gYWNjZXNzIHRoZSAnc2V0JyBwcm9wZXJ0eSAoOC4xMC41IHN0ZXAgOC5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgdmFyIGRhdGEgPSAiZGF0YSI7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIGZuR2xvYmFsT2JqZWN0KCkuc2V0ID0gZnVuY3Rpb24gKHZhbHVlKSB7DQogICAgICAgICAgICAgICAgZGF0YSA9IHZhbHVlOw0KICAgICAgICAgICAgfTsNCg0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3BlcnR5IiwgZm5HbG9iYWxPYmplY3QoKSk7DQogICAgICAgICAgICBvYmoucHJvcGVydHkgPSAib3ZlcnJpZGVEYXRhIjsNCg0KICAgICAgICAgICAgcmV0dXJuIG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcGVydHkiKSAmJiBkYXRhID09PSAib3ZlcnJpZGVEYXRhIjsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBmbkdsb2JhbE9iamVjdCgpLnNldDsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'Attributes' is the global object that uses Object's [[Get]] method to access the 'set' property (8.10.5 step 8.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-260.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi0zLTI2MS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtIHZhbHVlIG9mICdzZXQnIHByb3BlcnR5IGluICdBdHRyaWJ1dGVzJyBpcyB1bmRlZmluZWQgKDguMTAuNSBzdGVwIDguYikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3BlcnR5Iiwgew0KICAgICAgICAgICAgc2V0OiB1bmRlZmluZWQNCiAgICAgICAgfSk7DQoNCiAgICAgICAgb2JqLnByb3BlcnR5ID0gIm92ZXJyaWRlRGF0YSI7DQogICAgICAgIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wZXJ0eSIpOw0KICAgICAgICByZXR1cm4gb2JqLmhhc093blByb3BlcnR5KCJwcm9wZXJ0eSIpICYmIHR5cGVvZiBvYmoucHJvcGVydHkgPT09ICJ1bmRlZmluZWQiICYmDQogICAgICAgICAgICB0eXBlb2YgZGVzYy5zZXQgPT09ICJ1bmRlZmluZWQiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - value of 'set' property in 'Attributes' is undefined (8.10.5 step 8.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-261.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi0zLTI2Mi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtIHZhbHVlIG9mICdzZXQnIHByb3BlcnR5IGluICdBdHRyaWJ1dGVzJyBpcyBhIGZ1bmN0aW9uICg4LjEwLjUgc3RlcCA4LmIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICB2YXIgZGF0YSA9ICJkYXRhIjsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcGVydHkiLCB7DQogICAgICAgICAgICBzZXQ6IGZ1bmN0aW9uICh2YWx1ZSkgew0KICAgICAgICAgICAgICAgIGRhdGEgPSB2YWx1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQogICAgICAgIG9iai5wcm9wZXJ0eSA9ICJvdmVycmlkZURhdGEiOw0KDQogICAgICAgIHJldHVybiBvYmouaGFzT3duUHJvcGVydHkoInByb3BlcnR5IikgJiYgZGF0YSA9PT0gIm92ZXJyaWRlRGF0YSI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - value of 'set' property in 'Attributes' is a function (8.10.5 step 8.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-262.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi0zLTI3LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnR5IC0gJ2VudW1lcmFibGUnIHByb3BlcnR5IGluICdBdHRyaWJ1dGVzJyBpcyBhbiBpbmhlcml0ZWQgYWNjZXNzb3IgcHJvcGVydHkgKDguMTAuNSBzdGVwIDMuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIHZhciBwcm90byA9IHt9Ow0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkocHJvdG8sICJlbnVtZXJhYmxlIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBDb25zdHJ1Y3RGdW4gPSBmdW5jdGlvbiAoKSB7IH07DQogICAgICAgIENvbnN0cnVjdEZ1bi5wcm90b3R5cGUgPSBwcm90bzsNCg0KICAgICAgICB2YXIgY2hpbGQgPSBuZXcgQ29uc3RydWN0RnVuKCk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3BlcnR5IiwgY2hpbGQpOw0KDQogICAgICAgIGZvciAodmFyIHByb3AgaW4gb2JqKSB7DQogICAgICAgICAgICBpZiAocHJvcCA9PT0gInByb3BlcnR5Iikgew0KICAgICAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KICAgICAgICByZXR1cm4gYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - 'enumerable' property in 'Attributes' is an inherited accessor property (8.10.5 step 3.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-27.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi0zLTI4LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnR5IC0gJ2VudW1lcmFibGUnIHByb3BlcnR5IGluICdBdHRyaWJ1dGVzJyBpcyBvd24gYWNjZXNzb3IgcHJvcGVydHkgdGhhdCBvdmVycmlkZXMgYW4gaW5oZXJpdGVkIGRhdGEgcHJvcGVydHkgKDguMTAuNSBzdGVwIDMuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIHZhciBwcm90byA9IHsgZW51bWVyYWJsZTogZmFsc2UgfTsNCg0KICAgICAgICB2YXIgQ29uc3RydWN0RnVuID0gZnVuY3Rpb24gKCkgeyB9Ow0KICAgICAgICBDb25zdHJ1Y3RGdW4ucHJvdG90eXBlID0gcHJvdG87DQoNCiAgICAgICAgdmFyIGNoaWxkID0gbmV3IENvbnN0cnVjdEZ1bigpOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShjaGlsZCwgImVudW1lcmFibGUiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3BlcnR5IiwgY2hpbGQpOw0KDQogICAgICAgIGZvciAodmFyIHByb3AgaW4gb2JqKSB7DQogICAgICAgICAgICBpZiAocHJvcCA9PT0gInByb3BlcnR5Iikgew0KICAgICAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KICAgICAgICByZXR1cm4gYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - 'enumerable' property in 'Attributes' is own accessor property that overrides an inherited data property (8.10.5 step 3.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-28.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi0zLTI5LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnR5IC0gJ2VudW1lcmFibGUnIHByb3BlcnR5IGluICdBdHRyaWJ1dGVzJyBpcyBvd24gYWNjZXNzb3IgcHJvcGVydHkgdGhhdCBvdmVycmlkZXMgYW4gaW5oZXJpdGVkIGFjY2Vzc29yIHByb3BlcnR5ICg4LjEwLjUgc3RlcCAzLmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCiAgICAgICAgdmFyIHByb3RvID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHByb3RvLCAiZW51bWVyYWJsZSIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIENvbnN0cnVjdEZ1biA9IGZ1bmN0aW9uICgpIHsgfTsNCiAgICAgICAgQ29uc3RydWN0RnVuLnByb3RvdHlwZSA9IHByb3RvOw0KDQogICAgICAgIHZhciBjaGlsZCA9IG5ldyBDb25zdHJ1Y3RGdW4oKTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoY2hpbGQsICJlbnVtZXJhYmxlIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wZXJ0eSIsIGNoaWxkKTsNCg0KICAgICAgICBmb3IgKHZhciBwcm9wIGluIG9iaikgew0KICAgICAgICAgICAgaWYgKHByb3AgPT09ICJwcm9wZXJ0eSIpIHsNCiAgICAgICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCiAgICAgICAgcmV0dXJuIGFjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'enumerable' property in 'Attributes' is own accessor property that overrides an inherited accessor property (8.10.5 step 3.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-29.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogVGhlIGFidHJhY3Qgb3BlcmF0aW9uIFRvUHJvcGVydHlEZXNjcmlwdG9yICBpcyB1c2VkIHRvIHBhY2thZ2UgdGhlDQogKiBpbnRvIGEgcHJvcGVydHkgZGVzYy4gU3RlcCAxMCBvZiBUb1Byb3BlcnR5RGVzY3JpcHRvciB0aHJvd3MgYSBUeXBlRXJyb3INCiAqIGlmIHRoZSBwcm9wZXJ0eSBkZXNjIGVuZHMgdXAgaGF2aW5nIGEgbWl4IG9mIGFjY2Vzc29yIGFuZCBkYXRhIHByb3BlcnR5IGVsZW1lbnRzLg0KICoNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy0zLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnR5IHRocm93cyBUeXBlRXJyb3IgaWYgZGVzYyBoYXMgJ3NldCcgYW5kICd2YWx1ZScgcHJlc2VudCg4LjEwLjUgc3RlcCA5LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICB2YXIgbyA9IHt9Ow0KDQogICAgLy8gZHVtbXkgc2V0dGVyDQogICAgdmFyIHNldHRlciA9IGZ1bmN0aW9uICgpIHsgfQ0KICAgIHZhciBkZXNjID0geyBzZXQ6IHNldHRlciwgdmFsdWU6IDEwMX07DQogICAgDQogICAgdHJ5IHsNCiAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvLCAiZm9vIiwgZGVzYyk7DQogICAgfQ0KICAgIGNhdGNoIChlKSB7DQogICAgICBpZiAoZSBpbnN0YW5jZW9mIFR5cGVFcnJvciAmJg0KICAgICAgICAgIChvLmhhc093blByb3BlcnR5KCJmb28iKSA9PT0gZmFsc2UpKSB7DQogICAgICAgIHJldHVybiB0cnVlOw0KICAgICAgfQ0KICAgIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"The abtract operation ToPropertyDescriptor is used to package the\ninto a property desc. Step 10 of ToPropertyDescriptor throws a TypeError\nif the property desc ends up having a mix of accessor and data property elements.","description":"Object.defineProperty throws TypeError if desc has 'set' and 'value' present(8.10.5 step 9.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi0zLTMwLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnR5IC0gJ2VudW1lcmFibGUnIHByb3BlcnR5IGluICdBdHRyaWJ1dGVzJyBpcyBvd24gYWNjZXNzb3IgcHJvcGVydHkgd2l0aG91dCBhIGdldCBmdW5jdGlvbiAoOC4xMC41IHN0ZXAgMy5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQoNCiAgICAgICAgdmFyIGF0dHIgPSB7fTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGF0dHIsICJlbnVtZXJhYmxlIiwgew0KICAgICAgICAgICAgc2V0OiBmdW5jdGlvbiAoKSB7IH0NCiAgICAgICAgfSk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3BlcnR5IiwgYXR0cik7DQoNCiAgICAgICAgZm9yICh2YXIgcHJvcCBpbiBvYmopIHsNCiAgICAgICAgICAgIGlmIChwcm9wID09PSAicHJvcGVydHkiKSB7DQogICAgICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQogICAgICAgIHJldHVybiAhYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - 'enumerable' property in 'Attributes' is own accessor property without a get function (8.10.5 step 3.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-30.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi0zLTMxLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnR5IC0gJ2VudW1lcmFibGUnIHByb3BlcnR5IGluICdBdHRyaWJ1dGVzJyBpcyBvd24gYWNjZXNzb3IgcHJvcGVydHkod2l0aG91dCBhIGdldCBmdW5jdGlvbikgdGhhdCBvdmVycmlkZXMgYW4gaW5oZXJpdGVkIGFjY2Vzc29yIHByb3BlcnR5ICg4LjEwLjUgc3RlcCAzLmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCiAgICAgICAgdmFyIHByb3RvID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHByb3RvLCAiZW51bWVyYWJsZSIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgQ29uc3RydWN0RnVuID0gZnVuY3Rpb24gKCkgeyB9Ow0KICAgICAgICBDb25zdHJ1Y3RGdW4ucHJvdG90eXBlID0gcHJvdG87DQoNCiAgICAgICAgdmFyIGNoaWxkID0gbmV3IENvbnN0cnVjdEZ1bigpOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShjaGlsZCwgImVudW1lcmFibGUiLCB7DQogICAgICAgICAgICBzZXQ6IGZ1bmN0aW9uICgpIHsgfQ0KICAgICAgICB9KTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcGVydHkiLCBjaGlsZCk7DQoNCiAgICAgICAgZm9yICh2YXIgcHJvcCBpbiBvYmopIHsNCiAgICAgICAgICAgIGlmIChwcm9wID09PSAicHJvcGVydHkiKSB7DQogICAgICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQogICAgICAgIHJldHVybiAhYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - 'enumerable' property in 'Attributes' is own accessor property(without a get function) that overrides an inherited accessor property (8.10.5 step 3.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-31.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi0zLTMyLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnR5IC0gJ2VudW1lcmFibGUnIHByb3BlcnR5IGluICdBdHRyaWJ1dGVzJyBpcyBhbiBpbmhlcml0ZWQgYWNjZXNzb3IgcHJvcGVydHkgd2l0aG91dCBhIGdldCBmdW5jdGlvbiAoOC4xMC41IHN0ZXAgMy5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQogICAgICAgIHZhciBwcm90byA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShwcm90bywgImVudW1lcmFibGUiLCB7DQogICAgICAgICAgICBzZXQ6IGZ1bmN0aW9uICgpIHsgfQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgQ29uc3RydWN0RnVuID0gZnVuY3Rpb24gKCkgeyB9Ow0KICAgICAgICBDb25zdHJ1Y3RGdW4ucHJvdG90eXBlID0gcHJvdG87DQoNCiAgICAgICAgdmFyIGNoaWxkID0gbmV3IENvbnN0cnVjdEZ1bigpOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wZXJ0eSIsIGNoaWxkKTsNCg0KICAgICAgICBmb3IgKHZhciBwcm9wIGluIG9iaikgew0KICAgICAgICAgICAgaWYgKHByb3AgPT09ICJwcm9wZXJ0eSIpIHsNCiAgICAgICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCiAgICAgICAgcmV0dXJuICFhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'enumerable' property in 'Attributes' is an inherited accessor property without a get function (8.10.5 step 3.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-32.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi0zLTMzLTEuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnQXR0cmlidXRlcycgaXMgYSBGdW5jdGlvbiBvYmplY3Qgd2hpY2ggaW1wbGVtZW50cyBpdHMgb3duIFtbR2V0XV0gbWV0aG9kIHRvIGFjY2VzcyB0aGUgJ2VudW1lcmFibGUnIHByb3BlcnR5IG9mIHByb3RvdHlwZSBvYmplY3QgKDguMTAuNSBzdGVwIDMuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgRnVuY3Rpb24ucHJvdG90eXBlLmVudW1lcmFibGUgPSB0cnVlOw0KICAgICAgICAgICAgdmFyIGZ1biA9IGZ1bmN0aW9uICgpIHsgfTsNCg0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3BlcnR5IiwgZnVuKTsNCg0KICAgICAgICAgICAgZm9yICh2YXIgcHJvcCBpbiBvYmopIHsNCiAgICAgICAgICAgICAgICBpZiAocHJvcCA9PT0gInByb3BlcnR5Iikgew0KICAgICAgICAgICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICByZXR1cm4gYWNjZXNzZWQ7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgRnVuY3Rpb24ucHJvdG90eXBlLmVudW1lcmFibGU7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'Attributes' is a Function object which implements its own [[Get]] method to access the 'enumerable' property of prototype object (8.10.5 step 3.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-33-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi0zLTMzLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnR5IC0gJ0F0dHJpYnV0ZXMnIGlzIGEgRnVuY3Rpb24gb2JqZWN0IHdoaWNoIGltcGxlbWVudHMgaXRzIG93biBbW0dldF1dIG1ldGhvZCB0byBhY2Nlc3MgdGhlICdlbnVtZXJhYmxlJyBwcm9wZXJ0eSAoOC4xMC41IHN0ZXAgMy5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQoNCiAgICAgICAgdmFyIGZ1biA9IGZ1bmN0aW9uICgpIHsgfTsNCiAgICAgICAgZnVuLmVudW1lcmFibGUgPSB0cnVlOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wZXJ0eSIsIGZ1bik7DQoNCiAgICAgICAgZm9yICh2YXIgcHJvcCBpbiBvYmopIHsNCiAgICAgICAgICAgIGlmIChwcm9wID09PSAicHJvcGVydHkiKSB7DQogICAgICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgcmV0dXJuIGFjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'Attributes' is a Function object which implements its own [[Get]] method to access the 'enumerable' property (8.10.5 step 3.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-33.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi0zLTM0LTEuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnQXR0cmlidXRlcycgaXMgYW4gQXJyYXkgb2JqZWN0IHRoYXQgdXNlcyBPYmplY3QncyBbW0dldF1dIG1ldGhvZCB0byBhY2Nlc3MgdGhlICdlbnVtZXJhYmxlJyBwcm9wZXJ0eSBvZiBwcm90b3R5cGUgb2JqZWN0ICg4LjEwLjUgc3RlcCAzLmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIEFycmF5LnByb3RvdHlwZS5lbnVtZXJhYmxlID0gdHJ1ZTsNCiAgICAgICAgICAgIHZhciBhcnJPYmogPSBbXTsNCg0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3BlcnR5IiwgYXJyT2JqKTsNCg0KICAgICAgICAgICAgZm9yICh2YXIgcHJvcCBpbiBvYmopIHsNCiAgICAgICAgICAgICAgICBpZiAocHJvcCA9PT0gInByb3BlcnR5Iikgew0KICAgICAgICAgICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICByZXR1cm4gYWNjZXNzZWQ7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgQXJyYXkucHJvdG90eXBlLmVudW1lcmFibGU7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'Attributes' is an Array object that uses Object's [[Get]] method to access the 'enumerable' property of prototype object (8.10.5 step 3.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-34-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi0zLTM0LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnR5IC0gJ0F0dHJpYnV0ZXMnIGlzIGFuIEFycmF5IG9iamVjdCB0aGF0IHVzZXMgT2JqZWN0J3MgW1tHZXRdXSBtZXRob2QgdG8gYWNjZXNzIHRoZSAnZW51bWVyYWJsZScgcHJvcGVydHkgKDguMTAuNSBzdGVwIDMuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIHZhciBhcnJPYmogPSBbXTsNCiAgICAgICAgYXJyT2JqLmVudW1lcmFibGUgPSB0cnVlOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wZXJ0eSIsIGFyck9iaik7DQoNCiAgICAgICAgZm9yICh2YXIgcHJvcCBpbiBvYmopIHsNCiAgICAgICAgICAgIGlmIChwcm9wID09PSAicHJvcGVydHkiKSB7DQogICAgICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgcmV0dXJuIGFjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'Attributes' is an Array object that uses Object's [[Get]] method to access the 'enumerable' property (8.10.5 step 3.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-34.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi0zLTM1LTEuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnQXR0cmlidXRlcycgaXMgYSBTdHJpbmcgb2JqZWN0IHRoYXQgdXNlcyBPYmplY3QncyBbW0dldF1dIG1ldGhvZCB0byBhY2Nlc3MgdGhlICdlbnVtZXJhYmxlJyBwcm9wZXJ0eSBvZiBwcm90b3R5cGUgb2JqZWN0ICg4LjEwLjUgc3RlcCAzLmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIFN0cmluZy5wcm90b3R5cGUuZW51bWVyYWJsZSA9IHRydWU7DQogICAgICAgICAgICB2YXIgc3RyT2JqID0gbmV3IFN0cmluZygpOw0KDQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcGVydHkiLCBzdHJPYmopOw0KDQogICAgICAgICAgICBmb3IgKHZhciBwcm9wIGluIG9iaikgew0KICAgICAgICAgICAgICAgIGlmIChwcm9wID09PSAicHJvcGVydHkiKSB7DQogICAgICAgICAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9DQoNCiAgICAgICAgICAgIHJldHVybiBhY2Nlc3NlZDsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBTdHJpbmcucHJvdG90eXBlLmVudW1lcmFibGU7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'Attributes' is a String object that uses Object's [[Get]] method to access the 'enumerable' property of prototype object (8.10.5 step 3.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-35-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi0zLTM1LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnR5IC0gJ0F0dHJpYnV0ZXMnIGlzIGEgU3RyaW5nIG9iamVjdCB0aGF0IHVzZXMgT2JqZWN0J3MgW1tHZXRdXSBtZXRob2QgdG8gYWNjZXNzIHRoZSAnZW51bWVyYWJsZScgcHJvcGVydHkgKDguMTAuNSBzdGVwIDMuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIHZhciBzdHJPYmogPSBuZXcgU3RyaW5nKCk7DQogICAgICAgIHN0ck9iai5lbnVtZXJhYmxlID0gdHJ1ZTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcGVydHkiLCBzdHJPYmopOw0KDQogICAgICAgIGZvciAodmFyIHByb3AgaW4gb2JqKSB7DQogICAgICAgICAgICBpZiAocHJvcCA9PT0gInByb3BlcnR5Iikgew0KICAgICAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIHJldHVybiBhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'Attributes' is a String object that uses Object's [[Get]] method to access the 'enumerable' property (8.10.5 step 3.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-35.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi0zLTM2LTEuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnQXR0cmlidXRlcycgaXMgYSBCb29sZWFuIG9iamVjdCB0aGF0IHVzZXMgT2JqZWN0J3MgW1tHZXRdXSBtZXRob2QgdG8gYWNjZXNzIHRoZSAnZW51bWVyYWJsZScgcHJvcGVydHkgb2YgcHJvdG90eXBlIG9iamVjdCAoOC4xMC41IHN0ZXAgMy5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBCb29sZWFuLnByb3RvdHlwZS5lbnVtZXJhYmxlID0gdHJ1ZTsNCiAgICAgICAgICAgIHZhciBib29sT2JqID0gbmV3IEJvb2xlYW4odHJ1ZSk7DQoNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wZXJ0eSIsIGJvb2xPYmopOw0KDQogICAgICAgICAgICBmb3IgKHZhciBwcm9wIGluIG9iaikgew0KICAgICAgICAgICAgICAgIGlmIChwcm9wID09PSAicHJvcGVydHkiKSB7DQogICAgICAgICAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9DQoNCiAgICAgICAgICAgIHJldHVybiBhY2Nlc3NlZDsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBCb29sZWFuLnByb3RvdHlwZS5lbnVtZXJhYmxlOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - 'Attributes' is a Boolean object that uses Object's [[Get]] method to access the 'enumerable' property of prototype object (8.10.5 step 3.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-36-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi0zLTM2LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnR5IC0gJ0F0dHJpYnV0ZXMnIGlzIGEgQm9vbGVhbiBvYmplY3QgdGhhdCB1c2VzIE9iamVjdCdzIFtbR2V0XV0gbWV0aG9kIHRvIGFjY2VzcyB0aGUgJ2VudW1lcmFibGUnIHByb3BlcnR5ICg4LjEwLjUgc3RlcCAzLmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICB2YXIgYm9vbE9iaiA9IG5ldyBCb29sZWFuKHRydWUpOw0KICAgICAgICBib29sT2JqLmVudW1lcmFibGUgPSB0cnVlOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wZXJ0eSIsIGJvb2xPYmopOw0KDQogICAgICAgIGZvciAodmFyIHByb3AgaW4gb2JqKSB7DQogICAgICAgICAgICBpZiAocHJvcCA9PT0gInByb3BlcnR5Iikgew0KICAgICAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIHJldHVybiBhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'Attributes' is a Boolean object that uses Object's [[Get]] method to access the 'enumerable' property (8.10.5 step 3.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-36.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi0zLTM3LTEuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnQXR0cmlidXRlcycgaXMgYSBOdW1iZXIgb2JqZWN0IHRoYXQgdXNlcyBPYmplY3QncyBbW0dldF1dIG1ldGhvZCB0byBhY2Nlc3MgdGhlICdlbnVtZXJhYmxlJyBwcm9wZXJ0eSBvZiBwcm90b3R5cGUgb2JqZWN0ICg4LjEwLjUgc3RlcCAzLmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE51bWJlci5wcm90b3R5cGUuZW51bWVyYWJsZSA9IHRydWU7DQogICAgICAgICAgICB2YXIgbnVtT2JqID0gbmV3IE51bWJlcigtMik7DQoNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wZXJ0eSIsIG51bU9iaik7DQoNCiAgICAgICAgICAgIGZvciAodmFyIHByb3AgaW4gb2JqKSB7DQogICAgICAgICAgICAgICAgaWYgKHByb3AgPT09ICJwcm9wZXJ0eSIpIHsNCiAgICAgICAgICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgcmV0dXJuIGFjY2Vzc2VkOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIE51bWJlci5wcm90b3R5cGUuZW51bWVyYWJsZTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'Attributes' is a Number object that uses Object's [[Get]] method to access the 'enumerable' property of prototype object (8.10.5 step 3.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-37-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi0zLTM3LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnR5IC0gJ0F0dHJpYnV0ZXMnIGlzIGEgTnVtYmVyIG9iamVjdCB0aGF0IHVzZXMgT2JqZWN0J3MgW1tHZXRdXSBtZXRob2QgdG8gYWNjZXNzIHRoZSAnZW51bWVyYWJsZScgcHJvcGVydHkgKDguMTAuNSBzdGVwIDMuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIHZhciBudW1PYmogPSBuZXcgTnVtYmVyKC0yKTsNCiAgICAgICAgbnVtT2JqLmVudW1lcmFibGUgPSB0cnVlOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wZXJ0eSIsIG51bU9iaik7DQoNCiAgICAgICAgZm9yICh2YXIgcHJvcCBpbiBvYmopIHsNCiAgICAgICAgICAgIGlmIChwcm9wID09PSAicHJvcGVydHkiKSB7DQogICAgICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgcmV0dXJuIGFjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'Attributes' is a Number object that uses Object's [[Get]] method to access the 'enumerable' property (8.10.5 step 3.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-37.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi0zLTM4LTEuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnQXR0cmlidXRlcycgaXMgdGhlIE1hdGggb2JqZWN0IHRoYXQgdXNlcyBPYmplY3QncyBbW0dldF1dIG1ldGhvZCB0byBhY2Nlc3MgdGhlICdlbnVtZXJhYmxlJyBwcm9wZXJ0eSBvZiBwcm90b3R5cGUgb2JqZWN0ICg4LjEwLjUgc3RlcCAzLmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5wcm90b3R5cGUuZW51bWVyYWJsZSA9IHRydWU7DQoNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wZXJ0eSIsIE1hdGgpOw0KDQogICAgICAgICAgICBmb3IgKHZhciBwcm9wIGluIG9iaikgew0KICAgICAgICAgICAgICAgIGlmIChwcm9wID09PSAicHJvcGVydHkiKSB7DQogICAgICAgICAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9DQogICAgICAgICAgICByZXR1cm4gYWNjZXNzZWQ7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgT2JqZWN0LnByb3RvdHlwZS5lbnVtZXJhYmxlOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - 'Attributes' is the Math object that uses Object's [[Get]] method to access the 'enumerable' property of prototype object (8.10.5 step 3.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-38-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi0zLTM4LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnR5IC0gJ0F0dHJpYnV0ZXMnIGlzIHRoZSBNYXRoIG9iamVjdCB0aGF0IHVzZXMgT2JqZWN0J3MgW1tHZXRdXSBtZXRob2QgdG8gYWNjZXNzIHRoZSAnZW51bWVyYWJsZScgcHJvcGVydHkgKDguMTAuNSBzdGVwIDMuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBNYXRoLmVudW1lcmFibGUgPSB0cnVlOw0KDQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcGVydHkiLCBNYXRoKTsNCg0KICAgICAgICAgICAgZm9yICh2YXIgcHJvcCBpbiBvYmopIHsNCiAgICAgICAgICAgICAgICBpZiAocHJvcCA9PT0gInByb3BlcnR5Iikgew0KICAgICAgICAgICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgcmV0dXJuIGFjY2Vzc2VkOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIE1hdGguZW51bWVyYWJsZTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'Attributes' is the Math object that uses Object's [[Get]] method to access the 'enumerable' property (8.10.5 step 3.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-38.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi0zLTM5LTEuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnQXR0cmlidXRlcycgaXMgYSBEYXRlIG9iamVjdCB0aGF0IHVzZXMgT2JqZWN0J3MgW1tHZXRdXSBtZXRob2QgdG8gYWNjZXNzIHRoZSAnZW51bWVyYWJsZScgcHJvcGVydHkgb2YgcHJvdG90eXBlIG9iamVjdCAoOC4xMC41IHN0ZXAgMy5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIERhdGUucHJvdG90eXBlLmVudW1lcmFibGUgPSB0cnVlOw0KICAgICAgICAgICAgdmFyIGRhdGVPYmogPSBuZXcgRGF0ZSgpOw0KDQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcGVydHkiLCBkYXRlT2JqKTsNCg0KICAgICAgICAgICAgZm9yICh2YXIgcHJvcCBpbiBvYmopIHsNCiAgICAgICAgICAgICAgICBpZiAocHJvcCA9PT0gInByb3BlcnR5Iikgew0KICAgICAgICAgICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgcmV0dXJuIGFjY2Vzc2VkOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIERhdGUucHJvdG90eXBlLmVudW1lcmFibGU7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'Attributes' is a Date object that uses Object's [[Get]] method to access the 'enumerable' property of prototype object (8.10.5 step 3.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-39-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi0zLTM5LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnR5IC0gJ0F0dHJpYnV0ZXMnIGlzIGEgRGF0ZSBvYmplY3QgdGhhdCB1c2VzIE9iamVjdCdzIFtbR2V0XV0gbWV0aG9kIHRvIGFjY2VzcyB0aGUgJ2VudW1lcmFibGUnIHByb3BlcnR5ICg4LjEwLjUgc3RlcCAzLmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICB2YXIgZGF0ZU9iaiA9IG5ldyBEYXRlKCk7DQogICAgICAgIGRhdGVPYmouZW51bWVyYWJsZSA9IHRydWU7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3BlcnR5IiwgZGF0ZU9iaik7DQoNCiAgICAgICAgZm9yICh2YXIgcHJvcCBpbiBvYmopIHsNCiAgICAgICAgICAgIGlmIChwcm9wID09PSAicHJvcGVydHkiKSB7DQogICAgICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQogICAgICAgIHJldHVybiBhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'Attributes' is a Date object that uses Object's [[Get]] method to access the 'enumerable' property (8.10.5 step 3.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-39.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogVGhlIGFidHJhY3Qgb3BlcmF0aW9uIFRvUHJvcGVydHlEZXNjcmlwdG9yICBpcyB1c2VkIHRvIHBhY2thZ2UgdGhlDQogKiBpbnRvIGEgcHJvcGVydHkgZGVzYy4gU3RlcCAxMCBvZiBUb1Byb3BlcnR5RGVzY3JpcHRvciB0aHJvd3MgYSBUeXBlRXJyb3INCiAqIGlmIHRoZSBwcm9wZXJ0eSBkZXNjIGVuZHMgdXAgaGF2aW5nIGEgbWl4IG9mIGFjY2Vzc29yIGFuZCBkYXRhIHByb3BlcnR5IGVsZW1lbnRzLg0KICoNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy00LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnR5IHRocm93cyBUeXBlRXJyb3IgaWYgZGVzYyBoYXMgJ3NldCcgYW5kICd3cml0YWJsZScgcHJlc2VudCg4LjEwLjUgc3RlcCA5LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICB2YXIgbyA9IHt9Ow0KICAgIA0KICAgIC8vIGR1bW15IGdldHRlcg0KICAgIHZhciBzZXR0ZXIgPSBmdW5jdGlvbiAoKSB7IH0NCiAgICB2YXIgZGVzYyA9IHsgc2V0OiBzZXR0ZXIsIHdyaXRhYmxlOiBmYWxzZSB9Ow0KICAgIA0KICAgIHRyeSB7DQogICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkobywgImZvbyIsIGRlc2MpOw0KICAgIH0NCiAgICBjYXRjaCAoZSkgew0KICAgICAgaWYgKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IgJiYNCiAgICAgICAgICAoby5oYXNPd25Qcm9wZXJ0eSgiZm9vIikgPT09IGZhbHNlKSkgew0KICAgICAgICByZXR1cm4gdHJ1ZTsNCiAgICAgIH0NCiAgICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"The abtract operation ToPropertyDescriptor is used to package the\ninto a property desc. Step 10 of ToPropertyDescriptor throws a TypeError\nif the property desc ends up having a mix of accessor and data property elements.","description":"Object.defineProperty throws TypeError if desc has 'set' and 'writable' present(8.10.5 step 9.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi0zLTQwLTEuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnQXR0cmlidXRlcycgaXMgYW4gUmVnRXhwIG9iamVjdCB0aGF0IHVzZXMgT2JqZWN0J3MgW1tHZXRdXSBtZXRob2QgdG8gYWNjZXNzIHRoZSAnZW51bWVyYWJsZScgcHJvcGVydHkgb2YgcHJvdG90eXBlIG9iamVjdCAoOC4xMC41IHN0ZXAgMy5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBSZWdFeHAucHJvdG90eXBlLmVudW1lcmFibGUgPSB0cnVlOw0KICAgICAgICAgICAgdmFyIHJlZ09iaiA9IG5ldyBSZWdFeHAoKTsNCg0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3BlcnR5IiwgcmVnT2JqKTsNCg0KICAgICAgICAgICAgZm9yICh2YXIgcHJvcCBpbiBvYmopIHsNCiAgICAgICAgICAgICAgICBpZiAocHJvcCA9PT0gInByb3BlcnR5Iikgew0KICAgICAgICAgICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICByZXR1cm4gYWNjZXNzZWQ7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgUmVnRXhwLnByb3RvdHlwZS5lbnVtZXJhYmxlOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - 'Attributes' is an RegExp object that uses Object's [[Get]] method to access the 'enumerable' property of prototype object (8.10.5 step 3.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-40-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi0zLTQwLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnR5IC0gJ0F0dHJpYnV0ZXMnIGlzIGFuIFJlZ0V4cCBvYmplY3QgdGhhdCB1c2VzIE9iamVjdCdzIFtbR2V0XV0gbWV0aG9kIHRvIGFjY2VzcyB0aGUgJ2VudW1lcmFibGUnIHByb3BlcnR5ICg4LjEwLjUgc3RlcCAzLmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICB2YXIgcmVnT2JqID0gbmV3IFJlZ0V4cCgpOw0KICAgICAgICByZWdPYmouZW51bWVyYWJsZSA9IHRydWU7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3BlcnR5IiwgcmVnT2JqKTsNCg0KICAgICAgICBmb3IgKHZhciBwcm9wIGluIG9iaikgew0KICAgICAgICAgICAgaWYgKHByb3AgPT09ICJwcm9wZXJ0eSIpIHsNCiAgICAgICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICByZXR1cm4gYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - 'Attributes' is an RegExp object that uses Object's [[Get]] method to access the 'enumerable' property (8.10.5 step 3.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-40.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi0zLTQxLTEuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnQXR0cmlidXRlcycgaXMgdGhlIEpTT04gb2JqZWN0IHRoYXQgdXNlcyBPYmplY3QncyBbW0dldF1dIG1ldGhvZCB0byBhY2Nlc3MgdGhlICdlbnVtZXJhYmxlJyBwcm9wZXJ0eSBvZiBwcm90b3R5cGUgb2JqZWN0ICg4LjEwLjUgc3RlcCAzLmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5wcm90b3R5cGUuZW51bWVyYWJsZSA9IHRydWU7DQoNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wZXJ0eSIsIEpTT04pOw0KDQogICAgICAgICAgICBmb3IgKHZhciBwcm9wIGluIG9iaikgew0KICAgICAgICAgICAgICAgIGlmIChwcm9wID09PSAicHJvcGVydHkiKSB7DQogICAgICAgICAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9DQoNCiAgICAgICAgICAgIHJldHVybiBhY2Nlc3NlZDsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBPYmplY3QucHJvdG90eXBlLmVudW1lcmFibGU7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'Attributes' is the JSON object that uses Object's [[Get]] method to access the 'enumerable' property of prototype object (8.10.5 step 3.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-41-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi0zLTQxLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnR5IC0gJ0F0dHJpYnV0ZXMnIGlzIHRoZSBKU09OIG9iamVjdCB0aGF0IHVzZXMgT2JqZWN0J3MgW1tHZXRdXSBtZXRob2QgdG8gYWNjZXNzIHRoZSAnZW51bWVyYWJsZScgcHJvcGVydHkgKDguMTAuNSBzdGVwIDMuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBKU09OLmVudW1lcmFibGUgPSB0cnVlOw0KDQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcGVydHkiLCBKU09OKTsNCg0KICAgICAgICAgICAgZm9yICh2YXIgcHJvcCBpbiBvYmopIHsNCiAgICAgICAgICAgICAgICBpZiAocHJvcCA9PT0gInByb3BlcnR5Iikgew0KICAgICAgICAgICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICByZXR1cm4gYWNjZXNzZWQ7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgSlNPTi5lbnVtZXJhYmxlOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - 'Attributes' is the JSON object that uses Object's [[Get]] method to access the 'enumerable' property (8.10.5 step 3.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-41.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi0zLTQyLTEuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnQXR0cmlidXRlcycgaXMgYW4gRXJyb3Igb2JqZWN0IHRoYXQgdXNlcyBPYmplY3QncyBbW0dldF1dIG1ldGhvZCB0byBhY2Nlc3MgdGhlICdlbnVtZXJhYmxlJyBwcm9wZXJ0eSBvZiBwcm90b3R5cGUgb2JqZWN0ICg4LjEwLjUgc3RlcCAzLmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIEVycm9yLnByb3RvdHlwZS5lbnVtZXJhYmxlID0gdHJ1ZTsNCiAgICAgICAgICAgIHZhciBlcnJPYmogPSBuZXcgRXJyb3IoKTsNCg0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3BlcnR5IiwgZXJyT2JqKTsNCg0KICAgICAgICAgICAgZm9yICh2YXIgcHJvcCBpbiBvYmopIHsNCiAgICAgICAgICAgICAgICBpZiAocHJvcCA9PT0gInByb3BlcnR5Iikgew0KICAgICAgICAgICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICByZXR1cm4gYWNjZXNzZWQ7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgRXJyb3IucHJvdG90eXBlLmVudW1lcmFibGU7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'Attributes' is an Error object that uses Object's [[Get]] method to access the 'enumerable' property of prototype object (8.10.5 step 3.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-42-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi0zLTQyLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnR5IC0gJ0F0dHJpYnV0ZXMnIGlzIGFuIEVycm9yIG9iamVjdCB0aGF0IHVzZXMgT2JqZWN0J3MgW1tHZXRdXSBtZXRob2QgdG8gYWNjZXNzIHRoZSAnZW51bWVyYWJsZScgcHJvcGVydHkgKDguMTAuNSBzdGVwIDMuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIHZhciBlcnJPYmogPSBuZXcgRXJyb3IoKTsNCiAgICAgICAgZXJyT2JqLmVudW1lcmFibGUgPSB0cnVlOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wZXJ0eSIsIGVyck9iaik7DQoNCiAgICAgICAgZm9yICh2YXIgcHJvcCBpbiBvYmopIHsNCiAgICAgICAgICAgIGlmIChwcm9wID09PSAicHJvcGVydHkiKSB7DQogICAgICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgcmV0dXJuIGFjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'Attributes' is an Error object that uses Object's [[Get]] method to access the 'enumerable' property (8.10.5 step 3.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-42.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi0zLTQzLTEuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnQXR0cmlidXRlcycgaXMgYW4gQXJndW1lbnRzIG9iamVjdCB3aGljaCBpbXBsZW1lbnRzIGl0cyBvd24gW1tHZXRdXSBtZXRob2QgdG8gYWNjZXNzIHRoZSAnZW51bWVyYWJsZScgcHJvcGVydHkgb2YgcHJvdG90eXBlIG9iamVjdCAoOC4xMC41IHN0ZXAgMy5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QucHJvdG90eXBlLmVudW1lcmFibGUgPSB0cnVlOw0KICAgICAgICAgICAgdmFyIGFyZ09iaiA9IChmdW5jdGlvbiAoKSB7IHJldHVybiBhcmd1bWVudHM7IH0pKCk7DQoNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wZXJ0eSIsIGFyZ09iaik7DQoNCiAgICAgICAgICAgIGZvciAodmFyIHByb3AgaW4gb2JqKSB7DQogICAgICAgICAgICAgICAgaWYgKHByb3AgPT09ICJwcm9wZXJ0eSIpIHsNCiAgICAgICAgICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgcmV0dXJuIGFjY2Vzc2VkOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIE9iamVjdC5wcm90b3R5cGUuZW51bWVyYWJsZTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'Attributes' is an Arguments object which implements its own [[Get]] method to access the 'enumerable' property of prototype object (8.10.5 step 3.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-43-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi0zLTQzLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnR5IC0gJ0F0dHJpYnV0ZXMnIGlzIGFuIEFyZ3VtZW50cyBvYmplY3Qgd2hpY2ggaW1wbGVtZW50cyBpdHMgb3duIFtbR2V0XV0gbWV0aG9kIHRvIGFjY2VzcyB0aGUgJ2VudW1lcmFibGUnIHByb3BlcnR5ICg4LjEwLjUgc3RlcCAzLmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICB2YXIgYXJnT2JqID0gKGZ1bmN0aW9uICgpIHsgcmV0dXJuIGFyZ3VtZW50czsgfSkoKTsNCiAgICAgICAgYXJnT2JqLmVudW1lcmFibGUgPSB0cnVlOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wZXJ0eSIsIGFyZ09iaik7DQoNCiAgICAgICAgZm9yICh2YXIgcHJvcCBpbiBvYmopIHsNCiAgICAgICAgICAgIGlmIChwcm9wID09PSAicHJvcGVydHkiKSB7DQogICAgICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgcmV0dXJuIGFjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'Attributes' is an Arguments object which implements its own [[Get]] method to access the 'enumerable' property (8.10.5 step 3.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-43.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi0zLTQ1LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnR5IC0gJ0F0dHJpYnV0ZXMnIGlzIHRoZSBnbG9iYWwgb2JqZWN0IHRoYXQgdXNlcyBPYmplY3QncyBbW0dldF1dIG1ldGhvZCB0byBhY2Nlc3MgdGhlICdlbnVtZXJhYmxlJyBwcm9wZXJ0eSAoOC4xMC41IHN0ZXAgMy5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIGZuR2xvYmFsT2JqZWN0KCkuZW51bWVyYWJsZSA9IHRydWU7DQoNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wZXJ0eSIsIGZuR2xvYmFsT2JqZWN0KCkpOw0KDQogICAgICAgICAgICBmb3IgKHZhciBwcm9wIGluIG9iaikgew0KICAgICAgICAgICAgICAgIGlmIChwcm9wID09PSAicHJvcGVydHkiKSB7DQogICAgICAgICAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9DQoNCiAgICAgICAgICAgIHJldHVybiBhY2Nlc3NlZDsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBmbkdsb2JhbE9iamVjdCgpLmVudW1lcmFibGU7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'Attributes' is the global object that uses Object's [[Get]] method to access the 'enumerable' property (8.10.5 step 3.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-45.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi0zLTQ2LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnR5IC0gdmFsdWUgb2YgJ2VudW1lcmFibGUnIHByb3BlcnR5IGluICdBdHRyaWJ1dGVzJyBpcyB1bmRlZmluZWQgKDguMTAuNSBzdGVwIDMuYikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wZXJ0eSIsIHsNCiAgICAgICAgICAgIGVudW1lcmFibGU6IHVuZGVmaW5lZA0KICAgICAgICB9KTsNCg0KICAgICAgICBmb3IgKHZhciBwcm9wIGluIG9iaikgew0KICAgICAgICAgICAgaWYgKHByb3AgPT09ICJwcm9wZXJ0eSIpIHsNCiAgICAgICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCiAgICAgICAgcmV0dXJuICFhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - value of 'enumerable' property in 'Attributes' is undefined (8.10.5 step 3.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-46.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi0zLTQ3LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnR5IC0gdmFsdWUgb2YgJ2VudW1lcmFibGUnIHByb3BlcnR5IGluICdBdHRyaWJ1dGVzJyBpcyBudWxsICg4LjEwLjUgc3RlcCAzLmIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcGVydHkiLCB7IGVudW1lcmFibGU6IG51bGwgfSk7DQoNCiAgICAgICAgZm9yICh2YXIgcHJvcCBpbiBvYmopIHsNCiAgICAgICAgICAgIGlmIChwcm9wID09PSAicHJvcGVydHkiKSB7DQogICAgICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQogICAgICAgIHJldHVybiAhYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - value of 'enumerable' property in 'Attributes' is null (8.10.5 step 3.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-47.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi0zLTQ4LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnR5IC0gdmFsdWUgb2YgJ2VudW1lcmFibGUnIHByb3BlcnR5IGluICdBdHRyaWJ1dGVzJyBpcyB0cnVlICg4LjEwLjUgc3RlcCAzLmIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcGVydHkiLCB7IGVudW1lcmFibGU6IHRydWUgfSk7DQoNCiAgICAgICAgZm9yICh2YXIgcHJvcCBpbiBvYmopIHsNCiAgICAgICAgICAgIGlmIChwcm9wID09PSAicHJvcGVydHkiKSB7DQogICAgICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQogICAgICAgIHJldHVybiBhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - value of 'enumerable' property in 'Attributes' is true (8.10.5 step 3.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-48.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi0zLTQ5LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnR5IC0gdmFsdWUgb2YgJ2VudW1lcmFibGUnIHByb3BlcnR5IGluICdBdHRyaWJ1dGVzJyBpcyBmYWxzZSAoOC4xMC41IHN0ZXAgMy5iKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3BlcnR5IiwgeyBlbnVtZXJhYmxlOiBmYWxzZSB9KTsNCg0KICAgICAgICBmb3IgKHZhciBwcm9wIGluIG9iaikgew0KICAgICAgICAgICAgaWYgKHByb3AgPT09ICJwcm9wZXJ0eSIpIHsNCiAgICAgICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCiAgICAgICAgcmV0dXJuICFhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - value of 'enumerable' property in 'Attributes' is false (8.10.5 step 3.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-49.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogVGhlIGFidHJhY3Qgb3BlcmF0aW9uIFRvUHJvcGVydHlEZXNjcmlwdG9yICBpcyB1c2VkIHRvIHBhY2thZ2UgdGhlDQogKiBpbnRvIGEgcHJvcGVydHkgZGVzYy4gU3RlcCAxMCBvZiBUb1Byb3BlcnR5RGVzY3JpcHRvciB0aHJvd3MgYSBUeXBlRXJyb3INCiAqIGlmIHRoZSBwcm9wZXJ0eSBkZXNjIGVuZHMgdXAgaGF2aW5nIGEgbWl4IG9mIGFjY2Vzc29yIGFuZCBkYXRhIHByb3BlcnR5IGVsZW1lbnRzLg0KICoNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy01LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnR5IHRocm93cyBUeXBlRXJyb3IgaWYgZ2V0dGVyIGlzIG5vdCBjYWxsYWJsZSBidXQgbm90IHVuZGVmaW5lZCAoTnVtYmVyKSg4LjEwLjUgc3RlcCA3LmIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICB2YXIgbyA9IHt9Ow0KICAgIA0KICAgIC8vIGR1bW15IGdldHRlcg0KICAgIHZhciBnZXR0ZXIgPSA0MjsNCiAgICB2YXIgZGVzYyA9IHsgZ2V0OiBnZXR0ZXIgfTsNCiAgICANCiAgICB0cnkgew0KICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG8sICJmb28iLCBkZXNjKTsNCiAgICB9DQogICAgY2F0Y2ggKGUpIHsNCiAgICAgIGlmIChlIGluc3RhbmNlb2YgVHlwZUVycm9yICYmDQogICAgICAgICAgKG8uaGFzT3duUHJvcGVydHkoImZvbyIpID09PSBmYWxzZSkpIHsNCiAgICAgICAgcmV0dXJuIHRydWU7DQogICAgICB9DQogICAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"The abtract operation ToPropertyDescriptor is used to package the\ninto a property desc. Step 10 of ToPropertyDescriptor throws a TypeError\nif the property desc ends up having a mix of accessor and data property elements.","description":"Object.defineProperty throws TypeError if getter is not callable but not undefined (Number)(8.10.5 step 7.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi0zLTUwLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnR5IC0gdmFsdWUgb2YgJ2VudW1lcmFibGUnIHByb3BlcnR5IGluICdBdHRyaWJ1dGVzJyBpcyAwICg4LjEwLjUgc3RlcCAzLmIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcGVydHkiLCB7IGVudW1lcmFibGU6IDAgfSk7DQoNCiAgICAgICAgZm9yICh2YXIgcHJvcCBpbiBvYmopIHsNCiAgICAgICAgICAgIGlmIChwcm9wID09PSAicHJvcGVydHkiKSB7DQogICAgICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQogICAgICAgIHJldHVybiAhYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - value of 'enumerable' property in 'Attributes' is 0 (8.10.5 step 3.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-50.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi0zLTUxLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnR5IC0gdmFsdWUgb2YgJ2VudW1lcmFibGUnIHByb3BlcnR5IGluICdBdHRyaWJ1dGVzJyBpcyArMCAoOC4xMC41IHN0ZXAgMy5iKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3BlcnR5IiwgeyBlbnVtZXJhYmxlOiArMCB9KTsNCg0KICAgICAgICBmb3IgKHZhciBwcm9wIGluIG9iaikgew0KICAgICAgICAgICAgaWYgKHByb3AgPT09ICJwcm9wZXJ0eSIpIHsNCiAgICAgICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCiAgICAgICAgcmV0dXJuICFhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - value of 'enumerable' property in 'Attributes' is +0 (8.10.5 step 3.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-51.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi0zLTUyLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnR5IC0gdmFsdWUgb2YgJ2VudW1lcmFibGUnIHByb3BlcnR5IGluICdBdHRyaWJ1dGVzJyBpcyAtMCAoOC4xMC41IHN0ZXAgMy5iKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3BlcnR5IiwgeyBlbnVtZXJhYmxlOiAtMCB9KTsNCg0KICAgICAgICBmb3IgKHZhciBwcm9wIGluIG9iaikgew0KICAgICAgICAgICAgaWYgKHByb3AgPT09ICJwcm9wZXJ0eSIpIHsNCiAgICAgICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCiAgICAgICAgcmV0dXJuICFhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - value of 'enumerable' property in 'Attributes' is -0 (8.10.5 step 3.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-52.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi0zLTUzLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnR5IC0gdmFsdWUgb2YgJ2VudW1lcmFibGUnIHByb3BlcnR5IGluICdBdHRyaWJ1dGVzJyBpcyBOYU4gKDguMTAuNSBzdGVwIDMuYikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wZXJ0eSIsIHsgZW51bWVyYWJsZTogTmFOIH0pOw0KDQogICAgICAgIGZvciAodmFyIHByb3AgaW4gb2JqKSB7DQogICAgICAgICAgICBpZiAocHJvcCA9PT0gInByb3BlcnR5Iikgew0KICAgICAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KICAgICAgICByZXR1cm4gIWFjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - value of 'enumerable' property in 'Attributes' is NaN (8.10.5 step 3.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-53.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi0zLTU0LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnR5IC0gdmFsdWUgb2YgJ2VudW1lcmFibGUnIHByb3BlcnR5IGluICdBdHRyaWJ1dGVzJyBpcyBhIHBvc2l0aXZlIG51bWJlciAoOC4xMC41IHN0ZXAgMy5iKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3BlcnR5IiwgeyBlbnVtZXJhYmxlOiAxMiB9KTsNCg0KICAgICAgICBmb3IgKHZhciBwcm9wIGluIG9iaikgew0KICAgICAgICAgICAgaWYgKHByb3AgPT09ICJwcm9wZXJ0eSIpIHsNCiAgICAgICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCiAgICAgICAgcmV0dXJuIGFjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - value of 'enumerable' property in 'Attributes' is a positive number (8.10.5 step 3.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-54.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi0zLTU1LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnR5IC0gdmFsdWUgb2YgJ2VudW1lcmFibGUnIHByb3BlcnR5IGluICdBdHRyaWJ1dGVzJyBpcyBhIG5lZ2F0aXZlIG51bWJlciAoOC4xMC41IHN0ZXAgMy5iKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3BlcnR5IiwgeyBlbnVtZXJhYmxlOiAtMiB9KTsNCg0KICAgICAgICBmb3IgKHZhciBwcm9wIGluIG9iaikgew0KICAgICAgICAgICAgaWYgKHByb3AgPT09ICJwcm9wZXJ0eSIpIHsNCiAgICAgICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCiAgICAgICAgcmV0dXJuIGFjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - value of 'enumerable' property in 'Attributes' is a negative number (8.10.5 step 3.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-55.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi0zLTU2LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnR5IC0gdmFsdWUgb2YgJ2VudW1lcmFibGUnIHByb3BlcnR5IGluICdBdHRyaWJ1dGVzJyBpcyBhbiBlbXB0eSBzdHJpbmcgKDguMTAuNSBzdGVwIDMuYikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wZXJ0eSIsIHsgZW51bWVyYWJsZTogIiIgfSk7DQoNCiAgICAgICAgZm9yICh2YXIgcHJvcCBpbiBvYmopIHsNCiAgICAgICAgICAgIGlmIChwcm9wID09PSAicHJvcGVydHkiKSB7DQogICAgICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQogICAgICAgIHJldHVybiAhYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - value of 'enumerable' property in 'Attributes' is an empty string (8.10.5 step 3.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-56.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi0zLTU3LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnR5IC0gdmFsdWUgb2YgJ2VudW1lcmFibGUnIHByb3BlcnR5IGluICdBdHRyaWJ1dGVzJyBpcyBhIG5vbi1lbXB0eSBzdHJpbmcgKDguMTAuNSBzdGVwIDMuYikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wZXJ0eSIsIHsgZW51bWVyYWJsZTogIkFCXG5cXGNkIiB9KTsNCg0KICAgICAgICBmb3IgKHZhciBwcm9wIGluIG9iaikgew0KICAgICAgICAgICAgaWYgKHByb3AgPT09ICJwcm9wZXJ0eSIpIHsNCiAgICAgICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCiAgICAgICAgcmV0dXJuIGFjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - value of 'enumerable' property in 'Attributes' is a non-empty string (8.10.5 step 3.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-57.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi0zLTU4LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnR5IC0gdmFsdWUgb2YgJ2VudW1lcmFibGUnIHByb3BlcnR5IGluICdBdHRyaWJ1dGVzJyBpcyBhIEZ1bmN0aW9uIG9iamVjdCAoOC4xMC41IHN0ZXAgMy5iKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3BlcnR5Iiwgew0KICAgICAgICAgICAgZW51bWVyYWJsZTogZnVuY3Rpb24gKCkgeyB9DQogICAgICAgIH0pOw0KDQogICAgICAgIGZvciAodmFyIHByb3AgaW4gb2JqKSB7DQogICAgICAgICAgICBpZiAocHJvcCA9PT0gInByb3BlcnR5Iikgew0KICAgICAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KICAgICAgICByZXR1cm4gYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - value of 'enumerable' property in 'Attributes' is a Function object (8.10.5 step 3.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-58.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi0zLTU5LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnR5IC0gdmFsdWUgb2YgJ2VudW1lcmFibGUnIHByb3BlcnR5IGluICdBdHRyaWJ1dGVzJyBpcyBhbiBBcnJheSBvYmplY3QgKDguMTAuNSBzdGVwIDMuYikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wZXJ0eSIsIHsgZW51bWVyYWJsZTogW10gfSk7DQoNCiAgICAgICAgZm9yICh2YXIgcHJvcCBpbiBvYmopIHsNCiAgICAgICAgICAgIGlmIChwcm9wID09PSAicHJvcGVydHkiKSB7DQogICAgICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQogICAgICAgIHJldHVybiBhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - value of 'enumerable' property in 'Attributes' is an Array object (8.10.5 step 3.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-59.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogVGhlIGFidHJhY3Qgb3BlcmF0aW9uIFRvUHJvcGVydHlEZXNjcmlwdG9yICBpcyB1c2VkIHRvIHBhY2thZ2UgdGhlDQogKiBpbnRvIGEgcHJvcGVydHkgZGVzYy4gU3RlcCAxMCBvZiBUb1Byb3BlcnR5RGVzY3JpcHRvciB0aHJvd3MgYSBUeXBlRXJyb3INCiAqIGlmIHRoZSBwcm9wZXJ0eSBkZXNjIGVuZHMgdXAgaGF2aW5nIGEgbWl4IG9mIGFjY2Vzc29yIGFuZCBkYXRhIHByb3BlcnR5IGVsZW1lbnRzLg0KICoNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy02LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnR5IHRocm93cyBUeXBlRXJyb3IgaWYgZ2V0dGVyIGlzIG5vdCBjYWxsYWJsZSBidXQgbm90IHVuZGVmaW5lZCAoQm9vbGVhbikoOC4xMC41IHN0ZXAgNy5iKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgdmFyIG8gPSB7fTsNCiAgICANCiAgICAvLyBkdW1teSBnZXR0ZXINCiAgICB2YXIgZ2V0dGVyID0gdHJ1ZTsNCiAgICB2YXIgZGVzYyA9IHsgZ2V0OiBnZXR0ZXIgfTsNCiAgICANCiAgICB0cnkgew0KICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG8sICJmb28iLCBkZXNjKTsNCiAgICB9DQogICAgY2F0Y2ggKGUpIHsNCiAgICAgIGlmIChlIGluc3RhbmNlb2YgVHlwZUVycm9yICYmDQogICAgICAgICAgKG8uaGFzT3duUHJvcGVydHkoImZvbyIpID09PSBmYWxzZSkpIHsNCiAgICAgICAgcmV0dXJuIHRydWU7DQogICAgICB9DQogICAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"The abtract operation ToPropertyDescriptor is used to package the\ninto a property desc. Step 10 of ToPropertyDescriptor throws a TypeError\nif the property desc ends up having a mix of accessor and data property elements.","description":"Object.defineProperty throws TypeError if getter is not callable but not undefined (Boolean)(8.10.5 step 7.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-6.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi0zLTYwLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnR5IC0gdmFsdWUgb2YgJ2VudW1lcmFibGUnIHByb3BlcnR5IGluICdBdHRyaWJ1dGVzJyBpcyBhIFN0cmluZyBPYmplY3QgKDguMTAuNSBzdGVwIDMuYikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wZXJ0eSIsIHsgZW51bWVyYWJsZTogbmV3IFN0cmluZygpIH0pOw0KDQogICAgICAgIGZvciAodmFyIHByb3AgaW4gb2JqKSB7DQogICAgICAgICAgICBpZiAocHJvcCA9PT0gInByb3BlcnR5Iikgew0KICAgICAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KICAgICAgICByZXR1cm4gYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - value of 'enumerable' property in 'Attributes' is a String Object (8.10.5 step 3.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-60.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi0zLTYxLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnR5IC0gdmFsdWUgb2YgJ2VudW1lcmFibGUnIHByb3BlcnR5IGluICdBdHRyaWJ1dGVzJyBpcyBhIEJvb2xlYW4gT2JqZWN0ICg4LjEwLjUgc3RlcCAzLmIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcGVydHkiLCB7IGVudW1lcmFibGU6IG5ldyBCb29sZWFuKCkgfSk7DQoNCiAgICAgICAgZm9yICh2YXIgcHJvcCBpbiBvYmopIHsNCiAgICAgICAgICAgIGlmIChwcm9wID09PSAicHJvcGVydHkiKSB7DQogICAgICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQogICAgICAgIHJldHVybiBhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - value of 'enumerable' property in 'Attributes' is a Boolean Object (8.10.5 step 3.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-61.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi0zLTYyLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnR5IC0gdmFsdWUgb2YgJ2VudW1lcmFibGUnIHByb3BlcnR5IGluICdBdHRyaWJ1dGVzJyBpcyBhIE51bWJlciBPYmplY3QgKDguMTAuNSBzdGVwIDMuYikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wZXJ0eSIsIHsgZW51bWVyYWJsZTogbmV3IE51bWJlcigpIH0pOw0KDQogICAgICAgIGZvciAodmFyIHByb3AgaW4gb2JqKSB7DQogICAgICAgICAgICBpZiAocHJvcCA9PT0gInByb3BlcnR5Iikgew0KICAgICAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KICAgICAgICByZXR1cm4gYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - value of 'enumerable' property in 'Attributes' is a Number Object (8.10.5 step 3.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-62.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi0zLTYzLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnR5IC0gdmFsdWUgb2YgJ2VudW1lcmFibGUnIHByb3BlcnR5IGluICdBdHRyaWJ1dGVzJyBpcyB0aGUgTWF0aCBPYmplY3QgKDguMTAuNSBzdGVwIDMuYikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wZXJ0eSIsIHsgZW51bWVyYWJsZTogTWF0aCB9KTsNCg0KICAgICAgICBmb3IgKHZhciBwcm9wIGluIG9iaikgew0KICAgICAgICAgICAgaWYgKHByb3AgPT09ICJwcm9wZXJ0eSIpIHsNCiAgICAgICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCiAgICAgICAgcmV0dXJuIGFjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - value of 'enumerable' property in 'Attributes' is the Math Object (8.10.5 step 3.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-63.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi0zLTY0LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnR5IC0gdmFsdWUgb2YgJ2VudW1lcmFibGUnIHByb3BlcnR5IGluICdBdHRyaWJ1dGVzJyBpcyBhIERhdGUgT2JqZWN0ICg4LjEwLjUgc3RlcCAzLmIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcGVydHkiLCB7IGVudW1lcmFibGU6IG5ldyBEYXRlKCkgfSk7DQoNCiAgICAgICAgZm9yICh2YXIgcHJvcCBpbiBvYmopIHsNCiAgICAgICAgICAgIGlmIChwcm9wID09PSAicHJvcGVydHkiKSB7DQogICAgICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQogICAgICAgIHJldHVybiBhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - value of 'enumerable' property in 'Attributes' is a Date Object (8.10.5 step 3.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-64.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi0zLTY1LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnR5IC0gdmFsdWUgb2YgJ2VudW1lcmFibGUnIHByb3BlcnR5IGluICdBdHRyaWJ1dGVzJyBpcyBhIFJlZ0V4cCBPYmplY3QgKDguMTAuNSBzdGVwIDMuYikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wZXJ0eSIsIHsgZW51bWVyYWJsZTogbmV3IFJlZ0V4cCgpIH0pOw0KDQogICAgICAgIGZvciAodmFyIHByb3AgaW4gb2JqKSB7DQogICAgICAgICAgICBpZiAocHJvcCA9PT0gInByb3BlcnR5Iikgew0KICAgICAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KICAgICAgICByZXR1cm4gYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - value of 'enumerable' property in 'Attributes' is a RegExp Object (8.10.5 step 3.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-65.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi0zLTY2LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnR5IC0gdmFsdWUgb2YgJ2VudW1lcmFibGUnIHByb3BlcnR5IGluICdBdHRyaWJ1dGVzJyBpcyB0aGUgSlNPTiBPYmplY3QgKDguMTAuNSBzdGVwIDMuYikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wZXJ0eSIsIHsgZW51bWVyYWJsZTogSlNPTiB9KTsNCg0KICAgICAgICBmb3IgKHZhciBwcm9wIGluIG9iaikgew0KICAgICAgICAgICAgaWYgKHByb3AgPT09ICJwcm9wZXJ0eSIpIHsNCiAgICAgICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCiAgICAgICAgcmV0dXJuIGFjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - value of 'enumerable' property in 'Attributes' is the JSON Object (8.10.5 step 3.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-66.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi0zLTY3LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnR5IC0gdmFsdWUgb2YgJ2VudW1lcmFibGUnIHByb3BlcnR5IGluICdBdHRyaWJ1dGVzJyBpcyBhbiBFcnJvciBPYmplY3QgKDguMTAuNSBzdGVwIDMuYikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wZXJ0eSIsIHsgZW51bWVyYWJsZTogbmV3IEVycm9yKCkgfSk7DQoNCiAgICAgICAgZm9yICh2YXIgcHJvcCBpbiBvYmopIHsNCiAgICAgICAgICAgIGlmIChwcm9wID09PSAicHJvcGVydHkiKSB7DQogICAgICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQogICAgICAgIHJldHVybiBhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - value of 'enumerable' property in 'Attributes' is an Error Object (8.10.5 step 3.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-67.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi0zLTY4LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnR5IC0gdmFsdWUgb2YgJ2VudW1lcmFibGUnIHByb3BlcnR5IGluICdBdHRyaWJ1dGVzJyBpcyBhbiBBcmd1bWVudHMgT2JqZWN0ICg4LjEwLjUgc3RlcCAzLmIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCiAgICAgICAgdmFyIGFyZ09iaiA9IChmdW5jdGlvbiAoKSB7IHJldHVybiBhcmd1bWVudHM7IH0pKDAsIDEsIDIpOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wZXJ0eSIsIHsgZW51bWVyYWJsZTogYXJnT2JqIH0pOw0KDQogICAgICAgIGZvciAodmFyIHByb3AgaW4gb2JqKSB7DQogICAgICAgICAgICBpZiAocHJvcCA9PT0gInByb3BlcnR5Iikgew0KICAgICAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KICAgICAgICByZXR1cm4gYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - value of 'enumerable' property in 'Attributes' is an Arguments Object (8.10.5 step 3.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-68.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogVGhlIGFidHJhY3Qgb3BlcmF0aW9uIFRvUHJvcGVydHlEZXNjcmlwdG9yICBpcyB1c2VkIHRvIHBhY2thZ2UgdGhlDQogKiBpbnRvIGEgcHJvcGVydHkgZGVzYy4gU3RlcCAxMCBvZiBUb1Byb3BlcnR5RGVzY3JpcHRvciB0aHJvd3MgYSBUeXBlRXJyb3INCiAqIGlmIHRoZSBwcm9wZXJ0eSBkZXNjIGVuZHMgdXAgaGF2aW5nIGEgbWl4IG9mIGFjY2Vzc29yIGFuZCBkYXRhIHByb3BlcnR5IGVsZW1lbnRzLg0KICoNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy03LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnR5IHRocm93cyBUeXBlRXJyb3IgaWYgZ2V0dGVyIGlzIG5vdCBjYWxsYWJsZSBidXQgbm90IHVuZGVmaW5lZCAoU3RyaW5nKSg4LjEwLjUgc3RlcCA3LmIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICB2YXIgbyA9IHt9Ow0KICAgIA0KICAgIC8vIGR1bW15IGdldHRlcg0KICAgIHZhciBnZXR0ZXIgPSAiYWJjIjsNCiAgICB2YXIgZGVzYyA9IHsgZ2V0OiBnZXR0ZXIgfTsNCiAgICANCiAgICB0cnkgew0KICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG8sICJmb28iLCBkZXNjKTsNCiAgICB9DQogICAgY2F0Y2ggKGUpIHsNCiAgICAgIGlmIChlIGluc3RhbmNlb2YgVHlwZUVycm9yICYmDQogICAgICAgICAgKG8uaGFzT3duUHJvcGVydHkoImZvbyIpID09PSBmYWxzZSkpIHsNCiAgICAgICAgcmV0dXJuIHRydWU7DQogICAgICB9DQogICAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"The abtract operation ToPropertyDescriptor is used to package the\ninto a property desc. Step 10 of ToPropertyDescriptor throws a TypeError\nif the property desc ends up having a mix of accessor and data property elements.","description":"Object.defineProperty throws TypeError if getter is not callable but not undefined (String)(8.10.5 step 7.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-7.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi0zLTcwLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnR5IC0gdmFsdWUgb2YgJ2VudW1lcmFibGUnIHByb3BlcnR5IGluICdBdHRyaWJ1dGVzJyBpcyB0aGUgZ2xvYmFsIG9iamVjdCAoOC4xMC41IHN0ZXAgMy5iKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3BlcnR5IiwgeyBlbnVtZXJhYmxlOiBmbkdsb2JhbE9iamVjdCgpIH0pOw0KDQogICAgICAgIGZvciAodmFyIHByb3AgaW4gb2JqKSB7DQogICAgICAgICAgICBpZiAocHJvcCA9PT0gInByb3BlcnR5Iikgew0KICAgICAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KICAgICAgICByZXR1cm4gYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - value of 'enumerable' property in 'Attributes' is the global object (8.10.5 step 3.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-70.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi0zLTcxLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnR5IC0gdmFsdWUgb2YgJ2VudW1lcmFibGUnIHByb3BlcnR5IGluICdBdHRyaWJ1dGVzJyBpcyB0cmVhdGVkIGFzIHRydWUgd2hlbiBpdCBpcyBhIHN0cmluZyAodmFsdWUgaXMgJ2ZhbHNlJykgKDguMTAuNSBzdGVwIDMuYikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wZXJ0eSIsIHsgZW51bWVyYWJsZTogImZhbHNlIiB9KTsNCg0KICAgICAgICBmb3IgKHZhciBwcm9wIGluIG9iaikgew0KICAgICAgICAgICAgaWYgKHByb3AgPT09ICJwcm9wZXJ0eSIpIHsNCiAgICAgICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCiAgICAgICAgcmV0dXJuIGFjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - value of 'enumerable' property in 'Attributes' is treated as true when it is a string (value is 'false') (8.10.5 step 3.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-71.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi0zLTcyLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnR5IC0gdmFsdWUgb2YgJ2VudW1lcmFibGUnIHByb3BlcnR5IGluICdBdHRyaWJ1dGVzJyBpcyBuZXcgQm9vbGVhbihmYWxzZSkgd2hpY2ggaXMgdHJlYXRlZCBhcyB0cnVlIHZhbHVlICg4LjEwLjUgc3RlcCAzLmIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcGVydHkiLCB7IGVudW1lcmFibGU6IG5ldyBCb29sZWFuKGZhbHNlKSB9KTsNCg0KICAgICAgICBmb3IgKHZhciBwcm9wIGluIG9iaikgew0KICAgICAgICAgICAgaWYgKHByb3AgPT09ICJwcm9wZXJ0eSIpIHsNCiAgICAgICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCiAgICAgICAgcmV0dXJuIGFjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - value of 'enumerable' property in 'Attributes' is new Boolean(false) which is treated as true value (8.10.5 step 3.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-72.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi0zLTczLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnR5IC0gJ2NvbmZpZ3VyYWJsZScgcHJvcGVydHkgaW4gJ0F0dHJpYnV0ZXMnIGlzIHByZXNlbnQgKDguMTAuNSBzdGVwIDQpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wZXJ0eSIsIHsNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIGJlZm9yZURlbGV0ZWQgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3BlcnR5Iik7DQoNCiAgICAgICAgZGVsZXRlIG9iai5wcm9wZXJ0eTsNCg0KICAgICAgICB2YXIgYWZ0ZXJEZWxldGVkID0gb2JqLmhhc093blByb3BlcnR5KCJwcm9wZXJ0eSIpOw0KDQogICAgICAgIHJldHVybiBiZWZvcmVEZWxldGVkID09PSB0cnVlICYmIGFmdGVyRGVsZXRlZCA9PT0gdHJ1ZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'configurable' property in 'Attributes' is present (8.10.5 step 4)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-73.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi0zLTc0LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnR5IC0gJ2NvbmZpZ3VyYWJsZScgcHJvcGVydHkgaW4gJ0F0dHJpYnV0ZXMnIGlzIG5vdCBwcmVzZW50ICg4LjEwLjUgc3RlcCA0KQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7IH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3BlcnR5IiwgeyB2YWx1ZTogMTAwIH0pOw0KDQogICAgICAgIHZhciBiZWZvcmVEZWxldGVkID0gb2JqLmhhc093blByb3BlcnR5KCJwcm9wZXJ0eSIpOw0KDQogICAgICAgIGRlbGV0ZSBvYmoucHJvcGVydHk7DQoNCiAgICAgICAgdmFyIGFmdGVyRGVsZXRlZCA9IChvYmoucHJvcGVydHkgPT09IDEwMCk7DQoNCiAgICAgICAgcmV0dXJuIGJlZm9yZURlbGV0ZWQgPT09IHRydWUgJiYgYWZ0ZXJEZWxldGVkID09PSB0cnVlOw0KDQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - 'configurable' property in 'Attributes' is not present (8.10.5 step 4)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-74.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi0zLTc1LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnR5IC0gJ2NvbmZpZ3VyYWJsZScgcHJvcGVydHkgaW4gJ0F0dHJpYnV0ZXMnIGlzIG93biBkYXRhIHByb3BlcnR5ICg4LjEwLjUgc3RlcCA0LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHsgfTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcGVydHkiLCB7DQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIGJlZm9yZURlbGV0ZWQgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3BlcnR5Iik7DQoNCiAgICAgICAgZGVsZXRlIG9iai5wcm9wZXJ0eTsNCg0KICAgICAgICB2YXIgYWZ0ZXJEZWxldGVkID0gb2JqLmhhc093blByb3BlcnR5KCJwcm9wZXJ0eSIpOw0KDQogICAgICAgIHJldHVybiBiZWZvcmVEZWxldGVkID09PSB0cnVlICYmIGFmdGVyRGVsZXRlZCA9PT0gZmFsc2U7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - 'configurable' property in 'Attributes' is own data property (8.10.5 step 4.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-75.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi0zLTc2LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnR5IC0gJ2NvbmZpZ3VyYWJsZScgcHJvcGVydHkgaW4gJ0F0dHJpYnV0ZXMnIGlzIGFuIGluaGVyaXRlZCBkYXRhIHByb3BlcnR5ICg4LjEwLjUgc3RlcCA0LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHsgfTsNCg0KICAgICAgICB2YXIgcHJvdG8gPSB7DQogICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgIH07DQoNCiAgICAgICAgdmFyIENvbnN0cnVjdEZ1biA9IGZ1bmN0aW9uICgpIHsgfTsNCiAgICAgICAgQ29uc3RydWN0RnVuLnByb3RvdHlwZSA9IHByb3RvOw0KDQogICAgICAgIHZhciBjaGlsZCA9IG5ldyBDb25zdHJ1Y3RGdW4oKTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcGVydHkiLCBjaGlsZCk7DQoNCiAgICAgICAgdmFyIGJlZm9yZURlbGV0ZWQgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3BlcnR5Iik7DQoNCiAgICAgICAgZGVsZXRlIG9iai5wcm9wZXJ0eTsNCg0KICAgICAgICB2YXIgYWZ0ZXJEZWxldGVkID0gb2JqLmhhc093blByb3BlcnR5KCJwcm9wZXJ0eSIpOw0KICAgICAgICByZXR1cm4gYmVmb3JlRGVsZXRlZCAmJiBhZnRlckRlbGV0ZWQgJiYgdHlwZW9mIChvYmoucHJvcGVydHkpID09PSAidW5kZWZpbmVkIjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'configurable' property in 'Attributes' is an inherited data property (8.10.5 step 4.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-76.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi0zLTc3LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnR5IC0gJ2NvbmZpZ3VyYWJsZScgcHJvcGVydHkgaW4gJ0F0dHJpYnV0ZXMnIGlzIG93biBkYXRhIHByb3BlcnR5IHRoYXQgb3ZlcnJpZGVzIGFuIGluaGVyaXRlZCBkYXRhIHByb3BlcnR5ICg4LjEwLjUgc3RlcCA0LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHsgfTsNCg0KICAgICAgICB2YXIgcHJvdG8gPSB7DQogICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgIH07DQoNCiAgICAgICAgdmFyIENvbnN0cnVjdEZ1biA9IGZ1bmN0aW9uICgpIHsgfTsNCiAgICAgICAgQ29uc3RydWN0RnVuLnByb3RvdHlwZSA9IHByb3RvOw0KDQogICAgICAgIHZhciBjaGlsZCA9IG5ldyBDb25zdHJ1Y3RGdW4oKTsNCiAgICAgICAgY2hpbGQuY29uZmlndXJhYmxlID0gdHJ1ZTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcGVydHkiLCBjaGlsZCk7DQoNCiAgICAgICAgdmFyIGJlZm9yZURlbGV0ZWQgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3BlcnR5Iik7DQoNCiAgICAgICAgZGVsZXRlIG9iai5wcm9wZXJ0eTsNCg0KICAgICAgICB2YXIgYWZ0ZXJEZWxldGVkID0gb2JqLmhhc093blByb3BlcnR5KCJwcm9wZXJ0eSIpOw0KDQogICAgICAgIHJldHVybiBiZWZvcmVEZWxldGVkID09PSB0cnVlICYmIGFmdGVyRGVsZXRlZCA9PT0gZmFsc2U7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - 'configurable' property in 'Attributes' is own data property that overrides an inherited data property (8.10.5 step 4.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-77.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi0zLTc4LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnR5IC0gJ2NvbmZpZ3VyYWJsZScgcHJvcGVydHkgaW4gJ0F0dHJpYnV0ZXMnIGlzIG93biBkYXRhIHByb3BlcnR5IHRoYXQgb3ZlcnJpZGVzIGFuIGluaGVyaXRlZCBhY2Nlc3NvciBwcm9wZXJ0eSAoOC4xMC41IHN0ZXAgNC5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICB2YXIgcHJvdG8gPSB7IH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHByb3RvLCAiY29uZmlndXJhYmxlIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgQ29uc3RydWN0RnVuID0gZnVuY3Rpb24gKCkgeyB9Ow0KICAgICAgICBDb25zdHJ1Y3RGdW4ucHJvdG90eXBlID0gcHJvdG87DQoNCiAgICAgICAgdmFyIGNoaWxkID0gbmV3IENvbnN0cnVjdEZ1bigpOw0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoY2hpbGQsICJjb25maWd1cmFibGUiLCB7DQogICAgICAgICAgICB2YWx1ZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcGVydHkiLCBjaGlsZCk7DQoNCiAgICAgICAgdmFyIGJlZm9yZURlbGV0ZWQgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3BlcnR5Iik7DQoNCiAgICAgICAgZGVsZXRlIG9iai5wcm9wZXJ0eTsNCg0KICAgICAgICB2YXIgYWZ0ZXJEZWxldGVkID0gb2JqLmhhc093blByb3BlcnR5KCJwcm9wZXJ0eSIpOw0KDQogICAgICAgIHJldHVybiBiZWZvcmVEZWxldGVkID09PSB0cnVlICYmIGFmdGVyRGVsZXRlZCA9PT0gZmFsc2U7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - 'configurable' property in 'Attributes' is own data property that overrides an inherited accessor property (8.10.5 step 4.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-78.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi0zLTc5LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnR5IC0gJ2NvbmZpZ3VyYWJsZScgcHJvcGVydHkgaW4gJ0F0dHJpYnV0ZXMnIGlzIG93biBhY2Nlc3NvciBwcm9wZXJ0eSAoOC4xMC41IHN0ZXAgNC5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7IH07DQoNCiAgICAgICAgdmFyIGF0dHIgPSB7fTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGF0dHIsICJjb25maWd1cmFibGUiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3BlcnR5IiwgYXR0cik7DQoNCiAgICAgICAgdmFyIGJlZm9yZURlbGV0ZWQgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3BlcnR5Iik7DQoNCiAgICAgICAgZGVsZXRlIG9iai5wcm9wZXJ0eTsNCg0KICAgICAgICB2YXIgYWZ0ZXJEZWxldGVkID0gb2JqLmhhc093blByb3BlcnR5KCJwcm9wZXJ0eSIpOw0KDQogICAgICAgIHJldHVybiBiZWZvcmVEZWxldGVkID09PSB0cnVlICYmIGFmdGVyRGVsZXRlZCA9PT0gZmFsc2U7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - 'configurable' property in 'Attributes' is own accessor property (8.10.5 step 4.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-79.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogVGhlIGFidHJhY3Qgb3BlcmF0aW9uIFRvUHJvcGVydHlEZXNjcmlwdG9yICBpcyB1c2VkIHRvIHBhY2thZ2UgdGhlDQogKiBpbnRvIGEgcHJvcGVydHkgZGVzYy4gU3RlcCAxMCBvZiBUb1Byb3BlcnR5RGVzY3JpcHRvciB0aHJvd3MgYSBUeXBlRXJyb3INCiAqIGlmIHRoZSBwcm9wZXJ0eSBkZXNjIGVuZHMgdXAgaGF2aW5nIGEgbWl4IG9mIGFjY2Vzc29yIGFuZCBkYXRhIHByb3BlcnR5IGVsZW1lbnRzLg0KICoNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy04LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnR5IHRocm93cyBUeXBlRXJyb3IgaWYgZ2V0dGVyIGlzIG5vdCBjYWxsYWJsZSBidXQgbm90IHVuZGVmaW5lZCAoTnVsbCkoOC4xMC41IHN0ZXAgNy5iKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgdmFyIG8gPSB7fTsNCiAgICANCiAgICAvLyBkdW1teSBnZXR0ZXINCiAgICB2YXIgZ2V0dGVyID0gbnVsbDsNCiAgICB2YXIgZGVzYyA9IHsgZ2V0OiBnZXR0ZXIgfTsNCiAgICANCiAgICB0cnkgew0KICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG8sICJmb28iLCBkZXNjKTsNCiAgICB9DQogICAgY2F0Y2ggKGUpIHsNCiAgICAgIGlmIChlIGluc3RhbmNlb2YgVHlwZUVycm9yICYmDQogICAgICAgICAgKG8uaGFzT3duUHJvcGVydHkoImZvbyIpID09PSBmYWxzZSkpIHsNCiAgICAgICAgcmV0dXJuIHRydWU7DQogICAgICB9DQogICAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"The abtract operation ToPropertyDescriptor is used to package the\ninto a property desc. Step 10 of ToPropertyDescriptor throws a TypeError\nif the property desc ends up having a mix of accessor and data property elements.","description":"Object.defineProperty throws TypeError if getter is not callable but not undefined (Null)(8.10.5 step 7.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-8.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi0zLTgwLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnR5IC0gJ2NvbmZpZ3VyYWJsZScgcHJvcGVydHkgaW4gJ0F0dHJpYnV0ZXMnIGlzIGFuIGluaGVyaXRlZCBhY2Nlc3NvciBwcm9wZXJ0eSAoOC4xMC41IHN0ZXAgNC5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICB2YXIgcHJvdG8gPSB7fTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHByb3RvLCAiY29uZmlndXJhYmxlIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBDb25zdHJ1Y3RGdW4gPSBmdW5jdGlvbiAoKSB7IH07DQogICAgICAgIENvbnN0cnVjdEZ1bi5wcm90b3R5cGUgPSBwcm90bzsNCg0KICAgICAgICB2YXIgY2hpbGQgPSBuZXcgQ29uc3RydWN0RnVuKCk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3BlcnR5IiwgY2hpbGQpOw0KDQogICAgICAgIHZhciBiZWZvcmVEZWxldGVkID0gb2JqLmhhc093blByb3BlcnR5KCJwcm9wZXJ0eSIpOw0KDQogICAgICAgIGRlbGV0ZSBvYmoucHJvcGVydHk7DQoNCiAgICAgICAgdmFyIGFmdGVyRGVsZXRlZCA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcGVydHkiKTsNCg0KICAgICAgICByZXR1cm4gYmVmb3JlRGVsZXRlZCA9PT0gdHJ1ZSAmJiBhZnRlckRlbGV0ZWQgPT09IGZhbHNlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'configurable' property in 'Attributes' is an inherited accessor property (8.10.5 step 4.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-80.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi0zLTgxLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnR5IC0gJ2NvbmZpZ3VyYWJsZScgcHJvcGVydHkgaW4gJ0F0dHJpYnV0ZXMnIGlzIG93biBhY2Nlc3NvciBwcm9wZXJ0eSB0aGF0IG92ZXJyaWRlcyBhbiBpbmhlcml0ZWQgZGF0YSBwcm9wZXJ0eSAoOC4xMC41IHN0ZXAgNC5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICB2YXIgcHJvdG8gPSB7DQogICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgIH07DQoNCiAgICAgICAgdmFyIENvbnN0cnVjdEZ1biA9IGZ1bmN0aW9uICgpIHsgfTsNCiAgICAgICAgQ29uc3RydWN0RnVuLnByb3RvdHlwZSA9IHByb3RvOw0KDQogICAgICAgIHZhciBjaGlsZCA9IG5ldyBDb25zdHJ1Y3RGdW4oKTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGNoaWxkLCAiY29uZmlndXJhYmxlIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wZXJ0eSIsIGNoaWxkKTsNCg0KICAgICAgICB2YXIgYmVmb3JlRGVsZXRlZCA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcGVydHkiKTsNCg0KICAgICAgICBkZWxldGUgb2JqLnByb3BlcnR5Ow0KDQogICAgICAgIHZhciBhZnRlckRlbGV0ZWQgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3BlcnR5Iik7DQoNCiAgICAgICAgcmV0dXJuIGJlZm9yZURlbGV0ZWQgPT09IHRydWUgJiYgYWZ0ZXJEZWxldGVkID09PSBmYWxzZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'configurable' property in 'Attributes' is own accessor property that overrides an inherited data property (8.10.5 step 4.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-81.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi0zLTgyLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnR5IC0gJ2NvbmZpZ3VyYWJsZScgcHJvcGVydHkgaW4gJ0F0dHJpYnV0ZXMnIGlzIG93biBhY2Nlc3NvciBwcm9wZXJ0eSB0aGF0IG92ZXJyaWRlcyBhbiBpbmhlcml0ZWQgYWNjZXNzb3IgcHJvcGVydHkgKDguMTAuNSBzdGVwIDQuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgdmFyIHByb3RvID0ge307DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShwcm90bywgImNvbmZpZ3VyYWJsZSIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIENvbnN0cnVjdEZ1biA9IGZ1bmN0aW9uICgpIHsgfTsNCiAgICAgICAgQ29uc3RydWN0RnVuLnByb3RvdHlwZSA9IHByb3RvOw0KDQogICAgICAgIHZhciBjaGlsZCA9IG5ldyBDb25zdHJ1Y3RGdW4oKTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGNoaWxkLCAiY29uZmlndXJhYmxlIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wZXJ0eSIsIGNoaWxkKTsNCg0KICAgICAgICB2YXIgYmVmb3JlRGVsZXRlZCA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcGVydHkiKTsNCg0KICAgICAgICBkZWxldGUgb2JqLnByb3BlcnR5Ow0KDQogICAgICAgIHZhciBhZnRlckRlbGV0ZWQgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3BlcnR5Iik7DQoNCiAgICAgICAgcmV0dXJuIGJlZm9yZURlbGV0ZWQgPT09IHRydWUgJiYgYWZ0ZXJEZWxldGVkID09PSBmYWxzZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'configurable' property in 'Attributes' is own accessor property that overrides an inherited accessor property (8.10.5 step 4.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-82.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi0zLTgzLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnR5IC0gJ2NvbmZpZ3VyYWJsZScgcHJvcGVydHkgaW4gJ0F0dHJpYnV0ZXMnIGlzIG93biBhY2Nlc3NvciBwcm9wZXJ0eSB3aXRob3V0IGEgZ2V0IGZ1bmN0aW9uICg4LjEwLjUgc3RlcCA0LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHsgfTsNCg0KICAgICAgICB2YXIgYXR0ciA9IHt9Ow0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXR0ciwgImNvbmZpZ3VyYWJsZSIsIHsNCiAgICAgICAgICAgIHNldCA6IGZ1bmN0aW9uICgpIHsgfQ0KICAgICAgICB9KTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcGVydHkiLCBhdHRyKTsNCg0KICAgICAgICB2YXIgYmVmb3JlRGVsZXRlZCA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcGVydHkiKTsNCg0KICAgICAgICBkZWxldGUgb2JqLnByb3BlcnR5Ow0KDQogICAgICAgIHZhciBhZnRlckRlbGV0ZWQgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3BlcnR5IikgJiYgdHlwZW9mIChvYmoucHJvcGVydHkpID09PSAidW5kZWZpbmVkIjsNCg0KICAgICAgICByZXR1cm4gYmVmb3JlRGVsZXRlZCA9PT0gdHJ1ZSAmJiBhZnRlckRlbGV0ZWQgPT09IHRydWU7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - 'configurable' property in 'Attributes' is own accessor property without a get function (8.10.5 step 4.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-83.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi0zLTg0LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnR5IC0gJ2NvbmZpZ3VyYWJsZScgcHJvcGVydHkgaW4gJ0F0dHJpYnV0ZXMnIGlzIG93biBhY2Nlc3NvciBwcm9wZXJ0eSh3aXRob3V0IGEgZ2V0IGZ1bmN0aW9uKSB0aGF0IG92ZXJyaWRlcyBhbiBpbmhlcml0ZWQgYWNjZXNzb3IgcHJvcGVydHkgKDguMTAuNSBzdGVwIDQuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgdmFyIHByb3RvID0ge307DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShwcm90bywgImNvbmZpZ3VyYWJsZSIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgQ29uc3RydWN0RnVuID0gZnVuY3Rpb24gKCkgeyB9Ow0KICAgICAgICBDb25zdHJ1Y3RGdW4ucHJvdG90eXBlID0gcHJvdG87DQoNCiAgICAgICAgdmFyIGNoaWxkID0gbmV3IENvbnN0cnVjdEZ1bigpOw0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoY2hpbGQsICJjb25maWd1cmFibGUiLCB7DQogICAgICAgICAgICBzZXQ6IGZ1bmN0aW9uICgpIHsgfQ0KICAgICAgICB9KTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcGVydHkiLCBjaGlsZCk7DQoNCiAgICAgICAgdmFyIGJlZm9yZURlbGV0ZWQgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3BlcnR5Iik7DQoNCiAgICAgICAgZGVsZXRlIG9iai5wcm9wZXJ0eTsNCg0KICAgICAgICB2YXIgYWZ0ZXJEZWxldGVkID0gb2JqLmhhc093blByb3BlcnR5KCJwcm9wZXJ0eSIpICYmIHR5cGVvZiAob2JqLnByb3BlcnR5KSA9PT0gInVuZGVmaW5lZCI7DQoNCiAgICAgICAgcmV0dXJuIGJlZm9yZURlbGV0ZWQgPT09IHRydWUgJiYgYWZ0ZXJEZWxldGVkID09PSB0cnVlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'configurable' property in 'Attributes' is own accessor property(without a get function) that overrides an inherited accessor property (8.10.5 step 4.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-84.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi0zLTg1LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnR5IC0gJ2NvbmZpZ3VyYWJsZScgcHJvcGVydHkgaW4gJ0F0dHJpYnV0ZXMnIGlzIGFuIGluaGVyaXRlZCBhY2Nlc3NvciBwcm9wZXJ0eSB3aXRob3V0IGEgZ2V0IGZ1bmN0aW9uICg4LjEwLjUgc3RlcCA0LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIHZhciBwcm90byA9IHt9Ow0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkocHJvdG8sICJjb25maWd1cmFibGUiLCB7DQogICAgICAgICAgICBzZXQ6IGZ1bmN0aW9uICgpIHsgfQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgQ29uc3RydWN0RnVuID0gZnVuY3Rpb24gKCkgeyB9Ow0KICAgICAgICBDb25zdHJ1Y3RGdW4ucHJvdG90eXBlID0gcHJvdG87DQoNCiAgICAgICAgdmFyIGNoaWxkID0gbmV3IENvbnN0cnVjdEZ1bigpOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wZXJ0eSIsIGNoaWxkKTsNCg0KICAgICAgICB2YXIgYmVmb3JlRGVsZXRlZCA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcGVydHkiKTsNCg0KICAgICAgICBkZWxldGUgb2JqLnByb3BlcnR5Ow0KDQogICAgICAgIHZhciBhZnRlckRlbGV0ZWQgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3BlcnR5IikgJiYgdHlwZW9mIChvYmoucHJvcGVydHkpID09PSAidW5kZWZpbmVkIjsNCg0KICAgICAgICByZXR1cm4gYmVmb3JlRGVsZXRlZCA9PT0gdHJ1ZSAmJiBhZnRlckRlbGV0ZWQgPT09IHRydWU7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - 'configurable' property in 'Attributes' is an inherited accessor property without a get function (8.10.5 step 4.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-85.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi0zLTg2LTEuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnQXR0cmlidXRlcycgaXMgYSBGdW5jdGlvbiBvYmplY3Qgd2hpY2ggaW1wbGVtZW50cyBpdHMgb3duIFtbR2V0XV0gbWV0aG9kIHRvIGFjY2VzcyB0aGUgJ2NvbmZpZ3VyYWJsZScgcHJvcGVydHkgb2YgcHJvdG90eXBlIG9iamVjdCAoOC4xMC41IHN0ZXAgNC5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIEZ1bmN0aW9uLnByb3RvdHlwZS5jb25maWd1cmFibGUgPSB0cnVlOw0KICAgICAgICAgICAgdmFyIGZ1bk9iaiA9IGZ1bmN0aW9uIChhLCBiKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIGEgKyBiOw0KICAgICAgICAgICAgfTsNCg0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3BlcnR5IiwgZnVuT2JqKTsNCg0KICAgICAgICAgICAgdmFyIGJlZm9yZURlbGV0ZWQgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3BlcnR5Iik7DQoNCiAgICAgICAgICAgIGRlbGV0ZSBvYmoucHJvcGVydHk7DQoNCiAgICAgICAgICAgIHZhciBhZnRlckRlbGV0ZWQgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3BlcnR5Iik7DQoNCiAgICAgICAgICAgIHJldHVybiBiZWZvcmVEZWxldGVkID09PSB0cnVlICYmIGFmdGVyRGVsZXRlZCA9PT0gZmFsc2U7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgRnVuY3Rpb24ucHJvdG90eXBlLmNvbmZpZ3VyYWJsZTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'Attributes' is a Function object which implements its own [[Get]] method to access the 'configurable' property of prototype object (8.10.5 step 4.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-86-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi0zLTg2LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnR5IC0gJ0F0dHJpYnV0ZXMnIGlzIGEgRnVuY3Rpb24gb2JqZWN0IHdoaWNoIGltcGxlbWVudHMgaXRzIG93biBbW0dldF1dIG1ldGhvZCB0byBhY2Nlc3MgdGhlICdjb25maWd1cmFibGUnIHByb3BlcnR5ICg4LjEwLjUgc3RlcCA0LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIHZhciBmdW5PYmogPSBmdW5jdGlvbiAoYSwgYikgew0KICAgICAgICAgICAgcmV0dXJuIGEgKyBiOw0KICAgICAgICB9Ow0KDQogICAgICAgIGZ1bk9iai5jb25maWd1cmFibGUgPSB0cnVlOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wZXJ0eSIsIGZ1bk9iaik7DQoNCiAgICAgICAgdmFyIGJlZm9yZURlbGV0ZWQgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3BlcnR5Iik7DQoNCiAgICAgICAgZGVsZXRlIG9iai5wcm9wZXJ0eTsNCg0KICAgICAgICB2YXIgYWZ0ZXJEZWxldGVkID0gb2JqLmhhc093blByb3BlcnR5KCJwcm9wZXJ0eSIpOw0KDQogICAgICAgIHJldHVybiBiZWZvcmVEZWxldGVkID09PSB0cnVlICYmIGFmdGVyRGVsZXRlZCA9PT0gZmFsc2U7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - 'Attributes' is a Function object which implements its own [[Get]] method to access the 'configurable' property (8.10.5 step 4.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-86.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi0zLTg3LTEuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnQXR0cmlidXRlcycgaXMgYW4gQXJyYXkgb2JqZWN0IHRoYXQgdXNlcyBPYmplY3QncyBbW0dldF1dIG1ldGhvZCB0byBhY2Nlc3MgdGhlICdjb25maWd1cmFibGUnIHByb3BlcnR5ICg4LjEwLjUgc3RlcCA0LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlLmNvbmZpZ3VyYWJsZSA9IHRydWU7DQogICAgICAgICAgICB2YXIgYXJyT2JqID0gWzEsIDIsIDNdOw0KDQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcGVydHkiLCBhcnJPYmopOw0KDQogICAgICAgICAgICB2YXIgYmVmb3JlRGVsZXRlZCA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcGVydHkiKTsNCg0KICAgICAgICAgICAgZGVsZXRlIG9iai5wcm9wZXJ0eTsNCg0KICAgICAgICAgICAgdmFyIGFmdGVyRGVsZXRlZCA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcGVydHkiKTsNCg0KICAgICAgICAgICAgcmV0dXJuIGJlZm9yZURlbGV0ZWQgPT09IHRydWUgJiYgYWZ0ZXJEZWxldGVkID09PSBmYWxzZTsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBBcnJheS5wcm90b3R5cGUuY29uZmlndXJhYmxlOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - 'Attributes' is an Array object that uses Object's [[Get]] method to access the 'configurable' property (8.10.5 step 4.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-87-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi0zLTg3LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnR5IC0gJ0F0dHJpYnV0ZXMnIGlzIGFuIEFycmF5IG9iamVjdCB0aGF0IHVzZXMgT2JqZWN0J3MgW1tHZXRdXSBtZXRob2QgdG8gYWNjZXNzIHRoZSAnY29uZmlndXJhYmxlJyBwcm9wZXJ0eSAoOC4xMC41IHN0ZXAgNC5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7IH07DQoNCiAgICAgICAgdmFyIGFyck9iaiA9IFsxLCAyLCAzXTsNCg0KICAgICAgICBhcnJPYmouY29uZmlndXJhYmxlID0gdHJ1ZTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcGVydHkiLCBhcnJPYmopOw0KDQogICAgICAgIHZhciBiZWZvcmVEZWxldGVkID0gb2JqLmhhc093blByb3BlcnR5KCJwcm9wZXJ0eSIpOw0KDQogICAgICAgIGRlbGV0ZSBvYmoucHJvcGVydHk7DQoNCiAgICAgICAgdmFyIGFmdGVyRGVsZXRlZCA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcGVydHkiKTsNCg0KICAgICAgICByZXR1cm4gYmVmb3JlRGVsZXRlZCA9PT0gdHJ1ZSAmJiBhZnRlckRlbGV0ZWQgPT09IGZhbHNlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'Attributes' is an Array object that uses Object's [[Get]] method to access the 'configurable' property (8.10.5 step 4.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-87.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi0zLTg4LTEuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnQXR0cmlidXRlcycgaXMgYSBTdHJpbmcgb2JqZWN0IHRoYXQgdXNlcyBPYmplY3QncyBbW0dldF1dIG1ldGhvZCB0byBhY2Nlc3MgdGhlICdjb25maWd1cmFibGUnIHByb3BlcnR5ICg4LjEwLjUgc3RlcCA0LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgU3RyaW5nLnByb3RvdHlwZS5jb25maWd1cmFibGUgPSB0cnVlOw0KICAgICAgICAgICAgdmFyIHN0ck9iaiA9IG5ldyBTdHJpbmcoImFiYyIpOw0KDQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcGVydHkiLCBzdHJPYmopOw0KDQogICAgICAgICAgICB2YXIgYmVmb3JlRGVsZXRlZCA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcGVydHkiKTsNCg0KICAgICAgICAgICAgZGVsZXRlIG9iai5wcm9wZXJ0eTsNCg0KICAgICAgICAgICAgdmFyIGFmdGVyRGVsZXRlZCA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcGVydHkiKTsNCg0KICAgICAgICAgICAgcmV0dXJuIGJlZm9yZURlbGV0ZWQgPT09IHRydWUgJiYgYWZ0ZXJEZWxldGVkID09PSBmYWxzZTsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBTdHJpbmcucHJvdG90eXBlLmNvbmZpZ3VyYWJsZTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'Attributes' is a String object that uses Object's [[Get]] method to access the 'configurable' property (8.10.5 step 4.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-88-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi0zLTg4LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnR5IC0gJ0F0dHJpYnV0ZXMnIGlzIGEgU3RyaW5nIG9iamVjdCB0aGF0IHVzZXMgT2JqZWN0J3MgW1tHZXRdXSBtZXRob2QgdG8gYWNjZXNzIHRoZSAnY29uZmlndXJhYmxlJyBwcm9wZXJ0eSAoOC4xMC41IHN0ZXAgNC5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7IH07DQoNCiAgICAgICAgdmFyIHN0ck9iaiA9IG5ldyBTdHJpbmcoImFiYyIpOw0KDQogICAgICAgIHN0ck9iai5jb25maWd1cmFibGUgPSB0cnVlOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wZXJ0eSIsIHN0ck9iaik7DQoNCiAgICAgICAgdmFyIGJlZm9yZURlbGV0ZWQgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3BlcnR5Iik7DQoNCiAgICAgICAgZGVsZXRlIG9iai5wcm9wZXJ0eTsNCg0KICAgICAgICB2YXIgYWZ0ZXJEZWxldGVkID0gb2JqLmhhc093blByb3BlcnR5KCJwcm9wZXJ0eSIpOw0KDQogICAgICAgIHJldHVybiBiZWZvcmVEZWxldGVkID09PSB0cnVlICYmIGFmdGVyRGVsZXRlZCA9PT0gZmFsc2U7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - 'Attributes' is a String object that uses Object's [[Get]] method to access the 'configurable' property (8.10.5 step 4.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-88.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi0zLTg5LTEuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnQXR0cmlidXRlcycgaXMgYSBCb29sZWFuIG9iamVjdCB0aGF0IHVzZXMgT2JqZWN0J3MgW1tHZXRdXSBtZXRob2QgdG8gYWNjZXNzIHRoZSAnY29uZmlndXJhYmxlJyBwcm9wZXJ0eSAoOC4xMC41IHN0ZXAgNC5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIEJvb2xlYW4ucHJvdG90eXBlLmNvbmZpZ3VyYWJsZSA9IHRydWU7DQogICAgICAgICAgICB2YXIgYm9vbE9iaiA9IG5ldyBCb29sZWFuKHRydWUpOw0KDQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcGVydHkiLCBib29sT2JqKTsNCg0KICAgICAgICAgICAgdmFyIGJlZm9yZURlbGV0ZWQgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3BlcnR5Iik7DQoNCiAgICAgICAgICAgIGRlbGV0ZSBvYmoucHJvcGVydHk7DQoNCiAgICAgICAgICAgIHZhciBhZnRlckRlbGV0ZWQgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3BlcnR5Iik7DQoNCiAgICAgICAgICAgIHJldHVybiBiZWZvcmVEZWxldGVkID09PSB0cnVlICYmIGFmdGVyRGVsZXRlZCA9PT0gZmFsc2U7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgQm9vbGVhbi5wcm90b3R5cGUuY29uZmlndXJhYmxlOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - 'Attributes' is a Boolean object that uses Object's [[Get]] method to access the 'configurable' property (8.10.5 step 4.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-89-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi0zLTg5LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnR5IC0gJ0F0dHJpYnV0ZXMnIGlzIGEgQm9vbGVhbiBvYmplY3QgdGhhdCB1c2VzIE9iamVjdCdzIFtbR2V0XV0gbWV0aG9kIHRvIGFjY2VzcyB0aGUgJ2NvbmZpZ3VyYWJsZScgcHJvcGVydHkgKDguMTAuNSBzdGVwIDQuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0geyB9Ow0KDQogICAgICAgIHZhciBib29sT2JqID0gbmV3IEJvb2xlYW4odHJ1ZSk7DQoNCiAgICAgICAgYm9vbE9iai5jb25maWd1cmFibGUgPSB0cnVlOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wZXJ0eSIsIGJvb2xPYmopOw0KDQogICAgICAgIHZhciBiZWZvcmVEZWxldGVkID0gb2JqLmhhc093blByb3BlcnR5KCJwcm9wZXJ0eSIpOw0KDQogICAgICAgIGRlbGV0ZSBvYmoucHJvcGVydHk7DQoNCiAgICAgICAgdmFyIGFmdGVyRGVsZXRlZCA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcGVydHkiKTsNCg0KICAgICAgICByZXR1cm4gYmVmb3JlRGVsZXRlZCA9PT0gdHJ1ZSAmJiBhZnRlckRlbGV0ZWQgPT09IGZhbHNlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'Attributes' is a Boolean object that uses Object's [[Get]] method to access the 'configurable' property (8.10.5 step 4.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-89.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogVGhlIGFidHJhY3Qgb3BlcmF0aW9uIFRvUHJvcGVydHlEZXNjcmlwdG9yICBpcyB1c2VkIHRvIHBhY2thZ2UgdGhlDQogKiBpbnRvIGEgcHJvcGVydHkgZGVzYy4gU3RlcCAxMCBvZiBUb1Byb3BlcnR5RGVzY3JpcHRvciB0aHJvd3MgYSBUeXBlRXJyb3INCiAqIGlmIHRoZSBwcm9wZXJ0eSBkZXNjIGVuZHMgdXAgaGF2aW5nIGEgbWl4IG9mIGFjY2Vzc29yIGFuZCBkYXRhIHByb3BlcnR5IGVsZW1lbnRzLg0KICoNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtMy05LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnR5IHRocm93cyBUeXBlRXJyb3IgaWYgZ2V0dGVyIGlzIG5vdCBjYWxsYWJsZSBidXQgbm90IHVuZGVmaW5lZCAoT2JqZWN0KSg4LjEwLjUgc3RlcCA3LmIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICB2YXIgbyA9IHt9Ow0KICAgIA0KICAgIC8vIGR1bW15IGdldHRlcg0KICAgIHZhciBnZXR0ZXIgPSB7IGE6IDEgfTsNCiAgICB2YXIgZGVzYyA9IHsgZ2V0OiBnZXR0ZXIgfTsNCiAgICANCiAgICB0cnkgew0KICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG8sICJmb28iLCBkZXNjKTsNCiAgICB9DQogICAgY2F0Y2ggKGUpIHsNCiAgICAgIGlmIChlIGluc3RhbmNlb2YgVHlwZUVycm9yICYmDQogICAgICAgICAgKG8uaGFzT3duUHJvcGVydHkoImZvbyIpID09PSBmYWxzZSkpIHsNCiAgICAgICAgcmV0dXJuIHRydWU7DQogICAgICB9DQogICAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"The abtract operation ToPropertyDescriptor is used to package the\ninto a property desc. Step 10 of ToPropertyDescriptor throws a TypeError\nif the property desc ends up having a mix of accessor and data property elements.","description":"Object.defineProperty throws TypeError if getter is not callable but not undefined (Object)(8.10.5 step 7.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-9.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi0zLTkwLTEuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnQXR0cmlidXRlcycgaXMgYSBOdW1iZXIgb2JqZWN0IHRoYXQgdXNlcyBPYmplY3QncyBbW0dldF1dIG1ldGhvZCB0byBhY2Nlc3MgdGhlICdjb25maWd1cmFibGUnIHByb3BlcnR5ICg4LjEwLjUgc3RlcCA0LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgTnVtYmVyLnByb3RvdHlwZS5jb25maWd1cmFibGUgPSB0cnVlOw0KICAgICAgICAgICAgdmFyIG51bU9iaiA9IG5ldyBOdW1iZXIoLTIpOw0KDQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcGVydHkiLCBudW1PYmopOw0KDQogICAgICAgICAgICB2YXIgYmVmb3JlRGVsZXRlZCA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcGVydHkiKTsNCg0KICAgICAgICAgICAgZGVsZXRlIG9iai5wcm9wZXJ0eTsNCg0KICAgICAgICAgICAgdmFyIGFmdGVyRGVsZXRlZCA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcGVydHkiKTsNCg0KICAgICAgICAgICAgcmV0dXJuIGJlZm9yZURlbGV0ZWQgPT09IHRydWUgJiYgYWZ0ZXJEZWxldGVkID09PSBmYWxzZTsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBOdW1iZXIucHJvdG90eXBlLmNvbmZpZ3VyYWJsZTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'Attributes' is a Number object that uses Object's [[Get]] method to access the 'configurable' property (8.10.5 step 4.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-90-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi0zLTkwLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnR5IC0gJ0F0dHJpYnV0ZXMnIGlzIGEgTnVtYmVyIG9iamVjdCB0aGF0IHVzZXMgT2JqZWN0J3MgW1tHZXRdXSBtZXRob2QgdG8gYWNjZXNzIHRoZSAnY29uZmlndXJhYmxlJyBwcm9wZXJ0eSAoOC4xMC41IHN0ZXAgNC5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7IH07DQoNCiAgICAgICAgdmFyIG51bU9iaiA9IG5ldyBOdW1iZXIoLTIpOw0KDQogICAgICAgIG51bU9iai5jb25maWd1cmFibGUgPSB0cnVlOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wZXJ0eSIsIG51bU9iaik7DQoNCiAgICAgICAgdmFyIGJlZm9yZURlbGV0ZWQgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3BlcnR5Iik7DQoNCiAgICAgICAgZGVsZXRlIG9iai5wcm9wZXJ0eTsNCg0KICAgICAgICB2YXIgYWZ0ZXJEZWxldGVkID0gb2JqLmhhc093blByb3BlcnR5KCJwcm9wZXJ0eSIpOw0KDQogICAgICAgIHJldHVybiBiZWZvcmVEZWxldGVkID09PSB0cnVlICYmIGFmdGVyRGVsZXRlZCA9PT0gZmFsc2U7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - 'Attributes' is a Number object that uses Object's [[Get]] method to access the 'configurable' property (8.10.5 step 4.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-90.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi0zLTkxLTEuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnQXR0cmlidXRlcycgaXMgdGhlIE1hdGggb2JqZWN0IHRoYXQgdXNlcyBPYmplY3QncyBbW0dldF1dIG1ldGhvZCB0byBhY2Nlc3MgdGhlICdjb25maWd1cmFibGUnIHByb3BlcnR5ICg4LjEwLjUgc3RlcCA0LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QucHJvdG90eXBlLmNvbmZpZ3VyYWJsZSA9IHRydWU7DQoNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wZXJ0eSIsIE1hdGgpOw0KDQogICAgICAgICAgICB2YXIgYmVmb3JlRGVsZXRlZCA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcGVydHkiKTsNCg0KICAgICAgICAgICAgZGVsZXRlIG9iai5wcm9wZXJ0eTsNCg0KICAgICAgICAgICAgdmFyIGFmdGVyRGVsZXRlZCA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcGVydHkiKTsNCg0KICAgICAgICAgICAgcmV0dXJuIGJlZm9yZURlbGV0ZWQgPT09IHRydWUgJiYgYWZ0ZXJEZWxldGVkID09PSBmYWxzZTsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBPYmplY3QucHJvdG90eXBlLmNvbmZpZ3VyYWJsZTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'Attributes' is the Math object that uses Object's [[Get]] method to access the 'configurable' property (8.10.5 step 4.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-91-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi0zLTkxLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnR5IC0gJ0F0dHJpYnV0ZXMnIGlzIHRoZSBNYXRoIG9iamVjdCB0aGF0IHVzZXMgT2JqZWN0J3MgW1tHZXRdXSBtZXRob2QgdG8gYWNjZXNzIHRoZSAnY29uZmlndXJhYmxlJyBwcm9wZXJ0eSAoOC4xMC41IHN0ZXAgNC5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgTWF0aC5jb25maWd1cmFibGUgPSB0cnVlOw0KDQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcGVydHkiLCBNYXRoKTsNCg0KICAgICAgICAgICAgdmFyIGJlZm9yZURlbGV0ZWQgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3BlcnR5Iik7DQoNCiAgICAgICAgICAgIGRlbGV0ZSBvYmoucHJvcGVydHk7DQoNCiAgICAgICAgICAgIHZhciBhZnRlckRlbGV0ZWQgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3BlcnR5Iik7DQoNCiAgICAgICAgICAgIHJldHVybiBiZWZvcmVEZWxldGVkID09PSB0cnVlICYmIGFmdGVyRGVsZXRlZCA9PT0gZmFsc2U7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgTWF0aC5jb25maWd1cmFibGU7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'Attributes' is the Math object that uses Object's [[Get]] method to access the 'configurable' property (8.10.5 step 4.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-91.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi0zLTkyLTEuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnQXR0cmlidXRlcycgaXMgYSBEYXRlIG9iamVjdCB0aGF0IHVzZXMgT2JqZWN0J3MgW1tHZXRdXSBtZXRob2QgdG8gYWNjZXNzIHRoZSAnY29uZmlndXJhYmxlJyBwcm9wZXJ0eSAoOC4xMC41IHN0ZXAgNC5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIERhdGUucHJvdG90eXBlLmNvbmZpZ3VyYWJsZSA9IHRydWU7DQogICAgICAgICAgICB2YXIgZGF0ZU9iaiA9IG5ldyBEYXRlKCk7DQoNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wZXJ0eSIsIGRhdGVPYmopOw0KDQogICAgICAgICAgICB2YXIgYmVmb3JlRGVsZXRlZCA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcGVydHkiKTsNCg0KICAgICAgICAgICAgZGVsZXRlIG9iai5wcm9wZXJ0eTsNCg0KICAgICAgICAgICAgdmFyIGFmdGVyRGVsZXRlZCA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcGVydHkiKTsNCg0KICAgICAgICAgICAgcmV0dXJuIGJlZm9yZURlbGV0ZWQgPT09IHRydWUgJiYgYWZ0ZXJEZWxldGVkID09PSBmYWxzZTsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBEYXRlLnByb3RvdHlwZS5jb25maWd1cmFibGU7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'Attributes' is a Date object that uses Object's [[Get]] method to access the 'configurable' property (8.10.5 step 4.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-92-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi0zLTkyLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnR5IC0gJ0F0dHJpYnV0ZXMnIGlzIGEgRGF0ZSBvYmplY3QgdGhhdCB1c2VzIE9iamVjdCdzIFtbR2V0XV0gbWV0aG9kIHRvIGFjY2VzcyB0aGUgJ2NvbmZpZ3VyYWJsZScgcHJvcGVydHkgKDguMTAuNSBzdGVwIDQuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0geyB9Ow0KDQogICAgICAgIHZhciBkYXRlT2JqID0gbmV3IERhdGUoKTsNCg0KICAgICAgICBkYXRlT2JqLmNvbmZpZ3VyYWJsZSA9IHRydWU7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3BlcnR5IiwgZGF0ZU9iaik7DQoNCiAgICAgICAgdmFyIGJlZm9yZURlbGV0ZWQgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3BlcnR5Iik7DQoNCiAgICAgICAgZGVsZXRlIG9iai5wcm9wZXJ0eTsNCg0KICAgICAgICB2YXIgYWZ0ZXJEZWxldGVkID0gb2JqLmhhc093blByb3BlcnR5KCJwcm9wZXJ0eSIpOw0KDQogICAgICAgIHJldHVybiBiZWZvcmVEZWxldGVkID09PSB0cnVlICYmIGFmdGVyRGVsZXRlZCA9PT0gZmFsc2U7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - 'Attributes' is a Date object that uses Object's [[Get]] method to access the 'configurable' property (8.10.5 step 4.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-92.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi0zLTkzLTEuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnQXR0cmlidXRlcycgaXMgYW4gUmVnRXhwIG9iamVjdCB0aGF0IHVzZXMgT2JqZWN0J3MgW1tHZXRdXSBtZXRob2QgdG8gYWNjZXNzIHRoZSAnY29uZmlndXJhYmxlJyBwcm9wZXJ0eSAoOC4xMC41IHN0ZXAgNC5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIFJlZ0V4cC5wcm90b3R5cGUuY29uZmlndXJhYmxlID0gdHJ1ZTsNCiAgICAgICAgICAgIHZhciByZWdPYmogPSBuZXcgUmVnRXhwKCk7DQoNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wZXJ0eSIsIHJlZ09iaik7DQoNCiAgICAgICAgICAgIHZhciBiZWZvcmVEZWxldGVkID0gb2JqLmhhc093blByb3BlcnR5KCJwcm9wZXJ0eSIpOw0KDQogICAgICAgICAgICBkZWxldGUgb2JqLnByb3BlcnR5Ow0KDQogICAgICAgICAgICB2YXIgYWZ0ZXJEZWxldGVkID0gb2JqLmhhc093blByb3BlcnR5KCJwcm9wZXJ0eSIpOw0KDQogICAgICAgICAgICByZXR1cm4gYmVmb3JlRGVsZXRlZCA9PT0gdHJ1ZSAmJiBhZnRlckRlbGV0ZWQgPT09IGZhbHNlOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIFJlZ0V4cC5wcm90b3R5cGUuY29uZmlndXJhYmxlOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - 'Attributes' is an RegExp object that uses Object's [[Get]] method to access the 'configurable' property (8.10.5 step 4.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-93-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi0zLTkzLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnR5IC0gJ0F0dHJpYnV0ZXMnIGlzIGFuIFJlZ0V4cCBvYmplY3QgdGhhdCB1c2VzIE9iamVjdCdzIFtbR2V0XV0gbWV0aG9kIHRvIGFjY2VzcyB0aGUgJ2NvbmZpZ3VyYWJsZScgcHJvcGVydHkgKDguMTAuNSBzdGVwIDQuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0geyB9Ow0KDQogICAgICAgIHZhciByZWdPYmogPSBuZXcgUmVnRXhwKCk7DQoNCiAgICAgICAgcmVnT2JqLmNvbmZpZ3VyYWJsZSA9IHRydWU7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3BlcnR5IiwgcmVnT2JqKTsNCg0KICAgICAgICB2YXIgYmVmb3JlRGVsZXRlZCA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcGVydHkiKTsNCg0KICAgICAgICBkZWxldGUgb2JqLnByb3BlcnR5Ow0KDQogICAgICAgIHZhciBhZnRlckRlbGV0ZWQgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3BlcnR5Iik7DQoNCiAgICAgICAgcmV0dXJuIGJlZm9yZURlbGV0ZWQgPT09IHRydWUgJiYgYWZ0ZXJEZWxldGVkID09PSBmYWxzZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'Attributes' is an RegExp object that uses Object's [[Get]] method to access the 'configurable' property (8.10.5 step 4.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-93.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi0zLTk0LTEuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnQXR0cmlidXRlcycgaXMgdGhlIEpTT04gb2JqZWN0IHRoYXQgdXNlcyBPYmplY3QncyBbW0dldF1dIG1ldGhvZCB0byBhY2Nlc3MgdGhlICdjb25maWd1cmFibGUnIHByb3BlcnR5ICg4LjEwLjUgc3RlcCA0LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QucHJvdG90eXBlLmNvbmZpZ3VyYWJsZSA9IHRydWU7DQoNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wZXJ0eSIsIEpTT04pOw0KDQogICAgICAgICAgICB2YXIgYmVmb3JlRGVsZXRlZCA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcGVydHkiKTsNCg0KICAgICAgICAgICAgZGVsZXRlIG9iai5wcm9wZXJ0eTsNCg0KICAgICAgICAgICAgdmFyIGFmdGVyRGVsZXRlZCA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcGVydHkiKTsNCg0KICAgICAgICAgICAgcmV0dXJuIGJlZm9yZURlbGV0ZWQgPT09IHRydWUgJiYgYWZ0ZXJEZWxldGVkID09PSBmYWxzZTsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBPYmplY3QucHJvdG90eXBlLmNvbmZpZ3VyYWJsZTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'Attributes' is the JSON object that uses Object's [[Get]] method to access the 'configurable' property (8.10.5 step 4.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-94-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi0zLTk0LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnR5IC0gJ0F0dHJpYnV0ZXMnIGlzIHRoZSBKU09OIG9iamVjdCB0aGF0IHVzZXMgT2JqZWN0J3MgW1tHZXRdXSBtZXRob2QgdG8gYWNjZXNzIHRoZSAnY29uZmlndXJhYmxlJyBwcm9wZXJ0eSAoOC4xMC41IHN0ZXAgNC5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgSlNPTi5jb25maWd1cmFibGUgPSB0cnVlOw0KDQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcGVydHkiLCBKU09OKTsNCg0KICAgICAgICAgICAgdmFyIGJlZm9yZURlbGV0ZWQgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3BlcnR5Iik7DQoNCiAgICAgICAgICAgIGRlbGV0ZSBvYmoucHJvcGVydHk7DQoNCiAgICAgICAgICAgIHZhciBhZnRlckRlbGV0ZWQgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3BlcnR5Iik7DQoNCiAgICAgICAgICAgIHJldHVybiBiZWZvcmVEZWxldGVkID09PSB0cnVlICYmIGFmdGVyRGVsZXRlZCA9PT0gZmFsc2U7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgSlNPTi5jb25maWd1cmFibGU7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'Attributes' is the JSON object that uses Object's [[Get]] method to access the 'configurable' property (8.10.5 step 4.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-94.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi0zLTk1LTEuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnQXR0cmlidXRlcycgaXMgYW4gRXJyb3Igb2JqZWN0IHRoYXQgdXNlcyBPYmplY3QncyBbW0dldF1dIG1ldGhvZCB0byBhY2Nlc3MgdGhlICdjb25maWd1cmFibGUnIHByb3BlcnR5ICg4LjEwLjUgc3RlcCA0LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgRXJyb3IucHJvdG90eXBlLmNvbmZpZ3VyYWJsZSA9IHRydWU7DQogICAgICAgICAgICB2YXIgZXJyT2JqID0gbmV3IEVycm9yKCk7DQoNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wZXJ0eSIsIGVyck9iaik7DQoNCiAgICAgICAgICAgIHZhciBiZWZvcmVEZWxldGVkID0gb2JqLmhhc093blByb3BlcnR5KCJwcm9wZXJ0eSIpOw0KDQogICAgICAgICAgICBkZWxldGUgb2JqLnByb3BlcnR5Ow0KDQogICAgICAgICAgICB2YXIgYWZ0ZXJEZWxldGVkID0gb2JqLmhhc093blByb3BlcnR5KCJwcm9wZXJ0eSIpOw0KDQogICAgICAgICAgICByZXR1cm4gYmVmb3JlRGVsZXRlZCA9PT0gdHJ1ZSAmJiBhZnRlckRlbGV0ZWQgPT09IGZhbHNlOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIEVycm9yLnByb3RvdHlwZS5jb25maWd1cmFibGU7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'Attributes' is an Error object that uses Object's [[Get]] method to access the 'configurable' property (8.10.5 step 4.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-95-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi0zLTk1LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnR5IC0gJ0F0dHJpYnV0ZXMnIGlzIGFuIEVycm9yIG9iamVjdCB0aGF0IHVzZXMgT2JqZWN0J3MgW1tHZXRdXSBtZXRob2QgdG8gYWNjZXNzIHRoZSAnY29uZmlndXJhYmxlJyBwcm9wZXJ0eSAoOC4xMC41IHN0ZXAgNC5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7IH07DQoNCiAgICAgICAgdmFyIGVyck9iaiA9IG5ldyBFcnJvcigpOw0KDQogICAgICAgIGVyck9iai5jb25maWd1cmFibGUgPSB0cnVlOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wZXJ0eSIsIGVyck9iaik7DQoNCiAgICAgICAgdmFyIGJlZm9yZURlbGV0ZWQgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3BlcnR5Iik7DQoNCiAgICAgICAgZGVsZXRlIG9iai5wcm9wZXJ0eTsNCg0KICAgICAgICB2YXIgYWZ0ZXJEZWxldGVkID0gb2JqLmhhc093blByb3BlcnR5KCJwcm9wZXJ0eSIpOw0KDQogICAgICAgIHJldHVybiBiZWZvcmVEZWxldGVkID09PSB0cnVlICYmIGFmdGVyRGVsZXRlZCA9PT0gZmFsc2U7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - 'Attributes' is an Error object that uses Object's [[Get]] method to access the 'configurable' property (8.10.5 step 4.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-95.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi0zLTk2LTEuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSAnQXR0cmlidXRlcycgaXMgYW4gQXJndW1lbnRzIG9iamVjdCB3aGljaCBpbXBsZW1lbnRzIGl0cyBvd24gW1tHZXRdXSBtZXRob2QgdG8gYWNjZXNzIHRoZSAnY29uZmlndXJhYmxlJyBwcm9wZXJ0eSAoOC4xMC41IHN0ZXAgNC5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LnByb3RvdHlwZS5jb25maWd1cmFibGUgPSB0cnVlOw0KICAgICAgICAgICAgdmFyIGFyZ09iaiA9IChmdW5jdGlvbiAoKSB7IHJldHVybiBhcmd1bWVudHM7IH0pKCk7DQoNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wZXJ0eSIsIGFyZ09iaik7DQoNCiAgICAgICAgICAgIHZhciBiZWZvcmVEZWxldGVkID0gb2JqLmhhc093blByb3BlcnR5KCJwcm9wZXJ0eSIpOw0KDQogICAgICAgICAgICBkZWxldGUgb2JqLnByb3BlcnR5Ow0KDQogICAgICAgICAgICB2YXIgYWZ0ZXJEZWxldGVkID0gb2JqLmhhc093blByb3BlcnR5KCJwcm9wZXJ0eSIpOw0KDQogICAgICAgICAgICByZXR1cm4gYmVmb3JlRGVsZXRlZCA9PT0gdHJ1ZSAmJiBhZnRlckRlbGV0ZWQgPT09IGZhbHNlOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIE9iamVjdC5wcm90b3R5cGUuY29uZmlndXJhYmxlOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - 'Attributes' is an Arguments object which implements its own [[Get]] method to access the 'configurable' property (8.10.5 step 4.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-96-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi0zLTk2LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnR5IC0gJ0F0dHJpYnV0ZXMnIGlzIGFuIEFyZ3VtZW50cyBvYmplY3Qgd2hpY2ggaW1wbGVtZW50cyBpdHMgb3duIFtbR2V0XV0gbWV0aG9kIHRvIGFjY2VzcyB0aGUgJ2NvbmZpZ3VyYWJsZScgcHJvcGVydHkgKDguMTAuNSBzdGVwIDQuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgdmFyIGFyZ09iaiA9IChmdW5jdGlvbiAoKSB7IHJldHVybiBhcmd1bWVudHM7IH0pKCk7DQogICAgICAgIGFyZ09iai5jb25maWd1cmFibGUgPSB0cnVlOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wZXJ0eSIsIGFyZ09iaik7DQoNCiAgICAgICAgdmFyIGJlZm9yZURlbGV0ZWQgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3BlcnR5Iik7DQoNCiAgICAgICAgZGVsZXRlIG9iai5wcm9wZXJ0eTsNCg0KICAgICAgICB2YXIgYWZ0ZXJEZWxldGVkID0gb2JqLmhhc093blByb3BlcnR5KCJwcm9wZXJ0eSIpOw0KDQogICAgICAgIHJldHVybiBiZWZvcmVEZWxldGVkID09PSB0cnVlICYmIGFmdGVyRGVsZXRlZCA9PT0gZmFsc2U7DQoNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'Attributes' is an Arguments object which implements its own [[Get]] method to access the 'configurable' property (8.10.5 step 4.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-96.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi0zLTk4LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnR5IC0gJ0F0dHJpYnV0ZXMnIGlzIHRoZSBnbG9iYWwgb2JqZWN0IHRoYXQgdXNlcyBPYmplY3QncyBbW0dldF1dIG1ldGhvZCB0byBhY2Nlc3MgdGhlICdjb25maWd1cmFibGUnIHByb3BlcnR5ICg4LjEwLjUgc3RlcCA0LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBmbkdsb2JhbE9iamVjdCgpLmNvbmZpZ3VyYWJsZSA9IHRydWU7DQoNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wZXJ0eSIsIGZuR2xvYmFsT2JqZWN0KCkpOw0KDQogICAgICAgICAgICB2YXIgYmVmb3JlRGVsZXRlZCA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcGVydHkiKTsNCg0KICAgICAgICAgICAgZGVsZXRlIG9iai5wcm9wZXJ0eTsNCg0KICAgICAgICAgICAgdmFyIGFmdGVyRGVsZXRlZCA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcGVydHkiKTsNCg0KICAgICAgICAgICAgcmV0dXJuIGJlZm9yZURlbGV0ZWQgPT09IHRydWUgJiYgYWZ0ZXJEZWxldGVkID09PSBmYWxzZTsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBmbkdsb2JhbE9iamVjdCgpLmNvbmZpZ3VyYWJsZTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'Attributes' is the global object that uses Object's [[Get]] method to access the 'configurable' property (8.10.5 step 4.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-98.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi0zLTk5LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnR5IC0gJ2NvbmZpZ3VyYWJsZScgcHJvcGVydHkgaW4gJ0F0dHJpYnV0ZXMnIGlzIHVuZGVmaW5lZCAoOC4xMC41IHN0ZXAgNC5iKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7IH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3BlcnR5IiwgeyBjb25maWd1cmFibGU6IHVuZGVmaW5lZCB9KTsNCg0KICAgICAgICB2YXIgYmVmb3JlRGVsZXRlZCA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcGVydHkiKTsNCg0KICAgICAgICBkZWxldGUgb2JqLnByb3BlcnR5Ow0KDQogICAgICAgIHZhciBhZnRlckRlbGV0ZWQgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3BlcnR5IikgJiYgdHlwZW9mIChvYmoucHJvcGVydHkpID09PSAidW5kZWZpbmVkIjsNCg0KICAgICAgICByZXR1cm4gYmVmb3JlRGVsZXRlZCA9PT0gdHJ1ZSAmJiBhZnRlckRlbGV0ZWQgPT09IHRydWU7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - 'configurable' property in 'Attributes' is undefined (8.10.5 step 4.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-3-99.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogU3RlcCA0IG9mIGRlZmluZVByb3BlcnR5IGNhbGxzIHRoZSBbW0RlZmluZU93blByb3BlcnR5XV0gaW50ZXJuYWwgbWV0aG9kDQogKiBvZiBPIHBhc3NpbmcgJ3RydWUnIGZvciB0aGUgVGhyb3cgZmxhZy4gSW4gdGhpcyBjYXNlLCBzdGVwIDMgb2YNCiAqIFtbRGVmaW5lT3duUHJvcGVydHldXSByZXF1aXJlcyB0aGF0IGl0IHRocm93IGEgVHlwZUVycm9yIGV4Y2VwdGlvbiB3aGVuDQogKiBjdXJyZW50IGlzIHVuZGVmaW5lZCBhbmQgZXh0ZW5zaWJsZSBpcyBmYWxzZS4gVGhlIHZhbHVlIG9mIGRlc2MgZG9lcyBub3QNCiAqIG1hdHRlci4NCiAqDQogKiBAcGF0aCBjaDE1LzE1LjIvMTUuMi4zLzE1LjIuMy42LzE1LjIuMy42LTQtMS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSB0aHJvd3MgVHlwZUVycm9yIHdoZW4gYWRkaW5nIHByb3BlcnRpZXMgdG8gbm9uLWV4dGVuc2libGUgb2JqZWN0cyg4LjEyLjkgc3RlcCAzKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBvID0ge307DQogIE9iamVjdC5wcmV2ZW50RXh0ZW5zaW9ucyhvKTsNCg0KICB0cnkgew0KICAgIHZhciBkZXNjID0geyB2YWx1ZTogMSB9Ow0KICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvLCAiZm9vIiwgZGVzYyk7DQogIH0NCiAgY2F0Y2ggKGUpIHsNCiAgICAgIGlmIChlIGluc3RhbmNlb2YgVHlwZUVycm9yICYmDQogICAgICAgICAgKG8uaGFzT3duUHJvcGVydHkoImZvbyIpID09PSBmYWxzZSkpIHsNCiAgICAgIHJldHVybiB0cnVlOw0KICAgIH0NCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"Step 4 of defineProperty calls the [[DefineOwnProperty]] internal method\nof O passing 'true' for the Throw flag. In this case, step 3 of\n[[DefineOwnProperty]] requires that it throw a TypeError exception when\ncurrent is undefined and extensible is false. The value of desc does not\nmatter.","description":"Object.defineProperty throws TypeError when adding properties to non-extensible objects(8.12.9 step 3)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogU3RlcCA0IG9mIGRlZmluZVByb3BlcnR5IGNhbGxzIHRoZSBbW0RlZmluZU93blByb3BlcnR5XV0gaW50ZXJuYWwgbWV0aG9kDQogKiBvZiBPIHRvIGRlZmluZSB0aGUgcHJvcGVydHkuIFN0ZXAgN2Igb2YgW1tEZWZpbmVPd25Qcm9wZXJ0eV1dIHJlamVjdHMgaWYNCiAqIGN1cnJlbnQuW1tFbnVtZXJhYmxlXV0gYW5kIGRlc2MuW1tFbnVtZXJhYmxlXV0gYXJlIHRoZSBib29sZWFuIG5lZ2F0aW9ucw0KICogb2YgZWFjaCBvdGhlci4NCiAqDQogKiBAcGF0aCBjaDE1LzE1LjIvMTUuMi4zLzE1LjIuMy42LzE1LjIuMy42LTQtMTAuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgdGhyb3dzIFR5cGVFcnJvciB3aGVuIGNoYW5naW5nIFtbRW51bWVyYWJsZV1dIGZyb20gZmFsc2UgdG8gdHJ1ZSBvbiBub24tY29uZmlndXJhYmxlIGFjY2Vzc29yIHByb3BlcnRpZXMNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgbyA9IHt9Ow0KDQogIC8vIGNyZWF0ZSBhbiBhY2Nlc3NvciBwcm9wZXJ0eTsgYWxsIG90aGVyIGF0dHJpYnV0ZXMgZGVmYXVsdCB0byBmYWxzZS4NCiAgLy8gZHVtbXkgZ2V0dGVyDQogIHZhciBnZXR0ZXIgPSBmdW5jdGlvbiAoKSB7IHJldHVybiAxOyB9DQogIHZhciBkMSA9IHsgZ2V0OiBnZXR0ZXIsIGVudW1lcmFibGU6IGZhbHNlLCBjb25maWd1cmFibGU6IGZhbHNlIH07DQogIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvLCAiZm9vIiwgZDEpOw0KDQogIC8vIG5vdywgc2V0dGluZyBlbnVtZXJhYmxlIHRvIHRydWUgc2hvdWxkIGZhaWwsIHNpbmNlIFtbQ29uZmlndXJhYmxlXV0NCiAgLy8gb24gdGhlIG9yaWdpbmFsIHByb3BlcnR5IHdpbGwgYmUgZmFsc2UuDQogIHZhciBkZXNjID0geyBnZXQ6IGdldHRlciwgZW51bWVyYWJsZTogdHJ1ZSB9Ow0KDQogIHRyeSB7DQogICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG8sICJmb28iLCBkZXNjKTsNCiAgfQ0KICBjYXRjaCAoZSkgew0KICAgIGlmIChlIGluc3RhbmNlb2YgVHlwZUVycm9yKSB7DQogICAgICAvLyB0aGUgcHJvcGVydHkgc2hvdWxkIHJlbWFpbiB1bmNoYW5nZWQuDQogICAgICB2YXIgZDIgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG8sICJmb28iKTsNCiAgICAgIGlmIChkMi5nZXQgPT09IGdldHRlciAmJg0KICAgICAgICAgIGQyLmVudW1lcmFibGUgPT09IGZhbHNlICYmDQogICAgICAgICAgZDIuY29uZmlndXJhYmxlID09PSBmYWxzZSkgew0KICAgICAgICByZXR1cm4gdHJ1ZTsNCiAgICAgIH0NCiAgICB9DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"Step 4 of defineProperty calls the [[DefineOwnProperty]] internal method\nof O to define the property. Step 7b of [[DefineOwnProperty]] rejects if\ncurrent.[[Enumerable]] and desc.[[Enumerable]] are the boolean negations\nof each other.","description":"Object.defineProperty throws TypeError when changing [[Enumerable]] from false to true on non-configurable accessor properties","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-10.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTEwMC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICduYW1lJyBhbmQgJ2Rlc2MnIGFyZSBkYXRhIHByb3BlcnRpZXMsIGRlc2MudmFsdWUgYW5kIG5hbWUudmFsdWUgYXJlIHR3byBkaWZmZXJlbnQgdmFsdWVzICg4LjEyLjkgc3RlcCAxMikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBvYmouZm9vID0gMTAwOyAvLyBkZWZhdWx0IHZhbHVlIG9mIGF0dHJpYnV0ZXM6IHdyaXRhYmxlOiB0cnVlLCBjb25maWd1cmFibGU6IHRydWUsIGVudW1lcmFibGU6IHRydWUNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiZm9vIiwgew0KICAgICAgICAgICAgdmFsdWU6IDIwMA0KICAgICAgICB9KTsNCiAgICAgICAgcmV0dXJuIGRhdGFQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KG9iaiwgImZvbyIsIDIwMCwgdHJ1ZSwgdHJ1ZSwgdHJ1ZSk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - 'name' and 'desc' are data properties, desc.value and name.value are two different values (8.12.9 step 12)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-100.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTEwMS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICduYW1lJyBhbmQgJ2Rlc2MnIGFyZSBkYXRhIHByb3BlcnRpZXMsIG5hbWUudmFsdWUgaXMgcHJlc2VudCBhbmQgZGVzYy52YWx1ZSBpcyB1bmRlZmluZWQgKDguMTIuOSBzdGVwIDEyKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIG9iai5mb28gPSAxMDA7IC8vIGRlZmF1bHQgdmFsdWUgb2YgYXR0cmlidXRlczogd3JpdGFibGU6IHRydWUsIGNvbmZpZ3VyYWJsZTogdHJ1ZSwgZW51bWVyYWJsZTogdHJ1ZQ0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJmb28iLCB7IHZhbHVlOiB1bmRlZmluZWQgfSk7DQogICAgICAgIHJldHVybiBkYXRhUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChvYmosICJmb28iLCB1bmRlZmluZWQsIHRydWUsIHRydWUsIHRydWUpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'name' and 'desc' are data properties, name.value is present and desc.value is undefined (8.12.9 step 12)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-101.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTEwMi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICduYW1lJyBhbmQgJ2Rlc2MnIGFyZSBkYXRhIHByb3BlcnRpZXMsIGRlc2MudmFsdWUgaXMgcHJlc2VudCBhbmQgbmFtZS52YWx1ZSBpcyB1bmRlZmluZWQgKDguMTIuOSBzdGVwIDEyKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIG9iai5mb28gPSB1bmRlZmluZWQ7IC8vIGRlZmF1bHQgdmFsdWUgb2YgYXR0cmlidXRlczogd3JpdGFibGU6IHRydWUsIGNvbmZpZ3VyYWJsZTogdHJ1ZSwgZW51bWVyYWJsZTogdHJ1ZQ0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJmb28iLCB7IHZhbHVlOiAxMDAgfSk7DQogICAgICAgIHJldHVybiBkYXRhUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChvYmosICJmb28iLCAxMDAsIHRydWUsIHRydWUsIHRydWUpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'name' and 'desc' are data properties, desc.value is present and name.value is undefined (8.12.9 step 12)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-102.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTEwMy5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICduYW1lJyBhbmQgJ2Rlc2MnIGFyZSBkYXRhIHByb3BlcnRpZXMsIG5hbWUud3JpdGFibGUgYW5kIGRlc2Mud3JpdGFibGUgYXJlIGRpZmZlcmVudCB2YWx1ZXMgKDguMTIuOSBzdGVwIDEyKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJmb28iLCB7DQogICAgICAgICAgICB3cml0YWJsZTogZmFsc2UsIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiZm9vIiwgew0KICAgICAgICAgICAgd3JpdGFibGU6IHRydWUNCiAgICAgICAgfSk7DQogICAgICAgIHJldHVybiBkYXRhUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChvYmosICJmb28iLCB1bmRlZmluZWQsIHRydWUsIGZhbHNlLCB0cnVlKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'name' and 'desc' are data properties, name.writable and desc.writable are different values (8.12.9 step 12)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-103.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTEwNC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICduYW1lJyBhbmQgJ2Rlc2MnIGFyZSBkYXRhIHByb3BlcnRpZXMsIG5hbWUuZW51bWVyYWJsZSBhbmQgZGVzYy5lbnVtZXJhYmxlIGFyZSBkaWZmZXJlbnQgdmFsdWVzICg4LjEyLjkgc3RlcCAxMikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiZm9vIiwgew0KICAgICAgICAgICAgZW51bWVyYWJsZTogZmFsc2UsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgImZvbyIsIHsNCiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUNCiAgICAgICAgfSk7DQogICAgICAgIHJldHVybiBkYXRhUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChvYmosICJmb28iLCB1bmRlZmluZWQsIGZhbHNlLCB0cnVlLCB0cnVlKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'name' and 'desc' are data properties, name.enumerable and desc.enumerable are different values (8.12.9 step 12)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-104.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTEwNS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICduYW1lJyBhbmQgJ2Rlc2MnIGFyZSBkYXRhIHByb3BlcnRpZXMsIG5hbWUuY29uZmlndXJhYmxlID0gdHJ1ZSBhbmQgZGVzYy5jb25maWd1cmFibGUgPSBmYWxzZSAoOC4xMi45IHN0ZXAgMTIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgImZvbyIsIHsNCiAgICAgICAgICAgIHZhbHVlOiAyMDAsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLA0KICAgICAgICAgICAgd3JpdGFibGU6IHRydWUsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUgDQogICAgICAgIH0pOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJmb28iLCB7DQogICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgIH0pOw0KICAgICAgICANCiAgICAgICAgcmV0dXJuIGRhdGFQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KG9iaiwgImZvbyIsIDIwMCwgdHJ1ZSwgdHJ1ZSwgZmFsc2UpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'name' and 'desc' are data properties, name.configurable = true and desc.configurable = false (8.12.9 step 12)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-105.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTEwNi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICduYW1lJyBhbmQgJ2Rlc2MnIGFyZSBkYXRhIHByb3BlcnRpZXMsIHNldmVyYWwgYXR0cmlidXRlcyB2YWx1ZXMgb2YgbmFtZSBhbmQgZGVzYyBhcmUgZGlmZmVyZW50ICg4LjEyLjkgc3RlcCAxMikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiZm9vIiwgeyANCiAgICAgICAgICAgIHZhbHVlOiAxMDAsIA0KICAgICAgICAgICAgd3JpdGFibGU6IHRydWUsIA0KICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSwgDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUgDQogICAgICAgIH0pOw0KICAgICAgICANCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgImZvbyIsIHsgDQogICAgICAgICAgICB2YWx1ZTogMjAwLCANCiAgICAgICAgICAgIHdyaXRhYmxlOiBmYWxzZSwgDQogICAgICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZSANCiAgICAgICAgfSk7DQogICAgICAgIHJldHVybiBkYXRhUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChvYmosICJmb28iLCAyMDAsIGZhbHNlLCBmYWxzZSwgdHJ1ZSk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - 'name' and 'desc' are data properties, several attributes values of name and desc are different (8.12.9 step 12)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-106.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTEwNy5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICduYW1lJyBhbmQgJ2Rlc2MnIGFyZSBhY2Nlc3NvciBwcm9wZXJ0aWVzLCBib3RoIGRlc2MuW1tHZXRdXSBhbmQgbmFtZS5bW0dldF1dIGFyZSB0d28gZGlmZmVyZW50IHZhbHVlcyAoOC4xMi45IHN0ZXAgMTIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgZnVuY3Rpb24gZ2V0RnVuYygpIHsNCiAgICAgICAgICAgIHJldHVybiAxMDsNCiAgICAgICAgfQ0KDQogICAgICAgIGZ1bmN0aW9uIHNldEZ1bmModmFsdWUpIHsNCiAgICAgICAgICAgIG9iai5zZXRWZXJpZnlIZWxwUHJvcCA9IHZhbHVlOw0KICAgICAgICB9DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgImZvbyIsIHsNCiAgICAgICAgICAgIGdldDogZ2V0RnVuYywNCiAgICAgICAgICAgIHNldDogc2V0RnVuYywNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBmdW5jdGlvbiBnZXRGdW5jMigpIHsNCiAgICAgICAgICAgIHJldHVybiAyMDsNCiAgICAgICAgfQ0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJmb28iLCB7DQogICAgICAgICAgICBnZXQ6IGdldEZ1bmMyDQogICAgICAgIH0pOw0KICAgICAgICByZXR1cm4gYWNjZXNzb3JQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KG9iaiwgImZvbyIsIGdldEZ1bmMyLCBzZXRGdW5jLCAic2V0VmVyaWZ5SGVscFByb3AiLCBmYWxzZSwgdHJ1ZSk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - 'name' and 'desc' are accessor properties, both desc.[[Get]] and name.[[Get]] are two different values (8.12.9 step 12)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-107.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTEwOC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICduYW1lJyBhbmQgJ2Rlc2MnIGFyZSBhY2Nlc3NvciBwcm9wZXJ0aWVzLCAgbmFtZS5bW0dldF1dIGlzIHByZXNlbnQgYW5kIGRlc2MuW1tHZXRdXSBpcyB1bmRlZmluZWQgKDguMTIuOSBzdGVwIDEyKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIGZ1bmN0aW9uIGdldEZ1bmMoKSB7DQogICAgICAgICAgICByZXR1cm4gMTA7DQogICAgICAgIH0NCg0KICAgICAgICBmdW5jdGlvbiBzZXRGdW5jKHZhbHVlKSB7DQogICAgICAgICAgICBvYmouc2V0VmVyaWZ5SGVscFByb3AgPSB2YWx1ZTsNCiAgICAgICAgfQ0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJmb28iLCB7DQogICAgICAgICAgICBnZXQ6IGdldEZ1bmMsDQogICAgICAgICAgICBzZXQ6IHNldEZ1bmMsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJmb28iLCB7DQogICAgICAgICAgICBzZXQ6IHNldEZ1bmMsDQogICAgICAgICAgICBnZXQ6IHVuZGVmaW5lZA0KICAgICAgICB9KTsNCiAgICAgICAgcmV0dXJuIGFjY2Vzc29yUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChvYmosICJmb28iLCB1bmRlZmluZWQsIHNldEZ1bmMsICJzZXRWZXJpZnlIZWxwUHJvcCIsIHRydWUsIHRydWUpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'name' and 'desc' are accessor properties, name.[[Get]] is present and desc.[[Get]] is undefined (8.12.9 step 12)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-108.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTEwOS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICduYW1lJyBhbmQgJ2Rlc2MnIGFyZSBhY2Nlc3NvciBwcm9wZXJ0aWVzLCBuYW1lLltbR2V0XV0gaXMgdW5kZWZpbmVkIGFuZCBkZXNjLltbR2V0XV0gaXMgZnVuY3Rpb24gKDguMTIuOSBzdGVwIDEyKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBmdW5jdGlvbiBzZXRGdW5jKHZhbHVlKSB7DQogICAgICAgICAgICBvYmouc2V0VmVyaWZ5SGVscFByb3AgPSB2YWx1ZTsNCiAgICAgICAgfQ0KICAgICAgIA0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiZm9vIiwgew0KICAgICAgICAgICAgc2V0OiBzZXRGdW5jLA0KICAgICAgICAgICAgZ2V0OiB1bmRlZmluZWQsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIGZ1bmN0aW9uIGdldEZ1bmMoKSB7DQogICAgICAgICAgICByZXR1cm4gMTA7DQogICAgICAgIH0NCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiZm9vIiwgew0KICAgICAgICAgICAgZ2V0OiBnZXRGdW5jDQogICAgICAgIH0pOw0KICAgICAgICByZXR1cm4gYWNjZXNzb3JQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KG9iaiwgImZvbyIsIGdldEZ1bmMsIHNldEZ1bmMsICJzZXRWZXJpZnlIZWxwUHJvcCIsIHRydWUsIHRydWUpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'name' and 'desc' are accessor properties, name.[[Get]] is undefined and desc.[[Get]] is function (8.12.9 step 12)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-109.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogU3RlcCA0IG9mIGRlZmluZVByb3BlcnR5IGNhbGxzIHRoZSBbW0RlZmluZU93blByb3BlcnR5XV0gaW50ZXJuYWwgbWV0aG9kDQogKiBvZiBPIHRvIGRlZmluZSB0aGUgcHJvcGVydHkuIFN0ZXAgN2Igb2YgW1tEZWZpbmVPd25Qcm9wZXJ0eV1dIHJlamVjdHMgaWYNCiAqIGN1cnJlbnQuW1tFbnVtZXJhYmxlXV0gYW5kIGRlc2MuW1tFbnVtZXJhYmxlXV0gYXJlIHRoZSBib29sZWFuIG5lZ2F0aW9ucw0KICogb2YgZWFjaCBvdGhlci4NCiAqDQogKiBAcGF0aCBjaDE1LzE1LjIvMTUuMi4zLzE1LjIuMy42LzE1LjIuMy42LTQtMTEuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgdGhyb3dzIFR5cGVFcnJvciB3aGVuIGNoYW5naW5nIFtbRW51bWVyYWJsZV1dIGZyb20gdHJ1ZSB0byBmYWxzZSBvbiBub24tY29uZmlndXJhYmxlIGFjY2Vzc29yIHByb3BlcnRpZXMNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgbyA9IHt9Ow0KDQogIC8vIGNyZWF0ZSBhbiBhY2Nlc3NvciBwcm9wZXJ0eTsgYWxsIG90aGVyIGF0dHJpYnV0ZXMgZGVmYXVsdCB0byBmYWxzZS4NCiAgLy8gZHVtbXkgZ2V0dGVyDQogIHZhciBnZXR0ZXIgPSBmdW5jdGlvbiAoKSB7IHJldHVybiAxOyB9DQogIHZhciBkMSA9IHsgZ2V0OiBnZXR0ZXIsIGVudW1lcmFibGU6IHRydWUsIGNvbmZpZ3VyYWJsZTogZmFsc2UgfTsNCiAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG8sICJmb28iLCBkMSk7DQoNCiAgLy8gbm93LCBzZXR0aW5nIGVudW1lcmFibGUgdG8gdHJ1ZSBzaG91bGQgZmFpbCwgc2luY2UgW1tDb25maWd1cmFibGVdXQ0KICAvLyBvbiB0aGUgb3JpZ2luYWwgcHJvcGVydHkgd2lsbCBiZSBmYWxzZS4NCiAgdmFyIGRlc2MgPSB7IGdldDogZ2V0dGVyLCBlbnVtZXJhYmxlOiBmYWxzZSB9Ow0KDQogIHRyeSB7DQogICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG8sICJmb28iLCBkZXNjKTsNCiAgfQ0KICBjYXRjaCAoZSkgew0KICAgIGlmIChlIGluc3RhbmNlb2YgVHlwZUVycm9yKSB7DQogICAgICAvLyB0aGUgcHJvcGVydHkgc2hvdWxkIHJlbWFpbiB1bmNoYW5nZWQuDQogICAgICB2YXIgZDIgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG8sICJmb28iKTsNCiAgICAgIGlmIChkMi5nZXQgPT09IGdldHRlciAmJg0KICAgICAgICAgIGQyLmVudW1lcmFibGUgPT09IHRydWUgJiYNCiAgICAgICAgICBkMi5jb25maWd1cmFibGUgPT09IGZhbHNlKSB7DQogICAgICAgIHJldHVybiB0cnVlOw0KICAgICAgfQ0KICAgIH0NCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"Step 4 of defineProperty calls the [[DefineOwnProperty]] internal method\nof O to define the property. Step 7b of [[DefineOwnProperty]] rejects if\ncurrent.[[Enumerable]] and desc.[[Enumerable]] are the boolean negations\nof each other.","description":"Object.defineProperty throws TypeError when changing [[Enumerable]] from true to false on non-configurable accessor properties","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-11.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTExMC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICduYW1lJyBhbmQgJ2Rlc2MnIGFyZSBhY2Nlc3NvciBwcm9wZXJ0aWVzLCBib3RoIGRlc2MuW1tTZXRdXSBhbmQgbmFtZS5bW1NldF1dIGFyZSB0d28gZGlmZmVyZW50IHZhbHVlcyAoOC4xMi45IHN0ZXAgMTIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgZnVuY3Rpb24gc2V0RnVuYzEoKSB7DQogICAgICAgICAgICByZXR1cm4gMTA7DQogICAgICAgIH0NCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiZm9vIiwgew0KICAgICAgICAgICAgc2V0OiBzZXRGdW5jMSwNCiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgZnVuY3Rpb24gc2V0RnVuYzIodmFsdWUpIHsNCiAgICAgICAgICAgIG9iai5zZXRWZXJpZnlIZWxwUHJvcCA9IHZhbHVlOw0KICAgICAgICB9DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgImZvbyIsIHsNCiAgICAgICAgICAgIHNldDogc2V0RnVuYzINCiAgICAgICAgfSk7DQogICAgICAgIHJldHVybiBhY2Nlc3NvclByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3Qob2JqLCAiZm9vIiwgdW5kZWZpbmVkLCBzZXRGdW5jMiwgInNldFZlcmlmeUhlbHBQcm9wIiwgdHJ1ZSwgdHJ1ZSk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - 'name' and 'desc' are accessor properties, both desc.[[Set]] and name.[[Set]] are two different values (8.12.9 step 12)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-110.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTExMS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAgLSAnbmFtZScgYW5kICdkZXNjJyBhcmUgYWNjZXNzb3IgcHJvcGVydGllcywgbmFtZS5bW1NldF1dIGlzIHByZXNlbnQgYW5kIGRlc2MuW1tTZXRdXSBpcyB1bmRlZmluZWQgKDguMTIuOSBzdGVwIDEyKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIGZ1bmN0aW9uIGdldEZ1bmMoKSB7DQogICAgICAgICAgICByZXR1cm4gMTA7DQogICAgICAgIH0NCg0KICAgICAgICBmdW5jdGlvbiBzZXRGdW5jKHZhbHVlKSB7DQogICAgICAgICAgICBvYmouc2V0VmVyaWZ5SGVscFByb3AgPSB2YWx1ZTsNCiAgICAgICAgfQ0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJmb28iLCB7DQogICAgICAgICAgICBnZXQ6IGdldEZ1bmMsDQogICAgICAgICAgICBzZXQ6IHNldEZ1bmMsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJmb28iLCB7DQogICAgICAgICAgICBzZXQ6IHVuZGVmaW5lZCwNCiAgICAgICAgICAgIGdldDogZ2V0RnVuYw0KICAgICAgICB9KTsNCg0KDQogICAgICAgIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJmb28iKTsNCiAgICAgICAgcmV0dXJuIG9iai5oYXNPd25Qcm9wZXJ0eSgiZm9vIikgJiYgdHlwZW9mIChkZXNjLnNldCkgPT09ICJ1bmRlZmluZWQiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'name' and 'desc' are accessor properties, name.[[Set]] is present and desc.[[Set]] is undefined (8.12.9 step 12)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-111.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTExMi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICduYW1lJyBhbmQgJ2Rlc2MnIGFyZSBhY2Nlc3NvciBwcm9wZXJ0aWVzLCBuYW1lLltbU2V0XV0gaXMgdW5kZWZpbmVkIGFuZCBkZXNjLltbU2V0XV0gaXMgZnVuY3Rpb24gKDguMTIuOSBzdGVwIDEyKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIGZ1bmN0aW9uIGdldEZ1bmMoKSB7DQogICAgICAgICAgICByZXR1cm4gMTA7DQogICAgICAgIH0NCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiZm9vIiwgew0KICAgICAgICAgICAgc2V0OiB1bmRlZmluZWQsDQogICAgICAgICAgICBnZXQ6IGdldEZ1bmMsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIGZ1bmN0aW9uIHNldEZ1bmModmFsdWUpIHsNCiAgICAgICAgICAgIG9iai5zZXRWZXJpZnlIZWxwUHJvcCA9IHZhbHVlOw0KICAgICAgICB9DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgImZvbyIsIHsNCiAgICAgICAgICAgIHNldDogc2V0RnVuYw0KICAgICAgICB9KTsNCiAgICAgICAgcmV0dXJuIGFjY2Vzc29yUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChvYmosICJmb28iLCBnZXRGdW5jLCBzZXRGdW5jLCAic2V0VmVyaWZ5SGVscFByb3AiLCB0cnVlLCB0cnVlKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'name' and 'desc' are accessor properties, name.[[Set]] is undefined and desc.[[Set]] is function (8.12.9 step 12)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-112.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTExMy5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICduYW1lJyBhbmQgJ2Rlc2MnIGFyZSBhY2Nlc3NvciBwcm9wZXJ0aWVzLCBuYW1lLmVudW1lcmFibGUgYW5kIGRlc2MuZW51bWVyYWJsZSBhcmUgZGlmZmVyZW50IHZhbHVlcyAoOC4xMi45IHN0ZXAgMTIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgZnVuY3Rpb24gZ2V0RnVuYygpIHsNCiAgICAgICAgICAgIHJldHVybiAxMDsNCiAgICAgICAgfQ0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJmb28iLCB7DQogICAgICAgICAgICBnZXQ6IGdldEZ1bmMsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJmb28iLCB7DQogICAgICAgICAgICBnZXQ6IGdldEZ1bmMsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZQ0KICAgICAgICB9KTsNCg0KICAgICAgICByZXR1cm4gYWNjZXNzb3JQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KG9iaiwgImZvbyIsIGdldEZ1bmMsIHVuZGVmaW5lZCwgdW5kZWZpbmVkLCBmYWxzZSwgdHJ1ZSk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - 'name' and 'desc' are accessor properties, name.enumerable and desc.enumerable are different values (8.12.9 step 12)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-113.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTExNC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICduYW1lJyBhbmQgJ2Rlc2MnIGFyZSBhY2Nlc3NvciBwcm9wZXJ0aWVzLCBuYW1lLmNvbmZpZ3VyYWJsZSA9IHRydWUgYW5kIGRlc2MuY29uZmlndXJhYmxlID0gZmFsc2UgKDguMTIuOSBzdGVwIDEyKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIGZ1bmN0aW9uIHNldEZ1bmModmFsdWUpIHsNCiAgICAgICAgICAgIG9iai5zZXRWZXJpZnlIZWxwUHJvcCA9IHZhbHVlOw0KICAgICAgICB9DQoNCiAgICAgICAgZnVuY3Rpb24gZ2V0RnVuYygpIHsNCiAgICAgICAgICAgIHJldHVybiAxMDsNCiAgICAgICAgfQ0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJmb28iLCB7DQogICAgICAgICAgICBnZXQ6IGdldEZ1bmMsDQogICAgICAgICAgICBzZXQ6IHNldEZ1bmMsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgImZvbyIsIHsNCiAgICAgICAgICAgIGdldDogZ2V0RnVuYywNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgfSk7DQogICAgICAgIHJldHVybiBhY2Nlc3NvclByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3Qob2JqLCAiZm9vIiwgZ2V0RnVuYywgc2V0RnVuYywgInNldFZlcmlmeUhlbHBQcm9wIiwgZmFsc2UsIGZhbHNlKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'name' and 'desc' are accessor properties, name.configurable = true and desc.configurable = false (8.12.9 step 12)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-114.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTExNS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICduYW1lJyBhbmQgJ2Rlc2MnIGFyZSBhY2Nlc3NvciBwcm9wZXJ0aWVzLCBzZXZlcmFsIGF0dHJpYnV0ZXMgdmFsdWVzIG9mICduYW1lJyBhbmQgJ2Rlc2MnIGFyZSBkaWZmZXJlbnQgKDguMTIuOSBzdGVwIDEyKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIGZ1bmN0aW9uIGdldEZ1bmMxKCkgew0KICAgICAgICAgICAgcmV0dXJuIDEwOw0KICAgICAgICB9DQogICAgICAgIGZ1bmN0aW9uIHNldEZ1bmMxKCkge30NCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiZm9vIiwgew0KICAgICAgICAgICAgZ2V0OiBnZXRGdW5jMSwNCiAgICAgICAgICAgIHNldDogc2V0RnVuYzEsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIGZ1bmN0aW9uIGdldEZ1bmMyKCkgew0KICAgICAgICAgICAgcmV0dXJuIDIwOw0KICAgICAgICB9DQogICAgICAgIGZ1bmN0aW9uIHNldEZ1bmMyKHZhbHVlKSB7DQogICAgICAgICAgICBvYmouc2V0VmVyaWZ5SGVscFByb3AgPSB2YWx1ZTsNCiAgICAgICAgfQ0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiZm9vIiwgew0KICAgICAgICAgICAgZ2V0OiBnZXRGdW5jMiwNCiAgICAgICAgICAgIHNldDogc2V0RnVuYzIsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZQ0KICAgICAgICB9KTsNCiAgICAgICAgcmV0dXJuIGFjY2Vzc29yUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChvYmosICJmb28iLCBnZXRGdW5jMiwgc2V0RnVuYzIsICJzZXRWZXJpZnlIZWxwUHJvcCIsIGZhbHNlLCB0cnVlKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'name' and 'desc' are accessor properties, several attributes values of 'name' and 'desc' are different (8.12.9 step 12)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-115.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTExNi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdPJyBpcyBhbiBBcnJheSwgdGVzdCB0aGUgbGVuZ3RoIHByb3BlcnR5IG9mICdPJyBpcyBvd24gZGF0YSBwcm9wZXJ0eSAoMTUuNC41LjEgc3RlcCAxKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFyck9iaiA9IFswLCAxXTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyck9iaiwgIjEiLCB7DQogICAgICAgICAgICB2YWx1ZTogMSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgfSk7DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyT2JqLCAibGVuZ3RoIiwgeyB2YWx1ZTogMSB9KTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGFyck9iaiwgImxlbmd0aCIpOw0KDQogICAgICAgICAgICByZXR1cm4gT2JqZWN0Lmhhc093blByb3BlcnR5LmNhbGwoYXJyT2JqLCAibGVuZ3RoIikgJiYgZGVzYy52YWx1ZSA9PT0gMiAmJg0KICAgICAgICAgICAgICAgIGRlc2Mud3JpdGFibGUgPT09IHRydWUgJiYgZGVzYy5jb25maWd1cmFibGUgPT09IGZhbHNlICYmIGRlc2MuZW51bWVyYWJsZSA9PT0gZmFsc2U7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'O' is an Array, test the length property of 'O' is own data property (15.4.5.1 step 1)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-116.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTExNy5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdPJyBpcyBhbiBBcnJheSwgdGVzdCB0aGUgbGVuZ3RoIHByb3BlcnR5IG9mICdPJyBpcyBvd24gZGF0YSBwcm9wZXJ0eSB0aGF0IG92ZXJyaWRlcyBhbiBpbmhlcml0ZWQgZGF0YSBwcm9wZXJ0eSAoMTUuNC41LjEgc3RlcCAxKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBhcnJPYmogPSBbMCwgMSwgMl07DQogICAgICAgIHZhciBhcnJQcm90b0xlbjsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgYXJyUHJvdG9MZW4gPSBBcnJheS5wcm90b3R5cGUubGVuZ3RoOw0KICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlLmxlbmd0aCA9IDA7DQoNCiAgICAgICAgICAgIA0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyck9iaiwgIjIiLCB7DQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnJPYmosICJsZW5ndGgiLCB7DQogICAgICAgICAgICAgICAgdmFsdWU6IDENCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFR5cGVFcnJvciAmJiBhcnJPYmoubGVuZ3RoID09PSAzICYmIEFycmF5LnByb3RvdHlwZS5sZW5ndGggPT09IDA7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBBcnJheS5wcm90b3R5cGUubGVuZ3RoID0gYXJyUHJvdG9MZW47DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'O' is an Array, test the length property of 'O' is own data property that overrides an inherited data property (15.4.5.1 step 1)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-117.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTExOC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdPJyBpcyBhbiBBcnJheSwgJ25hbWUnIGlzIHRoZSBsZW5ndGggcHJvcGVydHkgb2YgJ08nLCB0aGUgW1tWYWx1ZV1dIGZpZWxkIG9mICdkZXNjJyBpcyBhYnNlbnQsIHRlc3QgZXZlcnkgZmllbGQgaW4gJ2Rlc2MnIGlzIGFic2VudCAoMTUuNC41LjEgc3RlcCAzLmEuaSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgYXJyT2JqID0gW107DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyck9iaiwgImxlbmd0aCIsIHt9KTsNCg0KICAgICAgICB2YXIgdmVyaWZ5VmFsdWUgPSBmYWxzZTsNCiAgICAgICAgaWYgKGFyck9iai5sZW5ndGggPT09IDApIHsNCiAgICAgICAgICAgIHZlcmlmeVZhbHVlID0gdHJ1ZTsNCiAgICAgICAgfQ0KDQogICAgICAgIGFyck9iai5sZW5ndGggPSAyOw0KICAgICAgICB2YXIgdmVyaWZ5V3JpdGFibGUgPSBhcnJPYmoubGVuZ3RoID09PSAyOw0KDQogICAgICAgIHZhciB2ZXJpZnlFbnVtZXJhYmxlID0gZmFsc2U7DQogICAgICAgIGZvciAodmFyIHAgaW4gYXJyT2JqKSB7DQogICAgICAgICAgICBpZiAocCA9PT0gImxlbmd0aCIgJiYgYXJyT2JqLmhhc093blByb3BlcnR5KHApKSB7DQogICAgICAgICAgICAgICAgdmVyaWZ5RW51bWVyYWJsZSA9IHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICBkZWxldGUgYXJyT2JqLmxlbmd0aDsNCiAgICAgICAgdmFyIHZlcmlmeUNvbmZpZ3VyYWJsZSA9IGFyck9iai5oYXNPd25Qcm9wZXJ0eSgibGVuZ3RoIik7DQoNCiAgICAgICAgcmV0dXJuIHZlcmlmeVZhbHVlICYmIHZlcmlmeVdyaXRhYmxlICYmICF2ZXJpZnlFbnVtZXJhYmxlICYmIHZlcmlmeUNvbmZpZ3VyYWJsZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'O' is an Array, 'name' is the length property of 'O', the [[Value]] field of 'desc' is absent, test every field in 'desc' is absent (15.4.5.1 step 3.a.i)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-118.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTExOS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdPJyBpcyBhbiBBcnJheSwgJ25hbWUnIGlzIHRoZSBsZW5ndGggcHJvcGVydHkgb2YgJ08nLCB0aGUgW1tWYWx1ZV1dIGZpZWxkIG9mICdkZXNjJyBpcyBhYnNlbnQsIHRlc3QgZXZlcnkgZmllbGQgaW4gJ2Rlc2MnIGlzIHNhbWUgd2l0aCBjb3JyZXNwb25kaW5nIGF0dHJpYnV0ZSB2YWx1ZSBvZiB0aGUgbGVuZ3RoIHByb3BlcnR5IGluICdPJyAoMTUuNC41LjEgc3RlcCAzLmEuaSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhcnJPYmogPSBbXTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyck9iaiwgImxlbmd0aCIsIHsNCiAgICAgICAgICAgIHdyaXRhYmxlOiB0cnVlLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogZmFsc2UsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciB2ZXJpZnlWYWx1ZSA9IGZhbHNlOw0KICAgICAgICBpZiAoYXJyT2JqLmxlbmd0aCA9PT0gMCkgew0KICAgICAgICAgICAgdmVyaWZ5VmFsdWUgPSB0cnVlOw0KICAgICAgICB9DQoNCiAgICAgICAgYXJyT2JqLmxlbmd0aCA9IDI7DQogICAgICAgIHZhciB2ZXJpZnlXcml0YWJsZSA9IGFyck9iai5sZW5ndGggPT09IDIgPyB0cnVlIDogZmFsc2U7DQoNCiAgICAgICAgdmFyIHZlcmlmeUVudW1lcmFibGUgPSBmYWxzZTsNCiAgICAgICAgZm9yICh2YXIgcCBpbiBhcnJPYmopIHsNCiAgICAgICAgICAgIGlmIChwID09PSAibGVuZ3RoIiAmJiBhcnJPYmouaGFzT3duUHJvcGVydHkocCkpIHsNCiAgICAgICAgICAgICAgICB2ZXJpZnlFbnVtZXJhYmxlID0gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIGRlbGV0ZSBhcnJPYmoubGVuZ3RoOw0KICAgICAgICB2YXIgdmVyaWZ5Q29uZmlndXJhYmxlID0gYXJyT2JqLmhhc093blByb3BlcnR5KCJsZW5ndGgiKTsNCg0KICAgICAgICByZXR1cm4gdmVyaWZ5VmFsdWUgJiYgdmVyaWZ5V3JpdGFibGUgJiYgIXZlcmlmeUVudW1lcmFibGUgJiYgdmVyaWZ5Q29uZmlndXJhYmxlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'O' is an Array, 'name' is the length property of 'O', the [[Value]] field of 'desc' is absent, test every field in 'desc' is same with corresponding attribute value of the length property in 'O' (15.4.5.1 step 3.a.i)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-119.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogU3RlcCA0IG9mIGRlZmluZVByb3BlcnR5IGNhbGxzIHRoZSBbW0RlZmluZU93blByb3BlcnR5XV0gaW50ZXJuYWwgbWV0aG9kDQogKiBvZiBPIHRvIGRlZmluZSB0aGUgcHJvcGVydHkuIEZvciBub24tY29uZmlndXJhYmxlIHByb3BlcnRpZXMsIHN0ZXAgOWEgb2YNCiAqIFtbRGVmaW5lT3duUHJvcGVydHldXSByZWplY3RzIGNoYW5naW5nIHRoZSBraW5kIG9mIGEgcHJvcGVydHkuDQogKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTEyLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnR5IHRocm93cyBUeXBlRXJyb3Igd2hlbiBjaGFuZ2luZyBub24tY29uZmlndXJhYmxlIGRhdGEgcHJvcGVydGllcyB0byBhY2Nlc3NvciBwcm9wZXJ0aWVzDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIG8gPSB7fTsNCg0KICAvLyBjcmVhdGUgYSBkYXRhIHZhbHVlZCBwcm9wZXJ0eTsgYWxsIG90aGVyIGF0dHJpYnV0ZXMgZGVmYXVsdCB0byBmYWxzZS4NCiAgdmFyIGQxID0geyB2YWx1ZTogMTAxLCBjb25maWd1cmFibGU6IGZhbHNlIH07DQogIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvLCAiZm9vIiwgZDEpOw0KDQogIC8vIGNoYW5naW5nICJmb28iIHRvIGJlIGFuIGFjY2Vzc29yIHNob3VsZCBmYWlsLCBzaW5jZSBbW0NvbmZpZ3VyYWJsZV1dDQogIC8vIG9uIHRoZSBvcmlnaW5hbCBwcm9wZXJ0eSB3aWxsIGJlIGZhbHNlLg0KDQogIC8vIGR1bW15IGdldHRlcg0KICB2YXIgZ2V0dGVyID0gZnVuY3Rpb24gKCkgeyByZXR1cm4gMTsgfQ0KDQogIHZhciBkZXNjID0geyBnZXQ6IGdldHRlciB9Ow0KICB0cnkgew0KICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvLCAiZm9vIiwgZGVzYyk7DQogIH0NCiAgY2F0Y2ggKGUpIHsNCiAgICBpZiAoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikgew0KICAgICAgLy8gdGhlIHByb3BlcnR5IHNob3VsZCByZW1haW4gYSBkYXRhIHZhbHVlZCBwcm9wZXJ0eS4NCiAgICAgIHZhciBkMiA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IobywgImZvbyIpOw0KICAgICAgaWYgKGQyLnZhbHVlID09PSAxMDEgJiYNCiAgICAgICAgICBkMi53cml0YWJsZSA9PT0gZmFsc2UgJiYNCiAgICAgICAgICBkMi5lbnVtZXJhYmxlID09PSBmYWxzZSAmJg0KICAgICAgICAgIGQyLmNvbmZpZ3VyYWJsZSA9PT0gZmFsc2UpIHsNCiAgICAgICAgcmV0dXJuIHRydWU7DQogICAgICB9DQogICAgfQ0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"Step 4 of defineProperty calls the [[DefineOwnProperty]] internal method\nof O to define the property. For non-configurable properties, step 9a of\n[[DefineOwnProperty]] rejects changing the kind of a property.","description":"Object.defineProperty throws TypeError when changing non-configurable data properties to accessor properties","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-12.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTEyMC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdPJyBpcyBhbiBBcnJheSwgJ25hbWUnIGlzIHRoZSBsZW5ndGggcHJvcGVydHkgb2YgJ08nLCB0aGUgW1tWYWx1ZV1dIGZpZWxkIG9mICdkZXNjJyBpcyBhYnNlbnQsIHRlc3QgVHlwZUVycm9yIGlzIHRocm93biB3aGVuIHVwZGF0aW5nIHRoZSBbW0NvbmZpZ3VyYWJsZV1dIGF0dHJpYnV0ZSBvZiB0aGUgbGVuZ3RoIHByb3BlcnR5IGZyb20gZmFsc2UgdG8gdHJ1ZSAoMTUuNC41LjEgc3RlcCAzLmEuaSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhcnJPYmogPSBbXTsNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnJPYmosICJsZW5ndGgiLCB7DQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBUeXBlRXJyb3I7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'O' is an Array, 'name' is the length property of 'O', the [[Value]] field of 'desc' is absent, test TypeError is thrown when updating the [[Configurable]] attribute of the length property from false to true (15.4.5.1 step 3.a.i)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-120.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTEyMS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdPJyBpcyBhbiBBcnJheSwgJ25hbWUnIGlzIHRoZSBsZW5ndGggcHJvcGVydHkgb2YgJ08nLCB0aGUgW1tWYWx1ZV1dIGZpZWxkIG9mICdkZXNjJyBpcyBhYnNlbnQsIHRlc3QgVHlwZUVycm9yIGlzIHRocm93biB3aGVuIHVwZGF0aW5nIHRoZSBbW0VudW1lcmFibGVdXSBhdHRyaWJ1dGUgb2YgdGhlIGxlbmd0aCBwcm9wZXJ0eSBmcm9tIGZhbHNlIHRvIHRydWUgKDE1LjQuNS4xIHN0ZXAgMy5hLmkpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYXJyT2JqID0gW107DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyT2JqLCAibGVuZ3RoIiwgew0KICAgICAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUNCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFR5cGVFcnJvcjsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'O' is an Array, 'name' is the length property of 'O', the [[Value]] field of 'desc' is absent, test TypeError is thrown when updating the [[Enumerable]] attribute of the length property from false to true (15.4.5.1 step 3.a.i)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-121.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTEyMi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdPJyBpcyBhbiBBcnJheSwgJ25hbWUnIGlzIHRoZSBsZW5ndGggcHJvcGVydHkgb2YgJ08nLCB0ZXN0IFR5cGVFcnJvciBpcyB0aHJvd24gd2hlbiAnZGVzYycgaXMgYWNjZXNzb3IgZGVzY3JpcHRvciAoMTUuNC41LjEgc3RlcCAzLmEuaSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhcnJPYmogPSBbXTsNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnJPYmosICJsZW5ndGgiLCB7DQogICAgICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgIHJldHVybiAyOw0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFR5cGVFcnJvcjsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'O' is an Array, 'name' is the length property of 'O', test TypeError is thrown when 'desc' is accessor descriptor (15.4.5.1 step 3.a.i)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-122.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTEyMy5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdPJyBpcyBhbiBBcnJheSwgJ25hbWUnIGlzIHRoZSBsZW5ndGggcHJvcGVydHkgb2YgJ08nLCB0aGUgW1tWYWx1ZV1dIGZpZWxkIG9mICdkZXNjJyBpcyBhYnNlbnQsIHRlc3QgVHlwZUVycm9yIGlzIHRocm93biB3aGVuIHVwZGF0aW5nIHRoZSBbW1dyaXRhYmxlXV0gYXR0cmlidXRlIG9mIHRoZSBsZW5ndGggcHJvcGVydHkgZnJvbSBmYWxzZSB0byB0cnVlICgxNS40LjUuMSBzdGVwIDMuYS5pKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFyck9iaiA9IFtdOw0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyck9iaiwgImxlbmd0aCIsIHsNCiAgICAgICAgICAgICAgICB3cml0YWJsZTogZmFsc2UNCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyck9iaiwgImxlbmd0aCIsIHsNCiAgICAgICAgICAgICAgICB3cml0YWJsZTogdHJ1ZQ0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBUeXBlRXJyb3I7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'O' is an Array, 'name' is the length property of 'O', the [[Value]] field of 'desc' is absent, test TypeError is thrown when updating the [[Writable]] attribute of the length property from false to true (15.4.5.1 step 3.a.i)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-123.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTEyNC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdPJyBpcyBhbiBBcnJheSwgJ25hbWUnIGlzIHRoZSBsZW5ndGggcHJvcGVydHkgb2YgJ08nLCB0aGUgW1tWYWx1ZV1dIGZpZWxkIG9mICdkZXNjJyBpcyBhYnNlbnQsIHRlc3QgdXBkYXRpbmcgdGhlIFtbV3JpdGFibGVdXSBhdHRyaWJ1dGUgb2YgdGhlIGxlbmd0aCBwcm9wZXJ0eSBmcm9tIHRydWUgdG8gZmFsc2UgKDE1LjQuNS4xIHN0ZXAgMy5hLmkpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYXJyT2JqID0gW107DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyck9iaiwgImxlbmd0aCIsIHsNCiAgICAgICAgICAgIHdyaXRhYmxlOiBmYWxzZQ0KICAgICAgICB9KTsNCiAgICAgICAgcmV0dXJuIGRhdGFQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KGFyck9iaiwgImxlbmd0aCIsIDAsIGZhbHNlLCBmYWxzZSwgZmFsc2UpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'O' is an Array, 'name' is the length property of 'O', the [[Value]] field of 'desc' is absent, test updating the [[Writable]] attribute of the length property from true to false (15.4.5.1 step 3.a.i)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-124.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTEyNS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdPJyBpcyBhbiBBcnJheSwgJ25hbWUnIGlzIHRoZSBsZW5ndGggcHJvcGVydHkgb2YgJ08nLCB0ZXN0IHRoYXQgUmFuZ2VFcnJvciBleGNlcHRpb24gaXMgdGhyb3duIHdoZW4gIFtbVmFsdWVdXSBmaWVsZCBvZiAnZGVzYycgaXMgdW5kZWZpbmVkICgxNS40LjUuMSBzdGVwIDMuYykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhcnJPYmogPSBbXTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyck9iaiwgImxlbmd0aCIsIHsNCiAgICAgICAgICAgICAgICB2YWx1ZTogdW5kZWZpbmVkDQogICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBSYW5nZUVycm9yOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - 'O' is an Array, 'name' is the length property of 'O', test that RangeError exception is thrown when [[Value]] field of 'desc' is undefined (15.4.5.1 step 3.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-125.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTEyNi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdPJyBpcyBhbiBBcnJheSwgJ25hbWUnIGlzIHRoZSBsZW5ndGggcHJvcGVydHkgb2YgJ08nLCB0ZXN0IHRoZSBbW1ZhbHVlXV0gZmllbGQgb2YgJ2Rlc2MnIGlzIG51bGwgKDE1LjQuNS4xIHN0ZXAgMy5jKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFyck9iaiA9IFswLCAxXTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyT2JqLCAibGVuZ3RoIiwgew0KICAgICAgICAgICAgdmFsdWU6IG51bGwNCiAgICAgICAgfSk7DQogICAgICAgIHJldHVybiBhcnJPYmoubGVuZ3RoID09PSAwOw0KDQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - 'O' is an Array, 'name' is the length property of 'O', test the [[Value]] field of 'desc' is null (15.4.5.1 step 3.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-126.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTEyNy5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdPJyBpcyBhbiBBcnJheSwgJ25hbWUnIGlzIHRoZSBsZW5ndGggcHJvcGVydHkgb2YgJ08nLCB0ZXN0IHRoZSBbW1ZhbHVlXV0gZmllbGQgb2YgJ2Rlc2MnIGlzIGEgYm9vbGVhbiB3aXRoIHZhbHVlIGZhbHNlICgxNS40LjUuMSBzdGVwIDMuYykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhcnJPYmogPSBbMCwgMV07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyck9iaiwgImxlbmd0aCIsIHsNCiAgICAgICAgICAgIHZhbHVlOiBmYWxzZQ0KICAgICAgICB9KTsNCiAgICAgICAgcmV0dXJuIGFyck9iai5sZW5ndGggPT09IDAgJiYgIWFyck9iai5oYXNPd25Qcm9wZXJ0eSgiMCIpICYmICFhcnJPYmouaGFzT3duUHJvcGVydHkoIjEiKTsNCg0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'O' is an Array, 'name' is the length property of 'O', test the [[Value]] field of 'desc' is a boolean with value false (15.4.5.1 step 3.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-127.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTEyOC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyB0aGUgbGVuZ3RoIHByb3BlcnR5IG9mICdPJywgdGVzdCB0aGUgW1tWYWx1ZV1dIGZpZWxkIG9mICdkZXNjJyBpcyBhIGJvb2xlYW4gd2l0aCB2YWx1ZSB0cnVlICgxNS40LjUuMSBzdGVwIDMuYykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhcnJPYmogPSBbXTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyT2JqLCAibGVuZ3RoIiwgew0KICAgICAgICAgICAgdmFsdWU6IHRydWUNCiAgICAgICAgfSk7DQogICAgICAgIHJldHVybiBhcnJPYmoubGVuZ3RoID09PSAxOw0KDQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - 'O' is an Array, 'name' is the length property of 'O', test the [[Value]] field of 'desc' is a boolean with value true (15.4.5.1 step 3.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-128.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTEyOS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdPJyBpcyBhbiBBcnJheSwgJ25hbWUnIGlzIHRoZSBsZW5ndGggcHJvcGVydHkgb2YgJ08nLCB0ZXN0IFJhbmdlRXJyb3IgZXhjZXB0aW9uIGlzIG5vdCB0aHJvd24gd2hlbiB0aGUgW1tWYWx1ZV1dIGZpZWxkIG9mICdkZXNjJyBpcyAwICgxNS40LjUuMSBzdGVwIDMuYykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhcnJPYmogPSBbMCwgMV07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyck9iaiwgImxlbmd0aCIsIHsNCiAgICAgICAgICAgIHZhbHVlOiAwDQogICAgICAgIH0pOw0KICAgICAgICByZXR1cm4gYXJyT2JqLmxlbmd0aCA9PT0gMDsNCg0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'O' is an Array, 'name' is the length property of 'O', test RangeError exception is not thrown when the [[Value]] field of 'desc' is 0 (15.4.5.1 step 3.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-129.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogU3RlcCA0IG9mIGRlZmluZVByb3BlcnR5IGNhbGxzIHRoZSBbW0RlZmluZU93blByb3BlcnR5XV0gaW50ZXJuYWwgbWV0aG9kDQogKiBvZiBPIHRvIGRlZmluZSB0aGUgcHJvcGVydHkuIEZvciBub24tY29uZmlndXJhYmxlIHByb3BlcnRpZXMsIHN0ZXAgOWEgb2YNCiAqIFtbRGVmaW5lT3duUHJvcGVydHldXSByZWplY3RzIGNoYW5naW5nIHRoZSBraW5kIG9mIGEgcHJvcGVydHkuDQogKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTEzLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnR5IHRocm93cyBUeXBlRXJyb3Igd2hlbiBjaGFuZ2luZyBub24tY29uZmlndXJhYmxlIGFjY2Vzc29yIHByb3BlcnRpZXMgdG8gZGF0YSBwcm9wZXJ0aWVzDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIG8gPSB7fTsNCg0KICAvLyBjcmVhdGUgYW4gYWNjZXNzb3IgcHJvcGVydHk7IGFsbCBvdGhlciBhdHRyaWJ1dGVzIGRlZmF1bHQgdG8gZmFsc2UuDQogDQogIC8vIGR1bW15IGdldHRlcg0KICB2YXIgZ2V0dGVyID0gZnVuY3Rpb24gKCkgeyByZXR1cm4gMTsgfQ0KICB2YXIgZDEgPSB7IGdldDogZ2V0dGVyLCBjb25maWd1cmFibGU6IGZhbHNlIH07DQogIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvLCAiZm9vIiwgZDEpOw0KDQogIC8vIGNoYW5naW5nICJmb28iIHRvIGJlIGEgZGF0YSBwcm9wZXJ0eSBzaG91bGQgZmFpbCwgc2luY2UgW1tDb25maWd1cmFibGVdXQ0KICAvLyBvbiB0aGUgb3JpZ2luYWwgcHJvcGVydHkgd2lsbCBiZSBmYWxzZS4NCiAgdmFyIGRlc2MgPSB7IHZhbHVlOiAxMDEgfTsNCg0KICB0cnkgew0KICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvLCAiZm9vIiwgZGVzYyk7DQogIH0NCiAgY2F0Y2ggKGUpIHsNCiAgICBpZiAoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikgew0KICAgICAgLy8gdGhlIHByb3BlcnR5IHNob3VsZCByZW1haW4gYW4gYWNjZXNzb3IgcHJvcGVydHkuDQogICAgICB2YXIgZDIgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG8sICJmb28iKTsNCiAgICAgIGlmIChkMi5nZXQgPT09IGdldHRlciAmJg0KICAgICAgICAgIGQyLmNvbmZpZ3VyYWJsZSA9PT0gZmFsc2UpIHsNCiAgICAgICAgcmV0dXJuIHRydWU7DQogICAgICB9DQogICAgfQ0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"Step 4 of defineProperty calls the [[DefineOwnProperty]] internal method\nof O to define the property. For non-configurable properties, step 9a of\n[[DefineOwnProperty]] rejects changing the kind of a property.","description":"Object.defineProperty throws TypeError when changing non-configurable accessor properties to data properties","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-13.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTEzMC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdPJyBpcyBhbiBBcnJheSwgJ25hbWUnIGlzIHRoZSBsZW5ndGggcHJvcGVydHkgb2YgJ08nLCB0ZXN0IFJhbmdlRXJyb3IgZXhjZXB0aW9uIGlzIG5vdCB0aHJvd24gd2hlbiB0aGUgW1tWYWx1ZV1dIGZpZWxkIG9mICdkZXNjJyBpcyArMCAoMTUuNC41LjEgc3RlcCAzLmMpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYXJyT2JqID0gWzAsIDFdOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnJPYmosICJsZW5ndGgiLCB7DQogICAgICAgICAgICB2YWx1ZTogKzANCiAgICAgICAgfSk7DQogICAgICAgIHJldHVybiBhcnJPYmoubGVuZ3RoID09PSAwOw0KDQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - 'O' is an Array, 'name' is the length property of 'O', test RangeError exception is not thrown when the [[Value]] field of 'desc' is +0 (15.4.5.1 step 3.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-130.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTEzMS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdPJyBpcyBhbiBBcnJheSwgJ25hbWUnIGlzIHRoZSBsZW5ndGggcHJvcGVydHkgb2YgJ08nLCB0ZXN0IFJhbmdlRXJyb3IgZXhjZXB0aW9uIGlzIG5vdCB0aHJvd24gd2hlbiB0aGUgW1tWYWx1ZV1dIGZpZWxkIG9mICdkZXNjJyBpcyAtMCAoMTUuNC41LjEgc3RlcCAzLmMpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYXJyT2JqID0gWzAsIDFdOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnJPYmosICJsZW5ndGgiLCB7DQogICAgICAgICAgICB2YWx1ZTogLTANCiAgICAgICAgfSk7DQogICAgICAgIHJldHVybiBhcnJPYmoubGVuZ3RoID09PSAwOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'O' is an Array, 'name' is the length property of 'O', test RangeError exception is not thrown when the [[Value]] field of 'desc' is -0 (15.4.5.1 step 3.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-131.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTEzMi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdPJyBpcyBhbiBBcnJheSwgJ25hbWUnIGlzIHRoZSBsZW5ndGggcHJvcGVydHkgb2YgJ08nLCB0ZXN0IFJhbmdlRXJyb3IgZXhjZXB0aW9uIGlzIG5vdCB0aHJvd24gd2hlbiB0aGUgW1tWYWx1ZV1dIGZpZWxkIG9mICdkZXNjJyBpcyBhIHBvc2l0aXZlIG51bWJlciAoMTUuNC41LjEgc3RlcCAzLmMpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYXJyT2JqID0gW107DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyck9iaiwgImxlbmd0aCIsIHsNCiAgICAgICAgICAgIHZhbHVlOiAxMg0KICAgICAgICB9KTsNCiAgICAgICAgcmV0dXJuIGFyck9iai5sZW5ndGggPT09IDEyOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'O' is an Array, 'name' is the length property of 'O', test RangeError exception is not thrown when the [[Value]] field of 'desc' is a positive number (15.4.5.1 step 3.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-132.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTEzMy5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdPJyBpcyBhbiBBcnJheSwgJ25hbWUnIGlzIHRoZSBsZW5ndGggcHJvcGVydHkgb2YgJ08nLCB0ZXN0IFJhbmdlRXJyb3IgZXhjZXB0aW9uIGlzIHRocm93biB3aGVuIHRoZSBbW1ZhbHVlXV0gZmllbGQgb2YgJ2Rlc2MnIGlzIGEgbmVnYXRpdmUgbnVtYmVyICgxNS40LjUuMSBzdGVwIDMuYykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhcnJPYmogPSBbXTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyck9iaiwgImxlbmd0aCIsIHsNCiAgICAgICAgICAgICAgICB2YWx1ZTogLTkNCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFJhbmdlRXJyb3I7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'O' is an Array, 'name' is the length property of 'O', test RangeError exception is thrown when the [[Value]] field of 'desc' is a negative number (15.4.5.1 step 3.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-133.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTEzNC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdPJyBpcyBhbiBBcnJheSwgJ25hbWUnIGlzIHRoZSBsZW5ndGggcHJvcGVydHkgb2YgJ08nLCB0ZXN0IFJhbmdlRXJyb3IgZXhjZXB0aW9uIGlzIHRocm93biB3aGVuIHRoZSBbW1ZhbHVlXV0gZmllbGQgb2YgJ2Rlc2MnIGlzICtJbmZpbml0eSAoMTUuNC41LjEgc3RlcCAzLmMpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYXJyT2JqID0gW107DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnJPYmosICJsZW5ndGgiLCB7DQogICAgICAgICAgICAgICAgdmFsdWU6ICtJbmZpbml0eQ0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiBlIGluc3RhbmNlb2YgUmFuZ2VFcnJvcjsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'O' is an Array, 'name' is the length property of 'O', test RangeError exception is thrown when the [[Value]] field of 'desc' is +Infinity (15.4.5.1 step 3.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-134.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTEzNS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdPJyBpcyBhbiBBcnJheSwgJ25hbWUnIGlzIHRoZSBsZW5ndGggcHJvcGVydHkgb2YgJ08nLCB0ZXN0IFJhbmdlRXJyb3IgZXhjZXB0aW9uIGlzIHRocm93biB3aGVuIHRoZSBbW1ZhbHVlXV0gZmllbGQgb2YgJ2Rlc2MnIGlzIC1JbmZpbml0eSAoMTUuNC41LjEgc3RlcCAzLmMpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYXJyT2JqID0gW107DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnJPYmosICJsZW5ndGgiLCB7DQogICAgICAgICAgICAgICAgdmFsdWU6IC1JbmZpbml0eQ0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiBlIGluc3RhbmNlb2YgUmFuZ2VFcnJvcjsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'O' is an Array, 'name' is the length property of 'O', test RangeError exception is thrown when the [[Value]] field of 'desc' is -Infinity (15.4.5.1 step 3.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-135.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTEzNi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdPJyBpcyBhbiBBcnJheSwgJ25hbWUnIGlzIHRoZSBsZW5ndGggcHJvcGVydHkgb2YgJ08nLCB0ZXN0IFJhbmdlRXJyb3IgZXhjZXB0aW9uIGlzIHRocm93biB3aGVuIHRoZSBbW1ZhbHVlXV0gZmllbGQgb2YgJ2Rlc2MnIGlzIE5hTiAoMTUuNC41LjEgc3RlcCAzLmMpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYXJyT2JqID0gW107DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnJPYmosICJsZW5ndGgiLCB7DQogICAgICAgICAgICAgICAgdmFsdWU6IE5hTg0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiBlIGluc3RhbmNlb2YgUmFuZ2VFcnJvcjsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'O' is an Array, 'name' is the length property of 'O', test RangeError exception is thrown when the [[Value]] field of 'desc' is NaN (15.4.5.1 step 3.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-136.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTEzNy5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdPJyBpcyBhbiBBcnJheSwgJ25hbWUnIGlzIHRoZSBsZW5ndGggcHJvcGVydHkgb2YgJ08nLCB0ZXN0IFJhbmdlRXJyb3IgZXhjZXB0aW9uIGlzIG5vdCB0aHJvd24gd2hlbiB0aGUgW1tWYWx1ZV1dIGZpZWxkIG9mICdkZXNjJyBpcyBhIHN0cmluZyBjb250YWluaW5nIGEgcG9zaXRpdmUgbnVtYmVyICgxNS40LjUuMSBzdGVwIDMuYykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhcnJPYmogPSBbXTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyT2JqLCAibGVuZ3RoIiwgew0KICAgICAgICAgICAgdmFsdWU6ICIyIg0KICAgICAgICB9KTsNCiAgICAgICAgcmV0dXJuIGFyck9iai5sZW5ndGggPT09IDI7DQoNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'O' is an Array, 'name' is the length property of 'O', test RangeError exception is not thrown when the [[Value]] field of 'desc' is a string containing a positive number (15.4.5.1 step 3.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-137.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTEzOC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdPJyBpcyBhbiBBcnJheSwgJ25hbWUnIGlzIHRoZSBsZW5ndGggcHJvcGVydHkgb2YgJ08nLCB0ZXN0IFJhbmdlRXJyb3IgZXhjZXB0aW9uIGlzIHRocm93biB3aGVuIHRoZSBbW1ZhbHVlXV0gZmllbGQgb2YgJ2Rlc2MnIGlzIGEgc3RyaW5nIGNvbnRhaW5pbmcgYSBuZWdhdGl2ZSBudW1iZXIgKDE1LjQuNS4xIHN0ZXAgMy5jKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFyck9iaiA9IFtdOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyT2JqLCAibGVuZ3RoIiwgew0KICAgICAgICAgICAgICAgIHZhbHVlOiAiLTQyIg0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiBlIGluc3RhbmNlb2YgUmFuZ2VFcnJvcjsNCiAgICAgICAgfQ0KDQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - 'O' is an Array, 'name' is the length property of 'O', test RangeError exception is thrown when the [[Value]] field of 'desc' is a string containing a negative number (15.4.5.1 step 3.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-138.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTEzOS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdPJyBpcyBhbiBBcnJheSwgJ25hbWUnIGlzIHRoZSBsZW5ndGggcHJvcGVydHkgb2YgJ08nLCB0ZXN0IFJhbmdlRXJyb3IgZXhjZXB0aW9uIGlzIHRocm93biB3aGVuIHRoZSBbW1ZhbHVlXV0gZmllbGQgb2YgJ2Rlc2MnIGlzIGEgc3RyaW5nIGNvbnRhaW5pbmcgYSBkZWNpbWFsIG51bWJlciAoMTUuNC41LjEgc3RlcCAzLmMpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYXJyT2JqID0gW107DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnJPYmosICJsZW5ndGgiLCB7DQogICAgICAgICAgICAgICAgdmFsdWU6ICIyMDAuNTkiDQogICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBSYW5nZUVycm9yOw0KICAgICAgICB9DQoNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'O' is an Array, 'name' is the length property of 'O', test RangeError exception is thrown when the [[Value]] field of 'desc' is a string containing a decimal number (15.4.5.1 step 3.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-139.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogU3RlcCA0IG9mIGRlZmluZVByb3BlcnR5IGNhbGxzIHRoZSBbW0RlZmluZU93blByb3BlcnR5XV0gaW50ZXJuYWwgbWV0aG9kDQogKiBvZiBPIHRvIGRlZmluZSB0aGUgcHJvcGVydHkuIEZvciBjb25maWd1cmFibGUgcHJvcGVydGllcywgc3RlcCA5YiBvZg0KICogW1tEZWZpbmVPd25Qcm9wZXJ0eV1dIHBlcm1pdHMgY2hhbmdpbmcgdGhlIGtpbmQgb2YgYSBwcm9wZXJ0eS4NCiAqDQogKiBAcGF0aCBjaDE1LzE1LjIvMTUuMi4zLzE1LjIuMy42LzE1LjIuMy42LTQtMTQuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgcGVybWl0cyBjaGFuZ2luZyBkYXRhIHByb3BlcnR5IHRvIGFjY2Vzc29yIHByb3BlcnR5IGZvciBjb25maWd1cmFibGUgcHJvcGVydGllcw0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBvID0ge307DQoNCiAgLy8gY3JlYXRlIGEgZGF0YSBwcm9wZXJ0eS4gSW4gdGhpcyBjYXNlLA0KICAvLyBbW0VudW1lcmFibGVdXSBhbmQgW1tDb25maWd1cmFibGVdXSBhcmUgdHJ1ZQ0KICBvWyJmb28iXSA9IDEwMTsNCg0KICAvLyBjaGFuZ2luZyAiZm9vIiB0byBiZSBhbiBhY2Nlc3NvciBzaG91bGQgc3VjY2VlZCwgc2luY2UgW1tDb25maWd1cmFibGVdXQ0KICAvLyBvbiB0aGUgb3JpZ2luYWwgcHJvcGVydHkgd2lsbCBiZSB0cnVlLiBFeGlzdGluZyB2YWx1ZXMgb2YgW1tDb25maWd1cmFibGVdXQ0KICAvLyBhbmQgW1tFbnVtZXJhYmxlXV0gbmVlZCB0byBiZSBwcmVzZXJ2ZWQgYW5kIHRoZSByZXN0IG5lZWQgdG8gYmUgc2V0IHRvDQogIC8vIHRoZWlyIGRlZmF1bHQgdmFsdWVzDQoNCiAgLy8gZHVtbXkgZ2V0dGVyDQogIHZhciBnZXR0ZXIgPSBmdW5jdGlvbiAoKSB7IHJldHVybiAxOyB9DQogIHZhciBkMSA9IHsgZ2V0OiBnZXR0ZXIgfTsNCiAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG8sICJmb28iLCBkMSk7DQoNCiAgdmFyIGQyID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvLCAiZm9vIik7DQoNCiAgaWYgKGQyLmdldCA9PT0gZ2V0dGVyICYmDQogICAgICBkMi5lbnVtZXJhYmxlID09PSB0cnVlICYmDQogICAgICBkMi5jb25maWd1cmFibGUgPT09IHRydWUpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"Step 4 of defineProperty calls the [[DefineOwnProperty]] internal method\nof O to define the property. For configurable properties, step 9b of\n[[DefineOwnProperty]] permits changing the kind of a property.","description":"Object.defineProperty permits changing data property to accessor property for configurable properties","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-14.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTE0MC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdPJyBpcyBhbiBBcnJheSwgJ25hbWUnIGlzIHRoZSBsZW5ndGggcHJvcGVydHkgb2YgJ08nLCB0ZXN0IFJhbmdlRXJyb3IgZXhjZXB0aW9uIGlzIHRocm93biB3aGVuIHRoZSBbW1ZhbHVlXV0gZmllbGQgb2YgJ2Rlc2MnIGlzIGEgc3RyaW5nIGNvbnRhaW5pbmcgK0luZmluaXR5ICgxNS40LjUuMSBzdGVwIDMuYykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhcnJPYmogPSBbXTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyck9iaiwgImxlbmd0aCIsIHsNCiAgICAgICAgICAgICAgICB2YWx1ZTogIitJbmZpbml0eSINCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFJhbmdlRXJyb3I7DQogICAgICAgIH0NCg0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'O' is an Array, 'name' is the length property of 'O', test RangeError exception is thrown when the [[Value]] field of 'desc' is a string containing +Infinity (15.4.5.1 step 3.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-140.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTE0MS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdPJyBpcyBhbiBBcnJheSwgJ25hbWUnIGlzIHRoZSBsZW5ndGggcHJvcGVydHkgb2YgJ08nLCB0ZXN0IFJhbmdlRXJyb3IgZXhjZXB0aW9uIGlzIHRocm93biB3aGVuIHRoZSBbW1ZhbHVlXV0gZmllbGQgb2YgJ2Rlc2MnIGlzIGEgc3RyaW5nIGNvbnRhaW5pbmcgLUluZmluaXR5ICgxNS40LjUuMSBzdGVwIDMuYykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhcnJPYmogPSBbXTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyck9iaiwgImxlbmd0aCIsIHsNCiAgICAgICAgICAgICAgICB2YWx1ZTogIi1JbmZpbml0eSINCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFJhbmdlRXJyb3I7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'O' is an Array, 'name' is the length property of 'O', test RangeError exception is thrown when the [[Value]] field of 'desc' is a string containing -Infinity (15.4.5.1 step 3.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-141.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTE0Mi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdPJyBpcyBhbiBBcnJheSwgJ25hbWUnIGlzIHRoZSBsZW5ndGggcHJvcGVydHkgb2YgJ08nLCB0ZXN0IHRoZSBbW1ZhbHVlXV0gZmllbGQgb2YgJ2Rlc2MnIGlzIGEgc3RyaW5nIGNvbnRhaW5pbmcgYW4gZXhwb25lbnRpYWwgbnVtYmVyICgxNS40LjUuMSBzdGVwIDMuYykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhcnJPYmogPSBbXTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyT2JqLCAibGVuZ3RoIiwgew0KICAgICAgICAgICAgdmFsdWU6ICIyRTMiDQogICAgICAgIH0pOw0KICAgICAgICByZXR1cm4gYXJyT2JqLmxlbmd0aCA9PT0gMkUzOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'O' is an Array, 'name' is the length property of 'O', test the [[Value]] field of 'desc' is a string containing an exponential number (15.4.5.1 step 3.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-142.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTE0My5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdPJyBpcyBhbiBBcnJheSwgJ25hbWUnIGlzIHRoZSBsZW5ndGggcHJvcGVydHkgb2YgJ08nLCB0ZXN0IHRoZSBbW1ZhbHVlXV0gZmllbGQgb2YgJ2Rlc2MnIGlzIGEgc3RyaW5nIGNvbnRhaW5pbmcgYSBoZXggbnVtYmVyICgxNS40LjUuMSBzdGVwIDMuYykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhcnJPYmogPSBbXTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyT2JqLCAibGVuZ3RoIiwgew0KICAgICAgICAgICAgdmFsdWU6ICIweDAwQiINCiAgICAgICAgfSk7DQogICAgICAgIHJldHVybiBhcnJPYmoubGVuZ3RoID09PSAweDAwQjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'O' is an Array, 'name' is the length property of 'O', test the [[Value]] field of 'desc' is a string containing a hex number (15.4.5.1 step 3.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-143.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTE0NC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdPJyBpcyBhbiBBcnJheSwgJ25hbWUnIGlzIHRoZSBsZW5ndGggcHJvcGVydHkgb2YgJ08nLCB0ZXN0IHRoZSBbW1ZhbHVlXV0gZmllbGQgb2YgJ2Rlc2MnIGlzIGEgc3RyaW5nIGNvbnRhaW5pbmcgYSBudW1iZXIgd2l0aCBsZWFkaW5nIHplcm9zICgxNS40LjUuMSBzdGVwIDMuYykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhcnJPYmogPSBbXTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyT2JqLCAibGVuZ3RoIiwgew0KICAgICAgICAgICAgdmFsdWU6ICIwMDAyLjAiDQogICAgICAgIH0pOw0KICAgICAgICByZXR1cm4gYXJyT2JqLmxlbmd0aCA9PT0gMjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'O' is an Array, 'name' is the length property of 'O', test the [[Value]] field of 'desc' is a string containing a number with leading zeros (15.4.5.1 step 3.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-144.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTE0NS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdPJyBpcyBhbiBBcnJheSwgJ25hbWUnIGlzIHRoZSBsZW5ndGggcHJvcGVydHkgb2YgJ08nLCB0ZXN0IFJhbmdlRXJyb3IgZXhjZXB0aW9uIGlzIHRocm93biB3aGVuIHRoZSBbW1ZhbHVlXV0gZmllbGQgb2YgJ2Rlc2MnIGlzIGEgc3RyaW5nIHdoaWNoIGRvZXNuJ3QgY29udmVydCB0byBhIG51bWJlciAoMTUuNC41LjEgc3RlcCAzLmMpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYXJyT2JqID0gW107DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnJPYmosICJsZW5ndGgiLCB7DQogICAgICAgICAgICAgICAgdmFsdWU6ICJ0d28iDQogICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBSYW5nZUVycm9yOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - 'O' is an Array, 'name' is the length property of 'O', test RangeError exception is thrown when the [[Value]] field of 'desc' is a string which doesn't convert to a number (15.4.5.1 step 3.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-145.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTE0Ni5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdPJyBpcyBhbiBBcnJheSwgJ25hbWUnIGlzIHRoZSBsZW5ndGggcHJvcGVydHkgb2YgJ08nLCB0ZXN0IHRoZSBbW1ZhbHVlXV0gZmllbGQgb2YgJ2Rlc2MnIGlzIGFuIG9iamVjdCB3aGljaCBoYXMgYW4gb3duIHRvU3RyaW5nIG1ldGhvZCAoMTUuNC41LjEgc3RlcCAzLmMpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYXJyT2JqID0gW107DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyck9iaiwgImxlbmd0aCIsIHsNCiAgICAgICAgICAgIHZhbHVlOiB7DQogICAgICAgICAgICAgICAgdG9TdHJpbmc6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuICcyJzsNCiAgICAgICAgICAgICAgICB9IA0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCiAgICAgICAgcmV0dXJuIGFyck9iai5sZW5ndGggPT09IDI7DQoNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'O' is an Array, 'name' is the length property of 'O', test the [[Value]] field of 'desc' is an object which has an own toString method (15.4.5.1 step 3.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-146.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTE0Ny5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdPJyBpcyBhbiBBcnJheSwgJ25hbWUnIGlzIHRoZSBsZW5ndGggcHJvcGVydHkgb2YgJ08nLCB0ZXN0IHRoZSBbW1ZhbHVlXV0gZmllbGQgb2YgJ2Rlc2MnIGlzIGFuIE9iamVjdCB3aGljaCBoYXMgYW4gb3duIHZhbHVlT2YgbWV0aG9kICgxNS40LjUuMSBzdGVwIDMuYykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhcnJPYmogPSBbXTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyT2JqLCAibGVuZ3RoIiwgew0KICAgICAgICAgICAgdmFsdWU6IHsNCiAgICAgICAgICAgICAgICB2YWx1ZU9mOiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgIHJldHVybiAyOw0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQogICAgICAgIHJldHVybiBhcnJPYmoubGVuZ3RoID09PSAyOw0KDQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - 'O' is an Array, 'name' is the length property of 'O', test the [[Value]] field of 'desc' is an Object which has an own valueOf method (15.4.5.1 step 3.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-147.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTE0OC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdPJyBpcyBhbiBBcnJheSwgJ25hbWUnIGlzIHRoZSBsZW5ndGggcHJvcGVydHkgb2YgJ08nLCB0ZXN0IHRoZSBbW1ZhbHVlXV0gZmllbGQgb2YgJ2Rlc2MnIGlzIGFuIE9iamVjdCB3aGljaCBoYXMgYW4gb3duIHZhbHVlT2YgbWV0aG9kIHRoYXQgcmV0dXJucyBhbiBvYmplY3QgYW5kIHRvU3RyaW5nIG1ldGhvZCB0aGF0IHJldHVybnMgYSBzdHJpbmcgKDE1LjQuNS4xIHN0ZXAgMy5jKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFyck9iaiA9IFtdOw0KICAgICAgICB2YXIgdG9TdHJpbmdBY2Nlc3NlZCA9IGZhbHNlOw0KICAgICAgICB2YXIgdmFsdWVPZkFjY2Vzc2VkID0gZmFsc2U7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyck9iaiwgImxlbmd0aCIsIHsNCiAgICAgICAgICAgIHZhbHVlOiB7DQogICAgICAgICAgICAgICAgdG9TdHJpbmc6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICAgICAgdG9TdHJpbmdBY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICAgICAgICAgIHJldHVybiAnMic7DQogICAgICAgICAgICAgICAgfSwNCg0KICAgICAgICAgICAgICAgIHZhbHVlT2Y6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICAgICAgdmFsdWVPZkFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHt9Ow0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQogICAgICAgIHJldHVybiBhcnJPYmoubGVuZ3RoID09PSAyICYmIHRvU3RyaW5nQWNjZXNzZWQgJiYgdmFsdWVPZkFjY2Vzc2VkOw0KDQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - 'O' is an Array, 'name' is the length property of 'O', test the [[Value]] field of 'desc' is an Object which has an own valueOf method that returns an object and toString method that returns a string (15.4.5.1 step 3.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-148.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTE0OS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdPJyBpcyBhbiBBcnJheSwgJ25hbWUnIGlzIHRoZSBsZW5ndGggcHJvcGVydHkgb2YgJ08nLCB0ZXN0IHRoZSBbW1ZhbHVlXV0gZmllbGQgb2YgJ2Rlc2MnIGlzIGFuIE9iamVjdCB3aGljaCBoYXMgYW4gb3duIHRvU3RyaW5nIGFuZCB2YWx1ZU9mIG1ldGhvZCAoMTUuNC41LjEgc3RlcCAzLmMpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYXJyT2JqID0gW107DQogICAgICAgIHZhciB0b1N0cmluZ0FjY2Vzc2VkID0gZmFsc2U7DQogICAgICAgIHZhciB2YWx1ZU9mQWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyT2JqLCAibGVuZ3RoIiwgew0KICAgICAgICAgICAgdmFsdWU6IHsNCiAgICAgICAgICAgICAgICB0b1N0cmluZzogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAgICB0b1N0cmluZ0FjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuICcyJzsNCiAgICAgICAgICAgICAgICB9LA0KDQogICAgICAgICAgICAgICAgdmFsdWVPZjogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAgICB2YWx1ZU9mQWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gMzsNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KICAgICAgICByZXR1cm4gYXJyT2JqLmxlbmd0aCA9PT0gMyAmJiAhdG9TdHJpbmdBY2Nlc3NlZCAmJiB2YWx1ZU9mQWNjZXNzZWQ7DQoNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'O' is an Array, 'name' is the length property of 'O', test the [[Value]] field of 'desc' is an Object which has an own toString and valueOf method (15.4.5.1 step 3.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-149.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogU3RlcCA0IG9mIGRlZmluZVByb3BlcnR5IGNhbGxzIHRoZSBbW0RlZmluZU93blByb3BlcnR5XV0gaW50ZXJuYWwgbWV0aG9kDQogKiBvZiBPIHRvIGRlZmluZSB0aGUgcHJvcGVydHkuIEZvciBjb25maWd1cmFibGUgcHJvcGVydGllcywgc3RlcCA5YyBvZg0KICogW1tEZWZpbmVPd25Qcm9wZXJ0eV1dIHBlcm1pdHMgY2hhbmdpbmcgdGhlIGtpbmQgb2YgYSBwcm9wZXJ0eS4NCiAqDQogKiBAcGF0aCBjaDE1LzE1LjIvMTUuMi4zLzE1LjIuMy42LzE1LjIuMy42LTQtMTUuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgcGVybWl0cyBjaGFuZ2luZyBhY2Nlc3NvciBwcm9wZXJ0eSB0byBkYXRhIHByb3BlcnR5IGZvciBjb25maWd1cmFibGUgcHJvcGVydGllcw0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBvID0ge307DQoNCiAgLy8gZGVmaW5lIGFuIGFjY2Vzc29yIHByb3BlcnR5DQogIC8vIGR1bW15IGdldHRlcg0KICB2YXIgZ2V0dGVyID0gZnVuY3Rpb24gKCkgeyByZXR1cm4gMTsgfQ0KICB2YXIgZDEgPSB7IGdldDogZ2V0dGVyLCBjb25maWd1cmFibGU6IHRydWUgfTsNCiAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG8sICJmb28iLCBkMSk7DQoNCiAgLy8gY2hhbmdpbmcgImZvbyIgdG8gYmUgYSBkYXRhIHZhbHVlZCBwcm9wZXJ0eSBzaG91bGQgc3VjY2VlZCwgc2luY2UNCiAgLy8gW1tDb25maWd1cmFibGVdXSBvbiB0aGUgb3JpZ2luYWwgcHJvcGVydHkgd2lsbCBiZSB0cnVlLiBFeGlzdGluZw0KICAvLyB2YWx1ZXMgb2YgW1tDb25maWd1cmFibGVdXSBhbmQgW1tFbnVtZXJhYmxlXV0gbmVlZCB0byBiZSBwcmVzZXJ2ZWQNCiAgLy8gYW5kIHRoZSByZXN0IG5lZWQgdG8gYmUgc2V0IHRvIHRoZWlyIGRlZmF1bHQgdmFsdWVzLg0KICB2YXIgZGVzYyA9IHsgdmFsdWU6IDEwMSB9Ow0KICBPYmplY3QuZGVmaW5lUHJvcGVydHkobywgImZvbyIsIGRlc2MpOw0KICB2YXIgZDIgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG8sICJmb28iKTsNCg0KICBpZiAoZDIudmFsdWUgPT09IDEwMSAmJg0KICAgICAgZDIud3JpdGFibGUgPT09IGZhbHNlICYmDQogICAgICBkMi5lbnVtZXJhYmxlID09PSBmYWxzZSAmJg0KICAgICAgZDIuY29uZmlndXJhYmxlID09PSB0cnVlKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"Step 4 of defineProperty calls the [[DefineOwnProperty]] internal method\nof O to define the property. For configurable properties, step 9c of\n[[DefineOwnProperty]] permits changing the kind of a property.","description":"Object.defineProperty permits changing accessor property to data property for configurable properties","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-15.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTE1MC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdPJyBpcyBhbiBBcnJheSwgJ25hbWUnIGlzIHRoZSBsZW5ndGggcHJvcGVydHkgb2YgJ08nLCB0ZXN0IFR5cGVFcnJvciBpcyB0aHJvd24gd2hlbiB0aGUgW1tWYWx1ZV1dIGZpZWxkIG9mICdkZXNjJyBpcyBhbiBPYmplY3QgdGhhdCBib3RoIHRvU3RyaW5nIGFuZCB2YWx1ZU9mIHdvdWxkbid0IHJldHVybiBwcmltaXRpdmUgdmFsdWUgKDE1LjQuNS4xIHN0ZXAgMy5jKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFyck9iaiA9IFtdOw0KICAgICAgICB2YXIgdG9TdHJpbmdBY2Nlc3NlZCA9IGZhbHNlOw0KICAgICAgICB2YXIgdmFsdWVPZkFjY2Vzc2VkID0gZmFsc2U7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnJPYmosICJsZW5ndGgiLCB7DQogICAgICAgICAgICAgICAgdmFsdWU6IHsNCiAgICAgICAgICAgICAgICAgICAgdG9TdHJpbmc6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICAgICAgICAgIHRvU3RyaW5nQWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHt9Ow0KICAgICAgICAgICAgICAgICAgICB9LA0KDQogICAgICAgICAgICAgICAgICAgIHZhbHVlT2Y6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlT2ZBY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4ge307DQogICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCg0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFR5cGVFcnJvciAmJiB0b1N0cmluZ0FjY2Vzc2VkICYmIHZhbHVlT2ZBY2Nlc3NlZDsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'O' is an Array, 'name' is the length property of 'O', test TypeError is thrown when the [[Value]] field of 'desc' is an Object that both toString and valueOf wouldn't return primitive value (15.4.5.1 step 3.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-150.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTE1MS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdPJyBpcyBhbiBBcnJheSwgJ25hbWUnIGlzIHRoZSBsZW5ndGggcHJvcGVydHkgb2YgJ08nLCBhbmQgdGhlIFtbVmFsdWVdXSBmaWVsZCBvZiAnZGVzYycgaXMgYW4gT2JqZWN0IHdpdGggYW4gb3duIHRvU3RyaW5nIG1ldGhvZCBhbmQgYW4gaW5oZXJpdGVkIHZhbHVlT2YgbWV0aG9kICgxNS40LjUuMSBzdGVwIDMuYyksIHRlc3QgdGhhdCB0aGUgaW5oZXJpdGVkIHZhbHVlT2YgbWV0aG9kIGlzIHVzZWQNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhcnJPYmogPSBbXTsNCiAgICAgICAgdmFyIHRvU3RyaW5nQWNjZXNzZWQgPSBmYWxzZTsNCiAgICAgICAgdmFyIHZhbHVlT2ZBY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIHZhciBwcm90byA9IHsNCiAgICAgICAgICAgIHZhbHVlT2Y6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICB2YWx1ZU9mQWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgICAgIHJldHVybiAyOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9Ow0KDQogICAgICAgIHZhciBDb25zdHJ1Y3RGdW4gPSBmdW5jdGlvbiAoKSB7IH07DQogICAgICAgIENvbnN0cnVjdEZ1bi5wcm90b3R5cGUgPSBwcm90bzsNCg0KICAgICAgICB2YXIgY2hpbGQgPSBuZXcgQ29uc3RydWN0RnVuKCk7DQogICAgICAgIGNoaWxkLnRvU3RyaW5nID0gZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgdG9TdHJpbmdBY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICByZXR1cm4gMzsNCiAgICAgICAgfTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyT2JqLCAibGVuZ3RoIiwgew0KICAgICAgICAgICAgdmFsdWU6IGNoaWxkDQogICAgICAgIH0pOw0KICAgICAgICByZXR1cm4gYXJyT2JqLmxlbmd0aCA9PT0gMiAmJiAhdG9TdHJpbmdBY2Nlc3NlZCAmJiB2YWx1ZU9mQWNjZXNzZWQ7DQoNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'O' is an Array, 'name' is the length property of 'O', and the [[Value]] field of 'desc' is an Object with an own toString method and an inherited valueOf method (15.4.5.1 step 3.c), test that the inherited valueOf method is used","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-151.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTE1Mi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdPJyBpcyBhbiBBcnJheSwgJ25hbWUnIGlzIHRoZSBsZW5ndGggcHJvcGVydHkgb2YgJ08nLCAgdGVzdCBSYW5nZUVycm9yIGlzIHRocm93biB3aGVuIHRoZSBbW1ZhbHVlXV0gZmllbGQgb2YgJ2Rlc2MnIGlzIGEgcG9zaXRpdmUgbm9uLWludGVnZXIgdmFsdWVzICgxNS40LjUuMSBzdGVwIDMuYykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhcnJPYmogPSBbXTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyck9iaiwgImxlbmd0aCIsIHsNCiAgICAgICAgICAgICAgICB2YWx1ZTogMTIzLjUNCiAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiBlIGluc3RhbmNlb2YgUmFuZ2VFcnJvcjsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'O' is an Array, 'name' is the length property of 'O', test RangeError is thrown when the [[Value]] field of 'desc' is a positive non-integer values (15.4.5.1 step 3.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-152.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTE1My5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdPJyBpcyBhbiBBcnJheSwgJ25hbWUnIGlzIHRoZSBsZW5ndGggcHJvcGVydHkgb2YgJ08nLCAgdGVzdCBSYW5nZUVycm9yIGlzIHRocm93biB3aGVuIHRoZSBbW1ZhbHVlXV0gZmllbGQgb2YgJ2Rlc2MnIGlzIGEgbmVnYXRpdmUgbm9uLWludGVnZXIgdmFsdWVzICgxNS40LjUuMSBzdGVwIDMuYykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhcnJPYmogPSBbXTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyck9iaiwgImxlbmd0aCIsIHsNCiAgICAgICAgICAgICAgICB2YWx1ZTogLTQyOTQ5NjcyOTQuNQ0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBSYW5nZUVycm9yOw0KICAgICAgICB9DQoNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'O' is an Array, 'name' is the length property of 'O', test RangeError is thrown when the [[Value]] field of 'desc' is a negative non-integer values (15.4.5.1 step 3.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-153.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTE1NC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdPJyBpcyBhbiBBcnJheSwgJ25hbWUnIGlzIHRoZSBsZW5ndGggcHJvcGVydHkgb2YgJ08nLCB0ZXN0IHRoZSBbW1ZhbHVlXV0gZmllbGQgb2YgJ2Rlc2MnIGlzIGJvdW5kYXJ5IHZhbHVlIDJeMzIgLSAyICgxNS40LjUuMSBzdGVwIDMuYykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhcnJPYmogPSBbXTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyT2JqLCAibGVuZ3RoIiwgew0KICAgICAgICAgICAgdmFsdWU6IDQyOTQ5NjcyOTQgDQogICAgICAgIH0pOw0KDQogICAgICAgIHJldHVybiBhcnJPYmoubGVuZ3RoID09PSA0Mjk0OTY3Mjk0Ow0KDQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - 'O' is an Array, 'name' is the length property of 'O', test the [[Value]] field of 'desc' is boundary value 2^32 - 2 (15.4.5.1 step 3.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-154.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTE1NS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdPJyBpcyBhbiBBcnJheSwgJ25hbWUnIGlzIHRoZSBsZW5ndGggcHJvcGVydHkgb2YgJ08nLCB0ZXN0IHRoZSBbW1ZhbHVlXV0gZmllbGQgb2YgJ2Rlc2MnIGlzIGJvdW5kYXJ5IHZhbHVlIDJeMzIgLSAxICgxNS40LjUuMSBzdGVwIDMuYykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhcnJPYmogPSBbXTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyT2JqLCAibGVuZ3RoIiwgew0KICAgICAgICAgICAgdmFsdWU6IDQyOTQ5NjcyOTUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgcmV0dXJuIGFyck9iai5sZW5ndGggPT09IDQyOTQ5NjcyOTU7DQoNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'O' is an Array, 'name' is the length property of 'O', test the [[Value]] field of 'desc' is boundary value 2^32 - 1 (15.4.5.1 step 3.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-155.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTE1Ni5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdPJyBpcyBhbiBBcnJheSwgJ25hbWUnIGlzIHRoZSBsZW5ndGggcHJvcGVydHkgb2YgJ08nLCB0ZXN0IFJhbmdlRXJyb3IgaXMgdGhyb3duIHdoZW4gdGhlIFtbVmFsdWVdXSBmaWVsZCBvZiAnZGVzYycgaXMgYm91bmRhcnkgdmFsdWUgMl4zMiAoMTUuNC41LjEgc3RlcCAzLmMpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYXJyT2JqID0gW107DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnJPYmosICJsZW5ndGgiLCB7DQogICAgICAgICAgICAgICAgdmFsdWU6IDQyOTQ5NjcyOTYNCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFJhbmdlRXJyb3I7DQogICAgICAgIH0NCg0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'O' is an Array, 'name' is the length property of 'O', test RangeError is thrown when the [[Value]] field of 'desc' is boundary value 2^32 (15.4.5.1 step 3.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-156.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTE1Ny5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdPJyBpcyBhbiBBcnJheSwgJ25hbWUnIGlzIHRoZSBsZW5ndGggcHJvcGVydHkgb2YgJ08nLCB0ZXN0IFJhbmdlRXJyb3IgaXMgdGhyb3duIHdoZW4gdGhlIFtbVmFsdWVdXSBmaWVsZCBvZiAnZGVzYycgaXMgYm91bmRhcnkgdmFsdWUgMl4zMiArIDEgKDE1LjQuNS4xIHN0ZXAgMy5jKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFyck9iaiA9IFtdOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyT2JqLCAibGVuZ3RoIiwgew0KICAgICAgICAgICAgICAgIHZhbHVlOiA0Mjk0OTY3Mjk3DQogICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBSYW5nZUVycm9yOw0KICAgICAgICB9DQoNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'O' is an Array, 'name' is the length property of 'O', test RangeError is thrown when the [[Value]] field of 'desc' is boundary value 2^32 + 1 (15.4.5.1 step 3.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-157.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTE1OS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdPJyBpcyBhbiBBcnJheSwgJ25hbWUnIGlzIHRoZSBsZW5ndGggcHJvcGVydHkgb2YgJ08nLCBzZXQgdGhlIFtbVmFsdWVdXSBmaWVsZCBvZiAnZGVzYycgdG8gYSB2YWx1ZSBncmVhdGVyIHRoYW4gdGhlIGV4aXN0aW5nIHZhbHVlIG9mIGxlbmd0aCAoMTUuNC41LjEgc3RlcCAzLmYpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYXJyT2JqID0gWzAsICwgMl07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyck9iaiwgImxlbmd0aCIsIHsNCiAgICAgICAgICAgIHZhbHVlOiA1DQogICAgICAgIH0pOw0KDQogICAgICAgIHJldHVybiBhcnJPYmoubGVuZ3RoID09PSA1ICYmIGFyck9ialswXSA9PT0gMCAmJg0KICAgICAgICAgICAgIWFyck9iai5oYXNPd25Qcm9wZXJ0eSgiMSIpICYmIGFyck9ialsyXSA9PT0gMiAmJg0KICAgICAgICAgICAgIWFyck9iai5oYXNPd25Qcm9wZXJ0eSgiNCIpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'O' is an Array, 'name' is the length property of 'O', set the [[Value]] field of 'desc' to a value greater than the existing value of length (15.4.5.1 step 3.f)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-159.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogU3RlcCA0IG9mIGRlZmluZVByb3BlcnR5IGNhbGxzIHRoZSBbW0RlZmluZU93blByb3BlcnR5XV0gaW50ZXJuYWwgbWV0aG9kDQogKiBvZiBPIHRvIGRlZmluZSB0aGUgcHJvcGVydHkuIEZvciBub24tY29uZmlndXJhYmxlIHByb3BlcnRpZXMsIHN0ZXAgMTAuYS5pDQogKiBvZiBbW0RlZmluZU93blByb3BlcnR5XV0gcmVqZWN0cyBpZiByZWxheGluZyB0aGUgW1tXcml0YWJsZV1dIGF0dHJpYnV0ZS4NCiAqDQogKiBAcGF0aCBjaDE1LzE1LjIvMTUuMi4zLzE1LjIuMy42LzE1LjIuMy42LTQtMTYuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgdGhyb3dzIFR5cGVFcnJvciB3aGVuIHJlbGF4aW5nIFtbV3JpdGFibGVdXSBvbiBub24tY29uZmlndXJhYmxlIGRhdGEgcHJvcGVydGllcw0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBvID0ge307DQoNCiAgLy8gY3JlYXRlIGEgZGF0YSB2YWx1ZWQgcHJvcGVydHk7IGFsbCBvdGhlciBhdHRyaWJ1dGVzIGRlZmF1bHQgdG8gZmFsc2UuDQogIHZhciBkMSA9IHsgdmFsdWU6IDEwMSB9Ow0KICBPYmplY3QuZGVmaW5lUHJvcGVydHkobywgImZvbyIsIGQxKTsNCg0KICAvLyBub3csIHJlbGF4aW5nIFtbV3JpdGFibGVdXSBvbiAiZm9vIiBzaG91bGQgZmFpbCwgc2luY2UgYm90aA0KICAvLyBbW0NvbmZpZ3VyYWJsZV1dIGFuZCBbW1dyaXRhYmxlXV0gb24gdGhlIG9yaWdpbmFsIHByb3BlcnR5IHdpbGwgYmUgZmFsc2UuDQogIHZhciBkZXNjID0geyB2YWx1ZTogMTAxLCB3cml0YWJsZTogdHJ1ZSB9Ow0KDQogIHRyeSB7DQogICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG8sICJmb28iLCBkZXNjKTsNCiAgfQ0KICBjYXRjaCAoZSkgew0KICAgIGlmIChlIGluc3RhbmNlb2YgVHlwZUVycm9yKSB7DQogICAgICAvLyB0aGUgcHJvcGVydHkgc2hvdWxkIHJlbWFpbiB1bmNoYW5nZWQuDQogICAgICB2YXIgZDIgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG8sICJmb28iKTsNCiAgICAgIGlmIChkMi52YWx1ZSA9PT0gMTAxICYmDQogICAgICAgICAgZDIud3JpdGFibGUgPT09IGZhbHNlICYmDQogICAgICAgICAgZDIuZW51bWVyYWJsZSA9PT0gZmFsc2UgJiYNCiAgICAgICAgICBkMi5jb25maWd1cmFibGUgPT09IGZhbHNlKSB7DQogICAgICAgIHJldHVybiB0cnVlOw0KICAgICAgfQ0KICAgIH0NCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"Step 4 of defineProperty calls the [[DefineOwnProperty]] internal method\nof O to define the property. For non-configurable properties, step 10.a.i\nof [[DefineOwnProperty]] rejects if relaxing the [[Writable]] attribute.","description":"Object.defineProperty throws TypeError when relaxing [[Writable]] on non-configurable data properties","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-16.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTE2MC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdPJyBpcyBhbiBBcnJheSwgJ25hbWUnIGlzIHRoZSBsZW5ndGggcHJvcGVydHkgb2YgJ08nLCBzZXQgdGhlIFtbVmFsdWVdXSBmaWVsZCBvZiAnZGVzYycgdG8gYSB2YWx1ZSBlcXVhbCB0byB0aGUgZXhpc3RpbmcgdmFsdWUgb2YgbGVuZ3RoICgxNS40LjUuMSBzdGVwIDMuZikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhcnJPYmogPSBbMCwgLCAyXTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyT2JqLCAibGVuZ3RoIiwgew0KICAgICAgICAgICAgdmFsdWU6IDMNCiAgICAgICAgfSk7DQoNCiAgICAgICAgcmV0dXJuIGFyck9iai5sZW5ndGggPT09IDMgJiYgYXJyT2JqWzBdID09PSAwICYmICFhcnJPYmouaGFzT3duUHJvcGVydHkoIjEiKSAmJiBhcnJPYmpbMl0gPT09IDI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - 'O' is an Array, 'name' is the length property of 'O', set the [[Value]] field of 'desc' to a value equal to the existing value of length (15.4.5.1 step 3.f)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-160.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTE2MS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdPJyBpcyBhbiBBcnJheSwgJ25hbWUnIGlzIHRoZSBsZW5ndGggcHJvcGVydHkgb2YgJ08nLCBzZXQgdGhlIFtbVmFsdWVdXSBmaWVsZCBvZiAnZGVzYycgdG8gYSB2YWx1ZSBsZXNzZXIgdGhhbiB0aGUgZXhpc3RpbmcgdmFsdWUgb2YgbGVuZ3RoIGFuZCB0ZXN0IHRoYXQgaW5kZXhlcyBiZXlvbmQgdGhlIG5ldyBsZW5ndGggYXJlIGRlbGV0ZWQoMTUuNC41LjEgc3RlcCAzLmYpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYXJyT2JqID0gWzAsIDFdOw0KICAgICAgICANCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyck9iaiwgImxlbmd0aCIsIHsNCiAgICAgICAgICAgIHZhbHVlOiAxDQogICAgICAgIH0pOw0KICAgICAgICByZXR1cm4gYXJyT2JqLmxlbmd0aCA9PT0gMSAmJiAhYXJyT2JqLmhhc093blByb3BlcnR5KCIxIik7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - 'O' is an Array, 'name' is the length property of 'O', set the [[Value]] field of 'desc' to a value lesser than the existing value of length and test that indexes beyond the new length are deleted(15.4.5.1 step 3.f)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-161.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTE2Mi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdPJyBpcyBhbiBBcnJheSwgJ25hbWUnIGlzIHRoZSBsZW5ndGggcHJvcGVydHkgb2YgJ08nLCB0aGUgW1tWYWx1ZV1dIGZpZWxkIG9mICdkZXNjJyBpcyBncmVhdGVyIHRoYW4gdmFsdWUgb2YgdGhlIGxlbmd0aCBwcm9wZXJ0eSwgdGVzdCBUeXBlRXJyb3IgaXMgdGhyb3duIHdoZW4gdGhlIGxlbmd0aCBwcm9wZXJ0eSBpcyBub3Qgd3JpdGFibGUgKDE1LjQuNS4xIHN0ZXAgMy5mLmkpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYXJyT2JqID0gW107DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyck9iaiwgImxlbmd0aCIsIHsNCiAgICAgICAgICAgIHdyaXRhYmxlOiBmYWxzZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyck9iaiwgImxlbmd0aCIsIHsNCiAgICAgICAgICAgICAgICB2YWx1ZTogMTINCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFR5cGVFcnJvcjsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'O' is an Array, 'name' is the length property of 'O', the [[Value]] field of 'desc' is greater than value of the length property, test TypeError is thrown when the length property is not writable (15.4.5.1 step 3.f.i)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-162.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTE2My5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdPJyBpcyBhbiBBcnJheSwgJ25hbWUnIGlzIHRoZSBsZW5ndGggcHJvcGVydHkgb2YgJ08nLCB0aGUgW1tWYWx1ZV1dIGZpZWxkIG9mICdkZXNjJyBlcXVhbHMgdG8gdmFsdWUgb2YgdGhlIGxlbmd0aCBwcm9wZXJ0eSwgdGVzdCBubyBUeXBlRXJyb3IgaXMgdGhyb3duIHdoZW4gdGhlIGxlbmd0aCBwcm9wZXJ0eSBpcyBub3Qgd3JpdGFibGUgKDE1LjQuNS4xIHN0ZXAgMy5mLmkpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYXJyT2JqID0gW107DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyck9iaiwgImxlbmd0aCIsIHsNCiAgICAgICAgICAgIHdyaXRhYmxlOiBmYWxzZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyck9iaiwgImxlbmd0aCIsIHsNCiAgICAgICAgICAgICAgICB2YWx1ZTogMA0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICByZXR1cm4gdHJ1ZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - 'O' is an Array, 'name' is the length property of 'O', the [[Value]] field of 'desc' equals to value of the length property, test no TypeError is thrown when the length property is not writable (15.4.5.1 step 3.f.i)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-163.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTE2NC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdPJyBpcyBhbiBBcnJheSwgJ25hbWUnIGlzIHRoZSBsZW5ndGggcHJvcGVydHkgb2YgJ08nLCB0aGUgW1tWYWx1ZV1dIGZpZWxkIG9mICdkZXNjJyBpcyBsZXNzIHRoYW4gdmFsdWUgb2YgIHRoZSBsZW5ndGggcHJvcGVydHksIHRlc3QgVHlwZUVycm9yIGlzIHRocm93biB3aGVuIHRoZSBbW1dyaXRhYmxlXV0gYXR0cmlidXRlIG9mIHRoZSBsZW5ndGggcHJvcGVydHkgaXMgZmFsc2UgKDE1LjQuNS4xIHN0ZXAgMy5nKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFyck9iaiA9IFswLCAxXTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyT2JqLCAibGVuZ3RoIiwgew0KICAgICAgICAgICAgd3JpdGFibGU6IGZhbHNlDQogICAgICAgIH0pOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyT2JqLCAibGVuZ3RoIiwgew0KICAgICAgICAgICAgICAgIHZhbHVlOiAwDQogICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBUeXBlRXJyb3I7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'O' is an Array, 'name' is the length property of 'O', the [[Value]] field of 'desc' is less than value of the length property, test TypeError is thrown when the [[Writable]] attribute of the length property is false (15.4.5.1 step 3.g)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-164.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTE2NS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdPJyBpcyBhbiBBcnJheSwgJ25hbWUnIGlzIHRoZSBsZW5ndGggcHJvcGVydHkgb2YgJ08nLCB0aGUgW1tWYWx1ZV1dIGZpZWxkIG9mICdkZXNjJyBpcyBsZXNzIHRoYW4gdmFsdWUgb2YgIHRoZSBsZW5ndGggcHJvcGVydHksICB0ZXN0IHRoZSBbW1dyaXRhYmxlXV0gYXR0cmlidXRlIG9mIHRoZSBsZW5ndGggcHJvcGVydHkgaXMgc2V0IHRvIHRydWUgYWZ0ZXIgZGVsZXRpbmcgcHJvcGVydGllcyB3aXRoIGxhcmdlIGluZGV4IG5hbWVkIGlmIHRoZSBbW1dyaXRhYmxlXV0gZmllbGQgb2YgJ2Rlc2MnIGlzIGFic2VudCAoMTUuNC41LjEgc3RlcCAzLmgpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYXJyT2JqID0gWzAsIDFdOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnJPYmosICJsZW5ndGgiLCB7DQogICAgICAgICAgICB2YWx1ZTogMQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgaW5kZXhEZWxldGVkID0gIWFyck9iai5oYXNPd25Qcm9wZXJ0eSgiMSIpOw0KDQogICAgICAgIGFyck9iai5sZW5ndGggPSAxMDsNCg0KICAgICAgICByZXR1cm4gaW5kZXhEZWxldGVkICYmIGFyck9iai5sZW5ndGggPT09IDEwOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'O' is an Array, 'name' is the length property of 'O', the [[Value]] field of 'desc' is less than value of the length property, test the [[Writable]] attribute of the length property is set to true after deleting properties with large index named if the [[Writable]] field of 'desc' is absent (15.4.5.1 step 3.h)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-165.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTE2Ni5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdPJyBpcyBhbiBBcnJheSwgJ25hbWUnIGlzIHRoZSBsZW5ndGggcHJvcGVydHkgb2YgJ08nLCB0aGUgW1tWYWx1ZV1dIGZpZWxkIG9mICdkZXNjJyBpcyBsZXNzIHRoYW4gdmFsdWUgb2YgIHRoZSBsZW5ndGggcHJvcGVydHksICB0ZXN0IHRoZSBbW1dyaXRhYmxlXV0gYXR0cmlidXRlIG9mIHRoZSBsZW5ndGggcHJvcGVydHkgaXMgc2V0IHRvIHRydWUgYWZ0ZXIgZGVsZXRpbmcgcHJvcGVydGllcyB3aXRoIGxhcmdlIGluZGV4IG5hbWVkIGlmIHRoZSBbW1dyaXRhYmxlXV0gZmllbGQgb2YgJ2Rlc2MnIGlzIHRydWUgKDE1LjQuNS4xIHN0ZXAgMy5oKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFyck9iaiA9IFswLCAxXTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyT2JqLCAibGVuZ3RoIiwgew0KICAgICAgICAgICAgdmFsdWU6IDEsDQogICAgICAgICAgICB3cml0YWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgaW5kZXhEZWxldGVkID0gIWFyck9iai5oYXNPd25Qcm9wZXJ0eSgiMSIpOw0KDQogICAgICAgIGFyck9iai5sZW5ndGggPSAxMDsNCg0KICAgICAgICByZXR1cm4gaW5kZXhEZWxldGVkICYmIGFyck9iai5sZW5ndGggPT09IDEwOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'O' is an Array, 'name' is the length property of 'O', the [[Value]] field of 'desc' is less than value of the length property, test the [[Writable]] attribute of the length property is set to true after deleting properties with large index named if the [[Writable]] field of 'desc' is true (15.4.5.1 step 3.h)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-166.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTE2Ny5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdPJyBpcyBhbiBBcnJheSwgJ25hbWUnIGlzIHRoZSBsZW5ndGggcHJvcGVydHkgb2YgJ08nLCB0aGUgW1tWYWx1ZV1dIGZpZWxkIG9mICdkZXNjJyBpcyBsZXNzIHRoYW4gdmFsdWUgb2YgIHRoZSBsZW5ndGggcHJvcGVydHksIHRlc3QgdGhlIFtbV3JpdGFibGVdXSBhdHRyaWJ1dGUgb2YgdGhlIGxlbmd0aCBwcm9wZXJ0eSBpcyBzZXQgdG8gZmFsc2UgYWZ0ZXIgZGVsZXRpbmcgcHJvcGVydGllcyB3aXRoIGxhcmdlIGluZGV4IG5hbWVkIGlmIHRoZSBbW1dyaXRhYmxlXV0gZmllbGQgb2YgJ2Rlc2MnIGlzIGZhbHNlICgxNS40LjUuMSBzdGVwIDMuaS5paSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhcnJPYmogPSBbMCwgMV07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyck9iaiwgImxlbmd0aCIsIHsNCiAgICAgICAgICAgIHZhbHVlOiAxLA0KICAgICAgICAgICAgd3JpdGFibGU6IGZhbHNlDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBpbmRleERlbGV0ZWQgPSAhYXJyT2JqLmhhc093blByb3BlcnR5KCIxIik7DQoNCiAgICAgICAgYXJyT2JqLmxlbmd0aCA9IDEwOw0KDQogICAgICAgIHJldHVybiBpbmRleERlbGV0ZWQgJiYgYXJyT2JqLmxlbmd0aCA9PT0gMTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'O' is an Array, 'name' is the length property of 'O', the [[Value]] field of 'desc' is less than value of the length property, test the [[Writable]] attribute of the length property is set to false after deleting properties with large index named if the [[Writable]] field of 'desc' is false (15.4.5.1 step 3.i.ii)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-167.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTE2OC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdPJyBpcyBhbiBBcnJheSwgJ25hbWUnIGlzIHRoZSBsZW5ndGggcHJvcGVydHkgb2YgJ08nLCB3aG9zZSB3cml0YWJsZSBhdHRyaWJ1dGUgaXMgYmVpbmcgY2hhbmdlZCB0byBmYWxzZSBhbmQgdGhlIFtbVmFsdWVdXSBmaWVsZCBvZiAnZGVzYycgaXMgbGVzcyB0aGFuIHZhbHVlIG9mICB0aGUgbGVuZ3RoIHByb3BlcnR5IGFuZCBhbHNvIGxlc3NlciB0aGFuIGFuIGluZGV4IG9mIHRoZSBhcnJheSB3aGljaCBpcyBzZXQgdG8gY29uZmlndXJhYmxlOmZhbHNlLCB0ZXN0IHRoYXQgbmV3IGxlbmd0aCBpcyBzZXQgdG8gYSB2YWx1ZSBncmVhdGVyIHRoYW4gdGhlIG5vbi1kZWxldGFibGUgaW5kZXggYnkgMSwgd3JpdGFibGUgYXR0cmlidXRlIG9mIGxlbmd0aCBpcyBzZXQgdG8gZmFsc2UgYW5kIFR5cGVFcnJvciBleGNlcHRpb24gaXMgdGhyb3duICgxNS40LjUuMSBzdGVwIDMuaS5paWkpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYXJyT2JqID0gWzAsIDEsIDJdOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyT2JqLCAiMSIsIHsNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyck9iaiwgImxlbmd0aCIsIHsNCiAgICAgICAgICAgICAgICB2YWx1ZTogMCwNCiAgICAgICAgICAgICAgICB3cml0YWJsZTogZmFsc2UNCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFR5cGVFcnJvciAmJiBhcnJPYmoubGVuZ3RoID09PSAyOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - 'O' is an Array, 'name' is the length property of 'O', whose writable attribute is being changed to false and the [[Value]] field of 'desc' is less than value of the length property and also lesser than an index of the array which is set to configurable:false, test that new length is set to a value greater than the non-deletable index by 1, writable attribute of length is set to false and TypeError exception is thrown (15.4.5.1 step 3.i.iii)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-168.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTE2OS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdPJyBpcyBhbiBBcnJheSwgJ25hbWUnIGlzIHRoZSBsZW5ndGggcHJvcGVydHkgb2YgJ08nLCB0aGUgW1tWYWx1ZV1dIGZpZWxkIG9mICdkZXNjJyBpcyBsZXNzIHRoYW4gdmFsdWUgb2YgIHRoZSBsZW5ndGggcHJvcGVydHkgYW5kIGFsc28gbGVzc2VyIHRoYW4gYW4gaW5kZXggb2YgdGhlIGFycmF5IHdoaWNoIGlzIHNldCB0byBjb25maWd1cmFibGU6IGZhbHNlLCB0ZXN0IHRoYXQgbmV3IGxlbmd0aCBpcyBzZXQgdG8gYSB2YWx1ZSBncmVhdGVyIHRoYW4gdGhlIG5vbi1kZWxldGFibGUgaW5kZXggYnkgMSwgYW5kIFR5cGVFcnJvciBpcyB0aHJvd24gKDE1LjQuNS4xIHN0ZXAgMy5sLmkpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYXJyT2JqID0gWzAsIDEsIDJdOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnJPYmosICIxIiwgew0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyT2JqLCAiMiIsIHsNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyck9iaiwgImxlbmd0aCIsIHsNCiAgICAgICAgICAgICAgICB2YWx1ZTogMQ0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiBlIGluc3RhbmNlb2YgVHlwZUVycm9yICYmIGFyck9iai5sZW5ndGggPT09IDIgJiYgIWFyck9iai5oYXNPd25Qcm9wZXJ0eSgiMiIpOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - 'O' is an Array, 'name' is the length property of 'O', the [[Value]] field of 'desc' is less than value of the length property and also lesser than an index of the array which is set to configurable: false, test that new length is set to a value greater than the non-deletable index by 1, and TypeError is thrown (15.4.5.1 step 3.l.i)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-169.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogU3RlcCA0IG9mIGRlZmluZVByb3BlcnR5IGNhbGxzIHRoZSBbW0RlZmluZU93blByb3BlcnR5XV0gaW50ZXJuYWwgbWV0aG9kDQogKiBvZiBPIHRvIGRlZmluZSB0aGUgcHJvcGVydHkuIEZvciBub24tY29uZmlndXJhYmxlIHByb3BlcnRpZXMsIHN0ZXAgMTAuYS5paS4xDQogKiBvZiBbW0RlZmluZU93blByb3BlcnR5XV0gcmVqZWN0cyBjaGFuZ2luZyB0aGUgdmFsdWUgb2Ygbm9uLXdyaXRhYmxlIHByb3BlcnRpZXMuDQogKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTE3LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnR5IHRocm93cyBUeXBlRXJyb3Igd2hlbiBjaGFuZ2luZyB2YWx1ZSBvZiBub24td3JpdGFibGUgbm9uLWNvbmZpZ3VyYWJsZSBkYXRhIHByb3BlcnRpZXMNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgbyA9IHt9Ow0KDQogIC8vIGNyZWF0ZSBhIGRhdGEgdmFsdWVkIHByb3BlcnR5OyBhbGwgb3RoZXIgYXR0cmlidXRlcyBkZWZhdWx0IHRvIGZhbHNlLg0KICB2YXIgZDEgPSB7IHZhbHVlOiAxMDEgfTsNCiAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG8sICJmb28iLCBkMSk7DQoNCiAgLy8gbm93LCB0cnlpbmcgdG8gY2hhbmdlIHRoZSB2YWx1ZSBvZiAiZm9vIiBzaG91bGQgZmFpbCwgc2luY2UgYm90aA0KICAvLyBbW0NvbmZpZ3VyYWJsZV1dIGFuZCBbW1dyaXRhYmxlXV0gb24gdGhlIG9yaWdpbmFsIHByb3BlcnR5IHdpbGwgYmUgZmFsc2UuDQogIHZhciBkZXNjID0geyB2YWx1ZTogMTAyIH07DQoNCiAgdHJ5IHsNCiAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkobywgImZvbyIsIGRlc2MpOw0KICB9DQogIGNhdGNoIChlKSB7DQogICAgaWYgKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpIHsNCiAgICAgIC8vIHRoZSBwcm9wZXJ0eSBzaG91bGQgcmVtYWluIHVuY2hhbmdlZC4NCiAgICAgIHZhciBkMiA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IobywgImZvbyIpOw0KDQogICAgICBpZiAoZDIudmFsdWUgPT09IDEwMSAmJg0KICAgICAgICAgIGQyLndyaXRhYmxlID09PSBmYWxzZSAmJg0KICAgICAgICAgIGQyLmVudW1lcmFibGUgPT09IGZhbHNlICYmDQogICAgICAgICAgZDIuY29uZmlndXJhYmxlID09PSBmYWxzZSkgew0KICAgICAgICByZXR1cm4gdHJ1ZTsNCiAgICAgIH0NCiAgICB9DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"Step 4 of defineProperty calls the [[DefineOwnProperty]] internal method\nof O to define the property. For non-configurable properties, step 10.a.ii.1\nof [[DefineOwnProperty]] rejects changing the value of non-writable properties.","description":"Object.defineProperty throws TypeError when changing value of non-writable non-configurable data properties","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-17.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTE3MC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdPJyBpcyBhbiBBcnJheSwgJ25hbWUnIGlzIHRoZSBsZW5ndGggcHJvcGVydHkgb2YgJ08nLCB0aGUgW1tWYWx1ZV1dIGZpZWxkIG9mICdkZXNjJyBpcyBsZXNzIHRoYW4gdmFsdWUgb2YgIHRoZSBsZW5ndGggcHJvcGVydHkgYW5kIGFsc28gbGVzc2VyIHRoYW4gYW4gaW5kZXggb2YgdGhlIGFycmF5IHdoaWNoIGlzIHNldCB0byBjb25maWd1cmFibGU6IGZhbHNlLCB0ZXN0IHRoYXQgbmV3IGxlbmd0aCBpcyBzZXQgdG8gYSB2YWx1ZSBncmVhdGVyIHRoYW4gdGhlIG5vbi1kZWxldGFibGUgaW5kZXggYnkgMSwgd3JpdGFibGUgYXR0cmlidXRlIG9mIGxlbmd0aCBpcyBzZXQgdG8gZmFsc2UgYW5kIFR5cGVFcnJvciBleGNlcHRpb24gaXMgdGhyb3duICgxNS40LjUuMSBzdGVwIDMubC5paSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhcnJPYmogPSBbMCwgMV07DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnJPYmosICIxIiwgew0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyT2JqLCAibGVuZ3RoIiwgew0KICAgICAgICAgICAgICAgIHZhbHVlOiAxDQogICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFR5cGVFcnJvciAmJiBhcnJPYmoubGVuZ3RoID09PSAyICYmIGFyck9iai5oYXNPd25Qcm9wZXJ0eSgiMSIpOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - 'O' is an Array, 'name' is the length property of 'O', the [[Value]] field of 'desc' is less than value of the length property and also lesser than an index of the array which is set to configurable: false, test that new length is set to a value greater than the non-deletable index by 1, writable attribute of length is set to false and TypeError exception is thrown (15.4.5.1 step 3.l.ii)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-170.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTE3MS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdPJyBpcyBhbiBBcnJheSwgJ25hbWUnIGlzIHRoZSBsZW5ndGggcHJvcGVydHkgb2YgJ08nLCB0aGUgW1tWYWx1ZV1dIGZpZWxkIG9mICdkZXNjJyBpcyBsZXNzIHRoYW4gdmFsdWUgb2YgIHRoZSBsZW5ndGggcHJvcGVydHksIHRlc3QgdGhlIFtbQ29uZmlndXJhYmxlXV0gYXR0cmlidXRlIG9mIGFuIGluaGVyaXRlZCBkYXRhIHByb3BlcnR5IHdpdGggbGFyZ2UgaW5kZXggbmFtZWQgaW4gJ08nIGNhbid0IHN0b3AgZGVsZXRpbmcgaW5kZXggbmFtZWQgcHJvcGVydGllcyAoMTUuNC41LjEgc3RlcCAzLmwuaWkpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYXJyT2JqID0gWzAsIDFdOw0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlWzFdID0gMjsgLy8gTm90IHNldHRpbmcgdGhlIFtbQ29uZmlndXJhYmxlXV0gYXR0cmlidXRlIG9mIHByb3BlcnR5ICIxIiB0byBmYWxzZSBoZXJlLCBzaW5jZSBBcnJheS5wcm90b3R5cGUgaXMgYSBnbG9iYWwgb2JqZWN0LCBhbmQgbm9uLWNvbmZpZ3VyYmFsZSBwcm9wZXJ0eSBjYW4ndCByZXZlcnQgdG8gY29uZmlndXJhYmxlDQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyT2JqLCAibGVuZ3RoIiwgew0KICAgICAgICAgICAgICAgIHZhbHVlOiAxDQogICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIHJldHVybiBhcnJPYmoubGVuZ3RoID09PSAxICYmICFhcnJPYmouaGFzT3duUHJvcGVydHkoIjEiKTsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBBcnJheS5wcm90b3R5cGVbMV07DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'O' is an Array, 'name' is the length property of 'O', the [[Value]] field of 'desc' is less than value of the length property, test the [[Configurable]] attribute of an inherited data property with large index named in 'O' can't stop deleting index named properties (15.4.5.1 step 3.l.ii)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-171.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTE3Mi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdPJyBpcyBhbiBBcnJheSwgJ25hbWUnIGlzIHRoZSBsZW5ndGggcHJvcGVydHkgb2YgJ08nLCB0aGUgW1tWYWx1ZV1dIGZpZWxkIG9mICdkZXNjJyBpcyBsZXNzIHRoYW4gdmFsdWUgb2YgIHRoZSBsZW5ndGggcHJvcGVydHksIHRlc3QgdGhlIFtbQ29uZmlndXJhYmxlXV0gYXR0cmlidXRlIG9mIG93biBkYXRhIHByb3BlcnR5IHdpdGggbGFyZ2UgaW5kZXggbmFtZWQgaW4gJ08nIHRoYXQgb3ZlcnJpZGVzIGFuIGluaGVyaXRlZCBkYXRhIHByb3BlcnR5IGNhbiBzdG9wIGRlbGV0aW5nIGluZGV4IG5hbWVkIHByb3BlcnRpZXMgKDE1LjQuNS4xIHN0ZXAgMy5sLmlpKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFyck9iaiA9IFswLCAxXTsNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnJPYmosICIxIiwgew0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgDQogICAgICAgICAgICBBcnJheS5wcm90b3R5cGVbMV0gPSAyOw0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyck9iaiwgImxlbmd0aCIsIHsNCiAgICAgICAgICAgICAgICB2YWx1ZTogMQ0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiBlIGluc3RhbmNlb2YgVHlwZUVycm9yICYmIGFyck9iai5sZW5ndGggPT09IDIgJiYgYXJyT2JqLmhhc093blByb3BlcnR5KCIxIik7IA0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIEFycmF5LnByb3RvdHlwZVsxXTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'O' is an Array, 'name' is the length property of 'O', the [[Value]] field of 'desc' is less than value of the length property, test the [[Configurable]] attribute of own data property with large index named in 'O' that overrides an inherited data property can stop deleting index named properties (15.4.5.1 step 3.l.ii)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-172.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTE3My5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdPJyBpcyBhbiBBcnJheSwgJ25hbWUnIGlzIHRoZSBsZW5ndGggcHJvcGVydHkgb2YgJ08nLCB0aGUgW1tWYWx1ZV1dIGZpZWxkIG9mICdkZXNjJyBpcyBsZXNzIHRoYW4gdmFsdWUgb2YgIHRoZSBsZW5ndGggcHJvcGVydHksIHRlc3QgdGhlIFtbQ29uZmlndXJhYmxlXV0gYXR0cmlidXRlIG9mIG93biBkYXRhIHByb3BlcnR5IHdpdGggbGFyZ2UgaW5kZXggbmFtZWQgaW4gJ08nIHRoYXQgb3ZlcnJpZGVzIGFuIGluaGVyaXRlZCBhY2Nlc3NvciBwcm9wZXJ0eSBjYW4gc3RvcCBkZWxldGluZyBpbmRleCBuYW1lZCBwcm9wZXJ0aWVzICgxNS40LjUuMSBzdGVwIDMubC5paSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhcnJPYmogPSBbMCwgMV07DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyT2JqLCAiMSIsIHsNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KEFycmF5LnByb3RvdHlwZSwgIjEiLCB7DQogICAgICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgIHJldHVybiAyOw0KICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyck9iaiwgImxlbmd0aCIsIHsNCiAgICAgICAgICAgICAgICB2YWx1ZTogMQ0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IgJiYgYXJyT2JqLmxlbmd0aCA9PT0gMiAmJiBhcnJPYmouaGFzT3duUHJvcGVydHkoIjEiKTsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBBcnJheS5wcm90b3R5cGVbMV07DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'O' is an Array, 'name' is the length property of 'O', the [[Value]] field of 'desc' is less than value of the length property, test the [[Configurable]] attribute of own data property with large index named in 'O' that overrides an inherited accessor property can stop deleting index named properties (15.4.5.1 step 3.l.ii)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-173.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTE3NC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdPJyBpcyBhbiBBcnJheSwgJ25hbWUnIGlzIHRoZSBsZW5ndGggcHJvcGVydHkgb2YgJ08nLCB0aGUgW1tWYWx1ZV1dIGZpZWxkIG9mICdkZXNjJyBpcyBsZXNzIHRoYW4gdmFsdWUgb2YgIHRoZSBsZW5ndGggcHJvcGVydHksIHRlc3QgdGhlIFtbQ29uZmlndXJhYmxlXV0gYXR0cmlidXRlIG9mIG93biBhY2Nlc3NvciBwcm9wZXJ0eSB3aXRoIGxhcmdlIGluZGV4IG5hbWVkIGluICdPJyBjYW4gc3RvcCBkZWxldGluZyBpbmRleCBuYW1lZCBwcm9wZXJ0aWVzICgxNS40LjUuMSBzdGVwIDMubC5paSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhcnJPYmogPSBbMCwgMV07DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnJPYmosICIxIiwgew0KICAgICAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gMTsNCiAgICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyT2JqLCAibGVuZ3RoIiwgew0KICAgICAgICAgICAgICAgIHZhbHVlOiAxDQogICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFR5cGVFcnJvciAmJiBhcnJPYmoubGVuZ3RoID09PSAyICYmIGFyck9iai5oYXNPd25Qcm9wZXJ0eSgiMSIpOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - 'O' is an Array, 'name' is the length property of 'O', the [[Value]] field of 'desc' is less than value of the length property, test the [[Configurable]] attribute of own accessor property with large index named in 'O' can stop deleting index named properties (15.4.5.1 step 3.l.ii)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-174.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTE3NS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdPJyBpcyBhbiBBcnJheSwgJ25hbWUnIGlzIHRoZSBsZW5ndGggcHJvcGVydHkgb2YgJ08nLCB0aGUgW1tWYWx1ZV1dIGZpZWxkIG9mICdkZXNjJyBpcyBsZXNzIHRoYW4gdmFsdWUgb2YgIHRoZSBsZW5ndGggcHJvcGVydHksIHRlc3QgdGhlIFtbQ29uZmlndXJhYmxlXV0gYXR0cmlidXRlIG9mIGFuIGluaGVyaXRlZCBhY2Nlc3NvciBwcm9wZXJ0eSB3aXRoIGxhcmdlIGluZGV4IG5hbWVkIGluICdPJyBjYW4ndCBzdG9wIGRlbGV0aW5nIGluZGV4IG5hbWVkIHByb3BlcnRpZXMgKDE1LjQuNS4xIHN0ZXAgMy5sLmlpKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFyck9iaiA9IFswLCAxXTsNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShBcnJheS5wcm90b3R5cGUsICIxIiwgew0KICAgICAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gMTsNCiAgICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZSAvLyBOb3Qgc2V0dGluZyB0aGUgW1tDb25maWd1cmFibGVdXSBhdHRyaWJ1dGUgb2YgcHJvcGVydHkgIjEiIHRvIGZhbHNlIGhlcmUsIHNpbmNlIEFycmF5LnByb3RvdHlwZSBpcyBhIGdsb2JhbCBvYmplY3QsIGFuZCBub24tY29uZmlndXJiYWxlIHByb3BlcnR5IGNhbid0IHJldmVydCB0byBjb25maWd1cmFibGUNCiAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyT2JqLCAibGVuZ3RoIiwgew0KICAgICAgICAgICAgICAgIHZhbHVlOiAxDQogICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgcmV0dXJuIGFyck9iai5sZW5ndGggPT09IDEgJiYgIWFyck9iai5oYXNPd25Qcm9wZXJ0eSgiMSIpOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIEFycmF5LnByb3RvdHlwZVsxXTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'O' is an Array, 'name' is the length property of 'O', the [[Value]] field of 'desc' is less than value of the length property, test the [[Configurable]] attribute of an inherited accessor property with large index named in 'O' can't stop deleting index named properties (15.4.5.1 step 3.l.ii)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-175.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTE3Ni5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdPJyBpcyBhbiBBcnJheSwgJ25hbWUnIGlzIHRoZSBsZW5ndGggcHJvcGVydHkgb2YgJ08nLCB0aGUgW1tWYWx1ZV1dIGZpZWxkIG9mICdkZXNjJyBpcyBsZXNzIHRoYW4gdmFsdWUgb2YgIHRoZSBsZW5ndGggcHJvcGVydHksIHRlc3QgdGhlIFtbQ29uZmlndXJhYmxlXV0gYXR0cmlidXRlIG9mIG93biBhY2Nlc3NvciBwcm9wZXJ0eSB3aXRoIGxhcmdlIGluZGV4IG5hbWVkIGluICdPJyB0aGF0IG92ZXJyaWRlcyBhbiBpbmhlcml0ZWQgZGF0YSBwcm9wZXJ0eSBjYW4gc3RvcCBkZWxldGluZyBpbmRleCBuYW1lZCBwcm9wZXJ0aWVzICgxNS40LjUuMSBzdGVwIDMubC5paSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhcnJPYmogPSBbMCwgMV07DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyT2JqLCAiMSIsIHsNCiAgICAgICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDI7DQogICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIA0KICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlWzFdID0gMjsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnJPYmosICJsZW5ndGgiLCB7DQogICAgICAgICAgICAgICAgdmFsdWU6IDENCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFR5cGVFcnJvciAmJiBhcnJPYmoubGVuZ3RoID09PSAyICYmIGFyck9iai5oYXNPd25Qcm9wZXJ0eSgiMSIpOyANCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBBcnJheS5wcm90b3R5cGVbMV07DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'O' is an Array, 'name' is the length property of 'O', the [[Value]] field of 'desc' is less than value of the length property, test the [[Configurable]] attribute of own accessor property with large index named in 'O' that overrides an inherited data property can stop deleting index named properties (15.4.5.1 step 3.l.ii)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-176.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTE3Ny5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdPJyBpcyBhbiBBcnJheSwgJ25hbWUnIGlzIHRoZSBsZW5ndGggcHJvcGVydHkgb2YgJ08nLCB0aGUgW1tWYWx1ZV1dIGZpZWxkIG9mICdkZXNjJyBpcyBsZXNzIHRoYW4gdmFsdWUgb2YgIHRoZSBsZW5ndGggcHJvcGVydHksIHRlc3QgdGhlIFtbQ29uZmlndXJhYmxlXV0gYXR0cmlidXRlIG9mIG93biBhY2Nlc3NvciBwcm9wZXJ0eSB3aXRoIGxhcmdlIGluZGV4IG5hbWVkIGluICdPJyB0aGF0IG92ZXJyaWRlcyBhbiBpbmhlcml0ZWQgYWNjZXNzb3IgcHJvcGVydHkgY2FuIHN0b3AgZGVsZXRpbmcgaW5kZXggbmFtZWQgcHJvcGVydGllcyAoMTUuNC41LjEgc3RlcCAzLmwuaWkpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYXJyT2JqID0gWzAsIDFdOw0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyck9iaiwgIjEiLCB7DQogICAgICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgIHJldHVybiAxOw0KICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICANCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShBcnJheS5wcm90b3R5cGUsICIxIiwgew0KICAgICAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gMjsNCiAgICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnJPYmosICJsZW5ndGgiLCB7DQogICAgICAgICAgICAgICAgdmFsdWU6IDENCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFR5cGVFcnJvciAmJiBhcnJPYmoubGVuZ3RoID09PSAyICYmIGFyck9iai5oYXNPd25Qcm9wZXJ0eSgiMSIpOyANCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBBcnJheS5wcm90b3R5cGVbMV07DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'O' is an Array, 'name' is the length property of 'O', the [[Value]] field of 'desc' is less than value of the length property, test the [[Configurable]] attribute of own accessor property with large index named in 'O' that overrides an inherited accessor property can stop deleting index named properties (15.4.5.1 step 3.l.ii)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-177.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTE3OC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdPJyBpcyBhbiBBcnJheSwgJ25hbWUnIGlzIHRoZSBsZW5ndGggcHJvcGVydHkgb2YgJ08nLCB0aGUgW1tWYWx1ZV1dIGZpZWxkIG9mICdkZXNjJyBpcyBsZXNzIHRoYW4gdmFsdWUgb2YgIHRoZSBsZW5ndGggcHJvcGVydHksIHRlc3QgdGhlIGNvbmZpZ3VyYWJsZSBsYXJnZSBpbmRleCBuYW1lZCBwcm9wZXJ0eSBvZiAnTycgaXMgZGVsZXRlZCAoMTUuNC41LjEgc3RlcCAzLmwuaWkpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYXJyT2JqID0gWzAsIDFdOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnJPYmosICJsZW5ndGgiLCB7DQogICAgICAgICAgICB2YWx1ZTogMQ0KICAgICAgICB9KTsNCg0KICAgICAgICByZXR1cm4gIWFyck9iai5oYXNPd25Qcm9wZXJ0eSgiMSIpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'O' is an Array, 'name' is the length property of 'O', the [[Value]] field of 'desc' is less than value of the length property, test the configurable large index named property of 'O' is deleted (15.4.5.1 step 3.l.ii)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-178.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTE3OS0xLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnR5IC0gJ08nIGlzIGFuIEFycmF5LCAnbmFtZScgaXMgdGhlIGxlbmd0aCBwcm9wZXJ0eSBvZiAnTycsIHRoZSBbW1ZhbHVlXV0gZmllbGQgb2YgJ2Rlc2MnIGlzIGdyZWF0ZXIgdGhhbiB2YWx1ZSBvZiAgdGhlIGxlbmd0aCBwcm9wZXJ0eSwgdGVzdCB2YWx1ZSBvZiB0aGUgbGVuZ3RoIHByb3BlcnR5IGlzIHNhbWUgYXMgW1tWYWx1ZV1dICgxNS40LjUuMSBzdGVwIDMubC5paWkuMSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgYXJyT2JqID0gWzAsIDEsIDIsIDNdOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnJPYmosICIxIiwgew0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyT2JqLCAibGVuZ3RoIiwgew0KICAgICAgICAgICAgdmFsdWU6IDMNCiAgICAgICAgfSk7ICAgICAgICAgIA0KDQogICAgICAgIHJldHVybiBhcnJPYmoubGVuZ3RoID09PSAzOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'O' is an Array, 'name' is the length property of 'O', the [[Value]] field of 'desc' is greater than value of the length property, test value of the length property is same as [[Value]] (15.4.5.1 step 3.l.iii.1)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-179-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogU3RlcCA0IG9mIGRlZmluZVByb3BlcnR5IGNhbGxzIHRoZSBbW0RlZmluZU93blByb3BlcnR5XV0gaW50ZXJuYWwgbWV0aG9kDQogKiBvZiBPIHRvIGRlZmluZSB0aGUgcHJvcGVydHkuIEZvciBub24tY29uZmlndXJhYmxlIHByb3BlcnRpZXMsIHN0ZXAgMTEuYS5pDQogKiBvZiBbW0RlZmluZU93blByb3BlcnR5XV0gcmVqZWN0cyBjaGFuZ2luZyB0aGUgc2V0dGVyIGlmIHByZXNlbnQuDQogKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTE4LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnR5IHRocm93cyBUeXBlRXJyb3Igd2hlbiBjaGFuZ2luZyBzZXR0ZXIgb2Ygbm9uLWNvbmZpZ3VyYWJsZSBhY2Nlc3NvciBwcm9wZXJ0aWVzKDguMTIuOSBzdGVwIDExLmEuaSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgbyA9IHt9Ow0KDQogIC8vIGNyZWF0ZSBhbiBhY2Nlc3NvciBwcm9wZXJ0eTsgYWxsIG90aGVyIGF0dHJpYnV0ZXMgZGVmYXVsdCB0byBmYWxzZS4NCiAgLy8gZHVtbXkgZ2V0dGVyDQogIHZhciBnZXR0ZXIgPSBmdW5jdGlvbiAoKSB7IHJldHVybiAxO30NCiAgdmFyIGQxID0geyBnZXQ6IGdldHRlciB9Ow0KICBPYmplY3QuZGVmaW5lUHJvcGVydHkobywgImZvbyIsIGQxKTsNCg0KICAvLyBub3csIHRyeWluZyB0byBjaGFuZ2UgdGhlIHNldHRlciBzaG91bGQgZmFpbCwgc2luY2UgW1tDb25maWd1cmFibGVdXQ0KICAvLyBvbiB0aGUgb3JpZ2luYWwgcHJvcGVydHkgd2lsbCBiZSBmYWxzZS4NCiAgdmFyIHNldHRlciA9IGZ1bmN0aW9uICh4KSB7fTsNCiAgdmFyIGRlc2MgPSB7IHNldDogc2V0dGVyIH07DQoNCiAgdHJ5IHsNCiAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkobywgImZvbyIsIGRlc2MpOw0KICB9DQogIGNhdGNoIChlKSB7DQogICAgaWYgKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpIHsNCiAgICAgIC8vIHRoZSBwcm9wZXJ0eSBzaG91bGQgcmVtYWluIHVuY2hhbmdlZC4NCiAgICAgIHZhciBkMiA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IobywgImZvbyIpOw0KICAgICAgaWYgKGQyLmdldCA9PT0gZ2V0dGVyICYmDQoJICAgICAgZDIuY29uZmlndXJhYmxlID09PSBmYWxzZSAmJg0KICAgICAgICAgIGQyLmVudW1lcmFibGUgPT09IGZhbHNlKSB7DQogICAgICAgIHJldHVybiB0cnVlOw0KICAgICAgfQ0KICAgIH0NCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"Step 4 of defineProperty calls the [[DefineOwnProperty]] internal method\nof O to define the property. For non-configurable properties, step 11.a.i\nof [[DefineOwnProperty]] rejects changing the setter if present.","description":"Object.defineProperty throws TypeError when changing setter of non-configurable accessor properties(8.12.9 step 11.a.i)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-18.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTE4MS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdPJyBpcyBhbiBBcnJheSwgJ25hbWUnIGlzIHRoZSBsZW5ndGggcHJvcGVydHkgb2YgJ08nLCB0aGUgW1tWYWx1ZV1dIGZpZWxkIG9mICdkZXNjJyBpcyBsZXNzIHRoYW4gdmFsdWUgb2YgIHRoZSBsZW5ndGggcHJvcGVydHksIHRlc3QgdGhlIFtbV3JpdGFibGVdXSBhdHRyaWJ1dGUgb2YgdGhlIGxlbmd0aCBwcm9wZXJ0eSBpcyBzZXQgdG8gZmFsc2UgYXQgbGFzdCB3aGVuIHRoZSBbW1dyaXRhYmxlXV0gZmllbGQgb2YgJ2Rlc2MnIGlzIGZhbHNlIGFuZCAnTycgZG9lc24ndCBjb250YWluIG5vbi1jb25maWd1cmFibGUgbGFyZ2UgaW5kZXggbmFtZWQgcHJvcGVydHkgKDE1LjQuNS4xIHN0ZXAgMy5tKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFyck9iaiA9IFswLCAxXTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyT2JqLCAibGVuZ3RoIiwgew0KICAgICAgICAgICAgdmFsdWU6IDAsDQogICAgICAgICAgICB3cml0YWJsZTogZmFsc2UNCiAgICAgICAgfSk7DQogICAgICAgICAgICANCiAgICAgICAgYXJyT2JqLmxlbmd0aCA9IDEwOyAvL3RyeSB0byBvdmVyd3JpdGUgbGVuZ3RoIHZhbHVlIG9mIGFycg0KICAgICAgICByZXR1cm4gIWFyck9iai5oYXNPd25Qcm9wZXJ0eSgiMSIpICYmIGFyck9iai5sZW5ndGggPT09IDA7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - 'O' is an Array, 'name' is the length property of 'O', the [[Value]] field of 'desc' is less than value of the length property, test the [[Writable]] attribute of the length property is set to false at last when the [[Writable]] field of 'desc' is false and 'O' doesn't contain non-configurable large index named property (15.4.5.1 step 3.m)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-181.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTE4Mi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdPJyBpcyBhbiBBcnJheSwgJ25hbWUnIGlzIGFuIGFycmF5IGluZGV4IG5hbWVkIHByb3BlcnR5LCAnbmFtZScgaXMgYXZhaWxhYmxlIFN0cmluZyB2YWx1ZXMgdGhhdCBjb252ZXJ0IHRvIG51bWJlcnMgKDE1LjQuNS4xIHN0ZXAgNC5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFyck9iaiA9IFtdOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnJPYmosICIwIiwgew0KICAgICAgICAgICAgdmFsdWU6IDEyDQogICAgICAgIH0pOw0KDQogICAgICAgIHJldHVybiBhcnJPYmpbMF0gPT09IDEyOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'O' is an Array, 'name' is an array index named property, 'name' is available String values that convert to numbers (15.4.5.1 step 4.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-182.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTE4My5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdPJyBpcyBhbiBBcnJheSwgJ25hbWUnIGlzIGFuIGFycmF5IGluZGV4IG5hbWVkIHByb3BlcnR5LCAnbmFtZScgaXMgYm91bmRhcnkgdmFsdWUgMl4zMiAtIDIgKDE1LjQuNS4xIHN0ZXAgNC5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBhcnJPYmogPSBbXTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyT2JqLCA0Mjk0OTY3Mjk0LCB7DQogICAgICAgICAgICB2YWx1ZTogMTAwDQogICAgICAgIH0pOw0KDQogICAgICAgIHJldHVybiBhcnJPYmouaGFzT3duUHJvcGVydHkoIjQyOTQ5NjcyOTQiKSAmJiBhcnJPYmoubGVuZ3RoID09PSA0Mjk0OTY3Mjk1ICYmIGFyck9ials0Mjk0OTY3Mjk0XSA9PT0gMTAwOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'O' is an Array, 'name' is an array index named property, 'name' is boundary value 2^32 - 2 (15.4.5.1 step 4.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-183.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTE4NC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdPJyBpcyBhbiBBcnJheSwgJ25hbWUnIGlzIGFuIGFycmF5IGluZGV4IG5hbWVkIHByb3BlcnR5LCAnbmFtZScgaXMgYm91bmRhcnkgdmFsdWUgMl4zMiAtIDEgKDE1LjQuNS4xIHN0ZXAgNC5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBhcnJPYmogPSBbXTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyT2JqLCA0Mjk0OTY3Mjk1LCB7DQogICAgICAgICAgICB2YWx1ZTogMTAwDQogICAgICAgIH0pOw0KDQogICAgICAgIHJldHVybiBhcnJPYmouaGFzT3duUHJvcGVydHkoIjQyOTQ5NjcyOTUiKSAmJiBhcnJPYmoubGVuZ3RoID09PSAwICYmIGFyck9ials0Mjk0OTY3Mjk1XSA9PT0gMTAwOyA7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - 'O' is an Array, 'name' is an array index named property, 'name' is boundary value 2^32 - 1 (15.4.5.1 step 4.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-184.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTE4NS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdPJyBpcyBhbiBBcnJheSwgJ25hbWUnIGlzIGFuIGFycmF5IGluZGV4IG5hbWVkIHByb3BlcnR5LCAnbmFtZScgaXMgYm91bmRhcnkgdmFsdWUgMl4zMiAoMTUuNC41LjEgc3RlcCA0LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIGFyck9iaiA9IFtdOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnJPYmosIDQyOTQ5NjcyOTYsIHsNCiAgICAgICAgICAgIHZhbHVlOiAxMDANCiAgICAgICAgfSk7DQoNCiAgICAgICAgcmV0dXJuIGFyck9iai5oYXNPd25Qcm9wZXJ0eSgiNDI5NDk2NzI5NiIpICYmIGFyck9iai5sZW5ndGggPT09IDAgJiYgYXJyT2JqWzQyOTQ5NjcyOTZdID09PSAxMDA7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - 'O' is an Array, 'name' is an array index named property, 'name' is boundary value 2^32 (15.4.5.1 step 4.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-185.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTE4Ni5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdPJyBpcyBhbiBBcnJheSwgJ25hbWUnIGlzIGFuIGFycmF5IGluZGV4IG5hbWVkIHByb3BlcnR5LCAnbmFtZScgaXMgYm91bmRhcnkgdmFsdWUgMl4zMiArIDEgKDE1LjQuNS4xIHN0ZXAgNC5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBhcnJPYmogPSBbXTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyT2JqLCA0Mjk0OTY3Mjk3LCB7DQogICAgICAgICAgICB2YWx1ZTogMTAwDQogICAgICAgIH0pOw0KDQogICAgICAgIHJldHVybiBhcnJPYmouaGFzT3duUHJvcGVydHkoIjQyOTQ5NjcyOTciKSAmJiBhcnJPYmoubGVuZ3RoID09PSAwICYmIGFyck9ials0Mjk0OTY3Mjk3XSA9PT0gMTAwOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'O' is an Array, 'name' is an array index named property, 'name' is boundary value 2^32 + 1 (15.4.5.1 step 4.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-186.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTE4Ny5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdPJyBpcyBhbiBBcnJheSwgJ25hbWUnIGlzIGFuIGFycmF5IGluZGV4IG5hbWVkIHByb3BlcnR5LCB0ZXN0IFR5cGVFcnJvciBpcyBub3QgdGhyb3duIGlmIHRoZSBbW1dyaXRhYmxlXV0gYXR0cmlidXRlIG9mIHRoZSBsZW5ndGggcHJvcGVydHkgaW4gJ08nIGlzIGZhbHNlIGFuZCB2YWx1ZSBvZiAnbmFtZScgaXMgbGVzcyB0aGFuIHZhbHVlIG9mIHRoZSBsZW5ndGggcHJvcGVydHkgKDE1LjQuNS4xIHN0ZXAgNC5iKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBhcnJPYmogPSBbMSwgMiwgM107DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyck9iaiwgImxlbmd0aCIsIHsNCiAgICAgICAgICAgIHdyaXRhYmxlOiBmYWxzZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyck9iaiwgMSwgew0KICAgICAgICAgICAgICAgIHZhbHVlOiAiYWJjIg0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgIHJldHVybiB0cnVlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'O' is an Array, 'name' is an array index named property, test TypeError is not thrown if the [[Writable]] attribute of the length property in 'O' is false and value of 'name' is less than value of the length property (15.4.5.1 step 4.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-187.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTE4OC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdPJyBpcyBhbiBBcnJheSwgJ25hbWUnIGlzIGFuIGFycmF5IGluZGV4IG5hbWVkIHByb3BlcnR5LCB0ZXN0IFR5cGVFcnJvciBpcyB0aHJvd24gaWYgdGhlIFtbV3JpdGFibGVdXSBhdHRyaWJ1dGUgb2YgdGhlIGxlbmd0aCBwcm9wZXJ0eSBpbiAnTycgaXMgZmFsc2UgYW5kIHZhbHVlIG9mICduYW1lJyBlcXVhbHMgdG8gdmFsdWUgb2YgdGhlIGxlbmd0aCBwcm9wZXJ0eSAoMTUuNC41LjEgc3RlcCA0LmIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIGFyck9iaiA9IFsxLCAyLCAzXTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyT2JqLCAibGVuZ3RoIiwgew0KICAgICAgICAgICAgd3JpdGFibGU6IGZhbHNlDQogICAgICAgIH0pOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyT2JqLCAzLCB7DQogICAgICAgICAgICAgICAgdmFsdWU6ICJhYmMiDQogICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFR5cGVFcnJvcjsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'O' is an Array, 'name' is an array index named property, test TypeError is thrown if the [[Writable]] attribute of the length property in 'O' is false and value of 'name' equals to value of the length property (15.4.5.1 step 4.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-188.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTE4OS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdPJyBpcyBhbiBBcnJheSwgJ25hbWUnIGlzIGFuIGFycmF5IGluZGV4IG5hbWVkIHByb3BlcnR5LCB0ZXN0IFR5cGVFcnJvciBpcyB0aHJvd24gaWYgdGhlIFtbV3JpdGFibGVdXSBhdHRyaWJ1dGUgb2YgdGhlIGxlbmd0aCBwcm9wZXJ0eSBpbiAnTycgaXMgZmFsc2UgYW5kIHZhbHVlIG9mICduYW1lJyBpcyBncmVhdGVyIHRoYW4gdmFsdWUgb2YgdGhlIGxlbmd0aCBwcm9wZXJ0eSAoMTUuNC41LjEgc3RlcCA0LmIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIGFyck9iaiA9IFsxLCAyLCAzXTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyT2JqLCAibGVuZ3RoIiwgew0KICAgICAgICAgICAgd3JpdGFibGU6IGZhbHNlDQogICAgICAgIH0pOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyT2JqLCA0LCB7DQogICAgICAgICAgICAgICAgdmFsdWU6ICJhYmMiDQogICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFR5cGVFcnJvcjsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'O' is an Array, 'name' is an array index named property, test TypeError is thrown if the [[Writable]] attribute of the length property in 'O' is false and value of 'name' is greater than value of the length property (15.4.5.1 step 4.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-189.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogU3RlcCA0IG9mIGRlZmluZVByb3BlcnR5IGNhbGxzIHRoZSBbW0RlZmluZU93blByb3BlcnR5XV0gaW50ZXJuYWwgbWV0aG9kDQogKiBvZiBPIHRvIGRlZmluZSB0aGUgcHJvcGVydHkuIEZvciBub24tY29uZmlndXJhYmxlIHByb3BlcnRpZXMsIHN0ZXAgMTEuYS5pDQogKiBvZiBbW0RlZmluZU93blByb3BlcnR5XV0gcGVybWl0cyBzZXR0aW5nIGEgc2V0dGVyIChpZiBhYnNlbnQpLg0KICoNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0xOS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSBwZXJtaXRzIHNldHRpbmcgYSBzZXR0ZXIgKGlmIGFic2VudCkgb2Ygbm9uLWNvbmZpZ3VyYWJsZSBhY2Nlc3NvciBwcm9wZXJ0aWVzKDguMTIuOSBzdGVwIDEwLmEuaWkuMSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgbyA9IHt9Ow0KDQogIC8vIGNyZWF0ZSBhbiBhY2Nlc3NvciBwcm9wZXJ0eTsgYWxsIG90aGVyIGF0dHJpYnV0ZXMgZGVmYXVsdCB0byBmYWxzZS4NCiAgLy8gZHVtbXkgZ2V0dGVyDQogIHZhciBnZXR0ZXIgPSBmdW5jdGlvbiAoKSB7IHJldHVybiAxO30NCiAgdmFyIGQxID0geyBnZXQ6IGdldHRlciB9Ow0KICBPYmplY3QuZGVmaW5lUHJvcGVydHkobywgImZvbyIsIGQxKTsNCg0KICAvLyBub3csIHRyeWluZyB0byBzZXQgdGhlIHNldHRlciBzaG91bGQgc3VjY2VlZCBldmVuIHRob3VnaCBbW0NvbmZpZ3VyYWJsZV1dDQogIC8vIG9uIHRoZSBvcmlnaW5hbCBwcm9wZXJ0eSB3aWxsIGJlIGZhbHNlLg0KICB2YXIgZGVzYyA9IHsgc2V0OiB1bmRlZmluZWQgfTsNCiAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG8sICJmb28iLCBkZXNjKTsNCg0KICB2YXIgZDIgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG8sICJmb28iKTsNCg0KICBpZiAoZDIuZ2V0ID09PSBnZXR0ZXIgJiYNCgkgIGQyLnNldCA9PT0gdW5kZWZpbmVkICYmDQoJICBkMi5jb25maWd1cmFibGUgPT09IGZhbHNlICYmDQoJICBkMi5lbnVtZXJhYmxlID09PSBmYWxzZSkgew0KCXJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"Step 4 of defineProperty calls the [[DefineOwnProperty]] internal method\nof O to define the property. For non-configurable properties, step 11.a.i\nof [[DefineOwnProperty]] permits setting a setter (if absent).","description":"Object.defineProperty permits setting a setter (if absent) of non-configurable accessor properties(8.12.9 step 10.a.ii.1)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-19.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTE5MC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdPJyBpcyBhbiBBcnJheSwgJ25hbWUnIGlzIGFuIGFycmF5IGluZGV4IG5hbWVkIHByb3BlcnR5LCAnbmFtZScgaXMgb3duIGRhdGEgcHJvcGVydHksIHRlc3QgVHlwZUVycm9yIGlzIHRocm93biBvbiB1cGRhdGluZyB0aGUgY29uZmlndXJhYmxlIGF0dHJpYnV0ZSBmcm9tIGZhbHNlIHRvIHRydWUgKDE1LjQuNS4xIHN0ZXAgNC5jKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBhcnJPYmogPSBbXTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyck9iaiwgMCwgew0KICAgICAgICAgICAgdmFsdWU6ICJvd25EYXRhUHJvcGVydHkiLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyck9iaiwgMCwgew0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiBlIGluc3RhbmNlb2YgVHlwZUVycm9yICYmDQogICAgICAgICAgICAgICAgZGF0YVByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3QoYXJyT2JqLCAiMCIsICJvd25EYXRhUHJvcGVydHkiLCBmYWxzZSwgZmFsc2UsIGZhbHNlKTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'O' is an Array, 'name' is an array index named property, 'name' is own data property, test TypeError is thrown on updating the configurable attribute from false to true (15.4.5.1 step 4.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-190.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTE5MS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdPJyBpcyBhbiBBcnJheSwgJ25hbWUnIGlzIGFuIGFycmF5IGluZGV4IG5hbWVkIHByb3BlcnR5LCAnbmFtZScgaXMgYW4gaW5oZXJpdGVkIGRhdGEgcHJvcGVydHksIHRlc3QgdGhhdCBkZWZpbmluZyBvd24gaW5kZXggbmFtZWQgcHJvcGVydHkgaXMgc3VjY2Vzc2Z1bCAoMTUuNC41LjEgc3RlcCA0LmMpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShBcnJheS5wcm90b3R5cGUsICIwIiwgew0KICAgICAgICAgICAgICAgIHZhbHVlOiAxMSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICB2YXIgYXJyT2JqID0gW107DQoNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnJPYmosICIwIiwgew0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgcmV0dXJuIGFyck9iai5oYXNPd25Qcm9wZXJ0eSgiMCIpICYmIEFycmF5LnByb3RvdHlwZVswXSA9PT0gMTEgJiYgdHlwZW9mIGFyck9ialswXSA9PT0gInVuZGVmaW5lZCI7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgQXJyYXkucHJvdG90eXBlWzBdOw0KICAgICAgICB9DQoNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'O' is an Array, 'name' is an array index named property, 'name' is an inherited data property, test that defining own index named property is successful (15.4.5.1 step 4.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-191.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTE5Mi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdPJyBpcyBhbiBBcnJheSwgJ25hbWUnIGlzIGFuIGFycmF5IGluZGV4IG5hbWVkIHByb3BlcnR5LCAnbmFtZScgaXMgb3duIGRhdGEgcHJvcGVydHkgdGhhdCBvdmVycmlkZXMgYW4gaW5oZXJpdGVkIGRhdGEgcHJvcGVydHksIHRlc3QgVHlwZUVycm9yIGlzIHRocm93biBvbiB1cGRhdGluZyB0aGUgW1tDb25maWd1cmFibGVdXSBhdHRyaWJ1dGUgZnJvbSBmYWxzZSB0byB0cnVlICgxNS40LjUuMSBzdGVwIDQuYykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KEFycmF5LnByb3RvdHlwZSwgIjAiLCB7DQogICAgICAgICAgICAgICAgdmFsdWU6IDExLA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgIHZhciBhcnJPYmogPSBbXTsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnJPYmosICIwIiwgew0KICAgICAgICAgICAgICAgIHZhbHVlOiAxMiwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgICAgICB9KTsNCiAgICAgICANCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnJPYmosICIwIiwgew0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiBlIGluc3RhbmNlb2YgVHlwZUVycm9yICYmIEFycmF5LnByb3RvdHlwZVswXSA9PT0gMTEgJiYgYXJyT2JqWzBdID09PSAxMjsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBBcnJheS5wcm90b3R5cGVbMF07DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'O' is an Array, 'name' is an array index named property, 'name' is own data property that overrides an inherited data property, test TypeError is thrown on updating the [[Configurable]] attribute from false to true (15.4.5.1 step 4.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-192.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTE5My5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdPJyBpcyBhbiBBcnJheSwgJ25hbWUnIGlzIGFuIGFycmF5IGluZGV4IG5hbWVkIHByb3BlcnR5LCAnbmFtZScgaXMgb3duIGRhdGEgcHJvcGVydHkgdGhhdCBvdmVycmlkZXMgYW4gaW5oZXJpdGVkIGFjY2Vzc29yIHByb3BlcnR5LCB0ZXN0IFR5cGVFcnJvciBpcyB0aHJvd24gd2hlbiB1cGRhdGUgdGhlIFtbQ29uZmlndXJhYmxlXV0gYXR0cmlidXRlIHRvIHRydWUgYW5kIHZhbHVlIG9mIFtbQ29uZmlndXJhYmxlXV0gYXR0cmlidXRlIG9mIG9yaWdpbmFsIGlzIGZhbHNlICAoMTUuNC41LjEgc3RlcCA0LmMpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShBcnJheS5wcm90b3R5cGUsICIwIiwgew0KICAgICAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gMTE7DQogICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICB2YXIgYXJyT2JqID0gW107DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyT2JqLCAiMCIsIHsNCiAgICAgICAgICAgICAgICB2YWx1ZTogMTIsDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnJPYmosICIwIiwgew0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiBlIGluc3RhbmNlb2YgVHlwZUVycm9yICYmIEFycmF5LnByb3RvdHlwZVswXSA9PT0gMTEgJiYgYXJyT2JqWzBdID09PSAxMjsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBBcnJheS5wcm90b3R5cGVbMF07DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'O' is an Array, 'name' is an array index named property, 'name' is own data property that overrides an inherited accessor property, test TypeError is thrown when update the [[Configurable]] attribute to true and value of [[Configurable]] attribute of original is false (15.4.5.1 step 4.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-193.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTE5NC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdPJyBpcyBhbiBBcnJheSwgJ25hbWUnIGlzIGFuIGFycmF5IGluZGV4IG5hbWVkIHByb3BlcnR5LCAnbmFtZScgaXMgb3duIGFjY2Vzc29yIHByb3BlcnR5LCB0ZXN0IFR5cGVFcnJvciBpcyB0aHJvd24gb24gdXBkYXRpbmcgdGhlIGNvbmZpZ3VyYWJsZSBhdHRyaWJ1dGUgZnJvbSBmYWxzZSB0byB0cnVlICgxNS40LjUuMSBzdGVwIDQuYykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgYXJyT2JqID0gW107DQogICAgICAgIHZhciBnZXRGdW5jID0gZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgcmV0dXJuIDExOw0KICAgICAgICB9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnJPYmosICIwIiwgew0KICAgICAgICAgICAgZ2V0OiBnZXRGdW5jLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyck9iaiwgIjAiLCB7DQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IgJiYNCiAgICAgICAgICAgICAgICBhY2Nlc3NvclByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3QoYXJyT2JqLCAiMCIsIGdldEZ1bmMsIHVuZGVmaW5lZCwgdW5kZWZpbmVkLCBmYWxzZSwgZmFsc2UpOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - 'O' is an Array, 'name' is an array index named property, 'name' is own accessor property, test TypeError is thrown on updating the configurable attribute from false to true (15.4.5.1 step 4.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-194.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTE5NS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdPJyBpcyBhbiBBcnJheSwgJ25hbWUnIGlzIGFuIGFycmF5IGluZGV4IG5hbWVkIHByb3BlcnR5LCAnbmFtZScgaXMgYW4gaW5oZXJpdGVkIGFjY2Vzc29yIHByb3BlcnR5ICgxNS40LjUuMSBzdGVwIDQuYykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KEFycmF5LnByb3RvdHlwZSwgIjAiLCB7DQogICAgICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgIHJldHVybiAxMTsNCiAgICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgIHZhciBhcnJPYmogPSBbXTsNCg0KICAgICAgICAgICAgZnVuY3Rpb24gZ2V0RnVuYygpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gYXJyT2JqLmhlbHBWZXJpZnlTZXQ7DQogICAgICAgICAgICB9DQogICAgICAgICAgICBmdW5jdGlvbiBzZXRGdW5jKHZhbHVlKSB7DQogICAgICAgICAgICAgICAgYXJyT2JqLmhlbHBWZXJpZnlTZXQgPSB2YWx1ZTsNCiAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyck9iaiwgIjAiLCB7DQogICAgICAgICAgICAgICAgZ2V0OiBnZXRGdW5jLA0KICAgICAgICAgICAgICAgIHNldDogc2V0RnVuYywNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgYXJyT2JqWzBdID0gMTM7DQoNCiAgICAgICAgICAgIHJldHVybiBhY2Nlc3NvclByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3QoYXJyT2JqLCAiMCIsIGdldEZ1bmMsIHNldEZ1bmMsICJoZWxwVmVyaWZ5U2V0IiwgZmFsc2UsIGZhbHNlKTsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBBcnJheS5wcm90b3R5cGVbMF07DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'O' is an Array, 'name' is an array index named property, 'name' is an inherited accessor property (15.4.5.1 step 4.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-195.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTE5Ni5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdPJyBpcyBhbiBBcnJheSwgJ25hbWUnIGlzIGFuIGFycmF5IGluZGV4IG5hbWVkIHByb3BlcnR5LCAnbmFtZScgaXMgb3duIGFjY2Vzc29yIHByb3BlcnR5IHRoYXQgb3ZlcnJpZGVzIGFuIGluaGVyaXRlZCBkYXRhIHByb3BlcnR5ICgxNS40LjUuMSBzdGVwIDQuYykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KEFycmF5LnByb3RvdHlwZSwgIjAiLCB7DQogICAgICAgICAgICAgICAgdmFsdWU6IDExLA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgIHZhciBhcnJPYmogPSBbXTsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnJPYmosICIwIiwgew0KICAgICAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgeyB9LA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyT2JqLCAiMCIsIHsNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFR5cGVFcnJvcjsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBBcnJheS5wcm90b3R5cGVbMF07DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'O' is an Array, 'name' is an array index named property, 'name' is own accessor property that overrides an inherited data property (15.4.5.1 step 4.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-196.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTE5Ny5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdPJyBpcyBhbiBBcnJheSwgJ25hbWUnIGlzIGFuIGFycmF5IGluZGV4IG5hbWVkIHByb3BlcnR5LCAnbmFtZScgaXMgb3duIGFjY2Vzc29yIHByb3BlcnR5IHRoYXQgb3ZlcnJpZGVzIGFuIGluaGVyaXRlZCBhY2Nlc3NvciBwcm9wZXJ0eSAoMTUuNC41LjEgc3RlcCA0LmMpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShBcnJheS5wcm90b3R5cGUsICIwIiwgew0KICAgICAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgeyB9LA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgIHZhciBhcnJPYmogPSBbXTsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnJPYmosICIwIiwgew0KICAgICAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgeyB9LA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyT2JqLCAiMCIsIHsNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFR5cGVFcnJvcjsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBBcnJheS5wcm90b3R5cGVbMF07DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'O' is an Array, 'name' is an array index named property, 'name' is own accessor property that overrides an inherited accessor property (15.4.5.1 step 4.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-197.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTE5OC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdPJyBpcyBhbiBBcnJheSwgJ25hbWUnIGlzIGFuIGFycmF5IGluZGV4IG5hbWVkIHByb3BlcnR5LCAnbmFtZScgcHJvcGVydHkgZG9lc24ndCBleGlzdCBpbiAnTycsIHRlc3QgVHlwZUVycm9yIGlzIHRocm93biB3aGVuICdPJyBpcyBub3QgZXh0ZW5zaWJsZSAoMTUuNC41LjEgc3RlcCA0LmMpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIGFyck9iaiA9IFtdOw0KICAgICAgICBPYmplY3QucHJldmVudEV4dGVuc2lvbnMoYXJyT2JqKTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgdmFyIGRlc2MgPSB7IHZhbHVlOiAxIH07DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyT2JqLCAiMCIsIGRlc2MpOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFR5cGVFcnJvciAmJiAoYXJyT2JqLmhhc093blByb3BlcnR5KCIwIikgPT09IGZhbHNlKTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'O' is an Array, 'name' is an array index named property, 'name' property doesn't exist in 'O', test TypeError is thrown when 'O' is not extensible (15.4.5.1 step 4.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-198.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTE5OS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdPJyBpcyBhbiBBcnJheSwgJ25hbWUnIGlzIGFuIGFycmF5IGluZGV4IG5hbWVkIHByb3BlcnR5LCAnbmFtZScgcHJvcGVydHkgZG9lc24ndCBleGlzdCBpbiAnTycsIHRlc3QgJ25hbWUnIGlzIGRlZmluZWQgYXMgZGF0YSBwcm9wZXJ0eSB3aGVuICdkZXNjJyBpcyBnZW5lcmljIGRlc2NyaXB0b3IgKDE1LjQuNS4xIHN0ZXAgNC5jKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBhcnJPYmogPSBbXTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyT2JqLCAiMCIsIHsNCiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgcmV0dXJuIGRhdGFQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KGFyck9iaiwgIjAiLCB1bmRlZmluZWQsIGZhbHNlLCB0cnVlLCBmYWxzZSk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - 'O' is an Array, 'name' is an array index named property, 'name' property doesn't exist in 'O', test 'name' is defined as data property when 'desc' is generic descriptor (15.4.5.1 step 4.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-199.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogU3RlcCA0IG9mIGRlZmluZVByb3BlcnR5IGNhbGxzIHRoZSBbW0RlZmluZU93blByb3BlcnR5XV0gaW50ZXJuYWwgbWV0aG9kDQogKiBvZiBPIHRvIGRlZmluZSB0aGUgcHJvcGVydHkuIEZvciBuZXdseSBkZWZpbmVkIGRhdGEgcHJvcGVydGllcywgYXR0cmlidXRlcw0KICogbWlzc2luZyBmcm9tIGRlc2Mgc2hvdWxkIGhhdmUgdmFsdWVzIHNldCB0byB0aGUgZGVmYXVsdHMgZnJvbSA4LjYuMS4NCiAqDQogKiBAcGF0aCBjaDE1LzE1LjIvMTUuMi4zLzE1LjIuMy42LzE1LjIuMy42LTQtMi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSBzZXRzIG1pc3NpbmcgYXR0cmlidXRlcyB0byB0aGVpciBkZWZhdWx0IHZhbHVlcyAoZGF0YSBwcm9wZXJ0aWVzKSg4LjEyLjkgc3RlcCA0LmEuaSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgbyA9IHt9Ow0KDQogIHZhciBkZXNjID0geyB2YWx1ZTogMSB9Ow0KICBPYmplY3QuZGVmaW5lUHJvcGVydHkobywgImZvbyIsIGRlc2MpOw0KICANCiAgdmFyIHByb3BEZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvLCAiZm9vIik7DQogIA0KICBpZiAocHJvcERlc2MudmFsdWUgICAgICAgID09PSAxICYmICAgICAgICAgIC8vIHRoaXMgaXMgdGhlIHZhbHVlIHRoYXQgd2FzIHNldA0KICAgICAgcHJvcERlc2Mud3JpdGFibGUgICAgID09PSBmYWxzZSAmJiAgICAgIC8vIGZhbHNlIGJ5IGRlZmF1bHQNCiAgICAgIHByb3BEZXNjLmVudW1lcmFibGUgICA9PT0gZmFsc2UgJiYgICAgICAvLyBmYWxzZSBieSBkZWZhdWx0DQogICAgICBwcm9wRGVzYy5jb25maWd1cmFibGUgPT09IGZhbHNlKSB7ICAgICAgLy8gZmFsc2UgYnkgZGVmYXVsdA0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"Step 4 of defineProperty calls the [[DefineOwnProperty]] internal method\nof O to define the property. For newly defined data properties, attributes\nmissing from desc should have values set to the defaults from 8.6.1.","description":"Object.defineProperty sets missing attributes to their default values (data properties)(8.12.9 step 4.a.i)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogU3RlcCA0IG9mIGRlZmluZVByb3BlcnR5IGNhbGxzIHRoZSBbW0RlZmluZU93blByb3BlcnR5XV0gaW50ZXJuYWwgbWV0aG9kDQogKiBvZiBPIHRvIGRlZmluZSB0aGUgcHJvcGVydHkuIEZvciBub24tY29uZmlndXJhYmxlIHByb3BlcnRpZXMsIHN0ZXAgMTEuYS5paQ0KICogb2YgW1tEZWZpbmVPd25Qcm9wZXJ0eV1dIHJlamVjdHMgY2hhbmdpbmcgdGhlIGdldHRlciBpZiBwcmVzZW50Lg0KICoNCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvMTUuMi4zLjYtNC0yMC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSB0aHJvd3MgVHlwZUVycm9yIHdoZW4gY2hhbmdpbmcgZ2V0dGVyIChpZiBwcmVzZW50KSBvZiBub24tY29uZmlndXJhYmxlIGFjY2Vzc29yIHByb3BlcnRpZXMoOC4xMi45IHN0ZXAgMTEuYS5paSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgbyA9IHt9Ow0KDQogIC8vIGNyZWF0ZSBhbiBhY2Nlc3NvciBwcm9wZXJ0eTsgYWxsIG90aGVyIGF0dHJpYnV0ZXMgZGVmYXVsdCB0byBmYWxzZS4NCiAgLy8gZHVtbXkgZ2V0dGVyL3NldHRlcg0KICB2YXIgZ2V0dGVyID0gZnVuY3Rpb24gKCkgeyByZXR1cm4gMTt9DQogIHZhciBkMSA9IHsgZ2V0OiBnZXR0ZXIsIGNvbmZpZ3VyYWJsZTogZmFsc2UgfTsNCiAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG8sICJmb28iLCBkMSk7DQoNCiAgLy8gbm93LCB0cnlpbmcgdG8gY2hhbmdlIHRoZSBzZXR0ZXIgc2hvdWxkIGZhaWwsIHNpbmNlIFtbQ29uZmlndXJhYmxlXV0NCiAgLy8gb24gdGhlIG9yaWdpbmFsIHByb3BlcnR5IHdpbGwgYmUgZmFsc2UuDQogIHZhciBkZXNjID0geyBnZXQ6IHVuZGVmaW5lZCB9Ow0KDQogIHRyeSB7DQogICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG8sICJmb28iLCBkZXNjKTsNCiAgfQ0KICBjYXRjaCAoZSkgew0KICAgIGlmIChlIGluc3RhbmNlb2YgVHlwZUVycm9yKSB7DQogICAgICB2YXIgZDIgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG8sICJmb28iKTsNCg0KICAgICAgaWYgKGQyLmdldCA9PT0gZ2V0dGVyICYmDQoJICAgICAgZDIuY29uZmlndXJhYmxlID09PSBmYWxzZSAmJg0KICAgICAgICAgIGQyLmVudW1lcmFibGUgPT09IGZhbHNlKSB7DQogICAgICAgIHJldHVybiB0cnVlOw0KICAgICAgfQ0KICAgIH0NCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"Step 4 of defineProperty calls the [[DefineOwnProperty]] internal method\nof O to define the property. For non-configurable properties, step 11.a.ii\nof [[DefineOwnProperty]] rejects changing the getter if present.","description":"Object.defineProperty throws TypeError when changing getter (if present) of non-configurable accessor properties(8.12.9 step 11.a.ii)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-20.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTIwMC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdPJyBpcyBhbiBBcnJheSwgJ25hbWUnIGlzIGFuIGFycmF5IGluZGV4IG5hbWVkIHByb3BlcnR5LCAnbmFtZScgcHJvcGVydHkgZG9lc24ndCBleGlzdCBpbiAnTycsIHRlc3QgW1tWYWx1ZV1dIG9mICduYW1lJyBwcm9wZXJ0eSBvZiAnQXR0cmlidXRlcycgaXMgc2V0IGFzIHVuZGVmaW5lZCBpZiBbW1ZhbHVlXV0gaXMgYWJzZW50IGluIGRhdGEgZGVzY3JpcHRvciAnZGVzYycgKDE1LjQuNS4xIHN0ZXAgNC5jKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBhcnJPYmogPSBbXTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyT2JqLCAiMCIsIHsNCiAgICAgICAgICAgIHdyaXRhYmxlOiB0cnVlLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgfSk7DQoNCiAgICAgICAgcmV0dXJuIGRhdGFQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KGFyck9iaiwgIjAiLCB1bmRlZmluZWQsIHRydWUsIHRydWUsIGZhbHNlKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'O' is an Array, 'name' is an array index named property, 'name' property doesn't exist in 'O', test [[Value]] of 'name' property of 'Attributes' is set as undefined if [[Value]] is absent in data descriptor 'desc' (15.4.5.1 step 4.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-200.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTIwMS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdPJyBpcyBhbiBBcnJheSwgJ25hbWUnIGlzIGFuIGFycmF5IGluZGV4IG5hbWVkIHByb3BlcnR5LCAnbmFtZScgcHJvcGVydHkgZG9lc24ndCBleGlzdCBpbiAnTycgYW5kIFtbV3JpdGFibGVdXSBpcyBhYnNlbnQgaW4gZGF0YSBkZXNjcmlwdG9yICdkZXNjJywgdGVzdCBbW1dyaXRhYmxlXV0gYXR0cmlidXRlIG9mICBwcm9wZXJ0eSAnbmFtZScgaXMgc2V0IHRvIGZhbHNlICgxNS40LjUuMSBzdGVwIDQuYykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgYXJyT2JqID0gW107DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyck9iaiwgIjAiLCB7DQogICAgICAgICAgICB2YWx1ZTogMTAwMSwNCiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgIH0pOw0KICAgICAgICByZXR1cm4gZGF0YVByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3QoYXJyT2JqLCAiMCIsIDEwMDEsIGZhbHNlLCB0cnVlLCBmYWxzZSk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - 'O' is an Array, 'name' is an array index named property, 'name' property doesn't exist in 'O' and [[Writable]] is absent in data descriptor 'desc', test [[Writable]] attribute of property 'name' is set to false (15.4.5.1 step 4.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-201.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTIwMi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdPJyBpcyBhbiBBcnJheSwgJ25hbWUnIGlzIGFuIGFycmF5IGluZGV4IG5hbWVkIHByb3BlcnR5LCAnbmFtZScgcHJvcGVydHkgZG9lc24ndCBleGlzdCBpbiAnTycgYW5kIFtbRW51bWVyYWJsZV1dIGlzIGFic2VudCBpbiBkYXRhIGRlc2NyaXB0b3IgJ2Rlc2MnLCB0ZXN0IFtbRW51bWVyYWJsZV1dIG9mIHByb3BlcnR5ICduYW1lJyBpcyBzZXQgdG8gZmFsc2UgKDE1LjQuNS4xIHN0ZXAgNC5jKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBhcnJPYmogPSBbXTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyT2JqLCAiMCIsIHsNCiAgICAgICAgICAgIHZhbHVlOiAxMDAxLA0KICAgICAgICAgICAgd3JpdGFibGU6IHRydWUsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQogICAgICAgIHJldHVybiBkYXRhUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChhcnJPYmosICIwIiwgMTAwMSwgdHJ1ZSwgZmFsc2UsIHRydWUpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'O' is an Array, 'name' is an array index named property, 'name' property doesn't exist in 'O' and [[Enumerable]] is absent in data descriptor 'desc', test [[Enumerable]] of property 'name' is set to false (15.4.5.1 step 4.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-202.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTIwMy5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdPJyBpcyBhbiBBcnJheSwgJ25hbWUnIGlzIGFuIGFycmF5IGluZGV4IG5hbWVkIHByb3BlcnR5LCAnbmFtZScgcHJvcGVydHkgZG9lc24ndCBleGlzdCBpbiAnTycgYW5kIFtbQ29uZmlndXJhYmxlXV0gaXMgYWJzZW50IGluIGRhdGEgZGVzY3JpcHRvciAnZGVzYycsIHRlc3QgW1tDb25maWd1cmFibGVdXSBvZiBwcm9wZXJ0eSAnbmFtZScgaXMgc2V0IHRvIGZhbHNlICgxNS40LjUuMSBzdGVwIDQuYykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgYXJyT2JqID0gW107DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyck9iaiwgIjAiLCB7DQogICAgICAgICAgICB2YWx1ZTogMTAwMSwNCiAgICAgICAgICAgIHdyaXRhYmxlOiB0cnVlLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCiAgICAgICAgcmV0dXJuIGRhdGFQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KGFyck9iaiwgIjAiLCAxMDAxLCB0cnVlLCB0cnVlLCBmYWxzZSk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - 'O' is an Array, 'name' is an array index named property, 'name' property doesn't exist in 'O' and [[Configurable]] is absent in data descriptor 'desc', test [[Configurable]] of property 'name' is set to false (15.4.5.1 step 4.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-203.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTIwNC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdPJyBpcyBhbiBBcnJheSwgJ25hbWUnIGlzIGFuIGFycmF5IGluZGV4IG5hbWVkIHByb3BlcnR5LCAnZGVzYycgaXMgZGF0YSBkZXNjcmlwdG9yLCB0ZXN0IHVwZGF0aW5nIGFsbCBhdHRyaWJ1dGUgdmFsdWVzIG9mICduYW1lJyAoMTUuNC41LjEgc3RlcCA0LmMpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIGFyck9iaiA9IFsxXTsgLy8gZGVmYXVsdCB2YWx1ZSBvZiBhdHRyaWJ1dGVzOiB3cml0YWJsZTogdHJ1ZSwgY29uZmlndXJhYmxlOiB0cnVlLCBlbnVtZXJhYmxlOiB0cnVlDQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyck9iaiwgIjAiLCB7DQogICAgICAgICAgICB2YWx1ZTogMTAwMSwNCiAgICAgICAgICAgIHdyaXRhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgIGVudW1lcmFibGU6IGZhbHNlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICB9KTsNCg0KICAgICAgICByZXR1cm4gZGF0YVByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3QoYXJyT2JqLCAiMCIsIDEwMDEsIGZhbHNlLCBmYWxzZSwgZmFsc2UpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'O' is an Array, 'name' is an array index named property, 'desc' is data descriptor, test updating all attribute values of 'name' (15.4.5.1 step 4.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-204.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTIwNS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdPJyBpcyBhbiBBcnJheSwgJ25hbWUnIGlzIGFuIGFycmF5IGluZGV4IG5hbWVkIHByb3BlcnR5LCAnbmFtZScgcHJvcGVydHkgZG9lc24ndCBleGlzdCBpbiAnTycgYW5kIFtbR2V0XV0gaXMgYWJzZW50IGluIGFjY2Vzc29yIGRlc2NyaXB0b3IgJ2Rlc2MnLCB0ZXN0IFtbR2V0XV0gYXR0cmlidXRlIG9mIHByb3BlcnR5ICduYW1lJyBpcyBzZXQgdG8gdW5kZWZpbmVkICgxNS40LjUuMSBzdGVwIDQuYykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgYXJyT2JqID0gW107DQogICAgICAgIHZhciBzZXRGdW5jID0gZnVuY3Rpb24gKHZhbHVlKSB7DQogICAgICAgICAgICBhcnJPYmouc2V0VmVyaWZ5SGVscFByb3AgPSB2YWx1ZTsNCiAgICAgICAgfTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyT2JqLCAiMCIsIHsNCiAgICAgICAgICAgIHNldDogc2V0RnVuYywNCiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgcmV0dXJuIGFjY2Vzc29yUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChhcnJPYmosICIwIiwgdW5kZWZpbmVkLCBzZXRGdW5jLCAic2V0VmVyaWZ5SGVscFByb3AiLCB0cnVlLCB0cnVlKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'O' is an Array, 'name' is an array index named property, 'name' property doesn't exist in 'O' and [[Get]] is absent in accessor descriptor 'desc', test [[Get]] attribute of property 'name' is set to undefined (15.4.5.1 step 4.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-205.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTIwNi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdPJyBpcyBhbiBBcnJheSwgJ25hbWUnIGlzIGFuIGFycmF5IGluZGV4IG5hbWVkIHByb3BlcnR5LCAnbmFtZScgcHJvcGVydHkgZG9lc24ndCBleGlzdCBpbiAnTycsIHRlc3QgW1tTZXRdXSBvZiAnbmFtZScgcHJvcGVydHkgaW4gJ0F0dHJpYnV0ZXMnIGlzIHNldCBhcyB1bmRlZmluZWQgaWYgW1tTZXRdXSBpcyBhYnNlbnQgaW4gYWNjZXNzb3IgZGVzY3JpcHRvciAnZGVzYycgKDE1LjQuNS4xIHN0ZXAgNC5jKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBhcnJPYmogPSBbXTsNCiAgICAgICAgdmFyIGdldEZ1bmMgPSBmdW5jdGlvbiAoKSB7IH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyck9iaiwgIjAiLCB7DQogICAgICAgICAgICBnZXQ6IGdldEZ1bmMsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihhcnJPYmosICIwIik7DQoNCiAgICAgICAgcmV0dXJuIGFyck9iai5oYXNPd25Qcm9wZXJ0eSgiMCIpICYmIGRlc2MuaGFzT3duUHJvcGVydHkoInNldCIpICYmIHR5cGVvZiBkZXNjLnNldCA9PT0gInVuZGVmaW5lZCI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - 'O' is an Array, 'name' is an array index named property, 'name' property doesn't exist in 'O', test [[Set]] of 'name' property in 'Attributes' is set as undefined if [[Set]] is absent in accessor descriptor 'desc' (15.4.5.1 step 4.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-206.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTIwNy5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdPJyBpcyBhbiBBcnJheSwgJ25hbWUnIGlzIGFuIGFycmF5IGluZGV4IG5hbWVkIHByb3BlcnR5LCAnbmFtZScgcHJvcGVydHkgZG9lc24ndCBleGlzdCBpbiAnTycgYW5kIFtbRW51bWVyYWJsZV1dIGlzIGFic2VudCBpbiBhY2Nlc3NvciBkZXNjcmlwdG9yICdkZXNjJywgdGVzdCBbW0VudW1lcmFibGVdXSBhdHRyaWJ1dGUgb2YgcHJvcGVydHkgJ25hbWUnIGlzIHNldCB0byBmYWxzZSAoMTUuNC41LjEgc3RlcCA0LmMpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIGFyck9iaiA9IFtdOw0KDQogICAgICAgIHZhciBzZXRGdW5jID0gZnVuY3Rpb24gKHZhbHVlKSB7DQogICAgICAgICAgICBhcnJPYmouc2V0VmVyaWZ5SGVscFByb3AgPSB2YWx1ZTsNCiAgICAgICAgfTsNCiAgICAgICAgdmFyIGdldEZ1bmMgPSBmdW5jdGlvbiAoKSB7IH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyck9iaiwgIjAiLCB7DQogICAgICAgICAgICBzZXQ6IHNldEZ1bmMsDQogICAgICAgICAgICBnZXQ6IGdldEZ1bmMsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQogICAgICAgIHJldHVybiBhY2Nlc3NvclByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3QoYXJyT2JqLCAiMCIsIGdldEZ1bmMsIHNldEZ1bmMsICJzZXRWZXJpZnlIZWxwUHJvcCIsIGZhbHNlLCB0cnVlKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'O' is an Array, 'name' is an array index named property, 'name' property doesn't exist in 'O' and [[Enumerable]] is absent in accessor descriptor 'desc', test [[Enumerable]] attribute of property 'name' is set to false (15.4.5.1 step 4.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-207.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTIwOC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdPJyBpcyBhbiBBcnJheSwgJ25hbWUnIGlzIGFuIGFycmF5IGluZGV4IG5hbWVkIHByb3BlcnR5LCAnbmFtZScgcHJvcGVydHkgZG9lc24ndCBleGlzdCBpbiAnTycgYW5kIFtbQ29uZmlndXJhYmxlXV0gaXMgYWJzZW50IGluIGFjY2Vzc29yIGRlc2NyaXB0b3IgJ2Rlc2MnLCB0ZXN0IFtbQ29uZmlndXJhYmxlXV0gYXR0cmlidXRlIG9mIHByb3BlcnR5ICduYW1lJyBpcyBzZXQgdG8gZmFsc2UgKDE1LjQuNS4xIHN0ZXAgNC5jKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBhcnJPYmogPSBbXTsNCiAgICAgICAgdmFyIHNldEZ1bmMgPSBmdW5jdGlvbiAodmFsdWUpIHsNCiAgICAgICAgICAgIGFyck9iai5zZXRWZXJpZnlIZWxwUHJvcCA9IHZhbHVlOw0KICAgICAgICB9Ow0KICAgICAgICB2YXIgZ2V0RnVuYyA9IGZ1bmN0aW9uICgpIHsgfTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyT2JqLCAiMCIsIHsNCiAgICAgICAgICAgIHNldDogc2V0RnVuYywNCiAgICAgICAgICAgIGdldDogZ2V0RnVuYywNCiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUNCiAgICAgICAgfSk7DQogICAgICAgIHJldHVybiBhY2Nlc3NvclByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3QoYXJyT2JqLCAiMCIsIGdldEZ1bmMsIHNldEZ1bmMsICJzZXRWZXJpZnlIZWxwUHJvcCIsIHRydWUsIGZhbHNlKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'O' is an Array, 'name' is an array index named property, 'name' property doesn't exist in 'O' and [[Configurable]] is absent in accessor descriptor 'desc', test [[Configurable]] attribute of property 'name' is set to false (15.4.5.1 step 4.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-208.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTIwOS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdPJyBpcyBhbiBBcnJheSwgJ25hbWUnIGlzIGFuIGFycmF5IGluZGV4IG5hbWVkIHByb3BlcnR5LCAnZGVzYycgaXMgYWNjZXNzb3IgZGVzY3JpcHRvciwgdGVzdCB1cGRhdGluZyBhbGwgYXR0cmlidXRlIHZhbHVlcyBvZiAnbmFtZScgKDE1LjQuNS4xIHN0ZXAgNC5jKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBhcnJPYmogPSBbXTsNCiAgICAgICAgdmFyIHNldEZ1bmMgPSBmdW5jdGlvbiAodmFsdWUpIHsNCiAgICAgICAgICAgIGFyck9iai5zZXRWZXJpZnlIZWxwUHJvcCA9IHZhbHVlOw0KICAgICAgICB9Ow0KICAgICAgICB2YXIgZ2V0RnVuYyA9IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgIHJldHVybiAxNDsNCiAgICAgICAgfTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyT2JqLCAiMCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiAxMTsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBzZXQ6IGZ1bmN0aW9uICgpIHsgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZSwNCiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyck9iaiwgIjAiLCB7DQogICAgICAgICAgICBnZXQ6IGdldEZ1bmMsDQogICAgICAgICAgICBzZXQ6IHNldEZ1bmMsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogZmFsc2UNCiAgICAgICAgfSk7DQoNCiAgICAgICAgcmV0dXJuIGFjY2Vzc29yUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChhcnJPYmosICIwIiwgZ2V0RnVuYywgc2V0RnVuYywgInNldFZlcmlmeUhlbHBQcm9wIiwgZmFsc2UsIGZhbHNlKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'O' is an Array, 'name' is an array index named property, 'desc' is accessor descriptor, test updating all attribute values of 'name' (15.4.5.1 step 4.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-209.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogU3RlcCA0IG9mIGRlZmluZVByb3BlcnR5IGNhbGxzIHRoZSBbW0RlZmluZU93blByb3BlcnR5XV0gaW50ZXJuYWwgbWV0aG9kDQogKiBvZiBPIHRvIGRlZmluZSB0aGUgcHJvcGVydHkuIEZvciBub24tY29uZmlndXJhYmxlIHByb3BlcnRpZXMsIHN0ZXAgMTEuYS5paQ0KICogb2YgW1tEZWZpbmVPd25Qcm9wZXJ0eV1dIHBlcm1pdHMgc2V0dGluZyBhIGdldHRlciBpZiBhYnNlbnQuDQogKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTIxLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnR5IHBlcm1pdHMgc2V0dGluZyBhIGdldHRlciAoaWYgYWJzZW50KSBvZiBub24tY29uZmlndXJhYmxlIGFjY2Vzc29yIHByb3BlcnRpZXMoOC4xMi45IHN0ZXAgMTEuYS5paSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgbyA9IHt9Ow0KDQogIC8vIGNyZWF0ZSBhbiBhY2Nlc3NvciBwcm9wZXJ0eTsgYWxsIG90aGVyIGF0dHJpYnV0ZXMgZGVmYXVsdCB0byBmYWxzZS4NCiAgLy8gZHVtbXkgc2V0dGVyDQogIHZhciBzZXR0ZXIgPSBmdW5jdGlvbiAoeCkge30NCiAgdmFyIGQxID0geyBzZXQ6IHNldHRlciB9Ow0KICBPYmplY3QuZGVmaW5lUHJvcGVydHkobywgImZvbyIsIGQxKTsNCg0KICAvLyBub3csIHRyeWluZyB0byBzZXQgdGhlIGdldHRlciBzaG91bGQgc3VjY2VlZCBldmVuIHRob3VnaCBbW0NvbmZpZ3VyYWJsZV1dDQogIC8vIG9uIHRoZSBvcmlnaW5hbCBwcm9wZXJ0eSB3aWxsIGJlIGZhbHNlLiBFeGlzdGluZyB2YWx1ZXMgb2YgbmVlZCB0byBiZSBwcmVzZXJ2ZWQuDQogIHZhciBnZXR0ZXIgPSB1bmRlZmluZWQ7DQogIHZhciBkZXNjID0geyBnZXQ6IGdldHRlciB9Ow0KDQogIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvLCAiZm9vIiwgZGVzYyk7DQogIHZhciBkMiA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IobywgImZvbyIpOw0KDQogIGlmIChkMi5nZXQgPT09IGdldHRlciAmJg0KICAgICAgZDIuc2V0ID09PSBzZXR0ZXIgJiYNCiAgICAgIGQyLmNvbmZpZ3VyYWJsZSA9PT0gZmFsc2UgJiYNCiAgICAgIGQyLmVudW1lcmFibGUgPT09IGZhbHNlKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"Step 4 of defineProperty calls the [[DefineOwnProperty]] internal method\nof O to define the property. For non-configurable properties, step 11.a.ii\nof [[DefineOwnProperty]] permits setting a getter if absent.","description":"Object.defineProperty permits setting a getter (if absent) of non-configurable accessor properties(8.12.9 step 11.a.ii)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-21.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTIxMC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdPJyBpcyBhbiBBcnJheSwgJ25hbWUnIGlzIGFuIGFycmF5IGluZGV4IG5hbWVkIHByb3BlcnR5LCAnbmFtZScgbWFrZXMgbm8gY2hhbmdlIGlmIGV2ZXJ5IGZpZWxkIGluICdkZXNjJyBpcyBhYnNlbnQgKG5hbWUgaXMgZGF0YSBwcm9wZXJ0eSkgKDE1LjQuNS4xIHN0ZXAgNC5jKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBhcnJPYmogPSBbXTsNCg0KICAgICAgICBhcnJPYmpbMF0gPSAxMDE7IC8vIGRlZmF1bHQgdmFsdWUgb2YgYXR0cmlidXRlczogd3JpdGFibGU6IHRydWUsIGNvbmZpZ3VyYWJsZTogdHJ1ZSwgZW51bWVyYWJsZTogdHJ1ZQ0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnJPYmosICIwIiwge30pOw0KICAgICAgICByZXR1cm4gZGF0YVByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3QoYXJyT2JqLCAiMCIsIDEwMSwgdHJ1ZSwgdHJ1ZSwgdHJ1ZSk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - 'O' is an Array, 'name' is an array index named property, 'name' makes no change if every field in 'desc' is absent (name is data property) (15.4.5.1 step 4.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-210.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTIxMS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdPJyBpcyBhbiBBcnJheSwgJ25hbWUnIGlzIGFuIGFycmF5IGluZGV4IG5hbWVkIHByb3BlcnR5LCAnbmFtZScgbWFrZXMgbm8gY2hhbmdlIGlmIGV2ZXJ5IGZpZWxkIGluICdkZXNjJyBpcyBhYnNlbnQobmFtZSBpcyBhY2Nlc3NvciBwcm9wZXJ0eSkgKDE1LjQuNS4xIHN0ZXAgNC5jKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBhcnJPYmogPSBbXTsNCg0KICAgICAgICBmdW5jdGlvbiBnZXRGdW5jKCkgew0KICAgICAgICAgICAgcmV0dXJuIDExOw0KICAgICAgICB9DQogICAgICAgIGZ1bmN0aW9uIHNldEZ1bmModmFsdWUpIHsNCiAgICAgICAgICAgIGFyck9iai5zZXRWZXJpZnlIZWxwUHJvcCA9IHZhbHVlOw0KICAgICAgICB9DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyck9iaiwgIjAiLCB7DQogICAgICAgICAgICBnZXQ6IGdldEZ1bmMsDQogICAgICAgICAgICBzZXQ6IHNldEZ1bmMsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnJPYmosICIwIiwge30pOw0KICAgICAgICByZXR1cm4gYWNjZXNzb3JQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KGFyck9iaiwgIjAiLCBnZXRGdW5jLCBzZXRGdW5jLCAic2V0VmVyaWZ5SGVscFByb3AiLCB0cnVlLCB0cnVlKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'O' is an Array, 'name' is an array index named property, 'name' makes no change if every field in 'desc' is absent(name is accessor property) (15.4.5.1 step 4.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-211.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTIxMi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdPJyBpcyBhbiBBcnJheSwgJ25hbWUnIGlzIGFuIGFycmF5IGluZGV4IG5hbWVkIHByb3BlcnR5LCAnbmFtZScgbWFrZXMgbm8gY2hhbmdlIGlmIHRoZSB2YWx1ZSBvZiBldmVyeSBmaWVsZCBpbiAnZGVzYycgaXMgdGhlIHNhbWUgdmFsdWUgYXMgdGhlIGNvcnJlc3BvbmRpbmcgZmllbGQgaW4gJ25hbWUnKGRlc2MgaXMgZGF0YSBwcm9wZXJ0eSkgKDE1LjQuNS4xIHN0ZXAgNC5jKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBhcnJPYmogPSBbXTsNCg0KICAgICAgICBhcnJPYmpbMF0gPSAxMDA7IC8vIGRlZmF1bHQgdmFsdWUgb2YgYXR0cmlidXRlczogd3JpdGFibGU6IHRydWUsIGNvbmZpZ3VyYWJsZTogdHJ1ZSwgZW51bWVyYWJsZTogdHJ1ZQ0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnJPYmosICIwIiwgew0KICAgICAgICAgICAgdmFsdWU6IDEwMCwNCiAgICAgICAgICAgIHdyaXRhYmxlOiB0cnVlLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICByZXR1cm4gZGF0YVByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3QoYXJyT2JqLCAiMCIsIDEwMCwgdHJ1ZSwgdHJ1ZSwgdHJ1ZSk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - 'O' is an Array, 'name' is an array index named property, 'name' makes no change if the value of every field in 'desc' is the same value as the corresponding field in 'name'(desc is data property) (15.4.5.1 step 4.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-212.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTIxMy5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdPJyBpcyBhbiBBcnJheSwgJ25hbWUnIGlzIGFuIGFycmF5IGluZGV4IG5hbWVkIHByb3BlcnR5LCAnbmFtZScgbWFrZXMgbm8gY2hhbmdlIGlmIHRoZSB2YWx1ZSBvZiBldmVyeSBmaWVsZCBpbiAnZGVzYycgaXMgdGhlIHNhbWUgdmFsdWUgYXMgdGhlIGNvcnJlc3BvbmRpbmcgZmllbGQgaW4gJ25hbWUnKGRlc2MgaXMgYWNjZXNzb3IgcHJvcGVydHkpICgxNS40LjUuMSBzdGVwIDQuYykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgYXJyT2JqID0gW107DQogICAgICAgIHZhciBnZXRGdW5jID0gZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgcmV0dXJuICIxMDAiOw0KICAgICAgICB9Ow0KICAgICAgICB2YXIgc2V0RnVuYyA9IGZ1bmN0aW9uICh2YWx1ZSkgew0KICAgICAgICAgICAgYXJyT2JqLnNldFZlcmlmeUhlbHBQcm9wID0gdmFsdWU7DQogICAgICAgIH07DQoNCiAgICAgICAgdmFyIGRlc2MgPSB7DQogICAgICAgICAgICBnZXQ6IGdldEZ1bmMsDQogICAgICAgICAgICBzZXQ6IHNldEZ1bmMsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyck9iaiwgIjAiLCB7DQogICAgICAgICAgICBnZXQ6IGdldEZ1bmMsDQogICAgICAgICAgICBzZXQ6IHNldEZ1bmMsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnJPYmosICIwIiwgZGVzYyk7DQoNCiAgICAgICAgcmV0dXJuIGFjY2Vzc29yUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChhcnJPYmosICIwIiwgZ2V0RnVuYywgc2V0RnVuYywgInNldFZlcmlmeUhlbHBQcm9wIiwgdHJ1ZSwgdHJ1ZSk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - 'O' is an Array, 'name' is an array index named property, 'name' makes no change if the value of every field in 'desc' is the same value as the corresponding field in 'name'(desc is accessor property) (15.4.5.1 step 4.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-213.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTIxNC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdPJyBpcyBhbiBBcnJheSwgJ25hbWUnIGlzIGFuIGFycmF5IGluZGV4IHByb3BlcnR5IGFuZCBpdHMgY29uZmlndXJhYmxlIGFuZCB3cml0YWJsZSBhdHRyaWJ1dGVzIGFyZSBzZXQgdG8gZmFsc2UsIHRlc3QgVHlwZUVycm9yIGlzIHRocm93biB3aGVuIHRoZSB0eXBlIG9mIHRoZSBbW1ZhbHVlXV0gZmllbGQgb2YgJ2Rlc2MnIGlzIGRpZmZlcmVudCBmcm9tIHRoZSB0eXBlIG9mIHRoZSBbW1ZhbHVlXV0gYXR0cmlidXRlIHZhbHVlIG9mICduYW1lJyAoMTUuNC41LjEgc3RlcCA0LmMpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIGFyck9iaiA9IFtdOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnJPYmosIDAsIHsNCiAgICAgICAgICAgIHZhbHVlOiAxMDEsDQogICAgICAgICAgICB3cml0YWJsZTogZmFsc2UsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlIA0KICAgICAgICB9KTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyck9iaiwgIjAiLCB7IHZhbHVlOiAiYWJjIiB9KTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IgJiYgZGF0YVByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3QoYXJyT2JqLCAiMCIsIDEwMSwgZmFsc2UsIGZhbHNlLCBmYWxzZSk7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'O' is an Array, 'name' is an array index property and its configurable and writable attributes are set to false, test TypeError is thrown when the type of the [[Value]] field of 'desc' is different from the type of the [[Value]] attribute value of 'name' (15.4.5.1 step 4.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-214.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTIxNS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdPJyBpcyBhbiBBcnJheSwgJ25hbWUnIGlzIGFuIGFycmF5IGluZGV4IHByb3BlcnR5LCBib3RoIHRoZSBbW1ZhbHVlXV0gZmllbGQgb2YgJ2Rlc2MnIGFuZCB0aGUgW1tWYWx1ZV1dIGF0dHJpYnV0ZSB2YWx1ZSBvZiAnbmFtZScgYXJlIHVuZGVmaW5lZCAoMTUuNC41LjEgc3RlcCA0LmMpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIGFyck9iaiA9IFtdOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnJPYmosICIwIiwgeyB2YWx1ZTogdW5kZWZpbmVkIH0pOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnJPYmosICIwIiwgeyB2YWx1ZTogdW5kZWZpbmVkIH0pOw0KICAgICAgICByZXR1cm4gZGF0YVByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3QoYXJyT2JqLCAiMCIsIHVuZGVmaW5lZCwgZmFsc2UsIGZhbHNlLCBmYWxzZSk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - 'O' is an Array, 'name' is an array index property, both the [[Value]] field of 'desc' and the [[Value]] attribute value of 'name' are undefined (15.4.5.1 step 4.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-215.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTIxNi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdPJyBpcyBhbiBBcnJheSwgJ25hbWUnIGlzIGFuIGFycmF5IGluZGV4IHByb3BlcnR5LCBib3RoIHRoZSBbW1ZhbHVlXV0gZmllbGQgb2YgJ2Rlc2MnIGFuZCB0aGUgW1tWYWx1ZV1dIGF0dHJpYnV0ZSB2YWx1ZSBvZiAnbmFtZScgYXJlIG51bGwgICgxNS40LjUuMSBzdGVwIDQuYykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgYXJyT2JqID0gW107DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyck9iaiwgIjAiLCB7IHZhbHVlOiBudWxsIH0pOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnJPYmosICIwIiwgeyB2YWx1ZTogbnVsbCB9KTsNCiAgICAgICAgcmV0dXJuIGRhdGFQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KGFyck9iaiwgIjAiLCBudWxsLCBmYWxzZSwgZmFsc2UsIGZhbHNlKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'O' is an Array, 'name' is an array index property, both the [[Value]] field of 'desc' and the [[Value]] attribute value of 'name' are null (15.4.5.1 step 4.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-216.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTIxNy5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdPJyBpcyBhbiBBcnJheSwgJ25hbWUnIGlzIGFuIGFycmF5IGluZGV4IHByb3BlcnR5LCBib3RoIHRoZSBbW1ZhbHVlXV0gZmllbGQgb2YgJ2Rlc2MnIGFuZCB0aGUgW1tWYWx1ZV1dIGF0dHJpYnV0ZSB2YWx1ZSBvZiAnbmFtZScgYXJlIE5hTiAgKDE1LjQuNS4xIHN0ZXAgNC5jKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBhcnJPYmogPSBbXTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyT2JqLCAiMCIsIHsgdmFsdWU6IE5hTiB9KTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyT2JqLCAiMCIsIHsgdmFsdWU6IE5hTiB9KTsNCg0KICAgICAgICB2YXIgaGFzUHJvcGVydHkgPSBhcnJPYmouaGFzT3duUHJvcGVydHkoIjAiKTsNCiAgICAgICAgdmFyIHZlcmlmeVZhbHVlID0gKGFyck9ialswXSAhPT0gYXJyT2JqWzBdKTsNCg0KICAgICAgICB2YXIgdmVyaWZ5V3JpdGFibGUgPSBmYWxzZTsNCiAgICAgICAgYXJyT2JqWzBdID0gMTAwMTsNCiAgICAgICAgdmVyaWZ5V3JpdGFibGUgPSBhcnJPYmpbMF0gIT09IDEwMDEgJiYgYXJyT2JqWzBdICE9PSBhcnJPYmpbMF07DQoNCiAgICAgICAgdmFyIHZlcmlmeUVudW1lcmFibGUgPSBmYWxzZTsNCiAgICAgICAgZm9yICh2YXIgcCBpbiBhcnJPYmopIHsNCiAgICAgICAgICAgIGlmIChwID09PSAiMCIpIHsNCiAgICAgICAgICAgICAgICB2ZXJpZnlFbnVtZXJhYmxlID0gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIHZhciB2ZXJpZnlDb25maWd1cmFibGUgPSBmYWxzZTsNCiAgICAgICAgZGVsZXRlIGFyck9ialswXTsNCiAgICAgICAgdmVyaWZ5Q29uZmlndXJhYmxlID0gYXJyT2JqLmhhc093blByb3BlcnR5KCIwIik7DQoNCiAgICAgICAgcmV0dXJuIGhhc1Byb3BlcnR5ICYmIHZlcmlmeVZhbHVlICYmIHZlcmlmeVdyaXRhYmxlICYmICF2ZXJpZnlFbnVtZXJhYmxlICYmIHZlcmlmeUNvbmZpZ3VyYWJsZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'O' is an Array, 'name' is an array index property, both the [[Value]] field of 'desc' and the [[Value]] attribute value of 'name' are NaN (15.4.5.1 step 4.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-217.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTIxOC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdPJyBpcyBhbiBBcnJheSwgJ25hbWUnIGlzIGFuIGFycmF5IGluZGV4IHByb3BlcnR5LCB0ZXN0IFR5cGVFcnJvciBpcyB0aHJvd24gd2hlbiB0aGUgW1tWYWx1ZV1dIGZpZWxkIG9mICdkZXNjJyBpcyArMCwgYW5kIHRoZSBbW1ZhbHVlXV0gYXR0cmlidXRlIHZhbHVlIG9mICduYW1lJyBpcyAtMCAoMTUuNC41LjEgc3RlcCA0LmMpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIGFyck9iaiA9IFtdOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnJPYmosICIwIiwgeyB2YWx1ZTogLTAgfSk7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnJPYmosICIwIiwgeyB2YWx1ZTogKzAgfSk7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiBlIGluc3RhbmNlb2YgVHlwZUVycm9yICYmIGRhdGFQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KGFyck9iaiwgIjAiLCAtMCwgZmFsc2UsIGZhbHNlLCBmYWxzZSk7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'O' is an Array, 'name' is an array index property, test TypeError is thrown when the [[Value]] field of 'desc' is +0, and the [[Value]] attribute value of 'name' is -0 (15.4.5.1 step 4.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-218.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTIxOS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdPJyBpcyBhbiBBcnJheSwgJ25hbWUnIGlzIGFuIGFycmF5IGluZGV4IHByb3BlcnR5LCB0ZXN0IFR5cGVFcnJvciBpcyB0aHJvd24gd2hlbiB0aGUgW1tWYWx1ZV1dIGZpZWxkIG9mICdkZXNjJyBpcyAtMCwgYW5kIHRoZSBbW1ZhbHVlXV0gYXR0cmlidXRlIHZhbHVlIG9mICduYW1lJyBpcyArMCAoMTUuNC41LjEgc3RlcCA0LmMpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIGFyck9iaiA9IFtdOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnJPYmosICIwIiwgeyB2YWx1ZTogKzAgfSk7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnJPYmosICIwIiwgeyB2YWx1ZTogLTAgfSk7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiBlIGluc3RhbmNlb2YgVHlwZUVycm9yICYmIGRhdGFQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KGFyck9iaiwgIjAiLCArMCwgZmFsc2UsIGZhbHNlLCBmYWxzZSk7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'O' is an Array, 'name' is an array index property, test TypeError is thrown when the [[Value]] field of 'desc' is -0, and the [[Value]] attribute value of 'name' is +0 (15.4.5.1 step 4.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-219.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTIyLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnR5IC0gJ25hbWUnIGlzIGV4aXN0aW5nIG93biBkYXRhIHByb3BlcnR5ICg4LjEyLjkgc3RlcCAxKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgImZvbyIsIHsNCiAgICAgICAgICAgIHZhbHVlOiAxMSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJmb28iLCB7DQogICAgICAgICAgICAgICAgdmFsdWU6IDEyLA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiBlIGluc3RhbmNlb2YgVHlwZUVycm9yICYmIG9iai5mb28gPT09IDExOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - 'name' is existing own data property (8.12.9 step 1)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-22.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTIyMC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdPJyBpcyBhbiBBcnJheSwgJ25hbWUnIGlzIGFuIGFycmF5IGluZGV4IHByb3BlcnR5LCB0aGUgW1tWYWx1ZV1dIGZpZWxkIG9mICdkZXNjJyBhbmQgdGhlIFtbVmFsdWVdXSBhdHRyaWJ1dGUgdmFsdWUgb2YgJ25hbWUnIGFyZSB0d28gbnVtYmVycyB3aXRoIHNhbWUgdmF1bGUgKDE1LjQuNS4xIHN0ZXAgNC5jKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBhcnJPYmogPSBbXTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyT2JqLCAiMCIsIHsgdmFsdWU6IDEwMSB9KTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyT2JqLCAiMCIsIHsgdmFsdWU6IDEwMSB9KTsNCiAgICAgICAgcmV0dXJuIGRhdGFQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KGFyck9iaiwgIjAiLCAxMDEsIGZhbHNlLCBmYWxzZSwgZmFsc2UpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'O' is an Array, 'name' is an array index property, the [[Value]] field of 'desc' and the [[Value]] attribute value of 'name' are two numbers with same vaule (15.4.5.1 step 4.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-220.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTIyMS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdPJyBpcyBhbiBBcnJheSwgJ25hbWUnIGlzIGFuIGFycmF5IGluZGV4IHByb3BlcnR5LCB0ZXN0IFR5cGVFcnJvciBpcyB0aHJvd24gIHdoZW4gdGhlIFtbVmFsdWVdXSBmaWVsZCBvZiAnZGVzYycgYW5kIHRoZSBbW1ZhbHVlXV0gYXR0cmlidXRlIHZhbHVlIG9mICduYW1lJyBhcmUgdHdvIG51bWJlcnMgd2l0aCBkaWZmZXJlbnQgdmFsdWVzICgxNS40LjUuMSBzdGVwIDQuYykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgYXJyT2JqID0gW107DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyck9iaiwgMCwgew0KICAgICAgICAgICAgdmFsdWU6IDEwMSwNCiAgICAgICAgICAgIHdyaXRhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnJPYmosICIwIiwgeyB2YWx1ZTogMTIzIH0pOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFR5cGVFcnJvciAmJiBkYXRhUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChhcnJPYmosICIwIiwgMTAxLCBmYWxzZSwgZmFsc2UsIGZhbHNlKTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'O' is an Array, 'name' is an array index property, test TypeError is thrown when the [[Value]] field of 'desc' and the [[Value]] attribute value of 'name' are two numbers with different values (15.4.5.1 step 4.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-221.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTIyMi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdPJyBpcyBhbiBBcnJheSwgJ25hbWUnIGlzIGFuIGFycmF5IGluZGV4IHByb3BlcnR5LCB0aGUgW1tWYWx1ZV1dIGZpZWxkIG9mICdkZXNjJyBhbmQgdGhlIFtbVmFsdWVdXSBhdHRyaWJ1dGUgdmFsdWUgb2YgJ25hbWUnIGFyZSB0d28gc3RyaW5ncyB3aGljaCBoYXZlIHNhbWUgbGVuZ3RoIGFuZCBzYW1lIGNoYXJhY3RlcnMgaW4gY29ycmVzcG9uZGluZyBwb3NpdGlvbnMgKDE1LjQuNS4xIHN0ZXAgNC5jKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBhcnJPYmogPSBbXTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyT2JqLCAiMCIsIHsgdmFsdWU6ICJhYmNkIiB9KTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyT2JqLCAiMCIsIHsgdmFsdWU6ICJhYmNkIiB9KTsNCiAgICAgICAgcmV0dXJuIGRhdGFQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KGFyck9iaiwgIjAiLCAiYWJjZCIsIGZhbHNlLCBmYWxzZSwgZmFsc2UpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'O' is an Array, 'name' is an array index property, the [[Value]] field of 'desc' and the [[Value]] attribute value of 'name' are two strings which have same length and same characters in corresponding positions (15.4.5.1 step 4.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-222.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTIyMy5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdPJyBpcyBhbiBBcnJheSwgJ25hbWUnIGlzIGFuIGFycmF5IGluZGV4IHByb3BlcnR5LCB0ZXN0IFR5cGVFcnJvciBpcyB0aHJvd24gIHdoZW4gdGhlIFtbVmFsdWVdXSBmaWVsZCBvZiAnZGVzYycgYW5kIHRoZSBbW1ZhbHVlXV0gYXR0cmlidXRlIHZhbHVlIG9mICduYW1lJyBhcmUgdHdvIHN0cmluZ3Mgd2l0aCBkaWZmZXJlbnQgdmFsdWVzICgxNS40LjUuMSBzdGVwIDQuYykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgYXJyT2JqID0gW107DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyck9iaiwgMCwgew0KICAgICAgICAgICAgdmFsdWU6ICJhYmNkIiwNCiAgICAgICAgICAgIHdyaXRhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnJPYmosICIwIiwgeyB2YWx1ZTogImZnaGoiIH0pOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFR5cGVFcnJvciAmJiBkYXRhUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChhcnJPYmosICIwIiwgImFiY2QiLCBmYWxzZSwgZmFsc2UsIGZhbHNlKTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'O' is an Array, 'name' is an array index property, test TypeError is thrown when the [[Value]] field of 'desc' and the [[Value]] attribute value of 'name' are two strings with different values (15.4.5.1 step 4.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-223.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTIyNC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdPJyBpcyBhbiBBcnJheSwgJ25hbWUnIGlzIGFuIGFycmF5IGluZGV4IHByb3BlcnR5LCB0aGUgW1tWYWx1ZV1dIGZpZWxkIG9mICdkZXNjJyBhbmQgdGhlIFtbVmFsdWVdXSBhdHRyaWJ1dGUgdmFsdWUgb2YgJ25hbWUnIGFyZSB0d28gYm9vbGVhbnMgd2l0aCBzYW1lIHZhbHVlICgxNS40LjUuMSBzdGVwIDQuYykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgYXJyT2JqID0gW107DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyck9iaiwgIjAiLCB7IHZhbHVlOiB0cnVlIH0pOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnJPYmosICIwIiwgeyB2YWx1ZTogdHJ1ZSB9KTsNCiAgICAgICAgcmV0dXJuIGRhdGFQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KGFyck9iaiwgIjAiLCB0cnVlLCBmYWxzZSwgZmFsc2UsIGZhbHNlKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'O' is an Array, 'name' is an array index property, the [[Value]] field of 'desc' and the [[Value]] attribute value of 'name' are two booleans with same value (15.4.5.1 step 4.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-224.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTIyNS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdPJyBpcyBhbiBBcnJheSwgJ25hbWUnIGlzIGFuIGFycmF5IGluZGV4IHByb3BlcnR5LCB0ZXN0IFR5cGVFcnJvciBpcyB0aHJvd24gd2hlbiB0aGUgW1tWYWx1ZV1dIGZpZWxkIG9mICdkZXNjJyBhbmQgdGhlIFtbVmFsdWVdXSBhdHRyaWJ1dGUgdmFsdWUgb2YgJ25hbWUnIGFyZSB0d28gYm9vbGVhbnMgd2l0aCBkaWZmZXJlbnQgdmFsdWVzICgxNS40LjUuMSBzdGVwIDQuYykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgYXJyT2JqID0gW107DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyck9iaiwgMCwgew0KICAgICAgICAgICAgdmFsdWU6IHRydWUsDQogICAgICAgICAgICB3cml0YWJsZTogZmFsc2UsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgIH0pOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyT2JqLCAiMCIsIHsgdmFsdWU6IGZhbHNlIH0pOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFR5cGVFcnJvciAmJiBkYXRhUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChhcnJPYmosICIwIiwgdHJ1ZSwgZmFsc2UsIGZhbHNlLCBmYWxzZSk7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'O' is an Array, 'name' is an array index property, test TypeError is thrown when the [[Value]] field of 'desc' and the [[Value]] attribute value of 'name' are two booleans with different values (15.4.5.1 step 4.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-225.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTIyNi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdPJyBpcyBhbiBBcnJheSwgJ25hbWUnIGlzIGFuIGFycmF5IGluZGV4IHByb3BlcnR5LCB0aGUgW1tWYWx1ZV1dIGZpZWxkIG9mICdkZXNjJyBhbmQgdGhlIFtbVmFsdWVdXSBhdHRyaWJ1dGUgdmFsdWUgb2YgJ25hbWUnIGFyZSB0d28gb2JqZWN0cyB3aGljaCByZWZlciB0byB0aGUgc2FtZSBvYmplY3QgKDE1LjQuNS4xIHN0ZXAgNC5jKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBhcnJPYmogPSBbXTsNCg0KICAgICAgICB2YXIgb2JqMSA9IHsgbGVuZ3RoOiAxMCB9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnJPYmosICIwIiwgeyB2YWx1ZTogb2JqMSB9KTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyT2JqLCAiMCIsIHsgdmFsdWU6IG9iajEgfSk7DQogICAgICAgIHJldHVybiBkYXRhUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChhcnJPYmosICIwIiwgb2JqMSwgZmFsc2UsIGZhbHNlLCBmYWxzZSk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - 'O' is an Array, 'name' is an array index property, the [[Value]] field of 'desc' and the [[Value]] attribute value of 'name' are two objects which refer to the same object (15.4.5.1 step 4.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-226.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTIyNy5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdPJyBpcyBhbiBBcnJheSwgJ25hbWUnIGlzIGFuIGFycmF5IGluZGV4IHByb3BlcnR5LCB0ZXN0IFR5cGVFcnJvciBpcyB0aHJvd24gd2hlbiB0aGUgW1tWYWx1ZV1dIGZpZWxkIG9mICdkZXNjJyBhbmQgdGhlIFtbVmFsdWVdXSBhdHRyaWJ1dGUgdmFsdWUgb2YgJ25hbWUnIGFyZSB0d28gb2JqZWN0cyB3aGljaCByZWZlciB0byB0d28gZGlmZmVyZW50IG9iamVjdHMgKDE1LjQuNS4xIHN0ZXAgNC5jKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBhcnJPYmogPSBbXTsNCg0KICAgICAgICB2YXIgb2JqMSA9IHsgbGVuZ3RoOiAxMCB9Ow0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyT2JqLCAwLCB7DQogICAgICAgICAgICB2YWx1ZTogb2JqMSwNCiAgICAgICAgICAgIHdyaXRhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIG9iajIgPSB7IGxlbmd0aDogMjAgfTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyck9iaiwgIjAiLCB7IHZhbHVlOiBvYmoyIH0pOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFR5cGVFcnJvciAmJiBkYXRhUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChhcnJPYmosICIwIiwgb2JqMSwgZmFsc2UsIGZhbHNlLCBmYWxzZSk7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'O' is an Array, 'name' is an array index property, test TypeError is thrown when the [[Value]] field of 'desc' and the [[Value]] attribute value of 'name' are two objects which refer to two different objects (15.4.5.1 step 4.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-227.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTIyOC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdPJyBpcyBhbiBBcnJheSwgJ25hbWUnIGlzIGFuIGFycmF5IGluZGV4IHByb3BlcnR5LCB0aGUgW1tXcml0YWJsZV1dIGZpZWxkIG9mICdkZXNjJyBhbmQgdGhlIFtbV3JpdGFibGVdXSBhdHRyaWJ1dGUgdmFsdWUgb2YgJ25hbWUnIGFyZSB0d28gYm9vbGVhbnMgd2l0aCBzYW1lIHZhbHVlICgxNS40LjUuMSBzdGVwIDQuYykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgYXJyT2JqID0gW107DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyck9iaiwgIjAiLCB7IHdyaXRhYmxlOiBmYWxzZSB9KTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyT2JqLCAiMCIsIHsgd3JpdGFibGU6IGZhbHNlIH0pOw0KICAgICAgICByZXR1cm4gZGF0YVByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3QoYXJyT2JqLCAiMCIsIHVuZGVmaW5lZCwgZmFsc2UsIGZhbHNlLCBmYWxzZSk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - 'O' is an Array, 'name' is an array index property, the [[Writable]] field of 'desc' and the [[Writable]] attribute value of 'name' are two booleans with same value (15.4.5.1 step 4.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-228.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTIyOS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdPJyBpcyBhbiBBcnJheSwgJ25hbWUnIGlzIGFuIGFycmF5IGluZGV4IHByb3BlcnR5LCB0aGUgW1tXcml0YWJsZV1dIGZpZWxkIG9mICdkZXNjJyBhbmQgdGhlIFtbV3JpdGFibGVdXSBhdHRyaWJ1dGUgdmFsdWUgb2YgJ25hbWUnIGFyZSB0d28gYm9vbGVhbnMgd2l0aCBkaWZmZXJlbnQgdmFsdWVzICgxNS40LjUuMSBzdGVwIDQuYykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgYXJyT2JqID0gW107DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyck9iaiwgIjAiLCB7IHdyaXRhYmxlOiBmYWxzZSwgY29uZmlndXJhYmxlOiB0cnVlIH0pOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnJPYmosICIwIiwgeyB3cml0YWJsZTogdHJ1ZSB9KTsNCiAgICAgICAgcmV0dXJuIGRhdGFQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KGFyck9iaiwgIjAiLCB1bmRlZmluZWQsIHRydWUsIGZhbHNlLCB0cnVlKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'O' is an Array, 'name' is an array index property, the [[Writable]] field of 'desc' and the [[Writable]] attribute value of 'name' are two booleans with different values (15.4.5.1 step 4.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-229.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTIzLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnR5IC0gJ25hbWUnIGlzIGV4aXN0aW5nIGFuIGluaGVyaXRlZCBkYXRhIHByb3BlcnR5ICg4LjEyLjkgc3RlcCAxKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBwcm90byA9IHt9Ow0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkocHJvdG8sICJmb28iLCB7DQogICAgICAgICAgICB2YWx1ZTogMTEsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBDb25zdHJ1Y3RGdW4gPSBmdW5jdGlvbiAoKSB7fTsNCiAgICAgICAgQ29uc3RydWN0RnVuLnByb3RvdHlwZSA9IHByb3RvOw0KICAgICAgICB2YXIgb2JqID0gbmV3IENvbnN0cnVjdEZ1bigpOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJmb28iLCB7DQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQogICAgICAgIHJldHVybiBvYmouaGFzT3duUHJvcGVydHkoImZvbyIpICYmICh0eXBlb2Ygb2JqLmZvbykgPT09ICJ1bmRlZmluZWQiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'name' is existing an inherited data property (8.12.9 step 1)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-23.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTIzMC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdPJyBpcyBhbiBBcnJheSwgJ25hbWUnIGlzIGFuIGFycmF5IGluZGV4IHByb3BlcnR5LCB0aGUgW1tHZXRdXSBmaWVsZCBvZiAnZGVzYycgYW5kIHRoZSBbW0dldF1dIGF0dHJpYnV0ZSB2YWx1ZSBvZiAnbmFtZScgYXJlIHR3byBvYmplY3RzIHdoaWNoIHJlZmVyIHRvIHRoZSBzYW1lIG9iamVjdCAoMTUuNC41LjEgc3RlcCA0LmMpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIGFyck9iaiA9IFtdOw0KICAgICAgICBhcnJPYmouaGVscFZlcmlmeVNldCA9IDEwOw0KDQogICAgICAgIGZ1bmN0aW9uIGdldEZ1bmMoKSB7DQogICAgICAgICAgICByZXR1cm4gYXJyT2JqLmhlbHBWZXJpZnlTZXQ7DQogICAgICAgIH0NCiAgICAgICAgZnVuY3Rpb24gc2V0RnVuYyh2YWx1ZSkgew0KICAgICAgICAgICAgYXJyT2JqLmhlbHBWZXJpZnlTZXQgPSB2YWx1ZTsNCiAgICAgICAgfQ0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnJPYmosICIwIiwgew0KICAgICAgICAgICAgZ2V0OiBnZXRGdW5jLA0KICAgICAgICAgICAgc2V0OiBzZXRGdW5jDQogICAgICAgIH0pOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnJPYmosICIwIiwgew0KICAgICAgICAgICAgZ2V0OiBnZXRGdW5jDQogICAgICAgIH0pOw0KICAgICAgICByZXR1cm4gYWNjZXNzb3JQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KGFyck9iaiwgIjAiLCBnZXRGdW5jLCBzZXRGdW5jLCAiaGVscFZlcmlmeVNldCIsIGZhbHNlLCBmYWxzZSk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - 'O' is an Array, 'name' is an array index property, the [[Get]] field of 'desc' and the [[Get]] attribute value of 'name' are two objects which refer to the same object (15.4.5.1 step 4.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-230.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTIzMS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdPJyBpcyBhbiBBcnJheSwgJ25hbWUnIGlzIGFuIGFycmF5IGluZGV4IHByb3BlcnR5LCB0aGUgW1tHZXRdXSBmaWVsZCBvZiAnZGVzYycgYW5kIHRoZSBbW0dldF1dIGF0dHJpYnV0ZSB2YWx1ZSBvZiAnbmFtZScgYXJlIHR3byBvYmplY3RzIHdoaWNoIHJlZmVyIHRvIHRoZSBkaWZmZXJlbnQgb2JqZWN0cyAoMTUuNC41LjEgc3RlcCA0LmMpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIGFyck9iaiA9IFtdOw0KICAgICAgICBhcnJPYmouaGVscFZlcmlmeVNldCA9IDEwOw0KDQogICAgICAgIGZ1bmN0aW9uIGdldEZ1bmMxKCkgew0KICAgICAgICAgICAgcmV0dXJuIDIwOw0KICAgICAgICB9DQogICAgICAgIGZ1bmN0aW9uIGdldEZ1bmMyKCkgew0KICAgICAgICAgICAgcmV0dXJuIGFyck9iai5oZWxwVmVyaWZ5U2V0Ow0KICAgICAgICB9DQogICAgICAgIGZ1bmN0aW9uIHNldEZ1bmModmFsdWUpIHsNCiAgICAgICAgICAgIGFyck9iai5oZWxwVmVyaWZ5U2V0ID0gdmFsdWU7DQogICAgICAgIH0NCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyT2JqLCAiMCIsIHsNCiAgICAgICAgICAgIGdldDogZ2V0RnVuYzEsDQogICAgICAgICAgICBzZXQ6IHNldEZ1bmMsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQogICAgICAgIA0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyT2JqLCAiMCIsIHsNCiAgICAgICAgICAgIGdldDogZ2V0RnVuYzINCiAgICAgICAgfSk7DQoNCiAgICAgICAgcmV0dXJuIGFjY2Vzc29yUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChhcnJPYmosICIwIiwgZ2V0RnVuYzIsIHNldEZ1bmMsICJoZWxwVmVyaWZ5U2V0IiwgZmFsc2UsIHRydWUpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'O' is an Array, 'name' is an array index property, the [[Get]] field of 'desc' and the [[Get]] attribute value of 'name' are two objects which refer to the different objects (15.4.5.1 step 4.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-231.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTIzMi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdPJyBpcyBhbiBBcnJheSwgJ25hbWUnIGlzIGFuIGFycmF5IGluZGV4IHByb3BlcnR5LCB0aGUgW1tTZXRdXSBmaWVsZCBvZiAnZGVzYycgYW5kIHRoZSBbW1NldF1dIGF0dHJpYnV0ZSB2YWx1ZSBvZiAnbmFtZScgYXJlIHR3byBvYmplY3RzIHdoaWNoIHJlZmVyIHRvIHRoZSBzYW1lIG9iamVjdCAoMTUuNC41LjEgc3RlcCA0LmMpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIGFyck9iaiA9IFtdOw0KDQogICAgICAgIGZ1bmN0aW9uIHNldEZ1bmModmFsdWUpIHsNCiAgICAgICAgICAgIGFyck9iai5zZXRWZXJpZnlIZWxwUHJvcCA9IHZhbHVlOw0KICAgICAgICB9DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyck9iaiwgIjAiLCB7IHNldDogc2V0RnVuYyB9KTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyT2JqLCAiMCIsIHsgc2V0OiBzZXRGdW5jIH0pOw0KICAgICAgICByZXR1cm4gYWNjZXNzb3JQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KGFyck9iaiwgIjAiLCB1bmRlZmluZWQsIHNldEZ1bmMsICJzZXRWZXJpZnlIZWxwUHJvcCIsIGZhbHNlLCBmYWxzZSk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - 'O' is an Array, 'name' is an array index property, the [[Set]] field of 'desc' and the [[Set]] attribute value of 'name' are two objects which refer to the same object (15.4.5.1 step 4.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-232.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTIzMy5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdPJyBpcyBhbiBBcnJheSwgJ25hbWUnIGlzIGFuIGFycmF5IGluZGV4IHByb3BlcnR5LCB0aGUgW1tTZXRdXSBmaWVsZCBvZiAnZGVzYycgYW5kIHRoZSBbW1NldF1dIGF0dHJpYnV0ZSB2YWx1ZSBvZiAnbmFtZScgYXJlIHR3byBvYmplY3RzIHdoaWNoIHJlZmVyIHRvIHRoZSBkaWZmZXJlbnQgb2JqZWN0cyAoMTUuNC41LjEgc3RlcCA0LmMpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIGFyck9iaiA9IFtdOw0KDQogICAgICAgIGZ1bmN0aW9uIHNldEZ1bmMxKCkgeyB9DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyck9iaiwgIjAiLCB7DQogICAgICAgICAgICBzZXQ6IHNldEZ1bmMxLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIGZ1bmN0aW9uIHNldEZ1bmMyKHZhbHVlKSB7DQogICAgICAgICAgICBhcnJPYmouc2V0VmVyaWZ5SGVscFByb3AgPSB2YWx1ZTsNCiAgICAgICAgfQ0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnJPYmosICIwIiwgeyBzZXQ6IHNldEZ1bmMyIH0pOw0KICAgICAgICByZXR1cm4gYWNjZXNzb3JQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KGFyck9iaiwgIjAiLCB1bmRlZmluZWQsIHNldEZ1bmMyLCAic2V0VmVyaWZ5SGVscFByb3AiLCBmYWxzZSwgdHJ1ZSk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - 'O' is an Array, 'name' is an array index property, the [[Set]] field of 'desc' and the [[Set]] attribute value of 'name' are two objects which refer to the different objects (15.4.5.1 step 4.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-233.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTIzNC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdPJyBpcyBhbiBBcnJheSwgJ25hbWUnIGlzIGFuIGFycmF5IGluZGV4IHByb3BlcnR5LCB0aGUgW1tFbnVtZXJhYmxlXV0gZmllbGQgb2YgJ2Rlc2MnIGFuZCB0aGUgW1tFbnVtZXJhYmxlXV0gYXR0cmlidXRlIHZhbHVlIG9mICduYW1lJyBhcmUgdHdvIGJvb2xlYW5zIHdpdGggc2FtZSB2YWx1ZSAoMTUuNC41LjEgc3RlcCA0LmMpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIGFyck9iaiA9IFtdOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnJPYmosICIwIiwgeyBlbnVtZXJhYmxlOiBmYWxzZSB9KTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyT2JqLCAiMCIsIHsgZW51bWVyYWJsZTogZmFsc2UgfSk7DQogICAgICAgIHJldHVybiBkYXRhUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChhcnJPYmosICIwIiwgdW5kZWZpbmVkLCBmYWxzZSwgZmFsc2UsIGZhbHNlKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'O' is an Array, 'name' is an array index property, the [[Enumerable]] field of 'desc' and the [[Enumerable]] attribute value of 'name' are two booleans with same value (15.4.5.1 step 4.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-234.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTIzNS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdPJyBpcyBhbiBBcnJheSwgJ25hbWUnIGlzIGFuIGFycmF5IGluZGV4IHByb3BlcnR5LCB0aGUgW1tFbnVtZXJhYmxlXV0gZmllbGQgb2YgJ2Rlc2MnIGFuZCB0aGUgW1tFbnVtZXJhYmxlXV0gYXR0cmlidXRlIHZhbHVlIG9mICduYW1lJyBhcmUgdHdvIGJvb2xlYW5zIHdpdGggZGlmZmVyZW50IHZhbHVlcyAoMTUuNC41LjEgc3RlcCA0LmMpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIGFyck9iaiA9IFtdOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnJPYmosICIwIiwgeyBlbnVtZXJhYmxlOiBmYWxzZSwgY29uZmlndXJhYmxlOiB0cnVlIH0pOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnJPYmosICIwIiwgeyBlbnVtZXJhYmxlOiB0cnVlIH0pOw0KICAgICAgICByZXR1cm4gZGF0YVByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3QoYXJyT2JqLCAiMCIsIHVuZGVmaW5lZCwgZmFsc2UsIHRydWUsIHRydWUpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'O' is an Array, 'name' is an array index property, the [[Enumerable]] field of 'desc' and the [[Enumerable]] attribute value of 'name' are two booleans with different values (15.4.5.1 step 4.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-235.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTIzNi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdPJyBpcyBhbiBBcnJheSwgJ25hbWUnIGlzIGFuIGFycmF5IGluZGV4IHByb3BlcnR5LCB0aGUgW1tDb25maWd1cmFibGVdXSBmaWVsZCBvZiAnZGVzYycgYW5kIHRoZSBbW0NvbmZpZ3VyYWJsZV1dIGF0dHJpYnV0ZSB2YWx1ZSBvZiAnbmFtZScgYXJlIHR3byBib29sZWFucyB3aXRoIHNhbWUgdmFsdWUgICgxNS40LjUuMSBzdGVwIDQuYykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgYXJyT2JqID0gW107DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyck9iaiwgIjAiLCB7IGNvbmZpZ3VyYWJsZTogZmFsc2UgfSk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyck9iaiwgIjAiLCB7IGNvbmZpZ3VyYWJsZTogZmFsc2UgfSk7DQogICAgICAgIHJldHVybiBkYXRhUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChhcnJPYmosICIwIiwgdW5kZWZpbmVkLCBmYWxzZSwgZmFsc2UsIGZhbHNlKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'O' is an Array, 'name' is an array index property, the [[Configurable]] field of 'desc' and the [[Configurable]] attribute value of 'name' are two booleans with same value (15.4.5.1 step 4.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-236.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTIzNy5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdPJyBpcyBhbiBBcnJheSwgJ25hbWUnIGlzIGFuIGFycmF5IGluZGV4IHByb3BlcnR5LCB0aGUgW1tDb25maWd1cmFibGVdXSBmaWVsZCBvZiAnZGVzYycgYW5kIHRoZSBbW0NvbmZpZ3VyYWJsZV1dIGF0dHJpYnV0ZSB2YWx1ZSBvZiAnbmFtZScgYXJlIHR3byBib29sZWFucyB3aXRoIGRpZmZlcmVudCB2YWx1ZXMgKDE1LjQuNS4xIHN0ZXAgNC5jKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBhcnJPYmogPSBbXTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyT2JqLCAiMCIsIHsgY29uZmlndXJhYmxlOiB0cnVlIH0pOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnJPYmosICIwIiwgeyBjb25maWd1cmFibGU6IGZhbHNlIH0pOw0KICAgICAgICByZXR1cm4gZGF0YVByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3QoYXJyT2JqLCAiMCIsIHVuZGVmaW5lZCwgZmFsc2UsIGZhbHNlLCBmYWxzZSk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - 'O' is an Array, 'name' is an array index property, the [[Configurable]] field of 'desc' and the [[Configurable]] attribute value of 'name' are two booleans with different values (15.4.5.1 step 4.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-237.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTIzOC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdPJyBpcyBhbiBBcnJheSwgJ25hbWUnIGlzIGFuIGFycmF5IGluZGV4IG5hbWVkIHByb3BlcnR5LCBUeXBlRXJyb3IgaXMgdGhyb3duIGlmIHRoZSBbW0NvbmZpZ3VyYWJsZV1dIGF0dHJpYnV0ZSB2YWx1ZSBvZiAnbmFtZScgaXMgZmFsc2UgIGFuZCB0aGUgW1tDb25maWd1cmFibGVdXSBmaWVsZCBvZiAnZGVzYycgaXMgdHJ1ZSAoMTUuNC41LjEgc3RlcCA0LmMpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYXJyT2JqID0gW107DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyck9iaiwgIjEiLCB7DQogICAgICAgICAgICB2YWx1ZTogMywNCiAgICAgICAgICAgIHdyaXRhYmxlOiB0cnVlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyck9iaiwgIjEiLCB7DQogICAgICAgICAgICAgICAgdmFsdWU6IDEzLA0KICAgICAgICAgICAgICAgIHdyaXRhYmxlOiB0cnVlLA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQoNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IgJiYgZGF0YVByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3QoYXJyT2JqLCAiMSIsIDMsIHRydWUsIGZhbHNlLCBmYWxzZSk7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'O' is an Array, 'name' is an array index named property, TypeError is thrown if the [[Configurable]] attribute value of 'name' is false and the [[Configurable]] field of 'desc' is true (15.4.5.1 step 4.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-238.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTIzOS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdPJyBpcyBhbiBBcnJheSwgJ25hbWUnIGlzIGFuIGFycmF5IGluZGV4IG5hbWVkIHByb3BlcnR5LCBUeXBlRXJyb3IgaXMgdGhyb3duIGlmIHRoZSBbW0NvbmZpZ3VyYWJsZV1dIGF0dHJpYnV0ZSB2YWx1ZSBvZiAnbmFtZScgaXMgZmFsc2UsIGFuZCBbW0VudW1lcmFibGVdXSBvZiAnZGVzYycgaXMgcHJlc2VudCBhbmQgaXRzIHZhbHVlIGlzIGRpZmZlcmVudCBmcm9tIHRoZSBbW0VudW1lcmFibGVdXSBhdHRyaWJ1dGUgdmFsdWUgb2YgJ25hbWUnICgxNS40LjUuMSBzdGVwIDQuYykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhcnJPYmogPSBbXTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyT2JqLCAiMSIsIHsNCiAgICAgICAgICAgIHZhbHVlOiAzLA0KICAgICAgICAgICAgd3JpdGFibGU6IHRydWUsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogZmFsc2UNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnJPYmosICIxIiwgew0KICAgICAgICAgICAgICAgIHZhbHVlOiAxMywNCiAgICAgICAgICAgICAgICB3cml0YWJsZTogdHJ1ZSwNCiAgICAgICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlDQogICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCg0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFR5cGVFcnJvciAmJiBkYXRhUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChhcnJPYmosICIxIiwgMywgdHJ1ZSwgZmFsc2UsIGZhbHNlKTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'O' is an Array, 'name' is an array index named property, TypeError is thrown if the [[Configurable]] attribute value of 'name' is false, and [[Enumerable]] of 'desc' is present and its value is different from the [[Enumerable]] attribute value of 'name' (15.4.5.1 step 4.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-239.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTI0LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnR5IC0gJ25hbWUnIGlzIG93biBkYXRhIHByb3BlcnR5IHRoYXQgb3ZlcnJpZGVzIGFuIGluaGVyaXRlZCBkYXRhIHByb3BlcnR5ICg4LjEyLjkgc3RlcCAxKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBwcm90byA9IHt9Ow0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkocHJvdG8sICJmb28iLCB7DQogICAgICAgICAgICB2YWx1ZTogMTIsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIENvbnN0cnVjdEZ1biA9IGZ1bmN0aW9uICgpIHsgfTsNCiAgICAgICAgQ29uc3RydWN0RnVuLnByb3RvdHlwZSA9IHByb3RvOw0KICAgICAgICB2YXIgb2JqID0gbmV3IENvbnN0cnVjdEZ1bigpOw0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiZm9vIiwgew0KICAgICAgICAgICAgdmFsdWU6IDExLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgImZvbyIsIHsNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFR5cGVFcnJvciAmJiBvYmouZm9vID09PSAxMTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'name' is own data property that overrides an inherited data property (8.12.9 step 1)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-24.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTI0MC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdPJyBpcyBhbiBBcnJheSwgJ25hbWUnIGlzIGFuIGFycmF5IGluZGV4IG5hbWVkIHByb3BlcnR5LCBUeXBlRXJyb3IgaXMgdGhyb3duIGlmICduYW1lJyBpcyBhY2Nlc3NvciBwcm9wZXJ0eSwgYW5kICdkZXNjJyBpcyBkYXRhIGRlc2NyaXB0b3IsIGFuZCB0aGUgW1tDb25maWd1cmFibGVdXSBhdHRyaWJ1dGUgdmFsdWUgb2YgJ25hbWUnIGlzIGZhbHNlICgxNS40LjUuMSBzdGVwIDQuYykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhcnJPYmogPSBbXTsNCg0KICAgICAgICBmdW5jdGlvbiBzZXRGdW5jKHZhbHVlKSB7DQogICAgICAgICAgICBhcnJPYmouc2V0VmVyaWZ5SGVscFByb3AgPSB2YWx1ZTsNCiAgICAgICAgfQ0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnJPYmosICIxIiwgew0KICAgICAgICAgICAgc2V0OiBzZXRGdW5jLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyck9iaiwgIjEiLCB7DQogICAgICAgICAgICAgICAgdmFsdWU6IDEzDQogICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCg0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFR5cGVFcnJvciAmJiBhY2Nlc3NvclByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3QoYXJyT2JqLCAiMSIsIHVuZGVmaW5lZCwgc2V0RnVuYywgInNldFZlcmlmeUhlbHBQcm9wIiwgZmFsc2UsIGZhbHNlKTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'O' is an Array, 'name' is an array index named property, TypeError is thrown if 'name' is accessor property, and 'desc' is data descriptor, and the [[Configurable]] attribute value of 'name' is false (15.4.5.1 step 4.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-240.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTI0MS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdPJyBpcyBhbiBBcnJheSwgJ25hbWUnIGlzIGFuIGFycmF5IGluZGV4IG5hbWVkIHByb3BlcnR5LCBUeXBlRXJyb3IgaXMgdGhyb3duIGlmICAnbmFtZScgaXMgZGF0YSBwcm9wZXJ0eSwgYW5kJ2Rlc2MnIGlzIGFjY2Vzc29yIGRlc2NyaXB0b3IsIGFuZCB0aGUgW1tDb25maWd1cmFibGVdXSBhdHRyaWJ1dGUgdmFsdWUgb2YgJ25hbWUnIGlzIGZhbHNlICgxNS40LjUuMSBzdGVwIDQuYykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhcnJPYmogPSBbXTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyT2JqLCAiMSIsIHsNCiAgICAgICAgICAgIHZhbHVlOiAzLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyck9iaiwgIjEiLCB7DQogICAgICAgICAgICAgICAgc2V0OiBmdW5jdGlvbiAoKSB7IH0NCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KDQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiBlIGluc3RhbmNlb2YgVHlwZUVycm9yICYmIGRhdGFQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KGFyck9iaiwgIjEiLCAzLCBmYWxzZSwgZmFsc2UsIGZhbHNlKTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'O' is an Array, 'name' is an array index named property, TypeError is thrown if 'name' is data property, and'desc' is accessor descriptor, and the [[Configurable]] attribute value of 'name' is false (15.4.5.1 step 4.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-241.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTI0Mi0xLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnR5IC0gJ08nIGlzIGFuIEFycmF5LCAnbmFtZScgaXMgYW4gYXJyYXkgaW5kZXggbmFtZWQgcHJvcGVydHksICAnbmFtZScgaXMgZGF0YSBwcm9wZXJ0eSBhbmQgJ2Rlc2MnIGlzIGRhdGEgZGVzY3JpcHRvciwgYW5kIHRoZSBbW0NvbmZpZ3VyYWJsZV1dIGF0dHJpYnV0ZSB2YWx1ZSBvZiAnbmFtZScgaXMgdHJ1ZSwgdGVzdCAnbmFtZScgaXMgdXBkYXRlZCBzdWNjZXNzZnVsbHkgKDE1LjQuNS4xIHN0ZXAgNC5jKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFyck9iaiA9IFszXTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyT2JqLCAiMCIsIHsNCiAgICAgICAgICAgIHZhbHVlOiAxMDAxLA0KICAgICAgICAgICAgd3JpdGFibGU6IGZhbHNlLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogZmFsc2UNCiAgICAgICAgfSk7DQoNCiAgICAgICAgcmV0dXJuIGRhdGFQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KGFyck9iaiwgIjAiLCAxMDAxLCBmYWxzZSwgZmFsc2UsIHRydWUpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'O' is an Array, 'name' is an array index named property, 'name' is data property and 'desc' is data descriptor, and the [[Configurable]] attribute value of 'name' is true, test 'name' is updated successfully (15.4.5.1 step 4.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-242-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTI0Mi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdPJyBpcyBhbiBBcnJheSwgJ25hbWUnIGlzIGFuIGFycmF5IGluZGV4IG5hbWVkIHByb3BlcnR5LCAgJ25hbWUnIGlzIGRhdGEgcHJvcGVydHkgYW5kICdkZXNjJyBpcyBhY2Nlc3NvciBkZXNjcmlwdG9yLCBhbmQgdGhlIFtbQ29uZmlndXJhYmxlXV0gYXR0cmlidXRlIHZhbHVlIG9mICduYW1lJyBpcyB0cnVlLCB0ZXN0ICduYW1lJyBpcyBjb252ZXJ0ZWQgZnJvbSBkYXRhIHByb3BlcnR5IHRvIGFjY2Vzc29yIHByb3BlcnR5ICgxNS40LjUuMSBzdGVwIDQuYykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhcnJPYmogPSBbM107DQoNCiAgICAgICAgZnVuY3Rpb24gc2V0RnVuYyh2YWx1ZSkgew0KICAgICAgICAgICAgYXJyT2JqLnNldFZlcmlmeUhlbHBQcm9wID0gdmFsdWU7DQogICAgICAgIH0NCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyck9iaiwgIjAiLCB7DQogICAgICAgICAgICBzZXQ6IHNldEZ1bmMNCiAgICAgICAgfSk7DQoNCiAgICAgICAgcmV0dXJuIGFjY2Vzc29yUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChhcnJPYmosICIwIiwgdW5kZWZpbmVkLCBzZXRGdW5jLCAic2V0VmVyaWZ5SGVscFByb3AiLCB0cnVlLCB0cnVlKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'O' is an Array, 'name' is an array index named property, 'name' is data property and 'desc' is accessor descriptor, and the [[Configurable]] attribute value of 'name' is true, test 'name' is converted from data property to accessor property (15.4.5.1 step 4.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-242.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTI0My0xLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnR5IC0gJ08nIGlzIGFuIEFycmF5LCAnbmFtZScgaXMgYW4gYXJyYXkgaW5kZXggbmFtZWQgcHJvcGVydHksICAnbmFtZScgaXMgYWNjZXNzb3IgcHJvcGVydHkgYW5kICBhc3NpZ25tZW50IHRvIHRoZSBhY2Nlc3NvciBwcm9wZXJ0eSwgZmFpbHMgdG8gY29udmVydCBhY2Nlc3NvciBwcm9wZXJ0eSBmcm9tIGFjY2Vzc29yIHByb3BlcnR5IHRvIGRhdGEgcHJvcGVydHkgKDE1LjQuNS4xIHN0ZXAgNC5jKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFyck9iaiA9IFtdOw0KDQogICAgICAgIGZ1bmN0aW9uIGdldEZ1bmMoKSB7DQogICAgICAgICAgICByZXR1cm4gMzsNCiAgICAgICAgfQ0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyT2JqLCAiMSIsIHsNCiAgICAgICAgICAgIGdldDogZ2V0RnVuYywNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBhcnJPYmpbMV0gPSA0Ow0KDQogICAgICAgIHJldHVybiBhY2Nlc3NvclByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3QoYXJyT2JqLCAiMSIsIGdldEZ1bmMsIHVuZGVmaW5lZCwgdW5kZWZpbmVkLCBmYWxzZSwgdHJ1ZSk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - 'O' is an Array, 'name' is an array index named property, 'name' is accessor property and assignment to the accessor property, fails to convert accessor property from accessor property to data property (15.4.5.1 step 4.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-243-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTI0My5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdPJyBpcyBhbiBBcnJheSwgJ25hbWUnIGlzIGFuIGFycmF5IGluZGV4IG5hbWVkIHByb3BlcnR5LCAgJ25hbWUnIGlzIGFjY2Vzc29yIHByb3BlcnR5IGFuZCAnZGVzYycgaXMgZGF0YSBkZXNjcmlwdG9yLCBhbmQgdGhlIFtbQ29uZmlndXJhYmxlXV0gYXR0cmlidXRlIHZhbHVlIG9mICduYW1lJyBpcyB0cnVlLCB0ZXN0ICduYW1lJyBpcyBjb252ZXJ0ZWQgZnJvbSBhY2Nlc3NvciBwcm9wZXJ0eSB0byBkYXRhIHByb3BlcnR5ICgxNS40LjUuMSBzdGVwIDQuYykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhcnJPYmogPSBbXTsNCg0KICAgICAgICBmdW5jdGlvbiBnZXRGdW5jKCkgew0KICAgICAgICAgICAgcmV0dXJuIDM7DQogICAgICAgIH0NCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyck9iaiwgIjEiLCB7DQogICAgICAgICAgICBnZXQ6IGdldEZ1bmMsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyck9iaiwgIjEiLCB7DQogICAgICAgICAgICB2YWx1ZTogMTINCiAgICAgICAgfSk7DQoNCiAgICAgICAgcmV0dXJuIGRhdGFQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KGFyck9iaiwgIjEiLCAxMiwgZmFsc2UsIGZhbHNlLCB0cnVlKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'O' is an Array, 'name' is an array index named property, 'name' is accessor property and 'desc' is data descriptor, and the [[Configurable]] attribute value of 'name' is true, test 'name' is converted from accessor property to data property (15.4.5.1 step 4.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-243.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTI0NC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdPJyBpcyBhbiBBcnJheSwgJ25hbWUnIGlzIGFuIGFycmF5IGluZGV4IG5hbWVkIHByb3BlcnR5LCAnbmFtZScgaXMgZGF0YSBwcm9wZXJ0eSBhbmQgJ2Rlc2MnIGlzIGRhdGEgZGVzY3JpcHRvciwgYW5kIHRoZSBbW0NvbmZpZ3VyYWJsZV1dIGF0dHJpYnV0ZSB2YWx1ZSBvZiAnbmFtZScgaXMgZmFsc2UsIHRlc3QgVHlwZUVycm9yIGlzIHRocm93biBpZiB0aGUgW1tXcml0YWJsZV1dIGF0dHJpYnV0ZSB2YWx1ZSBvZiAnbmFtZScgaXMgZmFsc2UgYW5kIHRoZSBbW1dyaXRhYmxlXV0gZmllbGQgb2YgJ2Rlc2MnIGlzIHRydWUgKDE1LjQuNS4xIHN0ZXAgNC5jKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFyck9iaiA9IFtdOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnJPYmosICIxIiwgew0KICAgICAgICAgICAgd3JpdGFibGU6IGZhbHNlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB0cnkgew0KDQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyT2JqLCAiMSIsIHsNCiAgICAgICAgICAgICAgICB3cml0YWJsZTogdHJ1ZQ0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiBlIGluc3RhbmNlb2YgVHlwZUVycm9yICYmIGRhdGFQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KGFyck9iaiwgIjEiLCB1bmRlZmluZWQsIGZhbHNlLCBmYWxzZSwgZmFsc2UpOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - 'O' is an Array, 'name' is an array index named property, 'name' is data property and 'desc' is data descriptor, and the [[Configurable]] attribute value of 'name' is false, test TypeError is thrown if the [[Writable]] attribute value of 'name' is false and the [[Writable]] field of 'desc' is true (15.4.5.1 step 4.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-244.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTI0NS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdPJyBpcyBhbiBBcnJheSwgJ25hbWUnIGlzIGFuIGFycmF5IGluZGV4IG5hbWVkIHByb3BlcnR5LCAnbmFtZScgaXMgZGF0YSBwcm9wZXJ0eSBhbmQgJ2Rlc2MnIGlzIGRhdGEgZGVzY3JpcHRvciwgYW5kIHRoZSBbW0NvbmZpZ3VyYWJsZV1dIGF0dHJpYnV0ZSB2YWx1ZSBvZiAnbmFtZScgaXMgZmFsc2UsIHRlc3QgVHlwZUVycm9yIGlzIHRocm93biBpZiB0aGUgW1tXcml0YWJsZV1dIGF0dHJpYnV0ZSB2YWx1ZSBvZiAnbmFtZScgaXMgZmFsc2UsIGFuZCB0aGUgdHlwZSBvZiB0aGUgW1tWYWx1ZV1dIGZpZWxkIG9mICdkZXNjJyBpcyBkaWZmZXJlbnQgZnJvbSB0aGUgdHlwZSBvZiB0aGUgW1tWYWx1ZV1dIGF0dHJpYnV0ZSB2YWx1ZSBvZiAnbmFtZScgKDE1LjQuNS4xIHN0ZXAgNC5jKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFyck9iaiA9IFtdOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnJPYmosICIxIiwgew0KICAgICAgICAgICAgdmFsdWU6IDMsDQogICAgICAgICAgICB3cml0YWJsZTogZmFsc2UsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgIH0pOw0KDQogICAgICAgIHRyeSB7DQoNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnJPYmosICIxIiwgew0KICAgICAgICAgICAgICAgIHZhbHVlOiAiYWJjIg0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiBlIGluc3RhbmNlb2YgVHlwZUVycm9yICYmIGRhdGFQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KGFyck9iaiwgIjEiLCAzLCBmYWxzZSwgZmFsc2UsIGZhbHNlKTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'O' is an Array, 'name' is an array index named property, 'name' is data property and 'desc' is data descriptor, and the [[Configurable]] attribute value of 'name' is false, test TypeError is thrown if the [[Writable]] attribute value of 'name' is false, and the type of the [[Value]] field of 'desc' is different from the type of the [[Value]] attribute value of 'name' (15.4.5.1 step 4.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-245.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTI0Ni5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdPJyBpcyBhbiBBcnJheSwgJ25hbWUnIGlzIGFuIGFycmF5IGluZGV4IG5hbWVkIHByb3BlcnR5LCAnbmFtZScgaXMgZGF0YSBwcm9wZXJ0eSBhbmQgJ2Rlc2MnIGlzIGRhdGEgZGVzY3JpcHRvciwgYW5kIHRoZSBbW0NvbmZpZ3VyYWJsZV1dIGF0dHJpYnV0ZSB2YWx1ZSBvZiAnbmFtZScgaXMgZmFsc2UsIHRlc3QgVHlwZUVycm9yIGlzIHRocm93biBpZiB0aGUgW1tXcml0YWJsZV1dIGF0dHJpYnV0ZSB2YWx1ZSBvZiAnbmFtZScgaXMgZmFsc2UsIGFuZCB0aGUgW1tWYWx1ZV1dIGZpZWxkIG9mICdkZXNjJyBpcyArMCwgYW5kIHRoZSBbW1ZhbHVlXV0gYXR0cmlidXRlIHZhbHVlIG9mICduYW1lJyBpcyAtMCAoMTUuNC41LjEgc3RlcCA0LmMpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIGFyck9iaiA9IFtdOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnJPYmosICIxIiwgew0KICAgICAgICAgICAgdmFsdWU6IC0wDQoNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnJPYmosICIxIiwgew0KICAgICAgICAgICAgICAgIHZhbHVlOiArMA0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IgJiYgZGF0YVByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3QoYXJyT2JqLCAiMSIsIC0wLCBmYWxzZSwgZmFsc2UsIGZhbHNlKTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'O' is an Array, 'name' is an array index named property, 'name' is data property and 'desc' is data descriptor, and the [[Configurable]] attribute value of 'name' is false, test TypeError is thrown if the [[Writable]] attribute value of 'name' is false, and the [[Value]] field of 'desc' is +0, and the [[Value]] attribute value of 'name' is -0 (15.4.5.1 step 4.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-246.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTI0Ny5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdPJyBpcyBhbiBBcnJheSwgJ25hbWUnIGlzIGFuIGFycmF5IGluZGV4IG5hbWVkIHByb3BlcnR5LCAnbmFtZScgaXMgZGF0YSBwcm9wZXJ0eSBhbmQgJ2Rlc2MnIGlzIGRhdGEgZGVzY3JpcHRvciwgYW5kIHRoZSBbW0NvbmZpZ3VyYWJsZV1dIGF0dHJpYnV0ZSB2YWx1ZSBvZiAnbmFtZScgaXMgZmFsc2UsIHRlc3QgVHlwZUVycm9yIGlzIHRocm93biBpZiB0aGUgW1tXcml0YWJsZV1dIGF0dHJpYnV0ZSB2YWx1ZSBvZiAnbmFtZScgaXMgZmFsc2UsIGFuZCB0aGUgW1tWYWx1ZV1dIGZpZWxkIG9mICdkZXNjJyBpcyAtMCwgYW5kIHRoZSBbW1ZhbHVlXV0gYXR0cmlidXRlIHZhbHVlIG9mICduYW1lJyBpcyArMCAoMTUuNC41LjEgc3RlcCA0LmMpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIGFyck9iaiA9IFtdOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnJPYmosICIxIiwgew0KICAgICAgICAgICAgdmFsdWU6ICswDQogICAgICAgIH0pOw0KDQogICAgICAgIHRyeSB7DQoNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnJPYmosICIxIiwgew0KICAgICAgICAgICAgICAgIHZhbHVlOiAtMA0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiBlIGluc3RhbmNlb2YgVHlwZUVycm9yICYmIGRhdGFQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KGFyck9iaiwgIjEiLCArMCwgZmFsc2UsIGZhbHNlLCBmYWxzZSk7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'O' is an Array, 'name' is an array index named property, 'name' is data property and 'desc' is data descriptor, and the [[Configurable]] attribute value of 'name' is false, test TypeError is thrown if the [[Writable]] attribute value of 'name' is false, and the [[Value]] field of 'desc' is -0, and the [[Value]] attribute value of 'name' is +0 (15.4.5.1 step 4.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-247.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTI0OC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdPJyBpcyBhbiBBcnJheSwgJ25hbWUnIGlzIGFuIGFycmF5IGluZGV4IG5hbWVkIHByb3BlcnR5LCAnbmFtZScgaXMgZGF0YSBwcm9wZXJ0eSBhbmQgJ2Rlc2MnIGlzIGRhdGEgZGVzY3JpcHRvciwgYW5kIHRoZSBbW0NvbmZpZ3VyYWJsZV1dIGF0dHJpYnV0ZSB2YWx1ZSBvZiAnbmFtZScgaXMgZmFsc2UsIHRlc3QgVHlwZUVycm9yIGlzIHRocm93biBpZiB0aGUgW1tXcml0YWJsZV1dIGF0dHJpYnV0ZSB2YWx1ZSBvZiAnbmFtZScgaXMgZmFsc2UsIGFuZCB0aGUgW1tWYWx1ZV1dIGZpZWxkIG9mICdkZXNjJyBhbmQgdGhlIFtbVmFsdWVdXSBhdHRyaWJ1dGUgdmFsdWUgb2YgJ25hbWUnIGFyZSB0d28gbnVtYmVycyB3aXRoIGRpZmZlcmVudCB2YXVsZXMgKDE1LjQuNS4xIHN0ZXAgNC5jKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBhcnJPYmogPSBbXTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyT2JqLCAiMSIsIHsNCiAgICAgICAgICAgIHZhbHVlOiAxMg0KICAgICAgICB9KTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyck9iaiwgIjEiLCB7DQogICAgICAgICAgICAgICAgdmFsdWU6IDE1DQogICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IgJiYgZGF0YVByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3QoYXJyT2JqLCAiMSIsIDEyLCBmYWxzZSwgZmFsc2UsIGZhbHNlKTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'O' is an Array, 'name' is an array index named property, 'name' is data property and 'desc' is data descriptor, and the [[Configurable]] attribute value of 'name' is false, test TypeError is thrown if the [[Writable]] attribute value of 'name' is false, and the [[Value]] field of 'desc' and the [[Value]] attribute value of 'name' are two numbers with different vaules (15.4.5.1 step 4.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-248.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTI0OS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdPJyBpcyBhbiBBcnJheSwgJ25hbWUnIGlzIGFuIGFycmF5IGluZGV4IG5hbWVkIHByb3BlcnR5LCAnbmFtZScgaXMgZGF0YSBwcm9wZXJ0eSBhbmQgJ2Rlc2MnIGlzIGRhdGEgZGVzY3JpcHRvciwgYW5kIHRoZSBbW0NvbmZpZ3VyYWJsZV1dIGF0dHJpYnV0ZSB2YWx1ZSBvZiAnbmFtZScgaXMgZmFsc2UsIHRlc3QgVHlwZUVycm9yIGlzIHRocm93biBpZiB0aGUgW1tXcml0YWJsZV1dIGF0dHJpYnV0ZSB2YWx1ZSBvZiAnbmFtZScgaXMgZmFsc2UsIGFuZCB0aGUgW1tWYWx1ZV1dIGZpZWxkIG9mICdkZXNjJyBhbmQgdGhlIFtbVmFsdWVdXSBhdHRyaWJ1dGUgdmFsdWUgb2YgJ25hbWUnIGFyZSB0d28gc3RyaW5ncyB3aXRoIGRpZmZlcmVudCB2YWx1ZXMgKDE1LjQuNS4xIHN0ZXAgNC5jKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBhcnJPYmogPSBbXTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyT2JqLCAiMSIsIHsNCiAgICAgICAgICAgIHZhbHVlOiAiYWJjIg0KICAgICAgICB9KTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyck9iaiwgIjEiLCB7DQogICAgICAgICAgICAgICAgdmFsdWU6ICJmZ2giDQogICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFR5cGVFcnJvciAmJiBkYXRhUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChhcnJPYmosICIxIiwgImFiYyIsIGZhbHNlLCBmYWxzZSwgZmFsc2UpOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - 'O' is an Array, 'name' is an array index named property, 'name' is data property and 'desc' is data descriptor, and the [[Configurable]] attribute value of 'name' is false, test TypeError is thrown if the [[Writable]] attribute value of 'name' is false, and the [[Value]] field of 'desc' and the [[Value]] attribute value of 'name' are two strings with different values (15.4.5.1 step 4.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-249.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTI1LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnR5IC0gJ2RhdGEnIGlzIG93biBkYXRhIHByb3BlcnR5IHRoYXQgb3ZlcnJpZGVzIGFuIGluaGVyaXRlZCBhY2Nlc3NvciBwcm9wZXJ0eSAoOC4xMi45IHN0ZXAgMSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgcHJvdG8gPSB7fTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHByb3RvLCAiZm9vIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7IH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIENvbnN0cnVjdEZ1biA9IGZ1bmN0aW9uICgpIHsgfTsNCiAgICAgICAgQ29uc3RydWN0RnVuLnByb3RvdHlwZSA9IHByb3RvOw0KICAgICAgICB2YXIgb2JqID0gbmV3IENvbnN0cnVjdEZ1bigpOw0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiZm9vIiwgew0KICAgICAgICAgICAgdmFsdWU6IDExLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgImZvbyIsIHsNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFR5cGVFcnJvciAmJiBvYmouZm9vID09PSAxMTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'data' is own data property that overrides an inherited accessor property (8.12.9 step 1)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-25.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTI1MC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdPJyBpcyBhbiBBcnJheSwgJ25hbWUnIGlzIGFuIGFycmF5IGluZGV4IG5hbWVkIHByb3BlcnR5LCAnbmFtZScgaXMgZGF0YSBwcm9wZXJ0eSBhbmQgJ2Rlc2MnIGlzIGRhdGEgZGVzY3JpcHRvciwgYW5kIHRoZSBbW0NvbmZpZ3VyYWJsZV1dIGF0dHJpYnV0ZSB2YWx1ZSBvZiAnbmFtZScgaXMgZmFsc2UsIHRlc3QgVHlwZUVycm9yIGlzIHRocm93biBpZiB0aGUgW1tXcml0YWJsZV1dIGF0dHJpYnV0ZSB2YWx1ZSBvZiAnbmFtZScgaXMgZmFsc2UsIGFuZCB0aGUgW1tWYWx1ZV1dIGZpZWxkIG9mICdkZXNjJyBhbmQgdGhlIFtbVmFsdWVdXSBhdHRyaWJ1dGUgdmFsdWUgb2YgJ25hbWUnIGFyZSB0d28gYm9vbGVhbnMgd2l0aCBkaWZmZXJlbnQgdmFsdWVzICgxNS40LjUuMSBzdGVwIDQuYykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgYXJyT2JqID0gW107DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyck9iaiwgIjEiLCB7DQogICAgICAgICAgICB2YWx1ZTogZmFsc2UNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnJPYmosICIxIiwgew0KICAgICAgICAgICAgICAgIHZhbHVlOiB0cnVlDQogICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFR5cGVFcnJvciAmJiBkYXRhUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChhcnJPYmosICIxIiwgZmFsc2UsIGZhbHNlLCBmYWxzZSwgZmFsc2UpOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - 'O' is an Array, 'name' is an array index named property, 'name' is data property and 'desc' is data descriptor, and the [[Configurable]] attribute value of 'name' is false, test TypeError is thrown if the [[Writable]] attribute value of 'name' is false, and the [[Value]] field of 'desc' and the [[Value]] attribute value of 'name' are two booleans with different values (15.4.5.1 step 4.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-250.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTI1MS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdPJyBpcyBhbiBBcnJheSwgJ25hbWUnIGlzIGFuIGFycmF5IGluZGV4IG5hbWVkIHByb3BlcnR5LCAnbmFtZScgaXMgZGF0YSBwcm9wZXJ0eSBhbmQgJ2Rlc2MnIGlzIGRhdGEgZGVzY3JpcHRvciwgYW5kIHRoZSBbW0NvbmZpZ3VyYWJsZV1dIGF0dHJpYnV0ZSB2YWx1ZSBvZiAnbmFtZScgaXMgZmFsc2UsIHRlc3QgVHlwZUVycm9yIGlzIHRocm93biBpZiB0aGUgW1tXcml0YWJsZV1dIGF0dHJpYnV0ZSB2YWx1ZSBvZiAnbmFtZScgaXMgZmFsc2UsIGFuZCB0aGUgW1tWYWx1ZV1dIGZpZWxkIG9mICdkZXNjJyBhbmQgdGhlIFtbVmFsdWVdXSBhdHRyaWJ1dGUgdmFsdWUgb2YgJ25hbWUnIGFyZSB0d28gb2JqZWN0cyB3aGljaCByZWZlciB0byB0aGUgZGlmZmVyZW50IG9iamVjdHMgKDE1LjQuNS4xIHN0ZXAgNC5jKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBhcnJPYmogPSBbXTsNCiAgICAgICAgdmFyIG9iaiA9IHsgbGVuZ3RoOiAxMCB9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnJPYmosICIxIiwgew0KICAgICAgICAgICAgdmFsdWU6IG9iag0KICAgICAgICB9KTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyck9iaiwgIjEiLCB7IHZhbHVlOiB7fSB9KTsNCg0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFR5cGVFcnJvciAmJiBkYXRhUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChhcnJPYmosICIxIiwgb2JqLCBmYWxzZSwgZmFsc2UsIGZhbHNlKTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'O' is an Array, 'name' is an array index named property, 'name' is data property and 'desc' is data descriptor, and the [[Configurable]] attribute value of 'name' is false, test TypeError is thrown if the [[Writable]] attribute value of 'name' is false, and the [[Value]] field of 'desc' and the [[Value]] attribute value of 'name' are two objects which refer to the different objects (15.4.5.1 step 4.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-251.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTI1Mi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdPJyBpcyBhbiBBcnJheSwgJ25hbWUnIGlzIGFuIGFycmF5IGluZGV4IG5hbWVkIHByb3BlcnR5LCAnbmFtZScgaXMgYWNjZXNzb3IgcHJvcGVydHkgYW5kICdkZXNjJyBpcyBhY2Nlc3NvciBkZXNjcmlwdG9yLCBhbmQgdGhlIFtbQ29uZmlndXJhYmxlXV0gYXR0cmlidXRlIHZhbHVlIG9mICduYW1lJyBpcyBmYWxzZSwgdGVzdCBUeXBlRXJyb3IgaXMgdGhyb3duIGlmIHRoZSBbW1NldF1dIGZpZWxkIG9mICdkZXNjJyBpcyBwcmVzZW50LCBhbmQgdGhlIFtbU2V0XV0gZmllbGQgb2YgJ2Rlc2MnIGFuZCB0aGUgW1tTZXRdXSBhdHRyaWJ1dGUgdmFsdWUgb2YgJ25hbWUnIGFyZSB0d28gb2JqZWN0cyB3aGljaCByZWZlciB0byB0aGUgZGlmZmVyZW50IG9iamVjdHMgKDE1LjQuNS4xIHN0ZXAgNC5jKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBhcnJPYmogPSBbXTsNCg0KICAgICAgICBmdW5jdGlvbiBzZXRGdW5jKHZhbHVlKSB7DQogICAgICAgICAgICBhcnJPYmouc2V0VmVyaWZ5SGVscFByb3AgPSB2YWx1ZTsNCiAgICAgICAgfQ0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyT2JqLCAiMSIsIHsNCiAgICAgICAgICAgIHNldDogc2V0RnVuYw0KICAgICAgICB9KTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyck9iaiwgIjEiLCB7DQogICAgICAgICAgICAgICAgc2V0OiBmdW5jdGlvbiAoKSB7IH0NCiAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiBlIGluc3RhbmNlb2YgVHlwZUVycm9yICYmIGFjY2Vzc29yUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChhcnJPYmosICIxIiwgdW5kZWZpbmVkLCBzZXRGdW5jLCAic2V0VmVyaWZ5SGVscFByb3AiLCBmYWxzZSwgZmFsc2UpOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - 'O' is an Array, 'name' is an array index named property, 'name' is accessor property and 'desc' is accessor descriptor, and the [[Configurable]] attribute value of 'name' is false, test TypeError is thrown if the [[Set]] field of 'desc' is present, and the [[Set]] field of 'desc' and the [[Set]] attribute value of 'name' are two objects which refer to the different objects (15.4.5.1 step 4.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-252.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTI1My5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdPJyBpcyBhbiBBcnJheSwgJ25hbWUnIGlzIGFuIGFycmF5IGluZGV4IG5hbWVkIHByb3BlcnR5LCAnbmFtZScgaXMgYWNjZXNzb3IgcHJvcGVydHkgYW5kICdkZXNjJyBpcyBhY2Nlc3NvciBkZXNjcmlwdG9yLCBhbmQgdGhlIFtbQ29uZmlndXJhYmxlXV0gYXR0cmlidXRlIHZhbHVlIG9mICduYW1lJyBpcyBmYWxzZSwgdGVzdCBUeXBlRXJyb3IgaXMgdGhyb3duIGlmIHRoZSBbW1NldF1dIGZpZWxkIG9mICdkZXNjJyBpcyBwcmVzZW50LCBhbmQgdGhlIFtbU2V0XV0gZmllbGQgb2YgJ2Rlc2MnIGlzIGFuIG9iamVjdCBhbmQgdGhlIFtbU2V0XV0gYXR0cmlidXRlIHZhbHVlIG9mICduYW1lJyBpcyB1bmRlZmluZWQgKDE1LjQuNS4xIHN0ZXAgNC5jKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBhcnJPYmogPSBbXTsNCiAgICAgICAgZnVuY3Rpb24gZ2V0RnVuYygpIHsNCiAgICAgICAgICAgIHJldHVybiAxMjsNCiAgICAgICAgfQ0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnJPYmosICIxIiwgew0KICAgICAgICAgICAgZ2V0OiBnZXRGdW5jLA0KICAgICAgICAgICAgc2V0OiB1bmRlZmluZWQNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnJPYmosICIxIiwgew0KICAgICAgICAgICAgICAgIHNldDogZnVuY3Rpb24gKCkgeyB9DQogICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IgJiYgYWNjZXNzb3JQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KGFyck9iaiwgIjEiLCBnZXRGdW5jLCB1bmRlZmluZWQsIHVuZGVmaW5lZCwgZmFsc2UsIGZhbHNlKTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'O' is an Array, 'name' is an array index named property, 'name' is accessor property and 'desc' is accessor descriptor, and the [[Configurable]] attribute value of 'name' is false, test TypeError is thrown if the [[Set]] field of 'desc' is present, and the [[Set]] field of 'desc' is an object and the [[Set]] attribute value of 'name' is undefined (15.4.5.1 step 4.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-253.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTI1NC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdPJyBpcyBhbiBBcnJheSwgJ25hbWUnIGlzIGFuIGFycmF5IGluZGV4IG5hbWVkIHByb3BlcnR5LCAnbmFtZScgaXMgYWNjZXNzb3IgcHJvcGVydHkgYW5kICdkZXNjJyBpcyBhY2Nlc3NvciBkZXNjcmlwdG9yLCBhbmQgdGhlIFtbQ29uZmlndXJhYmxlXV0gYXR0cmlidXRlIHZhbHVlIG9mICduYW1lJyBpcyBmYWxzZSwgdGVzdCBUeXBlRXJyb3IgaXMgbm90IHRocm93biBpZiB0aGUgW1tTZXRdXSBmaWVsZCBvZiAnZGVzYycgaXMgcHJlc2VudCwgYW5kIHRoZSBbW1NldF1dIGZpZWxkIG9mICdkZXNjJyBhbmQgdGhlIFtbU2V0XV0gYXR0cmlidXRlIHZhbHVlIG9mICduYW1lJyBhcmUgdW5kZWZpbmVkICgxNS40LjUuMSBzdGVwIDQuYykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgYXJyT2JqID0gW107DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyck9iaiwgIjEiLCB7DQogICAgICAgICAgICBzZXQ6IHVuZGVmaW5lZA0KICAgICAgICB9KTsNCiAgICAgICAgdmFyIGhhc1Byb3BlcnR5ID0gYXJyT2JqLmhhc093blByb3BlcnR5KCIxIik7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyck9iaiwgIjEiLCB7DQogICAgICAgICAgICBzZXQ6IHVuZGVmaW5lZA0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoYXJyT2JqLCAiMSIpOw0KDQogICAgICAgIHZhciB2ZXJpZnlHZXQgPSBkZXNjLmhhc093blByb3BlcnR5KCJnZXQiKSAmJiB0eXBlb2YgZGVzYy5nZXQgPT09ICJ1bmRlZmluZWQiOw0KDQogICAgICAgIHZhciB2ZXJpZnlTZXQgPSBkZXNjLmhhc093blByb3BlcnR5KCJzZXQiKSAmJiB0eXBlb2YgZGVzYy5zZXQgPT09ICJ1bmRlZmluZWQiOw0KDQogICAgICAgIHZhciB2ZXJpZnlFbnVtZXJhYmxlID0gZmFsc2U7DQogICAgICAgIGZvciAodmFyIHAgaW4gYXJyT2JqKSB7DQogICAgICAgICAgICBpZiAocCA9PT0gIjEiKSB7DQogICAgICAgICAgICAgICAgdmVyaWZ5RW51bWVyYWJsZSA9IHRydWUNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIHZhciB2ZXJpZnlDb25maWd1cmFibGUgPSBmYWxzZTsNCiAgICAgICAgZGVsZXRlIGFyck9ialsxXTsNCiAgICAgICAgdmVyaWZ5Q29uZmlndXJhYmxlID0gYXJyT2JqLmhhc093blByb3BlcnR5KCIxIik7DQoNCiAgICAgICAgcmV0dXJuIGhhc1Byb3BlcnR5ICYmIHZlcmlmeUdldCAmJiB2ZXJpZnlTZXQgJiYgIXZlcmlmeUVudW1lcmFibGUgJiYgdmVyaWZ5Q29uZmlndXJhYmxlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'O' is an Array, 'name' is an array index named property, 'name' is accessor property and 'desc' is accessor descriptor, and the [[Configurable]] attribute value of 'name' is false, test TypeError is not thrown if the [[Set]] field of 'desc' is present, and the [[Set]] field of 'desc' and the [[Set]] attribute value of 'name' are undefined (15.4.5.1 step 4.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-254.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTI1NS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdPJyBpcyBhbiBBcnJheSwgJ25hbWUnIGlzIGFuIGFycmF5IGluZGV4IG5hbWVkIHByb3BlcnR5LCAnbmFtZScgaXMgYWNjZXNzb3IgcHJvcGVydHkgYW5kICdkZXNjJyBpcyBhY2Nlc3NvciBkZXNjcmlwdG9yLCBhbmQgdGhlIFtbQ29uZmlndXJhYmxlXV0gYXR0cmlidXRlIHZhbHVlIG9mICduYW1lJyBpcyBmYWxzZSwgdGVzdCBUeXBlRXJyb3IgaXMgdGhyb3duIGlmIHRoZSBbW0dldF1dIGZpZWxkIG9mICdkZXNjJyBpcyBwcmVzZW50LCBhbmQgdGhlIFtbR2V0XV0gZmllbGQgb2YgJ2Rlc2MnIGFuZCB0aGUgW1tHZXRdXSBhdHRyaWJ1dGUgdmFsdWUgb2YgJ25hbWUnIGFyZSB0d28gb2JqZWN0cyB3aGljaCByZWZlciB0byB0aGUgZGlmZmVyZW50IG9iamVjdHMgKDE1LjQuNS4xIHN0ZXAgNC5jKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBhcnJPYmogPSBbXTsNCg0KICAgICAgICBmdW5jdGlvbiBnZXRGdW5jKCkgew0KICAgICAgICAgICAgcmV0dXJuIDEyOw0KICAgICAgICB9DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnJPYmosICIxIiwgew0KICAgICAgICAgICAgZ2V0OiBnZXRGdW5jDQogICAgICAgIH0pOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyT2JqLCAiMSIsIHsNCiAgICAgICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDE0Ow0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHZhciBoYXNQcm9wZXJ0eSA9IGFyck9iai5oYXNPd25Qcm9wZXJ0eSgiMSIpOw0KICAgICAgICAgICAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGFyck9iaiwgIjEiKTsNCg0KICAgICAgICAgICAgdmFyIHZlcmlmeUdldCA9IGFyck9ialsxXSA9PT0gZ2V0RnVuYygpOw0KDQogICAgICAgICAgICB2YXIgdmVyaWZ5U2V0ID0gZGVzYy5oYXNPd25Qcm9wZXJ0eSgic2V0IikgJiYgdHlwZW9mIGRlc2Muc2V0ID09PSAidW5kZWZpbmVkIjsNCg0KICAgICAgICAgICAgdmFyIHZlcmlmeUVudW1lcmFibGUgPSBmYWxzZTsNCiAgICAgICAgICAgIGZvciAodmFyIHAgaW4gYXJyT2JqKSB7DQogICAgICAgICAgICAgICAgaWYgKHAgPT09ICIxIikgew0KICAgICAgICAgICAgICAgICAgICB2ZXJpZnlFbnVtZXJhYmxlID0gdHJ1ZQ0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgdmFyIHZlcmlmeUNvbmZpZ3VyYWJsZSA9IGZhbHNlOw0KICAgICAgICAgICAgZGVsZXRlIGFyck9ialsxXTsNCiAgICAgICAgICAgIHZlcmlmeUNvbmZpZ3VyYWJsZSA9IGFyck9iai5oYXNPd25Qcm9wZXJ0eSgiMSIpOw0KDQogICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFR5cGVFcnJvciAmJiBoYXNQcm9wZXJ0eSAmJiB2ZXJpZnlHZXQgJiYNCiAgICAgICAgICAgICAgICB2ZXJpZnlTZXQgJiYgIXZlcmlmeUVudW1lcmFibGUgJiYgdmVyaWZ5Q29uZmlndXJhYmxlOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - 'O' is an Array, 'name' is an array index named property, 'name' is accessor property and 'desc' is accessor descriptor, and the [[Configurable]] attribute value of 'name' is false, test TypeError is thrown if the [[Get]] field of 'desc' is present, and the [[Get]] field of 'desc' and the [[Get]] attribute value of 'name' are two objects which refer to the different objects (15.4.5.1 step 4.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-255.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTI1Ni5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdPJyBpcyBhbiBBcnJheSwgJ25hbWUnIGlzIGFuIGFycmF5IGluZGV4IG5hbWVkIHByb3BlcnR5LCAnbmFtZScgaXMgYWNjZXNzb3IgcHJvcGVydHkgYW5kICdkZXNjJyBpcyBhY2Nlc3NvciBkZXNjcmlwdG9yLCBhbmQgdGhlIFtbQ29uZmlndXJhYmxlXV0gYXR0cmlidXRlIHZhbHVlIG9mICduYW1lJyBpcyBmYWxzZSwgdGVzdCBUeXBlRXJyb3IgaXMgdGhyb3duIGlmIHRoZSBbW0dldF1dIGZpZWxkIG9mICdkZXNjJyBpcyBwcmVzZW50LCBhbmQgdGhlIFtbR2V0XV0gZmllbGQgb2YgJ2Rlc2MnIGlzIGFuIG9iamVjdCBhbmQgdGhlIFtbR2V0XV0gYXR0cmlidXRlIHZhbHVlIG9mICduYW1lJyBpcyB1bmRlZmluZWQgKDE1LjQuNS4xIHN0ZXAgNC5jKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBhcnJPYmogPSBbXTsNCiAgICAgICAgZnVuY3Rpb24gZ2V0RnVuYygpIHsNCiAgICAgICAgICAgIHJldHVybiAxMjsNCiAgICAgICAgfQ0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnJPYmosICIxIiwgew0KICAgICAgICAgICAgZ2V0OiBnZXRGdW5jDQogICAgICAgIH0pOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyT2JqLCAiMSIsIHsNCiAgICAgICAgICAgICAgICBnZXQ6IHVuZGVmaW5lZA0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHZhciBoYXNQcm9wZXJ0eSA9IGFyck9iai5oYXNPd25Qcm9wZXJ0eSgiMSIpOw0KICAgICAgICAgICAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGFyck9iaiwgIjEiKTsNCg0KICAgICAgICAgICAgdmFyIHZlcmlmeUdldCA9IGFyck9ialsxXSA9PT0gZ2V0RnVuYygpOw0KDQogICAgICAgICAgICB2YXIgdmVyaWZ5U2V0ID0gZGVzYy5oYXNPd25Qcm9wZXJ0eSgic2V0IikgJiYgdHlwZW9mIGRlc2Muc2V0ID09PSAidW5kZWZpbmVkIjsNCg0KICAgICAgICAgICAgdmFyIHZlcmlmeUVudW1lcmFibGUgPSBmYWxzZTsNCiAgICAgICAgICAgIGZvciAodmFyIHAgaW4gYXJyT2JqKSB7DQogICAgICAgICAgICAgICAgaWYgKHAgPT09ICIxIikgew0KICAgICAgICAgICAgICAgICAgICB2ZXJpZnlFbnVtZXJhYmxlID0gdHJ1ZQ0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgdmFyIHZlcmlmeUNvbmZpZ3VyYWJsZSA9IGZhbHNlOw0KICAgICAgICAgICAgZGVsZXRlIGFyck9ialsxXTsNCiAgICAgICAgICAgIHZlcmlmeUNvbmZpZ3VyYWJsZSA9IGFyck9iai5oYXNPd25Qcm9wZXJ0eSgiMSIpOw0KDQogICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFR5cGVFcnJvciAmJiBoYXNQcm9wZXJ0eSAmJiB2ZXJpZnlHZXQgJiYNCiAgICAgICAgICAgICAgICB2ZXJpZnlTZXQgJiYgIXZlcmlmeUVudW1lcmFibGUgJiYgdmVyaWZ5Q29uZmlndXJhYmxlOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - 'O' is an Array, 'name' is an array index named property, 'name' is accessor property and 'desc' is accessor descriptor, and the [[Configurable]] attribute value of 'name' is false, test TypeError is thrown if the [[Get]] field of 'desc' is present, and the [[Get]] field of 'desc' is an object and the [[Get]] attribute value of 'name' is undefined (15.4.5.1 step 4.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-256.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTI1Ny5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdPJyBpcyBhbiBBcnJheSwgJ25hbWUnIGlzIGFuIGFycmF5IGluZGV4IG5hbWVkIHByb3BlcnR5LCAnbmFtZScgaXMgYWNjZXNzb3IgcHJvcGVydHkgYW5kICdkZXNjJyBpcyBhY2Nlc3NvciBkZXNjcmlwdG9yLCBhbmQgdGhlIFtbQ29uZmlndXJhYmxlXV0gYXR0cmlidXRlIHZhbHVlIG9mICduYW1lJyBpcyBmYWxzZSwgdGVzdCBUeXBlRXJyb3IgaXMgbm90IHRocm93biBpZiB0aGUgW1tHZXRdXSBmaWVsZCBvZiAnZGVzYycgaXMgcHJlc2VudCwgYW5kIHRoZSBbW0dldF1dIGZpZWxkIG9mICdkZXNjJyBhbmQgdGhlIFtbR2V0XV0gYXR0cmlidXRlIHZhbHVlIG9mICduYW1lJyBhcmUgdW5kZWZpbmVkICgxNS40LjUuMSBzdGVwIDQuYykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgYXJyT2JqID0gW107DQogICAgICAgIGZ1bmN0aW9uIHNldEZ1bmModmFsdWUpIHsNCiAgICAgICAgICAgIGFyck9iai5zZXRWZXJpZnlIZWxwUHJvcCA9IHZhbHVlOw0KICAgICAgICB9DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyck9iaiwgIjEiLCB7DQogICAgICAgICAgICBnZXQ6IHVuZGVmaW5lZCwNCiAgICAgICAgICAgIHNldDogc2V0RnVuYywNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnJPYmosICIxIiwgew0KICAgICAgICAgICAgICAgIGdldDogdW5kZWZpbmVkDQogICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgcmV0dXJuIGFjY2Vzc29yUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChhcnJPYmosICIxIiwgdW5kZWZpbmVkLCBzZXRGdW5jLCAic2V0VmVyaWZ5SGVscFByb3AiLCBmYWxzZSwgZmFsc2UpOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'O' is an Array, 'name' is an array index named property, 'name' is accessor property and 'desc' is accessor descriptor, and the [[Configurable]] attribute value of 'name' is false, test TypeError is not thrown if the [[Get]] field of 'desc' is present, and the [[Get]] field of 'desc' and the [[Get]] attribute value of 'name' are undefined (15.4.5.1 step 4.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-257.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTI1OC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdPJyBpcyBhbiBBcnJheSwgJ25hbWUnIGlzIGFuIGFycmF5IGluZGV4IG5hbWVkIHByb3BlcnR5LCBuYW1lIGlzIGRhdGEgcHJvcGVydHkgYW5kICdkZXNjJyBpcyBkYXRhIGRlc2NyaXB0b3IsIHRlc3QgdXBkYXRpbmcgdGhlIFtbVmFsdWVdXSBhdHRyaWJ1dGUgdmFsdWUgb2YgJ25hbWUnICgxNS40LjUuMSBzdGVwIDQuYykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhcnJPYmogPSBbMTAwXTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyT2JqLCAiMCIsIHsNCiAgICAgICAgICAgIHZhbHVlOiAyMDANCiAgICAgICAgfSk7DQogICAgICAgIHJldHVybiBkYXRhUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChhcnJPYmosICIwIiwgMjAwLCB0cnVlLCB0cnVlLCB0cnVlKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'O' is an Array, 'name' is an array index named property, name is data property and 'desc' is data descriptor, test updating the [[Value]] attribute value of 'name' (15.4.5.1 step 4.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-258.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTI1OS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdPJyBpcyBhbiBBcnJheSwgJ25hbWUnIGlzIGFuIGFycmF5IGluZGV4IG5hbWVkIHByb3BlcnR5LCBuYW1lIGlzIGRhdGEgcHJvcGVydHkgYW5kICdkZXNjJyBpcyBkYXRhIGRlc2NyaXB0b3IsIHRlc3Qgc2V0dGluZyB0aGUgW1tWYWx1ZV1dIGF0dHJpYnV0ZSB2YWx1ZSBvZiAnbmFtZScgYXMgdW5kZWZpbmVkICgxNS40LjUuMSBzdGVwIDQuYykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhcnJPYmogPSBbMTAwXTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyT2JqLCAiMCIsIHsNCiAgICAgICAgICAgIHZhbHVlOiB1bmRlZmluZWQNCiAgICAgICAgfSk7DQogICAgICAgIHJldHVybiBkYXRhUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChhcnJPYmosICIwIiwgdW5kZWZpbmVkLCB0cnVlLCB0cnVlLCB0cnVlKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'O' is an Array, 'name' is an array index named property, name is data property and 'desc' is data descriptor, test setting the [[Value]] attribute value of 'name' as undefined (15.4.5.1 step 4.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-259.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTI2LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnR5IC0gJ25hbWUnIGlzIG93biBhY2Nlc3NvciBwcm9wZXJ0eSAoOC4xMi45IHN0ZXAgMSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3BlcnR5Iiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIDExOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wZXJ0eSIsIHsNCiAgICAgICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDEyOw0KICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IgJiYgb2JqLnByb3BlcnR5ID09PSAxMTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'name' is own accessor property (8.12.9 step 1)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-26.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTI2MC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdPJyBpcyBhbiBBcnJheSwgJ25hbWUnIGlzIGFuIGFycmF5IGluZGV4IG5hbWVkIHByb3BlcnR5LCBuYW1lIGlzIGRhdGEgcHJvcGVydHkgYW5kICdkZXNjJyBpcyBkYXRhIGRlc2NyaXB0b3IsIHRlc3Qgc2V0dGluZyB0aGUgW1tWYWx1ZV1dIGF0dHJpYnV0ZSB2YWx1ZSBvZiAnbmFtZScgZnJvbSB1bmRlZmluZWQgdG8gbnVtYmVyICgxNS40LjUuMSBzdGVwIDQuYykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhcnJPYmogPSBbdW5kZWZpbmVkXTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyck9iaiwgIjAiLCB7DQogICAgICAgICAgICB2YWx1ZTogMTAwDQogICAgICAgIH0pOw0KICAgICAgICByZXR1cm4gZGF0YVByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3QoYXJyT2JqLCAiMCIsIDEwMCwgdHJ1ZSwgdHJ1ZSwgdHJ1ZSk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - 'O' is an Array, 'name' is an array index named property, name is data property and 'desc' is data descriptor, test setting the [[Value]] attribute value of 'name' from undefined to number (15.4.5.1 step 4.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-260.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTI2MS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdPJyBpcyBhbiBBcnJheSwgJ25hbWUnIGlzIGFuIGFycmF5IGluZGV4IG5hbWVkIHByb3BlcnR5LCBuYW1lIGlzIGRhdGEgcHJvcGVydHkgYW5kICdkZXNjJyBpcyBkYXRhIGRlc2NyaXB0b3IsIHRlc3QgdXBkYXRpbmcgdGhlIFtbV3JpdGFibGVdXSBhdHRyaWJ1dGUgdmFsdWUgb2YgJ25hbWUnICgxNS40LjUuMSBzdGVwIDQuYykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhcnJPYmogPSBbMTAwXTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyck9iaiwgIjAiLCB7DQogICAgICAgICAgICB3cml0YWJsZTogZmFsc2UNCiAgICAgICAgfSk7DQogICAgICAgIHJldHVybiBkYXRhUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChhcnJPYmosICIwIiwgMTAwLCBmYWxzZSwgdHJ1ZSwgdHJ1ZSk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - 'O' is an Array, 'name' is an array index named property, name is data property and 'desc' is data descriptor, test updating the [[Writable]] attribute value of 'name' (15.4.5.1 step 4.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-261.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTI2Mi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdPJyBpcyBhbiBBcnJheSwgJ25hbWUnIGlzIGFuIGFycmF5IGluZGV4IG5hbWVkIHByb3BlcnR5LCBuYW1lIGlzIGRhdGEgcHJvcGVydHkgYW5kICdkZXNjJyBpcyBkYXRhIGRlc2NyaXB0b3IsIHRlc3QgdXBkYXRpbmcgdGhlIFtbRW51bWVyYWJsZV1dIGF0dHJpYnV0ZSB2YWx1ZSBvZiAnbmFtZScgKDE1LjQuNS4xIHN0ZXAgNC5jKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFyck9iaiA9IFsxMDBdOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnJPYmosICIwIiwgew0KICAgICAgICAgICAgZW51bWVyYWJsZTogZmFsc2UNCiAgICAgICAgfSk7DQogICAgICAgIHJldHVybiBkYXRhUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChhcnJPYmosICIwIiwgMTAwLCB0cnVlLCBmYWxzZSwgdHJ1ZSk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - 'O' is an Array, 'name' is an array index named property, name is data property and 'desc' is data descriptor, test updating the [[Enumerable]] attribute value of 'name' (15.4.5.1 step 4.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-262.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTI2My5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdPJyBpcyBhbiBBcnJheSwgJ25hbWUnIGlzIGFuIGFycmF5IGluZGV4IG5hbWVkIHByb3BlcnR5LCBuYW1lIGlzIGRhdGEgcHJvcGVydHkgYW5kICdkZXNjJyBpcyBkYXRhIGRlc2NyaXB0b3IsIHRlc3QgdXBkYXRpbmcgdGhlIFtbQ29uZmlndXJhYmxlXV0gYXR0cmlidXRlIHZhbHVlIG9mICduYW1lJyAoMTUuNC41LjEgc3RlcCA0LmMpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYXJyT2JqID0gWzEwMF07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyck9iaiwgIjAiLCB7DQogICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgIH0pOw0KICAgICAgICByZXR1cm4gZGF0YVByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3QoYXJyT2JqLCAiMCIsIDEwMCwgdHJ1ZSwgdHJ1ZSwgZmFsc2UpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'O' is an Array, 'name' is an array index named property, name is data property and 'desc' is data descriptor, test updating the [[Configurable]] attribute value of 'name' (15.4.5.1 step 4.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-263.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTI2NC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdPJyBpcyBhbiBBcnJheSwgJ25hbWUnIGlzIGFuIGFycmF5IGluZGV4IG5hbWVkIHByb3BlcnR5LCBuYW1lIGlzIGRhdGEgcHJvcGVydHkgYW5kICdkZXNjJyBpcyBkYXRhIGRlc2NyaXB0b3IsIHRlc3QgdXBkYXRpbmcgbXVsdGlwbGUgYXR0cmlidXRlIHZhbHVlcyBvZiAnbmFtZScgKDE1LjQuNS4xIHN0ZXAgNC5jKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFyck9iaiA9IFsxMDBdOw0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyT2JqLCAiMCIsIHsNCiAgICAgICAgICAgIHdyaXRhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgIGVudW1lcmFibGU6IGZhbHNlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICB9KTsNCiAgICAgICAgcmV0dXJuIGRhdGFQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KGFyck9iaiwgIjAiLCAxMDAsIGZhbHNlLCBmYWxzZSwgZmFsc2UpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'O' is an Array, 'name' is an array index named property, name is data property and 'desc' is data descriptor, test updating multiple attribute values of 'name' (15.4.5.1 step 4.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-264.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTI2NS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdPJyBpcyBhbiBBcnJheSwgJ25hbWUnIGlzIGFuIGFycmF5IGluZGV4IG5hbWVkIHByb3BlcnR5LCBuYW1lIGlzIGFjY2Vzc29yIHByb3BlcnR5IGFuZCAnZGVzYycgaXMgYWNjZXNzb3IgZGVzY3JpcHRvciwgdGVzdCB1cGRhdGluZyB0aGUgW1tHZXRdXSBhdHRyaWJ1dGUgdmFsdWUgb2YgJ25hbWUnICgxNS40LjUuMSBzdGVwIDQuYykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhcnJPYmogPSBbXTsNCg0KICAgICAgICBmdW5jdGlvbiBnZXRGdW5jKCkgew0KICAgICAgICAgICAgcmV0dXJuIDEwMDsNCiAgICAgICAgfQ0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyT2JqLCAiMCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiAxMjsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnJPYmosICIwIiwgew0KICAgICAgICAgICAgZ2V0OiBnZXRGdW5jDQogICAgICAgIH0pOw0KICAgICAgICByZXR1cm4gYWNjZXNzb3JQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KGFyck9iaiwgIjAiLCBnZXRGdW5jLCB1bmRlZmluZWQsIHVuZGVmaW5lZCwgZmFsc2UsIHRydWUpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'O' is an Array, 'name' is an array index named property, name is accessor property and 'desc' is accessor descriptor, test updating the [[Get]] attribute value of 'name' (15.4.5.1 step 4.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-265.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTI2Ni5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdPJyBpcyBhbiBBcnJheSwgJ25hbWUnIGlzIGFuIGFycmF5IGluZGV4IG5hbWVkIHByb3BlcnR5LCBuYW1lIGlzIGFjY2Vzc29yIHByb3BlcnR5IGFuZCAnZGVzYycgaXMgYWNjZXNzb3IgZGVzY3JpcHRvciwgdGVzdCBzZXR0aW5nIHRoZSBbW0dldF1dIGF0dHJpYnV0ZSB2YWx1ZSBvZiAnbmFtZScgYXMgdW5kZWZpbmVkICgxNS40LjUuMSBzdGVwIDQuYykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhcnJPYmogPSBbXTsNCiAgICAgICAgZnVuY3Rpb24gZ2V0RnVuYygpIHsNCiAgICAgICAgICAgIHJldHVybiAxMjsNCiAgICAgICAgfQ0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnJPYmosICIwIiwgew0KICAgICAgICAgICAgZ2V0OiBnZXRGdW5jLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnJPYmosICIwIiwgew0KICAgICAgICAgICAgZ2V0OiB1bmRlZmluZWQNCiAgICAgICAgfSk7DQogICAgICAgIHJldHVybiBhY2Nlc3NvclByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3QoYXJyT2JqLCAiMCIsIHVuZGVmaW5lZCwgdW5kZWZpbmVkLCB1bmRlZmluZWQsIGZhbHNlLCB0cnVlKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'O' is an Array, 'name' is an array index named property, name is accessor property and 'desc' is accessor descriptor, test setting the [[Get]] attribute value of 'name' as undefined (15.4.5.1 step 4.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-266.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTI2Ny5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdPJyBpcyBhbiBBcnJheSwgJ25hbWUnIGlzIGFuIGFycmF5IGluZGV4IG5hbWVkIHByb3BlcnR5LCBuYW1lIGlzIGFjY2Vzc29yIHByb3BlcnR5IGFuZCAnZGVzYycgaXMgYWNjZXNzb3IgZGVzY3JpcHRvciwgdGVzdCB1cGRhdGluZyB0aGUgW1tHZXRdXSBhdHRyaWJ1dGUgdmFsdWUgb2YgJ25hbWUnIGZyb20gdW5kZWZpbmVkIHRvIGZ1bmN0aW9uIG9iamVjdCAoMTUuNC41LjEgc3RlcCA0LmMpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYXJyT2JqID0gW107DQoNCiAgICAgICAgZnVuY3Rpb24gZ2V0RnVuYygpIHsNCiAgICAgICAgICAgIHJldHVybiAxMjsNCiAgICAgICAgfQ0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyT2JqLCAiMCIsIHsNCiAgICAgICAgICAgIGdldDogdW5kZWZpbmVkLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnJPYmosICIwIiwgew0KICAgICAgICAgICAgZ2V0OiBnZXRGdW5jDQogICAgICAgIH0pOw0KICAgICAgICByZXR1cm4gYWNjZXNzb3JQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KGFyck9iaiwgIjAiLCBnZXRGdW5jLCB1bmRlZmluZWQsIHVuZGVmaW5lZCwgZmFsc2UsIHRydWUpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'O' is an Array, 'name' is an array index named property, name is accessor property and 'desc' is accessor descriptor, test updating the [[Get]] attribute value of 'name' from undefined to function object (15.4.5.1 step 4.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-267.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTI2OC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdPJyBpcyBhbiBBcnJheSwgJ25hbWUnIGlzIGFuIGFycmF5IGluZGV4IG5hbWVkIHByb3BlcnR5LCBuYW1lIGlzIGFjY2Vzc29yIHByb3BlcnR5IGFuZCAnZGVzYycgaXMgYWNjZXNzb3IgZGVzY3JpcHRvciwgdGVzdCB1cGRhdGluZyB0aGUgW1tTZXRdXSBhdHRyaWJ1dGUgdmFsdWUgb2YgJ25hbWUnICgxNS40LjUuMSBzdGVwIDQuYykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhcnJPYmogPSBbXTsNCg0KICAgICAgICBmdW5jdGlvbiBzZXRGdW5jKHZhbHVlKSB7DQogICAgICAgICAgICBhcnJPYmouc2V0VmVyaWZ5SGVscFByb3AgPSB2YWx1ZTsNCiAgICAgICAgfQ0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyT2JqLCAiMCIsIHsNCiAgICAgICAgICAgIHNldDogZnVuY3Rpb24gKCkgeyB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnJPYmosICIwIiwgew0KICAgICAgICAgICAgc2V0OiBzZXRGdW5jDQogICAgICAgIH0pOw0KICAgICAgICByZXR1cm4gYWNjZXNzb3JQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KGFyck9iaiwgIjAiLCB1bmRlZmluZWQsIHNldEZ1bmMsICJzZXRWZXJpZnlIZWxwUHJvcCIsIGZhbHNlLCB0cnVlKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'O' is an Array, 'name' is an array index named property, name is accessor property and 'desc' is accessor descriptor, test updating the [[Set]] attribute value of 'name' (15.4.5.1 step 4.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-268.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTI2OS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdPJyBpcyBhbiBBcnJheSwgJ25hbWUnIGlzIGFuIGFycmF5IGluZGV4IG5hbWVkIHByb3BlcnR5LCBuYW1lIGlzIGFjY2Vzc29yIHByb3BlcnR5IGFuZCAnZGVzYycgaXMgYWNjZXNzb3IgZGVzY3JpcHRvciwgdGVzdCBzZXR0aW5nIHRoZSBbW1NldF1dIGF0dHJpYnV0ZSB2YWx1ZSBvZiAnbmFtZScgYXMgdW5kZWZpbmVkICgxNS40LjUuMSBzdGVwIDQuYykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhcnJPYmogPSBbXTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyT2JqLCAiMCIsIHsNCiAgICAgICAgICAgIHNldDogZnVuY3Rpb24gKCkgeyB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnJPYmosICIwIiwgew0KICAgICAgICAgICAgc2V0OiB1bmRlZmluZWQNCiAgICAgICAgfSk7DQogICAgICAgIHJldHVybiBhY2Nlc3NvclByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3QoYXJyT2JqLCAiMCIsIHVuZGVmaW5lZCwgdW5kZWZpbmVkLCB1bmRlZmluZWQsIGZhbHNlLCB0cnVlKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'O' is an Array, 'name' is an array index named property, name is accessor property and 'desc' is accessor descriptor, test setting the [[Set]] attribute value of 'name' as undefined (15.4.5.1 step 4.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-269.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTI3LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnR5IC0gJ25hbWUnIGlzIGFuIGluaGVyaXRlZCBhY2Nlc3NvciBwcm9wZXJ0eSAoOC4xMi45IHN0ZXAgMSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgcHJvdG8gPSB7fTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHByb3RvLCAicHJvcGVydHkiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gMTE7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgQ29uc3RydWN0RnVuID0gZnVuY3Rpb24gKCkgeyB9Ow0KICAgICAgICBDb25zdHJ1Y3RGdW4ucHJvdG90eXBlID0gcHJvdG87DQogICAgICAgIHZhciBvYmogPSBuZXcgQ29uc3RydWN0RnVuKCk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3BlcnR5Iiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIDEyOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCiAgICAgICAgcmV0dXJuIG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcGVydHkiKSAmJiBvYmoucHJvcGVydHkgPT09IDEyOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'name' is an inherited accessor property (8.12.9 step 1)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-27.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTI3MC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdPJyBpcyBhbiBBcnJheSwgJ25hbWUnIGlzIGFuIGFycmF5IGluZGV4IG5hbWVkIHByb3BlcnR5LCBuYW1lIGlzIGFjY2Vzc29yIHByb3BlcnR5IGFuZCAnZGVzYycgaXMgYWNjZXNzb3IgZGVzY3JpcHRvciwgdGVzdCB1cGRhdGluZyB0aGUgW1tTZXRdXSBhdHRyaWJ1dGUgdmFsdWUgb2YgJ25hbWUnIGZyb20gdW5kZWZpbmVkIHRvIGZ1bmN0aW9uIG9iamVjdCAoMTUuNC41LjEgc3RlcCA0LmMpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYXJyT2JqID0gW107DQoNCiAgICAgICAgZnVuY3Rpb24gc2V0RnVuYyh2YWx1ZSkgew0KICAgICAgICAgICAgYXJyT2JqLnNldFZlcmlmeUhlbHBQcm9wID0gdmFsdWU7DQogICAgICAgIH0NCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyT2JqLCAiMCIsIHsNCiAgICAgICAgICAgIHNldDogdW5kZWZpbmVkLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnJPYmosICIwIiwgew0KICAgICAgICAgICAgc2V0OiBzZXRGdW5jDQogICAgICAgIH0pOw0KICAgICAgICByZXR1cm4gYWNjZXNzb3JQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KGFyck9iaiwgIjAiLCB1bmRlZmluZWQsIHNldEZ1bmMsICJzZXRWZXJpZnlIZWxwUHJvcCIsIGZhbHNlLCB0cnVlKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'O' is an Array, 'name' is an array index named property, name is accessor property and 'desc' is accessor descriptor, test updating the [[Set]] attribute value of 'name' from undefined to function object (15.4.5.1 step 4.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-270.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTI3MS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdPJyBpcyBhbiBBcnJheSwgJ25hbWUnIGlzIGFuIGFycmF5IGluZGV4IG5hbWVkIHByb3BlcnR5LCBuYW1lIGlzIGFjY2Vzc29yIHByb3BlcnR5IGFuZCAnZGVzYycgaXMgYWNjZXNzb3IgZGVzY3JpcHRvciwgdGVzdCB1cGRhdGluZyB0aGUgW1tFbnVtZXJhYmxlXV0gYXR0cmlidXRlIHZhbHVlIG9mICduYW1lJyAoMTUuNC41LjEgc3RlcCA0LmMpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYXJyT2JqID0gW107DQoNCiAgICAgICAgZnVuY3Rpb24gc2V0RnVuYyh2YWx1ZSkgew0KICAgICAgICAgICAgYXJyT2JqLnNldFZlcmlmeUhlbHBQcm9wID0gdmFsdWU7DQogICAgICAgIH0NCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyT2JqLCAiMCIsIHsNCiAgICAgICAgICAgIHNldDogc2V0RnVuYywNCiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyck9iaiwgIjAiLCB7DQogICAgICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZQ0KICAgICAgICB9KTsNCiAgICAgICAgcmV0dXJuIGFjY2Vzc29yUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChhcnJPYmosICIwIiwgdW5kZWZpbmVkLCBzZXRGdW5jLCAic2V0VmVyaWZ5SGVscFByb3AiLCBmYWxzZSwgdHJ1ZSk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - 'O' is an Array, 'name' is an array index named property, name is accessor property and 'desc' is accessor descriptor, test updating the [[Enumerable]] attribute value of 'name' (15.4.5.1 step 4.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-271.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTI3Mi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdPJyBpcyBhbiBBcnJheSwgJ25hbWUnIGlzIGFuIGFycmF5IGluZGV4IG5hbWVkIHByb3BlcnR5LCBuYW1lIGlzIGFjY2Vzc29yIHByb3BlcnR5IGFuZCAnZGVzYycgaXMgYWNjZXNzb3IgZGVzY3JpcHRvciwgdGVzdCB1cGRhdGluZyB0aGUgW1tDb25maWd1cmFibGVdXSBhdHRyaWJ1dGUgdmFsdWUgb2YgJ25hbWUnICgxNS40LjUuMSBzdGVwIDQuYykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhcnJPYmogPSBbXTsNCiAgICAgICAgZnVuY3Rpb24gc2V0RnVuYyh2YWx1ZSkgew0KICAgICAgICAgICAgYXJyT2JqLnNldFZlcmlmeUhlbHBQcm9wID0gdmFsdWU7DQogICAgICAgIH0NCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyT2JqLCAiMCIsIHsNCiAgICAgICAgICAgIHNldDogc2V0RnVuYywNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyT2JqLCAiMCIsIHsNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgfSk7DQogICAgICAgIHJldHVybiBhY2Nlc3NvclByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3QoYXJyT2JqLCAiMCIsIHVuZGVmaW5lZCwgc2V0RnVuYywgInNldFZlcmlmeUhlbHBQcm9wIiwgZmFsc2UsIGZhbHNlKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'O' is an Array, 'name' is an array index named property, name is accessor property and 'desc' is accessor descriptor, test updating the [[Configurable]] attribute value of 'name' (15.4.5.1 step 4.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-272.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTI3My5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdPJyBpcyBhbiBBcnJheSwgJ25hbWUnIGlzIGFuIGFycmF5IGluZGV4IG5hbWVkIHByb3BlcnR5LCBuYW1lIGlzIGFjY2Vzc29yIHByb3BlcnR5IGFuZCAnZGVzYycgaXMgYWNjZXNzb3IgZGVzY3JpcHRvciwgdGVzdCB1cGRhdGluZyBtdWx0aXBsZSBhdHRyaWJ1dGUgdmFsdWVzIG9mICduYW1lJyAoMTUuNC41LjEgc3RlcCA0LmMpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYXJyT2JqID0gW107DQoNCiAgICAgICAgZnVuY3Rpb24gc2V0RnVuYyh2YWx1ZSkgew0KICAgICAgICAgICAgYXJyT2JqLnNldFZlcmlmeUhlbHBQcm9wID0gdmFsdWU7DQogICAgICAgIH0NCiAgICAgICAgZnVuY3Rpb24gZ2V0RnVuYygpIHsNCiAgICAgICAgICAgIHJldHVybiAxMjsNCiAgICAgICAgfQ0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyT2JqLCAiMSIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiA2Ow0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIHNldDogc2V0RnVuYywNCiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyck9iaiwgIjEiLCB7DQogICAgICAgICAgICBnZXQ6IGdldEZ1bmMsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgfSk7DQogICAgICAgIHJldHVybiBhY2Nlc3NvclByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3QoYXJyT2JqLCAiMSIsIGdldEZ1bmMsIHNldEZ1bmMsICJzZXRWZXJpZnlIZWxwUHJvcCIsIGZhbHNlLCBmYWxzZSk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - 'O' is an Array, 'name' is an array index named property, name is accessor property and 'desc' is accessor descriptor, test updating multiple attribute values of 'name' (15.4.5.1 step 4.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-273.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTI3NC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdPJyBpcyBhbiBBcnJheSwgJ25hbWUnIGlzIGFuIGFycmF5IGluZGV4IG5hbWVkIHByb3BlcnR5LCB0ZXN0IHRoZSBsZW5ndGggcHJvcGVydHkgb2YgJ08nIGlzIG5vdCBjaGFuZ2VkIGlmIFRvVWludDMyKCduYW1lJykgaXMgbGVzcyB0aGFuIHZhbHVlIG9mIHRoZSBsZW5ndGggcHJvcGVydHkgaW4gJ08nICgxNS40LjUuMSBzdGVwIDQuZSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhcnJPYmogPSBbXTsNCiAgICAgICAgYXJyT2JqLmxlbmd0aCA9IDM7IC8vIGRlZmF1bHQgdmFsdWUgb2YgbGVuZ3RoOiB3cml0YWJsZTogdHJ1ZSwgY29uZmlndXJhYmxlOiBmYWxzZSwgZW51bWVyYWJsZTogZmFsc2UNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyT2JqLCAiMSIsIHsNCiAgICAgICAgICAgIHZhbHVlOiAxNA0KICAgICAgICB9KTsNCg0KICAgICAgICByZXR1cm4gYXJyT2JqLmxlbmd0aCA9PT0gMyAmJiBhcnJPYmpbMV0gPT09IDE0Ow0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'O' is an Array, 'name' is an array index named property, test the length property of 'O' is not changed if ToUint32('name') is less than value of the length property in 'O' (15.4.5.1 step 4.e)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-274.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTI3NS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdPJyBpcyBhbiBBcnJheSwgJ25hbWUnIGlzIGFuIGFycmF5IGluZGV4IG5hbWVkIHByb3BlcnR5LCB0ZXN0IHRoZSBsZW5ndGggcHJvcGVydHkgb2YgJ08nIGlzIHNldCBhcyBUb1VpbnQzMignbmFtZScpICsgMSBpZiBUb1VpbnQzMignbmFtZScpIGVxdWFscyB0byB2YWx1ZSBvZiB0aGUgbGVuZ3RoIHByb3BlcnR5IGluICdPJyAoMTUuNC41LjEgc3RlcCA0LmUuaWkpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYXJyT2JqID0gW107DQogICAgICAgIGFyck9iai5sZW5ndGggPSAzOyAvLyBkZWZhdWx0IHZhbHVlIG9mIGxlbmd0aDogd3JpdGFibGU6IHRydWUsIGNvbmZpZ3VyYWJsZTogZmFsc2UsIGVudW1lcmFibGU6IGZhbHNlDQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyck9iaiwgIjMiLCB7DQogICAgICAgICAgICB2YWx1ZTogMw0KICAgICAgICB9KTsNCg0KICAgICAgICByZXR1cm4gYXJyT2JqLmxlbmd0aCA9PT0gNCAmJiBhcnJPYmpbM10gPT09IDM7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - 'O' is an Array, 'name' is an array index named property, test the length property of 'O' is set as ToUint32('name') + 1 if ToUint32('name') equals to value of the length property in 'O' (15.4.5.1 step 4.e.ii)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-275.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTI3Ni5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdPJyBpcyBhbiBBcnJheSwgJ25hbWUnIGlzIGFuIGFycmF5IGluZGV4IG5hbWVkIHByb3BlcnR5LCB0ZXN0IHRoZSBsZW5ndGggcHJvcGVydHkgb2YgJ08nIGlzIHNldCBhcyBUb1VpbnQzMignbmFtZScpICsgMSBpZiBUb1VpbnQzMignbmFtZScpIGlzIGdyZWF0ZXIgdGhhbiB2YWx1ZSBvZiB0aGUgbGVuZ3RoIHByb3BlcnR5IGluICdPJyAoMTUuNC41LjEgc3RlcCA0LmUuaWkpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYXJyT2JqID0gW107DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyck9iaiwgIjUiLCB7DQogICAgICAgICAgICB2YWx1ZTogMw0KICAgICAgICB9KTsNCg0KICAgICAgICByZXR1cm4gYXJyT2JqLmxlbmd0aCA9PT0gNiAmJiBhcnJPYmpbNV0gPT09IDM7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - 'O' is an Array, 'name' is an array index named property, test the length property of 'O' is set as ToUint32('name') + 1 if ToUint32('name') is greater than value of the length property in 'O' (15.4.5.1 step 4.e.ii)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-276.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTI3Ny5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyBnZW5lcmljIHByb3BlcnR5IHRoYXQgd29uJ3QgZXhpc3Qgb24gJ08nLCBhbmQgJ2Rlc2MnIGlzIGRhdGEgZGVzY3JpcHRvciwgdGVzdCAnbmFtZScgaXMgZGVmaW5lZCBpbiAnTycgd2l0aCBhbGwgY29ycmVjdCBhdHRyaWJ1dGUgdmFsdWVzICgxNS40LjUuMSBzdGVwIDUpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYXJyT2JqID0gW107DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyck9iaiwgInByb3BlcnR5Iiwgew0KICAgICAgICAgICAgdmFsdWU6IDEyLA0KICAgICAgICAgICAgd3JpdGFibGU6IHRydWUsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHJldHVybiBkYXRhUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChhcnJPYmosICJwcm9wZXJ0eSIsIDEyLCB0cnVlLCB0cnVlLCB0cnVlKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'O' is an Array, 'name' is generic property that won't exist on 'O', and 'desc' is data descriptor, test 'name' is defined in 'O' with all correct attribute values (15.4.5.1 step 5)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-277.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTI3OC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICduYW1lJyBpcyBnZW5lcmljIHByb3BlcnR5IHRoYXQgd29uJ3QgZXhpc3Qgb24gJ08nLCBhbmQgJ2Rlc2MnIGlzIGFjY2Vzc29yIGRlc2NyaXB0b3IsIHRlc3QgJ25hbWUnIGlzIGRlZmluZWQgaW4gJ08nIHdpdGggYWxsIGNvcnJlY3QgYXR0cmlidXRlIHZhbHVlcyAoMTUuNC41LjEgc3RlcCA1KQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFyck9iaiA9IFtdOw0KDQogICAgICAgIGZ1bmN0aW9uIGdldEZ1bmMoKSB7DQogICAgICAgICAgICByZXR1cm4gMTI7DQogICAgICAgIH0NCiAgICAgICAgZnVuY3Rpb24gc2V0RnVuYyh2YWx1ZSkgew0KICAgICAgICAgICAgYXJyT2JqLnNldFZlcmlmeUhlbHBQcm9wID0gdmFsdWU7DQogICAgICAgIH0NCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyT2JqLCAicHJvcGVydHkiLCB7DQogICAgICAgICAgICBnZXQ6IGdldEZ1bmMsDQogICAgICAgICAgICBzZXQ6IHNldEZ1bmMsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHJldHVybiBhY2Nlc3NvclByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3QoYXJyT2JqLCAicHJvcGVydHkiLCBnZXRGdW5jLCBzZXRGdW5jLCAic2V0VmVyaWZ5SGVscFByb3AiLCB0cnVlLCB0cnVlKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'name' is generic property that won't exist on 'O', and 'desc' is accessor descriptor, test 'name' is defined in 'O' with all correct attribute values (15.4.5.1 step 5)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-278.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTI3OS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdPJyBpcyBhbiBBcnJheSwgJ25hbWUnIGlzIGdlbmVyaWMgb3duIGFjY2Vzc29yIHByb3BlcnR5IG9mICdPJywgYW5kICdkZXNjJyBpcyBhY2Nlc3NvciBkZXNjcmlwdG9yLCB0ZXN0IHVwZGF0aW5nIG11bHRpcGxlIGF0dHJpYnV0ZSB2YWx1ZXMgb2YgJ25hbWUnICgxNS40LjUuMSBzdGVwIDUpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYXJyT2JqID0gW107DQoNCiAgICAgICAgZnVuY3Rpb24gZ2V0RnVuYygpIHsNCiAgICAgICAgICAgIHJldHVybiAxMjsNCiAgICAgICAgfQ0KICAgICAgICBmdW5jdGlvbiBzZXRGdW5jKHZhbHVlKSB7DQogICAgICAgICAgICBhcnJPYmouc2V0VmVyaWZ5SGVscFByb3AgPSB2YWx1ZTsNCiAgICAgICAgfQ0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyT2JqLCAicHJvcGVydHkiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gMjQ7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyck9iaiwgInByb3BlcnR5Iiwgew0KICAgICAgICAgICAgZ2V0OiBnZXRGdW5jLA0KICAgICAgICAgICAgc2V0OiBzZXRGdW5jLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogZmFsc2UsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgIH0pOw0KDQogICAgICAgIHJldHVybiBhY2Nlc3NvclByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3QoYXJyT2JqLCAicHJvcGVydHkiLCBnZXRGdW5jLCBzZXRGdW5jLCAic2V0VmVyaWZ5SGVscFByb3AiLCBmYWxzZSwgZmFsc2UpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'O' is an Array, 'name' is generic own accessor property of 'O', and 'desc' is accessor descriptor, test updating multiple attribute values of 'name' (15.4.5.1 step 5)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-279.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTI4LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnR5IC0gJ25hbWUnIGlzIG93biBhY2Nlc3NvciBwcm9wZXJ0eSB0aGF0IG92ZXJyaWRlcyBhbiBpbmhlcml0ZWQgZGF0YSBwcm9wZXJ0eSAoOC4xMi45IHN0ZXAgMSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgcHJvdG8gPSB7fTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHByb3RvLCAiZm9vIiwgew0KICAgICAgICAgICAgdmFsdWU6IDExLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBDb25zdHJ1Y3RGdW4gPSBmdW5jdGlvbiAoKSB7IH07DQogICAgICAgIENvbnN0cnVjdEZ1bi5wcm90b3R5cGUgPSBwcm90bzsNCiAgICAgICAgdmFyIG9iaiA9IG5ldyBDb25zdHJ1Y3RGdW4oKTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgImZvbyIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgeyB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgImZvbyIsIHsNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFR5cGVFcnJvcjsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'name' is own accessor property that overrides an inherited data property (8.12.9 step 1)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-28.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTI4MC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdPJyBpcyBhbiBBcnJheSwgJ25hbWUnIGlzIGdlbmVyaWMgb3duIGRhdGEgcHJvcGVydHkgb2YgJ08nLCBhbmQgJ2Rlc2MnIGlzIGRhdGEgZGVzY3JpcHRvciwgdGVzdCB1cGRhdGluZyBtdWx0aXBsZSBhdHRyaWJ1dGUgdmFsdWVzIG9mICduYW1lJyAoMTUuNC41LjEgc3RlcCA1KQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFyck9iaiA9IFtdOw0KDQogICAgICAgIGFyck9iai5wcm9wZXJ0eSA9IDEyOyAvLyBkZWZhdWx0IHZhbHVlIG9mIGF0dHJpYnV0ZXM6IHdyaXRhYmxlOiB0cnVlLCBjb25maWd1cmFibGU6IHRydWUsIGVudW1lcmFibGU6IHRydWUNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyT2JqLCAicHJvcGVydHkiLCB7DQogICAgICAgICAgICB3cml0YWJsZTogZmFsc2UsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgfSk7DQoNCiAgICAgICAgcmV0dXJuIGRhdGFQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KGFyck9iaiwgInByb3BlcnR5IiwgMTIsIGZhbHNlLCBmYWxzZSwgZmFsc2UpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'O' is an Array, 'name' is generic own data property of 'O', and 'desc' is data descriptor, test updating multiple attribute values of 'name' (15.4.5.1 step 5)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-280.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTI4MS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdPJyBpcyBhbiBBcnJheSwgJ25hbWUnIGlzIGdlbmVyaWMgb3duIGRhdGEgcHJvcGVydHkgb2YgJ08nLCB0ZXN0IFR5cGVFcnJvciBpcyB0aHJvd24gd2hlbiB1cGRhdGluZyB0aGUgW1tWYWx1ZV1dIGF0dHJpYnV0ZSB2YWx1ZSBvZiAnbmFtZScgd2hpY2ggaXMgZGVmaW5lZCBhcyBub24td3JpdGFibGUgYW5kIG5vbi1jb25maWd1cmFibGUgKDE1LjQuNS4xIHN0ZXAgNSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhcnJPYmogPSBbXTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyT2JqLCAicHJvcGVydHkiLCB7DQogICAgICAgICAgICB2YWx1ZTogMTINCiAgICAgICAgfSk7DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyT2JqLCAicHJvcGVydHkiLCB7DQogICAgICAgICAgICAgICAgdmFsdWU6IDM2DQogICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IgJiYgZGF0YVByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3QoYXJyT2JqLCAicHJvcGVydHkiLCAxMiwgZmFsc2UsIGZhbHNlLCBmYWxzZSk7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'O' is an Array, 'name' is generic own data property of 'O', test TypeError is thrown when updating the [[Value]] attribute value of 'name' which is defined as non-writable and non-configurable (15.4.5.1 step 5)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-281.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTI4Mi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdPJyBpcyBhbiBBcnJheSwgJ25hbWUnIGlzIGdlbmVyaWMgb3duIGRhdGEgcHJvcGVydHkgb2YgJ08nLCB0ZXN0IFR5cGVFcnJvciBpcyB0aHJvd24gd2hlbiB1cGRhdGluZyB0aGUgW1tXcml0YWJsZV1dIGF0dHJpYnV0ZSB2YWx1ZSBvZiAnbmFtZScgd2hpY2ggaXMgZGVmaW5lZCBhcyBub24tY29uZmlndXJhYmxlICgxNS40LjUuMSBzdGVwIDUpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYXJyT2JqID0gW107DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyck9iaiwgInByb3BlcnR5Iiwgew0KICAgICAgICAgICAgd3JpdGFibGU6IGZhbHNlDQogICAgICAgIH0pOw0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyck9iaiwgInByb3BlcnR5Iiwgew0KICAgICAgICAgICAgICAgIHdyaXRhYmxlOiB0cnVlDQogICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IgJiYgZGF0YVByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3QoYXJyT2JqLCAicHJvcGVydHkiLCB1bmRlZmluZWQsIGZhbHNlLCBmYWxzZSwgZmFsc2UpOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - 'O' is an Array, 'name' is generic own data property of 'O', test TypeError is thrown when updating the [[Writable]] attribute value of 'name' which is defined as non-configurable (15.4.5.1 step 5)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-282.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTI4My5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdPJyBpcyBhbiBBcnJheSwgJ25hbWUnIGlzIGdlbmVyaWMgb3duIGRhdGEgcHJvcGVydHkgb2YgJ08nLCB0ZXN0IFR5cGVFcnJvciBpcyB0aHJvd24gd2hlbiB1cGRhdGluZyB0aGUgW1tFbnVtZXJhYmxlXV0gYXR0cmlidXRlIHZhbHVlIG9mICduYW1lJyB3aGljaCBpcyBkZWZpbmVkIGFzIG5vbi1jb25maWd1cmFibGUgKDE1LjQuNS4xIHN0ZXAgNSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgYXJyT2JqID0gW107DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyck9iaiwgInByb3BlcnR5Iiwgew0KICAgICAgICAgICAgdmFsdWU6IDEyLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogZmFsc2UNCiAgICAgICAgfSk7DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyT2JqLCAicHJvcGVydHkiLCB7DQogICAgICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiBlIGluc3RhbmNlb2YgVHlwZUVycm9yICYmIGRhdGFQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KGFyck9iaiwgInByb3BlcnR5IiwgMTIsIGZhbHNlLCBmYWxzZSwgZmFsc2UpOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - 'O' is an Array, 'name' is generic own data property of 'O', test TypeError is thrown when updating the [[Enumerable]] attribute value of 'name' which is defined as non-configurable (15.4.5.1 step 5)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-283.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTI4NC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdPJyBpcyBhbiBBcnJheSwgJ25hbWUnIGlzIGdlbmVyaWMgb3duIGRhdGEgcHJvcGVydHkgb2YgJ08nLCB0ZXN0IFR5cGVFcnJvciBpcyB0aHJvd24gd2hlbiB1cGRhdGluZyB0aGUgW1tDb25maWd1cmFibGVdXSBhdHRyaWJ1dGUgdmFsdWUgb2YgJ25hbWUnIHdoaWNoIGlzIGRlZmluZWQgYXMgbm9uLWNvbmZpZ3VyYWJsZSAoMTUuNC41LjEgc3RlcCA1KQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFyck9iaiA9IFtdOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnJPYmosICJwcm9wZXJ0eSIsIHsNCiAgICAgICAgICAgIHZhbHVlOiAxMg0KICAgICAgICB9KTsNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnJPYmosICJwcm9wZXJ0eSIsIHsNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFR5cGVFcnJvciAmJiBkYXRhUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChhcnJPYmosICJwcm9wZXJ0eSIsIDEyLCBmYWxzZSwgZmFsc2UsIGZhbHNlKTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'O' is an Array, 'name' is generic own data property of 'O', test TypeError is thrown when updating the [[Configurable]] attribute value of 'name' which is defined as non-configurable (15.4.5.1 step 5)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-284.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTI4NS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdPJyBpcyBhbiBBcnJheSwgJ25hbWUnIGlzIGdlbmVyaWMgb3duIGFjY2Vzc29yIHByb3BlcnR5IG9mICdPJywgdGVzdCBUeXBlRXJyb3IgaXMgdGhyb3duIHdoZW4gdXBkYXRpbmcgdGhlIFtbR2V0XV0gYXR0cmlidXRlIHZhbHVlIG9mICduYW1lJyB3aGljaCBpcyBkZWZpbmVkIGFzIG5vbi1jb25maWd1cmFibGUgKDE1LjQuNS4xIHN0ZXAgNSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhcnJPYmogPSBbXTsNCg0KICAgICAgICBmdW5jdGlvbiBnZXRGdW5jKCkgew0KICAgICAgICAgICAgcmV0dXJuIDEyOw0KICAgICAgICB9DQogICAgICAgIGZ1bmN0aW9uIHNldEZ1bmModmFsdWUpIHsNCiAgICAgICAgICAgIGFyck9iai5zZXRWZXJpZnlIZWxwUHJvcCA9IHZhbHVlOw0KICAgICAgICB9DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnJPYmosICJwcm9wZXJ0eSIsIHsNCiAgICAgICAgICAgIGdldDogZ2V0RnVuYywNCiAgICAgICAgICAgIHNldDogc2V0RnVuYw0KICAgICAgICB9KTsNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnJPYmosICJwcm9wZXJ0eSIsIHsNCiAgICAgICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDM2Ow0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFR5cGVFcnJvciAmJiBhY2Nlc3NvclByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3QoYXJyT2JqLCAicHJvcGVydHkiLCBnZXRGdW5jLCBzZXRGdW5jLCAic2V0VmVyaWZ5SGVscFByb3AiLCBmYWxzZSwgZmFsc2UpOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - 'O' is an Array, 'name' is generic own accessor property of 'O', test TypeError is thrown when updating the [[Get]] attribute value of 'name' which is defined as non-configurable (15.4.5.1 step 5)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-285.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTI4Ni5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdPJyBpcyBhbiBBcnJheSwgJ25hbWUnIGlzIGdlbmVyaWMgb3duIGFjY2Vzc29yIHByb3BlcnR5IG9mICdPJywgYW5kICdkZXNjJyBpcyBhY2Nlc3NvciBkZXNjcmlwdG9yLCB0ZXN0IFR5cGVFcnJvciBpcyB0aHJvd24gd2hlbiB1cGRhdGluZyB0aGUgW1tTZXRdXSBhdHRyaWJ1dGUgdmFsdWUgb2YgJ25hbWUnICgxNS40LjUuMSBzdGVwIDUpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYXJyT2JqID0gW107DQoNCiAgICAgICAgZnVuY3Rpb24gc2V0RnVuYyh2YWx1ZSkgew0KICAgICAgICAgICAgYXJyT2JqLnNldFZlcmlmeUhlbHBQcm9wID0gdmFsdWU7DQogICAgICAgIH0NCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyck9iaiwgInByb3BlcnR5Iiwgew0KICAgICAgICAgICAgc2V0OiBzZXRGdW5jDQogICAgICAgIH0pOw0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyck9iaiwgInByb3BlcnR5Iiwgew0KICAgICAgICAgICAgICAgIHNldDogZnVuY3Rpb24gKCkge30NCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFR5cGVFcnJvciAmJiBhY2Nlc3NvclByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3QoYXJyT2JqLCAicHJvcGVydHkiLCB1bmRlZmluZWQsIHNldEZ1bmMsICJzZXRWZXJpZnlIZWxwUHJvcCIsIGZhbHNlLCBmYWxzZSk7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'O' is an Array, 'name' is generic own accessor property of 'O', and 'desc' is accessor descriptor, test TypeError is thrown when updating the [[Set]] attribute value of 'name' (15.4.5.1 step 5)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-286.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTI4Ny5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdPJyBpcyBhbiBBcnJheSwgJ25hbWUnIGlzIGdlbmVyaWMgb3duIGFjY2Vzc29yIHByb3BlcnR5IG9mICdPJywgdGVzdCBUeXBlRXJyb3IgaXMgdGhyb3duIHdoZW4gdXBkYXRpbmcgdGhlIFtbRW51bWVyYWJsZV1dIGF0dHJpYnV0ZSB2YWx1ZSBvZiAnbmFtZScgd2hpY2ggaXMgZGVmaW5lZCBhcyBub24tY29uZmlndXJhYmxlICgxNS40LjUuMSBzdGVwIDUpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYXJyT2JqID0gW107DQoNCiAgICAgICAgZnVuY3Rpb24gc2V0RnVuYyh2YWx1ZSkgew0KICAgICAgICAgICAgYXJyT2JqLnNldFZlcmlmeUhlbHBQcm9wID0gdmFsdWU7DQogICAgICAgIH0NCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyck9iaiwgInByb3BlcnR5Iiwgew0KICAgICAgICAgICAgc2V0OiBzZXRGdW5jLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogZmFsc2UNCiAgICAgICAgfSk7DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyT2JqLCAicHJvcGVydHkiLCB7DQogICAgICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiBlIGluc3RhbmNlb2YgVHlwZUVycm9yICYmIGFjY2Vzc29yUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChhcnJPYmosICJwcm9wZXJ0eSIsIHVuZGVmaW5lZCwgc2V0RnVuYywgInNldFZlcmlmeUhlbHBQcm9wIiwgZmFsc2UsIGZhbHNlKTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'O' is an Array, 'name' is generic own accessor property of 'O', test TypeError is thrown when updating the [[Enumerable]] attribute value of 'name' which is defined as non-configurable (15.4.5.1 step 5)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-287.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTI4OC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdPJyBpcyBhbiBBcnJheSwgJ25hbWUnIGlzIGdlbmVyaWMgb3duIGFjY2Vzc29yIHByb3BlcnR5IG9mICdPJywgdGVzdCBUeXBlRXJyb3IgaXMgdGhyb3duIHdoZW4gdXBkYXRpbmcgdGhlIFtbQ29uZmlndXJhYmxlXV0gYXR0cmlidXRlIHZhbHVlIG9mICduYW1lJyB3aGljaCBpcyBkZWZpbmVkIGFzIG5vbi1jb25maWd1cmFibGUgKDE1LjQuNS4xIHN0ZXAgNSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhcnJPYmogPSBbXTsNCg0KICAgICAgICBmdW5jdGlvbiBzZXRGdW5jKHZhbHVlKSB7DQogICAgICAgICAgICBhcnJPYmouc2V0VmVyaWZ5SGVscFByb3AgPSB2YWx1ZTsNCiAgICAgICAgfQ0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyT2JqLCAicHJvcGVydHkiLCB7DQogICAgICAgICAgICBzZXQ6IHNldEZ1bmMsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgIH0pOw0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyck9iaiwgInByb3BlcnR5Iiwgew0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiBlIGluc3RhbmNlb2YgVHlwZUVycm9yICYmIGFjY2Vzc29yUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChhcnJPYmosICJwcm9wZXJ0eSIsIHVuZGVmaW5lZCwgc2V0RnVuYywgInNldFZlcmlmeUhlbHBQcm9wIiwgZmFsc2UsIGZhbHNlKTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'O' is an Array, 'name' is generic own accessor property of 'O', test TypeError is thrown when updating the [[Configurable]] attribute value of 'name' which is defined as non-configurable (15.4.5.1 step 5)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-288.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTI4OS0xLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnR5IC0gJ08nIGlzIGFuIEFyZ3VtZW50cyBvYmplY3Qgb2YgYSBmdW5jdGlvbiB0aGF0IGhhcyBmb3JtYWwgcGFyYW1ldGVycywgJ25hbWUnIGlzIG93biBwcm9wZXJ0eSB3aGljaCBpcyBkZWZpbmVkIGluIGJvdGggW1tQYXJhbWV0ZXJNYXBdXSBvZiAnTycgYW5kICdPJywgYW5kIGlzIGRlbGV0ZWQgYWZ0ZXJ3YXJkcywgYW5kICdkZXNjJyBpcyBkYXRhIGRlc2NyaXB0b3IsIHRlc3QgJ25hbWUnIGlzIHJlZGVmaW5lZCBpbiAnTycgd2l0aCBhbGwgY29ycmVjdCBhdHRyaWJ1dGUgdmFsdWVzICgxMC42IFtbRGVmaW5lT3duUHJvcGVydHldXSBzdGVwIDMpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgcmV0dXJuIChmdW5jdGlvbiAoYSwgYiwgYykgew0KICAgICAgICAgICAgZGVsZXRlIGFyZ3VtZW50c1swXTsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcmd1bWVudHMsICIwIiwgew0KICAgICAgICAgICAgICAgIHZhbHVlOiAxMCwNCiAgICAgICAgICAgICAgICB3cml0YWJsZTogdHJ1ZSwNCiAgICAgICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICB2YXIgdmVyaWZ5Rm9ybWFsID0gYSA9PT0gMDsNCiAgICAgICAgICAgIHJldHVybiBkYXRhUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChhcmd1bWVudHMsICIwIiwgMTAsIHRydWUsIHRydWUsIHRydWUpICYmIHZlcmlmeUZvcm1hbDsNCiAgICAgICAgfSgwLCAxLCAyKSk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - 'O' is an Arguments object of a function that has formal parameters, 'name' is own property which is defined in both [[ParameterMap]] of 'O' and 'O', and is deleted afterwards, and 'desc' is data descriptor, test 'name' is redefined in 'O' with all correct attribute values (10.6 [[DefineOwnProperty]] step 3)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-289-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTI4OS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdPJyBpcyBhbiBBcmd1bWVudHMgb2JqZWN0LCAnbmFtZScgaXMgb3duIHByb3BlcnR5IG9mICdPJywgYW5kIGlzIGRlbGV0ZWQgYWZ0ZXJ3YXJkcywgYW5kICdkZXNjJyBpcyBkYXRhIGRlc2NyaXB0b3IsIHRlc3QgJ25hbWUnIGlzIHJlZGVmaW5lZCBpbiAnTycgd2l0aCBhbGwgY29ycmVjdCBhdHRyaWJ1dGUgdmFsdWVzICgxMC42IFtbRGVmaW5lT3duUHJvcGVydHldXSBzdGVwIDMpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgcmV0dXJuIChmdW5jdGlvbiAoKSB7IA0KICAgICAgICAgICAgZGVsZXRlIGFyZ3VtZW50c1swXTsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcmd1bWVudHMsICIwIiwgew0KICAgICAgICAgICAgICAgIHZhbHVlOiAxMCwNCiAgICAgICAgICAgICAgICB3cml0YWJsZTogdHJ1ZSwNCiAgICAgICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICByZXR1cm4gZGF0YVByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3QoYXJndW1lbnRzLCAiMCIsIDEwLCB0cnVlLCB0cnVlLCB0cnVlKTsNCiAgICAgICAgfSgwLCAxLCAyKSk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - 'O' is an Arguments object, 'name' is own property of 'O', and is deleted afterwards, and 'desc' is data descriptor, test 'name' is redefined in 'O' with all correct attribute values (10.6 [[DefineOwnProperty]] step 3)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-289.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTI5LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnR5IC0gJ25hbWUnIGlzIG93biBhY2Nlc3NvciBwcm9wZXJ0eSB0aGF0IG92ZXJyaWRlcyBhbiBpbmhlcml0ZWQgYWNjZXNzb3IgcHJvcGVydHkgKDguMTIuOSBzdGVwIDEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIHByb3RvID0ge307DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShwcm90bywgImZvbyIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgeyB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBDb25zdHJ1Y3RGdW4gPSBmdW5jdGlvbiAoKSB7IH07DQogICAgICAgIENvbnN0cnVjdEZ1bi5wcm90b3R5cGUgPSBwcm90bzsNCiAgICAgICAgdmFyIG9iaiA9IG5ldyBDb25zdHJ1Y3RGdW4oKTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgImZvbyIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgeyB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgImZvbyIsIHsNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFR5cGVFcnJvcjsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'name' is own accessor property that overrides an inherited accessor property (8.12.9 step 1)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-29.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTI5MC0xLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnR5IC0gJ08nIGlzIGFuIEFyZ3VtZW50cyBvYmplY3Qgb2YgYSBmdW5jdGlvbiB0aGF0IGhhcyBmb3JtYWwgcGFyYW1ldGVycywgJ25hbWUnIGlzIG93biBwcm9wZXJ0eSB3aGljaCBpcyBkZWZpbmVkIGluIGJvdGggW1tQYXJhbWV0ZXJNYXBdXSBvZiAnTycgYW5kICdPJywgaXMgZGVsZXRlZCBhZnRlcndhcmRzLCBhbmQgJ2Rlc2MnIGlzIGFjY2Vzc29yIGRlc2NyaXB0b3IsIHRlc3QgJ25hbWUnIGlzIHJlZGVmaW5lZCBpbiAnTycgd2l0aCBhbGwgY29ycmVjdCBhdHRyaWJ1dGUgdmFsdWVzICgxMC42IFtbRGVmaW5lT3duUHJvcGVydHldXSBzdGVwIDMpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgcmV0dXJuIChmdW5jdGlvbiAoYSwgYiwgYykgeyANCiAgICAgICAgICAgIGRlbGV0ZSBhcmd1bWVudHNbMF07DQogICAgICAgICAgICBmdW5jdGlvbiBnZXRGdW5jKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiAxMDsNCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIGZ1bmN0aW9uIHNldEZ1bmModmFsdWUpIHsNCiAgICAgICAgICAgICAgICB0aGlzLnNldFZlcmlmeUhlbHBQcm9wID0gdmFsdWU7DQogICAgICAgICAgICB9DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJndW1lbnRzLCAiMCIsIHsNCiAgICAgICAgICAgICAgICBnZXQ6IGdldEZ1bmMsDQogICAgICAgICAgICAgICAgc2V0OiBzZXRGdW5jLA0KICAgICAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIHZhciB2ZXJpZnlGb3JtYWwgPSBhID09PSAwOw0KICAgICAgICAgICAgcmV0dXJuIGFjY2Vzc29yUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChhcmd1bWVudHMsICIwIiwgZ2V0RnVuYywgc2V0RnVuYywgInNldFZlcmlmeUhlbHBQcm9wIiwgdHJ1ZSwgdHJ1ZSkgJiYgdmVyaWZ5Rm9ybWFsOw0KICAgICAgICB9KDAsIDEsIDIpKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'O' is an Arguments object of a function that has formal parameters, 'name' is own property which is defined in both [[ParameterMap]] of 'O' and 'O', is deleted afterwards, and 'desc' is accessor descriptor, test 'name' is redefined in 'O' with all correct attribute values (10.6 [[DefineOwnProperty]] step 3)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-290-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTI5MC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdPJyBpcyBhbiBBcmd1bWVudHMgb2JqZWN0LCAnbmFtZScgaXMgb3duIHByb3BlcnR5IG9mICdPJywgYW5kIGlzIGRlbGV0ZWQgYWZ0ZXJ3YXJkcywgYW5kICdkZXNjJyBpcyBhY2Nlc3NvciBkZXNjcmlwdG9yLCB0ZXN0ICduYW1lJyBpcyByZWRlZmluZWQgaW4gJ08nIHdpdGggYWxsIGNvcnJlY3QgYXR0cmlidXRlIHZhbHVlcyAoMTAuNiBbW0RlZmluZU93blByb3BlcnR5XV0gc3RlcCAzKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHJldHVybiAoZnVuY3Rpb24gKCkgeyANCiAgICAgICAgICAgIGRlbGV0ZSBhcmd1bWVudHNbMF07DQogICAgICAgICAgICBmdW5jdGlvbiBnZXRGdW5jKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiAxMDsNCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIGZ1bmN0aW9uIHNldEZ1bmModmFsdWUpIHsNCiAgICAgICAgICAgICAgICB0aGlzLnNldFZlcmlmeUhlbHBQcm9wID0gdmFsdWU7DQogICAgICAgICAgICB9DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJndW1lbnRzLCAiMCIsIHsNCiAgICAgICAgICAgICAgICBnZXQ6IGdldEZ1bmMsDQogICAgICAgICAgICAgICAgc2V0OiBzZXRGdW5jLA0KICAgICAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIHJldHVybiBhY2Nlc3NvclByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3QoYXJndW1lbnRzLCAiMCIsIGdldEZ1bmMsIHNldEZ1bmMsICJzZXRWZXJpZnlIZWxwUHJvcCIsIHRydWUsIHRydWUpOw0KICAgICAgICB9KDAsIDEsIDIpKTsgICAgDQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - 'O' is an Arguments object, 'name' is own property of 'O', and is deleted afterwards, and 'desc' is accessor descriptor, test 'name' is redefined in 'O' with all correct attribute values (10.6 [[DefineOwnProperty]] step 3)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-290.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTI5MS0xLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnR5IC0gJ08nIGlzIGFuIEFyZ3VtZW50cyBvYmplY3Qgb2YgYSBmdW5jdGlvbiB0aGF0IGhhcyBmb3JtYWwgcGFyYW1ldGVycywgJ25hbWUnIGlzIG93biBhY2Nlc3NvciBwcm9wZXJ0eSBvZiAnTycgd2hpY2ggaXMgYWxzbyBkZWZpbmVkIGluIFtbUGFyYW1ldGVyTWFwXV0gb2YgJ08nLCBhbmQgJ2Rlc2MnIGlzIGFjY2Vzc29yIGRlc2NyaXB0b3IsIHRlc3QgdXBkYXRpbmcgbXVsdGlwbGUgYXR0cmlidXRlIHZhbHVlcyBvZiAnbmFtZScgKDEwLjYgW1tEZWZpbmVPd25Qcm9wZXJ0eV1dIHN0ZXAgMyBhbmQgNS5hLmkpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgcmV0dXJuIChmdW5jdGlvbiAoYSwgYiwgYykgeyANCiAgICAgICAgICAgIGZ1bmN0aW9uIGdldEZ1bmMxKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiAxMDsNCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcmd1bWVudHMsICIwIiwgew0KICAgICAgICAgICAgICAgIGdldDogZ2V0RnVuYzEsDQogICAgICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgZnVuY3Rpb24gZ2V0RnVuYzIoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIDIwOw0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyZ3VtZW50cywgIjAiLCB7DQogICAgICAgICAgICAgICAgZ2V0OiBnZXRGdW5jMiwNCiAgICAgICAgICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIHZhciB2ZXJpZnlGb3JtYWwgPSBhID09PSAwOw0KICAgICAgICAgICAgcmV0dXJuIGFjY2Vzc29yUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChhcmd1bWVudHMsICIwIiwgZ2V0RnVuYzIsIHVuZGVmaW5lZCwgdW5kZWZpbmVkLCBmYWxzZSwgZmFsc2UpICYmIHZlcmlmeUZvcm1hbDsNCiAgICAgICAgfSgwLCAxLCAyKSk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - 'O' is an Arguments object of a function that has formal parameters, 'name' is own accessor property of 'O' which is also defined in [[ParameterMap]] of 'O', and 'desc' is accessor descriptor, test updating multiple attribute values of 'name' (10.6 [[DefineOwnProperty]] step 3 and 5.a.i)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-291-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTI5MS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdPJyBpcyBhbiBBcmd1bWVudHMgb2JqZWN0LCAnbmFtZScgaXMgb3duIGFjY2Vzc29yIHByb3BlcnR5IG9mICdPJywgYW5kICdkZXNjJyBpcyBhY2Nlc3NvciBkZXNjcmlwdG9yLCB0ZXN0IHVwZGF0aW5nIG11bHRpcGxlIGF0dHJpYnV0ZSB2YWx1ZXMgb2YgJ25hbWUnICgxMC42IFtbRGVmaW5lT3duUHJvcGVydHldXSBzdGVwIDMpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgcmV0dXJuIChmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICBmdW5jdGlvbiBnZXRGdW5jMSgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gMTA7DQogICAgICAgICAgICB9DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJndW1lbnRzLCAiMCIsIHsNCiAgICAgICAgICAgICAgICBnZXQ6IGdldEZ1bmMxLA0KICAgICAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIGZ1bmN0aW9uIGdldEZ1bmMyKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiAyMDsNCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcmd1bWVudHMsICIwIiwgew0KICAgICAgICAgICAgICAgIGdldDogZ2V0RnVuYzIsDQogICAgICAgICAgICAgICAgZW51bWVyYWJsZTogZmFsc2UsDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICByZXR1cm4gYWNjZXNzb3JQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KGFyZ3VtZW50cywgIjAiLCBnZXRGdW5jMiwgdW5kZWZpbmVkLCB1bmRlZmluZWQsIGZhbHNlLCBmYWxzZSk7DQogICAgICAgIH0oMCwgMSwgMikpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'O' is an Arguments object, 'name' is own accessor property of 'O', and 'desc' is accessor descriptor, test updating multiple attribute values of 'name' (10.6 [[DefineOwnProperty]] step 3)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-291.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTI5Mi0xLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnR5IC0gJ08nIGlzIGFuIEFyZ3VtZW50cyBvYmplY3Qgb2YgYSBmdW5jdGlvbiB0aGF0IGhhcyBmb3JtYWwgcGFyYW1ldGVycywgJ25hbWUnIGlzIG93biBwcm9wZXJ0eSBvZiAnTycgd2hpY2ggaXMgYWxzbyBkZWZpbmVkIGluIFtbUGFyYW1ldGVyTWFwXV0gb2YgJ08nLCBhbmQgJ2Rlc2MnIGlzIGRhdGEgZGVzY3JpcHRvciwgdGVzdCB1cGRhdGluZyBtdWx0aXBsZSBhdHRyaWJ1dGUgdmFsdWVzIG9mICduYW1lJyAoMTAuNiBbW0RlZmluZU93blByb3BlcnR5XV0gc3RlcCAzIGFuZCA1LmIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgcmV0dXJuIChmdW5jdGlvbiAoYSwgYiwgYykgeyANCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcmd1bWVudHMsICIwIiwgew0KICAgICAgICAgICAgICAgIHZhbHVlOiAyMCwNCiAgICAgICAgICAgICAgICB3cml0YWJsZTogZmFsc2UsDQogICAgICAgICAgICAgICAgZW51bWVyYWJsZTogZmFsc2UsDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICB2YXIgdmVyaWZ5Rm9ybWFsID0gYSA9PT0gMjA7DQogICAgICAgICAgICByZXR1cm4gZGF0YVByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3QoYXJndW1lbnRzLCAiMCIsIDIwLCBmYWxzZSwgZmFsc2UsIGZhbHNlKSAmJiB2ZXJpZnlGb3JtYWw7DQogICAgICAgIH0oMCwgMSwgMikpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'O' is an Arguments object of a function that has formal parameters, 'name' is own property of 'O' which is also defined in [[ParameterMap]] of 'O', and 'desc' is data descriptor, test updating multiple attribute values of 'name' (10.6 [[DefineOwnProperty]] step 3 and 5.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-292-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTI5Mi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdPJyBpcyBhbiBBcmd1bWVudHMgb2JqZWN0LCAnbmFtZScgaXMgb3duIGRhdGEgcHJvcGVydHkgb2YgJ08nLCBhbmQgJ2Rlc2MnIGlzIGRhdGEgZGVzY3JpcHRvciwgdGVzdCB1cGRhdGluZyBtdWx0aXBsZSBhdHRyaWJ1dGUgdmFsdWVzIG9mICduYW1lJyAoMTAuNiBbW0RlZmluZU93blByb3BlcnR5XV0gc3RlcCAzKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHJldHVybiAoZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyZ3VtZW50cywgIjAiLCB7DQogICAgICAgICAgICAgICAgdmFsdWU6IDIwLA0KICAgICAgICAgICAgICAgIHdyaXRhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIHJldHVybiBkYXRhUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChhcmd1bWVudHMsICIwIiwgMjAsIGZhbHNlLCBmYWxzZSwgZmFsc2UpOw0KICAgICAgICB9KDAsIDEsIDIpKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'O' is an Arguments object, 'name' is own data property of 'O', and 'desc' is data descriptor, test updating multiple attribute values of 'name' (10.6 [[DefineOwnProperty]] step 3)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-292.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTI5My0xLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnR5IC0gJ08nIGlzIGFuIEFyZ3VtZW50cyBvYmplY3QsICduYW1lJyBpcyBvd24gZGF0YSBwcm9wZXJ0eSBvZiAnTycsIHRlc3QgVHlwZUVycm9yIGlzIG5vdCB0aHJvd24gd2hlbiB1cGRhdGluZyB0aGUgW1tWYWx1ZV1dIGF0dHJpYnV0ZSB2YWx1ZSBvZiAnbmFtZScgd2hpY2ggaXMgZGVmaW5lZCBhcyBub24td3JpdGFibGUgYW5kIGNvbmZpZ3VyYWJsZSAoMTAuNiBbW0RlZmluZU93blByb3BlcnR5XV0gc3RlcCAzIGFuZCA1YikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICByZXR1cm4gKGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcmd1bWVudHMsICIwIiwgew0KICAgICAgICAgICAgICAgIHZhbHVlOiAxMCwNCiAgICAgICAgICAgICAgICB3cml0YWJsZTogZmFsc2UNCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyZ3VtZW50cywgIjAiLCB7DQogICAgICAgICAgICAgICAgdmFsdWU6IDIwDQogICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIHJldHVybiBkYXRhUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChhcmd1bWVudHMsICIwIiwgMjAsIGZhbHNlLCB0cnVlLCB0cnVlKTsNCiAgICAgICAgfSgwLCAxLCAyKSk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - 'O' is an Arguments object, 'name' is own data property of 'O', test TypeError is not thrown when updating the [[Value]] attribute value of 'name' which is defined as non-writable and configurable (10.6 [[DefineOwnProperty]] step 3 and 5b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-293-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTI5My0yLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnR5IC0gJ08nIGlzIGFuIEFyZ3VtZW50cyBvYmplY3Qgb2YgYSBmdW5jdGlvbiB0aGF0IGhhcyBmb3JtYWwgcGFyYW1ldGVycywgJ25hbWUnIGlzIG93biBkYXRhIHByb3BlcnR5IG9mICdPJyB3aGljaCBpcyBhbHNvIGRlZmluZWQgaW4gW1tQYXJhbWV0ZXJNYXBdXSBvZiAnTycsIHRlc3QgVHlwZUVycm9yIGlzIHRocm93biB3aGVuIHVwZGF0aW5nIHRoZSBbW1ZhbHVlXV0gYXR0cmlidXRlIHZhbHVlIG9mICduYW1lJyB3aGljaCBpcyBkZWZpbmVkIGFzIHVud3JpdGFibGUgYW5kIG5vbi1jb25maWd1cmFibGUgKDEwLjYgW1tEZWZpbmVPd25Qcm9wZXJ0eV1dIHN0ZXAgNCBhbmQgc3RlcCA1YikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICByZXR1cm4gKGZ1bmN0aW9uIChhLCBiLCBjKSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJndW1lbnRzLCAiMCIsIHsNCiAgICAgICAgICAgICAgICB2YWx1ZTogMTAsDQogICAgICAgICAgICAgICAgd3JpdGFibGU6IGZhbHNlLA0KICAgICAgICAgICAgICAgIGVudW1lcmFibGU6IGZhbHNlLA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJndW1lbnRzLCAiMCIsIHsNCiAgICAgICAgICAgICAgICAgICAgdmFsdWU6IDIwDQogICAgICAgICAgICAgICAgfSk7DQogICAgICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICAgICAgdmFyIHZlcmlmeUZvcm1hbCA9IGEgPT09IDEwOw0KICAgICAgICAgICAgICAgIHJldHVybiBlIGluc3RhbmNlb2YgVHlwZUVycm9yICYmIGRhdGFQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KGFyZ3VtZW50cywgIjAiLCAxMCwgZmFsc2UsIGZhbHNlLCBmYWxzZSkgJiYgdmVyaWZ5Rm9ybWFsOw0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9KDAsIDEsIDIpKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'O' is an Arguments object of a function that has formal parameters, 'name' is own data property of 'O' which is also defined in [[ParameterMap]] of 'O', test TypeError is thrown when updating the [[Value]] attribute value of 'name' which is defined as unwritable and non-configurable (10.6 [[DefineOwnProperty]] step 4 and step 5b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-293-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTI5My0zLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnR5IC0gJ08nIGlzIGFuIEFyZ3VtZW50cyBvYmplY3Qgb2YgYSBmdW5jdGlvbiB0aGF0IGhhcyBmb3JtYWwgcGFyYW1ldGVycywgJ25hbWUnIGlzIG93biBkYXRhIHByb3BlcnR5IG9mICdPJyB3aGljaCBpcyBhbHNvIGRlZmluZWQgaW4gW1tQYXJhbWV0ZXJNYXBdXSBvZiAnTycsIHRlc3QgVHlwZUVycm9yIGlzIG5vdCB0aHJvd24gd2hlbiB1cGRhdGluZyB0aGUgW1tWYWx1ZV1dIGF0dHJpYnV0ZSB2YWx1ZSBvZiAnbmFtZScgd2hpY2ggaXMgZGVmaW5lZCBhcyBub24td3JpdGFibGUgYW5kIGNvbmZpZ3VyYWJsZSAoMTAuNiBbW0RlZmluZU93blByb3BlcnR5XV0gc3RlcCAzIGFuZCBzdGVwIDUuYikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICByZXR1cm4gKGZ1bmN0aW9uIChhLCBiLCBjKSB7DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcmd1bWVudHMsICIwIiwgew0KICAgICAgICAgICAgdmFsdWU6IDEwLA0KICAgICAgICAgICAgd3JpdGFibGU6IGZhbHNlLA0KICAgICAgICB9KTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyZ3VtZW50cywgIjAiLCB7DQogICAgICAgICAgICB2YWx1ZTogMjANCiAgICAgICAgfSk7DQogICAgICAgIHZhciB2ZXJpZnlGb3JtYWwgPSBhID09PSAxMDsgICAgICAgIA0KICAgICAgICByZXR1cm4gZGF0YVByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3QoYXJndW1lbnRzLCAiMCIsIDIwLCBmYWxzZSwgdHJ1ZSwgdHJ1ZSkgJiYgdmVyaWZ5Rm9ybWFsOw0KICAgICAgICB9KDAsIDEsIDIpKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'O' is an Arguments object of a function that has formal parameters, 'name' is own data property of 'O' which is also defined in [[ParameterMap]] of 'O', test TypeError is not thrown when updating the [[Value]] attribute value of 'name' which is defined as non-writable and configurable (10.6 [[DefineOwnProperty]] step 3 and step 5.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-293-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTI5My5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdPJyBpcyBhbiBBcmd1bWVudHMgb2JqZWN0LCAnbmFtZScgaXMgb3duIGRhdGEgcHJvcGVydHkgb2YgJ08nLCB0ZXN0IFR5cGVFcnJvciBpcyB0aHJvd24gd2hlbiB1cGRhdGluZyB0aGUgW1tWYWx1ZV1dIGF0dHJpYnV0ZSB2YWx1ZSBvZiAnbmFtZScgd2hpY2ggaXMgZGVmaW5lZCBhcyBub24td3JpdGFibGUgYW5kIG5vbi1jb25maWd1cmFibGUgKDEwLjYgW1tEZWZpbmVPd25Qcm9wZXJ0eV1dIHN0ZXAgMykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICByZXR1cm4gKGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcmd1bWVudHMsICIwIiwgew0KICAgICAgICAgICAgICAgIHZhbHVlOiAxMCwNCiAgICAgICAgICAgICAgICB3cml0YWJsZTogZmFsc2UsDQogICAgICAgICAgICAgICAgZW51bWVyYWJsZTogZmFsc2UsDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICB0cnkgew0KICAgICAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcmd1bWVudHMsICIwIiwgew0KICAgICAgICAgICAgICAgICAgICB2YWx1ZTogMjANCiAgICAgICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFR5cGVFcnJvciAmJiBkYXRhUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChhcmd1bWVudHMsICIwIiwgMTAsIGZhbHNlLCBmYWxzZSwgZmFsc2UpOw0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9KDAsIDEsIDIpKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'O' is an Arguments object, 'name' is own data property of 'O', test TypeError is thrown when updating the [[Value]] attribute value of 'name' which is defined as non-writable and non-configurable (10.6 [[DefineOwnProperty]] step 3)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-293.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTI5NC0xLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnR5IC0gJ08nIGlzIGFuIEFyZ3VtZW50cyBvYmplY3Qgb2YgYSBmdW5jdGlvbiB0aGF0IGhhcyBmb3JtYWwgcGFyYW1ldGVycywgJ25hbWUnIGlzIG93biBkYXRhIHByb3BlcnR5IG9mICdPJyB3aGljaCBpcyBhbHNvIGRlZmluZWQgaW4gW1tQYXJhbWV0ZXJNYXBdXSBvZiAnTycsIHRlc3QgVHlwZUVycm9yIGlzIHRocm93biB3aGVuIHVwZGF0aW5nIHRoZSBbW1dyaXRhYmxlXV0gYXR0cmlidXRlIHZhbHVlIG9mICduYW1lJyB3aGljaCBpcyBkZWZpbmVkIGFzIG5vbi1jb25maWd1cmFibGUgKDEwLjYgW1tEZWZpbmVPd25Qcm9wZXJ0eV1dIHN0ZXAgNCBhbmQgNWIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgcmV0dXJuIChmdW5jdGlvbiAoYSwgYiwgYykgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyZ3VtZW50cywgIjAiLCB7DQogICAgICAgICAgICAgICAgdmFsdWU6IDEwLA0KICAgICAgICAgICAgICAgIHdyaXRhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIHRyeSB7DQogICAgICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyZ3VtZW50cywgIjAiLCB7DQogICAgICAgICAgICAgICAgICAgIHdyaXRhYmxlOiB0cnVlDQogICAgICAgICAgICAgICAgfSk7DQogICAgICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICAgICAgdmFyIHZlcmlmeUZvcm1hbCA9IGEgPT09IDEwOw0KICAgICAgICAgICAgICAgIHJldHVybiBlIGluc3RhbmNlb2YgVHlwZUVycm9yICYmIGRhdGFQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KGFyZ3VtZW50cywgIjAiLCAxMCwgZmFsc2UsIGZhbHNlLCBmYWxzZSkgJiYgdmVyaWZ5Rm9ybWFsOw0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9KDAsIDEsIDIpKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'O' is an Arguments object of a function that has formal parameters, 'name' is own data property of 'O' which is also defined in [[ParameterMap]] of 'O', test TypeError is thrown when updating the [[Writable]] attribute value of 'name' which is defined as non-configurable (10.6 [[DefineOwnProperty]] step 4 and 5b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-294-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTI5NC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdPJyBpcyBhbiBBcmd1bWVudHMgb2JqZWN0LCAnbmFtZScgaXMgb3duIGRhdGEgcHJvcGVydHkgb2YgJ08nLCB0ZXN0IFR5cGVFcnJvciBpcyB0aHJvd24gd2hlbiB1cGRhdGluZyB0aGUgW1tXcml0YWJsZV1dIGF0dHJpYnV0ZSB2YWx1ZSBvZiAnbmFtZScgd2hpY2ggaXMgZGVmaW5lZCBhcyBub24tY29uZmlndXJhYmxlICgxMC42IFtbRGVmaW5lT3duUHJvcGVydHldXSBzdGVwIDQpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgcmV0dXJuIChmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJndW1lbnRzLCAiMCIsIHsNCiAgICAgICAgICAgICAgICB2YWx1ZTogMTAsDQogICAgICAgICAgICAgICAgd3JpdGFibGU6IGZhbHNlLA0KICAgICAgICAgICAgICAgIGVudW1lcmFibGU6IGZhbHNlLA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJndW1lbnRzLCAiMCIsIHsNCiAgICAgICAgICAgICAgICAgICAgd3JpdGFibGU6IHRydWUNCiAgICAgICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFR5cGVFcnJvciAmJiBkYXRhUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChhcmd1bWVudHMsICIwIiwgMTAsIGZhbHNlLCBmYWxzZSwgZmFsc2UpOw0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9KDAsIDEsIDIpKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'O' is an Arguments object, 'name' is own data property of 'O', test TypeError is thrown when updating the [[Writable]] attribute value of 'name' which is defined as non-configurable (10.6 [[DefineOwnProperty]] step 4)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-294.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTI5NS0xLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnR5IC0gJ08nIGlzIGFuIEFyZ3VtZW50cyBvYmplY3Qgb2YgYSBmdW5jdGlvbiB0aGF0IGhhcyBmb3JtYWwgcGFyYW1ldGVycywgJ25hbWUnIGlzIG93biBkYXRhIHByb3BlcnR5IG9mICdPJyB3aGljaCBpcyBhbHNvIGRlZmluZWQgaW4gW1tQYXJhbWV0ZXJNYXBdXSBvZiAnTycsIHRlc3QgVHlwZUVycm9yIGlzIHRocm93biB3aGVuIHVwZGF0aW5nIHRoZSBbW0VudW1lcmFibGVdXSBhdHRyaWJ1dGUgdmFsdWUgb2YgJ25hbWUnIHdoaWNoIGlzIGRlZmluZWQgYXMgbm9uLWNvbmZpZ3VyYWJsZSAoMTAuNiBbW0RlZmluZU93blByb3BlcnR5XV0gc3RlcCA0IGFuZCBzdGVwIDViKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHJldHVybiAoZnVuY3Rpb24gKGEsIGIsIGMpIHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcmd1bWVudHMsICIwIiwgew0KICAgICAgICAgICAgICAgIHZhbHVlOiAxMCwNCiAgICAgICAgICAgICAgICB3cml0YWJsZTogZmFsc2UsDQogICAgICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIHRyeSB7DQogICAgICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyZ3VtZW50cywgIjAiLCB7DQogICAgICAgICAgICAgICAgICAgIGVudW1lcmFibGU6IGZhbHNlDQogICAgICAgICAgICAgICAgfSk7DQogICAgICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICAgICAgdmFyIHZlcmlmeUZvcm1hbCA9IGEgPT09IDEwOw0KICAgICAgICAgICAgICAgIHJldHVybiBlIGluc3RhbmNlb2YgVHlwZUVycm9yICYmIGRhdGFQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KGFyZ3VtZW50cywgIjAiLCAxMCwgZmFsc2UsIHRydWUsIGZhbHNlKSAmJiB2ZXJpZnlGb3JtYWw7DQogICAgICAgICAgICB9DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0oMCwgMSwgMikpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'O' is an Arguments object of a function that has formal parameters, 'name' is own data property of 'O' which is also defined in [[ParameterMap]] of 'O', test TypeError is thrown when updating the [[Enumerable]] attribute value of 'name' which is defined as non-configurable (10.6 [[DefineOwnProperty]] step 4 and step 5b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-295-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTI5NS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdPJyBpcyBhbiBBcmd1bWVudHMgb2JqZWN0LCAnbmFtZScgaXMgb3duIGRhdGEgcHJvcGVydHkgb2YgJ08nLCB0ZXN0IFR5cGVFcnJvciBpcyB0aHJvd24gd2hlbiB1cGRhdGluZyB0aGUgW1tFbnVtZXJhYmxlXV0gYXR0cmlidXRlIHZhbHVlIG9mICduYW1lJyB3aGljaCBpcyBkZWZpbmVkIGFzIG5vbi1jb25maWd1cmFibGUgKDEwLjYgW1tEZWZpbmVPd25Qcm9wZXJ0eV1dIHN0ZXAgNCkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICByZXR1cm4gKGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcmd1bWVudHMsICIwIiwgew0KICAgICAgICAgICAgICAgIHZhbHVlOiAxMCwNCiAgICAgICAgICAgICAgICB3cml0YWJsZTogZmFsc2UsDQogICAgICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIHRyeSB7DQogICAgICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyZ3VtZW50cywgIjAiLCB7DQogICAgICAgICAgICAgICAgICAgIGVudW1lcmFibGU6IGZhbHNlDQogICAgICAgICAgICAgICAgfSk7DQogICAgICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IgJiYgZGF0YVByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3QoYXJndW1lbnRzLCAiMCIsIDEwLCBmYWxzZSwgdHJ1ZSwgZmFsc2UpOw0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9KDAsIDEsIDIpKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'O' is an Arguments object, 'name' is own data property of 'O', test TypeError is thrown when updating the [[Enumerable]] attribute value of 'name' which is defined as non-configurable (10.6 [[DefineOwnProperty]] step 4)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-295.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTI5Ni0xLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnR5IC0gJ08nIGlzIGFuIEFyZ3VtZW50cyBvYmplY3Qgb2YgYSBmdW5jdGlvbiB0aGF0IGhhcyBmb3JtYWwgcGFyYW1ldGVycywgJ25hbWUnIGlzIG93biBkYXRhIHByb3BlcnR5IG9mICdPJyB3aGljaCBpcyBhbHNvIGRlZmluZWQgaW4gW1tQYXJhbWV0ZXJNYXBdXSBvZiAnTycsIHRlc3QgVHlwZUVycm9yIGlzIHRocm93biB3aGVuIHVwZGF0aW5nIHRoZSBbW0NvbmZpZ3VyYWJsZV1dIGF0dHJpYnV0ZSB2YWx1ZSBvZiAnbmFtZScgd2hpY2ggaXMgZGVmaW5lZCBhcyBub24tY29uZmlndXJhYmxlICgxMC42IFtbRGVmaW5lT3duUHJvcGVydHldXSBzdGVwIDQgYW5kIHN0ZXAgNWIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgcmV0dXJuIChmdW5jdGlvbiAoYSwgYiwgYykgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyZ3VtZW50cywgIjAiLCB7DQogICAgICAgICAgICAgICAgdmFsdWU6IDEwLA0KICAgICAgICAgICAgICAgIHdyaXRhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIHRyeSB7DQogICAgICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyZ3VtZW50cywgIjAiLCB7DQogICAgICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgICAgIHZhciB2ZXJpZnlGb3JtYWwgPSBhID09PSAxMDsNCiAgICAgICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFR5cGVFcnJvciAmJiBkYXRhUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChhcmd1bWVudHMsICIwIiwgMTAsIGZhbHNlLCBmYWxzZSwgZmFsc2UpICYmIHZlcmlmeUZvcm1hbDsNCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSgwLCAxLCAyKSk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - 'O' is an Arguments object of a function that has formal parameters, 'name' is own data property of 'O' which is also defined in [[ParameterMap]] of 'O', test TypeError is thrown when updating the [[Configurable]] attribute value of 'name' which is defined as non-configurable (10.6 [[DefineOwnProperty]] step 4 and step 5b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-296-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTI5Ni5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdPJyBpcyBhbiBBcmd1bWVudHMgb2JqZWN0LCAnbmFtZScgaXMgb3duIGRhdGEgcHJvcGVydHkgb2YgJ08nLCB0ZXN0IFR5cGVFcnJvciBpcyB0aHJvd24gd2hlbiB1cGRhdGluZyB0aGUgW1tDb25maWd1cmFibGVdXSBhdHRyaWJ1dGUgdmFsdWUgb2YgJ25hbWUnIHdoaWNoIGlzIGRlZmluZWQgYXMgbm9uLWNvbmZpZ3VyYWJsZSAoMTAuNiBbW0RlZmluZU93blByb3BlcnR5XV0gc3RlcCA0KQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHJldHVybiAoZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyZ3VtZW50cywgIjAiLCB7DQogICAgICAgICAgICAgICAgdmFsdWU6IDEwLA0KICAgICAgICAgICAgICAgIHdyaXRhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIHRyeSB7DQogICAgICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyZ3VtZW50cywgIjAiLCB7DQogICAgICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgICAgIHJldHVybiBlIGluc3RhbmNlb2YgVHlwZUVycm9yICYmIGRhdGFQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KGFyZ3VtZW50cywgIjAiLCAxMCwgZmFsc2UsIGZhbHNlLCBmYWxzZSk7DQogICAgICAgICAgICB9DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0oMCwgMSwgMikpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'O' is an Arguments object, 'name' is own data property of 'O', test TypeError is thrown when updating the [[Configurable]] attribute value of 'name' which is defined as non-configurable (10.6 [[DefineOwnProperty]] step 4)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-296.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTI5Ny0xLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnR5IC0gJ08nIGlzIGFuIEFyZ3VtZW50cyBvYmplY3Qgb2YgYSBmdW5jdGlvbiB0aGF0IGhhcyBmb3JtYWwgcGFyYW1ldGVycywgJ25hbWUnIGlzIG93biBhY2Nlc3NvciBwcm9wZXJ0eSBvZiAnTycgd2hpY2ggaXMgYWxzbyBkZWZpbmVkIGluIFtbUGFyYW1ldGVyTWFwXV0gb2YgJ08nLCB0ZXN0IFR5cGVFcnJvciBpcyB0aHJvd24gd2hlbiB1cGRhdGluZyB0aGUgW1tHZXRdXSBhdHRyaWJ1dGUgdmFsdWUgb2YgJ25hbWUnIHdoaWNoIGlzIGRlZmluZWQgYXMgbm9uLWNvbmZpZ3VyYWJsZSAoMTAuNiBbW0RlZmluZU93blByb3BlcnR5XV0gc3RlcCA0IGFuZCBzdGVwIDVhKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHJldHVybiAoZnVuY3Rpb24gKGEsIGIsIGMpIHsNCiAgICAgICAgICAgIGZ1bmN0aW9uIGdldEZ1bmMxKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiAxMDsNCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcmd1bWVudHMsICIwIiwgew0KICAgICAgICAgICAgICAgIGdldDogZ2V0RnVuYzEsDQogICAgICAgICAgICAgICAgZW51bWVyYWJsZTogZmFsc2UsDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICBmdW5jdGlvbiBnZXRGdW5jMigpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gMjA7DQogICAgICAgICAgICB9DQogICAgICAgICAgICB0cnkgew0KICAgICAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcmd1bWVudHMsICIwIiwgew0KICAgICAgICAgICAgICAgICAgICBnZXQ6IGdldEZ1bmMyDQogICAgICAgICAgICAgICAgfSk7DQogICAgICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICAgICAgdmFyIHZlcmlmeUZvcm1hbCA9IGEgPT09IDA7DQogICAgICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IgJiYgYWNjZXNzb3JQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KGFyZ3VtZW50cywgIjAiLCBnZXRGdW5jMSwgdW5kZWZpbmVkLCB1bmRlZmluZWQsIGZhbHNlLCBmYWxzZSkgJiYgdmVyaWZ5Rm9ybWFsOw0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9KDAsIDEsIDIpKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'O' is an Arguments object of a function that has formal parameters, 'name' is own accessor property of 'O' which is also defined in [[ParameterMap]] of 'O', test TypeError is thrown when updating the [[Get]] attribute value of 'name' which is defined as non-configurable (10.6 [[DefineOwnProperty]] step 4 and step 5a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-297-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTI5Ny5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdPJyBpcyBhbiBBcmd1bWVudHMgb2JqZWN0LCAnbmFtZScgaXMgb3duIGFjY2Vzc29yIHByb3BlcnR5IG9mICdPJywgdGVzdCBUeXBlRXJyb3IgaXMgdGhyb3duIHdoZW4gdXBkYXRpbmcgdGhlIFtbR2V0XV0gYXR0cmlidXRlIHZhbHVlIG9mICduYW1lJyB3aGljaCBpcyBkZWZpbmVkIGFzIG5vbi1jb25maWd1cmFibGUgKDEwLjYgW1tEZWZpbmVPd25Qcm9wZXJ0eV1dIHN0ZXAgNCkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICByZXR1cm4gKGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgIGZ1bmN0aW9uIGdldEZ1bmMxKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiAxMDsNCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcmd1bWVudHMsICIwIiwgew0KICAgICAgICAgICAgICAgIGdldDogZ2V0RnVuYzEsDQogICAgICAgICAgICAgICAgZW51bWVyYWJsZTogZmFsc2UsDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICBmdW5jdGlvbiBnZXRGdW5jMigpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gMjA7DQogICAgICAgICAgICB9DQogICAgICAgICAgICB0cnkgew0KICAgICAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcmd1bWVudHMsICIwIiwgew0KICAgICAgICAgICAgICAgICAgICBnZXQ6IGdldEZ1bmMyDQogICAgICAgICAgICAgICAgfSk7DQogICAgICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IgJiYgYWNjZXNzb3JQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KGFyZ3VtZW50cywgIjAiLCBnZXRGdW5jMSwgdW5kZWZpbmVkLCB1bmRlZmluZWQsIGZhbHNlLCBmYWxzZSk7DQogICAgICAgICAgICB9DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0oMCwgMSwgMikpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'O' is an Arguments object, 'name' is own accessor property of 'O', test TypeError is thrown when updating the [[Get]] attribute value of 'name' which is defined as non-configurable (10.6 [[DefineOwnProperty]] step 4)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-297.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTI5OC0xLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnR5IC0gJ08nIGlzIGFuIEFyZ3VtZW50cyBvYmplY3Qgb2YgYSBmdW5jdGlvbiB0aGF0IGhhcyBmb3JtYWwgcGFyYW1ldGVycywgJ25hbWUnIGlzIG93biBhY2Nlc3NvciBwcm9wZXJ0eSBvZiAnTycgd2hpY2ggaXMgYWxzbyBkZWZpbmVkIGluIFtbUGFyYW1ldGVyTWFwXV0gb2YgJ08nLCB0ZXN0IFR5cGVFcnJvciBpcyB0aHJvd24gd2hlbiB1cGRhdGluZyB0aGUgW1tTZXRdXSBhdHRyaWJ1dGUgdmFsdWUgb2YgJ25hbWUnIHdoaWNoIGlzIGRlZmluZWQgYXMgbm9uLWNvbmZpZ3VyYWJsZSAoMTAuNiBbW0RlZmluZU93blByb3BlcnR5XV0gc3RlcHMgNCBhbmQgNWEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgcmV0dXJuIChmdW5jdGlvbiAoYSwgYiwgYykgew0KICAgICAgICAgICAgZnVuY3Rpb24gZ2V0RnVuYygpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gMTA7DQogICAgICAgICAgICB9DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJndW1lbnRzLCAiMCIsIHsNCiAgICAgICAgICAgICAgICBnZXQ6IGdldEZ1bmMsDQogICAgICAgICAgICAgICAgc2V0OiB1bmRlZmluZWQsDQogICAgICAgICAgICAgICAgZW51bWVyYWJsZTogZmFsc2UsDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICBmdW5jdGlvbiBzZXRGdW5jKHZhbHVlKSB7DQogICAgICAgICAgICAgICAgdGhpcy5zZXRWZXJpZnlIZWxwUHJvcCA9IHZhbHVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJndW1lbnRzLCAiMCIsIHsNCiAgICAgICAgICAgICAgICAgICAgc2V0OiBzZXRGdW5jDQogICAgICAgICAgICAgICAgfSk7DQogICAgICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICAgICAgdmFyIHZlcmlmeUZvcm1hbCA9IGEgPT09IDA7DQogICAgICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IgJiYNCiAgICAgICAgICAgICAgICAgICAgYWNjZXNzb3JQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KGFyZ3VtZW50cywgIjAiLCBnZXRGdW5jLCB1bmRlZmluZWQsIHVuZGVmaW5lZCwgZmFsc2UsIGZhbHNlKSAmJiB2ZXJpZnlGb3JtYWw7DQogICAgICAgICAgICB9DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0oMCwgMSwgMikpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'O' is an Arguments object of a function that has formal parameters, 'name' is own accessor property of 'O' which is also defined in [[ParameterMap]] of 'O', test TypeError is thrown when updating the [[Set]] attribute value of 'name' which is defined as non-configurable (10.6 [[DefineOwnProperty]] steps 4 and 5a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-298-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTI5OC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdPJyBpcyBhbiBBcmd1bWVudHMgb2JqZWN0LCAnbmFtZScgaXMgb3duIGFjY2Vzc29yIHByb3BlcnR5IG9mICdPJywgdGVzdCBUeXBlRXJyb3IgaXMgdGhyb3duIHdoZW4gdXBkYXRpbmcgdGhlIFtbU2V0XV0gYXR0cmlidXRlIHZhbHVlIG9mICduYW1lJyB3aGljaCBpcyBkZWZpbmVkIGFzIG5vbi1jb25maWd1cmFibGUgKDEwLjYgW1tEZWZpbmVPd25Qcm9wZXJ0eV1dIHN0ZXAgNCkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICByZXR1cm4gKGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgIGZ1bmN0aW9uIGdldEZ1bmMoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIDEwOw0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyZ3VtZW50cywgIjAiLCB7DQogICAgICAgICAgICAgICAgZ2V0OiBnZXRGdW5jLA0KICAgICAgICAgICAgICAgIHNldDogdW5kZWZpbmVkLA0KICAgICAgICAgICAgICAgIGVudW1lcmFibGU6IGZhbHNlLA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgZnVuY3Rpb24gc2V0RnVuYyh2YWx1ZSkgew0KICAgICAgICAgICAgICAgIHRoaXMuc2V0VmVyaWZ5SGVscFByb3AgPSB2YWx1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIHRyeSB7DQogICAgICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyZ3VtZW50cywgIjAiLCB7DQogICAgICAgICAgICAgICAgICAgIHNldDogc2V0RnVuYw0KICAgICAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgICAgIHJldHVybiBlIGluc3RhbmNlb2YgVHlwZUVycm9yICYmIGFjY2Vzc29yUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChhcmd1bWVudHMsICIwIiwgZ2V0RnVuYywgdW5kZWZpbmVkLCB1bmRlZmluZWQsIGZhbHNlLCBmYWxzZSk7DQogICAgICAgICAgICB9DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0oMCwgMSwgMikpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'O' is an Arguments object, 'name' is own accessor property of 'O', test TypeError is thrown when updating the [[Set]] attribute value of 'name' which is defined as non-configurable (10.6 [[DefineOwnProperty]] step 4)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-298.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTI5OS0xLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnR5IC0gJ08nIGlzIGFuIEFyZ3VtZW50cyBvYmplY3Qgb2YgYSBmdW5jdGlvbiB0aGF0IGhhcyBmb3JtYWwgcGFyYW1ldGVycywgJ25hbWUnIGlzIG93biBhY2Nlc3NvciBwcm9wZXJ0eSBvZiAnTycgd2hpY2ggaXMgYWxzbyBkZWZpbmVkIGluIFtbUGFyYW1ldGVyTWFwXV0gb2YgJ08nLCB0ZXN0IFR5cGVFcnJvciBpcyB0aHJvd24gd2hlbiB1cGRhdGluZyB0aGUgW1tFbnVtZXJhYmxlXV0gYXR0cmlidXRlIHZhbHVlIG9mICduYW1lJyB3aGljaCBpcyBkZWZpbmVkIGFzIG5vbi1jb25maWd1cmFibGUgKDEwLjYgW1tEZWZpbmVPd25Qcm9wZXJ0eV1dIHN0ZXBzIDQgYW5kIDVhKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHJldHVybiAoZnVuY3Rpb24gKGEsIGIsIGMpIHsNCiAgICAgICAgICAgIGZ1bmN0aW9uIGdldEZ1bmMoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIDEwOw0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyZ3VtZW50cywgIjAiLCB7DQogICAgICAgICAgICAgICAgZ2V0OiBnZXRGdW5jLA0KICAgICAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICB0cnkgew0KICAgICAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcmd1bWVudHMsICIwIiwgew0KICAgICAgICAgICAgICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZQ0KICAgICAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgICAgIHZhciB2ZXJpZnlGb3JtYWwgPSBhID09PSAwOw0KICAgICAgICAgICAgICAgIHJldHVybiBlIGluc3RhbmNlb2YgVHlwZUVycm9yICYmDQogICAgICAgICAgICAgICAgICAgIGFjY2Vzc29yUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChhcmd1bWVudHMsICIwIiwgZ2V0RnVuYywgdW5kZWZpbmVkLCB1bmRlZmluZWQsIHRydWUsIGZhbHNlKSAmJiB2ZXJpZnlGb3JtYWw7DQogICAgICAgICAgICB9DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0oMCwgMSwgMikpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'O' is an Arguments object of a function that has formal parameters, 'name' is own accessor property of 'O' which is also defined in [[ParameterMap]] of 'O', test TypeError is thrown when updating the [[Enumerable]] attribute value of 'name' which is defined as non-configurable (10.6 [[DefineOwnProperty]] steps 4 and 5a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-299-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTI5OS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdPJyBpcyBhbiBBcmd1bWVudHMgb2JqZWN0LCAnbmFtZScgaXMgb3duIGFjY2Vzc29yIHByb3BlcnR5IG9mICdPJywgdGVzdCBUeXBlRXJyb3IgaXMgdGhyb3duIHdoZW4gdXBkYXRpbmcgdGhlIFtbRW51bWVyYWJsZV1dIGF0dHJpYnV0ZSB2YWx1ZSBvZiAnbmFtZScgd2hpY2ggaXMgZGVmaW5lZCBhcyBub24tY29uZmlndXJhYmxlICgxMC42IFtbRGVmaW5lT3duUHJvcGVydHldXSBzdGVwIDQpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgcmV0dXJuIChmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICBmdW5jdGlvbiBnZXRGdW5jKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiAxMDsNCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcmd1bWVudHMsICIwIiwgew0KICAgICAgICAgICAgICAgIGdldDogZ2V0RnVuYywNCiAgICAgICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJndW1lbnRzLCAiMCIsIHsNCiAgICAgICAgICAgICAgICAgICAgZW51bWVyYWJsZTogZmFsc2UNCiAgICAgICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFR5cGVFcnJvciAmJiBhY2Nlc3NvclByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3QoYXJndW1lbnRzLCAiMCIsIGdldEZ1bmMsIHVuZGVmaW5lZCwgdW5kZWZpbmVkLCB0cnVlLCBmYWxzZSk7DQogICAgICAgICAgICB9DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0oMCwgMSwgMikpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'O' is an Arguments object, 'name' is own accessor property of 'O', test TypeError is thrown when updating the [[Enumerable]] attribute value of 'name' which is defined as non-configurable (10.6 [[DefineOwnProperty]] step 4)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-299.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogU3RlcCA0IG9mIGRlZmluZVByb3BlcnR5IGNhbGxzIHRoZSBbW0RlZmluZU93blByb3BlcnR5XV0gaW50ZXJuYWwgbWV0aG9kDQogKiBvZiBPIHRvIGRlZmluZSB0aGUgcHJvcGVydHkuIEZvciBuZXdseSBkZWZpbmVkIGFjY2Vzc29yIHByb3BlcnRpZXMsIGF0dHJpYnV0ZXMNCiAqIG1pc3NpbmcgZnJvbSBkZXNjIHNob3VsZCBoYXZlIHZhbHVlcyBzZXQgdG8gdGhlIGRlZmF1bHRzIGZyb20gOC42LjEuDQogKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTMuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgc2V0cyBtaXNzaW5nIGF0dHJpYnV0ZXMgdG8gdGhlaXIgZGVmYXVsdCB2YWx1ZXMgKGFjY2Vzc29yKSg4LjEyLjkgc3RlcCA0LmIuaSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgbyA9IHt9Ow0KDQogIHZhciBnZXR0ZXIgPSBmdW5jdGlvbiAoKSB7IHJldHVybiAxOyB9Ow0KICB2YXIgZGVzYyA9IHsgZ2V0OiBnZXR0ZXIgfTsNCg0KICBPYmplY3QuZGVmaW5lUHJvcGVydHkobywgImZvbyIsIGRlc2MpOw0KDQogIHZhciBwcm9wRGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IobywgImZvbyIpOw0KDQogIGlmICh0eXBlb2YocHJvcERlc2MuZ2V0KSA9PT0gImZ1bmN0aW9uIiAmJiAgLy8gdGhlIGdldHRlciBtdXN0IGJlIHRoZSBmdW5jdGlvbiB0aGF0IHdhcyBwcm92aWRlZA0KICAgICAgcHJvcERlc2MuZ2V0ID09PSBnZXR0ZXIgJiYNCiAgICAgIHByb3BEZXNjLmVudW1lcmFibGUgICA9PT0gZmFsc2UgJiYgICAgICAvLyBmYWxzZSBieSBkZWZhdWx0DQogICAgICBwcm9wRGVzYy5jb25maWd1cmFibGUgPT09IGZhbHNlKSB7ICAgICAgLy8gZmFsc2UgYnkgZGVmYXVsdA0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"Step 4 of defineProperty calls the [[DefineOwnProperty]] internal method\nof O to define the property. For newly defined accessor properties, attributes\nmissing from desc should have values set to the defaults from 8.6.1.","description":"Object.defineProperty sets missing attributes to their default values (accessor)(8.12.9 step 4.b.i)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTMwLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnR5IC0gJ25hbWUnIGlzIG93biBhY2Nlc3NvciBwcm9wZXJ0eSB3aXRob3V0IGEgZ2V0IGZ1bmN0aW9uICg4LjEyLjkgc3RlcCAxKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgImZvbyIsIHsNCiAgICAgICAgICAgIHNldDogZnVuY3Rpb24gKCkgeyB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgImZvbyIsIHsNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFR5cGVFcnJvcjsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'name' is own accessor property without a get function (8.12.9 step 1)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-30.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTMwMC0xLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnR5IC0gJ08nIGlzIGFuIEFyZ3VtZW50cyBvYmplY3Qgb2YgYSBmdW5jdGlvbiB0aGF0IGhhcyBmb3JtYWwgcGFyYW1ldGVycywgJ25hbWUnIGlzIG93biBhY2Nlc3NvciBwcm9wZXJ0eSBvZiAnTycgd2hpY2ggaXMgYWxzbyBkZWZpbmVkIGluIFtbUGFyYW1ldGVyTWFwXV0gb2YgJ08nLCB0ZXN0IFR5cGVFcnJvciBpcyB0aHJvd24gd2hlbiB1cGRhdGluZyB0aGUgW1tDb25maWd1cmFibGVdXSBhdHRyaWJ1dGUgdmFsdWUgb2YgJ25hbWUnIHdoaWNoIGlzIGRlZmluZWQgYXMgbm9uLWNvbmZpZ3VyYWJsZSAoMTAuNiBbW0RlZmluZU93blByb3BlcnR5XV0gc3RlcCA0IGFuZCBzdGVwIDVhKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHJldHVybiAoZnVuY3Rpb24gKGEsIGIsIGMpIHsNCiAgICAgICAgICAgIGZ1bmN0aW9uIGdldEZ1bmMoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIDA7DQogICAgICAgICAgICB9DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJndW1lbnRzLCAiMCIsIHsNCiAgICAgICAgICAgICAgICBnZXQ6IGdldEZ1bmMsDQogICAgICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIHRyeSB7DQogICAgICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyZ3VtZW50cywgIjAiLCB7DQogICAgICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgICAgIHZhciB2ZXJpZnlGb3JtYWwgPSBhID09PSAwOw0KICAgICAgICAgICAgICAgIHJldHVybiBlIGluc3RhbmNlb2YgVHlwZUVycm9yICYmDQogICAgICAgICAgICAgICAgICAgIGFjY2Vzc29yUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChhcmd1bWVudHMsICIwIiwgZ2V0RnVuYywgdW5kZWZpbmVkLCB1bmRlZmluZWQsIHRydWUsIGZhbHNlKSAmJiB2ZXJpZnlGb3JtYWw7DQogICAgICAgICAgICB9DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0oMCwgMSwgMikpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'O' is an Arguments object of a function that has formal parameters, 'name' is own accessor property of 'O' which is also defined in [[ParameterMap]] of 'O', test TypeError is thrown when updating the [[Configurable]] attribute value of 'name' which is defined as non-configurable (10.6 [[DefineOwnProperty]] step 4 and step 5a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-300-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTMwMC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdPJyBpcyBhbiBBcmd1bWVudHMgb2JqZWN0LCAnbmFtZScgaXMgb3duIGFjY2Vzc29yIHByb3BlcnR5IG9mICdPJywgdGVzdCBUeXBlRXJyb3IgaXMgdGhyb3duIHdoZW4gdXBkYXRpbmcgdGhlIFtbQ29uZmlndXJhYmxlXV0gYXR0cmlidXRlIHZhbHVlIG9mICduYW1lJyB3aGljaCBpcyBkZWZpbmVkIGFzIG5vbi1jb25maWd1cmFibGUgKDEwLjYgW1tEZWZpbmVPd25Qcm9wZXJ0eV1dIHN0ZXAgNCkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICByZXR1cm4gKGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgIGZ1bmN0aW9uIGdldEZ1bmMoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIDEwOw0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyZ3VtZW50cywgIjAiLCB7DQogICAgICAgICAgICAgICAgZ2V0OiBnZXRGdW5jLA0KICAgICAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICB0cnkgew0KICAgICAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcmd1bWVudHMsICIwIiwgew0KICAgICAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFR5cGVFcnJvciAmJiBhY2Nlc3NvclByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3QoYXJndW1lbnRzLCAiMCIsIGdldEZ1bmMsIHVuZGVmaW5lZCwgdW5kZWZpbmVkLCB0cnVlLCBmYWxzZSk7DQogICAgICAgICAgICB9DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0oMCwgMSwgMikpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'O' is an Arguments object, 'name' is own accessor property of 'O', test TypeError is thrown when updating the [[Configurable]] attribute value of 'name' which is defined as non-configurable (10.6 [[DefineOwnProperty]] step 4)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-300.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTMwMS0xLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnR5IC0gJ08nIGlzIGFuIEFyZ3VtZW50cyBvYmplY3Qgb2YgYSBmdW5jdGlvbiB0aGF0IGhhcyBmb3JtYWwgcGFyYW1ldGVycywgJ25hbWUnIGlzIGFuIGluZGV4IG5hbWVkIHByb3BlcnR5IG9mICdPJywgYW5kICdkZXNjJyBpcyBkYXRhIGRlc2NyaXB0b3IsIHRlc3QgJ25hbWUnIGlzIGRlZmluZWQgaW4gJ08nIHdpdGggYWxsIGNvcnJlY3QgYXR0cmlidXRlIHZhbHVlcyAoMTAuNiBbW0RlZmluZU93blByb3BlcnR5XV0gc3RlcCAzKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHJldHVybiAoZnVuY3Rpb24gKGEsIGIsIGMpIHsNCiAgICAgICAgICAgIGRlbGV0ZSBhcmd1bWVudHNbMF07DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJndW1lbnRzLCAiMCIsIHsNCiAgICAgICAgICAgICAgICB2YWx1ZTogMTAsDQogICAgICAgICAgICAgICAgd3JpdGFibGU6IGZhbHNlLA0KICAgICAgICAgICAgICAgIGVudW1lcmFibGU6IGZhbHNlLA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgdmFyIHZlcmlmeUZvcm1hbCA9IGEgPT09IDA7DQogICAgICAgICAgICByZXR1cm4gZGF0YVByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3QoYXJndW1lbnRzLCAiMCIsIDEwLCBmYWxzZSwgZmFsc2UsIGZhbHNlKSAmJiB2ZXJpZnlGb3JtYWw7DQogICAgICAgIH0oMCwgMSwgMikpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'O' is an Arguments object of a function that has formal parameters, 'name' is an index named property of 'O', and 'desc' is data descriptor, test 'name' is defined in 'O' with all correct attribute values (10.6 [[DefineOwnProperty]] step 3)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-301-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTMwMS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdPJyBpcyBhbiBBcmd1bWVudHMgb2JqZWN0LCAnbmFtZScgaXMgYW4gYXJyYXkgaW5kZXggbmFtZWQgcHJvcGVydHkgb2YgJ08nIGJ1dCBub3QgZGVmaW5lZCBpbiBbW1BhcmFtZXRlck1hcF1dIG9mICdPJywgYW5kICdkZXNjJyBpcyBkYXRhIGRlc2NyaXB0b3IsIHRlc3QgJ25hbWUnIGlzIGRlZmluZWQgaW4gJ08nIHdpdGggYWxsIGNvcnJlY3QgYXR0cmlidXRlIHZhbHVlcyAoMTAuNiBbW0RlZmluZU93blByb3BlcnR5XV0gc3RlcCAzKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHJldHVybiAoZnVuY3Rpb24gKCkgeyANCiAgICAgICAgICAgIGRlbGV0ZSBhcmd1bWVudHNbMF07DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJndW1lbnRzLCAiMCIsIHsNCiAgICAgICAgICAgICAgICB2YWx1ZTogMTAsDQogICAgICAgICAgICAgICAgd3JpdGFibGU6IGZhbHNlLA0KICAgICAgICAgICAgICAgIGVudW1lcmFibGU6IGZhbHNlLA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgcmV0dXJuIGRhdGFQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KGFyZ3VtZW50cywgIjAiLCAxMCwgZmFsc2UsIGZhbHNlLCBmYWxzZSk7DQogICAgICAgIH0oMCwgMSwgMikpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'O' is an Arguments object, 'name' is an array index named property of 'O' but not defined in [[ParameterMap]] of 'O', and 'desc' is data descriptor, test 'name' is defined in 'O' with all correct attribute values (10.6 [[DefineOwnProperty]] step 3)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-301.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTMwMi0xLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnR5IC0gJ08nIGlzIGFuIEFyZ3VtZW50cyBvYmplY3Qgb2YgYSBmdW5jdGlvbiB0aGF0IGhhcyBmb3JtYWwgcGFyYW1ldGVycywgJ25hbWUnIGlzIGFuIGluZGV4IG5hbWVkIHByb3BlcnR5IG9mICdPJyBidXQgbm90IGRlZmluZWQgaW4gW1tQYXJhbWV0ZXJNYXBdXSBvZiAnTycsIGFuZCAnZGVzYycgaXMgYWNjZXNzb3IgZGVzY3JpcHRvciwgdGVzdCAnbmFtZScgaXMgZGVmaW5lZCBpbiAnTycgd2l0aCBhbGwgY29ycmVjdCBhdHRyaWJ1dGUgdmFsdWVzICgxMC42IFtbRGVmaW5lT3duUHJvcGVydHldXSBzdGVwIDMgYW5kIHN0ZXAgNWEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgcmV0dXJuIChmdW5jdGlvbiAoYSwgYiwgYykgew0KICAgICAgICAgICAgZGVsZXRlIGFyZ3VtZW50c1swXTsNCiAgICAgICAgICAgIGZ1bmN0aW9uIGdldEZ1bmMoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIDEwOw0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgZnVuY3Rpb24gc2V0RnVuYyh2YWx1ZSkgew0KICAgICAgICAgICAgICAgIHRoaXMuc2V0VmVyaWZ5SGVscFByb3AgPSB2YWx1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcmd1bWVudHMsICIwIiwgew0KICAgICAgICAgICAgICAgIGdldDogZ2V0RnVuYywNCiAgICAgICAgICAgICAgICBzZXQ6IHNldEZ1bmMsDQogICAgICAgICAgICAgICAgZW51bWVyYWJsZTogZmFsc2UsDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICB2YXIgdmVyaWZ5Rm9ybWFsID0gYSA9PT0gMDsNCiAgICAgICAgICAgIHJldHVybiBhY2Nlc3NvclByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3QoYXJndW1lbnRzLCAiMCIsIGdldEZ1bmMsIHNldEZ1bmMsICJzZXRWZXJpZnlIZWxwUHJvcCIsIGZhbHNlLCBmYWxzZSkgJiYgdmVyaWZ5Rm9ybWFsOw0KICAgICAgICB9KDAsIDEsIDIpKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'O' is an Arguments object of a function that has formal parameters, 'name' is an index named property of 'O' but not defined in [[ParameterMap]] of 'O', and 'desc' is accessor descriptor, test 'name' is defined in 'O' with all correct attribute values (10.6 [[DefineOwnProperty]] step 3 and step 5a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-302-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTMwMi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdPJyBpcyBhbiBBcmd1bWVudHMgb2JqZWN0LCAnbmFtZScgaXMgYW4gaW5kZXggbmFtZWQgcHJvcGVydHkgb2YgJ08nIGJ1dCBub3QgZGVmaW5lZCBpbiBbW1BhcmFtZXRlck1hcF1dIG9mICdPJywgYW5kICdkZXNjJyBpcyBhY2Nlc3NvciBkZXNjcmlwdG9yLCB0ZXN0ICduYW1lJyBpcyBkZWZpbmVkIGluICdPJyB3aXRoIGFsbCBjb3JyZWN0IGF0dHJpYnV0ZSB2YWx1ZXMgKDEwLjYgW1tEZWZpbmVPd25Qcm9wZXJ0eV1dIHN0ZXAgMykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICByZXR1cm4gKGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgIGRlbGV0ZSBhcmd1bWVudHNbMF07DQogICAgICAgICAgICBmdW5jdGlvbiBnZXRGdW5jKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiAxMDsNCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIGZ1bmN0aW9uIHNldEZ1bmModmFsdWUpIHsNCiAgICAgICAgICAgICAgICB0aGlzLnNldFZlcmlmeUhlbHBQcm9wID0gdmFsdWU7DQogICAgICAgICAgICB9DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJndW1lbnRzLCAiMCIsIHsNCiAgICAgICAgICAgICAgICBnZXQ6IGdldEZ1bmMsDQogICAgICAgICAgICAgICAgc2V0OiBzZXRGdW5jLA0KICAgICAgICAgICAgICAgIGVudW1lcmFibGU6IGZhbHNlLA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgcmV0dXJuIGFjY2Vzc29yUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChhcmd1bWVudHMsICIwIiwgZ2V0RnVuYywgc2V0RnVuYywgInNldFZlcmlmeUhlbHBQcm9wIiwgZmFsc2UsIGZhbHNlKTsNCiAgICAgICAgfSgwLCAxLCAyKSk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - 'O' is an Arguments object, 'name' is an index named property of 'O' but not defined in [[ParameterMap]] of 'O', and 'desc' is accessor descriptor, test 'name' is defined in 'O' with all correct attribute values (10.6 [[DefineOwnProperty]] step 3)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-302.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTMwMy5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdPJyBpcyBhbiBBcmd1bWVudHMgb2JqZWN0LCAnbmFtZScgaXMgYW4gaW5kZXggbmFtZWQgYWNjZXNzb3IgcHJvcGVydHkgb2YgJ08nIGJ1dCBub3QgZGVmaW5lZCBpbiBbW1BhcmFtZXRlck1hcF1dIG9mICdPJywgYW5kICdkZXNjJyBpcyBhY2Nlc3NvciBkZXNjcmlwdG9yLCB0ZXN0IHVwZGF0aW5nIG11bHRpcGxlIGF0dHJpYnV0ZSB2YWx1ZXMgb2YgJ25hbWUnICgxMC42IFtbRGVmaW5lT3duUHJvcGVydHldXSBzdGVwIDMpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgcmV0dXJuIChmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICBmdW5jdGlvbiBnZXRGdW5jMSgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gMTA7DQogICAgICAgICAgICB9DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJndW1lbnRzLCAiMCIsIHsNCiAgICAgICAgICAgICAgICBnZXQ6IGdldEZ1bmMxLA0KICAgICAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIGZ1bmN0aW9uIGdldEZ1bmMyKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiAyMDsNCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcmd1bWVudHMsICIwIiwgew0KICAgICAgICAgICAgICAgIGdldDogZ2V0RnVuYzIsDQogICAgICAgICAgICAgICAgZW51bWVyYWJsZTogZmFsc2UsDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICByZXR1cm4gYWNjZXNzb3JQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KGFyZ3VtZW50cywgIjAiLCBnZXRGdW5jMiwgdW5kZWZpbmVkLCB1bmRlZmluZWQsIGZhbHNlLCBmYWxzZSk7DQogICAgICAgIH0oKSk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - 'O' is an Arguments object, 'name' is an index named accessor property of 'O' but not defined in [[ParameterMap]] of 'O', and 'desc' is accessor descriptor, test updating multiple attribute values of 'name' (10.6 [[DefineOwnProperty]] step 3)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-303.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTMwNC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdPJyBpcyBhbiBBcmd1bWVudHMgb2JqZWN0LCAnbmFtZScgaXMgYW4gaW5kZXggbmFtZWQgZGF0YSBwcm9wZXJ0eSBvZiAnTycgYnV0IG5vdCBkZWZpbmVkIGluIFtbUGFyYW1ldGVyTWFwXV0gb2YgJ08nLCBhbmQgJ2Rlc2MnIGlzIGRhdGEgZGVzY3JpcHRvciwgdGVzdCB1cGRhdGluZyBtdWx0aXBsZSBhdHRyaWJ1dGUgdmFsdWVzIG9mICduYW1lJyAoMTAuNiBbW0RlZmluZU93blByb3BlcnR5XV0gc3RlcCAzKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHJldHVybiAoZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyZ3VtZW50cywgIjAiLCB7DQogICAgICAgICAgICAgICAgdmFsdWU6IDIwLA0KICAgICAgICAgICAgICAgIHdyaXRhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIHJldHVybiBkYXRhUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChhcmd1bWVudHMsICIwIiwgMjAsIGZhbHNlLCBmYWxzZSwgZmFsc2UpOw0KICAgICAgICB9KCkpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'O' is an Arguments object, 'name' is an index named data property of 'O' but not defined in [[ParameterMap]] of 'O', and 'desc' is data descriptor, test updating multiple attribute values of 'name' (10.6 [[DefineOwnProperty]] step 3)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-304.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTMwNS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdPJyBpcyBhbiBBcmd1bWVudHMgb2JqZWN0LCAnbmFtZScgaXMgYW4gaW5kZXggbmFtZWQgZGF0YSBwcm9wZXJ0eSBvZiAnTycgYnV0IG5vdCBkZWZpbmVkIGluIFtbUGFyYW1ldGVyTWFwXV0gb2YgJ08nLCB0ZXN0IFR5cGVFcnJvciBpcyB0aHJvd24gd2hlbiB1cGRhdGluZyB0aGUgW1tWYWx1ZV1dIGF0dHJpYnV0ZSB2YWx1ZSBvZiAnbmFtZScgd2hpY2ggaXMgbm90IHdyaXRhYmxlIGFuZCBub3QgY29uZmlndXJhYmxlICgxMC42IFtbRGVmaW5lT3duUHJvcGVydHldXSBzdGVwIDQpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgcmV0dXJuIChmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJndW1lbnRzLCAiMCIsIHsNCiAgICAgICAgICAgICAgICB2YWx1ZTogMCwNCiAgICAgICAgICAgICAgICB3cml0YWJsZTogZmFsc2UsDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgIHRyeSB7DQogICAgICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyZ3VtZW50cywgIjAiLCB7DQogICAgICAgICAgICAgICAgICAgIHZhbHVlOiAxMA0KICAgICAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgICAgIHJldHVybiBlIGluc3RhbmNlb2YgVHlwZUVycm9yICYmIGRhdGFQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KGFyZ3VtZW50cywgIjAiLCAwLCBmYWxzZSwgZmFsc2UsIGZhbHNlKTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSgpKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'O' is an Arguments object, 'name' is an index named data property of 'O' but not defined in [[ParameterMap]] of 'O', test TypeError is thrown when updating the [[Value]] attribute value of 'name' which is not writable and not configurable (10.6 [[DefineOwnProperty]] step 4)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-305.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTMwNi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdPJyBpcyBhbiBBcmd1bWVudHMgb2JqZWN0LCAnbmFtZScgaXMgYW4gaW5kZXggbmFtZWQgZGF0YSBwcm9wZXJ0eSBvZiAnTycgYnV0IG5vdCBkZWZpbmVkIGluIFtbUGFyYW1ldGVyTWFwXV0gb2YgJ08nLCB0ZXN0IFR5cGVFcnJvciBpcyB0aHJvd24gd2hlbiB1cGRhdGluZyB0aGUgW1tXcml0YWJsZV1dIGF0dHJpYnV0ZSB2YWx1ZSBvZiAnbmFtZScgd2hpY2ggaXMgbm90IGNvbmZpZ3VyYWJsZSAoMTAuNiBbW0RlZmluZU93blByb3BlcnR5XV0gc3RlcCA0KQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHJldHVybiAoZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyZ3VtZW50cywgIjAiLCB7DQogICAgICAgICAgICAgICAgdmFsdWU6IDAsDQogICAgICAgICAgICAgICAgd3JpdGFibGU6IGZhbHNlLA0KICAgICAgICAgICAgICAgIGVudW1lcmFibGU6IGZhbHNlLA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJndW1lbnRzLCAiMCIsIHsNCiAgICAgICAgICAgICAgICAgICAgd3JpdGFibGU6IHRydWUNCiAgICAgICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFR5cGVFcnJvciAmJiBkYXRhUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChhcmd1bWVudHMsICIwIiwgMCwgZmFsc2UsIGZhbHNlLCBmYWxzZSk7DQogICAgICAgICAgICB9DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0oKSk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - 'O' is an Arguments object, 'name' is an index named data property of 'O' but not defined in [[ParameterMap]] of 'O', test TypeError is thrown when updating the [[Writable]] attribute value of 'name' which is not configurable (10.6 [[DefineOwnProperty]] step 4)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-306.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTMwNy5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdPJyBpcyBhbiBBcmd1bWVudHMgb2JqZWN0LCAnbmFtZScgaXMgYW4gaW5kZXggbmFtZWQgZGF0YSBwcm9wZXJ0eSBvZiAnTycgYnV0IG5vdCBkZWZpbmVkIGluIFtbUGFyYW1ldGVyTWFwXV0gb2YgJ08nLCB0ZXN0IFR5cGVFcnJvciBpcyB0aHJvd24gd2hlbiB1cGRhdGluZyB0aGUgW1tFbnVtZXJhYmxlXV0gYXR0cmlidXRlIHZhbHVlIG9mICduYW1lJyB3aGljaCBpcyBub3QgY29uZmlndXJhYmxlICgxMC42IFtbRGVmaW5lT3duUHJvcGVydHldXSBzdGVwIDQpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgcmV0dXJuIChmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJndW1lbnRzLCAiMCIsIHsNCiAgICAgICAgICAgICAgICB2YWx1ZTogMCwNCiAgICAgICAgICAgICAgICB3cml0YWJsZTogZmFsc2UsDQogICAgICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIHRyeSB7DQogICAgICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyZ3VtZW50cywgIjAiLCB7DQogICAgICAgICAgICAgICAgICAgIGVudW1lcmFibGU6IGZhbHNlDQogICAgICAgICAgICAgICAgfSk7DQogICAgICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IgJiYgZGF0YVByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3QoYXJndW1lbnRzLCAiMCIsIDAsIGZhbHNlLCB0cnVlLCBmYWxzZSk7DQogICAgICAgICAgICB9DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0oKSk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - 'O' is an Arguments object, 'name' is an index named data property of 'O' but not defined in [[ParameterMap]] of 'O', test TypeError is thrown when updating the [[Enumerable]] attribute value of 'name' which is not configurable (10.6 [[DefineOwnProperty]] step 4)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-307.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTMwOC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdPJyBpcyBhbiBBcmd1bWVudHMgb2JqZWN0LCAnbmFtZScgaXMgYW4gaW5kZXggbmFtZWQgZGF0YSBwcm9wZXJ0eSBvZiAnTycgYnV0IG5vdCBkZWZpbmVkIGluIFtbUGFyYW1ldGVyTWFwXV0gb2YgJ08nLCB0ZXN0IFR5cGVFcnJvciBpcyB0aHJvd24gd2hlbiB1cGRhdGluZyB0aGUgW1tDb25maWd1cmFibGVdXSBhdHRyaWJ1dGUgdmFsdWUgb2YgJ25hbWUnIHdoaWNoIGlzIG5vdCBjb25maWd1cmFibGUgKDEwLjYgW1tEZWZpbmVPd25Qcm9wZXJ0eV1dIHN0ZXAgNCkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICByZXR1cm4gKGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcmd1bWVudHMsICIwIiwgew0KICAgICAgICAgICAgICAgIHZhbHVlOiAwLA0KICAgICAgICAgICAgICAgIHdyaXRhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIHRyeSB7DQogICAgICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyZ3VtZW50cywgIjAiLCB7DQogICAgICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgICAgIHJldHVybiBlIGluc3RhbmNlb2YgVHlwZUVycm9yICYmIGRhdGFQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KGFyZ3VtZW50cywgIjAiLCAwLCBmYWxzZSwgZmFsc2UsIGZhbHNlKTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSgpKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'O' is an Arguments object, 'name' is an index named data property of 'O' but not defined in [[ParameterMap]] of 'O', test TypeError is thrown when updating the [[Configurable]] attribute value of 'name' which is not configurable (10.6 [[DefineOwnProperty]] step 4)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-308.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTMwOS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdPJyBpcyBhbiBBcmd1bWVudHMgb2JqZWN0LCAnbmFtZScgaXMgYW4gaW5kZXggbmFtZWQgYWNjZXNzb3IgcHJvcGVydHkgb2YgJ08nIGJ1dCBub3QgZGVmaW5lZCBpbiBbW1BhcmFtZXRlck1hcF1dIG9mICdPJywgdGVzdCBUeXBlRXJyb3IgaXMgdGhyb3duIHdoZW4gdXBkYXRpbmcgdGhlIFtbR2V0XV0gYXR0cmlidXRlIHZhbHVlIG9mICduYW1lJyB3aGljaCBpcyBub3QgY29uZmlndXJhYmxlICgxMC42IFtbRGVmaW5lT3duUHJvcGVydHldXSBzdGVwIDQpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgcmV0dXJuIChmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICBmdW5jdGlvbiBnZXRGdW5jMSgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gMDsNCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcmd1bWVudHMsICIwIiwgew0KICAgICAgICAgICAgICAgIGdldDogZ2V0RnVuYzEsDQogICAgICAgICAgICAgICAgZW51bWVyYWJsZTogZmFsc2UsDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICBmdW5jdGlvbiBnZXRGdW5jMigpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gMTA7DQogICAgICAgICAgICB9DQogICAgICAgICAgICB0cnkgew0KICAgICAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcmd1bWVudHMsICIwIiwgew0KICAgICAgICAgICAgICAgICAgICBnZXQ6IGdldEZ1bmMyDQogICAgICAgICAgICAgICAgfSk7DQogICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgICAgIHJldHVybiBlIGluc3RhbmNlb2YgVHlwZUVycm9yICYmIGFjY2Vzc29yUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChhcmd1bWVudHMsICIwIiwgZ2V0RnVuYzEsIHVuZGVmaW5lZCwgdW5kZWZpbmVkLCBmYWxzZSwgZmFsc2UpOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9KCkpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'O' is an Arguments object, 'name' is an index named accessor property of 'O' but not defined in [[ParameterMap]] of 'O', test TypeError is thrown when updating the [[Get]] attribute value of 'name' which is not configurable (10.6 [[DefineOwnProperty]] step 4)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-309.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTMxLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnR5IC0gJ25hbWUnIGlzIG93biBhY2Nlc3NvciBwcm9wZXJ0eSB3aXRob3V0IGEgZ2V0IGZ1bmN0aW9uIHRoYXQgb3ZlcnJpZGVzIGFuIGluaGVyaXRlZCBhY2Nlc3NvciBwcm9wZXJ0eSg4LjEyLjkgc3RlcCAxKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBwcm90byA9IHt9Ow0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkocHJvdG8sICJmb28iLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgQ29uc3RydWN0RnVuID0gZnVuY3Rpb24gKCkgeyB9Ow0KICAgICAgICBDb25zdHJ1Y3RGdW4ucHJvdG90eXBlID0gcHJvdG87DQogICAgICAgIHZhciBvYmogPSBuZXcgQ29uc3RydWN0RnVuKCk7DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJmb28iLCB7DQogICAgICAgICAgICBzZXQ6IGZ1bmN0aW9uICgpIHsgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJmb28iLCB7DQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBUeXBlRXJyb3I7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'name' is own accessor property without a get function that overrides an inherited accessor property(8.12.9 step 1)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-31.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTMxMC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdPJyBpcyBhbiBBcmd1bWVudHMgb2JqZWN0LCAnbmFtZScgaXMgYW4gaW5kZXggbmFtZWQgYWNjZXNzb3IgcHJvcGVydHkgb2YgJ08nIGJ1dCBub3QgZGVmaW5lZCBpbiBbW1BhcmFtZXRlck1hcF1dIG9mICdPJywgdGVzdCBUeXBlRXJyb3IgaXMgdGhyb3duIHdoZW4gdXBkYXRpbmcgdGhlIFtbU2V0XV0gYXR0cmlidXRlIHZhbHVlIG9mICduYW1lJyB3aGljaCBpcyBub3QgY29uZmlndXJhYmxlICgxMC42IFtbRGVmaW5lT3duUHJvcGVydHldXSBzdGVwIDQpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgcmV0dXJuIChmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICBmdW5jdGlvbiBnZXRGdW5jKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiAwOw0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyZ3VtZW50cywgIjAiLCB7DQogICAgICAgICAgICAgICAgZ2V0OiBnZXRGdW5jLA0KICAgICAgICAgICAgICAgIHNldDogdW5kZWZpbmVkLA0KICAgICAgICAgICAgICAgIGVudW1lcmFibGU6IGZhbHNlLA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgZnVuY3Rpb24gc2V0RnVuYyh2YWx1ZSkgew0KICAgICAgICAgICAgICAgIHRoaXMuc2V0VmVyaWZ5SGVscFByb3AgPSB2YWx1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIHRyeSB7DQogICAgICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyZ3VtZW50cywgIjAiLCB7DQogICAgICAgICAgICAgICAgICAgIHNldDogc2V0RnVuYw0KICAgICAgICAgICAgICAgIH0pOyAgICAgICAgICAgIA0KICAgICAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgICAgIHJldHVybiBlIGluc3RhbmNlb2YgVHlwZUVycm9yICYmIGFjY2Vzc29yUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChhcmd1bWVudHMsICIwIiwgZ2V0RnVuYywgdW5kZWZpbmVkLCB1bmRlZmluZWQsIGZhbHNlLCBmYWxzZSk7DQogICAgICAgICAgICB9DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0oKSk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - 'O' is an Arguments object, 'name' is an index named accessor property of 'O' but not defined in [[ParameterMap]] of 'O', test TypeError is thrown when updating the [[Set]] attribute value of 'name' which is not configurable (10.6 [[DefineOwnProperty]] step 4)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-310.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTMxMS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdPJyBpcyBhbiBBcmd1bWVudHMgb2JqZWN0LCAnbmFtZScgaXMgYW4gaW5kZXggbmFtZWQgYWNjZXNzb3IgcHJvcGVydHkgb2YgJ08nIGJ1dCBub3QgZGVmaW5lZCBpbiBbW1BhcmFtZXRlck1hcF1dIG9mICdPJywgdGVzdCBUeXBlRXJyb3IgaXMgdGhyb3duIHdoZW4gdXBkYXRpbmcgdGhlIFtbRW51bWVyYWJsZV1dIGF0dHJpYnV0ZSB2YWx1ZSBvZiAnbmFtZScgd2hpY2ggaXMgbm90IGNvbmZpZ3VyYWJsZSAoMTAuNiBbW0RlZmluZU93blByb3BlcnR5XV0gc3RlcCA0KQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHJldHVybiAoZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgZnVuY3Rpb24gZ2V0RnVuYygpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gMDsNCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcmd1bWVudHMsICIwIiwgew0KICAgICAgICAgICAgICAgIGdldDogZ2V0RnVuYywNCiAgICAgICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJndW1lbnRzLCAiMCIsIHsNCiAgICAgICAgICAgICAgICAgICAgZW51bWVyYWJsZTogZmFsc2UNCiAgICAgICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFR5cGVFcnJvciAmJiBhY2Nlc3NvclByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3QoYXJndW1lbnRzLCAiMCIsIGdldEZ1bmMsIHVuZGVmaW5lZCwgdW5kZWZpbmVkLCB0cnVlLCBmYWxzZSk7DQogICAgICAgICAgICB9DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0oKSk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - 'O' is an Arguments object, 'name' is an index named accessor property of 'O' but not defined in [[ParameterMap]] of 'O', test TypeError is thrown when updating the [[Enumerable]] attribute value of 'name' which is not configurable (10.6 [[DefineOwnProperty]] step 4)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-311.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTMxMi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdPJyBpcyBhbiBBcmd1bWVudHMgb2JqZWN0LCAnbmFtZScgaXMgYW4gaW5kZXggbmFtZWQgYWNjZXNzb3IgcHJvcGVydHkgb2YgJ08nIGJ1dCBub3QgZGVmaW5lZCBpbiBbW1BhcmFtZXRlck1hcF1dIG9mICdPJywgdGVzdCBUeXBlRXJyb3IgaXMgdGhyb3duIHdoZW4gdXBkYXRpbmcgdGhlIFtbQ29uZmlndXJhYmxlXV0gYXR0cmlidXRlIHZhbHVlIG9mICduYW1lJyB3aGljaCBpcyBub3QgY29uZmlndXJhYmxlICgxMC42IFtbRGVmaW5lT3duUHJvcGVydHldXSBzdGVwIDQpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgcmV0dXJuIChmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICBmdW5jdGlvbiBnZXRGdW5jKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiAwOw0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyZ3VtZW50cywgIjAiLCB7DQogICAgICAgICAgICAgICAgZ2V0OiBnZXRGdW5jLA0KICAgICAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICB0cnkgew0KICAgICAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcmd1bWVudHMsICIwIiwgew0KICAgICAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFR5cGVFcnJvciAmJiBhY2Nlc3NvclByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3QoYXJndW1lbnRzLCAiMCIsIGdldEZ1bmMsIHVuZGVmaW5lZCwgdW5kZWZpbmVkLCB0cnVlLCBmYWxzZSk7DQogICAgICAgICAgICB9DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0oKSk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - 'O' is an Arguments object, 'name' is an index named accessor property of 'O' but not defined in [[ParameterMap]] of 'O', test TypeError is thrown when updating the [[Configurable]] attribute value of 'name' which is not configurable (10.6 [[DefineOwnProperty]] step 4)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-312.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTMxMy0xLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnR5IC0gJ08nIGlzIGFuIEFyZ3VtZW50cyBvYmplY3Qgb2YgYSBmdW5jdGlvbiB0aGF0IGhhcyBmb3JtYWwgcGFyYW1ldGVycywgJ1AnIGlzIG93biBwcm9wZXJ0eSwgYW5kICdkZXNjJyBpcyBkYXRhIGRlc2NyaXB0b3IsIHRlc3QgJ1AnIGlzIGRlZmluZWQgaW4gJ08nIHdpdGggYWxsIGNvcnJlY3QgYXR0cmlidXRlIHZhbHVlcyAoMTAuNiBbW0RlZmluZU93blByb3BlcnR5XV0gc3RlcCAzKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHJldHVybiAoZnVuY3Rpb24gKGEsIGIsIGMpIHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcmd1bWVudHMsICJnZW5lcmljUHJvcGVydHkiLCB7DQogICAgICAgICAgICAgICAgdmFsdWU6IDEwMDEsDQogICAgICAgICAgICAgICAgd3JpdGFibGU6IHRydWUsDQogICAgICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgcmV0dXJuIGRhdGFQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KGFyZ3VtZW50cywgImdlbmVyaWNQcm9wZXJ0eSIsIDEwMDEsIHRydWUsIHRydWUsIHRydWUpOw0KICAgICAgICB9KDEsIDIsIDMpKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'O' is an Arguments object of a function that has formal parameters, 'P' is own property, and 'desc' is data descriptor, test 'P' is defined in 'O' with all correct attribute values (10.6 [[DefineOwnProperty]] step 3)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-313-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTMxMy5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdPJyBpcyBhbiBBcmd1bWVudHMgb2JqZWN0LCAnUCcgaXMgZ2VuZXJpYyBwcm9wZXJ0eSwgYW5kICdkZXNjJyBpcyBkYXRhIGRlc2NyaXB0b3IsIHRlc3QgJ1AnIGlzIGRlZmluZWQgaW4gJ08nIHdpdGggYWxsIGNvcnJlY3QgYXR0cmlidXRlIHZhbHVlcyAoMTAuNiBbW0RlZmluZU93blByb3BlcnR5XV0gc3RlcCAzKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHJldHVybiAoZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyZ3VtZW50cywgImdlbmVyaWNQcm9wZXJ0eSIsIHsNCiAgICAgICAgICAgICAgICB2YWx1ZTogMTAwMSwNCiAgICAgICAgICAgICAgICB3cml0YWJsZTogdHJ1ZSwNCiAgICAgICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICByZXR1cm4gZGF0YVByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3QoYXJndW1lbnRzLCAiZ2VuZXJpY1Byb3BlcnR5IiwgMTAwMSwgdHJ1ZSwgdHJ1ZSwgdHJ1ZSk7DQogICAgICAgIH0oMSwgMiwgMykpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'O' is an Arguments object, 'P' is generic property, and 'desc' is data descriptor, test 'P' is defined in 'O' with all correct attribute values (10.6 [[DefineOwnProperty]] step 3)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-313.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTMxNC0xLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnR5IC0gJ08nIGlzIGFuIEFyZ3VtZW50cyBvYmplY3Qgb2YgYSBmdW5jdGlvbiB0aGF0IGhhcyBmb3JtYWwgcGFyYW1ldGVycywgJ1AnIGlzIHByb3BlcnR5LCBhbmQgJ2Rlc2MnIGlzIGFjY2Vzc29yIGRlc2NyaXB0b3IsIHRlc3QgJ1AnIGlzIGRlZmluZWQgaW4gJ08nIHdpdGggYWxsIGNvcnJlY3QgYXR0cmlidXRlIHZhbHVlcyAoMTAuNiBbW0RlZmluZU93blByb3BlcnR5XV0gc3RlcCAzKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHJldHVybiAoZnVuY3Rpb24gKGEsIGIsIGMpIHsNCiAgICAgICAgICAgIGZ1bmN0aW9uIGdldEZ1bmMoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuICJnZXRGdW5jdGlvblN0cmluZyI7DQogICAgICAgICAgICB9DQogICAgICAgICAgICBmdW5jdGlvbiBzZXRGdW5jKHZhbHVlKSB7DQogICAgICAgICAgICAgICAgdGhpcy50ZXN0Z2V0RnVuY3Rpb24gPSB2YWx1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcmd1bWVudHMsICJnZW5lcmljUHJvcGVydHkiLCB7DQogICAgICAgICAgICAgICAgZ2V0OiBnZXRGdW5jLA0KICAgICAgICAgICAgICAgIHNldDogc2V0RnVuYywNCiAgICAgICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICByZXR1cm4gYWNjZXNzb3JQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KGFyZ3VtZW50cywgImdlbmVyaWNQcm9wZXJ0eSIsIGdldEZ1bmMsIHNldEZ1bmMsICJ0ZXN0Z2V0RnVuY3Rpb24iLCB0cnVlLCB0cnVlKTsNCiAgICAgICAgICAgIH0oMSwgMiwgMykpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'O' is an Arguments object of a function that has formal parameters, 'P' is property, and 'desc' is accessor descriptor, test 'P' is defined in 'O' with all correct attribute values (10.6 [[DefineOwnProperty]] step 3)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-314-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTMxNC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdPJyBpcyBhbiBBcmd1bWVudHMgb2JqZWN0LCAnUCcgaXMgZ2VuZXJpYyBwcm9wZXJ0eSwgYW5kICdkZXNjJyBpcyBhY2Nlc3NvciBkZXNjcmlwdG9yLCB0ZXN0ICdQJyBpcyBkZWZpbmVkIGluICdPJyB3aXRoIGFsbCBjb3JyZWN0IGF0dHJpYnV0ZSB2YWx1ZXMgKDEwLjYgW1tEZWZpbmVPd25Qcm9wZXJ0eV1dIHN0ZXAgMykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICByZXR1cm4gKGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgIGZ1bmN0aW9uIGdldEZ1bmMoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuICJnZXRGdW5jdGlvblN0cmluZyI7DQogICAgICAgICAgICB9DQogICAgICAgICAgICBmdW5jdGlvbiBzZXRGdW5jKHZhbHVlKSB7DQogICAgICAgICAgICAgICAgdGhpcy50ZXN0Z2V0RnVuY3Rpb24gPSB2YWx1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcmd1bWVudHMsICJnZW5lcmljUHJvcGVydHkiLCB7DQogICAgICAgICAgICAgICAgZ2V0OiBnZXRGdW5jLA0KICAgICAgICAgICAgICAgIHNldDogc2V0RnVuYywNCiAgICAgICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICByZXR1cm4gYWNjZXNzb3JQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KGFyZ3VtZW50cywgImdlbmVyaWNQcm9wZXJ0eSIsIGdldEZ1bmMsIHNldEZ1bmMsICJ0ZXN0Z2V0RnVuY3Rpb24iLCB0cnVlLCB0cnVlKTsNCiAgICAgICAgfSgxLCAyLCAzKSk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - 'O' is an Arguments object, 'P' is generic property, and 'desc' is accessor descriptor, test 'P' is defined in 'O' with all correct attribute values (10.6 [[DefineOwnProperty]] step 3)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-314.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTMxNS0xLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnR5IC0gJ08nIGlzIGFuIEFyZ3VtZW50cyBvYmplY3Qgb2YgYSBmdW5jdGlvbiB0aGF0IGhhcyBmb3JtYWwgcGFyYW1ldGVycywgJ1AnIGlzIG93biBhY2Nlc3NvciBwcm9wZXJ0eSBvZiAnTycsIGFuZCAnZGVzYycgaXMgYWNjZXNzb3IgZGVzY3JpcHRvciwgdGVzdCB1cGRhdGluZyBtdWx0aXBsZSBhdHRyaWJ1dGUgdmFsdWVzIG9mICdQJyAoMTAuNiBbW0RlZmluZU93blByb3BlcnR5XV0gc3RlcCAzKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHJldHVybiAoZnVuY3Rpb24gKGEsIGIsIGMpIHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcmd1bWVudHMsICJnZW5lcmljUHJvcGVydHkiLCB7DQogICAgICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgIHJldHVybiAxMDAxOw0KICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgc2V0OiBmdW5jdGlvbiAodmFsdWUpIHsNCiAgICAgICAgICAgICAgICAgICAgdGhpcy50ZXN0Z2V0RnVuY3Rpb24xID0gdmFsdWU7DQogICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICBmdW5jdGlvbiBnZXRGdW5jKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiAiZ2V0RnVuY3Rpb25TdHJpbmciOw0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgZnVuY3Rpb24gc2V0RnVuYyh2YWx1ZSkgew0KICAgICAgICAgICAgICAgIHRoaXMudGVzdGdldEZ1bmN0aW9uID0gdmFsdWU7DQogICAgICAgICAgICB9DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJndW1lbnRzLCAiZ2VuZXJpY1Byb3BlcnR5Iiwgew0KICAgICAgICAgICAgICAgIGdldDogZ2V0RnVuYywNCiAgICAgICAgICAgICAgICBzZXQ6IHNldEZ1bmMsDQogICAgICAgICAgICAgICAgZW51bWVyYWJsZTogZmFsc2UsDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICB2YXIgdmVyaWZ5Rm9ybWFsID0gYyA9PT0gMzsNCiAgICAgICAgICAgIHJldHVybiBhY2Nlc3NvclByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3QoYXJndW1lbnRzLCAiZ2VuZXJpY1Byb3BlcnR5IiwgZ2V0RnVuYywgc2V0RnVuYywgInRlc3RnZXRGdW5jdGlvbiIsIGZhbHNlLCBmYWxzZSkgJiYgdmVyaWZ5Rm9ybWFsOw0KICAgICAgICB9KDEsIDIsIDMpKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'O' is an Arguments object of a function that has formal parameters, 'P' is own accessor property of 'O', and 'desc' is accessor descriptor, test updating multiple attribute values of 'P' (10.6 [[DefineOwnProperty]] step 3)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-315-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTMxNS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdPJyBpcyBhbiBBcmd1bWVudHMgb2JqZWN0LCAnUCcgaXMgZ2VuZXJpYyBvd24gYWNjZXNzb3IgcHJvcGVydHkgb2YgJ08nLCBhbmQgJ2Rlc2MnIGlzIGFjY2Vzc29yIGRlc2NyaXB0b3IsIHRlc3QgdXBkYXRpbmcgbXVsdGlwbGUgYXR0cmlidXRlIHZhbHVlcyBvZiAnUCcgKDEwLjYgW1tEZWZpbmVPd25Qcm9wZXJ0eV1dIHN0ZXAgMykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICByZXR1cm4gKGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcmd1bWVudHMsICJnZW5lcmljUHJvcGVydHkiLCB7DQogICAgICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgIHJldHVybiAxMDAxOw0KICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgc2V0OiBmdW5jdGlvbiAodmFsdWUpIHsNCiAgICAgICAgICAgICAgICAgICAgdGhpcy50ZXN0Z2V0RnVuY3Rpb24xID0gdmFsdWU7DQogICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICBmdW5jdGlvbiBnZXRGdW5jKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiAiZ2V0RnVuY3Rpb25TdHJpbmciOw0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgZnVuY3Rpb24gc2V0RnVuYyh2YWx1ZSkgew0KICAgICAgICAgICAgICAgIHRoaXMudGVzdGdldEZ1bmN0aW9uID0gdmFsdWU7DQogICAgICAgICAgICB9DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJndW1lbnRzLCAiZ2VuZXJpY1Byb3BlcnR5Iiwgew0KICAgICAgICAgICAgICAgIGdldDogZ2V0RnVuYywNCiAgICAgICAgICAgICAgICBzZXQ6IHNldEZ1bmMsDQogICAgICAgICAgICAgICAgZW51bWVyYWJsZTogZmFsc2UsDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICByZXR1cm4gYWNjZXNzb3JQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KGFyZ3VtZW50cywgImdlbmVyaWNQcm9wZXJ0eSIsIGdldEZ1bmMsIHNldEZ1bmMsICJ0ZXN0Z2V0RnVuY3Rpb24iLCBmYWxzZSwgZmFsc2UpOw0KICAgICAgICB9KDEsIDIsIDMpKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'O' is an Arguments object, 'P' is generic own accessor property of 'O', and 'desc' is accessor descriptor, test updating multiple attribute values of 'P' (10.6 [[DefineOwnProperty]] step 3)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-315.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTMxNi0xLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnR5IC0gJ08nIGlzIGFuIEFyZ3VtZW50cyBvYmplY3Qgb2YgYSBmdW5jdGlvbiB0aGF0IGhhcyBmb3JtYWwgcGFyYW1ldGVycywgJ1AnIGlzIG93biBkYXRhIHByb3BlcnR5IG9mICdPJywgYW5kICdkZXNjJyBpcyBkYXRhIGRlc2NyaXB0b3IsIHRlc3QgdXBkYXRpbmcgbXVsdGlwbGUgYXR0cmlidXRlIHZhbHVlcyBvZiAnUCcgKDEwLjYgW1tEZWZpbmVPd25Qcm9wZXJ0eV1dIHN0ZXAgMykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICByZXR1cm4gKGZ1bmN0aW9uIChhLCBiLCBjKSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJndW1lbnRzLCAiZ2VuZXJpY1Byb3BlcnR5Iiwgew0KICAgICAgICAgICAgICAgIHZhbHVlOiAxMDAxLA0KICAgICAgICAgICAgICAgIHdyaXRhYmxlOiB0cnVlLA0KICAgICAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcmd1bWVudHMsICJnZW5lcmljUHJvcGVydHkiLCB7DQogICAgICAgICAgICAgICAgdmFsdWU6IDEwMDIsDQogICAgICAgICAgICAgICAgZW51bWVyYWJsZTogZmFsc2UsDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICByZXR1cm4gZGF0YVByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3QoYXJndW1lbnRzLCAiZ2VuZXJpY1Byb3BlcnR5IiwgMTAwMiwgdHJ1ZSwgZmFsc2UsIGZhbHNlKTsNCiAgICAgICAgfSgxLCAyLCAzKSk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - 'O' is an Arguments object of a function that has formal parameters, 'P' is own data property of 'O', and 'desc' is data descriptor, test updating multiple attribute values of 'P' (10.6 [[DefineOwnProperty]] step 3)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-316-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTMxNi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdPJyBpcyBhbiBBcmd1bWVudHMgb2JqZWN0LCAnUCcgaXMgZ2VuZXJpYyBvd24gZGF0YSBwcm9wZXJ0eSBvZiAnTycsIGFuZCAnZGVzYycgaXMgZGF0YSBkZXNjcmlwdG9yLCB0ZXN0IHVwZGF0aW5nIG11bHRpcGxlIGF0dHJpYnV0ZSB2YWx1ZXMgb2YgJ1AnICgxMC42IFtbRGVmaW5lT3duUHJvcGVydHldXSBzdGVwIDMpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgcmV0dXJuIChmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJndW1lbnRzLCAiZ2VuZXJpY1Byb3BlcnR5Iiwgew0KICAgICAgICAgICAgICAgIHZhbHVlOiAxMDAxLA0KICAgICAgICAgICAgICAgIHdyaXRhYmxlOiB0cnVlLA0KICAgICAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcmd1bWVudHMsICJnZW5lcmljUHJvcGVydHkiLCB7DQogICAgICAgICAgICAgICAgdmFsdWU6IDEwMDIsDQogICAgICAgICAgICAgICAgZW51bWVyYWJsZTogZmFsc2UsDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICByZXR1cm4gZGF0YVByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3QoYXJndW1lbnRzLCAiZ2VuZXJpY1Byb3BlcnR5IiwgMTAwMiwgdHJ1ZSwgZmFsc2UsIGZhbHNlKTsNCiAgICAgICAgfSgxLCAyLCAzKSk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - 'O' is an Arguments object, 'P' is generic own data property of 'O', and 'desc' is data descriptor, test updating multiple attribute values of 'P' (10.6 [[DefineOwnProperty]] step 3)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-316.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTMxNy0xLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnR5IC0gJ08nIGlzIGFuIEFyZ3VtZW50cyBvYmplY3Qgb2YgYSBmdW5jdGlvbiB0aGF0IGhhcyBmb3JtYWwgcGFyYW1ldGVycywgJ1AnIGlzIG93biBkYXRhIHByb3BlcnR5IG9mICdPJywgdGVzdCBUeXBlRXJyb3IgaXMgdGhyb3duIHdoZW4gdXBkYXRpbmcgdGhlIFtbVmFsdWVdXSBhdHRyaWJ1dGUgdmFsdWUgb2YgJ1AnIHdoaWNoIGlzIG5vdCB3cml0YWJsZSBhbmQgbm90IGNvbmZpZ3VyYWJsZSAoMTAuNiBbW0RlZmluZU93blByb3BlcnR5XV0gc3RlcCA0KQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHJldHVybiAoZnVuY3Rpb24gKGEsIGIsIGMpIHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcmd1bWVudHMsICJnZW5lcmljUHJvcGVydHkiLCB7DQogICAgICAgICAgICAgICAgdmFsdWU6IDEwMDEsDQogICAgICAgICAgICAgICAgd3JpdGFibGU6IGZhbHNlLA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJndW1lbnRzLCAiZ2VuZXJpY1Byb3BlcnR5Iiwgew0KICAgICAgICAgICAgICAgICAgICB2YWx1ZTogMTAwMg0KICAgICAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgICAgIHZhciB2ZXJpZnlGb3JtYWwgPSBiID09PSAyOw0KICAgICAgICAgICAgICAgIHJldHVybiBlIGluc3RhbmNlb2YgVHlwZUVycm9yICYmDQogICAgICAgICAgICAgICAgICAgIGRhdGFQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KGFyZ3VtZW50cywgImdlbmVyaWNQcm9wZXJ0eSIsIDEwMDEsIGZhbHNlLCBmYWxzZSwgZmFsc2UpICYmIHZlcmlmeUZvcm1hbDsNCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSgxLCAyLCAzKSk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - 'O' is an Arguments object of a function that has formal parameters, 'P' is own data property of 'O', test TypeError is thrown when updating the [[Value]] attribute value of 'P' which is not writable and not configurable (10.6 [[DefineOwnProperty]] step 4)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-317-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTMxNy5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdPJyBpcyBhbiBBcmd1bWVudHMgb2JqZWN0LCAnUCcgaXMgZ2VuZXJpYyBvd24gZGF0YSBwcm9wZXJ0eSBvZiAnTycsIHRlc3QgVHlwZUVycm9yIGlzIHRocm93biB3aGVuIHVwZGF0aW5nIHRoZSBbW1ZhbHVlXV0gYXR0cmlidXRlIHZhbHVlIG9mICdQJyB3aGljaCBpcyBub3Qgd3JpdGFibGUgYW5kIG5vdCBjb25maWd1cmFibGUgKDEwLjYgW1tEZWZpbmVPd25Qcm9wZXJ0eV1dIHN0ZXAgNCkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICByZXR1cm4gKGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcmd1bWVudHMsICJnZW5lcmljUHJvcGVydHkiLCB7DQogICAgICAgICAgICAgICAgdmFsdWU6IDEwMDEsDQogICAgICAgICAgICAgICAgd3JpdGFibGU6IGZhbHNlLA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJndW1lbnRzLCAiZ2VuZXJpY1Byb3BlcnR5Iiwgew0KICAgICAgICAgICAgICAgICAgICB2YWx1ZTogMTAwMg0KICAgICAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgICAgIHJldHVybiBlIGluc3RhbmNlb2YgVHlwZUVycm9yICYmDQogICAgICAgICAgICAgICAgICAgIGRhdGFQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KGFyZ3VtZW50cywgImdlbmVyaWNQcm9wZXJ0eSIsIDEwMDEsIGZhbHNlLCBmYWxzZSwgZmFsc2UpOw0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9KDEsIDIsIDMpKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'O' is an Arguments object, 'P' is generic own data property of 'O', test TypeError is thrown when updating the [[Value]] attribute value of 'P' which is not writable and not configurable (10.6 [[DefineOwnProperty]] step 4)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-317.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTMxOC0xLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnR5IC0gJ08nIGlzIGFuIEFyZ3VtZW50cyBvYmplY3Qgb2YgYSBmdW5jdGlvbiB0aGF0IGhhcyBmb3JtYWwgcGFyYW1ldGVycywgJ25hbWUnIGlzIG93biBkYXRhIHByb3BlcnR5IG9mICdPJywgdGVzdCBUeXBlRXJyb3IgaXMgdGhyb3duIHdoZW4gdXBkYXRpbmcgdGhlIFtbV3JpdGFibGVdXSBhdHRyaWJ1dGUgdmFsdWUgb2YgJ25hbWUnIHdoaWNoIGlzIG5vdCBjb25maWd1cmFibGUgKDEwLjYgW1tEZWZpbmVPd25Qcm9wZXJ0eV1dIHN0ZXAgNCkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICByZXR1cm4gKGZ1bmN0aW9uIChhLCBiLCBjKSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJndW1lbnRzLCAiZ2VuZXJpY1Byb3BlcnR5Iiwgew0KICAgICAgICAgICAgICAgIHdyaXRhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIHRyeSB7DQogICAgICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyZ3VtZW50cywgImdlbmVyaWNQcm9wZXJ0eSIsIHsNCiAgICAgICAgICAgICAgICAgICAgd3JpdGFibGU6IHRydWUNCiAgICAgICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFR5cGVFcnJvciAmJg0KICAgICAgICAgICAgICAgICAgICBkYXRhUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChhcmd1bWVudHMsICJnZW5lcmljUHJvcGVydHkiLCB1bmRlZmluZWQsIGZhbHNlLCBmYWxzZSwgZmFsc2UpOw0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9KDEsIDIsIDMpKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'O' is an Arguments object of a function that has formal parameters, 'name' is own data property of 'O', test TypeError is thrown when updating the [[Writable]] attribute value of 'name' which is not configurable (10.6 [[DefineOwnProperty]] step 4)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-318-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTMxOC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdPJyBpcyBhbiBBcmd1bWVudHMgb2JqZWN0LCAnbmFtZScgaXMgZ2VuZXJpYyBvd24gZGF0YSBwcm9wZXJ0eSBvZiAnTycsIHRlc3QgVHlwZUVycm9yIGlzIHRocm93biB3aGVuIHVwZGF0aW5nIHRoZSBbW1dyaXRhYmxlXV0gYXR0cmlidXRlIHZhbHVlIG9mICduYW1lJyB3aGljaCBpcyBub3QgY29uZmlndXJhYmxlICgxMC42IFtbRGVmaW5lT3duUHJvcGVydHldXSBzdGVwIDQpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgcmV0dXJuIChmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJndW1lbnRzLCAiZ2VuZXJpY1Byb3BlcnR5Iiwgew0KICAgICAgICAgICAgICAgIHdyaXRhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIHRyeSB7DQogICAgICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyZ3VtZW50cywgImdlbmVyaWNQcm9wZXJ0eSIsIHsNCiAgICAgICAgICAgICAgICAgICAgd3JpdGFibGU6IHRydWUNCiAgICAgICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFR5cGVFcnJvciAmJg0KICAgICAgICAgICAgICAgICAgICBkYXRhUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChhcmd1bWVudHMsICJnZW5lcmljUHJvcGVydHkiLCB1bmRlZmluZWQsIGZhbHNlLCBmYWxzZSwgZmFsc2UpOw0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9KDEsIDIsIDMpKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'O' is an Arguments object, 'name' is generic own data property of 'O', test TypeError is thrown when updating the [[Writable]] attribute value of 'name' which is not configurable (10.6 [[DefineOwnProperty]] step 4)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-318.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTMxOS0xLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnR5IC0gJ08nIGlzIGFuIEFyZ3VtZW50cyBvYmplY3Qgb2YgYSBmdW5jdGlvbiB0aGF0IGhhcyBmb3JtYWwgcGFyYW1ldGVycywgJ1AnIGlzIG93biBkYXRhIHByb3BlcnR5IG9mICdPJywgdGVzdCBUeXBlRXJyb3IgaXMgdGhyb3duIHdoZW4gdXBkYXRpbmcgdGhlIFtbRW51bWVyYWJsZV1dIGF0dHJpYnV0ZSB2YWx1ZSBvZiAnUCcgd2hpY2ggaXMgbm90IGNvbmZpZ3VyYWJsZSAoMTAuNiBbW0RlZmluZU93blByb3BlcnR5XV0gc3RlcCA0KQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHJldHVybiAoZnVuY3Rpb24gKGEsIGIsIGMpIHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcmd1bWVudHMsICJnZW5lcmljUHJvcGVydHkiLCB7DQogICAgICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIHRyeSB7DQogICAgICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyZ3VtZW50cywgImdlbmVyaWNQcm9wZXJ0eSIsIHsNCiAgICAgICAgICAgICAgICAgICAgZW51bWVyYWJsZTogZmFsc2UNCiAgICAgICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFR5cGVFcnJvciAmJg0KICAgICAgICAgICAgICAgICAgICBkYXRhUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChhcmd1bWVudHMsICJnZW5lcmljUHJvcGVydHkiLCB1bmRlZmluZWQsIGZhbHNlLCB0cnVlLCBmYWxzZSk7DQogICAgICAgICAgICB9DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0oMSwgMiwgMykpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'O' is an Arguments object of a function that has formal parameters, 'P' is own data property of 'O', test TypeError is thrown when updating the [[Enumerable]] attribute value of 'P' which is not configurable (10.6 [[DefineOwnProperty]] step 4)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-319-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTMxOS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdPJyBpcyBhbiBBcmd1bWVudHMgb2JqZWN0LCAnUCcgaXMgb3duIGRhdGEgcHJvcGVydHkgb2YgJ08nLCB0ZXN0IFR5cGVFcnJvciBpcyB0aHJvd24gd2hlbiB1cGRhdGluZyB0aGUgW1tFbnVtZXJhYmxlXV0gYXR0cmlidXRlIHZhbHVlIG9mICdQJyB3aGljaCBpcyBub3QgY29uZmlndXJhYmxlICgxMC42IFtbRGVmaW5lT3duUHJvcGVydHldXSBzdGVwIDQpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgcmV0dXJuIChmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJndW1lbnRzLCAiZ2VuZXJpY1Byb3BlcnR5Iiwgew0KICAgICAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICB0cnkgew0KICAgICAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcmd1bWVudHMsICJnZW5lcmljUHJvcGVydHkiLCB7DQogICAgICAgICAgICAgICAgICAgIGVudW1lcmFibGU6IGZhbHNlDQogICAgICAgICAgICAgICAgfSk7DQogICAgICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IgJiYNCiAgICAgICAgICAgICAgICAgICAgZGF0YVByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3QoYXJndW1lbnRzLCAiZ2VuZXJpY1Byb3BlcnR5IiwgdW5kZWZpbmVkLCBmYWxzZSwgdHJ1ZSwgZmFsc2UpOw0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9KDEsIDIsIDMpKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'O' is an Arguments object, 'P' is own data property of 'O', test TypeError is thrown when updating the [[Enumerable]] attribute value of 'P' which is not configurable (10.6 [[DefineOwnProperty]] step 4)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-319.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTMyLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnR5IC0gJ25hbWUnIGlzIGFuIGluaGVyaXRlZCBhY2Nlc3NvciBwcm9wZXJ0eSB3aXRob3V0IGEgZ2V0IGZ1bmN0aW9uICg4LjEyLjkgc3RlcCAxKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBwcm90byA9IHt9Ow0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkocHJvdG8sICJmb28iLCB7DQogICAgICAgICAgICBzZXQ6IGZ1bmN0aW9uICgpIHsgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIENvbnN0cnVjdEZ1biA9IGZ1bmN0aW9uICgpIHsgfTsNCiAgICAgICAgQ29uc3RydWN0RnVuLnByb3RvdHlwZSA9IHByb3RvOw0KICAgICAgICB2YXIgb2JqID0gbmV3IENvbnN0cnVjdEZ1bigpOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJmb28iLCB7DQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQogICAgICAgIHJldHVybiBvYmouaGFzT3duUHJvcGVydHkoImZvbyIpICYmIHR5cGVvZiBvYmouZm9vID09PSAidW5kZWZpbmVkIjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'name' is an inherited accessor property without a get function (8.12.9 step 1)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-32.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTMyMC0xLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnR5IC0gJ08nIGlzIGFuIEFyZ3VtZW50cyBvYmplY3Qgb2YgYSBmdW5jdGlvbiB0aGF0IGhhcyBmb3JtYWwgcGFyYW1ldGVycywgJ1AnIGlzIG93biBkYXRhIHByb3BlcnR5IG9mICdPJywgdGVzdCBUeXBlRXJyb3IgaXMgdGhyb3duIHdoZW4gdXBkYXRpbmcgdGhlIFtbQ29uZmlndXJhYmxlXV0gYXR0cmlidXRlIHZhbHVlIG9mICdQJyB3aGljaCBpcyBub3QgY29uZmlndXJhYmxlICgxMC42IFtbRGVmaW5lT3duUHJvcGVydHldXSBzdGVwIDQpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgcmV0dXJuIChmdW5jdGlvbiAoYSwgYiwgYykgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyZ3VtZW50cywgImdlbmVyaWNQcm9wZXJ0eSIsIHsNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIHRyeSB7DQogICAgICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyZ3VtZW50cywgImdlbmVyaWNQcm9wZXJ0eSIsIHsNCiAgICAgICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICAgICAgfSk7DQogICAgICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IgJiYNCiAgICAgICAgICAgICAgICAgICAgZGF0YVByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3QoYXJndW1lbnRzLCAiZ2VuZXJpY1Byb3BlcnR5IiwgdW5kZWZpbmVkLCBmYWxzZSwgZmFsc2UsIGZhbHNlKTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSgxLCAyLCAzKSk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - 'O' is an Arguments object of a function that has formal parameters, 'P' is own data property of 'O', test TypeError is thrown when updating the [[Configurable]] attribute value of 'P' which is not configurable (10.6 [[DefineOwnProperty]] step 4)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-320-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTMyMC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdPJyBpcyBhbiBBcmd1bWVudHMgb2JqZWN0LCAnUCcgaXMgb3duIGRhdGEgcHJvcGVydHkgb2YgJ08nLCB0ZXN0IFR5cGVFcnJvciBpcyB0aHJvd24gd2hlbiB1cGRhdGluZyB0aGUgW1tDb25maWd1cmFibGVdXSBhdHRyaWJ1dGUgdmFsdWUgb2YgJ1AnIHdoaWNoIGlzIG5vdCBjb25maWd1cmFibGUgKDEwLjYgW1tEZWZpbmVPd25Qcm9wZXJ0eV1dIHN0ZXAgNCkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICByZXR1cm4gKGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcmd1bWVudHMsICJnZW5lcmljUHJvcGVydHkiLCB7DQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICB0cnkgew0KICAgICAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcmd1bWVudHMsICJnZW5lcmljUHJvcGVydHkiLCB7DQogICAgICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgICAgIHJldHVybiBlIGluc3RhbmNlb2YgVHlwZUVycm9yICYmDQogICAgICAgICAgICAgICAgICAgIGRhdGFQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KGFyZ3VtZW50cywgImdlbmVyaWNQcm9wZXJ0eSIsIHVuZGVmaW5lZCwgZmFsc2UsIGZhbHNlLCBmYWxzZSk7DQogICAgICAgICAgICB9DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0oMSwgMiwgMykpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'O' is an Arguments object, 'P' is own data property of 'O', test TypeError is thrown when updating the [[Configurable]] attribute value of 'P' which is not configurable (10.6 [[DefineOwnProperty]] step 4)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-320.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTMyMS0xLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnR5IC0gJ08nIGlzIGFuIEFyZ3VtZW50cyBvYmplY3Qgb2YgYSBmdW5jdGlvbiB0aGF0IGhhcyBmb3JtYWwgcGFyYW1ldGVycywgJ1AnIGlzIG93biBhY2Nlc3NvciBwcm9wZXJ0eSBvZiAnTycsIHRlc3QgVHlwZUVycm9yIGlzIHRocm93biB3aGVuIHVwZGF0aW5nIHRoZSBbW0dldF1dIGF0dHJpYnV0ZSB2YWx1ZSBvZiAnUCcgd2hpY2ggaXMgbm90IGNvbmZpZ3VyYWJsZSAoMTAuNiBbW0RlZmluZU93blByb3BlcnR5XV0gc3RlcCA0KQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHJldHVybiAoZnVuY3Rpb24gKGEsIGIsIGMpIHsNCiAgICAgICAgICAgIGZ1bmN0aW9uIGdldEZ1bmMoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuICJnZW5lcmljUHJvcGVydHlTdHJpbmciOw0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgZnVuY3Rpb24gc2V0RnVuYyh2YWx1ZSkgew0KICAgICAgICAgICAgICAgIHRoaXMuaGVscFZlcmlmeUdldCA9IHZhbHVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyZ3VtZW50cywgImdlbmVyaWNQcm9wZXJ0eSIsIHsNCiAgICAgICAgICAgICAgICBnZXQ6IGdldEZ1bmMsDQogICAgICAgICAgICAgICAgc2V0OiBzZXRGdW5jLA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJndW1lbnRzLCAiZ2VuZXJpY1Byb3BlcnR5Iiwgew0KICAgICAgICAgICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiAib3ZlcmlkZUdlbmVyaWNQcm9wZXJ0eVN0cmluZyI7DQogICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgICAgICB2YXIgdmVyaWZ5Rm9ybWFsID0gYSA9PT0gMTsNCiAgICAgICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFR5cGVFcnJvciAmJg0KICAgICAgICAgICAgICAgICAgICBhY2Nlc3NvclByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3QoYXJndW1lbnRzLCAiZ2VuZXJpY1Byb3BlcnR5IiwgZ2V0RnVuYywgc2V0RnVuYywgImhlbHBWZXJpZnlHZXQiLCBmYWxzZSwgZmFsc2UsIGZhbHNlKSAmJiB2ZXJpZnlGb3JtYWw7DQogICAgICAgICAgICB9DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0oMSwgMiwgMykpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'O' is an Arguments object of a function that has formal parameters, 'P' is own accessor property of 'O', test TypeError is thrown when updating the [[Get]] attribute value of 'P' which is not configurable (10.6 [[DefineOwnProperty]] step 4)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-321-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTMyMS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdPJyBpcyBhbiBBcmd1bWVudHMgb2JqZWN0LCAnUCcgaXMgb3duIGFjY2Vzc29yIHByb3BlcnR5IG9mICdPJywgdGVzdCBUeXBlRXJyb3IgaXMgdGhyb3duIHdoZW4gdXBkYXRpbmcgdGhlIFtbR2V0XV0gYXR0cmlidXRlIHZhbHVlIG9mICdQJyB3aGljaCBpcyBub3QgY29uZmlndXJhYmxlICgxMC42IFtbRGVmaW5lT3duUHJvcGVydHldXSBzdGVwIDQpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgcmV0dXJuIChmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICBmdW5jdGlvbiBnZXRGdW5jKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiAiZ2VuZXJpY1Byb3BlcnR5U3RyaW5nIjsNCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIGZ1bmN0aW9uIHNldEZ1bmModmFsdWUpIHsNCiAgICAgICAgICAgICAgICB0aGlzLmhlbHBWZXJpZnlHZXQgPSB2YWx1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcmd1bWVudHMsICJnZW5lcmljUHJvcGVydHkiLCB7DQogICAgICAgICAgICAgICAgZ2V0OiBnZXRGdW5jLA0KICAgICAgICAgICAgICAgIHNldDogc2V0RnVuYywNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIHRyeSB7DQogICAgICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyZ3VtZW50cywgImdlbmVyaWNQcm9wZXJ0eSIsIHsNCiAgICAgICAgICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gIm92ZXJpZGVHZW5lcmljUHJvcGVydHlTdHJpbmciOw0KICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgfSk7DQogICAgICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IgJiYNCiAgICAgICAgICAgICAgICAgICAgYWNjZXNzb3JQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KGFyZ3VtZW50cywgImdlbmVyaWNQcm9wZXJ0eSIsIGdldEZ1bmMsIHNldEZ1bmMsICJoZWxwVmVyaWZ5R2V0IiwgZmFsc2UsIGZhbHNlLCBmYWxzZSk7DQogICAgICAgICAgICB9DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0oMSwgMiwgMykpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'O' is an Arguments object, 'P' is own accessor property of 'O', test TypeError is thrown when updating the [[Get]] attribute value of 'P' which is not configurable (10.6 [[DefineOwnProperty]] step 4)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-321.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTMyMi0xLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnR5IC0gJ08nIGlzIGFuIEFyZ3VtZW50cyBvYmplY3Qgb2YgYSBmdW5jdGlvbiB0aGF0IGhhcyBmb3JtYWwgcGFyYW1ldGVycywgJ1AnIGlzIG93biBhY2Nlc3NvciBwcm9wZXJ0eSBvZiAnTycsIHRlc3QgVHlwZUVycm9yIGlzIHRocm93biB3aGVuIHVwZGF0aW5nIHRoZSBbW1NldF1dIGF0dHJpYnV0ZSB2YWx1ZSBvZiAnUCcgd2hpY2ggaXMgbm90IGNvbmZpZ3VyYWJsZSAoMTAuNiBbW0RlZmluZU93blByb3BlcnR5XV0gc3RlcCA0KQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHJldHVybiAoZnVuY3Rpb24gKGEsIGIsIGMpIHsNCiAgICAgICAgICAgIGZ1bmN0aW9uIHNldEZ1bmModmFsdWUpIHsNCiAgICAgICAgICAgICAgICB0aGlzLmdlbmVyaWNQcm9wZXJ0eVN0cmluZyA9IHZhbHVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyZ3VtZW50cywgImdlbmVyaWNQcm9wZXJ0eSIsIHsNCiAgICAgICAgICAgICAgICBzZXQ6IHNldEZ1bmMsDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICB0cnkgew0KICAgICAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcmd1bWVudHMsICJnZW5lcmljUHJvcGVydHkiLCB7DQogICAgICAgICAgICAgICAgICAgIHNldDogZnVuY3Rpb24gKHZhbHVlKSB7DQogICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmdlbmVyaWNQcm9wZXJ0eVN0cmluZzEgPSB2YWx1ZTsNCiAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgICAgIHJldHVybiBlIGluc3RhbmNlb2YgVHlwZUVycm9yICYmDQogICAgICAgICAgICAgICAgICAgIGFjY2Vzc29yUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChhcmd1bWVudHMsICJnZW5lcmljUHJvcGVydHkiLCB1bmRlZmluZWQsIHNldEZ1bmMsICJnZW5lcmljUHJvcGVydHlTdHJpbmciLCBmYWxzZSwgZmFsc2UsIGZhbHNlKTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSgxLCAyLCAzKSk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - 'O' is an Arguments object of a function that has formal parameters, 'P' is own accessor property of 'O', test TypeError is thrown when updating the [[Set]] attribute value of 'P' which is not configurable (10.6 [[DefineOwnProperty]] step 4)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-322-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTMyMi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdPJyBpcyBhbiBBcmd1bWVudHMgb2JqZWN0LCAnUCcgaXMgb3duIGFjY2Vzc29yIHByb3BlcnR5IG9mICdPJywgdGVzdCBUeXBlRXJyb3IgaXMgdGhyb3duIHdoZW4gdXBkYXRpbmcgdGhlIFtbU2V0XV0gYXR0cmlidXRlIHZhbHVlIG9mICdQJyB3aGljaCBpcyBub3QgY29uZmlndXJhYmxlICgxMC42IFtbRGVmaW5lT3duUHJvcGVydHldXSBzdGVwIDQpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgcmV0dXJuIChmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICBmdW5jdGlvbiBzZXRGdW5jKHZhbHVlKSB7DQogICAgICAgICAgICAgICAgdGhpcy5nZW5lcmljUHJvcGVydHlTdHJpbmcgPSB2YWx1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcmd1bWVudHMsICJnZW5lcmljUHJvcGVydHkiLCB7DQogICAgICAgICAgICAgICAgc2V0OiBzZXRGdW5jLA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJndW1lbnRzLCAiZ2VuZXJpY1Byb3BlcnR5Iiwgew0KICAgICAgICAgICAgICAgICAgICBzZXQ6IGZ1bmN0aW9uICh2YWx1ZSkgew0KICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5nZW5lcmljUHJvcGVydHlTdHJpbmcxID0gdmFsdWU7DQogICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFR5cGVFcnJvciAmJg0KICAgICAgICAgICAgICAgICAgICBhY2Nlc3NvclByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3QoYXJndW1lbnRzLCAiZ2VuZXJpY1Byb3BlcnR5IiwgdW5kZWZpbmVkLCBzZXRGdW5jLCAiZ2VuZXJpY1Byb3BlcnR5U3RyaW5nIiwgZmFsc2UsIGZhbHNlLCBmYWxzZSk7DQogICAgICAgICAgICB9DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0oMSwgMiwgMykpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'O' is an Arguments object, 'P' is own accessor property of 'O', test TypeError is thrown when updating the [[Set]] attribute value of 'P' which is not configurable (10.6 [[DefineOwnProperty]] step 4)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-322.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTMyMy0xLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnR5IC0gJydPJyBpcyBhbiBBcmd1bWVudHMgb2JqZWN0IG9mIGEgZnVuY3Rpb24gdGhhdCBoYXMgZm9ybWFsIHBhcmFtZXRlcnMsICdQJyBpcyBvd24gYWNjZXNzb3IgcHJvcGVydHkgb2YgJ08nLCB0ZXN0IFR5cGVFcnJvciBpcyB0aHJvd24gd2hlbiB1cGRhdGluZyB0aGUgW1tFbnVtZXJhYmxlXV0gYXR0cmlidXRlIHZhbHVlIG9mICdQJyB3aGljaCBpcyBub3QgY29uZmlndXJhYmxlICgxMC42IFtbRGVmaW5lT3duUHJvcGVydHldXSBzdGVwIDQpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgcmV0dXJuIChmdW5jdGlvbiAoYSwgYiwgYykgew0KICAgICAgICAgICAgZnVuY3Rpb24gc2V0RnVuYyh2YWx1ZSkgew0KICAgICAgICAgICAgICAgIHRoaXMuZ2VuZXJpY1Byb3BlcnR5U3RyaW5nID0gdmFsdWU7DQogICAgICAgICAgICB9DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJndW1lbnRzLCAiZ2VuZXJpY1Byb3BlcnR5Iiwgew0KICAgICAgICAgICAgICAgIHNldDogc2V0RnVuYywNCiAgICAgICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJndW1lbnRzLCAiZ2VuZXJpY1Byb3BlcnR5Iiwgew0KICAgICAgICAgICAgICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZQ0KICAgICAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgICAgIHZlcmlmeUZvcm1hbCA9IGMgPT09IDM7DQogICAgICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IgJiYNCiAgICAgICAgICAgICAgICAgICAgYWNjZXNzb3JQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KGFyZ3VtZW50cywgImdlbmVyaWNQcm9wZXJ0eSIsIHVuZGVmaW5lZCwgc2V0RnVuYywgImdlbmVyaWNQcm9wZXJ0eVN0cmluZyIsIHRydWUsIGZhbHNlKSAmJiB2ZXJpZnlGb3JtYWw7DQogICAgICAgICAgICB9DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0oMSwgMiwgMykpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - ''O' is an Arguments object of a function that has formal parameters, 'P' is own accessor property of 'O', test TypeError is thrown when updating the [[Enumerable]] attribute value of 'P' which is not configurable (10.6 [[DefineOwnProperty]] step 4)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-323-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTMyMy5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICcnTycgaXMgYW4gQXJndW1lbnRzIG9iamVjdCwgJ1AnIGlzIG93biBhY2Nlc3NvciBwcm9wZXJ0eSBvZiAnTycsIHRlc3QgVHlwZUVycm9yIGlzIHRocm93biB3aGVuIHVwZGF0aW5nIHRoZSBbW0VudW1lcmFibGVdXSBhdHRyaWJ1dGUgdmFsdWUgb2YgJ1AnIHdoaWNoIGlzIG5vdCBjb25maWd1cmFibGUgKDEwLjYgW1tEZWZpbmVPd25Qcm9wZXJ0eV1dIHN0ZXAgNCkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICByZXR1cm4gKGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgIGZ1bmN0aW9uIHNldEZ1bmModmFsdWUpIHsNCiAgICAgICAgICAgICAgICB0aGlzLmdlbmVyaWNQcm9wZXJ0eVN0cmluZyA9IHZhbHVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyZ3VtZW50cywgImdlbmVyaWNQcm9wZXJ0eSIsIHsNCiAgICAgICAgICAgICAgICBzZXQ6IHNldEZ1bmMsDQogICAgICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIHRyeSB7DQogICAgICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyZ3VtZW50cywgImdlbmVyaWNQcm9wZXJ0eSIsIHsNCiAgICAgICAgICAgICAgICAgICAgZW51bWVyYWJsZTogZmFsc2UNCiAgICAgICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFR5cGVFcnJvciAmJg0KICAgICAgICAgICAgICAgICAgICBhY2Nlc3NvclByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3QoYXJndW1lbnRzLCAiZ2VuZXJpY1Byb3BlcnR5IiwgdW5kZWZpbmVkLCBzZXRGdW5jLCAiZ2VuZXJpY1Byb3BlcnR5U3RyaW5nIiwgdHJ1ZSwgZmFsc2UpOw0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9KDEsIDIsIDMpKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - ''O' is an Arguments object, 'P' is own accessor property of 'O', test TypeError is thrown when updating the [[Enumerable]] attribute value of 'P' which is not configurable (10.6 [[DefineOwnProperty]] step 4)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-323.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTMyNC0xLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnR5IC0gJ08nIGlzIGFuIEFyZ3VtZW50cyBvYmplY3Qgb2YgYSBmdW5jdGlvbiB0aGF0IGhhcyBmb3JtYWwgcGFyYW1ldGVycywgJ1AnIGlzIG93biBhY2Nlc3NvciBwcm9wZXJ0eSBvZiAnTycsIHRlc3QgVHlwZUVycm9yIGlzIHRocm93biB3aGVuIHVwZGF0aW5nIHRoZSBbW0NvbmZpZ3VyYWJsZV1dIGF0dHJpYnV0ZSB2YWx1ZSBvZiAnUCcgd2hpY2ggaXMgbm90IGNvbmZpZ3VyYWJsZSAoMTAuNiBbW0RlZmluZU93blByb3BlcnR5XV0gc3RlcCA0KQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHJldHVybiAoZnVuY3Rpb24gKGEsIGIsIGMpIHsNCiAgICAgICAgICAgIGZ1bmN0aW9uIHNldEZ1bmModmFsdWUpIHsNCiAgICAgICAgICAgICAgICB0aGlzLmdlbmVyaWNQcm9wZXJ0eVN0cmluZyA9IHZhbHVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyZ3VtZW50cywgImdlbmVyaWNQcm9wZXJ0eSIsIHsNCiAgICAgICAgICAgICAgICBzZXQ6IHNldEZ1bmMsDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICB0cnkgew0KICAgICAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcmd1bWVudHMsICJnZW5lcmljUHJvcGVydHkiLCB7DQogICAgICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgICAgIHJldHVybiBlIGluc3RhbmNlb2YgVHlwZUVycm9yICYmDQogICAgICAgICAgICAgICAgICAgIGFjY2Vzc29yUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChhcmd1bWVudHMsICJnZW5lcmljUHJvcGVydHkiLCB1bmRlZmluZWQsIHNldEZ1bmMsICJnZW5lcmljUHJvcGVydHlTdHJpbmciLCBmYWxzZSwgZmFsc2UsIGZhbHNlKTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSgxLCAyLCAzKSk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - 'O' is an Arguments object of a function that has formal parameters, 'P' is own accessor property of 'O', test TypeError is thrown when updating the [[Configurable]] attribute value of 'P' which is not configurable (10.6 [[DefineOwnProperty]] step 4)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-324-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTMyNC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdPJyBpcyBhbiBBcmd1bWVudHMgb2JqZWN0LCAnUCcgaXMgb3duIGFjY2Vzc29yIHByb3BlcnR5IG9mICdPJywgdGVzdCBUeXBlRXJyb3IgaXMgdGhyb3duIHdoZW4gdXBkYXRpbmcgdGhlIFtbQ29uZmlndXJhYmxlXV0gYXR0cmlidXRlIHZhbHVlIG9mICdQJyB3aGljaCBpcyBub3QgY29uZmlndXJhYmxlICgxMC42IFtbRGVmaW5lT3duUHJvcGVydHldXSBzdGVwIDQpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgcmV0dXJuIChmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICBmdW5jdGlvbiBzZXRGdW5jKHZhbHVlKSB7DQogICAgICAgICAgICAgICAgdGhpcy5nZW5lcmljUHJvcGVydHlTdHJpbmcgPSB2YWx1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcmd1bWVudHMsICJnZW5lcmljUHJvcGVydHkiLCB7DQogICAgICAgICAgICAgICAgc2V0OiBzZXRGdW5jLA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJndW1lbnRzLCAiZ2VuZXJpY1Byb3BlcnR5Iiwgew0KICAgICAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFR5cGVFcnJvciAmJg0KICAgICAgICAgICAgICAgICAgICBhY2Nlc3NvclByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3QoYXJndW1lbnRzLCAiZ2VuZXJpY1Byb3BlcnR5IiwgdW5kZWZpbmVkLCBzZXRGdW5jLCAiZ2VuZXJpY1Byb3BlcnR5U3RyaW5nIiwgZmFsc2UsIGZhbHNlLCBmYWxzZSk7DQogICAgICAgICAgICB9DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0oMSwgMiwgMykpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'O' is an Arguments object, 'P' is own accessor property of 'O', test TypeError is thrown when updating the [[Configurable]] attribute value of 'P' which is not configurable (10.6 [[DefineOwnProperty]] step 4)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-324.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTMyNS0xLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnR5IC0gJ08nIGlzIGFuIEFyZ3VtZW50cyBvYmplY3Qgd2hpY2ggY3JlYXRlZCB3aXRoIGZ1bmN0aW9uIHRha2UgZm9ybWFsIHBhcmFtZXRlcnMsICduYW1lJyBpcyBvd24gcHJvcGVydHkgb2YgW1tQYXJhbWV0ZXJNYXBdXSBvZiAnTycsIHRlc3QgJ25hbWUnIGlzIGRlbGV0ZWQgaWYgJ25hbWUnIGlzIGNvbmZpZ3VyYWJsZSBhbmQgJ2Rlc2MnIGlzIGFjY2Vzc29yIGRlc2NyaXB0b3IgKDEwLjYgW1tEZWZpbmVPd25Qcm9wZXJ0eV1dIHN0ZXAgNS5hLmkpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIGFyZ09iaiA9IChmdW5jdGlvbiAoYSwgYiwgYykgeyByZXR1cm4gYXJndW1lbnRzOyB9KSgxLCAyLCAzKTsNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyZ09iaiwgMCwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgICAgIHJldHVybiAxMjsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQoNCiAgICAgICAgcmV0dXJuIGFyZ09ialswXSA9PT0gMTIgJiYgYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - 'O' is an Arguments object which created with function take formal parameters, 'name' is own property of [[ParameterMap]] of 'O', test 'name' is deleted if 'name' is configurable and 'desc' is accessor descriptor (10.6 [[DefineOwnProperty]] step 5.a.i)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-325-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTMyNS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtICdPJyBpcyBhbiBBcmd1bWVudHMgb2JqZWN0LCAnbmFtZScgaXMgb3duIHByb3BlcnR5IG9mIFtbUGFyYW1ldGVyTWFwXV0gb2YgJ08nLCB0ZXN0ICduYW1lJyBpcyBkZWxldGVkIGlmICduYW1lJyBpcyBjb25maWd1cmFibGUgYW5kICdkZXNjJyBpcyBhY2Nlc3NvciBkZXNjcmlwdG9yICgxMC42IFtbRGVmaW5lT3duUHJvcGVydHldXSBzdGVwIDUuYS5pKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBhcmdPYmogPSAoZnVuY3Rpb24gKCkgeyByZXR1cm4gYXJndW1lbnRzOyB9KSgxLCAyLCAzKTsNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyZ09iaiwgMCwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgICAgIHJldHVybiAxMjsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQoNCiAgICAgICAgcmV0dXJuIGFyZ09ialswXSA9PT0gMTIgJiYgYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - 'O' is an Arguments object, 'name' is own property of [[ParameterMap]] of 'O', test 'name' is deleted if 'name' is configurable and 'desc' is accessor descriptor (10.6 [[DefineOwnProperty]] step 5.a.i)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-325.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTMyNi5qcw0KICogQGRlc2NyaXB0aW9uIEVTNSBBdHRyaWJ1dGVzIC0gcHJvcGVydHkgKFtbV3JpdGFibGVdXSBpcyB0cnVlLCBbW0VudW1lcmFibGVdXSBpcyB0cnVlLCBbW0NvbmZpZ3VyYWJsZV1dIGlzIHRydWUpIGlzIHdyaXRhYmxlDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgdmFsdWU6IDIwMTAsDQogICAgICAgICAgICB3cml0YWJsZTogdHJ1ZSwNCiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQogICAgICAgIHZhciBwcm9wZXJ0eURlZmluZUNvcnJlY3QgPSAob2JqLnByb3AgPT09IDIwMTApOw0KICAgICAgICBvYmoucHJvcCA9IDEwMDE7DQoNCiAgICAgICAgcmV0dXJuIHByb3BlcnR5RGVmaW5lQ29ycmVjdCAmJiBvYmoucHJvcCA9PT0gMTAwMTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"ES5 Attributes - property ([[Writable]] is true, [[Enumerable]] is true, [[Configurable]] is true) is writable","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-326.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTMyNy5qcw0KICogQGRlc2NyaXB0aW9uIEVTNSBBdHRyaWJ1dGVzIC0gcHJvcGVydHkgKFtbV3JpdGFibGVdXSBpcyB0cnVlLCBbW0VudW1lcmFibGVdXSBpcyB0cnVlLCBbW0NvbmZpZ3VyYWJsZV1dIGlzIHRydWUpIGlzIGVudW1lcmFibGUNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICB2YWx1ZTogMjAxMCwNCiAgICAgICAgICAgIHdyaXRhYmxlOiB0cnVlLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCiAgICAgICAgdmFyIHByb3BlcnR5RGVmaW5lQ29ycmVjdCA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KICAgICAgICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcCIpOw0KICAgICAgICBmb3IgKHZhciBwcm9wZXJ0eSBpbiBvYmopIHsNCiAgICAgICAgICAgIGlmIChwcm9wZXJ0eSA9PT0gInByb3AiKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIHByb3BlcnR5RGVmaW5lQ29ycmVjdCAmJiBkZXNjLmVudW1lcmFibGUgPT09IHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCiAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"ES5 Attributes - property ([[Writable]] is true, [[Enumerable]] is true, [[Configurable]] is true) is enumerable","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-327.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTMyOC5qcw0KICogQGRlc2NyaXB0aW9uIEVTNSBBdHRyaWJ1dGVzIC0gcHJvcGVydHkgKFtbV3JpdGFibGVdXSBpcyB0cnVlLCBbW0VudW1lcmFibGVdXSBpcyB0cnVlLCBbW0NvbmZpZ3VyYWJsZV1dIGlzIHRydWUpIGlzIGRlbGV0YWJsZQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgIHZhbHVlOiAyMDEwLA0KICAgICAgICAgICAgd3JpdGFibGU6IHRydWUsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KICAgICAgICB2YXIgYmVmb3JlRGVsZXRlID0gb2JqLmhhc093blByb3BlcnR5KCJwcm9wIik7DQogICAgICAgIGRlbGV0ZSBvYmoucHJvcDsNCiAgICAgICAgdmFyIGFmdGVyRGVsZXRlID0gb2JqLmhhc093blByb3BlcnR5KCJwcm9wIik7DQogICAgICAgIHJldHVybiBiZWZvcmVEZWxldGUgJiYgIWFmdGVyRGVsZXRlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"ES5 Attributes - property ([[Writable]] is true, [[Enumerable]] is true, [[Configurable]] is true) is deletable","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-328.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTMyOS5qcw0KICogQGRlc2NyaXB0aW9uIEVTNSBBdHRyaWJ1dGVzIC0gc3VjY2VzcyB0byB1cGRhdGUgW1tXcml0YWJsZV1dIGF0dHJpYnV0ZSBvZiBkYXRhIHByb3BlcnR5IChbW1dyaXRhYmxlXV0gaXMgdHJ1ZSwgW1tFbnVtZXJhYmxlXV0gaXMgdHJ1ZSwgW1tDb25maWd1cmFibGVdXSBpcyB0cnVlKSB0byBkaWZmZXJlbnQgdmFsdWUNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICB2YWx1ZTogMjAxMCwNCiAgICAgICAgICAgIHdyaXRhYmxlOiB0cnVlLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCiAgICAgICAgdmFyIHByb3BlcnR5RGVmaW5lQ29ycmVjdCA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KICAgICAgICB2YXIgZGVzYzEgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3AiKTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgIHdyaXRhYmxlOiBmYWxzZQ0KICAgICAgICB9KTsNCiAgICAgICAgdmFyIGRlc2MyID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wIik7DQoNCiAgICAgICAgcmV0dXJuIHByb3BlcnR5RGVmaW5lQ29ycmVjdCAmJiBkZXNjMS53cml0YWJsZSA9PT0gdHJ1ZSAmJiBvYmoucHJvcCA9PT0gMjAxMCAmJiBkZXNjMi53cml0YWJsZSA9PT0gZmFsc2U7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"ES5 Attributes - success to update [[Writable]] attribute of data property ([[Writable]] is true, [[Enumerable]] is true, [[Configurable]] is true) to different value","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-329.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTMzLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnR5IC0gJ08nIGlzIGEgRnVuY3Rpb24gb2JqZWN0IHRoYXQgdXNlcyBPYmplY3QncyBbW0dldE93blByb3BlcnR5XV0gbWV0aG9kIHRvIGFjY2VzcyB0aGUgJ25hbWUnIHByb3BlcnR5ICg4LjEyLjkgc3RlcCAxKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBmdW4gPSBmdW5jdGlvbiAoKSB7IH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGZ1biwgImZvbyIsIHsNCiAgICAgICAgICAgIHZhbHVlOiAxMiwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShmdW4sICJmb28iLCB7DQogICAgICAgICAgICAgICAgdmFsdWU6IDExLA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiBlIGluc3RhbmNlb2YgVHlwZUVycm9yICYmIGZ1bi5mb28gPT09IDEyOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - 'O' is a Function object that uses Object's [[GetOwnProperty]] method to access the 'name' property (8.12.9 step 1)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-33.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTMzMC5qcw0KICogQGRlc2NyaXB0aW9uIEVTNSBBdHRyaWJ1dGVzIC0gc3VjY2VzcyB0byB1cGRhdGUgW1tlbnVtZXJhYmxlXV0gYXR0cmlidXRlIG9mIGRhdGEgcHJvcGVydHkgKFtbV3JpdGFibGVdXSBpcyB0cnVlLCBbW0VudW1lcmFibGVdXSBpcyB0cnVlLCBbW0NvbmZpZ3VyYWJsZV1dIGlzIHRydWUpIHRvIGRpZmZlcmVudCB2YWx1ZQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgIHZhbHVlOiAyMDEwLA0KICAgICAgICAgICAgd3JpdGFibGU6IHRydWUsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KICAgICAgICB2YXIgcHJvcGVydHlEZWZpbmVDb3JyZWN0ID0gb2JqLmhhc093blByb3BlcnR5KCJwcm9wIik7DQogICAgICAgIHZhciBkZXNjMSA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcCIpOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgZW51bWVyYWJsZTogZmFsc2UNCiAgICAgICAgfSk7DQogICAgICAgIHZhciBkZXNjMiA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcCIpOw0KDQogICAgICAgIHJldHVybiBwcm9wZXJ0eURlZmluZUNvcnJlY3QgJiYgZGVzYzEuZW51bWVyYWJsZSA9PT0gdHJ1ZSAmJiBvYmoucHJvcCA9PT0gMjAxMCAmJiBkZXNjMi5lbnVtZXJhYmxlID09PSBmYWxzZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"ES5 Attributes - success to update [[enumerable]] attribute of data property ([[Writable]] is true, [[Enumerable]] is true, [[Configurable]] is true) to different value","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-330.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTMzMS5qcw0KICogQGRlc2NyaXB0aW9uIEVTNSBBdHRyaWJ1dGVzIC0gc3VjY2VzcyB0byB1cGRhdGUgW1tDb25maWd1cmFibGVdXSBhdHRyaWJ1dGUgb2YgZGF0YSBwcm9wZXJ0eSAoW1tXcml0YWJsZV1dIGlzIHRydWUsIFtbRW51bWVyYWJsZV1dIGlzIHRydWUsIFtbQ29uZmlndXJhYmxlXV0gaXMgdHJ1ZSkgdG8gZGlmZmVyZW50IHZhbHVlDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgdmFsdWU6IDIwMTAsDQogICAgICAgICAgICB3cml0YWJsZTogdHJ1ZSwNCiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQogICAgICAgIHZhciBwcm9wZXJ0eURlZmluZUNvcnJlY3QgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCiAgICAgICAgdmFyIGRlc2MxID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wIik7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgIH0pOw0KICAgICAgICB2YXIgZGVzYzIgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3AiKTsNCg0KICAgICAgICByZXR1cm4gcHJvcGVydHlEZWZpbmVDb3JyZWN0ICYmIGRlc2MxLmNvbmZpZ3VyYWJsZSA9PT0gdHJ1ZSAmJiBvYmoucHJvcCA9PT0gMjAxMCAmJiBkZXNjMi5jb25maWd1cmFibGUgPT09IGZhbHNlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"ES5 Attributes - success to update [[Configurable]] attribute of data property ([[Writable]] is true, [[Enumerable]] is true, [[Configurable]] is true) to different value","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-331.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTMzMi5qcw0KICogQGRlc2NyaXB0aW9uIEVTNSBBdHRyaWJ1dGVzIC0gc3VjY2VzcyB0byB1cGRhdGUgdGhlIGRhdGEgcHJvcGVydHkgKFtbV3JpdGFibGVdXSBpcyB0cnVlLCBbW0VudW1lcmFibGVdXSBpcyB0cnVlLCBbW0NvbmZpZ3VyYWJsZV1dIGlzIHRydWUpIHRvIGFuIGFjY2Vzc29yIHByb3BlcnR5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgdmFsdWU6IDIwMTAsDQogICAgICAgICAgICB3cml0YWJsZTogdHJ1ZSwNCiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQogICAgICAgIHZhciBkZXNjMSA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcCIpOw0KDQogICAgICAgIGZ1bmN0aW9uIGdldEZ1bmMoKSB7DQogICAgICAgICAgICByZXR1cm4gMjA7DQogICAgICAgIH0NCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICBnZXQ6IGdldEZ1bmMNCiAgICAgICAgfSk7DQogICAgICAgIHZhciBkZXNjMiA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcCIpOw0KDQogICAgICAgIHJldHVybiBkZXNjMS5oYXNPd25Qcm9wZXJ0eSgidmFsdWUiKSAmJiBkZXNjMi5nZXQgPT09IGdldEZ1bmM7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"ES5 Attributes - success to update the data property ([[Writable]] is true, [[Enumerable]] is true, [[Configurable]] is true) to an accessor property","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-332.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTMzMy0xLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnR5IHdpbGwgdXBkYXRlIFtbVmFsdWVdXSBhdHRyaWJ1dGUgb2YgbmFtZWQgcHJvcGVydHkgJ1AnIHN1Y2Nlc3NmdWxseSB3aGVuIFtbQ29uZmlndXJhYmxlXV0gYXR0cmlidXRlIGlzIGZhbHNlLCBbW1dyaXRhYmxlXV0gYXR0cmlidXRlIGlzIHRydWUgYW5kICdPJyBpcyBhbiBPYmplY3Qgb2JqZWN0ICg4LjEyLjkgLSBzdGVwIDEwKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wZXJ0eSIsIHsNCiAgICAgICAgICAgIHZhbHVlOiAxMDAxLA0KICAgICAgICAgICAgd3JpdGFibGU6IHRydWUsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgIH0pOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wZXJ0eSIsIHsNCiAgICAgICAgICAgIHZhbHVlOiAxMDAyDQogICAgICAgIH0pOw0KDQogICAgICAgIHJldHVybiBkYXRhUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChvYmosICJwcm9wZXJ0eSIsIDEwMDIsIHRydWUsIGZhbHNlLCBmYWxzZSk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty will update [[Value]] attribute of named property 'P' successfully when [[Configurable]] attribute is false, [[Writable]] attribute is true and 'O' is an Object object (8.12.9 - step 10)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-333-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTMzMy0xMC5qcw0KICogQGRlc2NyaXB0aW9uIEVTNSBBdHRyaWJ1dGVzIC0gaW5kZXhlZCBkYXRhIHByb3BlcnR5ICdQJyB3aXRoIGF0dHJpYnV0ZXMgW1tXcml0YWJsZV1dOiB0cnVlLCBbW0VudW1lcmFibGVdXTogdHJ1ZSwgW1tDb25maWd1cmFibGVdXTogZmFsc2UgaXMgd3JpdGFibGUgdXNpbmcgc2ltcGxlIGFzc2lnbm1lbnQsICdPJyBpcyBhbiBBcmd1bWVudHMgb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IChmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICByZXR1cm4gYXJndW1lbnRzOw0KICAgICAgICB9KCkpOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICIwIiwgew0KICAgICAgICAgICAgdmFsdWU6IDIwMTAsDQogICAgICAgICAgICB3cml0YWJsZTogdHJ1ZSwNCiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgIH0pOw0KICAgICAgICB2YXIgdmVyaWZ5VmFsdWUgPSAob2JqWzBdID09PSAyMDEwKTsNCiAgICAgICAgb2JqWzBdID0gMTAwMTsNCg0KICAgICAgICByZXR1cm4gdmVyaWZ5VmFsdWUgJiYgb2JqWzBdID09PSAxMDAxOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"ES5 Attributes - indexed data property 'P' with attributes [[Writable]]: true, [[Enumerable]]: true, [[Configurable]]: false is writable using simple assignment, 'O' is an Arguments object","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-333-10.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTMzMy0xMS5qcw0KICogQGRlc2NyaXB0aW9uIEVTNSBBdHRyaWJ1dGVzIC0gaW5kZXhlZCBwcm9wZXJ0eSAnUCcgd2l0aCBhdHRyaWJ1dGVzIFtbV3JpdGFibGVdXTogdHJ1ZSwgW1tFbnVtZXJhYmxlXV06IHRydWUsIFtbQ29uZmlndXJhYmxlXV06IGZhbHNlIGlzIHdyaXRhYmxlIHVzaW5nIHNpbXBsZSBhc3NpZ25tZW50LCAnTycgaXMgYW4gQXJndW1lbnRzIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSAoZnVuY3Rpb24gKHgpIHsNCiAgICAgICAgICAgIHJldHVybiBhcmd1bWVudHM7DQogICAgICAgIH0oMTAwMSkpOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICIwIiwgew0KICAgICAgICAgICAgdmFsdWU6IDIwMTAsDQogICAgICAgICAgICB3cml0YWJsZTogdHJ1ZSwNCiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgIH0pOw0KICAgICAgICB2YXIgdmVyaWZ5VmFsdWUgPSAob2JqWzBdID09PSAyMDEwKTsNCg0KICAgICAgICByZXR1cm4gdmVyaWZ5VmFsdWU7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"ES5 Attributes - indexed property 'P' with attributes [[Writable]]: true, [[Enumerable]]: true, [[Configurable]]: false is writable using simple assignment, 'O' is an Arguments object","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-333-11.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTMzMy0yLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnR5IHdpbGwgdXBkYXRlIFtbVmFsdWVdXSBhdHRyaWJ1dGUgb2YgaW5kZXhlZCBwcm9wZXJ0eSAnUCcgc3VjY2Vzc2Z1bGx5IHdoZW4gW1tDb25maWd1cmFibGVdXSBhdHRyaWJ1dGUgaXMgZmFsc2UsIFtbV3JpdGFibGVdXSBhdHRyaWJ1dGUgaXMgdHJ1ZSBhbmQgJ0EnIGlzIGFuIEFycmF5IG9iamVjdCAoOC4xMi45IC0gc3RlcCAxMCkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSBbXTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiMCIsIHsNCiAgICAgICAgICAgIHZhbHVlOiAxMDAxLA0KICAgICAgICAgICAgd3JpdGFibGU6IHRydWUsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgIH0pOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICIwIiwgew0KICAgICAgICAgICAgdmFsdWU6IDEwMDINCiAgICAgICAgfSk7DQoNCiAgICAgICAgcmV0dXJuIGRhdGFQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KG9iaiwgIjAiLCAxMDAyLCB0cnVlLCBmYWxzZSwgZmFsc2UpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty will update [[Value]] attribute of indexed property 'P' successfully when [[Configurable]] attribute is false, [[Writable]] attribute is true and 'A' is an Array object (8.12.9 - step 10)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-333-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTMzMy0zLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnR5IHdpbGwgdXBkYXRlIFtbVmFsdWVdXSBhdHRyaWJ1dGUgb2YgbmFtZWQgcHJvcGVydHkgJ1AnIHN1Y2Nlc3NmdWxseSB3aGVuIFtbQ29uZmlndXJhYmxlXV0gYXR0cmlidXRlIGlzIGZhbHNlLCBbW1dyaXRhYmxlXV0gYXR0cmlidXRlIGlzIHRydWUgYW5kICdPJyBpcyBhbiBBcmd1bWVudHMgb2JqZWN0ICg4LjEyLjkgLSBzdGVwIDEwKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IChmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICByZXR1cm4gYXJndW1lbnRzOw0KICAgICAgICB9KCkpOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wZXJ0eSIsIHsNCiAgICAgICAgICAgIHZhbHVlOiAxMDAxLA0KICAgICAgICAgICAgd3JpdGFibGU6IHRydWUsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgIH0pOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wZXJ0eSIsIHsNCiAgICAgICAgICAgIHZhbHVlOiAxMDAyDQogICAgICAgIH0pOw0KDQogICAgICAgIHJldHVybiBkYXRhUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChvYmosICJwcm9wZXJ0eSIsIDEwMDIsIHRydWUsIGZhbHNlLCBmYWxzZSk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty will update [[Value]] attribute of named property 'P' successfully when [[Configurable]] attribute is false, [[Writable]] attribute is true and 'O' is an Arguments object (8.12.9 - step 10)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-333-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTMzMy00LmpzDQogKiBAZGVzY3JpcHRpb24gSW5kZXhlZCBwcm9wZXJ0eSAnUCcgd2l0aCBhdHRyaWJ1dGVzIFtbV3JpdGFibGVdXTogdHJ1ZSwgW1tFbnVtZXJhYmxlXV06dHJ1ZSwgW1tDb25maWd1cmFibGVdXTpmYWxzZSBpcyB3cml0YWJsZSB1c2luZyBzaW1wbGUgYXNzaWdubWVudCwgJ0EnIGlzIGFuIEFycmF5IE9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSBbXTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiMCIsIHsNCiAgICAgICAgICAgIHZhbHVlOiAyMDEwLA0KICAgICAgICAgICAgd3JpdGFibGU6IHRydWUsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICB9KTsNCiAgICAgICAgdmFyIHZlcmlmeVZhbHVlID0gKG9ialswXSA9PT0gMjAxMCk7DQogICAgICAgIG9ialswXSA9IDEwMDE7DQoNCiAgICAgICAgcmV0dXJuIHZlcmlmeVZhbHVlICYmIG9ialswXSA9PT0gMTAwMTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Indexed property 'P' with attributes [[Writable]]: true, [[Enumerable]]:true, [[Configurable]]:false is writable using simple assignment, 'A' is an Array Object","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-333-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTMzMy01LmpzDQogKiBAZGVzY3JpcHRpb24gRVM1IEF0dHJpYnV0ZXMgLSBuYW1lZCBkYXRhIHByb3BlcnR5ICdQJyB3aXRoIGF0dHJpYnV0ZXMgW1tXcml0YWJsZV1dOiB0cnVlLCBbW0VudW1lcmFibGVdXTogdHJ1ZSwgW1tDb25maWd1cmFibGVdXTogZmFsc2UgaXMgd3JpdGFibGUgdXNpbmcgc2ltcGxlIGFzc2lnbm1lbnQsICdPJyBpcyBhbiBBcmd1bWVudHMgb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IChmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICByZXR1cm4gYXJndW1lbnRzOw0KICAgICAgICB9KCkpOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgdmFsdWU6IDIwMTAsDQogICAgICAgICAgICB3cml0YWJsZTogdHJ1ZSwNCiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgIH0pOw0KICAgICAgICB2YXIgdmVyaWZ5VmFsdWUgPSAob2JqLnByb3AgPT09IDIwMTApOw0KICAgICAgICBvYmoucHJvcCA9IDEwMDE7DQoNCiAgICAgICAgcmV0dXJuIHZlcmlmeVZhbHVlICYmIG9iai5wcm9wID09PSAxMDAxOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"ES5 Attributes - named data property 'P' with attributes [[Writable]]: true, [[Enumerable]]: true, [[Configurable]]: false is writable using simple assignment, 'O' is an Arguments object","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-333-5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTMzMy02LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnR5IHdpbGwgdXBkYXRlIFtbVmFsdWVdXSBhdHRyaWJ1dGUgb2YgaW5kZXhlZCBwcm9wZXJ0eSAnUCcgc3VjY2Vzc2Z1bGx5IHdoZW4gW1tDb25maWd1cmFibGVdXSBhdHRyaWJ1dGUgaXMgZmFsc2UsIFtbV3JpdGFibGVdXSBhdHRyaWJ1dGUgaXMgdHJ1ZSBhbmQgJ08nIGlzIGFuIE9iamVjdCBvYmplY3QgKDguMTIuOSAtIHN0ZXAgMTApDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgIjAiLCB7DQogICAgICAgICAgICB2YWx1ZTogMTAwMSwNCiAgICAgICAgICAgIHdyaXRhYmxlOiB0cnVlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiMCIsIHsNCiAgICAgICAgICAgIHZhbHVlOiAxMDAyDQogICAgICAgIH0pOw0KDQogICAgICAgIHJldHVybiBkYXRhUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChvYmosICIwIiwgMTAwMiwgdHJ1ZSwgZmFsc2UsIGZhbHNlKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty will update [[Value]] attribute of indexed property 'P' successfully when [[Configurable]] attribute is false, [[Writable]] attribute is true and 'O' is an Object object (8.12.9 - step 10)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-333-6.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTMzMy03LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnR5IHdpbGwgdXBkYXRlIFtbVmFsdWVdXSBhdHRyaWJ1dGUgb2YgbmFtZWQgcHJvcGVydHkgJ1AnIHN1Y2Nlc3NmdWxseSB3aGVuIFtbQ29uZmlndXJhYmxlXV0gYXR0cmlidXRlIGlzIGZhbHNlLCBbW1dyaXRhYmxlXV0gYXR0cmlidXRlIGlzIHRydWUgYW5kICdBJyBpcyBhbiBBcnJheSBvYmplY3QgKDguMTIuOSAtIHN0ZXAgMTApDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0gW107DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICB2YWx1ZTogMTAwMSwNCiAgICAgICAgICAgIHdyaXRhYmxlOiB0cnVlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgIHZhbHVlOiAxMDAyDQogICAgICAgIH0pOw0KDQogICAgICAgIHJldHVybiBkYXRhUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChvYmosICJwcm9wIiwgMTAwMiwgdHJ1ZSwgZmFsc2UsIGZhbHNlKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty will update [[Value]] attribute of named property 'P' successfully when [[Configurable]] attribute is false, [[Writable]] attribute is true and 'A' is an Array object (8.12.9 - step 10)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-333-7.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTMzMy04LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnR5IHdpbGwgdXBkYXRlIFtbVmFsdWVdXSBhdHRyaWJ1dGUgb2YgaW5kZXhlZCBwcm9wZXJ0eSAnUCdzdWNjZXNzZnVsbHkgd2hlbiBbW0NvbmZpZ3VyYWJsZV1dIGF0dHJpYnV0ZSBpcyBmYWxzZSwgW1tXcml0YWJsZV1dIGF0dHJpYnV0ZSBpcyB0cnVlIGFuZCAnTycgaXMgYW4gQXJndW1lbnRzIG9iamVjdCAoOC4xMi45IC0gc3RlcCAxMCkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSAoZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgcmV0dXJuIGFyZ3VtZW50czsNCiAgICAgICAgfSgpKTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiMCIsIHsNCiAgICAgICAgICAgIHZhbHVlOiAxMDAxLA0KICAgICAgICAgICAgd3JpdGFibGU6IHRydWUsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgIH0pOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICIwIiwgew0KICAgICAgICAgICAgdmFsdWU6IDEwMDINCiAgICAgICAgfSk7DQoNCiAgICAgICAgcmV0dXJuIGRhdGFQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KG9iaiwgIjAiLCAxMDAyLCB0cnVlLCBmYWxzZSwgZmFsc2UpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty will update [[Value]] attribute of indexed property 'P'successfully when [[Configurable]] attribute is false, [[Writable]] attribute is true and 'O' is an Arguments object (8.12.9 - step 10)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-333-8.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTMzMy05LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnR5IC0gTmFtZWQgcHJvcGVydHkgJ1AnIHdpdGggYXR0cmlidXRlcyBbW1dyaXRhYmxlXV06IHRydWUsIFtbRW51bWVyYWJsZV1dOnRydWUsIFtbQ29uZmlndXJhYmxlXV06ZmFsc2UgaXMgd3JpdGFibGUgdXNpbmcgc2ltcGxlIGFzc2lnbm1lbnQsICdBJyBpcyBhbiBBcnJheSBPYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0gW107DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICB2YWx1ZTogMjAxMCwNCiAgICAgICAgICAgIHdyaXRhYmxlOiB0cnVlLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgfSk7DQogICAgICAgIHZhciB2ZXJpZnlWYWx1ZSA9IChvYmoucHJvcCA9PT0gMjAxMCk7DQogICAgICAgIG9iai5wcm9wID0gMTAwMTsNCg0KICAgICAgICByZXR1cm4gdmVyaWZ5VmFsdWUgJiYgb2JqLnByb3AgPT09IDEwMDE7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - Named property 'P' with attributes [[Writable]]: true, [[Enumerable]]:true, [[Configurable]]:false is writable using simple assignment, 'A' is an Array Object","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-333-9.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTMzMy5qcw0KICogQGRlc2NyaXB0aW9uIEVTNSBBdHRyaWJ1dGVzIC0gcHJvcGVydHkgKFtbV3JpdGFibGVdXSBpcyB0cnVlLCBbW0VudW1lcmFibGVdXSBpcyB0cnVlLCBbW0NvbmZpZ3VyYWJsZV1dIGlzIGZhbHNlKSBpcyB3cml0YWJsZQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgIHZhbHVlOiAyMDEwLA0KICAgICAgICAgICAgd3JpdGFibGU6IHRydWUsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICB9KTsNCiAgICAgICAgdmFyIHByb3BlcnR5RGVmaW5lQ29ycmVjdCA9IChvYmoucHJvcCA9PT0gMjAxMCk7DQogICAgICAgIG9iai5wcm9wID0gMTAwMTsNCg0KICAgICAgICByZXR1cm4gcHJvcGVydHlEZWZpbmVDb3JyZWN0ICYmIG9iai5wcm9wID09PSAxMDAxOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"ES5 Attributes - property ([[Writable]] is true, [[Enumerable]] is true, [[Configurable]] is false) is writable","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-333.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTMzNC5qcw0KICogQGRlc2NyaXB0aW9uIEVTNSBBdHRyaWJ1dGVzIC0gcHJvcGVydHkgKFtbV3JpdGFibGVdXSBpcyB0cnVlLCBbW0VudW1lcmFibGVdXSBpcyB0cnVlLCBbW0NvbmZpZ3VyYWJsZV1dIGlzIGZhbHNlKSBpcyBlbnVtZXJhYmxlDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgdmFsdWU6IDIwMTAsDQogICAgICAgICAgICB3cml0YWJsZTogdHJ1ZSwNCiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgIH0pOw0KICAgICAgICB2YXIgcHJvcGVydHlEZWZpbmVDb3JyZWN0ID0gb2JqLmhhc093blByb3BlcnR5KCJwcm9wIik7DQogICAgICAgIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wIik7DQogICAgICAgIGZvciAodmFyIHAgaW4gb2JqKSB7DQogICAgICAgICAgICBpZiAocCA9PT0gInByb3AiKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIHByb3BlcnR5RGVmaW5lQ29ycmVjdCAmJiBkZXNjLmVudW1lcmFibGUgPT09IHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCiAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"ES5 Attributes - property ([[Writable]] is true, [[Enumerable]] is true, [[Configurable]] is false) is enumerable","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-334.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTMzNS5qcw0KICogQGRlc2NyaXB0aW9uIEVTNSBBdHRyaWJ1dGVzIC0gcHJvcGVydHkgKFtbV3JpdGFibGVdXSBpcyB0cnVlLCBbW0VudW1lcmFibGVdXSBpcyB0cnVlLCBbW0NvbmZpZ3VyYWJsZV1dIGlzIGZhbHNlKSBpcyB1bmRlbGV0YWJsZQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgIHZhbHVlOiAyMDEwLA0KICAgICAgICAgICAgd3JpdGFibGU6IHRydWUsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICB9KTsNCiAgICAgICAgdmFyIGJlZm9yZURlbGV0ZSA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KICAgICAgICBkZWxldGUgb2JqLnByb3A7DQogICAgICAgIHZhciBhZnRlckRlbGV0ZSA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KICAgICAgICByZXR1cm4gYmVmb3JlRGVsZXRlICYmIG9iai5wcm9wID09PSAyMDEwICYmIGFmdGVyRGVsZXRlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"ES5 Attributes - property ([[Writable]] is true, [[Enumerable]] is true, [[Configurable]] is false) is undeletable","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-335.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTMzNi5qcw0KICogQGRlc2NyaXB0aW9uIEVTNSBBdHRyaWJ1dGVzIC0gU3VjY2VzcyB0byB1cGRhdGUgW1tXcml0YWJsZV1dIGF0dHJpYnV0ZSBvZiBkYXRhIHByb3BlcnR5IChbW1dyaXRhYmxlXV0gaXMgdHJ1ZSwgW1tFbnVtZXJhYmxlXV0gaXMgdHJ1ZSwgW1tDb25maWd1cmFibGVdXSBpcyBmYWxzZSkgdG8gZGlmZmVyZW50IHZhbHVlDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgdmFsdWU6IDIwMTAsDQogICAgICAgICAgICB3cml0YWJsZTogdHJ1ZSwNCiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgIH0pOw0KICAgICAgICB2YXIgcHJvcGVydHlEZWZpbmVDb3JyZWN0ID0gb2JqLmhhc093blByb3BlcnR5KCJwcm9wIik7DQogICAgICAgIHZhciBkZXNjMSA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcCIpOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgd3JpdGFibGU6IGZhbHNlDQogICAgICAgIH0pOw0KICAgICAgICB2YXIgZGVzYzIgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3AiKTsNCg0KICAgICAgICByZXR1cm4gcHJvcGVydHlEZWZpbmVDb3JyZWN0ICYmIGRlc2MxLndyaXRhYmxlID09PSB0cnVlICYmIG9iai5wcm9wID09PSAyMDEwICYmIGRlc2MyLndyaXRhYmxlID09PSBmYWxzZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"ES5 Attributes - Success to update [[Writable]] attribute of data property ([[Writable]] is true, [[Enumerable]] is true, [[Configurable]] is false) to different value","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-336.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTMzNy5qcw0KICogQGRlc2NyaXB0aW9uIEVTNSBBdHRyaWJ1dGVzIC0gZmFpbCB0byB1cGRhdGUgW1tFbnVtZXJhYmxlXV0gYXR0cmlidXRlIG9mIGRhdGEgcHJvcGVydHkgKFtbV3JpdGFibGVdXSBpcyB0cnVlLCBbW0VudW1lcmFibGVdXSBpcyB0cnVlLCBbW0NvbmZpZ3VyYWJsZV1dIGlzIGZhbHNlKSB0byBkaWZmZXJlbnQgdmFsdWUNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICB2YWx1ZTogMjAxMCwNCiAgICAgICAgICAgIHdyaXRhYmxlOiB0cnVlLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIHByb3BlcnR5RGVmaW5lQ29ycmVjdCA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KICAgICAgICB2YXIgZGVzYzEgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3AiKTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICAgICAgZW51bWVyYWJsZTogZmFsc2UNCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICB2YXIgZGVzYzIgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3AiKTsNCiAgICAgICAgICAgIHJldHVybiBwcm9wZXJ0eURlZmluZUNvcnJlY3QgJiYgZGVzYzEuZW51bWVyYWJsZSA9PT0gdHJ1ZSAmJiBvYmoucHJvcCA9PT0gMjAxMCAmJiBkZXNjMi5lbnVtZXJhYmxlID09PSB0cnVlICYmIGUgaW5zdGFuY2VvZiBUeXBlRXJyb3I7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"ES5 Attributes - fail to update [[Enumerable]] attribute of data property ([[Writable]] is true, [[Enumerable]] is true, [[Configurable]] is false) to different value","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-337.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTMzOC5qcw0KICogQGRlc2NyaXB0aW9uIEVTNSBBdHRyaWJ1dGVzIC0gZmFpbCB0byB1cGRhdGUgW1tDb25maWd1cmFibGVdXSBhdHRyaWJ1dGUgb2YgZGF0YSBwcm9wZXJ0eSAoW1tXcml0YWJsZV1dIGlzIHRydWUsIFtbRW51bWVyYWJsZV1dIGlzIHRydWUsIFtbQ29uZmlndXJhYmxlXV0gaXMgZmFsc2UpIHRvIGRpZmZlcmVudCB2YWx1ZQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgIHZhbHVlOiAyMDEwLA0KICAgICAgICAgICAgd3JpdGFibGU6IHRydWUsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICB9KTsNCiAgICAgICAgdmFyIHByb3BlcnR5RGVmaW5lQ29ycmVjdCA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KICAgICAgICB2YXIgZGVzYzEgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3AiKTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgdmFyIGRlc2MyID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wIik7DQogICAgICAgICAgICByZXR1cm4gcHJvcGVydHlEZWZpbmVDb3JyZWN0ICYmIGRlc2MxLmNvbmZpZ3VyYWJsZSA9PT0gZmFsc2UgJiYgb2JqLnByb3AgPT09IDIwMTAgJiYgZGVzYzIuY29uZmlndXJhYmxlID09PSBmYWxzZSAmJiBlIGluc3RhbmNlb2YgVHlwZUVycm9yOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"ES5 Attributes - fail to update [[Configurable]] attribute of data property ([[Writable]] is true, [[Enumerable]] is true, [[Configurable]] is false) to different value","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-338.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTMzOS0xLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnR5IC0gVXBkYXRpbmcgaW5kZXhlZCBkYXRhIHByb3BlcnR5ICdQJyB3aXRoIGF0dHJpYnV0ZXMgW1tXcml0YWJsZV1dOiB0cnVlLCBbW0VudW1lcmFibGVdXTogdHJ1ZSwgW1tDb25maWd1cmFibGVdXTogZmFsc2UgdG8gYW4gYWNjZXNzb3IgcHJvcGVydHkgZG9lcyBub3Qgc3VjY2VlZCwgJ0EnIGlzIGFuIEFycmF5IG9iamVjdCAoOC4xMi45IC0gc3RlcCA5LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IFtdOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICIwIiwgew0KICAgICAgICAgICAgdmFsdWU6IDIwMTAsDQogICAgICAgICAgICB3cml0YWJsZTogdHJ1ZSwNCiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgIH0pOw0KICAgICAgICB2YXIgcHJvcGVydHlEZWZpbmVDb3JyZWN0ID0gb2JqLmhhc093blByb3BlcnR5KCIwIik7DQogICAgICAgIHZhciBkZXNjMSA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAiMCIpOw0KDQogICAgICAgIGZ1bmN0aW9uIGdldEZ1bmMoKSB7DQogICAgICAgICAgICByZXR1cm4gMjA7DQogICAgICAgIH0NCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICIwIiwgew0KICAgICAgICAgICAgICAgIGdldDogZ2V0RnVuYw0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHZhciBkZXNjMiA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAiMCIpOw0KICAgICAgICAgICAgcmV0dXJuIHByb3BlcnR5RGVmaW5lQ29ycmVjdCAmJiBkZXNjMS52YWx1ZSA9PT0gMjAxMCAmJiBvYmpbMF0gPT09IDIwMTAgJiYgdHlwZW9mIGRlc2MyLmdldCA9PT0gInVuZGVmaW5lZCIgJiYgZSBpbnN0YW5jZW9mIFR5cGVFcnJvcjsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - Updating indexed data property 'P' with attributes [[Writable]]: true, [[Enumerable]]: true, [[Configurable]]: false to an accessor property does not succeed, 'A' is an Array object (8.12.9 - step 9.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-339-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTMzOS0yLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnR5IC0gVXBkYXRpbmcgbmFtZWQgZGF0YSBwcm9wZXJ0eSAnUCcgd2l0aCBhdHRyaWJ1dGVzIFtbV3JpdGFibGVdXTogdHJ1ZSwgW1tFbnVtZXJhYmxlXV06IHRydWUsIFtbQ29uZmlndXJhYmxlXV06IGZhbHNlIHRvIGFuIGFjY2Vzc29yIHByb3BlcnR5IGRvZXMgbm90IHN1Y2NlZWQsICdPJyBpcyBhbiBBcmd1bWVudHMgb2JqZWN0ICg4LjEyLjkgLSBzdGVwIDkuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0gKGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgIHJldHVybiBhcmd1bWVudHM7DQogICAgICAgIH0oKSk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICB2YWx1ZTogMjAxMCwNCiAgICAgICAgICAgIHdyaXRhYmxlOiB0cnVlLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgfSk7DQogICAgICAgIHZhciBwcm9wZXJ0eURlZmluZUNvcnJlY3QgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCiAgICAgICAgdmFyIGRlc2MxID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wIik7DQoNCiAgICAgICAgZnVuY3Rpb24gZ2V0RnVuYygpIHsNCiAgICAgICAgICAgIHJldHVybiAyMDsNCiAgICAgICAgfQ0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICAgICAgZ2V0OiBnZXRGdW5jDQogICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgdmFyIGRlc2MyID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wIik7DQogICAgICAgICAgICByZXR1cm4gcHJvcGVydHlEZWZpbmVDb3JyZWN0ICYmIGRlc2MxLnZhbHVlID09PSAyMDEwICYmIG9iai5wcm9wID09PSAyMDEwICYmIHR5cGVvZiBkZXNjMi5nZXQgPT09ICJ1bmRlZmluZWQiICYmIGUgaW5zdGFuY2VvZiBUeXBlRXJyb3I7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - Updating named data property 'P' with attributes [[Writable]]: true, [[Enumerable]]: true, [[Configurable]]: false to an accessor property does not succeed, 'O' is an Arguments object (8.12.9 - step 9.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-339-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTMzOS0zLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnR5IC0gVXBkYXRpbmcgbmFtZWQgZGF0YSBwcm9wZXJ0eSAnUCcgd2l0aCBhdHRyaWJ1dGVzIFtbV3JpdGFibGVdXTogdHJ1ZSwgW1tFbnVtZXJhYmxlXV06IHRydWUsIFtbQ29uZmlndXJhYmxlXV06IGZhbHNlIHRvIGFuIGFjY2Vzc29yIHByb3BlcnR5IGRvZXMgbm90IHN1Y2NlZWQsICdBJyBpcyBhbiBBcnJheSBvYmplY3QgKDguMTIuOSAtIHN0ZXAgOS5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSBbXTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgIHZhbHVlOiAyMDEwLA0KICAgICAgICAgICAgd3JpdGFibGU6IHRydWUsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICB9KTsNCiAgICAgICAgdmFyIHByb3BlcnR5RGVmaW5lQ29ycmVjdCA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KICAgICAgICB2YXIgZGVzYzEgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3AiKTsNCg0KICAgICAgICBmdW5jdGlvbiBnZXRGdW5jKCkgew0KICAgICAgICAgICAgcmV0dXJuIDIwOw0KICAgICAgICB9DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgICAgICBnZXQ6IGdldEZ1bmMNCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICB2YXIgZGVzYzIgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3AiKTsNCiAgICAgICAgICAgIHJldHVybiBwcm9wZXJ0eURlZmluZUNvcnJlY3QgJiYgZGVzYzEudmFsdWUgPT09IDIwMTAgJiYgb2JqLnByb3AgPT09IDIwMTAgJiYNCiAgICAgICAgICAgICAgICB0eXBlb2YgZGVzYzIuZ2V0ID09PSAidW5kZWZpbmVkIiAmJiBlIGluc3RhbmNlb2YgVHlwZUVycm9yOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - Updating named data property 'P' with attributes [[Writable]]: true, [[Enumerable]]: true, [[Configurable]]: false to an accessor property does not succeed, 'A' is an Array object (8.12.9 - step 9.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-339-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTMzOS00LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnR5IC0gVXBkYXRpbmcgaW5kZXhlZCBkYXRhIHByb3BlcnR5ICdQJyB3aXRoIGF0dHJpYnV0ZXMgW1tXcml0YWJsZV1dOiB0cnVlLCBbW0VudW1lcmFibGVdXTogdHJ1ZSwgW1tDb25maWd1cmFibGVdXTogZmFsc2UgdG8gYW4gYWNjZXNzb3IgcHJvcGVydHkgZG9lcyBub3Qgc3VjY2VlZCwgJ08nIGlzIGFuIEFyZ3VtZW50cyBvYmplY3QgKDguMTIuOSAtIHN0ZXAgOS5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSAoZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgcmV0dXJuIGFyZ3VtZW50czsNCiAgICAgICAgfSgpKTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiMCIsIHsNCiAgICAgICAgICAgIHZhbHVlOiAyMDEwLA0KICAgICAgICAgICAgd3JpdGFibGU6IHRydWUsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICB9KTsNCiAgICAgICAgdmFyIHByb3BlcnR5RGVmaW5lQ29ycmVjdCA9IG9iai5oYXNPd25Qcm9wZXJ0eSgiMCIpOw0KICAgICAgICB2YXIgZGVzYzEgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgIjAiKTsNCg0KICAgICAgICBmdW5jdGlvbiBnZXRGdW5jKCkgew0KICAgICAgICAgICAgcmV0dXJuIDIwOw0KICAgICAgICB9DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiMCIsIHsNCiAgICAgICAgICAgICAgICBnZXQ6IGdldEZ1bmMNCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICB2YXIgZGVzYzIgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgIjAiKTsNCiAgICAgICAgICAgIHJldHVybiBwcm9wZXJ0eURlZmluZUNvcnJlY3QgJiYgZGVzYzEudmFsdWUgPT09IDIwMTAgJiYgb2JqWzBdID09PSAyMDEwICYmDQogICAgICAgICAgICAgICAgdHlwZW9mIGRlc2MyLmdldCA9PT0gInVuZGVmaW5lZCIgJiYgZSBpbnN0YW5jZW9mIFR5cGVFcnJvcjsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - Updating indexed data property 'P' with attributes [[Writable]]: true, [[Enumerable]]: true, [[Configurable]]: false to an accessor property does not succeed, 'O' is an Arguments object (8.12.9 - step 9.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-339-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTMzOS5qcw0KICogQGRlc2NyaXB0aW9uIEVTNSBBdHRyaWJ1dGVzIC0gZmFpbCB0byB1cGRhdGUgdGhlIGRhdGEgcHJvcGVydHkgKFtbV3JpdGFibGVdXSBpcyB0cnVlLCBbW0VudW1lcmFibGVdXSBpcyB0cnVlLCBbW0NvbmZpZ3VyYWJsZV1dIGlzIGZhbHNlKSB0byBhbiBhY2Nlc3NvciBwcm9wZXJ0eQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgIHZhbHVlOiAyMDEwLA0KICAgICAgICAgICAgd3JpdGFibGU6IHRydWUsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICB9KTsNCiAgICAgICAgdmFyIHByb3BlcnR5RGVmaW5lQ29ycmVjdCA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KICAgICAgICB2YXIgZGVzYzEgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3AiKTsNCg0KICAgICAgICBmdW5jdGlvbiBnZXRGdW5jKCkgew0KICAgICAgICAgICAgcmV0dXJuIDIwOw0KICAgICAgICB9DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgICAgICBnZXQ6IGdldEZ1bmMNCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICB2YXIgZGVzYzIgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3AiKTsNCiAgICAgICAgICAgIHJldHVybiBwcm9wZXJ0eURlZmluZUNvcnJlY3QgJiYgZGVzYzEudmFsdWUgPT09IDIwMTAgJiYgb2JqLnByb3AgPT09IDIwMTAgJiYgdHlwZW9mIGRlc2MyLmdldCA9PT0gInVuZGVmaW5lZCIgJiYgZSBpbnN0YW5jZW9mIFR5cGVFcnJvcjsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"ES5 Attributes - fail to update the data property ([[Writable]] is true, [[Enumerable]] is true, [[Configurable]] is false) to an accessor property","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-339.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTM0LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnR5IC0gJ08nIGlzIGFuIEFycmF5IG9iamVjdCB0aGF0IHVzZXMgT2JqZWN0J3MgW1tHZXRPd25Qcm9wZXJ0eV1dIG1ldGhvZCB0byBhY2Nlc3MgdGhlICduYW1lJyBwcm9wZXJ0eSAoOC4xMi45IHN0ZXAgMSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgYXJyT2JqID0gW107DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyck9iaiwgImZvbyIsIHsNCiAgICAgICAgICAgIHZhbHVlOiAxMiwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnJPYmosICJmb28iLCB7DQogICAgICAgICAgICAgICAgdmFsdWU6IDExLA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiBlIGluc3RhbmNlb2YgVHlwZUVycm9yICYmIGFyck9iai5mb28gPT09IDEyOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - 'O' is an Array object that uses Object's [[GetOwnProperty]] method to access the 'name' property (8.12.9 step 1)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-34.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTM0MC5qcw0KICogQGRlc2NyaXB0aW9uIEVTNSBBdHRyaWJ1dGVzIC0gcHJvcGVydHkgKFtbV3JpdGFibGVdXSBpcyB0cnVlLCBbW0VudW1lcmFibGVdXSBpcyBmYWxzZSwgW1tDb25maWd1cmFibGVdXSBpcyB0cnVlKSBpcyB3cml0YWJsZQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgIHZhbHVlOiAyMDEwLA0KICAgICAgICAgICAgd3JpdGFibGU6IHRydWUsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCiAgICAgICAgdmFyIHByb3BlcnR5RGVmaW5lQ29ycmVjdCA9IChvYmoucHJvcCA9PT0gMjAxMCk7DQogICAgICAgIG9iai5wcm9wID0gMTAwMTsNCg0KICAgICAgICByZXR1cm4gcHJvcGVydHlEZWZpbmVDb3JyZWN0ICYmIG9iai5wcm9wID09PSAxMDAxOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"ES5 Attributes - property ([[Writable]] is true, [[Enumerable]] is false, [[Configurable]] is true) is writable","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-340.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTM0MS5qcw0KICogQGRlc2NyaXB0aW9uIEVTNSBBdHRyaWJ1dGVzIC0gcHJvcGVydHkgKFtbV3JpdGFibGVdXSBpcyB0cnVlLCBbW0VudW1lcmFibGVdXSBpcyBmYWxzZSwgW1tDb25maWd1cmFibGVdXSBpcyB0cnVlKSBpcyBub24tZW51bWVyYWJsZQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgIHZhbHVlOiAyMDEwLA0KICAgICAgICAgICAgd3JpdGFibGU6IHRydWUsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCiAgICAgICAgdmFyIHByb3BlcnR5RGVmaW5lQ29ycmVjdCA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KICAgICAgICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcCIpOw0KICAgICAgICBmb3IgKHZhciBwIGluIG9iaikgew0KICAgICAgICAgICAgaWYgKHAgPT09ICJwcm9wIikgew0KICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KICAgICAgICByZXR1cm4gcHJvcGVydHlEZWZpbmVDb3JyZWN0ICYmIGRlc2MuZW51bWVyYWJsZSA9PT0gZmFsc2U7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"ES5 Attributes - property ([[Writable]] is true, [[Enumerable]] is false, [[Configurable]] is true) is non-enumerable","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-341.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTM0Mi5qcw0KICogQGRlc2NyaXB0aW9uIEVTNSBBdHRyaWJ1dGVzIC0gcHJvcGVydHkgKFtbV3JpdGFibGVdXSBpcyB0cnVlLCBbW0VudW1lcmFibGVdXSBpcyBmYWxzZSwgW1tDb25maWd1cmFibGVdXSBpcyB0cnVlKSBpcyBkZWxldGFibGUNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICB2YWx1ZTogMjAxMCwNCiAgICAgICAgICAgIHdyaXRhYmxlOiB0cnVlLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogZmFsc2UsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQogICAgICAgIHZhciBiZWZvcmVEZWxldGUgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCiAgICAgICAgZGVsZXRlIG9iai5wcm9wOw0KICAgICAgICB2YXIgYWZ0ZXJEZWxldGUgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCiAgICAgICAgcmV0dXJuIGJlZm9yZURlbGV0ZSAmJiAhYWZ0ZXJEZWxldGU7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"ES5 Attributes - property ([[Writable]] is true, [[Enumerable]] is false, [[Configurable]] is true) is deletable","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-342.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTM0My5qcw0KICogQGRlc2NyaXB0aW9uIEVTNSBBdHRyaWJ1dGVzIC0gc3VjY2VzcyB0byB1cGRhdGUgW1tXcml0YWJsZV1dIGF0dHJpYnV0ZSBvZiBkYXRhIHByb3BlcnR5IChbW1dyaXRhYmxlXV0gaXMgdHJ1ZSwgW1tFbnVtZXJhYmxlXV0gaXMgZmFsc2UsIFtbQ29uZmlndXJhYmxlXV0gaXMgdHJ1ZSkgdG8gZGlmZmVyZW50IHZhbHVlDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgdmFsdWU6IDIwMTAsDQogICAgICAgICAgICB3cml0YWJsZTogdHJ1ZSwNCiAgICAgICAgICAgIGVudW1lcmFibGU6IGZhbHNlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KICAgICAgICB2YXIgcHJvcGVydHlEZWZpbmVDb3JyZWN0ID0gb2JqLmhhc093blByb3BlcnR5KCJwcm9wIik7DQogICAgICAgIHZhciBkZXNjMSA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcCIpOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgd3JpdGFibGU6IGZhbHNlDQogICAgICAgIH0pOw0KICAgICAgICB2YXIgZGVzYzIgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3AiKTsNCg0KICAgICAgICByZXR1cm4gcHJvcGVydHlEZWZpbmVDb3JyZWN0ICYmIGRlc2MxLndyaXRhYmxlID09PSB0cnVlICYmIG9iai5wcm9wID09PSAyMDEwICYmIGRlc2MyLndyaXRhYmxlID09PSBmYWxzZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"ES5 Attributes - success to update [[Writable]] attribute of data property ([[Writable]] is true, [[Enumerable]] is false, [[Configurable]] is true) to different value","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-343.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTM0NC5qcw0KICogQGRlc2NyaXB0aW9uIEVTNSBBdHRyaWJ1dGVzIC0gc3VjY2VzcyB0byB1cGRhdGUgW1tFbnVtZXJhYmxlXV0gYXR0cmlidXRlIG9mIGRhdGEgcHJvcGVydHkgKFtbV3JpdGFibGVdXSBpcyB0cnVlLCBbW0VudW1lcmFibGVdXSBpcyBmYWxzZSwgW1tDb25maWd1cmFibGVdXSBpcyB0cnVlKSB0byBkaWZmZXJlbnQgdmFsdWUNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICB2YWx1ZTogMjAxMCwNCiAgICAgICAgICAgIHdyaXRhYmxlOiB0cnVlLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogZmFsc2UsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQogICAgICAgIHZhciBwcm9wZXJ0eURlZmluZUNvcnJlY3QgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCiAgICAgICAgdmFyIGRlc2MxID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wIik7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KICAgICAgICB2YXIgZGVzYzIgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3AiKTsNCg0KICAgICAgICByZXR1cm4gcHJvcGVydHlEZWZpbmVDb3JyZWN0ICYmIGRlc2MxLmVudW1lcmFibGUgPT09IGZhbHNlICYmIG9iai5wcm9wID09PSAyMDEwICYmIGRlc2MyLmVudW1lcmFibGUgPT09IHRydWU7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"ES5 Attributes - success to update [[Enumerable]] attribute of data property ([[Writable]] is true, [[Enumerable]] is false, [[Configurable]] is true) to different value","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-344.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTM0NS5qcw0KICogQGRlc2NyaXB0aW9uIEVTNSBBdHRyaWJ1dGVzIC0gc3VjY2VzcyB0byB1cGRhdGUgW1tDb25maWd1cmFibGVdXSBhdHRyaWJ1dGUgb2YgZGF0YSBwcm9wZXJ0eSAoW1tXcml0YWJsZV1dIGlzIHRydWUsIFtbRW51bWVyYWJsZV1dIGlzIGZhbHNlLCBbW0NvbmZpZ3VyYWJsZV1dIGlzIHRydWUpIHRvIGRpZmZlcmVudCB2YWx1ZQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgIHZhbHVlOiAyMDEwLA0KICAgICAgICAgICAgd3JpdGFibGU6IHRydWUsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCiAgICAgICAgdmFyIHByb3BlcnR5RGVmaW5lQ29ycmVjdCA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KICAgICAgICB2YXIgZGVzYzEgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3AiKTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgfSk7DQogICAgICAgIHZhciBkZXNjMiA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcCIpOw0KDQogICAgICAgIHJldHVybiBwcm9wZXJ0eURlZmluZUNvcnJlY3QgJiYgZGVzYzEuY29uZmlndXJhYmxlID09PSB0cnVlICYmIG9iai5wcm9wID09PSAyMDEwICYmIGRlc2MyLmNvbmZpZ3VyYWJsZSA9PT0gZmFsc2U7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"ES5 Attributes - success to update [[Configurable]] attribute of data property ([[Writable]] is true, [[Enumerable]] is false, [[Configurable]] is true) to different value","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-345.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTM0Ni5qcw0KICogQGRlc2NyaXB0aW9uIEVTNSBBdHRyaWJ1dGVzIC0gc3VjY2VzcyB0byB1cGRhdGUgdGhlIGRhdGEgcHJvcGVydHkgKFtbV3JpdGFibGVdXSBpcyB0cnVlLCBbW0VudW1lcmFibGVdXSBpcyBmYWxzZSwgW1tDb25maWd1cmFibGVdXSBpcyB0cnVlKSB0byBhbiBhY2Nlc3NvciBwcm9wZXJ0eQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgIHZhbHVlOiAyMDEwLA0KICAgICAgICAgICAgd3JpdGFibGU6IHRydWUsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCiAgICAgICAgdmFyIGRlc2MxID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wIik7DQoNCiAgICAgICAgZnVuY3Rpb24gZ2V0RnVuYygpIHsNCiAgICAgICAgICAgIHJldHVybiAyMDsNCiAgICAgICAgfQ0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgIGdldDogZ2V0RnVuYw0KICAgICAgICB9KTsNCiAgICAgICAgdmFyIGRlc2MyID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wIik7DQoNCiAgICAgICAgcmV0dXJuIGRlc2MxLmhhc093blByb3BlcnR5KCJ2YWx1ZSIpICYmIGRlc2MyLmhhc093blByb3BlcnR5KCJnZXQiKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"ES5 Attributes - success to update the data property ([[Writable]] is true, [[Enumerable]] is false, [[Configurable]] is true) to an accessor property","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-346.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTM0Ny5qcw0KICogQGRlc2NyaXB0aW9uIEVTNSBBdHRyaWJ1dGVzIC0gcHJvcGVydHkgKFtbV3JpdGFibGVdXSBpcyB0cnVlLCBbW0VudW1lcmFibGVdXSBpcyBmYWxzZSwgW1tDb25maWd1cmFibGVdXSBpcyBmYWxzZSkgaXMgd3JpdGFibGUNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICB2YWx1ZTogMjAxMCwNCiAgICAgICAgICAgIHdyaXRhYmxlOiB0cnVlLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogZmFsc2UsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgIH0pOw0KICAgICAgICB2YXIgcHJvcGVydHlEZWZpbmVDb3JyZWN0ID0gKG9iai5wcm9wID09PSAyMDEwKTsNCiAgICAgICAgb2JqLnByb3AgPSAxMDAxOw0KDQogICAgICAgIHJldHVybiBwcm9wZXJ0eURlZmluZUNvcnJlY3QgJiYgb2JqLnByb3AgPT09IDEwMDE7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"ES5 Attributes - property ([[Writable]] is true, [[Enumerable]] is false, [[Configurable]] is false) is writable","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-347.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTM0OC5qcw0KICogQGRlc2NyaXB0aW9uIEVTNSBBdHRyaWJ1dGVzIC0gcHJvcGVydHkgKFtbV3JpdGFibGVdXSBpcyB0cnVlLCBbW0VudW1lcmFibGVdXSBpcyBmYWxzZSwgW1tDb25maWd1cmFibGVdXSBpcyBmYWxzZSkgaXMgbm9uLWVudW1lcmFibGUNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICB2YWx1ZTogMjAxMCwNCiAgICAgICAgICAgIHdyaXRhYmxlOiB0cnVlLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogZmFsc2UsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgIH0pOw0KICAgICAgICB2YXIgcHJvcGVydHlEZWZpbmVDb3JyZWN0ID0gb2JqLmhhc093blByb3BlcnR5KCJwcm9wIik7DQogICAgICAgIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wIik7DQogICAgICAgIGZvciAodmFyIHAgaW4gb2JqKSB7DQogICAgICAgICAgICBpZiAocCA9PT0gInByb3AiKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQogICAgICAgIHJldHVybiBwcm9wZXJ0eURlZmluZUNvcnJlY3QgJiYgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"ES5 Attributes - property ([[Writable]] is true, [[Enumerable]] is false, [[Configurable]] is false) is non-enumerable","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-348.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTM0OS5qcw0KICogQGRlc2NyaXB0aW9uIEVTNSBBdHRyaWJ1dGVzIC0gcHJvcGVydHkgKFtbV3JpdGFibGVdXSBpcyB0cnVlLCBbW0VudW1lcmFibGVdXSBpcyBmYWxzZSwgW1tDb25maWd1cmFibGVdXSBpcyBmYWxzZSkgaXMgdW5kZWxldGFibGUNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICB2YWx1ZTogMjAxMCwNCiAgICAgICAgICAgIHdyaXRhYmxlOiB0cnVlLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogZmFsc2UsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgIH0pOw0KICAgICAgICB2YXIgYmVmb3JlRGVsZXRlID0gb2JqLmhhc093blByb3BlcnR5KCJwcm9wIik7DQogICAgICAgIGRlbGV0ZSBvYmoucHJvcDsNCiAgICAgICAgdmFyIGFmdGVyRGVsZXRlID0gb2JqLmhhc093blByb3BlcnR5KCJwcm9wIik7DQogICAgICAgIHJldHVybiBiZWZvcmVEZWxldGUgJiYgb2JqLnByb3AgPT09IDIwMTAgJiYgYWZ0ZXJEZWxldGU7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"ES5 Attributes - property ([[Writable]] is true, [[Enumerable]] is false, [[Configurable]] is false) is undeletable","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-349.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTM1LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnR5IC0gJ08nIGlzIGEgU3RyaW5nIG9iamVjdCB3aGljaCBpbXBsZW1lbnRzIGl0cyBvd24gW1tHZXRPd25Qcm9wZXJ0eV1dIG1ldGhvZCB0byBhY2Nlc3MgdGhlICduYW1lJyBwcm9wZXJ0eSAoOC4xMi45IHN0ZXAgMSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgc3RyID0gbmV3IFN0cmluZygiYWJjIik7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHN0ciwgImZvbyIsIHsNCiAgICAgICAgICAgIHZhbHVlOiAxMiwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShzdHIsICJmb28iLCB7DQogICAgICAgICAgICAgICAgdmFsdWU6IDExLA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiBlIGluc3RhbmNlb2YgVHlwZUVycm9yICYmIHN0ci5mb28gPT09IDEyOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - 'O' is a String object which implements its own [[GetOwnProperty]] method to access the 'name' property (8.12.9 step 1)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-35.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTM1MC5qcw0KICogQGRlc2NyaXB0aW9uIEVTNSBBdHRyaWJ1dGVzIC0gZmFpbCB0byB1cGRhdGUgW1tXcml0YWJsZV1dIGF0dHJpYnV0ZSBvZiBkYXRhIHByb3BlcnR5IChbW1dyaXRhYmxlXV0gaXMgdHJ1ZSwgW1tFbnVtZXJhYmxlXV0gaXMgZmFsc2UsIFtbQ29uZmlndXJhYmxlXV0gaXMgZmFsc2UpIHRvIGRpZmZlcmVudCB2YWx1ZQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgIHZhbHVlOiAyMDEwLA0KICAgICAgICAgICAgd3JpdGFibGU6IHRydWUsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgfSk7DQogICAgICAgIHZhciBwcm9wZXJ0eURlZmluZUNvcnJlY3QgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCiAgICAgICAgdmFyIGRlc2MxID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wIik7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICB3cml0YWJsZTogZmFsc2UNCiAgICAgICAgfSk7DQogICAgICAgIHZhciBkZXNjMiA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcCIpOw0KDQogICAgICAgIHJldHVybiBwcm9wZXJ0eURlZmluZUNvcnJlY3QgJiYgZGVzYzEud3JpdGFibGUgPT09IHRydWUgJiYgb2JqLnByb3AgPT09IDIwMTAgJiYgZGVzYzIud3JpdGFibGUgPT09IGZhbHNlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"ES5 Attributes - fail to update [[Writable]] attribute of data property ([[Writable]] is true, [[Enumerable]] is false, [[Configurable]] is false) to different value","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-350.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTM1MS5qcw0KICogQGRlc2NyaXB0aW9uIEVTNSBBdHRyaWJ1dGVzIC0gZmFpbCB0byB1cGRhdGUgW1tFbnVtZXJhYmxlXV0gYXR0cmlidXRlIG9mIGRhdGEgcHJvcGVydHkgKFtbV3JpdGFibGVdXSBpcyB0cnVlLCBbW0VudW1lcmFibGVdXSBpcyBmYWxzZSwgW1tDb25maWd1cmFibGVdXSBpcyBmYWxzZSkgdG8gZGlmZmVyZW50IHZhbHVlDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgdmFsdWU6IDIwMTAsDQogICAgICAgICAgICB3cml0YWJsZTogdHJ1ZSwNCiAgICAgICAgICAgIGVudW1lcmFibGU6IGZhbHNlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgcHJvcGVydHlEZWZpbmVDb3JyZWN0ID0gb2JqLmhhc093blByb3BlcnR5KCJwcm9wIik7DQogICAgICAgIHZhciBkZXNjMSA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcCIpOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlDQogICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgdmFyIGRlc2MyID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wIik7DQogICAgICAgICAgICByZXR1cm4gcHJvcGVydHlEZWZpbmVDb3JyZWN0ICYmIGRlc2MxLmVudW1lcmFibGUgPT09IGZhbHNlICYmIG9iai5wcm9wID09PSAyMDEwICYmIGRlc2MyLmVudW1lcmFibGUgPT09IGZhbHNlICYmIGUgaW5zdGFuY2VvZiBUeXBlRXJyb3I7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"ES5 Attributes - fail to update [[Enumerable]] attribute of data property ([[Writable]] is true, [[Enumerable]] is false, [[Configurable]] is false) to different value","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-351.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTM1Mi5qcw0KICogQGRlc2NyaXB0aW9uIEVTNSBBdHRyaWJ1dGVzIC0gZmFpbCB0byB1cGRhdGUgW1tDb25maWd1cmFibGVdXSBhdHRyaWJ1dGUgb2YgZGF0YSBwcm9wZXJ0eSAoW1tXcml0YWJsZV1dIGlzIHRydWUsIFtbRW51bWVyYWJsZV1dIGlzIGZhbHNlLCBbW0NvbmZpZ3VyYWJsZV1dIGlzIGZhbHNlKSB0byBkaWZmZXJlbnQgdmFsdWUNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICB2YWx1ZTogMjAxMCwNCiAgICAgICAgICAgIHdyaXRhYmxlOiB0cnVlLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogZmFsc2UsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBwcm9wZXJ0eURlZmluZUNvcnJlY3QgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCiAgICAgICAgdmFyIGRlc2MxID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wIik7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHZhciBkZXNjMiA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcCIpOw0KICAgICAgICAgICAgcmV0dXJuIHByb3BlcnR5RGVmaW5lQ29ycmVjdCAmJiBkZXNjMS5jb25maWd1cmFibGUgPT09IGZhbHNlICYmIG9iai5wcm9wID09PSAyMDEwICYmIGRlc2MyLmNvbmZpZ3VyYWJsZSA9PT0gZmFsc2UgJiYgZSBpbnN0YW5jZW9mIFR5cGVFcnJvcjsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"ES5 Attributes - fail to update [[Configurable]] attribute of data property ([[Writable]] is true, [[Enumerable]] is false, [[Configurable]] is false) to different value","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-352.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTM1My5qcw0KICogQGRlc2NyaXB0aW9uIEVTNSBBdHRyaWJ1dGVzIC0gZmFpbCB0byB1cGRhdGUgdGhlIGRhdGEgcHJvcGVydHkgKFtbV3JpdGFibGVdXSBpcyB0cnVlLCBbW0VudW1lcmFibGVdXSBpcyBmYWxzZSwgW1tDb25maWd1cmFibGVdXSBpcyBmYWxzZSkgdG8gYW4gYWNjZXNzb3IgcHJvcGVydHkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICB2YWx1ZTogMjAxMCwNCiAgICAgICAgICAgIHdyaXRhYmxlOiB0cnVlLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogZmFsc2UsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgIH0pOw0KICAgICAgICB2YXIgcHJvcGVydHlEZWZpbmVDb3JyZWN0ID0gb2JqLmhhc093blByb3BlcnR5KCJwcm9wIik7DQogICAgICAgIHZhciBkZXNjMSA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcCIpOw0KDQogICAgICAgIGZ1bmN0aW9uIGdldEZ1bmMoKSB7DQogICAgICAgICAgICByZXR1cm4gMjA7DQogICAgICAgIH0NCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgICAgIGdldDogZ2V0RnVuYw0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHZhciBkZXNjMiA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcCIpOw0KICAgICAgICAgICAgcmV0dXJuIHByb3BlcnR5RGVmaW5lQ29ycmVjdCAmJiBkZXNjMS52YWx1ZSA9PT0gMjAxMCAmJiBvYmoucHJvcCA9PT0gMjAxMCAmJiB0eXBlb2YgZGVzYzIuZ2V0ID09PSAidW5kZWZpbmVkIiAmJiBlIGluc3RhbmNlb2YgVHlwZUVycm9yOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"ES5 Attributes - fail to update the data property ([[Writable]] is true, [[Enumerable]] is false, [[Configurable]] is false) to an accessor property","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-353.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTM1NC0xLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnR5IHdpbGwgdXBkYXRlIFtbVmFsdWVdXSBhdHRyaWJ1dGUgb2YgbmFtZWQgcHJvcGVydHkgJ1AnIHN1Y2Nlc3NmdWxseSB3aGVuIFtbQ29uZmlndXJhYmxlXV0gYXR0cmlidXRlIGlzIHRydWUgYW5kIFtbV3JpdGFibGVdXSBhdHRyaWJ1dGUgaXMgZmFsc2UsICdPJyBpcyBhbiBPYmplY3Qgb2JqZWN0ICg4LjEyLjkgc3RlcCAtIE5vdGUpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3BlcnR5Iiwgew0KICAgICAgICAgICAgdmFsdWU6IDEwMDEsDQogICAgICAgICAgICB3cml0YWJsZTogZmFsc2UsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3BlcnR5Iiwgew0KICAgICAgICAgICAgdmFsdWU6IDEwMDINCiAgICAgICAgfSk7DQoNCiAgICAgICAgcmV0dXJuIGRhdGFQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KG9iaiwgInByb3BlcnR5IiwgMTAwMiwgZmFsc2UsIGZhbHNlLCB0cnVlKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty will update [[Value]] attribute of named property 'P' successfully when [[Configurable]] attribute is true and [[Writable]] attribute is false, 'O' is an Object object (8.12.9 step - Note)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-354-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTM1NC0xMC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSB3aWxsIHVwZGF0ZSBbW1ZhbHVlXV0gYXR0cmlidXRlIG9mIGluZGV4ZWQgcHJvcGVydHkgJ1AnIHN1Y2Nlc3NmdWxseSB3aGVuIFtbQ29uZmlndXJhYmxlXV0gYXR0cmlidXRlIGlzIHRydWUgYW5kIFtbV3JpdGFibGVdXSBhdHRyaWJ1dGUgaXMgZmFsc2UsICdPJyBpcyBhbiBPYmplY3Qgb2JqZWN0ICg4LjEyLjkgc3RlcCAtIE5vdGUpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgIjAiLCB7DQogICAgICAgICAgICB2YWx1ZTogMTAwMSwNCiAgICAgICAgICAgIHdyaXRhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiMCIsIHsNCiAgICAgICAgICAgIHZhbHVlOiAxMDAyDQogICAgICAgIH0pOw0KDQogICAgICAgIHJldHVybiBkYXRhUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChvYmosICIwIiwgMTAwMiwgZmFsc2UsIGZhbHNlLCB0cnVlKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty will update [[Value]] attribute of indexed property 'P' successfully when [[Configurable]] attribute is true and [[Writable]] attribute is false, 'O' is an Object object (8.12.9 step - Note)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-354-10.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTM1NC0xMS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSB3aWxsIHVwZGF0ZSBbW1ZhbHVlXV0gYXR0cmlidXRlIG9mIG5hbWVkIHByb3BlcnR5ICdQJyBzdWNjZXNzZnVsbHkgd2hlbiBbW0NvbmZpZ3VyYWJsZV1dIGF0dHJpYnV0ZSBpcyB0cnVlIGFuZCBbW1dyaXRhYmxlXV0gYXR0cmlidXRlIGlzIGZhbHNlLCAnQScgaXMgYW4gQXJyYXkgb2JqZWN0ICg4LjEyLjkgc3RlcCAtIE5vdGUpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0gW107DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICB2YWx1ZTogMTAwMSwNCiAgICAgICAgICAgIHdyaXRhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgIHZhbHVlOiAxMDAyDQogICAgICAgIH0pOw0KDQogICAgICAgIHJldHVybiBkYXRhUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChvYmosICJwcm9wIiwgMTAwMiwgZmFsc2UsIGZhbHNlLCB0cnVlKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty will update [[Value]] attribute of named property 'P' successfully when [[Configurable]] attribute is true and [[Writable]] attribute is false, 'A' is an Array object (8.12.9 step - Note)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-354-11.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTM1NC0xMi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSB3aWxsIHVwZGF0ZSBbW1ZhbHVlXV0gYXR0cmlidXRlIG9mIGluZGV4ZWQgcHJvcGVydHkgc3VjY2Vzc2Z1bGx5IHdoZW4gW1tDb25maWd1cmFibGVdXSBhdHRyaWJ1dGUgaXMgdHJ1ZSBhbmQgW1tXcml0YWJsZV1dIGF0dHJpYnV0ZSBpcyBmYWxzZSwgJ08nIGlzIGFuIEFyZ3VtZW50cyBvYmplY3QgKDguMTIuOSAtIHN0ZXAgTm90ZSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSAoZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgcmV0dXJuIGFyZ3VtZW50czsNCiAgICAgICAgfSgpKTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiMCIsIHsNCiAgICAgICAgICAgIHZhbHVlOiAxMDAxLA0KICAgICAgICAgICAgd3JpdGFibGU6IGZhbHNlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICIwIiwgew0KICAgICAgICAgICAgdmFsdWU6IDEwMDINCiAgICAgICAgfSk7DQoNCiAgICAgICAgcmV0dXJuIGRhdGFQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KG9iaiwgIjAiLCAxMDAyLCBmYWxzZSwgZmFsc2UsIHRydWUpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty will update [[Value]] attribute of indexed property successfully when [[Configurable]] attribute is true and [[Writable]] attribute is false, 'O' is an Arguments object (8.12.9 - step Note)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-354-12.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTM1NC0xMy5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSB3aWxsIHVwZGF0ZSBbW1ZhbHVlXV0gYXR0cmlidXRlIG9mIGluZGV4ZWQgcHJvcGVydHkgc3VjY2Vzc2Z1bGx5IHdoZW4gW1tDb25maWd1cmFibGVdXSBhdHRyaWJ1dGUgaXMgdHJ1ZSBhbmQgW1tXcml0YWJsZV1dIGF0dHJpYnV0ZSBpcyBmYWxzZSwgJ08nIGlzIHRoZSBnbG9iYWwgb2JqZWN0ICg4LjEyLjkgLSBzdGVwIE5vdGUpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0gZm5HbG9iYWxPYmplY3QoKTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgIjAiLCB7DQogICAgICAgICAgICAgICAgdmFsdWU6IDEwMDEsDQogICAgICAgICAgICAgICAgd3JpdGFibGU6IGZhbHNlLA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICIwIiwgew0KICAgICAgICAgICAgICAgIHZhbHVlOiAxMDAyDQogICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgcmV0dXJuIGRhdGFQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KG9iaiwgIjAiLCAxMDAyLCBmYWxzZSwgZmFsc2UsIHRydWUpOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIG9ialswXTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty will update [[Value]] attribute of indexed property successfully when [[Configurable]] attribute is true and [[Writable]] attribute is false, 'O' is the global object (8.12.9 - step Note)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-354-13.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTM1NC0xNS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAtIE5hbWVkIHByb3BlcnR5ICdQJyB3aXRoIGF0dHJpYnV0ZXMgW1tXcml0YWJsZV1dOiBmYWxzZSwgW1tFbnVtZXJhYmxlXV06IHRydWUsIFtbQ29uZmlndXJhYmxlXV06IHRydWUgaXMgbm9uLXdyaXRhYmxlIHVzaW5nIHNpbXBsZSBhc3NpZ25tZW50LCAnQScgaXMgYW4gQXJyYXkgb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IFtdOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgdmFsdWU6IDIwMTAsDQogICAgICAgICAgICB3cml0YWJsZTogZmFsc2UsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KICAgICAgICB2YXIgdmVyaWZ5VmFsdWUgPSAob2JqLnByb3AgPT09IDIwMTApOw0KICAgICAgICBvYmoucHJvcCA9IDEwMDE7DQoNCiAgICAgICAgcmV0dXJuIHZlcmlmeVZhbHVlICYmIG9iai5wcm9wID09PSAyMDEwOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - Named property 'P' with attributes [[Writable]]: false, [[Enumerable]]: true, [[Configurable]]: true is non-writable using simple assignment, 'A' is an Array object","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-354-15.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTM1NC0xNi5qcw0KICogQGRlc2NyaXB0aW9uIEVTNSBBdHRyaWJ1dGVzIC0gcHJvcGVydHkgJ1AnIGlzIGFuIGluZGV4ZWQgZGF0YSBwcm9wZXJ0eSB3aXRoIGF0dHJpYnV0ZXMgW1tXcml0YWJsZV1dOiBmYWxzZSwgW1tFbnVtZXJhYmxlXV06IHRydWUsIFtbQ29uZmlndXJhYmxlXV0gOiB0cnVlKSBpcyBub24td3JpdGFibGUgdXNpbmcgc2ltcGxlIGFzc2lnbm1lbnQsICdPJyBpcyBhbiBBcmd1bWVudHMgb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IChmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICByZXR1cm4gYXJndW1lbnRzOw0KICAgICAgICB9KCkpOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICIwIiwgew0KICAgICAgICAgICAgdmFsdWU6IDIwMTAsDQogICAgICAgICAgICB3cml0YWJsZTogZmFsc2UsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KICAgICAgICB2YXIgdmFsdWVWZXJpZnkgPSAob2JqWzBdID09PSAyMDEwKTsNCiAgICAgICAgb2JqWzBdID0gMTAwMTsNCg0KICAgICAgICByZXR1cm4gdmFsdWVWZXJpZnkgJiYgb2JqWzBdID09PSAyMDEwOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"ES5 Attributes - property 'P' is an indexed data property with attributes [[Writable]]: false, [[Enumerable]]: true, [[Configurable]] : true) is non-writable using simple assignment, 'O' is an Arguments object","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-354-16.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTM1NC0yLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnR5IHdpbGwgdXBkYXRlIFtbVmFsdWVdXSBhdHRyaWJ1dGUgb2YgaW5kZXhlZCBwcm9wZXJ0eSAnUCcgc3VjY2Vzc2Z1bGx5IHdoZW4gW1tDb25maWd1cmFibGVdXSBhdHRyaWJ1dGUgaXMgdHJ1ZSBhbmQgW1tXcml0YWJsZV1dIGF0dHJpYnV0ZSBpcyBmYWxzZSwgJ0EnIGlzIGFuIEFycmF5IG9iamVjdCAoOC4xMi45IHN0ZXAgLSBOb3RlKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IFtdOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICIwIiwgew0KICAgICAgICAgICAgdmFsdWU6IDEwMDEsDQogICAgICAgICAgICB3cml0YWJsZTogZmFsc2UsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgIjAiLCB7DQogICAgICAgICAgICB2YWx1ZTogMTAwMg0KICAgICAgICB9KTsNCg0KICAgICAgICByZXR1cm4gZGF0YVByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3Qob2JqLCAiMCIsIDEwMDIsIGZhbHNlLCBmYWxzZSwgdHJ1ZSk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty will update [[Value]] attribute of indexed property 'P' successfully when [[Configurable]] attribute is true and [[Writable]] attribute is false, 'A' is an Array object (8.12.9 step - Note)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-354-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTM1NC0zLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnR5IHdpbGwgdXBkYXRlIFtbVmFsdWVdXSBhdHRyaWJ1dGUgc3VjY2Vzc2Z1bGx5IHdoZW4gW1tDb25maWd1cmFibGVdXSBhdHRyaWJ1dGUgaXMgdHJ1ZSBhbmQgW1tXcml0YWJsZV1dIGF0dHJpYnV0ZSBpcyBmYWxzZSwgJ08nIGlzIGFuIEFyZ3VtZW50cyBvYmplY3QgKDguMTIuOSAtIHN0ZXAgTm90ZSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSAoZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgcmV0dXJuIGFyZ3VtZW50czsNCiAgICAgICAgfSgpKTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcGVydHkiLCB7DQogICAgICAgICAgICB2YWx1ZTogMTAwMSwNCiAgICAgICAgICAgIHdyaXRhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcGVydHkiLCB7DQogICAgICAgICAgICB2YWx1ZTogMTAwMg0KICAgICAgICB9KTsNCg0KICAgICAgICByZXR1cm4gZGF0YVByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3Qob2JqLCAicHJvcGVydHkiLCAxMDAyLCBmYWxzZSwgZmFsc2UsIHRydWUpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty will update [[Value]] attribute successfully when [[Configurable]] attribute is true and [[Writable]] attribute is false, 'O' is an Arguments object (8.12.9 - step Note)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-354-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTM1NC00LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnR5IHdpbGwgdXBkYXRlIFtbVmFsdWVdXSBhdHRyaWJ1dGUgc3VjY2Vzc2Z1bGx5IHdoZW4gW1tDb25maWd1cmFibGVdXSBhdHRyaWJ1dGUgaXMgdHJ1ZSBhbmQgW1tXcml0YWJsZV1dIGF0dHJpYnV0ZSBpcyBmYWxzZSwgJ08nIGlzIHRoZSBnbG9iYWwgb2JqZWN0ICg4LjEyLjkgLSBzdGVwIE5vdGUpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0gZm5HbG9iYWxPYmplY3QoKTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3BlcnR5Iiwgew0KICAgICAgICAgICAgICAgIHZhbHVlOiAxMDAxLA0KICAgICAgICAgICAgICAgIHdyaXRhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcGVydHkiLCB7DQogICAgICAgICAgICAgICAgdmFsdWU6IDEwMDINCiAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICByZXR1cm4gZGF0YVByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3Qob2JqLCAicHJvcGVydHkiLCAxMDAyLCBmYWxzZSwgZmFsc2UsIHRydWUpOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIG9iai5wcm9wZXJ0eTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty will update [[Value]] attribute successfully when [[Configurable]] attribute is true and [[Writable]] attribute is false, 'O' is the global object (8.12.9 - step Note)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-354-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTM1NC02LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnR5IC0gSW5kZXhlZCBwcm9wZXJ0eSAnUCcgd2l0aCBhdHRyaWJ1dGVzIFtbV3JpdGFibGVdXTogZmFsc2UsIFtbRW51bWVyYWJsZV1dOiB0cnVlLCBbW0NvbmZpZ3VyYWJsZV1dOiB0cnVlIGlzIG5vbi13cml0YWJsZSB1c2luZyBzaW1wbGUgYXNzaWdubWVudCwgJ0EnIGlzIGFuIEFycmF5IG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSBbXTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiMCIsIHsNCiAgICAgICAgICAgIHZhbHVlOiAyMDEwLA0KICAgICAgICAgICAgd3JpdGFibGU6IGZhbHNlLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCiAgICAgICAgdmFyIHZlcmlmeVZhbHVlID0gKG9ialswXSA9PT0gMjAxMCk7DQogICAgICAgIG9ialswXSA9IDEwMDE7DQoNCiAgICAgICAgcmV0dXJuIHZlcmlmeVZhbHVlICYmIG9ialswXSA9PT0gMjAxMDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - Indexed property 'P' with attributes [[Writable]]: false, [[Enumerable]]: true, [[Configurable]]: true is non-writable using simple assignment, 'A' is an Array object","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-354-6.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTM1NC03LmpzDQogKiBAZGVzY3JpcHRpb24gRVM1IEF0dHJpYnV0ZXMgLSBwcm9wZXJ0eSAnUCcgd2l0aCBhdHRyaWJ1dGVzIFtbV3JpdGFibGVdXTogZmFsc2UsIFtbRW51bWVyYWJsZV1dOiB0cnVlLCBbW0NvbmZpZ3VyYWJsZV1dIDogdHJ1ZSkgaXMgbm9uLXdyaXRhYmxlIHVzaW5nIHNpbXBsZSBhc3NpZ25tZW50LCAnTycgaXMgYW4gQXJndW1lbnRzIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSAoZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgcmV0dXJuIGFyZ3VtZW50czsNCiAgICAgICAgfSgpKTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgIHZhbHVlOiAyMDEwLA0KICAgICAgICAgICAgd3JpdGFibGU6IGZhbHNlLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCiAgICAgICAgdmFyIHZhbHVlVmVyaWZ5ID0gKG9iai5wcm9wID09PSAyMDEwKTsNCiAgICAgICAgb2JqLnByb3AgPSAxMDAxOw0KDQogICAgICAgIHJldHVybiB2YWx1ZVZlcmlmeSAmJiBvYmoucHJvcCA9PT0gMjAxMDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"ES5 Attributes - property 'P' with attributes [[Writable]]: false, [[Enumerable]]: true, [[Configurable]] : true) is non-writable using simple assignment, 'O' is an Arguments object","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-354-7.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTM1NC04LmpzDQogKiBAZGVzY3JpcHRpb24gRVM1IEF0dHJpYnV0ZXMgLSBwcm9wZXJ0eSAnUCcgd2l0aCBhdHRyaWJ1dGVzIFtbV3JpdGFibGVdXTogZmFsc2UsIFtbRW51bWVyYWJsZV1dOiB0cnVlLCBbW0NvbmZpZ3VyYWJsZV1dOiB0cnVlIGlzIG5vbi13cml0YWJsZSB1c2luZyBzaW1wbGUgYXNzaWdubWVudCwgJ08nIGlzIHRoZSBnbG9iYWwgb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IGZuR2xvYmFsT2JqZWN0KCk7DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgICAgICB2YWx1ZTogMjAxMCwNCiAgICAgICAgICAgICAgICB3cml0YWJsZTogZmFsc2UsDQogICAgICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgdmFyIHZhbHVlVmVyaWZ5ID0gKG9iai5wcm9wID09PSAyMDEwKTsNCiAgICAgICAgICAgIG9iai5wcm9wID0gMTAwMTsNCg0KICAgICAgICAgICAgcmV0dXJuIHZhbHVlVmVyaWZ5ICYmIG9iai5wcm9wID09PSAyMDEwOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIG9iai5wcm9wOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"ES5 Attributes - property 'P' with attributes [[Writable]]: false, [[Enumerable]]: true, [[Configurable]]: true is non-writable using simple assignment, 'O' is the global object","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-354-8.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTM1NC5qcw0KICogQGRlc2NyaXB0aW9uIEVTNSBBdHRyaWJ1dGVzIC0gcHJvcGVydHkgKFtbV3JpdGFibGVdXSBpcyBmYWxzZSwgW1tFbnVtZXJhYmxlXV0gaXMgdHJ1ZSwgW1tDb25maWd1cmFibGVdXSBpcyB0cnVlKSBpcyB1bndyaXRhYmxlDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgdmFsdWU6IDIwMTAsDQogICAgICAgICAgICB3cml0YWJsZTogZmFsc2UsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KICAgICAgICB2YXIgcHJvcGVydHlEZWZpbmVDb3JyZWN0ID0gKG9iai5wcm9wID09PSAyMDEwKTsNCiAgICAgICAgb2JqLnByb3AgPSAxMDAxOw0KDQogICAgICAgIHJldHVybiBwcm9wZXJ0eURlZmluZUNvcnJlY3QgJiYgb2JqLnByb3AgPT09IDIwMTA7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"ES5 Attributes - property ([[Writable]] is false, [[Enumerable]] is true, [[Configurable]] is true) is unwritable","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-354.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTM1NS5qcw0KICogQGRlc2NyaXB0aW9uIEVTNSBBdHRyaWJ1dGVzIC0gcHJvcGVydHkgKFtbV3JpdGFibGVdXSBpcyBmYWxzZSwgW1tFbnVtZXJhYmxlXV0gaXMgdHJ1ZSwgW1tDb25maWd1cmFibGVdXSBpcyB0cnVlKSBpcyBlbnVtZXJhYmxlDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgdmFsdWU6IDIwMTAsDQogICAgICAgICAgICB3cml0YWJsZTogZmFsc2UsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KICAgICAgICB2YXIgcHJvcGVydHlEZWZpbmVDb3JyZWN0ID0gb2JqLmhhc093blByb3BlcnR5KCJwcm9wIik7DQogICAgICAgIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wIik7DQogICAgICAgIGZvciAodmFyIHByb3BlcnR5IGluIG9iaikgew0KICAgICAgICAgICAgaWYgKHByb3BlcnR5ID09PSAicHJvcCIpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gcHJvcGVydHlEZWZpbmVDb3JyZWN0ICYmIGRlc2MuZW51bWVyYWJsZSA9PT0gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"ES5 Attributes - property ([[Writable]] is false, [[Enumerable]] is true, [[Configurable]] is true) is enumerable","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-355.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTM1Ni5qcw0KICogQGRlc2NyaXB0aW9uIEVTNSBBdHRyaWJ1dGVzIC0gcHJvcGVydHkgKFtbV3JpdGFibGVdXSBpcyBmYWxzZSwgW1tFbnVtZXJhYmxlXV0gaXMgdHJ1ZSwgW1tDb25maWd1cmFibGVdXSBpcyB0cnVlKSBpcyBkZWxldGFibGUNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICB2YWx1ZTogMjAxMCwNCiAgICAgICAgICAgIHdyaXRhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQogICAgICAgIHZhciBiZWZvcmVEZWxldGUgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCiAgICAgICAgZGVsZXRlIG9iai5wcm9wOw0KICAgICAgICB2YXIgYWZ0ZXJEZWxldGUgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCiAgICAgICAgcmV0dXJuIGJlZm9yZURlbGV0ZSAmJiAhYWZ0ZXJEZWxldGU7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"ES5 Attributes - property ([[Writable]] is false, [[Enumerable]] is true, [[Configurable]] is true) is deletable","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-356.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTM1Ny5qcw0KICogQGRlc2NyaXB0aW9uIEVTNSBBdHRyaWJ1dGVzIC0gc3VjY2VzcyB0byB1cGRhdGUgW1tXcml0YWJsZV1dIGF0dHJpYnV0ZSBvZiBkYXRhIHByb3BlcnR5IChbW1dyaXRhYmxlXV0gaXMgZmFsc2UsIFtbRW51bWVyYWJsZV1dIGlzIHRydWUsIFtbQ29uZmlndXJhYmxlXV0gaXMgdHJ1ZSkgdG8gZGlmZmVyZW50IHZhbHVlDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgdmFsdWU6IDIwMTAsDQogICAgICAgICAgICB3cml0YWJsZTogZmFsc2UsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KICAgICAgICB2YXIgcHJvcGVydHlEZWZpbmVDb3JyZWN0ID0gb2JqLmhhc093blByb3BlcnR5KCJwcm9wIik7DQogICAgICAgIHZhciBkZXNjMSA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcCIpOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgd3JpdGFibGU6IHRydWUNCiAgICAgICAgfSk7DQogICAgICAgIHZhciBkZXNjMiA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcCIpOw0KDQogICAgICAgIHJldHVybiBwcm9wZXJ0eURlZmluZUNvcnJlY3QgJiYgZGVzYzEud3JpdGFibGUgPT09IGZhbHNlICYmIG9iai5wcm9wID09PSAyMDEwICYmIGRlc2MyLndyaXRhYmxlID09PSB0cnVlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"ES5 Attributes - success to update [[Writable]] attribute of data property ([[Writable]] is false, [[Enumerable]] is true, [[Configurable]] is true) to different value","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-357.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTM1OC5qcw0KICogQGRlc2NyaXB0aW9uIEVTNSBBdHRyaWJ1dGVzIC0gc3VjY2VzcyB0byB1cGRhdGUgW1tFbnVtZXJhYmxlXV0gYXR0cmlidXRlIG9mIGRhdGEgcHJvcGVydHkgKFtbV3JpdGFibGVdXSBpcyBmYWxzZSwgW1tFbnVtZXJhYmxlXV0gaXMgdHJ1ZSwgW1tDb25maWd1cmFibGVdXSBpcyB0cnVlKSB0byBkaWZmZXJlbnQgdmFsdWUNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICB2YWx1ZTogMjAxMCwNCiAgICAgICAgICAgIHdyaXRhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQogICAgICAgIHZhciBwcm9wZXJ0eURlZmluZUNvcnJlY3QgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCiAgICAgICAgdmFyIGRlc2MxID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wIik7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZQ0KICAgICAgICB9KTsNCiAgICAgICAgdmFyIGRlc2MyID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wIik7DQoNCiAgICAgICAgcmV0dXJuIHByb3BlcnR5RGVmaW5lQ29ycmVjdCAmJiBkZXNjMS5lbnVtZXJhYmxlID09PSB0cnVlICYmIG9iai5wcm9wID09PSAyMDEwICYmIGRlc2MyLmVudW1lcmFibGUgPT09IGZhbHNlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"ES5 Attributes - success to update [[Enumerable]] attribute of data property ([[Writable]] is false, [[Enumerable]] is true, [[Configurable]] is true) to different value","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-358.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTM1OS5qcw0KICogQGRlc2NyaXB0aW9uIEVTNSBBdHRyaWJ1dGVzIC0gc3VjY2VzcyB0byB1cGRhdGUgW1tDb25maWd1cmFibGVdXSBhdHRyaWJ1dGUgb2YgZGF0YSBwcm9wZXJ0eSAoW1tXcml0YWJsZV1dIGlzIGZhbHNlLCBbW0VudW1lcmFibGVdXSBpcyB0cnVlLCBbW0NvbmZpZ3VyYWJsZV1dIGlzIHRydWUpIHRvIGRpZmZlcmVudCB2YWx1ZQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgIHZhbHVlOiAyMDEwLA0KICAgICAgICAgICAgd3JpdGFibGU6IGZhbHNlLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCiAgICAgICAgdmFyIHByb3BlcnR5RGVmaW5lQ29ycmVjdCA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KICAgICAgICB2YXIgZGVzYzEgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3AiKTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgfSk7DQogICAgICAgIHZhciBkZXNjMiA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcCIpOw0KDQogICAgICAgIHJldHVybiBwcm9wZXJ0eURlZmluZUNvcnJlY3QgJiYgZGVzYzEuY29uZmlndXJhYmxlID09PSB0cnVlICYmIG9iai5wcm9wID09PSAyMDEwICYmIGRlc2MyLmNvbmZpZ3VyYWJsZSA9PT0gZmFsc2U7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"ES5 Attributes - success to update [[Configurable]] attribute of data property ([[Writable]] is false, [[Enumerable]] is true, [[Configurable]] is true) to different value","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-359.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTM2LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnR5IC0gJ08nIGlzIGEgQm9vbGVhbiBvYmplY3QgdGhhdCB1c2VzIE9iamVjdCdzIFtbR2V0T3duUHJvcGVydHldXSBtZXRob2QgdG8gYWNjZXNzIHRoZSAnbmFtZScgcHJvcGVydHkgKDguMTIuOSBzdGVwIDEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IG5ldyBCb29sZWFuKHRydWUpOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJmb28iLCB7DQogICAgICAgICAgICB2YWx1ZTogMTIsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgIH0pOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiZm9vIiwgew0KICAgICAgICAgICAgICAgIHZhbHVlOiAxMSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFR5cGVFcnJvciAmJiBvYmouZm9vID09PSAxMjsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'O' is a Boolean object that uses Object's [[GetOwnProperty]] method to access the 'name' property (8.12.9 step 1)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-36.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTM2MC0xLmpzDQogKiBAZGVzY3JpcHRpb24gRVM1IEF0dHJpYnV0ZXMgLSBVcGRhdGluZyBpbmRleGVkIGRhdGEgcHJvcGVydHkgJ1AnIHdob3NlIGF0dHJpYnV0ZXMgYXJlIFtbV3JpdGFibGVdXTogZmFsc2UsIFtbRW51bWVyYWJsZV1dOiB0cnVlLCBbW0NvbmZpZ3VyYWJsZV1dOiB0cnVlIHRvIGFuIGFjY2Vzc29yIHByb3BlcnR5LCAnQScgaXMgYW4gQXJyYXkgb2JqZWN0ICg4LjEyLjkgLSBzdGVwIDkuYi5pKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSBbXTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiMCIsIHsNCiAgICAgICAgICAgIHZhbHVlOiAyMDEwLA0KICAgICAgICAgICAgd3JpdGFibGU6IGZhbHNlLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCiAgICAgICAgdmFyIGRlc2MxID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICIwIik7DQoNCiAgICAgICAgZnVuY3Rpb24gZ2V0RnVuYygpIHsNCiAgICAgICAgICAgIHJldHVybiAyMDsNCiAgICAgICAgfQ0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiMCIsIHsNCiAgICAgICAgICAgIGdldDogZ2V0RnVuYw0KICAgICAgICB9KTsNCiAgICAgICAgdmFyIGRlc2MyID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICIwIik7DQoNCiAgICAgICAgcmV0dXJuIGRlc2MxLmhhc093blByb3BlcnR5KCJ2YWx1ZSIpICYmIGRlc2MyLmhhc093blByb3BlcnR5KCJnZXQiKSAmJg0KICAgICAgICAgICAgZGVzYzIuZW51bWVyYWJsZSA9PT0gdHJ1ZSAmJiBkZXNjMi5jb25maWd1cmFibGUgPT09IHRydWUgJiYNCiAgICAgICAgICAgIG9ialswXSA9PT0gMjAgJiYgdHlwZW9mIGRlc2MyLnNldCA9PT0gInVuZGVmaW5lZCIgJiYgZGVzYzIuZ2V0ID09PSBnZXRGdW5jOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"ES5 Attributes - Updating indexed data property 'P' whose attributes are [[Writable]]: false, [[Enumerable]]: true, [[Configurable]]: true to an accessor property, 'A' is an Array object (8.12.9 - step 9.b.i)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-360-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTM2MC0yLmpzDQogKiBAZGVzY3JpcHRpb24gRVM1IEF0dHJpYnV0ZXMgLSBVcGRhdGluZyBkYXRhIHByb3BlcnR5ICdQJyB3aG9zZSBhdHRyaWJ1dGVzIGFyZSBbW1dyaXRhYmxlXV06IGZhbHNlLCBbW0VudW1lcmFibGVdXTogdHJ1ZSwgW1tDb25maWd1cmFibGVdXTogdHJ1ZSB0byBhbiBhY2Nlc3NvciBwcm9wZXJ0eSwgJ08nIGlzIGFuIEFyZ3VtZW50cyBvYmplY3QgKDguMTIuOSAtIHN0ZXAgOS5iLmkpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IChmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICByZXR1cm4gYXJndW1lbnRzOw0KICAgICAgICB9KCkpOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgdmFsdWU6IDIwMTAsDQogICAgICAgICAgICB3cml0YWJsZTogZmFsc2UsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KICAgICAgICB2YXIgZGVzYzEgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3AiKTsNCg0KICAgICAgICBmdW5jdGlvbiBnZXRGdW5jKCkgew0KICAgICAgICAgICAgcmV0dXJuIDIwOw0KICAgICAgICB9DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgZ2V0OiBnZXRGdW5jDQogICAgICAgIH0pOw0KICAgICAgICB2YXIgZGVzYzIgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3AiKTsNCg0KICAgICAgICByZXR1cm4gZGVzYzEuaGFzT3duUHJvcGVydHkoInZhbHVlIikgJiYgZGVzYzIuaGFzT3duUHJvcGVydHkoImdldCIpICYmDQogICAgICAgICAgICBkZXNjMi5lbnVtZXJhYmxlID09PSB0cnVlICYmIGRlc2MyLmNvbmZpZ3VyYWJsZSA9PT0gdHJ1ZSAmJg0KICAgICAgICAgICAgb2JqLnByb3AgPT09IDIwICYmIHR5cGVvZiBkZXNjMi5zZXQgPT09ICJ1bmRlZmluZWQiICYmIGRlc2MyLmdldCA9PT0gZ2V0RnVuYzsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"ES5 Attributes - Updating data property 'P' whose attributes are [[Writable]]: false, [[Enumerable]]: true, [[Configurable]]: true to an accessor property, 'O' is an Arguments object (8.12.9 - step 9.b.i)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-360-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTM2MC0zLmpzDQogKiBAZGVzY3JpcHRpb24gRVM1IEF0dHJpYnV0ZXMgLSBVcGRhdGluZyBkYXRhIHByb3BlcnR5ICdQJyB3aG9zZSBhdHRyaWJ1dGVzIGFyZSBbW1dyaXRhYmxlXV06IGZhbHNlLCBbW0VudW1lcmFibGVdXTogdHJ1ZSwgW1tDb25maWd1cmFibGVdXTogdHJ1ZSB0byBhbiBhY2Nlc3NvciBwcm9wZXJ0eSwgJ08nIGlzIHRoZSBnbG9iYWwgb2JqZWN0ICg4LjEyLjkgLSBzdGVwIDkuYi5pKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSBmbkdsb2JhbE9iamVjdCgpOw0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICAgICAgdmFsdWU6IDIwMTAsDQogICAgICAgICAgICAgICAgd3JpdGFibGU6IGZhbHNlLA0KICAgICAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIHZhciBkZXNjMSA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcCIpOw0KDQogICAgICAgICAgICBmdW5jdGlvbiBnZXRGdW5jKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiAyMDsNCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgICAgIGdldDogZ2V0RnVuYw0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICB2YXIgZGVzYzIgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3AiKTsNCg0KICAgICAgICAgICAgcmV0dXJuIGRlc2MxLmhhc093blByb3BlcnR5KCJ2YWx1ZSIpICYmIGRlc2MyLmhhc093blByb3BlcnR5KCJnZXQiKSAmJg0KICAgICAgICAgICAgICAgIGRlc2MyLmVudW1lcmFibGUgPT09IHRydWUgJiYgZGVzYzIuY29uZmlndXJhYmxlID09PSB0cnVlICYmDQogICAgICAgICAgICAgICAgb2JqLnByb3AgPT09IDIwICYmIHR5cGVvZiBkZXNjMi5zZXQgPT09ICJ1bmRlZmluZWQiICYmIGRlc2MyLmdldCA9PT0gZ2V0RnVuYzsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBvYmoucHJvcDsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"ES5 Attributes - Updating data property 'P' whose attributes are [[Writable]]: false, [[Enumerable]]: true, [[Configurable]]: true to an accessor property, 'O' is the global object (8.12.9 - step 9.b.i)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-360-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTM2MC01LmpzDQogKiBAZGVzY3JpcHRpb24gRVM1IEF0dHJpYnV0ZXMgLSBVcGRhdGluZyBuYW1lZCBkYXRhIHByb3BlcnR5ICdQJyB3aG9zZSBhdHRyaWJ1dGVzIGFyZSBbW1dyaXRhYmxlXV06IGZhbHNlLCBbW0VudW1lcmFibGVdXTogdHJ1ZSwgW1tDb25maWd1cmFibGVdXTogdHJ1ZSB0byBhbiBhY2Nlc3NvciBwcm9wZXJ0eSwgJ0EnIGlzIGFuIEFycmF5IG9iamVjdCAoOC4xMi45IC0gc3RlcCA5LmIuaSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0gW107DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICB2YWx1ZTogMjAxMCwNCiAgICAgICAgICAgIHdyaXRhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQogICAgICAgIHZhciBkZXNjMSA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcCIpOw0KDQogICAgICAgIGZ1bmN0aW9uIGdldEZ1bmMoKSB7DQogICAgICAgICAgICByZXR1cm4gMjA7DQogICAgICAgIH0NCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICBnZXQ6IGdldEZ1bmMNCiAgICAgICAgfSk7DQogICAgICAgIHZhciBkZXNjMiA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcCIpOw0KDQogICAgICAgIHJldHVybiBkZXNjMS5oYXNPd25Qcm9wZXJ0eSgidmFsdWUiKSAmJiBkZXNjMi5oYXNPd25Qcm9wZXJ0eSgiZ2V0IikgJiYNCiAgICAgICAgICAgIGRlc2MyLmVudW1lcmFibGUgPT09IHRydWUgJiYgZGVzYzIuY29uZmlndXJhYmxlID09PSB0cnVlICYmDQogICAgICAgICAgICBvYmoucHJvcCA9PT0gMjAgJiYgdHlwZW9mIGRlc2MyLnNldCA9PT0gInVuZGVmaW5lZCIgJiYgZGVzYzIuZ2V0ID09PSBnZXRGdW5jOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"ES5 Attributes - Updating named data property 'P' whose attributes are [[Writable]]: false, [[Enumerable]]: true, [[Configurable]]: true to an accessor property, 'A' is an Array object (8.12.9 - step 9.b.i)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-360-5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTM2MC02LmpzDQogKiBAZGVzY3JpcHRpb24gRVM1IEF0dHJpYnV0ZXMgLSBVcGRhdGluZyBpbmRleGVkIGRhdGEgcHJvcGVydHkgJ1AnIHdob3NlIGF0dHJpYnV0ZXMgYXJlIFtbV3JpdGFibGVdXTogZmFsc2UsIFtbRW51bWVyYWJsZV1dOiB0cnVlLCBbW0NvbmZpZ3VyYWJsZV1dOiB0cnVlIHRvIGFuIGFjY2Vzc29yIHByb3BlcnR5LCAnTycgaXMgYW4gQXJndW1lbnRzIG9iamVjdCAoOC4xMi45IC0gc3RlcCA5LmIuaSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0gKGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgIHJldHVybiBhcmd1bWVudHM7DQogICAgICAgIH0oKSk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgIjAiLCB7DQogICAgICAgICAgICB2YWx1ZTogMjAxMCwNCiAgICAgICAgICAgIHdyaXRhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQogICAgICAgIHZhciBkZXNjMSA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAiMCIpOw0KDQogICAgICAgIGZ1bmN0aW9uIGdldEZ1bmMoKSB7DQogICAgICAgICAgICByZXR1cm4gMjA7DQogICAgICAgIH0NCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgIjAiLCB7DQogICAgICAgICAgICBnZXQ6IGdldEZ1bmMNCiAgICAgICAgfSk7DQogICAgICAgIHZhciBkZXNjMiA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAiMCIpOw0KDQogICAgICAgIHJldHVybiBkZXNjMS5oYXNPd25Qcm9wZXJ0eSgidmFsdWUiKSAmJiBkZXNjMi5oYXNPd25Qcm9wZXJ0eSgiZ2V0IikgJiYNCiAgICAgICAgICAgIGRlc2MyLmVudW1lcmFibGUgPT09IHRydWUgJiYgZGVzYzIuY29uZmlndXJhYmxlID09PSB0cnVlICYmDQogICAgICAgICAgICBvYmpbMF0gPT09IDIwICYmIHR5cGVvZiBkZXNjMi5zZXQgPT09ICJ1bmRlZmluZWQiICYmIGRlc2MyLmdldCA9PT0gZ2V0RnVuYzsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"ES5 Attributes - Updating indexed data property 'P' whose attributes are [[Writable]]: false, [[Enumerable]]: true, [[Configurable]]: true to an accessor property, 'O' is an Arguments object (8.12.9 - step 9.b.i)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-360-6.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTM2MC03LmpzDQogKiBAZGVzY3JpcHRpb24gRVM1IEF0dHJpYnV0ZXMgLSBVcGRhdGluZyBpbmRleGVkIGRhdGEgcHJvcGVydHkgJ1AnIHdob3NlIGF0dHJpYnV0ZXMgYXJlIFtbV3JpdGFibGVdXTogZmFsc2UsIFtbRW51bWVyYWJsZV1dOiB0cnVlLCBbW0NvbmZpZ3VyYWJsZV1dOiB0cnVlIHRvIGFuIGFjY2Vzc29yIHByb3BlcnR5LCAnTycgaXMgdGhlIGdsb2JhbCBvYmplY3QgKDguMTIuOSAtIHN0ZXAgOS5iLmkpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IGZuR2xvYmFsT2JqZWN0KCk7DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiMCIsIHsNCiAgICAgICAgICAgICAgICB2YWx1ZTogMjAxMCwNCiAgICAgICAgICAgICAgICB3cml0YWJsZTogZmFsc2UsDQogICAgICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgdmFyIGRlc2MxID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICIwIik7DQoNCiAgICAgICAgICAgIGZ1bmN0aW9uIGdldEZ1bmMoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIDIwOw0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgIjAiLCB7DQogICAgICAgICAgICAgICAgZ2V0OiBnZXRGdW5jDQogICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIHZhciBkZXNjMiA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAiMCIpOw0KDQogICAgICAgICAgICByZXR1cm4gZGVzYzEuaGFzT3duUHJvcGVydHkoInZhbHVlIikgJiYgZGVzYzIuaGFzT3duUHJvcGVydHkoImdldCIpICYmDQogICAgICAgICAgICAgICAgZGVzYzIuZW51bWVyYWJsZSA9PT0gdHJ1ZSAmJiBkZXNjMi5jb25maWd1cmFibGUgPT09IHRydWUgJiYNCiAgICAgICAgICAgICAgICBvYmpbMF0gPT09IDIwICYmIHR5cGVvZiBkZXNjMi5zZXQgPT09ICJ1bmRlZmluZWQiICYmIGRlc2MyLmdldCA9PT0gZ2V0RnVuYzsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBvYmpbMF07DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"ES5 Attributes - Updating indexed data property 'P' whose attributes are [[Writable]]: false, [[Enumerable]]: true, [[Configurable]]: true to an accessor property, 'O' is the global object (8.12.9 - step 9.b.i)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-360-7.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTM2MC5qcw0KICogQGRlc2NyaXB0aW9uIEVTNSBBdHRyaWJ1dGVzIC0gc3VjY2VzcyB0byB1cGRhdGUgdGhlIGRhdGEgcHJvcGVydHkgKFtbV3JpdGFibGVdXSBpcyBmYWxzZSwgW1tFbnVtZXJhYmxlXV0gaXMgdHJ1ZSwgW1tDb25maWd1cmFibGVdXSBpcyB0cnVlKSB0byBhbiBhY2Nlc3NvciBwcm9wZXJ0eQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgIHZhbHVlOiAyMDEwLA0KICAgICAgICAgICAgd3JpdGFibGU6IGZhbHNlLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCiAgICAgICAgdmFyIGRlc2MxID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wIik7DQoNCiAgICAgICAgZnVuY3Rpb24gZ2V0RnVuYygpIHsNCiAgICAgICAgICAgIHJldHVybiAyMDsNCiAgICAgICAgfQ0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgIGdldDogZ2V0RnVuYw0KICAgICAgICB9KTsNCiAgICAgICAgdmFyIGRlc2MyID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wIik7DQoNCiAgICAgICAgcmV0dXJuIGRlc2MxLmhhc093blByb3BlcnR5KCJ2YWx1ZSIpICYmIGRlc2MyLmhhc093blByb3BlcnR5KCJnZXQiKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"ES5 Attributes - success to update the data property ([[Writable]] is false, [[Enumerable]] is true, [[Configurable]] is true) to an accessor property","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-360.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTM2MS5qcw0KICogQGRlc2NyaXB0aW9uIEVTNSBBdHRyaWJ1dGVzIC0gcHJvcGVydHkgKFtbV3JpdGFibGVdXSBpcyBmYWxzZSwgW1tFbnVtZXJhYmxlXV0gaXMgdHJ1ZSwgW1tDb25maWd1cmFibGVdXSBpcyBmYWxzZSkgaXMgdW53cml0YWJsZQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgIHZhbHVlOiAyMDEwLA0KICAgICAgICAgICAgd3JpdGFibGU6IGZhbHNlLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgfSk7DQogICAgICAgIHZhciBwcm9wZXJ0eURlZmluZUNvcnJlY3QgPSAob2JqLnByb3AgPT09IDIwMTApOw0KICAgICAgICBvYmoucHJvcCA9IDEwMDE7DQoNCiAgICAgICAgcmV0dXJuIHByb3BlcnR5RGVmaW5lQ29ycmVjdCAmJiBvYmoucHJvcCA9PT0gMjAxMDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"ES5 Attributes - property ([[Writable]] is false, [[Enumerable]] is true, [[Configurable]] is false) is unwritable","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-361.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTM2Mi5qcw0KICogQGRlc2NyaXB0aW9uIEVTNSBBdHRyaWJ1dGVzIC0gcHJvcGVydHkgKFtbV3JpdGFibGVdXSBpcyBmYWxzZSwgW1tFbnVtZXJhYmxlXV0gaXMgdHJ1ZSwgW1tDb25maWd1cmFibGVdXSBpcyBmYWxzZSkgaXMgZW51bWVyYWJsZQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICB2YWx1ZTogMjAxMCwNCiAgICAgICAgICAgIHdyaXRhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgIH0pOw0KICAgICAgICB2YXIgcHJvcGVydHlEZWZpbmVDb3JyZWN0ID0gb2JqLmhhc093blByb3BlcnR5KCJwcm9wIik7DQogICAgICAgIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wIik7DQogICAgICAgIGZvciAodmFyIHByb3BlcnR5IGluIG9iaikgew0KICAgICAgICAgICAgaWYgKHByb3BlcnR5ID09PSAicHJvcCIpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gcHJvcGVydHlEZWZpbmVDb3JyZWN0ICYmIGRlc2MuZW51bWVyYWJsZSA9PT0gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"ES5 Attributes - property ([[Writable]] is false, [[Enumerable]] is true, [[Configurable]] is false) is enumerable","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-362.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTM2My5qcw0KICogQGRlc2NyaXB0aW9uIEVTNSBBdHRyaWJ1dGVzIC0gcHJvcGVydHkgKFtbV3JpdGFibGVdXSBpcyBmYWxzZSwgW1tFbnVtZXJhYmxlXV0gaXMgdHJ1ZSwgW1tDb25maWd1cmFibGVdXSBpcyBmYWxzZSkgaXMgdW5kZWxldGFibGUNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICB2YWx1ZTogMjAxMCwNCiAgICAgICAgICAgIHdyaXRhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgIH0pOw0KICAgICAgICB2YXIgYmVmb3JlRGVsZXRlID0gb2JqLmhhc093blByb3BlcnR5KCJwcm9wIik7DQogICAgICAgIGRlbGV0ZSBvYmoucHJvcDsNCiAgICAgICAgdmFyIGFmdGVyRGVsZXRlID0gb2JqLmhhc093blByb3BlcnR5KCJwcm9wIik7DQogICAgICAgIHJldHVybiBiZWZvcmVEZWxldGUgJiYgb2JqLnByb3AgPT09IDIwMTAgJiYgYWZ0ZXJEZWxldGU7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"ES5 Attributes - property ([[Writable]] is false, [[Enumerable]] is true, [[Configurable]] is false) is undeletable","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-363.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTM2NC5qcw0KICogQGRlc2NyaXB0aW9uIEVTNSBBdHRyaWJ1dGVzIC0gZmFpbCB0byB1cGRhdGUgW1tXcml0YWJsZV1dIGF0dHJpYnV0ZSBvZiBkYXRhIHByb3BlcnR5IChbW1dyaXRhYmxlXV0gaXMgZmFsc2UsIFtbRW51bWVyYWJsZV1dIGlzIHRydWUsIFtbQ29uZmlndXJhYmxlXV0gaXMgZmFsc2UpIHRvIGRpZmZlcmVudCB2YWx1ZQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgIHZhbHVlOiAyMDEwLA0KICAgICAgICAgICAgd3JpdGFibGU6IGZhbHNlLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgfSk7DQogICAgICAgIHZhciBwcm9wZXJ0eURlZmluZUNvcnJlY3QgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCiAgICAgICAgdmFyIGRlc2MxID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wIik7DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgICAgICB3cml0YWJsZTogdHJ1ZQ0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgdmFyIGRlc2MyID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wIik7DQoNCiAgICAgICAgICAgIHJldHVybiBwcm9wZXJ0eURlZmluZUNvcnJlY3QgJiYgZGVzYzEud3JpdGFibGUgPT09IGZhbHNlICYmIG9iai5wcm9wID09PSAyMDEwICYmIGRlc2MyLndyaXRhYmxlID09PSBmYWxzZSAmJiBlIGluc3RhbmNlb2YgVHlwZUVycm9yOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"ES5 Attributes - fail to update [[Writable]] attribute of data property ([[Writable]] is false, [[Enumerable]] is true, [[Configurable]] is false) to different value","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-364.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTM2NS5qcw0KICogQGRlc2NyaXB0aW9uIEVTNSBBdHRyaWJ1dGVzIC0gZmFpbCB0byB1cGRhdGUgW1tFbnVtZXJhYmxlXV0gYXR0cmlidXRlIG9mIGRhdGEgcHJvcGVydHkgKFtbV3JpdGFibGVdXSBpcyBmYWxzZSwgW1tFbnVtZXJhYmxlXV0gaXMgdHJ1ZSwgW1tDb25maWd1cmFibGVdXSBpcyBmYWxzZSkgdG8gZGlmZmVyZW50IHZhbHVlDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgdmFsdWU6IDIwMTAsDQogICAgICAgICAgICB3cml0YWJsZTogZmFsc2UsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICB9KTsNCiAgICAgICAgdmFyIHByb3BlcnR5RGVmaW5lQ29ycmVjdCA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KICAgICAgICB2YXIgZGVzYzEgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3AiKTsNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgICAgIGVudW1lcmFibGU6IGZhbHNlDQogICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICB2YXIgZGVzYzIgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3AiKTsNCg0KICAgICAgICAgICAgcmV0dXJuIHByb3BlcnR5RGVmaW5lQ29ycmVjdCAmJiBkZXNjMS5lbnVtZXJhYmxlID09PSB0cnVlICYmIG9iai5wcm9wID09PSAyMDEwICYmIGRlc2MyLmVudW1lcmFibGUgPT09IHRydWUgJiYgZSBpbnN0YW5jZW9mIFR5cGVFcnJvcjsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"ES5 Attributes - fail to update [[Enumerable]] attribute of data property ([[Writable]] is false, [[Enumerable]] is true, [[Configurable]] is false) to different value","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-365.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTM2Ni5qcw0KICogQGRlc2NyaXB0aW9uIEVTNSBBdHRyaWJ1dGVzIC0gZmFpbCB0byB1cGRhdGUgW1tDb25maWd1cmFibGVdXSBhdHRyaWJ1dGUgb2YgZGF0YSBwcm9wZXJ0eSAoW1tXcml0YWJsZV1dIGlzIGZhbHNlLCBbW0VudW1lcmFibGVdXSBpcyB0cnVlLCBbW0NvbmZpZ3VyYWJsZV1dIGlzIGZhbHNlKSB0byBkaWZmZXJlbnQgdmFsdWUNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICB2YWx1ZTogMjAxMCwNCiAgICAgICAgICAgIHdyaXRhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgIH0pOw0KICAgICAgICB2YXIgcHJvcGVydHlEZWZpbmVDb3JyZWN0ID0gb2JqLmhhc093blByb3BlcnR5KCJwcm9wIik7DQogICAgICAgIHZhciBkZXNjMSA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcCIpOw0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICB2YXIgZGVzYzIgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3AiKTsNCg0KICAgICAgICAgICAgcmV0dXJuIHByb3BlcnR5RGVmaW5lQ29ycmVjdCAmJiBkZXNjMS5jb25maWd1cmFibGUgPT09IGZhbHNlICYmIG9iai5wcm9wID09PSAyMDEwICYmIGRlc2MyLmNvbmZpZ3VyYWJsZSA9PT0gZmFsc2UgJiYgZSBpbnN0YW5jZW9mIFR5cGVFcnJvcjsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"ES5 Attributes - fail to update [[Configurable]] attribute of data property ([[Writable]] is false, [[Enumerable]] is true, [[Configurable]] is false) to different value","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-366.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTM2Ny5qcw0KICogQGRlc2NyaXB0aW9uIEVTNSBBdHRyaWJ1dGVzIC0gZmFpbCB0byB1cGRhdGUgdGhlIGRhdGEgcHJvcGVydHkgKFtbV3JpdGFibGVdXSBpcyBmYWxzZSwgW1tFbnVtZXJhYmxlXV0gaXMgdHJ1ZSwgW1tDb25maWd1cmFibGVdXSBpcyBmYWxzZSkgdG8gYW4gYWNjZXNzb3IgcHJvcGVydHkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICB2YWx1ZTogMjAxMCwNCiAgICAgICAgICAgIHdyaXRhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgIH0pOw0KICAgICAgICB2YXIgcHJvcGVydHlEZWZpbmVDb3JyZWN0ID0gb2JqLmhhc093blByb3BlcnR5KCJwcm9wIik7DQogICAgICAgIHZhciBkZXNjMSA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcCIpOw0KDQogICAgICAgIGZ1bmN0aW9uIGdldEZ1bmMoKSB7DQogICAgICAgICAgICByZXR1cm4gMjA7DQogICAgICAgIH0NCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgICAgIGdldDogZ2V0RnVuYw0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHZhciBkZXNjMiA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcCIpOw0KICAgICAgICAgICAgcmV0dXJuIHByb3BlcnR5RGVmaW5lQ29ycmVjdCAmJiBkZXNjMS52YWx1ZSA9PT0gMjAxMCAmJiBvYmoucHJvcCA9PT0gMjAxMCAmJiB0eXBlb2YgZGVzYzIuZ2V0ID09PSAidW5kZWZpbmVkIiAmJiBlIGluc3RhbmNlb2YgVHlwZUVycm9yOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"ES5 Attributes - fail to update the data property ([[Writable]] is false, [[Enumerable]] is true, [[Configurable]] is false) to an accessor property","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-367.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTM2OC5qcw0KICogQGRlc2NyaXB0aW9uIEVTNSBBdHRyaWJ1dGVzIC0gcHJvcGVydHkgKFtbV3JpdGFibGVdXSBpcyBmYWxzZSwgW1tFbnVtZXJhYmxlXV0gaXMgZmFsc2UsIFtbQ29uZmlndXJhYmxlXV0gaXMgdHJ1ZSkgaXMgdW53cml0YWJsZQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgIHZhbHVlOiAyMDEwLA0KICAgICAgICAgICAgd3JpdGFibGU6IGZhbHNlLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogZmFsc2UsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQogICAgICAgIHZhciBwcm9wZXJ0eURlZmluZUNvcnJlY3QgPSAob2JqLnByb3AgPT09IDIwMTApOw0KICAgICAgICBvYmoucHJvcCA9IDEwMDE7DQoNCiAgICAgICAgcmV0dXJuIHByb3BlcnR5RGVmaW5lQ29ycmVjdCAmJiBvYmoucHJvcCA9PT0gMjAxMDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"ES5 Attributes - property ([[Writable]] is false, [[Enumerable]] is false, [[Configurable]] is true) is unwritable","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-368.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTM2OS5qcw0KICogQGRlc2NyaXB0aW9uIEVTNSBBdHRyaWJ1dGVzIC0gcHJvcGVydHkgKFtbV3JpdGFibGVdXSBpcyBmYWxzZSwgW1tFbnVtZXJhYmxlXV0gaXMgZmFsc2UsIFtbQ29uZmlndXJhYmxlXV0gaXMgdHJ1ZSkgaXMgbm9uLWVudW1lcmFibGUNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICB2YWx1ZTogMjAxMCwNCiAgICAgICAgICAgIHdyaXRhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgIGVudW1lcmFibGU6IGZhbHNlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KICAgICAgICB2YXIgcHJvcGVydHlEZWZpbmVDb3JyZWN0ID0gb2JqLmhhc093blByb3BlcnR5KCJwcm9wIik7DQogICAgICAgIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wIik7DQogICAgICAgIGZvciAodmFyIHAgaW4gb2JqKSB7DQogICAgICAgICAgICBpZiAocCA9PT0gInByb3AiKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQogICAgICAgIHJldHVybiBwcm9wZXJ0eURlZmluZUNvcnJlY3QgJiYgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"ES5 Attributes - property ([[Writable]] is false, [[Enumerable]] is false, [[Configurable]] is true) is non-enumerable","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-369.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTM3LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnR5IC0gJ08nIGlzIGEgTnVtYmVyIG9iamVjdCB0aGF0IHVzZXMgT2JqZWN0J3MgW1tHZXRPd25Qcm9wZXJ0eV1dIG1ldGhvZCB0byBhY2Nlc3MgdGhlICduYW1lJyBwcm9wZXJ0eSAoOC4xMi45IHN0ZXAgMSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0gbmV3IE51bWJlcigtMik7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgImZvbyIsIHsNCiAgICAgICAgICAgIHZhbHVlOiAxMiwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJmb28iLCB7DQogICAgICAgICAgICAgICAgdmFsdWU6IDExLA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiBlIGluc3RhbmNlb2YgVHlwZUVycm9yICYmIG9iai5mb28gPT09IDEyOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - 'O' is a Number object that uses Object's [[GetOwnProperty]] method to access the 'name' property (8.12.9 step 1)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-37.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTM3MC5qcw0KICogQGRlc2NyaXB0aW9uIEVTNSBBdHRyaWJ1dGVzIC0gcHJvcGVydHkgKFtbV3JpdGFibGVdXSBpcyBmYWxzZSwgW1tFbnVtZXJhYmxlXV0gaXMgZmFsc2UsIFtbQ29uZmlndXJhYmxlXV0gaXMgdHJ1ZSkgaXMgZGVsZXRhYmxlDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgdmFsdWU6IDIwMTAsDQogICAgICAgICAgICB3cml0YWJsZTogZmFsc2UsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCiAgICAgICAgdmFyIGJlZm9yZURlbGV0ZSA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KICAgICAgICBkZWxldGUgb2JqLnByb3A7DQogICAgICAgIHZhciBhZnRlckRlbGV0ZSA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KICAgICAgICByZXR1cm4gYmVmb3JlRGVsZXRlICYmICFhZnRlckRlbGV0ZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"ES5 Attributes - property ([[Writable]] is false, [[Enumerable]] is false, [[Configurable]] is true) is deletable","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-370.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTM3MS5qcw0KICogQGRlc2NyaXB0aW9uIEVTNSBBdHRyaWJ1dGVzIC0gc3VjY2VzcyB0byB1cGRhdGUgW1tXcml0YWJsZV1dIGF0dHJpYnV0ZSBvZiBkYXRhIHByb3BlcnR5IChbW1dyaXRhYmxlXV0gaXMgZmFsc2UsIFtbRW51bWVyYWJsZV1dIGlzIGZhbHNlLCBbW0NvbmZpZ3VyYWJsZV1dIGlzIHRydWUpIHRvIGRpZmZlcmVudCB2YWx1ZQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgIHZhbHVlOiAyMDEwLA0KICAgICAgICAgICAgd3JpdGFibGU6IGZhbHNlLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogZmFsc2UsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQogICAgICAgIHZhciBwcm9wZXJ0eURlZmluZUNvcnJlY3QgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCiAgICAgICAgdmFyIGRlc2MxID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wIik7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICB3cml0YWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCiAgICAgICAgdmFyIGRlc2MyID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wIik7DQoNCiAgICAgICAgcmV0dXJuIHByb3BlcnR5RGVmaW5lQ29ycmVjdCAmJiBkZXNjMS53cml0YWJsZSA9PT0gZmFsc2UgJiYgb2JqLnByb3AgPT09IDIwMTAgJiYgZGVzYzIud3JpdGFibGUgPT09IHRydWU7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"ES5 Attributes - success to update [[Writable]] attribute of data property ([[Writable]] is false, [[Enumerable]] is false, [[Configurable]] is true) to different value","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-371.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTM3Mi5qcw0KICogQGRlc2NyaXB0aW9uIEVTNSBBdHRyaWJ1dGVzIC0gc3VjY2VzcyB0byB1cGRhdGUgW1tFbnVtZXJhYmxlXV0gYXR0cmlidXRlIG9mIGRhdGEgcHJvcGVydHkgKFtbV3JpdGFibGVdXSBpcyBmYWxzZSwgW1tFbnVtZXJhYmxlXV0gaXMgZmFsc2UsIFtbQ29uZmlndXJhYmxlXV0gaXMgdHJ1ZSkgdG8gZGlmZmVyZW50IHZhbHVlDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgdmFsdWU6IDIwMTAsDQogICAgICAgICAgICB3cml0YWJsZTogZmFsc2UsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCiAgICAgICAgdmFyIHByb3BlcnR5RGVmaW5lQ29ycmVjdCA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KICAgICAgICB2YXIgZGVzYzEgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3AiKTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUNCiAgICAgICAgfSk7DQogICAgICAgIHZhciBkZXNjMiA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcCIpOw0KDQogICAgICAgIHJldHVybiBwcm9wZXJ0eURlZmluZUNvcnJlY3QgJiYgZGVzYzEuZW51bWVyYWJsZSA9PT0gZmFsc2UgJiYgb2JqLnByb3AgPT09IDIwMTAgJiYgZGVzYzIuZW51bWVyYWJsZSA9PT0gdHJ1ZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"ES5 Attributes - success to update [[Enumerable]] attribute of data property ([[Writable]] is false, [[Enumerable]] is false, [[Configurable]] is true) to different value","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-372.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTM3My5qcw0KICogQGRlc2NyaXB0aW9uIEVTNSBBdHRyaWJ1dGVzIC0gc3VjY2VzcyB0byB1cGRhdGUgW1tDb25maWd1cmFibGVdXSBhdHRyaWJ1dGUgb2YgZGF0YSBwcm9wZXJ0eSAoW1tXcml0YWJsZV1dIGlzIGZhbHNlLCBbW0VudW1lcmFibGVdXSBpcyBmYWxzZSwgW1tDb25maWd1cmFibGVdXSBpcyB0cnVlKSB0byBkaWZmZXJlbnQgdmFsdWUNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICB2YWx1ZTogMjAxMCwNCiAgICAgICAgICAgIHdyaXRhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgIGVudW1lcmFibGU6IGZhbHNlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KICAgICAgICB2YXIgcHJvcGVydHlEZWZpbmVDb3JyZWN0ID0gb2JqLmhhc093blByb3BlcnR5KCJwcm9wIik7DQogICAgICAgIHZhciBkZXNjMSA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcCIpOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICB9KTsNCiAgICAgICAgdmFyIGRlc2MyID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wIik7DQoNCiAgICAgICAgcmV0dXJuIHByb3BlcnR5RGVmaW5lQ29ycmVjdCAmJiBkZXNjMS5jb25maWd1cmFibGUgPT09IHRydWUgJiYgb2JqLnByb3AgPT09IDIwMTAgJiYgZGVzYzIuY29uZmlndXJhYmxlID09PSBmYWxzZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"ES5 Attributes - success to update [[Configurable]] attribute of data property ([[Writable]] is false, [[Enumerable]] is false, [[Configurable]] is true) to different value","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-373.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTM3NC5qcw0KICogQGRlc2NyaXB0aW9uIEVTNSBBdHRyaWJ1dGVzIC0gc3VjY2VzcyB0byB1cGRhdGUgdGhlIGRhdGEgcHJvcGVydHkgKFtbV3JpdGFibGVdXSBpcyBmYWxzZSwgW1tFbnVtZXJhYmxlXV0gaXMgZmFsc2UsIFtbQ29uZmlndXJhYmxlXV0gaXMgdHJ1ZSkgdG8gYW4gYWNjZXNzb3IgcHJvcGVydHkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICB2YWx1ZTogMjAxMCwNCiAgICAgICAgICAgIHdyaXRhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgIGVudW1lcmFibGU6IGZhbHNlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KICAgICAgICB2YXIgZGVzYzEgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3AiKTsNCiAgICAgICAgZnVuY3Rpb24gZ2V0RnVuYygpIHsNCiAgICAgICAgICAgIHJldHVybiAyMDsNCiAgICAgICAgfQ0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgIGdldDogZ2V0RnVuYw0KICAgICAgICB9KTsNCiAgICAgICAgdmFyIGRlc2MyID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wIik7DQoNCiAgICAgICAgcmV0dXJuIGRlc2MxLmhhc093blByb3BlcnR5KCJ2YWx1ZSIpICYmIGRlc2MyLmdldCA9PT0gZ2V0RnVuYzsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"ES5 Attributes - success to update the data property ([[Writable]] is false, [[Enumerable]] is false, [[Configurable]] is true) to an accessor property","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-374.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTM3NS5qcw0KICogQGRlc2NyaXB0aW9uIEVTNSBBdHRyaWJ1dGVzIC0gcHJvcGVydHkgKFtbV3JpdGFibGVdXSBpcyBmYWxzZSwgW1tFbnVtZXJhYmxlXV0gaXMgZmFsc2UsIFtbQ29uZmlndXJhYmxlXV0gaXMgZmFsc2UpIGlzIHVud3JpdGFibGUNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICB2YWx1ZTogMjAxMCwNCiAgICAgICAgICAgIHdyaXRhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgIGVudW1lcmFibGU6IGZhbHNlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICB9KTsNCiAgICAgICAgdmFyIHByb3BlcnR5RGVmaW5lQ29ycmVjdCA9IChvYmoucHJvcCA9PT0gMjAxMCk7DQogICAgICAgIG9iai5wcm9wID0gMTAwMTsNCg0KICAgICAgICByZXR1cm4gcHJvcGVydHlEZWZpbmVDb3JyZWN0ICYmIG9iai5wcm9wID09PSAyMDEwOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"ES5 Attributes - property ([[Writable]] is false, [[Enumerable]] is false, [[Configurable]] is false) is unwritable","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-375.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTM3Ni5qcw0KICogQGRlc2NyaXB0aW9uIEVTNSBBdHRyaWJ1dGVzIC0gcHJvcGVydHkgKFtbV3JpdGFibGVdXSBpcyBmYWxzZSwgW1tFbnVtZXJhYmxlXV0gaXMgZmFsc2UsIFtbQ29uZmlndXJhYmxlXV0gaXMgZmFsc2UpIGlzIG5vbi1lbnVtZXJhYmxlDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgdmFsdWU6IDIwMTAsDQogICAgICAgICAgICB3cml0YWJsZTogZmFsc2UsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgfSk7DQogICAgICAgIHZhciBwcm9wZXJ0eURlZmluZUNvcnJlY3QgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCiAgICAgICAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3AiKTsNCiAgICAgICAgZm9yICh2YXIgcCBpbiBvYmopIHsNCiAgICAgICAgICAgIGlmIChwID09PSAicHJvcCIpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCiAgICAgICAgcmV0dXJuIHByb3BlcnR5RGVmaW5lQ29ycmVjdCAmJiBkZXNjLmVudW1lcmFibGUgPT09IGZhbHNlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"ES5 Attributes - property ([[Writable]] is false, [[Enumerable]] is false, [[Configurable]] is false) is non-enumerable","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-376.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTM3Ny5qcw0KICogQGRlc2NyaXB0aW9uIEVTNSBBdHRyaWJ1dGVzIC0gcHJvcGVydHkgKFtbV3JpdGFibGVdXSBpcyBmYWxzZSwgW1tFbnVtZXJhYmxlXV0gaXMgZmFsc2UsIFtbQ29uZmlndXJhYmxlXV0gaXMgZmFsc2UpIGlzIHVuZGVsZXRhYmxlDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgdmFsdWU6IDIwMTAsDQogICAgICAgICAgICB3cml0YWJsZTogZmFsc2UsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgfSk7DQogICAgICAgIHZhciBiZWZvcmVEZWxldGUgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCiAgICAgICAgZGVsZXRlIG9iai5wcm9wOw0KICAgICAgICB2YXIgYWZ0ZXJEZWxldGUgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCiAgICAgICAgcmV0dXJuIGJlZm9yZURlbGV0ZSAmJiBvYmoucHJvcCA9PT0gMjAxMCAmJiBhZnRlckRlbGV0ZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"ES5 Attributes - property ([[Writable]] is false, [[Enumerable]] is false, [[Configurable]] is false) is undeletable","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-377.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTM3OC5qcw0KICogQGRlc2NyaXB0aW9uIEVTNSBBdHRyaWJ1dGVzIC0gZmFpbCB0byB1cGRhdGUgW1tXcml0YWJsZV1dIGF0dHJpYnV0ZSBvZiBkYXRhIHByb3BlcnR5IChbW1dyaXRhYmxlXV0gaXMgZmFsc2UsIFtbRW51bWVyYWJsZV1dIGlzIGZhbHNlLCBbW0NvbmZpZ3VyYWJsZV1dIGlzIGZhbHNlKSB0byBkaWZmZXJlbnQgdmFsdWUNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICB2YWx1ZTogMjAxMCwNCiAgICAgICAgICAgIHdyaXRhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgIGVudW1lcmFibGU6IGZhbHNlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICB9KTsNCiAgICAgICAgdmFyIHByb3BlcnR5RGVmaW5lQ29ycmVjdCA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KICAgICAgICB2YXIgZGVzYzEgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3AiKTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICAgICAgd3JpdGFibGU6IHRydWUNCiAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHZhciBkZXNjMiA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcCIpOw0KDQogICAgICAgICAgICByZXR1cm4gcHJvcGVydHlEZWZpbmVDb3JyZWN0ICYmIGRlc2MxLndyaXRhYmxlID09PSBmYWxzZSAmJiBvYmoucHJvcCA9PT0gMjAxMCAmJiBkZXNjMi53cml0YWJsZSA9PT0gZmFsc2UgJiYgZSBpbnN0YW5jZW9mIFR5cGVFcnJvcjsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"ES5 Attributes - fail to update [[Writable]] attribute of data property ([[Writable]] is false, [[Enumerable]] is false, [[Configurable]] is false) to different value","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-378.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTM3OS5qcw0KICogQGRlc2NyaXB0aW9uIEVTNSBBdHRyaWJ1dGVzIC0gZmFpbCB0byB1cGRhdGUgW1tFbnVtZXJhYmxlXV0gYXR0cmlidXRlIG9mIGRhdGEgcHJvcGVydHkgKFtbV3JpdGFibGVdXSBpcyBmYWxzZSwgW1tFbnVtZXJhYmxlXV0gaXMgZmFsc2UsIFtbQ29uZmlndXJhYmxlXV0gaXMgZmFsc2UpIHRvIGRpZmZlcmVudCB2YWx1ZQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgIHZhbHVlOiAyMDEwLA0KICAgICAgICAgICAgd3JpdGFibGU6IGZhbHNlLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogZmFsc2UsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgIH0pOw0KICAgICAgICB2YXIgcHJvcGVydHlEZWZpbmVDb3JyZWN0ID0gb2JqLmhhc093blByb3BlcnR5KCJwcm9wIik7DQogICAgICAgIHZhciBkZXNjMSA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcCIpOw0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgdmFyIGRlc2MyID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wIik7DQoNCiAgICAgICAgICAgIHJldHVybiBwcm9wZXJ0eURlZmluZUNvcnJlY3QgJiYgZGVzYzEuZW51bWVyYWJsZSA9PT0gZmFsc2UgJiYgb2JqLnByb3AgPT09IDIwMTAgJiYgZGVzYzIuZW51bWVyYWJsZSA9PT0gZmFsc2UgJiYgZSBpbnN0YW5jZW9mIFR5cGVFcnJvcjsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"ES5 Attributes - fail to update [[Enumerable]] attribute of data property ([[Writable]] is false, [[Enumerable]] is false, [[Configurable]] is false) to different value","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-379.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTM4LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnR5IC0gJ08nIGlzIHRoZSBNYXRoIG9iamVjdCB0aGF0IHVzZXMgT2JqZWN0J3MgW1tHZXRPd25Qcm9wZXJ0eV1dIG1ldGhvZCB0byBhY2Nlc3MgdGhlICduYW1lJyBwcm9wZXJ0eSAoOC4xMi45IHN0ZXAgMSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KE1hdGgsICJmb28iLCB7DQogICAgICAgICAgICAgICAgdmFsdWU6IDEyLA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgfSk7DQogICAgICAgIA0KICAgICAgICAgICAgcmV0dXJuIGRhdGFQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KE1hdGgsICJmb28iLCAxMiwgZmFsc2UsIGZhbHNlLCB0cnVlKTsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBNYXRoLmZvbzsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'O' is the Math object that uses Object's [[GetOwnProperty]] method to access the 'name' property (8.12.9 step 1)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-38.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTM4MC5qcw0KICogQGRlc2NyaXB0aW9uIEVTNSBBdHRyaWJ1dGVzIC0gZmFpbCB0byB1cGRhdGUgW1tDb25maWd1cmFibGVdXSBhdHRyaWJ1dGUgb2YgZGF0YSBwcm9wZXJ0eSAoW1tXcml0YWJsZV1dIGlzIGZhbHNlLCBbW0VudW1lcmFibGVdXSBpcyBmYWxzZSwgW1tDb25maWd1cmFibGVdXSBpcyBmYWxzZSkgdG8gZGlmZmVyZW50IHZhbHVlDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgdmFsdWU6IDIwMTAsDQogICAgICAgICAgICB3cml0YWJsZTogZmFsc2UsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgfSk7DQogICAgICAgIHZhciBwcm9wZXJ0eURlZmluZUNvcnJlY3QgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCiAgICAgICAgdmFyIGRlc2MxID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wIik7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgdmFyIGRlc2MyID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wIik7DQoNCiAgICAgICAgICAgIHJldHVybiBwcm9wZXJ0eURlZmluZUNvcnJlY3QgJiYgZGVzYzEuY29uZmlndXJhYmxlID09PSBmYWxzZSAmJiBvYmoucHJvcCA9PT0gMjAxMCAmJiBkZXNjMi5jb25maWd1cmFibGUgPT09IGZhbHNlICYmIGUgaW5zdGFuY2VvZiBUeXBlRXJyb3I7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"ES5 Attributes - fail to update [[Configurable]] attribute of data property ([[Writable]] is false, [[Enumerable]] is false, [[Configurable]] is false) to different value","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-380.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTM4MS5qcw0KICogQGRlc2NyaXB0aW9uIEVTNSBBdHRyaWJ1dGVzIC0gZmFpbCB0byB1cGRhdGUgdGhlIGRhdGEgcHJvcGVydHkgKFtbV3JpdGFibGVdXSBpcyBmYWxzZSwgW1tFbnVtZXJhYmxlXV0gaXMgZmFsc2UsIFtbQ29uZmlndXJhYmxlXV0gaXMgZmFsc2UpIHRvIGFuIGFjY2Vzc29yIHByb3BlcnR5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgdmFsdWU6IDIwMTAsDQogICAgICAgICAgICB3cml0YWJsZTogZmFsc2UsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgfSk7DQogICAgICAgIHZhciBwcm9wZXJ0eURlZmluZUNvcnJlY3QgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCiAgICAgICAgdmFyIGRlc2MxID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wIik7DQoNCiAgICAgICAgZnVuY3Rpb24gZ2V0RnVuYygpIHsNCiAgICAgICAgICAgIHJldHVybiAyMDsNCiAgICAgICAgfQ0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICAgICAgZ2V0OiBnZXRGdW5jDQogICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgdmFyIGRlc2MyID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wIik7DQogICAgICAgICAgICByZXR1cm4gcHJvcGVydHlEZWZpbmVDb3JyZWN0ICYmIGRlc2MxLnZhbHVlID09PSAyMDEwICYmIG9iai5wcm9wID09PSAyMDEwICYmIHR5cGVvZiBkZXNjMi5nZXQgPT09ICJ1bmRlZmluZWQiICYmIGUgaW5zdGFuY2VvZiBUeXBlRXJyb3I7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"ES5 Attributes - fail to update the data property ([[Writable]] is false, [[Enumerable]] is false, [[Configurable]] is false) to an accessor property","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-381.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTM4Mi5qcw0KICogQGRlc2NyaXB0aW9uIEVTNSBBdHRyaWJ1dGVzIC0gW1tWYWx1ZV1dIGF0dHJpYnV0ZSBvZiBkYXRhIHByb3BlcnR5IGlzIGEgbnVtYmVyDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgdmFsdWU6IDEwMDENCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3AiKTsNCg0KICAgICAgICByZXR1cm4gb2JqLnByb3AgPT09IDEwMDEgJiYgZGVzYy52YWx1ZSA9PT0gMTAwMTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"ES5 Attributes - [[Value]] attribute of data property is a number","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-382.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTM4My5qcw0KICogQGRlc2NyaXB0aW9uIEVTNSBBdHRyaWJ1dGVzIC0gW1tWYWx1ZV1dIGF0dHJpYnV0ZSBvZiBkYXRhIHByb3BlcnR5IGlzIGEgc3RyaW5nDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgdmFsdWU6ICJUaGlzSXNBU3RyaW5nIg0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcCIpOw0KDQogICAgICAgIHJldHVybiBvYmoucHJvcCA9PT0gIlRoaXNJc0FTdHJpbmciICYmIGRlc2MudmFsdWUgPT09ICJUaGlzSXNBU3RyaW5nIjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"ES5 Attributes - [[Value]] attribute of data property is a string","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-383.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTM4NC5qcw0KICogQGRlc2NyaXB0aW9uIEVTNSBBdHRyaWJ1dGVzIC0gW1tWYWx1ZV1dIGF0dHJpYnV0ZSBvZiBkYXRhIHByb3BlcnR5IGlzIGEgYm9vbGVhbg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgIHZhbHVlOiBmYWxzZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcCIpOw0KDQogICAgICAgIHJldHVybiBvYmoucHJvcCA9PT0gZmFsc2UgJiYgZGVzYy52YWx1ZSA9PT0gZmFsc2U7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"ES5 Attributes - [[Value]] attribute of data property is a boolean","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-384.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTM4NS5qcw0KICogQGRlc2NyaXB0aW9uIEVTNSBBdHRyaWJ1dGVzIC0gW1tWYWx1ZV1dIGF0dHJpYnV0ZSBvZiBkYXRhIHByb3BlcnR5IGlzIGEgZ2VuZXJpYyBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIHZhciB0ZW1wT2JqID0geyB0ZXN0cHJvcGVydHk6IDEwMCB9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgdmFsdWU6IHRlbXBPYmoNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3AiKTsNCg0KICAgICAgICByZXR1cm4gb2JqLnByb3AgPT09IHRlbXBPYmogJiYgZGVzYy52YWx1ZSA9PT0gdGVtcE9iajsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"ES5 Attributes - [[Value]] attribute of data property is a generic object","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-385.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTM4Ni5qcw0KICogQGRlc2NyaXB0aW9uIEVTNSBBdHRyaWJ1dGVzIC0gW1tWYWx1ZV1dIGF0dHJpYnV0ZSBvZiBkYXRhIHByb3BlcnR5IGlzIGFuIEFycmF5IG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgdmFyIGFyck9iaiA9IFtdOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgdmFsdWU6IGFyck9iag0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcCIpOw0KDQogICAgICAgIHJldHVybiBvYmoucHJvcCA9PT0gYXJyT2JqICYmIGRlc2MudmFsdWUgPT09IGFyck9iajsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"ES5 Attributes - [[Value]] attribute of data property is an Array object","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-386.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTM4Ny5qcw0KICogQGRlc2NyaXB0aW9uIEVTNSBBdHRyaWJ1dGVzIC0gW1tWYWx1ZV1dIGF0dHJpYnV0ZSBvZiBkYXRhIHByb3BlcnR5IGlzIGEgU3RyaW5nIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgdmFyIHN0ck9iaiA9IG5ldyBTdHJpbmcoKTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgIHZhbHVlOiBzdHJPYmoNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3AiKTsNCg0KICAgICAgICByZXR1cm4gb2JqLnByb3AgPT09IHN0ck9iaiAmJiBkZXNjLnZhbHVlID09PSBzdHJPYmo7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"ES5 Attributes - [[Value]] attribute of data property is a String object","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-387.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTM4OC5qcw0KICogQGRlc2NyaXB0aW9uIEVTNSBBdHRyaWJ1dGVzIC0gW1tWYWx1ZV1dIGF0dHJpYnV0ZSBvZiBkYXRhIHByb3BlcnR5IGlzIGEgTnVtYmVyIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgdmFyIG51bU9iaiA9IG5ldyBOdW1iZXIoKTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgIHZhbHVlOiBudW1PYmoNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3AiKTsNCg0KICAgICAgICByZXR1cm4gb2JqLnByb3AgPT09IG51bU9iaiAmJiBkZXNjLnZhbHVlID09PSBudW1PYmo7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"ES5 Attributes - [[Value]] attribute of data property is a Number object","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-388.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTM4OS5qcw0KICogQGRlc2NyaXB0aW9uIEVTNSBBdHRyaWJ1dGVzIC0gW1tWYWx1ZV1dIGF0dHJpYnV0ZSBvZiBkYXRhIHByb3BlcnR5IGlzIGEgQm9vbGVhbiBPYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIHZhciBib29sT2JqID0gbmV3IEJvb2xlYW4oKTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgIHZhbHVlOiBib29sT2JqDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wIik7DQoNCiAgICAgICAgcmV0dXJuIG9iai5wcm9wID09PSBib29sT2JqICYmIGRlc2MudmFsdWUgPT09IGJvb2xPYmo7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"ES5 Attributes - [[Value]] attribute of data property is a Boolean Object","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-389.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTM5LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnR5IC0gJ08nIGlzIGEgRGF0ZSBvYmplY3QgdGhhdCB1c2VzIE9iamVjdCdzIFtbR2V0T3duUHJvcGVydHldXSBtZXRob2QgdG8gYWNjZXNzIHRoZSAnbmFtZScgcHJvcGVydHkgKDguMTIuOSBzdGVwIDEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIGRlc2MgPSBuZXcgRGF0ZSgpOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShkZXNjLCAiZm9vIiwgew0KICAgICAgICAgICAgdmFsdWU6IDEyLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGRlc2MsICJmb28iLCB7DQogICAgICAgICAgICAgICAgdmFsdWU6IDExLA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiBlIGluc3RhbmNlb2YgVHlwZUVycm9yICYmIGRlc2MuZm9vID09PSAxMjsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'O' is a Date object that uses Object's [[GetOwnProperty]] method to access the 'name' property (8.12.9 step 1)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-39.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTM5MC5qcw0KICogQGRlc2NyaXB0aW9uIEVTNSBBdHRyaWJ1dGVzIC0gW1tWYWx1ZV1dIGF0dHJpYnV0ZSBvZiBkYXRhIHByb3BlcnR5IGlzIGEgRnVuY3Rpb24gb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICB2YXIgZnVuT2JqID0gZnVuY3Rpb24gKCkgeyB9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgdmFsdWU6IGZ1bk9iag0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcCIpOw0KDQogICAgICAgIHJldHVybiBvYmoucHJvcCA9PT0gZnVuT2JqICYmIGRlc2MudmFsdWUgPT09IGZ1bk9iajsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"ES5 Attributes - [[Value]] attribute of data property is a Function object","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-390.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTM5MS5qcw0KICogQGRlc2NyaXB0aW9uIEVTNSBBdHRyaWJ1dGVzIC0gW1tWYWx1ZV1dIGF0dHJpYnV0ZSBvZiBkYXRhIHByb3BlcnR5IGlzIGFuIEVycm9yIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgdmFyIGVyck9iaiA9IG5ldyBFcnJvcigpOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgdmFsdWU6IGVyck9iag0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcCIpOw0KDQogICAgICAgIHJldHVybiBvYmoucHJvcCA9PT0gZXJyT2JqICYmIGRlc2MudmFsdWUgPT09IGVyck9iajsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"ES5 Attributes - [[Value]] attribute of data property is an Error object","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-391.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTM5Mi5qcw0KICogQGRlc2NyaXB0aW9uIEVTNSBBdHRyaWJ1dGVzIC0gW1tWYWx1ZV1dIGF0dHJpYnV0ZSBvZiBkYXRhIHByb3BlcnR5IGlzIGEgRGF0ZSBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIHZhciBkYXRlT2JqID0gbmV3IERhdGUoKTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgIHZhbHVlOiBkYXRlT2JqDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wIik7DQoNCiAgICAgICAgcmV0dXJuIG9iai5wcm9wID09PSBkYXRlT2JqICYmIGRlc2MudmFsdWUgPT09IGRhdGVPYmo7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"ES5 Attributes - [[Value]] attribute of data property is a Date object","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-392.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTM5My5qcw0KICogQGRlc2NyaXB0aW9uIEVTNSBBdHRyaWJ1dGVzIC0gW1tWYWx1ZV1dIGF0dHJpYnV0ZSBvZiBkYXRhIHByb3BlcnR5IGlzIGEgUmVnRXhwIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgdmFyIHJlZ09iaiA9IG5ldyBSZWdFeHAoKTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgIHZhbHVlOiByZWdPYmoNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3AiKTsNCg0KICAgICAgICByZXR1cm4gb2JqLnByb3AgPT09IHJlZ09iaiAmJiBkZXNjLnZhbHVlID09PSByZWdPYmo7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"ES5 Attributes - [[Value]] attribute of data property is a RegExp object","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-393.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTM5NC5qcw0KICogQGRlc2NyaXB0aW9uIEVTNSBBdHRyaWJ1dGVzIC0gW1tWYWx1ZV1dIGF0dHJpYnV0ZSBvZiBkYXRhIHByb3BlcnR5IGlzIHVuZGVmaW5lZA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgIHZhbHVlOiB1bmRlZmluZWQNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3AiKTsNCg0KICAgICAgICByZXR1cm4gb2JqLmhhc093blByb3BlcnR5KCJwcm9wIikgJiYgdHlwZW9mIG9iai5wcm9wID09PSAidW5kZWZpbmVkIiAmJiB0eXBlb2YgZGVzYy52YWx1ZSA9PT0gInVuZGVmaW5lZCI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"ES5 Attributes - [[Value]] attribute of data property is undefined","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-394.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTM5NS5qcw0KICogQGRlc2NyaXB0aW9uIEVTNSBBdHRyaWJ1dGVzIC0gW1tWYWx1ZV1dIGF0dHJpYnV0ZSBvZiBkYXRhIHByb3BlcnR5IGlzIG51bGwNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICB2YWx1ZTogbnVsbA0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcCIpOw0KDQogICAgICAgIHJldHVybiBvYmoucHJvcCA9PT0gbnVsbCAmJiBkZXNjLnZhbHVlID09PSBudWxsOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"ES5 Attributes - [[Value]] attribute of data property is null","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-395.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTM5Ni5qcw0KICogQGRlc2NyaXB0aW9uIEVTNSBBdHRyaWJ1dGVzIC0gW1tWYWx1ZV1dIGF0dHJpYnV0ZSBvZiBkYXRhIHByb3BlcnR5IGlzIE5hTg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgIHZhbHVlOiBOYU4NCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3AiKTsNCg0KICAgICAgICByZXR1cm4gb2JqLnByb3AgIT09IG9iai5wcm9wICYmIGRlc2MudmFsdWUgIT09IGRlc2MudmFsdWU7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"ES5 Attributes - [[Value]] attribute of data property is NaN","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-396.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTM5Ny5qcw0KICogQGRlc2NyaXB0aW9uIEVTNSBBdHRyaWJ1dGVzIC0gW1tWYWx1ZV1dIGF0dHJpYnV0ZSBvZiBkYXRhIHByb3BlcnR5IGlzIEluZmluaXR5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgdmFsdWU6IEluZmluaXR5DQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wIik7DQoNCiAgICAgICAgcmV0dXJuIG9iai5wcm9wID09PSBJbmZpbml0eSAmJiBkZXNjLnZhbHVlID09PSBJbmZpbml0eTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"ES5 Attributes - [[Value]] attribute of data property is Infinity","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-397.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTM5OC5qcw0KICogQGRlc2NyaXB0aW9uIEVTNSBBdHRyaWJ1dGVzIC0gW1tWYWx1ZV1dIGF0dHJpYnV0ZSBvZiBkYXRhIHByb3BlcnR5IGlzIC1JbmZpbml0eQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgIHZhbHVlOiAtSW5maW5pdHkNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3AiKTsNCg0KICAgICAgICByZXR1cm4gb2JqLnByb3AgPT09IC1JbmZpbml0eSAmJiBkZXNjLnZhbHVlID09PSAtSW5maW5pdHk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"ES5 Attributes - [[Value]] attribute of data property is -Infinity","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-398.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTM5OS5qcw0KICogQGRlc2NyaXB0aW9uIEVTNSBBdHRyaWJ1dGVzIC0gW1tWYWx1ZV1dIGF0dHJpYnV0ZSBvZiBkYXRhIHByb3BlcnR5IGlzIHRoZSBnbG9iYWwgb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgdmFsdWU6IGZuR2xvYmFsT2JqZWN0KCkNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3AiKTsNCg0KICAgICAgICByZXR1cm4gb2JqLnByb3AgPT09IGZuR2xvYmFsT2JqZWN0KCkgJiYgZGVzYy52YWx1ZSA9PT0gZm5HbG9iYWxPYmplY3QoKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"ES5 Attributes - [[Value]] attribute of data property is the global object","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-399.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogU3RlcCA0IG9mIGRlZmluZVByb3BlcnR5IGNhbGxzIHRoZSBbW0RlZmluZU93blByb3BlcnR5XV0gaW50ZXJuYWwgbWV0aG9kDQogKiBvZiBPIHRvIGRlZmluZSB0aGUgcHJvcGVydHkuIEZvciBuZXdseSBkZWZpbmVkIHByb3BlcnRpZXMsIHN0ZXAgNC5hLjEgb2YNCiAqIFtbRGVmaW5lT3duUHJvcGVydHldXSBjcmVhdGVzIGEgZGF0YSBwcm9wZXJ0eSBpZiBoYW5kZWQgYSBnZW5lcmljIGRlc2MuDQogKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTQuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgZGVmaW5lcyBhIGRhdGEgcHJvcGVydHkgaWYgZ2l2ZW4gYSBnZW5lcmljIGRlc2MoOC4xMi45IHN0ZXAgNC5hLmkpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIG8gPSB7fTsNCiAgDQogIHZhciBkZXNjID0ge307DQogIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvLCAiZm9vIiwgZGVzYyk7DQoNCiAgdmFyIHByb3BEZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvLCAiZm9vIik7DQogIGlmIChwcm9wRGVzYy52YWx1ZSAgICAgICAgPT09IHVuZGVmaW5lZCAmJiAgLy8gdGhpcyBpcyB0aGUgdmFsdWUgdGhhdCB3YXMgc2V0DQogICAgICBwcm9wRGVzYy53cml0YWJsZSAgICAgPT09IGZhbHNlICYmICAgICAgLy8gZmFsc2UgYnkgZGVmYXVsdA0KICAgICAgcHJvcERlc2MuZW51bWVyYWJsZSAgID09PSBmYWxzZSAmJiAgICAgIC8vIGZhbHNlIGJ5IGRlZmF1bHQNCiAgICAgIHByb3BEZXNjLmNvbmZpZ3VyYWJsZSA9PT0gZmFsc2UpIHsgICAgICAvLyBmYWxzZSBieSBkZWZhdWx0DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"Step 4 of defineProperty calls the [[DefineOwnProperty]] internal method\nof O to define the property. For newly defined properties, step 4.a.1 of\n[[DefineOwnProperty]] creates a data property if handed a generic desc.","description":"Object.defineProperty defines a data property if given a generic desc(8.12.9 step 4.a.i)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTQwLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnR5IC0gJ08nIGlzIGEgUmVnRXhwIG9iamVjdCB0aGF0IHVzZXMgT2JqZWN0J3MgW1tHZXRPd25Qcm9wZXJ0eV1dIG1ldGhvZCB0byBhY2Nlc3MgdGhlICduYW1lJyBwcm9wZXJ0eSAoOC4xMi45IHN0ZXAgMSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgZGVzYyA9IG5ldyBSZWdFeHAoKTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoZGVzYywgImZvbyIsIHsNCiAgICAgICAgICAgIHZhbHVlOiAxMiwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShkZXNjLCAiZm9vIiwgew0KICAgICAgICAgICAgICAgIHZhbHVlOiAxMSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFR5cGVFcnJvciAmJiBkZXNjLmZvbyA9PT0gMTI7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'O' is a RegExp object that uses Object's [[GetOwnProperty]] method to access the 'name' property (8.12.9 step 1)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-40.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTQwMi5qcw0KICogQGRlc2NyaXB0aW9uIEVTNSBBdHRyaWJ1dGVzIC0gW1tWYWx1ZV1dIGF0dHJpYnV0ZSBvZiBpbmhlcml0ZWQgcHJvcGVydHkgb2YgW1tQcm90b3R5cGVdXSBpbnRlcm5hbCBwcm9wZXJ0eSBpcyBjb3JyZWN0IChTdHJpbmcgaW5zdGFuY2UpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShTdHJpbmcucHJvdG90eXBlLCAicHJvcCIsIHsNCiAgICAgICAgICAgICAgICB2YWx1ZTogMTAwMSwNCiAgICAgICAgICAgICAgICB3cml0YWJsZTogdHJ1ZSwNCiAgICAgICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICB2YXIgc3RyT2JqID0gbmV3IFN0cmluZygpOw0KDQogICAgICAgICAgICByZXR1cm4gIXN0ck9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpICYmIHN0ck9iai5wcm9wID09PSAxMDAxOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIFN0cmluZy5wcm90b3R5cGUucHJvcDsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"ES5 Attributes - [[Value]] attribute of inherited property of [[Prototype]] internal property is correct (String instance)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-402.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTQwMy5qcw0KICogQGRlc2NyaXB0aW9uIEVTNSBBdHRyaWJ1dGVzIC0gU3VjY2Vzc2Z1bGx5IGFkZCBhIHByb3BlcnR5IHRvIGFuIG9iamVjdCB3aGVuIHRoZSBvYmplY3QncyBwcm90b3R5cGUgaGFzIGEgcHJvcGVydHkgd2l0aCBzYW1lIG5hbWUgYW5kIFtbV3JpdGFibGVdXSBhdHRyaWJ1dGUgaXMgc2V0IHRvIHRydWUgKEFycmF5IGluc3RhbmNlKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoQXJyYXkucHJvdG90eXBlLCAicHJvcCIsIHsNCiAgICAgICAgICAgICAgICB2YWx1ZTogMTAwMSwNCiAgICAgICAgICAgICAgICB3cml0YWJsZTogdHJ1ZSwNCiAgICAgICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICB2YXIgYXJyT2JqID0gW107DQogICAgICAgICAgICBhcnJPYmoucHJvcCA9IDEwMDI7DQoNCiAgICAgICAgICAgIHJldHVybiBhcnJPYmouaGFzT3duUHJvcGVydHkoInByb3AiKSAmJiBhcnJPYmoucHJvcCA9PT0gMTAwMjsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBBcnJheS5wcm90b3R5cGUucHJvcDsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"ES5 Attributes - Successfully add a property to an object when the object's prototype has a property with same name and [[Writable]] attribute is set to true (Array instance)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-403.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTQwNC5qcw0KICogQGRlc2NyaXB0aW9uIEVTNSBBdHRyaWJ1dGVzIC0gSW5oZXJpdGVkIHByb3BlcnR5IHdob3NlIFtbRW51bWVyYWJsZV1dIGF0dHJpYnV0ZSBpcyBzZXQgdG8gdHJ1ZSBpcyBlbnVtZXJhYmxlIChCb29sZWFuIGluc3RhbmNlKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoQm9vbGVhbi5wcm90b3R5cGUsICJwcm9wIiwgew0KICAgICAgICAgICAgICAgIHZhbHVlOiAxMDAxLA0KICAgICAgICAgICAgICAgIHdyaXRhYmxlOiB0cnVlLA0KICAgICAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIHZhciBib29sT2JqID0gbmV3IEJvb2xlYW4oKTsNCg0KICAgICAgICAgICAgdmFyIHZlcmlmeUVudW1lcmFibGUgPSBmYWxzZTsNCiAgICAgICAgICAgIGZvciAodmFyIHAgaW4gYm9vbE9iaikgew0KICAgICAgICAgICAgICAgIGlmIChwID09PSAicHJvcCIpIHsNCiAgICAgICAgICAgICAgICAgICAgdmVyaWZ5RW51bWVyYWJsZSA9IHRydWU7DQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICByZXR1cm4gIWJvb2xPYmouaGFzT3duUHJvcGVydHkoInByb3AiKSAmJiB2ZXJpZnlFbnVtZXJhYmxlOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIEJvb2xlYW4ucHJvdG90eXBlLnByb3A7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"ES5 Attributes - Inherited property whose [[Enumerable]] attribute is set to true is enumerable (Boolean instance)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-404.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTQwNS5qcw0KICogQGRlc2NyaXB0aW9uIEVTNSBBdHRyaWJ1dGVzIC0gRmFpbGVkIHRvIGFkZCBhIHByb3BlcnR5IHRvIGFuIG9iamVjdCB3aGVuIHRoZSBvYmplY3QncyBvYmplY3QgaGFzIGEgcHJvcGVydHkgd2l0aCBzYW1lIG5hbWUgYW5kIFtbV3JpdGFibGVdXSBhdHRyaWJ1dGUgaXMgc2V0IHRvIGZhbHNlIChOdW1iZXIgaW5zdGFuY2UpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShOdW1iZXIucHJvdG90eXBlLCAicHJvcCIsIHsNCiAgICAgICAgICAgICAgICB2YWx1ZTogMTAwMSwNCiAgICAgICAgICAgICAgICB3cml0YWJsZTogZmFsc2UsDQogICAgICAgICAgICAgICAgZW51bWVyYWJsZTogZmFsc2UsDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIHZhciBudW1PYmogPSBuZXcgTnVtYmVyKCk7DQogICAgICAgICAgICBudW1PYmoucHJvcCA9IDEwMDI7DQoNCiAgICAgICAgICAgIHJldHVybiAhbnVtT2JqLmhhc093blByb3BlcnR5KCJwcm9wIikgJiYgbnVtT2JqLnByb3AgPT09IDEwMDE7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgTnVtYmVyLnByb3RvdHlwZS5wcm9wOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"ES5 Attributes - Failed to add a property to an object when the object's object has a property with same name and [[Writable]] attribute is set to false (Number instance)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-405.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTQwNi5qcw0KICogQGRlc2NyaXB0aW9uIEVTNSBBdHRyaWJ1dGVzIC0gSW5oZXJpdGVkIHByb3BlcnR5IHdob3NlIFtbRW51bWVyYWJsZV1dIGF0dHJpYnV0ZSBpcyBzZXQgdG8gZmFsc2UgaXMgbm9uLWVudW1lcmFibGUgKEZ1bmN0aW9uIGluc3RhbmNlKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoRnVuY3Rpb24ucHJvdG90eXBlLCAicHJvcCIsIHsNCiAgICAgICAgICAgICAgICB2YWx1ZTogMTAwMSwNCiAgICAgICAgICAgICAgICB3cml0YWJsZTogZmFsc2UsDQogICAgICAgICAgICAgICAgZW51bWVyYWJsZTogZmFsc2UsDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIHZhciBmdW5PYmogPSBmdW5jdGlvbiAoKSB7IH07DQoNCiAgICAgICAgICAgIHZhciB2ZXJpZnlFbnVtZXJhYmxlID0gZmFsc2U7DQogICAgICAgICAgICBmb3IgKHZhciBwIGluIGZ1bk9iaikgew0KICAgICAgICAgICAgICAgIGlmIChwID09PSAicHJvcCIpIHsNCiAgICAgICAgICAgICAgICAgICAgdmVyaWZ5RW51bWVyYWJsZSA9IHRydWU7DQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICByZXR1cm4gIWZ1bk9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpICYmICF2ZXJpZnlFbnVtZXJhYmxlOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIEZ1bmN0aW9uLnByb3RvdHlwZS5wcm9wOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"ES5 Attributes - Inherited property whose [[Enumerable]] attribute is set to false is non-enumerable (Function instance)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-406.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTQwNy5qcw0KICogQGRlc2NyaXB0aW9uIEVTNSBBdHRyaWJ1dGVzIC0gW1tWYWx1ZV1dIGF0dHJpYnV0ZSBvZiBpbmhlcml0ZWQgcHJvcGVydHkgb2YgW1tQcm90b3R5cGVdXSBpbnRlcm5hbCBwcm9wZXJ0eSBpcyBjb3JyZWN0IChFcnJvciBJbnN0YW5jZSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KEVycm9yLnByb3RvdHlwZSwgInByb3AiLCB7DQogICAgICAgICAgICAgICAgdmFsdWU6IDEwMDEsDQogICAgICAgICAgICAgICAgd3JpdGFibGU6IHRydWUsDQogICAgICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgdmFyIGVyck9iaiA9IG5ldyBFcnJvcigpOw0KDQogICAgICAgICAgICByZXR1cm4gIWVyck9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpICYmIGVyck9iai5wcm9wID09PSAxMDAxOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIEVycm9yLnByb3RvdHlwZS5wcm9wOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"ES5 Attributes - [[Value]] attribute of inherited property of [[Prototype]] internal property is correct (Error Instance)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-407.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTQwOC5qcw0KICogQGRlc2NyaXB0aW9uIEVTNSBBdHRyaWJ1dGVzIC0gU3VjY2Vzc2Z1bGx5IGFkZCBhIHByb3BlcnR5IHRvIGFuIG9iamVjdCB3aGVuIHRoZSBvYmplY3QncyBwcm90b3R5cGUgaGFzIGEgcHJvcGVydHkgd2l0aCBzYW1lIG5hbWUgYW5kIFtbV3JpdGFibGVdXSBhdHRyaWJ1dGUgaXMgc2V0IHRvIHRydWUgKERhdGUgaW5zdGFuY2UpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShEYXRlLnByb3RvdHlwZSwgInByb3AiLCB7DQogICAgICAgICAgICAgICAgdmFsdWU6IDEwMDEsDQogICAgICAgICAgICAgICAgd3JpdGFibGU6IHRydWUsDQogICAgICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgdmFyIGRhdGVPYmogPSBuZXcgRGF0ZSgpOw0KICAgICAgICAgICAgZGF0ZU9iai5wcm9wID0gMTAwMjsNCg0KICAgICAgICAgICAgcmV0dXJuIGRhdGVPYmouaGFzT3duUHJvcGVydHkoInByb3AiKSAmJiBkYXRlT2JqLnByb3AgPT09IDEwMDI7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgRGF0ZS5wcm90b3R5cGUucHJvcDsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"ES5 Attributes - Successfully add a property to an object when the object's prototype has a property with same name and [[Writable]] attribute is set to true (Date instance)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-408.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTQwOS5qcw0KICogQGRlc2NyaXB0aW9uIEVTNSBBdHRyaWJ1dGVzIC0gSW5oZXJpdGVkIHByb3BlcnR5IHdob3NlIFtbRW51bWVyYWJsZV1dIGF0dHJpYnV0ZSBpcyBzZXQgdG8gZmFsc2UgaXMgZW51bWVyYWJsZSAoUmVnRXhwIGluc3RhbmNlKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoUmVnRXhwLnByb3RvdHlwZSwgInByb3AiLCB7DQogICAgICAgICAgICAgICAgdmFsdWU6IDEwMDEsDQogICAgICAgICAgICAgICAgd3JpdGFibGU6IHRydWUsDQogICAgICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgdmFyIHJlZ09iaiA9IG5ldyBSZWdFeHAoKTsNCg0KICAgICAgICAgICAgdmFyIHZlcmlmeUVudW1lcmFibGUgPSBmYWxzZTsNCiAgICAgICAgICAgIGZvciAodmFyIHAgaW4gcmVnT2JqKSB7DQogICAgICAgICAgICAgICAgaWYgKHAgPT09ICJwcm9wIikgew0KICAgICAgICAgICAgICAgICAgICB2ZXJpZnlFbnVtZXJhYmxlID0gdHJ1ZTsNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9DQoNCiAgICAgICAgICAgIHJldHVybiAhcmVnT2JqLmhhc093blByb3BlcnR5KCJwcm9wIikgJiYgdmVyaWZ5RW51bWVyYWJsZTsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBSZWdFeHAucHJvdG90eXBlLnByb3A7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"ES5 Attributes - Inherited property whose [[Enumerable]] attribute is set to false is enumerable (RegExp instance)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-409.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTQxLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnR5IC0gJ08nIGlzIHRoZSBKU09OIG9iamVjdCB0aGF0IHVzZXMgT2JqZWN0J3MgW1tHZXRPd25Qcm9wZXJ0eV1dIG1ldGhvZCB0byBhY2Nlc3MgdGhlICduYW1lJyBwcm9wZXJ0eSAoOC4xMi45IHN0ZXAgMSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoSlNPTiwgImZvbyIsIHsNCiAgICAgICAgICAgICAgICB2YWx1ZTogMTIsDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgcmV0dXJuIGRhdGFQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KEpTT04sICJmb28iLCAxMiwgZmFsc2UsIGZhbHNlLCB0cnVlKTsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBKU09OLmZvbzsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'O' is the JSON object that uses Object's [[GetOwnProperty]] method to access the 'name' property (8.12.9 step 1)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-41.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTQxMC5qcw0KICogQGRlc2NyaXB0aW9uIEVTNSBBdHRyaWJ1dGVzIC0gRmFpbGVkIHRvIGFkZCBhIHByb3BlcnR5IHRvIGFuIG9iamVjdCB3aGVuIHRoZSBvYmplY3QncyBwcm90b3R5cGUgaGFzIGEgcHJvcGVydHkgd2l0aCB0aGUgc2FtZSBuYW1lIGFuZCBbW1dyaXRhYmxlXV0gc2V0IHRvIGZhbHNlIChKU09OKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoT2JqZWN0LnByb3RvdHlwZSwgInByb3AiLCB7DQogICAgICAgICAgICAgICAgdmFsdWU6IDEwMDEsDQogICAgICAgICAgICAgICAgd3JpdGFibGU6IGZhbHNlLA0KICAgICAgICAgICAgICAgIGVudW1lcmFibGU6IGZhbHNlLA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICBKU09OLnByb3AgPSAxMDAyOw0KDQogICAgICAgICAgICByZXR1cm4gIUpTT04uaGFzT3duUHJvcGVydHkoInByb3AiKSAmJiBKU09OLnByb3AgPT09IDEwMDE7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgT2JqZWN0LnByb3RvdHlwZS5wcm9wOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"ES5 Attributes - Failed to add a property to an object when the object's prototype has a property with the same name and [[Writable]] set to false (JSON)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-410.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTQxMS5qcw0KICogQGRlc2NyaXB0aW9uIEVTNSBBdHRyaWJ1dGVzIC0gSW5oZXJpdGVkIHByb3BlcnR5IHdob3NlIFtbRW51bWVyYWJsZV1dIGF0dHJpYnV0ZSBpcyBzZXQgdG8gZmFsc2UgaXMgbm9uLWVudW1lcmFibGUgKE1hdGgpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShPYmplY3QucHJvdG90eXBlLCAicHJvcCIsIHsNCiAgICAgICAgICAgICAgICB2YWx1ZTogMTAwMSwNCiAgICAgICAgICAgICAgICB3cml0YWJsZTogZmFsc2UsDQogICAgICAgICAgICAgICAgZW51bWVyYWJsZTogZmFsc2UsDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgdmFyIHZlcmlmeUVudW1lcmFibGUgPSBmYWxzZTsNCiAgICAgICAgICAgIGZvciAodmFyIHAgaW4gTWF0aCkgew0KICAgICAgICAgICAgICAgIGlmIChwID09PSAicHJvcCIpIHsNCiAgICAgICAgICAgICAgICAgICAgdmVyaWZ5RW51bWVyYWJsZSA9IHRydWU7DQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICByZXR1cm4gIU1hdGguaGFzT3duUHJvcGVydHkoInByb3AiKSAmJiAhdmVyaWZ5RW51bWVyYWJsZTsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBPYmplY3QucHJvdG90eXBlLnByb3A7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"ES5 Attributes - Inherited property whose [[Enumerable]] attribute is set to false is non-enumerable (Math)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-411.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTQxMi5qcw0KICogQGRlc2NyaXB0aW9uIEVTNSBBdHRyaWJ1dGVzIC0gW1tWYWx1ZV1dIGZpZWxkIG9mIGluaGVyaXRlZCBwcm9wZXJ0eSBvZiBbW1Byb3RvdHlwZV1dIGludGVybmFsIHByb3BlcnR5IGlzIGNvcnJlY3QoT2JqZWN0LmNyZWF0ZSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgYXBwb2ludG1lbnQgPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXBwb2ludG1lbnQsICJzdGFydFRpbWUiLCB7DQogICAgICAgICAgICB2YWx1ZTogMTAwMSwNCiAgICAgICAgICAgIHdyaXRhYmxlOiB0cnVlLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFwcG9pbnRtZW50LCAibmFtZSIsIHsNCiAgICAgICAgICAgIHZhbHVlOiAiTkFNRSIsDQogICAgICAgICAgICB3cml0YWJsZTogdHJ1ZSwNCiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIG1lZXRpbmcgPSBPYmplY3QuY3JlYXRlKGFwcG9pbnRtZW50KTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG1lZXRpbmcsICJjb25mZXJlbmNlQ2FsbCIsIHsNCiAgICAgICAgICAgIHZhbHVlOiAiSW4tcGVyc29uIG1lZXRpbmciLA0KICAgICAgICAgICAgd3JpdGFibGU6IHRydWUsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciB0ZWFtTWVldGluZyA9IE9iamVjdC5jcmVhdGUobWVldGluZyk7DQoNCiAgICAgICAgdmFyIGhhc093blByb3BlcnR5ID0gIXRlYW1NZWV0aW5nLmhhc093blByb3BlcnR5KCJuYW1lIikgJiYNCiAgICAgICAgICAgICF0ZWFtTWVldGluZy5oYXNPd25Qcm9wZXJ0eSgic3RhcnRUaW1lIikgJiYNCiAgICAgICAgICAgICF0ZWFtTWVldGluZy5oYXNPd25Qcm9wZXJ0eSgnY29uZmVyZW5jZUNhbGwnKTsNCg0KICAgICAgICByZXR1cm4gaGFzT3duUHJvcGVydHkgJiYgdGVhbU1lZXRpbmcubmFtZSA9PT0gIk5BTUUiICYmDQogICAgICAgICAgICB0ZWFtTWVldGluZy5zdGFydFRpbWUgPT09IDEwMDEgJiYNCiAgICAgICAgICAgIHRlYW1NZWV0aW5nLmNvbmZlcmVuY2VDYWxsID09PSAiSW4tcGVyc29uIG1lZXRpbmciOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"ES5 Attributes - [[Value]] field of inherited property of [[Prototype]] internal property is correct(Object.create)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-412.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTQxMy5qcw0KICogQGRlc2NyaXB0aW9uIEVTNSBBdHRyaWJ1dGVzIC0gU3VjY2Vzc2Z1bGx5IGFkZCBhIHByb3BlcnR5IHRvIGFuIG9iamVjdCB3aGVuIHRoZSBvYmplY3QncyBwcm90b3R5cGUgaGFzIGEgcHJvcGVydHkgd2l0aCB0aGUgc2FtZSBuYW1lIGFuZCBbW1dyaXRhYmxlXV0gc2V0IHRvIHRydWUgKE9iamVjdC5jcmVhdGUpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIGFwcG9pbnRtZW50ID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFwcG9pbnRtZW50LCAic3RhcnRUaW1lIiwgew0KICAgICAgICAgICAgdmFsdWU6IDEwMDEsDQogICAgICAgICAgICB3cml0YWJsZTogdHJ1ZSwNCiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcHBvaW50bWVudCwgIm5hbWUiLCB7DQogICAgICAgICAgICB2YWx1ZTogIk5BTUUiLA0KICAgICAgICAgICAgd3JpdGFibGU6IHRydWUsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBtZWV0aW5nID0gT2JqZWN0LmNyZWF0ZShhcHBvaW50bWVudCk7DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShtZWV0aW5nLCAiY29uZmVyZW5jZUNhbGwiLCB7DQogICAgICAgICAgICB2YWx1ZTogIkluLXBlcnNvbiBtZWV0aW5nIiwNCiAgICAgICAgICAgIHdyaXRhYmxlOiB0cnVlLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgdGVhbU1lZXRpbmcgPSBPYmplY3QuY3JlYXRlKG1lZXRpbmcpOw0KICAgICAgICB0ZWFtTWVldGluZy5uYW1lID0gIlRlYW0gTWVldGluZyI7DQogICAgICAgIHZhciBkYXRlT2JqID0gbmV3IERhdGUoIjEwLzMxLzIwMTAgMDg6MDAiKTsNCiAgICAgICAgdGVhbU1lZXRpbmcuc3RhcnRUaW1lID0gZGF0ZU9iajsNCiAgICAgICAgdGVhbU1lZXRpbmcuY29uZmVyZW5jZUNhbGwgPSAiNDI1NTU1MTIxMiI7DQoNCiAgICAgICAgdmFyIGhhc093blByb3BlcnR5ID0gdGVhbU1lZXRpbmcuaGFzT3duUHJvcGVydHkoIm5hbWUiKSAmJg0KICAgICAgICAgICAgdGVhbU1lZXRpbmcuaGFzT3duUHJvcGVydHkoInN0YXJ0VGltZSIpICYmDQogICAgICAgICAgICB0ZWFtTWVldGluZy5oYXNPd25Qcm9wZXJ0eSgnY29uZmVyZW5jZUNhbGwnKTsNCg0KICAgICAgICByZXR1cm4gaGFzT3duUHJvcGVydHkgJiYgdGVhbU1lZXRpbmcubmFtZSA9PT0gIlRlYW0gTWVldGluZyIgJiYNCiAgICAgICAgICAgIHRlYW1NZWV0aW5nLnN0YXJ0VGltZSA9PT0gZGF0ZU9iaiAmJg0KICAgICAgICAgICAgdGVhbU1lZXRpbmcuY29uZmVyZW5jZUNhbGwgPT09ICI0MjU1NTUxMjEyIjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"ES5 Attributes - Successfully add a property to an object when the object's prototype has a property with the same name and [[Writable]] set to true (Object.create)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-413.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTQxNC5qcw0KICogQGRlc2NyaXB0aW9uIEVTNSBBdHRyaWJ1dGVzIC0gSW5oZXJpdGVkIHByb3BlcnR5IHdob3NlIFtbRW51bWVyYWJsZV1dIGF0dHJpYnV0ZSBpcyBzZXQgdG8gdHJ1ZSBpcyBlbnVtZXJhYmxlIChPYmplY3QuY3JlYXRlKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBhcHBvaW50bWVudCA9IG5ldyBPYmplY3QoKTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXBwb2ludG1lbnQsICJzdGFydFRpbWUiLCB7DQogICAgICAgICAgICB2YWx1ZTogMTAwMSwNCiAgICAgICAgICAgIHdyaXRhYmxlOiB0cnVlLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFwcG9pbnRtZW50LCAibmFtZSIsIHsNCiAgICAgICAgICAgIHZhbHVlOiAiTkFNRSIsDQogICAgICAgICAgICB3cml0YWJsZTogdHJ1ZSwNCiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIG1lZXRpbmcgPSBPYmplY3QuY3JlYXRlKGFwcG9pbnRtZW50KTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG1lZXRpbmcsICJjb25mZXJlbmNlQ2FsbCIsIHsNCiAgICAgICAgICAgIHZhbHVlOiAiSW4tcGVyc29uIG1lZXRpbmciLA0KICAgICAgICAgICAgd3JpdGFibGU6IHRydWUsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciB0ZWFtTWVldGluZyA9IE9iamVjdC5jcmVhdGUobWVldGluZyk7DQoNCiAgICAgICAgdmFyIHZlcmlmeVRpbWVQcm9wID0gZmFsc2U7DQogICAgICAgIHZhciB2ZXJpZnlOYW1lUHJvcCA9IGZhbHNlOw0KICAgICAgICB2YXIgdmVyaWZ5Q2FsbFByb3AgPSBmYWxzZTsNCiAgICAgICAgZm9yICh2YXIgcCBpbiB0ZWFtTWVldGluZykgew0KICAgICAgICAgICAgaWYgKHAgPT09ICJzdGFydFRpbWUiKSB7DQogICAgICAgICAgICAgICAgdmVyaWZ5VGltZVByb3AgPSB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgaWYgKHAgPT09ICJuYW1lIikgew0KICAgICAgICAgICAgICAgIHZlcmlmeU5hbWVQcm9wID0gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIGlmIChwID09PSAiY29uZmVyZW5jZUNhbGwiKSB7DQogICAgICAgICAgICAgICAgdmVyaWZ5Q2FsbFByb3AgPSB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIGhhc093blByb3BlcnR5ID0gIXRlYW1NZWV0aW5nLmhhc093blByb3BlcnR5KCJuYW1lIikgJiYNCiAgICAgICAgICAgICF0ZWFtTWVldGluZy5oYXNPd25Qcm9wZXJ0eSgic3RhcnRUaW1lIikgJiYNCiAgICAgICAgICAgICF0ZWFtTWVldGluZy5oYXNPd25Qcm9wZXJ0eSgiY29uZmVyZW5jZUNhbGwiKTsNCg0KICAgICAgICByZXR1cm4gaGFzT3duUHJvcGVydHkgJiYgdmVyaWZ5VGltZVByb3AgJiYgdmVyaWZ5TmFtZVByb3AgJiYgdmVyaWZ5Q2FsbFByb3A7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"ES5 Attributes - Inherited property whose [[Enumerable]] attribute is set to true is enumerable (Object.create)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-414.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTQxNS5qcw0KICogQGRlc2NyaXB0aW9uIEVTNSBBdHRyaWJ1dGVzIC0gRmFpbGVkIHRvIGFkZCBwcm9wZXJ0aWVzIHRvIGFuIG9iamVjdCB3aGVuIHRoZSBvYmplY3QncyBwcm90b3R5cGUgaGFzIHByb3BlcnRpZXMgd2l0aCB0aGUgc2FtZSBuYW1lIGFuZCBbW1dyaXRhYmxlXV0gc2V0IHRvIGZhbHNlIChPYmplY3QuY3JlYXRlKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBhcHBvaW50bWVudCA9IG5ldyBPYmplY3QoKTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXBwb2ludG1lbnQsICJzdGFydFRpbWUiLCB7DQogICAgICAgICAgICB2YWx1ZTogMTAwMSwNCiAgICAgICAgICAgIHdyaXRhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgIGVudW1lcmFibGU6IGZhbHNlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXBwb2ludG1lbnQsICJuYW1lIiwgew0KICAgICAgICAgICAgdmFsdWU6ICJOQU1FIiwNCiAgICAgICAgICAgIHdyaXRhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgIGVudW1lcmFibGU6IGZhbHNlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBtZWV0aW5nID0gT2JqZWN0LmNyZWF0ZShhcHBvaW50bWVudCk7DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShtZWV0aW5nLCAiY29uZmVyZW5jZUNhbGwiLCB7DQogICAgICAgICAgICB2YWx1ZTogIkluLXBlcnNvbiBtZWV0aW5nIiwNCiAgICAgICAgICAgIHdyaXRhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgIGVudW1lcmFibGU6IGZhbHNlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciB0ZWFtTWVldGluZyA9IE9iamVjdC5jcmVhdGUobWVldGluZyk7DQogICAgICAgIHRlYW1NZWV0aW5nLm5hbWUgPSAiVGVhbSBNZWV0aW5nIjsNCiAgICAgICAgdmFyIGRhdGVPYmogPSBuZXcgRGF0ZSgiMTAvMzEvMjAxMCAwODowMCIpOw0KICAgICAgICB0ZWFtTWVldGluZy5zdGFydFRpbWUgPSBkYXRlT2JqOw0KICAgICAgICB0ZWFtTWVldGluZy5jb25mZXJlbmNlQ2FsbCA9ICI0MjU1NTUxMjEyIjsNCg0KICAgICAgICB2YXIgaGFzT3duUHJvcGVydHkgPSAhdGVhbU1lZXRpbmcuaGFzT3duUHJvcGVydHkoIm5hbWUiKSAmJg0KICAgICAgICAgICAgIXRlYW1NZWV0aW5nLmhhc093blByb3BlcnR5KCJzdGFydFRpbWUiKSAmJg0KICAgICAgICAgICAgIXRlYW1NZWV0aW5nLmhhc093blByb3BlcnR5KCdjb25mZXJlbmNlQ2FsbCcpOw0KDQogICAgICAgIHJldHVybiBoYXNPd25Qcm9wZXJ0eSAmJiB0ZWFtTWVldGluZy5uYW1lID09PSAiTkFNRSIgJiYNCiAgICAgICAgICAgIHRlYW1NZWV0aW5nLnN0YXJ0VGltZSA9PT0gMTAwMSAmJg0KICAgICAgICAgICAgdGVhbU1lZXRpbmcuY29uZmVyZW5jZUNhbGwgPT09ICJJbi1wZXJzb24gbWVldGluZyI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"ES5 Attributes - Failed to add properties to an object when the object's prototype has properties with the same name and [[Writable]] set to false (Object.create)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-415.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTQxNi5qcw0KICogQGRlc2NyaXB0aW9uIEVTNSBBdHRyaWJ1dGVzIC0gSW5oZXJpdGVkIHByb3BlcnRpZXMgd2hvc2UgW1tFbnVtZXJhYmxlXV0gYXR0cmlidXRlIGlzIHNldCB0byBmYWxzZSBpcyBub24tZW51bWVyYWJsZSAoT2JqZWN0LmNyZWF0ZSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgYXBwb2ludG1lbnQgPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXBwb2ludG1lbnQsICJzdGFydFRpbWUiLCB7DQogICAgICAgICAgICB2YWx1ZTogMTAwMSwNCiAgICAgICAgICAgIHdyaXRhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgIGVudW1lcmFibGU6IGZhbHNlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXBwb2ludG1lbnQsICJuYW1lIiwgew0KICAgICAgICAgICAgdmFsdWU6ICJOQU1FIiwNCiAgICAgICAgICAgIHdyaXRhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgIGVudW1lcmFibGU6IGZhbHNlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBtZWV0aW5nID0gT2JqZWN0LmNyZWF0ZShhcHBvaW50bWVudCk7DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShtZWV0aW5nLCAiY29uZmVyZW5jZUNhbGwiLCB7DQogICAgICAgICAgICB2YWx1ZTogIkluLXBlcnNvbiBtZWV0aW5nIiwNCiAgICAgICAgICAgIHdyaXRhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgIGVudW1lcmFibGU6IGZhbHNlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciB0ZWFtTWVldGluZyA9IE9iamVjdC5jcmVhdGUobWVldGluZyk7DQoNCiAgICAgICAgdmFyIHZlcmlmeVRpbWVQcm9wID0gZmFsc2U7DQogICAgICAgIHZhciB2ZXJpZnlOYW1lUHJvcCA9IGZhbHNlOw0KICAgICAgICB2YXIgdmVyaWZ5Q2FsbFByb3AgPSBmYWxzZTsNCiAgICAgICAgZm9yICh2YXIgcCBpbiB0ZWFtTWVldGluZykgew0KICAgICAgICAgICAgaWYgKHAgPT09ICJzdGFydFRpbWUiKSB7DQogICAgICAgICAgICAgICAgdmVyaWZ5VGltZVByb3AgPSB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgaWYgKHAgPT09ICJuYW1lIikgew0KICAgICAgICAgICAgICAgIHZlcmlmeU5hbWVQcm9wID0gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIGlmIChwID09PSAiY29uZmVyZW5jZUNhbGwiKSB7DQogICAgICAgICAgICAgICAgdmVyaWZ5Q2FsbFByb3AgPSB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIGhhc093blByb3BlcnR5ID0gIXRlYW1NZWV0aW5nLmhhc093blByb3BlcnR5KCJuYW1lIikgJiYNCiAgICAgICAgICAgICF0ZWFtTWVldGluZy5oYXNPd25Qcm9wZXJ0eSgic3RhcnRUaW1lIikgJiYNCiAgICAgICAgICAgICF0ZWFtTWVldGluZy5oYXNPd25Qcm9wZXJ0eSgiY29uZmVyZW5jZUNhbGwiKTsNCg0KICAgICAgICByZXR1cm4gaGFzT3duUHJvcGVydHkgJiYgIXZlcmlmeVRpbWVQcm9wICYmICF2ZXJpZnlOYW1lUHJvcCAmJiAhdmVyaWZ5Q2FsbFByb3A7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"ES5 Attributes - Inherited properties whose [[Enumerable]] attribute is set to false is non-enumerable (Object.create)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-416.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTQxNy5qcw0KICogQGRlc2NyaXB0aW9uIEVTNSBBdHRyaWJ1dGVzIC0gW1tWYWx1ZV1dIGF0dHJpYnV0ZSBvZiBpbmhlcml0ZWQgcHJvcGVydHkgb2YgW1tQcm90b3R5cGVdXSBpbnRlcm5hbCBwcm9wZXJ0eSBpcyBjb3JyZWN0KEZ1bmN0aW9uLnByb3RvdHlwZS5iaW5kKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBmb28gPSBmdW5jdGlvbiAoKSB7IH07DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoRnVuY3Rpb24ucHJvdG90eXBlLCAicHJvcCIsIHsNCiAgICAgICAgICAgICAgICB2YWx1ZTogMTAwMSwNCiAgICAgICAgICAgICAgICB3cml0YWJsZTogdHJ1ZSwNCiAgICAgICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgIHZhciBvYmogPSBmb28uYmluZCh7fSk7DQoNCiAgICAgICAgICAgIHJldHVybiAhb2JqLmhhc093blByb3BlcnR5KCJwcm9wIikgJiYgb2JqLnByb3AgPT09IDEwMDE7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgRnVuY3Rpb24ucHJvdG90eXBlLnByb3A7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"ES5 Attributes - [[Value]] attribute of inherited property of [[Prototype]] internal property is correct(Function.prototype.bind)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-417.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTQxOC5qcw0KICogQGRlc2NyaXB0aW9uIEVTNSBBdHRyaWJ1dGVzIC0gU3VjY2Vzc2Z1bGx5IGFkZCBhIHByb3BlcnR5IHRvIGFuIG9iamVjdCB3aGVuIHRoZSBvYmplY3QncyBwcm90b3R5cGUgaGFzIGEgcHJvcGVydHkgd2l0aCB0aGUgc2FtZSBuYW1lIGFuZCBbW1dyaXRhYmxlXV0gc2V0IHRvIHRydWUgKEZ1bmN0aW9uLnByb3RvdHlwZS5iaW5kKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBmb28gPSBmdW5jdGlvbiAoKSB7IH07DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoRnVuY3Rpb24ucHJvdG90eXBlLCAicHJvcCIsIHsNCiAgICAgICAgICAgICAgICB2YWx1ZTogMTAwMSwNCiAgICAgICAgICAgICAgICB3cml0YWJsZTogdHJ1ZSwNCiAgICAgICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgIHZhciBvYmogPSBmb28uYmluZCh7fSk7DQogICAgICAgICAgICBvYmoucHJvcCA9IDEwMDI7DQoNCiAgICAgICAgICAgIHJldHVybiBvYmouaGFzT3duUHJvcGVydHkoInByb3AiKSAmJiBvYmoucHJvcCA9PT0gMTAwMjsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBGdW5jdGlvbi5wcm90b3R5cGUucHJvcDsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"ES5 Attributes - Successfully add a property to an object when the object's prototype has a property with the same name and [[Writable]] set to true (Function.prototype.bind)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-418.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTQxOS5qcw0KICogQGRlc2NyaXB0aW9uIEVTNSBBdHRyaWJ1dGVzIC0gSW5oZXJpdGVkIHByb3BlcnR5IHdob3NlIFtbRW51bWVyYWJsZV1dIGF0dHJpYnV0ZSBpcyBzZXQgdG8gdHJ1ZSBpcyBlbnVtZXJhYmxlIChGdW5jdGlvbi5wcm90b3R5cGUuYmluZCkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgZm9vID0gZnVuY3Rpb24gKCkgeyB9Ow0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KEZ1bmN0aW9uLnByb3RvdHlwZSwgInByb3AiLCB7DQogICAgICAgICAgICAgICAgdmFsdWU6IDEwMDEsDQogICAgICAgICAgICAgICAgd3JpdGFibGU6IHRydWUsDQogICAgICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICB2YXIgb2JqID0gZm9vLmJpbmQoe30pOw0KICAgICAgICAgICAgdmFyIHZlcmlmeUVudW1lcmFibGUgPSBmYWxzZTsNCiAgICAgICAgICAgIGZvciAodmFyIHAgaW4gb2JqKSB7DQogICAgICAgICAgICAgICAgaWYgKHAgPT09ICJwcm9wIikgew0KICAgICAgICAgICAgICAgICAgICB2ZXJpZnlFbnVtZXJhYmxlID0gdHJ1ZTsNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9DQoNCiAgICAgICAgICAgIHJldHVybiAhb2JqLmhhc093blByb3BlcnR5KCJwcm9wIikgJiYgdmVyaWZ5RW51bWVyYWJsZTsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBGdW5jdGlvbi5wcm90b3R5cGUucHJvcDsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"ES5 Attributes - Inherited property whose [[Enumerable]] attribute is set to true is enumerable (Function.prototype.bind)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-419.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTQyLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnR5IC0gJ08nIGlzIGFuIEVycm9yIG9iamVjdCB0aGF0IHVzZXMgT2JqZWN0J3MgW1tHZXRPd25Qcm9wZXJ0eV1dIG1ldGhvZCB0byBhY2Nlc3MgdGhlICduYW1lJyBwcm9wZXJ0eSAoOC4xMi45IHN0ZXAgMSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgZGVzYyA9IG5ldyBFcnJvcigpOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShkZXNjLCAiZm9vIiwgew0KICAgICAgICAgICAgdmFsdWU6IDEyLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGRlc2MsICJmb28iLCB7DQogICAgICAgICAgICAgICAgdmFsdWU6IDExLA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiBlIGluc3RhbmNlb2YgVHlwZUVycm9yICYmIGRlc2MuZm9vID09PSAxMjsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'O' is an Error object that uses Object's [[GetOwnProperty]] method to access the 'name' property (8.12.9 step 1)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-42.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTQyMC5qcw0KICogQGRlc2NyaXB0aW9uIEVTNSBBdHRyaWJ1dGVzIC0gRmFpbGVkIHRvIGFkZCBhIHByb3BlcnR5IHRvIGFuIG9iamVjdCB3aGVuIHRoZSBvYmplY3QncyBwcm90b3R5cGUgaGFzIGEgcHJvcGVydHkgd2l0aCB0aGUgc2FtZSBuYW1lIGFuZCBbW1dyaXRhYmxlXV0gc2V0IHRvIGZhbHNlKEZ1bmN0aW9uLnByb3RvdHlwZS5iaW5kKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBmb28gPSBmdW5jdGlvbiAoKSB7IH07DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoRnVuY3Rpb24ucHJvdG90eXBlLCAicHJvcCIsIHsNCiAgICAgICAgICAgICAgICB2YWx1ZTogMTAwMSwNCiAgICAgICAgICAgICAgICB3cml0YWJsZTogZmFsc2UsDQogICAgICAgICAgICAgICAgZW51bWVyYWJsZTogZmFsc2UsDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgdmFyIG9iaiA9IGZvby5iaW5kKHt9KTsNCiAgICAgICAgICAgIG9iai5wcm9wID0gMTAwMjsNCg0KICAgICAgICAgICAgcmV0dXJuICFvYmouaGFzT3duUHJvcGVydHkoInByb3AiKSAmJiBvYmoucHJvcCA9PT0gMTAwMTsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBGdW5jdGlvbi5wcm90b3R5cGUucHJvcDsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"ES5 Attributes - Failed to add a property to an object when the object's prototype has a property with the same name and [[Writable]] set to false(Function.prototype.bind)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-420.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTQyMS5qcw0KICogQGRlc2NyaXB0aW9uIEVTNSBBdHRyaWJ1dGVzIC0gSW5oZXJpdGVkIHByb3BlcnR5IHdob3NlIFtbRW51bWVyYWJsZV1dIGF0dHJpYnV0ZSBpcyBzZXQgdG8gZmFsc2UgaXMgbm9uLWVudW1lcmFibGUgKEZ1bmN0aW9uLnByb3RvdHlwZS5iaW5kKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBmb28gPSBmdW5jdGlvbiAoKSB7IH07DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoRnVuY3Rpb24ucHJvdG90eXBlLCAicHJvcCIsIHsNCiAgICAgICAgICAgICAgICB2YWx1ZTogMTAwMSwNCiAgICAgICAgICAgICAgICB3cml0YWJsZTogZmFsc2UsDQogICAgICAgICAgICAgICAgZW51bWVyYWJsZTogZmFsc2UsDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgdmFyIG9iaiA9IGZvby5iaW5kKHt9KTsNCiAgICAgICAgICAgIHZhciB2ZXJpZnlFbnVtZXJhYmxlID0gZmFsc2U7DQogICAgICAgICAgICBmb3IgKHZhciBwIGluIG9iaikgew0KICAgICAgICAgICAgICAgIGlmIChwID09PSAicHJvcCIpIHsNCiAgICAgICAgICAgICAgICAgICAgdmVyaWZ5RW51bWVyYWJsZSA9IHRydWU7DQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICByZXR1cm4gIW9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpICYmICF2ZXJpZnlFbnVtZXJhYmxlOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIEZ1bmN0aW9uLnByb3RvdHlwZS5wcm9wOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"ES5 Attributes - Inherited property whose [[Enumerable]] attribute is set to false is non-enumerable (Function.prototype.bind)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-421.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTQyMi5qcw0KICogQGRlc2NyaXB0aW9uIEVTNSBBdHRyaWJ1dGVzIC0gW1tHZXRdXSBhdHRyaWJ1dGUgb2YgYWNjZXNzb3IgcHJvcGVydHkgKFtbR2V0XV0gaXMgdW5kZWZpbmVkLCBbW1NldF1dIGlzIHVuZGVmaW5lZCwgW1tFbnVtZXJhYmxlXV0gaXMgdHJ1ZSwgW1tDb25maWd1cmFibGVdXSBpcyB0cnVlKSBpcyB1bmRlZmluZWQNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICBnZXQ6IHVuZGVmaW5lZCwNCiAgICAgICAgICAgIHNldDogdW5kZWZpbmVkLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgcHJvcGVydHlEZWZpbmVDb3JyZWN0ID0gb2JqLmhhc093blByb3BlcnR5KCJwcm9wIik7DQogICAgICAgIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wIik7DQoNCiAgICAgICAgcmV0dXJuIHByb3BlcnR5RGVmaW5lQ29ycmVjdCAmJiB0eXBlb2YgZGVzYy5nZXQgPT09ICJ1bmRlZmluZWQiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"ES5 Attributes - [[Get]] attribute of accessor property ([[Get]] is undefined, [[Set]] is undefined, [[Enumerable]] is true, [[Configurable]] is true) is undefined","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-422.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTQyMy5qcw0KICogQGRlc2NyaXB0aW9uIEVTNSBBdHRyaWJ1dGVzIC0gW1tTZXRdXSBhdHRyaWJ1dGUgb2YgYWNjZXNzb3IgcHJvcGVydHkgKFtbR2V0XV0gaXMgdW5kZWZpbmVkLCBbW1NldF1dIGlzIHVuZGVmaW5lZCwgW1tFbnVtZXJhYmxlXV0gaXMgdHJ1ZSwgW1tDb25maWd1cmFibGVdXSBpcyB0cnVlKSBpcyB1bmRlZmluZWQNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICBnZXQ6IHVuZGVmaW5lZCwNCiAgICAgICAgICAgIHNldDogdW5kZWZpbmVkLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgcHJvcGVydHlEZWZpbmVDb3JyZWN0ID0gb2JqLmhhc093blByb3BlcnR5KCJwcm9wIik7DQogICAgICAgIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wIik7DQoNCiAgICAgICAgcmV0dXJuIHByb3BlcnR5RGVmaW5lQ29ycmVjdCAmJiB0eXBlb2YgZGVzYy5zZXQgPT09ICJ1bmRlZmluZWQiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"ES5 Attributes - [[Set]] attribute of accessor property ([[Get]] is undefined, [[Set]] is undefined, [[Enumerable]] is true, [[Configurable]] is true) is undefined","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-423.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTQyNC5qcw0KICogQGRlc2NyaXB0aW9uIEVTNSBBdHRyaWJ1dGVzIC0gcHJvcGVydHkgKFtbR2V0XV0gaXMgdW5kZWZpbmVkLCBbW1NldF1dIGlzIHVuZGVmaW5lZCwgW1tFbnVtZXJhYmxlXV0gaXMgdHJ1ZSwgW1tDb25maWd1cmFibGVdXSBpcyB0cnVlKSBpcyBlbnVtZXJhYmxlDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgZ2V0OiB1bmRlZmluZWQsDQogICAgICAgICAgICBzZXQ6IHVuZGVmaW5lZCwNCiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIHByb3BlcnR5RGVmaW5lQ29ycmVjdCA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KICAgICAgICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcCIpOw0KDQogICAgICAgIGZvciAodmFyIHAgaW4gb2JqKSB7DQogICAgICAgICAgICBpZiAocCA9PT0gInByb3AiKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIHByb3BlcnR5RGVmaW5lQ29ycmVjdCAmJiBkZXNjLmVudW1lcmFibGUgPT09IHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"ES5 Attributes - property ([[Get]] is undefined, [[Set]] is undefined, [[Enumerable]] is true, [[Configurable]] is true) is enumerable","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-424.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTQyNS5qcw0KICogQGRlc2NyaXB0aW9uIEVTNSBBdHRyaWJ1dGVzIC0gcHJvcGVydHkgKFtbR2V0XV0gaXMgdW5kZWZpbmVkLCBbW1NldF1dIGlzIHVuZGVmaW5lZCwgW1tFbnVtZXJhYmxlXV0gaXMgdHJ1ZSwgW1tDb25maWd1cmFibGVdXSBpcyB0cnVlKSBpcyBkZWxldGFibGUNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICBnZXQ6IHVuZGVmaW5lZCwNCiAgICAgICAgICAgIHNldDogdW5kZWZpbmVkLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgcHJvcGVydHlEZWZpbmVDb3JyZWN0ID0gb2JqLmhhc093blByb3BlcnR5KCJwcm9wIik7DQogICAgICAgIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wIik7DQoNCiAgICAgICAgZGVsZXRlIG9iai5wcm9wOw0KDQogICAgICAgIHJldHVybiBwcm9wZXJ0eURlZmluZUNvcnJlY3QgJiYgZGVzYy5jb25maWd1cmFibGUgPT09IHRydWUgJiYgIW9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"ES5 Attributes - property ([[Get]] is undefined, [[Set]] is undefined, [[Enumerable]] is true, [[Configurable]] is true) is deletable","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-425.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTQyNi5qcw0KICogQGRlc2NyaXB0aW9uIEVTNSBBdHRyaWJ1dGVzIC0gc3VjY2VzcyB0byB1cGRhdGUgW1tHZXRdXSBhdHRyaWJ1dGUgb2YgYWNjZXNzb3IgcHJvcGVydHkgKFtbR2V0XV0gaXMgdW5kZWZpbmVkLCBbW1NldF1dIGlzIHVuZGVmaW5lZCwgW1tFbnVtZXJhYmxlXV0gaXMgdHJ1ZSwgW1tDb25maWd1cmFibGVdXSBpcyB0cnVlKSB0byBkaWZmZXJlbnQgdmFsdWUNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIHZhciBnZXRGdW5jID0gZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgcmV0dXJuIDEwMDE7DQogICAgICAgIH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICBnZXQ6IHVuZGVmaW5lZCwNCiAgICAgICAgICAgIHNldDogdW5kZWZpbmVkLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgcmVzdWx0MSA9IHR5cGVvZiBvYmoucHJvcCA9PT0gInVuZGVmaW5lZCI7DQogICAgICAgIHZhciBkZXNjMSA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcCIpOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgZ2V0OiBnZXRGdW5jDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciByZXN1bHQyID0gb2JqLnByb3AgPT09IDEwMDE7DQogICAgICAgIHZhciBkZXNjMiA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcCIpOw0KDQogICAgICAgIHJldHVybiByZXN1bHQxICYmIHJlc3VsdDIgJiYgdHlwZW9mIGRlc2MxLmdldCA9PT0gInVuZGVmaW5lZCIgJiYgZGVzYzIuZ2V0ID09PSBnZXRGdW5jOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"ES5 Attributes - success to update [[Get]] attribute of accessor property ([[Get]] is undefined, [[Set]] is undefined, [[Enumerable]] is true, [[Configurable]] is true) to different value","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-426.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTQyNy5qcw0KICogQGRlc2NyaXB0aW9uIEVTNSBBdHRyaWJ1dGVzIC0gc3VjY2VzcyB0byB1cGRhdGUgW1tTZXRdXSBhdHRyaWJ1dGUgb2YgYWNjZXNzb3IgcHJvcGVydHkgKFtbR2V0XV0gaXMgdW5kZWZpbmVkLCBbW1NldF1dIGlzIHVuZGVmaW5lZCwgW1tFbnVtZXJhYmxlXV0gaXMgdHJ1ZSwgW1tDb25maWd1cmFibGVdXSBpcyB0cnVlKSB0byBkaWZmZXJlbnQgdmFsdWUNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIHZhciB2ZXJpZnlTZXRGdW5jID0gImRhdGEiOw0KICAgICAgICB2YXIgc2V0RnVuYyA9IGZ1bmN0aW9uICh2YWx1ZSkgew0KICAgICAgICAgICAgdmVyaWZ5U2V0RnVuYyA9IHZhbHVlOw0KICAgICAgICB9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgZ2V0OiB1bmRlZmluZWQsDQogICAgICAgICAgICBzZXQ6IHVuZGVmaW5lZCwNCiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIGRlc2MxID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wIik7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICBzZXQ6IHNldEZ1bmMNCiAgICAgICAgfSk7DQoNCiAgICAgICAgb2JqLnByb3AgPSAib3ZlcnJpZGVEYXRhIjsNCiAgICAgICAgdmFyIHByb3BlcnR5RGVmaW5lQ29ycmVjdCA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KICAgICAgICB2YXIgZGVzYzIgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3AiKTsNCg0KICAgICAgICByZXR1cm4gcHJvcGVydHlEZWZpbmVDb3JyZWN0ICYmIHR5cGVvZiBkZXNjMS5zZXQgPT09ICJ1bmRlZmluZWQiICYmIGRlc2MyLnNldCA9PT0gc2V0RnVuYyAmJiB2ZXJpZnlTZXRGdW5jID09PSAib3ZlcnJpZGVEYXRhIjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"ES5 Attributes - success to update [[Set]] attribute of accessor property ([[Get]] is undefined, [[Set]] is undefined, [[Enumerable]] is true, [[Configurable]] is true) to different value","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-427.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTQyOC5qcw0KICogQGRlc2NyaXB0aW9uIEVTNSBBdHRyaWJ1dGVzIC0gc3VjY2VzcyB0byB1cGRhdGUgW1tFbnVtZXJhYmxlXV0gYXR0cmlidXRlIG9mIGFjY2Vzc29yIHByb3BlcnR5IChbW0dldF1dIGlzIHVuZGVmaW5lZCwgW1tTZXRdXSBpcyB1bmRlZmluZWQsIFtbRW51bWVyYWJsZV1dIGlzIHRydWUsIFtbQ29uZmlndXJhYmxlXV0gaXMgdHJ1ZSkgdG8gZGlmZmVyZW50IHZhbHVlDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgZ2V0OiB1bmRlZmluZWQsDQogICAgICAgICAgICBzZXQ6IHVuZGVmaW5lZCwNCiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQogICAgICAgIHZhciByZXN1bHQxID0gZmFsc2U7DQogICAgICAgIHZhciBkZXNjMSA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcCIpOw0KICAgICAgICBmb3IgKHZhciBwMSBpbiBvYmopIHsNCiAgICAgICAgICAgIGlmIChwMSA9PT0gInByb3AiKSB7DQogICAgICAgICAgICAgICAgcmVzdWx0MSA9IHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgIGVudW1lcmFibGU6IGZhbHNlDQogICAgICAgIH0pOw0KICAgICAgICB2YXIgcmVzdWx0MiA9IGZhbHNlOw0KICAgICAgICB2YXIgZGVzYzIgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3AiKTsNCiAgICAgICAgZm9yICh2YXIgcDIgaW4gb2JqKSB7DQogICAgICAgICAgICBpZiAocDIgPT09ICJwcm9wIikgew0KICAgICAgICAgICAgICAgIHJlc3VsdDIgPSB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgcmV0dXJuIHJlc3VsdDEgJiYgIXJlc3VsdDIgJiYgZGVzYzEuZW51bWVyYWJsZSA9PT0gdHJ1ZSAmJiBkZXNjMi5lbnVtZXJhYmxlID09PSBmYWxzZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"ES5 Attributes - success to update [[Enumerable]] attribute of accessor property ([[Get]] is undefined, [[Set]] is undefined, [[Enumerable]] is true, [[Configurable]] is true) to different value","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-428.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTQyOS5qcw0KICogQGRlc2NyaXB0aW9uIEVTNSBBdHRyaWJ1dGVzIC0gc3VjY2VzcyB0byB1cGRhdGUgW1tDb25maWd1cmFibGVdXSBhdHRyaWJ1dGUgb2YgYWNjZXNzb3IgcHJvcGVydHkgKFtbR2V0XV0gaXMgdW5kZWZpbmVkLCBbW1NldF1dIGlzIHVuZGVmaW5lZCwgW1tFbnVtZXJhYmxlXV0gaXMgdHJ1ZSwgW1tDb25maWd1cmFibGVdXSBpcyB0cnVlKSB0byBkaWZmZXJlbnQgdmFsdWUNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICBnZXQ6IHVuZGVmaW5lZCwNCiAgICAgICAgICAgIHNldDogdW5kZWZpbmVkLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCiAgICAgICAgdmFyIGRlc2MxID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wIik7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgIH0pOw0KICAgICAgICB2YXIgZGVzYzIgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3AiKTsNCiAgICAgICAgZGVsZXRlIG9iai5wcm9wOw0KDQogICAgICAgIHJldHVybiBkZXNjMS5jb25maWd1cmFibGUgPT09IHRydWUgJiYgZGVzYzIuY29uZmlndXJhYmxlID09PSBmYWxzZSAmJiBvYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"ES5 Attributes - success to update [[Configurable]] attribute of accessor property ([[Get]] is undefined, [[Set]] is undefined, [[Enumerable]] is true, [[Configurable]] is true) to different value","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-429.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTQzLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnR5IC0gJ08nIGlzIGFuIEFyZ3VtZW50cyBvYmplY3Qgd2hpY2ggaW1wbGVtZW50cyBpdHMgb3duIFtbR2V0T3duUHJvcGVydHldXSBtZXRob2QgdG8gYWNjZXNzIHRoZSAnbmFtZScgcHJvcGVydHkgKDguMTIuOSBzdGVwIDEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIGFyZ09iaiA9IChmdW5jdGlvbiAoKSB7IHJldHVybiBhcmd1bWVudHM7IH0pKCk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyZ09iaiwgImZvbyIsIHsNCiAgICAgICAgICAgIHZhbHVlOiAxMiwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcmdPYmosICJmb28iLCB7DQogICAgICAgICAgICAgICAgdmFsdWU6IDExLA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiBlIGluc3RhbmNlb2YgVHlwZUVycm9yICYmIGFyZ09iai5mb28gPT09IDEyOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - 'O' is an Arguments object which implements its own [[GetOwnProperty]] method to access the 'name' property (8.12.9 step 1)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-43.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTQzMC5qcw0KICogQGRlc2NyaXB0aW9uIEVTNSBBdHRyaWJ1dGVzIC0gc3VjY2VzcyB0byB1cGRhdGUgdGhlIGFjY2Vzc29yIHByb3BlcnR5IChbW0dldF1dIGlzIHVuZGVmaW5lZCwgW1tTZXRdXSBpcyB1bmRlZmluZWQsIFtbRW51bWVyYWJsZV1dIGlzIHRydWUsIFtbQ29uZmlndXJhYmxlXV0gaXMgdHJ1ZSkgdG8gYSBkYXRhIHByb3BlcnR5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgZ2V0OiB1bmRlZmluZWQsDQogICAgICAgICAgICBzZXQ6IHVuZGVmaW5lZCwNCiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQogICAgICAgIHZhciBkZXNjMSA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcCIpOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgdmFsdWU6IDEwMDENCiAgICAgICAgfSk7DQogICAgICAgIHZhciBkZXNjMiA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcCIpOw0KDQogICAgICAgIHJldHVybiBkZXNjMS5oYXNPd25Qcm9wZXJ0eSgiZ2V0IikgJiYgZGVzYzIuaGFzT3duUHJvcGVydHkoInZhbHVlIik7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"ES5 Attributes - success to update the accessor property ([[Get]] is undefined, [[Set]] is undefined, [[Enumerable]] is true, [[Configurable]] is true) to a data property","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-430.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTQzMS5qcw0KICogQGRlc2NyaXB0aW9uIEVTNSBBdHRyaWJ1dGVzIC0gW1tHZXRdXSBhdHRyaWJ1dGUgb2YgYWNjZXNzb3IgcHJvcGVydHkgKFtbR2V0XV0gaXMgdW5kZWZpbmVkLCBbW1NldF1dIGlzIHVuZGVmaW5lZCwgW1tFbnVtZXJhYmxlXV0gaXMgdHJ1ZSwgW1tDb25maWd1cmFibGVdXSBpcyBmYWxzZSkgaXMgdW5kZWZpbmVkDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgZ2V0OiB1bmRlZmluZWQsDQogICAgICAgICAgICBzZXQ6IHVuZGVmaW5lZCwNCiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBwcm9wZXJ0eURlZmluZUNvcnJlY3QgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCiAgICAgICAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3AiKTsNCg0KICAgICAgICByZXR1cm4gcHJvcGVydHlEZWZpbmVDb3JyZWN0ICYmIHR5cGVvZiBkZXNjLmdldCA9PT0gInVuZGVmaW5lZCI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"ES5 Attributes - [[Get]] attribute of accessor property ([[Get]] is undefined, [[Set]] is undefined, [[Enumerable]] is true, [[Configurable]] is false) is undefined","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-431.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTQzMi5qcw0KICogQGRlc2NyaXB0aW9uIEVTNSBBdHRyaWJ1dGVzIC0gW1tTZXRdXSBhdHRyaWJ1dGUgb2YgYWNjZXNzb3IgcHJvcGVydHkgKFtbR2V0XV0gaXMgdW5kZWZpbmVkLCBbW1NldF1dIGlzIHVuZGVmaW5lZCwgW1tFbnVtZXJhYmxlXV0gaXMgdHJ1ZSwgW1tDb25maWd1cmFibGVdXSBpcyBmYWxzZSkgaXMgdW5kZWZpbmVkDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgZ2V0OiB1bmRlZmluZWQsDQogICAgICAgICAgICBzZXQ6IHVuZGVmaW5lZCwNCiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBwcm9wZXJ0eURlZmluZUNvcnJlY3QgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCiAgICAgICAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3AiKTsNCg0KICAgICAgICByZXR1cm4gcHJvcGVydHlEZWZpbmVDb3JyZWN0ICYmIHR5cGVvZiBkZXNjLnNldCA9PT0gInVuZGVmaW5lZCI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"ES5 Attributes - [[Set]] attribute of accessor property ([[Get]] is undefined, [[Set]] is undefined, [[Enumerable]] is true, [[Configurable]] is false) is undefined","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-432.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTQzMy5qcw0KICogQGRlc2NyaXB0aW9uIEVTNSBBdHRyaWJ1dGVzIC0gcHJvcGVydHkgKFtbR2V0XV0gaXMgdW5kZWZpbmVkLCBbW1NldF1dIGlzIHVuZGVmaW5lZCwgW1tFbnVtZXJhYmxlXV0gaXMgdHJ1ZSwgW1tDb25maWd1cmFibGVdXSBpcyBmYWxzZSkgaXMgZW51bWVyYWJsZQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgIGdldDogdW5kZWZpbmVkLA0KICAgICAgICAgICAgc2V0OiB1bmRlZmluZWQsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgcHJvcGVydHlEZWZpbmVDb3JyZWN0ID0gb2JqLmhhc093blByb3BlcnR5KCJwcm9wIik7DQogICAgICAgIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wIik7DQoNCiAgICAgICAgZm9yICh2YXIgcCBpbiBvYmopIHsNCiAgICAgICAgICAgIGlmIChwID09PSAicHJvcCIpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gcHJvcGVydHlEZWZpbmVDb3JyZWN0ICYmIGRlc2MuZW51bWVyYWJsZSA9PT0gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIHJldHVybiBmYWxzZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"ES5 Attributes - property ([[Get]] is undefined, [[Set]] is undefined, [[Enumerable]] is true, [[Configurable]] is false) is enumerable","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-433.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTQzNC5qcw0KICogQGRlc2NyaXB0aW9uIEVTNSBBdHRyaWJ1dGVzIC0gcHJvcGVydHkgKFtbR2V0XV0gaXMgdW5kZWZpbmVkLCBbW1NldF1dIGlzIHVuZGVmaW5lZCwgW1tFbnVtZXJhYmxlXV0gaXMgdHJ1ZSwgW1tDb25maWd1cmFibGVdXSBpcyBmYWxzZSkgaXMgdW5kZWxldGFibGUNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICBnZXQ6IHVuZGVmaW5lZCwNCiAgICAgICAgICAgIHNldDogdW5kZWZpbmVkLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIHByb3BlcnR5RGVmaW5lQ29ycmVjdCA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KICAgICAgICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcCIpOw0KDQogICAgICAgIGRlbGV0ZSBvYmoucHJvcDsNCg0KICAgICAgICByZXR1cm4gcHJvcGVydHlEZWZpbmVDb3JyZWN0ICYmIGRlc2MuY29uZmlndXJhYmxlID09PSBmYWxzZSAmJiBvYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"ES5 Attributes - property ([[Get]] is undefined, [[Set]] is undefined, [[Enumerable]] is true, [[Configurable]] is false) is undeletable","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-434.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTQzNS5qcw0KICogQGRlc2NyaXB0aW9uIEVTNSBBdHRyaWJ1dGVzIC0gZmFpbCB0byB1cGRhdGUgW1tHZXRdXSBhdHRyaWJ1dGUgb2YgYWNjZXNzb3IgcHJvcGVydHkgKFtbR2V0XV0gaXMgdW5kZWZpbmVkLCBbW1NldF1dIGlzIHVuZGVmaW5lZCwgW1tFbnVtZXJhYmxlXV0gaXMgdHJ1ZSwgW1tDb25maWd1cmFibGVdXSBpcyBmYWxzZSkgdG8gZGlmZmVyZW50IHZhbHVlDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICB2YXIgZ2V0RnVuYyA9IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgIHJldHVybiAxMDAxOw0KICAgICAgICB9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgZ2V0OiB1bmRlZmluZWQsDQogICAgICAgICAgICBzZXQ6IHVuZGVmaW5lZCwNCiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciByZXN1bHQxID0gdHlwZW9mIG9iai5wcm9wID09PSAidW5kZWZpbmVkIjsNCiAgICAgICAgdmFyIGRlc2MxID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wIik7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgICAgIGdldDogZ2V0RnVuYw0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgdmFyIHJlc3VsdDIgPSB0eXBlb2Ygb2JqLnByb3AgPT09ICJ1bmRlZmluZWQiOw0KICAgICAgICAgICAgdmFyIGRlc2MyID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wIik7DQogICAgICAgICAgICByZXR1cm4gcmVzdWx0MSAmJiByZXN1bHQyICYmIHR5cGVvZiBkZXNjMS5nZXQgPT09ICJ1bmRlZmluZWQiICYmIHR5cGVvZiBkZXNjMi5nZXQgPT09ICJ1bmRlZmluZWQiICYmIGUgaW5zdGFuY2VvZiBUeXBlRXJyb3I7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"ES5 Attributes - fail to update [[Get]] attribute of accessor property ([[Get]] is undefined, [[Set]] is undefined, [[Enumerable]] is true, [[Configurable]] is false) to different value","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-435.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTQzNi5qcw0KICogQGRlc2NyaXB0aW9uIEVTNSBBdHRyaWJ1dGVzIC0gZmFpbCB0byB1cGRhdGUgW1tTZXRdXSBhdHRyaWJ1dGUgb2YgYWNjZXNzb3IgcHJvcGVydHkgKFtbR2V0XV0gaXMgdW5kZWZpbmVkLCBbW1NldF1dIGlzIHVuZGVmaW5lZCwgW1tFbnVtZXJhYmxlXV0gaXMgdHJ1ZSwgW1tDb25maWd1cmFibGVdXSBpcyBmYWxzZSkgdG8gZGlmZmVyZW50IHZhbHVlDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICB2YXIgdmVyaWZ5U2V0RnVuYyA9ICJkYXRhIjsNCiAgICAgICAgdmFyIHNldEZ1bmMgPSBmdW5jdGlvbiAodmFsdWUpIHsNCiAgICAgICAgICAgIHZlcmlmeVNldEZ1bmMgPSB2YWx1ZTsNCiAgICAgICAgfTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgIGdldDogdW5kZWZpbmVkLA0KICAgICAgICAgICAgc2V0OiB1bmRlZmluZWQsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgZGVzYzEgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3AiKTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICAgICAgc2V0OiBzZXRGdW5jDQogICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICB2YXIgZGVzYzIgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3AiKTsNCiAgICAgICAgICAgIHJldHVybiB0eXBlb2YgZGVzYzEuc2V0ID09PSAidW5kZWZpbmVkIiAmJiB0eXBlb2YgZGVzYzIuc2V0ID09PSAidW5kZWZpbmVkIiAmJiBlIGluc3RhbmNlb2YgVHlwZUVycm9yOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"ES5 Attributes - fail to update [[Set]] attribute of accessor property ([[Get]] is undefined, [[Set]] is undefined, [[Enumerable]] is true, [[Configurable]] is false) to different value","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-436.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTQzNy5qcw0KICogQGRlc2NyaXB0aW9uIEVTNSBBdHRyaWJ1dGVzIC0gZmFpbCB0byB1cGRhdGUgW1tFbnVtZXJhYmxlXV0gYXR0cmlidXRlIG9mIGFjY2Vzc29yIHByb3BlcnR5IChbW0dldF1dIGlzIHVuZGVmaW5lZCwgW1tTZXRdXSBpcyB1bmRlZmluZWQsIFtbRW51bWVyYWJsZV1dIGlzIHRydWUsIFtbQ29uZmlndXJhYmxlXV0gaXMgZmFsc2UpIHRvIGRpZmZlcmVudCB2YWx1ZQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgIGdldDogdW5kZWZpbmVkLA0KICAgICAgICAgICAgc2V0OiB1bmRlZmluZWQsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICB9KTsNCiAgICAgICAgdmFyIHJlc3VsdDEgPSBmYWxzZTsNCiAgICAgICAgdmFyIGRlc2MxID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wIik7DQogICAgICAgIGZvciAodmFyIHAxIGluIG9iaikgew0KICAgICAgICAgICAgaWYgKHAxID09PSAicHJvcCIpIHsNCiAgICAgICAgICAgICAgICByZXN1bHQxID0gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZQ0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgdmFyIHJlc3VsdDIgPSBmYWxzZTsNCiAgICAgICAgICAgIHZhciBkZXNjMiA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcCIpOw0KICAgICAgICAgICAgZm9yICh2YXIgcDIgaW4gb2JqKSB7DQogICAgICAgICAgICAgICAgaWYgKHAyID09PSAicHJvcCIpIHsNCiAgICAgICAgICAgICAgICAgICAgcmVzdWx0MiA9IHRydWU7DQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICByZXR1cm4gcmVzdWx0MSAmJiByZXN1bHQyICYmIGRlc2MxLmVudW1lcmFibGUgPT09IHRydWUgJiYgZGVzYzIuZW51bWVyYWJsZSA9PT0gdHJ1ZSAmJiBlIGluc3RhbmNlb2YgVHlwZUVycm9yOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"ES5 Attributes - fail to update [[Enumerable]] attribute of accessor property ([[Get]] is undefined, [[Set]] is undefined, [[Enumerable]] is true, [[Configurable]] is false) to different value","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-437.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTQzOC5qcw0KICogQGRlc2NyaXB0aW9uIEVTNSBBdHRyaWJ1dGVzIC0gZmFpbCB0byB1cGRhdGUgW1tDb25maWd1cmFibGVdXSBhdHRyaWJ1dGUgb2YgYWNjZXNzb3IgcHJvcGVydHkgKFtbR2V0XV0gaXMgdW5kZWZpbmVkLCBbW1NldF1dIGlzIHVuZGVmaW5lZCwgW1tFbnVtZXJhYmxlXV0gaXMgdHJ1ZSwgW1tDb25maWd1cmFibGVdXSBpcyBmYWxzZSkgdG8gZGlmZmVyZW50IHZhbHVlDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgZ2V0OiB1bmRlZmluZWQsDQogICAgICAgICAgICBzZXQ6IHVuZGVmaW5lZCwNCiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgIH0pOw0KICAgICAgICB2YXIgZGVzYzEgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3AiKTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICB2YXIgZGVzYzIgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3AiKTsNCiAgICAgICAgICAgIGRlbGV0ZSBvYmoucHJvcDsNCg0KICAgICAgICAgICAgcmV0dXJuIGRlc2MxLmNvbmZpZ3VyYWJsZSA9PT0gZmFsc2UgJiYgZGVzYzIuY29uZmlndXJhYmxlID09PSBmYWxzZSAmJiBvYmouaGFzT3duUHJvcGVydHkoInByb3AiKSAmJiBlIGluc3RhbmNlb2YgVHlwZUVycm9yOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"ES5 Attributes - fail to update [[Configurable]] attribute of accessor property ([[Get]] is undefined, [[Set]] is undefined, [[Enumerable]] is true, [[Configurable]] is false) to different value","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-438.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTQzOS5qcw0KICogQGRlc2NyaXB0aW9uIEVTNSBBdHRyaWJ1dGVzIC0gZmFpbCB0byB1cGRhdGUgdGhlIGFjY2Vzc29yIHByb3BlcnR5IChbW0dldF1dIGlzIHVuZGVmaW5lZCwgW1tTZXRdXSBpcyB1bmRlZmluZWQsIFtbRW51bWVyYWJsZV1dIGlzIHRydWUsIFtbQ29uZmlndXJhYmxlXV0gaXMgZmFsc2UpIHRvIGEgZGF0YSBwcm9wZXJ0eQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgIGdldDogdW5kZWZpbmVkLA0KICAgICAgICAgICAgc2V0OiB1bmRlZmluZWQsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICB9KTsNCiAgICAgICAgdmFyIGRlc2MxID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wIik7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgICAgIHZhbHVlOiAxMDAxDQogICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICB2YXIgZGVzYzIgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3AiKTsNCg0KICAgICAgICAgICAgcmV0dXJuIGRlc2MxLmhhc093blByb3BlcnR5KCJnZXQiKSAmJiAhZGVzYzIuaGFzT3duUHJvcGVydHkoInZhbHVlIikgJiYgZSBpbnN0YW5jZW9mIFR5cGVFcnJvcjsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"ES5 Attributes - fail to update the accessor property ([[Get]] is undefined, [[Set]] is undefined, [[Enumerable]] is true, [[Configurable]] is false) to a data property","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-439.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTQ0MC5qcw0KICogQGRlc2NyaXB0aW9uIEVTNSBBdHRyaWJ1dGVzIC0gW1tHZXRdXSBhdHRyaWJ1dGUgb2YgYWNjZXNzb3IgcHJvcGVydHkgKFtbR2V0XV0gaXMgdW5kZWZpbmVkLCBbW1NldF1dIGlzIHVuZGVmaW5lZCwgW1tFbnVtZXJhYmxlXV0gaXMgZmFsc2UsIFtbQ29uZmlndXJhYmxlXV0gaXMgdHJ1ZSkgaXMgdW5kZWZpbmVkDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgZ2V0OiB1bmRlZmluZWQsDQogICAgICAgICAgICBzZXQ6IHVuZGVmaW5lZCwNCiAgICAgICAgICAgIGVudW1lcmFibGU6IGZhbHNlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBwcm9wZXJ0eURlZmluZUNvcnJlY3QgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCiAgICAgICAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3AiKTsNCg0KICAgICAgICByZXR1cm4gcHJvcGVydHlEZWZpbmVDb3JyZWN0ICYmIHR5cGVvZiBkZXNjLmdldCA9PT0gInVuZGVmaW5lZCI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"ES5 Attributes - [[Get]] attribute of accessor property ([[Get]] is undefined, [[Set]] is undefined, [[Enumerable]] is false, [[Configurable]] is true) is undefined","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-440.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTQ0MS5qcw0KICogQGRlc2NyaXB0aW9uIEVTNSBBdHRyaWJ1dGVzIC0gW1tTZXRdXSBhdHRyaWJ1dGUgb2YgYWNjZXNzb3IgcHJvcGVydHkgKFtbR2V0XV0gaXMgdW5kZWZpbmVkLCBbW1NldF1dIGlzIHVuZGVmaW5lZCwgW1tFbnVtZXJhYmxlXV0gaXMgZmFsc2UsIFtbQ29uZmlndXJhYmxlXV0gaXMgdHJ1ZSkgaXMgdW5kZWZpbmVkDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgZ2V0OiB1bmRlZmluZWQsDQogICAgICAgICAgICBzZXQ6IHVuZGVmaW5lZCwNCiAgICAgICAgICAgIGVudW1lcmFibGU6IGZhbHNlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBwcm9wZXJ0eURlZmluZUNvcnJlY3QgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCiAgICAgICAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3AiKTsNCg0KICAgICAgICByZXR1cm4gcHJvcGVydHlEZWZpbmVDb3JyZWN0ICYmIHR5cGVvZiBkZXNjLnNldCA9PT0gInVuZGVmaW5lZCI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"ES5 Attributes - [[Set]] attribute of accessor property ([[Get]] is undefined, [[Set]] is undefined, [[Enumerable]] is false, [[Configurable]] is true) is undefined","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-441.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTQ0Mi5qcw0KICogQGRlc2NyaXB0aW9uIEVTNSBBdHRyaWJ1dGVzIC0gcHJvcGVydHkgKFtbR2V0XV0gaXMgdW5kZWZpbmVkLCBbW1NldF1dIGlzIHVuZGVmaW5lZCwgW1tFbnVtZXJhYmxlXV0gaXMgZmFsc2UsIFtbQ29uZmlndXJhYmxlXV0gaXMgdHJ1ZSkgaXMgbm9uLWVudW1lcmFibGUNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICBnZXQ6IHVuZGVmaW5lZCwNCiAgICAgICAgICAgIHNldDogdW5kZWZpbmVkLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogZmFsc2UsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIHByb3BlcnR5RGVmaW5lQ29ycmVjdCA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KICAgICAgICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcCIpOw0KDQogICAgICAgIGZvciAodmFyIHAgaW4gb2JqKSB7DQogICAgICAgICAgICBpZiAocCA9PT0gInByb3AiKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgcmV0dXJuIHByb3BlcnR5RGVmaW5lQ29ycmVjdCAmJiBkZXNjLmVudW1lcmFibGUgPT09IGZhbHNlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"ES5 Attributes - property ([[Get]] is undefined, [[Set]] is undefined, [[Enumerable]] is false, [[Configurable]] is true) is non-enumerable","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-442.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTQ0My5qcw0KICogQGRlc2NyaXB0aW9uIEVTNSBBdHRyaWJ1dGVzIC0gcHJvcGVydHkgKFtbR2V0XV0gaXMgdW5kZWZpbmVkLCBbW1NldF1dIGlzIHVuZGVmaW5lZCwgW1tFbnVtZXJhYmxlXV0gaXMgZmFsc2UsIFtbQ29uZmlndXJhYmxlXV0gaXMgdHJ1ZSkgaXMgZGVsZXRhYmxlDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgZ2V0OiB1bmRlZmluZWQsDQogICAgICAgICAgICBzZXQ6IHVuZGVmaW5lZCwNCiAgICAgICAgICAgIGVudW1lcmFibGU6IGZhbHNlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBwcm9wZXJ0eURlZmluZUNvcnJlY3QgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCiAgICAgICAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3AiKTsNCg0KICAgICAgICBkZWxldGUgb2JqLnByb3A7DQoNCiAgICAgICAgcmV0dXJuIHByb3BlcnR5RGVmaW5lQ29ycmVjdCAmJiBkZXNjLmNvbmZpZ3VyYWJsZSA9PT0gdHJ1ZSAmJiAhb2JqLmhhc093blByb3BlcnR5KCJwcm9wIik7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"ES5 Attributes - property ([[Get]] is undefined, [[Set]] is undefined, [[Enumerable]] is false, [[Configurable]] is true) is deletable","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-443.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTQ0NC5qcw0KICogQGRlc2NyaXB0aW9uIEVTNSBBdHRyaWJ1dGVzIC0gc3VjY2VzcyB0byB1cGRhdGUgW1tHZXRdXSBhdHRyaWJ1dGUgb2YgYWNjZXNzb3IgcHJvcGVydHkgKFtbR2V0XV0gaXMgdW5kZWZpbmVkLCBbW1NldF1dIGlzIHVuZGVmaW5lZCwgW1tFbnVtZXJhYmxlXV0gaXMgZmFsc2UsIFtbQ29uZmlndXJhYmxlXV0gaXMgdHJ1ZSkgdG8gZGlmZmVyZW50IHZhbHVlDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICB2YXIgZ2V0RnVuYyA9IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgIHJldHVybiAxMDAxOw0KICAgICAgICB9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgZ2V0OiB1bmRlZmluZWQsDQogICAgICAgICAgICBzZXQ6IHVuZGVmaW5lZCwNCiAgICAgICAgICAgIGVudW1lcmFibGU6IGZhbHNlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciByZXN1bHQxID0gdHlwZW9mIG9iai5wcm9wID09PSAidW5kZWZpbmVkIjsNCiAgICAgICAgdmFyIGRlc2MxID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wIik7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICBnZXQ6IGdldEZ1bmMNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIHJlc3VsdDIgPSBvYmoucHJvcCA9PT0gMTAwMTsNCiAgICAgICAgdmFyIGRlc2MyID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wIik7DQoNCiAgICAgICAgcmV0dXJuIHJlc3VsdDEgJiYgcmVzdWx0MiAmJiB0eXBlb2YgZGVzYzEuZ2V0ID09PSAidW5kZWZpbmVkIiAmJiBkZXNjMi5nZXQgPT09IGdldEZ1bmM7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"ES5 Attributes - success to update [[Get]] attribute of accessor property ([[Get]] is undefined, [[Set]] is undefined, [[Enumerable]] is false, [[Configurable]] is true) to different value","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-444.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTQ0NS5qcw0KICogQGRlc2NyaXB0aW9uIEVTNSBBdHRyaWJ1dGVzIC0gc3VjY2VzcyB0byB1cGRhdGUgW1tTZXRdXSBhdHRyaWJ1dGUgb2YgYWNjZXNzb3IgcHJvcGVydHkgKFtbR2V0XV0gaXMgdW5kZWZpbmVkLCBbW1NldF1dIGlzIHVuZGVmaW5lZCwgW1tFbnVtZXJhYmxlXV0gaXMgZmFsc2UsIFtbQ29uZmlndXJhYmxlXV0gaXMgdHJ1ZSkgdG8gZGlmZmVyZW50IHZhbHVlDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIHZhciB2ZXJpZnlTZXRGdW5jID0gImRhdGEiOw0KICAgICAgICB2YXIgc2V0RnVuYyA9IGZ1bmN0aW9uICh2YWx1ZSkgew0KICAgICAgICAgICAgdmVyaWZ5U2V0RnVuYyA9IHZhbHVlOw0KICAgICAgICB9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgZ2V0OiB1bmRlZmluZWQsDQogICAgICAgICAgICBzZXQ6IHVuZGVmaW5lZCwNCiAgICAgICAgICAgIGVudW1lcmFibGU6IGZhbHNlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBkZXNjMSA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcCIpOw0KICAgICAgICB2YXIgcHJvcGVydHlEZWZpbmVDb3JyZWN0ID0gb2JqLmhhc093blByb3BlcnR5KCJwcm9wIik7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICBzZXQ6IHNldEZ1bmMNCiAgICAgICAgfSk7DQoNCiAgICAgICAgb2JqLnByb3AgPSAib3ZlcnJpZGVEYXRhIjsNCiAgICAgICAgdmFyIGRlc2MyID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wIik7DQoNCiAgICAgICAgcmV0dXJuIHR5cGVvZiBkZXNjMS5zZXQgPT09ICJ1bmRlZmluZWQiICYmIHByb3BlcnR5RGVmaW5lQ29ycmVjdCAmJiBkZXNjMi5zZXQgPT09IHNldEZ1bmMgJiYgdmVyaWZ5U2V0RnVuYyA9PT0gIm92ZXJyaWRlRGF0YSI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"ES5 Attributes - success to update [[Set]] attribute of accessor property ([[Get]] is undefined, [[Set]] is undefined, [[Enumerable]] is false, [[Configurable]] is true) to different value","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-445.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTQ0Ni5qcw0KICogQGRlc2NyaXB0aW9uIEVTNSBBdHRyaWJ1dGVzIC0gc3VjY2VzcyB0byB1cGRhdGUgW1tFbnVtZXJhYmxlXV0gYXR0cmlidXRlIG9mIGFjY2Vzc29yIHByb3BlcnR5IChbW0dldF1dIGlzIHVuZGVmaW5lZCwgW1tTZXRdXSBpcyB1bmRlZmluZWQsIFtbRW51bWVyYWJsZV1dIGlzIGZhbHNlLCBbW0NvbmZpZ3VyYWJsZV1dIGlzIHRydWUpIHRvIGRpZmZlcmVudCB2YWx1ZQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgIGdldDogdW5kZWZpbmVkLA0KICAgICAgICAgICAgc2V0OiB1bmRlZmluZWQsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCiAgICAgICAgdmFyIHJlc3VsdDEgPSBmYWxzZTsNCiAgICAgICAgdmFyIGRlc2MxID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wIik7DQogICAgICAgIGZvciAodmFyIHAxIGluIG9iaikgew0KICAgICAgICAgICAgaWYgKHAxID09PSAicHJvcCIpIHsNCiAgICAgICAgICAgICAgICByZXN1bHQxID0gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCiAgICAgICAgdmFyIHJlc3VsdDIgPSBmYWxzZTsNCiAgICAgICAgdmFyIGRlc2MyID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wIik7DQogICAgICAgIGZvciAodmFyIHAyIGluIG9iaikgew0KICAgICAgICAgICAgaWYgKHAyID09PSAicHJvcCIpIHsNCiAgICAgICAgICAgICAgICByZXN1bHQyID0gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIHJldHVybiAhcmVzdWx0MSAmJiByZXN1bHQyICYmIGRlc2MxLmVudW1lcmFibGUgPT09IGZhbHNlICYmIGRlc2MyLmVudW1lcmFibGUgPT09IHRydWU7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"ES5 Attributes - success to update [[Enumerable]] attribute of accessor property ([[Get]] is undefined, [[Set]] is undefined, [[Enumerable]] is false, [[Configurable]] is true) to different value","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-446.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTQ0Ny5qcw0KICogQGRlc2NyaXB0aW9uIEVTNSBBdHRyaWJ1dGVzIC0gc3VjY2VzcyB0byB1cGRhdGUgW1tDb25maWd1cmFibGVdXSBhdHRyaWJ1dGUgb2YgYWNjZXNzb3IgcHJvcGVydHkgKFtbR2V0XV0gaXMgdW5kZWZpbmVkLCBbW1NldF1dIGlzIHVuZGVmaW5lZCwgW1tFbnVtZXJhYmxlXV0gaXMgZmFsc2UsIFtbQ29uZmlndXJhYmxlXV0gaXMgdHJ1ZSkgdG8gZGlmZmVyZW50IHZhbHVlDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgZ2V0OiB1bmRlZmluZWQsDQogICAgICAgICAgICBzZXQ6IHVuZGVmaW5lZCwNCiAgICAgICAgICAgIGVudW1lcmFibGU6IGZhbHNlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KICAgICAgICB2YXIgZGVzYzEgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3AiKTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgfSk7DQogICAgICAgIHZhciBkZXNjMiA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcCIpOw0KICAgICAgICBkZWxldGUgb2JqLnByb3A7DQoNCiAgICAgICAgcmV0dXJuIGRlc2MxLmNvbmZpZ3VyYWJsZSA9PT0gdHJ1ZSAmJiBkZXNjMi5jb25maWd1cmFibGUgPT09IGZhbHNlICYmIG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"ES5 Attributes - success to update [[Configurable]] attribute of accessor property ([[Get]] is undefined, [[Set]] is undefined, [[Enumerable]] is false, [[Configurable]] is true) to different value","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-447.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTQ0OC5qcw0KICogQGRlc2NyaXB0aW9uIEVTNSBBdHRyaWJ1dGVzIC0gc3VjY2VzcyB0byB1cGRhdGUgdGhlIGFjY2Vzc29yIHByb3BlcnR5IChbW0dldF1dIGlzIHVuZGVmaW5lZCwgW1tTZXRdXSBpcyB1bmRlZmluZWQsIFtbRW51bWVyYWJsZV1dIGlzIGZhbHNlLCBbW0NvbmZpZ3VyYWJsZV1dIGlzIHRydWUpIHRvIGEgZGF0YSBwcm9wZXJ0eQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgIGdldDogdW5kZWZpbmVkLA0KICAgICAgICAgICAgc2V0OiB1bmRlZmluZWQsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCiAgICAgICAgdmFyIGRlc2MxID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wIik7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICB2YWx1ZTogMTAwMQ0KICAgICAgICB9KTsNCiAgICAgICAgdmFyIGRlc2MyID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wIik7DQoNCiAgICAgICAgcmV0dXJuIGRlc2MxLmhhc093blByb3BlcnR5KCJnZXQiKSAmJiBkZXNjMi5oYXNPd25Qcm9wZXJ0eSgidmFsdWUiKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"ES5 Attributes - success to update the accessor property ([[Get]] is undefined, [[Set]] is undefined, [[Enumerable]] is false, [[Configurable]] is true) to a data property","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-448.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTQ0OS5qcw0KICogQGRlc2NyaXB0aW9uIEVTNSBBdHRyaWJ1dGVzIC0gW1tHZXRdXSBhdHRyaWJ1dGUgb2YgYWNjZXNzb3IgcHJvcGVydHkgKFtbR2V0XV0gaXMgdW5kZWZpbmVkLCBbW1NldF1dIGlzIHVuZGVmaW5lZCwgW1tFbnVtZXJhYmxlXV0gaXMgZmFsc2UsIFtbQ29uZmlndXJhYmxlXV0gaXMgZmFsc2UpIGlzIHVuZGVmaW5lZA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgIGdldDogdW5kZWZpbmVkLA0KICAgICAgICAgICAgc2V0OiB1bmRlZmluZWQsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIHByb3BlcnR5RGVmaW5lQ29ycmVjdCA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KICAgICAgICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcCIpOw0KDQogICAgICAgIHJldHVybiBwcm9wZXJ0eURlZmluZUNvcnJlY3QgJiYgdHlwZW9mIGRlc2MuZ2V0ID09PSAidW5kZWZpbmVkIjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"ES5 Attributes - [[Get]] attribute of accessor property ([[Get]] is undefined, [[Set]] is undefined, [[Enumerable]] is false, [[Configurable]] is false) is undefined","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-449.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTQ1LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnR5IC0gJ08nIGlzIHRoZSBnbG9iYWwgb2JqZWN0IHRoYXQgdXNlcyBPYmplY3QncyBbW0dldE93blByb3BlcnR5XV0gbWV0aG9kIHRvIGFjY2VzcyB0aGUgJ25hbWUnIHByb3BlcnR5ICg4LjEyLjkgc3RlcCAxKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoZm5HbG9iYWxPYmplY3QoKSwgImZvbyIsIHsNCiAgICAgICAgICAgICAgICB2YWx1ZTogMTIsDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgcmV0dXJuIGRhdGFQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KGZuR2xvYmFsT2JqZWN0KCksICJmb28iLCAxMiwgZmFsc2UsIGZhbHNlLCB0cnVlKTsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBmbkdsb2JhbE9iamVjdCgpLmZvbzsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'O' is the global object that uses Object's [[GetOwnProperty]] method to access the 'name' property (8.12.9 step 1)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-45.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTQ1MC5qcw0KICogQGRlc2NyaXB0aW9uIEVTNSBBdHRyaWJ1dGVzIC0gW1tTZXRdXSBhdHRyaWJ1dGUgb2YgYWNjZXNzb3IgcHJvcGVydHkgKFtbR2V0XV0gaXMgdW5kZWZpbmVkLCBbW1NldF1dIGlzIHVuZGVmaW5lZCwgW1tFbnVtZXJhYmxlXV0gaXMgZmFsc2UsIFtbQ29uZmlndXJhYmxlXV0gaXMgZmFsc2UpIGlzIHVuZGVmaW5lZA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgIGdldDogdW5kZWZpbmVkLA0KICAgICAgICAgICAgc2V0OiB1bmRlZmluZWQsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIHByb3BlcnR5RGVmaW5lQ29ycmVjdCA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KICAgICAgICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcCIpOw0KDQogICAgICAgIHJldHVybiBwcm9wZXJ0eURlZmluZUNvcnJlY3QgJiYgdHlwZW9mIGRlc2Muc2V0ID09PSAidW5kZWZpbmVkIjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"ES5 Attributes - [[Set]] attribute of accessor property ([[Get]] is undefined, [[Set]] is undefined, [[Enumerable]] is false, [[Configurable]] is false) is undefined","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-450.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTQ1MS5qcw0KICogQGRlc2NyaXB0aW9uIEVTNSBBdHRyaWJ1dGVzIC0gcHJvcGVydHkgKFtbR2V0XV0gaXMgdW5kZWZpbmVkLCBbW1NldF1dIGlzIHVuZGVmaW5lZCwgW1tFbnVtZXJhYmxlXV0gaXMgZmFsc2UsIFtbQ29uZmlndXJhYmxlXV0gaXMgZmFsc2UpIGlzIG5vbi1lbnVtZXJhYmxlDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgZ2V0OiB1bmRlZmluZWQsDQogICAgICAgICAgICBzZXQ6IHVuZGVmaW5lZCwNCiAgICAgICAgICAgIGVudW1lcmFibGU6IGZhbHNlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgcHJvcGVydHlEZWZpbmVDb3JyZWN0ID0gb2JqLmhhc093blByb3BlcnR5KCJwcm9wIik7DQogICAgICAgIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wIik7DQoNCiAgICAgICAgZm9yICh2YXIgcCBpbiBvYmopIHsNCiAgICAgICAgICAgIGlmIChwID09PSAicHJvcCIpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICByZXR1cm4gcHJvcGVydHlEZWZpbmVDb3JyZWN0ICYmIGRlc2MuZW51bWVyYWJsZSA9PT0gZmFsc2U7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"ES5 Attributes - property ([[Get]] is undefined, [[Set]] is undefined, [[Enumerable]] is false, [[Configurable]] is false) is non-enumerable","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-451.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTQ1Mi5qcw0KICogQGRlc2NyaXB0aW9uIEVTNSBBdHRyaWJ1dGVzIC0gcHJvcGVydHkgKFtbR2V0XV0gaXMgdW5kZWZpbmVkLCBbW1NldF1dIGlzIHVuZGVmaW5lZCwgW1tFbnVtZXJhYmxlXV0gaXMgZmFsc2UsIFtbQ29uZmlndXJhYmxlXV0gaXMgZmFsc2UpIGlzIHVuZGVsZXRhYmxlDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgZ2V0OiB1bmRlZmluZWQsDQogICAgICAgICAgICBzZXQ6IHVuZGVmaW5lZCwNCiAgICAgICAgICAgIGVudW1lcmFibGU6IGZhbHNlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgcHJvcGVydHlEZWZpbmVDb3JyZWN0ID0gb2JqLmhhc093blByb3BlcnR5KCJwcm9wIik7DQogICAgICAgIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wIik7DQoNCiAgICAgICAgZGVsZXRlIG9iai5wcm9wOw0KDQogICAgICAgIHJldHVybiBwcm9wZXJ0eURlZmluZUNvcnJlY3QgJiYgZGVzYy5jb25maWd1cmFibGUgPT09IGZhbHNlICYmIG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"ES5 Attributes - property ([[Get]] is undefined, [[Set]] is undefined, [[Enumerable]] is false, [[Configurable]] is false) is undeletable","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-452.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTQ1My5qcw0KICogQGRlc2NyaXB0aW9uIEVTNSBBdHRyaWJ1dGVzIC0gZmFpbCB0byB1cGRhdGUgW1tHZXRdXSBhdHRyaWJ1dGUgb2YgYWNjZXNzb3IgcHJvcGVydHkgKFtbR2V0XV0gaXMgdW5kZWZpbmVkLCBbW1NldF1dIGlzIHVuZGVmaW5lZCwgW1tFbnVtZXJhYmxlXV0gaXMgZmFsc2UsIFtbQ29uZmlndXJhYmxlXV0gaXMgZmFsc2UpIHRvIGRpZmZlcmVudCB2YWx1ZQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgdmFyIGdldEZ1bmMgPSBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICByZXR1cm4gMTAwMTsNCiAgICAgICAgfTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgIGdldDogdW5kZWZpbmVkLA0KICAgICAgICAgICAgc2V0OiB1bmRlZmluZWQsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIHJlc3VsdDEgPSB0eXBlb2Ygb2JqLnByb3AgPT09ICJ1bmRlZmluZWQiOw0KICAgICAgICB2YXIgZGVzYzEgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3AiKTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICAgICAgZ2V0OiBnZXRGdW5jDQogICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICB2YXIgcmVzdWx0MiA9IHR5cGVvZiBvYmoucHJvcCA9PT0gInVuZGVmaW5lZCI7DQogICAgICAgICAgICB2YXIgZGVzYzIgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3AiKTsNCiAgICAgICAgICAgIHJldHVybiByZXN1bHQxICYmIHJlc3VsdDIgJiYgdHlwZW9mIGRlc2MxLmdldCA9PT0gInVuZGVmaW5lZCIgJiYgdHlwZW9mIGRlc2MyLmdldCA9PT0gInVuZGVmaW5lZCIgJiYgZSBpbnN0YW5jZW9mIFR5cGVFcnJvcjsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"ES5 Attributes - fail to update [[Get]] attribute of accessor property ([[Get]] is undefined, [[Set]] is undefined, [[Enumerable]] is false, [[Configurable]] is false) to different value","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-453.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTQ1NC5qcw0KICogQGRlc2NyaXB0aW9uIEVTNSBBdHRyaWJ1dGVzIC0gZmFpbCB0byB1cGRhdGUgW1tTZXRdXSBhdHRyaWJ1dGUgb2YgYWNjZXNzb3IgcHJvcGVydHkgKFtbR2V0XV0gaXMgdW5kZWZpbmVkLCBbW1NldF1dIGlzIHVuZGVmaW5lZCwgW1tFbnVtZXJhYmxlXV0gaXMgZmFsc2UsIFtbQ29uZmlndXJhYmxlXV0gaXMgZmFsc2UpIHRvIGRpZmZlcmVudCB2YWx1ZQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICB2YXIgdmVyaWZ5U2V0RnVuYyA9ICJkYXRhIjsNCiAgICAgICAgdmFyIHNldEZ1bmMgPSBmdW5jdGlvbiAodmFsdWUpIHsNCiAgICAgICAgICAgIHZlcmlmeVNldEZ1bmMgPSB2YWx1ZTsNCiAgICAgICAgfTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgIGdldDogdW5kZWZpbmVkLA0KICAgICAgICAgICAgc2V0OiB1bmRlZmluZWQsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIGRlc2MxID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wIik7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgICAgIHNldDogc2V0RnVuYw0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgdmFyIGRlc2MyID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wIik7DQogICAgICAgICAgICByZXR1cm4gdHlwZW9mIGRlc2MxLnNldCA9PT0gInVuZGVmaW5lZCIgJiYgdHlwZW9mIGRlc2MyLnNldCA9PT0gInVuZGVmaW5lZCIgJiYgZSBpbnN0YW5jZW9mIFR5cGVFcnJvcjsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"ES5 Attributes - fail to update [[Set]] attribute of accessor property ([[Get]] is undefined, [[Set]] is undefined, [[Enumerable]] is false, [[Configurable]] is false) to different value","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-454.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTQ1NS5qcw0KICogQGRlc2NyaXB0aW9uIEVTNSBBdHRyaWJ1dGVzIC0gZmFpbCB0byB1cGRhdGUgW1tFbnVtZXJhYmxlXV0gYXR0cmlidXRlIG9mIGFjY2Vzc29yIHByb3BlcnR5IChbW0dldF1dIGlzIHVuZGVmaW5lZCwgW1tTZXRdXSBpcyB1bmRlZmluZWQsIFtbRW51bWVyYWJsZV1dIGlzIGZhbHNlLCBbW0NvbmZpZ3VyYWJsZV1dIGlzIGZhbHNlKSB0byBkaWZmZXJlbnQgdmFsdWUNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICBnZXQ6IHVuZGVmaW5lZCwNCiAgICAgICAgICAgIHNldDogdW5kZWZpbmVkLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogZmFsc2UsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgIH0pOw0KICAgICAgICB2YXIgcmVzdWx0MSA9IGZhbHNlOw0KICAgICAgICB2YXIgZGVzYzEgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3AiKTsNCiAgICAgICAgZm9yICh2YXIgcDEgaW4gb2JqKSB7DQogICAgICAgICAgICBpZiAocDEgPT09ICJwcm9wIikgew0KICAgICAgICAgICAgICAgIHJlc3VsdDEgPSB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUNCiAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHZhciByZXN1bHQyID0gZmFsc2U7DQogICAgICAgICAgICB2YXIgZGVzYzIgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3AiKTsNCiAgICAgICAgICAgIGZvciAodmFyIHAyIGluIG9iaikgew0KICAgICAgICAgICAgICAgIGlmIChwMiA9PT0gInByb3AiKSB7DQogICAgICAgICAgICAgICAgICAgIHJlc3VsdDIgPSB0cnVlOw0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgcmV0dXJuICFyZXN1bHQxICYmICFyZXN1bHQyICYmIGRlc2MxLmVudW1lcmFibGUgPT09IGZhbHNlICYmIGRlc2MyLmVudW1lcmFibGUgPT09IGZhbHNlICYmIGUgaW5zdGFuY2VvZiBUeXBlRXJyb3I7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"ES5 Attributes - fail to update [[Enumerable]] attribute of accessor property ([[Get]] is undefined, [[Set]] is undefined, [[Enumerable]] is false, [[Configurable]] is false) to different value","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-455.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTQ1Ni5qcw0KICogQGRlc2NyaXB0aW9uIEVTNSBBdHRyaWJ1dGVzIC0gZmFpbCB0byB1cGRhdGUgW1tDb25maWd1cmFibGVdXSBhdHRyaWJ1dGUgb2YgYWNjZXNzb3IgcHJvcGVydHkgKFtbR2V0XV0gaXMgdW5kZWZpbmVkLCBbW1NldF1dIGlzIHVuZGVmaW5lZCwgW1tFbnVtZXJhYmxlXV0gaXMgZmFsc2UsIFtbQ29uZmlndXJhYmxlXV0gaXMgZmFsc2UpIHRvIGRpZmZlcmVudCB2YWx1ZQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgIGdldDogdW5kZWZpbmVkLA0KICAgICAgICAgICAgc2V0OiB1bmRlZmluZWQsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgfSk7DQogICAgICAgIHZhciBkZXNjMSA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcCIpOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHZhciBkZXNjMiA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcCIpOw0KICAgICAgICAgICAgZGVsZXRlIG9iai5wcm9wOw0KDQogICAgICAgICAgICByZXR1cm4gZGVzYzEuY29uZmlndXJhYmxlID09PSBmYWxzZSAmJiBkZXNjMi5jb25maWd1cmFibGUgPT09IGZhbHNlICYmIG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpICYmIGUgaW5zdGFuY2VvZiBUeXBlRXJyb3I7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"ES5 Attributes - fail to update [[Configurable]] attribute of accessor property ([[Get]] is undefined, [[Set]] is undefined, [[Enumerable]] is false, [[Configurable]] is false) to different value","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-456.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTQ1Ny5qcw0KICogQGRlc2NyaXB0aW9uIEVTNSBBdHRyaWJ1dGVzIC0gZmFpbCB0byB1cGRhdGUgdGhlIGFjY2Vzc29yIHByb3BlcnR5IChbW0dldF1dIGlzIHVuZGVmaW5lZCwgW1tTZXRdXSBpcyB1bmRlZmluZWQsIFtbRW51bWVyYWJsZV1dIGlzIGZhbHNlLCBbW0NvbmZpZ3VyYWJsZV1dIGlzIGZhbHNlKSB0byBhIGRhdGEgcHJvcGVydHkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICBnZXQ6IHVuZGVmaW5lZCwNCiAgICAgICAgICAgIHNldDogdW5kZWZpbmVkLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogZmFsc2UsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgIH0pOw0KICAgICAgICB2YXIgZGVzYzEgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3AiKTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICAgICAgdmFsdWU6IDEwMDENCiAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHZhciBkZXNjMiA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcCIpOw0KDQogICAgICAgICAgICByZXR1cm4gZGVzYzEuaGFzT3duUHJvcGVydHkoImdldCIpICYmICFkZXNjMi5oYXNPd25Qcm9wZXJ0eSgidmFsdWUiKSAmJiBlIGluc3RhbmNlb2YgVHlwZUVycm9yOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"ES5 Attributes - fail to update the accessor property ([[Get]] is undefined, [[Set]] is undefined, [[Enumerable]] is false, [[Configurable]] is false) to a data property","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-457.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTQ1OC5qcw0KICogQGRlc2NyaXB0aW9uIEVTNSBBdHRyaWJ1dGVzIC0gW1tHZXRdXSBhdHRyaWJ1dGUgb2YgYWNjZXNzb3IgcHJvcGVydHkgKFtbR2V0XV0gaXMgdW5kZWZpbmVkLCBbW1NldF1dIGlzIGEgRnVuY3Rpb24sIFtbRW51bWVyYWJsZV1dIGlzIHRydWUsIFtbQ29uZmlndXJhYmxlXV0gaXMgdHJ1ZSkgaXMgdW5kZWZpbmVkDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIHZhciB2ZXJpZnlTZXRGdW5jID0gImRhdGEiOw0KICAgICAgICB2YXIgc2V0RnVuYyA9IGZ1bmN0aW9uICh2YWx1ZSkgew0KICAgICAgICAgICAgdmVyaWZ5U2V0RnVuYyA9IHZhbHVlOw0KICAgICAgICB9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgZ2V0OiB1bmRlZmluZWQsDQogICAgICAgICAgICBzZXQ6IHNldEZ1bmMsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBwcm9wZXJ0eURlZmluZUNvcnJlY3QgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCiAgICAgICAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3AiKTsNCg0KICAgICAgICByZXR1cm4gcHJvcGVydHlEZWZpbmVDb3JyZWN0ICYmIHR5cGVvZiBkZXNjLmdldCA9PT0gInVuZGVmaW5lZCI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"ES5 Attributes - [[Get]] attribute of accessor property ([[Get]] is undefined, [[Set]] is a Function, [[Enumerable]] is true, [[Configurable]] is true) is undefined","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-458.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTQ1OS5qcw0KICogQGRlc2NyaXB0aW9uIEVTNSBBdHRyaWJ1dGVzIC0gW1tTZXRdXSBhdHRyaWJ1dGUgb2YgYWNjZXNzb3IgcHJvcGVydHkgKFtbR2V0XV0gaXMgdW5kZWZpbmVkLCBbW1NldF1dIGlzIGEgRnVuY3Rpb24sIFtbRW51bWVyYWJsZV1dIGlzIHRydWUsIFtbQ29uZmlndXJhYmxlXV0gaXMgdHJ1ZSkgaXMgdGhlIGV4cGVjdGVkIGZ1bmN0aW9uDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIHZhciB2ZXJpZnlTZXRGdW5jID0gImRhdGEiOw0KICAgICAgICB2YXIgc2V0RnVuYyA9IGZ1bmN0aW9uICh2YWx1ZSkgew0KICAgICAgICAgICAgdmVyaWZ5U2V0RnVuYyA9IHZhbHVlOw0KICAgICAgICB9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgZ2V0OiB1bmRlZmluZWQsDQogICAgICAgICAgICBzZXQ6IHNldEZ1bmMsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIG9iai5wcm9wID0gIm92ZXJyaWRlRGF0YSI7DQogICAgICAgIHZhciBwcm9wZXJ0eURlZmluZUNvcnJlY3QgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCiAgICAgICAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3AiKTsNCg0KICAgICAgICByZXR1cm4gcHJvcGVydHlEZWZpbmVDb3JyZWN0ICYmIGRlc2Muc2V0ID09PSBzZXRGdW5jICYmIHZlcmlmeVNldEZ1bmMgPT09ICJvdmVycmlkZURhdGEiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"ES5 Attributes - [[Set]] attribute of accessor property ([[Get]] is undefined, [[Set]] is a Function, [[Enumerable]] is true, [[Configurable]] is true) is the expected function","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-459.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTQ2LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnR5IC0gJ25hbWUnIGlzIGRlZmluZWQgYXMgZGF0YSBwcm9wZXJ0eSBpZiAnbmFtZScgcHJvcGVydHkgZG9lc24ndCBleGlzdCBpbiAnTycgYW5kICdkZXNjJyBpcyBnZW5lcmljIGRlc2NyaXB0b3IgKDguMTIuOSBzdGVwIDQuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3BlcnR5Iiwgew0KICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgaXNFbnVtZXJhYmxlID0gZmFsc2U7DQogICAgICAgIGZvciAodmFyIGl0ZW0gaW4gb2JqKSB7DQogICAgICAgICAgICBpZiAob2JqLmhhc093blByb3BlcnR5KGl0ZW0pICYmIGl0ZW0gPT09ICJwcm9wZXJ0eSIpIHsNCiAgICAgICAgICAgICAgICBpc0VudW1lcmFibGUgPSB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgcmV0dXJuIG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcGVydHkiKSAmJiBpc0VudW1lcmFibGU7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - 'name' is defined as data property if 'name' property doesn't exist in 'O' and 'desc' is generic descriptor (8.12.9 step 4.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-46.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTQ2MC5qcw0KICogQGRlc2NyaXB0aW9uIEVTNSBBdHRyaWJ1dGVzIC0gcHJvcGVydHkgKFtbR2V0XV0gaXMgdW5kZWZpbmVkLCBbW1NldF1dIGlzIGEgRnVuY3Rpb24sIFtbRW51bWVyYWJsZV1dIGlzIHRydWUsIFtbQ29uZmlndXJhYmxlXV0gaXMgdHJ1ZSkgaXMgZW51bWVyYWJsZQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICB2YXIgdmVyaWZ5U2V0RnVuYyA9ICJkYXRhIjsNCiAgICAgICAgdmFyIHNldEZ1bmMgPSBmdW5jdGlvbiAodmFsdWUpIHsNCiAgICAgICAgICAgIHZlcmlmeVNldEZ1bmMgPSB2YWx1ZTsNCiAgICAgICAgfTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgIGdldDogdW5kZWZpbmVkLA0KICAgICAgICAgICAgc2V0OiBzZXRGdW5jLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgcHJvcGVydHlEZWZpbmVDb3JyZWN0ID0gb2JqLmhhc093blByb3BlcnR5KCJwcm9wIik7DQogICAgICAgIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wIik7DQoNCiAgICAgICAgZm9yICh2YXIgcCBpbiBvYmopIHsNCiAgICAgICAgICAgIGlmIChwID09PSAicHJvcCIpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gcHJvcGVydHlEZWZpbmVDb3JyZWN0ICYmIGRlc2MuZW51bWVyYWJsZSA9PT0gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIHJldHVybiBmYWxzZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"ES5 Attributes - property ([[Get]] is undefined, [[Set]] is a Function, [[Enumerable]] is true, [[Configurable]] is true) is enumerable","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-460.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTQ2MS5qcw0KICogQGRlc2NyaXB0aW9uIEVTNSBBdHRyaWJ1dGVzIC0gcHJvcGVydHkgKFtbR2V0XV0gaXMgdW5kZWZpbmVkLCBbW1NldF1dIGlzIGEgRnVuY3Rpb24sIFtbRW51bWVyYWJsZV1dIGlzIHRydWUsIFtbQ29uZmlndXJhYmxlXV0gaXMgdHJ1ZSkgaXMgZGVsZXRhYmxlDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIHZhciB2ZXJpZnlTZXRGdW5jID0gImRhdGEiOw0KICAgICAgICB2YXIgc2V0RnVuYyA9IGZ1bmN0aW9uICh2YWx1ZSkgew0KICAgICAgICAgICAgdmVyaWZ5U2V0RnVuYyA9IHZhbHVlOw0KICAgICAgICB9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgZ2V0OiB1bmRlZmluZWQsDQogICAgICAgICAgICBzZXQ6IHNldEZ1bmMsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBwcm9wZXJ0eURlZmluZUNvcnJlY3QgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCiAgICAgICAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3AiKTsNCg0KICAgICAgICBkZWxldGUgb2JqLnByb3A7DQoNCiAgICAgICAgcmV0dXJuIHByb3BlcnR5RGVmaW5lQ29ycmVjdCAmJiBkZXNjLmNvbmZpZ3VyYWJsZSA9PT0gdHJ1ZSAmJiAhb2JqLmhhc093blByb3BlcnR5KCJwcm9wIik7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"ES5 Attributes - property ([[Get]] is undefined, [[Set]] is a Function, [[Enumerable]] is true, [[Configurable]] is true) is deletable","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-461.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTQ2Mi5qcw0KICogQGRlc2NyaXB0aW9uIEVTNSBBdHRyaWJ1dGVzIC0gc3VjY2VzcyB0byB1cGRhdGUgW1tHZXRdXSBhdHRyaWJ1dGUgb2YgYWNjZXNzb3IgcHJvcGVydHkgKFtbR2V0XV0gaXMgdW5kZWZpbmVkLCBbW1NldF1dIGlzIGEgRnVuY3Rpb24sIFtbRW51bWVyYWJsZV1dIGlzIHRydWUsIFtbQ29uZmlndXJhYmxlXV0gaXMgdHJ1ZSkgdG8gZGlmZmVyZW50IHZhbHVlDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIHZhciBnZXRGdW5jID0gZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgcmV0dXJuIDEwMDE7DQogICAgICAgIH07DQoNCiAgICAgICAgdmFyIHZlcmlmeVNldEZ1bmMgPSAiZGF0YSI7DQogICAgICAgIHZhciBzZXRGdW5jID0gZnVuY3Rpb24gKHZhbHVlKSB7DQogICAgICAgICAgICB2ZXJpZnlTZXRGdW5jID0gdmFsdWU7DQogICAgICAgIH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICBnZXQ6IHVuZGVmaW5lZCwNCiAgICAgICAgICAgIHNldDogc2V0RnVuYywNCiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIHJlc3VsdDEgPSB0eXBlb2Ygb2JqLnByb3AgPT09ICJ1bmRlZmluZWQiOw0KICAgICAgICB2YXIgZGVzYzEgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3AiKTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgIGdldDogZ2V0RnVuYw0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgcmVzdWx0MiA9IG9iai5wcm9wID09PSAxMDAxOw0KICAgICAgICB2YXIgZGVzYzIgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3AiKTsNCg0KICAgICAgICByZXR1cm4gcmVzdWx0MSAmJiByZXN1bHQyICYmIHR5cGVvZiBkZXNjMS5nZXQgPT09ICJ1bmRlZmluZWQiICYmIGRlc2MyLmdldCA9PT0gZ2V0RnVuYzsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"ES5 Attributes - success to update [[Get]] attribute of accessor property ([[Get]] is undefined, [[Set]] is a Function, [[Enumerable]] is true, [[Configurable]] is true) to different value","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-462.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTQ2My5qcw0KICogQGRlc2NyaXB0aW9uIEVTNSBBdHRyaWJ1dGVzIC0gc3VjY2VzcyB0byB1cGRhdGUgW1tTZXRdXSBhdHRyaWJ1dGUgb2YgYWNjZXNzb3IgcHJvcGVydHkgKFtbR2V0XV0gaXMgdW5kZWZpbmVkLCBbW1NldF1dIGlzIGEgRnVuY3Rpb24sIFtbRW51bWVyYWJsZV1dIGlzIHRydWUsIFtbQ29uZmlndXJhYmxlXV0gaXMgdHJ1ZSkgdG8gZGlmZmVyZW50IHZhbHVlDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIHZhciB2ZXJpZnlTZXRGdW5jID0gImRhdGEiOw0KICAgICAgICB2YXIgc2V0RnVuYyA9IGZ1bmN0aW9uICh2YWx1ZSkgew0KICAgICAgICAgICAgdmVyaWZ5U2V0RnVuYyA9IHZhbHVlOw0KICAgICAgICB9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgZ2V0OiB1bmRlZmluZWQsDQogICAgICAgICAgICBzZXQ6IHNldEZ1bmMsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBkZXNjMSA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcCIpOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgc2V0OiB1bmRlZmluZWQNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIGRlc2MyID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wIik7DQoNCiAgICAgICAgcmV0dXJuIGRlc2MxLnNldCA9PT0gc2V0RnVuYyAmJiB0eXBlb2YgZGVzYzIuc2V0ID09PSAidW5kZWZpbmVkIjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"ES5 Attributes - success to update [[Set]] attribute of accessor property ([[Get]] is undefined, [[Set]] is a Function, [[Enumerable]] is true, [[Configurable]] is true) to different value","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-463.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTQ2NC5qcw0KICogQGRlc2NyaXB0aW9uIEVTNSBBdHRyaWJ1dGVzIC0gc3VjY2VzcyB0byB1cGRhdGUgW1tFbnVtZXJhYmxlXV0gYXR0cmlidXRlIG9mIGFjY2Vzc29yIHByb3BlcnR5IChbW0dldF1dIGlzIHVuZGVmaW5lZCwgW1tTZXRdXSBpcyBhIEZ1bmN0aW9uLCBbW0VudW1lcmFibGVdXSBpcyB0cnVlLCBbW0NvbmZpZ3VyYWJsZV1dIGlzIHRydWUpIHRvIGRpZmZlcmVudCB2YWx1ZQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICB2YXIgdmVyaWZ5U2V0RnVuYyA9ICJkYXRhIjsNCiAgICAgICAgdmFyIHNldEZ1bmMgPSBmdW5jdGlvbiAodmFsdWUpIHsNCiAgICAgICAgICAgIHZlcmlmeVNldEZ1bmMgPSB2YWx1ZTsNCiAgICAgICAgfTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgIGdldDogdW5kZWZpbmVkLA0KICAgICAgICAgICAgc2V0OiBzZXRGdW5jLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgcmVzdWx0MSA9IGZhbHNlOw0KICAgICAgICB2YXIgZGVzYzEgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3AiKTsNCiAgICAgICAgZm9yICh2YXIgcDEgaW4gb2JqKSB7DQogICAgICAgICAgICBpZiAocDEgPT09ICJwcm9wIikgew0KICAgICAgICAgICAgICAgIHJlc3VsdDEgPSB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZQ0KICAgICAgICB9KTsNCiAgICAgICAgdmFyIHJlc3VsdDIgPSBmYWxzZTsNCiAgICAgICAgdmFyIGRlc2MyID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wIik7DQogICAgICAgIGZvciAodmFyIHAyIGluIG9iaikgew0KICAgICAgICAgICAgaWYgKHAyID09PSAicHJvcCIpIHsNCiAgICAgICAgICAgICAgICByZXN1bHQyID0gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIHJldHVybiByZXN1bHQxICYmICFyZXN1bHQyICYmIGRlc2MxLmVudW1lcmFibGUgPT09IHRydWUgJiYgZGVzYzIuZW51bWVyYWJsZSA9PT0gZmFsc2U7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"ES5 Attributes - success to update [[Enumerable]] attribute of accessor property ([[Get]] is undefined, [[Set]] is a Function, [[Enumerable]] is true, [[Configurable]] is true) to different value","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-464.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTQ2NS5qcw0KICogQGRlc2NyaXB0aW9uIEVTNSBBdHRyaWJ1dGVzIC0gc3VjY2VzcyB0byB1cGRhdGUgW1tDb25maWd1cmFibGVdXSBhdHRyaWJ1dGUgb2YgYWNjZXNzb3IgcHJvcGVydHkgKFtbR2V0XV0gaXMgdW5kZWZpbmVkLCBbW1NldF1dIGlzIGEgRnVuY3Rpb24sIFtbRW51bWVyYWJsZV1dIGlzIHRydWUsIFtbQ29uZmlndXJhYmxlXV0gaXMgdHJ1ZSkgdG8gZGlmZmVyZW50IHZhbHVlDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIHZhciB2ZXJpZnlTZXRGdW5jID0gImRhdGEiOw0KICAgICAgICB2YXIgc2V0RnVuYyA9IGZ1bmN0aW9uICh2YWx1ZSkgew0KICAgICAgICAgICAgdmVyaWZ5U2V0RnVuYyA9IHZhbHVlOw0KICAgICAgICB9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgZ2V0OiB1bmRlZmluZWQsDQogICAgICAgICAgICBzZXQ6IHNldEZ1bmMsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KICAgICAgICB2YXIgZGVzYzEgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3AiKTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgfSk7DQogICAgICAgIHZhciBkZXNjMiA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcCIpOw0KICAgICAgICBkZWxldGUgb2JqLnByb3A7DQoNCiAgICAgICAgcmV0dXJuIGRlc2MxLmNvbmZpZ3VyYWJsZSA9PT0gdHJ1ZSAmJiBkZXNjMi5jb25maWd1cmFibGUgPT09IGZhbHNlICYmIG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"ES5 Attributes - success to update [[Configurable]] attribute of accessor property ([[Get]] is undefined, [[Set]] is a Function, [[Enumerable]] is true, [[Configurable]] is true) to different value","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-465.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTQ2Ni5qcw0KICogQGRlc2NyaXB0aW9uIEVTNSBBdHRyaWJ1dGVzIC0gc3VjY2VzcyB0byB1cGRhdGUgdGhlIGFjY2Vzc29yIHByb3BlcnR5IChbW0dldF1dIGlzIHVuZGVmaW5lZCwgW1tTZXRdXSBpcyBhIEZ1bmN0aW9uLCBbW0VudW1lcmFibGVdXSBpcyB0cnVlLCBbW0NvbmZpZ3VyYWJsZV1dIGlzIHRydWUpIHRvIGEgZGF0YSBwcm9wZXJ0eQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICB2YXIgdmVyaWZ5U2V0RnVuYyA9ICJkYXRhIjsNCiAgICAgICAgdmFyIHNldEZ1bmMgPSBmdW5jdGlvbiAodmFsdWUpIHsNCiAgICAgICAgICAgIHZlcmlmeVNldEZ1bmMgPSB2YWx1ZTsNCiAgICAgICAgfTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgIGdldDogdW5kZWZpbmVkLA0KICAgICAgICAgICAgc2V0OiBzZXRGdW5jLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCiAgICAgICAgdmFyIGRlc2MxID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wIik7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICB2YWx1ZTogMTAwMQ0KICAgICAgICB9KTsNCiAgICAgICAgdmFyIGRlc2MyID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wIik7DQoNCiAgICAgICAgcmV0dXJuIGRlc2MxLmhhc093blByb3BlcnR5KCJnZXQiKSAmJiBkZXNjMi5oYXNPd25Qcm9wZXJ0eSgidmFsdWUiKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"ES5 Attributes - success to update the accessor property ([[Get]] is undefined, [[Set]] is a Function, [[Enumerable]] is true, [[Configurable]] is true) to a data property","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-466.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTQ2Ny5qcw0KICogQGRlc2NyaXB0aW9uIEVTNSBBdHRyaWJ1dGVzIC0gW1tHZXRdXSBhdHRyaWJ1dGUgb2YgYWNjZXNzb3IgcHJvcGVydHkgKFtbR2V0XV0gaXMgdW5kZWZpbmVkLCBbW1NldF1dIGlzIGEgRnVuY3Rpb24sIFtbRW51bWVyYWJsZV1dIGlzIHRydWUsIFtbQ29uZmlndXJhYmxlXV0gaXMgZmFsc2UpIGlzIHVuZGVmaW5lZA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICB2YXIgdmVyaWZ5U2V0RnVuYyA9ICJkYXRhIjsNCiAgICAgICAgdmFyIHNldEZ1bmMgPSBmdW5jdGlvbiAodmFsdWUpIHsNCiAgICAgICAgICAgIHZlcmlmeVNldEZ1bmMgPSB2YWx1ZTsNCiAgICAgICAgfTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgIGdldDogdW5kZWZpbmVkLA0KICAgICAgICAgICAgc2V0OiBzZXRGdW5jLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIHByb3BlcnR5RGVmaW5lQ29ycmVjdCA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KICAgICAgICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcCIpOw0KDQogICAgICAgIHJldHVybiBwcm9wZXJ0eURlZmluZUNvcnJlY3QgJiYgdHlwZW9mIGRlc2MuZ2V0ID09PSAidW5kZWZpbmVkIjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"ES5 Attributes - [[Get]] attribute of accessor property ([[Get]] is undefined, [[Set]] is a Function, [[Enumerable]] is true, [[Configurable]] is false) is undefined","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-467.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTQ2OC5qcw0KICogQGRlc2NyaXB0aW9uIEVTNSBBdHRyaWJ1dGVzIC0gW1tTZXRdXSBhdHRyaWJ1dGUgb2YgYWNjZXNzb3IgcHJvcGVydHkgKFtbR2V0XV0gaXMgdW5kZWZpbmVkLCBbW1NldF1dIGlzIGEgRnVuY3Rpb24sIFtbRW51bWVyYWJsZV1dIGlzIHRydWUsIFtbQ29uZmlndXJhYmxlXV0gaXMgZmFsc2UpIGlzIHRoZSBleHBlY3RlZCBmdW5jdGlvbg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICB2YXIgdmVyaWZ5U2V0RnVuYyA9ICJkYXRhIjsNCiAgICAgICAgdmFyIHNldEZ1bmMgPSBmdW5jdGlvbiAodmFsdWUpIHsNCiAgICAgICAgICAgIHZlcmlmeVNldEZ1bmMgPSB2YWx1ZTsNCiAgICAgICAgfTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgIGdldDogdW5kZWZpbmVkLA0KICAgICAgICAgICAgc2V0OiBzZXRGdW5jLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgfSk7DQoNCiAgICAgICAgb2JqLnByb3AgPSAib3ZlcnJpZGVEYXRhIjsNCiAgICAgICAgdmFyIHByb3BlcnR5RGVmaW5lQ29ycmVjdCA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KICAgICAgICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcCIpOw0KDQogICAgICAgIHJldHVybiBwcm9wZXJ0eURlZmluZUNvcnJlY3QgJiYgZGVzYy5zZXQgPT09IHNldEZ1bmMgJiYgdmVyaWZ5U2V0RnVuYyA9PT0gIm92ZXJyaWRlRGF0YSI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"ES5 Attributes - [[Set]] attribute of accessor property ([[Get]] is undefined, [[Set]] is a Function, [[Enumerable]] is true, [[Configurable]] is false) is the expected function","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-468.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTQ2OS5qcw0KICogQGRlc2NyaXB0aW9uIEVTNSBBdHRyaWJ1dGVzIC0gcHJvcGVydHkgKFtbR2V0XV0gaXMgdW5kZWZpbmVkLCBbW1NldF1dIGlzIGEgRnVuY3Rpb24sIFtbRW51bWVyYWJsZV1dIGlzIHRydWUsIFtbQ29uZmlndXJhYmxlXV0gaXMgZmFsc2UpIGlzIGVudW1lcmFibGUNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgdmFyIHZlcmlmeVNldEZ1bmMgPSAiZGF0YSI7DQogICAgICAgIHZhciBzZXRGdW5jID0gZnVuY3Rpb24gKHZhbHVlKSB7DQogICAgICAgICAgICB2ZXJpZnlTZXRGdW5jID0gdmFsdWU7DQogICAgICAgIH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICBnZXQ6IHVuZGVmaW5lZCwNCiAgICAgICAgICAgIHNldDogc2V0RnVuYywNCiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBwcm9wZXJ0eURlZmluZUNvcnJlY3QgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCiAgICAgICAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3AiKTsNCg0KICAgICAgICBmb3IgKHZhciBwIGluIG9iaikgew0KICAgICAgICAgICAgaWYgKHAgPT09ICJwcm9wIikgew0KICAgICAgICAgICAgICAgIHJldHVybiBwcm9wZXJ0eURlZmluZUNvcnJlY3QgJiYgZGVzYy5lbnVtZXJhYmxlID09PSB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"ES5 Attributes - property ([[Get]] is undefined, [[Set]] is a Function, [[Enumerable]] is true, [[Configurable]] is false) is enumerable","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-469.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTQ3LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnR5IC0gJ25hbWUnIHByb3BlcnR5IGRvZXNuJ3QgZXhpc3QgaW4gJ08nLCBbW1ZhbHVlXV0gb2YgJ25hbWUnIHByb3BlcnR5IGlzIHNldCBhcyB1bmRlZmluZWQgaWYgaXQgaXMgYWJzZW50IGluIGRhdGEgZGVzY3JpcHRvciAnZGVzYycgKDguMTIuOSBzdGVwIDQuYS5pKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcGVydHkiLCB7DQogICAgICAgICAgICB3cml0YWJsZTogdHJ1ZSwNCiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgIH0pOw0KDQogICAgICAgIHJldHVybiBkYXRhUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChvYmosICJwcm9wZXJ0eSIsIHVuZGVmaW5lZCwgdHJ1ZSwgdHJ1ZSwgZmFsc2UpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'name' property doesn't exist in 'O', [[Value]] of 'name' property is set as undefined if it is absent in data descriptor 'desc' (8.12.9 step 4.a.i)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-47.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTQ3MC5qcw0KICogQGRlc2NyaXB0aW9uIEVTNSBBdHRyaWJ1dGVzIC0gcHJvcGVydHkgKFtbR2V0XV0gaXMgdW5kZWZpbmVkLCBbW1NldF1dIGlzIGEgRnVuY3Rpb24sIFtbRW51bWVyYWJsZV1dIGlzIHRydWUsIFtbQ29uZmlndXJhYmxlXV0gaXMgZmFsc2UpIGlzIHVuZGVsZXRhYmxlDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIHZhciB2ZXJpZnlTZXRGdW5jID0gImRhdGEiOw0KICAgICAgICB2YXIgc2V0RnVuYyA9IGZ1bmN0aW9uICh2YWx1ZSkgew0KICAgICAgICAgICAgdmVyaWZ5U2V0RnVuYyA9IHZhbHVlOw0KICAgICAgICB9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgZ2V0OiB1bmRlZmluZWQsDQogICAgICAgICAgICBzZXQ6IHNldEZ1bmMsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgcHJvcGVydHlEZWZpbmVDb3JyZWN0ID0gb2JqLmhhc093blByb3BlcnR5KCJwcm9wIik7DQogICAgICAgIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wIik7DQoNCiAgICAgICAgZGVsZXRlIG9iai5wcm9wOw0KDQogICAgICAgIHJldHVybiBwcm9wZXJ0eURlZmluZUNvcnJlY3QgJiYgZGVzYy5jb25maWd1cmFibGUgPT09IGZhbHNlICYmIG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"ES5 Attributes - property ([[Get]] is undefined, [[Set]] is a Function, [[Enumerable]] is true, [[Configurable]] is false) is undeletable","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-470.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTQ3MS5qcw0KICogQGRlc2NyaXB0aW9uIEVTNSBBdHRyaWJ1dGVzIC0gZmFpbCB0byB1cGRhdGUgW1tHZXRdXSBhdHRyaWJ1dGUgb2YgYWNjZXNzb3IgcHJvcGVydHkgKFtbR2V0XV0gaXMgdW5kZWZpbmVkLCBbW1NldF1dIGlzIGEgRnVuY3Rpb24sIFtbRW51bWVyYWJsZV1dIGlzIHRydWUsIFtbQ29uZmlndXJhYmxlXV0gaXMgZmFsc2UpIHRvIGRpZmZlcmVudCB2YWx1ZQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICB2YXIgZ2V0RnVuYyA9IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgIHJldHVybiAxMDAxOw0KICAgICAgICB9Ow0KDQogICAgICAgIHZhciB2ZXJpZnlTZXRGdW5jID0gImRhdGEiOw0KICAgICAgICB2YXIgc2V0RnVuYyA9IGZ1bmN0aW9uICh2YWx1ZSkgew0KICAgICAgICAgICAgdmVyaWZ5U2V0RnVuYyA9IHZhbHVlOw0KICAgICAgICB9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgZ2V0OiB1bmRlZmluZWQsDQogICAgICAgICAgICBzZXQ6IHNldEZ1bmMsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgcmVzdWx0MSA9IHR5cGVvZiBvYmoucHJvcCA9PT0gInVuZGVmaW5lZCI7DQogICAgICAgIHZhciBkZXNjMSA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcCIpOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgICAgICBnZXQ6IGdldEZ1bmMNCiAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHZhciByZXN1bHQyID0gdHlwZW9mIG9iai5wcm9wID09PSAidW5kZWZpbmVkIjsNCiAgICAgICAgICAgIHZhciBkZXNjMiA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcCIpOw0KDQogICAgICAgICAgICByZXR1cm4gcmVzdWx0MSAmJiByZXN1bHQyICYmIHR5cGVvZiBkZXNjMS5nZXQgPT09ICJ1bmRlZmluZWQiICYmIHR5cGVvZiBkZXNjMi5nZXQgPT09ICJ1bmRlZmluZWQiICYmIGUgaW5zdGFuY2VvZiBUeXBlRXJyb3I7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"ES5 Attributes - fail to update [[Get]] attribute of accessor property ([[Get]] is undefined, [[Set]] is a Function, [[Enumerable]] is true, [[Configurable]] is false) to different value","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-471.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTQ3Mi5qcw0KICogQGRlc2NyaXB0aW9uIEVTNSBBdHRyaWJ1dGVzIC0gZmFpbCB0byB1cGRhdGUgW1tTZXRdXSBhdHRyaWJ1dGUgb2YgYWNjZXNzb3IgcHJvcGVydHkgKFtbR2V0XV0gaXMgdW5kZWZpbmVkLCBbW1NldF1dIGlzIGEgRnVuY3Rpb24sIFtbRW51bWVyYWJsZV1dIGlzIHRydWUsIFtbQ29uZmlndXJhYmxlXV0gaXMgZmFsc2UpIHRvIGRpZmZlcmVudCB2YWx1ZQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICB2YXIgdmVyaWZ5U2V0RnVuYyA9ICJkYXRhIjsNCiAgICAgICAgdmFyIHNldEZ1bmMgPSBmdW5jdGlvbiAodmFsdWUpIHsNCiAgICAgICAgICAgIHZlcmlmeVNldEZ1bmMgPSB2YWx1ZTsNCiAgICAgICAgfTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgIGdldDogdW5kZWZpbmVkLA0KICAgICAgICAgICAgc2V0OiBzZXRGdW5jLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIGRlc2MxID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wIik7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgICAgIHNldDogdW5kZWZpbmVkDQogICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICB2YXIgZGVzYzIgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3AiKTsNCg0KICAgICAgICAgICAgcmV0dXJuIGRlc2MxLnNldCA9PT0gc2V0RnVuYyAmJiBkZXNjMi5zZXQgPT09IHNldEZ1bmMgJiYgZSBpbnN0YW5jZW9mIFR5cGVFcnJvcjsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"ES5 Attributes - fail to update [[Set]] attribute of accessor property ([[Get]] is undefined, [[Set]] is a Function, [[Enumerable]] is true, [[Configurable]] is false) to different value","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-472.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTQ3My5qcw0KICogQGRlc2NyaXB0aW9uIEVTNSBBdHRyaWJ1dGVzIC0gZmFpbCB0byB1cGRhdGUgW1tFbnVtZXJhYmxlXV0gYXR0cmlidXRlIG9mIGFjY2Vzc29yIHByb3BlcnR5IChbW0dldF1dIGlzIHVuZGVmaW5lZCwgW1tTZXRdXSBpcyBhIEZ1bmN0aW9uLCBbW0VudW1lcmFibGVdXSBpcyB0cnVlLCBbW0NvbmZpZ3VyYWJsZV1dIGlzIGZhbHNlKSB0byBkaWZmZXJlbnQgdmFsdWUNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgdmFyIHZlcmlmeVNldEZ1bmMgPSAiZGF0YSI7DQogICAgICAgIHZhciBzZXRGdW5jID0gZnVuY3Rpb24gKHZhbHVlKSB7DQogICAgICAgICAgICB2ZXJpZnlTZXRGdW5jID0gdmFsdWU7DQogICAgICAgIH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICBnZXQ6IHVuZGVmaW5lZCwNCiAgICAgICAgICAgIHNldDogc2V0RnVuYywNCiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciByZXN1bHQxID0gZmFsc2U7DQogICAgICAgIHZhciBkZXNjMSA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcCIpOw0KICAgICAgICBmb3IgKHZhciBwMSBpbiBvYmopIHsNCiAgICAgICAgICAgIGlmIChwMSA9PT0gInByb3AiKSB7DQogICAgICAgICAgICAgICAgcmVzdWx0MSA9IHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICAgICAgZW51bWVyYWJsZTogZmFsc2UNCiAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHZhciByZXN1bHQyID0gZmFsc2U7DQogICAgICAgICAgICB2YXIgZGVzYzIgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3AiKTsNCiAgICAgICAgICAgIGZvciAodmFyIHAyIGluIG9iaikgew0KICAgICAgICAgICAgICAgIGlmIChwMiA9PT0gInByb3AiKSB7DQogICAgICAgICAgICAgICAgICAgIHJlc3VsdDIgPSB0cnVlOw0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgcmV0dXJuIHJlc3VsdDEgJiYgcmVzdWx0MiAmJiBkZXNjMS5lbnVtZXJhYmxlID09PSB0cnVlICYmIGRlc2MyLmVudW1lcmFibGUgPT09IHRydWUgJiYgZSBpbnN0YW5jZW9mIFR5cGVFcnJvcjsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"ES5 Attributes - fail to update [[Enumerable]] attribute of accessor property ([[Get]] is undefined, [[Set]] is a Function, [[Enumerable]] is true, [[Configurable]] is false) to different value","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-473.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTQ3NC5qcw0KICogQGRlc2NyaXB0aW9uIEVTNSBBdHRyaWJ1dGVzIC0gZmFpbCB0byB1cGRhdGUgW1tDb25maWd1cmFibGVdXSBhdHRyaWJ1dGUgb2YgYWNjZXNzb3IgcHJvcGVydHkgKFtbR2V0XV0gaXMgdW5kZWZpbmVkLCBbW1NldF1dIGlzIGEgRnVuY3Rpb24sIFtbRW51bWVyYWJsZV1dIGlzIHRydWUsIFtbQ29uZmlndXJhYmxlXV0gaXMgZmFsc2UpIHRvIGRpZmZlcmVudCB2YWx1ZQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICB2YXIgdmVyaWZ5U2V0RnVuYyA9ICJkYXRhIjsNCiAgICAgICAgdmFyIHNldEZ1bmMgPSBmdW5jdGlvbiAodmFsdWUpIHsNCiAgICAgICAgICAgIHZlcmlmeVNldEZ1bmMgPSB2YWx1ZTsNCiAgICAgICAgfTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgIGdldDogdW5kZWZpbmVkLA0KICAgICAgICAgICAgc2V0OiBzZXRGdW5jLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgfSk7DQogICAgICAgIHZhciBkZXNjMSA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcCIpOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHZhciBkZXNjMiA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcCIpOw0KICAgICAgICAgICAgZGVsZXRlIG9iai5wcm9wOw0KDQogICAgICAgICAgICByZXR1cm4gZGVzYzEuY29uZmlndXJhYmxlID09PSBmYWxzZSAmJiBkZXNjMi5jb25maWd1cmFibGUgPT09IGZhbHNlICYmIG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpICYmIGUgaW5zdGFuY2VvZiBUeXBlRXJyb3I7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"ES5 Attributes - fail to update [[Configurable]] attribute of accessor property ([[Get]] is undefined, [[Set]] is a Function, [[Enumerable]] is true, [[Configurable]] is false) to different value","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-474.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTQ3NS5qcw0KICogQGRlc2NyaXB0aW9uIEVTNSBBdHRyaWJ1dGVzIC0gZmFpbCB0byB1cGRhdGUgdGhlIGFjY2Vzc29yIHByb3BlcnR5IChbW0dldF1dIGlzIHVuZGVmaW5lZCwgW1tTZXRdXSBpcyBhIEZ1bmN0aW9uLCBbW0VudW1lcmFibGVdXSBpcyB0cnVlLCBbW0NvbmZpZ3VyYWJsZV1dIGlzIGZhbHNlKSB0byBhIGRhdGEgcHJvcGVydHkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgdmFyIHZlcmlmeVNldEZ1bmMgPSAiZGF0YSI7DQogICAgICAgIHZhciBzZXRGdW5jID0gZnVuY3Rpb24gKHZhbHVlKSB7DQogICAgICAgICAgICB2ZXJpZnlTZXRGdW5jID0gdmFsdWU7DQogICAgICAgIH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICBnZXQ6IHVuZGVmaW5lZCwNCiAgICAgICAgICAgIHNldDogc2V0RnVuYywNCiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgIH0pOw0KICAgICAgICB2YXIgZGVzYzEgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3AiKTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICAgICAgdmFsdWU6IDEwMDENCiAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHZhciBkZXNjMiA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcCIpOw0KDQogICAgICAgICAgICByZXR1cm4gZGVzYzEuaGFzT3duUHJvcGVydHkoImdldCIpICYmICFkZXNjMi5oYXNPd25Qcm9wZXJ0eSgidmFsdWUiKSAmJiBlIGluc3RhbmNlb2YgVHlwZUVycm9yOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"ES5 Attributes - fail to update the accessor property ([[Get]] is undefined, [[Set]] is a Function, [[Enumerable]] is true, [[Configurable]] is false) to a data property","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-475.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTQ3Ni5qcw0KICogQGRlc2NyaXB0aW9uIEVTNSBBdHRyaWJ1dGVzIC0gW1tHZXRdXSBhdHRyaWJ1dGUgb2YgYWNjZXNzb3IgcHJvcGVydHkgKFtbR2V0XV0gaXMgdW5kZWZpbmVkLCBbW1NldF1dIGlzIGEgRnVuY3Rpb24sIFtbRW51bWVyYWJsZV1dIGlzIGZhbHNlLCBbW0NvbmZpZ3VyYWJsZV1dIGlzIHRydWUpIGlzIHVuZGVmaW5lZA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICB2YXIgdmVyaWZ5U2V0RnVuYyA9ICJkYXRhIjsNCiAgICAgICAgdmFyIHNldEZ1bmMgPSBmdW5jdGlvbiAodmFsdWUpIHsNCiAgICAgICAgICAgIHZlcmlmeVNldEZ1bmMgPSB2YWx1ZTsNCiAgICAgICAgfTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgIGdldDogdW5kZWZpbmVkLA0KICAgICAgICAgICAgc2V0OiBzZXRGdW5jLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogZmFsc2UsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIHByb3BlcnR5RGVmaW5lQ29ycmVjdCA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KICAgICAgICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcCIpOw0KDQogICAgICAgIHJldHVybiBwcm9wZXJ0eURlZmluZUNvcnJlY3QgJiYgdHlwZW9mIGRlc2MuZ2V0ID09PSAidW5kZWZpbmVkIjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"ES5 Attributes - [[Get]] attribute of accessor property ([[Get]] is undefined, [[Set]] is a Function, [[Enumerable]] is false, [[Configurable]] is true) is undefined","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-476.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTQ3Ny5qcw0KICogQGRlc2NyaXB0aW9uIEVTNSBBdHRyaWJ1dGVzIC0gW1tTZXRdXSBhdHRyaWJ1dGUgb2YgYWNjZXNzb3IgcHJvcGVydHkgKFtbR2V0XV0gaXMgdW5kZWZpbmVkLCBbW1NldF1dIGlzIGEgRnVuY3Rpb24sIFtbRW51bWVyYWJsZV1dIGlzIGZhbHNlLCBbW0NvbmZpZ3VyYWJsZV1dIGlzIHRydWUpIGlzIHRoZSBleHBlY3RlZCBmdW5jdGlvbg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICB2YXIgdmVyaWZ5U2V0RnVuYyA9ICJkYXRhIjsNCiAgICAgICAgdmFyIHNldEZ1bmMgPSBmdW5jdGlvbiAodmFsdWUpIHsNCiAgICAgICAgICAgIHZlcmlmeVNldEZ1bmMgPSB2YWx1ZTsNCiAgICAgICAgfTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgIGdldDogdW5kZWZpbmVkLA0KICAgICAgICAgICAgc2V0OiBzZXRGdW5jLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogZmFsc2UsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgb2JqLnByb3AgPSAib3ZlcnJpZGVEYXRhIjsNCiAgICAgICAgdmFyIHByb3BlcnR5RGVmaW5lQ29ycmVjdCA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KICAgICAgICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcCIpOw0KDQogICAgICAgIHJldHVybiBwcm9wZXJ0eURlZmluZUNvcnJlY3QgJiYgZGVzYy5zZXQgPT09IHNldEZ1bmMgJiYgdmVyaWZ5U2V0RnVuYyA9PT0gIm92ZXJyaWRlRGF0YSI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"ES5 Attributes - [[Set]] attribute of accessor property ([[Get]] is undefined, [[Set]] is a Function, [[Enumerable]] is false, [[Configurable]] is true) is the expected function","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-477.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTQ3OC5qcw0KICogQGRlc2NyaXB0aW9uIEVTNSBBdHRyaWJ1dGVzIC0gcHJvcGVydHkgKFtbR2V0XV0gaXMgdW5kZWZpbmVkLCBbW1NldF1dIGlzIGEgRnVuY3Rpb24sIFtbRW51bWVyYWJsZV1dIGlzIGZhbHNlLCBbW0NvbmZpZ3VyYWJsZV1dIGlzIHRydWUpIGlzIG5vbi1lbnVtZXJhYmxlDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIHZhciB2ZXJpZnlTZXRGdW5jID0gImRhdGEiOw0KICAgICAgICB2YXIgc2V0RnVuYyA9IGZ1bmN0aW9uICh2YWx1ZSkgew0KICAgICAgICAgICAgdmVyaWZ5U2V0RnVuYyA9IHZhbHVlOw0KICAgICAgICB9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgZ2V0OiB1bmRlZmluZWQsDQogICAgICAgICAgICBzZXQ6IHNldEZ1bmMsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgcHJvcGVydHlEZWZpbmVDb3JyZWN0ID0gb2JqLmhhc093blByb3BlcnR5KCJwcm9wIik7DQogICAgICAgIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wIik7DQoNCiAgICAgICAgZm9yICh2YXIgcCBpbiBvYmopIHsNCiAgICAgICAgICAgIGlmIChwID09PSAicHJvcCIpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICByZXR1cm4gcHJvcGVydHlEZWZpbmVDb3JyZWN0ICYmIGRlc2MuZW51bWVyYWJsZSA9PT0gZmFsc2U7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"ES5 Attributes - property ([[Get]] is undefined, [[Set]] is a Function, [[Enumerable]] is false, [[Configurable]] is true) is non-enumerable","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-478.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTQ3OS5qcw0KICogQGRlc2NyaXB0aW9uIEVTNSBBdHRyaWJ1dGVzIC0gcHJvcGVydHkgKFtbR2V0XV0gaXMgdW5kZWZpbmVkLCBbW1NldF1dIGlzIGEgRnVuY3Rpb24sIFtbRW51bWVyYWJsZV1dIGlzIGZhbHNlLCBbW0NvbmZpZ3VyYWJsZV1dIGlzIHRydWUpIGlzIGRlbGV0YWJsZQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICB2YXIgdmVyaWZ5U2V0RnVuYyA9ICJkYXRhIjsNCiAgICAgICAgdmFyIHNldEZ1bmMgPSBmdW5jdGlvbiAodmFsdWUpIHsNCiAgICAgICAgICAgIHZlcmlmeVNldEZ1bmMgPSB2YWx1ZTsNCiAgICAgICAgfTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgIGdldDogdW5kZWZpbmVkLA0KICAgICAgICAgICAgc2V0OiBzZXRGdW5jLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogZmFsc2UsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIHByb3BlcnR5RGVmaW5lQ29ycmVjdCA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KICAgICAgICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcCIpOw0KDQogICAgICAgIGRlbGV0ZSBvYmoucHJvcDsNCg0KICAgICAgICByZXR1cm4gcHJvcGVydHlEZWZpbmVDb3JyZWN0ICYmIGRlc2MuY29uZmlndXJhYmxlID09PSB0cnVlICYmICFvYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"ES5 Attributes - property ([[Get]] is undefined, [[Set]] is a Function, [[Enumerable]] is false, [[Configurable]] is true) is deletable","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-479.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTQ4LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnR5IC0gJ25hbWUnIHByb3BlcnR5IGRvZXNuJ3QgZXhpc3QgaW4gJ08nLCB0ZXN0IFtbV3JpdGFibGVdXSBvZiAnbmFtZScgcHJvcGVydHkgb2YgJ0F0dHJpYnV0ZXMnIGlzIHNldCBhcyBmYWxzZSB2YWx1ZSBpZiBhYnNlbnQgaW4gZGF0YSBkZXNjcmlwdG9yICdkZXNjJyAoOC4xMi45IHN0ZXAgNC5hLmkpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wZXJ0eSIsIHsNCiAgICAgICAgICAgIHZhbHVlOiAxMDAxLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgfSk7DQoNCiAgICAgICAgcmV0dXJuIGRhdGFQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KG9iaiwgInByb3BlcnR5IiwgMTAwMSwgZmFsc2UsIHRydWUsIGZhbHNlKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'name' property doesn't exist in 'O', test [[Writable]] of 'name' property of 'Attributes' is set as false value if absent in data descriptor 'desc' (8.12.9 step 4.a.i)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-48.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTQ4MC5qcw0KICogQGRlc2NyaXB0aW9uIEVTNSBBdHRyaWJ1dGVzIC0gc3VjY2VzcyB0byB1cGRhdGUgW1tHZXRdXSBhdHRyaWJ1dGUgb2YgYWNjZXNzb3IgcHJvcGVydHkgKFtbR2V0XV0gaXMgdW5kZWZpbmVkLCBbW1NldF1dIGlzIGEgRnVuY3Rpb24sIFtbRW51bWVyYWJsZV1dIGlzIGZhbHNlLCBbW0NvbmZpZ3VyYWJsZV1dIGlzIHRydWUpIHRvIGRpZmZlcmVudCB2YWx1ZQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICB2YXIgZ2V0RnVuYyA9IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgIHJldHVybiAxMDAxOw0KICAgICAgICB9Ow0KDQogICAgICAgIHZhciB2ZXJpZnlTZXRGdW5jID0gImRhdGEiOw0KICAgICAgICB2YXIgc2V0RnVuYyA9IGZ1bmN0aW9uICh2YWx1ZSkgew0KICAgICAgICAgICAgdmVyaWZ5U2V0RnVuYyA9IHZhbHVlOw0KICAgICAgICB9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgZ2V0OiB1bmRlZmluZWQsDQogICAgICAgICAgICBzZXQ6IHNldEZ1bmMsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgcmVzdWx0MSA9IHR5cGVvZiBvYmoucHJvcCA9PT0gInVuZGVmaW5lZCI7DQogICAgICAgIHZhciBkZXNjMSA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcCIpOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgZ2V0OiBnZXRGdW5jDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciByZXN1bHQyID0gb2JqLnByb3AgPT09IDEwMDE7DQogICAgICAgIHZhciBkZXNjMiA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcCIpOw0KDQogICAgICAgIHJldHVybiByZXN1bHQxICYmIHJlc3VsdDIgJiYgdHlwZW9mIGRlc2MxLmdldCA9PT0gInVuZGVmaW5lZCIgJiYgZGVzYzIuZ2V0ID09PSBnZXRGdW5jOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"ES5 Attributes - success to update [[Get]] attribute of accessor property ([[Get]] is undefined, [[Set]] is a Function, [[Enumerable]] is false, [[Configurable]] is true) to different value","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-480.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTQ4MS5qcw0KICogQGRlc2NyaXB0aW9uIEVTNSBBdHRyaWJ1dGVzIC0gc3VjY2VzcyB0byB1cGRhdGUgW1tTZXRdXSBhdHRyaWJ1dGUgb2YgYWNjZXNzb3IgcHJvcGVydHkgKFtbR2V0XV0gaXMgdW5kZWZpbmVkLCBbW1NldF1dIGlzIGEgRnVuY3Rpb24sIFtbRW51bWVyYWJsZV1dIGlzIGZhbHNlLCBbW0NvbmZpZ3VyYWJsZV1dIGlzIHRydWUpIHRvIGRpZmZlcmVudCB2YWx1ZQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICB2YXIgdmVyaWZ5U2V0RnVuYyA9ICJkYXRhIjsNCiAgICAgICAgdmFyIHNldEZ1bmMgPSBmdW5jdGlvbiAodmFsdWUpIHsNCiAgICAgICAgICAgIHZlcmlmeVNldEZ1bmMgPSB2YWx1ZTsNCiAgICAgICAgfTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgIGdldDogdW5kZWZpbmVkLA0KICAgICAgICAgICAgc2V0OiBzZXRGdW5jLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogZmFsc2UsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIGRlc2MxID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wIik7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICBzZXQ6IHVuZGVmaW5lZA0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgZGVzYzIgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3AiKTsNCg0KICAgICAgICByZXR1cm4gZGVzYzEuc2V0ID09PSBzZXRGdW5jICYmIHR5cGVvZiBkZXNjMi5zZXQgPT09ICJ1bmRlZmluZWQiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"ES5 Attributes - success to update [[Set]] attribute of accessor property ([[Get]] is undefined, [[Set]] is a Function, [[Enumerable]] is false, [[Configurable]] is true) to different value","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-481.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTQ4Mi5qcw0KICogQGRlc2NyaXB0aW9uIEVTNSBBdHRyaWJ1dGVzIC0gc3VjY2VzcyB0byB1cGRhdGUgW1tFbnVtZXJhYmxlXV0gYXR0cmlidXRlIG9mIGFjY2Vzc29yIHByb3BlcnR5IChbW0dldF1dIGlzIHVuZGVmaW5lZCwgW1tTZXRdXSBpcyBhIEZ1bmN0aW9uLCBbW0VudW1lcmFibGVdXSBpcyBmYWxzZSwgW1tDb25maWd1cmFibGVdXSBpcyB0cnVlKSB0byBkaWZmZXJlbnQgdmFsdWUNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgdmFyIHZlcmlmeVNldEZ1bmMgPSAiZGF0YSI7DQogICAgICAgIHZhciBzZXRGdW5jID0gZnVuY3Rpb24gKHZhbHVlKSB7DQogICAgICAgICAgICB2ZXJpZnlTZXRGdW5jID0gdmFsdWU7DQogICAgICAgIH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICBnZXQ6IHVuZGVmaW5lZCwNCiAgICAgICAgICAgIHNldDogc2V0RnVuYywNCiAgICAgICAgICAgIGVudW1lcmFibGU6IGZhbHNlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciByZXN1bHQxID0gZmFsc2U7DQogICAgICAgIHZhciBkZXNjMSA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcCIpOw0KICAgICAgICBmb3IgKHZhciBwMSBpbiBvYmopIHsNCiAgICAgICAgICAgIGlmIChwMSA9PT0gInByb3AiKSB7DQogICAgICAgICAgICAgICAgcmVzdWx0MSA9IHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUNCiAgICAgICAgfSk7DQogICAgICAgIHZhciByZXN1bHQyID0gZmFsc2U7DQogICAgICAgIHZhciBkZXNjMiA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcCIpOw0KICAgICAgICBmb3IgKHZhciBwMiBpbiBvYmopIHsNCiAgICAgICAgICAgIGlmIChwMiA9PT0gInByb3AiKSB7DQogICAgICAgICAgICAgICAgcmVzdWx0MiA9IHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICByZXR1cm4gIXJlc3VsdDEgJiYgcmVzdWx0MiAmJiBkZXNjMS5lbnVtZXJhYmxlID09PSBmYWxzZSAmJiBkZXNjMi5lbnVtZXJhYmxlID09PSB0cnVlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"ES5 Attributes - success to update [[Enumerable]] attribute of accessor property ([[Get]] is undefined, [[Set]] is a Function, [[Enumerable]] is false, [[Configurable]] is true) to different value","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-482.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTQ4My5qcw0KICogQGRlc2NyaXB0aW9uIEVTNSBBdHRyaWJ1dGVzIC0gc3VjY2VzcyB0byB1cGRhdGUgW1tDb25maWd1cmFibGVdXSBhdHRyaWJ1dGUgb2YgYWNjZXNzb3IgcHJvcGVydHkgKFtbR2V0XV0gaXMgdW5kZWZpbmVkLCBbW1NldF1dIGlzIGEgRnVuY3Rpb24sIFtbRW51bWVyYWJsZV1dIGlzIGZhbHNlLCBbW0NvbmZpZ3VyYWJsZV1dIGlzIHRydWUpIHRvIGRpZmZlcmVudCB2YWx1ZQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICB2YXIgdmVyaWZ5U2V0RnVuYyA9ICJkYXRhIjsNCiAgICAgICAgdmFyIHNldEZ1bmMgPSBmdW5jdGlvbiAodmFsdWUpIHsNCiAgICAgICAgICAgIHZlcmlmeVNldEZ1bmMgPSB2YWx1ZTsNCiAgICAgICAgfTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgIGdldDogdW5kZWZpbmVkLA0KICAgICAgICAgICAgc2V0OiBzZXRGdW5jLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogZmFsc2UsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQogICAgICAgIHZhciBkZXNjMSA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcCIpOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICB9KTsNCiAgICAgICAgdmFyIGRlc2MyID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wIik7DQogICAgICAgIGRlbGV0ZSBvYmoucHJvcDsNCg0KICAgICAgICByZXR1cm4gZGVzYzEuY29uZmlndXJhYmxlID09PSB0cnVlICYmIGRlc2MyLmNvbmZpZ3VyYWJsZSA9PT0gZmFsc2UgJiYgb2JqLmhhc093blByb3BlcnR5KCJwcm9wIik7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"ES5 Attributes - success to update [[Configurable]] attribute of accessor property ([[Get]] is undefined, [[Set]] is a Function, [[Enumerable]] is false, [[Configurable]] is true) to different value","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-483.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTQ4NC5qcw0KICogQGRlc2NyaXB0aW9uIEVTNSBBdHRyaWJ1dGVzIC0gc3VjY2VzcyB0byB1cGRhdGUgdGhlIGFjY2Vzc29yIHByb3BlcnR5IChbW0dldF1dIGlzIHVuZGVmaW5lZCwgW1tTZXRdXSBpcyBhIEZ1bmN0aW9uLCBbW0VudW1lcmFibGVdXSBpcyBmYWxzZSwgW1tDb25maWd1cmFibGVdXSBpcyB0cnVlKSB0byBhIGRhdGEgcHJvcGVydHkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgdmFyIHZlcmlmeVNldEZ1bmMgPSAiZGF0YSI7DQogICAgICAgIHZhciBzZXRGdW5jID0gZnVuY3Rpb24gKHZhbHVlKSB7DQogICAgICAgICAgICB2ZXJpZnlTZXRGdW5jID0gdmFsdWU7DQogICAgICAgIH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICBnZXQ6IHVuZGVmaW5lZCwNCiAgICAgICAgICAgIHNldDogc2V0RnVuYywNCiAgICAgICAgICAgIGVudW1lcmFibGU6IGZhbHNlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KICAgICAgICB2YXIgZGVzYzEgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3AiKTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgIHZhbHVlOiAxMDAxDQogICAgICAgIH0pOw0KICAgICAgICB2YXIgZGVzYzIgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3AiKTsNCg0KICAgICAgICByZXR1cm4gZGVzYzEuaGFzT3duUHJvcGVydHkoImdldCIpICYmIGRlc2MyLmhhc093blByb3BlcnR5KCJ2YWx1ZSIpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"ES5 Attributes - success to update the accessor property ([[Get]] is undefined, [[Set]] is a Function, [[Enumerable]] is false, [[Configurable]] is true) to a data property","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-484.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTQ4NS5qcw0KICogQGRlc2NyaXB0aW9uIEVTNSBBdHRyaWJ1dGVzIC0gW1tHZXRdXSBhdHRyaWJ1dGUgb2YgYWNjZXNzb3IgcHJvcGVydHkgKFtbR2V0XV0gaXMgdW5kZWZpbmVkLCBbW1NldF1dIGlzIGEgRnVuY3Rpb24sIFtbRW51bWVyYWJsZV1dIGlzIGZhbHNlLCBbW0NvbmZpZ3VyYWJsZV1dIGlzIGZhbHNlKSBpcyB1bmRlZmluZWQNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgdmFyIHZlcmlmeVNldEZ1bmMgPSAiZGF0YSI7DQogICAgICAgIHZhciBzZXRGdW5jID0gZnVuY3Rpb24gKHZhbHVlKSB7DQogICAgICAgICAgICB2ZXJpZnlTZXRGdW5jID0gdmFsdWU7DQogICAgICAgIH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICBnZXQ6IHVuZGVmaW5lZCwNCiAgICAgICAgICAgIHNldDogc2V0RnVuYywNCiAgICAgICAgICAgIGVudW1lcmFibGU6IGZhbHNlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgcHJvcGVydHlEZWZpbmVDb3JyZWN0ID0gb2JqLmhhc093blByb3BlcnR5KCJwcm9wIik7DQogICAgICAgIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wIik7DQoNCiAgICAgICAgcmV0dXJuIHByb3BlcnR5RGVmaW5lQ29ycmVjdCAmJiB0eXBlb2YgZGVzYy5nZXQgPT09ICJ1bmRlZmluZWQiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"ES5 Attributes - [[Get]] attribute of accessor property ([[Get]] is undefined, [[Set]] is a Function, [[Enumerable]] is false, [[Configurable]] is false) is undefined","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-485.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTQ4Ni5qcw0KICogQGRlc2NyaXB0aW9uIEVTNSBBdHRyaWJ1dGVzIC0gW1tTZXRdXSBhdHRyaWJ1dGUgb2YgYWNjZXNzb3IgcHJvcGVydHkgKFtbR2V0XV0gaXMgdW5kZWZpbmVkLCBbW1NldF1dIGlzIGEgRnVuY3Rpb24sIFtbRW51bWVyYWJsZV1dIGlzIGZhbHNlLCBbW0NvbmZpZ3VyYWJsZV1dIGlzIGZhbHNlKSBpcyB0aGUgZXhwZWN0ZWQgZnVuY3Rpb24NCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgdmFyIHZlcmlmeVNldEZ1bmMgPSAiZGF0YSI7DQogICAgICAgIHZhciBzZXRGdW5jID0gZnVuY3Rpb24gKHZhbHVlKSB7DQogICAgICAgICAgICB2ZXJpZnlTZXRGdW5jID0gdmFsdWU7DQogICAgICAgIH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICBnZXQ6IHVuZGVmaW5lZCwNCiAgICAgICAgICAgIHNldDogc2V0RnVuYywNCiAgICAgICAgICAgIGVudW1lcmFibGU6IGZhbHNlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBvYmoucHJvcCA9ICJvdmVycmlkZURhdGEiOw0KICAgICAgICB2YXIgcHJvcGVydHlEZWZpbmVDb3JyZWN0ID0gb2JqLmhhc093blByb3BlcnR5KCJwcm9wIik7DQogICAgICAgIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wIik7DQoNCiAgICAgICAgcmV0dXJuIHByb3BlcnR5RGVmaW5lQ29ycmVjdCAmJiBkZXNjLnNldCA9PT0gc2V0RnVuYyAmJiB2ZXJpZnlTZXRGdW5jID09PSAib3ZlcnJpZGVEYXRhIjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"ES5 Attributes - [[Set]] attribute of accessor property ([[Get]] is undefined, [[Set]] is a Function, [[Enumerable]] is false, [[Configurable]] is false) is the expected function","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-486.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTQ4Ny5qcw0KICogQGRlc2NyaXB0aW9uIEVTNSBBdHRyaWJ1dGVzIC0gcHJvcGVydHkgKFtbR2V0XV0gaXMgdW5kZWZpbmVkLCBbW1NldF1dIGlzIGEgRnVuY3Rpb24sIFtbRW51bWVyYWJsZV1dIGlzIGZhbHNlLCBbW0NvbmZpZ3VyYWJsZV1dIGlzIGZhbHNlKSBpcyBub24tZW51bWVyYWJsZQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICB2YXIgdmVyaWZ5U2V0RnVuYyA9ICJkYXRhIjsNCiAgICAgICAgdmFyIHNldEZ1bmMgPSBmdW5jdGlvbiAodmFsdWUpIHsNCiAgICAgICAgICAgIHZlcmlmeVNldEZ1bmMgPSB2YWx1ZTsNCiAgICAgICAgfTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgIGdldDogdW5kZWZpbmVkLA0KICAgICAgICAgICAgc2V0OiBzZXRGdW5jLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogZmFsc2UsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBwcm9wZXJ0eURlZmluZUNvcnJlY3QgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCiAgICAgICAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3AiKTsNCg0KICAgICAgICBmb3IgKHZhciBwIGluIG9iaikgew0KICAgICAgICAgICAgaWYgKHAgPT09ICJwcm9wIikgew0KICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIHJldHVybiBwcm9wZXJ0eURlZmluZUNvcnJlY3QgJiYgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"ES5 Attributes - property ([[Get]] is undefined, [[Set]] is a Function, [[Enumerable]] is false, [[Configurable]] is false) is non-enumerable","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-487.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTQ4OC5qcw0KICogQGRlc2NyaXB0aW9uIEVTNSBBdHRyaWJ1dGVzIC0gcHJvcGVydHkgKFtbR2V0XV0gaXMgdW5kZWZpbmVkLCBbW1NldF1dIGlzIGEgRnVuY3Rpb24sIFtbRW51bWVyYWJsZV1dIGlzIGZhbHNlLCBbW0NvbmZpZ3VyYWJsZV1dIGlzIGZhbHNlKSBpcyB1bmRlbGV0YWJsZQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICB2YXIgdmVyaWZ5U2V0RnVuYyA9ICJkYXRhIjsNCiAgICAgICAgdmFyIHNldEZ1bmMgPSBmdW5jdGlvbiAodmFsdWUpIHsNCiAgICAgICAgICAgIHZlcmlmeVNldEZ1bmMgPSB2YWx1ZTsNCiAgICAgICAgfTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgIGdldDogdW5kZWZpbmVkLA0KICAgICAgICAgICAgc2V0OiBzZXRGdW5jLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogZmFsc2UsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBwcm9wZXJ0eURlZmluZUNvcnJlY3QgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCiAgICAgICAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3AiKTsNCg0KICAgICAgICBkZWxldGUgb2JqLnByb3A7DQoNCiAgICAgICAgcmV0dXJuIHByb3BlcnR5RGVmaW5lQ29ycmVjdCAmJiBkZXNjLmNvbmZpZ3VyYWJsZSA9PT0gZmFsc2UgJiYgb2JqLmhhc093blByb3BlcnR5KCJwcm9wIik7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"ES5 Attributes - property ([[Get]] is undefined, [[Set]] is a Function, [[Enumerable]] is false, [[Configurable]] is false) is undeletable","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-488.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTQ4OS5qcw0KICogQGRlc2NyaXB0aW9uIEVTNSBBdHRyaWJ1dGVzIC0gZmFpbCB0byB1cGRhdGUgW1tHZXRdXSBhdHRyaWJ1dGUgb2YgYWNjZXNzb3IgcHJvcGVydHkgKFtbR2V0XV0gaXMgdW5kZWZpbmVkLCBbW1NldF1dIGlzIGEgRnVuY3Rpb24sIFtbRW51bWVyYWJsZV1dIGlzIGZhbHNlLCBbW0NvbmZpZ3VyYWJsZV1dIGlzIGZhbHNlKSB0byBkaWZmZXJlbnQgdmFsdWUNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgdmFyIGdldEZ1bmMgPSBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICByZXR1cm4gMTAwMTsNCiAgICAgICAgfTsNCg0KICAgICAgICB2YXIgdmVyaWZ5U2V0RnVuYyA9ICJkYXRhIjsNCiAgICAgICAgdmFyIHNldEZ1bmMgPSBmdW5jdGlvbiAodmFsdWUpIHsNCiAgICAgICAgICAgIHZlcmlmeVNldEZ1bmMgPSB2YWx1ZTsNCiAgICAgICAgfTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgIGdldDogdW5kZWZpbmVkLA0KICAgICAgICAgICAgc2V0OiBzZXRGdW5jLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogZmFsc2UsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciByZXN1bHQxID0gdHlwZW9mIG9iai5wcm9wID09PSAidW5kZWZpbmVkIjsNCiAgICAgICAgdmFyIGRlc2MxID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wIik7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgICAgIGdldDogZ2V0RnVuYw0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgdmFyIHJlc3VsdDIgPSB0eXBlb2Ygb2JqLnByb3AgPT09ICJ1bmRlZmluZWQiOw0KICAgICAgICAgICAgdmFyIGRlc2MyID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wIik7DQoNCiAgICAgICAgICAgIHJldHVybiByZXN1bHQxICYmIHJlc3VsdDIgJiYgdHlwZW9mIGRlc2MxLmdldCA9PT0gInVuZGVmaW5lZCIgJiYgdHlwZW9mIGRlc2MyLmdldCA9PT0gInVuZGVmaW5lZCIgJiYgZSBpbnN0YW5jZW9mIFR5cGVFcnJvcjsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"ES5 Attributes - fail to update [[Get]] attribute of accessor property ([[Get]] is undefined, [[Set]] is a Function, [[Enumerable]] is false, [[Configurable]] is false) to different value","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-489.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTQ5LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnR5IC0gJ25hbWUnIHByb3BlcnR5IGRvZXNuJ3QgZXhpc3QgaW4gJ08nLCB0ZXN0IFtbRW51bWVyYWJsZV1dIG9mICduYW1lJyBwcm9wZXJ0eSBvZiAnQXR0cmlidXRlcycgaXMgc2V0IGFzIGZhbHNlIHZhbHVlIGlmIGFic2VudCBpbiBkYXRhIGRlc2NyaXB0b3IgJ2Rlc2MnICg4LjEyLjkgc3RlcCA0LmEuaSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3BlcnR5Iiwgew0KICAgICAgICAgICAgdmFsdWU6IDEwMDEsDQogICAgICAgICAgICB3cml0YWJsZTogdHJ1ZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCiAgICAgICAgcmV0dXJuIGRhdGFQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KG9iaiwgInByb3BlcnR5IiwgMTAwMSwgdHJ1ZSwgZmFsc2UsIHRydWUpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'name' property doesn't exist in 'O', test [[Enumerable]] of 'name' property of 'Attributes' is set as false value if absent in data descriptor 'desc' (8.12.9 step 4.a.i)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-49.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTQ5MC5qcw0KICogQGRlc2NyaXB0aW9uIEVTNSBBdHRyaWJ1dGVzIC0gZmFpbCB0byB1cGRhdGUgW1tTZXRdXSBhdHRyaWJ1dGUgb2YgYWNjZXNzb3IgcHJvcGVydHkgKFtbR2V0XV0gaXMgdW5kZWZpbmVkLCBbW1NldF1dIGlzIGEgRnVuY3Rpb24sIFtbRW51bWVyYWJsZV1dIGlzIGZhbHNlLCBbW0NvbmZpZ3VyYWJsZV1dIGlzIGZhbHNlKSB0byBkaWZmZXJlbnQgdmFsdWUNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgdmFyIHZlcmlmeVNldEZ1bmMgPSAiZGF0YSI7DQogICAgICAgIHZhciBzZXRGdW5jID0gZnVuY3Rpb24gKHZhbHVlKSB7DQogICAgICAgICAgICB2ZXJpZnlTZXRGdW5jID0gdmFsdWU7DQogICAgICAgIH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICBnZXQ6IHVuZGVmaW5lZCwNCiAgICAgICAgICAgIHNldDogc2V0RnVuYywNCiAgICAgICAgICAgIGVudW1lcmFibGU6IGZhbHNlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgZGVzYzEgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3AiKTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICAgICAgc2V0OiB1bmRlZmluZWQNCiAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHZhciBkZXNjMiA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcCIpOw0KDQogICAgICAgICAgICByZXR1cm4gZGVzYzEuc2V0ID09PSBzZXRGdW5jICYmIGRlc2MyLnNldCA9PT0gc2V0RnVuYyAmJiBlIGluc3RhbmNlb2YgVHlwZUVycm9yOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"ES5 Attributes - fail to update [[Set]] attribute of accessor property ([[Get]] is undefined, [[Set]] is a Function, [[Enumerable]] is false, [[Configurable]] is false) to different value","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-490.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTQ5MS5qcw0KICogQGRlc2NyaXB0aW9uIEVTNSBBdHRyaWJ1dGVzIC0gZmFpbCB0byB1cGRhdGUgW1tFbnVtZXJhYmxlXV0gYXR0cmlidXRlIG9mIGFjY2Vzc29yIHByb3BlcnR5IChbW0dldF1dIGlzIHVuZGVmaW5lZCwgW1tTZXRdXSBpcyBhIEZ1bmN0aW9uLCBbW0VudW1lcmFibGVdXSBpcyBmYWxzZSwgW1tDb25maWd1cmFibGVdXSBpcyBmYWxzZSkgdG8gZGlmZmVyZW50IHZhbHVlDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIHZhciB2ZXJpZnlTZXRGdW5jID0gImRhdGEiOw0KICAgICAgICB2YXIgc2V0RnVuYyA9IGZ1bmN0aW9uICh2YWx1ZSkgew0KICAgICAgICAgICAgdmVyaWZ5U2V0RnVuYyA9IHZhbHVlOw0KICAgICAgICB9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgZ2V0OiB1bmRlZmluZWQsDQogICAgICAgICAgICBzZXQ6IHNldEZ1bmMsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIHJlc3VsdDEgPSBmYWxzZTsNCiAgICAgICAgdmFyIGRlc2MxID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wIik7DQogICAgICAgIGZvciAodmFyIHAxIGluIG9iaikgew0KICAgICAgICAgICAgaWYgKHAxID09PSAicHJvcCIpIHsNCiAgICAgICAgICAgICAgICByZXN1bHQxID0gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlDQogICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICB2YXIgcmVzdWx0MiA9IGZhbHNlOw0KICAgICAgICAgICAgdmFyIGRlc2MyID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wIik7DQogICAgICAgICAgICBmb3IgKHZhciBwMiBpbiBvYmopIHsNCiAgICAgICAgICAgICAgICBpZiAocDIgPT09ICJwcm9wIikgew0KICAgICAgICAgICAgICAgICAgICByZXN1bHQyID0gdHJ1ZTsNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9DQoNCiAgICAgICAgICAgIHJldHVybiAhcmVzdWx0MSAmJiAhcmVzdWx0MiAmJiBkZXNjMS5lbnVtZXJhYmxlID09PSBmYWxzZSAmJiBkZXNjMi5lbnVtZXJhYmxlID09PSBmYWxzZSAmJiBlIGluc3RhbmNlb2YgVHlwZUVycm9yOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"ES5 Attributes - fail to update [[Enumerable]] attribute of accessor property ([[Get]] is undefined, [[Set]] is a Function, [[Enumerable]] is false, [[Configurable]] is false) to different value","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-491.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTQ5Mi5qcw0KICogQGRlc2NyaXB0aW9uIEVTNSBBdHRyaWJ1dGVzIC0gZmFpbCB0byB1cGRhdGUgW1tDb25maWd1cmFibGVdXSBhdHRyaWJ1dGUgb2YgYWNjZXNzb3IgcHJvcGVydHkgKFtbR2V0XV0gaXMgdW5kZWZpbmVkLCBbW1NldF1dIGlzIGEgRnVuY3Rpb24sIFtbRW51bWVyYWJsZV1dIGlzIGZhbHNlLCBbW0NvbmZpZ3VyYWJsZV1dIGlzIGZhbHNlKSB0byBkaWZmZXJlbnQgdmFsdWUNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgdmFyIHZlcmlmeVNldEZ1bmMgPSAiZGF0YSI7DQogICAgICAgIHZhciBzZXRGdW5jID0gZnVuY3Rpb24gKHZhbHVlKSB7DQogICAgICAgICAgICB2ZXJpZnlTZXRGdW5jID0gdmFsdWU7DQogICAgICAgIH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICBnZXQ6IHVuZGVmaW5lZCwNCiAgICAgICAgICAgIHNldDogc2V0RnVuYywNCiAgICAgICAgICAgIGVudW1lcmFibGU6IGZhbHNlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICB9KTsNCiAgICAgICAgdmFyIGRlc2MxID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wIik7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgdmFyIGRlc2MyID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wIik7DQogICAgICAgICAgICBkZWxldGUgb2JqLnByb3A7DQoNCiAgICAgICAgICAgIHJldHVybiBkZXNjMS5jb25maWd1cmFibGUgPT09IGZhbHNlICYmIGRlc2MyLmNvbmZpZ3VyYWJsZSA9PT0gZmFsc2UgJiYgb2JqLmhhc093blByb3BlcnR5KCJwcm9wIikgJiYgZSBpbnN0YW5jZW9mIFR5cGVFcnJvcjsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"ES5 Attributes - fail to update [[Configurable]] attribute of accessor property ([[Get]] is undefined, [[Set]] is a Function, [[Enumerable]] is false, [[Configurable]] is false) to different value","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-492.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTQ5My5qcw0KICogQGRlc2NyaXB0aW9uIEVTNSBBdHRyaWJ1dGVzIC0gZmFpbCB0byB1cGRhdGUgdGhlIGFjY2Vzc29yIHByb3BlcnR5IChbW0dldF1dIGlzIHVuZGVmaW5lZCwgW1tTZXRdXSBpcyBhIEZ1bmN0aW9uLCBbW0VudW1lcmFibGVdXSBpcyBmYWxzZSwgW1tDb25maWd1cmFibGVdXSBpcyBmYWxzZSkgdG8gYSBkYXRhIHByb3BlcnR5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIHZhciB2ZXJpZnlTZXRGdW5jID0gImRhdGEiOw0KICAgICAgICB2YXIgc2V0RnVuYyA9IGZ1bmN0aW9uICh2YWx1ZSkgew0KICAgICAgICAgICAgdmVyaWZ5U2V0RnVuYyA9IHZhbHVlOw0KICAgICAgICB9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgZ2V0OiB1bmRlZmluZWQsDQogICAgICAgICAgICBzZXQ6IHNldEZ1bmMsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgfSk7DQogICAgICAgIHZhciBkZXNjMSA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcCIpOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgICAgICB2YWx1ZTogMTAwMQ0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgdmFyIGRlc2MyID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wIik7DQoNCiAgICAgICAgICAgIHJldHVybiBkZXNjMS5oYXNPd25Qcm9wZXJ0eSgiZ2V0IikgJiYgIWRlc2MyLmhhc093blByb3BlcnR5KCJ2YWx1ZSIpICYmIGUgaW5zdGFuY2VvZiBUeXBlRXJyb3I7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"ES5 Attributes - fail to update the accessor property ([[Get]] is undefined, [[Set]] is a Function, [[Enumerable]] is false, [[Configurable]] is false) to a data property","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-493.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTQ5NC5qcw0KICogQGRlc2NyaXB0aW9uIEVTNSBBdHRyaWJ1dGVzIC0gW1tHZXRdXSBhdHRyaWJ1dGUgb2YgYWNjZXNzb3IgcHJvcGVydHkgKFtbR2V0XV0gaXMgYSBGdW5jdGlvbiwgW1tTZXRdXSBpcyB1bmRlZmluZWQsIFtbRW51bWVyYWJsZV1dIGlzIHRydWUsIFtbQ29uZmlndXJhYmxlXV0gaXMgdHJ1ZSkgaXMgdGhlIGV4cGVjdGVkIGZ1bmN0aW9uDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIHZhciBnZXRGdW5jID0gZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgcmV0dXJuIDEwMDE7DQogICAgICAgIH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICBnZXQ6IGdldEZ1bmMsDQogICAgICAgICAgICBzZXQ6IHVuZGVmaW5lZCwNCiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIHByb3BlcnR5RGVmaW5lQ29ycmVjdCA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KICAgICAgICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcCIpOw0KDQogICAgICAgIHJldHVybiBwcm9wZXJ0eURlZmluZUNvcnJlY3QgJiYgZGVzYy5nZXQgPT09IGdldEZ1bmMgJiYgb2JqLnByb3AgPT09IDEwMDE7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"ES5 Attributes - [[Get]] attribute of accessor property ([[Get]] is a Function, [[Set]] is undefined, [[Enumerable]] is true, [[Configurable]] is true) is the expected function","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-494.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTQ5NS5qcw0KICogQGRlc2NyaXB0aW9uIEVTNSBBdHRyaWJ1dGVzIC0gW1tTZXRdXSBhdHRyaWJ1dGUgb2YgYWNjZXNzb3IgcHJvcGVydHkgKFtbR2V0XV0gaXMgYSBGdW5jdGlvbiwgW1tTZXRdXSBpcyB1bmRlZmluZWQsIFtbRW51bWVyYWJsZV1dIGlzIHRydWUsIFtbQ29uZmlndXJhYmxlXV0gaXMgdHJ1ZSkgaXMgdW5kZWZpbmVkDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIHZhciBnZXRGdW5jID0gZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgcmV0dXJuIDEwMDE7DQogICAgICAgIH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICBnZXQ6IGdldEZ1bmMsDQogICAgICAgICAgICBzZXQ6IHVuZGVmaW5lZCwNCiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIHByb3BlcnR5RGVmaW5lQ29ycmVjdCA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KICAgICAgICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcCIpOw0KDQogICAgICAgIHJldHVybiBwcm9wZXJ0eURlZmluZUNvcnJlY3QgJiYgdHlwZW9mIGRlc2Muc2V0ID09PSAidW5kZWZpbmVkIjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"ES5 Attributes - [[Set]] attribute of accessor property ([[Get]] is a Function, [[Set]] is undefined, [[Enumerable]] is true, [[Configurable]] is true) is undefined","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-495.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTQ5Ni5qcw0KICogQGRlc2NyaXB0aW9uIEVTNSBBdHRyaWJ1dGVzIC0gcHJvcGVydHkgKFtbR2V0XV0gaXMgYSBGdW5jdGlvbiwgW1tTZXRdXSBpcyB1bmRlZmluZWQsIFtbRW51bWVyYWJsZV1dIGlzIHRydWUsIFtbQ29uZmlndXJhYmxlXV0gaXMgdHJ1ZSkgaXMgZW51bWVyYWJsZQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICB2YXIgZ2V0RnVuYyA9IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgIHJldHVybiAxMDAxOw0KICAgICAgICB9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgZ2V0OiBnZXRGdW5jLA0KICAgICAgICAgICAgc2V0OiB1bmRlZmluZWQsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBwcm9wZXJ0eURlZmluZUNvcnJlY3QgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCiAgICAgICAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3AiKTsNCg0KICAgICAgICBmb3IgKHZhciBwIGluIG9iaikgew0KICAgICAgICAgICAgaWYgKHAgPT09ICJwcm9wIikgew0KICAgICAgICAgICAgICAgIHJldHVybiBwcm9wZXJ0eURlZmluZUNvcnJlY3QgJiYgZGVzYy5lbnVtZXJhYmxlID09PSB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"ES5 Attributes - property ([[Get]] is a Function, [[Set]] is undefined, [[Enumerable]] is true, [[Configurable]] is true) is enumerable","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-496.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTQ5Ny5qcw0KICogQGRlc2NyaXB0aW9uIEVTNSBBdHRyaWJ1dGVzIC0gcHJvcGVydHkgKFtbR2V0XV0gaXMgYSBGdW5jdGlvbiwgW1tTZXRdXSBpcyB1bmRlZmluZWQsIFtbRW51bWVyYWJsZV1dIGlzIHRydWUsIFtbQ29uZmlndXJhYmxlXV0gaXMgdHJ1ZSkgaXMgZGVsZXRhYmxlDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIHZhciBnZXRGdW5jID0gZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgcmV0dXJuIDEwMDE7DQogICAgICAgIH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICBnZXQ6IGdldEZ1bmMsDQogICAgICAgICAgICBzZXQ6IHVuZGVmaW5lZCwNCiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIHByb3BlcnR5RGVmaW5lQ29ycmVjdCA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KICAgICAgICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcCIpOw0KDQogICAgICAgIGRlbGV0ZSBvYmoucHJvcDsNCg0KICAgICAgICByZXR1cm4gcHJvcGVydHlEZWZpbmVDb3JyZWN0ICYmIGRlc2MuY29uZmlndXJhYmxlID09PSB0cnVlICYmICFvYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"ES5 Attributes - property ([[Get]] is a Function, [[Set]] is undefined, [[Enumerable]] is true, [[Configurable]] is true) is deletable","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-497.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTQ5OC5qcw0KICogQGRlc2NyaXB0aW9uIEVTNSBBdHRyaWJ1dGVzIC0gc3VjY2VzcyB0byB1cGRhdGUgW1tHZXRdXSBhdHRyaWJ1dGUgb2YgYWNjZXNzb3IgcHJvcGVydHkgKFtbR2V0XV0gaXMgYSBGdW5jdGlvbiwgW1tTZXRdXSBpcyB1bmRlZmluZWQsIFtbRW51bWVyYWJsZV1dIGlzIHRydWUsIFtbQ29uZmlndXJhYmxlXV0gaXMgdHJ1ZSkgdG8gZGlmZmVyZW50IHZhbHVlDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICB2YXIgZ2V0RnVuYyA9IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgIHJldHVybiAxMDAxOw0KICAgICAgICB9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgZ2V0OiBnZXRGdW5jLA0KICAgICAgICAgICAgc2V0OiB1bmRlZmluZWQsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciByZXN1bHQxID0gb2JqLnByb3AgPT09IDEwMDE7DQogICAgICAgIHZhciBkZXNjMSA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcCIpOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgZ2V0OiB1bmRlZmluZWQNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIHJlc3VsdDIgPSB0eXBlb2Ygb2JqLnByb3AgPT09ICJ1bmRlZmluZWQiOw0KICAgICAgICB2YXIgZGVzYzIgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3AiKTsNCg0KICAgICAgICByZXR1cm4gcmVzdWx0MSAmJiByZXN1bHQyICYmIGRlc2MxLmdldCA9PT0gZ2V0RnVuYyAmJiB0eXBlb2YgZGVzYzIuZ2V0ID09PSAidW5kZWZpbmVkIjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"ES5 Attributes - success to update [[Get]] attribute of accessor property ([[Get]] is a Function, [[Set]] is undefined, [[Enumerable]] is true, [[Configurable]] is true) to different value","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-498.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTQ5OS5qcw0KICogQGRlc2NyaXB0aW9uIEVTNSBBdHRyaWJ1dGVzIC0gc3VjY2VzcyB0byB1cGRhdGUgW1tTZXRdXSBhdHRyaWJ1dGUgb2YgYWNjZXNzb3IgcHJvcGVydHkgKFtbR2V0XV0gaXMgYSBGdW5jdGlvbiwgW1tTZXRdXSBpcyB1bmRlZmluZWQsIFtbRW51bWVyYWJsZV1dIGlzIHRydWUsIFtbQ29uZmlndXJhYmxlXV0gaXMgdHJ1ZSkgdG8gZGlmZmVyZW50IHZhbHVlDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIHZhciBnZXRGdW5jID0gZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgcmV0dXJuIDEwMDE7DQogICAgICAgIH07DQoNCiAgICAgICAgdmFyIHZlcmlmeVNldEZ1bmMgPSAiZGF0YSI7DQogICAgICAgIHZhciBzZXRGdW5jID0gZnVuY3Rpb24gKHZhbHVlKSB7DQogICAgICAgICAgICB2ZXJpZnlTZXRGdW5jID0gdmFsdWU7DQogICAgICAgIH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICBnZXQ6IGdldEZ1bmMsDQogICAgICAgICAgICBzZXQ6IHVuZGVmaW5lZCwNCiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIGRlc2MxID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wIik7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICBzZXQ6IHNldEZ1bmMNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIGRlc2MyID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wIik7DQogICAgICAgIG9iai5wcm9wID0gIm92ZXJyaWRlRGF0YSI7DQogICAgICAgIHJldHVybiB0eXBlb2YgZGVzYzEuc2V0ID09PSAidW5kZWZpbmVkIiAmJiBkZXNjMi5zZXQgPT09IHNldEZ1bmMgJiYgdmVyaWZ5U2V0RnVuYyA9PT0gIm92ZXJyaWRlRGF0YSI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"ES5 Attributes - success to update [[Set]] attribute of accessor property ([[Get]] is a Function, [[Set]] is undefined, [[Enumerable]] is true, [[Configurable]] is true) to different value","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-499.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogU3RlcCA0IG9mIGRlZmluZVByb3BlcnR5IGNhbGxzIHRoZSBbW0RlZmluZU93blByb3BlcnR5XV0gaW50ZXJuYWwgbWV0aG9kDQogKiBvZiBPIHRvIGRlZmluZSB0aGUgcHJvcGVydHkuIFN0ZXAgNiBvZiBbW0RlZmluZU93blByb3BlcnR5XV0gcmV0dXJucyBpZg0KICogZXZlcnkgZmllbGQgb2YgZGVzYyBhbHNvIG9jY3VycyBpbiBjdXJyZW50IGFuZCBldmVyeSBmaWVsZCBpbiBkZXNjIGhhcw0KICogdGhlIHNhbWUgdmFsdWUgYXMgY3VycmVudC4NCiAqDQogKiBAcGF0aCBjaDE1LzE1LjIvMTUuMi4zLzE1LjIuMy42LzE1LjIuMy42LTQtNS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSBpcyBuby1vcCBpZiBjdXJyZW50IGFuZCBkZXNjIGFyZSB0aGUgc2FtZSBkYXRhIGRlc2MNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICBmdW5jdGlvbiBzYW1lRGF0YURlc2NyaXB0b3JWYWx1ZXMoZDEsIGQyKSB7DQogICAgcmV0dXJuIChkMS52YWx1ZSA9PT0gZDIudmFsdWUgJiYNCiAgICAgICAgICAgIGQxLmVudW1lcmFibGUgPT09IGQyLmVudW1lcmFibGUgJiYNCiAgICAgICAgICAgIGQxLndyaXRhYmxlID09PSBkMi53cml0YWJsZSAmJg0KICAgICAgICAgICAgZDEuY29uZmlndXJhYmxlID09PSBkMi5jb25maWd1cmFibGUpOw0KICB9DQoNCiAgdmFyIG8gPSB7fTsNCg0KICAvLyBjcmVhdGUgYSBkYXRhIHZhbHVlZCBwcm9wZXJ0eSB3aXRoIHRoZSBmb2xsb3dpbmcgYXR0cmlidXRlczoNCiAgLy8gdmFsdWU6IDEwMSwgZW51bWVyYWJsZTogdHJ1ZSwgd3JpdGFibGU6IHRydWUsIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICBvWyJmb28iXSA9IDEwMTsNCg0KICAvLyBxdWVyeSBmb3IsIGFuZCBzYXZlLCB0aGUgZGVzYy4gQSBzdWJzZXF1ZW50IGNhbGwgdG8gZGVmaW5lUHJvcGVydHkNCiAgLy8gd2l0aCB0aGUgc2FtZSBkZXNjIHNob3VsZCBub3QgZGlzdHVyYiB0aGUgcHJvcGVydHkgZGVmaW5pdGlvbi4NCiAgdmFyIGQxID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvLCAiZm9vIik7ICANCg0KICAvLyBub3csIHJlZGVmaW5lIHRoZSBwcm9wZXJ0eSB3aXRoIHRoZSBzYW1lIGRlc2NyaXB0b3INCiAgLy8gdGhlIHByb3BlcnR5IGRlZmludGlvbiBzaG91bGQgbm90IGdldCBkaXN0dXJiZWQuDQogIHZhciBkZXNjID0geyB2YWx1ZTogMTAxLCBlbnVtZXJhYmxlOiB0cnVlLCB3cml0YWJsZTogdHJ1ZSwgY29uZmlndXJhYmxlOiB0cnVlIH07DQogIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvLCAiZm9vIiwgZGVzYyk7DQoNCiAgdmFyIGQyID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvLCAiZm9vIik7IA0KDQogIGlmIChzYW1lRGF0YURlc2NyaXB0b3JWYWx1ZXMoZDEsIGQyKSA9PT0gdHJ1ZSkgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"Step 4 of defineProperty calls the [[DefineOwnProperty]] internal method\nof O to define the property. Step 6 of [[DefineOwnProperty]] returns if\nevery field of desc also occurs in current and every field in desc has\nthe same value as current.","description":"Object.defineProperty is no-op if current and desc are the same data desc","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTUwLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnR5IC0gJ25hbWUnIHByb3BlcnR5IGRvZXNuJ3QgZXhpc3QgaW4gJ08nLCB0ZXN0IFtbQ29uZmlndXJhYmxlXV0gb2YgJ25hbWUnIHByb3BlcnR5IGlzIHNldCBhcyBmYWxzZSBpZiBpdCBpcyBhYnNlbnQgaW4gZGF0YSBkZXNjcmlwdG9yICdkZXNjJyAoOC4xMi45IHN0ZXAgNC5hLmkpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wZXJ0eSIsIHsNCiAgICAgICAgICAgIHZhbHVlOiAxMDAxLA0KICAgICAgICAgICAgd3JpdGFibGU6IHRydWUsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KICAgICAgICByZXR1cm4gZGF0YVByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3Qob2JqLCAicHJvcGVydHkiLCAxMDAxLCB0cnVlLCB0cnVlLCBmYWxzZSk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - 'name' property doesn't exist in 'O', test [[Configurable]] of 'name' property is set as false if it is absent in data descriptor 'desc' (8.12.9 step 4.a.i)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-50.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTUwMC5qcw0KICogQGRlc2NyaXB0aW9uIEVTNSBBdHRyaWJ1dGVzIC0gc3VjY2VzcyB0byB1cGRhdGUgW1tFbnVtZXJhYmxlXV0gYXR0cmlidXRlIG9mIGFjY2Vzc29yIHByb3BlcnR5IChbW0dldF1dIGlzICBGdW5jdGlvbiwgW1tTZXRdXSBpcyB1bmRlZmluZWQsIFtbRW51bWVyYWJsZV1dIGlzIHRydWUsIFtbQ29uZmlndXJhYmxlXV0gaXMgdHJ1ZSkgdG8gZGlmZmVyZW50IHZhbHVlDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIHZhciBnZXRGdW5jID0gZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgcmV0dXJuIDEwMDE7DQogICAgICAgIH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICBnZXQ6IGdldEZ1bmMsDQogICAgICAgICAgICBzZXQ6IHVuZGVmaW5lZCwNCiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQogICAgICAgIHZhciByZXN1bHQxID0gZmFsc2U7DQogICAgICAgIHZhciBkZXNjMSA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcCIpOw0KICAgICAgICBmb3IgKHZhciBwMSBpbiBvYmopIHsNCiAgICAgICAgICAgIGlmIChwMSA9PT0gInByb3AiKSB7DQogICAgICAgICAgICAgICAgcmVzdWx0MSA9IHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgIGVudW1lcmFibGU6IGZhbHNlDQogICAgICAgIH0pOw0KICAgICAgICB2YXIgcmVzdWx0MiA9IGZhbHNlOw0KICAgICAgICB2YXIgZGVzYzIgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3AiKTsNCiAgICAgICAgZm9yICh2YXIgcDIgaW4gb2JqKSB7DQogICAgICAgICAgICBpZiAocDIgPT09ICJwcm9wIikgew0KICAgICAgICAgICAgICAgIHJlc3VsdDIgPSB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgcmV0dXJuIHJlc3VsdDEgJiYgIXJlc3VsdDIgJiYgZGVzYzEuZW51bWVyYWJsZSA9PT0gdHJ1ZSAmJiBkZXNjMi5lbnVtZXJhYmxlID09PSBmYWxzZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"ES5 Attributes - success to update [[Enumerable]] attribute of accessor property ([[Get]] is Function, [[Set]] is undefined, [[Enumerable]] is true, [[Configurable]] is true) to different value","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-500.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTUwMS5qcw0KICogQGRlc2NyaXB0aW9uIEVTNSBBdHRyaWJ1dGVzIC0gc3VjY2VzcyB0byB1cGRhdGUgW1tDb25maWd1cmFibGVdXSBhdHRyaWJ1dGUgb2YgYWNjZXNzb3IgcHJvcGVydHkgKFtbR2V0XV0gaXMgYSBGdW5jdGlvbiwgW1tTZXRdXSBpcyB1bmRlZmluZWQsIFtbRW51bWVyYWJsZV1dIGlzIHRydWUsIFtbQ29uZmlndXJhYmxlXV0gaXMgdHJ1ZSkgdG8gZGlmZmVyZW50IHZhbHVlDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIHZhciBnZXRGdW5jID0gZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgcmV0dXJuIDEwMDE7DQogICAgICAgIH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICBnZXQ6IGdldEZ1bmMsDQogICAgICAgICAgICBzZXQ6IHVuZGVmaW5lZCwNCiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQogICAgICAgIHZhciBkZXNjMSA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcCIpOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICB9KTsNCiAgICAgICAgdmFyIGRlc2MyID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wIik7DQogICAgICAgIGRlbGV0ZSBvYmoucHJvcDsNCg0KICAgICAgICByZXR1cm4gZGVzYzEuY29uZmlndXJhYmxlID09PSB0cnVlICYmIGRlc2MyLmNvbmZpZ3VyYWJsZSA9PT0gZmFsc2UgJiYgb2JqLmhhc093blByb3BlcnR5KCJwcm9wIik7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"ES5 Attributes - success to update [[Configurable]] attribute of accessor property ([[Get]] is a Function, [[Set]] is undefined, [[Enumerable]] is true, [[Configurable]] is true) to different value","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-501.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTUwMi5qcw0KICogQGRlc2NyaXB0aW9uIEVTNSBBdHRyaWJ1dGVzIC0gc3VjY2VzcyB0byB1cGRhdGUgdGhlIGFjY2Vzc29yIHByb3BlcnR5IChbW0dldF1dIGlzIGEgRnVuY3Rpb24sIFtbU2V0XV0gaXMgdW5kZWZpbmVkLCBbW0VudW1lcmFibGVdXSBpcyB0cnVlLCBbW0NvbmZpZ3VyYWJsZV1dIGlzIHRydWUpIHRvIGEgZGF0YSBwcm9wZXJ0eQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICB2YXIgZ2V0RnVuYyA9IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgIHJldHVybiAxMDAxOw0KICAgICAgICB9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgZ2V0OiBnZXRGdW5jLA0KICAgICAgICAgICAgc2V0OiB1bmRlZmluZWQsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KICAgICAgICB2YXIgZGVzYzEgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3AiKTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgIHZhbHVlOiAxMDAxDQogICAgICAgIH0pOw0KICAgICAgICB2YXIgZGVzYzIgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3AiKTsNCg0KICAgICAgICByZXR1cm4gZGVzYzEuaGFzT3duUHJvcGVydHkoImdldCIpICYmIGRlc2MyLmhhc093blByb3BlcnR5KCJ2YWx1ZSIpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"ES5 Attributes - success to update the accessor property ([[Get]] is a Function, [[Set]] is undefined, [[Enumerable]] is true, [[Configurable]] is true) to a data property","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-502.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTUwMy5qcw0KICogQGRlc2NyaXB0aW9uIEVTNSBBdHRyaWJ1dGVzIC0gW1tHZXRdXSBhdHRyaWJ1dGUgb2YgYWNjZXNzb3IgcHJvcGVydHkgKFtbR2V0XV0gaXMgYSBGdW5jdGlvbiwgW1tTZXRdXSBpcyB1bmRlZmluZWQsIFtbRW51bWVyYWJsZV1dIGlzIHRydWUsIFtbQ29uZmlndXJhYmxlXV0gaXMgZmFsc2UpIGlzIHRoZSBleHBlY3RlZCBmdW5jdGlvbg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICB2YXIgZ2V0RnVuYyA9IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgIHJldHVybiAxMDAxOw0KICAgICAgICB9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgZ2V0OiBnZXRGdW5jLA0KICAgICAgICAgICAgc2V0OiB1bmRlZmluZWQsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgcHJvcGVydHlEZWZpbmVDb3JyZWN0ID0gb2JqLmhhc093blByb3BlcnR5KCJwcm9wIik7DQogICAgICAgIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wIik7DQoNCiAgICAgICAgcmV0dXJuIHByb3BlcnR5RGVmaW5lQ29ycmVjdCAmJiBkZXNjLmdldCA9PT0gZ2V0RnVuYyAmJiBvYmoucHJvcCA9PT0gMTAwMTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"ES5 Attributes - [[Get]] attribute of accessor property ([[Get]] is a Function, [[Set]] is undefined, [[Enumerable]] is true, [[Configurable]] is false) is the expected function","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-503.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTUwNC5qcw0KICogQGRlc2NyaXB0aW9uIEVTNSBBdHRyaWJ1dGVzIC0gW1tTZXRdXSBhdHRyaWJ1dGUgb2YgYWNjZXNzb3IgcHJvcGVydHkgKFtbR2V0XV0gaXMgYSBGdW5jdGlvbiwgW1tTZXRdXSBpcyB1bmRlZmluZWQsIFtbRW51bWVyYWJsZV1dIGlzIHRydWUsIFtbQ29uZmlndXJhYmxlXV0gaXMgZmFsc2UpIGlzIHVuZGVmaW5lZA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICB2YXIgZ2V0RnVuYyA9IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgIHJldHVybiAxMDAxOw0KICAgICAgICB9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgZ2V0OiBnZXRGdW5jLA0KICAgICAgICAgICAgc2V0OiB1bmRlZmluZWQsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgcHJvcGVydHlEZWZpbmVDb3JyZWN0ID0gb2JqLmhhc093blByb3BlcnR5KCJwcm9wIik7DQogICAgICAgIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wIik7DQoNCiAgICAgICAgcmV0dXJuIHByb3BlcnR5RGVmaW5lQ29ycmVjdCAmJiB0eXBlb2YgZGVzYy5zZXQgPT09ICJ1bmRlZmluZWQiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"ES5 Attributes - [[Set]] attribute of accessor property ([[Get]] is a Function, [[Set]] is undefined, [[Enumerable]] is true, [[Configurable]] is false) is undefined","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-504.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTUwNS5qcw0KICogQGRlc2NyaXB0aW9uIEVTNSBBdHRyaWJ1dGVzIC0gcHJvcGVydHkgKFtbR2V0XV0gaXMgYSBGdW5jdGlvbiwgW1tTZXRdXSBpcyB1bmRlZmluZWQsIFtbRW51bWVyYWJsZV1dIGlzIHRydWUsIFtbQ29uZmlndXJhYmxlXV0gaXMgZmFsc2UpIGlzIGVudW1lcmFibGUNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgdmFyIGdldEZ1bmMgPSBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICByZXR1cm4gMTAwMTsNCiAgICAgICAgfTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgIGdldDogZ2V0RnVuYywNCiAgICAgICAgICAgIHNldDogdW5kZWZpbmVkLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIHByb3BlcnR5RGVmaW5lQ29ycmVjdCA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KICAgICAgICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcCIpOw0KDQogICAgICAgIGZvciAodmFyIHAgaW4gb2JqKSB7DQogICAgICAgICAgICBpZiAocCA9PT0gInByb3AiKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIHByb3BlcnR5RGVmaW5lQ29ycmVjdCAmJiBkZXNjLmVudW1lcmFibGUgPT09IHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"ES5 Attributes - property ([[Get]] is a Function, [[Set]] is undefined, [[Enumerable]] is true, [[Configurable]] is false) is enumerable","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-505.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTUwNi5qcw0KICogQGRlc2NyaXB0aW9uIEVTNSBBdHRyaWJ1dGVzIC0gcHJvcGVydHkgKFtbR2V0XV0gaXMgYSBGdW5jdGlvbiwgW1tTZXRdXSBpcyB1bmRlZmluZWQsIFtbRW51bWVyYWJsZV1dIGlzIHRydWUsIFtbQ29uZmlndXJhYmxlXV0gaXMgZmFsc2UpIGlzIHVuZGVsZXRhYmxlDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIHZhciBnZXRGdW5jID0gZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgcmV0dXJuIDEwMDE7DQogICAgICAgIH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICBnZXQ6IGdldEZ1bmMsDQogICAgICAgICAgICBzZXQ6IHVuZGVmaW5lZCwNCiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBwcm9wZXJ0eURlZmluZUNvcnJlY3QgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCiAgICAgICAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3AiKTsNCg0KICAgICAgICBkZWxldGUgb2JqLnByb3A7DQoNCiAgICAgICAgcmV0dXJuIHByb3BlcnR5RGVmaW5lQ29ycmVjdCAmJiBkZXNjLmNvbmZpZ3VyYWJsZSA9PT0gZmFsc2UgJiYgb2JqLmhhc093blByb3BlcnR5KCJwcm9wIik7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"ES5 Attributes - property ([[Get]] is a Function, [[Set]] is undefined, [[Enumerable]] is true, [[Configurable]] is false) is undeletable","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-506.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTUwNy5qcw0KICogQGRlc2NyaXB0aW9uIEVTNSBBdHRyaWJ1dGVzIC0gZmFpbCB0byB1cGRhdGUgW1tHZXRdXSBhdHRyaWJ1dGUgb2YgYWNjZXNzb3IgcHJvcGVydHkgKFtbR2V0XV0gaXMgYSBGdW5jdGlvbiwgW1tTZXRdXSBpcyB1bmRlZmluZWQsIFtbRW51bWVyYWJsZV1dIGlzIHRydWUsIFtbQ29uZmlndXJhYmxlXV0gaXMgZmFsc2UpIHRvIGRpZmZlcmVudCB2YWx1ZQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgdmFyIGdldEZ1bmMgPSBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICByZXR1cm4gMTAwMTsNCiAgICAgICAgfTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgIGdldDogZ2V0RnVuYywNCiAgICAgICAgICAgIHNldDogdW5kZWZpbmVkLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIHJlc3VsdDEgPSBvYmoucHJvcCA9PT0gMTAwMTsNCiAgICAgICAgdmFyIGRlc2MxID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wIik7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgICAgIGdldDogdW5kZWZpbmVkDQogICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICB2YXIgcmVzdWx0MiA9IG9iai5wcm9wID09PSAxMDAxOw0KICAgICAgICAgICAgdmFyIGRlc2MyID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wIik7DQoNCiAgICAgICAgICAgIHJldHVybiByZXN1bHQxICYmIHJlc3VsdDIgJiYgZGVzYzEuZ2V0ID09PSBnZXRGdW5jICYmIGRlc2MyLmdldCA9PT0gZ2V0RnVuYyAmJiBlIGluc3RhbmNlb2YgVHlwZUVycm9yOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"ES5 Attributes - fail to update [[Get]] attribute of accessor property ([[Get]] is a Function, [[Set]] is undefined, [[Enumerable]] is true, [[Configurable]] is false) to different value","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-507.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTUwOC5qcw0KICogQGRlc2NyaXB0aW9uIEVTNSBBdHRyaWJ1dGVzIC0gZmFpbCB0byB1cGRhdGUgW1tTZXRdXSBhdHRyaWJ1dGUgb2YgYWNjZXNzb3IgcHJvcGVydHkgKFtbR2V0XV0gaXMgYSBGdW5jdGlvbiwgW1tTZXRdXSBpcyB1bmRlZmluZWQsIFtbRW51bWVyYWJsZV1dIGlzIHRydWUsIFtbQ29uZmlndXJhYmxlXV0gaXMgZmFsc2UpIHRvIGRpZmZlcmVudCB2YWx1ZQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICB2YXIgZ2V0RnVuYyA9IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgIHJldHVybiAxMDAxOw0KICAgICAgICB9Ow0KDQogICAgICAgIHZhciB2ZXJpZnlTZXRGdW5jID0gImRhdGEiOw0KICAgICAgICB2YXIgc2V0RnVuYyA9IGZ1bmN0aW9uICh2YWx1ZSkgew0KICAgICAgICAgICAgdmVyaWZ5U2V0RnVuYyA9IHZhbHVlOw0KICAgICAgICB9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgZ2V0OiBnZXRGdW5jLA0KICAgICAgICAgICAgc2V0OiB1bmRlZmluZWQsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgZGVzYzEgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3AiKTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICAgICAgc2V0OiBzZXRGdW5jDQogICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICB2YXIgZGVzYzIgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3AiKTsNCg0KICAgICAgICAgICAgcmV0dXJuIHR5cGVvZiBkZXNjMS5zZXQgPT09ICJ1bmRlZmluZWQiICYmIHR5cGVvZiBkZXNjMi5zZXQgPT09ICJ1bmRlZmluZWQiICYmIGUgaW5zdGFuY2VvZiBUeXBlRXJyb3I7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"ES5 Attributes - fail to update [[Set]] attribute of accessor property ([[Get]] is a Function, [[Set]] is undefined, [[Enumerable]] is true, [[Configurable]] is false) to different value","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-508.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTUwOS5qcw0KICogQGRlc2NyaXB0aW9uIEVTNSBBdHRyaWJ1dGVzIC0gZmFpbCB0byB1cGRhdGUgW1tFbnVtZXJhYmxlXV0gYXR0cmlidXRlIG9mIGFjY2Vzc29yIHByb3BlcnR5IChbW0dldF1dIGlzIGEgRnVuY3Rpb24sIFtbU2V0XV0gaXMgdW5kZWZpbmVkLCBbW0VudW1lcmFibGVdXSBpcyB0cnVlLCBbW0NvbmZpZ3VyYWJsZV1dIGlzIGZhbHNlKSB0byBkaWZmZXJlbnQgdmFsdWUNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgdmFyIGdldEZ1bmMgPSBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICByZXR1cm4gMTAwMTsNCiAgICAgICAgfTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgIGdldDogZ2V0RnVuYywNCiAgICAgICAgICAgIHNldDogdW5kZWZpbmVkLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgfSk7DQogICAgICAgIHZhciByZXN1bHQxID0gZmFsc2U7DQogICAgICAgIHZhciBkZXNjMSA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcCIpOw0KICAgICAgICBmb3IgKHZhciBwMSBpbiBvYmopIHsNCiAgICAgICAgICAgIGlmIChwMSA9PT0gInByb3AiKSB7DQogICAgICAgICAgICAgICAgcmVzdWx0MSA9IHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICAgICAgZW51bWVyYWJsZTogZmFsc2UNCiAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHZhciByZXN1bHQyID0gZmFsc2U7DQogICAgICAgICAgICB2YXIgZGVzYzIgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3AiKTsNCiAgICAgICAgICAgIGZvciAodmFyIHAyIGluIG9iaikgew0KICAgICAgICAgICAgICAgIGlmIChwMiA9PT0gInByb3AiKSB7DQogICAgICAgICAgICAgICAgICAgIHJlc3VsdDIgPSB0cnVlOw0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgcmV0dXJuIHJlc3VsdDEgJiYgcmVzdWx0MiAmJiBkZXNjMS5lbnVtZXJhYmxlID09PSB0cnVlICYmIGRlc2MyLmVudW1lcmFibGUgPT09IHRydWUgJiYgZSBpbnN0YW5jZW9mIFR5cGVFcnJvcjsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"ES5 Attributes - fail to update [[Enumerable]] attribute of accessor property ([[Get]] is a Function, [[Set]] is undefined, [[Enumerable]] is true, [[Configurable]] is false) to different value","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-509.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTUxLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnR5IC0gZGVzYyBpcyBkYXRhIGRlc2NyaXB0b3IsIHRlc3QgdXBkYXRpbmcgYWxsIGF0dHJpYnV0ZSB2YWx1ZXMgb2YgJ25hbWUnICg4LjEyLjkgc3RlcCA0LmEuaSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0geyAicHJvcGVydHkiOiAxIH07IC8vIGRlZmF1bHQgdmFsdWUgb2YgYXR0cmlidXRlczogd3JpdGFibGU6IHRydWUsIGNvbmZpZ3VyYWJsZTogdHJ1ZSwgZW51bWVyYWJsZTogdHJ1ZQ0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wZXJ0eSIsIHsNCiAgICAgICAgICAgIHZhbHVlOiAxMDAxLA0KICAgICAgICAgICAgd3JpdGFibGU6IGZhbHNlLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogZmFsc2UsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgIH0pOw0KDQogICAgICAgIHJldHVybiBkYXRhUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChvYmosICJwcm9wZXJ0eSIsIDEwMDEsIGZhbHNlLCBmYWxzZSwgZmFsc2UpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - desc is data descriptor, test updating all attribute values of 'name' (8.12.9 step 4.a.i)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-51.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTUxMC5qcw0KICogQGRlc2NyaXB0aW9uIEVTNSBBdHRyaWJ1dGVzIC0gZmFpbCB0byB1cGRhdGUgW1tDb25maWd1cmFibGVdXSBhdHRyaWJ1dGUgb2YgYWNjZXNzb3IgcHJvcGVydHkgKFtbR2V0XV0gaXMgYSBGdW5jdGlvbiwgW1tTZXRdXSBpcyB1bmRlZmluZWQsIFtbRW51bWVyYWJsZV1dIGlzIHRydWUsIFtbQ29uZmlndXJhYmxlXV0gaXMgZmFsc2UpIHRvIGRpZmZlcmVudCB2YWx1ZQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICB2YXIgZ2V0RnVuYyA9IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgIHJldHVybiAxMDAxOw0KICAgICAgICB9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgZ2V0OiBnZXRGdW5jLA0KICAgICAgICAgICAgc2V0OiB1bmRlZmluZWQsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICB9KTsNCiAgICAgICAgdmFyIGRlc2MxID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wIik7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgdmFyIGRlc2MyID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wIik7DQogICAgICAgICAgICBkZWxldGUgb2JqLnByb3A7DQoNCiAgICAgICAgICAgIHJldHVybiBkZXNjMS5jb25maWd1cmFibGUgPT09IGZhbHNlICYmIGRlc2MyLmNvbmZpZ3VyYWJsZSA9PT0gZmFsc2UgJiYgb2JqLmhhc093blByb3BlcnR5KCJwcm9wIikgJiYgZSBpbnN0YW5jZW9mIFR5cGVFcnJvcjsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"ES5 Attributes - fail to update [[Configurable]] attribute of accessor property ([[Get]] is a Function, [[Set]] is undefined, [[Enumerable]] is true, [[Configurable]] is false) to different value","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-510.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTUxMS5qcw0KICogQGRlc2NyaXB0aW9uIEVTNSBBdHRyaWJ1dGVzIC0gZmFpbCB0byB1cGRhdGUgdGhlIGFjY2Vzc29yIHByb3BlcnR5IChbW0dldF1dIGlzIGEgRnVuY3Rpb24sIFtbU2V0XV0gaXMgdW5kZWZpbmVkLCBbW0VudW1lcmFibGVdXSBpcyB0cnVlLCBbW0NvbmZpZ3VyYWJsZV1dIGlzIGZhbHNlKSB0byBhIGRhdGEgcHJvcGVydHkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgdmFyIGdldEZ1bmMgPSBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICByZXR1cm4gMTAwMTsNCiAgICAgICAgfTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgIGdldDogZ2V0RnVuYywNCiAgICAgICAgICAgIHNldDogdW5kZWZpbmVkLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgfSk7DQogICAgICAgIHZhciBkZXNjMSA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcCIpOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgICAgICB2YWx1ZTogMTAwMQ0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgdmFyIGRlc2MyID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wIik7DQoNCiAgICAgICAgICAgIHJldHVybiBkZXNjMS5oYXNPd25Qcm9wZXJ0eSgiZ2V0IikgJiYgIWRlc2MyLmhhc093blByb3BlcnR5KCJ2YWx1ZSIpICYmIGUgaW5zdGFuY2VvZiBUeXBlRXJyb3I7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"ES5 Attributes - fail to update the accessor property ([[Get]] is a Function, [[Set]] is undefined, [[Enumerable]] is true, [[Configurable]] is false) to a data property","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-511.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTUxMi5qcw0KICogQGRlc2NyaXB0aW9uIEVTNSBBdHRyaWJ1dGVzIC0gW1tHZXRdXSBhdHRyaWJ1dGUgb2YgYWNjZXNzb3IgcHJvcGVydHkgKFtbR2V0XV0gaXMgYSBGdW5jdGlvbiwgW1tTZXRdXSBpcyB1bmRlZmluZWQsIFtbRW51bWVyYWJsZV1dIGlzIGZhbHNlLCBbW0NvbmZpZ3VyYWJsZV1dIGlzIHRydWUpIGlzIHRoZSBleHBlY3RlZCBmdW5jdGlvbg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICB2YXIgZ2V0RnVuYyA9IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgIHJldHVybiAxMDAxOw0KICAgICAgICB9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgZ2V0OiBnZXRGdW5jLA0KICAgICAgICAgICAgc2V0OiB1bmRlZmluZWQsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgcHJvcGVydHlEZWZpbmVDb3JyZWN0ID0gb2JqLmhhc093blByb3BlcnR5KCJwcm9wIik7DQogICAgICAgIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wIik7DQoNCiAgICAgICAgcmV0dXJuIHByb3BlcnR5RGVmaW5lQ29ycmVjdCAmJiBkZXNjLmdldCA9PT0gZ2V0RnVuYyAmJiBvYmoucHJvcCA9PT0gMTAwMTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"ES5 Attributes - [[Get]] attribute of accessor property ([[Get]] is a Function, [[Set]] is undefined, [[Enumerable]] is false, [[Configurable]] is true) is the expected function","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-512.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTUxMy5qcw0KICogQGRlc2NyaXB0aW9uIEVTNSBBdHRyaWJ1dGVzIC0gW1tTZXRdXSBhdHRyaWJ1dGUgb2YgYWNjZXNzb3IgcHJvcGVydHkgKFtbR2V0XV0gaXMgYSBGdW5jdGlvbiwgW1tTZXRdXSBpcyB1bmRlZmluZWQsIFtbRW51bWVyYWJsZV1dIGlzIGZhbHNlLCBbW0NvbmZpZ3VyYWJsZV1dIGlzIHRydWUpIGlzIHVuZGVmaW5lZA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICB2YXIgZ2V0RnVuYyA9IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgIHJldHVybiAxMDAxOw0KICAgICAgICB9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgZ2V0OiBnZXRGdW5jLA0KICAgICAgICAgICAgc2V0OiB1bmRlZmluZWQsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgcHJvcGVydHlEZWZpbmVDb3JyZWN0ID0gb2JqLmhhc093blByb3BlcnR5KCJwcm9wIik7DQogICAgICAgIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wIik7DQoNCiAgICAgICAgcmV0dXJuIHByb3BlcnR5RGVmaW5lQ29ycmVjdCAmJiB0eXBlb2YgZGVzYy5zZXQgPT09ICJ1bmRlZmluZWQiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"ES5 Attributes - [[Set]] attribute of accessor property ([[Get]] is a Function, [[Set]] is undefined, [[Enumerable]] is false, [[Configurable]] is true) is undefined","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-513.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTUxNC5qcw0KICogQGRlc2NyaXB0aW9uIEVTNSBBdHRyaWJ1dGVzIC0gcHJvcGVydHkgKFtbR2V0XV0gaXMgYSBGdW5jdGlvbiwgW1tTZXRdXSBpcyB1bmRlZmluZWQsIFtbRW51bWVyYWJsZV1dIGlzIGZhbHNlLCBbW0NvbmZpZ3VyYWJsZV1dIGlzIHRydWUpIGlzIG5vbi1lbnVtZXJhYmxlDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIHZhciBnZXRGdW5jID0gZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgcmV0dXJuIDEwMDE7DQogICAgICAgIH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICBnZXQ6IGdldEZ1bmMsDQogICAgICAgICAgICBzZXQ6IHVuZGVmaW5lZCwNCiAgICAgICAgICAgIGVudW1lcmFibGU6IGZhbHNlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBwcm9wZXJ0eURlZmluZUNvcnJlY3QgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCiAgICAgICAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3AiKTsNCg0KICAgICAgICBmb3IgKHZhciBwIGluIG9iaikgew0KICAgICAgICAgICAgaWYgKHAgPT09ICJwcm9wIikgew0KICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIHJldHVybiBwcm9wZXJ0eURlZmluZUNvcnJlY3QgJiYgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"ES5 Attributes - property ([[Get]] is a Function, [[Set]] is undefined, [[Enumerable]] is false, [[Configurable]] is true) is non-enumerable","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-514.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTUxNS5qcw0KICogQGRlc2NyaXB0aW9uIEVTNSBBdHRyaWJ1dGVzIC0gcHJvcGVydHkgKFtbR2V0XV0gaXMgYSBGdW5jdGlvbiwgW1tTZXRdXSBpcyB1bmRlZmluZWQsIFtbRW51bWVyYWJsZV1dIGlzIGZhbHNlLCBbW0NvbmZpZ3VyYWJsZV1dIGlzIHRydWUpIGlzIGRlbGV0YWJsZQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICB2YXIgZ2V0RnVuYyA9IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgIHJldHVybiAxMDAxOw0KICAgICAgICB9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgZ2V0OiBnZXRGdW5jLA0KICAgICAgICAgICAgc2V0OiB1bmRlZmluZWQsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgcHJvcGVydHlEZWZpbmVDb3JyZWN0ID0gb2JqLmhhc093blByb3BlcnR5KCJwcm9wIik7DQogICAgICAgIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wIik7DQoNCiAgICAgICAgZGVsZXRlIG9iai5wcm9wOw0KDQogICAgICAgIHJldHVybiBwcm9wZXJ0eURlZmluZUNvcnJlY3QgJiYgZGVzYy5jb25maWd1cmFibGUgPT09IHRydWUgJiYgIW9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"ES5 Attributes - property ([[Get]] is a Function, [[Set]] is undefined, [[Enumerable]] is false, [[Configurable]] is true) is deletable","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-515.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTUxNi5qcw0KICogQGRlc2NyaXB0aW9uIEVTNSBBdHRyaWJ1dGVzIC0gc3VjY2VzcyB0byB1cGRhdGUgW1tHZXRdXSBhdHRyaWJ1dGUgb2YgYWNjZXNzb3IgcHJvcGVydHkgKFtbR2V0XV0gaXMgYSBGdW5jdGlvbiwgW1tTZXRdXSBpcyB1bmRlZmluZWQsIFtbRW51bWVyYWJsZV1dIGlzIGZhbHNlLCBbW0NvbmZpZ3VyYWJsZV1dIGlzIHRydWUpIHRvIGRpZmZlcmVudCB2YWx1ZQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgdmFyIGdldEZ1bmMgPSBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICByZXR1cm4gMTAwMTsNCiAgICAgICAgfTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgIGdldDogZ2V0RnVuYywNCiAgICAgICAgICAgIHNldDogdW5kZWZpbmVkLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogZmFsc2UsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIHJlc3VsdDEgPSBvYmoucHJvcCA9PT0gMTAwMTsNCiAgICAgICAgdmFyIGRlc2MxID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wIik7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICBnZXQ6IHVuZGVmaW5lZA0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgcmVzdWx0MiA9IHR5cGVvZiBvYmoucHJvcCA9PT0gInVuZGVmaW5lZCI7DQogICAgICAgIHZhciBkZXNjMiA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcCIpOw0KDQogICAgICAgIHJldHVybiByZXN1bHQxICYmIHJlc3VsdDIgJiYgZGVzYzEuZ2V0ID09PSBnZXRGdW5jICYmIHR5cGVvZiBkZXNjMi5nZXQgPT09ICJ1bmRlZmluZWQiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"ES5 Attributes - success to update [[Get]] attribute of accessor property ([[Get]] is a Function, [[Set]] is undefined, [[Enumerable]] is false, [[Configurable]] is true) to different value","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-516.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTUxNy5qcw0KICogQGRlc2NyaXB0aW9uIEVTNSBBdHRyaWJ1dGVzIC0gc3VjY2VzcyB0byB1cGRhdGUgW1tTZXRdXSBhdHRyaWJ1dGUgb2YgYWNjZXNzb3IgcHJvcGVydHkgKFtbR2V0XV0gaXMgYSBGdW5jdGlvbiwgW1tTZXRdXSBpcyB1bmRlZmluZWQsIFtbRW51bWVyYWJsZV1dIGlzIGZhbHNlLCBbW0NvbmZpZ3VyYWJsZV1dIGlzIHRydWUpIHRvIGRpZmZlcmVudCB2YWx1ZQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICB2YXIgZ2V0RnVuYyA9IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgIHJldHVybiAxMDAxOw0KICAgICAgICB9Ow0KDQogICAgICAgIHZhciB2ZXJpZnlTZXRGdW5jID0gImRhdGEiOw0KICAgICAgICB2YXIgc2V0RnVuYyA9IGZ1bmN0aW9uICh2YWx1ZSkgew0KICAgICAgICAgICAgdmVyaWZ5U2V0RnVuYyA9IHZhbHVlOw0KICAgICAgICB9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgZ2V0OiBnZXRGdW5jLA0KICAgICAgICAgICAgc2V0OiB1bmRlZmluZWQsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgZGVzYzEgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3AiKTsNCiAgICAgICAgdmFyIHByb3BlcnR5RGVmaW5lQ29ycmVjdCA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgc2V0OiBzZXRGdW5jDQogICAgICAgIH0pOw0KDQogICAgICAgIG9iai5wcm9wID0gIm92ZXJyaWRlRGF0YSI7DQogICAgICAgIHZhciBkZXNjMiA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcCIpOw0KDQogICAgICAgIHJldHVybiB0eXBlb2YgZGVzYzEuc2V0ID09PSAidW5kZWZpbmVkIiAmJiBwcm9wZXJ0eURlZmluZUNvcnJlY3QgJiYgZGVzYzIuc2V0ID09PSBzZXRGdW5jICYmIHZlcmlmeVNldEZ1bmMgPT09ICJvdmVycmlkZURhdGEiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"ES5 Attributes - success to update [[Set]] attribute of accessor property ([[Get]] is a Function, [[Set]] is undefined, [[Enumerable]] is false, [[Configurable]] is true) to different value","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-517.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTUxOC5qcw0KICogQGRlc2NyaXB0aW9uIEVTNSBBdHRyaWJ1dGVzIC0gc3VjY2VzcyB0byB1cGRhdGUgW1tFbnVtZXJhYmxlXV0gYXR0cmlidXRlIG9mIGFjY2Vzc29yIHByb3BlcnR5IChbW0dldF1dIGlzIGEgRnVuY3Rpb24sIFtbU2V0XV0gaXMgdW5kZWZpbmVkLCBbW0VudW1lcmFibGVdXSBpcyBmYWxzZSwgW1tDb25maWd1cmFibGVdXSBpcyB0cnVlKSB0byBkaWZmZXJlbnQgdmFsdWUNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgdmFyIGdldEZ1bmMgPSBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICByZXR1cm4gMTAwMTsNCiAgICAgICAgfTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgIGdldDogZ2V0RnVuYywNCiAgICAgICAgICAgIHNldDogdW5kZWZpbmVkLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogZmFsc2UsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQogICAgICAgIHZhciByZXN1bHQxID0gZmFsc2U7DQogICAgICAgIHZhciBkZXNjMSA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcCIpOw0KICAgICAgICBmb3IgKHZhciBwMSBpbiBvYmopIHsNCiAgICAgICAgICAgIGlmIChwMSA9PT0gInByb3AiKSB7DQogICAgICAgICAgICAgICAgcmVzdWx0MSA9IHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUNCiAgICAgICAgfSk7DQogICAgICAgIHZhciByZXN1bHQyID0gZmFsc2U7DQogICAgICAgIHZhciBkZXNjMiA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcCIpOw0KICAgICAgICBmb3IgKHZhciBwMiBpbiBvYmopIHsNCiAgICAgICAgICAgIGlmIChwMiA9PT0gInByb3AiKSB7DQogICAgICAgICAgICAgICAgcmVzdWx0MiA9IHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICByZXR1cm4gIXJlc3VsdDEgJiYgcmVzdWx0MiAmJiBkZXNjMS5lbnVtZXJhYmxlID09PSBmYWxzZSAmJiBkZXNjMi5lbnVtZXJhYmxlID09PSB0cnVlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"ES5 Attributes - success to update [[Enumerable]] attribute of accessor property ([[Get]] is a Function, [[Set]] is undefined, [[Enumerable]] is false, [[Configurable]] is true) to different value","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-518.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTUxOS5qcw0KICogQGRlc2NyaXB0aW9uIEVTNSBBdHRyaWJ1dGVzIC0gc3VjY2VzcyB0byB1cGRhdGUgW1tDb25maWd1cmFibGVdXSBhdHRyaWJ1dGUgb2YgYWNjZXNzb3IgcHJvcGVydHkgKFtbR2V0XV0gaXMgYSBGdW5jdGlvbiwgW1tTZXRdXSBpcyB1bmRlZmluZWQsIFtbRW51bWVyYWJsZV1dIGlzIGZhbHNlLCBbW0NvbmZpZ3VyYWJsZV1dIGlzIHRydWUpIHRvIGRpZmZlcmVudCB2YWx1ZQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICB2YXIgZ2V0RnVuYyA9IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgIHJldHVybiAxMDAxOw0KICAgICAgICB9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgZ2V0OiBnZXRGdW5jLA0KICAgICAgICAgICAgc2V0OiB1bmRlZmluZWQsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCiAgICAgICAgdmFyIGRlc2MxID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wIik7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgIH0pOw0KICAgICAgICB2YXIgZGVzYzIgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3AiKTsNCiAgICAgICAgZGVsZXRlIG9iai5wcm9wOw0KDQogICAgICAgIHJldHVybiBkZXNjMS5jb25maWd1cmFibGUgPT09IHRydWUgJiYgZGVzYzIuY29uZmlndXJhYmxlID09PSBmYWxzZSAmJiBvYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"ES5 Attributes - success to update [[Configurable]] attribute of accessor property ([[Get]] is a Function, [[Set]] is undefined, [[Enumerable]] is false, [[Configurable]] is true) to different value","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-519.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTUyLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnR5IC0gJ2Rlc2MnIGlzIGdlbmVyaWMgZGVzY3JpcHRvciB3aXRob3V0IGFueSBhdHRyaWJ1dGUsIHRlc3QgJ25hbWUnIGlzIGRlZmluZWQgaW4gJ29iaicgd2l0aCBhbGwgZGVmYXVsdCBhdHRyaWJ1dGUgdmFsdWVzICg4LjEyLjkgc3RlcCA0LmEuaSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3BlcnR5Iiwge30pOw0KDQogICAgICAgIHJldHVybiBkYXRhUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChvYmosICJwcm9wZXJ0eSIsIHVuZGVmaW5lZCwgZmFsc2UsIGZhbHNlLCBmYWxzZSk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - 'desc' is generic descriptor without any attribute, test 'name' is defined in 'obj' with all default attribute values (8.12.9 step 4.a.i)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-52.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTUyMC5qcw0KICogQGRlc2NyaXB0aW9uIEVTNSBBdHRyaWJ1dGVzIC0gc3VjY2VzcyB0byB1cGRhdGUgdGhlIGFjY2Vzc29yIHByb3BlcnR5IChbW0dldF1dIGlzIGEgRnVuY3Rpb24sIFtbU2V0XV0gaXMgdW5kZWZpbmVkLCBbW0VudW1lcmFibGVdXSBpcyBmYWxzZSwgW1tDb25maWd1cmFibGVdXSBpcyB0cnVlKSB0byBhIGRhdGEgcHJvcGVydHkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgdmFyIGdldEZ1bmMgPSBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICByZXR1cm4gMTAwMTsNCiAgICAgICAgfTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgIGdldDogZ2V0RnVuYywNCiAgICAgICAgICAgIHNldDogdW5kZWZpbmVkLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogZmFsc2UsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQogICAgICAgIHZhciBkZXNjMSA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcCIpOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgdmFsdWU6IDEwMDENCiAgICAgICAgfSk7DQogICAgICAgIHZhciBkZXNjMiA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcCIpOw0KDQogICAgICAgIHJldHVybiBkZXNjMS5oYXNPd25Qcm9wZXJ0eSgiZ2V0IikgJiYgZGVzYzIuaGFzT3duUHJvcGVydHkoInZhbHVlIik7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"ES5 Attributes - success to update the accessor property ([[Get]] is a Function, [[Set]] is undefined, [[Enumerable]] is false, [[Configurable]] is true) to a data property","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-520.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTUyMS5qcw0KICogQGRlc2NyaXB0aW9uIEVTNSBBdHRyaWJ1dGVzIC0gW1tHZXRdXSBhdHRyaWJ1dGUgb2YgYWNjZXNzb3IgcHJvcGVydHkgKFtbR2V0XV0gaXMgYSBGdW5jdGlvbiwgW1tTZXRdXSBpcyB1bmRlZmluZWQsIFtbRW51bWVyYWJsZV1dIGlzIGZhbHNlLCBbW0NvbmZpZ3VyYWJsZV1dIGlzIGZhbHNlKSBpcyB0aGUgZXhwZWN0ZWQgZnVuY3Rpb24NCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgdmFyIGdldEZ1bmMgPSBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICByZXR1cm4gMTAwMTsNCiAgICAgICAgfTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgIGdldDogZ2V0RnVuYywNCiAgICAgICAgICAgIHNldDogdW5kZWZpbmVkLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogZmFsc2UsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBwcm9wZXJ0eURlZmluZUNvcnJlY3QgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCiAgICAgICAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3AiKTsNCg0KICAgICAgICByZXR1cm4gcHJvcGVydHlEZWZpbmVDb3JyZWN0ICYmIGRlc2MuZ2V0ID09PSBnZXRGdW5jICYmIG9iai5wcm9wID09PSAxMDAxOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"ES5 Attributes - [[Get]] attribute of accessor property ([[Get]] is a Function, [[Set]] is undefined, [[Enumerable]] is false, [[Configurable]] is false) is the expected function","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-521.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTUyMi5qcw0KICogQGRlc2NyaXB0aW9uIEVTNSBBdHRyaWJ1dGVzIC0gW1tTZXRdXSBhdHRyaWJ1dGUgb2YgYWNjZXNzb3IgcHJvcGVydHkgKFtbR2V0XV0gaXMgYSBGdW5jdGlvbiwgW1tTZXRdXSBpcyB1bmRlZmluZWQsIFtbRW51bWVyYWJsZV1dIGlzIGZhbHNlLCBbW0NvbmZpZ3VyYWJsZV1dIGlzIGZhbHNlKSBpcyB1bmRlZmluZWQNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgdmFyIGdldEZ1bmMgPSBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICByZXR1cm4gMTAwMTsNCiAgICAgICAgfTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgIGdldDogZ2V0RnVuYywNCiAgICAgICAgICAgIHNldDogdW5kZWZpbmVkLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogZmFsc2UsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBwcm9wZXJ0eURlZmluZUNvcnJlY3QgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCiAgICAgICAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3AiKTsNCg0KICAgICAgICByZXR1cm4gcHJvcGVydHlEZWZpbmVDb3JyZWN0ICYmIHR5cGVvZiBkZXNjLnNldCA9PT0gInVuZGVmaW5lZCI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"ES5 Attributes - [[Set]] attribute of accessor property ([[Get]] is a Function, [[Set]] is undefined, [[Enumerable]] is false, [[Configurable]] is false) is undefined","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-522.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTUyMy5qcw0KICogQGRlc2NyaXB0aW9uIEVTNSBBdHRyaWJ1dGVzIC0gcHJvcGVydHkgKFtbR2V0XV0gaXMgYSBGdW5jdGlvbiwgW1tTZXRdXSBpcyB1bmRlZmluZWQsIFtbRW51bWVyYWJsZV1dIGlzIGZhbHNlLCBbW0NvbmZpZ3VyYWJsZV1dIGlzIGZhbHNlKSBpcyBub24tZW51bWVyYWJsZQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICB2YXIgZ2V0RnVuYyA9IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgIHJldHVybiAxMDAxOw0KICAgICAgICB9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgZ2V0OiBnZXRGdW5jLA0KICAgICAgICAgICAgc2V0OiB1bmRlZmluZWQsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIHByb3BlcnR5RGVmaW5lQ29ycmVjdCA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KICAgICAgICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcCIpOw0KDQogICAgICAgIGZvciAodmFyIHAgaW4gb2JqKSB7DQogICAgICAgICAgICBpZiAocCA9PT0gInByb3AiKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgcmV0dXJuIHByb3BlcnR5RGVmaW5lQ29ycmVjdCAmJiBkZXNjLmVudW1lcmFibGUgPT09IGZhbHNlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"ES5 Attributes - property ([[Get]] is a Function, [[Set]] is undefined, [[Enumerable]] is false, [[Configurable]] is false) is non-enumerable","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-523.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTUyNC5qcw0KICogQGRlc2NyaXB0aW9uIEVTNSBBdHRyaWJ1dGVzIC0gcHJvcGVydHkgKFtbR2V0XV0gaXMgYSBGdW5jdGlvbiwgW1tTZXRdXSBpcyB1bmRlZmluZWQsIFtbRW51bWVyYWJsZV1dIGlzIGZhbHNlLCBbW0NvbmZpZ3VyYWJsZV1dIGlzIGZhbHNlKSBpcyB1bmRlbGV0YWJsZQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICB2YXIgZ2V0RnVuYyA9IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgIHJldHVybiAxMDAxOw0KICAgICAgICB9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgZ2V0OiBnZXRGdW5jLA0KICAgICAgICAgICAgc2V0OiB1bmRlZmluZWQsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIHByb3BlcnR5RGVmaW5lQ29ycmVjdCA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KICAgICAgICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcCIpOw0KDQogICAgICAgIGRlbGV0ZSBvYmoucHJvcDsNCg0KICAgICAgICByZXR1cm4gcHJvcGVydHlEZWZpbmVDb3JyZWN0ICYmIGRlc2MuY29uZmlndXJhYmxlID09PSBmYWxzZSAmJiBvYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"ES5 Attributes - property ([[Get]] is a Function, [[Set]] is undefined, [[Enumerable]] is false, [[Configurable]] is false) is undeletable","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-524.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTUyNS5qcw0KICogQGRlc2NyaXB0aW9uIEVTNSBBdHRyaWJ1dGVzIC0gZmFpbCB0byB1cGRhdGUgW1tHZXRdXSBhdHRyaWJ1dGUgb2YgYWNjZXNzb3IgcHJvcGVydHkgKFtbR2V0XV0gaXMgYSBGdW5jdGlvbiwgW1tTZXRdXSBpcyB1bmRlZmluZWQsIFtbRW51bWVyYWJsZV1dIGlzIGZhbHNlLCBbW0NvbmZpZ3VyYWJsZV1dIGlzIGZhbHNlKSB0byBkaWZmZXJlbnQgdmFsdWUNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIHZhciBnZXRGdW5jID0gZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgcmV0dXJuIDEwMDE7DQogICAgICAgIH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICBnZXQ6IGdldEZ1bmMsDQogICAgICAgICAgICBzZXQ6IHVuZGVmaW5lZCwNCiAgICAgICAgICAgIGVudW1lcmFibGU6IGZhbHNlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgcmVzdWx0MSA9IG9iai5wcm9wID09PSAxMDAxOw0KICAgICAgICB2YXIgZGVzYzEgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3AiKTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICAgICAgZ2V0OiB1bmRlZmluZWQNCiAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHZhciByZXN1bHQyID0gb2JqLnByb3AgPT09IDEwMDE7DQogICAgICAgICAgICB2YXIgZGVzYzIgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3AiKTsNCg0KICAgICAgICAgICAgcmV0dXJuIHJlc3VsdDEgJiYgcmVzdWx0MiAmJiBkZXNjMS5nZXQgPT09IGdldEZ1bmMgJiYgZGVzYzIuZ2V0ID09PSBnZXRGdW5jICYmIGUgaW5zdGFuY2VvZiBUeXBlRXJyb3I7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"ES5 Attributes - fail to update [[Get]] attribute of accessor property ([[Get]] is a Function, [[Set]] is undefined, [[Enumerable]] is false, [[Configurable]] is false) to different value","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-525.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTUyNi5qcw0KICogQGRlc2NyaXB0aW9uIEVTNSBBdHRyaWJ1dGVzIC0gZmFpbCB0byB1cGRhdGUgW1tTZXRdXSBhdHRyaWJ1dGUgb2YgYWNjZXNzb3IgcHJvcGVydHkgKFtbR2V0XV0gaXMgYSBGdW5jdGlvbiwgW1tTZXRdXSBpcyB1bmRlZmluZWQsIFtbRW51bWVyYWJsZV1dIGlzIGZhbHNlLCBbW0NvbmZpZ3VyYWJsZV1dIGlzIGZhbHNlKSB0byBkaWZmZXJlbnQgdmFsdWUNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgdmFyIGdldEZ1bmMgPSBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICByZXR1cm4gMTAwMTsNCiAgICAgICAgfTsNCg0KICAgICAgICB2YXIgdmVyaWZ5U2V0RnVuYyA9ICJkYXRhIjsNCiAgICAgICAgdmFyIHNldEZ1bmMgPSBmdW5jdGlvbiAodmFsdWUpIHsNCiAgICAgICAgICAgIHZlcmlmeVNldEZ1bmMgPSB2YWx1ZTsNCiAgICAgICAgfTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgIGdldDogZ2V0RnVuYywNCiAgICAgICAgICAgIHNldDogdW5kZWZpbmVkLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogZmFsc2UsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBkZXNjMSA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcCIpOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgICAgICBzZXQ6IHNldEZ1bmMNCiAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHZhciBkZXNjMiA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcCIpOw0KDQogICAgICAgICAgICByZXR1cm4gdHlwZW9mIGRlc2MxLnNldCA9PT0gInVuZGVmaW5lZCIgJiYgdHlwZW9mIGRlc2MyLnNldCA9PT0gInVuZGVmaW5lZCIgJiYgZSBpbnN0YW5jZW9mIFR5cGVFcnJvcjsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"ES5 Attributes - fail to update [[Set]] attribute of accessor property ([[Get]] is a Function, [[Set]] is undefined, [[Enumerable]] is false, [[Configurable]] is false) to different value","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-526.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTUyNy5qcw0KICogQGRlc2NyaXB0aW9uIEVTNSBBdHRyaWJ1dGVzIC0gZmFpbCB0byB1cGRhdGUgW1tFbnVtZXJhYmxlXV0gYXR0cmlidXRlIG9mIGFjY2Vzc29yIHByb3BlcnR5IChbW0dldF1dIGlzIGEgRnVuY3Rpb24sIFtbU2V0XV0gaXMgdW5kZWZpbmVkLCBbW0VudW1lcmFibGVdXSBpcyBmYWxzZSwgW1tDb25maWd1cmFibGVdXSBpcyBmYWxzZSkgdG8gZGlmZmVyZW50IHZhbHVlDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIHZhciBnZXRGdW5jID0gZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgcmV0dXJuIDEwMDE7DQogICAgICAgIH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICBnZXQ6IGdldEZ1bmMsDQogICAgICAgICAgICBzZXQ6IHVuZGVmaW5lZCwNCiAgICAgICAgICAgIGVudW1lcmFibGU6IGZhbHNlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICB9KTsNCiAgICAgICAgdmFyIHJlc3VsdDEgPSBmYWxzZTsNCiAgICAgICAgdmFyIGRlc2MxID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wIik7DQogICAgICAgIGZvciAodmFyIHAxIGluIG9iaikgew0KICAgICAgICAgICAgaWYgKHAxID09PSAicHJvcCIpIHsNCiAgICAgICAgICAgICAgICByZXN1bHQxID0gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlDQogICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICB2YXIgcmVzdWx0MiA9IGZhbHNlOw0KICAgICAgICAgICAgdmFyIGRlc2MyID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wIik7DQogICAgICAgICAgICBmb3IgKHZhciBwMiBpbiBvYmopIHsNCiAgICAgICAgICAgICAgICBpZiAocDIgPT09ICJwcm9wIikgew0KICAgICAgICAgICAgICAgICAgICByZXN1bHQyID0gdHJ1ZTsNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9DQoNCiAgICAgICAgICAgIHJldHVybiAhcmVzdWx0MSAmJiAhcmVzdWx0MiAmJiBkZXNjMS5lbnVtZXJhYmxlID09PSBmYWxzZSAmJiBkZXNjMi5lbnVtZXJhYmxlID09PSBmYWxzZSAmJiBlIGluc3RhbmNlb2YgVHlwZUVycm9yOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"ES5 Attributes - fail to update [[Enumerable]] attribute of accessor property ([[Get]] is a Function, [[Set]] is undefined, [[Enumerable]] is false, [[Configurable]] is false) to different value","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-527.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTUyOC5qcw0KICogQGRlc2NyaXB0aW9uIEVTNSBBdHRyaWJ1dGVzIC0gZmFpbCB0byB1cGRhdGUgW1tDb25maWd1cmFibGVdXSBhdHRyaWJ1dGUgb2YgYWNjZXNzb3IgcHJvcGVydHkgKFtbR2V0XV0gaXMgYSBGdW5jdGlvbiwgW1tTZXRdXSBpcyB1bmRlZmluZWQsIFtbRW51bWVyYWJsZV1dIGlzIGZhbHNlLCBbW0NvbmZpZ3VyYWJsZV1dIGlzIGZhbHNlKSB0byBkaWZmZXJlbnQgdmFsdWUNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgdmFyIGdldEZ1bmMgPSBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICByZXR1cm4gMTAwMTsNCiAgICAgICAgfTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgIGdldDogZ2V0RnVuYywNCiAgICAgICAgICAgIHNldDogdW5kZWZpbmVkLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogZmFsc2UsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgIH0pOw0KICAgICAgICB2YXIgZGVzYzEgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3AiKTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICB2YXIgZGVzYzIgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3AiKTsNCiAgICAgICAgICAgIGRlbGV0ZSBvYmoucHJvcDsNCg0KICAgICAgICAgICAgcmV0dXJuIGRlc2MxLmNvbmZpZ3VyYWJsZSA9PT0gZmFsc2UgJiYgZGVzYzIuY29uZmlndXJhYmxlID09PSBmYWxzZSAmJiBvYmouaGFzT3duUHJvcGVydHkoInByb3AiKSAmJiBlIGluc3RhbmNlb2YgVHlwZUVycm9yOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"ES5 Attributes - fail to update [[Configurable]] attribute of accessor property ([[Get]] is a Function, [[Set]] is undefined, [[Enumerable]] is false, [[Configurable]] is false) to different value","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-528.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTUyOS5qcw0KICogQGRlc2NyaXB0aW9uIEVTNSBBdHRyaWJ1dGVzIC0gZmFpbCB0byB1cGRhdGUgdGhlIGFjY2Vzc29yIHByb3BlcnR5IChbW0dldF1dIGlzIGEgRnVuY3Rpb24sIFtbU2V0XV0gaXMgdW5kZWZpbmVkLCBbW0VudW1lcmFibGVdXSBpcyBmYWxzZSwgW1tDb25maWd1cmFibGVdXSBpcyBmYWxzZSkgdG8gYSBkYXRhIHByb3BlcnR5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIHZhciBnZXRGdW5jID0gZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgcmV0dXJuIDEwMDE7DQogICAgICAgIH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICBnZXQ6IGdldEZ1bmMsDQogICAgICAgICAgICBzZXQ6IHVuZGVmaW5lZCwNCiAgICAgICAgICAgIGVudW1lcmFibGU6IGZhbHNlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICB9KTsNCiAgICAgICAgdmFyIGRlc2MxID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wIik7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgICAgIHZhbHVlOiAxMDAxDQogICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICB2YXIgZGVzYzIgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3AiKTsNCg0KICAgICAgICAgICAgcmV0dXJuIGRlc2MxLmhhc093blByb3BlcnR5KCJnZXQiKSAmJiAhZGVzYzIuaGFzT3duUHJvcGVydHkoInZhbHVlIikgJiYgZSBpbnN0YW5jZW9mIFR5cGVFcnJvcjsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"ES5 Attributes - fail to update the accessor property ([[Get]] is a Function, [[Set]] is undefined, [[Enumerable]] is false, [[Configurable]] is false) to a data property","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-529.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTUzLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnR5IC0gJ25hbWUnIHByb3BlcnR5IGRvZXNuJ3QgZXhpc3QgaW4gJ08nLCB0ZXN0IFtbR2V0XV0gb2YgJ25hbWUnIHByb3BlcnR5IGlzIHNldCBhcyB1bmRlZmluZWQgaWYgaXQgaXMgYWJzZW50IGluIGFjY2Vzc29yIGRlc2NyaXB0b3IgJ2Rlc2MnICg4LjEyLjkgc3RlcCA0LmIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICB2YXIgc2V0RnVuYyA9IGZ1bmN0aW9uICh2YWx1ZSkgew0KICAgICAgICAgICAgb2JqLnNldFZlcmlmeUhlbHBQcm9wID0gdmFsdWU7DQogICAgICAgIH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3BlcnR5Iiwgew0KICAgICAgICAgICAgc2V0OiBzZXRGdW5jLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICByZXR1cm4gYWNjZXNzb3JQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KG9iaiwgInByb3BlcnR5IiwgdW5kZWZpbmVkLCBzZXRGdW5jLCAic2V0VmVyaWZ5SGVscFByb3AiLCB0cnVlLCB0cnVlKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'name' property doesn't exist in 'O', test [[Get]] of 'name' property is set as undefined if it is absent in accessor descriptor 'desc' (8.12.9 step 4.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-53.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTUzMC5qcw0KICogQGRlc2NyaXB0aW9uIEVTNSBBdHRyaWJ1dGVzIC0gW1tHZXRdXSBhdHRyaWJ1dGUgb2YgYWNjZXNzb3IgcHJvcGVydHkgKFtbR2V0XV0gaXMgYSBGdW5jdGlvbiwgW1tTZXRdXSBpcyBhIEZ1bmN0aW9uLCBbW0VudW1lcmFibGVdXSBpcyB0cnVlLCBbW0NvbmZpZ3VyYWJsZV1dIGlzIHRydWUpIGlzIHRoZSBleHBlY3RlZCBmdW5jdGlvbg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICB2YXIgZ2V0RnVuYyA9IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgIHJldHVybiAxMDAxOw0KICAgICAgICB9Ow0KDQogICAgICAgIHZhciB2ZXJpZnlTZXRGdW5jID0gImRhdGEiOw0KICAgICAgICB2YXIgc2V0RnVuYyA9IGZ1bmN0aW9uICh2YWx1ZSkgew0KICAgICAgICAgICAgdmVyaWZ5U2V0RnVuYyA9IHZhbHVlOw0KICAgICAgICB9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgZ2V0OiBnZXRGdW5jLA0KICAgICAgICAgICAgc2V0OiBzZXRGdW5jLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgcHJvcGVydHlEZWZpbmVDb3JyZWN0ID0gb2JqLmhhc093blByb3BlcnR5KCJwcm9wIik7DQogICAgICAgIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wIik7DQoNCiAgICAgICAgcmV0dXJuIHByb3BlcnR5RGVmaW5lQ29ycmVjdCAmJiBkZXNjLmdldCA9PT0gZ2V0RnVuYyAmJiBvYmoucHJvcCA9PT0gMTAwMTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"ES5 Attributes - [[Get]] attribute of accessor property ([[Get]] is a Function, [[Set]] is a Function, [[Enumerable]] is true, [[Configurable]] is true) is the expected function","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-530.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTUzMS0xLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnR5IHdpbGwgdXBkYXRlIFtbR2V0XV0gYW5kIFtbU2V0XV0gYXR0cmlidXRlcyBvZiBuYW1lZCBhY2Nlc3NvciBwcm9wZXJ0eSAnUCcgc3VjY2Vzc2Z1bGx5IHdoZW4gW1tDb25maWd1cmFibGVdXSBhdHRyaWJ1dGUgaXMgdHJ1ZSwgJ08nIGlzIGFuIE9iamVjdCBvYmplY3QgKDguMTIuOSBzdGVwIDExKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICBvYmoudmVyaWZ5U2V0RnVuY3Rpb24gPSAiZGF0YSI7DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wZXJ0eSIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiBvYmoudmVyaWZ5U2V0RnVuY3Rpb247DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgc2V0OiBmdW5jdGlvbiAodmFsdWUpIHsNCiAgICAgICAgICAgICAgICBvYmoudmVyaWZ5U2V0RnVuY3Rpb24gPSB2YWx1ZTsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgb2JqLnZlcmlmeVNldEZ1bmN0aW9uMSA9ICJkYXRhMSI7DQogICAgICAgIHZhciBnZXRGdW5jID0gZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgcmV0dXJuIG9iai52ZXJpZnlTZXRGdW5jdGlvbjE7DQogICAgICAgIH07DQogICAgICAgIHZhciBzZXRGdW5jID0gZnVuY3Rpb24gKHZhbHVlKSB7DQogICAgICAgICAgICBvYmoudmVyaWZ5U2V0RnVuY3Rpb24xID0gdmFsdWU7DQogICAgICAgIH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3BlcnR5Iiwgew0KICAgICAgICAgICAgZ2V0OiBnZXRGdW5jLA0KICAgICAgICAgICAgc2V0OiBzZXRGdW5jDQogICAgICAgIH0pOw0KDQogICAgICAgIHJldHVybiBhY2Nlc3NvclByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3Qob2JqLCAicHJvcGVydHkiLCBnZXRGdW5jLCBzZXRGdW5jLCAidmVyaWZ5U2V0RnVuY3Rpb24xIiwgZmFsc2UsIHRydWUpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty will update [[Get]] and [[Set]] attributes of named accessor property 'P' successfully when [[Configurable]] attribute is true, 'O' is an Object object (8.12.9 step 11)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-531-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTUzMS0xMC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSB3aWxsIHVwZGF0ZSBbW0dldF1dIGFuZCBbW1NldF1dIGF0dHJpYnV0ZXMgb2YgaW5kZXhlZCBhY2Nlc3NvciBwcm9wZXJ0eSAnUCcgc3VjY2Vzc2Z1bGx5IHdoZW4gW1tDb25maWd1cmFibGVdXSBhdHRyaWJ1dGUgaXMgdHJ1ZSwgJ08nIGlzIGFuIE9iamVjdCBvYmplY3QgKDguMTIuOSBzdGVwIDExKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIG9iai52ZXJpZnlTZXRGdW5jdGlvbiA9ICJkYXRhIjsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgIjAiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gb2JqLnZlcmlmeVNldEZ1bmN0aW9uOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIHNldDogZnVuY3Rpb24gKHZhbHVlKSB7DQogICAgICAgICAgICAgICAgb2JqLnZlcmlmeVNldEZ1bmN0aW9uID0gdmFsdWU7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIG9iai52ZXJpZnlTZXRGdW5jdGlvbjEgPSAiZGF0YTEiOw0KICAgICAgICB2YXIgZ2V0RnVuYyA9IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgIHJldHVybiBvYmoudmVyaWZ5U2V0RnVuY3Rpb24xOw0KICAgICAgICB9Ow0KICAgICAgICB2YXIgc2V0RnVuYyA9IGZ1bmN0aW9uICh2YWx1ZSkgew0KICAgICAgICAgICAgb2JqLnZlcmlmeVNldEZ1bmN0aW9uMSA9IHZhbHVlOw0KICAgICAgICB9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICIwIiwgew0KICAgICAgICAgICAgZ2V0OiBnZXRGdW5jLA0KICAgICAgICAgICAgc2V0OiBzZXRGdW5jDQogICAgICAgIH0pOw0KDQogICAgICAgIHJldHVybiBhY2Nlc3NvclByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3Qob2JqLCAiMCIsIGdldEZ1bmMsIHNldEZ1bmMsICJ2ZXJpZnlTZXRGdW5jdGlvbjEiLCBmYWxzZSwgdHJ1ZSk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty will update [[Get]] and [[Set]] attributes of indexed accessor property 'P' successfully when [[Configurable]] attribute is true, 'O' is an Object object (8.12.9 step 11)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-531-10.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTUzMS0xMS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSB3aWxsIHVwZGF0ZSBbW0dldF1dIGFuZCBbW1NldF1dIGF0dHJpYnV0ZXMgb2YgbmFtZWQgYWNjZXNzb3IgcHJvcGVydHkgJ1AnIHN1Y2Nlc3NmdWxseSB3aGVuIFtbQ29uZmlndXJhYmxlXV0gYXR0cmlidXRlIGlzIHRydWUsICdBJyBpcyBhbiBBcnJheSBvYmplY3QgKDguMTIuOSBzdGVwIDExKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IFtdOw0KDQogICAgICAgIG9iai52ZXJpZnlTZXRGdW5jdGlvbiA9ICJkYXRhIjsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gb2JqLnZlcmlmeVNldEZ1bmN0aW9uOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIHNldDogZnVuY3Rpb24gKHZhbHVlKSB7DQogICAgICAgICAgICAgICAgb2JqLnZlcmlmeVNldEZ1bmN0aW9uID0gdmFsdWU7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIG9iai52ZXJpZnlTZXRGdW5jdGlvbjEgPSAiZGF0YTEiOw0KICAgICAgICB2YXIgZ2V0RnVuYyA9IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgIHJldHVybiBvYmoudmVyaWZ5U2V0RnVuY3Rpb24xOw0KICAgICAgICB9Ow0KICAgICAgICB2YXIgc2V0RnVuYyA9IGZ1bmN0aW9uICh2YWx1ZSkgew0KICAgICAgICAgICAgb2JqLnZlcmlmeVNldEZ1bmN0aW9uMSA9IHZhbHVlOw0KICAgICAgICB9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgZ2V0OiBnZXRGdW5jLA0KICAgICAgICAgICAgc2V0OiBzZXRGdW5jDQogICAgICAgIH0pOw0KDQogICAgICAgIHJldHVybiBhY2Nlc3NvclByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3Qob2JqLCAicHJvcCIsIGdldEZ1bmMsIHNldEZ1bmMsICJ2ZXJpZnlTZXRGdW5jdGlvbjEiLCBmYWxzZSwgdHJ1ZSk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty will update [[Get]] and [[Set]] attributes of named accessor property 'P' successfully when [[Configurable]] attribute is true, 'A' is an Array object (8.12.9 step 11)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-531-11.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTUzMS0xMi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSB3aWxsIHVwZGF0ZSBbW0dldF1dIGFuZCBbW1NldF1dIGF0dHJpYnV0ZXMgb2YgaW5kZXhlZCBhY2Nlc3NvciBwcm9wZXJ0eSBzdWNjZXNzZnVsbHkgd2hlbiBbW0NvbmZpZ3VyYWJsZV1dIGF0dHJpYnV0ZSBpcyB0cnVlLCAnTycgaXMgYW4gQXJndW1lbnRzIG9iamVjdCAoOC4xMi45IHN0ZXAgMTEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0gKGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgIHJldHVybiBhcmd1bWVudHM7DQogICAgICAgIH0oKSk7DQoNCiAgICAgICAgb2JqLnZlcmlmeVNldEZ1bmN0aW9uID0gImRhdGEiOw0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiMCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiBvYmoudmVyaWZ5U2V0RnVuY3Rpb247DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgc2V0OiBmdW5jdGlvbiAodmFsdWUpIHsNCiAgICAgICAgICAgICAgICBvYmoudmVyaWZ5U2V0RnVuY3Rpb24gPSB2YWx1ZTsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgb2JqLnZlcmlmeVNldEZ1bmN0aW9uMSA9ICJkYXRhMSI7DQogICAgICAgIHZhciBnZXRGdW5jID0gZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgcmV0dXJuIG9iai52ZXJpZnlTZXRGdW5jdGlvbjE7DQogICAgICAgIH07DQogICAgICAgIHZhciBzZXRGdW5jID0gZnVuY3Rpb24gKHZhbHVlKSB7DQogICAgICAgICAgICBvYmoudmVyaWZ5U2V0RnVuY3Rpb24xID0gdmFsdWU7DQogICAgICAgIH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgIjAiLCB7DQogICAgICAgICAgICBnZXQ6IGdldEZ1bmMsDQogICAgICAgICAgICBzZXQ6IHNldEZ1bmMNCiAgICAgICAgfSk7DQoNCiAgICAgICAgcmV0dXJuIGFjY2Vzc29yUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChvYmosICIwIiwgZ2V0RnVuYywgc2V0RnVuYywgInZlcmlmeVNldEZ1bmN0aW9uMSIsIGZhbHNlLCB0cnVlKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty will update [[Get]] and [[Set]] attributes of indexed accessor property successfully when [[Configurable]] attribute is true, 'O' is an Arguments object (8.12.9 step 11)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-531-12.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTUzMS0xMy5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSB3aWxsIHVwZGF0ZSBbW0dldF1dIGFuZCBbW1NldF1dIGF0dHJpYnV0ZXMgb2YgaW5kZXhlZCBhY2Nlc3NvciBwcm9wZXJ0eSAnUCcgc3VjY2Vzc2Z1bGx5IHdoZW4gW1tDb25maWd1cmFibGVdXSBhdHRyaWJ1dGUgaXMgdHJ1ZSwgJ08nIGlzIHRoZSBnbG9iYWwgb2JqZWN0ICg4LjEyLjkgc3RlcCAxMSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSBmbkdsb2JhbE9iamVjdCgpOw0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgb2JqLnZlcmlmeVNldEZ1bmN0aW9uID0gImRhdGEiOw0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgIjAiLCB7DQogICAgICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgIHJldHVybiBvYmoudmVyaWZ5U2V0RnVuY3Rpb247DQogICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICBzZXQ6IGZ1bmN0aW9uICh2YWx1ZSkgew0KICAgICAgICAgICAgICAgICAgICBvYmoudmVyaWZ5U2V0RnVuY3Rpb24gPSB2YWx1ZTsNCiAgICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgIG9iai52ZXJpZnlTZXRGdW5jdGlvbjEgPSAiZGF0YTEiOw0KICAgICAgICAgICAgdmFyIGdldEZ1bmMgPSBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIG9iai52ZXJpZnlTZXRGdW5jdGlvbjE7DQogICAgICAgICAgICB9Ow0KICAgICAgICAgICAgdmFyIHNldEZ1bmMgPSBmdW5jdGlvbiAodmFsdWUpIHsNCiAgICAgICAgICAgICAgICBvYmoudmVyaWZ5U2V0RnVuY3Rpb24xID0gdmFsdWU7DQogICAgICAgICAgICB9Ow0KDQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiMCIsIHsNCiAgICAgICAgICAgICAgICBnZXQ6IGdldEZ1bmMsDQogICAgICAgICAgICAgICAgc2V0OiBzZXRGdW5jDQogICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgcmV0dXJuIGFjY2Vzc29yUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChvYmosICIwIiwgZ2V0RnVuYywgc2V0RnVuYywgInZlcmlmeVNldEZ1bmN0aW9uMSIsIGZhbHNlLCB0cnVlKTsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBvYmpbMF07DQogICAgICAgICAgICBkZWxldGUgb2JqLnZlcmlmeVNldEZ1bmN0aW9uOw0KICAgICAgICAgICAgZGVsZXRlIG9iai52ZXJpZnlTZXRGdW5jdGlvbjE7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty will update [[Get]] and [[Set]] attributes of indexed accessor property 'P' successfully when [[Configurable]] attribute is true, 'O' is the global object (8.12.9 step 11)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-531-13.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTUzMS0xNS5qcw0KICogQGRlc2NyaXB0aW9uIEVTNSBBdHRyaWJ1dGVzIC0gVXBkYXRpbmcgYSBuYW1lZCBhY2Nlc3NvciBwcm9wZXJ0eSAnUCcgdXNpbmcgc2ltcGxlIGFzc2lnbm1lbnQgaXMgc3VjY2Vzc2Z1bCwgJ0EnIGlzIGFuIEFycmF5IG9iamVjdCAoOC4xMi41IHN0ZXAgNS5iKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSBbXTsNCg0KICAgICAgICB2YXIgdmVyaWZ5U2V0RnVuYyA9ICJkYXRhIjsNCiAgICAgICAgdmFyIHNldEZ1bmMgPSBmdW5jdGlvbiAodmFsdWUpIHsNCiAgICAgICAgICAgIHZlcmlmeVNldEZ1bmMgPSB2YWx1ZTsNCiAgICAgICAgfTsNCiAgICAgICAgdmFyIGdldEZ1bmMgPSBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICByZXR1cm4gdmVyaWZ5U2V0RnVuYzsNCiAgICAgICAgfTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgIGdldDogZ2V0RnVuYywNCiAgICAgICAgICAgIHNldDogc2V0RnVuYywNCiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgb2JqLnByb3AgPSAib3ZlcnJpZGVEYXRhIjsNCiAgICAgICAgdmFyIHByb3BlcnR5RGVmaW5lQ29ycmVjdCA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KICAgICAgICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcCIpOw0KDQogICAgICAgIHJldHVybiBwcm9wZXJ0eURlZmluZUNvcnJlY3QgJiYgZGVzYy5zZXQgPT09IHNldEZ1bmMgJiYgb2JqLnByb3AgPT09ICJvdmVycmlkZURhdGEiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"ES5 Attributes - Updating a named accessor property 'P' using simple assignment is successful, 'A' is an Array object (8.12.5 step 5.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-531-15.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTUzMS0xNi5qcw0KICogQGRlc2NyaXB0aW9uIEVTNSBBdHRyaWJ1dGVzIC0gVXBkYXRpbmcgYW4gaW5kZXhlZCBhY2Nlc3NvciBwcm9wZXJ0eSAnUCcgdXNpbmcgc2ltcGxlIGFzc2lnbm1lbnQsICdPJyBpcyBhbiBBcmd1bWVudHMgb2JqZWN0ICg4LjEyLjUgc3RlcCA1LmIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IChmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICByZXR1cm4gYXJndW1lbnRzOw0KICAgICAgICB9KCkpOw0KDQogICAgICAgIHZhciB2ZXJpZnlTZXRGdW5jID0gImRhdGEiOw0KICAgICAgICB2YXIgc2V0RnVuYyA9IGZ1bmN0aW9uICh2YWx1ZSkgew0KICAgICAgICAgICAgdmVyaWZ5U2V0RnVuYyA9IHZhbHVlOw0KICAgICAgICB9Ow0KICAgICAgICB2YXIgZ2V0RnVuYyA9IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgIHJldHVybiB2ZXJpZnlTZXRGdW5jOw0KICAgICAgICB9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICIwIiwgew0KICAgICAgICAgICAgZ2V0OiBnZXRGdW5jLA0KICAgICAgICAgICAgc2V0OiBzZXRGdW5jLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBvYmpbMF0gPSAib3ZlcnJpZGVEYXRhIjsNCiAgICAgICAgdmFyIHByb3BlcnR5RGVmaW5lQ29ycmVjdCA9IG9iai5oYXNPd25Qcm9wZXJ0eSgiMCIpOw0KICAgICAgICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAiMCIpOw0KDQogICAgICAgIHJldHVybiBwcm9wZXJ0eURlZmluZUNvcnJlY3QgJiYgZGVzYy5zZXQgPT09IHNldEZ1bmMgJiYgb2JqWzBdID09PSAib3ZlcnJpZGVEYXRhIjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"ES5 Attributes - Updating an indexed accessor property 'P' using simple assignment, 'O' is an Arguments object (8.12.5 step 5.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-531-16.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTUzMS0xNy5qcw0KICogQGRlc2NyaXB0aW9uIEVTNSBBdHRyaWJ1dGVzIC0gVXBkYXRpbmcgYW4gaW5kZXhlZCBhY2Nlc3NvciBwcm9wZXJ0eSAnUCcgdXNpbmcgc2ltcGxlIGFzc2lnbm1lbnQgaXMgc3VjY2Vzc2Z1bCwgJ08nIGlzIHRoZSBnbG9iYWwgb2JqZWN0ICg4LjEyLjUgc3RlcCA1LmIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IGZuR2xvYmFsT2JqZWN0KCk7DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBvYmoudmVyaWZ5U2V0RnVuYyA9ICJkYXRhIjsNCiAgICAgICAgICAgIHZhciBzZXRGdW5jID0gZnVuY3Rpb24gKHZhbHVlKSB7DQogICAgICAgICAgICAgICAgb2JqLnZlcmlmeVNldEZ1bmMgPSB2YWx1ZTsNCiAgICAgICAgICAgIH07DQogICAgICAgICAgICB2YXIgZ2V0RnVuYyA9IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gb2JqLnZlcmlmeVNldEZ1bmM7DQogICAgICAgICAgICB9Ow0KDQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiMCIsIHsNCiAgICAgICAgICAgICAgICBnZXQ6IGdldEZ1bmMsDQogICAgICAgICAgICAgICAgc2V0OiBzZXRGdW5jLA0KICAgICAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgb2JqWzBdID0gIm92ZXJyaWRlRGF0YSI7DQogICAgICAgICAgICB2YXIgcHJvcGVydHlEZWZpbmVDb3JyZWN0ID0gb2JqLmhhc093blByb3BlcnR5KCIwIik7DQogICAgICAgICAgICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAiMCIpOw0KDQogICAgICAgICAgICByZXR1cm4gcHJvcGVydHlEZWZpbmVDb3JyZWN0ICYmIGRlc2Muc2V0ID09PSBzZXRGdW5jICYmIG9ialswXSA9PT0gIm92ZXJyaWRlRGF0YSI7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgb2JqWzBdOw0KICAgICAgICAgICAgZGVsZXRlIG9iai52ZXJpZnlTZXRGdW5jOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"ES5 Attributes - Updating an indexed accessor property 'P' using simple assignment is successful, 'O' is the global object (8.12.5 step 5.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-531-17.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTUzMS0yLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnR5IHdpbGwgdXBkYXRlIFtbR2V0XV0gYW5kIFtbU2V0XV0gYXR0cmlidXRlcyBvZiBpbmRleGVkIGFjY2Vzc29yIHByb3BlcnR5ICdQJyBzdWNjZXNzZnVsbHkgd2hlbiBbW0NvbmZpZ3VyYWJsZV1dIGF0dHJpYnV0ZSBpcyB0cnVlLCAnQScgaXMgYW4gQXJyYXkgb2JqZWN0ICg4LjEyLjkgc3RlcCAxMSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSBbXTsNCg0KICAgICAgICBvYmoudmVyaWZ5U2V0RnVuY3Rpb24gPSAiZGF0YSI7DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICIwIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIG9iai52ZXJpZnlTZXRGdW5jdGlvbjsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBzZXQ6IGZ1bmN0aW9uICh2YWx1ZSkgew0KICAgICAgICAgICAgICAgIG9iai52ZXJpZnlTZXRGdW5jdGlvbiA9IHZhbHVlOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBvYmoudmVyaWZ5U2V0RnVuY3Rpb24xID0gImRhdGExIjsNCiAgICAgICAgdmFyIGdldEZ1bmMgPSBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICByZXR1cm4gb2JqLnZlcmlmeVNldEZ1bmN0aW9uMTsNCiAgICAgICAgfTsNCiAgICAgICAgdmFyIHNldEZ1bmMgPSBmdW5jdGlvbiAodmFsdWUpIHsNCiAgICAgICAgICAgIG9iai52ZXJpZnlTZXRGdW5jdGlvbjEgPSB2YWx1ZTsNCiAgICAgICAgfTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiMCIsIHsNCiAgICAgICAgICAgIGdldDogZ2V0RnVuYywNCiAgICAgICAgICAgIHNldDogc2V0RnVuYw0KICAgICAgICB9KTsNCg0KICAgICAgICByZXR1cm4gYWNjZXNzb3JQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KG9iaiwgIjAiLCBnZXRGdW5jLCBzZXRGdW5jLCAidmVyaWZ5U2V0RnVuY3Rpb24xIiwgZmFsc2UsIHRydWUpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty will update [[Get]] and [[Set]] attributes of indexed accessor property 'P' successfully when [[Configurable]] attribute is true, 'A' is an Array object (8.12.9 step 11)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-531-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTUzMS0zLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnR5IHdpbGwgdXBkYXRlIFtbR2V0XV0gYW5kIFtbU2V0XV0gYXR0cmlidXRlcyBvZiBuYW1lZCBhY2Nlc3NvciBwcm9wZXJ0eSBzdWNjZXNzZnVsbHkgd2hlbiBbW0NvbmZpZ3VyYWJsZV1dIGF0dHJpYnV0ZSBpcyB0cnVlLCAnTycgaXMgYW4gQXJndW1lbnRzIG9iamVjdCAoOC4xMi45IHN0ZXAgMTEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0gKGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgIHJldHVybiBhcmd1bWVudHM7DQogICAgICAgIH0oKSk7DQoNCiAgICAgICAgb2JqLnZlcmlmeVNldEZ1bmN0aW9uID0gImRhdGEiOw0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcGVydHkiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gb2JqLnZlcmlmeVNldEZ1bmN0aW9uOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIHNldDogZnVuY3Rpb24gKHZhbHVlKSB7DQogICAgICAgICAgICAgICAgb2JqLnZlcmlmeVNldEZ1bmN0aW9uID0gdmFsdWU7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIG9iai52ZXJpZnlTZXRGdW5jdGlvbjEgPSAiZGF0YTEiOw0KICAgICAgICB2YXIgZ2V0RnVuYyA9IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgIHJldHVybiBvYmoudmVyaWZ5U2V0RnVuY3Rpb24xOw0KICAgICAgICB9Ow0KICAgICAgICB2YXIgc2V0RnVuYyA9IGZ1bmN0aW9uICh2YWx1ZSkgew0KICAgICAgICAgICAgb2JqLnZlcmlmeVNldEZ1bmN0aW9uMSA9IHZhbHVlOw0KICAgICAgICB9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wZXJ0eSIsIHsNCiAgICAgICAgICAgIGdldDogZ2V0RnVuYywNCiAgICAgICAgICAgIHNldDogc2V0RnVuYw0KICAgICAgICB9KTsNCg0KICAgICAgICByZXR1cm4gYWNjZXNzb3JQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KG9iaiwgInByb3BlcnR5IiwgZ2V0RnVuYywgc2V0RnVuYywgInZlcmlmeVNldEZ1bmN0aW9uMSIsIGZhbHNlLCB0cnVlKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty will update [[Get]] and [[Set]] attributes of named accessor property successfully when [[Configurable]] attribute is true, 'O' is an Arguments object (8.12.9 step 11)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-531-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTUzMS00LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnR5IHdpbGwgdXBkYXRlIFtbR2V0XV0gYW5kIFtbU2V0XV0gYXR0cmlidXRlcyBvZiBuYW1lZCBhY2Nlc3NvciBwcm9wZXJ0eSAnUCcgc3VjY2Vzc2Z1bGx5IHdoZW4gW1tDb25maWd1cmFibGVdXSBhdHRyaWJ1dGUgaXMgdHJ1ZSwgJ08nIGlzIHRoZSBnbG9iYWwgb2JqZWN0ICg4LjEyLjkgc3RlcCAxMSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSBmbkdsb2JhbE9iamVjdCgpOw0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgb2JqLnZlcmlmeVNldEZ1bmN0aW9uID0gImRhdGEiOw0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3BlcnR5Iiwgew0KICAgICAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gb2JqLnZlcmlmeVNldEZ1bmN0aW9uOw0KICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgc2V0OiBmdW5jdGlvbiAodmFsdWUpIHsNCiAgICAgICAgICAgICAgICAgICAgb2JqLnZlcmlmeVNldEZ1bmN0aW9uID0gdmFsdWU7DQogICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICBvYmoudmVyaWZ5U2V0RnVuY3Rpb24xID0gImRhdGExIjsNCiAgICAgICAgICAgIHZhciBnZXRGdW5jID0gZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiBvYmoudmVyaWZ5U2V0RnVuY3Rpb24xOw0KICAgICAgICAgICAgfTsNCiAgICAgICAgICAgIHZhciBzZXRGdW5jID0gZnVuY3Rpb24gKHZhbHVlKSB7DQogICAgICAgICAgICAgICAgb2JqLnZlcmlmeVNldEZ1bmN0aW9uMSA9IHZhbHVlOw0KICAgICAgICAgICAgfTsNCg0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3BlcnR5Iiwgew0KICAgICAgICAgICAgICAgIGdldDogZ2V0RnVuYywNCiAgICAgICAgICAgICAgICBzZXQ6IHNldEZ1bmMNCiAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICByZXR1cm4gYWNjZXNzb3JQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KG9iaiwgInByb3BlcnR5IiwgZ2V0RnVuYywgc2V0RnVuYywgInZlcmlmeVNldEZ1bmN0aW9uMSIsIGZhbHNlLCB0cnVlKTsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBvYmoucHJvcGVydHk7DQogICAgICAgICAgICBkZWxldGUgb2JqLnZlcmlmeVNldEZ1bmN0aW9uOw0KICAgICAgICAgICAgZGVsZXRlIG9iai52ZXJpZnlTZXRGdW5jdGlvbjE7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty will update [[Get]] and [[Set]] attributes of named accessor property 'P' successfully when [[Configurable]] attribute is true, 'O' is the global object (8.12.9 step 11)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-531-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTUzMS02LmpzDQogKiBAZGVzY3JpcHRpb24gRVM1IEF0dHJpYnV0ZXMgLSBVcGRhdGluZyBhbiBpbmRleGVkIGFjY2Vzc29yIHByb3BlcnR5ICdQJyB3aXRob3V0IFtbU2V0XV0gdXNpbmcgc2ltcGxlIGFzc2lnbm1lbnQgaXMgZmFpbGVkLCAnQScgaXMgYW4gQXJyYXkgb2JqZWN0ICg4LjEyLjUgc3RlcCA1LmIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IFtdOw0KDQogICAgICAgIHZhciB2ZXJpZnlTZXRGdW5jID0gImRhdGEiOw0KICAgICAgICB2YXIgZ2V0RnVuYyA9IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgIHJldHVybiB2ZXJpZnlTZXRGdW5jOw0KICAgICAgICB9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICIwIiwgew0KICAgICAgICAgICAgZ2V0OiBnZXRGdW5jLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBvYmpbMF0gPSAib3ZlcnJpZGVEYXRhIjsNCiAgICAgICAgdmFyIHByb3BlcnR5RGVmaW5lQ29ycmVjdCA9IG9iai5oYXNPd25Qcm9wZXJ0eSgiMCIpOw0KICAgICAgICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAiMCIpOw0KDQogICAgICAgIHJldHVybiBwcm9wZXJ0eURlZmluZUNvcnJlY3QgJiYgdHlwZW9mIGRlc2Muc2V0ID09PSAidW5kZWZpbmVkIiAmJiBvYmpbMF0gPT09ICJkYXRhIjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"ES5 Attributes - Updating an indexed accessor property 'P' without [[Set]] using simple assignment is failed, 'A' is an Array object (8.12.5 step 5.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-531-6.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTUzMS03LmpzDQogKiBAZGVzY3JpcHRpb24gRVM1IEF0dHJpYnV0ZXMgLSBVcGRhdGluZyBhIG5hbWVkIGFjY2Vzc29yIHByb3BlcnR5ICdQJyB3aXRob3V0IFtbU2V0XV0gdXNpbmcgc2ltcGxlIGFzc2lnbm1lbnQgaXMgZmFpbGVkLCAnTycgaXMgYW4gQXJndW1lbnRzIG9iamVjdCAoOC4xMi41IHN0ZXAgNS5iKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSAoZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgcmV0dXJuIGFyZ3VtZW50czsNCiAgICAgICAgfSgpKTsNCg0KICAgICAgICB2YXIgdmVyaWZ5U2V0RnVuYyA9ICJkYXRhIjsNCiAgICAgICAgdmFyIGdldEZ1bmMgPSBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICByZXR1cm4gdmVyaWZ5U2V0RnVuYzsNCiAgICAgICAgfTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgIGdldDogZ2V0RnVuYywNCiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgb2JqLnByb3AgPSAib3ZlcnJpZGVEYXRhIjsNCiAgICAgICAgdmFyIHByb3BlcnR5RGVmaW5lQ29ycmVjdCA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KICAgICAgICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcCIpOw0KDQogICAgICAgIHJldHVybiBwcm9wZXJ0eURlZmluZUNvcnJlY3QgJiYgdHlwZW9mIGRlc2Muc2V0ID09PSAidW5kZWZpbmVkIiAmJiBvYmoucHJvcCA9PT0gImRhdGEiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"ES5 Attributes - Updating a named accessor property 'P' without [[Set]] using simple assignment is failed, 'O' is an Arguments object (8.12.5 step 5.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-531-7.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTUzMS04LmpzDQogKiBAZGVzY3JpcHRpb24gRVM1IEF0dHJpYnV0ZXMgLSBVcGRhdGluZyBhIG5hbWVkIGFjY2Vzc29yIHByb3BlcnR5ICdQJyB3aXRob3V0IFtbU2V0XV0gdXNpbmcgc2ltcGxlIGFzc2lnbm1lbnQgaXMgZmFpbGVkLCAnTycgaXMgdGhlIGdsb2JhbCBvYmplY3QgKDguMTIuNSBzdGVwIDUuYikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0gZm5HbG9iYWxPYmplY3QoKTsNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIG9iai52ZXJpZnlTZXRGdW5jID0gImRhdGEiOw0KICAgICAgICAgICAgdmFyIGdldEZ1bmMgPSBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIG9iai52ZXJpZnlTZXRGdW5jOw0KICAgICAgICAgICAgfTsNCg0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICAgICAgZ2V0OiBnZXRGdW5jLA0KICAgICAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgb2JqLnByb3AgPSAib3ZlcnJpZGVEYXRhIjsNCiAgICAgICAgICAgIHZhciBwcm9wZXJ0eURlZmluZUNvcnJlY3QgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCiAgICAgICAgICAgIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wIik7DQoNCiAgICAgICAgICAgIHJldHVybiBwcm9wZXJ0eURlZmluZUNvcnJlY3QgJiYgdHlwZW9mIGRlc2Muc2V0ID09PSAidW5kZWZpbmVkIiAmJiBvYmoucHJvcCA9PT0gImRhdGEiOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIG9iai5wcm9wOw0KICAgICAgICAgICAgZGVsZXRlIG9iai52ZXJpZnlTZXRGdW5jOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"ES5 Attributes - Updating a named accessor property 'P' without [[Set]] using simple assignment is failed, 'O' is the global object (8.12.5 step 5.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-531-8.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTUzMS5qcw0KICogQGRlc2NyaXB0aW9uIEVTNSBBdHRyaWJ1dGVzIC0gW1tTZXRdXSBhdHRyaWJ1dGUgb2YgYWNjZXNzb3IgcHJvcGVydHkgKFtbR2V0XV0gaXMgYSBGdW5jdGlvbiwgW1tTZXRdXSBpcyBhIEZ1bmN0aW9uLCBbW0VudW1lcmFibGVdXSBpcyB0cnVlLCBbW0NvbmZpZ3VyYWJsZV1dIGlzIHRydWUpIGlzIHRoZSBleHBlY3RlZCBmdW5jdGlvbg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICB2YXIgZ2V0RnVuYyA9IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgIHJldHVybiAxMDAxOw0KICAgICAgICB9Ow0KDQogICAgICAgIHZhciB2ZXJpZnlTZXRGdW5jID0gImRhdGEiOw0KICAgICAgICB2YXIgc2V0RnVuYyA9IGZ1bmN0aW9uICh2YWx1ZSkgew0KICAgICAgICAgICAgdmVyaWZ5U2V0RnVuYyA9IHZhbHVlOw0KICAgICAgICB9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgZ2V0OiBnZXRGdW5jLA0KICAgICAgICAgICAgc2V0OiBzZXRGdW5jLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBvYmoucHJvcCA9ICJvdmVycmlkZURhdGEiOw0KICAgICAgICB2YXIgcHJvcGVydHlEZWZpbmVDb3JyZWN0ID0gb2JqLmhhc093blByb3BlcnR5KCJwcm9wIik7DQogICAgICAgIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wIik7DQoNCiAgICAgICAgcmV0dXJuIHByb3BlcnR5RGVmaW5lQ29ycmVjdCAmJiBkZXNjLnNldCA9PT0gc2V0RnVuYyAmJiB2ZXJpZnlTZXRGdW5jID09PSAib3ZlcnJpZGVEYXRhIjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"ES5 Attributes - [[Set]] attribute of accessor property ([[Get]] is a Function, [[Set]] is a Function, [[Enumerable]] is true, [[Configurable]] is true) is the expected function","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-531.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTUzMi5qcw0KICogQGRlc2NyaXB0aW9uIEVTNSBBdHRyaWJ1dGVzIC0gcHJvcGVydHkgKFtbR2V0XV0gaXMgYSBGdW5jdGlvbiwgW1tTZXRdXSBpcyBhIEZ1bmN0aW9uLCBbW0VudW1lcmFibGVdXSBpcyB0cnVlLCBbW0NvbmZpZ3VyYWJsZV1dIGlzIHRydWUpIGlzIGVudW1lcmFibGUNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgdmFyIGdldEZ1bmMgPSBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICByZXR1cm4gMTAwMTsNCiAgICAgICAgfTsNCg0KICAgICAgICB2YXIgdmVyaWZ5U2V0RnVuYyA9ICJkYXRhIjsNCiAgICAgICAgdmFyIHNldEZ1bmMgPSBmdW5jdGlvbiAodmFsdWUpIHsNCiAgICAgICAgICAgIHZlcmlmeVNldEZ1bmMgPSB2YWx1ZTsNCiAgICAgICAgfTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgIGdldDogZ2V0RnVuYywNCiAgICAgICAgICAgIHNldDogc2V0RnVuYywNCiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIHByb3BlcnR5RGVmaW5lQ29ycmVjdCA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KICAgICAgICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcCIpOw0KDQogICAgICAgIGZvciAodmFyIHAgaW4gb2JqKSB7DQogICAgICAgICAgICBpZiAocCA9PT0gInByb3AiKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIHByb3BlcnR5RGVmaW5lQ29ycmVjdCAmJiBkZXNjLmVudW1lcmFibGUgPT09IHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"ES5 Attributes - property ([[Get]] is a Function, [[Set]] is a Function, [[Enumerable]] is true, [[Configurable]] is true) is enumerable","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-532.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTUzMy5qcw0KICogQGRlc2NyaXB0aW9uIEVTNSBBdHRyaWJ1dGVzIC0gcHJvcGVydHkgKFtbR2V0XV0gaXMgYSBGdW5jdGlvbiwgW1tTZXRdXSBpcyBhIEZ1bmN0aW9uLCBbW0VudW1lcmFibGVdXSBpcyB0cnVlLCBbW0NvbmZpZ3VyYWJsZV1dIGlzIHRydWUpIGlzIGRlbGV0YWJsZQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICB2YXIgZ2V0RnVuYyA9IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgIHJldHVybiAxMDAxOw0KICAgICAgICB9Ow0KDQogICAgICAgIHZhciB2ZXJpZnlTZXRGdW5jID0gImRhdGEiOw0KICAgICAgICB2YXIgc2V0RnVuYyA9IGZ1bmN0aW9uICh2YWx1ZSkgew0KICAgICAgICAgICAgdmVyaWZ5U2V0RnVuYyA9IHZhbHVlOw0KICAgICAgICB9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgZ2V0OiBnZXRGdW5jLA0KICAgICAgICAgICAgc2V0OiBzZXRGdW5jLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgcHJvcGVydHlEZWZpbmVDb3JyZWN0ID0gb2JqLmhhc093blByb3BlcnR5KCJwcm9wIik7DQogICAgICAgIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wIik7DQoNCiAgICAgICAgZGVsZXRlIG9iai5wcm9wOw0KDQogICAgICAgIHJldHVybiBwcm9wZXJ0eURlZmluZUNvcnJlY3QgJiYgZGVzYy5jb25maWd1cmFibGUgPT09IHRydWUgJiYgIW9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"ES5 Attributes - property ([[Get]] is a Function, [[Set]] is a Function, [[Enumerable]] is true, [[Configurable]] is true) is deletable","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-533.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTUzNC5qcw0KICogQGRlc2NyaXB0aW9uIEVTNSBBdHRyaWJ1dGVzIC0gc3VjY2VzcyB0byB1cGRhdGUgW1tHZXRdXSBhdHRyaWJ1dGUgb2YgYWNjZXNzb3IgcHJvcGVydHkgKFtbR2V0XV0gaXMgYSBGdW5jdGlvbiwgW1tTZXRdXSBpcyBhIEZ1bmN0aW9uLCBbW0VudW1lcmFibGVdXSBpcyB0cnVlLCBbW0NvbmZpZ3VyYWJsZV1dIGlzIHRydWUpIHRvIGRpZmZlcmVudCB2YWx1ZQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICB2YXIgZ2V0RnVuYyA9IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgIHJldHVybiAxMDAxOw0KICAgICAgICB9Ow0KDQogICAgICAgIHZhciB2ZXJpZnlTZXRGdW5jID0gImRhdGEiOw0KICAgICAgICB2YXIgc2V0RnVuYyA9IGZ1bmN0aW9uICh2YWx1ZSkgew0KICAgICAgICAgICAgdmVyaWZ5U2V0RnVuYyA9IHZhbHVlOw0KICAgICAgICB9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgZ2V0OiBnZXRGdW5jLA0KICAgICAgICAgICAgc2V0OiBzZXRGdW5jLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgcmVzdWx0MSA9IG9iai5wcm9wID09PSAxMDAxOw0KICAgICAgICB2YXIgZGVzYzEgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3AiKTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgIGdldDogdW5kZWZpbmVkDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciByZXN1bHQyID0gdHlwZW9mIG9iai5wcm9wID09PSAidW5kZWZpbmVkIjsNCiAgICAgICAgdmFyIGRlc2MyID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wIik7DQoNCiAgICAgICAgcmV0dXJuIHJlc3VsdDEgJiYgcmVzdWx0MiAmJiBkZXNjMS5nZXQgPT09IGdldEZ1bmMgJiYgdHlwZW9mIGRlc2MyLmdldCA9PT0gInVuZGVmaW5lZCI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"ES5 Attributes - success to update [[Get]] attribute of accessor property ([[Get]] is a Function, [[Set]] is a Function, [[Enumerable]] is true, [[Configurable]] is true) to different value","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-534.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTUzNS5qcw0KICogQGRlc2NyaXB0aW9uIEVTNSBBdHRyaWJ1dGVzIC0gc3VjY2VzcyB0byB1cGRhdGUgW1tTZXRdXSBhdHRyaWJ1dGUgb2YgYWNjZXNzb3IgcHJvcGVydHkgKFtbR2V0XV0gaXMgYSBGdW5jdGlvbiwgW1tTZXRdXSBpcyBhIEZ1bmN0aW9uLCBbW0VudW1lcmFibGVdXSBpcyB0cnVlLCBbW0NvbmZpZ3VyYWJsZV1dIGlzIHRydWUpIHRvIGRpZmZlcmVudCB2YWx1ZQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICB2YXIgZ2V0RnVuYyA9IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgIHJldHVybiAxMDAxOw0KICAgICAgICB9Ow0KDQogICAgICAgIHZhciB2ZXJpZnlTZXRGdW5jID0gImRhdGEiOw0KICAgICAgICB2YXIgc2V0RnVuYyA9IGZ1bmN0aW9uICh2YWx1ZSkgew0KICAgICAgICAgICAgdmVyaWZ5U2V0RnVuYyA9IHZhbHVlOw0KICAgICAgICB9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgZ2V0OiBnZXRGdW5jLA0KICAgICAgICAgICAgc2V0OiBzZXRGdW5jLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgZGVzYzEgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3AiKTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgIHNldDogdW5kZWZpbmVkDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBkZXNjMiA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcCIpOw0KDQogICAgICAgIHJldHVybiBkZXNjMS5zZXQgPT09IHNldEZ1bmMgJiYgdHlwZW9mIGRlc2MyLnNldCA9PT0gInVuZGVmaW5lZCI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"ES5 Attributes - success to update [[Set]] attribute of accessor property ([[Get]] is a Function, [[Set]] is a Function, [[Enumerable]] is true, [[Configurable]] is true) to different value","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-535.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTUzNi5qcw0KICogQGRlc2NyaXB0aW9uIEVTNSBBdHRyaWJ1dGVzIC0gc3VjY2VzcyB0byB1cGRhdGUgW1tFbnVtZXJhYmxlXV0gYXR0cmlidXRlIG9mIGFjY2Vzc29yIHByb3BlcnR5IChbW0dldF1dIGlzIGEgRnVuY3Rpb24sIFtbU2V0XV0gaXMgYSBGdW5jdGlvbiwgW1tFbnVtZXJhYmxlXV0gaXMgdHJ1ZSwgW1tDb25maWd1cmFibGVdXSBpcyB0cnVlKSB0byBkaWZmZXJlbnQgdmFsdWUNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgdmFyIGdldEZ1bmMgPSBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICByZXR1cm4gMTAwMTsNCiAgICAgICAgfTsNCg0KICAgICAgICB2YXIgdmVyaWZ5U2V0RnVuYyA9ICJkYXRhIjsNCiAgICAgICAgdmFyIHNldEZ1bmMgPSBmdW5jdGlvbiAodmFsdWUpIHsNCiAgICAgICAgICAgIHZlcmlmeVNldEZ1bmMgPSB2YWx1ZTsNCiAgICAgICAgfTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgIGdldDogZ2V0RnVuYywNCiAgICAgICAgICAgIHNldDogc2V0RnVuYywNCiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQogICAgICAgIHZhciByZXN1bHQxID0gZmFsc2U7DQogICAgICAgIHZhciBkZXNjMSA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcCIpOw0KICAgICAgICBmb3IgKHZhciBwMSBpbiBvYmopIHsNCiAgICAgICAgICAgIGlmIChwMSA9PT0gInByb3AiKSB7DQogICAgICAgICAgICAgICAgcmVzdWx0MSA9IHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgIGVudW1lcmFibGU6IGZhbHNlDQogICAgICAgIH0pOw0KICAgICAgICB2YXIgcmVzdWx0MiA9IGZhbHNlOw0KICAgICAgICB2YXIgZGVzYzIgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3AiKTsNCiAgICAgICAgZm9yICh2YXIgcDIgaW4gb2JqKSB7DQogICAgICAgICAgICBpZiAocDIgPT09ICJwcm9wIikgew0KICAgICAgICAgICAgICAgIHJlc3VsdDIgPSB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgcmV0dXJuIHJlc3VsdDEgJiYgIXJlc3VsdDIgJiYgZGVzYzEuZW51bWVyYWJsZSA9PT0gdHJ1ZSAmJiBkZXNjMi5lbnVtZXJhYmxlID09PSBmYWxzZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"ES5 Attributes - success to update [[Enumerable]] attribute of accessor property ([[Get]] is a Function, [[Set]] is a Function, [[Enumerable]] is true, [[Configurable]] is true) to different value","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-536.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTUzNy5qcw0KICogQGRlc2NyaXB0aW9uIEVTNSBBdHRyaWJ1dGVzIC0gc3VjY2VzcyB0byB1cGRhdGUgW1tDb25maWd1cmFibGVdXSBhdHRyaWJ1dGUgb2YgYWNjZXNzb3IgcHJvcGVydHkgKFtbR2V0XV0gaXMgYSBGdW5jdGlvbiwgW1tTZXRdXSBpcyBhIEZ1bmN0aW9uLCBbW0VudW1lcmFibGVdXSBpcyB0cnVlLCBbW0NvbmZpZ3VyYWJsZV1dIGlzIHRydWUpIHRvIGRpZmZlcmVudCB2YWx1ZQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICB2YXIgZ2V0RnVuYyA9IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgIHJldHVybiAxMDAxOw0KICAgICAgICB9Ow0KDQogICAgICAgIHZhciB2ZXJpZnlTZXRGdW5jID0gImRhdGEiOw0KICAgICAgICB2YXIgc2V0RnVuYyA9IGZ1bmN0aW9uICh2YWx1ZSkgew0KICAgICAgICAgICAgdmVyaWZ5U2V0RnVuYyA9IHZhbHVlOw0KICAgICAgICB9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgZ2V0OiBnZXRGdW5jLA0KICAgICAgICAgICAgc2V0OiBzZXRGdW5jLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCiAgICAgICAgdmFyIGRlc2MxID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wIik7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgIH0pOw0KICAgICAgICB2YXIgZGVzYzIgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3AiKTsNCiAgICAgICAgZGVsZXRlIG9iai5wcm9wOw0KDQogICAgICAgIHJldHVybiBkZXNjMS5jb25maWd1cmFibGUgPT09IHRydWUgJiYgZGVzYzIuY29uZmlndXJhYmxlID09PSBmYWxzZSAmJiBvYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"ES5 Attributes - success to update [[Configurable]] attribute of accessor property ([[Get]] is a Function, [[Set]] is a Function, [[Enumerable]] is true, [[Configurable]] is true) to different value","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-537.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTUzOC0xLmpzDQogKiBAZGVzY3JpcHRpb24gRVM1IEF0dHJpYnV0ZXMgLSBVcGRhdGluZyBhbiBpbmRleGVkICdQJyB3aG9zZSBbW0NvbmZpZ3VyYWJsZV1dIGF0dHJpYnV0ZSBpcyB0cnVlIHRvIGEgZGF0YSBwcm9wZXJ0eSBpcyBzdWNjZXNzZnVsLCAnQScgaXMgYW4gQXJyYXkgb2JqZWN0ICg4LjEyLjkgLSBzdGVwIDkuYy5pKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSBbXTsNCg0KICAgICAgICBvYmoudmVyaWZ5U2V0RnVuYyA9ICJkYXRhIjsNCiAgICAgICAgdmFyIGdldEZ1bmMgPSBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICByZXR1cm4gb2JqLnZlcmlmeVNldEZ1bmM7DQogICAgICAgIH07DQoNCiAgICAgICAgdmFyIHNldEZ1bmMgPSBmdW5jdGlvbiAodmFsdWUpIHsNCiAgICAgICAgICAgIG9iai52ZXJpZnlTZXRGdW5jID0gdmFsdWU7DQogICAgICAgIH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgIjAiLCB7DQogICAgICAgICAgICBnZXQ6IGdldEZ1bmMsDQogICAgICAgICAgICBzZXQ6IHNldEZ1bmMsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KICAgICAgICB2YXIgZGVzYzEgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgIjAiKTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiMCIsIHsNCiAgICAgICAgICAgIHZhbHVlOiAxMDAxDQogICAgICAgIH0pOw0KICAgICAgICB2YXIgZGVzYzIgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgIjAiKTsNCg0KICAgICAgICByZXR1cm4gZGVzYzEuaGFzT3duUHJvcGVydHkoImdldCIpICYmIGRlc2MyLmhhc093blByb3BlcnR5KCJ2YWx1ZSIpICYmDQogICAgICAgICAgICB0eXBlb2YgZGVzYzIuZ2V0ID09PSAidW5kZWZpbmVkIiAmJiB0eXBlb2YgZGVzYzIuZ2V0ID09PSAidW5kZWZpbmVkIiAmJg0KICAgICAgICAgICAgZGF0YVByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3Qob2JqLCAiMCIsIDEwMDEsIGZhbHNlLCB0cnVlLCB0cnVlKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"ES5 Attributes - Updating an indexed 'P' whose [[Configurable]] attribute is true to a data property is successful, 'A' is an Array object (8.12.9 - step 9.c.i)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-538-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTUzOC0yLmpzDQogKiBAZGVzY3JpcHRpb24gRVM1IEF0dHJpYnV0ZXMgLSBVcGRhdGluZyBhIG5hbWVkIGFjY2Vzc29yIHByb3BlcnR5ICdQJyB3aG9zZSBbW0NvbmZpZ3VyYWJsZV1dIGF0dHJpYnV0ZSBpcyB0cnVlIHRvIGEgZGF0YSBwcm9wZXJ0eSBpcyBzdWNjZXNzZnVsLCAnTycgaXMgYW4gQXJndW1lbnRzIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSAoZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgcmV0dXJuIGFyZ3VtZW50czsNCiAgICAgICAgfSgpKTsNCg0KICAgICAgICBvYmoudmVyaWZ5U2V0RnVuYyA9ICJkYXRhIjsNCiAgICAgICAgdmFyIGdldEZ1bmMgPSBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICByZXR1cm4gb2JqLnZlcmlmeVNldEZ1bmM7DQogICAgICAgIH07DQoNCiAgICAgICAgdmFyIHNldEZ1bmMgPSBmdW5jdGlvbiAodmFsdWUpIHsNCiAgICAgICAgICAgIG9iai52ZXJpZnlTZXRGdW5jID0gdmFsdWU7DQogICAgICAgIH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICBnZXQ6IGdldEZ1bmMsDQogICAgICAgICAgICBzZXQ6IHNldEZ1bmMsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KICAgICAgICB2YXIgZGVzYzEgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3AiKTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgIHZhbHVlOiAxMDAxDQogICAgICAgIH0pOw0KICAgICAgICB2YXIgZGVzYzIgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3AiKTsNCg0KICAgICAgICByZXR1cm4gZGVzYzEuaGFzT3duUHJvcGVydHkoImdldCIpICYmIGRlc2MyLmhhc093blByb3BlcnR5KCJ2YWx1ZSIpICYmDQogICAgICAgICAgICB0eXBlb2YgZGVzYzIuZ2V0ID09PSAidW5kZWZpbmVkIiAmJiB0eXBlb2YgZGVzYzIuZ2V0ID09PSAidW5kZWZpbmVkIiAmJg0KICAgICAgICAgICAgZGF0YVByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3Qob2JqLCAicHJvcCIsIDEwMDEsIGZhbHNlLCB0cnVlLCB0cnVlKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"ES5 Attributes - Updating a named accessor property 'P' whose [[Configurable]] attribute is true to a data property is successful, 'O' is an Arguments object","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-538-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTUzOC0zLmpzDQogKiBAZGVzY3JpcHRpb24gRVM1IEF0dHJpYnV0ZXMgLSBVcGRhdGluZyBhIG5hbWVkIGFjY2Vzc29yIHByb3BlcnR5ICdQJyB3aG9zZSBbW0NvbmZpZ3VyYWJsZV1dIGF0dHJpYnV0ZSBpcyB0cnVlIHRvIGEgZGF0YSBwcm9wZXJ0eSBpcyBzdWNjZXNzZnVsLCAnTycgaXMgdGhlIGdsb2JhbCBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0gZm5HbG9iYWxPYmplY3QoKTsNCg0KICAgICAgICBvYmoudmVyaWZ5U2V0RnVuYyA9ICJkYXRhIjsNCiAgICAgICAgdmFyIGdldEZ1bmMgPSBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICByZXR1cm4gb2JqLnZlcmlmeVNldEZ1bmM7DQogICAgICAgIH07DQoNCiAgICAgICAgdmFyIHNldEZ1bmMgPSBmdW5jdGlvbiAodmFsdWUpIHsNCiAgICAgICAgICAgIG9iai52ZXJpZnlTZXRGdW5jID0gdmFsdWU7DQogICAgICAgIH07DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgICAgICBnZXQ6IGdldEZ1bmMsDQogICAgICAgICAgICAgICAgc2V0OiBzZXRGdW5jLA0KICAgICAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIHZhciBkZXNjMSA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcCIpOw0KDQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgICAgICB2YWx1ZTogMTAwMQ0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICB2YXIgZGVzYzIgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3AiKTsNCg0KICAgICAgICAgICAgcmV0dXJuIGRlc2MxLmhhc093blByb3BlcnR5KCJnZXQiKSAmJiBkZXNjMi5oYXNPd25Qcm9wZXJ0eSgidmFsdWUiKSAmJg0KICAgICAgICAgICAgICAgIHR5cGVvZiBkZXNjMi5nZXQgPT09ICJ1bmRlZmluZWQiICYmIHR5cGVvZiBkZXNjMi5nZXQgPT09ICJ1bmRlZmluZWQiICYmDQogICAgICAgICAgICAgICAgZGF0YVByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3Qob2JqLCAicHJvcCIsIDEwMDEsIGZhbHNlLCB0cnVlLCB0cnVlKTsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBvYmoucHJvcDsNCiAgICAgICAgICAgIGRlbGV0ZSBvYmoudmVyaWZ5U2V0RnVuYzsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"ES5 Attributes - Updating a named accessor property 'P' whose [[Configurable]] attribute is true to a data property is successful, 'O' is the global object","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-538-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTUzOC01LmpzDQogKiBAZGVzY3JpcHRpb24gRVM1IEF0dHJpYnV0ZXMgLSBVcGRhdGluZyBhIG5hbWVkIGFjY2Vzc29yIHByb3BlcnR5ICdQJyB3aG9zZSBbW0NvbmZpZ3VyYWJsZV1dIGF0dHJpYnV0ZSBpcyB0cnVlIHRvIGEgZGF0YSBwcm9wZXJ0eSBpcyBzdWNjZXNzZnVsLCAnQScgaXMgYW4gQXJyYXkgb2JqZWN0ICg4LjEyLjkgLSBzdGVwIDkuYy5pKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSBbXTsNCg0KICAgICAgICBvYmoudmVyaWZ5U2V0RnVuYyA9ICJkYXRhIjsNCiAgICAgICAgdmFyIGdldEZ1bmMgPSBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICByZXR1cm4gb2JqLnZlcmlmeVNldEZ1bmM7DQogICAgICAgIH07DQoNCiAgICAgICAgdmFyIHNldEZ1bmMgPSBmdW5jdGlvbiAodmFsdWUpIHsNCiAgICAgICAgICAgIG9iai52ZXJpZnlTZXRGdW5jID0gdmFsdWU7DQogICAgICAgIH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICBnZXQ6IGdldEZ1bmMsDQogICAgICAgICAgICBzZXQ6IHNldEZ1bmMsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KICAgICAgICB2YXIgZGVzYzEgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3AiKTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgIHZhbHVlOiAxMDAxDQogICAgICAgIH0pOw0KICAgICAgICB2YXIgZGVzYzIgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3AiKTsgDQoNCiAgICAgICAgcmV0dXJuIGRlc2MxLmhhc093blByb3BlcnR5KCJnZXQiKSAmJiBkZXNjMi5oYXNPd25Qcm9wZXJ0eSgidmFsdWUiKSAmJg0KICAgICAgICAgICAgdHlwZW9mIGRlc2MyLmdldCA9PT0gInVuZGVmaW5lZCIgJiYgdHlwZW9mIGRlc2MyLmdldCA9PT0gInVuZGVmaW5lZCIgJiYNCiAgICAgICAgICAgIGRhdGFQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KG9iaiwgInByb3AiLCAxMDAxLCBmYWxzZSwgdHJ1ZSwgdHJ1ZSk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"ES5 Attributes - Updating a named accessor property 'P' whose [[Configurable]] attribute is true to a data property is successful, 'A' is an Array object (8.12.9 - step 9.c.i)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-538-5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTUzOC02LmpzDQogKiBAZGVzY3JpcHRpb24gRVM1IEF0dHJpYnV0ZXMgLSBVcGRhdGluZyBhbiBpbmRleGVkIGFjY2Vzc29yIHByb3BlcnR5ICdQJyB3aG9zZSBbW0NvbmZpZ3VyYWJsZV1dIGF0dHJpYnV0ZSBpcyB0cnVlIHRvIGEgZGF0YSBwcm9wZXJ0eSBpcyBzdWNjZXNzZnVsLCAnTycgaXMgYW4gQXJndW1lbnRzIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSAoZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgcmV0dXJuIGFyZ3VtZW50czsNCiAgICAgICAgfSgpKTsNCg0KICAgICAgICBvYmoudmVyaWZ5U2V0RnVuYyA9ICJkYXRhIjsNCiAgICAgICAgdmFyIGdldEZ1bmMgPSBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICByZXR1cm4gb2JqLnZlcmlmeVNldEZ1bmM7DQogICAgICAgIH07DQoNCiAgICAgICAgdmFyIHNldEZ1bmMgPSBmdW5jdGlvbiAodmFsdWUpIHsNCiAgICAgICAgICAgIG9iai52ZXJpZnlTZXRGdW5jID0gdmFsdWU7DQogICAgICAgIH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgIjAiLCB7DQogICAgICAgICAgICBnZXQ6IGdldEZ1bmMsDQogICAgICAgICAgICBzZXQ6IHNldEZ1bmMsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KICAgICAgICB2YXIgZGVzYzEgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgIjAiKTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiMCIsIHsNCiAgICAgICAgICAgIHZhbHVlOiAxMDAxDQogICAgICAgIH0pOw0KICAgICAgICB2YXIgZGVzYzIgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgIjAiKTsNCg0KICAgICAgICByZXR1cm4gZGVzYzEuaGFzT3duUHJvcGVydHkoImdldCIpICYmIGRlc2MyLmhhc093blByb3BlcnR5KCJ2YWx1ZSIpICYmDQogICAgICAgICAgICB0eXBlb2YgZGVzYzIuZ2V0ID09PSAidW5kZWZpbmVkIiAmJiB0eXBlb2YgZGVzYzIuZ2V0ID09PSAidW5kZWZpbmVkIiAmJg0KICAgICAgICAgICAgZGF0YVByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3Qob2JqLCAiMCIsIDEwMDEsIGZhbHNlLCB0cnVlLCB0cnVlKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"ES5 Attributes - Updating an indexed accessor property 'P' whose [[Configurable]] attribute is true to a data property is successful, 'O' is an Arguments object","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-538-6.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTUzOC03LmpzDQogKiBAZGVzY3JpcHRpb24gRVM1IEF0dHJpYnV0ZXMgLSBVcGRhdGluZyBhbiBpbmRleGVkIGFjY2Vzc29yIHByb3BlcnR5ICdQJyB3aG9zZSBbW0NvbmZpZ3VyYWJsZV1dIGF0dHJpYnV0ZSBpcyB0cnVlIHRvIGEgZGF0YSBwcm9wZXJ0eSBpcyBzdWNjZXNzZnVsLCAnTycgaXMgdGhlIGdsb2JhbCBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0gZm5HbG9iYWxPYmplY3QoKTsNCg0KICAgICAgICBvYmoudmVyaWZ5U2V0RnVuYyA9ICJkYXRhIjsNCiAgICAgICAgdmFyIGdldEZ1bmMgPSBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICByZXR1cm4gb2JqLnZlcmlmeVNldEZ1bmM7DQogICAgICAgIH07DQoNCiAgICAgICAgdmFyIHNldEZ1bmMgPSBmdW5jdGlvbiAodmFsdWUpIHsNCiAgICAgICAgICAgIG9iai52ZXJpZnlTZXRGdW5jID0gdmFsdWU7DQogICAgICAgIH07DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiMCIsIHsNCiAgICAgICAgICAgICAgICBnZXQ6IGdldEZ1bmMsDQogICAgICAgICAgICAgICAgc2V0OiBzZXRGdW5jLA0KICAgICAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIHZhciBkZXNjMSA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAiMCIpOw0KDQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiMCIsIHsNCiAgICAgICAgICAgICAgICB2YWx1ZTogMTAwMQ0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICB2YXIgZGVzYzIgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgIjAiKTsNCg0KICAgICAgICAgICAgcmV0dXJuIGRlc2MxLmhhc093blByb3BlcnR5KCJnZXQiKSAmJiBkZXNjMi5oYXNPd25Qcm9wZXJ0eSgidmFsdWUiKSAmJg0KICAgICAgICAgICAgICAgIHR5cGVvZiBkZXNjMi5nZXQgPT09ICJ1bmRlZmluZWQiICYmIHR5cGVvZiBkZXNjMi5nZXQgPT09ICJ1bmRlZmluZWQiICYmDQogICAgICAgICAgICAgICAgZGF0YVByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3Qob2JqLCAiMCIsIDEwMDEsIGZhbHNlLCB0cnVlLCB0cnVlKTsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBvYmpbMF07DQogICAgICAgICAgICBkZWxldGUgb2JqLnZlcmlmeVNldEZ1bmM7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"ES5 Attributes - Updating an indexed accessor property 'P' whose [[Configurable]] attribute is true to a data property is successful, 'O' is the global object","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-538-7.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTUzOC5qcw0KICogQGRlc2NyaXB0aW9uIEVTNSBBdHRyaWJ1dGVzIC0gc3VjY2VzcyB0byB1cGRhdGUgdGhlIGFjY2Vzc29yIHByb3BlcnR5IChbW0dldF1dIGlzIGEgRnVuY3Rpb24sIFtbU2V0XV0gaXMgYSBGdW5jdGlvbiwgW1tFbnVtZXJhYmxlXV0gaXMgdHJ1ZSwgW1tDb25maWd1cmFibGVdXSBpcyB0cnVlKSB0byBhIGRhdGEgcHJvcGVydHkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgdmFyIGdldEZ1bmMgPSBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICByZXR1cm4gMTAwMTsNCiAgICAgICAgfTsNCg0KICAgICAgICB2YXIgdmVyaWZ5U2V0RnVuYyA9ICJkYXRhIjsNCiAgICAgICAgdmFyIHNldEZ1bmMgPSBmdW5jdGlvbiAodmFsdWUpIHsNCiAgICAgICAgICAgIHZlcmlmeVNldEZ1bmMgPSB2YWx1ZTsNCiAgICAgICAgfTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgIGdldDogZ2V0RnVuYywNCiAgICAgICAgICAgIHNldDogc2V0RnVuYywNCiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQogICAgICAgIHZhciBkZXNjMSA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcCIpOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgdmFsdWU6IDEwMDENCiAgICAgICAgfSk7DQogICAgICAgIHZhciBkZXNjMiA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcCIpOw0KDQogICAgICAgIHJldHVybiBkZXNjMS5oYXNPd25Qcm9wZXJ0eSgiZ2V0IikgJiYgZGVzYzIuaGFzT3duUHJvcGVydHkoInZhbHVlIikgJiYNCiAgICAgICAgICAgIHR5cGVvZiBkZXNjMi5nZXQgPT09ICJ1bmRlZmluZWQiICYmIHR5cGVvZiBkZXNjMi5nZXQgPT09ICJ1bmRlZmluZWQiICYmDQogICAgICAgICAgICBkYXRhUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChvYmosICJwcm9wIiwgMTAwMSwgZmFsc2UsIHRydWUsIHRydWUpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"ES5 Attributes - success to update the accessor property ([[Get]] is a Function, [[Set]] is a Function, [[Enumerable]] is true, [[Configurable]] is true) to a data property","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-538.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTUzOS5qcw0KICogQGRlc2NyaXB0aW9uIEVTNSBBdHRyaWJ1dGVzIC0gW1tHZXRdXSBhdHRyaWJ1dGUgb2YgYWNjZXNzb3IgcHJvcGVydHkgKFtbR2V0XV0gaXMgYSBGdW5jdGlvbiwgW1tTZXRdXSBpcyBhIEZ1bmN0aW9uLCBbW0VudW1lcmFibGVdXSBpcyB0cnVlLCBbW0NvbmZpZ3VyYWJsZV1dIGlzIGZhbHNlKSBpcyB0aGUgZXhwZWN0ZWQgZnVuY3Rpb24NCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgdmFyIGdldEZ1bmMgPSBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICByZXR1cm4gMTAwMTsNCiAgICAgICAgfTsNCg0KICAgICAgICB2YXIgdmVyaWZ5U2V0RnVuYyA9ICJkYXRhIjsNCiAgICAgICAgdmFyIHNldEZ1bmMgPSBmdW5jdGlvbiAodmFsdWUpIHsNCiAgICAgICAgICAgIHZlcmlmeVNldEZ1bmMgPSB2YWx1ZTsNCiAgICAgICAgfTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgIGdldDogZ2V0RnVuYywNCiAgICAgICAgICAgIHNldDogc2V0RnVuYywNCiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBwcm9wZXJ0eURlZmluZUNvcnJlY3QgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCiAgICAgICAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3AiKTsNCg0KICAgICAgICByZXR1cm4gcHJvcGVydHlEZWZpbmVDb3JyZWN0ICYmIGRlc2MuZ2V0ID09PSBnZXRGdW5jICYmIG9iai5wcm9wID09PSAxMDAxOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"ES5 Attributes - [[Get]] attribute of accessor property ([[Get]] is a Function, [[Set]] is a Function, [[Enumerable]] is true, [[Configurable]] is false) is the expected function","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-539.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTU0LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnR5IC0gJ25hbWUnIHByb3BlcnR5IGRvZXNuJ3QgZXhpc3QgaW4gJ08nLCB0ZXN0IFtbU2V0XV0gb2YgJ25hbWUnIHByb3BlcnR5IG9mICdBdHRyaWJ1dGVzJyBpcyBzZXQgYXMgdW5kZWZpbmVkIHZhbHVlIGlmIGFic2VudCBpbiBhY2Nlc3NvciBkZXNjcmlwdG9yICdkZXNjJyAoOC4xMi45IHN0ZXAgNC5iLmkpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wZXJ0eSIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiAicHJvcGVydHkiOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGVudW1lcmFibGU6IGZhbHNlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICB9KTsNCg0KDQogICAgICAgIGlmIChvYmoucHJvcGVydHkgIT09ICJwcm9wZXJ0eSIpIHsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfQ0KICAgICAgICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcGVydHkiKTsNCiAgICAgICAgaWYgKHR5cGVvZiBkZXNjLnNldCAhPT0gInVuZGVmaW5lZCIpIHsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfQ0KICAgICAgICBmb3IgKHZhciBwIGluIG9iaikgew0KICAgICAgICAgICAgaWYgKHAgPT09ICJwcm9wZXJ0eSIpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCiAgICAgICAgZGVsZXRlIG9iai5wcm9wZXJ0eTsNCiAgICAgICAgaWYgKCFvYmouaGFzT3duUHJvcGVydHkoInByb3BlcnR5IikpIHsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfQ0KDQogICAgICAgIHJldHVybiB0cnVlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'name' property doesn't exist in 'O', test [[Set]] of 'name' property of 'Attributes' is set as undefined value if absent in accessor descriptor 'desc' (8.12.9 step 4.b.i)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-54.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTU0MC0xLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnR5IGZhaWxzIHRvIHVwZGF0ZSBbW0dldF1dIGFuZCBbW1NldF1dIGF0dHJpYnV0ZXMgb2YgYSBuYW1lZCBhY2Nlc3NvciBwcm9wZXJ0eSAnUCcgd2hvc2UgW1tDb25maWd1cmFibGVdXSBhdHRyaWJ1dGUgaXMgZmFsc2UgYW5kIHRocm93cyBUeXBlRXJyb3IgZXhjZXB0aW9uLCAnTycgaXMgYW4gT2JqZWN0IG9iamVjdCAoOC4xMi45IHN0ZXAgMTEuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgb2JqLnZlcmlmeVNldEZ1bmN0aW9uID0gImRhdGEiOw0KICAgICAgICB2YXIgZ2V0RnVuYyA9IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgIHJldHVybiBvYmoudmVyaWZ5U2V0RnVuY3Rpb247DQogICAgICAgIH07DQogICAgICAgIHZhciBzZXRGdW5jID0gZnVuY3Rpb24gKHZhbHVlKSB7DQogICAgICAgICAgICBvYmoudmVyaWZ5U2V0RnVuY3Rpb24gPSB2YWx1ZTsNCiAgICAgICAgfTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3BlcnR5Iiwgew0KICAgICAgICAgICAgZ2V0OiBnZXRGdW5jLA0KICAgICAgICAgICAgc2V0OiBzZXRGdW5jLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgcmVzdWx0ID0gZmFsc2U7DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcGVydHkiLCB7DQogICAgICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgIHJldHVybiAxMDA7DQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfSk7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJlc3VsdCA9IGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IgJiYNCiAgICAgICAgICAgICAgICBhY2Nlc3NvclByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3Qob2JqLCAicHJvcGVydHkiLCBnZXRGdW5jLCBzZXRGdW5jLCAidmVyaWZ5U2V0RnVuY3Rpb24iLCBmYWxzZSwgZmFsc2UpOw0KICAgICAgICB9DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wZXJ0eSIsIHsNCiAgICAgICAgICAgICAgICBzZXQ6IGZ1bmN0aW9uICh2YWx1ZSkgew0KICAgICAgICAgICAgICAgICAgICBvYmoudmVyaWZ5U2V0RnVuY3Rpb24xID0gdmFsdWU7DQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfSk7DQogICAgICAgIH0gY2F0Y2ggKGUxKSB7DQogICAgICAgICAgICByZXR1cm4gcmVzdWx0ICYmIGUxIGluc3RhbmNlb2YgVHlwZUVycm9yICYmDQogICAgICAgICAgICAgICAgYWNjZXNzb3JQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KG9iaiwgInByb3BlcnR5IiwgZ2V0RnVuYywgc2V0RnVuYywgInZlcmlmeVNldEZ1bmN0aW9uIiwgZmFsc2UsIGZhbHNlKTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty fails to update [[Get]] and [[Set]] attributes of a named accessor property 'P' whose [[Configurable]] attribute is false and throws TypeError exception, 'O' is an Object object (8.12.9 step 11.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-540-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTU0MC0xMC5qcw0KICogQGRlc2NyaXB0aW9uIEVTNSBBdHRyaWJ1dGVzIC0gVXBkYXRpbmcgYW4gaW5kZXhlZCBhY2Nlc3NvciBwcm9wZXJ0eSAnUCcgdXNpbmcgc2ltcGxlIGFzc2lnbm1lbnQgaXMgc3VjY2Vzc2Z1bCwgJ08nIGlzIGFuIEFyZ3VtZW50cyBvYmplY3QgKDguMTIuNSBzdGVwIDUuYikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0gKGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgIHJldHVybiBhcmd1bWVudHM7DQogICAgICAgIH0oKSk7DQoNCiAgICAgICAgb2JqLnZlcmlmeVNldEZ1bmMgPSAiZGF0YSI7DQogICAgICAgIHZhciBnZXRGdW5jID0gZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgcmV0dXJuIG9iai52ZXJpZnlTZXRGdW5jOw0KICAgICAgICB9Ow0KDQogICAgICAgIHZhciBzZXRGdW5jID0gZnVuY3Rpb24gKHZhbHVlKSB7DQogICAgICAgICAgICBvYmoudmVyaWZ5U2V0RnVuYyA9IHZhbHVlOw0KICAgICAgICB9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICIwIiwgew0KICAgICAgICAgICAgZ2V0OiBnZXRGdW5jLA0KICAgICAgICAgICAgc2V0OiBzZXRGdW5jLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgfSk7DQoNCiAgICAgICAgb2JqWzBdID0gIm92ZXJyaWRlRGF0YSI7DQogICAgICAgIHZhciBwcm9wZXJ0eURlZmluZUNvcnJlY3QgPSBvYmouaGFzT3duUHJvcGVydHkoIjAiKTsNCiAgICAgICAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgIjAiKTsNCg0KICAgICAgICByZXR1cm4gcHJvcGVydHlEZWZpbmVDb3JyZWN0ICYmIGRlc2Muc2V0ID09PSBzZXRGdW5jICYmIG9iai52ZXJpZnlTZXRGdW5jID09PSAib3ZlcnJpZGVEYXRhIjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"ES5 Attributes - Updating an indexed accessor property 'P' using simple assignment is successful, 'O' is an Arguments object (8.12.5 step 5.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-540-10.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTU0MC0yLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnR5IGZhaWxzIHRvIHVwZGF0ZSBbW0dldF1dIGFuZCBbW1NldF1dIGF0dHJpYnV0ZXMgb2YgYW4gaW5kZXhlZCBwcm9wZXJ0eSAnUCcgd2hvc2UgW1tDb25maWd1cmFibGVdXSBhdHRyaWJ1dGUgaXMgZmFsc2UgYW5kIHRocm93cyBUeXBlRXJyb3IgZXhjZXB0aW9uLCAnQScgaXMgYW4gQXJyYXkgb2JqZWN0ICg4LjEyLjkgc3RlcCAxMS5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSBbXTsNCg0KICAgICAgICBvYmoudmVyaWZ5U2V0RnVuY3Rpb24gPSAiZGF0YSI7DQogICAgICAgIHZhciBnZXRGdW5jID0gZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgcmV0dXJuIG9iai52ZXJpZnlTZXRGdW5jdGlvbjsNCiAgICAgICAgfTsNCiAgICAgICAgdmFyIHNldEZ1bmMgPSBmdW5jdGlvbiAodmFsdWUpIHsNCiAgICAgICAgICAgIG9iai52ZXJpZnlTZXRGdW5jdGlvbiA9IHZhbHVlOw0KICAgICAgICB9Ow0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiMCIsIHsNCiAgICAgICAgICAgIGdldDogZ2V0RnVuYywNCiAgICAgICAgICAgIHNldDogc2V0RnVuYywNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIHJlc3VsdCA9IGZhbHNlOw0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgIjAiLCB7DQogICAgICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgIHJldHVybiAxMDA7DQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfSk7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJlc3VsdCA9IGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IgJiYNCiAgICAgICAgICAgICAgICBhY2Nlc3NvclByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3Qob2JqLCAiMCIsIGdldEZ1bmMsIHNldEZ1bmMsICJ2ZXJpZnlTZXRGdW5jdGlvbiIsIGZhbHNlLCBmYWxzZSk7DQogICAgICAgIH0NCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgIjAiLCB7DQogICAgICAgICAgICAgICAgc2V0OiBmdW5jdGlvbiAodmFsdWUpIHsNCiAgICAgICAgICAgICAgICAgICAgb2JqLnZlcmlmeVNldEZ1bmN0aW9uMSA9IHZhbHVlOw0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0pOw0KICAgICAgICB9IGNhdGNoIChlMSkgew0KICAgICAgICAgICAgcmV0dXJuIHJlc3VsdCAmJiBlMSBpbnN0YW5jZW9mIFR5cGVFcnJvciAmJg0KICAgICAgICAgICAgICAgIGFjY2Vzc29yUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChvYmosICIwIiwgZ2V0RnVuYywgc2V0RnVuYywgInZlcmlmeVNldEZ1bmN0aW9uIiwgZmFsc2UsIGZhbHNlKTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty fails to update [[Get]] and [[Set]] attributes of an indexed property 'P' whose [[Configurable]] attribute is false and throws TypeError exception, 'A' is an Array object (8.12.9 step 11.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-540-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTU0MC0zLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnR5IGZhaWxzIHRvIHVwZGF0ZSBbW0dldF1dIGFuZCBbW1NldF1dIGF0dHJpYnV0ZXMgb2YgYSBuYW1lZCBhY2Nlc3NvciBwcm9wZXJ0eSAnUCcgd2hvc2UgW1tDb25maWd1cmFibGVdXSBhdHRyaWJ1dGUgaXMgZmFsc2UsICdPJyBpcyBhbiBBcmd1bWVudHMgb2JqZWN0ICg4LjEyLjkgc3RlcCAxMS5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSAoZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgcmV0dXJuIGFyZ3VtZW50czsNCiAgICAgICAgfSgpKTsNCg0KICAgICAgICBvYmoudmVyaWZ5U2V0RnVuY3Rpb24gPSAiZGF0YSI7DQogICAgICAgIHZhciBnZXRGdW5jID0gZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgcmV0dXJuIG9iai52ZXJpZnlTZXRGdW5jdGlvbjsNCiAgICAgICAgfTsNCiAgICAgICAgdmFyIHNldEZ1bmMgPSBmdW5jdGlvbiAodmFsdWUpIHsNCiAgICAgICAgICAgIG9iai52ZXJpZnlTZXRGdW5jdGlvbiA9IHZhbHVlOw0KICAgICAgICB9Ow0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcGVydHkiLCB7DQogICAgICAgICAgICBnZXQ6IGdldEZ1bmMsDQogICAgICAgICAgICBzZXQ6IHNldEZ1bmMsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciByZXN1bHQgPSBmYWxzZTsNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wZXJ0eSIsIHsNCiAgICAgICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDEwMDsNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9KTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmVzdWx0ID0gZSBpbnN0YW5jZW9mIFR5cGVFcnJvciAmJg0KICAgICAgICAgICAgICAgIGFjY2Vzc29yUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChvYmosICJwcm9wZXJ0eSIsIGdldEZ1bmMsIHNldEZ1bmMsICJ2ZXJpZnlTZXRGdW5jdGlvbiIsIGZhbHNlLCBmYWxzZSk7DQogICAgICAgIH0NCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3BlcnR5Iiwgew0KICAgICAgICAgICAgICAgIHNldDogZnVuY3Rpb24gKHZhbHVlKSB7DQogICAgICAgICAgICAgICAgICAgIG9iai52ZXJpZnlTZXRGdW5jdGlvbjEgPSB2YWx1ZTsNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9KTsNCiAgICAgICAgfSBjYXRjaCAoZTEpIHsNCiAgICAgICAgICAgIHJldHVybiByZXN1bHQgJiYgZTEgaW5zdGFuY2VvZiBUeXBlRXJyb3IgJiYNCiAgICAgICAgICAgICAgICBhY2Nlc3NvclByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3Qob2JqLCAicHJvcGVydHkiLCBnZXRGdW5jLCBzZXRGdW5jLCAidmVyaWZ5U2V0RnVuY3Rpb24iLCBmYWxzZSwgZmFsc2UpOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty fails to update [[Get]] and [[Set]] attributes of a named accessor property 'P' whose [[Configurable]] attribute is false, 'O' is an Arguments object (8.12.9 step 11.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-540-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTU0MC00LmpzDQogKiBAZGVzY3JpcHRpb24gRVM1IEF0dHJpYnV0ZXMgLSBVcGRhdGluZyBhbiBpbmRleGVkIGFjY2Vzc29yIHByb3BlcnR5ICdQJyB1c2luZyBzaW1wbGUgYXNzaWdubWVudCBpcyBzdWNjZXNzZnVsLCAnQScgaXMgYW4gQXJyYXkgb2JqZWN0ICg4LjEyLjUgc3RlcCA1LmIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IFtdOw0KDQogICAgICAgIG9iai52ZXJpZnlTZXRGdW5jID0gImRhdGEiOw0KICAgICAgICB2YXIgZ2V0RnVuYyA9IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgIHJldHVybiBvYmoudmVyaWZ5U2V0RnVuYzsNCiAgICAgICAgfTsNCg0KICAgICAgICB2YXIgc2V0RnVuYyA9IGZ1bmN0aW9uICh2YWx1ZSkgew0KICAgICAgICAgICAgb2JqLnZlcmlmeVNldEZ1bmMgPSB2YWx1ZTsNCiAgICAgICAgfTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiMCIsIHsNCiAgICAgICAgICAgIGdldDogZ2V0RnVuYywNCiAgICAgICAgICAgIHNldDogc2V0RnVuYywNCiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgIH0pOw0KDQogICAgICAgIG9ialswXSA9ICJvdmVycmlkZURhdGEiOw0KICAgICAgICB2YXIgcHJvcGVydHlEZWZpbmVDb3JyZWN0ID0gb2JqLmhhc093blByb3BlcnR5KCIwIik7DQogICAgICAgIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICIwIik7DQoNCiAgICAgICAgcmV0dXJuIHByb3BlcnR5RGVmaW5lQ29ycmVjdCAmJiBkZXNjLnNldCA9PT0gc2V0RnVuYyAmJiBvYmoudmVyaWZ5U2V0RnVuYyA9PT0gIm92ZXJyaWRlRGF0YSI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"ES5 Attributes - Updating an indexed accessor property 'P' using simple assignment is successful, 'A' is an Array object (8.12.5 step 5.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-540-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTU0MC01LmpzDQogKiBAZGVzY3JpcHRpb24gRVM1IEF0dHJpYnV0ZXMgLSBVcGRhdGluZyBhIG5hbWVkIGFjY2Vzc29yIHByb3BlcnR5ICdQJyB1c2luZyBzaW1wbGUgYXNzaWdubWVudCBpcyBzdWNjZXNzZnVsLCAnTycgaXMgYW4gQXJndW1lbnRzIG9iamVjdCAoOC4xMi41IHN0ZXAgNS5iKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSAoZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgcmV0dXJuIGFyZ3VtZW50czsNCiAgICAgICAgfSgpKTsNCg0KICAgICAgICBvYmoudmVyaWZ5U2V0RnVuYyA9ICJkYXRhIjsNCiAgICAgICAgdmFyIGdldEZ1bmMgPSBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICByZXR1cm4gb2JqLnZlcmlmeVNldEZ1bmM7DQogICAgICAgIH07DQoNCiAgICAgICAgdmFyIHNldEZ1bmMgPSBmdW5jdGlvbiAodmFsdWUpIHsNCiAgICAgICAgICAgIG9iai52ZXJpZnlTZXRGdW5jID0gdmFsdWU7DQogICAgICAgIH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICBnZXQ6IGdldEZ1bmMsDQogICAgICAgICAgICBzZXQ6IHNldEZ1bmMsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBvYmoucHJvcCA9ICJvdmVycmlkZURhdGEiOw0KICAgICAgICB2YXIgcHJvcGVydHlEZWZpbmVDb3JyZWN0ID0gb2JqLmhhc093blByb3BlcnR5KCJwcm9wIik7DQogICAgICAgIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wIik7DQoNCiAgICAgICAgcmV0dXJuIHByb3BlcnR5RGVmaW5lQ29ycmVjdCAmJiBkZXNjLnNldCA9PT0gc2V0RnVuYyAmJiBvYmoudmVyaWZ5U2V0RnVuYyA9PT0gIm92ZXJyaWRlRGF0YSI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"ES5 Attributes - Updating a named accessor property 'P' using simple assignment is successful, 'O' is an Arguments object (8.12.5 step 5.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-540-5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTU0MC02LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnR5IGZhaWxzIHRvIHVwZGF0ZSBbW0dldF1dIGFuZCBbW1NldF1dIGF0dHJpYnV0ZXMgb2YgYW4gaW5kZXhlZCBhY2Nlc3NvciBwcm9wZXJ0eSAnUCcgd2hvc2UgW1tDb25maWd1cmFibGVdXSBhdHRyaWJ1dGUgaXMgZmFsc2UgYW5kIHRocm93cyBUeXBlRXJyb3IgZXhjZXB0aW9uLCAnTycgaXMgYW4gT2JqZWN0IG9iamVjdCAoOC4xMi45IHN0ZXAgMTEuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgb2JqLnZlcmlmeVNldEZ1bmN0aW9uID0gImRhdGEiOw0KICAgICAgICB2YXIgZ2V0RnVuYyA9IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgIHJldHVybiBvYmoudmVyaWZ5U2V0RnVuY3Rpb247DQogICAgICAgIH07DQogICAgICAgIHZhciBzZXRGdW5jID0gZnVuY3Rpb24gKHZhbHVlKSB7DQogICAgICAgICAgICBvYmoudmVyaWZ5U2V0RnVuY3Rpb24gPSB2YWx1ZTsNCiAgICAgICAgfTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgIjAiLCB7DQogICAgICAgICAgICBnZXQ6IGdldEZ1bmMsDQogICAgICAgICAgICBzZXQ6IHNldEZ1bmMsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciByZXN1bHQgPSBmYWxzZTsNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICIwIiwgew0KICAgICAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gMTAwOw0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0pOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXN1bHQgPSBlIGluc3RhbmNlb2YgVHlwZUVycm9yICYmDQogICAgICAgICAgICAgICAgYWNjZXNzb3JQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KG9iaiwgIjAiLCBnZXRGdW5jLCBzZXRGdW5jLCAidmVyaWZ5U2V0RnVuY3Rpb24iLCBmYWxzZSwgZmFsc2UpOw0KICAgICAgICB9DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICIwIiwgew0KICAgICAgICAgICAgICAgIHNldDogZnVuY3Rpb24gKHZhbHVlKSB7DQogICAgICAgICAgICAgICAgICAgIG9iai52ZXJpZnlTZXRGdW5jdGlvbjEgPSB2YWx1ZTsNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9KTsNCiAgICAgICAgfSBjYXRjaCAoZTEpIHsNCiAgICAgICAgICAgIHJldHVybiByZXN1bHQgJiYgZTEgaW5zdGFuY2VvZiBUeXBlRXJyb3IgJiYNCiAgICAgICAgICAgICAgICBhY2Nlc3NvclByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3Qob2JqLCAiMCIsIGdldEZ1bmMsIHNldEZ1bmMsICJ2ZXJpZnlTZXRGdW5jdGlvbiIsIGZhbHNlLCBmYWxzZSk7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty fails to update [[Get]] and [[Set]] attributes of an indexed accessor property 'P' whose [[Configurable]] attribute is false and throws TypeError exception, 'O' is an Object object (8.12.9 step 11.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-540-6.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTU0MC03LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnR5IGZhaWxzIHRvIHVwZGF0ZSBbW0dldF1dIGFuZCBbW1NldF1dIGF0dHJpYnV0ZXMgb2YgYSBuYW1lZCBwcm9wZXJ0eSAnUCcgd2hvc2UgW1tDb25maWd1cmFibGVdXSBhdHRyaWJ1dGUgaXMgZmFsc2UgYW5kIHRocm93cyBUeXBlRXJyb3IgZXhjZXB0aW9uLCAnQScgaXMgYW4gQXJyYXkgb2JqZWN0ICg4LjEyLjkgc3RlcCAxMS5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSBbXTsNCg0KICAgICAgICBvYmoudmVyaWZ5U2V0RnVuY3Rpb24gPSAiZGF0YSI7DQogICAgICAgIHZhciBnZXRGdW5jID0gZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgcmV0dXJuIG9iai52ZXJpZnlTZXRGdW5jdGlvbjsNCiAgICAgICAgfTsNCiAgICAgICAgdmFyIHNldEZ1bmMgPSBmdW5jdGlvbiAodmFsdWUpIHsNCiAgICAgICAgICAgIG9iai52ZXJpZnlTZXRGdW5jdGlvbiA9IHZhbHVlOw0KICAgICAgICB9Ow0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgIGdldDogZ2V0RnVuYywNCiAgICAgICAgICAgIHNldDogc2V0RnVuYywNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIHJlc3VsdCA9IGZhbHNlOw0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgIHJldHVybiAxMDA7DQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfSk7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJlc3VsdCA9IGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IgJiYNCiAgICAgICAgICAgICAgICBhY2Nlc3NvclByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3Qob2JqLCAicHJvcCIsIGdldEZ1bmMsIHNldEZ1bmMsICJ2ZXJpZnlTZXRGdW5jdGlvbiIsIGZhbHNlLCBmYWxzZSk7DQogICAgICAgIH0NCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICAgICAgc2V0OiBmdW5jdGlvbiAodmFsdWUpIHsNCiAgICAgICAgICAgICAgICAgICAgb2JqLnZlcmlmeVNldEZ1bmN0aW9uMSA9IHZhbHVlOw0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0pOw0KICAgICAgICB9IGNhdGNoIChlMSkgew0KICAgICAgICAgICAgcmV0dXJuIHJlc3VsdCAmJiBlMSBpbnN0YW5jZW9mIFR5cGVFcnJvciAmJg0KICAgICAgICAgICAgICAgIGFjY2Vzc29yUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChvYmosICJwcm9wIiwgZ2V0RnVuYywgc2V0RnVuYywgInZlcmlmeVNldEZ1bmN0aW9uIiwgZmFsc2UsIGZhbHNlKTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty fails to update [[Get]] and [[Set]] attributes of a named property 'P' whose [[Configurable]] attribute is false and throws TypeError exception, 'A' is an Array object (8.12.9 step 11.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-540-7.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTU0MC04LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnR5IGZhaWxzIHRvIHVwZGF0ZSBbW0dldF1dIGFuZCBbW1NldF1dIGF0dHJpYnV0ZXMgb2YgYW4gaW5kZXhlZCBhY2Nlc3NvciBwcm9wZXJ0eSAnUCcgd2hvc2UgW1tDb25maWd1cmFibGVdXSBhdHRyaWJ1dGUgaXMgZmFsc2UsICdPJyBpcyBhbiBBcmd1bWVudHMgb2JqZWN0ICg4LjEyLjkgc3RlcCAxMS5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSAoZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgcmV0dXJuIGFyZ3VtZW50czsNCiAgICAgICAgfSgpKTsNCg0KICAgICAgICBvYmoudmVyaWZ5U2V0RnVuY3Rpb24gPSAiZGF0YSI7DQogICAgICAgIHZhciBnZXRGdW5jID0gZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgcmV0dXJuIG9iai52ZXJpZnlTZXRGdW5jdGlvbjsNCiAgICAgICAgfTsNCiAgICAgICAgdmFyIHNldEZ1bmMgPSBmdW5jdGlvbiAodmFsdWUpIHsNCiAgICAgICAgICAgIG9iai52ZXJpZnlTZXRGdW5jdGlvbiA9IHZhbHVlOw0KICAgICAgICB9Ow0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiMCIsIHsNCiAgICAgICAgICAgIGdldDogZ2V0RnVuYywNCiAgICAgICAgICAgIHNldDogc2V0RnVuYywNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIHJlc3VsdCA9IGZhbHNlOw0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgIjAiLCB7DQogICAgICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgIHJldHVybiAxMDA7DQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfSk7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJlc3VsdCA9IGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IgJiYNCiAgICAgICAgICAgICAgICBhY2Nlc3NvclByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3Qob2JqLCAiMCIsIGdldEZ1bmMsIHNldEZ1bmMsICJ2ZXJpZnlTZXRGdW5jdGlvbiIsIGZhbHNlLCBmYWxzZSk7DQogICAgICAgIH0NCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgIjAiLCB7DQogICAgICAgICAgICAgICAgc2V0OiBmdW5jdGlvbiAodmFsdWUpIHsNCiAgICAgICAgICAgICAgICAgICAgb2JqLnZlcmlmeVNldEZ1bmN0aW9uMSA9IHZhbHVlOw0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0pOw0KICAgICAgICB9IGNhdGNoIChlMSkgew0KICAgICAgICAgICAgcmV0dXJuIHJlc3VsdCAmJiBlMSBpbnN0YW5jZW9mIFR5cGVFcnJvciAmJg0KICAgICAgICAgICAgICAgIGFjY2Vzc29yUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChvYmosICIwIiwgZ2V0RnVuYywgc2V0RnVuYywgInZlcmlmeVNldEZ1bmN0aW9uIiwgZmFsc2UsIGZhbHNlKTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty fails to update [[Get]] and [[Set]] attributes of an indexed accessor property 'P' whose [[Configurable]] attribute is false, 'O' is an Arguments object (8.12.9 step 11.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-540-8.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTU0MC05LmpzDQogKiBAZGVzY3JpcHRpb24gRVM1IEF0dHJpYnV0ZXMgLSBVcGRhdGluZyBhIG5hbWVkIGFjY2Vzc29yIHByb3BlcnR5ICdQJyB1c2luZyBzaW1wbGUgYXNzaWdubWVudCBpcyBzdWNjZXNzZnVsLCAnQScgaXMgYW4gQXJyYXkgb2JqZWN0ICg4LjEyLjUgc3RlcCA1LmIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IFtdOw0KDQogICAgICAgIG9iai52ZXJpZnlTZXRGdW5jID0gImRhdGEiOw0KICAgICAgICB2YXIgZ2V0RnVuYyA9IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgIHJldHVybiBvYmoudmVyaWZ5U2V0RnVuYzsNCiAgICAgICAgfTsNCg0KICAgICAgICB2YXIgc2V0RnVuYyA9IGZ1bmN0aW9uICh2YWx1ZSkgew0KICAgICAgICAgICAgb2JqLnZlcmlmeVNldEZ1bmMgPSB2YWx1ZTsNCiAgICAgICAgfTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgIGdldDogZ2V0RnVuYywNCiAgICAgICAgICAgIHNldDogc2V0RnVuYywNCiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgIH0pOw0KDQogICAgICAgIG9iai5wcm9wID0gIm92ZXJyaWRlRGF0YSI7DQogICAgICAgIHZhciBwcm9wZXJ0eURlZmluZUNvcnJlY3QgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCiAgICAgICAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3AiKTsNCg0KICAgICAgICByZXR1cm4gcHJvcGVydHlEZWZpbmVDb3JyZWN0ICYmIGRlc2Muc2V0ID09PSBzZXRGdW5jICYmIG9iai52ZXJpZnlTZXRGdW5jID09PSAib3ZlcnJpZGVEYXRhIjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"ES5 Attributes - Updating a named accessor property 'P' using simple assignment is successful, 'A' is an Array object (8.12.5 step 5.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-540-9.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTU0MC5qcw0KICogQGRlc2NyaXB0aW9uIEVTNSBBdHRyaWJ1dGVzIC0gW1tTZXRdXSBhdHRyaWJ1dGUgb2YgYWNjZXNzb3IgcHJvcGVydHkgKFtbR2V0XV0gaXMgYSBGdW5jdGlvbiwgW1tTZXRdXSBpcyBhIEZ1bmN0aW9uLCBbW0VudW1lcmFibGVdXSBpcyB0cnVlLCBbW0NvbmZpZ3VyYWJsZV1dIGlzIGZhbHNlKSBpcyB0aGUgZXhwZWN0ZWQgZnVuY3Rpb24NCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgdmFyIGdldEZ1bmMgPSBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICByZXR1cm4gMTAwMTsNCiAgICAgICAgfTsNCg0KICAgICAgICB2YXIgdmVyaWZ5U2V0RnVuYyA9ICJkYXRhIjsNCiAgICAgICAgdmFyIHNldEZ1bmMgPSBmdW5jdGlvbiAodmFsdWUpIHsNCiAgICAgICAgICAgIHZlcmlmeVNldEZ1bmMgPSB2YWx1ZTsNCiAgICAgICAgfTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgIGdldDogZ2V0RnVuYywNCiAgICAgICAgICAgIHNldDogc2V0RnVuYywNCiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgIH0pOw0KDQogICAgICAgIG9iai5wcm9wID0gIm92ZXJyaWRlRGF0YSI7DQogICAgICAgIHZhciBwcm9wZXJ0eURlZmluZUNvcnJlY3QgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCiAgICAgICAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3AiKTsNCg0KICAgICAgICByZXR1cm4gcHJvcGVydHlEZWZpbmVDb3JyZWN0ICYmIGRlc2Muc2V0ID09PSBzZXRGdW5jICYmIHZlcmlmeVNldEZ1bmMgPT09ICJvdmVycmlkZURhdGEiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"ES5 Attributes - [[Set]] attribute of accessor property ([[Get]] is a Function, [[Set]] is a Function, [[Enumerable]] is true, [[Configurable]] is false) is the expected function","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-540.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTU0MS5qcw0KICogQGRlc2NyaXB0aW9uIEVTNSBBdHRyaWJ1dGVzIC0gcHJvcGVydHkgKFtbR2V0XV0gaXMgYSBGdW5jdGlvbiwgW1tTZXRdXSBpcyBhIEZ1bmN0aW9uLCBbW0VudW1lcmFibGVdXSBpcyB0cnVlLCBbW0NvbmZpZ3VyYWJsZV1dIGlzIGZhbHNlKSBpcyBlbnVtZXJhYmxlDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIHZhciBnZXRGdW5jID0gZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgcmV0dXJuIDEwMDE7DQogICAgICAgIH07DQoNCiAgICAgICAgdmFyIHZlcmlmeVNldEZ1bmMgPSAiZGF0YSI7DQogICAgICAgIHZhciBzZXRGdW5jID0gZnVuY3Rpb24gKHZhbHVlKSB7DQogICAgICAgICAgICB2ZXJpZnlTZXRGdW5jID0gdmFsdWU7DQogICAgICAgIH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICBnZXQ6IGdldEZ1bmMsDQogICAgICAgICAgICBzZXQ6IHNldEZ1bmMsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgcHJvcGVydHlEZWZpbmVDb3JyZWN0ID0gb2JqLmhhc093blByb3BlcnR5KCJwcm9wIik7DQogICAgICAgIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wIik7DQoNCiAgICAgICAgZm9yICh2YXIgcCBpbiBvYmopIHsNCiAgICAgICAgICAgIGlmIChwID09PSAicHJvcCIpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gcHJvcGVydHlEZWZpbmVDb3JyZWN0ICYmIGRlc2MuZW51bWVyYWJsZSA9PT0gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIHJldHVybiBmYWxzZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"ES5 Attributes - property ([[Get]] is a Function, [[Set]] is a Function, [[Enumerable]] is true, [[Configurable]] is false) is enumerable","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-541.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTU0Mi5qcw0KICogQGRlc2NyaXB0aW9uIEVTNSBBdHRyaWJ1dGVzIC0gcHJvcGVydHkgKFtbR2V0XV0gaXMgYSBGdW5jdGlvbiwgW1tTZXRdXSBpcyBhIEZ1bmN0aW9uLCBbW0VudW1lcmFibGVdXSBpcyB0cnVlLCBbW0NvbmZpZ3VyYWJsZV1dIGlzIGZhbHNlKSBpcyB1bmRlbGV0YWJsZQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICB2YXIgZ2V0RnVuYyA9IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgIHJldHVybiAxMDAxOw0KICAgICAgICB9Ow0KDQogICAgICAgIHZhciB2ZXJpZnlTZXRGdW5jID0gImRhdGEiOw0KICAgICAgICB2YXIgc2V0RnVuYyA9IGZ1bmN0aW9uICh2YWx1ZSkgew0KICAgICAgICAgICAgdmVyaWZ5U2V0RnVuYyA9IHZhbHVlOw0KICAgICAgICB9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgZ2V0OiBnZXRGdW5jLA0KICAgICAgICAgICAgc2V0OiBzZXRGdW5jLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIHByb3BlcnR5RGVmaW5lQ29ycmVjdCA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KICAgICAgICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcCIpOw0KDQogICAgICAgIGRlbGV0ZSBvYmoucHJvcDsNCg0KICAgICAgICByZXR1cm4gcHJvcGVydHlEZWZpbmVDb3JyZWN0ICYmIGRlc2MuY29uZmlndXJhYmxlID09PSBmYWxzZSAmJiBvYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"ES5 Attributes - property ([[Get]] is a Function, [[Set]] is a Function, [[Enumerable]] is true, [[Configurable]] is false) is undeletable","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-542.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTU0My5qcw0KICogQGRlc2NyaXB0aW9uIEVTNSBBdHRyaWJ1dGVzIC0gZmFpbCB0byB1cGRhdGUgW1tHZXRdXSBhdHRyaWJ1dGUgb2YgYWNjZXNzb3IgcHJvcGVydHkgKFtbR2V0XV0gaXMgYSBGdW5jdGlvbiwgW1tTZXRdXSBpcyBhIEZ1bmN0aW9uLCBbW0VudW1lcmFibGVdXSBpcyB0cnVlLCBbW0NvbmZpZ3VyYWJsZV1dIGlzIGZhbHNlKSB0byBkaWZmZXJlbnQgdmFsdWUNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgdmFyIGdldEZ1bmMgPSBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICByZXR1cm4gMTAwMTsNCiAgICAgICAgfTsNCg0KICAgICAgICB2YXIgdmVyaWZ5U2V0RnVuYyA9ICJkYXRhIjsNCiAgICAgICAgdmFyIHNldEZ1bmMgPSBmdW5jdGlvbiAodmFsdWUpIHsNCiAgICAgICAgICAgIHZlcmlmeVNldEZ1bmMgPSB2YWx1ZTsNCiAgICAgICAgfTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgIGdldDogZ2V0RnVuYywNCiAgICAgICAgICAgIHNldDogc2V0RnVuYywNCiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciByZXN1bHQxID0gb2JqLnByb3AgPT09IDEwMDE7DQogICAgICAgIHZhciBkZXNjMSA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcCIpOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgICAgICBnZXQ6IHVuZGVmaW5lZA0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgdmFyIHJlc3VsdDIgPSBvYmoucHJvcCA9PT0gMTAwMTsNCiAgICAgICAgICAgIHZhciBkZXNjMiA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcCIpOw0KDQogICAgICAgICAgICByZXR1cm4gcmVzdWx0MSAmJiByZXN1bHQyICYmIGRlc2MxLmdldCA9PT0gZ2V0RnVuYyAmJiBkZXNjMi5nZXQgPT09IGdldEZ1bmMgJiYgZSBpbnN0YW5jZW9mIFR5cGVFcnJvcjsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"ES5 Attributes - fail to update [[Get]] attribute of accessor property ([[Get]] is a Function, [[Set]] is a Function, [[Enumerable]] is true, [[Configurable]] is false) to different value","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-543.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTU0NC5qcw0KICogQGRlc2NyaXB0aW9uIEVTNSBBdHRyaWJ1dGVzIC0gZmFpbCB0byB1cGRhdGUgW1tTZXRdXSBhdHRyaWJ1dGUgb2YgYWNjZXNzb3IgcHJvcGVydHkgKFtbR2V0XV0gaXMgYSBGdW5jdGlvbiwgW1tTZXRdXSBpcyBhIEZ1bmN0aW9uLCBbW0VudW1lcmFibGVdXSBpcyB0cnVlLCBbW0NvbmZpZ3VyYWJsZV1dIGlzIGZhbHNlKSB0byBkaWZmZXJlbnQgdmFsdWUNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgdmFyIGdldEZ1bmMgPSBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICByZXR1cm4gMTAwMTsNCiAgICAgICAgfTsNCg0KICAgICAgICB2YXIgdmVyaWZ5U2V0RnVuYyA9ICJkYXRhIjsNCiAgICAgICAgdmFyIHNldEZ1bmMgPSBmdW5jdGlvbiAodmFsdWUpIHsNCiAgICAgICAgICAgIHZlcmlmeVNldEZ1bmMgPSB2YWx1ZTsNCiAgICAgICAgfTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgIGdldDogZ2V0RnVuYywNCiAgICAgICAgICAgIHNldDogc2V0RnVuYywNCiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBkZXNjMSA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcCIpOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgICAgICBzZXQ6IHVuZGVmaW5lZA0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgdmFyIGRlc2MyID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wIik7DQoNCiAgICAgICAgICAgIHJldHVybiBkZXNjMS5zZXQgPT09IHNldEZ1bmMgJiYgZGVzYzIuc2V0ID09PSBzZXRGdW5jICYmIGUgaW5zdGFuY2VvZiBUeXBlRXJyb3I7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"ES5 Attributes - fail to update [[Set]] attribute of accessor property ([[Get]] is a Function, [[Set]] is a Function, [[Enumerable]] is true, [[Configurable]] is false) to different value","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-544.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTU0NS5qcw0KICogQGRlc2NyaXB0aW9uIEVTNSBBdHRyaWJ1dGVzIC0gZmFpbCB0byB1cGRhdGUgW1tFbnVtZXJhYmxlXV0gYXR0cmlidXRlIG9mIGFjY2Vzc29yIHByb3BlcnR5IChbW0dldF1dIGlzIGEgRnVuY3Rpb24sIFtbU2V0XV0gaXMgYSBGdW5jdGlvbiwgW1tFbnVtZXJhYmxlXV0gaXMgdHJ1ZSwgW1tDb25maWd1cmFibGVdXSBpcyBmYWxzZSkgdG8gZGlmZmVyZW50IHZhbHVlDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIHZhciBnZXRGdW5jID0gZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgcmV0dXJuIDEwMDE7DQogICAgICAgIH07DQoNCiAgICAgICAgdmFyIHZlcmlmeVNldEZ1bmMgPSAiZGF0YSI7DQogICAgICAgIHZhciBzZXRGdW5jID0gZnVuY3Rpb24gKHZhbHVlKSB7DQogICAgICAgICAgICB2ZXJpZnlTZXRGdW5jID0gdmFsdWU7DQogICAgICAgIH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICBnZXQ6IGdldEZ1bmMsDQogICAgICAgICAgICBzZXQ6IHNldEZ1bmMsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICB9KTsNCiAgICAgICAgdmFyIHJlc3VsdDEgPSBmYWxzZTsNCiAgICAgICAgdmFyIGRlc2MxID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wIik7DQogICAgICAgIGZvciAodmFyIHAxIGluIG9iaikgew0KICAgICAgICAgICAgaWYgKHAxID09PSAicHJvcCIpIHsNCiAgICAgICAgICAgICAgICByZXN1bHQxID0gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZQ0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgdmFyIHJlc3VsdDIgPSBmYWxzZTsNCiAgICAgICAgICAgIHZhciBkZXNjMiA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcCIpOw0KICAgICAgICAgICAgZm9yICh2YXIgcDIgaW4gb2JqKSB7DQogICAgICAgICAgICAgICAgaWYgKHAyID09PSAicHJvcCIpIHsNCiAgICAgICAgICAgICAgICAgICAgcmVzdWx0MiA9IHRydWU7DQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICByZXR1cm4gcmVzdWx0MSAmJiByZXN1bHQyICYmIGRlc2MxLmVudW1lcmFibGUgPT09IHRydWUgJiYgZGVzYzIuZW51bWVyYWJsZSA9PT0gdHJ1ZSAmJiBlIGluc3RhbmNlb2YgVHlwZUVycm9yOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"ES5 Attributes - fail to update [[Enumerable]] attribute of accessor property ([[Get]] is a Function, [[Set]] is a Function, [[Enumerable]] is true, [[Configurable]] is false) to different value","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-545.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTU0Ni5qcw0KICogQGRlc2NyaXB0aW9uIEVTNSBBdHRyaWJ1dGVzIC0gZmFpbCB0byB1cGRhdGUgW1tDb25maWd1cmFibGVdXSBhdHRyaWJ1dGUgb2YgYWNjZXNzb3IgcHJvcGVydHkgKFtbR2V0XV0gaXMgYSBGdW5jdGlvbiwgW1tTZXRdXSBpcyBhIEZ1bmN0aW9uLCBbW0VudW1lcmFibGVdXSBpcyB0cnVlLCBbW0NvbmZpZ3VyYWJsZV1dIGlzIGZhbHNlKSB0byBkaWZmZXJlbnQgdmFsdWUNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgdmFyIGdldEZ1bmMgPSBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICByZXR1cm4gMTAwMTsNCiAgICAgICAgfTsNCg0KICAgICAgICB2YXIgdmVyaWZ5U2V0RnVuYyA9ICJkYXRhIjsNCiAgICAgICAgdmFyIHNldEZ1bmMgPSBmdW5jdGlvbiAodmFsdWUpIHsNCiAgICAgICAgICAgIHZlcmlmeVNldEZ1bmMgPSB2YWx1ZTsNCiAgICAgICAgfTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgIGdldDogZ2V0RnVuYywNCiAgICAgICAgICAgIHNldDogc2V0RnVuYywNCiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgIH0pOw0KICAgICAgICB2YXIgZGVzYzEgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3AiKTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICB2YXIgZGVzYzIgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3AiKTsNCiAgICAgICAgICAgIGRlbGV0ZSBvYmoucHJvcDsNCg0KICAgICAgICAgICAgcmV0dXJuIGRlc2MxLmNvbmZpZ3VyYWJsZSA9PT0gZmFsc2UgJiYgZGVzYzIuY29uZmlndXJhYmxlID09PSBmYWxzZSAmJiBvYmouaGFzT3duUHJvcGVydHkoInByb3AiKSAmJiBlIGluc3RhbmNlb2YgVHlwZUVycm9yOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"ES5 Attributes - fail to update [[Configurable]] attribute of accessor property ([[Get]] is a Function, [[Set]] is a Function, [[Enumerable]] is true, [[Configurable]] is false) to different value","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-546.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTU0Ny0xLmpzDQogKiBAZGVzY3JpcHRpb24gRVM1IEF0dHJpYnV0ZXMgLSBVcGRhdGluZyBhbiBpbmRleGVkIGFjY2Vzc29yIHByb3BlcnR5ICdQJyB3aG9zZSBbW0NvbmZpZ3VyYWJsZV1dIGF0dHJpYnV0ZSBpcyBmYWxzZSB0byBhIGRhdGEgcHJvcGVydHkgZG9lcyBub3Qgc3VjY2VlZCwgJ0EnIGlzIGFuIEFycmF5IG9iamVjdCAoOC4xMi45IHN0ZXAgOS5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSBbXTsNCiAgICAgICAgDQogICAgICAgIG9iai52ZXJpZnlTZXRGdW5jID0gImRhdGEiOw0KICAgICAgICB2YXIgZ2V0RnVuYyA9IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgIHJldHVybiBvYmoudmVyaWZ5U2V0RnVuYzsNCiAgICAgICAgfTsNCg0KICAgICAgICB2YXIgc2V0RnVuYyA9IGZ1bmN0aW9uICh2YWx1ZSkgew0KICAgICAgICAgICAgb2JqLnZlcmlmeVNldEZ1bmMgPSB2YWx1ZTsNCiAgICAgICAgfTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiMCIsIHsNCiAgICAgICAgICAgIGdldDogZ2V0RnVuYywNCiAgICAgICAgICAgIHNldDogc2V0RnVuYywNCiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgIH0pOw0KICAgICAgICB2YXIgZGVzYzEgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgIjAiKTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgIjAiLCB7DQogICAgICAgICAgICAgICAgdmFsdWU6IDEwMDENCiAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHZhciBkZXNjMiA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAiMCIpOw0KDQogICAgICAgICAgICByZXR1cm4gZGVzYzEuaGFzT3duUHJvcGVydHkoImdldCIpICYmICFkZXNjMi5oYXNPd25Qcm9wZXJ0eSgidmFsdWUiKSAmJiBlIGluc3RhbmNlb2YgVHlwZUVycm9yICYmDQogICAgICAgICAgICAgICAgYWNjZXNzb3JQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KG9iaiwgIjAiLCBnZXRGdW5jLCBzZXRGdW5jLCAidmVyaWZ5U2V0RnVuYyIsIHRydWUsIGZhbHNlKTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"ES5 Attributes - Updating an indexed accessor property 'P' whose [[Configurable]] attribute is false to a data property does not succeed, 'A' is an Array object (8.12.9 step 9.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-547-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTU0Ny0yLmpzDQogKiBAZGVzY3JpcHRpb24gRVM1IEF0dHJpYnV0ZXMgLSBVcGRhdGluZyBhIG5hbWVkIGFjY2Vzc29yIHByb3BlcnR5ICdQJyB3aG9zZSBbW0NvbmZpZ3VyYWJsZV1dIGF0dHJpYnV0ZSBpcyBmYWxzZSB0byBhIGRhdGEgcHJvcGVydHkgZG9lcyBub3Qgc3VjY2VlZCwgJ0EnIGlzIGFuIEFyZ3VtZW50cyBvYmplY3QgKDguMTIuOSBzdGVwIDkuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0gKGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgIHJldHVybiBhcmd1bWVudHM7DQogICAgICAgIH0oKSk7DQoNCiAgICAgICAgb2JqLnZlcmlmeVNldEZ1bmMgPSAiZGF0YSI7DQogICAgICAgIHZhciBnZXRGdW5jID0gZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgcmV0dXJuIG9iai52ZXJpZnlTZXRGdW5jOw0KICAgICAgICB9Ow0KDQogICAgICAgIHZhciBzZXRGdW5jID0gZnVuY3Rpb24gKHZhbHVlKSB7DQogICAgICAgICAgICBvYmoudmVyaWZ5U2V0RnVuYyA9IHZhbHVlOw0KICAgICAgICB9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgZ2V0OiBnZXRGdW5jLA0KICAgICAgICAgICAgc2V0OiBzZXRGdW5jLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgfSk7DQogICAgICAgIHZhciBkZXNjMSA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcCIpOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgICAgICB2YWx1ZTogMTAwMQ0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgdmFyIGRlc2MyID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wIik7DQoNCiAgICAgICAgICAgIHJldHVybiBkZXNjMS5oYXNPd25Qcm9wZXJ0eSgiZ2V0IikgJiYgIWRlc2MyLmhhc093blByb3BlcnR5KCJ2YWx1ZSIpICYmIGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IgJiYNCiAgICAgICAgICAgICAgICBhY2Nlc3NvclByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3Qob2JqLCAicHJvcCIsIGdldEZ1bmMsIHNldEZ1bmMsICJ2ZXJpZnlTZXRGdW5jIiwgdHJ1ZSwgZmFsc2UpOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"ES5 Attributes - Updating a named accessor property 'P' whose [[Configurable]] attribute is false to a data property does not succeed, 'A' is an Arguments object (8.12.9 step 9.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-547-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTU0Ny0zLmpzDQogKiBAZGVzY3JpcHRpb24gRVM1IEF0dHJpYnV0ZXMgLSBVcGRhdGluZyBhIG5hbWVkIGFjY2Vzc29yIHByb3BlcnR5ICdQJyB3aG9zZSBbW0NvbmZpZ3VyYWJsZV1dIGF0dHJpYnV0ZSBpcyBmYWxzZSB0byBhIGRhdGEgcHJvcGVydHkgZG9lcyBub3Qgc3VjY2VlZCwgJ0EnIGlzIGFuIEFycmF5IG9iamVjdCAoOC4xMi45IHN0ZXAgOS5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSBbXTsNCiAgICAgICAgDQogICAgICAgIG9iai52ZXJpZnlTZXRGdW5jID0gImRhdGEiOw0KICAgICAgICB2YXIgZ2V0RnVuYyA9IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgIHJldHVybiBvYmoudmVyaWZ5U2V0RnVuYzsNCiAgICAgICAgfTsNCg0KICAgICAgICB2YXIgc2V0RnVuYyA9IGZ1bmN0aW9uICh2YWx1ZSkgew0KICAgICAgICAgICAgb2JqLnZlcmlmeVNldEZ1bmMgPSB2YWx1ZTsNCiAgICAgICAgfTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgIGdldDogZ2V0RnVuYywNCiAgICAgICAgICAgIHNldDogc2V0RnVuYywNCiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgIH0pOw0KICAgICAgICB2YXIgZGVzYzEgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3AiKTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICAgICAgdmFsdWU6IDEwMDENCiAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHZhciBkZXNjMiA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcCIpOw0KDQogICAgICAgICAgICByZXR1cm4gZGVzYzEuaGFzT3duUHJvcGVydHkoImdldCIpICYmICFkZXNjMi5oYXNPd25Qcm9wZXJ0eSgidmFsdWUiKSAmJiBlIGluc3RhbmNlb2YgVHlwZUVycm9yICYmDQogICAgICAgICAgICAgICAgYWNjZXNzb3JQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KG9iaiwgInByb3AiLCBnZXRGdW5jLCBzZXRGdW5jLCAidmVyaWZ5U2V0RnVuYyIsIHRydWUsIGZhbHNlKTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"ES5 Attributes - Updating a named accessor property 'P' whose [[Configurable]] attribute is false to a data property does not succeed, 'A' is an Array object (8.12.9 step 9.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-547-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTU0Ny00LmpzDQogKiBAZGVzY3JpcHRpb24gRVM1IEF0dHJpYnV0ZXMgLSBVcGRhdGluZyBhbiBpbmRleGVkIGFjY2Vzc29yIHByb3BlcnR5ICdQJyB3aG9zZSBbW0NvbmZpZ3VyYWJsZV1dIGF0dHJpYnV0ZSBpcyBmYWxzZSB0byBhIGRhdGEgcHJvcGVydHkgZG9lcyBub3Qgc3VjY2VlZCwgJ0EnIGlzIGFuIEFyZ3VtZW50cyBvYmplY3QgKDguMTIuOSBzdGVwIDkuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0gKGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgIHJldHVybiBhcmd1bWVudHM7DQogICAgICAgIH0oKSk7DQoNCiAgICAgICAgb2JqLnZlcmlmeVNldEZ1bmMgPSAiZGF0YSI7DQogICAgICAgIHZhciBnZXRGdW5jID0gZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgcmV0dXJuIG9iai52ZXJpZnlTZXRGdW5jOw0KICAgICAgICB9Ow0KDQogICAgICAgIHZhciBzZXRGdW5jID0gZnVuY3Rpb24gKHZhbHVlKSB7DQogICAgICAgICAgICBvYmoudmVyaWZ5U2V0RnVuYyA9IHZhbHVlOw0KICAgICAgICB9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICIwIiwgew0KICAgICAgICAgICAgZ2V0OiBnZXRGdW5jLA0KICAgICAgICAgICAgc2V0OiBzZXRGdW5jLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgfSk7DQogICAgICAgIHZhciBkZXNjMSA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAiMCIpOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiMCIsIHsNCiAgICAgICAgICAgICAgICB2YWx1ZTogMTAwMQ0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgdmFyIGRlc2MyID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICIwIik7DQoNCiAgICAgICAgICAgIHJldHVybiBkZXNjMS5oYXNPd25Qcm9wZXJ0eSgiZ2V0IikgJiYgIWRlc2MyLmhhc093blByb3BlcnR5KCJ2YWx1ZSIpICYmIGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IgJiYNCiAgICAgICAgICAgICAgICBhY2Nlc3NvclByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3Qob2JqLCAiMCIsIGdldEZ1bmMsIHNldEZ1bmMsICJ2ZXJpZnlTZXRGdW5jIiwgdHJ1ZSwgZmFsc2UpOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"ES5 Attributes - Updating an indexed accessor property 'P' whose [[Configurable]] attribute is false to a data property does not succeed, 'A' is an Arguments object (8.12.9 step 9.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-547-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTU0Ny5qcw0KICogQGRlc2NyaXB0aW9uIEVTNSBBdHRyaWJ1dGVzIC0gZmFpbCB0byB1cGRhdGUgdGhlIGFjY2Vzc29yIHByb3BlcnR5IChbW0dldF1dIGlzIGEgRnVuY3Rpb24sIFtbU2V0XV0gaXMgYSBGdW5jdGlvbiwgW1tFbnVtZXJhYmxlXV0gaXMgdHJ1ZSwgW1tDb25maWd1cmFibGVdXSBpcyBmYWxzZSkgdG8gYSBkYXRhIHByb3BlcnR5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIHZhciBnZXRGdW5jID0gZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgcmV0dXJuIDEwMDE7DQogICAgICAgIH07DQoNCiAgICAgICAgdmFyIHZlcmlmeVNldEZ1bmMgPSAiZGF0YSI7DQogICAgICAgIHZhciBzZXRGdW5jID0gZnVuY3Rpb24gKHZhbHVlKSB7DQogICAgICAgICAgICB2ZXJpZnlTZXRGdW5jID0gdmFsdWU7DQogICAgICAgIH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICBnZXQ6IGdldEZ1bmMsDQogICAgICAgICAgICBzZXQ6IHNldEZ1bmMsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICB9KTsNCiAgICAgICAgdmFyIGRlc2MxID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wIik7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgICAgIHZhbHVlOiAxMDAxDQogICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICB2YXIgZGVzYzIgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3AiKTsNCg0KICAgICAgICAgICAgcmV0dXJuIGRlc2MxLmhhc093blByb3BlcnR5KCJnZXQiKSAmJiAhZGVzYzIuaGFzT3duUHJvcGVydHkoInZhbHVlIikgJiYgZSBpbnN0YW5jZW9mIFR5cGVFcnJvcjsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"ES5 Attributes - fail to update the accessor property ([[Get]] is a Function, [[Set]] is a Function, [[Enumerable]] is true, [[Configurable]] is false) to a data property","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-547.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTU0OC5qcw0KICogQGRlc2NyaXB0aW9uIEVTNSBBdHRyaWJ1dGVzIC0gW1tHZXRdXSBhdHRyaWJ1dGUgb2YgYWNjZXNzb3IgcHJvcGVydHkgKFtbR2V0XV0gaXMgYSBGdW5jdGlvbiwgW1tTZXRdXSBpcyBhIEZ1bmN0aW9uLCBbW0VudW1lcmFibGVdXSBpcyBmYWxzZSwgW1tDb25maWd1cmFibGVdXSBpcyB0cnVlKSBpcyB0aGUgZXhwZWN0ZWQgZnVuY3Rpb24NCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgdmFyIGdldEZ1bmMgPSBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICByZXR1cm4gMTAwMTsNCiAgICAgICAgfTsNCg0KICAgICAgICB2YXIgdmVyaWZ5U2V0RnVuYyA9ICJkYXRhIjsNCiAgICAgICAgdmFyIHNldEZ1bmMgPSBmdW5jdGlvbiAodmFsdWUpIHsNCiAgICAgICAgICAgIHZlcmlmeVNldEZ1bmMgPSB2YWx1ZTsNCiAgICAgICAgfTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgIGdldDogZ2V0RnVuYywNCiAgICAgICAgICAgIHNldDogc2V0RnVuYywNCiAgICAgICAgICAgIGVudW1lcmFibGU6IGZhbHNlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBwcm9wZXJ0eURlZmluZUNvcnJlY3QgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCiAgICAgICAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3AiKTsNCg0KICAgICAgICByZXR1cm4gcHJvcGVydHlEZWZpbmVDb3JyZWN0ICYmIGRlc2MuZ2V0ID09PSBnZXRGdW5jICYmIG9iai5wcm9wID09PSAxMDAxOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"ES5 Attributes - [[Get]] attribute of accessor property ([[Get]] is a Function, [[Set]] is a Function, [[Enumerable]] is false, [[Configurable]] is true) is the expected function","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-548.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTU0OS5qcw0KICogQGRlc2NyaXB0aW9uIEVTNSBBdHRyaWJ1dGVzIC0gW1tTZXRdXSBhdHRyaWJ1dGUgb2YgYWNjZXNzb3IgcHJvcGVydHkgKFtbR2V0XV0gaXMgYSBGdW5jdGlvbiwgW1tTZXRdXSBpcyBhIEZ1bmN0aW9uLCBbW0VudW1lcmFibGVdXSBpcyBmYWxzZSwgW1tDb25maWd1cmFibGVdXSBpcyB0cnVlKSBpcyB0aGUgZXhwZWN0ZWQgZnVuY3Rpb24NCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgdmFyIGdldEZ1bmMgPSBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICByZXR1cm4gMTAwMTsNCiAgICAgICAgfTsNCg0KICAgICAgICB2YXIgdmVyaWZ5U2V0RnVuYyA9ICJkYXRhIjsNCiAgICAgICAgdmFyIHNldEZ1bmMgPSBmdW5jdGlvbiAodmFsdWUpIHsNCiAgICAgICAgICAgIHZlcmlmeVNldEZ1bmMgPSB2YWx1ZTsNCiAgICAgICAgfTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgIGdldDogZ2V0RnVuYywNCiAgICAgICAgICAgIHNldDogc2V0RnVuYywNCiAgICAgICAgICAgIGVudW1lcmFibGU6IGZhbHNlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIG9iai5wcm9wID0gIm92ZXJyaWRlRGF0YSI7DQogICAgICAgIHZhciBwcm9wZXJ0eURlZmluZUNvcnJlY3QgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCiAgICAgICAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3AiKTsNCg0KICAgICAgICByZXR1cm4gcHJvcGVydHlEZWZpbmVDb3JyZWN0ICYmIGRlc2Muc2V0ID09PSBzZXRGdW5jICYmIHZlcmlmeVNldEZ1bmMgPT09ICJvdmVycmlkZURhdGEiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"ES5 Attributes - [[Set]] attribute of accessor property ([[Get]] is a Function, [[Set]] is a Function, [[Enumerable]] is false, [[Configurable]] is true) is the expected function","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-549.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTU1LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnR5IC0gJ25hbWUnIHByb3BlcnR5IGRvZXNuJ3QgZXhpc3QgaW4gJ08nLCB0ZXN0IFtbRW51bWVyYWJsZV1dIG9mICduYW1lJyBwcm9wZXJ0eSBvZiAnQXR0cmlidXRlcycgaXMgc2V0IGFzIGZhbHNlIHZhbHVlIGlmIGFic2VudCBpbiBhY2Nlc3NvciBkZXNjcmlwdG9yICdkZXNjJyAoOC4xMi45IHN0ZXAgNC5iLmkpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIHZhciBzZXRGdW5jID0gZnVuY3Rpb24gKHZhbHVlKSB7DQogICAgICAgICAgICBvYmouc2V0VmVyaWZ5SGVscFByb3AgPSB2YWx1ZTsNCiAgICAgICAgfTsNCiAgICAgICAgdmFyIGdldEZ1bmMgPSBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICByZXR1cm4gMTA7DQogICAgICAgIH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3BlcnR5Iiwgew0KICAgICAgICAgICAgc2V0OiBzZXRGdW5jLA0KICAgICAgICAgICAgZ2V0OiBnZXRGdW5jLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KICAgICAgICByZXR1cm4gYWNjZXNzb3JQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KG9iaiwgInByb3BlcnR5IiwgZ2V0RnVuYywgc2V0RnVuYywgInNldFZlcmlmeUhlbHBQcm9wIiwgZmFsc2UsIHRydWUpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'name' property doesn't exist in 'O', test [[Enumerable]] of 'name' property of 'Attributes' is set as false value if absent in accessor descriptor 'desc' (8.12.9 step 4.b.i)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-55.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTU1MC5qcw0KICogQGRlc2NyaXB0aW9uIEVTNSBBdHRyaWJ1dGVzIC0gcHJvcGVydHkgKFtbR2V0XV0gaXMgYSBGdW5jdGlvbiwgW1tTZXRdXSBpcyBhIEZ1bmN0aW9uLCBbW0VudW1lcmFibGVdXSBpcyBmYWxzZSwgW1tDb25maWd1cmFibGVdXSBpcyB0cnVlKSBpcyBub24tZW51bWVyYWJsZQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICB2YXIgZ2V0RnVuYyA9IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgIHJldHVybiAxMDAxOw0KICAgICAgICB9Ow0KDQogICAgICAgIHZhciB2ZXJpZnlTZXRGdW5jID0gImRhdGEiOw0KICAgICAgICB2YXIgc2V0RnVuYyA9IGZ1bmN0aW9uICh2YWx1ZSkgew0KICAgICAgICAgICAgdmVyaWZ5U2V0RnVuYyA9IHZhbHVlOw0KICAgICAgICB9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgZ2V0OiBnZXRGdW5jLA0KICAgICAgICAgICAgc2V0OiBzZXRGdW5jLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogZmFsc2UsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIHByb3BlcnR5RGVmaW5lQ29ycmVjdCA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KICAgICAgICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcCIpOw0KDQogICAgICAgIGZvciAodmFyIHAgaW4gb2JqKSB7DQogICAgICAgICAgICBpZiAocCA9PT0gInByb3AiKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgcmV0dXJuIHByb3BlcnR5RGVmaW5lQ29ycmVjdCAmJiBkZXNjLmVudW1lcmFibGUgPT09IGZhbHNlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"ES5 Attributes - property ([[Get]] is a Function, [[Set]] is a Function, [[Enumerable]] is false, [[Configurable]] is true) is non-enumerable","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-550.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTU1MS5qcw0KICogQGRlc2NyaXB0aW9uIEVTNSBBdHRyaWJ1dGVzIC0gcHJvcGVydHkgKFtbR2V0XV0gaXMgYSBGdW5jdGlvbiwgW1tTZXRdXSBpcyBhIEZ1bmN0aW9uLCBbW0VudW1lcmFibGVdXSBpcyBmYWxzZSwgW1tDb25maWd1cmFibGVdXSBpcyB0cnVlKSBpcyBkZWxldGFibGUNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgdmFyIGdldEZ1bmMgPSBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICByZXR1cm4gMTAwMTsNCiAgICAgICAgfTsNCg0KICAgICAgICB2YXIgdmVyaWZ5U2V0RnVuYyA9ICJkYXRhIjsNCiAgICAgICAgdmFyIHNldEZ1bmMgPSBmdW5jdGlvbiAodmFsdWUpIHsNCiAgICAgICAgICAgIHZlcmlmeVNldEZ1bmMgPSB2YWx1ZTsNCiAgICAgICAgfTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgIGdldDogZ2V0RnVuYywNCiAgICAgICAgICAgIHNldDogc2V0RnVuYywNCiAgICAgICAgICAgIGVudW1lcmFibGU6IGZhbHNlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBwcm9wZXJ0eURlZmluZUNvcnJlY3QgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCiAgICAgICAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3AiKTsNCg0KICAgICAgICBkZWxldGUgb2JqLnByb3A7DQoNCiAgICAgICAgcmV0dXJuIHByb3BlcnR5RGVmaW5lQ29ycmVjdCAmJiBkZXNjLmNvbmZpZ3VyYWJsZSA9PT0gdHJ1ZSAmJiAhb2JqLmhhc093blByb3BlcnR5KCJwcm9wIik7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"ES5 Attributes - property ([[Get]] is a Function, [[Set]] is a Function, [[Enumerable]] is false, [[Configurable]] is true) is deletable","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-551.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTU1Mi5qcw0KICogQGRlc2NyaXB0aW9uIEVTNSBBdHRyaWJ1dGVzIC0gc3VjY2VzcyB0byB1cGRhdGUgW1tHZXRdXSBhdHRyaWJ1dGUgb2YgYWNjZXNzb3IgcHJvcGVydHkgKFtbR2V0XV0gaXMgYSBGdW5jdGlvbiwgW1tTZXRdXSBpcyBhIEZ1bmN0aW9uLCBbW0VudW1lcmFibGVdXSBpcyBmYWxzZSwgW1tDb25maWd1cmFibGVdXSBpcyB0cnVlKSB0byBkaWZmZXJlbnQgdmFsdWUNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgdmFyIGdldEZ1bmMgPSBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICByZXR1cm4gMTAwMTsNCiAgICAgICAgfTsNCg0KICAgICAgICB2YXIgdmVyaWZ5U2V0RnVuYyA9ICJkYXRhIjsNCiAgICAgICAgdmFyIHNldEZ1bmMgPSBmdW5jdGlvbiAodmFsdWUpIHsNCiAgICAgICAgICAgIHZlcmlmeVNldEZ1bmMgPSB2YWx1ZTsNCiAgICAgICAgfTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgIGdldDogZ2V0RnVuYywNCiAgICAgICAgICAgIHNldDogc2V0RnVuYywNCiAgICAgICAgICAgIGVudW1lcmFibGU6IGZhbHNlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciByZXN1bHQxID0gb2JqLnByb3AgPT09IDEwMDE7DQogICAgICAgIHZhciBkZXNjMSA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcCIpOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgZ2V0OiB1bmRlZmluZWQNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIHJlc3VsdDIgPSB0eXBlb2Ygb2JqLnByb3AgPT09ICJ1bmRlZmluZWQiOw0KICAgICAgICB2YXIgZGVzYzIgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3AiKTsNCg0KICAgICAgICByZXR1cm4gcmVzdWx0MSAmJiByZXN1bHQyICYmIGRlc2MxLmdldCA9PT0gZ2V0RnVuYyAmJiB0eXBlb2YgZGVzYzIuZ2V0ID09PSAidW5kZWZpbmVkIjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"ES5 Attributes - success to update [[Get]] attribute of accessor property ([[Get]] is a Function, [[Set]] is a Function, [[Enumerable]] is false, [[Configurable]] is true) to different value","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-552.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTU1My5qcw0KICogQGRlc2NyaXB0aW9uIEVTNSBBdHRyaWJ1dGVzIC0gc3VjY2VzcyB0byB1cGRhdGUgW1tTZXRdXSBhdHRyaWJ1dGUgb2YgYWNjZXNzb3IgcHJvcGVydHkgKFtbR2V0XV0gaXMgYSBGdW5jdGlvbiwgW1tTZXRdXSBpcyBhIEZ1bmN0aW9uLCBbW0VudW1lcmFibGVdXSBpcyBmYWxzZSwgW1tDb25maWd1cmFibGVdXSBpcyB0cnVlKSB0byBkaWZmZXJlbnQgdmFsdWUNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgdmFyIGdldEZ1bmMgPSBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICByZXR1cm4gMTAwMTsNCiAgICAgICAgfTsNCg0KICAgICAgICB2YXIgdmVyaWZ5U2V0RnVuYyA9ICJkYXRhIjsNCiAgICAgICAgdmFyIHNldEZ1bmMgPSBmdW5jdGlvbiAodmFsdWUpIHsNCiAgICAgICAgICAgIHZlcmlmeVNldEZ1bmMgPSB2YWx1ZTsNCiAgICAgICAgfTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgIGdldDogZ2V0RnVuYywNCiAgICAgICAgICAgIHNldDogc2V0RnVuYywNCiAgICAgICAgICAgIGVudW1lcmFibGU6IGZhbHNlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBkZXNjMSA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcCIpOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgc2V0OiB1bmRlZmluZWQNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIGRlc2MyID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wIik7DQoNCiAgICAgICAgcmV0dXJuIGRlc2MxLnNldCA9PT0gc2V0RnVuYyAmJiB0eXBlb2YgZGVzYzIuc2V0ID09PSAidW5kZWZpbmVkIjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"ES5 Attributes - success to update [[Set]] attribute of accessor property ([[Get]] is a Function, [[Set]] is a Function, [[Enumerable]] is false, [[Configurable]] is true) to different value","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-553.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTU1NC5qcw0KICogQGRlc2NyaXB0aW9uIEVTNSBBdHRyaWJ1dGVzIC0gc3VjY2VzcyB0byB1cGRhdGUgW1tFbnVtZXJhYmxlXV0gYXR0cmlidXRlIG9mIGFjY2Vzc29yIHByb3BlcnR5IChbW0dldF1dIGlzIGEgRnVuY3Rpb24sIFtbU2V0XV0gaXMgYSBGdW5jdGlvbiwgW1tFbnVtZXJhYmxlXV0gaXMgZmFsc2UsIFtbQ29uZmlndXJhYmxlXV0gaXMgdHJ1ZSkgdG8gZGlmZmVyZW50IHZhbHVlDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIHZhciBnZXRGdW5jID0gZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgcmV0dXJuIDEwMDE7DQogICAgICAgIH07DQoNCiAgICAgICAgdmFyIHZlcmlmeVNldEZ1bmMgPSAiZGF0YSI7DQogICAgICAgIHZhciBzZXRGdW5jID0gZnVuY3Rpb24gKHZhbHVlKSB7DQogICAgICAgICAgICB2ZXJpZnlTZXRGdW5jID0gdmFsdWU7DQogICAgICAgIH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICBnZXQ6IGdldEZ1bmMsDQogICAgICAgICAgICBzZXQ6IHNldEZ1bmMsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgcmVzdWx0MSA9IGZhbHNlOw0KICAgICAgICB2YXIgZGVzYzEgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3AiKTsNCiAgICAgICAgZm9yICh2YXIgcDEgaW4gb2JqKSB7DQogICAgICAgICAgICBpZiAocDEgPT09ICJwcm9wIikgew0KICAgICAgICAgICAgICAgIHJlc3VsdDEgPSB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KICAgICAgICB2YXIgcmVzdWx0MiA9IGZhbHNlOw0KICAgICAgICB2YXIgZGVzYzIgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3AiKTsNCiAgICAgICAgZm9yICh2YXIgcDIgaW4gb2JqKSB7DQogICAgICAgICAgICBpZiAocDIgPT09ICJwcm9wIikgew0KICAgICAgICAgICAgICAgIHJlc3VsdDIgPSB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgcmV0dXJuICFyZXN1bHQxICYmIHJlc3VsdDIgJiYgZGVzYzEuZW51bWVyYWJsZSA9PT0gZmFsc2UgJiYgZGVzYzIuZW51bWVyYWJsZSA9PT0gdHJ1ZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"ES5 Attributes - success to update [[Enumerable]] attribute of accessor property ([[Get]] is a Function, [[Set]] is a Function, [[Enumerable]] is false, [[Configurable]] is true) to different value","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-554.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTU1NS5qcw0KICogQGRlc2NyaXB0aW9uIEVTNSBBdHRyaWJ1dGVzIC0gc3VjY2VzcyB0byB1cGRhdGUgW1tDb25maWd1cmFibGVdXSBhdHRyaWJ1dGUgb2YgYWNjZXNzb3IgcHJvcGVydHkgKFtbR2V0XV0gaXMgYSBGdW5jdGlvbiwgW1tTZXRdXSBpcyBhIEZ1bmN0aW9uLCBbW0VudW1lcmFibGVdXSBpcyBmYWxzZSwgW1tDb25maWd1cmFibGVdXSBpcyB0cnVlKSB0byBkaWZmZXJlbnQgdmFsdWUNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgdmFyIGdldEZ1bmMgPSBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICByZXR1cm4gMTAwMTsNCiAgICAgICAgfTsNCg0KICAgICAgICB2YXIgdmVyaWZ5U2V0RnVuYyA9ICJkYXRhIjsNCiAgICAgICAgdmFyIHNldEZ1bmMgPSBmdW5jdGlvbiAodmFsdWUpIHsNCiAgICAgICAgICAgIHZlcmlmeVNldEZ1bmMgPSB2YWx1ZTsNCiAgICAgICAgfTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgIGdldDogZ2V0RnVuYywNCiAgICAgICAgICAgIHNldDogc2V0RnVuYywNCiAgICAgICAgICAgIGVudW1lcmFibGU6IGZhbHNlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBkZXNjMSA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcCIpOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICB9KTsNCiAgICAgICAgdmFyIGRlc2MyID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wIik7DQogICAgICAgIGRlbGV0ZSBvYmoucHJvcDsNCg0KICAgICAgICByZXR1cm4gZGVzYzEuY29uZmlndXJhYmxlID09PSB0cnVlICYmIGRlc2MyLmNvbmZpZ3VyYWJsZSA9PT0gZmFsc2UgJiYgb2JqLmhhc093blByb3BlcnR5KCJwcm9wIik7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"ES5 Attributes - success to update [[Configurable]] attribute of accessor property ([[Get]] is a Function, [[Set]] is a Function, [[Enumerable]] is false, [[Configurable]] is true) to different value","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-555.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTU1Ni5qcw0KICogQGRlc2NyaXB0aW9uIEVTNSBBdHRyaWJ1dGVzIC0gc3VjY2VzcyB0byB1cGRhdGUgdGhlIGFjY2Vzc29yIHByb3BlcnR5IChbW0dldF1dIGlzIGEgRnVuY3Rpb24sIFtbU2V0XV0gaXMgYSBGdW5jdGlvbiwgW1tFbnVtZXJhYmxlXV0gaXMgZmFsc2UsIFtbQ29uZmlndXJhYmxlXV0gaXMgdHJ1ZSkgdG8gYSBkYXRhIHByb3BlcnR5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIHZhciBnZXRGdW5jID0gZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgcmV0dXJuIDEwMDE7DQogICAgICAgIH07DQoNCiAgICAgICAgdmFyIHZlcmlmeVNldEZ1bmMgPSAiZGF0YSI7DQogICAgICAgIHZhciBzZXRGdW5jID0gZnVuY3Rpb24gKHZhbHVlKSB7DQogICAgICAgICAgICB2ZXJpZnlTZXRGdW5jID0gdmFsdWU7DQogICAgICAgIH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICBnZXQ6IGdldEZ1bmMsDQogICAgICAgICAgICBzZXQ6IHNldEZ1bmMsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgZGVzYzEgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3AiKTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgIHZhbHVlOiAxMDAxDQogICAgICAgIH0pOw0KICAgICAgICB2YXIgZGVzYzIgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3AiKTsNCg0KICAgICAgICByZXR1cm4gZGVzYzEuaGFzT3duUHJvcGVydHkoImdldCIpICYmIGRlc2MyLmhhc093blByb3BlcnR5KCJ2YWx1ZSIpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"ES5 Attributes - success to update the accessor property ([[Get]] is a Function, [[Set]] is a Function, [[Enumerable]] is false, [[Configurable]] is true) to a data property","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-556.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTU1Ny5qcw0KICogQGRlc2NyaXB0aW9uIEVTNSBBdHRyaWJ1dGVzIC0gW1tHZXRdXSBhdHRyaWJ1dGUgb2YgYWNjZXNzb3IgcHJvcGVydHkgKFtbR2V0XV0gaXMgYSBGdW5jdGlvbiwgW1tTZXRdXSBpcyBhIEZ1bmN0aW9uLCBbW0VudW1lcmFibGVdXSBpcyBmYWxzZSwgW1tDb25maWd1cmFibGVdXSBpcyBmYWxzZSkgaXMgdGhlIGV4cGVjdGVkIGZ1bmN0aW9uDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIHZhciBnZXRGdW5jID0gZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgcmV0dXJuIDEwMDE7DQogICAgICAgIH07DQoNCiAgICAgICAgdmFyIHZlcmlmeVNldEZ1bmMgPSAiZGF0YSI7DQogICAgICAgIHZhciBzZXRGdW5jID0gZnVuY3Rpb24gKHZhbHVlKSB7DQogICAgICAgICAgICB2ZXJpZnlTZXRGdW5jID0gdmFsdWU7DQogICAgICAgIH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICBnZXQ6IGdldEZ1bmMsDQogICAgICAgICAgICBzZXQ6IHNldEZ1bmMsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIHByb3BlcnR5RGVmaW5lQ29ycmVjdCA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KICAgICAgICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcCIpOw0KDQogICAgICAgIHJldHVybiBwcm9wZXJ0eURlZmluZUNvcnJlY3QgJiYgZGVzYy5nZXQgPT09IGdldEZ1bmMgJiYgb2JqLnByb3AgPT09IDEwMDE7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"ES5 Attributes - [[Get]] attribute of accessor property ([[Get]] is a Function, [[Set]] is a Function, [[Enumerable]] is false, [[Configurable]] is false) is the expected function","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-557.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTU1OC5qcw0KICogQGRlc2NyaXB0aW9uIEVTNSBBdHRyaWJ1dGVzIC0gW1tTZXRdXSBhdHRyaWJ1dGUgb2YgYWNjZXNzb3IgcHJvcGVydHkgKFtbR2V0XV0gaXMgYSBGdW5jdGlvbiwgW1tTZXRdXSBpcyBhIEZ1bmN0aW9uLCBbW0VudW1lcmFibGVdXSBpcyBmYWxzZSwgW1tDb25maWd1cmFibGVdXSBpcyBmYWxzZSkgaXMgdGhlIGV4cGVjdGVkIGZ1bmN0aW9uDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIHZhciBnZXRGdW5jID0gZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgcmV0dXJuIDEwMDE7DQogICAgICAgIH07DQoNCiAgICAgICAgdmFyIHZlcmlmeVNldEZ1bmMgPSAiZGF0YSI7DQogICAgICAgIHZhciBzZXRGdW5jID0gZnVuY3Rpb24gKHZhbHVlKSB7DQogICAgICAgICAgICB2ZXJpZnlTZXRGdW5jID0gdmFsdWU7DQogICAgICAgIH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICBnZXQ6IGdldEZ1bmMsDQogICAgICAgICAgICBzZXQ6IHNldEZ1bmMsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgfSk7DQoNCiAgICAgICAgb2JqLnByb3AgPSAib3ZlcnJpZGVEYXRhIjsNCiAgICAgICAgdmFyIHByb3BlcnR5RGVmaW5lQ29ycmVjdCA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KICAgICAgICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcCIpOw0KDQogICAgICAgIHJldHVybiBwcm9wZXJ0eURlZmluZUNvcnJlY3QgJiYgZGVzYy5zZXQgPT09IHNldEZ1bmMgJiYgdmVyaWZ5U2V0RnVuYyA9PT0gIm92ZXJyaWRlRGF0YSI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"ES5 Attributes - [[Set]] attribute of accessor property ([[Get]] is a Function, [[Set]] is a Function, [[Enumerable]] is false, [[Configurable]] is false) is the expected function","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-558.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTU1OS5qcw0KICogQGRlc2NyaXB0aW9uIEVTNSBBdHRyaWJ1dGVzIC0gcHJvcGVydHkgKFtbR2V0XV0gaXMgYSBGdW5jdGlvbiwgW1tTZXRdXSBpcyBhIEZ1bmN0aW9uLCBbW0VudW1lcmFibGVdXSBpcyBmYWxzZSwgW1tDb25maWd1cmFibGVdXSBpcyBmYWxzZSkgaXMgbm9uLWVudW1lcmFibGUNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgdmFyIGdldEZ1bmMgPSBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICByZXR1cm4gMTAwMTsNCiAgICAgICAgfTsNCg0KICAgICAgICB2YXIgdmVyaWZ5U2V0RnVuYyA9ICJkYXRhIjsNCiAgICAgICAgdmFyIHNldEZ1bmMgPSBmdW5jdGlvbiAodmFsdWUpIHsNCiAgICAgICAgICAgIHZlcmlmeVNldEZ1bmMgPSB2YWx1ZTsNCiAgICAgICAgfTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgIGdldDogZ2V0RnVuYywNCiAgICAgICAgICAgIHNldDogc2V0RnVuYywNCiAgICAgICAgICAgIGVudW1lcmFibGU6IGZhbHNlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgcHJvcGVydHlEZWZpbmVDb3JyZWN0ID0gb2JqLmhhc093blByb3BlcnR5KCJwcm9wIik7DQogICAgICAgIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wIik7DQoNCiAgICAgICAgZm9yICh2YXIgcCBpbiBvYmopIHsNCiAgICAgICAgICAgIGlmIChwID09PSAicHJvcCIpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICByZXR1cm4gcHJvcGVydHlEZWZpbmVDb3JyZWN0ICYmIGRlc2MuZW51bWVyYWJsZSA9PT0gZmFsc2U7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"ES5 Attributes - property ([[Get]] is a Function, [[Set]] is a Function, [[Enumerable]] is false, [[Configurable]] is false) is non-enumerable","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-559.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTU2LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnR5IC0gJ25hbWUnIHByb3BlcnR5IGRvZXNuJ3QgZXhpc3QgaW4gJ08nLCB0ZXN0IFtbQ29uZmlndXJhYmxlXV0gb2YgJ25hbWUnIHByb3BlcnR5IGlzIHNldCBhcyBmYWxzZSBpZiBpdCBpcyBhYnNlbnQgaW4gYWNjZXNzb3IgZGVzY3JpcHRvciAnZGVzYycgKDguMTIuOSBzdGVwIDQuYi5pKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgdmFyIHNldEZ1bmMgPSBmdW5jdGlvbiAodmFsdWUpIHsNCiAgICAgICAgICAgIG9iai5zZXRWZXJpZnlIZWxwUHJvcCA9IHZhbHVlOw0KICAgICAgICB9Ow0KICAgICAgICB2YXIgZ2V0RnVuYyA9IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgIHJldHVybiAxMDsNCiAgICAgICAgfTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcGVydHkiLCB7DQogICAgICAgICAgICBzZXQ6IHNldEZ1bmMsDQogICAgICAgICAgICBnZXQ6IGdldEZ1bmMsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KICAgICAgICByZXR1cm4gYWNjZXNzb3JQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KG9iaiwgInByb3BlcnR5IiwgZ2V0RnVuYywgc2V0RnVuYywgInNldFZlcmlmeUhlbHBQcm9wIiwgdHJ1ZSwgZmFsc2UpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - 'name' property doesn't exist in 'O', test [[Configurable]] of 'name' property is set as false if it is absent in accessor descriptor 'desc' (8.12.9 step 4.b.i)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-56.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTU2MC5qcw0KICogQGRlc2NyaXB0aW9uIEVTNSBBdHRyaWJ1dGVzIC0gcHJvcGVydHkgKFtbR2V0XV0gaXMgYSBGdW5jdGlvbiwgW1tTZXRdXSBpcyBhIEZ1bmN0aW9uLCBbW0VudW1lcmFibGVdXSBpcyBmYWxzZSwgW1tDb25maWd1cmFibGVdXSBpcyBmYWxzZSkgaXMgdW5kZWxldGFibGUNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgdmFyIGdldEZ1bmMgPSBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICByZXR1cm4gMTAwMTsNCiAgICAgICAgfTsNCg0KICAgICAgICB2YXIgdmVyaWZ5U2V0RnVuYyA9ICJkYXRhIjsNCiAgICAgICAgdmFyIHNldEZ1bmMgPSBmdW5jdGlvbiAodmFsdWUpIHsNCiAgICAgICAgICAgIHZlcmlmeVNldEZ1bmMgPSB2YWx1ZTsNCiAgICAgICAgfTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgIGdldDogZ2V0RnVuYywNCiAgICAgICAgICAgIHNldDogc2V0RnVuYywNCiAgICAgICAgICAgIGVudW1lcmFibGU6IGZhbHNlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgcHJvcGVydHlEZWZpbmVDb3JyZWN0ID0gb2JqLmhhc093blByb3BlcnR5KCJwcm9wIik7DQogICAgICAgIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wIik7DQoNCiAgICAgICAgZGVsZXRlIG9iai5wcm9wOw0KDQogICAgICAgIHJldHVybiBwcm9wZXJ0eURlZmluZUNvcnJlY3QgJiYgZGVzYy5jb25maWd1cmFibGUgPT09IGZhbHNlICYmIG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"ES5 Attributes - property ([[Get]] is a Function, [[Set]] is a Function, [[Enumerable]] is false, [[Configurable]] is false) is undeletable","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-560.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTU2MS5qcw0KICogQGRlc2NyaXB0aW9uIEVTNSBBdHRyaWJ1dGVzIC0gZmFpbCB0byB1cGRhdGUgW1tHZXRdXSBhdHRyaWJ1dGUgb2YgYWNjZXNzb3IgcHJvcGVydHkgKFtbR2V0XV0gaXMgYSBGdW5jdGlvbiwgW1tTZXRdXSBpcyBhIEZ1bmN0aW9uLCBbW0VudW1lcmFibGVdXSBpcyBmYWxzZSwgW1tDb25maWd1cmFibGVdXSBpcyBmYWxzZSkgdG8gZGlmZmVyZW50IHZhbHVlDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIHZhciBnZXRGdW5jID0gZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgcmV0dXJuIDEwMDE7DQogICAgICAgIH07DQoNCiAgICAgICAgdmFyIHZlcmlmeVNldEZ1bmMgPSAiZGF0YSI7DQogICAgICAgIHZhciBzZXRGdW5jID0gZnVuY3Rpb24gKHZhbHVlKSB7DQogICAgICAgICAgICB2ZXJpZnlTZXRGdW5jID0gdmFsdWU7DQogICAgICAgIH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICBnZXQ6IGdldEZ1bmMsDQogICAgICAgICAgICBzZXQ6IHNldEZ1bmMsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIHJlc3VsdDEgPSBvYmoucHJvcCA9PT0gMTAwMTsNCiAgICAgICAgdmFyIGRlc2MxID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wIik7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgICAgIGdldDogdW5kZWZpbmVkDQogICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICB2YXIgcmVzdWx0MiA9IG9iai5wcm9wID09PSAxMDAxOw0KICAgICAgICAgICAgdmFyIGRlc2MyID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wIik7DQoNCiAgICAgICAgICAgIHJldHVybiByZXN1bHQxICYmIHJlc3VsdDIgJiYgZGVzYzEuZ2V0ID09PSBnZXRGdW5jICYmIGRlc2MyLmdldCA9PT0gZ2V0RnVuYyAmJiBlIGluc3RhbmNlb2YgVHlwZUVycm9yOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"ES5 Attributes - fail to update [[Get]] attribute of accessor property ([[Get]] is a Function, [[Set]] is a Function, [[Enumerable]] is false, [[Configurable]] is false) to different value","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-561.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTU2Mi5qcw0KICogQGRlc2NyaXB0aW9uIEVTNSBBdHRyaWJ1dGVzIC0gZmFpbCB0byB1cGRhdGUgW1tTZXRdXSBhdHRyaWJ1dGUgb2YgYWNjZXNzb3IgcHJvcGVydHkgKFtbR2V0XV0gaXMgYSBGdW5jdGlvbiwgW1tTZXRdXSBpcyBhIEZ1bmN0aW9uLCBbW0VudW1lcmFibGVdXSBpcyBmYWxzZSwgW1tDb25maWd1cmFibGVdXSBpcyBmYWxzZSkgdG8gZGlmZmVyZW50IHZhbHVlDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIHZhciBnZXRGdW5jID0gZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgcmV0dXJuIDEwMDE7DQogICAgICAgIH07DQoNCiAgICAgICAgdmFyIHZlcmlmeVNldEZ1bmMgPSAiZGF0YSI7DQogICAgICAgIHZhciBzZXRGdW5jID0gZnVuY3Rpb24gKHZhbHVlKSB7DQogICAgICAgICAgICB2ZXJpZnlTZXRGdW5jID0gdmFsdWU7DQogICAgICAgIH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICBnZXQ6IGdldEZ1bmMsDQogICAgICAgICAgICBzZXQ6IHNldEZ1bmMsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIGRlc2MxID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wIik7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgICAgIHNldDogdW5kZWZpbmVkDQogICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICB2YXIgZGVzYzIgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3AiKTsNCg0KICAgICAgICAgICAgcmV0dXJuIGRlc2MxLnNldCA9PT0gc2V0RnVuYyAmJiBkZXNjMi5zZXQgPT09IHNldEZ1bmMgJiYgZSBpbnN0YW5jZW9mIFR5cGVFcnJvcjsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"ES5 Attributes - fail to update [[Set]] attribute of accessor property ([[Get]] is a Function, [[Set]] is a Function, [[Enumerable]] is false, [[Configurable]] is false) to different value","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-562.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTU2My5qcw0KICogQGRlc2NyaXB0aW9uIEVTNSBBdHRyaWJ1dGVzIC0gZmFpbCB0byB1cGRhdGUgW1tFbnVtZXJhYmxlXV0gYXR0cmlidXRlIG9mIGFjY2Vzc29yIHByb3BlcnR5IChbW0dldF1dIGlzIGEgRnVuY3Rpb24sIFtbU2V0XV0gaXMgYSBGdW5jdGlvbiwgW1tFbnVtZXJhYmxlXV0gaXMgZmFsc2UsIFtbQ29uZmlndXJhYmxlXV0gaXMgZmFsc2UpIHRvIGRpZmZlcmVudCB2YWx1ZQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICB2YXIgZ2V0RnVuYyA9IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgIHJldHVybiAxMDAxOw0KICAgICAgICB9Ow0KDQogICAgICAgIHZhciB2ZXJpZnlTZXRGdW5jID0gImRhdGEiOw0KICAgICAgICB2YXIgc2V0RnVuYyA9IGZ1bmN0aW9uICh2YWx1ZSkgew0KICAgICAgICAgICAgdmVyaWZ5U2V0RnVuYyA9IHZhbHVlOw0KICAgICAgICB9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgZ2V0OiBnZXRGdW5jLA0KICAgICAgICAgICAgc2V0OiBzZXRGdW5jLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogZmFsc2UsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgIH0pOw0KICAgICAgICB2YXIgcmVzdWx0MSA9IGZhbHNlOw0KICAgICAgICB2YXIgZGVzYzEgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3AiKTsNCiAgICAgICAgZm9yICh2YXIgcDEgaW4gb2JqKSB7DQogICAgICAgICAgICBpZiAocDEgPT09ICJwcm9wIikgew0KICAgICAgICAgICAgICAgIHJlc3VsdDEgPSB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUNCiAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHZhciByZXN1bHQyID0gZmFsc2U7DQogICAgICAgICAgICB2YXIgZGVzYzIgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3AiKTsNCiAgICAgICAgICAgIGZvciAodmFyIHAyIGluIG9iaikgew0KICAgICAgICAgICAgICAgIGlmIChwMiA9PT0gInByb3AiKSB7DQogICAgICAgICAgICAgICAgICAgIHJlc3VsdDIgPSB0cnVlOw0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgcmV0dXJuICFyZXN1bHQxICYmICFyZXN1bHQyICYmIGRlc2MxLmVudW1lcmFibGUgPT09IGZhbHNlICYmIGRlc2MyLmVudW1lcmFibGUgPT09IGZhbHNlICYmIGUgaW5zdGFuY2VvZiBUeXBlRXJyb3I7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"ES5 Attributes - fail to update [[Enumerable]] attribute of accessor property ([[Get]] is a Function, [[Set]] is a Function, [[Enumerable]] is false, [[Configurable]] is false) to different value","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-563.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTU2NC5qcw0KICogQGRlc2NyaXB0aW9uIEVTNSBBdHRyaWJ1dGVzIC0gZmFpbCB0byB1cGRhdGUgW1tDb25maWd1cmFibGVdXSBhdHRyaWJ1dGUgb2YgYWNjZXNzb3IgcHJvcGVydHkgKFtbR2V0XV0gaXMgYSBGdW5jdGlvbiwgW1tTZXRdXSBpcyBhIEZ1bmN0aW9uLCBbW0VudW1lcmFibGVdXSBpcyBmYWxzZSwgW1tDb25maWd1cmFibGVdXSBpcyBmYWxzZSkgdG8gZGlmZmVyZW50IHZhbHVlDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIHZhciBnZXRGdW5jID0gZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgcmV0dXJuIDEwMDE7DQogICAgICAgIH07DQoNCiAgICAgICAgdmFyIHZlcmlmeVNldEZ1bmMgPSAiZGF0YSI7DQogICAgICAgIHZhciBzZXRGdW5jID0gZnVuY3Rpb24gKHZhbHVlKSB7DQogICAgICAgICAgICB2ZXJpZnlTZXRGdW5jID0gdmFsdWU7DQogICAgICAgIH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICBnZXQ6IGdldEZ1bmMsDQogICAgICAgICAgICBzZXQ6IHNldEZ1bmMsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgfSk7DQogICAgICAgIHZhciBkZXNjMSA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcCIpOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHZhciBkZXNjMiA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcCIpOw0KICAgICAgICAgICAgZGVsZXRlIG9iai5wcm9wOw0KDQogICAgICAgICAgICByZXR1cm4gZGVzYzEuY29uZmlndXJhYmxlID09PSBmYWxzZSAmJiBkZXNjMi5jb25maWd1cmFibGUgPT09IGZhbHNlICYmIG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpICYmIGUgaW5zdGFuY2VvZiBUeXBlRXJyb3I7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"ES5 Attributes - fail to update [[Configurable]] attribute of accessor property ([[Get]] is a Function, [[Set]] is a Function, [[Enumerable]] is false, [[Configurable]] is false) to different value","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-564.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTU2NS5qcw0KICogQGRlc2NyaXB0aW9uIEVTNSBBdHRyaWJ1dGVzIC0gZmFpbCB0byB1cGRhdGUgdGhlIGFjY2Vzc29yIHByb3BlcnR5IChbW0dldF1dIGlzIGEgRnVuY3Rpb24sIFtbU2V0XV0gaXMgYSBGdW5jdGlvbiwgW1tFbnVtZXJhYmxlXV0gaXMgZmFsc2UsIFtbQ29uZmlndXJhYmxlXV0gaXMgZmFsc2UpIHRvIGEgZGF0YSBwcm9wZXJ0eQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICB2YXIgZ2V0RnVuYyA9IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgIHJldHVybiAxMDAxOw0KICAgICAgICB9Ow0KDQogICAgICAgIHZhciB2ZXJpZnlTZXRGdW5jID0gImRhdGEiOw0KICAgICAgICB2YXIgc2V0RnVuYyA9IGZ1bmN0aW9uICh2YWx1ZSkgew0KICAgICAgICAgICAgdmVyaWZ5U2V0RnVuYyA9IHZhbHVlOw0KICAgICAgICB9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgZ2V0OiBnZXRGdW5jLA0KICAgICAgICAgICAgc2V0OiBzZXRGdW5jLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogZmFsc2UsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgIH0pOw0KICAgICAgICB2YXIgZGVzYzEgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3AiKTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICAgICAgdmFsdWU6IDEwMDENCiAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHZhciBkZXNjMiA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcCIpOw0KDQogICAgICAgICAgICByZXR1cm4gZGVzYzEuaGFzT3duUHJvcGVydHkoImdldCIpICYmICFkZXNjMi5oYXNPd25Qcm9wZXJ0eSgidmFsdWUiKSAmJiBlIGluc3RhbmNlb2YgVHlwZUVycm9yOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"ES5 Attributes - fail to update the accessor property ([[Get]] is a Function, [[Set]] is a Function, [[Enumerable]] is false, [[Configurable]] is false) to a data property","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-565.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTU2Ni5qcw0KICogQGRlc2NyaXB0aW9uIEVTNSBBdHRyaWJ1dGVzIC0gW1tHZXRdXSBhdHRyaWJ1dGUgaXMgYSBmdW5jdGlvbiB3aGljaCBoYXMgemVybyBhcmd1bWVudA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgdmFyIGdldEZ1bmMgPSBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICByZXR1cm4gMjAxMDsNCiAgICAgICAgfTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgIGdldDogZ2V0RnVuYw0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcCIpOw0KDQogICAgICAgIHJldHVybiBvYmouaGFzT3duUHJvcGVydHkoInByb3AiKSAmJiBvYmoucHJvcCA9PT0gMjAxMCAmJiBkZXNjLmdldCA9PT0gZ2V0RnVuYzsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"ES5 Attributes - [[Get]] attribute is a function which has zero argument","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-566.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTU2Ny5qcw0KICogQGRlc2NyaXB0aW9uIEVTNSBBdHRyaWJ1dGVzIC0gW1tHZXRdXSBhdHRyaWJ1dGUgaXMgYSBmdW5jdGlvbiB3aGljaCBoYXMgb25lIGFyZ3VtZW50DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICB2YXIgZ2V0RnVuYyA9IGZ1bmN0aW9uIChhcmcxKSB7DQogICAgICAgICAgICByZXR1cm4gMjAxMDsNCiAgICAgICAgfTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgIGdldDogZ2V0RnVuYw0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcCIpOw0KDQogICAgICAgIHJldHVybiBvYmouaGFzT3duUHJvcGVydHkoInByb3AiKSAmJiBvYmoucHJvcCA9PT0gMjAxMCAmJiBkZXNjLmdldCA9PT0gZ2V0RnVuYzsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"ES5 Attributes - [[Get]] attribute is a function which has one argument","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-567.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTU2OC5qcw0KICogQGRlc2NyaXB0aW9uIEVTNSBBdHRyaWJ1dGVzIC0gW1tHZXRdXSBhdHRyaWJ1dGUgaXMgYSBmdW5jdGlvbiB3aGljaCBoYXMgdHdvIGFyZ3VtZW50cw0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgdmFyIGdldEZ1bmMgPSBmdW5jdGlvbiAoYXJnMSwgYXJnMikgew0KICAgICAgICAgICAgcmV0dXJuIDIwMTA7DQogICAgICAgIH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICBnZXQ6IGdldEZ1bmMNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3AiKTsNCg0KICAgICAgICByZXR1cm4gb2JqLmhhc093blByb3BlcnR5KCJwcm9wIikgJiYgb2JqLnByb3AgPT09IDIwMTAgJiYgZGVzYy5nZXQgPT09IGdldEZ1bmM7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"ES5 Attributes - [[Get]] attribute is a function which has two arguments","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-568.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTU2OS5qcw0KICogQGRlc2NyaXB0aW9uIEVTNSBBdHRyaWJ1dGVzIC0gW1tHZXRdXSBhdHRyaWJ1dGUgaXMgYSBmdW5jdGlvbiB3aGljaCBjb250YWlucyBnbG9iYWwgdmFyaWFibGUNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIHZhciBnbG9iYWxWYXJpYWJsZSA9IDIwOw0KICAgICAgICB2YXIgZ2V0RnVuYyA9IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgIGdsb2JhbFZhcmlhYmxlID0gMjAxMDsNCiAgICAgICAgICAgIHJldHVybiBnbG9iYWxWYXJpYWJsZTsNCiAgICAgICAgfTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgIGdldDogZ2V0RnVuYw0KICAgICAgICB9KTsNCiAgICAgICAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3AiKTsNCg0KICAgICAgICByZXR1cm4gb2JqLmhhc093blByb3BlcnR5KCJwcm9wIikgJiYgZGVzYy5nZXQgPT09IGdldEZ1bmMgJiYgb2JqLnByb3AgPT09IDIwMTAgJiYgZ2xvYmFsVmFyaWFibGUgPT09IDIwMTA7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"ES5 Attributes - [[Get]] attribute is a function which contains global variable","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-569.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTU3LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnR5IC0gJ2Rlc2MnIGlzIGFjY2Vzc29yIGRlc2NyaXB0b3IsIHRlc3QgdXBkYXRpbmcgYWxsIGF0dHJpYnV0ZSB2YWx1ZXMgb2YgJ25hbWUnICg4LjEyLjkgc3RlcCA0LmIuaSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIHZhciBzZXRGdW5jID0gZnVuY3Rpb24gKHZhbHVlKSB7DQogICAgICAgICAgICBvYmouc2V0VmVyaWZ5SGVscFByb3AgPSB2YWx1ZTsNCiAgICAgICAgfTsNCiAgICAgICAgdmFyIGdldEZ1bmMgPSBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICByZXR1cm4gMTQ7DQogICAgICAgIH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3BlcnR5Iiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIDExOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIHNldDogZnVuY3Rpb24gKHZhbHVlKSB7IH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wZXJ0eSIsIHsNCiAgICAgICAgICAgIGdldDogZ2V0RnVuYywNCiAgICAgICAgICAgIHNldDogc2V0RnVuYywNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZQ0KICAgICAgICB9KTsNCg0KICAgICAgICByZXR1cm4gYWNjZXNzb3JQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KG9iaiwgInByb3BlcnR5IiwgZ2V0RnVuYywgc2V0RnVuYywgInNldFZlcmlmeUhlbHBQcm9wIiwgZmFsc2UsIGZhbHNlKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'desc' is accessor descriptor, test updating all attribute values of 'name' (8.12.9 step 4.b.i)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-57.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTU3MC5qcw0KICogQGRlc2NyaXB0aW9uIEVTNSBBdHRyaWJ1dGVzIC0gW1tHZXRdXSBhdHRyaWJ1dGUgaXMgYSBmdW5jdGlvbiB3aGljaCBkb2Vzbid0IGNvbnRhaW5zIHJldHVybiBzdGF0ZW1lbnQNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIHZhciB2ZXJpZnlFeGVjdXRlID0gZmFsc2U7DQogICAgICAgIHZhciBnZXRGdW5jID0gZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgdmVyaWZ5RXhlY3V0ZSA9IHRydWU7DQogICAgICAgIH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICBnZXQ6IGdldEZ1bmMNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3AiKTsNCg0KICAgICAgICByZXR1cm4gb2JqLmhhc093blByb3BlcnR5KCJwcm9wIikgJiYgZGVzYy5nZXQgPT09IGdldEZ1bmMgJiYgdHlwZW9mIG9iai5wcm9wID09PSAidW5kZWZpbmVkIiAmJiB2ZXJpZnlFeGVjdXRlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"ES5 Attributes - [[Get]] attribute is a function which doesn't contains return statement","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-570.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTU3MS5qcw0KICogQGRlc2NyaXB0aW9uIEVTNSBBdHRyaWJ1dGVzIC0gW1tHZXRdXSBhdHRyaWJ1dGUgaXMgYSBmdW5jdGlvbiB3aGljaCBpbnZvbHZlcyAndGhpcycgb2JqZWN0IGludG8gc3RhdGVtZW50KHMpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHsNCiAgICAgICAgICAgIGxlbjogMjAxMA0KICAgICAgICB9Ow0KICAgICAgICB2YXIgZ2V0RnVuYyA9IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgIHJldHVybiB0aGlzOw0KICAgICAgICB9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgZ2V0OiBnZXRGdW5jDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wIik7DQoNCiAgICAgICAgcmV0dXJuIG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpICYmIG9iai5wcm9wID09PSBvYmogJiYgZGVzYy5nZXQgPT09IGdldEZ1bmM7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"ES5 Attributes - [[Get]] attribute is a function which involves 'this' object into statement(s)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-571.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTU3Mi5qcw0KICogQGRlc2NyaXB0aW9uIEVTNSBBdHRyaWJ1dGVzIC0gW1tTZXRdXSBhdHRyaWJ1dGUgaXMgYSBmdW5jdGlvbiB3aGljaCBoYXMgemVybyBhcmd1bWVudA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICB2YXIgc2V0RnVuYyA9IGZ1bmN0aW9uICgpIHsgfTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgIHNldDogc2V0RnVuYw0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcCIpOw0KDQogICAgICAgIHJldHVybiBvYmouaGFzT3duUHJvcGVydHkoInByb3AiKSAmJiBkZXNjLnNldCA9PT0gc2V0RnVuYzsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"ES5 Attributes - [[Set]] attribute is a function which has zero argument","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-572.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTU3My5qcw0KICogQGRlc2NyaXB0aW9uIEVTNSBBdHRyaWJ1dGVzIC0gW1tTZXRdXSBhdHRyaWJ1dGUgaXMgYSBmdW5jdGlvbiB3aGljaCBoYXMgb25lIGFyZ3VtZW50DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIHZhciB2ZXJpZnlTZXRGdW5jID0gMjA7DQogICAgICAgIHZhciBzZXRGdW5jID0gZnVuY3Rpb24gKHZhbHVlKSB7DQogICAgICAgICAgICB2ZXJpZnlTZXRGdW5jID0gdmFsdWU7DQogICAgICAgIH07DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgc2V0OiBzZXRGdW5jDQogICAgICAgIH0pOw0KICAgICAgICBvYmoucHJvcCA9IDIwMTA7DQogICAgICAgIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wIik7DQoNCiAgICAgICAgcmV0dXJuIG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpICYmIGRlc2Muc2V0ID09PSBzZXRGdW5jICYmIHZlcmlmeVNldEZ1bmMgPT09IDIwMTA7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"ES5 Attributes - [[Set]] attribute is a function which has one argument","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-573.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTU3NC5qcw0KICogQGRlc2NyaXB0aW9uIEVTNSBBdHRyaWJ1dGVzIC0gW1tTZXRdXSBhdHRyaWJ1dGUgaXMgYSBmdW5jdGlvbiB3aGljaCBoYXMgdHdvIGFyZ3VtZW50cw0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgdmFyIGZpcnN0QXJnID0gMTI7DQogICAgICAgIHZhciBzZWNvbmRBcmcgPSAxMjsNCg0KICAgICAgICB2YXIgc2V0RnVuYyA9IGZ1bmN0aW9uIChhLCBiKSB7DQogICAgICAgICAgICBmaXJzdEFyZyA9IGE7DQogICAgICAgICAgICBzZWNvbmRBcmcgPSBiOw0KICAgICAgICB9Ow0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgIHNldDogc2V0RnVuYw0KICAgICAgICB9KTsNCiAgICAgICAgb2JqLnByb3AgPSAxMDA7DQogICAgICAgIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wIik7DQoNCiAgICAgICAgcmV0dXJuIG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpICYmIGRlc2Muc2V0ID09PSBzZXRGdW5jICYmIGZpcnN0QXJnID09PSAxMDAgJiYgdHlwZW9mIHNlY29uZEFyZyA9PT0gInVuZGVmaW5lZCI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"ES5 Attributes - [[Set]] attribute is a function which has two arguments","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-574.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTU3NS5qcw0KICogQGRlc2NyaXB0aW9uIEVTNSBBdHRyaWJ1dGVzIC0gW1tTZXRdXSBhdHRyaWJ1dGUgaXMgYSBmdW5jdGlvbiB3aGljaCBjb250YWlucyBnbG9iYWwgdmFyaWFibGUNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIHZhciBnbG9iYWxWYXJpYWJsZSA9IDIwOw0KICAgICAgICB2YXIgc2V0RnVuYyA9IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgIGdsb2JhbFZhcmlhYmxlID0gMjAxMDsNCiAgICAgICAgfTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgIHNldDogc2V0RnVuYw0KICAgICAgICB9KTsNCiAgICAgICAgb2JqLnByb3AgPSAxMDsNCiAgICAgICAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3AiKTsNCg0KICAgICAgICByZXR1cm4gb2JqLmhhc093blByb3BlcnR5KCJwcm9wIikgJiYgZGVzYy5zZXQgPT09IHNldEZ1bmMgJiYgZ2xvYmFsVmFyaWFibGUgPT09IDIwMTA7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"ES5 Attributes - [[Set]] attribute is a function which contains global variable","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-575.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTU3Ni5qcw0KICogQGRlc2NyaXB0aW9uIEVTNSBBdHRyaWJ1dGVzIC0gW1tTZXRdXSBhdHRyaWJ1dGUgaXMgYSBmdW5jdGlvbiB3aGljaCBjb250YWlucyByZXR1cm4gc3RhdGVtZW50DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIHZhciBzZXRGdW5jID0gZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgcmV0dXJuIDIwMTA7DQogICAgICAgIH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICBzZXQ6IHNldEZ1bmMNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3AiKTsNCg0KICAgICAgICByZXR1cm4gb2JqLmhhc093blByb3BlcnR5KCJwcm9wIikgJiYgZGVzYy5zZXQgPT09IHNldEZ1bmM7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"ES5 Attributes - [[Set]] attribute is a function which contains return statement","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-576.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTU3Ny5qcw0KICogQGRlc2NyaXB0aW9uIEVTNSBBdHRyaWJ1dGVzIC0gW1tTZXRdXSBhdHRyaWJ1dGUgaXMgYSBmdW5jdGlvbiB3aGljaCBpbnZvbHZlcyAndGhpcycgb2JqZWN0IGludG8gc3RhdGVtZW50KHMpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIHZhciBzZXRGdW5jID0gZnVuY3Rpb24gKHZhbHVlKSB7DQogICAgICAgICAgICB0aGlzLmxlbiA9IHZhbHVlOw0KICAgICAgICB9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgc2V0OiBzZXRGdW5jDQogICAgICAgIH0pOw0KICAgICAgICBvYmoucHJvcCA9IDIwMTA7DQoNCiAgICAgICAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3AiKTsNCg0KICAgICAgICByZXR1cm4gb2JqLmhhc093blByb3BlcnR5KCJwcm9wIikgJiYgZGVzYy5zZXQgPT09IHNldEZ1bmMgJiYgb2JqLmxlbiA9PT0gMjAxMDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"ES5 Attributes - [[Set]] attribute is a function which involves 'this' object into statement(s)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-577.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTU3OC5qcw0KICogQGRlc2NyaXB0aW9uIEVTNSBBdHRyaWJ1dGVzIC0gW1tHZXRdXSBmaWVsZCBvZiBpbmhlcml0ZWQgcHJvcGVydHkgb2YgW1tQcm90b3R5cGVdXSBpbnRlcm5hbCBwcm9wZXJ0eSBpcyBjb3JyZWN0IChTdHJpbmcgaW5zdGFuY2UpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIGRhdGEgPSAiZGF0YSI7DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoU3RyaW5nLnByb3RvdHlwZSwgInByb3AiLCB7DQogICAgICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgIHJldHVybiBkYXRhOw0KICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgc2V0OiBmdW5jdGlvbiAodmFsdWUpIHsNCiAgICAgICAgICAgICAgICAgICAgZGF0YSA9IHZhbHVlOw0KICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgdmFyIHN0ck9iaiA9IG5ldyBTdHJpbmcoKTsNCg0KICAgICAgICAgICAgcmV0dXJuICFzdHJPYmouaGFzT3duUHJvcGVydHkoInByb3AiKSAmJiBzdHJPYmoucHJvcCA9PT0gImRhdGEiOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIFN0cmluZy5wcm90b3R5cGUucHJvcDsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"ES5 Attributes - [[Get]] field of inherited property of [[Prototype]] internal property is correct (String instance)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-578.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTU3OS5qcw0KICogQGRlc2NyaXB0aW9uIEVTNSBBdHRyaWJ1dGVzIC0gU3VjY2VzcyB0byBhZGQgcHJvcGVydHkgaW50byBvYmplY3QgKEFycmF5IGluc3RhbmNlKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBkYXRhID0gImRhdGEiOw0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KEFycmF5LnByb3RvdHlwZSwgInByb3AiLCB7DQogICAgICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgIHJldHVybiBkYXRhOw0KICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgc2V0OiBmdW5jdGlvbiAodmFsdWUpIHsNCiAgICAgICAgICAgICAgICAgICAgZGF0YSA9IHZhbHVlOw0KICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgdmFyIGFyck9iaiA9IFtdOw0KICAgICAgICAgICAgYXJyT2JqLnByb3AgPSAibXlPd25Qcm9wZXJ0eSI7DQoNCiAgICAgICAgICAgIHJldHVybiAhYXJyT2JqLmhhc093blByb3BlcnR5KCJwcm9wIikgJiYgYXJyT2JqLnByb3AgPT09ICJteU93blByb3BlcnR5IiAmJiBkYXRhID09PSAibXlPd25Qcm9wZXJ0eSI7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgQXJyYXkucHJvdG90eXBlLnByb3A7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"ES5 Attributes - Success to add property into object (Array instance)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-579.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTU4LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnR5IC0gJ25hbWUnIGlzIGRhdGEgZGVzY3JpcHRvciBhbmQgZXZlcnkgZmllbGRzIGluICdkZXNjJyBpcyBhYnNlbnQgKDguMTIuOSBzdGVwIDUpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgb2JqLmZvbyA9IDEwMTsgLy8gZGVmYXVsdCB2YWx1ZSBvZiBhdHRyaWJ1dGVzOiB3cml0YWJsZTogdHJ1ZSwgY29uZmlndXJhYmxlOiB0cnVlLCBlbnVtZXJhYmxlOiB0cnVlDQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgImZvbyIsIHt9KTsNCiAgICAgICAgcmV0dXJuIGRhdGFQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KG9iaiwgImZvbyIsIDEwMSwgdHJ1ZSwgdHJ1ZSwgdHJ1ZSk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - 'name' is data descriptor and every fields in 'desc' is absent (8.12.9 step 5)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-58.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTU4MC5qcw0KICogQGRlc2NyaXB0aW9uIEVTNSBBdHRyaWJ1dGVzIC0gSW5oZXJpdGVkIHByb3BlcnR5IGlzIGVudW1lcmFibGUgKEJvb2xlYW4gaW5zdGFuY2UpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIGRhdGEgPSAiZGF0YSI7DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoQm9vbGVhbi5wcm90b3R5cGUsICJwcm9wIiwgew0KICAgICAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gZGF0YTsNCiAgICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAgIHNldDogZnVuY3Rpb24gKHZhbHVlKSB7DQogICAgICAgICAgICAgICAgICAgIGRhdGEgPSB2YWx1ZTsNCiAgICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIHZhciBib29sT2JqID0gbmV3IEJvb2xlYW4oKTsNCiAgICAgICAgICAgIHZhciB2ZXJpZnlFbnVtZXJhYmxlID0gZmFsc2U7DQogICAgICAgICAgICBmb3IgKHZhciBwIGluIGJvb2xPYmopIHsNCiAgICAgICAgICAgICAgICBpZihwID09PSAicHJvcCIpIHsNCiAgICAgICAgICAgICAgICAgICAgdmVyaWZ5RW51bWVyYWJsZSA9IHRydWU7DQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICByZXR1cm4gIWJvb2xPYmouaGFzT3duUHJvcGVydHkoInByb3AiKSAmJiB2ZXJpZnlFbnVtZXJhYmxlOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIEJvb2xlYW4ucHJvdG90eXBlLnByb3A7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"ES5 Attributes - Inherited property is enumerable (Boolean instance)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-580.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTU4MS5qcw0KICogQGRlc2NyaXB0aW9uIEVTNSBBdHRyaWJ1dGVzIC0gRmFpbCB0byBhZGQgcHJvcGVydHkgaW50byBvYmplY3QgKE51bWJlciBpbnN0YW5jZSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgZGF0YSA9ICJkYXRhIjsNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShOdW1iZXIucHJvdG90eXBlLCAicHJvcCIsIHsNCiAgICAgICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGRhdGE7DQogICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgdmFyIG51bU9iaiA9IG5ldyBOdW1iZXIoKTsNCiAgICAgICAgICAgIG51bU9iai5wcm9wID0gIm15T3duUHJvcGVydHkiOw0KDQogICAgICAgICAgICByZXR1cm4gIW51bU9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpICYmIG51bU9iai5wcm9wID09PSAiZGF0YSIgJiYgZGF0YSA9PT0gImRhdGEiOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIE51bWJlci5wcm90b3R5cGUucHJvcDsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"ES5 Attributes - Fail to add property into object (Number instance)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-581.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTU4Mi5qcw0KICogQGRlc2NyaXB0aW9uIEVTNSBBdHRyaWJ1dGVzIC0gSW5oZXJpdGVkIHByb3BlcnR5IGlzIG5vbi1lbnVtZXJhYmxlIChGdW5jdGlvbiBpbnN0YW5jZSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgZGF0YSA9ICJkYXRhIjsNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShGdW5jdGlvbi5wcm90b3R5cGUsICJwcm9wIiwgew0KICAgICAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gZGF0YTsNCiAgICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAgIGVudW1lcmFibGU6IGZhbHNlLA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICB2YXIgZnVuT2JqID0gZnVuY3Rpb24gKCkgeyB9Ow0KICAgICAgICAgICAgdmFyIHZlcmlmeUVudW1lcmFibGUgPSBmYWxzZTsNCiAgICAgICAgICAgIGZvciAodmFyIHAgaW4gZnVuT2JqKSB7DQogICAgICAgICAgICAgICAgaWYgKHAgPT09ICJwcm9wIikgew0KICAgICAgICAgICAgICAgICAgICB2ZXJpZnlFbnVtZXJhYmxlID0gdHJ1ZTsNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9DQoNCiAgICAgICAgICAgIHJldHVybiAhZnVuT2JqLmhhc093blByb3BlcnR5KCJwcm9wIikgJiYgIXZlcmlmeUVudW1lcmFibGU7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgRnVuY3Rpb24ucHJvdG90eXBlLnByb3A7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"ES5 Attributes - Inherited property is non-enumerable (Function instance)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-582.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTU4My5qcw0KICogQGRlc2NyaXB0aW9uIEVTNSBBdHRyaWJ1dGVzIC0gW1tHZXRdXSBmaWVsZCBvZiBpbmhlcml0ZWQgcHJvcGVydHkgb2YgW1tQcm90b3R5cGVdXSBpbnRlcm5hbCBwcm9wZXJ0eSBpcyBjb3JyZWN0IChFcnJvciBJbnN0YW5jZSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgZGF0YSA9ICJkYXRhIjsNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShFcnJvci5wcm90b3R5cGUsICJwcm9wIiwgew0KICAgICAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gZGF0YTsNCiAgICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAgIHNldDogZnVuY3Rpb24gKHZhbHVlKSB7DQogICAgICAgICAgICAgICAgICAgIGRhdGEgPSB2YWx1ZTsNCiAgICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIHZhciBlcnJPYmogPSBuZXcgRXJyb3IoKTsNCg0KICAgICAgICAgICAgcmV0dXJuICFlcnJPYmouaGFzT3duUHJvcGVydHkoInByb3AiKSAmJiBlcnJPYmoucHJvcCA9PT0gImRhdGEiOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIEVycm9yLnByb3RvdHlwZS5wcm9wOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"ES5 Attributes - [[Get]] field of inherited property of [[Prototype]] internal property is correct (Error Instance)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-583.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTU4NC5qcw0KICogQGRlc2NyaXB0aW9uIEVTNSBBdHRyaWJ1dGVzIC0gRmFpbGVkIHRvIGFkZCBwcm9wZXJ0eSBpbnRvIG9iamVjdCAoRGF0ZSBpbnN0YW5jZSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgZGF0YSA9ICJkYXRhIjsNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShEYXRlLnByb3RvdHlwZSwgInByb3AiLCB7DQogICAgICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgIHJldHVybiBkYXRhOw0KICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgc2V0OiBmdW5jdGlvbiAodmFsdWUpIHsNCiAgICAgICAgICAgICAgICAgICAgZGF0YSA9IHZhbHVlOw0KICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgdmFyIGRhdGVPYmogPSBuZXcgRGF0ZSgpOw0KICAgICAgICAgICAgZGF0ZU9iai5wcm9wID0gIm15T3duUHJvcGVydHkiOw0KDQogICAgICAgICAgICByZXR1cm4gIWRhdGVPYmouaGFzT3duUHJvcGVydHkoInByb3AiKSAmJiBkYXRlT2JqLnByb3AgPT09ICJteU93blByb3BlcnR5IiAmJiBkYXRhID09PSAibXlPd25Qcm9wZXJ0eSI7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgRGF0ZS5wcm90b3R5cGUucHJvcDsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"ES5 Attributes - Failed to add property into object (Date instance)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-584.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTU4NS5qcw0KICogQGRlc2NyaXB0aW9uIEVTNSBBdHRyaWJ1dGVzIC0gSW5oZXJpdGVkIHByb3BlcnR5IGlzIGVudW1lcmFibGUgKFJlZ0V4cCBpbnN0YW5jZSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgZGF0YSA9ICJkYXRhIjsNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShSZWdFeHAucHJvdG90eXBlLCAicHJvcCIsIHsNCiAgICAgICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGRhdGE7DQogICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICBzZXQ6IGZ1bmN0aW9uICh2YWx1ZSkgew0KICAgICAgICAgICAgICAgICAgICBkYXRhID0gdmFsdWU7DQogICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICB2YXIgcmVnT2JqID0gbmV3IFJlZ0V4cCgpOw0KICAgICAgICAgICAgdmFyIHZlcmlmeUVudW1lcmFibGUgPSBmYWxzZTsNCiAgICAgICAgICAgIGZvciAodmFyIHAgaW4gcmVnT2JqKSB7DQogICAgICAgICAgICAgICAgaWYgKHAgPT09ICJwcm9wIikgew0KICAgICAgICAgICAgICAgICAgICB2ZXJpZnlFbnVtZXJhYmxlID0gdHJ1ZTsNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9DQoNCiAgICAgICAgICAgIHJldHVybiAhcmVnT2JqLmhhc093blByb3BlcnR5KCJwcm9wIikgJiYgdmVyaWZ5RW51bWVyYWJsZTsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBSZWdFeHAucHJvdG90eXBlLnByb3A7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"ES5 Attributes - Inherited property is enumerable (RegExp instance)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-585.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTU4Ni5qcw0KICogQGRlc2NyaXB0aW9uIEVTNSBBdHRyaWJ1dGVzIC0gRmFpbCB0byB1cGRhdGUgdmFsdWUgb2YgcHJvcGVydHkgaW50byBvZiBbW1Byb3B0b3R5cGVdXSBpbnRlcm5hbCBwcm9wZXJ0eSAgKEpTT04pDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIGRhdGEgPSAiZGF0YSI7DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoT2JqZWN0LnByb3RvdHlwZSwgInByb3AiLCB7DQogICAgICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgIHJldHVybiBkYXRhOw0KICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgZW51bWVyYWJsZTogZmFsc2UsDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIEpTT04ucHJvcCA9ICJteU93blByb3BlcnR5IjsNCg0KICAgICAgICAgICAgcmV0dXJuICFKU09OLmhhc093blByb3BlcnR5KCJwcm9wIikgJiYgSlNPTi5wcm9wID09PSAiZGF0YSIgJiYgZGF0YSA9PT0gImRhdGEiOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIE9iamVjdC5wcm90b3R5cGUucHJvcDsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"ES5 Attributes - Fail to update value of property into of [[Proptotype]] internal property (JSON)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-586.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTU4Ny5qcw0KICogQGRlc2NyaXB0aW9uIEVTNSBBdHRyaWJ1dGVzIC0gSW5oZXJpdGVkIHByb3BlcnR5IGlzIG5vbi1lbnVtZXJhYmxlIChNYXRoKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBkYXRhID0gImRhdGEiOw0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KE9iamVjdC5wcm90b3R5cGUsICJwcm9wIiwgew0KICAgICAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gZGF0YTsNCiAgICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAgIGVudW1lcmFibGU6IGZhbHNlLA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICB2YXIgdmVyaWZ5RW51bWVyYWJsZSA9IGZhbHNlOw0KICAgICAgICAgICAgZm9yICh2YXIgcCBpbiBNYXRoKSB7DQogICAgICAgICAgICAgICAgaWYgKHAgPT09ICJwcm9wIikgew0KICAgICAgICAgICAgICAgICAgICB2ZXJpZnlFbnVtZXJhYmxlID0gdHJ1ZTsNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9DQoNCiAgICAgICAgICAgIHJldHVybiAhTWF0aC5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpICYmICF2ZXJpZnlFbnVtZXJhYmxlOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIE9iamVjdC5wcm90b3R5cGUucHJvcDsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"ES5 Attributes - Inherited property is non-enumerable (Math)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-587.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTU4OC5qcw0KICogQGRlc2NyaXB0aW9uIEVTNSBBdHRyaWJ1dGVzIC0gW1tHZXRdXSBmaWVsZCBvZiBpbmhlcml0ZWQgcHJvcGVydHkgb2YgW1tQcm90b3R5cGVdXSBpbnRlcm5hbCBwcm9wZXJ0eSBpcyBjb3JyZWN0IChPYmplY3QuY3JlYXRlKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBhcHBvaW50bWVudCA9IHt9Ow0KDQogICAgICAgIHZhciBkYXRhMSA9IDEwMDE7DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcHBvaW50bWVudCwgInN0YXJ0VGltZSIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiBkYXRhMTsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICB9KTsNCiAgICAgICAgdmFyIGRhdGEyID0gIk5BTUUiOw0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXBwb2ludG1lbnQsICJuYW1lIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIGRhdGEyOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIHNldDogZnVuY3Rpb24gKHZhbHVlKSB7DQogICAgICAgICAgICAgICAgZGF0YTIgPSB2YWx1ZTsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBtZWV0aW5nID0gT2JqZWN0LmNyZWF0ZShhcHBvaW50bWVudCk7DQogICAgICAgIHZhciBkYXRhMyA9ICJJbi1wZXJzb24gbWVldGluZyI7DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShtZWV0aW5nLCAiY29uZmVyZW5jZUNhbGwiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gZGF0YTM7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIHRlYW1NZWV0aW5nID0gT2JqZWN0LmNyZWF0ZShtZWV0aW5nKTsNCg0KICAgICAgICB2YXIgaGFzT3duUHJvcGVydHkgPSAhdGVhbU1lZXRpbmcuaGFzT3duUHJvcGVydHkoIm5hbWUiKSAmJg0KICAgICAgICAgICAgIXRlYW1NZWV0aW5nLmhhc093blByb3BlcnR5KCJzdGFydFRpbWUiKSAmJg0KICAgICAgICAgICAgIXRlYW1NZWV0aW5nLmhhc093blByb3BlcnR5KCdjb25mZXJlbmNlQ2FsbCcpOw0KDQogICAgICAgIHJldHVybiBoYXNPd25Qcm9wZXJ0eSAmJiB0ZWFtTWVldGluZy5uYW1lID09PSAiTkFNRSIgJiYNCiAgICAgICAgICAgIHRlYW1NZWV0aW5nLnN0YXJ0VGltZSA9PT0gMTAwMSAmJg0KICAgICAgICAgICAgdGVhbU1lZXRpbmcuY29uZmVyZW5jZUNhbGwgPT09ICJJbi1wZXJzb24gbWVldGluZyI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"ES5 Attributes - [[Get]] field of inherited property of [[Prototype]] internal property is correct (Object.create)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-588.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTU4OS5qcw0KICogQGRlc2NyaXB0aW9uIEVTNSBBdHRyaWJ1dGVzIC0gU3VjY2VzcyB0byB1cGRhdGUgdmFsdWUgb2YgcHJvcGVydHkgaW50byBvZiBbW1Byb3B0b3R5cGVdXSBpbnRlcm5hbCBwcm9wZXJ0eSAoT2JqZWN0LmNyZWF0ZSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgYXBwb2ludG1lbnQgPSB7fTsNCg0KICAgICAgICB2YXIgZGF0YTEgPSAxMDAxOw0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXBwb2ludG1lbnQsICJzdGFydFRpbWUiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gZGF0YTE7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgc2V0OiBmdW5jdGlvbiAodmFsdWUpIHsNCiAgICAgICAgICAgICAgICBkYXRhMSA9IHZhbHVlOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQogICAgICAgIHZhciBkYXRhMiA9ICJOQU1FIjsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFwcG9pbnRtZW50LCAibmFtZSIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiBkYXRhMjsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBzZXQ6IGZ1bmN0aW9uICh2YWx1ZSkgew0KICAgICAgICAgICAgICAgIGRhdGEyID0gdmFsdWU7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIG1lZXRpbmcgPSBPYmplY3QuY3JlYXRlKGFwcG9pbnRtZW50KTsNCiAgICAgICAgdmFyIGRhdGEzID0gIkluLXBlcnNvbiBtZWV0aW5nIjsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG1lZXRpbmcsICJjb25mZXJlbmNlQ2FsbCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiBkYXRhMzsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBzZXQ6IGZ1bmN0aW9uICh2YWx1ZSkgew0KICAgICAgICAgICAgICAgIGRhdGEzID0gdmFsdWU7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIHRlYW1NZWV0aW5nID0gT2JqZWN0LmNyZWF0ZShtZWV0aW5nKTsNCiAgICAgICAgdGVhbU1lZXRpbmcubmFtZSA9ICJUZWFtIE1lZXRpbmciOw0KICAgICAgICB2YXIgZGF0ZU9iaiA9IG5ldyBEYXRlKCIxMC8zMS8yMDEwIDA4OjAwIik7DQogICAgICAgIHRlYW1NZWV0aW5nLnN0YXJ0VGltZSA9IGRhdGVPYmo7DQogICAgICAgIHRlYW1NZWV0aW5nLmNvbmZlcmVuY2VDYWxsID0gIjQyNTU1NTEyMTIiOw0KDQogICAgICAgIHZhciBoYXNPd25Qcm9wZXJ0eSA9ICF0ZWFtTWVldGluZy5oYXNPd25Qcm9wZXJ0eSgibmFtZSIpICYmDQogICAgICAgICAgICAhdGVhbU1lZXRpbmcuaGFzT3duUHJvcGVydHkoInN0YXJ0VGltZSIpICYmDQogICAgICAgICAgICAhdGVhbU1lZXRpbmcuaGFzT3duUHJvcGVydHkoJ2NvbmZlcmVuY2VDYWxsJyk7DQoNCiAgICAgICAgcmV0dXJuIGhhc093blByb3BlcnR5ICYmIHRlYW1NZWV0aW5nLm5hbWUgPT09ICJUZWFtIE1lZXRpbmciICYmDQogICAgICAgICAgICB0ZWFtTWVldGluZy5zdGFydFRpbWUgPT09IGRhdGVPYmogJiYNCiAgICAgICAgICAgIHRlYW1NZWV0aW5nLmNvbmZlcmVuY2VDYWxsID09PSAiNDI1NTU1MTIxMiI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"ES5 Attributes - Success to update value of property into of [[Proptotype]] internal property (Object.create)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-589.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTU5LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnR5IC0gJ25hbWUnIGlzIGFjY2Vzc29yIGRlc2NyaXB0b3IgYW5kIGV2ZXJ5IGZpZWxkcyBpbiAnZGVzYycgaXMgYWJzZW50ICg4LjEyLjkgc3RlcCA1KQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIGZ1bmN0aW9uIGdldEZ1bmMoKSB7DQogICAgICAgICAgICByZXR1cm4gMDsNCiAgICAgICAgfQ0KICAgICAgICBmdW5jdGlvbiBzZXRGdW5jKHZhbHVlKSB7DQogICAgICAgICAgICBvYmouaGVscFZlcmlmeVNldCA9IHZhbHVlOw0KICAgICAgICB9DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgImZvbyIsIHsNCiAgICAgICAgICAgIGdldDogZ2V0RnVuYywNCiAgICAgICAgICAgIHNldDogc2V0RnVuYw0KICAgICAgICB9KTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiZm9vIiwge30pOw0KICAgICAgICByZXR1cm4gYWNjZXNzb3JQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KG9iaiwgImZvbyIsIGdldEZ1bmMsIHNldEZ1bmMsICJoZWxwVmVyaWZ5U2V0IiwgZmFsc2UsIGZhbHNlKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - 'name' is accessor descriptor and every fields in 'desc' is absent (8.12.9 step 5)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-59.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTU5MC5qcw0KICogQGRlc2NyaXB0aW9uIEVTNSBBdHRyaWJ1dGVzIC0gSW5oZXJpdGVkIHByb3BlcnR5IGlzIGVudW1lcmFibGUgKE9iamVjdC5jcmVhdGUpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIGFwcG9pbnRtZW50ID0ge307DQoNCiAgICAgICAgdmFyIGRhdGExID0gMTAwMTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFwcG9pbnRtZW50LCAic3RhcnRUaW1lIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIGRhdGExOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIHNldDogZnVuY3Rpb24gKHZhbHVlKSB7DQogICAgICAgICAgICAgICAgZGF0YTEgPSB2YWx1ZTsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KICAgICAgICB2YXIgZGF0YTIgPSAiTkFNRSI7DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcHBvaW50bWVudCwgIm5hbWUiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gZGF0YTI7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgc2V0OiBmdW5jdGlvbiAodmFsdWUpIHsNCiAgICAgICAgICAgICAgICBkYXRhMiA9IHZhbHVlOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBtZWV0aW5nID0gT2JqZWN0LmNyZWF0ZShhcHBvaW50bWVudCk7DQogICAgICAgIHZhciBkYXRhMyA9ICJJbi1wZXJzb24gbWVldGluZyI7DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShtZWV0aW5nLCAiY29uZmVyZW5jZUNhbGwiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gZGF0YTM7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgc2V0OiBmdW5jdGlvbiAodmFsdWUpIHsNCiAgICAgICAgICAgICAgICBkYXRhMyA9IHZhbHVlOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciB0ZWFtTWVldGluZyA9IE9iamVjdC5jcmVhdGUobWVldGluZyk7DQoNCiAgICAgICAgdmFyIHZlcmlmeVRpbWVQcm9wID0gZmFsc2U7DQogICAgICAgIHZhciB2ZXJpZnlOYW1lUHJvcCA9IGZhbHNlOw0KICAgICAgICB2YXIgdmVyaWZ5Q2FsbFByb3AgPSBmYWxzZTsNCiAgICAgICAgZm9yICh2YXIgcCBpbiB0ZWFtTWVldGluZykgew0KICAgICAgICAgICAgaWYgKHAgPT09ICJzdGFydFRpbWUiKSB7DQogICAgICAgICAgICAgICAgdmVyaWZ5VGltZVByb3AgPSB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgaWYgKHAgPT09ICJuYW1lIikgew0KICAgICAgICAgICAgICAgIHZlcmlmeU5hbWVQcm9wID0gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIGlmIChwID09PSAiY29uZmVyZW5jZUNhbGwiKSB7DQogICAgICAgICAgICAgICAgdmVyaWZ5Q2FsbFByb3AgPSB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIGhhc093blByb3BlcnR5ID0gIXRlYW1NZWV0aW5nLmhhc093blByb3BlcnR5KCJuYW1lIikgJiYNCiAgICAgICAgICAgICF0ZWFtTWVldGluZy5oYXNPd25Qcm9wZXJ0eSgic3RhcnRUaW1lIikgJiYNCiAgICAgICAgICAgICF0ZWFtTWVldGluZy5oYXNPd25Qcm9wZXJ0eSgnY29uZmVyZW5jZUNhbGwnKTsNCg0KICAgICAgICByZXR1cm4gaGFzT3duUHJvcGVydHkgJiYgdmVyaWZ5VGltZVByb3AgJiYgdmVyaWZ5TmFtZVByb3AgJiYgdmVyaWZ5Q2FsbFByb3A7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"ES5 Attributes - Inherited property is enumerable (Object.create)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-590.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTU5MS5qcw0KICogQGRlc2NyaXB0aW9uIEVTNSBBdHRyaWJ1dGVzIC0gRmFpbCB0byB1cGRhdGUgdmFsdWUgb2YgcHJvcGVydHkgb2YgW1tQcm9wdG90eXBlXV0gaW50ZXJuYWwgcHJvcGVydHkgKE9iamVjdC5jcmVhdGUpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIGFwcG9pbnRtZW50ID0ge307DQoNCiAgICAgICAgdmFyIGRhdGExID0gMTAwMTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFwcG9pbnRtZW50LCAic3RhcnRUaW1lIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIGRhdGExOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGVudW1lcmFibGU6IGZhbHNlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICB9KTsNCiAgICAgICAgdmFyIGRhdGEyID0gIk5BTUUiOw0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXBwb2ludG1lbnQsICJuYW1lIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIGRhdGEyOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGVudW1lcmFibGU6IGZhbHNlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBtZWV0aW5nID0gT2JqZWN0LmNyZWF0ZShhcHBvaW50bWVudCk7DQogICAgICAgIHZhciBkYXRhMyA9ICJJbi1wZXJzb24gbWVldGluZyI7DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShtZWV0aW5nLCAiY29uZmVyZW5jZUNhbGwiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gZGF0YTM7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgZW51bWVyYWJsZTogZmFsc2UsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciB0ZWFtTWVldGluZyA9IE9iamVjdC5jcmVhdGUobWVldGluZyk7DQogICAgICAgIHRlYW1NZWV0aW5nLm5hbWUgPSAiSUUgVGVhbSBNZWV0aW5nIjsNCiAgICAgICAgdmFyIGRhdGVPYmogPSBuZXcgRGF0ZSgiMTAvMzEvMjAxMCAwODowMCIpOw0KICAgICAgICB0ZWFtTWVldGluZy5zdGFydFRpbWUgPSBkYXRlT2JqOw0KICAgICAgICB0ZWFtTWVldGluZy5jb25mZXJlbmNlQ2FsbCA9ICI0MjU1NTUxMjEyIjsNCg0KICAgICAgICB2YXIgaGFzT3duUHJvcGVydHkgPSAhdGVhbU1lZXRpbmcuaGFzT3duUHJvcGVydHkoIm5hbWUiKSAmJg0KICAgICAgICAgICAgIXRlYW1NZWV0aW5nLmhhc093blByb3BlcnR5KCJzdGFydFRpbWUiKSAmJg0KICAgICAgICAgICAgIXRlYW1NZWV0aW5nLmhhc093blByb3BlcnR5KCdjb25mZXJlbmNlQ2FsbCcpOw0KDQogICAgICAgIHJldHVybiBoYXNPd25Qcm9wZXJ0eSAmJiB0ZWFtTWVldGluZy5uYW1lID09PSAiTkFNRSIgJiYNCiAgICAgICAgICAgIHRlYW1NZWV0aW5nLnN0YXJ0VGltZSA9PT0gMTAwMSAmJg0KICAgICAgICAgICAgdGVhbU1lZXRpbmcuY29uZmVyZW5jZUNhbGwgPT09ICJJbi1wZXJzb24gbWVldGluZyI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"ES5 Attributes - Fail to update value of property of [[Proptotype]] internal property (Object.create)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-591.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTU5Mi5qcw0KICogQGRlc2NyaXB0aW9uIEVTNSBBdHRyaWJ1dGVzIC0gSW5oZXJpdGVkIHByb3BlcnR5IGlzIG5vbi1lbnVtZXJhYmxlIChPYmplY3QuY3JlYXRlKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBhcHBvaW50bWVudCA9IHt9Ow0KDQogICAgICAgIHZhciBkYXRhMSA9IDEwMDE7DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcHBvaW50bWVudCwgInN0YXJ0VGltZSIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiBkYXRhMTsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCiAgICAgICAgdmFyIGRhdGEyID0gIk5BTUUiOw0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXBwb2ludG1lbnQsICJuYW1lIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIGRhdGEyOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGVudW1lcmFibGU6IGZhbHNlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgbWVldGluZyA9IE9iamVjdC5jcmVhdGUoYXBwb2ludG1lbnQpOw0KICAgICAgICB2YXIgZGF0YTMgPSAiSW4tcGVyc29uIG1lZXRpbmciOw0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkobWVldGluZywgImNvbmZlcmVuY2VDYWxsIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIGRhdGEzOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGVudW1lcmFibGU6IGZhbHNlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciB0ZWFtTWVldGluZyA9IE9iamVjdC5jcmVhdGUobWVldGluZyk7DQoNCiAgICAgICAgdmFyIHZlcmlmeVRpbWVQcm9wID0gZmFsc2U7DQogICAgICAgIHZhciB2ZXJpZnlOYW1lUHJvcCA9IGZhbHNlOw0KICAgICAgICB2YXIgdmVyaWZ5Q2FsbFByb3AgPSBmYWxzZTsNCiAgICAgICAgZm9yICh2YXIgcCBpbiB0ZWFtTWVldGluZykgew0KICAgICAgICAgICAgaWYgKHAgPT09ICJzdGFydFRpbWUiKSB7DQogICAgICAgICAgICAgICAgdmVyaWZ5VGltZVByb3AgPSB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgaWYgKHAgPT09ICJuYW1lIikgew0KICAgICAgICAgICAgICAgIHZlcmlmeU5hbWVQcm9wID0gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIGlmIChwID09PSAiY29uZmVyZW5jZUNhbGwiKSB7DQogICAgICAgICAgICAgICAgdmVyaWZ5Q2FsbFByb3AgPSB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIGhhc093blByb3BlcnR5ID0gIXRlYW1NZWV0aW5nLmhhc093blByb3BlcnR5KCJuYW1lIikgJiYNCiAgICAgICAgICAgICF0ZWFtTWVldGluZy5oYXNPd25Qcm9wZXJ0eSgic3RhcnRUaW1lIikgJiYNCiAgICAgICAgICAgICF0ZWFtTWVldGluZy5oYXNPd25Qcm9wZXJ0eSgnY29uZmVyZW5jZUNhbGwnKTsNCg0KICAgICAgICByZXR1cm4gaGFzT3duUHJvcGVydHkgJiYgIXZlcmlmeVRpbWVQcm9wICYmICF2ZXJpZnlOYW1lUHJvcCAmJiAhdmVyaWZ5Q2FsbFByb3A7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"ES5 Attributes - Inherited property is non-enumerable (Object.create)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-592.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTU5My5qcw0KICogQGRlc2NyaXB0aW9uIEVTNSBBdHRyaWJ1dGVzIC0gW1tHZXRdXSBmaWVsZCBvZiBpbmhlcml0ZWQgcHJvcGVydHkgb2YgW1tQcm90b3R5cGVdXSBpbnRlcm5hbCBwcm9wZXJ0eSBpcyBjb3JyZWN0IChGdW5jdGlvbi5wcm90b3R5cGUuYmluZCkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgZm9vID0gZnVuY3Rpb24gKCkgeyB9Ow0KICAgICAgICB2YXIgZGF0YSA9ICJkYXRhIjsNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShGdW5jdGlvbi5wcm90b3R5cGUsICJwcm9wIiwgew0KICAgICAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gZGF0YTsNCiAgICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAgIHNldDogZnVuY3Rpb24gKHZhbHVlKSB7DQogICAgICAgICAgICAgICAgICAgIGRhdGEgPSB2YWx1ZTsNCiAgICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgdmFyIG9iaiA9IGZvby5iaW5kKHt9KTsNCg0KICAgICAgICAgICAgcmV0dXJuICFvYmouaGFzT3duUHJvcGVydHkoInByb3AiKSAmJiBvYmoucHJvcCA9PT0gZGF0YTsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBGdW5jdGlvbi5wcm90b3R5cGUucHJvcDsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"ES5 Attributes - [[Get]] field of inherited property of [[Prototype]] internal property is correct (Function.prototype.bind)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-593.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTU5NC5qcw0KICogQGRlc2NyaXB0aW9uIEVTNSBBdHRyaWJ1dGVzIC0gU3VjY2VzcyB0byB1cGRhdGUgdmFsdWUgb2YgcHJvcGVydHkgaW50byBvZiBbW1Byb3B0b3R5cGVdXSBpbnRlcm5hbCBwcm9wZXJ0eSAoRnVuY3Rpb24ucHJvdG90eXBlLmJpbmQpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIGZvbyA9IGZ1bmN0aW9uICgpIHsgfTsNCiAgICAgICAgdmFyIGRhdGEgPSAiZGF0YSI7DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoRnVuY3Rpb24ucHJvdG90eXBlLCAicHJvcCIsIHsNCiAgICAgICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGRhdGE7DQogICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICBzZXQ6IGZ1bmN0aW9uICh2YWx1ZSkgew0KICAgICAgICAgICAgICAgICAgICBkYXRhID0gdmFsdWU7DQogICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgIHZhciBvYmogPSBmb28uYmluZCh7fSk7DQogICAgICAgICAgICBvYmoucHJvcCA9ICJvdmVycmlkZURhdGEiOw0KDQogICAgICAgICAgICByZXR1cm4gIW9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpICYmIG9iai5wcm9wID09PSAib3ZlcnJpZGVEYXRhIjsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBGdW5jdGlvbi5wcm90b3R5cGUucHJvcDsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"ES5 Attributes - Success to update value of property into of [[Proptotype]] internal property (Function.prototype.bind)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-594.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTU5NS5qcw0KICogQGRlc2NyaXB0aW9uIEVTNSBBdHRyaWJ1dGVzIC0gSW5oZXJpdGVkIHByb3BlcnR5IGlzIGVudW1lcmFibGUgKEZ1bmN0aW9uLnByb3RvdHlwZS5iaW5kKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBmb28gPSBmdW5jdGlvbiAoKSB7IH07DQogICAgICAgIHZhciBkYXRhID0gImRhdGEiOw0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KEZ1bmN0aW9uLnByb3RvdHlwZSwgInByb3AiLCB7DQogICAgICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgIHJldHVybiBkYXRhOw0KICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgc2V0OiBmdW5jdGlvbiAodmFsdWUpIHsNCiAgICAgICAgICAgICAgICAgICAgZGF0YSA9IHZhbHVlOw0KICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICB2YXIgb2JqID0gZm9vLmJpbmQoe30pOw0KDQogICAgICAgICAgICB2YXIgdmVyaWZ5RW51bWVyYWJsZSA9IGZhbHNlOw0KICAgICAgICAgICAgZm9yICh2YXIgcCBpbiBvYmopIHsNCiAgICAgICAgICAgICAgICBpZiAocCA9PT0gInByb3AiKSB7DQogICAgICAgICAgICAgICAgICAgIHZlcmlmeUVudW1lcmFibGUgPSB0cnVlOw0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgcmV0dXJuICFvYmouaGFzT3duUHJvcGVydHkoInByb3AiKSAmJiB2ZXJpZnlFbnVtZXJhYmxlOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIEZ1bmN0aW9uLnByb3RvdHlwZS5wcm9wOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"ES5 Attributes - Inherited property is enumerable (Function.prototype.bind)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-595.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTU5Ni5qcw0KICogQGRlc2NyaXB0aW9uIEVTNSBBdHRyaWJ1dGVzIC0gRmFpbCB0byB1cGRhdGUgdmFsdWUgb2YgcHJvcGVydHkgaW50byBvZiBbW1Byb3B0b3R5cGVdXSBpbnRlcm5hbCBwcm9wZXJ0eSAoRnVuY3Rpb24ucHJvdG90eXBlLmJpbmQpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIGZvbyA9IGZ1bmN0aW9uICgpIHsgfTsNCiAgICAgICAgdmFyIGRhdGEgPSAiZGF0YSI7DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoRnVuY3Rpb24ucHJvdG90eXBlLCAicHJvcCIsIHsNCiAgICAgICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGRhdGE7DQogICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICB2YXIgb2JqID0gZm9vLmJpbmQoe30pOw0KICAgICAgICAgICAgb2JqLnByb3AgPSAib3ZlcnJpZGVEYXRhIjsNCg0KICAgICAgICAgICAgcmV0dXJuICFvYmouaGFzT3duUHJvcGVydHkoInByb3AiKSAmJiBvYmoucHJvcCA9PT0gImRhdGEiOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIEZ1bmN0aW9uLnByb3RvdHlwZS5wcm9wOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"ES5 Attributes - Fail to update value of property into of [[Proptotype]] internal property (Function.prototype.bind)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-596.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTU5Ny5qcw0KICogQGRlc2NyaXB0aW9uIEVTNSBBdHRyaWJ1dGVzIC0gSW5oZXJpdGVkIHByb3BlcnR5IGlzIG5vbi1lbnVtZXJhYmxlIChGdW5jdGlvbi5wcm90b3R5cGUuYmluZCkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgZm9vID0gZnVuY3Rpb24gKCkgeyB9Ow0KICAgICAgICB2YXIgZGF0YSA9ICJkYXRhIjsNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShGdW5jdGlvbi5wcm90b3R5cGUsICJwcm9wIiwgew0KICAgICAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gZGF0YTsNCiAgICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAgIGVudW1lcmFibGU6IGZhbHNlLA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgIHZhciBvYmogPSBmb28uYmluZCh7fSk7DQoNCiAgICAgICAgICAgIHZhciB2ZXJpZnlFbnVtZXJhYmxlID0gZmFsc2U7DQogICAgICAgICAgICBmb3IgKHZhciBwIGluIG9iaikgew0KICAgICAgICAgICAgICAgIGlmIChwID09PSAicHJvcCIpIHsNCiAgICAgICAgICAgICAgICAgICAgdmVyaWZ5RW51bWVyYWJsZSA9IHRydWU7DQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICByZXR1cm4gIW9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpICYmICF2ZXJpZnlFbnVtZXJhYmxlOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIEZ1bmN0aW9uLnByb3RvdHlwZS5wcm9wOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"ES5 Attributes - Inherited property is non-enumerable (Function.prototype.bind)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-597.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTU5OC5qcw0KICogQGRlc2NyaXB0aW9uIEVTNSBBdHRyaWJ1dGVzIC0gYWxsIGF0dHJpYnV0ZXMgaW4gT2JqZWN0LmdldFByb3RvdHlwZU9mIGFyZSBjb3JyZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKE9iamVjdCwgImdldFByb3RvdHlwZU9mIik7DQoNCiAgICAgICAgdmFyIHByb3BlcnR5QXJlQ29ycmVjdCA9IChkZXNjLndyaXRhYmxlID09PSB0cnVlICYmIGRlc2MuZW51bWVyYWJsZSA9PT0gZmFsc2UgJiYgZGVzYy5jb25maWd1cmFibGUgPT09IHRydWUpOw0KDQogICAgICAgIHZhciB0ZW1wID0gT2JqZWN0LmdldFByb3RvdHlwZU9mOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZ2V0UHJvdG90eXBlT2YgPSAiMjAxMCI7DQoNCiAgICAgICAgICAgIHZhciBpc1dyaXRhYmxlID0gKE9iamVjdC5nZXRQcm90b3R5cGVPZiA9PT0gIjIwMTAiKTsNCg0KICAgICAgICAgICAgdmFyIGlzRW51bWVyYWJsZSA9IGZhbHNlOw0KDQogICAgICAgICAgICBmb3IgKHZhciBwcm9wIGluIE9iamVjdCkgew0KICAgICAgICAgICAgICAgIGlmIChwcm9wID09PSAiZ2V0UHJvdG90eXBlT2YiKSB7DQogICAgICAgICAgICAgICAgICAgIGlzRW51bWVyYWJsZSA9IHRydWU7DQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfQ0KICAgICAgICANCiAgICAgICAgICAgIGRlbGV0ZSBPYmplY3QuZ2V0UHJvdG90eXBlT2Y7DQoNCiAgICAgICAgICAgIHZhciBpc0NvbmZpZ3VyYWJsZSA9ICFPYmplY3QuaGFzT3duUHJvcGVydHkoImdldFByb3RvdHlwZU9mIik7DQoNCiAgICAgICAgICAgIHJldHVybiBwcm9wZXJ0eUFyZUNvcnJlY3QgJiYgaXNXcml0YWJsZSAmJiAhaXNFbnVtZXJhYmxlICYmIGlzQ29uZmlndXJhYmxlOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KE9iamVjdCwgImdldFByb3RvdHlwZU9mIiwgew0KICAgICAgICAgICAgICAgIHZhbHVlOiB0ZW1wLA0KICAgICAgICAgICAgICAgIHdyaXRhYmxlOiB0cnVlLA0KICAgICAgICAgICAgICAgIGVudW1lcmFibGU6IGZhbHNlLA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgfSk7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"ES5 Attributes - all attributes in Object.getPrototypeOf are correct","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-598.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTU5OS5qcw0KICogQGRlc2NyaXB0aW9uIEVTNSBBdHRyaWJ1dGVzIC0gYWxsIGF0dHJpYnV0ZXMgaW4gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvciBhcmUgY29ycmVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihPYmplY3QsICJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IiKTsNCg0KICAgICAgICB2YXIgcHJvcGVydHlBcmVDb3JyZWN0ID0gKGRlc2Mud3JpdGFibGUgPT09IHRydWUgJiYgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJiBkZXNjLmNvbmZpZ3VyYWJsZSA9PT0gdHJ1ZSk7DQoNCiAgICAgICAgdmFyIHRlbXAgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yID0gIjIwMTAiOw0KDQogICAgICAgICAgICB2YXIgaXNXcml0YWJsZSA9IChPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yID09PSAiMjAxMCIpOw0KDQogICAgICAgICAgICB2YXIgaXNFbnVtZXJhYmxlID0gZmFsc2U7DQoNCiAgICAgICAgICAgIGZvciAodmFyIHByb3AgaW4gT2JqZWN0KSB7DQogICAgICAgICAgICAgICAgaWYgKHByb3AgPT09ICJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IiKSB7DQogICAgICAgICAgICAgICAgICAgIGlzRW51bWVyYWJsZSA9IHRydWU7DQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICBkZWxldGUgT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcjsNCg0KICAgICAgICAgICAgdmFyIGlzQ29uZmlndXJhYmxlID0gIU9iamVjdC5oYXNPd25Qcm9wZXJ0eSgiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIik7DQoNCiAgICAgICAgICAgIHJldHVybiBwcm9wZXJ0eUFyZUNvcnJlY3QgJiYgaXNXcml0YWJsZSAmJiAhaXNFbnVtZXJhYmxlICYmIGlzQ29uZmlndXJhYmxlOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KE9iamVjdCwgImdldE93blByb3BlcnR5RGVzY3JpcHRvciIsIHsNCiAgICAgICAgICAgICAgICB2YWx1ZTogdGVtcCwNCiAgICAgICAgICAgICAgICB3cml0YWJsZTogdHJ1ZSwNCiAgICAgICAgICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgIH0pOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"ES5 Attributes - all attributes in Object.getOwnPropertyDescriptor are correct","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-599.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogU3RlcCA0IG9mIGRlZmluZVByb3BlcnR5IGNhbGxzIHRoZSBbW0RlZmluZU93blByb3BlcnR5XV0gaW50ZXJuYWwgbWV0aG9kDQogKiBvZiBPIHRvIGRlZmluZSB0aGUgcHJvcGVydHkuIFN0ZXAgNiBvZiBbW0RlZmluZU93blByb3BlcnR5XV0gcmV0dXJucyBpZg0KICogZXZlcnkgZmllbGQgb2YgZGVzYyBhbHNvIG9jY3VycyBpbiBjdXJyZW50IGFuZCBldmVyeSBmaWVsZCBpbiBkZXNjIGhhcw0KICogdGhlIHNhbWUgdmFsdWUgYXMgY3VycmVudC4NCiAqDQogKiBAcGF0aCBjaDE1LzE1LjIvMTUuMi4zLzE1LjIuMy42LzE1LjIuMy42LTQtNi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSBpcyBuby1vcCBpZiBjdXJyZW50IGFuZCBkZXNjIGFyZSB0aGUgc2FtZSBhY2Nlc3NvciBkZXNjDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgZnVuY3Rpb24gc2FtZUFjY2Vzc29yRGVzY3JpcHRvclZhbHVlcyhkMSwgZDIpIHsNCiAgICByZXR1cm4gKGQxLmdldCA9PSBkMi5nZXQgJiYNCiAgICAgICAgICAgIGQxLmVudW1lcmFibGUgPT0gZDIuZW51bWVyYWJsZSAmJg0KICAgICAgICAgICAgZDEuY29uZmlndXJhYmxlID09IGQyLmNvbmZpZ3VyYWJsZSk7DQogIH0NCg0KICB2YXIgbyA9IHt9Ow0KDQogIC8vIGNyZWF0ZSBhbiBhY2Nlc3NvciBwcm9wZXJ0eSB3aXRoIHRoZSBmb2xsb3dpbmcgYXR0cmlidXRlczoNCiAgLy8gZW51bWVyYWJsZTogdHJ1ZSwgY29uZmlndXJhYmxlOiB0cnVlDQogIHZhciBkZXNjID0gew0KICAgICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7fSwNCiAgICAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsDQogICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgICB9Ow0KDQogIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvLCAiZm9vIiwgZGVzYyk7DQoNCiAgLy8gcXVlcnkgZm9yLCBhbmQgc2F2ZSwgdGhlIGRlc2MuIEEgc3Vic2VxdWVudCBjYWxsIHRvIGRlZmluZVByb3BlcnR5DQogIC8vIHdpdGggdGhlIHNhbWUgZGVzYyBzaG91bGQgbm90IGRpc3R1cmIgdGhlIHByb3BlcnR5IGRlZmluaXRpb24uDQogIHZhciBkMSA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IobywgImZvbyIpOyAgDQoNCiAgLy8gbm93LCByZWRlZmluZSB0aGUgcHJvcGVydHkgd2l0aCB0aGUgc2FtZSBkZXNjcmlwdG9yDQogIC8vIHRoZSBwcm9wZXJ0eSBkZWZpbnRpb24gc2hvdWxkIG5vdCBnZXQgZGlzdHVyYmVkLg0KICBPYmplY3QuZGVmaW5lUHJvcGVydHkobywgImZvbyIsIGRlc2MpOw0KDQogIHZhciBkMiA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IobywgImZvbyIpOyANCg0KICBpZiAoc2FtZUFjY2Vzc29yRGVzY3JpcHRvclZhbHVlcyhkMSwgZDIpID09PSB0cnVlKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"Step 4 of defineProperty calls the [[DefineOwnProperty]] internal method\nof O to define the property. Step 6 of [[DefineOwnProperty]] returns if\nevery field of desc also occurs in current and every field in desc has\nthe same value as current.","description":"Object.defineProperty is no-op if current and desc are the same accessor desc","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-6.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTYwLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnR5IC0gdHlwZSBvZiBkZXNjLnZhbHVlIGlzIGRpZmZlcmVudCBmcm9tIHR5cGUgb2YgbmFtZS52YWx1ZSAoOC4xMi45IHN0ZXAgNikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBvYmouZm9vID0gMTAxOyAvLyBkZWZhdWx0IHZhbHVlIG9mIGF0dHJpYnV0ZXM6IHdyaXRhYmxlOiB0cnVlLCBjb25maWd1cmFibGU6IHRydWUsIGVudW1lcmFibGU6IHRydWUNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiZm9vIiwgeyB2YWx1ZTogImFiYyIgfSk7DQogICAgICAgIHJldHVybiBkYXRhUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChvYmosICJmb28iLCAiYWJjIiwgdHJ1ZSwgdHJ1ZSwgdHJ1ZSk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - type of desc.value is different from type of name.value (8.12.9 step 6)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-60.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTYwMC5qcw0KICogQGRlc2NyaXB0aW9uIEVTNSBBdHRyaWJ1dGVzIC0gYWxsIGF0dHJpYnV0ZXMgaW4gT2JqZWN0LmdldE93blByb3BlcnR5TmFtZXMgYXJlIGNvcnJlY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoT2JqZWN0LCAiZ2V0T3duUHJvcGVydHlOYW1lcyIpOw0KDQogICAgICAgIHZhciBwcm9wZXJ0eUFyZUNvcnJlY3QgPSAoZGVzYy53cml0YWJsZSA9PT0gdHJ1ZSAmJiBkZXNjLmVudW1lcmFibGUgPT09IGZhbHNlICYmIGRlc2MuY29uZmlndXJhYmxlID09PSB0cnVlKTsNCg0KICAgICAgICB2YXIgdGVtcCA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eU5hbWVzOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZ2V0T3duUHJvcGVydHlOYW1lcyA9ICIyMDEwIjsNCg0KICAgICAgICAgICAgdmFyIGlzV3JpdGFibGUgPSAoT2JqZWN0LmdldE93blByb3BlcnR5TmFtZXMgPT09ICIyMDEwIik7DQoNCiAgICAgICAgICAgIHZhciBpc0VudW1lcmFibGUgPSBmYWxzZTsNCg0KICAgICAgICAgICAgZm9yICh2YXIgcHJvcCBpbiBPYmplY3QpIHsNCiAgICAgICAgICAgICAgICBpZiAocHJvcCA9PT0gImdldE93blByb3BlcnR5TmFtZXMiKSB7DQogICAgICAgICAgICAgICAgICAgIGlzRW51bWVyYWJsZSA9IHRydWU7DQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfQ0KICAgICAgICANCiAgICAgICAgICAgIGRlbGV0ZSBPYmplY3QuZ2V0T3duUHJvcGVydHlOYW1lczsNCg0KICAgICAgICAgICAgdmFyIGlzQ29uZmlndXJhYmxlID0gIU9iamVjdC5oYXNPd25Qcm9wZXJ0eSgiZ2V0T3duUHJvcGVydHlOYW1lcyIpOw0KDQogICAgICAgICAgICByZXR1cm4gcHJvcGVydHlBcmVDb3JyZWN0ICYmIGlzV3JpdGFibGUgJiYgIWlzRW51bWVyYWJsZSAmJiBpc0NvbmZpZ3VyYWJsZTsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShPYmplY3QsICJnZXRPd25Qcm9wZXJ0eU5hbWVzIiwgew0KICAgICAgICAgICAgICAgIHZhbHVlOiB0ZW1wLA0KICAgICAgICAgICAgICAgIHdyaXRhYmxlOiB0cnVlLA0KICAgICAgICAgICAgICAgIGVudW1lcmFibGU6IGZhbHNlLA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgfSk7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"ES5 Attributes - all attributes in Object.getOwnPropertyNames are correct","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-600.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTYwMS5qcw0KICogQGRlc2NyaXB0aW9uIEVTNSBBdHRyaWJ1dGVzIC0gYWxsIGF0dHJpYnV0ZXMgaW4gT2JqZWN0LmNyZWF0ZSBhcmUgY29ycmVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihPYmplY3QsICJjcmVhdGUiKTsNCg0KICAgICAgICB2YXIgcHJvcGVydHlBcmVDb3JyZWN0ID0gKGRlc2Mud3JpdGFibGUgPT09IHRydWUgJiYgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJiBkZXNjLmNvbmZpZ3VyYWJsZSA9PT0gdHJ1ZSk7DQoNCiAgICAgICAgdmFyIHRlbXAgPSBPYmplY3QuY3JlYXRlOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuY3JlYXRlID0gIjIwMTAiOw0KDQogICAgICAgICAgICB2YXIgaXNXcml0YWJsZSA9IChPYmplY3QuY3JlYXRlID09PSAiMjAxMCIpOw0KDQogICAgICAgICAgICB2YXIgaXNFbnVtZXJhYmxlID0gZmFsc2U7DQoNCiAgICAgICAgICAgIGZvciAodmFyIHByb3AgaW4gT2JqZWN0KSB7DQogICAgICAgICAgICAgICAgaWYgKHByb3AgPT09ICJjcmVhdGUiKSB7DQogICAgICAgICAgICAgICAgICAgIGlzRW51bWVyYWJsZSA9IHRydWU7DQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfQ0KICAgICAgICANCiAgICAgICAgICAgIGRlbGV0ZSBPYmplY3QuY3JlYXRlOw0KDQogICAgICAgICAgICB2YXIgaXNDb25maWd1cmFibGUgPSAhT2JqZWN0Lmhhc093blByb3BlcnR5KCJjcmVhdGUiKTsNCg0KICAgICAgICAgICAgcmV0dXJuIHByb3BlcnR5QXJlQ29ycmVjdCAmJiBpc1dyaXRhYmxlICYmICFpc0VudW1lcmFibGUgJiYgaXNDb25maWd1cmFibGU7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoT2JqZWN0LCAiY3JlYXRlIiwgew0KICAgICAgICAgICAgICAgIHZhbHVlOiB0ZW1wLA0KICAgICAgICAgICAgICAgIHdyaXRhYmxlOiB0cnVlLA0KICAgICAgICAgICAgICAgIGVudW1lcmFibGU6IGZhbHNlLA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgfSk7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"ES5 Attributes - all attributes in Object.create are correct","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-601.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTYwMi5qcw0KICogQGRlc2NyaXB0aW9uIEVTNSBBdHRyaWJ1dGVzIC0gYWxsIGF0dHJpYnV0ZXMgaW4gT2JqZWN0LmRlZmluZVByb3BlcnR5IGFyZSBjb3JyZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKE9iamVjdCwgImRlZmluZVByb3BlcnR5Iik7DQoNCiAgICAgICAgdmFyIHByb3BlcnR5QXJlQ29ycmVjdCA9IChkZXNjLndyaXRhYmxlID09PSB0cnVlICYmIGRlc2MuZW51bWVyYWJsZSA9PT0gZmFsc2UgJiYgZGVzYy5jb25maWd1cmFibGUgPT09IHRydWUpOw0KICAgICAgICB2YXIgdGVtcCA9IE9iamVjdC5kZWZpbmVQcm9wZXJ0eTsNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSA9ICIyMDEwIjsNCg0KICAgICAgICAgICAgdmFyIGlzV3JpdGFibGUgPSAoT2JqZWN0LmRlZmluZVByb3BlcnR5ID09PSAiMjAxMCIpOw0KDQogICAgICAgICAgICB2YXIgaXNFbnVtZXJhYmxlID0gZmFsc2U7DQoNCiAgICAgICAgICAgIGZvciAodmFyIHByb3AgaW4gT2JqZWN0KSB7DQogICAgICAgICAgICAgICAgaWYgKHByb3AgPT09ICJkZWZpbmVQcm9wZXJ0eSIpIHsNCiAgICAgICAgICAgICAgICAgICAgaXNFbnVtZXJhYmxlID0gdHJ1ZTsNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9DQoNCiAgICAgICAgICAgIGRlbGV0ZSBPYmplY3QuZGVmaW5lUHJvcGVydHk7DQoNCiAgICAgICAgICAgIHZhciBpc0NvbmZpZ3VyYWJsZSA9ICFPYmplY3QuaGFzT3duUHJvcGVydHkoImRlZmluZVByb3BlcnR5Iik7DQoNCiAgICAgICAgICAgIHJldHVybiBwcm9wZXJ0eUFyZUNvcnJlY3QgJiYgaXNXcml0YWJsZSAmJiAhaXNFbnVtZXJhYmxlICYmIGlzQ29uZmlndXJhYmxlOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5ID0gdGVtcDsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShPYmplY3QsICJkZWZpbmVQcm9wZXJ0eSIsIHsNCiAgICAgICAgICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZQ0KICAgICAgICAgICAgfSk7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"ES5 Attributes - all attributes in Object.defineProperty are correct","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-602.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTYwMy5qcw0KICogQGRlc2NyaXB0aW9uIEVTNSBBdHRyaWJ1dGVzIC0gYWxsIGF0dHJpYnV0ZXMgaW4gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgYXJlIGNvcnJlY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoT2JqZWN0LCAiZGVmaW5lUHJvcGVydGllcyIpOw0KDQogICAgICAgIHZhciBwcm9wZXJ0eUFyZUNvcnJlY3QgPSAoZGVzYy53cml0YWJsZSA9PT0gdHJ1ZSAmJiBkZXNjLmVudW1lcmFibGUgPT09IGZhbHNlICYmIGRlc2MuY29uZmlndXJhYmxlID09PSB0cnVlKTsNCg0KICAgICAgICB2YXIgdGVtcCA9IE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyA9ICIyMDEwIjsNCg0KICAgICAgICAgICAgdmFyIGlzV3JpdGFibGUgPSAoT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgPT09ICIyMDEwIik7DQoNCiAgICAgICAgICAgIHZhciBpc0VudW1lcmFibGUgPSBmYWxzZTsNCg0KICAgICAgICAgICAgZm9yICh2YXIgcHJvcCBpbiBPYmplY3QpIHsNCiAgICAgICAgICAgICAgICBpZiAocHJvcCA9PT0gImRlZmluZVByb3BlcnRpZXMiKSB7DQogICAgICAgICAgICAgICAgICAgIGlzRW51bWVyYWJsZSA9IHRydWU7DQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfQ0KICAgICAgICANCiAgICAgICAgICAgIGRlbGV0ZSBPYmplY3QuZGVmaW5lUHJvcGVydGllczsNCg0KICAgICAgICAgICAgdmFyIGlzQ29uZmlndXJhYmxlID0gIU9iamVjdC5oYXNPd25Qcm9wZXJ0eSgiZGVmaW5lUHJvcGVydGllcyIpOw0KDQogICAgICAgICAgICByZXR1cm4gcHJvcGVydHlBcmVDb3JyZWN0ICYmIGlzV3JpdGFibGUgJiYgIWlzRW51bWVyYWJsZSAmJiBpc0NvbmZpZ3VyYWJsZTsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShPYmplY3QsICJkZWZpbmVQcm9wZXJ0aWVzIiwgew0KICAgICAgICAgICAgICAgIHZhbHVlOiB0ZW1wLA0KICAgICAgICAgICAgICAgIHdyaXRhYmxlOiB0cnVlLA0KICAgICAgICAgICAgICAgIGVudW1lcmFibGU6IGZhbHNlLA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgfSk7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"ES5 Attributes - all attributes in Object.defineProperties are correct","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-603.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTYwNC5qcw0KICogQGRlc2NyaXB0aW9uIEVTNSBBdHRyaWJ1dGVzIC0gYWxsIGF0dHJpYnV0ZXMgaW4gT2JqZWN0LnNlYWwgYXJlIGNvcnJlY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoT2JqZWN0LCAic2VhbCIpOw0KDQogICAgICAgIHZhciBwcm9wZXJ0eUFyZUNvcnJlY3QgPSAoZGVzYy53cml0YWJsZSA9PT0gdHJ1ZSAmJiBkZXNjLmVudW1lcmFibGUgPT09IGZhbHNlICYmIGRlc2MuY29uZmlndXJhYmxlID09PSB0cnVlKTsNCg0KICAgICAgICB2YXIgdGVtcCA9IE9iamVjdC5zZWFsOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3Quc2VhbCA9ICIyMDEwIjsNCg0KICAgICAgICAgICAgdmFyIGlzV3JpdGFibGUgPSAoT2JqZWN0LnNlYWwgPT09ICIyMDEwIik7DQoNCiAgICAgICAgICAgIHZhciBpc0VudW1lcmFibGUgPSBmYWxzZTsNCg0KICAgICAgICAgICAgZm9yICh2YXIgcHJvcCBpbiBPYmplY3QpIHsNCiAgICAgICAgICAgICAgICBpZiAocHJvcCA9PT0gInNlYWwiKSB7DQogICAgICAgICAgICAgICAgICAgIGlzRW51bWVyYWJsZSA9IHRydWU7DQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfQ0KICAgICAgICANCiAgICAgICAgICAgIGRlbGV0ZSBPYmplY3Quc2VhbDsNCg0KICAgICAgICAgICAgdmFyIGlzQ29uZmlndXJhYmxlID0gIU9iamVjdC5oYXNPd25Qcm9wZXJ0eSgic2VhbCIpOw0KDQogICAgICAgICAgICByZXR1cm4gcHJvcGVydHlBcmVDb3JyZWN0ICYmIGlzV3JpdGFibGUgJiYgIWlzRW51bWVyYWJsZSAmJiBpc0NvbmZpZ3VyYWJsZTsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShPYmplY3QsICJzZWFsIiwgew0KICAgICAgICAgICAgICAgIHZhbHVlOiB0ZW1wLA0KICAgICAgICAgICAgICAgIHdyaXRhYmxlOiB0cnVlLA0KICAgICAgICAgICAgICAgIGVudW1lcmFibGU6IGZhbHNlLA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgfSk7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"ES5 Attributes - all attributes in Object.seal are correct","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-604.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTYwNS5qcw0KICogQGRlc2NyaXB0aW9uIEVTNSBBdHRyaWJ1dGVzIC0gYWxsIGF0dHJpYnV0ZXMgaW4gT2JqZWN0LmZyZWV6ZSBhcmUgY29ycmVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihPYmplY3QsICJmcmVlemUiKTsNCg0KICAgICAgICB2YXIgcHJvcGVydHlBcmVDb3JyZWN0ID0gKGRlc2Mud3JpdGFibGUgPT09IHRydWUgJiYgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJiBkZXNjLmNvbmZpZ3VyYWJsZSA9PT0gdHJ1ZSk7DQoNCiAgICAgICAgdmFyIHRlbXAgPSBPYmplY3QuZnJlZXplOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZnJlZXplID0gIjIwMTAiOw0KDQogICAgICAgICAgICB2YXIgaXNXcml0YWJsZSA9IChPYmplY3QuZnJlZXplID09PSAiMjAxMCIpOw0KDQogICAgICAgICAgICB2YXIgaXNFbnVtZXJhYmxlID0gZmFsc2U7DQoNCiAgICAgICAgICAgIGZvciAodmFyIHByb3AgaW4gT2JqZWN0KSB7DQogICAgICAgICAgICAgICAgaWYgKHByb3AgPT09ICJmcmVlemUiKSB7DQogICAgICAgICAgICAgICAgICAgIGlzRW51bWVyYWJsZSA9IHRydWU7DQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfQ0KICAgICAgICANCiAgICAgICAgICAgIGRlbGV0ZSBPYmplY3QuZnJlZXplOw0KDQogICAgICAgICAgICB2YXIgaXNDb25maWd1cmFibGUgPSAhT2JqZWN0Lmhhc093blByb3BlcnR5KCJmcmVlemUiKTsNCg0KICAgICAgICAgICAgcmV0dXJuIHByb3BlcnR5QXJlQ29ycmVjdCAmJiBpc1dyaXRhYmxlICYmICFpc0VudW1lcmFibGUgJiYgaXNDb25maWd1cmFibGU7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoT2JqZWN0LCAiZnJlZXplIiwgew0KICAgICAgICAgICAgICAgIHZhbHVlOiB0ZW1wLA0KICAgICAgICAgICAgICAgIHdyaXRhYmxlOiB0cnVlLA0KICAgICAgICAgICAgICAgIGVudW1lcmFibGU6IGZhbHNlLA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgfSk7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"ES5 Attributes - all attributes in Object.freeze are correct","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-605.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTYwNi5qcw0KICogQGRlc2NyaXB0aW9uIEVTNSBBdHRyaWJ1dGVzIC0gYWxsIGF0dHJpYnV0ZXMgaW4gT2JqZWN0LnByZXZlbnRFeHRlbnNpb25zIGFyZSBjb3JyZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKE9iamVjdCwgInByZXZlbnRFeHRlbnNpb25zIik7DQoNCiAgICAgICAgdmFyIHByb3BlcnR5QXJlQ29ycmVjdCA9IChkZXNjLndyaXRhYmxlID09PSB0cnVlICYmIGRlc2MuZW51bWVyYWJsZSA9PT0gZmFsc2UgJiYgZGVzYy5jb25maWd1cmFibGUgPT09IHRydWUpOw0KDQogICAgICAgIHZhciB0ZW1wID0gT2JqZWN0LnByZXZlbnRFeHRlbnNpb25zOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QucHJldmVudEV4dGVuc2lvbnMgPSAiMjAxMCI7DQoNCiAgICAgICAgICAgIHZhciBpc1dyaXRhYmxlID0gKE9iamVjdC5wcmV2ZW50RXh0ZW5zaW9ucyA9PT0gIjIwMTAiKTsNCg0KICAgICAgICAgICAgdmFyIGlzRW51bWVyYWJsZSA9IGZhbHNlOw0KDQogICAgICAgICAgICBmb3IgKHZhciBwcm9wIGluIE9iamVjdCkgew0KICAgICAgICAgICAgICAgIGlmIChwcm9wID09PSAicHJldmVudEV4dGVuc2lvbnMiKSB7DQogICAgICAgICAgICAgICAgICAgIGlzRW51bWVyYWJsZSA9IHRydWU7DQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfQ0KICAgICAgICANCiAgICAgICAgICAgIGRlbGV0ZSBPYmplY3QucHJldmVudEV4dGVuc2lvbnM7DQoNCiAgICAgICAgICAgIHZhciBpc0NvbmZpZ3VyYWJsZSA9ICFPYmplY3QuaGFzT3duUHJvcGVydHkoInByZXZlbnRFeHRlbnNpb25zIik7DQoNCiAgICAgICAgICAgIHJldHVybiBwcm9wZXJ0eUFyZUNvcnJlY3QgJiYgaXNXcml0YWJsZSAmJiAhaXNFbnVtZXJhYmxlICYmIGlzQ29uZmlndXJhYmxlOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KE9iamVjdCwgInByZXZlbnRFeHRlbnNpb25zIiwgew0KICAgICAgICAgICAgICAgIHZhbHVlOiB0ZW1wLA0KICAgICAgICAgICAgICAgIHdyaXRhYmxlOiB0cnVlLA0KICAgICAgICAgICAgICAgIGVudW1lcmFibGU6IGZhbHNlLA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgfSk7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"ES5 Attributes - all attributes in Object.preventExtensions are correct","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-606.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTYwNy5qcw0KICogQGRlc2NyaXB0aW9uIEVTNSBBdHRyaWJ1dGVzIC0gYWxsIGF0dHJpYnV0ZXMgaW4gT2JqZWN0LmlzU2VhbGVkIGFyZSBjb3JyZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKE9iamVjdCwgImlzU2VhbGVkIik7DQoNCiAgICAgICAgdmFyIHByb3BlcnR5QXJlQ29ycmVjdCA9IChkZXNjLndyaXRhYmxlID09PSB0cnVlICYmIGRlc2MuZW51bWVyYWJsZSA9PT0gZmFsc2UgJiYgZGVzYy5jb25maWd1cmFibGUgPT09IHRydWUpOw0KDQogICAgICAgIHZhciB0ZW1wID0gT2JqZWN0LmlzU2VhbGVkOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuaXNTZWFsZWQgPSAiMjAxMCI7DQoNCiAgICAgICAgICAgIHZhciBpc1dyaXRhYmxlID0gKE9iamVjdC5pc1NlYWxlZCA9PT0gIjIwMTAiKTsNCg0KICAgICAgICAgICAgdmFyIGlzRW51bWVyYWJsZSA9IGZhbHNlOw0KDQogICAgICAgICAgICBmb3IgKHZhciBwcm9wIGluIE9iamVjdCkgew0KICAgICAgICAgICAgICAgIGlmIChwcm9wID09PSAiaXNTZWFsZWQiKSB7DQogICAgICAgICAgICAgICAgICAgIGlzRW51bWVyYWJsZSA9IHRydWU7DQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfQ0KICAgICAgICANCiAgICAgICAgICAgIGRlbGV0ZSBPYmplY3QuaXNTZWFsZWQ7DQoNCiAgICAgICAgICAgIHZhciBpc0NvbmZpZ3VyYWJsZSA9ICFPYmplY3QuaGFzT3duUHJvcGVydHkoImlzU2VhbGVkIik7DQoNCiAgICAgICAgICAgIHJldHVybiBwcm9wZXJ0eUFyZUNvcnJlY3QgJiYgaXNXcml0YWJsZSAmJiAhaXNFbnVtZXJhYmxlICYmIGlzQ29uZmlndXJhYmxlOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KE9iamVjdCwgImlzU2VhbGVkIiwgew0KICAgICAgICAgICAgICAgIHZhbHVlOiB0ZW1wLA0KICAgICAgICAgICAgICAgIHdyaXRhYmxlOiB0cnVlLA0KICAgICAgICAgICAgICAgIGVudW1lcmFibGU6IGZhbHNlLA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgfSk7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"ES5 Attributes - all attributes in Object.isSealed are correct","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-607.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTYwOC5qcw0KICogQGRlc2NyaXB0aW9uIEVTNSBBdHRyaWJ1dGVzIC0gYWxsIGF0dHJpYnV0ZXMgaW4gT2JqZWN0LmlzRnJvemVuIGFyZSBjb3JyZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKE9iamVjdCwgImlzRnJvemVuIik7DQoNCiAgICAgICAgdmFyIHByb3BlcnR5QXJlQ29ycmVjdCA9IChkZXNjLndyaXRhYmxlID09PSB0cnVlICYmIGRlc2MuZW51bWVyYWJsZSA9PT0gZmFsc2UgJiYgZGVzYy5jb25maWd1cmFibGUgPT09IHRydWUpOw0KDQogICAgICAgIHZhciB0ZW1wID0gT2JqZWN0LmlzRnJvemVuOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuaXNGcm96ZW4gPSAiMjAxMCI7DQoNCiAgICAgICAgICAgIHZhciBpc1dyaXRhYmxlID0gKE9iamVjdC5pc0Zyb3plbiA9PT0gIjIwMTAiKTsNCg0KICAgICAgICAgICAgdmFyIGlzRW51bWVyYWJsZSA9IGZhbHNlOw0KDQogICAgICAgICAgICBmb3IgKHZhciBwcm9wIGluIE9iamVjdCkgew0KICAgICAgICAgICAgICAgIGlmIChwcm9wID09PSAiaXNGcm96ZW4iKSB7DQogICAgICAgICAgICAgICAgICAgIGlzRW51bWVyYWJsZSA9IHRydWU7DQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfQ0KICAgICAgICANCiAgICAgICAgICAgIGRlbGV0ZSBPYmplY3QuaXNGcm96ZW47DQoNCiAgICAgICAgICAgIHZhciBpc0NvbmZpZ3VyYWJsZSA9ICFPYmplY3QuaGFzT3duUHJvcGVydHkoImlzRnJvemVuIik7DQoNCiAgICAgICAgICAgIHJldHVybiBwcm9wZXJ0eUFyZUNvcnJlY3QgJiYgaXNXcml0YWJsZSAmJiAhaXNFbnVtZXJhYmxlICYmIGlzQ29uZmlndXJhYmxlOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KE9iamVjdCwgImlzRnJvemVuIiwgew0KICAgICAgICAgICAgICAgIHZhbHVlOiB0ZW1wLA0KICAgICAgICAgICAgICAgIHdyaXRhYmxlOiB0cnVlLA0KICAgICAgICAgICAgICAgIGVudW1lcmFibGU6IGZhbHNlLA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgfSk7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"ES5 Attributes - all attributes in Object.isFrozen are correct","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-608.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTYwOS5qcw0KICogQGRlc2NyaXB0aW9uIEVTNSBBdHRyaWJ1dGVzIC0gYWxsIGF0dHJpYnV0ZXMgaW4gT2JqZWN0LmlzRXh0ZW5zaWJsZSBhcmUgY29ycmVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihPYmplY3QsICJpc0V4dGVuc2libGUiKTsNCg0KICAgICAgICB2YXIgcHJvcGVydHlBcmVDb3JyZWN0ID0gKGRlc2Mud3JpdGFibGUgPT09IHRydWUgJiYgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJiBkZXNjLmNvbmZpZ3VyYWJsZSA9PT0gdHJ1ZSk7DQoNCiAgICAgICAgdmFyIHRlbXAgPSBPYmplY3QuaXNFeHRlbnNpYmxlOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuaXNFeHRlbnNpYmxlID0gIjIwMTAiOw0KDQogICAgICAgICAgICB2YXIgaXNXcml0YWJsZSA9IChPYmplY3QuaXNFeHRlbnNpYmxlID09PSAiMjAxMCIpOw0KDQogICAgICAgICAgICB2YXIgaXNFbnVtZXJhYmxlID0gZmFsc2U7DQoNCiAgICAgICAgICAgIGZvciAodmFyIHByb3AgaW4gT2JqZWN0KSB7DQogICAgICAgICAgICAgICAgaWYgKHByb3AgPT09ICJpc0V4dGVuc2libGUiKSB7DQogICAgICAgICAgICAgICAgICAgIGlzRW51bWVyYWJsZSA9IHRydWU7DQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfQ0KICAgICAgICANCiAgICAgICAgICAgIGRlbGV0ZSBPYmplY3QuaXNFeHRlbnNpYmxlOw0KDQogICAgICAgICAgICB2YXIgaXNDb25maWd1cmFibGUgPSAhT2JqZWN0Lmhhc093blByb3BlcnR5KCJpc0V4dGVuc2libGUiKTsNCg0KICAgICAgICAgICAgcmV0dXJuIHByb3BlcnR5QXJlQ29ycmVjdCAmJiBpc1dyaXRhYmxlICYmICFpc0VudW1lcmFibGUgJiYgaXNDb25maWd1cmFibGU7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoT2JqZWN0LCAiaXNFeHRlbnNpYmxlIiwgew0KICAgICAgICAgICAgICAgIHZhbHVlOiB0ZW1wLA0KICAgICAgICAgICAgICAgIHdyaXRhYmxlOiB0cnVlLA0KICAgICAgICAgICAgICAgIGVudW1lcmFibGU6IGZhbHNlLA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgfSk7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"ES5 Attributes - all attributes in Object.isExtensible are correct","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-609.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTYxLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnR5IC0gYm90aCBkZXNjLnZhbHVlIGFuZCBuYW1lLnZhbHVlIGFyZSB1bmRlZmluZWQgKDguMTIuOSBzdGVwIDYpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgImZvbyIsIHsgdmFsdWU6IHVuZGVmaW5lZCB9KTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiZm9vIiwgeyB2YWx1ZTogdW5kZWZpbmVkIH0pOw0KICAgICAgICByZXR1cm4gZGF0YVByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3Qob2JqLCAiZm9vIiwgdW5kZWZpbmVkLCBmYWxzZSwgZmFsc2UsIGZhbHNlKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - both desc.value and name.value are undefined (8.12.9 step 6)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-61.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTYxMC5qcw0KICogQGRlc2NyaXB0aW9uIEVTNSBBdHRyaWJ1dGVzIC0gYWxsIGF0dHJpYnV0ZXMgaW4gT2JqZWN0LmtleXMgYXJlIGNvcnJlY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoT2JqZWN0LCAia2V5cyIpOw0KDQogICAgICAgIHZhciBwcm9wZXJ0eUFyZUNvcnJlY3QgPSAoZGVzYy53cml0YWJsZSA9PT0gdHJ1ZSAmJiBkZXNjLmVudW1lcmFibGUgPT09IGZhbHNlICYmIGRlc2MuY29uZmlndXJhYmxlID09PSB0cnVlKTsNCg0KICAgICAgICB2YXIgdGVtcCA9IE9iamVjdC5rZXlzOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3Qua2V5cyA9ICIyMDEwIjsNCg0KICAgICAgICAgICAgdmFyIGlzV3JpdGFibGUgPSAoT2JqZWN0LmtleXMgPT09ICIyMDEwIik7DQoNCiAgICAgICAgICAgIHZhciBpc0VudW1lcmFibGUgPSBmYWxzZTsNCg0KICAgICAgICAgICAgZm9yICh2YXIgcHJvcCBpbiBPYmplY3QpIHsNCiAgICAgICAgICAgICAgICBpZiAocHJvcCA9PT0gImtleXMiKSB7DQogICAgICAgICAgICAgICAgICAgIGlzRW51bWVyYWJsZSA9IHRydWU7DQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfQ0KICAgICAgICANCiAgICAgICAgICAgIGRlbGV0ZSBPYmplY3Qua2V5czsNCg0KICAgICAgICAgICAgdmFyIGlzQ29uZmlndXJhYmxlID0gIU9iamVjdC5oYXNPd25Qcm9wZXJ0eSgia2V5cyIpOw0KDQogICAgICAgICAgICByZXR1cm4gcHJvcGVydHlBcmVDb3JyZWN0ICYmIGlzV3JpdGFibGUgJiYgIWlzRW51bWVyYWJsZSAmJiBpc0NvbmZpZ3VyYWJsZTsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShPYmplY3QsICJrZXlzIiwgew0KICAgICAgICAgICAgICAgIHZhbHVlOiB0ZW1wLA0KICAgICAgICAgICAgICAgIHdyaXRhYmxlOiB0cnVlLA0KICAgICAgICAgICAgICAgIGVudW1lcmFibGU6IGZhbHNlLA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgfSk7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"ES5 Attributes - all attributes in Object.keys are correct","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-610.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTYxMS5qcw0KICogQGRlc2NyaXB0aW9uIEVTNSBBdHRyaWJ1dGVzIC0gYWxsIGF0dHJpYnV0ZXMgaW4gRnVuY3Rpb24ucHJvdG90eXBlLmJpbmQgYXJlIGNvcnJlY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoRnVuY3Rpb24ucHJvdG90eXBlLCAiYmluZCIpOw0KDQogICAgICAgIHZhciBwcm9wZXJ0eUFyZUNvcnJlY3QgPSAoZGVzYy53cml0YWJsZSA9PT0gdHJ1ZSAmJiBkZXNjLmVudW1lcmFibGUgPT09IGZhbHNlICYmIGRlc2MuY29uZmlndXJhYmxlID09PSB0cnVlKTsNCg0KICAgICAgICB2YXIgdGVtcCA9IEZ1bmN0aW9uLnByb3RvdHlwZS5iaW5kOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBGdW5jdGlvbi5wcm90b3R5cGUuYmluZCA9ICIyMDEwIjsNCg0KICAgICAgICAgICAgdmFyIGlzV3JpdGFibGUgPSAoRnVuY3Rpb24ucHJvdG90eXBlLmJpbmQgPT09ICIyMDEwIik7DQoNCiAgICAgICAgICAgIHZhciBpc0VudW1lcmFibGUgPSBmYWxzZTsNCg0KICAgICAgICAgICAgZm9yICh2YXIgcHJvcCBpbiBGdW5jdGlvbi5wcm90b3R5cGUpIHsNCiAgICAgICAgICAgICAgICBpZiAocHJvcCA9PT0gImJpbmQiKSB7DQogICAgICAgICAgICAgICAgICAgIGlzRW51bWVyYWJsZSA9IHRydWU7DQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfQ0KICAgICAgICANCiAgICAgICAgICAgIGRlbGV0ZSBGdW5jdGlvbi5wcm90b3R5cGUuYmluZDsNCg0KICAgICAgICAgICAgdmFyIGlzQ29uZmlndXJhYmxlID0gIUZ1bmN0aW9uLnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eSgiYmluZCIpOw0KDQogICAgICAgICAgICByZXR1cm4gcHJvcGVydHlBcmVDb3JyZWN0ICYmIGlzV3JpdGFibGUgJiYgIWlzRW51bWVyYWJsZSAmJiBpc0NvbmZpZ3VyYWJsZTsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShGdW5jdGlvbi5wcm90b3R5cGUsICJiaW5kIiwgew0KICAgICAgICAgICAgICAgIHZhbHVlOiB0ZW1wLA0KICAgICAgICAgICAgICAgIHdyaXRhYmxlOiB0cnVlLA0KICAgICAgICAgICAgICAgIGVudW1lcmFibGU6IGZhbHNlLA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgfSk7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"ES5 Attributes - all attributes in Function.prototype.bind are correct","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-611.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTYxMi5qcw0KICogQGRlc2NyaXB0aW9uIEVTNSBBdHRyaWJ1dGVzIC0gYWxsIGF0dHJpYnV0ZXMgaW4gQXJyYXkucHJvdG90eXBlLmluZGV4T2YgYXJlIGNvcnJlY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoQXJyYXkucHJvdG90eXBlLCAiaW5kZXhPZiIpOw0KDQogICAgICAgIHZhciBwcm9wZXJ0eUFyZUNvcnJlY3QgPSAoZGVzYy53cml0YWJsZSA9PT0gdHJ1ZSAmJiBkZXNjLmVudW1lcmFibGUgPT09IGZhbHNlICYmIGRlc2MuY29uZmlndXJhYmxlID09PSB0cnVlKTsNCg0KICAgICAgICB2YXIgdGVtcCA9IEFycmF5LnByb3RvdHlwZS5pbmRleE9mOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBBcnJheS5wcm90b3R5cGUuaW5kZXhPZiA9ICIyMDEwIjsNCg0KICAgICAgICAgICAgdmFyIGlzV3JpdGFibGUgPSAoQXJyYXkucHJvdG90eXBlLmluZGV4T2YgPT09ICIyMDEwIik7DQoNCiAgICAgICAgICAgIHZhciBpc0VudW1lcmFibGUgPSBmYWxzZTsNCg0KICAgICAgICAgICAgZm9yICh2YXIgcHJvcCBpbiBBcnJheS5wcm90b3R5cGUpIHsNCiAgICAgICAgICAgICAgICBpZiAocHJvcCA9PT0gImluZGV4T2YiKSB7DQogICAgICAgICAgICAgICAgICAgIGlzRW51bWVyYWJsZSA9IHRydWU7DQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICBkZWxldGUgQXJyYXkucHJvdG90eXBlLmluZGV4T2Y7DQoNCiAgICAgICAgICAgIHZhciBpc0NvbmZpZ3VyYWJsZSA9ICFBcnJheS5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkoImluZGV4T2YiKTsNCg0KICAgICAgICAgICAgcmV0dXJuIHByb3BlcnR5QXJlQ29ycmVjdCAmJiBpc1dyaXRhYmxlICYmICFpc0VudW1lcmFibGUgJiYgaXNDb25maWd1cmFibGU7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoQXJyYXkucHJvdG90eXBlLCAiaW5kZXhPZiIsIHsNCiAgICAgICAgICAgICAgICB2YWx1ZTogdGVtcCwNCiAgICAgICAgICAgICAgICB3cml0YWJsZTogdHJ1ZSwNCiAgICAgICAgICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgIH0pOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"ES5 Attributes - all attributes in Array.prototype.indexOf are correct","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-612.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTYxMy5qcw0KICogQGRlc2NyaXB0aW9uIEVTNSBBdHRyaWJ1dGVzIC0gYWxsIGF0dHJpYnV0ZXMgaW4gT2JqZWN0Lmxhc3RJbmRleE9mIGFyZSBjb3JyZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKEFycmF5LnByb3RvdHlwZSwgImxhc3RJbmRleE9mIik7DQoNCiAgICAgICAgdmFyIHByb3BlcnR5QXJlQ29ycmVjdCA9IChkZXNjLndyaXRhYmxlID09PSB0cnVlICYmIGRlc2MuZW51bWVyYWJsZSA9PT0gZmFsc2UgJiYgZGVzYy5jb25maWd1cmFibGUgPT09IHRydWUpOw0KDQogICAgICAgIHZhciB0ZW1wID0gQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YgPSAiMjAxMCI7DQoNCiAgICAgICAgICAgIHZhciBpc1dyaXRhYmxlID0gKEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZiA9PT0gIjIwMTAiKTsNCg0KICAgICAgICAgICAgdmFyIGlzRW51bWVyYWJsZSA9IGZhbHNlOw0KDQogICAgICAgICAgICBmb3IgKHZhciBwcm9wIGluIEFycmF5LnByb3RvdHlwZSkgew0KICAgICAgICAgICAgICAgIGlmIChwcm9wID09PSAibGFzdEluZGV4T2YiKSB7DQogICAgICAgICAgICAgICAgICAgIGlzRW51bWVyYWJsZSA9IHRydWU7DQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICBkZWxldGUgQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mOw0KDQogICAgICAgICAgICB2YXIgaXNDb25maWd1cmFibGUgPSAhQXJyYXkucHJvdG90eXBlLmhhc093blByb3BlcnR5KCJsYXN0SW5kZXhPZiIpOw0KDQogICAgICAgICAgICByZXR1cm4gcHJvcGVydHlBcmVDb3JyZWN0ICYmIGlzV3JpdGFibGUgJiYgIWlzRW51bWVyYWJsZSAmJiBpc0NvbmZpZ3VyYWJsZTsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShBcnJheS5wcm90b3R5cGUsICJsYXN0SW5kZXhPZiIsIHsNCiAgICAgICAgICAgICAgICB2YWx1ZTogdGVtcCwNCiAgICAgICAgICAgICAgICB3cml0YWJsZTogdHJ1ZSwNCiAgICAgICAgICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgIH0pOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"ES5 Attributes - all attributes in Object.lastIndexOf are correct","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-613.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTYxNC5qcw0KICogQGRlc2NyaXB0aW9uIEVTNSBBdHRyaWJ1dGVzIC0gYWxsIGF0dHJpYnV0ZXMgaW4gQXJyYXkucHJvdG90eXBlLmV2ZXJ5IGFyZSBjb3JyZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKEFycmF5LnByb3RvdHlwZSwgImV2ZXJ5Iik7DQoNCiAgICAgICAgdmFyIHByb3BlcnR5QXJlQ29ycmVjdCA9IChkZXNjLndyaXRhYmxlID09PSB0cnVlICYmIGRlc2MuZW51bWVyYWJsZSA9PT0gZmFsc2UgJiYgZGVzYy5jb25maWd1cmFibGUgPT09IHRydWUpOw0KDQogICAgICAgIHZhciB0ZW1wID0gQXJyYXkucHJvdG90eXBlLmV2ZXJ5Ow0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBBcnJheS5wcm90b3R5cGUuZXZlcnkgPSAiMjAxMCI7DQoNCiAgICAgICAgICAgIHZhciBpc1dyaXRhYmxlID0gKEFycmF5LnByb3RvdHlwZS5ldmVyeSA9PT0gIjIwMTAiKTsNCg0KICAgICAgICAgICAgdmFyIGlzRW51bWVyYWJsZSA9IGZhbHNlOw0KDQogICAgICAgICAgICBmb3IgKHZhciBwcm9wIGluIEFycmF5LnByb3RvdHlwZSkgew0KICAgICAgICAgICAgICAgIGlmIChwcm9wID09PSAiZXZlcnkiKSB7DQogICAgICAgICAgICAgICAgICAgIGlzRW51bWVyYWJsZSA9IHRydWU7DQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICBkZWxldGUgQXJyYXkucHJvdG90eXBlLmV2ZXJ5Ow0KDQogICAgICAgICAgICB2YXIgaXNDb25maWd1cmFibGUgPSAhQXJyYXkucHJvdG90eXBlLmhhc093blByb3BlcnR5KCJldmVyeSIpOw0KDQogICAgICAgICAgICByZXR1cm4gcHJvcGVydHlBcmVDb3JyZWN0ICYmIGlzV3JpdGFibGUgJiYgIWlzRW51bWVyYWJsZSAmJiBpc0NvbmZpZ3VyYWJsZTsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShBcnJheS5wcm90b3R5cGUsICJldmVyeSIsIHsNCiAgICAgICAgICAgICAgICB2YWx1ZTogdGVtcCwNCiAgICAgICAgICAgICAgICB3cml0YWJsZTogdHJ1ZSwNCiAgICAgICAgICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgIH0pOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"ES5 Attributes - all attributes in Array.prototype.every are correct","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-614.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTYxNS5qcw0KICogQGRlc2NyaXB0aW9uIEVTNSBBdHRyaWJ1dGVzIC0gYWxsIGF0dHJpYnV0ZXMgaW4gQXJyYXkucHJvdG90eXBlLnNvbWUgYXJlIGNvcnJlY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoQXJyYXkucHJvdG90eXBlLCAic29tZSIpOw0KDQogICAgICAgIHZhciBwcm9wZXJ0eUFyZUNvcnJlY3QgPSAoZGVzYy53cml0YWJsZSA9PT0gdHJ1ZSAmJiBkZXNjLmVudW1lcmFibGUgPT09IGZhbHNlICYmIGRlc2MuY29uZmlndXJhYmxlID09PSB0cnVlKTsNCg0KICAgICAgICB2YXIgdGVtcCA9IEFycmF5LnByb3RvdHlwZS5zb21lOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBBcnJheS5wcm90b3R5cGUuc29tZSA9ICIyMDEwIjsNCg0KICAgICAgICAgICAgdmFyIGlzV3JpdGFibGUgPSAoQXJyYXkucHJvdG90eXBlLnNvbWUgPT09ICIyMDEwIik7DQoNCiAgICAgICAgICAgIHZhciBpc0VudW1lcmFibGUgPSBmYWxzZTsNCg0KICAgICAgICAgICAgZm9yICh2YXIgcHJvcCBpbiBBcnJheS5wcm90b3R5cGUpIHsNCiAgICAgICAgICAgICAgICBpZiAocHJvcCA9PT0gInNvbWUiKSB7DQogICAgICAgICAgICAgICAgICAgIGlzRW51bWVyYWJsZSA9IHRydWU7DQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICBkZWxldGUgQXJyYXkucHJvdG90eXBlLnNvbWU7DQoNCiAgICAgICAgICAgIHZhciBpc0NvbmZpZ3VyYWJsZSA9ICFBcnJheS5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkoInNvbWUiKTsNCg0KICAgICAgICAgICAgcmV0dXJuIHByb3BlcnR5QXJlQ29ycmVjdCAmJiBpc1dyaXRhYmxlICYmICFpc0VudW1lcmFibGUgJiYgaXNDb25maWd1cmFibGU7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoQXJyYXkucHJvdG90eXBlLCAic29tZSIsIHsNCiAgICAgICAgICAgICAgICB2YWx1ZTogdGVtcCwNCiAgICAgICAgICAgICAgICB3cml0YWJsZTogdHJ1ZSwNCiAgICAgICAgICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgIH0pOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"ES5 Attributes - all attributes in Array.prototype.some are correct","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-615.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTYxNi5qcw0KICogQGRlc2NyaXB0aW9uIEVTNSBBdHRyaWJ1dGVzIC0gYWxsIGF0dHJpYnV0ZXMgaW4gQXJyYXkucHJvdG90eXBlLmZvckVhY2ggYXJlIGNvcnJlY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoQXJyYXkucHJvdG90eXBlLCAiZm9yRWFjaCIpOw0KDQogICAgICAgIHZhciBwcm9wZXJ0eUFyZUNvcnJlY3QgPSAoZGVzYy53cml0YWJsZSA9PT0gdHJ1ZSAmJiBkZXNjLmVudW1lcmFibGUgPT09IGZhbHNlICYmIGRlc2MuY29uZmlndXJhYmxlID09PSB0cnVlKTsNCg0KICAgICAgICB2YXIgdGVtcCA9IEFycmF5LnByb3RvdHlwZS5mb3JFYWNoOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBBcnJheS5wcm90b3R5cGUuZm9yRWFjaCA9ICIyMDEwIjsNCg0KICAgICAgICAgICAgdmFyIGlzV3JpdGFibGUgPSAoQXJyYXkucHJvdG90eXBlLmZvckVhY2ggPT09ICIyMDEwIik7DQoNCiAgICAgICAgICAgIHZhciBpc0VudW1lcmFibGUgPSBmYWxzZTsNCg0KICAgICAgICAgICAgZm9yICh2YXIgcHJvcCBpbiBBcnJheS5wcm90b3R5cGUpIHsNCiAgICAgICAgICAgICAgICBpZiAocHJvcCA9PT0gImZvckVhY2giKSB7DQogICAgICAgICAgICAgICAgICAgIGlzRW51bWVyYWJsZSA9IHRydWU7DQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICBkZWxldGUgQXJyYXkucHJvdG90eXBlLmZvckVhY2g7DQoNCiAgICAgICAgICAgIHZhciBpc0NvbmZpZ3VyYWJsZSA9ICFBcnJheS5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkoImZvckVhY2giKTsNCg0KICAgICAgICAgICAgcmV0dXJuIHByb3BlcnR5QXJlQ29ycmVjdCAmJiBpc1dyaXRhYmxlICYmICFpc0VudW1lcmFibGUgJiYgaXNDb25maWd1cmFibGU7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoQXJyYXkucHJvdG90eXBlLCAiZm9yRWFjaCIsIHsNCiAgICAgICAgICAgICAgICB2YWx1ZTogdGVtcCwNCiAgICAgICAgICAgICAgICB3cml0YWJsZTogdHJ1ZSwNCiAgICAgICAgICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgIH0pOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"ES5 Attributes - all attributes in Array.prototype.forEach are correct","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-616.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTYxNy5qcw0KICogQGRlc2NyaXB0aW9uIEVTNSBBdHRyaWJ1dGVzIC0gYWxsIGF0dHJpYnV0ZXMgaW4gQXJyYXkucHJvdG90eXBlLm1hcCBhcmUgY29ycmVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihBcnJheS5wcm90b3R5cGUsICJtYXAiKTsNCg0KICAgICAgICB2YXIgcHJvcGVydHlBcmVDb3JyZWN0ID0gKGRlc2Mud3JpdGFibGUgPT09IHRydWUgJiYgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJiBkZXNjLmNvbmZpZ3VyYWJsZSA9PT0gdHJ1ZSk7DQoNCiAgICAgICAgdmFyIHRlbXAgPSBBcnJheS5wcm90b3R5cGUubWFwOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBBcnJheS5wcm90b3R5cGUubWFwID0gIjIwMTAiOw0KDQogICAgICAgICAgICB2YXIgaXNXcml0YWJsZSA9IChBcnJheS5wcm90b3R5cGUubWFwID09PSAiMjAxMCIpOw0KDQogICAgICAgICAgICB2YXIgaXNFbnVtZXJhYmxlID0gZmFsc2U7DQoNCiAgICAgICAgICAgIGZvciAodmFyIHByb3AgaW4gQXJyYXkucHJvdG90eXBlKSB7DQogICAgICAgICAgICAgICAgaWYgKHByb3AgPT09ICJtYXAiKSB7DQogICAgICAgICAgICAgICAgICAgIGlzRW51bWVyYWJsZSA9IHRydWU7DQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICBkZWxldGUgQXJyYXkucHJvdG90eXBlLm1hcDsNCg0KICAgICAgICAgICAgdmFyIGlzQ29uZmlndXJhYmxlID0gIUFycmF5LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eSgibWFwIik7DQoNCiAgICAgICAgICAgIHJldHVybiBwcm9wZXJ0eUFyZUNvcnJlY3QgJiYgaXNXcml0YWJsZSAmJiAhaXNFbnVtZXJhYmxlICYmIGlzQ29uZmlndXJhYmxlOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KEFycmF5LnByb3RvdHlwZSwgIm1hcCIsIHsNCiAgICAgICAgICAgICAgICB2YWx1ZTogdGVtcCwNCiAgICAgICAgICAgICAgICB3cml0YWJsZTogdHJ1ZSwNCiAgICAgICAgICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgIH0pOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"ES5 Attributes - all attributes in Array.prototype.map are correct","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-617.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTYxOC5qcw0KICogQGRlc2NyaXB0aW9uIEVTNSBBdHRyaWJ1dGVzIC0gYWxsIGF0dHJpYnV0ZXMgaW4gQXJyYXkucHJvdG90eXBlLmZpbHRlciBhcmUgY29ycmVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihBcnJheS5wcm90b3R5cGUsICJmaWx0ZXIiKTsNCg0KICAgICAgICB2YXIgcHJvcGVydHlBcmVDb3JyZWN0ID0gKGRlc2Mud3JpdGFibGUgPT09IHRydWUgJiYgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJiBkZXNjLmNvbmZpZ3VyYWJsZSA9PT0gdHJ1ZSk7DQoNCiAgICAgICAgdmFyIHRlbXAgPSBBcnJheS5wcm90b3R5cGUuZmlsdGVyOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBBcnJheS5wcm90b3R5cGUuZmlsdGVyID0gIjIwMTAiOw0KDQogICAgICAgICAgICB2YXIgaXNXcml0YWJsZSA9IChBcnJheS5wcm90b3R5cGUuZmlsdGVyID09PSAiMjAxMCIpOw0KDQogICAgICAgICAgICB2YXIgaXNFbnVtZXJhYmxlID0gZmFsc2U7DQoNCiAgICAgICAgICAgIGZvciAodmFyIHByb3AgaW4gQXJyYXkucHJvdG90eXBlKSB7DQogICAgICAgICAgICAgICAgaWYgKHByb3AgPT09ICJmaWx0ZXIiKSB7DQogICAgICAgICAgICAgICAgICAgIGlzRW51bWVyYWJsZSA9IHRydWU7DQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICBkZWxldGUgQXJyYXkucHJvdG90eXBlLmZpbHRlcjsNCg0KICAgICAgICAgICAgdmFyIGlzQ29uZmlndXJhYmxlID0gIUFycmF5LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eSgiZmlsdGVyIik7DQoNCiAgICAgICAgICAgIHJldHVybiBwcm9wZXJ0eUFyZUNvcnJlY3QgJiYgaXNXcml0YWJsZSAmJiAhaXNFbnVtZXJhYmxlICYmIGlzQ29uZmlndXJhYmxlOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KEFycmF5LnByb3RvdHlwZSwgImZpbHRlciIsIHsNCiAgICAgICAgICAgICAgICB2YWx1ZTogdGVtcCwNCiAgICAgICAgICAgICAgICB3cml0YWJsZTogdHJ1ZSwNCiAgICAgICAgICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgIH0pOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"ES5 Attributes - all attributes in Array.prototype.filter are correct","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-618.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTYxOS5qcw0KICogQGRlc2NyaXB0aW9uIEVTNSBBdHRyaWJ1dGVzIC0gYWxsIGF0dHJpYnV0ZXMgaW4gQXJyYXkucHJvdG90eXBlLnJlZHVjZSBhcmUgY29ycmVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihBcnJheS5wcm90b3R5cGUsICJyZWR1Y2UiKTsNCg0KICAgICAgICB2YXIgcHJvcGVydHlBcmVDb3JyZWN0ID0gKGRlc2Mud3JpdGFibGUgPT09IHRydWUgJiYgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJiBkZXNjLmNvbmZpZ3VyYWJsZSA9PT0gdHJ1ZSk7DQoNCiAgICAgICAgdmFyIHRlbXAgPSBBcnJheS5wcm90b3R5cGUucmVkdWNlOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBBcnJheS5wcm90b3R5cGUucmVkdWNlID0gIjIwMTAiOw0KDQogICAgICAgICAgICB2YXIgaXNXcml0YWJsZSA9IChBcnJheS5wcm90b3R5cGUucmVkdWNlID09PSAiMjAxMCIpOw0KDQogICAgICAgICAgICB2YXIgaXNFbnVtZXJhYmxlID0gZmFsc2U7DQoNCiAgICAgICAgICAgIGZvciAodmFyIHByb3AgaW4gQXJyYXkucHJvdG90eXBlKSB7DQogICAgICAgICAgICAgICAgaWYgKHByb3AgPT09ICJyZWR1Y2UiKSB7DQogICAgICAgICAgICAgICAgICAgIGlzRW51bWVyYWJsZSA9IHRydWU7DQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICBkZWxldGUgQXJyYXkucHJvdG90eXBlLnJlZHVjZTsNCg0KICAgICAgICAgICAgdmFyIGlzQ29uZmlndXJhYmxlID0gIUFycmF5LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eSgicmVkdWNlIik7DQoNCiAgICAgICAgICAgIHJldHVybiBwcm9wZXJ0eUFyZUNvcnJlY3QgJiYgaXNXcml0YWJsZSAmJiAhaXNFbnVtZXJhYmxlICYmIGlzQ29uZmlndXJhYmxlOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KEFycmF5LnByb3RvdHlwZSwgInJlZHVjZSIsIHsNCiAgICAgICAgICAgICAgICB2YWx1ZTogdGVtcCwNCiAgICAgICAgICAgICAgICB3cml0YWJsZTogdHJ1ZSwNCiAgICAgICAgICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgIH0pOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"ES5 Attributes - all attributes in Array.prototype.reduce are correct","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-619.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTYyLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnR5IC0gYm90aCBkZXNjLnZhbHVlIGFuZCBuYW1lLnZhbHVlIGFyZSBudWxsICg4LjEyLjkgc3RlcCA2KQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJmb28iLCB7IHZhbHVlOiBudWxsIH0pOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJmb28iLCB7IHZhbHVlOiBudWxsIH0pOw0KICAgICAgICByZXR1cm4gZGF0YVByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3Qob2JqLCAiZm9vIiwgbnVsbCwgZmFsc2UsIGZhbHNlLCBmYWxzZSk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - both desc.value and name.value are null (8.12.9 step 6)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-62.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTYyMC5qcw0KICogQGRlc2NyaXB0aW9uIEVTNSBBdHRyaWJ1dGVzIC0gYWxsIGF0dHJpYnV0ZXMgaW4gQXJyYXkucHJvdG90eXBlLnJlZHVjZVJpZ2h0IGFyZSBjb3JyZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKEFycmF5LnByb3RvdHlwZSwgInJlZHVjZVJpZ2h0Iik7DQoNCiAgICAgICAgdmFyIHByb3BlcnR5QXJlQ29ycmVjdCA9IChkZXNjLndyaXRhYmxlID09PSB0cnVlICYmIGRlc2MuZW51bWVyYWJsZSA9PT0gZmFsc2UgJiYgZGVzYy5jb25maWd1cmFibGUgPT09IHRydWUpOw0KDQogICAgICAgIHZhciB0ZW1wID0gQXJyYXkucHJvdG90eXBlLnJlZHVjZVJpZ2h0Ow0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQgPSAiMjAxMCI7DQoNCiAgICAgICAgICAgIHZhciBpc1dyaXRhYmxlID0gKEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodCA9PT0gIjIwMTAiKTsNCg0KICAgICAgICAgICAgdmFyIGlzRW51bWVyYWJsZSA9IGZhbHNlOw0KDQogICAgICAgICAgICBmb3IgKHZhciBwcm9wIGluIEFycmF5LnByb3RvdHlwZSkgew0KICAgICAgICAgICAgICAgIGlmIChwcm9wID09PSAicmVkdWNlUmlnaHQiKSB7DQogICAgICAgICAgICAgICAgICAgIGlzRW51bWVyYWJsZSA9IHRydWU7DQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICBkZWxldGUgQXJyYXkucHJvdG90eXBlLnJlZHVjZVJpZ2h0Ow0KDQogICAgICAgICAgICB2YXIgaXNDb25maWd1cmFibGUgPSAhQXJyYXkucHJvdG90eXBlLmhhc093blByb3BlcnR5KCJyZWR1Y2VSaWdodCIpOw0KDQogICAgICAgICAgICByZXR1cm4gcHJvcGVydHlBcmVDb3JyZWN0ICYmIGlzV3JpdGFibGUgJiYgIWlzRW51bWVyYWJsZSAmJiBpc0NvbmZpZ3VyYWJsZTsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShBcnJheS5wcm90b3R5cGUsICJyZWR1Y2VSaWdodCIsIHsNCiAgICAgICAgICAgICAgICB2YWx1ZTogdGVtcCwNCiAgICAgICAgICAgICAgICB3cml0YWJsZTogdHJ1ZSwNCiAgICAgICAgICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgIH0pOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"ES5 Attributes - all attributes in Array.prototype.reduceRight are correct","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-620.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTYyMS5qcw0KICogQGRlc2NyaXB0aW9uIEVTNSBBdHRyaWJ1dGVzIC0gYWxsIGF0dHJpYnV0ZXMgaW4gU3RyaW5nLnByb3RvdHlwZS50cmltIGFyZSBjb3JyZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKFN0cmluZy5wcm90b3R5cGUsICJ0cmltIik7DQoNCiAgICAgICAgdmFyIHByb3BlcnR5QXJlQ29ycmVjdCA9IChkZXNjLndyaXRhYmxlID09PSB0cnVlICYmIGRlc2MuZW51bWVyYWJsZSA9PT0gZmFsc2UgJiYgZGVzYy5jb25maWd1cmFibGUgPT09IHRydWUpOw0KDQogICAgICAgIHZhciB0ZW1wID0gU3RyaW5nLnByb3RvdHlwZS50cmltOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBTdHJpbmcucHJvdG90eXBlLnRyaW0gPSAiMjAxMCI7DQoNCiAgICAgICAgICAgIHZhciBpc1dyaXRhYmxlID0gKFN0cmluZy5wcm90b3R5cGUudHJpbSA9PT0gIjIwMTAiKTsNCg0KICAgICAgICAgICAgdmFyIGlzRW51bWVyYWJsZSA9IGZhbHNlOw0KDQogICAgICAgICAgICBmb3IgKHZhciBwcm9wIGluIFN0cmluZy5wcm90b3R5cGUpIHsNCiAgICAgICAgICAgICAgICBpZiAocHJvcCA9PT0gInRyaW0iKSB7DQogICAgICAgICAgICAgICAgICAgIGlzRW51bWVyYWJsZSA9IHRydWU7DQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICBkZWxldGUgU3RyaW5nLnByb3RvdHlwZS50cmltOw0KDQogICAgICAgICAgICB2YXIgaXNDb25maWd1cmFibGUgPSAhU3RyaW5nLnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eSgidHJpbSIpOw0KDQogICAgICAgICAgICByZXR1cm4gcHJvcGVydHlBcmVDb3JyZWN0ICYmIGlzV3JpdGFibGUgJiYgIWlzRW51bWVyYWJsZSAmJiBpc0NvbmZpZ3VyYWJsZTsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShTdHJpbmcucHJvdG90eXBlLCAidHJpbSIsIHsNCiAgICAgICAgICAgICAgICB2YWx1ZTogdGVtcCwNCiAgICAgICAgICAgICAgICB3cml0YWJsZTogdHJ1ZSwNCiAgICAgICAgICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgIH0pOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"ES5 Attributes - all attributes in String.prototype.trim are correct","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-621.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTYyMi5qcw0KICogQGRlc2NyaXB0aW9uIEVTNSBBdHRyaWJ1dGVzIC0gYWxsIGF0dHJpYnV0ZXMgaW4gRGF0ZS5ub3cgYXJlIGNvcnJlY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoRGF0ZSwgIm5vdyIpOw0KDQogICAgICAgIHZhciBwcm9wZXJ0eUFyZUNvcnJlY3QgPSAoZGVzYy53cml0YWJsZSA9PT0gdHJ1ZSAmJiBkZXNjLmVudW1lcmFibGUgPT09IGZhbHNlICYmIGRlc2MuY29uZmlndXJhYmxlID09PSB0cnVlKTsNCg0KICAgICAgICB2YXIgdGVtcCA9IERhdGUubm93Ow0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBEYXRlLm5vdyA9ICIyMDEwIjsNCg0KICAgICAgICAgICAgdmFyIGlzV3JpdGFibGUgPSAoRGF0ZS5ub3cgPT09ICIyMDEwIik7DQoNCiAgICAgICAgICAgIHZhciBpc0VudW1lcmFibGUgPSBmYWxzZTsNCg0KICAgICAgICAgICAgZm9yICh2YXIgcHJvcCBpbiBEYXRlKSB7DQogICAgICAgICAgICAgICAgaWYgKHByb3AgPT09ICJub3ciKSB7DQogICAgICAgICAgICAgICAgICAgIGlzRW51bWVyYWJsZSA9IHRydWU7DQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICBkZWxldGUgRGF0ZS5ub3c7DQoNCiAgICAgICAgICAgIHZhciBpc0NvbmZpZ3VyYWJsZSA9ICFEYXRlLmhhc093blByb3BlcnR5KCJub3ciKTsNCg0KICAgICAgICAgICAgcmV0dXJuIHByb3BlcnR5QXJlQ29ycmVjdCAmJiBpc1dyaXRhYmxlICYmICFpc0VudW1lcmFibGUgJiYgaXNDb25maWd1cmFibGU7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoRGF0ZSwgIm5vdyIsIHsNCiAgICAgICAgICAgICAgICB2YWx1ZTogdGVtcCwNCiAgICAgICAgICAgICAgICB3cml0YWJsZTogdHJ1ZSwNCiAgICAgICAgICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgIH0pOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"ES5 Attributes - all attributes in Date.now are correct","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-622.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTYyMy5qcw0KICogQGRlc2NyaXB0aW9uIEVTNSBBdHRyaWJ1dGVzIC0gYWxsIGF0dHJpYnV0ZXMgaW4gRGF0ZS5wcm90b3R5cGUudG9JU09TdHJpbmcgYXJlIGNvcnJlY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoRGF0ZS5wcm90b3R5cGUsICJ0b0lTT1N0cmluZyIpOw0KDQogICAgICAgIHZhciBwcm9wZXJ0eUFyZUNvcnJlY3QgPSAoZGVzYy53cml0YWJsZSA9PT0gdHJ1ZSAmJiBkZXNjLmVudW1lcmFibGUgPT09IGZhbHNlICYmIGRlc2MuY29uZmlndXJhYmxlID09PSB0cnVlKTsNCg0KICAgICAgICB2YXIgdGVtcCA9IERhdGUucHJvdG90eXBlLnRvSVNPU3RyaW5nOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBEYXRlLnByb3RvdHlwZS50b0lTT1N0cmluZyA9ICIyMDEwIjsNCg0KICAgICAgICAgICAgdmFyIGlzV3JpdGFibGUgPSAoRGF0ZS5wcm90b3R5cGUudG9JU09TdHJpbmcgPT09ICIyMDEwIik7DQoNCiAgICAgICAgICAgIHZhciBpc0VudW1lcmFibGUgPSBmYWxzZTsNCg0KICAgICAgICAgICAgZm9yICh2YXIgcHJvcCBpbiBEYXRlLnByb3RvdHlwZSkgew0KICAgICAgICAgICAgICAgIGlmIChwcm9wID09PSAidG9JU09TdHJpbmciKSB7DQogICAgICAgICAgICAgICAgICAgIGlzRW51bWVyYWJsZSA9IHRydWU7DQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICBkZWxldGUgRGF0ZS5wcm90b3R5cGUudG9JU09TdHJpbmc7DQoNCiAgICAgICAgICAgIHZhciBpc0NvbmZpZ3VyYWJsZSA9ICFEYXRlLnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eSgidG9JU09TdHJpbmciKTsNCg0KICAgICAgICAgICAgcmV0dXJuIHByb3BlcnR5QXJlQ29ycmVjdCAmJiBpc1dyaXRhYmxlICYmICFpc0VudW1lcmFibGUgJiYgaXNDb25maWd1cmFibGU7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoRGF0ZS5wcm90b3R5cGUsICJ0b0lTT1N0cmluZyIsIHsNCiAgICAgICAgICAgICAgICB2YWx1ZTogdGVtcCwNCiAgICAgICAgICAgICAgICB3cml0YWJsZTogdHJ1ZSwNCiAgICAgICAgICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgIH0pOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"ES5 Attributes - all attributes in Date.prototype.toISOString are correct","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-623.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTYyNC5qcw0KICogQGRlc2NyaXB0aW9uIEVTNSBBdHRyaWJ1dGVzIC0gYWxsIGF0dHJpYnV0ZXMgaW4gRGF0ZS5wcm90b3R5cGUudG9KU09OIGFyZSBjb3JyZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKERhdGUucHJvdG90eXBlLCAidG9KU09OIik7DQoNCiAgICAgICAgdmFyIHByb3BlcnR5QXJlQ29ycmVjdCA9IChkZXNjLndyaXRhYmxlID09PSB0cnVlICYmIGRlc2MuZW51bWVyYWJsZSA9PT0gZmFsc2UgJiYgZGVzYy5jb25maWd1cmFibGUgPT09IHRydWUpOw0KDQogICAgICAgIHZhciB0ZW1wID0gRGF0ZS5wcm90b3R5cGUudG9KU09OOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBEYXRlLnByb3RvdHlwZS50b0pTT04gPSAiMjAxMCI7DQoNCiAgICAgICAgICAgIHZhciBpc1dyaXRhYmxlID0gKERhdGUucHJvdG90eXBlLnRvSlNPTiA9PT0gIjIwMTAiKTsNCg0KICAgICAgICAgICAgdmFyIGlzRW51bWVyYWJsZSA9IGZhbHNlOw0KDQogICAgICAgICAgICBmb3IgKHZhciBwcm9wIGluIERhdGUucHJvdG90eXBlKSB7DQogICAgICAgICAgICAgICAgaWYgKHByb3AgPT09ICJ0b0pTT04iKSB7DQogICAgICAgICAgICAgICAgICAgIGlzRW51bWVyYWJsZSA9IHRydWU7DQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICBkZWxldGUgRGF0ZS5wcm90b3R5cGUudG9KU09OOw0KDQogICAgICAgICAgICB2YXIgaXNDb25maWd1cmFibGUgPSAhRGF0ZS5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkoInRvSlNPTiIpOw0KDQogICAgICAgICAgICByZXR1cm4gcHJvcGVydHlBcmVDb3JyZWN0ICYmIGlzV3JpdGFibGUgJiYgIWlzRW51bWVyYWJsZSAmJiBpc0NvbmZpZ3VyYWJsZTsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShEYXRlLnByb3RvdHlwZSwgInRvSlNPTiIsIHsNCiAgICAgICAgICAgICAgICB2YWx1ZTogdGVtcCwNCiAgICAgICAgICAgICAgICB3cml0YWJsZTogdHJ1ZSwNCiAgICAgICAgICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgIH0pOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"ES5 Attributes - all attributes in Date.prototype.toJSON are correct","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-624.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTYyNWdzLmpzDQogKiBAZGVzY3JpcHRpb24gR2xvYmFsbHkgZGVjbGFyZWQgdmFyaWFibGUgc2hvdWxkIHRha2UgcHJlY2VkZW5jZSBvdmVyIE9iamVjdC5wcm90b3R5cGUgcHJvcGVydHkgb2YgdGhlIHNhbWUgbmFtZQ0KICovDQoNCk9iamVjdC5kZWZpbmVQcm9wZXJ0eShPYmplY3QucHJvdG90eXBlLCANCiAgICAgICAgICAgICAgICAgICAgICAicHJvcCIsIA0KICAgICAgICAgICAgICAgICAgICAgIHsgdmFsdWU6IDEwMDEsIHdyaXRhYmxlOiBmYWxzZSwgZW51bWVyYWJsZTogZmFsc2UsIGNvbmZpZ3VyYWJsZTogZmFsc2V9IA0KICAgICAgICAgICAgICAgICAgICAgICk7DQp2YXIgcHJvcCA9IDEwMDI7DQoNCmlmICghICh0aGlzLmhhc093blByb3BlcnR5KCJwcm9wIikgJiYgcHJvcCA9PT0gMTAwMikpIHsNCiAgICB0aHJvdyAidGhpcy5wcm9wIHNob3VsZCB0YWtlIHByZWNlZGVuY2Ugb3ZlciBPYmplY3QucHJvdG90eXBlLnByb3AiOw0KfQ0K","commentary":"","description":"Globally declared variable should take precedence over Object.prototype property of the same name","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-625gs.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTYzLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnR5IC0gYm90aCBkZXNjLnZhbHVlIGFuZCBuYW1lLnZhbHVlIGFyZSBOYU4gKDguMTIuOSBzdGVwIDYpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgImZvbyIsIHsgdmFsdWU6IE5hTiB9KTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiZm9vIiwgeyB2YWx1ZTogTmFOIH0pOw0KDQogICAgICAgIGlmICghaXNOYU4ob2JqLmZvbykpIHsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfQ0KDQogICAgICAgIG9iai5mb28gPSAidmVyaWZ5VmFsdWUiOw0KICAgICAgICBpZiAob2JqLmZvbyA9PT0gInZlcmlmeVZhbHVlIikgew0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9DQoNCiAgICAgICAgZm9yICh2YXIgcHJvcCBpbiBvYmopIHsNCiAgICAgICAgICAgIGlmIChvYmouaGFzT3duUHJvcGVydHkocHJvcCkgJiYgcHJvcCA9PT0gImZvbyIpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICBkZWxldGUgb2JqLmZvbzsNCiAgICAgICAgaWYgKCFvYmouaGFzT3duUHJvcGVydHkoImZvbyIpKSB7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0NCg0KICAgICAgICByZXR1cm4gdHJ1ZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - both desc.value and name.value are NaN (8.12.9 step 6)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-63.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTY0LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnR5IC0gZGVzYy52YWx1ZSA9ICswIGFuZCBuYW1lLnZhbHVlID0gLTAgKDguMTIuOSBzdGVwIDYpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgImZvbyIsIHsgdmFsdWU6IC0wIH0pOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiZm9vIiwgeyB2YWx1ZTogKzAgfSk7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiBlIGluc3RhbmNlb2YgVHlwZUVycm9yICYmIGRhdGFQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KG9iaiwgImZvbyIsIC0wLCBmYWxzZSwgZmFsc2UsIGZhbHNlKTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - desc.value = +0 and name.value = -0 (8.12.9 step 6)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-64.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTY1LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnR5IC0gZGVzYy52YWx1ZSA9IC0wIGFuZCBuYW1lLnZhbHVlID0gKzAgKDguMTIuOSBzdGVwIDYpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgImZvbyIsIHsgdmFsdWU6ICswIH0pOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiZm9vIiwgeyB2YWx1ZTogLTAgfSk7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiBlIGluc3RhbmNlb2YgVHlwZUVycm9yICYmIGRhdGFQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KG9iaiwgImZvbyIsICswLCBmYWxzZSwgZmFsc2UsIGZhbHNlKTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - desc.value = -0 and name.value = +0 (8.12.9 step 6)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-65.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTY2LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnR5IC0gZGVzYy52YWx1ZSBhbmQgbmFtZS52YWx1ZSBhcmUgdHdvIG51bWJlcnMgd2l0aCBkaWZmZXJlbnQgdmFsdWVzICg4LjEyLjkgc3RlcCA2KQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIG9iai5mb28gPSAxMDE7IC8vIGRlZmF1bHQgdmFsdWUgb2YgYXR0cmlidXRlczogd3JpdGFibGU6IHRydWUsIGNvbmZpZ3VyYWJsZTogdHJ1ZSwgZW51bWVyYWJsZTogdHJ1ZQ0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJmb28iLCB7IHZhbHVlOiAxMDIgfSk7DQogICAgICAgIHJldHVybiBkYXRhUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChvYmosICJmb28iLCAxMDIsIHRydWUsIHRydWUsIHRydWUpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - desc.value and name.value are two numbers with different values (8.12.9 step 6)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-66.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTY3LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnR5IC0gYm90aCBkZXNjLnZhbHVlIGFuZCBuYW1lLnZhbHVlIGFyZSB0d28gc3RyaW5ncyB3aGljaCBoYXZlIHNhbWUgbGVuZ3RoIGFuZCBzYW1lIGNoYXJhY3RlcnMgaW4gY29ycmVzcG9uZGluZyBwb3NpdGlvbnMgKDguMTIuOSBzdGVwIDYpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgImZvbyIsIHsgdmFsdWU6ICJhYmNkIiB9KTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiZm9vIiwgeyB2YWx1ZTogImFiY2QiIH0pOw0KICAgICAgICByZXR1cm4gZGF0YVByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3Qob2JqLCAiZm9vIiwgImFiY2QiLCBmYWxzZSwgZmFsc2UsIGZhbHNlKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - both desc.value and name.value are two strings which have same length and same characters in corresponding positions (8.12.9 step 6)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-67.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTY4LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnR5IC0gZGVzYy52YWx1ZSBhbmQgbmFtZS52YWx1ZSBhcmUgdHdvIHN0cmluZ3Mgd2l0aCBkaWZmZXJlbnQgdmFsdWVzICg4LjEyLjkgc3RlcCA2KQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIG9iai5mb28gPSAiYWJjZCI7IC8vIGRlZmF1bHQgdmFsdWUgb2YgYXR0cmlidXRlczogd3JpdGFibGU6IHRydWUsIGNvbmZpZ3VyYWJsZTogdHJ1ZSwgZW51bWVyYWJsZTogdHJ1ZQ0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJmb28iLCB7IHZhbHVlOiAiZmdoaiIgfSk7DQogICAgICAgIHJldHVybiBkYXRhUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChvYmosICJmb28iLCAiZmdoaiIsIHRydWUsIHRydWUsIHRydWUpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - desc.value and name.value are two strings with different values (8.12.9 step 6)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-68.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTY5LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnR5IC0gYm90aCBkZXNjLnZhbHVlIGFuZCBuYW1lLnZhbHVlIGFyZSBib29sZWFuIHZhbHVlcyB3aXRoIHRoZSBzYW1lIHZhbHVlICg4LjEyLjkgc3RlcCA2KQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJmb28iLCB7IHZhbHVlOiB0cnVlIH0pOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJmb28iLCB7IHZhbHVlOiB0cnVlIH0pOw0KICAgICAgICByZXR1cm4gZGF0YVByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3Qob2JqLCAiZm9vIiwgdHJ1ZSwgZmFsc2UsIGZhbHNlLCBmYWxzZSk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - both desc.value and name.value are boolean values with the same value (8.12.9 step 6)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-69.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogU3RlcCA0IG9mIGRlZmluZVByb3BlcnR5IGNhbGxzIHRoZSBbW0RlZmluZU93blByb3BlcnR5XV0gaW50ZXJuYWwgbWV0aG9kDQogKiBvZiBPIHRvIGRlZmluZSB0aGUgcHJvcGVydHkuIFN0ZXAgN2Egb2YgW1tEZWZpbmVPd25Qcm9wZXJ0eV1dIHJlamVjdHMgaWYNCiAqIGN1cnJlbnQuW1tDb25maWd1cmFibGVdXSBpcyBmYWxzZSBhbmQgZGVzYy5bW0NvbmZpZ3VyYWJsZV1dIGlzIHRydWUuDQogKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTcuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgdGhyb3dzIFR5cGVFcnJvciB3aGVuIGNoYW5naW5nIFtbQ29uZmlndXJhYmxlXV0gZnJvbSBmYWxzZSB0byB0cnVlDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIG8gPSB7fTsNCg0KICAvLyBjcmVhdGUgYSBkYXRhIHZhbHVlZCBwcm9wZXJ0eTsgYWxsIG90aGVyIGF0dHJpYnV0ZXMgZGVmYXVsdCB0byBmYWxzZS4NCiAgdmFyIGQxID0geyB2YWx1ZTogMTAxLCBjb25maWd1cmFibGU6IGZhbHNlIH07DQogIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvLCAiZm9vIiwgZDEpOw0KDQogIHZhciBkZXNjID0geyB2YWx1ZTogMTAxLCBjb25maWd1cmFibGU6IHRydWUgfTsNCg0KICB0cnkgew0KICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvLCAiZm9vIiwgZGVzYyk7DQogIH0NCiAgY2F0Y2ggKGUpIHsNCiAgICBpZiAoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikgew0KICAgICAgLy8gdGhlIHByb3BlcnR5IHNob3VsZCByZW1haW4gdW5jaGFuZ2VkLg0KICAgICAgdmFyIGQyID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvLCAiZm9vIik7DQogICAgICBpZiAoZDIudmFsdWUgPT09IDEwMSAmJg0KICAgICAgICAgIGQyLmNvbmZpZ3VyYWJsZSA9PT0gZmFsc2UpIHsNCiAgICAgICAgcmV0dXJuIHRydWU7DQogICAgICB9DQogICAgfQ0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"Step 4 of defineProperty calls the [[DefineOwnProperty]] internal method\nof O to define the property. Step 7a of [[DefineOwnProperty]] rejects if\ncurrent.[[Configurable]] is false and desc.[[Configurable]] is true.","description":"Object.defineProperty throws TypeError when changing [[Configurable]] from false to true","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-7.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTcwLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnR5IC0gZGVzYy52YWx1ZSBhbmQgbmFtZS52YWx1ZSBhcmUgdHdvIGJvb2xlYW4gdmFsdWVzIHdpdGggZGlmZmVyZW50IHZhbHVlcyAoOC4xMi45IHN0ZXAgNikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBvYmouZm9vID0gdHJ1ZTsgLy8gZGVmYXVsdCB2YWx1ZSBvZiBhdHRyaWJ1dGVzOiB3cml0YWJsZTogdHJ1ZSwgY29uZmlndXJhYmxlOiB0cnVlLCBlbnVtZXJhYmxlOiB0cnVlDQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgImZvbyIsIHsgdmFsdWU6IGZhbHNlIH0pOw0KICAgICAgICByZXR1cm4gZGF0YVByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3Qob2JqLCAiZm9vIiwgZmFsc2UsIHRydWUsIHRydWUsIHRydWUpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - desc.value and name.value are two boolean values with different values (8.12.9 step 6)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-70.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTcxLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnR5IC0gYm90aCBkZXNjLnZhbHVlIGFuZCBuYW1lLnZhbHVlIGFyZSBPamJlY3RzIHdoaWNoIHJlZmVyIHRvIHRoZSBzYW1lIE9iamVjdCAoOC4xMi45IHN0ZXAgNikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICB2YXIgb2JqMSA9IHsgbGVuZ3RoOiAxMCB9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJmb28iLCB7IHZhbHVlOiBvYmoxIH0pOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJmb28iLCB7IHZhbHVlOiBvYmoxIH0pOw0KICAgICAgICByZXR1cm4gZGF0YVByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3Qob2JqLCAiZm9vIiwgb2JqMSwgZmFsc2UsIGZhbHNlLCBmYWxzZSk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - both desc.value and name.value are Ojbects which refer to the same Object (8.12.9 step 6)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-71.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTcyLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnR5IC0gZGVzYy52YWx1ZSBhbmQgbmFtZS52YWx1ZSBhcmUgdHdvIE9qYmVjdHMgd2hpY2ggcmVmZXIgdG8gdGhlIGRpZmZlcmVudCBvYmplY3RzICg4LjEyLjkgc3RlcCA2KQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIHZhciBvYmoxID0geyBsZW5ndGg6IDEwIH07DQogICAgICAgIG9iai5mb28gPSBvYmoxOyAvLyBkZWZhdWx0IHZhbHVlIG9mIGF0dHJpYnV0ZXM6IHdyaXRhYmxlOiB0cnVlLCBjb25maWd1cmFibGU6IHRydWUsIGVudW1lcmFibGU6IHRydWUNCg0KICAgICAgICB2YXIgb2JqMiA9IHsgbGVuZ3RoOiAyMCB9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJmb28iLCB7IHZhbHVlOiBvYmoyIH0pOw0KICAgICAgICByZXR1cm4gZGF0YVByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3Qob2JqLCAiZm9vIiwgb2JqMiwgdHJ1ZSwgdHJ1ZSwgdHJ1ZSk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - desc.value and name.value are two Ojbects which refer to the different objects (8.12.9 step 6)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-72.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTczLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnR5IC0gYm90aCBkZXNjLndyaXRhYmxlIGFuZCBuYW1lLndyaXRhYmxlIGFyZSBib29sZWFuIHZhbHVlcyB3aXRoIHRoZSBzYW1lIHZhbHVlICg4LjEyLjkgc3RlcCA2KQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJmb28iLCB7IHdyaXRhYmxlOiBmYWxzZX0pOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJmb28iLCB7IHdyaXRhYmxlOiBmYWxzZSB9KTsNCiAgICAgICAgcmV0dXJuIGRhdGFQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KG9iaiwgImZvbyIsIHVuZGVmaW5lZCwgZmFsc2UsIGZhbHNlLCBmYWxzZSk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - both desc.writable and name.writable are boolean values with the same value (8.12.9 step 6)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-73.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTc0LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnR5IC0gZGVzYy53cml0YWJsZSBhbmQgbmFtZS53cml0YWJsZSBhcmUgdHdvIGJvb2xlYW4gdmFsdWVzIHdpdGggZGlmZmVyZW50IHZhbHVlcyAoOC4xMi45IHN0ZXAgNikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgIA0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgImZvbyIsIHsgd3JpdGFibGU6IGZhbHNlLCBjb25maWd1cmFibGU6IHRydWUgfSk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgImZvbyIsIHsgd3JpdGFibGU6IHRydWUgfSk7DQogICAgICAgIHJldHVybiBkYXRhUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChvYmosICJmb28iLCB1bmRlZmluZWQsIHRydWUsIGZhbHNlLCB0cnVlKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - desc.writable and name.writable are two boolean values with different values (8.12.9 step 6)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-74.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTc1LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnR5IC0gYm90aCBkZXNjLltbR2V0XV0gYW5kIG5hbWUuW1tHZXRdXSBhcmUgdHdvIG9iamVjdHMgd2hpY2ggcmVmZXIgdG8gdGhlIHNhbWUgb2JqZWN0ICg4LjEyLjkgc3RlcCA2KQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIGZ1bmN0aW9uIGdldEZ1bmMoKSB7DQogICAgICAgICAgICByZXR1cm4gMTA7DQogICAgICAgIH0NCiAgICAgICAgZnVuY3Rpb24gc2V0RnVuYyh2YWx1ZSkgew0KICAgICAgICAgICAgb2JqLmhlbHBWZXJpZnlTZXQgPSB2YWx1ZTsNCiAgICAgICAgfQ0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJmb28iLCB7DQogICAgICAgICAgICBnZXQ6IGdldEZ1bmMsDQogICAgICAgICAgICBzZXQ6IHNldEZ1bmMNCiAgICAgICAgfSk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgImZvbyIsIHsgZ2V0OiBnZXRGdW5jIH0pOw0KICAgICAgICByZXR1cm4gYWNjZXNzb3JQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KG9iaiwgImZvbyIsIGdldEZ1bmMsIHNldEZ1bmMsICJoZWxwVmVyaWZ5U2V0IiwgZmFsc2UsIGZhbHNlKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - both desc.[[Get]] and name.[[Get]] are two objects which refer to the same object (8.12.9 step 6)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-75.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTc2LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnR5IC0gZGVzYy5bW0dldF1dIGFuZCBuYW1lLltbR2V0XV0gYXJlIHR3byBvYmplY3RzIHdoaWNoIHJlZmVyIHRvIHRoZSBkaWZmZXJlbnQgb2JqZWN0cyAoOC4xMi45IHN0ZXAgNikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBmdW5jdGlvbiBnZXRGdW5jMSgpIHsNCiAgICAgICAgICAgIHJldHVybiAxMDsNCiAgICAgICAgfQ0KICAgICAgICBmdW5jdGlvbiBzZXRGdW5jMSh2YWx1ZSkgew0KICAgICAgICAgICAgb2JqLmhlbHBWZXJpZnlTZXQgPSB2YWx1ZTsNCiAgICAgICAgfQ0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJmb28iLCB7DQogICAgICAgICAgICBnZXQ6IGdldEZ1bmMxLA0KICAgICAgICAgICAgc2V0OiBzZXRGdW5jMSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBmdW5jdGlvbiBnZXRGdW5jMigpIHsNCiAgICAgICAgICAgIHJldHVybiAyMDsNCiAgICAgICAgfQ0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJmb28iLCB7IGdldDogZ2V0RnVuYzIgfSk7DQogICAgICAgIHJldHVybiBhY2Nlc3NvclByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3Qob2JqLCAiZm9vIiwgZ2V0RnVuYzIsIHNldEZ1bmMxLCAiaGVscFZlcmlmeVNldCIsIGZhbHNlLCB0cnVlKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - desc.[[Get]] and name.[[Get]] are two objects which refer to the different objects (8.12.9 step 6)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-76.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTc3LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnR5IC0gYm90aCBkZXNjLltbU2V0XV0gYW5kIG5hbWUuW1tTZXRdXSBhcmUgdHdvIG9iamVjdHMgd2hpY2ggcmVmZXIgdG8gdGhlIHNhbWUgb2JqZWN0ICg4LjEyLjkgc3RlcCA2KQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIGZ1bmN0aW9uIHNldEZ1bmModmFsdWUpIHsNCiAgICAgICAgICAgIG9iai5zZXRWZXJpZnlIZWxwUHJvcCA9IHZhbHVlOw0KICAgICAgICB9DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgImZvbyIsIHsgc2V0OiBzZXRGdW5jIH0pOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJmb28iLCB7IHNldDogc2V0RnVuYyB9KTsNCiAgICAgICAgcmV0dXJuIGFjY2Vzc29yUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChvYmosICJmb28iLCB1bmRlZmluZWQsIHNldEZ1bmMsICJzZXRWZXJpZnlIZWxwUHJvcCIsIGZhbHNlLCBmYWxzZSk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - both desc.[[Set]] and name.[[Set]] are two objects which refer to the same object (8.12.9 step 6)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-77.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTc4LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnR5IC0gZGVzYy5bW1NldF1dIGFuZCBuYW1lLltbU2V0XV0gYXJlIHR3byBvYmplY3RzIHdoaWNoIHJlZmVyIHRvIHRoZSBkaWZmZXJlbnQgb2JqZWN0cyAoOC4xMi45IHN0ZXAgNikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBmdW5jdGlvbiBzZXRGdW5jMSgpIHsgfQ0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJmb28iLCB7DQogICAgICAgICAgICBzZXQ6IHNldEZ1bmMxLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIGZ1bmN0aW9uIHNldEZ1bmMyKHZhbHVlKSB7DQogICAgICAgICAgICBvYmouc2V0VmVyaWZ5SGVscFByb3AgPSB2YWx1ZTsNCiAgICAgICAgfQ0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJmb28iLCB7IHNldDogc2V0RnVuYzIgfSk7DQogICAgICAgIHJldHVybiBhY2Nlc3NvclByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3Qob2JqLCAiZm9vIiwgdW5kZWZpbmVkLCBzZXRGdW5jMiwgInNldFZlcmlmeUhlbHBQcm9wIiwgZmFsc2UsIHRydWUpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - desc.[[Set]] and name.[[Set]] are two objects which refer to the different objects (8.12.9 step 6)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-78.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTc5LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnR5IC0gYm90aCBkZXNjLmVudW1lcmFibGUgYW5kIG5hbWUuZW51bWVyYWJsZSBhcmUgYm9vbGVhbiB2YWx1ZXMgd2l0aCB0aGUgc2FtZSB2YWx1ZSAoOC4xMi45IHN0ZXAgNikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiZm9vIiwgeyBlbnVtZXJhYmxlOiBmYWxzZSB9KTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiZm9vIiwgeyBlbnVtZXJhYmxlOiBmYWxzZSB9KTsNCiAgICAgICAgcmV0dXJuIGRhdGFQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KG9iaiwgImZvbyIsIHVuZGVmaW5lZCwgZmFsc2UsIGZhbHNlLCBmYWxzZSk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - both desc.enumerable and name.enumerable are boolean values with the same value (8.12.9 step 6)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-79.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogU3RlcCA0IG9mIGRlZmluZVByb3BlcnR5IGNhbGxzIHRoZSBbW0RlZmluZU93blByb3BlcnR5XV0gaW50ZXJuYWwgbWV0aG9kDQogKiBvZiBPIHRvIGRlZmluZSB0aGUgcHJvcGVydHkuIFN0ZXAgN2Igb2YgW1tEZWZpbmVPd25Qcm9wZXJ0eV1dIHJlamVjdHMgaWYNCiAqIGN1cnJlbnQuW1tFbnVtZXJhYmxlXV0gYW5kIGRlc2MuW1tFbnVtZXJhYmxlXV0gYXJlIHRoZSBib29sZWFuIG5lZ2F0aW9ucw0KICogb2YgZWFjaCBvdGhlci4NCiAqDQogKiBAcGF0aCBjaDE1LzE1LjIvMTUuMi4zLzE1LjIuMy42LzE1LjIuMy42LTQtOC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSB0aHJvd3MgVHlwZUVycm9yIHdoZW4gY2hhbmdpbmcgW1tFbnVtZXJhYmxlXV0gZnJvbSBmYWxzZSB0byB0cnVlIG9uIG5vbi1jb25maWd1cmFibGUgZGF0YSBwcm9wZXJ0aWVzDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIG8gPSB7fTsNCg0KICAvLyBjcmVhdGUgYSBkYXRhIHZhbHVlZCBwcm9wZXJ0eTsgYWxsIG90aGVyIGF0dHJpYnV0ZXMgZGVmYXVsdCB0byBmYWxzZS4NCiAgdmFyIGQxID0geyB2YWx1ZTogMTAxLCBlbnVtZXJhYmxlOiBmYWxzZSwgY29uZmlndXJhYmxlOiBmYWxzZSB9Ow0KICBPYmplY3QuZGVmaW5lUHJvcGVydHkobywgImZvbyIsIGQxKTsNCg0KICAvLyBub3csIHNldHRpbmcgZW51bWVyYWJsZSB0byB0cnVlIHNob3VsZCBmYWlsLCBzaW5jZSBbW0NvbmZpZ3VyYWJsZV1dDQogIC8vIG9uIHRoZSBvcmlnaW5hbCBwcm9wZXJ0eSB3aWxsIGJlIGZhbHNlLg0KICB2YXIgZGVzYyA9IHsgdmFsdWU6IDEwMSwgZW51bWVyYWJsZTogdHJ1ZSB9Ow0KDQogIHRyeSB7DQogICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG8sICJmb28iLCBkZXNjKTsNCiAgfQ0KICBjYXRjaCAoZSkgew0KICAgIGlmIChlIGluc3RhbmNlb2YgVHlwZUVycm9yKSB7DQogICAgICAvLyB0aGUgcHJvcGVydHkgc2hvdWxkIHJlbWFpbiB1bmNoYW5nZWQuDQogICAgICB2YXIgZDIgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG8sICJmb28iKTsNCiAgICAgIGlmIChkMi52YWx1ZSA9PT0gMTAxICYmDQogICAgICAgICAgZDIuZW51bWVyYWJsZSA9PT0gZmFsc2UgJiYNCiAgICAgICAgICBkMi5jb25maWd1cmFibGUgPT09IGZhbHNlKSB7DQogICAgICAgIHJldHVybiB0cnVlOw0KICAgICAgfQ0KICAgIH0NCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"Step 4 of defineProperty calls the [[DefineOwnProperty]] internal method\nof O to define the property. Step 7b of [[DefineOwnProperty]] rejects if\ncurrent.[[Enumerable]] and desc.[[Enumerable]] are the boolean negations\nof each other.","description":"Object.defineProperty throws TypeError when changing [[Enumerable]] from false to true on non-configurable data properties","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-8.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTgwLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnR5IC0gZGVzYy5lbnVtZXJhYmxlIGFuZCBuYW1lLmVudW1lcmFibGUgYXJlIGJvb2xlYW4gbmVnYXRpb24gb2YgZWFjaCBvdGhlciAoOC4xMi45IHN0ZXAgNikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiZm9vIiwgeyBlbnVtZXJhYmxlOiBmYWxzZSwgY29uZmlndXJhYmxlOiB0cnVlIH0pOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJmb28iLCB7IGVudW1lcmFibGU6IHRydWUgfSk7DQogICAgICAgIHJldHVybiBkYXRhUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChvYmosICJmb28iLCB1bmRlZmluZWQsIGZhbHNlLCB0cnVlLCB0cnVlKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - desc.enumerable and name.enumerable are boolean negation of each other (8.12.9 step 6)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-80.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTgxLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnR5IC0gYm90aCBkZXNjLmNvbmZpZ3VyYWJsZSBhbmQgbmFtZS5jb25maWd1cmFibGUgYXJlIGJvb2xlYW5zIHdpdGggdGhlIHNhbWUgdmFsdWUgKDguMTIuOSBzdGVwIDYpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICANCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJmb28iLCB7IGNvbmZpZ3VyYWJsZTogZmFsc2UgfSk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgImZvbyIsIHsgY29uZmlndXJhYmxlOiBmYWxzZSB9KTsNCiAgICAgICAgcmV0dXJuIGRhdGFQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KG9iaiwgImZvbyIsIHVuZGVmaW5lZCwgZmFsc2UsIGZhbHNlLCBmYWxzZSk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - both desc.configurable and name.configurable are booleans with the same value (8.12.9 step 6)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-81.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTgyLTEuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSBVcGRhdGUgW1tFbnVtZXJhYmxlXV0gYXR0cmlidXRlIG9mICduYW1lJyBwcm9wZXJ0eSB0byBmYWxzZSBzdWNjZXNzZnVsbHkgd2hlbiBbW0VudW1lcmFibGVdXSBhbmQgW1tDb25maWd1cmFibGVdXSBhdHRyaWJ1dGVzIG9mICduYW1lJyBwcm9wZXJ0eSBhcmUgdHJ1ZSwgIHRoZSAnZGVzYycgaXMgYSBnZW5lcmljIGRlc2NyaXB0b3Igd2hpY2ggb25seSBjb250YWlucyBbW0VudW1lcmFibGVdXSBhdHRyaWJ1dGUgYXMgZmFsc2UsICduYW1lJyBwcm9wZXJ0eSBpcyBhIGRhdGEgcHJvcGVydHkgKDguMTIuOSBzdGVwIDgpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICANCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJmb28iLCB7DQogICAgICAgICAgICB2YWx1ZTogMTAwMSwNCiAgICAgICAgICAgIHdyaXRhYmxlOiB0cnVlLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiZm9vIiwgew0KICAgICAgICAgICAgZW51bWVyYWJsZTogZmFsc2UNCiAgICAgICAgfSk7DQogICAgICAgIA0KICAgICAgICByZXR1cm4gZGF0YVByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3Qob2JqLCAiZm9vIiwgMTAwMSwgdHJ1ZSwgZmFsc2UsIHRydWUpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - Update [[Enumerable]] attribute of 'name' property to false successfully when [[Enumerable]] and [[Configurable]] attributes of 'name' property are true, the 'desc' is a generic descriptor which only contains [[Enumerable]] attribute as false, 'name' property is a data property (8.12.9 step 8)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-82-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTgyLTEwLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnR5IC0gVXBkYXRlIFtbQ29uZmlndXJhYmxlXV0gYXR0cmlidXRlIG9mICduYW1lJyBwcm9wZXJ0eSB0byBmYWxzZSBzdWNjZXNzZnVsbHkgd2hlbiBbW0VudW1lcmFibGVdXSBhbmQgW1tDb25maWd1cmFibGVdXSBhdHRyaWJ1dGVzIG9mICduYW1lJyBwcm9wZXJ0eSBhcmUgdHJ1ZSwgIHRoZSAnZGVzYycgaXMgYSBnZW5lcmljIGRlc2NyaXB0b3Igd2hpY2ggY29udGFpbnMgW1tFbnVtZXJhYmxlXV0gYXR0cmlidXRlIGFzIHRydWUgYW5kIFtbQ29uZmlndXJhYmxlXV0gYXR0cmlidXRlIGlzIGZhbHNlLCAnbmFtZScgcHJvcGVydHkgaXMgYW4gYWNjZXNzb3IgcHJvcGVydHkgKDguMTIuOSBzdGVwIDgpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIG9iai52ZXJpZnlTZXRGdW5jdGlvbiA9ICJkYXRhIjsNCiAgICAgICAgdmFyIGdldF9mdW5jID0gZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgcmV0dXJuIG9iai52ZXJpZnlTZXRGdW5jdGlvbjsNCiAgICAgICAgfTsNCiAgICAgICAgdmFyIHNldF9mdW5jID0gZnVuY3Rpb24gKHZhbHVlKSB7DQogICAgICAgICAgICBvYmoudmVyaWZ5U2V0RnVuY3Rpb24gPSB2YWx1ZTsNCiAgICAgICAgfTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgImZvbyIsIHsNCiAgICAgICAgICAgIGdldDogZ2V0X2Z1bmMsDQogICAgICAgICAgICBzZXQ6IHNldF9mdW5jLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiZm9vIiwgew0KICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgfSk7DQoNCiAgICAgICAgcmV0dXJuIGFjY2Vzc29yUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChvYmosICJmb28iLCBnZXRfZnVuYywgc2V0X2Z1bmMsICJ2ZXJpZnlTZXRGdW5jdGlvbiIsIHRydWUsIGZhbHNlKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - Update [[Configurable]] attribute of 'name' property to false successfully when [[Enumerable]] and [[Configurable]] attributes of 'name' property are true, the 'desc' is a generic descriptor which contains [[Enumerable]] attribute as true and [[Configurable]] attribute is false, 'name' property is an accessor property (8.12.9 step 8)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-82-10.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTgyLTExLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnR5IC0gVXBkYXRlIFtbRW51bWVyYWJsZV1dIGFuZCBbW0NvbmZpZ3VyYWJsZV1dIGF0dHJpYnV0ZXMgb2YgJ25hbWUnIHByb3BlcnR5IHRvIGZhbHNlIHN1Y2Nlc3NmdWxseSB3aGVuIFtbRW51bWVyYWJsZV1dIGFuZCBbW0NvbmZpZ3VyYWJsZV1dIGF0dHJpYnV0ZXMgb2YgJ25hbWUnIHByb3BlcnR5IGFyZSB0cnVlLCAgdGhlICdkZXNjJyBpcyBhIGdlbmVyaWMgZGVzY3JpcHRvciB3aGljaCBjb250YWlucyBbW0VudW1lcmFibGVdXSBhbmQgW1tDb25maWd1cmFibGVdXSBhdHRyaWJ1dGVzIGFzIGZhbHNlLCAnbmFtZScgcHJvcGVydHkgaXMgYW4gYWNjZXNzb3IgcHJvcGVydHkgKDguMTIuOSBzdGVwIDgpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIG9iai52ZXJpZnlTZXRGdW5jdGlvbiA9ICJkYXRhIjsNCiAgICAgICAgdmFyIGdldF9mdW5jID0gZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgcmV0dXJuIG9iai52ZXJpZnlTZXRGdW5jdGlvbjsNCiAgICAgICAgfTsNCiAgICAgICAgdmFyIHNldF9mdW5jID0gZnVuY3Rpb24gKHZhbHVlKSB7DQogICAgICAgICAgICBvYmoudmVyaWZ5U2V0RnVuY3Rpb24gPSB2YWx1ZTsNCiAgICAgICAgfTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgImZvbyIsIHsNCiAgICAgICAgICAgIGdldDogZ2V0X2Z1bmMsDQogICAgICAgICAgICBzZXQ6IHNldF9mdW5jLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiZm9vIiwgew0KICAgICAgICAgICAgZW51bWVyYWJsZTogZmFsc2UsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgIH0pOw0KDQogICAgICAgIHJldHVybiBhY2Nlc3NvclByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3Qob2JqLCAiZm9vIiwgZ2V0X2Z1bmMsIHNldF9mdW5jLCAidmVyaWZ5U2V0RnVuY3Rpb24iLCBmYWxzZSwgZmFsc2UpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - Update [[Enumerable]] and [[Configurable]] attributes of 'name' property to false successfully when [[Enumerable]] and [[Configurable]] attributes of 'name' property are true, the 'desc' is a generic descriptor which contains [[Enumerable]] and [[Configurable]] attributes as false, 'name' property is an accessor property (8.12.9 step 8)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-82-11.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTgyLTEyLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnR5IC0gVXBkYXRlIFtbRW51bWVyYWJsZV1dIGF0dHJpYnV0ZXMgb2YgJ25hbWUnIHByb3BlcnR5IHRvIHRydWUgc3VjY2Vzc2Z1bGx5IHdoZW4gW1tFbnVtZXJhYmxlXV0gYXR0cmlidXRlIG9mICduYW1lJyBpcyBmYWxzZSBhbmQgW1tDb25maWd1cmFibGVdXSBhdHRyaWJ1dGUgb2YgJ25hbWUnIGlzIHRydWUsICB0aGUgJ2Rlc2MnIGlzIGEgZ2VuZXJpYyBkZXNjcmlwdG9yIHdoaWNoIG9ubHkgY29udGFpbnMgW1tFbnVtZXJhYmxlXV0gYXR0cmlidXRlIGFzIHRydWUsICduYW1lJyBwcm9wZXJ0eSBpcyBhbiBhY2Nlc3NvciBwcm9wZXJ0eSAoOC4xMi45IHN0ZXAgOCkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgb2JqLnZlcmlmeVNldEZ1bmN0aW9uID0gImRhdGEiOw0KICAgICAgICB2YXIgZ2V0X2Z1bmMgPSBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICByZXR1cm4gb2JqLnZlcmlmeVNldEZ1bmN0aW9uOw0KICAgICAgICB9Ow0KICAgICAgICB2YXIgc2V0X2Z1bmMgPSBmdW5jdGlvbiAodmFsdWUpIHsNCiAgICAgICAgICAgIG9iai52ZXJpZnlTZXRGdW5jdGlvbiA9IHZhbHVlOw0KICAgICAgICB9Ow0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiZm9vIiwgew0KICAgICAgICAgICAgZ2V0OiBnZXRfZnVuYywNCiAgICAgICAgICAgIHNldDogc2V0X2Z1bmMsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiZm9vIiwgew0KICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICByZXR1cm4gYWNjZXNzb3JQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KG9iaiwgImZvbyIsIGdldF9mdW5jLCBzZXRfZnVuYywgInZlcmlmeVNldEZ1bmN0aW9uIiwgdHJ1ZSwgdHJ1ZSk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - Update [[Enumerable]] attributes of 'name' property to true successfully when [[Enumerable]] attribute of 'name' is false and [[Configurable]] attribute of 'name' is true, the 'desc' is a generic descriptor which only contains [[Enumerable]] attribute as true, 'name' property is an accessor property (8.12.9 step 8)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-82-12.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTgyLTEzLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnR5IC0gVXBkYXRlIFtbRW51bWVyYWJsZV1dIGF0dHJpYnV0ZSBvZiAnbmFtZScgcHJvcGVydHkgdG8gZmFsc2Ugc3VjY2Vzc2Z1bGx5IHdoZW4gW1tFbnVtZXJhYmxlXV0gYW5kIFtbQ29uZmlndXJhYmxlXV0gYXR0cmlidXRlcyBvZiAnbmFtZScgcHJvcGVydHkgYXJlIHRydWUsICB0aGUgJ2Rlc2MnIGlzIGEgZ2VuZXJpYyBkZXNjcmlwdG9yIHdoaWNoIG9ubHkgY29udGFpbnMgW1tFbnVtZXJhYmxlXV0gYXR0cmlidXRlIGFzIGZhbHNlLCAnbmFtZScgcHJvcGVydHkgaXMgYW4gaW5kZXggZGF0YSBwcm9wZXJ0eSAoOC4xMi45IHN0ZXAgOCkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgIA0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgIjAiLCB7DQogICAgICAgICAgICB2YWx1ZTogMTAwMSwNCiAgICAgICAgICAgIHdyaXRhYmxlOiB0cnVlLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiMCIsIHsNCiAgICAgICAgICAgIGVudW1lcmFibGU6IGZhbHNlDQogICAgICAgIH0pOw0KICAgICAgICANCiAgICAgICAgcmV0dXJuIGRhdGFQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KG9iaiwgIjAiLCAxMDAxLCB0cnVlLCBmYWxzZSwgdHJ1ZSk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - Update [[Enumerable]] attribute of 'name' property to false successfully when [[Enumerable]] and [[Configurable]] attributes of 'name' property are true, the 'desc' is a generic descriptor which only contains [[Enumerable]] attribute as false, 'name' property is an index data property (8.12.9 step 8)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-82-13.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTgyLTE0LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnR5IC0gVXBkYXRlIFtbRW51bWVyYWJsZV1dIGF0dHJpYnV0ZSBvZiAnbmFtZScgcHJvcGVydHkgdG8gZmFsc2Ugc3VjY2Vzc2Z1bGx5IHdoZW4gW1tFbnVtZXJhYmxlXV0gYW5kIFtbQ29uZmlndXJhYmxlXV0gYXR0cmlidXRlcyBvZiAnbmFtZScgcHJvcGVydHkgYXJlIHRydWUsICB0aGUgJ2Rlc2MnIGlzIGEgZ2VuZXJpYyBkZXNjcmlwdG9yIHdoaWNoIGNvbnRhaW5zIFtbRW51bWVyYWJsZV1dIGF0dHJpYnV0ZSBhcyBmYWxzZSBhbmQgW1tDb25maWd1cmFibGVdXSBhdHRyaWJ1dGUgYXMgdHJ1ZSwgJ25hbWUnIHByb3BlcnR5IGlzIGFuIGluZGV4IGRhdGEgcHJvcGVydHkgKDguMTIuOSBzdGVwIDgpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICANCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICIwIiwgew0KICAgICAgICAgICAgdmFsdWU6IDEwMDEsDQogICAgICAgICAgICB3cml0YWJsZTogdHJ1ZSwNCiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgIjAiLCB7DQogICAgICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCiAgICAgICAgDQogICAgICAgIHJldHVybiBkYXRhUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChvYmosICIwIiwgMTAwMSwgdHJ1ZSwgZmFsc2UsIHRydWUpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - Update [[Enumerable]] attribute of 'name' property to false successfully when [[Enumerable]] and [[Configurable]] attributes of 'name' property are true, the 'desc' is a generic descriptor which contains [[Enumerable]] attribute as false and [[Configurable]] attribute as true, 'name' property is an index data property (8.12.9 step 8)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-82-14.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTgyLTE1LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnR5IC0gVXBkYXRlIFtbQ29uZmlndXJhYmxlXV0gYXR0cmlidXRlIG9mICduYW1lJyBwcm9wZXJ0eSB0byBmYWxzZSBzdWNjZXNzZnVsbHkgd2hlbiBbW0NvbmZpZ3VyYWJsZV1dIGF0dHJpYnV0ZSBvZiAnbmFtZScgcHJvcGVydHkgaXMgdHJ1ZSwgIHRoZSAnZGVzYycgaXMgYSBnZW5lcmljIGRlc2NyaXB0b3Igd2hpY2ggY29udGFpbnMgW1tDb25maWd1cmFibGVdXSBhdHRyaWJ1dGUgYXMgZmFsc2UsICduYW1lJyBwcm9wZXJ0eSBpcyBhbiBpbmRleCBkYXRhIHByb3BlcnR5ICg4LjEyLjkgc3RlcCA4KQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgDQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiMCIsIHsNCiAgICAgICAgICAgIHZhbHVlOiAxMDAxLA0KICAgICAgICAgICAgd3JpdGFibGU6IHRydWUsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICIwIiwgew0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICB9KTsNCg0KICAgICAgICByZXR1cm4gZGF0YVByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3Qob2JqLCAiMCIsIDEwMDEsIHRydWUsIHRydWUsIGZhbHNlKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - Update [[Configurable]] attribute of 'name' property to false successfully when [[Configurable]] attribute of 'name' property is true, the 'desc' is a generic descriptor which contains [[Configurable]] attribute as false, 'name' property is an index data property (8.12.9 step 8)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-82-15.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTgyLTE2LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnR5IC0gVXBkYXRlIFtbQ29uZmlndXJhYmxlXV0gYXR0cmlidXRlIG9mICduYW1lJyBwcm9wZXJ0eSB0byBmYWxzZSBzdWNjZXNzZnVsbHkgd2hlbiBbW0VudW1lcmFibGVdXSBhbmQgW1tDb25maWd1cmFibGVdXSBhdHRyaWJ1dGVzIG9mICduYW1lJyBwcm9wZXJ0eSBhcmUgdHJ1ZSwgIHRoZSAnZGVzYycgaXMgYSBnZW5lcmljIGRlc2NyaXB0b3Igd2hpY2ggY29udGFpbnMgW1tFbnVtZXJhYmxlXV0gYXR0cmlidXRlIGFzIHRydWUgYW5kIFtbQ29uZmlndXJhYmxlXV0gYXR0cmlidXRlIGFzIGZhbHNlLCAnbmFtZScgcHJvcGVydHkgaXMgYW4gaW5kZXggZGF0YSBwcm9wZXJ0eSAoOC4xMi45IHN0ZXAgOCkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgIA0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgIjAiLCB7DQogICAgICAgICAgICB2YWx1ZTogMTAwMSwNCiAgICAgICAgICAgIHdyaXRhYmxlOiB0cnVlLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiMCIsIHsNCiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsIA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICB9KTsNCg0KICAgICAgICByZXR1cm4gZGF0YVByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3Qob2JqLCAiMCIsIDEwMDEsIHRydWUsIHRydWUsIGZhbHNlKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - Update [[Configurable]] attribute of 'name' property to false successfully when [[Enumerable]] and [[Configurable]] attributes of 'name' property are true, the 'desc' is a generic descriptor which contains [[Enumerable]] attribute as true and [[Configurable]] attribute as false, 'name' property is an index data property (8.12.9 step 8)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-82-16.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTgyLTE3LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnR5IC0gVXBkYXRlIFtbRW51bWVyYWJsZV1dIGFuZCBbW0NvbmZpZ3VyYWJsZV1dIGF0dHJpYnV0ZXMgb2YgJ25hbWUnIHByb3BlcnR5IHRvIGZhbHNlIHN1Y2Nlc3NmdWxseSB3aGVuIFtbRW51bWVyYWJsZV1dIGFuZCBbW0NvbmZpZ3VyYWJsZV1dIGF0dHJpYnV0ZXMgb2YgJ25hbWUnIHByb3BlcnR5IGFyZSB0cnVlLCB0aGUgJ2Rlc2MnIGlzIGEgZ2VuZXJpYyBkZXNjcmlwdG9yIHdoaWNoIGNvbnRhaW5zIFtbRW51bWVyYWJsZV1dIGFuZCBbW0NvbmZpZ3VyYWJsZV1dIGF0dHJpYnV0ZXMgYXMgZmFsc2UsICduYW1lJyBwcm9wZXJ0eSBpcyBhbiBpbmRleCBkYXRhIHByb3BlcnR5ICg4LjEyLjkgc3RlcCA4KQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgDQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiMCIsIHsNCiAgICAgICAgICAgIHZhbHVlOiAxMDAxLA0KICAgICAgICAgICAgd3JpdGFibGU6IHRydWUsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICIwIiwgew0KICAgICAgICAgICAgZW51bWVyYWJsZTogZmFsc2UsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgIH0pOw0KDQogICAgICAgIHJldHVybiBkYXRhUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChvYmosICIwIiwgMTAwMSwgdHJ1ZSwgZmFsc2UsIGZhbHNlKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - Update [[Enumerable]] and [[Configurable]] attributes of 'name' property to false successfully when [[Enumerable]] and [[Configurable]] attributes of 'name' property are true, the 'desc' is a generic descriptor which contains [[Enumerable]] and [[Configurable]] attributes as false, 'name' property is an index data property (8.12.9 step 8)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-82-17.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTgyLTE4LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnR5IC0gVXBkYXRlIFtbRW51bWVyYWJsZV1dIGF0dHJpYnV0ZSBvZiAnbmFtZScgcHJvcGVydHkgdG8gdHJ1ZSBzdWNjZXNzZnVsbHkgd2hlbiBbW0VudW1lcmFibGVdXSBhdHRyaWJ1dGUgb2YgJ25hbWUnIGlzIGZhbHNlIGFuZCBbW0NvbmZpZ3VyYWJsZV1dIGF0dHJpYnV0ZSBvZiAnbmFtZScgaXMgdHJ1ZSwgIHRoZSAnZGVzYycgaXMgYSBnZW5lcmljIGRlc2NyaXB0b3Igd2hpY2ggb25seSBjb250YWlucyBbW0VudW1lcmFibGVdXSBhdHRyaWJ1dGUgYXMgdHJ1ZSwgJ25hbWUnIHByb3BlcnR5IGlzIGFuIGluZGV4IGRhdGEgcHJvcGVydHkgKDguMTIuOSBzdGVwIDgpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICANCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICIwIiwgew0KICAgICAgICAgICAgdmFsdWU6IDEwMDEsDQogICAgICAgICAgICB3cml0YWJsZTogdHJ1ZSwNCiAgICAgICAgICAgIGVudW1lcmFibGU6IGZhbHNlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICIwIiwgew0KICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICByZXR1cm4gZGF0YVByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3Qob2JqLCAiMCIsIDEwMDEsIHRydWUsIHRydWUsIHRydWUpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - Update [[Enumerable]] attribute of 'name' property to true successfully when [[Enumerable]] attribute of 'name' is false and [[Configurable]] attribute of 'name' is true, the 'desc' is a generic descriptor which only contains [[Enumerable]] attribute as true, 'name' property is an index data property (8.12.9 step 8)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-82-18.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTgyLTE5LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnR5IC0gVXBkYXRlIFtbRW51bWVyYWJsZV1dIGF0dHJpYnV0ZSBvZiAnbmFtZScgcHJvcGVydHkgdG8gZmFsc2Ugc3VjY2Vzc2Z1bGx5IHdoZW4gW1tFbnVtZXJhYmxlXV0gYW5kIFtbQ29uZmlndXJhYmxlXV0gYXR0cmlidXRlcyBvZiAnbmFtZScgcHJvcGVydHkgYXJlIHRydWUsICB0aGUgJ2Rlc2MnIGlzIGEgZ2VuZXJpYyBkZXNjcmlwdG9yIHdoaWNoIG9ubHkgY29udGFpbnMgW0VudW1lcmFibGVdXSBhdHRyaWJ1dGUgYXMgZmFsc2UgYW5kICduYW1lJyBwcm9wZXJ0eSBpcyBhbiBpbmRleCBhY2Nlc3NvciBwcm9wZXJ0eSAoOC4xMi45IHN0ZXAgOCkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgb2JqLnZlcmlmeVNldEZ1bmN0aW9uID0gImRhdGEiOw0KICAgICAgICB2YXIgZ2V0X2Z1bmMgPSBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICByZXR1cm4gb2JqLnZlcmlmeVNldEZ1bmN0aW9uOw0KICAgICAgICB9Ow0KICAgICAgICB2YXIgc2V0X2Z1bmMgPSBmdW5jdGlvbiAodmFsdWUpIHsNCiAgICAgICAgICAgIG9iai52ZXJpZnlTZXRGdW5jdGlvbiA9IHZhbHVlOw0KICAgICAgICB9Ow0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiMCIsIHsNCiAgICAgICAgICAgIGdldDogZ2V0X2Z1bmMsDQogICAgICAgICAgICBzZXQ6IHNldF9mdW5jLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiMCIsIHsNCiAgICAgICAgICAgIGVudW1lcmFibGU6IGZhbHNlDQogICAgICAgIH0pOw0KDQogICAgICAgIHJldHVybiBhY2Nlc3NvclByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3Qob2JqLCAiMCIsIGdldF9mdW5jLCBzZXRfZnVuYywgInZlcmlmeVNldEZ1bmN0aW9uIiwgZmFsc2UsIHRydWUpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - Update [[Enumerable]] attribute of 'name' property to false successfully when [[Enumerable]] and [[Configurable]] attributes of 'name' property are true, the 'desc' is a generic descriptor which only contains [Enumerable]] attribute as false and 'name' property is an index accessor property (8.12.9 step 8)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-82-19.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTgyLTIuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSBVcGRhdGUgW1tFbnVtZXJhYmxlXV0gYXR0cmlidXRlIG9mICduYW1lJyBwcm9wZXJ0eSB0byBmYWxzZSBzdWNjZXNzZnVsbHkgd2hlbiBbW0VudW1lcmFibGVdXSBhbmQgW1tDb25maWd1cmFibGVdXSBhdHRyaWJ1dGVzIG9mICduYW1lJyBwcm9wZXJ0eSBhcmUgdHJ1ZSwgIHRoZSAnZGVzYycgaXMgYSBnZW5lcmljIGRlc2NyaXB0b3Igd2hpY2ggY29udGFpbnMgW1tFbnVtZXJhYmxlXV0gYXR0cmlidXRlIGFzIGZhbHNlIGFuZCBbW0NvbmZpZ3VyYWJsZV1dIGF0dHJpYnV0ZSBhcyB0cnVlLCAnbmFtZScgcHJvcGVydHkgaXMgYSBkYXRhIHByb3BlcnR5ICg4LjEyLjkgc3RlcCA4KQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgDQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiZm9vIiwgew0KICAgICAgICAgICAgdmFsdWU6IDEwMDEsDQogICAgICAgICAgICB3cml0YWJsZTogdHJ1ZSwNCiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgImZvbyIsIHsNCiAgICAgICAgICAgIGVudW1lcmFibGU6IGZhbHNlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KICAgICAgICANCiAgICAgICAgcmV0dXJuIGRhdGFQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KG9iaiwgImZvbyIsIDEwMDEsIHRydWUsIGZhbHNlLCB0cnVlKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - Update [[Enumerable]] attribute of 'name' property to false successfully when [[Enumerable]] and [[Configurable]] attributes of 'name' property are true, the 'desc' is a generic descriptor which contains [[Enumerable]] attribute as false and [[Configurable]] attribute as true, 'name' property is a data property (8.12.9 step 8)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-82-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTgyLTIwLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnR5IC0gVXBkYXRlIFtbRW51bWVyYWJsZV1dIGF0dHJpYnV0ZSBvZiAnbmFtZScgcHJvcGVydHkgdG8gZmFsc2Ugc3VjY2Vzc2Z1bGx5IHdoZW4gW1tFbnVtZXJhYmxlXV0gYW5kIFtbQ29uZmlndXJhYmxlXV0gYXR0cmlidXRlcyBvZiAnbmFtZScgcHJvcGVydHkgYXJlIHRydWUsICB0aGUgJ2Rlc2MnIGlzIGEgZ2VuZXJpYyBkZXNjcmlwdG9yIHdoaWNoIGNvbnRhaW5zIFtFbnVtZXJhYmxlXV0gYXR0cmlidXRlIGFzIGZhbHNlIGFuZCBbW0NvbmZpZ3VyYWJsZV1dIHByb3BlcnR5IGlzIHRydWUsICduYW1lJyBwcm9wZXJ0eSBpcyBhbiBpbmRleCBhY2Nlc3NvciBwcm9wZXJ0eSAoOC4xMi45IHN0ZXAgOCkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgb2JqLnZlcmlmeVNldEZ1bmN0aW9uID0gImRhdGEiOw0KICAgICAgICB2YXIgZ2V0X2Z1bmMgPSBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICByZXR1cm4gb2JqLnZlcmlmeVNldEZ1bmN0aW9uOw0KICAgICAgICB9Ow0KICAgICAgICB2YXIgc2V0X2Z1bmMgPSBmdW5jdGlvbiAodmFsdWUpIHsNCiAgICAgICAgICAgIG9iai52ZXJpZnlTZXRGdW5jdGlvbiA9IHZhbHVlOw0KICAgICAgICB9Ow0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiMCIsIHsNCiAgICAgICAgICAgIGdldDogZ2V0X2Z1bmMsDQogICAgICAgICAgICBzZXQ6IHNldF9mdW5jLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiMCIsIHsNCiAgICAgICAgICAgIGVudW1lcmFibGU6IGZhbHNlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHJldHVybiBhY2Nlc3NvclByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3Qob2JqLCAiMCIsIGdldF9mdW5jLCBzZXRfZnVuYywgInZlcmlmeVNldEZ1bmN0aW9uIiwgZmFsc2UsIHRydWUpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - Update [[Enumerable]] attribute of 'name' property to false successfully when [[Enumerable]] and [[Configurable]] attributes of 'name' property are true, the 'desc' is a generic descriptor which contains [Enumerable]] attribute as false and [[Configurable]] property is true, 'name' property is an index accessor property (8.12.9 step 8)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-82-20.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTgyLTIxLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnR5IC0gVXBkYXRlIFtbQ29uZmlndXJhYmxlXV0gYXR0cmlidXRlIG9mICduYW1lJyBwcm9wZXJ0eSB0byBmYWxzZSBzdWNjZXNzZnVsbHkgd2hlbiBbW0VudW1lcmFibGVdXSBhbmQgW1tDb25maWd1cmFibGVdXSBhdHRyaWJ1dGVzIG9mICduYW1lJyBwcm9wZXJ0eSBhcmUgdHJ1ZSwgIHRoZSAnZGVzYycgaXMgYSBnZW5lcmljIGRlc2NyaXB0b3Igd2hpY2ggb25seSBjb250YWlucyBbW0NvbmZpZ3VyYWJsZV1dIGF0dHJpYnV0ZSBhcyBmYWxzZSwgJ25hbWUnIHByb3BlcnR5IGlzIGFuIGluZGV4IGFjY2Vzc29yIHByb3BlcnR5ICg4LjEyLjkgc3RlcCA4KQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICBvYmoudmVyaWZ5U2V0RnVuY3Rpb24gPSAiZGF0YSI7DQogICAgICAgIHZhciBnZXRfZnVuYyA9IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgIHJldHVybiBvYmoudmVyaWZ5U2V0RnVuY3Rpb247DQogICAgICAgIH07DQogICAgICAgIHZhciBzZXRfZnVuYyA9IGZ1bmN0aW9uICh2YWx1ZSkgew0KICAgICAgICAgICAgb2JqLnZlcmlmeVNldEZ1bmN0aW9uID0gdmFsdWU7DQogICAgICAgIH07DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICIwIiwgew0KICAgICAgICAgICAgZ2V0OiBnZXRfZnVuYywNCiAgICAgICAgICAgIHNldDogc2V0X2Z1bmMsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICIwIiwgew0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICB9KTsNCg0KICAgICAgICByZXR1cm4gYWNjZXNzb3JQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KG9iaiwgIjAiLCBnZXRfZnVuYywgc2V0X2Z1bmMsICJ2ZXJpZnlTZXRGdW5jdGlvbiIsIHRydWUsIGZhbHNlKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - Update [[Configurable]] attribute of 'name' property to false successfully when [[Enumerable]] and [[Configurable]] attributes of 'name' property are true, the 'desc' is a generic descriptor which only contains [[Configurable]] attribute as false, 'name' property is an index accessor property (8.12.9 step 8)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-82-21.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTgyLTIyLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnR5IC0gVXBkYXRlIFtbQ29uZmlndXJhYmxlXV0gYXR0cmlidXRlIG9mICduYW1lJyBwcm9wZXJ0eSB0byBmYWxzZSBzdWNjZXNzZnVsbHkgd2hlbiBbW0VudW1lcmFibGVdXSBhbmQgW1tDb25maWd1cmFibGVdXSBhdHRyaWJ1dGVzIG9mICduYW1lJyBwcm9wZXJ0eSBhcmUgdHJ1ZSwgIHRoZSAnZGVzYycgaXMgYSBnZW5lcmljIGRlc2NyaXB0b3Igd2hpY2ggY29udGFpbnMgW1tFbnVtZXJhYmxlXV0gYXR0cmlidXRlIGFzIHRydWUgYW5kIFtbQ29uZmlndXJhYmxlXV0gYXR0cmlidXRlIGlzIGZhbHNlLCAnbmFtZScgcHJvcGVydHkgaXMgYW4gaW5kZXggYWNjZXNzb3IgcHJvcGVydHkgKDguMTIuOSBzdGVwIDgpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIG9iai52ZXJpZnlTZXRGdW5jdGlvbiA9ICJkYXRhIjsNCiAgICAgICAgdmFyIGdldF9mdW5jID0gZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgcmV0dXJuIG9iai52ZXJpZnlTZXRGdW5jdGlvbjsNCiAgICAgICAgfTsNCiAgICAgICAgdmFyIHNldF9mdW5jID0gZnVuY3Rpb24gKHZhbHVlKSB7DQogICAgICAgICAgICBvYmoudmVyaWZ5U2V0RnVuY3Rpb24gPSB2YWx1ZTsNCiAgICAgICAgfTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgIjAiLCB7DQogICAgICAgICAgICBnZXQ6IGdldF9mdW5jLA0KICAgICAgICAgICAgc2V0OiBzZXRfZnVuYywNCiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgIjAiLCB7DQogICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICB9KTsNCg0KICAgICAgICByZXR1cm4gYWNjZXNzb3JQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KG9iaiwgIjAiLCBnZXRfZnVuYywgc2V0X2Z1bmMsICJ2ZXJpZnlTZXRGdW5jdGlvbiIsIHRydWUsIGZhbHNlKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - Update [[Configurable]] attribute of 'name' property to false successfully when [[Enumerable]] and [[Configurable]] attributes of 'name' property are true, the 'desc' is a generic descriptor which contains [[Enumerable]] attribute as true and [[Configurable]] attribute is false, 'name' property is an index accessor property (8.12.9 step 8)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-82-22.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTgyLTIzLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnR5IC0gVXBkYXRlIFtbRW51bWVyYWJsZV1dIGFuZCBbW0NvbmZpZ3VyYWJsZV1dIGF0dHJpYnV0ZXMgb2YgJ25hbWUnIHByb3BlcnR5IHRvIGZhbHNlIHN1Y2Nlc3NmdWxseSB3aGVuIFtbRW51bWVyYWJsZV1dIGFuZCBbW0NvbmZpZ3VyYWJsZV1dIGF0dHJpYnV0ZXMgb2YgJ25hbWUnIHByb3BlcnR5IGFyZSB0cnVlLCAgdGhlICdkZXNjJyBpcyBhIGdlbmVyaWMgZGVzY3JpcHRvciB3aGljaCBjb250YWlucyBbW0VudW1lcmFibGVdXSBhbmQgW1tDb25maWd1cmFibGVdXSBhdHRyaWJ1dGVzIGFzIGZhbHNlLCAnbmFtZScgcHJvcGVydHkgaXMgYW4gaW5kZXggYWNjZXNzb3IgcHJvcGVydHkgKDguMTIuOSBzdGVwIDgpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIG9iai52ZXJpZnlTZXRGdW5jdGlvbiA9ICJkYXRhIjsNCiAgICAgICAgdmFyIGdldF9mdW5jID0gZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgcmV0dXJuIG9iai52ZXJpZnlTZXRGdW5jdGlvbjsNCiAgICAgICAgfTsNCiAgICAgICAgdmFyIHNldF9mdW5jID0gZnVuY3Rpb24gKHZhbHVlKSB7DQogICAgICAgICAgICBvYmoudmVyaWZ5U2V0RnVuY3Rpb24gPSB2YWx1ZTsNCiAgICAgICAgfTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgIjAiLCB7DQogICAgICAgICAgICBnZXQ6IGdldF9mdW5jLA0KICAgICAgICAgICAgc2V0OiBzZXRfZnVuYywNCiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgIjAiLCB7DQogICAgICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgfSk7DQoNCiAgICAgICAgcmV0dXJuIGFjY2Vzc29yUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChvYmosICIwIiwgZ2V0X2Z1bmMsIHNldF9mdW5jLCAidmVyaWZ5U2V0RnVuY3Rpb24iLCBmYWxzZSwgZmFsc2UpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - Update [[Enumerable]] and [[Configurable]] attributes of 'name' property to false successfully when [[Enumerable]] and [[Configurable]] attributes of 'name' property are true, the 'desc' is a generic descriptor which contains [[Enumerable]] and [[Configurable]] attributes as false, 'name' property is an index accessor property (8.12.9 step 8)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-82-23.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTgyLTI0LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnR5IC0gVXBkYXRlIFtbRW51bWVyYWJsZV1dIGF0dHJpYnV0ZXMgb2YgJ25hbWUnIHByb3BlcnR5IHRvIHRydWUgc3VjY2Vzc2Z1bGx5IHdoZW4gW1tFbnVtZXJhYmxlXV0gYXR0cmlidXRlIG9mICduYW1lJyBpcyBmYWxzZSBhbmQgW1tDb25maWd1cmFibGVdXSBhdHRyaWJ1dGUgb2YgJ25hbWUnIGlzIHRydWUsICB0aGUgJ2Rlc2MnIGlzIGEgZ2VuZXJpYyBkZXNjcmlwdG9yIHdoaWNoIG9ubHkgY29udGFpbnMgW1tFbnVtZXJhYmxlXV0gYXR0cmlidXRlIGFzIHRydWUsICduYW1lJyBwcm9wZXJ0eSBpcyBhbiBpbmRleCBhY2Nlc3NvciBwcm9wZXJ0eSAoOC4xMi45IHN0ZXAgOCkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgb2JqLnZlcmlmeVNldEZ1bmN0aW9uID0gImRhdGEiOw0KICAgICAgICB2YXIgZ2V0X2Z1bmMgPSBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICByZXR1cm4gb2JqLnZlcmlmeVNldEZ1bmN0aW9uOw0KICAgICAgICB9Ow0KICAgICAgICB2YXIgc2V0X2Z1bmMgPSBmdW5jdGlvbiAodmFsdWUpIHsNCiAgICAgICAgICAgIG9iai52ZXJpZnlTZXRGdW5jdGlvbiA9IHZhbHVlOw0KICAgICAgICB9Ow0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiMCIsIHsNCiAgICAgICAgICAgIGdldDogZ2V0X2Z1bmMsDQogICAgICAgICAgICBzZXQ6IHNldF9mdW5jLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogZmFsc2UsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgIjAiLCB7DQogICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHJldHVybiBhY2Nlc3NvclByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3Qob2JqLCAiMCIsIGdldF9mdW5jLCBzZXRfZnVuYywgInZlcmlmeVNldEZ1bmN0aW9uIiwgdHJ1ZSwgdHJ1ZSk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - Update [[Enumerable]] attributes of 'name' property to true successfully when [[Enumerable]] attribute of 'name' is false and [[Configurable]] attribute of 'name' is true, the 'desc' is a generic descriptor which only contains [[Enumerable]] attribute as true, 'name' property is an index accessor property (8.12.9 step 8)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-82-24.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTgyLTMuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSBVcGRhdGUgW1tDb25maWd1cmFibGVdXSBhdHRyaWJ1dGUgb2YgJ25hbWUnIHByb3BlcnR5IHRvIGZhbHNlIHN1Y2Nlc3NmdWxseSB3aGVuIFtbQ29uZmlndXJhYmxlXV0gYXR0cmlidXRlIG9mICduYW1lJyBwcm9wZXJ0eSBpcyB0cnVlLCAgdGhlICdkZXNjJyBpcyBhIGdlbmVyaWMgZGVzY3JpcHRvciB3aGljaCBjb250YWlucyBbW0NvbmZpZ3VyYWJsZV1dIGF0dHJpYnV0ZSBhcyBmYWxzZSwgJ25hbWUnIHByb3BlcnR5IGlzIGEgZGF0YSBwcm9wZXJ0eSAoOC4xMi45IHN0ZXAgOCkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgIA0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgImZvbyIsIHsNCiAgICAgICAgICAgIHZhbHVlOiAxMDAxLA0KICAgICAgICAgICAgd3JpdGFibGU6IHRydWUsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJmb28iLCB7DQogICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgIH0pOw0KDQogICAgICAgIHJldHVybiBkYXRhUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChvYmosICJmb28iLCAxMDAxLCB0cnVlLCB0cnVlLCBmYWxzZSk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - Update [[Configurable]] attribute of 'name' property to false successfully when [[Configurable]] attribute of 'name' property is true, the 'desc' is a generic descriptor which contains [[Configurable]] attribute as false, 'name' property is a data property (8.12.9 step 8)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-82-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTgyLTQuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSBVcGRhdGUgW1tDb25maWd1cmFibGVdXSBhdHRyaWJ1dGUgb2YgJ25hbWUnIHByb3BlcnR5IHRvIGZhbHNlIHN1Y2Nlc3NmdWxseSB3aGVuIFtbRW51bWVyYWJsZV1dIGFuZCBbW0NvbmZpZ3VyYWJsZV1dIGF0dHJpYnV0ZXMgb2YgJ25hbWUnIHByb3BlcnR5IGFyZSB0cnVlLCAgdGhlICdkZXNjJyBpcyBhIGdlbmVyaWMgZGVzY3JpcHRvciB3aGljaCBjb250YWlucyBbW0VudW1lcmFibGVdXSBhdHRyaWJ1dGUgYXMgdHJ1ZSBhbmQgW1tDb25maWd1cmFibGVdXSBhdHRyaWJ1dGUgYXMgZmFsc2UsICduYW1lJyBwcm9wZXJ0eSBpcyBhIGRhdGEgcHJvcGVydHkgKDguMTIuOSBzdGVwIDgpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICANCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJmb28iLCB7DQogICAgICAgICAgICB2YWx1ZTogMTAwMSwNCiAgICAgICAgICAgIHdyaXRhYmxlOiB0cnVlLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiZm9vIiwgew0KICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSwgDQogICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgIH0pOw0KDQogICAgICAgIHJldHVybiBkYXRhUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChvYmosICJmb28iLCAxMDAxLCB0cnVlLCB0cnVlLCBmYWxzZSk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - Update [[Configurable]] attribute of 'name' property to false successfully when [[Enumerable]] and [[Configurable]] attributes of 'name' property are true, the 'desc' is a generic descriptor which contains [[Enumerable]] attribute as true and [[Configurable]] attribute as false, 'name' property is a data property (8.12.9 step 8)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-82-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTgyLTUuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSBVcGRhdGUgW1tFbnVtZXJhYmxlXV0gYW5kIFtbQ29uZmlndXJhYmxlXV0gYXR0cmlidXRlcyBvZiAnbmFtZScgcHJvcGVydHkgdG8gZmFsc2Ugc3VjY2Vzc2Z1bGx5IHdoZW4gW1tFbnVtZXJhYmxlXV0gYW5kIFtbQ29uZmlndXJhYmxlXV0gYXR0cmlidXRlcyBvZiAnbmFtZScgcHJvcGVydHkgYXJlIHRydWUsIHRoZSAnZGVzYycgaXMgYSBnZW5lcmljIGRlc2NyaXB0b3Igd2hpY2ggY29udGFpbnMgW1tFbnVtZXJhYmxlXV0gYW5kIFtbQ29uZmlndXJhYmxlXV0gYXR0cmlidXRlcyBhcyBmYWxzZSwgJ25hbWUnIHByb3BlcnR5IGlzIGEgZGF0YSBwcm9wZXJ0eSAoOC4xMi45IHN0ZXAgOCkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgIA0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgImZvbyIsIHsNCiAgICAgICAgICAgIHZhbHVlOiAxMDAxLA0KICAgICAgICAgICAgd3JpdGFibGU6IHRydWUsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJmb28iLCB7DQogICAgICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgfSk7DQoNCiAgICAgICAgcmV0dXJuIGRhdGFQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KG9iaiwgImZvbyIsIDEwMDEsIHRydWUsIGZhbHNlLCBmYWxzZSk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - Update [[Enumerable]] and [[Configurable]] attributes of 'name' property to false successfully when [[Enumerable]] and [[Configurable]] attributes of 'name' property are true, the 'desc' is a generic descriptor which contains [[Enumerable]] and [[Configurable]] attributes as false, 'name' property is a data property (8.12.9 step 8)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-82-5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTgyLTYuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSBVcGRhdGUgW1tFbnVtZXJhYmxlXV0gYXR0cmlidXRlIG9mICduYW1lJyBwcm9wZXJ0eSB0byB0cnVlIHN1Y2Nlc3NmdWxseSB3aGVuIFtbRW51bWVyYWJsZV1dIGF0dHJpYnV0ZSBvZiAnbmFtZScgaXMgZmFsc2UgYW5kIFtbQ29uZmlndXJhYmxlXV0gYXR0cmlidXRlIG9mICduYW1lJyBpcyB0cnVlLCAgdGhlICdkZXNjJyBpcyBhIGdlbmVyaWMgZGVzY3JpcHRvciB3aGljaCBvbmx5IGNvbnRhaW5zIFtbRW51bWVyYWJsZV1dIGF0dHJpYnV0ZSBhcyB0cnVlLCAnbmFtZScgcHJvcGVydHkgaXMgYSBkYXRhIHByb3BlcnR5ICg4LjEyLjkgc3RlcCA4KQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgDQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiZm9vIiwgew0KICAgICAgICAgICAgdmFsdWU6IDEwMDEsDQogICAgICAgICAgICB3cml0YWJsZTogdHJ1ZSwNCiAgICAgICAgICAgIGVudW1lcmFibGU6IGZhbHNlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJmb28iLCB7DQogICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHJldHVybiBkYXRhUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChvYmosICJmb28iLCAxMDAxLCB0cnVlLCB0cnVlLCB0cnVlKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - Update [[Enumerable]] attribute of 'name' property to true successfully when [[Enumerable]] attribute of 'name' is false and [[Configurable]] attribute of 'name' is true, the 'desc' is a generic descriptor which only contains [[Enumerable]] attribute as true, 'name' property is a data property (8.12.9 step 8)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-82-6.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTgyLTcuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSBVcGRhdGUgW1tFbnVtZXJhYmxlXV0gYXR0cmlidXRlIG9mICduYW1lJyBwcm9wZXJ0eSB0byBmYWxzZSBzdWNjZXNzZnVsbHkgd2hlbiBbW0VudW1lcmFibGVdXSBhbmQgW1tDb25maWd1cmFibGVdXSBhdHRyaWJ1dGVzIG9mICduYW1lJyBwcm9wZXJ0eSBhcmUgdHJ1ZSwgIHRoZSAnZGVzYycgaXMgYSBnZW5lcmljIGRlc2NyaXB0b3Igd2hpY2ggb25seSBjb250YWlucyBbRW51bWVyYWJsZV1dIGF0dHJpYnV0ZSBhcyBmYWxzZSBhbmQgJ25hbWUnIHByb3BlcnR5IGlzIGFuIGFjY2Vzc29yIHByb3BlcnR5ICg4LjEyLjkgc3RlcCA4KQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICBvYmoudmVyaWZ5U2V0RnVuY3Rpb24gPSAiZGF0YSI7DQogICAgICAgIHZhciBnZXRfZnVuYyA9IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgIHJldHVybiBvYmoudmVyaWZ5U2V0RnVuY3Rpb247DQogICAgICAgIH07DQogICAgICAgIHZhciBzZXRfZnVuYyA9IGZ1bmN0aW9uICh2YWx1ZSkgew0KICAgICAgICAgICAgb2JqLnZlcmlmeVNldEZ1bmN0aW9uID0gdmFsdWU7DQogICAgICAgIH07DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJmb28iLCB7DQogICAgICAgICAgICBnZXQ6IGdldF9mdW5jLA0KICAgICAgICAgICAgc2V0OiBzZXRfZnVuYywNCiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgImZvbyIsIHsNCiAgICAgICAgICAgIGVudW1lcmFibGU6IGZhbHNlDQogICAgICAgIH0pOw0KDQogICAgICAgIHJldHVybiBhY2Nlc3NvclByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3Qob2JqLCAiZm9vIiwgZ2V0X2Z1bmMsIHNldF9mdW5jLCAidmVyaWZ5U2V0RnVuY3Rpb24iLCBmYWxzZSwgdHJ1ZSk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - Update [[Enumerable]] attribute of 'name' property to false successfully when [[Enumerable]] and [[Configurable]] attributes of 'name' property are true, the 'desc' is a generic descriptor which only contains [Enumerable]] attribute as false and 'name' property is an accessor property (8.12.9 step 8)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-82-7.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTgyLTguanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSBVcGRhdGUgW1tFbnVtZXJhYmxlXV0gYXR0cmlidXRlIG9mICduYW1lJyBwcm9wZXJ0eSB0byBmYWxzZSBzdWNjZXNzZnVsbHkgd2hlbiBbW0VudW1lcmFibGVdXSBhbmQgW1tDb25maWd1cmFibGVdXSBhdHRyaWJ1dGVzIG9mICduYW1lJyBwcm9wZXJ0eSBhcmUgdHJ1ZSwgIHRoZSAnZGVzYycgaXMgYSBnZW5lcmljIGRlc2NyaXB0b3Igd2hpY2ggY29udGFpbnMgW0VudW1lcmFibGVdXSBhdHRyaWJ1dGUgYXMgZmFsc2UgYW5kIFtbQ29uZmlndXJhYmxlXV0gcHJvcGVydHkgaXMgdHJ1ZSwgJ25hbWUnIHByb3BlcnR5IGlzIGFuIGFjY2Vzc29yIHByb3BlcnR5ICg4LjEyLjkgc3RlcCA4KQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICBvYmoudmVyaWZ5U2V0RnVuY3Rpb24gPSAiZGF0YSI7DQogICAgICAgIHZhciBnZXRfZnVuYyA9IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgIHJldHVybiBvYmoudmVyaWZ5U2V0RnVuY3Rpb247DQogICAgICAgIH07DQogICAgICAgIHZhciBzZXRfZnVuYyA9IGZ1bmN0aW9uICh2YWx1ZSkgew0KICAgICAgICAgICAgb2JqLnZlcmlmeVNldEZ1bmN0aW9uID0gdmFsdWU7DQogICAgICAgIH07DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJmb28iLCB7DQogICAgICAgICAgICBnZXQ6IGdldF9mdW5jLA0KICAgICAgICAgICAgc2V0OiBzZXRfZnVuYywNCiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgImZvbyIsIHsNCiAgICAgICAgICAgIGVudW1lcmFibGU6IGZhbHNlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHJldHVybiBhY2Nlc3NvclByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3Qob2JqLCAiZm9vIiwgZ2V0X2Z1bmMsIHNldF9mdW5jLCAidmVyaWZ5U2V0RnVuY3Rpb24iLCBmYWxzZSwgdHJ1ZSk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty - Update [[Enumerable]] attribute of 'name' property to false successfully when [[Enumerable]] and [[Configurable]] attributes of 'name' property are true, the 'desc' is a generic descriptor which contains [Enumerable]] attribute as false and [[Configurable]] property is true, 'name' property is an accessor property (8.12.9 step 8)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-82-8.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTgyLTkuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydHkgLSBVcGRhdGUgW1tDb25maWd1cmFibGVdXSBhdHRyaWJ1dGUgb2YgJ25hbWUnIHByb3BlcnR5IHRvIGZhbHNlIHN1Y2Nlc3NmdWxseSB3aGVuIFtbRW51bWVyYWJsZV1dIGFuZCBbW0NvbmZpZ3VyYWJsZV1dIGF0dHJpYnV0ZXMgb2YgJ25hbWUnIHByb3BlcnR5IGFyZSB0cnVlLCAgdGhlICdkZXNjJyBpcyBhIGdlbmVyaWMgZGVzY3JpcHRvciB3aGljaCBvbmx5IGNvbnRhaW5zIFtbQ29uZmlndXJhYmxlXV0gYXR0cmlidXRlIGFzIGZhbHNlLCAnbmFtZScgcHJvcGVydHkgaXMgYW4gYWNjZXNzb3IgcHJvcGVydHkgKDguMTIuOSBzdGVwIDgpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIG9iai52ZXJpZnlTZXRGdW5jdGlvbiA9ICJkYXRhIjsNCiAgICAgICAgdmFyIGdldF9mdW5jID0gZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgcmV0dXJuIG9iai52ZXJpZnlTZXRGdW5jdGlvbjsNCiAgICAgICAgfTsNCiAgICAgICAgdmFyIHNldF9mdW5jID0gZnVuY3Rpb24gKHZhbHVlKSB7DQogICAgICAgICAgICBvYmoudmVyaWZ5U2V0RnVuY3Rpb24gPSB2YWx1ZTsNCiAgICAgICAgfTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgImZvbyIsIHsNCiAgICAgICAgICAgIGdldDogZ2V0X2Z1bmMsDQogICAgICAgICAgICBzZXQ6IHNldF9mdW5jLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiZm9vIiwgew0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICB9KTsNCg0KICAgICAgICByZXR1cm4gYWNjZXNzb3JQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KG9iaiwgImZvbyIsIGdldF9mdW5jLCBzZXRfZnVuYywgInZlcmlmeVNldEZ1bmN0aW9uIiwgdHJ1ZSwgZmFsc2UpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty - Update [[Configurable]] attribute of 'name' property to false successfully when [[Enumerable]] and [[Configurable]] attributes of 'name' property are true, the 'desc' is a generic descriptor which only contains [[Configurable]] attribute as false, 'name' property is an accessor property (8.12.9 step 8)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-82-9.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTgyLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnR5IC0gZGVzYy5jb25maWd1cmFibGUgYW5kIG5hbWUuY29uZmlndXJhYmxlIGFyZSBib29sZWFuIG5lZ2F0aW9uIG9mIGVhY2ggb3RoZXIgKDguMTIuOSBzdGVwIDYpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICANCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJmb28iLCB7IGNvbmZpZ3VyYWJsZTogdHJ1ZSB9KTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiZm9vIiwgeyBjb25maWd1cmFibGU6IGZhbHNlIH0pOw0KICAgICAgICByZXR1cm4gZGF0YVByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3Qob2JqLCAiZm9vIiwgdW5kZWZpbmVkLCBmYWxzZSwgZmFsc2UsIGZhbHNlKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty - desc.configurable and name.configurable are boolean negation of each other (8.12.9 step 6)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-82.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTgzLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnR5IHdpbGwgbm90IHRocm93IFR5cGVFcnJvciBpZiBuYW1lLmNvbmZpZ3VyYWJsZSA9IGZhbHNlLCBuYW1lLndyaXRhYmxlID0gZmFsc2UsIG5hbWUudmFsdWUgPSB1bmRlZmluZWQgYW5kIGRlc2MudmFsdWUgPSB1bmRlZmluZWQgKDguMTIuOSBzdGVwIDEwLmEuaWkuMSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiZm9vIiwgeyANCiAgICAgICAgICAgIHZhbHVlOiB1bmRlZmluZWQsIA0KICAgICAgICAgICAgd3JpdGFibGU6IGZhbHNlLCANCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UgDQogICAgICAgIH0pOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJmb28iLCB7IA0KICAgICAgICAgICAgdmFsdWU6IHVuZGVmaW5lZCwgDQogICAgICAgICAgICB3cml0YWJsZTogZmFsc2UsIA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICB9KTsNCiAgICAgICAgcmV0dXJuIGRhdGFQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KG9iaiwgImZvbyIsIHVuZGVmaW5lZCwgZmFsc2UsIGZhbHNlLCBmYWxzZSk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty will not throw TypeError if name.configurable = false, name.writable = false, name.value = undefined and desc.value = undefined (8.12.9 step 10.a.ii.1)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-83.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTg0LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnR5IHdpbGwgbm90IHRocm93IFR5cGVFcnJvciBpZiBuYW1lLmNvbmZpZ3VyYWJsZSA9IGZhbHNlLCBuYW1lLndyaXRhYmxlID0gZmFsc2UsIG5hbWUudmFsdWUgPSBudWxsIGFuZCBkZXNjLnZhbHVlID0gbnVsbCAoOC4xMi45IHN0ZXAgMTAuYS5paS4xKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJmb28iLCB7IA0KICAgICAgICAgICAgdmFsdWU6IG51bGwsIA0KICAgICAgICAgICAgd3JpdGFibGU6IGZhbHNlLCANCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UgDQogICAgICAgIH0pOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJmb28iLCB7IA0KICAgICAgICAgICAgdmFsdWU6IG51bGwsICANCiAgICAgICAgICAgIHdyaXRhYmxlOiBmYWxzZSwgDQogICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlIA0KICAgICAgICB9KTsNCiAgICAgICAgcmV0dXJuIGRhdGFQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KG9iaiwgImZvbyIsIG51bGwsIGZhbHNlLCBmYWxzZSwgZmFsc2UpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty will not throw TypeError if name.configurable = false, name.writable = false, name.value = null and desc.value = null (8.12.9 step 10.a.ii.1)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-84.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTg1LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnR5IHdpbGwgbm90IHRocm93IFR5cGVFcnJvciBpZiBuYW1lLmNvbmZpZ3VyYWJsZSA9IGZhbHNlLCBuYW1lLndyaXRhYmxlID0gZmFsc2UsIG5hbWUudmFsdWUgPSBOYU4gYW5kIGRlc2MudmFsdWUgPSBOYU4gKDguMTIuOSBzdGVwIDEwLmEuaWkuMSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiZm9vIiwgew0KICAgICAgICAgICAgdmFsdWU6IE5hTiwNCiAgICAgICAgICAgIHdyaXRhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgfSk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgImZvbyIsIHsNCiAgICAgICAgICAgIHZhbHVlOiBOYU4sDQogICAgICAgICAgICB3cml0YWJsZTogZmFsc2UsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgIH0pOw0KDQogICAgICAgIGlmICghaXNOYU4ob2JqLmZvbykpIHsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfQ0KDQogICAgICAgIG9iai5mb28gPSAidmVyaWZ5VmFsdWUiOw0KICAgICAgICBpZiAob2JqLmZvbyA9PT0gInZlcmlmeVZhbHVlIikgew0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9DQoNCiAgICAgICAgZm9yICh2YXIgcHJvcCBpbiBvYmopIHsNCiAgICAgICAgICAgIGlmIChvYmouaGFzT3duUHJvcGVydHkocHJvcCkgJiYgcHJvcCA9PT0gImZvbyIpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICBkZWxldGUgb2JqLmZvbzsNCiAgICAgICAgaWYgKCFvYmouaGFzT3duUHJvcGVydHkoImZvbyIpKSB7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0NCg0KICAgICAgICByZXR1cm4gdHJ1ZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty will not throw TypeError if name.configurable = false, name.writable = false, name.value = NaN and desc.value = NaN (8.12.9 step 10.a.ii.1)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-85.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTg2LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnR5IHdpbGwgdGhyb3cgVHlwZUVycm9yIHdoZW4gbmFtZS5jb25maWd1cmFibGUgPSBmYWxzZSwgbmFtZS53cml0YWJsZSA9IGZhbHNlLCBkZXNjLnZhbHVlID0gKzAgYW5kIG5hbWUudmFsdWUgPSAtMCAoOC4xMi45IHN0ZXAgMTAuYS5paS4xKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJmb28iLCB7IA0KICAgICAgICAgICAgdmFsdWU6IC0wLCANCiAgICAgICAgICAgIHdyaXRhYmxlOiBmYWxzZSwgDQogICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlIA0KICAgICAgICB9KTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgImZvbyIsIHsgdmFsdWU6ICswIH0pOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFR5cGVFcnJvciAmJiBkYXRhUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChvYmosICJmb28iLCAtMCwgZmFsc2UsIGZhbHNlLCBmYWxzZSk7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty will throw TypeError when name.configurable = false, name.writable = false, desc.value = +0 and name.value = -0 (8.12.9 step 10.a.ii.1)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-86.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTg3LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnR5IHdpbGwgdGhyb3cgVHlwZUVycm9yIHdoZW4gbmFtZS5jb25maWd1cmFibGUgPSBmYWxzZSwgbmFtZS53cml0YWJsZSA9IGZhbHNlLCBkZXNjLnZhbHVlID0gLTAgYW5kIG5hbWUudmFsdWUgPSArMCAoOC4xMi45IHN0ZXAgMTAuYS5paS4xKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJmb28iLCB7IA0KICAgICAgICAgICAgdmFsdWU6ICswLCANCiAgICAgICAgICAgIHdyaXRhYmxlOiBmYWxzZSwgDQogICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlIA0KICAgICAgICB9KTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgImZvbyIsIHsgdmFsdWU6IC0wIH0pOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFR5cGVFcnJvciAmJiBkYXRhUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChvYmosICJmb28iLCArMCwgZmFsc2UsIGZhbHNlLCBmYWxzZSk7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty will throw TypeError when name.configurable = false, name.writable = false, desc.value = -0 and name.value = +0 (8.12.9 step 10.a.ii.1)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-87.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTg4LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnR5IHdpbGwgbm90IHRocm93IFR5cGVFcnJvciB3aGVuIG5hbWUuY29uZmlndXJhYmxlID0gZmFsc2UsIG5hbWUud3JpdGFibGUgPSBmYWxzZSwgZGVzYy52YWx1ZSBhbmQgbmFtZS52YWx1ZSBhcmUgdHdvIG51bWJlcnMgd2l0aCB0aGUgc2FtZSB2YWx1ZSAoOC4xMi45IHN0ZXAgMTAuYS5paS4xKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJmb28iLCB7IA0KICAgICAgICAgICAgdmFsdWU6IDEwMCwgDQogICAgICAgICAgICB3cml0YWJsZTogZmFsc2UsIA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZSANCiAgICAgICAgfSk7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJmb28iLCB7IHZhbHVlOiAxMDAgfSk7DQogICAgICAgICAgICByZXR1cm4gZGF0YVByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3Qob2JqLCAiZm9vIiwgMTAwLCBmYWxzZSwgZmFsc2UsIGZhbHNlKTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty will not throw TypeError when name.configurable = false, name.writable = false, desc.value and name.value are two numbers with the same value (8.12.9 step 10.a.ii.1)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-88.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTg5LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnR5IHdpbGwgdGhyb3cgVHlwZUVycm9yIHdoZW4gbmFtZS5jb25maWd1cmFibGUgPSBmYWxzZSwgbmFtZS53cml0YWJsZSA9IGZhbHNlLCBkZXNjLnZhbHVlIGFuZCBuYW1lLnZhbHVlIGFyZSB0d28gbnVtYmVycyB3aXRoIGRpZmZlcmVudCB2YWx1ZXMgKDguMTIuOSBzdGVwIDEwLmEuaWkuMSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiZm9vIiwgeyANCiAgICAgICAgICAgIHZhbHVlOiAxMCwgDQogICAgICAgICAgICB3cml0YWJsZTogZmFsc2UsIA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZSANCiAgICAgICAgfSk7DQogICAgICAgIA0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgImZvbyIsIHsgdmFsdWU6IDIwIH0pOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFR5cGVFcnJvciAmJiBkYXRhUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChvYmosICJmb28iLCAxMCwgZmFsc2UsIGZhbHNlLCBmYWxzZSk7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty will throw TypeError when name.configurable = false, name.writable = false, desc.value and name.value are two numbers with different values (8.12.9 step 10.a.ii.1)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-89.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogU3RlcCA0IG9mIGRlZmluZVByb3BlcnR5IGNhbGxzIHRoZSBbW0RlZmluZU93blByb3BlcnR5XV0gaW50ZXJuYWwgbWV0aG9kDQogKiBvZiBPIHRvIGRlZmluZSB0aGUgcHJvcGVydHkuIFN0ZXAgN2Igb2YgW1tEZWZpbmVPd25Qcm9wZXJ0eV1dIHJlamVjdHMgaWYNCiAqIGN1cnJlbnQuW1tFbnVtZXJhYmxlXV0gYW5kIGRlc2MuW1tFbnVtZXJhYmxlXV0gYXJlIHRoZSBib29sZWFuIG5lZ2F0aW9ucw0KICogb2YgZWFjaCBvdGhlci4NCiAqDQogKiBAcGF0aCBjaDE1LzE1LjIvMTUuMi4zLzE1LjIuMy42LzE1LjIuMy42LTQtOS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSB0aHJvd3MgVHlwZUVycm9yIHdoZW4gY2hhbmdpbmcgW1tFbnVtZXJhYmxlXV0gZnJvbSB0cnVlIHRvIGZhbHNlIG9uIG5vbi1jb25maWd1cmFibGUgZGF0YSBwcm9wZXJ0aWVzDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIG8gPSB7fTsNCg0KICAvLyBjcmVhdGUgYSBkYXRhIHZhbHVlZCBwcm9wZXJ0eSB3aXRoIFtbRW51bWVyYWJsZV1dIGV4cGxpY2l0bHkgc2V0IHRvIHRydWU7DQogIC8vIGFsbCBvdGhlciBhdHRyaWJ1dGVzIGRlZmF1bHQgdG8gZmFsc2UuDQogIHZhciBkMSA9IHsgdmFsdWU6IDEwMSwgZW51bWVyYWJsZTogdHJ1ZSwgY29uZmlndXJhYmxlOiBmYWxzZSB9Ow0KICBPYmplY3QuZGVmaW5lUHJvcGVydHkobywgImZvbyIsIGQxKTsNCg0KICAvLyBub3csIHNldHRpbmcgZW51bWVyYWJsZSB0byBmYWxzZSBzaG91bGQgZmFpbCwgc2luY2UgW1tDb25maWd1cmFibGVdXQ0KICAvLyBvbiB0aGUgb3JpZ2luYWwgcHJvcGVydHkgd2lsbCBiZSBmYWxzZS4NCiAgdmFyIGRlc2MgPSB7IHZhbHVlOiAxMDEsIGVudW1lcmFibGU6IGZhbHNlIH07DQoNCiAgdHJ5IHsNCiAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkobywgImZvbyIsIGRlc2MpOw0KICB9DQogIGNhdGNoIChlKSB7DQogICAgaWYgKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpIHsNCiAgICAgIC8vIHRoZSBwcm9wZXJ0eSBzaG91bGQgcmVtYWluIHVuY2hhbmdlZC4NCiAgICAgIHZhciBkMiA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IobywgImZvbyIpOw0KICAgICAgaWYgKGQyLnZhbHVlID09PSAxMDEgJiYNCiAgICAgICAgICBkMi5lbnVtZXJhYmxlID09PSB0cnVlICYmDQogICAgICAgICAgZDIuY29uZmlndXJhYmxlID09PSBmYWxzZSkgew0KICAgICAgICByZXR1cm4gdHJ1ZTsNCiAgICAgIH0NCiAgICB9DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"Step 4 of defineProperty calls the [[DefineOwnProperty]] internal method\nof O to define the property. Step 7b of [[DefineOwnProperty]] rejects if\ncurrent.[[Enumerable]] and desc.[[Enumerable]] are the boolean negations\nof each other.","description":"Object.defineProperty throws TypeError when changing [[Enumerable]] from true to false on non-configurable data properties","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-9.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTkwLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnR5IHdpbGwgbm90IHRocm93IFR5cGVFcnJvciB3aGVuIG5hbWUuY29uZmlndXJhYmxlID0gZmFsc2UsIG5hbWUud3JpdGFibGUgPSBmYWxzZSwgZGVzYy52YWx1ZSBhbmQgbmFtZS52YWx1ZSBhcmUgdHdvIHN0cmluZ3Mgd2l0aCB0aGUgc2FtZSB2YWx1ZSAoOC4xMi45IHN0ZXAgMTAuYS5paS4xKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJmb28iLCB7DQogICAgICAgICAgICB2YWx1ZTogImFiY2QiLA0KICAgICAgICAgICAgd3JpdGFibGU6IGZhbHNlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZSANCiAgICAgICAgfSk7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJmb28iLCB7IHZhbHVlOiAiYWJjZCIgfSk7DQogICAgICAgICAgICByZXR1cm4gZGF0YVByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3Qob2JqLCAiZm9vIiwgImFiY2QiLCBmYWxzZSwgZmFsc2UsIGZhbHNlKTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty will not throw TypeError when name.configurable = false, name.writable = false, desc.value and name.value are two strings with the same value (8.12.9 step 10.a.ii.1)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-90.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTkxLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnR5IHdpbGwgdGhyb3cgVHlwZUVycm9yIHdoZW4gbmFtZS5jb25maWd1cmFibGUgPSBmYWxzZSwgbmFtZS53cml0YWJsZSA9IGZhbHNlLCBkZXNjLnZhbHVlIGFuZCBuYW1lLnZhbHVlIGFyZSB0d28gc3RyaW5ncyB3aXRoIGRpZmZlcmVudCB2YWx1ZXMgKDguMTIuOSBzdGVwIDEwLmEuaWkuMSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiZm9vIiwgew0KICAgICAgICAgICAgdmFsdWU6ICJhYmNkIiwNCiAgICAgICAgICAgIHdyaXRhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UgDQogICAgICAgIH0pOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiZm9vIiwgeyB2YWx1ZTogImZnaGoiIH0pOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFR5cGVFcnJvciAmJiBkYXRhUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChvYmosICJmb28iLCAiYWJjZCIsIGZhbHNlLCBmYWxzZSwgZmFsc2UpOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty will throw TypeError when name.configurable = false, name.writable = false, desc.value and name.value are two strings with different values (8.12.9 step 10.a.ii.1)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-91.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTkyLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnR5IHdpbGwgbm90IHRocm93IFR5cGVFcnJvciB3aGVuIG5hbWUuY29uZmlndXJhYmxlID0gZmFsc2UsIG5hbWUud3JpdGFibGUgPSBmYWxzZSwgZGVzYy52YWx1ZSBhbmQgbmFtZS52YWx1ZSBhcmUgdHdvIGJvb2xlYW5zIHdpdGggdGhlIHNhbWUgdmFsdWUgKDguMTIuOSBzdGVwIDEwLmEuaWkuMSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiZm9vIiwgew0KICAgICAgICAgICAgdmFsdWU6IGZhbHNlLA0KICAgICAgICAgICAgd3JpdGFibGU6IGZhbHNlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZSANCiAgICAgICAgfSk7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJmb28iLCB7IHZhbHVlOiBmYWxzZSB9KTsNCiAgICAgICAgICAgIHJldHVybiBkYXRhUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChvYmosICJmb28iLCBmYWxzZSwgZmFsc2UsIGZhbHNlLCBmYWxzZSk7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty will not throw TypeError when name.configurable = false, name.writable = false, desc.value and name.value are two booleans with the same value (8.12.9 step 10.a.ii.1)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-92.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTkzLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnR5IHdpbGwgdGhyb3cgVHlwZUVycm9yIHdoZW4gbmFtZS5jb25maWd1cmFibGUgPSBmYWxzZSwgbmFtZS53cml0YWJsZSA9IGZhbHNlLCBkZXNjLnZhbHVlIGFuZCBuYW1lLnZhbHVlIGFyZSB0d28gYm9vbGVhbnMgd2l0aCBkaWZmZXJlbnQgdmFsdWVzICg4LjEyLjkgc3RlcCAxMC5hLmlpLjEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgImZvbyIsIHsNCiAgICAgICAgICAgIHZhbHVlOiBmYWxzZSwNCiAgICAgICAgICAgIHdyaXRhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UgDQogICAgICAgIH0pOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiZm9vIiwgeyB2YWx1ZTogdHJ1ZSB9KTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IgJiYgZGF0YVByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3Qob2JqLCAiZm9vIiwgZmFsc2UsIGZhbHNlLCBmYWxzZSwgZmFsc2UpOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperty will throw TypeError when name.configurable = false, name.writable = false, desc.value and name.value are two booleans with different values (8.12.9 step 10.a.ii.1)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-93.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTk0LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnR5IHdpbGwgbm90IHRocm93IFR5cGVFcnJvciB3aGVuIG5hbWUuY29uZmlndXJhYmxlID0gZmFsc2UsIG5hbWUud3JpdGFibGUgPSBmYWxzZSwgZGVzYy52YWx1ZSBhbmQgbmFtZS52YWx1ZSBhcmUgdHdvIE9iamVjdHMgcmVmZXIgdG8gdGhlIHNhbWUgb2JqZWN0ICg4LjEyLjkgc3RlcCAxMC5hLmlpLjEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgdmFyIG9iajEgPSB7IGxlbmd0aDogMTAgfTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiZm9vIiwgew0KICAgICAgICAgICAgdmFsdWU6IG9iajEsDQogICAgICAgICAgICB3cml0YWJsZTogZmFsc2UsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlIA0KICAgICAgICB9KTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgImZvbyIsIHsgdmFsdWU6IG9iajEgfSk7DQogICAgICAgICAgICByZXR1cm4gZGF0YVByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3Qob2JqLCAiZm9vIiwgb2JqMSwgZmFsc2UsIGZhbHNlLCBmYWxzZSk7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty will not throw TypeError when name.configurable = false, name.writable = false, desc.value and name.value are two Objects refer to the same object (8.12.9 step 10.a.ii.1)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-94.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTk1LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnR5IHdpbGwgdGhyb3cgVHlwZUVycm9yIHdoZW4gbmFtZS5jb25maWd1cmFibGUgPSBmYWxzZSwgbmFtZS53cml0YWJsZSA9IGZhbHNlLCBkZXNjLnZhbHVlIGFuZCBuYW1lLnZhbHVlIGFyZSB0d28gb2JqZWN0cyB3aGljaCByZWZlciB0byB0aGUgZGlmZmVyZW50IG9iamVjdHMgKDguMTIuOSBzdGVwIDEwLmEuaWkuMSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICB2YXIgb2JqMSA9IHsgbGVuZ3RoOiAxMCB9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJmb28iLCB7DQogICAgICAgICAgICB2YWx1ZTogb2JqMSwNCiAgICAgICAgICAgIHdyaXRhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UgDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBvYmoyID0geyBsZW5ndGg6IDIwIH07DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJmb28iLCB7IHZhbHVlOiBvYmoyIH0pOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFR5cGVFcnJvciAmJiBkYXRhUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChvYmosICJmb28iLCBvYmoxLCBmYWxzZSwgZmFsc2UsIGZhbHNlKTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty will throw TypeError when name.configurable = false, name.writable = false, desc.value and name.value are two objects which refer to the different objects (8.12.9 step 10.a.ii.1)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-95.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTk2LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnR5IHdpbGwgbm90IHRocm93IFR5cGVFcnJvciB3aGVuIG5hbWUuY29uZmlndXJhYmxlID0gZmFsc2UsIGJvdGggZGVzYy5bW1NldF1dIGFuZCBuYW1lLltbU2V0XV0gYXJlIHR3byBvYmplY3RzIHdoaWNoIHJlZmVyIHRvIHRoZSBzYW1lIG9iamVjdCAoOC4xMi45IHN0ZXAgMTEuYS5pKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIGZ1bmN0aW9uIHNldEZ1bmModmFsdWUpIHsNCiAgICAgICAgICAgIG9iai5zZXRWZXJpZnlIZWxwUHJvcCA9IHZhbHVlOw0KICAgICAgICB9DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgImZvbyIsIHsNCiAgICAgICAgICAgIHNldDogc2V0RnVuYywNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJmb28iLCB7IHNldDogc2V0RnVuYyB9KTsNCiAgICAgICAgICAgIHJldHVybiBhY2Nlc3NvclByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3Qob2JqLCAiZm9vIiwgdW5kZWZpbmVkLCBzZXRGdW5jLCAic2V0VmVyaWZ5SGVscFByb3AiLCBmYWxzZSwgZmFsc2UpOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty will not throw TypeError when name.configurable = false, both desc.[[Set]] and name.[[Set]] are two objects which refer to the same object (8.12.9 step 11.a.i)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-96.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTk3LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnR5IHdpbGwgdGhyb3cgVHlwZUVycm9yIHdoZW4gbmFtZS5jb25maWd1cmFibGUgPSBmYWxzZSwgbmFtZS5bW1NldF1dIGlzIHVuZGVmaW5lZCwgZGVzYy5bW1NldF1dIHJlZmVycyB0byBhbiBvYmplY3QgKDguMTIuOSBzdGVwIDExLmEuaSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBmdW5jdGlvbiBnZXRGdW5jKCkgew0KICAgICAgICAgICAgcmV0dXJuICJwcm9wZXJ0eSI7DQogICAgICAgIH0NCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcGVydHkiLCB7DQogICAgICAgICAgICBnZXQ6IGdldEZ1bmMsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgIH0pOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcGVydHkiLCB7DQogICAgICAgICAgICAgICAgZ2V0OiBnZXRGdW5jLA0KICAgICAgICAgICAgICAgIHNldDogZnVuY3Rpb24gKCkgeyB9LA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiBlIGluc3RhbmNlb2YgVHlwZUVycm9yICYmDQogICAgICAgICAgICAgICAgYWNjZXNzb3JQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KG9iaiwgInByb3BlcnR5IiwgZ2V0RnVuYywgdW5kZWZpbmVkLCB1bmRlZmluZWQsIGZhbHNlLCBmYWxzZSk7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty will throw TypeError when name.configurable = false, name.[[Set]] is undefined, desc.[[Set]] refers to an object (8.12.9 step 11.a.i)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-97.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTk4LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnR5IHdpbGwgbm90IHRocm93IFR5cGVFcnJvciB3aGVuIG5hbWUuY29uZmlndXJhYmxlID0gZmFsc2UsIGJvdGggZGVzYy5bW0dldF1dIGFuZCBuYW1lLltbR2V0XV0gYXJlIHR3byBvYmplY3RzIHdoaWNoIHJlZmVyIHRvIHRoZSBzYW1lIG9iamVjdCAoOC4xMi45IHN0ZXAgMTEuYS5paSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBmdW5jdGlvbiBnZXRGdW5jKCkgew0KICAgICAgICAgICAgcmV0dXJuIDEwOw0KICAgICAgICB9DQogICAgICAgIGZ1bmN0aW9uIHNldEZ1bmModmFsdWUpIHsNCiAgICAgICAgICAgIG9iai52ZXJpZnlHZXRIZWxwTWV0aG9kID0gdmFsdWU7DQogICAgICAgIH0NCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiZm9vIiwgew0KICAgICAgICAgICAgZ2V0OiBnZXRGdW5jLA0KICAgICAgICAgICAgc2V0OiBzZXRGdW5jLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgImZvbyIsIHsgZ2V0OiBnZXRGdW5jIH0pOw0KICAgICAgICAgICAgcmV0dXJuIGFjY2Vzc29yUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChvYmosICJmb28iLCBnZXRGdW5jLCBzZXRGdW5jLCAidmVyaWZ5R2V0SGVscE1ldGhvZCIsIGZhbHNlLCBmYWxzZSk7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperty will not throw TypeError when name.configurable = false, both desc.[[Get]] and name.[[Get]] are two objects which refer to the same object (8.12.9 step 11.a.ii)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-98.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNi8xNS4yLjMuNi00LTk5LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnR5IHdpbGwgdGhyb3cgVHlwZUVycm9yIHdoZW4gbmFtZS5jb25maWd1cmFibGUgPSBmYWxzZSwgbmFtZS5bW0dldF1dIGlzIHVuZGVmaW5lZCwgZGVzYy5bW0dldF1dIHJlZmVycyB0byBhbiBvYmplY3QgKDguMTIuOSBzdGVwIDExLmEuaWkpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgZnVuY3Rpb24gc2V0RnVuYyh2YWx1ZSkgew0KICAgICAgICAgICAgb2JqLnNldFZlcmlmeUhlbHBQcm9wID0gdmFsdWU7DQogICAgICAgIH0NCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiZm9vIiwgew0KICAgICAgICAgICAgc2V0OiBzZXRGdW5jLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBmdW5jdGlvbiBnZXRGdW5jKCkgew0KICAgICAgICAgICAgcmV0dXJuIDEwOw0KICAgICAgICB9DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJmb28iLCB7DQogICAgICAgICAgICAgICAgZ2V0OiBnZXRGdW5jLA0KICAgICAgICAgICAgICAgIHNldDogc2V0RnVuYw0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiBlIGluc3RhbmNlb2YgVHlwZUVycm9yICYmIGFjY2Vzc29yUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChvYmosICJmb28iLCB1bmRlZmluZWQsIHNldEZ1bmMsICJzZXRWZXJpZnlIZWxwUHJvcCIsIGZhbHNlLCBmYWxzZSk7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperty will throw TypeError when name.configurable = false, name.[[Get]] is undefined, desc.[[Get]] refers to an object (8.12.9 step 11.a.ii)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/15.2.3.6-4-99.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMTEgR29vZ2xlIEluYy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBhIHBhcnRpY3VsYXIgQVBJIGV4aXN0cyAoZG9jdW1lbnQuY3JlYXRlRWxlbWVudCwgYXMgaGFwcGVucyB0bwogKiBleGlzdCBpbiBhIGJyb3dzZXIgZW52aXJvbm1lbnQpLCBjaGVjayBpZiB0aGUgZm9ybSBvYmplY3RzIGl0IG1ha2VzCiAqIG9iZXkgdGhlIGNvbnN0cmFpbnRzIHRoYXQgZXZlbiBob3N0IG9iamVjdHMgbXVzdCBvYmV5LiBJbiB0aGlzCiAqIGNhc2UsIHRoYXQgaWYgZGVmaW5lUHJvcGVydHkgc2VlbXMgdG8gaGF2ZSBzdWNjZXNzZnVsbHkgaW5zdGFsbGVkIGEKICogbm9uLWNvbmZpZ3VyYWJsZSBnZXR0ZXIsIHRoYXQgaXQgaXMgc3RpbGwgdGhlcmUuCiAqCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjMvMTUuMi4zLjYvUzE1LjIuMy42X0ExLmpzCiAqIEBkZXNjcmlwdGlvbiBEbyBnZXR0ZXJzIG9uIEhUTUxGb3JtRWxlbWVudHMgZGlzYXBwZWFyPwogKi8KCmZ1bmN0aW9uIGdldHRlcigpIHsgcmV0dXJuICdnb3R0ZW4nOyB9CgppZiAodHlwZW9mIGRvY3VtZW50ICE9PSAndW5kZWZpbmVkJyAmJgogICAgdHlwZW9mIGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQgPT09ICdmdW5jdGlvbicpIHsKICB2YXIgZiA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImZvcm0iKTsKICB2YXIgcmVmdXNlZCA9IGZhbHNlOwogIHRyeSB7CiAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoZiwgJ2ZvbycsIHsKICAgICAgZ2V0OiBnZXR0ZXIsCiAgICAgIHNldDogdm9pZCAwCiAgICB9KTsKICB9IGNhdGNoIChlcnIpIHsKICAgIC8vIEEgaG9zdCBvYmplY3QgbWF5IHJlZnVzZSB0byBpbnN0YWxsIHRoZSBnZXR0ZXIKICAgIHJlZnVzZWQgPSB0cnVlOwogIH0KICBpZiAoIXJlZnVzZWQpIHsKICAgIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihmLCAnZm9vJyk7CiAgICBpZiAoZGVzYy5nZXQgIT09IGdldHRlcikgewogICAgICAkRVJST1IoJ0dldHRlciBvbiBIVE1MRm9ybUVsZW1lbnQgZGlzYXBwZWFycycpOwogICAgfQogIH0KfQo=","commentary":"If a particular API exists (document.createElement, as happens to\nexist in a browser environment), check if the form objects it makes\nobey the constraints that even host objects must obey. In this\ncase, that if defineProperty seems to have successfully installed a\nnon-configurable getter, that it is still there.","description":"Do getters on HTMLFormElements disappear?","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/S15.2.3.6_A1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMTEgR29vZ2xlIEluYy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBAcGF0aCBjaDE1LzE1LjIvMTUuMi4zLzE1LjIuMy42L1MxNS4yLjMuNl9BMi5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tzIGlmIGFuIGluaGVyaXRlZCBhY2Nlc3NvciBwcm9wZXJ0eSBhcHBlYXJzIHRvIGJlCiAqIGFuIG93biBwcm9wZXJ0eS4KICovCgp2YXIgYmFzZSA9IHt9Owp2YXIgZGVyaXZlZCA9IE9iamVjdC5jcmVhdGUoYmFzZSk7CmZ1bmN0aW9uIGdldHRlcigpIHsgcmV0dXJuICdnb3R0ZW4nOyB9Ck9iamVjdC5kZWZpbmVQcm9wZXJ0eShiYXNlLCAnZm9vJywge2dldDogZ2V0dGVyfSk7CmlmIChkZXJpdmVkLmhhc093blByb3BlcnR5KCdmb28nKSkgewogICRFUlJPUignQWNjZXNzb3IgcHJvcGVydGllcyBpbmhlcml0IGFzIG93biBwcm9wZXJ0aWVzJyk7Cn0KCg==","commentary":"","description":"Checks if an inherited accessor property appears to be\nan own property.","path":"TestCases/ch15/15.2/15.2.3/15.2.3.6/S15.2.3.6_A2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy0wLTEuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydGllcyBtdXN0IGV4aXN0IGFzIGEgZnVuY3Rpb24NCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgZiA9IE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzOw0KICBpZiAodHlwZW9mKGYpID09PSAiZnVuY3Rpb24iKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties must exist as a function","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-0-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy0wLTIuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydGllcyBtdXN0IGV4aXN0IGFzIGEgZnVuY3Rpb24gdGFraW5nIDIgcGFyYW1ldGVycw0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIGlmIChPYmplY3QuZGVmaW5lUHJvcGVydGllcy5sZW5ndGggPT09IDIpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties must exist as a function taking 2 parameters","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-0-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy0xLTEuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydGllcyB0aHJvd3MgVHlwZUVycm9yIGlmICdPJyBpcyB1bmRlZmluZWQNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyh1bmRlZmluZWQsIHt9KTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIChlIGluc3RhbmNlb2YgVHlwZUVycm9yKTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties throws TypeError if 'O' is undefined","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-1-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy0xLTIuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydGllcyB0aHJvd3MgVHlwZUVycm9yIGlmICdPJyBpcyBudWxsDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMobnVsbCwge30pOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties throws TypeError if 'O' is null","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-1-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy0xLTMuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydGllcyB0aHJvd3MgVHlwZUVycm9yIGlmICdPJyBpcyBhIGJvb2xlYW4NCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyh0cnVlLCB7fSk7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiAoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcik7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties throws TypeError if 'O' is a boolean","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-1-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy0xLTQuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydGllcyB0aHJvd3MgVHlwZUVycm9yIGlmICdPJyBpcyBhIHN0cmluZw0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKCJhYmMiLCB7fSk7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiAoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcik7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties throws TypeError if 'O' is a string","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-1-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy0xLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgdGhyb3dzIFR5cGVFcnJvciBpZiB0eXBlIG9mIGZpcnN0IHBhcmFtIGlzIG5vdCBPYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgIHRyeSB7DQogICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcygwLCB7fSk7DQogICAgfQ0KICAgIGNhdGNoIChlKSB7DQogICAgICBpZiAoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikgew0KICAgICAgICByZXR1cm4gdHJ1ZTsNCiAgICAgIH0NCiAgICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties throws TypeError if type of first param is not Object","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy0yLTEuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydGllcyB0aHJvd3MgVHlwZUVycm9yIGlmICdQcm9wZXJ0aWVzJyBpcyBudWxsDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMoe30sIG51bGwpOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties throws TypeError if 'Properties' is null","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-2-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy0yLTEwLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSBhcmd1bWVudCAnUHJvcGVydGllcycgaXMgYW4gQXJyYXkgb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIHZhciBwcm9wcyA9IFtdOw0KICAgICAgICB2YXIgcmVzdWx0ID0gZmFsc2U7DQogICAgICAgIA0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkocHJvcHMsICJwcm9wIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmVzdWx0ID0gdGhpcyBpbnN0YW5jZW9mIEFycmF5Ow0KICAgICAgICAgICAgICAgIHJldHVybiB7fTsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgcHJvcHMpOw0KICAgICAgICByZXR1cm4gcmVzdWx0Ow0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - argument 'Properties' is an Array object","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-2-10.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy0yLTExLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSBhcmd1bWVudCAnUHJvcGVydGllcycgaXMgdGhlIE1hdGggb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIHZhciByZXN1bHQgPSBmYWxzZTsNCiAgICAgICANCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShNYXRoLCAicHJvcCIsIHsNCiAgICAgICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICAgICAgcmVzdWx0ID0gKHRoaXMgPT09IE1hdGgpOw0KICAgICAgICAgICAgICAgICAgICByZXR1cm4ge307DQogICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgTWF0aCk7DQogICAgICAgICAgICByZXR1cm4gcmVzdWx0Ow0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIE1hdGgucHJvcDsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - argument 'Properties' is the Math object","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-2-11.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy0yLTEyLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSBhcmd1bWVudCAnUHJvcGVydGllcycgaXMgYSBEYXRlIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICB2YXIgcHJvcHMgPSBuZXcgRGF0ZSgpOw0KICAgICAgICB2YXIgcmVzdWx0ID0gZmFsc2U7DQogICAgICAgIA0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkocHJvcHMsICJwcm9wIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmVzdWx0ID0gdGhpcyBpbnN0YW5jZW9mIERhdGU7DQogICAgICAgICAgICAgICAgcmV0dXJuIHt9Ow0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMob2JqLCBwcm9wcyk7DQogICAgICAgIHJldHVybiByZXN1bHQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - argument 'Properties' is a Date object","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-2-12.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy0yLTEzLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSBhcmd1bWVudCAnUHJvcGVydGllcycgaXMgYSBSZWdFeHAgb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIHZhciBwcm9wcyA9IG5ldyBSZWdFeHAoKTsNCiAgICAgICAgdmFyIHJlc3VsdCA9IGZhbHNlOw0KICAgICAgIA0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkocHJvcHMsICJwcm9wIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmVzdWx0ID0gdGhpcyBpbnN0YW5jZW9mIFJlZ0V4cDsNCiAgICAgICAgICAgICAgICByZXR1cm4ge307DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIHByb3BzKTsNCiAgICAgICAgcmV0dXJuIHJlc3VsdDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - argument 'Properties' is a RegExp object","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-2-13.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy0yLTE0LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSBhcmd1bWVudCAnUHJvcGVydGllcycgaXMgdGhlIEpTT04gb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIHZhciByZXN1bHQgPSBmYWxzZTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KEpTT04sICJwcm9wIiwgew0KICAgICAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAgICByZXN1bHQgPSAodGhpcyA9PT0gSlNPTik7DQogICAgICAgICAgICAgICAgICAgIHJldHVybiB7fTsNCiAgICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMob2JqLCBKU09OKTsNCiAgICAgICAgICAgIHJldHVybiByZXN1bHQ7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgSlNPTi5wcm9wOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - argument 'Properties' is the JSON object","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-2-14.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy0yLTE1LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSBhcmd1bWVudCAnUHJvcGVydGllcycgaXMgYW4gRXJyb3Igb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIHZhciBwcm9wcyA9IG5ldyBFcnJvcigidGVzdCIpOw0KICAgICAgICB2YXIgb2JqMSA9IHsNCiAgICAgICAgICAgIHZhbHVlOiAxMQ0KICAgICAgICB9Ow0KICAgICAgICBwcm9wcy5kZXNjcmlwdGlvbiA9IG9iajE7DQogICAgICAgIHByb3BzLm1lc3NhZ2UgPSBvYmoxOw0KICAgICAgICBwcm9wcy5uYW1lID0gb2JqMTsNCg0KICAgICAgICB2YXIgcmVzdWx0ID0gZmFsc2U7DQogICAgICAgDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShwcm9wcywgInByb3AiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXN1bHQgPSB0aGlzIGluc3RhbmNlb2YgRXJyb3I7DQogICAgICAgICAgICAgICAgcmV0dXJuIHt9Ow0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMob2JqLCBwcm9wcyk7DQogICAgICAgIHJldHVybiByZXN1bHQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - argument 'Properties' is an Error object","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-2-15.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy0yLTE2LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSBhcmd1bWVudCAnUHJvcGVydGllcycgaXMgdGhlIEFyZ3VtZW50cyBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgdmFyIHJlc3VsdCA9IGZhbHNlOw0KDQogICAgICAgIHZhciBGdW4gPSBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICByZXR1cm4gYXJndW1lbnRzOw0KICAgICAgICB9OyAgICAgICAgDQogICAgICAgIHZhciBwcm9wcyA9IG5ldyBGdW4oKTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkocHJvcHMsICJwcm9wIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmVzdWx0ID0gKCdbb2JqZWN0IEFyZ3VtZW50c10nID09PSBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwodGhpcykpOw0KICAgICAgICAgICAgICAgIHJldHVybiB7fTsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgcHJvcHMpOw0KICAgICAgICByZXR1cm4gcmVzdWx0Ow0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - argument 'Properties' is the Arguments object","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-2-16.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy0yLTE4LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSBhcmd1bWVudCAnUHJvcGVydGllcycgaXMgdGhlIGdsb2JhbCBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgdmFyIHJlc3VsdCA9IGZhbHNlOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoZm5HbG9iYWxPYmplY3QoKSwgInByb3AiLCB7DQogICAgICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgIHJlc3VsdCA9ICh0aGlzID09PSBmbkdsb2JhbE9iamVjdCgpKTsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHt9Ow0KICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSwNCgkJCQljb25maWd1cmFibGU6dHJ1ZQ0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgZm5HbG9iYWxPYmplY3QoKSk7DQogICAgICAgICAgICByZXR1cm4gcmVzdWx0Ow0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIGZuR2xvYmFsT2JqZWN0KCkucHJvcDsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - argument 'Properties' is the global object","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-2-18.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy0yLTIuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydGllcyB0aHJvd3MgVHlwZUVycm9yIGlmICdQcm9wZXJ0aWVzJyBpcyB1bmRlZmluZWQNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyh7fSwgdW5kZWZpbmVkKTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIChlIGluc3RhbmNlb2YgVHlwZUVycm9yKTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties throws TypeError if 'Properties' is undefined","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-2-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy0yLTMuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydGllcyAtIGFyZ3VtZW50ICdQcm9wZXJ0aWVzJyBpcyBhIGJvb2xlYW4gd2hvc2UgdmFsdWUgaXMgZmFsc2UNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgdmFyIG9iajEgPSBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIGZhbHNlKTsNCiAgICAgICAgcmV0dXJuIG9iaiA9PT0gb2JqMTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - argument 'Properties' is a boolean whose value is false","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-2-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy0yLTQuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydGllcyAtIGFyZ3VtZW50ICdQcm9wZXJ0aWVzJyBpcyBhIEJvb2xlYW4gb2JqZWN0IHdob3NlIHByaW1pdGl2ZSB2YWx1ZSBpcyB0cnVlDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIHZhciBwcm9wcyA9IG5ldyBCb29sZWFuKHRydWUpOw0KICAgICAgICB2YXIgcmVzdWx0ID0gZmFsc2U7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHByb3BzLCAicHJvcCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJlc3VsdCA9IHRoaXMgaW5zdGFuY2VvZiBCb29sZWFuOw0KICAgICAgICAgICAgICAgIHJldHVybiB7fTsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgcHJvcHMpOw0KICAgICAgICByZXR1cm4gcmVzdWx0Ow0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - argument 'Properties' is a Boolean object whose primitive value is true","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-2-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy0yLTUuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydGllcyAtIGFyZ3VtZW50ICdQcm9wZXJ0aWVzJyBpcyBhbnkgaW50ZXJlc3RpbmcgbnVtYmVyDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0geyAiMTIzIjogMTAwIH07DQogICAgICAgIHZhciBvYmoxID0gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMob2JqLCAtMTIpOw0KICAgICAgICByZXR1cm4gb2JqID09PSBvYmoxOw0KDQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - argument 'Properties' is any interesting number","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-2-5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy0yLTYuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydGllcyAtIGFyZ3VtZW50ICdQcm9wZXJ0aWVzJyBpcyBhIE51bWJlciBvYmplY3Qgd2hvc2UgcHJpbWl0aXZlIHZhbHVlIGlzIGFueSBpbnRlcmVzdGluZyBudW1iZXINCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgdmFyIHByb3BzID0gbmV3IE51bWJlcigtMTIpOw0KICAgICAgICB2YXIgcmVzdWx0ID0gZmFsc2U7DQogICAgDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShwcm9wcywgInByb3AiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXN1bHQgPSB0aGlzIGluc3RhbmNlb2YgTnVtYmVyOw0KICAgICAgICAgICAgICAgIHJldHVybiB7fTsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgcHJvcHMpOw0KICAgICAgICByZXR1cm4gcmVzdWx0Ow0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - argument 'Properties' is a Number object whose primitive value is any interesting number","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-2-6.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy0yLTcuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydGllcyAtIGFyZ3VtZW50ICdQcm9wZXJ0aWVzJyBpcyBhIHN0cmluZyB3aG9zZSB2YWx1ZSBpcyBhbnkgaW50ZXJlc3Rpbmcgc3RyaW5nDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0geyAiMTIzIjogMTAwIH07DQogICAgICAgIHZhciBvYmoxID0gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMob2JqLCAiIik7DQogICAgICAgIHJldHVybiBvYmogPT09IG9iajE7DQoNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - argument 'Properties' is a string whose value is any interesting string","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-2-7.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy0yLTguanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydGllcyAtIGFyZ3VtZW50ICdQcm9wZXJ0aWVzJyBpcyBhIFN0cmluZyBvYmplY3Qgd2hvc2UgcHJpbWl0aXZlIHZhbHVlIGlzIGFueSBpbnRlcmVzdGluZyBzdHJpbmcNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgdmFyIHByb3BzID0gbmV3IFN0cmluZygpOw0KICAgICAgICB2YXIgcmVzdWx0ID0gZmFsc2U7DQogICANCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHByb3BzLCAicHJvcCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJlc3VsdCA9IHRoaXMgaW5zdGFuY2VvZiBTdHJpbmc7DQogICAgICAgICAgICAgICAgcmV0dXJuIHt9Ow0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMob2JqLCBwcm9wcyk7DQogICAgICAgIHJldHVybiByZXN1bHQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - argument 'Properties' is a String object whose primitive value is any interesting string","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-2-8.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy0yLTkuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydGllcyAtIGFyZ3VtZW50ICdQcm9wZXJ0aWVzJyBpcyBhIEZ1bmN0aW9uIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICB2YXIgcHJvcHMgPSBmdW5jdGlvbiAoKSB7IH07DQogICAgICAgIHZhciByZXN1bHQgPSBmYWxzZTsNCiAgICAgIA0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkocHJvcHMsICJwcm9wIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmVzdWx0ID0gdGhpcyBpbnN0YW5jZW9mIEZ1bmN0aW9uOw0KICAgICAgICAgICAgICAgIHJldHVybiB7fTsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgcHJvcHMpOw0KICAgICAgICByZXR1cm4gcmVzdWx0Ow0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - argument 'Properties' is a Function object","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-2-9.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy0zLTEuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydGllcyAtIGVudW1lcmFibGUgb3duIGRhdGEgcHJvcGVydHkgb2YgJ1Byb3BlcnRpZXMnIGlzIGRlZmluZWQgaW4gJ08nIA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHt9OyAgICAgIA0KICAgICAgICB2YXIgcHJvcHMgPSB7fTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHByb3BzLCAicHJvcCIsIHsNCiAgICAgICAgICAgIHZhbHVlOiB7fSwNCiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMob2JqLCBwcm9wcyk7DQoNCiAgICAgICAgcmV0dXJuIG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - enumerable own data property of 'Properties' is defined in 'O'","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-3-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy0zLTIuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydGllcyAtIG93biBkYXRhIHByb3BlcnR5IG9mICdQcm9wZXJ0aWVzJyB3aGljaCBpcyBub3QgZW51bWVyYWJsZSBpcyBub3QgZGVmaW5lZCBpbiAnTycgDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIHZhciBwcm9wcyA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShwcm9wcywgInByb3AiLCB7DQogICAgICAgICAgICB2YWx1ZToge30sDQogICAgICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIHByb3BzKTsNCg0KICAgICAgICByZXR1cm4gIW9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - own data property of 'Properties' which is not enumerable is not defined in 'O'","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-3-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy0zLTMuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydGllcyAtIGVudW1lcmFibGUgaW5oZXJpdGVkIGRhdGEgcHJvcGVydHkgb2YgJ1Byb3BlcnRpZXMnIGlzIG5vdCBkZWZpbmVkIGluICdPJyANCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICB2YXIgcHJvdG8gPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkocHJvdG8sICJwcm9wIiwgew0KICAgICAgICAgICAgdmFsdWU6IHt9LA0KICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgQ29uID0gZnVuY3Rpb24gKCkgeyB9Ow0KICAgICAgICBDb24ucHJvdG90eXBlID0gcHJvdG87DQogICAgICAgIHZhciBjaGlsZCA9IG5ldyBDb24oKTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIGNoaWxkKTsNCg0KICAgICAgICByZXR1cm4gIW9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - enumerable inherited data property of 'Properties' is not defined in 'O'","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-3-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy0zLTQuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydGllcyAtIGVudW1lcmFibGUgb3duIGFjY2Vzc29yIHByb3BlcnR5IG9mICdQcm9wZXJ0aWVzJyBpcyBkZWZpbmVkIGluICdPJyANCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICB2YXIgcHJvcHMgPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkocHJvcHMsICJwcm9wIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIHt9Ow0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMob2JqLCBwcm9wcyk7DQoNCiAgICAgICAgcmV0dXJuIG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - enumerable own accessor property of 'Properties' is defined in 'O'","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-3-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy0zLTUuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydGllcyAtIG93biBhY2Nlc3NvciBwcm9wZXJ0eSBvZiAnUHJvcGVydGllcycgd2hpY2ggaXMgbm90IGVudW1lcmFibGUgaXMgbm90IGRlZmluZWQgaW4gJ08nIA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIHZhciBwcm9wcyA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShwcm9wcywgInByb3AiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4ge307DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgZW51bWVyYWJsZTogZmFsc2UNCiAgICAgICAgfSk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMob2JqLCBwcm9wcyk7DQoNCiAgICAgICAgcmV0dXJuICFvYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - own accessor property of 'Properties' which is not enumerable is not defined in 'O'","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-3-5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy0zLTYuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydGllcyAtIGVudW1lcmFibGUgaW5oZXJpdGVkIGFjY2Vzc29yIHByb3BlcnR5IG9mICdQcm9wZXJ0aWVzJyBpcyBub3QgZGVmaW5lZCBpbiAnTycgDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIHZhciBwcm90byA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShwcm90bywgInByb3AiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4ge307DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgQ29uID0gZnVuY3Rpb24gKCkgeyB9Ow0KICAgICAgICBDb24ucHJvdG90eXBlID0gcHJvdG87DQogICAgICAgIHZhciBjaGlsZCA9IG5ldyBDb24oKTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIGNoaWxkKTsNCg0KICAgICAgICByZXR1cm4gIW9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - enumerable inherited accessor property of 'Properties' is not defined in 'O'","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-3-6.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy0zLTcuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydGllcyAtIG5vIGFkZGl0aW9uYWwgcHJvcGVydHkgaXMgZGVmaW5lZCBpbiAnTycgd2hlbiAnUHJvcGVydGllcycgZG9lc24ndCBjb250YWluIGVudW1lcmFibGUgb3duIHByb3BlcnR5IA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIHZhciBwcm9wcyA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShwcm9wcywgInByb3AxIiwgew0KICAgICAgICAgICAgdmFsdWU6IHt9LA0KICAgICAgICAgICAgZW51bWVyYWJsZTogZmFsc2UNCiAgICAgICAgfSk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHByb3BzLCAicHJvcDIiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4ge307DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgZW51bWVyYWJsZTogZmFsc2UNCiAgICAgICAgfSk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMob2JqLCBwcm9wcyk7DQoNCiAgICAgICAgcmV0dXJuICFvYmouaGFzT3duUHJvcGVydHkoInByb3AxIikgJiYgIW9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcDIiKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - no additional property is defined in 'O' when 'Properties' doesn't contain enumerable own property","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-3-7.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy0zLTguanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydGllcyAtIG5vIGFkZGl0aW9uYWwgcHJvcGVydHkgaXMgZGVmaW5lZCBpbiAnTycgd2hlbiAnUHJvcGVydGllcycgZG9lc24ndCBjb250YWluIGVudW1lcmFibGUgb3duIHByb3BlcnR5IA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIHZhciBwcm9wcyA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShwcm9wcywgInByb3AxIiwgew0KICAgICAgICAgICAgdmFsdWU6IHt9LA0KICAgICAgICAgICAgZW51bWVyYWJsZTogZmFsc2UNCiAgICAgICAgfSk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHByb3BzLCAicHJvcDIiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4ge307DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIHByb3BzKTsNCg0KICAgICAgICByZXR1cm4gIW9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcDEiKSAmJiBvYmouaGFzT3duUHJvcGVydHkoInByb3AyIik7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - no additional property is defined in 'O' when 'Properties' doesn't contain enumerable own property","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-3-8.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy01LWEtMS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ1AnIGlzIG93biBkYXRhIHByb3BlcnR5IHRoYXQgb3ZlcnJpZGVzIGVudW1lcmFibGUgaW5oZXJpdGVkIGRhdGEgcHJvcGVydHkgb2YgJ1Byb3BlcnRpZXMnIGlzIGRlZmluZWQgaW4gJ08nIA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIHZhciBwcm90byA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShwcm90bywgInByb3AiLCB7DQogICAgICAgICAgICB2YWx1ZTogew0KICAgICAgICAgICAgICAgIHZhbHVlOiA5DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgQ29uID0gZnVuY3Rpb24gKCkgeyB9Ow0KICAgICAgICBDb24ucHJvdG90eXBlID0gcHJvdG87DQoNCiAgICAgICAgdmFyIGNoaWxkID0gbmV3IENvbigpOw0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoY2hpbGQsICJwcm9wIiwgew0KICAgICAgICAgICAgdmFsdWU6IHsNCiAgICAgICAgICAgICAgICB2YWx1ZTogMTINCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgY2hpbGQpOw0KDQogICAgICAgIHJldHVybiBvYmouaGFzT3duUHJvcGVydHkoInByb3AiKSAmJiBvYmoucHJvcCA9PT0gMTI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - 'P' is own data property that overrides enumerable inherited data property of 'Properties' is defined in 'O'","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-a-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy01LWEtMTAuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydGllcyAtICdQcm9wZXJ0aWVzJyBpcyBhIEJvb2xlYW4gb2JqZWN0IHdoaWNoIGltcGxlbWVudHMgaXRzIG93biBbW0dldF1dIG1ldGhvZCB0byBnZXQgZW51bWVyYWJsZSBvd24gcHJvcGVydHkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgdmFyIHByb3BzID0gbmV3IEJvb2xlYW4oZmFsc2UpOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShwcm9wcywgInByb3AiLCB7DQogICAgICAgICAgICB2YWx1ZTogew0KICAgICAgICAgICAgICAgIHZhbHVlOiAxMA0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUNCiAgICAgICAgfSk7DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgcHJvcHMpOw0KDQogICAgICAgIHJldHVybiBvYmouaGFzT3duUHJvcGVydHkoInByb3AiKSAmJiBvYmoucHJvcCA9PT0gMTA7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - 'Properties' is a Boolean object which implements its own [[Get]] method to get enumerable own property","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-a-10.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy01LWEtMTEuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydGllcyAtICdQcm9wZXJ0aWVzJyBpcyBhIE51bWJlciBvYmplY3Qgd2hpY2ggaW1wbGVtZW50cyBpdHMgb3duIFtbR2V0XV0gbWV0aG9kIHRvIGdldCBlbnVtZXJhYmxlIG93biBwcm9wZXJ0eQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICB2YXIgcHJvcHMgPSBuZXcgTnVtYmVyKC05KTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkocHJvcHMsICJwcm9wIiwgew0KICAgICAgICAgICAgdmFsdWU6IHsNCiAgICAgICAgICAgICAgICB2YWx1ZTogMTINCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIHByb3BzKTsNCg0KICAgICAgICByZXR1cm4gb2JqLmhhc093blByb3BlcnR5KCJwcm9wIikgJiYgb2JqLnByb3AgPT09IDEyOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - 'Properties' is a Number object which implements its own [[Get]] method to get enumerable own property","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-a-11.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy01LWEtMTIuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydGllcyAtICdQcm9wZXJ0aWVzJyBpcyB0aGUgTWF0aCBvYmplY3Qgd2hpY2ggaW1wbGVtZW50cyBpdHMgb3duIFtbR2V0XV0gbWV0aG9kIHRvIGdldCBlbnVtZXJhYmxlIG93biBwcm9wZXJ0eQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBNYXRoLnByb3AgPSB7DQogICAgICAgICAgICAgICAgdmFsdWU6IDEyDQogICAgICAgICAgICB9Ow0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMob2JqLCBNYXRoKTsNCg0KICAgICAgICAgICAgcmV0dXJuIG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpICYmIG9iai5wcm9wID09PSAxMjsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBNYXRoLnByb3A7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - 'Properties' is the Math object which implements its own [[Get]] method to get enumerable own property","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-a-12.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy01LWEtMTMuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydGllcyAtICdQcm9wZXJ0aWVzJyBpcyBhIERhdGUgb2JqZWN0IHdoaWNoIGltcGxlbWVudHMgaXRzIG93biBbW0dldF1dIG1ldGhvZCB0byBnZXQgZW51bWVyYWJsZSBvd24gcHJvcGVydHkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgdmFyIHByb3BzID0gbmV3IERhdGUoKTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkocHJvcHMsICJwcm9wIiwgew0KICAgICAgICAgICAgdmFsdWU6IHsNCiAgICAgICAgICAgICAgICB2YWx1ZTogMTMNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIHByb3BzKTsNCg0KICAgICAgICByZXR1cm4gb2JqLmhhc093blByb3BlcnR5KCJwcm9wIikgJiYgb2JqLnByb3AgPT09IDEzOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - 'Properties' is a Date object which implements its own [[Get]] method to get enumerable own property","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-a-13.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy01LWEtMTQuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydGllcyAtICdQcm9wZXJ0aWVzJyBpcyBhIFJlZ0V4cCBvYmplY3Qgd2hpY2ggaW1wbGVtZW50cyBpdHMgb3duIFtbR2V0XV0gbWV0aG9kIHRvIGdldCBlbnVtZXJhYmxlIG93biBwcm9wZXJ0eQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICB2YXIgcHJvcHMgPSBuZXcgUmVnRXhwKCk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHByb3BzLCAicHJvcCIsIHsNCiAgICAgICAgICAgIHZhbHVlOiB7DQogICAgICAgICAgICAgICAgdmFsdWU6IDE0DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMob2JqLCBwcm9wcyk7DQoNCiAgICAgICAgcmV0dXJuIG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpICYmIG9iai5wcm9wID09PSAxNDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - 'Properties' is a RegExp object which implements its own [[Get]] method to get enumerable own property","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-a-14.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy01LWEtMTUuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydGllcyAtICdQcm9wZXJ0aWVzJyBpcyB0aGUgSlNPTiBvYmplY3Qgd2hpY2ggaW1wbGVtZW50cyBpdHMgb3duIFtbR2V0XV0gbWV0aG9kIHRvIGdldCBlbnVtZXJhYmxlIG93biBwcm9wZXJ0eQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgSlNPTi5wcm9wID0gew0KICAgICAgICAgICAgICAgIHZhbHVlOiAxNQ0KICAgICAgICAgICAgfTsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgSlNPTik7DQoNCiAgICAgICAgICAgIHJldHVybiBvYmouaGFzT3duUHJvcGVydHkoInByb3AiKSAmJiBvYmoucHJvcCA9PT0gMTU7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgSlNPTi5wcm9wOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - 'Properties' is the JSON object which implements its own [[Get]] method to get enumerable own property","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-a-15.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy01LWEtMTYuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydGllcyAtICdQcm9wZXJ0aWVzJyBpcyBhbiBFcnJvciBvYmplY3Qgd2hpY2ggaW1wbGVtZW50cyBpdHMgb3duIFtbR2V0XV0gbWV0aG9kIHRvIGdldCBlbnVtZXJhYmxlIG93biBwcm9wZXJ0eQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICB2YXIgcHJvcHMgPSBuZXcgRXJyb3IoInRlc3QiKTsNCiAgICAgICAgdmFyIG9iajEgPSB7DQogICAgICAgICAgICB2YWx1ZTogMTENCiAgICAgICAgfTsNCiAgICAgICAgcHJvcHMubWVzc2FnZSA9IG9iajE7DQogICAgICAgIHByb3BzLm5hbWUgPSBvYmoxOw0KICAgICAgICBwcm9wcy5kZXNjcmlwdGlvbiA9IG9iajE7DQoNCiAgICAgICAgcHJvcHMucHJvcCA9IHsNCiAgICAgICAgICAgIHZhbHVlOiAxNg0KICAgICAgICB9Ow0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIHByb3BzKTsNCg0KICAgICAgICByZXR1cm4gb2JqLmhhc093blByb3BlcnR5KCJwcm9wIikgJiYgb2JqLnByb3AgPT09IDE2Ow0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - 'Properties' is an Error object which implements its own [[Get]] method to get enumerable own property","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-a-16.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy01LWEtMTcuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydGllcyAtICdQcm9wZXJ0aWVzJyBpcyB0aGUgQXJndW1lbnRzIG9iamVjdCB3aGljaCBpbXBsZW1lbnRzIGl0cyBvd24gW1tHZXRdXSBtZXRob2QgdG8gZ2V0IGVudW1lcmFibGUgb3duIHByb3BlcnR5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIHZhciBhcmc7DQoNCiAgICAgICAgKGZ1bmN0aW9uIGZ1bigpIHsNCiAgICAgICAgICAgIGFyZyA9IGFyZ3VtZW50czsNCiAgICAgICAgfSgpKTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJnLCAicHJvcCIsIHsNCiAgICAgICAgICAgIHZhbHVlOiB7DQogICAgICAgICAgICAgICAgdmFsdWU6IDE3DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIGFyZyk7DQoNCiAgICAgICAgcmV0dXJuIG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpICYmIG9iai5wcm9wID09PSAxNzsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - 'Properties' is the Arguments object which implements its own [[Get]] method to get enumerable own property","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-a-17.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy01LWEtMi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ1AnIGlzIG93biBkYXRhIHByb3BlcnR5IHRoYXQgb3ZlcnJpZGVzIGVudW1lcmFibGUgaW5oZXJpdGVkIGFjY2Vzc29yIHByb3BlcnR5IG9mICdQcm9wZXJ0aWVzJyBpcyBkZWZpbmVkIGluICdPJyANCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgdmFyIHByb3RvID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHByb3RvLCAicHJvcCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiB7DQogICAgICAgICAgICAgICAgICAgIHZhbHVlOiA5DQogICAgICAgICAgICAgICAgfTsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBDb24gPSBmdW5jdGlvbiAoKSB7IH07DQogICAgICAgIENvbi5wcm90b3R5cGUgPSBwcm90bzsNCg0KICAgICAgICB2YXIgY2hpbGQgPSBuZXcgQ29uKCk7DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShjaGlsZCwgInByb3AiLCB7DQogICAgICAgICAgICB2YWx1ZTogew0KICAgICAgICAgICAgICAgIHZhbHVlOiAxMg0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUNCiAgICAgICAgfSk7DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgY2hpbGQpOw0KDQogICAgICAgIHJldHVybiBvYmouaGFzT3duUHJvcGVydHkoInByb3AiKSAmJiBvYmoucHJvcCA9PT0gMTI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - 'P' is own data property that overrides enumerable inherited accessor property of 'Properties' is defined in 'O'","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-a-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy01LWEtMy5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gZW51bWVyYWJsZSBvd24gYWNjZXNzb3IgcHJvcGVydHkgb2YgJ1Byb3BlcnRpZXMnIHRoYXQgb3ZlcnJpZGVzIGVudW1lcmFibGUgaW5oZXJpdGVkIGRhdGEgcHJvcGVydHkgb2YgJ1Byb3BlcnRpZXMnIGlzIGRlZmluZWQgaW4gJ08nIA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIHZhciBwcm90byA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShwcm90bywgInByb3AiLCB7DQogICAgICAgICAgICB2YWx1ZTogew0KICAgICAgICAgICAgICAgIHZhbHVlOiA5DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgQ29uID0gZnVuY3Rpb24gKCkgeyB9Ow0KICAgICAgICBDb24ucHJvdG90eXBlID0gcHJvdG87DQoNCiAgICAgICAgdmFyIGNoaWxkID0gbmV3IENvbigpOw0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoY2hpbGQsICJwcm9wIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIHsNCiAgICAgICAgICAgICAgICAgICAgdmFsdWU6IDEyDQogICAgICAgICAgICAgICAgfTsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIGNoaWxkKTsNCg0KICAgICAgICByZXR1cm4gb2JqLmhhc093blByb3BlcnR5KCJwcm9wIikgJiYgb2JqLnByb3AgPT09IDEyOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - enumerable own accessor property of 'Properties' that overrides enumerable inherited data property of 'Properties' is defined in 'O'","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-a-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy01LWEtNC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gZW51bWVyYWJsZSBvd24gYWNjZXNzb3IgcHJvcGVydHkgb2YgJ1Byb3BlcnRpZXMnIHRoYXQgb3ZlcnJpZGVzIGVudW1lcmFibGUgaW5oZXJpdGVkIGFjY2Vzc29yIHByb3BlcnR5IG9mICdQcm9wZXJ0aWVzJyBpcyBkZWZpbmVkIGluICdPJyANCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICB2YXIgcHJvdG8gPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkocHJvdG8sICJwcm9wIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIHsNCiAgICAgICAgICAgICAgICAgICAgdmFsdWU6IDkNCiAgICAgICAgICAgICAgICB9Ow0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGVudW1lcmFibGU6IGZhbHNlDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBDb24gPSBmdW5jdGlvbiAoKSB7IH07DQogICAgICAgIENvbi5wcm90b3R5cGUgPSBwcm90bzsNCg0KICAgICAgICB2YXIgY2hpbGQgPSBuZXcgQ29uKCk7DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShjaGlsZCwgInByb3AiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gew0KICAgICAgICAgICAgICAgICAgICB2YWx1ZTogMTINCiAgICAgICAgICAgICAgICB9Ow0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUNCiAgICAgICAgfSk7DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgY2hpbGQpOw0KDQogICAgICAgIHJldHVybiBvYmouaGFzT3duUHJvcGVydHkoInByb3AiKSAmJiBvYmoucHJvcCA9PT0gMTI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - enumerable own accessor property of 'Properties' that overrides enumerable inherited accessor property of 'Properties' is defined in 'O'","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-a-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy01LWEtNS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gZW51bWVyYWJsZSBvd24gYWNjZXNzb3IgcHJvcGVydHkgb2YgJ1Byb3BlcnRpZXMnIHdpdGhvdXQgYSBnZXQgZnVuY3Rpb24gaXMgZGVmaW5lZCBpbiAnTycgDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgdmFyIHByb3BzID0ge307DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShwcm9wcywgInByb3AiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gew0KICAgICAgICAgICAgICAgICAgICBzZXQ6IGZ1bmN0aW9uICgpIHsgfQ0KICAgICAgICAgICAgICAgIH07DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIHByb3BzKTsNCg0KICAgICAgICByZXR1cm4gb2JqLmhhc093blByb3BlcnR5KCJwcm9wIikgJiYgdHlwZW9mIG9iai5wcm9wID09PSAidW5kZWZpbmVkIjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - enumerable own accessor property of 'Properties' without a get function is defined in 'O'","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-a-5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy01LWEtNi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gZW51bWVyYWJsZSBvd24gYWNjZXNzb3IgcHJvcGVydHkgb2YgJ1Byb3BlcnRpZXMnIHdpdGhvdXQgYSBnZXQgZnVuY3Rpb24gdGhhdCBvdmVycmlkZXMgZW51bWVyYWJsZSBpbmhlcml0ZWQgYWNjZXNzb3IgcHJvcGVydHkgb2YgJ1Byb3BlcnRpZXMnIGlzIGRlZmluZWQgaW4gJ08nIA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIHZhciBwcm90byA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShwcm90bywgInByb3AiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gMTI7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgQ29uID0gZnVuY3Rpb24gKCkgeyB9Ow0KICAgICAgICBDb24ucHJvdG90eXBlID0gcHJvdG87DQoNCiAgICAgICAgdmFyIGNoaWxkID0gbmV3IENvbigpOw0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoY2hpbGQsICJwcm9wIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIHsNCiAgICAgICAgICAgICAgICAgICAgc2V0OiBmdW5jdGlvbiAoKSB7IH0NCiAgICAgICAgICAgICAgICB9Ow0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUNCiAgICAgICAgfSk7DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgY2hpbGQpOw0KDQogICAgICAgIHJldHVybiBvYmouaGFzT3duUHJvcGVydHkoInByb3AiKSAmJiB0eXBlb2Ygb2JqLnByb3AgPT09ICJ1bmRlZmluZWQiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - enumerable own accessor property of 'Properties' without a get function that overrides enumerable inherited accessor property of 'Properties' is defined in 'O'","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-a-6.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy01LWEtNy5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ1Byb3BlcnRpZXMnIGlzIGEgRnVuY3Rpb24gb2JqZWN0IHdoaWNoIGltcGxlbWVudHMgaXRzIG93biBbW0dldF1dIG1ldGhvZCB0byBnZXQgZW51bWVyYWJsZSBvd24gcHJvcGVydHkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgdmFyIHByb3BzID0gZnVuY3Rpb24gKCkgeyB9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShwcm9wcywgInByb3AiLCB7DQogICAgICAgICAgICB2YWx1ZTogew0KICAgICAgICAgICAgICAgIHZhbHVlOiA3DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIHByb3BzKTsNCg0KICAgICAgICByZXR1cm4gb2JqLmhhc093blByb3BlcnR5KCJwcm9wIikgJiYgb2JqLnByb3AgPT09IDc7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - 'Properties' is a Function object which implements its own [[Get]] method to get enumerable own property","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-a-7.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy01LWEtOC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ1Byb3BlcnRpZXMnIGlzIGFuIEFycmF5IG9iamVjdCB3aGljaCBpbXBsZW1lbnRzIGl0cyBvd24gW1tHZXRdXSBtZXRob2QgdG8gZ2V0IGVudW1lcmFibGUgb3duIHByb3BlcnR5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIHZhciBwcm9wcyA9IFtdOw0KICAgICAgICB2YXIgZGVzY09iaiA9IHsNCiAgICAgICAgICAgIHZhbHVlOiA4DQogICAgICAgIH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHByb3BzLCAicHJvcCIsIHsNCiAgICAgICAgICAgIHZhbHVlOiBkZXNjT2JqLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMob2JqLCBwcm9wcyk7DQoNCiAgICAgICAgcmV0dXJuIG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpICYmIG9iai5wcm9wID09PSA4Ow0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - 'Properties' is an Array object which implements its own [[Get]] method to get enumerable own property","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-a-8.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy01LWEtOS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ1Byb3BlcnRpZXMnIGlzIGEgU3RyaW5nIG9iamVjdCB3aGljaCBpbXBsZW1lbnRzIGl0cyBvd24gW1tHZXRdXSBtZXRob2QgdG8gZ2V0IGVudW1lcmFibGUgb3duIHByb3BlcnR5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIHZhciBwcm9wcyA9IG5ldyBTdHJpbmcoKTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkocHJvcHMsICJwcm9wIiwgew0KICAgICAgICAgICAgdmFsdWU6IHsNCiAgICAgICAgICAgICAgICB2YWx1ZTogOQ0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUNCiAgICAgICAgfSk7DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgcHJvcHMpOw0KDQogICAgICAgIHJldHVybiBvYmouaGFzT3duUHJvcGVydHkoInByb3AiKSAmJiBvYmoucHJvcCA9PT0gOTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - 'Properties' is a String object which implements its own [[Get]] method to get enumerable own property","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-a-9.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy01LWItMS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ2Rlc2NPYmonIGlzIHVuZGVmaW5lZCAoOC4xMC41IHN0ZXAgMSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMob2JqLCB7DQogICAgICAgICAgICAgICAgcHJvcDogdW5kZWZpbmVkDQogICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IgJiYgIW9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - 'descObj' is undefined (8.10.5 step 1)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy01LWItMTAuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydGllcyAtICdlbnVtZXJhYmxlJyBwcm9wZXJ0eSBvZiAnZGVzY09iaicgaXMgb3duIGRhdGEgcHJvcGVydHkgdGhhdCBvdmVycmlkZXMgYW4gaW5oZXJpdGVkIGRhdGEgcHJvcGVydHkgKDguMTAuNSBzdGVwIDMuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQoNCiAgICAgICAgdmFyIHByb3RvID0gew0KICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZQ0KICAgICAgICB9Ow0KDQogICAgICAgIHZhciBDb24gPSBmdW5jdGlvbiAoKSB7IH07DQogICAgICAgIENvbi5wcm90b3R5cGUgPSBwcm90bzsNCiAgICAgICAgdmFyIGRlc2NPYmogPSBuZXcgQ29uKCk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGRlc2NPYmosICJlbnVtZXJhYmxlIiwgew0KICAgICAgICAgICAgdmFsdWU6IGZhbHNlDQogICAgICAgIH0pOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgew0KICAgICAgICAgICAgcHJvcDogZGVzY09iag0KICAgICAgICB9KTsNCiAgICAgICAgZm9yICh2YXIgcHJvcGVydHkgaW4gb2JqKSB7DQogICAgICAgICAgICBpZiAocHJvcGVydHkgPT09ICJwcm9wIikgew0KICAgICAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KICAgICAgICByZXR1cm4gIWFjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - 'enumerable' property of 'descObj' is own data property that overrides an inherited data property (8.10.5 step 3.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-10.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy01LWItMTAwLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSB2YWx1ZSBvZiAnY29uZmlndXJhYmxlJyBwcm9wZXJ0eSBvZiAnZGVzY09iaicgaXMgQm9vbGVhbiBvYmplY3QgKDguMTAuNSBzdGVwIDQuYikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMob2JqLCB7DQogICAgICAgICAgICBwcm9wZXJ0eTogew0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogbmV3IEJvb2xlYW4odHJ1ZSkNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIHByZUNoZWNrID0gb2JqLmhhc093blByb3BlcnR5KCJwcm9wZXJ0eSIpOw0KICAgICAgICBkZWxldGUgb2JqLnByb3BlcnR5Ow0KDQogICAgICAgIHJldHVybiBwcmVDaGVjayAmJiAhb2JqLmhhc093blByb3BlcnR5KCJwcm9wZXJ0eSIpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - value of 'configurable' property of 'descObj' is Boolean object (8.10.5 step 4.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-100.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy01LWItMTAxLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSB2YWx1ZSBvZiAnY29uZmlndXJhYmxlJyBwcm9wZXJ0eSBvZiAnZGVzY09iaicgaXMgTnVtYmVyIG9iamVjdCAoOC4xMC41IHN0ZXAgNC5iKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIHsNCiAgICAgICAgICAgIHByb3BlcnR5OiB7DQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiBuZXcgTnVtYmVyKC0xMjMpDQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KICAgICAgICB2YXIgcHJlQ2hlY2sgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3BlcnR5Iik7DQogICAgICAgIGRlbGV0ZSBvYmoucHJvcGVydHk7DQoNCiAgICAgICAgcmV0dXJuIHByZUNoZWNrICYmICFvYmouaGFzT3duUHJvcGVydHkoInByb3BlcnR5Iik7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - value of 'configurable' property of 'descObj' is Number object (8.10.5 step 4.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-101.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy01LWItMTAyLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSB2YWx1ZSBvZiAnY29uZmlndXJhYmxlJyBwcm9wZXJ0eSBvZiAnZGVzY09iaicgaXMgdGhlIE1hdGggb2JqZWN0ICg4LjEwLjUgc3RlcCA0LmIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgew0KICAgICAgICAgICAgcHJvcGVydHk6IHsNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IE1hdGgNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQogICAgICAgIHZhciBwcmVDaGVjayA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcGVydHkiKTsNCiAgICAgICAgZGVsZXRlIG9iai5wcm9wZXJ0eTsNCg0KICAgICAgICByZXR1cm4gcHJlQ2hlY2sgJiYgIW9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcGVydHkiKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - value of 'configurable' property of 'descObj' is the Math object (8.10.5 step 4.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-102.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy01LWItMTAzLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSB2YWx1ZSBvZiAnY29uZmlndXJhYmxlJyBwcm9wZXJ0eSBvZiAnZGVzY09iaicgaXMgRGF0ZSBvYmplY3QgKDguMTAuNSBzdGVwIDQuYikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMob2JqLCB7DQogICAgICAgICAgICBwcm9wZXJ0eTogew0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogbmV3IERhdGUoKQ0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCiAgICAgICAgdmFyIHByZUNoZWNrID0gb2JqLmhhc093blByb3BlcnR5KCJwcm9wZXJ0eSIpOw0KICAgICAgICBkZWxldGUgb2JqLnByb3BlcnR5Ow0KDQogICAgICAgIHJldHVybiBwcmVDaGVjayAmJiAhb2JqLmhhc093blByb3BlcnR5KCJwcm9wZXJ0eSIpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - value of 'configurable' property of 'descObj' is Date object (8.10.5 step 4.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-103.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy01LWItMTA0LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSB2YWx1ZSBvZiAnY29uZmlndXJhYmxlJyBwcm9wZXJ0eSBvZiAnZGVzY09iaicgaXMgUmVnRXhwIG9iamVjdCAoOC4xMC41IHN0ZXAgNC5iKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIHsNCiAgICAgICAgICAgIHByb3BlcnR5OiB7DQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiBuZXcgUmVnRXhwKCkNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQogICAgICAgIHZhciBwcmVDaGVjayA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcGVydHkiKTsNCiAgICAgICAgZGVsZXRlIG9iai5wcm9wZXJ0eTsNCg0KICAgICAgICByZXR1cm4gcHJlQ2hlY2sgJiYgIW9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcGVydHkiKTsNCg0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - value of 'configurable' property of 'descObj' is RegExp object (8.10.5 step 4.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-104.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy01LWItMTA1LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSB2YWx1ZSBvZiAnY29uZmlndXJhYmxlJyBwcm9wZXJ0eSBvZiAnZGVzY09iaicgaXMgdGhlIEpTT04gb2JqZWN0ICg4LjEwLjUgc3RlcCA0LmIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgew0KICAgICAgICAgICAgcHJvcGVydHk6IHsNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IEpTT04NCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQogICAgICAgIHZhciBwcmVDaGVjayA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcGVydHkiKTsNCiAgICAgICAgZGVsZXRlIG9iai5wcm9wZXJ0eTsNCg0KICAgICAgICByZXR1cm4gcHJlQ2hlY2sgJiYgIW9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcGVydHkiKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - value of 'configurable' property of 'descObj' is the JSON object (8.10.5 step 4.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-105.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy01LWItMTA2LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSB2YWx1ZSBvZiAnY29uZmlndXJhYmxlJyBwcm9wZXJ0eSBvZiAnZGVzY09iaicgaXMgRXJyb3Igb2JqZWN0ICg4LjEwLjUgc3RlcCA0LmIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgew0KICAgICAgICAgICAgcHJvcGVydHk6IHsNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IG5ldyBTeW50YXhFcnJvcigpDQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KICAgICAgICB2YXIgcHJlQ2hlY2sgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3BlcnR5Iik7DQogICAgICAgIGRlbGV0ZSBvYmoucHJvcGVydHk7DQoNCiAgICAgICAgcmV0dXJuIHByZUNoZWNrICYmICFvYmouaGFzT3duUHJvcGVydHkoInByb3BlcnR5Iik7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - value of 'configurable' property of 'descObj' is Error object (8.10.5 step 4.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-106.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy01LWItMTA3LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSB2YWx1ZSBvZiAnY29uZmlndXJhYmxlJyBwcm9wZXJ0eSBvZiAnZGVzY09iaicgaXMgdGhlIEFyZ3VtZW50IG9iamVjdCAoOC4xMC41IHN0ZXAgNC5iKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICB2YXIgZnVuYyA9IGZ1bmN0aW9uIChhLCBiLCBjKSB7DQogICAgICAgICAgICByZXR1cm4gYXJndW1lbnRzOw0KICAgICAgICB9Ow0KDQogICAgICAgIHZhciBhcmdzID0gZnVuYygxLCB0cnVlLCAiYSIpOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgew0KICAgICAgICAgICAgcHJvcGVydHk6IHsNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IGFyZ3MNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQogICAgICAgIHZhciBwcmVDaGVjayA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcGVydHkiKTsNCiAgICAgICAgZGVsZXRlIG9iai5wcm9wZXJ0eTsNCg0KICAgICAgICByZXR1cm4gcHJlQ2hlY2sgJiYgIW9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcGVydHkiKTsNCg0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - value of 'configurable' property of 'descObj' is the Argument object (8.10.5 step 4.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-107.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy01LWItMTA5LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSB2YWx1ZSBvZiAnY29uZmlndXJhYmxlJyBwcm9wZXJ0eSBvZiAnZGVzY09iaicgaXMgIHRoZSBnbG9iYWwgb2JqZWN0ICg4LjEwLjUgc3RlcCA0LmIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgew0KICAgICAgICAgICAgcHJvcGVydHk6IHsNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IGZuR2xvYmFsT2JqZWN0KCkNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQogICAgICAgIHZhciBwcmVDaGVjayA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcGVydHkiKTsNCiAgICAgICAgZGVsZXRlIG9iai5wcm9wZXJ0eTsNCg0KICAgICAgICByZXR1cm4gcHJlQ2hlY2sgJiYgIW9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcGVydHkiKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - value of 'configurable' property of 'descObj' is the global object (8.10.5 step 4.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-109.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy01LWItMTEuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydGllcyAtICdlbnVtZXJhYmxlJyBwcm9wZXJ0eSBvZiAnZGVzY09iaicgaXMgb3duIGRhdGEgcHJvcGVydHkgdGhhdCBvdmVycmlkZXMgYW4gaW5oZXJpdGVkIGFjY2Vzc29yIHByb3BlcnR5ICg4LjEwLjUgc3RlcCAzLmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIHZhciBwcm90byA9IHt9Ow0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkocHJvdG8sICJlbnVtZXJhYmxlIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBDb24gPSBmdW5jdGlvbiAoKSB7IH07DQogICAgICAgIENvbi5wcm90b3R5cGUgPSBwcm90bzsNCiAgICAgICAgdmFyIGRlc2NPYmogPSBuZXcgQ29uKCk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGRlc2NPYmosICJlbnVtZXJhYmxlIiwgew0KICAgICAgICAgICAgdmFsdWU6IGZhbHNlDQogICAgICAgIH0pOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgew0KICAgICAgICAgICAgcHJvcDogZGVzY09iag0KICAgICAgICB9KTsNCg0KICAgICAgICBmb3IgKHZhciBwcm9wZXJ0eSBpbiBvYmopIHsNCiAgICAgICAgICAgIGlmIChwcm9wZXJ0eSA9PT0gInByb3AiKSB7DQogICAgICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQogICAgICAgIHJldHVybiAhYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - 'enumerable' property of 'descObj' is own data property that overrides an inherited accessor property (8.10.5 step 3.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-11.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy01LWItMTEwLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSB2YWx1ZSBvZiAnY29uZmlndXJhYmxlJyBwcm9wZXJ0eSBvZiAnZGVzY09iaicgaXMgYSBzdHJpbmcgKHZhbHVlIGlzICdmYWxzZScpIHdoaWNoIGlzIHRyZWF0ZWQgYXMgdHJ1ZSB2YWx1ZSAoOC4xMC41IHN0ZXAgNC5iKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIHsNCiAgICAgICAgICAgIHByb3BlcnR5OiB7DQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiAiZmFsc2UiDQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KICAgICAgICB2YXIgcHJlQ2hlY2sgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3BlcnR5Iik7DQogICAgICAgIGRlbGV0ZSBvYmoucHJvcGVydHk7DQoNCiAgICAgICAgcmV0dXJuIHByZUNoZWNrICYmICFvYmouaGFzT3duUHJvcGVydHkoInByb3BlcnR5Iik7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - value of 'configurable' property of 'descObj' is a string (value is 'false') which is treated as true value (8.10.5 step 4.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-110.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy01LWItMTExLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSB2YWx1ZSBvZiAnY29uZmlndXJhYmxlJyBwcm9wZXJ0eSBvZiAnZGVzY09iaicgaXMgIG5ldyBCb29sZWFuKGZhbHNlKSB3aGljaCBpcyB0cmVhdGVkIGFzIHRydWUgdmFsdWUgKDguMTAuNSBzdGVwIDQuYikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMob2JqLCB7DQogICAgICAgICAgICBwcm9wZXJ0eTogew0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogbmV3IEJvb2xlYW4oZmFsc2UpDQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KICAgICAgICB2YXIgcHJlQ2hlY2sgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3BlcnR5Iik7DQogICAgICAgIGRlbGV0ZSBvYmoucHJvcGVydHk7DQoNCiAgICAgICAgcmV0dXJuIHByZUNoZWNrICYmICFvYmouaGFzT3duUHJvcGVydHkoInByb3BlcnR5Iik7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - value of 'configurable' property of 'descObj' is new Boolean(false) which is treated as true value (8.10.5 step 4.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-111.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy01LWItMTEyLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAndmFsdWUnIHByb3BlcnR5IG9mICdkZXNjT2JqJyBpcyBwcmVzZW50ICg4LjEwLjUgc3RlcCA1KQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIHsNCiAgICAgICAgICAgIHByb3BlcnR5OiB7DQogICAgICAgICAgICAgICAgdmFsdWU6IDMwMA0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCg0KICAgICAgICByZXR1cm4gb2JqLnByb3BlcnR5ID09PSAzMDA7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - 'value' property of 'descObj' is present (8.10.5 step 5)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-112.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy01LWItMTEzLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAndmFsdWUnIHByb3BlcnR5IG9mICdkZXNjT2JqJyBpcyBub3QgcHJlc2VudCAoOC4xMC41IHN0ZXAgNSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMob2JqLCB7DQogICAgICAgICAgICBwcm9wZXJ0eTogew0KICAgICAgICAgICAgICAgIHdyaXRhYmxlOiB0cnVlDQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KDQogICAgICAgIHJldHVybiBvYmouaGFzT3duUHJvcGVydHkoInByb3BlcnR5IikgJiYgdHlwZW9mIChvYmoucHJvcGVydHkpID09PSAidW5kZWZpbmVkIjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - 'value' property of 'descObj' is not present (8.10.5 step 5)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-113.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy01LWItMTE0LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAndmFsdWUnIHByb3BlcnR5IG9mICdkZXNjT2JqJyBpcyBvd24gZGF0YSBwcm9wZXJ0eSAoOC4xMC41IHN0ZXAgNS5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIHsNCiAgICAgICAgICAgIHByb3BlcnR5OiB7DQogICAgICAgICAgICAgICAgdmFsdWU6ICJvd25EYXRhUHJvcGVydHkiDQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KDQogICAgICAgIHJldHVybiBvYmoucHJvcGVydHkgPT09ICJvd25EYXRhUHJvcGVydHkiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - 'value' property of 'descObj' is own data property (8.10.5 step 5.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-114.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy01LWItMTE1LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAndmFsdWUnIHByb3BlcnR5IG9mICdkZXNjT2JqJyBpcyBpbmhlcml0ZWQgZGF0YSBwcm9wZXJ0eSAoOC4xMC41IHN0ZXAgNS5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICB2YXIgcHJvdG8gPSB7DQogICAgICAgICAgICB2YWx1ZTogImluaGVyaXRlZERhdGFQcm9wZXJ0eSINCiAgICAgICAgfTsNCg0KICAgICAgICB2YXIgQ29uID0gZnVuY3Rpb24gKCkgeyB9Ow0KICAgICAgICBDb24ucHJvdG90eXBlID0gcHJvdG87DQoNCiAgICAgICAgdmFyIGRlc2NPYmogPSBuZXcgQ29uKCk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMob2JqLCB7DQogICAgICAgICAgICBwcm9wZXJ0eTogZGVzY09iag0KICAgICAgICB9KTsNCg0KICAgICAgICByZXR1cm4gb2JqLnByb3BlcnR5ID09PSAiaW5oZXJpdGVkRGF0YVByb3BlcnR5IjsNCg0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - 'value' property of 'descObj' is inherited data property (8.10.5 step 5.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-115.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy01LWItMTE2LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAndmFsdWUnIHByb3BlcnR5IG9mICdkZXNjT2JqJyBpcyBvd24gZGF0YSBwcm9wZXJ0eSB0aGF0IG92ZXJyaWRlcyBhbiBpbmhlcml0ZWQgZGF0YSBwcm9wZXJ0eSAoOC4xMC41IHN0ZXAgNS5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICB2YXIgcHJvdG8gPSB7DQogICAgICAgICAgICB2YWx1ZTogImluaGVyaXRlZERhdGFQcm9wZXJ0eSINCiAgICAgICAgfTsNCg0KICAgICAgICB2YXIgQ29uID0gZnVuY3Rpb24gKCkgeyB9Ow0KICAgICAgICBDb24ucHJvdG90eXBlID0gcHJvdG87DQoNCiAgICAgICAgdmFyIGRlc2NPYmogPSBuZXcgQ29uKCk7DQoNCiAgICAgICAgZGVzY09iai52YWx1ZSA9ICJvd25EYXRhUHJvcGVydHkiOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgew0KICAgICAgICAgICAgcHJvcGVydHk6IGRlc2NPYmoNCiAgICAgICAgfSk7DQoNCiAgICAgICAgcmV0dXJuIG9iai5wcm9wZXJ0eSA9PT0gIm93bkRhdGFQcm9wZXJ0eSI7DQoNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - 'value' property of 'descObj' is own data property that overrides an inherited data property (8.10.5 step 5.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-116.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy01LWItMTE3LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAndmFsdWUnIHByb3BlcnR5IG9mICdkZXNjT2JqJyBpcyBvd24gZGF0YSBwcm9wZXJ0eSB0aGF0IG92ZXJyaWRlcyBhbiBpbmhlcml0ZWQgYWNjZXNzb3IgcHJvcGVydHkgKDguMTAuNSBzdGVwIDUuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgdmFyIHByb3RvID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHByb3RvLCAidmFsdWUiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gImluaGVyaXRlZEFjY2Vzc29yUHJvcGVydHkiOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgQ29uID0gZnVuY3Rpb24gKCkgeyB9Ow0KICAgICAgICBDb24ucHJvdG90eXBlID0gcHJvdG87DQoNCiAgICAgICAgdmFyIGRlc2NPYmogPSBuZXcgQ29uKCk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGRlc2NPYmosICJ2YWx1ZSIsIHsNCiAgICAgICAgICAgIHZhbHVlOiAib3duRGF0YVByb3BlcnR5Ig0KICAgICAgICB9KTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIHsNCiAgICAgICAgICAgIHByb3BlcnR5OiBkZXNjT2JqDQogICAgICAgIH0pOw0KDQogICAgICAgIHJldHVybiBvYmoucHJvcGVydHkgPT09ICJvd25EYXRhUHJvcGVydHkiOw0KDQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - 'value' property of 'descObj' is own data property that overrides an inherited accessor property (8.10.5 step 5.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-117.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy01LWItMTE4LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAndmFsdWUnIHByb3BlcnR5IG9mICdkZXNjT2JqJyBpcyBvd24gYWNjZXNzb3IgcHJvcGVydHkgKDguMTAuNSBzdGVwIDUuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgdmFyIGRlc2NPYmogPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoZGVzY09iaiwgInZhbHVlIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuICJvd25BY2Nlc3NvclByb3BlcnR5IjsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMob2JqLCB7DQogICAgICAgICAgICBwcm9wZXJ0eTogZGVzY09iag0KICAgICAgICB9KTsNCg0KICAgICAgICByZXR1cm4gb2JqLnByb3BlcnR5ID09PSAib3duQWNjZXNzb3JQcm9wZXJ0eSI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - 'value' property of 'descObj' is own accessor property (8.10.5 step 5.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-118.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy01LWItMTE5LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAndmFsdWUnIHByb3BlcnR5IG9mICdkZXNjT2JqJyBpcyBpbmhlcml0ZWQgYWNjZXNzb3IgcHJvcGVydHkgKDguMTAuNSBzdGVwIDUuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgdmFyIHByb3RvID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHByb3RvLCAidmFsdWUiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gImluaGVyaXRlZEFjY2Vzc29yUHJvcGVydHkiOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgQ29uID0gZnVuY3Rpb24gKCkgeyB9Ow0KICAgICAgICBDb24ucHJvdG90eXBlID0gcHJvdG87DQoNCiAgICAgICAgdmFyIGRlc2NPYmogPSBuZXcgQ29uKCk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMob2JqLCB7DQogICAgICAgICAgICBwcm9wZXJ0eTogZGVzY09iag0KICAgICAgICB9KTsNCg0KICAgICAgICByZXR1cm4gb2JqLnByb3BlcnR5ID09PSAiaW5oZXJpdGVkQWNjZXNzb3JQcm9wZXJ0eSI7DQoNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - 'value' property of 'descObj' is inherited accessor property (8.10.5 step 5.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-119.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy01LWItMTIuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydGllcyAtICdlbnVtZXJhYmxlJyBwcm9wZXJ0eSBvZiAnZGVzY09iaicgaXMgb3duIGFjY2Vzc29yIHByb3BlcnR5ICg4LjEwLjUgc3RlcCAzLmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KICAgICAgICB2YXIgZGVzY09iaiA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShkZXNjT2JqLCAiZW51bWVyYWJsZSIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIHsNCiAgICAgICAgICAgIHByb3A6IGRlc2NPYmoNCiAgICAgICAgfSk7DQogICAgICAgIGZvciAodmFyIHByb3BlcnR5IGluIG9iaikgew0KICAgICAgICAgICAgaWYgKHByb3BlcnR5ID09PSAicHJvcCIpIHsNCiAgICAgICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCiAgICAgICAgcmV0dXJuIGFjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - 'enumerable' property of 'descObj' is own accessor property (8.10.5 step 3.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-12.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy01LWItMTIwLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAndmFsdWUnIHByb3BlcnR5IG9mICdkZXNjT2JqJyBpcyBvd24gYWNjZXNzb3IgcHJvcGVydHkgdGhhdCBvdmVycmlkZXMgYW4gaW5oZXJpdGVkIGRhdGEgcHJvcGVydHkgKDguMTAuNSBzdGVwIDUuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307IA0KDQogICAgICAgIHZhciBwcm90byA9IHsNCiAgICAgICAgICAgIHZhbHVlOiAiaW5oZXJpdGVkRGF0YVByb3BlcnR5Ig0KICAgICAgICB9Ow0KDQogICAgICAgIHZhciBDb24gPSBmdW5jdGlvbiAoKSB7IH07DQogICAgICAgIENvbi5wcm90b3R5cGUgPSBwcm90bzsNCg0KICAgICAgICB2YXIgZGVzY09iaiA9IG5ldyBDb24oKTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoZGVzY09iaiwgInZhbHVlIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuICJvd25BY2Nlc3NvclByb3BlcnR5IjsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQoNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIHsNCiAgICAgICAgICAgIHByb3BlcnR5OiBkZXNjT2JqDQogICAgICAgIH0pOw0KDQogICAgICAgIHJldHVybiBvYmoucHJvcGVydHkgPT09ICJvd25BY2Nlc3NvclByb3BlcnR5IjsNCg0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - 'value' property of 'descObj' is own accessor property that overrides an inherited data property (8.10.5 step 5.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-120.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy01LWItMTIxLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAndmFsdWUnIHByb3BlcnR5IG9mICdkZXNjT2JqJyBpcyBvd24gYWNjZXNzb3IgcHJvcGVydHkgdGhhdCBvdmVycmlkZXMgYW4gaW5oZXJpdGVkIGFjY2Vzc29yIHByb3BlcnR5ICg4LjEwLjUgc3RlcCA1LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIHZhciBwcm90byA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShwcm90bywgInZhbHVlIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuICJpbmhlcml0ZWRBY2Nlc3NvclByb3BlcnR5IjsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIENvbiA9IGZ1bmN0aW9uICgpIHsgfTsNCiAgICAgICAgQ29uLnByb3RvdHlwZSA9IHByb3RvOw0KDQogICAgICAgIHZhciBkZXNjT2JqID0gbmV3IENvbigpOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShkZXNjT2JqLCAidmFsdWUiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gIm93bkFjY2Vzc29yUHJvcGVydHkiOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIHsNCiAgICAgICAgICAgIHByb3BlcnR5OiBkZXNjT2JqDQogICAgICAgIH0pOw0KDQogICAgICAgIHJldHVybiBvYmoucHJvcGVydHkgPT09ICJvd25BY2Nlc3NvclByb3BlcnR5IjsNCg0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - 'value' property of 'descObj' is own accessor property that overrides an inherited accessor property (8.10.5 step 5.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-121.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy01LWItMTIyLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAndmFsdWUnIHByb3BlcnR5IG9mICdkZXNjT2JqJyBpcyBvd24gYWNjZXNzb3IgcHJvcGVydHkgd2l0aG91dCBhIGdldCBmdW5jdGlvbiAoOC4xMC41IHN0ZXAgNS5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICB2YXIgZGVzY09iaiA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShkZXNjT2JqLCAidmFsdWUiLCB7DQogICAgICAgICAgICBzZXQ6IGZ1bmN0aW9uICgpIHsgfQ0KICAgICAgICB9KTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIHsNCiAgICAgICAgICAgIHByb3BlcnR5OiBkZXNjT2JqDQogICAgICAgIH0pOw0KDQogICAgICAgIHJldHVybiBvYmouaGFzT3duUHJvcGVydHkoInByb3BlcnR5IikgJiYgdHlwZW9mIChvYmoucHJvcGVydHkpID09PSAidW5kZWZpbmVkIjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - 'value' property of 'descObj' is own accessor property without a get function (8.10.5 step 5.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-122.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy01LWItMTIzLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAndmFsdWUnIHByb3BlcnR5IG9mICdkZXNjT2JqJyBpcyBvd24gYWNjZXNzb3IgcHJvcGVydHkgd2l0aG91dCBhIGdldCBmdW5jdGlvbiB0aGF0IG92ZXJyaWRlcyBhbiBpbmhlcml0ZWQgYWNjZXNzb3IgcHJvcGVydHkgKDguMTAuNSBzdGVwIDUuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgdmFyIHByb3RvID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHByb3RvLCAidmFsdWUiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gImluaGVyaXRlZEFjY2Vzc29yUHJvcGVydHkiOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgQ29uID0gZnVuY3Rpb24gKCkgeyB9Ow0KICAgICAgICBDb24ucHJvdG90eXBlID0gcHJvdG87DQoNCiAgICAgICAgdmFyIGRlc2NPYmogPSBuZXcgQ29uKCk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGRlc2NPYmosICJ2YWx1ZSIsIHsNCiAgICAgICAgICAgIHNldDogZnVuY3Rpb24gKCkgeyB9DQogICAgICAgIH0pOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgew0KICAgICAgICAgICAgcHJvcGVydHk6IGRlc2NPYmoNCiAgICAgICAgfSk7DQoNCiAgICAgICAgcmV0dXJuIG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcGVydHkiKSAmJiB0eXBlb2YgKG9iai5wcm9wZXJ0eSkgPT09ICJ1bmRlZmluZWQiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - 'value' property of 'descObj' is own accessor property without a get function that overrides an inherited accessor property (8.10.5 step 5.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-123.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy01LWItMTI0LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAndmFsdWUnIHByb3BlcnR5IG9mICdkZXNjT2JqJyBpcyBpbmhlcml0ZWQgYWNjZXNzb3IgcHJvcGVydHkgd2l0aG91dCBhIGdldCBmdW5jdGlvbiAoOC4xMC41IHN0ZXAgNS5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICB2YXIgcHJvdG8gPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkocHJvdG8sICJ2YWx1ZSIsIHsNCiAgICAgICAgICAgIHNldDogZnVuY3Rpb24gKCkgeyB9DQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBDb24gPSBmdW5jdGlvbiAoKSB7IH07DQogICAgICAgIENvbi5wcm90b3R5cGUgPSBwcm90bzsNCg0KICAgICAgICB2YXIgZGVzY09iaiA9IG5ldyBDb24oKTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIHsNCiAgICAgICAgICAgIHByb3BlcnR5OiBkZXNjT2JqDQogICAgICAgIH0pOw0KDQogICAgICAgIHJldHVybiBvYmouaGFzT3duUHJvcGVydHkoInByb3BlcnR5IikgJiYgdHlwZW9mIChvYmoucHJvcGVydHkpID09PSAidW5kZWZpbmVkIjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - 'value' property of 'descObj' is inherited accessor property without a get function (8.10.5 step 5.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-124.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy01LWItMTI1LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnZGVzY09iaicgaXMgYSBGdW5jdGlvbiBvYmplY3Qgd2hpY2ggaW1wbGVtZW50cyBpdHMgb3duIFtbR2V0XV0gbWV0aG9kIHRvIGdldCAndmFsdWUnIHByb3BlcnR5ICg4LjEwLjUgc3RlcCA1LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIHZhciBmdW5jID0gZnVuY3Rpb24gKGEsIGIpIHsNCiAgICAgICAgICAgIHJldHVybiBhICsgYjsNCiAgICAgICAgfTsNCg0KICAgICAgICBmdW5jLnZhbHVlID0gIkZ1bmN0aW9uIjsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIHsNCiAgICAgICAgICAgIHByb3BlcnR5OiBmdW5jDQogICAgICAgIH0pOw0KDQogICAgICAgIHJldHVybiBvYmoucHJvcGVydHkgPT09ICJGdW5jdGlvbiI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - 'descObj' is a Function object which implements its own [[Get]] method to get 'value' property (8.10.5 step 5.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-125.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy01LWItMTI2LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnZGVzY09iaicgaXMgYW4gQXJyYXkgb2JqZWN0IHdoaWNoIGltcGxlbWVudHMgaXRzIG93biBbW0dldF1dIG1ldGhvZCB0byBnZXQgJ3ZhbHVlJyBwcm9wZXJ0eSAoOC4xMC41IHN0ZXAgNS5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICB2YXIgYXJyID0gWzEsIDIsIDNdOw0KDQogICAgICAgIGFyci52YWx1ZSA9ICJBcnJheSI7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMob2JqLCB7DQogICAgICAgICAgICBwcm9wZXJ0eTogYXJyDQogICAgICAgIH0pOw0KDQogICAgICAgIHJldHVybiBvYmoucHJvcGVydHkgPT09ICJBcnJheSI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - 'descObj' is an Array object which implements its own [[Get]] method to get 'value' property (8.10.5 step 5.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-126.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy01LWItMTI3LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnZGVzY09iaicgaXMgYSBTdHJpbmcgb2JqZWN0IHdoaWNoIGltcGxlbWVudHMgaXRzIG93biBbW0dldF1dIG1ldGhvZCB0byBnZXQgJ3ZhbHVlJyBwcm9wZXJ0eSAoOC4xMC41IHN0ZXAgNS5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICB2YXIgc3RyID0gbmV3IFN0cmluZygiYWJjIik7DQoNCiAgICAgICAgc3RyLnZhbHVlID0gIlN0cmluZyI7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMob2JqLCB7DQogICAgICAgICAgICBwcm9wZXJ0eTogc3RyDQogICAgICAgIH0pOw0KDQogICAgICAgIHJldHVybiBvYmoucHJvcGVydHkgPT09ICJTdHJpbmciOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - 'descObj' is a String object which implements its own [[Get]] method to get 'value' property (8.10.5 step 5.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-127.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy01LWItMTI4LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnZGVzY09iaicgaXMgYSBCb29sZWFuIG9iamVjdCB3aGljaCBpbXBsZW1lbnRzIGl0cyBvd24gW1tHZXRdXSBtZXRob2QgdG8gZ2V0ICd2YWx1ZScgcHJvcGVydHkgKDguMTAuNSBzdGVwIDUuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgdmFyIGRlc2NPYmogPSBuZXcgQm9vbGVhbihmYWxzZSk7DQoNCiAgICAgICAgZGVzY09iai52YWx1ZSA9ICJCb29sZWFuIjsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIHsNCiAgICAgICAgICAgIHByb3BlcnR5OiBkZXNjT2JqDQogICAgICAgIH0pOw0KDQogICAgICAgIHJldHVybiBvYmoucHJvcGVydHkgPT09ICJCb29sZWFuIjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - 'descObj' is a Boolean object which implements its own [[Get]] method to get 'value' property (8.10.5 step 5.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-128.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy01LWItMTI5LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnZGVzY09iaicgaXMgYSBOdW1iZXIgb2JqZWN0IHdoaWNoIGltcGxlbWVudHMgaXRzIG93biBbW0dldF1dIG1ldGhvZCB0byBnZXQgJ3ZhbHVlJyBwcm9wZXJ0eSAoOC4xMC41IHN0ZXAgNS5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICB2YXIgZGVzY09iaiA9IG5ldyBOdW1iZXIoLTkpOw0KDQogICAgICAgIGRlc2NPYmoudmFsdWUgPSAiTnVtYmVyIjsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIHsNCiAgICAgICAgICAgIHByb3BlcnR5OiBkZXNjT2JqDQogICAgICAgIH0pOw0KDQogICAgICAgIHJldHVybiBvYmoucHJvcGVydHkgPT09ICJOdW1iZXIiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - 'descObj' is a Number object which implements its own [[Get]] method to get 'value' property (8.10.5 step 5.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-129.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy01LWItMTMuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydGllcyAtICdlbnVtZXJhYmxlJyBwcm9wZXJ0eSBvZiAnZGVzY09iaicgaXMgaW5oZXJpdGVkIGFjY2Vzc29yIHByb3BlcnR5ICg4LjEwLjUgc3RlcCAzLmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIHZhciBwcm90byA9IHt9Ow0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkocHJvdG8sICJlbnVtZXJhYmxlIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBDb24gPSBmdW5jdGlvbiAoKSB7IH07DQogICAgICAgIENvbi5wcm90b3R5cGUgPSBwcm90bzsNCiAgICAgICAgdmFyIGRlc2NPYmogPSBuZXcgQ29uKCk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMob2JqLCB7DQogICAgICAgICAgICBwcm9wOiBkZXNjT2JqDQogICAgICAgIH0pOw0KICAgICAgICBmb3IgKHZhciBwcm9wZXJ0eSBpbiBvYmopIHsNCiAgICAgICAgICAgIGlmIChwcm9wZXJ0eSA9PT0gInByb3AiKSB7DQogICAgICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQogICAgICAgIHJldHVybiBhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - 'enumerable' property of 'descObj' is inherited accessor property (8.10.5 step 3.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-13.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy01LWItMTMwLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnZGVzY09iaicgaXMgdGhlIE1hdGggb2JqZWN0IHdoaWNoIGltcGxlbWVudHMgaXRzIG93biBbW0dldF1dIG1ldGhvZCB0byBnZXQgJ3ZhbHVlJyBwcm9wZXJ0eSAoOC4xMC41IHN0ZXAgNS5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgTWF0aC52YWx1ZSA9ICJNYXRoIjsNCg0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMob2JqLCB7DQogICAgICAgICAgICAgICAgcHJvcGVydHk6IE1hdGgNCiAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICByZXR1cm4gb2JqLnByb3BlcnR5ID09PSAiTWF0aCI7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgTWF0aC52YWx1ZTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - 'descObj' is the Math object which implements its own [[Get]] method to get 'value' property (8.10.5 step 5.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-130.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy01LWItMTMxLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnZGVzY09iaicgaXMgYSBEYXRlIG9iamVjdCB3aGljaCBpbXBsZW1lbnRzIGl0cyBvd24gW1tHZXRdXSBtZXRob2QgdG8gZ2V0ICd2YWx1ZScgcHJvcGVydHkgKDguMTAuNSBzdGVwIDUuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgdmFyIGRlc2NPYmogPSBuZXcgRGF0ZSgpOw0KDQogICAgICAgIGRlc2NPYmoudmFsdWUgPSAiRGF0ZSI7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMob2JqLCB7DQogICAgICAgICAgICBwcm9wZXJ0eTogZGVzY09iag0KICAgICAgICB9KTsNCg0KICAgICAgICByZXR1cm4gb2JqLnByb3BlcnR5ID09PSAiRGF0ZSI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - 'descObj' is a Date object which implements its own [[Get]] method to get 'value' property (8.10.5 step 5.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-131.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy01LWItMTMyLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnZGVzY09iaicgaXMgYSBSZWdFeHAgb2JqZWN0IHdoaWNoIGltcGxlbWVudHMgaXRzIG93biBbW0dldF1dIG1ldGhvZCB0byBnZXQgJ3ZhbHVlJyBwcm9wZXJ0eSAoOC4xMC41IHN0ZXAgNS5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICB2YXIgZGVzY09iaiA9IG5ldyBSZWdFeHAoKTsNCg0KICAgICAgICBkZXNjT2JqLnZhbHVlID0gIlJlZ0V4cCI7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMob2JqLCB7DQogICAgICAgICAgICBwcm9wZXJ0eTogZGVzY09iag0KICAgICAgICB9KTsNCg0KICAgICAgICByZXR1cm4gb2JqLnByb3BlcnR5ID09PSAiUmVnRXhwIjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - 'descObj' is a RegExp object which implements its own [[Get]] method to get 'value' property (8.10.5 step 5.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-132.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy01LWItMTMzLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnZGVzY09iaicgaXMgdGhlIEpTT04gb2JqZWN0IHdoaWNoIGltcGxlbWVudHMgaXRzIG93biBbW0dldF1dIG1ldGhvZCB0byBnZXQgJ3ZhbHVlJyBwcm9wZXJ0eSAoOC4xMC41IHN0ZXAgNS5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgSlNPTi52YWx1ZSA9ICJKU09OIjsNCg0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMob2JqLCB7DQogICAgICAgICAgICAgICAgcHJvcGVydHk6IEpTT04NCiAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICByZXR1cm4gb2JqLnByb3BlcnR5ID09PSAiSlNPTiI7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgSlNPTi52YWx1ZTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - 'descObj' is the JSON object which implements its own [[Get]] method to get 'value' property (8.10.5 step 5.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-133.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy01LWItMTM0LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnZGVzY09iaicgaXMgYW4gRXJyb3Igb2JqZWN0IHdoaWNoIGltcGxlbWVudHMgaXRzIG93biBbW0dldF1dIG1ldGhvZCB0byBnZXQgJ3ZhbHVlJyBwcm9wZXJ0eSAoOC4xMC41IHN0ZXAgNS5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICB2YXIgZGVzY09iaiA9IG5ldyBFcnJvcigpOw0KDQogICAgICAgIGRlc2NPYmoudmFsdWUgPSAiRXJyb3IiOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgew0KICAgICAgICAgICAgcHJvcGVydHk6IGRlc2NPYmoNCiAgICAgICAgfSk7DQoNCiAgICAgICAgcmV0dXJuIG9iai5wcm9wZXJ0eSA9PT0gIkVycm9yIjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - 'descObj' is an Error object which implements its own [[Get]] method to get 'value' property (8.10.5 step 5.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-134.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy01LWItMTM1LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnZGVzY09iaicgaXMgdGhlIEFyZ3VtZW50cyBvYmplY3Qgd2hpY2ggaW1wbGVtZW50cyBpdHMgb3duIFtbR2V0XV0gbWV0aG9kIHRvIGdldCAndmFsdWUnIHByb3BlcnR5ICg4LjEwLjUgc3RlcCA1LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIHZhciBmdW5jID0gZnVuY3Rpb24gKGEsIGIpIHsNCiAgICAgICAgICAgIGFyZ3VtZW50cy52YWx1ZSA9ICJhcmd1bWVudHMiOw0KDQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIHsNCiAgICAgICAgICAgICAgICBwcm9wZXJ0eTogYXJndW1lbnRzDQogICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgcmV0dXJuIG9iai5wcm9wZXJ0eSA9PT0gImFyZ3VtZW50cyI7DQogICAgICAgIH07DQoNCiAgICAgICAgcmV0dXJuIGZ1bmMoKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - 'descObj' is the Arguments object which implements its own [[Get]] method to get 'value' property (8.10.5 step 5.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-135.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy01LWItMTM3LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnZGVzY09iaicgaXMgdGhlIGdsb2JhbCBvYmplY3Qgd2hpY2ggaW1wbGVtZW50cyBpdHMgb3duIFtbR2V0XV0gbWV0aG9kIHRvIGdldCAndmFsdWUnIHByb3BlcnR5ICg4LjEwLjUgc3RlcCA1LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBmbkdsb2JhbE9iamVjdCgpLnZhbHVlID0gImdsb2JhbCI7DQoNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgew0KICAgICAgICAgICAgICAgIHByb3BlcnR5OiBmbkdsb2JhbE9iamVjdCgpDQogICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgcmV0dXJuIG9iai5wcm9wZXJ0eSA9PT0gImdsb2JhbCI7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgZm5HbG9iYWxPYmplY3QoKS52YWx1ZTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - 'descObj' is the global object which implements its own [[Get]] method to get 'value' property (8.10.5 step 5.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-137.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy01LWItMTM4LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnd3JpdGFibGUnIHByb3BlcnR5IG9mICdkZXNjT2JqJyBpcyBwcmVzZW50ICg4LjEwLjUgc3RlcCA2KQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIHsNCiAgICAgICAgICAgIHByb3BlcnR5OiB7DQogICAgICAgICAgICAgICAgd3JpdGFibGU6IGZhbHNlDQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KDQogICAgICAgIG9iai5wcm9wZXJ0eSA9ICJpc1dyaXRhYmxlIjsNCg0KICAgICAgICByZXR1cm4gb2JqLmhhc093blByb3BlcnR5KCJwcm9wZXJ0eSIpICYmIHR5cGVvZiAob2JqLnByb3BlcnR5KSA9PT0gInVuZGVmaW5lZCI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - 'writable' property of 'descObj' is present (8.10.5 step 6)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-138.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy01LWItMTM5LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnd3JpdGFibGUnIHByb3BlcnR5IG9mICdkZXNjT2JqJyBpcyBub3QgcHJlc2VudCAoOC4xMC41IHN0ZXAgNikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMob2JqLCB7DQogICAgICAgICAgICBwcm9wZXJ0eTogew0KICAgICAgICAgICAgICAgIHZhbHVlOiAiYWJjIg0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCg0KICAgICAgICBvYmoucHJvcGVydHkgPSAiaXNXcml0YWJsZSI7DQoNCiAgICAgICAgcmV0dXJuIG9iai5wcm9wZXJ0eSA9PT0gImFiYyI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - 'writable' property of 'descObj' is not present (8.10.5 step 6)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-139.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy01LWItMTQuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydGllcyAtICdlbnVtZXJhYmxlJyBwcm9wZXJ0eSBvZiAnZGVzY09iaicgaXMgb3duIGFjY2Vzc29yIHByb3BlcnR5IHRoYXQgb3ZlcnJpZGVzIGFuIGluaGVyaXRlZCBkYXRhIHByb3BlcnR5ICg4LjEwLjUgc3RlcCAzLmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KICAgICAgICB2YXIgcHJvdG8gPSB7DQogICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlDQogICAgICAgIH07DQoNCiAgICAgICAgdmFyIENvbiA9IGZ1bmN0aW9uICgpIHsgfTsNCiAgICAgICAgQ29uLnByb3RvdHlwZSA9IHByb3RvOw0KICAgICAgICB2YXIgZGVzY09iaiA9IG5ldyBDb24oKTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoZGVzY09iaiwgImVudW1lcmFibGUiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgew0KICAgICAgICAgICAgcHJvcDogZGVzY09iag0KICAgICAgICB9KTsNCiAgICAgICAgZm9yICh2YXIgcHJvcGVydHkgaW4gb2JqKSB7DQogICAgICAgICAgICBpZiAocHJvcGVydHkgPT09ICJwcm9wIikgew0KICAgICAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KICAgICAgICByZXR1cm4gIWFjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - 'enumerable' property of 'descObj' is own accessor property that overrides an inherited data property (8.10.5 step 3.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-14.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy01LWItMTQwLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnd3JpdGFibGUnIHByb3BlcnR5IG9mICdkZXNjT2JqJyBpcyBvd24gZGF0YSBwcm9wZXJ0eSAoOC4xMC41IHN0ZXAgNi5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIHsNCiAgICAgICAgICAgIHByb3BlcnR5OiB7DQogICAgICAgICAgICAgICAgd3JpdGFibGU6IGZhbHNlDQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KDQogICAgICAgIG9iai5wcm9wZXJ0eSA9ICJpc1dyaXRhYmxlIjsNCg0KICAgICAgICByZXR1cm4gb2JqLmhhc093blByb3BlcnR5KCJwcm9wZXJ0eSIpICYmIHR5cGVvZiAob2JqLnByb3BlcnR5KSA9PT0gInVuZGVmaW5lZCI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - 'writable' property of 'descObj' is own data property (8.10.5 step 6.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-140.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy01LWItMTQxLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnd3JpdGFibGUnIHByb3BlcnR5IG9mICdkZXNjT2JqJyBpcyBpbmhlcml0ZWQgZGF0YSBwcm9wZXJ0eSAoOC4xMC41IHN0ZXAgNi5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICB2YXIgcHJvdG8gPSB7DQogICAgICAgICAgICB3cml0YWJsZTogZmFsc2UNCiAgICAgICAgfTsNCg0KICAgICAgICB2YXIgQ29uID0gZnVuY3Rpb24gKCkgeyB9Ow0KICAgICAgICBDb24ucHJvdG90eXBlID0gcHJvdG87DQoNCiAgICAgICAgdmFyIGRlc2NPYmogPSBuZXcgQ29uKCk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMob2JqLCB7DQogICAgICAgICAgICBwcm9wZXJ0eTogZGVzY09iag0KICAgICAgICB9KTsNCg0KICAgICAgICBvYmoucHJvcGVydHkgPSAiaXNXcml0YWJsZSI7DQoNCiAgICAgICAgcmV0dXJuIG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcGVydHkiKSAmJiB0eXBlb2YgKG9iai5wcm9wZXJ0eSkgPT09ICJ1bmRlZmluZWQiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - 'writable' property of 'descObj' is inherited data property (8.10.5 step 6.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-141.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy01LWItMTQyLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnd3JpdGFibGUnIHByb3BlcnR5IG9mICdkZXNjT2JqJyBpcyBvd24gZGF0YSBwcm9wZXJ0eSB0aGF0IG92ZXJyaWRlcyBhbiBpbmhlcml0ZWQgZGF0YSBwcm9wZXJ0eSAoOC4xMC41IHN0ZXAgNi5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICB2YXIgcHJvdG8gPSB7DQogICAgICAgICAgICB3cml0YWJsZTogdHJ1ZQ0KICAgICAgICB9Ow0KDQogICAgICAgIHZhciBDb24gPSBmdW5jdGlvbiAoKSB7IH07DQogICAgICAgIENvbi5wcm90b3R5cGUgPSBwcm90bzsNCg0KICAgICAgICB2YXIgZGVzY09iaiA9IG5ldyBDb24oKTsNCg0KICAgICAgICBkZXNjT2JqLndyaXRhYmxlID0gZmFsc2U7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMob2JqLCB7DQogICAgICAgICAgICBwcm9wZXJ0eTogZGVzY09iag0KICAgICAgICB9KTsNCg0KICAgICAgICBvYmoucHJvcGVydHkgPSAiaXNXcml0YWJsZSI7DQoNCiAgICAgICAgcmV0dXJuIG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcGVydHkiKSAmJiB0eXBlb2YgKG9iai5wcm9wZXJ0eSkgPT09ICJ1bmRlZmluZWQiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - 'writable' property of 'descObj' is own data property that overrides an inherited data property (8.10.5 step 6.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-142.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy01LWItMTQzLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnd3JpdGFibGUnIHByb3BlcnR5IG9mICdkZXNjT2JqJyBpcyBvd24gZGF0YSBwcm9wZXJ0eSB0aGF0IG92ZXJyaWRlcyBhbiBpbmhlcml0ZWQgYWNjZXNzb3IgcHJvcGVydHkgKDguMTAuNSBzdGVwIDYuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgdmFyIHByb3RvID0geyB2YWx1ZTogMTIwIH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHByb3RvLCAid3JpdGFibGUiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIENvbiA9IGZ1bmN0aW9uICgpIHsgfTsNCiAgICAgICAgQ29uLnByb3RvdHlwZSA9IHByb3RvOw0KDQogICAgICAgIHZhciBkZXNjT2JqID0gbmV3IENvbigpOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShkZXNjT2JqLCAid3JpdGFibGUiLCB7DQogICAgICAgICAgICB2YWx1ZTogZmFsc2UNCiAgICAgICAgfSk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMob2JqLCB7DQogICAgICAgICAgICBwcm9wZXJ0eTogZGVzY09iag0KICAgICAgICB9KTsNCg0KICAgICAgICBvYmoucHJvcGVydHkgPSAiaXNXcml0YWJsZSI7DQoNCiAgICAgICAgcmV0dXJuIG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcGVydHkiKSAmJiBvYmoucHJvcGVydHkgPT09IDEyMDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - 'writable' property of 'descObj' is own data property that overrides an inherited accessor property (8.10.5 step 6.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-143.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy01LWItMTQ0LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnd3JpdGFibGUnIHByb3BlcnR5IG9mICdkZXNjT2JqJyBpcyBvd24gYWNjZXNzb3IgcHJvcGVydHkgKDguMTAuNSBzdGVwIDYuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgdmFyIGRlc2NPYmogPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoZGVzY09iaiwgIndyaXRhYmxlIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIHsNCiAgICAgICAgICAgIHByb3BlcnR5OiBkZXNjT2JqDQogICAgICAgIH0pOw0KDQogICAgICAgIG9iai5wcm9wZXJ0eSA9ICJpc1dyaXRhYmxlIjsNCg0KICAgICAgICByZXR1cm4gb2JqLmhhc093blByb3BlcnR5KCJwcm9wZXJ0eSIpICYmIHR5cGVvZiAob2JqLnByb3BlcnR5KSA9PT0gInVuZGVmaW5lZCI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - 'writable' property of 'descObj' is own accessor property (8.10.5 step 6.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-144.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy01LWItMTQ1LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnd3JpdGFibGUnIHByb3BlcnR5IG9mICdkZXNjT2JqJyBpcyBpbmhlcml0ZWQgYWNjZXNzb3IgcHJvcGVydHkgKDguMTAuNSBzdGVwIDYuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgdmFyIHByb3RvID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHByb3RvLCAid3JpdGFibGUiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIENvbiA9IGZ1bmN0aW9uICgpIHsgfTsNCiAgICAgICAgQ29uLnByb3RvdHlwZSA9IHByb3RvOw0KDQogICAgICAgIHZhciBkZXNjT2JqID0gbmV3IENvbigpOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgew0KICAgICAgICAgICAgcHJvcGVydHk6IGRlc2NPYmoNCiAgICAgICAgfSk7DQoNCiAgICAgICAgb2JqLnByb3BlcnR5ID0gImlzV3JpdGFibGUiOw0KDQogICAgICAgIHJldHVybiBvYmouaGFzT3duUHJvcGVydHkoInByb3BlcnR5IikgJiYgb2JqLnByb3BlcnR5ID09PSAiaXNXcml0YWJsZSI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - 'writable' property of 'descObj' is inherited accessor property (8.10.5 step 6.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-145.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy01LWItMTQ2LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnd3JpdGFibGUnIHByb3BlcnR5IG9mICdkZXNjT2JqJyBpcyBvd24gYWNjZXNzb3IgcHJvcGVydHkgdGhhdCBvdmVycmlkZXMgYW4gaW5oZXJpdGVkIGRhdGEgcHJvcGVydHkgKDguMTAuNSBzdGVwIDYuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgdmFyIHByb3RvID0gew0KICAgICAgICAgICAgd3JpdGFibGU6IHRydWUNCiAgICAgICAgfTsNCg0KICAgICAgICB2YXIgQ29uID0gZnVuY3Rpb24gKCkgeyB9Ow0KICAgICAgICBDb24ucHJvdG90eXBlID0gcHJvdG87DQoNCiAgICAgICAgdmFyIGRlc2NPYmogPSBuZXcgQ29uKCk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGRlc2NPYmosICJ3cml0YWJsZSIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMob2JqLCB7DQogICAgICAgICAgICBwcm9wZXJ0eTogZGVzY09iag0KICAgICAgICB9KTsNCg0KICAgICAgICBvYmoucHJvcGVydHkgPSAiaXNXcml0YWJsZSI7DQoNCiAgICAgICAgcmV0dXJuIG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcGVydHkiKSAmJiB0eXBlb2YgKG9iai5wcm9wZXJ0eSkgPT09ICJ1bmRlZmluZWQiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - 'writable' property of 'descObj' is own accessor property that overrides an inherited data property (8.10.5 step 6.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-146.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy01LWItMTQ3LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnd3JpdGFibGUnIHByb3BlcnR5IG9mICdkZXNjT2JqJyBpcyBvd24gYWNjZXNzb3IgcHJvcGVydHkgdGhhdCBvdmVycmlkZXMgYW4gaW5oZXJpdGVkIGFjY2Vzc29yIHByb3BlcnR5ICg4LjEwLjUgc3RlcCA2LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIHZhciBwcm90byA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShwcm90bywgIndyaXRhYmxlIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBDb24gPSBmdW5jdGlvbiAoKSB7IH07DQogICAgICAgIENvbi5wcm90b3R5cGUgPSBwcm90bzsNCg0KICAgICAgICB2YXIgZGVzY09iaiA9IG5ldyBDb24oKTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoZGVzY09iaiwgIndyaXRhYmxlIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIHsNCiAgICAgICAgICAgIHByb3BlcnR5OiBkZXNjT2JqDQogICAgICAgIH0pOw0KDQogICAgICAgIG9iai5wcm9wZXJ0eSA9ICJpc1dyaXRhYmxlIjsNCg0KICAgICAgICByZXR1cm4gb2JqLmhhc093blByb3BlcnR5KCJwcm9wZXJ0eSIpICYmIHR5cGVvZiAob2JqLnByb3BlcnR5KSA9PT0gInVuZGVmaW5lZCI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - 'writable' property of 'descObj' is own accessor property that overrides an inherited accessor property (8.10.5 step 6.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-147.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy01LWItMTQ4LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnd3JpdGFibGUnIHByb3BlcnR5IG9mICdkZXNjT2JqJyBpcyBvd24gYWNjZXNzb3IgcHJvcGVydHkgd2l0aG91dCBhIGdldCBmdW5jdGlvbiAoOC4xMC41IHN0ZXAgNi5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICB2YXIgZGVzY09iaiA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShkZXNjT2JqLCAid3JpdGFibGUiLCB7DQogICAgICAgICAgICBzZXQ6IGZ1bmN0aW9uICgpIHsgfQ0KICAgICAgICB9KTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIHsNCiAgICAgICAgICAgIHByb3BlcnR5OiBkZXNjT2JqDQogICAgICAgIH0pOw0KDQogICAgICAgIG9iai5wcm9wZXJ0eSA9ICJpc1dyaXRhYmxlIjsNCg0KICAgICAgICByZXR1cm4gb2JqLmhhc093blByb3BlcnR5KCJwcm9wZXJ0eSIpICYmIHR5cGVvZiAob2JqLnByb3BlcnR5KSA9PT0gInVuZGVmaW5lZCI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - 'writable' property of 'descObj' is own accessor property without a get function (8.10.5 step 6.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-148.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy01LWItMTQ5LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnd3JpdGFibGUnIHByb3BlcnR5IG9mICdkZXNjT2JqJyBpcyBvd24gYWNjZXNzb3IgcHJvcGVydHkgd2l0aG91dCBhIGdldCBmdW5jdGlvbiB0aGF0IG92ZXJyaWRlcyBhbiBpbmhlcml0ZWQgYWNjZXNzb3IgcHJvcGVydHkgKDguMTAuNSBzdGVwIDYuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgdmFyIHByb3RvID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHByb3RvLCAid3JpdGFibGUiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIENvbiA9IGZ1bmN0aW9uICgpIHsgfTsNCiAgICAgICAgQ29uLnByb3RvdHlwZSA9IHByb3RvOw0KDQogICAgICAgIHZhciBkZXNjT2JqID0gbmV3IENvbigpOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShkZXNjT2JqLCAid3JpdGFibGUiLCB7DQogICAgICAgICAgICBzZXQ6IGZ1bmN0aW9uICgpIHsgfQ0KICAgICAgICB9KTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIHsNCiAgICAgICAgICAgIHByb3BlcnR5OiBkZXNjT2JqDQogICAgICAgIH0pOw0KDQogICAgICAgIG9iai5wcm9wZXJ0eSA9ICJpc1dyaXRhYmxlIjsNCg0KICAgICAgICByZXR1cm4gb2JqLmhhc093blByb3BlcnR5KCJwcm9wZXJ0eSIpICYmIHR5cGVvZiAob2JqLnByb3BlcnR5KSA9PT0gInVuZGVmaW5lZCI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - 'writable' property of 'descObj' is own accessor property without a get function that overrides an inherited accessor property (8.10.5 step 6.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-149.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy01LWItMTUuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydGllcyAtICdlbnVtZXJhYmxlJyBwcm9wZXJ0eSBvZiAnZGVzY09iaicgaXMgb3duIGFjY2Vzc29yIHByb3BlcnR5IHRoYXQgb3ZlcnJpZGVzIGFuIGluaGVyaXRlZCBhY2Nlc3NvciBwcm9wZXJ0eSAoOC4xMC41IHN0ZXAgMy5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICB2YXIgcHJvdG8gPSB7fTsNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShwcm90bywgImVudW1lcmFibGUiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIENvbiA9IGZ1bmN0aW9uICgpIHsgfTsNCiAgICAgICAgQ29uLnByb3RvdHlwZSA9IHByb3RvOw0KICAgICAgICB2YXIgZGVzY09iaiA9IG5ldyBDb24oKTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoZGVzY09iaiwgImVudW1lcmFibGUiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgew0KICAgICAgICAgICAgcHJvcDogZGVzY09iag0KICAgICAgICB9KTsNCiAgICAgICAgZm9yICh2YXIgcHJvcGVydHkgaW4gb2JqKSB7DQogICAgICAgICAgICBpZiAocHJvcGVydHkgPT09ICJwcm9wIikgew0KICAgICAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KICAgICAgICByZXR1cm4gIWFjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - 'enumerable' property of 'descObj' is own accessor property that overrides an inherited accessor property (8.10.5 step 3.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-15.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy01LWItMTUwLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnd3JpdGFibGUnIHByb3BlcnR5IG9mICdkZXNjT2JqJyBpcyBpbmhlcml0ZWQgYWNjZXNzb3IgcHJvcGVydHkgd2l0aG91dCBhIGdldCBmdW5jdGlvbiAoOC4xMC41IHN0ZXAgNi5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICB2YXIgcHJvdG8gPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkocHJvdG8sICJ3cml0YWJsZSIsIHsNCiAgICAgICAgICAgIHNldDogZnVuY3Rpb24gKCkgeyB9DQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBDb24gPSBmdW5jdGlvbiAoKSB7IH07DQogICAgICAgIENvbi5wcm90b3R5cGUgPSBwcm90bzsNCg0KICAgICAgICB2YXIgZGVzY09iaiA9IG5ldyBDb24oKTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIHsNCiAgICAgICAgICAgIHByb3BlcnR5OiBkZXNjT2JqDQogICAgICAgIH0pOw0KDQogICAgICAgIG9iai5wcm9wZXJ0eSA9ICJpc1dyaXRhYmxlIjsNCg0KICAgICAgICByZXR1cm4gb2JqLmhhc093blByb3BlcnR5KCJwcm9wZXJ0eSIpICYmIHR5cGVvZiAob2JqLnByb3BlcnR5KSA9PT0gInVuZGVmaW5lZCI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - 'writable' property of 'descObj' is inherited accessor property without a get function (8.10.5 step 6.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-150.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy01LWItMTUxLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnZGVzY09iaicgaXMgYSBGdW5jdGlvbiBvYmplY3Qgd2hpY2ggaW1wbGVtZW50cyBpdHMgb3duIFtbR2V0XV0gbWV0aG9kIHRvIGdldCAnd3JpdGFibGUnIHByb3BlcnR5ICg4LjEwLjUgc3RlcCA2LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIHZhciBmdW5jID0gZnVuY3Rpb24gKGEsIGIpIHsNCiAgICAgICAgICAgIHJldHVybiBhICsgYjsNCiAgICAgICAgfTsNCg0KICAgICAgICBmdW5jLndyaXRhYmxlID0gZmFsc2U7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMob2JqLCB7DQogICAgICAgICAgICBwcm9wZXJ0eTogZnVuYw0KICAgICAgICB9KTsNCg0KICAgICAgICBvYmoucHJvcGVydHkgPSAiaXNXcml0YWJsZSI7DQoNCiAgICAgICAgcmV0dXJuIG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcGVydHkiKSAmJiB0eXBlb2YgKG9iai5wcm9wZXJ0eSkgPT09ICJ1bmRlZmluZWQiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - 'descObj' is a Function object which implements its own [[Get]] method to get 'writable' property (8.10.5 step 6.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-151.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy01LWItMTUyLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnZGVzY09iaicgaXMgYW4gQXJyYXkgb2JqZWN0IHdoaWNoIGltcGxlbWVudHMgaXRzIG93biBbW0dldF1dIG1ldGhvZCB0byBnZXQgJ3dyaXRhYmxlJyBwcm9wZXJ0eSAoOC4xMC41IHN0ZXAgNi5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICB2YXIgYXJyID0gWzEsIDIsIDNdOw0KDQogICAgICAgIGFyci53cml0YWJsZSA9IGZhbHNlOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgew0KICAgICAgICAgICAgcHJvcGVydHk6IGFycg0KICAgICAgICB9KTsNCg0KICAgICAgICBvYmoucHJvcGVydHkgPSAiaXNXcml0YWJsZSI7DQoNCiAgICAgICAgcmV0dXJuIG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcGVydHkiKSAmJiB0eXBlb2YgKG9iai5wcm9wZXJ0eSkgPT09ICJ1bmRlZmluZWQiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - 'descObj' is an Array object which implements its own [[Get]] method to get 'writable' property (8.10.5 step 6.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-152.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy01LWItMTUzLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnZGVzY09iaicgaXMgYSBTdHJpbmcgb2JqZWN0IHdoaWNoIGltcGxlbWVudHMgaXRzIG93biBbW0dldF1dIG1ldGhvZCB0byBnZXQgJ3dyaXRhYmxlJyBwcm9wZXJ0eSAoOC4xMC41IHN0ZXAgNi5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICB2YXIgc3RyID0gbmV3IFN0cmluZygiYWJjIik7DQoNCiAgICAgICAgc3RyLndyaXRhYmxlID0gZmFsc2U7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMob2JqLCB7DQogICAgICAgICAgICBwcm9wZXJ0eTogc3RyDQogICAgICAgIH0pOw0KDQogICAgICAgIG9iai5wcm9wZXJ0eSA9ICJpc1dyaXRhYmxlIjsNCg0KICAgICAgICByZXR1cm4gb2JqLmhhc093blByb3BlcnR5KCJwcm9wZXJ0eSIpICYmIHR5cGVvZiAob2JqLnByb3BlcnR5KSA9PT0gInVuZGVmaW5lZCI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - 'descObj' is a String object which implements its own [[Get]] method to get 'writable' property (8.10.5 step 6.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-153.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy01LWItMTU0LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnZGVzY09iaicgaXMgYSBCb29sZWFuIG9iamVjdCB3aGljaCBpbXBsZW1lbnRzIGl0cyBvd24gW1tHZXRdXSBtZXRob2QgdG8gZ2V0ICd3cml0YWJsZScgcHJvcGVydHkgKDguMTAuNSBzdGVwIDYuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgdmFyIGRlc2NPYmogPSBuZXcgQm9vbGVhbihmYWxzZSk7DQoNCiAgICAgICAgZGVzY09iai53cml0YWJsZSA9IGZhbHNlOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgew0KICAgICAgICAgICAgcHJvcGVydHk6IGRlc2NPYmoNCiAgICAgICAgfSk7DQoNCiAgICAgICAgb2JqLnByb3BlcnR5ID0gImlzV3JpdGFibGUiOw0KDQogICAgICAgIHJldHVybiBvYmouaGFzT3duUHJvcGVydHkoInByb3BlcnR5IikgJiYgdHlwZW9mIChvYmoucHJvcGVydHkpID09PSAidW5kZWZpbmVkIjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - 'descObj' is a Boolean object which implements its own [[Get]] method to get 'writable' property (8.10.5 step 6.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-154.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy01LWItMTU1LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnZGVzY09iaicgaXMgYSBOdW1iZXIgb2JqZWN0IHdoaWNoIGltcGxlbWVudHMgaXRzIG93biBbW0dldF1dIG1ldGhvZCB0byBnZXQgJ3dyaXRhYmxlJyBwcm9wZXJ0eSAoOC4xMC41IHN0ZXAgNi5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICB2YXIgZGVzY09iaiA9IG5ldyBOdW1iZXIoLTkpOw0KDQogICAgICAgIGRlc2NPYmoud3JpdGFibGUgPSBmYWxzZTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIHsNCiAgICAgICAgICAgIHByb3BlcnR5OiBkZXNjT2JqDQogICAgICAgIH0pOw0KDQogICAgICAgIG9iai5wcm9wZXJ0eSA9ICJpc1dyaXRhYmxlIjsNCg0KICAgICAgICByZXR1cm4gb2JqLmhhc093blByb3BlcnR5KCJwcm9wZXJ0eSIpICYmIHR5cGVvZiAob2JqLnByb3BlcnR5KSA9PT0gInVuZGVmaW5lZCI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - 'descObj' is a Number object which implements its own [[Get]] method to get 'writable' property (8.10.5 step 6.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-155.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy01LWItMTU2LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnZGVzY09iaicgaXMgdGhlIE1hdGggb2JqZWN0IHdoaWNoIGltcGxlbWVudHMgaXRzIG93biBbW0dldF1dIG1ldGhvZCB0byBnZXQgJ3dyaXRhYmxlJyBwcm9wZXJ0eSAoOC4xMC41IHN0ZXAgNi5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBNYXRoLndyaXRhYmxlID0gZmFsc2U7DQoNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgew0KICAgICAgICAgICAgICAgIHByb3BlcnR5OiBNYXRoDQogICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgb2JqLnByb3BlcnR5ID0gImlzV3JpdGFibGUiOw0KDQogICAgICAgICAgICByZXR1cm4gb2JqLmhhc093blByb3BlcnR5KCJwcm9wZXJ0eSIpICYmIHR5cGVvZiAob2JqLnByb3BlcnR5KSA9PT0gInVuZGVmaW5lZCI7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgTWF0aC53cml0YWJsZTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - 'descObj' is the Math object which implements its own [[Get]] method to get 'writable' property (8.10.5 step 6.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-156.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy01LWItMTU3LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnZGVzY09iaicgaXMgYSBEYXRlIG9iamVjdCB3aGljaCBpbXBsZW1lbnRzIGl0cyBvd24gW1tHZXRdXSBtZXRob2QgdG8gZ2V0ICd3cml0YWJsZScgcHJvcGVydHkgKDguMTAuNSBzdGVwIDYuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgdmFyIGRlc2NPYmogPSBuZXcgRGF0ZSgpOw0KDQogICAgICAgIGRlc2NPYmoud3JpdGFibGUgPSBmYWxzZTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIHsNCiAgICAgICAgICAgIHByb3BlcnR5OiBkZXNjT2JqDQogICAgICAgIH0pOw0KDQogICAgICAgIG9iai5wcm9wZXJ0eSA9ICJpc1dyaXRhYmxlIjsNCg0KICAgICAgICByZXR1cm4gb2JqLmhhc093blByb3BlcnR5KCJwcm9wZXJ0eSIpICYmIHR5cGVvZiAob2JqLnByb3BlcnR5KSA9PT0gInVuZGVmaW5lZCI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - 'descObj' is a Date object which implements its own [[Get]] method to get 'writable' property (8.10.5 step 6.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-157.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy01LWItMTU4LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnZGVzY09iaicgaXMgYSBSZWdFeHAgb2JqZWN0IHdoaWNoIGltcGxlbWVudHMgaXRzIG93biBbW0dldF1dIG1ldGhvZCB0byBnZXQgJ3dyaXRhYmxlJyBwcm9wZXJ0eSAoOC4xMC41IHN0ZXAgNi5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICB2YXIgZGVzY09iaiA9IG5ldyBSZWdFeHAoKTsNCg0KICAgICAgICBkZXNjT2JqLndyaXRhYmxlID0gZmFsc2U7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMob2JqLCB7DQogICAgICAgICAgICBwcm9wZXJ0eTogZGVzY09iag0KICAgICAgICB9KTsNCg0KICAgICAgICBvYmoucHJvcGVydHkgPSAiaXNXcml0YWJsZSI7DQoNCiAgICAgICAgcmV0dXJuIG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcGVydHkiKSAmJiB0eXBlb2YgKG9iai5wcm9wZXJ0eSkgPT09ICJ1bmRlZmluZWQiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - 'descObj' is a RegExp object which implements its own [[Get]] method to get 'writable' property (8.10.5 step 6.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-158.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy01LWItMTU5LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnZGVzY09iaicgaXMgdGhlIEpTT04gb2JqZWN0IHdoaWNoIGltcGxlbWVudHMgaXRzIG93biBbW0dldF1dIG1ldGhvZCB0byBnZXQgJ3dyaXRhYmxlJyBwcm9wZXJ0eSAoOC4xMC41IHN0ZXAgNi5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBKU09OLndyaXRhYmxlID0gZmFsc2U7DQoNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgew0KICAgICAgICAgICAgICAgIHByb3BlcnR5OiBKU09ODQogICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgb2JqLnByb3BlcnR5ID0gImlzV3JpdGFibGUiOw0KDQogICAgICAgICAgICByZXR1cm4gb2JqLmhhc093blByb3BlcnR5KCJwcm9wZXJ0eSIpICYmIHR5cGVvZiAob2JqLnByb3BlcnR5KSA9PT0gInVuZGVmaW5lZCI7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgSlNPTi53cml0YWJsZTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - 'descObj' is the JSON object which implements its own [[Get]] method to get 'writable' property (8.10.5 step 6.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-159.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy01LWItMTYuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydGllcyAtICdlbnVtZXJhYmxlJyBwcm9wZXJ0eSBvZiAnZGVzY09iaicgaXMgb3duIGFjY2Vzc29yIHByb3BlcnR5IHdpdGhvdXQgYSBnZXQgZnVuY3Rpb24gKDguMTAuNSBzdGVwIDMuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQogICAgICAgIHZhciBkZXNjT2JqID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGRlc2NPYmosICJlbnVtZXJhYmxlIiwgew0KICAgICAgICAgICAgc2V0OiBmdW5jdGlvbiAoKSB7IH0NCiAgICAgICAgfSk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMob2JqLCB7DQogICAgICAgICAgICBwcm9wOiBkZXNjT2JqDQogICAgICAgIH0pOw0KICAgICAgICBmb3IgKHZhciBwcm9wZXJ0eSBpbiBvYmopIHsNCiAgICAgICAgICAgIGlmIChwcm9wZXJ0eSA9PT0gInByb3AiKSB7DQogICAgICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQogICAgICAgIHJldHVybiAhYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - 'enumerable' property of 'descObj' is own accessor property without a get function (8.10.5 step 3.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-16.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy01LWItMTYwLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnZGVzY09iaicgaXMgYW4gRXJyb3Igb2JqZWN0IHdoaWNoIGltcGxlbWVudHMgaXRzIG93biBbW0dldF1dIG1ldGhvZCB0byBnZXQgJ3dyaXRhYmxlJyBwcm9wZXJ0eSAoOC4xMC41IHN0ZXAgNi5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICB2YXIgZGVzY09iaiA9IG5ldyBFcnJvcigpOw0KDQogICAgICAgIGRlc2NPYmoud3JpdGFibGUgPSBmYWxzZTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIHsNCiAgICAgICAgICAgIHByb3BlcnR5OiBkZXNjT2JqDQogICAgICAgIH0pOw0KDQogICAgICAgIG9iai5wcm9wZXJ0eSA9ICJpc1dyaXRhYmxlIjsNCg0KICAgICAgICByZXR1cm4gb2JqLmhhc093blByb3BlcnR5KCJwcm9wZXJ0eSIpICYmIHR5cGVvZiAob2JqLnByb3BlcnR5KSA9PT0gInVuZGVmaW5lZCI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - 'descObj' is an Error object which implements its own [[Get]] method to get 'writable' property (8.10.5 step 6.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-160.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy01LWItMTYxLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnZGVzY09iaicgaXMgdGhlIEFyZ3VtZW50cyBvYmplY3Qgd2hpY2ggaW1wbGVtZW50cyBpdHMgb3duIFtbR2V0XV0gbWV0aG9kIHRvIGdldCAnd3JpdGFibGUnIHByb3BlcnR5ICg4LjEwLjUgc3RlcCA2LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIHZhciBmdW5jID0gZnVuY3Rpb24gKGEsIGIpIHsNCiAgICAgICAgICAgIGFyZ3VtZW50cy53cml0YWJsZSA9IGZhbHNlOw0KDQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIHsNCiAgICAgICAgICAgICAgICBwcm9wZXJ0eTogYXJndW1lbnRzDQogICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgb2JqLnByb3BlcnR5ID0gImlzV3JpdGFibGUiOw0KDQogICAgICAgICAgICByZXR1cm4gb2JqLmhhc093blByb3BlcnR5KCJwcm9wZXJ0eSIpICYmIHR5cGVvZiAob2JqLnByb3BlcnR5KSA9PT0gInVuZGVmaW5lZCI7DQogICAgICAgIH07DQoNCiAgICAgICAgcmV0dXJuIGZ1bmMoKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - 'descObj' is the Arguments object which implements its own [[Get]] method to get 'writable' property (8.10.5 step 6.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-161.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy01LWItMTYzLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnZGVzY09iaicgaXMgdGhlIGdsb2JhbCBvYmplY3Qgd2hpY2ggaW1wbGVtZW50cyBpdHMgb3duIFtbR2V0XV0gbWV0aG9kIHRvIGdldCAnd3JpdGFibGUnIHByb3BlcnR5ICg4LjEwLjUgc3RlcCA2LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIGZuR2xvYmFsT2JqZWN0KCkud3JpdGFibGUgPSBmYWxzZTsNCg0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMob2JqLCB7DQogICAgICAgICAgICAgICAgcHJvcGVydHk6IGZuR2xvYmFsT2JqZWN0KCkNCiAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICBvYmoucHJvcGVydHkgPSAiaXNXcml0YWJsZSI7DQoNCiAgICAgICAgICAgIHJldHVybiBvYmouaGFzT3duUHJvcGVydHkoInByb3BlcnR5IikgJiYgdHlwZW9mIChvYmoucHJvcGVydHkpID09PSAidW5kZWZpbmVkIjsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBmbkdsb2JhbE9iamVjdCgpLndyaXRhYmxlOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - 'descObj' is the global object which implements its own [[Get]] method to get 'writable' property (8.10.5 step 6.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-163.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy01LWItMTY0LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSB2YWx1ZSBvZiAnd3JpdGFibGUnIHByb3BlcnR5IG9mICdkZXNjT2JqJyBpcyB1bmRlZmluZWQgKDguMTAuNSBzdGVwIDYuYikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMob2JqLCB7DQogICAgICAgICAgICBwcm9wZXJ0eTogew0KICAgICAgICAgICAgICAgIHdyaXRhYmxlOiB1bmRlZmluZWQNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQoNCiAgICAgICAgb2JqLnByb3BlcnR5ID0gImlzV3JpdGFibGUiOw0KDQogICAgICAgIHJldHVybiBvYmouaGFzT3duUHJvcGVydHkoInByb3BlcnR5IikgJiYgdHlwZW9mIChvYmoucHJvcGVydHkpID09PSAidW5kZWZpbmVkIjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - value of 'writable' property of 'descObj' is undefined (8.10.5 step 6.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-164.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy01LWItMTY1LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSB2YWx1ZSBvZiAnd3JpdGFibGUnIHByb3BlcnR5IG9mICdkZXNjT2JqJyBpcyBudWxsICg4LjEwLjUgc3RlcCA2LmIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgew0KICAgICAgICAgICAgcHJvcGVydHk6IHsNCiAgICAgICAgICAgICAgICB3cml0YWJsZTogbnVsbA0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCg0KICAgICAgICBvYmoucHJvcGVydHkgPSAiaXNXcml0YWJsZSI7DQoNCiAgICAgICAgcmV0dXJuIG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcGVydHkiKSAmJiB0eXBlb2YgKG9iai5wcm9wZXJ0eSkgPT09ICJ1bmRlZmluZWQiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - value of 'writable' property of 'descObj' is null (8.10.5 step 6.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-165.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy01LWItMTY2LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSB2YWx1ZSBvZiAnd3JpdGFibGUnIHByb3BlcnR5IG9mICdkZXNjT2JqJyBpcyB0cnVlICg4LjEwLjUgc3RlcCA2LmIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgew0KICAgICAgICAgICAgcHJvcGVydHk6IHsNCiAgICAgICAgICAgICAgICB3cml0YWJsZTogdHJ1ZQ0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCg0KICAgICAgICBvYmoucHJvcGVydHkgPSAiaXNXcml0YWJsZSI7DQoNCiAgICAgICAgcmV0dXJuIG9iai5wcm9wZXJ0eSA9PT0gImlzV3JpdGFibGUiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - value of 'writable' property of 'descObj' is true (8.10.5 step 6.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-166.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy01LWItMTY3LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSB2YWx1ZSBvZiAnd3JpdGFibGUnIHByb3BlcnR5IG9mICdkZXNjT2JqJyBpcyBmYWxzZSAoOC4xMC41IHN0ZXAgNi5iKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIHsNCiAgICAgICAgICAgIHByb3BlcnR5OiB7DQogICAgICAgICAgICAgICAgd3JpdGFibGU6IGZhbHNlDQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KDQogICAgICAgIG9iai5wcm9wZXJ0eSA9ICJpc1dyaXRhYmxlIjsNCg0KICAgICAgICByZXR1cm4gb2JqLmhhc093blByb3BlcnR5KCJwcm9wZXJ0eSIpICYmIHR5cGVvZiAob2JqLnByb3BlcnR5KSA9PT0gInVuZGVmaW5lZCI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - value of 'writable' property of 'descObj' is false (8.10.5 step 6.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-167.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy01LWItMTY4LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSB2YWx1ZSBvZiAnd3JpdGFibGUnIHByb3BlcnR5IG9mICdkZXNjT2JqJyBpcyAwICg4LjEwLjUgc3RlcCA2LmIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgew0KICAgICAgICAgICAgcHJvcGVydHk6IHsNCiAgICAgICAgICAgICAgICB3cml0YWJsZTogMA0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCg0KICAgICAgICBvYmoucHJvcGVydHkgPSAiaXNXcml0YWJsZSI7DQoNCiAgICAgICAgcmV0dXJuIG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcGVydHkiKSAmJiB0eXBlb2YgKG9iai5wcm9wZXJ0eSkgPT09ICJ1bmRlZmluZWQiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - value of 'writable' property of 'descObj' is 0 (8.10.5 step 6.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-168.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy01LWItMTY5LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSB2YWx1ZSBvZiAnd3JpdGFibGUnIHByb3BlcnR5IG9mICdkZXNjT2JqJyBpcyArMCAoOC4xMC41IHN0ZXAgNi5iKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIHsNCiAgICAgICAgICAgIHByb3BlcnR5OiB7DQogICAgICAgICAgICAgICAgd3JpdGFibGU6ICswDQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KDQogICAgICAgIG9iai5wcm9wZXJ0eSA9ICJpc1dyaXRhYmxlIjsNCg0KICAgICAgICByZXR1cm4gb2JqLmhhc093blByb3BlcnR5KCJwcm9wZXJ0eSIpICYmIHR5cGVvZiAob2JqLnByb3BlcnR5KSA9PT0gInVuZGVmaW5lZCI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - value of 'writable' property of 'descObj' is +0 (8.10.5 step 6.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-169.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy01LWItMTcuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydGllcyAtICdlbnVtZXJhYmxlJyBwcm9wZXJ0eSBvZiAnZGVzY09iaicgIGlzIG93biBhY2Nlc3NvciBwcm9wZXJ0eSB3aXRob3V0IGEgZ2V0IGZ1bmN0aW9uIHRoYXQgb3ZlcnJpZGVzIGFuIGluaGVyaXRlZCBhY2Nlc3NvciBwcm9wZXJ0eSAoOC4xMC41IHN0ZXAgMy5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICB2YXIgcHJvdG8gPSB7fTsNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShwcm90bywgImVudW1lcmFibGUiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBDb24gPSBmdW5jdGlvbiAoKSB7IH07DQogICAgICAgIENvbi5wcm90b3R5cGUgPSBwcm90bzsNCiAgICAgICAgdmFyIGRlc2NPYmogPSBuZXcgQ29uKCk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGRlc2NPYmosICJlbnVtZXJhYmxlIiwgew0KICAgICAgICAgICAgc2V0OiBmdW5jdGlvbiAoKSB7IH0NCiAgICAgICAgfSk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMob2JqLCB7DQogICAgICAgICAgICBwcm9wOiBkZXNjT2JqDQogICAgICAgIH0pOw0KICAgICAgICBmb3IgKHZhciBwcm9wZXJ0eSBpbiBvYmopIHsNCiAgICAgICAgICAgIGlmIChwcm9wZXJ0eSA9PT0gInByb3AiKSB7DQogICAgICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQogICAgICAgIHJldHVybiAhYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - 'enumerable' property of 'descObj' is own accessor property without a get function that overrides an inherited accessor property (8.10.5 step 3.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-17.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy01LWItMTcwLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSB2YWx1ZSBvZiAnd3JpdGFibGUnIHByb3BlcnR5IG9mICdkZXNjT2JqJyBpcyAtMCAoOC4xMC41IHN0ZXAgNi5iKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIHsNCiAgICAgICAgICAgIHByb3BlcnR5OiB7DQogICAgICAgICAgICAgICAgd3JpdGFibGU6IC0wDQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KDQogICAgICAgIG9iai5wcm9wZXJ0eSA9ICJpc1dyaXRhYmxlIjsNCg0KICAgICAgICByZXR1cm4gb2JqLmhhc093blByb3BlcnR5KCJwcm9wZXJ0eSIpICYmIHR5cGVvZiAob2JqLnByb3BlcnR5KSA9PT0gInVuZGVmaW5lZCI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - value of 'writable' property of 'descObj' is -0 (8.10.5 step 6.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-170.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy01LWItMTcxLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSB2YWx1ZSBvZiAnd3JpdGFibGUnIHByb3BlcnR5IG9mICdkZXNjT2JqJyBpcyBOYU4gKDguMTAuNSBzdGVwIDYuYikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMob2JqLCB7DQogICAgICAgICAgICBwcm9wZXJ0eTogew0KICAgICAgICAgICAgICAgIHdyaXRhYmxlOiBOYU4NCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQoNCiAgICAgICAgb2JqLnByb3BlcnR5ID0gImlzV3JpdGFibGUiOw0KDQogICAgICAgIHJldHVybiBvYmouaGFzT3duUHJvcGVydHkoInByb3BlcnR5IikgJiYgdHlwZW9mIChvYmoucHJvcGVydHkpID09PSAidW5kZWZpbmVkIjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - value of 'writable' property of 'descObj' is NaN (8.10.5 step 6.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-171.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy01LWItMTcyLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSB2YWx1ZSBvZiAnd3JpdGFibGUnIHByb3BlcnR5IG9mICdkZXNjT2JqJyBpcyBwb3NpdGl2ZSBudW1iZXIgKDguMTAuNSBzdGVwIDYuYikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMob2JqLCB7DQogICAgICAgICAgICBwcm9wZXJ0eTogew0KICAgICAgICAgICAgICAgIHdyaXRhYmxlOiAxMjMNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQoNCiAgICAgICAgb2JqLnByb3BlcnR5ID0gImlzV3JpdGFibGUiOw0KDQogICAgICAgIHJldHVybiBvYmoucHJvcGVydHkgPT09ICJpc1dyaXRhYmxlIjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - value of 'writable' property of 'descObj' is positive number (8.10.5 step 6.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-172.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy01LWItMTczLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSB2YWx1ZSBvZiAnd3JpdGFibGUnIHByb3BlcnR5IG9mICdkZXNjT2JqJyBpcyBuZWdhdGl2ZSBudW1iZXIgKDguMTAuNSBzdGVwIDYuYikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMob2JqLCB7DQogICAgICAgICAgICBwcm9wZXJ0eTogew0KICAgICAgICAgICAgICAgIHdyaXRhYmxlOiAtMTIzDQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KDQogICAgICAgIG9iai5wcm9wZXJ0eSA9ICJpc1dyaXRhYmxlIjsNCg0KICAgICAgICByZXR1cm4gb2JqLnByb3BlcnR5ID09PSAiaXNXcml0YWJsZSI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - value of 'writable' property of 'descObj' is negative number (8.10.5 step 6.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-173.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy01LWItMTc0LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSB2YWx1ZSBvZiAnd3JpdGFibGUnIHByb3BlcnR5IG9mICdkZXNjT2JqJyBpcyBlbXB0eSBzdHJpbmcgKDguMTAuNSBzdGVwIDYuYikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMob2JqLCB7DQogICAgICAgICAgICBwcm9wZXJ0eTogew0KICAgICAgICAgICAgICAgIHdyaXRhYmxlOiAiIg0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCg0KICAgICAgICBvYmoucHJvcGVydHkgPSAiaXNXcml0YWJsZSI7DQoNCiAgICAgICAgcmV0dXJuIG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcGVydHkiKSAmJiB0eXBlb2YgKG9iai5wcm9wZXJ0eSkgPT09ICJ1bmRlZmluZWQiOw0KDQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - value of 'writable' property of 'descObj' is empty string (8.10.5 step 6.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-174.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy01LWItMTc1LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSB2YWx1ZSBvZiAnd3JpdGFibGUnIHByb3BlcnR5IG9mICdkZXNjT2JqJyBpcyBub24tZW1wdHkgc3RyaW5nICg4LjEwLjUgc3RlcCA2LmIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgew0KICAgICAgICAgICAgcHJvcGVydHk6IHsNCiAgICAgICAgICAgICAgICB3cml0YWJsZTogImFiYyINCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQoNCiAgICAgICAgb2JqLnByb3BlcnR5ID0gImlzV3JpdGFibGUiOw0KDQogICAgICAgIHJldHVybiBvYmoucHJvcGVydHkgPT09ICJpc1dyaXRhYmxlIjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - value of 'writable' property of 'descObj' is non-empty string (8.10.5 step 6.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-175.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy01LWItMTc2LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSB2YWx1ZSBvZiAnd3JpdGFibGUnIHByb3BlcnR5IG9mICdkZXNjT2JqJyBpcyBGdW5jdGlvbiBvYmplY3QgKDguMTAuNSBzdGVwIDYuYikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMob2JqLCB7DQogICAgICAgICAgICBwcm9wZXJ0eTogew0KICAgICAgICAgICAgICAgIHdyaXRhYmxlOiBmdW5jdGlvbiAoKSB7IH0NCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQoNCiAgICAgICAgb2JqLnByb3BlcnR5ID0gImlzV3JpdGFibGUiOw0KDQogICAgICAgIHJldHVybiBvYmoucHJvcGVydHkgPT09ICJpc1dyaXRhYmxlIjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - value of 'writable' property of 'descObj' is Function object (8.10.5 step 6.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-176.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy01LWItMTc3LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSB2YWx1ZSBvZiAnd3JpdGFibGUnIHByb3BlcnR5IG9mICdkZXNjT2JqJyBpcyBBcnJheSBvYmplY3QgKDguMTAuNSBzdGVwIDYuYikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMob2JqLCB7DQogICAgICAgICAgICBwcm9wZXJ0eTogew0KICAgICAgICAgICAgICAgIHdyaXRhYmxlOiBbXQ0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCg0KICAgICAgICBvYmoucHJvcGVydHkgPSAiaXNXcml0YWJsZSI7DQoNCiAgICAgICAgcmV0dXJuIG9iai5wcm9wZXJ0eSA9PT0gImlzV3JpdGFibGUiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - value of 'writable' property of 'descObj' is Array object (8.10.5 step 6.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-177.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy01LWItMTc4LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSB2YWx1ZSBvZiAnd3JpdGFibGUnIHByb3BlcnR5IG9mICdkZXNjT2JqJyBpcyBTdHJpbmcgb2JqZWN0ICg4LjEwLjUgc3RlcCA2LmIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgew0KICAgICAgICAgICAgcHJvcGVydHk6IHsNCiAgICAgICAgICAgICAgICB3cml0YWJsZTogbmV3IFN0cmluZygiYWJjIikNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQoNCiAgICAgICAgb2JqLnByb3BlcnR5ID0gImlzV3JpdGFibGUiOw0KDQogICAgICAgIHJldHVybiBvYmoucHJvcGVydHkgPT09ICJpc1dyaXRhYmxlIjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - value of 'writable' property of 'descObj' is String object (8.10.5 step 6.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-178.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy01LWItMTc5LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSB2YWx1ZSBvZiAnd3JpdGFibGUnIHByb3BlcnR5IG9mICdkZXNjT2JqJyBpcyBCb29sZWFuIG9iamVjdCAoOC4xMC41IHN0ZXAgNi5iKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIHsNCiAgICAgICAgICAgIHByb3BlcnR5OiB7DQogICAgICAgICAgICAgICAgd3JpdGFibGU6IG5ldyBCb29sZWFuKHRydWUpDQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KDQogICAgICAgIG9iai5wcm9wZXJ0eSA9ICJpc1dyaXRhYmxlIjsNCg0KICAgICAgICByZXR1cm4gb2JqLnByb3BlcnR5ID09PSAiaXNXcml0YWJsZSI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - value of 'writable' property of 'descObj' is Boolean object (8.10.5 step 6.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-179.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy01LWItMTguanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydGllcyAtICdlbnVtZXJhYmxlJyBwcm9wZXJ0eSBvZiAnZGVzY09iaicgaXMgaW5oZXJpdGVkIGFjY2Vzc29yIHByb3BlcnR5IHdpdGhvdXQgYSBnZXQgZnVuY3Rpb24gKDguMTAuNSBzdGVwIDMuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgdmFyIHByb3RvID0ge307DQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShwcm90bywgImVudW1lcmFibGUiLCB7DQogICAgICAgICAgICBzZXQ6IGZ1bmN0aW9uICgpIHsgfQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgQ29uID0gZnVuY3Rpb24gKCkgeyB9Ow0KICAgICAgICBDb24ucHJvdG90eXBlID0gcHJvdG87DQogICAgICAgIHZhciBkZXNjT2JqID0gbmV3IENvbigpOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgew0KICAgICAgICAgICAgcHJvcDogZGVzY09iag0KICAgICAgICB9KTsNCiAgICAgICAgZm9yICh2YXIgcHJvcGVydHkgaW4gb2JqKSB7DQogICAgICAgICAgICBpZiAocHJvcGVydHkgPT09ICJwcm9wIikgew0KICAgICAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KICAgICAgICByZXR1cm4gIWFjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - 'enumerable' property of 'descObj' is inherited accessor property without a get function (8.10.5 step 3.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-18.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy01LWItMTgwLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSB2YWx1ZSBvZiAnd3JpdGFibGUnIHByb3BlcnR5IG9mICdkZXNjT2JqJyBpcyBOdW1iZXIgb2JqZWN0ICg4LjEwLjUgc3RlcCA2LmIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgew0KICAgICAgICAgICAgcHJvcGVydHk6IHsNCiAgICAgICAgICAgICAgICB3cml0YWJsZTogbmV3IE51bWJlcigxMjMpDQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KDQogICAgICAgIG9iai5wcm9wZXJ0eSA9ICJpc1dyaXRhYmxlIjsNCg0KICAgICAgICByZXR1cm4gb2JqLnByb3BlcnR5ID09PSAiaXNXcml0YWJsZSI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - value of 'writable' property of 'descObj' is Number object (8.10.5 step 6.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-180.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy01LWItMTgxLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSB2YWx1ZSBvZiAnd3JpdGFibGUnIHByb3BlcnR5IG9mICdkZXNjT2JqJyBpcyB0aGUgTWF0aCBvYmplY3QgKDguMTAuNSBzdGVwIDYuYikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMob2JqLCB7DQogICAgICAgICAgICBwcm9wZXJ0eTogew0KICAgICAgICAgICAgICAgIHdyaXRhYmxlOiBNYXRoDQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KDQogICAgICAgIG9iai5wcm9wZXJ0eSA9ICJpc1dyaXRhYmxlIjsNCg0KICAgICAgICByZXR1cm4gb2JqLnByb3BlcnR5ID09PSAiaXNXcml0YWJsZSI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - value of 'writable' property of 'descObj' is the Math object (8.10.5 step 6.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-181.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy01LWItMTgyLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSB2YWx1ZSBvZiAnd3JpdGFibGUnIHByb3BlcnR5IG9mICdkZXNjT2JqJyBpcyAgRGF0ZSBvYmplY3QgKDguMTAuNSBzdGVwIDYuYikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMob2JqLCB7DQogICAgICAgICAgICBwcm9wZXJ0eTogew0KICAgICAgICAgICAgICAgIHdyaXRhYmxlOiBuZXcgRGF0ZSgpDQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KDQogICAgICAgIG9iai5wcm9wZXJ0eSA9ICJpc1dyaXRhYmxlIjsNCg0KICAgICAgICByZXR1cm4gb2JqLnByb3BlcnR5ID09PSAiaXNXcml0YWJsZSI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - value of 'writable' property of 'descObj' is Date object (8.10.5 step 6.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-182.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy01LWItMTgzLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSB2YWx1ZSBvZiAnd3JpdGFibGUnIHByb3BlcnR5IG9mICdkZXNjT2JqJyBpcyBSZWdFeHAgb2JqZWN0ICg4LjEwLjUgc3RlcCA2LmIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgew0KICAgICAgICAgICAgcHJvcGVydHk6IHsNCiAgICAgICAgICAgICAgICB3cml0YWJsZTogbmV3IFJlZ0V4cCgpDQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KDQogICAgICAgIG9iai5wcm9wZXJ0eSA9ICJpc1dyaXRhYmxlIjsNCg0KICAgICAgICByZXR1cm4gb2JqLnByb3BlcnR5ID09PSAiaXNXcml0YWJsZSI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - value of 'writable' property of 'descObj' is RegExp object (8.10.5 step 6.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-183.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy01LWItMTg0LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSB2YWx1ZSBvZiAnd3JpdGFibGUnIHByb3BlcnR5IG9mICdkZXNjT2JqJyBpcyB0aGUgSlNPTiBvYmplY3QgKDguMTAuNSBzdGVwIDYuYikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMob2JqLCB7DQogICAgICAgICAgICBwcm9wZXJ0eTogew0KICAgICAgICAgICAgICAgIHdyaXRhYmxlOiBKU09ODQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KDQogICAgICAgIG9iai5wcm9wZXJ0eSA9ICJpc1dyaXRhYmxlIjsNCg0KICAgICAgICByZXR1cm4gb2JqLnByb3BlcnR5ID09PSAiaXNXcml0YWJsZSI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - value of 'writable' property of 'descObj' is the JSON object (8.10.5 step 6.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-184.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy01LWItMTg1LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSB2YWx1ZSBvZiAnd3JpdGFibGUnIHByb3BlcnR5IG9mICdkZXNjT2JqJyBpcyBFcnJvciBvYmplY3QgKDguMTAuNSBzdGVwIDYuYikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMob2JqLCB7DQogICAgICAgICAgICBwcm9wZXJ0eTogew0KICAgICAgICAgICAgICAgIHdyaXRhYmxlOiBuZXcgU3ludGF4RXJyb3IoKQ0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCg0KICAgICAgICBvYmoucHJvcGVydHkgPSAiaXNXcml0YWJsZSI7DQoNCiAgICAgICAgcmV0dXJuIG9iai5wcm9wZXJ0eSA9PT0gImlzV3JpdGFibGUiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - value of 'writable' property of 'descObj' is Error object (8.10.5 step 6.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-185.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy01LWItMTg2LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSB2YWx1ZSBvZiAnd3JpdGFibGUnIHByb3BlcnR5IG9mICdkZXNjT2JqJyBpcyB0aGUgQXJndW1lbnQgb2JqZWN0ICg4LjEwLjUgc3RlcCA2LmIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIHZhciBmdW5jID0gZnVuY3Rpb24gKGEsIGIsIGMpIHsNCiAgICAgICAgICAgIHJldHVybiBhcmd1bWVudHM7DQogICAgICAgIH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMob2JqLCB7DQogICAgICAgICAgICBwcm9wZXJ0eTogew0KICAgICAgICAgICAgICAgIHdyaXRhYmxlOiBmdW5jKDEsIHRydWUsICJhIikNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQoNCiAgICAgICAgb2JqLnByb3BlcnR5ID0gImlzV3JpdGFibGUiOw0KDQogICAgICAgIHJldHVybiBvYmoucHJvcGVydHkgPT09ICJpc1dyaXRhYmxlIjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - value of 'writable' property of 'descObj' is the Argument object (8.10.5 step 6.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-186.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy01LWItMTg4LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSB2YWx1ZSBvZiAnd3JpdGFibGUnIHByb3BlcnR5IG9mICdkZXNjT2JqJyBpcyB0aGUgZ2xvYmFsIG9iamVjdCAoOC4xMC41IHN0ZXAgNi5iKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIHsNCiAgICAgICAgICAgIHByb3BlcnR5OiB7DQogICAgICAgICAgICAgICAgd3JpdGFibGU6IGZuR2xvYmFsT2JqZWN0KCkNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQoNCiAgICAgICAgb2JqLnByb3BlcnR5ID0gImlzV3JpdGFibGUiOw0KDQogICAgICAgIHJldHVybiBvYmoucHJvcGVydHkgPT09ICJpc1dyaXRhYmxlIjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - value of 'writable' property of 'descObj' is the global object (8.10.5 step 6.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-188.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy01LWItMTg5LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSB2YWx1ZSBvZiAnd3JpdGFibGUnIHByb3BlcnR5IG9mICdkZXNjT2JqJyBpcyBhIHN0cmluZyAodmFsdWUgaXMgJ2ZhbHNlJykgd2hpY2ggaXMgdHJlYXRlZCBhcyB0cnVlIHZhbHVlICg4LjEwLjUgc3RlcCA2LmIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgew0KICAgICAgICAgICAgcHJvcGVydHk6IHsNCiAgICAgICAgICAgICAgICB3cml0YWJsZTogImZhbHNlIg0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCg0KICAgICAgICBvYmoucHJvcGVydHkgPSAiaXNXcml0YWJsZSI7DQoNCiAgICAgICAgcmV0dXJuIG9iai5wcm9wZXJ0eSA9PT0gImlzV3JpdGFibGUiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - value of 'writable' property of 'descObj' is a string (value is 'false') which is treated as true value (8.10.5 step 6.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-189.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy01LWItMTkuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydGllcyAtICdkZXNjT2JqJyBpcyBhIEZ1bmN0aW9uIG9iamVjdCB3aGljaCBpbXBsZW1lbnRzIGl0cyBvd24gW1tHZXRdXSBtZXRob2QgdG8gZ2V0ICdlbnVtZXJhYmxlJyBwcm9wZXJ0eSAoOC4xMC41IHN0ZXAgMy5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICB2YXIgZGVzY09iaiA9IGZ1bmN0aW9uICgpIHsgfTsNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQoNCiAgICAgICAgZGVzY09iai5lbnVtZXJhYmxlID0gdHJ1ZTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIHsNCiAgICAgICAgICAgIHByb3A6IGRlc2NPYmoNCiAgICAgICAgfSk7DQogICAgICAgIGZvciAodmFyIHByb3BlcnR5IGluIG9iaikgew0KICAgICAgICAgICAgaWYgKHByb3BlcnR5ID09PSAicHJvcCIpIHsNCiAgICAgICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCiAgICAgICAgcmV0dXJuIGFjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - 'descObj' is a Function object which implements its own [[Get]] method to get 'enumerable' property (8.10.5 step 3.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-19.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy01LWItMTkwLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSB2YWx1ZSBvZiAnd3JpdGFibGUnIHByb3BlcnR5IG9mICdkZXNjT2JqJyBpcyAgbmV3IEJvb2xlYW4oZmFsc2UpIHdoaWNoIGlzIHRyZWF0ZWQgYXMgdHJ1ZSB2YWx1ZSAoOC4xMC41IHN0ZXAgNi5iKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIHsNCiAgICAgICAgICAgIHByb3BlcnR5OiB7DQogICAgICAgICAgICAgICAgd3JpdGFibGU6IG5ldyBCb29sZWFuKGZhbHNlKQ0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCg0KICAgICAgICBvYmoucHJvcGVydHkgPSAiaXNXcml0YWJsZSI7DQoNCiAgICAgICAgcmV0dXJuIG9iai5wcm9wZXJ0eSA9PT0gImlzV3JpdGFibGUiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - value of 'writable' property of 'descObj' is new Boolean(false) which is treated as true value (8.10.5 step 6.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-190.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy01LWItMTkxLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnZ2V0JyBwcm9wZXJ0eSBvZiAnZGVzY09iaicgaXMgcHJlc2VudCAoOC4xMC41IHN0ZXAgNykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgdmFyIGdldHRlciA9IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgIHJldHVybiAicHJlc2VudCI7DQogICAgICAgIH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMob2JqLCB7DQogICAgICAgICAgICBwcm9wZXJ0eTogew0KICAgICAgICAgICAgICAgIGdldDogZ2V0dGVyDQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KDQogICAgICAgIHJldHVybiBvYmoucHJvcGVydHkgPT09ICJwcmVzZW50IjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - 'get' property of 'descObj' is present (8.10.5 step 7)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-191.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy01LWItMTkyLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnZ2V0JyBwcm9wZXJ0eSBvZiAnZGVzY09iaicgaXMgbm90IHByZXNlbnQgKDguMTAuNSBzdGVwIDcpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIHZhciBzZXR0ZXIgPSBmdW5jdGlvbiAoKSB7IH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMob2JqLCB7DQogICAgICAgICAgICBwcm9wZXJ0eTogew0KICAgICAgICAgICAgICAgIHNldDogc2V0dGVyDQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KDQogICAgICAgIHJldHVybiBvYmouaGFzT3duUHJvcGVydHkoInByb3BlcnR5IikgJiYgdHlwZW9mIChvYmoucHJvcGVydHkpID09PSAidW5kZWZpbmVkIjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - 'get' property of 'descObj' is not present (8.10.5 step 7)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-192.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy01LWItMTkzLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnZ2V0JyBwcm9wZXJ0eSBvZiAnZGVzY09iaicgaXMgb3duIGRhdGEgcHJvcGVydHkgKDguMTAuNSBzdGVwIDcuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgdmFyIGdldHRlciA9IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgIHJldHVybiAib3duRGF0YVByb3BlcnR5IjsNCiAgICAgICAgfTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIHsNCiAgICAgICAgICAgIHByb3BlcnR5OiB7DQogICAgICAgICAgICAgICAgZ2V0OiBnZXR0ZXINCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQoNCiAgICAgICAgcmV0dXJuIG9iai5wcm9wZXJ0eSA9PT0gIm93bkRhdGFQcm9wZXJ0eSI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - 'get' property of 'descObj' is own data property (8.10.5 step 7.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-193.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy01LWItMTk0LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnZ2V0JyBwcm9wZXJ0eSBvZiAnZGVzY09iaicgaXMgaW5oZXJpdGVkIGRhdGEgcHJvcGVydHkgKDguMTAuNSBzdGVwIDcuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgdmFyIGdldHRlciA9IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgIHJldHVybiAiaW5oZXJpdGVkRGF0YVByb3BlcnR5IjsNCiAgICAgICAgfTsNCg0KICAgICAgICB2YXIgcHJvdG8gPSB7DQogICAgICAgICAgICBnZXQ6IGdldHRlcg0KICAgICAgICB9Ow0KDQogICAgICAgIHZhciBDb24gPSBmdW5jdGlvbiAoKSB7IH07DQogICAgICAgIENvbi5wcm90b3R5cGUgPSBwcm90bzsNCg0KICAgICAgICB2YXIgZGVzY09iaiA9IG5ldyBDb24oKTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIHsNCiAgICAgICAgICAgIHByb3BlcnR5OiBkZXNjT2JqDQogICAgICAgIH0pOw0KDQogICAgICAgIHJldHVybiBvYmoucHJvcGVydHkgPT09ICJpbmhlcml0ZWREYXRhUHJvcGVydHkiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - 'get' property of 'descObj' is inherited data property (8.10.5 step 7.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-194.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy01LWItMTk1LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnZ2V0JyBwcm9wZXJ0eSBvZiAnZGVzY09iaicgaXMgb3duIGRhdGEgcHJvcGVydHkgdGhhdCBvdmVycmlkZXMgYW4gaW5oZXJpdGVkIGRhdGEgcHJvcGVydHkgKDguMTAuNSBzdGVwIDcuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgdmFyIGdldHRlciA9IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgIHJldHVybiAiaW5oZXJpdGVkRGF0YVByb3BlcnR5IjsNCiAgICAgICAgfTsNCg0KICAgICAgICB2YXIgcHJvdG8gPSB7DQogICAgICAgICAgICBnZXQ6IGdldHRlcg0KICAgICAgICB9Ow0KDQogICAgICAgIHZhciBDb24gPSBmdW5jdGlvbiAoKSB7IH07DQogICAgICAgIENvbi5wcm90b3R5cGUgPSBwcm90bzsNCg0KICAgICAgICB2YXIgZGVzY09iaiA9IG5ldyBDb24oKTsNCg0KICAgICAgICBkZXNjT2JqLmdldCA9IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgIHJldHVybiAib3duRGF0YVByb3BlcnR5IjsNCiAgICAgICAgfTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIHsNCiAgICAgICAgICAgIHByb3BlcnR5OiBkZXNjT2JqDQogICAgICAgIH0pOw0KDQogICAgICAgIHJldHVybiBvYmoucHJvcGVydHkgPT09ICJvd25EYXRhUHJvcGVydHkiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - 'get' property of 'descObj' is own data property that overrides an inherited data property (8.10.5 step 7.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-195.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy01LWItMTk2LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnZ2V0JyBwcm9wZXJ0eSBvZiAnZGVzY09iaicgaXMgb3duIGRhdGEgcHJvcGVydHkgdGhhdCBvdmVycmlkZXMgYW4gaW5oZXJpdGVkIGFjY2Vzc29yIHByb3BlcnR5ICg4LjEwLjUgc3RlcCA3LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIHZhciBwcm90byA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShwcm90bywgImdldCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgIHJldHVybiAiaW5oZXJpdGVkQWNjZXNzb3JQcm9wZXJ0eSI7DQogICAgICAgICAgICAgICAgfTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIENvbiA9IGZ1bmN0aW9uICgpIHsgfTsNCiAgICAgICAgQ29uLnByb3RvdHlwZSA9IHByb3RvOw0KDQogICAgICAgIHZhciBkZXNjT2JqID0gbmV3IENvbigpOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShkZXNjT2JqLCAiZ2V0Iiwgew0KICAgICAgICAgICAgdmFsdWU6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gIm93bkRhdGFQcm9wZXJ0eSI7DQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgew0KICAgICAgICAgICAgcHJvcGVydHk6IGRlc2NPYmoNCiAgICAgICAgfSk7DQoNCiAgICAgICAgcmV0dXJuIG9iai5wcm9wZXJ0eSA9PT0gIm93bkRhdGFQcm9wZXJ0eSI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - 'get' property of 'descObj' is own data property that overrides an inherited accessor property (8.10.5 step 7.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-196.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy01LWItMTk3LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnZ2V0JyBwcm9wZXJ0eSBvZiAnZGVzY09iaicgaXMgb3duIGFjY2Vzc29yIHByb3BlcnR5ICg4LjEwLjUgc3RlcCA3LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIHZhciBkZXNjT2JqID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGRlc2NPYmosICJnZXQiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gIm93bkFjY2Vzc29yUHJvcGVydHkiOw0KICAgICAgICAgICAgICAgIH07DQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgew0KICAgICAgICAgICAgcHJvcGVydHk6IGRlc2NPYmoNCiAgICAgICAgfSk7DQoNCiAgICAgICAgcmV0dXJuIG9iai5wcm9wZXJ0eSA9PT0gIm93bkFjY2Vzc29yUHJvcGVydHkiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - 'get' property of 'descObj' is own accessor property (8.10.5 step 7.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-197.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy01LWItMTk4LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnZ2V0JyBwcm9wZXJ0eSBvZiAnZGVzY09iaicgaXMgaW5oZXJpdGVkIGFjY2Vzc29yIHByb3BlcnR5ICg4LjEwLjUgc3RlcCA3LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIHZhciBwcm90byA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShwcm90bywgImdldCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgIHJldHVybiAiaW5oZXJpdGVkQWNjZXNzb3JQcm9wZXJ0eSI7DQogICAgICAgICAgICAgICAgfTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIENvbiA9IGZ1bmN0aW9uICgpIHsgfTsNCiAgICAgICAgQ29uLnByb3RvdHlwZSA9IHByb3RvOw0KDQogICAgICAgIHZhciBkZXNjT2JqID0gbmV3IENvbigpOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgew0KICAgICAgICAgICAgcHJvcGVydHk6IGRlc2NPYmoNCiAgICAgICAgfSk7DQoNCiAgICAgICAgcmV0dXJuIG9iai5wcm9wZXJ0eSA9PT0gImluaGVyaXRlZEFjY2Vzc29yUHJvcGVydHkiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - 'get' property of 'descObj' is inherited accessor property (8.10.5 step 7.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-198.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy01LWItMTk5LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnZ2V0JyBwcm9wZXJ0eSBvZiAnZGVzY09iaicgaXMgb3duIGFjY2Vzc29yIHByb3BlcnR5IHRoYXQgb3ZlcnJpZGVzIGFuIGluaGVyaXRlZCBkYXRhIHByb3BlcnR5ICg4LjEwLjUgc3RlcCA3LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIHZhciBwcm90byA9IHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiAiaW5oZXJpdGVkRGF0YVByb3BlcnR5IjsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfTsNCg0KICAgICAgICB2YXIgQ29uID0gZnVuY3Rpb24gKCkgeyB9Ow0KICAgICAgICBDb24ucHJvdG90eXBlID0gcHJvdG87DQoNCiAgICAgICAgdmFyIGRlc2NPYmogPSBuZXcgQ29uKCk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGRlc2NPYmosICJnZXQiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gIm93bkFjY2Vzc29yUHJvcGVydHkiOw0KICAgICAgICAgICAgICAgIH07DQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgew0KICAgICAgICAgICAgcHJvcGVydHk6IGRlc2NPYmoNCiAgICAgICAgfSk7DQoNCiAgICAgICAgcmV0dXJuIG9iai5wcm9wZXJ0eSA9PT0gIm93bkFjY2Vzc29yUHJvcGVydHkiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - 'get' property of 'descObj' is own accessor property that overrides an inherited data property (8.10.5 step 7.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-199.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy01LWItMi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ2Rlc2NPYmonIGlzIG51bGwgKDguMTAuNSBzdGVwIDEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICANCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgew0KICAgICAgICAgICAgICAgIHByb3A6IG51bGwNCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFR5cGVFcnJvciAmJiAhb2JqLmhhc093blByb3BlcnR5KCJwcm9wIik7IDsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - 'descObj' is null (8.10.5 step 1)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy01LWItMjAuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydGllcyAtICdkZXNjT2JqJyBpcyBhbiBBcnJheSBvYmplY3Qgd2hpY2ggaW1wbGVtZW50cyBpdHMgb3duIFtbR2V0XV0gbWV0aG9kIHRvIGdldCAnZW51bWVyYWJsZScgcHJvcGVydHkgKDguMTAuNSBzdGVwIDMuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQogICAgICAgIHZhciBkZXNjT2JqID0gW107DQoNCiAgICAgICAgZGVzY09iai5lbnVtZXJhYmxlID0gdHJ1ZTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIHsNCiAgICAgICAgICAgIHByb3A6IGRlc2NPYmoNCiAgICAgICAgfSk7DQogICAgICAgIGZvciAodmFyIHByb3BlcnR5IGluIG9iaikgew0KICAgICAgICAgICAgaWYgKHByb3BlcnR5ID09PSAicHJvcCIpIHsNCiAgICAgICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCiAgICAgICAgcmV0dXJuIGFjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - 'descObj' is an Array object which implements its own [[Get]] method to get 'enumerable' property (8.10.5 step 3.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-20.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy01LWItMjAwLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnZ2V0JyBwcm9wZXJ0eSBvZiAnZGVzY09iaicgaXMgb3duIGFjY2Vzc29yIHByb3BlcnR5IHRoYXQgb3ZlcnJpZGVzIGFuIGluaGVyaXRlZCBhY2Nlc3NvciBwcm9wZXJ0eSAoOC4xMC41IHN0ZXAgNy5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICB2YXIgcHJvdG8gPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkocHJvdG8sICJnZXQiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gImluaGVyaXRlZEFjY2Vzc29yUHJvcGVydHkiOw0KICAgICAgICAgICAgICAgIH07DQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBDb24gPSBmdW5jdGlvbiAoKSB7IH07DQogICAgICAgIENvbi5wcm90b3R5cGUgPSBwcm90bzsNCg0KICAgICAgICB2YXIgZGVzY09iaiA9IG5ldyBDb24oKTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoZGVzY09iaiwgImdldCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgIHJldHVybiAib3duQWNjZXNzb3JQcm9wZXJ0eSI7DQogICAgICAgICAgICAgICAgfTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMob2JqLCB7DQogICAgICAgICAgICBwcm9wZXJ0eTogZGVzY09iag0KICAgICAgICB9KTsNCg0KICAgICAgICByZXR1cm4gb2JqLnByb3BlcnR5ID09PSAib3duQWNjZXNzb3JQcm9wZXJ0eSI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - 'get' property of 'descObj' is own accessor property that overrides an inherited accessor property (8.10.5 step 7.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-200.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy01LWItMjAxLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnZ2V0JyBwcm9wZXJ0eSBvZiAnZGVzY09iaicgaXMgb3duIGFjY2Vzc29yIHByb3BlcnR5IHdpdGhvdXQgYSBnZXQgZnVuY3Rpb24gKDguMTAuNSBzdGVwIDcuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgdmFyIGRlc2NPYmogPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoZGVzY09iaiwgImdldCIsIHsNCiAgICAgICAgICAgIHNldDogZnVuY3Rpb24gKCkgeyB9DQogICAgICAgIH0pOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgew0KICAgICAgICAgICAgcHJvcGVydHk6IGRlc2NPYmoNCiAgICAgICAgfSk7DQoNCiAgICAgICAgcmV0dXJuIHR5cGVvZiAob2JqLnByb3BlcnR5KSA9PT0gInVuZGVmaW5lZCI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - 'get' property of 'descObj' is own accessor property without a get function (8.10.5 step 7.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-201.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy01LWItMjAyLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnZ2V0JyBwcm9wZXJ0eSBvZiAnZGVzY09iaicgaXMgb3duIGFjY2Vzc29yIHByb3BlcnR5IHdpdGhvdXQgYSBnZXQgZnVuY3Rpb24gdGhhdCBvdmVycmlkZXMgYW4gaW5oZXJpdGVkIGFjY2Vzc29yIHByb3BlcnR5ICg4LjEwLjUgc3RlcCA3LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIHZhciBwcm90byA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShwcm90bywgImdldCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgIHJldHVybiAiaW5oZXJpdGVkQWNjZXNzb3JQcm9wZXJ0eSI7DQogICAgICAgICAgICAgICAgfTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIENvbiA9IGZ1bmN0aW9uICgpIHsgfTsNCiAgICAgICAgQ29uLnByb3RvdHlwZSA9IHByb3RvOw0KDQogICAgICAgIHZhciBkZXNjT2JqID0gbmV3IENvbigpOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShkZXNjT2JqLCAiZ2V0Iiwgew0KICAgICAgICAgICAgc2V0OiBmdW5jdGlvbiAoKSB7IH0NCiAgICAgICAgfSk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMob2JqLCB7DQogICAgICAgICAgICBwcm9wZXJ0eTogZGVzY09iag0KICAgICAgICB9KTsNCg0KICAgICAgICByZXR1cm4gdHlwZW9mIChvYmoucHJvcGVydHkpID09PSAidW5kZWZpbmVkIjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - 'get' property of 'descObj' is own accessor property without a get function that overrides an inherited accessor property (8.10.5 step 7.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-202.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy01LWItMjAzLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnZ2V0JyBwcm9wZXJ0eSBvZiAnZGVzY09iaicgaXMgaW5oZXJpdGVkIGFjY2Vzc29yIHByb3BlcnR5IHdpdGhvdXQgYSBnZXQgZnVuY3Rpb24gKDguMTAuNSBzdGVwIDcuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgdmFyIHByb3RvID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHByb3RvLCAiZ2V0Iiwgew0KICAgICAgICAgICAgc2V0OiBmdW5jdGlvbiAoKSB7IH0NCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIENvbiA9IGZ1bmN0aW9uICgpIHsgfTsNCiAgICAgICAgQ29uLnByb3RvdHlwZSA9IHByb3RvOw0KDQogICAgICAgIHZhciBkZXNjT2JqID0gbmV3IENvbigpOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgew0KICAgICAgICAgICAgcHJvcGVydHk6IGRlc2NPYmoNCiAgICAgICAgfSk7DQoNCiAgICAgICAgcmV0dXJuIHR5cGVvZiAob2JqLnByb3BlcnR5KSA9PT0gInVuZGVmaW5lZCI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - 'get' property of 'descObj' is inherited accessor property without a get function (8.10.5 step 7.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-203.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy01LWItMjA0LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnZGVzY09iaicgaXMgYSBGdW5jdGlvbiBvYmplY3Qgd2hpY2ggaW1wbGVtZW50cyBpdHMgb3duIFtbR2V0XV0gbWV0aG9kIHRvIGdldCAnZ2V0JyBwcm9wZXJ0eSAoOC4xMC41IHN0ZXAgNy5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICB2YXIgZnVuYyA9IGZ1bmN0aW9uIChhLCBiKSB7DQogICAgICAgICAgICByZXR1cm4gYSArIGI7DQogICAgICAgIH07DQoNCiAgICAgICAgZnVuYy5nZXQgPSBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICByZXR1cm4gIkZ1bmN0aW9uIjsNCiAgICAgICAgfTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIHsNCiAgICAgICAgICAgIHByb3BlcnR5OiBmdW5jDQogICAgICAgIH0pOw0KDQogICAgICAgIHJldHVybiBvYmoucHJvcGVydHkgPT09ICJGdW5jdGlvbiI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - 'descObj' is a Function object which implements its own [[Get]] method to get 'get' property (8.10.5 step 7.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-204.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy01LWItMjA1LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnZGVzY09iaicgaXMgYW4gQXJyYXkgb2JqZWN0IHdoaWNoIGltcGxlbWVudHMgaXRzIG93biBbW0dldF1dIG1ldGhvZCB0byBnZXQgJ2dldCcgcHJvcGVydHkgKDguMTAuNSBzdGVwIDcuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgdmFyIGFyciA9IFtdOw0KDQogICAgICAgIGFyci5nZXQgPSBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICByZXR1cm4gIkFycmF5IjsNCiAgICAgICAgfTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIHsNCiAgICAgICAgICAgIHByb3BlcnR5OiBhcnINCiAgICAgICAgfSk7DQoNCiAgICAgICAgcmV0dXJuIG9iai5wcm9wZXJ0eSA9PT0gIkFycmF5IjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - 'descObj' is an Array object which implements its own [[Get]] method to get 'get' property (8.10.5 step 7.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-205.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy01LWItMjA2LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnZGVzY09iaicgaXMgYSBTdHJpbmcgb2JqZWN0IHdoaWNoIGltcGxlbWVudHMgaXRzIG93biBbW0dldF1dIG1ldGhvZCB0byBnZXQgJ2dldCcgcHJvcGVydHkgKDguMTAuNSBzdGVwIDcuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgdmFyIHN0ciA9IG5ldyBTdHJpbmcoImFiYyIpOw0KDQogICAgICAgIHN0ci5nZXQgPSBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICByZXR1cm4gInN0cmluZyBPYmplY3QiOw0KICAgICAgICB9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgew0KICAgICAgICAgICAgcHJvcGVydHk6IHN0cg0KICAgICAgICB9KTsNCg0KICAgICAgICByZXR1cm4gb2JqLnByb3BlcnR5ID09PSAic3RyaW5nIE9iamVjdCI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - 'descObj' is a String object which implements its own [[Get]] method to get 'get' property (8.10.5 step 7.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-206.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy01LWItMjA3LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnZGVzY09iaicgaXMgYSBCb29sZWFuIG9iamVjdCB3aGljaCBpbXBsZW1lbnRzIGl0cyBvd24gW1tHZXRdXSBtZXRob2QgdG8gZ2V0ICdnZXQnIHByb3BlcnR5ICg4LjEwLjUgc3RlcCA3LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIHZhciBkZXNjT2JqID0gbmV3IEJvb2xlYW4oZmFsc2UpOw0KDQogICAgICAgIGRlc2NPYmouZ2V0ID0gZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgcmV0dXJuICJCb29sZWFuIjsNCiAgICAgICAgfTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIHsNCiAgICAgICAgICAgIHByb3BlcnR5OiBkZXNjT2JqDQogICAgICAgIH0pOw0KDQogICAgICAgIHJldHVybiBvYmoucHJvcGVydHkgPT09ICJCb29sZWFuIjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - 'descObj' is a Boolean object which implements its own [[Get]] method to get 'get' property (8.10.5 step 7.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-207.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy01LWItMjA4LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnZGVzY09iaicgaXMgYSBOdW1iZXIgb2JqZWN0IHdoaWNoIGltcGxlbWVudHMgaXRzIG93biBbW0dldF1dIG1ldGhvZCB0byBnZXQgJ2dldCcgcHJvcGVydHkgKDguMTAuNSBzdGVwIDcuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgdmFyIGRlc2NPYmogPSBuZXcgTnVtYmVyKC05KTsNCg0KICAgICAgICBkZXNjT2JqLmdldCA9IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgIHJldHVybiAiTnVtYmVyIjsNCiAgICAgICAgfTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIHsNCiAgICAgICAgICAgIHByb3BlcnR5OiBkZXNjT2JqDQogICAgICAgIH0pOw0KDQogICAgICAgIHJldHVybiBvYmoucHJvcGVydHkgPT09ICJOdW1iZXIiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - 'descObj' is a Number object which implements its own [[Get]] method to get 'get' property (8.10.5 step 7.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-208.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy01LWItMjA5LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnZGVzY09iaicgaXMgdGhlIE1hdGggb2JqZWN0IHdoaWNoIGltcGxlbWVudHMgaXRzIG93biBbW0dldF1dIG1ldGhvZCB0byBnZXQgJ2dldCcgcHJvcGVydHkgKDguMTAuNSBzdGVwIDcuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgTWF0aC5nZXQgPSBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuICJNYXRoIjsNCiAgICAgICAgICAgIH07DQoNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgew0KICAgICAgICAgICAgICAgIHByb3BlcnR5OiBNYXRoDQogICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgcmV0dXJuIG9iai5wcm9wZXJ0eSA9PT0gIk1hdGgiOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIE1hdGguZ2V0Ow0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - 'descObj' is the Math object which implements its own [[Get]] method to get 'get' property (8.10.5 step 7.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-209.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy01LWItMjEuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydGllcyAtICdkZXNjT2JqJyBpcyBhIFN0cmluZyBvYmplY3Qgd2hpY2ggaW1wbGVtZW50cyBpdHMgb3duIFtbR2V0XV0gbWV0aG9kIHRvIGdldCAnZW51bWVyYWJsZScgcHJvcGVydHkgKDguMTAuNSBzdGVwIDMuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgdmFyIGRlc2NPYmogPSBuZXcgU3RyaW5nKCk7DQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KICAgICAgICBkZXNjT2JqLmVudW1lcmFibGUgPSB0cnVlOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgew0KICAgICAgICAgICAgcHJvcDogZGVzY09iag0KICAgICAgICB9KTsNCiAgICAgICAgZm9yICh2YXIgcHJvcGVydHkgaW4gb2JqKSB7DQogICAgICAgICAgICBpZiAocHJvcGVydHkgPT09ICJwcm9wIikgew0KICAgICAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KICAgICAgICByZXR1cm4gYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - 'descObj' is a String object which implements its own [[Get]] method to get 'enumerable' property (8.10.5 step 3.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-21.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy01LWItMjEwLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnZGVzY09iaicgaXMgYSBEYXRlIG9iamVjdCB3aGljaCBpbXBsZW1lbnRzIGl0cyBvd24gW1tHZXRdXSBtZXRob2QgdG8gZ2V0ICdnZXQnIHByb3BlcnR5ICg4LjEwLjUgc3RlcCA3LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIHZhciBkZXNjT2JqID0gbmV3IERhdGUoKTsNCg0KICAgICAgICBkZXNjT2JqLmdldCA9IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgIHJldHVybiAiRGF0ZSI7DQogICAgICAgIH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMob2JqLCB7DQogICAgICAgICAgICBwcm9wZXJ0eTogZGVzY09iag0KICAgICAgICB9KTsNCg0KICAgICAgICByZXR1cm4gb2JqLnByb3BlcnR5ID09PSAiRGF0ZSI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - 'descObj' is a Date object which implements its own [[Get]] method to get 'get' property (8.10.5 step 7.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-210.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy01LWItMjExLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnZGVzY09iaicgaXMgYSBSZWdFeHAgb2JqZWN0IHdoaWNoIGltcGxlbWVudHMgaXRzIG93biBbW0dldF1dIG1ldGhvZCB0byBnZXQgJ2dldCcgcHJvcGVydHkgKDguMTAuNSBzdGVwIDcuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgdmFyIGRlc2NPYmogPSBuZXcgUmVnRXhwKCk7DQoNCiAgICAgICAgZGVzY09iai5nZXQgPSBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICByZXR1cm4gIlJlZ0V4cCI7DQogICAgICAgIH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMob2JqLCB7DQogICAgICAgICAgICBwcm9wZXJ0eTogZGVzY09iag0KICAgICAgICB9KTsNCg0KICAgICAgICByZXR1cm4gb2JqLnByb3BlcnR5ID09PSAiUmVnRXhwIjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - 'descObj' is a RegExp object which implements its own [[Get]] method to get 'get' property (8.10.5 step 7.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-211.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy01LWItMjEyLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnZGVzY09iaicgaXMgdGhlIEpTT04gb2JqZWN0IHdoaWNoIGltcGxlbWVudHMgaXRzIG93biBbW0dldF1dIG1ldGhvZCB0byBnZXQgJ2dldCcgcHJvcGVydHkgKDguMTAuNSBzdGVwIDcuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgSlNPTi5nZXQgPSBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuICJKU09OIjsNCiAgICAgICAgICAgIH07DQoNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgew0KICAgICAgICAgICAgICAgIHByb3BlcnR5OiBKU09ODQogICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgcmV0dXJuIG9iai5wcm9wZXJ0eSA9PT0gIkpTT04iOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIEpTT04uZ2V0Ow0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - 'descObj' is the JSON object which implements its own [[Get]] method to get 'get' property (8.10.5 step 7.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-212.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy01LWItMjEzLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnZGVzY09iaicgaXMgYW4gRXJyb3Igb2JqZWN0IHdoaWNoIGltcGxlbWVudHMgaXRzIG93biBbW0dldF1dIG1ldGhvZCB0byBnZXQgJ2dldCcgcHJvcGVydHkgKDguMTAuNSBzdGVwIDcuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgdmFyIGRlc2NPYmogPSBuZXcgRXJyb3IoKTsNCg0KICAgICAgICBkZXNjT2JqLmdldCA9IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgIHJldHVybiAiRXJyb3IiOw0KICAgICAgICB9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgew0KICAgICAgICAgICAgcHJvcGVydHk6IGRlc2NPYmoNCiAgICAgICAgfSk7DQoNCiAgICAgICAgcmV0dXJuIG9iai5wcm9wZXJ0eSA9PT0gIkVycm9yIjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - 'descObj' is an Error object which implements its own [[Get]] method to get 'get' property (8.10.5 step 7.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-213.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy01LWItMjE0LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnZGVzY09iaicgaXMgdGhlIEFyZ3VtZW50cyBvYmplY3Qgd2hpY2ggaW1wbGVtZW50cyBpdHMgb3duIFtbR2V0XV0gbWV0aG9kIHRvIGdldCAnZ2V0JyBwcm9wZXJ0eSAoOC4xMC41IHN0ZXAgNy5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICB2YXIgZnVuYyA9IGZ1bmN0aW9uIChhLCBiKSB7DQogICAgICAgICAgICBhcmd1bWVudHMuZ2V0ID0gZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiAiYXJndW1lbnRzIjsNCiAgICAgICAgICAgIH07DQoNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgew0KICAgICAgICAgICAgICAgIHByb3BlcnR5OiBhcmd1bWVudHMNCiAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICByZXR1cm4gb2JqLnByb3BlcnR5ID09PSAiYXJndW1lbnRzIjsNCiAgICAgICAgfTsNCg0KICAgICAgICByZXR1cm4gZnVuYygpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - 'descObj' is the Arguments object which implements its own [[Get]] method to get 'get' property (8.10.5 step 7.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-214.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy01LWItMjE2LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnZGVzY09iaicgaXMgdGhlIGdsb2JhbCBvYmplY3Qgd2hpY2ggaW1wbGVtZW50cyBpdHMgb3duIFtbR2V0XV0gbWV0aG9kIHRvIGdldCAnZ2V0JyBwcm9wZXJ0eSAoOC4xMC41IHN0ZXAgNy5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBmbkdsb2JhbE9iamVjdCgpLmdldCA9IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gImdsb2JhbCI7DQogICAgICAgICAgICB9Ow0KDQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIHsNCiAgICAgICAgICAgICAgICBwcm9wZXJ0eTogZm5HbG9iYWxPYmplY3QoKQ0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgIHJldHVybiBvYmoucHJvcGVydHkgPT09ICJnbG9iYWwiOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIGZuR2xvYmFsT2JqZWN0KCkuZ2V0Ow0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - 'descObj' is the global object which implements its own [[Get]] method to get 'get' property (8.10.5 step 7.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-216.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy01LWItMjE3LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSB2YWx1ZSBvZiAnZ2V0JyBwcm9wZXJ0eSBvZiAnZGVzY09iaicgaXMgdW5kZWZpbmVkICg4LjEwLjUgc3RlcCA3LmIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgew0KICAgICAgICAgICAgcHJvcGVydHk6IHsNCiAgICAgICAgICAgICAgICBnZXQ6IHVuZGVmaW5lZA0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCg0KICAgICAgICByZXR1cm4gb2JqLmhhc093blByb3BlcnR5KCJwcm9wZXJ0eSIpICYmIHR5cGVvZiBvYmoucHJvcGVydHkgPT09ICJ1bmRlZmluZWQiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - value of 'get' property of 'descObj' is undefined (8.10.5 step 7.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-217.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy01LWItMjE4LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSB2YWx1ZSBvZiAnZ2V0JyBwcm9wZXJ0eSBvZiAnZGVzY09iaicgaXMgcHJpbWl0aXZlIHZhbHVlcyggdmFsdWUgaXMgbnVsbCkgKDguMTAuNSBzdGVwIDcuYikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgew0KICAgICAgICAgICAgICAgIHByb3BlcnR5OiB7DQogICAgICAgICAgICAgICAgICAgIGdldDogbnVsbA0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiAoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcik7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - value of 'get' property of 'descObj' is primitive values( value is null) (8.10.5 step 7.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-218.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy01LWItMjE5LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSB2YWx1ZSBvZiAnZ2V0JyBwcm9wZXJ0eSBvZiAnZGVzY09iaicgaXMgcHJpbWl0aXZlIHZhbHVlcyggdmFsdWUgaXMgYm9vbGVhbikgKDguMTAuNSBzdGVwIDcuYikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgew0KICAgICAgICAgICAgICAgIHByb3BlcnR5OiB7DQogICAgICAgICAgICAgICAgICAgIGdldDogZmFsc2UNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - value of 'get' property of 'descObj' is primitive values( value is boolean) (8.10.5 step 7.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-219.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy01LWItMjIuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydGllcyAtICdkZXNjT2JqJyBpcyBhIEJvb2xlYW4gb2JqZWN0IHdoaWNoIGltcGxlbWVudHMgaXRzIG93biBbW0dldF1dIG1ldGhvZCB0byBnZXQgJ2VudW1lcmFibGUnIHByb3BlcnR5ICg4LjEwLjUgc3RlcCAzLmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIHZhciBkZXNjT2JqID0gbmV3IEJvb2xlYW4oZmFsc2UpOw0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICBkZXNjT2JqLmVudW1lcmFibGUgPSB0cnVlOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgew0KICAgICAgICAgICAgcHJvcDogZGVzY09iag0KICAgICAgICB9KTsNCiAgICAgICAgZm9yICh2YXIgcHJvcGVydHkgaW4gb2JqKSB7DQogICAgICAgICAgICBpZiAocHJvcGVydHkgPT09ICJwcm9wIikgew0KICAgICAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KICAgICAgICByZXR1cm4gYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - 'descObj' is a Boolean object which implements its own [[Get]] method to get 'enumerable' property (8.10.5 step 3.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-22.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy01LWItMjIwLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSB2YWx1ZSBvZiAnZ2V0JyBwcm9wZXJ0eSBvZiAnZGVzY09iaicgaXMgcHJpbWl0aXZlIHZhbHVlcyggdmFsdWUgaXMgbnVtYmVyKSAoOC4xMC41IHN0ZXAgNy5iKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMob2JqLCB7DQogICAgICAgICAgICAgICAgcHJvcGVydHk6IHsNCiAgICAgICAgICAgICAgICAgICAgZ2V0OiAxMjMNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - value of 'get' property of 'descObj' is primitive values( value is number) (8.10.5 step 7.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-220.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy01LWItMjIxLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSB2YWx1ZSBvZiAnZ2V0JyBwcm9wZXJ0eSBvZiAnZGVzY09iaicgaXMgcHJpbWl0aXZlIHZhbHVlcyggdmFsdWUgaXMgc3RyaW5nKSAoOC4xMC41IHN0ZXAgNy5iKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMob2JqLCB7DQogICAgICAgICAgICAgICAgcHJvcGVydHk6IHsNCiAgICAgICAgICAgICAgICAgICAgZ2V0OiAic3RyaW5nIg0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiAoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcik7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - value of 'get' property of 'descObj' is primitive values( value is string) (8.10.5 step 7.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-221.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy01LWItMjIyLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSB2YWx1ZSBvZiAnZ2V0JyBwcm9wZXJ0eSBvZiAnZGVzY09iaicgaXMgYXBwbGllZCB0byBBcnJheSBvYmplY3QgKDguMTAuNSBzdGVwIDcuYikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgew0KICAgICAgICAgICAgICAgIHByb3BlcnR5OiB7DQogICAgICAgICAgICAgICAgICAgIGdldDogW10NCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - value of 'get' property of 'descObj' is applied to Array object (8.10.5 step 7.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-222.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy01LWItMjIzLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSB2YWx1ZSBvZiAnZ2V0JyBwcm9wZXJ0eSBvZiAnZGVzY09iaicgaXMgYSBmdW5jdGlvbiAoOC4xMC41IHN0ZXAgNy5iKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICB2YXIgZ2V0dGVyID0gZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgcmV0dXJuIDEwMDsNCiAgICAgICAgfTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIHsNCiAgICAgICAgICAgIHByb3BlcnR5OiB7DQogICAgICAgICAgICAgICAgZ2V0OiBnZXR0ZXINCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQoNCiAgICAgICAgcmV0dXJuIG9iai5wcm9wZXJ0eSA9PT0gMTAwOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - value of 'get' property of 'descObj' is a function (8.10.5 step 7.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-223.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy01LWItMjI2LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnc2V0JyBwcm9wZXJ0eSBvZiAnZGVzY09iaicgaXMgcHJlc2VudCAoOC4xMC41IHN0ZXAgOCkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgZGF0YSA9ICJkYXRhIjsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgew0KICAgICAgICAgICAgInByb3AiOiB7DQogICAgICAgICAgICAgICAgc2V0OiBmdW5jdGlvbiAodmFsdWUpIHsNCiAgICAgICAgICAgICAgICAgICAgZGF0YSA9IHZhbHVlOw0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQoNCiAgICAgICAgb2JqLnByb3AgPSAib3ZlcnJpZGVEYXRhIjsNCg0KICAgICAgICByZXR1cm4gb2JqLmhhc093blByb3BlcnR5KCJwcm9wIikgJiYgZGF0YSA9PT0gIm92ZXJyaWRlRGF0YSI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - 'set' property of 'descObj' is present (8.10.5 step 8)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-226.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy01LWItMjI3LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnc2V0JyBwcm9wZXJ0eSBvZiAnZGVzY09iaicgaXMgbm90IHByZXNlbnQgKDguMTAuNSBzdGVwIDgpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIGRhdGEgPSAiZGF0YSI7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMob2JqLCB7DQogICAgICAgICAgICAgICAgZGVzY09iajogew0KICAgICAgICAgICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBkYXRhOw0KICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfSk7DQoNCg0KICAgICAgICAgICAgb2JqLmRlc2NPYmogPSAib3ZlcnJpZGVEYXRhIjsNCg0KICAgICAgICAgICAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgImRlc2NPYmoiKTsNCiAgICAgICAgICAgIHJldHVybiBvYmouaGFzT3duUHJvcGVydHkoImRlc2NPYmoiKSAmJiB0eXBlb2YgKGRlc2Muc2V0KSA9PT0gInVuZGVmaW5lZCIgJiYgZGF0YSA9PT0gImRhdGEiOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0NCg0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - 'set' property of 'descObj' is not present (8.10.5 step 8)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-227.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy01LWItMjI4LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnc2V0JyBwcm9wZXJ0eSBvZiAnZGVzY09iaicgaXMgb3duIGRhdGEgcHJvcGVydHkgKDguMTAuNSBzdGVwIDguYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgZGF0YSA9ICJkYXRhIjsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgew0KICAgICAgICAgICAgZGVzY09iajogew0KICAgICAgICAgICAgICAgIHNldDogZnVuY3Rpb24gKHZhbHVlKSB7DQogICAgICAgICAgICAgICAgICAgIGRhdGEgPSB2YWx1ZTsNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KDQogICAgICAgIG9iai5kZXNjT2JqID0gIm92ZXJyaWRlRGF0YSI7DQoNCiAgICAgICAgcmV0dXJuIG9iai5oYXNPd25Qcm9wZXJ0eSgiZGVzY09iaiIpICYmIGRhdGEgPT09ICJvdmVycmlkZURhdGEiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - 'set' property of 'descObj' is own data property (8.10.5 step 8.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-228.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy01LWItMjI5LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnc2V0JyBwcm9wZXJ0eSBvZiAnZGVzY09iaicgaXMgaW5oZXJpdGVkIGRhdGEgcHJvcGVydHkgKDguMTAuNSBzdGVwIDguYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgZGF0YSA9ICJkYXRhIjsNCiAgICAgICAgdmFyIHByb3RvID0gew0KICAgICAgICAgICAgc2V0OiBmdW5jdGlvbiAodmFsdWUpIHsNCiAgICAgICAgICAgICAgICBkYXRhID0gdmFsdWU7DQogICAgICAgICAgICB9DQogICAgICAgIH07DQoNCiAgICAgICAgdmFyIENvbiA9IGZ1bmN0aW9uICgpIHsgfTsNCiAgICAgICAgQ29uLnByb3RvdHlwZSA9IHByb3RvOw0KDQogICAgICAgIHZhciBjaGlsZCA9IG5ldyBDb24oKTsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgew0KICAgICAgICAgICAgcHJvcDogY2hpbGQNCiAgICAgICAgfSk7DQoNCiAgICAgICAgb2JqLnByb3AgPSAib3ZlcnJpZGVEYXRhIjsNCg0KICAgICAgICByZXR1cm4gb2JqLmhhc093blByb3BlcnR5KCJwcm9wIikgJiYgZGF0YSA9PT0gIm92ZXJyaWRlRGF0YSI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - 'set' property of 'descObj' is inherited data property (8.10.5 step 8.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-229.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy01LWItMjMuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydGllcyAtICdkZXNjT2JqJyBpcyBhIE51bWJlciBvYmplY3Qgd2hpY2ggaW1wbGVtZW50cyBpdHMgb3duIFtbR2V0XV0gbWV0aG9kIHRvIGdldCAnZW51bWVyYWJsZScgcHJvcGVydHkgKDguMTAuNSBzdGVwIDMuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgdmFyIGRlc2NPYmogPSBuZXcgTnVtYmVyKC05KTsNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQoNCiAgICAgICAgZGVzY09iai5lbnVtZXJhYmxlID0gdHJ1ZTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIHsNCiAgICAgICAgICAgIHByb3A6IGRlc2NPYmoNCiAgICAgICAgfSk7DQogICAgICAgIGZvciAodmFyIHByb3BlcnR5IGluIG9iaikgew0KICAgICAgICAgICAgaWYgKHByb3BlcnR5ID09PSAicHJvcCIpIHsNCiAgICAgICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCiAgICAgICAgcmV0dXJuIGFjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - 'descObj' is a Number object which implements its own [[Get]] method to get 'enumerable' property (8.10.5 step 3.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-23.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy01LWItMjMwLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnc2V0JyBwcm9wZXJ0eSBvZiAnZGVzY09iaicgaXMgb3duIGRhdGEgcHJvcGVydHkgdGhhdCBvdmVycmlkZXMgYW4gaW5oZXJpdGVkIGRhdGEgcHJvcGVydHkgKDguMTAuNSBzdGVwIDguYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgZGF0YTEgPSAiZGF0YSI7DQogICAgICAgIHZhciBkYXRhMiA9ICJkYXRhIjsNCiAgICAgICAgdmFyIHByb3RvID0gew0KICAgICAgICAgICAgc2V0OiBmdW5jdGlvbiAodmFsdWUpIHsNCiAgICAgICAgICAgICAgICBkYXRhMiA9IHZhbHVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9Ow0KDQogICAgICAgIHZhciBDb24gPSBmdW5jdGlvbiAoKSB7IH07DQogICAgICAgIENvbi5wcm90b3R5cGUgPSBwcm90bzsNCg0KICAgICAgICB2YXIgY2hpbGQgPSBuZXcgQ29uKCk7DQogICAgICAgIGNoaWxkLnNldCA9IGZ1bmN0aW9uICh2YWx1ZSkgew0KICAgICAgICAgICAgZGF0YTEgPSB2YWx1ZTsNCiAgICAgICAgfTsNCg0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMob2JqLCB7DQogICAgICAgICAgICBwcm9wOiBjaGlsZA0KICAgICAgICB9KTsNCg0KICAgICAgICBvYmoucHJvcCA9ICJvdmVycmlkZURhdGEiOw0KDQogICAgICAgIHJldHVybiBvYmouaGFzT3duUHJvcGVydHkoInByb3AiKSAmJiBkYXRhMSA9PT0gIm92ZXJyaWRlRGF0YSIgJiYgZGF0YTIgPT09ICJkYXRhIjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - 'set' property of 'descObj' is own data property that overrides an inherited data property (8.10.5 step 8.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-230.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy01LWItMjMxLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnc2V0JyBwcm9wZXJ0eSBvZiAnZGVzY09iaicgaXMgb3duIGRhdGEgcHJvcGVydHkgdGhhdCBvdmVycmlkZXMgYW4gaW5oZXJpdGVkIGFjY2Vzc29yIHByb3BlcnR5ICg4LjEwLjUgc3RlcCA4LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIGRhdGExID0gImRhdGEiOw0KICAgICAgICB2YXIgZGF0YTIgPSAiZGF0YSI7DQogICAgICAgIHZhciBmdW4gPSBmdW5jdGlvbiAodmFsdWUpIHsNCiAgICAgICAgICAgIGRhdGEyID0gdmFsdWU7DQogICAgICAgIH07DQogICAgICAgIHZhciBwcm90byA9IHt9Ow0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkocHJvdG8sICJzZXQiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gZnVuOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIHNldDogZnVuY3Rpb24gKHZhbHVlKSB7DQogICAgICAgICAgICAgICAgZnVuID0gdmFsdWU7DQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBDb24gPSBmdW5jdGlvbiAoKSB7IH07DQogICAgICAgIENvbi5wcm90b3R5cGUgPSBwcm90bzsNCg0KICAgICAgICB2YXIgY2hpbGQgPSBuZXcgQ29uKCk7DQogICAgICAgIGNoaWxkLnNldCA9IGZ1bmN0aW9uICh2YWx1ZSkgew0KICAgICAgICAgICAgZGF0YTEgPSB2YWx1ZTsNCiAgICAgICAgfTsNCg0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMob2JqLCB7DQogICAgICAgICAgICBwcm9wOiBjaGlsZA0KICAgICAgICB9KTsNCg0KICAgICAgICBvYmoucHJvcCA9ICJvdmVycmlkZURhdGEiOw0KDQogICAgICAgIHJldHVybiBvYmouaGFzT3duUHJvcGVydHkoInByb3AiKSAmJiBkYXRhMSA9PT0gIm92ZXJyaWRlRGF0YSIgJiYgZGF0YTIgPT09ICJkYXRhIjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - 'set' property of 'descObj' is own data property that overrides an inherited accessor property (8.10.5 step 8.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-231.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy01LWItMjMyLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnc2V0JyBwcm9wZXJ0eSBvZiAnZGVzY09iaicgaXMgb3duIGFjY2Vzc29yIHByb3BlcnR5ICg4LjEwLjUgc3RlcCA4LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIGRhdGEgPSAiZGF0YSI7DQogICAgICAgIHZhciBzZXRGdW4gPSBmdW5jdGlvbiAodmFsdWUpIHsNCiAgICAgICAgICAgIGRhdGEgPSB2YWx1ZTsNCiAgICAgICAgfTsNCiAgICAgICAgdmFyIGRlc2NPYmogPSB7fTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGRlc2NPYmosICJzZXQiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gc2V0RnVuOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMob2JqLCB7DQogICAgICAgICAgICBwcm9wOiBkZXNjT2JqDQogICAgICAgIH0pOw0KDQogICAgICAgIG9iai5wcm9wID0gIm92ZXJyaWRlRGF0YSI7DQoNCiAgICAgICAgcmV0dXJuIG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpICYmIGRhdGEgPT09ICJvdmVycmlkZURhdGEiOw0KDQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - 'set' property of 'descObj' is own accessor property (8.10.5 step 8.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-232.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy01LWItMjMzLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnc2V0JyBwcm9wZXJ0eSBvZiAnZGVzY09iaicgaXMgaW5oZXJpdGVkIGFjY2Vzc29yIHByb3BlcnR5ICg4LjEwLjUgc3RlcCA4LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIGRhdGEgPSAiZGF0YSI7DQogICAgICAgIHZhciBzZXRGdW4gPSBmdW5jdGlvbiAodmFsdWUpIHsNCiAgICAgICAgICAgIGRhdGEgPSB2YWx1ZTsNCiAgICAgICAgfTsNCiAgICAgICAgdmFyIHByb3RvID0ge307DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShwcm90bywgInNldCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiBzZXRGdW47DQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBDb24gPSBmdW5jdGlvbiAoKSB7IH07DQogICAgICAgIENvbi5wcm90b3R5cGUgPSBwcm90bzsNCg0KICAgICAgICB2YXIgY2hpbGQgPSBuZXcgQ29uKCk7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIHsNCiAgICAgICAgICAgIHByb3A6IGNoaWxkDQogICAgICAgIH0pOw0KICAgICAgICBvYmoucHJvcCA9ICJvdmVycmlkZURhdGEiOw0KDQogICAgICAgIHJldHVybiBvYmouaGFzT3duUHJvcGVydHkoInByb3AiKSAmJiBkYXRhID09PSAib3ZlcnJpZGVEYXRhIjsNCg0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - 'set' property of 'descObj' is inherited accessor property (8.10.5 step 8.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-233.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy01LWItMjM0LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnc2V0JyBwcm9wZXJ0eSBvZiAnZGVzY09iaicgaXMgb3duIGFjY2Vzc29yIHByb3BlcnR5IHRoYXQgb3ZlcnJpZGVzIGFuIGluaGVyaXRlZCBkYXRhIHByb3BlcnR5ICg4LjEwLjUgc3RlcCA4LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIGRhdGExID0gImRhdGEiOw0KICAgICAgICB2YXIgZGF0YTIgPSAiZGF0YSI7DQoNCiAgICAgICAgdmFyIHByb3RvID0ge307DQogICAgICAgIHByb3RvLnNldCA9IGZ1bmN0aW9uICh2YWx1ZSkgew0KICAgICAgICAgICAgZGF0YTEgPSB2YWx1ZTsNCiAgICAgICAgfTsNCg0KICAgICAgICB2YXIgQ29uID0gZnVuY3Rpb24gKCkgeyB9Ow0KICAgICAgICBDb24ucHJvdG90eXBlID0gcHJvdG87DQoNCiAgICAgICAgdmFyIGNoaWxkID0gbmV3IENvbigpOw0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoY2hpbGQsICJzZXQiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gZnVuY3Rpb24gKHZhbHVlKSB7DQogICAgICAgICAgICAgICAgICAgIGRhdGEyID0gdmFsdWU7DQogICAgICAgICAgICAgICAgfTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgew0KICAgICAgICAgICAgcHJvcDogY2hpbGQNCiAgICAgICAgfSk7DQogICAgICAgIG9iai5wcm9wID0gIm92ZXJyaWRlRGF0YSI7DQoNCiAgICAgICAgcmV0dXJuIG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpICYmIGRhdGEyID09PSAib3ZlcnJpZGVEYXRhIiAmJiBkYXRhMSA9PT0gImRhdGEiOw0KDQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - 'set' property of 'descObj' is own accessor property that overrides an inherited data property (8.10.5 step 8.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-234.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy01LWItMjM1LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnc2V0JyBwcm9wZXJ0eSBvZiAnZGVzY09iaicgaXMgb3duIGFjY2Vzc29yIHByb3BlcnR5IHRoYXQgb3ZlcnJpZGVzIGFuIGluaGVyaXRlZCBhY2Nlc3NvciBwcm9wZXJ0eSAoOC4xMC41IHN0ZXAgOC5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBkYXRhMSA9ICJkYXRhIjsNCiAgICAgICAgdmFyIGRhdGEyID0gImRhdGEiOw0KDQogICAgICAgIHZhciBwcm90byA9IHt9Ow0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkocHJvdG8sICJzZXQiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gZnVuY3Rpb24gKHZhbHVlKSB7DQogICAgICAgICAgICAgICAgICAgIGRhdGExID0gdmFsdWU7DQogICAgICAgICAgICAgICAgfTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIENvbiA9IGZ1bmN0aW9uICgpIHsgfTsNCiAgICAgICAgQ29uLnByb3RvdHlwZSA9IHByb3RvOw0KDQogICAgICAgIHZhciBjaGlsZCA9IG5ldyBDb24oKTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGNoaWxkLCAic2V0Iiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIGZ1bmN0aW9uICh2YWx1ZSkgew0KICAgICAgICAgICAgICAgICAgICBkYXRhMiA9IHZhbHVlOw0KICAgICAgICAgICAgICAgIH07DQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIHsNCiAgICAgICAgICAgIHByb3A6IGNoaWxkDQogICAgICAgIH0pOw0KDQogICAgICAgIG9iai5wcm9wID0gIm92ZXJyaWRlRGF0YSI7DQoNCiAgICAgICAgcmV0dXJuIG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpICYmIGRhdGEyID09PSAib3ZlcnJpZGVEYXRhIiAmJiBkYXRhMSA9PT0gImRhdGEiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - 'set' property of 'descObj' is own accessor property that overrides an inherited accessor property (8.10.5 step 8.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-235.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy01LWItMjM2LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnc2V0JyBwcm9wZXJ0eSBvZiAnZGVzY09iaicgaXMgb3duIGFjY2Vzc29yIHByb3BlcnR5IHdpdGhvdXQgYSBnZXQgZnVuY3Rpb24gKDguMTAuNSBzdGVwIDguYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgZnVuID0gZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgcmV0dXJuIDEwOw0KICAgICAgICB9Ow0KICAgICAgICB2YXIgZGVzY09iaiA9IHsNCiAgICAgICAgICAgIGdldDogZnVuDQogICAgICAgIH07DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShkZXNjT2JqLCAic2V0Iiwgew0KICAgICAgICAgICAgc2V0OiBmdW5jdGlvbiAoKSB7IH0NCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgew0KICAgICAgICAgICAgcHJvcDogZGVzY09iag0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcCIpOw0KDQogICAgICAgIHJldHVybiBvYmouaGFzT3duUHJvcGVydHkoInByb3AiKSAmJiB0eXBlb2YgZGVzYy5zZXQgPT09ICJ1bmRlZmluZWQiICYmIG9iai5wcm9wID09PSAxMDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - 'set' property of 'descObj' is own accessor property without a get function (8.10.5 step 8.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-236.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy01LWItMjM3LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnc2V0JyBwcm9wZXJ0eSBvZiAnZGVzY09iaicgaXMgb3duIGFjY2Vzc29yIHByb3BlcnR5IHdpdGhvdXQgYSBnZXQgZnVuY3Rpb24gdGhhdCBvdmVycmlkZXMgYW4gaW5oZXJpdGVkIGFjY2Vzc29yIHByb3BlcnR5ICg4LjEwLjUgc3RlcCA4LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgZnVuID0gZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgcmV0dXJuIDEwOyANCiAgICAgICAgfTsNCiAgICAgICAgdmFyIHByb3RvID0ge307DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShwcm90bywgInNldCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgIHJldHVybiBhcmd1bWVudHM7DQogICAgICAgICAgICAgICAgfTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIENvbiA9IGZ1bmN0aW9uICgpIHsgfTsNCiAgICAgICAgQ29uLnByb3RvdHlwZSA9IHByb3RvOw0KDQogICAgICAgIHZhciBkZXNjT2JqID0gbmV3IENvbigpOw0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoZGVzY09iaiwgInNldCIsIHsNCiAgICAgICAgICAgIHNldDogZnVuY3Rpb24gKCkgeyB9DQogICAgICAgIH0pOw0KDQogICAgICAgIGRlc2NPYmouZ2V0ID0gZnVuOw0KDQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIHsNCiAgICAgICAgICAgIHByb3A6IGRlc2NPYmoNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3AiKTsNCg0KICAgICAgICByZXR1cm4gb2JqLmhhc093blByb3BlcnR5KCJwcm9wIikgJiYgdHlwZW9mIChkZXNjLnNldCkgPT09ICJ1bmRlZmluZWQiICYmIG9iai5wcm9wID09PSAxMDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - 'set' property of 'descObj' is own accessor property without a get function that overrides an inherited accessor property (8.10.5 step 8.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-237.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy01LWItMjM4LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnc2V0JyBwcm9wZXJ0eSBvZiAnZGVzY09iaicgaXMgaW5oZXJpdGVkIGFjY2Vzc29yIHByb3BlcnR5IHdpdGhvdXQgYSBnZXQgZnVuY3Rpb24gKDguMTAuNSBzdGVwIDguYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBmdW4gPSBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICByZXR1cm4gMTA7IA0KICAgICAgICB9Ow0KICAgICAgICB2YXIgcHJvdG8gPSB7fTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHByb3RvLCAic2V0Iiwgew0KICAgICAgICAgICAgc2V0OiBmdW5jdGlvbiAoKSB7IH0NCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIENvbiA9IGZ1bmN0aW9uICgpIHsgfTsNCiAgICAgICAgQ29uLnByb3RvdHlwZSA9IHByb3RvOw0KDQogICAgICAgIHZhciBkZXNjT2JqID0gbmV3IENvbigpOw0KICAgICAgICBkZXNjT2JqLmdldCA9IGZ1bjsNCg0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMob2JqLCB7DQogICAgICAgICAgICBwcm9wOiBkZXNjT2JqDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wIik7DQoNCiAgICAgICAgcmV0dXJuIG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpICYmIHR5cGVvZiAoZGVzYy5zZXQpID09PSAidW5kZWZpbmVkIiAmJiBvYmoucHJvcCA9PT0gMTA7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - 'set' property of 'descObj' is inherited accessor property without a get function (8.10.5 step 8.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-238.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy01LWItMjM5LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnZGVzY09iaicgaXMgYSBGdW5jdGlvbiBvYmplY3Qgd2hpY2ggaW1wbGVtZW50cyBpdHMgb3duIFtbR2V0XV0gbWV0aG9kIHRvIGdldCAnc2V0JyBwcm9wZXJ0eSAoOC4xMC41IHN0ZXAgOC5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBkYXRhID0gImRhdGEiOw0KICAgICAgICB2YXIgZGVzY0Z1biA9IGZ1bmN0aW9uICgpIHsgfTsNCiAgICAgICAgdmFyIHNldEZ1biA9IGZ1bmN0aW9uICh2YWx1ZSkgew0KICAgICAgICAgICAgZGF0YSA9IHZhbHVlOw0KICAgICAgICB9Ow0KDQogICAgICAgIGRlc2NGdW4ucHJvcCA9IHsNCiAgICAgICAgICAgIHNldDogc2V0RnVuDQogICAgICAgIH07DQoNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIGRlc2NGdW4pOw0KICAgICAgICBvYmoucHJvcCA9ICJmdW5EYXRhIjsNCiAgICAgICAgcmV0dXJuIG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpICYmIGRhdGEgPT09ICJmdW5EYXRhIjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - 'descObj' is a Function object which implements its own [[Get]] method to get 'set' property (8.10.5 step 8.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-239.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy01LWItMjQuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydGllcyAtICdkZXNjT2JqJyBpcyB0aGUgTWF0aCBvYmplY3Qgd2hpY2ggaW1wbGVtZW50cyBpdHMgb3duIFtbR2V0XV0gbWV0aG9kIHRvIGdldCAnZW51bWVyYWJsZScgcHJvcGVydHkgKDguMTAuNSBzdGVwIDMuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE1hdGguZW51bWVyYWJsZSA9IHRydWU7DQoNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgew0KICAgICAgICAgICAgICAgIHByb3A6IE1hdGgNCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgZm9yICh2YXIgcHJvcGVydHkgaW4gb2JqKSB7DQogICAgICAgICAgICAgICAgaWYgKHByb3BlcnR5ID09PSAicHJvcCIpIHsNCiAgICAgICAgICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIHJldHVybiBhY2Nlc3NlZDsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBNYXRoLmVudW1lcmFibGU7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - 'descObj' is the Math object which implements its own [[Get]] method to get 'enumerable' property (8.10.5 step 3.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-24.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy01LWItMjQwLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnZGVzY09iaicgaXMgYW4gQXJyYXkgb2JqZWN0IHdoaWNoIGltcGxlbWVudHMgaXRzIG93biBbW0dldF1dIG1ldGhvZCB0byBnZXQgJ3NldCcgcHJvcGVydHkgKDguMTAuNSBzdGVwIDguYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBkYXRhID0gImRhdGEiOw0KICAgICAgICB2YXIgYXJyID0gW107DQogICAgICAgIHZhciBzZXRGdW4gPSBmdW5jdGlvbiAodmFsdWUpIHsNCiAgICAgICAgICAgIGRhdGEgPSB2YWx1ZTsNCiAgICAgICAgfTsNCiAgICAgICAgYXJyLnByb3AgPSB7DQogICAgICAgICAgICBzZXQ6IHNldEZ1bg0KICAgICAgICB9Ow0KDQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMob2JqLCBhcnIpOw0KICAgICAgICBvYmoucHJvcCA9ICJhcnJEYXRhIjsNCiAgICAgICAgcmV0dXJuIG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpICYmIGRhdGEgPT09ICJhcnJEYXRhIjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - 'descObj' is an Array object which implements its own [[Get]] method to get 'set' property (8.10.5 step 8.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-240.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy01LWItMjQxLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnZGVzY09iaicgaXMgYSBTdHJpbmcgb2JqZWN0IHdoaWNoIGltcGxlbWVudHMgaXRzIG93biBbW0dldF1dIG1ldGhvZCB0byBnZXQgJ3NldCcgcHJvcGVydHkgKDguMTAuNSBzdGVwIDguYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgZGF0YSA9ICJkYXRhIjsNCiAgICAgICAgdmFyIGRlc2NTdHIgPSBuZXcgU3RyaW5nKCk7DQogICAgICAgIHZhciBzZXRGdW4gPSBmdW5jdGlvbiAodmFsdWUpIHsNCiAgICAgICAgICAgIGRhdGEgPSB2YWx1ZTsNCiAgICAgICAgfTsNCg0KICAgICAgICBkZXNjU3RyLnByb3AgPSB7DQogICAgICAgICAgICBzZXQ6IHNldEZ1bg0KICAgICAgICB9Ow0KDQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMob2JqLCBkZXNjU3RyKTsNCiAgICAgICAgb2JqLnByb3AgPSAic3RyRGF0YSI7DQogICAgICAgIHJldHVybiBvYmouaGFzT3duUHJvcGVydHkoInByb3AiKSAmJiBkYXRhID09PSAic3RyRGF0YSI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - 'descObj' is a String object which implements its own [[Get]] method to get 'set' property (8.10.5 step 8.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-241.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy01LWItMjQyLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnZGVzY09iaicgaXMgYSBCb29sZWFuIG9iamVjdCB3aGljaCBpbXBsZW1lbnRzIGl0cyBvd24gW1tHZXRdXSBtZXRob2QgdG8gZ2V0ICdzZXQnIHByb3BlcnR5ICg4LjEwLjUgc3RlcCA4LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgZGF0YSA9ICJkYXRhIjsNCiAgICAgICAgdmFyIGRlc2NPYmogPSBuZXcgQm9vbGVhbihmYWxzZSk7DQogICAgICAgIHZhciBzZXRGdW4gPSBmdW5jdGlvbiAodmFsdWUpIHsNCiAgICAgICAgICAgIGRhdGEgPSB2YWx1ZTsNCiAgICAgICAgfTsNCiAgICAgICAgZGVzY09iai5wcm9wID0gew0KICAgICAgICAgICAgc2V0OiBzZXRGdW4NCiAgICAgICAgfTsNCg0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgZGVzY09iaik7DQogICAgICAgIG9iai5wcm9wID0gImJvb2xlYW5EYXRhIjsNCiAgICAgICAgcmV0dXJuIG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpICYmIGRhdGEgPT09ICJib29sZWFuRGF0YSI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - 'descObj' is a Boolean object which implements its own [[Get]] method to get 'set' property (8.10.5 step 8.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-242.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy01LWItMjQzLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnZGVzY09iaicgaXMgYSBOdW1iZXIgb2JqZWN0IHdoaWNoIGltcGxlbWVudHMgaXRzIG93biBbW0dldF1dIG1ldGhvZCB0byBnZXQgJ3NldCcgcHJvcGVydHkgKDguMTAuNSBzdGVwIDguYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBkYXRhID0gImRhdGEiOw0KICAgICAgICB2YXIgZGVzY09iaiA9IG5ldyBOdW1iZXIoLTkpOw0KICAgICAgICB2YXIgc2V0RnVuID0gZnVuY3Rpb24gKHZhbHVlKSB7DQogICAgICAgICAgICBkYXRhID0gdmFsdWU7DQogICAgICAgIH07DQogICAgICAgIGRlc2NPYmoucHJvcCA9IHsNCiAgICAgICAgICAgIHNldDogc2V0RnVuDQogICAgICAgIH07DQoNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIGRlc2NPYmopOw0KICAgICAgICBvYmoucHJvcCA9ICJudW1iZXJEYXRhIjsNCiAgICAgICAgcmV0dXJuIG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpICYmIGRhdGEgPT09ICJudW1iZXJEYXRhIjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - 'descObj' is a Number object which implements its own [[Get]] method to get 'set' property (8.10.5 step 8.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-243.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy01LWItMjQ0LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnZGVzY09iaicgaXMgdGhlIE1hdGggb2JqZWN0IHdoaWNoIGltcGxlbWVudHMgaXRzIG93biBbW0dldF1dIG1ldGhvZCB0byBnZXQgJ3NldCcgcHJvcGVydHkgKDguMTAuNSBzdGVwIDguYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBkYXRhID0gImRhdGEiOw0KICAgICAgICB2YXIgc2V0RnVuID0gZnVuY3Rpb24gKHZhbHVlKSB7DQogICAgICAgICAgICBkYXRhID0gdmFsdWU7DQogICAgICAgIH07DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBNYXRoLnByb3AgPSB7DQogICAgICAgICAgICAgICAgc2V0OiBzZXRGdW4NCiAgICAgICAgICAgIH07DQoNCiAgICAgICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgTWF0aCk7DQogICAgICAgICAgICBvYmoucHJvcCA9ICJtYXRoRGF0YSI7DQogICAgICAgICAgICByZXR1cm4gb2JqLmhhc093blByb3BlcnR5KCJwcm9wIikgJiYgZGF0YSA9PT0gIm1hdGhEYXRhIjsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBNYXRoLnByb3A7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - 'descObj' is the Math object which implements its own [[Get]] method to get 'set' property (8.10.5 step 8.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-244.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy01LWItMjQ1LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnZGVzY09iaicgaXMgYSBEYXRlIG9iamVjdCB3aGljaCBpbXBsZW1lbnRzIGl0cyBvd24gW1tHZXRdXSBtZXRob2QgdG8gZ2V0ICdzZXQnIHByb3BlcnR5ICg4LjEwLjUgc3RlcCA4LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgZGF0YSA9ICJkYXRhIjsNCiAgICAgICAgdmFyIGRlc2NPYmogPSBuZXcgRGF0ZSgpOw0KICAgICAgICB2YXIgc2V0RnVuID0gZnVuY3Rpb24gKHZhbHVlKSB7DQogICAgICAgICAgICBkYXRhID0gdmFsdWU7DQogICAgICAgIH07DQogICAgICAgIGRlc2NPYmoucHJvcCA9IHsNCiAgICAgICAgICAgIHNldDogc2V0RnVuDQogICAgICAgIH07DQoNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIGRlc2NPYmopOw0KICAgICAgICBvYmoucHJvcCA9ICJkYXRlRGF0YSI7DQogICAgICAgIHJldHVybiBvYmouaGFzT3duUHJvcGVydHkoInByb3AiKSAmJiBkYXRhID09PSAiZGF0ZURhdGEiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - 'descObj' is a Date object which implements its own [[Get]] method to get 'set' property (8.10.5 step 8.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-245.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy01LWItMjQ2LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnZGVzY09iaicgaXMgYSBSZWdFeHAgb2JqZWN0IHdoaWNoIGltcGxlbWVudHMgaXRzIG93biBbW0dldF1dIG1ldGhvZCB0byBnZXQgJ3NldCcgcHJvcGVydHkgKDguMTAuNSBzdGVwIDguYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBkYXRhID0gImRhdGEiOw0KICAgICAgICB2YXIgZGVzY09iaiA9IG5ldyBSZWdFeHAoKTsNCiAgICAgICAgdmFyIHNldEZ1biA9IGZ1bmN0aW9uICh2YWx1ZSkgew0KICAgICAgICAgICAgZGF0YSA9IHZhbHVlOw0KICAgICAgICB9Ow0KICAgICAgICBkZXNjT2JqLnByb3AgPSB7DQogICAgICAgICAgICBzZXQ6IHNldEZ1bg0KICAgICAgICB9Ow0KDQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMob2JqLCBkZXNjT2JqKTsNCiAgICAgICAgb2JqLnByb3AgPSAicmVnRXhwRGF0YSI7DQogICAgICAgIHJldHVybiBvYmouaGFzT3duUHJvcGVydHkoInByb3AiKSAmJiBkYXRhID09PSAicmVnRXhwRGF0YSI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - 'descObj' is a RegExp object which implements its own [[Get]] method to get 'set' property (8.10.5 step 8.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-246.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy01LWItMjQ3LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnZGVzY09iaicgaXMgdGhlIEpTT04gb2JqZWN0IHdoaWNoIGltcGxlbWVudHMgaXRzIG93biBbW0dldF1dIG1ldGhvZCB0byBnZXQgJ3NldCcgcHJvcGVydHkgKDguMTAuNSBzdGVwIDguYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBkYXRhID0gImRhdGEiOw0KICAgICAgICB2YXIgc2V0RnVuID0gZnVuY3Rpb24gKHZhbHVlKSB7DQogICAgICAgICAgICBkYXRhID0gdmFsdWU7DQogICAgICAgIH07DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBKU09OLnByb3AgPSB7DQogICAgICAgICAgICAgICAgc2V0OiBzZXRGdW4NCiAgICAgICAgICAgIH07DQoNCiAgICAgICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgSlNPTik7DQogICAgICAgICAgICBvYmoucHJvcCA9ICJKU09ORGF0YSI7DQogICAgICAgICAgICByZXR1cm4gb2JqLmhhc093blByb3BlcnR5KCJwcm9wIikgJiYgZGF0YSA9PT0gIkpTT05EYXRhIjsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBKU09OLnByb3A7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - 'descObj' is the JSON object which implements its own [[Get]] method to get 'set' property (8.10.5 step 8.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-247.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy01LWItMjQ4LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnZGVzY09iaicgaXMgYW4gRXJyb3Igb2JqZWN0IHdoaWNoIGltcGxlbWVudHMgaXRzIG93biBbW0dldF1dIG1ldGhvZCB0byBnZXQgJ3NldCcgcHJvcGVydHkgKDguMTAuNSBzdGVwIDguYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBkYXRhID0gImRhdGEiOw0KICAgICAgICB2YXIgZGVzY09iaiA9IG5ldyBFcnJvcigidGVzdCIpOw0KICAgICAgICBkZXNjT2JqLmRlc2NyaXB0aW9uID0geyB2YWx1ZTogMTEgfTsNCiAgICAgICAgZGVzY09iai5tZXNzYWdlID0geyB2YWx1ZTogMTEgfTsNCiAgICAgICAgZGVzY09iai5uYW1lID0geyB2YWx1ZTogMTEgfTsNCg0KICAgICAgICB2YXIgc2V0RnVuID0gZnVuY3Rpb24gKHZhbHVlKSB7DQogICAgICAgICAgICBkYXRhID0gdmFsdWU7DQogICAgICAgIH07DQogICAgICAgIGRlc2NPYmoucHJvcCA9IHsNCiAgICAgICAgICAgIHNldDogc2V0RnVuDQogICAgICAgIH07DQoNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIGRlc2NPYmopOw0KICAgICAgICBvYmoucHJvcCA9ICJlcnJvckRhdGEiOw0KICAgICAgICByZXR1cm4gb2JqLmhhc093blByb3BlcnR5KCJwcm9wIikgJiYgZGF0YSA9PT0gImVycm9yRGF0YSI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - 'descObj' is an Error object which implements its own [[Get]] method to get 'set' property (8.10.5 step 8.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-248.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy01LWItMjQ5LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnZGVzY09iaicgaXMgdGhlIEFyZ3VtZW50cyBvYmplY3Qgd2hpY2ggaW1wbGVtZW50cyBpdHMgb3duIFtbR2V0XV0gbWV0aG9kIHRvIGdldCAnc2V0JyBwcm9wZXJ0eSAoOC4xMC41IHN0ZXAgOC5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBkYXRhID0gImRhdGEiOw0KICAgICAgICB2YXIgZnVuID0gZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgcmV0dXJuIGFyZ3VtZW50czsNCiAgICAgICAgfTsNCiAgICAgICAgdmFyIGFyZyA9IGZ1bigpOw0KICAgICAgICB2YXIgc2V0RnVuID0gZnVuY3Rpb24gKHZhbHVlKSB7DQogICAgICAgICAgICBkYXRhID0gdmFsdWU7DQogICAgICAgIH07DQoNCiAgICAgICAgYXJnLnByb3AgPSB7DQogICAgICAgICAgICBzZXQ6IHNldEZ1bg0KICAgICAgICB9Ow0KDQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMob2JqLCBhcmcpOw0KICAgICAgICBvYmoucHJvcCA9ICJhcmdEYXRhIjsNCiAgICAgICAgcmV0dXJuIG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpICYmIGRhdGEgPT09ICJhcmdEYXRhIjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - 'descObj' is the Arguments object which implements its own [[Get]] method to get 'set' property (8.10.5 step 8.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-249.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy01LWItMjUuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydGllcyAtICdkZXNjT2JqJyBpcyBhIERhdGUgb2JqZWN0IHdoaWNoIGltcGxlbWVudHMgaXRzIG93biBbW0dldF1dIG1ldGhvZCB0byBnZXQgJ2VudW1lcmFibGUnIHByb3BlcnR5ICg4LjEwLjUgc3RlcCAzLmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIHZhciBkZXNjT2JqID0gbmV3IERhdGUoKTsNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQoNCiAgICAgICAgZGVzY09iai5lbnVtZXJhYmxlID0gdHJ1ZTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIHsNCiAgICAgICAgICAgIHByb3A6IGRlc2NPYmoNCiAgICAgICAgfSk7DQogICAgICAgIGZvciAodmFyIHByb3BlcnR5IGluIG9iaikgew0KICAgICAgICAgICAgaWYgKHByb3BlcnR5ID09PSAicHJvcCIpIHsNCiAgICAgICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCiAgICAgICAgcmV0dXJuIGFjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - 'descObj' is a Date object which implements its own [[Get]] method to get 'enumerable' property (8.10.5 step 3.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-25.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy01LWItMjUyLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSB2YWx1ZSBvZiAnc2V0JyBwcm9wZXJ0eSBvZiAnZGVzY09iaicgaXMgdW5kZWZpbmVkICg4LjEwLjUgc3RlcCA4LmIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgZ2V0RnVuID0gZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgcmV0dXJuIDExOw0KICAgICAgICB9Ow0KDQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMob2JqLCB7DQogICAgICAgICAgICBwcm9wOiB7DQogICAgICAgICAgICAgICAgZ2V0OiBnZXRGdW4sDQogICAgICAgICAgICAgICAgc2V0OiB1bmRlZmluZWQNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wIik7DQogICAgICAgICAgICByZXR1cm4gb2JqLmhhc093blByb3BlcnR5KCJwcm9wIikgJiYgdHlwZW9mIChkZXNjLnNldCkgPT09ICJ1bmRlZmluZWQiOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - value of 'set' property of 'descObj' is undefined (8.10.5 step 8.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-252.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy01LWItMjUzLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSB2YWx1ZSBvZiAnc2V0JyBwcm9wZXJ0eSBvZiAnZGVzY09iaicgaXMgcHJpbWl0aXZlIHZhbHVlcyBudWxsICg4LjEwLjUgc3RlcCA4LmIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgew0KICAgICAgICAgICAgICAgIHByb3A6IHsNCiAgICAgICAgICAgICAgICAgICAgc2V0OiBudWxsDQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiAoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcik7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - value of 'set' property of 'descObj' is primitive values null (8.10.5 step 8.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-253.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy01LWItMjU0LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSB2YWx1ZSBvZiAnc2V0JyBwcm9wZXJ0eSBvZiAnZGVzY09iaicgaXMgcHJpbWl0aXZlIHZhbHVlcyBib29sZWFuICg4LjEwLjUgc3RlcCA4LmIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgew0KICAgICAgICAgICAgICAgIHByb3A6IHsNCiAgICAgICAgICAgICAgICAgICAgc2V0OiB0cnVlDQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiAoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcik7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - value of 'set' property of 'descObj' is primitive values boolean (8.10.5 step 8.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-254.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy01LWItMjU1LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSB2YWx1ZSBvZiAnc2V0JyBwcm9wZXJ0eSBvZiAnZGVzY09iaicgaXMgcHJpbWl0aXZlIHZhbHVlcyBudW1iZXIgKDguMTAuNSBzdGVwIDguYikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMob2JqLCB7DQogICAgICAgICAgICAgICAgcHJvcDogew0KICAgICAgICAgICAgICAgICAgICBzZXQ6IDEwMA0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - value of 'set' property of 'descObj' is primitive values number (8.10.5 step 8.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-255.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy01LWItMjU2LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSB2YWx1ZSBvZiAnc2V0JyBwcm9wZXJ0eSBvZiAnZGVzY09iaicgaXMgcHJpbWl0aXZlIHZhbHVlcyBzdHJpbmcgKDguMTAuNSBzdGVwIDguYikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMob2JqLCB7DQogICAgICAgICAgICAgICAgcHJvcDogew0KICAgICAgICAgICAgICAgICAgICBzZXQ6ICJhYmNkZWYiDQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiAoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcik7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - value of 'set' property of 'descObj' is primitive values string (8.10.5 step 8.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-256.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy01LWItMjU3LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSB2YWx1ZSBvZiAnc2V0JyBwcm9wZXJ0eSBvZiAnZGVzY09iaicgaXMgYW4gaW50ZXJlc3Rpbmcgb2JqZWN0IG90aGVyIHRoYW4gYSBmdW5jdGlvbiAoOC4xMC41IHN0ZXAgOC5iKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIHsNCiAgICAgICAgICAgICAgICBwcm9wOiB7DQogICAgICAgICAgICAgICAgICAgIHNldDogW10NCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIChlIGluc3RhbmNlb2YgVHlwZUVycm9yKTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - value of 'set' property of 'descObj' is an interesting object other than a function (8.10.5 step 8.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-257.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy01LWItMjU4LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSB2YWx1ZSBvZiAnc2V0JyBwcm9wZXJ0eSBvZiAnZGVzY09iaicgaXMgYSBmdW5jdGlvbiAoOC4xMC41IHN0ZXAgOC5iKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGRhdGEgPSAiZGF0YSI7DQogICAgICAgIHZhciBzZXRGdW4gPSBmdW5jdGlvbiAodmFsdWUpIHsNCiAgICAgICAgICAgIGRhdGEgPSB2YWx1ZTsNCiAgICAgICAgfTsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMob2JqLCB7DQogICAgICAgICAgICBwcm9wOiB7DQogICAgICAgICAgICAgICAgc2V0OiBzZXRGdW4NCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQogICAgICAgIG9iai5wcm9wID0gImZ1bkRhdGEiOw0KICAgICAgICByZXR1cm4gb2JqLmhhc093blByb3BlcnR5KCJwcm9wIikgJiYgZGF0YSA9PT0gImZ1bkRhdGEiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - value of 'set' property of 'descObj' is a function (8.10.5 step 8.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-258.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy01LWItMjYuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydGllcyAtICdkZXNjT2JqJyBpcyBhIFJlZ0V4cCBvYmplY3Qgd2hpY2ggaW1wbGVtZW50cyBpdHMgb3duIFtbR2V0XV0gbWV0aG9kIHRvIGdldCAnZW51bWVyYWJsZScgcHJvcGVydHkgKDguMTAuNSBzdGVwIDMuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgdmFyIGRlc2NPYmogPSBuZXcgUmVnRXhwKCk7DQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIGRlc2NPYmouZW51bWVyYWJsZSA9IHRydWU7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMob2JqLCB7DQogICAgICAgICAgICBwcm9wOiBkZXNjT2JqDQogICAgICAgIH0pOw0KICAgICAgICBmb3IgKHZhciBwcm9wZXJ0eSBpbiBvYmopIHsNCiAgICAgICAgICAgIGlmIChwcm9wZXJ0eSA9PT0gInByb3AiKSB7DQogICAgICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQogICAgICAgIHJldHVybiBhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - 'descObj' is a RegExp object which implements its own [[Get]] method to get 'enumerable' property (8.10.5 step 3.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-26.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy01LWItMjYxLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSBUeXBlRXJyb3IgaXMgdGhyb3duIGlmIGJvdGggJ3NldCcgcHJvcGVydHkgYW5kICd2YWx1ZScgcHJvcGVydHkgb2YgJ2Rlc2NPYmonIGFyZSBwcmVzZW50ICg4LjEwLjUgc3RlcCA5LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgc2V0RnVuID0gZnVuY3Rpb24gKCkge307DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMob2JqLCB7DQogICAgICAgICAgICAgICAgcHJvcDogew0KICAgICAgICAgICAgICAgICAgICB2YWx1ZTogMTIsDQogICAgICAgICAgICAgICAgICAgIHNldDogc2V0RnVuDQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiAoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcik7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - TypeError is thrown if both 'set' property and 'value' property of 'descObj' are present (8.10.5 step 9.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-261.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy01LWItMjYyLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSBUeXBlRXJyb3IgaXMgdGhyb3duIGlmIGJvdGggJ3NldCcgcHJvcGVydHkgYW5kICd3cml0YWJsZScgcHJvcGVydHkgb2YgJ2Rlc2NPYmonIGFyZSBwcmVzZW50ICg4LjEwLjUgc3RlcCA5LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgc2V0RnVuID0gZnVuY3Rpb24gKCkgeyB9Ow0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgew0KICAgICAgICAgICAgICAgIHByb3A6IHsNCiAgICAgICAgICAgICAgICAgICAgd3JpdGFibGU6IHRydWUsDQogICAgICAgICAgICAgICAgICAgIHNldDogc2V0RnVuDQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiAoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcik7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - TypeError is thrown if both 'set' property and 'writable' property of 'descObj' are present (8.10.5 step 9.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-262.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy01LWItMjYzLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSBUeXBlRXJyb3IgaXMgdGhyb3duIGlmIGJvdGggJ2dldCcgcHJvcGVydHkgYW5kICd2YWx1ZScgcHJvcGVydHkgb2YgJ2Rlc2NPYmonIGFyZSBwcmVzZW50ICg4LjEwLjUgc3RlcCA5LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgZ2V0RnVuID0gZnVuY3Rpb24gKCkge307DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMob2JqLCB7DQogICAgICAgICAgICAgICAgcHJvcDogew0KICAgICAgICAgICAgICAgICAgICB2YWx1ZTogMTIsDQogICAgICAgICAgICAgICAgICAgIGdldDogZ2V0RnVuDQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiAoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcik7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - TypeError is thrown if both 'get' property and 'value' property of 'descObj' are present (8.10.5 step 9.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-263.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy01LWItMjY0LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSBUeXBlRXJyb3IgaXMgdGhyb3duIGlmIGJvdGggJ2dldCcgcHJvcGVydHkgYW5kICd3cml0YWJsZScgcHJvcGVydHkgb2YgJ2Rlc2NPYmonIGFyZSBwcmVzZW50ICg4LjEwLjUgc3RlcCA5LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgZ2V0RnVuID0gZnVuY3Rpb24gKCkge307DQoNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIHsNCiAgICAgICAgICAgICAgICAicHJvcCI6IHsNCiAgICAgICAgICAgICAgICAgICAgd3JpdGFibGU6IHRydWUsDQogICAgICAgICAgICAgICAgICAgIGdldDogZ2V0RnVuDQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiAoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcik7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - TypeError is thrown if both 'get' property and 'writable' property of 'descObj' are present (8.10.5 step 9.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-264.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy01LWItMjcuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydGllcyAtICdkZXNjT2JqJyBpcyB0aGUgSlNPTiBvYmplY3Qgd2hpY2ggaW1wbGVtZW50cyBpdHMgb3duIFtbR2V0XV0gbWV0aG9kIHRvIGdldCAnZW51bWVyYWJsZScgcHJvcGVydHkgKDguMTAuNSBzdGVwIDMuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIEpTT04uZW51bWVyYWJsZSA9IHRydWU7DQoNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgew0KICAgICAgICAgICAgICAgIHByb3A6IEpTT04NCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgZm9yICh2YXIgcHJvcGVydHkgaW4gb2JqKSB7DQogICAgICAgICAgICAgICAgaWYgKHByb3BlcnR5ID09PSAicHJvcCIpIHsNCiAgICAgICAgICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIHJldHVybiBhY2Nlc3NlZDsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBKU09OLmVudW1lcmFibGU7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - 'descObj' is the JSON object which implements its own [[Get]] method to get 'enumerable' property (8.10.5 step 3.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-27.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy01LWItMjguanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydGllcyAtICdkZXNjT2JqJyBpcyBhbiBFcnJvciBvYmplY3Qgd2hpY2ggaW1wbGVtZW50cyBpdHMgb3duIFtbR2V0XV0gbWV0aG9kIHRvIGdldCAnZW51bWVyYWJsZScgcHJvcGVydHkgKDguMTAuNSBzdGVwIDMuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgdmFyIGRlc2NPYmogPSBuZXcgRXJyb3IoKTsNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQoNCiAgICAgICAgZGVzY09iai5lbnVtZXJhYmxlID0gdHJ1ZTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIHsNCiAgICAgICAgICAgIHByb3A6IGRlc2NPYmoNCiAgICAgICAgfSk7DQogICAgICAgIGZvciAodmFyIHByb3BlcnR5IGluIG9iaikgew0KICAgICAgICAgICAgaWYgKHByb3BlcnR5ID09PSAicHJvcCIpIHsNCiAgICAgICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCiAgICAgICAgcmV0dXJuIGFjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - 'descObj' is an Error object which implements its own [[Get]] method to get 'enumerable' property (8.10.5 step 3.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-28.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy01LWItMjkuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydGllcyAtICdkZXNjT2JqJyBpcyB0aGUgQXJndW1lbnRzIG9iamVjdCB3aGljaCBpbXBsZW1lbnRzIGl0cyBvd24gW1tHZXRdXSBtZXRob2QgdG8gZ2V0ICdlbnVtZXJhYmxlJyBwcm9wZXJ0eSAoOC4xMC41IHN0ZXAgMy5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICB2YXIgYXJnOw0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICAoZnVuY3Rpb24gZnVuKCkgew0KICAgICAgICAgICAgYXJnID0gYXJndW1lbnRzOw0KICAgICAgICB9KCkpOw0KDQogICAgICAgIGFyZy5lbnVtZXJhYmxlID0gdHJ1ZTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIHsNCiAgICAgICAgICAgIHByb3A6IGFyZw0KICAgICAgICB9KTsNCiAgICAgICAgZm9yICh2YXIgcHJvcGVydHkgaW4gb2JqKSB7DQogICAgICAgICAgICBpZiAocHJvcGVydHkgPT09ICJwcm9wIikgew0KICAgICAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KICAgICAgICByZXR1cm4gYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - 'descObj' is the Arguments object which implements its own [[Get]] method to get 'enumerable' property (8.10.5 step 3.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-29.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy01LWItMy5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ2Rlc2NPYmonIGlzIGEgYm9vbGVhbiAoOC4xMC41IHN0ZXAgMSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMob2JqLCB7DQogICAgICAgICAgICAgICAgcHJvcDogdHJ1ZQ0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiBlIGluc3RhbmNlb2YgVHlwZUVycm9yICYmICFvYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - 'descObj' is a boolean (8.10.5 step 1)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy01LWItMzEuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydGllcyAtICdkZXNjT2JqJyBpcyB0aGUgZ2xvYmFsIG9iamVjdCB3aGljaCBpbXBsZW1lbnRzIGl0cyBvd24gW1tHZXRdXSBtZXRob2QgdG8gZ2V0ICdlbnVtZXJhYmxlJyBwcm9wZXJ0eSAoOC4xMC41IHN0ZXAgMy5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgZm5HbG9iYWxPYmplY3QoKS5lbnVtZXJhYmxlID0gdHJ1ZTsNCg0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMob2JqLCB7DQogICAgICAgICAgICAgICAgcHJvcDogZm5HbG9iYWxPYmplY3QoKQ0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICBmb3IgKHZhciBwcm9wZXJ0eSBpbiBvYmopIHsNCiAgICAgICAgICAgICAgICBpZiAocHJvcGVydHkgPT09ICJwcm9wIikgew0KICAgICAgICAgICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgcmV0dXJuIGFjY2Vzc2VkOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIGZuR2xvYmFsT2JqZWN0KCkuZW51bWVyYWJsZTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - 'descObj' is the global object which implements its own [[Get]] method to get 'enumerable' property (8.10.5 step 3.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-31.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy01LWItMzIuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydGllcyAtIHZhbHVlIG9mICdlbnVtZXJhYmxlJyBwcm9wZXJ0eSBvZiAnZGVzY09iaicgaXMgdW5kZWZpbmVkICg4LjEwLjUgc3RlcCAzLmIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgew0KICAgICAgICAgICAgcHJvcDogew0KICAgICAgICAgICAgICAgIGVudW1lcmFibGU6IHVuZGVmaW5lZA0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCiAgICAgICAgZm9yICh2YXIgcHJvcGVydHkgaW4gb2JqKSB7DQogICAgICAgICAgICBpZiAocHJvcGVydHkgPT09ICJwcm9wIikgew0KICAgICAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KICAgICAgICByZXR1cm4gIWFjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - value of 'enumerable' property of 'descObj' is undefined (8.10.5 step 3.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-32.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy01LWItMzMuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydGllcyAtIHZhbHVlIG9mICdlbnVtZXJhYmxlJyBwcm9wZXJ0eSBvZiAnZGVzY09iaicgaXMgbnVsbCAoOC4xMC41IHN0ZXAgMy5iKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIHsNCiAgICAgICAgICAgIHByb3A6IHsNCiAgICAgICAgICAgICAgICBlbnVtZXJhYmxlOiBudWxsDQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KICAgICAgICBmb3IgKHZhciBwcm9wZXJ0eSBpbiBvYmopIHsNCiAgICAgICAgICAgIGlmIChwcm9wZXJ0eSA9PT0gInByb3AiKSB7DQogICAgICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQogICAgICAgIHJldHVybiAhYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - value of 'enumerable' property of 'descObj' is null (8.10.5 step 3.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-33.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy01LWItMzQuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydGllcyAtIHZhbHVlIG9mICdlbnVtZXJhYmxlJyBwcm9wZXJ0eSBvZiAnZGVzY09iaicgaXMgdHJ1ZSAoOC4xMC41IHN0ZXAgMy5iKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIHsNCiAgICAgICAgICAgIHByb3A6IHsNCiAgICAgICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlDQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KICAgICAgICBmb3IgKHZhciBwcm9wZXJ0eSBpbiBvYmopIHsNCiAgICAgICAgICAgIGlmIChwcm9wZXJ0eSA9PT0gInByb3AiKSB7DQogICAgICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQogICAgICAgIHJldHVybiBhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - value of 'enumerable' property of 'descObj' is true (8.10.5 step 3.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-34.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy01LWItMzUuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydGllcyAtIHZhbHVlIG9mICdlbnVtZXJhYmxlJyBwcm9wZXJ0eSBvZiAnZGVzY09iaicgaXMgZmFsc2UgKDguMTAuNSBzdGVwIDMuYikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMob2JqLCB7DQogICAgICAgICAgICBwcm9wOiB7DQogICAgICAgICAgICAgICAgZW51bWVyYWJsZTogZmFsc2UNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQogICAgICAgIGZvciAodmFyIHByb3BlcnR5IGluIG9iaikgew0KICAgICAgICAgICAgaWYgKHByb3BlcnR5ID09PSAicHJvcCIpIHsNCiAgICAgICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCiAgICAgICAgcmV0dXJuICFhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - value of 'enumerable' property of 'descObj' is false (8.10.5 step 3.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-35.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy01LWItMzYuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydGllcyAtIHZhbHVlIG9mICdlbnVtZXJhYmxlJyBwcm9wZXJ0eSBvZiAnZGVzY09iaicgaXMgMCAoOC4xMC41IHN0ZXAgMy5iKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIHsNCiAgICAgICAgICAgIHByb3A6IHsNCiAgICAgICAgICAgICAgICBlbnVtZXJhYmxlOiAwDQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KICAgICAgICBmb3IgKHZhciBwcm9wZXJ0eSBpbiBvYmopIHsNCiAgICAgICAgICAgIGlmIChwcm9wZXJ0eSA9PT0gInByb3AiKSB7DQogICAgICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQogICAgICAgIHJldHVybiAhYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - value of 'enumerable' property of 'descObj' is 0 (8.10.5 step 3.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-36.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy01LWItMzcuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydGllcyAtIHZhbHVlIG9mICdlbnVtZXJhYmxlJyBwcm9wZXJ0eSBvZiAnZGVzY09iaicgaXMgKzAgKDguMTAuNSBzdGVwIDMuYikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMob2JqLCB7DQogICAgICAgICAgICBwcm9wOiB7DQogICAgICAgICAgICAgICAgZW51bWVyYWJsZTogKzANCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQogICAgICAgIGZvciAodmFyIHByb3BlcnR5IGluIG9iaikgew0KICAgICAgICAgICAgaWYgKHByb3BlcnR5ID09PSAicHJvcCIpIHsNCiAgICAgICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCiAgICAgICAgcmV0dXJuICFhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - value of 'enumerable' property of 'descObj' is +0 (8.10.5 step 3.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-37.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy01LWItMzguanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydGllcyAtIHZhbHVlIG9mICdlbnVtZXJhYmxlJyBwcm9wZXJ0eSBvZiAnZGVzY09iaicgaXMgLTAgKDguMTAuNSBzdGVwIDMuYikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMob2JqLCB7DQogICAgICAgICAgICBwcm9wOiB7DQogICAgICAgICAgICAgICAgZW51bWVyYWJsZTogLTANCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQogICAgICAgIGZvciAodmFyIHByb3BlcnR5IGluIG9iaikgew0KICAgICAgICAgICAgaWYgKHByb3BlcnR5ID09PSAicHJvcCIpIHsNCiAgICAgICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCiAgICAgICAgcmV0dXJuICFhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - value of 'enumerable' property of 'descObj' is -0 (8.10.5 step 3.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-38.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy01LWItMzkuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydGllcyAtIHZhbHVlIG9mICdlbnVtZXJhYmxlJyBwcm9wZXJ0eSBvZiAnZGVzY09iaicgaXMgTmFOICg4LjEwLjUgc3RlcCAzLmIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgew0KICAgICAgICAgICAgcHJvcDogew0KICAgICAgICAgICAgICAgIGVudW1lcmFibGU6IE5hTg0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCiAgICAgICAgZm9yICh2YXIgcHJvcGVydHkgaW4gb2JqKSB7DQogICAgICAgICAgICBpZiAocHJvcGVydHkgPT09ICJwcm9wIikgew0KICAgICAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KICAgICAgICByZXR1cm4gIWFjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - value of 'enumerable' property of 'descObj' is NaN (8.10.5 step 3.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-39.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy01LWItNC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ2Rlc2NPYmonIGlzIGEgbnVtYmVyICg4LjEwLjUgc3RlcCAxKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIHsNCiAgICAgICAgICAgICAgICBwcm9wOiAxMg0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiBlIGluc3RhbmNlb2YgVHlwZUVycm9yICYmICFvYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - 'descObj' is a number (8.10.5 step 1)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy01LWItNDAuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydGllcyAtIHZhbHVlIG9mICdlbnVtZXJhYmxlJyBwcm9wZXJ0eSBvZiAnZGVzY09iaicgaXMgcG9zaXRpdmUgbnVtYmVyICg4LjEwLjUgc3RlcCAzLmIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgew0KICAgICAgICAgICAgcHJvcDogew0KICAgICAgICAgICAgICAgIGVudW1lcmFibGU6IDEyDQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KICAgICAgICBmb3IgKHZhciBwcm9wZXJ0eSBpbiBvYmopIHsNCiAgICAgICAgICAgIGlmIChwcm9wZXJ0eSA9PT0gInByb3AiKSB7DQogICAgICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQogICAgICAgIHJldHVybiBhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - value of 'enumerable' property of 'descObj' is positive number (8.10.5 step 3.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-40.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy01LWItNDEuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydGllcyAtIHZhbHVlIG9mICdlbnVtZXJhYmxlJyBwcm9wZXJ0eSBvZiAnZGVzY09iaicgaXMgbmVnYXRpdmUgbnVtYmVyICg4LjEwLjUgc3RlcCAzLmIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgew0KICAgICAgICAgICAgcHJvcDogew0KICAgICAgICAgICAgICAgIGVudW1lcmFibGU6IC05DQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KICAgICAgICBmb3IgKHZhciBwcm9wZXJ0eSBpbiBvYmopIHsNCiAgICAgICAgICAgIGlmIChwcm9wZXJ0eSA9PT0gInByb3AiKSB7DQogICAgICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQogICAgICAgIHJldHVybiBhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - value of 'enumerable' property of 'descObj' is negative number (8.10.5 step 3.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-41.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy01LWItNDIuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydGllcyAtIHZhbHVlIG9mICdlbnVtZXJhYmxlJyBwcm9wZXJ0eSBvZiAnZGVzY09iaicgaXMgZW1wdHkgc3RyaW5nICg4LjEwLjUgc3RlcCAzLmIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgew0KICAgICAgICAgICAgcHJvcDogew0KICAgICAgICAgICAgICAgIGVudW1lcmFibGU6ICIiDQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KICAgICAgICBmb3IgKHZhciBwcm9wZXJ0eSBpbiBvYmopIHsNCiAgICAgICAgICAgIGlmIChwcm9wZXJ0eSA9PT0gInByb3AiKSB7DQogICAgICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQogICAgICAgIHJldHVybiAhYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - value of 'enumerable' property of 'descObj' is empty string (8.10.5 step 3.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-42.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy01LWItNDMuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydGllcyAtIHZhbHVlIG9mICdlbnVtZXJhYmxlJyBwcm9wZXJ0eSBvZiAnZGVzY09iaicgaXMgbm9uLWVtcHR5IHN0cmluZyAoOC4xMC41IHN0ZXAgMy5iKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIHsNCiAgICAgICAgICAgIHByb3A6IHsNCiAgICAgICAgICAgICAgICBlbnVtZXJhYmxlOiAiQUJcblxcY2QiDQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KICAgICAgICBmb3IgKHZhciBwcm9wZXJ0eSBpbiBvYmopIHsNCiAgICAgICAgICAgIGlmIChwcm9wZXJ0eSA9PT0gInByb3AiKSB7DQogICAgICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQogICAgICAgIHJldHVybiBhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - value of 'enumerable' property of 'descObj' is non-empty string (8.10.5 step 3.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-43.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy01LWItNDQuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydGllcyAtIHZhbHVlIG9mICdlbnVtZXJhYmxlJyBwcm9wZXJ0eSBvZiAnZGVzY09iaicgaXMgYSBGdW5jdGlvbiBvYmplY3QgKDguMTAuNSBzdGVwIDMuYikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMob2JqLCB7DQogICAgICAgICAgICBwcm9wOiB7DQogICAgICAgICAgICAgICAgZW51bWVyYWJsZTogZnVuY3Rpb24gKCkgeyB9DQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KICAgICAgICBmb3IgKHZhciBwcm9wZXJ0eSBpbiBvYmopIHsNCiAgICAgICAgICAgIGlmIChwcm9wZXJ0eSA9PT0gInByb3AiKSB7DQogICAgICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQogICAgICAgIHJldHVybiBhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - value of 'enumerable' property of 'descObj' is a Function object (8.10.5 step 3.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-44.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy01LWItNDUuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydGllcyAtIHZhbHVlIG9mICdlbnVtZXJhYmxlJyBwcm9wZXJ0eSBvZiAnZGVzY09iaicgaXMgYW4gQXJyYXkgb2JqZWN0ICg4LjEwLjUgc3RlcCAzLmIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgew0KICAgICAgICAgICAgcHJvcDogew0KICAgICAgICAgICAgICAgIGVudW1lcmFibGU6IFtdDQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KICAgICAgICBmb3IgKHZhciBwcm9wZXJ0eSBpbiBvYmopIHsNCiAgICAgICAgICAgIGlmIChwcm9wZXJ0eSA9PT0gInByb3AiKSB7DQogICAgICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQogICAgICAgIHJldHVybiBhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - value of 'enumerable' property of 'descObj' is an Array object (8.10.5 step 3.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-45.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy01LWItNDYuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydGllcyAtIHZhbHVlIG9mICdlbnVtZXJhYmxlJyBwcm9wZXJ0eSBvZiAnZGVzY09iaicgaXMgYSBTdHJpbmcgb2JqZWN0ICg4LjEwLjUgc3RlcCAzLmIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgew0KICAgICAgICAgICAgcHJvcDogew0KICAgICAgICAgICAgICAgIGVudW1lcmFibGU6IG5ldyBTdHJpbmcoKQ0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCiAgICAgICAgZm9yICh2YXIgcHJvcGVydHkgaW4gb2JqKSB7DQogICAgICAgICAgICBpZiAocHJvcGVydHkgPT09ICJwcm9wIikgew0KICAgICAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KICAgICAgICByZXR1cm4gYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - value of 'enumerable' property of 'descObj' is a String object (8.10.5 step 3.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-46.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy01LWItNDcuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydGllcyAtIHZhbHVlIG9mICdlbnVtZXJhYmxlJyBwcm9wZXJ0eSBvZiAnZGVzY09iaicgaXMgYSBCb29sZWFuIG9iamVjdCAoOC4xMC41IHN0ZXAgMy5iKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIHsNCiAgICAgICAgICAgIHByb3A6IHsNCiAgICAgICAgICAgICAgICBlbnVtZXJhYmxlOiBuZXcgQm9vbGVhbih0cnVlKQ0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCiAgICAgICAgZm9yICh2YXIgcHJvcGVydHkgaW4gb2JqKSB7DQogICAgICAgICAgICBpZiAocHJvcGVydHkgPT09ICJwcm9wIikgew0KICAgICAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KICAgICAgICByZXR1cm4gYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - value of 'enumerable' property of 'descObj' is a Boolean object (8.10.5 step 3.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-47.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy01LWItNDguanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydGllcyAtIHZhbHVlIG9mICdlbnVtZXJhYmxlJyBwcm9wZXJ0eSBvZiAnZGVzY09iaicgaXMgYSBOdW1iZXIgb2JqZWN0ICg4LjEwLjUgc3RlcCAzLmIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgew0KICAgICAgICAgICAgcHJvcDogew0KICAgICAgICAgICAgICAgIGVudW1lcmFibGU6IG5ldyBOdW1iZXIoLTkpDQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KICAgICAgICBmb3IgKHZhciBwcm9wZXJ0eSBpbiBvYmopIHsNCiAgICAgICAgICAgIGlmIChwcm9wZXJ0eSA9PT0gInByb3AiKSB7DQogICAgICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQogICAgICAgIHJldHVybiBhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - value of 'enumerable' property of 'descObj' is a Number object (8.10.5 step 3.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-48.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy01LWItNDkuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydGllcyAtIHZhbHVlIG9mICdlbnVtZXJhYmxlJyBwcm9wZXJ0eSBvZiAnZGVzY09iaicgaXMgdGhlIE1hdGggb2JqZWN0ICg4LjEwLjUgc3RlcCAzLmIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgew0KICAgICAgICAgICAgcHJvcDogew0KICAgICAgICAgICAgICAgIGVudW1lcmFibGU6IE1hdGgNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQogICAgICAgIGZvciAodmFyIHByb3BlcnR5IGluIG9iaikgew0KICAgICAgICAgICAgaWYgKHByb3BlcnR5ID09PSAicHJvcCIpIHsNCiAgICAgICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCiAgICAgICAgcmV0dXJuIGFjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - value of 'enumerable' property of 'descObj' is the Math object (8.10.5 step 3.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-49.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy01LWItNS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ2Rlc2NPYmonIGlzIGEgc3RyaW5nICg4LjEwLjUgc3RlcCAxKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIHsNCiAgICAgICAgICAgICAgICBwcm9wOiAiYWJjIg0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiBlIGluc3RhbmNlb2YgVHlwZUVycm9yICYmICFvYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - 'descObj' is a string (8.10.5 step 1)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy01LWItNTAuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydGllcyAtIHZhbHVlIG9mICdlbnVtZXJhYmxlJyBwcm9wZXJ0eSBvZiAnZGVzY09iaicgaXMgYSBEYXRlIG9iamVjdCAoOC4xMC41IHN0ZXAgMy5iKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIHsNCiAgICAgICAgICAgIHByb3A6IHsNCiAgICAgICAgICAgICAgICBlbnVtZXJhYmxlOiBuZXcgRGF0ZSgpDQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KICAgICAgICBmb3IgKHZhciBwcm9wZXJ0eSBpbiBvYmopIHsNCiAgICAgICAgICAgIGlmIChwcm9wZXJ0eSA9PT0gInByb3AiKSB7DQogICAgICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQogICAgICAgIHJldHVybiBhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - value of 'enumerable' property of 'descObj' is a Date object (8.10.5 step 3.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-50.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy01LWItNTEuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydGllcyAtIHZhbHVlIG9mICdlbnVtZXJhYmxlJyBwcm9wZXJ0eSBvZiAnZGVzY09iaicgaXMgYSBSZWdFeHAgb2JqZWN0ICg4LjEwLjUgc3RlcCAzLmIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgew0KICAgICAgICAgICAgcHJvcDogew0KICAgICAgICAgICAgICAgIGVudW1lcmFibGU6IG5ldyBSZWdFeHAoKQ0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCiAgICAgICAgZm9yICh2YXIgcHJvcGVydHkgaW4gb2JqKSB7DQogICAgICAgICAgICBpZiAocHJvcGVydHkgPT09ICJwcm9wIikgew0KICAgICAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KICAgICAgICByZXR1cm4gYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - value of 'enumerable' property of 'descObj' is a RegExp object (8.10.5 step 3.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-51.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy01LWItNTIuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydGllcyAtIHZhbHVlIG9mICdlbnVtZXJhYmxlJyBwcm9wZXJ0eSBvZiAnZGVzY09iaicgaXMgdGhlIEpTT04gb2JqZWN0ICg4LjEwLjUgc3RlcCAzLmIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgew0KICAgICAgICAgICAgcHJvcDogew0KICAgICAgICAgICAgICAgIGVudW1lcmFibGU6IEpTT04NCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQogICAgICAgIGZvciAodmFyIHByb3BlcnR5IGluIG9iaikgew0KICAgICAgICAgICAgaWYgKHByb3BlcnR5ID09PSAicHJvcCIpIHsNCiAgICAgICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCiAgICAgICAgcmV0dXJuIGFjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - value of 'enumerable' property of 'descObj' is the JSON object (8.10.5 step 3.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-52.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy01LWItNTMuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydGllcyAtIHZhbHVlIG9mICdlbnVtZXJhYmxlJyBwcm9wZXJ0eSBvZiAnZGVzY09iaicgaXMgYW4gRXJyb3Igb2JqZWN0ICg4LjEwLjUgc3RlcCAzLmIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgew0KICAgICAgICAgICAgcHJvcDogew0KICAgICAgICAgICAgICAgIGVudW1lcmFibGU6IG5ldyBFcnJvcigpDQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KICAgICAgICBmb3IgKHZhciBwcm9wZXJ0eSBpbiBvYmopIHsNCiAgICAgICAgICAgIGlmIChwcm9wZXJ0eSA9PT0gInByb3AiKSB7DQogICAgICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQogICAgICAgIHJldHVybiBhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - value of 'enumerable' property of 'descObj' is an Error object (8.10.5 step 3.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-53.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy01LWItNTQuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydGllcyAtIHZhbHVlIG9mICdlbnVtZXJhYmxlJyBwcm9wZXJ0eSBvZiAnZGVzY09iaicgaXMgdGhlIEFyZ3VtZW50cyBvYmplY3QgKDguMTAuNSBzdGVwIDMuYikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQogICAgICAgIHZhciBhcmc7IA0KICAgICAgICANCiAgICAgICAgKGZ1bmN0aW9uIGZ1bigpIHsNCiAgICAgICAgICAgIGFyZyA9IGFyZ3VtZW50czsNCiAgICAgICAgfSgxLCAyLCAzKSk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMob2JqLCB7DQogICAgICAgICAgICBwcm9wOiB7DQogICAgICAgICAgICAgICAgZW51bWVyYWJsZTogYXJnDQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KICAgICAgICBmb3IgKHZhciBwcm9wZXJ0eSBpbiBvYmopIHsNCiAgICAgICAgICAgIGlmIChwcm9wZXJ0eSA9PT0gInByb3AiKSB7DQogICAgICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQogICAgICAgIHJldHVybiBhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - value of 'enumerable' property of 'descObj' is the Arguments object (8.10.5 step 3.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-54.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy01LWItNTYuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydGllcyAtIHZhbHVlIG9mICdlbnVtZXJhYmxlJyBwcm9wZXJ0eSBvZiAnZGVzY09iaicgaXMgdGhlIGdsb2JhbCBvYmplY3QgKDguMTAuNSBzdGVwIDMuYikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMob2JqLCB7DQogICAgICAgICAgICBwcm9wOiB7DQogICAgICAgICAgICAgICAgZW51bWVyYWJsZTogZm5HbG9iYWxPYmplY3QoKQ0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCiAgICAgICAgZm9yICh2YXIgcHJvcGVydHkgaW4gb2JqKSB7DQogICAgICAgICAgICBpZiAocHJvcGVydHkgPT09ICJwcm9wIikgew0KICAgICAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KICAgICAgICByZXR1cm4gYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - value of 'enumerable' property of 'descObj' is the global object (8.10.5 step 3.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-56.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy01LWItNTcuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydGllcyAtIHZhbHVlIG9mICdlbnVtZXJhYmxlJyBwcm9wZXJ0eSBvZiAnZGVzY09iaicgaXMgYSBzdHJpbmcgKHZhbHVlIGlzICdmYWxzZScpIHdoaWNoIGlzIHRyZWF0ZWQgYXMgdHJ1ZSB2YWx1ZSAoOC4xMC41IHN0ZXAgMy5iKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIHsNCiAgICAgICAgICAgIHByb3A6IHsNCiAgICAgICAgICAgICAgICBlbnVtZXJhYmxlOiAiZmFsc2UiDQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KICAgICAgICBmb3IgKHZhciBwcm9wZXJ0eSBpbiBvYmopIHsNCiAgICAgICAgICAgIGlmIChwcm9wZXJ0eSA9PT0gInByb3AiKSB7DQogICAgICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQogICAgICAgIHJldHVybiBhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - value of 'enumerable' property of 'descObj' is a string (value is 'false') which is treated as true value (8.10.5 step 3.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-57.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy01LWItNTguanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydGllcyAtIHZhbHVlIG9mICdlbnVtZXJhYmxlJyBwcm9wZXJ0eSBvZiAnZGVzY09iaicgaXMgbmV3IEJvb2xlYW4oZmFsc2UpIHdoaWNoIGlzIHRyZWF0ZWQgYXMgdHJ1ZSB2YWx1ZSAoOC4xMC41IHN0ZXAgMy5iKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIHsNCiAgICAgICAgICAgIHByb3A6IHsNCiAgICAgICAgICAgICAgICBlbnVtZXJhYmxlOiBuZXcgQm9vbGVhbihmYWxzZSkNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQogICAgICAgIGZvciAodmFyIHByb3BlcnR5IGluIG9iaikgew0KICAgICAgICAgICAgaWYgKHByb3BlcnR5ID09PSAicHJvcCIpIHsNCiAgICAgICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCiAgICAgICAgcmV0dXJuIGFjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - value of 'enumerable' property of 'descObj' is new Boolean(false) which is treated as true value (8.10.5 step 3.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-58.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy01LWItNTkuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydGllcyAtICdjb25maWd1cmFibGUnIHByb3BlcnR5IG9mICdkZXNjT2JqJyBpcyBwcmVzZW50ICg4LjEwLjUgc3RlcCA0KQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgew0KICAgICAgICAgICAgcHJvcDogew0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgcmVzdWx0MSA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KICAgICAgICBkZWxldGUgb2JqLnByb3A7DQogICAgICAgIHZhciByZXN1bHQyID0gb2JqLmhhc093blByb3BlcnR5KCJwcm9wIik7DQoNCiAgICAgICAgcmV0dXJuIHJlc3VsdDEgPT09IHRydWUgJiYgcmVzdWx0MiA9PT0gZmFsc2U7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - 'configurable' property of 'descObj' is present (8.10.5 step 4)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-59.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy01LWItNi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ2VudW1lcmFibGUnIHByb3BlcnR5IG9mICdkZXNjT2JqJyBpcyBwcmVzZW50ICg4LjEwLjUgc3RlcCAzKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIHsNCiAgICAgICAgICAgIHByb3A6IHsNCiAgICAgICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlDQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KDQogICAgICAgIGZvciAodmFyIHByb3BlcnR5IGluIG9iaikgew0KICAgICAgICAgICAgaWYgKHByb3BlcnR5ID09PSAicHJvcCIpIHsNCiAgICAgICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCiAgICAgICAgcmV0dXJuIGFjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - 'enumerable' property of 'descObj' is present (8.10.5 step 3)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-6.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy01LWItNjAuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydGllcyAtICdjb25maWd1cmFibGUnIHByb3BlcnR5IG9mICdkZXNjT2JqJyBpcyBub3QgcHJlc2VudCAoOC4xMC41IHN0ZXAgNCkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIHsNCiAgICAgICAgICAgIHByb3A6IHt9DQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciByZXN1bHQxID0gb2JqLmhhc093blByb3BlcnR5KCJwcm9wIik7DQogICAgICAgIGRlbGV0ZSBvYmoucHJvcDsNCiAgICAgICAgdmFyIHJlc3VsdDIgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCg0KICAgICAgICByZXR1cm4gcmVzdWx0MSA9PT0gdHJ1ZSAmJiByZXN1bHQyID09PSB0cnVlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - 'configurable' property of 'descObj' is not present (8.10.5 step 4)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-60.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy01LWItNjEuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydGllcyAtICdjb25maWd1cmFibGUnIHByb3BlcnR5IG9mICdkZXNjT2JqJyBpcyBvd24gZGF0YSBwcm9wZXJ0eSAoOC4xMC41IHN0ZXAgNC5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgew0KICAgICAgICAgICAgcHJvcDogew0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgcmVzdWx0MSA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KICAgICAgICBkZWxldGUgb2JqLnByb3A7DQogICAgICAgIHZhciByZXN1bHQyID0gb2JqLmhhc093blByb3BlcnR5KCJwcm9wIik7DQoNCiAgICAgICAgcmV0dXJuIHJlc3VsdDEgPT09IHRydWUgJiYgcmVzdWx0MiA9PT0gZmFsc2U7DQoNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - 'configurable' property of 'descObj' is own data property (8.10.5 step 4.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-61.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy01LWItNjIuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydGllcyAtICdjb25maWd1cmFibGUnIHByb3BlcnR5IG9mICdkZXNjT2JqJyBpcyBpbmhlcml0ZWQgZGF0YSBwcm9wZXJ0eSAoOC4xMC41IHN0ZXAgNC5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICB2YXIgcHJvdG8gPSB7DQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfTsNCiAgICAgICAgdmFyIENvbiA9IGZ1bmN0aW9uICgpIHsgfTsNCiAgICAgICAgQ29uLnByb3RvdHlwZSA9IHByb3RvOw0KICAgICAgICB2YXIgZGVzY09iaiA9IG5ldyBDb24oKTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIHsNCiAgICAgICAgICAgIHByb3A6IGRlc2NPYmoNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIHJlc3VsdDEgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCiAgICAgICAgZGVsZXRlIG9iai5wcm9wOw0KICAgICAgICB2YXIgcmVzdWx0MiA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KDQogICAgICAgIHJldHVybiByZXN1bHQxID09PSB0cnVlICYmIHJlc3VsdDIgPT09IGZhbHNlOw0KDQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - 'configurable' property of 'descObj' is inherited data property (8.10.5 step 4.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-62.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy01LWItNjMuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydGllcyAtICdjb25maWd1cmFibGUnIHByb3BlcnR5IG9mICdkZXNjT2JqJyBpcyBvd24gZGF0YSBwcm9wZXJ0eSB0aGF0IG92ZXJyaWRlcyBhbiBpbmhlcml0ZWQgZGF0YSBwcm9wZXJ0eSAoOC4xMC41IHN0ZXAgNC5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICB2YXIgcHJvdG8gPSB7DQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfTsNCg0KICAgICAgICB2YXIgQ29uID0gZnVuY3Rpb24gKCkgeyB9Ow0KICAgICAgICBDb24ucHJvdG90eXBlID0gcHJvdG87DQogICAgICAgIHZhciBkZXNjT2JqID0gbmV3IENvbigpOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShkZXNjT2JqLCAiY29uZmlndXJhYmxlIiwgew0KICAgICAgICAgICAgdmFsdWU6IGZhbHNlDQogICAgICAgIH0pOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgew0KICAgICAgICAgICAgcHJvcDogZGVzY09iag0KICAgICAgICB9KTsNCiAgICAgICAgdmFyIHJlc3VsdDEgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCiAgICAgICAgZGVsZXRlIG9iai5wcm9wOw0KICAgICAgICB2YXIgcmVzdWx0MiA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KDQogICAgICAgIHJldHVybiByZXN1bHQxID09PSB0cnVlICYmIHJlc3VsdDIgPT09IHRydWU7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - 'configurable' property of 'descObj' is own data property that overrides an inherited data property (8.10.5 step 4.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-63.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy01LWItNjQuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydGllcyAtICdjb25maWd1cmFibGUnIHByb3BlcnR5IG9mICdkZXNjT2JqJyBpcyBvd24gZGF0YSBwcm9wZXJ0eSB0aGF0IG92ZXJyaWRlcyBhbiBpbmhlcml0ZWQgYWNjZXNzb3IgcHJvcGVydHkgKDguMTAuNSBzdGVwIDQuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgdmFyIHByb3RvID0ge307DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShwcm90bywgImNvbmZpZ3VyYWJsZSIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgQ29uID0gZnVuY3Rpb24gKCkgeyB9Ow0KICAgICAgICBDb24ucHJvdG90eXBlID0gcHJvdG87DQogICAgICAgIHZhciBkZXNjT2JqID0gbmV3IENvbigpOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShkZXNjT2JqLCAiY29uZmlndXJhYmxlIiwgew0KICAgICAgICAgICAgdmFsdWU6IGZhbHNlDQogICAgICAgIH0pOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgew0KICAgICAgICAgICAgcHJvcDogZGVzY09iag0KICAgICAgICB9KTsNCiAgICAgICAgdmFyIHJlc3VsdDEgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCiAgICAgICAgZGVsZXRlIG9iai5wcm9wOw0KICAgICAgICB2YXIgcmVzdWx0MiA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KDQogICAgICAgIHJldHVybiByZXN1bHQxID09PSB0cnVlICYmIHJlc3VsdDIgPT09IHRydWU7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - 'configurable' property of 'descObj' is own data property that overrides an inherited accessor property (8.10.5 step 4.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-64.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy01LWItNjUuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydGllcyAtICdjb25maWd1cmFibGUnIHByb3BlcnR5IG9mICdkZXNjT2JqJyBpcyBvd24gYWNjZXNzb3IgcHJvcGVydHkgKDguMTAuNSBzdGVwIDQuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICB2YXIgZGVzY09iaiA9IHt9Ow0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoZGVzY09iaiwgImNvbmZpZ3VyYWJsZSIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIHsNCiAgICAgICAgICAgIHByb3A6IGRlc2NPYmoNCiAgICAgICAgfSk7DQogICAgICAgIHZhciByZXN1bHQxID0gb2JqLmhhc093blByb3BlcnR5KCJwcm9wIik7DQogICAgICAgIGRlbGV0ZSBvYmoucHJvcDsNCiAgICAgICAgdmFyIHJlc3VsdDIgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCg0KICAgICAgICByZXR1cm4gcmVzdWx0MSA9PT0gdHJ1ZSAmJiByZXN1bHQyID09PSBmYWxzZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - 'configurable' property of 'descObj' is own accessor property (8.10.5 step 4.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-65.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy01LWItNjYuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydGllcyAtICdjb25maWd1cmFibGUnIHByb3BlcnR5IG9mICdkZXNjT2JqJyBpcyBpbmhlcml0ZWQgYWNjZXNzb3IgcHJvcGVydHkgKDguMTAuNSBzdGVwIDQuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgdmFyIHByb3RvID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHByb3RvLCAiY29uZmlndXJhYmxlIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBDb24gPSBmdW5jdGlvbiAoKSB7IH07DQogICAgICAgIENvbi5wcm90b3R5cGUgPSBwcm90bzsNCiAgICAgICAgdmFyIGRlc2NPYmogPSBuZXcgQ29uKCk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMob2JqLCB7DQogICAgICAgICAgICBwcm9wOiBkZXNjT2JqDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciByZXN1bHQxID0gb2JqLmhhc093blByb3BlcnR5KCJwcm9wIik7DQogICAgICAgIGRlbGV0ZSBvYmoucHJvcDsNCiAgICAgICAgdmFyIHJlc3VsdDIgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCg0KICAgICAgICByZXR1cm4gcmVzdWx0MSA9PT0gdHJ1ZSAmJiByZXN1bHQyID09PSBmYWxzZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - 'configurable' property of 'descObj' is inherited accessor property (8.10.5 step 4.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-66.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy01LWItNjcuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydGllcyAtICdjb25maWd1cmFibGUnIHByb3BlcnR5IG9mICdkZXNjT2JqJyBpcyBvd24gYWNjZXNzb3IgcHJvcGVydHkgdGhhdCBvdmVycmlkZXMgYW4gaW5oZXJpdGVkIGRhdGEgcHJvcGVydHkgKDguMTAuNSBzdGVwIDQuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgdmFyIHByb3RvID0gew0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH07DQoNCiAgICAgICAgdmFyIENvbiA9IGZ1bmN0aW9uICgpIHsgfTsNCiAgICAgICAgQ29uLnByb3RvdHlwZSA9IHByb3RvOw0KICAgICAgICB2YXIgZGVzY09iaiA9IG5ldyBDb24oKTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoZGVzY09iaiwgImNvbmZpZ3VyYWJsZSIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMob2JqLCB7DQogICAgICAgICAgICBwcm9wOiBkZXNjT2JqDQogICAgICAgIH0pOw0KICAgICAgICB2YXIgcmVzdWx0MSA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KICAgICAgICBkZWxldGUgb2JqLnByb3A7DQogICAgICAgIHZhciByZXN1bHQyID0gb2JqLmhhc093blByb3BlcnR5KCJwcm9wIik7DQoNCiAgICAgICAgcmV0dXJuIHJlc3VsdDEgPT09IHRydWUgJiYgcmVzdWx0MiA9PT0gdHJ1ZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - 'configurable' property of 'descObj' is own accessor property that overrides an inherited data property (8.10.5 step 4.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-67.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy01LWItNjguanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydGllcyAtICdjb25maWd1cmFibGUnIHByb3BlcnR5IG9mICdkZXNjT2JqJyBpcyBvd24gYWNjZXNzb3IgcHJvcGVydHkgdGhhdCBvdmVycmlkZXMgYW4gaW5oZXJpdGVkIGFjY2Vzc29yIHByb3BlcnR5ICg4LjEwLjUgc3RlcCA0LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIHZhciBwcm90byA9IHt9Ow0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkocHJvdG8sICJjb25maWd1cmFibGUiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIENvbiA9IGZ1bmN0aW9uICgpIHsgfTsNCiAgICAgICAgQ29uLnByb3RvdHlwZSA9IHByb3RvOw0KICAgICAgICB2YXIgZGVzY09iaiA9IG5ldyBDb24oKTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoZGVzY09iaiwgImNvbmZpZ3VyYWJsZSIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMob2JqLCB7DQogICAgICAgICAgICBwcm9wOiBkZXNjT2JqDQogICAgICAgIH0pOw0KICAgICAgICB2YXIgcmVzdWx0MSA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KICAgICAgICBkZWxldGUgb2JqLnByb3A7DQogICAgICAgIHZhciByZXN1bHQyID0gb2JqLmhhc093blByb3BlcnR5KCJwcm9wIik7DQoNCiAgICAgICAgcmV0dXJuIHJlc3VsdDEgPT09IHRydWUgJiYgcmVzdWx0MiA9PT0gdHJ1ZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - 'configurable' property of 'descObj' is own accessor property that overrides an inherited accessor property (8.10.5 step 4.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-68.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy01LWItNjkuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydGllcyAtICdjb25maWd1cmFibGUnIHByb3BlcnR5IG9mICdkZXNjT2JqJyBpcyBvd24gYWNjZXNzb3IgcHJvcGVydHkgd2l0aG91dCBhIGdldCBmdW5jdGlvbiAoOC4xMC41IHN0ZXAgNC5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIHZhciBkZXNjT2JqID0ge307DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShkZXNjT2JqLCAiY29uZmlndXJhYmxlIiwgew0KICAgICAgICAgICAgc2V0OiBmdW5jdGlvbiAoKSB7IH0NCiAgICAgICAgfSk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMob2JqLCB7DQogICAgICAgICAgICBwcm9wOiBkZXNjT2JqDQogICAgICAgIH0pOw0KICAgICAgICB2YXIgcmVzdWx0MSA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KICAgICAgICBkZWxldGUgb2JqLnByb3A7DQogICAgICAgIHZhciByZXN1bHQyID0gb2JqLmhhc093blByb3BlcnR5KCJwcm9wIik7DQoNCiAgICAgICAgcmV0dXJuIHJlc3VsdDEgPT09IHRydWUgJiYgcmVzdWx0MiA9PT0gdHJ1ZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - 'configurable' property of 'descObj' is own accessor property without a get function (8.10.5 step 4.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-69.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy01LWItNy5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ2VudW1lcmFibGUnIHByb3BlcnR5IG9mICdkZXNjT2JqJyBpcyBub3QgcHJlc2VudCAoOC4xMC41IHN0ZXAgMykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMob2JqLCB7DQogICAgICAgICAgICBwcm9wOiB7fQ0KICAgICAgICB9KTsNCg0KICAgICAgICBmb3IgKHZhciBwcm9wZXJ0eSBpbiBvYmopIHsNCiAgICAgICAgICAgIGlmIChwcm9wZXJ0eSA9PT0gInByb3AiKSB7DQogICAgICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQogICAgICAgIHJldHVybiAhYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - 'enumerable' property of 'descObj' is not present (8.10.5 step 3)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-7.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy01LWItNzAuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydGllcyAtICdjb25maWd1cmFibGUnIHByb3BlcnR5IG9mICdkZXNjT2JqJyBpcyBvd24gYWNjZXNzb3IgcHJvcGVydHkgd2l0aG91dCBhIGdldCBmdW5jdGlvbiB0aGF0IG92ZXJyaWRlcyBhbiBpbmhlcml0ZWQgYWNjZXNzb3IgcHJvcGVydHkgKDguMTAuNSBzdGVwIDQuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgdmFyIHByb3RvID0ge307DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShwcm90bywgImNvbmZpZ3VyYWJsZSIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgQ29uID0gZnVuY3Rpb24gKCkgeyB9Ow0KICAgICAgICBDb24ucHJvdG90eXBlID0gcHJvdG87DQogICAgICAgIHZhciBkZXNjT2JqID0gbmV3IENvbigpOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShkZXNjT2JqLCAiY29uZmlndXJhYmxlIiwgew0KICAgICAgICAgICAgc2V0OiBmdW5jdGlvbiAoKSB7IH0NCiAgICAgICAgfSk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMob2JqLCB7DQogICAgICAgICAgICBwcm9wOiBkZXNjT2JqDQogICAgICAgIH0pOw0KICAgICAgICB2YXIgcmVzdWx0MSA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KICAgICAgICBkZWxldGUgb2JqLnByb3A7DQogICAgICAgIHZhciByZXN1bHQyID0gb2JqLmhhc093blByb3BlcnR5KCJwcm9wIik7DQoNCiAgICAgICAgcmV0dXJuIHJlc3VsdDEgPT09IHRydWUgJiYgcmVzdWx0MiA9PT0gdHJ1ZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - 'configurable' property of 'descObj' is own accessor property without a get function that overrides an inherited accessor property (8.10.5 step 4.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-70.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy01LWItNzEuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydGllcyAtICdjb25maWd1cmFibGUnIHByb3BlcnR5IG9mICdkZXNjT2JqJyBpcyBpbmhlcml0ZWQgYWNjZXNzb3IgcHJvcGVydHkgd2l0aG91dCBhIGdldCBmdW5jdGlvbiAoOC4xMC41IHN0ZXAgNC5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICB2YXIgcHJvdG8gPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkocHJvdG8sICJjb25maWd1cmFibGUiLCB7DQogICAgICAgICAgICBzZXQ6IGZ1bmN0aW9uICgpIHsgfQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgQ29uID0gZnVuY3Rpb24gKCkgeyB9Ow0KICAgICAgICBDb24ucHJvdG90eXBlID0gcHJvdG87DQogICAgICAgIHZhciBkZXNjT2JqID0gbmV3IENvbigpOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgew0KICAgICAgICAgICAgcHJvcDogZGVzY09iag0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgcmVzdWx0MSA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KICAgICAgICBkZWxldGUgb2JqLnByb3A7DQogICAgICAgIHZhciByZXN1bHQyID0gb2JqLmhhc093blByb3BlcnR5KCJwcm9wIik7DQoNCiAgICAgICAgcmV0dXJuIHJlc3VsdDEgPT09IHRydWUgJiYgcmVzdWx0MiA9PT0gdHJ1ZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - 'configurable' property of 'descObj' is inherited accessor property without a get function (8.10.5 step 4.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-71.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy01LWItNzIuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydGllcyAtICdkZXNjT2JqJyBpcyBhIEZ1bmN0aW9uIG9iamVjdCB3aGljaCBpbXBsZW1lbnRzIGl0cyBvd24gW1tHZXRdXSBtZXRob2QgdG8gZ2V0ICdjb25maWd1cmFibGUnIHByb3BlcnR5ICg4LjEwLjUgc3RlcCA0LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgdmFyIGRlc2NPYmogPSBmdW5jdGlvbiAoKSB7IH07DQogICAgICAgIGRlc2NPYmouY29uZmlndXJhYmxlID0gdHJ1ZTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIHsNCiAgICAgICAgICAgIHByb3A6IGRlc2NPYmoNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIHJlc3VsdDEgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCiAgICAgICAgZGVsZXRlIG9iai5wcm9wOw0KICAgICAgICB2YXIgcmVzdWx0MiA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KDQogICAgICAgIHJldHVybiByZXN1bHQxID09PSB0cnVlICYmIHJlc3VsdDIgPT09IGZhbHNlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - 'descObj' is a Function object which implements its own [[Get]] method to get 'configurable' property (8.10.5 step 4.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-72.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy01LWItNzMuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydGllcyAtICdkZXNjT2JqJyBpcyBhbiBBcnJheSBvYmplY3Qgd2hpY2ggaW1wbGVtZW50cyBpdHMgb3duIFtbR2V0XV0gbWV0aG9kIHRvIGdldCAnY29uZmlndXJhYmxlJyBwcm9wZXJ0eSAoOC4xMC41IHN0ZXAgNC5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIHZhciBkZXNjT2JqID0gW107DQogICAgICAgIGRlc2NPYmouY29uZmlndXJhYmxlID0gdHJ1ZTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIHsNCiAgICAgICAgICAgIHByb3A6IGRlc2NPYmoNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIHJlc3VsdDEgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCiAgICAgICAgZGVsZXRlIG9iai5wcm9wOw0KICAgICAgICB2YXIgcmVzdWx0MiA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KDQogICAgICAgIHJldHVybiByZXN1bHQxID09PSB0cnVlICYmIHJlc3VsdDIgPT09IGZhbHNlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - 'descObj' is an Array object which implements its own [[Get]] method to get 'configurable' property (8.10.5 step 4.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-73.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy01LWItNzQuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydGllcyAtICdkZXNjT2JqJyBpcyBhIFN0cmluZyBvYmplY3Qgd2hpY2ggaW1wbGVtZW50cyBpdHMgb3duIFtbR2V0XV0gbWV0aG9kIHRvIGdldCAnY29uZmlndXJhYmxlJyBwcm9wZXJ0eSAoOC4xMC41IHN0ZXAgNC5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIHZhciBkZXNjT2JqID0gbmV3IFN0cmluZygpOw0KICAgICAgICBkZXNjT2JqLmNvbmZpZ3VyYWJsZSA9IHRydWU7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMob2JqLCB7DQogICAgICAgICAgICBwcm9wOiBkZXNjT2JqDQogICAgICAgIH0pOw0KICAgICAgICB2YXIgcmVzdWx0MSA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KICAgICAgICBkZWxldGUgb2JqLnByb3A7DQogICAgICAgIHZhciByZXN1bHQyID0gb2JqLmhhc093blByb3BlcnR5KCJwcm9wIik7DQoNCiAgICAgICAgcmV0dXJuIHJlc3VsdDEgPT09IHRydWUgJiYgcmVzdWx0MiA9PT0gZmFsc2U7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - 'descObj' is a String object which implements its own [[Get]] method to get 'configurable' property (8.10.5 step 4.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-74.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy01LWItNzUuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydGllcyAtICdkZXNjT2JqJyBpcyBhIEJvb2xlYW4gb2JqZWN0IHdoaWNoIGltcGxlbWVudHMgaXRzIG93biBbW0dldF1dIG1ldGhvZCB0byBnZXQgJ2NvbmZpZ3VyYWJsZScgcHJvcGVydHkgKDguMTAuNSBzdGVwIDQuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICB2YXIgZGVzY09iaiA9IG5ldyBCb29sZWFuKGZhbHNlKTsNCiAgICAgICAgZGVzY09iai5jb25maWd1cmFibGUgPSB0cnVlOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgew0KICAgICAgICAgICAgcHJvcDogZGVzY09iag0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgcmVzdWx0MSA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KICAgICAgICBkZWxldGUgb2JqLnByb3A7DQogICAgICAgIHZhciByZXN1bHQyID0gb2JqLmhhc093blByb3BlcnR5KCJwcm9wIik7DQoNCiAgICAgICAgcmV0dXJuIHJlc3VsdDEgPT09IHRydWUgJiYgcmVzdWx0MiA9PT0gZmFsc2U7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - 'descObj' is a Boolean object which implements its own [[Get]] method to get 'configurable' property (8.10.5 step 4.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-75.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy01LWItNzYuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydGllcyAtICdkZXNjT2JqJyBpcyBhIE51bWJlciBvYmplY3Qgd2hpY2ggaW1wbGVtZW50cyBpdHMgb3duIFtbR2V0XV0gbWV0aG9kIHRvIGdldCAnY29uZmlndXJhYmxlJyBwcm9wZXJ0eSAoOC4xMC41IHN0ZXAgNC5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIHZhciBkZXNjT2JqID0gbmV3IE51bWJlcigtOSk7DQogICAgICAgIGRlc2NPYmouY29uZmlndXJhYmxlID0gdHJ1ZTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIHsNCiAgICAgICAgICAgIHByb3A6IGRlc2NPYmoNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIHJlc3VsdDEgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCiAgICAgICAgZGVsZXRlIG9iai5wcm9wOw0KICAgICAgICB2YXIgcmVzdWx0MiA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KDQogICAgICAgIHJldHVybiByZXN1bHQxID09PSB0cnVlICYmIHJlc3VsdDIgPT09IGZhbHNlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - 'descObj' is a Number object which implements its own [[Get]] method to get 'configurable' property (8.10.5 step 4.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-76.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy01LWItNzcuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydGllcyAtICdkZXNjT2JqJyBpcyB0aGUgTWF0aCBvYmplY3Qgd2hpY2ggaW1wbGVtZW50cyBpdHMgb3duIFtbR2V0XV0gbWV0aG9kIHRvIGdldCAnY29uZmlndXJhYmxlJyBwcm9wZXJ0eSAoOC4xMC41IHN0ZXAgNC5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBNYXRoLmNvbmZpZ3VyYWJsZSA9IHRydWU7DQoNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgew0KICAgICAgICAgICAgICAgIHByb3A6IE1hdGgNCiAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICB2YXIgcmVzdWx0MSA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KICAgICAgICAgICAgZGVsZXRlIG9iai5wcm9wOw0KICAgICAgICAgICAgdmFyIHJlc3VsdDIgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCg0KICAgICAgICAgICAgcmV0dXJuIHJlc3VsdDEgPT09IHRydWUgJiYgcmVzdWx0MiA9PT0gZmFsc2U7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgTWF0aC5jb25maWd1cmFibGU7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - 'descObj' is the Math object which implements its own [[Get]] method to get 'configurable' property (8.10.5 step 4.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-77.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy01LWItNzguanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydGllcyAtICdkZXNjT2JqJyBpcyBhIERhdGUgb2JqZWN0IHdoaWNoIGltcGxlbWVudHMgaXRzIG93biBbW0dldF1dIG1ldGhvZCB0byBnZXQgJ2NvbmZpZ3VyYWJsZScgcHJvcGVydHkgKDguMTAuNSBzdGVwIDQuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICB2YXIgZGVzY09iaiA9IG5ldyBEYXRlKCk7DQogICAgICAgIGRlc2NPYmouY29uZmlndXJhYmxlID0gdHJ1ZTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIHsNCiAgICAgICAgICAgIHByb3A6IGRlc2NPYmoNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIHJlc3VsdDEgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCiAgICAgICAgZGVsZXRlIG9iai5wcm9wOw0KICAgICAgICB2YXIgcmVzdWx0MiA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KDQogICAgICAgIHJldHVybiByZXN1bHQxID09PSB0cnVlICYmIHJlc3VsdDIgPT09IGZhbHNlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - 'descObj' is a Date object which implements its own [[Get]] method to get 'configurable' property (8.10.5 step 4.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-78.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy01LWItNzkuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydGllcyAtICdkZXNjT2JqJyBpcyBhIFJlZ0V4cCBvYmplY3Qgd2hpY2ggaW1wbGVtZW50cyBpdHMgb3duIFtbR2V0XV0gbWV0aG9kIHRvIGdldCAnY29uZmlndXJhYmxlJyBwcm9wZXJ0eSAoOC4xMC41IHN0ZXAgNC5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIHZhciBkZXNjT2JqID0gbmV3IFJlZ0V4cCgpOw0KICAgICAgICBkZXNjT2JqLmNvbmZpZ3VyYWJsZSA9IHRydWU7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMob2JqLCB7DQogICAgICAgICAgICBwcm9wOiBkZXNjT2JqDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciByZXN1bHQxID0gb2JqLmhhc093blByb3BlcnR5KCJwcm9wIik7DQogICAgICAgIGRlbGV0ZSBvYmoucHJvcDsNCiAgICAgICAgdmFyIHJlc3VsdDIgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCg0KICAgICAgICByZXR1cm4gcmVzdWx0MSA9PT0gdHJ1ZSAmJiByZXN1bHQyID09PSBmYWxzZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - 'descObj' is a RegExp object which implements its own [[Get]] method to get 'configurable' property (8.10.5 step 4.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-79.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy01LWItOC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ2VudW1lcmFibGUnIHByb3BlcnR5IG9mICdkZXNjT2JqJyBpcyBvd24gZGF0YSBwcm9wZXJ0eSAoOC4xMC41IHN0ZXAgMy5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICB2YXIgZGVzY09iaiA9IHsgZW51bWVyYWJsZTogdHJ1ZSB9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgew0KICAgICAgICAgICAgcHJvcDogZGVzY09iag0KICAgICAgICB9KTsNCg0KICAgICAgICBmb3IgKHZhciBwcm9wZXJ0eSBpbiBvYmopIHsNCiAgICAgICAgICAgIGlmIChwcm9wZXJ0eSA9PT0gInByb3AiKSB7DQogICAgICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQogICAgICAgIHJldHVybiBhY2Nlc3NlZDsNCg0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - 'enumerable' property of 'descObj' is own data property (8.10.5 step 3.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-8.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy01LWItODAuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydGllcyAtICdkZXNjT2JqJyBpcyB0aGUgSlNPTiBvYmplY3Qgd2hpY2ggaW1wbGVtZW50cyBpdHMgb3duIFtbR2V0XV0gbWV0aG9kIHRvIGdldCAnY29uZmlndXJhYmxlJyBwcm9wZXJ0eSAoOC4xMC41IHN0ZXAgNC5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBKU09OLmNvbmZpZ3VyYWJsZSA9IHRydWU7DQoNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgew0KICAgICAgICAgICAgICAgIHByb3A6IEpTT04NCiAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICB2YXIgcmVzdWx0MSA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KICAgICAgICAgICAgZGVsZXRlIG9iai5wcm9wOw0KICAgICAgICAgICAgdmFyIHJlc3VsdDIgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCg0KICAgICAgICAgICAgcmV0dXJuIHJlc3VsdDEgPT09IHRydWUgJiYgcmVzdWx0MiA9PT0gZmFsc2U7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgSlNPTi5jb25maWd1cmFibGU7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - 'descObj' is the JSON object which implements its own [[Get]] method to get 'configurable' property (8.10.5 step 4.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-80.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy01LWItODEuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydGllcyAtICdkZXNjT2JqJyBpcyBhbiBFcnJvciBvYmplY3Qgd2hpY2ggaW1wbGVtZW50cyBpdHMgb3duIFtbR2V0XV0gbWV0aG9kIHRvIGdldCAnY29uZmlndXJhYmxlJyBwcm9wZXJ0eSAoOC4xMC41IHN0ZXAgNC5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIHZhciBkZXNjT2JqID0gbmV3IEVycm9yKCk7DQogICAgICAgIGRlc2NPYmouY29uZmlndXJhYmxlID0gdHJ1ZTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIHsNCiAgICAgICAgICAgIHByb3A6IGRlc2NPYmoNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIHJlc3VsdDEgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3AiKTsNCiAgICAgICAgZGVsZXRlIG9iai5wcm9wOw0KICAgICAgICB2YXIgcmVzdWx0MiA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KDQogICAgICAgIHJldHVybiByZXN1bHQxID09PSB0cnVlICYmIHJlc3VsdDIgPT09IGZhbHNlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - 'descObj' is an Error object which implements its own [[Get]] method to get 'configurable' property (8.10.5 step 4.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-81.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy01LWItODIuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydGllcyAtICdkZXNjT2JqJyBpcyB0aGUgQXJndW1lbnRzIG9iamVjdCB3aGljaCBpbXBsZW1lbnRzIGl0cyBvd24gW1tHZXRdXSBtZXRob2QgdG8gZ2V0ICdjb25maWd1cmFibGUnIHByb3BlcnR5ICg4LjEwLjUgc3RlcCA0LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgdmFyIGFyZzsNCiAgICAgICAgKGZ1bmN0aW9uIGZ1bigpIHsNCiAgICAgICAgICAgIGFyZyA9IGFyZ3VtZW50czsNCiAgICAgICAgfSgpKTsNCg0KICAgICAgICBhcmcuY29uZmlndXJhYmxlID0gdHJ1ZTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIHsNCiAgICAgICAgICAgIHByb3A6IGFyZw0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgcmVzdWx0MSA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KICAgICAgICBkZWxldGUgb2JqLnByb3A7DQogICAgICAgIHZhciByZXN1bHQyID0gb2JqLmhhc093blByb3BlcnR5KCJwcm9wIik7DQoNCiAgICAgICAgcmV0dXJuIHJlc3VsdDEgPT09IHRydWUgJiYgcmVzdWx0MiA9PT0gZmFsc2U7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - 'descObj' is the Arguments object which implements its own [[Get]] method to get 'configurable' property (8.10.5 step 4.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-82.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy01LWItODQuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydGllcyAtICdkZXNjT2JqJyBpcyB0aGUgZ2xvYmFsIG9iamVjdCB3aGljaCBpbXBsZW1lbnRzIGl0cyBvd24gW1tHZXRdXSBtZXRob2QgdG8gZ2V0ICdjb25maWd1cmFibGUnIHByb3BlcnR5ICg4LjEwLjUgc3RlcCA0LmEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIGZuR2xvYmFsT2JqZWN0KCkuY29uZmlndXJhYmxlID0gdHJ1ZTsNCg0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMob2JqLCB7DQogICAgICAgICAgICAgICAgcHJvcDogZm5HbG9iYWxPYmplY3QoKQ0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgIHZhciByZXN1bHQxID0gb2JqLmhhc093blByb3BlcnR5KCJwcm9wIik7DQogICAgICAgICAgICBkZWxldGUgb2JqLnByb3A7DQogICAgICAgICAgICB2YXIgcmVzdWx0MiA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KDQogICAgICAgICAgICByZXR1cm4gcmVzdWx0MSA9PT0gdHJ1ZSAmJiByZXN1bHQyID09PSBmYWxzZTsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBmbkdsb2JhbE9iamVjdCgpLmNvbmZpZ3VyYWJsZTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - 'descObj' is the global object which implements its own [[Get]] method to get 'configurable' property (8.10.5 step 4.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-84.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy01LWItODUuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydGllcyAtIHZhbHVlIG9mICdjb25maWd1cmFibGUnIHByb3BlcnR5IG9mICdkZXNjT2JqJyBpcyB1bmRlZmluZWQgKDguMTAuNSBzdGVwIDQuYikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMob2JqLCB7DQogICAgICAgICAgICBwcm9wZXJ0eTogew0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdW5kZWZpbmVkDQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBoYWRPd25Qcm9wZXJ0eSA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcGVydHkiKTsNCg0KICAgICAgICBkZWxldGUgb2JqLnByb3BlcnR5Ow0KDQogICAgICAgIHJldHVybiBvYmouaGFzT3duUHJvcGVydHkoInByb3BlcnR5IikgJiYgaGFkT3duUHJvcGVydHk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - value of 'configurable' property of 'descObj' is undefined (8.10.5 step 4.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-85.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy01LWItODYuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydGllcyAtIHZhbHVlIG9mICdjb25maWd1cmFibGUnIHByb3BlcnR5IG9mICdkZXNjT2JqJyBpcyBudWxsICg4LjEwLjUgc3RlcCA0LmIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgew0KICAgICAgICAgICAgcHJvcGVydHk6IHsNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IG51bGwNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIGhhZE93blByb3BlcnR5ID0gb2JqLmhhc093blByb3BlcnR5KCJwcm9wZXJ0eSIpOw0KDQogICAgICAgIGRlbGV0ZSBvYmoucHJvcGVydHk7DQoNCiAgICAgICAgcmV0dXJuIG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcGVydHkiKSAmJiBoYWRPd25Qcm9wZXJ0eTsNCg0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - value of 'configurable' property of 'descObj' is null (8.10.5 step 4.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-86.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy01LWItODcuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydGllcyAtIHZhbHVlIG9mICdjb25maWd1cmFibGUnIHByb3BlcnR5IG9mICdkZXNjT2JqJyBpcyB0cnVlICg4LjEwLjUgc3RlcCA0LmIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgew0KICAgICAgICAgICAgcHJvcGVydHk6IHsNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIGhhZE93blByb3BlcnR5ID0gb2JqLmhhc093blByb3BlcnR5KCJwcm9wZXJ0eSIpOw0KDQogICAgICAgIGRlbGV0ZSBvYmoucHJvcGVydHk7DQoNCiAgICAgICAgcmV0dXJuICFvYmouaGFzT3duUHJvcGVydHkoInByb3BlcnR5IikgJiYgaGFkT3duUHJvcGVydHk7DQoNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - value of 'configurable' property of 'descObj' is true (8.10.5 step 4.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-87.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy01LWItODguanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydGllcyAtIHZhbHVlIG9mICdjb25maWd1cmFibGUnIHByb3BlcnR5IG9mICdkZXNjT2JqJyBpcyBmYWxzZSAoOC4xMC41IHN0ZXAgNC5iKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIHsNCiAgICAgICAgICAgIHByb3BlcnR5OiB7DQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgaGFkT3duUHJvcGVydHkgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3BlcnR5Iik7DQoNCiAgICAgICAgZGVsZXRlIG9iai5wcm9wZXJ0eTsNCg0KICAgICAgICByZXR1cm4gb2JqLmhhc093blByb3BlcnR5KCJwcm9wZXJ0eSIpICYmIGhhZE93blByb3BlcnR5Ow0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - value of 'configurable' property of 'descObj' is false (8.10.5 step 4.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-88.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy01LWItODkuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydGllcyAtIHZhbHVlIG9mICdjb25maWd1cmFibGUnIHByb3BlcnR5IG9mICdkZXNjT2JqJyBpcyAwICg4LjEwLjUgc3RlcCA0LmIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgew0KICAgICAgICAgICAgcHJvcGVydHk6IHsNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IDANCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIGhhZE93blByb3BlcnR5ID0gb2JqLmhhc093blByb3BlcnR5KCJwcm9wZXJ0eSIpOw0KDQogICAgICAgIGRlbGV0ZSBvYmoucHJvcGVydHk7DQoNCiAgICAgICAgcmV0dXJuIG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcGVydHkiKSAmJiBoYWRPd25Qcm9wZXJ0eTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - value of 'configurable' property of 'descObj' is 0 (8.10.5 step 4.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-89.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy01LWItOS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ2VudW1lcmFibGUnIHByb3BlcnR5IG9mICdkZXNjT2JqJyBpcyBpbmhlcml0ZWQgZGF0YSBwcm9wZXJ0eSAoOC4xMC41IHN0ZXAgMy5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICB2YXIgcHJvdG8gPSB7DQogICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlDQogICAgICAgIH07DQogICAgICAgIHZhciBDb24gPSBmdW5jdGlvbiAoKSB7IH07DQogICAgICAgIENvbi5wcm90b3R5cGUgPSBwcm90bzsNCiAgICAgICAgdmFyIGRlc2NPYmogPSBuZXcgQ29uKCk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMob2JqLCB7DQogICAgICAgICAgICBwcm9wOiBkZXNjT2JqDQogICAgICAgIH0pOw0KDQogICAgICAgIGZvciAodmFyIHByb3BlcnR5IGluIG9iaikgew0KICAgICAgICAgICAgaWYgKHByb3BlcnR5ID09PSAicHJvcCIpIHsNCiAgICAgICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCiAgICAgICAgcmV0dXJuIGFjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - 'enumerable' property of 'descObj' is inherited data property (8.10.5 step 3.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-9.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy01LWItOTAuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydGllcyAtIHZhbHVlIG9mICdjb25maWd1cmFibGUnIHByb3BlcnR5IG9mICdkZXNjT2JqJyBpcyArMCAoOC4xMC41IHN0ZXAgNC5iKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIHsNCiAgICAgICAgICAgIHByb3BlcnR5OiB7DQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiArMA0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgaGFkT3duUHJvcGVydHkgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3BlcnR5Iik7DQoNCiAgICAgICAgZGVsZXRlIG9iai5wcm9wZXJ0eTsNCg0KICAgICAgICByZXR1cm4gb2JqLmhhc093blByb3BlcnR5KCJwcm9wZXJ0eSIpICYmIGhhZE93blByb3BlcnR5Ow0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - value of 'configurable' property of 'descObj' is +0 (8.10.5 step 4.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-90.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy01LWItOTEuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydGllcyAtIHZhbHVlIG9mICdjb25maWd1cmFibGUnIHByb3BlcnR5IG9mICdkZXNjT2JqJyBpcyAtMCAoOC4xMC41IHN0ZXAgNC5iKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIHsNCiAgICAgICAgICAgIHByb3BlcnR5OiB7DQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiAtMA0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgaGFkT3duUHJvcGVydHkgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3BlcnR5Iik7DQoNCiAgICAgICAgZGVsZXRlIG9iai5wcm9wZXJ0eTsNCg0KICAgICAgICByZXR1cm4gb2JqLmhhc093blByb3BlcnR5KCJwcm9wZXJ0eSIpICYmIGhhZE93blByb3BlcnR5Ow0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - value of 'configurable' property of 'descObj' is -0 (8.10.5 step 4.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-91.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy01LWItOTIuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydGllcyAtIHZhbHVlIG9mICdjb25maWd1cmFibGUnIHByb3BlcnR5IG9mICdkZXNjT2JqJyBpcyBOYU4gKDguMTAuNSBzdGVwIDQuYikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMob2JqLCB7DQogICAgICAgICAgICBwcm9wZXJ0eTogew0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogTmFODQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBoYWRPd25Qcm9wZXJ0eSA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcGVydHkiKTsNCg0KICAgICAgICBkZWxldGUgb2JqLnByb3BlcnR5Ow0KDQogICAgICAgIHJldHVybiBvYmouaGFzT3duUHJvcGVydHkoInByb3BlcnR5IikgJiYgaGFkT3duUHJvcGVydHk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - value of 'configurable' property of 'descObj' is NaN (8.10.5 step 4.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-92.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy01LWItOTMuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydGllcyAtIHZhbHVlIG9mICdjb25maWd1cmFibGUnIHByb3BlcnR5IG9mICdkZXNjT2JqJyBpcyBwb3NpdGl2ZSBudW1iZXIgKDguMTAuNSBzdGVwIDQuYikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMob2JqLCB7DQogICAgICAgICAgICBwcm9wZXJ0eTogew0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogMTIzDQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBoYWRPd25Qcm9wZXJ0eSA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcGVydHkiKTsNCg0KICAgICAgICBkZWxldGUgb2JqLnByb3BlcnR5Ow0KDQogICAgICAgIHJldHVybiAhb2JqLmhhc093blByb3BlcnR5KCJwcm9wZXJ0eSIpICYmIGhhZE93blByb3BlcnR5Ow0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - value of 'configurable' property of 'descObj' is positive number (8.10.5 step 4.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-93.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy01LWItOTQuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydGllcyAtIHZhbHVlIG9mICdjb25maWd1cmFibGUnIHByb3BlcnR5IG9mICdkZXNjT2JqJyBpcyBuZWdhdGl2ZSBudW1iZXIgKDguMTAuNSBzdGVwIDQuYikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMob2JqLCB7DQogICAgICAgICAgICBwcm9wZXJ0eTogew0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogLTEyMw0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgaGFkT3duUHJvcGVydHkgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3BlcnR5Iik7DQoNCiAgICAgICAgZGVsZXRlIG9iai5wcm9wZXJ0eTsNCg0KICAgICAgICByZXR1cm4gIW9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcGVydHkiKSAmJiBoYWRPd25Qcm9wZXJ0eTsNCg0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - value of 'configurable' property of 'descObj' is negative number (8.10.5 step 4.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-94.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy01LWItOTUuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydGllcyAtIHZhbHVlIG9mICdjb25maWd1cmFibGUnIHByb3BlcnR5IG9mICdkZXNjT2JqJyBpcyBlbXB0eSBzdHJpbmcgKDguMTAuNSBzdGVwIDQuYikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMob2JqLCB7DQogICAgICAgICAgICBwcm9wZXJ0eTogew0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogIiINCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIGhhZE93blByb3BlcnR5ID0gb2JqLmhhc093blByb3BlcnR5KCJwcm9wZXJ0eSIpOw0KDQogICAgICAgIGRlbGV0ZSBvYmoucHJvcGVydHk7DQoNCiAgICAgICAgcmV0dXJuIG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcGVydHkiKSAmJiBoYWRPd25Qcm9wZXJ0eTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - value of 'configurable' property of 'descObj' is empty string (8.10.5 step 4.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-95.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy01LWItOTYuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydGllcyAtIHZhbHVlIG9mICdjb25maWd1cmFibGUnIHByb3BlcnR5IG9mICdkZXNjT2JqJyBpcyBub24tZW1wdHkgc3RyaW5nICg4LjEwLjUgc3RlcCA0LmIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgew0KICAgICAgICAgICAgcHJvcGVydHk6IHsNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6ICJhYmMiDQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBoYWRPd25Qcm9wZXJ0eSA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcGVydHkiKTsNCg0KICAgICAgICBkZWxldGUgb2JqLnByb3BlcnR5Ow0KDQogICAgICAgIHJldHVybiAhb2JqLmhhc093blByb3BlcnR5KCJwcm9wZXJ0eSIpICYmIGhhZE93blByb3BlcnR5Ow0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - value of 'configurable' property of 'descObj' is non-empty string (8.10.5 step 4.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-96.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy01LWItOTcuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydGllcyAtIHZhbHVlIG9mICdjb25maWd1cmFibGUnIHByb3BlcnR5IG9mICdkZXNjT2JqJyBpcyBGdW5jdGlvbiBvYmplY3QgKDguMTAuNSBzdGVwIDQuYikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMob2JqLCB7DQogICAgICAgICAgICBwcm9wZXJ0eTogew0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZnVuY3Rpb24gKCkgeyB9DQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBoYWRPd25Qcm9wZXJ0eSA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcGVydHkiKTsNCg0KICAgICAgICBkZWxldGUgb2JqLnByb3BlcnR5Ow0KDQogICAgICAgIHJldHVybiAhb2JqLmhhc093blByb3BlcnR5KCJwcm9wZXJ0eSIpICYmIGhhZE93blByb3BlcnR5Ow0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - value of 'configurable' property of 'descObj' is Function object (8.10.5 step 4.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-97.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy01LWItOTguanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydGllcyAtIHZhbHVlIG9mICdjb25maWd1cmFibGUnIHByb3BlcnR5IG9mICdkZXNjT2JqJyBpcyBBcnJheSBvYmplY3QgKDguMTAuNSBzdGVwIDQuYikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMob2JqLCB7DQogICAgICAgICAgICBwcm9wZXJ0eTogew0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogWzEsIDIsIDNdDQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBoYWRPd25Qcm9wZXJ0eSA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcGVydHkiKTsNCg0KICAgICAgICBkZWxldGUgb2JqLnByb3BlcnR5Ow0KDQogICAgICAgIHJldHVybiAhb2JqLmhhc093blByb3BlcnR5KCJwcm9wZXJ0eSIpICYmIGhhZE93blByb3BlcnR5Ow0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - value of 'configurable' property of 'descObj' is Array object (8.10.5 step 4.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-98.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy01LWItOTkuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydGllcyAtIHZhbHVlIG9mICdjb25maWd1cmFibGUnIHByb3BlcnR5IG9mICdkZXNjT2JqJyBpcyBTdHJpbmcgb2JqZWN0ICg4LjEwLjUgc3RlcCA0LmIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgew0KICAgICAgICAgICAgcHJvcGVydHk6IHsNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IG5ldyBTdHJpbmcoImFiYyIpDQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBoYWRPd25Qcm9wZXJ0eSA9IG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcGVydHkiKTsNCg0KICAgICAgICBkZWxldGUgb2JqLnByb3BlcnR5Ow0KDQogICAgICAgIHJldHVybiAhb2JqLmhhc093blByb3BlcnR5KCJwcm9wZXJ0eSIpICYmIGhhZE93blByb3BlcnR5Ow0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - value of 'configurable' property of 'descObj' is String object (8.10.5 step 4.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-5-b-99.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy02LWEtMS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ1AnIGlzIG93biBleGlzdGluZyBkYXRhIHByb3BlcnR5ICg4LjEyLjkgc3RlcCAxICkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgdmFsdWU6IDExLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMob2JqLCB7IA0KICAgICAgICAgICAgICAgIHByb3A6IHsNCiAgICAgICAgICAgICAgICAgICAgdmFsdWU6IDEyLA0KICAgICAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIChlIGluc3RhbmNlb2YgVHlwZUVycm9yKTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - 'P' is own existing data property (8.12.9 step 1 )","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy02LWEtMTAuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydGllcyAtICdQJyBpcyBvd24gYWNjZXNzb3IgcHJvcGVydHkgd2l0aG91dCBhIGdldCBmdW5jdGlvbiB0aGF0IG92ZXJyaWRlcyBhbiBpbmhlcml0ZWQgYWNjZXNzb3IgcHJvcGVydHkgKDguMTIuOSBzdGVwIDEgKSANCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgcHJvdG8gPSB7fTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHByb3RvLCAicHJvcCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiAxMTsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBzZXQ6IGZ1bmN0aW9uICgpIHsgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCiAgICAgICAgdmFyIENvbiA9IGZ1bmN0aW9uICgpIHsgfTsNCiAgICAgICAgQ29uLnByb3RvdHlwZSA9IHByb3RvOw0KDQogICAgICAgIHZhciBvYmogPSBuZXcgQ29uKCk7DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgc2V0OiBmdW5jdGlvbiAoKSB7IH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgIH0pOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIHsNCiAgICAgICAgICAgICAgICBwcm9wOiB7DQogICAgICAgICAgICAgICAgICAgIHZhbHVlOiAxMiwNCiAgICAgICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiAoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcik7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - 'P' is own accessor property without a get function that overrides an inherited accessor property (8.12.9 step 1 )","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-10.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy02LWEtMTAwLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnUCcgaXMgZGF0YSBwcm9wZXJ0eSwgc2V2ZXJhbCBhdHRyaWJ1dGVzIHZhbHVlcyBvZiBQIGFuZCBwcm9wZXJ0aWVzIGFyZSBkaWZmZXJlbnQgKDguMTIuOSBzdGVwIDEyKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJmb28iLCB7IA0KICAgICAgICAgICAgdmFsdWU6IDEwMCwgDQogICAgICAgICAgICB3cml0YWJsZTogdHJ1ZSwgDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUgDQogICAgICAgIH0pOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgew0KICAgICAgICAgICAgZm9vOiB7DQogICAgICAgICAgICAgICAgdmFsdWU6IDIwMCwNCiAgICAgICAgICAgICAgICB3cml0YWJsZTogZmFsc2UsDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCiAgICAgICAgcmV0dXJuIGRhdGFQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KG9iaiwgImZvbyIsIDIwMCwgZmFsc2UsIGZhbHNlLCBmYWxzZSk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - 'P' is data property, several attributes values of P and properties are different (8.12.9 step 12)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-100.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy02LWEtMTAxLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnUCcgaXMgYWNjZXNzb3IgcHJvcGVydHksIGJvdGggcHJvcGVydGllcy5bW0dldF1dIGFuZCBQLltbR2V0XV0gYXJlIHR3byBkaWZmZXJlbnQgdmFsdWVzICg4LjEyLjkgc3RlcCAxMikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBmdW5jdGlvbiBnZXRfZnVuYygpIHsNCiAgICAgICAgICAgIHJldHVybiAxMDsNCiAgICAgICAgfQ0KICAgICAgICBmdW5jdGlvbiBzZXRfZnVuYyh2YWx1ZSkgew0KICAgICAgICAgICAgb2JqLnNldFZlcmlmeUhlbHBQcm9wID0gdmFsdWU7DQogICAgICAgIH0NCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiZm9vIiwgew0KICAgICAgICAgICAgZ2V0OiBnZXRfZnVuYywNCiAgICAgICAgICAgIHNldDogc2V0X2Z1bmMsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIGZ1bmN0aW9uIGdldF9mdW5jMigpIHsNCiAgICAgICAgICAgIHJldHVybiAyMDsNCiAgICAgICAgfQ0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgew0KICAgICAgICAgICAgZm9vOiB7DQogICAgICAgICAgICAgICAgZ2V0OiBnZXRfZnVuYzINCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQogICAgICAgIHJldHVybiBhY2Nlc3NvclByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3Qob2JqLCAiZm9vIiwgZ2V0X2Z1bmMyLCBzZXRfZnVuYywgInNldFZlcmlmeUhlbHBQcm9wIiwgdHJ1ZSwgdHJ1ZSk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - 'P' is accessor property, both properties.[[Get]] and P.[[Get]] are two different values (8.12.9 step 12)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-101.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy02LWEtMTAyLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnUCcgaXMgYWNjZXNzb3IgcHJvcGVydHksIFAuW1tHZXRdXSBpcyBwcmVzZW50IGFuZCBwcm9wZXJ0aWVzLltbR2V0XV0gaXMgdW5kZWZpbmVkICg4LjEyLjkgc3RlcCAxMikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBmdW5jdGlvbiBnZXRfZnVuYygpIHsNCiAgICAgICAgICAgIHJldHVybiAxMDsNCiAgICAgICAgfQ0KICAgICAgICBmdW5jdGlvbiBzZXRfZnVuYyh2YWx1ZSkgew0KICAgICAgICAgICAgb2JqLnNldFZlcmlmeUhlbHBQcm9wID0gdmFsdWU7DQogICAgICAgIH0NCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiZm9vIiwgew0KICAgICAgICAgICAgZ2V0OiBnZXRfZnVuYywNCiAgICAgICAgICAgIHNldDogc2V0X2Z1bmMsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgew0KICAgICAgICAgICAgZm9vOiB7DQogICAgICAgICAgICAgICAgZ2V0OiB1bmRlZmluZWQNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQogICAgICAgIHJldHVybiBhY2Nlc3NvclByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3Qob2JqLCAiZm9vIiwgdW5kZWZpbmVkLCBzZXRfZnVuYywgInNldFZlcmlmeUhlbHBQcm9wIiwgdHJ1ZSwgdHJ1ZSk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - 'P' is accessor property, P.[[Get]] is present and properties.[[Get]] is undefined (8.12.9 step 12)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-102.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy02LWEtMTAzLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnUCcgaXMgYWNjZXNzb3IgcHJvcGVydHksIFAuW1tHZXRdXSBpcyB1bmRlZmluZWQgYW5kIHByb3BlcnRpZXMuW1tHZXRdXSBpcyBub3JtYWwgdmFsdWUgKDguMTIuOSBzdGVwIDEyKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIGZ1bmN0aW9uIHNldF9mdW5jKHZhbHVlKSB7DQogICAgICAgICAgICBvYmouc2V0VmVyaWZ5SGVscFByb3AgPSB2YWx1ZTsNCiAgICAgICAgfQ0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJmb28iLCB7DQogICAgICAgICAgICBnZXQ6IHVuZGVmaW5lZCwNCiAgICAgICAgICAgIHNldDogc2V0X2Z1bmMsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIGZ1bmN0aW9uIGdldF9mdW5jKCkgew0KICAgICAgICAgICAgcmV0dXJuIDEwOw0KICAgICAgICB9DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMob2JqLCB7DQogICAgICAgICAgICBmb286IHsNCiAgICAgICAgICAgICAgICBnZXQ6IGdldF9mdW5jDQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KICAgICAgICByZXR1cm4gYWNjZXNzb3JQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KG9iaiwgImZvbyIsIGdldF9mdW5jLCBzZXRfZnVuYywgInNldFZlcmlmeUhlbHBQcm9wIiwgdHJ1ZSwgdHJ1ZSk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - 'P' is accessor property, P.[[Get]] is undefined and properties.[[Get]] is normal value (8.12.9 step 12)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-103.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy02LWEtMTA0LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnUCcgaXMgYWNjZXNzb3IgcHJvcGVydHksIGJvdGggcHJvcGVydGllcy5bW1NldF1dIGFuZCBQLltbU2V0XV0gYXJlIHR3byBkaWZmZXJlbnQgdmFsdWVzICg4LjEyLjkgc3RlcCAxMikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBmdW5jdGlvbiBnZXRfZnVuYygpIHsNCiAgICAgICAgICAgIHJldHVybiAxMDsNCiAgICAgICAgfQ0KDQogICAgICAgIGZ1bmN0aW9uIHNldF9mdW5jKCkgew0KICAgICAgICAgICAgcmV0dXJuIDEwOw0KICAgICAgICB9DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgImZvbyIsIHsNCiAgICAgICAgICAgIGdldDogZ2V0X2Z1bmMsDQogICAgICAgICAgICBzZXQ6IHNldF9mdW5jLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBmdW5jdGlvbiBzZXRfZnVuYzIodmFsdWUpIHsNCiAgICAgICAgICAgIG9iai5zZXRWZXJpZnlIZWxwUHJvcCA9IHZhbHVlOw0KICAgICAgICB9DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMob2JqLCB7DQogICAgICAgICAgICBmb286IHsNCiAgICAgICAgICAgICAgICBzZXQ6IHNldF9mdW5jMg0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCiAgICAgICAgcmV0dXJuIGFjY2Vzc29yUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChvYmosICJmb28iLCBnZXRfZnVuYywgc2V0X2Z1bmMyLCAic2V0VmVyaWZ5SGVscFByb3AiLCB0cnVlLCB0cnVlKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - 'P' is accessor property, both properties.[[Set]] and P.[[Set]] are two different values (8.12.9 step 12)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-104.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy02LWEtMTA1LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnUCcgaXMgYWNjZXNzb3IgcHJvcGVydHksIFAuW1tTZXRdXSBpcyBwcmVzZW50IGFuZCBwcm9wZXJ0aWVzLltbU2V0XV0gaXMgdW5kZWZpbmVkICg4LjEyLjkgc3RlcCAxMikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIGZ1bmN0aW9uIGdldF9mdW5jKCkgew0KICAgICAgICAgICAgcmV0dXJuIDEwOw0KICAgICAgICB9DQogICAgICAgIGZ1bmN0aW9uIHNldF9mdW5jKCkgew0KICAgICAgICAgICAgcmV0dXJuIDEwOw0KICAgICAgICB9DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3BlcnR5Iiwgew0KICAgICAgICAgICAgZ2V0OiBnZXRfZnVuYywNCiAgICAgICAgICAgIHNldDogc2V0X2Z1bmMsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgew0KICAgICAgICAgICAgcHJvcGVydHk6IHsNCiAgICAgICAgICAgICAgICBzZXQ6IHVuZGVmaW5lZA0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgaGFzUHJvcGVydHkgPSBvYmouaGFzT3duUHJvcGVydHkoInByb3BlcnR5Iik7DQogICAgICAgIHZhciB2ZXJpZnlHZXQgPSBmYWxzZTsNCiAgICAgICAgdmVyaWZ5R2V0ID0gKG9iai5wcm9wZXJ0eSA9PT0gMTApOw0KDQogICAgICAgIHZhciB2ZXJpZnlTZXQgPSBmYWxzZTsNCiAgICAgICAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3BlcnR5Iik7DQogICAgICAgIHZlcmlmeVNldCA9ICh0eXBlb2YgZGVzYy5zZXQgPT09ICd1bmRlZmluZWQnKTsNCg0KICAgICAgICB2YXIgdmVyaWZ5RW51bWVyYWJsZSA9IGZhbHNlOw0KICAgICAgICBmb3IgKHZhciBwIGluIG9iaikgew0KICAgICAgICAgICAgaWYgKHAgPT09ICJwcm9wZXJ0eSIpIHsNCiAgICAgICAgICAgICAgICB2ZXJpZnlFbnVtZXJhYmxlID0gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIHZhciB2ZXJpZnlDb25maWd1cmFibGUgPSBmYWxzZTsNCiAgICAgICAgZGVsZXRlIG9iai5wcm9wZXJ0eTsNCiAgICAgICAgdmVyaWZ5Q29uZmlndXJhYmxlID0gb2JqLmhhc093blByb3BlcnR5KCJwcm9wZXJ0eSIpOw0KDQogICAgICAgIHJldHVybiBoYXNQcm9wZXJ0eSAmJiB2ZXJpZnlHZXQgJiYgdmVyaWZ5U2V0ICYmIHZlcmlmeUVudW1lcmFibGUgJiYgIXZlcmlmeUNvbmZpZ3VyYWJsZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - 'P' is accessor property, P.[[Set]] is present and properties.[[Set]] is undefined (8.12.9 step 12)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-105.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy02LWEtMTA2LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnUCcgaXMgYWNjZXNzb3IgcHJvcGVydHksIFAuW1tTZXRdXSBpcyB1bmRlZmluZWQgYW5kIHByb3BlcnRpZXMuW1tTZXRdXSBpcyBub3JtYWwgdmFsdWUgKDguMTIuOSBzdGVwIDEyKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIGZ1bmN0aW9uIGdldF9mdW5jKCkgew0KICAgICAgICAgICAgcmV0dXJuIDEwOw0KICAgICAgICB9DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgImZvbyIsIHsNCiAgICAgICAgICAgIGdldDogZ2V0X2Z1bmMsDQogICAgICAgICAgICBzZXQ6IHVuZGVmaW5lZCwNCiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgZnVuY3Rpb24gc2V0X2Z1bmModmFsdWUpIHsNCiAgICAgICAgICAgIG9iai5zZXRWZXJpZnlIZWxwUHJvcCA9IHZhbHVlOw0KICAgICAgICB9DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMob2JqLCB7DQogICAgICAgICAgICBmb286IHsNCiAgICAgICAgICAgICAgICBzZXQ6IHNldF9mdW5jDQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KICAgICAgICByZXR1cm4gYWNjZXNzb3JQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KG9iaiwgImZvbyIsIGdldF9mdW5jLCBzZXRfZnVuYywgInNldFZlcmlmeUhlbHBQcm9wIiwgdHJ1ZSwgdHJ1ZSk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - 'P' is accessor property, P.[[Set]] is undefined and properties.[[Set]] is normal value (8.12.9 step 12)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-106.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy02LWEtMTA3LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnUCcgaXMgYWNjZXNzb3IgcHJvcGVydHksIFAuZW51bWVyYWJsZSBhbmQgcHJvcGVydGllcy5lbnVtZXJhYmxlIGFyZSBkaWZmZXJlbnQgdmFsdWVzICg4LjEyLjkgc3RlcCAxMikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBmdW5jdGlvbiBnZXRfZnVuYygpIHsNCiAgICAgICAgICAgIHJldHVybiAxMDsNCiAgICAgICAgfQ0KICAgICAgICBmdW5jdGlvbiBzZXRfZnVuYyh2YWx1ZSkgew0KICAgICAgICAgICAgb2JqLnNldFZlcmlmeUhlbHBQcm9wID0gdmFsdWU7DQogICAgICAgIH0NCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiZm9vIiwgew0KICAgICAgICAgICAgZ2V0OiBnZXRfZnVuYywNCiAgICAgICAgICAgIHNldDogc2V0X2Z1bmMsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgew0KICAgICAgICAgICAgZm9vOiB7DQogICAgICAgICAgICAgICAgZW51bWVyYWJsZTogZmFsc2UNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQogICAgICAgIHJldHVybiBhY2Nlc3NvclByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3Qob2JqLCAiZm9vIiwgZ2V0X2Z1bmMsIHNldF9mdW5jLCAic2V0VmVyaWZ5SGVscFByb3AiLCBmYWxzZSwgdHJ1ZSk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - 'P' is accessor property, P.enumerable and properties.enumerable are different values (8.12.9 step 12)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-107.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy02LWEtMTA4LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnUCcgaXMgYWNjZXNzb3IgcHJvcGVydHksIFAuY29uZmlndXJhYmxlIGlzIHRydWUgYW5kIHByb3BlcnRpZXMuY29uZmlndXJhYmxlIGlzIGZhbHNlDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgZnVuY3Rpb24gZ2V0X2Z1bmMoKSB7DQogICAgICAgICAgICByZXR1cm4gMTA7DQogICAgICAgIH0NCiAgICAgICAgZnVuY3Rpb24gc2V0X2Z1bmModmFsdWUpIHsNCiAgICAgICAgICAgIG9iai5zZXRWZXJpZnlIZWxwUHJvcCA9IHZhbHVlOw0KICAgICAgICB9DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgImZvbyIsIHsNCiAgICAgICAgICAgIGdldDogZ2V0X2Z1bmMsDQogICAgICAgICAgICBzZXQ6IHNldF9mdW5jLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIHsNCiAgICAgICAgICAgIGZvbzogew0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQogICAgICAgIHJldHVybiBhY2Nlc3NvclByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3Qob2JqLCAiZm9vIiwgZ2V0X2Z1bmMsIHNldF9mdW5jLCAic2V0VmVyaWZ5SGVscFByb3AiLCB0cnVlLCBmYWxzZSk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - 'P' is accessor property, P.configurable is true and properties.configurable is false","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-108.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy02LWEtMTA5LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnUCcgaXMgYWNjZXNzb3IgcHJvcGVydHksIHNldmVyYWwgYXR0cmlidXRlcyB2YWx1ZXMgb2YgUCBhbmQgcHJvcGVydGllcyBhcmUgZGlmZmVyZW50ICg4LjEyLjkgc3RlcCAxMikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBmdW5jdGlvbiBnZXRfZnVuYzEoKSB7DQogICAgICAgICAgICByZXR1cm4gMTA7DQogICAgICAgIH0NCiAgICAgICAgZnVuY3Rpb24gc2V0X2Z1bmMxKCkgeyB9DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgImZvbyIsIHsNCiAgICAgICAgICAgIGdldDogZ2V0X2Z1bmMxLA0KICAgICAgICAgICAgc2V0OiBzZXRfZnVuYzEsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgZnVuY3Rpb24gZ2V0X2Z1bmMyKCkgew0KICAgICAgICAgICAgcmV0dXJuIDIwOw0KICAgICAgICB9DQogICAgICAgIGZ1bmN0aW9uIHNldF9mdW5jMih2YWx1ZSkgew0KICAgICAgICAgICAgb2JqLnNldFZlcmlmeUhlbHBQcm9wID0gdmFsdWU7DQogICAgICAgIH0NCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIHsNCiAgICAgICAgICAgIGZvbzogew0KICAgICAgICAgICAgICAgIGdldDogZ2V0X2Z1bmMyLA0KICAgICAgICAgICAgICAgIHNldDogc2V0X2Z1bmMyLA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQogICAgICAgIHJldHVybiBhY2Nlc3NvclByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3Qob2JqLCAiZm9vIiwgZ2V0X2Z1bmMyLCBzZXRfZnVuYzIsICJzZXRWZXJpZnlIZWxwUHJvcCIsIGZhbHNlLCBmYWxzZSk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - 'P' is accessor property, several attributes values of P and properties are different (8.12.9 step 12)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-109.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy02LWEtMTEuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydGllcyAtICdQJyBpcyBpbmhlcml0ZWQgYWNjZXNzb3IgcHJvcGVydHkgd2l0aG91dCBhIGdldCBmdW5jdGlvbiAoOC4xMi45IHN0ZXAgMSApIA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBwcm90byA9IHt9Ow0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkocHJvdG8sICJwcm9wIiwgew0KICAgICAgICAgICAgc2V0OiBmdW5jdGlvbiAoKSB7IH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgIH0pOw0KICAgICAgICB2YXIgQ29uID0gZnVuY3Rpb24gKCkgeyB9Ow0KICAgICAgICBDb24ucHJvdG90eXBlID0gcHJvdG87DQoNCiAgICAgICAgdmFyIG9iaiA9IG5ldyBDb24oKTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIHsNCiAgICAgICAgICAgIHByb3A6IHsNCiAgICAgICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDEyOw0KICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KICAgICAgICByZXR1cm4gb2JqLmhhc093blByb3BlcnR5KCJwcm9wIikgJiYgb2JqLnByb3AgPT09IDEyOw0KDQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - 'P' is inherited accessor property without a get function (8.12.9 step 1 )","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-11.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy02LWEtMTEwLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSBhbGwgb3duIHByb3BlcnRpZXMgKGRhdGEgcHJvcGVydHkgYW5kIGFjY2Vzc29yIHByb3BlcnR5KQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIGZ1bmN0aW9uIGdldF9mdW5jKCkgew0KICAgICAgICAgICAgcmV0dXJuIDEwOw0KICAgICAgICB9DQogICAgICAgIGZ1bmN0aW9uIHNldF9mdW5jKHZhbHVlKSB7DQogICAgICAgICAgICBvYmouc2V0VmVyaWZ5SGVscFByb3AgPSB2YWx1ZTsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBwcm9wZXJ0aWVzID0gew0KICAgICAgICAgICAgZm9vMTogew0KICAgICAgICAgICAgICAgIHZhbHVlOiAyMDAsDQogICAgICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSwNCiAgICAgICAgICAgICAgICB3cml0YWJsZTogdHJ1ZSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBmb28yOiB7DQogICAgICAgICAgICAgICAgZ2V0OiBnZXRfZnVuYywNCiAgICAgICAgICAgICAgICBzZXQ6IHNldF9mdW5jLA0KICAgICAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICB9DQogICAgICAgIH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMob2JqLCBwcm9wZXJ0aWVzKTsNCiAgICAgICAgcmV0dXJuIGRhdGFQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KG9iaiwgImZvbzEiLCAyMDAsIHRydWUsIHRydWUsIHRydWUpICYmIGFjY2Vzc29yUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChvYmosICJmb28yIiwgZ2V0X2Z1bmMsIHNldF9mdW5jLCAic2V0VmVyaWZ5SGVscFByb3AiLCB0cnVlLCB0cnVlKTsNCg0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - all own properties (data property and accessor property)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-110.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy02LWEtMTExLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSBlYWNoIHByb3BlcnRpZXMgYXJlIGluIGxpc3Qgb3JkZXINCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBmdW5jdGlvbiBnZXRfZnVuYygpIHsNCiAgICAgICAgICAgIHJldHVybiAyMDsNCiAgICAgICAgfQ0KDQogICAgICAgIGZ1bmN0aW9uIHNldF9mdW5jKCkgeyB9DQoNCiAgICAgICAgdmFyIHByb3BlcnRpZXMgPSB7DQogICAgICAgICAgICBhOiB7DQogICAgICAgICAgICAgICAgdmFsdWU6IDEwMCwNCiAgICAgICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLA0KICAgICAgICAgICAgICAgIHdyaXRhYmxlOiB0cnVlLA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGI6IHsNCiAgICAgICAgICAgICAgICBnZXQ6IGdldF9mdW5jLA0KICAgICAgICAgICAgICAgIHNldDogc2V0X2Z1bmMsDQogICAgICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjOiB7DQogICAgICAgICAgICAgICAgdmFsdWU6IDIwMCwNCiAgICAgICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLA0KICAgICAgICAgICAgICAgIHdyaXRhYmxlOiB0cnVlLA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgfQ0KICAgICAgICB9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgcHJvcGVydGllcyk7DQogICAgICAgIHJldHVybiAob2JqWyJhIl0gPT09IDEwMCAmJiBvYmpbImIiXSA9PT0gMjAgJiYgb2JqWyJjIl0gPT09IDIwMCk7DQoNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - each properties are in list order","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-111.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy02LWEtMTEyLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnTycgaXMgYW4gQXJyYXksIHRlc3QgdGhlIGxlbmd0aCBwcm9wZXJ0eSBvZiAnTycgaXMgb3duIGRhdGEgcHJvcGVydHkgKDE1LjQuNS4xIHN0ZXAgMSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhcnIgPSBbMCwgMV07DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnIsICIxIiwgew0KICAgICAgICAgICAgdmFsdWU6IDEsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgIH0pOw0KICAgICAgICB0cnkgew0KDQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhhcnIsIHsNCiAgICAgICAgICAgICAgICBsZW5ndGg6IHsgdmFsdWU6IDEgfQ0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGV4KSB7DQogICAgICAgICAgICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoYXJyLCAibGVuZ3RoIik7DQoNCiAgICAgICAgICAgIHJldHVybiBleCBpbnN0YW5jZW9mIFR5cGVFcnJvciAmJiBkZXNjLnZhbHVlID09PSAyICYmDQogICAgICAgICAgICAgICAgZGVzYy53cml0YWJsZSAmJiAhZGVzYy5lbnVtZXJhYmxlICYmICFkZXNjLmNvbmZpZ3VyYWJsZTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - 'O' is an Array, test the length property of 'O' is own data property (15.4.5.1 step 1)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-112.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy02LWEtMTEzLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnTycgaXMgYW4gQXJyYXksIHRlc3QgdGhlIGxlbmd0aCBwcm9wZXJ0eSBvZiAnTycgaXMgb3duIGRhdGEgcHJvcGVydHkgdGhhdCBvdmVycmlkZXMgYW4gaW5oZXJpdGVkIGRhdGEgcHJvcGVydHkgKDE1LjQuNS4xIHN0ZXAgMSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhcnJQcm90b0xlbjsNCiAgICAgICAgdmFyIGFyciA9IFswLCAxLCAyXTsNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIGFyclByb3RvTGVuID0gQXJyYXkucHJvdG90eXBlLmxlbmd0aDsNCiAgICAgICAgICAgIEFycmF5LnByb3RvdHlwZS5sZW5ndGggPSAwOw0KDQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyLCAiMiIsIHsNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMoYXJyLCB7DQogICAgICAgICAgICAgICAgbGVuZ3RoOiB7IHZhbHVlOiAxIH0NCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoYXJyLCAibGVuZ3RoIik7DQoNCiAgICAgICAgICAgIHJldHVybiBlIGluc3RhbmNlb2YgVHlwZUVycm9yICYmIGRlc2MudmFsdWUgPT09IDMgJiYNCiAgICAgICAgICAgICAgICBkZXNjLndyaXRhYmxlICYmICFkZXNjLmVudW1lcmFibGUgJiYgIWRlc2MuY29uZmlndXJhYmxlOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlLmxlbmd0aCA9IGFyclByb3RvTGVuOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - 'O' is an Array, test the length property of 'O' is own data property that overrides an inherited data property (15.4.5.1 step 1)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-113.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy02LWEtMTE0LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnTycgaXMgYW4gQXJyYXksICdQJyBpcyB0aGUgbGVuZ3RoIHByb3BlcnR5IG9mICdPJywgdGhlIFtbVmFsdWVdXSBmaWVsZCBvZiAnZGVzYycgaXMgYWJzZW50LCB0ZXN0IGV2ZXJ5IGZpZWxkIGluICdkZXNjJyBpcyBhYnNlbnQgKDE1LjQuNS4xIHN0ZXAgMy5hLmkpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIGFyciA9IFtdOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKGFyciwgeyBsZW5ndGg6IHt9IH0pOw0KDQogICAgICAgIHZhciB2ZXJpZnlWYWx1ZSA9IGZhbHNlOw0KICAgICAgICB2ZXJpZnlWYWx1ZSA9IChhcnIubGVuZ3RoID09PSAwKTsNCg0KICAgICAgICB2YXIgdmVyaWZ5V3JpdGFibGUgPSBmYWxzZTsNCiAgICAgICAgYXJyLmxlbmd0aCA9IDI7DQogICAgICAgIHZlcmlmeVdyaXRhYmxlID0gKGFyci5sZW5ndGggPT09IDIpOw0KDQogICAgICAgIHZhciB2ZXJpZnlFbnVtZXJhYmxlID0gZmFsc2U7DQogICAgICAgIGZvciAodmFyIHAgaW4gYXJyKSB7DQogICAgICAgICAgICBpZiAocCA9PT0gImxlbmd0aCIpIHsNCiAgICAgICAgICAgICAgICB2ZXJpZnlFbnVtZXJhYmxlID0gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIHZhciB2ZXJpZnlDb25maWd1cmFibGUgPSBmYWxzZTsNCiAgICAgICAgZGVsZXRlIGFyci5sZW5ndGg7DQogICAgICAgIHZlcmlmeUNvbmZpZ3VyYWJsZSA9IGFyci5oYXNPd25Qcm9wZXJ0eSgibGVuZ3RoIik7DQoNCiAgICAgICAgcmV0dXJuIHZlcmlmeVZhbHVlICYmIHZlcmlmeVdyaXRhYmxlICYmICF2ZXJpZnlFbnVtZXJhYmxlICYmIHZlcmlmeUNvbmZpZ3VyYWJsZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - 'O' is an Array, 'P' is the length property of 'O', the [[Value]] field of 'desc' is absent, test every field in 'desc' is absent (15.4.5.1 step 3.a.i)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-114.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy02LWEtMTE1LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnTycgaXMgYW4gQXJyYXksICdQJyBpcyB0aGUgbGVuZ3RoIHByb3BlcnR5IG9mICdPJywgdGhlIFtbVmFsdWVdXSBmaWVsZCBvZiAnZGVzYycgaXMgYWJzZW50LCB0ZXN0IGV2ZXJ5IGZpZWxkIGluICdkZXNjJyBpcyBzYW1lIHdpdGggY29ycmVzcG9uZGluZyBhdHRyaWJ1dGUgdmFsdWUgb2YgdGhlIGxlbmd0aCBwcm9wZXJ0eSBpbiAnTycgKDE1LjQuNS4xIHN0ZXAgMy5hLmkpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIGFyciA9IFtdOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKGFyciwgew0KICAgICAgICAgICAgbGVuZ3RoOiB7DQogICAgICAgICAgICAgICAgd3JpdGFibGU6IHRydWUsDQogICAgICAgICAgICAgICAgZW51bWVyYWJsZTogZmFsc2UsDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgdmVyaWZ5VmFsdWUgPSBmYWxzZTsNCiAgICAgICAgdmVyaWZ5VmFsdWUgPSAoYXJyLmxlbmd0aCA9PT0gMCk7DQoNCiAgICAgICAgdmFyIHZlcmlmeVdyaXRhYmxlID0gZmFsc2U7DQogICAgICAgIGFyci5sZW5ndGggPSAyOw0KICAgICAgICB2ZXJpZnlXcml0YWJsZSA9IChhcnIubGVuZ3RoID09PSAyKTsNCg0KICAgICAgICB2YXIgdmVyaWZ5RW51bWVyYWJsZSA9IGZhbHNlOw0KICAgICAgICBmb3IgKHZhciBwIGluIGFycikgew0KICAgICAgICAgICAgaWYgKHAgPT09ICJsZW5ndGgiKSB7DQogICAgICAgICAgICAgICAgdmVyaWZ5RW51bWVyYWJsZSA9IHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgdmVyaWZ5Q29uZmlndXJhYmxlID0gZmFsc2U7DQogICAgICAgIGRlbGV0ZSBhcnIubGVuZ3RoOw0KICAgICAgICB2ZXJpZnlDb25maWd1cmFibGUgPSBhcnIuaGFzT3duUHJvcGVydHkoImxlbmd0aCIpOw0KDQogICAgICAgIHJldHVybiB2ZXJpZnlWYWx1ZSAmJiB2ZXJpZnlXcml0YWJsZSAmJiAhdmVyaWZ5RW51bWVyYWJsZSAmJiB2ZXJpZnlDb25maWd1cmFibGU7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - 'O' is an Array, 'P' is the length property of 'O', the [[Value]] field of 'desc' is absent, test every field in 'desc' is same with corresponding attribute value of the length property in 'O' (15.4.5.1 step 3.a.i)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-115.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy02LWEtMTE2LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnTycgaXMgYW4gQXJyYXksICdQJyBpcyB0aGUgbGVuZ3RoIHByb3BlcnR5IG9mICdPJywgdGhlIFtbVmFsdWVdXSBmaWVsZCBvZiAnZGVzYycgaXMgYWJzZW50LCB0ZXN0IFR5cGVFcnJvciBpcyB0aHJvd24gd2hlbiB1cGRhdGluZyB0aGUgW1tDb25maWd1cmFibGVdXSBhdHRyaWJ1dGUgb2YgdGhlIGxlbmd0aCBwcm9wZXJ0eSBmcm9tIGZhbHNlIHRvIHRydWUgKDE1LjQuNS4xIHN0ZXAgMy5hLmkpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYXJyID0gW107DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKGFyciwgew0KICAgICAgICAgICAgICAgIGxlbmd0aDogeyBjb25maWd1cmFibGU6IHRydWUgfQ0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIChlIGluc3RhbmNlb2YgVHlwZUVycm9yKTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - 'O' is an Array, 'P' is the length property of 'O', the [[Value]] field of 'desc' is absent, test TypeError is thrown when updating the [[Configurable]] attribute of the length property from false to true (15.4.5.1 step 3.a.i)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-116.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy02LWEtMTE3LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnTycgaXMgYW4gQXJyYXksICdQJyBpcyB0aGUgbGVuZ3RoIHByb3BlcnR5IG9mICdPJywgdGhlIFtbVmFsdWVdXSBmaWVsZCBvZiAnZGVzYycgaXMgYWJzZW50LCB0ZXN0IFR5cGVFcnJvciBpcyB0aHJvd24gd2hlbiB1cGRhdGluZyB0aGUgW1tFbnVtZXJhYmxlXV0gYXR0cmlidXRlIG9mIHRoZSBsZW5ndGggcHJvcGVydHkgZnJvbSBmYWxzZSB0byB0cnVlICgxNS40LjUuMSBzdGVwIDMuYS5pKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFyciA9IFtdOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhhcnIsIHsNCiAgICAgICAgICAgICAgICBsZW5ndGg6IHsgZW51bWVyYWJsZTogdHJ1ZSB9DQogICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - 'O' is an Array, 'P' is the length property of 'O', the [[Value]] field of 'desc' is absent, test TypeError is thrown when updating the [[Enumerable]] attribute of the length property from false to true (15.4.5.1 step 3.a.i)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-117.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy02LWEtMTE4LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnTycgaXMgYW4gQXJyYXksICdQJyBpcyB0aGUgbGVuZ3RoIHByb3BlcnR5IG9mICdPJywgdGhlIFtbVmFsdWVdXSBmaWVsZCBvZiAnZGVzYycgaXMgYWJzZW50LCB0ZXN0IFR5cGVFcnJvciBpcyB0aHJvd24gd2hlbiAnZGVzYycgaXMgYWNjZXNzb3IgZGVzY3JpcHRvciAoMTUuNC41LjEgc3RlcCAzLmEuaSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhcnIgPSBbXTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMoYXJyLCB7DQogICAgICAgICAgICAgICAgbGVuZ3RoOiB7DQogICAgICAgICAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDI7DQogICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFR5cGVFcnJvciAmJiBhcnIubGVuZ3RoID09PSAwOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - 'O' is an Array, 'P' is the length property of 'O', the [[Value]] field of 'desc' is absent, test TypeError is thrown when 'desc' is accessor descriptor (15.4.5.1 step 3.a.i)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-118.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy02LWEtMTE5LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnTycgaXMgYW4gQXJyYXksICdQJyBpcyB0aGUgbGVuZ3RoIHByb3BlcnR5IG9mICdPJywgdGhlIFtbVmFsdWVdXSBmaWVsZCBvZiAnZGVzYycgaXMgYWJzZW50LCB0ZXN0IFR5cGVFcnJvciBpcyB0aHJvd24gd2hlbiB1cGRhdGluZyB0aGUgW1tXcml0YWJsZV1dIGF0dHJpYnV0ZSBvZiB0aGUgbGVuZ3RoIHByb3BlcnR5IGZyb20gZmFsc2UgdG8gdHJ1ZSAoMTUuNC41LjEgc3RlcCAzLmEuaSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhcnIgPSBbXTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyLCAibGVuZ3RoIiwgew0KICAgICAgICAgICAgd3JpdGFibGU6IGZhbHNlDQogICAgICAgIH0pOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhhcnIsIHsgDQogICAgICAgICAgICAgICAgbGVuZ3RoOiB7IHdyaXRhYmxlOiB0cnVlIH0gDQogICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - 'O' is an Array, 'P' is the length property of 'O', the [[Value]] field of 'desc' is absent, test TypeError is thrown when updating the [[Writable]] attribute of the length property from false to true (15.4.5.1 step 3.a.i)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-119.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy02LWEtMTIuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydGllcyAtICdPJyBpcyBhIEZ1bmN0aW9uIG9iamVjdCB3aGljaCBpbXBsZW1lbnRzIGl0cyBvd24gW1tHZXRPd25Qcm9wZXJ0eV1dIG1ldGhvZCB0byBnZXQgJ1AnICg4LjEyLjkgc3RlcCAxICkgDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIGZ1biA9IGZ1bmN0aW9uICgpIHsgfTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoZnVuLCAicHJvcCIsIHsNCiAgICAgICAgICAgIHZhbHVlOiAxMSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKGZ1biwgew0KICAgICAgICAgICAgICAgIHByb3A6IHsNCiAgICAgICAgICAgICAgICAgICAgdmFsdWU6IDEyLA0KICAgICAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IgJiYgZGF0YVByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3QoZnVuLCAicHJvcCIsIDExLCBmYWxzZSwgZmFsc2UsIGZhbHNlKTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - 'O' is a Function object which implements its own [[GetOwnProperty]] method to get 'P' (8.12.9 step 1 )","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-12.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy02LWEtMTIwLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnTycgaXMgYW4gQXJyYXksICdQJyBpcyB0aGUgbGVuZ3RoIHByb3BlcnR5IG9mICdPJywgdGhlIFtbVmFsdWVdXSBmaWVsZCBvZiAnZGVzYycgaXMgYWJzZW50LCB0ZXN0IHVwZGF0aW5nIHRoZSBbW1dyaXRhYmxlXV0gYXR0cmlidXRlIG9mIHRoZSBsZW5ndGggcHJvcGVydHkgZnJvbSB0cnVlIHRvIGZhbHNlICgxNS40LjUuMSBzdGVwIDMuYS5pKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFyciA9IFtdOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhhcnIsIHsNCiAgICAgICAgICAgICAgICBsZW5ndGg6IHsgd3JpdGFibGU6IGZhbHNlIH0NCiAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICByZXR1cm4gZGF0YVByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3QoYXJyLCAibGVuZ3RoIiwgMCwgZmFsc2UsIGZhbHNlLCBmYWxzZSk7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - 'O' is an Array, 'P' is the length property of 'O', the [[Value]] field of 'desc' is absent, test updating the [[Writable]] attribute of the length property from true to false (15.4.5.1 step 3.a.i)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-120.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy02LWEtMTIxLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnTycgaXMgYW4gQXJyYXksICdQJyBpcyB0aGUgbGVuZ3RoIHByb3BlcnR5IG9mICdPJywgdGVzdCBSYW5nZUVycm9yIGlzIHRocm93biB3aGVuIHNldHRpbmcgdGhlIFtbVmFsdWVdXSBmaWVsZCBvZiAnZGVzYycgdG8gdW5kZWZpbmVkICgxNS40LjUuMSBzdGVwIDMuYykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhcnIgPSBbXTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMoYXJyLCB7DQogICAgICAgICAgICAgICAgbGVuZ3RoOiB7IHZhbHVlOiB1bmRlZmluZWQgfQ0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBSYW5nZUVycm9yICYmIGFyci5sZW5ndGggPT09IDA7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - 'O' is an Array, 'P' is the length property of 'O', test RangeError is thrown when setting the [[Value]] field of 'desc' to undefined (15.4.5.1 step 3.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-121.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy02LWEtMTIyLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnTycgaXMgYW4gQXJyYXksICdQJyBpcyB0aGUgbGVuZ3RoIHByb3BlcnR5IG9mICdPJywgdGVzdCBzZXR0aW5nIHRoZSBbW1ZhbHVlXV0gZmllbGQgb2YgJ2Rlc2MnIHRvIG51bGwgYWN0dWFsbCBpcyBzZXQgdG8gMCAoMTUuNC41LjEgc3RlcCAzLmMpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYXJyID0gWzAsIDFdOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKGFyciwgew0KICAgICAgICAgICAgbGVuZ3RoOiB7IHZhbHVlOiBudWxsIH0NCiAgICAgICAgfSk7DQogICAgICAgIHJldHVybiBhcnIubGVuZ3RoID09PSAwOw0KDQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - 'O' is an Array, 'P' is the length property of 'O', test setting the [[Value]] field of 'desc' to null actuall is set to 0 (15.4.5.1 step 3.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-122.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy02LWEtMTIzLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyB0aGUgbGVuZ3RoIHByb3BlcnR5IG9mICdPJywgdGVzdCB0aGUgW1tWYWx1ZV1dIGZpZWxkIG9mICdkZXNjJyBpcyBhIGJvb2xlYW4gd2l0aCB2YWx1ZSBmYWxzZSAoMTUuNC41LjEgc3RlcCAzLmMpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYXJyID0gWzAsIDFdOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKGFyciwgew0KICAgICAgICAgICAgbGVuZ3RoOiB7IHZhbHVlOiBmYWxzZSB9DQogICAgICAgIH0pOw0KICAgICAgICByZXR1cm4gYXJyLmxlbmd0aCA9PT0gMDsNCg0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - 'O' is an Array, 'name' is the length property of 'O', test the [[Value]] field of 'desc' is a boolean with value false (15.4.5.1 step 3.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-123.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy02LWEtMTI0LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyB0aGUgbGVuZ3RoIHByb3BlcnR5IG9mICdPJywgdGVzdCB0aGUgW1tWYWx1ZV1dIGZpZWxkIG9mICdkZXNjJyBpcyBhIGJvb2xlYW4gd2l0aCB2YWx1ZSB0cnVlICgxNS40LjUuMSBzdGVwIDMuYykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhcnIgPSBbXTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhhcnIsIHsNCiAgICAgICAgICAgIGxlbmd0aDogeyB2YWx1ZTogdHJ1ZSB9DQogICAgICAgIH0pOw0KICAgICAgICByZXR1cm4gYXJyLmxlbmd0aCA9PT0gMTsNCg0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - 'O' is an Array, 'name' is the length property of 'O', test the [[Value]] field of 'desc' is a boolean with value true (15.4.5.1 step 3.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-124.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy02LWEtMTI1LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyB0aGUgbGVuZ3RoIHByb3BlcnR5IG9mICdPJywgdGVzdCB0aGUgW1tWYWx1ZV1dIGZpZWxkIG9mICdkZXNjJyBpcyAwICgxNS40LjUuMSBzdGVwIDMuYykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhcnIgPSBbMCwgMV07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMoYXJyLCB7DQogICAgICAgICAgICBsZW5ndGg6IHsgdmFsdWU6IDAgfQ0KICAgICAgICB9KTsNCiAgICAgICAgcmV0dXJuIGFyci5sZW5ndGggPT09IDA7DQoNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - 'O' is an Array, 'name' is the length property of 'O', test the [[Value]] field of 'desc' is 0 (15.4.5.1 step 3.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-125.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy02LWEtMTI2LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyB0aGUgbGVuZ3RoIHByb3BlcnR5IG9mICdPJywgdGVzdCB0aGUgW1tWYWx1ZV1dIGZpZWxkIG9mICdkZXNjJyBpcyArMCAoMTUuNC41LjEgc3RlcCAzLmMpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYXJyID0gWzAsIDFdOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKGFyciwgew0KICAgICAgICAgICAgbGVuZ3RoOiB7IHZhbHVlOiArMCB9DQogICAgICAgIH0pOw0KICAgICAgICByZXR1cm4gYXJyLmxlbmd0aCA9PT0gMDsNCg0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - 'O' is an Array, 'name' is the length property of 'O', test the [[Value]] field of 'desc' is +0 (15.4.5.1 step 3.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-126.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy02LWEtMTI3LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyB0aGUgbGVuZ3RoIHByb3BlcnR5IG9mICdPJywgdGVzdCB0aGUgW1tWYWx1ZV1dIGZpZWxkIG9mICdkZXNjJyBpcyAtMCAoMTUuNC41LjEgc3RlcCAzLmMpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYXJyID0gWzAsIDFdOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKGFyciwgew0KICAgICAgICAgICAgbGVuZ3RoOiB7IHZhbHVlOiAtMCB9DQogICAgICAgIH0pOw0KICAgICAgICByZXR1cm4gYXJyLmxlbmd0aCA9PT0gMDsNCg0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - 'O' is an Array, 'name' is the length property of 'O', test the [[Value]] field of 'desc' is -0 (15.4.5.1 step 3.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-127.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy02LWEtMTI4LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyB0aGUgbGVuZ3RoIHByb3BlcnR5IG9mICdPJywgdGVzdCB0aGUgW1tWYWx1ZV1dIGZpZWxkIG9mICdkZXNjJyBpcyBwb3NpdGl2ZSBudW1iZXIgKDE1LjQuNS4xIHN0ZXAgMy5jKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFyciA9IFtdOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKGFyciwgew0KICAgICAgICAgICAgbGVuZ3RoOiB7IHZhbHVlOiAxMiB9DQogICAgICAgIH0pOw0KICAgICAgICByZXR1cm4gYXJyLmxlbmd0aCA9PT0gMTI7DQoNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - 'O' is an Array, 'name' is the length property of 'O', test the [[Value]] field of 'desc' is positive number (15.4.5.1 step 3.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-128.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy02LWEtMTI5LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyB0aGUgbGVuZ3RoIHByb3BlcnR5IG9mICdPJywgdGVzdCB0aGUgW1tWYWx1ZV1dIGZpZWxkIG9mICdkZXNjJyBpcyBuZWdhdGl2ZSBudW1iZXIgKDE1LjQuNS4xIHN0ZXAgMy5jKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFyciA9IFtdOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhhcnIsIHsNCiAgICAgICAgICAgICAgICBsZW5ndGg6IHsNCiAgICAgICAgICAgICAgICAgICAgdmFsdWU6IC05DQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiBlIGluc3RhbmNlb2YgUmFuZ2VFcnJvciAmJiBhcnIubGVuZ3RoID09PSAwOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - 'O' is an Array, 'name' is the length property of 'O', test the [[Value]] field of 'desc' is negative number (15.4.5.1 step 3.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-129.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy02LWEtMTMuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydGllcyAtICdPJyBpcyBhbiBBcnJheSBvYmplY3Qgd2hpY2ggaW1wbGVtZW50cyBpdHMgb3duIFtbR2V0T3duUHJvcGVydHldXSBtZXRob2QgdG8gZ2V0ICdQJyAoOC4xMi45IHN0ZXAgMSApIA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBhcnIgPSBbXTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyLCAicHJvcCIsIHsNCiAgICAgICAgICAgIHZhbHVlOiAxMSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKGFyciwgew0KICAgICAgICAgICAgICAgIHByb3A6IHsNCiAgICAgICAgICAgICAgICAgICAgdmFsdWU6IDEyLA0KICAgICAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IgJiYgZGF0YVByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3QoYXJyLCAicHJvcCIsIDExLCBmYWxzZSwgZmFsc2UsIGZhbHNlKTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - 'O' is an Array object which implements its own [[GetOwnProperty]] method to get 'P' (8.12.9 step 1 )","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-13.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy02LWEtMTMwLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyB0aGUgbGVuZ3RoIHByb3BlcnR5IG9mICdPJywgdGVzdCB0aGUgW1tWYWx1ZV1dIGZpZWxkIG9mICdkZXNjJyBpcyArSW5maW5pdHkgKDE1LjQuNS4xIHN0ZXAgMy5jKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFyciA9IFtdOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhhcnIsIHsNCiAgICAgICAgICAgICAgICBsZW5ndGg6IHsNCiAgICAgICAgICAgICAgICAgICAgdmFsdWU6ICtJbmZpbml0eQ0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFJhbmdlRXJyb3IgJiYgYXJyLmxlbmd0aCA9PT0gMDsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - 'O' is an Array, 'name' is the length property of 'O', test the [[Value]] field of 'desc' is +Infinity (15.4.5.1 step 3.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-130.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy02LWEtMTMxLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyB0aGUgbGVuZ3RoIHByb3BlcnR5IG9mICdPJywgdGVzdCB0aGUgW1tWYWx1ZV1dIGZpZWxkIG9mICdkZXNjJyBpcyAtSW5maW5pdHkgKDE1LjQuNS4xIHN0ZXAgMy5jKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFyciA9IFtdOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhhcnIsIHsNCiAgICAgICAgICAgICAgICBsZW5ndGg6IHsNCiAgICAgICAgICAgICAgICAgICAgdmFsdWU6IC1JbmZpbml0eQ0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFJhbmdlRXJyb3IgJiYgYXJyLmxlbmd0aCA9PT0gMDsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - 'O' is an Array, 'name' is the length property of 'O', test the [[Value]] field of 'desc' is -Infinity (15.4.5.1 step 3.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-131.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy02LWEtMTMyLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyB0aGUgbGVuZ3RoIHByb3BlcnR5IG9mICdPJywgdGVzdCB0aGUgW1tWYWx1ZV1dIGZpZWxkIG9mICdkZXNjJyBpcyBOYU4gKDE1LjQuNS4xIHN0ZXAgMy5jKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFyciA9IFtdOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhhcnIsIHsNCiAgICAgICAgICAgICAgICBsZW5ndGg6IHsNCiAgICAgICAgICAgICAgICAgICAgdmFsdWU6IE5hTg0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiBlIGluc3RhbmNlb2YgUmFuZ2VFcnJvciAmJiBhcnIubGVuZ3RoID09PSAwOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - 'O' is an Array, 'name' is the length property of 'O', test the [[Value]] field of 'desc' is NaN (15.4.5.1 step 3.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-132.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy02LWEtMTMzLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyB0aGUgbGVuZ3RoIHByb3BlcnR5IG9mICdPJywgdGVzdCB0aGUgW1tWYWx1ZV1dIGZpZWxkIG9mICdkZXNjJyBpcyBhIHN0cmluZyBjb250YWluaW5nIGEgcG9zaXRpdmUgbnVtYmVyICgxNS40LjUuMSBzdGVwIDMuYykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhcnIgPSBbXTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhhcnIsIHsNCiAgICAgICAgICAgIGxlbmd0aDogew0KICAgICAgICAgICAgICAgIHZhbHVlOiAiMiINCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQogICAgICAgIHJldHVybiBhcnIubGVuZ3RoID09PSAyOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - 'O' is an Array, 'name' is the length property of 'O', test the [[Value]] field of 'desc' is a string containing a positive number (15.4.5.1 step 3.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-133.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy02LWEtMTM0LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyB0aGUgbGVuZ3RoIHByb3BlcnR5IG9mICdPJywgdGVzdCB0aGUgW1tWYWx1ZV1dIGZpZWxkIG9mICdkZXNjJyBpcyBhIHN0cmluZyBjb250YWluaW5nIGEgbmVnYXRpdmUgbnVtYmVyICgxNS40LjUuMSBzdGVwIDMuYykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhcnIgPSBbXTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMoYXJyLCB7DQogICAgICAgICAgICAgICAgbGVuZ3RoOiB7DQogICAgICAgICAgICAgICAgICAgIHZhbHVlOiAiLTQyIg0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFJhbmdlRXJyb3IgJiYgYXJyLmxlbmd0aCA9PT0gMDsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - 'O' is an Array, 'name' is the length property of 'O', test the [[Value]] field of 'desc' is a string containing a negative number (15.4.5.1 step 3.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-134.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy02LWEtMTM1LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyB0aGUgbGVuZ3RoIHByb3BlcnR5IG9mICdPJywgdGVzdCB0aGUgW1tWYWx1ZV1dIGZpZWxkIG9mICdkZXNjJyBpcyBhIHN0cmluZyBjb250YWluaW5nIGEgZGVjaW1hbCBudW1iZXIgKDE1LjQuNS4xIHN0ZXAgMy5jKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFyciA9IFtdOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhhcnIsIHsNCiAgICAgICAgICAgICAgICBsZW5ndGg6IHsNCiAgICAgICAgICAgICAgICAgICAgdmFsdWU6ICIyMDAuNTkiDQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiBlIGluc3RhbmNlb2YgUmFuZ2VFcnJvciAmJiBhcnIubGVuZ3RoID09PSAwOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - 'O' is an Array, 'name' is the length property of 'O', test the [[Value]] field of 'desc' is a string containing a decimal number (15.4.5.1 step 3.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-135.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy02LWEtMTM2LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyB0aGUgbGVuZ3RoIHByb3BlcnR5IG9mICdPJywgdGVzdCB0aGUgW1tWYWx1ZV1dIGZpZWxkIG9mICdkZXNjJyBpcyBhIHN0cmluZyBjb250YWluaW5nICtJbmZpbml0eSAoMTUuNC41LjEgc3RlcCAzLmMpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYXJyID0gW107DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKGFyciwgew0KICAgICAgICAgICAgICAgIGxlbmd0aDogew0KICAgICAgICAgICAgICAgICAgICB2YWx1ZTogIitJbmZpbml0eSINCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBSYW5nZUVycm9yICYmIGFyci5sZW5ndGggPT09IDA7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - 'O' is an Array, 'name' is the length property of 'O', test the [[Value]] field of 'desc' is a string containing +Infinity (15.4.5.1 step 3.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-136.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy02LWEtMTM3LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyB0aGUgbGVuZ3RoIHByb3BlcnR5IG9mICdPJywgdGVzdCB0aGUgW1tWYWx1ZV1dIGZpZWxkIG9mICdkZXNjJyBpcyBhIHN0cmluZyBjb250YWluaW5nIC1JbmZpbml0eSAoMTUuNC41LjEgc3RlcCAzLmMpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYXJyID0gW107DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKGFyciwgew0KICAgICAgICAgICAgICAgIGxlbmd0aDogew0KICAgICAgICAgICAgICAgICAgICB2YWx1ZTogIi1JbmZpbml0eSINCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBSYW5nZUVycm9yICYmIGFyci5sZW5ndGggPT09IDA7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - 'O' is an Array, 'name' is the length property of 'O', test the [[Value]] field of 'desc' is a string containing -Infinity (15.4.5.1 step 3.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-137.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy02LWEtMTM4LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyB0aGUgbGVuZ3RoIHByb3BlcnR5IG9mICdPJywgdGVzdCB0aGUgW1tWYWx1ZV1dIGZpZWxkIG9mICdkZXNjJyBpcyBhIHN0cmluZyBjb250YWluaW5nIGFuIGV4cG9uZW50aWFsIG51bWJlciAoMTUuNC41LjEgc3RlcCAzLmMpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYXJyID0gW107DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMoYXJyLCB7DQogICAgICAgICAgICBsZW5ndGg6IHsNCiAgICAgICAgICAgICAgICB2YWx1ZTogIjJFMyINCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQogICAgICAgIHJldHVybiBhcnIubGVuZ3RoID09PSAyRTM7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - 'O' is an Array, 'name' is the length property of 'O', test the [[Value]] field of 'desc' is a string containing an exponential number (15.4.5.1 step 3.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-138.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy02LWEtMTM5LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyB0aGUgbGVuZ3RoIHByb3BlcnR5IG9mICdPJywgdGVzdCB0aGUgW1tWYWx1ZV1dIGZpZWxkIG9mICdkZXNjJyBpcyBhIHN0cmluZyBjb250YWluaW5nIGFuIGhleCBudW1iZXIgKDE1LjQuNS4xIHN0ZXAgMy5jKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFyciA9IFtdOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKGFyciwgew0KICAgICAgICAgICAgbGVuZ3RoOiB7DQogICAgICAgICAgICAgICAgdmFsdWU6ICIweDAwQiINCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQogICAgICAgIHJldHVybiBhcnIubGVuZ3RoID09PSAweDAwQjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - 'O' is an Array, 'name' is the length property of 'O', test the [[Value]] field of 'desc' is a string containing an hex number (15.4.5.1 step 3.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-139.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy02LWEtMTQuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydGllcyAtICdPJyBpcyBhIFN0cmluZyBvYmplY3Qgd2hpY2ggaW1wbGVtZW50cyBpdHMgb3duIFtbR2V0T3duUHJvcGVydHldXSBtZXRob2QgdG8gZ2V0ICdQJyAoOC4xMi45IHN0ZXAgMSApIA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBzdHIgPSBuZXcgU3RyaW5nKCk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHN0ciwgInByb3AiLCB7DQogICAgICAgICAgICB2YWx1ZTogMTEsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgIH0pOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhzdHIsIHsNCiAgICAgICAgICAgICAgICBwcm9wOiB7DQogICAgICAgICAgICAgICAgICAgIHZhbHVlOiAxMiwNCiAgICAgICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiBlIGluc3RhbmNlb2YgVHlwZUVycm9yICYmIGRhdGFQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KHN0ciwgInByb3AiLCAxMSwgZmFsc2UsIGZhbHNlLCBmYWxzZSk7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - 'O' is a String object which implements its own [[GetOwnProperty]] method to get 'P' (8.12.9 step 1 )","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-14.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy02LWEtMTQwLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyB0aGUgbGVuZ3RoIHByb3BlcnR5IG9mICdPJywgdGVzdCB0aGUgW1tWYWx1ZV1dIGZpZWxkIG9mICdkZXNjJyBpcyBhIHN0cmluZyBjb250YWluaW5nIGFuIGxlYWRpbmcgemVybyBudW1iZXIgKDE1LjQuNS4xIHN0ZXAgMy5jKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFyciA9IFtdOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKGFyciwgew0KICAgICAgICAgICAgbGVuZ3RoOiB7DQogICAgICAgICAgICAgICAgdmFsdWU6ICIwMDAyLjAiDQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KICAgICAgICByZXR1cm4gYXJyLmxlbmd0aCA9PT0gMjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - 'O' is an Array, 'name' is the length property of 'O', test the [[Value]] field of 'desc' is a string containing an leading zero number (15.4.5.1 step 3.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-140.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy02LWEtMTQxLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnTycgaXMgYW4gQXJyYXksICdQJyBpcyB0aGUgbGVuZ3RoIHByb3BlcnR5IG9mICdPJywgdGVzdCB0aGUgW1tWYWx1ZV1dIGZpZWxkIG9mICdkZXNjJyBpcyBhIHN0cmluZyB3aGljaCBkb2Vzbid0IGNvbnZlcnQgdG8gYSBudW1iZXIgKDE1LjQuNS4xIHN0ZXAgMy5jKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFyciA9IFtdOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhhcnIsIHsNCiAgICAgICAgICAgICAgICBsZW5ndGg6IHsNCiAgICAgICAgICAgICAgICAgICAgdmFsdWU6ICJ0d28iDQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiBlIGluc3RhbmNlb2YgUmFuZ2VFcnJvciAmJiBhcnIubGVuZ3RoID09PSAwOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - 'O' is an Array, 'P' is the length property of 'O', test the [[Value]] field of 'desc' is a string which doesn't convert to a number (15.4.5.1 step 3.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-141.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy02LWEtMTQyLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnTycgaXMgYW4gQXJyYXksICdQJyBpcyB0aGUgbGVuZ3RoIHByb3BlcnR5IG9mICdPJywgdGVzdCB0aGUgW1tWYWx1ZV1dIGZpZWxkIG9mICdkZXNjJyBpcyBhbiBPYmplY3Qgd2hpY2ggaGFzIGFuIG93biB0b1N0cmluZyBtZXRob2QgKDE1LjQuNS4xIHN0ZXAgMy5jKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFyciA9IFtdOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKGFyciwgew0KICAgICAgICAgICAgbGVuZ3RoOiB7DQogICAgICAgICAgICAgICAgdmFsdWU6IHsNCiAgICAgICAgICAgICAgICAgICAgdG9TdHJpbmc6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiAnMic7DQogICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KDQogICAgICAgIHJldHVybiBhcnIubGVuZ3RoID09PSAyOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - 'O' is an Array, 'P' is the length property of 'O', test the [[Value]] field of 'desc' is an Object which has an own toString method (15.4.5.1 step 3.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-142.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy02LWEtMTQzLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyB0aGUgbGVuZ3RoIHByb3BlcnR5IG9mICdPJywgdGVzdCB0aGUgW1tWYWx1ZV1dIGZpZWxkIG9mICdkZXNjJyBpcyBhbiBPYmplY3Qgd2hpY2ggaGFzIGFuIG93biB2YWx1ZU9mIG1ldGhvZCAoMTUuNC41LjEgc3RlcCAzLmMpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYXJyID0gW107DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMoYXJyLCB7DQogICAgICAgICAgICBsZW5ndGg6IHsNCiAgICAgICAgICAgICAgICB2YWx1ZTogew0KICAgICAgICAgICAgICAgICAgICB2YWx1ZU9mOiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gMjsNCiAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQogICAgICAgIHJldHVybiBhcnIubGVuZ3RoID09PSAyOw0KDQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - 'O' is an Array, 'name' is the length property of 'O', test the [[Value]] field of 'desc' is an Object which has an own valueOf method (15.4.5.1 step 3.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-143.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy02LWEtMTQ0LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAgJ08nIGlzIGFuIEFycmF5LCAnbmFtZScgaXMgdGhlIGxlbmd0aCBwcm9wZXJ0eSBvZiAnTycsIHRlc3QgdGhlIFtbVmFsdWVdXSBmaWVsZCBvZiAnZGVzYycgaXMgYW4gT2JqZWN0IHdoaWNoIGhhcyBhbiBvd24gdmFsdWVPZiBtZXRob2QgdGhhdCByZXR1cm5zIGFuIG9iamVjdCBhbmQgdG9TdHJpbmcgbWV0aG9kIHRoYXQgcmV0dXJucyBhIHN0cmluZyAoMTUuNC41LjEgc3RlcCAzLmMpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYXJyID0gW107DQogICAgICAgIHZhciB0b1N0cmluZ0FjY2Vzc2VkID0gZmFsc2U7DQogICAgICAgIHZhciB2YWx1ZU9mQWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhhcnIsIHsNCiAgICAgICAgICAgIGxlbmd0aDogew0KICAgICAgICAgICAgICAgIHZhbHVlOiB7DQogICAgICAgICAgICAgICAgICAgIHRvU3RyaW5nOiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgICAgICB0b1N0cmluZ0FjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiAnMic7DQogICAgICAgICAgICAgICAgICAgIH0sDQoNCiAgICAgICAgICAgICAgICAgICAgdmFsdWVPZjogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWVPZkFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiB7fTsNCiAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQogICAgICAgIHJldHVybiBhcnIubGVuZ3RoID09PSAyICYmIHRvU3RyaW5nQWNjZXNzZWQgJiYgdmFsdWVPZkFjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - 'O' is an Array, 'name' is the length property of 'O', test the [[Value]] field of 'desc' is an Object which has an own valueOf method that returns an object and toString method that returns a string (15.4.5.1 step 3.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-144.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy02LWEtMTQ1LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyB0aGUgbGVuZ3RoIHByb3BlcnR5IG9mICdPJywgdGVzdCB0aGUgW1tWYWx1ZV1dIGZpZWxkIG9mICdkZXNjJyBpcyBhbiBPYmplY3Qgd2hpY2ggaGFzIGFuIG93biB0b1N0cmluZyBhbmQgdmFsdWVPZiBtZXRob2QgKDE1LjQuNS4xIHN0ZXAgMy5jKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFyciA9IFtdOw0KICAgICAgICB2YXIgdG9TdHJpbmdBY2Nlc3NlZCA9IGZhbHNlOw0KICAgICAgICB2YXIgdmFsdWVPZkFjY2Vzc2VkID0gZmFsc2U7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMoYXJyLCB7DQogICAgICAgICAgICBsZW5ndGg6IHsNCiAgICAgICAgICAgICAgICB2YWx1ZTogew0KICAgICAgICAgICAgICAgICAgICB0b1N0cmluZzogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAgICAgICAgdG9TdHJpbmdBY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gJzInOw0KICAgICAgICAgICAgICAgICAgICB9LA0KDQogICAgICAgICAgICAgICAgICAgIHZhbHVlT2Y6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlT2ZBY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gMzsNCiAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQogICAgICAgIHJldHVybiBhcnIubGVuZ3RoID09PSAzICYmICF0b1N0cmluZ0FjY2Vzc2VkICYmIHZhbHVlT2ZBY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - 'O' is an Array, 'name' is the length property of 'O', test the [[Value]] field of 'desc' is an Object which has an own toString and valueOf method (15.4.5.1 step 3.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-145.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy02LWEtMTQ2LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyB0aGUgbGVuZ3RoIHByb3BlcnR5IG9mICdPJywgdGVzdCBUeXBlRXJyb3IgaXMgdGhyb3duIHdoZW4gdGhlIFtbVmFsdWVdXSBmaWVsZCBvZiAnZGVzYycgaXMgYW4gT2JqZWN0IHRoYXQgYm90aCB0b1N0cmluZyBhbmQgdmFsdWVPZiB3b3VsZG4ndCByZXR1cm4gcHJpbWl0aXZlIHZhbHVlICgxNS40LjUuMSBzdGVwIDMuYykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhcnIgPSBbXTsNCiAgICAgICAgdmFyIHRvU3RyaW5nQWNjZXNzZWQgPSBmYWxzZTsNCiAgICAgICAgdmFyIHZhbHVlT2ZBY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhhcnIsIHsNCiAgICAgICAgICAgICAgICBsZW5ndGg6IHsNCiAgICAgICAgICAgICAgICAgICAgdmFsdWU6IHsNCiAgICAgICAgICAgICAgICAgICAgICAgIHRvU3RyaW5nOiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgdG9TdHJpbmdBY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHt9Ow0KICAgICAgICAgICAgICAgICAgICAgICAgfSwNCg0KICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWVPZjogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlT2ZBY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHt9Ow0KICAgICAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIChlIGluc3RhbmNlb2YgVHlwZUVycm9yKSAmJiB0b1N0cmluZ0FjY2Vzc2VkICYmIHZhbHVlT2ZBY2Nlc3NlZDsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - 'O' is an Array, 'name' is the length property of 'O', test TypeError is thrown when the [[Value]] field of 'desc' is an Object that both toString and valueOf wouldn't return primitive value (15.4.5.1 step 3.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-146.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy02LWEtMTQ3LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyB0aGUgbGVuZ3RoIHByb3BlcnR5IG9mICdPJywgdGVzdCB1c2luZyBpbmhlcml0ZWQgdmFsdWVPZiBtZXRob2Qgd2hlbiB0aGUgW1tWYWx1ZV1dIGZpZWxkIG9mICdkZXNjJyBpcyBhbiBPYmplYyB3aXRoIGFuIG93biB0b1N0cmluZyBhbmQgaW5oZXJpdGVkIHZhbHVlT2YgbWV0aG9kcyAoMTUuNC41LjEgc3RlcCAzLmMpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYXJyID0gW107DQogICAgICAgIHZhciB0b1N0cmluZ0FjY2Vzc2VkID0gZmFsc2U7DQogICAgICAgIHZhciB2YWx1ZU9mQWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICB2YXIgcHJvdG8gPSB7DQogICAgICAgICAgICB2YWx1ZTogew0KICAgICAgICAgICAgICAgIHZhbHVlT2Y6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICAgICAgdmFsdWVPZkFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDI7DQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfQ0KICAgICAgICB9Ow0KDQogICAgICAgIHZhciBDb24gPSBmdW5jdGlvbiAoKSB7IH07DQogICAgICAgIENvbi5wcm90b3R5cGUgPSBwcm90bzsNCg0KICAgICAgICB2YXIgY2hpbGQgPSBuZXcgQ29uKCk7DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShjaGlsZCwgInZhbHVlIiwgew0KICAgICAgICAgICAgdmFsdWU6IHsNCiAgICAgICAgICAgICAgICB0b1N0cmluZzogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAgICB0b1N0cmluZ0FjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDM7DQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhhcnIsIHsNCiAgICAgICAgICAgIGxlbmd0aDogY2hpbGQNCiAgICAgICAgfSk7DQogICAgICAgIHJldHVybiBhcnIubGVuZ3RoID09PSAzICYmIHRvU3RyaW5nQWNjZXNzZWQgJiYgIXZhbHVlT2ZBY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - 'O' is an Array, 'name' is the length property of 'O', test using inherited valueOf method when the [[Value]] field of 'desc' is an Objec with an own toString and inherited valueOf methods (15.4.5.1 step 3.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-147.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy02LWEtMTQ4LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyB0aGUgbGVuZ3RoIHByb3BlcnR5IG9mICdPJywgIHRlc3QgUmFuZ2VFcnJvciBpcyB0aHJvd24gd2hlbiB0aGUgW1tWYWx1ZV1dIGZpZWxkIG9mICdkZXNjJyBpcyBwb3NpdGl2ZSBub24taW50ZWdlciB2YWx1ZXMgKDE1LjQuNS4xIHN0ZXAgMy5jKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFyciA9IFtdOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhhcnIsIHsNCiAgICAgICAgICAgICAgICBsZW5ndGg6IHsNCiAgICAgICAgICAgICAgICAgICAgdmFsdWU6IDEyMy41DQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBSYW5nZUVycm9yICYmIGFyci5sZW5ndGggPT09IDA7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - 'O' is an Array, 'name' is the length property of 'O', test RangeError is thrown when the [[Value]] field of 'desc' is positive non-integer values (15.4.5.1 step 3.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-148.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy02LWEtMTQ5LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyB0aGUgbGVuZ3RoIHByb3BlcnR5IG9mICdPJywgIHRlc3QgUmFuZ2VFcnJvciBpcyB0aHJvd24gd2hlbiB0aGUgW1tWYWx1ZV1dIGZpZWxkIG9mICdkZXNjJyBpcyBuZWdhdGl2ZSBub24taW50ZWdlciB2YWx1ZXMgKDE1LjQuNS4xIHN0ZXAgMy5jKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFyciA9IFtdOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhhcnIsIHsNCiAgICAgICAgICAgICAgICBsZW5ndGg6IHsNCiAgICAgICAgICAgICAgICAgICAgdmFsdWU6IC00Mjk0OTY3Mjk0LjUNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBSYW5nZUVycm9yICYmIGFyci5sZW5ndGggPT09IDA7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - 'O' is an Array, 'name' is the length property of 'O', test RangeError is thrown when the [[Value]] field of 'desc' is negative non-integer values (15.4.5.1 step 3.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-149.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy02LWEtMTUuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydGllcyAtICdPJyBpcyBhIEJvb2xlYW4gb2JqZWN0IHdoaWNoIGltcGxlbWVudHMgaXRzIG93biBbW0dldE93blByb3BlcnR5XV0gbWV0aG9kIHRvIGdldCAnUCcgKDguMTIuOSBzdGVwIDEgKSANCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgIA0KICAgICAgICB2YXIgb2JqID0gbmV3IEJvb2xlYW4oZmFsc2UpOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgdmFsdWU6IDExLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMob2JqLCB7DQogICAgICAgICAgICAgICAgcHJvcDogew0KICAgICAgICAgICAgICAgICAgICB2YWx1ZTogMTIsDQogICAgICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFR5cGVFcnJvciAmJiBkYXRhUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChvYmosICJwcm9wIiwgMTEsIGZhbHNlLCBmYWxzZSwgZmFsc2UpOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - 'O' is a Boolean object which implements its own [[GetOwnProperty]] method to get 'P' (8.12.9 step 1 )","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-15.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy02LWEtMTUwLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyB0aGUgbGVuZ3RoIHByb3BlcnR5IG9mICdPJywgdGVzdCB0aGUgW1tWYWx1ZV1dIGZpZWxkIG9mICdkZXNjJyBpcyBib3VuZGFyeSB2YWx1ZSAyXjMyIC0gMiAoMTUuNC41LjEgc3RlcCAzLmMpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYXJyID0gW107DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMoYXJyLCB7DQogICAgICAgICAgICBsZW5ndGg6IHsNCiAgICAgICAgICAgICAgICB2YWx1ZTogNDI5NDk2NzI5NA0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCg0KICAgICAgICByZXR1cm4gYXJyLmxlbmd0aCA9PT0gNDI5NDk2NzI5NDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - 'O' is an Array, 'name' is the length property of 'O', test the [[Value]] field of 'desc' is boundary value 2^32 - 2 (15.4.5.1 step 3.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-150.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy02LWEtMTUxLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyB0aGUgbGVuZ3RoIHByb3BlcnR5IG9mICdPJywgdGVzdCB0aGUgW1tWYWx1ZV1dIGZpZWxkIG9mICdkZXNjJyBpcyBib3VuZGFyeSB2YWx1ZSAyXjMyIC0gMSAoMTUuNC41LjEgc3RlcCAzLmMpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYXJyID0gW107DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMoYXJyLCB7DQogICAgICAgICAgICBsZW5ndGg6IHsNCiAgICAgICAgICAgICAgICB2YWx1ZTogNDI5NDk2NzI5NQ0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCg0KICAgICAgICByZXR1cm4gYXJyLmxlbmd0aCA9PT0gNDI5NDk2NzI5NTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - 'O' is an Array, 'name' is the length property of 'O', test the [[Value]] field of 'desc' is boundary value 2^32 - 1 (15.4.5.1 step 3.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-151.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy02LWEtMTUyLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyB0aGUgbGVuZ3RoIHByb3BlcnR5IG9mICdPJywgdGVzdCBSYW5nZUVycm9yIGlzIHRocm93biB3aGVuIHRoZSBbW1ZhbHVlXV0gZmllbGQgb2YgJ2Rlc2MnIGlzIGJvdW5kYXJ5IHZhbHVlIDJeMzIgKDE1LjQuNS4xIHN0ZXAgMy5jKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFyciA9IFtdOw0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMoYXJyLCB7DQogICAgICAgICAgICAgICAgbGVuZ3RoOiB7DQogICAgICAgICAgICAgICAgICAgIHZhbHVlOiA0Mjk0OTY3Mjk2DQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiBlIGluc3RhbmNlb2YgUmFuZ2VFcnJvciAmJiBhcnIubGVuZ3RoID09PSAwOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - 'O' is an Array, 'name' is the length property of 'O', test RangeError is thrown when the [[Value]] field of 'desc' is boundary value 2^32 (15.4.5.1 step 3.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-152.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy02LWEtMTUzLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyB0aGUgbGVuZ3RoIHByb3BlcnR5IG9mICdPJywgdGVzdCBSYW5nZUVycm9yIGlzIHRocm93biB3aGVuIHRoZSBbW1ZhbHVlXV0gZmllbGQgb2YgJ2Rlc2MnIGlzIGJvdW5kYXJ5IHZhbHVlIDJeMzIgKyAxICgxNS40LjUuMSBzdGVwIDMuYykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhcnIgPSBbXTsNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKGFyciwgew0KICAgICAgICAgICAgICAgIGxlbmd0aDogew0KICAgICAgICAgICAgICAgICAgICB2YWx1ZTogNDI5NDk2NzI5Nw0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFJhbmdlRXJyb3IgJiYgYXJyLmxlbmd0aCA9PT0gMDsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - 'O' is an Array, 'name' is the length property of 'O', test RangeError is thrown when the [[Value]] field of 'desc' is boundary value 2^32 + 1 (15.4.5.1 step 3.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-153.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy02LWEtMTU1LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnTycgaXMgYW4gQXJyYXksICdQJyBpcyB0aGUgbGVuZ3RoIHByb3BlcnR5IG9mICdPJywgdGVzdCB0aGUgW1tWYWx1ZV1dIGZpZWxkIG9mICdkZXNjJyB3aGljaCBpcyBncmVhdGVyIHRoYW4gdmFsdWUgb2YgdGhlIGxlbmd0aCBwcm9wZXJ0eSBpcyBkZWZpbmVkIGludG8gJ08nIHdpdGhvdXQgZGVsZXRpbmcgYW55IHByb3BlcnR5IHdpdGggbGFyZ2UgaW5kZXggbmFtZWQgKDE1LjQuNS4xIHN0ZXAgMy5mKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFyciA9IFswLCAsIDJdOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhhcnIsIHsNCiAgICAgICAgICAgICAgICBsZW5ndGg6IHsNCiAgICAgICAgICAgICAgICAgICAgdmFsdWU6IDUNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgcmV0dXJuIGFyci5sZW5ndGggPT09IDUgJiYgYXJyWzBdID09PSAwICYmICFhcnIuaGFzT3duUHJvcGVydHkoIjEiKSAmJiBhcnJbMl0gPT09IDI7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - 'O' is an Array, 'P' is the length property of 'O', test the [[Value]] field of 'desc' which is greater than value of the length property is defined into 'O' without deleting any property with large index named (15.4.5.1 step 3.f)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-155.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy02LWEtMTU2LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnTycgaXMgYW4gQXJyYXksICdQJyBpcyB0aGUgbGVuZ3RoIHByb3BlcnR5IG9mICdPJywgdGVzdCB0aGUgW1tWYWx1ZV1dIGZpZWxkIG9mICdkZXNjJyB3aGljaCBlcXVhbHMgdG8gdmFsdWUgb2YgdGhlIGxlbmd0aCBwcm9wZXJ0eSBpcyBkZWZpbmVkIGludG8gJ08nIHdpdGhvdXQgZGVsZXRpbmcgYW55IHByb3BlcnR5IHdpdGggbGFyZ2UgaW5kZXggbmFtZWQgKDE1LjQuNS4xIHN0ZXAgMy5mKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFyciA9IFswLCAsIDJdOw0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMoYXJyLCB7DQogICAgICAgICAgICAgICAgbGVuZ3RoOiB7DQogICAgICAgICAgICAgICAgICAgIHZhbHVlOiAzDQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgIHJldHVybiBhcnIubGVuZ3RoID09PSAzICYmIGFyclswXSA9PT0gMCAmJiAhYXJyLmhhc093blByb3BlcnR5KCIxIikgJiYgYXJyWzJdID09PSAyOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - 'O' is an Array, 'P' is the length property of 'O', test the [[Value]] field of 'desc' which equals to value of the length property is defined into 'O' without deleting any property with large index named (15.4.5.1 step 3.f)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-156.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy02LWEtMTU3LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnTycgaXMgYW4gQXJyYXksICdQJyBpcyB0aGUgbGVuZ3RoIHByb3BlcnR5IG9mICdPJywgdGVzdCB0aGUgW1tWYWx1ZV1dIGZpZWxkIG9mICdkZXNjJyB3aGljaCBpcyBsZXNzIHRoYW4gdmFsdWUgb2YgdGhlIGxlbmd0aCBwcm9wZXJ0eSBpcyBkZWZpbmVkIGludG8gJ08nIHdpdGggZGVsZXRpbmcgcHJvcGVydGllcyB3aXRoIGxhcmdlIGluZGV4IG5hbWVkICgxNS40LjUuMSBzdGVwIDMuZikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhcnIgPSBbMCwgMV07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMoYXJyLCB7DQogICAgICAgICAgICBsZW5ndGg6IHsNCiAgICAgICAgICAgICAgICB2YWx1ZTogMQ0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCiAgICAgICAgcmV0dXJuIGFyci5sZW5ndGggPT09IDEgJiYgIWFyci5oYXNPd25Qcm9wZXJ0eSgiMSIpICYmIGFyclswXSA9PT0gMDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - 'O' is an Array, 'P' is the length property of 'O', test the [[Value]] field of 'desc' which is less than value of the length property is defined into 'O' with deleting properties with large index named (15.4.5.1 step 3.f)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-157.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy02LWEtMTU4LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnTycgaXMgYW4gQXJyYXksICdQJyBpcyB0aGUgbGVuZ3RoIHByb3BlcnR5IG9mICdPJywgdGhlIFtbVmFsdWVdXSBmaWVsZCBvZiAnZGVzYycgaXMgZ3JlYXRlciB0aGFuIHZhbHVlIG9mIHRoZSBsZW5ndGggcHJvcGVydHksIHRlc3QgVHlwZUVycm9yIGlzIHRocm93biB3aGVuIHRoZSBsZW5ndGggcHJvcGVydHkgaXMgbm90IHdyaXRhYmxlICgxNS40LjUuMSBzdGVwIDMuZi5pKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFyciA9IFtdOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnIsICJsZW5ndGgiLCB7DQogICAgICAgICAgICB3cml0YWJsZTogZmFsc2UNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKGFyciwgew0KICAgICAgICAgICAgICAgIGxlbmd0aDogew0KICAgICAgICAgICAgICAgICAgICB2YWx1ZTogMTINCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFR5cGVFcnJvciAmJiBhcnIubGVuZ3RoID09PSAwOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - 'O' is an Array, 'P' is the length property of 'O', the [[Value]] field of 'desc' is greater than value of the length property, test TypeError is thrown when the length property is not writable (15.4.5.1 step 3.f.i)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-158.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy02LWEtMTU5LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnTycgaXMgYW4gQXJyYXksICdQJyBpcyB0aGUgbGVuZ3RoIHByb3BlcnR5IG9mICdPJywgdGhlIFtbVmFsdWVdXSBmaWVsZCBvZiAnZGVzYycgZXF1YWxzIHRvIHZhbHVlIG9mIHRoZSBsZW5ndGggcHJvcGVydHksIHRlc3QgVHlwZUVycm9yIHdvdWxkbid0IGJlIHRocm93biB3aGVuIHRoZSBsZW5ndGggcHJvcGVydHkgaXMgbm90IHdyaXRhYmxlICgxNS40LjUuMSBzdGVwIDMuZi5pKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFyciA9IFtdOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnIsICJsZW5ndGgiLCB7DQogICAgICAgICAgICB3cml0YWJsZTogZmFsc2UNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKGFyciwgew0KICAgICAgICAgICAgICAgIGxlbmd0aDogew0KICAgICAgICAgICAgICAgICAgICB2YWx1ZTogMA0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgcmV0dXJuIHRydWUgJiYgYXJyLmxlbmd0aCA9PT0gMDsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - 'O' is an Array, 'P' is the length property of 'O', the [[Value]] field of 'desc' equals to value of the length property, test TypeError wouldn't be thrown when the length property is not writable (15.4.5.1 step 3.f.i)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-159.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy02LWEtMTYuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydGllcyAtICdPJyBpcyBhIE51bWJlciBvYmplY3Qgd2hpY2ggaW1wbGVtZW50cyBpdHMgb3duIFtbR2V0T3duUHJvcGVydHldXSBtZXRob2QgdG8gZ2V0ICdQJyAoOC4xMi45IHN0ZXAgMSApIA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IG5ldyBOdW1iZXIoLTkpOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgdmFsdWU6IDExLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMob2JqLCB7DQogICAgICAgICAgICAgICAgcHJvcDogew0KICAgICAgICAgICAgICAgICAgICB2YWx1ZTogMTIsDQogICAgICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFR5cGVFcnJvciAmJiBkYXRhUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChvYmosICJwcm9wIiwgMTEsIGZhbHNlLCBmYWxzZSwgZmFsc2UpOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - 'O' is a Number object which implements its own [[GetOwnProperty]] method to get 'P' (8.12.9 step 1 )","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-16.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy02LWEtMTYwLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnTycgaXMgYW4gQXJyYXksICdQJyBpcyB0aGUgbGVuZ3RoIHByb3BlcnR5IG9mICdPJywgdGhlIFtbVmFsdWVdXSBmaWVsZCBvZiAnZGVzYycgaXMgbGVzcyB0aGFuIHZhbHVlIG9mICB0aGUgbGVuZ3RoIHByb3BlcnR5LCB0ZXN0IFR5cGVFcnJvciBpcyB0aHJvd24gd2hlbiB0aGUgW1tXcml0YWJsZV1dIGF0dHJpYnV0ZSBvZiB0aGUgbGVuZ3RoIHByb3BlcnR5IGlzIGZhbHNlICgxNS40LjUuMSBzdGVwIDMuZykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhcnIgPSBbMCwgMV07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgImxlbmd0aCIsIHsNCiAgICAgICAgICAgIHdyaXRhYmxlOiBmYWxzZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMoYXJyLCB7DQogICAgICAgICAgICAgICAgbGVuZ3RoOiB7DQogICAgICAgICAgICAgICAgICAgIHZhbHVlOiAwDQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiBlIGluc3RhbmNlb2YgVHlwZUVycm9yICYmIGFyci5sZW5ndGggPT09IDIgJiYgYXJyWzBdID09PSAwICYmIGFyclsxXSA9PT0gMTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - 'O' is an Array, 'P' is the length property of 'O', the [[Value]] field of 'desc' is less than value of the length property, test TypeError is thrown when the [[Writable]] attribute of the length property is false (15.4.5.1 step 3.g)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-160.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy02LWEtMTYxLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnTycgaXMgYW4gQXJyYXksICdQJyBpcyB0aGUgbGVuZ3RoIHByb3BlcnR5IG9mICdPJywgdGhlIFtbVmFsdWVdXSBmaWVsZCBvZiAnZGVzYycgaXMgbGVzcyB0aGFuIHZhbHVlIG9mICB0aGUgbGVuZ3RoIHByb3BlcnR5LCAgdGVzdCB0aGUgW1tXcml0YWJsZV1dIGF0dHJpYnV0ZSBvZiB0aGUgbGVuZ3RoIHByb3BlcnR5IGlzIHNldCB0byB0cnVlIGF0IGxhc3QgYWZ0ZXIgZGVsZXRpbmcgcHJvcGVydGllcyB3aXRoIGxhcmdlIGluZGV4IG5hbWVkIGlmIHRoZSBbW1dyaXRhYmxlXV0gZmllbGQgb2YgJ2Rlc2MnIGlzIGFic2VudCAoMTUuNC41LjEgc3RlcCAzLmgpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYXJyID0gWzAsIDFdOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKGFyciwgew0KICAgICAgICAgICAgbGVuZ3RoOiB7DQogICAgICAgICAgICAgICAgdmFsdWU6IDENCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQoNCiAgICAgICAgYXJyLmxlbmd0aCA9IDEwOyAvL3RyeSB0byBvdmVyd3JpdGUgbGVuZ3RoIHZhbHVlIG9mIGFycg0KICAgICAgICByZXR1cm4gIWFyci5oYXNPd25Qcm9wZXJ0eSgiMSIpICYmIGFyci5sZW5ndGggPT09IDEwICYmIGFyclswXSA9PT0gMDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - 'O' is an Array, 'P' is the length property of 'O', the [[Value]] field of 'desc' is less than value of the length property, test the [[Writable]] attribute of the length property is set to true at last after deleting properties with large index named if the [[Writable]] field of 'desc' is absent (15.4.5.1 step 3.h)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-161.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy02LWEtMTYyLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnTycgaXMgYW4gQXJyYXksICdQJyBpcyB0aGUgbGVuZ3RoIHByb3BlcnR5IG9mICdPJywgdGhlIFtbVmFsdWVdXSBmaWVsZCBvZiAnZGVzYycgaXMgbGVzcyB0aGFuIHZhbHVlIG9mICB0aGUgbGVuZ3RoIHByb3BlcnR5LCAgdGVzdCB0aGUgW1tXcml0YWJsZV1dIGF0dHJpYnV0ZSBvZiB0aGUgbGVuZ3RoIHByb3BlcnR5IGlzIHNldCB0byB0cnVlIGF0IGxhc3QgYWZ0ZXIgZGVsZXRpbmcgcHJvcGVydGllcyB3aXRoIGxhcmdlIGluZGV4IG5hbWVkIGlmIHRoZSBbW1dyaXRhYmxlXV0gZmllbGQgb2YgJ2Rlc2MnIGlzIHRydWUgKDE1LjQuNS4xIHN0ZXAgMy5oKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgDQogICAgICAgIHZhciBhcnIgPSBbMCwgMV07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMoYXJyLCB7DQogICAgICAgICAgICBsZW5ndGg6IHsNCiAgICAgICAgICAgICAgICB2YWx1ZTogMSwNCiAgICAgICAgICAgICAgICB3cml0YWJsZTogdHJ1ZQ0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCg0KICAgICAgICBhcnIubGVuZ3RoID0gMTA7IC8vdHJ5IHRvIG92ZXJ3cml0ZSBsZW5ndGggdmFsdWUgb2YgYXJyDQogICAgICAgIHJldHVybiAhYXJyLmhhc093blByb3BlcnR5KCIxIikgJiYgYXJyLmxlbmd0aCA9PT0gMTAgJiYgYXJyWzBdID09PSAwOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - 'O' is an Array, 'P' is the length property of 'O', the [[Value]] field of 'desc' is less than value of the length property, test the [[Writable]] attribute of the length property is set to true at last after deleting properties with large index named if the [[Writable]] field of 'desc' is true (15.4.5.1 step 3.h)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-162.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy02LWEtMTYzLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnTycgaXMgYW4gQXJyYXksICdQJyBpcyB0aGUgbGVuZ3RoIHByb3BlcnR5IG9mICdPJywgdGhlIFtbVmFsdWVdXSBmaWVsZCBvZiAnZGVzYycgaXMgbGVzcyB0aGFuIHZhbHVlIG9mICB0aGUgbGVuZ3RoIHByb3BlcnR5LCB0ZXN0IHRoZSBbW1dyaXRhYmxlXV0gYXR0cmlidXRlIG9mIHRoZSBsZW5ndGggcHJvcGVydHkgaXMgc2V0IHRvIGZhbHNlIGF0IGxhc3QgYWZ0ZXIgZGVsZXRpbmcgcHJvcGVydGllcyB3aXRoIGxhcmdlIGluZGV4IG5hbWVkIGlmIHRoZSBbW1dyaXRhYmxlXV0gZmllbGQgb2YgJ2Rlc2MnIGlzIGZhbHNlICgxNS40LjUuMSBzdGVwIDMuaS5paSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgIA0KICAgICAgICB2YXIgYXJyID0gWzAsIDFdOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKGFyciwgew0KICAgICAgICAgICAgbGVuZ3RoOiB7DQogICAgICAgICAgICAgICAgdmFsdWU6IDEsDQogICAgICAgICAgICAgICAgd3JpdGFibGU6IGZhbHNlDQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KDQogICAgICAgIGFyci5sZW5ndGggPSAxMDsgLy90cnkgdG8gb3ZlcndyaXRlIGxlbmd0aCB2YWx1ZSBvZiBhcnINCiAgICAgICAgcmV0dXJuICFhcnIuaGFzT3duUHJvcGVydHkoIjEiKSAmJiBhcnIubGVuZ3RoID09PSAxICYmIGFyclswXSA9PT0gMDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - 'O' is an Array, 'P' is the length property of 'O', the [[Value]] field of 'desc' is less than value of the length property, test the [[Writable]] attribute of the length property is set to false at last after deleting properties with large index named if the [[Writable]] field of 'desc' is false (15.4.5.1 step 3.i.ii)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-163.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy02LWEtMTY0LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnTycgaXMgYW4gQXJyYXksICdQJyBpcyB0aGUgbGVuZ3RoIHByb3BlcnR5IG9mICdPJywgdGhlIFtbVmFsdWVdXSBmaWVsZCBvZiAnZGVzYycgaXMgbGVzcyB0aGFuIHZhbHVlIG9mIHRoZSBsZW5ndGggcHJvcGVydHksIHRlc3QgdGhlIFtbV3JpdGFibGVdXSBhdHRyaWJ1dGUgb2YgdGhlIGxlbmd0aCBwcm9wZXJ0eSBpbiAnTycgaXMgc2V0IGFzIHRydWUgYmVmb3JlIGRlbGV0aW5nIHByb3BlcnRpZXMgd2l0aCBsYXJnZSBpbmRleCBuYW1lZCAoMTUuNC41LjEgc3RlcCAzLmkuaWlpKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFyciA9IFswLCAxLCAyXTsNCiAgICAgICAgdmFyIHJlc3VsdCA9IDA7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnIsICIxIiwgew0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhhcnIsIHsNCiAgICAgICAgICAgICAgICBsZW5ndGg6IHsNCiAgICAgICAgICAgICAgICAgICAgdmFsdWU6IDAsDQogICAgICAgICAgICAgICAgICAgIHdyaXRhYmxlOiBmYWxzZQ0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJlc3VsdCA9IChhcnIubGVuZ3RoID09PSAyKTsNCiAgICAgICAgICAgIGFyci5sZW5ndGggPSAxMDsNCiAgICAgICAgICAgIHJldHVybiAoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikgJiYgcmVzdWx0ICYmIGFyci5sZW5ndGggPT09IDI7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - 'O' is an Array, 'P' is the length property of 'O', the [[Value]] field of 'desc' is less than value of the length property, test the [[Writable]] attribute of the length property in 'O' is set as true before deleting properties with large index named (15.4.5.1 step 3.i.iii)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-164.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy02LWEtMTY1LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnTycgaXMgYW4gQXJyYXksICdQJyBpcyB0aGUgbGVuZ3RoIHByb3BlcnR5IG9mICdPJywgdGhlIFtbVmFsdWVdXSBmaWVsZCBvZiAnZGVzYycgaXMgbGVzcyB0aGFuIHZhbHVlIG9mICB0aGUgbGVuZ3RoIHByb3BlcnR5LCB0ZXN0IHRoZSBsZW5ndGggcHJvcGVydHkgaXMgZGVjcmVhc2VkIGJ5IDEgKDE1LjQuNS4xIHN0ZXAgMy5sLmkpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYXJyID0gWzAsIDEsIDJdOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnIsICIxIiwgew0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyLCAiMiIsIHsNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMoYXJyLCB7DQogICAgICAgICAgICAgICAgbGVuZ3RoOiB7DQogICAgICAgICAgICAgICAgICAgIHZhbHVlOiAxDQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiBlIGluc3RhbmNlb2YgVHlwZUVycm9yICYmIGFyci5sZW5ndGggPT09IDIgJiYNCiAgICAgICAgICAgICAgICAhYXJyLmhhc093blByb3BlcnR5KCIyIikgJiYgYXJyWzBdID09PSAwICYmIGFyclsxXSA9PT0gMTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - 'O' is an Array, 'P' is the length property of 'O', the [[Value]] field of 'desc' is less than value of the length property, test the length property is decreased by 1 (15.4.5.1 step 3.l.i)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-165.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy02LWEtMTY2LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnTycgaXMgYW4gQXJyYXksICdQJyBpcyB0aGUgbGVuZ3RoIHByb3BlcnR5IG9mICdPJywgdGhlIFtbVmFsdWVdXSBmaWVsZCBvZiAnZGVzYycgaXMgbGVzcyB0aGFuIHZhbHVlIG9mICB0aGUgbGVuZ3RoIHByb3BlcnR5LCB0ZXN0IHRoZSBbW0NvbmZpZ3VyYWJsZV1dIGF0dHJpYnV0ZSBvZiBvd24gZGF0YSBwcm9wZXJ0eSB3aXRoIGxhcmdlIGluZGV4IG5hbWVkIGluICdPJyBjYW4gc3RvcCBkZWxldGluZyBpbmRleCBuYW1lZCBwcm9wZXJ0aWVzICgxNS40LjUuMSBzdGVwIDMubC5paSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhcnIgPSBbMCwgMV07DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnIsICIxIiwgew0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhhcnIsIHsNCiAgICAgICAgICAgICAgICBsZW5ndGg6IHsNCiAgICAgICAgICAgICAgICAgICAgdmFsdWU6IDENCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpICYmIGFyci5sZW5ndGggPT09IDIgJiYNCiAgICAgICAgICAgICAgICBhcnIuaGFzT3duUHJvcGVydHkoIjEiKSAmJiBhcnJbMF0gPT09IDAgJiYgYXJyWzFdID09PSAxOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - 'O' is an Array, 'P' is the length property of 'O', the [[Value]] field of 'desc' is less than value of the length property, test the [[Configurable]] attribute of own data property with large index named in 'O' can stop deleting index named properties (15.4.5.1 step 3.l.ii)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-166.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy02LWEtMTY3LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnTycgaXMgYW4gQXJyYXksICdQJyBpcyB0aGUgbGVuZ3RoIHByb3BlcnR5IG9mICdPJywgdGhlIFtbVmFsdWVdXSBmaWVsZCBvZiAnZGVzYycgaXMgbGVzcyB0aGFuIHZhbHVlIG9mICB0aGUgbGVuZ3RoIHByb3BlcnR5LCB0ZXN0IHRoZSBbW0NvbmZpZ3VyYWJsZV1dIGF0dHJpYnV0ZSBvZiBpbmhlcml0ZWQgZGF0YSBwcm9wZXJ0eSB3aXRoIGxhcmdlIGluZGV4IG5hbWVkIGluICdPJyBjYW4ndCBzdG9wIGRlbGV0aW5nIGluZGV4IG5hbWVkIHByb3BlcnRpZXMgKDE1LjQuNS4xIHN0ZXAgMy5sLmlpKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFyciA9IFswLCAxXTsNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIEFycmF5LnByb3RvdHlwZVsxXSA9IDI7IC8vd2UgYXJlIG5vdCBhbGxvd2VkIHRvIHNldCB0aGUgW1tDb25maWd1cmFibGVdXSBhdHRyaWJ1dGUgb2YgcHJvcGVydHkgIjEiIHRvIGZhbHNlIGhlcmUsIHNpbmNlIEFycmF5LnByb3RvdHlwZSBpcyBhIGdsb2JhbCBvYmplY3QsIGFuZCBub24tY29uZmlndXJiYWxlIHByb3BlcnR5IGNhbid0IHJldmVydCB0byBjb25maWd1cmFibGUNCg0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMoYXJyLCB7DQogICAgICAgICAgICAgICAgbGVuZ3RoOiB7DQogICAgICAgICAgICAgICAgICAgIHZhbHVlOiAxDQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgIHJldHVybiBhcnIubGVuZ3RoID09PSAxICYmICFhcnIuaGFzT3duUHJvcGVydHkoIjEiKSAmJiBhcnJbMF0gPT09IDAgJiYgQXJyYXkucHJvdG90eXBlWzFdID09PSAyOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIEFycmF5LnByb3RvdHlwZVsxXTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - 'O' is an Array, 'P' is the length property of 'O', the [[Value]] field of 'desc' is less than value of the length property, test the [[Configurable]] attribute of inherited data property with large index named in 'O' can't stop deleting index named properties (15.4.5.1 step 3.l.ii)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-167.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy02LWEtMTY4LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnTycgaXMgYW4gQXJyYXksICdQJyBpcyB0aGUgbGVuZ3RoIHByb3BlcnR5IG9mICdPJywgdGhlIFtbVmFsdWVdXSBmaWVsZCBvZiAnZGVzYycgaXMgbGVzcyB0aGFuIHZhbHVlIG9mICB0aGUgbGVuZ3RoIHByb3BlcnR5LCB0ZXN0IHRoZSBbW0NvbmZpZ3VyYWJsZV1dIGF0dHJpYnV0ZSBvZiBvd24gZGF0YSBwcm9wZXJ0eSB3aXRoIGxhcmdlIGluZGV4IG5hbWVkIGluICdPJyB0aGF0IG92ZXJyaWRlcyBpbmhlcml0ZWQgZGF0YSBwcm9wZXJ0eSBjYW4gc3RvcCBkZWxldGluZyBpbmRleCBuYW1lZCBwcm9wZXJ0aWVzICgxNS40LjUuMSBzdGVwIDMubC5paSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgIA0KICAgICAgICB2YXIgYXJyID0gWzAsIDFdOw0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgIjEiLCB7DQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgIEFycmF5LnByb3RvdHlwZVsxXSA9IDI7DQoNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKGFyciwgew0KICAgICAgICAgICAgICAgIGxlbmd0aDogew0KICAgICAgICAgICAgICAgICAgICB2YWx1ZTogMQ0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFR5cGVFcnJvciAmJiBhcnIubGVuZ3RoID09PSAyICYmDQogICAgICAgICAgICAgICAgYXJyLmhhc093blByb3BlcnR5KCIxIikgJiYgYXJyWzBdID09PSAwICYmIGFyclsxXSA9PT0gMTsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBBcnJheS5wcm90b3R5cGVbMV07DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - 'O' is an Array, 'P' is the length property of 'O', the [[Value]] field of 'desc' is less than value of the length property, test the [[Configurable]] attribute of own data property with large index named in 'O' that overrides inherited data property can stop deleting index named properties (15.4.5.1 step 3.l.ii)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-168.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy02LWEtMTY5LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnTycgaXMgYW4gQXJyYXksICdQJyBpcyB0aGUgbGVuZ3RoIHByb3BlcnR5IG9mICdPJywgdGhlIFtbVmFsdWVdXSBmaWVsZCBvZiAnZGVzYycgaXMgbGVzcyB0aGFuIHZhbHVlIG9mICB0aGUgbGVuZ3RoIHByb3BlcnR5LCB0ZXN0IHRoZSBbW0NvbmZpZ3VyYWJsZV1dIGF0dHJpYnV0ZSBvZiBvd24gZGF0YSBwcm9wZXJ0eSB3aXRoIGxhcmdlIGluZGV4IG5hbWVkIGluICdPJyB0aGF0IG92ZXJyaWRlcyBpbmhlcml0ZWQgYWNjZXNzb3IgcHJvcGVydHkgY2FuIHN0b3AgZGVsZXRpbmcgaW5kZXggbmFtZWQgcHJvcGVydGllcyAoMTUuNC41LjEgc3RlcCAzLmwuaWkpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICANCiAgICAgICAgdmFyIGFyciA9IFswLCAxXTsNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnIsICIxIiwgew0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoQXJyYXkucHJvdG90eXBlLCAiMSIsIHsNCiAgICAgICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDI7DQogICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhhcnIsIHsNCiAgICAgICAgICAgICAgICBsZW5ndGg6IHsNCiAgICAgICAgICAgICAgICAgICAgdmFsdWU6IDENCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFR5cGVFcnJvciAmJiBhcnIubGVuZ3RoID09PSAyICYmIGFyci5oYXNPd25Qcm9wZXJ0eSgiMSIpICYmDQogICAgICAgICAgICAgICAgYXJyWzBdID09PSAwICYmIGFyclsxXSA9PT0gMSAmJiBBcnJheS5wcm90b3R5cGVbMV0gPT09IDI7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgQXJyYXkucHJvdG90eXBlWzFdOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - 'O' is an Array, 'P' is the length property of 'O', the [[Value]] field of 'desc' is less than value of the length property, test the [[Configurable]] attribute of own data property with large index named in 'O' that overrides inherited accessor property can stop deleting index named properties (15.4.5.1 step 3.l.ii)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-169.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy02LWEtMTcuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydGllcyAtICdPJyBpcyB0aGUgTWF0aCBvYmplY3Qgd2hpY2ggaW1wbGVtZW50cyBpdHMgb3duIFtbR2V0T3duUHJvcGVydHldXSBtZXRob2QgdG8gZ2V0ICdQJyAoOC4xMi45IHN0ZXAgMSApIA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShNYXRoLCAicHJvcCIsIHsNCiAgICAgICAgICAgICAgICB2YWx1ZTogMTEsDQogICAgICAgICAgICAgICAgd3JpdGFibGU6IHRydWUsDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIHZhciBoYXNQcm9wZXJ0eSA9IE1hdGguaGFzT3duUHJvcGVydHkoInByb3AiKSAmJiBNYXRoLnByb3AgPT09IDExOw0KDQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhNYXRoLCB7DQogICAgICAgICAgICAgICAgcHJvcDogew0KICAgICAgICAgICAgICAgICAgICB2YWx1ZTogMTINCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIHJldHVybiBoYXNQcm9wZXJ0eSAmJiBNYXRoLnByb3AgPT09IDEyOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIE1hdGgucHJvcDsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - 'O' is the Math object which implements its own [[GetOwnProperty]] method to get 'P' (8.12.9 step 1 )","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-17.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy02LWEtMTcwLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnTycgaXMgYW4gQXJyYXksICdQJyBpcyB0aGUgbGVuZ3RoIHByb3BlcnR5IG9mICdPJywgdGhlIFtbVmFsdWVdXSBmaWVsZCBvZiAnZGVzYycgaXMgbGVzcyB0aGFuIHZhbHVlIG9mICB0aGUgbGVuZ3RoIHByb3BlcnR5LCB0ZXN0IHRoZSBbW0NvbmZpZ3VyYWJsZV1dIGF0dHJpYnV0ZSBvZiBvd24gYWNjZXNzb3IgcHJvcGVydHkgd2l0aCBsYXJnZSBpbmRleCBuYW1lZCBpbiAnTycgY2FuIHN0b3AgZGVsZXRpbmcgaW5kZXggbmFtZWQgcHJvcGVydGllcyAoMTUuNC41LjEgc3RlcCAzLmwuaWkpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYXJyID0gWzAsIDFdOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyLCAiMSIsIHsNCiAgICAgICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDE7DQogICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMoYXJyLCB7DQogICAgICAgICAgICAgICAgbGVuZ3RoOiB7DQogICAgICAgICAgICAgICAgICAgIHZhbHVlOiAxDQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIChlIGluc3RhbmNlb2YgVHlwZUVycm9yKSAmJiBhcnIubGVuZ3RoID09PSAyICYmDQogICAgICAgICAgICAgICAgYXJyLmhhc093blByb3BlcnR5KCIxIikgJiYgYXJyWzBdID09PSAwICYmIGFyclsxXSA9PT0gMTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - 'O' is an Array, 'P' is the length property of 'O', the [[Value]] field of 'desc' is less than value of the length property, test the [[Configurable]] attribute of own accessor property with large index named in 'O' can stop deleting index named properties (15.4.5.1 step 3.l.ii)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-170.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy02LWEtMTcxLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnTycgaXMgYW4gQXJyYXksICdQJyBpcyB0aGUgbGVuZ3RoIHByb3BlcnR5IG9mICdPJywgdGhlIFtbVmFsdWVdXSBmaWVsZCBvZiAnZGVzYycgaXMgbGVzcyB0aGFuIHZhbHVlIG9mICB0aGUgbGVuZ3RoIHByb3BlcnR5LCB0ZXN0IHRoZSBbW0NvbmZpZ3VyYWJsZV1dIGF0dHJpYnV0ZSBvZiBpbmhlcml0ZWQgYWNjZXNzb3IgcHJvcGVydHkgd2l0aCBsYXJnZSBpbmRleCBuYW1lZCBpbiAnTycgY2FuJ3Qgc3RvcCBkZWxldGluZyBpbmRleCBuYW1lZCBwcm9wZXJ0aWVzICgxNS40LjUuMSBzdGVwIDMubC5paSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhcnIgPSBbMCwgMV07DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoQXJyYXkucHJvdG90eXBlLCAiMSIsIHsNCiAgICAgICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDE7DQogICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUgLy93ZSBhcmUgbm90IGFsbG93ZWQgdG8gc2V0IHRoZSBbW0NvbmZpZ3VyYWJsZV1dIGF0dHJpYnV0ZSBvZiBwcm9wZXJ0eSAiMSIgdG8gZmFsc2UgaGVyZSwgc2luY2UgQXJyYXkucHJvdG90eXBlIGlzIGEgZ2xvYmFsIG9iamVjdCwgYW5kIG5vbi1jb25maWd1cmJhbGUgcHJvcGVydHkgY2FuJ3QgcmV2ZXJ0IHRvIGNvbmZpZ3VyYWJsZQ0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKGFyciwgew0KICAgICAgICAgICAgICAgIGxlbmd0aDogew0KICAgICAgICAgICAgICAgICAgICB2YWx1ZTogMQ0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICByZXR1cm4gYXJyLmxlbmd0aCA9PT0gMSAmJiAhYXJyLmhhc093blByb3BlcnR5KCIxIikgJiYgYXJyWzBdID09PSAwICYmIEFycmF5LnByb3RvdHlwZVsxXSA9PT0gMTsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBBcnJheS5wcm90b3R5cGVbMV07DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - 'O' is an Array, 'P' is the length property of 'O', the [[Value]] field of 'desc' is less than value of the length property, test the [[Configurable]] attribute of inherited accessor property with large index named in 'O' can't stop deleting index named properties (15.4.5.1 step 3.l.ii)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-171.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy02LWEtMTcyLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnTycgaXMgYW4gQXJyYXksICdQJyBpcyB0aGUgbGVuZ3RoIHByb3BlcnR5IG9mICdPJywgdGhlIFtbVmFsdWVdXSBmaWVsZCBvZiAnZGVzYycgaXMgbGVzcyB0aGFuIHZhbHVlIG9mICB0aGUgbGVuZ3RoIHByb3BlcnR5LCB0ZXN0IHRoZSBbW0NvbmZpZ3VyYWJsZV1dIGF0dHJpYnV0ZSBvZiBvd24gYWNjZXNzb3IgcHJvcGVydHkgd2l0aCBsYXJnZSBpbmRleCBuYW1lZCBpbiAnTycgdGhhdCBvdmVycmlkZXMgaW5oZXJpdGVkIGRhdGEgcHJvcGVydHkgY2FuIHN0b3AgZGVsZXRpbmcgaW5kZXggbmFtZWQgcHJvcGVydGllcyAoMTUuNC41LjEgc3RlcCAzLmwuaWkpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICANCiAgICAgICAgdmFyIGFyciA9IFswLCAxXTsNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnIsICIxIiwgew0KICAgICAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gMjsNCiAgICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICBBcnJheS5wcm90b3R5cGVbMV0gPSAzOw0KDQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhhcnIsIHsNCiAgICAgICAgICAgICAgICBsZW5ndGg6IHsNCiAgICAgICAgICAgICAgICAgICAgdmFsdWU6IDENCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IgJiYgYXJyLmxlbmd0aCA9PT0gMiAmJg0KICAgICAgICAgICAgICAgIGFyci5oYXNPd25Qcm9wZXJ0eSgiMSIpICYmIGFyclswXSA9PT0gMCAmJiBhcnJbMV0gPT09IDI7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgQXJyYXkucHJvdG90eXBlWzFdOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - 'O' is an Array, 'P' is the length property of 'O', the [[Value]] field of 'desc' is less than value of the length property, test the [[Configurable]] attribute of own accessor property with large index named in 'O' that overrides inherited data property can stop deleting index named properties (15.4.5.1 step 3.l.ii)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-172.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy02LWEtMTczLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnTycgaXMgYW4gQXJyYXksICdQJyBpcyB0aGUgbGVuZ3RoIHByb3BlcnR5IG9mICdPJywgdGhlIFtbVmFsdWVdXSBmaWVsZCBvZiAnZGVzYycgaXMgbGVzcyB0aGFuIHZhbHVlIG9mICB0aGUgbGVuZ3RoIHByb3BlcnR5LCB0ZXN0IHRoZSBbW0NvbmZpZ3VyYWJsZV1dIGF0dHJpYnV0ZSBvZiBvd24gYWNjZXNzb3IgcHJvcGVydHkgd2l0aCBsYXJnZSBpbmRleCBuYW1lZCBpbiAnTycgdGhhdCBvdmVycmlkZXMgaW5oZXJpdGVkIGFjY2Vzc29yIHByb3BlcnR5IGNhbiBzdG9wIGRlbGV0aW5nIGluZGV4IG5hbWVkIHByb3BlcnRpZXMgKDE1LjQuNS4xIHN0ZXAgMy5sLmlpKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFyciA9IFswLCAxXTsNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnIsICIxIiwgew0KICAgICAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gMTsNCiAgICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoQXJyYXkucHJvdG90eXBlLCAiMSIsIHsNCiAgICAgICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDI7DQogICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhhcnIsIHsNCiAgICAgICAgICAgICAgICBsZW5ndGg6IHsNCiAgICAgICAgICAgICAgICAgICAgdmFsdWU6IDENCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IgJiYgYXJyLmxlbmd0aCA9PT0gMiAmJiBhcnIuaGFzT3duUHJvcGVydHkoIjEiKSAmJg0KICAgICAgICAgICAgICAgIGFyclswXSA9PT0gMCAmJiBhcnJbMV0gPT09IDEgJiYgQXJyYXkucHJvdG90eXBlWzFdID09PSAyOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIEFycmF5LnByb3RvdHlwZVsxXTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - 'O' is an Array, 'P' is the length property of 'O', the [[Value]] field of 'desc' is less than value of the length property, test the [[Configurable]] attribute of own accessor property with large index named in 'O' that overrides inherited accessor property can stop deleting index named properties (15.4.5.1 step 3.l.ii)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-173.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy02LWEtMTc0LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnTycgaXMgYW4gQXJyYXksICdQJyBpcyB0aGUgbGVuZ3RoIHByb3BlcnR5IG9mICdPJywgdGhlIFtbVmFsdWVdXSBmaWVsZCBvZiAnZGVzYycgaXMgbGVzcyB0aGFuIHZhbHVlIG9mICB0aGUgbGVuZ3RoIHByb3BlcnR5LCB0ZXN0IHRoZSBjb25maWd1cmFibGUgbGFyZ2UgaW5kZXggbmFtZWQgcHJvcGVydHkgb2YgJ08nIGNhbiBiZSBkZWxldGVkICgxNS40LjUuMSBzdGVwIDMubC5paSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhcnIgPSBbMCwgMV07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMoYXJyLCB7DQogICAgICAgICAgICBsZW5ndGg6IHsNCiAgICAgICAgICAgICAgICB2YWx1ZTogMQ0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCg0KICAgICAgICByZXR1cm4gIWFyci5oYXNPd25Qcm9wZXJ0eSgiMSIpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - 'O' is an Array, 'P' is the length property of 'O', the [[Value]] field of 'desc' is less than value of the length property, test the configurable large index named property of 'O' can be deleted (15.4.5.1 step 3.l.ii)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-174.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy02LWEtMTc1LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnTycgaXMgYW4gQXJyYXksICdQJyBpcyB0aGUgbGVuZ3RoIHByb3BlcnR5IG9mICdPJywgdGhlIFtbVmFsdWVdXSBmaWVsZCBvZiAnZGVzYycgaXMgbGVzcyB0aGFuIHZhbHVlIG9mICB0aGUgbGVuZ3RoIHByb3BlcnR5LCB0ZXN0IHZhbHVlIG9mIHRoZSBsZW5ndGggcHJvcGVydHkgaXMgc2V0IHRvIHRoZSBsYXN0IG5vbi1jb25maWd1cmFibGUgaW5kZXggbmFtZWQgcHJvcGVydHkgb2YgJ08nIHBsdXMgMSAoMTUuNC41LjEgc3RlcCAzLmwuaWlpLjEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYXJyID0gWzAsIDEsIDIsIDNdOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnIsICIxIiwgew0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMoYXJyLCB7DQogICAgICAgICAgICAgICAgbGVuZ3RoOiB7DQogICAgICAgICAgICAgICAgICAgIHZhbHVlOiAxDQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiAoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikgJiYgKGFyci5sZW5ndGggPT09IDIpOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - 'O' is an Array, 'P' is the length property of 'O', the [[Value]] field of 'desc' is less than value of the length property, test value of the length property is set to the last non-configurable index named property of 'O' plus 1 (15.4.5.1 step 3.l.iii.1)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-175.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy02LWEtMTc2LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnTycgaXMgYW4gQXJyYXksICdQJyBpcyB0aGUgbGVuZ3RoIHByb3BlcnR5IG9mICdPJywgdGhlIFtbVmFsdWVdXSBmaWVsZCBvZiAnZGVzYycgaXMgbGVzcyB0aGFuIHZhbHVlIG9mICB0aGUgbGVuZ3RoIHByb3BlcnR5LCB0ZXN0IHRoZSBbW1dyaXRhYmxlXV0gYXR0cmlidXRlIG9mIHRoZSBsZW5ndGggcHJvcGVydHkgaXMgc2V0IHRvIGZhbHNlIGF0IGxhc3Qgd2hlbiB0aGUgW1tXcml0YWJsZV1dIGZpZWxkIG9mICdkZXNjJyBpcyBmYWxzZSBhbmQgJ08nIGNvbnRhaW5zIG5vbi1jb25maWd1cmFibGUgbGFyZ2UgaW5kZXggbmFtZWQgcHJvcGVydHkgKDE1LjQuNS4xIHN0ZXAgMy5sLmlpaS4yKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFyciA9IFswLCAxXTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgIjEiLCB7DQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKGFyciwgew0KICAgICAgICAgICAgICAgIGxlbmd0aDogew0KICAgICAgICAgICAgICAgICAgICB2YWx1ZTogMSwNCiAgICAgICAgICAgICAgICAgICAgd3JpdGFibGU6IGZhbHNlDQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIGFyci5sZW5ndGggPSAxMDsgLy90cnkgdG8gb3ZlcndyaXRlIGxlbmd0aCB2YWx1ZSBvZiBhcnINCiAgICAgICAgICAgIHJldHVybiBlIGluc3RhbmNlb2YgVHlwZUVycm9yICYmIGFyci5oYXNPd25Qcm9wZXJ0eSgiMSIpICYmDQogICAgICAgICAgICAgICAgYXJyLmxlbmd0aCA9PT0gMiAmJiBhcnJbMF0gPT09IDAgJiYgYXJyWzFdID09PSAxOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - 'O' is an Array, 'P' is the length property of 'O', the [[Value]] field of 'desc' is less than value of the length property, test the [[Writable]] attribute of the length property is set to false at last when the [[Writable]] field of 'desc' is false and 'O' contains non-configurable large index named property (15.4.5.1 step 3.l.iii.2)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-176.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy02LWEtMTc3LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnTycgaXMgYW4gQXJyYXksICdQJyBpcyB0aGUgbGVuZ3RoIHByb3BlcnR5IG9mICdPJywgdGhlIFtbVmFsdWVdXSBmaWVsZCBvZiAnZGVzYycgaXMgbGVzcyB0aGFuIHZhbHVlIG9mICB0aGUgbGVuZ3RoIHByb3BlcnR5LCB0ZXN0IHRoZSBbW1dyaXRhYmxlXV0gYXR0cmlidXRlIG9mIHRoZSBsZW5ndGggcHJvcGVydHkgaXMgc2V0IHRvIGZhbHNlIGF0IGxhc3Qgd2hlbiB0aGUgW1tXcml0YWJsZV1dIGZpZWxkIG9mICdkZXNjJyBpcyBmYWxzZSBhbmQgJ08nIGRvZXNuJ3QgY29udGFpbiBub24tY29uZmlndXJhYmxlIGxhcmdlIGluZGV4IG5hbWVkIHByb3BlcnR5ICgxNS40LjUuMSBzdGVwIDMubSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgIA0KICAgICAgICB2YXIgYXJyID0gWzAsIDFdOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhhcnIsIHsNCiAgICAgICAgICAgICAgICBsZW5ndGg6IHsNCiAgICAgICAgICAgICAgICAgICAgdmFsdWU6IDAsDQogICAgICAgICAgICAgICAgICAgIHdyaXRhYmxlOiBmYWxzZQ0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICBhcnIubGVuZ3RoID0gMTA7IC8vdHJ5IHRvIG92ZXJ3cml0ZSBsZW5ndGggdmFsdWUgb2YgYXJyDQogICAgICAgICAgICByZXR1cm4gIWFyci5oYXNPd25Qcm9wZXJ0eSgiMSIpICYmIGFyci5sZW5ndGggPT09IDAgJiYgIWFyci5oYXNPd25Qcm9wZXJ0eSgiMCIpOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - 'O' is an Array, 'P' is the length property of 'O', the [[Value]] field of 'desc' is less than value of the length property, test the [[Writable]] attribute of the length property is set to false at last when the [[Writable]] field of 'desc' is false and 'O' doesn't contain non-configurable large index named property (15.4.5.1 step 3.m)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-177.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy02LWEtMTc4LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnTycgaXMgYW4gQXJyYXksICdQJyBpcyBhbiBhcnJheSBpbmRleCBuYW1lZCBwcm9wZXJ0eSwgJ1AnIGlzIGF2YWlsYWJsZSBTdHJpbmcgdmFsdWVzIHRoYXQgY29udmVydCB0byBudW1iZXJzICgxNS40LjUuMSBzdGVwIDQuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhcnIgPSBbMF07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMoYXJyLCB7DQogICAgICAgICAgICAiMCI6IHsNCiAgICAgICAgICAgICAgICB2YWx1ZTogMTINCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQogICAgICAgIHJldHVybiBhcnJbMF0gPT09IDEyOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - 'O' is an Array, 'P' is an array index named property, 'P' is available String values that convert to numbers (15.4.5.1 step 4.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-178.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy02LWEtMTc5LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnTycgaXMgYW4gQXJyYXksICdQJyBpcyBhbiBhcnJheSBpbmRleCBuYW1lZCBwcm9wZXJ0eSwgJ1AnIGlzIGJvdW5kYXJ5IHZhbHVlIDJeMzIgLSAyICgxNS40LjUuMSBzdGVwIDQuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgYXJyID0gW107DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMoYXJyLCB7DQogICAgICAgICAgICAiNDI5NDk2NzI5NCI6IHsNCiAgICAgICAgICAgICAgICB2YWx1ZTogMTAwDQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KDQogICAgICAgIHJldHVybiBhcnIuaGFzT3duUHJvcGVydHkoIjQyOTQ5NjcyOTQiKSAmJiBhcnIubGVuZ3RoID09PSA0Mjk0OTY3Mjk1ICYmIGFycls0Mjk0OTY3Mjk0XSA9PT0gMTAwOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - 'O' is an Array, 'P' is an array index named property, 'P' is boundary value 2^32 - 2 (15.4.5.1 step 4.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-179.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy02LWEtMTguanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydGllcyAtICdPJyBpcyBhIERhdGUgb2JqZWN0IHdoaWNoIGltcGxlbWVudHMgaXRzIG93biBbW0dldE93blByb3BlcnR5XV0gbWV0aG9kIHRvIGdldCAnUCcgKDguMTIuOSBzdGVwIDEgKSANCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSBuZXcgRGF0ZSgpOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgdmFsdWU6IDExLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMob2JqLCB7DQogICAgICAgICAgICAgICAgcHJvcDogew0KICAgICAgICAgICAgICAgICAgICB2YWx1ZTogMTIsDQogICAgICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFR5cGVFcnJvciAmJiBkYXRhUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChvYmosICJwcm9wIiwgMTEsIGZhbHNlLCBmYWxzZSwgZmFsc2UpOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - 'O' is a Date object which implements its own [[GetOwnProperty]] method to get 'P' (8.12.9 step 1 )","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-18.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy02LWEtMTgwLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnTycgaXMgYW4gQXJyYXksICdQJyBpcyBhbiBhcnJheSBpbmRleCBuYW1lZCBwcm9wZXJ0eSwgJ1AnIGlzIGJvdW5kYXJ5IHZhbHVlIDJeMzIgLSAxICgxNS40LjUuMSBzdGVwIDQuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgYXJyID0gW107DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMoYXJyLCB7DQogICAgICAgICAgICAiNDI5NDk2NzI5NSI6IHsNCiAgICAgICAgICAgICAgICB2YWx1ZTogMTAwDQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KDQogICAgICAgIHJldHVybiBhcnIuaGFzT3duUHJvcGVydHkoIjQyOTQ5NjcyOTUiKSAmJiBhcnIubGVuZ3RoID09PSAwICYmIGFycls0Mjk0OTY3Mjk1XSA9PT0gMTAwOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - 'O' is an Array, 'P' is an array index named property, 'P' is boundary value 2^32 - 1 (15.4.5.1 step 4.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-180.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy02LWEtMTgxLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnTycgaXMgYW4gQXJyYXksICdQJyBpcyBhbiBhcnJheSBpbmRleCBuYW1lZCBwcm9wZXJ0eSwgJ1AnIGlzIGJvdW5kYXJ5IHZhbHVlIDJeMzIgKDE1LjQuNS4xIHN0ZXAgNC5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBhcnIgPSBbXTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhhcnIsIHsNCiAgICAgICAgICAgICI0Mjk0OTY3Mjk2Ijogew0KICAgICAgICAgICAgICAgIHZhbHVlOiAxMDANCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQoNCiAgICAgICAgcmV0dXJuIGFyci5oYXNPd25Qcm9wZXJ0eSgiNDI5NDk2NzI5NiIpICYmIGFyci5sZW5ndGggPT09IDAgJiYgYXJyWzQyOTQ5NjcyOTZdID09PSAxMDA7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - 'O' is an Array, 'P' is an array index named property, 'P' is boundary value 2^32 (15.4.5.1 step 4.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-181.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy02LWEtMTgyLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnTycgaXMgYW4gQXJyYXksICdQJyBpcyBhbiBhcnJheSBpbmRleCBuYW1lZCBwcm9wZXJ0eSwgJ1AnIGlzIGJvdW5kYXJ5IHZhbHVlIDJeMzIgKyAxICgxNS40LjUuMSBzdGVwIDQuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgYXJyID0gW107DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMoYXJyLCB7DQogICAgICAgICAgICAiNDI5NDk2NzI5NyI6IHsNCiAgICAgICAgICAgICAgICB2YWx1ZTogMTAwDQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KDQogICAgICAgIHJldHVybiBhcnIuaGFzT3duUHJvcGVydHkoIjQyOTQ5NjcyOTciKSAmJiBhcnIubGVuZ3RoID09PSAwICYmIGFycls0Mjk0OTY3Mjk3XSA9PT0gMTAwOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - 'O' is an Array, 'P' is an array index named property, 'P' is boundary value 2^32 + 1 (15.4.5.1 step 4.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-182.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy02LWEtMTgzLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSBUeXBlRXJyb3IgaXMgbm90IHRocm93biBpZiAnTycgaXMgYW4gQXJyYXksICdQJyBpcyBhbiBhcnJheSBpbmRleCBuYW1lZCBwcm9wZXJ0eSwgW1tXcml0YWJsZV1dIGF0dHJpYnV0ZSBvZiB0aGUgbGVuZ3RoIHByb3BlcnR5IGluICdPJyBpcyBmYWxzZSwgdmFsdWUgb2YgJ1AnIGlzIGxlc3MgdGhhbiB2YWx1ZSBvZiB0aGUgbGVuZ3RoIHByb3BlcnR5IGluJ08nICAoMTUuNC41LjEgc3RlcCA0LmIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIGFyciA9IFsxLCAyLCAzXTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyLCAibGVuZ3RoIiwgew0KICAgICAgICAgICAgd3JpdGFibGU6IGZhbHNlDQogICAgICAgIH0pOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKGFyciwgew0KICAgICAgICAgICAgIjEiOiB7DQogICAgICAgICAgICAgICAgdmFsdWU6ICJhYmMiDQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KDQogICAgICAgIHJldHVybiBhcnJbMF0gPT09IDEgJiYgYXJyWzFdID09PSAiYWJjIiAmJiBhcnJbMl0gPT09IDM7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - TypeError is not thrown if 'O' is an Array, 'P' is an array index named property, [[Writable]] attribute of the length property in 'O' is false, value of 'P' is less than value of the length property in'O' (15.4.5.1 step 4.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-183.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy02LWEtMTg0LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSBUeXBlRXJyb3IgaXMgdGhyb3duIGlmICdPJyBpcyBhbiBBcnJheSwgJ1AnIGlzIGFuIGFycmF5IGluZGV4IG5hbWVkIHByb3BlcnR5LFtbV3JpdGFibGVdXSBhdHRyaWJ1dGUgb2YgdGhlIGxlbmd0aCBwcm9wZXJ0eSBpbiAnTycgaXMgZmFsc2UsIHZhbHVlIG9mICdQJyBpcyBlcXVhbCB0byB2YWx1ZSBvZiB0aGUgbGVuZ3RoIHByb3BlcnR5IGluICdPJyAoMTUuNC41LjEgc3RlcCA0LmIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIGFyciA9IFsxLCAyLCAzXTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyLCAibGVuZ3RoIiwgew0KICAgICAgICAgICAgd3JpdGFibGU6IGZhbHNlDQogICAgICAgIH0pOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhhcnIsIHsNCiAgICAgICAgICAgICAgICAiMyI6IHsNCiAgICAgICAgICAgICAgICAgICAgdmFsdWU6ICJhYmMiDQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IgJiYgYXJyWzBdID09PSAxICYmDQogICAgICAgICAgICAgICAgYXJyWzFdID09PSAyICYmIGFyclsyXSA9PT0gMyAmJiAhYXJyLmhhc093blByb3BlcnR5KCIzIik7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - TypeError is thrown if 'O' is an Array, 'P' is an array index named property,[[Writable]] attribute of the length property in 'O' is false, value of 'P' is equal to value of the length property in 'O' (15.4.5.1 step 4.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-184.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy02LWEtMTg1LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSBUeXBlRXJyb3IgaXMgdGhyb3duIGlmICdPJyBpcyBhbiBBcnJheSwgJ1AnIGlzIGFuIGFycmF5IGluZGV4IG5hbWVkIHByb3BlcnR5LFtbV3JpdGFibGVdXSBhdHRyaWJ1dGUgb2YgdGhlIGxlbmd0aCBwcm9wZXJ0eSBpbiAnTycgaXMgZmFsc2UsIHZhbHVlIG9mICdQJyBpcyBiaWdnZXIgdGhhbiB2YWx1ZSBvZiB0aGUgbGVuZ3RoIHByb3BlcnR5IGluICdPJyAgKDE1LjQuNS4xIHN0ZXAgNC5iKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBhcnIgPSBbMSwgMiwgM107DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgImxlbmd0aCIsIHsNCiAgICAgICAgICAgIHdyaXRhYmxlOiBmYWxzZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMoYXJyLCB7DQogICAgICAgICAgICAgICAgIjQiOiB7DQogICAgICAgICAgICAgICAgICAgIHZhbHVlOiAiYWJjIg0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiBlIGluc3RhbmNlb2YgVHlwZUVycm9yICYmIGFyclswXSA9PT0gMSAmJiBhcnJbMV0gPT09IDIgJiYNCiAgICAgICAgICAgICAgICBhcnJbMl0gPT09IDMgJiYgIWFyci5oYXNPd25Qcm9wZXJ0eSgiMyIpICYmICFhcnIuaGFzT3duUHJvcGVydHkoIjQiKTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - TypeError is thrown if 'O' is an Array, 'P' is an array index named property,[[Writable]] attribute of the length property in 'O' is false, value of 'P' is bigger than value of the length property in 'O' (15.4.5.1 step 4.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-185.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy02LWEtMTg2LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnTycgaXMgYW4gQXJyYXksICdQJyBpcyBhbiBhcnJheSBpbmRleCBuYW1lZCBwcm9wZXJ0eSwgJ1AnIGlzIG93biBkYXRhIHByb3BlcnR5ICAoMTUuNC41LjEgc3RlcCA0LmMpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIGFyciA9IFtdOw0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyLCAwLCB7DQogICAgICAgICAgICB2YWx1ZTogIm93bkRhdGFQcm9wZXJ0eSIsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgIH0pOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhhcnIsIHsNCiAgICAgICAgICAgICAgICAiMCI6IHsNCiAgICAgICAgICAgICAgICAgICAgdmFsdWU6ICJhYmMiLA0KICAgICAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IgJiYgYXJyWzBdID09PSAib3duRGF0YVByb3BlcnR5IjsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - 'O' is an Array, 'P' is an array index named property, 'P' is own data property (15.4.5.1 step 4.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-186.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy02LWEtMTg3LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnTycgaXMgYW4gQXJyYXksICdQJyBpcyBhbiBhcnJheSBpbmRleCBuYW1lZCBwcm9wZXJ0eSwgJ1AnIGlzIGluaGVyaXRlZCBkYXRhIHByb3BlcnR5ICAoMTUuNC41LjEgc3RlcCA0LmMpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShBcnJheS5wcm90b3R5cGUsICIwIiwgew0KICAgICAgICAgICAgICAgIHZhbHVlOiAxMSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICB2YXIgYXJyID0gW107DQoNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKGFyciwgew0KICAgICAgICAgICAgICAgICIwIjogew0KICAgICAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICByZXR1cm4gYXJyLmhhc093blByb3BlcnR5KCIwIikgJiYgdHlwZW9mIGFyclswXSA9PT0gInVuZGVmaW5lZCIgJiYgQXJyYXkucHJvdG90eXBlWzBdID09PSAxMTsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBBcnJheS5wcm90b3R5cGVbMF07DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - 'O' is an Array, 'P' is an array index named property, 'P' is inherited data property (15.4.5.1 step 4.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-187.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy02LWEtMTg4LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnTycgaXMgYW4gQXJyYXksICdQJyBpcyBhbiBhcnJheSBpbmRleCBuYW1lZCBwcm9wZXJ0eSwgJ1AnIGlzIG93biBkYXRhIHByb3BlcnR5IHRoYXQgb3ZlcnJpZGVzIGFuIGluaGVyaXRlZCBkYXRhIHByb3BlcnR5ICAoMTUuNC41LjEgc3RlcCA0LmMpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShBcnJheS5wcm90b3R5cGUsICIwIiwgew0KICAgICAgICAgICAgICAgIHZhbHVlOiAxMSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICB2YXIgYXJyID0gW107DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyLCAiMCIsIHsNCiAgICAgICAgICAgICAgICB2YWx1ZTogMTIsDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKGFyciwgew0KICAgICAgICAgICAgICAgICIwIjogew0KICAgICAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IgJiYgYXJyWzBdID09PSAxMiAmJiBBcnJheS5wcm90b3R5cGVbMF0gPT09IDExOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIEFycmF5LnByb3RvdHlwZVswXTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - 'O' is an Array, 'P' is an array index named property, 'P' is own data property that overrides an inherited data property (15.4.5.1 step 4.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-188.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy02LWEtMTg5LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnTycgaXMgYW4gQXJyYXksICdQJyBpcyBhbiBhcnJheSBpbmRleCBuYW1lZCBwcm9wZXJ0eSwgJ1AnIGlzIG93biBkYXRhIHByb3BlcnR5IHRoYXQgb3ZlcnJpZGVzIGFuIGluaGVyaXRlZCBhY2Nlc3NvciBwcm9wZXJ0eSAgKDE1LjQuNS4xIHN0ZXAgNC5jKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoQXJyYXkucHJvdG90eXBlLCAiMCIsIHsNCiAgICAgICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDExOw0KICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgdmFyIGFyciA9IFtdOw0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgIjAiLCB7DQogICAgICAgICAgICAgICAgdmFsdWU6IDEyLA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhhcnIsIHsNCiAgICAgICAgICAgICAgICAiMCI6IHsNCiAgICAgICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiBlIGluc3RhbmNlb2YgVHlwZUVycm9yICYmIGFyclswXSA9PT0gMTIgJiYgQXJyYXkucHJvdG90eXBlWzBdID09PSAxMTsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBBcnJheS5wcm90b3R5cGVbMF07DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - 'O' is an Array, 'P' is an array index named property, 'P' is own data property that overrides an inherited accessor property (15.4.5.1 step 4.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-189.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy02LWEtMTkuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydGllcyAtICdPJyBpcyBhIFJlZ0V4cCBvYmplY3Qgd2hpY2ggaW1wbGVtZW50cyBpdHMgb3duIFtbR2V0T3duUHJvcGVydHldXSBtZXRob2QgdG8gZ2V0ICdQJyAoOC4xMi45IHN0ZXAgMSApIA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IG5ldyBSZWdFeHAoKTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgIHZhbHVlOiAxMSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgew0KICAgICAgICAgICAgICAgIHByb3A6IHsNCiAgICAgICAgICAgICAgICAgICAgdmFsdWU6IDEyLA0KICAgICAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IgJiYgZGF0YVByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3Qob2JqLCAicHJvcCIsIDExLCBmYWxzZSwgZmFsc2UsIGZhbHNlKTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - 'O' is a RegExp object which implements its own [[GetOwnProperty]] method to get 'P' (8.12.9 step 1 )","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-19.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy02LWEtMTkwLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnTycgaXMgYW4gQXJyYXksICdQJyBpcyBhbiBhcnJheSBpbmRleCBuYW1lZCBwcm9wZXJ0eSwgJ1AnIGlzIG93biBhY2Nlc3NvciBwcm9wZXJ0eSAgKDE1LjQuNS4xIHN0ZXAgNC5jKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBhcnIgPSBbXTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyLCAiMCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiAxMTsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgIH0pOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhhcnIsIHsNCiAgICAgICAgICAgICAgICAiMCI6IHsNCiAgICAgICAgICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gMTI7DQogICAgICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFR5cGVFcnJvciAmJiBhcnJbMF0gPT09IDExOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - 'O' is an Array, 'P' is an array index named property, 'P' is own accessor property (15.4.5.1 step 4.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-190.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy02LWEtMTkxLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnTycgaXMgYW4gQXJyYXksICdQJyBpcyBhbiBhcnJheSBpbmRleCBwcm9wZXJ0eSwgJ1AnIGlzIGluaGVyaXRlZCBhY2Nlc3NvciBwcm9wZXJ0eSAgKDE1LjQuNS4xIHN0ZXAgNC5jKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoQXJyYXkucHJvdG90eXBlLCAiMCIsIHsNCiAgICAgICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDExOw0KICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgdmFyIGFyciA9IFtdOw0KDQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhhcnIsIHsNCiAgICAgICAgICAgICAgICAiMCI6IHsNCiAgICAgICAgICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gMTI7DQogICAgICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIHJldHVybiBhcnIuaGFzT3duUHJvcGVydHkoIjAiKSAmJiBhcnJbMF0gPT09IDEyICYmIEFycmF5LnByb3RvdHlwZVswXSA9PT0gMTE7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgQXJyYXkucHJvdG90eXBlWzBdOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - 'O' is an Array, 'P' is an array index property, 'P' is inherited accessor property (15.4.5.1 step 4.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-191.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy02LWEtMTkyLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnTycgaXMgYW4gQXJyYXksICdQJyBpcyBhbiBhcnJheSBpbmRleCBuYW1lZCBwcm9wZXJ0eSwgJ1AnIGlzIG93biBhY2Nlc3NvciBwcm9wZXJ0eSB0aGF0IG92ZXJyaWRlcyBhbiBpbmhlcml0ZWQgZGF0YSBwcm9wZXJ0eSAoMTUuNC41LjEgc3RlcCA0LmMpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShBcnJheS5wcm90b3R5cGUsICIwIiwgew0KICAgICAgICAgICAgICAgIHZhbHVlOiAxMSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICB2YXIgYXJyID0gW107DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyLCAiMCIsIHsNCiAgICAgICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDEyOw0KICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKGFyciwgew0KICAgICAgICAgICAgICAgICIwIjogew0KICAgICAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IgJiYgYXJyWzBdID09PSAxMiAmJiBBcnJheS5wcm90b3R5cGVbMF0gPT09IDExOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIEFycmF5LnByb3RvdHlwZVswXTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - 'O' is an Array, 'P' is an array index named property, 'P' is own accessor property that overrides an inherited data property (15.4.5.1 step 4.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-192.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy02LWEtMTkzLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnTycgaXMgYW4gQXJyYXksICdQJyBpcyBhbiBhcnJheSBpbmRleCBuYW1lZCBwcm9wZXJ0eSwgJ1AnIGlzIG93biBhY2Nlc3NvciBwcm9wZXJ0eSB0aGF0IG92ZXJyaWRlcyBhbiBpbmhlcml0ZWQgYWNjZXNzb3IgcHJvcGVydHkgICgxNS40LjUuMSBzdGVwIDQuYykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KEFycmF5LnByb3RvdHlwZSwgIjAiLCB7DQogICAgICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgIHJldHVybiAxMTsNCiAgICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgIHZhciBhcnIgPSBbXTsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnIsICIwIiwgew0KICAgICAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gMTI7DQogICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMoYXJyLCB7DQogICAgICAgICAgICAgICAgIjAiOiB7DQogICAgICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFR5cGVFcnJvciAmJiBhcnJbMF0gPT09IDEyICYmIEFycmF5LnByb3RvdHlwZVswXSA9PT0gMTE7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgQXJyYXkucHJvdG90eXBlWzBdOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - 'O' is an Array, 'P' is an array index named property, 'P' is own accessor property that overrides an inherited accessor property (15.4.5.1 step 4.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-193.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy02LWEtMTk0LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnTycgaXMgYW4gQXJyYXksICdQJyBpcyBhbiBhcnJheSBpbmRleCBuYW1lZCBwcm9wZXJ0eSwgJ1AnIHByb3BlcnR5IGRvZXNuJ3QgZXhpc3QgaW4gJ08nLCB0ZXN0IFR5cGVFcnJvciBpcyB0aHJvd24gd2hlbiAnTycgaXMgbm90IGV4dGVuc2libGUgICgxNS40LjUuMSBzdGVwIDQuYykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgYXJyID0gW107DQogICAgICAgIE9iamVjdC5wcmV2ZW50RXh0ZW5zaW9ucyhhcnIpOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhhcnIsIHsNCiAgICAgICAgICAgICAgICAiMCI6IHsNCiAgICAgICAgICAgICAgICAgICAgdmFsdWU6IDENCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIChlIGluc3RhbmNlb2YgVHlwZUVycm9yKSAmJiAoYXJyLmhhc093blByb3BlcnR5KCIwIikgPT09IGZhbHNlKTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - 'O' is an Array, 'P' is an array index named property, 'P' property doesn't exist in 'O', test TypeError is thrown when 'O' is not extensible (15.4.5.1 step 4.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-194.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy02LWEtMTk1LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnTycgaXMgYW4gQXJyYXksICdQJyBpcyBhbiBhcnJheSBpbmRleCBuYW1lZCBwcm9wZXJ0eSwgJ1AnIHByb3BlcnR5IGRvZXNuJ3QgZXhpc3QgaW4gJ08nLCB0ZXN0ICdQJyBpcyBkZWZpbmVkIGFzIGRhdGEgcHJvcGVydHkgd2hlbiAnZGVzYycgaXMgZ2VuZXJpYyBkZXNjcmlwdG9yICAoMTUuNC41LjEgc3RlcCA0LmMpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIGFyciA9IFtdOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKGFyciwgew0KICAgICAgICAgICAgIjAiOiB7DQogICAgICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCg0KICAgICAgICByZXR1cm4gZGF0YVByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3QoYXJyLCAiMCIsIHVuZGVmaW5lZCwgZmFsc2UsIHRydWUsIGZhbHNlKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - 'O' is an Array, 'P' is an array index named property, 'P' property doesn't exist in 'O', test 'P' is defined as data property when 'desc' is generic descriptor (15.4.5.1 step 4.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-195.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy02LWEtMTk2LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnTycgaXMgYW4gQXJyYXksICdQJyBpcyBhbiBhcnJheSBpbmRleCBuYW1lZCBwcm9wZXJ0eSwgJ1AnIHByb3BlcnR5IGRvZXNuJ3QgZXhpc3QgaW4gJ08nLCB0ZXN0IFtbVmFsdWVdXSBvZiAnUCcgcHJvcGVydHkgaW4gJ0F0dHJpYnV0ZXMnIGlzIHNldCBhcyB1bmRlZmluZWQgdmFsdWUgaWYgW1tWYWx1ZV1dIGlzIGFic2VudCBpbiBkYXRhIGRlc2NyaXB0b3IgJ2Rlc2MnICAoMTUuNC41LjEgc3RlcCA0LmMpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIGFyciA9IFtdOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKGFyciwgew0KICAgICAgICAgICAgIjAiOiB7DQogICAgICAgICAgICAgICAgd3JpdGFibGU6IHRydWUsDQogICAgICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KDQogICAgICAgIHJldHVybiBhcnIuaGFzT3duUHJvcGVydHkoIjAiKSAmJiB0eXBlb2YgKGFyclswXSkgPT09ICJ1bmRlZmluZWQiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - 'O' is an Array, 'P' is an array index named property, 'P' property doesn't exist in 'O', test [[Value]] of 'P' property in 'Attributes' is set as undefined value if [[Value]] is absent in data descriptor 'desc' (15.4.5.1 step 4.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-196.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy02LWEtMTk3LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnTycgaXMgYW4gQXJyYXksICdQJyBpcyBhbiBhcnJheSBpbmRleCBuYW1lZCBwcm9wZXJ0eSwgJ1AnIHByb3BlcnR5IGRvZXNuJ3QgZXhpc3QgaW4gJ08nLCB0ZXN0IFtbV3JpdGFibGVdXSBvZiAnUCcgcHJvcGVydHkgaW4gJ0F0dHJpYnV0ZXMnIGlzIHNldCBhcyBmYWxzZSB2YWx1ZSBpZiBbW1dyaXRhYmxlXV0gaXMgYWJzZW50IGluIGRhdGEgZGVzY3JpcHRvciAnZGVzYycgICgxNS40LjUuMSBzdGVwIDQuYykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgYXJyID0gW107DQogICAgICAgIHZhciBpc093blByb3BlcnR5ID0gZmFsc2U7DQogICAgICAgIHZhciBjYW5Xcml0YWJsZSA9IGZhbHNlOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKGFyciwgew0KICAgICAgICAgICAgIjAiOiB7DQogICAgICAgICAgICAgICAgdmFsdWU6IDEwMDEsDQogICAgICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KDQogICAgICAgIGlzT3duUHJvcGVydHkgPSBhcnIuaGFzT3duUHJvcGVydHkoIjAiKTsNCg0KICAgICAgICBhcnJbMF0gPSAxMjsNCg0KICAgICAgICBjYW5Xcml0YWJsZSA9IChhcnJbMF0gPT09IDEyKTsNCg0KICAgICAgICByZXR1cm4gaXNPd25Qcm9wZXJ0eSAmJiAhY2FuV3JpdGFibGUgJiYgYXJyWzBdID09PSAxMDAxOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - 'O' is an Array, 'P' is an array index named property, 'P' property doesn't exist in 'O', test [[Writable]] of 'P' property in 'Attributes' is set as false value if [[Writable]] is absent in data descriptor 'desc' (15.4.5.1 step 4.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-197.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy02LWEtMTk4LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnTycgaXMgYW4gQXJyYXksICdQJyBpcyBhbiBhcnJheSBpbmRleCBuYW1lZCBwcm9wZXJ0eSwgJ1AnIHByb3BlcnR5IGRvZXNuJ3QgZXhpc3QgaW4gJ08nLCB0ZXN0IFtbRW51bWVyYWJsZV1dIG9mICdQJyBwcm9wZXJ0eSBpbiAnQXR0cmlidXRlcycgaXMgc2V0IGFzIGZhbHNlIHZhbHVlIGlmIFtbRW51bWVyYWJsZV1dIGlzIGFic2VudCBpbiBkYXRhIGRlc2NyaXB0b3IgJ2Rlc2MnICAoMTUuNC41LjEgc3RlcCA0LmMpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIGFyciA9IFtdOw0KICAgICAgICB2YXIgaXNPd25Qcm9wZXJ0eSA9IGZhbHNlOw0KICAgICAgICB2YXIgY2FuRW51bWVyYWJsZSA9IGZhbHNlOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKGFyciwgew0KICAgICAgICAgICAgIjAiOiB7DQogICAgICAgICAgICAgICAgdmFsdWU6IDEwMDEsDQogICAgICAgICAgICAgICAgd3JpdGFibGU6IHRydWUsDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KDQogICAgICAgIGlzT3duUHJvcGVydHkgPSBhcnIuaGFzT3duUHJvcGVydHkoIjAiKTsNCiAgICAgICAgZm9yICh2YXIgaSBpbiBhcnIpIHsNCiAgICAgICAgICAgIGlmIChpID09PSAiMCIpIHsNCiAgICAgICAgICAgICAgICBjYW5FbnVtZXJhYmxlID0gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KICAgICAgICByZXR1cm4gaXNPd25Qcm9wZXJ0eSAmJiAhY2FuRW51bWVyYWJsZSAmJiBhcnJbMF0gPT09IDEwMDE7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - 'O' is an Array, 'P' is an array index named property, 'P' property doesn't exist in 'O', test [[Enumerable]] of 'P' property in 'Attributes' is set as false value if [[Enumerable]] is absent in data descriptor 'desc' (15.4.5.1 step 4.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-198.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy02LWEtMTk5LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnTycgaXMgYW4gQXJyYXksICdQJyBpcyBhbiBhcnJheSBpbmRleCBuYW1lZCBwcm9wZXJ0eSwgJ1AnIHByb3BlcnR5IGRvZXNuJ3QgZXhpc3QgaW4gJ08nLCB0ZXN0IFtbQ29uZmlndXJhYmxlXV0gb2YgJ1AnIHByb3BlcnR5IGluICdBdHRyaWJ1dGVzJyBpcyBzZXQgYXMgZmFsc2UgdmFsdWUgaWYgW1tDb25maWd1cmFibGVdXSBpcyBhYnNlbnQgaW4gZGF0YSBkZXNjcmlwdG9yICdkZXNjJyAgKDE1LjQuNS4xIHN0ZXAgNC5jKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBhcnIgPSBbXTsNCiAgICAgICAgdmFyIGJlZm9yZURlbGV0ZWQgPSBmYWxzZTsNCiAgICAgICAgdmFyIGFmdGVyRGVsZXRlZCA9IGZhbHNlOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKGFyciwgew0KICAgICAgICAgICAgIjAiOiB7DQogICAgICAgICAgICAgICAgdmFsdWU6IDEwMDEsDQogICAgICAgICAgICAgICAgd3JpdGFibGU6IHRydWUsDQogICAgICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCg0KICAgICAgICBiZWZvcmVEZWxldGVkID0gYXJyLmhhc093blByb3BlcnR5KCIwIik7DQogICAgICAgIGRlbGV0ZSBhcnJbMF07DQogICAgICAgIGFmdGVyRGVsZXRlZCA9IGFyci5oYXNPd25Qcm9wZXJ0eSgiMCIpOw0KICAgICAgICByZXR1cm4gYmVmb3JlRGVsZXRlZCAmJiBhZnRlckRlbGV0ZWQgJiYgYXJyWzBdID09PSAxMDAxOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - 'O' is an Array, 'P' is an array index named property, 'P' property doesn't exist in 'O', test [[Configurable]] of 'P' property in 'Attributes' is set as false value if [[Configurable]] is absent in data descriptor 'desc' (15.4.5.1 step 4.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-199.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy02LWEtMi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ1AnIGlzIGluaGVyaXRlZCBkYXRhIHByb3BlcnR5ICg4LjEyLjkgc3RlcCAxICkgDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIHByb3RvID0ge307DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShwcm90bywgInByb3AiLCB7DQogICAgICAgICAgICB2YWx1ZTogMTEsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgIH0pOw0KICAgICAgICB2YXIgQ29uID0gZnVuY3Rpb24gKCkgeyB9Ow0KICAgICAgICBDb24ucHJvdG90eXBlID0gcHJvdG87DQoNCiAgICAgICAgdmFyIG9iaiA9IG5ldyBDb24oKTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIHsNCiAgICAgICAgICAgIHByb3A6IHsNCiAgICAgICAgICAgICAgICB2YWx1ZTogMTIsDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KDQogICAgICAgIHJldHVybiBkYXRhUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChvYmosICJwcm9wIiwgMTIsIGZhbHNlLCBmYWxzZSwgdHJ1ZSk7DQoNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - 'P' is inherited data property (8.12.9 step 1 )","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy02LWEtMjAuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydGllcyAtICdPJyBpcyBhIEpTT04gb2JqZWN0IHdoaWNoIGltcGxlbWVudHMgaXRzIG93biBbW0dldE93blByb3BlcnR5XV0gbWV0aG9kIHRvIGdldCAnUCcgKDguMTIuOSBzdGVwIDEgKSANCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoSlNPTiwgInByb3AiLCB7DQogICAgICAgICAgICAgICAgdmFsdWU6IDExLA0KICAgICAgICAgICAgICAgIHdyaXRhYmxlOiB0cnVlLA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICB2YXIgaGFzUHJvcGVydHkgPSBKU09OLmhhc093blByb3BlcnR5KCJwcm9wIikgJiYgSlNPTi5wcm9wID09PSAxMTsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKEpTT04sIHsNCiAgICAgICAgICAgICAgICBwcm9wOiB7DQogICAgICAgICAgICAgICAgICAgIHZhbHVlOiAxMg0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgcmV0dXJuIGhhc1Byb3BlcnR5ICYmIEpTT04ucHJvcCA9PT0gMTI7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgSlNPTi5wcm9wOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - 'O' is a JSON object which implements its own [[GetOwnProperty]] method to get 'P' (8.12.9 step 1 )","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-20.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy02LWEtMjAwLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnTycgaXMgYW4gQXJyYXksICdQJyBpcyBhbiBhcnJheSBpbmRleCBuYW1lZCBwcm9wZXJ0eSwgJ2Rlc2MnIGlzIGRhdGEgZGVzY3JpcHRvciwgdGVzdCB1cGRhdGluZyBhbGwgYXR0cmlidXRlIHZhbHVlcyBvZiAnUCcgICgxNS40LjUuMSBzdGVwIDQuYykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgYXJyID0gWzFdOyAvLyBkZWZhdWx0IHZhbHVlIG9mIGF0dHJpYnV0ZXM6IHdyaXRhYmxlOiB0cnVlLCBjb25maWd1cmFibGU6IHRydWUsIGVudW1lcmFibGU6IHRydWUNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhhcnIsIHsNCiAgICAgICAgICAgICIwIjogew0KICAgICAgICAgICAgICAgIHZhbHVlOiAxMDAxLA0KICAgICAgICAgICAgICAgIHdyaXRhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KDQogICAgICAgIHJldHVybiBkYXRhUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChhcnIsICIwIiwgMTAwMSwgZmFsc2UsIGZhbHNlLCBmYWxzZSk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - 'O' is an Array, 'P' is an array index named property, 'desc' is data descriptor, test updating all attribute values of 'P' (15.4.5.1 step 4.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-200.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy02LWEtMjAxLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnTycgaXMgYW4gQXJyYXksICdQJyBpcyBhbiBhcnJheSBpbmRleCBuYW1lZCBwcm9wZXJ0eSwgJ1AnIHByb3BlcnR5IGRvZXNuJ3QgZXhpc3QgaW4gJ08nLCB0ZXN0IFtbR2V0XV0gb2YgJ1AnIHByb3BlcnR5IGluICdBdHRyaWJ1dGVzJyBpcyBzZXQgYXMgdW5kZWZpbmVkIHZhbHVlIGlmIFtbR2V0XV0gaXMgYWJzZW50IGluIGFjY2Vzc29yIGRlc2NyaXB0b3IgJ2Rlc2MnICAoMTUuNC41LjEgc3RlcCA0LmMpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIGFyciA9IFtdOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKGFyciwgew0KICAgICAgICAgICAgIjAiOiB7DQogICAgICAgICAgICAgICAgc2V0OiBmdW5jdGlvbiAoKSB7IH0sDQogICAgICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQoNCiAgICAgICAgcmV0dXJuIGFyci5oYXNPd25Qcm9wZXJ0eSgiMCIpICYmIHR5cGVvZiAoYXJyWzBdKSA9PT0gInVuZGVmaW5lZCI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - 'O' is an Array, 'P' is an array index named property, 'P' property doesn't exist in 'O', test [[Get]] of 'P' property in 'Attributes' is set as undefined value if [[Get]] is absent in accessor descriptor 'desc' (15.4.5.1 step 4.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-201.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy02LWEtMjAyLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnTycgaXMgYW4gQXJyYXksICdQJyBpcyBhbiBhcnJheSBpbmRleCBuYW1lZCBwcm9wZXJ0eSwgJ1AnIHByb3BlcnR5IGRvZXNuJ3QgZXhpc3QgaW4gJ08nLCB0ZXN0IFtbU2V0XV0gb2YgJ1AnIHByb3BlcnR5IGluICdBdHRyaWJ1dGVzJyBpcyBzZXQgYXMgdW5kZWZpbmVkIHZhbHVlIGlmIFtbU2V0XV0gaXMgYWJzZW50IGluIGFjY2Vzc29yIGRlc2NyaXB0b3IgJ2Rlc2MnICAoMTUuNC41LjEgc3RlcCA0LmMpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIGFyciA9IFtdOw0KICAgICAgICB2YXIgZ2V0RnVuYyA9IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgIHJldHVybiAxMTsNCiAgICAgICAgfTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhhcnIsIHsNCiAgICAgICAgICAgICIwIjogew0KICAgICAgICAgICAgICAgIGdldDogZ2V0RnVuYywNCiAgICAgICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgdmVyaWZ5RW51bWVyYWJsZSA9IGZhbHNlOw0KICAgICAgICBmb3IgKHZhciBpIGluIGFycikgew0KICAgICAgICAgICAgaWYgKGkgPT09ICIwIiAmJiBhcnIuaGFzT3duUHJvcGVydHkoIjAiKSkgew0KICAgICAgICAgICAgICAgIHZlcmlmeUVudW1lcmFibGUgPSB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGFyciwgIjAiKTsNCiAgICAgICAgdmFyIHByb3BlcnR5RGVmaW5lQ29ycmVjdCA9IGFyci5oYXNPd25Qcm9wZXJ0eSgiMCIpOw0KDQogICAgICAgIHZhciB2ZXJpZnlDb25maWd1cmFibGUgPSBmYWxzZTsNCiAgICAgICAgZGVsZXRlIGFyclswXTsNCiAgICAgICAgdmVyaWZ5Q29uZmlndXJhYmxlID0gYXJyLmhhc093blByb3BlcnR5KCIwIik7DQogICAgICAgIHJldHVybiB0eXBlb2YgZGVzYy5zZXQgPT09ICJ1bmRlZmluZWQiICYmIHByb3BlcnR5RGVmaW5lQ29ycmVjdCAmJg0KICAgICAgICAgICAgZGVzYy5nZXQgPT09IGdldEZ1bmMgJiYgIXZlcmlmeUNvbmZpZ3VyYWJsZSAmJiB2ZXJpZnlFbnVtZXJhYmxlOw0KDQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - 'O' is an Array, 'P' is an array index named property, 'P' property doesn't exist in 'O', test [[Set]] of 'P' property in 'Attributes' is set as undefined value if [[Set]] is absent in accessor descriptor 'desc' (15.4.5.1 step 4.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-202.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy02LWEtMjAzLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnTycgaXMgYW4gQXJyYXksICdQJyBpcyBhbiBhcnJheSBpbmRleCBuYW1lZCBwcm9wZXJ0eSwgJ1AnIHByb3BlcnR5IGRvZXNuJ3QgZXhpc3QgaW4gJ08nLCB0ZXN0IFtbRW51bWVyYWJsZV1dIG9mICdQJyBwcm9wZXJ0eSBpbiAnQXR0cmlidXRlcycgaXMgc2V0IGFzIGZhbHNlIHZhbHVlIGlmIFtbRW51bWVyYWJsZV1dIGlzIGFic2VudCBpbiBhY2Nlc3NvciBkZXNjcmlwdG9yICdkZXNjJyAgKDE1LjQuNS4xIHN0ZXAgNC5jKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBhcnIgPSBbXTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhhcnIsIHsNCiAgICAgICAgICAgICIwIjogew0KICAgICAgICAgICAgICAgIHNldDogZnVuY3Rpb24gKCkgeyB9LA0KICAgICAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgeyB9LA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCg0KICAgICAgICBmb3IgKHZhciBpIGluIGFycikgew0KICAgICAgICAgICAgaWYgKGkgPT09ICIwIiAmJiBhcnIuaGFzT3duUHJvcGVydHkoIjAiKSkgew0KICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KICAgICAgICByZXR1cm4gdHJ1ZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - 'O' is an Array, 'P' is an array index named property, 'P' property doesn't exist in 'O', test [[Enumerable]] of 'P' property in 'Attributes' is set as false value if [[Enumerable]] is absent in accessor descriptor 'desc' (15.4.5.1 step 4.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-203.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy02LWEtMjA0LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnTycgaXMgYW4gQXJyYXksICdQJyBpcyBhbiBhcnJheSBpbmRleCBuYW1lZCBwcm9wZXJ0eSwgJ1AnIHByb3BlcnR5IGRvZXNuJ3QgZXhpc3QgaW4gJ08nLCB0ZXN0IFtbQ29uZmlndXJhYmxlXV0gb2YgJ1AnIHByb3BlcnR5IGluICdBdHRyaWJ1dGVzJyBpcyBzZXQgYXMgZmFsc2UgdmFsdWUgaWYgW1tDb25maWd1cmFibGVdXSBpcyBhYnNlbnQgaW4gYWNjZXNzb3IgZGVzY3JpcHRvciAnZGVzYycgICgxNS40LjUuMSBzdGVwIDQuYykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgYXJyID0gW107DQogICAgICAgIHZhciBiZWZvcmVEZWxldGVkID0gZmFsc2U7DQogICAgICAgIHZhciBhZnRlckRlbGV0ZWQgPSBmYWxzZTsNCiAgICAgICAgYXJyLnZlcmlmeVNldHRlciA9IDEwMDsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhhcnIsIHsNCiAgICAgICAgICAgICIwIjogew0KICAgICAgICAgICAgICAgIHNldDogZnVuY3Rpb24gKHZhbHVlKSB7DQogICAgICAgICAgICAgICAgICAgIGFyci52ZXJpZnlTZXR0ZXIgPSB2YWx1ZTsNCiAgICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gYXJyLnZlcmlmeVNldHRlcjsNCiAgICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQoNCiAgICAgICAgYmVmb3JlRGVsZXRlZCA9IGFyci5oYXNPd25Qcm9wZXJ0eSgiMCIpOw0KICAgICAgICBkZWxldGUgYXJyWzBdOw0KICAgICAgICBhZnRlckRlbGV0ZWQgPSBhcnIuaGFzT3duUHJvcGVydHkoIjAiKTsNCg0KICAgICAgICBhcnJbMF0gPSAxMDE7DQoNCiAgICAgICAgcmV0dXJuIGJlZm9yZURlbGV0ZWQgJiYgYWZ0ZXJEZWxldGVkICYmIGFyclswXSA9PT0gMTAxICYmIGFyci52ZXJpZnlTZXR0ZXIgPT09IDEwMTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - 'O' is an Array, 'P' is an array index named property, 'P' property doesn't exist in 'O', test [[Configurable]] of 'P' property in 'Attributes' is set as false value if [[Configurable]] is absent in accessor descriptor 'desc' (15.4.5.1 step 4.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-204.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy02LWEtMjA1LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnTycgaXMgYW4gQXJyYXksICdQJyBpcyBhbiBhcnJheSBpbmRleCBuYW1lZCBwcm9wZXJ0eSwgJ2Rlc2MnIGlzIGFjY2Vzc29yIGRlc2NyaXB0b3IsIHRlc3QgdXBkYXRpbmcgYWxsIGF0dHJpYnV0ZSB2YWx1ZXMgb2YgJ1AnICAoMTUuNC41LjEgc3RlcCA0LmMpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIGFyciA9IFtdOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKGFyciwgew0KICAgICAgICAgICAgIjAiOiB7DQogICAgICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgIHJldHVybiAxMTsNCiAgICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAgIHNldDogZnVuY3Rpb24gKCkgeyB9LA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZSwNCiAgICAgICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlDQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBzZXRGdW4gPSBmdW5jdGlvbiAodmFsdWUpIHsNCiAgICAgICAgICAgIGFyci5zZXRWZXJpZnlIZWxwUHJvcCA9IHZhbHVlOw0KICAgICAgICB9Ow0KICAgICAgICB2YXIgZ2V0RnVuID0gZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgcmV0dXJuIDE0Ow0KICAgICAgICB9Ow0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhhcnIsIHsNCiAgICAgICAgICAgICIwIjogew0KICAgICAgICAgICAgICAgIGdldDogZ2V0RnVuLA0KICAgICAgICAgICAgICAgIHNldDogc2V0RnVuLA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UsDQogICAgICAgICAgICAgICAgZW51bWVyYWJsZTogZmFsc2UNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQoNCiAgICAgICAgcmV0dXJuIGFjY2Vzc29yUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChhcnIsICIwIiwgZ2V0RnVuLCBzZXRGdW4sICJzZXRWZXJpZnlIZWxwUHJvcCIsIGZhbHNlLCBmYWxzZSk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - 'O' is an Array, 'P' is an array index named property, 'desc' is accessor descriptor, test updating all attribute values of 'P' (15.4.5.1 step 4.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-205.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy02LWEtMjA2LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnTycgaXMgYW4gQXJyYXksICdQJyBpcyBhbiBhcnJheSBpbmRleCBuYW1lZCBwcm9wZXJ0eSwgJ1AnIG1ha2VzIG5vIGNoYW5nZSBpZiBldmVyeSBmaWVsZCBpbiAnZGVzYycgaXMgYWJzZW50IChuYW1lIGlzIGRhdGEgcHJvcGVydHkpICAoMTUuNC41LjEgc3RlcCA0LmMpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIGFyciA9IFtdOw0KDQogICAgICAgIGFyclswXSA9IDEwMTsgLy8gZGVmYXVsdCB2YWx1ZSBvZiBhdHRyaWJ1dGVzOiB3cml0YWJsZTogdHJ1ZSwgY29uZmlndXJhYmxlOiB0cnVlLCBlbnVtZXJhYmxlOiB0cnVlDQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKGFyciwgew0KICAgICAgICAgICAgICAgICIwIjoge30NCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgcmV0dXJuIGRhdGFQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KGFyciwgIjAiLCAxMDEsIHRydWUsIHRydWUsIHRydWUpOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - 'O' is an Array, 'P' is an array index named property, 'P' makes no change if every field in 'desc' is absent (name is data property) (15.4.5.1 step 4.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-206.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy02LWEtMjA3LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnTycgaXMgYW4gQXJyYXksICdQJyBpcyBhbiBhcnJheSBpbmRleCBuYW1lZCBwcm9wZXJ0eSwgJ1AnIG1ha2VzIG5vIGNoYW5nZSBpZiBldmVyeSBmaWVsZCBpbiAnZGVzYycgaXMgYWJzZW50IChuYW1lIGlzIGFjY2Vzc29yIHByb3BlcnR5KSAgKDE1LjQuNS4xIHN0ZXAgNC5jKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBhcnIgPSBbXTsNCg0KICAgICAgICBmdW5jdGlvbiBnZXRfZnVuYygpIHsNCiAgICAgICAgICAgIHJldHVybiAxMTsNCiAgICAgICAgfQ0KICAgICAgICBmdW5jdGlvbiBzZXRfZnVuYyh2YWx1ZSkgew0KICAgICAgICAgICAgYXJyLnNldFZlcmlmeUhlbHBQcm9wID0gdmFsdWU7DQogICAgICAgIH0NCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyLCAiMCIsIHsNCiAgICAgICAgICAgIGdldDogZ2V0X2Z1bmMsDQogICAgICAgICAgICBzZXQ6IHNldF9mdW5jLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMoYXJyLCB7DQogICAgICAgICAgICAgICAgIjAiOiB7fQ0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICByZXR1cm4gYWNjZXNzb3JQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KGFyciwgIjAiLCBnZXRfZnVuYywgc2V0X2Z1bmMsICJzZXRWZXJpZnlIZWxwUHJvcCIsIHRydWUsIHRydWUpOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - 'O' is an Array, 'P' is an array index named property, 'P' makes no change if every field in 'desc' is absent (name is accessor property) (15.4.5.1 step 4.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-207.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy02LWEtMjA4LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnTycgaXMgYW4gQXJyYXksICdQJyBpcyBhbiBhcnJheSBpbmRleCBuYW1lZCBwcm9wZXJ0eSwgJ1AnIG1ha2VzIG5vIGNoYW5nZSBpZiB0aGUgdmFsdWUgb2YgZXZlcnkgZmllbGQgaW4gJ2Rlc2MnIGlzIHRoZSBzYW1lIHZhbHVlIGFzIHRoZSBjb3JyZXNwb25kaW5nIGZpZWxkIGluICdQJyhkZXNjIGlzIGRhdGEgcHJvcGVydHkpICAoMTUuNC41LjEgc3RlcCA0LmMpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIGFyciA9IFtdOw0KDQogICAgICAgIGFyclswXSA9IDEwMDsgLy8gZGVmYXVsdCB2YWx1ZSBvZiBhdHRyaWJ1dGVzOiB3cml0YWJsZTogdHJ1ZSwgY29uZmlndXJhYmxlOiB0cnVlLCBlbnVtZXJhYmxlOiB0cnVlDQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMoYXJyLCB7DQogICAgICAgICAgICAiMCI6IHsNCiAgICAgICAgICAgICAgICB2YWx1ZTogMTAwLA0KICAgICAgICAgICAgICAgIHdyaXRhYmxlOiB0cnVlLA0KICAgICAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KDQogICAgICAgIHJldHVybiBkYXRhUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChhcnIsICIwIiwgMTAwLCB0cnVlLCB0cnVlLCB0cnVlKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - 'O' is an Array, 'P' is an array index named property, 'P' makes no change if the value of every field in 'desc' is the same value as the corresponding field in 'P'(desc is data property) (15.4.5.1 step 4.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-208.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy02LWEtMjA5LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnTycgaXMgYW4gQXJyYXksICdQJyBpcyBhbiBhcnJheSBpbmRleCBuYW1lZCBwcm9wZXJ0eSwgJ1AnIG1ha2VzIG5vIGNoYW5nZSBpZiB0aGUgdmFsdWUgb2YgZXZlcnkgZmllbGQgaW4gJ2Rlc2MnIGlzIHRoZSBzYW1lIHZhbHVlIGFzIHRoZSBjb3JyZXNwb25kaW5nIGZpZWxkIGluICdQJyhkZXNjIGlzIGFjY2Vzc29yIHByb3BlcnR5KSAgKDE1LjQuNS4xIHN0ZXAgNC5jKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBhcnIgPSBbXTsNCiAgICAgICAgdmFyIGdldF9mdW5jID0gZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgcmV0dXJuICIxMDAiOw0KICAgICAgICB9Ow0KICAgICAgICB2YXIgc2V0X2Z1bmMgPSBmdW5jdGlvbiAodmFsdWUpIHsNCiAgICAgICAgICAgIGFyci5zZXRWZXJpZnlIZWxwUHJvcCA9IHZhbHVlOw0KICAgICAgICB9Ow0KDQogICAgICAgIHZhciBkZXNjT2JqID0gew0KICAgICAgICAgICAgZ2V0OiBnZXRfZnVuYywNCiAgICAgICAgICAgIHNldDogc2V0X2Z1bmMsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH07DQogICAgICAgIA0KICAgICAgICB2YXIgcHJvcGVydGllcyA9IHsNCiAgICAgICAgICAgICIwIjogZGVzY09iag0KICAgICAgICB9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnIsICIwIiwgZGVzY09iaik7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMoYXJyLCBwcm9wZXJ0aWVzKTsNCg0KICAgICAgICByZXR1cm4gYWNjZXNzb3JQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KGFyciwgIjAiLCBnZXRfZnVuYywgc2V0X2Z1bmMsICJzZXRWZXJpZnlIZWxwUHJvcCIsIHRydWUsIHRydWUpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - 'O' is an Array, 'P' is an array index named property, 'P' makes no change if the value of every field in 'desc' is the same value as the corresponding field in 'P'(desc is accessor property) (15.4.5.1 step 4.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-209.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy02LWEtMjEuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydGllcyAtICdPJyBpcyBhbiBFcnJvciBvYmplY3Qgd2hpY2ggaW1wbGVtZW50cyBpdHMgb3duIFtbR2V0T3duUHJvcGVydHldXSBtZXRob2QgdG8gZ2V0ICdQJyAoOC4xMi45IHN0ZXAgMSApIA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IG5ldyBFcnJvcigpOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgdmFsdWU6IDExLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMob2JqLCB7DQogICAgICAgICAgICAgICAgcHJvcDogew0KICAgICAgICAgICAgICAgICAgICB2YWx1ZTogMTIsDQogICAgICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFR5cGVFcnJvciAmJiBkYXRhUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChvYmosICJwcm9wIiwgMTEsIGZhbHNlLCBmYWxzZSwgZmFsc2UpOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - 'O' is an Error object which implements its own [[GetOwnProperty]] method to get 'P' (8.12.9 step 1 )","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-21.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy02LWEtMjEwLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyBhbiBhcnJheSBpbmRleCBwcm9wZXJ0eSwgYm90aCB0aGUgW1tWYWx1ZV1dIGZpZWxkIG9mICdkZXNjJyBhbmQgdGhlIFtbVmFsdWVdXSBhdHRyaWJ1dGUgdmFsdWUgb2YgJ25hbWUnIGFyZSB1bmRlZmluZWQgICgxNS40LjUuMSBzdGVwIDQuYykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgYXJyID0gW107DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgIjAiLCB7DQogICAgICAgICAgICB2YWx1ZTogdW5kZWZpbmVkDQogICAgICAgIH0pOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKGFyciwgew0KICAgICAgICAgICAgIjAiOiB7DQogICAgICAgICAgICAgICAgdmFsdWU6IHVuZGVmaW5lZA0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCiAgICAgICAgcmV0dXJuIGRhdGFQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KGFyciwgIjAiLCB1bmRlZmluZWQsIGZhbHNlLCBmYWxzZSwgZmFsc2UpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - 'O' is an Array, 'name' is an array index property, both the [[Value]] field of 'desc' and the [[Value]] attribute value of 'name' are undefined (15.4.5.1 step 4.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-210.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy02LWEtMjExLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyBhbiBhcnJheSBpbmRleCBwcm9wZXJ0eSwgYm90aCB0aGUgW1tWYWx1ZV1dIGZpZWxkIG9mICdkZXNjJyBhbmQgdGhlIFtbVmFsdWVdXSBhdHRyaWJ1dGUgdmFsdWUgb2YgJ25hbWUnIGFyZSBudWxsICAoMTUuNC41LjEgc3RlcCA0LmMpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIGFyciA9IFtdOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnIsICIwIiwgew0KICAgICAgICAgICAgdmFsdWU6IG51bGwNCiAgICAgICAgfSk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMoYXJyLCB7DQogICAgICAgICAgICAiMCI6IHsNCiAgICAgICAgICAgICAgICB2YWx1ZTogbnVsbA0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCiAgICAgICAgcmV0dXJuIGRhdGFQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KGFyciwgIjAiLCBudWxsLCBmYWxzZSwgZmFsc2UsIGZhbHNlKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - 'O' is an Array, 'name' is an array index property, both the [[Value]] field of 'desc' and the [[Value]] attribute value of 'name' are null (15.4.5.1 step 4.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-211.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy02LWEtMjEyLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyBhbiBhcnJheSBpbmRleCBwcm9wZXJ0eSwgYm90aCB0aGUgW1tWYWx1ZV1dIGZpZWxkIG9mICdkZXNjJyBhbmQgdGhlIFtbVmFsdWVdXSBhdHRyaWJ1dGUgdmFsdWUgb2YgJ25hbWUnIGFyZSBOYU4gICgxNS40LjUuMSBzdGVwIDQuYykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgYXJyID0gW107DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgIjAiLCB7DQogICAgICAgICAgICB2YWx1ZTogTmFODQogICAgICAgIH0pOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKGFyciwgew0KICAgICAgICAgICAgIjAiOiB7DQogICAgICAgICAgICAgICAgdmFsdWU6IE5hTg0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCg0KICAgICAgICByZXR1cm4gZGF0YVByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3QoYXJyLCAiMCIsIE5hTiwgZmFsc2UsIGZhbHNlLCBmYWxzZSk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - 'O' is an Array, 'name' is an array index property, both the [[Value]] field of 'desc' and the [[Value]] attribute value of 'name' are NaN (15.4.5.1 step 4.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-212.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy02LWEtMjEzLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyBhbiBhcnJheSBpbmRleCBwcm9wZXJ0eSwgdGhlIFtbVmFsdWVdXSBmaWVsZCBvZiAnZGVzYycgaXMgKzAsIGFuZCB0aGUgW1tWYWx1ZV1dIGF0dHJpYnV0ZSB2YWx1ZSBvZiAnbmFtZScgaXMgLTAgICgxNS40LjUuMSBzdGVwIDQuYykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgYXJyID0gW107DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgIjAiLCB7DQogICAgICAgICAgICB2YWx1ZTogLTANCiAgICAgICAgfSk7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKGFyciwgew0KICAgICAgICAgICAgICAgICIwIjogew0KICAgICAgICAgICAgICAgICAgICB2YWx1ZTogKzANCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIChlIGluc3RhbmNlb2YgVHlwZUVycm9yKSAmJiBkYXRhUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChhcnIsICIwIiwgLTAsIGZhbHNlLCBmYWxzZSwgZmFsc2UpOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - 'O' is an Array, 'name' is an array index property, the [[Value]] field of 'desc' is +0, and the [[Value]] attribute value of 'name' is -0 (15.4.5.1 step 4.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-213.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy02LWEtMjE0LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyBhbiBhcnJheSBpbmRleCBwcm9wZXJ0eSwgdGhlIFtbVmFsdWVdXSBmaWVsZCBvZiAnZGVzYycgaXMgLTAsIGFuZCB0aGUgW1tWYWx1ZV1dIGF0dHJpYnV0ZSB2YWx1ZSBvZiAnbmFtZScgaXMgKzAgICgxNS40LjUuMSBzdGVwIDQuYykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgYXJyID0gW107DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgIjAiLCB7DQogICAgICAgICAgICB2YWx1ZTogKzANCiAgICAgICAgfSk7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKGFyciwgew0KICAgICAgICAgICAgICAgICIwIjogew0KICAgICAgICAgICAgICAgICAgICB2YWx1ZTogLTANCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIChlIGluc3RhbmNlb2YgVHlwZUVycm9yKSAmJiBkYXRhUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChhcnIsICIwIiwgKzAsIGZhbHNlLCBmYWxzZSwgZmFsc2UpOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - 'O' is an Array, 'name' is an array index property, the [[Value]] field of 'desc' is -0, and the [[Value]] attribute value of 'name' is +0 (15.4.5.1 step 4.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-214.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy02LWEtMjE1LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyBhbiBhcnJheSBpbmRleCBwcm9wZXJ0eSwgdGhlIFtbVmFsdWVdXSBmaWVsZCBvZiAnZGVzYycgYW5kIHRoZSBbW1ZhbHVlXV0gYXR0cmlidXRlIHZhbHVlIG9mICduYW1lJyBhcmUgdHdvIG51bWJlcnMgd2l0aCBzYW1lIHZhdWxlICAoMTUuNC41LjEgc3RlcCA0LmMpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIGFyciA9IFtdOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnIsICIwIiwgew0KICAgICAgICAgICAgdmFsdWU6IDEwMQ0KICAgICAgICB9KTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMoYXJyLCB7DQogICAgICAgICAgICAgICAgIjAiOiB7DQogICAgICAgICAgICAgICAgICAgIHZhbHVlOiAxMDENCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIHJldHVybiBkYXRhUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChhcnIsICIwIiwgMTAxLCBmYWxzZSwgZmFsc2UsIGZhbHNlKTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - 'O' is an Array, 'name' is an array index property, the [[Value]] field of 'desc' and the [[Value]] attribute value of 'name' are two numbers with same vaule (15.4.5.1 step 4.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-215.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy02LWEtMjE2LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyBhbiBhcnJheSBpbmRleCBwcm9wZXJ0eSwgdGhlIFtbVmFsdWVdXSBmaWVsZCBvZiAnZGVzYycgYW5kIHRoZSBbW1ZhbHVlXV0gYXR0cmlidXRlIHZhbHVlIG9mICduYW1lJyBhcmUgdHdvIHN0cmluZ3Mgd2hpY2ggaGF2ZSBzYW1lIGxlbmd0aCBhbmQgc2FtZSBjaGFyYWN0ZXJzIGluIGNvcnJlc3BvbmRpbmcgcG9zaXRpb25zICAoMTUuNC41LjEgc3RlcCA0LmMpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIGFyciA9IFtdOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnIsICIwIiwgew0KICAgICAgICAgICAgdmFsdWU6ICJhYmNkIg0KICAgICAgICB9KTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMoYXJyLCB7DQogICAgICAgICAgICAgICAgIjAiOiB7DQogICAgICAgICAgICAgICAgICAgIHZhbHVlOiAiYWJjZCINCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIHJldHVybiBkYXRhUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChhcnIsICIwIiwgImFiY2QiLCBmYWxzZSwgZmFsc2UsIGZhbHNlKTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - 'O' is an Array, 'name' is an array index property, the [[Value]] field of 'desc' and the [[Value]] attribute value of 'name' are two strings which have same length and same characters in corresponding positions (15.4.5.1 step 4.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-216.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy02LWEtMjE3LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyBhbiBhcnJheSBpbmRleCBwcm9wZXJ0eSwgdGhlIFtbVmFsdWVdXSBmaWVsZCBvZiAnZGVzYycgYW5kIHRoZSBbW1ZhbHVlXV0gYXR0cmlidXRlIHZhbHVlIG9mICduYW1lJyBhcmUgdHdvIGJvb2xlYW5zIHdpdGggc2FtZSB2YWx1ZSAgKDE1LjQuNS4xIHN0ZXAgNC5jKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBhcnIgPSBbXTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyLCAiMCIsIHsNCiAgICAgICAgICAgIHZhbHVlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhhcnIsIHsNCiAgICAgICAgICAgICAgICAiMCI6IHsNCiAgICAgICAgICAgICAgICAgICAgdmFsdWU6IHRydWUNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIHJldHVybiBkYXRhUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChhcnIsICIwIiwgdHJ1ZSwgZmFsc2UsIGZhbHNlLCBmYWxzZSk7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - 'O' is an Array, 'name' is an array index property, the [[Value]] field of 'desc' and the [[Value]] attribute value of 'name' are two booleans with same value (15.4.5.1 step 4.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-217.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy02LWEtMjE4LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnTycgaXMgYW4gQXJyYXksICduYW1lJyBpcyBhbiBhcnJheSBpbmRleCBwcm9wZXJ0eSwgdGhlIFtbVmFsdWVdXSBmaWVsZCBvZiAnZGVzYycgYW5kIHRoZSBbW1ZhbHVlXV0gYXR0cmlidXRlIHZhbHVlIG9mICduYW1lJyBhcmUgdHdvIG9iamVjdHMgd2hpY2ggcmVmZXIgdG8gdGhlIHNhbWUgb2JqZWN0ICAoMTUuNC41LjEgc3RlcCA0LmMpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIGFyciA9IFtdOw0KDQogICAgICAgIHZhciBvYmoxID0geyBsZW5ndGg6IDEwIH07DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnIsICIwIiwgew0KICAgICAgICAgICAgdmFsdWU6IG9iajENCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIHByb3BlcnRpZXMgPSB7DQogICAgICAgICAgICAiMCI6IHsNCiAgICAgICAgICAgICAgICB2YWx1ZTogb2JqMQ0KICAgICAgICAgICAgfQ0KICAgICAgICB9Ow0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMoYXJyLCBwcm9wZXJ0aWVzKTsNCiAgICAgICAgICAgIHJldHVybiBkYXRhUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChhcnIsICIwIiwgb2JqMSwgZmFsc2UsIGZhbHNlLCBmYWxzZSk7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - 'O' is an Array, 'name' is an array index property, the [[Value]] field of 'desc' and the [[Value]] attribute value of 'name' are two objects which refer to the same object (15.4.5.1 step 4.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-218.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy02LWEtMjE5LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnTycgaXMgYW4gQXJyYXksICdQJyBpcyBhbiBhcnJheSBpbmRleCBwcm9wZXJ0eSB0aGF0IGFscmVhZHkgZXhpc3RzIG9uICdPJyB3aXRoIFtbV3JpdGFibGVdXSB0cnVlLCBhbmQgdGhlIFtbV3JpdGFibGVdXSBmaWVsZCBvZiAnZGVzYycgaXMgdHJ1ZSAgKDE1LjQuNS4xIHN0ZXAgNC5jKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBhcnIgPSBbXTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyLCAiMCIsIHsNCiAgICAgICAgICAgIHdyaXRhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhhcnIsIHsNCiAgICAgICAgICAgICAgICAiMCI6IHsNCiAgICAgICAgICAgICAgICAgICAgd3JpdGFibGU6IHRydWUNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIHJldHVybiBkYXRhUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChhcnIsICIwIiwgdW5kZWZpbmVkLCB0cnVlLCBmYWxzZSwgZmFsc2UpOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - 'O' is an Array, 'P' is an array index property that already exists on 'O' with [[Writable]] true, and the [[Writable]] field of 'desc' is true (15.4.5.1 step 4.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-219.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy02LWEtMjIuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydGllcyAtICdPJyBpcyB0aGUgQXJndW1lbnRzIG9iamVjdCB3aGljaCBpbXBsZW1lbnRzIGl0cyBvd24gW1tHZXRPd25Qcm9wZXJ0eV1dIG1ldGhvZCB0byBnZXQgJ1AnICg4LjEyLjkgc3RlcCAxICkgDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIGFyZyA9IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgIHJldHVybiBhcmd1bWVudHM7DQogICAgICAgIH0oKTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJnLCAicHJvcCIsIHsNCiAgICAgICAgICAgIHZhbHVlOiAxMSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKGFyZywgew0KICAgICAgICAgICAgICAgIHByb3A6IHsNCiAgICAgICAgICAgICAgICAgICAgdmFsdWU6IDEyLA0KICAgICAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIChlIGluc3RhbmNlb2YgVHlwZUVycm9yKTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - 'O' is the Arguments object which implements its own [[GetOwnProperty]] method to get 'P' (8.12.9 step 1 )","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-22.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy02LWEtMjIwLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnTycgaXMgYW4gQXJyYXksICdQJyBpcyBhbiBhcnJheSBpbmRleCBwcm9wZXJ0eSB0aGF0IGFscmVhZHkgZXhpc3RzIG9uICdPJyB3aXRoIFtbV3JpdGFibGVdXSB0cnVlLCBhbmQgdGhlIFtbV3JpdGFibGVdXSBmaWVsZCBvZiAnZGVzYycgaXMgZmFsc2UgICgxNS40LjUuMSBzdGVwIDQuYykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgYXJyID0gW107DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgIjAiLCB7DQogICAgICAgICAgICB3cml0YWJsZTogdHJ1ZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMoYXJyLCB7DQogICAgICAgICAgICAgICAgIjAiOiB7DQogICAgICAgICAgICAgICAgICAgIHdyaXRhYmxlOiBmYWxzZQ0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgcmV0dXJuIGRhdGFQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KGFyciwgIjAiLCB1bmRlZmluZWQsIGZhbHNlLCBmYWxzZSwgdHJ1ZSk7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - 'O' is an Array, 'P' is an array index property that already exists on 'O' with [[Writable]] true, and the [[Writable]] field of 'desc' is false (15.4.5.1 step 4.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-220.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy02LWEtMjIxLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnTycgaXMgYW4gQXJyYXksICdQJyBpcyBhbiBhcnJheSBpbmRleCBwcm9wZXJ0eSwgdGhlIFtbR2V0XV0gZmllbGQgb2YgJ2Rlc2MnIGFuZCB0aGUgW1tHZXRdXSBhdHRyaWJ1dGUgdmFsdWUgb2YgJ1AnIGFyZSB0d28gb2JqZWN0cyB3aGljaCByZWZlciB0byB0aGUgc2FtZSBvYmplY3QgICgxNS40LjUuMSBzdGVwIDQuYykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgYXJyID0gW107DQoNCiAgICAgICAgZnVuY3Rpb24gZ2V0X2Z1bmMoKSB7DQogICAgICAgICAgICByZXR1cm4gMTA7DQogICAgICAgIH0NCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyLCAiMCIsIHsNCiAgICAgICAgICAgIGdldDogZ2V0X2Z1bmMNCiAgICAgICAgfSk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMoYXJyLCB7DQogICAgICAgICAgICAiMCI6IHsNCiAgICAgICAgICAgICAgICBnZXQ6IGdldF9mdW5jDQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KICAgICAgICByZXR1cm4gYWNjZXNzb3JQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KGFyciwgIjAiLCBnZXRfZnVuYywgdW5kZWZpbmVkLCB1bmRlZmluZWQsIGZhbHNlLCBmYWxzZSk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - 'O' is an Array, 'P' is an array index property, the [[Get]] field of 'desc' and the [[Get]] attribute value of 'P' are two objects which refer to the same object (15.4.5.1 step 4.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-221.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy02LWEtMjIyLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnTycgaXMgYW4gQXJyYXksICdQJyBpcyBhbiBhcnJheSBpbmRleCBwcm9wZXJ0eSwgdGhlIFtbU2V0XV0gZmllbGQgb2YgJ2Rlc2MnIGFuZCB0aGUgW1tTZXRdXSBhdHRyaWJ1dGUgdmFsdWUgb2YgJ1AnIGFyZSB0d28gb2JqZWN0cyB3aGljaCByZWZlciB0byB0aGUgc2FtZSBvYmplY3QgICgxNS40LjUuMSBzdGVwIDQuYykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgYXJyID0gW107DQoNCiAgICAgICAgZnVuY3Rpb24gc2V0X2Z1bmModmFsdWUpIHsNCiAgICAgICAgICAgIGFyci5zZXRWZXJpZnlIZWxwUHJvcCA9IHZhbHVlOw0KICAgICAgICB9DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgIjAiLCB7DQogICAgICAgICAgICBzZXQ6IHNldF9mdW5jDQogICAgICAgIH0pOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhhcnIsIHsNCiAgICAgICAgICAgICAgICAiMCI6IHsNCiAgICAgICAgICAgICAgICAgICAgc2V0OiBzZXRfZnVuYw0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgcmV0dXJuIGFjY2Vzc29yUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChhcnIsICIwIiwgdW5kZWZpbmVkLCBzZXRfZnVuYywgInNldFZlcmlmeUhlbHBQcm9wIiwgZmFsc2UsIGZhbHNlKTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - 'O' is an Array, 'P' is an array index property, the [[Set]] field of 'desc' and the [[Set]] attribute value of 'P' are two objects which refer to the same object (15.4.5.1 step 4.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-222.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy02LWEtMjIzLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnTycgaXMgYW4gQXJyYXksICdQJyBpcyBhbiBhcnJheSBpbmRleCBwcm9wZXJ0eSB0aGF0IGFscmVhZHkgZXhpc3RzIG9uICdPJyB3aXRoICBbW0VudW1lcmFibGVdXSB0cnVlLCB0aGUgW1tFbnVtZXJhYmxlXV0gZmllbGQgb2YgJ2Rlc2MnIGlzIHRydWUgICgxNS40LjUuMSBzdGVwIDQuYykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgYXJyID0gW107DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgIjAiLCB7DQogICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhhcnIsIHsNCiAgICAgICAgICAgICAgICAiMCI6IHsNCiAgICAgICAgICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgcmV0dXJuIGRhdGFQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KGFyciwgIjAiLCB1bmRlZmluZWQsIGZhbHNlLCB0cnVlLCBmYWxzZSk7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - 'O' is an Array, 'P' is an array index property that already exists on 'O' with [[Enumerable]] true, the [[Enumerable]] field of 'desc' is true (15.4.5.1 step 4.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-223.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy02LWEtMjI0LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnTycgaXMgYW4gQXJyYXksICdQJyBpcyBhbiBhcnJheSBpbmRleCBwcm9wZXJ0eSB0aGF0IGFscmVhZHkgZXhpc3RzIG9uICdPJyB3aXRoICBbW0VudW1lcmFibGVdXSB0cnVlLCB0aGUgW1tFbnVtZXJhYmxlXV0gZmllbGQgb2YgJ2Rlc2MnIGlzIGZhbHNlICAoMTUuNC41LjEgc3RlcCA0LmMpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIGFyciA9IFtdOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnIsICIwIiwgew0KICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMoYXJyLCB7DQogICAgICAgICAgICAgICAgIjAiOiB7DQogICAgICAgICAgICAgICAgICAgIGVudW1lcmFibGU6IGZhbHNlDQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICByZXR1cm4gZGF0YVByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3QoYXJyLCAiMCIsIHVuZGVmaW5lZCwgZmFsc2UsIGZhbHNlLCB0cnVlKTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - 'O' is an Array, 'P' is an array index property that already exists on 'O' with [[Enumerable]] true, the [[Enumerable]] field of 'desc' is false (15.4.5.1 step 4.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-224.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy02LWEtMjI1LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnTycgaXMgYW4gQXJyYXksICdQJyBpcyBhbiBhcnJheSBpbmRleCBwcm9wZXJ0eSB0aGF0IGFscmVhZHkgZXhpc3RzIG9uICdPJyB3aXRoIFtbQ29uZmlndXJhYmxlXV0gdHJ1ZSwgdGhlIFtbQ29uZmlndXJhYmxlXV0gZmllbGQgb2YgJ2Rlc2MnIGlzIHRydWUgKDE1LjQuNS4xIHN0ZXAgNC5jKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBhcnIgPSBbXTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyLCAiMCIsIHsNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMoYXJyLCB7DQogICAgICAgICAgICAgICAgIjAiOiB7DQogICAgICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgcmV0dXJuIGRhdGFQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KGFyciwgIjAiLCB1bmRlZmluZWQsIGZhbHNlLCBmYWxzZSwgdHJ1ZSk7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - 'O' is an Array, 'P' is an array index property that already exists on 'O' with [[Configurable]] true, the [[Configurable]] field of 'desc' is true (15.4.5.1 step 4.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-225.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy02LWEtMjI2LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnTycgaXMgYW4gQXJyYXksICdQJyBpcyBhbiBhcnJheSBpbmRleCBwcm9wZXJ0eSB0aGF0IGFscmVhZHkgZXhpc3RzIG9uICdPJyB3aXRoIFtbQ29uZmlndXJhYmxlXV0gdHJ1ZSwgdGhlIFtbQ29uZmlndXJhYmxlXV0gZmllbGQgb2YgJ2Rlc2MnIGlzIGZhbHNlICgxNS40LjUuMSBzdGVwIDQuYykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgYXJyID0gW107DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgIjAiLCB7DQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKGFyciwgew0KICAgICAgICAgICAgICAgICIwIjogew0KICAgICAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICByZXR1cm4gZGF0YVByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3QoYXJyLCAiMCIsIHVuZGVmaW5lZCwgZmFsc2UsIGZhbHNlLCBmYWxzZSk7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - 'O' is an Array, 'P' is an array index property that already exists on 'O' with [[Configurable]] true, the [[Configurable]] field of 'desc' is false (15.4.5.1 step 4.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-226.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy02LWEtMjI3LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnTycgaXMgYW4gQXJyYXksICdQJyBpcyBhbiBhcnJheSBpbmRleCBwcm9wZXJ0eSwgVHlwZUVycm9yIGlzIHRocm93biBpZiB0aGUgW1tDb25maWd1cmFibGVdXSBhdHRyaWJ1dGUgdmFsdWUgb2YgJ1AnIGlzIGZhbHNlICBhbmQgdGhlIFtbQ29uZmlndXJhYmxlXV0gZmllbGQgb2YgJ2Rlc2MnIGlzIHRydWUgICgxNS40LjUuMSBzdGVwIDQuYykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhcnIgPSBbXTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyLCAiMSIsIHsNCiAgICAgICAgICAgIHZhbHVlOiAzLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMoYXJyLCB7DQogICAgICAgICAgICAgICAgIjEiOiB7DQogICAgICAgICAgICAgICAgICAgIHZhbHVlOiAxMywNCiAgICAgICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGV4KSB7DQogICAgICAgICAgICByZXR1cm4gKGV4IGluc3RhbmNlb2YgVHlwZUVycm9yKSAmJiBkYXRhUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChhcnIsICIxIiwgMywgZmFsc2UsIGZhbHNlLCBmYWxzZSk7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - 'O' is an Array, 'P' is an array index property, TypeError is thrown if the [[Configurable]] attribute value of 'P' is false and the [[Configurable]] field of 'desc' is true (15.4.5.1 step 4.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-227.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy02LWEtMjI4LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnTycgaXMgYW4gQXJyYXksICdQJyBpcyBhbiBhcnJheSBpbmRleCBwcm9wZXJ0eSwgVHlwZUVycm9yIGlzIHRocm93biBpZiB0aGUgW1tDb25maWd1cmFibGVdXSBhdHRyaWJ1dGUgdmFsdWUgb2YgJ1AnIGlzIGZhbHNlLCBhbmQgW1tFbnVtZXJhYmxlXV0gb2YgJ2Rlc2MnIGlzIHByZXNlbnQgYW5kIGl0cyB2YWx1ZSBpcyBkaWZmZXJlbnQgZnJvbSB0aGUgW1tFbnVtZXJhYmxlXV0gYXR0cmlidXRlIHZhbHVlIG9mICdQJyAgKDE1LjQuNS4xIHN0ZXAgNC5jKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFyciA9IFtdOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnIsICIxIiwgew0KICAgICAgICAgICAgdmFsdWU6IDMsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogZmFsc2UNCg0KICAgICAgICB9KTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMoYXJyLCB7DQogICAgICAgICAgICAgICAgIjEiOiB7DQogICAgICAgICAgICAgICAgICAgIHZhbHVlOiAxMywNCiAgICAgICAgICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChleCkgew0KICAgICAgICAgICAgcmV0dXJuIChleCBpbnN0YW5jZW9mIFR5cGVFcnJvcikgJiYgZGF0YVByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3QoYXJyLCAiMSIsIDMsIGZhbHNlLCBmYWxzZSwgZmFsc2UpOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - 'O' is an Array, 'P' is an array index property, TypeError is thrown if the [[Configurable]] attribute value of 'P' is false, and [[Enumerable]] of 'desc' is present and its value is different from the [[Enumerable]] attribute value of 'P' (15.4.5.1 step 4.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-228.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy02LWEtMjI5LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnTycgaXMgYW4gQXJyYXksICdQJyBpcyBhbiBhcnJheSBpbmRleCBwcm9wZXJ0eSwgVHlwZUVycm9yIGlzIHRocm93biBpZiAnUCcgaXMgYWNjZXNzb3IgcHJvcGVydHksIGFuZCAnZGVzYycgaXMgZGF0YSBkZXNjcmlwdG9yLCBhbmQgdGhlIFtbQ29uZmlndXJhYmxlXV0gYXR0cmlidXRlIHZhbHVlIG9mICdQJyBpcyBmYWxzZSAgKDE1LjQuNS4xIHN0ZXAgNC5jKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFyciA9IFtdOw0KDQogICAgICAgIGZ1bmN0aW9uIHNldF9mdW4odmFsdWUpIHsNCiAgICAgICAgICAgIGFyci5zZXRWZXJpZnlIZWxwUHJvcCA9IHZhbHVlOw0KICAgICAgICB9DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgIjEiLCB7DQogICAgICAgICAgICBzZXQ6IHNldF9mdW4sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQoNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKGFyciwgew0KICAgICAgICAgICAgICAgICIxIjogew0KICAgICAgICAgICAgICAgICAgICB2YWx1ZTogMTMNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCg0KICAgICAgICB9IGNhdGNoIChleCkgew0KICAgICAgICAgICAgcmV0dXJuIChleCBpbnN0YW5jZW9mIFR5cGVFcnJvcikgJiYgYWNjZXNzb3JQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KGFyciwgIjEiLCB1bmRlZmluZWQsIHNldF9mdW4sICJzZXRWZXJpZnlIZWxwUHJvcCIsIGZhbHNlLCBmYWxzZSk7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - 'O' is an Array, 'P' is an array index property, TypeError is thrown if 'P' is accessor property, and 'desc' is data descriptor, and the [[Configurable]] attribute value of 'P' is false (15.4.5.1 step 4.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-229.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy02LWEtMjMwLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnTycgaXMgYW4gQXJyYXksICdQJyBpcyBhbiBhcnJheSBpbmRleCBwcm9wZXJ0eSwgVHlwZUVycm9yIGlzIHRocm93biBpZiAgJ1AnIGlzIGRhdGEgcHJvcGVydHksIGFuZCdkZXNjJyBpcyBhY2Nlc3NvciBkZXNjcmlwdG9yLCBhbmQgdGhlIFtbQ29uZmlndXJhYmxlXV0gYXR0cmlidXRlIHZhbHVlIG9mICdQJyBpcyBmYWxzZSAgKDE1LjQuNS4xIHN0ZXAgNC5jKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFyciA9IFtdOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnIsICIxIiwgew0KICAgICAgICAgICAgdmFsdWU6IDMsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgIH0pOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhhcnIsIHsNCiAgICAgICAgICAgICAgICAiMSI6IHsNCiAgICAgICAgICAgICAgICAgICAgc2V0OiBmdW5jdGlvbiAoKSB7IH0NCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZXgpIHsNCiAgICAgICAgICAgIHJldHVybiAoZXggaW5zdGFuY2VvZiBUeXBlRXJyb3IpICYmIGRhdGFQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KGFyciwgIjEiLCAzLCBmYWxzZSwgZmFsc2UsIGZhbHNlKTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - 'O' is an Array, 'P' is an array index property, TypeError is thrown if 'P' is data property, and'desc' is accessor descriptor, and the [[Configurable]] attribute value of 'P' is false (15.4.5.1 step 4.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-230.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy02LWEtMjMxLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnTycgaXMgYW4gQXJyYXksICdQJyBpcyBhbiBhcnJheSBpbmRleCBwcm9wZXJ0eSwgICdQJyBpcyBkYXRhIHByb3BlcnR5IGFuZCAnZGVzYycgaXMgYWNjZXNzb3IgZGVzY3JpcHRvciwgYW5kIHRoZSBbW0NvbmZpZ3VyYWJsZV1dIGF0dHJpYnV0ZSB2YWx1ZSBvZiAnUCcgaXMgdHJ1ZSwgdGVzdCAnUCcgaXMgY29udmVydGVkIGZyb20gZGF0YSBwcm9wZXJ0eSB0byBhY2Nlc3NvciBwcm9wZXJ0eSAgKDE1LjQuNS4xIHN0ZXAgNC5jKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBhcnIgPSBbXTsNCiAgICAgICAgYXJyWzFdID0gMzsgLy8gZGVmYXVsdCB2YWx1ZSBvZiBhdHRyaWJ1dGVzOiB3cml0YWJsZTogdHJ1ZSwgY29uZmlndXJhYmxlOiB0cnVlLCBlbnVtZXJhYmxlOiB0cnVlDQoNCiAgICAgICAgZnVuY3Rpb24gc2V0X2Z1bih2YWx1ZSkgew0KICAgICAgICAgICAgYXJyLnNldFZlcmlmeUhlbHBQcm9wID0gdmFsdWU7DQogICAgICAgIH0NCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhhcnIsIHsNCiAgICAgICAgICAgICIxIjogew0KICAgICAgICAgICAgICAgIHNldDogc2V0X2Z1bg0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCg0KICAgICAgICByZXR1cm4gYWNjZXNzb3JQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KGFyciwgIjEiLCB1bmRlZmluZWQsIHNldF9mdW4sICJzZXRWZXJpZnlIZWxwUHJvcCIsIHRydWUsIHRydWUpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - 'O' is an Array, 'P' is an array index property, 'P' is data property and 'desc' is accessor descriptor, and the [[Configurable]] attribute value of 'P' is true, test 'P' is converted from data property to accessor property (15.4.5.1 step 4.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-231.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy02LWEtMjMyLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnTycgaXMgYW4gQXJyYXksICdQJyBpcyBhbiBhcnJheSBpbmRleCBwcm9wZXJ0eSwgICdQJyBpcyBhY2Nlc3NvciBwcm9wZXJ0eSBhbmQgJ2Rlc2MnIGlzIGRhdGEgZGVzY3JpcHRvciwgYW5kIHRoZSBbW0NvbmZpZ3VyYWJsZV1dIGF0dHJpYnV0ZSB2YWx1ZSBvZiAnUCcgaXMgdHJ1ZSwgdGVzdCAnUCcgaXMgY29udmVydGVkIGZyb20gYWNjZXNzb3IgcHJvcGVydHkgdG8gZGF0YSBwcm9wZXJ0eSAgKDE1LjQuNS4xIHN0ZXAgNC5jKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBhcnIgPSBbXTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyLCAiMSIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiAzOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KDQogICAgICAgIH0pOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKGFyciwgew0KICAgICAgICAgICAgIjEiOiB7DQogICAgICAgICAgICAgICAgdmFsdWU6IDEyDQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KDQogICAgICAgIHJldHVybiBkYXRhUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChhcnIsICIxIiwgMTIsIGZhbHNlLCBmYWxzZSwgdHJ1ZSk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - 'O' is an Array, 'P' is an array index property, 'P' is accessor property and 'desc' is data descriptor, and the [[Configurable]] attribute value of 'P' is true, test 'P' is converted from accessor property to data property (15.4.5.1 step 4.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-232.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy02LWEtMjMzLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnTycgaXMgYW4gQXJyYXksICdQJyBpcyBhbiBhcnJheSBpbmRleCBwcm9wZXJ0eSwgJ1AnIGlzIGRhdGEgcHJvcGVydHkgYW5kICdkZXNjJyBpcyBkYXRhIGRlc2NyaXB0b3IsIGFuZCB0aGUgW1tDb25maWd1cmFibGVdXSBhdHRyaWJ1dGUgdmFsdWUgb2YgJ1AnIGlzIGZhbHNlLCB0ZXN0IFR5cGVFcnJvciBpcyB0aHJvd24gaWYgdGhlIFtbV3JpdGFibGVdXSBhdHRyaWJ1dGUgdmFsdWUgb2YgJ1AnIGlzIGZhbHNlIGFuZCB0aGUgW1tXcml0YWJsZV1dIGZpZWxkIG9mICdkZXNjJyBpcyB0cnVlLiAgKDE1LjQuNS4xIHN0ZXAgNC5jKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFyciA9IFtdOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnIsICIxIiwgew0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgIHdyaXRhYmxlOiBmYWxzZQ0KDQogICAgICAgIH0pOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhhcnIsIHsNCiAgICAgICAgICAgICAgICAiMSI6IHsNCiAgICAgICAgICAgICAgICAgICAgd3JpdGFibGU6IHRydWUNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZXgpIHsNCiAgICAgICAgICAgIHJldHVybiAoZXggaW5zdGFuY2VvZiBUeXBlRXJyb3IpICYmIGRhdGFQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KGFyciwgIjEiLCB1bmRlZmluZWQsIGZhbHNlLCBmYWxzZSwgZmFsc2UpOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - 'O' is an Array, 'P' is an array index property, 'P' is data property and 'desc' is data descriptor, and the [[Configurable]] attribute value of 'P' is false, test TypeError is thrown if the [[Writable]] attribute value of 'P' is false and the [[Writable]] field of 'desc' is true. (15.4.5.1 step 4.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-233.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy02LWEtMjM0LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnTycgaXMgYW4gQXJyYXksICdQJyBpcyBhbiBhcnJheSBpbmRleCBwcm9wZXJ0eSwgJ1AnIGlzIGRhdGEgcHJvcGVydHkgYW5kICdkZXNjJyBpcyBkYXRhIGRlc2NyaXB0b3IsIGFuZCB0aGUgW1tDb25maWd1cmFibGVdXSBhdHRyaWJ1dGUgdmFsdWUgb2YgJ1AnIGlzIGZhbHNlLCB0ZXN0IFR5cGVFcnJvciBpcyB0aHJvd24gaWYgdGhlIFtbV3JpdGFibGVdXSBhdHRyaWJ1dGUgdmFsdWUgb2YgJ1AnIGlzIGZhbHNlLCBhbmQgdGhlIHR5cGUgb2YgdGhlIFtbVmFsdWVdXSBmaWVsZCBvZiAnZGVzYycgaXMgZGlmZmVyZW50IGZyb20gdGhlIHR5cGUgb2YgdGhlIFtbVmFsdWVdXSBhdHRyaWJ1dGUgdmFsdWUgb2YgJ1AnICAoMTUuNC41LjEgc3RlcCA0LmMpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYXJyID0gW107DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgIjEiLCB7DQogICAgICAgICAgICB2YWx1ZTogMywNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UsDQogICAgICAgICAgICB3cml0YWJsZTogZmFsc2UNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdHJ5IHsNCg0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMoYXJyLCB7DQogICAgICAgICAgICAgICAgIjEiOiB7DQogICAgICAgICAgICAgICAgICAgIHZhbHVlOiAiYWJjIg0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChleCkgew0KICAgICAgICAgICAgcmV0dXJuIChleCBpbnN0YW5jZW9mIFR5cGVFcnJvcikgJiYgZGF0YVByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3QoYXJyLCAiMSIsIDMsIGZhbHNlLCBmYWxzZSwgZmFsc2UpOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - 'O' is an Array, 'P' is an array index property, 'P' is data property and 'desc' is data descriptor, and the [[Configurable]] attribute value of 'P' is false, test TypeError is thrown if the [[Writable]] attribute value of 'P' is false, and the type of the [[Value]] field of 'desc' is different from the type of the [[Value]] attribute value of 'P' (15.4.5.1 step 4.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-234.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy02LWEtMjM1LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSBUeXBlRXJyb3IgaXMgdGhyb3duIGlmICdPJyBpcyBhbiBBcnJheSwgJ1AnIGlzIGFuIGFycmF5IGluZGV4IG5hbWVkIHByb3BlcnR5IHRoYXQgYWxyZWFkeSBleGlzdHMgb24gJ08nIGlzIGRhdGEgcHJvcGVydHkgd2l0aCAgW1tDb25maWd1cmFibGVdXSwgW1tXcml0YWJsZV1dIGZhbHNlLCAnZGVzYycgaXMgZGF0YSBkZXNjcmlwdG9yLCBbW1ZhbHVlXV0gZmllbGQgb2YgJ2Rlc2MnIGlzICswLCBhbmQgdGhlIFtbVmFsdWVdXSBhdHRyaWJ1dGUgdmFsdWUgb2YgJ1AnIGlzIC0wICAoMTUuNC41LjEgc3RlcCA0LmMpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIGFyciA9IFtdOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnIsICIxIiwgew0KICAgICAgICAgICAgdmFsdWU6ICswDQogICAgICAgIH0pOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhhcnIsIHsNCiAgICAgICAgICAgICAgICAiMSI6IHsNCiAgICAgICAgICAgICAgICAgICAgdmFsdWU6IC0wDQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGV4KSB7DQogICAgICAgICAgICByZXR1cm4gKGV4IGluc3RhbmNlb2YgVHlwZUVycm9yKSAmJiBkYXRhUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChhcnIsICIxIiwgKzAsIGZhbHNlLCBmYWxzZSwgZmFsc2UpOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - TypeError is thrown if 'O' is an Array, 'P' is an array index named property that already exists on 'O' is data property with [[Configurable]], [[Writable]] false, 'desc' is data descriptor, [[Value]] field of 'desc' is +0, and the [[Value]] attribute value of 'P' is -0 (15.4.5.1 step 4.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-235.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy02LWEtMjM2LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSBUeXBlRXJyb3IgaXMgdGhyb3duIGlmICdPJyBpcyBhbiBBcnJheSwgJ1AnIGlzIGFuIGFycmF5IGluZGV4IG5hbWVkIHByb3BlcnR5IHRoYXQgYWxyZWFkeSBleGlzdHMgb24gJ08nIGlzIGRhdGEgcHJvcGVydHkgd2l0aCAgW1tDb25maWd1cmFibGVdXSwgW1tXcml0YWJsZV1dIGZhbHNlLCAnZGVzYycgaXMgZGF0YSBkZXNjcmlwdG9yLCBbW1ZhbHVlXV0gZmllbGQgb2YgJ2Rlc2MnIGlzIC0wLCBhbmQgdGhlIFtbVmFsdWVdXSBhdHRyaWJ1dGUgdmFsdWUgb2YgJ1AnIGlzICswICAoMTUuNC41LjEgc3RlcCA0LmMpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIGFyciA9IFtdOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnIsICIxIiwgew0KICAgICAgICAgICAgdmFsdWU6IC0wDQogICAgICAgIH0pOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhhcnIsIHsNCiAgICAgICAgICAgICAgICAiMSI6IHsNCiAgICAgICAgICAgICAgICAgICAgdmFsdWU6ICswDQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZXgpIHsNCiAgICAgICAgICAgIHJldHVybiAoZXggaW5zdGFuY2VvZiBUeXBlRXJyb3IpICYmIGRhdGFQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KGFyciwgIjEiLCAtMCwgZmFsc2UsIGZhbHNlLCBmYWxzZSk7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - TypeError is thrown if 'O' is an Array, 'P' is an array index named property that already exists on 'O' is data property with [[Configurable]], [[Writable]] false, 'desc' is data descriptor, [[Value]] field of 'desc' is -0, and the [[Value]] attribute value of 'P' is +0 (15.4.5.1 step 4.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-236.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy02LWEtMjM3LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSBUeXBlRXJyb3IgaXMgdGhyb3duIGlmICdPJyBpcyBhbiBBcnJheSwgJ1AnIGlzIGFuIGFycmF5IGluZGV4IG5hbWVkIHByb3BlcnR5IHRoYXQgYWxyZWFkeSBleGlzdHMgb24gJ08nIGlzIGRhdGEgcHJvcGVydHkgd2l0aCAgW1tDb25maWd1cmFibGVdXSwgW1tXcml0YWJsZV1dIGZhbHNlLCAnZGVzYycgaXMgZGF0YSBkZXNjcmlwdG9yLCBbW1ZhbHVlXV0gZmllbGQgb2YgJ2Rlc2MnIGFuZCB0aGUgW1tWYWx1ZV1dIGF0dHJpYnV0ZSB2YWx1ZSBvZiAnUCcgYXJlIHR3byBudW1iZXJzIHdpdGggZGlmZmVyZW50IHZhdWxlICgxNS40LjUuMSBzdGVwIDQuYykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgYXJyID0gW107DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgIjEiLCB7DQogICAgICAgICAgICB2YWx1ZTogMTINCiAgICAgICAgfSk7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKGFyciwgew0KICAgICAgICAgICAgICAgICIxIjogew0KICAgICAgICAgICAgICAgICAgICB2YWx1ZTogMzYNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZXgpIHsNCiAgICAgICAgICAgIHJldHVybiAoZXggaW5zdGFuY2VvZiBUeXBlRXJyb3IpICYmIGRhdGFQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KGFyciwgIjEiLCAxMiwgZmFsc2UsIGZhbHNlLCBmYWxzZSk7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - TypeError is thrown if 'O' is an Array, 'P' is an array index named property that already exists on 'O' is data property with [[Configurable]], [[Writable]] false, 'desc' is data descriptor, [[Value]] field of 'desc' and the [[Value]] attribute value of 'P' are two numbers with different vaule (15.4.5.1 step 4.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-237.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy02LWEtMjM4LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSBUeXBlRXJyb3IgaXMgdGhyb3duIGlmICdPJyBpcyBhbiBBcnJheSwgJ1AnIGlzIGFuIGFycmF5IGluZGV4IG5hbWVkIHByb3BlcnR5IHRoYXQgYWxyZWFkeSBleGlzdHMgb24gJ08nIGlzIGRhdGEgcHJvcGVydHkgd2l0aCAgW1tDb25maWd1cmFibGVdXSwgW1tXcml0YWJsZV1dIGZhbHNlLCAnZGVzYycgaXMgZGF0YSBkZXNjcmlwdG9yLCBbW1ZhbHVlXV0gZmllbGQgb2YgJ2Rlc2MnIGFuZCB0aGUgW1tWYWx1ZV1dIGF0dHJpYnV0ZSB2YWx1ZSBvZiAnUCcgYXJlIHR3byBzdHJpbmdzIHdpdGggZGlmZmVyZW50IHZhbHVlcyAoMTUuNC41LjEgc3RlcCA0LmMpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIGFyciA9IFtdOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnIsICIxIiwgew0KICAgICAgICAgICAgdmFsdWU6ICJhYmNkIg0KICAgICAgICB9KTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMoYXJyLCB7DQogICAgICAgICAgICAgICAgIjEiOiB7DQogICAgICAgICAgICAgICAgICAgIHZhbHVlOiAiZWZnaCINCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZXgpIHsNCiAgICAgICAgICAgIHJldHVybiAoZXggaW5zdGFuY2VvZiBUeXBlRXJyb3IpICYmIGRhdGFQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KGFyciwgIjEiLCAiYWJjZCIsIGZhbHNlLCBmYWxzZSwgZmFsc2UpOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - TypeError is thrown if 'O' is an Array, 'P' is an array index named property that already exists on 'O' is data property with [[Configurable]], [[Writable]] false, 'desc' is data descriptor, [[Value]] field of 'desc' and the [[Value]] attribute value of 'P' are two strings with different values (15.4.5.1 step 4.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-238.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy02LWEtMjM5LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSBUeXBlRXJyb3IgaXMgdGhyb3duIGlmICdPJyBpcyBhbiBBcnJheSwgJ1AnIGlzIGFuIGFycmF5IGluZGV4IG5hbWVkIHByb3BlcnR5IHRoYXQgYWxyZWFkeSBleGlzdHMgb24gJ08nIGlzIGRhdGEgcHJvcGVydHkgd2l0aCAgW1tDb25maWd1cmFibGVdXSwgW1tXcml0YWJsZV1dIGZhbHNlLCAnZGVzYycgaXMgZGF0YSBkZXNjcmlwdG9yLCBbW1ZhbHVlXV0gZmllbGQgb2YgJ2Rlc2MnIGFuZCB0aGUgW1tWYWx1ZV1dIGF0dHJpYnV0ZSB2YWx1ZSBvZiAnUCcgYXJlIHR3byBib29sZWFucyB3aXRoIGRpZmZlcmVudCB2YWx1ZXMgKDE1LjQuNS4xIHN0ZXAgNC5jKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBhcnIgPSBbXTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyLCAiMSIsIHsNCiAgICAgICAgICAgIHZhbHVlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhhcnIsIHsNCiAgICAgICAgICAgICAgICAiMSI6IHsNCiAgICAgICAgICAgICAgICAgICAgdmFsdWU6IGZhbHNlDQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZXgpIHsNCiAgICAgICAgICAgIHJldHVybiAoZXggaW5zdGFuY2VvZiBUeXBlRXJyb3IpICYmIGRhdGFQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KGFyciwgIjEiLCB0cnVlLCBmYWxzZSwgZmFsc2UsIGZhbHNlKTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - TypeError is thrown if 'O' is an Array, 'P' is an array index named property that already exists on 'O' is data property with [[Configurable]], [[Writable]] false, 'desc' is data descriptor, [[Value]] field of 'desc' and the [[Value]] attribute value of 'P' are two booleans with different values (15.4.5.1 step 4.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-239.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy02LWEtMjQuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydGllcyAtICdPJyBpcyB0aGUgZ2xvYmFsIG9iamVjdCB3aGljaCBpbXBsZW1lbnRzIGl0cyBvd24gW1tHZXRPd25Qcm9wZXJ0eV1dIG1ldGhvZCB0byBnZXQgJ1AnICg4LjEyLjkgc3RlcCAxICkgDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGZuR2xvYmFsT2JqZWN0KCksICJwcm9wIiwgew0KICAgICAgICAgICAgICAgIHZhbHVlOiAxMSwNCiAgICAgICAgICAgICAgICB3cml0YWJsZTogdHJ1ZSwNCiAgICAgICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKGZuR2xvYmFsT2JqZWN0KCksIHsNCiAgICAgICAgICAgICAgICBwcm9wOiB7DQogICAgICAgICAgICAgICAgICAgIHZhbHVlOiAxMg0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgcmV0dXJuIGRhdGFQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KGZuR2xvYmFsT2JqZWN0KCksICJwcm9wIiwgMTIsIHRydWUsIHRydWUsIHRydWUpOw0KICAgICAgICB9ICBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBmbkdsb2JhbE9iamVjdCgpLnByb3A7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - 'O' is the global object which implements its own [[GetOwnProperty]] method to get 'P' (8.12.9 step 1 )","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-24.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy02LWEtMjQwLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSBUeXBlRXJyb3IgaXMgdGhyb3duIGlmICdPJyBpcyBhbiBBcnJheSwgJ1AnIGlzIGFuIGFycmF5IGluZGV4IG5hbWVkIHByb3BlcnR5IHRoYXQgYWxyZWFkeSBleGlzdHMgb24gJ08nIGlzIGRhdGEgcHJvcGVydHkgd2l0aCAgW1tDb25maWd1cmFibGVdXSwgW1tXcml0YWJsZV1dIGZhbHNlLCAnZGVzYycgaXMgZGF0YSBkZXNjcmlwdG9yLCBbW1ZhbHVlXV0gZmllbGQgb2YgJ2Rlc2MnIGFuZCB0aGUgW1tWYWx1ZV1dIGF0dHJpYnV0ZSB2YWx1ZSBvZiAnUCcgYXJlIHR3byBvYmplY3RzIHdoaWNoIHJlZmVyIHRvIHRoZSBkaWZmZXJlbnQgb2JqZWN0cyAoMTUuNC41LjEgc3RlcCA0LmMpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIGFyciA9IFtdOw0KICAgICAgICB2YXIgb2JqMSA9IHsgdmFsdWU6IDEyIH07DQogICAgICAgIHZhciBvYmoyID0geyB2YWx1ZTogMzYgfTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyLCAiMSIsIHsNCiAgICAgICAgICAgIHZhbHVlOiBvYmoxDQogICAgICAgIH0pOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhhcnIsIHsNCiAgICAgICAgICAgICAgICAiMSI6IHsNCiAgICAgICAgICAgICAgICAgICAgdmFsdWU6IG9iajINCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChleCkgew0KICAgICAgICAgICAgcmV0dXJuIChleCBpbnN0YW5jZW9mIFR5cGVFcnJvcikgJiYgZGF0YVByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3QoYXJyLCAiMSIsIG9iajEsIGZhbHNlLCBmYWxzZSwgZmFsc2UpOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - TypeError is thrown if 'O' is an Array, 'P' is an array index named property that already exists on 'O' is data property with [[Configurable]], [[Writable]] false, 'desc' is data descriptor, [[Value]] field of 'desc' and the [[Value]] attribute value of 'P' are two objects which refer to the different objects (15.4.5.1 step 4.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-240.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy02LWEtMjQxLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSBUeXBlRXJyb3IgaXMgdGhyb3duIGlmICdPJyBpcyBhbiBBcnJheSwgJ1AnIGlzIGFuIGFycmF5IGluZGV4IG5hbWVkIHByb3BlcnR5IHRoYXQgYWxyZWFkeSBleGlzdHMgb24gJ08nIGlzIGFjY2Vzc29yIHByb3BlcnR5IHdpdGggIFtbQ29uZmlndXJhYmxlXV0gZmFsc2UsICdkZXNjJyBpcyBhY2Nlc3NvciBkZXNjcmlwdG9yLCB0aGUgW1tTZXRdXSBmaWVsZCBvZiAnZGVzYycgaXMgcHJlc2VudCwgYW5kIHRoZSBbW1NldF1dIGZpZWxkIG9mICdkZXNjJyBhbmQgdGhlIFtbU2V0XV0gYXR0cmlidXRlIHZhbHVlIG9mICdQJyBhcmUgdHdvIG9iamVjdHMgd2hpY2ggcmVmZXIgdG8gdGhlIGRpZmZlcmVudCBvYmplY3RzICAoMTUuNC41LjEgc3RlcCA0LmMpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIGFyciA9IFtdOw0KDQogICAgICAgIGZ1bmN0aW9uIHNldF9mdW4odmFsdWUpIHsNCiAgICAgICAgICAgIGFyci5zZXRWZXJpZnlIZWxwUHJvcCA9IHZhbHVlOw0KICAgICAgICB9DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnIsICIxIiwgew0KICAgICAgICAgICAgc2V0OiBzZXRfZnVuDQogICAgICAgIH0pOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhhcnIsIHsNCiAgICAgICAgICAgICAgICAiMSI6IHsNCiAgICAgICAgICAgICAgICAgICAgc2V0OiBmdW5jdGlvbiAoKSB7IH0NCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChleCkgew0KICAgICAgICAgICAgcmV0dXJuIChleCBpbnN0YW5jZW9mIFR5cGVFcnJvcikgJiYgYWNjZXNzb3JQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KGFyciwgIjEiLCB1bmRlZmluZWQsIHNldF9mdW4sICJzZXRWZXJpZnlIZWxwUHJvcCIsIGZhbHNlLCBmYWxzZSk7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - TypeError is thrown if 'O' is an Array, 'P' is an array index named property that already exists on 'O' is accessor property with [[Configurable]] false, 'desc' is accessor descriptor, the [[Set]] field of 'desc' is present, and the [[Set]] field of 'desc' and the [[Set]] attribute value of 'P' are two objects which refer to the different objects (15.4.5.1 step 4.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-241.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy02LWEtMjQyLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSBUeXBlRXJyb3IgaXMgdGhyb3duIGlmICdPJyBpcyBhbiBBcnJheSwgJ1AnIGlzIGFuIGFycmF5IGluZGV4IG5hbWVkIHByb3BlcnR5IHRoYXQgYWxyZWFkeSBleGlzdHMgb24gJ08nIGlzIGFjY2Vzc29yIHByb3BlcnR5IHdpdGggIFtbQ29uZmlndXJhYmxlXV0gZmFsc2UsICdkZXNjJyBpcyBhY2Nlc3NvciBkZXNjcmlwdG9yLCB0aGUgW1tTZXRdXSBmaWVsZCBvZiAnZGVzYycgaXMgcHJlc2VudCwgYW5kIHRoZSBbW1NldF1dIGZpZWxkIG9mICdkZXNjJyBpcyBhbiBvYmplY3QgYW5kIHRoZSBbW1NldF1dIGF0dHJpYnV0ZSB2YWx1ZSBvZiAnUCcgaXMgdW5kZWZpbmVkICAgKDE1LjQuNS4xIHN0ZXAgNC5jKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBhcnIgPSBbXTsNCg0KICAgICAgICBmdW5jdGlvbiBzZXRfZnVuKHZhbHVlKSB7DQogICAgICAgICAgICBhcnIuc2V0VmVyaWZ5SGVscFByb3AgPSB2YWx1ZTsNCiAgICAgICAgfQ0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyLCAiMSIsIHsNCiAgICAgICAgICAgIHNldDogc2V0X2Z1bg0KICAgICAgICB9KTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMoYXJyLCB7DQogICAgICAgICAgICAgICAgIjEiOiB7DQogICAgICAgICAgICAgICAgICAgIHNldDogdW5kZWZpbmVkDQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZXgpIHsNCiAgICAgICAgICAgIHJldHVybiAoZXggaW5zdGFuY2VvZiBUeXBlRXJyb3IpICYmIGFjY2Vzc29yUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChhcnIsICIxIiwgdW5kZWZpbmVkLCBzZXRfZnVuLCAic2V0VmVyaWZ5SGVscFByb3AiLCBmYWxzZSwgZmFsc2UpOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - TypeError is thrown if 'O' is an Array, 'P' is an array index named property that already exists on 'O' is accessor property with [[Configurable]] false, 'desc' is accessor descriptor, the [[Set]] field of 'desc' is present, and the [[Set]] field of 'desc' is an object and the [[Set]] attribute value of 'P' is undefined (15.4.5.1 step 4.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-242.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy02LWEtMjQzLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSBUeXBlRXJyb3IgaXMgbm90IHRocm93biBpZiAnTycgaXMgYW4gQXJyYXksICdQJyBpcyBhbiBhcnJheSBpbmRleCBuYW1lZCBwcm9wZXJ0eSB0aGF0IGFscmVhZHkgZXhpc3RzIG9uICdPJyBpcyBhY2Nlc3NvciBwcm9wZXJ0eSB3aXRoICBbW0NvbmZpZ3VyYWJsZV1dIGZhbHNlLCAnZGVzYycgaXMgYWNjZXNzb3IgZGVzY3JpcHRvciwgdGhlIFtbU2V0XV0gZmllbGQgb2YgJ2Rlc2MnIGlzIHByZXNlbnQsIGFuZCB0aGUgW1tTZXRdXSBmaWVsZCBvZiAnZGVzYycgYW5kIHRoZSBbW1NldF1dIGF0dHJpYnV0ZSB2YWx1ZSBvZiAnUCcgYXJlIHVuZGVmaW5lZCAgKDE1LjQuNS4xIHN0ZXAgNC5jKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBhcnIgPSBbXTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyLCAiMSIsIHsNCiAgICAgICAgICAgIHNldDogdW5kZWZpbmVkDQogICAgICAgIH0pOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKGFyciwgew0KICAgICAgICAgICAgIjEiOiB7DQogICAgICAgICAgICAgICAgc2V0OiB1bmRlZmluZWQNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQoNCiAgICAgICAgcmV0dXJuIGFjY2Vzc29yUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChhcnIsICIxIiwgdW5kZWZpbmVkLCB1bmRlZmluZWQsIHVuZGVmaW5lZCwgZmFsc2UsIGZhbHNlKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - TypeError is not thrown if 'O' is an Array, 'P' is an array index named property that already exists on 'O' is accessor property with [[Configurable]] false, 'desc' is accessor descriptor, the [[Set]] field of 'desc' is present, and the [[Set]] field of 'desc' and the [[Set]] attribute value of 'P' are undefined (15.4.5.1 step 4.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-243.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy02LWEtMjQ0LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSBUeXBlRXJyb3IgaXMgdGhyb3duIGlmICdPJyBpcyBhbiBBcnJheSwgJ1AnIGlzIGFuIGFycmF5IGluZGV4IG5hbWVkIHByb3BlcnR5IHRoYXQgYWxyZWFkeSBleGlzdHMgb24gJ08nIGlzIGFjY2Vzc29yIHByb3BlcnR5IHdpdGggIFtbQ29uZmlndXJhYmxlXV0gZmFsc2UsICdkZXNjJyBpcyBhY2Nlc3NvciBkZXNjcmlwdG9yLCB0aGUgW1tHZXRdXSBmaWVsZCBvZiAnZGVzYycgaXMgcHJlc2VudCwgYW5kIHRoZSBbW0dldF1dIGZpZWxkIG9mICdkZXNjJyBhbmQgdGhlIFtbR2V0XV0gYXR0cmlidXRlIHZhbHVlIG9mICdQJyBhcmUgdHdvIG9iamVjdHMgd2hpY2ggcmVmZXIgdG8gdGhlIGRpZmZlcmVudCBvYmplY3RzICAoMTUuNC41LjEgc3RlcCA0LmMpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIGFyciA9IFtdOw0KDQogICAgICAgIGZ1bmN0aW9uIGdldF9mdW4oKSB7DQogICAgICAgICAgICByZXR1cm4gMzY7DQogICAgICAgIH0NCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgIjEiLCB7DQogICAgICAgICAgICBnZXQ6IGdldF9mdW4NCiAgICAgICAgfSk7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKGFyciwgew0KICAgICAgICAgICAgICAgICIxIjogew0KICAgICAgICAgICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiAxMjsNCiAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGV4KSB7DQogICAgICAgICAgICByZXR1cm4gKGV4IGluc3RhbmNlb2YgVHlwZUVycm9yKSAmJiBhY2Nlc3NvclByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3QoYXJyLCAiMSIsIGdldF9mdW4sIHVuZGVmaW5lZCwgdW5kZWZpbmVkLCBmYWxzZSwgZmFsc2UpOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - TypeError is thrown if 'O' is an Array, 'P' is an array index named property that already exists on 'O' is accessor property with [[Configurable]] false, 'desc' is accessor descriptor, the [[Get]] field of 'desc' is present, and the [[Get]] field of 'desc' and the [[Get]] attribute value of 'P' are two objects which refer to the different objects (15.4.5.1 step 4.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-244.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy02LWEtMjQ1LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSBUeXBlRXJyb3IgaXMgdGhyb3duIGlmICdPJyBpcyBhbiBBcnJheSwgJ1AnIGlzIGFuIGFycmF5IGluZGV4IG5hbWVkIHByb3BlcnR5IHRoYXQgYWxyZWFkeSBleGlzdHMgb24gJ08nIGlzIGFjY2Vzc29yIHByb3BlcnR5IHdpdGggIFtbQ29uZmlndXJhYmxlXV0gZmFsc2UsICdkZXNjJyBpcyBhY2Nlc3NvciBkZXNjcmlwdG9yLCB0aGUgW1tHZXRdXSBmaWVsZCBvZiAnZGVzYycgaXMgcHJlc2VudCwgYW5kICB0aGUgW1tHZXRdXSBmaWVsZCBvZiAnZGVzYycgaXMgYW4gb2JqZWN0IGFuZCB0aGUgW1tHZXRdXSBhdHRyaWJ1dGUgdmFsdWUgb2YgJ1AnIGlzIHVuZGVmaW5lZCAgKDE1LjQuNS4xIHN0ZXAgNC5jKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBhcnIgPSBbXTsNCg0KICAgICAgICBmdW5jdGlvbiBnZXRfZnVuKCkgew0KICAgICAgICAgICAgcmV0dXJuIDM2Ow0KICAgICAgICB9DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnIsICIxIiwgew0KICAgICAgICAgICAgZ2V0OiBnZXRfZnVuDQogICAgICAgIH0pOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhhcnIsIHsNCiAgICAgICAgICAgICAgICAiMSI6IHsNCiAgICAgICAgICAgICAgICAgICAgZ2V0OiB1bmRlZmluZWQNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZXgpIHsNCiAgICAgICAgICAgIHJldHVybiAoZXggaW5zdGFuY2VvZiBUeXBlRXJyb3IpICYmIGFjY2Vzc29yUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChhcnIsICIxIiwgZ2V0X2Z1biwgdW5kZWZpbmVkLCB1bmRlZmluZWQsIGZhbHNlLCBmYWxzZSk7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - TypeError is thrown if 'O' is an Array, 'P' is an array index named property that already exists on 'O' is accessor property with [[Configurable]] false, 'desc' is accessor descriptor, the [[Get]] field of 'desc' is present, and the [[Get]] field of 'desc' is an object and the [[Get]] attribute value of 'P' is undefined (15.4.5.1 step 4.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-245.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy02LWEtMjQ2LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSBUeXBlRXJyb3IgaXMgbm90IHRocm93biBpZiAnJ08nIGlzIGFuIEFycmF5LCAnUCcgaXMgYW4gYXJyYXkgaW5kZXggbmFtZWQgcHJvcGVydHkgdGhhdCBhbHJlYWR5IGV4aXN0cyBvbiAnTycgaXMgYWNjZXNzb3IgcHJvcGVydHkgd2l0aCAgW1tDb25maWd1cmFibGVdXSBmYWxzZSwgJ2Rlc2MnIGlzIGFjY2Vzc29yIGRlc2NyaXB0b3IsIHRlc3QgVHlwZUVycm9yIGlzIG5vdCB0aHJvd24gaWYgdGhlIFtbR2V0XV0gZmllbGQgb2YgJ2Rlc2MnIGlzIHByZXNlbnQsIGFuZCB0aGUgW1tHZXRdXSBmaWVsZCBvZiAnZGVzYycgYW5kIHRoZSBbW0dldF1dIGF0dHJpYnV0ZSB2YWx1ZSBvZiAnUCcgYXJlIHVuZGVmaW5lZCAoMTUuNC41LjEgc3RlcCA0LmMpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIGFyciA9IFtdOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnIsICIxIiwgew0KICAgICAgICAgICAgZ2V0OiB1bmRlZmluZWQNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKGFyciwgew0KICAgICAgICAgICAgICAgICIxIjogew0KICAgICAgICAgICAgICAgICAgICBnZXQ6IHVuZGVmaW5lZA0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICByZXR1cm4gYWNjZXNzb3JQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KGFyciwgIjEiLCB1bmRlZmluZWQsIHVuZGVmaW5lZCwgdW5kZWZpbmVkLCBmYWxzZSwgZmFsc2UpOw0KICAgICAgICB9IGNhdGNoIChleCkgew0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - TypeError is not thrown if ''O' is an Array, 'P' is an array index named property that already exists on 'O' is accessor property with [[Configurable]] false, 'desc' is accessor descriptor, test TypeError is not thrown if the [[Get]] field of 'desc' is present, and the [[Get]] field of 'desc' and the [[Get]] attribute value of 'P' are undefined (15.4.5.1 step 4.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-246.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy02LWEtMjQ3LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnTycgaXMgYW4gQXJyYXksICdQJyBpcyBhbiBhcnJheSBpbmRleCBuYW1lZCBwcm9wZXJ0eSB0aGF0IGFscmVhZHkgZXhpc3RzIG9uICdPJyBpcyBkYXRhIHByb3BlcnR5IGFuZCAnZGVzYycgaXMgZGF0YSBkZXNjcmlwdG9yLCB0ZXN0IHVwZGF0aW5nIHRoZSBbW1ZhbHVlXV0gYXR0cmlidXRlIHZhbHVlIG9mICdQJyAgKDE1LjQuNS4xIHN0ZXAgNC5jKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFyciA9IFsxMl07DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKGFyciwgew0KICAgICAgICAgICAgICAgICIwIjogew0KICAgICAgICAgICAgICAgICAgICB2YWx1ZTogMzYNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIHJldHVybiBkYXRhUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChhcnIsICIwIiwgMzYsIHRydWUsIHRydWUsIHRydWUpOw0KICAgICAgICB9IGNhdGNoIChleCkgew0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - 'O' is an Array, 'P' is an array index named property that already exists on 'O' is data property and 'desc' is data descriptor, test updating the [[Value]] attribute value of 'P' (15.4.5.1 step 4.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-247.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy02LWEtMjQ4LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnTycgaXMgYW4gQXJyYXksICdQJyBpcyBhbiBhcnJheSBpbmRleCBuYW1lZCBwcm9wZXJ0eSB0aGF0IGFscmVhZHkgZXhpc3RzIG9uICdPJyBpcyBkYXRhIHByb3BlcnR5IGFuZCAnZGVzYycgaXMgZGF0YSBkZXNjcmlwdG9yLCB0ZXN0IHNldHRpbmcgdGhlIFtbVmFsdWVdXSBhdHRyaWJ1dGUgdmFsdWUgb2YgJ1AnIGFzIHVuZGVmaW5lZCAgKDE1LjQuNS4xIHN0ZXAgNC5jKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFyciA9IFsxMl07DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKGFyciwgew0KICAgICAgICAgICAgICAgICIwIjogew0KICAgICAgICAgICAgICAgICAgICB2YWx1ZTogdW5kZWZpbmVkDQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICByZXR1cm4gZGF0YVByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3QoYXJyLCAiMCIsIHVuZGVmaW5lZCwgdHJ1ZSwgdHJ1ZSwgdHJ1ZSk7DQogICAgICAgIH0gY2F0Y2ggKGV4KSB7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - 'O' is an Array, 'P' is an array index named property that already exists on 'O' is data property and 'desc' is data descriptor, test setting the [[Value]] attribute value of 'P' as undefined (15.4.5.1 step 4.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-248.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy02LWEtMjQ5LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnTycgaXMgYW4gQXJyYXksICdQJyBpcyBhbiBhcnJheSBpbmRleCBuYW1lZCBwcm9wZXJ0eSB0aGF0IGFscmVhZHkgZXhpc3RzIG9uICdPJyBpcyBkYXRhIHByb3BlcnR5IGFuZCAnZGVzYycgaXMgZGF0YSBkZXNjcmlwdG9yLCB0ZXN0IHNldHRpbmcgdGhlIFtbVmFsdWVdXSBhdHRyaWJ1dGUgdmFsdWUgb2YgJ1AnIGZyb20gdW5kZWZpbmVkIHRvIG5vcm1hbCB2YWx1ZSAgKDE1LjQuNS4xIHN0ZXAgNC5jKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFyciA9IFt1bmRlZmluZWRdOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhhcnIsIHsNCiAgICAgICAgICAgICAgICAiMCI6IHsNCiAgICAgICAgICAgICAgICAgICAgdmFsdWU6IDEyDQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICByZXR1cm4gZGF0YVByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3QoYXJyLCAiMCIsIDEyLCB0cnVlLCB0cnVlLCB0cnVlKTsNCiAgICAgICAgfSBjYXRjaCAoZXgpIHsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - 'O' is an Array, 'P' is an array index named property that already exists on 'O' is data property and 'desc' is data descriptor, test setting the [[Value]] attribute value of 'P' from undefined to normal value (15.4.5.1 step 4.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-249.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy02LWEtMjUuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydGllcyAtICdQJyBkb2Vzbid0IGV4aXN0IGluICdPJywgdGVzdCBUeXBlRXJyb3IgaXMgdGhyb3duIHdoZW4gJ08nIGlzIG5vdCBleHRlbnNpYmxlICg4LjEyLjkgc3RlcCAzKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgT2JqZWN0LnByZXZlbnRFeHRlbnNpb25zKG9iaik7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgew0KICAgICAgICAgICAgICAgIHByb3A6IHsNCiAgICAgICAgICAgICAgICAgICAgdmFsdWU6IDEyLA0KICAgICAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IgJiYgIW9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcCIpOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - 'P' doesn't exist in 'O', test TypeError is thrown when 'O' is not extensible (8.12.9 step 3)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-25.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy02LWEtMjUwLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnTycgaXMgYW4gQXJyYXksICdQJyBpcyBhbiBhcnJheSBpbmRleCBuYW1lZCBwcm9wZXJ0eSB0aGF0IGFscmVhZHkgZXhpc3RzIG9uICdPJyBpcyBkYXRhIHByb3BlcnR5IGFuZCAnZGVzYycgaXMgZGF0YSBkZXNjcmlwdG9yLCB0ZXN0IHVwZGF0aW5nIHRoZSBbW1dyaXRhYmxlXV0gYXR0cmlidXRlIHZhbHVlIG9mICdQJyAgKDE1LjQuNS4xIHN0ZXAgNC5jKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFyciA9IFsxMDBdOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhhcnIsIHsNCiAgICAgICAgICAgICAgICAiMCI6IHsNCiAgICAgICAgICAgICAgICAgICAgd3JpdGFibGU6IGZhbHNlDQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICByZXR1cm4gZGF0YVByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3QoYXJyLCAiMCIsIDEwMCwgZmFsc2UsIHRydWUsIHRydWUpOw0KICAgICAgICB9IGNhdGNoIChleCkgew0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - 'O' is an Array, 'P' is an array index named property that already exists on 'O' is data property and 'desc' is data descriptor, test updating the [[Writable]] attribute value of 'P' (15.4.5.1 step 4.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-250.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy02LWEtMjUxLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnTycgaXMgYW4gQXJyYXksICdQJyBpcyBhbiBhcnJheSBpbmRleCBuYW1lZCBwcm9wZXJ0eSB0aGF0IGFscmVhZHkgZXhpc3RzIG9uICdPJyBpcyBkYXRhIHByb3BlcnR5IGFuZCAnZGVzYycgaXMgZGF0YSBkZXNjcmlwdG9yLCB0ZXN0IHVwZGF0aW5nIHRoZSBbW0VudW1lcmFibGVdXSBhdHRyaWJ1dGUgdmFsdWUgb2YgJ1AnICAoMTUuNC41LjEgc3RlcCA0LmMpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYXJyID0gWzEyXTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMoYXJyLCB7DQogICAgICAgICAgICAgICAgIjAiOiB7DQogICAgICAgICAgICAgICAgICAgIGVudW1lcmFibGU6IGZhbHNlDQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICByZXR1cm4gZGF0YVByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3QoYXJyLCAiMCIsIDEyLCB0cnVlLCBmYWxzZSwgdHJ1ZSk7DQogICAgICAgIH0gY2F0Y2ggKGV4KSB7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - 'O' is an Array, 'P' is an array index named property that already exists on 'O' is data property and 'desc' is data descriptor, test updating the [[Enumerable]] attribute value of 'P' (15.4.5.1 step 4.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-251.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy02LWEtMjUyLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnTycgaXMgYW4gQXJyYXksICdQJyBpcyBhbiBhcnJheSBpbmRleCBuYW1lZCBwcm9wZXJ0eSB0aGF0IGFscmVhZHkgZXhpc3RzIG9uICdPJyBpcyBkYXRhIHByb3BlcnR5IGFuZCAnZGVzYycgaXMgZGF0YSBkZXNjcmlwdG9yLCB0ZXN0IHVwZGF0aW5nIHRoZSBbW0NvbmZpZ3VyYWJsZV1dIGF0dHJpYnV0ZSB2YWx1ZSBvZiAnUCcgICgxNS40LjUuMSBzdGVwIDQuYykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhcnIgPSBbMTJdOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhhcnIsIHsNCiAgICAgICAgICAgICAgICAiMCI6IHsNCiAgICAgICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgcmV0dXJuIGRhdGFQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KGFyciwgIjAiLCAxMiwgdHJ1ZSwgdHJ1ZSwgZmFsc2UpOw0KICAgICAgICB9IGNhdGNoIChleCkgew0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - 'O' is an Array, 'P' is an array index named property that already exists on 'O' is data property and 'desc' is data descriptor, test updating the [[Configurable]] attribute value of 'P' (15.4.5.1 step 4.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-252.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy02LWEtMjUzLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnTycgaXMgYW4gQXJyYXksICdQJyBpcyBhbiBhcnJheSBpbmRleCBuYW1lZCBwcm9wZXJ0eSB0aGF0IGFscmVhZHkgZXhpc3RzIG9uICdPJyBpcyBkYXRhIHByb3BlcnR5IGFuZCAnZGVzYycgaXMgZGF0YSBkZXNjcmlwdG9yLCB0ZXN0IHVwZGF0aW5nIG11bHRpcGxlIGF0dHJpYnV0ZSB2YWx1ZXMgb2YgJ1AnICAoMTUuNC41LjEgc3RlcCA0LmMpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYXJyID0gWzEyXTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMoYXJyLCB7DQogICAgICAgICAgICAgICAgIjAiOiB7DQogICAgICAgICAgICAgICAgICAgIHZhbHVlOiAzNiwNCiAgICAgICAgICAgICAgICAgICAgd3JpdGFibGU6IGZhbHNlLA0KICAgICAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICByZXR1cm4gZGF0YVByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3QoYXJyLCAiMCIsIDM2LCBmYWxzZSwgdHJ1ZSwgZmFsc2UpOw0KICAgICAgICB9IGNhdGNoIChleCkgew0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - 'O' is an Array, 'P' is an array index named property that already exists on 'O' is data property and 'desc' is data descriptor, test updating multiple attribute values of 'P' (15.4.5.1 step 4.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-253.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy02LWEtMjU0LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnTycgaXMgYW4gQXJyYXksICdQJyBpcyBhbiBhcnJheSBpbmRleCBuYW1lZCBwcm9wZXJ0eSB0aGF0IGFscmVhZHkgZXhpc3RzIG9uICdPJyBpcyBhY2Nlc3NvciBwcm9wZXJ0eSBhbmQgJ2Rlc2MnIGlzIGFjY2Vzc29yIGRlc2NyaXB0b3IsIHRlc3QgdXBkYXRpbmcgdGhlIFtbR2V0XV0gYXR0cmlidXRlIHZhbHVlIG9mICdQJyB3aXRoIGRpZmZlcmVudCBnZXR0ZXIgZnVuY3Rpb24gKDE1LjQuNS4xIHN0ZXAgNC5jKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFyciA9IFtdOw0KDQogICAgICAgIGZ1bmN0aW9uIGdldF9mdW4oKSB7DQogICAgICAgICAgICByZXR1cm4gMzY7DQogICAgICAgIH0NCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyLCAiMCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiAxMjsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMoYXJyLCB7DQogICAgICAgICAgICAiMCI6IHsNCiAgICAgICAgICAgICAgICBnZXQ6IGdldF9mdW4NCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQogICAgICAgIHJldHVybiBhY2Nlc3NvclByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3QoYXJyLCAiMCIsIGdldF9mdW4sIHVuZGVmaW5lZCwgdW5kZWZpbmVkLCBmYWxzZSwgdHJ1ZSk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - 'O' is an Array, 'P' is an array index named property that already exists on 'O' is accessor property and 'desc' is accessor descriptor, test updating the [[Get]] attribute value of 'P' with different getter function (15.4.5.1 step 4.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-254.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy02LWEtMjU1LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnTycgaXMgYW4gQXJyYXksICdQJyBpcyBhbiBhcnJheSBpbmRleCBuYW1lZCBwcm9wZXJ0eSB0aGF0IGFscmVhZHkgZXhpc3RzIG9uICdPJyBpcyBhY2Nlc3NvciBwcm9wZXJ0eSBhbmQgJ2Rlc2MnIGlzIGFjY2Vzc29yIGRlc2NyaXB0b3IsIHRlc3Qgc2V0dGluZyB0aGUgW1tHZXRdXSBhdHRyaWJ1dGUgdmFsdWUgb2YgJ1AnIGFzIHVuZGVmaW5lZCAgKDE1LjQuNS4xIHN0ZXAgNC5jKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFyciA9IFtdOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnIsICIwIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIDEyOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhhcnIsIHsNCiAgICAgICAgICAgICIwIjogew0KICAgICAgICAgICAgICAgIGdldDogdW5kZWZpbmVkDQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KICAgICAgICByZXR1cm4gYWNjZXNzb3JQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KGFyciwgIjAiLCB1bmRlZmluZWQsIHVuZGVmaW5lZCwgdW5kZWZpbmVkLCBmYWxzZSwgdHJ1ZSk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - 'O' is an Array, 'P' is an array index named property that already exists on 'O' is accessor property and 'desc' is accessor descriptor, test setting the [[Get]] attribute value of 'P' as undefined (15.4.5.1 step 4.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-255.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy02LWEtMjU2LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnTycgaXMgYW4gQXJyYXksICdQJyBpcyBhbiBhcnJheSBpbmRleCBuYW1lZCBwcm9wZXJ0eSB0aGF0IGFscmVhZHkgZXhpc3RzIG9uICdPJyBpcyBhY2Nlc3NvciBwcm9wZXJ0eSBhbmQgJ2Rlc2MnIGlzIGFjY2Vzc29yIGRlc2NyaXB0b3IsIHRlc3QgdXBkYXRpbmcgdGhlIFtbR2V0XV0gYXR0cmlidXRlIHZhbHVlIG9mICdQJyBmcm9tIHVuZGVmaW5lZCB0byBmdW5jdGlvbiAoMTUuNC41LjEgc3RlcCA0LmMpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYXJyID0gW107DQoNCiAgICAgICAgZnVuY3Rpb24gZ2V0X2Z1bigpIHsNCiAgICAgICAgICAgIHJldHVybiAzNjsNCiAgICAgICAgfQ0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnIsICIwIiwgew0KICAgICAgICAgICAgZ2V0OiB1bmRlZmluZWQsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMoYXJyLCB7DQogICAgICAgICAgICAiMCI6IHsNCiAgICAgICAgICAgICAgICBnZXQ6IGdldF9mdW4NCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQogICAgICAgIHJldHVybiBhY2Nlc3NvclByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3QoYXJyLCAiMCIsIGdldF9mdW4sIHVuZGVmaW5lZCwgdW5kZWZpbmVkLCBmYWxzZSwgdHJ1ZSk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - 'O' is an Array, 'P' is an array index named property that already exists on 'O' is accessor property and 'desc' is accessor descriptor, test updating the [[Get]] attribute value of 'P' from undefined to function (15.4.5.1 step 4.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-256.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy02LWEtMjU3LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnTycgaXMgYW4gQXJyYXksICdQJyBpcyBhbiBhcnJheSBpbmRleCBuYW1lZCBwcm9wZXJ0eSB0aGF0IGFscmVhZHkgZXhpc3RzIG9uICdPJyBpcyBhY2Nlc3NvciBwcm9wZXJ0eSBhbmQgJ2Rlc2MnIGlzIGFjY2Vzc29yIGRlc2NyaXB0b3IsIHRlc3QgdXBkYXRpbmcgdGhlIFtbU2V0XV0gYXR0cmlidXRlIHZhbHVlIG9mICdQJyB3aXRoIGRpZmZlcmVudCBnZXR0ZXIgZnVuY3Rpb24gKDE1LjQuNS4xIHN0ZXAgNC5jKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFyciA9IFtdOw0KDQogICAgICAgIGZ1bmN0aW9uIHNldF9mdW4odmFsdWUpIHsNCiAgICAgICAgICAgIGFyci5zZXRWZXJpZnlIZWxwUHJvcCA9IHZhbHVlOw0KICAgICAgICB9DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgIjAiLCB7DQogICAgICAgICAgICBzZXQ6IGZ1bmN0aW9uICgpIHsgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMoYXJyLCB7DQogICAgICAgICAgICAgICAgIjAiOiB7DQogICAgICAgICAgICAgICAgICAgIHNldDogc2V0X2Z1bg0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgcmV0dXJuIGFjY2Vzc29yUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChhcnIsICIwIiwgdW5kZWZpbmVkLCBzZXRfZnVuLCAic2V0VmVyaWZ5SGVscFByb3AiLCBmYWxzZSwgdHJ1ZSk7DQogICAgICAgIH0gY2F0Y2ggKGV4KSB7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - 'O' is an Array, 'P' is an array index named property that already exists on 'O' is accessor property and 'desc' is accessor descriptor, test updating the [[Set]] attribute value of 'P' with different getter function (15.4.5.1 step 4.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-257.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy02LWEtMjU4LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnTycgaXMgYW4gQXJyYXksICdQJyBpcyBhbiBhcnJheSBpbmRleCBuYW1lZCBwcm9wZXJ0eSB0aGF0IGFscmVhZHkgZXhpc3RzIG9uICdPJyBpcyBhY2Nlc3NvciBwcm9wZXJ0eSBhbmQgJ2Rlc2MnIGlzIGFjY2Vzc29yIGRlc2NyaXB0b3IsIHRlc3Qgc2V0dGluZyB0aGUgW1tTZXRdXSBhdHRyaWJ1dGUgdmFsdWUgb2YgJ1AnIGFzIHVuZGVmaW5lZCAgKDE1LjQuNS4xIHN0ZXAgNC5jKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFyciA9IFtdOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnIsICIwIiwgew0KICAgICAgICAgICAgc2V0OiBmdW5jdGlvbiAoKSB7IH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMoYXJyLCB7DQogICAgICAgICAgICAiMCI6IHsNCiAgICAgICAgICAgICAgICBzZXQ6IHVuZGVmaW5lZA0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCiAgICAgICAgcmV0dXJuIGFjY2Vzc29yUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChhcnIsICIwIiwgdW5kZWZpbmVkLCB1bmRlZmluZWQsIHVuZGVmaW5lZCwgZmFsc2UsIHRydWUpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - 'O' is an Array, 'P' is an array index named property that already exists on 'O' is accessor property and 'desc' is accessor descriptor, test setting the [[Set]] attribute value of 'P' as undefined (15.4.5.1 step 4.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-258.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy02LWEtMjU5LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnTycgaXMgYW4gQXJyYXksICdQJyBpcyBhbiBhcnJheSBpbmRleCBuYW1lZCBwcm9wZXJ0eSB0aGF0IGFscmVhZHkgZXhpc3RzIG9uICdPJyBpcyBhY2Nlc3NvciBwcm9wZXJ0eSBhbmQgJ2Rlc2MnIGlzIGFjY2Vzc29yIGRlc2NyaXB0b3IsIHRlc3QgdXBkYXRpbmcgdGhlIFtbU2V0XV0gYXR0cmlidXRlIHZhbHVlIG9mICdQJyBmcm9tIHVuZGVmaW5lZCB0byBmdW5jdGlvbiAgKDE1LjQuNS4xIHN0ZXAgNC5jKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFyciA9IFtdOw0KDQogICAgICAgIGZ1bmN0aW9uIHNldF9mdW4odmFsdWUpIHsNCiAgICAgICAgICAgIGFyci5zZXRWZXJpZnlIZWxwUHJvcCA9IHZhbHVlOw0KICAgICAgICB9DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnIsICIwIiwgew0KICAgICAgICAgICAgc2V0OiB1bmRlZmluZWQsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKGFyciwgew0KICAgICAgICAgICAgICAgICIwIjogew0KICAgICAgICAgICAgICAgICAgICBzZXQ6IHNldF9mdW4NCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIHJldHVybiBhY2Nlc3NvclByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3QoYXJyLCAiMCIsIHVuZGVmaW5lZCwgc2V0X2Z1biwgInNldFZlcmlmeUhlbHBQcm9wIiwgZmFsc2UsIHRydWUpOw0KICAgICAgICB9IGNhdGNoIChleCkgew0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - 'O' is an Array, 'P' is an array index named property that already exists on 'O' is accessor property and 'desc' is accessor descriptor, test updating the [[Set]] attribute value of 'P' from undefined to function (15.4.5.1 step 4.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-259.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy02LWEtMjYuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydGllcyAtICdQJyBkb2Vzbid0IGV4aXN0IGluICdPJywgdGVzdCAnUCcgaXMgZGVmaW5lZCBhcyBkYXRhIHByb3BlcnR5IHdoZW4gJ2Rlc2MnIGlzIGdlbmVyaWMgZGVzY3JpcHRvciAoOC4xMi45IHN0ZXAgNC5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIHsNCiAgICAgICAgICAgIHByb3A6IHsNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUsDQogICAgICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCiAgICAgICAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgInByb3AiKTsNCg0KICAgICAgICByZXR1cm4gZGVzYy5oYXNPd25Qcm9wZXJ0eSgidmFsdWUiKSAmJiB0eXBlb2YgZGVzYy52YWx1ZSA9PT0gInVuZGVmaW5lZCIgJiYNCiAgICAgICAgICAgIGRlc2MuaGFzT3duUHJvcGVydHkoIndyaXRhYmxlIikgJiYgZGVzYy53cml0YWJsZSA9PT0gZmFsc2UgJiYNCiAgICAgICAgICAgIGRlc2MuaGFzT3duUHJvcGVydHkoImNvbmZpZ3VyYWJsZSIpICYmIGRlc2MuY29uZmlndXJhYmxlID09PSB0cnVlICYmDQogICAgICAgICAgICBkZXNjLmhhc093blByb3BlcnR5KCJlbnVtZXJhYmxlIikgJiYgZGVzYy5lbnVtZXJhYmxlID09PSB0cnVlICYmDQogICAgICAgICAgICAhZGVzYy5oYXNPd25Qcm9wZXJ0eSgiZ2V0IikgJiYgIWRlc2MuaGFzT3duUHJvcGVydHkoInNldCIpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - 'P' doesn't exist in 'O', test 'P' is defined as data property when 'desc' is generic descriptor (8.12.9 step 4.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-26.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy02LWEtMjYwLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnTycgaXMgYW4gQXJyYXksICdQJyBpcyBhbiBhcnJheSBpbmRleCBuYW1lZCBwcm9wZXJ0eSB0aGF0IGFscmVhZHkgZXhpc3RzIG9uICdPJyBpcyBhY2Nlc3NvciBwcm9wZXJ0eSBhbmQgJ2Rlc2MnIGlzIGFjY2Vzc29yIGRlc2NyaXB0b3IsIHRlc3QgdXBkYXRpbmcgdGhlIFtbRW51bWVyYWJsZV1dIGF0dHJpYnV0ZSB2YWx1ZSBvZiAnUCcgICgxNS40LjUuMSBzdGVwIDQuYykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhcnIgPSBbXTsNCg0KICAgICAgICBmdW5jdGlvbiBzZXRfZnVuKHZhbHVlKSB7DQogICAgICAgICAgICBhcnIuc2V0VmVyaWZ5SGVscFByb3AgPSB2YWx1ZTsNCiAgICAgICAgfQ0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyLCAiMCIsIHsNCiAgICAgICAgICAgIHNldDogc2V0X2Z1biwNCiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKGFyciwgew0KICAgICAgICAgICAgICAgICIwIjogew0KICAgICAgICAgICAgICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZQ0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgcmV0dXJuIGFjY2Vzc29yUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChhcnIsICIwIiwgdW5kZWZpbmVkLCBzZXRfZnVuLCAic2V0VmVyaWZ5SGVscFByb3AiLCBmYWxzZSwgdHJ1ZSk7DQogICAgICAgIH0gY2F0Y2ggKGV4KSB7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - 'O' is an Array, 'P' is an array index named property that already exists on 'O' is accessor property and 'desc' is accessor descriptor, test updating the [[Enumerable]] attribute value of 'P' (15.4.5.1 step 4.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-260.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy02LWEtMjYxLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnTycgaXMgYW4gQXJyYXksICdQJyBpcyBhbiBhcnJheSBpbmRleCBuYW1lZCBwcm9wZXJ0eSB0aGF0IGFscmVhZHkgZXhpc3RzIG9uICdPJyBpcyBhY2Nlc3NvciBwcm9wZXJ0eSBhbmQgJ2Rlc2MnIGlzIGFjY2Vzc29yIGRlc2NyaXB0b3IsIHRlc3QgdXBkYXRpbmcgdGhlIFtbQ29uZmlndXJhYmxlXV0gYXR0cmlidXRlIHZhbHVlIG9mICdQJyAgKDE1LjQuNS4xIHN0ZXAgNC5jKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFyciA9IFtdOw0KDQogICAgICAgIGZ1bmN0aW9uIHNldF9mdW4odmFsdWUpIHsNCiAgICAgICAgICAgIGFyci5zZXRWZXJpZnlIZWxwUHJvcCA9IHZhbHVlOw0KICAgICAgICB9DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnIsICIwIiwgew0KICAgICAgICAgICAgc2V0OiBzZXRfZnVuLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhhcnIsIHsNCiAgICAgICAgICAgICAgICAiMCI6IHsNCiAgICAgICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgcmV0dXJuIGFjY2Vzc29yUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChhcnIsICIwIiwgdW5kZWZpbmVkLCBzZXRfZnVuLCAic2V0VmVyaWZ5SGVscFByb3AiLCBmYWxzZSwgZmFsc2UpOw0KICAgICAgICB9IGNhdGNoIChleCkgew0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - 'O' is an Array, 'P' is an array index named property that already exists on 'O' is accessor property and 'desc' is accessor descriptor, test updating the [[Configurable]] attribute value of 'P' (15.4.5.1 step 4.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-261.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy02LWEtMjYyLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnTycgaXMgYW4gQXJyYXksICdQJyBpcyBhbiBhcnJheSBpbmRleCBuYW1lZCBwcm9wZXJ0eSB0aGF0IGFscmVhZHkgZXhpc3RzIG9uICdPJyBpcyBhY2Nlc3NvciBwcm9wZXJ0eSBhbmQgJ2Rlc2MnIGlzIGFjY2Vzc29yIGRlc2NyaXB0b3IsIHRlc3QgdXBkYXRpbmcgbXVsdGlwbGUgYXR0cmlidXRlIHZhbHVlcyBvZiAnUCcgICgxNS40LjUuMSBzdGVwIDQuYykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhcnIgPSBbXTsNCg0KICAgICAgICBmdW5jdGlvbiBnZXRfZnVuKCkgew0KICAgICAgICAgICAgcmV0dXJuIDM2Ow0KICAgICAgICB9DQogICAgICAgIGZ1bmN0aW9uIHNldF9mdW4odmFsdWUpIHsNCiAgICAgICAgICAgIGFyci5zZXRWZXJpZnlIZWxwUHJvcCA9IHZhbHVlOw0KICAgICAgICB9DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnIsICIwIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIDEyOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIHNldDogc2V0X2Z1biwNCiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKGFyciwgew0KICAgICAgICAgICAgICAgICIwIjogew0KICAgICAgICAgICAgICAgICAgICBnZXQ6IGdldF9mdW4sDQogICAgICAgICAgICAgICAgICAgIGVudW1lcmFibGU6IGZhbHNlLA0KICAgICAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICByZXR1cm4gYWNjZXNzb3JQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KGFyciwgIjAiLCBnZXRfZnVuLCBzZXRfZnVuLCAic2V0VmVyaWZ5SGVscFByb3AiLCBmYWxzZSwgZmFsc2UpOw0KICAgICAgICB9IGNhdGNoIChleCkgew0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - 'O' is an Array, 'P' is an array index named property that already exists on 'O' is accessor property and 'desc' is accessor descriptor, test updating multiple attribute values of 'P' (15.4.5.1 step 4.c)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-262.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy02LWEtMjYzLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnTycgaXMgYW4gQXJyYXksICdQJyBpcyBhbiBhcnJheSBpbmRleCBuYW1lZCBwcm9wZXJ0eSwgdGVzdCB0aGUgbGVuZ3RoIHByb3BlcnR5IG9mICdPJyBpcyBub3QgY2hhbmdlZCBpZiBUb1VpbnQzMignUCcpIGlzIGxlc3MgdGhhbiB2YWx1ZSBvZiB0aGUgbGVuZ3RoIHByb3BlcnR5IGluICdPJyAoMTUuNC41LjEgc3RlcCA0LmUpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYXJyID0gW107DQoNCiAgICAgICAgYXJyLmxlbmd0aCA9IDM7IC8vIGRlZmF1bHQgdmFsdWUgb2YgbGVuZ3RoOiB3cml0YWJsZTogdHJ1ZSwgY29uZmlndXJhYmxlOiBmYWxzZSwgZW51bWVyYWJsZTogZmFsc2UNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhhcnIsIHsNCiAgICAgICAgICAgICIxIjogew0KICAgICAgICAgICAgICAgIHZhbHVlOiAyNg0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCiAgICAgICAgcmV0dXJuIGFyci5sZW5ndGggPT09IDMgJiYgYXJyWzFdID09PSAyNjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - 'O' is an Array, 'P' is an array index named property, test the length property of 'O' is not changed if ToUint32('P') is less than value of the length property in 'O' (15.4.5.1 step 4.e)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-263.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy02LWEtMjY0LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnTycgaXMgYW4gQXJyYXksICdQJyBpcyBhbiBhcnJheSBpbmRleCBuYW1lZCBwcm9wZXJ0eSwgdGVzdCB0aGUgbGVuZ3RoIHByb3BlcnR5IG9mICdPJyBpcyBzZXQgYXMgVG9VaW50MzIoJ1AnKSArIDEgaWYgVG9VaW50MzIoJ1AnKSBlcXVhbHMgdG8gdmFsdWUgb2YgdGhlIGxlbmd0aCBwcm9wZXJ0eSBpbiAnTycgKDE1LjQuNS4xIHN0ZXAgNC5lLmlpKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFyciA9IFtdOw0KDQogICAgICAgIGFyci5sZW5ndGggPSAzOyAvLyBkZWZhdWx0IHZhbHVlIG9mIGxlbmd0aDogd3JpdGFibGU6IHRydWUsIGNvbmZpZ3VyYWJsZTogZmFsc2UsIGVudW1lcmFibGU6IGZhbHNlDQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMoYXJyLCB7DQogICAgICAgICAgICAiMyI6IHsNCiAgICAgICAgICAgICAgICB2YWx1ZTogMjYNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQogICAgICAgIHJldHVybiBhcnIubGVuZ3RoID09PSA0ICYmIGFyclszXSA9PT0gMjY7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - 'O' is an Array, 'P' is an array index named property, test the length property of 'O' is set as ToUint32('P') + 1 if ToUint32('P') equals to value of the length property in 'O' (15.4.5.1 step 4.e.ii)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-264.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy02LWEtMjY1LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnTycgaXMgYW4gQXJyYXksICdQJyBpcyBhbiBhcnJheSBpbmRleCBuYW1lZCBwcm9wZXJ0eSwgdGVzdCB0aGUgbGVuZ3RoIHByb3BlcnR5IG9mICdPJyBpcyBzZXQgYXMgVG9VaW50MzIoJ1AnKSArIDEgaWYgVG9VaW50MzIoJ1AnKSBpcyBncmVhdGVyIHRoYW4gdmFsdWUgb2YgdGhlIGxlbmd0aCBwcm9wZXJ0eSBpbiAnTycgKDE1LjQuNS4xIHN0ZXAgNC5lLmlpKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFyciA9IFtdOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKGFyciwgew0KICAgICAgICAgICAgIjUiOiB7DQogICAgICAgICAgICAgICAgdmFsdWU6IDI2DQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KICAgICAgICByZXR1cm4gYXJyLmxlbmd0aCA9PT0gNiAmJiBhcnJbNV0gPT09IDI2Ow0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - 'O' is an Array, 'P' is an array index named property, test the length property of 'O' is set as ToUint32('P') + 1 if ToUint32('P') is greater than value of the length property in 'O' (15.4.5.1 step 4.e.ii)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-265.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy02LWEtMjY2LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnTycgaXMgYW4gQXJyYXksICdQJyBpcyBnZW5lcmljIHByb3BlcnR5IHRoYXQgd29uJ3QgZXhpc3Qgb24gJ08nLCBhbmQgJ2Rlc2MnIGlzIGRhdGEgZGVzY3JpcHRvciwgdGVzdCAnUCcgaXMgZGVmaW5lZCBpbiAnTycgd2l0aCBhbGwgY29ycmVjdCBhdHRyaWJ1dGUgdmFsdWVzICgxNS40LjUuMSBzdGVwIDUpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYXJyID0gW107DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMoYXJyLCB7DQogICAgICAgICAgICAicHJvcGVydHkiOiB7DQogICAgICAgICAgICAgICAgdmFsdWU6IDEyLA0KICAgICAgICAgICAgICAgIHdyaXRhYmxlOiB0cnVlLA0KICAgICAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KICAgICAgICByZXR1cm4gZGF0YVByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3QoYXJyLCAicHJvcGVydHkiLCAxMiwgdHJ1ZSwgdHJ1ZSwgdHJ1ZSkgJiYgYXJyLmxlbmd0aCA9PT0gMDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - 'O' is an Array, 'P' is generic property that won't exist on 'O', and 'desc' is data descriptor, test 'P' is defined in 'O' with all correct attribute values (15.4.5.1 step 5)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-266.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy02LWEtMjY3LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnTycgaXMgYW4gQXJyYXksICdQJyBpcyBnZW5lcmljIHByb3BlcnR5LCBhbmQgJ2Rlc2MnIGlzIGFjY2Vzc29yIGRlc2NyaXB0b3IsIHRlc3QgJ1AnIGlzIGRlZmluZWQgaW4gJ08nIHdpdGggYWxsIGNvcnJlY3QgYXR0cmlidXRlIHZhbHVlcyAoMTUuNC41LjEgc3RlcCA1KQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFyciA9IFtdOw0KDQogICAgICAgIGZ1bmN0aW9uIGdldF9mdW4oKSB7DQogICAgICAgICAgICByZXR1cm4gMTI7DQogICAgICAgIH0NCiAgICAgICAgZnVuY3Rpb24gc2V0X2Z1bih2YWx1ZSkgew0KICAgICAgICAgICAgYXJyLnNldFZlcmlmeUhlbHBQcm9wID0gdmFsdWU7DQogICAgICAgIH0NCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhhcnIsIHsNCiAgICAgICAgICAgICJwcm9wZXJ0eSI6IHsNCiAgICAgICAgICAgICAgICBnZXQ6IGdldF9mdW4sDQogICAgICAgICAgICAgICAgc2V0OiBzZXRfZnVuLA0KICAgICAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KICAgICAgICByZXR1cm4gYWNjZXNzb3JQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KGFyciwgInByb3BlcnR5IiwgZ2V0X2Z1biwgc2V0X2Z1biwgInNldFZlcmlmeUhlbHBQcm9wIiwgdHJ1ZSwgdHJ1ZSkgJiYNCiAgICAgICAgICAgIGFyci5sZW5ndGggPT09IDA7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - 'O' is an Array, 'P' is generic property, and 'desc' is accessor descriptor, test 'P' is defined in 'O' with all correct attribute values (15.4.5.1 step 5)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-267.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy02LWEtMjY4LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnTycgaXMgYW4gQXJyYXksICdQJyBpcyBnZW5lcmljIG93biBhY2Nlc3NvciBwcm9wZXJ0eSBvZiAnTycsIGFuZCAnZGVzYycgaXMgYWNjZXNzb3IgZGVzY3JpcHRvciwgdGVzdCB1cGRhdGluZyBtdWx0aXBsZSBhdHRyaWJ1dGUgdmFsdWVzIG9mICdQJyAoMTUuNC41LjEgc3RlcCA1KQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBhcnIgPSBbXTsNCiAgICAgICAgZnVuY3Rpb24gZ2V0X2Z1bigpIHsNCiAgICAgICAgICAgIHJldHVybiAxMjsNCiAgICAgICAgfQ0KICAgICAgICBmdW5jdGlvbiBzZXRfZnVuKHZhbHVlKSB7DQogICAgICAgICAgICBhcnIudmVyaWZ5U2V0RnVuID0gdmFsdWU7DQogICAgICAgIH0NCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgInByb3BlcnR5Iiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIDM2Ow0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMoYXJyLCB7DQogICAgICAgICAgICAicHJvcGVydHkiOiB7DQogICAgICAgICAgICAgICAgZ2V0OiBnZXRfZnVuLA0KICAgICAgICAgICAgICAgIHNldDogc2V0X2Z1biwNCiAgICAgICAgICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZQ0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCiAgICAgICAgcmV0dXJuIGFjY2Vzc29yUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChhcnIsICJwcm9wZXJ0eSIsIGdldF9mdW4sIHNldF9mdW4sICJ2ZXJpZnlTZXRGdW4iLCBmYWxzZSwgdHJ1ZSk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - 'O' is an Array, 'P' is generic own accessor property of 'O', and 'desc' is accessor descriptor, test updating multiple attribute values of 'P' (15.4.5.1 step 5)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-268.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy02LWEtMjY5LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnTycgaXMgYW4gQXJyYXksICdQJyBpcyBnZW5lcmljIG93biBkYXRhIHByb3BlcnR5IG9mICdPJywgYW5kICdkZXNjJyBpcyBkYXRhIGRlc2NyaXB0b3IsIHRlc3QgdXBkYXRpbmcgbXVsdGlwbGUgYXR0cmlidXRlIHZhbHVlcyBvZiAnUCcgKDE1LjQuNS4xIHN0ZXAgNSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhcnIgPSBbXTsNCiAgICAgICAgYXJyLnByb3BlcnR5ID0gMTI7IC8vIGRlZmF1bHQgdmFsdWUgb2YgYXR0cmlidXRlczogd3JpdGFibGU6IHRydWUsIGNvbmZpZ3VyYWJsZTogdHJ1ZSwgZW51bWVyYWJsZTogdHJ1ZQ0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKGFyciwgew0KICAgICAgICAgICAgInByb3BlcnR5Ijogew0KICAgICAgICAgICAgICAgIHdyaXRhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KICAgICAgICByZXR1cm4gZGF0YVByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3QoYXJyLCAicHJvcGVydHkiLCAxMiwgZmFsc2UsIGZhbHNlLCBmYWxzZSkgJiYgYXJyLmxlbmd0aCA9PT0gMDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - 'O' is an Array, 'P' is generic own data property of 'O', and 'desc' is data descriptor, test updating multiple attribute values of 'P' (15.4.5.1 step 5)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-269.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy02LWEtMjcuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydGllcyAtICdQJyBkb2Vzbid0IGV4aXN0IGluICdPJywgdGVzdCBbW1ZhbHVlXV0gb2YgJ1AnIGlzIHNldCBhcyB1bmRlZmluZWQgdmFsdWUgaWYgYWJzZW50IGluIGRhdGEgZGVzY3JpcHRvciAnZGVzYycgKDguMTIuOSBzdGVwIDQuYS5pKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIHsNCiAgICAgICAgICAgIHByb3A6IHsNCiAgICAgICAgICAgICAgICB3cml0YWJsZTogdHJ1ZQ0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcCIpOw0KDQogICAgICAgIHJldHVybiBkZXNjLmhhc093blByb3BlcnR5KCJ2YWx1ZSIpICYmIHR5cGVvZiBkZXNjLnZhbHVlID09PSAidW5kZWZpbmVkIiAmJg0KICAgICAgICAgICAgZGVzYy5oYXNPd25Qcm9wZXJ0eSgid3JpdGFibGUiKSAmJiBkZXNjLndyaXRhYmxlID09PSB0cnVlICYmDQogICAgICAgICAgICBkZXNjLmhhc093blByb3BlcnR5KCJjb25maWd1cmFibGUiKSAmJiBkZXNjLmNvbmZpZ3VyYWJsZSA9PT0gZmFsc2UgJiYNCiAgICAgICAgICAgIGRlc2MuaGFzT3duUHJvcGVydHkoImVudW1lcmFibGUiKSAmJiBkZXNjLmVudW1lcmFibGUgPT09IGZhbHNlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - 'P' doesn't exist in 'O', test [[Value]] of 'P' is set as undefined value if absent in data descriptor 'desc' (8.12.9 step 4.a.i)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-27.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy02LWEtMjcwLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnTycgaXMgYW4gQXJyYXksICdQJyBpcyBnZW5lcmljIG93biBkYXRhIHByb3BlcnR5IG9mICdPJywgdGVzdCBUeXBlRXJyb3IgaXMgdGhyb3duIHdoZW4gdXBkYXRpbmcgdGhlIFtbVmFsdWVdXSBhdHRyaWJ1dGUgdmFsdWUgb2YgJ1AnIHdoaWNoIGlzIGRlZmluZWQgYXMgdW53cml0YWJsZSBhbmQgbm9uLWNvbmZpZ3VyYWJsZSAoMTUuNC41LjEgc3RlcCA1KQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFyciA9IFtdOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnIsICJwcm9wZXJ0eSIsIHsNCiAgICAgICAgICAgIHZhbHVlOiAxMg0KICAgICAgICB9KTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMoYXJyLCB7DQogICAgICAgICAgICAgICAgInByb3BlcnR5Ijogew0KICAgICAgICAgICAgICAgICAgICB2YWx1ZTogMzYNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZXgpIHsNCiAgICAgICAgICAgIHJldHVybiAoZXggaW5zdGFuY2VvZiBUeXBlRXJyb3IpICYmIGRhdGFQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KGFyciwgInByb3BlcnR5IiwgMTIsIGZhbHNlLCBmYWxzZSwgZmFsc2UpOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - 'O' is an Array, 'P' is generic own data property of 'O', test TypeError is thrown when updating the [[Value]] attribute value of 'P' which is defined as unwritable and non-configurable (15.4.5.1 step 5)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-270.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy02LWEtMjcxLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSdPJyBpcyBhbiBBcnJheSwgJ1AnIGlzIGdlbmVyaWMgb3duIGRhdGEgcHJvcGVydHkgb2YgJ08nLCB0ZXN0IFR5cGVFcnJvciBpcyB0aHJvd24gd2hlbiB1cGRhdGluZyB0aGUgW1tXcml0YWJsZV1dIGF0dHJpYnV0ZSB2YWx1ZSBvZiAnUCcgd2hpY2ggaXMgZGVmaW5lZCBhcyBub24tY29uZmlndXJhYmxlICgxNS40LjUuMSBzdGVwIDUpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYXJyID0gW107DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgInByb3BlcnR5Iiwgew0KICAgICAgICAgICAgd3JpdGFibGU6IGZhbHNlDQogICAgICAgIH0pOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhhcnIsIHsNCiAgICAgICAgICAgICAgICAicHJvcGVydHkiOiB7DQogICAgICAgICAgICAgICAgICAgIHdyaXRhYmxlOiB0cnVlDQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGV4KSB7DQogICAgICAgICAgICByZXR1cm4gKGV4IGluc3RhbmNlb2YgVHlwZUVycm9yKSAmJiBkYXRhUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChhcnIsICJwcm9wZXJ0eSIsIHVuZGVmaW5lZCwgZmFsc2UsIGZhbHNlLCBmYWxzZSk7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties -'O' is an Array, 'P' is generic own data property of 'O', test TypeError is thrown when updating the [[Writable]] attribute value of 'P' which is defined as non-configurable (15.4.5.1 step 5)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-271.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy02LWEtMjcyLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnTycgaXMgYW4gQXJyYXksICdQJyBpcyBnZW5lcmljIG93biBkYXRhIHByb3BlcnR5IG9mICdPJywgdGVzdCBUeXBlRXJyb3IgaXMgdGhyb3duIHdoZW4gdXBkYXRpbmcgdGhlIFtbRW51bWVyYWJsZV1dIGF0dHJpYnV0ZSB2YWx1ZSBvZiAnUCcgd2hpY2ggaXMgZGVmaW5lZCBhcyBub24tY29uZmlndXJhYmxlICgxNS40LjUuMSBzdGVwIDUpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYXJyID0gW107DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgInByb3BlcnR5Iiwgew0KICAgICAgICAgICAgdmFsdWU6IDEyLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogZmFsc2UNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKGFyciwgew0KICAgICAgICAgICAgICAgICJwcm9wZXJ0eSI6IHsNCiAgICAgICAgICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChleCkgew0KICAgICAgICAgICAgcmV0dXJuIChleCBpbnN0YW5jZW9mIFR5cGVFcnJvcikgJiYgZGF0YVByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3QoYXJyLCAicHJvcGVydHkiLCAxMiwgZmFsc2UsIGZhbHNlLCBmYWxzZSk7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - 'O' is an Array, 'P' is generic own data property of 'O', test TypeError is thrown when updating the [[Enumerable]] attribute value of 'P' which is defined as non-configurable (15.4.5.1 step 5)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-272.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy02LWEtMjczLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnTycgaXMgYW4gQXJyYXksICdQJyBpcyBnZW5lcmljIG93biBkYXRhIHByb3BlcnR5IG9mICdPJywgdGVzdCBUeXBlRXJyb3IgaXMgdGhyb3duIHdoZW4gdXBkYXRpbmcgdGhlIFtbQ29uZmlndXJhYmxlXV0gYXR0cmlidXRlIHZhbHVlIG9mICdQJyB3aGljaCBpcyBkZWZpbmVkIGFzIG5vbi1jb25maWd1cmFibGUgKDE1LjQuNS4xIHN0ZXAgNSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhcnIgPSBbXTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyLCAicHJvcGVydHkiLCB7DQogICAgICAgICAgICB2YWx1ZTogMTINCiAgICAgICAgfSk7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKGFyciwgew0KICAgICAgICAgICAgICAgICJwcm9wZXJ0eSI6IHsNCiAgICAgICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGV4KSB7DQogICAgICAgICAgICByZXR1cm4gKGV4IGluc3RhbmNlb2YgVHlwZUVycm9yKSAmJiBkYXRhUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChhcnIsICJwcm9wZXJ0eSIsIDEyLCBmYWxzZSwgZmFsc2UsIGZhbHNlKTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - 'O' is an Array, 'P' is generic own data property of 'O', test TypeError is thrown when updating the [[Configurable]] attribute value of 'P' which is defined as non-configurable (15.4.5.1 step 5)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-273.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy02LWEtMjc0LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnTycgaXMgYW4gQXJyYXksICdQJyBpcyBnZW5lcmljIG93biBhY2Nlc3NvciBwcm9wZXJ0eSBvZiAnTycsIHRlc3QgVHlwZUVycm9yIGlzIHRocm93biB3aGVuIHVwZGF0aW5nIHRoZSBbW0dldF1dIGF0dHJpYnV0ZSB2YWx1ZSBvZiAnUCcgd2hpY2ggaXMgZGVmaW5lZCBhcyBub24tY29uZmlndXJhYmxlICgxNS40LjUuMSBzdGVwIDUpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIGFyciA9IFtdOw0KDQogICAgICAgIGZ1bmN0aW9uIGdldF9mdW4oKSB7DQogICAgICAgICAgICByZXR1cm4gMzc7DQogICAgICAgIH0NCiAgICAgICAgZnVuY3Rpb24gc2V0X2Z1bih2YWx1ZSkgew0KICAgICAgICAgICAgYXJyLnZlcmlmeVNldEZ1biA9IHZhbHVlOw0KICAgICAgICB9DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnIsICJwcm9wZXJ0eSIsIHsNCiAgICAgICAgICAgIGdldDogZ2V0X2Z1biwNCiAgICAgICAgICAgIHNldDogc2V0X2Z1bg0KICAgICAgICB9KTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMoYXJyLCB7DQogICAgICAgICAgICAgICAgInByb3BlcnR5Ijogew0KICAgICAgICAgICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiAzNjsNCiAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChleCkgew0KICAgICAgICAgICAgcmV0dXJuIChleCBpbnN0YW5jZW9mIFR5cGVFcnJvcikgJiYNCiAgICAgICAgICAgICAgICBhY2Nlc3NvclByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3QoYXJyLCAicHJvcGVydHkiLCBnZXRfZnVuLCBzZXRfZnVuLCAidmVyaWZ5U2V0RnVuIiwgZmFsc2UsIGZhbHNlKTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - 'O' is an Array, 'P' is generic own accessor property of 'O', test TypeError is thrown when updating the [[Get]] attribute value of 'P' which is defined as non-configurable (15.4.5.1 step 5)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-274.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy02LWEtMjc1LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnTycgaXMgYW4gQXJyYXksICdQJyBpcyBnZW5lcmljIG93biBhY2Nlc3NvciBwcm9wZXJ0eSBvZiAnTycsIHRlc3QgVHlwZUVycm9yIGlzIHRocm93biB3aGVuIHVwZGF0aW5nIHRoZSBbW1NldF1dIGF0dHJpYnV0ZSB2YWx1ZSBvZiAnUCcgd2hpY2ggaXMgZGVmaW5lZCBhcyBub24tY29uZmlndXJhYmxlICgxNS40LjUuMSBzdGVwIDUpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYXJyID0gW107DQoNCiAgICAgICAgZnVuY3Rpb24gc2V0X2Z1bih2YWx1ZSkgew0KICAgICAgICAgICAgYXJyLnNldFZlcmlmeUhlbHBQcm9wID0gdmFsdWU7DQogICAgICAgIH0NCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgInByb3BlcnR5Iiwgew0KICAgICAgICAgICAgc2V0OiBzZXRfZnVuDQogICAgICAgIH0pOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhhcnIsIHsNCiAgICAgICAgICAgICAgICAicHJvcGVydHkiOiB7DQogICAgICAgICAgICAgICAgICAgIHNldDogZnVuY3Rpb24gKCkgeyB9DQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGV4KSB7DQogICAgICAgICAgICByZXR1cm4gKGV4IGluc3RhbmNlb2YgVHlwZUVycm9yKSAmJiBhY2Nlc3NvclByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3QoYXJyLCAicHJvcGVydHkiLCB1bmRlZmluZWQsIHNldF9mdW4sICJzZXRWZXJpZnlIZWxwUHJvcCIsIGZhbHNlLCBmYWxzZSk7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - 'O' is an Array, 'P' is generic own accessor property of 'O', test TypeError is thrown when updating the [[Set]] attribute value of 'P' which is defined as non-configurable (15.4.5.1 step 5)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-275.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy02LWEtMjc2LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnTycgaXMgYW4gQXJyYXksICdQJyBpcyBnZW5lcmljIG93biBhY2Nlc3NvciBwcm9wZXJ0eSBvZiAnTycsIHRlc3QgVHlwZUVycm9yIGlzIHRocm93biB3aGVuIHVwZGF0aW5nIHRoZSBbW0VudW1lcmFibGVdXSBhdHRyaWJ1dGUgdmFsdWUgb2YgJ1AnIHdoaWNoIGlzIGRlZmluZWQgYXMgbm9uLWNvbmZpZ3VyYWJsZSAoMTUuNC41LjEgc3RlcCA1KQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFyciA9IFtdOw0KDQogICAgICAgIGZ1bmN0aW9uIHNldF9mdW4odmFsdWUpIHsNCiAgICAgICAgICAgIGFyci5zZXRWZXJpZnlIZWxwUHJvcCA9IHZhbHVlOw0KICAgICAgICB9DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnIsICJwcm9wZXJ0eSIsIHsNCiAgICAgICAgICAgIHNldDogc2V0X2Z1biwNCiAgICAgICAgICAgIGVudW1lcmFibGU6IGZhbHNlDQogICAgICAgIH0pOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhhcnIsIHsNCiAgICAgICAgICAgICAgICAicHJvcGVydHkiOiB7DQogICAgICAgICAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZXgpIHsNCiAgICAgICAgICAgIHJldHVybiAoZXggaW5zdGFuY2VvZiBUeXBlRXJyb3IpICYmIGFjY2Vzc29yUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChhcnIsICJwcm9wZXJ0eSIsIHVuZGVmaW5lZCwgc2V0X2Z1biwgInNldFZlcmlmeUhlbHBQcm9wIiwgZmFsc2UsIGZhbHNlKTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - 'O' is an Array, 'P' is generic own accessor property of 'O', test TypeError is thrown when updating the [[Enumerable]] attribute value of 'P' which is defined as non-configurable (15.4.5.1 step 5)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-276.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy02LWEtMjc3LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnTycgaXMgYW4gQXJyYXksICdQJyBpcyBnZW5lcmljIG93biBhY2Nlc3NvciBwcm9wZXJ0eSBvZiAnTycsIHRlc3QgVHlwZUVycm9yIGlzIHRocm93biB3aGVuIHVwZGF0aW5nIHRoZSBbW0NvbmZpZ3VyYWJsZV1dIGF0dHJpYnV0ZSB2YWx1ZSBvZiAnUCcgd2hpY2ggaXMgZGVmaW5lZCBhcyBub24tY29uZmlndXJhYmxlICgxNS40LjUuMSBzdGVwIDUpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYXJyID0gW107DQoNCiAgICAgICAgZnVuY3Rpb24gc2V0X2Z1bih2YWx1ZSkgew0KICAgICAgICAgICAgYXJyLnNldFZlcmlmeUhlbHBQcm9wID0gdmFsdWU7DQogICAgICAgIH0NCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgInByb3BlcnR5Iiwgew0KICAgICAgICAgICAgc2V0OiBzZXRfZnVuLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMoYXJyLCB7DQogICAgICAgICAgICAgICAgInByb3BlcnR5Ijogew0KICAgICAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZXgpIHsNCiAgICAgICAgICAgIHJldHVybiAoZXggaW5zdGFuY2VvZiBUeXBlRXJyb3IpICYmIGFjY2Vzc29yUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChhcnIsICJwcm9wZXJ0eSIsIHVuZGVmaW5lZCwgc2V0X2Z1biwgInNldFZlcmlmeUhlbHBQcm9wIiwgZmFsc2UsIGZhbHNlKTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - 'O' is an Array, 'P' is generic own accessor property of 'O', test TypeError is thrown when updating the [[Configurable]] attribute value of 'P' which is defined as non-configurable (15.4.5.1 step 5)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-277.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy02LWEtMjc4LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnTycgaXMgYW4gQXJndW1lbnRzIG9iamVjdCwgJ1AnIGlzIG93biBwcm9wZXJ0eSB3aGljaCBpcyBldmVyIGRlZmluZWQgaW4gYm90aCBbW1BhcmFtZXRlck1hcF1dIG9mICdPJyBhbmQgJ08nLCBhbmQgaXMgZGVsZXRlZCBhZnRlcndhcmRzLCBhbmQgJ2Rlc2MnIGlzIGRhdGEgZGVzY3JpcHRvciwgdGVzdCAnUCcgaXMgcmVkZWZpbmVkIGluICdPJyB3aXRoIGFsbCBjb3JyZWN0IGF0dHJpYnV0ZSB2YWx1ZXMgKDEwLjYgW1tEZWZpbmVPd25Qcm9wZXJ0eV1dIHN0ZXAgMykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhcmc7DQoNCiAgICAgICAgKGZ1bmN0aW9uIGZ1bihhLCBiLCBjKSB7DQogICAgICAgICAgICBhcmcgPSBhcmd1bWVudHM7DQogICAgICAgIH0oMCwgMSwgMikpOw0KDQogICAgICAgIGRlbGV0ZSBhcmdbMF07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMoYXJnLCB7DQogICAgICAgICAgICAiMCI6IHsNCiAgICAgICAgICAgICAgICB2YWx1ZTogMTAsDQogICAgICAgICAgICAgICAgd3JpdGFibGU6IHRydWUsDQogICAgICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQoNCiAgICAgICAgcmV0dXJuIGRhdGFQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KGFyZywgIjAiLCAxMCwgdHJ1ZSwgdHJ1ZSwgdHJ1ZSk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - 'O' is an Arguments object, 'P' is own property which is ever defined in both [[ParameterMap]] of 'O' and 'O', and is deleted afterwards, and 'desc' is data descriptor, test 'P' is redefined in 'O' with all correct attribute values (10.6 [[DefineOwnProperty]] step 3)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-278.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy02LWEtMjc5LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnTycgaXMgYW4gQXJndW1lbnRzIG9iamVjdCwgJ1AnIGlzIG93biBwcm9wZXJ0eSB3aGljaCBpcyBldmVyIGRlZmluZWQgaW4gYm90aCBbW1BhcmFtZXRlck1hcF1dIG9mICdPJyBhbmQgJ08nLCBhbmQgaXMgZGVsZXRlZCBhZnRlcndhcmRzLCBhbmQgJ2Rlc2MnIGlzIGFjY2Vzc29yIGRlc2NyaXB0b3IsIHRlc3QgJ1AnIGlzIHJlZGVmaW5lZCBpbiAnTycgd2l0aCBhbGwgY29ycmVjdCBhdHRyaWJ1dGUgdmFsdWVzICgxMC42IFtbRGVmaW5lT3duUHJvcGVydHldXSBzdGVwIDMpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYXJnOw0KDQogICAgICAgIChmdW5jdGlvbiBmdW4oYSwgYiwgYykgew0KICAgICAgICAgICAgYXJnID0gYXJndW1lbnRzOw0KICAgICAgICB9KDAsIDEsIDIpKTsNCg0KICAgICAgICBkZWxldGUgYXJnWzBdOw0KDQogICAgICAgIGZ1bmN0aW9uIGdldF9mdW5jKCkgew0KICAgICAgICAgICAgcmV0dXJuIDEwOw0KICAgICAgICB9DQogICAgICAgIGZ1bmN0aW9uIHNldF9mdW5jKHZhbHVlKSB7DQogICAgICAgICAgICBhcmcuc2V0VmVyaWZ5SGVscFByb3AgPSB2YWx1ZTsNCiAgICAgICAgfQ0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKGFyZywgew0KICAgICAgICAgICAgIjAiOiB7DQogICAgICAgICAgICAgICAgZ2V0OiBnZXRfZnVuYywNCiAgICAgICAgICAgICAgICBzZXQ6IHNldF9mdW5jLA0KICAgICAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KDQogICAgICAgIHJldHVybiBhY2Nlc3NvclByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3QoYXJnLCAiMCIsIGdldF9mdW5jLCBzZXRfZnVuYywgInNldFZlcmlmeUhlbHBQcm9wIiwgdHJ1ZSwgdHJ1ZSk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - 'O' is an Arguments object, 'P' is own property which is ever defined in both [[ParameterMap]] of 'O' and 'O', and is deleted afterwards, and 'desc' is accessor descriptor, test 'P' is redefined in 'O' with all correct attribute values (10.6 [[DefineOwnProperty]] step 3)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-279.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy02LWEtMjguanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydGllcyAtICdQJyBkb2Vzbid0IGV4aXN0IGluICdPJywgdGVzdCBbW1dyaXRhYmxlXV0gb2YgJ1AnIGlzIHNldCBhcyBmYWxzZSB2YWx1ZSBpZiBhYnNlbnQgaW4gZGF0YSBkZXNjcmlwdG9yICdkZXNjJyAoOC4xMi45IHN0ZXAgNC5hLmkpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgew0KICAgICAgICAgICAgcHJvcDogew0KICAgICAgICAgICAgICAgIHZhbHVlOiAxMDAxDQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KICAgICAgICBvYmoucHJvcCA9IDEwMDI7DQogICAgICAgIHJldHVybiBvYmouaGFzT3duUHJvcGVydHkoInByb3AiKSAmJiBvYmoucHJvcCA9PT0gMTAwMTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - 'P' doesn't exist in 'O', test [[Writable]] of 'P' is set as false value if absent in data descriptor 'desc' (8.12.9 step 4.a.i)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-28.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy02LWEtMjgwLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnTycgaXMgYW4gQXJndW1lbnRzIG9iamVjdCwgJ1AnIGlzIG93biBhY2Nlc3NvciBwcm9wZXJ0eSBvZiAnTycgd2hpY2ggaXMgYWxzbyBkZWZpbmVkIGluIFtbUGFyYW1ldGVyTWFwXV0gb2YgJ08nLCBhbmQgJ2Rlc2MnIGlzIGFjY2Vzc29yIGRlc2NyaXB0b3IsIHRlc3QgdXBkYXRpbmcgbXVsdGlwbGUgYXR0cmlidXRlIHZhbHVlcyBvZiAnUCcgKDEwLjYgW1tEZWZpbmVPd25Qcm9wZXJ0eV1dIHN0ZXAgMykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhcmc7DQoNCiAgICAgICAgKGZ1bmN0aW9uIGZ1bihhLCBiLCBjKSB7DQogICAgICAgICAgICBhcmcgPSBhcmd1bWVudHM7DQogICAgICAgIH0gKDAsIDEsIDIpKTsNCg0KICAgICAgICBmdW5jdGlvbiBnZXRfZnVuYzEoKSB7DQogICAgICAgICAgICByZXR1cm4gMTA7DQogICAgICAgIH0NCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJnLCAiMCIsIHsNCiAgICAgICAgICAgIGdldDogZ2V0X2Z1bmMxLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBmdW5jdGlvbiBnZXRfZnVuYzIoKSB7DQogICAgICAgICAgICByZXR1cm4gMjA7DQogICAgICAgIH0NCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhhcmcsIHsNCiAgICAgICAgICAgICIwIjogew0KICAgICAgICAgICAgICAgIGdldDogZ2V0X2Z1bmMyLA0KICAgICAgICAgICAgICAgIGVudW1lcmFibGU6IGZhbHNlLA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGFyZywgIjAiKTsNCiAgICAgICAgcmV0dXJuIGRlc2MuZ2V0ID09PSBnZXRfZnVuYzIgJiYgdHlwZW9mIGRlc2Muc2V0ID09PSAidW5kZWZpbmVkIiAmJg0KICAgICAgICAgICAgZGVzYy5jb25maWd1cmFibGUgPT09IGZhbHNlICYmIGRlc2MuZW51bWVyYWJsZSA9PT0gZmFsc2U7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - 'O' is an Arguments object, 'P' is own accessor property of 'O' which is also defined in [[ParameterMap]] of 'O', and 'desc' is accessor descriptor, test updating multiple attribute values of 'P' (10.6 [[DefineOwnProperty]] step 3)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-280.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy02LWEtMjgxLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnTycgaXMgYW4gQXJndW1lbnRzIG9iamVjdCwgJ1AnIGlzIG93biBkYXRhIHByb3BlcnR5IG9mICdPJyB3aGljaCBpcyBhbHNvIGRlZmluZWQgaW4gW1tQYXJhbWV0ZXJNYXBdXSBvZiAnTycsIGFuZCAnZGVzYycgaXMgZGF0YSBkZXNjcmlwdG9yLCB0ZXN0IHVwZGF0aW5nIG11bHRpcGxlIGF0dHJpYnV0ZSB2YWx1ZXMgb2YgJ1AnICgxMC42IFtbRGVmaW5lT3duUHJvcGVydHldXSBzdGVwIDMpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYXJnOw0KDQogICAgICAgIChmdW5jdGlvbiBmdW4oYSwgYiwgYykgew0KICAgICAgICAgICAgYXJnID0gYXJndW1lbnRzOw0KICAgICAgICB9KDAsIDEsIDIpKTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhhcmcsIHsNCiAgICAgICAgICAgICIwIjogew0KICAgICAgICAgICAgICAgIHZhbHVlOiAyMCwNCiAgICAgICAgICAgICAgICB3cml0YWJsZTogZmFsc2UsDQogICAgICAgICAgICAgICAgZW51bWVyYWJsZTogZmFsc2UsDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCg0KICAgICAgICByZXR1cm4gZGF0YVByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3QoYXJnLCAiMCIsIDIwLCBmYWxzZSwgZmFsc2UsIGZhbHNlKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - 'O' is an Arguments object, 'P' is own data property of 'O' which is also defined in [[ParameterMap]] of 'O', and 'desc' is data descriptor, test updating multiple attribute values of 'P' (10.6 [[DefineOwnProperty]] step 3)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-281.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy02LWEtMjgyLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnTycgaXMgYW4gQXJndW1lbnRzIG9iamVjdCwgJ1AnIGlzIG93biBkYXRhIHByb3BlcnR5IG9mICdPJyB3aGljaCBpcyBhbHNvIGRlZmluZWQgaW4gW1tQYXJhbWV0ZXJNYXBdXSBvZiAnTycsIHRlc3QgVHlwZUVycm9yIGlzIHRocm93biB3aGVuIHVwZGF0aW5nIHRoZSBbW1ZhbHVlXV0gYXR0cmlidXRlIHZhbHVlIG9mICdQJyB3aG9zZSB3cml0YWJsZSBhbmQgY29uZmlndXJhYmxlIGF0dHJpYnV0ZXMgYXJlIGZhbHNlICgxMC42IFtbRGVmaW5lT3duUHJvcGVydHldXSBzdGVwIDQpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYXJnOw0KDQogICAgICAgIChmdW5jdGlvbiBmdW4oYSwgYiwgYykgew0KICAgICAgICAgICAgYXJnID0gYXJndW1lbnRzOw0KICAgICAgICB9KDAsIDEsIDIpKTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJnLCAiMCIsIHsNCiAgICAgICAgICAgIHZhbHVlOiAwLA0KICAgICAgICAgICAgd3JpdGFibGU6IGZhbHNlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMoYXJnLCB7DQogICAgICAgICAgICAgICAgIjAiOiB7DQogICAgICAgICAgICAgICAgICAgIHZhbHVlOiAxMA0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiAoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikgJiYgZGF0YVByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3QoYXJnLCAiMCIsIDAsIGZhbHNlLCB0cnVlLCBmYWxzZSk7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - 'O' is an Arguments object, 'P' is own data property of 'O' which is also defined in [[ParameterMap]] of 'O', test TypeError is thrown when updating the [[Value]] attribute value of 'P' whose writable and configurable attributes are false (10.6 [[DefineOwnProperty]] step 4)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-282.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy02LWEtMjgzLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnTycgaXMgYW4gQXJndW1lbnRzIG9iamVjdCwgJ1AnIGlzIG93biBkYXRhIHByb3BlcnR5IG9mICdPJyB3aGljaCBpcyBhbHNvIGRlZmluZWQgaW4gW1tQYXJhbWV0ZXJNYXBdXSBvZiAnTycsIHRlc3QgVHlwZUVycm9yIGlzIHRocm93biB3aGVuIHVwZGF0aW5nIHRoZSBbW1dyaXRhYmxlXV0gYXR0cmlidXRlIHZhbHVlIG9mICdQJyB3aGljaCBpcyBkZWZpbmVkIGFzIG5vbi1jb25maWd1cmFibGUgKDEwLjYgW1tEZWZpbmVPd25Qcm9wZXJ0eV1dIHN0ZXAgNCkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhcmc7DQoNCiAgICAgICAgKGZ1bmN0aW9uIGZ1bihhLCBiLCBjKSB7DQogICAgICAgICAgICBhcmcgPSBhcmd1bWVudHM7DQogICAgICAgIH0oMCwgMSwgMikpOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcmcsICIwIiwgew0KICAgICAgICAgICAgdmFsdWU6IDAsDQogICAgICAgICAgICB3cml0YWJsZTogZmFsc2UsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKGFyZywgew0KICAgICAgICAgICAgICAgICIwIjogew0KICAgICAgICAgICAgICAgICAgICB3cml0YWJsZTogdHJ1ZQ0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiAoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikgJiYgZGF0YVByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3QoYXJnLCAiMCIsIDAsIGZhbHNlLCBmYWxzZSwgZmFsc2UpOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - 'O' is an Arguments object, 'P' is own data property of 'O' which is also defined in [[ParameterMap]] of 'O', test TypeError is thrown when updating the [[Writable]] attribute value of 'P' which is defined as non-configurable (10.6 [[DefineOwnProperty]] step 4)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-283.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy02LWEtMjg0LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnTycgaXMgYW4gQXJndW1lbnRzIG9iamVjdCwgJ1AnIGlzIG93biBkYXRhIHByb3BlcnR5IG9mICdPJyB3aGljaCBpcyBhbHNvIGRlZmluZWQgaW4gW1tQYXJhbWV0ZXJNYXBdXSBvZiAnTycsIHRlc3QgVHlwZUVycm9yIGlzIHRocm93biB3aGVuIHVwZGF0aW5nIHRoZSBbW0VudW1lcmFibGVdXSBhdHRyaWJ1dGUgdmFsdWUgb2YgJ1AnIHdoaWNoIGlzIGRlZmluZWQgYXMgbm9uLWNvbmZpZ3VyYWJsZSAoMTAuNiBbW0RlZmluZU93blByb3BlcnR5XV0gc3RlcCA0KQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFyZzsNCg0KICAgICAgICAoZnVuY3Rpb24gZnVuKGEsIGIsIGMpIHsNCiAgICAgICAgICAgIGFyZyA9IGFyZ3VtZW50czsNCiAgICAgICAgfSgwLCAxLCAyKSk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyZywgIjAiLCB7DQogICAgICAgICAgICB2YWx1ZTogMCwNCiAgICAgICAgICAgIHdyaXRhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgIH0pOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhhcmcsIHsNCiAgICAgICAgICAgICAgICAiMCI6IHsNCiAgICAgICAgICAgICAgICAgICAgZW51bWVyYWJsZTogZmFsc2UNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOyAgICAgICAgICANCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIChlIGluc3RhbmNlb2YgVHlwZUVycm9yKSAmJiBkYXRhUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChhcmcsICIwIiwgMCwgZmFsc2UsIHRydWUsIGZhbHNlKTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - 'O' is an Arguments object, 'P' is own data property of 'O' which is also defined in [[ParameterMap]] of 'O', test TypeError is thrown when updating the [[Enumerable]] attribute value of 'P' which is defined as non-configurable (10.6 [[DefineOwnProperty]] step 4)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-284.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy02LWEtMjg1LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnTycgaXMgYW4gQXJndW1lbnRzIG9iamVjdCwgJ1AnIGlzIG93biBkYXRhIHByb3BlcnR5IG9mICdPJyB3aGljaCBpcyBhbHNvIGRlZmluZWQgaW4gW1tQYXJhbWV0ZXJNYXBdXSBvZiAnTycsIHRlc3QgVHlwZUVycm9yIGlzIHRocm93biB3aGVuIHVwZGF0aW5nIHRoZSBbW0NvbmZpZ3VyYWJsZV1dIGF0dHJpYnV0ZSB2YWx1ZSBvZiAnUCcgd2hpY2ggaXMgZGVmaW5lZCBhcyBub24tY29uZmlndXJhYmxlICgxMC42IFtbRGVmaW5lT3duUHJvcGVydHldXSBzdGVwIDQpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYXJnOw0KDQogICAgICAgIChmdW5jdGlvbiBmdW4oYSwgYiwgYykgew0KICAgICAgICAgICAgYXJnID0gYXJndW1lbnRzOw0KICAgICAgICB9KDAsIDEsIDIpKTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJnLCAiMCIsIHsNCiAgICAgICAgICAgIHZhbHVlOiAwLA0KICAgICAgICAgICAgd3JpdGFibGU6IGZhbHNlLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogZmFsc2UsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgIH0pOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhhcmcsIHsNCiAgICAgICAgICAgICAgICAiMCI6IHsNCiAgICAgICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsgDQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiAoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikgJiYgZGF0YVByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3QoYXJnLCAiMCIsIDAsIGZhbHNlLCBmYWxzZSwgZmFsc2UpOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - 'O' is an Arguments object, 'P' is own data property of 'O' which is also defined in [[ParameterMap]] of 'O', test TypeError is thrown when updating the [[Configurable]] attribute value of 'P' which is defined as non-configurable (10.6 [[DefineOwnProperty]] step 4)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-285.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy02LWEtMjg2LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnTycgaXMgYW4gQXJndW1lbnRzIG9iamVjdCwgJ1AnIGlzIG93biBhY2Nlc3NvciBwcm9wZXJ0eSBvZiAnTycgd2hpY2ggaXMgYWxzbyBkZWZpbmVkIGluIFtbUGFyYW1ldGVyTWFwXV0gb2YgJ08nLCB0ZXN0IFR5cGVFcnJvciBpcyB0aHJvd24gd2hlbiB1cGRhdGluZyB0aGUgW1tHZXRdXSBhdHRyaWJ1dGUgdmFsdWUgb2YgJ1AnIHdoaWNoIGlzIGRlZmluZWQgYXMgbm9uLWNvbmZpZ3VyYWJsZSAoMTAuNiBbW0RlZmluZU93blByb3BlcnR5XV0gc3RlcCA0KQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFyZzsNCg0KICAgICAgICAoZnVuY3Rpb24gZnVuKGEsIGIsIGMpIHsNCiAgICAgICAgICAgIGFyZyA9IGFyZ3VtZW50czsNCiAgICAgICAgfSAoMCwgMSwgMikpOw0KDQogICAgICAgIGZ1bmN0aW9uIGdldF9mdW5jMSgpIHsNCiAgICAgICAgICAgIHJldHVybiAwOw0KICAgICAgICB9DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyZywgIjAiLCB7DQogICAgICAgICAgICBnZXQ6IGdldF9mdW5jMSwNCiAgICAgICAgICAgIGVudW1lcmFibGU6IGZhbHNlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBmdW5jdGlvbiBnZXRfZnVuYzIoKSB7DQogICAgICAgICAgICByZXR1cm4gMTA7DQogICAgICAgIH0NCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKGFyZywgew0KICAgICAgICAgICAgICAgICIwIjogew0KICAgICAgICAgICAgICAgICAgICBnZXQ6IGdldF9mdW5jMg0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihhcmcsICIwIik7DQogICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFR5cGVFcnJvciAmJiBkZXNjLmdldCA9PT0gZ2V0X2Z1bmMxICYmIHR5cGVvZiBkZXNjLnNldCA9PT0gInVuZGVmaW5lZCIgJiYNCiAgICAgICAgICAgICAgICBkZXNjLmVudW1lcmFibGUgPT09IGZhbHNlICYmIGRlc2MuY29uZmlndXJhYmxlID09PSBmYWxzZTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - 'O' is an Arguments object, 'P' is own accessor property of 'O' which is also defined in [[ParameterMap]] of 'O', test TypeError is thrown when updating the [[Get]] attribute value of 'P' which is defined as non-configurable (10.6 [[DefineOwnProperty]] step 4)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-286.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy02LWEtMjg3LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnTycgaXMgYW4gQXJndW1lbnRzIG9iamVjdCwgJ1AnIGlzIG93biBhY2Nlc3NvciBwcm9wZXJ0eSBvZiAnTycgd2hpY2ggaXMgYWxzbyBkZWZpbmVkIGluIFtbUGFyYW1ldGVyTWFwXV0gb2YgJ08nLCB0ZXN0IFR5cGVFcnJvciBpcyB0aHJvd24gd2hlbiB1cGRhdGluZyB0aGUgW1tTZXRdXSBhdHRyaWJ1dGUgdmFsdWUgb2YgJ1AnIHdoaWNoIGlzIGRlZmluZWQgYXMgbm9uLWNvbmZpZ3VyYWJsZSAoMTAuNiBbW0RlZmluZU93blByb3BlcnR5XV0gc3RlcCA0KQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFyZzsNCg0KICAgICAgICAoZnVuY3Rpb24gZnVuKGEsIGIsIGMpIHsNCiAgICAgICAgICAgIGFyZyA9IGFyZ3VtZW50czsNCiAgICAgICAgfSgwLCAxLCAyKSk7DQoNCiAgICAgICAgZnVuY3Rpb24gZ2V0X2Z1bmMoKSB7DQogICAgICAgICAgICByZXR1cm4gMDsNCiAgICAgICAgfQ0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcmcsICIwIiwgew0KICAgICAgICAgICAgZ2V0OiBnZXRfZnVuYywNCiAgICAgICAgICAgIHNldDogdW5kZWZpbmVkLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogZmFsc2UsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgIH0pOw0KDQogICAgICAgIGZ1bmN0aW9uIHNldF9mdW5jKHZhbHVlKSB7DQogICAgICAgICAgICBhcmcuc2V0VmVyaWZ5SGVscFByb3AgPSB2YWx1ZTsNCiAgICAgICAgfQ0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMoYXJnLCB7DQogICAgICAgICAgICAgICAgIjAiOiB7DQogICAgICAgICAgICAgICAgICAgIHNldDogc2V0X2Z1bmMNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoYXJnLCAiMCIpOw0KICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IgJiYgZGVzYy5nZXQgPT09IGdldF9mdW5jICYmIHR5cGVvZiBkZXNjLnNldCA9PT0gInVuZGVmaW5lZCIgJiYNCiAgICAgICAgICAgICAgICBkZXNjLmVudW1lcmFibGUgPT09IGZhbHNlICYmIGRlc2MuY29uZmlndXJhYmxlID09PSBmYWxzZTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - 'O' is an Arguments object, 'P' is own accessor property of 'O' which is also defined in [[ParameterMap]] of 'O', test TypeError is thrown when updating the [[Set]] attribute value of 'P' which is defined as non-configurable (10.6 [[DefineOwnProperty]] step 4)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-287.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy02LWEtMjg4LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnTycgaXMgYW4gQXJndW1lbnRzIG9iamVjdCwgJ1AnIGlzIG93biBhY2Nlc3NvciBwcm9wZXJ0eSBvZiAnTycgd2hpY2ggaXMgYWxzbyBkZWZpbmVkIGluIFtbUGFyYW1ldGVyTWFwXV0gb2YgJ08nLCB0ZXN0IFR5cGVFcnJvciBpcyB0aHJvd24gd2hlbiB1cGRhdGluZyB0aGUgW1tFbnVtZXJhYmxlXV0gYXR0cmlidXRlIHZhbHVlIG9mICdQJyB3aGljaCBpcyBkZWZpbmVkIGFzIG5vbi1jb25maWd1cmFibGUgKDEwLjYgW1tEZWZpbmVPd25Qcm9wZXJ0eV1dIHN0ZXAgNCkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhcmc7DQoNCiAgICAgICAgKGZ1bmN0aW9uIGZ1bihhLCBiLCBjKSB7DQogICAgICAgICAgICBhcmcgPSBhcmd1bWVudHM7DQogICAgICAgIH0oMCwgMSwgMikpOw0KDQogICAgICAgIGZ1bmN0aW9uIGdldF9mdW5jKCkgew0KICAgICAgICAgICAgcmV0dXJuIDA7DQogICAgICAgIH0NCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJnLCAiMCIsIHsNCiAgICAgICAgICAgIGdldDogZ2V0X2Z1bmMsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMoYXJnLCB7DQogICAgICAgICAgICAgICAgIjAiOiB7DQogICAgICAgICAgICAgICAgICAgIGVudW1lcmFibGU6IGZhbHNlDQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIChlIGluc3RhbmNlb2YgVHlwZUVycm9yKSAmJiBhY2Nlc3NvclByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3QoYXJnLCAiMCIsIGdldF9mdW5jLCB1bmRlZmluZWQsIHVuZGVmaW5lZCwgdHJ1ZSwgZmFsc2UpOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - 'O' is an Arguments object, 'P' is own accessor property of 'O' which is also defined in [[ParameterMap]] of 'O', test TypeError is thrown when updating the [[Enumerable]] attribute value of 'P' which is defined as non-configurable (10.6 [[DefineOwnProperty]] step 4)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-288.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy02LWEtMjg5LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnTycgaXMgYW4gQXJndW1lbnRzIG9iamVjdCwgJ1AnIGlzIG93biBhY2Nlc3NvciBwcm9wZXJ0eSBvZiAnTycgd2hpY2ggaXMgYWxzbyBkZWZpbmVkIGluIFtbUGFyYW1ldGVyTWFwXV0gb2YgJ08nLCB0ZXN0IFR5cGVFcnJvciBpcyB0aHJvd24gd2hlbiB1cGRhdGluZyB0aGUgW1tDb25maWd1cmFibGVdXSBhdHRyaWJ1dGUgdmFsdWUgb2YgJ1AnIHdoaWNoIGlzIGRlZmluZWQgYXMgbm9uLWNvbmZpZ3VyYWJsZSAoMTAuNiBbW0RlZmluZU93blByb3BlcnR5XV0gc3RlcCA0KQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFyZzsNCg0KICAgICAgICAoZnVuY3Rpb24gZnVuKGEsIGIsIGMpIHsNCiAgICAgICAgICAgIGFyZyA9IGFyZ3VtZW50czsNCiAgICAgICAgfSgwLCAxLCAyKSk7DQoNCiAgICAgICAgZnVuY3Rpb24gZ2V0X2Z1bmMoKSB7DQogICAgICAgICAgICByZXR1cm4gMDsNCiAgICAgICAgfQ0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcmcsICIwIiwgew0KICAgICAgICAgICAgZ2V0OiBnZXRfZnVuYywNCiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgIH0pOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhhcmcsIHsNCiAgICAgICAgICAgICAgICAiMCI6IHsNCiAgICAgICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIChlIGluc3RhbmNlb2YgVHlwZUVycm9yKSAmJiBhY2Nlc3NvclByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3QoYXJnLCAiMCIsIGdldF9mdW5jLCB1bmRlZmluZWQsIHVuZGVmaW5lZCwgdHJ1ZSwgZmFsc2UpOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - 'O' is an Arguments object, 'P' is own accessor property of 'O' which is also defined in [[ParameterMap]] of 'O', test TypeError is thrown when updating the [[Configurable]] attribute value of 'P' which is defined as non-configurable (10.6 [[DefineOwnProperty]] step 4)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-289.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy02LWEtMjkuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydGllcyAtICdQJyBkb2Vzbid0IGV4aXN0IGluICdPJywgdGVzdCBbW0VudW1lcmFibGVdXSBvZiAnUCcgaXMgc2V0IGFzIGZhbHNlIHZhbHVlIGlmIGFic2VudCBpbiBkYXRhIGRlc2NyaXB0b3IgJ2Rlc2MnICg4LjEyLjkgc3RlcCA0LmEuaSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMob2JqLCB7DQogICAgICAgICAgICBwcm9wOiB7IHZhbHVlOiAxMDAxfQ0KICAgICAgICB9KTsNCg0KICAgICAgICBmb3IgKHZhciBwcm9wIGluIG9iaikgew0KICAgICAgICAgICAgaWYgKG9iai5oYXNPd25Qcm9wZXJ0eShwcm9wKSkgew0KICAgICAgICAgICAgICAgIGlmIChwcm9wID09PSAicHJvcCIpIHsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KICAgICAgICByZXR1cm4gdHJ1ZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - 'P' doesn't exist in 'O', test [[Enumerable]] of 'P' is set as false value if absent in data descriptor 'desc' (8.12.9 step 4.a.i)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-29.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy02LWEtMjkwLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnTycgaXMgYW4gQXJndW1lbnRzIG9iamVjdCwgJ1AnIGlzIGFuIGFycmF5IGluZGV4IG5hbWVkIHByb3BlcnR5IG9mICdPJyBidXQgbm90IGRlZmluZWQgaW4gW1tQYXJhbWV0ZXJNYXBdXSBvZiAnTycsIGFuZCAnZGVzYycgaXMgZGF0YSBkZXNjcmlwdG9yLCB0ZXN0ICdQJyBpcyBkZWZpbmVkIGluICdPJyB3aXRoIGFsbCBjb3JyZWN0IGF0dHJpYnV0ZSB2YWx1ZXMgKDEwLjYgW1tEZWZpbmVPd25Qcm9wZXJ0eV1dIHN0ZXAgMykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhcmc7DQoNCiAgICAgICAgKGZ1bmN0aW9uIGZ1bigpIHsNCiAgICAgICAgICAgIGFyZyA9IGFyZ3VtZW50czsNCiAgICAgICAgfSgwLCAxLCAyKSk7DQoNCiAgICAgICAgZGVsZXRlIGFyZ1swXTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhhcmcsIHsNCiAgICAgICAgICAgICIwIjogew0KICAgICAgICAgICAgICAgIHZhbHVlOiAxMCwNCiAgICAgICAgICAgICAgICB3cml0YWJsZTogZmFsc2UsDQogICAgICAgICAgICAgICAgZW51bWVyYWJsZTogZmFsc2UsDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCg0KICAgICAgICByZXR1cm4gZGF0YVByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3QoYXJnLCAiMCIsIDEwLCBmYWxzZSwgZmFsc2UsIGZhbHNlKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - 'O' is an Arguments object, 'P' is an array index named property of 'O' but not defined in [[ParameterMap]] of 'O', and 'desc' is data descriptor, test 'P' is defined in 'O' with all correct attribute values (10.6 [[DefineOwnProperty]] step 3)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-290.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy02LWEtMjkxLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnTycgaXMgYW4gQXJndW1lbnRzIG9iamVjdCwgJ1AnIGlzIGFuIGFycmF5IGluZGV4IG5hbWVkIHByb3BlcnR5IG9mICdPJyBidXQgbm90IGRlZmluZWQgaW4gW1tQYXJhbWV0ZXJNYXBdXSBvZiAnTycsIGFuZCAnZGVzYycgaXMgYWNjZXNzb3IgZGVzY3JpcHRvciwgdGVzdCAnUCcgaXMgZGVmaW5lZCBpbiAnTycgd2l0aCBhbGwgY29ycmVjdCBhdHRyaWJ1dGUgdmFsdWVzICgxMC42IFtbRGVmaW5lT3duUHJvcGVydHldXSBzdGVwIDMpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYXJnOw0KDQogICAgICAgIChmdW5jdGlvbiBmdW4oKSB7DQogICAgICAgICAgICBhcmcgPSBhcmd1bWVudHM7DQogICAgICAgIH0oMCwgMSwgMikpOw0KDQogICAgICAgIGRlbGV0ZSBhcmdbMF07DQoNCiAgICAgICAgZnVuY3Rpb24gZ2V0X2Z1bmMoKSB7DQogICAgICAgICAgICByZXR1cm4gMTA7DQogICAgICAgIH0NCiAgICAgICAgZnVuY3Rpb24gc2V0X2Z1bmModmFsdWUpIHsNCiAgICAgICAgICAgIGFyZy5zZXRWZXJpZnlIZWxwUHJvcCA9IHZhbHVlOw0KICAgICAgICB9DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMoYXJnLCB7DQogICAgICAgICAgICAiMCI6IHsNCiAgICAgICAgICAgICAgICBnZXQ6IGdldF9mdW5jLA0KICAgICAgICAgICAgICAgIHNldDogc2V0X2Z1bmMsDQogICAgICAgICAgICAgICAgZW51bWVyYWJsZTogZmFsc2UsDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCg0KICAgICAgICByZXR1cm4gYWNjZXNzb3JQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KGFyZywgIjAiLCBnZXRfZnVuYywgc2V0X2Z1bmMsICJzZXRWZXJpZnlIZWxwUHJvcCIsIGZhbHNlLCBmYWxzZSk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - 'O' is an Arguments object, 'P' is an array index named property of 'O' but not defined in [[ParameterMap]] of 'O', and 'desc' is accessor descriptor, test 'P' is defined in 'O' with all correct attribute values (10.6 [[DefineOwnProperty]] step 3)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-291.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy02LWEtMjkyLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnTycgaXMgYW4gQXJndW1lbnRzIG9iamVjdCwgJ1AnIGlzIGFuIGFycmF5IGluZGV4IG5hbWVkIGFjY2Vzc29yIHByb3BlcnR5IG9mICdPJyBidXQgbm90IGRlZmluZWQgaW4gW1tQYXJhbWV0ZXJNYXBdXSBvZiAnTycsIGFuZCAnZGVzYycgaXMgYWNjZXNzb3IgZGVzY3JpcHRvciwgdGVzdCB1cGRhdGluZyBtdWx0aXBsZSBhdHRyaWJ1dGUgdmFsdWVzIG9mICdQJyAoMTAuNiBbW0RlZmluZU93blByb3BlcnR5XV0gc3RlcCAzKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFyZzsNCg0KICAgICAgICAoZnVuY3Rpb24gZnVuKCkgew0KICAgICAgICAgICAgYXJnID0gYXJndW1lbnRzOw0KICAgICAgICB9KDAsIDEsIDIpKTsNCg0KICAgICAgICBmdW5jdGlvbiBnZXRfZnVuYzEoKSB7DQogICAgICAgICAgICByZXR1cm4gMTA7DQogICAgICAgIH0NCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJnLCAiMCIsIHsNCiAgICAgICAgICAgIGdldDogZ2V0X2Z1bmMxLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBmdW5jdGlvbiBnZXRfZnVuYzIoKSB7DQogICAgICAgICAgICByZXR1cm4gMjA7DQogICAgICAgIH0NCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhhcmcsIHsNCiAgICAgICAgICAgICIwIjogew0KICAgICAgICAgICAgICAgIGdldDogZ2V0X2Z1bmMyLA0KICAgICAgICAgICAgICAgIGVudW1lcmFibGU6IGZhbHNlLA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQoNCiAgICAgICAgcmV0dXJuIGFjY2Vzc29yUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChhcmcsICIwIiwgZ2V0X2Z1bmMyLCB1bmRlZmluZWQsIHVuZGVmaW5lZCwgZmFsc2UsIGZhbHNlKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - 'O' is an Arguments object, 'P' is an array index named accessor property of 'O' but not defined in [[ParameterMap]] of 'O', and 'desc' is accessor descriptor, test updating multiple attribute values of 'P' (10.6 [[DefineOwnProperty]] step 3)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-292.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy02LWEtMjkzLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnTycgaXMgYW4gQXJndW1lbnRzIG9iamVjdCwgJ1AnIGlzIGFuIGFycmF5IGluZGV4IG5hbWVkIGRhdGEgcHJvcGVydHkgb2YgJ08nIGJ1dCBub3QgZGVmaW5lZCBpbiBbW1BhcmFtZXRlck1hcF1dIG9mICdPJywgYW5kICdkZXNjJyBpcyBkYXRhIGRlc2NyaXB0b3IsIHRlc3QgdXBkYXRpbmcgbXVsdGlwbGUgYXR0cmlidXRlIHZhbHVlcyBvZiAnUCcgKDEwLjYgW1tEZWZpbmVPd25Qcm9wZXJ0eV1dIHN0ZXAgMykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhcmc7DQoNCiAgICAgICAgKGZ1bmN0aW9uIGZ1bigpIHsNCiAgICAgICAgICAgIGFyZyA9IGFyZ3VtZW50czsNCiAgICAgICAgfSgwLCAxLCAyKSk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMoYXJnLCB7DQogICAgICAgICAgICAiMCI6IHsNCiAgICAgICAgICAgICAgICB2YWx1ZTogMjAsDQogICAgICAgICAgICAgICAgd3JpdGFibGU6IGZhbHNlLA0KICAgICAgICAgICAgICAgIGVudW1lcmFibGU6IGZhbHNlLA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQoNCiAgICAgICAgcmV0dXJuIGRhdGFQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KGFyZywgIjAiLCAyMCwgZmFsc2UsIGZhbHNlLCBmYWxzZSk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - 'O' is an Arguments object, 'P' is an array index named data property of 'O' but not defined in [[ParameterMap]] of 'O', and 'desc' is data descriptor, test updating multiple attribute values of 'P' (10.6 [[DefineOwnProperty]] step 3)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-293.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy02LWEtMjk0LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnTycgaXMgYW4gQXJndW1lbnRzIG9iamVjdCwgJ1AnIGlzIGFuIGFycmF5IGluZGV4IG5hbWVkIGRhdGEgcHJvcGVydHkgb2YgJ08nIGJ1dCBub3QgZGVmaW5lZCBpbiBbW1BhcmFtZXRlck1hcF1dIG9mICdPJywgdGVzdCBUeXBlRXJyb3IgaXMgdGhyb3duIHdoZW4gdXBkYXRpbmcgdGhlIFtbVmFsdWVdXSBhdHRyaWJ1dGUgdmFsdWUgb2YgJ1AnIHdoaWNoIGlzIG5vdCB3cml0YWJsZSBhbmQgbm90IGNvbmZpZ3VyYWJsZSAoMTAuNiBbW0RlZmluZU93blByb3BlcnR5XV0gc3RlcCA0KQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFyZzsNCg0KICAgICAgICAoZnVuY3Rpb24gZnVuKCkgew0KICAgICAgICAgICAgYXJnID0gYXJndW1lbnRzOw0KICAgICAgICB9KCkpOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcmcsICIwIiwgew0KICAgICAgICAgICAgdmFsdWU6IDAsDQogICAgICAgICAgICB3cml0YWJsZTogZmFsc2UsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgIH0pOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhhcmcsIHsNCiAgICAgICAgICAgICAgICAiMCI6IHsNCiAgICAgICAgICAgICAgICAgICAgdmFsdWU6IDEwDQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIChlIGluc3RhbmNlb2YgVHlwZUVycm9yKSAmJiBkYXRhUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChhcmcsICIwIiwgMCwgZmFsc2UsIGZhbHNlLCBmYWxzZSk7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - 'O' is an Arguments object, 'P' is an array index named data property of 'O' but not defined in [[ParameterMap]] of 'O', test TypeError is thrown when updating the [[Value]] attribute value of 'P' which is not writable and not configurable (10.6 [[DefineOwnProperty]] step 4)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-294.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy02LWEtMjk1LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnTycgaXMgYW4gQXJndW1lbnRzIG9iamVjdCwgJ1AnIGlzIGFuIGFycmF5IGluZGV4IG5hbWVkIGRhdGEgcHJvcGVydHkgb2YgJ08nIGJ1dCBub3QgZGVmaW5lZCBpbiBbW1BhcmFtZXRlck1hcF1dIG9mICdPJywgdGVzdCBUeXBlRXJyb3IgaXMgdGhyb3duIHdoZW4gdXBkYXRpbmcgdGhlIFtbV3JpdGFibGVdXSBhdHRyaWJ1dGUgdmFsdWUgb2YgJ1AnIHdoaWNoIGlzIG5vdCBjb25maWd1cmFibGUgKDEwLjYgW1tEZWZpbmVPd25Qcm9wZXJ0eV1dIHN0ZXAgNCkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhcmc7DQoNCiAgICAgICAgKGZ1bmN0aW9uIGZ1bigpIHsNCiAgICAgICAgICAgIGFyZyA9IGFyZ3VtZW50czsNCiAgICAgICAgfSgpKTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJnLCAiMCIsIHsNCiAgICAgICAgICAgIHZhbHVlOiAwLA0KICAgICAgICAgICAgd3JpdGFibGU6IGZhbHNlLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogZmFsc2UsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgIH0pOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhhcmcsIHsNCiAgICAgICAgICAgICAgICAiMCI6IHsNCiAgICAgICAgICAgICAgICAgICAgd3JpdGFibGU6IHRydWUNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpICYmIGRhdGFQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KGFyZywgIjAiLCAwLCBmYWxzZSwgZmFsc2UsIGZhbHNlKTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - 'O' is an Arguments object, 'P' is an array index named data property of 'O' but not defined in [[ParameterMap]] of 'O', test TypeError is thrown when updating the [[Writable]] attribute value of 'P' which is not configurable (10.6 [[DefineOwnProperty]] step 4)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-295.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy02LWEtMjk2LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnTycgaXMgYW4gQXJndW1lbnRzIG9iamVjdCwgJ1AnIGlzIGFuIGFycmF5IGluZGV4IG5hbWVkIGRhdGEgcHJvcGVydHkgb2YgJ08nIGJ1dCBub3QgZGVmaW5lZCBpbiBbW1BhcmFtZXRlck1hcF1dIG9mICdPJywgdGVzdCBUeXBlRXJyb3IgaXMgdGhyb3duIHdoZW4gdXBkYXRpbmcgdGhlIFtbRW51bWVyYWJsZV1dIGF0dHJpYnV0ZSB2YWx1ZSBvZiAnUCcgd2hpY2ggaXMgbm90IGNvbmZpZ3VyYWJsZSAoMTAuNiBbW0RlZmluZU93blByb3BlcnR5XV0gc3RlcCA0KQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFyZzsNCg0KICAgICAgICAoZnVuY3Rpb24gZnVuKCkgew0KICAgICAgICAgICAgYXJnID0gYXJndW1lbnRzOw0KICAgICAgICB9KCkpOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcmcsICIwIiwgew0KICAgICAgICAgICAgdmFsdWU6IDAsDQogICAgICAgICAgICB3cml0YWJsZTogZmFsc2UsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMoYXJnLCB7DQogICAgICAgICAgICAgICAgIjAiOiB7DQogICAgICAgICAgICAgICAgICAgIGVudW1lcmFibGU6IGZhbHNlDQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIChlIGluc3RhbmNlb2YgVHlwZUVycm9yKSAmJiBkYXRhUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChhcmcsICIwIiwgMCwgZmFsc2UsIHRydWUsIGZhbHNlKTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - 'O' is an Arguments object, 'P' is an array index named data property of 'O' but not defined in [[ParameterMap]] of 'O', test TypeError is thrown when updating the [[Enumerable]] attribute value of 'P' which is not configurable (10.6 [[DefineOwnProperty]] step 4)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-296.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy02LWEtMjk3LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnTycgaXMgYW4gQXJndW1lbnRzIG9iamVjdCwgJ1AnIGlzIGFuIGFycmF5IGluZGV4IG5hbWVkIGRhdGEgcHJvcGVydHkgb2YgJ08nIGJ1dCBub3QgZGVmaW5lZCBpbiBbW1BhcmFtZXRlck1hcF1dIG9mICdPJywgdGVzdCBUeXBlRXJyb3IgaXMgdGhyb3duIHdoZW4gdXBkYXRpbmcgdGhlIFtbQ29uZmlndXJhYmxlXV0gYXR0cmlidXRlIHZhbHVlIG9mICdQJyB3aGljaCBpcyBub3QgY29uZmlndXJhYmxlICgxMC42IFtbRGVmaW5lT3duUHJvcGVydHldXSBzdGVwIDQpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYXJnOw0KDQogICAgICAgIChmdW5jdGlvbiBmdW4oKSB7DQogICAgICAgICAgICBhcmcgPSBhcmd1bWVudHM7DQogICAgICAgIH0oKSk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyZywgIjAiLCB7DQogICAgICAgICAgICB2YWx1ZTogMCwNCiAgICAgICAgICAgIHdyaXRhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgIGVudW1lcmFibGU6IGZhbHNlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMoYXJnLCB7DQogICAgICAgICAgICAgICAgIjAiOiB7DQogICAgICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiAoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikgJiYgZGF0YVByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3QoYXJnLCAiMCIsIDAsIGZhbHNlLCBmYWxzZSwgZmFsc2UpOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - 'O' is an Arguments object, 'P' is an array index named data property of 'O' but not defined in [[ParameterMap]] of 'O', test TypeError is thrown when updating the [[Configurable]] attribute value of 'P' which is not configurable (10.6 [[DefineOwnProperty]] step 4)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-297.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy02LWEtMjk4LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnTycgaXMgYW4gQXJndW1lbnRzIG9iamVjdCwgJ1AnIGlzIGFuIGFycmF5IGluZGV4IG5hbWVkIGFjY2Vzc29yIHByb3BlcnR5IG9mICdPJyBidXQgbm90IGRlZmluZWQgaW4gW1tQYXJhbWV0ZXJNYXBdXSBvZiAnTycsIHRlc3QgVHlwZUVycm9yIGlzIHRocm93biB3aGVuIHVwZGF0aW5nIHRoZSBbW0dldF1dIGF0dHJpYnV0ZSB2YWx1ZSBvZiAnUCcgd2hpY2ggaXMgbm90IGNvbmZpZ3VyYWJsZSAoMTAuNiBbW0RlZmluZU93blByb3BlcnR5XV0gc3RlcCA0KQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFyZzsNCg0KICAgICAgICAoZnVuY3Rpb24gZnVuKCkgew0KICAgICAgICAgICAgYXJnID0gYXJndW1lbnRzOw0KICAgICAgICB9KCkpOw0KDQogICAgICAgIGZ1bmN0aW9uIGdldF9mdW5jMSgpIHsNCiAgICAgICAgICAgIHJldHVybiAwOw0KICAgICAgICB9DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyZywgIjAiLCB7DQogICAgICAgICAgICBnZXQ6IGdldF9mdW5jMSwNCiAgICAgICAgICAgIGVudW1lcmFibGU6IGZhbHNlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBmdW5jdGlvbiBnZXRfZnVuYzIoKSB7DQogICAgICAgICAgICByZXR1cm4gMTA7DQogICAgICAgIH0NCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKGFyZywgew0KICAgICAgICAgICAgICAgICIwIjogew0KICAgICAgICAgICAgICAgICAgICBnZXQ6IGdldF9mdW5jMg0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpICYmIGFjY2Vzc29yUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChhcmcsICIwIiwgZ2V0X2Z1bmMxLCB1bmRlZmluZWQsIHVuZGVmaW5lZCwgZmFsc2UsIGZhbHNlKTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - 'O' is an Arguments object, 'P' is an array index named accessor property of 'O' but not defined in [[ParameterMap]] of 'O', test TypeError is thrown when updating the [[Get]] attribute value of 'P' which is not configurable (10.6 [[DefineOwnProperty]] step 4)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-298.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy02LWEtMjk5LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnTycgaXMgYW4gQXJndW1lbnRzIG9iamVjdCwgJ1AnIGlzIGFuIGFycmF5IGluZGV4IG5hbWVkIGFjY2Vzc29yIHByb3BlcnR5IG9mICdPJyBidXQgbm90IGRlZmluZWQgaW4gW1tQYXJhbWV0ZXJNYXBdXSBvZiAnTycsIHRlc3QgVHlwZUVycm9yIGlzIHRocm93biB3aGVuIHVwZGF0aW5nIHRoZSBbW1NldF1dIGF0dHJpYnV0ZSB2YWx1ZSBvZiAnUCcgd2hpY2ggaXMgbm90IGNvbmZpZ3VyYWJsZSAoMTAuNiBbW0RlZmluZU93blByb3BlcnR5XV0gc3RlcCA0KQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFyZzsNCg0KICAgICAgICAoZnVuY3Rpb24gZnVuKCkgew0KICAgICAgICAgICAgYXJnID0gYXJndW1lbnRzOw0KICAgICAgICB9KCkpOw0KDQogICAgICAgIGZ1bmN0aW9uIGdldF9mdW5jKCkgew0KICAgICAgICAgICAgcmV0dXJuIDA7DQogICAgICAgIH0NCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJnLCAiMCIsIHsNCiAgICAgICAgICAgIGdldDogZ2V0X2Z1bmMsDQogICAgICAgICAgICBzZXQ6IHVuZGVmaW5lZCwNCiAgICAgICAgICAgIGVudW1lcmFibGU6IGZhbHNlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBmdW5jdGlvbiBzZXRfZnVuYyh2YWx1ZSkgew0KICAgICAgICAgICAgYXJnLnNldFZlcmlmeUhlbHBQcm9wID0gdmFsdWU7DQogICAgICAgIH0NCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKGFyZywgew0KICAgICAgICAgICAgICAgICIwIjogew0KICAgICAgICAgICAgICAgICAgICBzZXQ6IHNldF9mdW5jDQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiAoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikgJiYgYWNjZXNzb3JQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KGFyZywgIjAiLCBnZXRfZnVuYywgdW5kZWZpbmVkLCB1bmRlZmluZWQsIGZhbHNlLCBmYWxzZSk7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - 'O' is an Arguments object, 'P' is an array index named accessor property of 'O' but not defined in [[ParameterMap]] of 'O', test TypeError is thrown when updating the [[Set]] attribute value of 'P' which is not configurable (10.6 [[DefineOwnProperty]] step 4)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-299.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy02LWEtMy5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ1AnIGlzIG93biBkYXRhIHByb3BlcnR5IHRoYXQgb3ZlcnJpZGVzIGFuIGluaGVyaXRlZCBkYXRhIHByb3BlcnR5ICg4LjEyLjkgc3RlcCAxICkgDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIHByb3RvID0ge307DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShwcm90bywgInByb3AiLCB7DQogICAgICAgICAgICB2YWx1ZTogMTEsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQogICAgICAgIHZhciBDb24gPSBmdW5jdGlvbiAoKSB7IH07DQogICAgICAgIENvbi5wcm90b3R5cGUgPSBwcm90bzsNCg0KICAgICAgICB2YXIgb2JqID0gbmV3IENvbigpOw0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgIHZhbHVlOiAxMiwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgew0KICAgICAgICAgICAgICAgIHByb3A6IHsNCiAgICAgICAgICAgICAgICAgICAgdmFsdWU6IDEzLA0KICAgICAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIChlIGluc3RhbmNlb2YgVHlwZUVycm9yKTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - 'P' is own data property that overrides an inherited data property (8.12.9 step 1 )","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy02LWEtMzAuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydGllcyAtICdQJyBkb2Vzbid0IGV4aXN0IGluICdPJywgdGVzdCBbW0NvbmZpZ3VyYWJsZV1dIG9mICdQJyBpcyBzZXQgYXMgZmFsc2UgdmFsdWUgaWYgYWJzZW50IGluIGRhdGEgZGVzY3JpcHRvciAnZGVzYycgKDguMTIuOSBzdGVwIDQuYS5pKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICAgICAgDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgew0KICAgICAgICAgICAgcHJvcDogeyB2YWx1ZTogMTAwMSB9DQogICAgICAgIH0pOw0KICAgICAgICBkZWxldGUgb2JqLnByb3A7DQogICAgICAgIHJldHVybiBvYmouaGFzT3duUHJvcGVydHkoInByb3AiKSAmJiBvYmoucHJvcCA9PT0gMTAwMTsgICAgICAgIA0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - 'P' doesn't exist in 'O', test [[Configurable]] of 'P' is set as false value if absent in data descriptor 'desc' (8.12.9 step 4.a.i)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-30.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy02LWEtMzAwLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnTycgaXMgYW4gQXJndW1lbnRzIG9iamVjdCwgJ1AnIGlzIGFuIGFycmF5IGluZGV4IG5hbWVkIGFjY2Vzc29yIHByb3BlcnR5IG9mICdPJyBidXQgbm90IGRlZmluZWQgaW4gW1tQYXJhbWV0ZXJNYXBdXSBvZiAnTycsIHRlc3QgVHlwZUVycm9yIGlzIHRocm93biB3aGVuIHVwZGF0aW5nIHRoZSBbW0VudW1lcmFibGVdXSBhdHRyaWJ1dGUgdmFsdWUgb2YgJ1AnIHdoaWNoIGlzIG5vdCBjb25maWd1cmFibGUgKDEwLjYgW1tEZWZpbmVPd25Qcm9wZXJ0eV1dIHN0ZXAgNCkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhcmc7DQoNCiAgICAgICAgKGZ1bmN0aW9uIGZ1bigpIHsNCiAgICAgICAgICAgIGFyZyA9IGFyZ3VtZW50czsNCiAgICAgICAgfSgpKTsNCg0KICAgICAgICBmdW5jdGlvbiBnZXRfZnVuYygpIHsNCiAgICAgICAgICAgIHJldHVybiAwOw0KICAgICAgICB9DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyZywgIjAiLCB7DQogICAgICAgICAgICBnZXQ6IGdldF9mdW5jLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKGFyZywgew0KICAgICAgICAgICAgICAgICIwIjogew0KICAgICAgICAgICAgICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZQ0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpICYmIGFjY2Vzc29yUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChhcmcsICIwIiwgZ2V0X2Z1bmMsIHVuZGVmaW5lZCwgdW5kZWZpbmVkLCB0cnVlLCBmYWxzZSk7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - 'O' is an Arguments object, 'P' is an array index named accessor property of 'O' but not defined in [[ParameterMap]] of 'O', test TypeError is thrown when updating the [[Enumerable]] attribute value of 'P' which is not configurable (10.6 [[DefineOwnProperty]] step 4)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-300.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy02LWEtMzAxLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnTycgaXMgYW4gQXJndW1lbnRzIG9iamVjdCwgJ1AnIGlzIGFuIGFycmF5IGluZGV4IG5hbWVkIGFjY2Vzc29yIHByb3BlcnR5IG9mICdPJyBidXQgbm90IGRlZmluZWQgaW4gW1tQYXJhbWV0ZXJNYXBdXSBvZiAnTycsIHRlc3QgVHlwZUVycm9yIGlzIHRocm93biB3aGVuIHVwZGF0aW5nIHRoZSBbW0NvbmZpZ3VyYWJsZV1dIGF0dHJpYnV0ZSB2YWx1ZSBvZiAnUCcgd2hpY2ggaXMgbm90IGNvbmZpZ3VyYWJsZSAoMTAuNiBbW0RlZmluZU93blByb3BlcnR5XV0gc3RlcCA0KQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFyZzsNCg0KICAgICAgICAoZnVuY3Rpb24gZnVuKCkgew0KICAgICAgICAgICAgYXJnID0gYXJndW1lbnRzOw0KICAgICAgICB9KCkpOw0KDQogICAgICAgIGZ1bmN0aW9uIGdldF9mdW5jKCkgew0KICAgICAgICAgICAgcmV0dXJuIDA7DQogICAgICAgIH0NCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJnLCAiMCIsIHsNCiAgICAgICAgICAgIGdldDogZ2V0X2Z1bmMsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMoYXJnLCB7DQogICAgICAgICAgICAgICAgIjAiOiB7DQogICAgICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpICYmIGFjY2Vzc29yUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChhcmcsICIwIiwgZ2V0X2Z1bmMsIHVuZGVmaW5lZCwgdW5kZWZpbmVkLCB0cnVlLCBmYWxzZSk7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - 'O' is an Arguments object, 'P' is an array index named accessor property of 'O' but not defined in [[ParameterMap]] of 'O', test TypeError is thrown when updating the [[Configurable]] attribute value of 'P' which is not configurable (10.6 [[DefineOwnProperty]] step 4)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-301.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy02LWEtMzAyLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnTycgaXMgYW4gQXJndW1lbnRzIG9iamVjdCwgJ1AnIGlzIGdlbmVyaWMgcHJvcGVydHksIGFuZCAnZGVzYycgaXMgZGF0YSBkZXNjcmlwdG9yLCB0ZXN0ICdQJyBpcyBkZWZpbmVkIGluICdPJyB3aXRoIGFsbCBjb3JyZWN0IGF0dHJpYnV0ZSB2YWx1ZXMgKDEwLjYgW1tEZWZpbmVPd25Qcm9wZXJ0eV1dIHN0ZXAgNCkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgYXJnID0gKGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgIHJldHVybiBhcmd1bWVudHM7DQogICAgICAgIH0oMSwgMiwgMykpOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKGFyZywgew0KICAgICAgICAgICAgImdlbmVyaWNQcm9wZXJ0eSI6IHsNCiAgICAgICAgICAgICAgICB2YWx1ZTogMTAwMSwNCiAgICAgICAgICAgICAgICB3cml0YWJsZTogdHJ1ZSwNCiAgICAgICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCg0KICAgICAgICByZXR1cm4gZGF0YVByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3QoYXJnLCAiZ2VuZXJpY1Byb3BlcnR5IiwgMTAwMSwgdHJ1ZSwgdHJ1ZSwgdHJ1ZSk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - 'O' is an Arguments object, 'P' is generic property, and 'desc' is data descriptor, test 'P' is defined in 'O' with all correct attribute values (10.6 [[DefineOwnProperty]] step 4)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-302.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy02LWEtMzAzLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnTycgaXMgYW4gQXJndW1lbnRzIG9iamVjdCwgJ1AnIGlzIGdlbmVyaWMgcHJvcGVydHksIGFuZCAnZGVzYycgaXMgYWNjZXNzb3IgZGVzY3JpcHRvciwgdGVzdCAnUCcgaXMgZGVmaW5lZCBpbiAnTycgd2l0aCBhbGwgY29ycmVjdCBhdHRyaWJ1dGUgdmFsdWVzICgxMC42IFtbRGVmaW5lT3duUHJvcGVydHldXSBzdGVwIDQpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIGFyZyA9IChmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICByZXR1cm4gYXJndW1lbnRzOw0KICAgICAgICB9KDEsIDIsIDMpKTsNCg0KICAgICAgICBmdW5jdGlvbiBnZXRGdW4oKSB7DQogICAgICAgICAgICByZXR1cm4gImdldEZ1bmN0aW9uU3RyaW5nIjsNCiAgICAgICAgfQ0KICAgICAgICBmdW5jdGlvbiBzZXRGdW4odmFsdWUpIHsNCiAgICAgICAgICAgIGFyZy50ZXN0R2V0RnVuY3Rpb24gPSB2YWx1ZTsNCiAgICAgICAgfQ0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhhcmcsIHsNCiAgICAgICAgICAgICJnZW5lcmljUHJvcGVydHkiOiB7DQogICAgICAgICAgICAgICAgZ2V0OiBnZXRGdW4sDQogICAgICAgICAgICAgICAgc2V0OiBzZXRGdW4sDQogICAgICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQoNCiAgICAgICAgcmV0dXJuIGFjY2Vzc29yUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChhcmcsICJnZW5lcmljUHJvcGVydHkiLCBnZXRGdW4sIHNldEZ1biwgInRlc3RHZXRGdW5jdGlvbiIsIHRydWUsIHRydWUpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - 'O' is an Arguments object, 'P' is generic property, and 'desc' is accessor descriptor, test 'P' is defined in 'O' with all correct attribute values (10.6 [[DefineOwnProperty]] step 4)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-303.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy02LWEtMzA0LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnTycgaXMgYW4gQXJndW1lbnRzIG9iamVjdCwgJ1AnIGlzIGdlbmVyaWMgb3duIGFjY2Vzc29yIHByb3BlcnR5IG9mICdPJywgYW5kICdkZXNjJyBpcyBhY2Nlc3NvciBkZXNjcmlwdG9yLCB0ZXN0IHVwZGF0aW5nIG11bHRpcGxlIGF0dHJpYnV0ZSB2YWx1ZXMgb2YgJ1AnICgxMC42IFtbRGVmaW5lT3duUHJvcGVydHldXSBzdGVwIDQpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIGFyZyA9IChmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICByZXR1cm4gYXJndW1lbnRzOw0KICAgICAgICB9KDEsIDIsIDMpKTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJnLCAiZ2VuZXJpY1Byb3BlcnR5Iiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIDEwMDE7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgc2V0OiBmdW5jdGlvbiAodmFsdWUpIHsNCiAgICAgICAgICAgICAgICBhcmcudGVzdEdldEZ1bmN0aW9uMSA9IHZhbHVlOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgZnVuY3Rpb24gZ2V0RnVuKCkgew0KICAgICAgICAgICAgcmV0dXJuICJnZXRGdW5jdGlvblN0cmluZyI7DQogICAgICAgIH0NCiAgICAgICAgZnVuY3Rpb24gc2V0RnVuKHZhbHVlKSB7DQogICAgICAgICAgICBhcmcudGVzdEdldEZ1bmN0aW9uID0gdmFsdWU7DQogICAgICAgIH0NCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMoYXJnLCB7DQogICAgICAgICAgICAiZ2VuZXJpY1Byb3BlcnR5Ijogew0KICAgICAgICAgICAgICAgIGdldDogZ2V0RnVuLA0KICAgICAgICAgICAgICAgIHNldDogc2V0RnVuLA0KICAgICAgICAgICAgICAgIGVudW1lcmFibGU6IGZhbHNlLA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQoNCiAgICAgICAgcmV0dXJuIGFjY2Vzc29yUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChhcmcsICJnZW5lcmljUHJvcGVydHkiLCBnZXRGdW4sIHNldEZ1biwgInRlc3RHZXRGdW5jdGlvbiIsIGZhbHNlLCBmYWxzZSk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - 'O' is an Arguments object, 'P' is generic own accessor property of 'O', and 'desc' is accessor descriptor, test updating multiple attribute values of 'P' (10.6 [[DefineOwnProperty]] step 4)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-304.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy02LWEtMzA1LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnTycgaXMgYW4gQXJndW1lbnRzIG9iamVjdCwgJ1AnIGlzIGdlbmVyaWMgb3duIGRhdGEgcHJvcGVydHkgb2YgJ08nLCBhbmQgJ2Rlc2MnIGlzIGRhdGEgZGVzY3JpcHRvciwgdGVzdCB1cGRhdGluZyBtdWx0aXBsZSBhdHRyaWJ1dGUgdmFsdWVzIG9mICdQJyAoMTAuNiBbW0RlZmluZU93blByb3BlcnR5XV0gc3RlcCA0KQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBhcmcgPSAoZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgcmV0dXJuIGFyZ3VtZW50czsNCiAgICAgICAgfSgxLCAyLCAzKSk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyZywgImdlbmVyaWNQcm9wZXJ0eSIsIHsNCiAgICAgICAgICAgIHZhbHVlOiAxMDAxLA0KICAgICAgICAgICAgd3JpdGFibGU6IHRydWUsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKGFyZywgew0KICAgICAgICAgICAgImdlbmVyaWNQcm9wZXJ0eSI6IHsNCiAgICAgICAgICAgICAgICB2YWx1ZTogMTAwMiwNCiAgICAgICAgICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KDQogICAgICAgIHJldHVybiBkYXRhUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChhcmcsICJnZW5lcmljUHJvcGVydHkiLCAxMDAyLCB0cnVlLCBmYWxzZSwgZmFsc2UpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - 'O' is an Arguments object, 'P' is generic own data property of 'O', and 'desc' is data descriptor, test updating multiple attribute values of 'P' (10.6 [[DefineOwnProperty]] step 4)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-305.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy02LWEtMzA2LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnTycgaXMgYW4gQXJndW1lbnRzIG9iamVjdCwgJ1AnIGlzIGdlbmVyaWMgb3duIGRhdGEgcHJvcGVydHkgb2YgJ08nLCB0ZXN0IFR5cGVFcnJvciBpcyB0aHJvd24gd2hlbiB1cGRhdGluZyB0aGUgW1tWYWx1ZV1dIGF0dHJpYnV0ZSB2YWx1ZSBvZiAnUCcgd2hpY2ggaXMgbm90IHdyaXRhYmxlIGFuZCBub3QgY29uZmlndXJhYmxlICgxMC42IFtbRGVmaW5lT3duUHJvcGVydHldXSBzdGVwIDQpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIGFyZyA9IChmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICByZXR1cm4gYXJndW1lbnRzOw0KICAgICAgICB9KDEsIDIsIDMpKTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJnLCAiZ2VuZXJpY1Byb3BlcnR5Iiwgew0KICAgICAgICAgICAgdmFsdWU6IDEwMDEsDQogICAgICAgICAgICB3cml0YWJsZTogZmFsc2UsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgIH0pOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhhcmcsIHsNCiAgICAgICAgICAgICAgICAiZ2VuZXJpY1Byb3BlcnR5Ijogew0KICAgICAgICAgICAgICAgICAgICB2YWx1ZTogMTAwMg0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGV4KSB7DQogICAgICAgICAgICByZXR1cm4gZXggaW5zdGFuY2VvZiBUeXBlRXJyb3IgJiYNCiAgICAgICAgICAgICAgICBkYXRhUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChhcmcsICJnZW5lcmljUHJvcGVydHkiLCAxMDAxLCBmYWxzZSwgZmFsc2UsIGZhbHNlKTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - 'O' is an Arguments object, 'P' is generic own data property of 'O', test TypeError is thrown when updating the [[Value]] attribute value of 'P' which is not writable and not configurable (10.6 [[DefineOwnProperty]] step 4)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-306.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy02LWEtMzA3LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnTycgaXMgYW4gQXJndW1lbnRzIG9iamVjdCwgJ1AnIGlzIGdlbmVyaWMgb3duIGRhdGEgcHJvcGVydHkgb2YgJ08nLCB0ZXN0IFR5cGVFcnJvciBpcyB0aHJvd24gd2hlbiB1cGRhdGluZyB0aGUgW1tXcml0YWJsZV1dIGF0dHJpYnV0ZSB2YWx1ZSBvZiAnUCcgd2hpY2ggaXMgbm90IGNvbmZpZ3VyYWJsZSAoMTAuNiBbW0RlZmluZU93blByb3BlcnR5XV0gc3RlcCA0KQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBhcmcgPSAoZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgcmV0dXJuIGFyZ3VtZW50czsNCiAgICAgICAgfSgxLCAyLCAzKSk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyZywgImdlbmVyaWNQcm9wZXJ0eSIsIHsNCiAgICAgICAgICAgIHdyaXRhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKGFyZywgew0KICAgICAgICAgICAgICAgICJnZW5lcmljUHJvcGVydHkiOiB7DQogICAgICAgICAgICAgICAgICAgIHdyaXRhYmxlOiB0cnVlDQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZXgpIHsNCiAgICAgICAgICAgIHJldHVybiBleCBpbnN0YW5jZW9mIFR5cGVFcnJvciAmJg0KICAgICAgICAgICAgICAgIGRhdGFQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KGFyZywgImdlbmVyaWNQcm9wZXJ0eSIsIHVuZGVmaW5lZCwgZmFsc2UsIGZhbHNlLCBmYWxzZSk7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - 'O' is an Arguments object, 'P' is generic own data property of 'O', test TypeError is thrown when updating the [[Writable]] attribute value of 'P' which is not configurable (10.6 [[DefineOwnProperty]] step 4)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-307.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy02LWEtMzA4LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnTycgaXMgYW4gQXJndW1lbnRzIG9iamVjdCwgJ1AnIGlzIGdlbmVyaWMgb3duIGRhdGEgcHJvcGVydHkgb2YgJ08nLCB0ZXN0IFR5cGVFcnJvciBpcyB0aHJvd24gd2hlbiB1cGRhdGluZyB0aGUgW1tFbnVtZXJhYmxlXV0gYXR0cmlidXRlIHZhbHVlIG9mICdQJyB3aGljaCBpcyBub3QgY29uZmlndXJhYmxlICgxMC42IFtbRGVmaW5lT3duUHJvcGVydHldXSBzdGVwIDQpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIGFyZyA9IChmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICByZXR1cm4gYXJndW1lbnRzOw0KICAgICAgICB9KDEsIDIsIDMpKTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJnLCAiZ2VuZXJpY1Byb3BlcnR5Iiwgew0KICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKGFyZywgew0KICAgICAgICAgICAgICAgICJnZW5lcmljUHJvcGVydHkiOiB7DQogICAgICAgICAgICAgICAgICAgIGVudW1lcmFibGU6IGZhbHNlDQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZXgpIHsNCiAgICAgICAgICAgIHJldHVybiBleCBpbnN0YW5jZW9mIFR5cGVFcnJvciAmJg0KICAgICAgICAgICAgICAgIGRhdGFQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KGFyZywgImdlbmVyaWNQcm9wZXJ0eSIsIHVuZGVmaW5lZCwgZmFsc2UsIHRydWUsIGZhbHNlKTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - 'O' is an Arguments object, 'P' is generic own data property of 'O', test TypeError is thrown when updating the [[Enumerable]] attribute value of 'P' which is not configurable (10.6 [[DefineOwnProperty]] step 4)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-308.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy02LWEtMzA5LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnTycgaXMgYW4gQXJndW1lbnRzIG9iamVjdCwgJ1AnIGlzIGdlbmVyaWMgb3duIGRhdGEgcHJvcGVydHkgb2YgJ08nLCB0ZXN0IFR5cGVFcnJvciBpcyB0aHJvd24gd2hlbiB1cGRhdGluZyB0aGUgW1tDb25maWd1cmFibGVdXSBhdHRyaWJ1dGUgdmFsdWUgb2YgJ1AnIHdoaWNoIGlzIG5vdCBjb25maWd1cmFibGUgKDEwLjYgW1tEZWZpbmVPd25Qcm9wZXJ0eV1dIHN0ZXAgNCkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgYXJnID0gKGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgIHJldHVybiBhcmd1bWVudHM7DQogICAgICAgIH0oMSwgMiwgMykpOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcmcsICJnZW5lcmljUHJvcGVydHkiLCB7DQogICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgIH0pOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhhcmcsIHsNCiAgICAgICAgICAgICAgICAiZ2VuZXJpY1Byb3BlcnR5Ijogew0KICAgICAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChleCkgew0KICAgICAgICAgICAgcmV0dXJuIGV4IGluc3RhbmNlb2YgVHlwZUVycm9yICYmDQogICAgICAgICAgICAgICAgZGF0YVByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3QoYXJnLCAiZ2VuZXJpY1Byb3BlcnR5IiwgdW5kZWZpbmVkLCBmYWxzZSwgZmFsc2UsIGZhbHNlKTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - 'O' is an Arguments object, 'P' is generic own data property of 'O', test TypeError is thrown when updating the [[Configurable]] attribute value of 'P' which is not configurable (10.6 [[DefineOwnProperty]] step 4)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-309.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy02LWEtMzEuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydGllcyAtICdkZXNjJyBpcyBkYXRhIGRlc2NyaXB0b3IsIHRlc3Qgc2V0dGluZyBhbGwgYXR0cmlidXRlIHZhbHVlcyBvZiAnUCcgKDguMTIuOSBzdGVwIDQuYS5pKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIHsNCiAgICAgICAgICAgIHByb3A6IHsNCiAgICAgICAgICAgICAgICB2YWx1ZTogMTAwMiwNCiAgICAgICAgICAgICAgICB3cml0YWJsZTogZmFsc2UsDQogICAgICAgICAgICAgICAgZW51bWVyYWJsZTogZmFsc2UsDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCiAgICAgICAgcmV0dXJuIGRhdGFQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KG9iaiwgInByb3AiLCAxMDAyLCBmYWxzZSwgZmFsc2UsIGZhbHNlKTsNCg0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - 'desc' is data descriptor, test setting all attribute values of 'P' (8.12.9 step 4.a.i)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-31.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy02LWEtMzEwLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnTycgaXMgYW4gQXJndW1lbnRzIG9iamVjdCwgJ1AnIGlzIGdlbmVyaWMgb3duIGFjY2Vzc29yIHByb3BlcnR5IG9mICdPJywgdGVzdCBUeXBlRXJyb3IgaXMgdGhyb3duIHdoZW4gdXBkYXRpbmcgdGhlIFtbR2V0XV0gYXR0cmlidXRlIHZhbHVlIG9mICdQJyB3aGljaCBpcyBub3QgY29uZmlndXJhYmxlICgxMC42IFtbRGVmaW5lT3duUHJvcGVydHldXSBzdGVwIDQpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIGFyZyA9IChmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICByZXR1cm4gYXJndW1lbnRzOw0KICAgICAgICB9ICgxLCAyLCAzKSk7DQoNCiAgICAgICAgZnVuY3Rpb24gZ2V0RnVuKCkgew0KICAgICAgICAgICAgcmV0dXJuICJnZW5lcmljUHJvcGVydHlTdHJpbmciOw0KICAgICAgICB9DQogICAgICAgIGZ1bmN0aW9uIHNldEZ1bih2YWx1ZSkgew0KICAgICAgICAgICAgYXJnLnZlcmlmeVNldEZ1biA9IHZhbHVlOw0KICAgICAgICB9DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcmcsICJnZW5lcmljUHJvcGVydHkiLCB7DQogICAgICAgICAgICBnZXQ6IGdldEZ1biwNCiAgICAgICAgICAgIHNldDogc2V0RnVuLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMoYXJnLCB7DQogICAgICAgICAgICAgICAgImdlbmVyaWNQcm9wZXJ0eSI6IHsNCiAgICAgICAgICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gIm92ZXJpZGVHZW5lcmljUHJvcGVydHlTdHJpbmciOw0KICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZXgpIHsNCiAgICAgICAgICAgIHJldHVybiBleCBpbnN0YW5jZW9mIFR5cGVFcnJvciAmJg0KICAgICAgICAgICAgICAgIGFjY2Vzc29yUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChhcmcsICJnZW5lcmljUHJvcGVydHkiLCBnZXRGdW4sIHNldEZ1biwgInZlcmlmeVNldEZ1biIsIGZhbHNlLCBmYWxzZSwgZmFsc2UpOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - 'O' is an Arguments object, 'P' is generic own accessor property of 'O', test TypeError is thrown when updating the [[Get]] attribute value of 'P' which is not configurable (10.6 [[DefineOwnProperty]] step 4)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-310.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy02LWEtMzExLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnTycgaXMgYW4gQXJndW1lbnRzIG9iamVjdCwgJ1AnIGlzIGdlbmVyaWMgb3duIGFjY2Vzc29yIHByb3BlcnR5IG9mICdPJywgdGVzdCBUeXBlRXJyb3IgaXMgdGhyb3duIHdoZW4gdXBkYXRpbmcgdGhlIFtbU2V0XV0gYXR0cmlidXRlIHZhbHVlIG9mICdQJyB3aGljaCBpcyBub3QgY29uZmlndXJhYmxlICgxMC42IFtbRGVmaW5lT3duUHJvcGVydHldXSBzdGVwIDQpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIGFyZyA9IChmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICByZXR1cm4gYXJndW1lbnRzOw0KICAgICAgICB9KDEsIDIsIDMpKTsNCg0KICAgICAgICBmdW5jdGlvbiBzZXRGdW4odmFsdWUpIHsNCiAgICAgICAgICAgIGFyZy5nZW5lcmljUHJvcGVydHlTdHJpbmcgPSB2YWx1ZTsNCiAgICAgICAgfQ0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJnLCAiZ2VuZXJpY1Byb3BlcnR5Iiwgew0KICAgICAgICAgICAgc2V0OiBzZXRGdW4sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgIH0pOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhhcmcsIHsNCiAgICAgICAgICAgICAgICAiZ2VuZXJpY1Byb3BlcnR5Ijogew0KICAgICAgICAgICAgICAgICAgICBzZXQ6IGZ1bmN0aW9uICh2YWx1ZSkgew0KICAgICAgICAgICAgICAgICAgICAgICAgYXJnLmdlbmVyaWNQcm9wZXJ0eVN0cmluZzEgPSB2YWx1ZTsNCiAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGV4KSB7DQogICAgICAgICAgICByZXR1cm4gZXggaW5zdGFuY2VvZiBUeXBlRXJyb3IgJiYNCiAgICAgICAgICAgICAgICBhY2Nlc3NvclByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3QoYXJnLCAiZ2VuZXJpY1Byb3BlcnR5IiwgdW5kZWZpbmVkLCBzZXRGdW4sICJnZW5lcmljUHJvcGVydHlTdHJpbmciLCBmYWxzZSwgZmFsc2UsIGZhbHNlKTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - 'O' is an Arguments object, 'P' is generic own accessor property of 'O', test TypeError is thrown when updating the [[Set]] attribute value of 'P' which is not configurable (10.6 [[DefineOwnProperty]] step 4)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-311.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy02LWEtMzEyLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnTycgaXMgYW4gQXJndW1lbnRzIG9iamVjdCwgJ1AnIGlzIGdlbmVyaWMgb3duIGFjY2Vzc29yIHByb3BlcnR5IG9mICdPJywgdGVzdCBUeXBlRXJyb3IgaXMgdGhyb3duIHdoZW4gdXBkYXRpbmcgdGhlIFtbRW51bWVyYWJsZV1dIGF0dHJpYnV0ZSB2YWx1ZSBvZiAnUCcgd2hpY2ggaXMgbm90IGNvbmZpZ3VyYWJsZSAoMTAuNiBbW0RlZmluZU93blByb3BlcnR5XV0gc3RlcCA0KQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBhcmcgPSAoZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgcmV0dXJuIGFyZ3VtZW50czsNCiAgICAgICAgfSgxLCAyLCAzKSk7DQoNCiAgICAgICAgZnVuY3Rpb24gc2V0RnVuKHZhbHVlKSB7DQogICAgICAgICAgICBhcmcuZ2VuZXJpY1Byb3BlcnR5U3RyaW5nID0gdmFsdWU7DQogICAgICAgIH0NCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyZywgImdlbmVyaWNQcm9wZXJ0eSIsIHsNCiAgICAgICAgICAgIHNldDogc2V0RnVuLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKGFyZywgew0KICAgICAgICAgICAgICAgICJnZW5lcmljUHJvcGVydHkiOiB7DQogICAgICAgICAgICAgICAgICAgIGVudW1lcmFibGU6IGZhbHNlDQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZXgpIHsNCiAgICAgICAgICAgIHJldHVybiBleCBpbnN0YW5jZW9mIFR5cGVFcnJvciAmJg0KICAgICAgICAgICAgICAgIGFjY2Vzc29yUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChhcmcsICJnZW5lcmljUHJvcGVydHkiLCB1bmRlZmluZWQsIHNldEZ1biwgImdlbmVyaWNQcm9wZXJ0eVN0cmluZyIsIHRydWUsIGZhbHNlKTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - 'O' is an Arguments object, 'P' is generic own accessor property of 'O', test TypeError is thrown when updating the [[Enumerable]] attribute value of 'P' which is not configurable (10.6 [[DefineOwnProperty]] step 4)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-312.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy02LWEtMzEzLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnTycgaXMgYW4gQXJndW1lbnRzIG9iamVjdCwgJ1AnIGlzIGdlbmVyaWMgb3duIGFjY2Vzc29yIHByb3BlcnR5IG9mICdPJywgdGVzdCBUeXBlRXJyb3IgaXMgdGhyb3duIHdoZW4gdXBkYXRpbmcgdGhlIFtbQ29uZmlndXJhYmxlXV0gYXR0cmlidXRlIHZhbHVlIG9mICdQJyB3aGljaCBpcyBub3QgY29uZmlndXJhYmxlICgxMC42IFtbRGVmaW5lT3duUHJvcGVydHldXSBzdGVwIDQpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIGFyZyA9IChmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICByZXR1cm4gYXJndW1lbnRzOw0KICAgICAgICB9KDEsIDIsIDMpKTsNCg0KICAgICAgICBmdW5jdGlvbiBzZXRGdW4odmFsdWUpIHsNCiAgICAgICAgICAgIGFyZy5nZW5lcmljUHJvcGVydHlTdHJpbmcgPSB2YWx1ZTsNCiAgICAgICAgfQ0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJnLCAiZ2VuZXJpY1Byb3BlcnR5Iiwgew0KICAgICAgICAgICAgc2V0OiBzZXRGdW4sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgIH0pOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhhcmcsIHsNCiAgICAgICAgICAgICAgICAiZ2VuZXJpY1Byb3BlcnR5Ijogew0KICAgICAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChleCkgew0KICAgICAgICAgICAgcmV0dXJuIGV4IGluc3RhbmNlb2YgVHlwZUVycm9yICYmDQogICAgICAgICAgICAgICAgYWNjZXNzb3JQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KGFyZywgImdlbmVyaWNQcm9wZXJ0eSIsIHVuZGVmaW5lZCwgc2V0RnVuLCAiZ2VuZXJpY1Byb3BlcnR5U3RyaW5nIiwgZmFsc2UsIGZhbHNlLCBmYWxzZSk7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - 'O' is an Arguments object, 'P' is generic own accessor property of 'O', test TypeError is thrown when updating the [[Configurable]] attribute value of 'P' which is not configurable (10.6 [[DefineOwnProperty]] step 4)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-313.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy02LWEtMzE0LmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMgLSAnTycgaXMgYW4gQXJndW1lbnRzIG9iamVjdCwgJ25hbWUnIGlzIG93biBwcm9wZXJ0eSBvZiBbW1BhcmFtZXRlck1hcF1dIG9mICdPJywgdGVzdCAnbmFtZScgaXMgZGVsZXRlZCBpZiAnbmFtZScgaXMgY29uZmlndXJhYmxlIGFuZCAnZGVzYycgaXMgYWNjZXNzb3IgZGVzY3JpcHRvciAoMTAuNiBbW0RlZmluZU93blByb3BlcnR5XV0gc3RlcCA1LmEuaSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgYXJnID0gKGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgIHJldHVybiBhcmd1bWVudHM7DQogICAgICAgIH0oMSwgMiwgMykpOw0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhhcmcsIHsNCiAgICAgICAgICAgICIwIjogew0KICAgICAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICAgICAgICAgIHJldHVybiAxMjsNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KDQogICAgICAgIHJldHVybiBhcmdbMF0gPT09IDEyICYmIGFjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - 'O' is an Arguments object, 'name' is own property of [[ParameterMap]] of 'O', test 'name' is deleted if 'name' is configurable and 'desc' is accessor descriptor (10.6 [[DefineOwnProperty]] step 5.a.i)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-314.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy02LWEtMzIuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydGllcyAtICdkZXNjJyBpcyBnZW5lcmljIGRlc2NyaXB0b3Igd2l0aG91dCBhbnkgYXR0cmlidXRlLCB0ZXN0ICdQJyBpcyBkZWZpbmVkIGluICdvYmonIHdpdGggYWxsIGRlZmF1bHQgYXR0cmlidXRlIHZhbHVlcyAoOC4xMi45IHN0ZXAgNC5hLmkpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgeyBwcm9wOiB7fSB9KTsNCg0KICAgICAgICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAicHJvcCIpOw0KDQogICAgICAgIHJldHVybiBkZXNjLmhhc093blByb3BlcnR5KCJ2YWx1ZSIpICYmIHR5cGVvZiBkZXNjLnZhbHVlID09PSAidW5kZWZpbmVkIiAmJg0KICAgICAgICAgICAgZGVzYy5oYXNPd25Qcm9wZXJ0eSgid3JpdGFibGUiKSAmJiBkZXNjLndyaXRhYmxlID09PSBmYWxzZSAmJg0KICAgICAgICAgICAgZGVzYy5oYXNPd25Qcm9wZXJ0eSgiY29uZmlndXJhYmxlIikgJiYgZGVzYy5jb25maWd1cmFibGUgPT09IGZhbHNlICYmDQogICAgICAgICAgICBkZXNjLmhhc093blByb3BlcnR5KCJlbnVtZXJhYmxlIikgJiYgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJg0KICAgICAgICAgICAgIWRlc2MuaGFzT3duUHJvcGVydHkoImdldCIpICYmICFkZXNjLmhhc093blByb3BlcnR5KCJzZXQiKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - 'desc' is generic descriptor without any attribute, test 'P' is defined in 'obj' with all default attribute values (8.12.9 step 4.a.i)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-32.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy02LWEtMzMuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydGllcyAtICdQJyBkb2Vzbid0IGV4aXN0IGluICdPJywgdGVzdCBbW0dldF1dIG9mICdQJyBpcyBzZXQgYXMgdW5kZWZpbmVkIHZhbHVlIGlmIGFic2VudCBpbiBhY2Nlc3NvciBkZXNjcmlwdG9yICdkZXNjJyAoOC4xMi45IHN0ZXAgNC5iKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgdmFyIHNldEZ1biA9IGZ1bmN0aW9uICh2YWx1ZSkgew0KICAgICAgICAgICAgb2JqLnNldFZlcmlmeUhlbHBQcm9wID0gdmFsdWU7DQogICAgICAgIH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMob2JqLCB7DQogICAgICAgICAgICBwcm9wOiB7DQogICAgICAgICAgICAgICAgc2V0OiBzZXRGdW4sDQogICAgICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQogICAgICAgIHJldHVybiBhY2Nlc3NvclByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3Qob2JqLCAicHJvcCIsIHVuZGVmaW5lZCwgc2V0RnVuLCAic2V0VmVyaWZ5SGVscFByb3AiLCB0cnVlLCB0cnVlKTsNCg0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - 'P' doesn't exist in 'O', test [[Get]] of 'P' is set as undefined value if absent in accessor descriptor 'desc' (8.12.9 step 4.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-33.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy02LWEtMzQuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydGllcyAtICdQJyBkb2Vzbid0IGV4aXN0IGluICdPJywgdGVzdCBbW1NldF1dIG9mICdQJyBpcyBzZXQgYXMgdW5kZWZpbmVkIHZhbHVlIGlmIGFic2VudCBpbiBhY2Nlc3NvciBkZXNjcmlwdG9yICdkZXNjJyAoOC4xMi45IHN0ZXAgNC5iLmkpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICB2YXIgZ2V0RnVuYyA9IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgIHJldHVybiAxMDsgDQogICAgICAgIH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMob2JqLCB7DQogICAgICAgICAgICBwcm9wOiB7DQogICAgICAgICAgICAgICAgZ2V0OiBnZXRGdW5jLA0KICAgICAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJwcm9wIik7DQogICAgICAgIHJldHVybiBvYmouaGFzT3duUHJvcGVydHkoInByb3AiKSAmJiB0eXBlb2YgKGRlc2Muc2V0KSA9PT0gInVuZGVmaW5lZCI7DQoNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - 'P' doesn't exist in 'O', test [[Set]] of 'P' is set as undefined value if absent in accessor descriptor 'desc' (8.12.9 step 4.b.i)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-34.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy02LWEtMzUuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydGllcyAtICdQJyBkb2Vzbid0IGV4aXN0IGluICdPJywgdGVzdCBbW0VudW1lcmFibGVdXSBvZiAnUCcgaXMgc2V0IGFzIGZhbHNlIHZhbHVlIGlmIGFic2VudCBpbiBhY2Nlc3NvciBkZXNjcmlwdG9yICdkZXNjJyAoOC4xMi45IHN0ZXAgNC5iLmkpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICB2YXIgZ2V0RnVuID0gZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgcmV0dXJuIDEwOw0KICAgICAgICB9Ow0KICAgICAgICB2YXIgc2V0RnVuID0gZnVuY3Rpb24gKHZhbHVlKSB7DQogICAgICAgICAgICBvYmouc2V0VmVyaWZ5SGVscFByb3AgPSB2YWx1ZTsNCiAgICAgICAgfTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIHsNCiAgICAgICAgICAgIHByb3A6IHsNCiAgICAgICAgICAgICAgICBzZXQ6IHNldEZ1biwNCiAgICAgICAgICAgICAgICBnZXQ6IGdldEZ1biwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQogICAgICAgIHJldHVybiBhY2Nlc3NvclByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3Qob2JqLCAicHJvcCIsIGdldEZ1biwgc2V0RnVuLCAic2V0VmVyaWZ5SGVscFByb3AiLCBmYWxzZSwgdHJ1ZSk7DQoNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - 'P' doesn't exist in 'O', test [[Enumerable]] of 'P' is set as false value if absent in accessor descriptor 'desc' (8.12.9 step 4.b.i)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-35.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy02LWEtMzYuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydGllcyAtICdQJyBkb2Vzbid0IGV4aXN0IGluICdPJywgdGVzdCBbW0NvbmZpZ3VyYWJsZV1dIG9mICdQJyBpcyBzZXQgYXMgZmFsc2UgdmFsdWUgaWYgYWJzZW50IGluIGFjY2Vzc29yIGRlc2NyaXB0b3IgJ2Rlc2MnICg4LjEyLjkgc3RlcCA0LmIuaSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIHZhciBnZXRGdW4gPSBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICByZXR1cm4gMTA7DQogICAgICAgIH07DQogICAgICAgIHZhciBzZXRGdW4gPSBmdW5jdGlvbiAodmFsdWUpIHsNCiAgICAgICAgICAgIG9iai5zZXRWZXJpZnlIZWxwUHJvcCA9IHZhbHVlOw0KICAgICAgICB9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgew0KICAgICAgICAgICAgcHJvcDogew0KICAgICAgICAgICAgICAgIHNldDogc2V0RnVuLA0KICAgICAgICAgICAgICAgIGdldDogZ2V0RnVuLA0KICAgICAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQogICAgICAgIHJldHVybiBhY2Nlc3NvclByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3Qob2JqLCAicHJvcCIsIGdldEZ1biwgc2V0RnVuLCAic2V0VmVyaWZ5SGVscFByb3AiLCB0cnVlLCBmYWxzZSk7DQoNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - 'P' doesn't exist in 'O', test [[Configurable]] of 'P' is set as false value if absent in accessor descriptor 'desc' (8.12.9 step 4.b.i)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-36.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy02LWEtMzcuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydGllcyAtICdkZXNjJyBpcyBhY2Nlc3NvciBkZXNjcmlwdG9yLCB0ZXN0IHNldHRpbmcgYWxsIGF0dHJpYnV0ZSB2YWx1ZXMgb2YgJ1AnICg4LjEyLjkgc3RlcCA0LmIuaSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIHZhciBnZXRGdW4gPSBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICByZXR1cm4gMTA7DQogICAgICAgIH07DQogICAgICAgIHZhciBzZXRGdW4gPSBmdW5jdGlvbiAodmFsdWUpIHsNCiAgICAgICAgICAgIG9iai5zZXRWZXJpZnlIZWxwUHJvcCA9IHZhbHVlOw0KICAgICAgICB9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgew0KICAgICAgICAgICAgcHJvcDogew0KICAgICAgICAgICAgICAgIGdldDogZ2V0RnVuLA0KICAgICAgICAgICAgICAgIHNldDogc2V0RnVuLA0KICAgICAgICAgICAgICAgIGVudW1lcmFibGU6IGZhbHNlLA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQogICAgICAgIHJldHVybiBhY2Nlc3NvclByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3Qob2JqLCAicHJvcCIsIGdldEZ1biwgc2V0RnVuLCAic2V0VmVyaWZ5SGVscFByb3AiLCBmYWxzZSwgZmFsc2UpOw0KDQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - 'desc' is accessor descriptor, test setting all attribute values of 'P' (8.12.9 step 4.b.i)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-37.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy02LWEtMzgtMS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ1AnIGV4aXN0cyBpbiAnTycgaXMgYW4gYWNjZXNzb3IgcHJvcGVydHksIHRlc3QgJ1AnIG1ha2VzIG5vIGNoYW5nZSBpZiAnZGVzYycgaXMgZ2VuZXJpYyBkZXNjcmlwdG9yIHdpdGhvdXQgYW55IGF0dHJpYnV0ZSAoOC4xMi45IHN0ZXAgNSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgdmFyIGdldEZ1bmMgPSBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICByZXR1cm4gMTI7DQogICAgICAgIH07DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgew0KICAgICAgICAgICAgZm9vOiB7DQogICAgICAgICAgICAgICAgZ2V0OiBnZXRGdW5jLA0KICAgICAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgeyBmb286IHt9IH0pOw0KDQogICAgICAgIHJldHVybiBhY2Nlc3NvclByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3Qob2JqLCAiZm9vIiwgZ2V0RnVuYywgdW5kZWZpbmVkLCB1bmRlZmluZWQsIHRydWUsIHRydWUpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - 'P' exists in 'O' is an accessor property, test 'P' makes no change if 'desc' is generic descriptor without any attribute (8.12.9 step 5)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-38-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy02LWEtMzguanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydGllcyAtICdQJyBleGlzdHMgaW4gJ08nLCB0ZXN0ICdQJyBtYWtlcyBubyBjaGFuZ2UgaWYgJ2Rlc2MnIGlzIGdlbmVyaWMgZGVzY3JpcHRvciB3aXRob3V0IGFueSBhdHRyaWJ1dGUgKDguMTIuOSBzdGVwIDUpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIG9iai5mb28gPSAxMDA7IC8vIGRlZmF1bHQgdmFsdWUgb2YgYXR0cmlidXRlczogd3JpdGFibGU6IHRydWUsIGNvbmZpZ3VyYWJsZTogdHJ1ZSwgZW51bWVyYWJsZTogdHJ1ZQ0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgeyBmb286IHt9IH0pOw0KICAgICAgICByZXR1cm4gZGF0YVByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3Qob2JqLCAiZm9vIiwgMTAwLCB0cnVlLCB0cnVlLCB0cnVlKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - 'P' exists in 'O', test 'P' makes no change if 'desc' is generic descriptor without any attribute (8.12.9 step 5)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-38.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy02LWEtMzkuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydGllcyAtICdQJyBpcyBkYXRhIGRlc2NyaXB0b3IgYW5kIGV2ZXJ5IGZpZWxkcyBpbiAnZGVzYycgaXMgdGhlIHNhbWUgd2l0aCAnUCcgKDguMTIuOSBzdGVwIDYpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgb2JqLmZvbyA9IDEwMTsgLy8gZGVmYXVsdCB2YWx1ZSBvZiBhdHRyaWJ1dGVzOiB3cml0YWJsZTogdHJ1ZSwgY29uZmlndXJhYmxlOiB0cnVlLCBlbnVtZXJhYmxlOiB0cnVlDQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMob2JqLCB7DQogICAgICAgICAgICBmb286IHsNCiAgICAgICAgICAgICAgICB2YWx1ZTogMTAxLA0KICAgICAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsDQogICAgICAgICAgICAgICAgd3JpdGFibGU6IHRydWUsDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KICAgICAgICByZXR1cm4gZGF0YVByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3Qob2JqLCAiZm9vIiwgMTAxLCB0cnVlLCB0cnVlLCB0cnVlKTsNCg0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - 'P' is data descriptor and every fields in 'desc' is the same with 'P' (8.12.9 step 6)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-39.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy02LWEtNC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ1AnIGlzIG93biBkYXRhIHByb3BlcnR5IHRoYXQgb3ZlcnJpZGVzIGFuIGluaGVyaXRlZCBhY2Nlc3NvciBwcm9wZXJ0eSAoOC4xMi45IHN0ZXAgMSApIA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBwcm90byA9IHt9Ow0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkocHJvdG8sICJwcm9wIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIDExOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCiAgICAgICAgdmFyIENvbiA9IGZ1bmN0aW9uICgpIHsgfTsNCiAgICAgICAgQ29uLnByb3RvdHlwZSA9IHByb3RvOw0KDQogICAgICAgIHZhciBvYmogPSBuZXcgQ29uKCk7DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgdmFsdWU6IDEyLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMob2JqLCB7DQogICAgICAgICAgICAgICAgcHJvcDogew0KICAgICAgICAgICAgICAgICAgICB2YWx1ZTogMTMsDQogICAgICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - 'P' is own data property that overrides an inherited accessor property (8.12.9 step 1 )","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy02LWEtNDAuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydGllcyAtICdQJyBpcyBhY2Nlc3NvciBkZXNjcmlwdG9yIGFuZCBldmVyeSBmaWVsZHMgaW4gJ2Rlc2MnIGlzIHRoZSBzYW1lIHdpdGggJ1AnICg4LjEyLjkgc3RlcCA2KQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIGZ1bmN0aW9uIGdldF9mdW5jKCkgew0KICAgICAgICAgICAgcmV0dXJuIDA7DQogICAgICAgIH0NCiAgICAgICAgZnVuY3Rpb24gc2V0X2Z1bmModmFsdWUpIHsNCiAgICAgICAgICAgIG9iai5zZXRWZXJpZnlIZWxwUHJvcCA9IHZhbHVlOw0KICAgICAgICB9DQogICAgICAgIHZhciBkZXNjID0gew0KICAgICAgICAgICAgZ2V0OiBnZXRfZnVuYywNCiAgICAgICAgICAgIHNldDogc2V0X2Z1bmMsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgImZvbyIsIGRlc2MpOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgew0KICAgICAgICAgICAgZm9vOiB7DQogICAgICAgICAgICAgICAgZ2V0OiBnZXRfZnVuYywNCiAgICAgICAgICAgICAgICBzZXQ6IHNldF9mdW5jLA0KICAgICAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KICAgICAgICByZXR1cm4gYWNjZXNzb3JQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KG9iaiwgImZvbyIsIGdldF9mdW5jLCBzZXRfZnVuYywgInNldFZlcmlmeUhlbHBQcm9wIiwgdHJ1ZSwgdHJ1ZSk7DQoNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - 'P' is accessor descriptor and every fields in 'desc' is the same with 'P' (8.12.9 step 6)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-40.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy02LWEtNDEuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydGllcyAtIHR5cGUgb2YgZGVzYy52YWx1ZSBpcyBkaWZmZXJlbnQgZnJvbSB0eXBlIG9mIFAudmFsdWUgKDguMTIuOSBzdGVwIDYpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgb2JqLmZvbyA9IDEwMTsgLy8gZGVmYXVsdCB2YWx1ZSBvZiBhdHRyaWJ1dGVzOiB3cml0YWJsZTogdHJ1ZSwgY29uZmlndXJhYmxlOiB0cnVlLCBlbnVtZXJhYmxlOiB0cnVlDQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMob2JqLCB7DQogICAgICAgICAgICBmb286IHsNCiAgICAgICAgICAgICAgICB2YWx1ZTogIjEwMiINCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQogICAgICAgIHJldHVybiBkYXRhUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChvYmosICJmb28iLCAiMTAyIiwgdHJ1ZSwgdHJ1ZSwgdHJ1ZSk7DQoNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - type of desc.value is different from type of P.value (8.12.9 step 6)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-41.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy02LWEtNDIuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydGllcyAtIGJvdGggZGVzYy52YWx1ZSBhbmQgUC52YWx1ZSBhcmUgdW5kZWZpbmVkICg4LjEyLjkgc3RlcCA2KQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIHZhciBkZXNjID0geyB2YWx1ZTogdW5kZWZpbmVkIH07DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJmb28iLCBkZXNjKTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIHsNCiAgICAgICAgICAgIGZvbzogew0KICAgICAgICAgICAgICAgIHZhbHVlOiB1bmRlZmluZWQNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQogICAgICAgIHJldHVybiBkYXRhUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChvYmosICJmb28iLCB1bmRlZmluZWQsIGZhbHNlLCBmYWxzZSwgZmFsc2UpOw0KDQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - both desc.value and P.value are undefined (8.12.9 step 6)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-42.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy02LWEtNDMuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydGllcyAtIGJvdGggZGVzYy52YWx1ZSBhbmQgUC52YWx1ZSBhcmUgbnVsbCAoOC4xMi45IHN0ZXAgNikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICB2YXIgZGVzYyA9IHsgdmFsdWU6IG51bGwgfTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgImZvbyIsIGRlc2MpOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgew0KICAgICAgICAgICAgZm9vOiB7DQogICAgICAgICAgICAgICAgdmFsdWU6IG51bGwNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQogICAgICAgIHJldHVybiBkYXRhUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChvYmosICJmb28iLCBudWxsLCBmYWxzZSwgZmFsc2UsIGZhbHNlKTsNCg0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - both desc.value and P.value are null (8.12.9 step 6)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-43.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy02LWEtNDQuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydGllcyAtIGJvdGggZGVzYy52YWx1ZSBhbmQgUC52YWx1ZSBhcmUgTmFOICg4LjEyLjkgc3RlcCA2KQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIHZhciBkZXNjID0geyB2YWx1ZTogTmFOIH07DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJmb28iLCBkZXNjKTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIHsNCiAgICAgICAgICAgIGZvbzogew0KICAgICAgICAgICAgICAgIHZhbHVlOiBOYU4NCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIHZlcmlmeUVudW1lcmFibGUgPSBmYWxzZTsNCiAgICAgICAgZm9yICh2YXIgcCBpbiBvYmopIHsNCiAgICAgICAgICAgIGlmIChwID09PSAiZm9vIikgew0KICAgICAgICAgICAgICAgIHZlcmlmeUVudW1lcmFibGUgPSB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIHZlcmlmeVZhbHVlID0gZmFsc2U7DQogICAgICAgIG9iai5wcm9wID0gIm92ZXJyaWRlRGF0YSI7DQogICAgICAgIHZlcmlmeVZhbHVlID0gb2JqLmZvbyAhPT0gb2JqLmZvbyAmJiBpc05hTihvYmouZm9vKTsNCg0KICAgICAgICB2YXIgdmVyaWZ5Q29uZmlndXJhYmxlID0gZmFsc2U7DQogICAgICAgIGRlbGV0ZSBvYmouZm9vOw0KICAgICAgICB2ZXJpZnlDb25maWd1cmFibGUgPSBvYmouaGFzT3duUHJvcGVydHkoImZvbyIpOw0KDQogICAgICAgIHJldHVybiB2ZXJpZnlDb25maWd1cmFibGUgJiYgIXZlcmlmeUVudW1lcmFibGUgJiYgdmVyaWZ5VmFsdWU7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - both desc.value and P.value are NaN (8.12.9 step 6)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-44.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy02LWEtNDUuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydGllcyAtIGRlc2MudmFsdWUgaXMgKzAgYW5kIFAudmFsdWUgaXMgLTAgKDguMTIuOSBzdGVwIDYpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgdmFyIGRlc2MgPSB7IHZhbHVlOiAtMCB9Ow0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiZm9vIiwgZGVzYyk7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgew0KICAgICAgICAgICAgICAgIGZvbzogew0KICAgICAgICAgICAgICAgICAgICB2YWx1ZTogKzANCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIChlIGluc3RhbmNlb2YgVHlwZUVycm9yKSAmJiBkYXRhUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChvYmosICJmb28iLCAtMCwgZmFsc2UsIGZhbHNlLCBmYWxzZSk7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - desc.value is +0 and P.value is -0 (8.12.9 step 6)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-45.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy02LWEtNDYuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydGllcyAtIGRlc2MudmFsdWUgaXMgLTAgYW5kIFAudmFsdWUgaXMgKzAgKDguMTIuOSBzdGVwIDYpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgdmFyIGRlc2MgPSB7IHZhbHVlOiArMCB9Ow0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiZm9vIiwgZGVzYyk7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgew0KICAgICAgICAgICAgICAgIGZvbzogew0KICAgICAgICAgICAgICAgICAgICB2YWx1ZTogLTANCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIChlIGluc3RhbmNlb2YgVHlwZUVycm9yKSAmJiBkYXRhUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChvYmosICJmb28iLCArMCwgZmFsc2UsIGZhbHNlLCBmYWxzZSk7IA0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - desc.value is -0 and P.value is +0 (8.12.9 step 6)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-46.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy02LWEtNDcuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydGllcyAtIGRlc2MudmFsdWUgYW5kIFAudmFsdWUgYXJlIHR3byBudW1iZXJzIHdpdGggdGhlIHNhbWUgdmFsdWUgKDguMTIuOSBzdGVwIDYpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgdmFyIGRlc2MgPSB7IHZhbHVlOiAxMDEgfTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgImZvbyIsIGRlc2MpOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgew0KICAgICAgICAgICAgZm9vOiB7DQogICAgICAgICAgICAgICAgdmFsdWU6IDEwMQ0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCiAgICAgICAgcmV0dXJuIGRhdGFQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KG9iaiwgImZvbyIsIDEwMSwgZmFsc2UsIGZhbHNlLCBmYWxzZSk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - desc.value and P.value are two numbers with the same value (8.12.9 step 6)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-47.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy02LWEtNDguanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydGllcyAtIGRlc2MudmFsdWUgYW5kIFAudmFsdWUgYXJlIHR3byBudW1iZXJzIHdpdGggZGlmZmVyZW50IHZhbHVlcyAoOC4xMi45IHN0ZXAgNikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBvYmouZm9vID0gMTAxOyAvLyBkZWZhdWx0IHZhbHVlIG9mIGF0dHJpYnV0ZXM6IHdyaXRhYmxlOiB0cnVlLCBjb25maWd1cmFibGU6IHRydWUsIGVudW1lcmFibGU6IHRydWUNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIHsNCiAgICAgICAgICAgIGZvbzogew0KICAgICAgICAgICAgICAgIHZhbHVlOiAxMDINCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQogICAgICAgIHJldHVybiBkYXRhUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChvYmosICJmb28iLCAxMDIsIHRydWUsIHRydWUsIHRydWUpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - desc.value and P.value are two numbers with different values (8.12.9 step 6)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-48.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy02LWEtNDkuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydGllcyAtIGJvdGggZGVzYy52YWx1ZSBhbmQgUC52YWx1ZSBhcmUgdHdvIHN0cmluZ3Mgd2hpY2ggaGF2ZSBzYW1lIGxlbmd0aCBhbmQgc2FtZSBjaGFyYWN0ZXJzIGluIGNvcnJlc3BvbmRpbmcgcG9zaXRpb25zICg4LjEyLjkgc3RlcCA2KQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIHZhciBkZXNjID0geyB2YWx1ZTogImFiY2QiIH07DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJmb28iLCBkZXNjKTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIHsNCiAgICAgICAgICAgIGZvbzogew0KICAgICAgICAgICAgICAgIHZhbHVlOiAiYWJjZCINCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQogICAgICAgIHJldHVybiBkYXRhUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChvYmosICJmb28iLCAiYWJjZCIsIGZhbHNlLCBmYWxzZSwgZmFsc2UpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - both desc.value and P.value are two strings which have same length and same characters in corresponding positions (8.12.9 step 6)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-49.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy02LWEtNS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ1AnIGlzIG93biBhY2Nlc3NvciBwcm9wZXJ0eSAoOC4xMi45IHN0ZXAgMSApIA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgZnVuY3Rpb24gZ2V0RnVuYygpIHsNCiAgICAgICAgICAgIHJldHVybiAxMTsNCiAgICAgICAgfQ0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgZ2V0OiBnZXRGdW5jLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMob2JqLCB7DQogICAgICAgICAgICAgICAgcHJvcDogew0KICAgICAgICAgICAgICAgICAgICB2YWx1ZTogMTIsDQogICAgICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFR5cGVFcnJvciAmJiBhY2Nlc3NvclByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3Qob2JqLCAicHJvcCIsIGdldEZ1bmMsIHVuZGVmaW5lZCwgdW5kZWZpbmVkLCBmYWxzZSwgZmFsc2UpOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - 'P' is own accessor property (8.12.9 step 1 )","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy02LWEtNTAuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydGllcyAtIGRlc2MudmFsdWUgYW5kIFAudmFsdWUgYXJlIHR3byBzdHJpbmdzIHdpdGggZGlmZmVyZW50IHZhbHVlcyAgKDguMTIuOSBzdGVwIDYpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgb2JqLmZvbyA9ICJhYmNkIjsgLy8gZGVmYXVsdCB2YWx1ZSBvZiBhdHRyaWJ1dGVzOiB3cml0YWJsZTogdHJ1ZSwgY29uZmlndXJhYmxlOiB0cnVlLCBlbnVtZXJhYmxlOiB0cnVlDQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMob2JqLCB7DQogICAgICAgICAgICBmb286IHsNCiAgICAgICAgICAgICAgICB2YWx1ZTogImZnaGoiDQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KICAgICAgICByZXR1cm4gZGF0YVByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3Qob2JqLCAiZm9vIiwgImZnaGoiLCB0cnVlLCB0cnVlLCB0cnVlKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - desc.value and P.value are two strings with different values (8.12.9 step 6)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-50.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy02LWEtNTEuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydGllcyAtIGJvdGggZGVzYy52YWx1ZSBhbmQgUC52YWx1ZSBhcmUgYm9vbGVhbiB2YWx1ZXMgd2l0aCB0aGUgc2FtZSB2YWx1ZSAoOC4xMi45IHN0ZXAgNikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICB2YXIgZGVzYyA9IHsgdmFsdWU6IHRydWUgfTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgImZvbyIsIGRlc2MpOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgew0KICAgICAgICAgICAgZm9vOiB7DQogICAgICAgICAgICAgICAgdmFsdWU6IHRydWUNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQogICAgICAgIHJldHVybiBkYXRhUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChvYmosICJmb28iLCB0cnVlLCBmYWxzZSwgZmFsc2UsIGZhbHNlKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - both desc.value and P.value are boolean values with the same value (8.12.9 step 6)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-51.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy02LWEtNTIuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydGllcyAtIGRlc2MudmFsdWUgYW5kIFAudmFsdWUgYXJlIHR3byBib29sZWFuIHZhbHVlcyB3aXRoIGRpZmZlcmVudCB2YWx1ZXMgKDguMTIuOSBzdGVwIDYpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgb2JqLmZvbyA9IHRydWU7IC8vIGRlZmF1bHQgdmFsdWUgb2YgYXR0cmlidXRlczogd3JpdGFibGU6IHRydWUsIGNvbmZpZ3VyYWJsZTogdHJ1ZSwgZW51bWVyYWJsZTogdHJ1ZQ0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgew0KICAgICAgICAgICAgZm9vOiB7DQogICAgICAgICAgICAgICAgdmFsdWU6IGZhbHNlDQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KICAgICAgICByZXR1cm4gZGF0YVByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3Qob2JqLCAiZm9vIiwgZmFsc2UsIHRydWUsIHRydWUsIHRydWUpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - desc.value and P.value are two boolean values with different values (8.12.9 step 6)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-52.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy02LWEtNTMuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydGllcyAtIGJvdGggZGVzYy52YWx1ZSBhbmQgUC52YWx1ZSBhcmUgT2piZWN0cyB3aGljaCByZWZlciB0byB0aGUgc2FtZSBPYmplY3QgKDguMTIuOSBzdGVwIDYpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgdmFyIG9iajEgPSB7IGxlbmd0aDogMTAgfTsNCiAgICAgICAgdmFyIGRlc2MgPSB7IHZhbHVlOiBvYmoxIH07DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJmb28iLCBkZXNjKTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIHsNCiAgICAgICAgICAgIGZvbzogew0KICAgICAgICAgICAgICAgIHZhbHVlOiBvYmoxDQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KICAgICAgICByZXR1cm4gZGF0YVByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3Qob2JqLCAiZm9vIiwgb2JqMSwgZmFsc2UsIGZhbHNlLCBmYWxzZSk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - both desc.value and P.value are Ojbects which refer to the same Object (8.12.9 step 6)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-53.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy02LWEtNTQuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydGllcyAtIGRlc2MudmFsdWUgYW5kIFAudmFsdWUgYXJlIHR3byBPamJlY3RzIHdoaWNoIHJlZmVyIHRvIHRoZSBkaWZmZXJlbnQgb2JqZWN0cyAoOC4xMi45IHN0ZXAgNikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICB2YXIgb2JqMSA9IHsgbGVuZ3RoOiAxMCB9Ow0KICAgICAgICBvYmouZm9vID0gb2JqMTsgLy8gZGVmYXVsdCB2YWx1ZSBvZiBhdHRyaWJ1dGVzOiB3cml0YWJsZTogdHJ1ZSwgY29uZmlndXJhYmxlOiB0cnVlLCBlbnVtZXJhYmxlOiB0cnVlDQoNCiAgICAgICAgdmFyIG9iajIgPSB7IGxlbmd0aDogMjAgfTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIHsNCiAgICAgICAgICAgIGZvbzogew0KICAgICAgICAgICAgICAgIHZhbHVlOiBvYmoyDQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KICAgICAgICByZXR1cm4gZGF0YVByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3Qob2JqLCAiZm9vIiwgb2JqMiwgdHJ1ZSwgdHJ1ZSwgdHJ1ZSk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - desc.value and P.value are two Ojbects which refer to the different objects (8.12.9 step 6)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-54.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy02LWEtNTUuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydGllcyAtIGJvdGggZGVzYy53cml0YWJsZSBhbmQgUC53cml0YWJsZSBhcmUgYm9vbGVhbiB2YWx1ZXMgd2l0aCB0aGUgc2FtZSB2YWx1ZSAoOC4xMi45IHN0ZXAgNikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICB2YXIgZGVzYyA9IHsgd3JpdGFibGU6IGZhbHNlIH07DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJmb28iLCBkZXNjKTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIHsNCiAgICAgICAgICAgIGZvbzogew0KICAgICAgICAgICAgICAgIHdyaXRhYmxlOiBmYWxzZQ0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCiAgICAgICAgcmV0dXJuIGRhdGFQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KG9iaiwgImZvbyIsIHVuZGVmaW5lZCwgZmFsc2UsIGZhbHNlLCBmYWxzZSk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - both desc.writable and P.writable are boolean values with the same value (8.12.9 step 6)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-55.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy02LWEtNTYuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydGllcyAtIGRlc2Mud3JpdGFibGUgYW5kIFAud3JpdGFibGUgYXJlIHR3byBib29sZWFuIHZhbHVlcyB3aXRoIGRpZmZlcmVudCB2YWx1ZXMgKDguMTIuOSBzdGVwIDYpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgdmFyIGRlc2MgPSB7IHdyaXRhYmxlOiBmYWxzZSwgY29uZmlndXJhYmxlOiB0cnVlIH07DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJmb28iLCBkZXNjKTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIHsNCiAgICAgICAgICAgIGZvbzogew0KICAgICAgICAgICAgICAgIHdyaXRhYmxlOiB0cnVlLA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCiAgICAgICAgcmV0dXJuIGRhdGFQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KG9iaiwgImZvbyIsIHVuZGVmaW5lZCwgdHJ1ZSwgZmFsc2UsIHRydWUpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - desc.writable and P.writable are two boolean values with different values (8.12.9 step 6)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-56.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy02LWEtNTcuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydGllcyAtIGJvdGggZGVzYy5bW0dldF1dIGFuZCBQLltbR2V0XV0gYXJlIHR3byBvYmplY3RzIHdoaWNoIHJlZmVyIHRvIHRoZSBzYW1lIG9iamVjdCAoOC4xMi45IHN0ZXAgNikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBmdW5jdGlvbiBnZXRfRnVuYygpIHsNCiAgICAgICAgICAgIHJldHVybiAxMDsNCiAgICAgICAgfQ0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJmb28iLCB7DQogICAgICAgICAgICBnZXQ6IGdldF9GdW5jDQogICAgICAgIH0pOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgew0KICAgICAgICAgICAgZm9vOiB7DQogICAgICAgICAgICAgICAgZ2V0OiBnZXRfRnVuYw0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgdmVyaWZ5RW51bWVyYWJsZSA9IGZhbHNlOw0KICAgICAgICBmb3IgKHZhciBwIGluIG9iaikgew0KICAgICAgICAgICAgaWYgKHAgPT09ICJmb28iKSB7DQogICAgICAgICAgICAgICAgdmVyaWZ5RW51bWVyYWJsZSA9IHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgdmVyaWZ5VmFsdWUgPSBmYWxzZTsNCiAgICAgICAgdmVyaWZ5VmFsdWUgPSAob2JqLmZvbyA9PT0gMTApOw0KDQogICAgICAgIHZhciB2ZXJpZnlDb25maWd1cmFibGUgPSBmYWxzZTsNCiAgICAgICAgZGVsZXRlIG9iai5mb287DQogICAgICAgIHZlcmlmeUNvbmZpZ3VyYWJsZSA9IG9iai5oYXNPd25Qcm9wZXJ0eSgiZm9vIik7DQoNCiAgICAgICAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgImZvbyIpOw0KICAgICAgICByZXR1cm4gdmVyaWZ5Q29uZmlndXJhYmxlICYmICF2ZXJpZnlFbnVtZXJhYmxlICYmIHZlcmlmeVZhbHVlICYmIHR5cGVvZiAoZGVzYy5zZXQpID09PSAidW5kZWZpbmVkIiAmJiBkZXNjLmdldCA9PT0gZ2V0X0Z1bmM7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - both desc.[[Get]] and P.[[Get]] are two objects which refer to the same object (8.12.9 step 6)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-57.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy02LWEtNTguanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydGllcyAtIGRlc2MuW1tHZXRdXSBhbmQgUC5bW0dldF1dIGFyZSB0d28gb2JqZWN0cyB3aGljaCByZWZlciB0byB0aGUgZGlmZmVyZW50IG9iamVjdHMgKDguMTIuOSBzdGVwIDYpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgZnVuY3Rpb24gZ2V0X0Z1bmMxKCkgew0KICAgICAgICAgICAgcmV0dXJuIDEwOw0KICAgICAgICB9DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgImZvbyIsIHsNCiAgICAgICAgICAgIGdldDogZ2V0X0Z1bmMxLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIGZ1bmN0aW9uIGdldF9GdW5jMigpIHsNCiAgICAgICAgICAgIHJldHVybiAyMDsNCiAgICAgICAgfQ0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgew0KICAgICAgICAgICAgZm9vOiB7DQogICAgICAgICAgICAgICAgZ2V0OiBnZXRfRnVuYzINCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIHZlcmlmeUVudW1lcmFibGUgPSBmYWxzZTsNCiAgICAgICAgZm9yICh2YXIgcCBpbiBvYmopIHsNCiAgICAgICAgICAgIGlmIChwID09PSAiZm9vIikgew0KICAgICAgICAgICAgICAgIHZlcmlmeUVudW1lcmFibGUgPSB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIHZlcmlmeVZhbHVlID0gZmFsc2U7DQogICAgICAgIHZlcmlmeVZhbHVlID0gKG9iai5mb28gPT09IDIwKTsNCg0KICAgICAgICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAiZm9vIik7DQoNCiAgICAgICAgdmFyIHZlcmlmeUNvbmZpZ3VyYWJsZSA9IGZhbHNlOw0KICAgICAgICBkZWxldGUgb2JqLmZvbzsNCiAgICAgICAgdmVyaWZ5Q29uZmlndXJhYmxlID0gb2JqLmhhc093blByb3BlcnR5KCJmb28iKTsNCg0KICAgICAgICByZXR1cm4gIXZlcmlmeUNvbmZpZ3VyYWJsZSAmJiAhdmVyaWZ5RW51bWVyYWJsZSAmJiB2ZXJpZnlWYWx1ZSAmJiB0eXBlb2YgKGRlc2Muc2V0KSA9PT0gInVuZGVmaW5lZCIgJiYgZGVzYy5nZXQgPT09IGdldF9GdW5jMjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - desc.[[Get]] and P.[[Get]] are two objects which refer to the different objects (8.12.9 step 6)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-58.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy02LWEtNTkuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydGllcyAtIGJvdGggZGVzYy5bW1NldF1dIGFuZCBQLltbU2V0XV0gYXJlIHR3byBvYmplY3RzIHdoaWNoIHJlZmVyIHRvIHRoZSBzYW1lIG9iamVjdCAoOC4xMi45IHN0ZXAgNikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBmdW5jdGlvbiBzZXRfZnVuYyh2YWx1ZSkgew0KICAgICAgICAgICAgb2JqLnNldFZlcmlmeUhlbHBQcm9wID0gdmFsdWU7DQogICAgICAgIH0NCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiZm9vIiwgew0KICAgICAgICAgICAgc2V0OiBzZXRfZnVuYw0KICAgICAgICB9KTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIHsNCiAgICAgICAgICAgIGZvbzogew0KICAgICAgICAgICAgICAgIHNldDogc2V0X2Z1bmMNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQogICAgICAgIHJldHVybiBhY2Nlc3NvclByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3Qob2JqLCAiZm9vIiwgdW5kZWZpbmVkLCBzZXRfZnVuYywgInNldFZlcmlmeUhlbHBQcm9wIiwgZmFsc2UsIGZhbHNlKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - both desc.[[Set]] and P.[[Set]] are two objects which refer to the same object (8.12.9 step 6)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-59.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy02LWEtNi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ1AnIGlzIGluaGVyaXRlZCBhY2Nlc3NvciBwcm9wZXJ0eSAoOC4xMi45IHN0ZXAgMSApIA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBwcm90byA9IHt9Ow0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkocHJvdG8sICJwcm9wIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIDExOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgfSk7DQogICAgICAgIHZhciBDb24gPSBmdW5jdGlvbiAoKSB7IH07DQogICAgICAgIENvbi5wcm90b3R5cGUgPSBwcm90bzsNCg0KICAgICAgICB2YXIgb2JqID0gbmV3IENvbigpOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgew0KICAgICAgICAgICAgcHJvcDogew0KICAgICAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gMTI7DQogICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQogICAgICAgIHJldHVybiBvYmouaGFzT3duUHJvcGVydHkoInByb3AiKSAmJiBvYmoucHJvcCA9PT0gMTI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - 'P' is inherited accessor property (8.12.9 step 1 )","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-6.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy02LWEtNjAuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydGllcyAtIGRlc2MuW1tTZXRdXSBhbmQgUC5bW1NldF1dIGFyZSB0d28gb2JqZWN0cyB3aGljaCByZWZlciB0byB0aGUgZGlmZmVyZW50IG9iamVjdHMgKDguMTIuOSBzdGVwIDYpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgZnVuY3Rpb24gc2V0X2Z1bmMxKCkge30NCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiZm9vIiwgew0KICAgICAgICAgICAgc2V0OiBzZXRfZnVuYzEsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgZnVuY3Rpb24gc2V0X2Z1bmMyKHZhbHVlKSB7DQogICAgICAgICAgICBvYmouc2V0VmVyaWZ5SGVscFByb3AgPSB2YWx1ZTsNCiAgICAgICAgfQ0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgew0KICAgICAgICAgICAgZm9vOiB7DQogICAgICAgICAgICAgICAgc2V0OiBzZXRfZnVuYzINCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQogICAgICAgIHJldHVybiBhY2Nlc3NvclByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3Qob2JqLCAiZm9vIiwgdW5kZWZpbmVkLCBzZXRfZnVuYzIsICJzZXRWZXJpZnlIZWxwUHJvcCIsIGZhbHNlLCB0cnVlKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - desc.[[Set]] and P.[[Set]] are two objects which refer to the different objects (8.12.9 step 6)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-60.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy02LWEtNjEuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydGllcyAtIGJvdGggZGVzYy5lbnVtZXJhYmxlIGFuZCBQLmVudW1lcmFibGUgYXJlIGJvb2xlYW4gdmFsdWVzIHdpdGggdGhlIHNhbWUgdmFsdWUgKDguMTIuOSBzdGVwIDYpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgImZvbyIsIHsgDQogICAgICAgICAgICB2YWx1ZTogMTAsIA0KICAgICAgICAgICAgZW51bWVyYWJsZTogZmFsc2UgDQogICAgICAgIH0pOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgew0KICAgICAgICAgICAgZm9vOiB7DQogICAgICAgICAgICAgICAgZW51bWVyYWJsZTogZmFsc2UNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQogICAgICAgIHJldHVybiBkYXRhUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChvYmosICJmb28iLCAxMCwgZmFsc2UsIGZhbHNlLCBmYWxzZSk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - both desc.enumerable and P.enumerable are boolean values with the same value (8.12.9 step 6)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-61.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy02LWEtNjIuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydGllcyAtIGRlc2MuZW51bWVyYWJsZSBhbmQgUC5lbnVtZXJhYmxlIGFyZSB0d28gYm9vbGVhbiB2YWx1ZXMgd2l0aCBkaWZmZXJlbnQgdmFsdWVzICg4LjEyLjkgc3RlcCA2KQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJmb28iLCB7IA0KICAgICAgICAgICAgdmFsdWU6IDEwLCANCiAgICAgICAgICAgIGVudW1lcmFibGU6IGZhbHNlLCANCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZSANCiAgICAgICAgfSk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMob2JqLCB7DQogICAgICAgICAgICBmb286IHsNCiAgICAgICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlDQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KICAgICAgICByZXR1cm4gZGF0YVByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3Qob2JqLCAiZm9vIiwgMTAsIGZhbHNlLCB0cnVlLCB0cnVlKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - desc.enumerable and P.enumerable are two boolean values with different values (8.12.9 step 6)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-62.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy02LWEtNjMuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydGllcyAtIGJvdGggZGVzYy5jb25maWd1cmFibGUgYW5kIFAuY29uZmlndXJhYmxlIGFyZSBib29sZWFuIHZhbHVlcyB3aXRoIHRoZSBzYW1lIHZhbHVlICg4LjEyLjkgc3RlcCA2KQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJmb28iLCB7IA0KICAgICAgICAgICAgdmFsdWU6IDEwLCANCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UgDQogICAgICAgIH0pOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgew0KICAgICAgICAgICAgZm9vOiB7DQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCiAgICAgICAgcmV0dXJuIGRhdGFQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KG9iaiwgImZvbyIsIDEwLCBmYWxzZSwgZmFsc2UsIGZhbHNlKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - both desc.configurable and P.configurable are boolean values with the same value (8.12.9 step 6)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-63.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy02LWEtNjQuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydGllcyAtIGRlc2MuY29uZmlndXJhYmxlIGFuZCBQLmNvbmZpZ3VyYWJsZSBhcmUgdHdvIGJvb2xlYW4gdmFsdWVzIHdpdGggZGlmZmVyZW50IHZhbHVlcyAoOC4xMi45IHN0ZXAgNikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiZm9vIiwgew0KICAgICAgICAgICAgdmFsdWU6IDEwLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlIA0KICAgICAgICB9KTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIHsNCiAgICAgICAgICAgIGZvbzogew0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQogICAgICAgIHJldHVybiBkYXRhUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChvYmosICJmb28iLCAxMCwgZmFsc2UsIGZhbHNlLCBmYWxzZSk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - desc.configurable and P.configurable are two boolean values with different values (8.12.9 step 6)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-64.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy02LWEtNjUuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydGllcyB0aHJvd3MgVHlwZUVycm9yIHdoZW4gUC5jb25maWd1cmFibGUgaXMgZmFsc2UgYW5kIGRlc2MuY29uZmlndXJhYmxlIGlzIHRydWUgKDguMTIuOSBzdGVwIDcuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiZm9vIiwgew0KICAgICAgICAgICAgdmFsdWU6IDEwLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZSANCiAgICAgICAgfSk7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgew0KICAgICAgICAgICAgICAgIGZvbzogew0KICAgICAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIChlIGluc3RhbmNlb2YgVHlwZUVycm9yKSAmJiBkYXRhUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChvYmosICJmb28iLCAxMCwgZmFsc2UsIGZhbHNlLCBmYWxzZSk7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties throws TypeError when P.configurable is false and desc.configurable is true (8.12.9 step 7.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-65.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy02LWEtNjYtMS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIHRocm93cyBUeXBlRXJyb3Igd2hlbiBQLmNvbmZpZ3VyYWJsZSBpcyBmYWxzZSwgUC5lbnVtZXJhYmxlIGFuZCBkZXNjLmVudW1lcmFibGUgaGFzIGRpZmZlcmVudCB2YWx1ZXMgKDguMTIuOSBzdGVwIDcuYikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiZm9vIiwgew0KICAgICAgICAgICAgdmFsdWU6IDEwLCANCiAgICAgICAgICAgIGVudW1lcmFibGU6IGZhbHNlLCANCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UgDQogICAgICAgIH0pOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIHsNCiAgICAgICAgICAgICAgICBmb286IHsNCiAgICAgICAgICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpICYmIGRhdGFQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KG9iaiwgImZvbyIsIDEwLCBmYWxzZSwgZmFsc2UsIGZhbHNlKTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties throws TypeError when P.configurable is false, P.enumerable and desc.enumerable has different values (8.12.9 step 7.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-66-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy02LWEtNjYuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydGllcyB0aHJvd3MgVHlwZUVycm9yIHdoZW4gUC5jb25maWd1cmFibGUgaXMgZmFsc2UsIFAuZW51bWVyYWJsZSBhbmQgZGVzYy5lbnVtZXJhYmxlIGhhcyBkaWZmZXJlbnQgdmFsdWVzICg4LjEyLjkgc3RlcCA3LmIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgImZvbyIsIHsgDQogICAgICAgICAgICB2YWx1ZTogMTAsIA0KICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSwgDQogICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlIA0KICAgICAgICB9KTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMob2JqLCB7DQogICAgICAgICAgICAgICAgZm9vOiB7DQogICAgICAgICAgICAgICAgICAgIGVudW1lcmFibGU6IGZhbHNlDQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiAoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikgJiYgZGF0YVByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3Qob2JqLCAiZm9vIiwgMTAsIGZhbHNlLCB0cnVlLCBmYWxzZSk7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties throws TypeError when P.configurable is false, P.enumerable and desc.enumerable has different values (8.12.9 step 7.b)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-66.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy02LWEtNjcuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydGllcyB0aHJvd3MgVHlwZUVycm9yIHdoZW4gUCBpcyBhY2Nlc3NvciBwcm9wZXJ0eSBhbmQgUC5jb25maWd1cmFibGUgaXMgZmFsc2UsIGRlc2MgaXMgZGF0YSBwcm9wZXJ0eSAoOC4xMi45IHN0ZXAgOS5hKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIGZ1bmN0aW9uIGdldF9GdW5jKCkgew0KICAgICAgICAgICAgcmV0dXJuIDEwOw0KICAgICAgICB9DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgImZvbyIsIHsNCiAgICAgICAgICAgIGdldDogZ2V0X0Z1bmMsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgIH0pOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIHsNCiAgICAgICAgICAgICAgICBmb286IHsNCiAgICAgICAgICAgICAgICAgICAgdmFsdWU6IDExDQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHZhciB2ZXJpZnlFbnVtZXJhYmxlID0gZmFsc2U7DQogICAgICAgICAgICBmb3IgKHZhciBwIGluIG9iaikgew0KICAgICAgICAgICAgICAgIGlmIChwID09PSAiZm9vIikgew0KICAgICAgICAgICAgICAgICAgICB2ZXJpZnlFbnVtZXJhYmxlID0gdHJ1ZTsNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9DQoNCiAgICAgICAgICAgIHZhciB2ZXJpZnlWYWx1ZSA9IGZhbHNlOw0KICAgICAgICAgICAgdmVyaWZ5VmFsdWUgPSAob2JqLmZvbyA9PT0gMTApOw0KDQogICAgICAgICAgICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAiZm9vIik7DQoNCiAgICAgICAgICAgIHZhciB2ZXJpZnlDb25maWd1cmFibGUgPSBmYWxzZTsNCiAgICAgICAgICAgIGRlbGV0ZSBvYmouZm9vOw0KICAgICAgICAgICAgdmVyaWZ5Q29uZmlndXJhYmxlID0gb2JqLmhhc093blByb3BlcnR5KCJmb28iKTsNCg0KICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IgJiYgdmVyaWZ5Q29uZmlndXJhYmxlICYmICF2ZXJpZnlFbnVtZXJhYmxlICYmDQogICAgICAgICAgICAgICAgdmVyaWZ5VmFsdWUgJiYgdHlwZW9mIChkZXNjLnNldCkgPT09ICJ1bmRlZmluZWQiICYmIGRlc2MuZ2V0ID09PSBnZXRfRnVuYzsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties throws TypeError when P is accessor property and P.configurable is false, desc is data property (8.12.9 step 9.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-67.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy02LWEtNjguanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydGllcyB0aHJvd3MgVHlwZUVycm9yIHdoZW4gUCBpcyBkYXRhIHByb3BlcnR5IGFuZCAgUC5jb25maWd1cmFibGUgaXMgZmFsc2UsIGRlc2MgaXMgYWNjZXNzb3IgcHJvcGVydHkgKDguMTIuOSBzdGVwIDkuYSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiZm9vIiwgew0KICAgICAgICAgICAgdmFsdWU6IDEwLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBmdW5jdGlvbiBnZXRfZnVuYygpIHsNCiAgICAgICAgICAgIHJldHVybiAxMTsNCiAgICAgICAgfQ0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIHsNCiAgICAgICAgICAgICAgICBmb286IHsNCiAgICAgICAgICAgICAgICAgICAgZ2V0OiBnZXRfZnVuYw0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpICYmIGRhdGFQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KG9iaiwgImZvbyIsIDEwLCBmYWxzZSwgZmFsc2UsIGZhbHNlKTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties throws TypeError when P is data property and P.configurable is false, desc is accessor property (8.12.9 step 9.a)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-68.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy02LWEtNjkuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydGllcyAtICdQJyBpcyBkYXRhIHByb3BlcnR5IGFuZCBQLmNvbmZpZ3VyYWJsZSBpcyB0cnVlLCBkZXNjIGlzIGFjY2Vzc29yIHByb3BlcnR5ICg4LjEyLjkgc3RlcCA5LmIuaSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiZm9vIiwgew0KICAgICAgICAgICAgdmFsdWU6IDEwLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIGZ1bmN0aW9uIGdldF9GdW5jKCkgew0KICAgICAgICAgICAgcmV0dXJuIDIwOw0KICAgICAgICB9DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMob2JqLCB7DQogICAgICAgICAgICBmb286IHsNCiAgICAgICAgICAgICAgICBnZXQ6IGdldF9GdW5jDQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciB2ZXJpZnlFbnVtZXJhYmxlID0gZmFsc2U7DQogICAgICAgIGZvciAodmFyIHAgaW4gb2JqKSB7DQogICAgICAgICAgICBpZiAocCA9PT0gImZvbyIpIHsNCiAgICAgICAgICAgICAgICB2ZXJpZnlFbnVtZXJhYmxlID0gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIHZhciB2ZXJpZnlWYWx1ZSA9IGZhbHNlOw0KICAgICAgICB2ZXJpZnlWYWx1ZSA9IChvYmouZm9vID09PSAyMCk7DQoNCiAgICAgICAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgImZvbyIpOw0KDQogICAgICAgIHZhciB2ZXJpZnlDb25maWd1cmFibGUgPSB0cnVlOw0KICAgICAgICBkZWxldGUgb2JqLmZvbzsNCiAgICAgICAgdmVyaWZ5Q29uZmlndXJhYmxlID0gb2JqLmhhc093blByb3BlcnR5KCJmb28iKTsNCg0KICAgICAgICByZXR1cm4gIXZlcmlmeUNvbmZpZ3VyYWJsZSAmJiAhdmVyaWZ5RW51bWVyYWJsZSAmJiB2ZXJpZnlWYWx1ZSAmJg0KICAgICAgICAgICAgdHlwZW9mIGRlc2Muc2V0ID09PSAidW5kZWZpbmVkIiAmJiBkZXNjLmdldCA9PT0gZ2V0X0Z1bmM7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - 'P' is data property and P.configurable is true, desc is accessor property (8.12.9 step 9.b.i)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-69.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy02LWEtNy5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ1AnIGlzIG93biBhY2Nlc3NvciBwcm9wZXJ0eSB0aGF0IG92ZXJyaWRlcyBhbiBpbmhlcml0ZWQgZGF0YSBwcm9wZXJ0eSAoOC4xMi45IHN0ZXAgMSApIA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBwcm90byA9IHt9Ow0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkocHJvdG8sICJwcm9wIiwgew0KICAgICAgICAgICAgdmFsdWU6IDExLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KICAgICAgICB2YXIgQ29uID0gZnVuY3Rpb24gKCkgeyB9Ow0KICAgICAgICBDb24ucHJvdG90eXBlID0gcHJvdG87DQoNCiAgICAgICAgdmFyIG9iaiA9IG5ldyBDb24oKTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3AiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gMTI7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMob2JqLCB7DQogICAgICAgICAgICAgICAgcHJvcDogew0KICAgICAgICAgICAgICAgICAgICB2YWx1ZTogMTMsDQogICAgICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpICYmIG9iai5wcm9wID09PSAxMjsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - 'P' is own accessor property that overrides an inherited data property (8.12.9 step 1 )","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-7.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy02LWEtNzAuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydGllcyAtICdQJyBpcyBhY2Nlc3NvciBwcm9wZXJ0eSBhbmQgIFAuY29uZmlndXJhYmxlIGlzIHRydWUsICdkZXNjJyBpbiAnUHJvcGVydGllcycgaXMgZGF0YSBwcm9wZXJ0eSAoOC4xMi45IHN0ZXAgOS5jLmkpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgZnVuY3Rpb24gZ2V0X2Z1bmMoKSB7DQogICAgICAgICAgICByZXR1cm4gMTA7DQogICAgICAgIH0NCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiZm9vIiwgew0KICAgICAgICAgICAgZ2V0OiBnZXRfZnVuYywNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIHsNCiAgICAgICAgICAgIGZvbzogew0KICAgICAgICAgICAgICAgIHZhbHVlOiAxMg0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCiAgICAgICAgcmV0dXJuIGRhdGFQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KG9iaiwgImZvbyIsIDEyLCBmYWxzZSwgZmFsc2UsIHRydWUpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties - 'P' is accessor property and P.configurable is true, 'desc' in 'Properties' is data property (8.12.9 step 9.c.i)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-70.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy02LWEtNzEuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydGllcyB0aHJvd3MgVHlwZUVycm9yIHdoZW4gJ1AnIGlzIGRhdGEgcHJvcGVydHkgYW5kICBQLmNvbmZpZ3VyYWJsZSBpcyBmYWxzZSwgUC53cml0YWJsZSBpcyBmYWxzZSwgZGVzYyBpcyBkYXRhIHByb3BlcnR5IGFuZCAgZGVzYy53cml0YWJsZSBpcyB0cnVlICg4LjEyLjkgc3RlcCAxMC5hLmkpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgImZvbyIsIHsgDQogICAgICAgICAgICB2YWx1ZTogMTAsIA0KICAgICAgICAgICAgd3JpdGFibGU6IGZhbHNlLCANCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UgDQogICAgICAgIH0pOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIHsNCiAgICAgICAgICAgICAgICBmb286IHsNCiAgICAgICAgICAgICAgICAgICAgd3JpdGFibGU6IHRydWUNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIChlIGluc3RhbmNlb2YgVHlwZUVycm9yKSAmJiBkYXRhUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChvYmosICJmb28iLCAxMCwgZmFsc2UsIGZhbHNlLCBmYWxzZSk7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties throws TypeError when 'P' is data property and P.configurable is false, P.writable is false, desc is data property and desc.writable is true (8.12.9 step 10.a.i)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-71.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy02LWEtNzIuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydGllcyB0aHJvd3MgVHlwZUVycm9yIHdoZW4gUCBpcyBkYXRhIHByb3BlcnR5IGFuZCAgUC5jb25maWd1cmFibGUgaXMgZmFsc2UsIFAud3JpdGFibGUgaXMgZmFsc2UsIGRlc2MgaXMgZGF0YSBwcm9wZXJ0eSBhbmQgIGRlc2MudmFsdWUgaXMgbm90IGVxdWFsIHRvIFAudmFsdWUgKDguMTIuOSBzdGVwIDEwLmEuaWkuMSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiZm9vIiwgeyANCiAgICAgICAgICAgIHZhbHVlOiAxMCwgDQogICAgICAgICAgICB3cml0YWJsZTogZmFsc2UsIA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZSANCiAgICAgICAgfSk7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgew0KICAgICAgICAgICAgICAgIGZvbzogew0KICAgICAgICAgICAgICAgICAgICB2YWx1ZTogMjANCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIChlIGluc3RhbmNlb2YgVHlwZUVycm9yKSAmJiBkYXRhUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChvYmosICJmb28iLCAxMCwgZmFsc2UsIGZhbHNlLCBmYWxzZSk7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties throws TypeError when P is data property and P.configurable is false, P.writable is false, desc is data property and desc.value is not equal to P.value (8.12.9 step 10.a.ii.1)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-72.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy02LWEtNzMuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydGllcyB3aWxsIG5vdCB0aHJvdyBUeXBlRXJyb3IgaWYgUC5jb25maWd1cmFibGUgaXMgZmFsc2UsIFAud3JpdGFsYmUgaXMgZmFsc2UsIFAudmFsdWUgaXMgdW5kZWZpbmVkIGFuZCBwcm9wZXJ0aWVzLnZhbHVlIGlzIHVuZGVmaW5lZCAoOC4xMi45IHN0ZXAgMTAuYS5paS4xKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJmb28iLCB7IA0KICAgICAgICAgICAgdmFsdWU6IHVuZGVmaW5lZCwgDQogICAgICAgICAgICB3cml0YWJsZTogZmFsc2UsIA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZSANCiAgICAgICAgfSk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMob2JqLCB7DQogICAgICAgICAgICBmb286IHsNCiAgICAgICAgICAgICAgICB2YWx1ZTogdW5kZWZpbmVkDQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KICAgICAgICByZXR1cm4gZGF0YVByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3Qob2JqLCAiZm9vIiwgdW5kZWZpbmVkLCBmYWxzZSwgZmFsc2UsIGZhbHNlKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties will not throw TypeError if P.configurable is false, P.writalbe is false, P.value is undefined and properties.value is undefined (8.12.9 step 10.a.ii.1)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-73.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy02LWEtNzQuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydGllcyB3aWxsIG5vdCB0aHJvdyBUeXBlRXJyb3IgaWYgUC5jb25maWd1cmFibGUgaXMgZmFsc2UsIFAud3JpdGFsYmUgaXMgZmFsc2UsIFAudmFsdWUgaXMgbnVsbCBhbmQgcHJvcGVydGllcy52YWx1ZSBpcyBudWxsICg4LjEyLjkgc3RlcCAxMC5hLmlpLjEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgImZvbyIsIHsgDQogICAgICAgICAgICB2YWx1ZTogbnVsbCwgDQogICAgICAgICAgICB3cml0YWJsZTogZmFsc2UsIA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZSANCiAgICAgICAgfSk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMob2JqLCB7DQogICAgICAgICAgICBmb286IHsNCiAgICAgICAgICAgICAgICB2YWx1ZTogbnVsbA0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCiAgICAgICAgcmV0dXJuIGRhdGFQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KG9iaiwgImZvbyIsIG51bGwsIGZhbHNlLCBmYWxzZSwgZmFsc2UpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties will not throw TypeError if P.configurable is false, P.writalbe is false, P.value is null and properties.value is null (8.12.9 step 10.a.ii.1)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-74.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy02LWEtNzUuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydGllcyB3aWxsIG5vdCB0aHJvdyBUeXBlRXJyb3IgaWYgUC5jb25maWd1cmFibGUgaXMgZmFsc2UsIFAud3JpdGFsYmUgaXMgZmFsc2UsIFAudmFsdWUgaXMgTmFOIGFuZCBwcm9wZXJ0aWVzLnZhbHVlIGlzIE5hTiAoOC4xMi45IHN0ZXAgMTAuYS5paS4xKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiZm9vIiwgew0KICAgICAgICAgICAgdmFsdWU6IE5hTiwNCiAgICAgICAgICAgIHdyaXRhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgfSk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMob2JqLCB7DQogICAgICAgICAgICBmb286IHsNCiAgICAgICAgICAgICAgICB2YWx1ZTogTmFODQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciB2ZXJpZnlFbnVtZXJhYmxlID0gZmFsc2U7DQogICAgICAgIGZvciAodmFyIHAgaW4gb2JqKSB7DQogICAgICAgICAgICBpZiAocCA9PT0gImZvbyIpIHsNCiAgICAgICAgICAgICAgICB2ZXJpZnlFbnVtZXJhYmxlID0gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIG9iai5wcm9wID0gIm92ZXJyaWRlRGF0YSI7DQogICAgICAgIHZhciB2ZXJpZnlWYWx1ZSA9IGZhbHNlOw0KICAgICAgICB2ZXJpZnlWYWx1ZSA9IG9iai5mb28gIT09IG9iai5mb28gJiYgaXNOYU4ob2JqLmZvbyk7DQoNCiAgICAgICAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgImZvbyIpOw0KDQogICAgICAgIHZhciB2ZXJpZnlDb25maWd1cmFibGUgPSBmYWxzZTsNCiAgICAgICAgZGVsZXRlIG9iai5mb287DQogICAgICAgIHZlcmlmeUNvbmZpZ3VyYWJsZSA9IG9iai5oYXNPd25Qcm9wZXJ0eSgiZm9vIik7DQoNCiAgICAgICAgcmV0dXJuIHZlcmlmeVZhbHVlICYmICF2ZXJpZnlFbnVtZXJhYmxlICYmIHZlcmlmeUNvbmZpZ3VyYWJsZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties will not throw TypeError if P.configurable is false, P.writalbe is false, P.value is NaN and properties.value is NaN (8.12.9 step 10.a.ii.1)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-75.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy02LWEtNzYuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydGllcyB0aHJvd3MgVHlwZUVycm9yIHdoZW4gUC5jb25maWd1cmFibGUgaXMgZmFsc2UsIFAud3JpdGFsYmUgaXMgZmFsc2UsIHByb3BlcnRpZXMudmFsdWUgaXMgKzAgYW5kIFAudmFsdWUgaXMgLTAgKDguMTIuOSBzdGVwIDEwLmEuaWkuMSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiZm9vIiwgeyANCiAgICAgICAgICAgIHZhbHVlOiAtMCwgDQogICAgICAgICAgICB3cml0YWJsZTogZmFsc2UsIA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZSANCiAgICAgICAgfSk7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgew0KICAgICAgICAgICAgICAgIGZvbzogew0KICAgICAgICAgICAgICAgICAgICB2YWx1ZTogKzANCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIChlIGluc3RhbmNlb2YgVHlwZUVycm9yKSAmJiBkYXRhUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChvYmosICJmb28iLCAtMCwgZmFsc2UsIGZhbHNlLCBmYWxzZSk7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties throws TypeError when P.configurable is false, P.writalbe is false, properties.value is +0 and P.value is -0 (8.12.9 step 10.a.ii.1)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-76.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy02LWEtNzcuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydGllcyB0aHJvd3MgVHlwZUVycm9yIHdoZW4gUC5jb25maWd1cmFibGUgaXMgZmFsc2UsIFAud3JpdGFsYmUgaXMgZmFsc2UsIHByb3BlcnRpZXMudmFsdWUgaXMgKzAgYW5kIFAudmFsdWUgaXMgLTAgKDguMTIuOSBzdGVwIDEwLmEuaWkuMSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiZm9vIiwgeyANCiAgICAgICAgICAgIHZhbHVlOiArMCwgDQogICAgICAgICAgICB3cml0YWJsZTogZmFsc2UsIA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZSANCiAgICAgICAgfSk7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgew0KICAgICAgICAgICAgICAgIGZvbzogew0KICAgICAgICAgICAgICAgICAgICB2YWx1ZTogLTANCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIChlIGluc3RhbmNlb2YgVHlwZUVycm9yKSAmJiBkYXRhUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChvYmosICJmb28iLCArMCwgZmFsc2UsIGZhbHNlLCBmYWxzZSk7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties throws TypeError when P.configurable is false, P.writalbe is false, properties.value is +0 and P.value is -0 (8.12.9 step 10.a.ii.1)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-77.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy02LWEtNzguanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydGllcyB3aWxsIG5vdCB0aHJvdyBUeXBlRXJyb3Igd2hlbiBQLmNvbmZpZ3VyYWJsZSBpcyBmYWxzZSwgUC53cml0YWxiZSBpcyBmYWxzZSwgcHJvcGVydGllcy52YWx1ZSBhbmQgUC52YWx1ZSBhcmUgdHdvIG51bWJlcnMgd2l0aCB0aGUgc2FtZSB2YWx1ZSAoOC4xMi45IHN0ZXAgMTAuYS5paS4xKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJmb28iLCB7DQogICAgICAgICAgICB2YWx1ZTogMTAwLA0KICAgICAgICAgICAgd3JpdGFibGU6IGZhbHNlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZSANCiAgICAgICAgfSk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMob2JqLCB7DQogICAgICAgICAgICBmb286IHsNCiAgICAgICAgICAgICAgICB2YWx1ZTogMTAwDQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KICAgICAgICByZXR1cm4gZGF0YVByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3Qob2JqLCAiZm9vIiwgMTAwLCBmYWxzZSwgZmFsc2UsIGZhbHNlKTsNCg0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties will not throw TypeError when P.configurable is false, P.writalbe is false, properties.value and P.value are two numbers with the same value (8.12.9 step 10.a.ii.1)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-78.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy02LWEtNzkuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydGllcyB0aHJvd3MgVHlwZUVycm9yIHdoZW4gUC5jb25maWd1cmFibGUgaXMgZmFsc2UsIFAud3JpdGFsYmUgaXMgZmFsc2UsIHByb3BlcnRpZXMudmFsdWUgYW5kIFAudmFsdWUgYXJlIHR3byBudW1iZXJzIHdpdGggZGlmZmVyZW50IHZhbHVlcyAoOC4xMi45IHN0ZXAgMTAuYS5paS4xKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJmb28iLCB7IA0KICAgICAgICAgICAgdmFsdWU6IDEwLCANCiAgICAgICAgICAgIHdyaXRhYmxlOiBmYWxzZSwgDQogICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlIA0KICAgICAgICB9KTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMob2JqLCB7DQogICAgICAgICAgICAgICAgZm9vOiB7DQogICAgICAgICAgICAgICAgICAgIHZhbHVlOiAyMA0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpICYmIGRhdGFQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KG9iaiwgImZvbyIsIDEwLCBmYWxzZSwgZmFsc2UsIGZhbHNlKTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties throws TypeError when P.configurable is false, P.writalbe is false, properties.value and P.value are two numbers with different values (8.12.9 step 10.a.ii.1)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-79.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy02LWEtOC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ1AnIGlzIG93biBhY2Nlc3NvciBwcm9wZXJ0eSB0aGF0IG92ZXJyaWRlcyBhbiBpbmhlcml0ZWQgYWNjZXNzb3IgcHJvcGVydHkgKDguMTIuOSBzdGVwIDEgKSANCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgcHJvdG8gPSB7fTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHByb3RvLCAicHJvcCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24oKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIDExOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCiAgICAgICAgdmFyIENvbiA9IGZ1bmN0aW9uICgpIHsgfTsNCiAgICAgICAgQ29uLnByb3RvdHlwZSA9IHByb3RvOw0KDQogICAgICAgIHZhciBvYmogPSBuZXcgQ29uKCk7DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIDEyOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgew0KICAgICAgICAgICAgICAgIHByb3A6IHsNCiAgICAgICAgICAgICAgICAgICAgdmFsdWU6IDEzLA0KICAgICAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIChlIGluc3RhbmNlb2YgVHlwZUVycm9yKSAmJiBvYmoucHJvcCA9PT0gMTI7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - 'P' is own accessor property that overrides an inherited accessor property (8.12.9 step 1 )","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-8.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy02LWEtODAuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydGllcyB3aWxsIG5vdCB0aHJvdyBUeXBlRXJyb3Igd2hlbiBQLmNvbmZpZ3VyYWJsZSBpcyBmYWxzZSwgUC53cml0YWxiZSBpcyBmYWxzZSwgcHJvcGVydGllcy52YWx1ZSBhbmQgUC52YWx1ZSBhcmUgdHdvIHN0cmluZ3Mgd2l0aCB0aGUgc2FtZSB2YWx1ZSAoOC4xMi45IHN0ZXAgMTAuYS5paS4xKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJmb28iLCB7DQogICAgICAgICAgICB2YWx1ZTogImFiY2QiLA0KICAgICAgICAgICAgd3JpdGFibGU6IGZhbHNlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZSANCiAgICAgICAgfSk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMob2JqLCB7DQogICAgICAgICAgICBmb286IHsNCiAgICAgICAgICAgICAgICB2YWx1ZTogImFiY2QiDQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KICAgICAgICByZXR1cm4gZGF0YVByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3Qob2JqLCAiZm9vIiwgImFiY2QiLCBmYWxzZSwgZmFsc2UsIGZhbHNlKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties will not throw TypeError when P.configurable is false, P.writalbe is false, properties.value and P.value are two strings with the same value (8.12.9 step 10.a.ii.1)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-80.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy02LWEtODEuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydGllcyB0aHJvd3MgVHlwZUVycm9yIHdoZW4gUC5jb25maWd1cmFibGUgaXMgZmFsc2UsIFAud3JpdGFsYmUgaXMgZmFsc2UsIHByb3BlcnRpZXMudmFsdWUgYW5kIFAudmFsdWUgYXJlIHR3byBzdHJpbmdzIHdpdGggZGlmZmVyZW50IHZhbHVlcyAoOC4xMi45IHN0ZXAgMTAuYS5paS4xKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJmb28iLCB7IA0KICAgICAgICAgICAgdmFsdWU6ICJhYmNkIiwgDQogICAgICAgICAgICB3cml0YWJsZTogZmFsc2UsIA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZSANCiAgICAgICAgfSk7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgew0KICAgICAgICAgICAgICAgIGZvbzogew0KICAgICAgICAgICAgICAgICAgICB2YWx1ZTogImRlZmciDQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiAoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikgJiYgZGF0YVByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3Qob2JqLCAiZm9vIiwgImFiY2QiLCBmYWxzZSwgZmFsc2UsIGZhbHNlKTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties throws TypeError when P.configurable is false, P.writalbe is false, properties.value and P.value are two strings with different values (8.12.9 step 10.a.ii.1)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-81.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy02LWEtODIuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydGllcyB3aWxsIG5vdCB0aHJvdyBUeXBlRXJyb3Igd2hlbiBQLmNvbmZpZ3VyYWJsZSBpcyBmYWxzZSwgUC53cml0YWxiZSBpcyBmYWxzZSwgcHJvcGVydGllcy52YWx1ZSBhbmQgUC52YWx1ZSBhcmUgdHdvIGJvb2xlYW5zIHdpdGggdGhlIHNhbWUgdmFsdWUgKDguMTIuOSBzdGVwIDEwLmEuaWkuMSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiZm9vIiwgew0KICAgICAgICAgICAgdmFsdWU6IGZhbHNlLA0KICAgICAgICAgICAgd3JpdGFibGU6IGZhbHNlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZSANCiAgICAgICAgfSk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMob2JqLCB7DQogICAgICAgICAgICBmb286IHsNCiAgICAgICAgICAgICAgICB2YWx1ZTogZmFsc2UNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQogICAgICAgIHJldHVybiBkYXRhUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChvYmosICJmb28iLCBmYWxzZSwgZmFsc2UsIGZhbHNlLCBmYWxzZSk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties will not throw TypeError when P.configurable is false, P.writalbe is false, properties.value and P.value are two booleans with the same value (8.12.9 step 10.a.ii.1)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-82.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy02LWEtODMuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydGllcyB0aHJvd3MgVHlwZUVycm9yIHdoZW4gUC5jb25maWd1cmFibGUgaXMgZmFsc2UsIFAud3JpdGFsYmUgaXMgZmFsc2UsIHByb3BlcnRpZXMudmFsdWUgYW5kIFAudmFsdWUgYXJlIHR3byBib29sZWFucyB3aXRoIGRpZmZlcmVudCB2YWx1ZXMgKDguMTIuOSBzdGVwIDEwLmEuaWkuMSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiZm9vIiwgew0KICAgICAgICAgICAgdmFsdWU6IGZhbHNlLA0KICAgICAgICAgICAgd3JpdGFibGU6IGZhbHNlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZSANCiAgICAgICAgfSk7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgew0KICAgICAgICAgICAgICAgIGZvbzogew0KICAgICAgICAgICAgICAgICAgICB2YWx1ZTogdHJ1ZQ0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpICYmIGRhdGFQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KG9iaiwgImZvbyIsIGZhbHNlLCBmYWxzZSwgZmFsc2UsIGZhbHNlKTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties throws TypeError when P.configurable is false, P.writalbe is false, properties.value and P.value are two booleans with different values (8.12.9 step 10.a.ii.1)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-83.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy02LWEtODQtMS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIHdpbGwgbm90IHRocm93IFR5cGVFcnJvciB3aGVuIFAuY29uZmlndXJhYmxlIGlzIGZhbHNlLCBQLndyaXRhbGJlIGlzIGZhbHNlLCBwcm9wZXJ0aWVzLnZhbHVlIGFuZCBQLnZhbHVlIGFyZSB0d28gT2JqZWN0cyByZWZlciB0byB0aGUgc2FtZSBvYmplY3Qgd2hpY2ggaGFzIGJlZW4gdXBkYXRlZCBiZWZvcmUgdXNlIGl0IHRvIHVwZGF0ZSB0aGUgb2JqZWN0ICg4LjEyLjkgc3RlcCAxMC5hLmlpLjEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgdmFyIG9iajEgPSB7IGxlbmd0aDogMTAgfTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiZm9vIiwgew0KICAgICAgICAgICAgdmFsdWU6IG9iajEsDQogICAgICAgICAgICB3cml0YWJsZTogZmFsc2UsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBvYmoyID0gb2JqMTsNCiAgICAgICAgb2JqMi55ID0gImhlbGxvIjsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIHsNCiAgICAgICAgICAgIGZvbzogew0KICAgICAgICAgICAgICAgIHZhbHVlOiBvYmoyDQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KICAgICAgICByZXR1cm4gZGF0YVByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3Qob2JqLCAiZm9vIiwgb2JqMSwgZmFsc2UsIGZhbHNlLCBmYWxzZSk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties will not throw TypeError when P.configurable is false, P.writalbe is false, properties.value and P.value are two Objects refer to the same object which has been updated before use it to update the object (8.12.9 step 10.a.ii.1)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-84-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy02LWEtODQuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydGllcyB3aWxsIG5vdCB0aHJvdyBUeXBlRXJyb3Igd2hlbiBQLmNvbmZpZ3VyYWJsZSBpcyBmYWxzZSwgUC53cml0YWxiZSBpcyBmYWxzZSwgcHJvcGVydGllcy52YWx1ZSBhbmQgUC52YWx1ZSBhcmUgdHdvIE9iamVjdHMgcmVmZXIgdG8gdGhlIHNhbWUgb2JqZWN0ICg4LjEyLjkgc3RlcCAxMC5hLmlpLjEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgdmFyIG9iajEgPSB7IGxlbmd0aDogMTAgfTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiZm9vIiwgeyANCiAgICAgICAgICAgIHZhbHVlOiBvYmoxLCANCiAgICAgICAgICAgIHdyaXRhYmxlOiBmYWxzZSwgDQogICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlIA0KICAgICAgICB9KTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIHsNCiAgICAgICAgICAgIGZvbzogew0KICAgICAgICAgICAgICAgIHZhbHVlOiBvYmoxDQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KICAgICAgICByZXR1cm4gZGF0YVByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3Qob2JqLCAiZm9vIiwgb2JqMSwgZmFsc2UsIGZhbHNlLCBmYWxzZSk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties will not throw TypeError when P.configurable is false, P.writalbe is false, properties.value and P.value are two Objects refer to the same object (8.12.9 step 10.a.ii.1)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-84.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy02LWEtODUuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydGllcyB0aHJvd3MgVHlwZUVycm9yIHdoZW4gUC5jb25maWd1cmFibGUgaXMgZmFsc2UsIFAud3JpdGFsYmUgaXMgZmFsc2UsIHByb3BlcnRpZXMudmFsdWUgYW5kIFAudmFsdWUgYXJlIHR3byBvYmplY3RzIHdpdGggZGlmZmVyZW50IHZhbHVlcyAoOC4xMi45IHN0ZXAgMTAuYS5paS4xKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIHZhciBvYmoxID0geyBsZW5ndGg6IDEwIH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgImZvbyIsIHsgDQogICAgICAgICAgICB2YWx1ZTogb2JqMSwgDQogICAgICAgICAgICB3cml0YWJsZTogZmFsc2UsIA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZSANCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIG9iajIgPSB7IGxlbmd0aDogMjAgfTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMob2JqLCB7DQogICAgICAgICAgICAgICAgZm9vOiB7DQogICAgICAgICAgICAgICAgICAgIHZhbHVlOiBvYmoyDQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiAoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikgJiYgZGF0YVByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3Qob2JqLCAiZm9vIiwgb2JqMSwgZmFsc2UsIGZhbHNlLCBmYWxzZSk7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties throws TypeError when P.configurable is false, P.writalbe is false, properties.value and P.value are two objects with different values (8.12.9 step 10.a.ii.1)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-85.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy02LWEtODYtMS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIHdpbGwgbm90IHRocm93IFR5cGVFcnJvciB3aGVuIFAuY29uZmlndXJhYmxlIGlzIGZhbHNlLCBib3RoIHByb3BlcnRpZXMuW1tTZXRdXSBhbmQgUC5bW1NldF1dIGFyZSB0d28gb2JqZWN0cyB3aGljaCByZWZlciB0byB0aGUgc2FtZSBvYmplY3QgYW5kIHRoZSBvYmplY3QgaGFzIGJlZW4gdXBkYXRlZCBhZnRlciBkZWZpbmVkKDguMTIuOSBzdGVwIDExLmEuaSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICB2YXIgc2V0X2Z1bmMgPSBmdW5jdGlvbiAodmFsdWUpIHsNCiAgICAgICAgICAgIG9iai5zZXRWZXJpZnlIZWxwUHJvcCA9IHZhbHVlOw0KICAgICAgICB9DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgImZvbyIsIHsNCiAgICAgICAgICAgIHNldDogc2V0X2Z1bmMsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgIH0pOw0KDQogICAgICAgIHNldF9mdW5jID0gZnVuY3Rpb24gKHZhbHVlKSB7DQogICAgICAgICAgICBvYmouc2V0VmVyaWZ5SGVscFByb3AxID0gdmFsdWU7DQogICAgICAgIH0NCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMob2JqLCB7DQogICAgICAgICAgICAgICAgZm9vOiB7DQogICAgICAgICAgICAgICAgICAgIHNldDogc2V0X2Z1bmMNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9KTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIGFjY2Vzc29yUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChvYmosICJmb28iLCB1bmRlZmluZWQsIHNldF9mdW5jLCAic2V0VmVyaWZ5SGVscFByb3AiLCBmYWxzZSwgZmFsc2UpOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties will not throw TypeError when P.configurable is false, both properties.[[Set]] and P.[[Set]] are two objects which refer to the same object and the object has been updated after defined(8.12.9 step 11.a.i)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-86-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy02LWEtODYuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydGllcyB3aWxsIG5vdCB0aHJvdyBUeXBlRXJyb3Igd2hlbiBQLmNvbmZpZ3VyYWJsZSBpcyBmYWxzZSwgYm90aCBwcm9wZXJ0aWVzLltbU2V0XV0gYW5kIFAuW1tTZXRdXSBhcmUgdHdvIG9iamVjdHMgd2hpY2ggcmVmZXIgdG8gdGhlIHNhbWUgb2JqZWN0ICg4LjEyLjkgc3RlcCAxMS5hLmkpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgZnVuY3Rpb24gc2V0X2Z1bmModmFsdWUpIHsNCiAgICAgICAgICAgIG9iai5zZXRWZXJpZnlIZWxwUHJvcCA9IHZhbHVlOw0KICAgICAgICB9DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgImZvbyIsIHsNCiAgICAgICAgICAgIHNldDogc2V0X2Z1bmMsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgIH0pOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgew0KICAgICAgICAgICAgZm9vOiB7DQogICAgICAgICAgICAgICAgc2V0OiBzZXRfZnVuYw0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCiAgICAgICAgcmV0dXJuIGFjY2Vzc29yUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChvYmosICJmb28iLCB1bmRlZmluZWQsIHNldF9mdW5jLCAic2V0VmVyaWZ5SGVscFByb3AiLCBmYWxzZSwgZmFsc2UpOw0KDQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties will not throw TypeError when P.configurable is false, both properties.[[Set]] and P.[[Set]] are two objects which refer to the same object (8.12.9 step 11.a.i)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-86.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy02LWEtODcuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydGllcyB0aHJvd3MgVHlwZUVycm9yIHdoZW4gUC5jb25maWd1cmFibGUgaXMgZmFsc2UsIGJvdGggcHJvcGVydGllcy5bW1NldF1dIGFuZCBQLltbU2V0XV0gYXJlIHR3byBvYmplY3RzIHdoaWNoIHJlZmVyIHRvIGRpZmZlcmVudCBvYmplY3RzICg4LjEyLjkgc3RlcCAxMS5hLmkpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgZnVuY3Rpb24gc2V0X2Z1bmMxKHZhbHVlKSB7DQogICAgICAgICAgICBvYmouc2V0VmVyaWZ5SGVscFByb3AgPSB2YWx1ZTsNCiAgICAgICAgfQ0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJmb28iLCB7DQogICAgICAgICAgICBzZXQ6IHNldF9mdW5jMSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgfSk7DQoNCiAgICAgICAgZnVuY3Rpb24gc2V0X2Z1bmMyKCkge30NCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMob2JqLCB7DQogICAgICAgICAgICAgICAgZm9vOiB7DQogICAgICAgICAgICAgICAgICAgIHNldDogc2V0X2Z1bmMyDQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiAoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikgJiYgYWNjZXNzb3JQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KG9iaiwgImZvbyIsIHVuZGVmaW5lZCwgc2V0X2Z1bmMxLCAic2V0VmVyaWZ5SGVscFByb3AiLCBmYWxzZSwgZmFsc2UpOw0KICAgICAgICB9DQoNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties throws TypeError when P.configurable is false, both properties.[[Set]] and P.[[Set]] are two objects which refer to different objects (8.12.9 step 11.a.i)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-87.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy02LWEtODguanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydGllcyB0aHJvd3MgVHlwZUVycm9yIHdoZW4gUC5jb25maWd1cmFibGUgaXMgZmFsc2UsIFAuW1tTZXRdXSBpcyB1bmRlZmluZWQsIHByb3BlcnRpZXMuW1tTZXRdXSByZWZlcnMgdG8gYW4gb2JqY2V0ICg4LjEyLjkgc3RlcCAxMS5hLmkpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgZnVuY3Rpb24gZ2V0X0Z1bmMoKSB7DQogICAgICAgICAgICByZXR1cm4gMDsNCiAgICAgICAgfQ0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJmb28iLCB7DQogICAgICAgICAgICBzZXQ6IHVuZGVmaW5lZCwNCiAgICAgICAgICAgIGdldDogZ2V0X0Z1bmMsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgfSk7DQoNCiAgICAgICAgZnVuY3Rpb24gc2V0X0Z1bmMoKSB7IH0NCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMob2JqLCB7DQogICAgICAgICAgICAgICAgZm9vOiB7DQogICAgICAgICAgICAgICAgICAgIHNldDogc2V0X0Z1bmMNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgdmFyIHZlcmlmeUVudW1lcmFibGUgPSBmYWxzZTsNCiAgICAgICAgICAgIGZvciAodmFyIHAgaW4gb2JqKSB7DQogICAgICAgICAgICAgICAgaWYgKHAgPT09ICJmb28iKSB7DQogICAgICAgICAgICAgICAgICAgIHZlcmlmeUVudW1lcmFibGUgPSB0cnVlOw0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgImZvbyIpOw0KDQogICAgICAgICAgICB2YXIgdmVyaWZ5Q29uZmlndXJhYmxlID0gZmFsc2U7DQogICAgICAgICAgICBkZWxldGUgb2JqLmZvbzsNCiAgICAgICAgICAgIHZlcmlmeUNvbmZpZ3VyYWJsZSA9IG9iai5oYXNPd25Qcm9wZXJ0eSgiZm9vIik7DQoNCiAgICAgICAgICAgIHJldHVybiBlIGluc3RhbmNlb2YgVHlwZUVycm9yICYmICF2ZXJpZnlFbnVtZXJhYmxlICYmIHZlcmlmeUNvbmZpZ3VyYWJsZSAmJiB0eXBlb2YgKGRlc2Muc2V0KSA9PT0gInVuZGVmaW5lZCI7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties throws TypeError when P.configurable is false, P.[[Set]] is undefined, properties.[[Set]] refers to an objcet (8.12.9 step 11.a.i)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-88.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy02LWEtODkuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydGllcyB3aWxsIG5vdCB0aHJvdyBUeXBlRXJyb3Igd2hlbiBQLmNvbmZpZ3VyYWJsZSBpcyBmYWxzZSwgUC5bW1NldF1dIGFuZCBwcm9wZXJ0aWVzLltbU2V0XV0gYXJlIHVuZGVmaW5lZCAoOC4xMi45IHN0ZXAgMTEuYS5pKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIGZ1bmN0aW9uIGdldF9GdW5jKCkgew0KICAgICAgICAgICAgcmV0dXJuIDA7DQogICAgICAgIH0NCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiZm9vIiwgew0KICAgICAgICAgICAgZ2V0OiBnZXRfRnVuYywNCiAgICAgICAgICAgIHNldDogdW5kZWZpbmVkLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogZmFsc2UsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgIH0pOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgew0KICAgICAgICAgICAgZm9vOiB7DQogICAgICAgICAgICAgICAgc2V0OiB1bmRlZmluZWQNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIHZlcmlmeUVudW1lcmFibGUgPSBmYWxzZTsNCiAgICAgICAgZm9yICh2YXIgcCBpbiBvYmopIHsNCiAgICAgICAgICAgIGlmIChwID09PSAiZm9vIikgew0KICAgICAgICAgICAgICAgIHZlcmlmeUVudW1lcmFibGUgPSB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgImZvbyIpOw0KDQogICAgICAgIHZhciB2ZXJpZnlDb25maWd1cmFibGUgPSBmYWxzZTsNCiAgICAgICAgZGVsZXRlIG9iai5mb287DQogICAgICAgIHZlcmlmeUNvbmZpZ3VyYWJsZSA9IG9iai5oYXNPd25Qcm9wZXJ0eSgiZm9vIik7DQoNCiAgICAgICAgcmV0dXJuIHZlcmlmeUNvbmZpZ3VyYWJsZSAmJiAhdmVyaWZ5RW51bWVyYWJsZSAmJiB0eXBlb2YgKGRlc2Muc2V0KSA9PT0gInVuZGVmaW5lZCI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties will not throw TypeError when P.configurable is false, P.[[Set]] and properties.[[Set]] are undefined (8.12.9 step 11.a.i)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-89.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy02LWEtOS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIC0gJ1AnIGlzIG93biBhY2Nlc3NvciBwcm9wZXJ0eSB3aXRob3V0IGEgZ2V0IGZ1bmN0aW9uICg4LjEyLjkgc3RlcCAxICkgDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcCIsIHsNCiAgICAgICAgICAgIHNldDogZnVuY3Rpb24gKCkgeyB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMob2JqLCB7DQogICAgICAgICAgICAgICAgcHJvcDogew0KICAgICAgICAgICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsgfSwNCiAgICAgICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiAoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcik7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - 'P' is own accessor property without a get function (8.12.9 step 1 )","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-9.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy02LWEtOTAuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydGllcyB3aWxsIG5vdCB0aHJvdyBUeXBlRXJyb3Igd2hlbiBQLmNvbmZpZ3VyYWJsZSBpcyBmYWxzZSwgYm90aCBwcm9wZXJ0aWVzLltbR2V0XV0gYW5kIFAuW1tHZXRdXSBhcmUgdHdvIG9iamVjdHMgd2hpY2ggcmVmZXIgdG8gdGhlIHNhbWUgb2JqZWN0ICg4LjEyLjkgc3RlcCAxMS5hLmlpKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIGZ1bmN0aW9uIHNldF9mdW5jKHZhbHVlKSB7DQogICAgICAgICAgICBvYmouc2V0VmVyaWZ5SGVscFByb3AgPSB2YWx1ZTsNCiAgICAgICAgfQ0KICAgICAgICBmdW5jdGlvbiBnZXRfZnVuYygpIHsNCiAgICAgICAgICAgIHJldHVybiAxMDsNCiAgICAgICAgfQ0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJmb28iLCB7DQogICAgICAgICAgICBnZXQ6IGdldF9mdW5jLA0KICAgICAgICAgICAgc2V0OiBzZXRfZnVuYywNCiAgICAgICAgICAgIGVudW1lcmFibGU6IGZhbHNlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIHsNCiAgICAgICAgICAgIGZvbzogew0KICAgICAgICAgICAgICAgIGdldDogZ2V0X2Z1bmMNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQogICAgICAgIHJldHVybiBhY2Nlc3NvclByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3Qob2JqLCAiZm9vIiwgZ2V0X2Z1bmMsIHNldF9mdW5jLCAic2V0VmVyaWZ5SGVscFByb3AiLCBmYWxzZSwgZmFsc2UpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.defineProperties will not throw TypeError when P.configurable is false, both properties.[[Get]] and P.[[Get]] are two objects which refer to the same object (8.12.9 step 11.a.ii)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-90.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy02LWEtOTEuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydGllcyB0aHJvd3MgVHlwZUVycm9yIHdoZW4gUC5jb25maWd1cmFibGUgaXMgZmFsc2UsIGJvdGggcHJvcGVydGllcy5bW0dldF1dIGFuZCBQLltbR2V0XV0gYXJlIHR3byBvYmplY3RzIHdoaWNoIHJlZmVyIHRvIGRpZmZlcmVudCBvYmplY3RzICg4LjEyLjkgc3RlcCAxMS5hLmlpKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIGZ1bmN0aW9uIHNldF9mdW5jKHZhbHVlKSB7DQogICAgICAgICAgICBvYmouc2V0VmVyaWZ5SGVscFByb3AgPSB2YWx1ZTsNCiAgICAgICAgfQ0KICAgICAgICBmdW5jdGlvbiBnZXRfZnVuYzEoKSB7DQogICAgICAgICAgICByZXR1cm4gMTA7DQogICAgICAgIH0NCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiZm9vIiwgew0KICAgICAgICAgICAgZ2V0OiBnZXRfZnVuYzEsDQogICAgICAgICAgICBzZXQ6IHNldF9mdW5jLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogZmFsc2UsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgIH0pOw0KDQogICAgICAgIGZ1bmN0aW9uIGdldF9mdW5jMigpIHsNCiAgICAgICAgICAgIHJldHVybiAyMDsNCiAgICAgICAgfQ0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIHsNCiAgICAgICAgICAgICAgICBmb286IHsNCiAgICAgICAgICAgICAgICAgICAgZ2V0OiBnZXRfZnVuYzINCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIChlIGluc3RhbmNlb2YgVHlwZUVycm9yKSAmJiBhY2Nlc3NvclByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3Qob2JqLCAiZm9vIiwgZ2V0X2Z1bmMxLCBzZXRfZnVuYywgInNldFZlcmlmeUhlbHBQcm9wIiwgZmFsc2UsIGZhbHNlKTsNCiAgICAgICAgfQ0KDQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties throws TypeError when P.configurable is false, both properties.[[Get]] and P.[[Get]] are two objects which refer to different objects (8.12.9 step 11.a.ii)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-91.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy02LWEtOTIuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydGllcyB0aHJvd3MgVHlwZUVycm9yIHdoZW4gUC5jb25maWd1cmFibGUgaXMgZmFsc2UsIFAuW1tHZXRdXSBpcyB1bmRlZmluZWQsIHByb3BlcnRpZXMuW1tHZXRdXSByZWZlcnMgdG8gYW4gb2JqY2V0ICg4LjEyLjkgc3RlcCAxMS5hLmlpKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIGZ1bmN0aW9uIHNldF9mdW5jKHZhbHVlKSB7DQogICAgICAgICAgICBvYmouc2V0VmVyaWZ5SGVscFByb3AgPSB2YWx1ZTsNCiAgICAgICAgfQ0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJmb28iLCB7DQogICAgICAgICAgICBnZXQ6IHVuZGVmaW5lZCwNCiAgICAgICAgICAgIHNldDogc2V0X2Z1bmMsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgfSk7DQoNCiAgICAgICAgZnVuY3Rpb24gZ2V0X2Z1bmMoKSB7DQogICAgICAgICAgICByZXR1cm4gMDsNCiAgICAgICAgfQ0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIHsNCiAgICAgICAgICAgICAgICBmb286IHsNCiAgICAgICAgICAgICAgICAgICAgZ2V0OiBnZXRfZnVuYw0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpICYmIGFjY2Vzc29yUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChvYmosICJmb28iLCB1bmRlZmluZWQsIHNldF9mdW5jLCAic2V0VmVyaWZ5SGVscFByb3AiLCBmYWxzZSwgZmFsc2UpOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties throws TypeError when P.configurable is false, P.[[Get]] is undefined, properties.[[Get]] refers to an objcet (8.12.9 step 11.a.ii)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-92.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy02LWEtOTMtMS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIHdpbGwgdXBkYXRlIFtbVmFsdWVdXSBhdHRyaWJ1dGUgb2YgbmFtZWQgZGF0YSBwcm9wZXJ0eSAnUCcgc3VjY2Vzc2Z1bGx5IHdoZW4gW1tDb25maWd1cmFibGVdXSBhdHRyaWJ1dGUgaXMgdHJ1ZSBhbmQgW1tXcml0YWJsZV1dIGF0dHJpYnV0ZSBpcyBmYWxzZSBidXQgbm90IHdoZW4gYm90aCBhcmUgZmFsc2UgKDguMTIuOSAtIHN0ZXAgTm90ZSAmIDEwLmEuaWkuMSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcGVydHkiLCB7DQogICAgICAgICAgICB2YWx1ZTogMTAwMSwNCiAgICAgICAgICAgIHdyaXRhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCiAgICAgICAgDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wZXJ0eTEiLCB7DQogICAgICAgICAgICB2YWx1ZTogMTAwMywNCiAgICAgICAgICAgIHdyaXRhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgew0KICAgICAgICAgICAgICAgIHByb3BlcnR5OiB7DQogICAgICAgICAgICAgICAgICAgIHZhbHVlOiAxMDAyDQogICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICBwcm9wZXJ0eTE6IHsNCiAgICAgICAgICAgICAgICAgICAgdmFsdWU6IDEwMDQNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFR5cGVFcnJvciAmJg0KICAgICAgICAgICAgICAgIGRhdGFQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KG9iaiwgInByb3BlcnR5IiwgMTAwMiwgZmFsc2UsIGZhbHNlLCB0cnVlKSAmJg0KICAgICAgICAgICAgICAgIGRhdGFQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KG9iaiwgInByb3BlcnR5MSIsIDEwMDMsIGZhbHNlLCBmYWxzZSwgZmFsc2UpOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties will update [[Value]] attribute of named data property 'P' successfully when [[Configurable]] attribute is true and [[Writable]] attribute is false but not when both are false (8.12.9 - step Note & 10.a.ii.1)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-93-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy02LWEtOTMtMi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIHdpbGwgdXBkYXRlIFtbVmFsdWVdXSBhdHRyaWJ1dGUgb2YgaW5kZXhlZCBkYXRhIHByb3BlcnR5ICdQJyBzdWNjZXNzZnVsbHkgd2hlbiBbW0NvbmZpZ3VyYWJsZV1dIGF0dHJpYnV0ZSBpcyB0cnVlIGFuZCBbW1dyaXRhYmxlXV0gYXR0cmlidXRlIGlzIGZhbHNlIGJ1dCBub3Qgd2hlbiBib3RoIGFyZSBmYWxzZSAoOC4xMi45IC0gc3RlcCBOb3RlICYgMTAuYS5paS4xKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICIwIiwgew0KICAgICAgICAgICAgdmFsdWU6IDEwMDEsDQogICAgICAgICAgICB3cml0YWJsZTogZmFsc2UsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQogICAgICAgIA0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiMSIsIHsNCiAgICAgICAgICAgIHZhbHVlOiAxMDAzLA0KICAgICAgICAgICAgd3JpdGFibGU6IGZhbHNlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMob2JqLCB7DQogICAgICAgICAgICAgICAgMDogew0KICAgICAgICAgICAgICAgICAgICB2YWx1ZTogMTAwMg0KICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgMTogew0KICAgICAgICAgICAgICAgICAgICB2YWx1ZTogMTAwNA0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiBlIGluc3RhbmNlb2YgVHlwZUVycm9yICYmDQogICAgICAgICAgICAgICAgZGF0YVByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3Qob2JqLCAiMCIsIDEwMDIsIGZhbHNlLCBmYWxzZSwgdHJ1ZSkgJiYNCiAgICAgICAgICAgICAgICBkYXRhUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChvYmosICIxIiwgMTAwMywgZmFsc2UsIGZhbHNlLCBmYWxzZSk7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties will update [[Value]] attribute of indexed data property 'P' successfully when [[Configurable]] attribute is true and [[Writable]] attribute is false but not when both are false (8.12.9 - step Note & 10.a.ii.1)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-93-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy02LWEtOTMtMy5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIHdpbGwgZmFpbCB0byB1cGRhdGUgW1tWYWx1ZV1dIGF0dHJpYnV0ZSBvZiBuYW1lZCBkYXRhIHByb3BlcnR5ICdQJyB3aGVuIFtbQ29uZmlndXJhYmxlXV0gYXR0cmlidXRlIG9mIGZpcnN0IHVwZGF0aW5nIHByb3BlcnR5IGlzIGZhbHNlICAoOC4xMi45IC0gc3RlcCBOb3RlICYgMTAuYS5paS4xKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wZXJ0eSIsIHsNCiAgICAgICAgICAgIHZhbHVlOiAxMDAxLA0KICAgICAgICAgICAgd3JpdGFibGU6IGZhbHNlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICB9KTsNCiAgICAgICAgDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wZXJ0eTEiLCB7DQogICAgICAgICAgICB2YWx1ZTogMTAwMywNCiAgICAgICAgICAgIHdyaXRhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMob2JqLCB7DQogICAgICAgICAgICAgICAgcHJvcGVydHk6IHsNCiAgICAgICAgICAgICAgICAgICAgdmFsdWU6IDEwMDINCiAgICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAgIHByb3BlcnR5MTogew0KICAgICAgICAgICAgICAgICAgICB2YWx1ZTogMTAwNA0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiBlIGluc3RhbmNlb2YgVHlwZUVycm9yICYmDQogICAgICAgICAgICAgICAgZGF0YVByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3Qob2JqLCAicHJvcGVydHkiLCAxMDAxLCBmYWxzZSwgZmFsc2UsIGZhbHNlKSAmJg0KICAgICAgICAgICAgICAgIGRhdGFQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KG9iaiwgInByb3BlcnR5MSIsIDEwMDMsIGZhbHNlLCBmYWxzZSwgdHJ1ZSk7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties will fail to update [[Value]] attribute of named data property 'P' when [[Configurable]] attribute of first updating property is false (8.12.9 - step Note & 10.a.ii.1)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-93-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy02LWEtOTMtNC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzIHdpbGwgZmFpbCB0byB1cGRhdGUgW1tWYWx1ZV1dIGF0dHJpYnV0ZSBvZiBpbmRleGVkIGRhdGEgcHJvcGVydHkgJ1AnIHdoZW4gW1tDb25maWd1cmFibGVdXSBhdHRyaWJ1dGUgb2YgZmlyc3QgdXBkYXRpbmcgcHJvcGVydHkgYXJlIGZhbHNlICAoOC4xMi45IC0gc3RlcCBOb3RlICYgMTAuYS5paS4xKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICIwIiwgew0KICAgICAgICAgICAgdmFsdWU6IDEwMDEsDQogICAgICAgICAgICB3cml0YWJsZTogZmFsc2UsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgIH0pOw0KICAgICAgICANCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgIjEiLCB7DQogICAgICAgICAgICB2YWx1ZTogMTAwMywNCiAgICAgICAgICAgIHdyaXRhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMob2JqLCB7DQogICAgICAgICAgICAgICAgMDogew0KICAgICAgICAgICAgICAgICAgICB2YWx1ZTogMTAwMg0KICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgMTogew0KICAgICAgICAgICAgICAgICAgICB2YWx1ZTogMTAwNA0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiBlIGluc3RhbmNlb2YgVHlwZUVycm9yICYmDQogICAgICAgICAgICAgICAgZGF0YVByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3Qob2JqLCAiMCIsIDEwMDEsIGZhbHNlLCBmYWxzZSwgZmFsc2UpICYmDQogICAgICAgICAgICAgICAgZGF0YVByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3Qob2JqLCAiMSIsIDEwMDMsIGZhbHNlLCBmYWxzZSwgdHJ1ZSk7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties will fail to update [[Value]] attribute of indexed data property 'P' when [[Configurable]] attribute of first updating property are false (8.12.9 - step Note & 10.a.ii.1)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-93-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy02LWEtOTMuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydGllcyB3aWxsIG5vdCB0aHJvdyBUeXBlRXJyb3Igd2hlbiBQLmNvbmZpZ3VyYWJsZSBpcyBmYWxzZSwgUC5bW0dldF1dIGFuZCBwcm9wZXJ0aWVzLltbR2V0XV0gYXJlIHVuZGVmaW5lZCAoOC4xMi45IHN0ZXAgMTEuYS5paSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBmdW5jdGlvbiBzZXRfZnVuYyh2YWx1ZSkgew0KICAgICAgICAgICAgb2JqLnNldFZlcmlmeUhlbHBQcm9wID0gdmFsdWU7DQogICAgICAgIH0NCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiZm9vIiwgew0KICAgICAgICAgICAgZ2V0OiB1bmRlZmluZWQsDQogICAgICAgICAgICBzZXQ6IHNldF9mdW5jLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogZmFsc2UsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgIH0pOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKG9iaiwgew0KICAgICAgICAgICAgZm9vOiB7DQogICAgICAgICAgICAgICAgZ2V0OiB1bmRlZmluZWQNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSk7DQogICAgICAgIHJldHVybiBhY2Nlc3NvclByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3Qob2JqLCAiZm9vIiwgdW5kZWZpbmVkLCBzZXRfZnVuYywgInNldFZlcmlmeUhlbHBQcm9wIiwgZmFsc2UsIGZhbHNlKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties will not throw TypeError when P.configurable is false, P.[[Get]] and properties.[[Get]] are undefined (8.12.9 step 11.a.ii)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-93.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy02LWEtOTQuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydGllcyAtICdQJyBpcyBkYXRhIHByb3BlcnR5LCBwcm9wZXJ0aWVzLnZhbHVlIGFuZCBQLnZhbHVlIGFyZSB0d28gZGlmZmVyZW50IHZhbHVlcyAoOC4xMi45IHN0ZXAgMTIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgb2JqLmZvbyA9IDEwMDsgLy8gZGVmYXVsdCB2YWx1ZSBvZiBhdHRyaWJ1dGVzOiB3cml0YWJsZTogdHJ1ZSwgY29uZmlndXJhYmxlOiB0cnVlLCBlbnVtZXJhYmxlOiB0cnVlDQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMob2JqLCB7DQogICAgICAgICAgICBmb286IHsNCiAgICAgICAgICAgICAgICB2YWx1ZTogMjAwDQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KICAgICAgICByZXR1cm4gZGF0YVByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3Qob2JqLCAiZm9vIiwgMjAwLCB0cnVlLCB0cnVlLCB0cnVlKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - 'P' is data property, properties.value and P.value are two different values (8.12.9 step 12)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-94.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy02LWEtOTUuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydGllcyAtICdQJyBpcyBkYXRhIHByb3BlcnR5LCBQLnZhbHVlIGlzIHByZXNlbnQgYW5kIHByb3BlcnRpZXMudmFsdWUgaXMgdW5kZWZpbmVkICg4LjEyLjkgc3RlcCAxMikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiZm9vIiwgew0KICAgICAgICAgICAgdmFsdWU6IDIwMCwNCiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsDQogICAgICAgICAgICB3cml0YWJsZTogdHJ1ZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZSANCiAgICAgICAgfSk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMob2JqLCB7DQogICAgICAgICAgICBmb286IHsNCiAgICAgICAgICAgICAgICB2YWx1ZTogdW5kZWZpbmVkDQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KICAgICAgICByZXR1cm4gZGF0YVByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3Qob2JqLCAiZm9vIiwgdW5kZWZpbmVkLCB0cnVlLCB0cnVlLCB0cnVlKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - 'P' is data property, P.value is present and properties.value is undefined (8.12.9 step 12)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-95.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy02LWEtOTYuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydGllcyAtICdQJyBpcyBkYXRhIHByb3BlcnR5LCBwcm9wZXJ0aWVzLnZhbHVlIGlzIHByZXNlbnQgYW5kIFAudmFsdWUgaXMgdW5kZWZpbmVkICg4LjEyLjkgc3RlcCAxMikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiZm9vIiwgew0KICAgICAgICAgICAgdmFsdWU6IHVuZGVmaW5lZCwNCiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsDQogICAgICAgICAgICB3cml0YWJsZTogdHJ1ZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZSANCiAgICAgICAgfSk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMob2JqLCB7DQogICAgICAgICAgICBmb286IHsNCiAgICAgICAgICAgICAgICB2YWx1ZTogMjAwDQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KICAgICAgICByZXR1cm4gZGF0YVByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3Qob2JqLCAiZm9vIiwgMjAwLCB0cnVlLCB0cnVlLCB0cnVlKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - 'P' is data property, properties.value is present and P.value is undefined (8.12.9 step 12)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-96.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy02LWEtOTcuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydGllcyAtICdQJyBpcyBkYXRhIHByb3BlcnR5LCBQLndyaXRhYmxlIGFuZCBwcm9wZXJ0aWVzLndyaXRhYmxlIGFyZSBkaWZmZXJlbnQgdmFsdWVzICg4LjEyLjkgc3RlcCAxMikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiZm9vIiwgeyANCiAgICAgICAgICAgIHZhbHVlOiAxMDAsIA0KICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSwgDQogICAgICAgICAgICB3cml0YWJsZTogZmFsc2UsIA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlIA0KICAgICAgICB9KTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhvYmosIHsNCiAgICAgICAgICAgIGZvbzogew0KICAgICAgICAgICAgICAgIHdyaXRhYmxlOiB0cnVlDQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KICAgICAgICByZXR1cm4gZGF0YVByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3Qob2JqLCAiZm9vIiwgMTAwLCB0cnVlLCB0cnVlLCB0cnVlKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - 'P' is data property, P.writable and properties.writable are different values (8.12.9 step 12)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-97.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy02LWEtOTguanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydGllcyAtICdQJyBpcyBkYXRhIHByb3BlcnR5LCBQLmVudW1lcmFibGUgYW5kIHByb3BlcnRpZXMuZW51bWVyYWJsZSBhcmUgZGlmZmVyZW50IHZhbHVlcyAoOC4xMi45IHN0ZXAgMTIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgImZvbyIsIHsgDQogICAgICAgICAgICB2YWx1ZTogMjAwLCANCiAgICAgICAgICAgIGVudW1lcmFibGU6IGZhbHNlLCANCiAgICAgICAgICAgIHdyaXRhYmxlOiB0cnVlLCANCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZSANCiAgICAgICAgfSk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMob2JqLCB7DQogICAgICAgICAgICBmb286IHsNCiAgICAgICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlDQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KICAgICAgICByZXR1cm4gZGF0YVByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3Qob2JqLCAiZm9vIiwgMjAwLCB0cnVlLCB0cnVlLCB0cnVlKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.defineProperties - 'P' is data property, P.enumerable and properties.enumerable are different values (8.12.9 step 12)","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-98.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuNy8xNS4yLjMuNy02LWEtOTkuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZGVmaW5lUHJvcGVydGllcyAtICdQJyBpcyBkYXRhIHByb3BlcnR5LCBQLmNvbmZpZ3VyYWJsZSBpcyB0cnVlIGFuZCBwcm9wZXJ0aWVzLmNvbmZpZ3VyYWJsZSBpcyBmYWxzZQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJmb28iLCB7IA0KICAgICAgICAgICAgdmFsdWU6IDIwMCwgDQogICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLCANCiAgICAgICAgICAgIHdyaXRhYmxlOiB0cnVlLCANCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZSANCiAgICAgICAgfSk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMob2JqLCB7DQogICAgICAgICAgICBmb286IHsNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgICAgICB9DQogICAgICAgIH0pOw0KICAgICAgICByZXR1cm4gZGF0YVByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3Qob2JqLCAiZm9vIiwgMjAwLCB0cnVlLCB0cnVlLCBmYWxzZSk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.defineProperties - 'P' is data property, P.configurable is true and properties.configurable is false","path":"TestCases/ch15/15.2/15.2.3/15.2.3.7/15.2.3.7-6-a-99.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuOC8xNS4yLjMuOC0wLTEuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3Quc2VhbCBtdXN0IGV4aXN0IGFzIGEgZnVuY3Rpb24NCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgZiA9IE9iamVjdC5zZWFsOw0KICBpZiAodHlwZW9mKGYpID09PSAiZnVuY3Rpb24iKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.seal must exist as a function","path":"TestCases/ch15/15.2/15.2.3/15.2.3.8/15.2.3.8-0-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuOC8xNS4yLjMuOC0wLTIuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3Quc2VhbCBtdXN0IGV4aXN0IGFzIGEgZnVuY3Rpb24gdGFraW5nIDEgcGFyYW1ldGVyDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgaWYgKE9iamVjdC5zZWFsLmxlbmd0aCA9PT0gMSkgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.seal must exist as a function taking 1 parameter","path":"TestCases/ch15/15.2/15.2.3/15.2.3.8/15.2.3.8-0-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuOC8xNS4yLjMuOC0xLTEuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3Quc2VhbCB0aHJvd3MgVHlwZUVycm9yIGlmIHR5cGUgb2YgZmlyc3QgcGFyYW0gaXMgdW5kZWZpbmVkDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5zZWFsKHVuZGVmaW5lZCk7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiBlIGluc3RhbmNlb2YgVHlwZUVycm9yOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.seal throws TypeError if type of first param is undefined","path":"TestCases/ch15/15.2/15.2.3/15.2.3.8/15.2.3.8-1-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuOC8xNS4yLjMuOC0xLTIuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3Quc2VhbCB0aHJvd3MgVHlwZUVycm9yIGlmIHR5cGUgb2YgZmlyc3QgcGFyYW0gaXMgbnVsbA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3Quc2VhbChudWxsKTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBUeXBlRXJyb3I7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.seal throws TypeError if type of first param is null","path":"TestCases/ch15/15.2/15.2.3/15.2.3.8/15.2.3.8-1-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuOC8xNS4yLjMuOC0xLTMuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3Quc2VhbCB0aHJvd3MgVHlwZUVycm9yIGlmIHR5cGUgb2YgZmlyc3QgcGFyYW0gaXMgYSBib29sZWFuIHByaW1pdGl2ZQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3Quc2VhbChmYWxzZSk7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiBlIGluc3RhbmNlb2YgVHlwZUVycm9yOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.seal throws TypeError if type of first param is a boolean primitive","path":"TestCases/ch15/15.2/15.2.3/15.2.3.8/15.2.3.8-1-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuOC8xNS4yLjMuOC0xLTQuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3Quc2VhbCB0aHJvd3MgVHlwZUVycm9yIGlmIHR5cGUgb2YgZmlyc3QgcGFyYW0gaXMgYSBzdHJpbmcgcHJpbWl0aXZlDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5zZWFsKCJhYmMiKTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBUeXBlRXJyb3I7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.seal throws TypeError if type of first param is a string primitive","path":"TestCases/ch15/15.2/15.2.3/15.2.3.8/15.2.3.8-1-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuOC8xNS4yLjMuOC0xLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LnNlYWwgdGhyb3dzIFR5cGVFcnJvciBpZiB0eXBlIG9mIGZpcnN0IHBhcmFtIGlzIG5vdCBPYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgIHRyeSB7DQogICAgICBPYmplY3Quc2VhbCgwKTsNCiAgICB9DQogICAgY2F0Y2ggKGUpIHsNCiAgICAgIGlmIChlIGluc3RhbmNlb2YgVHlwZUVycm9yKSB7DQogICAgICAgIHJldHVybiB0cnVlOw0KICAgICAgfQ0KICAgIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.seal throws TypeError if type of first param is not Object","path":"TestCases/ch15/15.2/15.2.3/15.2.3.8/15.2.3.8-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuOC8xNS4yLjMuOC0yLTEuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3Quc2VhbCAtIGV4dGVuc2libGUgb2YgJ08nIGlzIHNldCBhcyBmYWxzZSBldmVuIGlmICdPJyBoYXMgbm8gb3duIHByb3BlcnR5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIHZhciBwcmVDaGVjayA9IE9iamVjdC5pc0V4dGVuc2libGUob2JqKTsNCg0KICAgICAgICBPYmplY3Quc2VhbChvYmopOw0KDQogICAgICAgIHJldHVybiBwcmVDaGVjayAmJiAhT2JqZWN0LmlzRXh0ZW5zaWJsZShvYmopOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.seal - extensible of 'O' is set as false even if 'O' has no own property","path":"TestCases/ch15/15.2/15.2.3/15.2.3.8/15.2.3.8-2-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuOC8xNS4yLjMuOC0yLTIuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3Quc2VhbCAtIGluaGVyaXRlZCBkYXRhIHByb3BlcnRpZXMgYXJlIGlnbm9yZWQNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgcHJvdG8gPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkocHJvdG8sICJGYXRoZXIiLCB7DQogICAgICAgICAgICB2YWx1ZTogMTAsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIENvbnN0cnVjdEZ1biA9IGZ1bmN0aW9uICgpIHsgfTsNCiAgICAgICAgQ29uc3RydWN0RnVuLnByb3RvdHlwZSA9IHByb3RvOw0KDQogICAgICAgIHZhciBjaGlsZCA9IG5ldyBDb25zdHJ1Y3RGdW4oKTsNCiAgICAgICAgdmFyIHByZUNoZWNrID0gT2JqZWN0LmlzRXh0ZW5zaWJsZShjaGlsZCk7DQogICAgICAgIE9iamVjdC5zZWFsKGNoaWxkKTsNCg0KICAgICAgICB2YXIgYmVmb3JlRGVsZXRlZCA9IHByb3RvLmhhc093blByb3BlcnR5KCJGYXRoZXIiKTsNCiAgICAgICAgZGVsZXRlIHByb3RvLkZhdGhlcjsNCiAgICAgICAgdmFyIGFmdGVyRGVsZXRlZCA9IHByb3RvLmhhc093blByb3BlcnR5KCJGYXRoZXIiKTsNCg0KICAgICAgICByZXR1cm4gcHJlQ2hlY2sgJiYgYmVmb3JlRGVsZXRlZCAmJiAhYWZ0ZXJEZWxldGVkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.seal - inherited data properties are ignored","path":"TestCases/ch15/15.2/15.2.3/15.2.3.8/15.2.3.8-2-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuOC8xNS4yLjMuOC0yLTMuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3Quc2VhbCAtIGluaGVyaXRlZCBhY2Nlc3NvciBwcm9wZXJ0aWVzIGFyZSBpZ25vcmVkDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIHByb3RvID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHByb3RvLCAiRmF0aGVyIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIDEwOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgQ29uc3RydWN0RnVuID0gZnVuY3Rpb24gKCkgeyB9Ow0KICAgICAgICBDb25zdHJ1Y3RGdW4ucHJvdG90eXBlID0gcHJvdG87DQoNCiAgICAgICAgdmFyIGNoaWxkID0gbmV3IENvbnN0cnVjdEZ1bigpOw0KICAgICAgICB2YXIgcHJlQ2hlY2sgPSBPYmplY3QuaXNFeHRlbnNpYmxlKGNoaWxkKTsNCiAgICAgICAgT2JqZWN0LnNlYWwoY2hpbGQpOw0KDQogICAgICAgIHZhciBiZWZvcmVEZWxldGVkID0gcHJvdG8uaGFzT3duUHJvcGVydHkoIkZhdGhlciIpOw0KICAgICAgICBkZWxldGUgcHJvdG8uRmF0aGVyOw0KICAgICAgICB2YXIgYWZ0ZXJEZWxldGVkID0gcHJvdG8uaGFzT3duUHJvcGVydHkoIkZhdGhlciIpOw0KDQogICAgICAgIHJldHVybiBwcmVDaGVjayAmJiBiZWZvcmVEZWxldGVkICYmICFhZnRlckRlbGV0ZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.seal - inherited accessor properties are ignored","path":"TestCases/ch15/15.2/15.2.3/15.2.3.8/15.2.3.8-2-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuOC8xNS4yLjMuOC0yLTQuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3Quc2VhbCAtIG5vbi1lbnVtZXJhYmxlIG93biBwcm9wZXJ0eSBvZiAnTycgaXMgc2VhbGVkDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJmb28iLCB7DQogICAgICAgICAgICB2YWx1ZTogMTAsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCiAgICAgICAgdmFyIHByZUNoZWNrID0gT2JqZWN0LmlzRXh0ZW5zaWJsZShvYmopOw0KICAgICAgICBPYmplY3Quc2VhbChvYmopOw0KDQogICAgICAgIHZhciBiZWZvcmVEZWxldGVkID0gb2JqLmhhc093blByb3BlcnR5KCJmb28iKTsNCiAgICAgICAgZGVsZXRlIG9iai5mb287DQogICAgICAgIHZhciBhZnRlckRlbGV0ZWQgPSBvYmouaGFzT3duUHJvcGVydHkoImZvbyIpOw0KDQogICAgICAgIHJldHVybiBwcmVDaGVjayAmJiBiZWZvcmVEZWxldGVkICYmIGFmdGVyRGVsZXRlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.seal - non-enumerable own property of 'O' is sealed","path":"TestCases/ch15/15.2/15.2.3/15.2.3.8/15.2.3.8-2-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuOC8xNS4yLjMuOC0yLWEtMS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5zZWFsIC0gJ1AnIGlzIG93biBkYXRhIHByb3BlcnR5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIG9iai5mb28gPSAxMDsgLy8gZGVmYXVsdCBbW0NvbmZpZ3VyYWJsZV1dIGF0dHJpYnV0ZSB2YWx1ZSBvZiBmb286IHRydWUNCiAgICAgICAgdmFyIHByZUNoZWNrID0gT2JqZWN0LmlzRXh0ZW5zaWJsZShvYmopOw0KICAgICAgICBPYmplY3Quc2VhbChvYmopOw0KDQogICAgICAgIGRlbGV0ZSBvYmouZm9vOw0KICAgICAgICByZXR1cm4gcHJlQ2hlY2sgJiYgb2JqLmZvbyA9PT0gMTA7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.seal - 'P' is own data property","path":"TestCases/ch15/15.2/15.2.3/15.2.3.8/15.2.3.8-2-a-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuOC8xNS4yLjMuOC0yLWEtMTAuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3Quc2VhbCAtICdQJyBpcyBvd24gcHJvcGVydHkgb2YgYSBCb29sZWFuIG9iamVjdCB0aGF0IHVzZXMgT2JqZWN0J3MgW1tHZXRPd25Qcm9wZXJ0eV1dDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIGJvb2xPYmogPSBuZXcgQm9vbGVhbihmYWxzZSk7DQoNCiAgICAgICAgYm9vbE9iai5mb28gPSAxMDsNCiAgICAgICAgdmFyIHByZUNoZWNrID0gT2JqZWN0LmlzRXh0ZW5zaWJsZShib29sT2JqKTsNCiAgICAgICAgT2JqZWN0LnNlYWwoYm9vbE9iaik7DQoNCiAgICAgICAgZGVsZXRlIGJvb2xPYmouZm9vOw0KICAgICAgICByZXR1cm4gcHJlQ2hlY2sgJiYgYm9vbE9iai5mb28gPT09IDEwOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.seal - 'P' is own property of a Boolean object that uses Object's [[GetOwnProperty]]","path":"TestCases/ch15/15.2/15.2.3/15.2.3.8/15.2.3.8-2-a-10.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuOC8xNS4yLjMuOC0yLWEtMTEuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3Quc2VhbCAtICdQJyBpcyBvd24gcHJvcGVydHkgb2YgYSBOdW1iZXIgb2JqZWN0IHRoYXQgdXNlcyBPYmplY3QncyBbW0dldE93blByb3BlcnR5XV0NCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgbnVtT2JqID0gbmV3IE51bWJlcigtMSk7DQoNCiAgICAgICAgbnVtT2JqLmZvbyA9IDEwOw0KICAgICAgICB2YXIgcHJlQ2hlY2sgPSBPYmplY3QuaXNFeHRlbnNpYmxlKG51bU9iaik7DQogICAgICAgIE9iamVjdC5zZWFsKG51bU9iaik7DQoNCiAgICAgICAgZGVsZXRlIG51bU9iai5mb287DQogICAgICAgIHJldHVybiBwcmVDaGVjayAmJiBudW1PYmouZm9vID09PSAxMDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.seal - 'P' is own property of a Number object that uses Object's [[GetOwnProperty]]","path":"TestCases/ch15/15.2/15.2.3/15.2.3.8/15.2.3.8-2-a-11.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuOC8xNS4yLjMuOC0yLWEtMTIuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3Quc2VhbCAtICdQJyBpcyBvd24gcHJvcGVydHkgb2YgYSBEYXRlIG9iamVjdCB0aGF0IHVzZXMgT2JqZWN0J3MgW1tHZXRPd25Qcm9wZXJ0eV1dDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIGRhdGVPYmogPSBuZXcgRGF0ZSgpOw0KDQogICAgICAgIGRhdGVPYmouZm9vID0gMTA7DQogICAgICAgIHZhciBwcmVDaGVjayA9IE9iamVjdC5pc0V4dGVuc2libGUoZGF0ZU9iaik7DQogICAgICAgIE9iamVjdC5zZWFsKGRhdGVPYmopOw0KDQogICAgICAgIGRlbGV0ZSBkYXRlT2JqLmZvbzsNCiAgICAgICAgcmV0dXJuIHByZUNoZWNrICYmIGRhdGVPYmouZm9vID09PSAxMDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.seal - 'P' is own property of a Date object that uses Object's [[GetOwnProperty]]","path":"TestCases/ch15/15.2/15.2.3/15.2.3.8/15.2.3.8-2-a-12.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuOC8xNS4yLjMuOC0yLWEtMTMuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3Quc2VhbCAtICdQJyBpcyBvd24gcHJvcGVydHkgb2YgYSBSZWdFeHAgb2JqZWN0IHRoYXQgdXNlcyBPYmplY3QncyBbW0dldE93blByb3BlcnR5XV0NCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgcmVnT2JqID0gbmV3IFJlZ0V4cCgpOw0KDQogICAgICAgIHJlZ09iai5mb28gPSAxMDsNCiAgICAgICAgdmFyIHByZUNoZWNrID0gT2JqZWN0LmlzRXh0ZW5zaWJsZShyZWdPYmopOw0KICAgICAgICBPYmplY3Quc2VhbChyZWdPYmopOw0KDQogICAgICAgIGRlbGV0ZSByZWdPYmouZm9vOw0KICAgICAgICByZXR1cm4gcHJlQ2hlY2sgJiYgcmVnT2JqLmZvbyA9PT0gMTA7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.seal - 'P' is own property of a RegExp object that uses Object's [[GetOwnProperty]]","path":"TestCases/ch15/15.2/15.2.3/15.2.3.8/15.2.3.8-2-a-13.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuOC8xNS4yLjMuOC0yLWEtMTQuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3Quc2VhbCAtICdQJyBpcyBvd24gcHJvcGVydHkgb2YgYW4gRXJyb3Igb2JqZWN0IHRoYXQgdXNlcyBPYmplY3QncyBbW0dldE93blByb3BlcnR5XV0NCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgZXJyT2JqID0gbmV3IEVycm9yKCk7DQoNCiAgICAgICAgZXJyT2JqLmZvbyA9IDEwOw0KICAgICAgICB2YXIgcHJlQ2hlY2sgPSBPYmplY3QuaXNFeHRlbnNpYmxlKGVyck9iaik7DQogICAgICAgIE9iamVjdC5zZWFsKGVyck9iaik7DQoNCiAgICAgICAgZGVsZXRlIGVyck9iai5mb287DQogICAgICAgIHJldHVybiBwcmVDaGVjayAmJiBlcnJPYmouZm9vID09PSAxMDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.seal - 'P' is own property of an Error object that uses Object's [[GetOwnProperty]]","path":"TestCases/ch15/15.2/15.2.3/15.2.3.8/15.2.3.8-2-a-14.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuOC8xNS4yLjMuOC0yLWEtMTUuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3Quc2VhbCAtICdQJyBpcyBvd24gcHJvcGVydHkgb2YgYW4gQXJndW1lbnRzIG9iamVjdCB3aGljaCBpbXBsZW1lbnRzIGl0cyBvd24gW1tHZXRPd25Qcm9wZXJ0eV1dDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIGFyZ09iaiA9IChmdW5jdGlvbiAoKSB7IHJldHVybiBhcmd1bWVudHM7IH0pKCk7DQoNCiAgICAgICAgYXJnT2JqLmZvbyA9IDEwOyAvLyBkZWZhdWx0IFtbQ29uZmlndXJhYmxlXV0gYXR0cmlidXRlIHZhbHVlIG9mIGZvbzogdHJ1ZQ0KICAgICAgICB2YXIgcHJlQ2hlY2sgPSBPYmplY3QuaXNFeHRlbnNpYmxlKGFyZ09iaik7DQogICAgICAgIE9iamVjdC5zZWFsKGFyZ09iaik7DQoNCiAgICAgICAgZGVsZXRlIGFyZ09iai5mb287DQogICAgICAgIHJldHVybiBwcmVDaGVjayAmJiBhcmdPYmouZm9vID09PSAxMDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.seal - 'P' is own property of an Arguments object which implements its own [[GetOwnProperty]]","path":"TestCases/ch15/15.2/15.2.3/15.2.3.8/15.2.3.8-2-a-15.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuOC8xNS4yLjMuOC0yLWEtMi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5zZWFsIC0gJ1AnIGlzIG93biBkYXRhIHByb3BlcnR5IHRoYXQgb3ZlcnJpZGVzIGFuIGluaGVyaXRlZCBkYXRhIHByb3BlcnR5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIHByb3RvID0geyBmb286IDAgfTsNCg0KICAgICAgICB2YXIgQ29uc3RydWN0RnVuID0gZnVuY3Rpb24gKCkgeyB9Ow0KICAgICAgICBDb25zdHJ1Y3RGdW4ucHJvdG90eXBlID0gcHJvdG87DQoNCiAgICAgICAgdmFyIGNoaWxkID0gbmV3IENvbnN0cnVjdEZ1bigpOw0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoY2hpbGQsICJmb28iLCB7DQogICAgICAgICAgICB2YWx1ZTogMTAsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQogICAgICAgIHZhciBwcmVDaGVjayA9IE9iamVjdC5pc0V4dGVuc2libGUoY2hpbGQpOw0KICAgICAgICBPYmplY3Quc2VhbChjaGlsZCk7DQoNCiAgICAgICAgZGVsZXRlIGNoaWxkLmZvbzsNCiAgICAgICAgcmV0dXJuIHByZUNoZWNrICYmIGNoaWxkLmZvbyA9PT0gMTA7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.seal - 'P' is own data property that overrides an inherited data property","path":"TestCases/ch15/15.2/15.2.3/15.2.3.8/15.2.3.8-2-a-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuOC8xNS4yLjMuOC0yLWEtMy5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5zZWFsIC0gJ1AnIGlzIG93biBkYXRhIHByb3BlcnR5IHRoYXQgb3ZlcnJpZGVzIGFuIGluaGVyaXRlZCBhY2Nlc3NvciBwcm9wZXJ0eQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBwcm90byA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShwcm90bywgImZvbyIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiAwOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgQ29uc3RydWN0RnVuID0gZnVuY3Rpb24gKCkgeyB9Ow0KICAgICAgICBDb25zdHJ1Y3RGdW4ucHJvdG90eXBlID0gcHJvdG87DQoNCiAgICAgICAgdmFyIGNoaWxkID0gbmV3IENvbnN0cnVjdEZ1bigpOw0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoY2hpbGQsICJmb28iLCB7DQogICAgICAgICAgICB2YWx1ZTogMTAsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQogICAgICAgIHZhciBwcmVDaGVjayA9IE9iamVjdC5pc0V4dGVuc2libGUoY2hpbGQpOw0KICAgICAgICBPYmplY3Quc2VhbChjaGlsZCk7DQoNCiAgICAgICAgZGVsZXRlIGNoaWxkLmZvbzsNCiAgICAgICAgcmV0dXJuIHByZUNoZWNrICYmIGNoaWxkLmZvbyA9PT0gMTA7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.seal - 'P' is own data property that overrides an inherited accessor property","path":"TestCases/ch15/15.2/15.2.3/15.2.3.8/15.2.3.8-2-a-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuOC8xNS4yLjMuOC0yLWEtNC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5zZWFsIC0gJ1AnIGlzIG93biBhY2Nlc3NvciBwcm9wZXJ0eQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiZm9vIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIDEwOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCiAgICAgICAgdmFyIHByZUNoZWNrID0gT2JqZWN0LmlzRXh0ZW5zaWJsZShvYmopOw0KICAgICAgICBPYmplY3Quc2VhbChvYmopOw0KDQogICAgICAgIGRlbGV0ZSBvYmouZm9vOw0KICAgICAgICByZXR1cm4gcHJlQ2hlY2sgJiYgb2JqLmZvbyA9PT0gMTA7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.seal - 'P' is own accessor property","path":"TestCases/ch15/15.2/15.2.3/15.2.3.8/15.2.3.8-2-a-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuOC8xNS4yLjMuOC0yLWEtNS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5zZWFsIC0gJ1AnIGlzIG93biBhY2Nlc3NvciBwcm9wZXJ0eSB0aGF0IG92ZXJyaWRlcyBhbiBpbmhlcml0ZWQgZGF0YSBwcm9wZXJ0eQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBwcm90byA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShwcm90bywgImZvbyIsIHsNCiAgICAgICAgICAgIHZhbHVlOiAwLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBDb25zdHJ1Y3RGdW4gPSBmdW5jdGlvbiAoKSB7IH07DQogICAgICAgIENvbnN0cnVjdEZ1bi5wcm90b3R5cGUgPSBwcm90bzsNCg0KICAgICAgICB2YXIgY2hpbGQgPSBuZXcgQ29uc3RydWN0RnVuKCk7DQogICAgICAgIA0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoY2hpbGQsICJmb28iLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gMTA7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KICAgICAgICB2YXIgcHJlQ2hlY2sgPSBPYmplY3QuaXNFeHRlbnNpYmxlKGNoaWxkKTsNCiAgICAgICAgT2JqZWN0LnNlYWwoY2hpbGQpOw0KDQogICAgICAgIGRlbGV0ZSBjaGlsZC5mb287DQogICAgICAgIHJldHVybiBwcmVDaGVjayAmJiBjaGlsZC5mb28gPT09IDEwOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.seal - 'P' is own accessor property that overrides an inherited data property","path":"TestCases/ch15/15.2/15.2.3/15.2.3.8/15.2.3.8-2-a-5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuOC8xNS4yLjMuOC0yLWEtNi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5zZWFsIC0gJ1AnIGlzIG93biBhY2Nlc3NvciBwcm9wZXJ0eSB0aGF0IG92ZXJyaWRlcyBhbiBpbmhlcml0ZWQgYWNjZXNzb3IgcHJvcGVydHkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgcHJvdG8gPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkocHJvdG8sICJmb28iLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gMDsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIENvbnN0cnVjdEZ1biA9IGZ1bmN0aW9uICgpIHsgfTsNCiAgICAgICAgQ29uc3RydWN0RnVuLnByb3RvdHlwZSA9IHByb3RvOw0KDQogICAgICAgIHZhciBjaGlsZCA9IG5ldyBDb25zdHJ1Y3RGdW4oKTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoY2hpbGQsICJmb28iLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gMTA7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KICAgICAgICB2YXIgcHJlQ2hlY2sgPSBPYmplY3QuaXNFeHRlbnNpYmxlKGNoaWxkKTsNCiAgICAgICAgT2JqZWN0LnNlYWwoY2hpbGQpOw0KDQogICAgICAgIGRlbGV0ZSBjaGlsZC5mb287DQogICAgICAgIHJldHVybiBwcmVDaGVjayAmJiBjaGlsZC5mb28gPT09IDEwOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.seal - 'P' is own accessor property that overrides an inherited accessor property","path":"TestCases/ch15/15.2/15.2.3/15.2.3.8/15.2.3.8-2-a-6.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuOC8xNS4yLjMuOC0yLWEtNy5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5zZWFsIC0gJ1AnIGlzIG93biBwcm9wZXJ0eSBvZiBhIEZ1bmN0aW9uIG9iamVjdCB0aGF0IHVzZXMgT2JqZWN0J3MgW1tHZXRPd25Qcm9wZXJ0eV1dDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIGZ1bk9iaiA9IGZ1bmN0aW9uICgpIHsgfTsNCg0KICAgICAgICBmdW5PYmouZm9vID0gMTA7IC8vIGRlZmF1bHQgW1tDb25maWd1cmFibGVdXSBhdHRyaWJ1dGUgdmFsdWUgb2YgZm9vOiB0cnVlDQogICAgICAgIHZhciBwcmVDaGVjayA9IE9iamVjdC5pc0V4dGVuc2libGUoZnVuT2JqKTsNCiAgICAgICAgT2JqZWN0LnNlYWwoZnVuT2JqKTsNCg0KICAgICAgICBkZWxldGUgZnVuT2JqLmZvbzsNCiAgICAgICAgcmV0dXJuIHByZUNoZWNrICYmIGZ1bk9iai5mb28gPT09IDEwOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.seal - 'P' is own property of a Function object that uses Object's [[GetOwnProperty]]","path":"TestCases/ch15/15.2/15.2.3/15.2.3.8/15.2.3.8-2-a-7.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuOC8xNS4yLjMuOC0yLWEtOC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5zZWFsIC0gJ1AnIGlzIG93biBwcm9wZXJ0eSBvZiBhbiBBcnJheSBvYmplY3QgdGhhdCB1c2VzIE9iamVjdCdzIFtbR2V0T3duUHJvcGVydHldXQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBhcnJPYmogPSBbXTsNCg0KICAgICAgICBhcnJPYmouZm9vID0gMTA7DQogICAgICAgIHZhciBwcmVDaGVjayA9IE9iamVjdC5pc0V4dGVuc2libGUoYXJyT2JqKTsNCiAgICAgICAgT2JqZWN0LnNlYWwoYXJyT2JqKTsNCg0KICAgICAgICBkZWxldGUgYXJyT2JqLmZvbzsNCiAgICAgICAgcmV0dXJuIHByZUNoZWNrICYmIGFyck9iai5mb28gPT09IDEwOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.seal - 'P' is own property of an Array object that uses Object's [[GetOwnProperty]]","path":"TestCases/ch15/15.2/15.2.3/15.2.3.8/15.2.3.8-2-a-8.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuOC8xNS4yLjMuOC0yLWEtOS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5zZWFsIC0gJ1AnIGlzIG93biBwcm9wZXJ0eSBvZiBhIFN0cmluZyBvYmplY3Qgd2hpY2ggaW1wbGVtZW50cyBpdHMgb3duIFtbR2V0T3duUHJvcGVydHldXQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBzdHJPYmogPSBuZXcgU3RyaW5nKCJhYmMiKTsNCg0KICAgICAgICBzdHJPYmouZm9vID0gMTA7IC8vIGRlZmF1bHQgW1tDb25maWd1cmFibGVdXSBhdHRyaWJ1dGUgdmFsdWUgb2YgZm9vOiB0cnVlDQogICAgICAgIHZhciBwcmVDaGVjayA9IE9iamVjdC5pc0V4dGVuc2libGUoc3RyT2JqKTsNCiAgICAgICAgT2JqZWN0LnNlYWwoc3RyT2JqKTsNCg0KICAgICAgICBkZWxldGUgc3RyT2JqLmZvbzsNCiAgICAgICAgcmV0dXJuIHByZUNoZWNrICYmIHN0ck9iai5mb28gPT09IDEwOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.seal - 'P' is own property of a String object which implements its own [[GetOwnProperty]]","path":"TestCases/ch15/15.2/15.2.3/15.2.3.8/15.2.3.8-2-a-9.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuOC8xNS4yLjMuOC0yLWItMS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5zZWFsIC0gdGhlIFtbQ29uZmlndXJhYmxlXV0gYXR0cmlidXRlIG9mIG93biBkYXRhIHByb3BlcnR5IG9mICdPJyBpcyBzZXQgZnJvbSB0cnVlIHRvIGZhbHNlIGFuZCBvdGhlciBhdHRyaWJ1dGVzIG9mIHRoZSBwcm9wZXJ0eSBhcmUgdW5hbHRlcmVkDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJmb28iLCB7DQogICAgICAgICAgICB2YWx1ZTogMTAsDQogICAgICAgICAgICB3cml0YWJsZTogdHJ1ZSwNCiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQogICAgICAgIHZhciBwcmVDaGVjayA9IE9iamVjdC5pc0V4dGVuc2libGUob2JqKTsNCiAgICAgICAgT2JqZWN0LnNlYWwob2JqKTsNCg0KICAgICAgICByZXR1cm4gcHJlQ2hlY2sgJiYgZGF0YVByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3Qob2JqLCAiZm9vIiwgMTAsIHRydWUsIHRydWUsIGZhbHNlKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.seal - the [[Configurable]] attribute of own data property of 'O' is set from true to false and other attributes of the property are unaltered","path":"TestCases/ch15/15.2/15.2.3/15.2.3.8/15.2.3.8-2-b-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuOC8xNS4yLjMuOC0yLWItMi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5zZWFsIC0gdGhlIFtbQ29uZmlndXJhYmxlXV0gYXR0cmlidXRlIG9mIG93biBhY2Nlc3NvciBwcm9wZXJ0eSBvZiAnTycgaXMgc2V0IGZyb20gdHJ1ZSB0byBmYWxzZSBhbmQgb3RoZXIgYXR0cmlidXRlcyBvZiB0aGUgcHJvcGVydHkgYXJlIHVuYWx0ZXJlZA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgb2JqLnZhcmlhYmxlRm9ySGVscFZlcmlmeSA9ICJkYXRhIjsNCg0KICAgICAgICBmdW5jdGlvbiBzZXRGdW5jKHZhbHVlKSB7DQogICAgICAgICAgICBvYmoudmFyaWFibGVGb3JIZWxwVmVyaWZ5ID0gdmFsdWU7DQogICAgICAgIH0NCiAgICAgICAgZnVuY3Rpb24gZ2V0RnVuYygpIHsNCiAgICAgICAgICAgIHJldHVybiAxMDsNCiAgICAgICAgfQ0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiZm9vIiwgew0KICAgICAgICAgICAgZ2V0OiBnZXRGdW5jLA0KICAgICAgICAgICAgc2V0OiBzZXRGdW5jLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCiAgICAgICAgdmFyIHByZUNoZWNrID0gT2JqZWN0LmlzRXh0ZW5zaWJsZShvYmopOw0KICAgICAgICBPYmplY3Quc2VhbChvYmopOw0KDQogICAgICAgIHJldHVybiBwcmVDaGVjayAmJiBhY2Nlc3NvclByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3Qob2JqLCAiZm9vIiwgZ2V0RnVuYywgc2V0RnVuYywgInZhcmlhYmxlRm9ySGVscFZlcmlmeSIsIHRydWUsIGZhbHNlKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.seal - the [[Configurable]] attribute of own accessor property of 'O' is set from true to false and other attributes of the property are unaltered","path":"TestCases/ch15/15.2/15.2.3/15.2.3.8/15.2.3.8-2-b-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuOC8xNS4yLjMuOC0yLWItMy5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5zZWFsIC0gdGhlIFtbQ29uZmlndXJhYmxlXV0gYXR0cmlidXRlIG9mIGFsbCBvd24gcHJvcGVydGllcyBvZiAnTycgYXJlIHNldCBmcm9tIHRydWUgdG8gZmFsc2UgYW5kIG90aGVyIGF0dHJpYnV0ZXMgb2YgdGhlIHByb3BlcnR5IGFyZSB1bmFsdGVyZWQNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIG9iai52YXJpYWJsZUZvckhlbHBWZXJpZnkgPSAiZGF0YSI7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgImZvbzEiLCB7DQogICAgICAgICAgICB2YWx1ZTogMTAsDQogICAgICAgICAgICB3cml0YWJsZTogdHJ1ZSwNCiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgZnVuY3Rpb24gc2V0X2Z1bmModmFsdWUpIHsNCiAgICAgICAgICAgIG9iai52YXJpYWJsZUZvckhlbHBWZXJpZnkgPSB2YWx1ZTsNCiAgICAgICAgfQ0KICAgICAgICBmdW5jdGlvbiBnZXRfZnVuYygpIHsNCiAgICAgICAgICAgIHJldHVybiAxMDsNCiAgICAgICAgfQ0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiZm9vMiIsIHsNCiAgICAgICAgICAgIGdldDogZ2V0X2Z1bmMsDQogICAgICAgICAgICBzZXQ6IHNldF9mdW5jLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCiAgICAgICAgdmFyIHByZUNoZWNrID0gT2JqZWN0LmlzRXh0ZW5zaWJsZShvYmopOw0KICAgICAgICBPYmplY3Quc2VhbChvYmopOw0KDQogICAgICAgIHJldHVybiBwcmVDaGVjayAmJiBkYXRhUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChvYmosICJmb28xIiwgMTAsIHRydWUsIHRydWUsIGZhbHNlKSAmJg0KICAgICAgICAgICAgYWNjZXNzb3JQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KG9iaiwgImZvbzIiLCBnZXRfZnVuYywgc2V0X2Z1bmMsICJ2YXJpYWJsZUZvckhlbHBWZXJpZnkiLCB0cnVlLCBmYWxzZSk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.seal - the [[Configurable]] attribute of all own properties of 'O' are set from true to false and other attributes of the property are unaltered","path":"TestCases/ch15/15.2/15.2.3/15.2.3.8/15.2.3.8-2-b-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuOC8xNS4yLjMuOC0yLWItNC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5zZWFsIC0gYWxsIG93biBwcm9wZXJ0aWVzIG9mICdPJyBhcmUgYWxyZWFkeSBub24tY29uZmlndXJhYmxlDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICBvYmoudmFyaWFibGVGb3JIZWxwVmVyaWZ5ID0gImRhdGEiOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJmb28xIiwgew0KICAgICAgICAgICAgdmFsdWU6IDEwLA0KICAgICAgICAgICAgd3JpdGFibGU6IHRydWUsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBmdW5jdGlvbiBzZXRfZnVuYyh2YWx1ZSkgew0KICAgICAgICAgICAgb2JqLnZhcmlhYmxlRm9ySGVscFZlcmlmeSA9IHZhbHVlOw0KICAgICAgICB9DQogICAgICAgIGZ1bmN0aW9uIGdldF9mdW5jKCkgew0KICAgICAgICAgICAgcmV0dXJuIDEwOw0KICAgICAgICB9DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJmb28yIiwgew0KICAgICAgICAgICAgZ2V0OiBnZXRfZnVuYywNCiAgICAgICAgICAgIHNldDogc2V0X2Z1bmMsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICB9KTsNCiAgICAgICAgdmFyIHByZUNoZWNrID0gT2JqZWN0LmlzRXh0ZW5zaWJsZShvYmopOw0KICAgICAgICBPYmplY3Quc2VhbChvYmopOw0KDQogICAgICAgIHJldHVybiBwcmVDaGVjayAmJiBkYXRhUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChvYmosICJmb28xIiwgMTAsIHRydWUsIHRydWUsIGZhbHNlKSAmJg0KICAgICAgICAgICAgYWNjZXNzb3JQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KG9iaiwgImZvbzIiLCBnZXRfZnVuYywgc2V0X2Z1bmMsICJ2YXJpYWJsZUZvckhlbHBWZXJpZnkiLCB0cnVlLCBmYWxzZSk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.seal - all own properties of 'O' are already non-configurable","path":"TestCases/ch15/15.2/15.2.3/15.2.3.8/15.2.3.8-2-b-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuOC8xNS4yLjMuOC0yLWMtMS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5zZWFsIC0gJ08nIGlzIGEgRnVuY3Rpb24gb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgZnVuID0gZnVuY3Rpb24gKCkgeyB9Ow0KICAgICAgICB2YXIgcHJlQ2hlY2sgPSBPYmplY3QuaXNFeHRlbnNpYmxlKGZ1bik7DQogICAgICAgIE9iamVjdC5zZWFsKGZ1bik7DQoNCiAgICAgICAgcmV0dXJuIHByZUNoZWNrICYmIE9iamVjdC5pc1NlYWxlZChmdW4pOw0KDQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.seal - 'O' is a Function object","path":"TestCases/ch15/15.2/15.2.3/15.2.3.8/15.2.3.8-2-c-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuOC8xNS4yLjMuOC0yLWMtMi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5zZWFsIC0gJ08nIGlzIGFuIEFycmF5IG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFyciA9IFswLCAxXTsNCiAgICAgICAgdmFyIHByZUNoZWNrID0gT2JqZWN0LmlzRXh0ZW5zaWJsZShhcnIpOw0KICAgICAgICBPYmplY3Quc2VhbChhcnIpOw0KDQogICAgICAgIHJldHVybiBwcmVDaGVjayAmJiBPYmplY3QuaXNTZWFsZWQoYXJyKTsNCg0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.seal - 'O' is an Array object","path":"TestCases/ch15/15.2/15.2.3/15.2.3.8/15.2.3.8-2-c-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuOC8xNS4yLjMuOC0yLWMtMy5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5zZWFsIC0gJ08nIGlzIGEgU3RyaW5nIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHN0ck9iaiA9IG5ldyBTdHJpbmcoImEiKTsNCiAgICAgICAgdmFyIHByZUNoZWNrID0gT2JqZWN0LmlzRXh0ZW5zaWJsZShzdHJPYmopOw0KICAgICAgICBPYmplY3Quc2VhbChzdHJPYmopOw0KDQogICAgICAgIHJldHVybiBwcmVDaGVjayAmJiBPYmplY3QuaXNTZWFsZWQoc3RyT2JqKTsNCg0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.seal - 'O' is a String object","path":"TestCases/ch15/15.2/15.2.3/15.2.3.8/15.2.3.8-2-c-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuOC8xNS4yLjMuOC0yLWMtNC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5zZWFsIC0gJ08nIGlzIGEgQm9vbGVhbiBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBib29sT2JqID0gbmV3IEJvb2xlYW4oZmFsc2UpOw0KICAgICAgICB2YXIgcHJlQ2hlY2sgPSBPYmplY3QuaXNFeHRlbnNpYmxlKGJvb2xPYmopOw0KICAgICAgICBPYmplY3Quc2VhbChib29sT2JqKTsNCg0KICAgICAgICByZXR1cm4gcHJlQ2hlY2sgJiYgT2JqZWN0LmlzU2VhbGVkKGJvb2xPYmopOw0KDQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.seal - 'O' is a Boolean object","path":"TestCases/ch15/15.2/15.2.3/15.2.3.8/15.2.3.8-2-c-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuOC8xNS4yLjMuOC0yLWMtNS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5zZWFsIC0gJ08nIGlzIGEgTnVtYmVyIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG51bU9iaiA9IG5ldyBOdW1iZXIoMyk7DQogICAgICAgIHZhciBwcmVDaGVjayA9IE9iamVjdC5pc0V4dGVuc2libGUobnVtT2JqKTsNCiAgICAgICAgT2JqZWN0LnNlYWwobnVtT2JqKTsNCg0KICAgICAgICByZXR1cm4gcHJlQ2hlY2sgJiYgT2JqZWN0LmlzU2VhbGVkKG51bU9iaik7DQoNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.seal - 'O' is a Number object","path":"TestCases/ch15/15.2/15.2.3/15.2.3.8/15.2.3.8-2-c-5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuOC8xNS4yLjMuOC0yLWMtNi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5zZWFsIC0gJ08nIGlzIGEgRGF0ZSBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBkYXRlT2JqID0gbmV3IERhdGUoKTsNCiAgICAgICAgdmFyIHByZUNoZWNrID0gT2JqZWN0LmlzRXh0ZW5zaWJsZShkYXRlT2JqKTsNCiAgICAgICAgT2JqZWN0LnNlYWwoZGF0ZU9iaik7DQoNCiAgICAgICAgcmV0dXJuIHByZUNoZWNrICYmIE9iamVjdC5pc1NlYWxlZChkYXRlT2JqKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.seal - 'O' is a Date object","path":"TestCases/ch15/15.2/15.2.3/15.2.3.8/15.2.3.8-2-c-6.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuOC8xNS4yLjMuOC0yLWMtNy5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5zZWFsIC0gJ08nIGlzIGEgUmVnRXhwIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciByZWdPYmogPSBuZXcgUmVnRXhwKCk7DQogICAgICAgIHZhciBwcmVDaGVjayA9IE9iamVjdC5pc0V4dGVuc2libGUocmVnT2JqKTsNCiAgICAgICAgT2JqZWN0LnNlYWwocmVnT2JqKTsNCg0KICAgICAgICByZXR1cm4gcHJlQ2hlY2sgJiYgT2JqZWN0LmlzU2VhbGVkKHJlZ09iaik7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.seal - 'O' is a RegExp object","path":"TestCases/ch15/15.2/15.2.3/15.2.3.8/15.2.3.8-2-c-7.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuOC8xNS4yLjMuOC0yLWMtOC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5zZWFsIC0gJ08nIGlzIGFuIEVycm9yIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGVyck9iaiA9IG5ldyBFcnJvcigpOw0KICAgICAgICB2YXIgcHJlQ2hlY2sgPSBPYmplY3QuaXNFeHRlbnNpYmxlKGVyck9iaik7DQogICAgICAgIE9iamVjdC5zZWFsKGVyck9iaik7DQoNCiAgICAgICAgcmV0dXJuIHByZUNoZWNrICYmIE9iamVjdC5pc1NlYWxlZChlcnJPYmopOw0KDQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.seal - 'O' is an Error object","path":"TestCases/ch15/15.2/15.2.3/15.2.3.8/15.2.3.8-2-c-8.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuOC8xNS4yLjMuOC0yLWMtOS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5zZWFsIC0gJ08nIGlzIGFuIEFyZ3VtZW50cyBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhcmdPYmogPSAoZnVuY3Rpb24gKCkgeyByZXR1cm4gYXJndW1lbnRzOyB9KSgpOw0KDQogICAgICAgIHZhciBwcmVDaGVjayA9IE9iamVjdC5pc0V4dGVuc2libGUoYXJnT2JqKTsNCiAgICAgICAgT2JqZWN0LnNlYWwoYXJnT2JqKTsNCg0KICAgICAgICByZXR1cm4gcHJlQ2hlY2sgJiYgT2JqZWN0LmlzU2VhbGVkKGFyZ09iaik7DQoNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.seal - 'O' is an Arguments object","path":"TestCases/ch15/15.2/15.2.3/15.2.3.8/15.2.3.8-2-c-9.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuOC8xNS4yLjMuOC0zLTEuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3Quc2VhbCAtIHJldHVybmVkIG9iamVjdCBpcyBub3QgZXh0ZW5zaWJsZQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICB2YXIgcHJlQ2hlY2sgPSBPYmplY3QuaXNFeHRlbnNpYmxlKG9iaik7DQogICAgICAgIE9iamVjdC5zZWFsKG9iaik7DQogICAgICAgIHJldHVybiBwcmVDaGVjayAmJiAhT2JqZWN0LmlzRXh0ZW5zaWJsZShvYmopOw0KDQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.seal - returned object is not extensible","path":"TestCases/ch15/15.2/15.2.3/15.2.3.8/15.2.3.8-3-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuOC8xNS4yLjMuOC00LTEuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3Quc2VhbCAtICdPJyBpcyBzZWFsZWQgYWxyZWFkeQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIG9iai5mb28gPSAxMDsgLy8gZGVmYXVsdCB2YWx1ZSBvZiBhdHRyaWJ1dGVzOiB3cml0YWJsZTogdHJ1ZSwgY29uZmlndXJhYmxlOiB0cnVlLCBlbnVtZXJhYmxlOiB0cnVlDQogICAgICAgIHZhciBwcmVDaGVjayA9IE9iamVjdC5pc0V4dGVuc2libGUob2JqKTsNCiAgICAgICAgT2JqZWN0LnNlYWwob2JqKTsNCg0KICAgICAgICBPYmplY3Quc2VhbChvYmopOw0KICAgICAgICByZXR1cm4gcHJlQ2hlY2sgJiYgT2JqZWN0LmlzU2VhbGVkKG9iaik7DQoNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.seal - 'O' is sealed already","path":"TestCases/ch15/15.2/15.2.3/15.2.3.8/15.2.3.8-4-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuOC8xNS4yLjMuOC00LTIuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3Quc2VhbCAtICdPJyBpcyBmcm96ZW4gYWxyZWFkeQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIG9iai5mb28gPSAxMDsgLy8gZGVmYXVsdCB2YWx1ZSBvZiBhdHRyaWJ1dGVzOiB3cml0YWJsZTogdHJ1ZSwgY29uZmlndXJhYmxlOiB0cnVlLCBlbnVtZXJhYmxlOiB0cnVlDQogICAgICAgIHZhciBwcmVDaGVjayA9IE9iamVjdC5pc0V4dGVuc2libGUob2JqKTsNCiAgICAgICAgT2JqZWN0LmZyZWV6ZShvYmopOw0KDQogICAgICAgIE9iamVjdC5zZWFsKG9iaik7DQogICAgICAgIHJldHVybiBwcmVDaGVjayAmJiBPYmplY3QuaXNTZWFsZWQob2JqKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.seal - 'O' is frozen already","path":"TestCases/ch15/15.2/15.2.3/15.2.3.8/15.2.3.8-4-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuOC8xNS4yLjMuOC00LTMuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3Quc2VhbCAtIHRoZSBleHRlbnNpb24gb2YgJ08nIGlzIHByZXZlbnRlZCBhbHJlYWR5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgb2JqLmZvbyA9IDEwOyAvLyBkZWZhdWx0IHZhbHVlIG9mIGF0dHJpYnV0ZXM6IHdyaXRhYmxlOiB0cnVlLCBjb25maWd1cmFibGU6IHRydWUsIGVudW1lcmFibGU6IHRydWUNCiAgICAgICAgdmFyIHByZUNoZWNrID0gT2JqZWN0LmlzRXh0ZW5zaWJsZShvYmopOw0KICAgICAgICBPYmplY3QucHJldmVudEV4dGVuc2lvbnMob2JqKTsNCiAgICAgICAgT2JqZWN0LnNlYWwob2JqKTsNCiAgICAgICAgcmV0dXJuIHByZUNoZWNrICYmIE9iamVjdC5pc1NlYWxlZChvYmopOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.seal - the extension of 'O' is prevented already","path":"TestCases/ch15/15.2/15.2.3/15.2.3.8/15.2.3.8-4-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuOS8xNS4yLjMuOS0wLTEuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZnJlZXplIG11c3QgZXhpc3QgYXMgYSBmdW5jdGlvbg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBmID0gT2JqZWN0LmZyZWV6ZTsNCiAgaWYgKHR5cGVvZihmKSA9PT0gImZ1bmN0aW9uIikgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.freeze must exist as a function","path":"TestCases/ch15/15.2/15.2.3/15.2.3.9/15.2.3.9-0-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuOS8xNS4yLjMuOS0wLTIuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZnJlZXplIG11c3QgZXhpc3QgYXMgYSBmdW5jdGlvbiB0YWtpbmcgMSBwYXJhbWV0ZXINCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICBpZiAoT2JqZWN0LmZyZWV6ZS5sZW5ndGggPT09IDEpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.freeze must exist as a function taking 1 parameter","path":"TestCases/ch15/15.2/15.2.3/15.2.3.9/15.2.3.9-0-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuOS8xNS4yLjMuOS0xLTEuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZnJlZXplIHRocm93cyBUeXBlRXJyb3IgaWYgdHlwZSBvZiBmaXJzdCBwYXJhbSBpcyB1bmRlZmluZWQNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmZyZWV6ZSh1bmRlZmluZWQpOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFR5cGVFcnJvcjsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.freeze throws TypeError if type of first param is undefined","path":"TestCases/ch15/15.2/15.2.3/15.2.3.9/15.2.3.9-1-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuOS8xNS4yLjMuOS0xLTIuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZnJlZXplIHRocm93cyBUeXBlRXJyb3IgaWYgdHlwZSBvZiBmaXJzdCBwYXJhbSBpcyBudWxsDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5mcmVlemUobnVsbCk7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiBlIGluc3RhbmNlb2YgVHlwZUVycm9yOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.freeze throws TypeError if type of first param is null","path":"TestCases/ch15/15.2/15.2.3/15.2.3.9/15.2.3.9-1-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuOS8xNS4yLjMuOS0xLTMuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZnJlZXplIHRocm93cyBUeXBlRXJyb3IgaWYgdHlwZSBvZiBmaXJzdCBwYXJhbSBpcyBib29sZWFuIHByaW1pdGl2ZQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciByZXN1bHQgPSBmYWxzZTsNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5mcmVlemUoZmFsc2UpOw0KDQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJlc3VsdCA9IGUgaW5zdGFuY2VvZiBUeXBlRXJyb3I7DQogICAgICAgIH0NCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5mcmVlemUodHJ1ZSk7DQoNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIHJlc3VsdCAmJiBlIGluc3RhbmNlb2YgVHlwZUVycm9yOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.freeze throws TypeError if type of first param is boolean primitive","path":"TestCases/ch15/15.2/15.2.3/15.2.3.9/15.2.3.9-1-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuOS8xNS4yLjMuOS0xLTQuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZnJlZXplIHRocm93cyBUeXBlRXJyb3IgaWYgdHlwZSBvZiBmaXJzdCBwYXJhbSBpcyBzdHJpbmcgcHJpbWl0aXZlDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5mcmVlemUoImFiYyIpOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFR5cGVFcnJvcjsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.freeze throws TypeError if type of first param is string primitive","path":"TestCases/ch15/15.2/15.2.3/15.2.3.9/15.2.3.9-1-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuOS8xNS4yLjMuOS0xLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmZyZWV6ZSB0aHJvd3MgVHlwZUVycm9yIGlmIHR5cGUgb2YgZmlyc3QgcGFyYW0gaXMgbm90IE9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZnJlZXplKDApOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFR5cGVFcnJvcjsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.freeze throws TypeError if type of first param is not Object","path":"TestCases/ch15/15.2/15.2.3/15.2.3.9/15.2.3.9-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuOS8xNS4yLjMuOS0yLTEuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZnJlZXplIC0gZXh0ZW5zaWJsZSBvZiAnTycgaXMgc2V0IGFzIGZhbHNlIGV2ZW4gaWYgJ08nIGhhcyBubyBvd24gcHJvcGVydHkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgT2JqZWN0LmZyZWV6ZShvYmopOw0KDQogICAgICAgIHJldHVybiAhT2JqZWN0LmlzRXh0ZW5zaWJsZShvYmopOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.freeze - extensible of 'O' is set as false even if 'O' has no own property","path":"TestCases/ch15/15.2/15.2.3/15.2.3.9/15.2.3.9-2-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuOS8xNS4yLjMuOS0yLTIuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZnJlZXplIC0gaW5oZXJpdGVkIGRhdGEgcHJvcGVydGllcyBhcmUgbm90IGZyb3plbg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBwcm90byA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShwcm90bywgIkZhdGhlciIsIHsNCiAgICAgICAgICAgIHZhbHVlOiAxMCwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgQ29uID0gZnVuY3Rpb24gKCkgeyB9Ow0KICAgICAgICBDb24ucHJvdG90eXBlID0gcHJvdG87DQoNCiAgICAgICAgdmFyIGNoaWxkID0gbmV3IENvbigpOw0KICAgICAgICBPYmplY3QuZnJlZXplKGNoaWxkKTsNCg0KICAgICAgICB2YXIgYmVmb3JlRGVsZXRlZCA9IHByb3RvLmhhc093blByb3BlcnR5KCJGYXRoZXIiKTsNCiAgICAgICAgZGVsZXRlIHByb3RvLkZhdGhlcjsNCiAgICAgICAgdmFyIGFmdGVyRGVsZXRlZCA9IHByb3RvLmhhc093blByb3BlcnR5KCJGYXRoZXIiKTsNCg0KICAgICAgICByZXR1cm4gYmVmb3JlRGVsZXRlZCAmJiAhYWZ0ZXJEZWxldGVkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.freeze - inherited data properties are not frozen","path":"TestCases/ch15/15.2/15.2.3/15.2.3.9/15.2.3.9-2-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuOS8xNS4yLjMuOS0yLTMuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZnJlZXplIC0gaW5oZXJpdGVkIGFjY2Vzc29yIHByb3BlcnRpZXMgYXJlIG5vdCBmcm96ZW4NCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgcHJvdG8gPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkocHJvdG8sICJGYXRoZXIiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gMTA7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBDb24gPSBmdW5jdGlvbiAoKSB7IH07DQogICAgICAgIENvbi5wcm90b3R5cGUgPSBwcm90bzsNCg0KICAgICAgICB2YXIgY2hpbGQgPSBuZXcgQ29uKCk7DQogICAgICAgIE9iamVjdC5mcmVlemUoY2hpbGQpOw0KDQogICAgICAgIHZhciBiZWZvcmVEZWxldGVkID0gcHJvdG8uaGFzT3duUHJvcGVydHkoIkZhdGhlciIpOw0KICAgICAgICBkZWxldGUgcHJvdG8uRmF0aGVyOw0KICAgICAgICB2YXIgYWZ0ZXJEZWxldGVkID0gcHJvdG8uaGFzT3duUHJvcGVydHkoIkZhdGhlciIpOw0KDQogICAgICAgIHJldHVybiBiZWZvcmVEZWxldGVkICYmICFhZnRlckRlbGV0ZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.freeze - inherited accessor properties are not frozen","path":"TestCases/ch15/15.2/15.2.3/15.2.3.9/15.2.3.9-2-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuOS8xNS4yLjMuOS0yLTQuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZnJlZXplIC0gTm9uLWVudW1lcmFibGUgb3duIHByb3BlcnRpZXMgb2YgJ08nIGFyZSBmcm96ZW4NCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgImZvbyIsIHsNCiAgICAgICAgICAgIHZhbHVlOiAxMCwNCiAgICAgICAgICAgIGVudW1lcmFibGU6IGZhbHNlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIE9iamVjdC5mcmVlemUob2JqKTsNCg0KICAgICAgICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAiZm9vIik7DQoNCiAgICAgICAgdmFyIGJlZm9yZURlbGV0ZWQgPSBvYmouaGFzT3duUHJvcGVydHkoImZvbyIpOw0KICAgICAgICBkZWxldGUgb2JqLmZvbzsNCiAgICAgICAgdmFyIGFmdGVyRGVsZXRlZCA9IG9iai5oYXNPd25Qcm9wZXJ0eSgiZm9vIik7DQoNCiAgICAgICAgcmV0dXJuIGJlZm9yZURlbGV0ZWQgJiYgYWZ0ZXJEZWxldGVkICYmIGRlc2MuY29uZmlndXJhYmxlID09PSBmYWxzZSAmJiBkZXNjLndyaXRhYmxlID09PSBmYWxzZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.freeze - Non-enumerable own properties of 'O' are frozen","path":"TestCases/ch15/15.2/15.2.3/15.2.3.9/15.2.3.9-2-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuOS8xNS4yLjMuOS0yLWEtMS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5mcmVlemUgLSAnUCcgaXMgb3duIGRhdGEgcHJvcGVydHkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgb2JqLmZvbyA9IDEwOyAvLyBkZWZhdWx0IFtbQ29uZmlndXJhYmxlXV0gYXR0cmlidXRlIHZhbHVlIG9mIGZvbzogdHJ1ZQ0KDQogICAgICAgIE9iamVjdC5mcmVlemUob2JqKTsNCg0KICAgICAgICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAiZm9vIik7DQoNCiAgICAgICAgZGVsZXRlIG9iai5mb287DQogICAgICAgIHJldHVybiBvYmouZm9vID09PSAxMCAmJiBkZXNjLmNvbmZpZ3VyYWJsZSA9PT0gZmFsc2UgJiYgZGVzYy53cml0YWJsZSA9PT0gZmFsc2U7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.freeze - 'P' is own data property","path":"TestCases/ch15/15.2/15.2.3/15.2.3.9/15.2.3.9-2-a-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuOS8xNS4yLjMuOS0yLWEtMTAuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZnJlZXplIC0gJ1AnIGlzIG93biBuYW1lZCBwcm9wZXJ0eSBvZiBhbiBBcnJheSBvYmplY3QgdGhhdCB1c2VzIE9iamVjdCdzIFtbR2V0T3duUHJvcGVydHldXQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBhcnJPYmogPSBbXTsNCg0KICAgICAgICBhcnJPYmouZm9vID0gMTA7IC8vIGRlZmF1bHQgW1tDb25maWd1cmFibGVdXSBhdHRyaWJ1dGUgdmFsdWUgb2YgZm9vOiB0cnVlDQoNCiAgICAgICAgT2JqZWN0LmZyZWV6ZShhcnJPYmopOw0KDQogICAgICAgIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihhcnJPYmosICJmb28iKTsNCg0KICAgICAgICBkZWxldGUgYXJyT2JqLmZvbzsNCiAgICAgICAgcmV0dXJuIGFyck9iai5mb28gPT09IDEwICYmIGRlc2MuY29uZmlndXJhYmxlID09PSBmYWxzZSAmJiBkZXNjLndyaXRhYmxlID09PSBmYWxzZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.freeze - 'P' is own named property of an Array object that uses Object's [[GetOwnProperty]]","path":"TestCases/ch15/15.2/15.2.3/15.2.3.9/15.2.3.9-2-a-10.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuOS8xNS4yLjMuOS0yLWEtMTEuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZnJlZXplIC0gJ1AnIGlzIG93biBpbmRleCBwcm9wZXJ0eSBvZiB0aGUgQXJndW1lbnRzIG9iamVjdCB0aGF0IGltcGxlbWVudHMgaXRzIG93biBbW0dldE93blByb3BlcnR5XV0NCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIC8vIGRlZmF1bHQgW1tDb25maWd1cmFibGVdXSBhdHRyaWJ1dGUgdmFsdWUgb2YgIjAiOiB0cnVlDQogICAgICAgIHZhciBhcmdPYmogPSAoZnVuY3Rpb24gKCkgeyByZXR1cm4gYXJndW1lbnRzOyB9KDEsIDIsIDMpKTsNCg0KICAgICAgICBPYmplY3QuZnJlZXplKGFyZ09iaik7DQoNCiAgICAgICAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGFyZ09iaiwgIjAiKTsNCg0KICAgICAgICBkZWxldGUgYXJnT2JqWzBdOw0KICAgICAgICByZXR1cm4gYXJnT2JqWzBdID09PSAxICYmIGRlc2MuY29uZmlndXJhYmxlID09PSBmYWxzZSAmJiBkZXNjLndyaXRhYmxlID09PSBmYWxzZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.freeze - 'P' is own index property of the Arguments object that implements its own [[GetOwnProperty]]","path":"TestCases/ch15/15.2/15.2.3/15.2.3.9/15.2.3.9-2-a-11.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuOS8xNS4yLjMuOS0yLWEtMTIuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZnJlZXplIC0gJ1AnIGlzIG93biBpbmRleCBwcm9wZXJ0eSBvZiBhIFN0cmluZyBvYmplY3QgdGhhdCBpbXBsZW1lbnRzIGl0cyBvd24gW1tHZXRPd25Qcm9wZXJ0eV1dDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICAvLyBkZWZhdWx0IFtbQ29uZmlndXJhYmxlXV0gYXR0cmlidXRlIHZhbHVlIG9mICIwIjogdHJ1ZQ0KICAgICAgICB2YXIgc3RyT2JqID0gbmV3IFN0cmluZygiYWJjIik7DQoNCiAgICAgICAgT2JqZWN0LmZyZWV6ZShzdHJPYmopOw0KDQogICAgICAgIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihzdHJPYmosICIwIik7DQoNCiAgICAgICAgZGVsZXRlIHN0ck9ialswXTsNCiAgICAgICAgcmV0dXJuIHN0ck9ialswXSA9PT0gImEiICYmIGRlc2MuY29uZmlndXJhYmxlID09PSBmYWxzZSAmJiBkZXNjLndyaXRhYmxlID09PSBmYWxzZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.freeze - 'P' is own index property of a String object that implements its own [[GetOwnProperty]]","path":"TestCases/ch15/15.2/15.2.3/15.2.3.9/15.2.3.9-2-a-12.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuOS8xNS4yLjMuOS0yLWEtMTMuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZnJlZXplIC0gJ1AnIGlzIG93biBpbmRleCBwcm9wZXJ0eSBvZiB0aGUgT2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICAvLyBkZWZhdWx0IFtbQ29uZmlndXJhYmxlXV0gYXR0cmlidXRlIHZhbHVlIG9mICIwIjogdHJ1ZQ0KICAgICAgICB2YXIgb2JqID0geyAwOiAwLCAxOiAxLCBsZW5ndGg6IDJ9Ow0KDQogICAgICAgIE9iamVjdC5mcmVlemUob2JqKTsNCg0KICAgICAgICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAiMCIpOw0KDQogICAgICAgIGRlbGV0ZSBvYmpbMF07DQogICAgICAgIHJldHVybiBvYmpbMF0gPT09IDAgJiYgZGVzYy5jb25maWd1cmFibGUgPT09IGZhbHNlICYmIGRlc2Mud3JpdGFibGUgPT09IGZhbHNlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.freeze - 'P' is own index property of the Object","path":"TestCases/ch15/15.2/15.2.3/15.2.3.9/15.2.3.9-2-a-13.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuOS8xNS4yLjMuOS0yLWEtMTQuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZnJlZXplIC0gJ1AnIGlzIG93biBpbmRleCBwcm9wZXJ0eSBvZiBhbiBBcnJheSBvYmplY3QgdGhhdCB1c2VzIE9iamVjdCdzIFtbR2V0T3duUHJvcGVydHldXQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgLy8gZGVmYXVsdCBbW0NvbmZpZ3VyYWJsZV1dIGF0dHJpYnV0ZSB2YWx1ZSBvZiAiMCI6IHRydWUNCiAgICAgICAgdmFyIGFyck9iaiA9IFswLCAxLCAyXTsNCg0KICAgICAgICBPYmplY3QuZnJlZXplKGFyck9iaik7DQoNCiAgICAgICAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGFyck9iaiwgIjAiKTsNCg0KICAgICAgICBkZWxldGUgYXJyT2JqWzBdOw0KICAgICAgICByZXR1cm4gYXJyT2JqWzBdID09PSAwICYmIGRlc2MuY29uZmlndXJhYmxlID09PSBmYWxzZSAmJiBkZXNjLndyaXRhYmxlID09PSBmYWxzZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.freeze - 'P' is own index property of an Array object that uses Object's [[GetOwnProperty]]","path":"TestCases/ch15/15.2/15.2.3/15.2.3.9/15.2.3.9-2-a-14.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuOS8xNS4yLjMuOS0yLWEtMi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5mcmVlemUgLSAnUCcgaXMgb3duIGRhdGEgcHJvcGVydHkgdGhhdCBvdmVycmlkZXMgYW4gaW5oZXJpdGVkIGRhdGEgcHJvcGVydHkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBwcm90byA9IHsgZm9vOiAwIH07IC8vIGRlZmF1bHQgW1tDb25maWd1cmFibGVdXSBhdHRyaWJ1dGUgdmFsdWUgb2YgZm9vOiB0cnVlDQoNCiAgICAgICAgdmFyIENvbiA9IGZ1bmN0aW9uICgpIHsgfTsNCiAgICAgICAgQ29uLnByb3RvdHlwZSA9IHByb3RvOw0KDQogICAgICAgIHZhciBjaGlsZCA9IG5ldyBDb24oKTsNCg0KICAgICAgICBjaGlsZC5mb28gPSAxMDsgLy8gZGVmYXVsdCBbW0NvbmZpZ3VyYWJsZV1dIGF0dHJpYnV0ZSB2YWx1ZSBvZiBmb286IHRydWUNCiANCiAgICAgICAgT2JqZWN0LmZyZWV6ZShjaGlsZCk7DQoNCiAgICAgICAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGNoaWxkLCAiZm9vIik7DQoNCiAgICAgICAgZGVsZXRlIGNoaWxkLmZvbzsNCiAgICAgICAgcmV0dXJuIGNoaWxkLmZvbyA9PT0gMTAgJiYgZGVzYy5jb25maWd1cmFibGUgPT09IGZhbHNlICYmIGRlc2Mud3JpdGFibGUgPT09IGZhbHNlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.freeze - 'P' is own data property that overrides an inherited data property","path":"TestCases/ch15/15.2/15.2.3/15.2.3.9/15.2.3.9-2-a-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuOS8xNS4yLjMuOS0yLWEtMy5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5mcmVlemUgLSAnUCcgaXMgb3duIGRhdGEgcHJvcGVydHkgdGhhdCBvdmVycmlkZXMgYW4gaW5oZXJpdGVkIGFjY2Vzc29yIHByb3BlcnR5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIHByb3RvID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHByb3RvLCAiZm9vIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIDA7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBDb24gPSBmdW5jdGlvbiAoKSB7IH07DQogICAgICAgIENvbi5wcm90b3R5cGUgPSBwcm90bzsNCg0KICAgICAgICB2YXIgY2hpbGQgPSBuZXcgQ29uKCk7DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShjaGlsZCwgImZvbyIsIHsNCiAgICAgICAgICAgIHZhbHVlOiAxMCwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBPYmplY3QuZnJlZXplKGNoaWxkKTsNCg0KICAgICAgICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoY2hpbGQsICJmb28iKTsNCg0KICAgICAgICBkZWxldGUgY2hpbGQuZm9vOw0KICAgICAgICByZXR1cm4gY2hpbGQuZm9vID09PSAxMCAmJiBkZXNjLmNvbmZpZ3VyYWJsZSA9PT0gZmFsc2UgJiYgZGVzYy53cml0YWJsZSA9PT0gZmFsc2U7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.freeze - 'P' is own data property that overrides an inherited accessor property","path":"TestCases/ch15/15.2/15.2.3/15.2.3.9/15.2.3.9-2-a-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuOS8xNS4yLjMuOS0yLWEtNC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5mcmVlemUgLSAnUCcgaXMgb3duIGFjY2Vzc29yIHByb3BlcnR5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJmb28iLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gMTA7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIE9iamVjdC5mcmVlemUob2JqKTsNCg0KICAgICAgICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAiZm9vIik7DQoNCiAgICAgICAgZGVsZXRlIG9iai5mb287DQogICAgICAgIHJldHVybiBvYmouZm9vID09PSAxMCAmJiBkZXNjLmNvbmZpZ3VyYWJsZSA9PT0gZmFsc2U7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.freeze - 'P' is own accessor property","path":"TestCases/ch15/15.2/15.2.3/15.2.3.9/15.2.3.9-2-a-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuOS8xNS4yLjMuOS0yLWEtNS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5mcmVlemUgLSAnUCcgaXMgb3duIGFjY2Vzc29yIHByb3BlcnR5IHRoYXQgb3ZlcnJpZGVzIGFuIGluaGVyaXRlZCBkYXRhIHByb3BlcnR5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgcHJvdG8gPSB7fTsNCg0KICAgICAgICBwcm90by5mb28gPSAwOyAvLyBkZWZhdWx0IFtbQ29uZmlndXJhYmxlXV0gYXR0cmlidXRlIHZhbHVlIG9mIGZvbzogdHJ1ZQ0KDQogICAgICAgIHZhciBDb24gPSBmdW5jdGlvbiAoKSB7IH07DQogICAgICAgIENvbi5wcm90b3R5cGUgPSBwcm90bzsNCg0KICAgICAgICB2YXIgY2hpbGQgPSBuZXcgQ29uKCk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGNoaWxkLCAiZm9vIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIDEwOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBPYmplY3QuZnJlZXplKGNoaWxkKTsNCg0KICAgICAgICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoY2hpbGQsICJmb28iKTsNCg0KICAgICAgICBkZWxldGUgY2hpbGQuZm9vOw0KICAgICAgICByZXR1cm4gY2hpbGQuZm9vID09PSAxMCAmJiBkZXNjLmNvbmZpZ3VyYWJsZSA9PT0gZmFsc2U7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.freeze - 'P' is own accessor property that overrides an inherited data property","path":"TestCases/ch15/15.2/15.2.3/15.2.3.9/15.2.3.9-2-a-5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuOS8xNS4yLjMuOS0yLWEtNi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5mcmVlemUgLSAnUCcgaXMgb3duIGFjY2Vzc29yIHByb3BlcnR5IHRoYXQgb3ZlcnJpZGVzIGFuIGluaGVyaXRlZCBhY2Nlc3NvciBwcm9wZXJ0eQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBwcm90byA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShwcm90bywgImZvbyIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiAwOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgQ29uID0gZnVuY3Rpb24gKCkgeyB9Ow0KICAgICAgICBDb24ucHJvdG90eXBlID0gcHJvdG87DQoNCiAgICAgICAgdmFyIGNoaWxkID0gbmV3IENvbigpOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShjaGlsZCwgImZvbyIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiAxMDsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgT2JqZWN0LmZyZWV6ZShjaGlsZCk7DQoNCiAgICAgICAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGNoaWxkLCAiZm9vIik7DQoNCiAgICAgICAgZGVsZXRlIGNoaWxkLmZvbzsNCiAgICAgICAgcmV0dXJuIGNoaWxkLmZvbyA9PT0gMTAgJiYgZGVzYy5jb25maWd1cmFibGUgPT09IGZhbHNlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.freeze - 'P' is own accessor property that overrides an inherited accessor property","path":"TestCases/ch15/15.2/15.2.3/15.2.3.9/15.2.3.9-2-a-6.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuOS8xNS4yLjMuOS0yLWEtNy5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5mcmVlemUgLSAnUCcgaXMgb3duIG5hbWVkIHByb3BlcnR5IG9mIGFuIEFyZ3VtZW50cyBvYmplY3QgdGhhdCBpbXBsZW1lbnRzIGl0cyBvd24gW1tHZXRPd25Qcm9wZXJ0eV1dDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIGFyZ09iaiA9IChmdW5jdGlvbiAoKSB7IHJldHVybiBhcmd1bWVudHM7IH0oKSk7DQoNCiAgICAgICAgYXJnT2JqLmZvbyA9IDEwOyAvLyBkZWZhdWx0IFtbQ29uZmlndXJhYmxlXV0gYXR0cmlidXRlIHZhbHVlIG9mIGZvbzogdHJ1ZQ0KDQogICAgICAgIE9iamVjdC5mcmVlemUoYXJnT2JqKTsNCg0KICAgICAgICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoYXJnT2JqLCAiZm9vIik7DQoNCiAgICAgICAgZGVsZXRlIGFyZ09iai5mb287DQogICAgICAgIHJldHVybiBhcmdPYmouZm9vID09PSAxMCAmJiBkZXNjLmNvbmZpZ3VyYWJsZSA9PT0gZmFsc2UgJiYgZGVzYy53cml0YWJsZSA9PT0gZmFsc2U7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.freeze - 'P' is own named property of an Arguments object that implements its own [[GetOwnProperty]]","path":"TestCases/ch15/15.2/15.2.3/15.2.3.9/15.2.3.9-2-a-7.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuOS8xNS4yLjMuOS0yLWEtOC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5mcmVlemUgLSAnUCcgaXMgb3duIG5hbWVkIHByb3BlcnR5IG9mIHRoZSBTdHJpbmcgb2JqZWN0IHRoYXQgaW1wbGVtZW50cyBpdHMgb3duIFtbR2V0T3duUHJvcGVydHldXQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBzdHJPYmogPSBuZXcgU3RyaW5nKCJhYmMiKTsNCg0KICAgICAgICBzdHJPYmouZm9vID0gMTA7IC8vIGRlZmF1bHQgW1tDb25maWd1cmFibGVdXSBhdHRyaWJ1dGUgdmFsdWUgb2YgZm9vOiB0cnVlDQoNCiAgICAgICAgT2JqZWN0LmZyZWV6ZShzdHJPYmopOw0KDQogICAgICAgIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihzdHJPYmosICJmb28iKTsNCg0KICAgICAgICBkZWxldGUgc3RyT2JqLmZvbzsNCiAgICAgICAgcmV0dXJuIHN0ck9iai5mb28gPT09IDEwICYmIGRlc2MuY29uZmlndXJhYmxlID09PSBmYWxzZSAmJiBkZXNjLndyaXRhYmxlID09PSBmYWxzZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.freeze - 'P' is own named property of the String object that implements its own [[GetOwnProperty]]","path":"TestCases/ch15/15.2/15.2.3/15.2.3.9/15.2.3.9-2-a-8.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuOS8xNS4yLjMuOS0yLWEtOS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5mcmVlemUgLSAnUCcgaXMgb3duIHByb3BlcnR5IG9mIHRoZSBGdW5jdGlvbiBvYmplY3QgdGhhdCB1c2VzIE9iamVjdCdzIFtbR2V0T3duUHJvcGVydHldXQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBmdW5PYmogPSBmdW5jdGlvbiAoKSB7IH07DQoNCiAgICAgICAgZnVuT2JqLmZvbyA9IDEwOyAvLyBkZWZhdWx0IFtbQ29uZmlndXJhYmxlXV0gYXR0cmlidXRlIHZhbHVlIG9mIGZvbzogdHJ1ZQ0KDQogICAgICAgIE9iamVjdC5mcmVlemUoZnVuT2JqKTsNCg0KICAgICAgICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoZnVuT2JqLCAiZm9vIik7DQoNCiAgICAgICAgZGVsZXRlIGZ1bk9iai5mb287DQogICAgICAgIHJldHVybiBmdW5PYmouZm9vID09PSAxMCAmJiBkZXNjLmNvbmZpZ3VyYWJsZSA9PT0gZmFsc2UgJiYgZGVzYy53cml0YWJsZSA9PT0gZmFsc2U7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.freeze - 'P' is own property of the Function object that uses Object's [[GetOwnProperty]]","path":"TestCases/ch15/15.2/15.2.3/15.2.3.9/15.2.3.9-2-a-9.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuOS8xNS4yLjMuOS0yLWItaS0xLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmZyZWV6ZSAtIFRoZSBbW1dydGlhYmxlXV0gYXR0cmlidXRlIG9mIG93biBkYXRhIHByb3BlcnR5IG9mICdPJyBpcyBzZXQgdG8gZmFsc2Ugd2hpbGUgb3RoZXIgYXR0cmlidXRlcyBhcmUgdW5jaGFuZ2VkDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJmb28iLCB7DQogICAgICAgICAgICB2YWx1ZTogMTAsDQogICAgICAgICAgICB3cml0YWJsZTogdHJ1ZSwNCiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgIH0pOw0KDQogICAgICAgIE9iamVjdC5mcmVlemUob2JqKTsNCiAgICAgICAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgImZvbyIpOw0KDQogICAgICAgIHJldHVybiBkYXRhUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChvYmosICJmb28iLCAxMCwgZmFsc2UsIHRydWUsIGZhbHNlKSAmJg0KICAgICAgICAgICAgZGVzYy53cml0YWJsZSA9PT0gZmFsc2UgJiYgZGVzYy5jb25maWd1cmFibGUgPT09IGZhbHNlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.freeze - The [[Wrtiable]] attribute of own data property of 'O' is set to false while other attributes are unchanged","path":"TestCases/ch15/15.2/15.2.3/15.2.3.9/15.2.3.9-2-b-i-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuOS8xNS4yLjMuOS0yLWItaS0yLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LmZyZWV6ZSAtIFRoZSBbW1dydGlhYmxlXV0gYXR0cmlidXRlIG9mIGFsbCBvd24gZGF0YSBwcm9wZXJ0eSBvZiAnTycgaXMgc2V0IHRvIGZhbHNlIHdoaWxlIG90aGVyIGF0dHJpYnV0ZXMgYXJlIHVuY2hhbmdlZA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiZm9vMSIsIHsNCiAgICAgICAgICAgIHZhbHVlOiAxMCwNCiAgICAgICAgICAgIHdyaXRhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgIH0pOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJmb28yIiwgew0KICAgICAgICAgICAgdmFsdWU6IDIwLA0KICAgICAgICAgICAgd3JpdGFibGU6IHRydWUsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgfSk7DQoNCiAgICAgICAgT2JqZWN0LmZyZWV6ZShvYmopOw0KDQogICAgICAgIHZhciBkZXNjMSA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAiZm9vMSIpOw0KICAgICAgICB2YXIgZGVzYzIgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgImZvbzIiKTsNCg0KICAgICAgICByZXR1cm4gZGF0YVByb3BlcnR5QXR0cmlidXRlc0FyZUNvcnJlY3Qob2JqLCAiZm9vMSIsIDEwLCBmYWxzZSwgdHJ1ZSwgZmFsc2UpICYmDQogICAgICAgICAgICBkYXRhUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChvYmosICJmb28yIiwgMjAsIGZhbHNlLCBmYWxzZSwgZmFsc2UpICYmDQogICAgICAgICAgICBkZXNjMS5jb25maWd1cmFibGUgPT09IGZhbHNlICYmIGRlc2MxLndyaXRhYmxlID09PSBmYWxzZSAmJg0KICAgICAgICAgICAgZGVzYzIuY29uZmlndXJhYmxlID09PSBmYWxzZSAmJiBkZXNjMi53cml0YWJsZSA9PT0gZmFsc2U7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.freeze - The [[Wrtiable]] attribute of all own data property of 'O' is set to false while other attributes are unchanged","path":"TestCases/ch15/15.2/15.2.3/15.2.3.9/15.2.3.9-2-b-i-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuOS8xNS4yLjMuOS0yLWMtMS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5mcmVlemUgLSBUaGUgW1tDb25maWd1cmFibGVdXSBhdHRyaWJ1dGUgb2Ygb3duIGRhdGEgcHJvcGVydHkgb2YgJ08nIGlzIHNldCB0byBmYWxzZSB3aGlsZSBvdGhlciBhdHRyaWJ1dGVzIGFyZSB1bmNoYW5nZWQNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgImZvbyIsIHsNCiAgICAgICAgICAgIHZhbHVlOiAxMCwNCiAgICAgICAgICAgIHdyaXRhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgT2JqZWN0LmZyZWV6ZShvYmopOw0KICAgICAgICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAiZm9vIik7DQoNCiAgICAgICAgcmV0dXJuIGRhdGFQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KG9iaiwgImZvbyIsIDEwLCBmYWxzZSwgdHJ1ZSwgZmFsc2UpICYmDQogICAgICAgICAgICBkZXNjLmNvbmZpZ3VyYWJsZSA9PT0gZmFsc2UgJiYgZGVzYy53cml0YWJsZSA9PT0gZmFsc2U7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.freeze - The [[Configurable]] attribute of own data property of 'O' is set to false while other attributes are unchanged","path":"TestCases/ch15/15.2/15.2.3/15.2.3.9/15.2.3.9-2-c-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuOS8xNS4yLjMuOS0yLWMtMi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5mcmVlemUgLSBUaGUgW1tDb25maWd1cmFibGVdXSBhdHRyaWJ1dGUgb2Ygb3duIGFjY2Vzc29yIHByb3BlcnR5IG9mICdPJyBpcyBzZXQgdG8gZmFsc2Ugd2hpbGUgb3RoZXIgYXR0cmlidXRlcyBhcmUgdW5jaGFuZ2VkDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIGZ1bmN0aW9uIGdldF9mdW5jKCkgew0KICAgICAgICAgICAgcmV0dXJuIDEwOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIHJlc3VsdFNldEZ1biA9IGZhbHNlOw0KICAgICAgICBmdW5jdGlvbiBzZXRfZnVuYygpIHsNCiAgICAgICAgICAgIHJlc3VsdFNldEZ1biA9IHRydWU7DQogICAgICAgIH0NCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiZm9vIiwgew0KICAgICAgICAgICAgZ2V0OiBnZXRfZnVuYywNCiAgICAgICAgICAgIHNldDogc2V0X2Z1bmMsDQogICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIE9iamVjdC5mcmVlemUob2JqKTsNCiAgICAgICAgdmFyIHJlczEgPSBvYmouaGFzT3duUHJvcGVydHkoImZvbyIpOw0KICAgICAgICBkZWxldGUgb2JqLmZvbzsNCiAgICAgICAgdmFyIHJlczIgPSBvYmouaGFzT3duUHJvcGVydHkoImZvbyIpOw0KICAgICAgICB2YXIgcmVzdWx0Q29uZmlndXJhYmxlID0gKHJlczEgJiYgcmVzMik7DQoNCiAgICAgICAgdmFyIHJlc3VsdEdldEZ1biA9IChvYmouZm9vID09PSAxMCk7DQogICAgICAgIG9iai5mb28gPSAxMjsNCg0KICAgICAgICB2YXIgcmVzdWx0RW51bWVyYWJsZSA9IGZhbHNlOw0KICAgICAgICBmb3IgKHZhciBwcm9wIGluIG9iaikgew0KICAgICAgICAgICAgaWYgKHByb3AgPT09ICJmb28iKSB7DQogICAgICAgICAgICAgICAgcmVzdWx0RW51bWVyYWJsZSA9IHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAiZm9vIik7DQogICAgICAgIHZhciByZXN1bHQgPSByZXN1bHRDb25maWd1cmFibGUgJiYgcmVzdWx0RW51bWVyYWJsZSAmJiByZXN1bHRHZXRGdW4gJiYgcmVzdWx0U2V0RnVuOw0KDQogICAgICAgIHJldHVybiBkZXNjLmNvbmZpZ3VyYWJsZSA9PT0gZmFsc2UgJiYgcmVzdWx0Ow0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.freeze - The [[Configurable]] attribute of own accessor property of 'O' is set to false while other attributes are unchanged","path":"TestCases/ch15/15.2/15.2.3/15.2.3.9/15.2.3.9-2-c-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuOS8xNS4yLjMuOS0yLWMtMy5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5mcmVlemUgLSBUaGUgW1tDb25maWd1cmFibGVdXSBhdHRyaWJ1dGUgb2YgYWxsIG93biBkYXRhIHByb3BlcnR5IG9mICdPJyBpcyBzZXQgdG8gZmFsc2Ugd2hpbGUgb3RoZXIgYXR0cmlidXRlcyBhcmUgdW5jaGFuZ2VkDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIHZhciByZXN1bHRTZXRGdW4gPSBmYWxzZTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiZm9vMSIsIHsNCiAgICAgICAgICAgIHZhbHVlOiAxMCwNCiAgICAgICAgICAgIHdyaXRhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgZnVuY3Rpb24gZ2V0X2Z1bmMoKSB7DQogICAgICAgICAgICByZXR1cm4gMTA7DQogICAgICAgIH0NCg0KICAgICAgICBmdW5jdGlvbiBzZXRfZnVuYygpIHsNCiAgICAgICAgICAgIHJlc3VsdFNldEZ1biA9IHRydWU7DQogICAgICAgIH0NCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiZm9vMiIsIHsNCiAgICAgICAgICAgIGdldDogZ2V0X2Z1bmMsDQogICAgICAgICAgICBzZXQ6IHNldF9mdW5jLA0KICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBPYmplY3QuZnJlZXplKG9iaik7DQoNCiAgICAgICAgdmFyIHJlczEgPSBvYmouaGFzT3duUHJvcGVydHkoImZvbzIiKTsNCiAgICAgICAgZGVsZXRlIG9iai5mb28yOw0KICAgICAgICB2YXIgcmVzMiA9IG9iai5oYXNPd25Qcm9wZXJ0eSgiZm9vMiIpOw0KICAgICAgICB2YXIgcmVzdWx0Q29uZmlndXJhYmxlID0gKHJlczEgJiYgcmVzMik7DQoNCiAgICAgICAgdmFyIHJlc3VsdEdldEZ1biA9IChvYmouZm9vMiA9PT0gMTApOw0KICAgICAgICBvYmouZm9vMiA9IDEyOw0KDQogICAgICAgIHZhciByZXN1bHRFbnVtZXJhYmxlID0gZmFsc2U7DQogICAgICAgIGZvciAodmFyIHByb3AgaW4gb2JqKSB7DQogICAgICAgICAgICBpZiAocHJvcCA9PT0gImZvbzIiKSB7DQogICAgICAgICAgICAgICAgcmVzdWx0RW51bWVyYWJsZSA9IHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgZGVzYzEgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwgImZvbzEiKTsNCiAgICAgICAgdmFyIGRlc2MyID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJmb28yIik7DQoNCiAgICAgICAgdmFyIHJlc3VsdCA9IHJlc3VsdENvbmZpZ3VyYWJsZSAmJiByZXN1bHRFbnVtZXJhYmxlICYmIHJlc3VsdEdldEZ1biAmJiByZXN1bHRTZXRGdW47DQoNCiAgICAgICAgcmV0dXJuIGRhdGFQcm9wZXJ0eUF0dHJpYnV0ZXNBcmVDb3JyZWN0KG9iaiwgImZvbzEiLCAxMCwgZmFsc2UsIHRydWUsIGZhbHNlKSAmJiByZXN1bHQgJiYNCiAgICAgICAgICAgIGRlc2MxLmNvbmZpZ3VyYWJsZSA9PT0gZmFsc2UgJiYgZGVzYzEud3JpdGFibGUgPT09IGZhbHNlICYmIGRlc2MyLmNvbmZpZ3VyYWJsZSA9PT0gZmFsc2U7DQoNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.freeze - The [[Configurable]] attribute of all own data property of 'O' is set to false while other attributes are unchanged","path":"TestCases/ch15/15.2/15.2.3/15.2.3.9/15.2.3.9-2-c-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuOS8xNS4yLjMuOS0yLWMtNC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5mcmVlemUgLSBhbGwgb3duIHByb3BlcnRpZXMgb2YgJ08nIGFyZSBub3Qgd3JpdGFibGUgYW5kIG5vdCBjb25maWd1cmFibGUNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIHZhciByZXN1bHRTZXRGdW4gPSBmYWxzZTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiZm9vMSIsIHsNCiAgICAgICAgICAgIHZhbHVlOiAxMCwNCiAgICAgICAgICAgIHdyaXRhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgIH0pOw0KDQogICAgICAgIGZ1bmN0aW9uIGdldF9mdW5jKCkgew0KICAgICAgICAgICAgcmV0dXJuIDEwOw0KICAgICAgICB9DQoNCiAgICAgICAgZnVuY3Rpb24gc2V0X2Z1bmMoKSB7DQogICAgICAgICAgICByZXN1bHRTZXRGdW4gPSB0cnVlOw0KICAgICAgICB9DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgImZvbzIiLCB7DQogICAgICAgICAgICBnZXQ6IGdldF9mdW5jLA0KICAgICAgICAgICAgc2V0OiBzZXRfZnVuYywNCiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgT2JqZWN0LmZyZWV6ZShvYmopOw0KDQogICAgICAgIHZhciByZXMxID0gb2JqLmhhc093blByb3BlcnR5KCJmb28yIik7DQogICAgICAgIGRlbGV0ZSBvYmouZm9vMjsNCiAgICAgICAgdmFyIHJlczIgPSBvYmouaGFzT3duUHJvcGVydHkoImZvbzIiKTsNCiAgICAgICAgdmFyIHJlc3VsdENvbmZpZ3VyYWJsZSA9IChyZXMxICYmIHJlczIpOw0KDQogICAgICAgIHZhciByZXN1bHRHZXRGdW4gPSAob2JqLmZvbzIgPT09IDEwKTsNCiAgICAgICAgb2JqLmZvbzIgPSAxMjsNCg0KICAgICAgICB2YXIgcmVzdWx0RW51bWVyYWJsZSA9IGZhbHNlOw0KICAgICAgICBmb3IgKHZhciBwcm9wIGluIG9iaikgew0KICAgICAgICAgICAgaWYgKHByb3AgPT09ICJmb28yIikgew0KICAgICAgICAgICAgICAgIHJlc3VsdEVudW1lcmFibGUgPSB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIGRlc2MxID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosICJmb28xIik7DQogICAgICAgIHZhciBkZXNjMiA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCAiZm9vMiIpOw0KDQogICAgICAgIHZhciByZXN1bHQgPSByZXN1bHRDb25maWd1cmFibGUgJiYgcmVzdWx0RW51bWVyYWJsZSAmJiByZXN1bHRHZXRGdW4gJiYgcmVzdWx0U2V0RnVuOw0KDQogICAgICAgIHJldHVybiBkYXRhUHJvcGVydHlBdHRyaWJ1dGVzQXJlQ29ycmVjdChvYmosICJmb28xIiwgMTAsIGZhbHNlLCB0cnVlLCBmYWxzZSkgJiYNCiAgICAgICAgICAgIHJlc3VsdCAmJiBkZXNjMS5jb25maWd1cmFibGUgPT09IGZhbHNlICYmIGRlc2MxLndyaXRhYmxlID09PSBmYWxzZSAmJiBkZXNjMi5jb25maWd1cmFibGUgPT09IGZhbHNlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.freeze - all own properties of 'O' are not writable and not configurable","path":"TestCases/ch15/15.2/15.2.3/15.2.3.9/15.2.3.9-2-c-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuOS8xNS4yLjMuOS0yLWQtMS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5mcmVlemUgLSAnTycgaXMgYSBGdW5jdGlvbiBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgZnVuT2JqID0gZnVuY3Rpb24gKCkgeyB9Ow0KDQogICAgICAgIE9iamVjdC5mcmVlemUoZnVuT2JqKTsNCg0KICAgICAgICByZXR1cm4gT2JqZWN0LmlzRnJvemVuKGZ1bk9iaik7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.freeze - 'O' is a Function object","path":"TestCases/ch15/15.2/15.2.3/15.2.3.9/15.2.3.9-2-d-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuOS8xNS4yLjMuOS0yLWQtMi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5mcmVlemUgLSAnTycgaXMgYW4gQXJyYXkgb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIGFyck9iaiA9IFswLCAxXTsNCg0KICAgICAgICBPYmplY3QuZnJlZXplKGFyck9iaik7DQoNCiAgICAgICAgcmV0dXJuIE9iamVjdC5pc0Zyb3plbihhcnJPYmopOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.freeze - 'O' is an Array object","path":"TestCases/ch15/15.2/15.2.3/15.2.3.9/15.2.3.9-2-d-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuOS8xNS4yLjMuOS0yLWQtMy5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5mcmVlemUgLSAnTycgaXMgYSBTdHJpbmcgb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIHN0ck9iaiA9IG5ldyBTdHJpbmcoImEiKTsNCg0KICAgICAgICBPYmplY3QuZnJlZXplKHN0ck9iaik7DQoNCiAgICAgICAgcmV0dXJuIE9iamVjdC5pc0Zyb3plbihzdHJPYmopOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.freeze - 'O' is a String object","path":"TestCases/ch15/15.2/15.2.3/15.2.3.9/15.2.3.9-2-d-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuOS8xNS4yLjMuOS0yLWQtNC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5mcmVlemUgLSAnTycgaXMgYSBCb29sZWFuIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBib29sT2JqID0gbmV3IEJvb2xlYW4oZmFsc2UpOw0KDQogICAgICAgIE9iamVjdC5mcmVlemUoYm9vbE9iaik7DQoNCiAgICAgICAgcmV0dXJuIE9iamVjdC5pc0Zyb3plbihib29sT2JqKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.freeze - 'O' is a Boolean object","path":"TestCases/ch15/15.2/15.2.3/15.2.3.9/15.2.3.9-2-d-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuOS8xNS4yLjMuOS0yLWQtNS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5mcmVlemUgLSAnTycgaXMgYSBOdW1iZXIgb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG51bU9iaiA9IG5ldyBOdW1iZXIoMyk7DQoNCiAgICAgICAgT2JqZWN0LmZyZWV6ZShudW1PYmopOw0KDQogICAgICAgIHJldHVybiBPYmplY3QuaXNGcm96ZW4obnVtT2JqKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.freeze - 'O' is a Number object","path":"TestCases/ch15/15.2/15.2.3/15.2.3.9/15.2.3.9-2-d-5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuOS8xNS4yLjMuOS0yLWQtNi5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5mcmVlemUgLSAnTycgaXMgYSBEYXRlIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBkYXRlT2JqID0gbmV3IERhdGUoKTsNCg0KICAgICAgICBPYmplY3QuZnJlZXplKGRhdGVPYmopOw0KDQogICAgICAgIHJldHVybiBPYmplY3QuaXNGcm96ZW4oZGF0ZU9iaik7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.freeze - 'O' is a Date object","path":"TestCases/ch15/15.2/15.2.3/15.2.3.9/15.2.3.9-2-d-6.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuOS8xNS4yLjMuOS0yLWQtNy5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5mcmVlemUgLSAnTycgaXMgYSBSZWdFeHAgb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIHJlZ09iaiA9IG5ldyBSZWdFeHAoKTsNCg0KICAgICAgICBPYmplY3QuZnJlZXplKHJlZ09iaik7DQoNCiAgICAgICAgcmV0dXJuIE9iamVjdC5pc0Zyb3plbihyZWdPYmopOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.freeze - 'O' is a RegExp object","path":"TestCases/ch15/15.2/15.2.3/15.2.3.9/15.2.3.9-2-d-7.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuOS8xNS4yLjMuOS0yLWQtOC5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5mcmVlemUgLSAnTycgaXMgYW4gRXJyb3Igb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIGVyck9iaiA9IG5ldyBTeW50YXhFcnJvcigpOw0KDQogICAgICAgIE9iamVjdC5mcmVlemUoZXJyT2JqKTsNCg0KICAgICAgICByZXR1cm4gT2JqZWN0LmlzRnJvemVuKGVyck9iaik7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.freeze - 'O' is an Error object","path":"TestCases/ch15/15.2/15.2.3/15.2.3.9/15.2.3.9-2-d-8.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuOS8xNS4yLjMuOS0yLWQtOS5qcw0KICogQGRlc2NyaXB0aW9uIE9iamVjdC5mcmVlemUgLSAnTycgaXMgdGhlIEFyZ3VtZW50cyBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgYXJnT2JqID0gKGZ1bmN0aW9uICgpIHsgcmV0dXJuIGFyZ3VtZW50czsgfSAoKSk7DQoNCiAgICAgICAgT2JqZWN0LmZyZWV6ZShhcmdPYmopOw0KDQogICAgICAgIHJldHVybiBPYmplY3QuaXNGcm96ZW4oYXJnT2JqKTsNCg0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.freeze - 'O' is the Arguments object","path":"TestCases/ch15/15.2/15.2.3/15.2.3.9/15.2.3.9-2-d-9.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuOS8xNS4yLjMuOS0zLTEuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZnJlZXplIC0gcmV0dXJuZWQgb2JqZWN0IGlzIG5vdCBleHRlbnNpYmxlDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIE9iamVjdC5mcmVlemUob2JqKTsNCiAgICAgICAgcmV0dXJuICFPYmplY3QuaXNFeHRlbnNpYmxlKG9iaik7DQoNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.freeze - returned object is not extensible","path":"TestCases/ch15/15.2/15.2.3/15.2.3.9/15.2.3.9-3-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuOS8xNS4yLjMuOS00LTEuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZnJlZXplIC0gJ08nIGlzIHNlYWxlZCBhbHJlYWR5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgb2JqLmZvbyA9IDEwOyAvLyBkZWZhdWx0IHZhbHVlIG9mIGF0dHJpYnV0ZXM6IHdyaXRhYmxlOiB0cnVlLCBlbnVtZXJhYmxlOiB0cnVlDQoNCiAgICAgICAgT2JqZWN0LnNlYWwob2JqKTsNCg0KICAgICAgICBPYmplY3QuZnJlZXplKG9iaik7DQogICAgICAgIHJldHVybiBPYmplY3QuaXNGcm96ZW4ob2JqKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.freeze - 'O' is sealed already","path":"TestCases/ch15/15.2/15.2.3/15.2.3.9/15.2.3.9-4-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuOS8xNS4yLjMuOS00LTIuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZnJlZXplIC0gJ08nIGlzIGZyb3plbiBhbHJlYWR5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgb2JqLmZvbyA9IDEwOyAvLyBkZWZhdWx0IHZhbHVlIG9mIGF0dHJpYnV0ZXM6IHdyaXRhYmxlOiB0cnVlLCBlbnVtZXJhYmxlOiB0cnVlDQoNCiAgICAgICAgT2JqZWN0LmZyZWV6ZShvYmopOw0KDQogICAgICAgIE9iamVjdC5mcmVlemUob2JqKTsNCiAgICAgICAgcmV0dXJuIE9iamVjdC5pc0Zyb3plbihvYmopOw0KDQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.freeze - 'O' is frozen already","path":"TestCases/ch15/15.2/15.2.3/15.2.3.9/15.2.3.9-4-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuMy8xNS4yLjMuOS8xNS4yLjMuOS00LTMuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QuZnJlZXplIC0gdGhlIGV4dGVuc2lvbnMgb2YgJ08nIGlzIHByZXZlbnRlZCBhbHJlYWR5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgb2JqLmZvbyA9IDEwOyAvLyBkZWZhdWx0IHZhbHVlIG9mIGF0dHJpYnV0ZXM6IHdyaXRhYmxlOiB0cnVlLCBlbnVtZXJhYmxlOiB0cnVlDQoNCiAgICAgICAgT2JqZWN0LnByZXZlbnRFeHRlbnNpb25zKG9iaik7DQoNCiAgICAgICAgT2JqZWN0LmZyZWV6ZShvYmopOw0KICAgICAgICByZXR1cm4gT2JqZWN0LmlzRnJvemVuKG9iaik7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.freeze - the extensions of 'O' is prevented already","path":"TestCases/ch15/15.2/15.2.3/15.2.3.9/15.2.3.9-4-3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgaW5pdGlhbCB2YWx1ZSBvZiBPYmplY3QucHJvdG90eXBlLmNvbnN0cnVjdG9yIGlzIHRoZSBidWlsdC1pbiBPYmplY3QgY29uc3RydWN0b3IKICoKICogQHBhdGggY2gxNS8xNS4yLzE1LjIuNC9TMTUuMi40LjFfQTFfVDEuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIHRoZSBPYmplY3QucHJvdG90eXBlLmNvbnN0cnVjdG9yCiAqLwoKLy9DSEVDSyMxCmlmIChPYmplY3QucHJvdG90eXBlLmNvbnN0cnVjdG9yICE9PSBPYmplY3QpIHsKICAkRVJST1IoJyMxOiBUaGUgaW5pdGlhbCB2YWx1ZSBvZiBPYmplY3QucHJvdG90eXBlLmNvbnN0cnVjdG9yIGlzIHRoZSBidWlsdC1pbiBPYmplY3QgY29uc3RydWN0b3InKTsKfQoK","commentary":"The initial value of Object.prototype.constructor is the built-in Object constructor","description":"Checking the Object.prototype.constructor","path":"TestCases/ch15/15.2/15.2.4/S15.2.4.1_A1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgaW5pdGlhbCB2YWx1ZSBvZiBPYmplY3QucHJvdG90eXBlLmNvbnN0cnVjdG9yIGlzIHRoZSBidWlsdC1pbiBPYmplY3QgY29uc3RydWN0b3IKICoKICogQHBhdGggY2gxNS8xNS4yLzE1LjIuNC9TMTUuMi40LjFfQTFfVDIuanMKICogQGRlc2NyaXB0aW9uIENyZWF0aW5nICJuZXcgT2JqZWN0LnByb3RvdHlwZS5jb25zdHJ1Y3RvciIgYW5kIGNoZWNraW5nIGl0cyBwcm9wZXJ0aWVzCiAqLwoKdmFyIGNvbnN0ciA9IE9iamVjdC5wcm90b3R5cGUuY29uc3RydWN0b3I7Cgp2YXIgb2JqID0gbmV3IGNvbnN0cjsKCi8vIENIRUNLIzAKaWYgKG9iaiA9PT0gdW5kZWZpbmVkKSB7CiAgJEVSUk9SKCcjMDogbmV3IE9iamVjdCgpIHJldHVybiB0aGUgbmV3bHkgY3JlYXRlZCBuYXRpdmUgb2JqZWN0LicpOwp9CgovLyBDSEVDSyMxCmlmIChvYmouY29uc3RydWN0b3IgIT09IE9iamVjdCkgewogICRFUlJPUignIzE6IG5ldyBPYmplY3QoKSBjcmVhdGUgYSBuZXcgbmF0aXZlIEVDTUFTY3JpcHQgb2JqZWN0Jyk7Cn0KCi8vIENIRUNLIzIKaWYgKCEoT2JqZWN0LnByb3RvdHlwZS5pc1Byb3RvdHlwZU9mKG9iaikpKSB7CiAgJEVSUk9SKCcjMjogd2hlbiBuZXcgT2JqZWN0KCkgY2FsbHMgdGhlIFtbUHJvdG90eXBlXV0gcHJvcGVydHkgb2YgdGhlIG5ld2x5IGNvbnN0cnVjdGVkIG9iamVjdCBpcyBzZXQgdG8gdGhlIE9iamVjdCBwcm90b3R5cGUgb2JqZWN0LicpOwp9CgovLyBDSEVDSyMzCnZhciB0b19zdHJpbmdfcmVzdWx0ID0gJ1tvYmplY3QgJysgJ09iamVjdCcgKyddJzsKaWYgKG9iai50b1N0cmluZygpICE9PSB0b19zdHJpbmdfcmVzdWx0KSB7CiAgJEVSUk9SKCcjMzogd2hlbiBuZXcgT2JqZWN0KCkgY2FsbHMgdGhlIFtbQ2xhc3NdXSBwcm9wZXJ0eSBvZiB0aGUgbmV3bHkgY29uc3RydWN0ZWQgb2JqZWN0IGlzIHNldCB0byAiT2JqZWN0Ii4nKTsKfQoKLy8gQ0hFQ0sjNAppZiAob2JqLnZhbHVlT2YoKS50b1N0cmluZygpICE9PSB0b19zdHJpbmdfcmVzdWx0KSB7CiAgJEVSUk9SKCcjNDogd2hlbiBuZXcgT2JqZWN0KCkgY2FsbHMgdGhlIG5ld2x5IGNvbnN0cnVjdGVkIG9iamVjdCBoYXMgbm8gW1tWYWx1ZV1dIHByb3BlcnR5LicpOwp9Cgo=","commentary":"The initial value of Object.prototype.constructor is the built-in Object constructor","description":"Creating \"new Object.prototype.constructor\" and checking its properties","path":"TestCases/ch15/15.2/15.2.4/S15.2.4.1_A1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPYmplY3QgcHJvdG90eXBlIG9iamVjdCBoYXMgbm90IHByb3RvdHlwZQogKgogKiBAcGF0aCBjaDE1LzE1LjIvMTUuMi40L1MxNS4yLjRfQTFfVDEuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIG9idGFpbmluZyBPYmplY3QucHJvdG90eXBlLnByb3RvdHlwZSBmYWlscwogKi8KCi8vIENIRUNLIzEKaWYgKE9iamVjdC5wcm90b3R5cGUucHJvdG90eXBlICE9PSB1bmRlZmluZWQpIHsKICAkRVJST1IoJyMxOiBPYmplY3QgcHJvdG90eXBlIGhhcyBub3QgcHJvdG90eXBlJyk7Cn0KCg==","commentary":"Object prototype object has not prototype","description":"Checking if obtaining Object.prototype.prototype fails","path":"TestCases/ch15/15.2/15.2.4/S15.2.4_A1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPYmplY3QgcHJvdG90eXBlIG9iamVjdCBoYXMgbm90IHByb3RvdHlwZQogKgogKiBAcGF0aCBjaDE1LzE1LjIvMTUuMi40L1MxNS4yLjRfQTFfVDIuanMKICogQGRlc2NyaXB0aW9uIFNpbmNlIHRoZSBPYmplY3QgcHJvdG90eXBlIG9iamVjdCBoYXMgbm90IHByb3RvdHlwZSwgZGVsZXRlZCB0b1N0cmluZyBtZXRob2QgY2FuIG5vdCBiZSBmb3VuZCBpbiBwcm90b3R5cGUgY2hhaW4KICovCgovL0NIRUNLIzEKaWYgKE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcoKSA9PSBmYWxzZSkgewogICRFUlJPUignIzE6IE9iamVjdCBwcm90b3R5cGUgb2JqZWN0IGhhcyBub3QgcHJvdG90eXBlJyk7Cn0KCmRlbGV0ZSBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nOwoKLy8gQ0hFQ0sjMgp0cnkgewogIE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcoKTsKICAkRVJST1IoJyMyOiBPYmplY3QgcHJvdG90eXBlIG9iamVjdCBoYXMgbm90IHByb3RvdHlwZScpOwp9IGNhdGNoIChlKSB7CiAgaWYgKChlIGluc3RhbmNlb2YgVHlwZUVycm9yKSAhPT0gdHJ1ZSkgewogICAgJEVSUk9SKCcjMS4xOiBkZWxldGUgT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZzsgT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZygpIHRocm93IGEgVHlwZUVycm9yLiBBY3R1YWw6ICcgKyAoZSkpOyAgCiAgfQp9Ci8vCgo=","commentary":"Object prototype object has not prototype","description":"Since the Object prototype object has not prototype, deleted toString method can not be found in prototype chain","path":"TestCases/ch15/15.2/15.2.4/S15.2.4_A1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgdmFsdWUgb2YgdGhlIGludGVybmFsIFtbQ2xhc3NdXSBwcm9wZXJ0eSBvZiBPYmplY3QgcHJvdG90eXBlIG9iamVjdCBpcyAiT2JqZWN0IgogKgogKiBAcGF0aCBjaDE1LzE1LjIvMTUuMi40L1MxNS4yLjRfQTIuanMKICogQGRlc2NyaXB0aW9uIEdldHRpbmcgdGhlIHZhbHVlIG9mIHRoZSBpbnRlcm5hbCBbW0NsYXNzXV0gcHJvcGVydHkgd2l0aCBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nKCkgZnVuY3Rpb24KICovCgp2YXIgdG9zdHIgPSBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nKCk7CgovL0NIRUNLIzEKaWYgKHRvc3RyICE9PSAiW29iamVjdCBPYmplY3RdIikgewogICRFUlJPUignIzE6IHRoZSB2YWx1ZSBvZiB0aGUgaW50ZXJuYWwgW1tDbGFzc11dIHByb3BlcnR5IG9mIE9iamVjdCBwcm90b3R5cGUgb2JqZWN0IGlzICJPYmplY3QiJyk7Cn0KCg==","commentary":"The value of the internal [[Class]] property of Object prototype object is \"Object\"","description":"Getting the value of the internal [[Class]] property with Object.prototype.toString() function","path":"TestCases/ch15/15.2/15.2.4/S15.2.4_A2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTaW5jZSB0aGUgT2JqZWN0IHByb3RvdHlwZSBvYmplY3QgaXMgbm90IGEgZnVuY3Rpb24sIGl0IGhhcyBub3QgW1tjYWxsXV0gbWV0aG9kCiAqCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjQvUzE1LjIuNF9BMy5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgaWYgY2FsbGluZyBPYmplY3QgcHJvdG90eXBlIGFzIGEgZnVuY3Rpb24gZmFpbHMKICovCgovL0NIRUNLIzEKdHJ5IHsKICBPYmplY3QucHJvdG90eXBlKCk7CiAgJEZBSUwoJyMxOiBTaW5jZSBPYmplY3QgcHJvdG90eXBlIG9iamVjdCBpcyBub3QgZnVuY3Rpb24gaXQgaGFzIG5vdCBbW2NhbGxdXSBtZXRob2QnKTsKfSBjYXRjaCAoZSkgewogICRQUklOVChlKTsKfQoK","commentary":"Since the Object prototype object is not a function, it has not [[call]] method","description":"Checking if calling Object prototype as a function fails","path":"TestCases/ch15/15.2/15.2.4/S15.2.4_A3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTaW5jZSB0aGUgT2JqZWN0IHByb3RvdHlwZSBvYmplY3QgaXMgbm90IGEgZnVuY3Rpb24sIGl0IGhhcyBub3QgW1tjcmVhdGVdXSBtZXRob2QKICoKICogQHBhdGggY2gxNS8xNS4yLzE1LjIuNC9TMTUuMi40X0E0LmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiBjcmVhdGluZyAibmV3IE9iamVjdC5wcm90b3R5cGUiIGZhaWxzCiAqLwoKLy9DSEVDSyMxCnRyeSB7CiAgaW5zdGFuY2UgPSBuZXcgT2JqZWN0LnByb3RvdHlwZTsKICAkRkFJTCgnIzE6IFNpbmNlIE9iamVjdCBwcm90b3R5cGUgb2JqZWN0IGlzIG5vdCBmdW5jdGlvbiBpdCBoYXMgbm90IFtbY3JlYXRlXV0gbWV0aG9kJyk7Cn0gY2F0Y2ggKGUpIHsKICAkUFJJTlQoZSk7Cn0KCg==","commentary":"Since the Object prototype object is not a function, it has not [[create]] method","description":"Checking if creating \"new Object.prototype\" fails","path":"TestCases/ch15/15.2/15.2.4/S15.2.4_A4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuNC8xNS4yLjQuMi8xNS4yLjQuMi0xLTEuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nIC0gJ1tvYmplY3QgVW5kZWZpbmVkXScgd2lsbCBiZSByZXR1cm5lZCB3aGVuICd0aGlzJyB2YWx1ZSBpcyB1bmRlZmluZWQNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICByZXR1cm4gT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKHVuZGVmaW5lZCkgPT09ICJbb2JqZWN0IFVuZGVmaW5lZF0iOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.prototype.toString - '[object Undefined]' will be returned when 'this' value is undefined","path":"TestCases/ch15/15.2/15.2.4/15.2.4.2/15.2.4.2-1-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuNC8xNS4yLjQuMi8xNS4yLjQuMi0xLTIuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nIC0gJ1tvYmplY3QgVW5kZWZpbmVkXScgd2lsbCBiZSByZXR1cm5lZCB3aGVuICd0aGlzJyB2YWx1ZSBpcyB1bmRlZmluZWQNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICByZXR1cm4gT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5hcHBseSh1bmRlZmluZWQsIFtdKSA9PT0gIltvYmplY3QgVW5kZWZpbmVkXSI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Object.prototype.toString - '[object Undefined]' will be returned when 'this' value is undefined","path":"TestCases/ch15/15.2/15.2.4/15.2.4.2/15.2.4.2-1-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuNC8xNS4yLjQuMi8xNS4yLjQuMi0yLTEuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nIC0gJ1tvYmplY3QgTnVsbF0nIHdpbGwgYmUgcmV0dXJuZWQgd2hlbiAndGhpcycgdmFsdWUgaXMgbnVsbA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHJldHVybiBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwobnVsbCkgPT09ICJbb2JqZWN0IE51bGxdIjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Object.prototype.toString - '[object Null]' will be returned when 'this' value is null","path":"TestCases/ch15/15.2/15.2.4/15.2.4.2/15.2.4.2-2-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuNC8xNS4yLjQuMi8xNS4yLjQuMi0yLTIuanMNCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nIC0gJ1tvYmplY3QgTnVsbF0nIHdpbGwgYmUgcmV0dXJuZWQgd2hlbiAndGhpcycgdmFsdWUgaXMgbnVsbA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHJldHVybiBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmFwcGx5KG51bGwsIFtdKSA9PT0gIltvYmplY3QgTnVsbF0iOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Object.prototype.toString - '[object Null]' will be returned when 'this' value is null","path":"TestCases/ch15/15.2/15.2.4/15.2.4.2/15.2.4.2-2-2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuIHRoZSB0b1N0cmluZyBtZXRob2QgaXMgY2FsbGVkLCB0aGUgZm9sbG93aW5nIHN0ZXBzIGFyZSB0YWtlbjoKICogaSkgR2V0IHRoZSBbW0NsYXNzXV0gcHJvcGVydHkgb2YgdGhpcyBvYmplY3QKICogaWkpIENvbXB1dGUgYSBzdHJpbmcgdmFsdWUgYnkgY29uY2F0ZW5hdGluZyB0aGUgdGhyZWUgc3RyaW5ncyAiW29iamVjdCAiLCBSZXN1bHQoMSksIGFuZCAiXSIKICogaWlpKSBSZXR1cm4gUmVzdWx0KDIpCiAqCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjQvMTUuMi40LjIvUzE1LjIuNC4yX0ExLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyB0aGUgdHlwZSBvZiBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nIGFuZCB0aGUgcmV0dXJuZWQgcmVzdWx0CiAqLwoKLy9DSEVDSyMxCmlmICh0eXBlb2YgT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZyAhPT0gImZ1bmN0aW9uIikgewogICRFUlJPUignIzE6IHRvU3RyaW5nIG1ldGhvZCBkZWZpbmVkJyk7Cn0KCi8vQ0hFQ0sjMgppZiAoT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZygpICE9PSJbb2JqZWN0ICIrIk9iamVjdCIrIl0iKSB7CiAgJEVSUk9SKCcjMjogcmV0dXJuIGEgc3RyaW5nIHZhbHVlIGJ5IGNvbmNhdGVuYXRpbmcgdGhlIHRocmVlIHN0cmluZ3MgIltvYmplY3QgIiwgdGhlIFtbQ2xhc3NdXSBwcm9wZXJ0eSBvZiB0aGlzIG9iamVjdCwgYW5kICJdIicpOwp9CgovL0NIRUNLIzMKaWYgKHt9LnRvU3RyaW5nKCkhPT0iW29iamVjdCAiKyJPYmplY3QiKyJdIikgewogICRFUlJPUignIzM6IHJldHVybiBhIHN0cmluZyB2YWx1ZSBieSBjb25jYXRlbmF0aW5nIHRoZSB0aHJlZSBzdHJpbmdzICJbb2JqZWN0ICIsIHRoZSBbW0NsYXNzXV0gcHJvcGVydHkgb2YgdGhpcyBvYmplY3QsIGFuZCAiXSInKTsKfQoK","commentary":"When the toString method is called, the following steps are taken:\ni) Get the [[Class]] property of this object\nii) Compute a string value by concatenating the three strings \"[object \", Result(1), and \"]\"\niii) Return Result(2)","description":"Checking the type of Object.prototype.toString and the returned result","path":"TestCases/ch15/15.2/15.2.4/15.2.4.2/S15.2.4.2_A1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5sZW5ndGggcHJvcGVydHkgaGFzIHRoZSBhdHRyaWJ1dGUgUmVhZE9ubHkKICoKICogQHBhdGggY2gxNS8xNS4yLzE1LjIuNC8xNS4yLjQuMi9TMTUuMi40LjJfQTEwLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiB2YXJ5aW5nIHRoZSBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmxlbmd0aCBwcm9wZXJ0eSBmYWlscwogKiBAbm9TdHJpY3QKICovCgovL0NIRUNLIzEKaWYgKCEoT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5oYXNPd25Qcm9wZXJ0eSgnbGVuZ3RoJykpKSB7CiAgJEZBSUwoJyMxOiB0aGUgT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZyBoYXMgbGVuZ3RoIHByb3BlcnR5LicpOwp9Cgp2YXIgb2JqID0gT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5sZW5ndGg7CgpPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmxlbmd0aCA9IGZ1bmN0aW9uKCl7cmV0dXJuICJzaGlmdGVkIjt9OwoKLy9DSEVDSyMyCmlmIChPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmxlbmd0aCAhPT0gb2JqKSB7CiAgJEVSUk9SKCcjMjogdGhlIE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcgbGVuZ3RoIHByb3BlcnR5IGhhcyB0aGUgYXR0cmlidXRlcyBSZWFkT25seS4nKTsKfQoK","commentary":"The Object.prototype.toString.length property has the attribute ReadOnly","description":"Checking if varying the Object.prototype.toString.length property fails","noStrict":"","path":"TestCases/ch15/15.2/15.2.4/15.2.4.2/S15.2.4.2_A10.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgbGVuZ3RoIHByb3BlcnR5IG9mIHRoZSB0b1N0cmluZyBtZXRob2QgaXMgMAogKgogKiBAcGF0aCBjaDE1LzE1LjIvMTUuMi40LzE1LjIuNC4yL1MxNS4yLjQuMl9BMTEuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIHRoZSBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmxlbmd0aCBwcm9wZXJ0eQogKi8KCi8vQ0hFQ0sjMQppZiAoIShPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmhhc093blByb3BlcnR5KCJsZW5ndGgiKSkpIHsKICAkRVJST1IoJyMxOiBUaGUgbGVuZ3RoIHByb3BlcnR5IG9mIHRoZSB0b1N0cmluZyBtZXRob2QgaXMgMCcpOwp9CgovL0NIRUNLIzIKaWYgKE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcubGVuZ3RoICE9PSAwKSB7CiAgJEVSUk9SKCcjMjogVGhlIGxlbmd0aCBwcm9wZXJ0eSBvZiB0aGUgdG9TdHJpbmcgbWV0aG9kIGlzIDAnKTsKfQoK","commentary":"The length property of the toString method is 0","description":"Checking the Object.prototype.toString.length property","path":"TestCases/ch15/15.2/15.2.4/15.2.4.2/S15.2.4.2_A11.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMTEgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBAcGF0aCBjaDE1LzE1LjIvMTUuMi40LzE1LjIuNC4yL1MxNS4yLjQuMl9BMTIuanMKICogQGRlc2NyaXB0aW9uIElmIHRoZSB0aGlzIHZhbHVlIGlzIHVuZGVmaW5lZCwgcmV0dXJuICJbb2JqZWN0IFVuZGVmaW5lZF0iLgogKi8KCmlmIChPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwodW5kZWZpbmVkKSAhPT0gIltvYmplY3QgVW5kZWZpbmVkXSIpIHsKICAkRVJST1IoJ0lmIHRoZSB0aGlzIHZhbHVlIGlzIHVuZGVmaW5lZCwgcmV0dXJuICJbb2JqZWN0IFVuZGVmaW5lZF0iLicpOwp9Cgo=","commentary":"","description":"If the this value is undefined, return \"[object Undefined]\".","path":"TestCases/ch15/15.2/15.2.4/15.2.4.2/S15.2.4.2_A12.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMTEgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBAcGF0aCBjaDE1LzE1LjIvMTUuMi40LzE1LjIuNC4yL1MxNS4yLjQuMl9BMTMuanMKICogQGRlc2NyaXB0aW9uIElmIHRoZSB0aGlzIHZhbHVlIGlzIG51bGwsIHJldHVybiAiW29iamVjdCBOdWxsXSIuCiAqLwoKaWYgKE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbChudWxsKSAhPT0gIltvYmplY3QgTnVsbF0iKSB7CiAgJEVSUk9SKCdJZiB0aGUgdGhpcyB2YWx1ZSBpcyBudWxsLCByZXR1cm4gIltvYmplY3QgTnVsbF0iLicpOwp9Cgo=","commentary":"","description":"If the this value is null, return \"[object Null]\".","path":"TestCases/ch15/15.2/15.2.4/15.2.4.2/S15.2.4.2_A13.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMTEgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBAcGF0aCBjaDE1LzE1LjIvMTUuMi40LzE1LjIuNC4yL1MxNS4yLjQuMl9BMTQuanMKICogQGRlc2NyaXB0aW9uIExldCBPIGJlIHRoZSByZXN1bHQgb2YgY2FsbGluZyBUb09iamVjdCBwYXNzaW5nIHRoZSB0aGlzIHZhbHVlIGFzIHRoZSBhcmd1bWVudC4KICovCgppZiAoT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKDMzKSAhPT0gIltvYmplY3QgTnVtYmVyXSIpIHsKICAkRVJST1IoJ0xldCBPIGJlIHRoZSByZXN1bHQgb2YgY2FsbGluZyBUb09iamVjdCBwYXNzaW5nIHRoZSB0aGlzICcgKwogICAgICAgICAndmFsdWUgYXMgdGhlIGFyZ3VtZW50LicpOwp9Cgo=","commentary":"","description":"Let O be the result of calling ToObject passing the this value as the argument.","path":"TestCases/ch15/15.2/15.2.4/15.2.4.2/S15.2.4.2_A14.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMTEgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBAcGF0aCBjaDE1LzE1LjIvMTUuMi40LzE1LjIuNC4yL1MxNS4yLjQuMl9BMTUuanMKICogQGRlc2NyaXB0aW9uIExldCBPIGJlIHRoZSByZXN1bHQgb2YgY2FsbGluZyBUb09iamVjdCBwYXNzaW5nIHRoZSB0aGlzIHZhbHVlIGFzIHRoZSBhcmd1bWVudC4KICovCgppZiAoT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKHRydWUpICE9PSAiW29iamVjdCBCb29sZWFuXSIpIHsKICAkRVJST1IoJ0xldCBPIGJlIHRoZSByZXN1bHQgb2YgY2FsbGluZyBUb09iamVjdCBwYXNzaW5nIHRoZSB0aGlzICcgKwogICAgICAgICAndmFsdWUgYXMgdGhlIGFyZ3VtZW50LicpOwp9Cgo=","commentary":"","description":"Let O be the result of calling ToObject passing the this value as the argument.","path":"TestCases/ch15/15.2/15.2.4/15.2.4.2/S15.2.4.2_A15.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMTEgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBAcGF0aCBjaDE1LzE1LjIvMTUuMi40LzE1LjIuNC4yL1MxNS4yLjQuMl9BMTYuanMKICogQGRlc2NyaXB0aW9uIExldCBPIGJlIHRoZSByZXN1bHQgb2YgY2FsbGluZyBUb09iamVjdCBwYXNzaW5nIHRoZSB0aGlzIHZhbHVlIGFzIHRoZSBhcmd1bWVudC4KICovCgppZiAoT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKCdmb28nKSAhPT0gIltvYmplY3QgU3RyaW5nXSIpIHsKICAkRVJST1IoJ0xldCBPIGJlIHRoZSByZXN1bHQgb2YgY2FsbGluZyBUb09iamVjdCBwYXNzaW5nIHRoZSB0aGlzICcgKwogICAgICAgICAndmFsdWUgYXMgdGhlIGFyZ3VtZW50LicpOwp9Cgo=","commentary":"","description":"Let O be the result of calling ToObject passing the this value as the argument.","path":"TestCases/ch15/15.2/15.2.4/15.2.4.2/S15.2.4.2_A16.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nIGhhcyBub3QgcHJvdG90eXBlIHByb3BlcnR5CiAqCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjQvMTUuMi40LjIvUzE1LjIuNC4yX0E2LmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiBvYnRhaW5pbmcgdGhlIHByb3RvdHlwZSBwcm9wZXJ0eSBvZiBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nIGZhaWxzCiAqLwoKLy9DSEVDSyMxCmlmIChPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLnByb3RvdHlwZSAhPT0gdW5kZWZpbmVkKSB7CiAgJEVSUk9SKCcjMTogT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZyBoYXMgbm90IHByb3RvdHlwZSBwcm9wZXJ0eScrT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5wcm90b3R5cGUpOwp9Ci8vCgo=","commentary":"Object.prototype.toString has not prototype property","description":"Checking if obtaining the prototype property of Object.prototype.toString fails","path":"TestCases/ch15/15.2/15.2.4/15.2.4.2/S15.2.4.2_A6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nIGNhbid0IGJlIHVzZWQgYXMgYSBjb25zdHJ1Y3RvcgogKgogKiBAcGF0aCBjaDE1LzE1LjIvMTUuMi40LzE1LjIuNC4yL1MxNS4yLjQuMl9BNy5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgaWYgY3JlYXRpbmcgIm5ldyBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nIiBmYWlscwogKi8KCnZhciBGQUNUT1JZID0gT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZzsKCnRyeSB7CiAgaW5zdGFuY2UgPSBuZXcgRkFDVE9SWTsKICAkRkFJTCgnIzE6IE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcgY2FuXCd0IGJlIHVzZWQgYXMgYSBjb25zdHJ1Y3RvcicpOwp9IGNhdGNoIChlKSB7CiAgJFBSSU5UKGUpOwp9Cgo=","commentary":"Object.prototype.toString can't be used as a constructor","description":"Checking if creating \"new Object.prototype.toString\" fails","path":"TestCases/ch15/15.2/15.2.4/15.2.4.2/S15.2.4.2_A7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5sZW5ndGggcHJvcGVydHkgaGFzIHRoZSBhdHRyaWJ1dGUgRG9udEVudW0KICoKICogQHBhdGggY2gxNS8xNS4yLzE1LjIuNC8xNS4yLjQuMi9TMTUuMi40LjJfQTguanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIGVudW1lcmF0aW5nIHRoZSBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmxlbmd0aCBwcm9wZXJ0eSBmYWlscwogKi8KCi8vQ0hFQ0sjMAppZiAoIShPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmhhc093blByb3BlcnR5KCdsZW5ndGgnKSkpIHsKICAkRkFJTCgnIzA6IHRoZSBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nIGhhcyBsZW5ndGggcHJvcGVydHkuJyk7Cn0KCgovLyBDSEVDSyMxCmlmIChPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLnByb3BlcnR5SXNFbnVtZXJhYmxlKCdsZW5ndGgnKSkgewogICRFUlJPUignIzE6IHRoZSBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmxlbmd0aCBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZXMgRG9udEVudW0nKTsKfQoKLy8gQ0hFQ0sjMgpmb3IgKHZhciBwIGluIE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcpewogIGlmIChwPT09Imxlbmd0aCIpCiAgICAgICAgJEVSUk9SKCcjMjogdGhlIE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcubGVuZ3RoIHByb3BlcnR5IGhhcyB0aGUgYXR0cmlidXRlcyBEb250RW51bScpOwp9Ci8vCgo=","commentary":"The Object.prototype.toString.length property has the attribute DontEnum","description":"Checking if enumerating the Object.prototype.toString.length property fails","path":"TestCases/ch15/15.2/15.2.4/15.2.4.2/S15.2.4.2_A8.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5sZW5ndGggcHJvcGVydHkgaGFzIHRoZSBhdHRyaWJ1dGUgRG9udERlbGV0ZQogKgogKiBAcGF0aCBjaDE1LzE1LjIvMTUuMi40LzE1LjIuNC4yL1MxNS4yLjQuMl9BOS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tuaWcgaWYgZGVsZXRpbmcgb2YgdGhlIE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcubGVuZ3RoIHByb3BlcnR5IGZhaWxzCiAqIEBub1N0cmljdAogKi8KCi8vQ0hFQ0sjMAppZiAoIShPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmhhc093blByb3BlcnR5KCdsZW5ndGgnKSkpIHsKICAkRkFJTCgnIzA6IHRoZSBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nIGhhcyBsZW5ndGggcHJvcGVydHknKTsKfQoKLy9DSEVDSyMxCmlmIChkZWxldGUgT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5sZW5ndGgpIHsKICAkRVJST1IoJyMxOiBUaGUgT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5sZW5ndGggcHJvcGVydHkgaGFzIHRoZSBhdHRyaWJ1dGVzIERvbnREZWxldGUnKTsKfQoKLy9DSEVDSyMyCmlmICghKE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuaGFzT3duUHJvcGVydHkoJ2xlbmd0aCcpKSkgewogICRGQUlMKCcjMjogVGhlIE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcubGVuZ3RoIHByb3BlcnR5IGhhcyB0aGUgYXR0cmlidXRlcyBEb250RGVsZXRlJyk7Cn0KCg==","commentary":"The Object.prototype.toString.length property has the attribute DontDelete","description":"Checknig if deleting of the Object.prototype.toString.length property fails","noStrict":"","path":"TestCases/ch15/15.2/15.2.4/15.2.4.2/S15.2.4.2_A9.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiB0b0xvY2FsZVN0cmluZyBmdW5jdGlvbiByZXR1cm5zIHRoZSByZXN1bHQgb2YgY2FsbGluZyB0b1N0cmluZygpCiAqCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjQvMTUuMi40LjMvUzE1LjIuNC4zX0ExLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyB0aGUgdHlwZSBvZiBPYmplY3QucHJvdG90eXBlLnRvTG9jYWxlU3RyaW5nIGFuZCB0aGUgcmV0dXJuZWQgcmVzdWx0CiAqLwoKLy9DSEVDSyMxCmlmICh0eXBlb2YgT2JqZWN0LnByb3RvdHlwZS50b0xvY2FsZVN0cmluZyAhPT0gImZ1bmN0aW9uIikgewogICRFUlJPUignIzE6IHRvTG9jYWxlU3RyaW5nIG1ldGhvZCBkZWZpbmVkJyk7Cn0KCi8vQ0hFQ0sjMgppZiAoT2JqZWN0LnByb3RvdHlwZS50b0xvY2FsZVN0cmluZygpICE9PSBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nKCkpIHsKICAkRVJST1IoJyMxOiB0b0xvY2FsZVN0cmluZyBmdW5jdGlvbiByZXR1cm5zIHRoZSByZXN1bHQgb2YgY2FsbGluZyB0b1N0cmluZygpJyk7Cn0KCi8vQ0hFQ0sjMgppZiAoe30udG9Mb2NhbGVTdHJpbmcoKSE9PXt9LnRvU3RyaW5nKCkpIHsKICAkRVJST1IoJyMyOiB0b0xvY2FsZVN0cmluZyBmdW5jdGlvbiByZXR1cm5zIHRoZSByZXN1bHQgb2YgY2FsbGluZyB0b1N0cmluZygpJyk7Cn0KCg==","commentary":"toLocaleString function returns the result of calling toString()","description":"Checking the type of Object.prototype.toLocaleString and the returned result","path":"TestCases/ch15/15.2/15.2.4/15.2.4.3/S15.2.4.3_A1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgT2JqZWN0LnByb3RvdHlwZS50b0xvY2FsZVN0cmluZy5sZW5ndGggcHJvcGVydHkgaGFzIHRoZSBhdHRyaWJ1dGUgUmVhZE9ubHkKICoKICogQHBhdGggY2gxNS8xNS4yLzE1LjIuNC8xNS4yLjQuMy9TMTUuMi40LjNfQTEwLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiB2YXJ5aW5nIHRoZSBPYmplY3QucHJvdG90eXBlLnRvTG9jYWxlU3RyaW5nLmxlbmd0aCBwcm9wZXJ0eSBmYWlscwogKi8KCi8vQ0hFQ0sjMQppZiAoIShPYmplY3QucHJvdG90eXBlLnRvTG9jYWxlU3RyaW5nLmhhc093blByb3BlcnR5KCdsZW5ndGgnKSkpIHsKICAkRkFJTCgnIzE6IHRoZSBPYmplY3QucHJvdG90eXBlLnRvTG9jYWxlU3RyaW5nIGhhcyBsZW5ndGggcHJvcGVydHkuJyk7Cn0KCnZhciBvYmogPSBPYmplY3QucHJvdG90eXBlLnRvTG9jYWxlU3RyaW5nLmxlbmd0aDsKCk9iamVjdC5wcm90b3R5cGUudG9Mb2NhbGVTdHJpbmcubGVuZ3RoID0gZnVuY3Rpb24oKXtyZXR1cm4gInNoaWZ0ZWQiO307CgovL0NIRUNLIzIKaWYgKE9iamVjdC5wcm90b3R5cGUudG9Mb2NhbGVTdHJpbmcubGVuZ3RoICE9PSBvYmopIHsKICAkRVJST1IoJyMyOiB0aGUgT2JqZWN0LnByb3RvdHlwZS50b0xvY2FsZVN0cmluZyBsZW5ndGggcHJvcGVydHkgaGFzIHRoZSBhdHRyaWJ1dGVzIFJlYWRPbmx5LicpOwp9Cgo=","commentary":"The Object.prototype.toLocaleString.length property has the attribute ReadOnly","description":"Checking if varying the Object.prototype.toLocaleString.length property fails","path":"TestCases/ch15/15.2/15.2.4/15.2.4.3/S15.2.4.3_A10.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgbGVuZ3RoIHByb3BlcnR5IG9mIHRoZSB0b0xvY2FsZVN0cmluZyBtZXRob2QgaXMgMAogKgogKiBAcGF0aCBjaDE1LzE1LjIvMTUuMi40LzE1LjIuNC4zL1MxNS4yLjQuM19BMTEuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIHRoZSBPYmplY3QucHJvdG90eXBlLnRvTG9jYWxlU3RyaW5nLmxlbmd0aAogKi8KCi8vQ0hFQ0sjMQppZiAoIShPYmplY3QucHJvdG90eXBlLnRvTG9jYWxlU3RyaW5nLmhhc093blByb3BlcnR5KCJsZW5ndGgiKSkpIHsKICAkRVJST1IoJyMxOiBUaGUgbGVuZ3RoIHByb3BlcnR5IG9mIHRoZSB0b0xvY2FsZVN0cmluZyBtZXRob2QgaXMgMCcpOwp9CgovL0NIRUNLIzIKaWYgKE9iamVjdC5wcm90b3R5cGUudG9Mb2NhbGVTdHJpbmcubGVuZ3RoICE9PSAwKSB7CiAgJEVSUk9SKCcjMjogVGhlIGxlbmd0aCBwcm9wZXJ0eSBvZiB0aGUgdG9Mb2NhbGVTdHJpbmcgbWV0aG9kIGlzIDAnKTsKfQoK","commentary":"The length property of the toLocaleString method is 0","description":"Checking the Object.prototype.toLocaleString.length","path":"TestCases/ch15/15.2/15.2.4/15.2.4.3/S15.2.4.3_A11.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMTEgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBAcGF0aCBjaDE1LzE1LjIvMTUuMi40LzE1LjIuNC4zL1MxNS4yLjQuM19BMTIuanMKICogQGRlc2NyaXB0aW9uIExldCBPIGJlIHRoZSByZXN1bHQgb2YgY2FsbGluZyBUb09iamVjdCBwYXNzaW5nIHRoZSB0aGlzIHZhbHVlIGFzIHRoZSBhcmd1bWVudC4KICogQG5lZ2F0aXZlCiAqLwoKT2JqZWN0LnByb3RvdHlwZS50b0xvY2FsZVN0cmluZy5jYWxsKHVuZGVmaW5lZCk7Cgo=","commentary":"","description":"Let O be the result of calling ToObject passing the this value as the argument.","negative":"","path":"TestCases/ch15/15.2/15.2.4/15.2.4.3/S15.2.4.3_A12.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMTEgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBAcGF0aCBjaDE1LzE1LjIvMTUuMi40LzE1LjIuNC4zL1MxNS4yLjQuM19BMTMuanMKICogQGRlc2NyaXB0aW9uIExldCBPIGJlIHRoZSByZXN1bHQgb2YgY2FsbGluZyBUb09iamVjdCBwYXNzaW5nIHRoZSB0aGlzIHZhbHVlIGFzIHRoZSBhcmd1bWVudC4KICogQG5lZ2F0aXZlCiAqLwoKT2JqZWN0LnByb3RvdHlwZS50b0xvY2FsZVN0cmluZy5jYWxsKG51bGwpOwoK","commentary":"","description":"Let O be the result of calling ToObject passing the this value as the argument.","negative":"","path":"TestCases/ch15/15.2/15.2.4/15.2.4.3/S15.2.4.3_A13.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPYmplY3QucHJvdG90eXBlLnRvTG9jYWxlU3RyaW5nIGhhcyBub3QgcHJvdG90eXBlIHByb3BlcnR5CiAqCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjQvMTUuMi40LjMvUzE1LjIuNC4zX0E2LmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiBvYnRhaW5pbmcgdGhlIHByb3RvdHlwZSBwcm9wZXJ0eSBvZiBPYmplY3QucHJvdG90eXBlLnRvTG9jYWxlU3RyaW5nIGZhaWxzCiAqLwoKLy9DSEVDSyMxCmlmIChPYmplY3QucHJvdG90eXBlLnRvTG9jYWxlU3RyaW5nLnByb3RvdHlwZSAhPT0gdW5kZWZpbmVkKSB7CiAgJEVSUk9SKCcjMTogT2JqZWN0LnByb3RvdHlwZS50b0xvY2FsZVN0cmluZyBoYXMgbm90IHByb3RvdHlwZSBwcm9wZXJ0eScrT2JqZWN0LnByb3RvdHlwZS50b0xvY2FsZVN0cmluZy5wcm90b3R5cGUpOwp9Ci8vCgo=","commentary":"Object.prototype.toLocaleString has not prototype property","description":"Checking if obtaining the prototype property of Object.prototype.toLocaleString fails","path":"TestCases/ch15/15.2/15.2.4/15.2.4.3/S15.2.4.3_A6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPYmplY3QucHJvdG90eXBlLnRvTG9jYWxlU3RyaW5nIGNhbid0IGJlIHVzZWQgYXMgYSBjb25zdHJ1Y3RvcgogKgogKiBAcGF0aCBjaDE1LzE1LjIvMTUuMi40LzE1LjIuNC4zL1MxNS4yLjQuM19BNy5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgaWYgY3JlYXRpbmcgIm5ldyBPYmplY3QucHJvdG90eXBlLnRvTG9jYWxlU3RyaW5nIiBmYWlscwogKi8KCnZhciBGQUNUT1JZID0gT2JqZWN0LnByb3RvdHlwZS50b0xvY2FsZVN0cmluZzsKCnRyeSB7CiAgaW5zdGFuY2UgPSBuZXcgRkFDVE9SWTsKICAkRkFJTCgnIzE6IE9iamVjdC5wcm90b3R5cGUudG9Mb2NhbGVTdHJpbmcgY2FuXCd0IGJlIHVzZWQgYXMgYSBjb25zdHJ1Y3RvcicpOwp9IGNhdGNoIChlKSB7CiAgJFBSSU5UKGUpOwoKfQoK","commentary":"Object.prototype.toLocaleString can't be used as a constructor","description":"Checking if creating \"new Object.prototype.toLocaleString\" fails","path":"TestCases/ch15/15.2/15.2.4/15.2.4.3/S15.2.4.3_A7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgT2JqZWN0LnByb3RvdHlwZS50b0xvY2FsZVN0cmluZy5sZW5ndGggcHJvcGVydHkgaGFzIHRoZSBhdHRyaWJ1dGUgRG9udEVudW0KICoKICogQHBhdGggY2gxNS8xNS4yLzE1LjIuNC8xNS4yLjQuMy9TMTUuMi40LjNfQTguanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIGVudW1lcmF0aW5nIHRoZSBPYmplY3QucHJvdG90eXBlLnRvTG9jYWxlU3RyaW5nLmxlbmd0aCBwcm9wZXJ0eSBmYWlscwogKi8KCi8vQ0hFQ0sjMAppZiAoIShPYmplY3QucHJvdG90eXBlLnRvTG9jYWxlU3RyaW5nLmhhc093blByb3BlcnR5KCdsZW5ndGgnKSkpIHsKICAkRkFJTCgnIzA6IHRoZSBPYmplY3QucHJvdG90eXBlLnRvTG9jYWxlU3RyaW5nIGhhcyBsZW5ndGggcHJvcGVydHkuJyk7Cn0KCgovLyBDSEVDSyMxCmlmIChPYmplY3QucHJvdG90eXBlLnRvTG9jYWxlU3RyaW5nLnByb3BlcnR5SXNFbnVtZXJhYmxlKCdsZW5ndGgnKSkgewogICRFUlJPUignIzE6IHRoZSBPYmplY3QucHJvdG90eXBlLnRvTG9jYWxlU3RyaW5nLmxlbmd0aCBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZXMgRG9udEVudW0nKTsKfQoKLy8gQ0hFQ0sjMgpmb3IgKHAgaW4gT2JqZWN0LnByb3RvdHlwZS50b0xvY2FsZVN0cmluZyl7CiAgaWYgKHA9PT0ibGVuZ3RoIikKICAgICAgICAkRVJST1IoJyMyOiB0aGUgT2JqZWN0LnByb3RvdHlwZS50b0xvY2FsZVN0cmluZy5sZW5ndGggcHJvcGVydHkgaGFzIHRoZSBhdHRyaWJ1dGVzIERvbnRFbnVtJyk7Cn0KLy8KCg==","commentary":"The Object.prototype.toLocaleString.length property has the attribute DontEnum","description":"Checking if enumerating the Object.prototype.toLocaleString.length property fails","path":"TestCases/ch15/15.2/15.2.4/15.2.4.3/S15.2.4.3_A8.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgT2JqZWN0LnByb3RvdHlwZS50b0xvY2FsZVN0cmluZy5sZW5ndGggcHJvcGVydHkgaGFzIHRoZSBhdHRyaWJ1dGUgRG9udERlbGV0ZQogKgogKiBAcGF0aCBjaDE1LzE1LjIvMTUuMi40LzE1LjIuNC4zL1MxNS4yLjQuM19BOS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tuaWcgaWYgZGVsZXRpbmcgb2YgdGhlIE9iamVjdC5wcm90b3R5cGUudG9Mb2NhbGVTdHJpbmcubGVuZ3RoIHByb3BlcnR5IGZhaWxzCiAqIEBub1N0cmljdAogKi8KCi8vQ0hFQ0sjMAppZiAoIShPYmplY3QucHJvdG90eXBlLnRvTG9jYWxlU3RyaW5nLmhhc093blByb3BlcnR5KCdsZW5ndGgnKSkpIHsKICAkRkFJTCgnIzA6IHRoZSBPYmplY3QucHJvdG90eXBlLnRvTG9jYWxlU3RyaW5nIGhhcyBsZW5ndGggcHJvcGVydHknKTsKfQoKLy9DSEVDSyMxCmlmIChkZWxldGUgT2JqZWN0LnByb3RvdHlwZS50b0xvY2FsZVN0cmluZy5sZW5ndGgpIHsKICAkRVJST1IoJyMxOiBUaGUgT2JqZWN0LnByb3RvdHlwZS50b0xvY2FsZVN0cmluZy5sZW5ndGggcHJvcGVydHkgaGFzIHRoZSBhdHRyaWJ1dGVzIERvbnREZWxldGUnKTsKfQoKLy9DSEVDSyMyCmlmICghKE9iamVjdC5wcm90b3R5cGUudG9Mb2NhbGVTdHJpbmcuaGFzT3duUHJvcGVydHkoJ2xlbmd0aCcpKSkgewogICRGQUlMKCcjMjogVGhlIE9iamVjdC5wcm90b3R5cGUudG9Mb2NhbGVTdHJpbmcubGVuZ3RoIHByb3BlcnR5IGhhcyB0aGUgYXR0cmlidXRlcyBEb250RGVsZXRlJyk7Cn0KCg==","commentary":"The Object.prototype.toLocaleString.length property has the attribute DontDelete","description":"Checknig if deleting of the Object.prototype.toLocaleString.length property fails","noStrict":"","path":"TestCases/ch15/15.2/15.2.4/15.2.4.3/S15.2.4.3_A9.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuNC8xNS4yLjQuNC8xNS4yLjQuNC0xLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LnByb3RvdHlwZS52YWx1ZU9mIC0gdHlwZW9mIE9iamVjdC5wcm90b3R5cGUudmFsdWVPZi5jYWxsKHRydWUpPT09Im9iamVjdCINCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICByZXR1cm4gKHR5cGVvZiBPYmplY3QucHJvdG90eXBlLnZhbHVlT2YuY2FsbCh0cnVlKSkgPT09ICJvYmplY3QiOw0KfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw==","commentary":"","description":"Object.prototype.valueOf - typeof Object.prototype.valueOf.call(true)===\"object\"","path":"TestCases/ch15/15.2/15.2.4/15.2.4.4/15.2.4.4-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4yLzE1LjIuNC8xNS4yLjQuNC8xNS4yLjQuNC0yLmpzDQogKiBAZGVzY3JpcHRpb24gT2JqZWN0LnByb3RvdHlwZS52YWx1ZU9mIC0gdHlwZW9mIE9iamVjdC5wcm90b3R5cGUudmFsdWVPZi5jYWxsKGZhbHNlKT09PSJvYmplY3QiDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgcmV0dXJuICh0eXBlb2YgT2JqZWN0LnByb3RvdHlwZS52YWx1ZU9mLmNhbGwoZmFsc2UpKSA9PT0gIm9iamVjdCI7DQp9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7","commentary":"","description":"Object.prototype.valueOf - typeof Object.prototype.valueOf.call(false)===\"object\"","path":"TestCases/ch15/15.2/15.2.4/15.2.4.4/15.2.4.4-2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgT2JqZWN0LnByb3RvdHlwZS52YWx1ZU9mLmxlbmd0aCBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZSBSZWFkT25seQogKgogKiBAcGF0aCBjaDE1LzE1LjIvMTUuMi40LzE1LjIuNC40L1MxNS4yLjQuNF9BMTAuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIHZhcnlpbmcgdGhlIE9iamVjdC5wcm90b3R5cGUudmFsdWVPZi5sZW5ndGggcHJvcGVydHkgZmFpbHMKICovCgovL0NIRUNLIzEKaWYgKCEoT2JqZWN0LnByb3RvdHlwZS52YWx1ZU9mLmhhc093blByb3BlcnR5KCdsZW5ndGgnKSkpIHsKICAkRkFJTCgnIzE6IHRoZSBPYmplY3QucHJvdG90eXBlLnZhbHVlT2YgaGFzIGxlbmd0aCBwcm9wZXJ0eS4nKTsKfQoKdmFyIG9iaiA9IE9iamVjdC5wcm90b3R5cGUudmFsdWVPZi5sZW5ndGg7CgpPYmplY3QucHJvdG90eXBlLnZhbHVlT2YubGVuZ3RoID0gZnVuY3Rpb24oKXtyZXR1cm4gInNoaWZ0ZWQiO307CgovL0NIRUNLIzIKaWYgKE9iamVjdC5wcm90b3R5cGUudmFsdWVPZi5sZW5ndGggIT09IG9iaikgewogICRFUlJPUignIzI6IHRoZSBPYmplY3QucHJvdG90eXBlLnZhbHVlT2YgbGVuZ3RoIHByb3BlcnR5IGhhcyB0aGUgYXR0cmlidXRlcyBSZWFkT25seS4nKTsKfQoK","commentary":"The Object.prototype.valueOf.length property has the attribute ReadOnly","description":"Checking if varying the Object.prototype.valueOf.length property fails","path":"TestCases/ch15/15.2/15.2.4/15.2.4.4/S15.2.4.4_A10.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgbGVuZ3RoIHByb3BlcnR5IG9mIHRoZSB2YWx1ZU9mIG1ldGhvZCBpcyAwCiAqCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjQvMTUuMi40LjQvUzE1LjIuNC40X0ExMS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgdGhlIE9iamVjdC5wcm90b3R5cGUudmFsdWVPZi5sZW5ndGgKICovCgovL0NIRUNLIzEKaWYgKCEoT2JqZWN0LnByb3RvdHlwZS52YWx1ZU9mLmhhc093blByb3BlcnR5KCJsZW5ndGgiKSkpIHsKICAkRVJST1IoJyMxOiBUaGUgbGVuZ3RoIHByb3BlcnR5IG9mIHRoZSB0b09iamVjdCBtZXRob2QgaXMgMCcpOwp9CgovL0NIRUNLIzIKaWYgKE9iamVjdC5wcm90b3R5cGUudmFsdWVPZi5sZW5ndGggIT09IDApIHsKICAkRVJST1IoJyMyOiBUaGUgbGVuZ3RoIHByb3BlcnR5IG9mIHRoZSB0b09iamVjdCBtZXRob2QgaXMgMCcpOwp9Cgo=","commentary":"The length property of the valueOf method is 0","description":"Checking the Object.prototype.valueOf.length","path":"TestCases/ch15/15.2/15.2.4/15.2.4.4/S15.2.4.4_A11.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMTEgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBMZXQgTyBiZSB0aGUgcmVzdWx0IG9mIGNhbGxpbmcgVG9PYmplY3QgcGFzc2luZyB0aGUgdGhpcyB2YWx1ZSBhcyB0aGUgYXJndW1lbnQuCiAqCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjQvMTUuMi40LjQvUzE1LjIuNC40X0ExMi5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgT2JqZWN0LnByb3RvdHlwZS52YWx1ZU9mIGludm9rZWQgYnkgdGhlICdjYWxsJyBwcm9wZXJ0eS4KICogQG5lZ2F0aXZlCiAqLwoKT2JqZWN0LnByb3RvdHlwZS52YWx1ZU9mLmNhbGwodW5kZWZpbmVkKTsKCg==","commentary":"Let O be the result of calling ToObject passing the this value as the argument.","description":"Checking Object.prototype.valueOf invoked by the 'call' property.","negative":"","path":"TestCases/ch15/15.2/15.2.4/15.2.4.4/S15.2.4.4_A12.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMTEgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBMZXQgTyBiZSB0aGUgcmVzdWx0IG9mIGNhbGxpbmcgVG9PYmplY3QgcGFzc2luZyB0aGUgdGhpcyB2YWx1ZSBhcyB0aGUgYXJndW1lbnQuCiAqCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjQvMTUuMi40LjQvUzE1LjIuNC40X0ExMy5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgT2JqZWN0LnByb3RvdHlwZS52YWx1ZU9mIGludm9rZWQgYnkgdGhlICdjYWxsJyBwcm9wZXJ0eS4KICogQG5lZ2F0aXZlCiAqLwoKT2JqZWN0LnByb3RvdHlwZS52YWx1ZU9mLmNhbGwobnVsbCk7Cgo=","commentary":"Let O be the result of calling ToObject passing the this value as the argument.","description":"Checking Object.prototype.valueOf invoked by the 'call' property.","negative":"","path":"TestCases/ch15/15.2/15.2.4/15.2.4.4/S15.2.4.4_A13.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMTEgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBMZXQgTyBiZSB0aGUgcmVzdWx0IG9mIGNhbGxpbmcgVG9PYmplY3QgcGFzc2luZyB0aGUgdGhpcyB2YWx1ZSBhcyB0aGUgYXJndW1lbnQuCiAqCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjQvMTUuMi40LjQvUzE1LjIuNC40X0ExNC5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgT2JqZWN0LnByb3RvdHlwZS52YWx1ZU9mIGludm9rZWQgYnkgdGhlICdjYWxsJyBwcm9wZXJ0eS4KICogQG5lZ2F0aXZlCiAqLwoKKDEsT2JqZWN0LnByb3RvdHlwZS52YWx1ZU9mKSgpOwoK","commentary":"Let O be the result of calling ToObject passing the this value as the argument.","description":"Checking Object.prototype.valueOf invoked by the 'call' property.","negative":"","path":"TestCases/ch15/15.2/15.2.4/15.2.4.4/S15.2.4.4_A14.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMTEgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBMZXQgTyBiZSB0aGUgcmVzdWx0IG9mIGNhbGxpbmcgVG9PYmplY3QgcGFzc2luZyB0aGUgdGhpcyB2YWx1ZSBhcyB0aGUgYXJndW1lbnQuCiAqCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjQvMTUuMi40LjQvUzE1LjIuNC40X0ExNS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgT2JqZWN0LnByb3RvdHlwZS52YWx1ZU9mIHdoZW4gY2FsbGVkIGFzIGEgZ2xvYmFsIGZ1bmN0aW9uLgogKiBAbmVnYXRpdmUKICovCgp2YXIgdiA9IE9iamVjdC5wcm90b3R5cGUudmFsdWVPZjsKdigpOwoK","commentary":"Let O be the result of calling ToObject passing the this value as the argument.","description":"Checking Object.prototype.valueOf when called as a global function.","negative":"","path":"TestCases/ch15/15.2/15.2.4/15.2.4.4/S15.2.4.4_A15.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgdmFsdWVPZiBtZXRob2QgcmV0dXJucyBpdHMgInRoaXMiIHZhbHVlCiAqCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjQvMTUuMi40LjQvUzE1LjIuNC40X0ExX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiAidGhpcyIgdmFsdWUgaXMgYSBudW1iZXIKICovCgovL0NIRUNLIzEKaWYgKHR5cGVvZiBPYmplY3QucHJvdG90eXBlLnZhbHVlT2YgIT09ICJmdW5jdGlvbiIpIHsKICAkRVJST1IoJyMxOiB2YWx1ZU9mIG1ldGhvZCBkZWZpbmVkJyk7Cn0KCnZhciBvYmo9bmV3IE9iamVjdCgxLjEpOwoKLy9DSEVDSyMyCmlmICh0eXBlb2Ygb2JqLnZhbHVlT2YgIT09ICJmdW5jdGlvbiIpIHsKICAkRVJST1IoJyMyOiB2YWx1ZU9mIG1ldGhvZCBhY2Nlc3NlZCcpOwp9CgovL0NIRUNLIzMKaWYgKG9iai52YWx1ZU9mKCkhPT0xLjEpIHsKICAkRVJST1IoJyMzOiBUaGUgdmFsdWVPZiBtZXRob2QgcmV0dXJucyBpdHMgdGhpcyB2YWx1ZScpOwp9CgoK","commentary":"The valueOf method returns its \"this\" value","description":"\"this\" value is a number","path":"TestCases/ch15/15.2/15.2.4/15.2.4.4/S15.2.4.4_A1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgdmFsdWVPZiBtZXRob2QgcmV0dXJucyBpdHMgInRoaXMiIHZhbHVlCiAqCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjQvMTUuMi40LjQvUzE1LjIuNC40X0ExX1QyLmpzCiAqIEBkZXNjcmlwdGlvbiAidGhpcyIgdmFsdWUgaXMgYSBib29sZWFuCiAqLwoKLy9DSEVDSyMxCmlmICh0eXBlb2YgT2JqZWN0LnByb3RvdHlwZS52YWx1ZU9mICE9PSAiZnVuY3Rpb24iKSB7CiAgJEVSUk9SKCcjMTogdmFsdWVPZiBtZXRob2QgZGVmaW5lZCcpOwp9Cgp2YXIgb2JqPW5ldyBPYmplY3QodHJ1ZSk7CgovL0NIRUNLIzIKaWYgKHR5cGVvZiBvYmoudmFsdWVPZiAhPT0gImZ1bmN0aW9uIikgewogICRFUlJPUignIzI6IHZhbHVlT2YgbWV0aG9kIGFjY2Vzc2VkJyk7Cn0KCi8vQ0hFQ0sjMwppZiAob2JqLnZhbHVlT2YoKSE9PXRydWUpIHsKICAkRVJST1IoJyMzOiBUaGUgdmFsdWVPZiBtZXRob2QgcmV0dXJucyBpdHMgdGhpcyB2YWx1ZScpOwp9CgoK","commentary":"The valueOf method returns its \"this\" value","description":"\"this\" value is a boolean","path":"TestCases/ch15/15.2/15.2.4/15.2.4.4/S15.2.4.4_A1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgdmFsdWVPZiBtZXRob2QgcmV0dXJucyBpdHMgInRoaXMiIHZhbHVlCiAqCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjQvMTUuMi40LjQvUzE1LjIuNC40X0ExX1QzLmpzCiAqIEBkZXNjcmlwdGlvbiAidGhpcyIgdmFsdWUgaXMgYSBzdHJpbmcKICovCgovL0NIRUNLIzEKaWYgKHR5cGVvZiBPYmplY3QucHJvdG90eXBlLnZhbHVlT2YgIT09ICJmdW5jdGlvbiIpIHsKICAkRVJST1IoJyMxOiB2YWx1ZU9mIG1ldGhvZCBkZWZpbmVkJyk7Cn0KCnZhciBvYmo9bmV3IE9iamVjdCgiZ3JlZW5maWVsZCIpOwoKLy9DSEVDSyMyCmlmICh0eXBlb2Ygb2JqLnZhbHVlT2YgIT09ICJmdW5jdGlvbiIpIHsKICAkRVJST1IoJyMyOiB2YWx1ZU9mIG1ldGhvZCBhY2Nlc3NlZCcpOwp9CgovL0NIRUNLIzMKaWYgKG9iai52YWx1ZU9mKCkhPT0iZ3JlZW5maWVsZCIpIHsKICAkRVJST1IoJyMzOiBUaGUgdmFsdWVPZiBtZXRob2QgcmV0dXJucyBpdHMgdGhpcyB2YWx1ZScpOwp9CgoK","commentary":"The valueOf method returns its \"this\" value","description":"\"this\" value is a string","path":"TestCases/ch15/15.2/15.2.4/15.2.4.4/S15.2.4.4_A1_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgdmFsdWVPZiBtZXRob2QgcmV0dXJucyBpdHMgInRoaXMiIHZhbHVlCiAqCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjQvMTUuMi40LjQvUzE1LjIuNC40X0ExX1Q0LmpzCiAqIEBkZXNjcmlwdGlvbiAidGhpcyIgdmFsdWUgaXMgYW4gb2JqZWN0CiAqLwoKLy9DSEVDSyMxCmlmICh0eXBlb2YgT2JqZWN0LnByb3RvdHlwZS52YWx1ZU9mICE9PSAiZnVuY3Rpb24iKSB7CiAgJEVSUk9SKCcjMTogdmFsdWVPZiBtZXRob2QgZGVmaW5lZCcpOwp9Cgp2YXIgb2JqPW5ldyBPYmplY3Q7CgovL0NIRUNLIzIKaWYgKHR5cGVvZiBvYmoudmFsdWVPZiAhPT0gImZ1bmN0aW9uIikgewogICRFUlJPUignIzI6IHZhbHVlT2YgbWV0aG9kIGFjY2Vzc2VkJyk7Cn0KCi8vQ0hFQ0sjMwppZiAob2JqLnZhbHVlT2YoKSE9PW9iaikgewogICRFUlJPUignIzM6IFRoZSB2YWx1ZU9mIG1ldGhvZCByZXR1cm5zIGl0cyB0aGlzIHZhbHVlJyk7Cn0KCgo=","commentary":"The valueOf method returns its \"this\" value","description":"\"this\" value is an object","path":"TestCases/ch15/15.2/15.2.4/15.2.4.4/S15.2.4.4_A1_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgdmFsdWVPZiBtZXRob2QgcmV0dXJucyBpdHMgInRoaXMiIHZhbHVlCiAqCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjQvMTUuMi40LjQvUzE1LjIuNC40X0ExX1Q1LmpzCiAqIEBkZXNjcmlwdGlvbiAidGhpcyIgdmFsdWUgaXMgIm51bGwiCiAqLwoKLy9DSEVDSyMxCmlmICh0eXBlb2YgT2JqZWN0LnByb3RvdHlwZS52YWx1ZU9mICE9PSAiZnVuY3Rpb24iKSB7CiAgJEVSUk9SKCcjMTogdmFsdWVPZiBtZXRob2QgZGVmaW5lZCcpOwp9Cgp2YXIgb2JqPW5ldyBPYmplY3QobnVsbCk7CgovL0NIRUNLIzIKaWYgKHR5cGVvZiBvYmoudmFsdWVPZiAhPT0gImZ1bmN0aW9uIikgewogICRFUlJPUignIzI6IHZhbHVlT2YgbWV0aG9kIGFjY2Vzc2VkJyk7Cn0KCi8vQ0hFQ0sjMwppZiAob2JqLnZhbHVlT2YoKSE9PW9iaikgewogICRFUlJPUignIzM6IFRoZSB2YWx1ZU9mIG1ldGhvZCByZXR1cm5zIGl0cyB0aGlzIHZhbHVlJyk7Cn0KCgo=","commentary":"The valueOf method returns its \"this\" value","description":"\"this\" value is \"null\"","path":"TestCases/ch15/15.2/15.2.4/15.2.4.4/S15.2.4.4_A1_T5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgdmFsdWVPZiBtZXRob2QgcmV0dXJucyBpdHMgInRoaXMiIHZhbHVlCiAqCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjQvMTUuMi40LjQvUzE1LjIuNC40X0ExX1Q2LmpzCiAqIEBkZXNjcmlwdGlvbiAidGhpcyIgdmFsdWUgaXMgInVuZGVmaW5lZCIKICovCgovL0NIRUNLIzEKaWYgKHR5cGVvZiBPYmplY3QucHJvdG90eXBlLnZhbHVlT2YgIT09ICJmdW5jdGlvbiIpIHsKICAkRVJST1IoJyMxOiB2YWx1ZU9mIG1ldGhvZCBkZWZpbmVkJyk7Cn0KCnZhciBvYmo9bmV3IE9iamVjdCh1bmRlZmluZWQpOwoKLy9DSEVDSyMyCmlmICh0eXBlb2Ygb2JqLnZhbHVlT2YgIT09ICJmdW5jdGlvbiIpIHsKICAkRVJST1IoJyMyOiB2YWx1ZU9mIG1ldGhvZCBhY2Nlc3NlZCcpOwp9CgovL0NIRUNLIzMKaWYgKG9iai52YWx1ZU9mKCkhPT1vYmopIHsKICAkRVJST1IoJyMzOiBUaGUgdmFsdWVPZiBtZXRob2QgcmV0dXJucyBpdHMgdGhpcyB2YWx1ZScpOwp9CgoK","commentary":"The valueOf method returns its \"this\" value","description":"\"this\" value is \"undefined\"","path":"TestCases/ch15/15.2/15.2.4/15.2.4.4/S15.2.4.4_A1_T6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgdmFsdWVPZiBtZXRob2QgcmV0dXJucyBpdHMgInRoaXMiIHZhbHVlCiAqCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjQvMTUuMi40LjQvUzE1LjIuNC40X0ExX1Q3LmpzCiAqIEBkZXNjcmlwdGlvbiAidGhpcyIgdmFsdWUgaXMgInZvaWQgMCIKICovCgovL0NIRUNLIzEKaWYgKHR5cGVvZiBPYmplY3QucHJvdG90eXBlLnZhbHVlT2YgIT09ICJmdW5jdGlvbiIpIHsKICAkRVJST1IoJyMxOiB2YWx1ZU9mIG1ldGhvZCBkZWZpbmVkJyk7Cn0KCnZhciBvYmo9bmV3IE9iamVjdCh2b2lkIDApOwoKLy9DSEVDSyMyCmlmICh0eXBlb2Ygb2JqLnZhbHVlT2YgIT09ICJmdW5jdGlvbiIpIHsKICAkRVJST1IoJyMyOiB2YWx1ZU9mIG1ldGhvZCBhY2Nlc3NlZCcpOwp9CgovL0NIRUNLIzMKaWYgKG9iai52YWx1ZU9mKCkhPT1vYmopIHsKICAkRVJST1IoJyMzOiBUaGUgdmFsdWVPZiBtZXRob2QgcmV0dXJucyBpdHMgdGhpcyB2YWx1ZScpOwp9CgoK","commentary":"The valueOf method returns its \"this\" value","description":"\"this\" value is \"void 0\"","path":"TestCases/ch15/15.2/15.2.4/15.2.4.4/S15.2.4.4_A1_T7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPYmplY3QucHJvdG90eXBlLnZhbHVlT2YgaGFzIG5vdCBwcm90b3R5cGUgcHJvcGVydHkKICoKICogQHBhdGggY2gxNS8xNS4yLzE1LjIuNC8xNS4yLjQuNC9TMTUuMi40LjRfQTYuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIG9idGFpbmluZyB0aGUgcHJvdG90eXBlIHByb3BlcnR5IG9mIE9iamVjdC5wcm90b3R5cGUudmFsdWVPZiBmYWlscwogKi8KCi8vQ0hFQ0sjMQppZiAoT2JqZWN0LnByb3RvdHlwZS52YWx1ZU9mLnByb3RvdHlwZSAhPT0gdW5kZWZpbmVkKSB7CiAgJEVSUk9SKCcjMTogT2JqZWN0LnByb3RvdHlwZS52YWx1ZU9mIGhhcyBub3QgcHJvdG90eXBlIHByb3BlcnR5JytPYmplY3QucHJvdG90eXBlLnZhbHVlT2YucHJvdG90eXBlKTsKfQovLwoK","commentary":"Object.prototype.valueOf has not prototype property","description":"Checking if obtaining the prototype property of Object.prototype.valueOf fails","path":"TestCases/ch15/15.2/15.2.4/15.2.4.4/S15.2.4.4_A6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPYmplY3QucHJvdG90eXBlLnZhbHVlT2YgY2FuJ3QgYmUgdXNlZCBhcyBhIGNvbnN0cnVjdG9yCiAqCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjQvMTUuMi40LjQvUzE1LjIuNC40X0E3LmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiBjcmVhdGluZyAibmV3IE9iamVjdC5wcm90b3R5cGUudmFsdWVPZiIgZmFpbHMKICovCgp2YXIgRkFDVE9SWSA9IE9iamVjdC5wcm90b3R5cGUudmFsdWVPZjsKCnRyeSB7CiAgaW5zdGFuY2UgPSBuZXcgRkFDVE9SWTsKICAkRkFJTCgnIzE6IE9iamVjdC5wcm90b3R5cGUudmFsdWVPZiBjYW5cJ3QgYmUgdXNlZCBhcyBhIGNvbnN0cnVjdG9yJyk7Cn0gY2F0Y2ggKGUpIHsKICAkUFJJTlQoZSk7Cgp9Cgo=","commentary":"Object.prototype.valueOf can't be used as a constructor","description":"Checking if creating \"new Object.prototype.valueOf\" fails","path":"TestCases/ch15/15.2/15.2.4/15.2.4.4/S15.2.4.4_A7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgT2JqZWN0LnByb3RvdHlwZS52YWx1ZU9mLmxlbmd0aCBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZSBEb250RW51bQogKgogKiBAcGF0aCBjaDE1LzE1LjIvMTUuMi40LzE1LjIuNC40L1MxNS4yLjQuNF9BOC5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgaWYgZW51bWVyYXRpbmcgdGhlIE9iamVjdC5wcm90b3R5cGUudmFsdWVPZi5sZW5ndGggcHJvcGVydHkgZmFpbHMKICovCgovL0NIRUNLIzAKaWYgKCEoT2JqZWN0LnByb3RvdHlwZS52YWx1ZU9mLmhhc093blByb3BlcnR5KCdsZW5ndGgnKSkpIHsKICAkRkFJTCgnIzA6IHRoZSBPYmplY3QucHJvdG90eXBlLnZhbHVlT2YgaGFzIGxlbmd0aCBwcm9wZXJ0eS4nKTsKfQoKCi8vIENIRUNLIzEKaWYgKE9iamVjdC5wcm90b3R5cGUudmFsdWVPZi5wcm9wZXJ0eUlzRW51bWVyYWJsZSgnbGVuZ3RoJykpIHsKICAkRVJST1IoJyMxOiB0aGUgT2JqZWN0LnByb3RvdHlwZS52YWx1ZU9mLmxlbmd0aCBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZXMgRG9udEVudW0nKTsKfQoKLy8gQ0hFQ0sjMgpmb3IgKHAgaW4gT2JqZWN0LnByb3RvdHlwZS52YWx1ZU9mKXsKICBpZiAocD09PSJsZW5ndGgiKQogICAgICAgICRFUlJPUignIzI6IHRoZSBPYmplY3QucHJvdG90eXBlLnZhbHVlT2YubGVuZ3RoIHByb3BlcnR5IGhhcyB0aGUgYXR0cmlidXRlcyBEb250RW51bScpOwp9Ci8vCgo=","commentary":"The Object.prototype.valueOf.length property has the attribute DontEnum","description":"Checking if enumerating the Object.prototype.valueOf.length property fails","path":"TestCases/ch15/15.2/15.2.4/15.2.4.4/S15.2.4.4_A8.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgT2JqZWN0LnByb3RvdHlwZS52YWx1ZU9mLmxlbmd0aCBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZSBEb250RGVsZXRlCiAqCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjQvMTUuMi40LjQvUzE1LjIuNC40X0E5LmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja25pZyBpZiBkZWxldGluZyBvZiB0aGUgT2JqZWN0LnByb3RvdHlwZS52YWx1ZU9mLmxlbmd0aCBwcm9wZXJ0eSBmYWlscwogKiBAbm9TdHJpY3QKICovCgovL0NIRUNLIzAKaWYgKCEoT2JqZWN0LnByb3RvdHlwZS52YWx1ZU9mLmhhc093blByb3BlcnR5KCdsZW5ndGgnKSkpIHsKICAkRkFJTCgnIzA6IHRoZSBPYmplY3QucHJvdG90eXBlLnZhbHVlT2YgaGFzIGxlbmd0aCBwcm9wZXJ0eScpOwp9CgovL0NIRUNLIzEKaWYgKGRlbGV0ZSBPYmplY3QucHJvdG90eXBlLnZhbHVlT2YubGVuZ3RoKSB7CiAgJEVSUk9SKCcjMTogVGhlIE9iamVjdC5wcm90b3R5cGUudmFsdWVPZi5sZW5ndGggcHJvcGVydHkgaGFzIHRoZSBhdHRyaWJ1dGVzIERvbnREZWxldGUnKTsKfQoKLy9DSEVDSyMyCmlmICghKE9iamVjdC5wcm90b3R5cGUudmFsdWVPZi5oYXNPd25Qcm9wZXJ0eSgnbGVuZ3RoJykpKSB7CiAgJEZBSUwoJyMyOiBUaGUgT2JqZWN0LnByb3RvdHlwZS52YWx1ZU9mLmxlbmd0aCBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZXMgRG9udERlbGV0ZScpOwp9Cgo=","commentary":"The Object.prototype.valueOf.length property has the attribute DontDelete","description":"Checknig if deleting of the Object.prototype.valueOf.length property fails","noStrict":"","path":"TestCases/ch15/15.2/15.2.4/15.2.4.4/S15.2.4.4_A9.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5sZW5ndGggcHJvcGVydHkgaGFzIHRoZSBhdHRyaWJ1dGUgUmVhZE9ubHkKICoKICogQHBhdGggY2gxNS8xNS4yLzE1LjIuNC8xNS4yLjQuNS9TMTUuMi40LjVfQTEwLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiB2YXJ5aW5nIHRoZSBPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5Lmxlbmd0aCBwcm9wZXJ0eSBmYWlscwogKi8KCi8vQ0hFQ0sjMQppZiAoIShPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5Lmhhc093blByb3BlcnR5KCdsZW5ndGgnKSkpIHsKICAkRkFJTCgnIzE6IHRoZSBPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5IGhhcyBsZW5ndGggcHJvcGVydHkuJyk7Cn0KCnZhciBvYmogPSBPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5Lmxlbmd0aDsKCk9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkubGVuZ3RoID0gZnVuY3Rpb24oKXtyZXR1cm4gInNoaWZ0ZWQiO307CgovL0NIRUNLIzIKaWYgKE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkubGVuZ3RoICE9PSBvYmopIHsKICAkRVJST1IoJyMyOiB0aGUgT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eSBsZW5ndGggcHJvcGVydHkgaGFzIHRoZSBhdHRyaWJ1dGVzIFJlYWRPbmx5LicpOwp9Cgo=","commentary":"The Object.prototype.hasOwnProperty.length property has the attribute ReadOnly","description":"Checking if varying the Object.prototype.hasOwnProperty.length property fails","path":"TestCases/ch15/15.2/15.2.4/15.2.4.5/S15.2.4.5_A10.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgbGVuZ3RoIHByb3BlcnR5IG9mIHRoZSBoYXNPd25Qcm9wZXJ0eSBtZXRob2QgaXMgMQogKgogKiBAcGF0aCBjaDE1LzE1LjIvMTUuMi40LzE1LjIuNC41L1MxNS4yLjQuNV9BMTEuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIHRoZSBPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5Lmxlbmd0aAogKi8KCi8vQ0hFQ0sjMQppZiAoIShPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5Lmhhc093blByb3BlcnR5KCJsZW5ndGgiKSkpIHsKICAkRVJST1IoJyMxOiBUaGUgbGVuZ3RoIHByb3BlcnR5IG9mIHRoZSB0b09iamVjdCBtZXRob2QgaXMgMScpOwp9CgovL0NIRUNLIzIKaWYgKE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkubGVuZ3RoICE9PSAxKSB7CiAgJEVSUk9SKCcjMjogVGhlIGxlbmd0aCBwcm9wZXJ0eSBvZiB0aGUgdG9PYmplY3QgbWV0aG9kIGlzIDEnKTsKfQoK","commentary":"The length property of the hasOwnProperty method is 1","description":"Checking the Object.prototype.hasOwnProperty.length","path":"TestCases/ch15/15.2/15.2.4/15.2.4.5/S15.2.4.5_A11.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMTEgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBAcGF0aCBjaDE1LzE1LjIvMTUuMi40LzE1LjIuNC41L1MxNS4yLjQuNV9BMTIuanMKICogQGRlc2NyaXB0aW9uIExldCBPIGJlIHRoZSByZXN1bHQgb2YgY2FsbGluZyBUb09iamVjdCBwYXNzaW5nIHRoZSB0aGlzIHZhbHVlIGFzIHRoZSBhcmd1bWVudC4KICogQG5lZ2F0aXZlCiAqLwoKT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKHVuZGVmaW5lZCwgJ2ZvbycpOwoK","commentary":"","description":"Let O be the result of calling ToObject passing the this value as the argument.","negative":"","path":"TestCases/ch15/15.2/15.2.4/15.2.4.5/S15.2.4.5_A12.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMTEgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBAcGF0aCBjaDE1LzE1LjIvMTUuMi40LzE1LjIuNC41L1MxNS4yLjQuNV9BMTMuanMKICogQGRlc2NyaXB0aW9uIExldCBPIGJlIHRoZSByZXN1bHQgb2YgY2FsbGluZyBUb09iamVjdCBwYXNzaW5nIHRoZSB0aGlzIHZhbHVlIGFzIHRoZSBhcmd1bWVudC4KICogQG5lZ2F0aXZlCiAqLwoKT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKG51bGwsICdmb28nKTsKCg==","commentary":"","description":"Let O be the result of calling ToObject passing the this value as the argument.","negative":"","path":"TestCases/ch15/15.2/15.2.4/15.2.4.5/S15.2.4.5_A13.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuIHRoZSBoYXNPd25Qcm9wZXJ0eSBtZXRob2QgaXMgY2FsbGVkIHdpdGggYXJndW1lbnQgViwgdGhlIGZvbGxvd2luZyBzdGVwcyBhcmUgdGFrZW46CiAqIGkpIExldCBPIGJlIHRoaXMgb2JqZWN0CiAqIGlpKSBDYWxsIFRvU3RyaW5nKFYpCiAqIGlpaSkgSWYgTyBkb2Vzbid0IGhhdmUgYSBwcm9wZXJ0eSB3aXRoIHRoZSBuYW1lIGdpdmVuIGJ5IFJlc3VsdChpaSksIHJldHVybiBmYWxzZQogKiBpdikgUmV0dXJuIHRydWUKICoKICogQHBhdGggY2gxNS8xNS4yLzE1LjIuNC8xNS4yLjQuNS9TMTUuMi40LjVfQTFfVDEuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIHR5cGUgb2YgdGhlIE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkgYW5kIHRoZSByZXR1cm5lZCByZXN1bHQKICovCgovL0NIRUNLIzEKaWYgKHR5cGVvZiBPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5ICE9PSAiZnVuY3Rpb24iKSB7CiAgJEVSUk9SKCcjMTogaGFzT3duUHJvcGVydHkgbWV0aG9kIGlzIGRlZmluZWQnKTsKfQoKLy9DSEVDSyMyCmlmICghKE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkoImhhc093blByb3BlcnR5IikpKSB7CiAgJEVSUk9SKCcjMjogaGFzT3duUHJvcGVydHkgbWV0aG9kIHdvcmtzIHByb3Blcmx5Jyk7Cn0KLy8KCg==","commentary":"When the hasOwnProperty method is called with argument V, the following steps are taken:\ni) Let O be this object\nii) Call ToString(V)\niii) If O doesn't have a property with the name given by Result(ii), return false\niv) Return true","description":"Checking type of the Object.prototype.hasOwnProperty and the returned result","path":"TestCases/ch15/15.2/15.2.4/15.2.4.5/S15.2.4.5_A1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuIHRoZSBoYXNPd25Qcm9wZXJ0eSBtZXRob2QgaXMgY2FsbGVkIHdpdGggYXJndW1lbnQgViwgdGhlIGZvbGxvd2luZyBzdGVwcyBhcmUgdGFrZW46CiAqIGkpIExldCBPIGJlIHRoaXMgb2JqZWN0CiAqIGlpKSBDYWxsIFRvU3RyaW5nKFYpCiAqIGlpaSkgSWYgTyBkb2Vzbid0IGhhdmUgYSBwcm9wZXJ0eSB3aXRoIHRoZSBuYW1lIGdpdmVuIGJ5IFJlc3VsdChpaSksIHJldHVybiBmYWxzZQogKiBpdikgUmV0dXJuIHRydWUKICoKICogQHBhdGggY2gxNS8xNS4yLzE1LjIuNC8xNS4yLjQuNS9TMTUuMi40LjVfQTFfVDIuanMKICogQGRlc2NyaXB0aW9uIEFyZ3VtZW50IG9mIHRoZSBoYXNPd25Qcm9wZXJ0eSBtZXRob2QgaXMgYSBjdXN0b20gYm9vbGVhbiBwcm9wZXJ0eQogKi8KCi8vQ0hFQ0sjMQppZiAodHlwZW9mIE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkgIT09ICJmdW5jdGlvbiIpIHsKICAkRVJST1IoJyMxOiBoYXNPd25Qcm9wZXJ0eSBtZXRob2QgaXMgZGVmaW5lZCcpOwp9Cgp2YXIgb2JqID0ge3RoZV9wcm9wZXJ0eTp0cnVlfTsKCi8vQ0hFQ0sjMgppZiAodHlwZW9mIG9iai5oYXNPd25Qcm9wZXJ0eSAhPT0gImZ1bmN0aW9uIikgewogICRFUlJPUignIzI6IGhhc093blByb3BlcnR5IG1ldGhvZCBpcyBhY2Nlc3NlZCcpOwp9CgovL0NIRUNLIzMKaWYgKG9iai5oYXNPd25Qcm9wZXJ0eSgiaGFzT3duUHJvcGVydHkiKSkgewogICRFUlJPUignIzM6IGhhc093blByb3BlcnR5IG1ldGhvZCB3b3JrcyBwcm9wZXJseScpOwp9CgovL0NIRUNLIzQKaWYgKCEob2JqLmhhc093blByb3BlcnR5KCJ0aGVfcHJvcGVydHkiKSkpIHsKICAkRVJST1IoJyM0OiBoYXNPd25Qcm9wZXJ0eSBtZXRob2Qgd29ya3MgcHJvcGVybHknKTsKfQovLwoK","commentary":"When the hasOwnProperty method is called with argument V, the following steps are taken:\ni) Let O be this object\nii) Call ToString(V)\niii) If O doesn't have a property with the name given by Result(ii), return false\niv) Return true","description":"Argument of the hasOwnProperty method is a custom boolean property","path":"TestCases/ch15/15.2/15.2.4/15.2.4.5/S15.2.4.5_A1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuIHRoZSBoYXNPd25Qcm9wZXJ0eSBtZXRob2QgaXMgY2FsbGVkIHdpdGggYXJndW1lbnQgViwgdGhlIGZvbGxvd2luZyBzdGVwcyBhcmUgdGFrZW46CiAqIGkpIExldCBPIGJlIHRoaXMgb2JqZWN0CiAqIGlpKSBDYWxsIFRvU3RyaW5nKFYpCiAqIGlpaSkgSWYgTyBkb2Vzbid0IGhhdmUgYSBwcm9wZXJ0eSB3aXRoIHRoZSBuYW1lIGdpdmVuIGJ5IFJlc3VsdChpaSksIHJldHVybiBmYWxzZQogKiBpdikgUmV0dXJuIHRydWUKICoKICogQHBhdGggY2gxNS8xNS4yLzE1LjIuNC8xNS4yLjQuNS9TMTUuMi40LjVfQTFfVDMuanMKICogQGRlc2NyaXB0aW9uIEFyZ3VtZW50IG9mIHRoZSBoYXNPd25Qcm9wZXJ0eSBtZXRob2QgaXMgYSBjdXN0b20gcHJvcGVydHkgb2YgYSBmdW5jdGlvbiBvYmplY3QKICovCgp2YXIgRkFDVE9SWSA9IGZ1bmN0aW9uKCl7CiAgICB0aGlzLmFwcm9wZXJ0eSA9IDE7Cn07Cgp2YXIgaW5zdGFuY2UgPSBuZXcgRkFDVE9SWTsKCi8vQ0hFQ0sjMQppZiAodHlwZW9mIE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkgIT09ICJmdW5jdGlvbiIpIHsKICAkRVJST1IoJyMxOiBoYXNPd25Qcm9wZXJ0eSBtZXRob2QgaXMgZGVmaW5lZCcpOwp9CgovL0NIRUNLIzIKaWYgKHR5cGVvZiBpbnN0YW5jZS5oYXNPd25Qcm9wZXJ0eSAhPT0gImZ1bmN0aW9uIikgewogICRFUlJPUignIzI6IGhhc093blByb3BlcnR5IG1ldGhvZCBpcyBhY2Nlc3NlZCcpOwp9CgovL0NIRUNLIzMKaWYgKGluc3RhbmNlLmhhc093blByb3BlcnR5KCJ0b1N0cmluZyIpKSB7CiAgJEVSUk9SKCcjMzogaGFzT3duUHJvcGVydHkgbWV0aG9kIHdvcmtzIHByb3Blcmx5Jyk7Cn0KCi8vQ0hFQ0sjNAppZiAoIShpbnN0YW5jZS5oYXNPd25Qcm9wZXJ0eSgiYXByb3BlcnR5IikpKSB7CiAgJEVSUk9SKCcjNDogaGFzT3duUHJvcGVydHkgbWV0aG9kIHdvcmtzIHByb3Blcmx5Jyk7Cn0KCgo=","commentary":"When the hasOwnProperty method is called with argument V, the following steps are taken:\ni) Let O be this object\nii) Call ToString(V)\niii) If O doesn't have a property with the name given by Result(ii), return false\niv) Return true","description":"Argument of the hasOwnProperty method is a custom property of a function object","path":"TestCases/ch15/15.2/15.2.4/15.2.4.5/S15.2.4.5_A1_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5IGhhcyBub3QgcHJvdG90eXBlIHByb3BlcnR5CiAqCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjQvMTUuMi40LjUvUzE1LjIuNC41X0E2LmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiBvYnRhaW5pbmcgdGhlIHByb3RvdHlwZSBwcm9wZXJ0eSBvZiBPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5IGZhaWxzCiAqLwoKLy9DSEVDSyMxCmlmIChPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LnByb3RvdHlwZSAhPT0gdW5kZWZpbmVkKSB7CiAgJEVSUk9SKCcjMTogT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eSBoYXMgbm90IHByb3RvdHlwZSBwcm9wZXJ0eScrT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5wcm90b3R5cGUpOwp9Ci8vCgo=","commentary":"Object.prototype.hasOwnProperty has not prototype property","description":"Checking if obtaining the prototype property of Object.prototype.hasOwnProperty fails","path":"TestCases/ch15/15.2/15.2.4/15.2.4.5/S15.2.4.5_A6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5IGNhbid0IGJlIHVzZWQgYXMgYSBjb25zdHJ1Y3RvcgogKgogKiBAcGF0aCBjaDE1LzE1LjIvMTUuMi40LzE1LjIuNC41L1MxNS4yLjQuNV9BNy5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgaWYgY3JlYXRpbmcgIm5ldyBPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5IiBmYWlscwogKi8KCnZhciBGQUNUT1JZID0gT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eTsKCnRyeSB7CiAgaW5zdGFuY2UgPSBuZXcgRkFDVE9SWTsKICAkRkFJTCgnIzE6IE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkgY2FuXCd0IGJlIHVzZWQgYXMgYSBjb25zdHJ1Y3RvcicpOwp9IGNhdGNoIChlKSB7CiAgJFBSSU5UKGUpOwoKfQoK","commentary":"Object.prototype.hasOwnProperty can't be used as a constructor","description":"Checking if creating \"new Object.prototype.hasOwnProperty\" fails","path":"TestCases/ch15/15.2/15.2.4/15.2.4.5/S15.2.4.5_A7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5sZW5ndGggcHJvcGVydHkgaGFzIHRoZSBhdHRyaWJ1dGUgRG9udEVudW0KICoKICogQHBhdGggY2gxNS8xNS4yLzE1LjIuNC8xNS4yLjQuNS9TMTUuMi40LjVfQTguanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIGVudW1lcmF0aW5nIHRoZSBPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5Lmxlbmd0aCBwcm9wZXJ0eSBmYWlscwogKi8KCi8vQ0hFQ0sjMAppZiAoIShPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5Lmhhc093blByb3BlcnR5KCdsZW5ndGgnKSkpIHsKICAkRkFJTCgnIzA6IHRoZSBPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5IGhhcyBsZW5ndGggcHJvcGVydHkuJyk7Cn0KCgovLyBDSEVDSyMxCmlmIChPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LnByb3BlcnR5SXNFbnVtZXJhYmxlKCdsZW5ndGgnKSkgewogICRFUlJPUignIzE6IHRoZSBPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5Lmxlbmd0aCBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZXMgRG9udEVudW0nKTsKfQoKLy8gQ0hFQ0sjMgpmb3IgKHAgaW4gT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eSl7CiAgaWYgKHA9PT0ibGVuZ3RoIikKICAgICAgICAkRVJST1IoJyMyOiB0aGUgT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5sZW5ndGggcHJvcGVydHkgaGFzIHRoZSBhdHRyaWJ1dGVzIERvbnRFbnVtJyk7Cn0KLy8KCg==","commentary":"The Object.prototype.hasOwnProperty.length property has the attribute DontEnum","description":"Checking if enumerating the Object.prototype.hasOwnProperty.length property fails","path":"TestCases/ch15/15.2/15.2.4/15.2.4.5/S15.2.4.5_A8.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5sZW5ndGggcHJvcGVydHkgaGFzIHRoZSBhdHRyaWJ1dGUgRG9udERlbGV0ZQogKgogKiBAcGF0aCBjaDE1LzE1LjIvMTUuMi40LzE1LjIuNC41L1MxNS4yLjQuNV9BOS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgaWYgZGVsZXRpbmcgdGhlIE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkubGVuZ3RoIHByb3BlcnR5IGZhaWxzCiAqLwoKLy9DSEVDSyMwCmlmICghKE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuaGFzT3duUHJvcGVydHkoJ2xlbmd0aCcpKSkgewogICRGQUlMKCcjMDogdGhlIE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkgaGFzIGxlbmd0aCBwcm9wZXJ0eScpOwp9CgovL0NIRUNLIzEKaWYgKGRlbGV0ZSBPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5Lmxlbmd0aCkgewogICRFUlJPUignIzE6IFRoZSBPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5Lmxlbmd0aCBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZXMgRG9udERlbGV0ZScpOwp9CgovL0NIRUNLIzIKaWYgKCEoT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5oYXNPd25Qcm9wZXJ0eSgnbGVuZ3RoJykpKSB7CiAgJEZBSUwoJyMyOiBUaGUgT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5sZW5ndGggcHJvcGVydHkgaGFzIHRoZSBhdHRyaWJ1dGVzIERvbnREZWxldGUnKTsKfQoK","commentary":"The Object.prototype.hasOwnProperty.length property has the attribute DontDelete","description":"Checking if deleting the Object.prototype.hasOwnProperty.length property fails","path":"TestCases/ch15/15.2/15.2.4/15.2.4.5/S15.2.4.5_A9.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuIHRoZSBpc1Byb3RvdHlwZU9mIG1ldGhvZCBpcyBjYWxsZWQgd2l0aCBhcmd1bWVudCBWIGFuZCB3aGVuIE8gYW5kCiAqIFYgcmVmZXIgdG8gdGhlIHNhbWUgb2JqZWN0IG9yIHRvIG9iamVjdHMgam9pbmVkIHRvIGVhY2ggb3RoZXIsIHJldHVybiB0cnVlCiAqCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjQvMTUuMi40LjYvUzE1LjIuNC42X0ExLmpzCiAqIEBkZXNjcmlwdGlvbiBDcmVhdGluZyB0d28gb2JqZWN0cyB3aXRoIHRoZSBzYW1lIHByb3RvdHlwZQogKi8KCmZ1bmN0aW9uIFVTRVJfRkFDVE9SWSggbmFtZSApIHsKICB0aGlzLm5hbWUgPSBuYW1lOwogIHRoaXMuZ2V0TmFtZT1mdW5jdGlvbigpe3JldHVybiBuYW1lO307Cn0KCgpmdW5jdGlvbiBGT1JDRURVU0VSX0ZBQ1RPUlkoIG5hbWUsIGdyYWRlICkgewogICAgdGhpcy5uYW1lID0gbmFtZTsKICB0aGlzLmdyYWRlID0gZ3JhZGU7CiAgdGhpcy5nZXRHcmFkZT1mdW5jdGlvbigpe3JldHVybiBncmFkZTt9Owp9Cgp2YXIgcHJvdG8gPSBuZXcgVVNFUl9GQUNUT1JZKCJub25hbWUiKTsKCkZPUkNFRFVTRVJfRkFDVE9SWS5wcm90b3R5cGUgPSBwcm90bzsKCnZhciBsdWtlID0gbmV3IEZPUkNFRFVTRVJfRkFDVE9SWSgiTHVrZSBTa3l3YWxrZXIiLCAxMik7Ci8vLy8vLwovLyBDSEVDSyMxCmlmKHByb3RvLmlzUHJvdG90eXBlT2YobHVrZSkpewogICRQUklOVCgnIzE6IE5hdGl2ZSBFQ01BU2NyaXB0IG9iamVjdHMgaGF2ZSBhbiBpbnRlcm5hbCBwcm9wZXJ0eSBjYWxsZWQgW1tQcm90b3R5cGVdXS4nKTsKfSBlbHNlIHsKICAkRVJST1IoJyMxOiBuYXRpdmUgRUNNQVNjcmlwdCBvYmplY3RzIGhhdmUgYW4gaW50ZXJuYWwgcHJvcGVydHkgY2FsbGVkIFtbUHJvdG90eXBlXV0uJyk7Cn0KLy8KLy8vLy8vLy8vCi8vLy8vLwovLyBDSEVDSyMyCmlmKFVTRVJfRkFDVE9SWS5wcm90b3R5cGUuaXNQcm90b3R5cGVPZihsdWtlKSl7CiAgJFBSSU5UKCcjMjogTmF0aXZlIEVDTUFTY3JpcHQgb2JqZWN0cyBoYXZlIGFuIGludGVybmFsIHByb3BlcnR5IGNhbGxlZCBbW1Byb3RvdHlwZV1dLicpOwp9IGVsc2UgewogICRFUlJPUignIzI6IG5hdGl2ZSBFQ01BU2NyaXB0IG9iamVjdHMgaGF2ZSBhbiBpbnRlcm5hbCBwcm9wZXJ0eSBjYWxsZWQgW1tQcm90b3R5cGVdXS4nKTsKfQovLwovLy8vLy8vLy8KLy8vLy8vCi8vIENIRUNLIzMKaWYoTnVtYmVyLmlzUHJvdG90eXBlT2YobHVrZSkpewogICRFUlJPUignIzI6IE5hdGl2ZSBFQ01BU2NyaXB0IG9iamVjdHMgaGF2ZSBhbiBpbnRlcm5hbCBwcm9wZXJ0eSBjYWxsZWQgW1tQcm90b3R5cGVdXS4nKTsKfQovLwovLy8vLy8vLy8KCg==","commentary":"When the isPrototypeOf method is called with argument V and when O and\nV refer to the same object or to objects joined to each other, return true","description":"Creating two objects with the same prototype","path":"TestCases/ch15/15.2/15.2.4/15.2.4.6/S15.2.4.6_A1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgT2JqZWN0LnByb3RvdHlwZS5pc1Byb3RvdHlwZU9mLmxlbmd0aCBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZSBSZWFkT25seQogKgogKiBAcGF0aCBjaDE1LzE1LjIvMTUuMi40LzE1LjIuNC42L1MxNS4yLjQuNl9BMTAuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIHZhcnlpbmcgdGhlIE9iamVjdC5wcm90b3R5cGUuaXNQcm90b3R5cGVPZi5sZW5ndGggcHJvcGVydHkgZmFpbHMKICogQG5vU3RyaWN0CiAqLwoKLy9DSEVDSyMxCmlmICghKE9iamVjdC5wcm90b3R5cGUuaXNQcm90b3R5cGVPZi5oYXNPd25Qcm9wZXJ0eSgnbGVuZ3RoJykpKSB7CiAgJEZBSUwoJyMxOiB0aGUgT2JqZWN0LnByb3RvdHlwZS5pc1Byb3RvdHlwZU9mIGhhcyBsZW5ndGggcHJvcGVydHknKTsKfQoKdmFyIG9iaiA9IE9iamVjdC5wcm90b3R5cGUuaXNQcm90b3R5cGVPZi5sZW5ndGg7CgpPYmplY3QucHJvdG90eXBlLmlzUHJvdG90eXBlT2YubGVuZ3RoID0gZnVuY3Rpb24oKXtyZXR1cm4gInNoaWZ0ZWQiO307CgovL0NIRUNLIzIKaWYgKE9iamVjdC5wcm90b3R5cGUuaXNQcm90b3R5cGVPZi5sZW5ndGggIT09IG9iaikgewogICRFUlJPUignIzI6IHRoZSBPYmplY3QucHJvdG90eXBlLmlzUHJvdG90eXBlT2YgbGVuZ3RoIHByb3BlcnR5IGhhcyB0aGUgYXR0cmlidXRlcyBSZWFkT25seScpOwp9Cgo=","commentary":"The Object.prototype.isPrototypeOf.length property has the attribute ReadOnly","description":"Checking if varying the Object.prototype.isPrototypeOf.length property fails","noStrict":"","path":"TestCases/ch15/15.2/15.2.4/15.2.4.6/S15.2.4.6_A10.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgbGVuZ3RoIHByb3BlcnR5IG9mIHRoZSBoYXNPd25Qcm9wZXJ0eSBtZXRob2QgaXMgMQogKgogKiBAcGF0aCBjaDE1LzE1LjIvMTUuMi40LzE1LjIuNC42L1MxNS4yLjQuNl9BMTEuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIHRoZSBPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5Lmxlbmd0aAogKi8KCi8vQ0hFQ0sjMQppZiAoIShPYmplY3QucHJvdG90eXBlLmlzUHJvdG90eXBlT2YuaGFzT3duUHJvcGVydHkoImxlbmd0aCIpKSkgewogICRFUlJPUignIzE6IHRoZSBPYmplY3QucHJvdG90eXBlLmlzUHJvdG90eXBlT2YgaGFzIGxlbmd0aCBwcm9wZXJ0eScpOwp9CgovL0NIRUNLIzIKaWYgKE9iamVjdC5wcm90b3R5cGUuaXNQcm90b3R5cGVPZi5sZW5ndGggIT09IDEpIHsKICAkRVJST1IoJyMyOiBUaGUgbGVuZ3RoIHByb3BlcnR5IG9mIHRoZSB0b09iamVjdCBtZXRob2QgaXMgMScpOwp9Cgo=","commentary":"The length property of the hasOwnProperty method is 1","description":"Checking the Object.prototype.hasOwnProperty.length","path":"TestCases/ch15/15.2/15.2.4/15.2.4.6/S15.2.4.6_A11.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMTEgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBAcGF0aCBjaDE1LzE1LjIvMTUuMi40LzE1LjIuNC42L1MxNS4yLjQuNl9BMTIuanMKICogQGRlc2NyaXB0aW9uIExldCBPIGJlIHRoZSByZXN1bHQgb2YgY2FsbGluZyBUb09iamVjdCBwYXNzaW5nIHRoZSB0aGlzIHZhbHVlIGFzIHRoZSBhcmd1bWVudC4KICogQG5lZ2F0aXZlCiAqLwoKT2JqZWN0LnByb3RvdHlwZS5pc1Byb3RvdHlwZU9mLmNhbGwodW5kZWZpbmVkLCB7fSk7Cgo=","commentary":"","description":"Let O be the result of calling ToObject passing the this value as the argument.","negative":"","path":"TestCases/ch15/15.2/15.2.4/15.2.4.6/S15.2.4.6_A12.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMTEgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBAcGF0aCBjaDE1LzE1LjIvMTUuMi40LzE1LjIuNC42L1MxNS4yLjQuNl9BMTMuanMKICogQGRlc2NyaXB0aW9uIExldCBPIGJlIHRoZSByZXN1bHQgb2YgY2FsbGluZyBUb09iamVjdCBwYXNzaW5nIHRoZSB0aGlzIHZhbHVlIGFzIHRoZSBhcmd1bWVudC4KICogQG5lZ2F0aXZlCiAqLwoKT2JqZWN0LnByb3RvdHlwZS5pc1Byb3RvdHlwZU9mLmNhbGwobnVsbCwge30pOwoK","commentary":"","description":"Let O be the result of calling ToObject passing the this value as the argument.","negative":"","path":"TestCases/ch15/15.2/15.2.4/15.2.4.6/S15.2.4.6_A13.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPYmplY3QucHJvdG90eXBlLmlzUHJvdG90eXBlT2YgaGFzIG5vdCBwcm90b3R5cGUgcHJvcGVydHkKICoKICogQHBhdGggY2gxNS8xNS4yLzE1LjIuNC8xNS4yLjQuNi9TMTUuMi40LjZfQTYuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIG9idGFpbmluZyB0aGUgcHJvdG90eXBlIHByb3BlcnR5IG9mIE9iamVjdC5wcm90b3R5cGUuaXNQcm90b3R5cGVPZiBmYWlscwogKi8KCi8vQ0hFQ0sjMQppZiAoT2JqZWN0LnByb3RvdHlwZS5pc1Byb3RvdHlwZU9mLnByb3RvdHlwZSAhPT0gdW5kZWZpbmVkKSB7CiAgJEVSUk9SKCcjMTogT2JqZWN0LnByb3RvdHlwZS5pc1Byb3RvdHlwZU9mIGhhcyBub3QgcHJvdG90eXBlIHByb3BlcnR5JytPYmplY3QucHJvdG90eXBlLmlzUHJvdG90eXBlT2YucHJvdG90eXBlKTsKfQovLwoK","commentary":"Object.prototype.isPrototypeOf has not prototype property","description":"Checking if obtaining the prototype property of Object.prototype.isPrototypeOf fails","path":"TestCases/ch15/15.2/15.2.4/15.2.4.6/S15.2.4.6_A6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPYmplY3QucHJvdG90eXBlLmlzUHJvdG90eXBlT2YgY2FuJ3QgYmUgdXNlZCBhcyBhIGNvbnN0cnVjdG9yCiAqCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjQvMTUuMi40LjYvUzE1LjIuNC42X0E3LmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiBjcmVhdGluZyBuZXcgIk9iamVjdC5wcm90b3R5cGUuaXNQcm90b3R5cGVPZiIgZmFpbHMKICovCgp2YXIgRkFDVE9SWSA9IE9iamVjdC5wcm90b3R5cGUuaXNQcm90b3R5cGVPZjsKCnRyeSB7CiAgaW5zdGFuY2UgPSBuZXcgRkFDVE9SWTsKICAkRkFJTCgnIzE6IE9iamVjdC5wcm90b3R5cGUuaXNQcm90b3R5cGVPZiBjYW5cJ3QgYmUgdXNlZCBhcyBhIGNvbnN0cnVjdG9yJyk7Cn0gY2F0Y2ggKGUpIHsKICAkUFJJTlQoZSk7Cgp9Cgo=","commentary":"Object.prototype.isPrototypeOf can't be used as a constructor","description":"Checking if creating new \"Object.prototype.isPrototypeOf\" fails","path":"TestCases/ch15/15.2/15.2.4/15.2.4.6/S15.2.4.6_A7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgT2JqZWN0LnByb3RvdHlwZS5pc1Byb3RvdHlwZU9mLmxlbmd0aCBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZSBEb250RW51bQogKgogKiBAcGF0aCBjaDE1LzE1LjIvMTUuMi40LzE1LjIuNC42L1MxNS4yLjQuNl9BOC5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tuaWcgaWYgZW51bWVyYXRpbmcgdGhlIE9iamVjdC5wcm90b3R5cGUuaXNQcm90b3R5cGVPZi5sZW5ndGggcHJvcGVydHkgZmFpbHMKICovCgovL0NIRUNLIzAKaWYgKCEoT2JqZWN0LnByb3RvdHlwZS5pc1Byb3RvdHlwZU9mLmhhc093blByb3BlcnR5KCdsZW5ndGgnKSkpIHsKICAkRkFJTCgnIzA6IHRoZSBPYmplY3QucHJvdG90eXBlLmlzUHJvdG90eXBlT2YgaGFzIGxlbmd0aCBwcm9wZXJ0eScpOwp9CgoKLy8gQ0hFQ0sjMQppZiAoT2JqZWN0LnByb3RvdHlwZS5pc1Byb3RvdHlwZU9mLnByb3BlcnR5SXNFbnVtZXJhYmxlKCdsZW5ndGgnKSkgewogICRFUlJPUignIzE6IHRoZSBPYmplY3QucHJvdG90eXBlLmlzUHJvdG90eXBlT2YubGVuZ3RoIHByb3BlcnR5IGhhcyB0aGUgYXR0cmlidXRlcyBEb250RW51bScpOwp9CgovLyBDSEVDSyMyCmZvciAocCBpbiBPYmplY3QucHJvdG90eXBlLmlzUHJvdG90eXBlT2YpewogIGlmIChwPT09Imxlbmd0aCIpCiAgICAgICAgJEVSUk9SKCcjMjogdGhlIE9iamVjdC5wcm90b3R5cGUuaXNQcm90b3R5cGVPZi5sZW5ndGggcHJvcGVydHkgaGFzIHRoZSBhdHRyaWJ1dGVzIERvbnRFbnVtJyk7Cn0KLy8KCg==","commentary":"The Object.prototype.isPrototypeOf.length property has the attribute DontEnum","description":"Checknig if enumerating the Object.prototype.isPrototypeOf.length property fails","path":"TestCases/ch15/15.2/15.2.4/15.2.4.6/S15.2.4.6_A8.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgT2JqZWN0LnByb3RvdHlwZS5pc1Byb3RvdHlwZU9mLmxlbmd0aCBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZSBEb250RGVsZXRlCiAqCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjQvMTUuMi40LjYvUzE1LjIuNC42X0E5LmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBkZWxldGluZyB0aGUgT2JqZWN0LnByb3RvdHlwZS5pc1Byb3RvdHlwZU9mLmxlbmd0aCBwcm9wZXJ0eSBmYWlscwogKi8KCi8vQ0hFQ0sjMAppZiAoIShPYmplY3QucHJvdG90eXBlLmlzUHJvdG90eXBlT2YuaGFzT3duUHJvcGVydHkoJ2xlbmd0aCcpKSkgewogICRGQUlMKCcjMDogdGhlIE9iamVjdC5wcm90b3R5cGUuaXNQcm90b3R5cGVPZiBoYXMgbGVuZ3RoIHByb3BlcnR5Jyk7Cn0KCi8vQ0hFQ0sjMQppZiAoZGVsZXRlIE9iamVjdC5wcm90b3R5cGUuaXNQcm90b3R5cGVPZi5sZW5ndGgpIHsKICAkRVJST1IoJyMxOiBUaGUgT2JqZWN0LnByb3RvdHlwZS5pc1Byb3RvdHlwZU9mLmxlbmd0aCBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZXMgRG9udERlbGV0ZScpOwp9Ci8vCgo=","commentary":"The Object.prototype.isPrototypeOf.length property has the attribute DontDelete","description":"Checking deleting the Object.prototype.isPrototypeOf.length property fails","path":"TestCases/ch15/15.2/15.2.4/15.2.4.6/S15.2.4.6_A9.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgT2JqZWN0LnByb3RvdHlwZS5wcm9wZXJ0eUlzRW51bWVyYWJsZS5sZW5ndGggcHJvcGVydHkgaGFzIHRoZSBhdHRyaWJ1dGUgUmVhZE9ubHkKICoKICogQHBhdGggY2gxNS8xNS4yLzE1LjIuNC8xNS4yLjQuNy9TMTUuMi40LjdfQTEwLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiB2YXJ5aW5nIHRoZSBPYmplY3QucHJvdG90eXBlLnByb3BlcnR5SXNFbnVtZXJhYmxlLmxlbmd0aCBwcm9wZXJ0eSBmYWlscwogKiBAbm9TdHJpY3QKICovCgovL0NIRUNLIzEKaWYgKCEoT2JqZWN0LnByb3RvdHlwZS5wcm9wZXJ0eUlzRW51bWVyYWJsZS5oYXNPd25Qcm9wZXJ0eSgnbGVuZ3RoJykpKSB7CiAgJEZBSUwoJyMxOiB0aGUgT2JqZWN0LnByb3RvdHlwZS5wcm9wZXJ0eUlzRW51bWVyYWJsZSBoYXMgbGVuZ3RoIHByb3BlcnR5Jyk7Cn0KCnZhciBvYmogPSBPYmplY3QucHJvdG90eXBlLnByb3BlcnR5SXNFbnVtZXJhYmxlLmxlbmd0aDsKCk9iamVjdC5wcm90b3R5cGUucHJvcGVydHlJc0VudW1lcmFibGUubGVuZ3RoID0gZnVuY3Rpb24oKXtyZXR1cm4gInNoaWZ0ZWQiO307CgovL0NIRUNLIzIKaWYgKE9iamVjdC5wcm90b3R5cGUucHJvcGVydHlJc0VudW1lcmFibGUubGVuZ3RoICE9PSBvYmopIHsKICAkRVJST1IoJyMyOiB0aGUgT2JqZWN0LnByb3RvdHlwZS5wcm9wZXJ0eUlzRW51bWVyYWJsZSBsZW5ndGggcHJvcGVydHkgaGFzIHRoZSBhdHRyaWJ1dGVzIFJlYWRPbmx5Jyk7Cn0KCg==","commentary":"The Object.prototype.propertyIsEnumerable.length property has the attribute ReadOnly","description":"Checking if varying the Object.prototype.propertyIsEnumerable.length property fails","noStrict":"","path":"TestCases/ch15/15.2/15.2.4/15.2.4.7/S15.2.4.7_A10.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgbGVuZ3RoIHByb3BlcnR5IG9mIHRoZSBoYXNPd25Qcm9wZXJ0eSBtZXRob2QgaXMgMQogKgogKiBAcGF0aCBjaDE1LzE1LjIvMTUuMi40LzE1LjIuNC43L1MxNS4yLjQuN19BMTEuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIHRoZSB2YWx1ZSBvZiBPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5Lmxlbmd0aAogKi8KCi8vQ0hFQ0sjMQppZiAoIShPYmplY3QucHJvdG90eXBlLnByb3BlcnR5SXNFbnVtZXJhYmxlLmhhc093blByb3BlcnR5KCJsZW5ndGgiKSkpIHsKICAkRVJST1IoJyMxOiB0aGUgT2JqZWN0LnByb3RvdHlwZS5wcm9wZXJ0eUlzRW51bWVyYWJsZSBoYXMgbGVuZ3RoIHByb3BlcnR5Jyk7Cn0KCi8vQ0hFQ0sjMgppZiAoT2JqZWN0LnByb3RvdHlwZS5wcm9wZXJ0eUlzRW51bWVyYWJsZS5sZW5ndGggIT09IDEpIHsKICAkRVJST1IoJyMyOiBUaGUgbGVuZ3RoIHByb3BlcnR5IG9mIHRoZSB0b09iamVjdCBtZXRob2QgaXMgMScpOwp9Cgo=","commentary":"The length property of the hasOwnProperty method is 1","description":"Checking the value of Object.prototype.hasOwnProperty.length","path":"TestCases/ch15/15.2/15.2.4/15.2.4.7/S15.2.4.7_A11.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMTEgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBAcGF0aCBjaDE1LzE1LjIvMTUuMi40LzE1LjIuNC43L1MxNS4yLjQuN19BMTIuanMKICogQGRlc2NyaXB0aW9uIExldCBPIGJlIHRoZSByZXN1bHQgb2YgY2FsbGluZyBUb09iamVjdCBwYXNzaW5nIHRoZSB0aGlzIHZhbHVlIGFzIHRoZSBhcmd1bWVudC4KICogQG5lZ2F0aXZlCiAqLwoKT2JqZWN0LnByb3RvdHlwZS5wcm9wZXJ0eUlzRW51bWVyYWJsZS5jYWxsKHVuZGVmaW5lZCwgJ2ZvbycpOwoK","commentary":"","description":"Let O be the result of calling ToObject passing the this value as the argument.","negative":"","path":"TestCases/ch15/15.2/15.2.4/15.2.4.7/S15.2.4.7_A12.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMTEgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBAcGF0aCBjaDE1LzE1LjIvMTUuMi40LzE1LjIuNC43L1MxNS4yLjQuN19BMTMuanMKICogQGRlc2NyaXB0aW9uIExldCBPIGJlIHRoZSByZXN1bHQgb2YgY2FsbGluZyBUb09iamVjdCBwYXNzaW5nIHRoZSB0aGlzIHZhbHVlIGFzIHRoZSBhcmd1bWVudC4KICogQG5lZ2F0aXZlCiAqLwoKT2JqZWN0LnByb3RvdHlwZS5wcm9wZXJ0eUlzRW51bWVyYWJsZS5jYWxsKG51bGwsICdmb28nKTsKCg==","commentary":"","description":"Let O be the result of calling ToObject passing the this value as the argument.","negative":"","path":"TestCases/ch15/15.2/15.2.4/15.2.4.7/S15.2.4.7_A13.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHJvcGVydHlJc0VudW1lcmFibGUgbWV0aG9kIGRvZXMgbm90IGNvbnNpZGVyIG9iamVjdHMgaW4gdGhlIHByb3RvdHlwZSBjaGFpbgogKgogKiBAcGF0aCBjaDE1LzE1LjIvMTUuMi40LzE1LjIuNC43L1MxNS4yLjQuN19BMV9UMS5qcwogKiBAZGVzY3JpcHRpb24gQ2FsbGluZyB0aGUgcHJvcGVydHlJc0VudW1lcmFibGUgbWV0aG9kIGZvciBvYmplY3QgaW4gdGhlIHByb3RvdHlwZSBjaGFpbgogKi8KCi8vQ0hFQ0sjMQppZiAodHlwZW9mIE9iamVjdC5wcm90b3R5cGUucHJvcGVydHlJc0VudW1lcmFibGUgIT09ICJmdW5jdGlvbiIpIHsKICAkRVJST1IoJyMxOiBwcm9wZXJ0eUlzRW51bWVyYWJsZSBtZXRob2QgaXMgZGVmaW5lZCcpOwp9Cgp2YXIgcHJvdG89e3Jvb3Rwcm9wOiJhdmlzIn07CgpmdW5jdGlvbiBBVklTRkFDVE9SWShuYW1lKXt0aGlzLm5hbWU9bmFtZX07CgpBVklTRkFDVE9SWS5wcm90b3R5cGUgPSBwcm90bzsKCnZhciBzZWFndWxsPSBuZXcgQVZJU0ZBQ1RPUlkoInNlYWd1bGwiKTsKCi8vQ0hFQ0sjMgppZiAodHlwZW9mIHNlYWd1bGwucHJvcGVydHlJc0VudW1lcmFibGUgIT09ICJmdW5jdGlvbiIpIHsKICAkRVJST1IoJyMyOiBwcm9wZXJ0eUlzRW51bWVyYWJsZSBtZXRob2QgaXMgYWNjZXNzZWQnKTsKfQoKLy9DSEVDSyMzCmlmICghKHNlYWd1bGwucHJvcGVydHlJc0VudW1lcmFibGUoIm5hbWUiKSkpIHsKICAkRVJST1IoJyMzOiBwcm9wZXJ0eUlzRW51bWVyYWJsZSBtZXRob2Qgd29ya3MgcHJvcGVybHknKTsKfQoKLy9DSEVDSyM0CmlmIChzZWFndWxsLnByb3BlcnR5SXNFbnVtZXJhYmxlKCJyb290cHJvcCIpKSB7CiAgJEVSUk9SKCcjNDogcHJvcGVydHlJc0VudW1lcmFibGUgbWV0aG9kIGRvZXMgbm90IGNvbnNpZGVyIG9iamVjdHMgaW4gdGhlIHByb3RvdHlwZSBjaGFpbicpOwp9Ci8vCgo=","commentary":"The propertyIsEnumerable method does not consider objects in the prototype chain","description":"Calling the propertyIsEnumerable method for object in the prototype chain","path":"TestCases/ch15/15.2/15.2.4/15.2.4.7/S15.2.4.7_A1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuIHRoZSBwcm9wZXJ0eUlzRW51bWVyYWJsZSBtZXRob2QgaXMgY2FsbGVkIHdpdGggYXJndW1lbnQgViwgdGhlIGZvbGxvd2luZyBzdGVwcyBhcmUgdGFrZW46CiAqIGkpIExldCBPIGJlIHRoaXMgb2JqZWN0CiAqIGlpKSBDYWxsIFRvU3RyaW5nKFYpCiAqIGlpaSkgSWYgTyBkb2Vzbid0IGhhdmUgYSBwcm9wZXJ0eSB3aXRoIHRoZSBuYW1lIGdpdmVuIGJ5IFJlc3VsdChpaSksIHJldHVybiBmYWxzZQogKiBpdikgSWYgdGhlIHByb3BlcnR5IGhhcyB0aGUgRG9udEVudW0gYXR0cmlidXRlLCByZXR1cm4gZmFsc2UKICogdikgUmV0dXJuIHRydWUKICoKICogQHBhdGggY2gxNS8xNS4yLzE1LjIuNC8xNS4yLjQuNy9TMTUuMi40LjdfQTJfVDEuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIHRoZSB0eXBlIG9mIE9iamVjdC5wcm90b3R5cGUucHJvcGVydHlJc0VudW1lcmFibGUgYW5kIHRoZSByZXR1cm5lZCByZXN1bHQKICovCgovL0NIRUNLIzEKaWYgKHR5cGVvZiBPYmplY3QucHJvdG90eXBlLnByb3BlcnR5SXNFbnVtZXJhYmxlICE9PSAiZnVuY3Rpb24iKSB7CiAgJEVSUk9SKCcjMTogaGFzT3duUHJvcGVydHkgbWV0aG9kIGlzIGRlZmluZWQnKTsKfQoKLy9DSEVDSyMyCmlmIChPYmplY3QucHJvdG90eXBlLnByb3BlcnR5SXNFbnVtZXJhYmxlKCJwcm9wZXJ0eUlzRW51bWVyYWJsZSIpKSB7CiAgJEVSUk9SKCcjMjogaGFzT3duUHJvcGVydHkgbWV0aG9kIHdvcmtzIHByb3Blcmx5Jyk7Cn0KLy8KCg==","commentary":"When the propertyIsEnumerable method is called with argument V, the following steps are taken:\ni) Let O be this object\nii) Call ToString(V)\niii) If O doesn't have a property with the name given by Result(ii), return false\niv) If the property has the DontEnum attribute, return false\nv) Return true","description":"Checking the type of Object.prototype.propertyIsEnumerable and the returned result","path":"TestCases/ch15/15.2/15.2.4/15.2.4.7/S15.2.4.7_A2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuIHRoZSBwcm9wZXJ0eUlzRW51bWVyYWJsZSBtZXRob2QgaXMgY2FsbGVkIHdpdGggYXJndW1lbnQgViwgdGhlIGZvbGxvd2luZyBzdGVwcyBhcmUgdGFrZW46CiAqIGkpIExldCBPIGJlIHRoaXMgb2JqZWN0CiAqIGlpKSBDYWxsIFRvU3RyaW5nKFYpCiAqIGlpaSkgSWYgTyBkb2Vzbid0IGhhdmUgYSBwcm9wZXJ0eSB3aXRoIHRoZSBuYW1lIGdpdmVuIGJ5IFJlc3VsdChpaSksIHJldHVybiBmYWxzZQogKiBpdikgSWYgdGhlIHByb3BlcnR5IGhhcyB0aGUgRG9udEVudW0gYXR0cmlidXRlLCByZXR1cm4gZmFsc2UKICogdikgUmV0dXJuIHRydWUKICoKICogQHBhdGggY2gxNS8xNS4yLzE1LjIuNC8xNS4yLjQuNy9TMTUuMi40LjdfQTJfVDIuanMKICogQGRlc2NyaXB0aW9uIEFyZ3VtZW50IG9mIHRoZSBwcm9wZXJ0eUlzRW51bWVyYWJsZSBtZXRob2QgaXMgYSBjdXN0b20gYm9vbGVhbiBwcm9wZXJ0eQogKi8KCi8vQ0hFQ0sjMQppZiAodHlwZW9mIE9iamVjdC5wcm90b3R5cGUucHJvcGVydHlJc0VudW1lcmFibGUgIT09ICJmdW5jdGlvbiIpIHsKICAkRVJST1IoJyMxOiBwcm9wZXJ0eUlzRW51bWVyYWJsZSBtZXRob2QgaXMgZGVmaW5lZCcpOwp9Cgp2YXIgb2JqID0ge3RoZV9wcm9wZXJ0eTp0cnVlfTsKCi8vQ0hFQ0sjMgppZiAodHlwZW9mIG9iai5wcm9wZXJ0eUlzRW51bWVyYWJsZSAhPT0gImZ1bmN0aW9uIikgewogICRFUlJPUignIzI6IHByb3BlcnR5SXNFbnVtZXJhYmxlIG1ldGhvZCBpcyBhY2Nlc3NlZCcpOwp9CgovL0NIRUNLIzMKaWYgKCEob2JqLnByb3BlcnR5SXNFbnVtZXJhYmxlKCJ0aGVfcHJvcGVydHkiKSkpIHsKICAkRVJST1IoJyMzOiBwcm9wZXJ0eUlzRW51bWVyYWJsZSBtZXRob2Qgd29ya3MgcHJvcGVybHknKTsKfQoKLy9DSEVDSyM0CnZhciBhY2N1bT0iIjsKZm9yKHZhciBwcm9wIGluIG9iaikgewogIGFjY3VtKz1wcm9wOwp9CmlmIChhY2N1bS5pbmRleE9mKCJ0aGVfcHJvcGVydHkiKSE9PTApIHsKICAkRVJST1IoJyM0OiBlbnVtZXJhdGluZyB3b3JrcyBwcm9wZXJseScpOwp9Ci8vCgo=","commentary":"When the propertyIsEnumerable method is called with argument V, the following steps are taken:\ni) Let O be this object\nii) Call ToString(V)\niii) If O doesn't have a property with the name given by Result(ii), return false\niv) If the property has the DontEnum attribute, return false\nv) Return true","description":"Argument of the propertyIsEnumerable method is a custom boolean property","path":"TestCases/ch15/15.2/15.2.4/15.2.4.7/S15.2.4.7_A2_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPYmplY3QucHJvdG90eXBlLnByb3BlcnR5SXNFbnVtZXJhYmxlIGhhcyBub3QgcHJvdG90eXBlIHByb3BlcnR5CiAqCiAqIEBwYXRoIGNoMTUvMTUuMi8xNS4yLjQvMTUuMi40LjcvUzE1LjIuNC43X0E2LmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiBvYnRhaW5pbmcgdGhlIHByb3RvdHlwZSBwcm9wZXJ0eSBvZiBPYmplY3QucHJvdG90eXBlLnByb3BlcnR5SXNFbnVtZXJhYmxlIGZhaWxzCiAqLwoKLy9DSEVDSyMxCmlmIChPYmplY3QucHJvdG90eXBlLnByb3BlcnR5SXNFbnVtZXJhYmxlLnByb3RvdHlwZSAhPT0gdW5kZWZpbmVkKSB7CiAgJEVSUk9SKCcjMTogT2JqZWN0LnByb3RvdHlwZS5wcm9wZXJ0eUlzRW51bWVyYWJsZSBoYXMgbm90IHByb3RvdHlwZSBwcm9wZXJ0eScrT2JqZWN0LnByb3RvdHlwZS5wcm9wZXJ0eUlzRW51bWVyYWJsZS5wcm90b3R5cGUpOwp9Ci8vCgo=","commentary":"Object.prototype.propertyIsEnumerable has not prototype property","description":"Checking if obtaining the prototype property of Object.prototype.propertyIsEnumerable fails","path":"TestCases/ch15/15.2/15.2.4/15.2.4.7/S15.2.4.7_A6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPYmplY3QucHJvdG90eXBlLnByb3BlcnR5SXNFbnVtZXJhYmxlIGNhbid0IGJlIHVzZWQgYXMgYSBjb25zdHJ1Y3RvcgogKgogKiBAcGF0aCBjaDE1LzE1LjIvMTUuMi40LzE1LjIuNC43L1MxNS4yLjQuN19BNy5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgaWYgY3JlYXRpbmcgIm5ldyBPYmplY3QucHJvdG90eXBlLnByb3BlcnR5SXNFbnVtZXJhYmxlIiBmYWlscwogKi8KCnZhciBGQUNUT1JZID0gT2JqZWN0LnByb3RvdHlwZS5wcm9wZXJ0eUlzRW51bWVyYWJsZTsKCnRyeSB7CiAgaW5zdGFuY2UgPSBuZXcgRkFDVE9SWTsKICAkRkFJTCgnIzE6IE9iamVjdC5wcm90b3R5cGUucHJvcGVydHlJc0VudW1lcmFibGUgY2FuXCd0IGJlIHVzZWQgYXMgYSBjb25zdHJ1Y3RvcicpOwp9IGNhdGNoIChlKSB7CiAgJFBSSU5UKGUpOwoKfQoK","commentary":"Object.prototype.propertyIsEnumerable can't be used as a constructor","description":"Checking if creating \"new Object.prototype.propertyIsEnumerable\" fails","path":"TestCases/ch15/15.2/15.2.4/15.2.4.7/S15.2.4.7_A7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgT2JqZWN0LnByb3RvdHlwZS5wcm9wZXJ0eUlzRW51bWVyYWJsZS5sZW5ndGggcHJvcGVydHkgaGFzIHRoZSBhdHRyaWJ1dGUgRG9udEVudW0KICoKICogQHBhdGggY2gxNS8xNS4yLzE1LjIuNC8xNS4yLjQuNy9TMTUuMi40LjdfQTguanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIGVudW1lcmF0aW5nIHRoZSBPYmplY3QucHJvdG90eXBlLnByb3BlcnR5SXNFbnVtZXJhYmxlLmxlbmd0aCBwcm9wZXJ0eSBmYWlscwogKi8KCi8vQ0hFQ0sjMAppZiAoIShPYmplY3QucHJvdG90eXBlLnByb3BlcnR5SXNFbnVtZXJhYmxlLmhhc093blByb3BlcnR5KCdsZW5ndGgnKSkpIHsKICAkRkFJTCgnIzA6IHRoZSBPYmplY3QucHJvdG90eXBlLnByb3BlcnR5SXNFbnVtZXJhYmxlIGhhcyBsZW5ndGggcHJvcGVydHknKTsKfQoKCi8vIENIRUNLIzEKaWYgKE9iamVjdC5wcm90b3R5cGUucHJvcGVydHlJc0VudW1lcmFibGUucHJvcGVydHlJc0VudW1lcmFibGUoJ2xlbmd0aCcpKSB7CiAgJEVSUk9SKCcjMTogdGhlIE9iamVjdC5wcm90b3R5cGUucHJvcGVydHlJc0VudW1lcmFibGUubGVuZ3RoIHByb3BlcnR5IGhhcyB0aGUgYXR0cmlidXRlcyBEb250RW51bScpOwp9CgovLyBDSEVDSyMyCmZvciAocCBpbiBPYmplY3QucHJvdG90eXBlLnByb3BlcnR5SXNFbnVtZXJhYmxlKXsKICBpZiAocD09PSJsZW5ndGgiKQogICAgICAgICRFUlJPUignIzI6IHRoZSBPYmplY3QucHJvdG90eXBlLnByb3BlcnR5SXNFbnVtZXJhYmxlLmxlbmd0aCBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZXMgRG9udEVudW0nKTsKfQovLwoK","commentary":"The Object.prototype.propertyIsEnumerable.length property has the attribute DontEnum","description":"Checking if enumerating the Object.prototype.propertyIsEnumerable.length property fails","path":"TestCases/ch15/15.2/15.2.4/15.2.4.7/S15.2.4.7_A8.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgT2JqZWN0LnByb3RvdHlwZS5wcm9wZXJ0eUlzRW51bWVyYWJsZS5sZW5ndGggcHJvcGVydHkgaGFzIHRoZSBhdHRyaWJ1dGUgRG9udERlbGV0ZQogKgogKiBAcGF0aCBjaDE1LzE1LjIvMTUuMi40LzE1LjIuNC43L1MxNS4yLjQuN19BOS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgaWYgZGVsZXRpbmcgdGhlIE9iamVjdC5wcm90b3R5cGUucHJvcGVydHlJc0VudW1lcmFibGUubGVuZ3RoIHByb3BlcnR5IGZhaWxzCiAqLwoKLy9DSEVDSyMwCmlmICghKE9iamVjdC5wcm90b3R5cGUucHJvcGVydHlJc0VudW1lcmFibGUuaGFzT3duUHJvcGVydHkoJ2xlbmd0aCcpKSkgewogICRGQUlMKCcjMDogdGhlIE9iamVjdC5wcm90b3R5cGUucHJvcGVydHlJc0VudW1lcmFibGUgaGFzIGxlbmd0aCBwcm9wZXJ0eScpOwp9CgovL0NIRUNLIzEKaWYgKGRlbGV0ZSBPYmplY3QucHJvdG90eXBlLnByb3BlcnR5SXNFbnVtZXJhYmxlLmxlbmd0aCkgewogICRFUlJPUignIzE6IFRoZSBPYmplY3QucHJvdG90eXBlLnByb3BlcnR5SXNFbnVtZXJhYmxlLmxlbmd0aCBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZXMgRG9udERlbGV0ZScpOwp9Ci8vCgo=","commentary":"The Object.prototype.propertyIsEnumerable.length property has the attribute DontDelete","description":"Checking if deleting the Object.prototype.propertyIsEnumerable.length property fails","path":"TestCases/ch15/15.2/15.2.4/15.2.4.7/S15.2.4.7_A9.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgZnVuY3Rpb24gY2FsbCBGdW5jdGlvbijigKYpIGlzIGVxdWl2YWxlbnQgdG8gdGhlIG9iamVjdCBjcmVhdGlvbiBleHByZXNzaW9uCiAqIG5ldyBGdW5jdGlvbijigKYpIHdpdGggdGhlIHNhbWUgYXJndW1lbnRzLgogKgogKiBAcGF0aCBjaDE1LzE1LjMvUzE1LjMuMV9BMV9UMS5qcwogKiBAZGVzY3JpcHRpb24gQ3JlYXRlIHNpbXBsZSBmdW5jdGlvbnMgYW5kIGNoZWNrIHJldHVybmVkIHZhbHVlcwogKi8KCnZhciBmID0gRnVuY3Rpb24oInJldHVybiBhcmd1bWVudHNbMF07Iik7CgovL0NIRUNLIzEKaWYgKCEoZiBpbnN0YW5jZW9mIEZ1bmN0aW9uKSl7CiAgJEVSUk9SKCcjMTogZiBpbnN0YW5jZW9mIEZ1bmN0aW9uJyk7Cn0KCi8vQ0hFQ0sjMgppZiAoZigxKSAhPT0gMSkgewogICRFUlJPUignIzI6IGYoMSkgIT09IDEnKTsKfQoKdmFyIGcgPSBuZXcgRnVuY3Rpb24oInJldHVybiBhcmd1bWVudHNbMF07Iik7CgoKLy9DSEVDSyMzCmlmICghKGcgaW5zdGFuY2VvZiBGdW5jdGlvbikpIHsKICAkRVJST1IoJyMzOiBnIGluc3RhbmNlb2YgRnVuY3Rpb24nKTsKfQoKLy9DSEVDSyM0CmlmIChnKCJBIikgIT09ICJBIikgewogICRFUlJPUignIzQ6IGcoIkEiKSAhPT0gIkEiJyk7Cn0KCi8vQ0hFQ0sjNQppZiAoZygiQSIpICE9PSBmKCJBIikpIHsKICAkRVJST1IoJyM1OiBnKCJBIikgIT09IGYoIkEiKScpOwp9Cgo=","commentary":"The function call Function(\u2026) is equivalent to the object creation expression\nnew Function(\u2026) with the same arguments.","description":"Create simple functions and check returned values","path":"TestCases/ch15/15.3/S15.3.1_A1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBGdW5jdGlvbiBpcyB0aGUgcHJvcGVydHkgb2YgZ2xvYmFsCiAqCiAqIEBwYXRoIGNoMTUvMTUuMy9TMTUuM19BMS5qcwogKiBAZGVzY3JpcHRpb24gQ29tcGFyZSBGdW5jdGlvbiB3aXRoIHRoaXMuRnVuY3Rpb24KICovCgp2YXIgb2JqID0gRnVuY3Rpb247Cgp2YXIgdGhpc29iaiA9IHRoaXMuRnVuY3Rpb247CgppZiAob2JqICE9PSB0aGlzb2JqKSB7CiAgJEVSUk9SKCdGdW5jdGlvbiBpcyB0aGUgcHJvcGVydHkgb2YgZ2xvYmFsJyk7Cn0KCg==","commentary":"Function is the property of global","description":"Compare Function with this.Function","path":"TestCases/ch15/15.3/S15.3_A1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTaW5jZSBhcHBseWluZyB0aGUgImNhbGwiIG1ldGhvZCB0byBGdW5jdGlvbiBjb25zdHJ1Y3RvciB0aGVtc2VsZiBsZWFkcyB0byBjcmVhdGluZyBhIG5ldyBmdW5jdGlvbiBpbnN0YW5jZSwgdGhlIHNlY29uZCBhcmd1bWVudCBtdXN0IGJlIGEgdmFsaWQgZnVuY3Rpb24gYm9keQogKgogKiBAcGF0aCBjaDE1LzE1LjMvUzE1LjNfQTJfVDEuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIGV4ZWN1dGluZyAiRnVuY3Rpb24uY2FsbCh0aGlzLCAidmFyIHggLyA9IDE7IikiIGZhaWxzCiAqLwoKLy9DSEVDSyMKdHJ5ewogIEZ1bmN0aW9uLmNhbGwodGhpcywgInZhciB4IC8gPSAxOyIpOwp9IGNhdGNoKGUpewogIGlmICghKGUgaW5zdGFuY2VvZiBTeW50YXhFcnJvcikpIHsKICAJJEVSUk9SKCcjMTogZnVuY3Rpb24gYm9keSBtdXN0IGJlIHZhbGlkJyk7CiAgfQp9ICAgIAoKCg==","commentary":"Since applying the \"call\" method to Function constructor themself leads to creating a new function instance, the second argument must be a valid function body","description":"Checking if executing \"Function.call(this, \"var x / = 1;\")\" fails","path":"TestCases/ch15/15.3/S15.3_A2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTaW5jZSBhcHBseWluZyB0aGUgImNhbGwiIG1ldGhvZCB0byBGdW5jdGlvbiBjb25zdHJ1Y3RvciB0aGVtc2VsZiBsZWFkcyB0byBjcmVhdGluZyBhIG5ldyBmdW5jdGlvbiBpbnN0YW5jZSwgdGhlIHNlY29uZCBhcmd1bWVudCBtdXN0IGJlIGEgdmFsaWQgZnVuY3Rpb24gYm9keQogKgogKiBAcGF0aCBjaDE1LzE1LjMvUzE1LjNfQTJfVDIuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIGV4ZWN1dGluZyAiRnVuY3Rpb24uY2FsbCh0aGlzLCAidmFyICN4ICA9IDE7IikiIGZhaWxzCiAqLwoKLy9DSEVDSyMKdHJ5ewogIEZ1bmN0aW9uLmNhbGwodGhpcywgInZhciAjeCAgPSAxOyIpOwp9IGNhdGNoKGUpewogIGlmICghKGUgaW5zdGFuY2VvZiBTeW50YXhFcnJvcikpIHsKICAJJEVSUk9SKCcjMTogZnVuY3Rpb24gYm9keSBtdXN0IGJlIHZhbGlkJyk7CiAgfQp9ICAgIAoKCg==","commentary":"Since applying the \"call\" method to Function constructor themself leads to creating a new function instance, the second argument must be a valid function body","description":"Checking if executing \"Function.call(this, \"var #x = 1;\")\" fails","path":"TestCases/ch15/15.3/S15.3_A2_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTaW5jZSB3aGVuIGNhbGwgaXMgdXNlZCBmb3IgRnVuY3Rpb24gY29uc3RydWN0b3IgdGhlbXNlbGYgbmV3IGZ1bmN0aW9uIGluc3RhbmNlIGNyZWF0ZXMKICogYW5kIHRoZW4gZmlyc3QgYXJndW1lbnQodGhpc0FyZykgc2hvdWxkIGJlIGlnbm9yZWQKICoKICogQHBhdGggY2gxNS8xNS4zL1MxNS4zX0EzX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBGaXJzdCBhcmd1bWVudCBpcyBvYmplY3QKICovCgovL0NIRUNLIzEgLSBkb2VzIG5vdCB0aHJvdwp2YXIgZiA9IEZ1bmN0aW9uLmNhbGwobWFycywgInJldHVybiBuYW1lOyIpOwp2YXIgbWFycz17bmFtZToibWFycyIsIGNvbG9yOiJyZWQiLCBudW1iZXI6NH07Cgp2YXIgZiA9IEZ1bmN0aW9uLmNhbGwobWFycywgInRoaXMuZ29kbmFtZT1cImFyZXNcIjsgcmV0dXJuIHRoaXMuY29sb3I7Iik7Cgp2YXIgYWJvdXRfbWFycyA9IGYoKTsKCi8vQ0hFQ0sjMgppZiAoYWJvdXRfbWFycyAhPT0gdW5kZWZpbmVkKSB7CiAgJEVSUk9SKCcjMjogV2hlbiBhcHBsaWVkIHRvIHRoZSBGdW5jdGlvbiBvYmplY3QgaXRzZWxmLCB0aGlzQXJnIHNob3VsZCBiZSBpZ25vcmVkJyk7Cn0KCi8vQ0hFQ0sjMwppZiAodGhpcy5nb2RuYW1lICE9PSAiYXJlcyIgJiYgbWFycy5nb2RuYW1lPT09dW5kZWZpbmVkKSB7CiAgJEVSUk9SKCcjMzogV2hlbiBhcHBsaWVkIHRvIHRoZSBGdW5jdGlvbiBvYmplY3QgaXRzZWxmLCB0aGlzQXJnIHNob3VsZCBiZSBpZ25vcmVkJyk7Cn0KCg==","commentary":"Since when call is used for Function constructor themself new function instance creates\nand then first argument(thisArg) should be ignored","description":"First argument is object","path":"TestCases/ch15/15.3/S15.3_A3_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTaW5jZSB3aGVuIGNhbGwgaXMgdXNlZCBmb3IgRnVuY3Rpb24gY29uc3RydWN0b3IgdGhlbXNlbGYgbmV3IGZ1bmN0aW9uIGluc3RhbmNlIGNyZWF0ZXMKICogYW5kIHRoZW4gZmlyc3QgYXJndW1lbnQodGhpc0FyZykgc2hvdWxkIGJlIGlnbm9yZWQKICoKICogQHBhdGggY2gxNS8xNS4zL1MxNS4zX0EzX1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBGaXJzdCBhcmd1bWVudCBpcyBzdHJpbmcgYW5kIG51bGwKICovCgp0aGlzLmNvbG9yPSJyZWQiOwp2YXIgbmFtZT0ibWFycyI7Cgp2YXIgZiA9IEZ1bmN0aW9uLmNhbGwoImJsYWJsYXN0cmluZyIsICJyZXR1cm4gdGhpcy5jb2xvcjsiKTsKCi8vQ0hFQ0sjMQppZiAoZigpICE9PSAicmVkIikgewogICRFUlJPUignIzE6ICcpOwp9Cgp2YXIgZyA9IEZ1bmN0aW9uLmNhbGwobnVsbCwgInJldHVybiB0aGlzLm5hbWU7Iik7CgovL0NIRUNLIzIKaWYgKGcoKSAhPT0gIm1hcnMiKSB7CiAgJEVSUk9SKCcjMjogJyk7Cn0KCgo=","commentary":"Since when call is used for Function constructor themself new function instance creates\nand then first argument(thisArg) should be ignored","description":"First argument is string and null","path":"TestCases/ch15/15.3/S15.3_A3_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTaW5jZSB3aGVuIGNhbGwgaXMgdXNlZCBmb3IgRnVuY3Rpb24gY29uc3RydWN0b3IgdGhlbXNlbGYgbmV3IGZ1bmN0aW9uIGluc3RhbmNlIGNyZWF0ZXMKICogYW5kIHRoZW4gZmlyc3QgYXJndW1lbnQodGhpc0FyZykgc2hvdWxkIGJlIGlnbm9yZWQKICoKICogQHBhdGggY2gxNS8xNS4zL1MxNS4zX0EzX1QzLmpzCiAqIEBkZXNjcmlwdGlvbiBGaXJzdCBhcmd1bWVudCBpcyB0aGlzLCBhbmQgdGhpcyBkb25gdCBoYXZlIG5lZWRlZCB2YXJpYWJsZQogKi8KCnZhciBmPUZ1bmN0aW9uLmNhbGwodGhpcywgInJldHVybiBwbGFuZXQ7Iik7CnZhciBnPUZ1bmN0aW9uLmNhbGwodGhpcywgInJldHVybiBjb2xvcjsiKTsKCi8vQ0hFQ0sjMQppZiAoZigpIT09dW5kZWZpbmVkKSB7CiAgJEVSUk9SKCcjMTogJyk7Cn0KCnZhciBwbGFuZXQ9Im1hcnMiOwoKLy9DSEVDSyMyCmlmIChmKCkgIT09ICJtYXJzIikgewogICRFUlJPUignIzI6ICcpOwp9CgovL0NIRUNLIzMKdHJ5ewogIGcoKTsKICAkRVJST1IoJyMzOiAnKTsKfSBjYXRjaChlKXsKICBpZiAoIShlIGluc3RhbmNlb2YgUmVmZXJlbmNlRXJyb3IpKQogIAkkRVJST1IoJyMzLjE6ICcpOwp9ICAgCgp0aGlzLmNvbG9yPSJyZWQiOwoKLy9DSEVDSyM0CmlmIChnKCkgIT09ICJyZWQiKSB7CiAgJEVSUk9SKCcjNDogJyk7Cn0KCg==","commentary":"Since when call is used for Function constructor themself new function instance creates\nand then first argument(thisArg) should be ignored","description":"First argument is this, and this don`t have needed variable","path":"TestCases/ch15/15.3/S15.3_A3_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTaW5jZSB3aGVuIGNhbGwgaXMgdXNlZCBmb3IgRnVuY3Rpb24gY29uc3RydWN0b3IgdGhlbXNlbGYgbmV3IGZ1bmN0aW9uIGluc3RhbmNlIGNyZWF0ZXMKICogYW5kIHRoZW4gZmlyc3QgYXJndW1lbnQodGhpc0FyZykgc2hvdWxkIGJlIGlnbm9yZWQKICoKICogQHBhdGggY2gxNS8xNS4zL1MxNS4zX0EzX1Q0LmpzCiAqIEBkZXNjcmlwdGlvbiBGaXJzdCBhcmd1bWVudCBpcyB0aGlzLCBhbmQgdGhpcyBoYXZlIG5lZWRlZCB2YXJpYWJsZQogKi8KCnZhciBmPUZ1bmN0aW9uLmNhbGwodGhpcywgInJldHVybiBwbGFuZXQ7Iik7CgovL0NIRUNLIzEKaWYgKGYoKSAhPT0gdW5kZWZpbmVkKSB7CiAgJEVSUk9SKCcjMTogJyk7Cn0gIAoKdmFyIHBsYW5ldD0ibWFycyI7CgovL0NIRUNLIzIKaWYgKGYoKSAhPT0gIm1hcnMiKSB7CiAgJEVSUk9SKCcjMjogJyk7Cn0KCg==","commentary":"Since when call is used for Function constructor themself new function instance creates\nand then first argument(thisArg) should be ignored","description":"First argument is this, and this have needed variable","path":"TestCases/ch15/15.3/S15.3_A3_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTaW5jZSB3aGVuIGNhbGwgaXMgdXNlZCBmb3IgRnVuY3Rpb24gY29uc3RydWN0b3IgdGhlbXNlbGYgbmV3IGZ1bmN0aW9uIGluc3RhbmNlIGNyZWF0ZXMKICogYW5kIHRoZW4gZmlyc3QgYXJndW1lbnQodGhpc0FyZykgc2hvdWxkIGJlIGlnbm9yZWQKICoKICogQHBhdGggY2gxNS8xNS4zL1MxNS4zX0EzX1Q1LmpzCiAqIEBkZXNjcmlwdGlvbiBGaXJzdCBhcmd1bWVudCBpcyB0aGlzLCBhbmQgdGhpcyBkb25gdCBoYXZlIG5lZWRlZCB2YXJpYWJsZS4gRnVuY3Rpb24gcmV0dXJuIHRoaXMudmFyX25hbWUKICovCgp2YXIgZj1GdW5jdGlvbi5jYWxsKHRoaXMsICJyZXR1cm4gdGhpcy5wbGFuZXQ7Iik7CnZhciBnPUZ1bmN0aW9uLmNhbGwodGhpcywgInJldHVybiB0aGlzLmNvbG9yOyIpOwoKLy9DSEVDSyMxCmlmIChmKCkgIT09IHVuZGVmaW5lZCkgewogICRFUlJPUignIzI6ICcpOwp9Cgp2YXIgcGxhbmV0PSJtYXJzIjsKCi8vQ0hFQ0sjMgppZiAoZigpICE9PSAibWFycyIpIHsKICAkRVJST1IoJyMyOiAnKTsKfQoKLy9DSEVDSyMzCmlmIChnKCkgIT09IHVuZGVmaW5lZCkgewogICRFUlJPUignIzM6ICcpOwp9ICAgCgp0aGlzLmNvbG9yPSJyZWQiOwoKLy9DSEVDSyM0CmlmIChnKCkgIT09ICJyZWQiKSB7CiAgJEVSUk9SKCcjNDogJyk7Cn0KCg==","commentary":"Since when call is used for Function constructor themself new function instance creates\nand then first argument(thisArg) should be ignored","description":"First argument is this, and this don`t have needed variable. Function return this.var_name","path":"TestCases/ch15/15.3/S15.3_A3_T5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTaW5jZSB3aGVuIGNhbGwgaXMgdXNlZCBmb3IgRnVuY3Rpb24gY29uc3RydWN0b3IgdGhlbXNlbGYgbmV3IGZ1bmN0aW9uIGluc3RhbmNlIGNyZWF0ZXMKICogYW5kIHRoZW4gZmlyc3QgYXJndW1lbnQodGhpc0FyZykgc2hvdWxkIGJlIGlnbm9yZWQKICoKICogQHBhdGggY2gxNS8xNS4zL1MxNS4zX0EzX1Q2LmpzCiAqIEBkZXNjcmlwdGlvbiBGaXJzdCBhcmd1bWVudCBpcyB0aGlzLCBhbmQgdGhpcyBoYXZlIG5lZWRlZCB2YXJpYWJsZS4gRnVuY3Rpb24gcmV0dXJuIHRoaXMudmFyX25hbWUKICovCgp2YXIgZj1GdW5jdGlvbi5jYWxsKHRoaXMsICJyZXR1cm4gdGhpcy5wbGFuZXQ7Iik7CgovL0NIRUNLIzEKaWYgKGYoKSAhPT0gdW5kZWZpbmVkKSB7CiAgJEVSUk9SKCcjMTogJyk7Cn0gIAoKdmFyIHBsYW5ldD0ibWFycyI7CgovL0NIRUNLIzIKaWYgKGYoKSAhPT0gIm1hcnMiKSB7CiAgJEVSUk9SKCcjMjogJyk7Cn0KCg==","commentary":"Since when call is used for Function constructor themself new function instance creates\nand then first argument(thisArg) should be ignored","description":"First argument is this, and this have needed variable. Function return this.var_name","path":"TestCases/ch15/15.3/S15.3_A3_T6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuIHRoZSBGdW5jdGlvbiBjb25zdHJ1Y3RvciBpcyBjYWxsZWQgd2l0aCBvbmUgYXJndW1lbnQgdGhlbiBib2R5IGJlIHRoYXQgYXJndW1lbnQgYW5kIHRoZSBmb2xsb3dpbmcgc3RlcHMgYXJlIHRha2VuOgogKiBpKSBDYWxsIFRvU3RyaW5nKGJvZHkpCiAqIGlpKSBJZiBQIGlzIG5vdCBwYXJzYWJsZSBhcyBhIEZvcm1hbFBhcmFtZXRlckxpc3RvcHQgdGhlbiB0aHJvdyBhIFN5bnRheEVycm9yIGV4Y2VwdGlvbgogKiBpaWkpIElmIGJvZHkgaXMgbm90IHBhcnNhYmxlIGFzIEZ1bmN0aW9uQm9keSB0aGVuIHRocm93IGEgU3ludGF4RXJyb3IgZXhjZXB0aW9uCiAqIGl2KSBDcmVhdGUgYSBuZXcgRnVuY3Rpb24gb2JqZWN0IGFzIHNwZWNpZmllZCBpbiAxMy4yIHdpdGggcGFyYW1ldGVycyBzcGVjaWZpZWQgYnkgcGFyc2luZyBQIGFzIGEgRm9ybWFsUGFyYW1ldGVyTGlzdG9wdCBhbmQgYm9keSBzcGVjaWZpZWQgYnkgcGFyc2luZyBib2R5IGFzIGEgRnVuY3Rpb25Cb2R5LgogKiBQYXNzIGluIGEgc2NvcGUgY2hhaW4gY29uc2lzdGluZyBvZiB0aGUgZ2xvYmFsIG9iamVjdCBhcyB0aGUgU2NvcGUgcGFyYW1ldGVyCiAqIHYpIFJldHVybiBSZXN1bHQoaXYpCiAqCiAqIEBwYXRoIGNoMTUvMTUuMy8xNS4zLjIvUzE1LjMuMi4xX0ExX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBUaGUgYm9keSBvZiB0aGUgZnVuY3Rpb24gaXMgInt0b1N0cmluZzpmdW5jdGlvbigpe3Rocm93IDc7fX0iCiAqLwoKdmFyIGJvZHkgPSB7dG9TdHJpbmc6ZnVuY3Rpb24oKXt0aHJvdyA3O319CgovL0NIRUNLIzEKdHJ5IHsKICB2YXIgZiA9IG5ldyBGdW5jdGlvbihib2R5KTsKICAkRkFJTCgnIzE6IFdoZW4gdGhlIEZ1bmN0aW9uIGNvbnN0cnVjdG9yIGlzIGNhbGxlZCB3aXRoIG9uZSBhcmd1bWVudCB0aGVuIGJvZHkgYmUgdGhhdCBhcmd1bWVudCB0aGUgZm9sbG93aW5nIHN0ZXAgYXJlIHRha2VuOiBjYWxsIFRvU3RyaW5nKGJvZHkpJyk7Cn0gY2F0Y2ggKGUpIHsKICBpZiAoZSAhPT0gNykgewogIAkkRVJST1IoJyMxLjE6IFdoZW4gdGhlIEZ1bmN0aW9uIGNvbnN0cnVjdG9yIGlzIGNhbGxlZCB3aXRoIG9uZSBhcmd1bWVudCB0aGVuIGJvZHkgYmUgdGhhdCBhcmd1bWVudCB0aGUgZm9sbG93aW5nIHN0ZXAgYXJlIHRha2VuOiBjYWxsIFRvU3RyaW5nKGJvZHkpJyk7CiAgfQp9Cgo=","commentary":"When the Function constructor is called with one argument then body be that argument and the following steps are taken:\ni) Call ToString(body)\nii) If P is not parsable as a FormalParameterListopt then throw a SyntaxError exception\niii) If body is not parsable as FunctionBody then throw a SyntaxError exception\niv) Create a new Function object as specified in 13.2 with parameters specified by parsing P as a FormalParameterListopt and body specified by parsing body as a FunctionBody.\nPass in a scope chain consisting of the global object as the Scope parameter\nv) Return Result(iv)","description":"The body of the function is \"{toString:function(){throw 7;}}\"","path":"TestCases/ch15/15.3/15.3.2/S15.3.2.1_A1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuIHRoZSBGdW5jdGlvbiBjb25zdHJ1Y3RvciBpcyBjYWxsZWQgd2l0aCBvbmUgYXJndW1lbnQgdGhlbiBib2R5IGJlIHRoYXQgYXJndW1lbnQgYW5kIHRoZSBmb2xsb3dpbmcgc3RlcHMgYXJlIHRha2VuOgogKiBpKSBDYWxsIFRvU3RyaW5nKGJvZHkpCiAqIGlpKSBJZiBQIGlzIG5vdCBwYXJzYWJsZSBhcyBhIEZvcm1hbFBhcmFtZXRlckxpc3RvcHQgdGhlbiB0aHJvdyBhIFN5bnRheEVycm9yIGV4Y2VwdGlvbgogKiBpaWkpIElmIGJvZHkgaXMgbm90IHBhcnNhYmxlIGFzIEZ1bmN0aW9uQm9keSB0aGVuIHRocm93IGEgU3ludGF4RXJyb3IgZXhjZXB0aW9uCiAqIGl2KSBDcmVhdGUgYSBuZXcgRnVuY3Rpb24gb2JqZWN0IGFzIHNwZWNpZmllZCBpbiAxMy4yIHdpdGggcGFyYW1ldGVycyBzcGVjaWZpZWQgYnkgcGFyc2luZyBQIGFzIGEgRm9ybWFsUGFyYW1ldGVyTGlzdG9wdCBhbmQgYm9keSBzcGVjaWZpZWQgYnkgcGFyc2luZyBib2R5IGFzIGEgRnVuY3Rpb25Cb2R5LgogKiBQYXNzIGluIGEgc2NvcGUgY2hhaW4gY29uc2lzdGluZyBvZiB0aGUgZ2xvYmFsIG9iamVjdCBhcyB0aGUgU2NvcGUgcGFyYW1ldGVyCiAqIHYpIFJldHVybiBSZXN1bHQoaXYpCiAqCiAqIEBwYXRoIGNoMTUvMTUuMy8xNS4zLjIvUzE1LjMuMi4xX0ExX1QxMC5qcwogKiBAZGVzY3JpcHRpb24gVmFsdWUgb2YgdGhlIGZ1bmN0aW9uIGNvbnN0cnVjdG9yIGFyZ3VtZW50IGlzICJudWxsIgogKi8KCi8vQ0hFQ0sjMQp0cnkgewogIHZhciBmID0gbmV3IEZ1bmN0aW9uKG51bGwpOwp9IGNhdGNoIChlKSB7CiAgJEZBSUwoJyMxOiB0ZXN0IGZhaWxzIHdpdGggZXJyb3IgJytlKTsKfQoKLy9DSEVDSyMyCmlmIChmLmNvbnN0cnVjdG9yICE9PSBGdW5jdGlvbikgewogICRFUlJPUignIzI6IFdoZW4gdGhlIEZ1bmN0aW9uIGNvbnN0cnVjdG9yIGlzIGNhbGxlZCB3aXRoIG9uZSBhcmd1bWVudCB0aGVuIGJvZHkgYmUgdGhhdCBhcmd1bWVudCBhbmQgY3JlYXRlcyBhIG5ldyBGdW5jdGlvbiBvYmplY3QgYXMgc3BlY2lmaWVkIGluIDEzLjInKTsKfQoKLy9DSEVDSyMzCmlmIChmKCkgIT09IHVuZGVmaW5lZCkgewogICRFUlJPUignIzM6IFdoZW4gdGhlIEZ1bmN0aW9uIGNvbnN0cnVjdG9yIGlzIGNhbGxlZCB3aXRoIG9uZSBhcmd1bWVudCB0aGVuIGJvZHkgYmUgdGhhdCBhcmd1bWVudCB0aGUgZm9sbG93aW5nIHN0ZXBzIGFyZSB0YWtlbi4uLicpOwp9Cgo=","commentary":"When the Function constructor is called with one argument then body be that argument and the following steps are taken:\ni) Call ToString(body)\nii) If P is not parsable as a FormalParameterListopt then throw a SyntaxError exception\niii) If body is not parsable as FunctionBody then throw a SyntaxError exception\niv) Create a new Function object as specified in 13.2 with parameters specified by parsing P as a FormalParameterListopt and body specified by parsing body as a FunctionBody.\nPass in a scope chain consisting of the global object as the Scope parameter\nv) Return Result(iv)","description":"Value of the function constructor argument is \"null\"","path":"TestCases/ch15/15.3/15.3.2/S15.3.2.1_A1_T10.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuIHRoZSBGdW5jdGlvbiBjb25zdHJ1Y3RvciBpcyBjYWxsZWQgd2l0aCBvbmUgYXJndW1lbnQgdGhlbiBib2R5IGJlIHRoYXQgYXJndW1lbnQgYW5kIHRoZSBmb2xsb3dpbmcgc3RlcHMgYXJlIHRha2VuOgogKiBpKSBDYWxsIFRvU3RyaW5nKGJvZHkpCiAqIGlpKSBJZiBQIGlzIG5vdCBwYXJzYWJsZSBhcyBhIEZvcm1hbFBhcmFtZXRlckxpc3RvcHQgdGhlbiB0aHJvdyBhIFN5bnRheEVycm9yIGV4Y2VwdGlvbgogKiBpaWkpIElmIGJvZHkgaXMgbm90IHBhcnNhYmxlIGFzIEZ1bmN0aW9uQm9keSB0aGVuIHRocm93IGEgU3ludGF4RXJyb3IgZXhjZXB0aW9uCiAqIGl2KSBDcmVhdGUgYSBuZXcgRnVuY3Rpb24gb2JqZWN0IGFzIHNwZWNpZmllZCBpbiAxMy4yIHdpdGggcGFyYW1ldGVycyBzcGVjaWZpZWQgYnkgcGFyc2luZyBQIGFzIGEgRm9ybWFsUGFyYW1ldGVyTGlzdG9wdCBhbmQgYm9keSBzcGVjaWZpZWQgYnkgcGFyc2luZyBib2R5IGFzIGEgRnVuY3Rpb25Cb2R5LgogKiBQYXNzIGluIGEgc2NvcGUgY2hhaW4gY29uc2lzdGluZyBvZiB0aGUgZ2xvYmFsIG9iamVjdCBhcyB0aGUgU2NvcGUgcGFyYW1ldGVyCiAqIHYpIFJldHVybiBSZXN1bHQoaXYpCiAqCiAqIEBwYXRoIGNoMTUvMTUuMy8xNS4zLjIvUzE1LjMuMi4xX0ExX1QxMS5qcwogKiBAZGVzY3JpcHRpb24gVmFsdWUgb2YgdGhlIGZ1bmN0aW9uIGNvbnN0cnVjdG9yIGFyZ3VtZW50IGlzICJ1bmRlZmluZWQiCiAqLwoKLy9DSEVDSyMxCnRyeSB7CiAgdmFyIGYgPSBuZXcgRnVuY3Rpb24odW5kZWZpbmVkKTsKfSBjYXRjaCAoZSkgewogICRGQUlMKCcjMTogdGVzdCBmYWlsZWQgd2l0aCBlcnJvciAnK2UpOwp9CgovL0NIRUNLIzIKaWYgKGYuY29uc3RydWN0b3IgIT09IEZ1bmN0aW9uKSB7CiAgJEVSUk9SKCcjMjogV2hlbiB0aGUgRnVuY3Rpb24gY29uc3RydWN0b3IgaXMgY2FsbGVkIHdpdGggb25lIGFyZ3VtZW50IHRoZW4gYm9keSBiZSB0aGF0IGFyZ3VtZW50IGFuZCBjcmVhdGVzIGEgbmV3IEZ1bmN0aW9uIG9iamVjdCBhcyBzcGVjaWZpZWQgaW4gMTMuMicpOwp9CgovL0NIRUNLIzMKaWYgKGYoKSAhPT0gdW5kZWZpbmVkKSB7CiAgJEVSUk9SKCcjMzogV2hlbiB0aGUgRnVuY3Rpb24gY29uc3RydWN0b3IgaXMgY2FsbGVkIHdpdGggb25lIGFyZ3VtZW50IHRoZW4gYm9keSBiZSB0aGF0IGFyZ3VtZW50IHRoZSBmb2xsb3dpbmcgc3RlcHMgYXJlIHRha2VuLi4uJyk7Cn0KCg==","commentary":"When the Function constructor is called with one argument then body be that argument and the following steps are taken:\ni) Call ToString(body)\nii) If P is not parsable as a FormalParameterListopt then throw a SyntaxError exception\niii) If body is not parsable as FunctionBody then throw a SyntaxError exception\niv) Create a new Function object as specified in 13.2 with parameters specified by parsing P as a FormalParameterListopt and body specified by parsing body as a FunctionBody.\nPass in a scope chain consisting of the global object as the Scope parameter\nv) Return Result(iv)","description":"Value of the function constructor argument is \"undefined\"","path":"TestCases/ch15/15.3/15.3.2/S15.3.2.1_A1_T11.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuIHRoZSBGdW5jdGlvbiBjb25zdHJ1Y3RvciBpcyBjYWxsZWQgd2l0aCBvbmUgYXJndW1lbnQgdGhlbiBib2R5IGJlIHRoYXQgYXJndW1lbnQgYW5kIHRoZSBmb2xsb3dpbmcgc3RlcHMgYXJlIHRha2VuOgogKiBpKSBDYWxsIFRvU3RyaW5nKGJvZHkpCiAqIGlpKSBJZiBQIGlzIG5vdCBwYXJzYWJsZSBhcyBhIEZvcm1hbFBhcmFtZXRlckxpc3RvcHQgdGhlbiB0aHJvdyBhIFN5bnRheEVycm9yIGV4Y2VwdGlvbgogKiBpaWkpIElmIGJvZHkgaXMgbm90IHBhcnNhYmxlIGFzIEZ1bmN0aW9uQm9keSB0aGVuIHRocm93IGEgU3ludGF4RXJyb3IgZXhjZXB0aW9uCiAqIGl2KSBDcmVhdGUgYSBuZXcgRnVuY3Rpb24gb2JqZWN0IGFzIHNwZWNpZmllZCBpbiAxMy4yIHdpdGggcGFyYW1ldGVycyBzcGVjaWZpZWQgYnkgcGFyc2luZyBQIGFzIGEgRm9ybWFsUGFyYW1ldGVyTGlzdG9wdCBhbmQgYm9keSBzcGVjaWZpZWQgYnkgcGFyc2luZyBib2R5IGFzIGEgRnVuY3Rpb25Cb2R5LgogKiBQYXNzIGluIGEgc2NvcGUgY2hhaW4gY29uc2lzdGluZyBvZiB0aGUgZ2xvYmFsIG9iamVjdCBhcyB0aGUgU2NvcGUgcGFyYW1ldGVyCiAqIHYpIFJldHVybiBSZXN1bHQoaXYpCiAqCiAqIEBwYXRoIGNoMTUvMTUuMy8xNS4zLjIvUzE1LjMuMi4xX0ExX1QxMi5qcwogKiBAZGVzY3JpcHRpb24gVmFsdWUgb2YgdGhlIGZ1bmN0aW9uIGNvbnN0cnVjdG9yIGFyZ3VtZW50IGlzICJ2b2lkIDAiCiAqLwoKLy9DSEVDSyMxCnRyeSB7CiAgdmFyIGYgPSBuZXcgRnVuY3Rpb24odm9pZCAwKTsKfSBjYXRjaCAoZSkgewogICRGQUlMKCcjMTogdGVzdCBmYWlsZWQgd2l0aCBlcnJvciAnK2UpOwp9CgovL0NIRUNLIzIKaWYgKGYuY29uc3RydWN0b3IgIT09IEZ1bmN0aW9uKSB7CiAgJEVSUk9SKCcjMjogV2hlbiB0aGUgRnVuY3Rpb24gY29uc3RydWN0b3IgaXMgY2FsbGVkIHdpdGggb25lIGFyZ3VtZW50IHRoZW4gYm9keSBiZSB0aGF0IGFyZ3VtZW50IGFuZCBjcmVhdGVzIGEgbmV3IEZ1bmN0aW9uIG9iamVjdCBhcyBzcGVjaWZpZWQgaW4gMTMuMicpOwp9CgovL0NIRUNLIzMKaWYgKGYoKSE9PXVuZGVmaW5lZCkgewogICRFUlJPUignIzM6IFdoZW4gdGhlIEZ1bmN0aW9uIGNvbnN0cnVjdG9yIGlzIGNhbGxlZCB3aXRoIG9uZSBhcmd1bWVudCB0aGVuIGJvZHkgYmUgdGhhdCBhcmd1bWVudCB0aGUgZm9sbG93aW5nIHN0ZXBzIGFyZSB0YWtlbi4uLicpOwp9Cgo=","commentary":"When the Function constructor is called with one argument then body be that argument and the following steps are taken:\ni) Call ToString(body)\nii) If P is not parsable as a FormalParameterListopt then throw a SyntaxError exception\niii) If body is not parsable as FunctionBody then throw a SyntaxError exception\niv) Create a new Function object as specified in 13.2 with parameters specified by parsing P as a FormalParameterListopt and body specified by parsing body as a FunctionBody.\nPass in a scope chain consisting of the global object as the Scope parameter\nv) Return Result(iv)","description":"Value of the function constructor argument is \"void 0\"","path":"TestCases/ch15/15.3/15.3.2/S15.3.2.1_A1_T12.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuIHRoZSBGdW5jdGlvbiBjb25zdHJ1Y3RvciBpcyBjYWxsZWQgd2l0aCBvbmUgYXJndW1lbnQgdGhlbiBib2R5IGJlIHRoYXQgYXJndW1lbnQgYW5kIHRoZSBmb2xsb3dpbmcgc3RlcHMgYXJlIHRha2VuOgogKiBpKSBDYWxsIFRvU3RyaW5nKGJvZHkpCiAqIGlpKSBJZiBQIGlzIG5vdCBwYXJzYWJsZSBhcyBhIEZvcm1hbFBhcmFtZXRlckxpc3RvcHQgdGhlbiB0aHJvdyBhIFN5bnRheEVycm9yIGV4Y2VwdGlvbgogKiBpaWkpIElmIGJvZHkgaXMgbm90IHBhcnNhYmxlIGFzIEZ1bmN0aW9uQm9keSB0aGVuIHRocm93IGEgU3ludGF4RXJyb3IgZXhjZXB0aW9uCiAqIGl2KSBDcmVhdGUgYSBuZXcgRnVuY3Rpb24gb2JqZWN0IGFzIHNwZWNpZmllZCBpbiAxMy4yIHdpdGggcGFyYW1ldGVycyBzcGVjaWZpZWQgYnkgcGFyc2luZyBQIGFzIGEgRm9ybWFsUGFyYW1ldGVyTGlzdG9wdCBhbmQgYm9keSBzcGVjaWZpZWQgYnkgcGFyc2luZyBib2R5IGFzIGEgRnVuY3Rpb25Cb2R5LgogKiBQYXNzIGluIGEgc2NvcGUgY2hhaW4gY29uc2lzdGluZyBvZiB0aGUgZ2xvYmFsIG9iamVjdCBhcyB0aGUgU2NvcGUgcGFyYW1ldGVyCiAqIHYpIFJldHVybiBSZXN1bHQoaXYpCiAqCiAqIEBwYXRoIGNoMTUvMTUuMy8xNS4zLjIvUzE1LjMuMi4xX0ExX1QxMy5qcwogKiBAZGVzY3JpcHRpb24gVmFsdWUgb2YgdGhlIGZ1bmN0aW9uIGNvbnN0cnVjdG9yIGFyZ3VtZW50IGlzICJ7fSIKICovCgovL0NIRUNLIzEKdHJ5IHsKICB2YXIgZiA9IG5ldyBGdW5jdGlvbih7fSk7CiAgJEZBSUwoJyMxOiB0ZXN0IGZhaWxlZCB3aXRoIGVycm9yICcrZSk7Cn0gY2F0Y2ggKGUpIHsKICBpZiAoIShlIGluc3RhbmNlb2YgU3ludGF4RXJyb3IpKSB7CiAgCSRFUlJPUignIzEuMTogSWYgYm9keSBpcyBub3QgcGFyc2FibGUgYXMgRnVuY3Rpb25Cb2R5IHRoZW4gdGhyb3cgYSBTeW50YXhFcnJvciBleGNlcHRpb24nKTsKICB9Cn0KCg==","commentary":"When the Function constructor is called with one argument then body be that argument and the following steps are taken:\ni) Call ToString(body)\nii) If P is not parsable as a FormalParameterListopt then throw a SyntaxError exception\niii) If body is not parsable as FunctionBody then throw a SyntaxError exception\niv) Create a new Function object as specified in 13.2 with parameters specified by parsing P as a FormalParameterListopt and body specified by parsing body as a FunctionBody.\nPass in a scope chain consisting of the global object as the Scope parameter\nv) Return Result(iv)","description":"Value of the function constructor argument is \"{}\"","path":"TestCases/ch15/15.3/15.3.2/S15.3.2.1_A1_T13.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuIHRoZSBGdW5jdGlvbiBjb25zdHJ1Y3RvciBpcyBjYWxsZWQgd2l0aCBvbmUgYXJndW1lbnQgdGhlbiBib2R5IGJlIHRoYXQgYXJndW1lbnQgYW5kIHRoZSBmb2xsb3dpbmcgc3RlcHMgYXJlIHRha2VuOgogKiBpKSBDYWxsIFRvU3RyaW5nKGJvZHkpCiAqIGlpKSBJZiBQIGlzIG5vdCBwYXJzYWJsZSBhcyBhIEZvcm1hbFBhcmFtZXRlckxpc3RvcHQgdGhlbiB0aHJvdyBhIFN5bnRheEVycm9yIGV4Y2VwdGlvbgogKiBpaWkpIElmIGJvZHkgaXMgbm90IHBhcnNhYmxlIGFzIEZ1bmN0aW9uQm9keSB0aGVuIHRocm93IGEgU3ludGF4RXJyb3IgZXhjZXB0aW9uCiAqIGl2KSBDcmVhdGUgYSBuZXcgRnVuY3Rpb24gb2JqZWN0IGFzIHNwZWNpZmllZCBpbiAxMy4yIHdpdGggcGFyYW1ldGVycyBzcGVjaWZpZWQgYnkgcGFyc2luZyBQIGFzIGEgRm9ybWFsUGFyYW1ldGVyTGlzdG9wdCBhbmQgYm9keSBzcGVjaWZpZWQgYnkgcGFyc2luZyBib2R5IGFzIGEgRnVuY3Rpb25Cb2R5LgogKiBQYXNzIGluIGEgc2NvcGUgY2hhaW4gY29uc2lzdGluZyBvZiB0aGUgZ2xvYmFsIG9iamVjdCBhcyB0aGUgU2NvcGUgcGFyYW1ldGVyCiAqIHYpIFJldHVybiBSZXN1bHQoaXYpCiAqCiAqIEBwYXRoIGNoMTUvMTUuMy8xNS4zLjIvUzE1LjMuMi4xX0ExX1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBUaGUgYm9keSBvZiB0aGUgZnVuY3Rpb24gaXMgInt0b1N0cmluZzpmdW5jdGlvbigpe3JldHVybiAicmV0dXJuIDE7Ijt9fSIKICovCgp2YXIgYm9keT17dG9TdHJpbmc6ZnVuY3Rpb24oKXtyZXR1cm4gInJldHVybiAxOyI7fX07CgovL0NIRUNLIzEKdHJ5IHsKICB2YXIgZiA9IG5ldyBGdW5jdGlvbihib2R5KTsJCn0gY2F0Y2ggKGUpIHsKICAkRkFJTCgnIzE6IHRlc3QgZmFpbGVkIHdpdGggZXJyb3IgJytlKTsKfQoKLy9DSEVDSyMyCmlmIChmLmNvbnN0cnVjdG9yICE9PSBGdW5jdGlvbikgewogICRFUlJPUignIzI6IFdoZW4gdGhlIEZ1bmN0aW9uIGNvbnN0cnVjdG9yIGlzIGNhbGxlZCB3aXRoIG9uZSBhcmd1bWVudCB0aGVuIGJvZHkgYmUgdGhhdCBhcmd1bWVudCBhbmQgY3JlYXRlcyBhIG5ldyBGdW5jdGlvbiBvYmplY3QgYXMgc3BlY2lmaWVkIGluIDEzLjInKTsKfQoKLy9DSEVDSyMzCmlmIChmKCkhPT0xKSB7CiAgJEVSUk9SKCcjMzogaGVuIHRoZSBGdW5jdGlvbiBjb25zdHJ1Y3RvciBpcyBjYWxsZWQgd2l0aCBvbmUgYXJndW1lbnQgdGhlbiBib2R5IGJlIHRoYXQgYXJndW1lbnQgdGhlIGZvbGxvd2luZyBzdGVwcyBhcmUgdGFrZW4uLi4nKTsKfQoK","commentary":"When the Function constructor is called with one argument then body be that argument and the following steps are taken:\ni) Call ToString(body)\nii) If P is not parsable as a FormalParameterListopt then throw a SyntaxError exception\niii) If body is not parsable as FunctionBody then throw a SyntaxError exception\niv) Create a new Function object as specified in 13.2 with parameters specified by parsing P as a FormalParameterListopt and body specified by parsing body as a FunctionBody.\nPass in a scope chain consisting of the global object as the Scope parameter\nv) Return Result(iv)","description":"The body of the function is \"{toString:function(){return \"return 1;\";}}\"","path":"TestCases/ch15/15.3/15.3.2/S15.3.2.1_A1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuIHRoZSBGdW5jdGlvbiBjb25zdHJ1Y3RvciBpcyBjYWxsZWQgd2l0aCBvbmUgYXJndW1lbnQgdGhlbiBib2R5IGJlIHRoYXQgYXJndW1lbnQgYW5kIHRoZSBmb2xsb3dpbmcgc3RlcHMgYXJlIHRha2VuOgogKiBpKSBDYWxsIFRvU3RyaW5nKGJvZHkpCiAqIGlpKSBJZiBQIGlzIG5vdCBwYXJzYWJsZSBhcyBhIEZvcm1hbFBhcmFtZXRlckxpc3RvcHQgdGhlbiB0aHJvdyBhIFN5bnRheEVycm9yIGV4Y2VwdGlvbgogKiBpaWkpIElmIGJvZHkgaXMgbm90IHBhcnNhYmxlIGFzIEZ1bmN0aW9uQm9keSB0aGVuIHRocm93IGEgU3ludGF4RXJyb3IgZXhjZXB0aW9uCiAqIGl2KSBDcmVhdGUgYSBuZXcgRnVuY3Rpb24gb2JqZWN0IGFzIHNwZWNpZmllZCBpbiAxMy4yIHdpdGggcGFyYW1ldGVycyBzcGVjaWZpZWQgYnkgcGFyc2luZyBQIGFzIGEgRm9ybWFsUGFyYW1ldGVyTGlzdG9wdCBhbmQgYm9keSBzcGVjaWZpZWQgYnkgcGFyc2luZyBib2R5IGFzIGEgRnVuY3Rpb25Cb2R5LgogKiBQYXNzIGluIGEgc2NvcGUgY2hhaW4gY29uc2lzdGluZyBvZiB0aGUgZ2xvYmFsIG9iamVjdCBhcyB0aGUgU2NvcGUgcGFyYW1ldGVyCiAqIHYpIFJldHVybiBSZXN1bHQoaXYpCiAqCiAqIEBwYXRoIGNoMTUvMTUuMy8xNS4zLjIvUzE1LjMuMi4xX0ExX1QzLmpzCiAqIEBkZXNjcmlwdGlvbiBWYWx1ZSBvZiB0aGUgZnVuY3Rpb24gY29uc3RydWN0b3IgYXJndW1lbnQgaXMgMQogKi8KCi8vQ0hFQ0sjMQp0cnkgewogIHZhciBmID0gbmV3IEZ1bmN0aW9uKDEpOwp9IGNhdGNoIChlKSB7CiAgJEZBSUwoJyMxOiB0ZXN0IGZhaWxlZCB3aXRoIGVycm9yICcrZSk7Cn0KCi8vQ0hFQ0sjMgppZiAoZi5jb25zdHJ1Y3RvciAhPT0gRnVuY3Rpb24pIHsKICAkRVJST1IoJyMyOiBXaGVuIHRoZSBGdW5jdGlvbiBjb25zdHJ1Y3RvciBpcyBjYWxsZWQgd2l0aCBvbmUgYXJndW1lbnQgdGhlbiBib2R5IGJlIHRoYXQgYXJndW1lbnQgYW5kIGNyZWF0ZXMgYSBuZXcgRnVuY3Rpb24gb2JqZWN0IGFzIHNwZWNpZmllZCBpbiAxMy4yJyk7Cn0KCi8vQ0hFQ0sjMwppZiAoZigpIT09dW5kZWZpbmVkKSB7CiAgJEVSUk9SKCcjMzogV2hlbiB0aGUgRnVuY3Rpb24gY29uc3RydWN0b3IgaXMgY2FsbGVkIHdpdGggb25lIGFyZ3VtZW50IHRoZW4gYm9keSBiZSB0aGF0IGFyZ3VtZW50IHRoZSBmb2xsb3dpbmcgc3RlcHMgYXJlIHRha2VuLi4uJyk7Cn0KCg==","commentary":"When the Function constructor is called with one argument then body be that argument and the following steps are taken:\ni) Call ToString(body)\nii) If P is not parsable as a FormalParameterListopt then throw a SyntaxError exception\niii) If body is not parsable as FunctionBody then throw a SyntaxError exception\niv) Create a new Function object as specified in 13.2 with parameters specified by parsing P as a FormalParameterListopt and body specified by parsing body as a FunctionBody.\nPass in a scope chain consisting of the global object as the Scope parameter\nv) Return Result(iv)","description":"Value of the function constructor argument is 1","path":"TestCases/ch15/15.3/15.3.2/S15.3.2.1_A1_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuIHRoZSBGdW5jdGlvbiBjb25zdHJ1Y3RvciBpcyBjYWxsZWQgd2l0aCBvbmUgYXJndW1lbnQgdGhlbiBib2R5IGJlIHRoYXQgYXJndW1lbnQgYW5kIHRoZSBmb2xsb3dpbmcgc3RlcHMgYXJlIHRha2VuOgogKiBpKSBDYWxsIFRvU3RyaW5nKGJvZHkpCiAqIGlpKSBJZiBQIGlzIG5vdCBwYXJzYWJsZSBhcyBhIEZvcm1hbFBhcmFtZXRlckxpc3RvcHQgdGhlbiB0aHJvdyBhIFN5bnRheEVycm9yIGV4Y2VwdGlvbgogKiBpaWkpIElmIGJvZHkgaXMgbm90IHBhcnNhYmxlIGFzIEZ1bmN0aW9uQm9keSB0aGVuIHRocm93IGEgU3ludGF4RXJyb3IgZXhjZXB0aW9uCiAqIGl2KSBDcmVhdGUgYSBuZXcgRnVuY3Rpb24gb2JqZWN0IGFzIHNwZWNpZmllZCBpbiAxMy4yIHdpdGggcGFyYW1ldGVycyBzcGVjaWZpZWQgYnkgcGFyc2luZyBQIGFzIGEgRm9ybWFsUGFyYW1ldGVyTGlzdG9wdCBhbmQgYm9keSBzcGVjaWZpZWQgYnkgcGFyc2luZyBib2R5IGFzIGEgRnVuY3Rpb25Cb2R5LgogKiBQYXNzIGluIGEgc2NvcGUgY2hhaW4gY29uc2lzdGluZyBvZiB0aGUgZ2xvYmFsIG9iamVjdCBhcyB0aGUgU2NvcGUgcGFyYW1ldGVyCiAqIHYpIFJldHVybiBSZXN1bHQoaXYpCiAqCiAqIEBwYXRoIGNoMTUvMTUuMy8xNS4zLjIvUzE1LjMuMi4xX0ExX1Q0LmpzCiAqIEBkZXNjcmlwdGlvbiBWYWx1ZSBvZiB0aGUgZnVuY3Rpb24gY29uc3RydWN0b3IgYXJndW1lbnQgaXMgeCwgd2hlcmUgeCBpcyBzcGVjaWZpZWQgd2l0aCAidW5kZWZpbmVkIgogKi8KCi8vQ0hFQ0sjMQp0cnkgewogIHZhciBmID0gbmV3IEZ1bmN0aW9uKHgpOwp9IGNhdGNoIChlKSB7CiAgJEZBSUwoJyMxOiB0ZXN0IGZhaWxlZCB3aXRoIGVycm9yICcrZSk7Cn0KCi8vQ0hFQ0sjMgppZiAoZi5jb25zdHJ1Y3RvciAhPT0gRnVuY3Rpb24pIHsKICAkRVJST1IoJyMyOiBXaGVuIHRoZSBGdW5jdGlvbiBjb25zdHJ1Y3RvciBpcyBjYWxsZWQgd2l0aCBvbmUgYXJndW1lbnQgdGhlbiBib2R5IGJlIHRoYXQgYXJndW1lbnQgYW5kIGNyZWF0ZXMgYSBuZXcgRnVuY3Rpb24gb2JqZWN0IGFzIHNwZWNpZmllZCBpbiAxMy4yJyk7Cn0KCi8vQ0hFQ0sjMwppZiAoZigpIT09dW5kZWZpbmVkKSB7CiAgJEVSUk9SKCcjMzogV2hlbiB0aGUgRnVuY3Rpb24gY29uc3RydWN0b3IgaXMgY2FsbGVkIHdpdGggb25lIGFyZ3VtZW50IHRoZW4gYm9keSBiZSB0aGF0IGFyZ3VtZW50IHRoZSBmb2xsb3dpbmcgc3RlcHMgYXJlIHRha2VuLi4uJyk7Cn0KCnZhciB4OwoK","commentary":"When the Function constructor is called with one argument then body be that argument and the following steps are taken:\ni) Call ToString(body)\nii) If P is not parsable as a FormalParameterListopt then throw a SyntaxError exception\niii) If body is not parsable as FunctionBody then throw a SyntaxError exception\niv) Create a new Function object as specified in 13.2 with parameters specified by parsing P as a FormalParameterListopt and body specified by parsing body as a FunctionBody.\nPass in a scope chain consisting of the global object as the Scope parameter\nv) Return Result(iv)","description":"Value of the function constructor argument is x, where x is specified with \"undefined\"","path":"TestCases/ch15/15.3/15.3.2/S15.3.2.1_A1_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuIHRoZSBGdW5jdGlvbiBjb25zdHJ1Y3RvciBpcyBjYWxsZWQgd2l0aCBvbmUgYXJndW1lbnQgdGhlbiBib2R5IGJlIHRoYXQgYXJndW1lbnQgYW5kIHRoZSBmb2xsb3dpbmcgc3RlcHMgYXJlIHRha2VuOgogKiBpKSBDYWxsIFRvU3RyaW5nKGJvZHkpCiAqIGlpKSBJZiBQIGlzIG5vdCBwYXJzYWJsZSBhcyBhIEZvcm1hbFBhcmFtZXRlckxpc3RvcHQgdGhlbiB0aHJvdyBhIFN5bnRheEVycm9yIGV4Y2VwdGlvbgogKiBpaWkpIElmIGJvZHkgaXMgbm90IHBhcnNhYmxlIGFzIEZ1bmN0aW9uQm9keSB0aGVuIHRocm93IGEgU3ludGF4RXJyb3IgZXhjZXB0aW9uCiAqIGl2KSBDcmVhdGUgYSBuZXcgRnVuY3Rpb24gb2JqZWN0IGFzIHNwZWNpZmllZCBpbiAxMy4yIHdpdGggcGFyYW1ldGVycyBzcGVjaWZpZWQgYnkgcGFyc2luZyBQIGFzIGEgRm9ybWFsUGFyYW1ldGVyTGlzdG9wdCBhbmQgYm9keSBzcGVjaWZpZWQgYnkgcGFyc2luZyBib2R5IGFzIGEgRnVuY3Rpb25Cb2R5LgogKiBQYXNzIGluIGEgc2NvcGUgY2hhaW4gY29uc2lzdGluZyBvZiB0aGUgZ2xvYmFsIG9iamVjdCBhcyB0aGUgU2NvcGUgcGFyYW1ldGVyCiAqIHYpIFJldHVybiBSZXN1bHQoaXYpCiAqCiAqIEBwYXRoIGNoMTUvMTUuMy8xNS4zLjIvUzE1LjMuMi4xX0ExX1Q1LmpzCiAqIEBkZXNjcmlwdGlvbiBWYWx1ZSBvZiB0aGUgZnVuY3Rpb24gY29uc3RydWN0b3IgYXJndW1lbnQgaXMgIk9iamVjdCgicmV0dXJuIFwnQVwnIikiCiAqLwoKdmFyIGJvZHkgPSBPYmplY3QoInJldHVybiBcJ0FcJyIpOwoKLy9DSEVDSyMxCnRyeSB7CiAgdmFyIGYgPSBuZXcgRnVuY3Rpb24oYm9keSk7Cn0gY2F0Y2ggKGUpIHsKICAkRkFJTCgnIzE6IHRlc3QgZmFpbGVkIHdpdGggZXJyb3IgJytlKTsKfQoKLy9DSEVDSyMyCmlmIChmLmNvbnN0cnVjdG9yICE9PSBGdW5jdGlvbikgewogICRFUlJPUignIzI6IFdoZW4gdGhlIEZ1bmN0aW9uIGNvbnN0cnVjdG9yIGlzIGNhbGxlZCB3aXRoIG9uZSBhcmd1bWVudCB0aGVuIGJvZHkgYmUgdGhhdCBhcmd1bWVudCBhbmQgY3JlYXRlcyBhIG5ldyBGdW5jdGlvbiBvYmplY3QgYXMgc3BlY2lmaWVkIGluIDEzLjInKTsKfQoKLy9DSEVDSyMzCmlmIChmKCkhPT0iXHUwMDQxIikgewogICRFUlJPUignIzM6IFdoZW4gdGhlIEZ1bmN0aW9uIGNvbnN0cnVjdG9yIGlzIGNhbGxlZCB3aXRoIG9uZSBhcmd1bWVudCB0aGVuIGJvZHkgYmUgdGhhdCBhcmd1bWVudCB0aGUgZm9sbG93aW5nIHN0ZXBzIGFyZSB0YWtlbi4uLicpOwp9Cgo=","commentary":"When the Function constructor is called with one argument then body be that argument and the following steps are taken:\ni) Call ToString(body)\nii) If P is not parsable as a FormalParameterListopt then throw a SyntaxError exception\niii) If body is not parsable as FunctionBody then throw a SyntaxError exception\niv) Create a new Function object as specified in 13.2 with parameters specified by parsing P as a FormalParameterListopt and body specified by parsing body as a FunctionBody.\nPass in a scope chain consisting of the global object as the Scope parameter\nv) Return Result(iv)","description":"Value of the function constructor argument is \"Object(\"return \\'A\\'\")\"","path":"TestCases/ch15/15.3/15.3.2/S15.3.2.1_A1_T5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuIHRoZSBGdW5jdGlvbiBjb25zdHJ1Y3RvciBpcyBjYWxsZWQgd2l0aCBvbmUgYXJndW1lbnQgdGhlbiBib2R5IGJlIHRoYXQgYXJndW1lbnQgYW5kIHRoZSBmb2xsb3dpbmcgc3RlcHMgYXJlIHRha2VuOgogKiBpKSBDYWxsIFRvU3RyaW5nKGJvZHkpCiAqIGlpKSBJZiBQIGlzIG5vdCBwYXJzYWJsZSBhcyBhIEZvcm1hbFBhcmFtZXRlckxpc3RvcHQgdGhlbiB0aHJvdyBhIFN5bnRheEVycm9yIGV4Y2VwdGlvbgogKiBpaWkpIElmIGJvZHkgaXMgbm90IHBhcnNhYmxlIGFzIEZ1bmN0aW9uQm9keSB0aGVuIHRocm93IGEgU3ludGF4RXJyb3IgZXhjZXB0aW9uCiAqIGl2KSBDcmVhdGUgYSBuZXcgRnVuY3Rpb24gb2JqZWN0IGFzIHNwZWNpZmllZCBpbiAxMy4yIHdpdGggcGFyYW1ldGVycyBzcGVjaWZpZWQgYnkgcGFyc2luZyBQIGFzIGEgRm9ybWFsUGFyYW1ldGVyTGlzdG9wdCBhbmQgYm9keSBzcGVjaWZpZWQgYnkgcGFyc2luZyBib2R5IGFzIGEgRnVuY3Rpb25Cb2R5LgogKiBQYXNzIGluIGEgc2NvcGUgY2hhaW4gY29uc2lzdGluZyBvZiB0aGUgZ2xvYmFsIG9iamVjdCBhcyB0aGUgU2NvcGUgcGFyYW1ldGVyCiAqIHYpIFJldHVybiBSZXN1bHQoaXYpCiAqCiAqIEBwYXRoIGNoMTUvMTUuMy8xNS4zLjIvUzE1LjMuMi4xX0ExX1Q2LmpzCiAqIEBkZXNjcmlwdGlvbiBWYWx1ZSBvZiB0aGUgZnVuY3Rpb24gY29uc3RydWN0b3IgYXJndW1lbnQgaXMgdGhlIHN0cmluZyAicmV0dXJuIHRydWU7IgogKi8KCi8vQ0hFQ0sjMQp0cnkgewogIHZhciBmID0gbmV3IEZ1bmN0aW9uKCJyZXR1cm4gdHJ1ZTsiKTsKfSBjYXRjaCAoZSkgewogICRGQUlMKCcjMTogdGVzdCBmYWlsZWQgd2l0aCBlcnJvciAnK2UpOwp9CgovL0NIRUNLIzIKaWYgKGYuY29uc3RydWN0b3IgIT09IEZ1bmN0aW9uKSB7CiAgJEVSUk9SKCcjMjogV2hlbiB0aGUgRnVuY3Rpb24gY29uc3RydWN0b3IgaXMgY2FsbGVkIHdpdGggb25lIGFyZ3VtZW50IHRoZW4gYm9keSBiZSB0aGF0IGFyZ3VtZW50IGFuZCBjcmVhdGVzIGEgbmV3IEZ1bmN0aW9uIG9iamVjdCBhcyBzcGVjaWZpZWQgaW4gMTMuMicpOwp9CgovL0NIRUNLIzMKaWYgKCEoZigpKSkgewogICRFUlJPUignIzM6IFdoZW4gdGhlIEZ1bmN0aW9uIGNvbnN0cnVjdG9yIGlzIGNhbGxlZCB3aXRoIG9uZSBhcmd1bWVudCB0aGVuIGJvZHkgYmUgdGhhdCBhcmd1bWVudCB0aGUgZm9sbG93aW5nIHN0ZXBzIGFyZSB0YWtlbi4uLicpOwp9Cgo=","commentary":"When the Function constructor is called with one argument then body be that argument and the following steps are taken:\ni) Call ToString(body)\nii) If P is not parsable as a FormalParameterListopt then throw a SyntaxError exception\niii) If body is not parsable as FunctionBody then throw a SyntaxError exception\niv) Create a new Function object as specified in 13.2 with parameters specified by parsing P as a FormalParameterListopt and body specified by parsing body as a FunctionBody.\nPass in a scope chain consisting of the global object as the Scope parameter\nv) Return Result(iv)","description":"Value of the function constructor argument is the string \"return true;\"","path":"TestCases/ch15/15.3/15.3.2/S15.3.2.1_A1_T6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuIHRoZSBGdW5jdGlvbiBjb25zdHJ1Y3RvciBpcyBjYWxsZWQgd2l0aCBvbmUgYXJndW1lbnQgdGhlbiBib2R5IGJlIHRoYXQgYXJndW1lbnQgYW5kIHRoZSBmb2xsb3dpbmcgc3RlcHMgYXJlIHRha2VuOgogKiBpKSBDYWxsIFRvU3RyaW5nKGJvZHkpCiAqIGlpKSBJZiBQIGlzIG5vdCBwYXJzYWJsZSBhcyBhIEZvcm1hbFBhcmFtZXRlckxpc3RvcHQgdGhlbiB0aHJvdyBhIFN5bnRheEVycm9yIGV4Y2VwdGlvbgogKiBpaWkpIElmIGJvZHkgaXMgbm90IHBhcnNhYmxlIGFzIEZ1bmN0aW9uQm9keSB0aGVuIHRocm93IGEgU3ludGF4RXJyb3IgZXhjZXB0aW9uCiAqIGl2KSBDcmVhdGUgYSBuZXcgRnVuY3Rpb24gb2JqZWN0IGFzIHNwZWNpZmllZCBpbiAxMy4yIHdpdGggcGFyYW1ldGVycyBzcGVjaWZpZWQgYnkgcGFyc2luZyBQIGFzIGEgRm9ybWFsUGFyYW1ldGVyTGlzdG9wdCBhbmQgYm9keSBzcGVjaWZpZWQgYnkgcGFyc2luZyBib2R5IGFzIGEgRnVuY3Rpb25Cb2R5LgogKiBQYXNzIGluIGEgc2NvcGUgY2hhaW4gY29uc2lzdGluZyBvZiB0aGUgZ2xvYmFsIG9iamVjdCBhcyB0aGUgU2NvcGUgcGFyYW1ldGVyCiAqIHYpIFJldHVybiBSZXN1bHQoaXYpCiAqCiAqIEBwYXRoIGNoMTUvMTUuMy8xNS4zLjIvUzE1LjMuMi4xX0ExX1Q3LmpzCiAqIEBkZXNjcmlwdGlvbiBWYWx1ZSBvZiB0aGUgZnVuY3Rpb24gY29uc3RydWN0b3IgYXJndW1lbnQgaXMgIk9iamVjdCgxKSIKICovCgp2YXIgYm9keSA9IG5ldyBPYmplY3QoMSk7CgovL0NIRUNLIzEKdHJ5IHsKICB2YXIgZiA9IG5ldyBGdW5jdGlvbihib2R5KTsKfSBjYXRjaCAoZSkgewogICRGQUlMKCcjMTogdGVzdCBmYWlsZWQgd2l0aCBlcnJvciAnK2UpOwp9CgovL0NIRUNLIzIKaWYgKGYuY29uc3RydWN0b3IgIT09IEZ1bmN0aW9uKSB7CiAgJEVSUk9SKCcjMjogV2hlbiB0aGUgRnVuY3Rpb24gY29uc3RydWN0b3IgaXMgY2FsbGVkIHdpdGggb25lIGFyZ3VtZW50IHRoZW4gYm9keSBiZSB0aGF0IGFyZ3VtZW50IGFuZCBjcmVhdGVzIGEgbmV3IEZ1bmN0aW9uIG9iamVjdCBhcyBzcGVjaWZpZWQgaW4gMTMuMicpOwp9CgovL0NIRUNLIzMKaWYgKGYoKSE9PXVuZGVmaW5lZCkgewogICRFUlJPUignIzM6IFdoZW4gdGhlIEZ1bmN0aW9uIGNvbnN0cnVjdG9yIGlzIGNhbGxlZCB3aXRoIG9uZSBhcmd1bWVudCB0aGVuIGJvZHkgYmUgdGhhdCBhcmd1bWVudCB0aGUgZm9sbG93aW5nIHN0ZXBzIGFyZSB0YWtlbi4uLicpOwp9Cgo=","commentary":"When the Function constructor is called with one argument then body be that argument and the following steps are taken:\ni) Call ToString(body)\nii) If P is not parsable as a FormalParameterListopt then throw a SyntaxError exception\niii) If body is not parsable as FunctionBody then throw a SyntaxError exception\niv) Create a new Function object as specified in 13.2 with parameters specified by parsing P as a FormalParameterListopt and body specified by parsing body as a FunctionBody.\nPass in a scope chain consisting of the global object as the Scope parameter\nv) Return Result(iv)","description":"Value of the function constructor argument is \"Object(1)\"","path":"TestCases/ch15/15.3/15.3.2/S15.3.2.1_A1_T7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuIHRoZSBGdW5jdGlvbiBjb25zdHJ1Y3RvciBpcyBjYWxsZWQgd2l0aCBvbmUgYXJndW1lbnQgdGhlbiBib2R5IGJlIHRoYXQgYXJndW1lbnQgYW5kIHRoZSBmb2xsb3dpbmcgc3RlcHMgYXJlIHRha2VuOgogKiBpKSBDYWxsIFRvU3RyaW5nKGJvZHkpCiAqIGlpKSBJZiBQIGlzIG5vdCBwYXJzYWJsZSBhcyBhIEZvcm1hbFBhcmFtZXRlckxpc3RvcHQgdGhlbiB0aHJvdyBhIFN5bnRheEVycm9yIGV4Y2VwdGlvbgogKiBpaWkpIElmIGJvZHkgaXMgbm90IHBhcnNhYmxlIGFzIEZ1bmN0aW9uQm9keSB0aGVuIHRocm93IGEgU3ludGF4RXJyb3IgZXhjZXB0aW9uCiAqIGl2KSBDcmVhdGUgYSBuZXcgRnVuY3Rpb24gb2JqZWN0IGFzIHNwZWNpZmllZCBpbiAxMy4yIHdpdGggcGFyYW1ldGVycyBzcGVjaWZpZWQgYnkgcGFyc2luZyBQIGFzIGEgRm9ybWFsUGFyYW1ldGVyTGlzdG9wdCBhbmQgYm9keSBzcGVjaWZpZWQgYnkgcGFyc2luZyBib2R5IGFzIGEgRnVuY3Rpb25Cb2R5LgogKiBQYXNzIGluIGEgc2NvcGUgY2hhaW4gY29uc2lzdGluZyBvZiB0aGUgZ2xvYmFsIG9iamVjdCBhcyB0aGUgU2NvcGUgcGFyYW1ldGVyCiAqIHYpIFJldHVybiBSZXN1bHQoaXYpCiAqCiAqIEBwYXRoIGNoMTUvMTUuMy8xNS4zLjIvUzE1LjMuMi4xX0ExX1Q4LmpzCiAqIEBkZXNjcmlwdGlvbiBWYWx1ZSBvZiB0aGUgZnVuY3Rpb24gY29uc3RydWN0b3IgYXJndW1lbnQgaXMgInZhciAxPTE7IgogKi8KCnZhciBib2R5ID0gInZhciAxPTE7IjsKCi8vQ0hFQ0sjMQp0cnkgewogIHZhciBmID0gbmV3IEZ1bmN0aW9uKGJvZHkpOwogICRGQUlMKCcjMTogSWYgYm9keSBpcyBub3QgcGFyc2FibGUgYXMgRnVuY3Rpb25Cb2R5IHRoZW4gdGhyb3cgYSBTeW50YXhFcnJvciBleGNlcHRpb24nKTsKfSBjYXRjaCAoZSkgewogIGlmICghKGUgaW5zdGFuY2VvZiBTeW50YXhFcnJvcikpIHsKICAJJEVSUk9SKCcjMS4xOiBJZiBib2R5IGlzIG5vdCBwYXJzYWJsZSBhcyBGdW5jdGlvbkJvZHkgdGhlbiB0aHJvdyBhIFN5bnRheEVycm9yIGV4Y2VwdGlvbicpOwogIH0KfQoK","commentary":"When the Function constructor is called with one argument then body be that argument and the following steps are taken:\ni) Call ToString(body)\nii) If P is not parsable as a FormalParameterListopt then throw a SyntaxError exception\niii) If body is not parsable as FunctionBody then throw a SyntaxError exception\niv) Create a new Function object as specified in 13.2 with parameters specified by parsing P as a FormalParameterListopt and body specified by parsing body as a FunctionBody.\nPass in a scope chain consisting of the global object as the Scope parameter\nv) Return Result(iv)","description":"Value of the function constructor argument is \"var 1=1;\"","path":"TestCases/ch15/15.3/15.3.2/S15.3.2.1_A1_T8.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuIHRoZSBGdW5jdGlvbiBjb25zdHJ1Y3RvciBpcyBjYWxsZWQgd2l0aCBvbmUgYXJndW1lbnQgdGhlbiBib2R5IGJlIHRoYXQgYXJndW1lbnQgYW5kIHRoZSBmb2xsb3dpbmcgc3RlcHMgYXJlIHRha2VuOgogKiBpKSBDYWxsIFRvU3RyaW5nKGJvZHkpCiAqIGlpKSBJZiBQIGlzIG5vdCBwYXJzYWJsZSBhcyBhIEZvcm1hbFBhcmFtZXRlckxpc3RvcHQgdGhlbiB0aHJvdyBhIFN5bnRheEVycm9yIGV4Y2VwdGlvbgogKiBpaWkpIElmIGJvZHkgaXMgbm90IHBhcnNhYmxlIGFzIEZ1bmN0aW9uQm9keSB0aGVuIHRocm93IGEgU3ludGF4RXJyb3IgZXhjZXB0aW9uCiAqIGl2KSBDcmVhdGUgYSBuZXcgRnVuY3Rpb24gb2JqZWN0IGFzIHNwZWNpZmllZCBpbiAxMy4yIHdpdGggcGFyYW1ldGVycyBzcGVjaWZpZWQgYnkgcGFyc2luZyBQIGFzIGEgRm9ybWFsUGFyYW1ldGVyTGlzdG9wdCBhbmQgYm9keSBzcGVjaWZpZWQgYnkgcGFyc2luZyBib2R5IGFzIGEgRnVuY3Rpb25Cb2R5LgogKiBQYXNzIGluIGEgc2NvcGUgY2hhaW4gY29uc2lzdGluZyBvZiB0aGUgZ2xvYmFsIG9iamVjdCBhcyB0aGUgU2NvcGUgcGFyYW1ldGVyCiAqIHYpIFJldHVybiBSZXN1bHQoaXYpCiAqCiAqIEBwYXRoIGNoMTUvMTUuMy8xNS4zLjIvUzE1LjMuMi4xX0ExX1Q5LmpzCiAqIEBkZXNjcmlwdGlvbiBWYWx1ZSBvZiB0aGUgZnVuY3Rpb24gY29uc3RydWN0b3IgYXJndW1lbnQgaXMgInJldHVybiBhcmd1bWVudHNbMF07IgogKi8KCnZhciBmID0gbmV3IEZ1bmN0aW9uKCJyZXR1cm4gYXJndW1lbnRzWzBdOyIpOwoKLy9DSEVDSyMxCmlmICghKGYgaW5zdGFuY2VvZiBGdW5jdGlvbikpIHsKICAkRVJST1IoJyMzOiBXaGVuIHRoZSBGdW5jdGlvbiBjb25zdHJ1Y3RvciBpcyBjYWxsZWQgd2l0aCBvbmUgYXJndW1lbnQgdGhlbiBib2R5IGJlIHRoYXQgYXJndW1lbnQgYW5kIHRoZSBmb2xsb3dpbmcgc3RlcHMgYXJlIHRha2VuLi4uJyk7Cn0KCi8vQ0hFQ0sjMgppZiAoZigiQSIpICE9PSAiQSIpIHsKICAkRVJST1IoJyMyOiBXaGVuIHRoZSBGdW5jdGlvbiBjb25zdHJ1Y3RvciBpcyBjYWxsZWQgd2l0aCBvbmUgYXJndW1lbnQgdGhlbiBib2R5IGJlIHRoYXQgYXJndW1lbnQgYW5kIHRoZSBmb2xsb3dpbmcgc3RlcHMgYXJlIHRha2VuLi4uJyk7Cn0KCg==","commentary":"When the Function constructor is called with one argument then body be that argument and the following steps are taken:\ni) Call ToString(body)\nii) If P is not parsable as a FormalParameterListopt then throw a SyntaxError exception\niii) If body is not parsable as FunctionBody then throw a SyntaxError exception\niv) Create a new Function object as specified in 13.2 with parameters specified by parsing P as a FormalParameterListopt and body specified by parsing body as a FunctionBody.\nPass in a scope chain consisting of the global object as the Scope parameter\nv) Return Result(iv)","description":"Value of the function constructor argument is \"return arguments[0];\"","path":"TestCases/ch15/15.3/15.3.2/S15.3.2.1_A1_T9.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJdCBpcyBwZXJtaXNzaWJsZSBidXQgbm90IG5lY2Vzc2FyeSB0byBoYXZlIG9uZSBhcmd1bWVudCBmb3IgZWFjaCBmb3JtYWwgcGFyYW1ldGVyIHRvIGJlIHNwZWNpZmllZAogKgogKiBAcGF0aCBjaDE1LzE1LjMvMTUuMy4yL1MxNS4zLjIuMV9BMl9UMS5qcwogKiBAZGVzY3JpcHRpb24gVmFsdWVzIG9mIHRoZSBmdW5jdGlvbiBjb25zdHJ1Y3RvciBhcmd1bWVudHMgYXJlICJhcmcxIiwgImFyZzIiLCAiYXJnMyIsICJyZXR1cm4gYXJnMSthcmcyK2FyZzM7IgogKi8KCi8vQ0hFQ0sjMQp0cnkgewogIHZhciBmID0gRnVuY3Rpb24oImFyZzEiLCAiYXJnMiIsICJhcmczIiwgInJldHVybiBhcmcxK2FyZzIrYXJnMzsiKTsKfSBjYXRjaCAoZSkgewogICRGQUlMKCcjMTogdGVzdCBmYWlsZWQnKTsKfQoKLy9DSEVDSyMyCmlmICghKGYgaW5zdGFuY2VvZiBGdW5jdGlvbikpewogICRFUlJPUignIzI6IEl0IGlzIHBlcm1pc3NpYmxlIGJ1dCBub3QgbmVjZXNzYXJ5IHRvIGhhdmUgb25lIGFyZ3VtZW50IGZvciBlYWNoIGZvcm1hbCBwYXJhbWV0ZXIgdG8gYmUgc3BlY2lmaWVkJyk7Cn0KCi8vQ0hFQ0sjMwppZiAoZigxLDIsMykgIT09IDYpIHsKICAkRVJST1IoJyMzOiBJdCBpcyBwZXJtaXNzaWJsZSBidXQgbm90IG5lY2Vzc2FyeSB0byBoYXZlIG9uZSBhcmd1bWVudCBmb3IgZWFjaCBmb3JtYWwgcGFyYW1ldGVyIHRvIGJlIHNwZWNpZmllZCcpOwp9Cgo=","commentary":"It is permissible but not necessary to have one argument for each formal parameter to be specified","description":"Values of the function constructor arguments are \"arg1\", \"arg2\", \"arg3\", \"return arg1+arg2+arg3;\"","path":"TestCases/ch15/15.3/15.3.2/S15.3.2.1_A2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJdCBpcyBwZXJtaXNzaWJsZSBidXQgbm90IG5lY2Vzc2FyeSB0byBoYXZlIG9uZSBhcmd1bWVudCBmb3IgZWFjaCBmb3JtYWwgcGFyYW1ldGVyIHRvIGJlIHNwZWNpZmllZAogKgogKiBAcGF0aCBjaDE1LzE1LjMvMTUuMy4yL1MxNS4zLjIuMV9BMl9UMi5qcwogKiBAZGVzY3JpcHRpb24gVmFsdWVzIG9mIHRoZSBmdW5jdGlvbiBjb25zdHJ1Y3RvciBhcmd1bWVudHMgYXJlICJhcmcxLCBhcmcyIiwgImFyZzMiLCAicmV0dXJuIGFyZzErYXJnMithcmczOyIKICovCgovL0NIRUNLIzEKdHJ5IHsKICB2YXIgZiA9IEZ1bmN0aW9uKCJhcmcxLCBhcmcyIiwgImFyZzMiLCAicmV0dXJuIGFyZzErYXJnMithcmczOyIpOwp9IGNhdGNoIChlKSB7CiAgJEZBSUwoJyMxOiB0ZXN0IGZhaWxlZCcpOwp9CgovL0NIRUNLIzIKaWYgKCEoZiBpbnN0YW5jZW9mIEZ1bmN0aW9uKSl7CiAgJEVSUk9SKCcjMjogSXQgaXMgcGVybWlzc2libGUgYnV0IG5vdCBuZWNlc3NhcnkgdG8gaGF2ZSBvbmUgYXJndW1lbnQgZm9yIGVhY2ggZm9ybWFsIHBhcmFtZXRlciB0byBiZSBzcGVjaWZpZWQnKTsKfQoKLy9DSEVDSyMzCmlmIChmKCJBQiIsIkJBIiwxKSAhPT0gIkFCQkExIikgewogICRFUlJPUignIzM6IEl0IGlzIHBlcm1pc3NpYmxlIGJ1dCBub3QgbmVjZXNzYXJ5IHRvIGhhdmUgb25lIGFyZ3VtZW50IGZvciBlYWNoIGZvcm1hbCBwYXJhbWV0ZXIgdG8gYmUgc3BlY2lmaWVkJyk7Cn0KCg==","commentary":"It is permissible but not necessary to have one argument for each formal parameter to be specified","description":"Values of the function constructor arguments are \"arg1, arg2\", \"arg3\", \"return arg1+arg2+arg3;\"","path":"TestCases/ch15/15.3/15.3.2/S15.3.2.1_A2_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJdCBpcyBwZXJtaXNzaWJsZSBidXQgbm90IG5lY2Vzc2FyeSB0byBoYXZlIG9uZSBhcmd1bWVudCBmb3IgZWFjaCBmb3JtYWwgcGFyYW1ldGVyIHRvIGJlIHNwZWNpZmllZAogKgogKiBAcGF0aCBjaDE1LzE1LjMvMTUuMy4yL1MxNS4zLjIuMV9BMl9UMy5qcwogKiBAZGVzY3JpcHRpb24gVmFsdWVzIG9mIHRoZSBmdW5jdGlvbiBjb25zdHJ1Y3RvciBhcmd1bWVudHMgYXJlICJhcmcxLCBhcmcyLCBhcmczIiwgInJldHVybiBhcmcxK2FyZzIrYXJnMzsiCiAqLwoKLy9DSEVDSyMxCnRyeSB7CiAgdmFyIGYgPSBGdW5jdGlvbigiYXJnMSwgYXJnMiwgYXJnMyIsICJyZXR1cm4gYXJnMSthcmcyK2FyZzM7Iik7Cn0gY2F0Y2ggKGUpIHsKICAkRkFJTCgnIzE6IHRlc3QgZmFpbGVkJyk7Cn0KCi8vQ0hFQ0sjMgppZiAoIShmIGluc3RhbmNlb2YgRnVuY3Rpb24pKXsKICAkRVJST1IoJyMyOiBJdCBpcyBwZXJtaXNzaWJsZSBidXQgbm90IG5lY2Vzc2FyeSB0byBoYXZlIG9uZSBhcmd1bWVudCBmb3IgZWFjaCBmb3JtYWwgcGFyYW1ldGVyIHRvIGJlIHNwZWNpZmllZCcpOwp9CgovL0NIRUNLIzMKaWYgKGYoMSwxLCJBQkJBIikgIT09ICIyQUJCQSIpIHsKICAkRVJST1IoJyMzOiBJdCBpcyBwZXJtaXNzaWJsZSBidXQgbm90IG5lY2Vzc2FyeSB0byBoYXZlIG9uZSBhcmd1bWVudCBmb3IgZWFjaCBmb3JtYWwgcGFyYW1ldGVyIHRvIGJlIHNwZWNpZmllZCcpOwp9Cgo=","commentary":"It is permissible but not necessary to have one argument for each formal parameter to be specified","description":"Values of the function constructor arguments are \"arg1, arg2, arg3\", \"return arg1+arg2+arg3;\"","path":"TestCases/ch15/15.3/15.3.2/S15.3.2.1_A2_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJdCBpcyBwZXJtaXNzaWJsZSBidXQgbm90IG5lY2Vzc2FyeSB0byBoYXZlIG9uZSBhcmd1bWVudCBmb3IgZWFjaCBmb3JtYWwgcGFyYW1ldGVyIHRvIGJlIHNwZWNpZmllZAogKgogKiBAcGF0aCBjaDE1LzE1LjMvMTUuMy4yL1MxNS4zLjIuMV9BMl9UNC5qcwogKiBAZGVzY3JpcHRpb24gVmFsdWVzIG9mIHRoZSBmdW5jdGlvbiBjb25zdHJ1Y3RvciBhcmd1bWVudHMgYXJlICJyZXR1cm4iLXMgb2YgdmFyaW91cyByZXN1bHRzCiAqLwoKdmFyIGk9MDsKCnZhciBwPXt0b1N0cmluZzpmdW5jdGlvbigpe3JldHVybiAiYXJnIisoKytpKTt9fTsKCi8vQ0hFQ0sjMQp0cnkgewogIHZhciBmID0gRnVuY3Rpb24ocCwgcCwgcCwgInJldHVybiBhcmcxK2FyZzIrYXJnMzsiKTsKfSBjYXRjaCAoZSkgewogICRGQUlMKCcjMTogdGVzdCBmYWlsZWQnKTsKfQoKLy9DSEVDSyMyCmlmICghKGYgaW5zdGFuY2VvZiBGdW5jdGlvbikpewogICRFUlJPUignIzI6IEl0IGlzIHBlcm1pc3NpYmxlIGJ1dCBub3QgbmVjZXNzYXJ5IHRvIGhhdmUgb25lIGFyZ3VtZW50IGZvciBlYWNoIGZvcm1hbCBwYXJhbWV0ZXIgdG8gYmUgc3BlY2lmaWVkJyk7Cn0KCi8vQ0hFQ0sjMwppZiAoZig0LCIyIiwiUVVFU1RJT04iKSAhPT0gIjQyUVVFU1RJT04iKSB7CiAgJEVSUk9SKCcjMzogSXQgaXMgcGVybWlzc2libGUgYnV0IG5vdCBuZWNlc3NhcnkgdG8gaGF2ZSBvbmUgYXJndW1lbnQgZm9yIGVhY2ggZm9ybWFsIHBhcmFtZXRlciB0byBiZSBzcGVjaWZpZWQnKTsKfQogIAo=","commentary":"It is permissible but not necessary to have one argument for each formal parameter to be specified","description":"Values of the function constructor arguments are \"return\"-s of various results","path":"TestCases/ch15/15.3/15.3.2/S15.3.2.1_A2_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJdCBpcyBwZXJtaXNzaWJsZSBidXQgbm90IG5lY2Vzc2FyeSB0byBoYXZlIG9uZSBhcmd1bWVudCBmb3IgZWFjaCBmb3JtYWwgcGFyYW1ldGVyIHRvIGJlIHNwZWNpZmllZAogKgogKiBAcGF0aCBjaDE1LzE1LjMvMTUuMy4yL1MxNS4zLjIuMV9BMl9UNS5qcwogKiBAZGVzY3JpcHRpb24gVmFsdWVzIG9mIHRoZSBmdW5jdGlvbiBjb25zdHJ1Y3RvciBhcmd1bWVudHMgYXJlICJyZXR1cm4iLXMgb2YgdmFyaW91cyByZXN1bHRzIGFuZCBhIGNvbmNvdGVuYXRpb24gb2Ygc3RyaW5ncwogKi8KCnZhciBpPTA7Cgp2YXIgcD17dG9TdHJpbmc6ZnVuY3Rpb24oKXtyZXR1cm4gImFyZyIrKCsraSl9fTsKCi8vQ0hFQ0sjMQp0cnkgewogIHZhciBmID0gRnVuY3Rpb24ocCsiLCIrcCxwLCAicmV0dXJuIGFyZzErYXJnMithcmczOyIpOwp9IGNhdGNoIChlKSB7CiAgJEZBSUwoJyMxOiB0ZXN0IGZhaWxlZCcpOwp9CgovL0NIRUNLIzIKaWYgKCEoZiBpbnN0YW5jZW9mIEZ1bmN0aW9uKSl7CiAgJEVSUk9SKCcjMjogSXQgaXMgcGVybWlzc2libGUgYnV0IG5vdCBuZWNlc3NhcnkgdG8gaGF2ZSBvbmUgYXJndW1lbnQgZm9yIGVhY2ggZm9ybWFsIHBhcmFtZXRlciB0byBiZSBzcGVjaWZpZWQnKTsKfQoKLy9DSEVDSyMzCmlmIChmKCIiLDEsMikgIT09ICIxMiIpIHsKICAkRVJST1IoJyMzOiBJdCBpcyBwZXJtaXNzaWJsZSBidXQgbm90IG5lY2Vzc2FyeSB0byBoYXZlIG9uZSBhcmd1bWVudCBmb3IgZWFjaCBmb3JtYWwgcGFyYW1ldGVyIHRvIGJlIHNwZWNpZmllZCcpOwp9Cgo=","commentary":"It is permissible but not necessary to have one argument for each formal parameter to be specified","description":"Values of the function constructor arguments are \"return\"-s of various results and a concotenation of strings","path":"TestCases/ch15/15.3/15.3.2/S15.3.2.1_A2_T5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJdCBpcyBwZXJtaXNzaWJsZSBidXQgbm90IG5lY2Vzc2FyeSB0byBoYXZlIG9uZSBhcmd1bWVudCBmb3IgZWFjaCBmb3JtYWwgcGFyYW1ldGVyIHRvIGJlIHNwZWNpZmllZAogKgogKiBAcGF0aCBjaDE1LzE1LjMvMTUuMy4yL1MxNS4zLjIuMV9BMl9UNi5qcwogKiBAZGVzY3JpcHRpb24gVmFsdWVzIG9mIHRoZSBmdW5jdGlvbiBjb25zdHJ1Y3RvciBhcmd1bWVudHMgYXJlICJyZXR1cm4iLXMgb2YgdmFyaW91cyByZXN1bHRzIGFuZCBhIGNvbmNvdGVuYXRpb24gb2Ygc3RyaW5ncwogKi8KCnZhciBpPTA7Cgp2YXIgcD17dG9TdHJpbmc6ZnVuY3Rpb24oKXtyZXR1cm4gImFyZyIrKCsraSl9fTsKCi8vQ0hFQ0sjMQp0cnkgewogIHZhciBmID0gRnVuY3Rpb24ocCsiLCIrcCsiLCIrcCwgInJldHVybiBhcmcxK2FyZzIrYXJnMzsiKTsKfSBjYXRjaCAoZSkgewogICRGQUlMKCcjMTogdGVzdCBmYWlsZWQnKTsKfQoKLy9DSEVDSyMyCmlmICghKGYgaW5zdGFuY2VvZiBGdW5jdGlvbikpewogICRFUlJPUignIzI6IEl0IGlzIHBlcm1pc3NpYmxlIGJ1dCBub3QgbmVjZXNzYXJ5IHRvIGhhdmUgb25lIGFyZ3VtZW50IGZvciBlYWNoIGZvcm1hbCBwYXJhbWV0ZXIgdG8gYmUgc3BlY2lmaWVkJyk7Cn0KCi8vQ0hFQ0sjMwppZiAoZigiIiwxLHApICE9PSAiMWFyZzQiKSB7CiAgJEVSUk9SKCcjMzogSXQgaXMgcGVybWlzc2libGUgYnV0IG5vdCBuZWNlc3NhcnkgdG8gaGF2ZSBvbmUgYXJndW1lbnQgZm9yIGVhY2ggZm9ybWFsIHBhcmFtZXRlciB0byBiZSBzcGVjaWZpZWQnKTsKfQoK","commentary":"It is permissible but not necessary to have one argument for each formal parameter to be specified","description":"Values of the function constructor arguments are \"return\"-s of various results and a concotenation of strings","path":"TestCases/ch15/15.3/15.3.2/S15.3.2.1_A2_T6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuIHRoZSBGdW5jdGlvbiBjb25zdHJ1Y3RvciBpcyBjYWxsZWQgd2l0aCBhcmd1bWVudHMgcCwgYm9keSB0aGUgZm9sbG93aW5nIHN0ZXBzIGFyZSB0YWtlbjoKICogaSkgTGV0IFJlc3VsdChpKSBiZSB0aGUgZmlyc3QgYXJndW1lbnQKICogaWkpIExldCBQIGJlIFRvU3RyaW5nKFJlc3VsdChpKSkKICogaWlpKSBDYWxsIFRvU3RyaW5nKGJvZHkpCiAqIGl2KSBJZiBQIGlzIG5vdCBwYXJzYWJsZSBhcyBhIEZvcm1hbFBhcmFtZXRlckxpc3Rfb3B0IHRoZW4gdGhyb3cgYSBTeW50YXhFcnJvciBleGNlcHRpb24KICogdikgSWYgYm9keSBpcyBub3QgcGFyc2FibGUgYXMgRnVuY3Rpb25Cb2R5IHRoZW4gdGhyb3cgYSBTeW50YXhFcnJvciBleGNlcHRpb24KICogdmkpIENyZWF0ZSBhIG5ldyBGdW5jdGlvbiBvYmplY3QgYXMgc3BlY2lmaWVkIGluIDEzLjIgd2l0aCBwYXJhbWV0ZXJzIHNwZWNpZmllZCBieSBwYXJzaW5nIFAgYXMgYSBGb3JtYWxQYXJhbWV0ZXJMaXN0b3B0IGFuZCBib2R5IHNwZWNpZmllZCBieSBwYXJzaW5nIGJvZHkgYXMgYSBGdW5jdGlvbkJvZHkKICogUGFzcyBpbiBhIHNjb3BlIGNoYWluIGNvbnNpc3Rpbmcgb2YgdGhlIGdsb2JhbCBvYmplY3QgYXMgdGhlIFNjb3BlIHBhcmFtZXRlcgogKiB2aWkpIFJldHVybiBSZXN1bHQodmkpCiAqCiAqIEBwYXRoIGNoMTUvMTUuMy8xNS4zLjIvUzE1LjMuMi4xX0EzX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBWYWx1ZXMgb2YgdGhlIGZ1bmN0aW9uIGNvbnN0cnVjdG9yIGFyZ3VtZW50cyBhcmUgInt0b1N0cmluZzpmdW5jdGlvbigpe3Rocm93IDE7fX0iIGFuZCAie3RvU3RyaW5nOmZ1bmN0aW9uKCl7dGhyb3cgJ2JvZHknO319IgogKi8KCnZhciBwID0ge3RvU3RyaW5nOmZ1bmN0aW9uKCl7dGhyb3cgMTt9fTsKdmFyIGJvZHkgPSB7dG9TdHJpbmc6ZnVuY3Rpb24oKXt0aHJvdyAiYm9keSI7fX07CgovL0NIRUNLIzEKdHJ5IHsKICB2YXIgZiA9IG5ldyBGdW5jdGlvbihwLGJvZHkpOwogICRGQUlMKCcjMTogdGVzdCBmYWlsZWQnKTsKfSBjYXRjaCAoZSkgewogIGlmIChlICE9PSAxKSB7CiAgCSRFUlJPUignIzEuMTogaSkgTGV0IFJlc3VsdChpKSBiZSB0aGUgZmlyc3QgYXJndW1lbnQ7IGlpKSBMZXQgUCBiZSBUb1N0cmluZyhSZXN1bHQoaSkpJyk7CiAgfQp9CgoKCg==","commentary":"When the Function constructor is called with arguments p, body the following steps are taken:\ni) Let Result(i) be the first argument\nii) Let P be ToString(Result(i))\niii) Call ToString(body)\niv) If P is not parsable as a FormalParameterList_opt then throw a SyntaxError exception\nv) If body is not parsable as FunctionBody then throw a SyntaxError exception\nvi) Create a new Function object as specified in 13.2 with parameters specified by parsing P as a FormalParameterListopt and body specified by parsing body as a FunctionBody\nPass in a scope chain consisting of the global object as the Scope parameter\nvii) Return Result(vi)","description":"Values of the function constructor arguments are \"{toString:function(){throw 1;}}\" and \"{toString:function(){throw 'body';}}\"","path":"TestCases/ch15/15.3/15.3.2/S15.3.2.1_A3_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuIHRoZSBGdW5jdGlvbiBjb25zdHJ1Y3RvciBpcyBjYWxsZWQgd2l0aCBhcmd1bWVudHMgcCwgYm9keSB0aGUgZm9sbG93aW5nIHN0ZXBzIGFyZSB0YWtlbjoKICogaSkgTGV0IFJlc3VsdChpKSBiZSB0aGUgZmlyc3QgYXJndW1lbnQKICogaWkpIExldCBQIGJlIFRvU3RyaW5nKFJlc3VsdChpKSkKICogaWlpKSBDYWxsIFRvU3RyaW5nKGJvZHkpCiAqIGl2KSBJZiBQIGlzIG5vdCBwYXJzYWJsZSBhcyBhIEZvcm1hbFBhcmFtZXRlckxpc3Rfb3B0IHRoZW4gdGhyb3cgYSBTeW50YXhFcnJvciBleGNlcHRpb24KICogdikgSWYgYm9keSBpcyBub3QgcGFyc2FibGUgYXMgRnVuY3Rpb25Cb2R5IHRoZW4gdGhyb3cgYSBTeW50YXhFcnJvciBleGNlcHRpb24KICogdmkpIENyZWF0ZSBhIG5ldyBGdW5jdGlvbiBvYmplY3QgYXMgc3BlY2lmaWVkIGluIDEzLjIgd2l0aCBwYXJhbWV0ZXJzIHNwZWNpZmllZCBieSBwYXJzaW5nIFAgYXMgYSBGb3JtYWxQYXJhbWV0ZXJMaXN0b3B0IGFuZCBib2R5IHNwZWNpZmllZCBieSBwYXJzaW5nIGJvZHkgYXMgYSBGdW5jdGlvbkJvZHkKICogUGFzcyBpbiBhIHNjb3BlIGNoYWluIGNvbnNpc3Rpbmcgb2YgdGhlIGdsb2JhbCBvYmplY3QgYXMgdGhlIFNjb3BlIHBhcmFtZXRlcgogKiB2aWkpIFJldHVybiBSZXN1bHQodmkpCiAqCiAqIEBwYXRoIGNoMTUvMTUuMy8xNS4zLjIvUzE1LjMuMi4xX0EzX1QxMC5qcwogKiBAZGVzY3JpcHRpb24gVmFsdWVzIG9mIHRoZSBmdW5jdGlvbiBjb25zdHJ1Y3RvciBhcmd1bWVudHMgYXJlICJ7dG9TdHJpbmc6ZnVuY3Rpb24oKXtyZXR1cm4gIno7eCJ9fSIgYW5kICJyZXR1cm4gdGhpczsiCiAqLwoKdmFyIGJvZHkgPSAicmV0dXJuIHRoaXM7IjsKdmFyIHA9e3RvU3RyaW5nOmZ1bmN0aW9uKCl7cmV0dXJuICJ6O3gifX07CgovL0NIRUNLIzEKdHJ5IHsKICB2YXIgZiA9IG5ldyBGdW5jdGlvbihwLGJvZHkpOwogICRGQUlMKCcjMTogSWYgUCBpcyBub3QgcGFyc2FibGUgYXMgYSBGb3JtYWxQYXJhbWV0ZXJMaXN0X29wdCB0aGVuIHRocm93IGEgU3ludGF4RXJyb3IgZXhjZXB0aW9uJyk7Cn0gY2F0Y2ggKGUpIHsKICBpZiAoIShlIGluc3RhbmNlb2YgU3ludGF4RXJyb3IpKSB7CiAgCSRFUlJPUignIzEuMTogSWYgUCBpcyBub3QgcGFyc2FibGUgYXMgYSBGb3JtYWxQYXJhbWV0ZXJMaXN0X29wdCB0aGVuIHRocm93IGEgU3ludGF4RXJyb3IgZXhjZXB0aW9uJyk7CiAgfQp9Cgo=","commentary":"When the Function constructor is called with arguments p, body the following steps are taken:\ni) Let Result(i) be the first argument\nii) Let P be ToString(Result(i))\niii) Call ToString(body)\niv) If P is not parsable as a FormalParameterList_opt then throw a SyntaxError exception\nv) If body is not parsable as FunctionBody then throw a SyntaxError exception\nvi) Create a new Function object as specified in 13.2 with parameters specified by parsing P as a FormalParameterListopt and body specified by parsing body as a FunctionBody\nPass in a scope chain consisting of the global object as the Scope parameter\nvii) Return Result(vi)","description":"Values of the function constructor arguments are \"{toString:function(){return \"z;x\"}}\" and \"return this;\"","path":"TestCases/ch15/15.3/15.3.2/S15.3.2.1_A3_T10.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuIHRoZSBGdW5jdGlvbiBjb25zdHJ1Y3RvciBpcyBjYWxsZWQgd2l0aCBhcmd1bWVudHMgcCwgYm9keSB0aGUgZm9sbG93aW5nIHN0ZXBzIGFyZSB0YWtlbjoKICogaSkgTGV0IFJlc3VsdChpKSBiZSB0aGUgZmlyc3QgYXJndW1lbnQKICogaWkpIExldCBQIGJlIFRvU3RyaW5nKFJlc3VsdChpKSkKICogaWlpKSBDYWxsIFRvU3RyaW5nKGJvZHkpCiAqIGl2KSBJZiBQIGlzIG5vdCBwYXJzYWJsZSBhcyBhIEZvcm1hbFBhcmFtZXRlckxpc3Rfb3B0IHRoZW4gdGhyb3cgYSBTeW50YXhFcnJvciBleGNlcHRpb24KICogdikgSWYgYm9keSBpcyBub3QgcGFyc2FibGUgYXMgRnVuY3Rpb25Cb2R5IHRoZW4gdGhyb3cgYSBTeW50YXhFcnJvciBleGNlcHRpb24KICogdmkpIENyZWF0ZSBhIG5ldyBGdW5jdGlvbiBvYmplY3QgYXMgc3BlY2lmaWVkIGluIDEzLjIgd2l0aCBwYXJhbWV0ZXJzIHNwZWNpZmllZCBieSBwYXJzaW5nIFAgYXMgYSBGb3JtYWxQYXJhbWV0ZXJMaXN0b3B0IGFuZCBib2R5IHNwZWNpZmllZCBieSBwYXJzaW5nIGJvZHkgYXMgYSBGdW5jdGlvbkJvZHkKICogUGFzcyBpbiBhIHNjb3BlIGNoYWluIGNvbnNpc3Rpbmcgb2YgdGhlIGdsb2JhbCBvYmplY3QgYXMgdGhlIFNjb3BlIHBhcmFtZXRlcgogKiB2aWkpIFJldHVybiBSZXN1bHQodmkpCiAqCiAqIEBwYXRoIGNoMTUvMTUuMy8xNS4zLjIvUzE1LjMuMi4xX0EzX1QxMS5qcwogKiBAZGVzY3JpcHRpb24gVmFsdWVzIG9mIHRoZSBmdW5jdGlvbiBjb25zdHJ1Y3RvciBhcmd1bWVudHMgYXJlICJhLGIsYyIgYW5kICJ2b2lkIDAiCiAqLwoKdmFyIHAgPSAiYSxiLGMiOwoKLy9DSEVDSyMxCnRyeSB7CiAgdmFyIGYgPSBuZXcgRnVuY3Rpb24ocCwgdm9pZCAwKTsKfSBjYXRjaCAoZSkgewogICRGQUlMKCcjMTogdGVzdCBmYWlsZWQgd2l0aCBlcnJvciAnK2UpOwp9CgovL0NIRUNLIzIKaWYgKGYuY29uc3RydWN0b3IgIT09IEZ1bmN0aW9uKSB7CiAgJEVSUk9SKCcjMjogV2hlbiB0aGUgRnVuY3Rpb24gY29uc3RydWN0b3IgaXMgY2FsbGVkIHdpdGggYXJndW1lbnRzIHAsIGJvZHkgY3JlYXRlcyBhIG5ldyBGdW5jdGlvbiBvYmplY3QgYXMgc3BlY2lmaWVkIGluIDEzLjInKTsKfQoKLy9DSEVDSyMzCmlmIChmKCkhPT11bmRlZmluZWQpIHsKICAkRVJST1IoJyMzOiBXaGVuIHRoZSBGdW5jdGlvbiBjb25zdHJ1Y3RvciBpcyBjYWxsZWQgd2l0aCBhcmd1bWVudHMgcCwgYm9keSB0aGUgZm9sbG93aW5nIHN0ZXBzIGFyZSB0YWtlbi4uLicpOwp9Cgo=","commentary":"When the Function constructor is called with arguments p, body the following steps are taken:\ni) Let Result(i) be the first argument\nii) Let P be ToString(Result(i))\niii) Call ToString(body)\niv) If P is not parsable as a FormalParameterList_opt then throw a SyntaxError exception\nv) If body is not parsable as FunctionBody then throw a SyntaxError exception\nvi) Create a new Function object as specified in 13.2 with parameters specified by parsing P as a FormalParameterListopt and body specified by parsing body as a FunctionBody\nPass in a scope chain consisting of the global object as the Scope parameter\nvii) Return Result(vi)","description":"Values of the function constructor arguments are \"a,b,c\" and \"void 0\"","path":"TestCases/ch15/15.3/15.3.2/S15.3.2.1_A3_T11.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuIHRoZSBGdW5jdGlvbiBjb25zdHJ1Y3RvciBpcyBjYWxsZWQgd2l0aCBhcmd1bWVudHMgcCwgYm9keSB0aGUgZm9sbG93aW5nIHN0ZXBzIGFyZSB0YWtlbjoKICogaSkgTGV0IFJlc3VsdChpKSBiZSB0aGUgZmlyc3QgYXJndW1lbnQKICogaWkpIExldCBQIGJlIFRvU3RyaW5nKFJlc3VsdChpKSkKICogaWlpKSBDYWxsIFRvU3RyaW5nKGJvZHkpCiAqIGl2KSBJZiBQIGlzIG5vdCBwYXJzYWJsZSBhcyBhIEZvcm1hbFBhcmFtZXRlckxpc3Rfb3B0IHRoZW4gdGhyb3cgYSBTeW50YXhFcnJvciBleGNlcHRpb24KICogdikgSWYgYm9keSBpcyBub3QgcGFyc2FibGUgYXMgRnVuY3Rpb25Cb2R5IHRoZW4gdGhyb3cgYSBTeW50YXhFcnJvciBleGNlcHRpb24KICogdmkpIENyZWF0ZSBhIG5ldyBGdW5jdGlvbiBvYmplY3QgYXMgc3BlY2lmaWVkIGluIDEzLjIgd2l0aCBwYXJhbWV0ZXJzIHNwZWNpZmllZCBieSBwYXJzaW5nIFAgYXMgYSBGb3JtYWxQYXJhbWV0ZXJMaXN0b3B0IGFuZCBib2R5IHNwZWNpZmllZCBieSBwYXJzaW5nIGJvZHkgYXMgYSBGdW5jdGlvbkJvZHkKICogUGFzcyBpbiBhIHNjb3BlIGNoYWluIGNvbnNpc3Rpbmcgb2YgdGhlIGdsb2JhbCBvYmplY3QgYXMgdGhlIFNjb3BlIHBhcmFtZXRlcgogKiB2aWkpIFJldHVybiBSZXN1bHQodmkpCiAqCiAqIEBwYXRoIGNoMTUvMTUuMy8xNS4zLjIvUzE1LjMuMi4xX0EzX1QxMi5qcwogKiBAZGVzY3JpcHRpb24gVmFsdWVzIG9mIHRoZSBmdW5jdGlvbiBjb25zdHJ1Y3RvciBhcmd1bWVudHMgYXJlICJhLGIsYyIgYW5kICJ1bmRlZmluZWQiCiAqLwoKdmFyIHAgPSAiYSxiLGMiOwoKLy9DSEVDSyMxCnRyeSB7CiAgdmFyIGYgPSBuZXcgRnVuY3Rpb24ocCwgdW5kZWZpbmVkKTsKfSBjYXRjaCAoZSkgewogICRGQUlMKCcjMTogdGVzdCBmYWlsZWQgd2l0aCBlcnJvciAnK2UpOwp9CgovL0NIRUNLIzIKaWYgKGYuY29uc3RydWN0b3IgIT09IEZ1bmN0aW9uKSB7CiAgJEVSUk9SKCcjMjogV2hlbiB0aGUgRnVuY3Rpb24gY29uc3RydWN0b3IgaXMgY2FsbGVkIHdpdGggYXJndW1lbnRzIHAsIGJvZHkgY3JlYXRlcyBhIG5ldyBGdW5jdGlvbiBvYmplY3QgYXMgc3BlY2lmaWVkIGluIDEzLjInKTsKfQoKLy9DSEVDSyMzCmlmIChmKCkhPT11bmRlZmluZWQpIHsKICAkRVJST1IoJyMzOiBXaGVuIHRoZSBGdW5jdGlvbiBjb25zdHJ1Y3RvciBpcyBjYWxsZWQgd2l0aCBhcmd1bWVudHMgcCwgYm9keSB0aGUgZm9sbG93aW5nIHN0ZXBzIGFyZSB0YWtlbi4uLicpOwp9Cgo=","commentary":"When the Function constructor is called with arguments p, body the following steps are taken:\ni) Let Result(i) be the first argument\nii) Let P be ToString(Result(i))\niii) Call ToString(body)\niv) If P is not parsable as a FormalParameterList_opt then throw a SyntaxError exception\nv) If body is not parsable as FunctionBody then throw a SyntaxError exception\nvi) Create a new Function object as specified in 13.2 with parameters specified by parsing P as a FormalParameterListopt and body specified by parsing body as a FunctionBody\nPass in a scope chain consisting of the global object as the Scope parameter\nvii) Return Result(vi)","description":"Values of the function constructor arguments are \"a,b,c\" and \"undefined\"","path":"TestCases/ch15/15.3/15.3.2/S15.3.2.1_A3_T12.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuIHRoZSBGdW5jdGlvbiBjb25zdHJ1Y3RvciBpcyBjYWxsZWQgd2l0aCBhcmd1bWVudHMgcCwgYm9keSB0aGUgZm9sbG93aW5nIHN0ZXBzIGFyZSB0YWtlbjoKICogaSkgTGV0IFJlc3VsdChpKSBiZSB0aGUgZmlyc3QgYXJndW1lbnQKICogaWkpIExldCBQIGJlIFRvU3RyaW5nKFJlc3VsdChpKSkKICogaWlpKSBDYWxsIFRvU3RyaW5nKGJvZHkpCiAqIGl2KSBJZiBQIGlzIG5vdCBwYXJzYWJsZSBhcyBhIEZvcm1hbFBhcmFtZXRlckxpc3Rfb3B0IHRoZW4gdGhyb3cgYSBTeW50YXhFcnJvciBleGNlcHRpb24KICogdikgSWYgYm9keSBpcyBub3QgcGFyc2FibGUgYXMgRnVuY3Rpb25Cb2R5IHRoZW4gdGhyb3cgYSBTeW50YXhFcnJvciBleGNlcHRpb24KICogdmkpIENyZWF0ZSBhIG5ldyBGdW5jdGlvbiBvYmplY3QgYXMgc3BlY2lmaWVkIGluIDEzLjIgd2l0aCBwYXJhbWV0ZXJzIHNwZWNpZmllZCBieSBwYXJzaW5nIFAgYXMgYSBGb3JtYWxQYXJhbWV0ZXJMaXN0b3B0IGFuZCBib2R5IHNwZWNpZmllZCBieSBwYXJzaW5nIGJvZHkgYXMgYSBGdW5jdGlvbkJvZHkKICogUGFzcyBpbiBhIHNjb3BlIGNoYWluIGNvbnNpc3Rpbmcgb2YgdGhlIGdsb2JhbCBvYmplY3QgYXMgdGhlIFNjb3BlIHBhcmFtZXRlcgogKiB2aWkpIFJldHVybiBSZXN1bHQodmkpCiAqCiAqIEBwYXRoIGNoMTUvMTUuMy8xNS4zLjIvUzE1LjMuMi4xX0EzX1QxMy5qcwogKiBAZGVzY3JpcHRpb24gVmFsdWVzIG9mIHRoZSBmdW5jdGlvbiBjb25zdHJ1Y3RvciBhcmd1bWVudHMgYXJlICJhLGIsYyIgYW5kICJudWxsIgogKi8KCnZhciBwID0gImEsYixjIjsKCi8vQ0hFQ0sjMQp0cnkgewogIHZhciBmID0gbmV3IEZ1bmN0aW9uKHAsIG51bGwpOwp9IGNhdGNoIChlKSB7CiAgJEZBSUwoJyMxOiB0ZXN0IGZhaWxlZCB3aXRoIGVycm9yICcrZSk7Cn0KCi8vQ0hFQ0sjMgppZiAoZi5jb25zdHJ1Y3RvciAhPT0gRnVuY3Rpb24pIHsKICAkRVJST1IoJyMyOiBXaGVuIHRoZSBGdW5jdGlvbiBjb25zdHJ1Y3RvciBpcyBjYWxsZWQgd2l0aCBhcmd1bWVudHMgcCwgYm9keSBjcmVhdGVzIGEgbmV3IEZ1bmN0aW9uIG9iamVjdCBhcyBzcGVjaWZpZWQgaW4gMTMuMicpOwp9CgovL0NIRUNLIzMKaWYgKGYoKSE9PXVuZGVmaW5lZCkgewogICRFUlJPUignIzM6IFdoZW4gdGhlIEZ1bmN0aW9uIGNvbnN0cnVjdG9yIGlzIGNhbGxlZCB3aXRoIGFyZ3VtZW50cyBwLCBib2R5IHRoZSBmb2xsb3dpbmcgc3RlcHMgYXJlIHRha2VuLi4uJyk7Cn0KCg==","commentary":"When the Function constructor is called with arguments p, body the following steps are taken:\ni) Let Result(i) be the first argument\nii) Let P be ToString(Result(i))\niii) Call ToString(body)\niv) If P is not parsable as a FormalParameterList_opt then throw a SyntaxError exception\nv) If body is not parsable as FunctionBody then throw a SyntaxError exception\nvi) Create a new Function object as specified in 13.2 with parameters specified by parsing P as a FormalParameterListopt and body specified by parsing body as a FunctionBody\nPass in a scope chain consisting of the global object as the Scope parameter\nvii) Return Result(vi)","description":"Values of the function constructor arguments are \"a,b,c\" and \"null\"","path":"TestCases/ch15/15.3/15.3.2/S15.3.2.1_A3_T13.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuIHRoZSBGdW5jdGlvbiBjb25zdHJ1Y3RvciBpcyBjYWxsZWQgd2l0aCBhcmd1bWVudHMgcCwgYm9keSB0aGUgZm9sbG93aW5nIHN0ZXBzIGFyZSB0YWtlbjoKICogaSkgTGV0IFJlc3VsdChpKSBiZSB0aGUgZmlyc3QgYXJndW1lbnQKICogaWkpIExldCBQIGJlIFRvU3RyaW5nKFJlc3VsdChpKSkKICogaWlpKSBDYWxsIFRvU3RyaW5nKGJvZHkpCiAqIGl2KSBJZiBQIGlzIG5vdCBwYXJzYWJsZSBhcyBhIEZvcm1hbFBhcmFtZXRlckxpc3Rfb3B0IHRoZW4gdGhyb3cgYSBTeW50YXhFcnJvciBleGNlcHRpb24KICogdikgSWYgYm9keSBpcyBub3QgcGFyc2FibGUgYXMgRnVuY3Rpb25Cb2R5IHRoZW4gdGhyb3cgYSBTeW50YXhFcnJvciBleGNlcHRpb24KICogdmkpIENyZWF0ZSBhIG5ldyBGdW5jdGlvbiBvYmplY3QgYXMgc3BlY2lmaWVkIGluIDEzLjIgd2l0aCBwYXJhbWV0ZXJzIHNwZWNpZmllZCBieSBwYXJzaW5nIFAgYXMgYSBGb3JtYWxQYXJhbWV0ZXJMaXN0b3B0IGFuZCBib2R5IHNwZWNpZmllZCBieSBwYXJzaW5nIGJvZHkgYXMgYSBGdW5jdGlvbkJvZHkKICogUGFzcyBpbiBhIHNjb3BlIGNoYWluIGNvbnNpc3Rpbmcgb2YgdGhlIGdsb2JhbCBvYmplY3QgYXMgdGhlIFNjb3BlIHBhcmFtZXRlcgogKiB2aWkpIFJldHVybiBSZXN1bHQodmkpCiAqCiAqIEBwYXRoIGNoMTUvMTUuMy8xNS4zLjIvUzE1LjMuMi4xX0EzX1QxNC5qcwogKiBAZGVzY3JpcHRpb24gVmFsdWVzIG9mIHRoZSBmdW5jdGlvbiBjb25zdHJ1Y3RvciBhcmd1bWVudHMgYXJlICJhLGIsYyIgYW5kIGFuIHVuZGVmaW5lZCB2YXJpYWJsZQogKi8KCnZhciBwID0gImEsYixjIjsKCi8vQ0hFQ0sjMQp0cnkgewogIHZhciBmID0gbmV3IEZ1bmN0aW9uKHAsIGJvZHkpOwp9IGNhdGNoIChlKSB7CiAgJEZBSUwoJyMxOiB0ZXN0IGZhaWxlZCB3aXRoIGVycm9yICcrZSk7Cn0KCi8vQ0hFQ0sjMgppZiAoZi5jb25zdHJ1Y3RvciAhPT0gRnVuY3Rpb24pIHsKICAkRVJST1IoJyMyOiBXaGVuIHRoZSBGdW5jdGlvbiBjb25zdHJ1Y3RvciBpcyBjYWxsZWQgd2l0aCBhcmd1bWVudHMgcCwgYm9keSBjcmVhdGVzIGEgbmV3IEZ1bmN0aW9uIG9iamVjdCBhcyBzcGVjaWZpZWQgaW4gMTMuMicpOwp9CgovL0NIRUNLIzMKaWYgKGYoKSE9PXVuZGVmaW5lZCkgewogICRFUlJPUignIzM6IFdoZW4gdGhlIEZ1bmN0aW9uIGNvbnN0cnVjdG9yIGlzIGNhbGxlZCB3aXRoIGFyZ3VtZW50cyBwLCBib2R5IHRoZSBmb2xsb3dpbmcgc3RlcHMgYXJlIHRha2VuLi4uJyk7Cn0KCnZhciBib2R5OwoK","commentary":"When the Function constructor is called with arguments p, body the following steps are taken:\ni) Let Result(i) be the first argument\nii) Let P be ToString(Result(i))\niii) Call ToString(body)\niv) If P is not parsable as a FormalParameterList_opt then throw a SyntaxError exception\nv) If body is not parsable as FunctionBody then throw a SyntaxError exception\nvi) Create a new Function object as specified in 13.2 with parameters specified by parsing P as a FormalParameterListopt and body specified by parsing body as a FunctionBody\nPass in a scope chain consisting of the global object as the Scope parameter\nvii) Return Result(vi)","description":"Values of the function constructor arguments are \"a,b,c\" and an undefined variable","path":"TestCases/ch15/15.3/15.3.2/S15.3.2.1_A3_T14.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuIHRoZSBGdW5jdGlvbiBjb25zdHJ1Y3RvciBpcyBjYWxsZWQgd2l0aCBhcmd1bWVudHMgcCwgYm9keSB0aGUgZm9sbG93aW5nIHN0ZXBzIGFyZSB0YWtlbjoKICogaSkgTGV0IFJlc3VsdChpKSBiZSB0aGUgZmlyc3QgYXJndW1lbnQKICogaWkpIExldCBQIGJlIFRvU3RyaW5nKFJlc3VsdChpKSkKICogaWlpKSBDYWxsIFRvU3RyaW5nKGJvZHkpCiAqIGl2KSBJZiBQIGlzIG5vdCBwYXJzYWJsZSBhcyBhIEZvcm1hbFBhcmFtZXRlckxpc3Rfb3B0IHRoZW4gdGhyb3cgYSBTeW50YXhFcnJvciBleGNlcHRpb24KICogdikgSWYgYm9keSBpcyBub3QgcGFyc2FibGUgYXMgRnVuY3Rpb25Cb2R5IHRoZW4gdGhyb3cgYSBTeW50YXhFcnJvciBleGNlcHRpb24KICogdmkpIENyZWF0ZSBhIG5ldyBGdW5jdGlvbiBvYmplY3QgYXMgc3BlY2lmaWVkIGluIDEzLjIgd2l0aCBwYXJhbWV0ZXJzIHNwZWNpZmllZCBieSBwYXJzaW5nIFAgYXMgYSBGb3JtYWxQYXJhbWV0ZXJMaXN0b3B0IGFuZCBib2R5IHNwZWNpZmllZCBieSBwYXJzaW5nIGJvZHkgYXMgYSBGdW5jdGlvbkJvZHkKICogUGFzcyBpbiBhIHNjb3BlIGNoYWluIGNvbnNpc3Rpbmcgb2YgdGhlIGdsb2JhbCBvYmplY3QgYXMgdGhlIFNjb3BlIHBhcmFtZXRlcgogKiB2aWkpIFJldHVybiBSZXN1bHQodmkpCiAqCiAqIEBwYXRoIGNoMTUvMTUuMy8xNS4zLjIvUzE1LjMuMi4xX0EzX1QxNS5qcwogKiBAZGVzY3JpcHRpb24gVmFsdWVzIG9mIHRoZSBmdW5jdGlvbiBjb25zdHJ1Y3RvciBhcmd1bWVudHMgYXJlIGFyZSB0d28gZW1wdHkgc3RyaW5ncwogKi8KCi8vQ0hFQ0sjMQp0cnkgewogIHZhciBmID0gbmV3IEZ1bmN0aW9uKCIiLCAiIik7Cn0gY2F0Y2ggKGUpIHsKICAkRkFJTCgnIzE6IHRlc3QgZmFpbGVkIHdpdGggZXJyb3IgJytlKTsKfQoKLy9DSEVDSyMyCmlmIChmLmNvbnN0cnVjdG9yICE9PSBGdW5jdGlvbikgewogICRFUlJPUignIzI6IFdoZW4gdGhlIEZ1bmN0aW9uIGNvbnN0cnVjdG9yIGlzIGNhbGxlZCB3aXRoIGFyZ3VtZW50cyBwLCBib2R5IGNyZWF0ZXMgYSBuZXcgRnVuY3Rpb24gb2JqZWN0IGFzIHNwZWNpZmllZCBpbiAxMy4yJyk7Cn0KCi8vQ0hFQ0sjMwppZiAoZigpIT09dW5kZWZpbmVkKSB7CiAgJEVSUk9SKCcjMzogV2hlbiB0aGUgRnVuY3Rpb24gY29uc3RydWN0b3IgaXMgY2FsbGVkIHdpdGggYXJndW1lbnRzIHAsIGJvZHkgdGhlIGZvbGxvd2luZyBzdGVwcyBhcmUgdGFrZW4uLi4nKTsKfQoK","commentary":"When the Function constructor is called with arguments p, body the following steps are taken:\ni) Let Result(i) be the first argument\nii) Let P be ToString(Result(i))\niii) Call ToString(body)\niv) If P is not parsable as a FormalParameterList_opt then throw a SyntaxError exception\nv) If body is not parsable as FunctionBody then throw a SyntaxError exception\nvi) Create a new Function object as specified in 13.2 with parameters specified by parsing P as a FormalParameterListopt and body specified by parsing body as a FunctionBody\nPass in a scope chain consisting of the global object as the Scope parameter\nvii) Return Result(vi)","description":"Values of the function constructor arguments are are two empty strings","path":"TestCases/ch15/15.3/15.3.2/S15.3.2.1_A3_T15.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuIHRoZSBGdW5jdGlvbiBjb25zdHJ1Y3RvciBpcyBjYWxsZWQgd2l0aCBhcmd1bWVudHMgcCwgYm9keSB0aGUgZm9sbG93aW5nIHN0ZXBzIGFyZSB0YWtlbjoKICogaSkgTGV0IFJlc3VsdChpKSBiZSB0aGUgZmlyc3QgYXJndW1lbnQKICogaWkpIExldCBQIGJlIFRvU3RyaW5nKFJlc3VsdChpKSkKICogaWlpKSBDYWxsIFRvU3RyaW5nKGJvZHkpCiAqIGl2KSBJZiBQIGlzIG5vdCBwYXJzYWJsZSBhcyBhIEZvcm1hbFBhcmFtZXRlckxpc3Rfb3B0IHRoZW4gdGhyb3cgYSBTeW50YXhFcnJvciBleGNlcHRpb24KICogdikgSWYgYm9keSBpcyBub3QgcGFyc2FibGUgYXMgRnVuY3Rpb25Cb2R5IHRoZW4gdGhyb3cgYSBTeW50YXhFcnJvciBleGNlcHRpb24KICogdmkpIENyZWF0ZSBhIG5ldyBGdW5jdGlvbiBvYmplY3QgYXMgc3BlY2lmaWVkIGluIDEzLjIgd2l0aCBwYXJhbWV0ZXJzIHNwZWNpZmllZCBieSBwYXJzaW5nIFAgYXMgYSBGb3JtYWxQYXJhbWV0ZXJMaXN0b3B0IGFuZCBib2R5IHNwZWNpZmllZCBieSBwYXJzaW5nIGJvZHkgYXMgYSBGdW5jdGlvbkJvZHkKICogUGFzcyBpbiBhIHNjb3BlIGNoYWluIGNvbnNpc3Rpbmcgb2YgdGhlIGdsb2JhbCBvYmplY3QgYXMgdGhlIFNjb3BlIHBhcmFtZXRlcgogKiB2aWkpIFJldHVybiBSZXN1bHQodmkpCiAqCiAqIEBwYXRoIGNoMTUvMTUuMy8xNS4zLjIvUzE1LjMuMi4xX0EzX1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBWYWx1ZXMgb2YgdGhlIGZ1bmN0aW9uIGNvbnN0cnVjdG9yIGFyZ3VtZW50cyBhcmUgInt0b1N0cmluZzpmdW5jdGlvbigpe3JldHVybiAnYSc7fX0iIGFuZCAicmV0dXJuIGE7IgogKi8KCnZhciBwID0ge3RvU3RyaW5nOmZ1bmN0aW9uKCl7cmV0dXJuICJhIjt9fTsKdmFyIGJvZHkgPSAicmV0dXJuIGE7IjsKCi8vQ0hFQ0sjMQp0cnkgewogIHZhciBmID0gbmV3IEZ1bmN0aW9uKHAsYm9keSk7Cn0gY2F0Y2ggKGUpIHsKICAkRkFJTCgnIzE6IHRlc3QgZmFpbGVkIHdpdGggZXJyb3IgJytlKTsKfQoKLy9DSEVDSyMyCmlmIChmLmNvbnN0cnVjdG9yICE9PSBGdW5jdGlvbikgewogICRFUlJPUignIzI6IFdoZW4gdGhlIEZ1bmN0aW9uIGNvbnN0cnVjdG9yIGlzIGNhbGxlZCB3aXRoIGFyZ3VtZW50cyBwLCBib2R5IGNyZWF0ZXMgYSBuZXcgRnVuY3Rpb24gb2JqZWN0IGFzIHNwZWNpZmllZCBpbiAxMy4yJyk7Cn0KCi8vQ0hFQ0sjMwppZiAoZig0MikhPT00MikgewogICRFUlJPUignIzM6IFdoZW4gdGhlIEZ1bmN0aW9uIGNvbnN0cnVjdG9yIGlzIGNhbGxlZCB3aXRoIGFyZ3VtZW50cyBwLCBib2R5IGNyZWF0ZXMgYSBuZXcgRnVuY3Rpb24gb2JqZWN0IGFzIHNwZWNpZmllZCBpbiAxMy4yJyk7Cn0KCgoK","commentary":"When the Function constructor is called with arguments p, body the following steps are taken:\ni) Let Result(i) be the first argument\nii) Let P be ToString(Result(i))\niii) Call ToString(body)\niv) If P is not parsable as a FormalParameterList_opt then throw a SyntaxError exception\nv) If body is not parsable as FunctionBody then throw a SyntaxError exception\nvi) Create a new Function object as specified in 13.2 with parameters specified by parsing P as a FormalParameterListopt and body specified by parsing body as a FunctionBody\nPass in a scope chain consisting of the global object as the Scope parameter\nvii) Return Result(vi)","description":"Values of the function constructor arguments are \"{toString:function(){return 'a';}}\" and \"return a;\"","path":"TestCases/ch15/15.3/15.3.2/S15.3.2.1_A3_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuIHRoZSBGdW5jdGlvbiBjb25zdHJ1Y3RvciBpcyBjYWxsZWQgd2l0aCBhcmd1bWVudHMgcCwgYm9keSB0aGUgZm9sbG93aW5nIHN0ZXBzIGFyZSB0YWtlbjoKICogaSkgTGV0IFJlc3VsdChpKSBiZSB0aGUgZmlyc3QgYXJndW1lbnQKICogaWkpIExldCBQIGJlIFRvU3RyaW5nKFJlc3VsdChpKSkKICogaWlpKSBDYWxsIFRvU3RyaW5nKGJvZHkpCiAqIGl2KSBJZiBQIGlzIG5vdCBwYXJzYWJsZSBhcyBhIEZvcm1hbFBhcmFtZXRlckxpc3Rfb3B0IHRoZW4gdGhyb3cgYSBTeW50YXhFcnJvciBleGNlcHRpb24KICogdikgSWYgYm9keSBpcyBub3QgcGFyc2FibGUgYXMgRnVuY3Rpb25Cb2R5IHRoZW4gdGhyb3cgYSBTeW50YXhFcnJvciBleGNlcHRpb24KICogdmkpIENyZWF0ZSBhIG5ldyBGdW5jdGlvbiBvYmplY3QgYXMgc3BlY2lmaWVkIGluIDEzLjIgd2l0aCBwYXJhbWV0ZXJzIHNwZWNpZmllZCBieSBwYXJzaW5nIFAgYXMgYSBGb3JtYWxQYXJhbWV0ZXJMaXN0b3B0IGFuZCBib2R5IHNwZWNpZmllZCBieSBwYXJzaW5nIGJvZHkgYXMgYSBGdW5jdGlvbkJvZHkKICogUGFzcyBpbiBhIHNjb3BlIGNoYWluIGNvbnNpc3Rpbmcgb2YgdGhlIGdsb2JhbCBvYmplY3QgYXMgdGhlIFNjb3BlIHBhcmFtZXRlcgogKiB2aWkpIFJldHVybiBSZXN1bHQodmkpCiAqCiAqIEBwYXRoIGNoMTUvMTUuMy8xNS4zLjIvUzE1LjMuMi4xX0EzX1QzLmpzCiAqIEBkZXNjcmlwdGlvbiBWYWx1ZXMgb2YgdGhlIGZ1bmN0aW9uIGNvbnN0cnVjdG9yIGFyZ3VtZW50cyBhcmUgInt0b1N0cmluZzpmdW5jdGlvbigpe3A9MTtyZXR1cm4gImEiO319IiBhbmQgInt0b1N0cmluZzpmdW5jdGlvbigpe3Rocm93ICJib2R5Ijt9fSIKICovCgp2YXIgcCA9IHt0b1N0cmluZzpmdW5jdGlvbigpe3A9MTtyZXR1cm4gImEiO319Owp2YXIgYm9keSA9IHt0b1N0cmluZzpmdW5jdGlvbigpe3Rocm93ICJib2R5Ijt9fTsKCi8vQ0hFQ0sjMQp0cnkgewogIHZhciBmID0gbmV3IEZ1bmN0aW9uKHAsYm9keSk7CiAgJEZBSUwoJyMxOiB0ZXN0IGZhaWxlZCcpOwp9IGNhdGNoIChlKSB7CiAgaWYgKGUgIT09ICJib2R5IikgewogIAkkRVJST1IoJyMxLjE6IGkpIExldCBSZXN1bHQoaSkgYmUgdGhlIGZpcnN0IGFyZ3VtZW50OyBpaSkgTGV0IFAgYmUgVG9TdHJpbmcoUmVzdWx0KGkpKScpOwogIH0KfQoKLy9DSEVDSyMyCmlmIChwICE9PSAxKSB7CiAgJEVSUk9SKCcjMjogaSkgTGV0IFJlc3VsdChpKSBiZSB0aGUgZmlyc3QgYXJndW1lbnQ7IGlpKSBMZXQgUCBiZSBUb1N0cmluZyhSZXN1bHQoaSkpJyk7Cn0KCgoKCg==","commentary":"When the Function constructor is called with arguments p, body the following steps are taken:\ni) Let Result(i) be the first argument\nii) Let P be ToString(Result(i))\niii) Call ToString(body)\niv) If P is not parsable as a FormalParameterList_opt then throw a SyntaxError exception\nv) If body is not parsable as FunctionBody then throw a SyntaxError exception\nvi) Create a new Function object as specified in 13.2 with parameters specified by parsing P as a FormalParameterListopt and body specified by parsing body as a FunctionBody\nPass in a scope chain consisting of the global object as the Scope parameter\nvii) Return Result(vi)","description":"Values of the function constructor arguments are \"{toString:function(){p=1;return \"a\";}}\" and \"{toString:function(){throw \"body\";}}\"","path":"TestCases/ch15/15.3/15.3.2/S15.3.2.1_A3_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuIHRoZSBGdW5jdGlvbiBjb25zdHJ1Y3RvciBpcyBjYWxsZWQgd2l0aCBhcmd1bWVudHMgcCwgYm9keSB0aGUgZm9sbG93aW5nIHN0ZXBzIGFyZSB0YWtlbjoKICogaSkgTGV0IFJlc3VsdChpKSBiZSB0aGUgZmlyc3QgYXJndW1lbnQKICogaWkpIExldCBQIGJlIFRvU3RyaW5nKFJlc3VsdChpKSkKICogaWlpKSBDYWxsIFRvU3RyaW5nKGJvZHkpCiAqIGl2KSBJZiBQIGlzIG5vdCBwYXJzYWJsZSBhcyBhIEZvcm1hbFBhcmFtZXRlckxpc3Rfb3B0IHRoZW4gdGhyb3cgYSBTeW50YXhFcnJvciBleGNlcHRpb24KICogdikgSWYgYm9keSBpcyBub3QgcGFyc2FibGUgYXMgRnVuY3Rpb25Cb2R5IHRoZW4gdGhyb3cgYSBTeW50YXhFcnJvciBleGNlcHRpb24KICogdmkpIENyZWF0ZSBhIG5ldyBGdW5jdGlvbiBvYmplY3QgYXMgc3BlY2lmaWVkIGluIDEzLjIgd2l0aCBwYXJhbWV0ZXJzIHNwZWNpZmllZCBieSBwYXJzaW5nIFAgYXMgYSBGb3JtYWxQYXJhbWV0ZXJMaXN0b3B0IGFuZCBib2R5IHNwZWNpZmllZCBieSBwYXJzaW5nIGJvZHkgYXMgYSBGdW5jdGlvbkJvZHkKICogUGFzcyBpbiBhIHNjb3BlIGNoYWluIGNvbnNpc3Rpbmcgb2YgdGhlIGdsb2JhbCBvYmplY3QgYXMgdGhlIFNjb3BlIHBhcmFtZXRlcgogKiB2aWkpIFJldHVybiBSZXN1bHQodmkpCiAqCiAqIEBwYXRoIGNoMTUvMTUuMy8xNS4zLjIvUzE1LjMuMi4xX0EzX1Q0LmpzCiAqIEBkZXNjcmlwdGlvbiBWYWx1ZXMgb2YgdGhlIGZ1bmN0aW9uIGNvbnN0cnVjdG9yIGFyZ3VtZW50cyBhcmUgYW4gdW5kZWZpbmVkIHZhcmlhYmxlIGFuZCAicmV0dXJuIDEuMTsiCiAqLwoKdmFyIGJvZHkgPSAicmV0dXJuIDEuMTsiOwoKLy9DSEVDSyMxCnRyeSB7CiAgdmFyIGYgPSBuZXcgRnVuY3Rpb24ocCxib2R5KTsKfSBjYXRjaCAoZSkgewogICRGQUlMKCcjMTogdGVzdCBmYWlsZWQgd2l0aCBlcnJvciAnK2UpOwp9CgovL0NIRUNLIzIKaWYgKGYuY29uc3RydWN0b3IgIT09IEZ1bmN0aW9uKSB7CiAgJEVSUk9SKCcjMjogV2hlbiB0aGUgRnVuY3Rpb24gY29uc3RydWN0b3IgaXMgY2FsbGVkIHdpdGggb25lIGFyZ3VtZW50IHRoZW4gYm9keSBiZSB0aGF0IGFyZ3VtZW50IGFuZCBjcmVhdGVzIGEgbmV3IEZ1bmN0aW9uIG9iamVjdCBhcyBzcGVjaWZpZWQgaW4gMTMuMicpOwp9CgovL0NIRUNLIzMKaWYgKGYoKSE9PTEuMSkgewogICRFUlJPUignIzM6IFdoZW4gdGhlIEZ1bmN0aW9uIGNvbnN0cnVjdG9yIGlzIGNhbGxlZCB3aXRoIG9uZSBhcmd1bWVudCB0aGVuIGJvZHkgYmUgdGhhdCBhcmd1bWVudCB0aGUgZm9sbG93aW5nIHN0ZXBzIGFyZSB0YWtlbi4uLicpOwp9Cgp2YXIgcDsK","commentary":"When the Function constructor is called with arguments p, body the following steps are taken:\ni) Let Result(i) be the first argument\nii) Let P be ToString(Result(i))\niii) Call ToString(body)\niv) If P is not parsable as a FormalParameterList_opt then throw a SyntaxError exception\nv) If body is not parsable as FunctionBody then throw a SyntaxError exception\nvi) Create a new Function object as specified in 13.2 with parameters specified by parsing P as a FormalParameterListopt and body specified by parsing body as a FunctionBody\nPass in a scope chain consisting of the global object as the Scope parameter\nvii) Return Result(vi)","description":"Values of the function constructor arguments are an undefined variable and \"return 1.1;\"","path":"TestCases/ch15/15.3/15.3.2/S15.3.2.1_A3_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuIHRoZSBGdW5jdGlvbiBjb25zdHJ1Y3RvciBpcyBjYWxsZWQgd2l0aCBhcmd1bWVudHMgcCwgYm9keSB0aGUgZm9sbG93aW5nIHN0ZXBzIGFyZSB0YWtlbjoKICogaSkgTGV0IFJlc3VsdChpKSBiZSB0aGUgZmlyc3QgYXJndW1lbnQKICogaWkpIExldCBQIGJlIFRvU3RyaW5nKFJlc3VsdChpKSkKICogaWlpKSBDYWxsIFRvU3RyaW5nKGJvZHkpCiAqIGl2KSBJZiBQIGlzIG5vdCBwYXJzYWJsZSBhcyBhIEZvcm1hbFBhcmFtZXRlckxpc3Rfb3B0IHRoZW4gdGhyb3cgYSBTeW50YXhFcnJvciBleGNlcHRpb24KICogdikgSWYgYm9keSBpcyBub3QgcGFyc2FibGUgYXMgRnVuY3Rpb25Cb2R5IHRoZW4gdGhyb3cgYSBTeW50YXhFcnJvciBleGNlcHRpb24KICogdmkpIENyZWF0ZSBhIG5ldyBGdW5jdGlvbiBvYmplY3QgYXMgc3BlY2lmaWVkIGluIDEzLjIgd2l0aCBwYXJhbWV0ZXJzIHNwZWNpZmllZCBieSBwYXJzaW5nIFAgYXMgYSBGb3JtYWxQYXJhbWV0ZXJMaXN0b3B0IGFuZCBib2R5IHNwZWNpZmllZCBieSBwYXJzaW5nIGJvZHkgYXMgYSBGdW5jdGlvbkJvZHkKICogUGFzcyBpbiBhIHNjb3BlIGNoYWluIGNvbnNpc3Rpbmcgb2YgdGhlIGdsb2JhbCBvYmplY3QgYXMgdGhlIFNjb3BlIHBhcmFtZXRlcgogKiB2aWkpIFJldHVybiBSZXN1bHQodmkpCiAqCiAqIEBwYXRoIGNoMTUvMTUuMy8xNS4zLjIvUzE1LjMuMi4xX0EzX1Q1LmpzCiAqIEBkZXNjcmlwdGlvbiBWYWx1ZXMgb2YgdGhlIGZ1bmN0aW9uIGNvbnN0cnVjdG9yIGFyZ3VtZW50cyBhcmUgInZvaWQgMCIgYW5kICJyZXR1cm4gXCJBXCI7IgogKi8KCnZhciBib2R5ID0gInJldHVybiBcIkFcIjsiOwoKLy9DSEVDSyMxCnRyeSB7CiAgdmFyIGYgPSBuZXcgRnVuY3Rpb24odm9pZCAwLGJvZHkpOwp9IGNhdGNoIChlKSB7CiAgJEZBSUwoJyMxOiB0ZXN0IGZhaWxlZCB3aXRoIGVycm9yICcrZSk7Cn0KCi8vQ0hFQ0sjMgppZiAoZi5jb25zdHJ1Y3RvciAhPT0gRnVuY3Rpb24pIHsKICAkRVJST1IoJyMyOiBXaGVuIHRoZSBGdW5jdGlvbiBjb25zdHJ1Y3RvciBpcyBjYWxsZWQgd2l0aCBvbmUgYXJndW1lbnQgdGhlbiBib2R5IGJlIHRoYXQgYXJndW1lbnQgYW5kIGNyZWF0ZXMgYSBuZXcgRnVuY3Rpb24gb2JqZWN0IGFzIHNwZWNpZmllZCBpbiAxMy4yJyk7Cn0KCi8vQ0hFQ0sjMwppZiAoZigpIT09J1x1MDA0MScpIHsKICAkRVJST1IoJyMzOiBXaGVuIHRoZSBGdW5jdGlvbiBjb25zdHJ1Y3RvciBpcyBjYWxsZWQgd2l0aCBvbmUgYXJndW1lbnQgdGhlbiBib2R5IGJlIHRoYXQgYXJndW1lbnQgdGhlIGZvbGxvd2luZyBzdGVwcyBhcmUgdGFrZW4uLi4nKTsKfQoKCgo=","commentary":"When the Function constructor is called with arguments p, body the following steps are taken:\ni) Let Result(i) be the first argument\nii) Let P be ToString(Result(i))\niii) Call ToString(body)\niv) If P is not parsable as a FormalParameterList_opt then throw a SyntaxError exception\nv) If body is not parsable as FunctionBody then throw a SyntaxError exception\nvi) Create a new Function object as specified in 13.2 with parameters specified by parsing P as a FormalParameterListopt and body specified by parsing body as a FunctionBody\nPass in a scope chain consisting of the global object as the Scope parameter\nvii) Return Result(vi)","description":"Values of the function constructor arguments are \"void 0\" and \"return \\\"A\\\";\"","path":"TestCases/ch15/15.3/15.3.2/S15.3.2.1_A3_T5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuIHRoZSBGdW5jdGlvbiBjb25zdHJ1Y3RvciBpcyBjYWxsZWQgd2l0aCBhcmd1bWVudHMgcCwgYm9keSB0aGUgZm9sbG93aW5nIHN0ZXBzIGFyZSB0YWtlbjoKICogaSkgTGV0IFJlc3VsdChpKSBiZSB0aGUgZmlyc3QgYXJndW1lbnQKICogaWkpIExldCBQIGJlIFRvU3RyaW5nKFJlc3VsdChpKSkKICogaWlpKSBDYWxsIFRvU3RyaW5nKGJvZHkpCiAqIGl2KSBJZiBQIGlzIG5vdCBwYXJzYWJsZSBhcyBhIEZvcm1hbFBhcmFtZXRlckxpc3Rfb3B0IHRoZW4gdGhyb3cgYSBTeW50YXhFcnJvciBleGNlcHRpb24KICogdikgSWYgYm9keSBpcyBub3QgcGFyc2FibGUgYXMgRnVuY3Rpb25Cb2R5IHRoZW4gdGhyb3cgYSBTeW50YXhFcnJvciBleGNlcHRpb24KICogdmkpIENyZWF0ZSBhIG5ldyBGdW5jdGlvbiBvYmplY3QgYXMgc3BlY2lmaWVkIGluIDEzLjIgd2l0aCBwYXJhbWV0ZXJzIHNwZWNpZmllZCBieSBwYXJzaW5nIFAgYXMgYSBGb3JtYWxQYXJhbWV0ZXJMaXN0b3B0IGFuZCBib2R5IHNwZWNpZmllZCBieSBwYXJzaW5nIGJvZHkgYXMgYSBGdW5jdGlvbkJvZHkKICogUGFzcyBpbiBhIHNjb3BlIGNoYWluIGNvbnNpc3Rpbmcgb2YgdGhlIGdsb2JhbCBvYmplY3QgYXMgdGhlIFNjb3BlIHBhcmFtZXRlcgogKiB2aWkpIFJldHVybiBSZXN1bHQodmkpCiAqCiAqIEBwYXRoIGNoMTUvMTUuMy8xNS4zLjIvUzE1LjMuMi4xX0EzX1Q2LmpzCiAqIEBkZXNjcmlwdGlvbiBWYWx1ZXMgb2YgdGhlIGZ1bmN0aW9uIGNvbnN0cnVjdG9yIGFyZ3VtZW50cyBhcmUgIm51bGwiIGFuZCAicmV0dXJuIHRydWU7IgogKi8KCnZhciBib2R5ID0gInJldHVybiB0cnVlOyI7CgovL0NIRUNLIzEKdHJ5IHsKICB2YXIgZiA9IG5ldyBGdW5jdGlvbihudWxsLGJvZHkpOwogICRGQUlMKCcjMTogSWYgUCBpcyBub3QgcGFyc2FibGUgYXMgYSBGb3JtYWxQYXJhbWV0ZXJMaXN0X29wdCB0aGVuIHRocm93IGEgU3ludGF4RXJyb3IgZXhjZXB0aW9uJyk7Cn0gY2F0Y2ggKGUpIHsKICBpZiAoIShlIGluc3RhbmNlb2YgU3ludGF4RXJyb3IpKSB7CiAgCSRFUlJPUignIzEuMTogSWYgUCBpcyBub3QgcGFyc2FibGUgYXMgYSBGb3JtYWxQYXJhbWV0ZXJMaXN0X29wdCB0aGVuIHRocm93IGEgU3ludGF4RXJyb3IgZXhjZXB0aW9uJyk7CiAgfQp9Cg==","commentary":"When the Function constructor is called with arguments p, body the following steps are taken:\ni) Let Result(i) be the first argument\nii) Let P be ToString(Result(i))\niii) Call ToString(body)\niv) If P is not parsable as a FormalParameterList_opt then throw a SyntaxError exception\nv) If body is not parsable as FunctionBody then throw a SyntaxError exception\nvi) Create a new Function object as specified in 13.2 with parameters specified by parsing P as a FormalParameterListopt and body specified by parsing body as a FunctionBody\nPass in a scope chain consisting of the global object as the Scope parameter\nvii) Return Result(vi)","description":"Values of the function constructor arguments are \"null\" and \"return true;\"","path":"TestCases/ch15/15.3/15.3.2/S15.3.2.1_A3_T6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuIHRoZSBGdW5jdGlvbiBjb25zdHJ1Y3RvciBpcyBjYWxsZWQgd2l0aCBhcmd1bWVudHMgcCwgYm9keSB0aGUgZm9sbG93aW5nIHN0ZXBzIGFyZSB0YWtlbjoKICogaSkgTGV0IFJlc3VsdChpKSBiZSB0aGUgZmlyc3QgYXJndW1lbnQKICogaWkpIExldCBQIGJlIFRvU3RyaW5nKFJlc3VsdChpKSkKICogaWlpKSBDYWxsIFRvU3RyaW5nKGJvZHkpCiAqIGl2KSBJZiBQIGlzIG5vdCBwYXJzYWJsZSBhcyBhIEZvcm1hbFBhcmFtZXRlckxpc3Rfb3B0IHRoZW4gdGhyb3cgYSBTeW50YXhFcnJvciBleGNlcHRpb24KICogdikgSWYgYm9keSBpcyBub3QgcGFyc2FibGUgYXMgRnVuY3Rpb25Cb2R5IHRoZW4gdGhyb3cgYSBTeW50YXhFcnJvciBleGNlcHRpb24KICogdmkpIENyZWF0ZSBhIG5ldyBGdW5jdGlvbiBvYmplY3QgYXMgc3BlY2lmaWVkIGluIDEzLjIgd2l0aCBwYXJhbWV0ZXJzIHNwZWNpZmllZCBieSBwYXJzaW5nIFAgYXMgYSBGb3JtYWxQYXJhbWV0ZXJMaXN0b3B0IGFuZCBib2R5IHNwZWNpZmllZCBieSBwYXJzaW5nIGJvZHkgYXMgYSBGdW5jdGlvbkJvZHkKICogUGFzcyBpbiBhIHNjb3BlIGNoYWluIGNvbnNpc3Rpbmcgb2YgdGhlIGdsb2JhbCBvYmplY3QgYXMgdGhlIFNjb3BlIHBhcmFtZXRlcgogKiB2aWkpIFJldHVybiBSZXN1bHQodmkpCiAqCiAqIEBwYXRoIGNoMTUvMTUuMy8xNS4zLjIvUzE1LjMuMi4xX0EzX1Q3LmpzCiAqIEBkZXNjcmlwdGlvbiBWYWx1ZXMgb2YgdGhlIGZ1bmN0aW9uIGNvbnN0cnVjdG9yIGFyZ3VtZW50cyBhcmUgIk9iamVjdCgiYSIpIiBhbmQgInJldHVybiBhOyIKICovCgp2YXIgYm9keSA9ICJyZXR1cm4gYTsiOwoKdmFyIHA9T2JqZWN0KCJhIik7CgovL0NIRUNLIzEKdHJ5IHsKICB2YXIgZiA9IG5ldyBGdW5jdGlvbihwLCBib2R5KTsKfSBjYXRjaCAoZSkgewogICRGQUlMKCcjMTogdGVzdCBmYWlsZWQgd2l0aCBlcnJvciAnK2UpOwp9CgovL0NIRUNLIzIKaWYgKGYuY29uc3RydWN0b3IgIT09IEZ1bmN0aW9uKSB7CiAgJEVSUk9SKCcjMjogV2hlbiB0aGUgRnVuY3Rpb24gY29uc3RydWN0b3IgaXMgY2FsbGVkIHdpdGggb25lIGFyZ3VtZW50IHRoZW4gYm9keSBiZSB0aGF0IGFyZ3VtZW50IGFuZCBjcmVhdGVzIGEgbmV3IEZ1bmN0aW9uIG9iamVjdCBhcyBzcGVjaWZpZWQgaW4gMTMuMicpOwp9CgovL0NIRUNLIzMKaWYgKGYoMSkhPT0xKSB7CiAgJEVSUk9SKCcjMzogV2hlbiB0aGUgRnVuY3Rpb24gY29uc3RydWN0b3IgaXMgY2FsbGVkIHdpdGggb25lIGFyZ3VtZW50IHRoZW4gYm9keSBiZSB0aGF0IGFyZ3VtZW50IHRoZSBmb2xsb3dpbmcgc3RlcHMgYXJlIHRha2VuLi4uJyk7Cn0K","commentary":"When the Function constructor is called with arguments p, body the following steps are taken:\ni) Let Result(i) be the first argument\nii) Let P be ToString(Result(i))\niii) Call ToString(body)\niv) If P is not parsable as a FormalParameterList_opt then throw a SyntaxError exception\nv) If body is not parsable as FunctionBody then throw a SyntaxError exception\nvi) Create a new Function object as specified in 13.2 with parameters specified by parsing P as a FormalParameterListopt and body specified by parsing body as a FunctionBody\nPass in a scope chain consisting of the global object as the Scope parameter\nvii) Return Result(vi)","description":"Values of the function constructor arguments are \"Object(\"a\")\" and \"return a;\"","path":"TestCases/ch15/15.3/15.3.2/S15.3.2.1_A3_T7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuIHRoZSBGdW5jdGlvbiBjb25zdHJ1Y3RvciBpcyBjYWxsZWQgd2l0aCBhcmd1bWVudHMgcCwgYm9keSB0aGUgZm9sbG93aW5nIHN0ZXBzIGFyZSB0YWtlbjoKICogaSkgTGV0IFJlc3VsdChpKSBiZSB0aGUgZmlyc3QgYXJndW1lbnQKICogaWkpIExldCBQIGJlIFRvU3RyaW5nKFJlc3VsdChpKSkKICogaWlpKSBDYWxsIFRvU3RyaW5nKGJvZHkpCiAqIGl2KSBJZiBQIGlzIG5vdCBwYXJzYWJsZSBhcyBhIEZvcm1hbFBhcmFtZXRlckxpc3Rfb3B0IHRoZW4gdGhyb3cgYSBTeW50YXhFcnJvciBleGNlcHRpb24KICogdikgSWYgYm9keSBpcyBub3QgcGFyc2FibGUgYXMgRnVuY3Rpb25Cb2R5IHRoZW4gdGhyb3cgYSBTeW50YXhFcnJvciBleGNlcHRpb24KICogdmkpIENyZWF0ZSBhIG5ldyBGdW5jdGlvbiBvYmplY3QgYXMgc3BlY2lmaWVkIGluIDEzLjIgd2l0aCBwYXJhbWV0ZXJzIHNwZWNpZmllZCBieSBwYXJzaW5nIFAgYXMgYSBGb3JtYWxQYXJhbWV0ZXJMaXN0b3B0IGFuZCBib2R5IHNwZWNpZmllZCBieSBwYXJzaW5nIGJvZHkgYXMgYSBGdW5jdGlvbkJvZHkKICogUGFzcyBpbiBhIHNjb3BlIGNoYWluIGNvbnNpc3Rpbmcgb2YgdGhlIGdsb2JhbCBvYmplY3QgYXMgdGhlIFNjb3BlIHBhcmFtZXRlcgogKiB2aWkpIFJldHVybiBSZXN1bHQodmkpCiAqCiAqIEBwYXRoIGNoMTUvMTUuMy8xNS4zLjIvUzE1LjMuMi4xX0EzX1Q4LmpzCiAqIEBkZXNjcmlwdGlvbiBWYWx1ZXMgb2YgdGhlIGZ1bmN0aW9uIGNvbnN0cnVjdG9yIGFyZ3VtZW50cyBhcmUgInVuZGVmaW5lZCIgYW5kICJyZXR1cm4gdGhpczsiCiAqLwoKdmFyIGJvZHkgPSAicmV0dXJuIHRoaXM7IjsKCi8vQ0hFQ0sjMQp0cnkgewogIHZhciBmID0gbmV3IEZ1bmN0aW9uKHVuZGVmaW5lZCxib2R5KTsKfSBjYXRjaCAoZSkgewogICRGQUlMKCcjMTogdGVzdCBmYWlsZWQgd2l0aCBlcnJvciAnK2UpOwp9CgovL0NIRUNLIzIKaWYgKGYuY29uc3RydWN0b3IgIT09IEZ1bmN0aW9uKSB7CiAgJEVSUk9SKCcjMjogV2hlbiB0aGUgRnVuY3Rpb24gY29uc3RydWN0b3IgaXMgY2FsbGVkIHdpdGggb25lIGFyZ3VtZW50IHRoZW4gYm9keSBiZSB0aGF0IGFyZ3VtZW50IGFuZCBjcmVhdGVzIGEgbmV3IEZ1bmN0aW9uIG9iamVjdCBhcyBzcGVjaWZpZWQgaW4gMTMuMicpOwp9CgovL0NIRUNLIzMKaWYgKGYoKSE9PXRoaXMpIHsKICAkRVJST1IoJyMzOiBXaGVuIHRoZSBGdW5jdGlvbiBjb25zdHJ1Y3RvciBpcyBjYWxsZWQgd2l0aCBvbmUgYXJndW1lbnQgdGhlbiBib2R5IGJlIHRoYXQgYXJndW1lbnQgdGhlIGZvbGxvd2luZyBzdGVwcyBhcmUgdGFrZW4uLi4nKTsKfQoKCgo=","commentary":"When the Function constructor is called with arguments p, body the following steps are taken:\ni) Let Result(i) be the first argument\nii) Let P be ToString(Result(i))\niii) Call ToString(body)\niv) If P is not parsable as a FormalParameterList_opt then throw a SyntaxError exception\nv) If body is not parsable as FunctionBody then throw a SyntaxError exception\nvi) Create a new Function object as specified in 13.2 with parameters specified by parsing P as a FormalParameterListopt and body specified by parsing body as a FunctionBody\nPass in a scope chain consisting of the global object as the Scope parameter\nvii) Return Result(vi)","description":"Values of the function constructor arguments are \"undefined\" and \"return this;\"","path":"TestCases/ch15/15.3/15.3.2/S15.3.2.1_A3_T8.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuIHRoZSBGdW5jdGlvbiBjb25zdHJ1Y3RvciBpcyBjYWxsZWQgd2l0aCBhcmd1bWVudHMgcCwgYm9keSB0aGUgZm9sbG93aW5nIHN0ZXBzIGFyZSB0YWtlbjoKICogaSkgTGV0IFJlc3VsdChpKSBiZSB0aGUgZmlyc3QgYXJndW1lbnQKICogaWkpIExldCBQIGJlIFRvU3RyaW5nKFJlc3VsdChpKSkKICogaWlpKSBDYWxsIFRvU3RyaW5nKGJvZHkpCiAqIGl2KSBJZiBQIGlzIG5vdCBwYXJzYWJsZSBhcyBhIEZvcm1hbFBhcmFtZXRlckxpc3Rfb3B0IHRoZW4gdGhyb3cgYSBTeW50YXhFcnJvciBleGNlcHRpb24KICogdikgSWYgYm9keSBpcyBub3QgcGFyc2FibGUgYXMgRnVuY3Rpb25Cb2R5IHRoZW4gdGhyb3cgYSBTeW50YXhFcnJvciBleGNlcHRpb24KICogdmkpIENyZWF0ZSBhIG5ldyBGdW5jdGlvbiBvYmplY3QgYXMgc3BlY2lmaWVkIGluIDEzLjIgd2l0aCBwYXJhbWV0ZXJzIHNwZWNpZmllZCBieSBwYXJzaW5nIFAgYXMgYSBGb3JtYWxQYXJhbWV0ZXJMaXN0b3B0IGFuZCBib2R5IHNwZWNpZmllZCBieSBwYXJzaW5nIGJvZHkgYXMgYSBGdW5jdGlvbkJvZHkKICogUGFzcyBpbiBhIHNjb3BlIGNoYWluIGNvbnNpc3Rpbmcgb2YgdGhlIGdsb2JhbCBvYmplY3QgYXMgdGhlIFNjb3BlIHBhcmFtZXRlcgogKiB2aWkpIFJldHVybiBSZXN1bHQodmkpCiAqCiAqIEBwYXRoIGNoMTUvMTUuMy8xNS4zLjIvUzE1LjMuMi4xX0EzX1Q5LmpzCiAqIEBkZXNjcmlwdGlvbiBWYWx1ZXMgb2YgdGhlIGZ1bmN0aW9uIGNvbnN0cnVjdG9yIGFyZ3VtZW50cyBhcmUgIjEsMSIgYW5kICJyZXR1cm4gdGhpczsiCiAqLwoKdmFyIGJvZHkgPSAicmV0dXJuIHRoaXM7IjsKdmFyIHA9IjEsMSI7CgovL0NIRUNLIzEKdHJ5IHsKICB2YXIgZiA9IG5ldyBGdW5jdGlvbihwLGJvZHkpOwogICRGQUlMKCcjMTogSWYgUCBpcyBub3QgcGFyc2FibGUgYXMgYSBGb3JtYWxQYXJhbWV0ZXJMaXN0X29wdCB0aGVuIHRocm93IGEgU3ludGF4RXJyb3IgZXhjZXB0aW9uJyk7Cn0gY2F0Y2ggKGUpIHsKICBpZiAoIShlIGluc3RhbmNlb2YgU3ludGF4RXJyb3IpKSB7CiAgCSRFUlJPUignIzEuMTogSWYgUCBpcyBub3QgcGFyc2FibGUgYXMgYSBGb3JtYWxQYXJhbWV0ZXJMaXN0X29wdCB0aGVuIHRocm93IGEgU3ludGF4RXJyb3IgZXhjZXB0aW9uJyk7CiAgfQp9Cgo=","commentary":"When the Function constructor is called with arguments p, body the following steps are taken:\ni) Let Result(i) be the first argument\nii) Let P be ToString(Result(i))\niii) Call ToString(body)\niv) If P is not parsable as a FormalParameterList_opt then throw a SyntaxError exception\nv) If body is not parsable as FunctionBody then throw a SyntaxError exception\nvi) Create a new Function object as specified in 13.2 with parameters specified by parsing P as a FormalParameterListopt and body specified by parsing body as a FunctionBody\nPass in a scope chain consisting of the global object as the Scope parameter\nvii) Return Result(vi)","description":"Values of the function constructor arguments are \"1,1\" and \"return this;\"","path":"TestCases/ch15/15.3/15.3.2/S15.3.2.1_A3_T9.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuIEZ1bmN0aW9uIGlzIGNhbGxlZCBhcyBwYXJ0IG9mIGEgbmV3IGV4cHJlc3Npb24sIGl0IGlzIGEgY29uc3RydWN0b3I6IGl0IGluaXRpYWxpc2VzIHRoZSBuZXdseSBjcmVhdGVkIG9iamVjdAogKgogKiBAcGF0aCBjaDE1LzE1LjMvMTUuMy4yL1MxNS4zLjJfQTEuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIHRoZSBjb25zdHVjdG9yIG9mIHRoZSBvYmplY3QgdGhhdCBpcyBjcmVhdGVkIGFzIGEgbmV3IEZ1bmN0aW9uCiAqLwoKdmFyIGYgPSBuZXcgRnVuY3Rpb247CgovL0NIRUNLIzEKaWYgKGYuY29uc3RydWN0b3IgIT09IEZ1bmN0aW9uKSB7CiAgJEVSUk9SKCcjMTogV2hlbiBGdW5jdGlvbiBpcyBjYWxsZWQgYXMgcGFydCBvZiBhIG5ldyBleHByZXNzaW9uLCBpdCBpcyBhIGNvbnN0cnVjdG9yOiBpdCBpbml0aWFsaXNlcyB0aGUgbmV3bHkgY3JlYXRlZCBvYmplY3QnKTsKfQoKLy9DSEVDSyMyCmlmIChmID09PSB1bmRlZmluZWQpIHsKICAkRVJST1IoJyMyOiBXaGVuIEZ1bmN0aW9uIGlzIGNhbGxlZCBhcyBwYXJ0IG9mIGEgbmV3IGV4cHJlc3Npb24sIGl0IGlzIGEgY29uc3RydWN0b3I6IGl0IGluaXRpYWxpc2VzIHRoZSBuZXdseSBjcmVhdGVkIG9iamVjdCcpOwp9Cgo=","commentary":"When Function is called as part of a new expression, it is a constructor: it initialises the newly created object","description":"Checking the constuctor of the object that is created as a new Function","path":"TestCases/ch15/15.3/15.3.2/S15.3.2_A1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4zLzE1LjMuMi8xNS4zLjIuMS8xNS4zLjIuMS0xMC00Z3MuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpY3QgTW9kZSAtIFN5bnRheEVycm9yIGlzIHRocm93biBpZiBhIGZ1bmN0aW9uIHVzaW5nIHRoZSBGdW5jdGlvbiBjb25zdHJ1Y3RvciBoYXMgdHdvIGlkZW50aWNhbCBwYXJhbWV0ZXJzIGluIChnbG9iYWwpIHN0cmljdCBtb2RlDQogKiBAb25seVN0cmljdA0KICogQG5lZ2F0aXZlIE5vdEVhcmx5RXJyb3INCiAqLw0KDQoidXNlIHN0cmljdCI7DQp0aHJvdyBOb3RFYXJseUVycm9yOw0KdmFyIF8xNV8zXzJfMV8xMF80X2Z1biA9IG5ldyBGdW5jdGlvbigncGFyYW1fMScsICdwYXJhbV8yJywgJ3BhcmFtXzEnLCAnInVzZSBzdHJpY3QiOyByZXR1cm4gMDsnKTsNCg==","commentary":"","description":"Strict Mode - SyntaxError is thrown if a function using the Function constructor has two identical parameters in (global) strict mode","negative":"NotEarlyError","onlyStrict":"","path":"TestCases/ch15/15.3/15.3.2/15.3.2.1/15.3.2.1-10-4gs.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4zLzE1LjMuMi8xNS4zLjIuMS8xNS4zLjIuMS0xMC02Z3MuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpY3QgTW9kZSAtIFN5bnRheEVycm9yIGlzIHRocm93biBpZiBhIGZ1bmN0aW9uIHVzaW5nIHRoZSBGdW5jdGlvbiBjb25zdHJ1Y3RvciBoYXMgdHdvIGlkZW50aWNhbCBwYXJhbWV0ZXJzIGluIChsb2NhbCkgc3RyaWN0IG1vZGUNCiAqIEBvbmx5U3RyaWN0DQogKiBAbmVnYXRpdmUgTm90RWFybHlFcnJvcg0KICovDQoNCnRocm93IE5vdEVhcmx5RXJyb3I7DQp2YXIgXzE1XzNfMl8xXzEwXzZfZnVuID0gbmV3IEZ1bmN0aW9uKCdwYXJhbV8xJywgJ3BhcmFtXzInLCAncGFyYW1fMScsICcidXNlIHN0cmljdCI7cmV0dXJuIDA7Jyk7DQo=","commentary":"","description":"Strict Mode - SyntaxError is thrown if a function using the Function constructor has two identical parameters in (local) strict mode","negative":"NotEarlyError","onlyStrict":"","path":"TestCases/ch15/15.3/15.3.2/15.3.2.1/15.3.2.1-10-6gs.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4zLzE1LjMuMi8xNS4zLjIuMS8xNS4zLjIuMS0xMS0xLXMuanMNCiAqIEBkZXNjcmlwdGlvbiBEdXBsaWNhdGUgc2VwZXJhdGUgcGFyYW1ldGVyIG5hbWUgaW4gRnVuY3Rpb24gY29uc3RydWN0b3IgdGhyb3dzIFN5bnRheEVycm9yIGluIHN0cmljdCBtb2RlDQogKiBAb25seVN0cmljdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7ICAgDQogIHRyeSB7DQogICAgRnVuY3Rpb24oJ2EnLCdhJywnInVzZSBzdHJpY3QiOycpOw0KICAgIHJldHVybiBmYWxzZTsNCiAgfQ0KICBjYXRjaCAoZSkgew0KICAgIHJldHVybiAoZSBpbnN0YW5jZW9mIFN5bnRheEVycm9yKTsNCiAgfQ0KICANCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Duplicate seperate parameter name in Function constructor throws SyntaxError in strict mode","onlyStrict":"","path":"TestCases/ch15/15.3/15.3.2/15.3.2.1/15.3.2.1-11-1-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4zLzE1LjMuMi8xNS4zLjIuMS8xNS4zLjIuMS0xMS0xLmpzDQogKiBAZGVzY3JpcHRpb24gRHVwbGljYXRlIHNlcGFyYXRlIHBhcmFtZXRlciBuYW1lIGluIEZ1bmN0aW9uIGNvbnN0cnVjdG9yIGFsbG93ZWQgaWYgYm9keSBub3Qgc3RyaWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpDQp7ICAgDQogICAgRnVuY3Rpb24oJ2EnLCdhJywncmV0dXJuOycpOw0KICAgIHJldHVybiB0cnVlOw0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Duplicate separate parameter name in Function constructor allowed if body not strict","path":"TestCases/ch15/15.3/15.3.2/15.3.2.1/15.3.2.1-11-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4zLzE1LjMuMi8xNS4zLjIuMS8xNS4zLjIuMS0xMS0yLXMuanMNCiAqIEBkZXNjcmlwdGlvbiBEdXBsaWNhdGUgc2VwZXJhdGUgcGFyYW1ldGVyIG5hbWUgaW4gRnVuY3Rpb24gY29uc3RydWN0b3IgY2FsbGVkIGZyb20gc3RyaWN0IG1vZGUgYWxsb3dlZCBpZiBib2R5IG5vdCBzdHJpY3QNCiAqIEBvbmx5U3RyaWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpDQp7IA0KICAidXNlIHN0cmljdCI7IA0KICB0cnkgew0KICAgIEZ1bmN0aW9uKCdhJywnYScsJ3JldHVybjsnKTsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfSBjYXRjaCAoZSkgew0KICAgIHJldHVybiBmYWxzZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Duplicate seperate parameter name in Function constructor called from strict mode allowed if body not strict","onlyStrict":"","path":"TestCases/ch15/15.3/15.3.2/15.3.2.1/15.3.2.1-11-2-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4zLzE1LjMuMi8xNS4zLjIuMS8xNS4zLjIuMS0xMS0zLXMuanMNCiAqIEBkZXNjcmlwdGlvbiBGdW5jdGlvbiBjb25zdHJ1Y3RvciBoYXZpbmcgYSBmb3JtYWwgcGFyYW1ldGVyIG5hbWVkICdldmFsJyB0aHJvd3MgU3ludGF4RXJyb3IgaWYgZnVuY3Rpb24gYm9keSBpcyBzdHJpY3QgbW9kZQ0KICogQG9ubHlTdHJpY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICANCg0KICB0cnkgew0KICAgIEZ1bmN0aW9uKCdldmFsJywgJyJ1c2Ugc3RyaWN0IjsnKTsNCglyZXR1cm4gZmFsc2U7DQogIH0NCiAgY2F0Y2ggKGUpIHsNCiAgICByZXR1cm4gKGUgaW5zdGFuY2VvZiBTeW50YXhFcnJvcik7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Function constructor having a formal parameter named 'eval' throws SyntaxError if function body is strict mode","onlyStrict":"","path":"TestCases/ch15/15.3/15.3.2/15.3.2.1/15.3.2.1-11-3-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4zLzE1LjMuMi8xNS4zLjIuMS8xNS4zLjIuMS0xMS0zLmpzDQogKiBAZGVzY3JpcHRpb24gRnVuY3Rpb24gY29uc3RydWN0b3IgbWF5IGhhdmUgYSBmb3JtYWwgcGFyYW1ldGVyIG5hbWVkICdldmFsJyBpZiBib2R5IGlzIG5vdCBzdHJpY3QgbW9kZQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIEZ1bmN0aW9uKCdldmFsJywgJ3JldHVybjsnKTsNCiAgcmV0dXJuIHRydWU7DQogIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Function constructor may have a formal parameter named 'eval' if body is not strict mode","path":"TestCases/ch15/15.3/15.3.2/15.3.2.1/15.3.2.1-11-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4zLzE1LjMuMi8xNS4zLjIuMS8xNS4zLjIuMS0xMS00LXMuanMNCiAqIEBkZXNjcmlwdGlvbiBGdW5jdGlvbiBjb25zdHJ1Y3RvciBjYWxsIGZyb20gc3RyaWN0IGNvZGUgd2l0aCBmb3JtYWwgcGFyYW1ldGVyIG5hbWVkICdldmFsJyBkb2VzIG5vdCB0aHJvd3MgU3ludGF4RXJyb3IgaWYgZnVuY3Rpb24gYm9keSBpcyBub3Qgc3RyaWN0IG1vZGUNCiAqIEBvbmx5U3RyaWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICJ1c2Ugc3RyaWN0IjsNCiAgIHRyeSB7IA0KICAgICBGdW5jdGlvbignZXZhbCcsICdyZXR1cm47Jyk7DQoJIHJldHVybiB0cnVlOw0KICAgfSBjYXRjaCAoZSkgew0KICAgICByZXR1cm4gZmFsc2U7DQogICB9DQogICANCiAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Function constructor call from strict code with formal parameter named 'eval' does not throws SyntaxError if function body is not strict mode","onlyStrict":"","path":"TestCases/ch15/15.3/15.3.2/15.3.2.1/15.3.2.1-11-4-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4zLzE1LjMuMi8xNS4zLjIuMS8xNS4zLjIuMS0xMS01LXMuanMNCiAqIEBkZXNjcmlwdGlvbiBEdXBsaWNhdGUgY29tYmluZWQgcGFyYW1ldGVyIG5hbWUgaW4gRnVuY3Rpb24gY29uc3RydWN0b3IgdGhyb3dzIFN5bnRheEVycm9yIGluIHN0cmljdCBtb2RlDQogKiBAb25seVN0cmljdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKQ0KeyAgIA0KICB0cnkgDQogIHsNCiAgICBGdW5jdGlvbignYSxhJywnInVzZSBzdHJpY3QiOycpOw0KCXJldHVybiBmYWxzZTsNCiAgfQ0KICBjYXRjaCAoZSkgew0KICAgIHJldHVybihlIGluc3RhbmNlb2YgU3ludGF4RXJyb3IpOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Duplicate combined parameter name in Function constructor throws SyntaxError in strict mode","onlyStrict":"","path":"TestCases/ch15/15.3/15.3.2/15.3.2.1/15.3.2.1-11-5-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4zLzE1LjMuMi8xNS4zLjIuMS8xNS4zLjIuMS0xMS01LmpzDQogKiBAZGVzY3JpcHRpb24gRHVwbGljYXRlIGNvbWJpbmVkIHBhcmFtZXRlciBuYW1lIGluIEZ1bmN0aW9uIGNvbnN0cnVjdG9yIGFsbG93ZWQgaWYgYm9keSBpcyBub3Qgc3RyaWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpDQp7ICAgDQogICAgRnVuY3Rpb24oJ2EsYScsJ3JldHVybjsnKTsNCiAgICByZXR1cm4gdHJ1ZTsNCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Duplicate combined parameter name in Function constructor allowed if body is not strict","path":"TestCases/ch15/15.3/15.3.2/15.3.2.1/15.3.2.1-11-5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4zLzE1LjMuMi8xNS4zLjIuMS8xNS4zLjIuMS0xMS02LXMuanMNCiAqIEBkZXNjcmlwdGlvbiBEdXBsaWNhdGUgY29tYmluZWQgcGFyYW1ldGVyIG5hbWUgYWxsb3dlZCBpbiBGdW5jdGlvbiBjb25zdHJ1Y3RvciBjYWxsZWQgaW4gc3RyaWN0IG1vZGUgaWYgYm9keSBub3Qgc3RyaWN0DQogKiBAb25seVN0cmljdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKQ0KeyANCiAgInVzZSBzdHJpY3QiOyANCiAgdHJ5IHsNCiAgICAgRnVuY3Rpb24oJ2EsYScsJ3JldHVybiBhOycpOw0KCSByZXR1cm4gdHJ1ZTsNCiAgfSBjYXRjaCAoZSkgew0KICAgICByZXR1cm4gZmFsc2U7DQogIH0NCiAgDQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Duplicate combined parameter name allowed in Function constructor called in strict mode if body not strict","onlyStrict":"","path":"TestCases/ch15/15.3/15.3.2/15.3.2.1/15.3.2.1-11-6-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4zLzE1LjMuMi8xNS4zLjIuMS8xNS4zLjIuMS0xMS03LXMuanMNCiAqIEBkZXNjcmlwdGlvbiBGdW5jdGlvbiBjb25zdHJ1Y3RvciBjYWxsIGZyb20gc3RyaWN0IGNvZGUgd2l0aCBmb3JtYWwgcGFyYW1ldGVyIG5hbWVkIGFyZ3VtZW50cyBkb2VzIG5vdCB0aHJvd3MgU3ludGF4RXJyb3IgaWYgZnVuY3Rpb24gYm9keSBpcyBub3Qgc3RyaWN0IG1vZGUNCiAqIEBvbmx5U3RyaWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICJ1c2Ugc3RyaWN0IjsNCiAgIHRyeSB7DQogICAgIEZ1bmN0aW9uKCdhcmd1bWVudHMnLCAncmV0dXJuOycpOw0KICAgICByZXR1cm4gdHJ1ZTsNCgkgDQogICB9IGNhdGNoIChlKSB7DQogICAgIHJldHVybiBmYWxzZTsNCiAgIH0NCiAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Function constructor call from strict code with formal parameter named arguments does not throws SyntaxError if function body is not strict mode","onlyStrict":"","path":"TestCases/ch15/15.3/15.3.2/15.3.2.1/15.3.2.1-11-7-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4zLzE1LjMuMi8xNS4zLjIuMS8xNS4zLjIuMS0xMS04LXMuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpY3QgTW9kZSAtIFN5bnRheEVycm9yIGlzIG5vdCB0aHJvd24gaWYgYSBmdW5jdGlvbiBpcyBjcmVhdGVkIHVzaW5nIGEgRnVuY3Rpb24gY29uc3RydWN0b3IgdGhhdCBoYXMgdHdvIGlkZW50aWNhbCBwYXJhbWV0ZXJzLCB3aGljaCBhcmUgc2VwYXJhdGVkIGJ5IGEgdW5pcXVlIHBhcmFtZXRlciBuYW1lIGFuZCB0aGVyZSBpcyBubyBleHBsaWNpdCAndXNlIHN0cmljdCcgaW4gdGhlIGZ1bmN0aW9uIGNvbnN0cnVjdG9yJ3MgYm9keQ0KICogQG9ubHlTdHJpY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICAidXNlIHN0cmljdCI7DQoNCiAgICAgICAgdmFyIGZvbyA9IG5ldyBGdW5jdGlvbigiYmF6IiwgInF1eCIsICJiYXoiLCAicmV0dXJuIDA7Iik7DQogICAgICAgIHJldHVybiB0cnVlOw0KDQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Strict Mode - SyntaxError is not thrown if a function is created using a Function constructor that has two identical parameters, which are separated by a unique parameter name and there is no explicit 'use strict' in the function constructor's body","onlyStrict":"","path":"TestCases/ch15/15.3/15.3.2/15.3.2.1/15.3.2.1-11-8-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4zLzE1LjMuMi8xNS4zLjIuMS8xNS4zLjIuMS0xMS05LXMuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpY3QgTW9kZSAtIFN5bnRheEVycm9yIGlzIHRocm93biBpZiBhIGZ1bmN0aW9uIGlzIGNyZWF0ZWQgdXNpbmcgdGhlIEZ1bmN0aW9uIGNvbnN0cnVjdG9yIHRoYXQgaGFzIHRocmVlIGlkZW50aWNhbCBwYXJhbWV0ZXJzIGFuZCB0aGVyZSBpcyBubyBleHBsaWNpdCAndXNlIHN0cmljdCcgaW4gdGhlIGZ1bmN0aW9uIGNvbnN0cnVjdG9yJ3MgYm9keQ0KICogQG9ubHlTdHJpY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICAidXNlIHN0cmljdCI7DQoNCiAgICAgICAgdmFyIGZvbyA9IG5ldyBGdW5jdGlvbigiYmF6IiwgImJheiIsICJiYXoiLCAicmV0dXJuIDA7Iik7DQogICAgICAgIHJldHVybiB0cnVlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Strict Mode - SyntaxError is thrown if a function is created using the Function constructor that has three identical parameters and there is no explicit 'use strict' in the function constructor's body","onlyStrict":"","path":"TestCases/ch15/15.3/15.3.2/15.3.2.1/15.3.2.1-11-9-s.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRnVuY3Rpb24gY29uc3RydWN0b3IgaGFzIHRoZSBwcm9wZXJ0eSAicHJvdG90eXBlIgogKgogKiBAcGF0aCBjaDE1LzE1LjMvMTUuMy4zL1MxNS4zLjNfQTEuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGV4aXN0ZW5jZSBvZiB0aGUgcHJvcGVydHkgInByb3RvdHlwZSIKICovCgppZighRnVuY3Rpb24uaGFzT3duUHJvcGVydHkoInByb3RvdHlwZSIpKXsKICAkRVJST1IoJyMxOiBUaGUgRnVuY3Rpb24gY29uc3RydWN0b3IgaGFzIHRoZSBwcm9wZXJ0eSAicHJvdG90eXBlIicpOwp9CgoK","commentary":"The Function constructor has the property \"prototype\"","description":"Checking existence of the property \"prototype\"","path":"TestCases/ch15/15.3/15.3.3/S15.3.3_A1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgdmFsdWUgb2YgdGhlIGludGVybmFsIFtbUHJvdG90eXBlXV0gcHJvcGVydHkgb2YgdGhlIEZ1bmN0aW9uIGNvbnN0cnVjdG9yCiAqIGlzIHRoZSBGdW5jdGlvbiBwcm90b3R5cGUgb2JqZWN0CiAqCiAqIEBwYXRoIGNoMTUvMTUuMy8xNS4zLjMvUzE1LjMuM19BMl9UMS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgcHJvdG90eXBlIG9mIEZ1bmN0aW9uCiAqLwoKLy8gQ0hFQ0sjCmlmICghKEZ1bmN0aW9uLnByb3RvdHlwZS5pc1Byb3RvdHlwZU9mKEZ1bmN0aW9uKSkpIHsKICAkRVJST1IoJyMxOiB0aGUgdmFsdWUgb2YgdGhlIGludGVybmFsIFtbUHJvdG90eXBlXV0gcHJvcGVydHkgb2YgdGhlIEZ1bmN0aW9uIGNvbnN0cnVjdG9yIGlzIHRoZSBGdW5jdGlvbiBwcm90b3R5cGUgb2JqZWN0LicpOwp9Cgo=","commentary":"The value of the internal [[Prototype]] property of the Function constructor\nis the Function prototype object","description":"Checking prototype of Function","path":"TestCases/ch15/15.3/15.3.3/S15.3.3_A2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgdmFsdWUgb2YgdGhlIGludGVybmFsIFtbUHJvdG90eXBlXV0gcHJvcGVydHkgb2YgdGhlIEZ1bmN0aW9uIGNvbnN0cnVjdG9yCiAqIGlzIHRoZSBGdW5jdGlvbiBwcm90b3R5cGUgb2JqZWN0CiAqCiAqIEBwYXRoIGNoMTUvMTUuMy8xNS4zLjMvUzE1LjMuM19BMl9UMi5qcwogKiBAZGVzY3JpcHRpb24gQWRkIG5ldyBwcm9wZXJ0eSB0byBGdW5jdGlvbi5wcm90b3R5cGUgYW5kIGNoZWNrIGl0CiAqLwoKRnVuY3Rpb24ucHJvdG90eXBlLmluZGljYXRvciA9IDE7CgovL0NIRUNLIwppZiAoRnVuY3Rpb24uaW5kaWNhdG9yICE9IDEpIHsKICAkRVJST1IoJyMxOiB0aGUgdmFsdWUgb2YgdGhlIGludGVybmFsIFtbUHJvdG90eXBlXV0gcHJvcGVydHkgb2YgdGhlIEZ1bmN0aW9uIGNvbnN0cnVjdG9yIGlzIHRoZSBGdW5jdGlvbiBwcm90b3R5cGUgb2JqZWN0LicpOwp9Cgo=","commentary":"The value of the internal [[Prototype]] property of the Function constructor\nis the Function prototype object","description":"Add new property to Function.prototype and check it","path":"TestCases/ch15/15.3/15.3.3/S15.3.3_A2_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBGdW5jdGlvbiBjb25zdHJ1Y3RvciBoYXMgbGVuZ3RoIHByb3BlcnR5IHdob3NlIHZhbHVlIGlzIDEKICoKICogQHBhdGggY2gxNS8xNS4zLzE1LjMuMy9TMTUuMy4zX0EzLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBGdW5jdGlvbi5sZW5ndGggcHJvcGVydHkKICovCgovL0NIRUNLIzEKaWYgKCFGdW5jdGlvbi5oYXNPd25Qcm9wZXJ0eSgibGVuZ3RoIikpewogICRFUlJPUignIzE6IEZ1bmN0aW9uIGNvbnN0cnVjdG9yIGhhcyBsZW5ndGggcHJvcGVydHknKTsKfQoKLy9DSEVDSyMyCmlmIChGdW5jdGlvbi5sZW5ndGggIT09IDEpIHsKICAkRVJST1IoJyMyOiBGdW5jdGlvbiBjb25zdHJ1Y3RvciBsZW5ndGggcHJvcGVydHkgdmFsdWUgaXMgMScpOwp9Cgo=","commentary":"Function constructor has length property whose value is 1","description":"Checking Function.length property","path":"TestCases/ch15/15.3/15.3.3/S15.3.3_A3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRnVuY3Rpb24ucHJvdG90eXBlIHByb3BlcnR5IGhhcyB0aGUgYXR0cmlidXRlIFJlYWRPbmx5CiAqCiAqIEBwYXRoIGNoMTUvMTUuMy8xNS4zLjMvMTUuMy4zLjEvUzE1LjMuMy4xX0ExLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiB2YXJ5aW5nIHRoZSBGdW5jdGlvbi5wcm90b3R5cGUgcHJvcGVydHkgZmFpbHMKICovCgp2YXIgb2JqID0gRnVuY3Rpb24ucHJvdG90eXBlOwpGdW5jdGlvbi5wcm90b3R5cGUgPSBmdW5jdGlvbigpe3JldHVybiAic2hpZnRlZCI7fTsKCi8vQ0hFQ0sjMQppZiAoRnVuY3Rpb24ucHJvdG90eXBlICE9PSBvYmopIHsKICAkRVJST1IoJyMxOiB0aGUgRnVuY3Rpb24ucHJvdG90eXBlIHByb3BlcnR5IGhhcyB0aGUgYXR0cmlidXRlcyBSZWFkT25seS4nKTsKfQoKLy9DSEVDSyMyCnRyeSB7CiAgaWYoRnVuY3Rpb24ucHJvdG90eXBlKCkhPT11bmRlZmluZWQpewogICAkRVJST1IoJyMyOiB0aGUgRnVuY3Rpb24ucHJvdG90eXBlIHByb3BlcnR5IGhhcyB0aGUgYXR0cmlidXRlcyBSZWFkT25seScpOwogIH0KfSBjYXRjaCAoZSkgewogICRFUlJPUignIzIuMTogdGhlIEZ1bmN0aW9uLnByb3RvdHlwZSBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZXMgUmVhZE9ubHk6ICcrZSk7Cn0KCg==","commentary":"The Function.prototype property has the attribute ReadOnly","description":"Checking if varying the Function.prototype property fails","path":"TestCases/ch15/15.3/15.3.3/15.3.3.1/S15.3.3.1_A1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRnVuY3Rpb24ucHJvdG90eXBlIHByb3BlcnR5IGhhcyB0aGUgYXR0cmlidXRlIERvbnRFbnVtCiAqCiAqIEBwYXRoIGNoMTUvMTUuMy8xNS4zLjMvMTUuMy4zLjEvUzE1LjMuMy4xX0EyLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiBlbnVtZXJhdGluZyB0aGUgRnVuY3Rpb24ucHJvdG90eXBlIHByb3BlcnR5IGZhaWxzCiAqLwoKLy8gQ0hFQ0sjMQppZiAoRnVuY3Rpb24ucHJvcGVydHlJc0VudW1lcmFibGUoJ3Byb3RvdHlwZScpKSB7CiAgJEVSUk9SKCcjMTogdGhlIEZ1bmN0aW9uLnByb3RvdHlwZSBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZXMgRG9udEVudW0nKTsKfQoKLy8gQ0hFQ0sjMgp2YXIgY291bnQ9MDsKCmZvciAocCBpbiBGdW5jdGlvbil7CiAgaWYgKHA9PT0icHJvdG90eXBlIikgY291bnQrKzsKfQoKaWYgKGNvdW50ICE9PSAwKSB7CiAgJEVSUk9SKCcjMjogdGhlIEZ1bmN0aW9uLnByb3RvdHlwZSBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZXMgRG9udEVudW0nKTsKfQoK","commentary":"The Function.prototype property has the attribute DontEnum","description":"Checking if enumerating the Function.prototype property fails","path":"TestCases/ch15/15.3/15.3.3/15.3.3.1/S15.3.3.1_A2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRnVuY3Rpb24ucHJvdG90eXBlIHByb3BlcnR5IGhhcyB0aGUgYXR0cmlidXRlIERvbnREZWxldGUKICoKICogQHBhdGggY2gxNS8xNS4zLzE1LjMuMy8xNS4zLjMuMS9TMTUuMy4zLjFfQTMuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIGRlbGV0aW5nIHRoZSBGdW5jdGlvbi5wcm90b3R5cGUgcHJvcGVydHkgZmFpbHMKICovCgpkZWxldGUgRnVuY3Rpb24ucHJvdG90eXBlOwoKLy9DSEVDSyMxCmlmICghKEZ1bmN0aW9uLmhhc093blByb3BlcnR5KCdwcm90b3R5cGUnKSkpIHsKICAkRVJST1IoJyMxOiB0aGUgRnVuY3Rpb24ucHJvdG90eXBlIHByb3BlcnR5IGhhcyB0aGUgYXR0cmlidXRlcyBEb250RGVsZXRlLicpOwp9Cgo=","commentary":"The Function.prototype property has the attribute DontDelete","description":"Checking if deleting the Function.prototype property fails","path":"TestCases/ch15/15.3/15.3.3/15.3.3.1/S15.3.3.1_A3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMTEgR29vZ2xlIEluYy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBEZXRlY3RzIHdoZXRoZXIgdGhlIHZhbHVlIG9mIGEgZnVuY3Rpb24ncyAicHJvdG90eXBlIiBwcm9wZXJ0eQogKiBhcyBzZWVuIGJ5IG5vcm1hbCBvYmplY3Qgb3BlcmF0aW9ucyBtaWdodCBkZXZpYXRlIGZyb20gdGhlIHZhbHVlCiAqIGFzIHNlZW0gYnkgT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcgogKgogKiBAcGF0aCBjaDE1LzE1LjMvMTUuMy4zLzE1LjMuMy4xL1MxNS4zLjMuMV9BNC5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tzIGlmIHJlYWRpbmcgYSBmdW5jdGlvbidzIC5wcm90b3R5cGUgZGlyZWN0bHkKICogYWdyZWVzIHdpdGggcmVhZGluZyBpdCB2aWEgT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvciwgYWZ0ZXIKICogaGF2aW5nIHNldCBpdCBieSBPYmplY3QuZGVmaW5lUHJvcGVydHkuCiAqLwoKZnVuY3Rpb24gZm9vKCkge30KCk9iamVjdC5kZWZpbmVQcm9wZXJ0eShmb28sICdwcm90b3R5cGUnLCB7IHZhbHVlOiB7fSB9KTsKaWYgKGZvby5wcm90b3R5cGUgIT09CiAgICBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGZvbywgJ3Byb3RvdHlwZScpLnZhbHVlKSB7CiAgJEVSUk9SKCJBIGZ1bmN0aW9uLnByb3RvdHlwZSdzIGRlc2NyaXB0b3IgbGllcyIpOwp9Cgo=","commentary":"Detects whether the value of a function's \"prototype\" property\nas seen by normal object operations might deviate from the value\nas seem by Object.getOwnPropertyDescriptor","description":"Checks if reading a function's .prototype directly\nagrees with reading it via Object.getOwnPropertyDescriptor, after\nhaving set it by Object.defineProperty.","path":"TestCases/ch15/15.3/15.3.3/15.3.3.1/S15.3.3.1_A4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4zLzE1LjMuMy8xNS4zLjMuMi8xNS4zLjMuMi0xLmpzDQogKiBAZGVzY3JpcHRpb24gRnVuY3Rpb24ubGVuZ3RoIC0gZGF0YSBwcm9wZXJ0eSB3aXRoIHZhbHVlIDENCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihGdW5jdGlvbiwibGVuZ3RoIik7DQogIGlmKGRlc2MudmFsdWUgPT09IDEgJiYNCiAgICAgZGVzYy53cml0YWJsZSA9PT0gZmFsc2UgJiYNCiAgICAgZGVzYy5lbnVtZXJhYmxlID09PSBmYWxzZSAmJg0KICAgICBkZXNjLmNvbmZpZ3VyYWJsZSA9PT0gZmFsc2UpDQogICAgcmV0dXJuIHRydWU7IA0KDQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Function.length - data property with value 1","path":"TestCases/ch15/15.3/15.3.3/15.3.3.2/15.3.3.2-1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgaW5pdGlhbCB2YWx1ZSBvZiBGdW5jdGlvbi5wcm90b3R5cGUuY29uc3RydWN0b3IgaXMgdGhlIGJ1aWx0LWluIEZ1bmN0aW9uIGNvbnN0cnVjdG9yCiAqCiAqIEBwYXRoIGNoMTUvMTUuMy8xNS4zLjQvUzE1LjMuNC4xX0ExX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBGdW5jdGlvbi5wcm90b3R5cGUuY29uc3RydWN0b3IKICovCgovL0NIRUNLIzEKaWYgKEZ1bmN0aW9uLnByb3RvdHlwZS5jb25zdHJ1Y3RvciAhPT0gRnVuY3Rpb24pIHsKICAkRVJST1IoJyMxOiBUaGUgaW5pdGlhbCB2YWx1ZSBvZiBGdW5jdGlvbi5wcm90b3R5cGUuY29uc3RydWN0b3IgaXMgdGhlIGJ1aWx0LWluIEZ1bmN0aW9uIGNvbnN0cnVjdG9yJyk7Cn0KCg==","commentary":"The initial value of Function.prototype.constructor is the built-in Function constructor","description":"Checking Function.prototype.constructor","path":"TestCases/ch15/15.3/15.3.4/S15.3.4.1_A1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRnVuY3Rpb24gcHJvdG90eXBlIG9iamVjdCBpcyBpdHNlbGYgYSBGdW5jdGlvbiBvYmplY3QgKGl0cyBbW0NsYXNzXV0gaXMgIkZ1bmN0aW9uIikKICoKICogQHBhdGggY2gxNS8xNS4zLzE1LjMuNC9TMTUuMy40X0ExLmpzCiAqIEBkZXNjcmlwdGlvbiBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nIHJldHVybnMgW29iamVjdCtbW0NsYXNzXV0rXQogKi8KCmlmIChPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwoRnVuY3Rpb24ucHJvdG90eXBlKSAhPT0gIltvYmplY3QgRnVuY3Rpb25dIikgewogICRFUlJPUignIzI6IFRoZSBGdW5jdGlvbiBwcm90b3R5cGUgb2JqZWN0IGlzIGl0c2VsZiBhIEZ1bmN0aW9uICcgKwogICAgICAgICAnb2JqZWN0IChpdHMgW1tDbGFzc11dIGlzICJGdW5jdGlvbiIpICgxNS4zLjQpJyk7Cn0KCg==","commentary":"The Function prototype object is itself a Function object (its [[Class]] is \"Function\")","description":"Object.prototype.toString returns [object+[[Class]]+]","path":"TestCases/ch15/15.3/15.3.4/S15.3.4_A1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRnVuY3Rpb24gcHJvdG90eXBlIG9iamVjdCBpcyBpdHNlbGYgYSBGdW5jdGlvbiBvYmplY3QgdGhhdCwgd2hlbiBpbnZva2VkLCBhY2NlcHRzIGFueSBhcmd1bWVudHMgYW5kIHJldHVybnMgdW5kZWZpbmVkCiAqCiAqIEBwYXRoIGNoMTUvMTUuMy8xNS4zLjQvUzE1LjMuNF9BMl9UMS5qcwogKiBAZGVzY3JpcHRpb24gQ2FsbCBGdW5jdGlvbi5wcm90b3R5cGUoKQogKi8KCi8vQ0hFQ0sjMQp0cnkgewogIGlmIChGdW5jdGlvbi5wcm90b3R5cGUoKSAhPT0gdW5kZWZpbmVkKSB7CiAgICAkRVJST1IoJyMxOiBUaGUgRnVuY3Rpb24gcHJvdG90eXBlIG9iamVjdCBpcyBpdHNlbGYgYSBGdW5jdGlvbiBvYmplY3QgdGhhdCwgd2hlbiBpbnZva2VkLCBhY2NlcHRzIGFueSBhcmd1bWVudHMgYW5kIHJldHVybnMgdW5kZWZpbmVkJyk7CiAgfQp9IGNhdGNoIChlKSB7CiAgJEVSUk9SKCcjMS4xOiBUaGUgRnVuY3Rpb24gcHJvdG90eXBlIG9iamVjdCBpcyBpdHNlbGYgYSBGdW5jdGlvbiBvYmplY3QgdGhhdCwgd2hlbiBpbnZva2VkLCBhY2NlcHRzIGFueSBhcmd1bWVudHMgYW5kIHJldHVybnMgdW5kZWZpbmVkOiAnK2UpOwp9Cgo=","commentary":"The Function prototype object is itself a Function object that, when invoked, accepts any arguments and returns undefined","description":"Call Function.prototype()","path":"TestCases/ch15/15.3/15.3.4/S15.3.4_A2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRnVuY3Rpb24gcHJvdG90eXBlIG9iamVjdCBpcyBpdHNlbGYgYSBGdW5jdGlvbiBvYmplY3QgdGhhdCwgd2hlbiBpbnZva2VkLCBhY2NlcHRzIGFueSBhcmd1bWVudHMgYW5kIHJldHVybnMgdW5kZWZpbmVkCiAqCiAqIEBwYXRoIGNoMTUvMTUuMy8xNS4zLjQvUzE1LjMuNF9BMl9UMi5qcwogKiBAZGVzY3JpcHRpb24gQ2FsbCBGdW5jdGlvbi5wcm90b3R5cGUobnVsbCx2b2lkIDApCiAqLwoKLy9DSEVDSyMxCnRyeSB7CiAgaWYgKEZ1bmN0aW9uLnByb3RvdHlwZShudWxsLHZvaWQgMCkgIT09IHVuZGVmaW5lZCkgewogICAgJEVSUk9SKCcjMTogVGhlIEZ1bmN0aW9uIHByb3RvdHlwZSBvYmplY3QgaXMgaXRzZWxmIGEgRnVuY3Rpb24gb2JqZWN0IHRoYXQsIHdoZW4gaW52b2tlZCwgYWNjZXB0cyBhbnkgYXJndW1lbnRzIGFuZCByZXR1cm5zIHVuZGVmaW5lZCcpOwogIH0KfSBjYXRjaCAoZSkgewogICRFUlJPUignIzEuMTogVGhlIEZ1bmN0aW9uIHByb3RvdHlwZSBvYmplY3QgaXMgaXRzZWxmIGEgRnVuY3Rpb24gb2JqZWN0IHRoYXQsIHdoZW4gaW52b2tlZCwgYWNjZXB0cyBhbnkgYXJndW1lbnRzIGFuZCByZXR1cm5zIHVuZGVmaW5lZDogJytlKTsKfQoK","commentary":"The Function prototype object is itself a Function object that, when invoked, accepts any arguments and returns undefined","description":"Call Function.prototype(null,void 0)","path":"TestCases/ch15/15.3/15.3.4/S15.3.4_A2_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRnVuY3Rpb24gcHJvdG90eXBlIG9iamVjdCBpcyBpdHNlbGYgYSBGdW5jdGlvbiBvYmplY3QgdGhhdCwgd2hlbiBpbnZva2VkLCBhY2NlcHRzIGFueSBhcmd1bWVudHMgYW5kIHJldHVybnMgdW5kZWZpbmVkCiAqCiAqIEBwYXRoIGNoMTUvMTUuMy8xNS4zLjQvUzE1LjMuNF9BMl9UMy5qcwogKiBAZGVzY3JpcHRpb24gQ2FsbCBGdW5jdGlvbi5wcm90b3R5cGUoeCksIHdoZXJlIHggaXMgdW5kZWZpbmVkIHZhcmlhYmxlCiAqLwoKLy9DSEVDSyMxCnRyeSB7CiAgaWYgKEZ1bmN0aW9uLnByb3RvdHlwZSh4KSAhPT0gdW5kZWZpbmVkKSB7CiAgICB2YXIgeDsKICAgICRFUlJPUignIzE6IFRoZSBGdW5jdGlvbiBwcm90b3R5cGUgb2JqZWN0IGlzIGl0c2VsZiBhIEZ1bmN0aW9uIG9iamVjdCB0aGF0LCB3aGVuIGludm9rZWQsIGFjY2VwdHMgYW55IGFyZ3VtZW50cyBhbmQgcmV0dXJucyB1bmRlZmluZWQnKTsKICB9Cn0gY2F0Y2ggKGUpIHsKICAkRVJST1IoJyMxLjE6IFRoZSBGdW5jdGlvbiBwcm90b3R5cGUgb2JqZWN0IGlzIGl0c2VsZiBhIEZ1bmN0aW9uIG9iamVjdCB0aGF0LCB3aGVuIGludm9rZWQsIGFjY2VwdHMgYW55IGFyZ3VtZW50cyBhbmQgcmV0dXJucyB1bmRlZmluZWQ6ICcrZSk7Cn0KCgo=","commentary":"The Function prototype object is itself a Function object that, when invoked, accepts any arguments and returns undefined","description":"Call Function.prototype(x), where x is undefined variable","path":"TestCases/ch15/15.3/15.3.4/S15.3.4_A2_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgdmFsdWUgb2YgdGhlIGludGVybmFsIFtbUHJvdG90eXBlXV0gcHJvcGVydHkgb2YgdGhlIEZ1bmN0aW9uIHByb3RvdHlwZSBvYmplY3QgaXMgdGhlIE9iamVjdCBwcm90b3R5cGUgb2JqZWN0ICgxNS4zLjQpCiAqCiAqIEBwYXRoIGNoMTUvMTUuMy8xNS4zLjQvUzE1LjMuNF9BM19UMS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgcHJvdG90eXBlIG9mIEZ1bmN0aW9uLnByb3RvdHlwZQogKi8KCmlmIChPYmplY3QuZ2V0UHJvdG90eXBlT2YoRnVuY3Rpb24ucHJvdG90eXBlKSAhPT0gT2JqZWN0LnByb3RvdHlwZSkgewogICRFUlJPUignIzE6IFRoZSB2YWx1ZSBvZiB0aGUgaW50ZXJuYWwgW1tQcm90b3R5cGVdXSBwcm9wZXJ0eSBvZiAnICsKICAgICAgICAgJ3RoZSBGdW5jdGlvbiBwcm90b3R5cGUgb2JqZWN0IGlzIHRoZSBPYmplY3QgcHJvdG90eXBlICcgKwogICAgICAgICAnb2JqZWN0ICgxNS4zLjQpJyk7Cn0KCg==","commentary":"The value of the internal [[Prototype]] property of the Function prototype object is the Object prototype object (15.3.4)","description":"Checking prototype of Function.prototype","path":"TestCases/ch15/15.3/15.3.4/S15.3.4_A3_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgdmFsdWUgb2YgdGhlIGludGVybmFsIFtbUHJvdG90eXBlXV0gcHJvcGVydHkgb2YgdGhlIEZ1bmN0aW9uIHByb3RvdHlwZSBvYmplY3QgaXMgdGhlIE9iamVjdCBwcm90b3R5cGUgb2JqZWN0ICgxNS4zLjIuMSkKICoKICogQHBhdGggY2gxNS8xNS4zLzE1LjMuNC9TMTUuMy40X0EzX1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBBZGQgbmV3IHByb3BlcnR5IHRvIE9iamVjdC5wcm90b3R5cGUgYW5kIGNoZWNrIGl0IGF0IEZ1bmN0aW9uLnByb3RvdHlwZQogKi8KCk9iamVjdC5wcm90b3R5cGUuaW5kaWNhdG9yID0gMTsKCi8vQ0hFQ0sjMQppZiAoRnVuY3Rpb24ucHJvdG90eXBlLmluZGljYXRvciE9PTEpIHsKICAkRVJST1IoJyMxOiBUaGUgdmFsdWUgb2YgdGhlIGludGVybmFsIFtbUHJvdG90eXBlXV0gcHJvcGVydHkgb2YgdGhlIEZ1bmN0aW9uIHByb3RvdHlwZSBvYmplY3QgaXMgdGhlIE9iamVjdCBwcm90b3R5cGUgb2JqZWN0ICgxNS4zLjIuMSknKTsKfQoK","commentary":"The value of the internal [[Prototype]] property of the Function prototype object is the Object prototype object (15.3.2.1)","description":"Add new property to Object.prototype and check it at Function.prototype","path":"TestCases/ch15/15.3/15.3.4/S15.3.4_A3_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRnVuY3Rpb24gcHJvdG90eXBlIG9iamVjdCBkb2VzIG5vdCBoYXZlIGEgdmFsdWVPZiBwcm9wZXJ0eSBvZiBpdHMgb3duLiBob3dldmVyLCBpdCBpbmhlcml0cyB0aGUgdmFsdWVPZiBwcm9wZXJ0eSBmcm9tIHRoZSBPYmplY3QgcHJvdG90eXBlIE9iamVjdAogKgogKiBAcGF0aCBjaDE1LzE1LjMvMTUuMy40L1MxNS4zLjRfQTQuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIHZhbHVlT2YgcHJvcGVydHkgYXQgRnVuY3Rpb24ucHJvdG90eXBlCiAqLwoKLy9DSEVDSyMxCmlmIChGdW5jdGlvbi5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkoInZhbHVlT2YiKSAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyMxOiBUaGUgRnVuY3Rpb24gcHJvdG90eXBlIG9iamVjdCBkb2VzIG5vdCBoYXZlIGEgdmFsdWVPZiBwcm9wZXJ0eSBvZiBpdHMgb3duJyk7Cn0KCi8vQ0hFQ0sjMgppZiAodHlwZW9mIEZ1bmN0aW9uLnByb3RvdHlwZS52YWx1ZU9mID09PSAidW5kZWZpbmVkIikgewogICRFUlJPUignIzI6IGhvd2V2ZXIsIGl0IGluaGVyaXRzIHRoZSB2YWx1ZU9mIHByb3BlcnR5IGZyb20gdGhlIE9iamVjdCBwcm90b3R5cGUgT2JqZWN0Jyk7Cn0KCi8vQ0hFQ0sjMwppZiAoRnVuY3Rpb24ucHJvdG90eXBlLnZhbHVlT2YgIT09IE9iamVjdC5wcm90b3R5cGUudmFsdWVPZikgewogICRFUlJPUignIzM6IGhvd2V2ZXIsIGl0IGluaGVyaXRzIHRoZSB2YWx1ZU9mIHByb3BlcnR5IGZyb20gdGhlIE9iamVjdCBwcm90b3R5cGUgT2JqZWN0Jyk7Cn0KCg==","commentary":"The Function prototype object does not have a valueOf property of its own. however, it inherits the valueOf property from the Object prototype Object","description":"Checking valueOf property at Function.prototype","path":"TestCases/ch15/15.3/15.3.4/S15.3.4_A4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRnVuY3Rpb24gcHJvdG90eXBlIG9iamVjdCBpcyBpdHNlbGYgYSBGdW5jdGlvbiBvYmplY3Qgd2l0aG91dCBbW2NyZWF0ZV1dIHByb3BlcnR5CiAqCiAqIEBwYXRoIGNoMTUvMTUuMy8xNS4zLjQvUzE1LjMuNF9BNS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgaWYgY3JlYXRpbmcgIm5ldyBGdW5jdGlvbi5wcm90b3R5cGUgb2JqZWN0IiBmYWlscwogKi8KCi8vQ0hFQ0sjCnRyeSB7CiAgdmFyIG9iaiA9IG5ldyBGdW5jdGlvbi5wcm90b3R5cGU7CiAgJEZBSUwoJyMxOiBUaGUgRnVuY3Rpb24gcHJvdG90eXBlIG9iamVjdCBpcyBpdHNlbGYgYSBGdW5jdGlvbiBvYmplY3Qgd2l0aG91dCBbW2NyZWF0ZV1dIHByb3BlcnR5OiAnK2UpOwp9IGNhdGNoIChlKSB7CiAgJFBSSU5UKCIjMS4xOiBUaGUgRnVuY3Rpb24gcHJvdG90eXBlIG9iamVjdCBpcyBpdHNlbGYgYSBGdW5jdGlvbiBvYmplY3Qgd2l0aG91dCBbW2NyZWF0ZV1dIHByb3BlcnR5ICIrZSk7Cgp9Cgo=","commentary":"The Function prototype object is itself a Function object without [[create]] property","description":"Checking if creating \"new Function.prototype object\" fails","path":"TestCases/ch15/15.3/15.3.4/S15.3.4_A5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRnVuY3Rpb24ucHJvdG90eXBlLnRvU3RyaW5nLmxlbmd0aCBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZSBSZWFkT25seQogKgogKiBAcGF0aCBjaDE1LzE1LjMvMTUuMy40LzE1LjMuNC4yL1MxNS4zLjQuMl9BMTAuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIHZhcnlpbmcgdGhlIEZ1bmN0aW9uLnByb3RvdHlwZS50b1N0cmluZy5sZW5ndGggcHJvcGVydHkgZmFpbHMKICovCgovL0NIRUNLIzEKaWYgKCEoRnVuY3Rpb24ucHJvdG90eXBlLnRvU3RyaW5nLmhhc093blByb3BlcnR5KCdsZW5ndGgnKSkpIHsKICAkRkFJTCgnIzE6IHRoZSBGdW5jdGlvbi5wcm90b3R5cGUudG9TdHJpbmcgaGFzIGxlbmd0aCBwcm9wZXJ0eS4nKTsKfQoKdmFyIG9iaiA9IEZ1bmN0aW9uLnByb3RvdHlwZS50b1N0cmluZy5sZW5ndGg7CgpGdW5jdGlvbi5wcm90b3R5cGUudG9TdHJpbmcubGVuZ3RoID0gZnVuY3Rpb24oKXtyZXR1cm4gInNoaWZ0ZWQiO307CgovL0NIRUNLIzIKaWYgKEZ1bmN0aW9uLnByb3RvdHlwZS50b1N0cmluZy5sZW5ndGggIT09IG9iaikgewogICRFUlJPUignIzI6IHRoZSBGdW5jdGlvbi5wcm90b3R5cGUudG9TdHJpbmcgbGVuZ3RoIHByb3BlcnR5IGhhcyB0aGUgYXR0cmlidXRlcyBSZWFkT25seS4nKTsKfQoK","commentary":"The Function.prototype.toString.length property has the attribute ReadOnly","description":"Checking if varying the Function.prototype.toString.length property fails","path":"TestCases/ch15/15.3/15.3.4/15.3.4.2/S15.3.4.2_A10.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgbGVuZ3RoIHByb3BlcnR5IG9mIHRoZSB0b1N0cmluZyBtZXRob2QgaXMgMAogKgogKiBAcGF0aCBjaDE1LzE1LjMvMTUuMy40LzE1LjMuNC4yL1MxNS4zLjQuMl9BMTEuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIEZ1bmN0aW9uLnByb3RvdHlwZS50b1N0cmluZy5sZW5ndGgKICovCgovL0NIRUNLIzEKaWYgKCEoRnVuY3Rpb24ucHJvdG90eXBlLnRvU3RyaW5nLmhhc093blByb3BlcnR5KCJsZW5ndGgiKSkpIHsKICAkRVJST1IoJyMxOiBUaGUgRnVuY3Rpb24ucHJvdG90eXBlLnRvU3RyaW5nIGhhcyB0aGUgbGVuZ3RoIHByb3BlcnR5Jyk7Cn0KCi8vQ0hFQ0sjMgppZiAoRnVuY3Rpb24ucHJvdG90eXBlLnRvU3RyaW5nLmxlbmd0aCAhPT0gMCkgewogICRFUlJPUignIzI6IFRoZSBsZW5ndGggcHJvcGVydHkgb2YgdGhlIHRvU3RyaW5nIG1ldGhvZCBpcyAwJyk7Cn0KCg==","commentary":"The length property of the toString method is 0","description":"Checking Function.prototype.toString.length","path":"TestCases/ch15/15.3/15.3.4/15.3.4.2/S15.3.4.2_A11.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMTEgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBAcGF0aCBjaDE1LzE1LjMvMTUuMy40LzE1LjMuNC4yL1MxNS4zLjQuMl9BMTIuanMKICogQGRlc2NyaXB0aW9uIFRoZSBGdW5jdGlvbi5wcm90b3R5cGUudG9TdHJpbmcgZnVuY3Rpb24gaXMgbm90IGdlbmVyaWM7IGl0IHRocm93cyBhIFR5cGVFcnJvciBleGNlcHRpb24gaWYgaXRzIHRoaXMgdmFsdWUgaXMgbm90IGEgRnVuY3Rpb24gb2JqZWN0LgogKiBAbmVnYXRpdmUgVHlwZUVycm9yCiAqLwoKRnVuY3Rpb24ucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwodW5kZWZpbmVkKTsKCg==","commentary":"","description":"The Function.prototype.toString function is not generic; it throws a TypeError exception if its this value is not a Function object.","negative":"TypeError","path":"TestCases/ch15/15.3/15.3.4/15.3.4.2/S15.3.4.2_A12.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMTEgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBAcGF0aCBjaDE1LzE1LjMvMTUuMy40LzE1LjMuNC4yL1MxNS4zLjQuMl9BMTMuanMKICogQGRlc2NyaXB0aW9uIFRoZSB0b1N0cmluZyBmdW5jdGlvbiBpcyBub3QgZ2VuZXJpYzsgaXQgdGhyb3dzIGEgVHlwZUVycm9yIGV4Y2VwdGlvbiBpZiBpdHMgdGhpcyB2YWx1ZSBpcyBub3QgYSBGdW5jdGlvbiBvYmplY3QuCiAqIEBuZWdhdGl2ZSBUeXBlRXJyb3IKICovCgpGdW5jdGlvbi5wcm90b3R5cGUudG9TdHJpbmcuY2FsbChudWxsKTsKCg==","commentary":"","description":"The toString function is not generic; it throws a TypeError exception if its this value is not a Function object.","negative":"TypeError","path":"TestCases/ch15/15.3/15.3.4/15.3.4.2/S15.3.4.2_A13.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMTEgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBAcGF0aCBjaDE1LzE1LjMvMTUuMy40LzE1LjMuNC4yL1MxNS4zLjQuMl9BMTQuanMKICogQGRlc2NyaXB0aW9uIFRoZSB0b1N0cmluZyBmdW5jdGlvbiBpcyBub3QgZ2VuZXJpYzsgaXQgdGhyb3dzIGEgVHlwZUVycm9yIGV4Y2VwdGlvbiBpZiBpdHMgdGhpcyB2YWx1ZSBpcyBub3QgYSBGdW5jdGlvbiBvYmplY3QuCiAqIEBuZWdhdGl2ZSBUeXBlRXJyb3IKICovCgpGdW5jdGlvbi5wcm90b3R5cGUudG9TdHJpbmcuY2FsbCh7fSk7Cgo=","commentary":"","description":"The toString function is not generic; it throws a TypeError exception if its this value is not a Function object.","negative":"TypeError","path":"TestCases/ch15/15.3/15.3.4/15.3.4.2/S15.3.4.2_A14.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMTEgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgdG9TdHJpbmcgZnVuY3Rpb24gaXMgbm90IGdlbmVyaWM7IGl0IHRocm93cyBhIFR5cGVFcnJvciBleGNlcHRpb24gaWYgaXRzIHRoaXMgdmFsdWUgaXMgbm90IGEgRnVuY3Rpb24gb2JqZWN0LgogKgogKiBAcGF0aCBjaDE1LzE1LjMvMTUuMy40LzE1LjMuNC4yL1MxNS4zLjQuMl9BMTUuanMKICogQGRlc2NyaXB0aW9uIFdoZXRoZXIgb3Igbm90IHRoZXkgYXJlIGNhbGxhYmxlLCBSZWdFeHAgb2JqZWN0cyBhcmUgbm90IEZ1bmN0aW9uIG9iamVjdHMsIHNvIHRvU3RyaW5nIHNob3VsZCB0aHJvdyBhIFR5cGVFcnJvci4KICogQG5lZ2F0aXZlIFR5cGVFcnJvcgogKi8KCkZ1bmN0aW9uLnByb3RvdHlwZS50b1N0cmluZy5jYWxsKC94Lyk7Cgo=","commentary":"The toString function is not generic; it throws a TypeError exception if its this value is not a Function object.","description":"Whether or not they are callable, RegExp objects are not Function objects, so toString should throw a TypeError.","negative":"TypeError","path":"TestCases/ch15/15.3/15.3.4/15.3.4.2/S15.3.4.2_A15.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMTEgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgdG9TdHJpbmcgZnVuY3Rpb24gaXMgbm90IGdlbmVyaWM7IGl0IHRocm93cyBhIFR5cGVFcnJvciBleGNlcHRpb24gaWYgaXRzIHRoaXMgdmFsdWUgaXMgbm90IGEgRnVuY3Rpb24gb2JqZWN0LgogKgogKiBAcGF0aCBjaDE1LzE1LjMvMTUuMy40LzE1LjMuNC4yL1MxNS4zLjQuMl9BMTYuanMKICogQGRlc2NyaXB0aW9uIFRoZSBTdHJpbmcgY29uc3RydWN0b3IsIGdpdmVuIGFuIG9iamVjdCwgc2hvdWxkIGludm9rZSB0aGF0IG9iamVjdCdzIHRvU3RyaW5nIG1ldGhvZCBhcyBhIG1ldGhvZCwgaS5lLiwgd2l0aCBpdHMgdGhpcyB2YWx1ZSBib3VuZCB0byB0aGF0IG9iamVjdC4KICogQG5lZ2F0aXZlIFR5cGVFcnJvcgogKi8KCnZhciBvYmogPSB7dG9TdHJpbmc6IEZ1bmN0aW9uLnByb3RvdHlwZS50b1N0cmluZ307CgpTdHJpbmcob2JqKTsKCg==","commentary":"The toString function is not generic; it throws a TypeError exception if its this value is not a Function object.","description":"The String constructor, given an object, should invoke that object's toString method as a method, i.e., with its this value bound to that object.","negative":"TypeError","path":"TestCases/ch15/15.3/15.3.4/15.3.4.2/S15.3.4.2_A16.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBGdW5jdGlvbi5wcm90b3R5cGUudG9TdHJpbmcgaGFzIG5vdCBwcm90b3R5cGUgcHJvcGVydHkKICoKICogQHBhdGggY2gxNS8xNS4zLzE1LjMuNC8xNS4zLjQuMi9TMTUuMy40LjJfQTYuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIG9idGFpbmluZyB0aGUgcHJvdG90eXBlIHByb3BlcnR5IG9mIEZ1bmN0aW9uLnByb3RvdHlwZS50b1N0cmluZyBmYWlscwogKi8KCi8vQ0hFQ0sjMQppZiAoRnVuY3Rpb24ucHJvdG90eXBlLnRvU3RyaW5nLnByb3RvdHlwZSAhPT0gdW5kZWZpbmVkKSB7CiAgJEVSUk9SKCcjMTogRnVuY3Rpb24ucHJvdG90eXBlLnRvU3RyaW5nIGhhcyBub3QgcHJvdG90eXBlIHByb3BlcnR5JytGdW5jdGlvbi5wcm90b3R5cGUudG9TdHJpbmcucHJvdG90eXBlKTsKfQoK","commentary":"Function.prototype.toString has not prototype property","description":"Checking if obtaining the prototype property of Function.prototype.toString fails","path":"TestCases/ch15/15.3/15.3.4/15.3.4.2/S15.3.4.2_A6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBGdW5jdGlvbi5wcm90b3R5cGUudG9TdHJpbmcgY2FuJ3QgYmUgdXNlZCBhcyBjb25zdHJ1Y3RvcgogKgogKiBAcGF0aCBjaDE1LzE1LjMvMTUuMy40LzE1LjMuNC4yL1MxNS4zLjQuMl9BNy5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgaWYgY3JlYXRpbmcgIm5ldyBGdW5jdGlvbi5wcm90b3R5cGUudG9TdHJpbmciIGZhaWxzCiAqLwoKdmFyIEZBQ1RPUlkgPSBGdW5jdGlvbi5wcm90b3R5cGUudG9TdHJpbmc7Cgp0cnkgewogIHZhciBpbnN0YW5jZSA9IG5ldyBGQUNUT1JZOwogICRGQUlMKCcjMTogRnVuY3Rpb24ucHJvdG90eXBlLnRvU3RyaW5nIGNhblwndCBiZSB1c2VkIGFzIGNvbnN0cnVjdG9yJyk7Cn0gY2F0Y2ggKGUpIHsKICAkUFJJTlQoZSk7Cn0KCg==","commentary":"Function.prototype.toString can't be used as constructor","description":"Checking if creating \"new Function.prototype.toString\" fails","path":"TestCases/ch15/15.3/15.3.4/15.3.4.2/S15.3.4.2_A7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRnVuY3Rpb24ucHJvdG90eXBlLnRvU3RyaW5nLmxlbmd0aCBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZSBEb250RW51bQogKgogKiBAcGF0aCBjaDE1LzE1LjMvMTUuMy40LzE1LjMuNC4yL1MxNS4zLjQuMl9BOC5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgaWYgZW51bWVyYXRpbmcgdGhlIEZ1bmN0aW9uLnByb3RvdHlwZS50b1N0cmluZy5sZW5ndGggcHJvcGVydHkgZmFpbHMKICovCgovL0NIRUNLIzAKaWYgKCEoRnVuY3Rpb24ucHJvdG90eXBlLnRvU3RyaW5nLmhhc093blByb3BlcnR5KCdsZW5ndGgnKSkpIHsKICAkRkFJTCgnIzA6IHRoZSBGdW5jdGlvbi5wcm90b3R5cGUudG9TdHJpbmcgaGFzIGxlbmd0aCBwcm9wZXJ0eS4nKTsKfQoKCi8vIENIRUNLIzEKaWYgKEZ1bmN0aW9uLnByb3RvdHlwZS50b1N0cmluZy5wcm9wZXJ0eUlzRW51bWVyYWJsZSgnbGVuZ3RoJykpIHsKICAkRVJST1IoJyMxOiB0aGUgRnVuY3Rpb24ucHJvdG90eXBlLnRvU3RyaW5nLmxlbmd0aCBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZXMgRG9udEVudW0nKTsKfQoKLy8gQ0hFQ0sjMgpmb3IgKHAgaW4gRnVuY3Rpb24ucHJvdG90eXBlLnRvU3RyaW5nKXsKICBpZiAocD09PSJsZW5ndGgiKQogICAgICAkRVJST1IoJyMyOiB0aGUgRnVuY3Rpb24ucHJvdG90eXBlLnRvU3RyaW5nLmxlbmd0aCBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZXMgRG9udEVudW0nKTsKfQoK","commentary":"The Function.prototype.toString.length property has the attribute DontEnum","description":"Checking if enumerating the Function.prototype.toString.length property fails","path":"TestCases/ch15/15.3/15.3.4/15.3.4.2/S15.3.4.2_A8.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRnVuY3Rpb24ucHJvdG90eXBlLnRvU3RyaW5nLmxlbmd0aCBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZSBEb250RGVsZXRlCiAqCiAqIEBwYXRoIGNoMTUvMTUuMy8xNS4zLjQvMTUuMy40LjIvUzE1LjMuNC4yX0E5LmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiBkZWxldGluZyB0aGUgRnVuY3Rpb24ucHJvdG90eXBlLnRvU3RyaW5nLmxlbmd0aCBwcm9wZXJ0eSBmYWlscwogKi8KCi8vQ0hFQ0sjMAppZiAoIShGdW5jdGlvbi5wcm90b3R5cGUudG9TdHJpbmcuaGFzT3duUHJvcGVydHkoJ2xlbmd0aCcpKSkgewogICRGQUlMKCcjMDogdGhlIEZ1bmN0aW9uLnByb3RvdHlwZS50b1N0cmluZyBoYXMgbGVuZ3RoIHByb3BlcnR5Jyk7Cn0KCi8vQ0hFQ0sjMQppZiAoZGVsZXRlIEZ1bmN0aW9uLnByb3RvdHlwZS50b1N0cmluZy5sZW5ndGgpIHsKICAkRVJST1IoJyMxOiBUaGUgRnVuY3Rpb24ucHJvdG90eXBlLnRvU3RyaW5nLmxlbmd0aCBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZXMgRG9udERlbGV0ZScpOwp9CgovL0NIRUNLIzIKaWYgKCEoRnVuY3Rpb24ucHJvdG90eXBlLnRvU3RyaW5nLmhhc093blByb3BlcnR5KCdsZW5ndGgnKSkpIHsKICAkRkFJTCgnIzI6IFRoZSBGdW5jdGlvbi5wcm90b3R5cGUudG9TdHJpbmcubGVuZ3RoIHByb3BlcnR5IGhhcyB0aGUgYXR0cmlidXRlcyBEb250RGVsZXRlJyk7Cn0KCg==","commentary":"The Function.prototype.toString.length property has the attribute DontDelete","description":"Checking if deleting the Function.prototype.toString.length property fails","path":"TestCases/ch15/15.3/15.3.4/15.3.4.2/S15.3.4.2_A9.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4zLzE1LjMuNC8xNS4zLjQuMy8xNS4zLjQuMy0xLXMuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpY3QgTW9kZSAtICd0aGlzJyB2YWx1ZSBpcyBhIHN0cmluZyB3aGljaCBjYW5ub3QgYmUgY29udmVydGVkIHRvIHdyYXBwZXIgb2JqZWN0cyB3aGVuIHRoZSBmdW5jdGlvbiBpcyBjYWxsZWQgd2l0aCBhbiBhcnJheSBvZiBhcmd1bWVudHMNCiAqIEBvbmx5U3RyaWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgInVzZSBzdHJpY3QiOw0KDQogICAgICAgIGZ1bmN0aW9uIGZ1bigpIHsNCiAgICAgICAgICAgIHJldHVybiAodGhpcyBpbnN0YW5jZW9mIFN0cmluZyk7DQogICAgICAgIH0NCiAgICAgICAgcmV0dXJuICFmdW4uYXBwbHkoIiIsIEFycmF5KTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Strict Mode - 'this' value is a string which cannot be converted to wrapper objects when the function is called with an array of arguments","onlyStrict":"","path":"TestCases/ch15/15.3/15.3.4/15.3.4.3/15.3.4.3-1-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4zLzE1LjMuNC8xNS4zLjQuMy8xNS4zLjQuMy0yLXMuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpY3QgTW9kZSAtICd0aGlzJyB2YWx1ZSBpcyBhIG51bWJlciB3aGljaCBjYW5ub3QgYmUgY29udmVydGVkIHRvIHdyYXBwZXIgb2JqZWN0cyB3aGVuIHRoZSBmdW5jdGlvbiBpcyBjYWxsZWQgd2l0aCBhbiBhcnJheSBvZiBhcmd1bWVudHMNCiAqIEBvbmx5U3RyaWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgInVzZSBzdHJpY3QiOw0KICAgICAgICBmdW5jdGlvbiBmdW4oKSB7DQogICAgICAgICAgICByZXR1cm4gKHRoaXMgaW5zdGFuY2VvZiBOdW1iZXIpOw0KICAgICAgICB9DQogICAgICAgIHJldHVybiAhZnVuLmFwcGx5KC0xMiwgQXJyYXkpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Strict Mode - 'this' value is a number which cannot be converted to wrapper objects when the function is called with an array of arguments","onlyStrict":"","path":"TestCases/ch15/15.3/15.3.4/15.3.4.3/15.3.4.3-2-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4zLzE1LjMuNC8xNS4zLjQuMy8xNS4zLjQuMy0zLXMuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpY3QgTW9kZSAtICd0aGlzJyB2YWx1ZSBpcyBhIGJvb2xlYW4gd2hpY2ggY2Fubm90IGJlIGNvbnZlcnRlZCB0byB3cmFwcGVyIG9iamVjdHMgd2hlbiB0aGUgZnVuY3Rpb24gaXMgY2FsbGVkIHdpdGggYW4gYXJyYXkgb2YgYXJndW1lbnRzDQogKiBAb25seVN0cmljdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgICJ1c2Ugc3RyaWN0IjsNCg0KICAgICAgICBmdW5jdGlvbiBmdW4oKSB7DQogICAgICAgICAgICByZXR1cm4gKHRoaXMgaW5zdGFuY2VvZiBCb29sZWFuKTsNCiAgICAgICAgfQ0KICAgICAgICByZXR1cm4gIWZ1bi5hcHBseShmYWxzZSwgQXJyYXkpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Strict Mode - 'this' value is a boolean which cannot be converted to wrapper objects when the function is called with an array of arguments","onlyStrict":"","path":"TestCases/ch15/15.3/15.3.4/15.3.4.3/15.3.4.3-3-s.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRnVuY3Rpb24ucHJvdG90eXBlLmFwcGx5Lmxlbmd0aCBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZSBSZWFkT25seQogKgogKiBAcGF0aCBjaDE1LzE1LjMvMTUuMy40LzE1LjMuNC4zL1MxNS4zLjQuM19BMTAuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIHZhcnlpbmcgdGhlIEZ1bmN0aW9uLnByb3RvdHlwZS5hcHBseS5sZW5ndGggcHJvcGVydHkgZmFpbHMKICovCgovL0NIRUNLIzEKaWYgKCEoRnVuY3Rpb24ucHJvdG90eXBlLmFwcGx5Lmhhc093blByb3BlcnR5KCdsZW5ndGgnKSkpIHsKICAkRkFJTCgnIzE6IHRoZSBGdW5jdGlvbi5wcm90b3R5cGUuYXBwbHkgaGFzIGxlbmd0aCBwcm9wZXJ0eS4nKTsKfQoKdmFyIG9iaiA9IEZ1bmN0aW9uLnByb3RvdHlwZS5hcHBseS5sZW5ndGg7CgpGdW5jdGlvbi5wcm90b3R5cGUuYXBwbHkubGVuZ3RoID0gZnVuY3Rpb24oKXtyZXR1cm4gInNoaWZ0ZWQiO307CgovL0NIRUNLIzIKaWYgKEZ1bmN0aW9uLnByb3RvdHlwZS5hcHBseS5sZW5ndGggIT09IG9iaikgewogICRFUlJPUignIzI6IHRoZSBGdW5jdGlvbi5wcm90b3R5cGUuYXBwbHkgbGVuZ3RoIHByb3BlcnR5IGhhcyB0aGUgYXR0cmlidXRlcyBSZWFkT25seS4nKTsKfQoK","commentary":"The Function.prototype.apply.length property has the attribute ReadOnly","description":"Checking if varying the Function.prototype.apply.length property fails","path":"TestCases/ch15/15.3/15.3.4/15.3.4.3/S15.3.4.3_A10.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRnVuY3Rpb24ucHJvdG90eXBlLmFwcGx5Lmxlbmd0aCBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZSBEb250RW51bQogKgogKiBAcGF0aCBjaDE1LzE1LjMvMTUuMy40LzE1LjMuNC4zL1MxNS4zLjQuM19BMTEuanMKICogQGRlc2NyaXB0aW9uIFRDaGVja2luZyBpZiBlbnVtZXJhdGluZyB0aGUgRnVuY3Rpb24ucHJvdG90eXBlLmFwcGx5Lmxlbmd0aCBwcm9wZXJ0eSBmYWlscwogKi8KCi8vQ0hFQ0sjMAppZiAoIShGdW5jdGlvbi5wcm90b3R5cGUuYXBwbHkuaGFzT3duUHJvcGVydHkoJ2xlbmd0aCcpKSkgewogICRGQUlMKCcjMDogdGhlIEZ1bmN0aW9uLnByb3RvdHlwZS5hcHBseSBoYXMgbGVuZ3RoIHByb3BlcnR5LicpOwp9CgoKLy8gQ0hFQ0sjMQppZiAoRnVuY3Rpb24ucHJvdG90eXBlLmFwcGx5LnByb3BlcnR5SXNFbnVtZXJhYmxlKCdsZW5ndGgnKSkgewogICRFUlJPUignIzE6IHRoZSBGdW5jdGlvbi5wcm90b3R5cGUuYXBwbHkubGVuZ3RoIHByb3BlcnR5IGhhcyB0aGUgYXR0cmlidXRlcyBEb250RW51bScpOwp9CgovLyBDSEVDSyMyCmZvciAodmFyIHAgaW4gRnVuY3Rpb24ucHJvdG90eXBlLmFwcGx5KXsKICBpZiAocD09PSJsZW5ndGgiKQogICAgICAkRVJST1IoJyMyOiB0aGUgRnVuY3Rpb24ucHJvdG90eXBlLmFwcGx5Lmxlbmd0aCBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZXMgRG9udEVudW0nKTsKfQoK","commentary":"The Function.prototype.apply.length property has the attribute DontEnum","description":"TChecking if enumerating the Function.prototype.apply.length property fails","path":"TestCases/ch15/15.3/15.3.4/15.3.4.3/S15.3.4.3_A11.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBGdW5jdGlvbi5wcm90b3R5cGUuYXBwbHkgaGFzIG5vdCBwcm90b3R5cGUgcHJvcGVydHkKICoKICogQHBhdGggY2gxNS8xNS4zLzE1LjMuNC8xNS4zLjQuMy9TMTUuMy40LjNfQTEyLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiBvYnRhaW5pbmcgdGhlIHByb3RvdHlwZSBwcm9wZXJ0eSBvZiBGdW5jdGlvbi5wcm90b3R5cGUuYXBwbHkgZmFpbHMKICovCgovL0NIRUNLIzEKaWYgKEZ1bmN0aW9uLnByb3RvdHlwZS5hcHBseS5wcm90b3R5cGUgIT09IHVuZGVmaW5lZCkgewogICRFUlJPUignIzE6IEZ1bmN0aW9uLnByb3RvdHlwZS5hcHBseSBoYXMgbm90IHByb3RvdHlwZSBwcm9wZXJ0eScrRnVuY3Rpb24ucHJvdG90eXBlLmFwcGx5LnByb3RvdHlwZSk7Cn0KCg==","commentary":"Function.prototype.apply has not prototype property","description":"Checking if obtaining the prototype property of Function.prototype.apply fails","path":"TestCases/ch15/15.3/15.3.4/15.3.4.3/S15.3.4.3_A12.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMTEgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBAcGF0aCBjaDE1LzE1LjMvMTUuMy40LzE1LjMuNC4zL1MxNS4zLjQuM19BMTMuanMKICogQGRlc2NyaXB0aW9uIElmIElzQ2FsbGFibGUoZnVuYykgaXMgZmFsc2UsIHRoZW4gdGhyb3cgYSBUeXBlRXJyb3IgZXhjZXB0aW9uLgogKiBAbmVnYXRpdmUgVHlwZUVycm9yCiAqLwoKRnVuY3Rpb24ucHJvdG90eXBlLmFwcGx5LmNhbGwodW5kZWZpbmVkLCB7fSwgW10pOwoK","commentary":"","description":"If IsCallable(func) is false, then throw a TypeError exception.","negative":"TypeError","path":"TestCases/ch15/15.3/15.3.4/15.3.4.3/S15.3.4.3_A13.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMTEgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBAcGF0aCBjaDE1LzE1LjMvMTUuMy40LzE1LjMuNC4zL1MxNS4zLjQuM19BMTQuanMKICogQGRlc2NyaXB0aW9uIElmIElzQ2FsbGFibGUoZnVuYykgaXMgZmFsc2UsIHRoZW4gdGhyb3cgYSBUeXBlRXJyb3IgZXhjZXB0aW9uLgogKiBAbmVnYXRpdmUgVHlwZUVycm9yCiAqLwoKRnVuY3Rpb24ucHJvdG90eXBlLmFwcGx5LmNhbGwobnVsbCwge30sIFtdKTsKCg==","commentary":"","description":"If IsCallable(func) is false, then throw a TypeError exception.","negative":"TypeError","path":"TestCases/ch15/15.3/15.3.4/15.3.4.3/S15.3.4.3_A14.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMTEgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBAcGF0aCBjaDE1LzE1LjMvMTUuMy40LzE1LjMuNC4zL1MxNS4zLjQuM19BMTUuanMKICogQGRlc2NyaXB0aW9uIElmIElzQ2FsbGFibGUoZnVuYykgaXMgZmFsc2UsIHRoZW4gdGhyb3cgYSBUeXBlRXJyb3IgZXhjZXB0aW9uLgogKiBAbmVnYXRpdmUgVHlwZUVycm9yCiAqLwoKRnVuY3Rpb24ucHJvdG90eXBlLmFwcGx5LmNhbGwoe30sIHt9LCBbXSk7Cgo=","commentary":"","description":"If IsCallable(func) is false, then throw a TypeError exception.","negative":"TypeError","path":"TestCases/ch15/15.3/15.3.4/15.3.4.3/S15.3.4.3_A15.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMTEgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBJc0NhbGxhYmxlKGZ1bmMpIGlzIGZhbHNlLCB0aGVuIHRocm93IGEgVHlwZUVycm9yIGV4Y2VwdGlvbi4KICoKICogQHBhdGggY2gxNS8xNS4zLzE1LjMuNC8xNS4zLjQuMy9TMTUuMy40LjNfQTE2LmpzCiAqIEBkZXNjcmlwdGlvbiBBIFJlZ0V4cCBpcyBub3QgYSBmdW5jdGlvbiwgYnV0IGl0IG1heSBiZSBjYWxsYWJsZS4gSWZmIGl0IGlzLCBpdCdzIHR5cGVvZiBzaG91bGQgYmUgJ2Z1bmN0aW9uJywgaW4gd2hpY2ggY2FzZSBhcHBseSBzaG91bGQgYWNjZXB0IGl0IGFzIGEgdmFsaWQgdGhpcyB2YWx1ZS4KICovCgp2YXIgcmUgPSAoL3gvKTsKaWYgKHR5cGVvZiByZSA9PT0gJ2Z1bmN0aW9uJykgewogIEZ1bmN0aW9uLnByb3RvdHlwZS5hcHBseS5jYWxsKHJlLCB1bmRlZmluZWQsIFsneCddKTsKfSBlbHNlIHsKICB0cnkgewogICAgRnVuY3Rpb24ucHJvdG90eXBlLmJpbmQuY2FsbChyZSwgdW5kZWZpbmVkKTsKICAgICRGQUlMKCcjMTogSWYgSXNDYWxsYWJsZShmdW5jKSBpcyBmYWxzZSwgJyArCiAgICAgICAgICAndGhlbiAoYmluZCBzaG91bGQpIHRocm93IGEgVHlwZUVycm9yIGV4Y2VwdGlvbicpOwogIH0gY2F0Y2ggKGUpIHsKICAgIGlmICghKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpKSB7CiAgICAgICRFUlJPUignIzE6IFR5cGVFcnJvciBleHBlY3RlZC4gQWN0dWFsOiAnICsgZSk7CiAgICB9CiAgfQp9Cgo=","commentary":"If IsCallable(func) is false, then throw a TypeError exception.","description":"A RegExp is not a function, but it may be callable. Iff it is, it's typeof should be 'function', in which case apply should accept it as a valid this value.","path":"TestCases/ch15/15.3/15.3.4/15.3.4.3/S15.3.4.3_A16.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgYXBwbHkgbWV0aG9kIHBlcmZvcm1zIGEgZnVuY3Rpb24gY2FsbCB1c2luZyB0aGUgW1tDYWxsXV0gcHJvcGVydHkgb2YgdGhlIG9iamVjdC4gSWYgdGhlIG9iamVjdCBkb2VzIG5vdCBoYXZlIGEgW1tDYWxsXV0gcHJvcGVydHksIGEgVHlwZUVycm9yIGV4Y2VwdGlvbiBpcyB0aHJvd24KICoKICogQHBhdGggY2gxNS8xNS4zLzE1LjMuNC8xNS4zLjQuMy9TMTUuMy40LjNfQTFfVDEuanMKICogQGRlc2NyaXB0aW9uIENhbGxpbmcgImFwcGx5IiBtZXRob2Qgb2YgdGhlIG9iamVjdCB0aGF0IGRvZXMgbm90IGhhdmUgYSBbW0NhbGxdXSBwcm9wZXJ0eS4KICogUHJvdG90eXBlIG9mIHRoZSBvYmplY3QgaXMgRnVuY3Rpb24oKQogKi8KCnZhciBwcm90bz1GdW5jdGlvbigpOwoKZnVuY3Rpb24gRkFDVE9SWSgpe307CgpGQUNUT1JZLnByb3RvdHlwZT1wcm90bzsKCnZhciBvYmogPSBuZXcgRkFDVE9SWTsKCi8vQ0hFQ0sjMQppZiAodHlwZW9mIG9iai5hcHBseSAhPT0gImZ1bmN0aW9uIikgewogICRFUlJPUignIzE6IGFwcGx5IG1ldGhvZCBhY2Nlc3NlZCcpOwp9CgovL0NIRUNLIzIKdHJ5IHsKICBvYmouYXBwbHkoKTsKICAkRkFJTCgnIzI6IElmIHRoZSBvYmplY3QgZG9lcyBub3QgaGF2ZSBhIFtbQ2FsbF1dIHByb3BlcnR5LCBhIFR5cGVFcnJvciBleGNlcHRpb24gaXMgdGhyb3duJyk7Cn0gY2F0Y2ggKGUpIHsKICBpZiAoIShlIGluc3RhbmNlb2YgVHlwZUVycm9yKSkgewogIAkkRVJST1IoJyMyLjE6IElmIHRoZSBvYmplY3QgZG9lcyBub3QgaGF2ZSBhIFtbQ2FsbF1dIHByb3BlcnR5LCBhIFR5cGVFcnJvciBleGNlcHRpb24gaXMgdGhyb3duJyk7CiAgfQp9Cgo=","commentary":"The apply method performs a function call using the [[Call]] property of the object. If the object does not have a [[Call]] property, a TypeError exception is thrown","description":"Calling \"apply\" method of the object that does not have a [[Call]] property.\nPrototype of the object is Function()","path":"TestCases/ch15/15.3/15.3.4/15.3.4.3/S15.3.4.3_A1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgYXBwbHkgbWV0aG9kIHBlcmZvcm1zIGEgZnVuY3Rpb24gY2FsbCB1c2luZyB0aGUgW1tDYWxsXV0gcHJvcGVydHkgb2YgdGhlIG9iamVjdC4gSWYgdGhlIG9iamVjdCBkb2VzIG5vdCBoYXZlIGEgW1tDYWxsXV0gcHJvcGVydHksIGEgVHlwZUVycm9yIGV4Y2VwdGlvbiBpcyB0aHJvd24KICoKICogQHBhdGggY2gxNS8xNS4zLzE1LjMuNC8xNS4zLjQuMy9TMTUuMy40LjNfQTFfVDIuanMKICogQGRlc2NyaXB0aW9uIENhbGxpbmcgImFwcGx5IiBtZXRob2Qgb2YgdGhlIG9iamVjdCB0aGF0IGRvZXMgbm90IGhhdmUgYSBbW0NhbGxdXSBwcm9wZXJ0eS4KICogUHJvdG90eXBlIG9mIHRoZSBvYmplY3QgaXMgRnVuY3Rpb24ucHJvdG90eXBlCiAqLwoKZnVuY3Rpb24gRkFDVE9SWSgpe307CgpGQUNUT1JZLnByb3RvdHlwZT1GdW5jdGlvbi5wcm90b3R5cGU7Cgp2YXIgb2JqID0gbmV3IEZBQ1RPUlk7CgovL0NIRUNLIzEKaWYgKHR5cGVvZiBvYmouYXBwbHkgIT09ICJmdW5jdGlvbiIpIHsKICAkRVJST1IoJyMxOiBhcHBseSBtZXRob2QgYWNjZXNzZWQnKTsKfQoKLy9DSEVDSyMyCnRyeSB7CiAgb2JqLmFwcGx5KCk7CiAgJEZBSUwoJyMyOiBJZiB0aGUgb2JqZWN0IGRvZXMgbm90IGhhdmUgYSBbW0NhbGxdXSBwcm9wZXJ0eSwgYSBUeXBlRXJyb3IgZXhjZXB0aW9uIGlzIHRocm93bicpOwp9IGNhdGNoIChlKSB7CiAgaWYgKCEoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikpIHsKICAJJEVSUk9SKCcjMi4xOiBJZiB0aGUgb2JqZWN0IGRvZXMgbm90IGhhdmUgYSBbW0NhbGxdXSBwcm9wZXJ0eSwgYSBUeXBlRXJyb3IgZXhjZXB0aW9uIGlzIHRocm93bicpOwogIH0KfQoK","commentary":"The apply method performs a function call using the [[Call]] property of the object. If the object does not have a [[Call]] property, a TypeError exception is thrown","description":"Calling \"apply\" method of the object that does not have a [[Call]] property.\nPrototype of the object is Function.prototype","path":"TestCases/ch15/15.3/15.3.4/15.3.4.3/S15.3.4.3_A1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgbGVuZ3RoIHByb3BlcnR5IG9mIHRoZSBhcHBseSBtZXRob2QgaXMgMgogKgogKiBAcGF0aCBjaDE1LzE1LjMvMTUuMy40LzE1LjMuNC4zL1MxNS4zLjQuM19BMl9UMS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgRnVuY3Rpb24ucHJvdG90eXBlLmFwcGx5Lmxlbmd0aAogKi8KCi8vQ0hFQ0sjMQppZiAodHlwZW9mIEZ1bmN0aW9uLnByb3RvdHlwZS5hcHBseSAhPT0gImZ1bmN0aW9uIikgewogICRFUlJPUignIzE6IGFwcGx5IG1ldGhvZCBkZWZpbmVkJyk7Cn0KCi8vQ0hFQ0sjMgppZiAodHlwZW9mIEZ1bmN0aW9uLnByb3RvdHlwZS5hcHBseS5sZW5ndGggPT09ICJ1bmRlZmluZWQiKSB7CiAgJEVSUk9SKCcjMjogbGVuZ3RoIHByb3BlcnR5IG9mIGFwcGx5IG1ldGhvZCBkZWZpbmVkJyk7Cn0KCi8vQ0hFQ0sjMwppZiAoRnVuY3Rpb24ucHJvdG90eXBlLmFwcGx5Lmxlbmd0aCAhPT0gMikgewogICRFUlJPUignIzM6IFRoZSBsZW5ndGggcHJvcGVydHkgb2YgdGhlIGFwcGx5IG1ldGhvZCBpcyAyJyk7Cn0KCg==","commentary":"The length property of the apply method is 2","description":"Checking Function.prototype.apply.length","path":"TestCases/ch15/15.3/15.3.4/15.3.4.3/S15.3.4.3_A2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgbGVuZ3RoIHByb3BlcnR5IG9mIHRoZSBhcHBseSBtZXRob2QgaXMgMgogKgogKiBAcGF0aCBjaDE1LzE1LjMvMTUuMy40LzE1LjMuNC4zL1MxNS4zLjQuM19BMl9UMi5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgZi5hcHBseS5sZW5ndGgsIHdoZXJlIGYgaXMgbmV3IEZ1bmN0aW9uCiAqLwoKdmFyIGY9bmV3IEZ1bmN0aW9uOwoKLy9DSEVDSyMxCmlmICh0eXBlb2YgZi5hcHBseSAhPT0gImZ1bmN0aW9uIikgewogICRFUlJPUignIzE6IGFwcGx5IG1ldGhvZCBhY2Nlc3NlZCcpOwp9CgovL0NIRUNLIzIKaWYgKHR5cGVvZiBmLmFwcGx5Lmxlbmd0aCA9PT0gInVuZGVmaW5lZCIpIHsKICAkRVJST1IoJyMyOiBsZW5ndGggcHJvcGVydHkgb2YgYXBwbHkgbWV0aG9kIGRlZmluZWQnKTsKfQoKLy9DSEVDSyMzCmlmIChmLmFwcGx5Lmxlbmd0aCAhPT0gMikgewogICRFUlJPUignIzM6IFRoZSBsZW5ndGggcHJvcGVydHkgb2YgdGhlIGFwcGx5IG1ldGhvZCBpcyAyJyk7Cn0KCg==","commentary":"The length property of the apply method is 2","description":"Checking f.apply.length, where f is new Function","path":"TestCases/ch15/15.3/15.3.4/15.3.4.3/S15.3.4.3_A2_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB0aGlzQXJnIGlzIG51bGwgb3IgdW5kZWZpbmVkLCB0aGUgY2FsbGVkIGZ1bmN0aW9uIGlzIHBhc3NlZCB0aGUgZ2xvYmFsIG9iamVjdCBhcyB0aGUgdGhpcyB2YWx1ZQogKgogKiBAcGF0aCBjaDE1LzE1LjMvMTUuMy40LzE1LjMuNC4zL1MxNS4zLjQuM19BM19UMS5qcwogKiBAZGVzY3JpcHRpb24gTm90IGFueSBhcmd1bWVudHMgYXQgYXBwbHkgZnVuY3Rpb24KICovCgpGdW5jdGlvbigidGhpcy5maWVsZD1cInN0cmF3YmVycnlcIiIpLmFwcGx5KCk7CgovL0NIRUNLIzEKaWYgKHRoaXNbImZpZWxkIl0gIT09ICJzdHJhd2JlcnJ5IikgewogICRFUlJPUignIzE6IElmIHRoaXNBcmcgaXMgbnVsbCBvciB1bmRlZmluZWQsIHRoZSBjYWxsZWQgZnVuY3Rpb24gaXMgcGFzc2VkIHRoZSBnbG9iYWwgb2JqZWN0IGFzIHRoZSB0aGlzIHZhbHVlJyk7Cn0KCg==","commentary":"If thisArg is null or undefined, the called function is passed the global object as the this value","description":"Not any arguments at apply function","path":"TestCases/ch15/15.3/15.3.4/15.3.4.3/S15.3.4.3_A3_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB0aGlzQXJnIGlzIG51bGwgb3IgdW5kZWZpbmVkLCB0aGUgY2FsbGVkIGZ1bmN0aW9uIGlzIHBhc3NlZCB0aGUgZ2xvYmFsIG9iamVjdCBhcyB0aGUgdGhpcyB2YWx1ZQogKgogKiBAcGF0aCBjaDE1LzE1LjMvMTUuMy40LzE1LjMuNC4zL1MxNS4zLjQuM19BM19UMTAuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGJ5IHVzaW5nIGV2YWwsIG5vIGFueSBhcmd1bWVudHMgYXQgYXBwbHkgZnVuY3Rpb24KICovCgpldmFsKCIgKGZ1bmN0aW9uKCl7dGhpcy5mZWF0PTF9KS5hcHBseSgpIik7CgovL0NIRUNLIzEKaWYgKHRoaXNbImZlYXQiXSAhPT0gMSkgewogICRFUlJPUignIzE6IElmIHRoaXNBcmcgaXMgbnVsbCBvciB1bmRlZmluZWQsIHRoZSBjYWxsZWQgZnVuY3Rpb24gaXMgcGFzc2VkIHRoZSBnbG9iYWwgb2JqZWN0IGFzIHRoZSB0aGlzIHZhbHVlJyk7Cn0KCg==","commentary":"If thisArg is null or undefined, the called function is passed the global object as the this value","description":"Checking by using eval, no any arguments at apply function","path":"TestCases/ch15/15.3/15.3.4/15.3.4.3/S15.3.4.3_A3_T10.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB0aGlzQXJnIGlzIG51bGwgb3IgdW5kZWZpbmVkLCB0aGUgY2FsbGVkIGZ1bmN0aW9uIGlzIHBhc3NlZCB0aGUgZ2xvYmFsIG9iamVjdCBhcyB0aGUgdGhpcyB2YWx1ZQogKgogKiBAcGF0aCBjaDE1LzE1LjMvMTUuMy40LzE1LjMuNC4zL1MxNS4zLjQuM19BM19UMi5qcwogKiBAZGVzY3JpcHRpb24gQXJndW1lbnQgYXQgYXBwbHkgZnVuY3Rpb24gaXMgbnVsbAogKi8KCkZ1bmN0aW9uKCJ0aGlzLmZpZWxkPVwiZ3JlZW5cIiIpLmFwcGx5KG51bGwpOwoKLy9DSEVDSyMxCmlmICh0aGlzWyJmaWVsZCJdICE9PSAiZ3JlZW4iKSB7CiAgJEVSUk9SKCcjMTogSWYgdGhpc0FyZyBpcyBudWxsIG9yIHVuZGVmaW5lZCwgdGhlIGNhbGxlZCBmdW5jdGlvbiBpcyBwYXNzZWQgdGhlIGdsb2JhbCBvYmplY3QgYXMgdGhlIHRoaXMgdmFsdWUnKTsKfQoK","commentary":"If thisArg is null or undefined, the called function is passed the global object as the this value","description":"Argument at apply function is null","path":"TestCases/ch15/15.3/15.3.4/15.3.4.3/S15.3.4.3_A3_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB0aGlzQXJnIGlzIG51bGwgb3IgdW5kZWZpbmVkLCB0aGUgY2FsbGVkIGZ1bmN0aW9uIGlzIHBhc3NlZCB0aGUgZ2xvYmFsIG9iamVjdCBhcyB0aGUgdGhpcyB2YWx1ZQogKgogKiBAcGF0aCBjaDE1LzE1LjMvMTUuMy40LzE1LjMuNC4zL1MxNS4zLjQuM19BM19UMy5qcwogKiBAZGVzY3JpcHRpb24gQXJndW1lbnQgYXQgYXBwbHkgZnVuY3Rpb24gaXMgdm9pZCAwCiAqLwoKRnVuY3Rpb24oInRoaXMuZmllbGQ9XCJiYXR0bGVcIiIpLmFwcGx5KHZvaWQgMCk7CgovL0NIRUNLIzEKaWYgKHRoaXNbImZpZWxkIl0gIT09ICJiYXR0bGUiKSB7CiAgJEVSUk9SKCcjMTogSWYgdGhpc0FyZyBpcyBudWxsIG9yIHVuZGVmaW5lZCwgdGhlIGNhbGxlZCBmdW5jdGlvbiBpcyBwYXNzZWQgdGhlIGdsb2JhbCBvYmplY3QgYXMgdGhlIHRoaXMgdmFsdWUnKTsKfQoK","commentary":"If thisArg is null or undefined, the called function is passed the global object as the this value","description":"Argument at apply function is void 0","path":"TestCases/ch15/15.3/15.3.4/15.3.4.3/S15.3.4.3_A3_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB0aGlzQXJnIGlzIG51bGwgb3IgdW5kZWZpbmVkLCB0aGUgY2FsbGVkIGZ1bmN0aW9uIGlzIHBhc3NlZCB0aGUgZ2xvYmFsIG9iamVjdCBhcyB0aGUgdGhpcyB2YWx1ZQogKgogKiBAcGF0aCBjaDE1LzE1LjMvMTUuMy40LzE1LjMuNC4zL1MxNS4zLjQuM19BM19UNC5qcwogKiBAZGVzY3JpcHRpb24gQXJndW1lbnQgYXQgYXBwbHkgZnVuY3Rpb24gaXMgdW5kZWZpbmVkCiAqLwoKRnVuY3Rpb24oInRoaXMuZmllbGQ9XCJvaWxcIiIpLmFwcGx5KHVuZGVmaW5lZCk7CgovL0NIRUNLIzEKaWYgKHRoaXNbImZpZWxkIl0gIT09ICJvaWwiKSB7CiAgJEVSUk9SKCcjMTogSWYgdGhpc0FyZyBpcyBudWxsIG9yIHVuZGVmaW5lZCwgdGhlIGNhbGxlZCBmdW5jdGlvbiBpcyBwYXNzZWQgdGhlIGdsb2JhbCBvYmplY3QgYXMgdGhlIHRoaXMgdmFsdWUnKTsKfQoK","commentary":"If thisArg is null or undefined, the called function is passed the global object as the this value","description":"Argument at apply function is undefined","path":"TestCases/ch15/15.3/15.3.4/15.3.4.3/S15.3.4.3_A3_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB0aGlzQXJnIGlzIG51bGwgb3IgdW5kZWZpbmVkLCB0aGUgY2FsbGVkIGZ1bmN0aW9uIGlzIHBhc3NlZCB0aGUgZ2xvYmFsIG9iamVjdCBhcyB0aGUgdGhpcyB2YWx1ZQogKgogKiBAcGF0aCBjaDE1LzE1LjMvMTUuMy40LzE1LjMuNC4zL1MxNS4zLjQuM19BM19UNS5qcwogKiBAZGVzY3JpcHRpb24gTm8gYW55IGFyZ3VtZW50cyBhdCBhcHBseSBmdW5jdGlvbiBhbmQgaXQgY2FsbGVkIGluc2lkZSBmdW5jdGlvbiBkZWNsYXJhdGlvbgogKi8KCmZ1bmN0aW9uIEZBQ1RPUlkoKXsKICBGdW5jdGlvbigidGhpcy5mZWF0PVwiaW4gZGEgaGF1c1wiIikuYXBwbHkoKTsKfTsKCnZhciBvYmogPSBuZXcgRkFDVE9SWTsKCi8vQ0hFQ0sjMQppZiAodGhpc1siZmVhdCJdICE9PSAiaW4gZGEgaGF1cyIpIHsKICAkRVJST1IoJyMxOiBJZiB0aGlzQXJnIGlzIG51bGwgb3IgdW5kZWZpbmVkLCB0aGUgY2FsbGVkIGZ1bmN0aW9uIGlzIHBhc3NlZCB0aGUgZ2xvYmFsIG9iamVjdCBhcyB0aGUgdGhpcyB2YWx1ZScpOwp9CgovL0NIRUNLIzIKaWYgKHR5cGVvZiBvYmouZmVhdCAhPT0gInVuZGVmaW5lZCIpIHsKICAkRVJST1IoJyMxOiBJZiB0aGlzQXJnIGlzIG51bGwgb3IgdW5kZWZpbmVkLCB0aGUgY2FsbGVkIGZ1bmN0aW9uIGlzIHBhc3NlZCB0aGUgZ2xvYmFsIG9iamVjdCBhcyB0aGUgdGhpcyB2YWx1ZScpOwp9Cgo=","commentary":"If thisArg is null or undefined, the called function is passed the global object as the this value","description":"No any arguments at apply function and it called inside function declaration","path":"TestCases/ch15/15.3/15.3.4/15.3.4.3/S15.3.4.3_A3_T5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB0aGlzQXJnIGlzIG51bGwgb3IgdW5kZWZpbmVkLCB0aGUgY2FsbGVkIGZ1bmN0aW9uIGlzIHBhc3NlZCB0aGUgZ2xvYmFsIG9iamVjdCBhcyB0aGUgdGhpcyB2YWx1ZQogKgogKiBAcGF0aCBjaDE1LzE1LjMvMTUuMy40LzE1LjMuNC4zL1MxNS4zLjQuM19BM19UNi5qcwogKiBAZGVzY3JpcHRpb24gQXJndW1lbnQgYXQgYXBwbHkgZnVuY3Rpb24gaXMgbnVsbCBhbmQgaXQgY2FsbGVkIGluc2lkZSBmdW5jdGlvbiBkZWNsYXJhdGlvbgogKi8KCmZ1bmN0aW9uIEZBQ1RPUlkoKXsKICAoZnVuY3Rpb24oKXt0aGlzLmZlYXQ9ImthbW9uIGJleWJhIn0pLmFwcGx5KG51bGwpOwp9OwoKdmFyIG9iaiA9IG5ldyBGQUNUT1JZOwoKLy9DSEVDSyMxCmlmICh0aGlzWyJmZWF0Il0gIT09ICJrYW1vbiBiZXliYSIpIHsKICAkRVJST1IoJyMxOiBJZiB0aGlzQXJnIGlzIG51bGwgb3IgdW5kZWZpbmVkLCB0aGUgY2FsbGVkIGZ1bmN0aW9uIGlzIHBhc3NlZCB0aGUgZ2xvYmFsIG9iamVjdCBhcyB0aGUgdGhpcyB2YWx1ZScpOwp9CgovL0NIRUNLIzIKaWYgKHR5cGVvZiBvYmouZmVhdCAhPT0gInVuZGVmaW5lZCIpIHsKICAkRVJST1IoJyMxOiBJZiB0aGlzQXJnIGlzIG51bGwgb3IgdW5kZWZpbmVkLCB0aGUgY2FsbGVkIGZ1bmN0aW9uIGlzIHBhc3NlZCB0aGUgZ2xvYmFsIG9iamVjdCBhcyB0aGUgdGhpcyB2YWx1ZScpOwp9Cgo=","commentary":"If thisArg is null or undefined, the called function is passed the global object as the this value","description":"Argument at apply function is null and it called inside function declaration","path":"TestCases/ch15/15.3/15.3.4/15.3.4.3/S15.3.4.3_A3_T6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB0aGlzQXJnIGlzIG51bGwgb3IgdW5kZWZpbmVkLCB0aGUgY2FsbGVkIGZ1bmN0aW9uIGlzIHBhc3NlZCB0aGUgZ2xvYmFsIG9iamVjdCBhcyB0aGUgdGhpcyB2YWx1ZQogKgogKiBAcGF0aCBjaDE1LzE1LjMvMTUuMy40LzE1LjMuNC4zL1MxNS4zLjQuM19BM19UNy5qcwogKiBAZGVzY3JpcHRpb24gQXJndW1lbnQgYXQgYXBwbHkgZnVuY3Rpb24gaXMgdm9pZCAwIGFuZCBpdCBjYWxsZWQgaW5zaWRlIGZ1bmN0aW9uIGRlY2xhcmF0aW9uCiAqLwoKKGZ1bmN0aW9uIEZBQ1RPUlkoKXsKICBGdW5jdGlvbigidGhpcy5mZWF0PVwiaW4gZGEgaGF1c1wiIikuYXBwbHkodm9pZCAwKTsKfSkoKTsKCgovL0NIRUNLIzEKaWYgKHRoaXNbImZlYXQiXSAhPT0gImluIGRhIGhhdXMiKSB7CiAgJEVSUk9SKCcjMTogSWYgdGhpc0FyZyBpcyBudWxsIG9yIHVuZGVmaW5lZCwgdGhlIGNhbGxlZCBmdW5jdGlvbiBpcyBwYXNzZWQgdGhlIGdsb2JhbCBvYmplY3QgYXMgdGhlIHRoaXMgdmFsdWUnKTsKfQoK","commentary":"If thisArg is null or undefined, the called function is passed the global object as the this value","description":"Argument at apply function is void 0 and it called inside function declaration","path":"TestCases/ch15/15.3/15.3.4/15.3.4.3/S15.3.4.3_A3_T7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB0aGlzQXJnIGlzIG51bGwgb3IgdW5kZWZpbmVkLCB0aGUgY2FsbGVkIGZ1bmN0aW9uIGlzIHBhc3NlZCB0aGUgZ2xvYmFsIG9iamVjdCBhcyB0aGUgdGhpcyB2YWx1ZQogKgogKiBAcGF0aCBjaDE1LzE1LjMvMTUuMy40LzE1LjMuNC4zL1MxNS4zLjQuM19BM19UOC5qcwogKiBAZGVzY3JpcHRpb24gQXJndW1lbnQgYXQgYXBwbHkgZnVuY3Rpb24gaXMgdW5kZWZpbmVkIGFuZCBpdCBjYWxsZWQgaW5zaWRlIGZ1bmN0aW9uIGRlY2xhcmF0aW9uCiAqLwoKKGZ1bmN0aW9uIEZBQ1RPUlkoKXsKICAoZnVuY3Rpb24oKXt0aGlzLmZlYXQ9ImthbW9uIGJleWJhIn0pLmFwcGx5KHVuZGVmaW5lZCk7Cn0pKCk7CgovL0NIRUNLIzEKaWYgKHRoaXNbImZlYXQiXSAhPT0gImthbW9uIGJleWJhIikgewogICRFUlJPUignIzE6IElmIHRoaXNBcmcgaXMgbnVsbCBvciB1bmRlZmluZWQsIHRoZSBjYWxsZWQgZnVuY3Rpb24gaXMgcGFzc2VkIHRoZSBnbG9iYWwgb2JqZWN0IGFzIHRoZSB0aGlzIHZhbHVlJyk7Cn0KCg==","commentary":"If thisArg is null or undefined, the called function is passed the global object as the this value","description":"Argument at apply function is undefined and it called inside function declaration","path":"TestCases/ch15/15.3/15.3.4/15.3.4.3/S15.3.4.3_A3_T8.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB0aGlzQXJnIGlzIG51bGwgb3IgdW5kZWZpbmVkLCB0aGUgY2FsbGVkIGZ1bmN0aW9uIGlzIHBhc3NlZCB0aGUgZ2xvYmFsIG9iamVjdCBhcyB0aGUgdGhpcyB2YWx1ZQogKgogKiBAcGF0aCBjaDE1LzE1LjMvMTUuMy40LzE1LjMuNC4zL1MxNS4zLjQuM19BM19UOS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgYnkgdXNpbmcgZXZhbCwgYXJndW1lbnQgYXQgYXBwbHkgZnVuY3Rpb24gaXMgdm9pZCAwCiAqLwoKZXZhbCggIiBGdW5jdGlvbihcInRoaXMuZmVhdD0xXCIpLmFwcGx5KHZvaWQgMCkgIiApOwoKLy9DSEVDSyMxCmlmICh0aGlzWyJmZWF0Il0gIT09IDEpIHsKICAkRVJST1IoJyMxOiBJZiB0aGlzQXJnIGlzIG51bGwgb3IgdW5kZWZpbmVkLCB0aGUgY2FsbGVkIGZ1bmN0aW9uIGlzIHBhc3NlZCB0aGUgZ2xvYmFsIG9iamVjdCBhcyB0aGUgdGhpcyB2YWx1ZScpOwp9Cgo=","commentary":"If thisArg is null or undefined, the called function is passed the global object as the this value","description":"Checking by using eval, argument at apply function is void 0","path":"TestCases/ch15/15.3/15.3.4/15.3.4.3/S15.3.4.3_A3_T9.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB0aGlzQXJnIGlzIG5vdCBudWxsKGRlZmluZWQpIHRoZSBjYWxsZWQgZnVuY3Rpb24gaXMgcGFzc2VkIFRvT2JqZWN0KHRoaXNBcmcpIGFzIHRoZSB0aGlzIHZhbHVlCiAqCiAqIEBwYXRoIGNoMTUvMTUuMy8xNS4zLjQvMTUuMy40LjMvUzE1LjMuNC4zX0E1X1QxLmpzCiAqIEBkZXNjcmlwdGlvbiB0aGlzQXJnIGlzIG51bWJlcgogKi8KCnZhciBvYmo9MTsKCnZhciByZXRvYmogPSBGdW5jdGlvbigidGhpcy50b3VjaGVkPSB0cnVlOyByZXR1cm4gdGhpczsiKS5hcHBseShvYmopOwoKLy9DSEVDSyMxCmlmICh0eXBlb2Ygb2JqLnRvdWNoZWQgIT09ICJ1bmRlZmluZWQiKSB7CiAgJEVSUk9SKCcjMTogSWYgdGhpc0FyZyBpcyBub3QgbnVsbChkZWZpbmVkKSB0aGUgY2FsbGVkIGZ1bmN0aW9uIGlzIHBhc3NlZCBUb09iamVjdCh0aGlzQXJnKSBhcyB0aGUgdGhpcyB2YWx1ZScpOwp9CgovL0NIRUNLIzIKaWYgKCEocmV0b2JqWyJ0b3VjaGVkIl0pKSB7CiAgJEVSUk9SKCcjMjogSWYgdGhpc0FyZyBpcyBub3QgbnVsbChkZWZpbmVkKSB0aGUgY2FsbGVkIGZ1bmN0aW9uIGlzIHBhc3NlZCBUb09iamVjdCh0aGlzQXJnKSBhcyB0aGUgdGhpcyB2YWx1ZScpOwp9Cg==","commentary":"If thisArg is not null(defined) the called function is passed ToObject(thisArg) as the this value","description":"thisArg is number","path":"TestCases/ch15/15.3/15.3.4/15.3.4.3/S15.3.4.3_A5_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB0aGlzQXJnIGlzIG5vdCBudWxsKGRlZmluZWQpIHRoZSBjYWxsZWQgZnVuY3Rpb24gaXMgcGFzc2VkIFRvT2JqZWN0KHRoaXNBcmcpIGFzIHRoZSB0aGlzIHZhbHVlCiAqCiAqIEBwYXRoIGNoMTUvMTUuMy8xNS4zLjQvMTUuMy40LjMvUzE1LjMuNC4zX0E1X1QyLmpzCiAqIEBkZXNjcmlwdGlvbiB0aGlzQXJnIGlzIGJvb2xlYW4gdHJ1ZQogKi8KCnZhciBvYmo9dHJ1ZTsKCnZhciByZXRvYmogPSBuZXcgRnVuY3Rpb24oInRoaXMudG91Y2hlZD0gdHJ1ZTsgcmV0dXJuIHRoaXM7IikuYXBwbHkob2JqKTsKCi8vQ0hFQ0sjMQppZiAodHlwZW9mIG9iai50b3VjaGVkICE9PSAidW5kZWZpbmVkIikgewogICRFUlJPUignIzE6IElmIHRoaXNBcmcgaXMgbm90IG51bGwoZGVmaW5lZCkgdGhlIGNhbGxlZCBmdW5jdGlvbiBpcyBwYXNzZWQgVG9PYmplY3QodGhpc0FyZykgYXMgdGhlIHRoaXMgdmFsdWUnKTsKfQoKLy9DSEVDSyMyCmlmICghKHJldG9ialsidG91Y2hlZCJdKSkgewogICRFUlJPUignIzI6IElmIHRoaXNBcmcgaXMgbm90IG51bGwoZGVmaW5lZCkgdGhlIGNhbGxlZCBmdW5jdGlvbiBpcyBwYXNzZWQgVG9PYmplY3QodGhpc0FyZykgYXMgdGhlIHRoaXMgdmFsdWUnKTsKfQoKCg==","commentary":"If thisArg is not null(defined) the called function is passed ToObject(thisArg) as the this value","description":"thisArg is boolean true","path":"TestCases/ch15/15.3/15.3.4/15.3.4.3/S15.3.4.3_A5_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB0aGlzQXJnIGlzIG5vdCBudWxsKGRlZmluZWQpIHRoZSBjYWxsZWQgZnVuY3Rpb24gaXMgcGFzc2VkIFRvT2JqZWN0KHRoaXNBcmcpIGFzIHRoZSB0aGlzIHZhbHVlCiAqCiAqIEBwYXRoIGNoMTUvMTUuMy8xNS4zLjQvMTUuMy40LjMvUzE1LjMuNC4zX0E1X1QzLmpzCiAqIEBkZXNjcmlwdGlvbiB0aGlzQXJnIGlzIHN0cmluZwogKi8KCnZhciBvYmo9InNvYXAiOwoKdmFyIHJldG9iaiA9ICggZnVuY3Rpb24oKXt0aGlzLnRvdWNoZWQ9IHRydWU7IHJldHVybiB0aGlzO30gKS5hcHBseShvYmopOwoKLy9DSEVDSyMxCmlmICh0eXBlb2Ygb2JqLnRvdWNoZWQgIT09ICJ1bmRlZmluZWQiKSB7CiAgJEVSUk9SKCcjMTogSWYgdGhpc0FyZyBpcyBub3QgbnVsbChkZWZpbmVkKSB0aGUgY2FsbGVkIGZ1bmN0aW9uIGlzIHBhc3NlZCBUb09iamVjdCh0aGlzQXJnKSBhcyB0aGUgdGhpcyB2YWx1ZScpOwp9CgovL0NIRUNLIzIKaWYgKCEocmV0b2JqWyJ0b3VjaGVkIl0pKSB7CiAgJEVSUk9SKCcjMjogSWYgdGhpc0FyZyBpcyBub3QgbnVsbChkZWZpbmVkKSB0aGUgY2FsbGVkIGZ1bmN0aW9uIGlzIHBhc3NlZCBUb09iamVjdCh0aGlzQXJnKSBhcyB0aGUgdGhpcyB2YWx1ZScpOwp9CgoK","commentary":"If thisArg is not null(defined) the called function is passed ToObject(thisArg) as the this value","description":"thisArg is string","path":"TestCases/ch15/15.3/15.3.4/15.3.4.3/S15.3.4.3_A5_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB0aGlzQXJnIGlzIG5vdCBudWxsKGRlZmluZWQpIHRoZSBjYWxsZWQgZnVuY3Rpb24gaXMgcGFzc2VkIFRvT2JqZWN0KHRoaXNBcmcpIGFzIHRoZSB0aGlzIHZhbHVlCiAqCiAqIEBwYXRoIGNoMTUvMTUuMy8xNS4zLjQvMTUuMy40LjMvUzE1LjMuNC4zX0E1X1Q0LmpzCiAqIEBkZXNjcmlwdGlvbiB0aGlzQXJnIGlzIGZ1bmN0aW9uIHZhcmlhYmxlIHRoYXQgcmV0dXJuIHRoaXMKICovCgpmID0gZnVuY3Rpb24oKXt0aGlzLnRvdWNoZWQ9IHRydWU7IHJldHVybiB0aGlzO307CgpyZXRvYmogPSBmLmFwcGx5KG9iaik7CgovL0NIRUNLIzEKaWYgKHR5cGVvZiBvYmogIT09ICJ1bmRlZmluZWQiKSB7CiAgJEVSUk9SKCcjMTogSWYgdGhpc0FyZyBpcyBub3QgbnVsbChkZWZpbmVkKSB0aGUgY2FsbGVkIGZ1bmN0aW9uIGlzIHBhc3NlZCBUb09iamVjdCh0aGlzQXJnKSBhcyB0aGUgdGhpcyB2YWx1ZScpOwp9CgovL0NIRUNLIzIKaWYgKCEocmV0b2JqWyJ0b3VjaGVkIl0pKSB7CiAgJEVSUk9SKCcjMjogSWYgdGhpc0FyZyBpcyBub3QgbnVsbChkZWZpbmVkKSB0aGUgY2FsbGVkIGZ1bmN0aW9uIGlzIHBhc3NlZCBUb09iamVjdCh0aGlzQXJnKSBhcyB0aGUgdGhpcyB2YWx1ZScpOwp9Cgp2YXIgb2JqOwoK","commentary":"If thisArg is not null(defined) the called function is passed ToObject(thisArg) as the this value","description":"thisArg is function variable that return this","path":"TestCases/ch15/15.3/15.3.4/15.3.4.3/S15.3.4.3_A5_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB0aGlzQXJnIGlzIG5vdCBudWxsKGRlZmluZWQpIHRoZSBjYWxsZWQgZnVuY3Rpb24gaXMgcGFzc2VkIFRvT2JqZWN0KHRoaXNBcmcpIGFzIHRoZSB0aGlzIHZhbHVlCiAqCiAqIEBwYXRoIGNoMTUvMTUuMy8xNS4zLjQvMTUuMy40LjMvUzE1LjMuNC4zX0E1X1Q1LmpzCiAqIEBkZXNjcmlwdGlvbiB0aGlzQXJnIGlzIGZ1bmN0aW9uIHZhcmlhYmxlCiAqLwoKdmFyIGYgPSBmdW5jdGlvbigpe3RoaXMudG91Y2hlZD0gdHJ1ZTt9OwoKdmFyIG9iaj17fTsKCmYuYXBwbHkob2JqKTsKCi8vQ0hFQ0sjMQppZiAoIShvYmoudG91Y2hlZCkpIHsKICAkRVJST1IoJyMxOiBJZiB0aGlzQXJnIGlzIG5vdCBudWxsKGRlZmluZWQpIHRoZSBjYWxsZWQgZnVuY3Rpb24gaXMgcGFzc2VkIFRvT2JqZWN0KHRoaXNBcmcpIGFzIHRoZSB0aGlzIHZhbHVlJyk7Cn0KCg==","commentary":"If thisArg is not null(defined) the called function is passed ToObject(thisArg) as the this value","description":"thisArg is function variable","path":"TestCases/ch15/15.3/15.3.4/15.3.4.3/S15.3.4.3_A5_T5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB0aGlzQXJnIGlzIG5vdCBudWxsKGRlZmluZWQpIHRoZSBjYWxsZWQgZnVuY3Rpb24gaXMgcGFzc2VkIFRvT2JqZWN0KHRoaXNBcmcpIGFzIHRoZSB0aGlzIHZhbHVlCiAqCiAqIEBwYXRoIGNoMTUvMTUuMy8xNS4zLjQvMTUuMy40LjMvUzE1LjMuNC4zX0E1X1Q2LmpzCiAqIEBkZXNjcmlwdGlvbiB0aGlzQXJnIGlzIG5ldyBTdHJpbmcoKQogKi8KCnZhciBvYmo9bmV3IFN0cmluZygic29hcCIpOwoKKCBmdW5jdGlvbigpe3RoaXMudG91Y2hlZD0gdHJ1ZTt9KS5hcHBseShvYmopOwoKLy9DSEVDSyMxCmlmICghKG9iai50b3VjaGVkKSkgewogICRFUlJPUignIzE6IElmIHRoaXNBcmcgaXMgbm90IG51bGwoZGVmaW5lZCkgdGhlIGNhbGxlZCBmdW5jdGlvbiBpcyBwYXNzZWQgVG9PYmplY3QodGhpc0FyZykgYXMgdGhlIHRoaXMgdmFsdWUnKTsKfQoK","commentary":"If thisArg is not null(defined) the called function is passed ToObject(thisArg) as the this value","description":"thisArg is new String()","path":"TestCases/ch15/15.3/15.3.4/15.3.4.3/S15.3.4.3_A5_T6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB0aGlzQXJnIGlzIG5vdCBudWxsKGRlZmluZWQpIHRoZSBjYWxsZWQgZnVuY3Rpb24gaXMgcGFzc2VkIFRvT2JqZWN0KHRoaXNBcmcpIGFzIHRoZSB0aGlzIHZhbHVlCiAqCiAqIEBwYXRoIGNoMTUvMTUuMy8xNS4zLjQvMTUuMy40LjMvUzE1LjMuNC4zX0E1X1Q3LmpzCiAqIEBkZXNjcmlwdGlvbiB0aGlzQXJnIGlzIG5ldyBOdW1iZXIoKQogKi8KCnZhciBvYmo9bmV3IE51bWJlcigxKTsKCkZ1bmN0aW9uKCJ0aGlzLnRvdWNoZWQ9IHRydWU7IikuYXBwbHkob2JqKTsKCi8vQ0hFQ0sjMQppZiAoIShvYmoudG91Y2hlZCkpIHsKICAkRVJST1IoJyMxOiBJZiB0aGlzQXJnIGlzIG5vdCBudWxsKGRlZmluZWQpIHRoZSBjYWxsZWQgZnVuY3Rpb24gaXMgcGFzc2VkIFRvT2JqZWN0KHRoaXNBcmcpIGFzIHRoZSB0aGlzIHZhbHVlJyk7Cn0KCgo=","commentary":"If thisArg is not null(defined) the called function is passed ToObject(thisArg) as the this value","description":"thisArg is new Number()","path":"TestCases/ch15/15.3/15.3.4/15.3.4.3/S15.3.4.3_A5_T7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB0aGlzQXJnIGlzIG5vdCBudWxsKGRlZmluZWQpIHRoZSBjYWxsZWQgZnVuY3Rpb24gaXMgcGFzc2VkIFRvT2JqZWN0KHRoaXNBcmcpIGFzIHRoZSB0aGlzIHZhbHVlCiAqCiAqIEBwYXRoIGNoMTUvMTUuMy8xNS4zLjQvMTUuMy40LjMvUzE1LjMuNC4zX0E1X1Q4LmpzCiAqIEBkZXNjcmlwdGlvbiB0aGlzQXJnIGlzIEZ1bmN0aW9uKCkKICovCgp2YXIgb2JqPUZ1bmN0aW9uKCk7CgpuZXcgRnVuY3Rpb24oInRoaXMudG91Y2hlZD0gdHJ1ZTsgcmV0dXJuIHRoaXM7IikuYXBwbHkob2JqKTsKCi8vQ0hFQ0sjMQppZiAoIShvYmoudG91Y2hlZCkpIHsKICAkRVJST1IoJyMxOiBJZiB0aGlzQXJnIGlzIG5vdCBudWxsKGRlZmluZWQpIHRoZSBjYWxsZWQgZnVuY3Rpb24gaXMgcGFzc2VkIFRvT2JqZWN0KHRoaXNBcmcpIGFzIHRoZSB0aGlzIHZhbHVlJyk7Cn0KCg==","commentary":"If thisArg is not null(defined) the called function is passed ToObject(thisArg) as the this value","description":"thisArg is Function()","path":"TestCases/ch15/15.3/15.3.4/15.3.4.3/S15.3.4.3_A5_T8.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBpZiBhcmdBcnJheSBpcyBuZWl0aGVyIGFuIGFycmF5IG5vciBhbiBhcmd1bWVudHMgb2JqZWN0IChzZWUgMTAuMS44KSwgYSBUeXBlRXJyb3IgZXhjZXB0aW9uIGlzIHRocm93bgogKgogKiBAcGF0aCBjaDE1LzE1LjMvMTUuMy40LzE1LjMuNC4zL1MxNS4zLjQuM19BNl9UMi5qcwogKiBAZGVzY3JpcHRpb24gYXJnQXJyYXkgaXMgKG51bGwsMSkKICovCgovL0NIRUNLIzEKdHJ5IHsKICBGdW5jdGlvbigpLmFwcGx5KG51bGwsMSk7CiAgJEZBSUwoJyMxOiBpZiBhcmdBcnJheSBpcyBuZWl0aGVyIGFuIGFycmF5IG5vciBhbiBhcmd1bWVudHMgb2JqZWN0IChzZWUgMTAuMS44KSwgYSBUeXBlRXJyb3IgZXhjZXB0aW9uIGlzIHRocm93bicpOwp9IGNhdGNoIChlKSB7CiAgaWYgKCEoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikpIHsKICAJJEVSUk9SKCcjMS4xOiBpZiBhcmdBcnJheSBpcyBuZWl0aGVyIGFuIGFycmF5IG5vciBhbiBhcmd1bWVudHMgb2JqZWN0IChzZWUgMTAuMS44KSwgYSBUeXBlRXJyb3IgZXhjZXB0aW9uIGlzIHRocm93bicpOwogIH0KfQoK","commentary":"if argArray is neither an array nor an arguments object (see 10.1.8), a TypeError exception is thrown","description":"argArray is (null,1)","path":"TestCases/ch15/15.3/15.3.4/15.3.4.3/S15.3.4.3_A6_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBpZiBhcmdBcnJheSBpcyBuZWl0aGVyIGFuIGFycmF5IG5vciBhbiBhcmd1bWVudHMgb2JqZWN0IChzZWUgMTAuMS44KSwgYSBUeXBlRXJyb3IgZXhjZXB0aW9uIGlzIHRocm93bgogKgogKiBAcGF0aCBjaDE1LzE1LjMvMTUuMy40LzE1LjMuNC4zL1MxNS4zLjQuM19BNl9UMy5qcwogKiBAZGVzY3JpcHRpb24gYXJnQXJyYXkgaXMgKG9iamVjdCwiMSwzLDQiKQogKi8KCm9iaj17fTsKCi8vQ0hFQ0sjMQp0cnkgewogIEZ1bmN0aW9uKCkuYXBwbHkob2JqLCIxLDMsNCIpOwogICRGQUlMKCcjMTogaWYgYXJnQXJyYXkgaXMgbmVpdGhlciBhbiBhcnJheSBub3IgYW4gYXJndW1lbnRzIG9iamVjdCAoc2VlIDEwLjEuOCksIGEgVHlwZUVycm9yIGV4Y2VwdGlvbiBpcyB0aHJvd24nKTsKfSBjYXRjaCAoZSkgewogIGlmICghKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpKSB7CiAgCSRFUlJPUignIzEuMTogaWYgYXJnQXJyYXkgaXMgbmVpdGhlciBhbiBhcnJheSBub3IgYW4gYXJndW1lbnRzIG9iamVjdCAoc2VlIDEwLjEuOCksIGEgVHlwZUVycm9yIGV4Y2VwdGlvbiBpcyB0aHJvd24nKTsKICB9Cn0KCg==","commentary":"if argArray is neither an array nor an arguments object (see 10.1.8), a TypeError exception is thrown","description":"argArray is (object,\"1,3,4\")","path":"TestCases/ch15/15.3/15.3.4/15.3.4.3/S15.3.4.3_A6_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBhcmdBcnJheSBpcyBlaXRoZXIgYW4gYXJyYXkgb3IgYW4gYXJndW1lbnRzIG9iamVjdCwKICogdGhlIGZ1bmN0aW9uIGlzIHBhc3NlZCB0aGUgKFRvVWludDMyKGFyZ0FycmF5Lmxlbmd0aCkpIGFyZ3VtZW50cyBhcmdBcnJheVswXSwgYXJnQXJyYXlbMV0sLi4uLGFyZ0FycmF5W1RvVWludDMyKGFyZ0FycmF5Lmxlbmd0aCktMV0KICoKICogQHBhdGggY2gxNS8xNS4zLzE1LjMuNC8xNS4zLjQuMy9TMTUuMy40LjNfQTdfVDEuanMKICogQGRlc2NyaXB0aW9uIGFyZ0FycmF5IGlzIChudWxsLFsxXSkKICovCgpGdW5jdGlvbigiYTEsYTIsYTMiLCJ0aGlzLnNoaWZ0ZWQ9YTE7IikuYXBwbHkobnVsbCxbMV0pOwoKLy9DSEVDSyMxCmlmICh0aGlzWyJzaGlmdGVkIl0gIT09IDEpIHsKICAkRVJST1IoJyMxOiBJZiBhcmdBcnJheSBpcyBlaXRoZXIgYW4gYXJyYXkgb3IgYW4gYXJndW1lbnRzIG9iamVjdCwgdGhlIGZ1bmN0aW9uIGlzIHBhc3NlZCB0aGUuLi4nKTsKfQoKCg==","commentary":"If argArray is either an array or an arguments object,\nthe function is passed the (ToUint32(argArray.length)) arguments argArray[0], argArray[1],...,argArray[ToUint32(argArray.length)-1]","description":"argArray is (null,[1])","path":"TestCases/ch15/15.3/15.3.4/15.3.4.3/S15.3.4.3_A7_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBhcmdBcnJheSBpcyBlaXRoZXIgYW4gYXJyYXkgb3IgYW4gYXJndW1lbnRzIG9iamVjdCwKICogdGhlIGZ1bmN0aW9uIGlzIHBhc3NlZCB0aGUgKFRvVWludDMyKGFyZ0FycmF5Lmxlbmd0aCkpIGFyZ3VtZW50cyBhcmdBcnJheVswXSwgYXJnQXJyYXlbMV0sLi4uLGFyZ0FycmF5W1RvVWludDMyKGFyZ0FycmF5Lmxlbmd0aCktMV0KICoKICogQHBhdGggY2gxNS8xNS4zLzE1LjMuNC8xNS4zLjQuMy9TMTUuMy40LjNfQTdfVDEwLmpzCiAqIEBkZXNjcmlwdGlvbiBhcmdBcnJheSBpcyAoZW1wdHkgb2JqZWN0LCBhcmd1bWVudHMpLCBpbnNpZGUgZnVuY3Rpb24gY2FsbCB3aXRob3V0IGRlY2xhcmF0aW9uIHVzZWQKICovCgp2YXIgb2JqPXt9OwoKKGZ1bmN0aW9uICgpewogIEZ1bmN0aW9uKCJhMSxhMixhMyIsInRoaXMuc2hpZnRlZD1hMSthMithMzsiKS5hcHBseShvYmosYXJndW1lbnRzKTsKfSkoIiIsNCwyKTsKCi8vQ0hFQ0sjMQppZiAob2JqWyJzaGlmdGVkIl0gIT09ICI0MiIpIHsKICAkRVJST1IoJyMxOiBJZiBhcmdBcnJheSBpcyBlaXRoZXIgYW4gYXJyYXkgb3IgYW4gYXJndW1lbnRzIG9iamVjdCwgdGhlIGZ1bmN0aW9uIGlzIHBhc3NlZCB0aGUuLi4nKTsKfQoKLy9DSEVDSyMyCmlmICh0eXBlb2YgdGhpc1sic2hpZnRlZCJdICE9PSAidW5kZWZpbmVkIikgewogICRFUlJPUignIzI6IElmIGFyZ0FycmF5IGlzIGVpdGhlciBhbiBhcnJheSBvciBhbiBhcmd1bWVudHMgb2JqZWN0LCB0aGUgZnVuY3Rpb24gaXMgcGFzc2VkIHRoZS4uLicpOwp9CgoK","commentary":"If argArray is either an array or an arguments object,\nthe function is passed the (ToUint32(argArray.length)) arguments argArray[0], argArray[1],...,argArray[ToUint32(argArray.length)-1]","description":"argArray is (empty object, arguments), inside function call without declaration used","path":"TestCases/ch15/15.3/15.3.4/15.3.4.3/S15.3.4.3_A7_T10.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBhcmdBcnJheSBpcyBlaXRoZXIgYW4gYXJyYXkgb3IgYW4gYXJndW1lbnRzIG9iamVjdCwKICogdGhlIGZ1bmN0aW9uIGlzIHBhc3NlZCB0aGUgKFRvVWludDMyKGFyZ0FycmF5Lmxlbmd0aCkpIGFyZ3VtZW50cyBhcmdBcnJheVswXSwgYXJnQXJyYXlbMV0sLi4uLGFyZ0FycmF5W1RvVWludDMyKGFyZ0FycmF5Lmxlbmd0aCktMV0KICoKICogQHBhdGggY2gxNS8xNS4zLzE1LjMuNC8xNS4zLjQuMy9TMTUuMy40LjNfQTdfVDIuanMKICogQGRlc2NyaXB0aW9uIGFyZ0FycmF5IGlzIChudWxsLFsxLDIsM10pCiAqLwoKbmV3IEZ1bmN0aW9uKCJhMSxhMiIsImEzIiwidGhpcy5zaGlmdGVkPWEyOyIpLmFwcGx5KG51bGwsWzEsMiwzXSk7CgovL0NIRUNLIzEKaWYgKHRoaXNbInNoaWZ0ZWQiXSAhPT0gMikgewogICRFUlJPUignIzE6IElmIGFyZ0FycmF5IGlzIGVpdGhlciBhbiBhcnJheSBvciBhbiBhcmd1bWVudHMgb2JqZWN0LCB0aGUgZnVuY3Rpb24gaXMgcGFzc2VkIHRoZS4uLicpOwp9CgoK","commentary":"If argArray is either an array or an arguments object,\nthe function is passed the (ToUint32(argArray.length)) arguments argArray[0], argArray[1],...,argArray[ToUint32(argArray.length)-1]","description":"argArray is (null,[1,2,3])","path":"TestCases/ch15/15.3/15.3.4/15.3.4.3/S15.3.4.3_A7_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBhcmdBcnJheSBpcyBlaXRoZXIgYW4gYXJyYXkgb3IgYW4gYXJndW1lbnRzIG9iamVjdCwKICogdGhlIGZ1bmN0aW9uIGlzIHBhc3NlZCB0aGUgKFRvVWludDMyKGFyZ0FycmF5Lmxlbmd0aCkpIGFyZ3VtZW50cyBhcmdBcnJheVswXSwgYXJnQXJyYXlbMV0sLi4uLGFyZ0FycmF5W1RvVWludDMyKGFyZ0FycmF5Lmxlbmd0aCktMV0KICoKICogQHBhdGggY2gxNS8xNS4zLzE1LjMuNC8xNS4zLjQuMy9TMTUuMy40LjNfQTdfVDMuanMKICogQGRlc2NyaXB0aW9uIGFyZ0FycmF5IGlzIChlbXB0eSBvYmplY3QsIG5ldyBBcnJheSgibmluZSIsImluY2giLCJuYWlscyIpKQogKi8KCmk9MDsKCnA9e3RvU3RyaW5nOmZ1bmN0aW9uKCl7cmV0dXJuICJhIisoKytpKTt9fTsKCm9iaj17fTsKCkZ1bmN0aW9uKHAsImEyLGEzIiwidGhpcy5zaGlmdGVkPWExOyIpLmFwcGx5KG9iaiwgbmV3IEFycmF5KCJuaW5lIiwiaW5jaCIsIm5haWxzIikpOwoKLy9DSEVDSyMxCmlmIChvYmpbInNoaWZ0ZWQiXSAhPT0gIm5pbmUiKSB7CiAgJEVSUk9SKCcjMTogSWYgYXJnQXJyYXkgaXMgZWl0aGVyIGFuIGFycmF5IG9yIGFuIGFyZ3VtZW50cyBvYmplY3QsIHRoZSBmdW5jdGlvbiBpcyBwYXNzZWQgdGhlLi4uJyk7Cn0KCi8vQ0hFQ0sjMgppZiAodHlwZW9mIHRoaXNbInNoaWZ0ZWQiXSAhPT0gInVuZGVmaW5lZCIpIHsKICAkRVJST1IoJyMyOiBJZiBhcmdBcnJheSBpcyBlaXRoZXIgYW4gYXJyYXkgb3IgYW4gYXJndW1lbnRzIG9iamVjdCwgdGhlIGZ1bmN0aW9uIGlzIHBhc3NlZCB0aGUuLi4nKTsKfQoKCg==","commentary":"If argArray is either an array or an arguments object,\nthe function is passed the (ToUint32(argArray.length)) arguments argArray[0], argArray[1],...,argArray[ToUint32(argArray.length)-1]","description":"argArray is (empty object, new Array(\"nine\",\"inch\",\"nails\"))","path":"TestCases/ch15/15.3/15.3.4/15.3.4.3/S15.3.4.3_A7_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBhcmdBcnJheSBpcyBlaXRoZXIgYW4gYXJyYXkgb3IgYW4gYXJndW1lbnRzIG9iamVjdCwKICogdGhlIGZ1bmN0aW9uIGlzIHBhc3NlZCB0aGUgKFRvVWludDMyKGFyZ0FycmF5Lmxlbmd0aCkpIGFyZ3VtZW50cyBhcmdBcnJheVswXSwgYXJnQXJyYXlbMV0sLi4uLGFyZ0FycmF5W1RvVWludDMyKGFyZ0FycmF5Lmxlbmd0aCktMV0KICoKICogQHBhdGggY2gxNS8xNS4zLzE1LjMuNC8xNS4zLjQuMy9TMTUuMy40LjNfQTdfVDQuanMKICogQGRlc2NyaXB0aW9uIGFyZ0FycmF5IGlzIChlbXB0eSBvYmplY3QsICggZnVuY3Rpb24oKXtyZXR1cm4gYXJndW1lbnRzO30pICgiYSIsImIiLCJjIikpCiAqLwoKaT0wOwoKcD17dG9TdHJpbmc6ZnVuY3Rpb24oKXtyZXR1cm4gImEiKygrK2kpO319OwoKb2JqPXt9OwoKbmV3IEZ1bmN0aW9uKHAscCxwLCAidGhpcy5zaGlmdGVkPWEzOyIpLmFwcGx5KCBvYmosKCBmdW5jdGlvbigpe3JldHVybiBhcmd1bWVudHM7fSkgKCJhIiwiYiIsImMiKSApOwoKLy9DSEVDSyMxCmlmIChvYmpbInNoaWZ0ZWQiXSAhPT0gImMiKSB7CiAgJEVSUk9SKCcjMTogSWYgYXJnQXJyYXkgaXMgZWl0aGVyIGFuIGFycmF5IG9yIGFuIGFyZ3VtZW50cyBvYmplY3QsIHRoZSBmdW5jdGlvbiBpcyBwYXNzZWQgdGhlLi4uJyk7Cn0KCi8vQ0hFQ0sjMgppZiAodHlwZW9mIHRoaXNbInNoaWZ0ZWQiXSAhPT0gInVuZGVmaW5lZCIpIHsKICAkRVJST1IoJyMyOiBJZiBhcmdBcnJheSBpcyBlaXRoZXIgYW4gYXJyYXkgb3IgYW4gYXJndW1lbnRzIG9iamVjdCwgdGhlIGZ1bmN0aW9uIGlzIHBhc3NlZCB0aGUuLi4nKTsKfQoKCg==","commentary":"If argArray is either an array or an arguments object,\nthe function is passed the (ToUint32(argArray.length)) arguments argArray[0], argArray[1],...,argArray[ToUint32(argArray.length)-1]","description":"argArray is (empty object, ( function(){return arguments;}) (\"a\",\"b\",\"c\"))","path":"TestCases/ch15/15.3/15.3.4/15.3.4.3/S15.3.4.3_A7_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBhcmdBcnJheSBpcyBlaXRoZXIgYW4gYXJyYXkgb3IgYW4gYXJndW1lbnRzIG9iamVjdCwKICogdGhlIGZ1bmN0aW9uIGlzIHBhc3NlZCB0aGUgKFRvVWludDMyKGFyZ0FycmF5Lmxlbmd0aCkpIGFyZ3VtZW50cyBhcmdBcnJheVswXSwgYXJnQXJyYXlbMV0sLi4uLGFyZ0FycmF5W1RvVWludDMyKGFyZ0FycmF5Lmxlbmd0aCktMV0KICoKICogQHBhdGggY2gxNS8xNS4zLzE1LjMuNC8xNS4zLjQuMy9TMTUuMy40LjNfQTdfVDUuanMKICogQGRlc2NyaXB0aW9uIGFyZ0FycmF5IGlzIChudWxsLCBhcmd1bWVudHMpLCBpbnNpZGUgZnVuY3Rpb24gZGVjbGFyYXRpb24gdXNlZAogKi8KCmZ1bmN0aW9uIEZBQ1RPUlkoKXsKICBGdW5jdGlvbigiYTEsYTIsYTMiLCJ0aGlzLnNoaWZ0ZWQ9YTErYTIrYTM7IikuYXBwbHkobnVsbCxhcmd1bWVudHMpOwp9CgpvYmo9bmV3IEZBQ1RPUlkoIiIsMSwyKTsKCi8vQ0hFQ0sjMQppZiAodGhpc1sic2hpZnRlZCJdICE9PSAiMTIiKSB7CiAgJEVSUk9SKCcjMTogSWYgYXJnQXJyYXkgaXMgZWl0aGVyIGFuIGFycmF5IG9yIGFuIGFyZ3VtZW50cyBvYmplY3QsIHRoZSBmdW5jdGlvbiBpcyBwYXNzZWQgdGhlLi4uJyk7Cn0KCi8vQ0hFQ0sjMgppZiAodHlwZW9mIG9iai5zaGlmdGVkICE9PSAidW5kZWZpbmVkIikgewogICRFUlJPUignIzI6IElmIGFyZ0FycmF5IGlzIGVpdGhlciBhbiBhcnJheSBvciBhbiBhcmd1bWVudHMgb2JqZWN0LCB0aGUgZnVuY3Rpb24gaXMgcGFzc2VkIHRoZS4uLicpOwp9CgoK","commentary":"If argArray is either an array or an arguments object,\nthe function is passed the (ToUint32(argArray.length)) arguments argArray[0], argArray[1],...,argArray[ToUint32(argArray.length)-1]","description":"argArray is (null, arguments), inside function declaration used","path":"TestCases/ch15/15.3/15.3.4/15.3.4.3/S15.3.4.3_A7_T5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBhcmdBcnJheSBpcyBlaXRoZXIgYW4gYXJyYXkgb3IgYW4gYXJndW1lbnRzIG9iamVjdCwKICogdGhlIGZ1bmN0aW9uIGlzIHBhc3NlZCB0aGUgKFRvVWludDMyKGFyZ0FycmF5Lmxlbmd0aCkpIGFyZ3VtZW50cyBhcmdBcnJheVswXSwgYXJnQXJyYXlbMV0sLi4uLGFyZ0FycmF5W1RvVWludDMyKGFyZ0FycmF5Lmxlbmd0aCktMV0KICoKICogQHBhdGggY2gxNS8xNS4zLzE1LjMuNC8xNS4zLjQuMy9TMTUuMy40LjNfQTdfVDYuanMKICogQGRlc2NyaXB0aW9uIGFyZ0FycmF5IGlzICh0aGlzLCBhcmd1bWVudHMpLCBpbnNpZGUgZnVuY3Rpb24gZGVjbGFyYXRpb24gdXNlZAogKi8KCmZ1bmN0aW9uIEZBQ1RPUlkoKXsKICBGdW5jdGlvbigiYTEsYTIsYTMiLCJ0aGlzLnNoaWZ0ZWQ9YTErYTIrYTM7IikuYXBwbHkodGhpcyxhcmd1bWVudHMpOwp9CgpvYmo9bmV3IEZBQ1RPUlkoIiIsNCwyKTsKCi8vQ0hFQ0sjMQppZiAob2JqWyJzaGlmdGVkIl0gIT09ICI0MiIpIHsKICAkRVJST1IoJyMxOiBJZiBhcmdBcnJheSBpcyBlaXRoZXIgYW4gYXJyYXkgb3IgYW4gYXJndW1lbnRzIG9iamVjdCwgdGhlIGZ1bmN0aW9uIGlzIHBhc3NlZCB0aGUuLi4nKTsKfQoKLy9DSEVDSyMyCmlmICh0eXBlb2YgdGhpc1sic2hpZnRlZCJdICE9PSAidW5kZWZpbmVkIikgewogICRFUlJPUignIzI6IElmIGFyZ0FycmF5IGlzIGVpdGhlciBhbiBhcnJheSBvciBhbiBhcmd1bWVudHMgb2JqZWN0LCB0aGUgZnVuY3Rpb24gaXMgcGFzc2VkIHRoZS4uLicpOwp9CgoK","commentary":"If argArray is either an array or an arguments object,\nthe function is passed the (ToUint32(argArray.length)) arguments argArray[0], argArray[1],...,argArray[ToUint32(argArray.length)-1]","description":"argArray is (this, arguments), inside function declaration used","path":"TestCases/ch15/15.3/15.3.4/15.3.4.3/S15.3.4.3_A7_T6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBhcmdBcnJheSBpcyBlaXRoZXIgYW4gYXJyYXkgb3IgYW4gYXJndW1lbnRzIG9iamVjdCwKICogdGhlIGZ1bmN0aW9uIGlzIHBhc3NlZCB0aGUgKFRvVWludDMyKGFyZ0FycmF5Lmxlbmd0aCkpIGFyZ3VtZW50cyBhcmdBcnJheVswXSwgYXJnQXJyYXlbMV0sLi4uLGFyZ0FycmF5W1RvVWludDMyKGFyZ0FycmF5Lmxlbmd0aCktMV0KICoKICogQHBhdGggY2gxNS8xNS4zLzE1LjMuNC8xNS4zLjQuMy9TMTUuMy40LjNfQTdfVDcuanMKICogQGRlc2NyaXB0aW9uIGFyZ0FycmF5IGlzIChudWxsLCBhcmd1bWVudHMpLCBpbnNpZGUgZnVuY3Rpb24gY2FsbCB3aXRob3V0IGRlY2xhcmF0aW9uIHVzZWQKICovCgooZnVuY3Rpb24gKCl7CiAgRnVuY3Rpb24oImExLGEyLGEzIiwidGhpcy5zaGlmdGVkPWExK2EyK2EzOyIpLmFwcGx5KG51bGwsYXJndW1lbnRzKTsKfSkoIiIsMSwyKTsKCi8vQ0hFQ0sjMQppZiAodGhpc1sic2hpZnRlZCJdICE9PSAiMTIiKSB7CiAgJEVSUk9SKCcjMTogSWYgYXJnQXJyYXkgaXMgZWl0aGVyIGFuIGFycmF5IG9yIGFuIGFyZ3VtZW50cyBvYmplY3QsIHRoZSBmdW5jdGlvbiBpcyBwYXNzZWQgdGhlLi4uJyk7Cn0KCg==","commentary":"If argArray is either an array or an arguments object,\nthe function is passed the (ToUint32(argArray.length)) arguments argArray[0], argArray[1],...,argArray[ToUint32(argArray.length)-1]","description":"argArray is (null, arguments), inside function call without declaration used","path":"TestCases/ch15/15.3/15.3.4/15.3.4.3/S15.3.4.3_A7_T7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBhcmdBcnJheSBpcyBlaXRoZXIgYW4gYXJyYXkgb3IgYW4gYXJndW1lbnRzIG9iamVjdCwKICogdGhlIGZ1bmN0aW9uIGlzIHBhc3NlZCB0aGUgKFRvVWludDMyKGFyZ0FycmF5Lmxlbmd0aCkpIGFyZ3VtZW50cyBhcmdBcnJheVswXSwgYXJnQXJyYXlbMV0sLi4uLGFyZ0FycmF5W1RvVWludDMyKGFyZ0FycmF5Lmxlbmd0aCktMV0KICoKICogQHBhdGggY2gxNS8xNS4zLzE1LjMuNC8xNS4zLjQuMy9TMTUuMy40LjNfQTdfVDguanMKICogQGRlc2NyaXB0aW9uIGFyZ0FycmF5IGlzICh0aGlzLCBhcmd1bWVudHMpLCBpbnNpZGUgZnVuY3Rpb24gY2FsbCB3aXRob3V0IGRlY2xhcmF0aW9uIHVzZWQKICovCgooZnVuY3Rpb24gKCl7CiAgRnVuY3Rpb24oImExLGEyLGEzIiwidGhpcy5zaGlmdGVkPWExK2EyK2EzOyIpLmFwcGx5KHRoaXMsYXJndW1lbnRzKTsKfSkoIiIsNCwyKTsKCi8vQ0hFQ0sjMgppZiAodGhpc1sic2hpZnRlZCJdICE9PSAiNDIiKSB7CiAgJEVSUk9SKCcjMjogSWYgYXJnQXJyYXkgaXMgZWl0aGVyIGFuIGFycmF5IG9yIGFuIGFyZ3VtZW50cyBvYmplY3QsIHRoZSBmdW5jdGlvbiBpcyBwYXNzZWQgdGhlLi4uJyk7Cn0KCgo=","commentary":"If argArray is either an array or an arguments object,\nthe function is passed the (ToUint32(argArray.length)) arguments argArray[0], argArray[1],...,argArray[ToUint32(argArray.length)-1]","description":"argArray is (this, arguments), inside function call without declaration used","path":"TestCases/ch15/15.3/15.3.4/15.3.4.3/S15.3.4.3_A7_T8.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBhcmdBcnJheSBpcyBlaXRoZXIgYW4gYXJyYXkgb3IgYW4gYXJndW1lbnRzIG9iamVjdCwKICogdGhlIGZ1bmN0aW9uIGlzIHBhc3NlZCB0aGUgKFRvVWludDMyKGFyZ0FycmF5Lmxlbmd0aCkpIGFyZ3VtZW50cyBhcmdBcnJheVswXSwgYXJnQXJyYXlbMV0sLi4uLGFyZ0FycmF5W1RvVWludDMyKGFyZ0FycmF5Lmxlbmd0aCktMV0KICoKICogQHBhdGggY2gxNS8xNS4zLzE1LjMuNC8xNS4zLjQuMy9TMTUuMy40LjNfQTdfVDkuanMKICogQGRlc2NyaXB0aW9uIGFyZ0FycmF5IGlzIChlbXB0eSBvYmplY3QsIGFyZ3VtZW50cyksIGluc2lkZSBmdW5jdGlvbiBkZWNsYXJhdGlvbiB1c2VkCiAqLwoKZnVuY3Rpb24gRkFDVE9SWSgpewogIHZhciBvYmogPSB7fTsKICBGdW5jdGlvbigiYTEsYTIsYTMiLCJ0aGlzLnNoaWZ0ZWQ9YTErYTIrYTM7IikuYXBwbHkob2JqLGFyZ3VtZW50cyk7CiAgcmV0dXJuIG9iajsKfQoKb2JqPW5ldyBGQUNUT1JZKCIiLDEsMik7CgovL0NIRUNLIzEKaWYgKHR5cGVvZiB0aGlzWyJzaGlmdGVkIl0gIT09ICJ1bmRlZmluZWQiKSB7CiAgJEVSUk9SKCcjMTogSWYgYXJnQXJyYXkgaXMgZWl0aGVyIGFuIGFycmF5IG9yIGFuIGFyZ3VtZW50cyBvYmplY3QsIHRoZSBmdW5jdGlvbiBpcyBwYXNzZWQgdGhlLi4uJyk7Cn0KCi8vQ0hFQ0sjMgppZiAob2JqLnNoaWZ0ZWQgIT09ICIxMiIpIHsKICAkRVJST1IoJyMyOiBJZiBhcmdBcnJheSBpcyBlaXRoZXIgYW4gYXJyYXkgb3IgYW4gYXJndW1lbnRzIG9iamVjdCwgdGhlIGZ1bmN0aW9uIGlzIHBhc3NlZCB0aGUuLi4nKTsKfQoKCg==","commentary":"If argArray is either an array or an arguments object,\nthe function is passed the (ToUint32(argArray.length)) arguments argArray[0], argArray[1],...,argArray[ToUint32(argArray.length)-1]","description":"argArray is (empty object, arguments), inside function declaration used","path":"TestCases/ch15/15.3/15.3.4/15.3.4.3/S15.3.4.3_A7_T9.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBGdW5jdGlvbi5wcm90b3R5cGUuYXBwbHkgY2FuYHQgYmUgdXNlZCBhcyBbW2NyZWF0ZV1dIGNhbGxlcgogKgogKiBAcGF0aCBjaDE1LzE1LjMvMTUuMy40LzE1LjMuNC4zL1MxNS4zLjQuM19BOF9UMS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgaWYgY3JlYXRpbmcgIm5ldyBGdW5jdGlvbi5wcm90b3R5cGUuYXBwbHkiIGZhaWxzCiAqLwoKdHJ5IHsKICBvYmogPSBuZXcgRnVuY3Rpb24ucHJvdG90eXBlLmFwcGx5OwogICRFUlJPUignIzE6IEZ1bmN0aW9uLnByb3RvdHlwZS5hcHBseSBjYW5cJ3QgYmUgdXNlZCBhcyBbW2NyZWF0ZV1dIGNhbGxlcicpOwp9IGNhdGNoIChlKSB7CiAgaWYgKCEoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikpIHsKICAJJEVSUk9SKCcjMS4xOiBGdW5jdGlvbi5wcm90b3R5cGUuYXBwbHkgY2FuXCd0IGJlIHVzZWQgYXMgW1tjcmVhdGVdXSBjYWxsZXInKTsKICB9Cn0KCg==","commentary":"Function.prototype.apply can`t be used as [[create]] caller","description":"Checking if creating \"new Function.prototype.apply\" fails","path":"TestCases/ch15/15.3/15.3.4/15.3.4.3/S15.3.4.3_A8_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBGdW5jdGlvbi5wcm90b3R5cGUuYXBwbHkgY2FuYHQgYmUgdXNlZCBhcyBbW2NyZWF0ZV1dIGNhbGxlcgogKgogKiBAcGF0aCBjaDE1LzE1LjMvMTUuMy40LzE1LjMuNC4zL1MxNS4zLjQuM19BOF9UMi5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgaWYgY3JlYXRpbmcgIm5ldyBGdW5jdGlvbi5wcm90b3R5cGUuYXBwbHkoKSIgZmFpbHMKICovCgp0cnkgewogIG9iaiA9IG5ldyBGdW5jdGlvbi5wcm90b3R5cGUuYXBwbHkoKTsKICAkRVJST1IoJyMxOiBGdW5jdGlvbi5wcm90b3R5cGUuYXBwbHkgY2FuXCd0IGJlIHVzZWQgYXMgW1tjcmVhdGVdXSBjYWxsZXInKTsKfSBjYXRjaCAoZSkgewogIGlmICghKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpKSB7CiAgCSRFUlJPUignIzEuMTogRnVuY3Rpb24ucHJvdG90eXBlLmFwcGx5IGNhblwndCBiZSB1c2VkIGFzIFtbY3JlYXRlXV0gY2FsbGVyJyk7CiAgfQp9Cgo=","commentary":"Function.prototype.apply can`t be used as [[create]] caller","description":"Checking if creating \"new Function.prototype.apply()\" fails","path":"TestCases/ch15/15.3/15.3.4/15.3.4.3/S15.3.4.3_A8_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBGdW5jdGlvbi5wcm90b3R5cGUuYXBwbHkgY2FuYHQgYmUgdXNlZCBhcyBbW2NyZWF0ZV1dIGNhbGxlcgogKgogKiBAcGF0aCBjaDE1LzE1LjMvMTUuMy40LzE1LjMuNC4zL1MxNS4zLjQuM19BOF9UMy5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgaWYgY3JlYXRpbmcgIm5ldyBGdW5jdGlvbi5hcHBseSIgZmFpbHMKICovCgp0cnkgewogIG9iaiA9IG5ldyBGdW5jdGlvbi5hcHBseTsKICAkRVJST1IoJyMxOiBGdW5jdGlvbi5wcm90b3R5cGUuYXBwbHkgY2FuXCd0IGJlIHVzZWQgYXMgW1tjcmVhdGVdXSBjYWxsZXInKTsKfSBjYXRjaCAoZSkgewogIGlmICghKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpKSB7CiAgCSRFUlJPUignIzEuMTogRnVuY3Rpb24ucHJvdG90eXBlLmFwcGx5IGNhblwndCBiZSB1c2VkIGFzIFtbY3JlYXRlXV0gY2FsbGVyJyk7CiAgfQp9Cgo=","commentary":"Function.prototype.apply can`t be used as [[create]] caller","description":"Checking if creating \"new Function.apply\" fails","path":"TestCases/ch15/15.3/15.3.4/15.3.4.3/S15.3.4.3_A8_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBGdW5jdGlvbi5wcm90b3R5cGUuYXBwbHkgY2FuYHQgYmUgdXNlZCBhcyBbW2NyZWF0ZV1dIGNhbGxlcgogKgogKiBAcGF0aCBjaDE1LzE1LjMvMTUuMy40LzE1LjMuNC4zL1MxNS4zLjQuM19BOF9UNC5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgaWYgY3JlYXRpbmcgIm5ldyAoRnVuY3Rpb24oInRoaXMucDE9MSIpLmFwcGx5KSIgZmFpbHMKICovCgp0cnkgewogIG9iaiA9IG5ldyAoRnVuY3Rpb24oInRoaXMucDE9MSIpLmFwcGx5KTsKICAkRVJST1IoJyMxOiBGdW5jdGlvbi5wcm90b3R5cGUuYXBwbHkgY2FuXCd0IGJlIHVzZWQgYXMgW1tjcmVhdGVdXSBjYWxsZXInKTsKfSBjYXRjaCAoZSkgewogIGlmICghKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpKSB7CiAgCSRFUlJPUignIzEuMTogRnVuY3Rpb24ucHJvdG90eXBlLmFwcGx5IGNhblwndCBiZSB1c2VkIGFzIFtbY3JlYXRlXV0gY2FsbGVyJyk7CiAgfQp9Cgo=","commentary":"Function.prototype.apply can`t be used as [[create]] caller","description":"Checking if creating \"new (Function(\"this.p1=1\").apply)\" fails","path":"TestCases/ch15/15.3/15.3.4/15.3.4.3/S15.3.4.3_A8_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBGdW5jdGlvbi5wcm90b3R5cGUuYXBwbHkgY2FuYHQgYmUgdXNlZCBhcyBbW2NyZWF0ZV1dIGNhbGxlcgogKgogKiBAcGF0aCBjaDE1LzE1LjMvMTUuMy40LzE1LjMuNC4zL1MxNS4zLjQuM19BOF9UNS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgaWYgY3JlYXRpbmcgIm5ldyBGdW5jdGlvbigidGhpcy5wMT0xIikuYXBwbHkiIGZhaWxzCiAqLwoKdHJ5IHsKICBGQUNUT1JZID0gRnVuY3Rpb24oInRoaXMucDE9MSIpLmFwcGx5OwogIG9iaiA9IG5ldyBGQUNUT1JZKCk7CiAgJEVSUk9SKCcjMTogRnVuY3Rpb24ucHJvdG90eXBlLmFwcGx5IGNhblwndCBiZSB1c2VkIGFzIFtbY3JlYXRlXV0gY2FsbGVyJyk7Cn0gY2F0Y2ggKGUpIHsKICBpZiAoIShlIGluc3RhbmNlb2YgVHlwZUVycm9yKSkgewogIAkkRVJST1IoJyMxLjE6IEZ1bmN0aW9uLnByb3RvdHlwZS5hcHBseSBjYW5cJ3QgYmUgdXNlZCBhcyBbW2NyZWF0ZV1dIGNhbGxlcicpOwogIH0KfQoK","commentary":"Function.prototype.apply can`t be used as [[create]] caller","description":"Checking if creating \"new Function(\"this.p1=1\").apply\" fails","path":"TestCases/ch15/15.3/15.3.4/15.3.4.3/S15.3.4.3_A8_T5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBGdW5jdGlvbi5wcm90b3R5cGUuYXBwbHkgY2FuYHQgYmUgdXNlZCBhcyBbW2NyZWF0ZV1dIGNhbGxlcgogKgogKiBAcGF0aCBjaDE1LzE1LjMvMTUuMy40LzE1LjMuNC4zL1MxNS4zLjQuM19BOF9UNi5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgaWYgY3JlYXRpbmcgIm5ldyAoRnVuY3Rpb24oImZ1bmN0aW9uIGYoKXt0aGlzLnAxPTE7fTtyZXR1cm4gZiIpLmFwcGx5KCkpIiBmYWlscwogKi8KCi8vQ0hFQ0sjMQp0cnkgewogIG9iaiA9IG5ldyAoRnVuY3Rpb24oImZ1bmN0aW9uIGYoKXt0aGlzLnAxPTE7fTtyZXR1cm4gZiIpLmFwcGx5KCkpOwp9IGNhdGNoIChlKSB7CiAgJEVSUk9SKCcjMTogRnVuY3Rpb24ucHJvdG90eXBlLmFwcGx5IGNhblwndCBiZSB1c2VkIGFzIFtbY3JlYXRlXV0gY2FsbGVyJyk7Cn0KCi8vQ0hFQ0sjMgppZiAob2JqLnAxIT09IDEpIHsKICAkRVJST1IoJyMyOiBGdW5jdGlvbi5wcm90b3R5cGUuYXBwbHkgY2FuXCd0IGJlIHVzZWQgYXMgW1tjcmVhdGVdXSBjYWxsZXInKTsKfQoK","commentary":"Function.prototype.apply can`t be used as [[create]] caller","description":"Checking if creating \"new (Function(\"function f(){this.p1=1;};return f\").apply())\" fails","path":"TestCases/ch15/15.3/15.3.4/15.3.4.3/S15.3.4.3_A8_T6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRnVuY3Rpb24ucHJvdG90eXBlLmFwcGx5Lmxlbmd0aCBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZSBEb250RGVsZXRlCiAqCiAqIEBwYXRoIGNoMTUvMTUuMy8xNS4zLjQvMTUuMy40LjMvUzE1LjMuNC4zX0E5LmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiBkZWxldGluZyB0aGUgRnVuY3Rpb24ucHJvdG90eXBlLmFwcGx5Lmxlbmd0aCBwcm9wZXJ0eSBmYWlscwogKi8KCi8vQ0hFQ0sjMAppZiAoIShGdW5jdGlvbi5wcm90b3R5cGUuYXBwbHkuaGFzT3duUHJvcGVydHkoJ2xlbmd0aCcpKSkgewogICRGQUlMKCcjMDogdGhlIEZ1bmN0aW9uLnByb3RvdHlwZS5hcHBseSBoYXMgbGVuZ3RoIHByb3BlcnR5Jyk7Cn0KCi8vQ0hFQ0sjMQppZiAoZGVsZXRlIEZ1bmN0aW9uLnByb3RvdHlwZS5hcHBseS5sZW5ndGgpIHsKICAkRVJST1IoJyMxOiBUaGUgRnVuY3Rpb24ucHJvdG90eXBlLmFwcGx5Lmxlbmd0aCBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZXMgRG9udERlbGV0ZScpOwp9CgovL0NIRUNLIzIKaWYgKCEoRnVuY3Rpb24ucHJvdG90eXBlLmFwcGx5Lmhhc093blByb3BlcnR5KCdsZW5ndGgnKSkpIHsKICAkRkFJTCgnIzI6IFRoZSBGdW5jdGlvbi5wcm90b3R5cGUuYXBwbHkubGVuZ3RoIHByb3BlcnR5IGhhcyB0aGUgYXR0cmlidXRlcyBEb250RGVsZXRlJyk7Cn0KCg==","commentary":"The Function.prototype.apply.length property has the attribute DontDelete","description":"Checking if deleting the Function.prototype.apply.length property fails","path":"TestCases/ch15/15.3/15.3.4/15.3.4.3/S15.3.4.3_A9.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4zLzE1LjMuNC8xNS4zLjQuNC8xNS4zLjQuNC0xLXMuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpY3QgTW9kZSAtICd0aGlzJyB2YWx1ZSBpcyBhIHN0cmluZyB3aGljaCBjYW5ub3QgYmUgY29udmVydGVkIHRvIHdyYXBwZXIgb2JqZWN0cyB3aGVuIHRoZSBmdW5jdGlvbiBpcyBjYWxsZWQgd2l0aG91dCBhbiBhcnJheSBvZiBhcmd1bWVudHMNCiAqIEBvbmx5U3RyaWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgInVzZSBzdHJpY3QiOw0KICAgICAgICBmdW5jdGlvbiBmdW4oKSB7DQogICAgICAgICAgICByZXR1cm4gKHRoaXMgaW5zdGFuY2VvZiBTdHJpbmcpOw0KICAgICAgICB9DQogICAgICAgIHJldHVybiAhZnVuLmNhbGwoIiIpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Strict Mode - 'this' value is a string which cannot be converted to wrapper objects when the function is called without an array of arguments","onlyStrict":"","path":"TestCases/ch15/15.3/15.3.4/15.3.4.4/15.3.4.4-1-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4zLzE1LjMuNC8xNS4zLjQuNC8xNS4zLjQuNC0yLXMuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpY3QgTW9kZSAtICd0aGlzJyB2YWx1ZSBpcyBhIG51bWJlciB3aGljaCBjYW5ub3QgYmUgY29udmVydGVkIHRvIHdyYXBwZXIgb2JqZWN0cyAgd2hlbiB0aGUgZnVuY3Rpb24gaXMgY2FsbGVkIHdpdGhvdXQgYW4gYXJyYXkgYXJndW1lbnQNCiAqIEBvbmx5U3RyaWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgInVzZSBzdHJpY3QiOw0KICAgICAgICBmdW5jdGlvbiBmdW4oKSB7DQogICAgICAgICAgICByZXR1cm4gKHRoaXMgaW5zdGFuY2VvZiBOdW1iZXIpOw0KICAgICAgICB9DQogICAgICAgIHJldHVybiAhZnVuLmNhbGwoLTEyKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Strict Mode - 'this' value is a number which cannot be converted to wrapper objects when the function is called without an array argument","onlyStrict":"","path":"TestCases/ch15/15.3/15.3.4/15.3.4.4/15.3.4.4-2-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4zLzE1LjMuNC8xNS4zLjQuNC8xNS4zLjQuNC0zLXMuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpY3QgTW9kZSAtICd0aGlzJyB2YWx1ZSBpcyBhIGJvb2xlYW4gd2hpY2ggY2Fubm90IGJlIGNvbnZlcnRlZCB0byB3cmFwcGVyIG9iamVjdHMgd2hlbiB0aGUgZnVuY3Rpb24gaXMgY2FsbGVkIHdpdGhvdXQgYW4gYXJyYXkgb2YgYXJndW1lbnRzDQogKiBAb25seVN0cmljdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgICJ1c2Ugc3RyaWN0IjsNCiAgICAgICAgZnVuY3Rpb24gZnVuKCkgew0KICAgICAgICAgICAgcmV0dXJuICh0aGlzIGluc3RhbmNlb2YgQm9vbGVhbik7DQogICAgICAgIH0NCiAgICAgICAgcmV0dXJuICFmdW4uY2FsbChmYWxzZSk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Strict Mode - 'this' value is a boolean which cannot be converted to wrapper objects when the function is called without an array of arguments","onlyStrict":"","path":"TestCases/ch15/15.3/15.3.4/15.3.4.4/15.3.4.4-3-s.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRnVuY3Rpb24ucHJvdG90eXBlLmNhbGwubGVuZ3RoIHByb3BlcnR5IGhhcyB0aGUgYXR0cmlidXRlIFJlYWRPbmx5CiAqCiAqIEBwYXRoIGNoMTUvMTUuMy8xNS4zLjQvMTUuMy40LjQvUzE1LjMuNC40X0ExMC5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgaWYgdmFyeWluZyB0aGUgRnVuY3Rpb24ucHJvdG90eXBlLmNhbGwubGVuZ3RoIHByb3BlcnR5IGZhaWxzCiAqLwoKLy9DSEVDSyMxCmlmICghKEZ1bmN0aW9uLnByb3RvdHlwZS5jYWxsLmhhc093blByb3BlcnR5KCdsZW5ndGgnKSkpIHsKICAkRkFJTCgnIzE6IHRoZSBGdW5jdGlvbi5wcm90b3R5cGUuY2FsbCBoYXMgbGVuZ3RoIHByb3BlcnR5LicpOwp9Cgp2YXIgb2JqID0gRnVuY3Rpb24ucHJvdG90eXBlLmNhbGwubGVuZ3RoOwoKRnVuY3Rpb24ucHJvdG90eXBlLmNhbGwubGVuZ3RoID0gZnVuY3Rpb24oKXtyZXR1cm4gInNoaWZ0ZWQiO307CgovL0NIRUNLIzIKaWYgKEZ1bmN0aW9uLnByb3RvdHlwZS5jYWxsLmxlbmd0aCAhPT0gb2JqKSB7CiAgJEVSUk9SKCcjMjogdGhlIEZ1bmN0aW9uLnByb3RvdHlwZS5jYWxsIGxlbmd0aCBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZXMgUmVhZE9ubHkuJyk7Cn0KCg==","commentary":"The Function.prototype.call.length property has the attribute ReadOnly","description":"Checking if varying the Function.prototype.call.length property fails","path":"TestCases/ch15/15.3/15.3.4/15.3.4.4/S15.3.4.4_A10.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRnVuY3Rpb24ucHJvdG90eXBlLmNhbGwubGVuZ3RoIHByb3BlcnR5IGhhcyB0aGUgYXR0cmlidXRlIERvbnRFbnVtCiAqCiAqIEBwYXRoIGNoMTUvMTUuMy8xNS4zLjQvMTUuMy40LjQvUzE1LjMuNC40X0ExMS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgaWYgZW51bWVyYXRpbmcgdGhlIEZ1bmN0aW9uLnByb3RvdHlwZS5jYWxsLmxlbmd0aCBwcm9wZXJ0eSBmYWlscwogKi8KCi8vQ0hFQ0sjMAppZiAoIShGdW5jdGlvbi5wcm90b3R5cGUuY2FsbC5oYXNPd25Qcm9wZXJ0eSgnbGVuZ3RoJykpKSB7CiAgJEZBSUwoJyMwOiB0aGUgRnVuY3Rpb24ucHJvdG90eXBlLmNhbGwgaGFzIGxlbmd0aCBwcm9wZXJ0eS4nKTsKfQoKCi8vIENIRUNLIzEKaWYgKEZ1bmN0aW9uLnByb3RvdHlwZS5jYWxsLnByb3BlcnR5SXNFbnVtZXJhYmxlKCdsZW5ndGgnKSkgewogICRFUlJPUignIzE6IHRoZSBGdW5jdGlvbi5wcm90b3R5cGUuY2FsbC5sZW5ndGggcHJvcGVydHkgaGFzIHRoZSBhdHRyaWJ1dGVzIERvbnRFbnVtJyk7Cn0KCi8vIENIRUNLIzIKZm9yIChwIGluIEZ1bmN0aW9uLnByb3RvdHlwZS5jYWxsKXsKICBpZiAocD09PSJsZW5ndGgiKQogICAgJEVSUk9SKCcjMjogdGhlIEZ1bmN0aW9uLnByb3RvdHlwZS5jYWxsLmxlbmd0aCBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZXMgRG9udEVudW0nKTsKfQoK","commentary":"The Function.prototype.call.length property has the attribute DontEnum","description":"Checking if enumerating the Function.prototype.call.length property fails","path":"TestCases/ch15/15.3/15.3.4/15.3.4.4/S15.3.4.4_A11.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBGdW5jdGlvbi5wcm90b3R5cGUuY2FsbCBoYXMgbm90IHByb3RvdHlwZSBwcm9wZXJ0eQogKgogKiBAcGF0aCBjaDE1LzE1LjMvMTUuMy40LzE1LjMuNC40L1MxNS4zLjQuNF9BMTIuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIG9idGFpbmluZyB0aGUgcHJvdG90eXBlIHByb3BlcnR5IG9mIEZ1bmN0aW9uLnByb3RvdHlwZS5jYWxsIGZhaWxzCiAqLwoKLy9DSEVDSyMxCmlmIChGdW5jdGlvbi5wcm90b3R5cGUuY2FsbC5wcm90b3R5cGUgIT09IHVuZGVmaW5lZCkgewogICRFUlJPUignIzE6IEZ1bmN0aW9uLnByb3RvdHlwZS5jYWxsIGhhcyBub3QgcHJvdG90eXBlIHByb3BlcnR5JytGdW5jdGlvbi5wcm90b3R5cGUuY2FsbC5wcm90b3R5cGUpOwp9Cgo=","commentary":"Function.prototype.call has not prototype property","description":"Checking if obtaining the prototype property of Function.prototype.call fails","path":"TestCases/ch15/15.3/15.3.4/15.3.4.4/S15.3.4.4_A12.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMTEgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBAcGF0aCBjaDE1LzE1LjMvMTUuMy40LzE1LjMuNC40L1MxNS4zLjQuNF9BMTMuanMKICogQGRlc2NyaXB0aW9uIElmIElzQ2FsbGFibGUoZnVuYykgaXMgZmFsc2UsIHRoZW4gdGhyb3cgYSBUeXBlRXJyb3IgZXhjZXB0aW9uLgogKiBAbmVnYXRpdmUgVHlwZUVycm9yCiAqLwoKRnVuY3Rpb24ucHJvdG90eXBlLmNhbGwuY2FsbCh1bmRlZmluZWQsIHt9KTsKCg==","commentary":"","description":"If IsCallable(func) is false, then throw a TypeError exception.","negative":"TypeError","path":"TestCases/ch15/15.3/15.3.4/15.3.4.4/S15.3.4.4_A13.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMTEgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBAcGF0aCBjaDE1LzE1LjMvMTUuMy40LzE1LjMuNC40L1MxNS4zLjQuNF9BMTQuanMKICogQGRlc2NyaXB0aW9uIElmIElzQ2FsbGFibGUoZnVuYykgaXMgZmFsc2UsIHRoZW4gdGhyb3cgYSBUeXBlRXJyb3IgZXhjZXB0aW9uLgogKiBAbmVnYXRpdmUgVHlwZUVycm9yCiAqLwoKRnVuY3Rpb24ucHJvdG90eXBlLmNhbGwuY2FsbChudWxsLCB7fSk7Cgo=","commentary":"","description":"If IsCallable(func) is false, then throw a TypeError exception.","negative":"TypeError","path":"TestCases/ch15/15.3/15.3.4/15.3.4.4/S15.3.4.4_A14.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMTEgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBAcGF0aCBjaDE1LzE1LjMvMTUuMy40LzE1LjMuNC40L1MxNS4zLjQuNF9BMTUuanMKICogQGRlc2NyaXB0aW9uIElmIElzQ2FsbGFibGUoZnVuYykgaXMgZmFsc2UsIHRoZW4gdGhyb3cgYSBUeXBlRXJyb3IgZXhjZXB0aW9uLgogKiBAbmVnYXRpdmUgVHlwZUVycm9yCiAqLwoKRnVuY3Rpb24ucHJvdG90eXBlLmNhbGwuY2FsbCh7fSwge30pOwoK","commentary":"","description":"If IsCallable(func) is false, then throw a TypeError exception.","negative":"TypeError","path":"TestCases/ch15/15.3/15.3.4/15.3.4.4/S15.3.4.4_A15.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMTEgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBJc0NhbGxhYmxlKGZ1bmMpIGlzIGZhbHNlLCB0aGVuIHRocm93IGEgVHlwZUVycm9yIGV4Y2VwdGlvbi4KICoKICogQHBhdGggY2gxNS8xNS4zLzE1LjMuNC8xNS4zLjQuNC9TMTUuMy40LjRfQTE2LmpzCiAqIEBkZXNjcmlwdGlvbiBBIFJlZ0V4cCBpcyBub3QgYSBmdW5jdGlvbiwgYnV0IGl0IG1heSBiZSBjYWxsYWJsZS4gSWZmIGl0IGlzLCBpdCdzIHR5cGVvZiBzaG91bGQgYmUgJ2Z1bmN0aW9uJywgaW4gd2hpY2ggY2FzZSBjYWxsIHNob3VsZCBhY2NlcHQgaXQgYXMgYSB2YWxpZCB0aGlzIHZhbHVlLgogKi8KCnZhciByZSA9ICgveC8pOwppZiAodHlwZW9mIHJlID09PSAnZnVuY3Rpb24nKSB7CiAgRnVuY3Rpb24ucHJvdG90eXBlLmNhbGwuY2FsbChyZSwgdW5kZWZpbmVkLCAneCcpOwp9IGVsc2UgewogIHRyeSB7CiAgICBGdW5jdGlvbi5wcm90b3R5cGUuYmluZC5jYWxsKHJlLCB1bmRlZmluZWQpOwogICAgJEZBSUwoJyMxOiBJZiBJc0NhbGxhYmxlKGZ1bmMpIGlzIGZhbHNlLCAnICsKICAgICAgICAgICd0aGVuIChiaW5kIHNob3VsZCkgdGhyb3cgYSBUeXBlRXJyb3IgZXhjZXB0aW9uJyk7CiAgfSBjYXRjaCAoZSkgewogICAgaWYgKCEoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikpIHsKICAgICAgJEVSUk9SKCcjMTogVHlwZUVycm9yIGV4cGVjdGVkLiBBY3R1YWw6ICcgKyBlKTsKICAgIH0KICB9Cn0KCg==","commentary":"If IsCallable(func) is false, then throw a TypeError exception.","description":"A RegExp is not a function, but it may be callable. Iff it is, it's typeof should be 'function', in which case call should accept it as a valid this value.","path":"TestCases/ch15/15.3/15.3.4/15.3.4.4/S15.3.4.4_A16.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgY2FsbCBtZXRob2QgcGVyZm9ybXMgYSBmdW5jdGlvbiBjYWxsIHVzaW5nIHRoZSBbW0NhbGxdXSBwcm9wZXJ0eSBvZiB0aGUgb2JqZWN0LiBJZiB0aGUgb2JqZWN0IGRvZXMgbm90IGhhdmUgYSBbW0NhbGxdXSBwcm9wZXJ0eSwgYSBUeXBlRXJyb3IgZXhjZXB0aW9uIGlzIHRocm93bgogKgogKiBAcGF0aCBjaDE1LzE1LjMvMTUuMy40LzE1LjMuNC40L1MxNS4zLjQuNF9BMV9UMS5qcwogKiBAZGVzY3JpcHRpb24gQ2FsbCAiY2FsbCIgbWV0aG9kIG9mIHRoZSBvYmplY3QgdGhhdCBkb2VzIG5vdCBoYXZlIGEgW1tDYWxsXV0gcHJvcGVydHkuCiAqIFByb3RvdHlwZSBvZiB0aGUgb2JqZWN0IGlzIEZ1bmN0aW9uKCkKICovCgp2YXIgcHJvdG89RnVuY3Rpb24oKTsKCmZ1bmN0aW9uIEZBQ1RPUlkoKXt9OwoKRkFDVE9SWS5wcm90b3R5cGU9cHJvdG87Cgp2YXIgb2JqID0gbmV3IEZBQ1RPUlk7CgovL0NIRUNLIzEKaWYgKHR5cGVvZiBvYmouY2FsbCAhPT0gImZ1bmN0aW9uIikgewogICRFUlJPUignIzE6IGNhbGwgbWV0aG9kIGFjY2Vzc2VkJyk7Cn0KCi8vQ0hFQ0sjMgp0cnkgewogIG9iai5jYWxsKCk7CiAgJEZBSUwoJyMyOiBJZiB0aGUgb2JqZWN0IGRvZXMgbm90IGhhdmUgYSBbW0NhbGxdXSBwcm9wZXJ0eSwgYSBUeXBlRXJyb3IgZXhjZXB0aW9uIGlzIHRocm93bicpOwp9IGNhdGNoIChlKSB7CiAgaWYgKCEoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikpIHsKICAJJEVSUk9SKCcjMi4xOiBJZiB0aGUgb2JqZWN0IGRvZXMgbm90IGhhdmUgYSBbW0NhbGxdXSBwcm9wZXJ0eSwgYSBUeXBlRXJyb3IgZXhjZXB0aW9uIGlzIHRocm93bicpOwogIH0KfQogICAgCg==","commentary":"The call method performs a function call using the [[Call]] property of the object. If the object does not have a [[Call]] property, a TypeError exception is thrown","description":"Call \"call\" method of the object that does not have a [[Call]] property.\nPrototype of the object is Function()","path":"TestCases/ch15/15.3/15.3.4/15.3.4.4/S15.3.4.4_A1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgY2FsbCBtZXRob2QgcGVyZm9ybXMgYSBmdW5jdGlvbiBjYWxsIHVzaW5nIHRoZSBbW0NhbGxdXSBwcm9wZXJ0eSBvZiB0aGUgb2JqZWN0LiBJZiB0aGUgb2JqZWN0IGRvZXMgbm90IGhhdmUgYSBbW0NhbGxdXSBwcm9wZXJ0eSwgYSBUeXBlRXJyb3IgZXhjZXB0aW9uIGlzIHRocm93bgogKgogKiBAcGF0aCBjaDE1LzE1LjMvMTUuMy40LzE1LjMuNC40L1MxNS4zLjQuNF9BMV9UMi5qcwogKiBAZGVzY3JpcHRpb24gQ2FsbGluZyAiY2FsbCIgbWV0aG9kIG9mIHRoZSBvYmplY3QgdGhhdCBkb2VzIG5vdCBoYXZlIGEgW1tDYWxsXV0gcHJvcGVydHkuCiAqIFByb3RvdHlwZSBvZiB0aGUgb2JqZWN0IGlzIEZ1bmN0aW9uLnByb3RvdHlwZQogKi8KCmZ1bmN0aW9uIEZBQ1RPUlkoKXt9OwoKRkFDVE9SWS5wcm90b3R5cGU9RnVuY3Rpb24ucHJvdG90eXBlOwoKdmFyIG9iaiA9IG5ldyBGQUNUT1JZOwoKLy9DSEVDSyMxCmlmICh0eXBlb2Ygb2JqLmNhbGwgIT09ICJmdW5jdGlvbiIpIHsKICAkRVJST1IoJyMxOiBjYWxsIG1ldGhvZCBhY2Nlc3NlZCcpOwp9CgovL0NIRUNLIzIKdHJ5IHsKICBvYmouY2FsbCgpOwogICRGQUlMKCcjMjogSWYgdGhlIG9iamVjdCBkb2VzIG5vdCBoYXZlIGEgW1tDYWxsXV0gcHJvcGVydHksIGEgVHlwZUVycm9yIGV4Y2VwdGlvbiBpcyB0aHJvd24nKTsKfSBjYXRjaCAoZSkgewogIGlmICghKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpKSB7CiAgCSRFUlJPUignIzIuMTogSWYgdGhlIG9iamVjdCBkb2VzIG5vdCBoYXZlIGEgW1tDYWxsXV0gcHJvcGVydHksIGEgVHlwZUVycm9yIGV4Y2VwdGlvbiBpcyB0aHJvd24nKTsKICB9Cn0KCg==","commentary":"The call method performs a function call using the [[Call]] property of the object. If the object does not have a [[Call]] property, a TypeError exception is thrown","description":"Calling \"call\" method of the object that does not have a [[Call]] property.\nPrototype of the object is Function.prototype","path":"TestCases/ch15/15.3/15.3.4/15.3.4.4/S15.3.4.4_A1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgbGVuZ3RoIHByb3BlcnR5IG9mIHRoZSBjYWxsIG1ldGhvZCBpcyAxCiAqCiAqIEBwYXRoIGNoMTUvMTUuMy8xNS4zLjQvMTUuMy40LjQvUzE1LjMuNC40X0EyX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBGdW5jdGlvbi5wcm90b3R5cGUuY2FsbC5sZW5ndGgKICovCgovL0NIRUNLIzEKaWYgKHR5cGVvZiBGdW5jdGlvbi5wcm90b3R5cGUuY2FsbCAhPT0gImZ1bmN0aW9uIikgewogICRFUlJPUignIzE6IGNhbGwgbWV0aG9kIGRlZmluZWQnKTsKfQoKLy9DSEVDSyMyCmlmICh0eXBlb2YgRnVuY3Rpb24ucHJvdG90eXBlLmNhbGwubGVuZ3RoID09PSAidW5kZWZpbmVkIikgewogICRFUlJPUignIzI6IGxlbmd0aCBwcm9wZXJ0eSBvZiBjYWxsIG1ldGhvZCBkZWZpbmVkJyk7Cn0KCi8vQ0hFQ0sjMwppZiAoRnVuY3Rpb24ucHJvdG90eXBlLmNhbGwubGVuZ3RoICE9PSAxKSB7CiAgJEVSUk9SKCcjMzogVGhlIGxlbmd0aCBwcm9wZXJ0eSBvZiB0aGUgY2FsbCBtZXRob2QgaXMgMScpOwp9Cgo=","commentary":"The length property of the call method is 1","description":"Checking Function.prototype.call.length","path":"TestCases/ch15/15.3/15.3.4/15.3.4.4/S15.3.4.4_A2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgbGVuZ3RoIHByb3BlcnR5IG9mIHRoZSBjYWxsIG1ldGhvZCBpcyAxCiAqCiAqIEBwYXRoIGNoMTUvMTUuMy8xNS4zLjQvMTUuMy40LjQvUzE1LjMuNC40X0EyX1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBmLmNhbGwubGVuZ3RoLCB3aGVyZSBmIGlzIG5ldyBGdW5jdGlvbgogKi8KCnZhciBmPW5ldyBGdW5jdGlvbjsKCi8vQ0hFQ0sjMQppZiAodHlwZW9mIGYuY2FsbCAhPT0gImZ1bmN0aW9uIikgewogICRFUlJPUignIzE6IGNhbGwgbWV0aG9kIGFjY2Vzc2VkJyk7Cn0KCi8vQ0hFQ0sjMgppZiAodHlwZW9mIGYuY2FsbC5sZW5ndGggPT09ICJ1bmRlZmluZWQiKSB7CiAgJEVSUk9SKCcjMjogbGVuZ3RoIHByb3BlcnR5IG9mIGNhbGwgbWV0aG9kIGRlZmluZWQnKTsKfQoKLy9DSEVDSyMzCmlmIChmLmNhbGwubGVuZ3RoICE9PSAxKSB7CiAgJEVSUk9SKCcjMzogVGhlIGxlbmd0aCBwcm9wZXJ0eSBvZiB0aGUgY2FsbCBtZXRob2QgaXMgMScpOwp9Cgo=","commentary":"The length property of the call method is 1","description":"Checking f.call.length, where f is new Function","path":"TestCases/ch15/15.3/15.3.4/15.3.4.4/S15.3.4.4_A2_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB0aGlzQXJnIGlzIG51bGwgb3IgdW5kZWZpbmVkLCB0aGUgY2FsbGVkIGZ1bmN0aW9uIGlzIHBhc3NlZCB0aGUgZ2xvYmFsIG9iamVjdCBhcyB0aGUgdGhpcyB2YWx1ZQogKgogKiBAcGF0aCBjaDE1LzE1LjMvMTUuMy40LzE1LjMuNC40L1MxNS4zLjQuNF9BM19UMS5qcwogKiBAZGVzY3JpcHRpb24gTm90IGFueSBhcmd1bWVudHMgYXQgY2FsbCBmdW5jdGlvbgogKi8KCkZ1bmN0aW9uKCJ0aGlzLmZpZWxkPVwic3RyYXdiZXJyeVwiIikuY2FsbCgpOwoKLy9DSEVDSyMxCmlmICh0aGlzWyJmaWVsZCJdICE9PSAic3RyYXdiZXJyeSIpIHsKICAkRVJST1IoJyMxOiBJZiB0aGlzQXJnIGlzIG51bGwgb3IgdW5kZWZpbmVkLCB0aGUgY2FsbGVkIGZ1bmN0aW9uIGlzIHBhc3NlZCB0aGUgZ2xvYmFsIG9iamVjdCBhcyB0aGUgdGhpcyB2YWx1ZScpOwp9Cgo=","commentary":"If thisArg is null or undefined, the called function is passed the global object as the this value","description":"Not any arguments at call function","path":"TestCases/ch15/15.3/15.3.4/15.3.4.4/S15.3.4.4_A3_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB0aGlzQXJnIGlzIG51bGwgb3IgdW5kZWZpbmVkLCB0aGUgY2FsbGVkIGZ1bmN0aW9uIGlzIHBhc3NlZCB0aGUgZ2xvYmFsIG9iamVjdCBhcyB0aGUgdGhpcyB2YWx1ZQogKgogKiBAcGF0aCBjaDE1LzE1LjMvMTUuMy40LzE1LjMuNC40L1MxNS4zLjQuNF9BM19UMTAuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGJ5IHVzaW5nIGV2YWwsIG5vIGFueSBhcmd1bWVudHMgYXQgY2FsbCBmdW5jdGlvbgogKi8KCmV2YWwoIiAoZnVuY3Rpb24oKXt0aGlzLmZlYXQ9MX0pLmNhbGwoKSIpOwoKLy9DSEVDSyMxCmlmICh0aGlzWyJmZWF0Il0gIT09IDEpIHsKICAkRVJST1IoJyMxOiBJZiB0aGlzQXJnIGlzIG51bGwgb3IgdW5kZWZpbmVkLCB0aGUgY2FsbGVkIGZ1bmN0aW9uIGlzIHBhc3NlZCB0aGUgZ2xvYmFsIG9iamVjdCBhcyB0aGUgdGhpcyB2YWx1ZScpOwp9Cgo=","commentary":"If thisArg is null or undefined, the called function is passed the global object as the this value","description":"Checking by using eval, no any arguments at call function","path":"TestCases/ch15/15.3/15.3.4/15.3.4.4/S15.3.4.4_A3_T10.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB0aGlzQXJnIGlzIG51bGwgb3IgdW5kZWZpbmVkLCB0aGUgY2FsbGVkIGZ1bmN0aW9uIGlzIHBhc3NlZCB0aGUgZ2xvYmFsIG9iamVjdCBhcyB0aGUgdGhpcyB2YWx1ZQogKgogKiBAcGF0aCBjaDE1LzE1LjMvMTUuMy40LzE1LjMuNC40L1MxNS4zLjQuNF9BM19UMi5qcwogKiBAZGVzY3JpcHRpb24gQXJndW1lbnQgYXQgY2FsbCBmdW5jdGlvbiBpcyBudWxsCiAqLwoKRnVuY3Rpb24oInRoaXMuZmllbGQ9XCJncmVlblwiIikuY2FsbChudWxsKTsKCi8vQ0hFQ0sjMQppZiAodGhpc1siZmllbGQiXSAhPT0gImdyZWVuIikgewogICRFUlJPUignIzE6IElmIHRoaXNBcmcgaXMgbnVsbCBvciB1bmRlZmluZWQsIHRoZSBjYWxsZWQgZnVuY3Rpb24gaXMgcGFzc2VkIHRoZSBnbG9iYWwgb2JqZWN0IGFzIHRoZSB0aGlzIHZhbHVlJyk7Cn0KCg==","commentary":"If thisArg is null or undefined, the called function is passed the global object as the this value","description":"Argument at call function is null","path":"TestCases/ch15/15.3/15.3.4/15.3.4.4/S15.3.4.4_A3_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB0aGlzQXJnIGlzIG51bGwgb3IgdW5kZWZpbmVkLCB0aGUgY2FsbGVkIGZ1bmN0aW9uIGlzIHBhc3NlZCB0aGUgZ2xvYmFsIG9iamVjdCBhcyB0aGUgdGhpcyB2YWx1ZQogKgogKiBAcGF0aCBjaDE1LzE1LjMvMTUuMy40LzE1LjMuNC40L1MxNS4zLjQuNF9BM19UMy5qcwogKiBAZGVzY3JpcHRpb24gQXJndW1lbnQgYXQgY2FsbCBmdW5jdGlvbiBpcyB2b2lkIDAKICovCgpGdW5jdGlvbigidGhpcy5maWVsZD1cImJhdHRsZVwiIikuY2FsbCh2b2lkIDApOwoKLy9DSEVDSyMxCmlmICh0aGlzWyJmaWVsZCJdICE9PSAiYmF0dGxlIikgewogICRFUlJPUignIzE6IElmIHRoaXNBcmcgaXMgbnVsbCBvciB1bmRlZmluZWQsIHRoZSBjYWxsZWQgZnVuY3Rpb24gaXMgcGFzc2VkIHRoZSBnbG9iYWwgb2JqZWN0IGFzIHRoZSB0aGlzIHZhbHVlJyk7Cn0KCg==","commentary":"If thisArg is null or undefined, the called function is passed the global object as the this value","description":"Argument at call function is void 0","path":"TestCases/ch15/15.3/15.3.4/15.3.4.4/S15.3.4.4_A3_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB0aGlzQXJnIGlzIG51bGwgb3IgdW5kZWZpbmVkLCB0aGUgY2FsbGVkIGZ1bmN0aW9uIGlzIHBhc3NlZCB0aGUgZ2xvYmFsIG9iamVjdCBhcyB0aGUgdGhpcyB2YWx1ZQogKgogKiBAcGF0aCBjaDE1LzE1LjMvMTUuMy40LzE1LjMuNC40L1MxNS4zLjQuNF9BM19UNC5qcwogKiBAZGVzY3JpcHRpb24gQXJndW1lbnQgYXQgY2FsbCBmdW5jdGlvbiBpcyB1bmRlZmluZWQKICovCgpGdW5jdGlvbigidGhpcy5maWVsZD1cIm9pbFwiIikuY2FsbCh1bmRlZmluZWQpOwoKLy9DSEVDSyMxCmlmICh0aGlzWyJmaWVsZCJdICE9PSAib2lsIikgewogICRFUlJPUignIzE6IElmIHRoaXNBcmcgaXMgbnVsbCBvciB1bmRlZmluZWQsIHRoZSBjYWxsZWQgZnVuY3Rpb24gaXMgcGFzc2VkIHRoZSBnbG9iYWwgb2JqZWN0IGFzIHRoZSB0aGlzIHZhbHVlJyk7Cn0KCg==","commentary":"If thisArg is null or undefined, the called function is passed the global object as the this value","description":"Argument at call function is undefined","path":"TestCases/ch15/15.3/15.3.4/15.3.4.4/S15.3.4.4_A3_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB0aGlzQXJnIGlzIG51bGwgb3IgdW5kZWZpbmVkLCB0aGUgY2FsbGVkIGZ1bmN0aW9uIGlzIHBhc3NlZCB0aGUgZ2xvYmFsIG9iamVjdCBhcyB0aGUgdGhpcyB2YWx1ZQogKgogKiBAcGF0aCBjaDE1LzE1LjMvMTUuMy40LzE1LjMuNC40L1MxNS4zLjQuNF9BM19UNS5qcwogKiBAZGVzY3JpcHRpb24gTm8gYW55IGFyZ3VtZW50cyBhdCBjYWxsIGZ1bmN0aW9uIGFuZCBpdCBjYWxsZWQgaW5zaWRlIGZ1bmN0aW9uIGRlY2xhcmF0aW9uCiAqLwoKZnVuY3Rpb24gRkFDVE9SWSgpewogIEZ1bmN0aW9uKCJ0aGlzLmZlYXQ9XCJpbiBkYSBoYXVzXCIiKS5jYWxsKCk7Cn07Cgp2YXIgb2JqID0gbmV3IEZBQ1RPUlk7CgovL0NIRUNLIzEKaWYgKHRoaXNbImZlYXQiXSAhPT0gImluIGRhIGhhdXMiKSB7CiAgJEVSUk9SKCcjMTogSWYgdGhpc0FyZyBpcyBudWxsIG9yIHVuZGVmaW5lZCwgdGhlIGNhbGxlZCBmdW5jdGlvbiBpcyBwYXNzZWQgdGhlIGdsb2JhbCBvYmplY3QgYXMgdGhlIHRoaXMgdmFsdWUnKTsKfQoKLy9DSEVDSyMyCmlmICh0eXBlb2Ygb2JqLmZlYXQgIT09ICJ1bmRlZmluZWQiKSB7CiAgJEVSUk9SKCcjMTogSWYgdGhpc0FyZyBpcyBudWxsIG9yIHVuZGVmaW5lZCwgdGhlIGNhbGxlZCBmdW5jdGlvbiBpcyBwYXNzZWQgdGhlIGdsb2JhbCBvYmplY3QgYXMgdGhlIHRoaXMgdmFsdWUnKTsKfQoK","commentary":"If thisArg is null or undefined, the called function is passed the global object as the this value","description":"No any arguments at call function and it called inside function declaration","path":"TestCases/ch15/15.3/15.3.4/15.3.4.4/S15.3.4.4_A3_T5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB0aGlzQXJnIGlzIG51bGwgb3IgdW5kZWZpbmVkLCB0aGUgY2FsbGVkIGZ1bmN0aW9uIGlzIHBhc3NlZCB0aGUgZ2xvYmFsIG9iamVjdCBhcyB0aGUgdGhpcyB2YWx1ZQogKgogKiBAcGF0aCBjaDE1LzE1LjMvMTUuMy40LzE1LjMuNC40L1MxNS4zLjQuNF9BM19UNi5qcwogKiBAZGVzY3JpcHRpb24gQXJndW1lbnQgYXQgY2FsbCBmdW5jdGlvbiBpcyBudWxsIGFuZCBpdCBjYWxsZWQgaW5zaWRlIGZ1bmN0aW9uIGRlY2xhcmF0aW9uCiAqLwoKZnVuY3Rpb24gRkFDVE9SWSgpewogIChmdW5jdGlvbigpe3RoaXMuZmVhdD0ia2Ftb24gYmV5YmEifSkuY2FsbChudWxsKTsKfTsKCnZhciBvYmogPSBuZXcgRkFDVE9SWTsKCi8vQ0hFQ0sjMQppZiAodGhpc1siZmVhdCJdICE9PSAia2Ftb24gYmV5YmEiKSB7CiAgJEVSUk9SKCcjMTogSWYgdGhpc0FyZyBpcyBudWxsIG9yIHVuZGVmaW5lZCwgdGhlIGNhbGxlZCBmdW5jdGlvbiBpcyBwYXNzZWQgdGhlIGdsb2JhbCBvYmplY3QgYXMgdGhlIHRoaXMgdmFsdWUnKTsKfQoKLy9DSEVDSyMyCmlmICh0eXBlb2Ygb2JqLmZlYXQgIT09ICJ1bmRlZmluZWQiKSB7CiAgJEVSUk9SKCcjMTogSWYgdGhpc0FyZyBpcyBudWxsIG9yIHVuZGVmaW5lZCwgdGhlIGNhbGxlZCBmdW5jdGlvbiBpcyBwYXNzZWQgdGhlIGdsb2JhbCBvYmplY3QgYXMgdGhlIHRoaXMgdmFsdWUnKTsKfQoK","commentary":"If thisArg is null or undefined, the called function is passed the global object as the this value","description":"Argument at call function is null and it called inside function declaration","path":"TestCases/ch15/15.3/15.3.4/15.3.4.4/S15.3.4.4_A3_T6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB0aGlzQXJnIGlzIG51bGwgb3IgdW5kZWZpbmVkLCB0aGUgY2FsbGVkIGZ1bmN0aW9uIGlzIHBhc3NlZCB0aGUgZ2xvYmFsIG9iamVjdCBhcyB0aGUgdGhpcyB2YWx1ZQogKgogKiBAcGF0aCBjaDE1LzE1LjMvMTUuMy40LzE1LjMuNC40L1MxNS4zLjQuNF9BM19UNy5qcwogKiBAZGVzY3JpcHRpb24gQXJndW1lbnQgYXQgY2FsbCBmdW5jdGlvbiBpcyB2b2lkIDAgYW5kIGl0IGNhbGxlZCBpbnNpZGUgZnVuY3Rpb24gZGVjbGFyYXRpb24KICovCgooZnVuY3Rpb24gRkFDVE9SWSgpewogIEZ1bmN0aW9uKCJ0aGlzLmZlYXQ9XCJpbiBkYSBoYXVzXCIiKS5jYWxsKHZvaWQgMCk7Cn0pKCk7CgoKLy9DSEVDSyMxCmlmICh0aGlzWyJmZWF0Il0gIT09ICJpbiBkYSBoYXVzIikgewogICRFUlJPUignIzE6IElmIHRoaXNBcmcgaXMgbnVsbCBvciB1bmRlZmluZWQsIHRoZSBjYWxsZWQgZnVuY3Rpb24gaXMgcGFzc2VkIHRoZSBnbG9iYWwgb2JqZWN0IGFzIHRoZSB0aGlzIHZhbHVlJyk7Cn0KCg==","commentary":"If thisArg is null or undefined, the called function is passed the global object as the this value","description":"Argument at call function is void 0 and it called inside function declaration","path":"TestCases/ch15/15.3/15.3.4/15.3.4.4/S15.3.4.4_A3_T7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB0aGlzQXJnIGlzIG51bGwgb3IgdW5kZWZpbmVkLCB0aGUgY2FsbGVkIGZ1bmN0aW9uIGlzIHBhc3NlZCB0aGUgZ2xvYmFsIG9iamVjdCBhcyB0aGUgdGhpcyB2YWx1ZQogKgogKiBAcGF0aCBjaDE1LzE1LjMvMTUuMy40LzE1LjMuNC40L1MxNS4zLjQuNF9BM19UOC5qcwogKiBAZGVzY3JpcHRpb24gQXJndW1lbnQgYXQgY2FsbCBmdW5jdGlvbiBpcyB1bmRlZmluZWQgYW5kIGl0IGNhbGxlZCBpbnNpZGUgZnVuY3Rpb24gZGVjbGFyYXRpb24KICovCgooZnVuY3Rpb24gRkFDVE9SWSgpewogIChmdW5jdGlvbigpe3RoaXMuZmVhdD0ia2Ftb24gYmV5YmEifSkuY2FsbCh1bmRlZmluZWQpOwp9KSgpOwoKCi8vQ0hFQ0sjMQppZiAodGhpc1siZmVhdCJdICE9PSAia2Ftb24gYmV5YmEiKSB7CiAgJEVSUk9SKCcjMTogSWYgdGhpc0FyZyBpcyBudWxsIG9yIHVuZGVmaW5lZCwgdGhlIGNhbGxlZCBmdW5jdGlvbiBpcyBwYXNzZWQgdGhlIGdsb2JhbCBvYmplY3QgYXMgdGhlIHRoaXMgdmFsdWUnKTsKfQoK","commentary":"If thisArg is null or undefined, the called function is passed the global object as the this value","description":"Argument at call function is undefined and it called inside function declaration","path":"TestCases/ch15/15.3/15.3.4/15.3.4.4/S15.3.4.4_A3_T8.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB0aGlzQXJnIGlzIG51bGwgb3IgdW5kZWZpbmVkLCB0aGUgY2FsbGVkIGZ1bmN0aW9uIGlzIHBhc3NlZCB0aGUgZ2xvYmFsIG9iamVjdCBhcyB0aGUgdGhpcyB2YWx1ZQogKgogKiBAcGF0aCBjaDE1LzE1LjMvMTUuMy40LzE1LjMuNC40L1MxNS4zLjQuNF9BM19UOS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgYnkgdXNpbmcgZXZhbCwgYXJndW1lbnQgYXQgY2FsbCBmdW5jdGlvbiBpcyB2b2lkIDAKICovCgpldmFsKCAiIEZ1bmN0aW9uKFwidGhpcy5mZWF0PTFcIikuY2FsbCh2b2lkIDApICIgKTsKCgovL0NIRUNLIzEKaWYgKHRoaXNbImZlYXQiXSAhPT0gMSkgewogICRFUlJPUignIzE6IElmIHRoaXNBcmcgaXMgbnVsbCBvciB1bmRlZmluZWQsIHRoZSBjYWxsZWQgZnVuY3Rpb24gaXMgcGFzc2VkIHRoZSBnbG9iYWwgb2JqZWN0IGFzIHRoZSB0aGlzIHZhbHVlJyk7Cn0KCg==","commentary":"If thisArg is null or undefined, the called function is passed the global object as the this value","description":"Checking by using eval, argument at call function is void 0","path":"TestCases/ch15/15.3/15.3.4/15.3.4.4/S15.3.4.4_A3_T9.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB0aGlzQXJnIGlzIG5vdCBudWxsKGRlZmluZWQpIHRoZSBjYWxsZWQgZnVuY3Rpb24gaXMgcGFzc2VkIFRvT2JqZWN0KHRoaXNBcmcpIGFzIHRoZSB0aGlzIHZhbHVlCiAqCiAqIEBwYXRoIGNoMTUvMTUuMy8xNS4zLjQvMTUuMy40LjQvUzE1LjMuNC40X0E1X1QxLmpzCiAqIEBkZXNjcmlwdGlvbiB0aGlzQXJnIGlzIG51bWJlcgogKi8KCnZhciBvYmo9MTsKCnZhciByZXRvYmogPSBGdW5jdGlvbigidGhpcy50b3VjaGVkPSB0cnVlOyByZXR1cm4gdGhpczsiKS5jYWxsKG9iaik7CgovL0NIRUNLIzEKaWYgKHR5cGVvZiBvYmoudG91Y2hlZCAhPT0gInVuZGVmaW5lZCIpIHsKICAkRVJST1IoJyMxOiBJZiB0aGlzQXJnIGlzIG5vdCBudWxsKGRlZmluZWQpIHRoZSBjYWxsZWQgZnVuY3Rpb24gaXMgcGFzc2VkIFRvT2JqZWN0KHRoaXNBcmcpIGFzIHRoZSB0aGlzIHZhbHVlJyk7Cn0KCi8vQ0hFQ0sjMgppZiAoIShyZXRvYmpbInRvdWNoZWQiXSkpIHsKICAkRVJST1IoJyMyOiBJZiB0aGlzQXJnIGlzIG5vdCBudWxsKGRlZmluZWQpIHRoZSBjYWxsZWQgZnVuY3Rpb24gaXMgcGFzc2VkIFRvT2JqZWN0KHRoaXNBcmcpIGFzIHRoZSB0aGlzIHZhbHVlJyk7Cn0KCgo=","commentary":"If thisArg is not null(defined) the called function is passed ToObject(thisArg) as the this value","description":"thisArg is number","path":"TestCases/ch15/15.3/15.3.4/15.3.4.4/S15.3.4.4_A5_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB0aGlzQXJnIGlzIG5vdCBudWxsKGRlZmluZWQpIHRoZSBjYWxsZWQgZnVuY3Rpb24gaXMgcGFzc2VkIFRvT2JqZWN0KHRoaXNBcmcpIGFzIHRoZSB0aGlzIHZhbHVlCiAqCiAqIEBwYXRoIGNoMTUvMTUuMy8xNS4zLjQvMTUuMy40LjQvUzE1LjMuNC40X0E1X1QyLmpzCiAqIEBkZXNjcmlwdGlvbiB0aGlzQXJnIGlzIGJvb2xlYW4gdHJ1ZQogKi8KCnZhciBvYmo9dHJ1ZTsKCnZhciByZXRvYmogPSBuZXcgRnVuY3Rpb24oInRoaXMudG91Y2hlZD0gdHJ1ZTsgcmV0dXJuIHRoaXM7IikuY2FsbChvYmopOwoKLy9DSEVDSyMxCmlmICh0eXBlb2Ygb2JqLnRvdWNoZWQgIT09ICJ1bmRlZmluZWQiKSB7CiAgJEVSUk9SKCcjMTogSWYgdGhpc0FyZyBpcyBub3QgbnVsbChkZWZpbmVkKSB0aGUgY2FsbGVkIGZ1bmN0aW9uIGlzIHBhc3NlZCBUb09iamVjdCh0aGlzQXJnKSBhcyB0aGUgdGhpcyB2YWx1ZScpOwp9CgovL0NIRUNLIzIKaWYgKCEocmV0b2JqWyJ0b3VjaGVkIl0pKSB7CiAgJEVSUk9SKCcjMjogSWYgdGhpc0FyZyBpcyBub3QgbnVsbChkZWZpbmVkKSB0aGUgY2FsbGVkIGZ1bmN0aW9uIGlzIHBhc3NlZCBUb09iamVjdCh0aGlzQXJnKSBhcyB0aGUgdGhpcyB2YWx1ZScpOwp9CgoK","commentary":"If thisArg is not null(defined) the called function is passed ToObject(thisArg) as the this value","description":"thisArg is boolean true","path":"TestCases/ch15/15.3/15.3.4/15.3.4.4/S15.3.4.4_A5_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB0aGlzQXJnIGlzIG5vdCBudWxsKGRlZmluZWQpIHRoZSBjYWxsZWQgZnVuY3Rpb24gaXMgcGFzc2VkIFRvT2JqZWN0KHRoaXNBcmcpIGFzIHRoZSB0aGlzIHZhbHVlCiAqCiAqIEBwYXRoIGNoMTUvMTUuMy8xNS4zLjQvMTUuMy40LjQvUzE1LjMuNC40X0E1X1QzLmpzCiAqIEBkZXNjcmlwdGlvbiB0aGlzQXJnIGlzIHN0cmluZwogKi8KCnZhciBvYmo9InNvYXAiOwoKdmFyIHJldG9iaiA9ICggZnVuY3Rpb24oKXt0aGlzLnRvdWNoZWQ9IHRydWU7IHJldHVybiB0aGlzO30gKS5jYWxsKG9iaik7CgovL0NIRUNLIzEKaWYgKHR5cGVvZiBvYmoudG91Y2hlZCAhPT0gInVuZGVmaW5lZCIpIHsKICAkRVJST1IoJyMxOiBJZiB0aGlzQXJnIGlzIG5vdCBudWxsKGRlZmluZWQpIHRoZSBjYWxsZWQgZnVuY3Rpb24gaXMgcGFzc2VkIFRvT2JqZWN0KHRoaXNBcmcpIGFzIHRoZSB0aGlzIHZhbHVlJyk7Cn0KCi8vQ0hFQ0sjMgppZiAoIShyZXRvYmpbInRvdWNoZWQiXSkpIHsKICAkRVJST1IoJyMyOiBJZiB0aGlzQXJnIGlzIG5vdCBudWxsKGRlZmluZWQpIHRoZSBjYWxsZWQgZnVuY3Rpb24gaXMgcGFzc2VkIFRvT2JqZWN0KHRoaXNBcmcpIGFzIHRoZSB0aGlzIHZhbHVlJyk7Cn0KCgo=","commentary":"If thisArg is not null(defined) the called function is passed ToObject(thisArg) as the this value","description":"thisArg is string","path":"TestCases/ch15/15.3/15.3.4/15.3.4.4/S15.3.4.4_A5_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB0aGlzQXJnIGlzIG5vdCBudWxsKGRlZmluZWQpIHRoZSBjYWxsZWQgZnVuY3Rpb24gaXMgcGFzc2VkIFRvT2JqZWN0KHRoaXNBcmcpIGFzIHRoZSB0aGlzIHZhbHVlCiAqCiAqIEBwYXRoIGNoMTUvMTUuMy8xNS4zLjQvMTUuMy40LjQvUzE1LjMuNC40X0E1X1Q0LmpzCiAqIEBkZXNjcmlwdGlvbiB0aGlzQXJnIGlzIGZ1bmN0aW9uIHZhcmlhYmxlIHRoYXQgcmV0dXJuIHRoaXMKICovCgp2YXIgZiA9IGZ1bmN0aW9uKCl7dGhpcy50b3VjaGVkPSB0cnVlOyByZXR1cm4gdGhpczt9OwoKdmFyIHJldG9iaiA9IGYuY2FsbChvYmopOwoKLy9DSEVDSyMxCmlmICh0eXBlb2Ygb2JqICE9PSAidW5kZWZpbmVkIikgewogICRFUlJPUignIzE6IElmIHRoaXNBcmcgaXMgbm90IG51bGwoZGVmaW5lZCkgdGhlIGNhbGxlZCBmdW5jdGlvbiBpcyBwYXNzZWQgVG9PYmplY3QodGhpc0FyZykgYXMgdGhlIHRoaXMgdmFsdWUnKTsKfQoKLy9DSEVDSyMyCmlmICghKHJldG9ialsidG91Y2hlZCJdKSkgewogICRFUlJPUignIzI6IElmIHRoaXNBcmcgaXMgbm90IG51bGwoZGVmaW5lZCkgdGhlIGNhbGxlZCBmdW5jdGlvbiBpcyBwYXNzZWQgVG9PYmplY3QodGhpc0FyZykgYXMgdGhlIHRoaXMgdmFsdWUnKTsKfQoKdmFyIG9iajsKCg==","commentary":"If thisArg is not null(defined) the called function is passed ToObject(thisArg) as the this value","description":"thisArg is function variable that return this","path":"TestCases/ch15/15.3/15.3.4/15.3.4.4/S15.3.4.4_A5_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB0aGlzQXJnIGlzIG5vdCBudWxsKGRlZmluZWQpIHRoZSBjYWxsZWQgZnVuY3Rpb24gaXMgcGFzc2VkIFRvT2JqZWN0KHRoaXNBcmcpIGFzIHRoZSB0aGlzIHZhbHVlCiAqCiAqIEBwYXRoIGNoMTUvMTUuMy8xNS4zLjQvMTUuMy40LjQvUzE1LjMuNC40X0E1X1Q1LmpzCiAqIEBkZXNjcmlwdGlvbiB0aGlzQXJnIGlzIGZ1bmN0aW9uIHZhcmlhYmxlCiAqLwoKdmFyIGYgPSBmdW5jdGlvbigpe3RoaXMudG91Y2hlZD0gdHJ1ZTt9OwoKdmFyIG9iaj17fTsKCmYuY2FsbChvYmopOwoKLy9DSEVDSyMxCmlmICghKG9iai50b3VjaGVkKSkgewogICRFUlJPUignIzE6IElmIHRoaXNBcmcgaXMgbm90IG51bGwoZGVmaW5lZCkgdGhlIGNhbGxlZCBmdW5jdGlvbiBpcyBwYXNzZWQgVG9PYmplY3QodGhpc0FyZykgYXMgdGhlIHRoaXMgdmFsdWUnKTsKfQoK","commentary":"If thisArg is not null(defined) the called function is passed ToObject(thisArg) as the this value","description":"thisArg is function variable","path":"TestCases/ch15/15.3/15.3.4/15.3.4.4/S15.3.4.4_A5_T5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB0aGlzQXJnIGlzIG5vdCBudWxsKGRlZmluZWQpIHRoZSBjYWxsZWQgZnVuY3Rpb24gaXMgcGFzc2VkIFRvT2JqZWN0KHRoaXNBcmcpIGFzIHRoZSB0aGlzIHZhbHVlCiAqCiAqIEBwYXRoIGNoMTUvMTUuMy8xNS4zLjQvMTUuMy40LjQvUzE1LjMuNC40X0E1X1Q2LmpzCiAqIEBkZXNjcmlwdGlvbiB0aGlzQXJnIGlzIG5ldyBTdHJpbmcoKQogKi8KCnZhciBvYmo9bmV3IFN0cmluZygic29hcCIpOwoKKCBmdW5jdGlvbigpe3RoaXMudG91Y2hlZD0gdHJ1ZTt9KS5jYWxsKG9iaik7CgovL0NIRUNLIzEKaWYgKCEob2JqLnRvdWNoZWQpKSB7CiAgJEVSUk9SKCcjMTogSWYgdGhpc0FyZyBpcyBub3QgbnVsbChkZWZpbmVkKSB0aGUgY2FsbGVkIGZ1bmN0aW9uIGlzIHBhc3NlZCBUb09iamVjdCh0aGlzQXJnKSBhcyB0aGUgdGhpcyB2YWx1ZScpOwp9Cgo=","commentary":"If thisArg is not null(defined) the called function is passed ToObject(thisArg) as the this value","description":"thisArg is new String()","path":"TestCases/ch15/15.3/15.3.4/15.3.4.4/S15.3.4.4_A5_T6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB0aGlzQXJnIGlzIG5vdCBudWxsKGRlZmluZWQpIHRoZSBjYWxsZWQgZnVuY3Rpb24gaXMgcGFzc2VkIFRvT2JqZWN0KHRoaXNBcmcpIGFzIHRoZSB0aGlzIHZhbHVlCiAqCiAqIEBwYXRoIGNoMTUvMTUuMy8xNS4zLjQvMTUuMy40LjQvUzE1LjMuNC40X0E1X1Q3LmpzCiAqIEBkZXNjcmlwdGlvbiB0aGlzQXJnIGlzIG5ldyBOdW1iZXIoKQogKi8KCnZhciBvYmo9bmV3IE51bWJlcigxKTsKCkZ1bmN0aW9uKCJ0aGlzLnRvdWNoZWQ9IHRydWU7IikuY2FsbChvYmopOwoKLy9DSEVDSyMxCmlmICghKG9iai50b3VjaGVkKSkgewogICRFUlJPUignIzE6IElmIHRoaXNBcmcgaXMgbm90IG51bGwoZGVmaW5lZCkgdGhlIGNhbGxlZCBmdW5jdGlvbiBpcyBwYXNzZWQgVG9PYmplY3QodGhpc0FyZykgYXMgdGhlIHRoaXMgdmFsdWUnKTsKfQoKCg==","commentary":"If thisArg is not null(defined) the called function is passed ToObject(thisArg) as the this value","description":"thisArg is new Number()","path":"TestCases/ch15/15.3/15.3.4/15.3.4.4/S15.3.4.4_A5_T7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB0aGlzQXJnIGlzIG5vdCBudWxsKGRlZmluZWQpIHRoZSBjYWxsZWQgZnVuY3Rpb24gaXMgcGFzc2VkIFRvT2JqZWN0KHRoaXNBcmcpIGFzIHRoZSB0aGlzIHZhbHVlCiAqCiAqIEBwYXRoIGNoMTUvMTUuMy8xNS4zLjQvMTUuMy40LjQvUzE1LjMuNC40X0E1X1Q4LmpzCiAqIEBkZXNjcmlwdGlvbiB0aGlzQXJnIGlzIEZ1bmN0aW9uKCkKICovCgp2YXIgb2JqPUZ1bmN0aW9uKCk7CgpuZXcgRnVuY3Rpb24oInRoaXMudG91Y2hlZD0gdHJ1ZTsgcmV0dXJuIHRoaXM7IikuY2FsbChvYmopOwoKLy9DSEVDSyMxCmlmICghKG9iai50b3VjaGVkKSkgewogICRFUlJPUignIzE6IElmIHRoaXNBcmcgaXMgbm90IG51bGwoZGVmaW5lZCkgdGhlIGNhbGxlZCBmdW5jdGlvbiBpcyBwYXNzZWQgVG9PYmplY3QodGhpc0FyZykgYXMgdGhlIHRoaXMgdmFsdWUnKTsKfQoK","commentary":"If thisArg is not null(defined) the called function is passed ToObject(thisArg) as the this value","description":"thisArg is Function()","path":"TestCases/ch15/15.3/15.3.4/15.3.4.4/S15.3.4.4_A5_T8.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgY2FsbCBtZXRob2QgdGFrZXMgb25lIG9yIG1vcmUgYXJndW1lbnRzLCB0aGlzQXJnIGFuZCAob3B0aW9uYWxseSkgYXJnMSwgYXJnMiBldGMsIGFuZCBwZXJmb3JtcwogKiBhIGZ1bmN0aW9uIGNhbGwgdXNpbmcgdGhlIFtbQ2FsbF1dIHByb3BlcnR5IG9mIHRoZSBvYmplY3QKICoKICogQHBhdGggY2gxNS8xNS4zLzE1LjMuNC8xNS4zLjQuNC9TMTUuMy40LjRfQTZfVDEuanMKICogQGRlc2NyaXB0aW9uIEFyZ3VuZW10cyBvZiBjYWxsIGZ1bmN0aW9uIGlzIChudWxsLFsxXSkKICovCgpGdW5jdGlvbigiYTEsYTIsYTMiLCJ0aGlzLnNoaWZ0ZWQ9YTE7IikuY2FsbChudWxsLFsxXSk7CgovL0NIRUNLIzEKaWYgKHRoaXNbInNoaWZ0ZWQiXS5jb25zdHJ1Y3RvciAhPT0gQXJyYXkpIHsKICAkRVJST1IoJyMxOiBUaGUgY2FsbCBtZXRob2QgdGFrZXMgb25lIG9yIG1vcmUgYXJndW1lbnRzLCB0aGlzQXJnIGFuZCAob3B0aW9uYWxseSkgYXJnMSwgYXJnMiBldGMsIGFuZCBwZXJmb3JtcyBhIGZ1bmN0aW9uIGNhbGwgdXNpbmcgdGhlIFtbQ2FsbF1dIHByb3BlcnR5IG9mIHRoZSBvYmplY3QnKTsKfQoKLy9DSEVDSyMyCmlmICh0aGlzWyJzaGlmdGVkIl0ubGVuZ3RoICE9PSAxKSB7CiAgJEVSUk9SKCcjMjogVGhlIGNhbGwgbWV0aG9kIHRha2VzIG9uZSBvciBtb3JlIGFyZ3VtZW50cywgdGhpc0FyZyBhbmQgKG9wdGlvbmFsbHkpIGFyZzEsIGFyZzIgZXRjLCBhbmQgcGVyZm9ybXMgYSBmdW5jdGlvbiBjYWxsIHVzaW5nIHRoZSBbW0NhbGxdXSBwcm9wZXJ0eSBvZiB0aGUgb2JqZWN0Jyk7Cn0KCi8vQ0hFQ0sjMwppZiAodGhpc1sic2hpZnRlZCJdWzBdICE9PSAxKSB7CiAgJEVSUk9SKCcjMzogVGhlIGNhbGwgbWV0aG9kIHRha2VzIG9uZSBvciBtb3JlIGFyZ3VtZW50cywgdGhpc0FyZyBhbmQgKG9wdGlvbmFsbHkpIGFyZzEsIGFyZzIgZXRjLCBhbmQgcGVyZm9ybXMgYSBmdW5jdGlvbiBjYWxsIHVzaW5nIHRoZSBbW0NhbGxdXSBwcm9wZXJ0eSBvZiB0aGUgb2JqZWN0Jyk7Cn0KCgo=","commentary":"The call method takes one or more arguments, thisArg and (optionally) arg1, arg2 etc, and performs\na function call using the [[Call]] property of the object","description":"Argunemts of call function is (null,[1])","path":"TestCases/ch15/15.3/15.3.4/15.3.4.4/S15.3.4.4_A6_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgY2FsbCBtZXRob2QgdGFrZXMgb25lIG9yIG1vcmUgYXJndW1lbnRzLCB0aGlzQXJnIGFuZCAob3B0aW9uYWxseSkgYXJnMSwgYXJnMiBldGMsIGFuZCBwZXJmb3JtcwogKiBhIGZ1bmN0aW9uIGNhbGwgdXNpbmcgdGhlIFtbQ2FsbF1dIHByb3BlcnR5IG9mIHRoZSBvYmplY3QKICoKICogQHBhdGggY2gxNS8xNS4zLzE1LjMuNC8xNS4zLjQuNC9TMTUuMy40LjRfQTZfVDEwLmpzCiAqIEBkZXNjcmlwdGlvbiBBcmd1bmVtdHMgb2YgY2FsbCBmdW5jdGlvbiBpcyAoZW1wdHkgb2JqZWN0LCAiIiwgYXJndW1lbnRzLDIpLCBpbnNpZGUgZnVuY3Rpb24gY2FsbCB3aXRob3V0IGRlY2xhcmF0aW9uIHVzZWQKICovCgp2YXIgb2JqPXt9OwoKKGZ1bmN0aW9uICgpewogIEZ1bmN0aW9uKCJhMSxhMixhMyIsInRoaXMuc2hpZnRlZD1hMS5sZW5ndGgrYTIrYTM7IikuY2FsbChvYmosYXJndW1lbnRzLCIiLCIyIik7Cn0pKCIiLDQsMiwiYSIpOwoKLy9DSEVDSyMxCmlmIChvYmpbInNoaWZ0ZWQiXSAhPT0gIjQyIikgewogICRFUlJPUignIzE6IFRoZSBjYWxsIG1ldGhvZCB0YWtlcyBvbmUgb3IgbW9yZSBhcmd1bWVudHMsIHRoaXNBcmcgYW5kIChvcHRpb25hbGx5KSBhcmcxLCBhcmcyIGV0YywgYW5kIHBlcmZvcm1zIGEgZnVuY3Rpb24gY2FsbCB1c2luZyB0aGUgW1tDYWxsXV0gcHJvcGVydHkgb2YgdGhlIG9iamVjdCcpOwp9CgovL0NIRUNLIzIKaWYgKHR5cGVvZiB0aGlzWyJzaGlmdGVkIl0gIT09ICJ1bmRlZmluZWQiKSB7CiAgJEVSUk9SKCcjMjogVGhlIGNhbGwgbWV0aG9kIHRha2VzIG9uZSBvciBtb3JlIGFyZ3VtZW50cywgdGhpc0FyZyBhbmQgKG9wdGlvbmFsbHkpIGFyZzEsIGFyZzIgZXRjLCBhbmQgcGVyZm9ybXMgYSBmdW5jdGlvbiBjYWxsIHVzaW5nIHRoZSBbW0NhbGxdXSBwcm9wZXJ0eSBvZiB0aGUgb2JqZWN0Jyk7Cn0KCgo=","commentary":"The call method takes one or more arguments, thisArg and (optionally) arg1, arg2 etc, and performs\na function call using the [[Call]] property of the object","description":"Argunemts of call function is (empty object, \"\", arguments,2), inside function call without declaration used","path":"TestCases/ch15/15.3/15.3.4/15.3.4.4/S15.3.4.4_A6_T10.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgY2FsbCBtZXRob2QgdGFrZXMgb25lIG9yIG1vcmUgYXJndW1lbnRzLCB0aGlzQXJnIGFuZCAob3B0aW9uYWxseSkgYXJnMSwgYXJnMiBldGMsIGFuZCBwZXJmb3JtcwogKiBhIGZ1bmN0aW9uIGNhbGwgdXNpbmcgdGhlIFtbQ2FsbF1dIHByb3BlcnR5IG9mIHRoZSBvYmplY3QKICoKICogQHBhdGggY2gxNS8xNS4zLzE1LjMuNC8xNS4zLjQuNC9TMTUuMy40LjRfQTZfVDIuanMKICogQGRlc2NyaXB0aW9uIEFyZ3VuZW10cyBvZiBjYWxsIGZ1bmN0aW9uIGlzIChudWxsLFszLDIsMV0pCiAqLwoKbmV3IEZ1bmN0aW9uKCJhMSxhMiIsImEzIiwidGhpcy5zaGlmdGVkPWExOyIpLmNhbGwobnVsbCxbMywyLDFdKTsKCi8vQ0hFQ0sjMQppZiAodGhpc1sic2hpZnRlZCJdLmxlbmd0aCAhPT0gMykgewogICRFUlJPUignIzE6IFRoZSBjYWxsIG1ldGhvZCB0YWtlcyBvbmUgb3IgbW9yZSBhcmd1bWVudHMsIHRoaXNBcmcgYW5kIChvcHRpb25hbGx5KSBhcmcxLCBhcmcyIGV0YywgYW5kIHBlcmZvcm1zIGEgZnVuY3Rpb24gY2FsbCB1c2luZyB0aGUgW1tDYWxsXV0gcHJvcGVydHkgb2YgdGhlIG9iamVjdCcpOwp9CgovL0NIRUNLIzIKaWYgKCh0aGlzWyJzaGlmdGVkIl1bMF0gIT09IDMpfHwodGhpc1sic2hpZnRlZCJdWzFdICE9PSAyKXx8KHRoaXNbInNoaWZ0ZWQiXVsyXSAhPT0gMSkpIHsKICAkRVJST1IoJyMyOiBUaGUgY2FsbCBtZXRob2QgdGFrZXMgb25lIG9yIG1vcmUgYXJndW1lbnRzLCB0aGlzQXJnIGFuZCAob3B0aW9uYWxseSkgYXJnMSwgYXJnMiBldGMsIGFuZCBwZXJmb3JtcyBhIGZ1bmN0aW9uIGNhbGwgdXNpbmcgdGhlIFtbQ2FsbF1dIHByb3BlcnR5IG9mIHRoZSBvYmplY3QnKTsKfQoKCg==","commentary":"The call method takes one or more arguments, thisArg and (optionally) arg1, arg2 etc, and performs\na function call using the [[Call]] property of the object","description":"Argunemts of call function is (null,[3,2,1])","path":"TestCases/ch15/15.3/15.3.4/15.3.4.4/S15.3.4.4_A6_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgY2FsbCBtZXRob2QgdGFrZXMgb25lIG9yIG1vcmUgYXJndW1lbnRzLCB0aGlzQXJnIGFuZCAob3B0aW9uYWxseSkgYXJnMSwgYXJnMiBldGMsIGFuZCBwZXJmb3JtcwogKiBhIGZ1bmN0aW9uIGNhbGwgdXNpbmcgdGhlIFtbQ2FsbF1dIHByb3BlcnR5IG9mIHRoZSBvYmplY3QKICoKICogQHBhdGggY2gxNS8xNS4zLzE1LjMuNC8xNS4zLjQuNC9TMTUuMy40LjRfQTZfVDMuanMKICogQGRlc2NyaXB0aW9uIEFyZ3VuZW10cyBvZiBjYWxsIGZ1bmN0aW9uIGlzIChlbXB0eSBvYmplY3QsIG5ldyBBcnJheSgibmluZSIsImluY2giLCJuYWlscyIpKQogKi8KCnZhciBpPTA7Cgp2YXIgcD17dG9TdHJpbmc6ZnVuY3Rpb24oKXtyZXR1cm4gImEiKygrK2kpO319OwoKdmFyIG9iaj17fTsKCkZ1bmN0aW9uKHAsImEyLGEzIiwidGhpcy5zaGlmdGVkPWExOyIpLmNhbGwob2JqLCBuZXcgQXJyYXkoIm5pbmUiLCJpbmNoIiwibmFpbHMiKSk7CgovL0NIRUNLIzEKaWYgKG9ialsic2hpZnRlZCJdLmxlbmd0aCAhPT0gMykgewogICRFUlJPUignIzE6IFRoZSBjYWxsIG1ldGhvZCB0YWtlcyBvbmUgb3IgbW9yZSBhcmd1bWVudHMsIHRoaXNBcmcgYW5kIChvcHRpb25hbGx5KSBhcmcxLCBhcmcyIGV0YywgYW5kIHBlcmZvcm1zIGEgZnVuY3Rpb24gY2FsbCB1c2luZyB0aGUgW1tDYWxsXV0gcHJvcGVydHkgb2YgdGhlIG9iamVjdCcpOwp9CgovL0NIRUNLIzIKaWYgKChvYmpbInNoaWZ0ZWQiXVswXSAhPT0gIm5pbmUiKXx8KG9ialsic2hpZnRlZCJdWzFdICE9PSAiaW5jaCIpfHwob2JqWyJzaGlmdGVkIl1bMl0gIT09ICJuYWlscyIpKSB7CiAgJEVSUk9SKCcjMjogVGhlIGNhbGwgbWV0aG9kIHRha2VzIG9uZSBvciBtb3JlIGFyZ3VtZW50cywgdGhpc0FyZyBhbmQgKG9wdGlvbmFsbHkpIGFyZzEsIGFyZzIgZXRjLCBhbmQgcGVyZm9ybXMgYSBmdW5jdGlvbiBjYWxsIHVzaW5nIHRoZSBbW0NhbGxdXSBwcm9wZXJ0eSBvZiB0aGUgb2JqZWN0Jyk7Cn0KCi8vQ0hFQ0sjMwppZiAodHlwZW9mIHRoaXNbInNoaWZ0ZWQiXSAhPT0gInVuZGVmaW5lZCIpIHsKICAkRVJST1IoJyMzOiBUaGUgY2FsbCBtZXRob2QgdGFrZXMgb25lIG9yIG1vcmUgYXJndW1lbnRzLCB0aGlzQXJnIGFuZCAob3B0aW9uYWxseSkgYXJnMSwgYXJnMiBldGMsIGFuZCBwZXJmb3JtcyBhIGZ1bmN0aW9uIGNhbGwgdXNpbmcgdGhlIFtbQ2FsbF1dIHByb3BlcnR5IG9mIHRoZSBvYmplY3QnKTsKfQoKCg==","commentary":"The call method takes one or more arguments, thisArg and (optionally) arg1, arg2 etc, and performs\na function call using the [[Call]] property of the object","description":"Argunemts of call function is (empty object, new Array(\"nine\",\"inch\",\"nails\"))","path":"TestCases/ch15/15.3/15.3.4/15.3.4.4/S15.3.4.4_A6_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgY2FsbCBtZXRob2QgdGFrZXMgb25lIG9yIG1vcmUgYXJndW1lbnRzLCB0aGlzQXJnIGFuZCAob3B0aW9uYWxseSkgYXJnMSwgYXJnMiBldGMsIGFuZCBwZXJmb3JtcwogKiBhIGZ1bmN0aW9uIGNhbGwgdXNpbmcgdGhlIFtbQ2FsbF1dIHByb3BlcnR5IG9mIHRoZSBvYmplY3QKICoKICogQHBhdGggY2gxNS8xNS4zLzE1LjMuNC8xNS4zLjQuNC9TMTUuMy40LjRfQTZfVDQuanMKICogQGRlc2NyaXB0aW9uIEFyZ3VuZW10cyBvZiBjYWxsIGZ1bmN0aW9uIGlzIChlbXB0eSBvYmplY3QsICggZnVuY3Rpb24oKXtyZXR1cm4gYXJndW1lbnRzO30pKCJhIiwiYiIsImMiLCJkIiksIiIsMikKICovCgp2YXIgaT0wOwoKdmFyIHA9e3RvU3RyaW5nOmZ1bmN0aW9uKCl7cmV0dXJuICJhIisoKytpKTt9fTsKCnZhciBvYmo9e307CgpuZXcgRnVuY3Rpb24ocCxwLHAsICJ0aGlzLnNoaWZ0ZWQ9YTMrYTIrYTEubGVuZ3RoOyIpLmNhbGwoIG9iaiwoIGZ1bmN0aW9uKCl7cmV0dXJuIGFyZ3VtZW50czt9KSgiYSIsImIiLCJjIiwiZCIpLCIiLDIgKTsKCi8vQ0hFQ0sjMQppZiAob2JqWyJzaGlmdGVkIl0gIT09ICIyNCIpIHsKICAkRVJST1IoJyMxOiBUaGUgY2FsbCBtZXRob2QgdGFrZXMgb25lIG9yIG1vcmUgYXJndW1lbnRzLCB0aGlzQXJnIGFuZCAob3B0aW9uYWxseSkgYXJnMSwgYXJnMiBldGMsIGFuZCBwZXJmb3JtcyBhIGZ1bmN0aW9uIGNhbGwgdXNpbmcgdGhlIFtbQ2FsbF1dIHByb3BlcnR5IG9mIHRoZSBvYmplY3QnKTsKfQoKLy9DSEVDSyMyCmlmICh0eXBlb2YgdGhpc1sic2hpZnRlZCJdICE9PSAidW5kZWZpbmVkIikgewogICRFUlJPUignIzI6IFRoZSBjYWxsIG1ldGhvZCB0YWtlcyBvbmUgb3IgbW9yZSBhcmd1bWVudHMsIHRoaXNBcmcgYW5kIChvcHRpb25hbGx5KSBhcmcxLCBhcmcyIGV0YywgYW5kIHBlcmZvcm1zIGEgZnVuY3Rpb24gY2FsbCB1c2luZyB0aGUgW1tDYWxsXV0gcHJvcGVydHkgb2YgdGhlIG9iamVjdCcpOwp9CgoK","commentary":"The call method takes one or more arguments, thisArg and (optionally) arg1, arg2 etc, and performs\na function call using the [[Call]] property of the object","description":"Argunemts of call function is (empty object, ( function(){return arguments;})(\"a\",\"b\",\"c\",\"d\"),\"\",2)","path":"TestCases/ch15/15.3/15.3.4/15.3.4.4/S15.3.4.4_A6_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgY2FsbCBtZXRob2QgdGFrZXMgb25lIG9yIG1vcmUgYXJndW1lbnRzLCB0aGlzQXJnIGFuZCAob3B0aW9uYWxseSkgYXJnMSwgYXJnMiBldGMsIGFuZCBwZXJmb3JtcwogKiBhIGZ1bmN0aW9uIGNhbGwgdXNpbmcgdGhlIFtbQ2FsbF1dIHByb3BlcnR5IG9mIHRoZSBvYmplY3QKICoKICogQHBhdGggY2gxNS8xNS4zLzE1LjMuNC8xNS4zLjQuNC9TMTUuMy40LjRfQTZfVDUuanMKICogQGRlc2NyaXB0aW9uIEFyZ3VuZW10cyBvZiBjYWxsIGZ1bmN0aW9uIGlzIChudWxsLCBhcmd1bWVudHMsIiIsMiksIGluc2lkZSBmdW5jdGlvbiBkZWNsYXJhdGlvbiB1c2VkCiAqLwoKZnVuY3Rpb24gRkFDVE9SWSgpewogIEZ1bmN0aW9uKCJhMSxhMixhMyIsInRoaXMuc2hpZnRlZD1hMS5sZW5ndGgrYTIrYTM7IikuY2FsbChudWxsLGFyZ3VtZW50cywiIiwyKTsKfQoKdmFyIG9iaj1uZXcgRkFDVE9SWSgiIiwxLDIsIkEiKTsKCi8vQ0hFQ0sjMQppZiAodGhpc1sic2hpZnRlZCJdICE9PSAiNDIiKSB7CiAgJEVSUk9SKCcjMTogVGhlIGNhbGwgbWV0aG9kIHRha2VzIG9uZSBvciBtb3JlIGFyZ3VtZW50cywgdGhpc0FyZyBhbmQgKG9wdGlvbmFsbHkpIGFyZzEsIGFyZzIgZXRjLCBhbmQgcGVyZm9ybXMgYSBmdW5jdGlvbiBjYWxsIHVzaW5nIHRoZSBbW0NhbGxdXSBwcm9wZXJ0eSBvZiB0aGUgb2JqZWN0Jyk7Cn0KCi8vQ0hFQ0sjMgppZiAodHlwZW9mIG9iai5zaGlmdGVkICE9PSAidW5kZWZpbmVkIikgewogICRFUlJPUignIzI6IFRoZSBjYWxsIG1ldGhvZCB0YWtlcyBvbmUgb3IgbW9yZSBhcmd1bWVudHMsIHRoaXNBcmcgYW5kIChvcHRpb25hbGx5KSBhcmcxLCBhcmcyIGV0YywgYW5kIHBlcmZvcm1zIGEgZnVuY3Rpb24gY2FsbCB1c2luZyB0aGUgW1tDYWxsXV0gcHJvcGVydHkgb2YgdGhlIG9iamVjdCcpOwp9CgoK","commentary":"The call method takes one or more arguments, thisArg and (optionally) arg1, arg2 etc, and performs\na function call using the [[Call]] property of the object","description":"Argunemts of call function is (null, arguments,\"\",2), inside function declaration used","path":"TestCases/ch15/15.3/15.3.4/15.3.4.4/S15.3.4.4_A6_T5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgY2FsbCBtZXRob2QgdGFrZXMgb25lIG9yIG1vcmUgYXJndW1lbnRzLCB0aGlzQXJnIGFuZCAob3B0aW9uYWxseSkgYXJnMSwgYXJnMiBldGMsIGFuZCBwZXJmb3JtcwogKiBhIGZ1bmN0aW9uIGNhbGwgdXNpbmcgdGhlIFtbQ2FsbF1dIHByb3BlcnR5IG9mIHRoZSBvYmplY3QKICoKICogQHBhdGggY2gxNS8xNS4zLzE1LjMuNC8xNS4zLjQuNC9TMTUuMy40LjRfQTZfVDYuanMKICogQGRlc2NyaXB0aW9uIEFyZ3VuZW10cyBvZiBjYWxsIGZ1bmN0aW9uIGlzICh0aGlzLCBhcmd1bWVudHMsIiIsMiksIGluc2lkZSBmdW5jdGlvbiBkZWNsYXJhdGlvbiB1c2VkCiAqLwoKZnVuY3Rpb24gRkFDVE9SWSgpewogIEZ1bmN0aW9uKCJhMSxhMixhMyIsInRoaXMuc2hpZnRlZD1hMS5sZW5ndGgrYTIrYTM7IikuY2FsbCh0aGlzLGFyZ3VtZW50cywiIiwyKTsKfQoKdmFyIG9iaj1uZXcgRkFDVE9SWSgiIiw0LDIsIkEiKTsKCi8vQ0hFQ0sjMQppZiAob2JqWyJzaGlmdGVkIl0gIT09ICI0MiIpIHsKICAkRVJST1IoJyMxOiBUaGUgY2FsbCBtZXRob2QgdGFrZXMgb25lIG9yIG1vcmUgYXJndW1lbnRzLCB0aGlzQXJnIGFuZCAob3B0aW9uYWxseSkgYXJnMSwgYXJnMiBldGMsIGFuZCBwZXJmb3JtcyBhIGZ1bmN0aW9uIGNhbGwgdXNpbmcgdGhlIFtbQ2FsbF1dIHByb3BlcnR5IG9mIHRoZSBvYmplY3QnKTsKfQoKLy9DSEVDSyMyCmlmICh0eXBlb2YgdGhpc1sic2hpZnRlZCJdICE9PSAidW5kZWZpbmVkIikgewogICRFUlJPUignIzI6IFRoZSBjYWxsIG1ldGhvZCB0YWtlcyBvbmUgb3IgbW9yZSBhcmd1bWVudHMsIHRoaXNBcmcgYW5kIChvcHRpb25hbGx5KSBhcmcxLCBhcmcyIGV0YywgYW5kIHBlcmZvcm1zIGEgZnVuY3Rpb24gY2FsbCB1c2luZyB0aGUgW1tDYWxsXV0gcHJvcGVydHkgb2YgdGhlIG9iamVjdCcpOwp9CgoK","commentary":"The call method takes one or more arguments, thisArg and (optionally) arg1, arg2 etc, and performs\na function call using the [[Call]] property of the object","description":"Argunemts of call function is (this, arguments,\"\",2), inside function declaration used","path":"TestCases/ch15/15.3/15.3.4/15.3.4.4/S15.3.4.4_A6_T6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgY2FsbCBtZXRob2QgdGFrZXMgb25lIG9yIG1vcmUgYXJndW1lbnRzLCB0aGlzQXJnIGFuZCAob3B0aW9uYWxseSkgYXJnMSwgYXJnMiBldGMsIGFuZCBwZXJmb3JtcwogKiBhIGZ1bmN0aW9uIGNhbGwgdXNpbmcgdGhlIFtbQ2FsbF1dIHByb3BlcnR5IG9mIHRoZSBvYmplY3QKICoKICogQHBhdGggY2gxNS8xNS4zLzE1LjMuNC8xNS4zLjQuNC9TMTUuMy40LjRfQTZfVDcuanMKICogQGRlc2NyaXB0aW9uIEFyZ3VuZW10cyBvZiBjYWxsIGZ1bmN0aW9uIGlzIChudWxsLCBhcmd1bWVudHMsIiIsMiksIGluc2lkZSBmdW5jdGlvbiBjYWxsIHdpdGhvdXQgZGVjbGFyYXRpb24gdXNlZAogKi8KCihmdW5jdGlvbiAoKXsKICBGdW5jdGlvbigiYTEsYTIsYTMiLCJ0aGlzLnNoaWZ0ZWQ9YTEubGVuZ3RoK2EyK2EzOyIpLmNhbGwobnVsbCxhcmd1bWVudHMsIiIsMik7Cn0pKCIiLDEsMix0cnVlKTsKCi8vQ0hFQ0sjMQppZiAodGhpc1sic2hpZnRlZCJdICE9PSAiNDIiKSB7CiAgJEVSUk9SKCcjMTogVGhlIGNhbGwgbWV0aG9kIHRha2VzIG9uZSBvciBtb3JlIGFyZ3VtZW50cywgdGhpc0FyZyBhbmQgKG9wdGlvbmFsbHkpIGFyZzEsIGFyZzIgZXRjLCBhbmQgcGVyZm9ybXMgYSBmdW5jdGlvbiBjYWxsIHVzaW5nIHRoZSBbW0NhbGxdXSBwcm9wZXJ0eSBvZiB0aGUgb2JqZWN0Jyk7Cn0KCg==","commentary":"The call method takes one or more arguments, thisArg and (optionally) arg1, arg2 etc, and performs\na function call using the [[Call]] property of the object","description":"Argunemts of call function is (null, arguments,\"\",2), inside function call without declaration used","path":"TestCases/ch15/15.3/15.3.4/15.3.4.4/S15.3.4.4_A6_T7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgY2FsbCBtZXRob2QgdGFrZXMgb25lIG9yIG1vcmUgYXJndW1lbnRzLCB0aGlzQXJnIGFuZCAob3B0aW9uYWxseSkgYXJnMSwgYXJnMiBldGMsIGFuZCBwZXJmb3JtcwogKiBhIGZ1bmN0aW9uIGNhbGwgdXNpbmcgdGhlIFtbQ2FsbF1dIHByb3BlcnR5IG9mIHRoZSBvYmplY3QKICoKICogQHBhdGggY2gxNS8xNS4zLzE1LjMuNC8xNS4zLjQuNC9TMTUuMy40LjRfQTZfVDguanMKICogQGRlc2NyaXB0aW9uIEFyZ3VuZW10cyBvZiBjYWxsIGZ1bmN0aW9uIGlzICh0aGlzLCBhcmd1bWVudHMsIiIsMiksIGluc2lkZSBmdW5jdGlvbiBjYWxsIHdpdGhvdXQgZGVjbGFyYXRpb24gdXNlZAogKi8KCihmdW5jdGlvbiAoKXsKICBGdW5jdGlvbigiYTEsYTIsYTMiLCJ0aGlzLnNoaWZ0ZWQ9YTEubGVuZ3RoK2EyK2EzOyIpLmNhbGwodGhpcyxhcmd1bWVudHMsIiIsMik7Cn0pKCIiLDQsMixudWxsKTsKCi8vQ0hFQ0sjMgppZiAodGhpc1sic2hpZnRlZCJdICE9PSAiNDIiKSB7CiAgJEVSUk9SKCcjMjogVGhlIGNhbGwgbWV0aG9kIHRha2VzIG9uZSBvciBtb3JlIGFyZ3VtZW50cywgdGhpc0FyZyBhbmQgKG9wdGlvbmFsbHkpIGFyZzEsIGFyZzIgZXRjLCBhbmQgcGVyZm9ybXMgYSBmdW5jdGlvbiBjYWxsIHVzaW5nIHRoZSBbW0NhbGxdXSBwcm9wZXJ0eSBvZiB0aGUgb2JqZWN0Jyk7Cn0KCgo=","commentary":"The call method takes one or more arguments, thisArg and (optionally) arg1, arg2 etc, and performs\na function call using the [[Call]] property of the object","description":"Argunemts of call function is (this, arguments,\"\",2), inside function call without declaration used","path":"TestCases/ch15/15.3/15.3.4/15.3.4.4/S15.3.4.4_A6_T8.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgY2FsbCBtZXRob2QgdGFrZXMgb25lIG9yIG1vcmUgYXJndW1lbnRzLCB0aGlzQXJnIGFuZCAob3B0aW9uYWxseSkgYXJnMSwgYXJnMiBldGMsIGFuZCBwZXJmb3JtcwogKiBhIGZ1bmN0aW9uIGNhbGwgdXNpbmcgdGhlIFtbQ2FsbF1dIHByb3BlcnR5IG9mIHRoZSBvYmplY3QKICoKICogQHBhdGggY2gxNS8xNS4zLzE1LjMuNC8xNS4zLjQuNC9TMTUuMy40LjRfQTZfVDkuanMKICogQGRlc2NyaXB0aW9uIEFyZ3VuZW10cyBvZiBjYWxsIGZ1bmN0aW9uIGlzIChlbXB0eSBvYmplY3QsICIiLCBhcmd1bWVudHMsMiksIGluc2lkZSBmdW5jdGlvbiBkZWNsYXJhdGlvbiB1c2VkCiAqLwoKZnVuY3Rpb24gRkFDVE9SWSgpewogIHZhciBvYmogPSB7fTsKICBGdW5jdGlvbigiYTEsYTIsYTMiLCJ0aGlzLnNoaWZ0ZWQ9YTErYTIubGVuZ3RoK2EzOyIpLmNhbGwob2JqLCIiLGFyZ3VtZW50cywyKTsKICByZXR1cm4gb2JqOwp9Cgp2YXIgb2JqPW5ldyBGQUNUT1JZKCIiLDEsMix2b2lkIDApOwoKLy9DSEVDSyMxCmlmICh0eXBlb2YgdGhpc1sic2hpZnRlZCJdICE9PSAidW5kZWZpbmVkIikgewogICRFUlJPUignIzE6IElmIGFyZ0FycmF5IGlzIGVpdGhlciBhbiBhcnJheSBvciBhbiBhcmd1bWVudHMgb2JqZWN0LCB0aGUgZnVuY3Rpb24gaXMgcGFzc2VkIHRoZS4uLicpOwp9CgovL0NIRUNLIzIKaWYgKG9iai5zaGlmdGVkICE9PSAiNDIiKSB7CiAgJEVSUk9SKCcjMjogSWYgYXJnQXJyYXkgaXMgZWl0aGVyIGFuIGFycmF5IG9yIGFuIGFyZ3VtZW50cyBvYmplY3QsIHRoZSBmdW5jdGlvbiBpcyBwYXNzZWQgdGhlLi4uJyk7Cn0KCgo=","commentary":"The call method takes one or more arguments, thisArg and (optionally) arg1, arg2 etc, and performs\na function call using the [[Call]] property of the object","description":"Argunemts of call function is (empty object, \"\", arguments,2), inside function declaration used","path":"TestCases/ch15/15.3/15.3.4/15.3.4.4/S15.3.4.4_A6_T9.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBGdW5jdGlvbi5wcm90b3R5cGUuY2FsbCBjYW4ndCBiZSB1c2VkIGFzIFtbY3JlYXRlXV0gY2FsbGVyCiAqCiAqIEBwYXRoIGNoMTUvMTUuMy8xNS4zLjQvMTUuMy40LjQvUzE1LjMuNC40X0E3X1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiBjcmVhdGluZyAibmV3IEZ1bmN0aW9uLnByb3RvdHlwZS5jYWxsIiBmYWlscwogKi8KCnRyeSB7CiAgdmFyIG9iaiA9IG5ldyBGdW5jdGlvbi5wcm90b3R5cGUuY2FsbDsKICAkRVJST1IoJyMxOiBGdW5jdGlvbi5wcm90b3R5cGUuY2FsbCBjYW5cJ3QgYmUgdXNlZCBhcyBbW2NyZWF0ZV1dIGNhbGxlcicpOwp9IGNhdGNoIChlKSB7CiAgaWYgKCEoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikpIHsKICAJJEVSUk9SKCcjMS4xOiBGdW5jdGlvbi5wcm90b3R5cGUuY2FsbCBjYW5cJ3QgYmUgdXNlZCBhcyBbW2NyZWF0ZV1dIGNhbGxlcicpOwogIH0KfQoK","commentary":"Function.prototype.call can't be used as [[create]] caller","description":"Checking if creating \"new Function.prototype.call\" fails","path":"TestCases/ch15/15.3/15.3.4/15.3.4.4/S15.3.4.4_A7_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBGdW5jdGlvbi5wcm90b3R5cGUuY2FsbCBjYW4ndCBiZSB1c2VkIGFzIFtbY3JlYXRlXV0gY2FsbGVyCiAqCiAqIEBwYXRoIGNoMTUvMTUuMy8xNS4zLjQvMTUuMy40LjQvUzE1LjMuNC40X0E3X1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiBjcmVhdGluZyAibmV3IEZ1bmN0aW9uLnByb3RvdHlwZS5jYWxsKCkiIGZhaWxzCiAqLwoKdHJ5IHsKICB2YXIgRkFDVE9SWSA9IEZ1bmN0aW9uLnByb3RvdHlwZS5jYWxsOwogIHZhciBvYmogPSBuZXcgRkFDVE9SWSgpOwogICRFUlJPUignIzE6IEZ1bmN0aW9uLnByb3RvdHlwZS5jYWxsIGNhblwndCBiZSB1c2VkIGFzIFtbY3JlYXRlXV0gY2FsbGVyJyk7Cn0gY2F0Y2ggKGUpIHsKICBpZiAoIShlIGluc3RhbmNlb2YgVHlwZUVycm9yKSkgewogIAkkRVJST1IoJyMxLjE6IEZ1bmN0aW9uLnByb3RvdHlwZS5jYWxsIGNhblwndCBiZSB1c2VkIGFzIFtbY3JlYXRlXV0gY2FsbGVyJyk7CiAgfQp9Cgo=","commentary":"Function.prototype.call can't be used as [[create]] caller","description":"Checking if creating \"new Function.prototype.call()\" fails","path":"TestCases/ch15/15.3/15.3.4/15.3.4.4/S15.3.4.4_A7_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBGdW5jdGlvbi5wcm90b3R5cGUuY2FsbCBjYW4ndCBiZSB1c2VkIGFzIFtbY3JlYXRlXV0gY2FsbGVyCiAqCiAqIEBwYXRoIGNoMTUvMTUuMy8xNS4zLjQvMTUuMy40LjQvUzE1LjMuNC40X0E3X1QzLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiBjcmVhdGluZyAibmV3IEZ1bmN0aW9uLmNhbGwiIGZhaWxzCiAqLwoKdHJ5IHsKICB2YXIgb2JqID0gbmV3IEZ1bmN0aW9uLmNhbGw7CiAgJEVSUk9SKCcjMTogRnVuY3Rpb24ucHJvdG90eXBlLmNhbGwgY2FuXCd0IGJlIHVzZWQgYXMgW1tjcmVhdGVdXSBjYWxsZXInKTsKfSBjYXRjaCAoZSkgewogIGlmICghKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpKSB7CiAgCSRFUlJPUignIzEuMTogRnVuY3Rpb24ucHJvdG90eXBlLmNhbGwgY2FuXCd0IGJlIHVzZWQgYXMgW1tjcmVhdGVdXSBjYWxsZXInKTsKICB9Cn0KCg==","commentary":"Function.prototype.call can't be used as [[create]] caller","description":"Checking if creating \"new Function.call\" fails","path":"TestCases/ch15/15.3/15.3.4/15.3.4.4/S15.3.4.4_A7_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBGdW5jdGlvbi5wcm90b3R5cGUuY2FsbCBjYW4ndCBiZSB1c2VkIGFzIFtbY3JlYXRlXV0gY2FsbGVyCiAqCiAqIEBwYXRoIGNoMTUvMTUuMy8xNS4zLjQvMTUuMy40LjQvUzE1LjMuNC40X0E3X1Q0LmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiBjcmVhdGluZyAibmV3IChGdW5jdGlvbigidGhpcy5wMT0xIikuY2FsbCkiIGZhaWxzCiAqLwoKdHJ5IHsKICB2YXIgb2JqID0gbmV3IChGdW5jdGlvbigidGhpcy5wMT0xIikuY2FsbCk7CiAgJEVSUk9SKCcjMTogRnVuY3Rpb24ucHJvdG90eXBlLmNhbGwgY2FuXCd0IGJlIHVzZWQgYXMgW1tjcmVhdGVdXSBjYWxsZXInKTsKfSBjYXRjaCAoZSkgewogIGlmICghKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpKSB7CiAgCSRFUlJPUignIzEuMTogRnVuY3Rpb24ucHJvdG90eXBlLmNhbGwgY2FuXCd0IGJlIHVzZWQgYXMgW1tjcmVhdGVdXSBjYWxsZXInKTsKICB9Cn0KCg==","commentary":"Function.prototype.call can't be used as [[create]] caller","description":"Checking if creating \"new (Function(\"this.p1=1\").call)\" fails","path":"TestCases/ch15/15.3/15.3.4/15.3.4.4/S15.3.4.4_A7_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBGdW5jdGlvbi5wcm90b3R5cGUuY2FsbCBjYW4ndCBiZSB1c2VkIGFzIFtbY3JlYXRlXV0gY2FsbGVyCiAqCiAqIEBwYXRoIGNoMTUvMTUuMy8xNS4zLjQvMTUuMy40LjQvUzE1LjMuNC40X0E3X1Q1LmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiBjcmVhdGluZyAibmV3IEZ1bmN0aW9uKCJ0aGlzLnAxPTEiKS5jYWxsIiBmYWlscwogKi8KCnRyeSB7CiAgdmFyIEZBQ1RPUlkgPSBGdW5jdGlvbigidGhpcy5wMT0xIikuY2FsbDsKICB2YXIgb2JqID0gbmV3IEZBQ1RPUlkoKTsKICAkRVJST1IoJyMxOiBGdW5jdGlvbi5wcm90b3R5cGUuY2FsbCBjYW5cJ3QgYmUgdXNlZCBhcyBbW2NyZWF0ZV1dIGNhbGxlcicpOwp9IGNhdGNoIChlKSB7CiAgaWYgKCEoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikpIHsKICAJJEVSUk9SKCcjMS4xOiBGdW5jdGlvbi5wcm90b3R5cGUuY2FsbCBjYW5cJ3QgYmUgdXNlZCBhcyBbW2NyZWF0ZV1dIGNhbGxlcicpOwogIH0KfQoK","commentary":"Function.prototype.call can't be used as [[create]] caller","description":"Checking if creating \"new Function(\"this.p1=1\").call\" fails","path":"TestCases/ch15/15.3/15.3.4/15.3.4.4/S15.3.4.4_A7_T5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBGdW5jdGlvbi5wcm90b3R5cGUuY2FsbCBjYW4ndCBiZSB1c2VkIGFzIFtbY3JlYXRlXV0gY2FsbGVyCiAqCiAqIEBwYXRoIGNoMTUvMTUuMy8xNS4zLjQvMTUuMy40LjQvUzE1LjMuNC40X0E3X1Q2LmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiBjcmVhdGluZyAibmV3IChGdW5jdGlvbigiZnVuY3Rpb24gZigpe3RoaXMucDE9MTt9O3JldHVybiBmIikuY2FsbCgpKSIgZmFpbHMKICovCgovL0NIRUNLIzEKdHJ5IHsKICB2YXIgb2JqID0gbmV3IChGdW5jdGlvbigiZnVuY3Rpb24gZigpe3RoaXMucDE9MTt9O3JldHVybiBmIikuY2FsbCgpKTsKfSBjYXRjaCAoZSkgewogICRFUlJPUignIzE6IEZ1bmN0aW9uLnByb3RvdHlwZS5jYWxsIGNhblwndCBiZSB1c2VkIGFzIFtbY3JlYXRlXV0gY2FsbGVyJyk7Cn0KCi8vQ0hFQ0sjMgppZiAob2JqLnAxIT09IDEpIHsKICAkRVJST1IoJyMyOiBGdW5jdGlvbi5wcm90b3R5cGUuY2FsbCBjYW5cJ3QgYmUgdXNlZCBhcyBbW2NyZWF0ZV1dIGNhbGxlcicpOwp9Cgo=","commentary":"Function.prototype.call can't be used as [[create]] caller","description":"Checking if creating \"new (Function(\"function f(){this.p1=1;};return f\").call())\" fails","path":"TestCases/ch15/15.3/15.3.4/15.3.4.4/S15.3.4.4_A7_T6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgRnVuY3Rpb24ucHJvdG90eXBlLmNhbGwubGVuZ3RoIHByb3BlcnR5IGhhcyB0aGUgYXR0cmlidXRlIERvbnREZWxldGUKICoKICogQHBhdGggY2gxNS8xNS4zLzE1LjMuNC8xNS4zLjQuNC9TMTUuMy40LjRfQTkuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIGRlbGV0aW5nIHRoZSBGdW5jdGlvbi5wcm90b3R5cGUuY2FsbC5sZW5ndGggcHJvcGVydHkgZmFpbHMKICovCgovL0NIRUNLIzAKaWYgKCEoRnVuY3Rpb24ucHJvdG90eXBlLmNhbGwuaGFzT3duUHJvcGVydHkoJ2xlbmd0aCcpKSkgewogICRGQUlMKCcjMDogdGhlIEZ1bmN0aW9uLnByb3RvdHlwZS5jYWxsIGhhcyBsZW5ndGggcHJvcGVydHknKTsKfQoKLy9DSEVDSyMxCmlmIChkZWxldGUgRnVuY3Rpb24ucHJvdG90eXBlLmNhbGwubGVuZ3RoKSB7CiAgJEVSUk9SKCcjMTogVGhlIEZ1bmN0aW9uLnByb3RvdHlwZS5jYWxsLmxlbmd0aCBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZXMgRG9udERlbGV0ZScpOwp9CgovL0NIRUNLIzIKaWYgKCEoRnVuY3Rpb24ucHJvdG90eXBlLmNhbGwuaGFzT3duUHJvcGVydHkoJ2xlbmd0aCcpKSkgewogICRGQUlMKCcjMjogVGhlIEZ1bmN0aW9uLnByb3RvdHlwZS5jYWxsLmxlbmd0aCBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZXMgRG9udERlbGV0ZScpOwp9Cgo=","commentary":"The Function.prototype.call.length property has the attribute DontDelete","description":"Checking if deleting the Function.prototype.call.length property fails","path":"TestCases/ch15/15.3/15.3.4/15.3.4.4/S15.3.4.4_A9.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4zLzE1LjMuNC8xNS4zLjQuNS8xNS4zLjQuNS0wLTEuanMNCiAqIEBkZXNjcmlwdGlvbiBGdW5jdGlvbi5wcm90b3R5cGUuYmluZCBtdXN0IGV4aXN0IGFzIGEgZnVuY3Rpb24NCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgZiA9IEZ1bmN0aW9uLnByb3RvdHlwZS5iaW5kOw0KDQogIGlmICh0eXBlb2YoZikgPT09ICJmdW5jdGlvbiIpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Function.prototype.bind must exist as a function","path":"TestCases/ch15/15.3/15.3.4/15.3.4.5/15.3.4.5-0-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4zLzE1LjMuNC8xNS4zLjQuNS8xNS4zLjQuNS0wLTIuanMNCiAqIEBkZXNjcmlwdGlvbiBGdW5jdGlvbi5wcm90b3R5cGUuYmluZCBtdXN0IGV4aXN0IGFzIGEgZnVuY3Rpb24gdGFraW5nIDEgcGFyYW1ldGVyDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgaWYgKEZ1bmN0aW9uLnByb3RvdHlwZS5iaW5kLmxlbmd0aCA9PT0gMSkgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Function.prototype.bind must exist as a function taking 1 parameter","path":"TestCases/ch15/15.3/15.3.4/15.3.4.5/15.3.4.5-0-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4zLzE1LjMuNC8xNS4zLjQuNS8xNS4zLjQuNS0xMC0xLmpzDQogKiBAZGVzY3JpcHRpb24gRnVuY3Rpb24ucHJvdG90eXBlLmJpbmQgLSBpbnRlcm5hbCBwcm9wZXJ0eSBbW0NsYXNzXV0gb2YgJ0YnIGlzIHNldCBhcyBGdW5jdGlvbg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGZvbyA9IGZ1bmN0aW9uICgpIHsgfTsNCg0KICAgICAgICB2YXIgb2JqID0gZm9vLmJpbmQoe30pOw0KICAgICAgICByZXR1cm4gT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKG9iaikgPT09ICJbb2JqZWN0IEZ1bmN0aW9uXSI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Function.prototype.bind - internal property [[Class]] of 'F' is set as Function","path":"TestCases/ch15/15.3/15.3.4/15.3.4.5/15.3.4.5-10-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4zLzE1LjMuNC8xNS4zLjQuNS8xNS4zLjQuNS0xMS0xLmpzDQogKiBAZGVzY3JpcHRpb24gRnVuY3Rpb24ucHJvdG90eXBlLmJpbmQgLSBpbnRlcm5hbCBwcm9wZXJ0eSBbW1Byb3RvdHlwZV1dIG9mICdGJyBpcyBzZXQgYXMgRnVuY3Rpb24ucHJvdG90eXBlDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgZm9vID0gZnVuY3Rpb24gKCkgeyB9Ow0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgRnVuY3Rpb24ucHJvdG90eXBlLnByb3BlcnR5ID0gMTI7DQogICAgICAgICAgICB2YXIgb2JqID0gZm9vLmJpbmQoe30pOw0KDQogICAgICAgICAgICByZXR1cm4gb2JqLnByb3BlcnR5ID09PSAxMjsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBGdW5jdGlvbi5wcm90b3R5cGUucHJvcGVydHk7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Function.prototype.bind - internal property [[Prototype]] of 'F' is set as Function.prototype","path":"TestCases/ch15/15.3/15.3.4/15.3.4.5/15.3.4.5-11-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4zLzE1LjMuNC8xNS4zLjQuNS8xNS4zLjQuNS0xMy5iLTEuanMNCiAqIEBkZXNjcmlwdGlvbiBGdW5jdGlvbi5wcm90b3R5cGUuYmluZCwgYm91bmQgZm4gaGFzIGEgJ2xlbmd0aCcgb3duIHByb3BlcnR5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgZnVuY3Rpb24gZm9vKCkgeyB9DQogIHZhciBvID0ge307DQogIA0KICB2YXIgYmYgPSBmb28uYmluZChvKTsNCiAgaWYgKGJmLmhhc093blByb3BlcnR5KCdsZW5ndGgnKSkgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Function.prototype.bind, bound fn has a 'length' own property","path":"TestCases/ch15/15.3/15.3.4/15.3.4.5/15.3.4.5-13.b-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4zLzE1LjMuNC8xNS4zLjQuNS8xNS4zLjQuNS0xMy5iLTIuanMNCiAqIEBkZXNjcmlwdGlvbiBGdW5jdGlvbi5wcm90b3R5cGUuYmluZCwgJ2xlbmd0aCcgc2V0IHRvIHJlbWFpbmluZyBudW1iZXIgb2YgZXhwZWN0ZWQgYXJncw0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIGZ1bmN0aW9uIGZvbyh4LCB5KSB7IH0NCiAgdmFyIG8gPSB7fTsNCiAgDQogIHZhciBiZiA9IGZvby5iaW5kKG8pOw0KICBpZiAoYmYubGVuZ3RoID09PSAyKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Function.prototype.bind, 'length' set to remaining number of expected args","path":"TestCases/ch15/15.3/15.3.4/15.3.4.5/15.3.4.5-13.b-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4zLzE1LjMuNC8xNS4zLjQuNS8xNS4zLjQuNS0xMy5iLTMuanMNCiAqIEBkZXNjcmlwdGlvbiBGdW5jdGlvbi5wcm90b3R5cGUuYmluZCwgJ2xlbmd0aCcgc2V0IHRvIHJlbWFpbmluZyBudW1iZXIgb2YgZXhwZWN0ZWQgYXJncyAoYWxsIGFyZ3MgcHJlZmlsbGVkKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIGZ1bmN0aW9uIGZvbyh4LCB5KSB7IH0NCiAgdmFyIG8gPSB7fTsNCiAgDQogIHZhciBiZiA9IGZvby5iaW5kKG8sIDQyLCAxMDEpOw0KICBpZiAoYmYubGVuZ3RoID09PSAwKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Function.prototype.bind, 'length' set to remaining number of expected args (all args prefilled)","path":"TestCases/ch15/15.3/15.3.4/15.3.4.5/15.3.4.5-13.b-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4zLzE1LjMuNC8xNS4zLjQuNS8xNS4zLjQuNS0xMy5iLTQuanMNCiAqIEBkZXNjcmlwdGlvbiBGdW5jdGlvbi5wcm90b3R5cGUuYmluZCwgJ2xlbmd0aCcgc2V0IHRvIHJlbWFpbmluZyBudW1iZXIgb2YgZXhwZWN0ZWQgYXJncyAodGFyZ2V0IHRha2VzIDAgYXJncykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICBmdW5jdGlvbiBmb28oKSB7IH0NCiAgdmFyIG8gPSB7fTsNCiAgDQogIHZhciBiZiA9IGZvby5iaW5kKG8pOw0KICBpZiAoYmYubGVuZ3RoID09PSAwKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Function.prototype.bind, 'length' set to remaining number of expected args (target takes 0 args)","path":"TestCases/ch15/15.3/15.3.4/15.3.4.5/15.3.4.5-13.b-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4zLzE1LjMuNC8xNS4zLjQuNS8xNS4zLjQuNS0xMy5iLTUuanMNCiAqIEBkZXNjcmlwdGlvbiBGdW5jdGlvbi5wcm90b3R5cGUuYmluZCwgJ2xlbmd0aCcgc2V0IHRvIHJlbWFpbmluZyBudW1iZXIgb2YgZXhwZWN0ZWQgYXJncyAodGFyZ2V0IHByb3ZpZGVkIGV4dHJhIGFyZ3MpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgZnVuY3Rpb24gZm9vKCkgeyB9DQogIHZhciBvID0ge307DQogIA0KICB2YXIgYmYgPSBmb28uYmluZChvLCA0Mik7DQogIGlmIChiZi5sZW5ndGggPT09IDApIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Function.prototype.bind, 'length' set to remaining number of expected args (target provided extra args)","path":"TestCases/ch15/15.3/15.3.4/15.3.4.5/15.3.4.5-13.b-5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4zLzE1LjMuNC8xNS4zLjQuNS8xNS4zLjQuNS0xMy5iLTYuanMNCiAqIEBkZXNjcmlwdGlvbiBGdW5jdGlvbi5wcm90b3R5cGUuYmluZCwgJ2xlbmd0aCcgc2V0IHRvIHJlbWFpbmluZyBudW1iZXIgb2YgZXhwZWN0ZWQgYXJncw0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgZnVuY3Rpb24gZm9vKHgsIHkpIHsgfQ0KICAgIHZhciBvID0ge307DQoNCiAgICB2YXIgYmYgPSBmb28uYmluZChvLCA0Mik7DQogICAgaWYgKGJmLmxlbmd0aCA9PT0gMSkgew0KICAgICAgICByZXR1cm4gdHJ1ZTsNCiAgICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Function.prototype.bind, 'length' set to remaining number of expected args","path":"TestCases/ch15/15.3/15.3.4/15.3.4.5/15.3.4.5-13.b-6.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4zLzE1LjMuNC8xNS4zLjQuNS8xNS4zLjQuNS0xNS0xLmpzDQogKiBAZGVzY3JpcHRpb24gRnVuY3Rpb24ucHJvdG90eXBlLmJpbmQsICdsZW5ndGgnIGlzIGEgZGF0YSB2YWx1ZWQgb3duIHByb3BlcnR5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgZnVuY3Rpb24gZm9vKCkgeyB9DQogIHZhciBvID0ge307DQogIA0KICB2YXIgYmYgPSBmb28uYmluZChvKTsNCiAgdmFyIGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGJmLCAnbGVuZ3RoJyk7DQogIGlmIChkZXNjLmhhc093blByb3BlcnR5KCd2YWx1ZScpID09PSB0cnVlICYmDQogICAgICBkZXNjLmhhc093blByb3BlcnR5KCdnZXQnKSA9PT0gZmFsc2UgJiYNCiAgICAgIGRlc2MuaGFzT3duUHJvcGVydHkoJ3NldCcpID09PSBmYWxzZSkgew0KICAgIHJldHVybiB0cnVlOw0KICB9ICAgIA0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Function.prototype.bind, 'length' is a data valued own property","path":"TestCases/ch15/15.3/15.3.4/15.3.4.5/15.3.4.5-15-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4zLzE1LjMuNC8xNS4zLjQuNS8xNS4zLjQuNS0xNS0yLmpzDQogKiBAZGVzY3JpcHRpb24gRnVuY3Rpb24ucHJvdG90eXBlLmJpbmQsICdsZW5ndGgnIGlzIGEgZGF0YSB2YWx1ZWQgb3duIHByb3BlcnR5IHdpdGggZGVmYXVsdCBhdHRyaWJ1dGVzIChmYWxzZSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICBmdW5jdGlvbiBmb28oKSB7IH0NCiAgdmFyIG8gPSB7fTsNCiAgDQogIHZhciBiZiA9IGZvby5iaW5kKG8pOw0KICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoYmYsICdsZW5ndGgnKTsNCiAgaWYgKGRlc2MudmFsdWUgPT09IDAgJiYNCiAgICAgIGRlc2MuZW51bWVyYWJsZSA9PT0gZmFsc2UgJiYNCiAgICAgIGRlc2Mud3JpdGFibGUgPT09IGZhbHNlICYmDQogICAgICBkZXNjLmNvbmZpZ3VyYWJsZSA9PSBmYWxzZSkgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Function.prototype.bind, 'length' is a data valued own property with default attributes (false)","path":"TestCases/ch15/15.3/15.3.4/15.3.4.5/15.3.4.5-15-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4zLzE1LjMuNC8xNS4zLjQuNS8xNS4zLjQuNS0xNS0zLmpzDQogKiBAZGVzY3JpcHRpb24gRnVuY3Rpb24ucHJvdG90eXBlLmJpbmQgLSBUaGUgW1tXcml0YWJsZV1dIGF0dHJpYnV0ZSBvZiBsZW5ndGggcHJvcGVydHkgaW4gRiBzZXQgYXMgZmFsc2UNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBjYW5Xcml0YWJsZSA9IGZhbHNlOw0KICAgICAgICB2YXIgaGFzUHJvcGVydHkgPSBmYWxzZTsNCiAgICAgICAgZnVuY3Rpb24gZm9vKCkgeyB9DQogICAgICAgIHZhciBvYmogPSBmb28uYmluZCh7fSk7DQogICAgICAgIGhhc1Byb3BlcnR5ID0gb2JqLmhhc093blByb3BlcnR5KCJsZW5ndGgiKTsNCiAgICAgICAgb2JqLmxlbmd0aCA9IDEwMDsNCiAgICAgICAgY2FuV3JpdGFibGUgPSAob2JqLmxlbmd0aCA9PT0gMTAwKTsNCiAgICAgICAgcmV0dXJuIGhhc1Byb3BlcnR5ICYmICFjYW5Xcml0YWJsZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Function.prototype.bind - The [[Writable]] attribute of length property in F set as false","path":"TestCases/ch15/15.3/15.3.4/15.3.4.5/15.3.4.5-15-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4zLzE1LjMuNC8xNS4zLjQuNS8xNS4zLjQuNS0xNS00LmpzDQogKiBAZGVzY3JpcHRpb24gRnVuY3Rpb24ucHJvdG90eXBlLmJpbmQgLSBUaGUgW1tFbnVtZXJhYmxlXV0gYXR0cmlidXRlIG9mIGxlbmd0aCBwcm9wZXJ0eSBpbiBGIHNldCBhcyBmYWxzZQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGNhbkVudW1lcmFibGUgPSBmYWxzZTsNCiAgICAgICAgdmFyIGhhc1Byb3BlcnR5ID0gZmFsc2U7DQogICAgICAgIGZ1bmN0aW9uIGZvbygpIHsgfQ0KICAgICAgICB2YXIgb2JqID0gZm9vLmJpbmQoe30pOw0KICAgICAgICBoYXNQcm9wZXJ0eSA9IG9iai5oYXNPd25Qcm9wZXJ0eSgibGVuZ3RoIik7DQogICAgICAgIGZvciAodmFyIHByb3AgaW4gb2JqKSB7DQogICAgICAgICAgICBpZiAocHJvcCA9PT0gImxlbmd0aCIpIHsNCiAgICAgICAgICAgICAgICBjYW5FbnVtZXJhYmxlID0gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KICAgICAgICByZXR1cm4gaGFzUHJvcGVydHkgJiYgIWNhbkVudW1lcmFibGU7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Function.prototype.bind - The [[Enumerable]] attribute of length property in F set as false","path":"TestCases/ch15/15.3/15.3.4/15.3.4.5/15.3.4.5-15-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4zLzE1LjMuNC8xNS4zLjQuNS8xNS4zLjQuNS0xNS01LmpzDQogKiBAZGVzY3JpcHRpb24gRnVuY3Rpb24ucHJvdG90eXBlLmJpbmQgLSBUaGUgW1tDb25maWd1cmFibGVdXSBhdHRyaWJ1dGUgb2YgbGVuZ3RoIHByb3BlcnR5IGluIEYgc2V0IGFzIGZhbHNlDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgY2FuQ29uZmlndXJhYmxlID0gZmFsc2U7DQogICAgICAgIHZhciBoYXNQcm9wZXJ0eSA9IGZhbHNlOw0KICAgICAgICBmdW5jdGlvbiBmb28oKSB7IH0NCiAgICAgICAgdmFyIG9iaiA9IGZvby5iaW5kKHt9KTsNCiAgICAgICAgaGFzUHJvcGVydHkgPSBvYmouaGFzT3duUHJvcGVydHkoImxlbmd0aCIpOw0KICAgICAgICBkZWxldGUgb2JqLmNhbGxlcjsNCiAgICAgICAgY2FuQ29uZmlndXJhYmxlID0gIW9iai5oYXNPd25Qcm9wZXJ0eSgibGVuZ3RoIik7DQogICAgICAgIHJldHVybiBoYXNQcm9wZXJ0eSAmJiAhY2FuQ29uZmlndXJhYmxlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Function.prototype.bind - The [[Configurable]] attribute of length property in F set as false","path":"TestCases/ch15/15.3/15.3.4/15.3.4.5/15.3.4.5-15-5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4zLzE1LjMuNC8xNS4zLjQuNS8xNS4zLjQuNS0xNi0xLmpzDQogKiBAZGVzY3JpcHRpb24gRnVuY3Rpb24ucHJvdG90eXBlLmJpbmQsIFtbRXh0ZW5zaWJsZV1dIG9mIHRoZSBib3VuZCBmbiBpcyB0cnVlDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgZnVuY3Rpb24gZm9vKCkgeyB9DQogIHZhciBvID0ge307DQogIA0KICB2YXIgYmYgPSBmb28uYmluZChvKTsNCiAgdmFyIGV4ID0gT2JqZWN0LmlzRXh0ZW5zaWJsZShiZik7DQogIGlmIChleCA9PT0gdHJ1ZSkgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Function.prototype.bind, [[Extensible]] of the bound fn is true","path":"TestCases/ch15/15.3/15.3.4/15.3.4.5/15.3.4.5-16-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4zLzE1LjMuNC8xNS4zLjQuNS8xNS4zLjQuNS0xNi0yLmpzDQogKiBAZGVzY3JpcHRpb24gRnVuY3Rpb24ucHJvdG90eXBlLmJpbmQgLSBUaGUgW1tFeHRlbnNpYmxlXV0gYXR0cmlidXRlIG9mIGludGVybmFsIHByb3BlcnR5IGluIEYgc2V0IGFzIHRydWUNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIGZ1bmN0aW9uIGZvbygpIHsgfQ0KICAgICAgICB2YXIgb2JqID0gZm9vLmJpbmQoe30pOw0KICAgICAgICBvYmoucHJvcGVydHkgPSAxMjsNCiAgICAgICAgcmV0dXJuIG9iai5oYXNPd25Qcm9wZXJ0eSgicHJvcGVydHkiKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Function.prototype.bind - The [[Extensible]] attribute of internal property in F set as true","path":"TestCases/ch15/15.3/15.3.4/15.3.4.5/15.3.4.5-16-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogMTUuMy40LjUgc3RlcCAyIHNwZWNpZmllcyB0aGF0IGEgVHlwZUVycm9yIG11c3QgYmUgdGhyb3duIGlmIHRoZSBUYXJnZXQgaXMgbm90IGNhbGxhYmxlLg0KICoNCiAqIEBwYXRoIGNoMTUvMTUuMy8xNS4zLjQvMTUuMy40LjUvMTUuMy40LjUtMi0xLmpzDQogKiBAZGVzY3JpcHRpb24gRnVuY3Rpb24ucHJvdG90eXBlLmJpbmQgdGhyb3dzIFR5cGVFcnJvciBpZiB0aGUgVGFyZ2V0IGlzIG5vdCBjYWxsYWJsZSAoYnV0IGFuIGluc3RhbmNlIG9mIEZ1bmN0aW9uKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIGZvby5wcm90b3R5cGUgPSBGdW5jdGlvbi5wcm90b3R5cGU7DQogIC8vIGR1bW15IGZ1bmN0aW9uDQogIGZ1bmN0aW9uIGZvbygpIHt9DQogIHZhciBmID0gbmV3IGZvbygpOw0KDQogIHRyeSB7DQogICAgZi5iaW5kKCk7DQogIH0NCiAgY2F0Y2ggKGUpIHsNCiAgICBpZiAoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikgew0KICAgICAgcmV0dXJuIHRydWU7DQogICAgfQ0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"15.3.4.5 step 2 specifies that a TypeError must be thrown if the Target is not callable.","description":"Function.prototype.bind throws TypeError if the Target is not callable (but an instance of Function)","path":"TestCases/ch15/15.3/15.3.4/15.3.4.5/15.3.4.5-2-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4zLzE1LjMuNC8xNS4zLjQuNS8xNS4zLjQuNS0yLTEwLmpzDQogKiBAZGVzY3JpcHRpb24gRnVuY3Rpb24ucHJvdG90eXBlLmJpbmQgdGhyb3dzIFR5cGVFcnJvciBpZiAnVGFyZ2V0JyBpcyB1bmRlZmluZWQNCiAqLw0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBGdW5jdGlvbi5wcm90b3R5cGUuYmluZC5jYWxsKHVuZGVmaW5lZCk7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiAoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcik7DQogICAgICAgIH0gDQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Function.prototype.bind throws TypeError if 'Target' is undefined","path":"TestCases/ch15/15.3/15.3.4/15.3.4.5/15.3.4.5-2-10.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4zLzE1LjMuNC8xNS4zLjQuNS8xNS4zLjQuNS0yLTExLmpzDQogKiBAZGVzY3JpcHRpb24gRnVuY3Rpb24ucHJvdG90eXBlLmJpbmQgdGhyb3dzIFR5cGVFcnJvciBpZiAnVGFyZ2V0JyBpcyBOVUxMDQogKi8NCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgRnVuY3Rpb24ucHJvdG90eXBlLmJpbmQuY2FsbChudWxsKTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIChlIGluc3RhbmNlb2YgVHlwZUVycm9yKTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Function.prototype.bind throws TypeError if 'Target' is NULL","path":"TestCases/ch15/15.3/15.3.4/15.3.4.5/15.3.4.5-2-11.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4zLzE1LjMuNC8xNS4zLjQuNS8xNS4zLjQuNS0yLTEyLmpzDQogKiBAZGVzY3JpcHRpb24gRnVuY3Rpb24ucHJvdG90eXBlLmJpbmQgdGhyb3dzIFR5cGVFcnJvciBpZiAnVGFyZ2V0JyBpcyBhIGJvb2xlYW4NCiAqLw0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBGdW5jdGlvbi5wcm90b3R5cGUuYmluZC5jYWxsKHRydWUpOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpOw0KICAgICAgICB9IA0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Function.prototype.bind throws TypeError if 'Target' is a boolean","path":"TestCases/ch15/15.3/15.3.4/15.3.4.5/15.3.4.5-2-12.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4zLzE1LjMuNC8xNS4zLjQuNS8xNS4zLjQuNS0yLTEzLmpzDQogKiBAZGVzY3JpcHRpb24gRnVuY3Rpb24ucHJvdG90eXBlLmJpbmQgdGhyb3dzIFR5cGVFcnJvciBpZiAnVGFyZ2V0JyBpcyBhIG51bWJlcg0KICovDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIEZ1bmN0aW9uLnByb3RvdHlwZS5iaW5kLmNhbGwoNSk7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiAoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcik7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Function.prototype.bind throws TypeError if 'Target' is a number","path":"TestCases/ch15/15.3/15.3.4/15.3.4.5/15.3.4.5-2-13.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4zLzE1LjMuNC8xNS4zLjQuNS8xNS4zLjQuNS0yLTE0LmpzDQogKiBAZGVzY3JpcHRpb24gRnVuY3Rpb24ucHJvdG90eXBlLmJpbmQgdGhyb3dzIFR5cGVFcnJvciBpZiAnVGFyZ2V0JyBpcyBhIHN0cmluZw0KICovDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIEZ1bmN0aW9uLnByb3RvdHlwZS5iaW5kLmNhbGwoImFiYyIpOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Function.prototype.bind throws TypeError if 'Target' is a string","path":"TestCases/ch15/15.3/15.3.4/15.3.4.5/15.3.4.5-2-14.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4zLzE1LjMuNC8xNS4zLjQuNS8xNS4zLjQuNS0yLTE1LmpzDQogKiBAZGVzY3JpcHRpb24gRnVuY3Rpb24ucHJvdG90eXBlLmJpbmQgdGhyb3dzIFR5cGVFcnJvciBpZiAnVGFyZ2V0JyBpcyBPYmplY3Qgd2l0aG91dCBDYWxsIGludGVybmFsIG1ldGhvZA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBGdW5jdGlvbi5wcm90b3R5cGUuYmluZC5jYWxsKHt9KTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIChlIGluc3RhbmNlb2YgVHlwZUVycm9yKTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Function.prototype.bind throws TypeError if 'Target' is Object without Call internal method","path":"TestCases/ch15/15.3/15.3.4/15.3.4.5/15.3.4.5-2-15.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4zLzE1LjMuNC8xNS4zLjQuNS8xNS4zLjQuNS0yLTE2LmpzDQogKiBAZGVzY3JpcHRpb24gRnVuY3Rpb24ucHJvdG90eXBlLmJpbmQgLSAnVGFyZ2V0JyBpcyBhIGZ1bmN0aW9uDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgZnVuY3Rpb24gdGVzdEZ1bmMoKSB7fQ0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgdGVzdEZ1bmMuYmluZCgpOw0KICAgICAgICAgICAgcmV0dXJuIHRydWU7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Function.prototype.bind - 'Target' is a function","path":"TestCases/ch15/15.3/15.3.4/15.3.4.5/15.3.4.5-2-16.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogMTUuMy40LjUgc3RlcCAyIHNwZWNpZmllcyB0aGF0IGEgVHlwZUVycm9yIG11c3QgYmUgdGhyb3duIGlmIHRoZSBUYXJnZXQgaXMgbm90IGNhbGxhYmxlLg0KICoNCiAqIEBwYXRoIGNoMTUvMTUuMy8xNS4zLjQvMTUuMy40LjUvMTUuMy40LjUtMi0yLmpzDQogKiBAZGVzY3JpcHRpb24gRnVuY3Rpb24ucHJvdG90eXBlLmJpbmQgdGhyb3dzIFR5cGVFcnJvciBpZiB0aGUgVGFyZ2V0IGlzIG5vdCBjYWxsYWJsZSAoYmluZCBhdHRhY2hlZCB0byBvYmplY3QpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgLy8gZHVtbXkgZnVuY3Rpb24gDQogIGZ1bmN0aW9uIGZvbygpIHt9DQogIHZhciBmID0gbmV3IGZvbygpOw0KICBmLmJpbmQgPSBGdW5jdGlvbi5wcm90b3R5cGUuYmluZDsNCg0KICB0cnkgew0KICAgIGYuYmluZCgpOw0KICB9DQogIGNhdGNoIChlKSB7DQogICAgaWYgKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpIHsNCiAgICAgIHJldHVybiB0cnVlOw0KICAgIH0NCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"15.3.4.5 step 2 specifies that a TypeError must be thrown if the Target is not callable.","description":"Function.prototype.bind throws TypeError if the Target is not callable (bind attached to object)","path":"TestCases/ch15/15.3/15.3.4/15.3.4.5/15.3.4.5-2-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogMTUuMy40LjUgc3RlcCAyIHNwZWNpZmllcyB0aGF0IGEgVHlwZUVycm9yIG11c3QgYmUgdGhyb3duIGlmIHRoZSBUYXJnZXQgaXMgbm90IGNhbGxhYmxlLg0KICoNCiAqIEBwYXRoIGNoMTUvMTUuMy8xNS4zLjQvMTUuMy40LjUvMTUuMy40LjUtMi0zLmpzDQogKiBAZGVzY3JpcHRpb24gRnVuY3Rpb24ucHJvdG90eXBlLmJpbmQgYWxsb3dzIFRhcmdldCB0byBiZSBhIGNvbnN0cnVjdG9yIChOdW1iZXIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIGJuYyA9IE51bWJlci5iaW5kKG51bGwpOw0KICB2YXIgbiA9IGJuYyg0Mik7DQogIGlmIChuID09PSA0Mikgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"15.3.4.5 step 2 specifies that a TypeError must be thrown if the Target is not callable.","description":"Function.prototype.bind allows Target to be a constructor (Number)","path":"TestCases/ch15/15.3/15.3.4/15.3.4.5/15.3.4.5-2-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogMTUuMy40LjUgc3RlcCAyIHNwZWNpZmllcyB0aGF0IGEgVHlwZUVycm9yIG11c3QgYmUgdGhyb3duIGlmIHRoZSBUYXJnZXQgaXMgbm90IGNhbGxhYmxlLg0KICoNCiAqIEBwYXRoIGNoMTUvMTUuMy8xNS4zLjQvMTUuMy40LjUvMTUuMy40LjUtMi00LmpzDQogKiBAZGVzY3JpcHRpb24gRnVuY3Rpb24ucHJvdG90eXBlLmJpbmQgYWxsb3dzIFRhcmdldCB0byBiZSBhIGNvbnN0cnVjdG9yIChTdHJpbmcpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIGJzYyA9IFN0cmluZy5iaW5kKG51bGwpOw0KICB2YXIgcyA9IGJzYygiaGVsbG8gd29ybGQiKTsNCiAgaWYgKHMgPT09ICJoZWxsbyB3b3JsZCIpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"15.3.4.5 step 2 specifies that a TypeError must be thrown if the Target is not callable.","description":"Function.prototype.bind allows Target to be a constructor (String)","path":"TestCases/ch15/15.3/15.3.4/15.3.4.5/15.3.4.5-2-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogMTUuMy40LjUgc3RlcCAyIHNwZWNpZmllcyB0aGF0IGEgVHlwZUVycm9yIG11c3QgYmUgdGhyb3duIGlmIHRoZSBUYXJnZXQgaXMgbm90IGNhbGxhYmxlLg0KICoNCiAqIEBwYXRoIGNoMTUvMTUuMy8xNS4zLjQvMTUuMy40LjUvMTUuMy40LjUtMi01LmpzDQogKiBAZGVzY3JpcHRpb24gRnVuY3Rpb24ucHJvdG90eXBlLmJpbmQgYWxsb3dzIFRhcmdldCB0byBiZSBhIGNvbnN0cnVjdG9yIChCb29sZWFuKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBiYmMgPSBCb29sZWFuLmJpbmQobnVsbCk7DQogIHZhciBiID0gYmJjKHRydWUpOw0KICBpZiAoYiA9PT0gdHJ1ZSkgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"15.3.4.5 step 2 specifies that a TypeError must be thrown if the Target is not callable.","description":"Function.prototype.bind allows Target to be a constructor (Boolean)","path":"TestCases/ch15/15.3/15.3.4/15.3.4.5/15.3.4.5-2-5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogMTUuMy40LjUgc3RlcCAyIHNwZWNpZmllcyB0aGF0IGEgVHlwZUVycm9yIG11c3QgYmUgdGhyb3duIGlmIHRoZSBUYXJnZXQgaXMgbm90IGNhbGxhYmxlLg0KICoNCiAqIEBwYXRoIGNoMTUvMTUuMy8xNS4zLjQvMTUuMy40LjUvMTUuMy40LjUtMi02LmpzDQogKiBAZGVzY3JpcHRpb24gRnVuY3Rpb24ucHJvdG90eXBlLmJpbmQgYWxsb3dzIFRhcmdldCB0byBiZSBhIGNvbnN0cnVjdG9yIChPYmplY3QpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIGJvYyA9IE9iamVjdC5iaW5kKG51bGwpOw0KICB2YXIgbyA9IGJvYyg0Mik7DQogIGlmIChvID09IDQyKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"15.3.4.5 step 2 specifies that a TypeError must be thrown if the Target is not callable.","description":"Function.prototype.bind allows Target to be a constructor (Object)","path":"TestCases/ch15/15.3/15.3.4/15.3.4.5/15.3.4.5-2-6.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogMTUuMy40LjUgc3RlcCAyIHNwZWNpZmllcyB0aGF0IGEgVHlwZUVycm9yIG11c3QgYmUgdGhyb3duIGlmIHRoZSBUYXJnZXQgaXMgbm90IGNhbGxhYmxlLg0KICoNCiAqIEBwYXRoIGNoMTUvMTUuMy8xNS4zLjQvMTUuMy40LjUvMTUuMy40LjUtMi03LmpzDQogKiBAZGVzY3JpcHRpb24gRnVuY3Rpb24ucHJvdG90eXBlLmJpbmQgdGhyb3dzIFR5cGVFcnJvciBpZiB0aGUgVGFyZ2V0IGlzIG5vdCBjYWxsYWJsZSAoSlNPTikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB0cnkgew0KICAgIEpTT04uYmluZCgpOw0KICB9DQogIGNhdGNoIChlKSB7DQogICAgaWYgKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpIHsNCiAgICAgIHJldHVybiB0cnVlOw0KICAgIH0NCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"15.3.4.5 step 2 specifies that a TypeError must be thrown if the Target is not callable.","description":"Function.prototype.bind throws TypeError if the Target is not callable (JSON)","path":"TestCases/ch15/15.3/15.3.4/15.3.4.5/15.3.4.5-2-7.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogMTUuMy40LjUgc3RlcCAyIHNwZWNpZmllcyB0aGF0IGEgVHlwZUVycm9yIG11c3QgYmUgdGhyb3duIGlmIHRoZSBUYXJnZXQgaXMgbm90IGNhbGxhYmxlLg0KICoNCiAqIEBwYXRoIGNoMTUvMTUuMy8xNS4zLjQvMTUuMy40LjUvMTUuMy40LjUtMi04LmpzDQogKiBAZGVzY3JpcHRpb24gRnVuY3Rpb24ucHJvdG90eXBlLmJpbmQgYWxsb3dzIFRhcmdldCB0byBiZSBhIGNvbnN0cnVjdG9yIChBcnJheSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgYmFjID0gQXJyYXkuYmluZChudWxsKTsNCiAgICAgICAgdmFyIGEgPSBiYWMoNDIpOw0KICAgICAgICBhLnByb3AgPSAidmVyaWZ5UHJvcGVydHlFeGlzdCI7DQogICAgICAgIGFbNDFdID0gNDE7DQoNCiAgICAgICAgcmV0dXJuIGEucHJvcCA9PT0gInZlcmlmeVByb3BlcnR5RXhpc3QiICYmIGFbNDFdID09PSA0MSAmJiBhLmxlbmd0aCA9PT0gNDI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"15.3.4.5 step 2 specifies that a TypeError must be thrown if the Target is not callable.","description":"Function.prototype.bind allows Target to be a constructor (Array)","path":"TestCases/ch15/15.3/15.3.4/15.3.4.5/15.3.4.5-2-8.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4zLzE1LjMuNC8xNS4zLjQuNS8xNS4zLjQuNS0yLTkuanMNCiAqIEBkZXNjcmlwdGlvbiBGdW5jdGlvbi5wcm90b3R5cGUuYmluZCBhbGxvd3MgVGFyZ2V0IHRvIGJlIGEgY29uc3RydWN0b3IgKERhdGUpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIGJkYyA9IERhdGUuYmluZChudWxsKTsNCiAgdmFyIHMgPSBiZGMoMCwgMCwgMCk7DQogIGlmICh0eXBlb2YocykgPT09ICdzdHJpbmcnKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Function.prototype.bind allows Target to be a constructor (Date)","path":"TestCases/ch15/15.3/15.3.4/15.3.4.5/15.3.4.5-2-9.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4zLzE1LjMuNC8xNS4zLjQuNS8xNS4zLjQuNS0yMC0xLmpzDQogKiBAZGVzY3JpcHRpb24gRnVuY3Rpb24ucHJvdG90eXBlLmJpbmQgLSAnY2FsbGVyJyBpcyBkZWZpbmVkIGFzIG9uZSBwcm9wZXJ0eSBvZiAnRicNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIGZ1bmN0aW9uIGZvbygpIHsgfQ0KICAgICAgICB2YXIgb2JqID0gZm9vLmJpbmQoe30pOw0KICAgICAgICByZXR1cm4gb2JqLmhhc093blByb3BlcnR5KCJjYWxsZXIiKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Function.prototype.bind - 'caller' is defined as one property of 'F'","path":"TestCases/ch15/15.3/15.3.4/15.3.4.5/15.3.4.5-20-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4zLzE1LjMuNC8xNS4zLjQuNS8xNS4zLjQuNS0yMC0yLmpzDQogKiBAZGVzY3JpcHRpb24gRnVuY3Rpb24ucHJvdG90eXBlLmJpbmQgLSBbW0dldF1dIGF0dHJpYnV0ZSBvZiAnY2FsbGVyJyBwcm9wZXJ0eSBpbiAnRicgaXMgdGhyb3dlcg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgZnVuY3Rpb24gZm9vKCkgeyB9DQogICAgICAgIHZhciBvYmogPSBmb28uYmluZCh7fSk7DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICByZXR1cm4gb2JqLmNhbGxlciAmJiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZXgpIHsNCiAgICAgICAgICAgIHJldHVybiAoZXggaW5zdGFuY2VvZiBUeXBlRXJyb3IpOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Function.prototype.bind - [[Get]] attribute of 'caller' property in 'F' is thrower","path":"TestCases/ch15/15.3/15.3.4/15.3.4.5/15.3.4.5-20-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4zLzE1LjMuNC8xNS4zLjQuNS8xNS4zLjQuNS0yMC0zLmpzDQogKiBAZGVzY3JpcHRpb24gRnVuY3Rpb24ucHJvdG90eXBlLmJpbmQgLSBbW1NldF1dIGF0dHJpYnV0ZSBvZiAnY2FsbGVyJyBwcm9wZXJ0eSBpbiAgJ0YnIGlzIHRocm93ZXINCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIGZ1bmN0aW9uIGZvbygpIHsgfQ0KICAgICAgICB2YXIgb2JqID0gZm9vLmJpbmQoe30pOw0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgb2JqLmNhbGxlciA9IDEyOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChleCkgew0KICAgICAgICAgICAgcmV0dXJuIChleCBpbnN0YW5jZW9mIFR5cGVFcnJvcik7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Function.prototype.bind - [[Set]] attribute of 'caller' property in 'F' is thrower","path":"TestCases/ch15/15.3/15.3.4/15.3.4.5/15.3.4.5-20-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4zLzE1LjMuNC8xNS4zLjQuNS8xNS4zLjQuNS0yMC00LmpzDQogKiBAZGVzY3JpcHRpb24gRnVuY3Rpb24ucHJvdG90eXBlLmJpbmQgLSBUaGUgW1tFbnVtZXJhYmxlXV0gYXR0cmlidXRlIG9mICdjYWxsZXInIHByb3BlcnR5IGluICAnRicgaXMgZmFsc2UNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBjYW5FbnVtZXJhYmxlID0gZmFsc2U7DQogICAgICAgIHZhciBoYXNQcm9wZXJ0eSA9IGZhbHNlOw0KICAgICAgICBmdW5jdGlvbiBmb28oKSB7IH0NCiAgICAgICAgdmFyIG9iaiA9IGZvby5iaW5kKHt9KTsNCiAgICAgICAgaGFzUHJvcGVydHkgPSBvYmouaGFzT3duUHJvcGVydHkoImNhbGxlciIpOw0KICAgICAgICBmb3IgKHZhciBwcm9wIGluIG9iaikgew0KICAgICAgICAgICAgaWYgKHByb3AgPT09ICJjYWxsZXIiKSB7DQogICAgICAgICAgICAgICAgY2FuRW51bWVyYWJsZSA9IHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCiAgICAgICAgcmV0dXJuIGhhc1Byb3BlcnR5ICYmICFjYW5FbnVtZXJhYmxlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Function.prototype.bind - The [[Enumerable]] attribute of 'caller' property in 'F' is false","path":"TestCases/ch15/15.3/15.3.4/15.3.4.5/15.3.4.5-20-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4zLzE1LjMuNC8xNS4zLjQuNS8xNS4zLjQuNS0yMC01LmpzDQogKiBAZGVzY3JpcHRpb24gRnVuY3Rpb24ucHJvdG90eXBlLmJpbmQgLSBUaGUgW1tDb25maWd1cmFibGVdXSBhdHRyaWJ1dGUgb2YgJ2NhbGxlcicgcHJvcGVydHkgaW4gICdGJyBpcyBmYWxzZQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGNhbkNvbmZpZ3VyYWJsZSA9IGZhbHNlOw0KICAgICAgICB2YXIgaGFzUHJvcGVydHkgPSBmYWxzZTsNCiAgICAgICAgZnVuY3Rpb24gZm9vKCkgeyB9DQogICAgICAgIHZhciBvYmogPSBmb28uYmluZCh7fSk7DQogICAgICAgIGhhc1Byb3BlcnR5ID0gb2JqLmhhc093blByb3BlcnR5KCJjYWxsZXIiKTsNCiAgICAgICAgZGVsZXRlIG9iai5jYWxsZXI7DQogICAgICAgIGNhbkNvbmZpZ3VyYWJsZSA9IG9iai5oYXNPd25Qcm9wZXJ0eSgiY2FsbGVyIik7DQogICAgICAgIHJldHVybiBoYXNQcm9wZXJ0eSAmJiBjYW5Db25maWd1cmFibGU7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Function.prototype.bind - The [[Configurable]] attribute of 'caller' property in 'F' is false","path":"TestCases/ch15/15.3/15.3.4/15.3.4.5/15.3.4.5-20-5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4zLzE1LjMuNC8xNS4zLjQuNS8xNS4zLjQuNS0yMS0xLmpzDQogKiBAZGVzY3JpcHRpb24gRnVuY3Rpb24ucHJvdG90eXBlLmJpbmQgLSAnYXJndW1lbnRzJyBpcyBkZWZpbmVkIGFzIG9uZSBwcm9wZXJ0eSBvZiAnRicNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIGZ1bmN0aW9uIGZvbygpIHsgfQ0KICAgICAgICB2YXIgb2JqID0gZm9vLmJpbmQoe30pOw0KICAgICAgICByZXR1cm4gb2JqLmhhc093blByb3BlcnR5KCJhcmd1bWVudHMiKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Function.prototype.bind - 'arguments' is defined as one property of 'F'","path":"TestCases/ch15/15.3/15.3.4/15.3.4.5/15.3.4.5-21-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4zLzE1LjMuNC8xNS4zLjQuNS8xNS4zLjQuNS0yMS0yLmpzDQogKiBAZGVzY3JpcHRpb24gRnVuY3Rpb24ucHJvdG90eXBlLmJpbmQgLSBbW0dldF1dIGF0dHJpYnV0ZSBvZiAnYXJndW1lbnRzJyBwcm9wZXJ0eSBpbiAgJ0YnIGlzIHRocm93ZXINCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIGZ1bmN0aW9uIGZvbygpIHsgfQ0KICAgICAgICB2YXIgb2JqID0gZm9vLmJpbmQoe30pOw0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgcmV0dXJuIG9iai5hcmd1bWVudHMgJiYgZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGV4KSB7DQogICAgICAgICAgICByZXR1cm4gKGV4IGluc3RhbmNlb2YgVHlwZUVycm9yKTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Function.prototype.bind - [[Get]] attribute of 'arguments' property in 'F' is thrower","path":"TestCases/ch15/15.3/15.3.4/15.3.4.5/15.3.4.5-21-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4zLzE1LjMuNC8xNS4zLjQuNS8xNS4zLjQuNS0yMS0zLmpzDQogKiBAZGVzY3JpcHRpb24gRnVuY3Rpb24ucHJvdG90eXBlLmJpbmQgLSBbW1NldF1dIGF0dHJpYnV0ZSBvZiAnYXJndW1lbnRzJyBwcm9wZXJ0eSBpbiAgJ0YnIGlzIHRocm93ZXINCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIGZ1bmN0aW9uIGZvbygpIHsgfQ0KICAgICAgICB2YXIgb2JqID0gZm9vLmJpbmQoe30pOw0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgb2JqLmFyZ3VtZW50cyA9IDEyOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChleCkgew0KICAgICAgICAgICAgcmV0dXJuIChleCBpbnN0YW5jZW9mIFR5cGVFcnJvcik7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Function.prototype.bind - [[Set]] attribute of 'arguments' property in 'F' is thrower","path":"TestCases/ch15/15.3/15.3.4/15.3.4.5/15.3.4.5-21-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4zLzE1LjMuNC8xNS4zLjQuNS8xNS4zLjQuNS0yMS00LmpzDQogKiBAZGVzY3JpcHRpb24gRnVuY3Rpb24ucHJvdG90eXBlLmJpbmQgLSBUaGUgW1tFbnVtZXJhYmxlXV0gYXR0cmlidXRlIG9mICdhcmd1bWVudHMnIHByb3BlcnR5IGluICAnRicgaXMgZmFsc2UNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBjYW5FbnVtZXJhYmxlID0gZmFsc2U7DQogICAgICAgIHZhciBoYXNQcm9wZXJ0eSA9IGZhbHNlOw0KICAgICAgICBmdW5jdGlvbiBmb28oKSB7IH0NCiAgICAgICAgdmFyIG9iaiA9IGZvby5iaW5kKHt9KTsNCiAgICAgICAgaGFzUHJvcGVydHkgPSBvYmouaGFzT3duUHJvcGVydHkoImFyZ3VtZW50cyIpOw0KICAgICAgICBmb3IgKHZhciBwcm9wIGluIG9iaikgew0KICAgICAgICAgICAgaWYgKHByb3AgPT09ICJhcmd1bWVudHMiKSB7DQogICAgICAgICAgICAgICAgY2FuRW51bWVyYWJsZSA9IHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCiAgICAgICAgcmV0dXJuIGhhc1Byb3BlcnR5ICYmICFjYW5FbnVtZXJhYmxlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Function.prototype.bind - The [[Enumerable]] attribute of 'arguments' property in 'F' is false","path":"TestCases/ch15/15.3/15.3.4/15.3.4.5/15.3.4.5-21-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4zLzE1LjMuNC8xNS4zLjQuNS8xNS4zLjQuNS0yMS01LmpzDQogKiBAZGVzY3JpcHRpb24gRnVuY3Rpb24ucHJvdG90eXBlLmJpbmQgLSBUaGUgW1tDb25maWd1cmFibGVdXSBhdHRyaWJ1dGUgb2YgJ2FyZ3VtZW50cycgcHJvcGVydHkgaW4gICdGJyBpcyBmYWxzZQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGNhbkNvbmZpZ3VyYWJsZSA9IGZhbHNlOw0KICAgICAgICB2YXIgaGFzUHJvcGVydHkgPSBmYWxzZTsNCiAgICAgICAgZnVuY3Rpb24gZm9vKCkgeyB9DQogICAgICAgIHZhciBvYmogPSBmb28uYmluZCh7fSk7DQogICAgICAgIGhhc1Byb3BlcnR5ID0gb2JqLmhhc093blByb3BlcnR5KCJhcmd1bWVudHMiKTsNCiAgICAgICAgZGVsZXRlIG9iai5jYWxsZXI7DQogICAgICAgIGNhbkNvbmZpZ3VyYWJsZSA9ICFvYmouaGFzT3duUHJvcGVydHkoImFyZ3VtZW50cyIpOw0KICAgICAgICByZXR1cm4gaGFzUHJvcGVydHkgJiYgIWNhbkNvbmZpZ3VyYWJsZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Function.prototype.bind - The [[Configurable]] attribute of 'arguments' property in 'F' is false","path":"TestCases/ch15/15.3/15.3.4/15.3.4.5/15.3.4.5-21-5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4zLzE1LjMuNC8xNS4zLjQuNS8xNS4zLjQuNS0zLTEuanMNCiAqIEBkZXNjcmlwdGlvbiBGdW5jdGlvbi5wcm90b3R5cGUuYmluZCAtIGVhY2ggYXJnIGlzIGRlZmluZWQgaW4gQSBpbiBsaXN0IG9yZGVyDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgZm9vID0gZnVuY3Rpb24gKHgsIHkpIHsNCiAgICAgICAgICAgIHJldHVybiBuZXcgQm9vbGVhbigoeCArIHkpID09PSAiYWIiICYmIGFyZ3VtZW50c1swXSA9PT0gImEiICYmDQogICAgICAgICAgICAgICAgYXJndW1lbnRzWzFdID09PSAiYiIgJiYgYXJndW1lbnRzLmxlbmd0aCA9PT0gMik7DQogICAgICAgIH07DQoNCiAgICAgICAgdmFyIG9iaiA9IGZvby5iaW5kKHt9LCAiYSIsICJiIik7DQogICAgICAgIHJldHVybiBvYmooKT09dHJ1ZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Function.prototype.bind - each arg is defined in A in list order","path":"TestCases/ch15/15.3/15.3.4/15.3.4.5/15.3.4.5-3-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4zLzE1LjMuNC8xNS4zLjQuNS8xNS4zLjQuNS02LTEuanMNCiAqIEBkZXNjcmlwdGlvbiBGdW5jdGlvbi5wcm90b3R5cGUuYmluZCAtIEYgY2FuIGdldCBvd24gZGF0YSBwcm9wZXJ0eQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGZvbyA9IGZ1bmN0aW9uICgpIHsgfTsNCg0KICAgICAgICB2YXIgb2JqID0gZm9vLmJpbmQoe30pOw0KICAgICAgICBvYmoucHJvcGVydHkgPSAxMjsNCiAgICAgICAgcmV0dXJuIG9iai5wcm9wZXJ0eSA9PT0gMTI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Function.prototype.bind - F can get own data property","path":"TestCases/ch15/15.3/15.3.4/15.3.4.5/15.3.4.5-6-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4zLzE1LjMuNC8xNS4zLjQuNS8xNS4zLjQuNS02LTEwLmpzDQogKiBAZGVzY3JpcHRpb24gRnVuY3Rpb24ucHJvdG90eXBlLmJpbmQgLSBGIGNhbiBnZXQgb3duIGFjY2Vzc29yIHByb3BlcnR5IHdpdGhvdXQgYSBnZXQgZnVuY3Rpb24gdGhhdCBvdmVycmlkZXMgYW4gaW5oZXJpdGVkIGFjY2Vzc29yIHByb3BlcnR5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgZm9vID0gZnVuY3Rpb24gKCkgeyB9Ow0KDQogICAgICAgIHZhciBvYmogPSBmb28uYmluZCh7fSk7DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoRnVuY3Rpb24ucHJvdG90eXBlLCAicHJvcGVydHkiLCB7DQogICAgICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgIHJldHVybiAzOw0KICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3BlcnR5Iiwgew0KICAgICAgICAgICAgICAgIHNldDogZnVuY3Rpb24gKCkgeyB9DQogICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIHJldHVybiB0eXBlb2YgKG9iai5wcm9wZXJ0eSkgPT09ICJ1bmRlZmluZWQiOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIEZ1bmN0aW9uLnByb3RvdHlwZS5wcm9wZXJ0eTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Function.prototype.bind - F can get own accessor property without a get function that overrides an inherited accessor property","path":"TestCases/ch15/15.3/15.3.4/15.3.4.5/15.3.4.5-6-10.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4zLzE1LjMuNC8xNS4zLjQuNS8xNS4zLjQuNS02LTExLmpzDQogKiBAZGVzY3JpcHRpb24gRnVuY3Rpb24ucHJvdG90eXBlLmJpbmQgLSBGIGNhbiBnZXQgaW5oZXJpdGVkIGFjY2Vzc29yIHByb3BlcnR5IHdpdGhvdXQgYSBnZXQgZnVuY3Rpb24NCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBmb28gPSBmdW5jdGlvbiAoKSB7IH07DQoNCiAgICAgICAgdmFyIG9iaiA9IGZvby5iaW5kKHt9KTsNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShGdW5jdGlvbi5wcm90b3R5cGUsICJwcm9wZXJ0eSIsIHsNCiAgICAgICAgICAgICAgICBzZXQ6IGZ1bmN0aW9uICgpIHsgfSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgcmV0dXJuIHR5cGVvZiAob2JqLnByb3BlcnR5KSA9PT0gInVuZGVmaW5lZCI7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgRnVuY3Rpb24ucHJvdG90eXBlLnByb3BlcnR5Ow0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Function.prototype.bind - F can get inherited accessor property without a get function","path":"TestCases/ch15/15.3/15.3.4/15.3.4.5/15.3.4.5-6-11.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4zLzE1LjMuNC8xNS4zLjQuNS8xNS4zLjQuNS02LTEyLmpzDQogKiBAZGVzY3JpcHRpb24gRnVuY3Rpb24ucHJvdG90eXBlLmJpbmQgLSBGIGNhbm5vdCBnZXQgcHJvcGVydHkgd2hpY2ggZG9lc24ndCBleGlzdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGZvbyA9IGZ1bmN0aW9uICgpIHsgfTsNCg0KICAgICAgICB2YXIgb2JqID0gZm9vLmJpbmQoe30pOw0KICAgICAgICByZXR1cm4gdHlwZW9mIChvYmoucHJvcGVydHkpID09PSAidW5kZWZpbmVkIjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Function.prototype.bind - F cannot get property which doesn't exist","path":"TestCases/ch15/15.3/15.3.4/15.3.4.5/15.3.4.5-6-12.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4zLzE1LjMuNC8xNS4zLjQuNS8xNS4zLjQuNS02LTIuanMNCiAqIEBkZXNjcmlwdGlvbiBGdW5jdGlvbi5wcm90b3R5cGUuYmluZCAtIEYgY2FuIGdldCBpbmhlcml0ZWQgZGF0YSBwcm9wZXJ0eQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGZvbyA9IGZ1bmN0aW9uICgpIHsgfTsNCg0KICAgICAgICB2YXIgb2JqID0gZm9vLmJpbmQoe30pOw0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgRnVuY3Rpb24ucHJvdG90eXBlLnByb3BlcnR5ID0gMTI7DQogICAgICAgICAgICByZXR1cm4gb2JqLnByb3BlcnR5ID09PSAxMjsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBGdW5jdGlvbi5wcm90b3R5cGUucHJvcGVydHk7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Function.prototype.bind - F can get inherited data property","path":"TestCases/ch15/15.3/15.3.4/15.3.4.5/15.3.4.5-6-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4zLzE1LjMuNC8xNS4zLjQuNS8xNS4zLjQuNS02LTMuanMNCiAqIEBkZXNjcmlwdGlvbiBGdW5jdGlvbi5wcm90b3R5cGUuYmluZCAtIEYgY2FuIGdldCBvd24gZGF0YSBwcm9wZXJ0eSB0aGF0IG92ZXJyaWRlcyBhbiBpbmhlcml0ZWQgZGF0YSBwcm9wZXJ0eQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGZvbyA9IGZ1bmN0aW9uICgpIHsgfTsNCg0KICAgICAgICB2YXIgb2JqID0gZm9vLmJpbmQoe30pOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBGdW5jdGlvbi5wcm90b3R5cGUucHJvcGVydHkgPSAzOw0KICAgICAgICAgICAgb2JqLnByb3BlcnR5ID0gMTI7DQogICAgICAgICAgICByZXR1cm4gb2JqLnByb3BlcnR5ID09PSAxMjsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBGdW5jdGlvbi5wcm90b3R5cGUucHJvcGVydHk7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Function.prototype.bind - F can get own data property that overrides an inherited data property","path":"TestCases/ch15/15.3/15.3.4/15.3.4.5/15.3.4.5-6-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4zLzE1LjMuNC8xNS4zLjQuNS8xNS4zLjQuNS02LTQuanMNCiAqIEBkZXNjcmlwdGlvbiBGdW5jdGlvbi5wcm90b3R5cGUuYmluZCAtIEYgY2FuIGdldCBvd24gZGF0YSBwcm9wZXJ0eSB0aGF0IG92ZXJyaWRlcyBhbiBpbmhlcml0ZWQgYWNjZXNzb3IgcHJvcGVydHkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBmb28gPSBmdW5jdGlvbiAoKSB7IH07DQoNCiAgICAgICAgdmFyIG9iaiA9IGZvby5iaW5kKHt9KTsNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShGdW5jdGlvbi5wcm90b3R5cGUsICJwcm9wZXJ0eSIsIHsNCiAgICAgICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDM7DQogICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICANCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJwcm9wZXJ0eSIsIHsNCiAgICAgICAgICAgICAgICB2YWx1ZTogMTINCiAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICByZXR1cm4gb2JqLnByb3BlcnR5ID09PSAxMjsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBGdW5jdGlvbi5wcm90b3R5cGUucHJvcGVydHk7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Function.prototype.bind - F can get own data property that overrides an inherited accessor property","path":"TestCases/ch15/15.3/15.3.4/15.3.4.5/15.3.4.5-6-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4zLzE1LjMuNC8xNS4zLjQuNS8xNS4zLjQuNS02LTUuanMNCiAqIEBkZXNjcmlwdGlvbiBGdW5jdGlvbi5wcm90b3R5cGUuYmluZCAtIEYgY2FuIGdldCBvd24gYWNjZXNzb3IgcHJvcGVydHkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBmb28gPSBmdW5jdGlvbiAoKSB7IH07DQoNCiAgICAgICAgdmFyIG9iaiA9IGZvby5iaW5kKHt9KTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3BlcnR5Iiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIDEyOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9KTsNCiAgICAgICAgcmV0dXJuIG9iai5wcm9wZXJ0eSA9PT0gMTI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Function.prototype.bind - F can get own accessor property","path":"TestCases/ch15/15.3/15.3.4/15.3.4.5/15.3.4.5-6-5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4zLzE1LjMuNC8xNS4zLjQuNS8xNS4zLjQuNS02LTYuanMNCiAqIEBkZXNjcmlwdGlvbiBGdW5jdGlvbi5wcm90b3R5cGUuYmluZCAtIEYgY2FuIGdldCBpbmhlcml0ZWQgYWNjZXNzb3IgcHJvcGVydHkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBmb28gPSBmdW5jdGlvbiAoKSB7IH07DQoNCiAgICAgICAgdmFyIG9iaiA9IGZvby5iaW5kKHt9KTsNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShGdW5jdGlvbi5wcm90b3R5cGUsICJwcm9wZXJ0eSIsIHsNCiAgICAgICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDEyOw0KICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIHJldHVybiBvYmoucHJvcGVydHkgPT09IDEyOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIEZ1bmN0aW9uLnByb3RvdHlwZS5wcm9wZXJ0eTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Function.prototype.bind - F can get inherited accessor property","path":"TestCases/ch15/15.3/15.3.4/15.3.4.5/15.3.4.5-6-6.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4zLzE1LjMuNC8xNS4zLjQuNS8xNS4zLjQuNS02LTcuanMNCiAqIEBkZXNjcmlwdGlvbiBGdW5jdGlvbi5wcm90b3R5cGUuYmluZCAtIEYgY2FuIGdldCBvd24gYWNjZXNzb3IgcHJvcGVydHkgdGhhdCBvdmVycmlkZXMgYW4gaW5oZXJpdGVkIGRhdGEgcHJvcGVydHkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBmb28gPSBmdW5jdGlvbiAoKSB7IH07DQoNCiAgICAgICAgdmFyIG9iaiA9IGZvby5iaW5kKHt9KTsNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIEZ1bmN0aW9uLnByb3RvdHlwZS5wcm9wZXJ0eSA9IDM7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcGVydHkiLCB7DQogICAgICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgIHJldHVybiAxMjsNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIHJldHVybiBvYmoucHJvcGVydHkgPT09IDEyOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIEZ1bmN0aW9uLnByb3RvdHlwZS5wcm9wZXJ0eTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Function.prototype.bind - F can get own accessor property that overrides an inherited data property","path":"TestCases/ch15/15.3/15.3.4/15.3.4.5/15.3.4.5-6-7.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4zLzE1LjMuNC8xNS4zLjQuNS8xNS4zLjQuNS02LTguanMNCiAqIEBkZXNjcmlwdGlvbiBGdW5jdGlvbi5wcm90b3R5cGUuYmluZCAtIEYgY2FuIGdldCBvd24gYWNjZXNzb3IgcHJvcGVydHkgdGhhdCBvdmVycmlkZXMgYW4gaW5oZXJpdGVkIGFjY2Vzc29yIHByb3BlcnR5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgZm9vID0gZnVuY3Rpb24gKCkgeyB9Ow0KDQogICAgICAgIHZhciBvYmogPSBmb28uYmluZCh7fSk7DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoRnVuY3Rpb24ucHJvdG90eXBlLCAicHJvcGVydHkiLCB7DQogICAgICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgIHJldHVybiAzOw0KICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgInByb3BlcnR5Iiwgew0KICAgICAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gMTI7DQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICByZXR1cm4gb2JqLnByb3BlcnR5ID09PSAxMjsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBGdW5jdGlvbi5wcm90b3R5cGUucHJvcGVydHk7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Function.prototype.bind - F can get own accessor property that overrides an inherited accessor property","path":"TestCases/ch15/15.3/15.3.4/15.3.4.5/15.3.4.5-6-8.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4zLzE1LjMuNC8xNS4zLjQuNS8xNS4zLjQuNS02LTkuanMNCiAqIEBkZXNjcmlwdGlvbiBGdW5jdGlvbi5wcm90b3R5cGUuYmluZCAtIEYgY2FuIGdldCBvd24gYWNjZXNzb3IgcHJvcGVydHkgd2l0aG91dCBhIGdldCBmdW5jdGlvbg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGZvbyA9IGZ1bmN0aW9uICgpIHsgfTsNCg0KICAgICAgICB2YXIgb2JqID0gZm9vLmJpbmQoe30pOw0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAicHJvcGVydHkiLCB7DQogICAgICAgICAgICBzZXQ6IGZ1bmN0aW9uICgpIHt9DQogICAgICAgIH0pOw0KICAgICAgICByZXR1cm4gb2JqLmhhc093blByb3BlcnR5KCJwcm9wZXJ0eSIpICYmIHR5cGVvZiAob2JqLnByb3BlcnR5KSA9PT0gInVuZGVmaW5lZCI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Function.prototype.bind - F can get own accessor property without a get function","path":"TestCases/ch15/15.3/15.3.4/15.3.4.5/15.3.4.5-6-9.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4zLzE1LjMuNC8xNS4zLjQuNS8xNS4zLjQuNS04LTEuanMNCiAqIEBkZXNjcmlwdGlvbiBGdW5jdGlvbi5wcm90b3R5cGUuYmluZCwgdHlwZSBvZiBib3VuZCBmdW5jdGlvbiBtdXN0IGJlICdmdW5jdGlvbicNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICBmdW5jdGlvbiBmb28oKSB7IH0NCiAgdmFyIG8gPSB7fTsNCiAgDQogIHZhciBiZiA9IGZvby5iaW5kKG8pOw0KICBpZiAodHlwZW9mKGJmKSA9PT0gJ2Z1bmN0aW9uJykgew0KICAgIHJldHVybiAgdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Function.prototype.bind, type of bound function must be 'function'","path":"TestCases/ch15/15.3/15.3.4/15.3.4.5/15.3.4.5-8-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4zLzE1LjMuNC8xNS4zLjQuNS8xNS4zLjQuNS04LTIuanMNCiAqIEBkZXNjcmlwdGlvbiBGdW5jdGlvbi5wcm90b3R5cGUuYmluZCwgW1tDbGFzc11dIG9mIGJvdW5kIGZ1bmN0aW9uIG11c3QgYmUgJ0Z1bmN0aW9uJw0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIGZ1bmN0aW9uIGZvbygpIHsgfQ0KICB2YXIgbyA9IHt9Ow0KICANCiAgdmFyIGJmID0gZm9vLmJpbmQobyk7DQogIHZhciBzID0gT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKGJmKTsNCiAgaWYgKHMgPT09ICdbb2JqZWN0IEZ1bmN0aW9uXScpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Function.prototype.bind, [[Class]] of bound function must be 'Function'","path":"TestCases/ch15/15.3/15.3.4/15.3.4.5/15.3.4.5-8-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4zLzE1LjMuNC8xNS4zLjQuNS8xNS4zLjQuNS05LTEuanMNCiAqIEBkZXNjcmlwdGlvbiBGdW5jdGlvbi5wcm90b3R5cGUuYmluZCwgW1tQcm90b3R5cGVdXSBpcyBGdW5jdGlvbi5wcm90b3R5cGUNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICBmdW5jdGlvbiBmb28oKSB7IH0NCiAgdmFyIG8gPSB7fTsNCiAgDQogIHZhciBiZiA9IGZvby5iaW5kKG8pOw0KICBpZiAoRnVuY3Rpb24ucHJvdG90eXBlLmlzUHJvdG90eXBlT2YoYmYpKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Function.prototype.bind, [[Prototype]] is Function.prototype","path":"TestCases/ch15/15.3/15.3.4/15.3.4.5/15.3.4.5-9-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4zLzE1LjMuNC8xNS4zLjQuNS8xNS4zLjQuNS05LTIuanMNCiAqIEBkZXNjcmlwdGlvbiBGdW5jdGlvbi5wcm90b3R5cGUuYmluZCwgW1tQcm90b3R5cGVdXSBpcyBGdW5jdGlvbi5wcm90b3R5cGUgKHVzaW5nIGdldFByb3RvdHlwZU9mKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIGZ1bmN0aW9uIGZvbygpIHsgfQ0KICB2YXIgbyA9IHt9Ow0KICANCiAgdmFyIGJmID0gZm9vLmJpbmQobyk7DQogIGlmIChPYmplY3QuZ2V0UHJvdG90eXBlT2YoYmYpID09PSBGdW5jdGlvbi5wcm90b3R5cGUpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Function.prototype.bind, [[Prototype]] is Function.prototype (using getPrototypeOf)","path":"TestCases/ch15/15.3/15.3.4/15.3.4.5/15.3.4.5-9-2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMTEgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiAiY2FsbGVyIiBvZiBib3VuZCBmdW5jdGlvbiBpcyBwb2lzb25lZCAoc3RlcCAyMCkKICoKICogQHBhdGggY2gxNS8xNS4zLzE1LjMuNC8xNS4zLjQuNS9TMTUuMy40LjVfQTEuanMKICogQGRlc2NyaXB0aW9uIEEgYm91bmQgZnVuY3Rpb24gc2hvdWxkIGZhaWwgdG8gZmluZCBpdHMgImNhbGxlciIKICogQG5lZ2F0aXZlIFR5cGVFcnJvcgogKi8KCmZ1bmN0aW9uIGZvbygpIHsgcmV0dXJuIGJhci5jYWxsZXI7IH0KdmFyIGJhciA9IGZvby5iaW5kKHt9KTsKZnVuY3Rpb24gYmF6KCkgeyByZXR1cm4gYmFyKCk7IH0KYmF6KCk7Cgo=","commentary":"\"caller\" of bound function is poisoned (step 20)","description":"A bound function should fail to find its \"caller\"","negative":"TypeError","path":"TestCases/ch15/15.3/15.3.4/15.3.4.5/S15.3.4.5_A1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMTEgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBAcGF0aCBjaDE1LzE1LjMvMTUuMy40LzE1LjMuNC41L1MxNS4zLjQuNV9BMTMuanMKICogQGRlc2NyaXB0aW9uIElmIElzQ2FsbGFibGUoZnVuYykgaXMgZmFsc2UsIHRoZW4gdGhyb3cgYSBUeXBlRXJyb3IgZXhjZXB0aW9uLgogKiBAbmVnYXRpdmUgVHlwZUVycm9yCiAqLwoKRnVuY3Rpb24ucHJvdG90eXBlLmJpbmQuY2FsbCh1bmRlZmluZWQsIHt9KTsKCgo=","commentary":"","description":"If IsCallable(func) is false, then throw a TypeError exception.","negative":"TypeError","path":"TestCases/ch15/15.3/15.3.4/15.3.4.5/S15.3.4.5_A13.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMTEgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBAcGF0aCBjaDE1LzE1LjMvMTUuMy40LzE1LjMuNC41L1MxNS4zLjQuNV9BMTQuanMKICogQGRlc2NyaXB0aW9uIElmIElzQ2FsbGFibGUoZnVuYykgaXMgZmFsc2UsIHRoZW4gdGhyb3cgYSBUeXBlRXJyb3IgZXhjZXB0aW9uLgogKiBAbmVnYXRpdmUgVHlwZUVycm9yCiAqLwoKRnVuY3Rpb24ucHJvdG90eXBlLmJpbmQuY2FsbChudWxsLCB7fSk7CgoK","commentary":"","description":"If IsCallable(func) is false, then throw a TypeError exception.","negative":"TypeError","path":"TestCases/ch15/15.3/15.3.4/15.3.4.5/S15.3.4.5_A14.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMTEgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBAcGF0aCBjaDE1LzE1LjMvMTUuMy40LzE1LjMuNC41L1MxNS4zLjQuNV9BMTUuanMKICogQGRlc2NyaXB0aW9uIElmIElzQ2FsbGFibGUoZnVuYykgaXMgZmFsc2UsIHRoZW4gdGhyb3cgYSBUeXBlRXJyb3IgZXhjZXB0aW9uLgogKiBAbmVnYXRpdmUgVHlwZUVycm9yCiAqLwoKRnVuY3Rpb24ucHJvdG90eXBlLmJpbmQuY2FsbCh7fSwge30pOwoKCg==","commentary":"","description":"If IsCallable(func) is false, then throw a TypeError exception.","negative":"TypeError","path":"TestCases/ch15/15.3/15.3.4/15.3.4.5/S15.3.4.5_A15.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMTEgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBJc0NhbGxhYmxlKGZ1bmMpIGlzIGZhbHNlLCB0aGVuIHRocm93IGEgVHlwZUVycm9yIGV4Y2VwdGlvbi4KICoKICogQHBhdGggY2gxNS8xNS4zLzE1LjMuNC8xNS4zLjQuNS9TMTUuMy40LjVfQTE2LmpzCiAqIEBkZXNjcmlwdGlvbiBBIFJlZ0V4cCBpcyBub3QgYSBmdW5jdGlvbiwgYnV0IGl0IG1heSBiZSBjYWxsYWJsZS4gSWZmIGl0IGlzLCBpdCdzIHR5cGVvZiBzaG91bGQgYmUgJ2Z1bmN0aW9uJywgaW4gd2hpY2ggY2FzZSBiaW5kIHNob3VsZCBhY2NlcHQgaXQgYXMgYSB2YWxpZCB0aGlzIHZhbHVlLgogKi8KCnZhciByZSA9ICgveC8pOwppZiAodHlwZW9mIHJlID09PSAnZnVuY3Rpb24nKSB7CiAgRnVuY3Rpb24ucHJvdG90eXBlLmJpbmQuY2FsbChyZSwgdW5kZWZpbmVkKTsKfSBlbHNlIHsKICB0cnkgewogICAgRnVuY3Rpb24ucHJvdG90eXBlLmJpbmQuY2FsbChyZSwgdW5kZWZpbmVkKTsKICAgICRGQUlMKCcjMTogSWYgSXNDYWxsYWJsZShmdW5jKSBpcyBmYWxzZSwgJyArCiAgICAgICAgICAndGhlbiAoYmluZCBzaG91bGQpIHRocm93IGEgVHlwZUVycm9yIGV4Y2VwdGlvbicpOwogIH0gY2F0Y2ggKGUpIHsKICAgIGlmICghKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpKSB7CiAgICAgICRFUlJPUignIzE6IFR5cGVFcnJvciBleHBlY3RlZC4gQWN0dWFsOiAnICsgZSk7CiAgICB9CiAgfQp9Cgo=","commentary":"If IsCallable(func) is false, then throw a TypeError exception.","description":"A RegExp is not a function, but it may be callable. Iff it is, it's typeof should be 'function', in which case bind should accept it as a valid this value.","path":"TestCases/ch15/15.3/15.3.4/15.3.4.5/S15.3.4.5_A16.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMTEgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiAiYXJndW1lbnRzIiBvZiBib3VuZCBmdW5jdGlvbiBpcyBwb2lzb25lZCAoc3RlcCAyMSkKICoKICogQHBhdGggY2gxNS8xNS4zLzE1LjMuNC8xNS4zLjQuNS9TMTUuMy40LjVfQTIuanMKICogQGRlc2NyaXB0aW9uIGEgYm91bmQgZnVuY3Rpb24gc2hvdWxkIGZhaWwgdG8gZmluZCB0aGUgYm91bmQgZnVuY3Rpb24gImFyZ3VtZW50cyIKICogQG5lZ2F0aXZlIFR5cGVFcnJvcgogKi8KCmZ1bmN0aW9uIGZvbygpIHsgcmV0dXJuIGJhci5hcmd1bWVudHM7IH0KdmFyIGJhciA9IGZvby5iaW5kKHt9KTsKZnVuY3Rpb24gYmF6KCkgeyByZXR1cm4gYmFyKCk7IH0KYmF6KCk7Cgo=","commentary":"\"arguments\" of bound function is poisoned (step 21)","description":"a bound function should fail to find the bound function \"arguments\"","negative":"TypeError","path":"TestCases/ch15/15.3/15.3.4/15.3.4.5/S15.3.4.5_A2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMTEgR29vZ2xlIEluYy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBAcGF0aCBjaDE1LzE1LjMvMTUuMy40LzE1LjMuNC41L1MxNS4zLjQuNV9BMy5qcwogKiBAZGVzY3JpcHRpb24gRnVuY3Rpb24ucHJvdG90eXBlLmJpbmQgbXVzdCBleGlzdAogKi8KCmlmICghKCdiaW5kJyBpbiBGdW5jdGlvbi5wcm90b3R5cGUpKSB7CiAgJEVSUk9SKCdGdW5jdGlvbi5wcm90b3R5cGUuYmluZCBpcyBtaXNzaW5nJyk7Cn0KCg==","commentary":"","description":"Function.prototype.bind must exist","path":"TestCases/ch15/15.3/15.3.4/15.3.4.5/S15.3.4.5_A3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMTEgR29vZ2xlIEluYy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBAcGF0aCBjaDE1LzE1LjMvMTUuMy40LzE1LjMuNC41L1MxNS4zLjQuNV9BNC5qcwogKiBAZGVzY3JpcHRpb24gRnVuY3Rpb24ucHJvdG90eXBlLmJpbmQgY2FsbCB0aGUgb3JpZ2luYWwncyBpbnRlcm5hbAogKiBbW0NhbGxdXSBtZXRob2QgcmF0aGVyIHRoYW4gaXRzIC5hcHBseSBtZXRob2QuCiAqLwoKZnVuY3Rpb24gZm9vKCkge30KCnZhciBiID0gZm9vLmJpbmQoMzMsIDQ0KTsKZm9vLmFwcGx5ID0gZnVuY3Rpb24oKSB7CiAgJEVSUk9SKCJGdW5jdGlvbi5wcm90b3R5cGUuYmluZCBjYWxsZWQgb3JpZ2luYWwncyAuYXBwbHkgbWV0aG9kIik7Cn07CmIoNTUsIDY2KTsKCg==","commentary":"","description":"Function.prototype.bind call the original's internal\n[[Call]] method rather than its .apply method.","path":"TestCases/ch15/15.3/15.3.4/15.3.4.5/S15.3.4.5_A4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMTEgR29vZ2xlIEluYy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBAcGF0aCBjaDE1LzE1LjMvMTUuMy40LzE1LjMuNC41L1MxNS4zLjQuNV9BNS5qcwogKiBAZGVzY3JpcHRpb24gRnVuY3Rpb24ucHJvdG90eXBlLmJpbmQgbXVzdCBjdXJyeSBbW0NvbnN0cnVjdF1dIGFzCiAqIHdlbGwgYXMgW1tDYWxsXV0uCiAqLwoKZnVuY3Rpb24gY29uc3RydWN0KGYsIGFyZ3MpIHsKICB2YXIgYm91bmQgPSBGdW5jdGlvbi5wcm90b3R5cGUuYmluZC5hcHBseShmLCBbbnVsbF0uY29uY2F0KGFyZ3MpKTsKICByZXR1cm4gbmV3IGJvdW5kKCk7Cn0KdmFyIGQgPSBjb25zdHJ1Y3QoRGF0ZSwgWzE5NTcsIDQsIDI3XSk7CmlmIChPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwoZCkgIT09ICdbb2JqZWN0IERhdGVdJykgewogICRFUlJPUignVXNpbmcgdGhlIERhdGUgY29uc3RydWN0b3IgdmlhIC5iaW5kIGRpZCBub3QgY3JlYXRlIGEgRGF0ZS4nKTsKfQo=","commentary":"","description":"Function.prototype.bind must curry [[Construct]] as\nwell as [[Call]].","path":"TestCases/ch15/15.3/15.3.4/15.3.4.5/S15.3.4.5_A5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4zLzE1LjMuNC8xNS4zLjQuNS4xLzE1LjMuNC41LjEtNC0xLmpzDQogKiBAZGVzY3JpcHRpb24gW1tDYWxsXV0gLSAnRicncyBbW0JvdW5kQXJnc11dIGlzIHVzZWQgYXMgdGhlIGZvcm1lciBwYXJ0IG9mIGFyZ3VtZW50cyBvZiBjYWxsaW5nIHRoZSBbW0NhbGxdXSBpbnRlcm5hbCBtZXRob2Qgb2YgJ0YnJ3MgW1tUYXJnZXRGdW5jdGlvbl1dIHdoZW4gJ0YnIGlzIGNhbGxlZA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBmdW5jID0gZnVuY3Rpb24gKHgsIHksIHopIHsNCiAgICAgICAgICAgIHJldHVybiB4ICsgeSArIHo7DQogICAgICAgIH07DQoNCiAgICAgICAgdmFyIG5ld0Z1bmMgPSBGdW5jdGlvbi5wcm90b3R5cGUuYmluZC5jYWxsKGZ1bmMsIHt9LCAiYSIsICJiIiwgImMiKTsNCg0KICAgICAgICByZXR1cm4gbmV3RnVuYygpID09PSAiYWJjIjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"[[Call]] - 'F''s [[BoundArgs]] is used as the former part of arguments of calling the [[Call]] internal method of 'F''s [[TargetFunction]] when 'F' is called","path":"TestCases/ch15/15.3/15.3.4/15.3.4.5.1/15.3.4.5.1-4-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4zLzE1LjMuNC8xNS4zLjQuNS4xLzE1LjMuNC41LjEtNC0xMC5qcw0KICogQGRlc2NyaXB0aW9uIFtbQ2FsbF1dIC0gbGVuZ3RoIG9mIHBhcmFtZXRlcnMgb2YgJ3RhcmdldCcgaXMgMSwgbGVuZ3RoIG9mICdib3VuZEFyZ3MnIGlzIDAsIGxlbmd0aCBvZiAnRXh0cmFBcmdzJyBpcyAwLCBhbmQgd2l0aCAnYm91bmRUaGlzJw0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7IHByb3A6ICJhYmMiIH07DQoNCiAgICAgICAgdmFyIGZ1bmMgPSBmdW5jdGlvbiAoeCkgew0KICAgICAgICAgICAgcmV0dXJuIHRoaXMgPT09IG9iaiAmJiB0eXBlb2YgeCA9PT0gInVuZGVmaW5lZCI7DQogICAgICAgIH07DQoNCiAgICAgICAgdmFyIG5ld0Z1bmMgPSBGdW5jdGlvbi5wcm90b3R5cGUuYmluZC5jYWxsKGZ1bmMsIG9iaik7DQoNCiAgICAgICAgcmV0dXJuIG5ld0Z1bmMoKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"[[Call]] - length of parameters of 'target' is 1, length of 'boundArgs' is 0, length of 'ExtraArgs' is 0, and with 'boundThis'","path":"TestCases/ch15/15.3/15.3.4/15.3.4.5.1/15.3.4.5.1-4-10.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4zLzE1LjMuNC8xNS4zLjQuNS4xLzE1LjMuNC41LjEtNC0xMS5qcw0KICogQGRlc2NyaXB0aW9uIFtbQ2FsbF1dIC0gbGVuZ3RoIG9mIHBhcmFtZXRlcnMgb2YgJ3RhcmdldCcgaXMgMSwgbGVuZ3RoIG9mICdib3VuZEFyZ3MnIGlzIDAsIGxlbmd0aCBvZiAnRXh0cmFBcmdzJyBpcyAxLCBhbmQgd2l0aCAnYm91bmRUaGlzJw0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7IHByb3A6ICJhYmMiIH07DQoNCiAgICAgICAgdmFyIGZ1bmMgPSBmdW5jdGlvbiAoeCkgew0KICAgICAgICAgICAgcmV0dXJuIHRoaXMgPT09IG9iaiAmJiB4ID09PSAxICYmIGFyZ3VtZW50c1swXSA9PT0gMSAmJiBhcmd1bWVudHMubGVuZ3RoID09PSAxICYmIHRoaXMucHJvcCA9PT0gImFiYyI7DQogICAgICAgIH07DQoNCiAgICAgICAgdmFyIG5ld0Z1bmMgPSBGdW5jdGlvbi5wcm90b3R5cGUuYmluZC5jYWxsKGZ1bmMsIG9iaik7DQoNCiAgICAgICAgcmV0dXJuIG5ld0Z1bmMoMSk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"[[Call]] - length of parameters of 'target' is 1, length of 'boundArgs' is 0, length of 'ExtraArgs' is 1, and with 'boundThis'","path":"TestCases/ch15/15.3/15.3.4/15.3.4.5.1/15.3.4.5.1-4-11.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4zLzE1LjMuNC8xNS4zLjQuNS4xLzE1LjMuNC41LjEtNC0xMi5qcw0KICogQGRlc2NyaXB0aW9uIFtbQ2FsbF1dIC0gbGVuZ3RoIG9mIHBhcmFtZXRlcnMgb2YgJ3RhcmdldCcgaXMgMSwgbGVuZ3RoIG9mICdib3VuZEFyZ3MnIGlzIDAsIGxlbmd0aCBvZiAnRXh0cmFBcmdzJyBpcyAyLCBhbmQgd2l0aCAnYm91bmRUaGlzJw0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7IHByb3A6ICJhYmMiIH07DQoNCiAgICAgICAgdmFyIGZ1bmMgPSBmdW5jdGlvbiAoeCkgew0KICAgICAgICAgICAgcmV0dXJuIHRoaXMgPT09IG9iaiAmJiB4ID09PSAxICYmIGFyZ3VtZW50c1sxXSA9PT0gMiAmJg0KICAgICAgICAgICAgICAgIGFyZ3VtZW50c1swXSA9PT0gMSAmJiBhcmd1bWVudHMubGVuZ3RoID09PSAyICYmIHRoaXMucHJvcCA9PT0gImFiYyI7DQogICAgICAgIH07DQoNCiAgICAgICAgdmFyIG5ld0Z1bmMgPSBGdW5jdGlvbi5wcm90b3R5cGUuYmluZC5jYWxsKGZ1bmMsIG9iaik7DQoNCiAgICAgICAgcmV0dXJuIG5ld0Z1bmMoMSwgMik7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"[[Call]] - length of parameters of 'target' is 1, length of 'boundArgs' is 0, length of 'ExtraArgs' is 2, and with 'boundThis'","path":"TestCases/ch15/15.3/15.3.4/15.3.4.5.1/15.3.4.5.1-4-12.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4zLzE1LjMuNC8xNS4zLjQuNS4xLzE1LjMuNC41LjEtNC0xMy5qcw0KICogQGRlc2NyaXB0aW9uIFtbQ2FsbF1dIC0gbGVuZ3RoIG9mIHBhcmFtZXRlcnMgb2YgJ3RhcmdldCcgaXMgMSwgbGVuZ3RoIG9mICdib3VuZEFyZ3MnIGlzIDEsIGxlbmd0aCBvZiAnRXh0cmFBcmdzJyBpcyAwLCBhbmQgd2l0aCAnYm91bmRUaGlzJw0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7IHByb3A6ICJhYmMiIH07DQoNCiAgICAgICAgdmFyIGZ1bmMgPSBmdW5jdGlvbiAoeCkgew0KICAgICAgICAgICAgcmV0dXJuIHRoaXMgPT09IG9iaiAmJiB4ID09PSAxICYmDQogICAgICAgICAgICAgICAgYXJndW1lbnRzWzBdID09PSAxICYmIGFyZ3VtZW50cy5sZW5ndGggPT09IDEgJiYgdGhpcy5wcm9wID09PSAiYWJjIjsNCiAgICAgICAgfTsNCg0KICAgICAgICB2YXIgbmV3RnVuYyA9IEZ1bmN0aW9uLnByb3RvdHlwZS5iaW5kLmNhbGwoZnVuYywgb2JqLCAxKTsNCg0KICAgICAgICByZXR1cm4gbmV3RnVuYygpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"[[Call]] - length of parameters of 'target' is 1, length of 'boundArgs' is 1, length of 'ExtraArgs' is 0, and with 'boundThis'","path":"TestCases/ch15/15.3/15.3.4/15.3.4.5.1/15.3.4.5.1-4-13.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4zLzE1LjMuNC8xNS4zLjQuNS4xLzE1LjMuNC41LjEtNC0xNC5qcw0KICogQGRlc2NyaXB0aW9uIFtbQ2FsbF1dIC0gbGVuZ3RoIG9mIHBhcmFtZXRlcnMgb2YgJ3RhcmdldCcgaXMgMSwgbGVuZ3RoIG9mICdib3VuZEFyZ3MnIGlzIDEsIGxlbmd0aCBvZiAnRXh0cmFBcmdzJyBpcyAxLCBhbmQgd2l0aCAnYm91bmRUaGlzJw0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7IHByb3A6ICJhYmMiIH07DQoNCiAgICAgICAgdmFyIGZ1bmMgPSBmdW5jdGlvbiAoeCkgew0KICAgICAgICAgICAgcmV0dXJuIHRoaXMgPT09IG9iaiAmJiB4ID09PSAxICYmIGFyZ3VtZW50c1sxXSA9PT0gMg0KICAgICAgICAgICAgICAgIGFyZ3VtZW50c1swXSA9PT0gMSAmJiBhcmd1bWVudHMubGVuZ3RoID09PSAyICYmIHRoaXMucHJvcCA9PT0gImFiYyI7DQogICAgICAgIH07DQoNCiAgICAgICAgdmFyIG5ld0Z1bmMgPSBGdW5jdGlvbi5wcm90b3R5cGUuYmluZC5jYWxsKGZ1bmMsIG9iaiwgMSk7DQoNCiAgICAgICAgcmV0dXJuIG5ld0Z1bmMoMik7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"[[Call]] - length of parameters of 'target' is 1, length of 'boundArgs' is 1, length of 'ExtraArgs' is 1, and with 'boundThis'","path":"TestCases/ch15/15.3/15.3.4/15.3.4.5.1/15.3.4.5.1-4-14.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4zLzE1LjMuNC8xNS4zLjQuNS4xLzE1LjMuNC41LjEtNC0xNS5qcw0KICogQGRlc2NyaXB0aW9uIFtbQ2FsbF1dIC0gbGVuZ3RoIG9mIHBhcmFtZXRlcnMgb2YgJ3RhcmdldCcgaXMgMSwgbGVuZ3RoIG9mICdib3VuZEFyZ3MnIGlzIDIsIGxlbmd0aCBvZiAnRXh0cmFBcmdzJyBpcyAwLCBhbmQgd2l0aCAnYm91bmRUaGlzJw0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7IHByb3A6ICJhYmMiIH07DQoNCiAgICAgICAgdmFyIGZ1bmMgPSBmdW5jdGlvbiAoeCkgew0KICAgICAgICAgICAgcmV0dXJuIHRoaXMgPT09IG9iaiAmJiB4ID09PSAxICYmIGFyZ3VtZW50c1sxXSA9PT0gMiAmJg0KICAgICAgICAgICAgICAgIGFyZ3VtZW50c1swXSA9PT0gMSAmJiBhcmd1bWVudHMubGVuZ3RoID09PSAyICYmIHRoaXMucHJvcCA9PT0gImFiYyI7DQogICAgICAgIH07DQoNCiAgICAgICAgdmFyIG5ld0Z1bmMgPSBGdW5jdGlvbi5wcm90b3R5cGUuYmluZC5jYWxsKGZ1bmMsIG9iaiwgMSwgMik7DQoNCiAgICAgICAgcmV0dXJuIG5ld0Z1bmMoKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"[[Call]] - length of parameters of 'target' is 1, length of 'boundArgs' is 2, length of 'ExtraArgs' is 0, and with 'boundThis'","path":"TestCases/ch15/15.3/15.3.4/15.3.4.5.1/15.3.4.5.1-4-15.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4zLzE1LjMuNC8xNS4zLjQuNS4xLzE1LjMuNC41LjEtNC0yLmpzDQogKiBAZGVzY3JpcHRpb24gW1tDYWxsXV0gLSAnRicncyBbW0JvdW5kVGhpc11dIGlzIHVzZWQgYXMgdGhlICd0aGlzJyB2YWx1ZSBvZiBjYWxsaW5nIHRoZSBbW0NhbGxdXSBpbnRlcm5hbCBtZXRob2Qgb2YgJ0YnJ3MgW1tUYXJnZXRGdW5jdGlvbl1dIHdoZW4gJ0YnIGlzIGNhbGxlZA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7ICJwcm9wIjogImEiIH07DQoNCiAgICAgICAgdmFyIGZ1bmMgPSBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICByZXR1cm4gdGhpczsNCiAgICAgICAgfTsNCg0KICAgICAgICB2YXIgbmV3RnVuYyA9IEZ1bmN0aW9uLnByb3RvdHlwZS5iaW5kLmNhbGwoZnVuYywgb2JqKTsNCg0KICAgICAgICByZXR1cm4gbmV3RnVuYygpID09PSBvYmo7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"[[Call]] - 'F''s [[BoundThis]] is used as the 'this' value of calling the [[Call]] internal method of 'F''s [[TargetFunction]] when 'F' is called","path":"TestCases/ch15/15.3/15.3.4/15.3.4.5.1/15.3.4.5.1-4-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4zLzE1LjMuNC8xNS4zLjQuNS4xLzE1LjMuNC41LjEtNC0zLmpzDQogKiBAZGVzY3JpcHRpb24gW1tDYWxsXV0gLSB0aGUgcHJvdmlkZWQgYXJndW1lbnRzIGlzIHVzZWQgYXMgdGhlIGxhdHRlciBwYXJ0IG9mIGFyZ3VtZW50cyBvZiBjYWxsaW5nIHRoZSBbW0NhbGxdXSBpbnRlcm5hbCBtZXRob2Qgb2YgJ0YnJ3MgW1tUYXJnZXRGdW5jdGlvbl1dIHdoZW4gJ0YnIGlzIGNhbGxlZA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBmdW5jID0gZnVuY3Rpb24gKHgsIHksIHopIHsNCiAgICAgICAgICAgIHJldHVybiB6Ow0KICAgICAgICB9Ow0KDQogICAgICAgIHZhciBuZXdGdW5jID0gRnVuY3Rpb24ucHJvdG90eXBlLmJpbmQuY2FsbChmdW5jLCB7fSwgImEiLCAiYiIpOw0KDQogICAgICAgIHJldHVybiBuZXdGdW5jKCJjIikgPT09ICJjIjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"[[Call]] - the provided arguments is used as the latter part of arguments of calling the [[Call]] internal method of 'F''s [[TargetFunction]] when 'F' is called","path":"TestCases/ch15/15.3/15.3.4/15.3.4.5.1/15.3.4.5.1-4-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4zLzE1LjMuNC8xNS4zLjQuNS4xLzE1LjMuNC41LjEtNC00LmpzDQogKiBAZGVzY3JpcHRpb24gW1tDYWxsXV0gLSBsZW5ndGggb2YgcGFyYW1ldGVycyBvZiAndGFyZ2V0JyBpcyAwLCBsZW5ndGggb2YgJ2JvdW5kQXJncycgaXMgMCwgbGVuZ3RoIG9mICdFeHRyYUFyZ3MnIGlzIDAsIGFuZCB3aXRob3V0ICdib3VuZFRoaXMnDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIGZ1bmMgPSBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICByZXR1cm4gYXJndW1lbnRzLmxlbmd0aCA9PT0gMDsNCiAgICAgICAgfTsNCg0KICAgICAgICB2YXIgbmV3RnVuYyA9IEZ1bmN0aW9uLnByb3RvdHlwZS5iaW5kLmNhbGwoZnVuYyk7DQoNCiAgICAgICAgcmV0dXJuIG5ld0Z1bmMoKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"[[Call]] - length of parameters of 'target' is 0, length of 'boundArgs' is 0, length of 'ExtraArgs' is 0, and without 'boundThis'","path":"TestCases/ch15/15.3/15.3.4/15.3.4.5.1/15.3.4.5.1-4-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4zLzE1LjMuNC8xNS4zLjQuNS4xLzE1LjMuNC41LjEtNC01LmpzDQogKiBAZGVzY3JpcHRpb24gW1tDYWxsXV0gLSBsZW5ndGggb2YgcGFyYW1ldGVycyBvZiAndGFyZ2V0JyBpcyAwLCBsZW5ndGggb2YgJ2JvdW5kQXJncycgaXMgMCwgbGVuZ3RoIG9mICdFeHRyYUFyZ3MnIGlzIDEsIGFuZCB3aXRob3V0ICdib3VuZFRoaXMnDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIGZ1bmMgPSBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICByZXR1cm4gYXJndW1lbnRzWzBdID09PSAxOw0KICAgICAgICB9Ow0KDQogICAgICAgIHZhciBuZXdGdW5jID0gRnVuY3Rpb24ucHJvdG90eXBlLmJpbmQuY2FsbChmdW5jKTsNCg0KICAgICAgICByZXR1cm4gbmV3RnVuYygxKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"[[Call]] - length of parameters of 'target' is 0, length of 'boundArgs' is 0, length of 'ExtraArgs' is 1, and without 'boundThis'","path":"TestCases/ch15/15.3/15.3.4/15.3.4.5.1/15.3.4.5.1-4-5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4zLzE1LjMuNC8xNS4zLjQuNS4xLzE1LjMuNC41LjEtNC02LmpzDQogKiBAZGVzY3JpcHRpb24gW1tDYWxsXV0gLSBsZW5ndGggb2YgcGFyYW1ldGVycyBvZiAndGFyZ2V0JyBpcyAwLCBsZW5ndGggb2YgJ2JvdW5kQXJncycgaXMgMCwgbGVuZ3RoIG9mICdFeHRyYUFyZ3MnIGlzIDAsIGFuZCB3aXRoICdib3VuZFRoaXMnDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHsgcHJvcDogImFiYyIgfTsNCg0KICAgICAgICB2YXIgZnVuYyA9IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgIHJldHVybiB0aGlzID09PSBvYmogJiYgYXJndW1lbnRzLmxlbmd0aCA9PT0gMDsNCiAgICAgICAgfTsNCg0KICAgICAgICB2YXIgbmV3RnVuYyA9IEZ1bmN0aW9uLnByb3RvdHlwZS5iaW5kLmNhbGwoZnVuYywgb2JqKTsNCg0KICAgICAgICByZXR1cm4gbmV3RnVuYygpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"[[Call]] - length of parameters of 'target' is 0, length of 'boundArgs' is 0, length of 'ExtraArgs' is 0, and with 'boundThis'","path":"TestCases/ch15/15.3/15.3.4/15.3.4.5.1/15.3.4.5.1-4-6.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4zLzE1LjMuNC8xNS4zLjQuNS4xLzE1LjMuNC41LjEtNC03LmpzDQogKiBAZGVzY3JpcHRpb24gW1tDYWxsXV0gLSBsZW5ndGggb2YgcGFyYW1ldGVycyBvZiAndGFyZ2V0JyBpcyAwLCBsZW5ndGggb2YgJ2JvdW5kQXJncycgaXMgMSwgbGVuZ3RoIG9mICdFeHRyYUFyZ3MnIGlzIDAsIGFuZCB3aXRoICdib3VuZFRoaXMnDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHsgcHJvcDogImFiYyIgfTsNCg0KICAgICAgICB2YXIgZnVuYyA9IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgIHJldHVybiB0aGlzID09PSBvYmogJiYgYXJndW1lbnRzWzBdID09PSAxOw0KICAgICAgICB9Ow0KDQogICAgICAgIHZhciBuZXdGdW5jID0gRnVuY3Rpb24ucHJvdG90eXBlLmJpbmQuY2FsbChmdW5jLCBvYmosIDEpOw0KDQogICAgICAgIHJldHVybiBuZXdGdW5jKCk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"[[Call]] - length of parameters of 'target' is 0, length of 'boundArgs' is 1, length of 'ExtraArgs' is 0, and with 'boundThis'","path":"TestCases/ch15/15.3/15.3.4/15.3.4.5.1/15.3.4.5.1-4-7.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4zLzE1LjMuNC8xNS4zLjQuNS4xLzE1LjMuNC41LjEtNC04LmpzDQogKiBAZGVzY3JpcHRpb24gW1tDYWxsXV0gLSBsZW5ndGggb2YgcGFyYW1ldGVycyBvZiAndGFyZ2V0JyBpcyAwLCBsZW5ndGggb2YgJ2JvdW5kQXJncycgaXMgMCwgbGVuZ3RoIG9mICdFeHRyYUFyZ3MnIGlzIDEsIGFuZCB3aXRoICdib3VuZFRoaXMnDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHsgcHJvcDogImFiYyIgfTsNCg0KICAgICAgICB2YXIgZnVuYyA9IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgIHJldHVybiB0aGlzID09PSBvYmogJiYgYXJndW1lbnRzWzBdID09PSAxOw0KICAgICAgICB9Ow0KDQogICAgICAgIHZhciBuZXdGdW5jID0gRnVuY3Rpb24ucHJvdG90eXBlLmJpbmQuY2FsbChmdW5jLCBvYmopOw0KDQogICAgICAgIHJldHVybiBuZXdGdW5jKDEpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"[[Call]] - length of parameters of 'target' is 0, length of 'boundArgs' is 0, length of 'ExtraArgs' is 1, and with 'boundThis'","path":"TestCases/ch15/15.3/15.3.4/15.3.4.5.1/15.3.4.5.1-4-8.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4zLzE1LjMuNC8xNS4zLjQuNS4xLzE1LjMuNC41LjEtNC05LmpzDQogKiBAZGVzY3JpcHRpb24gW1tDYWxsXV0gLSBsZW5ndGggb2YgcGFyYW1ldGVycyBvZiAndGFyZ2V0JyBpcyAwLCBsZW5ndGggb2YgJ2JvdW5kQXJncycgaXMgMSwgbGVuZ3RoIG9mICdFeHRyYUFyZ3MnIGlzIDEsIGFuZCB3aXRoICdib3VuZFRoaXMnDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHsgcHJvcDogImFiYyIgfTsNCg0KICAgICAgICB2YXIgZnVuYyA9IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgIHJldHVybiB0aGlzID09PSBvYmogJiYgYXJndW1lbnRzWzBdID09PSAxICYmIGFyZ3VtZW50c1sxXSA9PT0gMjsNCiAgICAgICAgfTsNCg0KICAgICAgICB2YXIgbmV3RnVuYyA9IEZ1bmN0aW9uLnByb3RvdHlwZS5iaW5kLmNhbGwoZnVuYywgb2JqLCAxKTsNCg0KICAgICAgICByZXR1cm4gbmV3RnVuYygyKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"[[Call]] - length of parameters of 'target' is 0, length of 'boundArgs' is 1, length of 'ExtraArgs' is 1, and with 'boundThis'","path":"TestCases/ch15/15.3/15.3.4/15.3.4.5.1/15.3.4.5.1-4-9.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4zLzE1LjMuNC8xNS4zLjQuNS4yLzE1LjMuNC41LjItNC0xLmpzDQogKiBAZGVzY3JpcHRpb24gW1tDb25zdHJ1Y3RdXSAtICdGJydzIFtbQm91bmRBcmdzXV0gaXMgdXNlZCBhcyB0aGUgZm9ybWVyIHBhcnQgb2YgYXJndW1lbnRzIG9mIGNhbGxpbmcgdGhlIFtbQ29uc3RydWN0XV0gaW50ZXJuYWwgbWV0aG9kIG9mICdGJydzIFtbVGFyZ2V0RnVuY3Rpb25dXSB3aGVuICdGJyBpcyBjYWxsZWQgYXMgY29uc3RydWN0b3INCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgZnVuYyA9IGZ1bmN0aW9uICh4LCB5LCB6KSB7DQogICAgICAgICAgICB2YXIgb2JqUmVzdWx0ID0ge307DQogICAgICAgICAgICBvYmpSZXN1bHQucmV0dXJuVmFsdWUgPSB4ICsgeSArIHo7DQogICAgICAgICAgICBvYmpSZXN1bHQucmV0dXJuVmVyaWZ5UmVzdWx0ID0gYXJndW1lbnRzWzBdID09PSAiYSIgJiYgYXJndW1lbnRzLmxlbmd0aCA9PT0gMzsNCiAgICAgICAgICAgIHJldHVybiBvYmpSZXN1bHQ7DQogICAgICAgIH07DQoNCiAgICAgICAgdmFyIE5ld0Z1bmMgPSBGdW5jdGlvbi5wcm90b3R5cGUuYmluZC5jYWxsKGZ1bmMsIHt9LCAiYSIsICJiIiwgImMiKTsNCg0KICAgICAgICB2YXIgbmV3SW5zdGFuY2UgPSBuZXcgTmV3RnVuYygpOw0KDQogICAgICAgIHJldHVybiBuZXdJbnN0YW5jZS5oYXNPd25Qcm9wZXJ0eSgicmV0dXJuVmFsdWUiKSAmJiBuZXdJbnN0YW5jZS5yZXR1cm5WYWx1ZSA9PT0gImFiYyIgJiYNCiAgICAgICAgICAgIG5ld0luc3RhbmNlLmhhc093blByb3BlcnR5KCJyZXR1cm5WZXJpZnlSZXN1bHQiKSAmJiBuZXdJbnN0YW5jZS5yZXR1cm5WZXJpZnlSZXN1bHQgPT09IHRydWU7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"[[Construct]] - 'F''s [[BoundArgs]] is used as the former part of arguments of calling the [[Construct]] internal method of 'F''s [[TargetFunction]] when 'F' is called as constructor","path":"TestCases/ch15/15.3/15.3.4/15.3.4.5.2/15.3.4.5.2-4-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4zLzE1LjMuNC8xNS4zLjQuNS4yLzE1LjMuNC41LjItNC0xMC5qcw0KICogQGRlc2NyaXB0aW9uIFtbQ29uc3RydWN0XV0gLSBsZW5ndGggb2YgcGFyYW1ldGVycyBvZiAndGFyZ2V0JyBpcyAxLCBsZW5ndGggb2YgJ2JvdW5kQXJncycgaXMgMCwgbGVuZ3RoIG9mICdFeHRyYUFyZ3MnIGlzIDENCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgZnVuYyA9IGZ1bmN0aW9uICh4KSB7DQogICAgICAgICAgICByZXR1cm4gbmV3IEJvb2xlYW4oYXJndW1lbnRzLmxlbmd0aCA9PT0gMSAmJiB4ID09PSAxICYmIGFyZ3VtZW50c1swXSA9PT0gMSk7DQogICAgICAgIH07DQoNCiAgICAgICAgdmFyIE5ld0Z1bmMgPSBGdW5jdGlvbi5wcm90b3R5cGUuYmluZC5jYWxsKGZ1bmMsIHt9KTsNCg0KICAgICAgICB2YXIgbmV3SW5zdGFuY2UgPSBuZXcgTmV3RnVuYygxKTsNCg0KICAgICAgICByZXR1cm4gbmV3SW5zdGFuY2UudmFsdWVPZigpID09PSB0cnVlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"[[Construct]] - length of parameters of 'target' is 1, length of 'boundArgs' is 0, length of 'ExtraArgs' is 1","path":"TestCases/ch15/15.3/15.3.4/15.3.4.5.2/15.3.4.5.2-4-10.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4zLzE1LjMuNC8xNS4zLjQuNS4yLzE1LjMuNC41LjItNC0xMS5qcw0KICogQGRlc2NyaXB0aW9uIFtbQ29uc3RydWN0XV0gLSBsZW5ndGggb2YgcGFyYW1ldGVycyBvZiAndGFyZ2V0JyBpcyAxLCBsZW5ndGggb2YgJ2JvdW5kQXJncycgaXMgMCwgbGVuZ3RoIG9mICdFeHRyYUFyZ3MnIGlzIDINCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgZnVuYyA9IGZ1bmN0aW9uICh4KSB7DQogICAgICAgICAgICByZXR1cm4gbmV3IEJvb2xlYW4oYXJndW1lbnRzLmxlbmd0aCA9PT0gMiAmJiB4ID09PSAxICYmIGFyZ3VtZW50c1sxXSA9PT0gMiAmJiBhcmd1bWVudHNbMF0gPT09IDEpOw0KICAgICAgICB9Ow0KDQogICAgICAgIHZhciBOZXdGdW5jID0gRnVuY3Rpb24ucHJvdG90eXBlLmJpbmQuY2FsbChmdW5jLCB7fSk7DQoNCiAgICAgICAgdmFyIG5ld0luc3RhbmNlID0gbmV3IE5ld0Z1bmMoMSwgMik7DQoNCiAgICAgICAgcmV0dXJuIG5ld0luc3RhbmNlLnZhbHVlT2YoKSA9PT0gdHJ1ZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"[[Construct]] - length of parameters of 'target' is 1, length of 'boundArgs' is 0, length of 'ExtraArgs' is 2","path":"TestCases/ch15/15.3/15.3.4/15.3.4.5.2/15.3.4.5.2-4-11.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4zLzE1LjMuNC8xNS4zLjQuNS4yLzE1LjMuNC41LjItNC0xMi5qcw0KICogQGRlc2NyaXB0aW9uIFtbQ29uc3RydWN0XV0gLSBsZW5ndGggb2YgcGFyYW1ldGVycyBvZiAndGFyZ2V0JyBpcyAxLCBsZW5ndGggb2YgJ2JvdW5kQXJncycgaXMgMSwgbGVuZ3RoIG9mICdFeHRyYUFyZ3MnIGlzIDANCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgZnVuYyA9IGZ1bmN0aW9uICh4KSB7DQogICAgICAgICAgICByZXR1cm4gbmV3IEJvb2xlYW4oYXJndW1lbnRzLmxlbmd0aCA9PT0gMSAmJiB4ID09PSAxICYmIGFyZ3VtZW50c1swXSA9PT0gMSk7DQogICAgICAgIH07DQoNCiAgICAgICAgdmFyIE5ld0Z1bmMgPSBGdW5jdGlvbi5wcm90b3R5cGUuYmluZC5jYWxsKGZ1bmMsIHt9LCAxKTsNCg0KICAgICAgICB2YXIgbmV3SW5zdGFuY2UgPSBuZXcgTmV3RnVuYygpOw0KDQogICAgICAgIHJldHVybiBuZXdJbnN0YW5jZS52YWx1ZU9mKCkgPT09IHRydWU7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"[[Construct]] - length of parameters of 'target' is 1, length of 'boundArgs' is 1, length of 'ExtraArgs' is 0","path":"TestCases/ch15/15.3/15.3.4/15.3.4.5.2/15.3.4.5.2-4-12.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4zLzE1LjMuNC8xNS4zLjQuNS4yLzE1LjMuNC41LjItNC0xMy5qcw0KICogQGRlc2NyaXB0aW9uIFtbQ29uc3RydWN0XV0gLSBsZW5ndGggb2YgcGFyYW1ldGVycyBvZiAndGFyZ2V0JyBpcyAxLCBsZW5ndGggb2YgJ2JvdW5kQXJncycgaXMgMSwgbGVuZ3RoIG9mICdFeHRyYUFyZ3MnIGlzIDENCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgZnVuYyA9IGZ1bmN0aW9uICh4KSB7DQogICAgICAgICAgICByZXR1cm4gbmV3IEJvb2xlYW4oYXJndW1lbnRzLmxlbmd0aCA9PT0gMiAmJiB4ID09PSAxICYmIGFyZ3VtZW50c1sxXSA9PT0gMiAmJiBhcmd1bWVudHNbMF0gPT09IDEpOw0KICAgICAgICB9Ow0KDQogICAgICAgIHZhciBOZXdGdW5jID0gRnVuY3Rpb24ucHJvdG90eXBlLmJpbmQuY2FsbChmdW5jLCB7fSwgMSk7DQoNCiAgICAgICAgdmFyIG5ld0luc3RhbmNlID0gbmV3IE5ld0Z1bmMoMik7DQoNCiAgICAgICAgcmV0dXJuIG5ld0luc3RhbmNlLnZhbHVlT2YoKSA9PT0gdHJ1ZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"[[Construct]] - length of parameters of 'target' is 1, length of 'boundArgs' is 1, length of 'ExtraArgs' is 1","path":"TestCases/ch15/15.3/15.3.4/15.3.4.5.2/15.3.4.5.2-4-13.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4zLzE1LjMuNC8xNS4zLjQuNS4yLzE1LjMuNC41LjItNC0xNC5qcw0KICogQGRlc2NyaXB0aW9uIFtbQ29uc3RydWN0XV0gLSBsZW5ndGggb2YgcGFyYW1ldGVycyBvZiAndGFyZ2V0JyBpcyAxLCBsZW5ndGggb2YgJ2JvdW5kQXJncycgaXMgMiwgbGVuZ3RoIG9mICdFeHRyYUFyZ3MnIGlzIDANCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgZnVuYyA9IGZ1bmN0aW9uICh4KSB7DQogICAgICAgICAgICByZXR1cm4gbmV3IEJvb2xlYW4oYXJndW1lbnRzLmxlbmd0aCA9PT0gMiAmJiB4ID09PSAxICYmIGFyZ3VtZW50c1sxXSA9PT0gMiAmJiBhcmd1bWVudHNbMF0gPT09IDEpOw0KICAgICAgICB9Ow0KDQogICAgICAgIHZhciBOZXdGdW5jID0gRnVuY3Rpb24ucHJvdG90eXBlLmJpbmQuY2FsbChmdW5jLCB7fSwgMSwgMik7DQoNCiAgICAgICAgdmFyIG5ld0luc3RhbmNlID0gbmV3IE5ld0Z1bmMoKTsNCg0KICAgICAgICByZXR1cm4gbmV3SW5zdGFuY2UudmFsdWVPZigpID09PSB0cnVlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"[[Construct]] - length of parameters of 'target' is 1, length of 'boundArgs' is 2, length of 'ExtraArgs' is 0","path":"TestCases/ch15/15.3/15.3.4/15.3.4.5.2/15.3.4.5.2-4-14.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4zLzE1LjMuNC8xNS4zLjQuNS4yLzE1LjMuNC41LjItNC0yLmpzDQogKiBAZGVzY3JpcHRpb24gW1tDb25zdHJ1Y3RdXSAtIHRoZSBwcm92aWRlZCBhcmd1bWVudHMgaXMgdXNlZCBhcyB0aGUgbGF0dGVyIHBhcnQgb2YgYXJndW1lbnRzIG9mIGNhbGxpbmcgdGhlIFtbQ29uc3RydWN0XV0gaW50ZXJuYWwgbWV0aG9kIG9mICdGJydzIFtbVGFyZ2V0RnVuY3Rpb25dXSB3aGVuICdGJyBpcyBjYWxsZWQgYXMgY29uc3RydWN0b3INCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgZnVuYyA9IGZ1bmN0aW9uICh4LCB5LCB6KSB7DQogICAgICAgICAgICB2YXIgb2JqUmVzdWx0ID0ge307DQogICAgICAgICAgICBvYmpSZXN1bHQucmV0dXJuVmFsdWUgPSB4ICsgeSArIHo7DQogICAgICAgICAgICBvYmpSZXN1bHQucmV0dXJuVmVyaWZ5UmVzdWx0ID0gYXJndW1lbnRzWzBdID09PSAiYSIgJiYgYXJndW1lbnRzLmxlbmd0aCA9PT0gMzsNCiAgICAgICAgICAgIHJldHVybiBvYmpSZXN1bHQ7DQogICAgICAgIH07DQoNCiAgICAgICAgdmFyIE5ld0Z1bmMgPSBGdW5jdGlvbi5wcm90b3R5cGUuYmluZC5jYWxsKGZ1bmMsIHt9KTsNCg0KICAgICAgICB2YXIgbmV3SW5zdGFuY2UgPSBuZXcgTmV3RnVuYygiYSIsICJiIiwgImMiKTsNCg0KICAgICAgICByZXR1cm4gbmV3SW5zdGFuY2UuaGFzT3duUHJvcGVydHkoInJldHVyblZhbHVlIikgJiYgbmV3SW5zdGFuY2UucmV0dXJuVmFsdWUgPT09ICJhYmMiICYmDQogICAgICAgICAgICBuZXdJbnN0YW5jZS5oYXNPd25Qcm9wZXJ0eSgicmV0dXJuVmVyaWZ5UmVzdWx0IikgJiYgbmV3SW5zdGFuY2UucmV0dXJuVmVyaWZ5UmVzdWx0ID09PSB0cnVlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"[[Construct]] - the provided arguments is used as the latter part of arguments of calling the [[Construct]] internal method of 'F''s [[TargetFunction]] when 'F' is called as constructor","path":"TestCases/ch15/15.3/15.3.4/15.3.4.5.2/15.3.4.5.2-4-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4zLzE1LjMuNC8xNS4zLjQuNS4yLzE1LjMuNC41LjItNC0zLmpzDQogKiBAZGVzY3JpcHRpb24gW1tDb25zdHJ1Y3RdXSAtIGxlbmd0aCBvZiBwYXJhbWV0ZXJzIG9mICd0YXJnZXQnIGlzIDAsIGxlbmd0aCBvZiAnYm91bmRBcmdzJyBpcyAwLCBsZW5ndGggb2YgJ0V4dHJhQXJncycgaXMgMCwgYW5kIHdpdGhvdXQgJ2JvdW5kVGhpcycNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgZnVuYyA9IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgIHJldHVybiBuZXcgQm9vbGVhbihhcmd1bWVudHMubGVuZ3RoID09PSAwKTsNCiAgICAgICAgfTsNCg0KICAgICAgICB2YXIgTmV3RnVuYyA9IEZ1bmN0aW9uLnByb3RvdHlwZS5iaW5kLmNhbGwoZnVuYyk7DQoNCiAgICAgICAgdmFyIG5ld0luc3RhbmNlID0gbmV3IE5ld0Z1bmMoKTsNCg0KICAgICAgICByZXR1cm4gbmV3SW5zdGFuY2UudmFsdWVPZigpID09PSB0cnVlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"[[Construct]] - length of parameters of 'target' is 0, length of 'boundArgs' is 0, length of 'ExtraArgs' is 0, and without 'boundThis'","path":"TestCases/ch15/15.3/15.3.4/15.3.4.5.2/15.3.4.5.2-4-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4zLzE1LjMuNC8xNS4zLjQuNS4yLzE1LjMuNC41LjItNC00LmpzDQogKiBAZGVzY3JpcHRpb24gW1tDb25zdHJ1Y3RdXSAtIGxlbmd0aCBvZiBwYXJhbWV0ZXJzIG9mICd0YXJnZXQnIGlzIDAsIGxlbmd0aCBvZiAnYm91bmRBcmdzJyBpcyAwLCBsZW5ndGggb2YgJ0V4dHJhQXJncycgaXMgMSwgYW5kIHdpdGhvdXQgJ2JvdW5kVGhpcycNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgZnVuYyA9IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgIHJldHVybiBuZXcgQm9vbGVhbihhcmd1bWVudHNbMF0gPT09IDEgJiYgYXJndW1lbnRzLmxlbmd0aCA9PT0gMSk7DQogICAgICAgIH07DQoNCiAgICAgICAgdmFyIE5ld0Z1bmMgPSBGdW5jdGlvbi5wcm90b3R5cGUuYmluZC5jYWxsKGZ1bmMpOw0KDQogICAgICAgIHZhciBuZXdJbnN0YW5jZSA9IG5ldyBOZXdGdW5jKDEpOw0KDQogICAgICAgIHJldHVybiBuZXdJbnN0YW5jZS52YWx1ZU9mKCkgPT09IHRydWU7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"[[Construct]] - length of parameters of 'target' is 0, length of 'boundArgs' is 0, length of 'ExtraArgs' is 1, and without 'boundThis'","path":"TestCases/ch15/15.3/15.3.4/15.3.4.5.2/15.3.4.5.2-4-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4zLzE1LjMuNC8xNS4zLjQuNS4yLzE1LjMuNC41LjItNC01LmpzDQogKiBAZGVzY3JpcHRpb24gW1tDb25zdHJ1Y3RdXSAtIGxlbmd0aCBvZiBwYXJhbWV0ZXJzIG9mICd0YXJnZXQnIGlzIDAsIGxlbmd0aCBvZiAnYm91bmRBcmdzJyBpcyAwLCBsZW5ndGggb2YgJ0V4dHJhQXJncycgaXMgMCwgYW5kIHdpdGggJ2JvdW5kVGhpcycNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0geyBwcm9wOiAiYWJjIiB9Ow0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QucHJvdG90eXBlLnZlcmlmeVRoaXMgPSAidmVyaWZ5VGhpcyI7DQogICAgICAgICAgICB2YXIgZnVuYyA9IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gbmV3IEJvb2xlYW4oYXJndW1lbnRzLmxlbmd0aCA9PT0gMCAmJiBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwodGhpcykgPT09ICJbb2JqZWN0IE9iamVjdF0iICYmDQogICAgICAgICAgICAgICAgICAgIHRoaXMudmVyaWZ5VGhpcyA9PT0gInZlcmlmeVRoaXMiKTsNCiAgICAgICAgICAgIH07DQoNCiAgICAgICAgICAgIHZhciBOZXdGdW5jID0gRnVuY3Rpb24ucHJvdG90eXBlLmJpbmQuY2FsbChmdW5jLCBvYmopOw0KDQogICAgICAgICAgICB2YXIgbmV3SW5zdGFuY2UgPSBuZXcgTmV3RnVuYygpOw0KDQogICAgICAgICAgICByZXR1cm4gbmV3SW5zdGFuY2UudmFsdWVPZigpOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIE9iamVjdC5wcm90b3R5cGUudmVyaWZ5VGhpczsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"[[Construct]] - length of parameters of 'target' is 0, length of 'boundArgs' is 0, length of 'ExtraArgs' is 0, and with 'boundThis'","path":"TestCases/ch15/15.3/15.3.4/15.3.4.5.2/15.3.4.5.2-4-5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4zLzE1LjMuNC8xNS4zLjQuNS4yLzE1LjMuNC41LjItNC02LmpzDQogKiBAZGVzY3JpcHRpb24gW1tDb25zdHJ1Y3RdXSAtIGxlbmd0aCBvZiBwYXJhbWV0ZXJzIG9mICd0YXJnZXQnIGlzIDAsIGxlbmd0aCBvZiAnYm91bmRBcmdzJyBpcyAxLCBsZW5ndGggb2YgJ0V4dHJhQXJncycgaXMgMA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBmdW5jID0gZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgcmV0dXJuIG5ldyBCb29sZWFuKGFyZ3VtZW50cy5sZW5ndGggPT09IDEgJiYgYXJndW1lbnRzWzBdID09PSAxKTsNCiAgICAgICAgfTsNCg0KICAgICAgICB2YXIgTmV3RnVuYyA9IEZ1bmN0aW9uLnByb3RvdHlwZS5iaW5kLmNhbGwoZnVuYywge30sIDEpOw0KDQogICAgICAgIHZhciBuZXdJbnN0YW5jZSA9IG5ldyBOZXdGdW5jKCk7DQoNCiAgICAgICAgcmV0dXJuIG5ld0luc3RhbmNlLnZhbHVlT2YoKSA9PT0gdHJ1ZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"[[Construct]] - length of parameters of 'target' is 0, length of 'boundArgs' is 1, length of 'ExtraArgs' is 0","path":"TestCases/ch15/15.3/15.3.4/15.3.4.5.2/15.3.4.5.2-4-6.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4zLzE1LjMuNC8xNS4zLjQuNS4yLzE1LjMuNC41LjItNC03LmpzDQogKiBAZGVzY3JpcHRpb24gW1tDb25zdHJ1Y3RdXSAtIGxlbmd0aCBvZiBwYXJhbWV0ZXJzIG9mICd0YXJnZXQnIGlzIDAsIGxlbmd0aCBvZiAnYm91bmRBcmdzJyBpcyAwLCBsZW5ndGggb2YgJ0V4dHJhQXJncycgaXMgMQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBmdW5jID0gZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgcmV0dXJuIG5ldyBCb29sZWFuKGFyZ3VtZW50cy5sZW5ndGggPT09IDEgJiYgYXJndW1lbnRzWzBdID09PSAxKTsNCiAgICAgICAgfTsNCg0KICAgICAgICB2YXIgTmV3RnVuYyA9IEZ1bmN0aW9uLnByb3RvdHlwZS5iaW5kLmNhbGwoZnVuYywge30pOw0KDQogICAgICAgIHZhciBuZXdJbnN0YW5jZSA9IG5ldyBOZXdGdW5jKDEpOw0KDQogICAgICAgIHJldHVybiBuZXdJbnN0YW5jZS52YWx1ZU9mKCkgPT09IHRydWU7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"[[Construct]] - length of parameters of 'target' is 0, length of 'boundArgs' is 0, length of 'ExtraArgs' is 1","path":"TestCases/ch15/15.3/15.3.4/15.3.4.5.2/15.3.4.5.2-4-7.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4zLzE1LjMuNC8xNS4zLjQuNS4yLzE1LjMuNC41LjItNC04LmpzDQogKiBAZGVzY3JpcHRpb24gW1tDb25zdHJ1Y3RdXSAtIGxlbmd0aCBvZiBwYXJhbWV0ZXJzIG9mICd0YXJnZXQnIGlzIDAsIGxlbmd0aCBvZiAnYm91bmRBcmdzJyBpcyAxLCBsZW5ndGggb2YgJ0V4dHJhQXJncycgaXMgMQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBmdW5jID0gZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgcmV0dXJuIG5ldyBCb29sZWFuKGFyZ3VtZW50cy5sZW5ndGggPT09IDIgJiYgYXJndW1lbnRzWzBdID09PSAxICYmIGFyZ3VtZW50c1sxXSA9PT0gMik7DQogICAgICAgIH07DQoNCiAgICAgICAgdmFyIE5ld0Z1bmMgPSBGdW5jdGlvbi5wcm90b3R5cGUuYmluZC5jYWxsKGZ1bmMsIHt9LCAxKTsNCg0KICAgICAgICB2YXIgbmV3SW5zdGFuY2UgPSBuZXcgTmV3RnVuYygyKTsNCg0KICAgICAgICByZXR1cm4gbmV3SW5zdGFuY2UudmFsdWVPZigpID09PSB0cnVlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"[[Construct]] - length of parameters of 'target' is 0, length of 'boundArgs' is 1, length of 'ExtraArgs' is 1","path":"TestCases/ch15/15.3/15.3.4/15.3.4.5.2/15.3.4.5.2-4-8.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4zLzE1LjMuNC8xNS4zLjQuNS4yLzE1LjMuNC41LjItNC05LmpzDQogKiBAZGVzY3JpcHRpb24gW1tDb25zdHJ1Y3RdXSAtIGxlbmd0aCBvZiBwYXJhbWV0ZXJzIG9mICd0YXJnZXQnIGlzIDEsIGxlbmd0aCBvZiAnYm91bmRBcmdzJyBpcyAwLCBsZW5ndGggb2YgJ0V4dHJhQXJncycgaXMgMA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBmdW5jID0gZnVuY3Rpb24gKHgpIHsNCiAgICAgICAgICAgIHJldHVybiBuZXcgQm9vbGVhbihhcmd1bWVudHMubGVuZ3RoID09PSAwICYmIHR5cGVvZiB4ID09PSAidW5kZWZpbmVkIik7DQogICAgICAgIH07DQoNCiAgICAgICAgdmFyIE5ld0Z1bmMgPSBGdW5jdGlvbi5wcm90b3R5cGUuYmluZC5jYWxsKGZ1bmMsIHt9KTsNCg0KICAgICAgICB2YXIgbmV3SW5zdGFuY2UgPSBuZXcgTmV3RnVuYygpOw0KDQogICAgICAgIHJldHVybiBuZXdJbnN0YW5jZS52YWx1ZU9mKCkgPT09IHRydWU7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"[[Construct]] - length of parameters of 'target' is 1, length of 'boundArgs' is 0, length of 'ExtraArgs' is 0","path":"TestCases/ch15/15.3/15.3.4/15.3.4.5.2/15.3.4.5.2-4-9.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4zLzE1LjMuNS8xNS4zLjUtMWdzLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0TW9kZSAtIGVycm9yIGlzIHRocm93biB3aGVuIHJlYWRpbmcgdGhlICdjYWxsZXInIHByb3BlcnR5IG9mIGEgZnVuY3Rpb24gb2JqZWN0DQogKiBAb25seVN0cmljdA0KICogQG5lZ2F0aXZlIE5vdEVhcmx5RXJyb3INCiAqLw0KDQoidXNlIHN0cmljdCI7DQpmdW5jdGlvbiBfMTVfM181XzFfZ3MoKSB7fQ0KdGhyb3cgTm90RWFybHlFcnJvcjsNCl8xNV8zXzVfMV9ncy5jYWxsZXI7DQoNCg==","commentary":"","description":"StrictMode - error is thrown when reading the 'caller' property of a function object","negative":"NotEarlyError","onlyStrict":"","path":"TestCases/ch15/15.3/15.3.5/15.3.5-1gs.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4zLzE1LjMuNS8xNS4zLjUtMmdzLmpzDQogKiBAZGVzY3JpcHRpb24gU3RyaWN0TW9kZSAtIGVycm9yIGlzIHRocm93biB3aGVuIHJlYWRpbmcgdGhlICdjYWxsZXInIHByb3BlcnR5IG9mIGEgZnVuY3Rpb24gb2JqZWN0DQogKiBAb25seVN0cmljdA0KICogQG5lZ2F0aXZlIF4oKD8hTm90RWFybHlFcnJvcikuKSokDQogKi8NCg0KInVzZSBzdHJpY3QiOw0KZnVuY3Rpb24gXzE1XzNfNV8xX2dzKCkge30NCl8xNV8zXzVfMV9ncy5jYWxsZXI7DQp0aHJvdyBOb3RFYXJseUVycm9yOw0K","commentary":"","description":"StrictMode - error is thrown when reading the 'caller' property of a function object","negative":"^((?!NotEarlyError).)*$","onlyStrict":"","path":"TestCases/ch15/15.3/15.3.5/15.3.5-2gs.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgdmFsdWUgb2YgdGhlIGxlbmd0aCBwcm9wZXJ0eSBpcyB1c3VhbGx5IGFuIGludGVnZXIgdGhhdCBpbmRpY2F0ZXMgdGhlICd0eXBpY2FsJyBudW1iZXIgb2YgYXJndW1lbnRzIGV4cGVjdGVkIGJ5IHRoZSBmdW5jdGlvbgogKgogKiBAcGF0aCBjaDE1LzE1LjMvMTUuMy41L1MxNS4zLjUuMV9BMV9UMS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgbGVuZ3RoIHByb3BlcnR5IG9mIEZ1bmN0aW9uKCJhcmcxLGFyZzIsYXJnMyIsIG51bGwpCiAqLwoKZiA9IG5ldyBGdW5jdGlvbigiYXJnMSxhcmcyLGFyZzMiLCBudWxsKTsKCi8vQ0hFQ0sjMQppZiAoIShmLmhhc093blByb3BlcnR5KCdsZW5ndGgnKSkpIHsKICAkRkFJTCgnIzE6IHRoZSBmdW5jdGlvbiBoYXMgbGVuZ3RoIHByb3BlcnR5LicpOwp9CgovL0NIRUNLIzIKaWYgKGYubGVuZ3RoICE9PSAzKSB7CiAgJEVSUk9SKCcjMjogVGhlIHZhbHVlIG9mIHRoZSBsZW5ndGggcHJvcGVydHkgaXMgdXN1YWxseSBhbiBpbnRlZ2VyIHRoYXQgaW5kaWNhdGVzIHRoZSAidHlwaWNhbCIgbnVtYmVyIG9mIGFyZ3VtZW50cyBleHBlY3RlZCBieSB0aGUgZnVuY3Rpb24nKTsKfQoK","commentary":"The value of the length property is usually an integer that indicates the 'typical' number of arguments expected by the function","description":"Checking length property of Function(\"arg1,arg2,arg3\", null)","path":"TestCases/ch15/15.3/15.3.5/S15.3.5.1_A1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgdmFsdWUgb2YgdGhlIGxlbmd0aCBwcm9wZXJ0eSBpcyB1c3VhbGx5IGFuIGludGVnZXIgdGhhdCBpbmRpY2F0ZXMgdGhlICd0eXBpY2FsJyBudW1iZXIgb2YgYXJndW1lbnRzIGV4cGVjdGVkIGJ5IHRoZSBmdW5jdGlvbgogKgogKiBAcGF0aCBjaDE1LzE1LjMvMTUuMy41L1MxNS4zLjUuMV9BMV9UMi5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgbGVuZ3RoIHByb3BlcnR5IG9mIEZ1bmN0aW9uKCJhcmcxLGFyZzIsYXJnMyIsImFyZzQsYXJnNSIsIG51bGwpCiAqLwoKZiA9IEZ1bmN0aW9uKCJhcmcxLGFyZzIsYXJnMyIsImFyZzQsYXJnNSIsIG51bGwpOwoKLy9DSEVDSyMxCmlmICghKGYuaGFzT3duUHJvcGVydHkoJ2xlbmd0aCcpKSkgewogICRGQUlMKCcjMTogdGhlIGZ1bmN0aW9uIGhhcyBsZW5ndGggcHJvcGVydHkuJyk7Cn0KCi8vQ0hFQ0sjMgppZiAoZi5sZW5ndGggIT09IDUpIHsKICAkRVJST1IoJyMyOiBUaGUgdmFsdWUgb2YgdGhlIGxlbmd0aCBwcm9wZXJ0eSBpcyB1c3VhbGx5IGFuIGludGVnZXIgdGhhdCBpbmRpY2F0ZXMgdGhlICJ0eXBpY2FsIiBudW1iZXIgb2YgYXJndW1lbnRzIGV4cGVjdGVkIGJ5IHRoZSBmdW5jdGlvbicpOwp9Cgo=","commentary":"The value of the length property is usually an integer that indicates the 'typical' number of arguments expected by the function","description":"Checking length property of Function(\"arg1,arg2,arg3\",\"arg4,arg5\", null)","path":"TestCases/ch15/15.3/15.3.5/S15.3.5.1_A1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgdmFsdWUgb2YgdGhlIGxlbmd0aCBwcm9wZXJ0eSBpcyB1c3VhbGx5IGFuIGludGVnZXIgdGhhdCBpbmRpY2F0ZXMgdGhlICd0eXBpY2FsJyBudW1iZXIgb2YgYXJndW1lbnRzIGV4cGVjdGVkIGJ5IHRoZSBmdW5jdGlvbgogKgogKiBAcGF0aCBjaDE1LzE1LjMvMTUuMy41L1MxNS4zLjUuMV9BMV9UMy5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgbGVuZ3RoIHByb3BlcnR5IG9mIEZ1bmN0aW9uKCJhcmcxLGFyZzIsYXJnMyIsImFyZzEsYXJnMiIsImFyZzMiLCBudWxsKQogKi8KCmYgPSBuZXcgRnVuY3Rpb24oImFyZzEsYXJnMixhcmczIiwiYXJnMSxhcmcyIiwiYXJnMyIsIG51bGwpOwoKLy9DSEVDSyMxCmlmICghKGYuaGFzT3duUHJvcGVydHkoJ2xlbmd0aCcpKSkgewogICRGQUlMKCcjMTogdGhlIGZ1bmN0aW9uIGhhcyBsZW5ndGggcHJvcGVydHkuJyk7Cn0KCi8vQ0hFQ0sjMgppZiAoZi5sZW5ndGggIT09IDYpIHsKICAkRVJST1IoJyMyOiBUaGUgdmFsdWUgb2YgdGhlIGxlbmd0aCBwcm9wZXJ0eSBpcyB1c3VhbGx5IGFuIGludGVnZXIgdGhhdCBpbmRpY2F0ZXMgdGhlICJ0eXBpY2FsIiBudW1iZXIgb2YgYXJndW1lbnRzIGV4cGVjdGVkIGJ5IHRoZSBmdW5jdGlvbicpOwp9Cgo=","commentary":"The value of the length property is usually an integer that indicates the 'typical' number of arguments expected by the function","description":"Checking length property of Function(\"arg1,arg2,arg3\",\"arg1,arg2\",\"arg3\", null)","path":"TestCases/ch15/15.3/15.3.5/S15.3.5.1_A1_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiB0aGUgbGVuZ3RoIHByb3BlcnR5IGhhcyB0aGUgYXR0cmlidXRlcyB7IERvbnREZWxldGUgfQogKgogKiBAcGF0aCBjaDE1LzE1LjMvMTUuMy41L1MxNS4zLjUuMV9BMl9UMS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgaWYgZGVsZXRpbmcgdGhlIGxlbmd0aCBwcm9wZXJ0eSBvZiBGdW5jdGlvbigiYXJnMSxhcmcyLGFyZzMiLCBudWxsKSBmYWlscwogKi8KCmYgPSBuZXcgRnVuY3Rpb24oImFyZzEsYXJnMixhcmczIiwgbnVsbCk7CgovL0NIRUNLIzEKaWYgKCEoZi5oYXNPd25Qcm9wZXJ0eSgnbGVuZ3RoJykpKSB7CiAgJEZBSUwoJyMxOiB0aGUgZnVuY3Rpb24gaGFzIGxlbmd0aCBwcm9wZXJ0eS4nKTsKfQoKLy9DSEVDSyMyCmlmKGRlbGV0ZSBmLmxlbmd0aCl7CiAgJEVSUk9SKCcjMjogdGhlIGZ1bmN0aW9uLmxlbmd0aCBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZXMgRG9udERlbGV0ZS4nKTsKfQoKLy9DSEVDSyMzCmlmICghKGYuaGFzT3duUHJvcGVydHkoJ2xlbmd0aCcpKSkgewogICRFUlJPUignIzM6IHRoZSBmdW5jdGlvbi5sZW5ndGggcHJvcGVydHkgaGFzIHRoZSBhdHRyaWJ1dGVzIERvbnREZWxldGUuJyk7Cn0KCi8vQ0hFQ0sjNAppZiAoZi5sZW5ndGggIT09IDMpIHsKICAkRVJST1IoJyM0OiB0aGUgbGVuZ3RoIHByb3BlcnR5IGhhcyB0aGUgYXR0cmlidXRlcyB7IERvbnREZWxldGUgfScpOwp9Cgo=","commentary":"the length property has the attributes { DontDelete }","description":"Checking if deleting the length property of Function(\"arg1,arg2,arg3\", null) fails","path":"TestCases/ch15/15.3/15.3.5/S15.3.5.1_A2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiB0aGUgbGVuZ3RoIHByb3BlcnR5IGhhcyB0aGUgYXR0cmlidXRlcyB7IERvbnREZWxldGUgfQogKgogKiBAcGF0aCBjaDE1LzE1LjMvMTUuMy41L1MxNS4zLjUuMV9BMl9UMi5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgaWYgZGVsZXRpbmcgdGhlIGxlbmd0aCBwcm9wZXJ0eSBvZiBGdW5jdGlvbigiYXJnMSxhcmcyLGFyZzMiLCJhcmc0LGFyZzUiLCBudWxsKSBmYWlscwogKi8KCmYgPSAgRnVuY3Rpb24oImFyZzEsYXJnMixhcmczIiwiYXJnNCxhcmc1IiwgbnVsbCk7CgovL0NIRUNLIzEKaWYgKCEoZi5oYXNPd25Qcm9wZXJ0eSgnbGVuZ3RoJykpKSB7CiAgJEZBSUwoJyMxOiB0aGUgZnVuY3Rpb24gaGFzIGxlbmd0aCBwcm9wZXJ0eS4nKTsKfQoKZGVsZXRlIGYubGVuZ3RoOwoKLy9DSEVDSyMyCmlmICghKGYuaGFzT3duUHJvcGVydHkoJ2xlbmd0aCcpKSkgewogICRFUlJPUignIzI6IHRoZSBmdW5jdGlvbi5sZW5ndGggcHJvcGVydHkgaGFzIHRoZSBhdHRyaWJ1dGVzIERvbnREZWxldGUuJyk7Cn0KCi8vQ0hFQ0sjMwppZiAoZi5sZW5ndGggIT09IDUpIHsKICAkRVJST1IoJyMzOiB0aGUgbGVuZ3RoIHByb3BlcnR5IGhhcyB0aGUgYXR0cmlidXRlcyB7IERvbnREZWxldGUgfScpOwp9Cgo=","commentary":"the length property has the attributes { DontDelete }","description":"Checking if deleting the length property of Function(\"arg1,arg2,arg3\",\"arg4,arg5\", null) fails","path":"TestCases/ch15/15.3/15.3.5/S15.3.5.1_A2_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiB0aGUgbGVuZ3RoIHByb3BlcnR5IGhhcyB0aGUgYXR0cmlidXRlcyB7IERvbnREZWxldGUgfQogKgogKiBAcGF0aCBjaDE1LzE1LjMvMTUuMy41L1MxNS4zLjUuMV9BMl9UMy5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgaWYgZGVsZXRpbmcgdGhlIGxlbmd0aCBwcm9wZXJ0eSBvZiBGdW5jdGlvbigiYXJnMSxhcmcyLGFyZzMiLCJhcmcxLGFyZzIiLCJhcmczIiwgbnVsbCkgZmFpbHMKICovCgpmID0gbmV3IEZ1bmN0aW9uKCJhcmcxLGFyZzIsYXJnMyIsImFyZzEsYXJnMiIsImFyZzMiLCBudWxsKTsKCi8vQ0hFQ0sjMQppZiAoIShmLmhhc093blByb3BlcnR5KCdsZW5ndGgnKSkpIHsKICAkRkFJTCgnIzE6IHRoZSBmdW5jdGlvbiBoYXMgbGVuZ3RoIHByb3BlcnR5LicpOwp9CgpkZWxldGUgZi5sZW5ndGg7CgovL0NIRUNLIzIKaWYgKCEoZi5oYXNPd25Qcm9wZXJ0eSgnbGVuZ3RoJykpKSB7CiAgJEVSUk9SKCcjMjogdGhlIGZ1bmN0aW9uLmxlbmd0aCBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZXMgRG9udERlbGV0ZS4nKTsKfQoKLy9DSEVDSyMzCmlmIChmLmxlbmd0aCAhPT0gNikgewogICRFUlJPUignIzM6IHRoZSBsZW5ndGggcHJvcGVydHkgaGFzIHRoZSBhdHRyaWJ1dGVzIHsgRG9udERlbGV0ZSB9Jyk7Cn0KCg==","commentary":"the length property has the attributes { DontDelete }","description":"Checking if deleting the length property of Function(\"arg1,arg2,arg3\",\"arg1,arg2\",\"arg3\", null) fails","path":"TestCases/ch15/15.3/15.3.5/S15.3.5.1_A2_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiB0aGUgbGVuZ3RoIHByb3BlcnR5IGhhcyB0aGUgYXR0cmlidXRlcyB7IFJlYWRPbmx5IH0KICoKICogQHBhdGggY2gxNS8xNS4zLzE1LjMuNS9TMTUuMy41LjFfQTNfVDEuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIHZhcnlpbmcgdGhlIGxlbmd0aCBwcm9wZXJ0eSBvZiBGdW5jdGlvbigiYXJnMSxhcmcyLGFyZzMiLCJhcmc0LGFyZzUiLCBudWxsKSBmYWlscwogKi8KCmYgPSBuZXcgRnVuY3Rpb24oImFyZzEsYXJnMixhcmczIiwiYXJnNCxhcmc1IiwgbnVsbCk7CgovL0NIRUNLIzEKaWYgKCEoZi5oYXNPd25Qcm9wZXJ0eSgnbGVuZ3RoJykpKSB7CiAgJEZBSUwoJyMxOiB0aGUgZnVuY3Rpb24gaGFzIGxlbmd0aCBwcm9wZXJ0eS4nKTsKfQoKbGVuZ3RoID0gZi5sZW5ndGg7CgpmLmxlbmd0aCA9IGZ1bmN0aW9uKCl7fTsKCi8vQ0hFQ0sjMgppZiAoZi5sZW5ndGggIT09IGxlbmd0aCkgewogICRFUlJPUignIzI6IHRoZSBmdW5jdGlvbi5sZW5ndGggcHJvcGVydHkgaGFzIHRoZSBhdHRyaWJ1dGVzIFJlYWRPbmx5Jyk7Cn0KCi8vQ0hFQ0sjMwp0cnkgewogIGYubGVuZ3RoKCk7CiAgJEVSUk9SKCcjMzogdGhlIGZ1bmN0aW9uLmxlbmd0aCBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZXMgUmVhZE9ubHknKTsKfSBjYXRjaCAoZSkgewogIDsKfQoKLy9DSEVDSyM0CmlmIChmLmxlbmd0aCAhPT0gNSkgewogICRFUlJPUignIzQ6IHRoZSBsZW5ndGggcHJvcGVydHkgaGFzIHRoZSBhdHRyaWJ1dGVzIHsgUmVhZE9ubHkgfScpOwp9Cgo=","commentary":"the length property has the attributes { ReadOnly }","description":"Checking if varying the length property of Function(\"arg1,arg2,arg3\",\"arg4,arg5\", null) fails","path":"TestCases/ch15/15.3/15.3.5/S15.3.5.1_A3_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiB0aGUgbGVuZ3RoIHByb3BlcnR5IGhhcyB0aGUgYXR0cmlidXRlcyB7IFJlYWRPbmx5IH0KICoKICogQHBhdGggY2gxNS8xNS4zLzE1LjMuNS9TMTUuMy41LjFfQTNfVDIuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIHZhcnlpbmcgdGhlIGxlbmd0aCBwcm9wZXJ0eSBvZiBGdW5jdGlvbigiYXJnMSxhcmcyLGFyZzMiLCBudWxsKSBmYWlscwogKi8KCmYgPSAgRnVuY3Rpb24oImFyZzEsYXJnMixhcmczIiwgbnVsbCk7CgovL0NIRUNLIzEKaWYgKCEoZi5oYXNPd25Qcm9wZXJ0eSgnbGVuZ3RoJykpKSB7CiAgJEZBSUwoJyMxOiB0aGUgZnVuY3Rpb24gaGFzIGxlbmd0aCBwcm9wZXJ0eS4nKTsKfQoKbGVuZ3RoID0gZi5sZW5ndGg7CgpmLmxlbmd0aCA9IGZ1bmN0aW9uKCl7fTsKCi8vQ0hFQ0sjMgppZiAoZi5sZW5ndGggIT09IGxlbmd0aCkgewogICRFUlJPUignIzI6IHRoZSBmdW5jdGlvbi5sZW5ndGggcHJvcGVydHkgaGFzIHRoZSBhdHRyaWJ1dGVzIFJlYWRPbmx5Jyk7Cn0KCi8vQ0hFQ0sjMwp0cnkgewogIGYubGVuZ3RoKCk7CiAgJEVSUk9SKCcjMzogdGhlIGZ1bmN0aW9uLmxlbmd0aCBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZXMgUmVhZE9ubHknKTsKfSBjYXRjaCAoZSkgewogIDsKfQoKLy9DSEVDSyM0CmlmIChmLmxlbmd0aCAhPT0gMykgewogICRFUlJPUignIzQ6IHRoZSBsZW5ndGggcHJvcGVydHkgaGFzIHRoZSBhdHRyaWJ1dGVzIHsgUmVhZE9ubHkgfScpOwp9Cgo=","commentary":"the length property has the attributes { ReadOnly }","description":"Checking if varying the length property of Function(\"arg1,arg2,arg3\", null) fails","path":"TestCases/ch15/15.3/15.3.5/S15.3.5.1_A3_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiB0aGUgbGVuZ3RoIHByb3BlcnR5IGhhcyB0aGUgYXR0cmlidXRlcyB7IFJlYWRPbmx5IH0KICoKICogQHBhdGggY2gxNS8xNS4zLzE1LjMuNS9TMTUuMy41LjFfQTNfVDMuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIHZhcnlpbmcgdGhlIGxlbmd0aCBwcm9wZXJ0eSBvZiBGdW5jdGlvbigiYXJnMSxhcmcyLGFyZzMiLCJhcmcxLGFyZzIiLCJhcmczIiwgbnVsbCkgZmFpbHMKICovCgpmID0gbmV3IEZ1bmN0aW9uKCJhcmcxLGFyZzIsYXJnMyIsImFyZzEsYXJnMiIsImFyZzMiLCBudWxsKTsKCi8vQ0hFQ0sjMQppZiAoIShmLmhhc093blByb3BlcnR5KCdsZW5ndGgnKSkpIHsKICAkRkFJTCgnIzE6IHRoZSBmdW5jdGlvbiBoYXMgbGVuZ3RoIHByb3BlcnR5LicpOwp9CgpsZW5ndGggPSBmLmxlbmd0aDsKCmYubGVuZ3RoID0gZnVuY3Rpb24oKXt9OwoKLy9DSEVDSyMyCmlmIChmLmxlbmd0aCAhPT0gbGVuZ3RoKSB7CiAgJEVSUk9SKCcjMjogdGhlIGZ1bmN0aW9uLmxlbmd0aCBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZXMgUmVhZE9ubHknKTsKfQoKLy9DSEVDSyMzCnRyeSB7CiAgZi5sZW5ndGgoKTsKICAkRVJST1IoJyMzOiB0aGUgZnVuY3Rpb24ubGVuZ3RoIHByb3BlcnR5IGhhcyB0aGUgYXR0cmlidXRlcyBSZWFkT25seScpOwp9IGNhdGNoIChlKSB7CiAgOwp9CgovL0NIRUNLIzQKaWYgKGYubGVuZ3RoICE9PSA2KSB7CiAgJEVSUk9SKCcjNDogdGhlIGxlbmd0aCBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZXMgeyBSZWFkT25seSB9Jyk7Cn0KCg==","commentary":"the length property has the attributes { ReadOnly }","description":"Checking if varying the length property of Function(\"arg1,arg2,arg3\",\"arg1,arg2\",\"arg3\", null) fails","path":"TestCases/ch15/15.3/15.3.5/S15.3.5.1_A3_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiB0aGUgbGVuZ3RoIHByb3BlcnR5IGhhcyB0aGUgYXR0cmlidXRlcyB7IERvbnRFbnVtIH0KICoKICogQHBhdGggY2gxNS8xNS4zLzE1LjMuNS9TMTUuMy41LjFfQTRfVDEuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIGVudW1lcmF0aW5nIHRoZSBsZW5ndGggcHJvcGVydHkgb2YgRnVuY3Rpb24oImFyZzEsYXJnMixhcmczIiwgbnVsbCkgZmFpbHMKICovCgpmID0gbmV3IEZ1bmN0aW9uKCJhcmcxLGFyZzIsYXJnMyIsIG51bGwpOwoKLy9DSEVDSyMxCmlmICghKGYuaGFzT3duUHJvcGVydHkoJ2xlbmd0aCcpKSkgewogICRGQUlMKCcjMTogdGhlIGZ1bmN0aW9uIGhhcyBsZW5ndGggcHJvcGVydHkuJyk7Cn0KCmZvcihrZXkgaW4gZikgICAgCiAgaWYoa2V5PT0ibGVuZ3RoIikKICAgICAgdmFyIGxlbmd0aGVudW1lZD10cnVlOwogICAgICAKLy9DSEVDSyMyCmlmIChsZW5ndGhlbnVtZWQpIHsKICAkRVJST1IoJyMyOiB0aGUgbGVuZ3RoIHByb3BlcnR5IGhhcyB0aGUgYXR0cmlidXRlcyB7IERvbnRFbnVtIH0nKTsKfQoK","commentary":"the length property has the attributes { DontEnum }","description":"Checking if enumerating the length property of Function(\"arg1,arg2,arg3\", null) fails","path":"TestCases/ch15/15.3/15.3.5/S15.3.5.1_A4_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiB0aGUgbGVuZ3RoIHByb3BlcnR5IGhhcyB0aGUgYXR0cmlidXRlcyB7IERvbnRFbnVtIH0KICoKICogQHBhdGggY2gxNS8xNS4zLzE1LjMuNS9TMTUuMy41LjFfQTRfVDIuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIGVudW1lcmF0aW5nIHRoZSBsZW5ndGggcHJvcGVydHkgb2YgRnVuY3Rpb24oImFyZzEsYXJnMixhcmczIiwiYXJnNCxhcmc1IiwgbnVsbCkgZmFpbHMKICovCgpmID0gIEZ1bmN0aW9uKCJhcmcxLGFyZzIsYXJnMyIsImFyZzUsYXJnNCIsIG51bGwpOwoKLy9DSEVDSyMxCmlmICghKGYuaGFzT3duUHJvcGVydHkoJ2xlbmd0aCcpKSkgewogICRGQUlMKCcjMTogdGhlIGZ1bmN0aW9uIGhhcyBsZW5ndGggcHJvcGVydHkuJyk7Cn0KCmZvcihrZXkgaW4gZikgICAgCiAgaWYoa2V5PT0ibGVuZ3RoIikKICAgICAgdmFyIGxlbmd0aGVudW1lZD10cnVlOwogICAgICAKLy9DSEVDSyMyCmlmIChsZW5ndGhlbnVtZWQpIHsKICAkRVJST1IoJyMyOiB0aGUgbGVuZ3RoIHByb3BlcnR5IGhhcyB0aGUgYXR0cmlidXRlcyB7IERvbnRFbnVtIH0nKTsKfQoK","commentary":"the length property has the attributes { DontEnum }","description":"Checking if enumerating the length property of Function(\"arg1,arg2,arg3\",\"arg4,arg5\", null) fails","path":"TestCases/ch15/15.3/15.3.5/S15.3.5.1_A4_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiB0aGUgbGVuZ3RoIHByb3BlcnR5IGhhcyB0aGUgYXR0cmlidXRlcyB7IERvbnRFbnVtIH0KICoKICogQHBhdGggY2gxNS8xNS4zLzE1LjMuNS9TMTUuMy41LjFfQTRfVDMuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIGVudW1lcmF0aW5nIHRoZSBsZW5ndGggcHJvcGVydHkgb2YgRnVuY3Rpb24oImFyZzEsYXJnMixhcmczIiwiYXJnMSxhcmcyIiwiYXJnMyIsIG51bGwpIGZhaWxzCiAqLwoKZiA9IG5ldyBGdW5jdGlvbigiYXJnMSxhcmcyLGFyZzMiLCJhcmcxLGFyZzIiLCJhcmczIiwgbnVsbCk7CgovL0NIRUNLIzEKaWYgKCEoZi5oYXNPd25Qcm9wZXJ0eSgnbGVuZ3RoJykpKSB7CiAgJEZBSUwoJyMxOiB0aGUgZnVuY3Rpb24gaGFzIGxlbmd0aCBwcm9wZXJ0eS4nKTsKfQoKZm9yKGtleSBpbiBmKSAgICAKICBpZihrZXk9PSJsZW5ndGgiKQogICAgdmFyIGxlbmd0aGVudW1lZD10cnVlOwogICAgICAKLy9DSEVDSyMyCmlmIChsZW5ndGhlbnVtZWQpIHsKICAkRVJST1IoJyMyOiB0aGUgbGVuZ3RoIHByb3BlcnR5IGhhcyB0aGUgYXR0cmlidXRlcyB7IERvbnRFbnVtIH0nKTsKfQoK","commentary":"the length property has the attributes { DontEnum }","description":"Checking if enumerating the length property of Function(\"arg1,arg2,arg3\",\"arg1,arg2\",\"arg3\", null) fails","path":"TestCases/ch15/15.3/15.3.5/S15.3.5.1_A4_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiB0aGUgcHJvdG90eXBlIHByb3BlcnR5IGhhcyB0aGUgYXR0cmlidXRlcyB7IERvbnREZWxldGUgfQogKgogKiBAcGF0aCBjaDE1LzE1LjMvMTUuMy41L1MxNS4zLjUuMl9BMV9UMS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgaWYgZGVsZXRpbmcgdGhlIHByb3RvdHlwZSBwcm9wZXJ0eSBvZiBGdW5jdGlvbigiIiwgbnVsbCkgZmFpbHMKICovCgpmID0gbmV3IEZ1bmN0aW9uKCIiLCBudWxsKTsKCi8vQ0hFQ0sjMQppZiAoIShmLmhhc093blByb3BlcnR5KCdwcm90b3R5cGUnKSkpIHsKICAkRkFJTCgnIzE6IHRoZSBmdW5jdGlvbiBoYXMgbGVuZ3RoIHByb3BlcnR5LicpOwp9CgpmcHJvdG8gPSBmLnByb3RvdHlwZTsKCi8vQ0hFQ0sjMgppZiAoZGVsZXRlIGYucHJvdG90eXBlKSB7CiAgJEVSUk9SKCcjMjogdGhlIHByb3RvdHlwZSBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZXMgeyBEb250RGVsZXRlIH0nKTsKfQoKLy9DSEVDSyMzCmlmIChmLnByb3RvdHlwZSAhPT0gZnByb3RvKSB7CiAgJEVSUk9SKCcjMzogdGhlIHByb3RvdHlwZSBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZXMgeyBEb250RGVsZXRlIH0nKTsKfQoK","commentary":"the prototype property has the attributes { DontDelete }","description":"Checking if deleting the prototype property of Function(\"\", null) fails","path":"TestCases/ch15/15.3/15.3.5/S15.3.5.2_A1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiB0aGUgcHJvdG90eXBlIHByb3BlcnR5IGhhcyB0aGUgYXR0cmlidXRlcyB7IERvbnREZWxldGUgfQogKgogKiBAcGF0aCBjaDE1LzE1LjMvMTUuMy41L1MxNS4zLjUuMl9BMV9UMi5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgaWYgZGVsZXRpbmcgdGhlIHByb3RvdHlwZSBwcm9wZXJ0eSBvZiBGdW5jdGlvbih2b2lkIDAsICIiKSBmYWlscwogKi8KCmYgPSBGdW5jdGlvbih2b2lkIDAsICIiKTsKCi8vQ0hFQ0sjMQppZiAoIShmLmhhc093blByb3BlcnR5KCdwcm90b3R5cGUnKSkpIHsKICAkRkFJTCgnIzE6IHRoZSBmdW5jdGlvbiBoYXMgbGVuZ3RoIHByb3BlcnR5LicpOwp9CgpmcHJvdG8gPSBmLnByb3RvdHlwZTsKCi8vQ0hFQ0sjMgppZiAoZGVsZXRlIGYucHJvdG90eXBlKSB7CiAgJEVSUk9SKCcjMjogdGhlIHByb3RvdHlwZSBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZXMgeyBEb250RGVsZXRlIH0nKTsKfQoKLy9DSEVDSyMzCmlmIChmLnByb3RvdHlwZSAhPT0gZnByb3RvKSB7CiAgJEVSUk9SKCcjMzogdGhlIHByb3RvdHlwZSBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZXMgeyBEb250RGVsZXRlIH0nKTsKfQoK","commentary":"the prototype property has the attributes { DontDelete }","description":"Checking if deleting the prototype property of Function(void 0, \"\") fails","path":"TestCases/ch15/15.3/15.3.5/S15.3.5.2_A1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBBc3N1bWUgRiBpcyBhIEZ1bmN0aW9uIG9iamVjdC4gV2hlbiB0aGUgW1tIYXNJbnN0YW5jZV1dIG1ldGhvZCBvZiBGIGlzIGNhbGxlZCB3aXRoIHZhbHVlIFYsIHRoZSBmb2xsb3dpbmcgc3RlcHMgYXJlIHRha2VuOiBpKSBJZiBWIGlzIG5vdCBhbiBvYmplY3QsIHJldHVybiBmYWxzZQogKgogKiBAcGF0aCBjaDE1LzE1LjMvMTUuMy41L1MxNS4zLjUuM19BMV9UMS5qcwogKiBAZGVzY3JpcHRpb24gViBpcyBudW1iZXIKICovCgpGQUNUT1JZID0gRnVuY3Rpb24oIm5hbWUiLCJ0aGlzLm5hbWU9bmFtZTsiKTsKCi8vQ0hFQ0sjMQppZiAoKDEgaW5zdGFuY2VvZiAgRkFDVE9SWSkhPT1mYWxzZSkgewogICRFUlJPUignIzE6IEFzc3VtZSBGIGlzIGEgRnVuY3Rpb24gb2JqZWN0LiBXaGVuIHRoZSBbW0hhc0luc3RhbmNlXV0gbWV0aG9kIG9mIEYgaXMgY2FsbGVkIHdpdGggdmFsdWUgViwgdGhlIGZvbGxvd2luZyBzdGVwcyBhcmUgdGFrZW46IGkpIElmIFYgaXMgbm90IGFuIG9iamVjdCwgcmV0dXJuIGZhbHNlJyk7Cn0KCg==","commentary":"Assume F is a Function object. When the [[HasInstance]] method of F is called with value V, the following steps are taken: i) If V is not an object, return false","description":"V is number","path":"TestCases/ch15/15.3/15.3.5/S15.3.5.3_A1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBBc3N1bWUgRiBpcyBhIEZ1bmN0aW9uIG9iamVjdC4gV2hlbiB0aGUgW1tIYXNJbnN0YW5jZV1dIG1ldGhvZCBvZiBGIGlzIGNhbGxlZCB3aXRoIHZhbHVlIFYsIHRoZSBmb2xsb3dpbmcgc3RlcHMgYXJlIHRha2VuOiBpKSBJZiBWIGlzIG5vdCBhbiBvYmplY3QsIHJldHVybiBmYWxzZQogKgogKiBAcGF0aCBjaDE1LzE1LjMvMTUuMy41L1MxNS4zLjUuM19BMV9UMi5qcwogKiBAZGVzY3JpcHRpb24gViBpcyBzdHJpbmcKICovCgpGQUNUT1JZID0gRnVuY3Rpb24oIm5hbWUiLCJ0aGlzLm5hbWU9bmFtZTsiKTsKCi8vQ0hFQ0sjMQppZiAoKCIxIiBpbnN0YW5jZW9mICBGQUNUT1JZKSE9PWZhbHNlKSB7CiAgJEVSUk9SKCcjMTogQXNzdW1lIEYgaXMgYSBGdW5jdGlvbiBvYmplY3QuIFdoZW4gdGhlIFtbSGFzSW5zdGFuY2VdXSBtZXRob2Qgb2YgRiBpcyBjYWxsZWQgd2l0aCB2YWx1ZSBWLCB0aGUgZm9sbG93aW5nIHN0ZXBzIGFyZSB0YWtlbjogaSkgSWYgViBpcyBub3QgYW4gb2JqZWN0LCByZXR1cm4gZmFsc2UnKTsKfQoK","commentary":"Assume F is a Function object. When the [[HasInstance]] method of F is called with value V, the following steps are taken: i) If V is not an object, return false","description":"V is string","path":"TestCases/ch15/15.3/15.3.5/S15.3.5.3_A1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBBc3N1bWUgRiBpcyBhIEZ1bmN0aW9uIG9iamVjdC4gV2hlbiB0aGUgW1tIYXNJbnN0YW5jZV1dIG1ldGhvZCBvZiBGIGlzIGNhbGxlZCB3aXRoIHZhbHVlIFYsIHRoZSBmb2xsb3dpbmcgc3RlcHMgYXJlIHRha2VuOiBpKSBJZiBWIGlzIG5vdCBhbiBvYmplY3QsIHJldHVybiBmYWxzZQogKgogKiBAcGF0aCBjaDE1LzE1LjMvMTUuMy41L1MxNS4zLjUuM19BMV9UMy5qcwogKiBAZGVzY3JpcHRpb24gViBpcyBib29sZWFuIHRydWUKICovCgpGQUNUT1JZID0gRnVuY3Rpb24oIm5hbWUiLCJ0aGlzLm5hbWU9bmFtZTsiKTsKCi8vQ0hFQ0sjMQppZiAoKHRydWUgaW5zdGFuY2VvZiAgRkFDVE9SWSkhPT1mYWxzZSkgewogICRFUlJPUignIzE6IEFzc3VtZSBGIGlzIGEgRnVuY3Rpb24gb2JqZWN0LiBXaGVuIHRoZSBbW0hhc0luc3RhbmNlXV0gbWV0aG9kIG9mIEYgaXMgY2FsbGVkIHdpdGggdmFsdWUgViwgdGhlIGZvbGxvd2luZyBzdGVwcyBhcmUgdGFrZW46IGkpIElmIFYgaXMgbm90IGFuIG9iamVjdCwgcmV0dXJuIGZhbHNlJyk7Cn0KCg==","commentary":"Assume F is a Function object. When the [[HasInstance]] method of F is called with value V, the following steps are taken: i) If V is not an object, return false","description":"V is boolean true","path":"TestCases/ch15/15.3/15.3.5/S15.3.5.3_A1_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBBc3N1bWUgRiBpcyBhIEZ1bmN0aW9uIG9iamVjdC4gV2hlbiB0aGUgW1tIYXNJbnN0YW5jZV1dIG1ldGhvZCBvZiBGIGlzIGNhbGxlZCB3aXRoIHZhbHVlIFYsIHRoZSBmb2xsb3dpbmcgc3RlcHMgYXJlIHRha2VuOiBpKSBJZiBWIGlzIG5vdCBhbiBvYmplY3QsIHJldHVybiBmYWxzZQogKgogKiBAcGF0aCBjaDE1LzE1LjMvMTUuMy41L1MxNS4zLjUuM19BMV9UNC5qcwogKiBAZGVzY3JpcHRpb24gViBpcyBib29sZWFuIGZhbHNlCiAqLwoKRkFDVE9SWSA9IEZ1bmN0aW9uKCJuYW1lIiwidGhpcy5uYW1lPW5hbWU7Iik7CgovL0NIRUNLIzEKaWYgKChmYWxzZSBpbnN0YW5jZW9mICBGQUNUT1JZKSE9PWZhbHNlKSB7CiAgJEVSUk9SKCcjMTogQXNzdW1lIEYgaXMgYSBGdW5jdGlvbiBvYmplY3QuIFdoZW4gdGhlIFtbSGFzSW5zdGFuY2VdXSBtZXRob2Qgb2YgRiBpcyBjYWxsZWQgd2l0aCB2YWx1ZSBWLCB0aGUgZm9sbG93aW5nIHN0ZXBzIGFyZSB0YWtlbjogaSkgSWYgViBpcyBub3QgYW4gb2JqZWN0LCByZXR1cm4gZmFsc2UnKTsKfQoK","commentary":"Assume F is a Function object. When the [[HasInstance]] method of F is called with value V, the following steps are taken: i) If V is not an object, return false","description":"V is boolean false","path":"TestCases/ch15/15.3/15.3.5/S15.3.5.3_A1_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBBc3N1bWUgRiBpcyBhIEZ1bmN0aW9uIG9iamVjdC4gV2hlbiB0aGUgW1tIYXNJbnN0YW5jZV1dIG1ldGhvZCBvZiBGIGlzIGNhbGxlZCB3aXRoIHZhbHVlIFYsIHRoZSBmb2xsb3dpbmcgc3RlcHMgYXJlIHRha2VuOiBpKSBJZiBWIGlzIG5vdCBhbiBvYmplY3QsIHJldHVybiBmYWxzZQogKgogKiBAcGF0aCBjaDE1LzE1LjMvMTUuMy41L1MxNS4zLjUuM19BMV9UNS5qcwogKiBAZGVzY3JpcHRpb24gViBpcyB2b2lkIDAKICovCgpGQUNUT1JZID0gRnVuY3Rpb24oIm5hbWUiLCJ0aGlzLm5hbWU9bmFtZTsiKTsKCi8vQ0hFQ0sjMQppZiAoKHZvaWQgMCBpbnN0YW5jZW9mICBGQUNUT1JZKSE9PWZhbHNlKSB7CiAgJEVSUk9SKCcjMTogQXNzdW1lIEYgaXMgYSBGdW5jdGlvbiBvYmplY3QuIFdoZW4gdGhlIFtbSGFzSW5zdGFuY2VdXSBtZXRob2Qgb2YgRiBpcyBjYWxsZWQgd2l0aCB2YWx1ZSBWLCB0aGUgZm9sbG93aW5nIHN0ZXBzIGFyZSB0YWtlbjogaSkgSWYgViBpcyBub3QgYW4gb2JqZWN0LCByZXR1cm4gZmFsc2UnKTsKfQoK","commentary":"Assume F is a Function object. When the [[HasInstance]] method of F is called with value V, the following steps are taken: i) If V is not an object, return false","description":"V is void 0","path":"TestCases/ch15/15.3/15.3.5/S15.3.5.3_A1_T5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBBc3N1bWUgRiBpcyBhIEZ1bmN0aW9uIG9iamVjdC4gV2hlbiB0aGUgW1tIYXNJbnN0YW5jZV1dIG1ldGhvZCBvZiBGIGlzIGNhbGxlZCB3aXRoIHZhbHVlIFYsIHRoZSBmb2xsb3dpbmcgc3RlcHMgYXJlIHRha2VuOiBpKSBJZiBWIGlzIG5vdCBhbiBvYmplY3QsIHJldHVybiBmYWxzZQogKgogKiBAcGF0aCBjaDE1LzE1LjMvMTUuMy41L1MxNS4zLjUuM19BMV9UNi5qcwogKiBAZGVzY3JpcHRpb24gViBpcyBudWxsCiAqLwoKRkFDVE9SWSA9IEZ1bmN0aW9uKCJuYW1lIiwidGhpcy5uYW1lPW5hbWU7Iik7CgovL0NIRUNLIzEKaWYgKChudWxsIGluc3RhbmNlb2YgIEZBQ1RPUlkpIT09ZmFsc2UpIHsKICAkRVJST1IoJyMxOiBBc3N1bWUgRiBpcyBhIEZ1bmN0aW9uIG9iamVjdC4gV2hlbiB0aGUgW1tIYXNJbnN0YW5jZV1dIG1ldGhvZCBvZiBGIGlzIGNhbGxlZCB3aXRoIHZhbHVlIFYsIHRoZSBmb2xsb3dpbmcgc3RlcHMgYXJlIHRha2VuOiBpKSBJZiBWIGlzIG5vdCBhbiBvYmplY3QsIHJldHVybiBmYWxzZScpOwp9Cgo=","commentary":"Assume F is a Function object. When the [[HasInstance]] method of F is called with value V, the following steps are taken: i) If V is not an object, return false","description":"V is null","path":"TestCases/ch15/15.3/15.3.5/S15.3.5.3_A1_T6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBBc3N1bWUgRiBpcyBhIEZ1bmN0aW9uIG9iamVjdC4gV2hlbiB0aGUgW1tIYXNJbnN0YW5jZV1dIG1ldGhvZCBvZiBGIGlzIGNhbGxlZCB3aXRoIHZhbHVlIFYsIHRoZSBmb2xsb3dpbmcgc3RlcHMgYXJlIHRha2VuOiBpKSBJZiBWIGlzIG5vdCBhbiBvYmplY3QsIHJldHVybiBmYWxzZQogKgogKiBAcGF0aCBjaDE1LzE1LjMvMTUuMy41L1MxNS4zLjUuM19BMV9UNy5qcwogKiBAZGVzY3JpcHRpb24gViBpcyB1bmRlZmluZWQKICovCgpGQUNUT1JZID0gRnVuY3Rpb24oIm5hbWUiLCJ0aGlzLm5hbWU9bmFtZTsiKTsKCi8vQ0hFQ0sjMQppZiAoKHVuZGVmaW5lZCBpbnN0YW5jZW9mICBGQUNUT1JZKSE9PWZhbHNlKSB7CiAgJEVSUk9SKCcjMTogQXNzdW1lIEYgaXMgYSBGdW5jdGlvbiBvYmplY3QuIFdoZW4gdGhlIFtbSGFzSW5zdGFuY2VdXSBtZXRob2Qgb2YgRiBpcyBjYWxsZWQgd2l0aCB2YWx1ZSBWLCB0aGUgZm9sbG93aW5nIHN0ZXBzIGFyZSB0YWtlbjogaSkgSWYgViBpcyBub3QgYW4gb2JqZWN0LCByZXR1cm4gZmFsc2UnKTsKfQoK","commentary":"Assume F is a Function object. When the [[HasInstance]] method of F is called with value V, the following steps are taken: i) If V is not an object, return false","description":"V is undefined","path":"TestCases/ch15/15.3/15.3.5/S15.3.5.3_A1_T7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBBc3N1bWUgRiBpcyBhIEZ1bmN0aW9uIG9iamVjdC4gV2hlbiB0aGUgW1tIYXNJbnN0YW5jZV1dIG1ldGhvZCBvZiBGIGlzIGNhbGxlZCB3aXRoIHZhbHVlIFYsIHRoZSBmb2xsb3dpbmcgc3RlcHMgYXJlIHRha2VuOiBpKSBJZiBWIGlzIG5vdCBhbiBvYmplY3QsIHJldHVybiBmYWxzZQogKgogKiBAcGF0aCBjaDE1LzE1LjMvMTUuMy41L1MxNS4zLjUuM19BMV9UOC5qcwogKiBAZGVzY3JpcHRpb24gViBpcyB1bmRlZmluZWQgdmFyaWFibGUKICovCgpGQUNUT1JZID0gRnVuY3Rpb24oIm5hbWUiLCJ0aGlzLm5hbWU9bmFtZTsiKTsKCi8vQ0hFQ0sjMQppZiAoKHggaW5zdGFuY2VvZiAgRkFDVE9SWSkhPT1mYWxzZSkgewogICRFUlJPUignIzE6IEFzc3VtZSBGIGlzIGEgRnVuY3Rpb24gb2JqZWN0LiBXaGVuIHRoZSBbW0hhc0luc3RhbmNlXV0gbWV0aG9kIG9mIEYgaXMgY2FsbGVkIHdpdGggdmFsdWUgViwgdGhlIGZvbGxvd2luZyBzdGVwcyBhcmUgdGFrZW46IGkpIElmIFYgaXMgbm90IGFuIG9iamVjdCwgcmV0dXJuIGZhbHNlJyk7Cn0KCnZhciB4OwoK","commentary":"Assume F is a Function object. When the [[HasInstance]] method of F is called with value V, the following steps are taken: i) If V is not an object, return false","description":"V is undefined variable","path":"TestCases/ch15/15.3/15.3.5/S15.3.5.3_A1_T8.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBBc3N1bWUgRiBpcyBhIEZ1bmN0aW9uIG9iamVjdC4gV2hlbiB0aGUgW1tIYXNJbnN0YW5jZV1dIG1ldGhvZCBvZiBGIGlzIGNhbGxlZCB3aXRoIHZhbHVlIFYgYW5kIFYgaXMgYW4gb2JqZWN0LCB0aGUgZm9sbG93aW5nIHN0ZXBzIGFyZSB0YWtlbjoKICogaSkgQ2FsbCB0aGUgW1tHZXRdXSBtZXRob2Qgb2YgRiB3aXRoIHByb3BlcnR5IG5hbWUgInByb3RvdHlwZSIuCiAqIGlpKSBMZXQgTyBiZSBSZXN1bHQoaSkuCiAqIGlpaSkgTyBpcyBub3QgYW4gb2JqZWN0LCB0aHJvdyBhIFR5cGVFcnJvciBleGNlcHRpb24KICoKICogQHBhdGggY2gxNS8xNS4zLzE1LjMuNS9TMTUuMy41LjNfQTJfVDIuanMKICogQGRlc2NyaXB0aW9uIEYucHJvdG90eXBlIGlzIHVuZGVmaW5lZCwgYW5kIFYgaXMgZW1wdHkgb2JqZWN0CiAqLwoKRkFDVE9SWSA9IG5ldyBGdW5jdGlvbjsKCkZBQ1RPUlkucHJvdG90eXBlID0gdW5kZWZpbmVkOwoKb2JqPXt9OwoKLy9DSEVDSyMxCnRyeSB7CiAgb2JqIGluc3RhbmNlb2YgIEZBQ1RPUlk7CiAgJEZBSUwoJyMxOiBPIGlzIG5vdCBhbiBvYmplY3QsIHRocm93IGEgVHlwZUVycm9yIGV4Y2VwdGlvbicpOwp9IGNhdGNoIChlKSB7CiAgaWYgKCEoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikpIHsKICAJJEVSUk9SKCcjMS4xOiBPIGlzIG5vdCBhbiBvYmplY3QsIHRocm93IGEgVHlwZUVycm9yIGV4Y2VwdGlvbicpOwogIH0KfQoKCgo=","commentary":"Assume F is a Function object. When the [[HasInstance]] method of F is called with value V and V is an object, the following steps are taken:\ni) Call the [[Get]] method of F with property name \"prototype\".\nii) Let O be Result(i).\niii) O is not an object, throw a TypeError exception","description":"F.prototype is undefined, and V is empty object","path":"TestCases/ch15/15.3/15.3.5/S15.3.5.3_A2_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBBc3N1bWUgRiBpcyBhIEZ1bmN0aW9uIG9iamVjdC4gV2hlbiB0aGUgW1tIYXNJbnN0YW5jZV1dIG1ldGhvZCBvZgogKiAgICAgICAgICAgICBGIGlzIGNhbGxlZCB3aXRoIHZhbHVlIFYgYW5kIFYgaXMgYW4gb2JqZWN0LCB0aGUgZm9sbG93aW5nIHN0ZXBzCiAqICAgICAgICAgICAgIGFyZSB0YWtlbjogaSkgQ2FsbCB0aGUgW1tHZXRdXSBtZXRob2Qgb2YgRiB3aXRoIHByb3BlcnR5IG5hbWUKICogICAgICAgICAgICAgInByb3RvdHlwZSIuIGlpKSBMZXQgTyBiZSBSZXN1bHQoaSkuIGlpaSkgTyBpcyBub3QgYW4gb2JqZWN0LAogKiAgICAgICAgICAgICB0aHJvdyBhIFR5cGVFcnJvciBleGNlcHRpb24KICoKICogQHBhdGggY2gxNS8xNS4zLzE1LjMuNS9TMTUuMy41LjNfQTJfVDUuanMKICogQGRlc2NyaXB0aW9uIEYucHJvdG90eXBlIGlzIHZvaWQgMCwgYW5kIFYgaXMgbmV3IEYKICovCgpGQUNUT1JZID0gRnVuY3Rpb24oInRoaXMucHJvcD0xOyIpOwoKRkFDVE9SWS5wcm90b3R5cGUubmFtZSA9ICJmYWlyeSI7CgppbnN0YW5jZSA9IG5ldyBGQUNUT1JZOwoKRkFDVE9SWS5wcm90b3R5cGUgPSB2b2lkIDA7CgovLyBDSEVDSyMxCnRyeSB7CiAgaW5zdGFuY2UgaW5zdGFuY2VvZiBGQUNUT1JZOwogICRGQUlMKCcjMTogTyBpcyBub3QgYW4gb2JqZWN0LCB0aHJvdyBhIFR5cGVFcnJvciBleGNlcHRpb24nKTsKfSBjYXRjaCAoZSkgewogIGlmICghKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpKSB7CiAgICAkRVJST1IoJyMxLjE6IE8gaXMgbm90IGFuIG9iamVjdCwgdGhyb3cgYSBUeXBlRXJyb3IgZXhjZXB0aW9uJyk7CiAgfQp9CgovLyBDSEVDSyMyCmlmICgoaW5zdGFuY2UuY29uc3RydWN0b3IgIT09IEZBQ1RPUlkpIHx8IChpbnN0YW5jZS5uYW1lICE9PSAiZmFpcnkiKSkgewogICRFUlJPUignIzI6IGluc3RhbmNlLmNvbnN0cnVjdG9yID09PSBGQUNUT1JZJyk7Cn0KCg==","commentary":"Assume F is a Function object. When the [[HasInstance]] method of\n F is called with value V and V is an object, the following steps\n are taken: i) Call the [[Get]] method of F with property name\n \"prototype\". ii) Let O be Result(i). iii) O is not an object,\n throw a TypeError exception","description":"F.prototype is void 0, and V is new F","path":"TestCases/ch15/15.3/15.3.5/S15.3.5.3_A2_T5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBBc3N1bWUgRiBpcyBhIEZ1bmN0aW9uIG9iamVjdC4gV2hlbiB0aGUgW1tIYXNJbnN0YW5jZV1dIG1ldGhvZCBvZgogKiAgICAgICAgICAgICBGIGlzIGNhbGxlZCB3aXRoIHZhbHVlIFYgYW5kIFYgaXMgYW4gb2JqZWN0LCB0aGUgZm9sbG93aW5nIHN0ZXBzCiAqICAgICAgICAgICAgIGFyZSB0YWtlbjogaSkgQ2FsbCB0aGUgW1tHZXRdXSBtZXRob2Qgb2YgRiB3aXRoIHByb3BlcnR5IG5hbWUKICogICAgICAgICAgICAgInByb3RvdHlwZSIuIGlpKSBMZXQgTyBiZSBSZXN1bHQoaSkuIGlpaSkgTyBpcyBub3QgYW4gb2JqZWN0LAogKiAgICAgICAgICAgICB0aHJvdyBhIFR5cGVFcnJvciBleGNlcHRpb24KICoKICogQHBhdGggY2gxNS8xNS4zLzE1LjMuNS9TMTUuMy41LjNfQTJfVDYuanMKICogQGRlc2NyaXB0aW9uIEYucHJvdG90eXBlIGlzIHN0cmluZywgYW5kIFYgaXMgZnVuY3Rpb24KICovCgpGQUNUT1JZID0gbmV3IEZ1bmN0aW9uOwoKRkFDVE9SWS5wcm90b3R5cGUgPSAiZXJyb3IiOwoKLy8gQ0hFQ0sjMQp0cnkgewogICggZnVuY3Rpb24oKSB7CiAgfSkgaW5zdGFuY2VvZiBGQUNUT1JZOwogICRGQUlMKCcjMTogTyBpcyBub3QgYW4gb2JqZWN0LCB0aHJvdyBhIFR5cGVFcnJvciBleGNlcHRpb24nKTsKfSBjYXRjaCAoZSkgewogIGlmICghKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpKSB7CiAgICAkRVJST1IoJyMxLjE6IE8gaXMgbm90IGFuIG9iamVjdCwgdGhyb3cgYSBUeXBlRXJyb3IgZXhjZXB0aW9uJyk7CiAgfQp9Cgo=","commentary":"Assume F is a Function object. When the [[HasInstance]] method of\n F is called with value V and V is an object, the following steps\n are taken: i) Call the [[Get]] method of F with property name\n \"prototype\". ii) Let O be Result(i). iii) O is not an object,\n throw a TypeError exception","description":"F.prototype is string, and V is function","path":"TestCases/ch15/15.3/15.3.5/S15.3.5.3_A2_T6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBBc3N1bWUgRiBpcyBhIEZ1bmN0aW9uIG9iamVjdC4gV2hlbiB0aGUgW1tIYXNJbnN0YW5jZV1dIG1ldGhvZCBvZiBGIGlzIGNhbGxlZCB3aXRoIHZhbHVlIFYgYW5kIFYgaXMgYW4gb2JqZWN0LCB0aGUgZm9sbG93aW5nIHN0ZXBzIGFyZSB0YWtlbjoKICogaSkgQ2FsbCB0aGUgW1tHZXRdXSBtZXRob2Qgb2YgRiB3aXRoIHByb3BlcnR5IG5hbWUgInByb3RvdHlwZSIuCiAqIGlpKSBMZXQgTyBiZSBSZXN1bHQoaSkgYW5kIE8gaXMgYW4gb2JqZWN0LgogKiBpaWkpIExldCBWIGJlIHRoZSB2YWx1ZSBvZiB0aGUgW1tQcm90b3R5cGVdXSBwcm9wZXJ0eSBvZiBWLgogKiBpdikgSWYgViBpcyBudWxsLCByZXR1cm4gZmFsc2UuCiAqIHYpICBJZiBPIGFuZCBWIHJlZmVyIHRvIHRoZSBzYW1lIG9iamVjdCBvciBpZiB0aGV5IHJlZmVyIHRvIG9iamVjdHMgam9pbmVkIHRvIGVhY2ggb3RoZXIgKDEzLjEuMiksIHJldHVybiB0cnVlLgogKiB2aSkgR28gdG8gc3RlcCBpaWkpCiAqCiAqIEBwYXRoIGNoMTUvMTUuMy8xNS4zLjUvUzE1LjMuNS4zX0EzX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBGLnByb3RvdHlwZS50eXBlIGlzIDEsIGFuZCBWIGlzIG5ldyBGCiAqLwoKRkFDVE9SWSA9IEZ1bmN0aW9uKCJ0aGlzLm5hbWU9XCJyb290XCIiKTsKCkZBQ1RPUlkucHJvdG90eXBlLnR5cGU9MTsKCmluc3RhbmNlID0gbmV3IEZBQ1RPUlk7CgovL0NIRUNLIzEKaWYgKCEoaW5zdGFuY2UgaW5zdGFuY2VvZiBGQUNUT1JZKSkgewogICRFUlJPUignIzE6IElmIE8gYW5kIFYgcmVmZXIgdG8gdGhlIHNhbWUgb2JqZWN0IG9yIGlmIHRoZXkgcmVmZXIgdG8gb2JqZWN0cyBqb2luZWQgdG8gZWFjaCBvdGhlciAoMTMuMS4yKSwgcmV0dXJuIHRydWUnKTsKfQoK","commentary":"Assume F is a Function object. When the [[HasInstance]] method of F is called with value V and V is an object, the following steps are taken:\ni) Call the [[Get]] method of F with property name \"prototype\".\nii) Let O be Result(i) and O is an object.\niii) Let V be the value of the [[Prototype]] property of V.\niv) If V is null, return false.\nv) If O and V refer to the same object or if they refer to objects joined to each other (13.1.2), return true.\nvi) Go to step iii)","description":"F.prototype.type is 1, and V is new F","path":"TestCases/ch15/15.3/15.3.5/S15.3.5.3_A3_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBBc3N1bWUgRiBpcyBhIEZ1bmN0aW9uIG9iamVjdC4gV2hlbiB0aGUgW1tIYXNJbnN0YW5jZV1dIG1ldGhvZCBvZiBGIGlzIGNhbGxlZCB3aXRoIHZhbHVlIFYgYW5kIFYgaXMgYW4gb2JqZWN0LCB0aGUgZm9sbG93aW5nIHN0ZXBzIGFyZSB0YWtlbjoKICogaSkgQ2FsbCB0aGUgW1tHZXRdXSBtZXRob2Qgb2YgRiB3aXRoIHByb3BlcnR5IG5hbWUgInByb3RvdHlwZSIuCiAqIGlpKSBMZXQgTyBiZSBSZXN1bHQoaSkgYW5kIE8gaXMgYW4gb2JqZWN0LgogKiBpaWkpIExldCBWIGJlIHRoZSB2YWx1ZSBvZiB0aGUgW1tQcm90b3R5cGVdXSBwcm9wZXJ0eSBvZiBWLgogKiBpdikgSWYgViBpcyBudWxsLCByZXR1cm4gZmFsc2UuCiAqIHYpICBJZiBPIGFuZCBWIHJlZmVyIHRvIHRoZSBzYW1lIG9iamVjdCBvciBpZiB0aGV5IHJlZmVyIHRvIG9iamVjdHMgam9pbmVkIHRvIGVhY2ggb3RoZXIgKDEzLjEuMiksIHJldHVybiB0cnVlLgogKiB2aSkgR28gdG8gc3RlcCBpaWkpCiAqCiAqIEBwYXRoIGNoMTUvMTUuMy8xNS4zLjUvUzE1LjMuNS4zX0EzX1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBGLnByb3RvdHlwZSBpcyBPYmplY3QucHJvdG90eXBlLCBhbmQgViBpcyBlbXB0eSBvYmplY3QKICovCgpGQUtFRkFDVE9SWSA9IEZ1bmN0aW9uKCk7CgpmYWtlaW5zdGFuY2UgPSB7fTsKCi8vQ0hFQ0sjMQppZiAoZmFrZWluc3RhbmNlIGluc3RhbmNlb2YgRkFLRUZBQ1RPUlkpIHsKICAkRVJST1IoJyMxOiBJZiBPIGFuZCBWIHJlZmVyIHRvIHRoZSBzYW1lIG9iamVjdCBvciBpZiB0aGV5IHJlZmVyIHRvIG9iamVjdHMgam9pbmVkIHRvIGVhY2ggb3RoZXIgKDEzLjEuMiksIHJldHVybiB0cnVlJyk7Cn0KCkZBS0VGQUNUT1JZLnByb3RvdHlwZT1PYmplY3QucHJvdG90eXBlOwoKLy9DSEVDSyMyCmlmICghKGZha2VpbnN0YW5jZSBpbnN0YW5jZW9mIEZBS0VGQUNUT1JZKSkgewogICRFUlJPUignIzI6IElmIE8gYW5kIFYgcmVmZXIgdG8gdGhlIHNhbWUgb2JqZWN0IG9yIGlmIHRoZXkgcmVmZXIgdG8gb2JqZWN0cyBqb2luZWQgdG8gZWFjaCBvdGhlciAoMTMuMS4yKSwgcmV0dXJuIHRydWUnKTsKfQoK","commentary":"Assume F is a Function object. When the [[HasInstance]] method of F is called with value V and V is an object, the following steps are taken:\ni) Call the [[Get]] method of F with property name \"prototype\".\nii) Let O be Result(i) and O is an object.\niii) Let V be the value of the [[Prototype]] property of V.\niv) If V is null, return false.\nv) If O and V refer to the same object or if they refer to objects joined to each other (13.1.2), return true.\nvi) Go to step iii)","description":"F.prototype is Object.prototype, and V is empty object","path":"TestCases/ch15/15.3/15.3.5/S15.3.5.3_A3_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgdmFsdWUgb2YgdGhlIFtbQ2xhc3NdXSBwcm9wZXJ0eSBpcyAiRnVuY3Rpb24iCiAqCiAqIEBwYXRoIGNoMTUvMTUuMy8xNS4zLjUvUzE1LjMuNV9BMV9UMS5qcwogKiBAZGVzY3JpcHRpb24gRm9yIHRlc3RpbmcgdXNlIHZhcmlhYmxlIGYgPSBuZXcgRnVuY3Rpb24KICovCgp2YXIgZiA9IG5ldyBGdW5jdGlvbjsKCmlmIChPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwoZikgIT09ICJbb2JqZWN0IEZ1bmN0aW9uXSIpIHsKICAkRVJST1IoJyMxOiBUaGUgdmFsdWUgb2YgdGhlIFtbQ2xhc3NdXSBwcm9wZXJ0eSBpcyAiRnVuY3Rpb24iJyk7Cn0KCg==","commentary":"The value of the [[Class]] property is \"Function\"","description":"For testing use variable f = new Function","path":"TestCases/ch15/15.3/15.3.5/S15.3.5_A1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgdmFsdWUgb2YgdGhlIFtbQ2xhc3NdXSBwcm9wZXJ0eSBpcyAiRnVuY3Rpb24iCiAqCiAqIEBwYXRoIGNoMTUvMTUuMy8xNS4zLjUvUzE1LjMuNV9BMV9UMi5qcwogKiBAZGVzY3JpcHRpb24gRm9yIHRlc3RpbmcgdXNlIHZhcmlhYmxlIGYgPSBGdW5jdGlvbigpCiAqLwoKdmFyIGYgPSBGdW5jdGlvbigpOwoKaWYgKE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbChmKSAhPT0gIltvYmplY3QgRnVuY3Rpb25dIikgewogICRFUlJPUignIzE6IFRoZSB2YWx1ZSBvZiB0aGUgW1tDbGFzc11dIHByb3BlcnR5IGlzICJGdW5jdGlvbiInKTsKfQoKCg==","commentary":"The value of the [[Class]] property is \"Function\"","description":"For testing use variable f = Function()","path":"TestCases/ch15/15.3/15.3.5/S15.3.5_A1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBFdmVyeSBmdW5jdGlvbiBpbnN0YW5jZSBoYXMgYSBbW0NhbGxdXSBwcm9wZXJ0eQogKgogKiBAcGF0aCBjaDE1LzE1LjMvMTUuMy41L1MxNS4zLjVfQTJfVDEuanMKICogQGRlc2NyaXB0aW9uIEZvciB0ZXN0aW5nIGNhbGwgRnVuY3Rpb24oInZhciB4ID0xOyB0aGlzLnk9MjtyZXR1cm4gXCJPS1wiOyIpKCkKICovCgovL0NIRUNLIzEKaWYgKEZ1bmN0aW9uKCJ2YXIgeCA9MTsgdGhpcy55PTI7cmV0dXJuIFwiT0tcIjsiKSgpICE9PSAiT0siKSB7CiAgJEVSUk9SKCcjMTogRXZlcnkgZnVuY3Rpb24gaW5zdGFuY2UgaGFzIGEgW1tDYWxsXV0gcHJvcGVydHknKTsKfQoKLy9DSEVDSyMyCmlmICh0eXBlb2YgeCAhPT0gInVuZGVmaW5lZCIpIHsKICAkRVJST1IoJyMyOiBFdmVyeSBmdW5jdGlvbiBpbnN0YW5jZSBoYXMgYSBbW0NhbGxdXSBwcm9wZXJ0eScpOwp9CgovL0NIRUNLIzMKaWYgKHkgIT09IDIpIHsKICAkRVJST1IoJyMzOiBFdmVyeSBmdW5jdGlvbiBpbnN0YW5jZSBoYXMgYSBbW0NhbGxdXSBwcm9wZXJ0eScpOwp9Cgo=","commentary":"Every function instance has a [[Call]] property","description":"For testing call Function(\"var x =1; this.y=2;return \\\"OK\\\";\")()","path":"TestCases/ch15/15.3/15.3.5/S15.3.5_A2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBFdmVyeSBmdW5jdGlvbiBpbnN0YW5jZSBoYXMgYSBbW0NhbGxdXSBwcm9wZXJ0eQogKgogKiBAcGF0aCBjaDE1LzE1LjMvMTUuMy41L1MxNS4zLjVfQTJfVDIuanMKICogQGRlc2NyaXB0aW9uIEZvciB0ZXN0aW5nIGNhbGwgKG5ldyBGdW5jdGlvbigiYXJnMSxhcmcyIiwidmFyIHggPWFyZzE7IHRoaXMueT1hcmcyO3JldHVybiBhcmcxK2FyZzI7IikpKCIxIiwyKQogKi8KCi8vQ0hFQ0sjMQppZiAoKG5ldyBGdW5jdGlvbigiYXJnMSxhcmcyIiwidmFyIHggPWFyZzE7IHRoaXMueT1hcmcyO3JldHVybiBhcmcxK2FyZzI7IikpKCIxIiwyKSAhPT0gIjEyIikgewogICRFUlJPUignIzE6IEV2ZXJ5IGZ1bmN0aW9uIGluc3RhbmNlIGhhcyBhIFtbQ2FsbF1dIHByb3BlcnR5Jyk7Cn0KCi8vQ0hFQ0sjMgppZiAodHlwZW9mIHggIT09ICJ1bmRlZmluZWQiKSB7CiAgJEVSUk9SKCcjMjogRXZlcnkgZnVuY3Rpb24gaW5zdGFuY2UgaGFzIGEgW1tDYWxsXV0gcHJvcGVydHknKTsKfQoKLy9DSEVDSyMzCmlmICh5ICE9PSAyKSB7CiAgJEVSUk9SKCcjMzogRXZlcnkgZnVuY3Rpb24gaW5zdGFuY2UgaGFzIGEgW1tDYWxsXV0gcHJvcGVydHknKTsKfQoK","commentary":"Every function instance has a [[Call]] property","description":"For testing call (new Function(\"arg1,arg2\",\"var x =arg1; this.y=arg2;return arg1+arg2;\"))(\"1\",2)","path":"TestCases/ch15/15.3/15.3.5/S15.3.5_A2_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBldmVyeSBmdW5jdGlvbiBpbnN0YW5jZSBoYXMgYSBbW0NvbnN0cnVjdF1dIHByb3BlcnR5CiAqCiAqIEBwYXRoIGNoMTUvMTUuMy8xNS4zLjUvUzE1LjMuNV9BM19UMS5qcwogKiBAZGVzY3JpcHRpb24gQXMgY29uc3RydWN0b3IgdXNlIEZ1bmN0aW9uKCJ2YXIgeCA9MTsgdGhpcy55PTI7cmV0dXJuIFwiT0tcIjsiKQogKi8KCkZBQ1RPUlkgPSBGdW5jdGlvbigidmFyIHggPTE7IHRoaXMueT0yO3JldHVybiBcIk9LXCI7Iik7Cm9iaiA9IG5ldyBGQUNUT1JZOwoKLy9DSEVDSyMxCmlmICh0eXBlb2Ygb2JqICE9PSAib2JqZWN0IikgewogICRFUlJPUignIzE6IGV2ZXJ5IGZ1bmN0aW9uIGluc3RhbmNlIGhhcyBhIFtbQ29uc3RydWN0XV0gcHJvcGVydHknKTsKfQoKLy9DSEVDSyMyCmlmIChvYmouY29uc3RydWN0b3IgIT09IEZBQ1RPUlkpIHsKICAkRVJST1IoJyMyOiBldmVyeSBmdW5jdGlvbiBpbnN0YW5jZSBoYXMgYSBbW0NvbnN0cnVjdF1dIHByb3BlcnR5Jyk7Cn0KCi8vQ0hFQ0sjMwppZiAob2JqLnkgIT09IDIpIHsKICAkRVJST1IoJyMzOiBldmVyeSBmdW5jdGlvbiBpbnN0YW5jZSBoYXMgYSBbW0NvbnN0cnVjdF1dIHByb3BlcnR5Jyk7Cn0KCg==","commentary":"every function instance has a [[Construct]] property","description":"As constructor use Function(\"var x =1; this.y=2;return \\\"OK\\\";\")","path":"TestCases/ch15/15.3/15.3.5/S15.3.5_A3_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBldmVyeSBmdW5jdGlvbiBpbnN0YW5jZSBoYXMgYSBbW0NvbnN0cnVjdF1dIHByb3BlcnR5CiAqCiAqIEBwYXRoIGNoMTUvMTUuMy8xNS4zLjUvUzE1LjMuNV9BM19UMi5qcwogKiBAZGVzY3JpcHRpb24gQXMgY29uc3RydWN0b3IgdXNlIG5ldyBGdW5jdGlvbigiYXJnMSxhcmcyIiwidmFyIHggPTE7IHRoaXMueT1hcmcxK2FyZzI7cmV0dXJuIFwiT0tcIjsiKQogKi8KCkZBQ1RPUlkgPSBuZXcgRnVuY3Rpb24oImFyZzEsYXJnMiIsInZhciB4ID0xOyB0aGlzLnk9YXJnMSthcmcyO3JldHVybiBcIk9LXCI7Iik7Cm9iaiA9IG5ldyBGQUNUT1JZKCIxIiwyKTsKCi8vQ0hFQ0sjMQppZiAodHlwZW9mIG9iaiAhPT0gIm9iamVjdCIpIHsKICAkRVJST1IoJyMxOiBldmVyeSBmdW5jdGlvbiBpbnN0YW5jZSBoYXMgYSBbW0NvbnN0cnVjdF1dIHByb3BlcnR5Jyk7Cn0KCi8vQ0hFQ0sjMgppZiAob2JqLmNvbnN0cnVjdG9yICE9PSBGQUNUT1JZKSB7CiAgJEVSUk9SKCcjMjogZXZlcnkgZnVuY3Rpb24gaW5zdGFuY2UgaGFzIGEgW1tDb25zdHJ1Y3RdXSBwcm9wZXJ0eScpOwp9CgovL0NIRUNLIzMKaWYgKG9iai55ICE9PSAiMTIiKSB7CiAgJEVSUk9SKCcjMzogZXZlcnkgZnVuY3Rpb24gaW5zdGFuY2UgaGFzIGEgW1tDb25zdHJ1Y3RdXSBwcm9wZXJ0eScpOwp9Cgo=","commentary":"every function instance has a [[Construct]] property","description":"As constructor use new Function(\"arg1,arg2\",\"var x =1; this.y=arg1+arg2;return \\\"OK\\\";\")","path":"TestCases/ch15/15.3/15.3.5/S15.3.5_A3_T2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4zLzE1LjMuNS8xNS4zLjUuNC8xNS4zLjUuNF8yLTEwZ3MuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpY3QgbW9kZSAtIGNoZWNraW5nIGFjY2VzcyB0byBzdHJpY3QgZnVuY3Rpb24gY2FsbGVyIGZyb20gbm9uLXN0cmljdCBmdW5jdGlvbiAoTmV3J2VkIEZ1bmN0aW9uIGNvbnN0cnVjdG9yIGluY2x1ZGVzIHN0cmljdCBkaXJlY3RpdmUgcHJvbG9ndWUpDQogKiBAbm9TdHJpY3QNCiAqIEBuZWdhdGl2ZSBUeXBlRXJyb3INCiAqLw0KDQoNCnZhciBmID0gbmV3IEZ1bmN0aW9uKCJcInVzZSBzdHJpY3RcIjtcbnJldHVybiBnTm9uU3RyaWN0KCk7Iik7DQpmKCk7DQoNCg0KZnVuY3Rpb24gZ05vblN0cmljdCgpIHsNCiAgICByZXR1cm4gZ05vblN0cmljdC5jYWxsZXIgfHwgZ05vblN0cmljdC5jYWxsZXIudGhyb3dUeXBlRXJyb3I7DQp9DQoNCg==","commentary":"","description":"Strict mode - checking access to strict function caller from non-strict function (New'ed Function constructor includes strict directive prologue)","negative":"TypeError","noStrict":"","path":"TestCases/ch15/15.3/15.3.5/15.3.5.4/15.3.5.4_2-10gs.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4zLzE1LjMuNS8xNS4zLjUuNC8xNS4zLjUuNF8yLTExZ3MuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpY3QgbW9kZSAtIGNoZWNraW5nIGFjY2VzcyB0byBzdHJpY3QgZnVuY3Rpb24gY2FsbGVyIGZyb20gc3RyaWN0IGZ1bmN0aW9uIChldmFsIHVzZWQgd2l0aGluIHN0cmljdCBtb2RlKQ0KICogQG9ubHlTdHJpY3QNCiAqIEBuZWdhdGl2ZSBUeXBlRXJyb3INCiAqLw0KDQoNCiJ1c2Ugc3RyaWN0IjsNCmV2YWwoImdOb25TdHJpY3QoKTsiKTsNCg0KDQpmdW5jdGlvbiBnTm9uU3RyaWN0KCkgew0KICAgIHJldHVybiBnTm9uU3RyaWN0LmNhbGxlcjsNCn0NCg0K","commentary":"","description":"Strict mode - checking access to strict function caller from strict function (eval used within strict mode)","negative":"TypeError","onlyStrict":"","path":"TestCases/ch15/15.3/15.3.5/15.3.5.4/15.3.5.4_2-11gs.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4zLzE1LjMuNS8xNS4zLjUuNC8xNS4zLjUuNF8yLTEyZ3MuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpY3QgbW9kZSAtIGNoZWNraW5nIGFjY2VzcyB0byBub24tc3RyaWN0IGZ1bmN0aW9uIGNhbGxlciBmcm9tIG5vbi1zdHJpY3QgZnVuY3Rpb24gKGV2YWwgaW5jbHVkZXMgc3RyaWN0IGRpcmVjdGl2ZSBwcm9sb2d1ZSkNCiAqIEBub1N0cmljdA0KICovDQoNCg0KZXZhbCgiXCJ1c2Ugc3RyaWN0XCI7XG5nTm9uU3RyaWN0KCk7Iik7DQoNCg0KZnVuY3Rpb24gZ05vblN0cmljdCgpIHsNCiAgICByZXR1cm4gZ05vblN0cmljdC5jYWxsZXI7DQp9DQoNCg==","commentary":"","description":"Strict mode - checking access to non-strict function caller from non-strict function (eval includes strict directive prologue)","noStrict":"","path":"TestCases/ch15/15.3/15.3.5/15.3.5.4/15.3.5.4_2-12gs.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4zLzE1LjMuNS8xNS4zLjUuNC8xNS4zLjUuNF8yLTEzZ3MuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpY3QgbW9kZSAtIGNoZWNraW5nIGFjY2VzcyB0byBub24tc3RyaWN0IGZ1bmN0aW9uIGNhbGxlciBmcm9tIHN0cmljdCBmdW5jdGlvbiAoaW5kaXJlY3QgZXZhbCB1c2VkIHdpdGhpbiBzdHJpY3QgbW9kZSkNCiAqIEBvbmx5U3RyaWN0DQogKiBAbmVnYXRpdmUgVHlwZUVycm9yDQogKi8NCg0KDQoidXNlIHN0cmljdCI7DQp2YXIgbXlfZXZhbCA9IGV2YWw7DQpteV9ldmFsKCJnTm9uU3RyaWN0KCk7Iik7DQoNCg0KZnVuY3Rpb24gZ05vblN0cmljdCgpIHsNCiAgICByZXR1cm4gZ05vblN0cmljdC5jYWxsZXI7DQp9DQoNCg==","commentary":"","description":"Strict mode - checking access to non-strict function caller from strict function (indirect eval used within strict mode)","negative":"TypeError","onlyStrict":"","path":"TestCases/ch15/15.3/15.3.5/15.3.5.4/15.3.5.4_2-13gs.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4zLzE1LjMuNS8xNS4zLjUuNC8xNS4zLjUuNF8yLTE0Z3MuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpY3QgbW9kZSAtIGNoZWNraW5nIGFjY2VzcyB0byBub24tc3RyaWN0IGZ1bmN0aW9uIGNhbGxlciBmcm9tIG5vbi1zdHJpY3QgZnVuY3Rpb24gKGluZGlyZWN0IGV2YWwgaW5jbHVkZXMgc3RyaWN0IGRpcmVjdGl2ZSBwcm9sb2d1ZSkNCiAqIEBub1N0cmljdA0KICovDQoNCg0KdmFyIG15X2V2YWwgPSBldmFsOw0KbXlfZXZhbCgiXCJ1c2Ugc3RyaWN0XCI7XG5nTm9uU3RyaWN0KCk7Iik7DQoNCg0KZnVuY3Rpb24gZ05vblN0cmljdCgpIHsNCiAgICByZXR1cm4gZ05vblN0cmljdC5jYWxsZXI7DQp9DQoNCg==","commentary":"","description":"Strict mode - checking access to non-strict function caller from non-strict function (indirect eval includes strict directive prologue)","noStrict":"","path":"TestCases/ch15/15.3/15.3.5/15.3.5.4/15.3.5.4_2-14gs.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4zLzE1LjMuNS8xNS4zLjUuNC8xNS4zLjUuNF8yLTE1Z3MuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpY3QgbW9kZSAtIGNoZWNraW5nIGFjY2VzcyB0byBzdHJpY3QgZnVuY3Rpb24gY2FsbGVyIGZyb20gc3RyaWN0IGZ1bmN0aW9uIChOZXcnZWQgb2JqZWN0IGZyb20gRnVuY3Rpb25EZWNsYXJhdGlvbiBkZWZpbmVkIHdpdGhpbiBzdHJpY3QgbW9kZSkNCiAqIEBvbmx5U3RyaWN0DQogKiBAbmVnYXRpdmUgVHlwZUVycm9yDQogKi8NCg0KDQoidXNlIHN0cmljdCI7DQpmdW5jdGlvbiBmKCkgew0KICAgIHJldHVybiBnTm9uU3RyaWN0KCk7DQp9DQpuZXcgZigpOw0KDQoNCmZ1bmN0aW9uIGdOb25TdHJpY3QoKSB7DQogICAgcmV0dXJuIGdOb25TdHJpY3QuY2FsbGVyOw0KfQ0KDQo=","commentary":"","description":"Strict mode - checking access to strict function caller from strict function (New'ed object from FunctionDeclaration defined within strict mode)","negative":"TypeError","onlyStrict":"","path":"TestCases/ch15/15.3/15.3.5/15.3.5.4/15.3.5.4_2-15gs.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4zLzE1LjMuNS8xNS4zLjUuNC8xNS4zLjUuNF8yLTE2Z3MuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpY3QgbW9kZSAtIGNoZWNraW5nIGFjY2VzcyB0byBzdHJpY3QgZnVuY3Rpb24gY2FsbGVyIGZyb20gbm9uLXN0cmljdCBmdW5jdGlvbiAoTmV3J2VkIG9iamVjdCBmcm9tIEZ1bmN0aW9uRGVjbGFyYXRpb24gaW5jbHVkZXMgc3RyaWN0IGRpcmVjdGl2ZSBwcm9sb2d1ZSkNCiAqIEBub1N0cmljdA0KICogQG5lZ2F0aXZlIFR5cGVFcnJvcg0KICovDQoNCg0KZnVuY3Rpb24gZigpIHsNCiAgICAidXNlIHN0cmljdCI7DQogICAgcmV0dXJuIGdOb25TdHJpY3QoKTsNCn0NCm5ldyBmKCk7DQoNCg0KZnVuY3Rpb24gZ05vblN0cmljdCgpIHsNCiAgICByZXR1cm4gZ05vblN0cmljdC5jYWxsZXIgfHwgZ05vblN0cmljdC5jYWxsZXIudGhyb3dUeXBlRXJyb3I7DQp9DQoNCg==","commentary":"","description":"Strict mode - checking access to strict function caller from non-strict function (New'ed object from FunctionDeclaration includes strict directive prologue)","negative":"TypeError","noStrict":"","path":"TestCases/ch15/15.3/15.3.5/15.3.5.4/15.3.5.4_2-16gs.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4zLzE1LjMuNS8xNS4zLjUuNC8xNS4zLjUuNF8yLTE3Z3MuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpY3QgbW9kZSAtIGNoZWNraW5nIGFjY2VzcyB0byBzdHJpY3QgZnVuY3Rpb24gY2FsbGVyIGZyb20gc3RyaWN0IGZ1bmN0aW9uIChOZXcnZWQgb2JqZWN0IGZyb20gRnVuY3Rpb25FeHByZXNzaW9uIGRlZmluZWQgd2l0aGluIHN0cmljdCBtb2RlKQ0KICogQG9ubHlTdHJpY3QNCiAqIEBuZWdhdGl2ZSBUeXBlRXJyb3INCiAqLw0KDQoNCiJ1c2Ugc3RyaWN0IjsNCnZhciBmID0gZnVuY3Rpb24gKCkgew0KICAgIHJldHVybiBnTm9uU3RyaWN0KCk7DQp9DQpuZXcgZigpOw0KDQoNCmZ1bmN0aW9uIGdOb25TdHJpY3QoKSB7DQogICAgcmV0dXJuIGdOb25TdHJpY3QuY2FsbGVyOw0KfQ0KDQo=","commentary":"","description":"Strict mode - checking access to strict function caller from strict function (New'ed object from FunctionExpression defined within strict mode)","negative":"TypeError","onlyStrict":"","path":"TestCases/ch15/15.3/15.3.5/15.3.5.4/15.3.5.4_2-17gs.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4zLzE1LjMuNS8xNS4zLjUuNC8xNS4zLjUuNF8yLTE4Z3MuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpY3QgbW9kZSAtIGNoZWNraW5nIGFjY2VzcyB0byBzdHJpY3QgZnVuY3Rpb24gY2FsbGVyIGZyb20gbm9uLXN0cmljdCBmdW5jdGlvbiAoTmV3J2VkIG9iamVjdCBmcm9tIEZ1bmN0aW9uRXhwcmVzc2lvbiBpbmNsdWRlcyBzdHJpY3QgZGlyZWN0aXZlIHByb2xvZ3VlKQ0KICogQG5vU3RyaWN0DQogKiBAbmVnYXRpdmUgVHlwZUVycm9yDQogKi8NCg0KDQp2YXIgZiA9IGZ1bmN0aW9uICgpIHsNCiAgICAidXNlIHN0cmljdCI7DQogICAgcmV0dXJuIGdOb25TdHJpY3QoKTsNCn0NCm5ldyBmKCk7DQoNCg0KZnVuY3Rpb24gZ05vblN0cmljdCgpIHsNCiAgICByZXR1cm4gZ05vblN0cmljdC5jYWxsZXIgfHwgZ05vblN0cmljdC5jYWxsZXIudGhyb3dUeXBlRXJyb3I7DQp9DQoNCg==","commentary":"","description":"Strict mode - checking access to strict function caller from non-strict function (New'ed object from FunctionExpression includes strict directive prologue)","negative":"TypeError","noStrict":"","path":"TestCases/ch15/15.3/15.3.5/15.3.5.4/15.3.5.4_2-18gs.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4zLzE1LjMuNS8xNS4zLjUuNC8xNS4zLjUuNF8yLTE5Z3MuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpY3QgbW9kZSAtIGNoZWNraW5nIGFjY2VzcyB0byBzdHJpY3QgZnVuY3Rpb24gY2FsbGVyIGZyb20gc3RyaWN0IGZ1bmN0aW9uIChOZXcnZWQgb2JqZWN0IGZyb20gQW5vbnltb3VzIEZ1bmN0aW9uRXhwcmVzc2lvbiBkZWZpbmVkIHdpdGhpbiBzdHJpY3QgbW9kZSkNCiAqIEBvbmx5U3RyaWN0DQogKiBAbmVnYXRpdmUgVHlwZUVycm9yDQogKi8NCg0KDQoidXNlIHN0cmljdCI7DQp2YXIgb2JqID0gbmV3IChmdW5jdGlvbiAoKSB7DQogICAgcmV0dXJuIGdOb25TdHJpY3QoKTsNCn0pOw0KDQoNCmZ1bmN0aW9uIGdOb25TdHJpY3QoKSB7DQogICAgcmV0dXJuIGdOb25TdHJpY3QuY2FsbGVyOw0KfQ0KDQo=","commentary":"","description":"Strict mode - checking access to strict function caller from strict function (New'ed object from Anonymous FunctionExpression defined within strict mode)","negative":"TypeError","onlyStrict":"","path":"TestCases/ch15/15.3/15.3.5/15.3.5.4/15.3.5.4_2-19gs.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4zLzE1LjMuNS8xNS4zLjUuNC8xNS4zLjUuNF8yLTFncy5qcw0KICogQGRlc2NyaXB0aW9uIFN0cmljdCBtb2RlIC0gY2hlY2tpbmcgYWNjZXNzIHRvIHN0cmljdCBmdW5jdGlvbiBjYWxsZXIgZnJvbSBzdHJpY3QgZnVuY3Rpb24gKEZ1bmN0aW9uRGVjbGFyYXRpb24gZGVmaW5lZCB3aXRoaW4gc3RyaWN0IG1vZGUpDQogKiBAb25seVN0cmljdA0KICogQG5lZ2F0aXZlIFR5cGVFcnJvcg0KICovDQoNCg0KInVzZSBzdHJpY3QiOw0KZnVuY3Rpb24gZigpIHsNCiAgICByZXR1cm4gZ05vblN0cmljdCgpOw0KfQ0KZigpOw0KDQoNCmZ1bmN0aW9uIGdOb25TdHJpY3QoKSB7DQogICAgcmV0dXJuIGdOb25TdHJpY3QuY2FsbGVyOw0KfQ0KDQo=","commentary":"","description":"Strict mode - checking access to strict function caller from strict function (FunctionDeclaration defined within strict mode)","negative":"TypeError","onlyStrict":"","path":"TestCases/ch15/15.3/15.3.5/15.3.5.4/15.3.5.4_2-1gs.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4zLzE1LjMuNS8xNS4zLjUuNC8xNS4zLjUuNF8yLTIwZ3MuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpY3QgbW9kZSAtIGNoZWNraW5nIGFjY2VzcyB0byBzdHJpY3QgZnVuY3Rpb24gY2FsbGVyIGZyb20gbm9uLXN0cmljdCBmdW5jdGlvbiAoTmV3J2VkIG9iamVjdCBmcm9tIEFub255bW91cyBGdW5jdGlvbkV4cHJlc3Npb24gaW5jbHVkZXMgc3RyaWN0IGRpcmVjdGl2ZSBwcm9sb2d1ZSkNCiAqIEBub1N0cmljdA0KICogQG5lZ2F0aXZlIFR5cGVFcnJvcg0KICovDQoNCg0KdmFyIG9iaiA9IG5ldyAoZnVuY3Rpb24gKCkgew0KICAgICJ1c2Ugc3RyaWN0IjsNCiAgICByZXR1cm4gZ05vblN0cmljdCgpOw0KfSk7DQoNCg0KZnVuY3Rpb24gZ05vblN0cmljdCgpIHsNCiAgICByZXR1cm4gZ05vblN0cmljdC5jYWxsZXIgfHwgZ05vblN0cmljdC5jYWxsZXIudGhyb3dUeXBlRXJyb3I7DQp9DQoNCg==","commentary":"","description":"Strict mode - checking access to strict function caller from non-strict function (New'ed object from Anonymous FunctionExpression includes strict directive prologue)","negative":"TypeError","noStrict":"","path":"TestCases/ch15/15.3/15.3.5/15.3.5.4/15.3.5.4_2-20gs.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4zLzE1LjMuNS8xNS4zLjUuNC8xNS4zLjUuNF8yLTIxZ3MuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpY3QgbW9kZSAtIGNoZWNraW5nIGFjY2VzcyB0byBzdHJpY3QgZnVuY3Rpb24gY2FsbGVyIGZyb20gc3RyaWN0IGZ1bmN0aW9uIChGdW5jdGlvbkRlY2xhcmF0aW9uIGRlZmluZWQgd2l0aGluIGEgRnVuY3Rpb25EZWNsYXJhdGlvbiBpbnNpZGUgc3RyaWN0IG1vZGUpDQogKiBAb25seVN0cmljdA0KICogQG5lZ2F0aXZlIFR5cGVFcnJvcg0KICovDQoNCg0KInVzZSBzdHJpY3QiOw0KZnVuY3Rpb24gZjEoKSB7DQogICAgZnVuY3Rpb24gZigpIHsNCiAgICAgICAgcmV0dXJuIGdOb25TdHJpY3QoKTsNCiAgICB9DQogICAgcmV0dXJuIGYoKTsNCn0NCmYxKCk7DQoNCg0KZnVuY3Rpb24gZ05vblN0cmljdCgpIHsNCiAgICByZXR1cm4gZ05vblN0cmljdC5jYWxsZXI7DQp9DQoNCg==","commentary":"","description":"Strict mode - checking access to strict function caller from strict function (FunctionDeclaration defined within a FunctionDeclaration inside strict mode)","negative":"TypeError","onlyStrict":"","path":"TestCases/ch15/15.3/15.3.5/15.3.5.4/15.3.5.4_2-21gs.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4zLzE1LjMuNS8xNS4zLjUuNC8xNS4zLjUuNF8yLTIyZ3MuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpY3QgbW9kZSAtIGNoZWNraW5nIGFjY2VzcyB0byBzdHJpY3QgZnVuY3Rpb24gY2FsbGVyIGZyb20gc3RyaWN0IGZ1bmN0aW9uIChGdW5jdGlvbkV4cHJlc3Npb24gZGVmaW5lZCB3aXRoaW4gYSBGdW5jdGlvbkRlY2xhcmF0aW9uIGluc2lkZSBzdHJpY3QgbW9kZSkNCiAqIEBvbmx5U3RyaWN0DQogKiBAbmVnYXRpdmUgVHlwZUVycm9yDQogKi8NCg0KDQoidXNlIHN0cmljdCI7DQpmdW5jdGlvbiBmMSgpIHsNCiAgICB2YXIgZiA9IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgcmV0dXJuIGdOb25TdHJpY3QoKTsNCiAgICB9DQogICAgcmV0dXJuIGYoKTsNCn0NCmYxKCk7DQoNCg0KZnVuY3Rpb24gZ05vblN0cmljdCgpIHsNCiAgICByZXR1cm4gZ05vblN0cmljdC5jYWxsZXI7DQp9DQoNCg==","commentary":"","description":"Strict mode - checking access to strict function caller from strict function (FunctionExpression defined within a FunctionDeclaration inside strict mode)","negative":"TypeError","onlyStrict":"","path":"TestCases/ch15/15.3/15.3.5/15.3.5.4/15.3.5.4_2-22gs.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4zLzE1LjMuNS8xNS4zLjUuNC8xNS4zLjUuNF8yLTIzZ3MuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpY3QgbW9kZSAtIGNoZWNraW5nIGFjY2VzcyB0byBzdHJpY3QgZnVuY3Rpb24gY2FsbGVyIGZyb20gc3RyaWN0IGZ1bmN0aW9uIChBbm9ueW1vdXMgRnVuY3Rpb25FeHByZXNzaW9uIGRlZmluZWQgd2l0aGluIGEgRnVuY3Rpb25EZWNsYXJhdGlvbiBpbnNpZGUgc3RyaWN0IG1vZGUpDQogKiBAb25seVN0cmljdA0KICogQG5lZ2F0aXZlIFR5cGVFcnJvcg0KICovDQoNCg0KInVzZSBzdHJpY3QiOw0KZnVuY3Rpb24gZjEoKSB7DQogICAgcmV0dXJuIChmdW5jdGlvbiAoKSB7DQogICAgICAgIHJldHVybiBnTm9uU3RyaWN0KCk7DQogICAgfSkoKTsNCn0NCmYxKCk7DQoNCg0KZnVuY3Rpb24gZ05vblN0cmljdCgpIHsNCiAgICByZXR1cm4gZ05vblN0cmljdC5jYWxsZXI7DQp9DQoNCg==","commentary":"","description":"Strict mode - checking access to strict function caller from strict function (Anonymous FunctionExpression defined within a FunctionDeclaration inside strict mode)","negative":"TypeError","onlyStrict":"","path":"TestCases/ch15/15.3/15.3.5/15.3.5.4/15.3.5.4_2-23gs.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4zLzE1LjMuNS8xNS4zLjUuNC8xNS4zLjUuNF8yLTI0Z3MuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpY3QgbW9kZSAtIGNoZWNraW5nIGFjY2VzcyB0byBzdHJpY3QgZnVuY3Rpb24gY2FsbGVyIGZyb20gc3RyaWN0IGZ1bmN0aW9uIChGdW5jdGlvbkRlY2xhcmF0aW9uIGRlZmluZWQgd2l0aGluIGEgRnVuY3Rpb25FeHByZXNzaW9uIGluc2lkZSBzdHJpY3QgbW9kZSkNCiAqIEBvbmx5U3RyaWN0DQogKiBAbmVnYXRpdmUgVHlwZUVycm9yDQogKi8NCg0KDQoidXNlIHN0cmljdCI7DQp2YXIgZjEgPSBmdW5jdGlvbiAoKSB7DQogICAgZnVuY3Rpb24gZigpIHsNCiAgICAgICAgcmV0dXJuIGdOb25TdHJpY3QoKTsNCiAgICB9DQogICAgcmV0dXJuIGYoKTsNCn0NCmYxKCk7DQoNCg0KZnVuY3Rpb24gZ05vblN0cmljdCgpIHsNCiAgICByZXR1cm4gZ05vblN0cmljdC5jYWxsZXI7DQp9DQoNCg==","commentary":"","description":"Strict mode - checking access to strict function caller from strict function (FunctionDeclaration defined within a FunctionExpression inside strict mode)","negative":"TypeError","onlyStrict":"","path":"TestCases/ch15/15.3/15.3.5/15.3.5.4/15.3.5.4_2-24gs.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4zLzE1LjMuNS8xNS4zLjUuNC8xNS4zLjUuNF8yLTI1Z3MuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpY3QgbW9kZSAtIGNoZWNraW5nIGFjY2VzcyB0byBzdHJpY3QgZnVuY3Rpb24gY2FsbGVyIGZyb20gc3RyaWN0IGZ1bmN0aW9uIChGdW5jdGlvbkV4cHJlc3Npb24gZGVmaW5lZCB3aXRoaW4gYSBGdW5jdGlvbkV4cHJlc3Npb24gaW5zaWRlIHN0cmljdCBtb2RlKQ0KICogQG9ubHlTdHJpY3QNCiAqIEBuZWdhdGl2ZSBUeXBlRXJyb3INCiAqLw0KDQoNCiJ1c2Ugc3RyaWN0IjsNCnZhciBmMSA9IGZ1bmN0aW9uICgpIHsNCiAgICB2YXIgZiA9IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgcmV0dXJuIGdOb25TdHJpY3QoKTsNCiAgICB9DQogICAgcmV0dXJuIGYoKTsNCn0NCmYxKCk7DQoNCg0KZnVuY3Rpb24gZ05vblN0cmljdCgpIHsNCiAgICByZXR1cm4gZ05vblN0cmljdC5jYWxsZXI7DQp9DQoNCg==","commentary":"","description":"Strict mode - checking access to strict function caller from strict function (FunctionExpression defined within a FunctionExpression inside strict mode)","negative":"TypeError","onlyStrict":"","path":"TestCases/ch15/15.3/15.3.5/15.3.5.4/15.3.5.4_2-25gs.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4zLzE1LjMuNS8xNS4zLjUuNC8xNS4zLjUuNF8yLTI2Z3MuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpY3QgbW9kZSAtIGNoZWNraW5nIGFjY2VzcyB0byBzdHJpY3QgZnVuY3Rpb24gY2FsbGVyIGZyb20gc3RyaWN0IGZ1bmN0aW9uIChBbm9ueW1vdXMgRnVuY3Rpb25FeHByZXNzaW9uIGRlZmluZWQgd2l0aGluIGEgRnVuY3Rpb25FeHByZXNzaW9uIGluc2lkZSBzdHJpY3QgbW9kZSkNCiAqIEBvbmx5U3RyaWN0DQogKiBAbmVnYXRpdmUgVHlwZUVycm9yDQogKi8NCg0KDQoidXNlIHN0cmljdCI7DQp2YXIgZjEgPSBmdW5jdGlvbiAoKSB7DQogICAgcmV0dXJuIChmdW5jdGlvbiAoKSB7DQogICAgICAgIHJldHVybiBnTm9uU3RyaWN0KCk7DQogICAgfSkoKTsNCn0NCmYxKCk7DQoNCg0KZnVuY3Rpb24gZ05vblN0cmljdCgpIHsNCiAgICByZXR1cm4gZ05vblN0cmljdC5jYWxsZXI7DQp9DQoNCg==","commentary":"","description":"Strict mode - checking access to strict function caller from strict function (Anonymous FunctionExpression defined within a FunctionExpression inside strict mode)","negative":"TypeError","onlyStrict":"","path":"TestCases/ch15/15.3/15.3.5/15.3.5.4/15.3.5.4_2-26gs.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4zLzE1LjMuNS8xNS4zLjUuNC8xNS4zLjUuNF8yLTI3Z3MuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpY3QgbW9kZSAtIGNoZWNraW5nIGFjY2VzcyB0byBzdHJpY3QgZnVuY3Rpb24gY2FsbGVyIGZyb20gc3RyaWN0IGZ1bmN0aW9uIChGdW5jdGlvbkRlY2xhcmF0aW9uIGRlZmluZWQgd2l0aGluIGFuIEFub255bW91cyBGdW5jdGlvbkV4cHJlc3Npb24gaW5zaWRlIHN0cmljdCBtb2RlKQ0KICogQG9ubHlTdHJpY3QNCiAqIEBuZWdhdGl2ZSBUeXBlRXJyb3INCiAqLw0KDQoNCiJ1c2Ugc3RyaWN0IjsNCihmdW5jdGlvbiAoKSB7DQogICAgZnVuY3Rpb24gZigpIHsNCiAgICAgICAgcmV0dXJuIGdOb25TdHJpY3QoKTsNCiAgICB9DQogICAgcmV0dXJuIGYoKTsNCn0pKCk7DQoNCg0KZnVuY3Rpb24gZ05vblN0cmljdCgpIHsNCiAgICByZXR1cm4gZ05vblN0cmljdC5jYWxsZXI7DQp9DQoNCg==","commentary":"","description":"Strict mode - checking access to strict function caller from strict function (FunctionDeclaration defined within an Anonymous FunctionExpression inside strict mode)","negative":"TypeError","onlyStrict":"","path":"TestCases/ch15/15.3/15.3.5/15.3.5.4/15.3.5.4_2-27gs.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4zLzE1LjMuNS8xNS4zLjUuNC8xNS4zLjUuNF8yLTI4Z3MuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpY3QgbW9kZSAtIGNoZWNraW5nIGFjY2VzcyB0byBzdHJpY3QgZnVuY3Rpb24gY2FsbGVyIGZyb20gc3RyaWN0IGZ1bmN0aW9uIChGdW5jdGlvbkV4cHJlc3Npb24gZGVmaW5lZCB3aXRoaW4gYW4gQW5vbnltb3VzIEZ1bmN0aW9uRXhwcmVzc2lvbiBpbnNpZGUgc3RyaWN0IG1vZGUpDQogKiBAb25seVN0cmljdA0KICogQG5lZ2F0aXZlIFR5cGVFcnJvcg0KICovDQoNCg0KInVzZSBzdHJpY3QiOw0KKGZ1bmN0aW9uICgpIHsNCiAgICB2YXIgZiA9IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgcmV0dXJuIGdOb25TdHJpY3QoKTsNCiAgICB9DQogICAgcmV0dXJuIGYoKTsNCn0pKCk7DQoNCg0KZnVuY3Rpb24gZ05vblN0cmljdCgpIHsNCiAgICByZXR1cm4gZ05vblN0cmljdC5jYWxsZXI7DQp9DQoNCg==","commentary":"","description":"Strict mode - checking access to strict function caller from strict function (FunctionExpression defined within an Anonymous FunctionExpression inside strict mode)","negative":"TypeError","onlyStrict":"","path":"TestCases/ch15/15.3/15.3.5/15.3.5.4/15.3.5.4_2-28gs.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4zLzE1LjMuNS8xNS4zLjUuNC8xNS4zLjUuNF8yLTI5Z3MuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpY3QgbW9kZSAtIGNoZWNraW5nIGFjY2VzcyB0byBzdHJpY3QgZnVuY3Rpb24gY2FsbGVyIGZyb20gc3RyaWN0IGZ1bmN0aW9uIChBbm9ueW1vdXMgRnVuY3Rpb25FeHByZXNzaW9uIGRlZmluZWQgd2l0aGluIGFuIEFub255bW91cyBGdW5jdGlvbkV4cHJlc3Npb24gaW5zaWRlIHN0cmljdCBtb2RlKQ0KICogQG9ubHlTdHJpY3QNCiAqIEBuZWdhdGl2ZSBUeXBlRXJyb3INCiAqLw0KDQoNCiJ1c2Ugc3RyaWN0IjsNCihmdW5jdGlvbiAoKSB7DQogICAgcmV0dXJuIChmdW5jdGlvbiAoKSB7DQogICAgICAgIHJldHVybiBnTm9uU3RyaWN0KCk7DQogICAgfSkoKTsNCn0pKCk7DQoNCg0KZnVuY3Rpb24gZ05vblN0cmljdCgpIHsNCiAgICByZXR1cm4gZ05vblN0cmljdC5jYWxsZXI7DQp9DQoNCg==","commentary":"","description":"Strict mode - checking access to strict function caller from strict function (Anonymous FunctionExpression defined within an Anonymous FunctionExpression inside strict mode)","negative":"TypeError","onlyStrict":"","path":"TestCases/ch15/15.3/15.3.5/15.3.5.4/15.3.5.4_2-29gs.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4zLzE1LjMuNS8xNS4zLjUuNC8xNS4zLjUuNF8yLTJncy5qcw0KICogQGRlc2NyaXB0aW9uIFN0cmljdCBtb2RlIC0gY2hlY2tpbmcgYWNjZXNzIHRvIHN0cmljdCBmdW5jdGlvbiBjYWxsZXIgZnJvbSBub24tc3RyaWN0IGZ1bmN0aW9uIChGdW5jdGlvbkRlY2xhcmF0aW9uIGluY2x1ZGVzIHN0cmljdCBkaXJlY3RpdmUgcHJvbG9ndWUpDQogKiBAbm9TdHJpY3QNCiAqIEBuZWdhdGl2ZSBUeXBlRXJyb3INCiAqLw0KDQoNCmZ1bmN0aW9uIGYoKSB7DQogICAgInVzZSBzdHJpY3QiOw0KICAgIHJldHVybiBnTm9uU3RyaWN0KCk7DQp9DQpmKCk7DQoNCg0KZnVuY3Rpb24gZ05vblN0cmljdCgpIHsNCiAgICByZXR1cm4gZ05vblN0cmljdC5jYWxsZXIgfHwgZ05vblN0cmljdC5jYWxsZXIudGhyb3dUeXBlRXJyb3I7DQp9DQoNCg==","commentary":"","description":"Strict mode - checking access to strict function caller from non-strict function (FunctionDeclaration includes strict directive prologue)","negative":"TypeError","noStrict":"","path":"TestCases/ch15/15.3/15.3.5/15.3.5.4/15.3.5.4_2-2gs.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4zLzE1LjMuNS8xNS4zLjUuNC8xNS4zLjUuNF8yLTMwZ3MuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpY3QgbW9kZSAtIGNoZWNraW5nIGFjY2VzcyB0byBzdHJpY3QgZnVuY3Rpb24gY2FsbGVyIGZyb20gbm9uLXN0cmljdCBmdW5jdGlvbiAoRnVuY3Rpb25EZWNsYXJhdGlvbiBkZWZpbmVkIHdpdGhpbiBhIEZ1bmN0aW9uRGVjbGFyYXRpb24gd2l0aCBhIHN0cmljdCBkaXJlY3RpdmUgcHJvbG9ndWUpDQogKiBAbm9TdHJpY3QNCiAqIEBuZWdhdGl2ZSBUeXBlRXJyb3INCiAqLw0KDQoNCmZ1bmN0aW9uIGYxKCkgew0KICAgICJ1c2Ugc3RyaWN0IjsNCiAgICBmdW5jdGlvbiBmKCkgew0KICAgICAgICByZXR1cm4gZ05vblN0cmljdCgpOw0KICAgIH0NCiAgICByZXR1cm4gZigpOw0KfQ0KZjEoKTsNCg0KDQpmdW5jdGlvbiBnTm9uU3RyaWN0KCkgew0KICAgIHJldHVybiBnTm9uU3RyaWN0LmNhbGxlciB8fCBnTm9uU3RyaWN0LmNhbGxlci50aHJvd1R5cGVFcnJvcjsNCn0NCg0K","commentary":"","description":"Strict mode - checking access to strict function caller from non-strict function (FunctionDeclaration defined within a FunctionDeclaration with a strict directive prologue)","negative":"TypeError","noStrict":"","path":"TestCases/ch15/15.3/15.3.5/15.3.5.4/15.3.5.4_2-30gs.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4zLzE1LjMuNS8xNS4zLjUuNC8xNS4zLjUuNF8yLTMxZ3MuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpY3QgbW9kZSAtIGNoZWNraW5nIGFjY2VzcyB0byBzdHJpY3QgZnVuY3Rpb24gY2FsbGVyIGZyb20gbm9uLXN0cmljdCBmdW5jdGlvbiAoRnVuY3Rpb25FeHByZXNzaW9uIGRlZmluZWQgd2l0aGluIGEgRnVuY3Rpb25EZWNsYXJhdGlvbiB3aXRoIGEgc3RyaWN0IGRpcmVjdGl2ZSBwcm9sb2d1ZSkNCiAqIEBub1N0cmljdA0KICogQG5lZ2F0aXZlIFR5cGVFcnJvcg0KICovDQoNCg0KZnVuY3Rpb24gZjEoKSB7DQogICAgInVzZSBzdHJpY3QiOw0KICAgIHZhciBmID0gZnVuY3Rpb24gKCkgew0KICAgICAgICByZXR1cm4gZ05vblN0cmljdCgpOw0KICAgIH0NCiAgICByZXR1cm4gZigpOw0KfQ0KZjEoKTsNCg0KDQpmdW5jdGlvbiBnTm9uU3RyaWN0KCkgew0KICAgIHJldHVybiBnTm9uU3RyaWN0LmNhbGxlciB8fCBnTm9uU3RyaWN0LmNhbGxlci50aHJvd1R5cGVFcnJvcjsNCn0NCg0K","commentary":"","description":"Strict mode - checking access to strict function caller from non-strict function (FunctionExpression defined within a FunctionDeclaration with a strict directive prologue)","negative":"TypeError","noStrict":"","path":"TestCases/ch15/15.3/15.3.5/15.3.5.4/15.3.5.4_2-31gs.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4zLzE1LjMuNS8xNS4zLjUuNC8xNS4zLjUuNF8yLTMyZ3MuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpY3QgbW9kZSAtIGNoZWNraW5nIGFjY2VzcyB0byBzdHJpY3QgZnVuY3Rpb24gY2FsbGVyIGZyb20gbm9uLXN0cmljdCBmdW5jdGlvbiAoQW5vbnltb3VzIEZ1bmN0aW9uRXhwcmVzc2lvbiBkZWZpbmVkIHdpdGhpbiBhIEZ1bmN0aW9uRGVjbGFyYXRpb24gd2l0aCBhIHN0cmljdCBkaXJlY3RpdmUgcHJvbG9ndWUpDQogKiBAbm9TdHJpY3QNCiAqIEBuZWdhdGl2ZSBUeXBlRXJyb3INCiAqLw0KDQoNCmZ1bmN0aW9uIGYxKCkgew0KICAgICJ1c2Ugc3RyaWN0IjsNCiAgICByZXR1cm4gKGZ1bmN0aW9uICgpIHsNCiAgICAgICAgcmV0dXJuIGdOb25TdHJpY3QoKTsNCiAgICB9KSgpOw0KfQ0KZjEoKTsNCg0KDQpmdW5jdGlvbiBnTm9uU3RyaWN0KCkgew0KICAgIHJldHVybiBnTm9uU3RyaWN0LmNhbGxlciB8fCBnTm9uU3RyaWN0LmNhbGxlci50aHJvd1R5cGVFcnJvcjsNCn0NCg0K","commentary":"","description":"Strict mode - checking access to strict function caller from non-strict function (Anonymous FunctionExpression defined within a FunctionDeclaration with a strict directive prologue)","negative":"TypeError","noStrict":"","path":"TestCases/ch15/15.3/15.3.5/15.3.5.4/15.3.5.4_2-32gs.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4zLzE1LjMuNS8xNS4zLjUuNC8xNS4zLjUuNF8yLTMzZ3MuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpY3QgbW9kZSAtIGNoZWNraW5nIGFjY2VzcyB0byBzdHJpY3QgZnVuY3Rpb24gY2FsbGVyIGZyb20gbm9uLXN0cmljdCBmdW5jdGlvbiAoRnVuY3Rpb25EZWNsYXJhdGlvbiBkZWZpbmVkIHdpdGhpbiBhIEZ1bmN0aW9uRXhwcmVzc2lvbiB3aXRoIGEgc3RyaWN0IGRpcmVjdGl2ZSBwcm9sb2d1ZSkNCiAqIEBub1N0cmljdA0KICogQG5lZ2F0aXZlIFR5cGVFcnJvcg0KICovDQoNCg0KdmFyIGYxID0gZnVuY3Rpb24gKCkgew0KICAgICJ1c2Ugc3RyaWN0IjsNCiAgICBmdW5jdGlvbiBmKCkgew0KICAgICAgICByZXR1cm4gZ05vblN0cmljdCgpOw0KICAgIH0NCiAgICByZXR1cm4gZigpOw0KfQ0KZjEoKTsNCg0KDQpmdW5jdGlvbiBnTm9uU3RyaWN0KCkgew0KICAgIHJldHVybiBnTm9uU3RyaWN0LmNhbGxlciB8fCBnTm9uU3RyaWN0LmNhbGxlci50aHJvd1R5cGVFcnJvcjsNCn0NCg0K","commentary":"","description":"Strict mode - checking access to strict function caller from non-strict function (FunctionDeclaration defined within a FunctionExpression with a strict directive prologue)","negative":"TypeError","noStrict":"","path":"TestCases/ch15/15.3/15.3.5/15.3.5.4/15.3.5.4_2-33gs.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4zLzE1LjMuNS8xNS4zLjUuNC8xNS4zLjUuNF8yLTM0Z3MuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpY3QgbW9kZSAtIGNoZWNraW5nIGFjY2VzcyB0byBzdHJpY3QgZnVuY3Rpb24gY2FsbGVyIGZyb20gbm9uLXN0cmljdCBmdW5jdGlvbiAoRnVuY3Rpb25FeHByZXNzaW9uIGRlZmluZWQgd2l0aGluIGEgRnVuY3Rpb25FeHByZXNzaW9uIHdpdGggYSBzdHJpY3QgZGlyZWN0aXZlIHByb2xvZ3VlKQ0KICogQG5vU3RyaWN0DQogKiBAbmVnYXRpdmUgVHlwZUVycm9yDQogKi8NCg0KDQp2YXIgZjEgPSBmdW5jdGlvbiAoKSB7DQogICAgInVzZSBzdHJpY3QiOw0KICAgIHZhciBmID0gZnVuY3Rpb24gKCkgew0KICAgICAgICByZXR1cm4gZ05vblN0cmljdCgpOw0KICAgIH0NCiAgICByZXR1cm4gZigpOw0KfQ0KZjEoKTsNCg0KDQpmdW5jdGlvbiBnTm9uU3RyaWN0KCkgew0KICAgIHJldHVybiBnTm9uU3RyaWN0LmNhbGxlciB8fCBnTm9uU3RyaWN0LmNhbGxlci50aHJvd1R5cGVFcnJvcjsNCn0NCg0K","commentary":"","description":"Strict mode - checking access to strict function caller from non-strict function (FunctionExpression defined within a FunctionExpression with a strict directive prologue)","negative":"TypeError","noStrict":"","path":"TestCases/ch15/15.3/15.3.5/15.3.5.4/15.3.5.4_2-34gs.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4zLzE1LjMuNS8xNS4zLjUuNC8xNS4zLjUuNF8yLTM1Z3MuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpY3QgbW9kZSAtIGNoZWNraW5nIGFjY2VzcyB0byBzdHJpY3QgZnVuY3Rpb24gY2FsbGVyIGZyb20gbm9uLXN0cmljdCBmdW5jdGlvbiAoQW5vbnltb3VzIEZ1bmN0aW9uRXhwcmVzc2lvbiBkZWZpbmVkIHdpdGhpbiBhIEZ1bmN0aW9uRXhwcmVzc2lvbiB3aXRoIGEgc3RyaWN0IGRpcmVjdGl2ZSBwcm9sb2d1ZSkNCiAqIEBub1N0cmljdA0KICogQG5lZ2F0aXZlIFR5cGVFcnJvcg0KICovDQoNCg0KdmFyIGYxID0gZnVuY3Rpb24gKCkgew0KICAgICJ1c2Ugc3RyaWN0IjsNCiAgICByZXR1cm4gKGZ1bmN0aW9uICgpIHsNCiAgICAgICAgcmV0dXJuIGdOb25TdHJpY3QoKTsNCiAgICB9KSgpOw0KfQ0KZjEoKTsNCg0KDQpmdW5jdGlvbiBnTm9uU3RyaWN0KCkgew0KICAgIHJldHVybiBnTm9uU3RyaWN0LmNhbGxlciB8fCBnTm9uU3RyaWN0LmNhbGxlci50aHJvd1R5cGVFcnJvcjsNCn0NCg0K","commentary":"","description":"Strict mode - checking access to strict function caller from non-strict function (Anonymous FunctionExpression defined within a FunctionExpression with a strict directive prologue)","negative":"TypeError","noStrict":"","path":"TestCases/ch15/15.3/15.3.5/15.3.5.4/15.3.5.4_2-35gs.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4zLzE1LjMuNS8xNS4zLjUuNC8xNS4zLjUuNF8yLTM2Z3MuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpY3QgbW9kZSAtIGNoZWNraW5nIGFjY2VzcyB0byBzdHJpY3QgZnVuY3Rpb24gY2FsbGVyIGZyb20gbm9uLXN0cmljdCBmdW5jdGlvbiAoRnVuY3Rpb25EZWNsYXJhdGlvbiBkZWZpbmVkIHdpdGhpbiBhbiBBbm9ueW1vdXMgRnVuY3Rpb25FeHByZXNzaW9uIHdpdGggYSBzdHJpY3QgZGlyZWN0aXZlIHByb2xvZ3VlKQ0KICogQG5vU3RyaWN0DQogKiBAbmVnYXRpdmUgVHlwZUVycm9yDQogKi8NCg0KDQooZnVuY3Rpb24gKCkgew0KICAgICJ1c2Ugc3RyaWN0IjsNCiAgICBmdW5jdGlvbiBmKCkgew0KICAgICAgICByZXR1cm4gZ05vblN0cmljdCgpOw0KICAgIH0NCiAgICByZXR1cm4gZigpOw0KfSkoKTsNCg0KDQpmdW5jdGlvbiBnTm9uU3RyaWN0KCkgew0KICAgIHJldHVybiBnTm9uU3RyaWN0LmNhbGxlciB8fCBnTm9uU3RyaWN0LmNhbGxlci50aHJvd1R5cGVFcnJvcjsNCn0NCg0K","commentary":"","description":"Strict mode - checking access to strict function caller from non-strict function (FunctionDeclaration defined within an Anonymous FunctionExpression with a strict directive prologue)","negative":"TypeError","noStrict":"","path":"TestCases/ch15/15.3/15.3.5/15.3.5.4/15.3.5.4_2-36gs.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4zLzE1LjMuNS8xNS4zLjUuNC8xNS4zLjUuNF8yLTM3Z3MuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpY3QgbW9kZSAtIGNoZWNraW5nIGFjY2VzcyB0byBzdHJpY3QgZnVuY3Rpb24gY2FsbGVyIGZyb20gbm9uLXN0cmljdCBmdW5jdGlvbiAoRnVuY3Rpb25FeHByZXNzaW9uIGRlZmluZWQgd2l0aGluIGFuIEFub255bW91cyBGdW5jdGlvbkV4cHJlc3Npb24gd2l0aCBhIHN0cmljdCBkaXJlY3RpdmUgcHJvbG9ndWUpDQogKiBAbm9TdHJpY3QNCiAqIEBuZWdhdGl2ZSBUeXBlRXJyb3INCiAqLw0KDQoNCihmdW5jdGlvbiAoKSB7DQogICAgInVzZSBzdHJpY3QiOw0KICAgIHZhciBmID0gZnVuY3Rpb24gKCkgew0KICAgICAgICByZXR1cm4gZ05vblN0cmljdCgpOw0KICAgIH0NCiAgICByZXR1cm4gZigpOw0KfSkoKTsNCg0KDQpmdW5jdGlvbiBnTm9uU3RyaWN0KCkgew0KICAgIHJldHVybiBnTm9uU3RyaWN0LmNhbGxlciB8fCBnTm9uU3RyaWN0LmNhbGxlci50aHJvd1R5cGVFcnJvcjsNCn0NCg0K","commentary":"","description":"Strict mode - checking access to strict function caller from non-strict function (FunctionExpression defined within an Anonymous FunctionExpression with a strict directive prologue)","negative":"TypeError","noStrict":"","path":"TestCases/ch15/15.3/15.3.5/15.3.5.4/15.3.5.4_2-37gs.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4zLzE1LjMuNS8xNS4zLjUuNC8xNS4zLjUuNF8yLTM4Z3MuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpY3QgbW9kZSAtIGNoZWNraW5nIGFjY2VzcyB0byBzdHJpY3QgZnVuY3Rpb24gY2FsbGVyIGZyb20gbm9uLXN0cmljdCBmdW5jdGlvbiAoQW5vbnltb3VzIEZ1bmN0aW9uRXhwcmVzc2lvbiBkZWZpbmVkIHdpdGhpbiBhbiBBbm9ueW1vdXMgRnVuY3Rpb25FeHByZXNzaW9uIHdpdGggYSBzdHJpY3QgZGlyZWN0aXZlIHByb2xvZ3VlKQ0KICogQG5vU3RyaWN0DQogKiBAbmVnYXRpdmUgVHlwZUVycm9yDQogKi8NCg0KDQooZnVuY3Rpb24gKCkgew0KICAgICJ1c2Ugc3RyaWN0IjsNCiAgICByZXR1cm4gKGZ1bmN0aW9uICgpIHsNCiAgICAgICAgcmV0dXJuIGdOb25TdHJpY3QoKTsNCiAgICB9KSgpOw0KfSkoKTsNCg0KDQpmdW5jdGlvbiBnTm9uU3RyaWN0KCkgew0KICAgIHJldHVybiBnTm9uU3RyaWN0LmNhbGxlciB8fCBnTm9uU3RyaWN0LmNhbGxlci50aHJvd1R5cGVFcnJvcjsNCn0NCg0K","commentary":"","description":"Strict mode - checking access to strict function caller from non-strict function (Anonymous FunctionExpression defined within an Anonymous FunctionExpression with a strict directive prologue)","negative":"TypeError","noStrict":"","path":"TestCases/ch15/15.3/15.3.5/15.3.5.4/15.3.5.4_2-38gs.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4zLzE1LjMuNS8xNS4zLjUuNC8xNS4zLjUuNF8yLTM5Z3MuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpY3QgbW9kZSAtIGNoZWNraW5nIGFjY2VzcyB0byBzdHJpY3QgZnVuY3Rpb24gY2FsbGVyIGZyb20gbm9uLXN0cmljdCBmdW5jdGlvbiAoRnVuY3Rpb25EZWNsYXJhdGlvbiB3aXRoIGEgc3RyaWN0IGRpcmVjdGl2ZSBwcm9sb2d1ZSBkZWZpbmVkIHdpdGhpbiBhIEZ1bmN0aW9uRGVjbGFyYXRpb24pDQogKiBAbm9TdHJpY3QNCiAqIEBuZWdhdGl2ZSBUeXBlRXJyb3INCiAqLw0KDQoNCmZ1bmN0aW9uIGYxKCkgew0KICAgIGZ1bmN0aW9uIGYoKSB7DQogICAgICAgICJ1c2Ugc3RyaWN0IjsNCiAgICAgICAgcmV0dXJuIGdOb25TdHJpY3QoKTsNCiAgICB9DQogICAgcmV0dXJuIGYoKTsNCn0NCmYxKCk7DQoNCg0KZnVuY3Rpb24gZ05vblN0cmljdCgpIHsNCiAgICByZXR1cm4gZ05vblN0cmljdC5jYWxsZXIgfHwgZ05vblN0cmljdC5jYWxsZXIudGhyb3dUeXBlRXJyb3I7DQp9DQoNCg==","commentary":"","description":"Strict mode - checking access to strict function caller from non-strict function (FunctionDeclaration with a strict directive prologue defined within a FunctionDeclaration)","negative":"TypeError","noStrict":"","path":"TestCases/ch15/15.3/15.3.5/15.3.5.4/15.3.5.4_2-39gs.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4zLzE1LjMuNS8xNS4zLjUuNC8xNS4zLjUuNF8yLTNncy5qcw0KICogQGRlc2NyaXB0aW9uIFN0cmljdCBtb2RlIC0gY2hlY2tpbmcgYWNjZXNzIHRvIHN0cmljdCBmdW5jdGlvbiBjYWxsZXIgZnJvbSBzdHJpY3QgZnVuY3Rpb24gKEZ1bmN0aW9uRXhwcmVzc2lvbiBkZWZpbmVkIHdpdGhpbiBzdHJpY3QgbW9kZSkNCiAqIEBvbmx5U3RyaWN0DQogKiBAbmVnYXRpdmUgVHlwZUVycm9yDQogKi8NCg0KDQoidXNlIHN0cmljdCI7DQp2YXIgZiA9IGZ1bmN0aW9uICgpIHsNCiAgICByZXR1cm4gZ05vblN0cmljdCgpOw0KfQ0KZigpOw0KDQoNCmZ1bmN0aW9uIGdOb25TdHJpY3QoKSB7DQogICAgcmV0dXJuIGdOb25TdHJpY3QuY2FsbGVyOw0KfQ0KDQo=","commentary":"","description":"Strict mode - checking access to strict function caller from strict function (FunctionExpression defined within strict mode)","negative":"TypeError","onlyStrict":"","path":"TestCases/ch15/15.3/15.3.5/15.3.5.4/15.3.5.4_2-3gs.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4zLzE1LjMuNS8xNS4zLjUuNC8xNS4zLjUuNF8yLTQwZ3MuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpY3QgbW9kZSAtIGNoZWNraW5nIGFjY2VzcyB0byBzdHJpY3QgZnVuY3Rpb24gY2FsbGVyIGZyb20gbm9uLXN0cmljdCBmdW5jdGlvbiAoRnVuY3Rpb25FeHByZXNzaW9uIHdpdGggYSBzdHJpY3QgZGlyZWN0aXZlIHByb2xvZ3VlIGRlZmluZWQgd2l0aGluIGEgRnVuY3Rpb25EZWNsYXJhdGlvbikNCiAqIEBub1N0cmljdA0KICogQG5lZ2F0aXZlIFR5cGVFcnJvcg0KICovDQoNCg0KZnVuY3Rpb24gZjEoKSB7DQogICAgdmFyIGYgPSBmdW5jdGlvbiAoKSB7DQogICAgICAgICJ1c2Ugc3RyaWN0IjsNCiAgICAgICAgcmV0dXJuIGdOb25TdHJpY3QoKTsNCiAgICB9DQogICAgcmV0dXJuIGYoKTsNCn0NCmYxKCk7DQoNCg0KZnVuY3Rpb24gZ05vblN0cmljdCgpIHsNCiAgICByZXR1cm4gZ05vblN0cmljdC5jYWxsZXIgfHwgZ05vblN0cmljdC5jYWxsZXIudGhyb3dUeXBlRXJyb3I7DQp9DQoNCg==","commentary":"","description":"Strict mode - checking access to strict function caller from non-strict function (FunctionExpression with a strict directive prologue defined within a FunctionDeclaration)","negative":"TypeError","noStrict":"","path":"TestCases/ch15/15.3/15.3.5/15.3.5.4/15.3.5.4_2-40gs.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4zLzE1LjMuNS8xNS4zLjUuNC8xNS4zLjUuNF8yLTQxZ3MuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpY3QgbW9kZSAtIGNoZWNraW5nIGFjY2VzcyB0byBzdHJpY3QgZnVuY3Rpb24gY2FsbGVyIGZyb20gbm9uLXN0cmljdCBmdW5jdGlvbiAoQW5vbnltb3VzIEZ1bmN0aW9uRXhwcmVzc2lvbiB3aXRoIGEgc3RyaWN0IGRpcmVjdGl2ZSBwcm9sb2d1ZSBkZWZpbmVkIHdpdGhpbiBhIEZ1bmN0aW9uRGVjbGFyYXRpb24pDQogKiBAbm9TdHJpY3QNCiAqIEBuZWdhdGl2ZSBUeXBlRXJyb3INCiAqLw0KDQoNCmZ1bmN0aW9uIGYxKCkgew0KICAgIHJldHVybiAoZnVuY3Rpb24gKCkgew0KICAgICAgICAidXNlIHN0cmljdCI7DQogICAgICAgIHJldHVybiBnTm9uU3RyaWN0KCk7DQogICAgfSkoKTsNCn0NCmYxKCk7DQoNCg0KZnVuY3Rpb24gZ05vblN0cmljdCgpIHsNCiAgICByZXR1cm4gZ05vblN0cmljdC5jYWxsZXIgfHwgZ05vblN0cmljdC5jYWxsZXIudGhyb3dUeXBlRXJyb3I7DQp9DQoNCg==","commentary":"","description":"Strict mode - checking access to strict function caller from non-strict function (Anonymous FunctionExpression with a strict directive prologue defined within a FunctionDeclaration)","negative":"TypeError","noStrict":"","path":"TestCases/ch15/15.3/15.3.5/15.3.5.4/15.3.5.4_2-41gs.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4zLzE1LjMuNS8xNS4zLjUuNC8xNS4zLjUuNF8yLTQyZ3MuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpY3QgbW9kZSAtIGNoZWNraW5nIGFjY2VzcyB0byBzdHJpY3QgZnVuY3Rpb24gY2FsbGVyIGZyb20gbm9uLXN0cmljdCBmdW5jdGlvbiAoRnVuY3Rpb25EZWNsYXJhdGlvbiB3aXRoIGEgc3RyaWN0IGRpcmVjdGl2ZSBwcm9sb2d1ZSBkZWZpbmVkIHdpdGhpbiBhIEZ1bmN0aW9uRXhwcmVzc2lvbikNCiAqIEBub1N0cmljdA0KICogQG5lZ2F0aXZlIFR5cGVFcnJvcg0KICovDQoNCg0KdmFyIGYxID0gZnVuY3Rpb24gKCkgew0KICAgIGZ1bmN0aW9uIGYoKSB7DQogICAgICAgICJ1c2Ugc3RyaWN0IjsNCiAgICAgICAgcmV0dXJuIGdOb25TdHJpY3QoKTsNCiAgICB9DQogICAgcmV0dXJuIGYoKTsNCn0NCmYxKCk7DQoNCg0KZnVuY3Rpb24gZ05vblN0cmljdCgpIHsNCiAgICByZXR1cm4gZ05vblN0cmljdC5jYWxsZXIgfHwgZ05vblN0cmljdC5jYWxsZXIudGhyb3dUeXBlRXJyb3I7DQp9DQoNCg==","commentary":"","description":"Strict mode - checking access to strict function caller from non-strict function (FunctionDeclaration with a strict directive prologue defined within a FunctionExpression)","negative":"TypeError","noStrict":"","path":"TestCases/ch15/15.3/15.3.5/15.3.5.4/15.3.5.4_2-42gs.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4zLzE1LjMuNS8xNS4zLjUuNC8xNS4zLjUuNF8yLTQzZ3MuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpY3QgbW9kZSAtIGNoZWNraW5nIGFjY2VzcyB0byBzdHJpY3QgZnVuY3Rpb24gY2FsbGVyIGZyb20gbm9uLXN0cmljdCBmdW5jdGlvbiAoRnVuY3Rpb25FeHByZXNzaW9uIHdpdGggYSBzdHJpY3QgZGlyZWN0aXZlIHByb2xvZ3VlIGRlZmluZWQgd2l0aGluIGEgRnVuY3Rpb25FeHByZXNzaW9uKQ0KICogQG5vU3RyaWN0DQogKiBAbmVnYXRpdmUgVHlwZUVycm9yDQogKi8NCg0KDQp2YXIgZjEgPSBmdW5jdGlvbiAoKSB7DQogICAgdmFyIGYgPSBmdW5jdGlvbiAoKSB7DQogICAgICAgICJ1c2Ugc3RyaWN0IjsNCiAgICAgICAgcmV0dXJuIGdOb25TdHJpY3QoKTsNCiAgICB9DQogICAgcmV0dXJuIGYoKTsNCn0NCmYxKCk7DQoNCg0KZnVuY3Rpb24gZ05vblN0cmljdCgpIHsNCiAgICByZXR1cm4gZ05vblN0cmljdC5jYWxsZXIgfHwgZ05vblN0cmljdC5jYWxsZXIudGhyb3dUeXBlRXJyb3I7DQp9DQoNCg==","commentary":"","description":"Strict mode - checking access to strict function caller from non-strict function (FunctionExpression with a strict directive prologue defined within a FunctionExpression)","negative":"TypeError","noStrict":"","path":"TestCases/ch15/15.3/15.3.5/15.3.5.4/15.3.5.4_2-43gs.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4zLzE1LjMuNS8xNS4zLjUuNC8xNS4zLjUuNF8yLTQ0Z3MuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpY3QgbW9kZSAtIGNoZWNraW5nIGFjY2VzcyB0byBzdHJpY3QgZnVuY3Rpb24gY2FsbGVyIGZyb20gbm9uLXN0cmljdCBmdW5jdGlvbiAoQW5vbnltb3VzIEZ1bmN0aW9uRXhwcmVzc2lvbiB3aXRoIGEgc3RyaWN0IGRpcmVjdGl2ZSBwcm9sb2d1ZSBkZWZpbmVkIHdpdGhpbiBhIEZ1bmN0aW9uRXhwcmVzc2lvbikNCiAqIEBub1N0cmljdA0KICogQG5lZ2F0aXZlIFR5cGVFcnJvcg0KICovDQoNCg0KdmFyIGYxID0gZnVuY3Rpb24gKCkgew0KICAgIHJldHVybiAoZnVuY3Rpb24gKCkgew0KICAgICAgICAidXNlIHN0cmljdCI7DQogICAgICAgIHJldHVybiBnTm9uU3RyaWN0KCk7DQogICAgfSkoKTsNCn0NCmYxKCk7DQoNCg0KZnVuY3Rpb24gZ05vblN0cmljdCgpIHsNCiAgICByZXR1cm4gZ05vblN0cmljdC5jYWxsZXIgfHwgZ05vblN0cmljdC5jYWxsZXIudGhyb3dUeXBlRXJyb3I7DQp9DQoNCg==","commentary":"","description":"Strict mode - checking access to strict function caller from non-strict function (Anonymous FunctionExpression with a strict directive prologue defined within a FunctionExpression)","negative":"TypeError","noStrict":"","path":"TestCases/ch15/15.3/15.3.5/15.3.5.4/15.3.5.4_2-44gs.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4zLzE1LjMuNS8xNS4zLjUuNC8xNS4zLjUuNF8yLTQ1Z3MuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpY3QgbW9kZSAtIGNoZWNraW5nIGFjY2VzcyB0byBzdHJpY3QgZnVuY3Rpb24gY2FsbGVyIGZyb20gbm9uLXN0cmljdCBmdW5jdGlvbiAoRnVuY3Rpb25EZWNsYXJhdGlvbiB3aXRoIGEgc3RyaWN0IGRpcmVjdGl2ZSBwcm9sb2d1ZSBkZWZpbmVkIHdpdGhpbiBhbiBBbm9ueW1vdXMgRnVuY3Rpb25FeHByZXNzaW9uKQ0KICogQG5vU3RyaWN0DQogKiBAbmVnYXRpdmUgVHlwZUVycm9yDQogKi8NCg0KDQooZnVuY3Rpb24gKCkgew0KICAgIGZ1bmN0aW9uIGYoKSB7DQogICAgICAgICJ1c2Ugc3RyaWN0IjsNCiAgICAgICAgcmV0dXJuIGdOb25TdHJpY3QoKTsNCiAgICB9DQogICAgcmV0dXJuIGYoKTsNCn0pKCk7DQoNCg0KZnVuY3Rpb24gZ05vblN0cmljdCgpIHsNCiAgICByZXR1cm4gZ05vblN0cmljdC5jYWxsZXIgfHwgZ05vblN0cmljdC5jYWxsZXIudGhyb3dUeXBlRXJyb3I7DQp9DQoNCg==","commentary":"","description":"Strict mode - checking access to strict function caller from non-strict function (FunctionDeclaration with a strict directive prologue defined within an Anonymous FunctionExpression)","negative":"TypeError","noStrict":"","path":"TestCases/ch15/15.3/15.3.5/15.3.5.4/15.3.5.4_2-45gs.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4zLzE1LjMuNS8xNS4zLjUuNC8xNS4zLjUuNF8yLTQ2Z3MuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpY3QgbW9kZSAtIGNoZWNraW5nIGFjY2VzcyB0byBzdHJpY3QgZnVuY3Rpb24gY2FsbGVyIGZyb20gbm9uLXN0cmljdCBmdW5jdGlvbiAoRnVuY3Rpb25FeHByZXNzaW9uIHdpdGggYSBzdHJpY3QgZGlyZWN0aXZlIHByb2xvZ3VlIGRlZmluZWQgd2l0aGluIGFuIEFub255bW91cyBGdW5jdGlvbkV4cHJlc3Npb24pDQogKiBAbm9TdHJpY3QNCiAqIEBuZWdhdGl2ZSBUeXBlRXJyb3INCiAqLw0KDQoNCihmdW5jdGlvbiAoKSB7DQogICAgdmFyIGYgPSBmdW5jdGlvbiAoKSB7DQogICAgICAgICJ1c2Ugc3RyaWN0IjsNCiAgICAgICAgcmV0dXJuIGdOb25TdHJpY3QoKTsNCiAgICB9DQogICAgcmV0dXJuIGYoKTsNCn0pKCk7DQoNCg0KZnVuY3Rpb24gZ05vblN0cmljdCgpIHsNCiAgICByZXR1cm4gZ05vblN0cmljdC5jYWxsZXIgfHwgZ05vblN0cmljdC5jYWxsZXIudGhyb3dUeXBlRXJyb3I7DQp9DQoNCg==","commentary":"","description":"Strict mode - checking access to strict function caller from non-strict function (FunctionExpression with a strict directive prologue defined within an Anonymous FunctionExpression)","negative":"TypeError","noStrict":"","path":"TestCases/ch15/15.3/15.3.5/15.3.5.4/15.3.5.4_2-46gs.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4zLzE1LjMuNS8xNS4zLjUuNC8xNS4zLjUuNF8yLTQ3Z3MuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpY3QgbW9kZSAtIGNoZWNraW5nIGFjY2VzcyB0byBzdHJpY3QgZnVuY3Rpb24gY2FsbGVyIGZyb20gbm9uLXN0cmljdCBmdW5jdGlvbiAoQW5vbnltb3VzIEZ1bmN0aW9uRXhwcmVzc2lvbiB3aXRoIGEgc3RyaWN0IGRpcmVjdGl2ZSBwcm9sb2d1ZSBkZWZpbmVkIHdpdGhpbiBhbiBBbm9ueW1vdXMgRnVuY3Rpb25FeHByZXNzaW9uKQ0KICogQG5vU3RyaWN0DQogKiBAbmVnYXRpdmUgVHlwZUVycm9yDQogKi8NCg0KDQooZnVuY3Rpb24gKCkgew0KICAgIHJldHVybiAoZnVuY3Rpb24gKCkgew0KICAgICAgICAidXNlIHN0cmljdCI7DQogICAgICAgIHJldHVybiBnTm9uU3RyaWN0KCk7DQogICAgfSkoKTsNCn0pKCk7DQoNCg0KZnVuY3Rpb24gZ05vblN0cmljdCgpIHsNCiAgICByZXR1cm4gZ05vblN0cmljdC5jYWxsZXIgfHwgZ05vblN0cmljdC5jYWxsZXIudGhyb3dUeXBlRXJyb3I7DQp9DQoNCg==","commentary":"","description":"Strict mode - checking access to strict function caller from non-strict function (Anonymous FunctionExpression with a strict directive prologue defined within an Anonymous FunctionExpression)","negative":"TypeError","noStrict":"","path":"TestCases/ch15/15.3/15.3.5/15.3.5.4/15.3.5.4_2-47gs.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4zLzE1LjMuNS8xNS4zLjUuNC8xNS4zLjUuNF8yLTQ4Z3MuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpY3QgbW9kZSAtIGNoZWNraW5nIGFjY2VzcyB0byBzdHJpY3QgZnVuY3Rpb24gY2FsbGVyIGZyb20gc3RyaWN0IGZ1bmN0aW9uIChMaXRlcmFsIGdldHRlciBkZWZpbmVkIHdpdGhpbiBzdHJpY3QgbW9kZSkNCiAqIEBvbmx5U3RyaWN0DQogKiBAbmVnYXRpdmUgVHlwZUVycm9yDQogKi8NCg0KDQoidXNlIHN0cmljdCI7DQp2YXIgbyA9IHsgZ2V0IGZvbygpIHsgcmV0dXJuIGdOb25TdHJpY3QoKTsgfSB9DQpvLmZvbzsNCg0KDQpmdW5jdGlvbiBnTm9uU3RyaWN0KCkgew0KICAgIHJldHVybiBnTm9uU3RyaWN0LmNhbGxlcjsNCn0NCg0K","commentary":"","description":"Strict mode - checking access to strict function caller from strict function (Literal getter defined within strict mode)","negative":"TypeError","onlyStrict":"","path":"TestCases/ch15/15.3/15.3.5/15.3.5.4/15.3.5.4_2-48gs.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4zLzE1LjMuNS8xNS4zLjUuNC8xNS4zLjUuNF8yLTQ5Z3MuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpY3QgbW9kZSAtIGNoZWNraW5nIGFjY2VzcyB0byBzdHJpY3QgZnVuY3Rpb24gY2FsbGVyIGZyb20gbm9uLXN0cmljdCBmdW5jdGlvbiAoTGl0ZXJhbCBnZXR0ZXIgaW5jbHVkZXMgc3RyaWN0IGRpcmVjdGl2ZSBwcm9sb2d1ZSkNCiAqIEBub1N0cmljdA0KICogQG5lZ2F0aXZlIFR5cGVFcnJvcg0KICovDQoNCg0KdmFyIG8gPSB7IGdldCBmb28oKSB7ICJ1c2Ugc3RyaWN0IjsgcmV0dXJuIGdOb25TdHJpY3QoKTsgfSB9DQpvLmZvbzsNCg0KDQpmdW5jdGlvbiBnTm9uU3RyaWN0KCkgew0KICAgIHJldHVybiBnTm9uU3RyaWN0LmNhbGxlciB8fCBnTm9uU3RyaWN0LmNhbGxlci50aHJvd1R5cGVFcnJvcjsNCn0NCg0K","commentary":"","description":"Strict mode - checking access to strict function caller from non-strict function (Literal getter includes strict directive prologue)","negative":"TypeError","noStrict":"","path":"TestCases/ch15/15.3/15.3.5/15.3.5.4/15.3.5.4_2-49gs.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4zLzE1LjMuNS8xNS4zLjUuNC8xNS4zLjUuNF8yLTRncy5qcw0KICogQGRlc2NyaXB0aW9uIFN0cmljdCBtb2RlIC0gY2hlY2tpbmcgYWNjZXNzIHRvIHN0cmljdCBmdW5jdGlvbiBjYWxsZXIgZnJvbSBub24tc3RyaWN0IGZ1bmN0aW9uIChGdW5jdGlvbkV4cHJlc3Npb24gaW5jbHVkZXMgc3RyaWN0IGRpcmVjdGl2ZSBwcm9sb2d1ZSkNCiAqIEBub1N0cmljdA0KICogQG5lZ2F0aXZlIFR5cGVFcnJvcg0KICovDQoNCg0KdmFyIGYgPSBmdW5jdGlvbiAoKSB7DQogICAgInVzZSBzdHJpY3QiOw0KICAgIHJldHVybiBnTm9uU3RyaWN0KCk7DQp9DQpmKCk7DQoNCg0KZnVuY3Rpb24gZ05vblN0cmljdCgpIHsNCiAgICByZXR1cm4gZ05vblN0cmljdC5jYWxsZXIgfHwgZ05vblN0cmljdC5jYWxsZXIudGhyb3dUeXBlRXJyb3I7DQp9DQoNCg==","commentary":"","description":"Strict mode - checking access to strict function caller from non-strict function (FunctionExpression includes strict directive prologue)","negative":"TypeError","noStrict":"","path":"TestCases/ch15/15.3/15.3.5/15.3.5.4/15.3.5.4_2-4gs.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4zLzE1LjMuNS8xNS4zLjUuNC8xNS4zLjUuNF8yLTUwZ3MuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpY3QgbW9kZSAtIGNoZWNraW5nIGFjY2VzcyB0byBzdHJpY3QgZnVuY3Rpb24gY2FsbGVyIGZyb20gc3RyaWN0IGZ1bmN0aW9uIChMaXRlcmFsIHNldHRlciBkZWZpbmVkIHdpdGhpbiBzdHJpY3QgbW9kZSkNCiAqIEBvbmx5U3RyaWN0DQogKiBAbmVnYXRpdmUgVHlwZUVycm9yDQogKi8NCg0KDQoidXNlIHN0cmljdCI7DQp2YXIgbyA9IHsgc2V0IGZvbyhzdHVmZikgeyByZXR1cm4gZ05vblN0cmljdCgpOyB9IH0NCm8uZm9vID0gNzsgDQoNCg0KZnVuY3Rpb24gZ05vblN0cmljdCgpIHsNCiAgICByZXR1cm4gZ05vblN0cmljdC5jYWxsZXI7DQp9DQoNCg==","commentary":"","description":"Strict mode - checking access to strict function caller from strict function (Literal setter defined within strict mode)","negative":"TypeError","onlyStrict":"","path":"TestCases/ch15/15.3/15.3.5/15.3.5.4/15.3.5.4_2-50gs.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4zLzE1LjMuNS8xNS4zLjUuNC8xNS4zLjUuNF8yLTUxZ3MuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpY3QgbW9kZSAtIGNoZWNraW5nIGFjY2VzcyB0byBzdHJpY3QgZnVuY3Rpb24gY2FsbGVyIGZyb20gbm9uLXN0cmljdCBmdW5jdGlvbiAoTGl0ZXJhbCBzZXR0ZXIgaW5jbHVkZXMgc3RyaWN0IGRpcmVjdGl2ZSBwcm9sb2d1ZSkNCiAqIEBub1N0cmljdA0KICogQG5lZ2F0aXZlIFR5cGVFcnJvcg0KICovDQoNCg0KdmFyIG8gPSB7IHNldCBmb28oc3R1ZmYpIHsgInVzZSBzdHJpY3QiOyByZXR1cm4gZ05vblN0cmljdCgpOyB9IH0NCm8uZm9vID0gODsNCg0KDQpmdW5jdGlvbiBnTm9uU3RyaWN0KCkgew0KICAgIHJldHVybiBnTm9uU3RyaWN0LmNhbGxlciB8fCBnTm9uU3RyaWN0LmNhbGxlci50aHJvd1R5cGVFcnJvcjsNCn0NCg0K","commentary":"","description":"Strict mode - checking access to strict function caller from non-strict function (Literal setter includes strict directive prologue)","negative":"TypeError","noStrict":"","path":"TestCases/ch15/15.3/15.3.5/15.3.5.4/15.3.5.4_2-51gs.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4zLzE1LjMuNS8xNS4zLjUuNC8xNS4zLjUuNF8yLTUyZ3MuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpY3QgbW9kZSAtIGNoZWNraW5nIGFjY2VzcyB0byBzdHJpY3QgZnVuY3Rpb24gY2FsbGVyIGZyb20gc3RyaWN0IGZ1bmN0aW9uIChJbmplY3RlZCBnZXR0ZXIgZGVmaW5lZCB3aXRoaW4gc3RyaWN0IG1vZGUpDQogKiBAb25seVN0cmljdA0KICogQG5lZ2F0aXZlIFR5cGVFcnJvcg0KICovDQoNCg0KInVzZSBzdHJpY3QiOw0KdmFyIG8gPSB7fTsNCk9iamVjdC5kZWZpbmVQcm9wZXJ0eShvLCAiZm9vIiwgIHsgZ2V0OiBmdW5jdGlvbigpIHsgcmV0dXJuIGdOb25TdHJpY3QoKTsgfSB9KTsNCm8uZm9vOw0KDQoNCmZ1bmN0aW9uIGdOb25TdHJpY3QoKSB7DQogICAgcmV0dXJuIGdOb25TdHJpY3QuY2FsbGVyOw0KfQ0KDQo=","commentary":"","description":"Strict mode - checking access to strict function caller from strict function (Injected getter defined within strict mode)","negative":"TypeError","onlyStrict":"","path":"TestCases/ch15/15.3/15.3.5/15.3.5.4/15.3.5.4_2-52gs.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4zLzE1LjMuNS8xNS4zLjUuNC8xNS4zLjUuNF8yLTUzZ3MuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpY3QgbW9kZSAtIGNoZWNraW5nIGFjY2VzcyB0byBzdHJpY3QgZnVuY3Rpb24gY2FsbGVyIGZyb20gbm9uLXN0cmljdCBmdW5jdGlvbiAoSW5qZWN0ZWQgZ2V0dGVyIGluY2x1ZGVzIHN0cmljdCBkaXJlY3RpdmUgcHJvbG9ndWUpDQogKiBAbm9TdHJpY3QNCiAqIEBuZWdhdGl2ZSBUeXBlRXJyb3INCiAqLw0KDQoNCnZhciBvID0ge307DQpPYmplY3QuZGVmaW5lUHJvcGVydHkobywgImZvbyIsIHsgZ2V0OiBmdW5jdGlvbigpIHsgInVzZSBzdHJpY3QiOyByZXR1cm4gZ05vblN0cmljdCgpOyB9IH0pOw0Kby5mb287DQoNCg0KZnVuY3Rpb24gZ05vblN0cmljdCgpIHsNCiAgICByZXR1cm4gZ05vblN0cmljdC5jYWxsZXIgfHwgZ05vblN0cmljdC5jYWxsZXIudGhyb3dUeXBlRXJyb3I7DQp9DQoNCg==","commentary":"","description":"Strict mode - checking access to strict function caller from non-strict function (Injected getter includes strict directive prologue)","negative":"TypeError","noStrict":"","path":"TestCases/ch15/15.3/15.3.5/15.3.5.4/15.3.5.4_2-53gs.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4zLzE1LjMuNS8xNS4zLjUuNC8xNS4zLjUuNF8yLTU0Z3MuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpY3QgbW9kZSAtIGNoZWNraW5nIGFjY2VzcyB0byBzdHJpY3QgZnVuY3Rpb24gY2FsbGVyIGZyb20gc3RyaWN0IGZ1bmN0aW9uIChJbmplY3RlZCBzZXR0ZXIgZGVmaW5lZCB3aXRoaW4gc3RyaWN0IG1vZGUpDQogKiBAb25seVN0cmljdA0KICogQG5lZ2F0aXZlIFR5cGVFcnJvcg0KICovDQoNCg0KInVzZSBzdHJpY3QiOw0KdmFyIG8gPSB7fTsNCk9iamVjdC5kZWZpbmVQcm9wZXJ0eShvLCAiZm9vIiwgeyBzZXQ6IGZ1bmN0aW9uKHN0dWZmKSB7IHJldHVybiBnTm9uU3RyaWN0KCk7IH0gfSk7DQpvLmZvbyA9IDk7IA0KDQoNCmZ1bmN0aW9uIGdOb25TdHJpY3QoKSB7DQogICAgcmV0dXJuIGdOb25TdHJpY3QuY2FsbGVyOw0KfQ0KDQo=","commentary":"","description":"Strict mode - checking access to strict function caller from strict function (Injected setter defined within strict mode)","negative":"TypeError","onlyStrict":"","path":"TestCases/ch15/15.3/15.3.5/15.3.5.4/15.3.5.4_2-54gs.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4zLzE1LjMuNS8xNS4zLjUuNC8xNS4zLjUuNF8yLTU1Z3MuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpY3QgbW9kZSAtIGNoZWNraW5nIGFjY2VzcyB0byBzdHJpY3QgZnVuY3Rpb24gY2FsbGVyIGZyb20gbm9uLXN0cmljdCBmdW5jdGlvbiAoSW5qZWN0ZWQgc2V0dGVyIGluY2x1ZGVzIHN0cmljdCBkaXJlY3RpdmUgcHJvbG9ndWUpDQogKiBAbm9TdHJpY3QNCiAqIEBuZWdhdGl2ZSBUeXBlRXJyb3INCiAqLw0KDQoNCnZhciBvID0ge307DQpPYmplY3QuZGVmaW5lUHJvcGVydHkobywgImZvbyIsIHsgc2V0OiBmdW5jdGlvbihzdHVmZikgeyAidXNlIHN0cmljdCI7IHJldHVybiBnTm9uU3RyaWN0KCk7IH0gfSk7DQpvLmZvbyA9IDEwOw0KDQoNCmZ1bmN0aW9uIGdOb25TdHJpY3QoKSB7DQogICAgcmV0dXJuIGdOb25TdHJpY3QuY2FsbGVyIHx8IGdOb25TdHJpY3QuY2FsbGVyLnRocm93VHlwZUVycm9yOw0KfQ0KDQo=","commentary":"","description":"Strict mode - checking access to strict function caller from non-strict function (Injected setter includes strict directive prologue)","negative":"TypeError","noStrict":"","path":"TestCases/ch15/15.3/15.3.5/15.3.5.4/15.3.5.4_2-55gs.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4zLzE1LjMuNS8xNS4zLjUuNC8xNS4zLjUuNF8yLTU2Z3MuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpY3QgbW9kZSAtIGNoZWNraW5nIGFjY2VzcyB0byBzdHJpY3QgZnVuY3Rpb24gY2FsbGVyIGZyb20gbm9uLXN0cmljdCBmdW5jdGlvbiAoc3RyaWN0IGZ1bmN0aW9uIGRlY2xhcmF0aW9uIGNhbGxlZCBieSBub24tc3RyaWN0IGZ1bmN0aW9uIGRlY2xhcmF0aW9uKQ0KICogQG5vU3RyaWN0DQogKiBAbmVnYXRpdmUgVHlwZUVycm9yDQogKi8NCg0KDQpmdW5jdGlvbiBmKCkgeyAidXNlIHN0cmljdCI7IHJldHVybiBnTm9uU3RyaWN0KCk7fTsNCmZ1bmN0aW9uIGZvbygpIHsgcmV0dXJuIGYoKTt9DQpmb28oKTsNCg0KDQpmdW5jdGlvbiBnTm9uU3RyaWN0KCkgew0KICAgIHJldHVybiBnTm9uU3RyaWN0LmNhbGxlciB8fCBnTm9uU3RyaWN0LmNhbGxlci50aHJvd1R5cGVFcnJvcjsNCn0NCg0K","commentary":"","description":"Strict mode - checking access to strict function caller from non-strict function (strict function declaration called by non-strict function declaration)","negative":"TypeError","noStrict":"","path":"TestCases/ch15/15.3/15.3.5/15.3.5.4/15.3.5.4_2-56gs.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4zLzE1LjMuNS8xNS4zLjUuNC8xNS4zLjUuNF8yLTU3Z3MuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpY3QgbW9kZSAtIGNoZWNraW5nIGFjY2VzcyB0byBzdHJpY3QgZnVuY3Rpb24gY2FsbGVyIGZyb20gbm9uLXN0cmljdCBmdW5jdGlvbiAoc3RyaWN0IGZ1bmN0aW9uIGRlY2xhcmF0aW9uIGNhbGxlZCBieSBub24tc3RyaWN0IGV2YWwpDQogKiBAbm9TdHJpY3QNCiAqIEBuZWdhdGl2ZSBUeXBlRXJyb3INCiAqLw0KDQoNCmZ1bmN0aW9uIGYoKSB7ICJ1c2Ugc3RyaWN0IjsgcmV0dXJuIGdOb25TdHJpY3QoKTt9Ow0KZXZhbCgiZigpOyIpOyANCg0KDQpmdW5jdGlvbiBnTm9uU3RyaWN0KCkgew0KICAgIHJldHVybiBnTm9uU3RyaWN0LmNhbGxlciB8fCBnTm9uU3RyaWN0LmNhbGxlci50aHJvd1R5cGVFcnJvcjsNCn0NCg0K","commentary":"","description":"Strict mode - checking access to strict function caller from non-strict function (strict function declaration called by non-strict eval)","negative":"TypeError","noStrict":"","path":"TestCases/ch15/15.3/15.3.5/15.3.5.4/15.3.5.4_2-57gs.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4zLzE1LjMuNS8xNS4zLjUuNC8xNS4zLjUuNF8yLTU4Z3MuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpY3QgbW9kZSAtIGNoZWNraW5nIGFjY2VzcyB0byBzdHJpY3QgZnVuY3Rpb24gY2FsbGVyIGZyb20gbm9uLXN0cmljdCBmdW5jdGlvbiAoc3RyaWN0IGZ1bmN0aW9uIGRlY2xhcmF0aW9uIGNhbGxlZCBieSBub24tc3RyaWN0IEZ1bmN0aW9uIGNvbnN0cnVjdG9yKQ0KICogQG5vU3RyaWN0DQogKiBAbmVnYXRpdmUgVHlwZUVycm9yDQogKi8NCg0KDQpmdW5jdGlvbiBmKCkgeyAidXNlIHN0cmljdCI7IHJldHVybiBnTm9uU3RyaWN0KCk7fTsNCkZ1bmN0aW9uKCJyZXR1cm4gZigpOyIpKCk7DQoNCg0KZnVuY3Rpb24gZ05vblN0cmljdCgpIHsNCiAgICByZXR1cm4gZ05vblN0cmljdC5jYWxsZXIgfHwgZ05vblN0cmljdC5jYWxsZXIudGhyb3dUeXBlRXJyb3I7DQp9DQoNCg==","commentary":"","description":"Strict mode - checking access to strict function caller from non-strict function (strict function declaration called by non-strict Function constructor)","negative":"TypeError","noStrict":"","path":"TestCases/ch15/15.3/15.3.5/15.3.5.4/15.3.5.4_2-58gs.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4zLzE1LjMuNS8xNS4zLjUuNC8xNS4zLjUuNF8yLTU5Z3MuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpY3QgbW9kZSAtIGNoZWNraW5nIGFjY2VzcyB0byBzdHJpY3QgZnVuY3Rpb24gY2FsbGVyIGZyb20gbm9uLXN0cmljdCBmdW5jdGlvbiAoc3RyaWN0IGZ1bmN0aW9uIGRlY2xhcmF0aW9uIGNhbGxlZCBieSBub24tc3RyaWN0IG5ldydlZCBGdW5jdGlvbiBjb25zdHJ1Y3RvcikNCiAqIEBub1N0cmljdA0KICogQG5lZ2F0aXZlIFR5cGVFcnJvcg0KICovDQoNCg0KZnVuY3Rpb24gZigpIHsgInVzZSBzdHJpY3QiOyByZXR1cm4gZ05vblN0cmljdCgpO307DQpuZXcgRnVuY3Rpb24oInJldHVybiBmKCk7IikoKTsNCg0KDQpmdW5jdGlvbiBnTm9uU3RyaWN0KCkgew0KICAgIHJldHVybiBnTm9uU3RyaWN0LmNhbGxlciB8fCBnTm9uU3RyaWN0LmNhbGxlci50aHJvd1R5cGVFcnJvcjsNCn0NCg0K","commentary":"","description":"Strict mode - checking access to strict function caller from non-strict function (strict function declaration called by non-strict new'ed Function constructor)","negative":"TypeError","noStrict":"","path":"TestCases/ch15/15.3/15.3.5/15.3.5.4/15.3.5.4_2-59gs.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4zLzE1LjMuNS8xNS4zLjUuNC8xNS4zLjUuNF8yLTVncy5qcw0KICogQGRlc2NyaXB0aW9uIFN0cmljdCBtb2RlIC0gY2hlY2tpbmcgYWNjZXNzIHRvIHN0cmljdCBmdW5jdGlvbiBjYWxsZXIgZnJvbSBzdHJpY3QgZnVuY3Rpb24gKEFub255bW91cyBGdW5jdGlvbkV4cHJlc3Npb24gZGVmaW5lZCB3aXRoaW4gc3RyaWN0IG1vZGUpDQogKiBAb25seVN0cmljdA0KICogQG5lZ2F0aXZlIFR5cGVFcnJvcg0KICovDQoNCg0KInVzZSBzdHJpY3QiOw0KKGZ1bmN0aW9uICgpIHsNCiAgICByZXR1cm4gZ05vblN0cmljdCgpOw0KfSkoKTsNCg0KDQpmdW5jdGlvbiBnTm9uU3RyaWN0KCkgew0KICAgIHJldHVybiBnTm9uU3RyaWN0LmNhbGxlcjsNCn0NCg0K","commentary":"","description":"Strict mode - checking access to strict function caller from strict function (Anonymous FunctionExpression defined within strict mode)","negative":"TypeError","onlyStrict":"","path":"TestCases/ch15/15.3/15.3.5/15.3.5.4/15.3.5.4_2-5gs.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4zLzE1LjMuNS8xNS4zLjUuNC8xNS4zLjUuNF8yLTYwZ3MuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpY3QgbW9kZSAtIGNoZWNraW5nIGFjY2VzcyB0byBzdHJpY3QgZnVuY3Rpb24gY2FsbGVyIGZyb20gbm9uLXN0cmljdCBmdW5jdGlvbiAoc3RyaWN0IGZ1bmN0aW9uIGRlY2xhcmF0aW9uIGNhbGxlZCBieSBGdW5jdGlvbi5wcm90b3R5cGUuYXBwbHkoKSkNCiAqIEBub1N0cmljdA0KICogQG5lZ2F0aXZlIFR5cGVFcnJvcg0KICovDQoNCg0KZnVuY3Rpb24gZigpIHsgInVzZSBzdHJpY3QiOyByZXR1cm4gZ05vblN0cmljdCgpO307DQpmLmFwcGx5KCk7DQoNCg0KZnVuY3Rpb24gZ05vblN0cmljdCgpIHsNCiAgICByZXR1cm4gZ05vblN0cmljdC5jYWxsZXIgfHwgZ05vblN0cmljdC5jYWxsZXIudGhyb3dUeXBlRXJyb3I7DQp9DQoNCg==","commentary":"","description":"Strict mode - checking access to strict function caller from non-strict function (strict function declaration called by Function.prototype.apply())","negative":"TypeError","noStrict":"","path":"TestCases/ch15/15.3/15.3.5/15.3.5.4/15.3.5.4_2-60gs.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4zLzE1LjMuNS8xNS4zLjUuNC8xNS4zLjUuNF8yLTYxZ3MuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpY3QgbW9kZSAtIGNoZWNraW5nIGFjY2VzcyB0byBzdHJpY3QgZnVuY3Rpb24gY2FsbGVyIGZyb20gbm9uLXN0cmljdCBmdW5jdGlvbiAoc3RyaWN0IGZ1bmN0aW9uIGRlY2xhcmF0aW9uIGNhbGxlZCBieSBGdW5jdGlvbi5wcm90b3R5cGUuYXBwbHkobnVsbCkpDQogKiBAbm9TdHJpY3QNCiAqIEBuZWdhdGl2ZSBUeXBlRXJyb3INCiAqLw0KDQoNCmZ1bmN0aW9uIGYoKSB7ICJ1c2Ugc3RyaWN0IjsgcmV0dXJuIGdOb25TdHJpY3QoKTt9Ow0KZi5hcHBseShudWxsKTsNCg0KDQpmdW5jdGlvbiBnTm9uU3RyaWN0KCkgew0KICAgIHJldHVybiBnTm9uU3RyaWN0LmNhbGxlciB8fCBnTm9uU3RyaWN0LmNhbGxlci50aHJvd1R5cGVFcnJvcjsNCn0NCg0K","commentary":"","description":"Strict mode - checking access to strict function caller from non-strict function (strict function declaration called by Function.prototype.apply(null))","negative":"TypeError","noStrict":"","path":"TestCases/ch15/15.3/15.3.5/15.3.5.4/15.3.5.4_2-61gs.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4zLzE1LjMuNS8xNS4zLjUuNC8xNS4zLjUuNF8yLTYyZ3MuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpY3QgbW9kZSAtIGNoZWNraW5nIGFjY2VzcyB0byBzdHJpY3QgZnVuY3Rpb24gY2FsbGVyIGZyb20gbm9uLXN0cmljdCBmdW5jdGlvbiAoc3RyaWN0IGZ1bmN0aW9uIGRlY2xhcmF0aW9uIGNhbGxlZCBieSBGdW5jdGlvbi5wcm90b3R5cGUuYXBwbHkodW5kZWZpbmVkKSkNCiAqIEBub1N0cmljdA0KICogQG5lZ2F0aXZlIFR5cGVFcnJvcg0KICovDQoNCg0KZnVuY3Rpb24gZigpIHsgInVzZSBzdHJpY3QiOyByZXR1cm4gZ05vblN0cmljdCgpO307DQpmLmFwcGx5KHVuZGVmaW5lZCk7DQoNCg0KZnVuY3Rpb24gZ05vblN0cmljdCgpIHsNCiAgICByZXR1cm4gZ05vblN0cmljdC5jYWxsZXIgfHwgZ05vblN0cmljdC5jYWxsZXIudGhyb3dUeXBlRXJyb3I7DQp9DQoNCg==","commentary":"","description":"Strict mode - checking access to strict function caller from non-strict function (strict function declaration called by Function.prototype.apply(undefined))","negative":"TypeError","noStrict":"","path":"TestCases/ch15/15.3/15.3.5/15.3.5.4/15.3.5.4_2-62gs.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4zLzE1LjMuNS8xNS4zLjUuNC8xNS4zLjUuNF8yLTYzZ3MuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpY3QgbW9kZSAtIGNoZWNraW5nIGFjY2VzcyB0byBzdHJpY3QgZnVuY3Rpb24gY2FsbGVyIGZyb20gbm9uLXN0cmljdCBmdW5jdGlvbiAoc3RyaWN0IGZ1bmN0aW9uIGRlY2xhcmF0aW9uIGNhbGxlZCBieSBGdW5jdGlvbi5wcm90b3R5cGUuYXBwbHkoc29tZU9iamVjdCkpDQogKiBAbm9TdHJpY3QNCiAqIEBuZWdhdGl2ZSBUeXBlRXJyb3INCiAqLw0KDQoNCmZ1bmN0aW9uIGYoKSB7ICJ1c2Ugc3RyaWN0IjsgcmV0dXJuIGdOb25TdHJpY3QoKTt9Ow0KdmFyIG8gPSB7fTsNCmYuYXBwbHkobyk7DQoNCg0KZnVuY3Rpb24gZ05vblN0cmljdCgpIHsNCiAgICByZXR1cm4gZ05vblN0cmljdC5jYWxsZXIgfHwgZ05vblN0cmljdC5jYWxsZXIudGhyb3dUeXBlRXJyb3I7DQp9DQoNCg==","commentary":"","description":"Strict mode - checking access to strict function caller from non-strict function (strict function declaration called by Function.prototype.apply(someObject))","negative":"TypeError","noStrict":"","path":"TestCases/ch15/15.3/15.3.5/15.3.5.4/15.3.5.4_2-63gs.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4zLzE1LjMuNS8xNS4zLjUuNC8xNS4zLjUuNF8yLTY0Z3MuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpY3QgbW9kZSAtIGNoZWNraW5nIGFjY2VzcyB0byBzdHJpY3QgZnVuY3Rpb24gY2FsbGVyIGZyb20gbm9uLXN0cmljdCBmdW5jdGlvbiAoc3RyaWN0IGZ1bmN0aW9uIGRlY2xhcmF0aW9uIGNhbGxlZCBieSBGdW5jdGlvbi5wcm90b3R5cGUuYXBwbHkoZ2xvYmFsT2JqZWN0KSkNCiAqIEBub1N0cmljdA0KICogQG5lZ2F0aXZlIFR5cGVFcnJvcg0KICovDQoNCg0KZnVuY3Rpb24gZigpIHsgInVzZSBzdHJpY3QiOyByZXR1cm4gZ05vblN0cmljdCgpO307DQpmLmFwcGx5KGZuR2xvYmFsT2JqZWN0KCkpOw0KDQoNCmZ1bmN0aW9uIGdOb25TdHJpY3QoKSB7DQogICAgcmV0dXJuIGdOb25TdHJpY3QuY2FsbGVyIHx8IGdOb25TdHJpY3QuY2FsbGVyLnRocm93VHlwZUVycm9yOw0KfQ0KDQo=","commentary":"","description":"Strict mode - checking access to strict function caller from non-strict function (strict function declaration called by Function.prototype.apply(globalObject))","negative":"TypeError","noStrict":"","path":"TestCases/ch15/15.3/15.3.5/15.3.5.4/15.3.5.4_2-64gs.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4zLzE1LjMuNS8xNS4zLjUuNC8xNS4zLjUuNF8yLTY1Z3MuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpY3QgbW9kZSAtIGNoZWNraW5nIGFjY2VzcyB0byBzdHJpY3QgZnVuY3Rpb24gY2FsbGVyIGZyb20gbm9uLXN0cmljdCBmdW5jdGlvbiAoc3RyaWN0IGZ1bmN0aW9uIGRlY2xhcmF0aW9uIGNhbGxlZCBieSBGdW5jdGlvbi5wcm90b3R5cGUuY2FsbCgpKQ0KICogQG5vU3RyaWN0DQogKiBAbmVnYXRpdmUgVHlwZUVycm9yDQogKi8NCg0KDQpmdW5jdGlvbiBmKCkgeyAidXNlIHN0cmljdCI7IHJldHVybiBnTm9uU3RyaWN0KCk7fTsNCmYuY2FsbCgpOw0KDQoNCmZ1bmN0aW9uIGdOb25TdHJpY3QoKSB7DQogICAgcmV0dXJuIGdOb25TdHJpY3QuY2FsbGVyIHx8IGdOb25TdHJpY3QuY2FsbGVyLnRocm93VHlwZUVycm9yOw0KfQ0KDQo=","commentary":"","description":"Strict mode - checking access to strict function caller from non-strict function (strict function declaration called by Function.prototype.call())","negative":"TypeError","noStrict":"","path":"TestCases/ch15/15.3/15.3.5/15.3.5.4/15.3.5.4_2-65gs.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4zLzE1LjMuNS8xNS4zLjUuNC8xNS4zLjUuNF8yLTY2Z3MuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpY3QgbW9kZSAtIGNoZWNraW5nIGFjY2VzcyB0byBzdHJpY3QgZnVuY3Rpb24gY2FsbGVyIGZyb20gbm9uLXN0cmljdCBmdW5jdGlvbiAoc3RyaWN0IGZ1bmN0aW9uIGRlY2xhcmF0aW9uIGNhbGxlZCBieSBGdW5jdGlvbi5wcm90b3R5cGUuY2FsbChudWxsKSkNCiAqIEBub1N0cmljdA0KICogQG5lZ2F0aXZlIFR5cGVFcnJvcg0KICovDQoNCg0KZnVuY3Rpb24gZigpIHsgInVzZSBzdHJpY3QiOyByZXR1cm4gZ05vblN0cmljdCgpO307DQpmLmNhbGwobnVsbCk7DQoNCg0KZnVuY3Rpb24gZ05vblN0cmljdCgpIHsNCiAgICByZXR1cm4gZ05vblN0cmljdC5jYWxsZXIgfHwgZ05vblN0cmljdC5jYWxsZXIudGhyb3dUeXBlRXJyb3I7DQp9DQoNCg==","commentary":"","description":"Strict mode - checking access to strict function caller from non-strict function (strict function declaration called by Function.prototype.call(null))","negative":"TypeError","noStrict":"","path":"TestCases/ch15/15.3/15.3.5/15.3.5.4/15.3.5.4_2-66gs.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4zLzE1LjMuNS8xNS4zLjUuNC8xNS4zLjUuNF8yLTY3Z3MuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpY3QgbW9kZSAtIGNoZWNraW5nIGFjY2VzcyB0byBzdHJpY3QgZnVuY3Rpb24gY2FsbGVyIGZyb20gbm9uLXN0cmljdCBmdW5jdGlvbiAoc3RyaWN0IGZ1bmN0aW9uIGRlY2xhcmF0aW9uIGNhbGxlZCBieSBGdW5jdGlvbi5wcm90b3R5cGUuY2FsbCh1bmRlZmluZWQpKQ0KICogQG5vU3RyaWN0DQogKiBAbmVnYXRpdmUgVHlwZUVycm9yDQogKi8NCg0KDQpmdW5jdGlvbiBmKCkgeyAidXNlIHN0cmljdCI7IHJldHVybiBnTm9uU3RyaWN0KCk7fTsNCmYuY2FsbCh1bmRlZmluZWQpOw0KDQoNCmZ1bmN0aW9uIGdOb25TdHJpY3QoKSB7DQogICAgcmV0dXJuIGdOb25TdHJpY3QuY2FsbGVyIHx8IGdOb25TdHJpY3QuY2FsbGVyLnRocm93VHlwZUVycm9yOw0KfQ0KDQo=","commentary":"","description":"Strict mode - checking access to strict function caller from non-strict function (strict function declaration called by Function.prototype.call(undefined))","negative":"TypeError","noStrict":"","path":"TestCases/ch15/15.3/15.3.5/15.3.5.4/15.3.5.4_2-67gs.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4zLzE1LjMuNS8xNS4zLjUuNC8xNS4zLjUuNF8yLTY4Z3MuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpY3QgbW9kZSAtIGNoZWNraW5nIGFjY2VzcyB0byBzdHJpY3QgZnVuY3Rpb24gY2FsbGVyIGZyb20gbm9uLXN0cmljdCBmdW5jdGlvbiAoc3RyaWN0IGZ1bmN0aW9uIGRlY2xhcmF0aW9uIGNhbGxlZCBieSBGdW5jdGlvbi5wcm90b3R5cGUuY2FsbChzb21lT2JqZWN0KSkNCiAqIEBub1N0cmljdA0KICogQG5lZ2F0aXZlIFR5cGVFcnJvcg0KICovDQoNCg0KZnVuY3Rpb24gZigpIHsgInVzZSBzdHJpY3QiOyByZXR1cm4gZ05vblN0cmljdCgpO307DQp2YXIgbyA9IHt9Ow0KZi5jYWxsKG8pOyANCg0KDQpmdW5jdGlvbiBnTm9uU3RyaWN0KCkgew0KICAgIHJldHVybiBnTm9uU3RyaWN0LmNhbGxlciB8fCBnTm9uU3RyaWN0LmNhbGxlci50aHJvd1R5cGVFcnJvcjsNCn0NCg0K","commentary":"","description":"Strict mode - checking access to strict function caller from non-strict function (strict function declaration called by Function.prototype.call(someObject))","negative":"TypeError","noStrict":"","path":"TestCases/ch15/15.3/15.3.5/15.3.5.4/15.3.5.4_2-68gs.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4zLzE1LjMuNS8xNS4zLjUuNC8xNS4zLjUuNF8yLTY5Z3MuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpY3QgbW9kZSAtIGNoZWNraW5nIGFjY2VzcyB0byBzdHJpY3QgZnVuY3Rpb24gY2FsbGVyIGZyb20gbm9uLXN0cmljdCBmdW5jdGlvbiAoc3RyaWN0IGZ1bmN0aW9uIGRlY2xhcmF0aW9uIGNhbGxlZCBieSBGdW5jdGlvbi5wcm90b3R5cGUuY2FsbChnbG9iYWxPYmplY3QpKQ0KICogQG5vU3RyaWN0DQogKiBAbmVnYXRpdmUgVHlwZUVycm9yDQogKi8NCg0KDQpmdW5jdGlvbiBmKCkgeyAidXNlIHN0cmljdCI7IHJldHVybiBnTm9uU3RyaWN0KCk7fTsNCmYuY2FsbChmbkdsb2JhbE9iamVjdCgpKTsNCg0KDQpmdW5jdGlvbiBnTm9uU3RyaWN0KCkgew0KICAgIHJldHVybiBnTm9uU3RyaWN0LmNhbGxlciB8fCBnTm9uU3RyaWN0LmNhbGxlci50aHJvd1R5cGVFcnJvcjsNCn0NCg0K","commentary":"","description":"Strict mode - checking access to strict function caller from non-strict function (strict function declaration called by Function.prototype.call(globalObject))","negative":"TypeError","noStrict":"","path":"TestCases/ch15/15.3/15.3.5/15.3.5.4/15.3.5.4_2-69gs.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4zLzE1LjMuNS8xNS4zLjUuNC8xNS4zLjUuNF8yLTZncy5qcw0KICogQGRlc2NyaXB0aW9uIFN0cmljdCBtb2RlIC0gY2hlY2tpbmcgYWNjZXNzIHRvIHN0cmljdCBmdW5jdGlvbiBjYWxsZXIgZnJvbSBub24tc3RyaWN0IGZ1bmN0aW9uIChBbm9ueW1vdXMgRnVuY3Rpb25FeHByZXNzaW9uIGluY2x1ZGVzIHN0cmljdCBkaXJlY3RpdmUgcHJvbG9ndWUpDQogKiBAbm9TdHJpY3QNCiAqIEBuZWdhdGl2ZSBUeXBlRXJyb3INCiAqLw0KDQoNCihmdW5jdGlvbiAoKSB7DQogICAgInVzZSBzdHJpY3QiOw0KICAgIHJldHVybiBnTm9uU3RyaWN0KCk7DQp9KSgpOw0KDQoNCmZ1bmN0aW9uIGdOb25TdHJpY3QoKSB7DQogICAgcmV0dXJuIGdOb25TdHJpY3QuY2FsbGVyIHx8IGdOb25TdHJpY3QuY2FsbGVyLnRocm93VHlwZUVycm9yOw0KfQ0KDQo=","commentary":"","description":"Strict mode - checking access to strict function caller from non-strict function (Anonymous FunctionExpression includes strict directive prologue)","negative":"TypeError","noStrict":"","path":"TestCases/ch15/15.3/15.3.5/15.3.5.4/15.3.5.4_2-6gs.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4zLzE1LjMuNS8xNS4zLjUuNC8xNS4zLjUuNF8yLTcwZ3MuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpY3QgbW9kZSAtIGNoZWNraW5nIGFjY2VzcyB0byBzdHJpY3QgZnVuY3Rpb24gY2FsbGVyIGZyb20gbm9uLXN0cmljdCBmdW5jdGlvbiAoc3RyaWN0IGZ1bmN0aW9uIGRlY2xhcmF0aW9uIGNhbGxlZCBieSBGdW5jdGlvbi5wcm90b3R5cGUuYmluZCgpKCkpDQogKiBAbm9TdHJpY3QNCiAqIEBuZWdhdGl2ZSBUeXBlRXJyb3INCiAqLw0KDQoNCmZ1bmN0aW9uIGYoKSB7ICJ1c2Ugc3RyaWN0IjsgcmV0dXJuIGdOb25TdHJpY3QoKTt9Ow0KZi5iaW5kKCkoKTsNCg0KDQpmdW5jdGlvbiBnTm9uU3RyaWN0KCkgew0KICAgIHJldHVybiBnTm9uU3RyaWN0LmNhbGxlciB8fCBnTm9uU3RyaWN0LmNhbGxlci50aHJvd1R5cGVFcnJvcjsNCn0NCg0K","commentary":"","description":"Strict mode - checking access to strict function caller from non-strict function (strict function declaration called by Function.prototype.bind()())","negative":"TypeError","noStrict":"","path":"TestCases/ch15/15.3/15.3.5/15.3.5.4/15.3.5.4_2-70gs.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4zLzE1LjMuNS8xNS4zLjUuNC8xNS4zLjUuNF8yLTcxZ3MuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpY3QgbW9kZSAtIGNoZWNraW5nIGFjY2VzcyB0byBzdHJpY3QgZnVuY3Rpb24gY2FsbGVyIGZyb20gbm9uLXN0cmljdCBmdW5jdGlvbiAoc3RyaWN0IGZ1bmN0aW9uIGRlY2xhcmF0aW9uIGNhbGxlZCBieSBGdW5jdGlvbi5wcm90b3R5cGUuYmluZChudWxsKSgpKQ0KICogQG5vU3RyaWN0DQogKiBAbmVnYXRpdmUgVHlwZUVycm9yDQogKi8NCg0KDQpmdW5jdGlvbiBmKCkgeyAidXNlIHN0cmljdCI7IHJldHVybiBnTm9uU3RyaWN0KCk7fTsNCmYuYmluZChudWxsKSgpOw0KDQoNCmZ1bmN0aW9uIGdOb25TdHJpY3QoKSB7DQogICAgcmV0dXJuIGdOb25TdHJpY3QuY2FsbGVyIHx8IGdOb25TdHJpY3QuY2FsbGVyLnRocm93VHlwZUVycm9yOw0KfQ0KDQo=","commentary":"","description":"Strict mode - checking access to strict function caller from non-strict function (strict function declaration called by Function.prototype.bind(null)())","negative":"TypeError","noStrict":"","path":"TestCases/ch15/15.3/15.3.5/15.3.5.4/15.3.5.4_2-71gs.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4zLzE1LjMuNS8xNS4zLjUuNC8xNS4zLjUuNF8yLTcyZ3MuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpY3QgbW9kZSAtIGNoZWNraW5nIGFjY2VzcyB0byBzdHJpY3QgZnVuY3Rpb24gY2FsbGVyIGZyb20gbm9uLXN0cmljdCBmdW5jdGlvbiAoc3RyaWN0IGZ1bmN0aW9uIGRlY2xhcmF0aW9uIGNhbGxlZCBieSBGdW5jdGlvbi5wcm90b3R5cGUuYmluZCh1bmRlZmluZWQpKCkpDQogKiBAbm9TdHJpY3QNCiAqIEBuZWdhdGl2ZSBUeXBlRXJyb3INCiAqLw0KDQoNCmZ1bmN0aW9uIGYoKSB7ICJ1c2Ugc3RyaWN0IjsgcmV0dXJuIGdOb25TdHJpY3QoKTt9Ow0KZi5iaW5kKHVuZGVmaW5lZCkoKTsNCg0KDQpmdW5jdGlvbiBnTm9uU3RyaWN0KCkgew0KICAgIHJldHVybiBnTm9uU3RyaWN0LmNhbGxlciB8fCBnTm9uU3RyaWN0LmNhbGxlci50aHJvd1R5cGVFcnJvcjsNCn0NCg0K","commentary":"","description":"Strict mode - checking access to strict function caller from non-strict function (strict function declaration called by Function.prototype.bind(undefined)())","negative":"TypeError","noStrict":"","path":"TestCases/ch15/15.3/15.3.5/15.3.5.4/15.3.5.4_2-72gs.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4zLzE1LjMuNS8xNS4zLjUuNC8xNS4zLjUuNF8yLTczZ3MuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpY3QgbW9kZSAtIGNoZWNraW5nIGFjY2VzcyB0byBzdHJpY3QgZnVuY3Rpb24gY2FsbGVyIGZyb20gbm9uLXN0cmljdCBmdW5jdGlvbiAoc3RyaWN0IGZ1bmN0aW9uIGRlY2xhcmF0aW9uIGNhbGxlZCBieSBGdW5jdGlvbi5wcm90b3R5cGUuYmluZChzb21lT2JqZWN0KSgpKQ0KICogQG5vU3RyaWN0DQogKiBAbmVnYXRpdmUgVHlwZUVycm9yDQogKi8NCg0KDQpmdW5jdGlvbiBmKCkgeyAidXNlIHN0cmljdCI7IHJldHVybiBnTm9uU3RyaWN0KCk7fTsNCnZhciBvID0ge307DQpmLmJpbmQobykoKTsNCg0KDQpmdW5jdGlvbiBnTm9uU3RyaWN0KCkgew0KICAgIHJldHVybiBnTm9uU3RyaWN0LmNhbGxlciB8fCBnTm9uU3RyaWN0LmNhbGxlci50aHJvd1R5cGVFcnJvcjsNCn0NCg0K","commentary":"","description":"Strict mode - checking access to strict function caller from non-strict function (strict function declaration called by Function.prototype.bind(someObject)())","negative":"TypeError","noStrict":"","path":"TestCases/ch15/15.3/15.3.5/15.3.5.4/15.3.5.4_2-73gs.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4zLzE1LjMuNS8xNS4zLjUuNC8xNS4zLjUuNF8yLTc0Z3MuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpY3QgbW9kZSAtIGNoZWNraW5nIGFjY2VzcyB0byBzdHJpY3QgZnVuY3Rpb24gY2FsbGVyIGZyb20gbm9uLXN0cmljdCBmdW5jdGlvbiAoc3RyaWN0IGZ1bmN0aW9uIGRlY2xhcmF0aW9uIGNhbGxlZCBieSBGdW5jdGlvbi5wcm90b3R5cGUuYmluZChnbG9iYWxPYmplY3QpKCkpDQogKiBAbm9TdHJpY3QNCiAqIEBuZWdhdGl2ZSBUeXBlRXJyb3INCiAqLw0KDQoNCmZ1bmN0aW9uIGYoKSB7ICJ1c2Ugc3RyaWN0IjsgcmV0dXJuIGdOb25TdHJpY3QoKTt9Ow0KZi5iaW5kKGZuR2xvYmFsT2JqZWN0KCkpKCk7IA0KDQoNCmZ1bmN0aW9uIGdOb25TdHJpY3QoKSB7DQogICAgcmV0dXJuIGdOb25TdHJpY3QuY2FsbGVyIHx8IGdOb25TdHJpY3QuY2FsbGVyLnRocm93VHlwZUVycm9yOw0KfQ0KDQo=","commentary":"","description":"Strict mode - checking access to strict function caller from non-strict function (strict function declaration called by Function.prototype.bind(globalObject)())","negative":"TypeError","noStrict":"","path":"TestCases/ch15/15.3/15.3.5/15.3.5.4/15.3.5.4_2-74gs.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4zLzE1LjMuNS8xNS4zLjUuNC8xNS4zLjUuNF8yLTc1Z3MuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpY3QgbW9kZSAtIGNoZWNraW5nIGFjY2VzcyB0byBzdHJpY3QgZnVuY3Rpb24gY2FsbGVyIGZyb20gbm9uLXN0cmljdCBmdW5jdGlvbiAobm9uLXN0cmljdCBmdW5jdGlvbiBkZWNsYXJhdGlvbiBjYWxsZWQgYnkgc3RyaWN0IGZ1bmN0aW9uIGRlY2xhcmF0aW9uKQ0KICogQG5vU3RyaWN0DQogKi8NCg0KDQpmdW5jdGlvbiBmKCkgeyByZXR1cm4gZ05vblN0cmljdCgpO307DQpmdW5jdGlvbiBmb28oKSB7ICJ1c2Ugc3RyaWN0IjsgcmV0dXJuIGYoKTt9DQpmb28oKTsgDQoNCg0KZnVuY3Rpb24gZ05vblN0cmljdCgpIHsNCiAgICByZXR1cm4gZ05vblN0cmljdC5jYWxsZXI7DQp9DQoNCg==","commentary":"","description":"Strict mode - checking access to strict function caller from non-strict function (non-strict function declaration called by strict function declaration)","noStrict":"","path":"TestCases/ch15/15.3/15.3.5/15.3.5.4/15.3.5.4_2-75gs.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4zLzE1LjMuNS8xNS4zLjUuNC8xNS4zLjUuNF8yLTc2Z3MuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpY3QgbW9kZSAtIGNoZWNraW5nIGFjY2VzcyB0byBzdHJpY3QgZnVuY3Rpb24gY2FsbGVyIGZyb20gbm9uLXN0cmljdCBmdW5jdGlvbiAobm9uLXN0cmljdCBmdW5jdGlvbiBkZWNsYXJhdGlvbiBjYWxsZWQgYnkgc3RyaWN0IGV2YWwpDQogKiBAbm9TdHJpY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIGYoKSB7IHJldHVybiBnTm9uU3RyaWN0KCk7fTsNCihmdW5jdGlvbiAoKSB7InVzZSBzdHJpY3QiOyByZXR1cm4gZXZhbCgiZigpOyIpOyB9KSgpOw0KDQoNCmZ1bmN0aW9uIGdOb25TdHJpY3QoKSB7DQogICAgcmV0dXJuIGdOb25TdHJpY3QuY2FsbGVyOw0KfQ0KDQo=","commentary":"","description":"Strict mode - checking access to strict function caller from non-strict function (non-strict function declaration called by strict eval)","noStrict":"","path":"TestCases/ch15/15.3/15.3.5/15.3.5.4/15.3.5.4_2-76gs.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4zLzE1LjMuNS8xNS4zLjUuNC8xNS4zLjUuNF8yLTc3Z3MuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpY3QgbW9kZSAtIGNoZWNraW5nIGFjY2VzcyB0byBzdHJpY3QgZnVuY3Rpb24gY2FsbGVyIGZyb20gbm9uLXN0cmljdCBmdW5jdGlvbiAobm9uLXN0cmljdCBmdW5jdGlvbiBkZWNsYXJhdGlvbiBjYWxsZWQgYnkgc3RyaWN0IEZ1bmN0aW9uIGNvbnN0cnVjdG9yKQ0KICogQG5vU3RyaWN0DQogKi8NCg0KDQpmdW5jdGlvbiBmKCkge3JldHVybiBnTm9uU3RyaWN0KCk7fTsNCihmdW5jdGlvbiAoKSB7InVzZSBzdHJpY3QiOyByZXR1cm4gRnVuY3Rpb24oInJldHVybiBmKCk7IikoKTsgfSkoKTsNCg0KDQpmdW5jdGlvbiBnTm9uU3RyaWN0KCkgew0KICAgIHJldHVybiBnTm9uU3RyaWN0LmNhbGxlcjsNCn0NCg0K","commentary":"","description":"Strict mode - checking access to strict function caller from non-strict function (non-strict function declaration called by strict Function constructor)","noStrict":"","path":"TestCases/ch15/15.3/15.3.5/15.3.5.4/15.3.5.4_2-77gs.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4zLzE1LjMuNS8xNS4zLjUuNC8xNS4zLjUuNF8yLTc4Z3MuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpY3QgbW9kZSAtIGNoZWNraW5nIGFjY2VzcyB0byBzdHJpY3QgZnVuY3Rpb24gY2FsbGVyIGZyb20gbm9uLXN0cmljdCBmdW5jdGlvbiAobm9uLXN0cmljdCBmdW5jdGlvbiBkZWNsYXJhdGlvbiBjYWxsZWQgYnkgc3RyaWN0IG5ldydlZCBGdW5jdGlvbiBjb25zdHJ1Y3RvcikNCiAqIEBub1N0cmljdA0KICovDQoNCg0KZnVuY3Rpb24gZigpIHsgcmV0dXJuIGdOb25TdHJpY3QoKTt9Ow0KKGZ1bmN0aW9uICgpIHsidXNlIHN0cmljdCI7IHJldHVybiBuZXcgRnVuY3Rpb24oInJldHVybiBmKCk7IikoKTsgfSkoKTsNCg0KDQpmdW5jdGlvbiBnTm9uU3RyaWN0KCkgew0KICAgIHJldHVybiBnTm9uU3RyaWN0LmNhbGxlcjsNCn0NCg0K","commentary":"","description":"Strict mode - checking access to strict function caller from non-strict function (non-strict function declaration called by strict new'ed Function constructor)","noStrict":"","path":"TestCases/ch15/15.3/15.3.5/15.3.5.4/15.3.5.4_2-78gs.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4zLzE1LjMuNS8xNS4zLjUuNC8xNS4zLjUuNF8yLTc5Z3MuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpY3QgbW9kZSAtIGNoZWNraW5nIGFjY2VzcyB0byBzdHJpY3QgZnVuY3Rpb24gY2FsbGVyIGZyb20gbm9uLXN0cmljdCBmdW5jdGlvbiAobm9uLXN0cmljdCBmdW5jdGlvbiBkZWNsYXJhdGlvbiBjYWxsZWQgYnkgc3RyaWN0IEZ1bmN0aW9uLnByb3RvdHlwZS5hcHBseSgpKQ0KICogQG5vU3RyaWN0DQogKi8NCg0KDQpmdW5jdGlvbiBmKCkgeyByZXR1cm4gZ05vblN0cmljdCgpO307DQooZnVuY3Rpb24gKCkgeyJ1c2Ugc3RyaWN0IjsgcmV0dXJuIGYuYXBwbHkoKTt9KSgpOw0KDQoNCmZ1bmN0aW9uIGdOb25TdHJpY3QoKSB7DQogICAgcmV0dXJuIGdOb25TdHJpY3QuY2FsbGVyOw0KfQ0KDQo=","commentary":"","description":"Strict mode - checking access to strict function caller from non-strict function (non-strict function declaration called by strict Function.prototype.apply())","noStrict":"","path":"TestCases/ch15/15.3/15.3.5/15.3.5.4/15.3.5.4_2-79gs.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4zLzE1LjMuNS8xNS4zLjUuNC8xNS4zLjUuNF8yLTdncy5qcw0KICogQGRlc2NyaXB0aW9uIFN0cmljdCBtb2RlIC0gY2hlY2tpbmcgYWNjZXNzIHRvIG5vbi1zdHJpY3QgZnVuY3Rpb24gY2FsbGVyIGZyb20gc3RyaWN0IGZ1bmN0aW9uIChGdW5jdGlvbiBjb25zdHJ1Y3RvciBkZWZpbmVkIHdpdGhpbiBzdHJpY3QgbW9kZSkNCiAqIEBvbmx5U3RyaWN0DQogKiBAbmVnYXRpdmUgVHlwZUVycm9yDQogKi8NCg0KDQoidXNlIHN0cmljdCI7DQp2YXIgZiA9IEZ1bmN0aW9uKCJyZXR1cm4gZ05vblN0cmljdCgpOyIpOw0KZigpOw0KDQoNCmZ1bmN0aW9uIGdOb25TdHJpY3QoKSB7DQogICAgcmV0dXJuIGdOb25TdHJpY3QuY2FsbGVyOw0KfQ0KDQo=","commentary":"","description":"Strict mode - checking access to non-strict function caller from strict function (Function constructor defined within strict mode)","negative":"TypeError","onlyStrict":"","path":"TestCases/ch15/15.3/15.3.5/15.3.5.4/15.3.5.4_2-7gs.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4zLzE1LjMuNS8xNS4zLjUuNC8xNS4zLjUuNF8yLTgwZ3MuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpY3QgbW9kZSAtIGNoZWNraW5nIGFjY2VzcyB0byBzdHJpY3QgZnVuY3Rpb24gY2FsbGVyIGZyb20gbm9uLXN0cmljdCBmdW5jdGlvbiAobm9uLXN0cmljdCBmdW5jdGlvbiBkZWNsYXJhdGlvbiBjYWxsZWQgYnkgc3RyaWN0IEZ1bmN0aW9uLnByb3RvdHlwZS5hcHBseShudWxsKSkNCiAqIEBub1N0cmljdA0KICovDQoNCg0KZnVuY3Rpb24gZigpIHsgcmV0dXJuIGdOb25TdHJpY3QoKTt9Ow0KKGZ1bmN0aW9uICgpIHsidXNlIHN0cmljdCI7IHJldHVybiBmLmFwcGx5KG51bGwpOyB9KSgpOw0KDQoNCmZ1bmN0aW9uIGdOb25TdHJpY3QoKSB7DQogICAgcmV0dXJuIGdOb25TdHJpY3QuY2FsbGVyOw0KfQ0KDQo=","commentary":"","description":"Strict mode - checking access to strict function caller from non-strict function (non-strict function declaration called by strict Function.prototype.apply(null))","noStrict":"","path":"TestCases/ch15/15.3/15.3.5/15.3.5.4/15.3.5.4_2-80gs.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4zLzE1LjMuNS8xNS4zLjUuNC8xNS4zLjUuNF8yLTgxZ3MuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpY3QgbW9kZSAtIGNoZWNraW5nIGFjY2VzcyB0byBzdHJpY3QgZnVuY3Rpb24gY2FsbGVyIGZyb20gbm9uLXN0cmljdCBmdW5jdGlvbiAobm9uLXN0cmljdCBmdW5jdGlvbiBkZWNsYXJhdGlvbiBjYWxsZWQgYnkgc3RyaWN0IEZ1bmN0aW9uLnByb3RvdHlwZS5hcHBseSh1bmRlZmluZWQpKQ0KICogQG5vU3RyaWN0DQogKi8NCg0KDQpmdW5jdGlvbiBmKCkgeyByZXR1cm4gZ05vblN0cmljdCgpO307DQooZnVuY3Rpb24gKCkgeyJ1c2Ugc3RyaWN0IjsgcmV0dXJuIGYuYXBwbHkodW5kZWZpbmVkKTsgfSkoKTsNCg0KDQpmdW5jdGlvbiBnTm9uU3RyaWN0KCkgew0KICAgIHJldHVybiBnTm9uU3RyaWN0LmNhbGxlcjsNCn0NCg0K","commentary":"","description":"Strict mode - checking access to strict function caller from non-strict function (non-strict function declaration called by strict Function.prototype.apply(undefined))","noStrict":"","path":"TestCases/ch15/15.3/15.3.5/15.3.5.4/15.3.5.4_2-81gs.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4zLzE1LjMuNS8xNS4zLjUuNC8xNS4zLjUuNF8yLTgyZ3MuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpY3QgbW9kZSAtIGNoZWNraW5nIGFjY2VzcyB0byBzdHJpY3QgZnVuY3Rpb24gY2FsbGVyIGZyb20gbm9uLXN0cmljdCBmdW5jdGlvbiAobm9uLXN0cmljdCBmdW5jdGlvbiBkZWNsYXJhdGlvbiBjYWxsZWQgYnkgc3RyaWN0IEZ1bmN0aW9uLnByb3RvdHlwZS5hcHBseShzb21lT2JqZWN0KSkNCiAqIEBub1N0cmljdA0KICovDQoNCg0KZnVuY3Rpb24gZigpIHsgcmV0dXJuIGdOb25TdHJpY3QoKTt9Ow0KdmFyIG8gPSB7fTsNCihmdW5jdGlvbiAoKSB7InVzZSBzdHJpY3QiOyByZXR1cm4gZi5hcHBseShvKTsgfSkoKTsNCg0KDQpmdW5jdGlvbiBnTm9uU3RyaWN0KCkgew0KICAgIHJldHVybiBnTm9uU3RyaWN0LmNhbGxlcjsNCn0NCg0K","commentary":"","description":"Strict mode - checking access to strict function caller from non-strict function (non-strict function declaration called by strict Function.prototype.apply(someObject))","noStrict":"","path":"TestCases/ch15/15.3/15.3.5/15.3.5.4/15.3.5.4_2-82gs.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4zLzE1LjMuNS8xNS4zLjUuNC8xNS4zLjUuNF8yLTgzZ3MuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpY3QgbW9kZSAtIGNoZWNraW5nIGFjY2VzcyB0byBzdHJpY3QgZnVuY3Rpb24gY2FsbGVyIGZyb20gbm9uLXN0cmljdCBmdW5jdGlvbiAobm9uLXN0cmljdCBmdW5jdGlvbiBkZWNsYXJhdGlvbiBjYWxsZWQgYnkgc3RyaWN0IEZ1bmN0aW9uLnByb3RvdHlwZS5hcHBseShnbG9iYWxPYmplY3QpKQ0KICogQG5vU3RyaWN0DQogKi8NCg0KDQpmdW5jdGlvbiBmKCkgeyByZXR1cm4gZ05vblN0cmljdCgpO307DQooZnVuY3Rpb24gKCkgeyJ1c2Ugc3RyaWN0IjsgcmV0dXJuIGYuYXBwbHkoZm5HbG9iYWxPYmplY3QoKSk7IH0pKCk7DQoNCg0KZnVuY3Rpb24gZ05vblN0cmljdCgpIHsNCiAgICByZXR1cm4gZ05vblN0cmljdC5jYWxsZXI7DQp9DQoNCg==","commentary":"","description":"Strict mode - checking access to strict function caller from non-strict function (non-strict function declaration called by strict Function.prototype.apply(globalObject))","noStrict":"","path":"TestCases/ch15/15.3/15.3.5/15.3.5.4/15.3.5.4_2-83gs.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4zLzE1LjMuNS8xNS4zLjUuNC8xNS4zLjUuNF8yLTg0Z3MuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpY3QgbW9kZSAtIGNoZWNraW5nIGFjY2VzcyB0byBzdHJpY3QgZnVuY3Rpb24gY2FsbGVyIGZyb20gbm9uLXN0cmljdCBmdW5jdGlvbiAobm9uLXN0cmljdCBmdW5jdGlvbiBkZWNsYXJhdGlvbiBjYWxsZWQgYnkgc3RyaWN0IEZ1bmN0aW9uLnByb3RvdHlwZS5jYWxsKCkpDQogKiBAbm9TdHJpY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIGYoKSB7IHJldHVybiBnTm9uU3RyaWN0KCk7fTsNCihmdW5jdGlvbiAoKSB7InVzZSBzdHJpY3QiOyByZXR1cm4gZi5jYWxsKCk7fSkoKTsNCg0KDQpmdW5jdGlvbiBnTm9uU3RyaWN0KCkgew0KICAgIHJldHVybiBnTm9uU3RyaWN0LmNhbGxlcjsNCn0NCg0K","commentary":"","description":"Strict mode - checking access to strict function caller from non-strict function (non-strict function declaration called by strict Function.prototype.call())","noStrict":"","path":"TestCases/ch15/15.3/15.3.5/15.3.5.4/15.3.5.4_2-84gs.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4zLzE1LjMuNS8xNS4zLjUuNC8xNS4zLjUuNF8yLTg1Z3MuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpY3QgbW9kZSAtIGNoZWNraW5nIGFjY2VzcyB0byBzdHJpY3QgZnVuY3Rpb24gY2FsbGVyIGZyb20gbm9uLXN0cmljdCBmdW5jdGlvbiAobm9uLXN0cmljdCBmdW5jdGlvbiBkZWNsYXJhdGlvbiBjYWxsZWQgYnkgc3RyaWN0IEZ1bmN0aW9uLnByb3RvdHlwZS5jYWxsKG51bGwpKQ0KICogQG5vU3RyaWN0DQogKi8NCg0KDQpmdW5jdGlvbiBmKCkgeyByZXR1cm4gZ05vblN0cmljdCgpO307DQooZnVuY3Rpb24gKCkgeyJ1c2Ugc3RyaWN0IjsgcmV0dXJuIGYuY2FsbChudWxsKTt9KSgpOw0KDQoNCmZ1bmN0aW9uIGdOb25TdHJpY3QoKSB7DQogICAgcmV0dXJuIGdOb25TdHJpY3QuY2FsbGVyOw0KfQ0KDQo=","commentary":"","description":"Strict mode - checking access to strict function caller from non-strict function (non-strict function declaration called by strict Function.prototype.call(null))","noStrict":"","path":"TestCases/ch15/15.3/15.3.5/15.3.5.4/15.3.5.4_2-85gs.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4zLzE1LjMuNS8xNS4zLjUuNC8xNS4zLjUuNF8yLTg2Z3MuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpY3QgbW9kZSAtIGNoZWNraW5nIGFjY2VzcyB0byBzdHJpY3QgZnVuY3Rpb24gY2FsbGVyIGZyb20gbm9uLXN0cmljdCBmdW5jdGlvbiAobm9uLXN0cmljdCBmdW5jdGlvbiBkZWNsYXJhdGlvbiBjYWxsZWQgYnkgc3RyaWN0IEZ1bmN0aW9uLnByb3RvdHlwZS5jYWxsKHVuZGVmaW5lZCkpDQogKiBAbm9TdHJpY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIGYoKSB7IHJldHVybiBnTm9uU3RyaWN0KCk7fTsNCihmdW5jdGlvbiAoKSB7InVzZSBzdHJpY3QiOyByZXR1cm4gZi5jYWxsKHVuZGVmaW5lZCk7IH0pKCk7DQoNCg0KZnVuY3Rpb24gZ05vblN0cmljdCgpIHsNCiAgICByZXR1cm4gZ05vblN0cmljdC5jYWxsZXI7DQp9DQoNCg==","commentary":"","description":"Strict mode - checking access to strict function caller from non-strict function (non-strict function declaration called by strict Function.prototype.call(undefined))","noStrict":"","path":"TestCases/ch15/15.3/15.3.5/15.3.5.4/15.3.5.4_2-86gs.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4zLzE1LjMuNS8xNS4zLjUuNC8xNS4zLjUuNF8yLTg3Z3MuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpY3QgbW9kZSAtIGNoZWNraW5nIGFjY2VzcyB0byBzdHJpY3QgZnVuY3Rpb24gY2FsbGVyIGZyb20gbm9uLXN0cmljdCBmdW5jdGlvbiAobm9uLXN0cmljdCBmdW5jdGlvbiBkZWNsYXJhdGlvbiBjYWxsZWQgYnkgc3RyaWN0IEZ1bmN0aW9uLnByb3RvdHlwZS5jYWxsKHNvbWVPYmplY3QpKQ0KICogQG5vU3RyaWN0DQogKi8NCg0KDQpmdW5jdGlvbiBmKCkgeyByZXR1cm4gZ05vblN0cmljdCgpO307DQp2YXIgbyA9IHt9Ow0KKGZ1bmN0aW9uICgpIHsidXNlIHN0cmljdCI7IHJldHVybiBmLmNhbGwobyk7IH0pKCk7DQoNCg0KZnVuY3Rpb24gZ05vblN0cmljdCgpIHsNCiAgICByZXR1cm4gZ05vblN0cmljdC5jYWxsZXI7DQp9DQoNCg==","commentary":"","description":"Strict mode - checking access to strict function caller from non-strict function (non-strict function declaration called by strict Function.prototype.call(someObject))","noStrict":"","path":"TestCases/ch15/15.3/15.3.5/15.3.5.4/15.3.5.4_2-87gs.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4zLzE1LjMuNS8xNS4zLjUuNC8xNS4zLjUuNF8yLTg4Z3MuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpY3QgbW9kZSAtIGNoZWNraW5nIGFjY2VzcyB0byBzdHJpY3QgZnVuY3Rpb24gY2FsbGVyIGZyb20gbm9uLXN0cmljdCBmdW5jdGlvbiAobm9uLXN0cmljdCBmdW5jdGlvbiBkZWNsYXJhdGlvbiBjYWxsZWQgYnkgc3RyaWN0IEZ1bmN0aW9uLnByb3RvdHlwZS5jYWxsKGdsb2JhbE9iamVjdCkpDQogKiBAbm9TdHJpY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIGYoKSB7IHJldHVybiBnTm9uU3RyaWN0KCk7fTsNCihmdW5jdGlvbiAoKSB7InVzZSBzdHJpY3QiOyByZXR1cm4gZi5jYWxsKGZuR2xvYmFsT2JqZWN0KCkpOyB9KSgpOw0KDQoNCmZ1bmN0aW9uIGdOb25TdHJpY3QoKSB7DQogICAgcmV0dXJuIGdOb25TdHJpY3QuY2FsbGVyOw0KfQ0KDQo=","commentary":"","description":"Strict mode - checking access to strict function caller from non-strict function (non-strict function declaration called by strict Function.prototype.call(globalObject))","noStrict":"","path":"TestCases/ch15/15.3/15.3.5/15.3.5.4/15.3.5.4_2-88gs.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4zLzE1LjMuNS8xNS4zLjUuNC8xNS4zLjUuNF8yLTg5Z3MuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpY3QgbW9kZSAtIGNoZWNraW5nIGFjY2VzcyB0byBzdHJpY3QgZnVuY3Rpb24gY2FsbGVyIGZyb20gbm9uLXN0cmljdCBmdW5jdGlvbiAobm9uLXN0cmljdCBmdW5jdGlvbiBkZWNsYXJhdGlvbiBjYWxsZWQgYnkgc3RyaWN0IEZ1bmN0aW9uLnByb3RvdHlwZS5iaW5kKCkoKSkNCiAqIEBub1N0cmljdA0KICovDQoNCg0KZnVuY3Rpb24gZigpIHsgcmV0dXJuIGdOb25TdHJpY3QoKTt9Ow0KKGZ1bmN0aW9uICgpIHsidXNlIHN0cmljdCI7IHJldHVybiBmLmJpbmQoKTt9KSgpOw0KDQoNCmZ1bmN0aW9uIGdOb25TdHJpY3QoKSB7DQogICAgcmV0dXJuIGdOb25TdHJpY3QuY2FsbGVyOw0KfQ0KDQo=","commentary":"","description":"Strict mode - checking access to strict function caller from non-strict function (non-strict function declaration called by strict Function.prototype.bind()())","noStrict":"","path":"TestCases/ch15/15.3/15.3.5/15.3.5.4/15.3.5.4_2-89gs.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4zLzE1LjMuNS8xNS4zLjUuNC8xNS4zLjUuNF8yLThncy5qcw0KICogQGRlc2NyaXB0aW9uIFN0cmljdCBtb2RlIC0gY2hlY2tpbmcgYWNjZXNzIHRvIHN0cmljdCBmdW5jdGlvbiBjYWxsZXIgZnJvbSBub24tc3RyaWN0IGZ1bmN0aW9uIChGdW5jdGlvbiBjb25zdHJ1Y3RvciBpbmNsdWRlcyBzdHJpY3QgZGlyZWN0aXZlIHByb2xvZ3VlKQ0KICogQG5vU3RyaWN0DQogKiBAbmVnYXRpdmUgVHlwZUVycm9yDQogKi8NCg0KDQp2YXIgZiA9IEZ1bmN0aW9uKCJcInVzZSBzdHJpY3RcIjtcbnJldHVybiBnTm9uU3RyaWN0KCk7Iik7DQpmKCk7DQoNCg0KZnVuY3Rpb24gZ05vblN0cmljdCgpIHsNCiAgICByZXR1cm4gZ05vblN0cmljdC5jYWxsZXIgfHwgZ05vblN0cmljdC5jYWxsZXIudGhyb3dUeXBlRXJyb3I7DQp9DQoNCg==","commentary":"","description":"Strict mode - checking access to strict function caller from non-strict function (Function constructor includes strict directive prologue)","negative":"TypeError","noStrict":"","path":"TestCases/ch15/15.3/15.3.5/15.3.5.4/15.3.5.4_2-8gs.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4zLzE1LjMuNS8xNS4zLjUuNC8xNS4zLjUuNF8yLTkwZ3MuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpY3QgbW9kZSAtIGNoZWNraW5nIGFjY2VzcyB0byBzdHJpY3QgZnVuY3Rpb24gY2FsbGVyIGZyb20gbm9uLXN0cmljdCBmdW5jdGlvbiAobm9uLXN0cmljdCBmdW5jdGlvbiBkZWNsYXJhdGlvbiBjYWxsZWQgYnkgc3RyaWN0IEZ1bmN0aW9uLnByb3RvdHlwZS5iaW5kKG51bGwpKCkpDQogKiBAbm9TdHJpY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIGYoKSB7IHJldHVybiBnTm9uU3RyaWN0KCk7fTsNCihmdW5jdGlvbiAoKSB7InVzZSBzdHJpY3QiOyByZXR1cm4gZi5iaW5kKG51bGwpKCk7IH0pKCk7DQoNCg0KZnVuY3Rpb24gZ05vblN0cmljdCgpIHsNCiAgICByZXR1cm4gZ05vblN0cmljdC5jYWxsZXI7DQp9DQoNCg==","commentary":"","description":"Strict mode - checking access to strict function caller from non-strict function (non-strict function declaration called by strict Function.prototype.bind(null)())","noStrict":"","path":"TestCases/ch15/15.3/15.3.5/15.3.5.4/15.3.5.4_2-90gs.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4zLzE1LjMuNS8xNS4zLjUuNC8xNS4zLjUuNF8yLTkxZ3MuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpY3QgbW9kZSAtIGNoZWNraW5nIGFjY2VzcyB0byBzdHJpY3QgZnVuY3Rpb24gY2FsbGVyIGZyb20gbm9uLXN0cmljdCBmdW5jdGlvbiAobm9uLXN0cmljdCBmdW5jdGlvbiBkZWNsYXJhdGlvbiBjYWxsZWQgYnkgc3RyaWN0IEZ1bmN0aW9uLnByb3RvdHlwZS5iaW5kKHVuZGVmaW5lZCkoKSkNCiAqIEBub1N0cmljdA0KICovDQoNCg0KZnVuY3Rpb24gZigpIHsgcmV0dXJuIGdOb25TdHJpY3QoKTt9Ow0KKGZ1bmN0aW9uICgpIHsidXNlIHN0cmljdCI7IHJldHVybiBmLmJpbmQodW5kZWZpbmVkKSgpOyB9KSgpOw0KDQoNCmZ1bmN0aW9uIGdOb25TdHJpY3QoKSB7DQogICAgcmV0dXJuIGdOb25TdHJpY3QuY2FsbGVyOw0KfQ0KDQo=","commentary":"","description":"Strict mode - checking access to strict function caller from non-strict function (non-strict function declaration called by strict Function.prototype.bind(undefined)())","noStrict":"","path":"TestCases/ch15/15.3/15.3.5/15.3.5.4/15.3.5.4_2-91gs.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4zLzE1LjMuNS8xNS4zLjUuNC8xNS4zLjUuNF8yLTkyZ3MuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpY3QgbW9kZSAtIGNoZWNraW5nIGFjY2VzcyB0byBzdHJpY3QgZnVuY3Rpb24gY2FsbGVyIGZyb20gbm9uLXN0cmljdCBmdW5jdGlvbiAobm9uLXN0cmljdCBmdW5jdGlvbiBkZWNsYXJhdGlvbiBjYWxsZWQgYnkgc3RyaWN0IEZ1bmN0aW9uLnByb3RvdHlwZS5iaW5kKHNvbWVPYmplY3QpKCkpDQogKiBAbm9TdHJpY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIGYoKSB7IHJldHVybiBnTm9uU3RyaWN0KCk7fTsNCnZhciBvID0ge307DQooZnVuY3Rpb24gKCkgeyJ1c2Ugc3RyaWN0IjsgcmV0dXJuIGYuYmluZChvKSgpOyB9KSgpOw0KDQoNCmZ1bmN0aW9uIGdOb25TdHJpY3QoKSB7DQogICAgcmV0dXJuIGdOb25TdHJpY3QuY2FsbGVyOw0KfQ0KDQo=","commentary":"","description":"Strict mode - checking access to strict function caller from non-strict function (non-strict function declaration called by strict Function.prototype.bind(someObject)())","noStrict":"","path":"TestCases/ch15/15.3/15.3.5/15.3.5.4/15.3.5.4_2-92gs.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4zLzE1LjMuNS8xNS4zLjUuNC8xNS4zLjUuNF8yLTkzZ3MuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpY3QgbW9kZSAtIGNoZWNraW5nIGFjY2VzcyB0byBzdHJpY3QgZnVuY3Rpb24gY2FsbGVyIGZyb20gbm9uLXN0cmljdCBmdW5jdGlvbiAobm9uLXN0cmljdCBmdW5jdGlvbiBkZWNsYXJhdGlvbiBjYWxsZWQgYnkgc3RyaWN0IEZ1bmN0aW9uLnByb3RvdHlwZS5iaW5kKGdsb2JhbE9iamVjdCkoKSkNCiAqIEBub1N0cmljdA0KICovDQoNCg0KZnVuY3Rpb24gZigpIHsgcmV0dXJuIGdOb25TdHJpY3QoKTt9Ow0KKGZ1bmN0aW9uICgpIHsidXNlIHN0cmljdCI7IHJldHVybiBmLmJpbmQoZm5HbG9iYWxPYmplY3QoKSkoKTsgfSkoKTsNCg0KDQpmdW5jdGlvbiBnTm9uU3RyaWN0KCkgew0KICAgIHJldHVybiBnTm9uU3RyaWN0LmNhbGxlcjsNCn0NCg0K","commentary":"","description":"Strict mode - checking access to strict function caller from non-strict function (non-strict function declaration called by strict Function.prototype.bind(globalObject)())","noStrict":"","path":"TestCases/ch15/15.3/15.3.5/15.3.5.4/15.3.5.4_2-93gs.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4zLzE1LjMuNS8xNS4zLjUuNC8xNS4zLjUuNF8yLTk0Z3MuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpY3QgbW9kZSAtIGNoZWNraW5nIGFjY2VzcyB0byBzdHJpY3QgZnVuY3Rpb24gY2FsbGVyIGZyb20gbm9uLXN0cmljdCBmdW5jdGlvbiBleHByZXNzaW9uIChGdW5jdGlvbkRlY2xhcmF0aW9uIGluY2x1ZGVzIHN0cmljdCBkaXJlY3RpdmUgcHJvbG9ndWUpDQogKiBAbm9TdHJpY3QNCiAqIEBuZWdhdGl2ZSBUeXBlRXJyb3INCiAqLw0KDQp2YXIgZ05vblN0cmljdCA9IGZ1bmN0aW9uICgpIHsNCiAgICByZXR1cm4gZ05vblN0cmljdC5jYWxsZXIgfHwgZ05vblN0cmljdC5jYWxsZXIudGhyb3dUeXBlRXJyb3I7DQp9DQoNCmZ1bmN0aW9uIGYoKSB7DQogICAgInVzZSBzdHJpY3QiOw0KICAgIHJldHVybiBnTm9uU3RyaWN0KCk7DQp9DQpmKCk7DQo=","commentary":"","description":"Strict mode - checking access to strict function caller from non-strict function expression (FunctionDeclaration includes strict directive prologue)","negative":"TypeError","noStrict":"","path":"TestCases/ch15/15.3/15.3.5/15.3.5.4/15.3.5.4_2-94gs.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4zLzE1LjMuNS8xNS4zLjUuNC8xNS4zLjUuNF8yLTk1Z3MuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpY3QgbW9kZSAtIGNoZWNraW5nIGFjY2VzcyB0byBzdHJpY3QgZnVuY3Rpb24gY2FsbGVyIGZyb20gbm9uLXN0cmljdCwgY29uc3RydWN0b3ItYmFzZWQgZnVuY3Rpb24gKEZ1bmN0aW9uRGVjbGFyYXRpb24gaW5jbHVkZXMgc3RyaWN0IGRpcmVjdGl2ZSBwcm9sb2d1ZSkNCiAqIEBub1N0cmljdA0KICogQG5lZ2F0aXZlIFR5cGVFcnJvcg0KICovDQoNCnZhciBnTm9uU3RyaWN0ID0gRnVuY3Rpb24oInJldHVybiBnTm9uU3RyaWN0LmNhbGxlciB8fCBnTm9uU3RyaWN0LmNhbGxlci50aHJvd1R5cGVFcnJvcjsiKTsNCg0KZnVuY3Rpb24gZigpIHsNCiAgICAidXNlIHN0cmljdCI7DQogICAgcmV0dXJuIGdOb25TdHJpY3QoKTsNCn0NCmYoKTsNCg==","commentary":"","description":"Strict mode - checking access to strict function caller from non-strict, constructor-based function (FunctionDeclaration includes strict directive prologue)","negative":"TypeError","noStrict":"","path":"TestCases/ch15/15.3/15.3.5/15.3.5.4/15.3.5.4_2-95gs.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4zLzE1LjMuNS8xNS4zLjUuNC8xNS4zLjUuNF8yLTk2Z3MuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpY3QgbW9kZSAtIGNoZWNraW5nIGFjY2VzcyB0byBzdHJpY3QgZnVuY3Rpb24gY2FsbGVyIGZyb20gbm9uLXN0cmljdCBwcm9wZXJ0eSAoRnVuY3Rpb25EZWNsYXJhdGlvbiBpbmNsdWRlcyBzdHJpY3QgZGlyZWN0aXZlIHByb2xvZ3VlKQ0KICogQG5vU3RyaWN0DQogKiBAbmVnYXRpdmUgVHlwZUVycm9yDQogKi8NCg0KdmFyIG8gPSB7IA0KICAgIGdldCBnTm9uU3RyaWN0KCkgew0KICAgICAgICB2YXIgdG1wID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvLCAiZ05vblN0cmljdCIpLmdldDsNCiAgICAgICAgcmV0dXJuIHRtcC5jYWxsZXIgfHwgdG1wLmNhbGxlci50aHJvd1R5cGVFcnJvcjsNCiAgICB9DQp9Ow0KDQoNCmZ1bmN0aW9uIGYoKSB7DQogICAgInVzZSBzdHJpY3QiOw0KICAgIHJldHVybiBvLmdOb25TdHJpY3Q7DQp9DQpmKCk7DQo=","commentary":"","description":"Strict mode - checking access to strict function caller from non-strict property (FunctionDeclaration includes strict directive prologue)","negative":"TypeError","noStrict":"","path":"TestCases/ch15/15.3/15.3.5/15.3.5.4/15.3.5.4_2-96gs.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4zLzE1LjMuNS8xNS4zLjUuNC8xNS4zLjUuNF8yLTk3Z3MuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpY3QgbW9kZSAtIGNoZWNraW5nIGFjY2VzcyB0byBzdHJpY3QgZnVuY3Rpb24gY2FsbGVyIGZyb20gYm91bmQgbm9uLXN0cmljdCBmdW5jdGlvbiAoRnVuY3Rpb25EZWNsYXJhdGlvbiBpbmNsdWRlcyBzdHJpY3QgZGlyZWN0aXZlIHByb2xvZ3VlKQ0KICogQG5vU3RyaWN0DQogKiBAbmVnYXRpdmUgVHlwZUVycm9yDQogKi8NCg0KdmFyIGdOb25TdHJpY3QgPSBnTm9uU3RyaWN0QmluZGVlLmJpbmQobnVsbCk7DQoNCmZ1bmN0aW9uIGYoKSB7DQogICAgInVzZSBzdHJpY3QiOw0KICAgIHJldHVybiBnTm9uU3RyaWN0KCk7DQp9DQpmKCk7DQoNCg0KZnVuY3Rpb24gZ05vblN0cmljdEJpbmRlZSgpIHsNCiAgICByZXR1cm4gZ05vblN0cmljdEJpbmRlZS5jYWxsZXIgfHwgZ05vblN0cmljdEJpbmRlZS5jYWxsZXIudGhyb3dUeXBlRXJyb3I7DQp9DQoNCg==","commentary":"","description":"Strict mode - checking access to strict function caller from bound non-strict function (FunctionDeclaration includes strict directive prologue)","negative":"TypeError","noStrict":"","path":"TestCases/ch15/15.3/15.3.5/15.3.5.4/15.3.5.4_2-97gs.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS4zLzE1LjMuNS8xNS4zLjUuNC8xNS4zLjUuNF8yLTlncy5qcw0KICogQGRlc2NyaXB0aW9uIFN0cmljdCBtb2RlIC0gY2hlY2tpbmcgYWNjZXNzIHRvIG5vbi1zdHJpY3QgZnVuY3Rpb24gY2FsbGVyIGZyb20gc3RyaWN0IGZ1bmN0aW9uIChOZXcnZWQgRnVuY3Rpb24gY29uc3RydWN0b3IgZGVmaW5lZCB3aXRoaW4gc3RyaWN0IG1vZGUpDQogKiBAb25seVN0cmljdA0KICogQG5lZ2F0aXZlIFR5cGVFcnJvcg0KICovDQoNCg0KInVzZSBzdHJpY3QiOw0KdmFyIGYgPSBuZXcgRnVuY3Rpb24oInJldHVybiBnTm9uU3RyaWN0KCk7Iik7DQpmKCk7DQoNCg0KZnVuY3Rpb24gZ05vblN0cmljdCgpIHsNCiAgICByZXR1cm4gZ05vblN0cmljdC5jYWxsZXI7DQp9DQoNCg==","commentary":"","description":"Strict mode - checking access to non-strict function caller from strict function (New'ed Function constructor defined within strict mode)","negative":"TypeError","onlyStrict":"","path":"TestCases/ch15/15.3/15.3.5/15.3.5.4/15.3.5.4_2-9gs.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBBIHByb3BlcnR5IG5hbWUgUCAoaW4gdGhlIGZvcm0gb2YgYSBzdHJpbmcgdmFsdWUpIGlzIGFuIGFycmF5IGluZGV4CiAqIGlmIGFuZCBvbmx5IGlmIFRvU3RyaW5nKFRvVWludDMyKFApKSBpcyBlcXVhbCB0byBQIGFuZCBUb1VpbnQzMihQKSBpcyBub3QgZXF1YWwgdG8gMl4zMiAtIDEKICoKICogQHBhdGggY2gxNS8xNS40L1MxNS40X0ExLjFfVDEuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGZvciBib29sZWFuIHByaW1pdGl2ZQogKi8KCi8vQ0hFQ0sjMQp4ID0gW107CnhbdHJ1ZV0gPSAxOwppZiAoeFsxXSAhPT0gdW5kZWZpbmVkKSB7CiAgJEVSUk9SKCcjMTogeCA9IFtdOyB4W3RydWVdID0gMTsgeFsxXSA9PT0gdW5kZWZpbmVkLiBBY3R1YWw6ICcgKyAoeFsxXSkpOyAgCn0KCi8vQ0hFQ0sjMgppZiAoeFsidHJ1ZSJdICE9PSAxKSB7CiAgJEVSUk9SKCcjMjogeCA9IFtdOyB4W3RydWVdID0gMTsgeFsidHJ1ZSJdID09PSAxLiBBY3R1YWw6ICcgKyAoeFsidHJ1ZSJdKSk7ICAKfQoKLy9DSEVDSyMzCnhbZmFsc2VdID0gMDsKaWYgKHhbMF0gIT09IHVuZGVmaW5lZCkgewogICRFUlJPUignIzM6IHggPSBbXTsgeFt0cnVlXSA9IDE7IHhbZmFsc2VdID0gMDsgeFswXSA9PT0gdW5kZWZpbmVkLiBBY3R1YWw6ICcgKyAoeFswXSkpOyAgCn0KCi8vQ0hFQ0sjNAppZiAoeFsiZmFsc2UiXSAhPT0gMCkgewogICRFUlJPUignIzQ6IHggPSBbXTsgeFtmYWxzZV0gPSAxOyB4WyJmYWxzZSJdID09PSAwLiBBY3R1YWw6ICcgKyAoeFsiZmFsc2UiXSkpOyAgCn0KCg==","commentary":"A property name P (in the form of a string value) is an array index\nif and only if ToString(ToUint32(P)) is equal to P and ToUint32(P) is not equal to 2^32 - 1","description":"Checking for boolean primitive","path":"TestCases/ch15/15.4/S15.4_A1.1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBBIHByb3BlcnR5IG5hbWUgUCAoaW4gdGhlIGZvcm0gb2YgYSBzdHJpbmcgdmFsdWUpIGlzIGFuIGFycmF5IGluZGV4CiAqIGlmIGFuZCBvbmx5IGlmIFRvU3RyaW5nKFRvVWludDMyKFApKSBpcyBlcXVhbCB0byBQIGFuZCBUb1VpbnQzMihQKSBpcyBub3QgZXF1YWwgdG8gMl4zMiAtIDEKICoKICogQHBhdGggY2gxNS8xNS40L1MxNS40X0ExLjFfVDEwLmpzCiAqIEBkZXNjcmlwdGlvbiBBcnJheSBpbmRleCBpcyBwb3dlciBvZiB0d28KICovCgovL0NIRUNLIwp4ID0gW107CmsgPSAxOwpmb3IgKGkgPSAwOyBpIDwgMzI7IGkrKykgewogIGsgPSBrICogMjsKICB4W2sgLSAyXSA9IGs7ICAKfQoKayA9IDE7CmZvciAoaSA9IDA7IGkgPCAzMjsgaSsrKSB7CiAgayA9IGsgKiAyOwogIGlmICh4W2sgLSAyXSAhPT0gaykgewogICAgJEVSUk9SKCcjJyArIChrIC0gMikgKyAnOiAnKTsKICB9ICAgICAKfQoK","commentary":"A property name P (in the form of a string value) is an array index\nif and only if ToString(ToUint32(P)) is equal to P and ToUint32(P) is not equal to 2^32 - 1","description":"Array index is power of two","path":"TestCases/ch15/15.4/S15.4_A1.1_T10.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBBIHByb3BlcnR5IG5hbWUgUCAoaW4gdGhlIGZvcm0gb2YgYSBzdHJpbmcgdmFsdWUpIGlzIGFuIGFycmF5IGluZGV4CiAqIGlmIGFuZCBvbmx5IGlmIFRvU3RyaW5nKFRvVWludDMyKFApKSBpcyBlcXVhbCB0byBQIGFuZCBUb1VpbnQzMihQKSBpcyBub3QgZXF1YWwgdG8gMl4zMiAtIDEKICoKICogQHBhdGggY2gxNS8xNS40L1MxNS40X0ExLjFfVDIuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGZvciBudW1iZXIgcHJpbWl0aXZlCiAqLwoKLy9DSEVDSyMxCnggPSBbXTsKeFtOYU5dID0gMTsKaWYgKHhbMF0gIT09IHVuZGVmaW5lZCkgewogICRFUlJPUignIzE6IHggPSBbXTsgeFtOYU5dID0gMTsgeFswXSA9PT0gdW5kZWZpbmVkLiBBY3R1YWw6ICcgKyAoeFswXSkpOyAgCn0gCgovL0NIRUNLIzIKaWYgKHhbIk5hTiJdICE9PSAxKSB7CiAgJEVSUk9SKCcjMjogeCA9IFtdOyB4W05hTl0gPSAxOyB4WyJOYU4iXSA9PT0gMS4gQWN0dWFsOiAnICsgKHhbIk5hTiJdKSk7ICAKfSAKCi8vQ0hFQ0sjMwp5ID0gW107CnlbTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZXSA9IDE7CmlmICh5WzBdICE9PSB1bmRlZmluZWQpIHsKICAkRVJST1IoJyMzOiB5ID0gW107IHlbTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZXSA9IDE7IHlbMF0gPT09IHVuZGVmaW5lZC4gQWN0dWFsOiAnICsgKHlbMF0pKTsgIAp9CgovL0NIRUNLIzQKaWYgKHlbIkluZmluaXR5Il0gIT09IDEpIHsKICAkRVJST1IoJyM0OiB5ID0gW107IHlbTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZXSA9IDE7IHlbIkluZmluaXR5Il0gPT09IDEuIEFjdHVhbDogJyArICh5WyJJbmZpbml0eSJdKSk7ICAKfSAKCi8vQ0hFQ0sjNQp6ID0gW107CnpbTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZXSA9IDE7CmlmICh6WzBdICE9PSB1bmRlZmluZWQpIHsKICAkRVJST1IoJyM1OiB6ID0gW107IHpbTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZXSA9IDE7IHpbMF0gPT09IHVuZGVmaW5lZC4gQWN0dWFsOiAnICsgKHpbMF0pKTsgIAp9CgovL0NIRUNLIzYKaWYgKHpbIi1JbmZpbml0eSJdICE9PSAxKSB7CiAgJEVSUk9SKCcjNjogeiA9IFtdOyB6W051bWJlci5ORUdBVElWRV9JTkZJTklUWV0gPSAxOyB6WyItSW5maW5pdHkiXSA9PT0gMS4gQWN0dWFsOiAnICsgKHpbIi1JbmZpbml0eSJdKSk7ICAKfSAKCgo=","commentary":"A property name P (in the form of a string value) is an array index\nif and only if ToString(ToUint32(P)) is equal to P and ToUint32(P) is not equal to 2^32 - 1","description":"Checking for number primitive","path":"TestCases/ch15/15.4/S15.4_A1.1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBBIHByb3BlcnR5IG5hbWUgUCAoaW4gdGhlIGZvcm0gb2YgYSBzdHJpbmcgdmFsdWUpIGlzIGFuIGFycmF5IGluZGV4CiAqIGlmIGFuZCBvbmx5IGlmIFRvU3RyaW5nKFRvVWludDMyKFApKSBpcyBlcXVhbCB0byBQIGFuZCBUb1VpbnQzMihQKSBpcyBub3QgZXF1YWwgdG8gMl4zMiAtIDEKICoKICogQHBhdGggY2gxNS8xNS40L1MxNS40X0ExLjFfVDMuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGZvciBudW1iZXIgcHJpbWl0aXZlCiAqLwoKLy9DSEVDSyMxCnggPSBbXTsKeFs0Mjk0OTY3Mjk2XSA9IDE7CmlmICh4WzBdICE9PSB1bmRlZmluZWQpIHsKICAkRVJST1IoJyMxOiB4ID0gW107IHhbNDI5NDk2NzI5Nl0gPSAxOyB4WzBdID09PSB1bmRlZmluZWQuIEFjdHVhbDogJyArICh4WzBdKSk7ICAKfQoKLy9DSEVDSyMyCmlmICh4WyI0Mjk0OTY3Mjk2Il0gIT09IDEpIHsKICAkRVJST1IoJyMyOiB4ID0gW107IHhbNDI5NDk2NzI5Nl0gPSAxOyB4WyI0Mjk0OTY3Mjk2Il0gPT09IDEuIEFjdHVhbDogJyArICh4WyI0Mjk0OTY3Mjk2Il0pKTsgIAp9CgovL0NIRUNLIzMKeSA9IFtdOwp5WzQyOTQ5NjcyOTddID0gMTsKaWYgKHlbMV0gIT09IHVuZGVmaW5lZCkgewogICRFUlJPUignIzM6IHkgPSBbXTsgeVs0Mjk0OTY3Mjk3XSA9IDE7IHlbMV0gPT09IHVuZGVmaW5lZC4gQWN0dWFsOiAnICsgKHlbMV0pKTsgIAp9IAoKLy9DSEVDSyM0CmlmICh5WyI0Mjk0OTY3Mjk3Il0gIT09IDEpIHsKICAkRVJST1IoJyM0OiB5ID0gW107IHlbNDI5NDk2NzI5N10gPSAxOyB5WyI0Mjk0OTY3Mjk3Il0gPT09IDEuIEFjdHVhbDogJyArICh5WyI0Mjk0OTY3Mjk3Il0pKTsgIAp9CgovL0NIRUNLIzUKeiA9IFtdOwp6WzEuMV0gPSAxOwppZiAoelsxXSAhPT0gdW5kZWZpbmVkKSB7CiAgJEVSUk9SKCcjNTogeiA9IFtdOyB6WzEuMV0gPSAxOyB6WzFdID09PSB1bmRlZmluZWQuIEFjdHVhbDogJyArICh6WzFdKSk7ICAKfQoKLy9DSEVDSyM2CmlmICh6WyIxLjEiXSAhPT0gMSkgewogICRFUlJPUignIzY6IHogPSBbXTsgelsxLjFdID0gMTsgelsiMS4xIl0gPT09IDEuIEFjdHVhbDogJyArICh6WyIxLjEiXSkpOyAgCn0gIAoK","commentary":"A property name P (in the form of a string value) is an array index\nif and only if ToString(ToUint32(P)) is equal to P and ToUint32(P) is not equal to 2^32 - 1","description":"Checking for number primitive","path":"TestCases/ch15/15.4/S15.4_A1.1_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBBIHByb3BlcnR5IG5hbWUgUCAoaW4gdGhlIGZvcm0gb2YgYSBzdHJpbmcgdmFsdWUpIGlzIGFuIGFycmF5IGluZGV4CiAqIGlmIGFuZCBvbmx5IGlmIFRvU3RyaW5nKFRvVWludDMyKFApKSBpcyBlcXVhbCB0byBQIGFuZCBUb1VpbnQzMihQKSBpcyBub3QgZXF1YWwgdG8gMl4zMiAtIDEKICoKICogQHBhdGggY2gxNS8xNS40L1MxNS40X0ExLjFfVDQuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGZvciBzdHJpbmcgcHJpbWl0aXZlCiAqLwoKLy9DSEVDSyMxCnggPSBbXTsKeFsiMCJdID0gMDsKaWYgKHhbMF0gIT09IDApIHsKICAkRVJST1IoJyMxOiB4ID0gW107IHhbIjAiXSA9IDA7IHhbMF0gPT09IDAuIEFjdHVhbDogJyArICh4WzBdKSk7ICAKfSAKCi8vQ0hFQ0sjMgp5ID0gW107CnlbIjEiXSA9IDE7CmlmICh5WzFdICE9PSAxKSB7CiAgJEVSUk9SKCcjMjogeSA9IFtdOyB5WyIxIl0gPSAxOyB5WzFdID09PSAxLiBBY3R1YWw6ICcgKyAoeVsxXSkpOyAgCn0KCgo=","commentary":"A property name P (in the form of a string value) is an array index\nif and only if ToString(ToUint32(P)) is equal to P and ToUint32(P) is not equal to 2^32 - 1","description":"Checking for string primitive","path":"TestCases/ch15/15.4/S15.4_A1.1_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBBIHByb3BlcnR5IG5hbWUgUCAoaW4gdGhlIGZvcm0gb2YgYSBzdHJpbmcgdmFsdWUpIGlzIGFuIGFycmF5IGluZGV4CiAqIGlmIGFuZCBvbmx5IGlmIFRvU3RyaW5nKFRvVWludDMyKFApKSBpcyBlcXVhbCB0byBQIGFuZCBUb1VpbnQzMihQKSBpcyBub3QgZXF1YWwgdG8gMl4zMiAtIDEKICoKICogQHBhdGggY2gxNS8xNS40L1MxNS40X0ExLjFfVDUuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGZvciBudWxsIGFuZCB1bmRlZmluZWQKICovCgovL0NIRUNLIzEKeCA9IFtdOwp4W251bGxdID0gMDsKaWYgKHhbMF0gIT09IHVuZGVmaW5lZCkgewogICRFUlJPUignIzE6IHggPSBbXTsgeFtudWxsXSA9IDE7IHhbMF0gPT09IHVuZGVmaW5lZC4gQWN0dWFsOiAnICsgKHhbMF0pKTsgIAp9CgovL0NIRUNLIzIKaWYgKHhbIm51bGwiXSAhPT0gMCkgewogICRFUlJPUignIzI6IHggPSBbXTsgeFtudWxsXSA9IDE7IHhbIm51bGwiXSA9PT0gMC4gQWN0dWFsOiAnICsgKHhbIm51bGwiXSkpOyAgCn0KCi8vQ0hFQ0sjMwp5ID0gW107CnlbdW5kZWZpbmVkXSA9IDA7CmlmICh5WzBdICE9PSB1bmRlZmluZWQpIHsKICAkRVJST1IoJyMzOiB5ID0gW107IHlbdW5kZWZpbmVkXSA9IDA7IHlbMF0gPT09IHVuZGVmaW5lZC4gQWN0dWFsOiAnICsgKHlbMF0pKTsgIAp9CgovL0NIRUNLIzQKaWYgKHlbInVuZGVmaW5lZCJdICE9PSAwKSB7CiAgJEVSUk9SKCcjNDogeSA9IFtdOyB5W3VuZGVmaW5lZF0gPSAxOyB5WyJ1bmRlZmluZWQiXSA9PT0gMC4gQWN0dWFsOiAnICsgKHlbInVuZGVmaW5lZCJdKSk7ICAKfQoK","commentary":"A property name P (in the form of a string value) is an array index\nif and only if ToString(ToUint32(P)) is equal to P and ToUint32(P) is not equal to 2^32 - 1","description":"Checking for null and undefined","path":"TestCases/ch15/15.4/S15.4_A1.1_T5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBBIHByb3BlcnR5IG5hbWUgUCAoaW4gdGhlIGZvcm0gb2YgYSBzdHJpbmcgdmFsdWUpIGlzIGFuIGFycmF5IGluZGV4CiAqIGlmIGFuZCBvbmx5IGlmIFRvU3RyaW5nKFRvVWludDMyKFApKSBpcyBlcXVhbCB0byBQIGFuZCBUb1VpbnQzMihQKSBpcyBub3QgZXF1YWwgdG8gMl4zMiAtIDEKICoKICogQHBhdGggY2gxNS8xNS40L1MxNS40X0ExLjFfVDYuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGZvciBCb29sZWFuIG9iamVjdAogKi8KCi8vQ0hFQ0sjMQp4ID0gW107CnhbbmV3IEJvb2xlYW4odHJ1ZSldID0gMTsKaWYgKHhbMV0gIT09IHVuZGVmaW5lZCkgewogICRFUlJPUignIzE6IHggPSBbXTsgeFtuZXcgQm9vbGVhbih0cnVlKV0gPSAxOyB4WzFdID09PSB1bmRlZmluZWQuIEFjdHVhbDogJyArICh4WzFdKSk7ICAKfQoKLy9DSEVDSyMyCmlmICh4WyJ0cnVlIl0gIT09IDEpIHsKICAkRVJST1IoJyMyOiB4ID0gW107IHhbdHJ1ZV0gPSAxOyB4WyJ0cnVlIl0gPT09IDEuIEFjdHVhbDogJyArICh4WyJ0cnVlIl0pKTsgIAp9CgovL0NIRUNLIzMKeFtuZXcgQm9vbGVhbihmYWxzZSldID0gMDsKaWYgKHhbMF0gIT09IHVuZGVmaW5lZCkgewogICRFUlJPUignIzM6IHggPSBbXTsgeFt0cnVlXSA9IDE7IHhbbmV3IEJvb2xlYW4oZmFsc2UpXSA9IDA7IHhbMF0gPT09IHVuZGVmaW5lZC4gQWN0dWFsOiAnICsgKHhbMF0pKTsgIAp9CgovL0NIRUNLIzQKaWYgKHhbImZhbHNlIl0gIT09IDApIHsKICAkRVJST1IoJyM0OiB4ID0gW107IHhbZmFsc2VdID0gMTsgeFsiZmFsc2UiXSA9PT0gMC4gQWN0dWFsOiAnICsgKHhbImZhbHNlIl0pKTsgIAp9CgoK","commentary":"A property name P (in the form of a string value) is an array index\nif and only if ToString(ToUint32(P)) is equal to P and ToUint32(P) is not equal to 2^32 - 1","description":"Checking for Boolean object","path":"TestCases/ch15/15.4/S15.4_A1.1_T6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBBIHByb3BlcnR5IG5hbWUgUCAoaW4gdGhlIGZvcm0gb2YgYSBzdHJpbmcgdmFsdWUpIGlzIGFuIGFycmF5IGluZGV4CiAqIGlmIGFuZCBvbmx5IGlmIFRvU3RyaW5nKFRvVWludDMyKFApKSBpcyBlcXVhbCB0byBQIGFuZCBUb1VpbnQzMihQKSBpcyBub3QgZXF1YWwgdG8gMl4zMiAtIDEKICoKICogQHBhdGggY2gxNS8xNS40L1MxNS40X0ExLjFfVDcuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGZvciBOdW1iZXIgb2JqZWN0CiAqLwoKLy9DSEVDSyMxCnggPSBbXTsKeFtuZXcgTnVtYmVyKDApXSA9IDA7CmlmICh4WzBdICE9PSAwKSB7CiAgJEVSUk9SKCcjMTogeCA9IFtdOyB4W25ldyBOdW1iZXIoMCldID0gMDsgeFswXSA9PT0gMC4gQWN0dWFsOiAnICsgKHhbMF0pKTsgIAp9IAoKLy9DSEVDSyMyCnkgPSBbXTsKeVtuZXcgTnVtYmVyKDEpXSA9IDE7CmlmICh5WzFdICE9PSAxKSB7CiAgJEVSUk9SKCcjMjogeSA9IFtdOyB5W25ldyBOdW1iZXIoMSldID0gMTsgeVsxXSA9PT0gMS4gQWN0dWFsOiAnICsgKHlbMV0pKTsgIAp9CgovL0NIRUNLIzMKeiA9IFtdOwp6W25ldyBOdW1iZXIoMS4xKV0gPSAxOwppZiAoelsiMS4xIl0gIT09IDEpIHsKICAkRVJST1IoJyMzOiB6ID0gW107IHpbbmV3IE51bWJlcigxLjEpXSA9IDE7IHpbIjEuMSJdID09PSAxLiBBY3R1YWw6ICcgKyAoelsiMS4xIl0pKTsgIAp9ICAKCg==","commentary":"A property name P (in the form of a string value) is an array index\nif and only if ToString(ToUint32(P)) is equal to P and ToUint32(P) is not equal to 2^32 - 1","description":"Checking for Number object","path":"TestCases/ch15/15.4/S15.4_A1.1_T7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBBIHByb3BlcnR5IG5hbWUgUCAoaW4gdGhlIGZvcm0gb2YgYSBzdHJpbmcgdmFsdWUpIGlzIGFuIGFycmF5IGluZGV4CiAqIGlmIGFuZCBvbmx5IGlmIFRvU3RyaW5nKFRvVWludDMyKFApKSBpcyBlcXVhbCB0byBQIGFuZCBUb1VpbnQzMihQKSBpcyBub3QgZXF1YWwgdG8gMl4zMiAtIDEKICoKICogQHBhdGggY2gxNS8xNS40L1MxNS40X0ExLjFfVDguanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGZvciBOdW1iZXIgb2JqZWN0CiAqLwoKLy9DSEVDSyMxCnggPSBbXTsKeFtuZXcgU3RyaW5nKCIwIildID0gMDsKaWYgKHhbMF0gIT09IDApIHsKICAkRVJST1IoJyMxOiB4ID0gW107IHhbbmV3IFN0cmluZygiMCIpXSA9IDA7IHhbMF0gPT09IDAuIEFjdHVhbDogJyArICh4WzBdKSk7ICAKfSAKCi8vQ0hFQ0sjMgp5ID0gW107CnlbbmV3IFN0cmluZygiMSIpXSA9IDE7CmlmICh5WzFdICE9PSAxKSB7CiAgJEVSUk9SKCcjMjogeSA9IFtdOyB5W25ldyBTdHJpbmcoIjEiKV0gPSAxOyB5WzFdID09PSAxLiBBY3R1YWw6ICcgKyAoeVsxXSkpOyAgCn0KCi8vQ0hFQ0sjMwp6ID0gW107CnpbbmV3IFN0cmluZygiMS4xIildID0gMTsKaWYgKHpbIjEuMSJdICE9PSAxKSB7CiAgJEVSUk9SKCcjMzogeiA9IFtdOyB6W25ldyBTdHJpbmcoIjEuMSIpXSA9IDE7IHpbIjEuMSJdID09PSAxLiBBY3R1YWw6ICcgKyAoelsiMS4xIl0pKTsgIAp9ICAKCg==","commentary":"A property name P (in the form of a string value) is an array index\nif and only if ToString(ToUint32(P)) is equal to P and ToUint32(P) is not equal to 2^32 - 1","description":"Checking for Number object","path":"TestCases/ch15/15.4/S15.4_A1.1_T8.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBBIHByb3BlcnR5IG5hbWUgUCAoaW4gdGhlIGZvcm0gb2YgYSBzdHJpbmcgdmFsdWUpIGlzIGFuIGFycmF5IGluZGV4CiAqIGlmIGFuZCBvbmx5IGlmIFRvU3RyaW5nKFRvVWludDMyKFApKSBpcyBlcXVhbCB0byBQIGFuZCBUb1VpbnQzMihQKSBpcyBub3QgZXF1YWwgdG8gMl4zMiAtIDEKICoKICogQHBhdGggY2gxNS8xNS40L1MxNS40X0ExLjFfVDkuanMKICogQGRlc2NyaXB0aW9uIElmIFR5cGUodmFsdWUpIGlzIE9iamVjdCwgZXZhbHVhdGUgVG9QcmltaXRpdmUodmFsdWUsIFN0cmluZykKICovCgovL0NIRUNLIzEKeCA9IFtdOwp2YXIgb2JqZWN0ID0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAxfX07Cnhbb2JqZWN0XSA9IDA7CmlmICh4WyJbb2JqZWN0IE9iamVjdF0iXSAhPT0gMCkgewogICRFUlJPUignIzE6IHggPSBbXTsgdmFyIG9iamVjdCA9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gMX19OyB4W29iamVjdF0gPSAwOyB4WyJbb2JqZWN0IE9iamVjdF0iXSA9PT0gMC4gQWN0dWFsOiAnICsgKHhbIltvYmplY3QgT2JqZWN0XSJdKSk7Cn0KCi8vQ0hFQ0sjMgp4ID0gW107CnZhciBvYmplY3QgPSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIDF9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIDB9fTsKeFtvYmplY3RdID0gMDsKaWYgKHhbMF0gIT09IDApIHsKICAkRVJST1IoJyMyOiB4ID0gW107IHZhciBvYmplY3QgPSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIDF9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIDB9fTsgeFtvYmplY3RdID0gMDsgeFswXSA9PT0gMC4gQWN0dWFsOiAnICsgKHhbMF0pKTsKfSAKCi8vQ0hFQ0sjMwp4ID0gW107CnZhciBvYmplY3QgPSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIDF9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIHt9fX07Cnhbb2JqZWN0XSA9IDA7CmlmICh4WzFdICE9PSAwKSB7CiAgJEVSUk9SKCcjMzogeCA9IFtdOyB2YXIgb2JqZWN0ID0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAxfSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiB7fX19OyB4W29iamVjdF0gPSAwOyB4WzFdID09PSAwLiBBY3R1YWw6ICcgKyAoeFsxXSkpOwp9CgovL0NIRUNLIzQKdHJ5IHsKICB4ID0gW107ICAKICB2YXIgb2JqZWN0ID0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3Rocm93ICJlcnJvciJ9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIDF9fTsKICB4W29iamVjdF0gPSAwOwogIGlmICh4WzFdICE9PSAwKSB7CiAgICAkRVJST1IoJyM0LjE6IHggPSBbXTsgdmFyIG9iamVjdCA9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHt0aHJvdyAiZXJyb3IifSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiAxfX07IHhbb2JqZWN0XSA9IDA7IHhbMV0gPT09IDEuIEFjdHVhbDogJyArICh4WzFdKSk7CiAgfQp9CmNhdGNoIChlKSB7CiAgaWYgKGUgPT09ICJlcnJvciIpIHsKICAgICRFUlJPUignIzQuMjogeCA9IFtdOyB2YXIgb2JqZWN0ID0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3Rocm93ICJlcnJvciJ9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIDF9fTsgeFtvYmplY3RdID0gMDsgeFsxXSA9PT0gMS4gQWN0dWFsOiAnICsgKCJlcnJvciIpKTsKICB9IGVsc2UgewogICAgJEVSUk9SKCcjNC4zOiB4ID0gW107IHZhciBvYmplY3QgPSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7dGhyb3cgImVycm9yIn0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gMX19OyB4W29iamVjdF0gPSAwOyB4WzFdID09PSAxLiBBY3R1YWw6ICcgKyAoZSkpOwogIH0KfQoKLy9DSEVDSyM1CnggPSBbXTsKdmFyIG9iamVjdCA9IHt0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIDF9fTsKeFtvYmplY3RdID0gMDsKaWYgKHhbMV0gIT09IDApIHsKICAkRVJST1IoJyM1OiB4ID0gW107IHZhciBvYmplY3QgPSB7dG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiAxfX07IHhbb2JqZWN0XSA9IDA7IHhbMV0gPT09IDAuIEFjdHVhbDogJyArICh4WzFdKSk7Cn0KCi8vQ0hFQ0sjNgp4ID0gW107CnZhciBvYmplY3QgPSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIHt9fSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiAxfX0KeFtvYmplY3RdID0gMDsKaWYgKHhbMV0gIT09IDApIHsKICAkRVJST1IoJyM2OiB4ID0gW107IHZhciBvYmplY3QgPSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIHt9fSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiAxfX07IHhbb2JqZWN0XSA9IDA7IHhbMV0gPT09IDAuIEFjdHVhbDogJyArICh4WzFdKSk7Cn0KCi8vQ0hFQ0sjNwp0cnkgewogIHggPSBbXTsKICB2YXIgb2JqZWN0ID0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAxfSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3Rocm93ICJlcnJvciJ9fTsKICB4W29iamVjdF07ICAKICAkRVJST1IoJyM3LjE6IHggPSBbXTsgdmFyIG9iamVjdCA9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gMX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHt0aHJvdyAiZXJyb3IifX07IHhbb2JqZWN0XSB0aHJvdyAiZXJyb3IiLiBBY3R1YWw6ICcgKyAoeFtvYmplY3RdKSk7Cn0gIApjYXRjaCAoZSkgewogIGlmIChlICE9PSAiZXJyb3IiKSB7CiAgICAkRVJST1IoJyM3LjI6IHggPSBbXTsgdmFyIG9iamVjdCA9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gMX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHt0aHJvdyAiZXJyb3IifX07IHhbb2JqZWN0XSB0aHJvdyAiZXJyb3IiLiBBY3R1YWw6ICcgKyAoZSkpOwogIH0gCn0KCi8vQ0hFQ0sjOAp0cnkgewogIHggPSBbXTsKICB2YXIgb2JqZWN0ID0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiB7fX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4ge319fTsKICB4W29iamVjdF07CiAgJEVSUk9SKCcjOC4xOiB4ID0gW107IHZhciBvYmplY3QgPSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIHt9fSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiB7fX19OyB4W29iamVjdF0gdGhyb3cgVHlwZUVycm9yLiBBY3R1YWw6ICcgKyAoeFtvYmplY3RdKSk7Cn0gIApjYXRjaCAoZSkgewogIGlmICgoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikgIT09IHRydWUpIHsKICAgICRFUlJPUignIzguMjogeCA9IFtdOyB2YXIgb2JqZWN0ID0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiB7fX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4ge319fTsgeFtvYmplY3RdIHRocm93IFR5cGVFcnJvci4gQWN0dWFsOiAnICsgKGUpKTsKICB9IAp9ICAKCg==","commentary":"A property name P (in the form of a string value) is an array index\nif and only if ToString(ToUint32(P)) is equal to P and ToUint32(P) is not equal to 2^32 - 1","description":"If Type(value) is Object, evaluate ToPrimitive(value, String)","path":"TestCases/ch15/15.4/S15.4_A1.1_T9.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgW1tQcm90b3R5cGVdXSBwcm9wZXJ0eSBvZiB0aGUgbmV3bHkgY29uc3RydWN0ZWQgb2JqZWN0CiAqIGlzIHNldCB0byB0aGUgb3JpZ2luYWwgQXJyYXkgcHJvdG90eXBlIG9iamVjdCwgdGhlIG9uZSB0aGF0CiAqIGlzIHRoZSBpbml0aWFsIHZhbHVlIG9mIEFycmF5LnByb3RvdHlwZQogKgogKiBAcGF0aCBjaDE1LzE1LjQvMTUuNC4xL1MxNS40LjFfQTEuMV9UMS5qcwogKiBAZGVzY3JpcHRpb24gQ3JlYXRlIG5ldyBwcm9wZXJ0eSBvZiBBcnJheS5wcm90b3R5cGUuIFdoZW4gbmV3IEFycmF5IG9iamVjdCBoYXMgdGhpcyBwcm9wZXJ0eQogKi8KCi8vQ0hFQ0sjMQpBcnJheS5wcm90b3R5cGUubXlwcm9wZXJ0eSA9IDE7CnZhciB4ID0gQXJyYXkoKTsgCmlmICh4Lm15cHJvcGVydHkgIT09IDEpIHsKICAkRVJST1IoJyMxOiBBcnJheS5wcm90b3R5cGUubXlwcm9wZXJ0eSA9IDE7IHZhciB4ID0gQXJyYXkoKTsgeC5teXByb3BlcnR5ID09PSAxLiBBY3R1YWw6ICcgKyAoeC5teXByb3BlcnR5KSk7Cn0KCi8vQ0hFQ0sjMgppZiAoeC5oYXNPd25Qcm9wZXJ0eSgnbXlwcm9wZXJ0eScpICE9PSBmYWxzZSkgewogICRFUlJPUignIzI6IEFycmF5LnByb3RvdHlwZS5teXByb3BlcnR5ID0gMTsgdmFyIHggPSBBcnJheSgpOyB4Lmhhc093blByb3BlcnR5KFwnbXlwcm9wZXJ0eVwnKSA9PT0gZmFsc2UuIEFjdHVhbDogJyArICh4Lmhhc093blByb3BlcnR5KCdteXByb3BlcnR5JykpKTsKfQoK","commentary":"The [[Prototype]] property of the newly constructed object\nis set to the original Array prototype object, the one that\nis the initial value of Array.prototype","description":"Create new property of Array.prototype. When new Array object has this property","path":"TestCases/ch15/15.4/15.4.1/S15.4.1_A1.1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgW1tQcm90b3R5cGVdXSBwcm9wZXJ0eSBvZiB0aGUgbmV3bHkgY29uc3RydWN0ZWQgb2JqZWN0CiAqIGlzIHNldCB0byB0aGUgb3JpZ2luYWwgQXJyYXkgcHJvdG90eXBlIG9iamVjdCwgdGhlIG9uZSB0aGF0CiAqIGlzIHRoZSBpbml0aWFsIHZhbHVlIG9mIEFycmF5LnByb3RvdHlwZQogKgogKiBAcGF0aCBjaDE1LzE1LjQvMTUuNC4xL1MxNS40LjFfQTEuMV9UMi5qcwogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnRvU3RyaW5nID0gT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZwogKi8KCi8vQ0hFQ0sjMQpBcnJheS5wcm90b3R5cGUudG9TdHJpbmcgPSBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nOwp2YXIgeCA9IEFycmF5KCk7IAppZiAoeC50b1N0cmluZygpICE9PSAiW29iamVjdCAiICsgIkFycmF5IiArICJdIikgewogICRFUlJPUignIzE6IEFycmF5LnByb3RvdHlwZS50b1N0cmluZyA9IE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmc7IHZhciB4ID0gQXJyYXkoKTsgeC50b1N0cmluZygpID09PSAiW29iamVjdCAiICsgIkFycmF5IiArICJdIi4gQWN0dWFsOiAnICsgKHgudG9TdHJpbmcoKSkpOwp9CgovL0NIRUNLIzIKQXJyYXkucHJvdG90eXBlLnRvU3RyaW5nID0gT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZzsKdmFyIHggPSBBcnJheSgwLDEsMik7IAppZiAoeC50b1N0cmluZygpICE9PSAiW29iamVjdCAiICsgIkFycmF5IiArICJdIikgewogICRFUlJPUignIzI6IEFycmF5LnByb3RvdHlwZS50b1N0cmluZyA9IE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmc7IHZhciB4ID0gQXJyYXkoMCwxLDIpOyB4LnRvU3RyaW5nKCkgPT09ICJbb2JqZWN0ICIgKyAiQXJyYXkiICsgIl0iLiBBY3R1YWw6ICcgKyAoeC50b1N0cmluZygpKSk7Cn0KCgo=","commentary":"The [[Prototype]] property of the newly constructed object\nis set to the original Array prototype object, the one that\nis the initial value of Array.prototype","description":"Array.prototype.toString = Object.prototype.toString","path":"TestCases/ch15/15.4/15.4.1/S15.4.1_A1.1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgW1tQcm90b3R5cGVdXSBwcm9wZXJ0eSBvZiB0aGUgbmV3bHkgY29uc3RydWN0ZWQgb2JqZWN0CiAqIGlzIHNldCB0byB0aGUgb3JpZ2luYWwgQXJyYXkgcHJvdG90eXBlIG9iamVjdCwgdGhlIG9uZSB0aGF0CiAqIGlzIHRoZSBpbml0aWFsIHZhbHVlIG9mIEFycmF5LnByb3RvdHlwZQogKgogKiBAcGF0aCBjaDE1LzE1LjQvMTUuNC4xL1MxNS40LjFfQTEuMV9UMy5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgdXNlIGlzUHJvdG90eXBlT2YKICovCgovL0NIRUNLIzEKaWYgKEFycmF5LnByb3RvdHlwZS5pc1Byb3RvdHlwZU9mKEFycmF5KCkpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMTogQXJyYXkucHJvdG90eXBlLmlzUHJvdG90eXBlT2YoQXJyYXkoKSkgPT09IHRydWUuIEFjdHVhbDogJyArIChBcnJheS5wcm90b3R5cGUuaXNQcm90b3R5cGVPZihBcnJheSgpKSkpOwp9CgoK","commentary":"The [[Prototype]] property of the newly constructed object\nis set to the original Array prototype object, the one that\nis the initial value of Array.prototype","description":"Checking use isPrototypeOf","path":"TestCases/ch15/15.4/15.4.1/S15.4.1_A1.1_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgW1tDbGFzc11dIHByb3BlcnR5IG9mIHRoZSBuZXdseSBjb25zdHJ1Y3RlZCBvYmplY3QgaXMgc2V0IHRvICJBcnJheSIKICoKICogQHBhdGggY2gxNS8xNS40LzE1LjQuMS9TMTUuNC4xX0ExLjJfVDEuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIHVzZSBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nCiAqLwoKLy9DSEVDSyMxCnZhciB4ID0gQXJyYXkoKTsgCnguZ2V0Q2xhc3MgPSBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nOwppZiAoeC5nZXRDbGFzcygpICE9PSAiW29iamVjdCAiICsgIkFycmF5IiArICJdIikgewogICRFUlJPUignIzE6IHZhciB4ID0gQXJyYXkoKTsgeC5nZXRDbGFzcyA9IE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmc7IHggaXMgQXJyYXkgb2JqZWN0LiBBY3R1YWw6ICcgKyAoeC5nZXRDbGFzcygpKSk7Cn0KCi8vQ0hFQ0sjMgp2YXIgeCA9IEFycmF5KDAsMSwyKTsgCnguZ2V0Q2xhc3MgPSBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nOwppZiAoeC5nZXRDbGFzcygpICE9PSAiW29iamVjdCAiICsgIkFycmF5IiArICJdIikgewogICRFUlJPUignIzI6IHZhciB4ID0gQXJyYXkoMCwxLDIpOyB4LmdldENsYXNzID0gT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZzsgeCBpcyBBcnJheSBvYmplY3QuIEFjdHVhbDogJyArICh4LmdldENsYXNzKCkpKTsKfQoK","commentary":"The [[Class]] property of the newly constructed object is set to \"Array\"","description":"Checking use Object.prototype.toString","path":"TestCases/ch15/15.4/15.4.1/S15.4.1_A1.2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGlzIGRlc2NyaXB0aW9uIG9mIEFycmF5IGNvbnN0cnVjdG9yIGFwcGxpZXMgaWYgYW5kIG9ubHkgaWYKICogdGhlIEFycmF5IGNvbnN0cnVjdG9yIGlzIGdpdmVuIG5vIGFyZ3VtZW50cyBvciBhdCBsZWFzdCB0d28gYXJndW1lbnRzCiAqCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjEvUzE1LjQuMV9BMS4zX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBjYXNlIHdoZW4gQXJyYXkgY29uc3RydWN0b3IgaXMgZ2l2ZW4gb25lIGFyZ3VtZW50CiAqLwoKdmFyIHggPSBBcnJheSgyKTsKCi8vQ0hFQ0sjMQppZiAoeC5sZW5ndGggPT09IDEpIHsKICAkRVJST1IoJyMxOiB2YXIgeCA9IEFycmF5KDIpOyB4Lmxlbmd0aCAhPT0gMScpOwp9CgovL0NIRUNLIzIKaWYgKHhbMF0gPT09IDIpIHsKICAkRVJST1IoJyMyOiB2YXIgeCA9IEFycmF5KDIpOyB4WzBdICE9PSAyJyk7Cn0KCg==","commentary":"This description of Array constructor applies if and only if\nthe Array constructor is given no arguments or at least two arguments","description":"Checking case when Array constructor is given one argument","path":"TestCases/ch15/15.4/15.4.1/S15.4.1_A1.3_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgbGVuZ3RoIHByb3BlcnR5IG9mIHRoZSBuZXdseSBjb25zdHJ1Y3RlZCBvYmplY3Q7CiAqIGlzIHNldCB0byB0aGUgbnVtYmVyIG9mIGFyZ3VtZW50cwogKgogKiBAcGF0aCBjaDE1LzE1LjQvMTUuNC4xL1MxNS40LjFfQTIuMV9UMS5qcwogKiBAZGVzY3JpcHRpb24gQXJyYXkgY29uc3RydWN0b3IgaXMgZ2l2ZW4gbm8gYXJndW1lbnRzIG9yIGF0IGxlYXN0IHR3byBhcmd1bWVudHMKICovCgovL0NIRUNLIzEKaWYgKEFycmF5KCkubGVuZ3RoICE9PSAwKSB7CiAgJEVSUk9SKCcjMTogKEFycmF5KCkubGVuZ3RoID09PSAwLiBBY3R1YWw6ICcgKyAoQXJyYXkoKS5sZW5ndGgpKTsKfQoKLy9DSEVDSyMyCmlmIChBcnJheSgwLDEsMCwxKS5sZW5ndGggIT09IDQpIHsKICAkRVJST1IoJyMyOiAoQXJyYXkoMCwxLDAsMSkubGVuZ3RoID09PSA0LiBBY3R1YWw6ICcgKyAoQXJyYXkoMCwxLDAsMSkubGVuZ3RoKSk7Cn0KCi8vQ0hFQ0sjMwppZiAoQXJyYXkodW5kZWZpbmVkLCB1bmRlZmluZWQpLmxlbmd0aCAhPT0gMikgewogICRFUlJPUignIzM6IChBcnJheSh1bmRlZmluZWQsIHVuZGVmaW5lZCkubGVuZ3RoID09PSAyLiBBY3R1YWw6ICcgKyAoQXJyYXkodW5kZWZpbmVkLCB1bmRlZmluZWQpLmxlbmd0aCkpOwp9Cgo=","commentary":"The length property of the newly constructed object;\nis set to the number of arguments","description":"Array constructor is given no arguments or at least two arguments","path":"TestCases/ch15/15.4/15.4.1/S15.4.1_A2.1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgMCBwcm9wZXJ0eSBvZiB0aGUgbmV3bHkgY29uc3RydWN0ZWQgb2JqZWN0IGlzIHNldCB0byBpdGVtMAogKiAoaWYgc3VwcGxpZWQpOyB0aGUgMSBwcm9wZXJ0eSBvZiB0aGUgbmV3bHkgY29uc3RydWN0ZWQgb2JqZWN0IGlzIHNldCB0byBpdGVtMQogKiAoaWYgc3VwcGxpZWQpOyBhbmQsIGluIGdlbmVyYWwsIGZvciBhcyBtYW55IGFyZ3VtZW50cyBhcyB0aGVyZSBhcmUsIHRoZSBrIHByb3BlcnR5CiAqIG9mIHRoZSBuZXdseSBjb25zdHJ1Y3RlZCBvYmplY3QgaXMgc2V0IHRvIGFyZ3VtZW50IGssIHdoZXJlIHRoZSBmaXJzdCBhcmd1bWVudCBpcwogKiBjb25zaWRlcmVkIHRvIGJlIGFyZ3VtZW50IG51bWJlciAwCiAqCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjEvUzE1LjQuMV9BMi4yX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBjb3JyZWN0IHdvcmsgdGhpcyBhbGdvcml0aG0KICovCgovL0NIRUNLIwp2YXIgeCA9IEFycmF5KAowLDEsMiwzLDQsNSw2LDcsOCw5LAoxMCwxMSwxMiwxMywxNCwxNSwxNiwxNywxOCwxOSwKMjAsMjEsMjIsMjMsMjQsMjUsMjYsMjcsMjgsMjksCjMwLDMxLDMyLDMzLDM0LDM1LDM2LDM3LDM4LDM5LAo0MCw0MSw0Miw0Myw0NCw0NSw0Niw0Nyw0OCw0OSwKNTAsNTEsNTIsNTMsNTQsNTUsNTYsNTcsNTgsNTksCjYwLDYxLDYyLDYzLDY0LDY1LDY2LDY3LDY4LDY5LAo3MCw3MSw3Miw3Myw3NCw3NSw3Niw3Nyw3OCw3OSwKODAsODEsODIsODMsODQsODUsODYsODcsODgsODksCjkwLDkxLDkyLDkzLDk0LDk1LDk2LDk3LDk4LDk5Cik7Cgpmb3IgKHZhciBpID0gMDsgaSA8IDEwMDsgaSsrKSB7CiAgdmFyIHJlc3VsdCA9IHRydWU7CiAgaWYgKHhbaV0gIT09IGkpIHsKICAgIHJlc3VsdCA9IGZhbHNlOwogIH0KfQoKaWYgKHJlc3VsdCAhPT0gdHJ1ZSkgewogICRFUlJPUignIzE6IHhbaV0gPT09IGkuIEFjdHVhbDogJyArICh4W2ldKSk7Cn0gICAgCgo=","commentary":"The 0 property of the newly constructed object is set to item0\n(if supplied); the 1 property of the newly constructed object is set to item1\n(if supplied); and, in general, for as many arguments as there are, the k property\nof the newly constructed object is set to argument k, where the first argument is\nconsidered to be argument number 0","description":"Checking correct work this algorithm","path":"TestCases/ch15/15.4/15.4.1/S15.4.1_A2.2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuIEFycmF5IGlzIGNhbGxlZCBhcyBhIGZ1bmN0aW9uIHJhdGhlciB0aGFuIGFzIGEgY29uc3RydWN0b3IsCiAqIGl0IGNyZWF0ZXMgYW5kIGluaXRpYWxpc2VzIGEgbmV3IEFycmF5IG9iamVjdAogKgogKiBAcGF0aCBjaDE1LzE1LjQvMTUuNC4xL1MxNS40LjFfQTMuMV9UMS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgdXNlIHR5cGVvZiwgaW5zdGFuY2VvZgogKi8KCi8vQ0hFQ0sjMQppZiAodHlwZW9mIEFycmF5KCkgIT09ICJvYmplY3QiKSB7CiAgJEVSUk9SKCcjMTogdHlwZW9mIEFycmF5KCkgPT09ICJvYmplY3QiLiBBY3R1YWw6ICcgKyAodHlwZW9mIEFycmF5KCkpKTsKfSAgCgovL0NIRUNLIzIKaWYgKChBcnJheSgpIGluc3RhbmNlb2YgQXJyYXkpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMjogKEFycmF5KCkgaW5zdGFuY2VvZiBBcnJheSkgPT09IHRydWUuIEFjdHVhbDogJyArIChBcnJheSgpIGluc3RhbmNlb2YgQXJyYXkpKTsKfSAgCgo=","commentary":"When Array is called as a function rather than as a constructor,\nit creates and initialises a new Array object","description":"Checking use typeof, instanceof","path":"TestCases/ch15/15.4/15.4.1/S15.4.1_A3.1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgW1tQcm90b3R5cGVdXSBwcm9wZXJ0eSBvZiB0aGUgbmV3bHkgY29uc3RydWN0ZWQgb2JqZWN0CiAqIGlzIHNldCB0byB0aGUgb3JpZ2luYWwgQXJyYXkgcHJvdG90eXBlIG9iamVjdCwgdGhlIG9uZSB0aGF0CiAqIGlzIHRoZSBpbml0aWFsIHZhbHVlIG9mIEFycmF5LnByb3RvdHlwZQogKgogKiBAcGF0aCBjaDE1LzE1LjQvMTUuNC4yLzE1LjQuMi4xL1MxNS40LjIuMV9BMS4xX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBDcmVhdGUgbmV3IHByb3BlcnR5IG9mIEFycmF5LnByb3RvdHlwZS4gV2hlbiBuZXcgQXJyYXkgb2JqZWN0IGhhcyB0aGlzIHByb3BlcnR5CiAqLwoKLy9DSEVDSyMxCkFycmF5LnByb3RvdHlwZS5teXByb3BlcnR5ID0gMTsKdmFyIHggPSBuZXcgQXJyYXkoKTsgCmlmICh4Lm15cHJvcGVydHkgIT09IDEpIHsKICAkRVJST1IoJyMxOiBBcnJheS5wcm90b3R5cGUubXlwcm9wZXJ0eSA9IDE7IHZhciB4ID0gbmV3IEFycmF5KCk7IHgubXlwcm9wZXJ0eSA9PT0gMS4gQWN0dWFsOiAnICsgKHgubXlwcm9wZXJ0eSkpOwp9CgovL0NIRUNLIzIKaWYgKHguaGFzT3duUHJvcGVydHkoJ215cHJvcGVydHknKSAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyMyOiBBcnJheS5wcm90b3R5cGUubXlwcm9wZXJ0eSA9IDE7IHZhciB4ID0gbmV3IEFycmF5KCk7IHguaGFzT3duUHJvcGVydHkoXCdteXByb3BlcnR5XCcpID09PSBmYWxzZS4gQWN0dWFsOiAnICsgKHguaGFzT3duUHJvcGVydHkoJ215cHJvcGVydHknKSkpOwp9Cgo=","commentary":"The [[Prototype]] property of the newly constructed object\nis set to the original Array prototype object, the one that\nis the initial value of Array.prototype","description":"Create new property of Array.prototype. When new Array object has this property","path":"TestCases/ch15/15.4/15.4.2/15.4.2.1/S15.4.2.1_A1.1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgW1tQcm90b3R5cGVdXSBwcm9wZXJ0eSBvZiB0aGUgbmV3bHkgY29uc3RydWN0ZWQgb2JqZWN0CiAqIGlzIHNldCB0byB0aGUgb3JpZ2luYWwgQXJyYXkgcHJvdG90eXBlIG9iamVjdCwgdGhlIG9uZSB0aGF0CiAqIGlzIHRoZSBpbml0aWFsIHZhbHVlIG9mIEFycmF5LnByb3RvdHlwZQogKgogKiBAcGF0aCBjaDE1LzE1LjQvMTUuNC4yLzE1LjQuMi4xL1MxNS40LjIuMV9BMS4xX1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUudG9TdHJpbmcgPSBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nCiAqLwoKLy9DSEVDSyMxCkFycmF5LnByb3RvdHlwZS50b1N0cmluZyA9IE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmc7CnZhciB4ID0gbmV3IEFycmF5KCk7IAppZiAoeC50b1N0cmluZygpICE9PSAiW29iamVjdCAiICsgIkFycmF5IiArICJdIikgewogICRFUlJPUignIzE6IEFycmF5LnByb3RvdHlwZS50b1N0cmluZyA9IE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmc7IHZhciB4ID0gbmV3IEFycmF5KCk7IHgudG9TdHJpbmcoKSA9PT0gIltvYmplY3QgIiArICJBcnJheSIgKyAiXSIuIEFjdHVhbDogJyArICh4LnRvU3RyaW5nKCkpKTsKfQoKLy9DSEVDSyMyCkFycmF5LnByb3RvdHlwZS50b1N0cmluZyA9IE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmc7CnZhciB4ID0gbmV3IEFycmF5KDAsMSwyKTsgCmlmICh4LnRvU3RyaW5nKCkgIT09ICJbb2JqZWN0ICIgKyAiQXJyYXkiICsgIl0iKSB7CiAgJEVSUk9SKCcjMjogQXJyYXkucHJvdG90eXBlLnRvU3RyaW5nID0gT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZzsgdmFyIHggPSBuZXcgQXJyYXkoMCwxLDIpOyB4LnRvU3RyaW5nKCkgPT09ICJbb2JqZWN0ICIgKyAiQXJyYXkiICsgIl0iLiBBY3R1YWw6ICcgKyAoeC50b1N0cmluZygpKSk7Cn0KCgo=","commentary":"The [[Prototype]] property of the newly constructed object\nis set to the original Array prototype object, the one that\nis the initial value of Array.prototype","description":"Array.prototype.toString = Object.prototype.toString","path":"TestCases/ch15/15.4/15.4.2/15.4.2.1/S15.4.2.1_A1.1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgW1tQcm90b3R5cGVdXSBwcm9wZXJ0eSBvZiB0aGUgbmV3bHkgY29uc3RydWN0ZWQgb2JqZWN0CiAqIGlzIHNldCB0byB0aGUgb3JpZ2luYWwgQXJyYXkgcHJvdG90eXBlIG9iamVjdCwgdGhlIG9uZSB0aGF0CiAqIGlzIHRoZSBpbml0aWFsIHZhbHVlIG9mIEFycmF5LnByb3RvdHlwZQogKgogKiBAcGF0aCBjaDE1LzE1LjQvMTUuNC4yLzE1LjQuMi4xL1MxNS40LjIuMV9BMS4xX1QzLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyB1c2UgaXNQcm90b3R5cGVPZgogKi8KCi8vQ0hFQ0sjMQppZiAoQXJyYXkucHJvdG90eXBlLmlzUHJvdG90eXBlT2YobmV3IEFycmF5KCkpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMTogQXJyYXkucHJvdG90eXBlLmlzUHJvdG90eXBlT2YobmV3IEFycmF5KCkpID09PSB0cnVlLiBBY3R1YWw6ICcgKyAoQXJyYXkucHJvdG90eXBlLmlzUHJvdG90eXBlT2YobmV3IEFycmF5KCkpKSk7Cn0KCgo=","commentary":"The [[Prototype]] property of the newly constructed object\nis set to the original Array prototype object, the one that\nis the initial value of Array.prototype","description":"Checking use isPrototypeOf","path":"TestCases/ch15/15.4/15.4.2/15.4.2.1/S15.4.2.1_A1.1_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgW1tDbGFzc11dIHByb3BlcnR5IG9mIHRoZSBuZXdseSBjb25zdHJ1Y3RlZCBvYmplY3QgaXMgc2V0IHRvICJBcnJheSIKICoKICogQHBhdGggY2gxNS8xNS40LzE1LjQuMi8xNS40LjIuMS9TMTUuNC4yLjFfQTEuMl9UMS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgdXNlIE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcKICovCgovL0NIRUNLIzEKdmFyIHggPSBuZXcgQXJyYXkoKTsgCnguZ2V0Q2xhc3MgPSBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nOwppZiAoeC5nZXRDbGFzcygpICE9PSAiW29iamVjdCAiICsgIkFycmF5IiArICJdIikgewogICRFUlJPUignIzE6IHZhciB4ID0gbmV3IEFycmF5KCk7IHguZ2V0Q2xhc3MgPSBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nOyB4IGlzIEFycmF5IG9iamVjdC4gQWN0dWFsOiAnICsgKHguZ2V0Q2xhc3MoKSkpOwp9CgovL0NIRUNLIzIKdmFyIHggPSBuZXcgQXJyYXkoMCwxLDIpOyAKeC5nZXRDbGFzcyA9IE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmc7CmlmICh4LmdldENsYXNzKCkgIT09ICJbb2JqZWN0ICIgKyAiQXJyYXkiICsgIl0iKSB7CiAgJEVSUk9SKCcjMjogdmFyIHggPSBuZXcgQXJyYXkoMCwxLDIpOyB4LmdldENsYXNzID0gT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZzsgeCBpcyBBcnJheSBvYmplY3QuIEFjdHVhbDogJyArICh4LmdldENsYXNzKCkpKTsKfQoK","commentary":"The [[Class]] property of the newly constructed object is set to \"Array\"","description":"Checking use Object.prototype.toString","path":"TestCases/ch15/15.4/15.4.2/15.4.2.1/S15.4.2.1_A1.2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGlzIGRlc2NyaXB0aW9uIG9mIEFycmF5IGNvbnN0cnVjdG9yIGFwcGxpZXMgaWYgYW5kIG9ubHkgaWYKICogdGhlIEFycmF5IGNvbnN0cnVjdG9yIGlzIGdpdmVuIG5vIGFyZ3VtZW50cyBvciBhdCBsZWFzdCB0d28gYXJndW1lbnRzCiAqCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjIvMTUuNC4yLjEvUzE1LjQuMi4xX0ExLjNfVDEuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGNhc2Ugd2hlbiBBcnJheSBjb25zdHJ1Y3RvciBpcyBnaXZlbiBvbmUgYXJndW1lbnQKICovCgp2YXIgeCA9IG5ldyBBcnJheSgyKTsKCi8vQ0hFQ0sjMQppZiAoeC5sZW5ndGggPT09IDEpIHsKICAkRVJST1IoJyMxOiB2YXIgeCA9IG5ldyBBcnJheSgyKTsgeC5sZW5ndGggIT09IDEnKTsKfQoKLy9DSEVDSyMyCmlmICh4WzBdID09PSAyKSB7CiAgJEVSUk9SKCcjMjogdmFyIHggPSBuZXcgQXJyYXkoMik7IHhbMF0gIT09IDInKTsKfQoK","commentary":"This description of Array constructor applies if and only if\nthe Array constructor is given no arguments or at least two arguments","description":"Checking case when Array constructor is given one argument","path":"TestCases/ch15/15.4/15.4.2/15.4.2.1/S15.4.2.1_A1.3_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgbGVuZ3RoIHByb3BlcnR5IG9mIHRoZSBuZXdseSBjb25zdHJ1Y3RlZCBvYmplY3Q7CiAqIGlzIHNldCB0byB0aGUgbnVtYmVyIG9mIGFyZ3VtZW50cwogKgogKiBAcGF0aCBjaDE1LzE1LjQvMTUuNC4yLzE1LjQuMi4xL1MxNS40LjIuMV9BMi4xX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBBcnJheSBjb25zdHJ1Y3RvciBpcyBnaXZlbiBubyBhcmd1bWVudHMgb3IgYXQgbGVhc3QgdHdvIGFyZ3VtZW50cwogKi8KCi8vQ0hFQ0sjMQppZiAobmV3IEFycmF5KCkubGVuZ3RoICE9PSAwKSB7CiAgJEVSUk9SKCcjMTogbmV3IEFycmF5KCkubGVuZ3RoID09PSAwLiBBY3R1YWw6ICcgKyAobmV3IEFycmF5KCkubGVuZ3RoKSk7Cn0KCi8vQ0hFQ0sjMgppZiAobmV3IEFycmF5KDAsMSwwLDEpLmxlbmd0aCAhPT0gNCkgewogICRFUlJPUignIzI6IG5ldyBBcnJheSgwLDEsMCwxKS5sZW5ndGggPT09IDQuIEFjdHVhbDogJyArIChuZXcgQXJyYXkoMCwxLDAsMSkubGVuZ3RoKSk7Cn0KCi8vQ0hFQ0sjMwppZiAobmV3IEFycmF5KHVuZGVmaW5lZCwgdW5kZWZpbmVkKS5sZW5ndGggIT09IDIpIHsKICAkRVJST1IoJyMzOiBuZXcgQXJyYXkodW5kZWZpbmVkLCB1bmRlZmluZWQpLmxlbmd0aCA9PT0gMi4gQWN0dWFsOiAnICsgKG5ldyBBcnJheSh1bmRlZmluZWQsIHVuZGVmaW5lZCkubGVuZ3RoKSk7Cn0KCg==","commentary":"The length property of the newly constructed object;\nis set to the number of arguments","description":"Array constructor is given no arguments or at least two arguments","path":"TestCases/ch15/15.4/15.4.2/15.4.2.1/S15.4.2.1_A2.1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgMCBwcm9wZXJ0eSBvZiB0aGUgbmV3bHkgY29uc3RydWN0ZWQgb2JqZWN0IGlzIHNldCB0byBpdGVtMAogKiAoaWYgc3VwcGxpZWQpOyB0aGUgMSBwcm9wZXJ0eSBvZiB0aGUgbmV3bHkgY29uc3RydWN0ZWQgb2JqZWN0IGlzIHNldCB0byBpdGVtMQogKiAoaWYgc3VwcGxpZWQpOyBhbmQsIGluIGdlbmVyYWwsIGZvciBhcyBtYW55IGFyZ3VtZW50cyBhcyB0aGVyZSBhcmUsIHRoZSBrIHByb3BlcnR5CiAqIG9mIHRoZSBuZXdseSBjb25zdHJ1Y3RlZCBvYmplY3QgaXMgc2V0IHRvIGFyZ3VtZW50IGssIHdoZXJlIHRoZSBmaXJzdCBhcmd1bWVudCBpcwogKiBjb25zaWRlcmVkIHRvIGJlIGFyZ3VtZW50IG51bWJlciAwCiAqCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjIvMTUuNC4yLjEvUzE1LjQuMi4xX0EyLjJfVDEuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGNvcnJlY3Qgd29yayB0aGlzIGFsZ29yaXRobQogKi8KCi8vQ0hFQ0sjCnZhciB4ID0gbmV3IEFycmF5KAowLDEsMiwzLDQsNSw2LDcsOCw5LAoxMCwxMSwxMiwxMywxNCwxNSwxNiwxNywxOCwxOSwKMjAsMjEsMjIsMjMsMjQsMjUsMjYsMjcsMjgsMjksCjMwLDMxLDMyLDMzLDM0LDM1LDM2LDM3LDM4LDM5LAo0MCw0MSw0Miw0Myw0NCw0NSw0Niw0Nyw0OCw0OSwKNTAsNTEsNTIsNTMsNTQsNTUsNTYsNTcsNTgsNTksCjYwLDYxLDYyLDYzLDY0LDY1LDY2LDY3LDY4LDY5LAo3MCw3MSw3Miw3Myw3NCw3NSw3Niw3Nyw3OCw3OSwKODAsODEsODIsODMsODQsODUsODYsODcsODgsODksCjkwLDkxLDkyLDkzLDk0LDk1LDk2LDk3LDk4LDk5Cik7Cgpmb3IgKHZhciBpID0gMDsgaSA8IDEwMDsgaSsrKSB7CiAgdmFyIHJlc3VsdCA9IHRydWU7CiAgaWYgKHhbaV0gIT09IGkpIHsKICAgIHJlc3VsdCA9IGZhbHNlOwogIH0KfQoKaWYgKHJlc3VsdCAhPT0gdHJ1ZSkgewogICRFUlJPUignIzE6IHhbaV0gPT09IGkuIEFjdHVhbDogJyArICh4W2ldKSk7Cn0gICAgCgo=","commentary":"The 0 property of the newly constructed object is set to item0\n(if supplied); the 1 property of the newly constructed object is set to item1\n(if supplied); and, in general, for as many arguments as there are, the k property\nof the newly constructed object is set to argument k, where the first argument is\nconsidered to be argument number 0","description":"Checking correct work this algorithm","path":"TestCases/ch15/15.4/15.4.2/15.4.2.1/S15.4.2.1_A2.2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgW1tQcm90b3R5cGVdXSBwcm9wZXJ0eSBvZiB0aGUgbmV3bHkgY29uc3RydWN0ZWQgb2JqZWN0CiAqIGlzIHNldCB0byB0aGUgb3JpZ2luYWwgQXJyYXkgcHJvdG90eXBlIG9iamVjdCwgdGhlIG9uZSB0aGF0CiAqIGlzIHRoZSBpbml0aWFsIHZhbHVlIG9mIEFycmF5LnByb3RvdHlwZQogKgogKiBAcGF0aCBjaDE1LzE1LjQvMTUuNC4yLzE1LjQuMi4yL1MxNS40LjIuMl9BMS4xX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBDcmVhdGUgbmV3IHByb3BlcnR5IG9mIEFycmF5LnByb3RvdHlwZS4gV2hlbiBuZXcgQXJyYXkgb2JqZWN0IGhhcyB0aGlzIHByb3BlcnR5CiAqLwoKLy9DSEVDSyMxCkFycmF5LnByb3RvdHlwZS5teXByb3BlcnR5ID0gMTsKdmFyIHggPSBuZXcgQXJyYXkoMCk7IAppZiAoeC5teXByb3BlcnR5ICE9PSAxKSB7CiAgJEVSUk9SKCcjMTogQXJyYXkucHJvdG90eXBlLm15cHJvcGVydHkgPSAxOyB2YXIgeCA9IG5ldyBBcnJheSgwKTsgeC5teXByb3BlcnR5ID09PSAxLiBBY3R1YWw6ICcgKyAoeC5teXByb3BlcnR5KSk7Cn0KCg==","commentary":"The [[Prototype]] property of the newly constructed object\nis set to the original Array prototype object, the one that\nis the initial value of Array.prototype","description":"Create new property of Array.prototype. When new Array object has this property","path":"TestCases/ch15/15.4/15.4.2/15.4.2.2/S15.4.2.2_A1.1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgW1tQcm90b3R5cGVdXSBwcm9wZXJ0eSBvZiB0aGUgbmV3bHkgY29uc3RydWN0ZWQgb2JqZWN0CiAqIGlzIHNldCB0byB0aGUgb3JpZ2luYWwgQXJyYXkgcHJvdG90eXBlIG9iamVjdCwgdGhlIG9uZSB0aGF0CiAqIGlzIHRoZSBpbml0aWFsIHZhbHVlIG9mIEFycmF5LnByb3RvdHlwZQogKgogKiBAcGF0aCBjaDE1LzE1LjQvMTUuNC4yLzE1LjQuMi4yL1MxNS40LjIuMl9BMS4xX1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUudG9TdHJpbmcgPSBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nCiAqLwoKLy9DSEVDSyMxCkFycmF5LnByb3RvdHlwZS50b1N0cmluZyA9IE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmc7CnZhciB4ID0gbmV3IEFycmF5KDApOyAKaWYgKHgudG9TdHJpbmcoKSAhPT0gIltvYmplY3QgIiArICJBcnJheSIgKyAiXSIpIHsKICAkRVJST1IoJyMxOiBBcnJheS5wcm90b3R5cGUudG9TdHJpbmcgPSBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nOyB2YXIgeCA9IG5ldyBBcnJheSgwKTsgeC50b1N0cmluZygpID09PSAiW29iamVjdCAiICsgIkFycmF5IiArICJdIi4gQWN0dWFsOiAnICsgKHgudG9TdHJpbmcoKSkpOwp9Cgo=","commentary":"The [[Prototype]] property of the newly constructed object\nis set to the original Array prototype object, the one that\nis the initial value of Array.prototype","description":"Array.prototype.toString = Object.prototype.toString","path":"TestCases/ch15/15.4/15.4.2/15.4.2.2/S15.4.2.2_A1.1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgW1tQcm90b3R5cGVdXSBwcm9wZXJ0eSBvZiB0aGUgbmV3bHkgY29uc3RydWN0ZWQgb2JqZWN0CiAqIGlzIHNldCB0byB0aGUgb3JpZ2luYWwgQXJyYXkgcHJvdG90eXBlIG9iamVjdCwgdGhlIG9uZSB0aGF0CiAqIGlzIHRoZSBpbml0aWFsIHZhbHVlIG9mIEFycmF5LnByb3RvdHlwZQogKgogKiBAcGF0aCBjaDE1LzE1LjQvMTUuNC4yLzE1LjQuMi4yL1MxNS40LjIuMl9BMS4xX1QzLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyB1c2UgaXNQcm90b3R5cGVPZgogKi8KCi8vQ0hFQ0sjMQppZiAoQXJyYXkucHJvdG90eXBlLmlzUHJvdG90eXBlT2YobmV3IEFycmF5KDApKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzE6IEFycmF5LnByb3RvdHlwZS5pc1Byb3RvdHlwZU9mKG5ldyBBcnJheSgwKSkgPT09IHRydWUuIEFjdHVhbDogJyArIChBcnJheS5wcm90b3R5cGUuaXNQcm90b3R5cGVPZihuZXcgQXJyYXkoMCkpKSk7Cn0KCgo=","commentary":"The [[Prototype]] property of the newly constructed object\nis set to the original Array prototype object, the one that\nis the initial value of Array.prototype","description":"Checking use isPrototypeOf","path":"TestCases/ch15/15.4/15.4.2/15.4.2.2/S15.4.2.2_A1.1_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgW1tDbGFzc11dIHByb3BlcnR5IG9mIHRoZSBuZXdseSBjb25zdHJ1Y3RlZCBvYmplY3QgaXMgc2V0IHRvICJBcnJheSIKICoKICogQHBhdGggY2gxNS8xNS40LzE1LjQuMi8xNS40LjIuMi9TMTUuNC4yLjJfQTEuMl9UMS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgdXNlIE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcKICovCgovL0NIRUNLIzEKdmFyIHggPSBuZXcgQXJyYXkoMCk7IAp4LmdldENsYXNzID0gT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZzsKaWYgKHguZ2V0Q2xhc3MoKSAhPT0gIltvYmplY3QgIiArICJBcnJheSIgKyAiXSIpIHsKICAkRVJST1IoJyMxOiB2YXIgeCA9IG5ldyBBcnJheSgwKTsgeC5nZXRDbGFzcyA9IE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmc7IHggaXMgQXJyYXkgb2JqZWN0LiBBY3R1YWw6ICcgKyAoeC5nZXRDbGFzcygpKSk7Cn0KCg==","commentary":"The [[Class]] property of the newly constructed object is set to \"Array\"","description":"Checking use Object.prototype.toString","path":"TestCases/ch15/15.4/15.4.2/15.4.2.2/S15.4.2.2_A1.2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB0aGUgYXJndW1lbnQgbGVuIGlzIGEgTnVtYmVyIGFuZCBUb1VpbnQzMihsZW4pIGlzIGVxdWFsIHRvIGxlbiwKICogdGhlbiB0aGUgbGVuZ3RoIHByb3BlcnR5IG9mIHRoZSBuZXdseSBjb25zdHJ1Y3RlZCBvYmplY3QgaXMgc2V0IHRvIFRvVWludDMyKGxlbikKICoKICogQHBhdGggY2gxNS8xNS40LzE1LjQuMi8xNS40LjIuMi9TMTUuNC4yLjJfQTIuMV9UMS5qcwogKiBAZGVzY3JpcHRpb24gQXJyYXkgY29uc3RydWN0b3IgaXMgZ2l2ZW4gb25lIGFyZ3VtZW50CiAqLwoKLy9DSEVDSyMxCnZhciB4ID0gbmV3IEFycmF5KDApOyAKaWYgKHgubGVuZ3RoICE9PSAwKSB7CiAgJEVSUk9SKCcjMTogdmFyIHggPSBuZXcgQXJyYXkoMCk7IHgubGVuZ3RoID09PSAwLiBBY3R1YWw6ICcgKyAoeC5sZW5ndGgpKTsKfQoKLy9DSEVDSyMyCnZhciB4ID0gbmV3IEFycmF5KDEpOyAKaWYgKHgubGVuZ3RoICE9PSAxKSB7CiAgJEVSUk9SKCcjMjogdmFyIHggPSBuZXcgQXJyYXkoMSk7IHgubGVuZ3RoID09PSAxLiBBY3R1YWw6ICcgKyAoeC5sZW5ndGgpKTsKfSAgIAoKLy9DSEVDSyMzCnZhciB4ID0gbmV3IEFycmF5KDQyOTQ5NjcyOTUpOyAKaWYgKHgubGVuZ3RoICE9PSA0Mjk0OTY3Mjk1KSB7CiAgJEVSUk9SKCcjMzogdmFyIHggPSBuZXcgQXJyYXkoNDI5NDk2NzI5NSk7IHgubGVuZ3RoID09PSA0Mjk0OTY3Mjk1LiBBY3R1YWw6ICcgKyAoeC5sZW5ndGgpKTsKfSAKCg==","commentary":"If the argument len is a Number and ToUint32(len) is equal to len,\nthen the length property of the newly constructed object is set to ToUint32(len)","description":"Array constructor is given one argument","path":"TestCases/ch15/15.4/15.4.2/15.4.2.2/S15.4.2.2_A2.1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB0aGUgYXJndW1lbnQgbGVuIGlzIGEgTnVtYmVyIGFuZCBUb1VpbnQzMihsZW4pIGlzIG5vdCBlcXVhbCB0byBsZW4sCiAqIGEgUmFuZ2VFcnJvciBleGNlcHRpb24gaXMgdGhyb3duCiAqCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjIvMTUuNC4yLjIvUzE1LjQuMi4yX0EyLjJfVDEuanMKICogQGRlc2NyaXB0aW9uIFVzZSB0cnkgc3RhdGVtZW50LiBsZW4gPSAtMSwgNDI5NDk2NzI5NiwgNDI5NDk2NzI5NwogKi8KCi8vQ0hFQ0sjMQp0cnkgeyAgCiAgbmV3IEFycmF5KC0xKTsgICAKICAkRVJST1IoJyMxLjE6IG5ldyBBcnJheSgtMSkgdGhyb3cgUmFuZ2VFcnJvci4gQWN0dWFsOiAnICsgKG5ldyBBcnJheSgtMSkpKTsKfSBjYXRjaChlKSB7CiAgaWYgKChlIGluc3RhbmNlb2YgUmFuZ2VFcnJvcikgIT09IHRydWUpIHsKICAgICRFUlJPUignIzEuMjogbmV3IEFycmF5KC0xKSB0aHJvdyBSYW5nZUVycm9yLiBBY3R1YWw6ICcgKyAoZSkpOwogIH0KfQoKLy9DSEVDSyMyCnRyeSB7ICAKICBuZXcgQXJyYXkoNDI5NDk2NzI5Nik7ICAgCiAgJEVSUk9SKCcjMi4xOiBuZXcgQXJyYXkoNDI5NDk2NzI5NikgdGhyb3cgUmFuZ2VFcnJvci4gQWN0dWFsOiAnICsgKG5ldyBBcnJheSg0Mjk0OTY3Mjk2KSkpOwp9IGNhdGNoKGUpIHsKICBpZiAoKGUgaW5zdGFuY2VvZiBSYW5nZUVycm9yKSAhPT0gdHJ1ZSkgewogICAgJEVSUk9SKCcjMi4yOiBuZXcgQXJyYXkoNDI5NDk2NzI5NikgdGhyb3cgUmFuZ2VFcnJvci4gQWN0dWFsOiAnICsgKGUpKTsKICB9Cn0KCi8vQ0hFQ0sjMwp0cnkgeyAgCiAgbmV3IEFycmF5KDQyOTQ5NjcyOTcpOyAgIAogICRFUlJPUignIzMuMTogbmV3IEFycmF5KDQyOTQ5NjcyOTcpIHRocm93IFJhbmdlRXJyb3IuIEFjdHVhbDogJyArIChuZXcgQXJyYXkoNDI5NDk2NzI5NykpKTsKfSBjYXRjaChlKSB7CiAgaWYgKChlIGluc3RhbmNlb2YgUmFuZ2VFcnJvcikgIT09IHRydWUpIHsKICAgICRFUlJPUignIzMuMjogbmV3IEFycmF5KDQyOTQ5NjcyOTcpIHRocm93IFJhbmdlRXJyb3IuIEFjdHVhbDogJyArIChlKSk7CiAgfQp9Cgo=","commentary":"If the argument len is a Number and ToUint32(len) is not equal to len,\na RangeError exception is thrown","description":"Use try statement. len = -1, 4294967296, 4294967297","path":"TestCases/ch15/15.4/15.4.2/15.4.2.2/S15.4.2.2_A2.2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB0aGUgYXJndW1lbnQgbGVuIGlzIGEgTnVtYmVyIGFuZCBUb1VpbnQzMihsZW4pIGlzIG5vdCBlcXVhbCB0byBsZW4sCiAqIGEgUmFuZ2VFcnJvciBleGNlcHRpb24gaXMgdGhyb3duCiAqCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjIvMTUuNC4yLjIvUzE1LjQuMi4yX0EyLjJfVDIuanMKICogQGRlc2NyaXB0aW9uIFVzZSB0cnkgc3RhdGVtZW50LiBsZW4gPSBOYU4sICsvLUluZmluaXR5CiAqLwoKLy9DSEVDSyMxCnRyeSB7ICAKICBuZXcgQXJyYXkoTmFOKTsgICAKICAkRVJST1IoJyMxLjE6IG5ldyBBcnJheShOYU4pIHRocm93IFJhbmdlRXJyb3IuIEFjdHVhbDogJyArIChuZXcgQXJyYXkoTmFOKSkpOwp9IGNhdGNoKGUpIHsKICBpZiAoKGUgaW5zdGFuY2VvZiBSYW5nZUVycm9yKSAhPT0gdHJ1ZSkgewogICAgJEVSUk9SKCcjMS4yOiBuZXcgQXJyYXkoTmFOKSB0aHJvdyBSYW5nZUVycm9yLiBBY3R1YWw6ICcgKyAoZSkpOwogIH0KfQoKLy9DSEVDSyMyCnRyeSB7ICAKICBuZXcgQXJyYXkoTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZKTsgICAKICAkRVJST1IoJyMyLjE6IG5ldyBBcnJheShOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkpIHRocm93IFJhbmdlRXJyb3IuIEFjdHVhbDogJyArIChuZXcgQXJyYXkoTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZKSkpOwp9IGNhdGNoKGUpIHsKICBpZiAoKGUgaW5zdGFuY2VvZiBSYW5nZUVycm9yKSAhPT0gdHJ1ZSkgewogICAgJEVSUk9SKCcjMi4yOiBuZXcgQXJyYXkoTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZKSB0aHJvdyBSYW5nZUVycm9yLiBBY3R1YWw6ICcgKyAoZSkpOwogIH0KfQoKLy9DSEVDSyMzCnRyeSB7ICAKICBuZXcgQXJyYXkoTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZKTsgICAKICAkRVJST1IoJyMzLjE6IG5ldyBBcnJheShOdW1iZXIuTkVHQVRJVkVfSU5GSU5JVFkpIHRocm93IFJhbmdlRXJyb3IuIEFjdHVhbDogJyArIChuZXcgQXJyYXkoTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZKSkpOwp9IGNhdGNoKGUpIHsKICBpZiAoKGUgaW5zdGFuY2VvZiBSYW5nZUVycm9yKSAhPT0gdHJ1ZSkgewogICAgJEVSUk9SKCcjMy4yOiBuZXcgQXJyYXkoTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZKSB0aHJvdyBSYW5nZUVycm9yLiBBY3R1YWw6ICcgKyAoZSkpOwogIH0KfQoK","commentary":"If the argument len is a Number and ToUint32(len) is not equal to len,\na RangeError exception is thrown","description":"Use try statement. len = NaN, +/-Infinity","path":"TestCases/ch15/15.4/15.4.2/15.4.2.2/S15.4.2.2_A2.2_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB0aGUgYXJndW1lbnQgbGVuIGlzIGEgTnVtYmVyIGFuZCBUb1VpbnQzMihsZW4pIGlzIG5vdCBlcXVhbCB0byBsZW4sCiAqIGEgUmFuZ2VFcnJvciBleGNlcHRpb24gaXMgdGhyb3duCiAqCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjIvMTUuNC4yLjIvUzE1LjQuMi4yX0EyLjJfVDMuanMKICogQGRlc2NyaXB0aW9uIFVzZSB0cnkgc3RhdGVtZW50LiBsZW4gPSAxLjUsIE51bWJlci5NQVhfVkFMVUUsIE51bWJlci5NSU5fVkFMVUUKICovCgovL0NIRUNLIzEKdHJ5IHsgIAogIG5ldyBBcnJheSgxLjUpOyAgIAogICRFUlJPUignIzEuMTogbmV3IEFycmF5KDEuNSkgdGhyb3cgUmFuZ2VFcnJvci4gQWN0dWFsOiAnICsgKG5ldyBBcnJheSgxLjUpKSk7Cn0gY2F0Y2goZSkgewogIGlmICgoZSBpbnN0YW5jZW9mIFJhbmdlRXJyb3IpICE9PSB0cnVlKSB7CiAgICAkRVJST1IoJyMxLjI6IG5ldyBBcnJheSgxLjUpIHRocm93IFJhbmdlRXJyb3IuIEFjdHVhbDogJyArIChlKSk7CiAgfQp9CgovL0NIRUNLIzIKdHJ5IHsgIAogIG5ldyBBcnJheShOdW1iZXIuTUFYX1ZBTFVFKTsgICAKICAkRVJST1IoJyMyLjE6IG5ldyBBcnJheShOdW1iZXIuTUFYX1ZBTFVFKSB0aHJvdyBSYW5nZUVycm9yLiBBY3R1YWw6ICcgKyAobmV3IEFycmF5KE51bWJlci5NQVhfVkFMVUUpKSk7Cn0gY2F0Y2goZSkgewogIGlmICgoZSBpbnN0YW5jZW9mIFJhbmdlRXJyb3IpICE9PSB0cnVlKSB7CiAgICAkRVJST1IoJyMyLjI6IG5ldyBBcnJheShOdW1iZXIuTUFYX1ZBTFVFKSB0aHJvdyBSYW5nZUVycm9yLiBBY3R1YWw6ICcgKyAoZSkpOwogIH0KfQoKLy9DSEVDSyMzCnRyeSB7ICAKICBuZXcgQXJyYXkoTnVtYmVyLk1JTl9WQUxVRSk7ICAgCiAgJEVSUk9SKCcjMy4xOiBuZXcgQXJyYXkoTnVtYmVyLk1JTl9WQUxVRSkgdGhyb3cgUmFuZ2VFcnJvci4gQWN0dWFsOiAnICsgKG5ldyBBcnJheShOdW1iZXIuTUlOX1ZBTFVFKSkpOwp9IGNhdGNoKGUpIHsKICBpZiAoKGUgaW5zdGFuY2VvZiBSYW5nZUVycm9yKSAhPT0gdHJ1ZSkgewogICAgJEVSUk9SKCcjMy4yOiBuZXcgQXJyYXkoTnVtYmVyLk1JTl9WQUxVRSkgdGhyb3cgUmFuZ2VFcnJvci4gQWN0dWFsOiAnICsgKGUpKTsKICB9Cn0KCg==","commentary":"If the argument len is a Number and ToUint32(len) is not equal to len,\na RangeError exception is thrown","description":"Use try statement. len = 1.5, Number.MAX_VALUE, Number.MIN_VALUE","path":"TestCases/ch15/15.4/15.4.2/15.4.2.2/S15.4.2.2_A2.2_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB0aGUgYXJndW1lbnQgbGVuIGlzIG5vdCBhIE51bWJlciwgdGhlbiB0aGUgbGVuZ3RoIHByb3BlcnR5IG9mCiAqIHRoZSBuZXdseSBjb25zdHJ1Y3RlZCBvYmplY3QgaXMgc2V0IHRvIDEgYW5kIHRoZSAwIHByb3BlcnR5IG9mCiAqIHRoZSBuZXdseSBjb25zdHJ1Y3RlZCBvYmplY3QgaXMgc2V0IHRvIGxlbgogKgogKiBAcGF0aCBjaDE1LzE1LjQvMTUuNC4yLzE1LjQuMi4yL1MxNS40LjIuMl9BMi4zX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBmb3IgbnVsbCBhbmQgdW5kZWZpbmVkCiAqLwoKdmFyIHggPSBuZXcgQXJyYXkobnVsbCk7CgovL0NIRUNLIzEgCmlmICh4Lmxlbmd0aCAhPT0gMSkgewogICRFUlJPUignIzE6IHZhciB4ID0gbmV3IEFycmF5KG51bGwpOyB4Lmxlbmd0aCA9PT0gMS4gQWN0dWFsOiAnICsgKHgubGVuZ3RoKSk7Cn0KCi8vQ0hFQ0sjMgppZiAoeFswXSAhPT0gbnVsbCkgewogICRFUlJPUignIzI6IHZhciB4ID0gbmV3IEFycmF5KG51bGwpOyB4WzBdID09PSBudWxsLiBBY3R1YWw6ICcgKyAoeFswXSkpOwp9Cgp2YXIgeCA9IG5ldyBBcnJheSh1bmRlZmluZWQpOwoKLy9DSEVDSyMzIAppZiAoeC5sZW5ndGggIT09IDEpIHsKICAkRVJST1IoJyMzOiB2YXIgeCA9IG5ldyBBcnJheSh1bmRlZmluZWQpOyB4Lmxlbmd0aCA9PT0gMS4gQWN0dWFsOiAnICsgKHgubGVuZ3RoKSk7Cn0KCi8vQ0hFQ0sjNAppZiAoeFswXSAhPT0gdW5kZWZpbmVkKSB7CiAgJEVSUk9SKCcjNDogdmFyIHggPSBuZXcgQXJyYXkodW5kZWZpbmVkKTsgeFswXSA9PT0gdW5kZWZpbmVkLiBBY3R1YWw6ICcgKyAoeFswXSkpOwp9Cgo=","commentary":"If the argument len is not a Number, then the length property of\nthe newly constructed object is set to 1 and the 0 property of\nthe newly constructed object is set to len","description":"Checking for null and undefined","path":"TestCases/ch15/15.4/15.4.2/15.4.2.2/S15.4.2.2_A2.3_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB0aGUgYXJndW1lbnQgbGVuIGlzIG5vdCBhIE51bWJlciwgdGhlbiB0aGUgbGVuZ3RoIHByb3BlcnR5IG9mCiAqIHRoZSBuZXdseSBjb25zdHJ1Y3RlZCBvYmplY3QgaXMgc2V0IHRvIDEgYW5kIHRoZSAwIHByb3BlcnR5IG9mCiAqIHRoZSBuZXdseSBjb25zdHJ1Y3RlZCBvYmplY3QgaXMgc2V0IHRvIGxlbgogKgogKiBAcGF0aCBjaDE1LzE1LjQvMTUuNC4yLzE1LjQuMi4yL1MxNS40LjIuMl9BMi4zX1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBmb3IgYm9vbGVhbiBwcmltaXRpdmUgYW5kIEJvb2xlYW4gb2JqZWN0CiAqLwoKdmFyIHggPSBuZXcgQXJyYXkodHJ1ZSk7CgovL0NIRUNLIzEgCmlmICh4Lmxlbmd0aCAhPT0gMSkgewogICRFUlJPUignIzE6IHZhciB4ID0gbmV3IEFycmF5KHRydWUpOyB4Lmxlbmd0aCA9PT0gMS4gQWN0dWFsOiAnICsgKHgubGVuZ3RoKSk7Cn0KCi8vQ0hFQ0sjMgppZiAoeFswXSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzI6IHZhciB4ID0gbmV3IEFycmF5KHRydWUpOyB4WzBdID09PSB0cnVlLiBBY3R1YWw6ICcgKyAoeFswXSkpOwp9Cgp2YXIgb2JqID0gbmV3IEJvb2xlYW4oZmFsc2UpOwp2YXIgeCA9IG5ldyBBcnJheShvYmopOwoKLy9DSEVDSyMzIAppZiAoeC5sZW5ndGggIT09IDEpIHsKICAkRVJST1IoJyMzOiB2YXIgb2JqID0gbmV3IEJvb2xlYW4oZmFsc2UpOyB2YXIgeCA9IG5ldyBBcnJheShvYmopOyB4Lmxlbmd0aCA9PT0gMS4gQWN0dWFsOiAnICsgKHgubGVuZ3RoKSk7Cn0KCi8vQ0hFQ0sjNAppZiAoeFswXSAhPT0gb2JqKSB7CiAgJEVSUk9SKCcjNDogdmFyIG9iaiA9IG5ldyBCb29sZWFuKGZhbHNlKTsgdmFyIHggPSBuZXcgQXJyYXkob2JqKTsgeFswXSA9PT0gb2JqLiBBY3R1YWw6ICcgKyAoeFswXSkpOwp9Cgo=","commentary":"If the argument len is not a Number, then the length property of\nthe newly constructed object is set to 1 and the 0 property of\nthe newly constructed object is set to len","description":"Checking for boolean primitive and Boolean object","path":"TestCases/ch15/15.4/15.4.2/15.4.2.2/S15.4.2.2_A2.3_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB0aGUgYXJndW1lbnQgbGVuIGlzIG5vdCBhIE51bWJlciwgdGhlbiB0aGUgbGVuZ3RoIHByb3BlcnR5IG9mCiAqIHRoZSBuZXdseSBjb25zdHJ1Y3RlZCBvYmplY3QgaXMgc2V0IHRvIDEgYW5kIHRoZSAwIHByb3BlcnR5IG9mCiAqIHRoZSBuZXdseSBjb25zdHJ1Y3RlZCBvYmplY3QgaXMgc2V0IHRvIGxlbgogKgogKiBAcGF0aCBjaDE1LzE1LjQvMTUuNC4yLzE1LjQuMi4yL1MxNS40LjIuMl9BMi4zX1QzLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBmb3IgYm9vbGVhbiBwcmltaXRpdmUgYW5kIEJvb2xlYW4gb2JqZWN0CiAqLwoKdmFyIHggPSBuZXcgQXJyYXkoIjEiKTsKCi8vQ0hFQ0sjMSAKaWYgKHgubGVuZ3RoICE9PSAxKSB7CiAgJEVSUk9SKCcjMTogdmFyIHggPSBuZXcgQXJyYXkoIjEiKTsgeC5sZW5ndGggPT09IDEuIEFjdHVhbDogJyArICh4Lmxlbmd0aCkpOwp9CgovL0NIRUNLIzIKaWYgKHhbMF0gIT09ICIxIikgewogICRFUlJPUignIzI6IHZhciB4ID0gbmV3IEFycmF5KCIxIik7IHhbMF0gPT09ICIxIi4gQWN0dWFsOiAnICsgKHhbMF0pKTsKfQoKdmFyIG9iaiA9IG5ldyBTdHJpbmcoIjAiKTsKdmFyIHggPSBuZXcgQXJyYXkob2JqKTsKCi8vQ0hFQ0sjMyAKaWYgKHgubGVuZ3RoICE9PSAxKSB7CiAgJEVSUk9SKCcjMzogdmFyIG9iaiA9IG5ldyBTdHJpbmcoIjAiKTsgdmFyIHggPSBuZXcgQXJyYXkob2JqKTsgeC5sZW5ndGggPT09IDEuIEFjdHVhbDogJyArICh4Lmxlbmd0aCkpOwp9CgovL0NIRUNLIzQKaWYgKHhbMF0gIT09IG9iaikgewogICRFUlJPUignIzQ6IHZhciBvYmogPSBuZXcgU3RyaW5nKCIwIik7IHZhciB4ID0gbmV3IEFycmF5KG9iaik7IHhbMF0gPT09IG9iai4gQWN0dWFsOiAnICsgKHhbMF0pKTsKfQoK","commentary":"If the argument len is not a Number, then the length property of\nthe newly constructed object is set to 1 and the 0 property of\nthe newly constructed object is set to len","description":"Checking for boolean primitive and Boolean object","path":"TestCases/ch15/15.4/15.4.2/15.4.2.2/S15.4.2.2_A2.3_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB0aGUgYXJndW1lbnQgbGVuIGlzIG5vdCBhIE51bWJlciwgdGhlbiB0aGUgbGVuZ3RoIHByb3BlcnR5IG9mCiAqIHRoZSBuZXdseSBjb25zdHJ1Y3RlZCBvYmplY3QgaXMgc2V0IHRvIDEgYW5kIHRoZSAwIHByb3BlcnR5IG9mCiAqIHRoZSBuZXdseSBjb25zdHJ1Y3RlZCBvYmplY3QgaXMgc2V0IHRvIGxlbgogKgogKiBAcGF0aCBjaDE1LzE1LjQvMTUuNC4yLzE1LjQuMi4yL1MxNS40LjIuMl9BMi4zX1Q0LmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBmb3IgTnVtYmVyIG9iamVjdAogKi8KCnZhciBvYmogPSBuZXcgTnVtYmVyKDApOwp2YXIgeCA9IG5ldyBBcnJheShvYmopOwoKLy9DSEVDSyMxIAppZiAoeC5sZW5ndGggIT09IDEpIHsKICAkRVJST1IoJyMxOiB2YXIgb2JqID0gbmV3IE51bWJlcigwKTsgdmFyIHggPSBuZXcgQXJyYXkob2JqKTsgeC5sZW5ndGggPT09IDEuIEFjdHVhbDogJyArICh4Lmxlbmd0aCkpOwp9CgovL0NIRUNLIzIKaWYgKHhbMF0gIT09IG9iaikgewogICRFUlJPUignIzI6IHZhciBvYmogPSBuZXcgTnVtYmVyKDApOyB2YXIgeCA9IG5ldyBBcnJheShvYmopOyB4WzBdID09PSBvYmouIEFjdHVhbDogJyArICh4WzBdKSk7Cn0KCnZhciBvYmogPSBuZXcgTnVtYmVyKDEpOwp2YXIgeCA9IG5ldyBBcnJheShvYmopOwoKLy9DSEVDSyMzIAppZiAoeC5sZW5ndGggIT09IDEpIHsKICAkRVJST1IoJyMzOiB2YXIgb2JqID0gbmV3IE51bWJlcigxKTsgdmFyIHggPSBuZXcgQXJyYXkob2JqKTsgeC5sZW5ndGggPT09IDEuIEFjdHVhbDogJyArICh4Lmxlbmd0aCkpOwp9CgovL0NIRUNLIzQKaWYgKHhbMF0gIT09IG9iaikgewogICRFUlJPUignIzQ6IHZhciBvYmogPSBuZXcgTnVtYmVyKDEpOyB2YXIgeCA9IG5ldyBBcnJheShvYmopOyB4WzBdID09PSBvYmouIEFjdHVhbDogJyArICh4WzBdKSk7Cn0KCnZhciBvYmogPSBuZXcgTnVtYmVyKDQyOTQ5NjcyOTUpOwp2YXIgeCA9IG5ldyBBcnJheShvYmopOwoKLy9DSEVDSyM1IAppZiAoeC5sZW5ndGggIT09IDEpIHsKICAkRVJST1IoJyM1OiB2YXIgb2JqID0gbmV3IE51bWJlcig0Mjk0OTY3Mjk1KTsgdmFyIHggPSBuZXcgQXJyYXkob2JqKTsgeC5sZW5ndGggPT09IDEuIEFjdHVhbDogJyArICh4Lmxlbmd0aCkpOwp9CgovL0NIRUNLIzYKaWYgKHhbMF0gIT09IG9iaikgewogICRFUlJPUignIzY6IHZhciBvYmogPSBuZXcgTnVtYmVyKDQyOTQ5NjcyOTUpOyB2YXIgeCA9IG5ldyBBcnJheShvYmopOyB4WzBdID09PSBvYmouIEFjdHVhbDogJyArICh4WzBdKSk7Cn0KCgo=","commentary":"If the argument len is not a Number, then the length property of\nthe newly constructed object is set to 1 and the 0 property of\nthe newly constructed object is set to len","description":"Checking for Number object","path":"TestCases/ch15/15.4/15.4.2/15.4.2.2/S15.4.2.2_A2.3_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB0aGUgYXJndW1lbnQgbGVuIGlzIG5vdCBhIE51bWJlciwgdGhlbiB0aGUgbGVuZ3RoIHByb3BlcnR5IG9mCiAqIHRoZSBuZXdseSBjb25zdHJ1Y3RlZCBvYmplY3QgaXMgc2V0IHRvIDEgYW5kIHRoZSAwIHByb3BlcnR5IG9mCiAqIHRoZSBuZXdseSBjb25zdHJ1Y3RlZCBvYmplY3QgaXMgc2V0IHRvIGxlbgogKgogKiBAcGF0aCBjaDE1LzE1LjQvMTUuNC4yLzE1LjQuMi4yL1MxNS40LjIuMl9BMi4zX1Q1LmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBmb3IgTnVtYmVyIG9iamVjdAogKi8KCnZhciBvYmogPSBuZXcgTnVtYmVyKC0xKTsKdmFyIHggPSBuZXcgQXJyYXkob2JqKTsKCi8vQ0hFQ0sjMSAKaWYgKHgubGVuZ3RoICE9PSAxKSB7CiAgJEVSUk9SKCcjMTogdmFyIG9iaiA9IG5ldyBOdW1iZXIoLTEpOyB2YXIgeCA9IG5ldyBBcnJheShvYmopOyB4Lmxlbmd0aCA9PT0gMS4gQWN0dWFsOiAnICsgKHgubGVuZ3RoKSk7Cn0KCi8vQ0hFQ0sjMgppZiAoeFswXSAhPT0gb2JqKSB7CiAgJEVSUk9SKCcjMjogdmFyIG9iaiA9IG5ldyBOdW1iZXIoLTEpOyB2YXIgeCA9IG5ldyBBcnJheShvYmopOyB4WzBdID09PSBvYmouIEFjdHVhbDogJyArICh4WzBdKSk7Cn0KCnZhciBvYmogPSBuZXcgTnVtYmVyKDQyOTQ5NjcyOTYpOwp2YXIgeCA9IG5ldyBBcnJheShvYmopOwoKLy9DSEVDSyMzIAppZiAoeC5sZW5ndGggIT09IDEpIHsKICAkRVJST1IoJyMzOiB2YXIgb2JqID0gbmV3IE51bWJlcig0Mjk0OTY3Mjk2KTsgdmFyIHggPSBuZXcgQXJyYXkob2JqKTsgeC5sZW5ndGggPT09IDEuIEFjdHVhbDogJyArICh4Lmxlbmd0aCkpOwp9CgovL0NIRUNLIzQKaWYgKHhbMF0gIT09IG9iaikgewogICRFUlJPUignIzQ6IHZhciBvYmogPSBuZXcgTnVtYmVyKDQyOTQ5NjcyOTYpOyB2YXIgeCA9IG5ldyBBcnJheShvYmopOyB4WzBdID09PSBvYmouIEFjdHVhbDogJyArICh4WzBdKSk7Cn0KCnZhciBvYmogPSBuZXcgTnVtYmVyKDQyOTQ5NjcyOTcpOwp2YXIgeCA9IG5ldyBBcnJheShvYmopOwoKLy9DSEVDSyM1IAppZiAoeC5sZW5ndGggIT09IDEpIHsKICAkRVJST1IoJyM1OiB2YXIgb2JqID0gbmV3IE51bWJlcig0Mjk0OTY3Mjk3KTsgdmFyIHggPSBuZXcgQXJyYXkob2JqKTsgeC5sZW5ndGggPT09IDEuIEFjdHVhbDogJyArICh4Lmxlbmd0aCkpOwp9CgovL0NIRUNLIzYKaWYgKHhbMF0gIT09IG9iaikgewogICRFUlJPUignIzY6IHZhciBvYmogPSBuZXcgTnVtYmVyKDQyOTQ5NjcyOTcpOyB2YXIgeCA9IG5ldyBBcnJheShvYmopOyB4WzBdID09PSBvYmouIEFjdHVhbDogJyArICh4WzBdKSk7Cn0KCgo=","commentary":"If the argument len is not a Number, then the length property of\nthe newly constructed object is set to 1 and the 0 property of\nthe newly constructed object is set to len","description":"Checking for Number object","path":"TestCases/ch15/15.4/15.4.2/15.4.2.2/S15.4.2.2_A2.3_T5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgdmFsdWUgb2YgdGhlIGludGVybmFsIFtbUHJvdG90eXBlXV0gcHJvcGVydHkgb2YKICogdGhlIEFycmF5IGNvbnN0cnVjdG9yIGlzIHRoZSBGdW5jdGlvbiBwcm90b3R5cGUgb2JqZWN0CiAqCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjMvUzE1LjQuM19BMS4xX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBDcmVhdGUgbmV3IHByb3BlcnR5IG9mIEZ1bmN0aW9uLnByb3RvdHlwZS4gV2hlbiBBcnJheSBjb25zdHJ1Y3RvciBoYXMgdGhpcyBwcm9wZXJ0eQogKi8KCkZ1bmN0aW9uLnByb3RvdHlwZS5teXByb3BlcnR5ID0gMTsKCi8vQ0hFQ0sjMQppZiAoQXJyYXkubXlwcm9wZXJ0eSAhPT0gMSkgewogICRFUlJPUignIzE6IEZ1bmN0aW9uLnByb3RvdHlwZS5teXByb3BlcnR5ID0gMTsgQXJyYXkubXlwcm9wZXJ0eSA9PT0gMS4gQWN0dWFsOiAnICsgKEFycmF5Lm15cHJvcGVydHkpKTsKfQoKLy9DSEVDSyMyCmlmIChBcnJheS5oYXNPd25Qcm9wZXJ0eSgnbXlwcm9wZXJ0eScpICE9PSBmYWxzZSkgewogICRFUlJPUignIzI6IEZ1bmN0aW9uLnByb3RvdHlwZS5teXByb3BlcnR5ID0gMTsgQXJyYXkuaGFzT3duUHJvcGVydHkoXCdteXByb3BlcnR5XCcpID09PSBmYWxzZS4gQWN0dWFsOiAnICsgKEFycmF5Lmhhc093blByb3BlcnR5KCdteXByb3BlcnR5JykpKTsKfQoK","commentary":"The value of the internal [[Prototype]] property of\nthe Array constructor is the Function prototype object","description":"Create new property of Function.prototype. When Array constructor has this property","path":"TestCases/ch15/15.4/15.4.3/S15.4.3_A1.1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgdmFsdWUgb2YgdGhlIGludGVybmFsIFtbUHJvdG90eXBlXV0gcHJvcGVydHkgb2YKICogdGhlIEFycmF5IGNvbnN0cnVjdG9yIGlzIHRoZSBGdW5jdGlvbiBwcm90b3R5cGUgb2JqZWN0CiAqCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjMvUzE1LjQuM19BMS4xX1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBGdW5jdGlvbi5wcm90b3R5cGUudG9TdHJpbmcgPSBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nCiAqLwoKLy9DSEVDSyMxCkZ1bmN0aW9uLnByb3RvdHlwZS50b1N0cmluZyA9IE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmc7CmlmIChBcnJheS50b1N0cmluZygpICE9PSAiW29iamVjdCAiICsgIkZ1bmN0aW9uIiArICJdIikgewogICRFUlJPUignIzE6IEZ1bmN0aW9uLnByb3RvdHlwZS50b1N0cmluZyA9IE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmc7IEFycmF5LnRvU3RyaW5nKCkgPT09ICJbb2JqZWN0ICIgKyAiRnVuY3Rpb24iICsgIl0iLiBBY3R1YWw6ICcgKyAoQXJyYXkudG9TdHJpbmcoKSkpOwp9Cgo=","commentary":"The value of the internal [[Prototype]] property of\nthe Array constructor is the Function prototype object","description":"Function.prototype.toString = Object.prototype.toString","path":"TestCases/ch15/15.4/15.4.3/S15.4.3_A1.1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgdmFsdWUgb2YgdGhlIGludGVybmFsIFtbUHJvdG90eXBlXV0gcHJvcGVydHkgb2YKICogdGhlIEFycmF5IGNvbnN0cnVjdG9yIGlzIHRoZSBGdW5jdGlvbiBwcm90b3R5cGUgb2JqZWN0CiAqCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjMvUzE1LjQuM19BMS4xX1QzLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyB1c2UgaXNQcm90b3R5cGVPZgogKi8KCi8vQ0hFQ0sjMQppZiAoRnVuY3Rpb24ucHJvdG90eXBlLmlzUHJvdG90eXBlT2YoQXJyYXkpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMTogRnVuY3Rpb24ucHJvdG90eXBlLmlzUHJvdG90eXBlT2YoQXJyYXkpID09PSB0cnVlLiBBY3R1YWw6ICcgKyAoRnVuY3Rpb24ucHJvdG90eXBlLmlzUHJvdG90eXBlT2YoQXJyYXkpKSk7Cn0KCg==","commentary":"The value of the internal [[Prototype]] property of\nthe Array constructor is the Function prototype object","description":"Checking use isPrototypeOf","path":"TestCases/ch15/15.4/15.4.3/S15.4.3_A1.1_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgbGVuZ3RoIHByb3BlcnR5IG9mIEFycmF5IGhhcyB0aGUgYXR0cmlidXRlIERvbnRFbnVtCiAqCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjMvUzE1LjQuM19BMi4xLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyB1c2UgcHJvcGVydHlJc0VudW1lcmFibGUsIGZvci1pbgogKi8KCi8vQ0hFQ0sjMQppZiAoQXJyYXkucHJvcGVydHlJc0VudW1lcmFibGUoJ2xlbmd0aCcpICE9PSBmYWxzZSkgewogICRFUlJPUignIzE6IEFycmF5LnByb3BlcnR5SXNFbnVtZXJhYmxlKFwnbGVuZ3RoXCcpID09PSBmYWxzZS4gQWN0dWFsOiAnICsgKEFycmF5LnByb3BlcnR5SXNFbnVtZXJhYmxlKCdsZW5ndGgnKSkpOwp9CgovL0NIRUNLIzIKcmVzdWx0ID0gdHJ1ZTsKZm9yIChwIGluIEFycmF5KXsKICBpZiAocCA9PT0gImxlbmd0aCIpIHsKICAgIHJlc3VsdCA9IGZhbHNlOwogIH0gIAp9CgppZiAocmVzdWx0ICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMjogcmVzdWx0ID0gdHJ1ZTsgZm9yIChwIGluIEFycmF5LnNsaWNlKSB7IGlmIChwID09PSAibGVuZ3RoIikgcmVzdWx0ID0gZmFsc2U7IH0gIHJlc3VsdCA9PT0gdHJ1ZTsnKTsKfQoKCg==","commentary":"The length property of Array has the attribute DontEnum","description":"Checking use propertyIsEnumerable, for-in","path":"TestCases/ch15/15.4/15.4.3/S15.4.3_A2.1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgbGVuZ3RoIHByb3BlcnR5IG9mIEFycmF5IGhhcyB0aGUgYXR0cmlidXRlIERvbnREZWxldGUKICoKICogQHBhdGggY2gxNS8xNS40LzE1LjQuMy9TMTUuNC4zX0EyLjIuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIHVzZSBoYXNPd25Qcm9wZXJ0eSwgZGVsZXRlCiAqLwoKLy9DSEVDSyMxCmlmIChBcnJheS5oYXNPd25Qcm9wZXJ0eSgnbGVuZ3RoJykgIT09IHRydWUpIHsKICAkRkFJTCgnIzE6IEFycmF5Lmhhc093blByb3BlcnR5KFwnbGVuZ3RoXCcpID09PSB0cnVlLiBBY3R1YWw6ICcgKyAoQXJyYXkuaGFzT3duUHJvcGVydHkoJ2xlbmd0aCcpKSk7Cn0KCmRlbGV0ZSBBcnJheS5sZW5ndGg7CgovL0NIRUNLIzIKaWYgKEFycmF5Lmhhc093blByb3BlcnR5KCdsZW5ndGgnKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzI6IGRlbGV0ZSBBcnJheS5sZW5ndGg7IEFycmF5Lmhhc093blByb3BlcnR5KFwnbGVuZ3RoXCcpID09PSB0cnVlLiBBY3R1YWw6ICcgKyAoQXJyYXkuaGFzT3duUHJvcGVydHkoJ2xlbmd0aCcpKSk7Cn0KCi8vQ0hFQ0sjMwppZiAoQXJyYXkubGVuZ3RoID09PSB1bmRlZmluZWQpIHsKICAkRVJST1IoJyMzOiBkZWxldGUgQXJyYXkubGVuZ3RoOyBBcnJheS5sZW5ndGggIT09IHVuZGVmaW5lZCcpOwp9CgoKCg==","commentary":"The length property of Array has the attribute DontDelete","description":"Checking use hasOwnProperty, delete","path":"TestCases/ch15/15.4/15.4.3/S15.4.3_A2.2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgbGVuZ3RoIHByb3BlcnR5IG9mIEFycmF5IGhhcyB0aGUgYXR0cmlidXRlIFJlYWRPbmx5CiAqCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjMvUzE1LjQuM19BMi4zLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiB2YXJ5aW5nIHRoZSBsZW5ndGggcHJvcGVydHkgZmFpbHMKICovCgovL0NIRUNLIzEKeCA9IEFycmF5Lmxlbmd0aDsKQXJyYXkubGVuZ3RoID0gSW5maW5pdHk7CmlmIChBcnJheS5sZW5ndGggIT09IHgpIHsKICAkRVJST1IoJyMxOiB4ID0gQXJyYXkubGVuZ3RoOyBBcnJheS5sZW5ndGggPSBJbmZpbml0eTsgQXJyYXkubGVuZ3RoID09PSB4LiBBY3R1YWw6ICcgKyAoQXJyYXkubGVuZ3RoKSk7Cn0KCgo=","commentary":"The length property of Array has the attribute ReadOnly","description":"Checking if varying the length property fails","path":"TestCases/ch15/15.4/15.4.3/S15.4.3_A2.3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgbGVuZ3RoIHByb3BlcnR5IG9mIEFycmF5IGlzIDEKICoKICogQHBhdGggY2gxNS8xNS40LzE1LjQuMy9TMTUuNC4zX0EyLjQuanMKICogQGRlc2NyaXB0aW9uIEFycmF5Lmxlbmd0aCA9PT0gMQogKi8KCi8vQ0hFQ0sjMQppZiAoQXJyYXkubGVuZ3RoICE9PSAxKSB7CiAgJEVSUk9SKCcjMTogQXJyYXkubGVuZ3RoID09PSAxLiBBY3R1YWw6ICcgKyAoQXJyYXkubGVuZ3RoKSk7Cn0KCgo=","commentary":"The length property of Array is 1","description":"Array.length === 1","path":"TestCases/ch15/15.4/15.4.3/S15.4.3_A2.4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgQXJyYXkgaGFzIHByb3BlcnR5IHByb3RvdHlwZQogKgogKiBAcGF0aCBjaDE1LzE1LjQvMTUuNC4zLzE1LjQuMy4xL1MxNS40LjMuMV9BMS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgdXNlIGhhc093blByb3BlcnR5CiAqLwoKLy9DSEVDSyMxCmlmIChBcnJheS5oYXNPd25Qcm9wZXJ0eSgncHJvdG90eXBlJykgIT09IHRydWUpIHsKCSRGQUlMKCcjMTogQXJyYXkuaGFzT3duUHJvcGVydHkoXCdwcm90b3R5cGVcJykgPT09IHRydWUuIEFjdHVhbDogJyArIChBcnJheS5oYXNPd25Qcm9wZXJ0eSgncHJvdG90eXBlJykpKTsKfQoKCg==","commentary":"The Array has property prototype","description":"Checking use hasOwnProperty","path":"TestCases/ch15/15.4/15.4.3/15.4.3.1/S15.4.3.1_A1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgQXJyYXkucHJvdG90eXBlIHByb3BlcnR5IGhhcyB0aGUgYXR0cmlidXRlIERvbnRFbnVtCiAqCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjMvMTUuNC4zLjEvUzE1LjQuMy4xX0EyLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiBlbnVtZXJhdGluZyB0aGUgQXJyYXkucHJvdG90eXBlIHByb3BlcnR5IGZhaWxzCiAqLwoKLy9DSEVDSyMxCmlmIChBcnJheS5wcm9wZXJ0eUlzRW51bWVyYWJsZSgncHJvdG90eXBlJykgIT09IGZhbHNlKSB7CgkkRVJST1IoJyMxOiBBcnJheS5wcm9wZXJ0eUlzRW51bWVyYWJsZShcJ3Byb3RvdHlwZVwnKSA9PT0gZmFsc2UuIEFjdHVhbDogJyArIChBcnJheS5wcm9wZXJ0eUlzRW51bWVyYWJsZSgncHJvdG90eXBlJykpKTsKfQoKLy9DSEVDSyMyCnZhciByZXN1bHQgPSB0cnVlOwpmb3IgKHZhciBwIGluIEFycmF5KXsKCWlmIChwID09PSAicHJvdG90eXBlIikgewoJICByZXN1bHQgPSBmYWxzZTsKCX0gIAp9CgppZiAocmVzdWx0ICE9PSB0cnVlKSB7CgkkRVJST1IoJyMyOiByZXN1bHQgPSB0cnVlOyBmb3IgKHAgaW4gQXJyYXkpIHsgaWYgKHAgPT09ICJwcm90b3R5cGUiKSByZXN1bHQgPSBmYWxzZTsgfSAgcmVzdWx0ID09PSB0cnVlOycpOwp9CgoK","commentary":"The Array.prototype property has the attribute DontEnum","description":"Checking if enumerating the Array.prototype property fails","path":"TestCases/ch15/15.4/15.4.3/15.4.3.1/S15.4.3.1_A2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgQXJyYXkucHJvdG90eXBlIHByb3BlcnR5IGhhcyB0aGUgYXR0cmlidXRlIERvbnREZWxldGUKICoKICogQHBhdGggY2gxNS8xNS40LzE1LjQuMy8xNS40LjMuMS9TMTUuNC4zLjFfQTMuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIGRlbGV0aW5nIHRoZSBBcnJheS5wcm90b3R5cGUgcHJvcGVydHkgZmFpbHMKICogQG5vU3RyaWN0CiAqLwoKLy9DSEVDSyMxCmlmIChBcnJheS5oYXNPd25Qcm9wZXJ0eSgncHJvdG90eXBlJykgIT09IHRydWUpIHsKCSRGQUlMKCcjMTogQXJyYXkuaGFzT3duUHJvcGVydHkoXCdwcm90b3R5cGVcJykgPT09IHRydWUuIEFjdHVhbDogJyArIChBcnJheS5oYXNPd25Qcm9wZXJ0eSgncHJvdG90eXBlJykpKTsKfQoKZGVsZXRlIEFycmF5LnByb3RvdHlwZTsKCi8vQ0hFQ0sjMgppZiAoQXJyYXkuaGFzT3duUHJvcGVydHkoJ3Byb3RvdHlwZScpICE9PSB0cnVlKSB7CgkkRVJST1IoJyMyOiBkZWxldGUgQXJyYXkucHJvdG90eXBlOyBBcnJheS5oYXNPd25Qcm9wZXJ0eShcJ3Byb3RvdHlwZVwnKSA9PT0gdHJ1ZS4gQWN0dWFsOiAnICsgKEFycmF5Lmhhc093blByb3BlcnR5KCdwcm90b3R5cGUnKSkpOwp9CgovL0NIRUNLIzMKaWYgKEFycmF5LnByb3RvdHlwZSA9PT0gdW5kZWZpbmVkKSB7CiAgJEVSUk9SKCcjMzogZGVsZXRlIEFycmF5LnByb3RvdHlwZTsgQXJyYXkucHJvdG90eXBlICE9PSB1bmRlZmluZWQnKTsKfQoKCgo=","commentary":"The Array.prototype property has the attribute DontDelete","description":"Checking if deleting the Array.prototype property fails","noStrict":"","path":"TestCases/ch15/15.4/15.4.3/15.4.3.1/S15.4.3.1_A3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgQXJyYXkucHJvdG90eXBlIHByb3BlcnR5IGhhcyB0aGUgYXR0cmlidXRlIFJlYWRPbmx5CiAqCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjMvMTUuNC4zLjEvUzE1LjQuMy4xX0E0LmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiB2YXJ5aW5nIHRoZSBBcnJheS5wcm90b3R5cGUgcHJvcGVydHkgZmFpbHMKICogQG5vU3RyaWN0CiAqLwoKLy9DSEVDSyMxCnZhciB4ID0gQXJyYXkucHJvdG90eXBlOwpBcnJheS5wcm90b3R5cGUgPSAxOwppZiAoQXJyYXkucHJvdG90eXBlICE9PSB4KSB7CgkkRVJST1IoJyMxOiB4ID0gQXJyYXkucHJvdG90eXBlOyBBcnJheS5wcm90b3R5cGUgPSAxOyBBcnJheS5wcm90b3R5cGUgPT09IHguIEFjdHVhbDogJyArIChBcnJheS5wcm90b3R5cGUpKTsKfQoKCg==","commentary":"The Array.prototype property has the attribute ReadOnly","description":"Checking if varying the Array.prototype property fails","noStrict":"","path":"TestCases/ch15/15.4/15.4.3/15.4.3.1/S15.4.3.1_A4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgbGVuZ3RoIHByb3BlcnR5IG9mIEFycmF5LnByb3RvdHlwZSBpcyAwCiAqCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjMvMTUuNC4zLjEvUzE1LjQuMy4xX0E1LmpzCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubGVuZ3RoID09PSAwCiAqLwoKLy9DSEVDSyMxCmlmIChBcnJheS5wcm90b3R5cGUubGVuZ3RoICE9PSAwKSB7CiAgJEVSUk9SKCcjMS4xOiBBcnJheS5wcm90b3R5cGUubGVuZ3RoID09PSAwLiBBY3R1YWw6ICcgKyAoQXJyYXkucHJvdG90eXBlLmxlbmd0aCkpOwp9IGVsc2UgewogIGlmICgxIC8gQXJyYXkucHJvdG90eXBlLmxlbmd0aCAhPT0gTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZKSB7CiAgICAkRVJST1IoJyMxLjI6IEFycmF5LnByb3RvdHlwZS5sZW5ndGggPT09ICswLiBBY3R1YWw6IC0nICsgKEFycmF5LnByb3RvdHlwZS5sZW5ndGgpKTsKICB9Cn0gCgoK","commentary":"The length property of Array.prototype is 0","description":"Array.prototype.length === 0","path":"TestCases/ch15/15.4/15.4.3/15.4.3.1/S15.4.3.1_A5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuMy8xNS40LjMuMi8xNS40LjMuMi0wLTEuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5pc0FycmF5IG11c3QgZXhpc3QgYXMgYSBmdW5jdGlvbg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBmID0gQXJyYXkuaXNBcnJheTsNCiAgaWYgKHR5cGVvZihmKSA9PT0gImZ1bmN0aW9uIikgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.isArray must exist as a function","path":"TestCases/ch15/15.4/15.4.3/15.4.3.2/15.4.3.2-0-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuMy8xNS40LjMuMi8xNS40LjMuMi0wLTIuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5pc0FycmF5IG11c3QgZXhpc3QgYXMgYSBmdW5jdGlvbiB0YWtpbmcgMSBwYXJhbWV0ZXINCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICBpZiAoQXJyYXkuaXNBcnJheS5sZW5ndGggPT09IDEpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.isArray must exist as a function taking 1 parameter","path":"TestCases/ch15/15.4/15.4.3/15.4.3.2/15.4.3.2-0-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuMy8xNS40LjMuMi8xNS40LjMuMi0wLTMuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5pc0FycmF5IHJldHVybiB0cnVlIGlmIGl0cyBhcmd1bWVudCBpcyBhbiBBcnJheQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBhID0gW107DQogIHZhciBiID0gQXJyYXkuaXNBcnJheShhKTsNCiAgaWYgKGIgPT09IHRydWUpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.isArray return true if its argument is an Array","path":"TestCases/ch15/15.4/15.4.3/15.4.3.2/15.4.3.2-0-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuMy8xNS40LjMuMi8xNS40LjMuMi0wLTQuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5pc0FycmF5IHJldHVybiBmYWxzZSBpZiBpdHMgYXJndW1lbnQgaXMgbm90IGFuIEFycmF5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIGJfbnVtICAgPSBBcnJheS5pc0FycmF5KDQyKTsNCiAgdmFyIGJfdW5kZWYgPSBBcnJheS5pc0FycmF5KHVuZGVmaW5lZCk7DQogIHZhciBiX2Jvb2wgID0gQXJyYXkuaXNBcnJheSh0cnVlKTsNCiAgdmFyIGJfc3RyICAgPSBBcnJheS5pc0FycmF5KCJhYmMiKTsNCiAgdmFyIGJfb2JqICAgPSBBcnJheS5pc0FycmF5KHt9KTsNCiAgdmFyIGJfbnVsbCAgPSBBcnJheS5pc0FycmF5KG51bGwpOw0KICANCiAgaWYgKGJfbnVtID09PSBmYWxzZSAmJg0KICAgICAgYl91bmRlZiA9PT0gZmFsc2UgJiYNCiAgICAgIGJfYm9vbCA9PT0gZmFsc2UgJiYNCiAgICAgIGJfc3RyID09PSBmYWxzZSAmJg0KICAgICAgYl9vYmogPT09IGZhbHNlICYmDQogICAgICBiX251bGwgPT09IGZhbHNlKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.isArray return false if its argument is not an Array","path":"TestCases/ch15/15.4/15.4.3/15.4.3.2/15.4.3.2-0-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuMy8xNS40LjMuMi8xNS40LjMuMi0wLTUuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5pc0FycmF5IHJldHVybiB0cnVlIGlmIGl0cyBhcmd1bWVudCBpcyBhbiBBcnJheSAoQXJyYXkucHJvdG90eXBlKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBiID0gQXJyYXkuaXNBcnJheShBcnJheS5wcm90b3R5cGUpOw0KICBpZiAoYiA9PT0gdHJ1ZSkgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.isArray return true if its argument is an Array (Array.prototype)","path":"TestCases/ch15/15.4/15.4.3/15.4.3.2/15.4.3.2-0-5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuMy8xNS40LjMuMi8xNS40LjMuMi0wLTYuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5pc0FycmF5IHJldHVybiB0cnVlIGlmIGl0cyBhcmd1bWVudCBpcyBhbiBBcnJheSAobmV3IEFycmF5KCkpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIGEgPSBuZXcgQXJyYXkoMTApOw0KICB2YXIgYiA9IEFycmF5LmlzQXJyYXkoYSk7DQogIGlmIChiID09PSB0cnVlKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.isArray return true if its argument is an Array (new Array())","path":"TestCases/ch15/15.4/15.4.3/15.4.3.2/15.4.3.2-0-6.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuMy8xNS40LjMuMi8xNS40LjMuMi0wLTcuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5pc0FycmF5IHJldHVybnMgZmFsc2UgaWYgaXRzIGFyZ3VtZW50IGlzIG5vdCBhbiBBcnJheQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBvID0gbmV3IE9iamVjdCgpOw0KICBvWzEyXSA9IDEzOw0KICB2YXIgYiA9IEFycmF5LmlzQXJyYXkobyk7DQogIGlmIChiID09PSBmYWxzZSkgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.isArray returns false if its argument is not an Array","path":"TestCases/ch15/15.4/15.4.3/15.4.3.2/15.4.3.2-0-7.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuMy8xNS40LjMuMi8xNS40LjMuMi0xLTEuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5pc0FycmF5IGFwcGxpZWQgdG8gYm9vbGVhbiBwcmltaXRpdmUNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHJldHVybiAhQXJyYXkuaXNBcnJheSh0cnVlKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.isArray applied to boolean primitive","path":"TestCases/ch15/15.4/15.4.3/15.4.3.2/15.4.3.2-1-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuMy8xNS40LjMuMi8xNS40LjMuMi0xLTEwLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkuaXNBcnJheSBhcHBsaWVkIHRvIFJlZ0V4cCBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHJldHVybiAhQXJyYXkuaXNBcnJheShuZXcgUmVnRXhwKCkpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.isArray applied to RegExp object","path":"TestCases/ch15/15.4/15.4.3/15.4.3.2/15.4.3.2-1-10.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuMy8xNS40LjMuMi8xNS40LjMuMi0xLTExLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkuaXNBcnJheSBhcHBsaWVkIHRvIHRoZSBKU09OIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgcmV0dXJuICFBcnJheS5pc0FycmF5KEpTT04pOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.isArray applied to the JSON object","path":"TestCases/ch15/15.4/15.4.3/15.4.3.2/15.4.3.2-1-11.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuMy8xNS40LjMuMi8xNS40LjMuMi0xLTEyLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkuaXNBcnJheSBhcHBsaWVkIHRvIEVycm9yIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgcmV0dXJuICFBcnJheS5pc0FycmF5KG5ldyBTeW50YXhFcnJvcigpKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.isArray applied to Error object","path":"TestCases/ch15/15.4/15.4.3/15.4.3.2/15.4.3.2-1-12.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuMy8xNS40LjMuMi8xNS40LjMuMi0xLTEzLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkuaXNBcnJheSBhcHBsaWVkIHRvIEFyZ3VtZW50cyBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhcmc7DQoNCiAgICAgICAgKGZ1bmN0aW9uIGZ1bigpIHsNCiAgICAgICAgICAgIGFyZyA9IGFyZ3VtZW50czsNCiAgICAgICAgfSgxLCAyLCAzKSk7DQoNCiAgICAgICAgcmV0dXJuICFBcnJheS5pc0FycmF5KGFyZyk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.isArray applied to Arguments object","path":"TestCases/ch15/15.4/15.4.3/15.4.3.2/15.4.3.2-1-13.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuMy8xNS40LjMuMi8xNS40LjMuMi0xLTE1LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkuaXNBcnJheSBhcHBsaWVkIHRvIHRoZSBnbG9iYWwgb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICByZXR1cm4gIUFycmF5LmlzQXJyYXkoZm5HbG9iYWxPYmplY3QoKSk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.isArray applied to the global object","path":"TestCases/ch15/15.4/15.4.3/15.4.3.2/15.4.3.2-1-15.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuMy8xNS40LjMuMi8xNS40LjMuMi0xLTIuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5pc0FycmF5IGFwcGxpZWQgdG8gQm9vbGVhbiBPYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHJldHVybiAhQXJyYXkuaXNBcnJheShuZXcgQm9vbGVhbihmYWxzZSkpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.isArray applied to Boolean Object","path":"TestCases/ch15/15.4/15.4.3/15.4.3.2/15.4.3.2-1-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuMy8xNS40LjMuMi8xNS40LjMuMi0xLTMuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5pc0FycmF5IGFwcGxpZWQgdG8gbnVtYmVyIHByaW1pdGl2ZQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgcmV0dXJuICFBcnJheS5pc0FycmF5KDUpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.isArray applied to number primitive","path":"TestCases/ch15/15.4/15.4.3/15.4.3.2/15.4.3.2-1-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuMy8xNS40LjMuMi8xNS40LjMuMi0xLTQuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5pc0FycmF5IGFwcGxpZWQgdG8gTnVtYmVyIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgcmV0dXJuICFBcnJheS5pc0FycmF5KG5ldyBOdW1iZXIoLTMpKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.isArray applied to Number object","path":"TestCases/ch15/15.4/15.4.3/15.4.3.2/15.4.3.2-1-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuMy8xNS40LjMuMi8xNS40LjMuMi0xLTUuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5pc0FycmF5IGFwcGxpZWQgdG8gc3RyaW5nIHByaW1pdGl2ZQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgcmV0dXJuICFBcnJheS5pc0FycmF5KCJhYmMiKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.isArray applied to string primitive","path":"TestCases/ch15/15.4/15.4.3/15.4.3.2/15.4.3.2-1-5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuMy8xNS40LjMuMi8xNS40LjMuMi0xLTYuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5pc0FycmF5IGFwcGxpZWQgdG8gU3RyaW5nIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgcmV0dXJuICFBcnJheS5pc0FycmF5KG5ldyBTdHJpbmcoImhlbGxvXG53b3JsZFxcISIpKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.isArray applied to String object","path":"TestCases/ch15/15.4/15.4.3/15.4.3.2/15.4.3.2-1-6.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuMy8xNS40LjMuMi8xNS40LjMuMi0xLTcuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5pc0FycmF5IGFwcGxpZWQgdG8gRnVuY3Rpb24gb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICByZXR1cm4gIUFycmF5LmlzQXJyYXkoZnVuY3Rpb24gKCkgeyB9KTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.isArray applied to Function object","path":"TestCases/ch15/15.4/15.4.3/15.4.3.2/15.4.3.2-1-7.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuMy8xNS40LjMuMi8xNS40LjMuMi0xLTguanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5pc0FycmF5IGFwcGxpZWQgdG8gdGhlIE1hdGggb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICByZXR1cm4gIUFycmF5LmlzQXJyYXkoTWF0aCk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.isArray applied to the Math object","path":"TestCases/ch15/15.4/15.4.3/15.4.3.2/15.4.3.2-1-8.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuMy8xNS40LjMuMi8xNS40LjMuMi0xLTkuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5pc0FycmF5IGFwcGxpZWQgdG8gRGF0ZSBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHJldHVybiAhQXJyYXkuaXNBcnJheShuZXcgRGF0ZSgpKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.isArray applied to Date object","path":"TestCases/ch15/15.4/15.4.3/15.4.3.2/15.4.3.2-1-9.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuMy8xNS40LjMuMi8xNS40LjMuMi0yLTEuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5pc0FycmF5IGFwcGxpZWQgdG8gYW4gb2JqZWN0IHdpdGggYW4gYXJyYXkgYXMgdGhlIHByb3RvdHlwZQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHByb3RvID0gW107DQogICAgICAgIHZhciBDb24gPSBmdW5jdGlvbiAoKSB7IH07DQogICAgICAgIENvbi5wcm90b3R5cGUgPSBwcm90bzsNCg0KICAgICAgICB2YXIgY2hpbGQgPSBuZXcgQ29uKCk7DQogICAgICAgIHJldHVybiAhQXJyYXkuaXNBcnJheShjaGlsZCk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.isArray applied to an object with an array as the prototype","path":"TestCases/ch15/15.4/15.4.3/15.4.3.2/15.4.3.2-2-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuMy8xNS40LjMuMi8xNS40LjMuMi0yLTIuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5pc0FycmF5IGFwcGxpZWQgdG8gYW4gb2JqZWN0IHdpdGggQXJyYXkucHJvdG90eXBlIGFzIHRoZSBwcm90b3R5cGUNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBwcm90byA9IEFycmF5LnByb3RvdHlwZTsNCiAgICAgICAgdmFyIENvbiA9IGZ1bmN0aW9uICgpIHsgfTsNCiAgICAgICAgQ29uLnByb3RvdHlwZSA9IHByb3RvOw0KDQogICAgICAgIHZhciBjaGlsZCA9IG5ldyBDb24oKTsNCg0KICAgICAgICByZXR1cm4gIUFycmF5LmlzQXJyYXkoY2hpbGQpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.isArray applied to an object with Array.prototype as the prototype","path":"TestCases/ch15/15.4/15.4.3/15.4.3.2/15.4.3.2-2-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuMy8xNS40LjMuMi8xNS40LjMuMi0yLTMuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5pc0FycmF5IGFwcGxpZWQgdG8gYW4gQXJyYXktbGlrZSBvYmplY3Qgd2l0aCBsZW5ndGggYW5kIHNvbWUgaW5kZXhlZCBwcm9wZXJ0aWVzDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICByZXR1cm4gIUFycmF5LmlzQXJyYXkoeyAwOiAxMiwgMTogOSwgbGVuZ3RoOiAyIH0pOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.isArray applied to an Array-like object with length and some indexed properties","path":"TestCases/ch15/15.4/15.4.3/15.4.3.2/15.4.3.2-2-3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgdmFsdWUgb2YgdGhlIGludGVybmFsIFtbUHJvdG90eXBlXV0gcHJvcGVydHkgb2YKICogdGhlIEFycmF5IHByb3RvdHlwZSBvYmplY3QgaXMgdGhlIE9iamVjdCBwcm90b3R5cGUgb2JqZWN0CiAqCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvUzE1LjQuNF9BMS4xX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBDcmVhdGUgbmV3IHByb3BlcnR5IG9mIEZ1bmN0aW9uLnByb3RvdHlwZS4gV2hlbiBBcnJheS5wcm90b3R5cGUgb2JqZWN0IGhhcyB0aGlzIHByb3BlcnR5CiAqLwoKT2JqZWN0LnByb3RvdHlwZS5teXByb3BlcnR5ID0gMTsKCi8vQ0hFQ0sjMQppZiAoQXJyYXkucHJvdG90eXBlLm15cHJvcGVydHkgIT09IDEpIHsKICAkRVJST1IoJyMxOiBPYmplY3QucHJvdG90eXBlLm15cHJvcGVydHkgPSAxOyBBcnJheS5wcm90b3R5cGUubXlwcm9wZXJ0eSA9PT0gMS4gQWN0dWFsOiAnICsgKEFycmF5LnByb3RvdHlwZS5teXByb3BlcnR5KSk7Cn0KCi8vQ0hFQ0sjMgppZiAoQXJyYXkucHJvdG90eXBlLmhhc093blByb3BlcnR5KCdteXByb3BlcnR5JykgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjMjogT2JqZWN0LnByb3RvdHlwZS5teXByb3BlcnR5ID0gMTsgQXJyYXkucHJvdG90eXBlLmhhc093blByb3BlcnR5KFwnbXlwcm9wZXJ0eVwnKSA9PT0gZmFsc2UuIEFjdHVhbDogJyArIChBcnJheS5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkoJ215cHJvcGVydHknKSkpOwp9Cgo=","commentary":"The value of the internal [[Prototype]] property of\nthe Array prototype object is the Object prototype object","description":"Create new property of Function.prototype. When Array.prototype object has this property","path":"TestCases/ch15/15.4/15.4.4/S15.4.4_A1.1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBAcGF0aCBjaDE1LzE1LjQvMTUuNC40L1MxNS40LjRfQTEuMV9UMi5qcwogKiBAZGVzY3JpcHRpb24gVGhlIEFycmF5IHByb3RvdHlwZSBvYmplY3QgaXMgaXRzZWxmIGFuIGFycmF5OyBpdHMgW1tDbGFzc11dIGlzICJBcnJheSIsCiAqLwoKLy9DSEVDSyMxCmlmIChPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwoQXJyYXkucHJvdG90eXBlKSAhPT0gIltvYmplY3QgQXJyYXldIikgewogICRFUlJPUignVGhlIEFycmF5IHByb3RvdHlwZSBvYmplY3QgaXMgaXRzZWxmIGFuIGFycmF5OyBpdHMnICsKICAgICAgICAgJ1tbQ2xhc3NdXSBpcyAiQXJyYXkiLicpOwp9Cgo=","commentary":"","description":"The Array prototype object is itself an array; its [[Class]] is \"Array\",","path":"TestCases/ch15/15.4/15.4.4/S15.4.4_A1.1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgdmFsdWUgb2YgdGhlIGludGVybmFsIFtbUHJvdG90eXBlXV0gcHJvcGVydHkgb2YKICogdGhlIEFycmF5IHByb3RvdHlwZSBvYmplY3QgaXMgdGhlIE9iamVjdCBwcm90b3R5cGUgb2JqZWN0CiAqCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvUzE1LjQuNF9BMS4xX1QzLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyB1c2UgaXNQcm90b3R5cGVPZgogKi8KCi8vQ0hFQ0sjMQppZiAoT2JqZWN0LnByb3RvdHlwZS5pc1Byb3RvdHlwZU9mKEFycmF5LnByb3RvdHlwZSkgIT09IHRydWUpIHsKICAkRVJST1IoJyMxOiBPYmplY3QucHJvdG90eXBlLmlzUHJvdG90eXBlT2YoQXJyYXkucHJvdG90eXBlKSA9PT0gdHJ1ZS4gQWN0dWFsOiAnICsgKE9iamVjdC5wcm90b3R5cGUuaXNQcm90b3R5cGVPZihBcnJheS5wcm90b3R5cGUpKSk7Cn0KCg==","commentary":"The value of the internal [[Prototype]] property of\nthe Array prototype object is the Object prototype object","description":"Checking use isPrototypeOf","path":"TestCases/ch15/15.4/15.4.4/S15.4.4_A1.1_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgW1tDbGFzc11dIHByb3BlcnR5IG9mIHRoZSBBcnJheSBwcm90b3R5cGUgb2JqZWN0IGlzIHNldCB0byAiQXJyYXkiCiAqCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvUzE1LjQuNF9BMS4yX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyB1c2UgT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZwogKi8KCi8vQ0hFQ0sjMQpBcnJheS5wcm90b3R5cGUuZ2V0Q2xhc3MgPSBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nOwppZiAoQXJyYXkucHJvdG90eXBlLmdldENsYXNzKCkgIT09ICJbb2JqZWN0ICIgKyAiQXJyYXkiICsgIl0iKSB7CiAgJEVSUk9SKCcjMTogQXJyYXkucHJvdG90eXBlLmdldENsYXNzID0gT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZzsgQXJyYXkucHJvdG90eXBlIGlzIEFycmF5IG9iamVjdC4gQWN0dWFsOiAnICsgKEFycmF5LnByb3RvdHlwZS5nZXRDbGFzcygpKSk7Cn0KCg==","commentary":"The [[Class]] property of the Array prototype object is set to \"Array\"","description":"Checking use Object.prototype.toString","path":"TestCases/ch15/15.4/15.4.4/S15.4.4_A1.2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBBcnJheSBwcm90b3R5cGUgb2JqZWN0IGhhcyBsZW5ndGggcHJvcGVydHkgd2hvc2UgdmFsdWUgaXMgKzAKICoKICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC9TMTUuNC40X0ExLjNfVDEuanMKICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5sZW5ndGggPT09IDAKICovCgovL0NIRUNLIzEKaWYgKEFycmF5LnByb3RvdHlwZS5sZW5ndGggIT09IDApIHsKICAkRVJST1IoJyMxLjE6IEFycmF5LnByb3RvdHlwZS5sZW5ndGggPT09IDAuIEFjdHVhbDogJyArIChBcnJheS5wcm90b3R5cGUubGVuZ3RoKSk7Cn0gZWxzZSB7CiAgaWYgKDEgLyBBcnJheS5wcm90b3R5cGUubGVuZ3RoICE9PSBOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkpIHsKICAgICRFUlJPUignIzEuMjogQXJyYXkucHJvdG90eXBlLmxlbmd0aCA9PT0gKzAuIEFjdHVhbDogJyArIChBcnJheS5wcm90b3R5cGUubGVuZ3RoKSk7CiAgfQp9IAogICAKCg==","commentary":"Array prototype object has length property whose value is +0","description":"Array.prototype.length === 0","path":"TestCases/ch15/15.4/15.4.4/S15.4.4_A1.3_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgQXJyYXkgcHJvdG90eXBlIG9iamVjdCBkb2VzIG5vdCBoYXZlIGEgdmFsdWVPZiBwcm9wZXJ0eSBvZgogKiBpdHMgb3duOyBob3dldmVyLCBpdCBpbmhlcml0cyB0aGUgdmFsdWVPZiBwcm9wZXJ0eSBmcm9tIHRoZSB2YWx1ZU9mCiAqIHByb3BlcnR5IGZyb20gdGhlIE9iamVjdCBwcm90b3R5cGUgT2JqZWN0CiAqCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvUzE1LjQuNF9BMi4xX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyB1c2UgaGFzT3duUHJvcGVydHkKICovCgovL0NIRUNLIzEKaWYgKEFycmF5LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eSgndmFsdWVPZicpICE9PSBmYWxzZSkgewogICRFUlJPUignIzE6IEFycmF5LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eShcJ3ZhbHVlT2ZcJykgPT09IGZhbHNlLiBBY3R1YWw6ICcgKyAoQXJyYXkucHJvdG90eXBlLmhhc093blByb3BlcnR5KCd2YWx1ZU9mJykpKTsKfQoK","commentary":"The Array prototype object does not have a valueOf property of\nits own; however, it inherits the valueOf property from the valueOf\nproperty from the Object prototype Object","description":"Checking use hasOwnProperty","path":"TestCases/ch15/15.4/15.4.4/S15.4.4_A2.1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgQXJyYXkgcHJvdG90eXBlIG9iamVjdCBkb2VzIG5vdCBoYXZlIGEgdmFsdWVPZiBwcm9wZXJ0eSBvZgogKiBpdHMgb3duOyBob3dldmVyLCBpdCBpbmhlcml0cyB0aGUgdmFsdWVPZiBwcm9wZXJ0eSBmcm9tIHRoZSB2YWx1ZU9mCiAqIHByb3BlcnR5IGZyb20gdGhlIE9iamVjdCBwcm90b3R5cGUgT2JqZWN0CiAqCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvUzE1LjQuNF9BMi4xX1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGFuZ2UgdmFsdWVPZiBwcm9wZXJ0eSBvZiBPYmplY3QucHJvdG90eXBlLiBXaGVuIEFycmF5LnByb3RvdHlwZS52YWx1ZU9mIGFsc28gY2hhbmdlCiAqLwoKT2JqZWN0LnByb3RvdHlwZS52YWx1ZU9mID0gMTsKCi8vQ0hFQ0sjMQppZiAoQXJyYXkucHJvdG90eXBlLnZhbHVlT2YgIT09IDEpIHsKICAkRVJST1IoJyMxOiBPYmplY3QucHJvdG90eXBlLnZhbHVlT2YgPSAxOyBBcnJheS5wcm90b3R5cGUudmFsdWVPZiA9PT0gMS4gQWN0dWFsOiAnICsgKEFycmF5LnByb3RvdHlwZS52YWx1ZU9mKSk7Cn0KCi8vQ0hFQ0sjMgp2YXIgeCA9IG5ldyBBcnJheSgpOwppZiAoeC52YWx1ZU9mICE9PSAxKSB7CiAgJEVSUk9SKCcjMTogT2JqZWN0LnByb3RvdHlwZS52YWx1ZU9mID0gMTsgeCA9IG5ldyBBcnJheSgpOyB4LnZhbHVlT2YgPT09IDEuIEFjdHVhbDogJyArICh4LnZhbHVlT2YpKTsKfQoK","commentary":"The Array prototype object does not have a valueOf property of\nits own; however, it inherits the valueOf property from the valueOf\nproperty from the Object prototype Object","description":"Change valueOf property of Object.prototype. When Array.prototype.valueOf also change","path":"TestCases/ch15/15.4/15.4.4/S15.4.4_A2.1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgaW5pdGlhbCB2YWx1ZSBvZiBBcnJheS5wcm90b3R5cGUuY29uc3RydWN0b3IgaXMKICogdGhlIGJ1aWx0LWluIEFycmF5IGNvbnN0cnVjdG9yCiAqCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjEvUzE1LjQuNC4xX0ExX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuY29uc3RydWN0b3IgPT09IEFycmF5CiAqLwoKLy9DSEVDSyMxCmlmIChBcnJheS5wcm90b3R5cGUuY29uc3RydWN0b3IgIT09IEFycmF5KSB7CiAgJEVSUk9SKCcjMTogQXJyYXkucHJvdG90eXBlLmNvbnN0cnVjdG9yID09PSBBcnJheS4gQWN0dWFsOiAnICsgKEFycmF5LnByb3RvdHlwZS5jb25zdHJ1Y3RvcikpOwp9ICAgCgo=","commentary":"The initial value of Array.prototype.constructor is\nthe built-in Array constructor","description":"Array.prototype.constructor === Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.1/S15.4.4.1_A1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgY29uc3RydWN0b3IgcHJvcGVydHkgb2YgQXJyYXkgaGFzIHRoZSBhdHRyaWJ1dGUgRG9udEVudW0KICoKICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMS9TMTUuNC40LjFfQTIuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIHVzZSBwcm9wZXJ0eUlzRW51bWVyYWJsZSwgZm9yLWluCiAqLwoKLy9DSEVDSyMxCmlmIChBcnJheS5wcm9wZXJ0eUlzRW51bWVyYWJsZSgnY29uc3RydWN0b3InKSAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyMxOiBBcnJheS5wcm9wZXJ0eUlzRW51bWVyYWJsZShcJ2NvbnN0cnVjdG9yXCcpID09PSBmYWxzZS4gQWN0dWFsOiAnICsgKEFycmF5LnByb3BlcnR5SXNFbnVtZXJhYmxlKCdjb25zdHJ1Y3RvcicpKSk7Cn0KCi8vQ0hFQ0sjMgp2YXIgcmVzdWx0ID0gdHJ1ZTsKZm9yICh2YXIgcCBpbiBBcnJheSl7CiAgaWYgKHAgPT09ICJjb25zdHJ1Y3RvciIpIHsKICAgIHJlc3VsdCA9IGZhbHNlOwogIH0gIAp9CgppZiAocmVzdWx0ICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMjogcmVzdWx0ID0gdHJ1ZTsgZm9yIChwIGluIEFycmF5KSB7IGlmIChwID09PSAiY29uc3RydWN0b3IiKSByZXN1bHQgPSBmYWxzZTsgfSAgcmVzdWx0ID09PSB0cnVlOycpOwp9CgoK","commentary":"The constructor property of Array has the attribute DontEnum","description":"Checking use propertyIsEnumerable, for-in","path":"TestCases/ch15/15.4/15.4.4/15.4.4.1/S15.4.4.1_A2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTAvMTUuNC40LjEwLTEwLWMtaWktMS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5zbGljZSB3aWxsIHNsaWNlIGEgc3RyaW5nIGZyb20gc3RhcnQgdG8gZW5kIHdoZW4gaW5kZXggcHJvcGVydHkgKHJlYWQtb25seSkgZXhpc3RzIGluIEFycmF5LnByb3RvdHlwZSAoU3RlcCAxMC5jLmlpKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBhcnJPYmogPSBbMSwgMiwgM107DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoQXJyYXkucHJvdG90eXBlLCAiMCIsIHsNCiAgICAgICAgICAgICAgICB2YWx1ZTogInRlc3QiLA0KICAgICAgICAgICAgICAgIHdyaXRhYmxlOiBmYWxzZSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICB2YXIgbmV3QXJyID0gYXJyT2JqLnNsaWNlKDAsIDEpOw0KICAgICAgICAgICAgcmV0dXJuIG5ld0Fyci5oYXNPd25Qcm9wZXJ0eSgiMCIpICYmIG5ld0FyclswXSA9PT0gMSAmJiB0eXBlb2YgbmV3QXJyWzFdID09PSAidW5kZWZpbmVkIjsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBBcnJheS5wcm90b3R5cGVbMF07DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.slice will slice a string from start to end when index property (read-only) exists in Array.prototype (Step 10.c.ii)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.10/15.4.4.10-10-c-ii-1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBzdGFydCBpcyBwb3NpdGl2ZSwgdXNlIG1pbihzdGFydCwgbGVuZ3RoKS4KICogSWYgZW5kIGlzIHBvc2l0aXZlLCB1c2UgbWluKGVuZCwgbGVuZ3RoKQogKgogKiBAcGF0aCBjaDE1LzE1LjQvMTUuNC40LzE1LjQuNC4xMC9TMTUuNC40LjEwX0ExLjFfVDEuanMKICogQGRlc2NyaXB0aW9uIGxlbmd0aCA+IGVuZCA+IHN0YXJ0ID0gMAogKi8KCnZhciB4ID0gWzAsMSwyLDMsNF07CnZhciBhcnIgPSB4LnNsaWNlKDAsMyk7CgovL0NIRUNLIzEKYXJyLmdldENsYXNzID0gT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZzsKaWYgKGFyci5nZXRDbGFzcygpICE9PSAiW29iamVjdCAiICsgIkFycmF5IiArICJdIikgewogICRFUlJPUignIzE6IHZhciB4ID0gWzAsMSwyLDMsNF07IHZhciBhcnIgPSB4LnNsaWNlKDAsMyk7IGFyciBpcyBBcnJheSBvYmplY3QuIEFjdHVhbDogJyArIChhcnIuZ2V0Q2xhc3MoKSkpOwp9CgovL0NIRUNLIzIKaWYgKGFyci5sZW5ndGggIT09IDMpIHsKICAkRVJST1IoJyMyOiB2YXIgeCA9IFswLDEsMiwzLDRdOyB2YXIgYXJyID0geC5zbGljZSgwLDMpOyBhcnIubGVuZ3RoID09PSAzLiBBY3R1YWw6ICcgKyAoYXJyLmxlbmd0aCkpOwp9ICAgICAgCgovL0NIRUNLIzMKaWYgKGFyclswXSAhPT0gMCkgewogICRFUlJPUignIzM6IHZhciB4ID0gWzAsMSwyLDMsNF07IHZhciBhcnIgPSB4LnNsaWNlKDAsMyk7IGFyclswXSA9PT0gMC4gQWN0dWFsOiAnICsgKGFyclswXSkpOwp9CgovL0NIRUNLIzQKaWYgKGFyclsxXSAhPT0gMSkgewogICRFUlJPUignIzQ6IHZhciB4ID0gWzAsMSwyLDMsNF07IHZhciBhcnIgPSB4LnNsaWNlKDAsMyk7IGFyclsxXSA9PT0gMS4gQWN0dWFsOiAnICsgKGFyclsxXSkpOwp9ICAgICAgCgovL0NIRUNLIzUKaWYgKGFyclsyXSAhPT0gMikgewogICRFUlJPUignIzU6IHZhciB4ID0gWzAsMSwyLDMsNF07IHZhciBhcnIgPSB4LnNsaWNlKDAsMyk7IGFyclsyXSA9PT0gMi4gQWN0dWFsOiAnICsgKGFyclsyXSkpOwp9ICAgCgovL0NIRUNLIzYKaWYgKGFyclszXSAhPT0gdW5kZWZpbmVkKSB7CiAgJEVSUk9SKCcjNjogdmFyIHggPSBbMCwxLDIsMyw0XTsgdmFyIGFyciA9IHguc2xpY2UoMCwzKTsgYXJyWzNdID09PSB1bmRlZmluZWQuIEFjdHVhbDogJyArIChhcnJbM10pKTsKfSAgIAoK","commentary":"If start is positive, use min(start, length).\nIf end is positive, use min(end, length)","description":"length > end > start = 0","path":"TestCases/ch15/15.4/15.4.4/15.4.4.10/S15.4.4.10_A1.1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBzdGFydCBpcyBwb3NpdGl2ZSwgdXNlIG1pbihzdGFydCwgbGVuZ3RoKS4KICogSWYgZW5kIGlzIHBvc2l0aXZlLCB1c2UgbWluKGVuZCwgbGVuZ3RoKQogKgogKiBAcGF0aCBjaDE1LzE1LjQvMTUuNC40LzE1LjQuNC4xMC9TMTUuNC40LjEwX0ExLjFfVDIuanMKICogQGRlc2NyaXB0aW9uIGxlbmd0aCA+IGVuZCA9IHN0YXJ0ID4gMAogKi8KCnZhciB4ID0gWzAsMSwyLDMsNF07CnZhciBhcnIgPSB4LnNsaWNlKDMsMyk7CgovL0NIRUNLIzEKYXJyLmdldENsYXNzID0gT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZzsKaWYgKGFyci5nZXRDbGFzcygpICE9PSAiW29iamVjdCAiICsgIkFycmF5IiArICJdIikgewogICRFUlJPUignIzE6IHZhciB4ID0gWzAsMSwyLDMsNF07IHZhciBhcnIgPSB4LnNsaWNlKDMsMyk7IGFyciBpcyBBcnJheSBvYmplY3QuIEFjdHVhbDogJyArIChhcnIuZ2V0Q2xhc3MoKSkpOwp9CgovL0NIRUNLIzIKaWYgKGFyci5sZW5ndGggIT09IDApIHsKICAkRVJST1IoJyMyOiB2YXIgeCA9IFswLDEsMiwzLDRdOyB2YXIgYXJyID0geC5zbGljZSgzLDMpOyBhcnIubGVuZ3RoID09PSAwLiBBY3R1YWw6ICcgKyAoYXJyLmxlbmd0aCkpOwp9ICAgICAgCgovL0NIRUNLIzMKaWYgKGFyclswXSAhPT0gdW5kZWZpbmVkKSB7CiAgJEVSUk9SKCcjMzogdmFyIHggPSBbMCwxLDIsMyw0XTsgdmFyIGFyciA9IHguc2xpY2UoMywzKTsgYXJyWzBdID09PSB1bmRlZmluZWQuIEFjdHVhbDogJyArIChhcnJbMF0pKTsKfQoK","commentary":"If start is positive, use min(start, length).\nIf end is positive, use min(end, length)","description":"length > end = start > 0","path":"TestCases/ch15/15.4/15.4.4/15.4.4.10/S15.4.4.10_A1.1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBzdGFydCBpcyBwb3NpdGl2ZSwgdXNlIG1pbihzdGFydCwgbGVuZ3RoKS4KICogSWYgZW5kIGlzIHBvc2l0aXZlLCB1c2UgbWluKGVuZCwgbGVuZ3RoKQogKgogKiBAcGF0aCBjaDE1LzE1LjQvMTUuNC40LzE1LjQuNC4xMC9TMTUuNC40LjEwX0ExLjFfVDMuanMKICogQGRlc2NyaXB0aW9uIGxlbmd0aCA+IHN0YXJ0ID4gZW5kID4gMAogKi8KCnZhciB4ID0gWzAsMSwyLDMsNF07CnZhciBhcnIgPSB4LnNsaWNlKDQsMyk7CgovL0NIRUNLIzEKYXJyLmdldENsYXNzID0gT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZzsKaWYgKGFyci5nZXRDbGFzcygpICE9PSAiW29iamVjdCAiICsgIkFycmF5IiArICJdIikgewogICRFUlJPUignIzE6IHZhciB4ID0gWzAsMSwyLDMsNF07IHZhciBhcnIgPSB4LnNsaWNlKDQsMyk7IGFyciBpcyBBcnJheSBvYmplY3QuIEFjdHVhbDogJyArIChhcnIuZ2V0Q2xhc3MoKSkpOwp9CgovL0NIRUNLIzIKaWYgKGFyci5sZW5ndGggIT09IDApIHsKICAkRVJST1IoJyMyOiB2YXIgeCA9IFswLDEsMiwzLDRdOyB2YXIgYXJyID0geC5zbGljZSg0LDMpOyBhcnIubGVuZ3RoID09PSAwLiBBY3R1YWw6ICcgKyAoYXJyLmxlbmd0aCkpOwp9ICAgICAgCgovL0NIRUNLIzMKaWYgKGFyclswXSAhPT0gdW5kZWZpbmVkKSB7CiAgJEVSUk9SKCcjMzogdmFyIHggPSBbMCwxLDIsMyw0XTsgdmFyIGFyciA9IHguc2xpY2UoNCwzKTsgYXJyWzBdID09PSB1bmRlZmluZWQuIEFjdHVhbDogJyArIChhcnJbMF0pKTsKfQoK","commentary":"If start is positive, use min(start, length).\nIf end is positive, use min(end, length)","description":"length > start > end > 0","path":"TestCases/ch15/15.4/15.4.4/15.4.4.10/S15.4.4.10_A1.1_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBzdGFydCBpcyBwb3NpdGl2ZSwgdXNlIG1pbihzdGFydCwgbGVuZ3RoKS4KICogSWYgZW5kIGlzIHBvc2l0aXZlLCB1c2UgbWluKGVuZCwgbGVuZ3RoKQogKgogKiBAcGF0aCBjaDE1LzE1LjQvMTUuNC40LzE1LjQuNC4xMC9TMTUuNC40LjEwX0ExLjFfVDQuanMKICogQGRlc2NyaXB0aW9uIGxlbmd0aCA9IGVuZCA9IHN0YXJ0ID4gMAogKi8KCnZhciB4ID0gWzAsMSwyLDMsNF07CnZhciBhcnIgPSB4LnNsaWNlKDUsNSk7CgovL0NIRUNLIzEKYXJyLmdldENsYXNzID0gT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZzsKaWYgKGFyci5nZXRDbGFzcygpICE9PSAiW29iamVjdCAiICsgIkFycmF5IiArICJdIikgewogICRFUlJPUignIzE6IHZhciB4ID0gWzAsMSwyLDMsNF07IHZhciBhcnIgPSB4LnNsaWNlKDUsNSk7IGFyciBpcyBBcnJheSBvYmplY3QuIEFjdHVhbDogJyArIChhcnIuZ2V0Q2xhc3MoKSkpOwp9CgovL0NIRUNLIzIKaWYgKGFyci5sZW5ndGggIT09IDApIHsKICAkRVJST1IoJyMyOiB2YXIgeCA9IFswLDEsMiwzLDRdOyB2YXIgYXJyID0geC5zbGljZSg1LDUpOyBhcnIubGVuZ3RoID09PSAwLiBBY3R1YWw6ICcgKyAoYXJyLmxlbmd0aCkpOwp9ICAgICAgCgovL0NIRUNLIzMKaWYgKGFyclswXSAhPT0gdW5kZWZpbmVkKSB7CiAgJEVSUk9SKCcjMzogdmFyIHggPSBbMCwxLDIsMyw0XTsgdmFyIGFyciA9IHguc2xpY2UoNSw1KTsgYXJyWzBdID09PSB1bmRlZmluZWQuIEFjdHVhbDogJyArIChhcnJbMF0pKTsKfQoK","commentary":"If start is positive, use min(start, length).\nIf end is positive, use min(end, length)","description":"length = end = start > 0","path":"TestCases/ch15/15.4/15.4.4/15.4.4.10/S15.4.4.10_A1.1_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBzdGFydCBpcyBwb3NpdGl2ZSwgdXNlIG1pbihzdGFydCwgbGVuZ3RoKS4KICogSWYgZW5kIGlzIHBvc2l0aXZlLCB1c2UgbWluKGVuZCwgbGVuZ3RoKQogKgogKiBAcGF0aCBjaDE1LzE1LjQvMTUuNC40LzE1LjQuNC4xMC9TMTUuNC40LjEwX0ExLjFfVDUuanMKICogQGRlc2NyaXB0aW9uIGxlbmd0aCA9IGVuZCA+IHN0YXJ0ID4gMAogKi8KCnZhciB4ID0gWzAsMSwyLDMsNF07CnZhciBhcnIgPSB4LnNsaWNlKDMsNSk7CgovL0NIRUNLIzEKYXJyLmdldENsYXNzID0gT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZzsKaWYgKGFyci5nZXRDbGFzcygpICE9PSAiW29iamVjdCAiICsgIkFycmF5IiArICJdIikgewogICRFUlJPUignIzE6IHZhciB4ID0gWzAsMSwyLDMsNF07IHZhciBhcnIgPSB4LnNsaWNlKDMsNSk7IGFyciBpcyBBcnJheSBvYmplY3QuIEFjdHVhbDogJyArIChhcnIuZ2V0Q2xhc3MoKSkpOwp9CgovL0NIRUNLIzIKaWYgKGFyci5sZW5ndGggIT09IDIpIHsKICAkRVJST1IoJyMyOiB2YXIgeCA9IFswLDEsMiwzLDRdOyB2YXIgYXJyID0geC5zbGljZSgzLDUpOyBhcnIubGVuZ3RoID09PSAyLiBBY3R1YWw6ICcgKyAoYXJyLmxlbmd0aCkpOwp9ICAgICAgCgovL0NIRUNLIzMKaWYgKGFyclswXSAhPT0gMykgewogICRFUlJPUignIzM6IHZhciB4ID0gWzAsMSwyLDMsNF07IHZhciBhcnIgPSB4LnNsaWNlKDMsNSk7IGFyclswXSA9PT0gMy4gQWN0dWFsOiAnICsgKGFyclswXSkpOwp9CgovL0NIRUNLIzQKaWYgKGFyclsxXSAhPT0gNCkgewogICRFUlJPUignIzQ6IHZhciB4ID0gWzAsMSwyLDMsNF07IHZhciBhcnIgPSB4LnNsaWNlKDMsNSk7IGFyclsxXSA9PT0gNC4gQWN0dWFsOiAnICsgKGFyclsxXSkpOwp9ICAgICAgCgovL0NIRUNLIzUKaWYgKGFyclszXSAhPT0gdW5kZWZpbmVkKSB7CiAgJEVSUk9SKCcjNTogdmFyIHggPSBbMCwxLDIsMyw0XTsgdmFyIGFyciA9IHguc2xpY2UoMyw1KTsgYXJyWzNdID09PSB1bmRlZmluZWQuIEFjdHVhbDogJyArIChhcnJbM10pKTsKfSAgIAoK","commentary":"If start is positive, use min(start, length).\nIf end is positive, use min(end, length)","description":"length = end > start > 0","path":"TestCases/ch15/15.4/15.4.4/15.4.4.10/S15.4.4.10_A1.1_T5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBzdGFydCBpcyBwb3NpdGl2ZSwgdXNlIG1pbihzdGFydCwgbGVuZ3RoKS4KICogSWYgZW5kIGlzIHBvc2l0aXZlLCB1c2UgbWluKGVuZCwgbGVuZ3RoKQogKgogKiBAcGF0aCBjaDE1LzE1LjQvMTUuNC40LzE1LjQuNC4xMC9TMTUuNC40LjEwX0ExLjFfVDYuanMKICogQGRlc2NyaXB0aW9uIGxlbmd0aCA+IGVuZCA+IHN0YXJ0ID4gMDsKICovCgp2YXIgeCA9IFswLDEsMiwzLDRdOwp2YXIgYXJyID0geC5zbGljZSgyLDQpOwoKLy9DSEVDSyMxCmFyci5nZXRDbGFzcyA9IE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmc7CmlmIChhcnIuZ2V0Q2xhc3MoKSAhPT0gIltvYmplY3QgIiArICJBcnJheSIgKyAiXSIpIHsKICAkRVJST1IoJyMxOiB2YXIgeCA9IFswLDEsMiwzLDRdOyB2YXIgYXJyID0geC5zbGljZSgyLDQpOyBhcnIgaXMgQXJyYXkgb2JqZWN0LiBBY3R1YWw6ICcgKyAoYXJyLmdldENsYXNzKCkpKTsKfQoKLy9DSEVDSyMyCmlmIChhcnIubGVuZ3RoICE9PSAyKSB7CiAgJEVSUk9SKCcjMjogdmFyIHggPSBbMCwxLDIsMyw0XTsgdmFyIGFyciA9IHguc2xpY2UoMiw0KTsgYXJyLmxlbmd0aCA9PT0gMi4gQWN0dWFsOiAnICsgKGFyci5sZW5ndGgpKTsKfSAgICAgIAoKLy9DSEVDSyMzCmlmIChhcnJbMF0gIT09IDIpIHsKICAkRVJST1IoJyMzOiB2YXIgeCA9IFswLDEsMiwzLDRdOyB2YXIgYXJyID0geC5zbGljZSgyLDQpOyBhcnJbMF0gPT09IDIuIEFjdHVhbDogJyArIChhcnJbMF0pKTsKfQoKLy9DSEVDSyM0CmlmIChhcnJbMV0gIT09IDMpIHsKICAkRVJST1IoJyM0OiB2YXIgeCA9IFswLDEsMiwzLDRdOyB2YXIgYXJyID0geC5zbGljZSgyLDQpOyBhcnJbMV0gPT09IDMuIEFjdHVhbDogJyArIChhcnJbMV0pKTsKfSAgICAgIAoKLy9DSEVDSyM1CmlmIChhcnJbM10gIT09IHVuZGVmaW5lZCkgewogICRFUlJPUignIzU6IHZhciB4ID0gWzAsMSwyLDMsNF07IHZhciBhcnIgPSB4LnNsaWNlKDIsNCk7IGFyclszXSA9PT0gdW5kZWZpbmVkLiBBY3R1YWw6ICcgKyAoYXJyWzNdKSk7Cn0gICAKCg==","commentary":"If start is positive, use min(start, length).\nIf end is positive, use min(end, length)","description":"length > end > start > 0","path":"TestCases/ch15/15.4/15.4.4/15.4.4.10/S15.4.4.10_A1.1_T6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBzdGFydCBpcyBwb3NpdGl2ZSwgdXNlIG1pbihzdGFydCwgbGVuZ3RoKS4KICogSWYgZW5kIGlzIHBvc2l0aXZlLCB1c2UgbWluKGVuZCwgbGVuZ3RoKQogKgogKiBAcGF0aCBjaDE1LzE1LjQvMTUuNC40LzE1LjQuNC4xMC9TMTUuNC40LjEwX0ExLjFfVDcuanMKICogQGRlc2NyaXB0aW9uIGVuZCA+IGxlbmd0aCA+IHN0YXJ0ID4gMAogKi8KCnZhciB4ID0gWzAsMSwyLDMsNF07CnZhciBhcnIgPSB4LnNsaWNlKDMsNik7CgovL0NIRUNLIzEKYXJyLmdldENsYXNzID0gT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZzsKaWYgKGFyci5nZXRDbGFzcygpICE9PSAiW29iamVjdCAiICsgIkFycmF5IiArICJdIikgewogICRFUlJPUignIzE6IHZhciB4ID0gWzAsMSwyLDMsNF07IHZhciBhcnIgPSB4LnNsaWNlKDMsNik7IGFyciBpcyBBcnJheSBvYmplY3QuIEFjdHVhbDogJyArIChhcnIuZ2V0Q2xhc3MoKSkpOwp9CgovL0NIRUNLIzIKaWYgKGFyci5sZW5ndGggIT09IDIpIHsKICAkRVJST1IoJyMyOiB2YXIgeCA9IFswLDEsMiwzLDRdOyB2YXIgYXJyID0geC5zbGljZSgzLDYpOyBhcnIubGVuZ3RoID09PSAyLiBBY3R1YWw6ICcgKyAoYXJyLmxlbmd0aCkpOwp9ICAgICAgCgovL0NIRUNLIzMKaWYgKGFyclswXSAhPT0gMykgewogICRFUlJPUignIzM6IHZhciB4ID0gWzAsMSwyLDMsNF07IHZhciBhcnIgPSB4LnNsaWNlKDMsNik7IGFyclswXSA9PT0gMy4gQWN0dWFsOiAnICsgKGFyclswXSkpOwp9CgovL0NIRUNLIzQKaWYgKGFyclsxXSAhPT0gNCkgewogICRFUlJPUignIzQ6IHZhciB4ID0gWzAsMSwyLDMsNF07IHZhciBhcnIgPSB4LnNsaWNlKDMsNik7IGFyclsxXSA9PT0gNC4gQWN0dWFsOiAnICsgKGFyclsxXSkpOwp9ICAgICAgCgovL0NIRUNLIzUKaWYgKGFyclszXSAhPT0gdW5kZWZpbmVkKSB7CiAgJEVSUk9SKCcjNTogdmFyIHggPSBbMCwxLDIsMyw0XTsgdmFyIGFyciA9IHguc2xpY2UoMyw2KTsgYXJyWzNdID09PSB1bmRlZmluZWQuIEFjdHVhbDogJyArIChhcnJbM10pKTsKfSAgIAoK","commentary":"If start is positive, use min(start, length).\nIf end is positive, use min(end, length)","description":"end > length > start > 0","path":"TestCases/ch15/15.4/15.4.4/15.4.4.10/S15.4.4.10_A1.1_T7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBzdGFydCBpcyBuZWdhdGl2ZSwgdXNlIG1heChzdGFydCArIGxlbmd0aCwgMCkuCiAqIElmIGVuZCBpcyBwb3NpdGl2ZSwgdXNlIG1pbihlbmQsIGxlbmd0aCkKICoKICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTAvUzE1LjQuNC4xMF9BMS4yX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBsZW5ndGggPiBlbmQgPSBhYnMoc3RhcnQpLCBzdGFydCA8IDAKICovCgp2YXIgeCA9IFswLDEsMiwzLDRdOwp2YXIgYXJyID0geC5zbGljZSgtMywzKTsKCi8vQ0hFQ0sjMQphcnIuZ2V0Q2xhc3MgPSBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nOwppZiAoYXJyLmdldENsYXNzKCkgIT09ICJbb2JqZWN0ICIgKyAiQXJyYXkiICsgIl0iKSB7CiAgJEVSUk9SKCcjMTogdmFyIHggPSBbMCwxLDIsMyw0XTsgdmFyIGFyciA9IHguc2xpY2UoLTMsMyk7IGFyciBpcyBBcnJheSBvYmplY3QuIEFjdHVhbDogJyArIChhcnIuZ2V0Q2xhc3MoKSkpOwp9CgovL0NIRUNLIzIKaWYgKGFyci5sZW5ndGggIT09IDEpIHsKICAkRVJST1IoJyMyOiB2YXIgeCA9IFswLDEsMiwzLDRdOyB2YXIgYXJyID0geC5zbGljZSgtMywzKTsgYXJyLmxlbmd0aCA9PT0gMS4gQWN0dWFsOiAnICsgKGFyci5sZW5ndGgpKTsKfSAgICAgIAoKLy9DSEVDSyMzCmlmIChhcnJbMF0gIT09IDIpIHsKICAkRVJST1IoJyMzOiB2YXIgeCA9IFswLDEsMiwzLDRdOyB2YXIgYXJyID0geC5zbGljZSgtMywzKTsgYXJyWzBdID09PSAyLiBBY3R1YWw6ICcgKyAoYXJyWzBdKSk7Cn0KCi8vQ0hFQ0sjNAppZiAoYXJyWzFdICE9PSB1bmRlZmluZWQpIHsKICAkRVJST1IoJyM0OiB2YXIgeCA9IFswLDEsMiwzLDRdOyB2YXIgYXJyID0geC5zbGljZSgtMywzKTsgYXJyWzFdID09PSB1bmRlZmluZWQuIEFjdHVhbDogJyArIChhcnJbMV0pKTsKfSAgIAoK","commentary":"If start is negative, use max(start + length, 0).\nIf end is positive, use min(end, length)","description":"length > end = abs(start), start < 0","path":"TestCases/ch15/15.4/15.4.4/15.4.4.10/S15.4.4.10_A1.2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBzdGFydCBpcyBuZWdhdGl2ZSwgdXNlIG1heChzdGFydCArIGxlbmd0aCwgMCkuCiAqIElmIGVuZCBpcyBwb3NpdGl2ZSwgdXNlIG1pbihlbmQsIGxlbmd0aCkKICoKICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTAvUzE1LjQuNC4xMF9BMS4yX1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBsZW5ndGggPSBlbmQgPiBhYnMoc3RhcnQpLCBzdGFydCA8IDAKICovCgp2YXIgeCA9IFswLDEsMiwzLDRdOwp2YXIgYXJyID0geC5zbGljZSgtMSw1KTsKCi8vQ0hFQ0sjMQphcnIuZ2V0Q2xhc3MgPSBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nOwppZiAoYXJyLmdldENsYXNzKCkgIT09ICJbb2JqZWN0ICIgKyAiQXJyYXkiICsgIl0iKSB7CiAgJEVSUk9SKCcjMTogdmFyIHggPSBbMCwxLDIsMyw0XTsgdmFyIGFyciA9IHguc2xpY2UoLTEsNSk7IGFyciBpcyBBcnJheSBvYmplY3QuIEFjdHVhbDogJyArIChhcnIuZ2V0Q2xhc3MoKSkpOwp9CgovL0NIRUNLIzIKaWYgKGFyci5sZW5ndGggIT09IDEpIHsKICAkRVJST1IoJyMyOiB2YXIgeCA9IFswLDEsMiwzLDRdOyB2YXIgYXJyID0geC5zbGljZSgtMSw1KTsgYXJyLmxlbmd0aCA9PT0gMS4gQWN0dWFsOiAnICsgKGFyci5sZW5ndGgpKTsKfSAgICAgIAoKLy9DSEVDSyMzCmlmIChhcnJbMF0gIT09IDQpIHsKICAkRVJST1IoJyMzOiB2YXIgeCA9IFswLDEsMiwzLDRdOyB2YXIgYXJyID0geC5zbGljZSgtMSw1KTsgYXJyWzBdID09PSA0LiBBY3R1YWw6ICcgKyAoYXJyWzBdKSk7Cn0KCi8vQ0hFQ0sjNAppZiAoYXJyWzFdICE9PSB1bmRlZmluZWQpIHsKICAkRVJST1IoJyM0OiB2YXIgeCA9IFswLDEsMiwzLDRdOyB2YXIgYXJyID0geC5zbGljZSgtMSw1KTsgYXJyWzFdID09PSB1bmRlZmluZWQuIEFjdHVhbDogJyArIChhcnJbMV0pKTsKfSAgIAoK","commentary":"If start is negative, use max(start + length, 0).\nIf end is positive, use min(end, length)","description":"length = end > abs(start), start < 0","path":"TestCases/ch15/15.4/15.4.4/15.4.4.10/S15.4.4.10_A1.2_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBzdGFydCBpcyBuZWdhdGl2ZSwgdXNlIG1heChzdGFydCArIGxlbmd0aCwgMCkuCiAqIElmIGVuZCBpcyBwb3NpdGl2ZSwgdXNlIG1pbihlbmQsIGxlbmd0aCkKICoKICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTAvUzE1LjQuNC4xMF9BMS4yX1QzLmpzCiAqIEBkZXNjcmlwdGlvbiBhYnMoc3RhcnQpID0gbGVuZ3RoID4gZW5kID4gMCwgc3RhcnQgPCAwCiAqLwoKdmFyIHggPSBbMCwxLDIsMyw0XTsKdmFyIGFyciA9IHguc2xpY2UoLTUsMSk7CgovL0NIRUNLIzEKYXJyLmdldENsYXNzID0gT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZzsKaWYgKGFyci5nZXRDbGFzcygpICE9PSAiW29iamVjdCAiICsgIkFycmF5IiArICJdIikgewogICRFUlJPUignIzE6IHZhciB4ID0gWzAsMSwyLDMsNF07IHZhciBhcnIgPSB4LnNsaWNlKC01LDEpOyBhcnIgaXMgQXJyYXkgb2JqZWN0LiBBY3R1YWw6ICcgKyAoYXJyLmdldENsYXNzKCkpKTsKfQoKLy9DSEVDSyMyCmlmIChhcnIubGVuZ3RoICE9PSAxKSB7CiAgJEVSUk9SKCcjMjogdmFyIHggPSBbMCwxLDIsMyw0XTsgdmFyIGFyciA9IHguc2xpY2UoLTUsMSk7IGFyci5sZW5ndGggPT09IDEuIEFjdHVhbDogJyArIChhcnIubGVuZ3RoKSk7Cn0gICAgICAKCi8vQ0hFQ0sjMwppZiAoYXJyWzBdICE9PSAwKSB7CiAgJEVSUk9SKCcjMzogdmFyIHggPSBbMCwxLDIsMyw0XTsgdmFyIGFyciA9IHguc2xpY2UoLTUsMSk7IGFyclswXSA9PT0gMC4gQWN0dWFsOiAnICsgKGFyclswXSkpOwp9CgovL0NIRUNLIzQKaWYgKGFyclsxXSAhPT0gdW5kZWZpbmVkKSB7CiAgJEVSUk9SKCcjNDogdmFyIHggPSBbMCwxLDIsMyw0XTsgdmFyIGFyciA9IHguc2xpY2UoLTUsMSk7IGFyclsxXSA9PT0gdW5kZWZpbmVkLiBBY3R1YWw6ICcgKyAoYXJyWzFdKSk7Cn0gICAKCg==","commentary":"If start is negative, use max(start + length, 0).\nIf end is positive, use min(end, length)","description":"abs(start) = length > end > 0, start < 0","path":"TestCases/ch15/15.4/15.4.4/15.4.4.10/S15.4.4.10_A1.2_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBzdGFydCBpcyBuZWdhdGl2ZSwgdXNlIG1heChzdGFydCArIGxlbmd0aCwgMCkuCiAqIElmIGVuZCBpcyBwb3NpdGl2ZSwgdXNlIG1pbihlbmQsIGxlbmd0aCkKICoKICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTAvUzE1LjQuNC4xMF9BMS4yX1Q0LmpzCiAqIEBkZXNjcmlwdGlvbiBhYnMoc3RhcnQpID4gbGVuZ3RoID0gZW5kID4gMCwgc3RhcnQgPCAwCiAqLwoKdmFyIHggPSBbMCwxLDIsMyw0XTsKdmFyIGFyciA9IHguc2xpY2UoLTksNSk7CgovL0NIRUNLIzEKYXJyLmdldENsYXNzID0gT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZzsKaWYgKGFyci5nZXRDbGFzcygpICE9PSAiW29iamVjdCAiICsgIkFycmF5IiArICJdIikgewogICRFUlJPUignIzE6IHZhciB4ID0gWzAsMSwyLDMsNF07IHZhciBhcnIgPSB4LnNsaWNlKC05LDUpOyBhcnIgaXMgQXJyYXkgb2JqZWN0LiBBY3R1YWw6ICcgKyAoYXJyLmdldENsYXNzKCkpKTsKfQoKLy9DSEVDSyMyCmlmIChhcnIubGVuZ3RoICE9PSA1KSB7CiAgJEVSUk9SKCcjMjogdmFyIHggPSBbMCwxLDIsMyw0XTsgdmFyIGFyciA9IHguc2xpY2UoLTksNSk7IGFyci5sZW5ndGggPT09IDUuIEFjdHVhbDogJyArIChhcnIubGVuZ3RoKSk7Cn0gICAgICAKCi8vQ0hFQ0sjMwppZiAoYXJyWzBdICE9PSAwKSB7CiAgJEVSUk9SKCcjMzogdmFyIHggPSBbMCwxLDIsMyw0XTsgdmFyIGFyciA9IHguc2xpY2UoLTksNSk7IGFyclswXSA9PT0gMC4gQWN0dWFsOiAnICsgKGFyclswXSkpOwp9CgovL0NIRUNLIzQKaWYgKGFyclsxXSAhPT0gMSkgewogICRFUlJPUignIzQ6IHZhciB4ID0gWzAsMSwyLDMsNF07IHZhciBhcnIgPSB4LnNsaWNlKC05LDUpOyBhcnJbMV0gPT09IDEuIEFjdHVhbDogJyArIChhcnJbMV0pKTsKfQoKLy9DSEVDSyM1CmlmIChhcnJbMl0gIT09IDIpIHsKICAkRVJST1IoJyM1OiB2YXIgeCA9IFswLDEsMiwzLDRdOyB2YXIgYXJyID0geC5zbGljZSgtOSw1KTsgYXJyWzJdID09PSAyLiBBY3R1YWw6ICcgKyAoYXJyWzJdKSk7Cn0KCi8vQ0hFQ0sjNgppZiAoYXJyWzNdICE9PSAzKSB7CiAgJEVSUk9SKCcjNjogdmFyIHggPSBbMCwxLDIsMyw0XTsgdmFyIGFyciA9IHguc2xpY2UoLTksNSk7IGFyclszXSA9PT0gMy4gQWN0dWFsOiAnICsgKGFyclszXSkpOwp9CgovL0NIRUNLIzcKaWYgKGFycls0XSAhPT0gNCkgewogICRFUlJPUignIzc6IHZhciB4ID0gWzAsMSwyLDMsNF07IHZhciBhcnIgPSB4LnNsaWNlKC05LDUpOyBhcnJbNF0gPT09IDQuIEFjdHVhbDogJyArIChhcnJbNF0pKTsKfQoKLy9DSEVDSyM4CmlmIChhcnJbNV0gIT09IHVuZGVmaW5lZCkgewogICRFUlJPUignIzg6IHZhciB4ID0gWzAsMSwyLDMsNF07IHZhciBhcnIgPSB4LnNsaWNlKC05LDUpOyBhcnJbNV0gPT09IHVuZGVmaW5lZC4gQWN0dWFsOiAnICsgKGFycls1XSkpOwp9ICAgCgo=","commentary":"If start is negative, use max(start + length, 0).\nIf end is positive, use min(end, length)","description":"abs(start) > length = end > 0, start < 0","path":"TestCases/ch15/15.4/15.4.4/15.4.4.10/S15.4.4.10_A1.2_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBzdGFydCBpcyBwb3NpdGl2ZSwgdXNlIG1pbihzdGFydCwgbGVuZ3RoKS4KICogSWYgZW5kIGlzIG5lZ2F0aXZlLCB1c2UgbWF4KGVuZCArIGxlbmd0aCwgMCkKICoKICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTAvUzE1LjQuNC4xMF9BMS4zX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBsZW5ndGggPiBhYnMoZW5kKSA+IHN0YXJ0ID0gMCwgZW5kIDwgMAogKi8KCnZhciB4ID0gWzAsMSwyLDMsNF07CnZhciBhcnIgPSB4LnNsaWNlKDAsLTIpOwoKLy9DSEVDSyMxCmFyci5nZXRDbGFzcyA9IE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmc7CmlmIChhcnIuZ2V0Q2xhc3MoKSAhPT0gIltvYmplY3QgIiArICJBcnJheSIgKyAiXSIpIHsKICAkRVJST1IoJyMxOiB2YXIgeCA9IFswLDEsMiwzLDRdOyB2YXIgYXJyID0geC5zbGljZSgwLC0yKTsgYXJyIGlzIEFycmF5IG9iamVjdC4gQWN0dWFsOiAnICsgKGFyci5nZXRDbGFzcygpKSk7Cn0KCi8vQ0hFQ0sjMgppZiAoYXJyLmxlbmd0aCAhPT0gMykgewogICRFUlJPUignIzI6IHZhciB4ID0gWzAsMSwyLDMsNF07IHZhciBhcnIgPSB4LnNsaWNlKDAsLTIpOyBhcnIubGVuZ3RoID09PSAzLiBBY3R1YWw6ICcgKyAoYXJyLmxlbmd0aCkpOwp9ICAgICAgCgovL0NIRUNLIzMKaWYgKGFyclswXSAhPT0gMCkgewogICRFUlJPUignIzM6IHZhciB4ID0gWzAsMSwyLDMsNF07IHZhciBhcnIgPSB4LnNsaWNlKDAsLTIpOyBhcnJbMF0gPT09IDAuIEFjdHVhbDogJyArIChhcnJbMF0pKTsKfQoKLy9DSEVDSyM0CmlmIChhcnJbMV0gIT09IDEpIHsKICAkRVJST1IoJyM0OiB2YXIgeCA9IFswLDEsMiwzLDRdOyB2YXIgYXJyID0geC5zbGljZSgwLC0yKTsgYXJyWzFdID09PSAxLiBBY3R1YWw6ICcgKyAoYXJyWzFdKSk7Cn0gICAgICAKCi8vQ0hFQ0sjNQppZiAoYXJyWzJdICE9PSAyKSB7CiAgJEVSUk9SKCcjNTogdmFyIHggPSBbMCwxLDIsMyw0XTsgdmFyIGFyciA9IHguc2xpY2UoMCwtMik7IGFyclsyXSA9PT0gMi4gQWN0dWFsOiAnICsgKGFyclsyXSkpOwp9ICAgCgovL0NIRUNLIzYKaWYgKGFyclszXSAhPT0gdW5kZWZpbmVkKSB7CiAgJEVSUk9SKCcjNjogdmFyIHggPSBbMCwxLDIsMyw0XTsgdmFyIGFyciA9IHguc2xpY2UoMCwtMik7IGFyclszXSA9PT0gdW5kZWZpbmVkLiBBY3R1YWw6ICcgKyAoYXJyWzNdKSk7Cn0gICAKCg==","commentary":"If start is positive, use min(start, length).\nIf end is negative, use max(end + length, 0)","description":"length > abs(end) > start = 0, end < 0","path":"TestCases/ch15/15.4/15.4.4/15.4.4.10/S15.4.4.10_A1.3_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBzdGFydCBpcyBwb3NpdGl2ZSwgdXNlIG1pbihzdGFydCwgbGVuZ3RoKS4KICogSWYgZW5kIGlzIG5lZ2F0aXZlLCB1c2UgbWF4KGVuZCArIGxlbmd0aCwgMCkKICoKICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTAvUzE1LjQuNC4xMF9BMS4zX1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBsZW5ndGggPiBhYnMoZW5kKSA+IHN0YXJ0ID4gMCwgZW5kIDwgMAogKi8KCnZhciB4ID0gWzAsMSwyLDMsNF07CnZhciBhcnIgPSB4LnNsaWNlKDEsLTQpOwoKLy9DSEVDSyMxCmFyci5nZXRDbGFzcyA9IE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmc7CmlmIChhcnIuZ2V0Q2xhc3MoKSAhPT0gIltvYmplY3QgIiArICJBcnJheSIgKyAiXSIpIHsKICAkRVJST1IoJyMxOiB2YXIgeCA9IFswLDEsMiwzLDRdOyB2YXIgYXJyID0geC5zbGljZSgxLC00KTsgYXJyIGlzIEFycmF5IG9iamVjdC4gQWN0dWFsOiAnICsgKGFyci5nZXRDbGFzcygpKSk7Cn0KCi8vQ0hFQ0sjMgppZiAoYXJyLmxlbmd0aCAhPT0gMCkgewogICRFUlJPUignIzI6IHZhciB4ID0gWzAsMSwyLDMsNF07IHZhciBhcnIgPSB4LnNsaWNlKDEsLTQpOyBhcnIubGVuZ3RoID09PSAwLiBBY3R1YWw6ICcgKyAoYXJyLmxlbmd0aCkpOwp9ICAgICAgCgovL0NIRUNLIzMKaWYgKGFyclswXSAhPT0gdW5kZWZpbmVkKSB7CiAgJEVSUk9SKCcjMzogdmFyIHggPSBbMCwxLDIsMyw0XTsgdmFyIGFyciA9IHguc2xpY2UoMSwtNCk7IGFyclswXSA9PT0gdW5kZWZpbmVkLiBBY3R1YWw6ICcgKyAoYXJyWzBdKSk7Cn0KCg==","commentary":"If start is positive, use min(start, length).\nIf end is negative, use max(end + length, 0)","description":"length > abs(end) > start > 0, end < 0","path":"TestCases/ch15/15.4/15.4.4/15.4.4.10/S15.4.4.10_A1.3_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBzdGFydCBpcyBwb3NpdGl2ZSwgdXNlIG1pbihzdGFydCwgbGVuZ3RoKS4KICogSWYgZW5kIGlzIG5lZ2F0aXZlLCB1c2UgbWF4KGVuZCArIGxlbmd0aCwgMCkKICoKICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTAvUzE1LjQuNC4xMF9BMS4zX1QzLmpzCiAqIEBkZXNjcmlwdGlvbiBsZW5ndGggPSBhYnMoZW5kKSA+IHN0YXJ0ID0gMCwgZW5kIDwgMAogKi8KCnZhciB4ID0gWzAsMSwyLDMsNF07CnZhciBhcnIgPSB4LnNsaWNlKDAsLTUpOwoKLy9DSEVDSyMxCmFyci5nZXRDbGFzcyA9IE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmc7CmlmIChhcnIuZ2V0Q2xhc3MoKSAhPT0gIltvYmplY3QgIiArICJBcnJheSIgKyAiXSIpIHsKICAkRVJST1IoJyMxOiB2YXIgeCA9IFswLDEsMiwzLDRdOyB2YXIgYXJyID0geC5zbGljZSgwLC01KTsgYXJyIGlzIEFycmF5IG9iamVjdC4gQWN0dWFsOiAnICsgKGFyci5nZXRDbGFzcygpKSk7Cn0KCi8vQ0hFQ0sjMgppZiAoYXJyLmxlbmd0aCAhPT0gMCkgewogICRFUlJPUignIzI6IHZhciB4ID0gWzAsMSwyLDMsNF07IHZhciBhcnIgPSB4LnNsaWNlKDAsLTUpOyBhcnIubGVuZ3RoID09PSAwLiBBY3R1YWw6ICcgKyAoYXJyLmxlbmd0aCkpOwp9ICAgICAgCgovL0NIRUNLIzMKaWYgKGFyclswXSAhPT0gdW5kZWZpbmVkKSB7CiAgJEVSUk9SKCcjMzogdmFyIHggPSBbMCwxLDIsMyw0XTsgdmFyIGFyciA9IHguc2xpY2UoMCwtNSk7IGFyclswXSA9PT0gdW5kZWZpbmVkLiBBY3R1YWw6ICcgKyAoYXJyWzBdKSk7Cn0KCg==","commentary":"If start is positive, use min(start, length).\nIf end is negative, use max(end + length, 0)","description":"length = abs(end) > start = 0, end < 0","path":"TestCases/ch15/15.4/15.4.4/15.4.4.10/S15.4.4.10_A1.3_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBzdGFydCBpcyBwb3NpdGl2ZSwgdXNlIG1pbihzdGFydCwgbGVuZ3RoKS4KICogSWYgZW5kIGlzIG5lZ2F0aXZlLCB1c2UgbWF4KGVuZCArIGxlbmd0aCwgMCkKICoKICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTAvUzE1LjQuNC4xMF9BMS4zX1Q0LmpzCiAqIEBkZXNjcmlwdGlvbiBhYnMoZW5kKSA+IGxlbmd0aCA+IHN0YXJ0ID4gMCwgZW5kIDwgMAogKi8KCnZhciB4ID0gWzAsMSwyLDMsNF07CnZhciBhcnIgPSB4LnNsaWNlKDQsLTkpOwoKLy9DSEVDSyMxCmFyci5nZXRDbGFzcyA9IE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmc7CmlmIChhcnIuZ2V0Q2xhc3MoKSAhPT0gIltvYmplY3QgIiArICJBcnJheSIgKyAiXSIpIHsKICAkRVJST1IoJyMxOiB2YXIgeCA9IFswLDEsMiwzLDRdOyB2YXIgYXJyID0geC5zbGljZSg0LC05KTsgYXJyIGlzIEFycmF5IG9iamVjdC4gQWN0dWFsOiAnICsgKGFyci5nZXRDbGFzcygpKSk7Cn0KCi8vQ0hFQ0sjMgppZiAoYXJyLmxlbmd0aCAhPT0gMCkgewogICRFUlJPUignIzI6IHZhciB4ID0gWzAsMSwyLDMsNF07IHZhciBhcnIgPSB4LnNsaWNlKDQsLTkpOyBhcnIubGVuZ3RoID09PSAwLiBBY3R1YWw6ICcgKyAoYXJyLmxlbmd0aCkpOwp9ICAgICAgCgovL0NIRUNLIzMKaWYgKGFyclswXSAhPT0gdW5kZWZpbmVkKSB7CiAgJEVSUk9SKCcjMzogdmFyIHggPSBbMCwxLDIsMyw0XTsgdmFyIGFyciA9IHguc2xpY2UoNCwtOSk7IGFyclswXSA9PT0gdW5kZWZpbmVkLiBBY3R1YWw6ICcgKyAoYXJyWzBdKSk7Cn0KCg==","commentary":"If start is positive, use min(start, length).\nIf end is negative, use max(end + length, 0)","description":"abs(end) > length > start > 0, end < 0","path":"TestCases/ch15/15.4/15.4.4/15.4.4.10/S15.4.4.10_A1.3_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBzdGFydCBpcyBuZWdhdGl2ZSwgdXNlIG1heChzdGFydCArIGxlbmd0aCwgMCkuCiAqIElmIGVuZCBpcyBuZWdhdGl2ZSwgdXNlIG1heChlbmQgKyBsZW5ndGgsIDApCiAqCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjEwL1MxNS40LjQuMTBfQTEuNF9UMS5qcwogKiBAZGVzY3JpcHRpb24gLWxlbmd0aCA9IHN0YXJ0IDwgZW5kIDwgMAogKi8KCnZhciB4ID0gWzAsMSwyLDMsNF07CnZhciBhcnIgPSB4LnNsaWNlKC01LC0yKTsKCi8vQ0hFQ0sjMQphcnIuZ2V0Q2xhc3MgPSBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nOwppZiAoYXJyLmdldENsYXNzKCkgIT09ICJbb2JqZWN0ICIgKyAiQXJyYXkiICsgIl0iKSB7CiAgJEVSUk9SKCcjMTogdmFyIHggPSBbMCwxLDIsMyw0XTsgdmFyIGFyciA9IHguc2xpY2UoLTUsLTIpOyBhcnIgaXMgQXJyYXkgb2JqZWN0LiBBY3R1YWw6ICcgKyAoYXJyLmdldENsYXNzKCkpKTsKfQoKLy9DSEVDSyMyCmlmIChhcnIubGVuZ3RoICE9PSAzKSB7CiAgJEVSUk9SKCcjMjogdmFyIHggPSBbMCwxLDIsMyw0XTsgdmFyIGFyciA9IHguc2xpY2UoLTUsLTIpOyBhcnIubGVuZ3RoID09PSAzLiBBY3R1YWw6ICcgKyAoYXJyLmxlbmd0aCkpOwp9ICAgICAgCgovL0NIRUNLIzMKaWYgKGFyclswXSAhPT0gMCkgewogICRFUlJPUignIzM6IHZhciB4ID0gWzAsMSwyLDMsNF07IHZhciBhcnIgPSB4LnNsaWNlKC01LC0yKTsgYXJyWzBdID09PSAwLiBBY3R1YWw6ICcgKyAoYXJyWzBdKSk7Cn0KCi8vQ0hFQ0sjNAppZiAoYXJyWzFdICE9PSAxKSB7CiAgJEVSUk9SKCcjNDogdmFyIHggPSBbMCwxLDIsMyw0XTsgdmFyIGFyciA9IHguc2xpY2UoLTUsLTIpOyBhcnJbMV0gPT09IDEuIEFjdHVhbDogJyArIChhcnJbMV0pKTsKfSAgICAgIAoKLy9DSEVDSyM1CmlmIChhcnJbMl0gIT09IDIpIHsKICAkRVJST1IoJyM1OiB2YXIgeCA9IFswLDEsMiwzLDRdOyB2YXIgYXJyID0geC5zbGljZSgtNSwtMik7IGFyclsyXSA9PT0gMi4gQWN0dWFsOiAnICsgKGFyclsyXSkpOwp9ICAgCgovL0NIRUNLIzYKaWYgKGFyclszXSAhPT0gdW5kZWZpbmVkKSB7CiAgJEVSUk9SKCcjNjogdmFyIHggPSBbMCwxLDIsMyw0XTsgdmFyIGFyciA9IHguc2xpY2UoLTUsLTIpOyBhcnJbM10gPT09IHVuZGVmaW5lZC4gQWN0dWFsOiAnICsgKGFyclszXSkpOwp9ICAgCgo=","commentary":"If start is negative, use max(start + length, 0).\nIf end is negative, use max(end + length, 0)","description":"-length = start < end < 0","path":"TestCases/ch15/15.4/15.4.4/15.4.4.10/S15.4.4.10_A1.4_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBzdGFydCBpcyBuZWdhdGl2ZSwgdXNlIG1heChzdGFydCArIGxlbmd0aCwgMCkuCiAqIElmIGVuZCBpcyBuZWdhdGl2ZSwgdXNlIG1heChlbmQgKyBsZW5ndGgsIDApCiAqCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjEwL1MxNS40LjQuMTBfQTEuNF9UMi5qcwogKiBAZGVzY3JpcHRpb24gLWxlbmd0aCA8IHN0YXJ0IDwgZW5kIDwgMAogKi8KCnZhciB4ID0gWzAsMSwyLDMsNF07CnZhciBhcnIgPSB4LnNsaWNlKC0zLC0xKTsKCi8vQ0hFQ0sjMQphcnIuZ2V0Q2xhc3MgPSBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nOwppZiAoYXJyLmdldENsYXNzKCkgIT09ICJbb2JqZWN0ICIgKyAiQXJyYXkiICsgIl0iKSB7CiAgJEVSUk9SKCcjMTogdmFyIHggPSBbMCwxLDIsMyw0XTsgdmFyIGFyciA9IHguc2xpY2UoLTMsLTEpOyBhcnIgaXMgQXJyYXkgb2JqZWN0LiBBY3R1YWw6ICcgKyAoYXJyLmdldENsYXNzKCkpKTsKfQoKLy9DSEVDSyMyCmlmIChhcnIubGVuZ3RoICE9PSAyKSB7CiAgJEVSUk9SKCcjMjogdmFyIHggPSBbMCwxLDIsMyw0XTsgdmFyIGFyciA9IHguc2xpY2UoLTMsLTEpOyBhcnIubGVuZ3RoID09PSAyLiBBY3R1YWw6ICcgKyAoYXJyLmxlbmd0aCkpOwp9ICAgICAgCgovL0NIRUNLIzMKaWYgKGFyclswXSAhPT0gMikgewogICRFUlJPUignIzM6IHZhciB4ID0gWzAsMSwyLDMsNF07IHZhciBhcnIgPSB4LnNsaWNlKC0zLC0xKTsgYXJyWzBdID09PSAyLiBBY3R1YWw6ICcgKyAoYXJyWzBdKSk7Cn0KCi8vQ0hFQ0sjNAppZiAoYXJyWzFdICE9PSAzKSB7CiAgJEVSUk9SKCcjNDogdmFyIHggPSBbMCwxLDIsMyw0XTsgdmFyIGFyciA9IHguc2xpY2UoLTMsLTEpOyBhcnJbMV0gPT09IDMuIEFjdHVhbDogJyArIChhcnJbMV0pKTsKfSAgICAgIAoKLy9DSEVDSyM1CmlmIChhcnJbMl0gIT09IHVuZGVmaW5lZCkgewogICRFUlJPUignIzU6IHZhciB4ID0gWzAsMSwyLDMsNF07IHZhciBhcnIgPSB4LnNsaWNlKC0zLC0xKTsgYXJyWzJdID09PSB1bmRlZmluZWQuIEFjdHVhbDogJyArIChhcnJbMl0pKTsKfSAgIAoK","commentary":"If start is negative, use max(start + length, 0).\nIf end is negative, use max(end + length, 0)","description":"-length < start < end < 0","path":"TestCases/ch15/15.4/15.4.4/15.4.4.10/S15.4.4.10_A1.4_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBzdGFydCBpcyBuZWdhdGl2ZSwgdXNlIG1heChzdGFydCArIGxlbmd0aCwgMCkuCiAqIElmIGVuZCBpcyBuZWdhdGl2ZSwgdXNlIG1heChlbmQgKyBsZW5ndGgsIDApCiAqCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjEwL1MxNS40LjQuMTBfQTEuNF9UMy5qcwogKiBAZGVzY3JpcHRpb24gc3RhcnQgPCAtbGVuZ3RoIDwgZW5kIDwgMAogKi8KCnZhciB4ID0gWzAsMSwyLDMsNF07CnZhciBhcnIgPSB4LnNsaWNlKC05LC0xKTsKCi8vQ0hFQ0sjMQphcnIuZ2V0Q2xhc3MgPSBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nOwppZiAoYXJyLmdldENsYXNzKCkgIT09ICJbb2JqZWN0ICIgKyAiQXJyYXkiICsgIl0iKSB7CiAgJEVSUk9SKCcjMTogdmFyIHggPSBbMCwxLDIsMyw0XTsgdmFyIGFyciA9IHguc2xpY2UoLTksLTEpOyBhcnIgaXMgQXJyYXkgb2JqZWN0LiBBY3R1YWw6ICcgKyAoYXJyLmdldENsYXNzKCkpKTsKfQoKLy9DSEVDSyMyCmlmIChhcnIubGVuZ3RoICE9PSA0KSB7CiAgJEVSUk9SKCcjMjogdmFyIHggPSBbMCwxLDIsMyw0XTsgdmFyIGFyciA9IHguc2xpY2UoLTksLTEpOyBhcnIubGVuZ3RoID09PSA0LiBBY3R1YWw6ICcgKyAoYXJyLmxlbmd0aCkpOwp9ICAgICAgCgovL0NIRUNLIzMKaWYgKGFyclswXSAhPT0gMCkgewogICRFUlJPUignIzM6IHZhciB4ID0gWzAsMSwyLDMsNF07IHZhciBhcnIgPSB4LnNsaWNlKC05LC0xKTsgYXJyWzBdID09PSAwLiBBY3R1YWw6ICcgKyAoYXJyWzBdKSk7Cn0KCi8vQ0hFQ0sjNAppZiAoYXJyWzFdICE9PSAxKSB7CiAgJEVSUk9SKCcjNDogdmFyIHggPSBbMCwxLDIsMyw0XTsgdmFyIGFyciA9IHguc2xpY2UoLTksLTEpOyBhcnJbMV0gPT09IDEuIEFjdHVhbDogJyArIChhcnJbMV0pKTsKfQoKLy9DSEVDSyM1CmlmIChhcnJbMl0gIT09IDIpIHsKICAkRVJST1IoJyM1OiB2YXIgeCA9IFswLDEsMiwzLDRdOyB2YXIgYXJyID0geC5zbGljZSgtOSwtMSk7IGFyclsyXSA9PT0gMi4gQWN0dWFsOiAnICsgKGFyclsyXSkpOwp9ICAgICAgCgovL0NIRUNLIzYKaWYgKGFyclszXSAhPT0gMykgewogICRFUlJPUignIzY6IHZhciB4ID0gWzAsMSwyLDMsNF07IHZhciBhcnIgPSB4LnNsaWNlKC05LC0xKTsgYXJyWzNdID09PSAzLiBBY3R1YWw6ICcgKyAoYXJyWzNdKSk7Cn0gICAgICAKICAgICAgCi8vQ0hFQ0sjNwppZiAoYXJyWzRdICE9PSB1bmRlZmluZWQpIHsKICAkRVJST1IoJyM3OiB2YXIgeCA9IFswLDEsMiwzLDRdOyB2YXIgYXJyID0geC5zbGljZSgtOSwtMSk7IGFycls0XSA9PT0gdW5kZWZpbmVkLiBBY3R1YWw6ICcgKyAoYXJyWzRdKSk7Cn0gICAKCg==","commentary":"If start is negative, use max(start + length, 0).\nIf end is negative, use max(end + length, 0)","description":"start < -length < end < 0","path":"TestCases/ch15/15.4/15.4.4/15.4.4.10/S15.4.4.10_A1.4_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBzdGFydCBpcyBuZWdhdGl2ZSwgdXNlIG1heChzdGFydCArIGxlbmd0aCwgMCkuCiAqIElmIGVuZCBpcyBuZWdhdGl2ZSwgdXNlIG1heChlbmQgKyBsZW5ndGgsIDApCiAqCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjEwL1MxNS40LjQuMTBfQTEuNF9UNC5qcwogKiBAZGVzY3JpcHRpb24gc3RhcnQgPSBlbmQgPCAtbGVuZ3RoCiAqLwoKdmFyIHggPSBbMCwxLDIsMyw0XTsKdmFyIGFyciA9IHguc2xpY2UoLTYsLTYpOwoKLy9DSEVDSyMxCmFyci5nZXRDbGFzcyA9IE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmc7CmlmIChhcnIuZ2V0Q2xhc3MoKSAhPT0gIltvYmplY3QgIiArICJBcnJheSIgKyAiXSIpIHsKICAkRVJST1IoJyMxOiB2YXIgeCA9IFswLDEsMiwzLDRdOyB2YXIgYXJyID0geC5zbGljZSgtNiwtNik7IGFyciBpcyBBcnJheSBvYmplY3QuIEFjdHVhbDogJyArIChhcnIuZ2V0Q2xhc3MoKSkpOwp9CgovL0NIRUNLIzIKaWYgKGFyci5sZW5ndGggIT09IDApIHsKICAkRVJST1IoJyMyOiB2YXIgeCA9IFswLDEsMiwzLDRdOyB2YXIgYXJyID0geC5zbGljZSgtNiwtNik7IGFyci5sZW5ndGggPT09IDAuIEFjdHVhbDogJyArIChhcnIubGVuZ3RoKSk7Cn0gICAgICAKCi8vQ0hFQ0sjMwppZiAoYXJyWzBdICE9PSB1bmRlZmluZWQpIHsKICAkRVJST1IoJyMzOiB2YXIgeCA9IFswLDEsMiwzLDRdOyB2YXIgYXJyID0geC5zbGljZSgtNiwtNik7IGFyclswXSA9PT0gdW5kZWZpbmVkLiBBY3R1YWw6ICcgKyAoYXJyWzBdKSk7Cn0KCg==","commentary":"If start is negative, use max(start + length, 0).\nIf end is negative, use max(end + length, 0)","description":"start = end < -length","path":"TestCases/ch15/15.4/15.4.4/15.4.4.10/S15.4.4.10_A1.4_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBlbmQgaXMgdW5kZWZpbmVkIHVzZSBsZW5ndGgKICoKICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTAvUzE1LjQuNC4xMF9BMS41X1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBlbmQgPT09IHVuZGVmaW5lZAogKi8KCnZhciB4ID0gWzAsMSwyLDMsNF07CnZhciBhcnIgPSB4LnNsaWNlKDMsIHVuZGVmaW5lZCk7CgovL0NIRUNLIzEKYXJyLmdldENsYXNzID0gT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZzsKaWYgKGFyci5nZXRDbGFzcygpICE9PSAiW29iamVjdCAiICsgIkFycmF5IiArICJdIikgewogICRFUlJPUignIzE6IHZhciB4ID0gWzAsMSwyLDMsNF07IHZhciBhcnIgPSB4LnNsaWNlKDMsIHVuZGVmaW5lZCk7IGFyciBpcyBBcnJheSBvYmplY3QuIEFjdHVhbDogJyArIChhcnIuZ2V0Q2xhc3MoKSkpOwp9CgovL0NIRUNLIzIKaWYgKGFyci5sZW5ndGggIT09IDIpIHsKICAkRVJST1IoJyMyOiB2YXIgeCA9IFswLDEsMiwzLDRdOyB2YXIgYXJyID0geC5zbGljZSgzLCB1bmRlZmluZWQpOyBhcnIubGVuZ3RoID09PSAyLiBBY3R1YWw6ICcgKyAoYXJyLmxlbmd0aCkpOwp9ICAgICAgCgovL0NIRUNLIzMKaWYgKGFyclswXSAhPT0gMykgewogICRFUlJPUignIzM6IHZhciB4ID0gWzAsMSwyLDMsNF07IHZhciBhcnIgPSB4LnNsaWNlKDMsIHVuZGVmaW5lZCk7IGFyclswXSA9PT0gMy4gQWN0dWFsOiAnICsgKGFyclswXSkpOwp9CgovL0NIRUNLIzQKaWYgKGFyclsxXSAhPT0gNCkgewogICRFUlJPUignIzQ6IHZhciB4ID0gWzAsMSwyLDMsNF07IHZhciBhcnIgPSB4LnNsaWNlKDMsIHVuZGVmaW5lZCk7IGFyclsxXSA9PT0gNC4gQWN0dWFsOiAnICsgKGFyclsxXSkpOwp9CgovL0NIRUNLIzUKaWYgKGFyclsyXSAhPT0gdW5kZWZpbmVkKSB7CiAgJEVSUk9SKCcjNTogdmFyIHggPSBbMCwxLDIsMyw0XTsgdmFyIGFyciA9IHguc2xpY2UoMywgdW5kZWZpbmVkKTsgYXJyWzJdID09PSB1bmRlZmluZWQuIEFjdHVhbDogJyArIChhcnJbMl0pKTsKfSAKCg==","commentary":"If end is undefined use length","description":"end === undefined","path":"TestCases/ch15/15.4/15.4.4/15.4.4.10/S15.4.4.10_A1.5_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBlbmQgaXMgdW5kZWZpbmVkIHVzZSBsZW5ndGgKICoKICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTAvUzE1LjQuNC4xMF9BMS41X1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBlbmQgaXMgYWJzZW50CiAqLwoKdmFyIHggPSBbMCwxLDIsMyw0XTsKdmFyIGFyciA9IHguc2xpY2UoLTIpOwoKLy9DSEVDSyMxCmFyci5nZXRDbGFzcyA9IE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmc7CmlmIChhcnIuZ2V0Q2xhc3MoKSAhPT0gIltvYmplY3QgIiArICJBcnJheSIgKyAiXSIpIHsKICAkRVJST1IoJyMxOiB2YXIgeCA9IFswLDEsMiwzLDRdOyB2YXIgYXJyID0geC5zbGljZSgtMik7IGFyciBpcyBBcnJheSBvYmplY3QuIEFjdHVhbDogJyArIChhcnIuZ2V0Q2xhc3MoKSkpOwp9CgovL0NIRUNLIzIKaWYgKGFyci5sZW5ndGggIT09IDIpIHsKICAkRVJST1IoJyMyOiB2YXIgeCA9IFswLDEsMiwzLDRdOyB2YXIgYXJyID0geC5zbGljZSgtMik7IGFyci5sZW5ndGggPT09IDIuIEFjdHVhbDogJyArIChhcnIubGVuZ3RoKSk7Cn0gICAgICAKCi8vQ0hFQ0sjMwppZiAoYXJyWzBdICE9PSAzKSB7CiAgJEVSUk9SKCcjMzogdmFyIHggPSBbMCwxLDIsMyw0XTsgdmFyIGFyciA9IHguc2xpY2UoLTIpOyBhcnJbMF0gPT09IDMuIEFjdHVhbDogJyArIChhcnJbMF0pKTsKfQoKLy9DSEVDSyM0CmlmIChhcnJbMV0gIT09IDQpIHsKICAkRVJST1IoJyM0OiB2YXIgeCA9IFswLDEsMiwzLDRdOyB2YXIgYXJyID0geC5zbGljZSgtMik7IGFyclsxXSA9PT0gNC4gQWN0dWFsOiAnICsgKGFyclsxXSkpOwp9CgovL0NIRUNLIzUKaWYgKGFyclsyXSAhPT0gdW5kZWZpbmVkKSB7CiAgJEVSUk9SKCcjNTogdmFyIHggPSBbMCwxLDIsMyw0XTsgdmFyIGFyciA9IHguc2xpY2UoLTIpOyBhcnJbMl0gPT09IHVuZGVmaW5lZC4gQWN0dWFsOiAnICsgKGFyclsyXSkpOwp9IAoK","commentary":"If end is undefined use length","description":"end is absent","path":"TestCases/ch15/15.4/15.4.4/15.4.4.10/S15.4.4.10_A1.5_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB1c2UgVG9JbnRlZ2VyIGZyb20gc3RhcnQKICoKICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTAvUzE1LjQuNC4xMF9BMi4xX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBzdGFydCBpcyBub3QgaW50ZWdlcgogKi8KCnZhciB4ID0gWzAsMSwyLDMsNF07CnZhciBhcnIgPSB4LnNsaWNlKDIuNSw0KTsKCi8vQ0hFQ0sjMQphcnIuZ2V0Q2xhc3MgPSBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nOwppZiAoYXJyLmdldENsYXNzKCkgIT09ICJbb2JqZWN0ICIgKyAiQXJyYXkiICsgIl0iKSB7CiAgJEVSUk9SKCcjMTogdmFyIHggPSBbMCwxLDIsMyw0XTsgdmFyIGFyciA9IHguc2xpY2UoMi41LDQpOyBhcnIgaXMgQXJyYXkgb2JqZWN0LiBBY3R1YWw6ICcgKyAoYXJyLmdldENsYXNzKCkpKTsKfQoKLy9DSEVDSyMyCmlmIChhcnIubGVuZ3RoICE9PSAyKSB7CiAgJEVSUk9SKCcjMjogdmFyIHggPSBbMCwxLDIsMyw0XTsgdmFyIGFyciA9IHguc2xpY2UoMi41LDQpOyBhcnIubGVuZ3RoID09PSAyLiBBY3R1YWw6ICcgKyAoYXJyLmxlbmd0aCkpOwp9ICAgICAgCgovL0NIRUNLIzMKaWYgKGFyclswXSAhPT0gMikgewogICRFUlJPUignIzM6IHZhciB4ID0gWzAsMSwyLDMsNF07IHZhciBhcnIgPSB4LnNsaWNlKDIuNSw0KTsgYXJyWzBdID09PSAyLiBBY3R1YWw6ICcgKyAoYXJyWzBdKSk7Cn0KCi8vQ0hFQ0sjNAppZiAoYXJyWzFdICE9PSAzKSB7CiAgJEVSUk9SKCcjNDogdmFyIHggPSBbMCwxLDIsMyw0XTsgdmFyIGFyciA9IHguc2xpY2UoMi41LDQpOyBhcnJbMV0gPT09IDMuIEFjdHVhbDogJyArIChhcnJbMV0pKTsKfSAgICAgIAoKLy9DSEVDSyM1CmlmIChhcnJbM10gIT09IHVuZGVmaW5lZCkgewogICRFUlJPUignIzU6IHZhciB4ID0gWzAsMSwyLDMsNF07IHZhciBhcnIgPSB4LnNsaWNlKDIuNSw0KTsgYXJyWzNdID09PSB1bmRlZmluZWQuIEFjdHVhbDogJyArIChhcnJbM10pKTsKfSAKCg==","commentary":"Operator use ToInteger from start","description":"start is not integer","path":"TestCases/ch15/15.4/15.4.4/15.4.4.10/S15.4.4.10_A2.1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB1c2UgVG9JbnRlZ2VyIGZyb20gc3RhcnQKICoKICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTAvUzE1LjQuNC4xMF9BMi4xX1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBzdGFydCA9IE5hTgogKi8KCnZhciB4ID0gWzAsMSwyLDMsNF07CnZhciBhcnIgPSB4LnNsaWNlKE5hTiwzKTsKCi8vQ0hFQ0sjMQphcnIuZ2V0Q2xhc3MgPSBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nOwppZiAoYXJyLmdldENsYXNzKCkgIT09ICJbb2JqZWN0ICIgKyAiQXJyYXkiICsgIl0iKSB7CiAgJEVSUk9SKCcjMTogdmFyIHggPSBbMCwxLDIsMyw0XTsgdmFyIGFyciA9IHguc2xpY2UoTmFOLDMpOyBhcnIgaXMgQXJyYXkgb2JqZWN0LiBBY3R1YWw6ICcgKyAoYXJyLmdldENsYXNzKCkpKTsKfQoKLy9DSEVDSyMyCmlmIChhcnIubGVuZ3RoICE9PSAzKSB7CiAgJEVSUk9SKCcjMjogdmFyIHggPSBbMCwxLDIsMyw0XTsgdmFyIGFyciA9IHguc2xpY2UoTmFOLDMpOyBhcnIubGVuZ3RoID09PSAzLiBBY3R1YWw6ICcgKyAoYXJyLmxlbmd0aCkpOwp9ICAgICAgCgovL0NIRUNLIzMKaWYgKGFyclswXSAhPT0gMCkgewogICRFUlJPUignIzM6IHZhciB4ID0gWzAsMSwyLDMsNF07IHZhciBhcnIgPSB4LnNsaWNlKE5hTiwzKTsgYXJyWzBdID09PSAwLiBBY3R1YWw6ICcgKyAoYXJyWzBdKSk7Cn0KCi8vQ0hFQ0sjNAppZiAoYXJyWzFdICE9PSAxKSB7CiAgJEVSUk9SKCcjNDogdmFyIHggPSBbMCwxLDIsMyw0XTsgdmFyIGFyciA9IHguc2xpY2UoTmFOLDMpOyBhcnJbMV0gPT09IDEuIEFjdHVhbDogJyArIChhcnJbMV0pKTsKfSAgICAgIAoKLy9DSEVDSyM1CmlmIChhcnJbMl0gIT09IDIpIHsKICAkRVJST1IoJyM1OiB2YXIgeCA9IFswLDEsMiwzLDRdOyB2YXIgYXJyID0geC5zbGljZShOYU4sMyk7IGFyclsyXSA9PT0gMi4gQWN0dWFsOiAnICsgKGFyclsyXSkpOwp9ICAgCgovL0NIRUNLIzYKaWYgKGFyclszXSAhPT0gdW5kZWZpbmVkKSB7CiAgJEVSUk9SKCcjNjogdmFyIHggPSBbMCwxLDIsMyw0XTsgdmFyIGFyciA9IHguc2xpY2UoTmFOLDMpOyBhcnJbM10gPT09IHVuZGVmaW5lZC4gQWN0dWFsOiAnICsgKGFyclszXSkpOwp9ICAgCgo=","commentary":"Operator use ToInteger from start","description":"start = NaN","path":"TestCases/ch15/15.4/15.4.4/15.4.4.10/S15.4.4.10_A2.1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB1c2UgVG9JbnRlZ2VyIGZyb20gc3RhcnQKICoKICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTAvUzE1LjQuNC4xMF9BMi4xX1QzLmpzCiAqIEBkZXNjcmlwdGlvbiBzdGFydCA9IEluZmluaXR5CiAqLwoKdmFyIHggPSBbMCwxLDIsMyw0XTsKdmFyIGFyciA9IHguc2xpY2UoTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZLDMpOwoKLy9DSEVDSyMxCmFyci5nZXRDbGFzcyA9IE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmc7CmlmIChhcnIuZ2V0Q2xhc3MoKSAhPT0gIltvYmplY3QgIiArICJBcnJheSIgKyAiXSIpIHsKICAkRVJST1IoJyMxOiB2YXIgeCA9IFswLDEsMiwzLDRdOyB2YXIgYXJyID0geC5zbGljZShOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFksMyk7IGFyciBpcyBBcnJheSBvYmplY3QuIEFjdHVhbDogJyArIChhcnIuZ2V0Q2xhc3MoKSkpOwp9CgovL0NIRUNLIzIKaWYgKGFyci5sZW5ndGggIT09IDApIHsKICAkRVJST1IoJyMyOiB2YXIgeCA9IFswLDEsMiwzLDRdOyB2YXIgYXJyID0geC5zbGljZShOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFksMyk7IGFyci5sZW5ndGggPT09IDAuIEFjdHVhbDogJyArIChhcnIubGVuZ3RoKSk7Cn0gICAgICAKCi8vQ0hFQ0sjMwppZiAoYXJyWzBdICE9PSB1bmRlZmluZWQpIHsKICAkRVJST1IoJyMzOiB2YXIgeCA9IFswLDEsMiwzLDRdOyB2YXIgYXJyID0geC5zbGljZShOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFksMyk7IGFyclswXSA9PT0gdW5kZWZpbmVkLiBBY3R1YWw6ICcgKyAoYXJyWzBdKSk7Cn0KCg==","commentary":"Operator use ToInteger from start","description":"start = Infinity","path":"TestCases/ch15/15.4/15.4.4/15.4.4.10/S15.4.4.10_A2.1_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB1c2UgVG9JbnRlZ2VyIGZyb20gc3RhcnQKICoKICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTAvUzE1LjQuNC4xMF9BMi4xX1Q0LmpzCiAqIEBkZXNjcmlwdGlvbiBzdGFydCA9IC1JbmZpbml0eQogKi8KCnZhciB4ID0gWzAsMSwyLDMsNF07CnZhciBhcnIgPSB4LnNsaWNlKE51bWJlci5ORUdBVElWRV9JTkZJTklUWSwzKTsKCi8vQ0hFQ0sjMQphcnIuZ2V0Q2xhc3MgPSBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nOwppZiAoYXJyLmdldENsYXNzKCkgIT09ICJbb2JqZWN0ICIgKyAiQXJyYXkiICsgIl0iKSB7CiAgJEVSUk9SKCcjMTogdmFyIHggPSBbMCwxLDIsMyw0XTsgdmFyIGFyciA9IHguc2xpY2UoTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZLDMpOyBhcnIgaXMgQXJyYXkgb2JqZWN0LiBBY3R1YWw6ICcgKyAoYXJyLmdldENsYXNzKCkpKTsKfQoKLy9DSEVDSyMyCmlmIChhcnIubGVuZ3RoICE9PSAzKSB7CiAgJEVSUk9SKCcjMjogdmFyIHggPSBbMCwxLDIsMyw0XTsgdmFyIGFyciA9IHguc2xpY2UoTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZLDMpOyBhcnIubGVuZ3RoID09PSAzLiBBY3R1YWw6ICcgKyAoYXJyLmxlbmd0aCkpOwp9ICAgICAgCgovL0NIRUNLIzMKaWYgKGFyclswXSAhPT0gMCkgewogICRFUlJPUignIzM6IHZhciB4ID0gWzAsMSwyLDMsNF07IHZhciBhcnIgPSB4LnNsaWNlKE51bWJlci5ORUdBVElWRV9JTkZJTklUWSwzKTsgYXJyWzBdID09PSAwLiBBY3R1YWw6ICcgKyAoYXJyWzBdKSk7Cn0KCi8vQ0hFQ0sjNAppZiAoYXJyWzFdICE9PSAxKSB7CiAgJEVSUk9SKCcjNDogdmFyIHggPSBbMCwxLDIsMyw0XTsgdmFyIGFyciA9IHguc2xpY2UoTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZLDMpOyBhcnJbMV0gPT09IDEuIEFjdHVhbDogJyArIChhcnJbMV0pKTsKfSAgICAgIAoKLy9DSEVDSyM1CmlmIChhcnJbMl0gIT09IDIpIHsKICAkRVJST1IoJyM1OiB2YXIgeCA9IFswLDEsMiwzLDRdOyB2YXIgYXJyID0geC5zbGljZShOdW1iZXIuTkVHQVRJVkVfSU5GSU5JVFksMyk7IGFyclsyXSA9PT0gMi4gQWN0dWFsOiAnICsgKGFyclsyXSkpOwp9ICAgCgovL0NIRUNLIzYKaWYgKGFyclszXSAhPT0gdW5kZWZpbmVkKSB7CiAgJEVSUk9SKCcjNjogdmFyIHggPSBbMCwxLDIsMyw0XTsgdmFyIGFyciA9IHguc2xpY2UoTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZLDMpOyBhcnJbM10gPT09IHVuZGVmaW5lZC4gQWN0dWFsOiAnICsgKGFyclszXSkpOwp9ICAgCgo=","commentary":"Operator use ToInteger from start","description":"start = -Infinity","path":"TestCases/ch15/15.4/15.4.4/15.4.4.10/S15.4.4.10_A2.1_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB1c2UgVG9JbnRlZ2VyIGZyb20gc3RhcnQKICoKICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTAvUzE1LjQuNC4xMF9BMi4xX1Q1LmpzCiAqIEBkZXNjcmlwdGlvbiBUb0ludGVnZXIgdXNlIFRvTnVtYmVyCiAqLwoKdmFyIHggPSBbMCwxLDIsMyw0XTsKdmFyIGFyciA9IHguc2xpY2Uoe3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAwfSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiAzfX0sMyk7CgovL0NIRUNLIzEKYXJyLmdldENsYXNzID0gT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZzsKaWYgKGFyci5nZXRDbGFzcygpICE9PSAiW29iamVjdCAiICsgIkFycmF5IiArICJdIikgewogICRFUlJPUignIzE6IHZhciB4ID0gWzAsMSwyLDMsNF07IHZhciBhcnIgPSB4LnNsaWNlKHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gMH0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gM319LDMpOyBhcnIgaXMgQXJyYXkgb2JqZWN0LiBBY3R1YWw6ICcgKyAoYXJyLmdldENsYXNzKCkpKTsKfQoKLy9DSEVDSyMyCmlmIChhcnIubGVuZ3RoICE9PSAzKSB7CiAgJEVSUk9SKCcjMjogdmFyIHggPSBbMCwxLDIsMyw0XTsgdmFyIGFyciA9IHguc2xpY2Uoe3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAwfSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiAzfX0sMyk7IGFyci5sZW5ndGggPT09IDMuIEFjdHVhbDogJyArIChhcnIubGVuZ3RoKSk7Cn0gICAgICAKCi8vQ0hFQ0sjMwppZiAoYXJyWzBdICE9PSAwKSB7CiAgJEVSUk9SKCcjMzogdmFyIHggPSBbMCwxLDIsMyw0XTsgdmFyIGFyciA9IHguc2xpY2Uoe3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAwfSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiAzfX0sMyk7IGFyclswXSA9PT0gMC4gQWN0dWFsOiAnICsgKGFyclswXSkpOwp9CgovL0NIRUNLIzQKaWYgKGFyclsxXSAhPT0gMSkgewogICRFUlJPUignIzQ6IHZhciB4ID0gWzAsMSwyLDMsNF07IHZhciBhcnIgPSB4LnNsaWNlKHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gMH0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gM319LDMpOyBhcnJbMV0gPT09IDEuIEFjdHVhbDogJyArIChhcnJbMV0pKTsKfSAgICAgIAoKLy9DSEVDSyM1CmlmIChhcnJbMl0gIT09IDIpIHsKICAkRVJST1IoJyM1OiB2YXIgeCA9IFswLDEsMiwzLDRdOyB2YXIgYXJyID0geC5zbGljZSh7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIDB9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIDN9fSwzKTsgYXJyWzJdID09PSAyLiBBY3R1YWw6ICcgKyAoYXJyWzJdKSk7Cn0gICAKCi8vQ0hFQ0sjNgppZiAoYXJyWzNdICE9PSB1bmRlZmluZWQpIHsKICAkRVJST1IoJyM2OiB2YXIgeCA9IFswLDEsMiwzLDRdOyB2YXIgYXJyID0geC5zbGljZSh7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIDB9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIDN9fSwzKTsgYXJyWzNdID09PSB1bmRlZmluZWQuIEFjdHVhbDogJyArIChhcnJbM10pKTsKfSAgIAoK","commentary":"Operator use ToInteger from start","description":"ToInteger use ToNumber","path":"TestCases/ch15/15.4/15.4.4/15.4.4.10/S15.4.4.10_A2.1_T5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB1c2UgVG9JbnRlZ2VyIGZyb20gZW5kCiAqCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjEwL1MxNS40LjQuMTBfQTIuMl9UMS5qcwogKiBAZGVzY3JpcHRpb24gZW5kIGlzIG5vdCBpbnRlZ2VyCiAqLwoKdmFyIHggPSBbMCwxLDIsMyw0XTsKdmFyIGFyciA9IHguc2xpY2UoMiw0LjUpOwoKLy9DSEVDSyMxCmFyci5nZXRDbGFzcyA9IE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmc7CmlmIChhcnIuZ2V0Q2xhc3MoKSAhPT0gIltvYmplY3QgIiArICJBcnJheSIgKyAiXSIpIHsKICAkRVJST1IoJyMxOiB2YXIgeCA9IFswLDEsMiwzLDRdOyB2YXIgYXJyID0geC5zbGljZSgyLDQuNSk7IGFyciBpcyBBcnJheSBvYmplY3QuIEFjdHVhbDogJyArIChhcnIuZ2V0Q2xhc3MoKSkpOwp9CgovL0NIRUNLIzIKaWYgKGFyci5sZW5ndGggIT09IDIpIHsKICAkRVJST1IoJyMyOiB2YXIgeCA9IFswLDEsMiwzLDRdOyB2YXIgYXJyID0geC5zbGljZSgyLDQuNSk7IGFyci5sZW5ndGggPT09IDIuIEFjdHVhbDogJyArIChhcnIubGVuZ3RoKSk7Cn0gICAgICAKCi8vQ0hFQ0sjMwppZiAoYXJyWzBdICE9PSAyKSB7CiAgJEVSUk9SKCcjMzogdmFyIHggPSBbMCwxLDIsMyw0XTsgdmFyIGFyciA9IHguc2xpY2UoMiw0LjUpOyBhcnJbMF0gPT09IDIuIEFjdHVhbDogJyArIChhcnJbMF0pKTsKfQoKLy9DSEVDSyM0CmlmIChhcnJbMV0gIT09IDMpIHsKICAkRVJST1IoJyM0OiB2YXIgeCA9IFswLDEsMiwzLDRdOyB2YXIgYXJyID0geC5zbGljZSgyLDQuNSk7IGFyclsxXSA9PT0gMy4gQWN0dWFsOiAnICsgKGFyclsxXSkpOwp9ICAgICAgCgovL0NIRUNLIzUKaWYgKGFyclszXSAhPT0gdW5kZWZpbmVkKSB7CiAgJEVSUk9SKCcjNTogdmFyIHggPSBbMCwxLDIsMyw0XTsgdmFyIGFyciA9IHguc2xpY2UoMiw0LjUpOyBhcnJbM10gPT09IHVuZGVmaW5lZC4gQWN0dWFsOiAnICsgKGFyclszXSkpOwp9IAoK","commentary":"Operator use ToInteger from end","description":"end is not integer","path":"TestCases/ch15/15.4/15.4.4/15.4.4.10/S15.4.4.10_A2.2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB1c2UgVG9JbnRlZ2VyIGZyb20gZW5kCiAqCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjEwL1MxNS40LjQuMTBfQTIuMl9UMi5qcwogKiBAZGVzY3JpcHRpb24gZW5kID0gTmFOCiAqLwoKdmFyIHggPSBbMCwxLDIsMyw0XTsKdmFyIGFyciA9IHguc2xpY2UoMCxOYU4pOwoKLy9DSEVDSyMxCmFyci5nZXRDbGFzcyA9IE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmc7CmlmIChhcnIuZ2V0Q2xhc3MoKSAhPT0gIltvYmplY3QgIiArICJBcnJheSIgKyAiXSIpIHsKICAkRVJST1IoJyMxOiB2YXIgeCA9IFswLDEsMiwzLDRdOyB2YXIgYXJyID0geC5zbGljZSgwLE5hTik7IGFyciBpcyBBcnJheSBvYmplY3QuIEFjdHVhbDogJyArIChhcnIuZ2V0Q2xhc3MoKSkpOwp9CgovL0NIRUNLIzIKaWYgKGFyci5sZW5ndGggIT09IDApIHsKICAkRVJST1IoJyMyOiB2YXIgeCA9IFswLDEsMiwzLDRdOyB2YXIgYXJyID0geC5zbGljZSgwLE5hTik7IGFyci5sZW5ndGggPT09IDAuIEFjdHVhbDogJyArIChhcnIubGVuZ3RoKSk7Cn0gICAgICAKCi8vQ0hFQ0sjMwppZiAoYXJyWzBdICE9PSB1bmRlZmluZWQpIHsKICAkRVJST1IoJyMzOiB2YXIgeCA9IFswLDEsMiwzLDRdOyB2YXIgYXJyID0geC5zbGljZSgwLE5hTik7IGFyclswXSA9PT0gdW5kZWZpbmVkLiBBY3R1YWw6ICcgKyAoYXJyWzBdKSk7Cn0KCg==","commentary":"Operator use ToInteger from end","description":"end = NaN","path":"TestCases/ch15/15.4/15.4.4/15.4.4.10/S15.4.4.10_A2.2_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB1c2UgVG9JbnRlZ2VyIGZyb20gZW5kCiAqCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjEwL1MxNS40LjQuMTBfQTIuMl9UMy5qcwogKiBAZGVzY3JpcHRpb24gZW5kID0gSW5maW5pdHkKICovCgp2YXIgeCA9IFswLDEsMiwzLDRdOwp2YXIgYXJyID0geC5zbGljZSgwLE51bWJlci5QT1NJVElWRV9JTkZJTklUWSk7CgovL0NIRUNLIzEKYXJyLmdldENsYXNzID0gT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZzsKaWYgKGFyci5nZXRDbGFzcygpICE9PSAiW29iamVjdCAiICsgIkFycmF5IiArICJdIikgewogICRFUlJPUignIzE6IHZhciB4ID0gWzAsMSwyLDMsNF07IHZhciBhcnIgPSB4LnNsaWNlKDAsTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZKTsgYXJyIGlzIEFycmF5IG9iamVjdC4gQWN0dWFsOiAnICsgKGFyci5nZXRDbGFzcygpKSk7Cn0KCi8vQ0hFQ0sjMgppZiAoYXJyLmxlbmd0aCAhPT0gNSkgewogICRFUlJPUignIzI6IHZhciB4ID0gWzAsMSwyLDMsNF07IHZhciBhcnIgPSB4LnNsaWNlKDAsTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZKTsgYXJyLmxlbmd0aCA9PT0gNS4gQWN0dWFsOiAnICsgKGFyci5sZW5ndGgpKTsKfSAgICAgIAoKLy9DSEVDSyMzCmlmIChhcnJbMF0gIT09IDApIHsKICAkRVJST1IoJyMzOiB2YXIgeCA9IFswLDEsMiwzLDRdOyB2YXIgYXJyID0geC5zbGljZSgwLE51bWJlci5QT1NJVElWRV9JTkZJTklUWSk7IGFyclswXSA9PT0gMC4gQWN0dWFsOiAnICsgKGFyclswXSkpOwp9CgovL0NIRUNLIzQKaWYgKGFyclsxXSAhPT0gMSkgewogICRFUlJPUignIzQ6IHZhciB4ID0gWzAsMSwyLDMsNF07IHZhciBhcnIgPSB4LnNsaWNlKDAsTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZKTsgYXJyWzFdID09PSAxLiBBY3R1YWw6ICcgKyAoYXJyWzFdKSk7Cn0KCi8vQ0hFQ0sjNQppZiAoYXJyWzJdICE9PSAyKSB7CiAgJEVSUk9SKCcjNTogdmFyIHggPSBbMCwxLDIsMyw0XTsgdmFyIGFyciA9IHguc2xpY2UoMCxOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkpOyBhcnJbMl0gPT09IDIuIEFjdHVhbDogJyArIChhcnJbMl0pKTsKfQoKLy9DSEVDSyM2CmlmIChhcnJbM10gIT09IDMpIHsKICAkRVJST1IoJyM2OiB2YXIgeCA9IFswLDEsMiwzLDRdOyB2YXIgYXJyID0geC5zbGljZSgwLE51bWJlci5QT1NJVElWRV9JTkZJTklUWSk7IGFyclszXSA9PT0gMy4gQWN0dWFsOiAnICsgKGFyclszXSkpOwp9CgovL0NIRUNLIzcKaWYgKGFycls0XSAhPT0gNCkgewogICRFUlJPUignIzc6IHZhciB4ID0gWzAsMSwyLDMsNF07IHZhciBhcnIgPSB4LnNsaWNlKDAsTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZKTsgYXJyWzRdID09PSA0LiBBY3R1YWw6ICcgKyAoYXJyWzRdKSk7Cn0KCi8vQ0hFQ0sjOAppZiAoYXJyWzVdICE9PSB1bmRlZmluZWQpIHsKICAkRVJST1IoJyM4OiB2YXIgeCA9IFswLDEsMiwzLDRdOyB2YXIgYXJyID0geC5zbGljZSgwLE51bWJlci5QT1NJVElWRV9JTkZJTklUWSk7IGFycls1XSA9PT0gdW5kZWZpbmVkLiBBY3R1YWw6ICcgKyAoYXJyWzVdKSk7Cn0gCgo=","commentary":"Operator use ToInteger from end","description":"end = Infinity","path":"TestCases/ch15/15.4/15.4.4/15.4.4.10/S15.4.4.10_A2.2_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB1c2UgVG9JbnRlZ2VyIGZyb20gZW5kCiAqCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjEwL1MxNS40LjQuMTBfQTIuMl9UNC5qcwogKiBAZGVzY3JpcHRpb24gZW5kID0gLUluZmluaXR5CiAqLwoKdmFyIHggPSBbMCwxLDIsMyw0XTsKdmFyIGFyciA9IHguc2xpY2UoMCxOdW1iZXIuTkVHQVRJVkVfSU5GSU5JVFkpOwoKLy9DSEVDSyMxCmFyci5nZXRDbGFzcyA9IE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmc7CmlmIChhcnIuZ2V0Q2xhc3MoKSAhPT0gIltvYmplY3QgIiArICJBcnJheSIgKyAiXSIpIHsKICAkRVJST1IoJyMxOiB2YXIgeCA9IFswLDEsMiwzLDRdOyB2YXIgYXJyID0geC5zbGljZSgwLE51bWJlci5ORUdBVElWRV9JTkZJTklUWSk7IGFyciBpcyBBcnJheSBvYmplY3QuIEFjdHVhbDogJyArIChhcnIuZ2V0Q2xhc3MoKSkpOwp9CgovL0NIRUNLIzIKaWYgKGFyci5sZW5ndGggIT09IDApIHsKICAkRVJST1IoJyMyOiB2YXIgeCA9IFswLDEsMiwzLDRdOyB2YXIgYXJyID0geC5zbGljZSgwLE51bWJlci5ORUdBVElWRV9JTkZJTklUWSk7IGFyci5sZW5ndGggPT09IDAuIEFjdHVhbDogJyArIChhcnIubGVuZ3RoKSk7Cn0gICAgICAKCi8vQ0hFQ0sjMwppZiAoYXJyWzBdICE9PSB1bmRlZmluZWQpIHsKICAkRVJST1IoJyMzOiB2YXIgeCA9IFswLDEsMiwzLDRdOyB2YXIgYXJyID0geC5zbGljZSgwLE51bWJlci5ORUdBVElWRV9JTkZJTklUWSk7IGFyclswXSA9PT0gdW5kZWZpbmVkLiBBY3R1YWw6ICcgKyAoYXJyWzBdKSk7Cn0KCg==","commentary":"Operator use ToInteger from end","description":"end = -Infinity","path":"TestCases/ch15/15.4/15.4.4/15.4.4.10/S15.4.4.10_A2.2_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB1c2UgVG9JbnRlZ2VyIGZyb20gZW5kCiAqCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjEwL1MxNS40LjQuMTBfQTIuMl9UNS5qcwogKiBAZGVzY3JpcHRpb24gVG9JbnRlZ2VyIHVzZSBUb051bWJlcgogKi8KCnZhciB4ID0gWzAsMSwyLDMsNF07CnZhciBhcnIgPSB4LnNsaWNlKDAse3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAzfSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiAwfX0pOwoKLy9DSEVDSyMxCmFyci5nZXRDbGFzcyA9IE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmc7CmlmIChhcnIuZ2V0Q2xhc3MoKSAhPT0gIltvYmplY3QgIiArICJBcnJheSIgKyAiXSIpIHsKICAkRVJST1IoJyMxOiB2YXIgeCA9IFswLDEsMiwzLDRdOyB2YXIgYXJyID0geC5zbGljZSgwLHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gM30sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gMH19KTsgYXJyIGlzIEFycmF5IG9iamVjdC4gQWN0dWFsOiAnICsgKGFyci5nZXRDbGFzcygpKSk7Cn0KCi8vQ0hFQ0sjMgppZiAoYXJyLmxlbmd0aCAhPT0gMykgewogICRFUlJPUignIzI6IHZhciB4ID0gWzAsMSwyLDMsNF07IHZhciBhcnIgPSB4LnNsaWNlKDAse3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAzfSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiAwfX0pOyBhcnIubGVuZ3RoID09PSAzLiBBY3R1YWw6ICcgKyAoYXJyLmxlbmd0aCkpOwp9ICAgICAgCgovL0NIRUNLIzMKaWYgKGFyclswXSAhPT0gMCkgewogICRFUlJPUignIzM6IHZhciB4ID0gWzAsMSwyLDMsNF07IHZhciBhcnIgPSB4LnNsaWNlKDAse3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAzfSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiAwfX0pOyBhcnJbMF0gPT09IDAuIEFjdHVhbDogJyArIChhcnJbMF0pKTsKfQoKLy9DSEVDSyM0CmlmIChhcnJbMV0gIT09IDEpIHsKICAkRVJST1IoJyM0OiB2YXIgeCA9IFswLDEsMiwzLDRdOyB2YXIgYXJyID0geC5zbGljZSgwLHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gM30sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gMH19KTsgYXJyWzFdID09PSAxLiBBY3R1YWw6ICcgKyAoYXJyWzFdKSk7Cn0gICAgICAKCi8vQ0hFQ0sjNQppZiAoYXJyWzJdICE9PSAyKSB7CiAgJEVSUk9SKCcjNTogdmFyIHggPSBbMCwxLDIsMyw0XTsgdmFyIGFyciA9IHguc2xpY2UoMCx7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIDN9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIDB9fSk7IGFyclsyXSA9PT0gMi4gQWN0dWFsOiAnICsgKGFyclsyXSkpOwp9ICAgCgovL0NIRUNLIzYKaWYgKGFyclszXSAhPT0gdW5kZWZpbmVkKSB7CiAgJEVSUk9SKCcjNjogdmFyIHggPSBbMCwxLDIsMyw0XTsgdmFyIGFyciA9IHguc2xpY2UoMCx7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIDN9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIDB9fSk7IGFyclszXSA9PT0gdW5kZWZpbmVkLiBBY3R1YWw6ICcgKyAoYXJyWzNdKSk7Cn0gICAKCg==","commentary":"Operator use ToInteger from end","description":"ToInteger use ToNumber","path":"TestCases/ch15/15.4/15.4.4/15.4.4.10/S15.4.4.10_A2.2_T5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgc2xpY2UgZnVuY3Rpb24gaXMgaW50ZW50aW9uYWxseSBnZW5lcmljLgogKiBJdCBkb2VzIG5vdCByZXF1aXJlIHRoYXQgaXRzIHRoaXMgdmFsdWUgYmUgYW4gQXJyYXkgb2JqZWN0CiAqCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjEwL1MxNS40LjQuMTBfQTJfVDEuanMKICogQGRlc2NyaXB0aW9uIElmIHN0YXJ0IGlzIHBvc2l0aXZlLCB1c2UgbWluKHN0YXJ0LCBsZW5ndGgpLgogKiBJZiBlbmQgaXMgcG9zaXRpdmUsIHVzZSBtaW4oZW5kLCBsZW5ndGgpCiAqLwoKdmFyIG9iaiA9IHt9OwpvYmouc2xpY2UgPSBBcnJheS5wcm90b3R5cGUuc2xpY2U7Cm9ialswXSA9IDA7Cm9ialsxXSA9IDE7Cm9ialsyXSA9IDI7Cm9ialszXSA9IDM7Cm9ials0XSA9IDQ7Cm9iai5sZW5ndGggPSA1Owp2YXIgYXJyID0gb2JqLnNsaWNlKDAsMyk7CgovL0NIRUNLIzEKYXJyLmdldENsYXNzID0gT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZzsKaWYgKGFyci5nZXRDbGFzcygpICE9PSAiW29iamVjdCAiICsgIkFycmF5IiArICJdIikgewogICRFUlJPUignIzE6IHZhciBvYmogPSB7fTsgb2JqLnNsaWNlID0gQXJyYXkucHJvdG90eXBlLnNsaWNlOyBvYmpbMF0gPSAwOyBvYmpbMV0gPSAxOyBvYmpbMl0gPSAyOyBvYmpbM10gPSAzOyBvYmpbNF0gPSA0OyBvYmoubGVuZ3RoID0gNTsgdmFyIGFyciA9IG9iai5zbGljZSgwLDMpOyBhcnIgaXMgQXJyYXkgb2JqZWN0LiBBY3R1YWw6ICcgKyAoYXJyLmdldENsYXNzKCkpKTsKfQoKLy9DSEVDSyMyCmlmIChhcnIubGVuZ3RoICE9PSAzKSB7CiAgJEVSUk9SKCcjMjogdmFyIG9iaiA9IHt9OyBvYmouc2xpY2UgPSBBcnJheS5wcm90b3R5cGUuc2xpY2U7IG9ialswXSA9IDA7IG9ialsxXSA9IDE7IG9ialsyXSA9IDI7IG9ialszXSA9IDM7IG9ials0XSA9IDQ7IG9iai5sZW5ndGggPSA1OyB2YXIgYXJyID0gb2JqLnNsaWNlKDAsMyk7IGFyci5sZW5ndGggPT09IDMuIEFjdHVhbDogJyArIChhcnIubGVuZ3RoKSk7Cn0gICAgICAKCi8vQ0hFQ0sjMwppZiAoYXJyWzBdICE9PSAwKSB7CiAgJEVSUk9SKCcjMzogdmFyIG9iaiA9IHt9OyBvYmouc2xpY2UgPSBBcnJheS5wcm90b3R5cGUuc2xpY2U7IG9ialswXSA9IDA7IG9ialsxXSA9IDE7IG9ialsyXSA9IDI7IG9ialszXSA9IDM7IG9ials0XSA9IDQ7IG9iai5sZW5ndGggPSA1OyB2YXIgYXJyID0gb2JqLnNsaWNlKDAsMyk7IGFyclswXSA9PT0gMC4gQWN0dWFsOiAnICsgKGFyclswXSkpOwp9CgovL0NIRUNLIzQKaWYgKGFyclsxXSAhPT0gMSkgewogICRFUlJPUignIzQ6IHZhciBvYmogPSB7fTsgb2JqLnNsaWNlID0gQXJyYXkucHJvdG90eXBlLnNsaWNlOyBvYmpbMF0gPSAwOyBvYmpbMV0gPSAxOyBvYmpbMl0gPSAyOyBvYmpbM10gPSAzOyBvYmpbNF0gPSA0OyBvYmoubGVuZ3RoID0gNTsgdmFyIGFyciA9IG9iai5zbGljZSgwLDMpOyBhcnJbMV0gPT09IDEuIEFjdHVhbDogJyArIChhcnJbMV0pKTsKfSAgICAgIAoKLy9DSEVDSyM1CmlmIChhcnJbMl0gIT09IDIpIHsKICAkRVJST1IoJyM1OiB2YXIgb2JqID0ge307IG9iai5zbGljZSA9IEFycmF5LnByb3RvdHlwZS5zbGljZTsgb2JqWzBdID0gMDsgb2JqWzFdID0gMTsgb2JqWzJdID0gMjsgb2JqWzNdID0gMzsgb2JqWzRdID0gNDsgb2JqLmxlbmd0aCA9IDU7IHZhciBhcnIgPSBvYmouc2xpY2UoMCwzKTsgYXJyWzJdID09PSAyLiBBY3R1YWw6ICcgKyAoYXJyWzJdKSk7Cn0gICAKCi8vQ0hFQ0sjNgppZiAoYXJyWzNdICE9PSB1bmRlZmluZWQpIHsKICAkRVJST1IoJyM2OiB2YXIgb2JqID0ge307IG9iai5zbGljZSA9IEFycmF5LnByb3RvdHlwZS5zbGljZTsgb2JqWzBdID0gMDsgb2JqWzFdID0gMTsgb2JqWzJdID0gMjsgb2JqWzNdID0gMzsgb2JqWzRdID0gNDsgb2JqLmxlbmd0aCA9IDU7IHZhciBhcnIgPSBvYmouc2xpY2UoMCwzKTsgYXJyWzNdID09PSB1bmRlZmluZWQuIEFjdHVhbDogJyArIChhcnJbM10pKTsKfSAgIAoK","commentary":"The slice function is intentionally generic.\nIt does not require that its this value be an Array object","description":"If start is positive, use min(start, length).\nIf end is positive, use min(end, length)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.10/S15.4.4.10_A2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgc2xpY2UgZnVuY3Rpb24gaXMgaW50ZW50aW9uYWxseSBnZW5lcmljLgogKiBJdCBkb2VzIG5vdCByZXF1aXJlIHRoYXQgaXRzIHRoaXMgdmFsdWUgYmUgYW4gQXJyYXkgb2JqZWN0CiAqCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjEwL1MxNS40LjQuMTBfQTJfVDIuanMKICogQGRlc2NyaXB0aW9uIElmIHN0YXJ0IGlzIG5lZ2F0aXZlLCB1c2UgbWF4KHN0YXJ0ICsgbGVuZ3RoLCAwKS4KICogSWYgZW5kIGlzIHBvc2l0aXZlLCB1c2UgbWluKGVuZCwgbGVuZ3RoKQogKi8KCnZhciBvYmogPSB7fTsKb2JqLnNsaWNlID0gQXJyYXkucHJvdG90eXBlLnNsaWNlOwpvYmpbMF0gPSAwOwpvYmpbMV0gPSAxOwpvYmpbMl0gPSAyOwpvYmpbM10gPSAzOwpvYmpbNF0gPSA0OwpvYmoubGVuZ3RoID0gNTsKdmFyIGFyciA9IG9iai5zbGljZSgtNSwzKTsKCi8vQ0hFQ0sjMQphcnIuZ2V0Q2xhc3MgPSBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nOwppZiAoYXJyLmdldENsYXNzKCkgIT09ICJbb2JqZWN0ICIgKyAiQXJyYXkiICsgIl0iKSB7CiAgJEVSUk9SKCcjMTogdmFyIG9iaiA9IHt9OyBvYmouc2xpY2UgPSBBcnJheS5wcm90b3R5cGUuc2xpY2U7IG9ialswXSA9IDA7IG9ialsxXSA9IDE7IG9ialsyXSA9IDI7IG9ialszXSA9IDM7IG9ials0XSA9IDQ7IG9iai5sZW5ndGggPSA1OyB2YXIgYXJyID0gb2JqLnNsaWNlKC01LDMpOyBhcnIgaXMgQXJyYXkgb2JqZWN0LiBBY3R1YWw6ICcgKyAoYXJyLmdldENsYXNzKCkpKTsKfQoKLy9DSEVDSyMyCmlmIChhcnIubGVuZ3RoICE9PSAzKSB7CiAgJEVSUk9SKCcjMjogdmFyIG9iaiA9IHt9OyBvYmouc2xpY2UgPSBBcnJheS5wcm90b3R5cGUuc2xpY2U7IG9ialswXSA9IDA7IG9ialsxXSA9IDE7IG9ialsyXSA9IDI7IG9ialszXSA9IDM7IG9ials0XSA9IDQ7IG9iai5sZW5ndGggPSA1OyB2YXIgYXJyID0gb2JqLnNsaWNlKC01LDMpOyBhcnIubGVuZ3RoID09PSAzLiBBY3R1YWw6ICcgKyAoYXJyLmxlbmd0aCkpOwp9ICAgICAgCgovL0NIRUNLIzMKaWYgKGFyclswXSAhPT0gMCkgewogICRFUlJPUignIzM6IHZhciBvYmogPSB7fTsgb2JqLnNsaWNlID0gQXJyYXkucHJvdG90eXBlLnNsaWNlOyBvYmpbMF0gPSAwOyBvYmpbMV0gPSAxOyBvYmpbMl0gPSAyOyBvYmpbM10gPSAzOyBvYmpbNF0gPSA0OyBvYmoubGVuZ3RoID0gNTsgdmFyIGFyciA9IG9iai5zbGljZSgtNSwzKTsgYXJyWzBdID09PSAwLiBBY3R1YWw6ICcgKyAoYXJyWzBdKSk7Cn0KCi8vQ0hFQ0sjNAppZiAoYXJyWzFdICE9PSAxKSB7CiAgJEVSUk9SKCcjNDogdmFyIG9iaiA9IHt9OyBvYmouc2xpY2UgPSBBcnJheS5wcm90b3R5cGUuc2xpY2U7IG9ialswXSA9IDA7IG9ialsxXSA9IDE7IG9ialsyXSA9IDI7IG9ialszXSA9IDM7IG9ials0XSA9IDQ7IG9iai5sZW5ndGggPSA1OyB2YXIgYXJyID0gb2JqLnNsaWNlKC01LDMpOyBhcnJbMV0gPT09IDEuIEFjdHVhbDogJyArIChhcnJbMV0pKTsKfSAgICAgIAoKLy9DSEVDSyM1CmlmIChhcnJbMl0gIT09IDIpIHsKICAkRVJST1IoJyM1OiB2YXIgb2JqID0ge307IG9iai5zbGljZSA9IEFycmF5LnByb3RvdHlwZS5zbGljZTsgb2JqWzBdID0gMDsgb2JqWzFdID0gMTsgb2JqWzJdID0gMjsgb2JqWzNdID0gMzsgb2JqWzRdID0gNDsgb2JqLmxlbmd0aCA9IDU7IHZhciBhcnIgPSBvYmouc2xpY2UoLTUsMyk7IGFyclsyXSA9PT0gMi4gQWN0dWFsOiAnICsgKGFyclsyXSkpOwp9ICAgCgovL0NIRUNLIzYKaWYgKGFyclszXSAhPT0gdW5kZWZpbmVkKSB7CiAgJEVSUk9SKCcjNjogdmFyIG9iaiA9IHt9OyBvYmouc2xpY2UgPSBBcnJheS5wcm90b3R5cGUuc2xpY2U7IG9ialswXSA9IDA7IG9ialsxXSA9IDE7IG9ialsyXSA9IDI7IG9ialszXSA9IDM7IG9ials0XSA9IDQ7IG9iai5sZW5ndGggPSA1OyB2YXIgYXJyID0gb2JqLnNsaWNlKC01LDMpOyBhcnJbM10gPT09IHVuZGVmaW5lZC4gQWN0dWFsOiAnICsgKGFyclszXSkpOwp9ICAgCgo=","commentary":"The slice function is intentionally generic.\nIt does not require that its this value be an Array object","description":"If start is negative, use max(start + length, 0).\nIf end is positive, use min(end, length)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.10/S15.4.4.10_A2_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgc2xpY2UgZnVuY3Rpb24gaXMgaW50ZW50aW9uYWxseSBnZW5lcmljLgogKiBJdCBkb2VzIG5vdCByZXF1aXJlIHRoYXQgaXRzIHRoaXMgdmFsdWUgYmUgYW4gQXJyYXkgb2JqZWN0CiAqCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjEwL1MxNS40LjQuMTBfQTJfVDMuanMKICogQGRlc2NyaXB0aW9uIElmIHN0YXJ0IGlzIHBvc2l0aXZlLCB1c2UgbWluKHN0YXJ0LCBsZW5ndGgpLgogKiBJZiBlbmQgaXMgbmVnYXRpdmUsIHVzZSBtYXgoZW5kICsgbGVuZ3RoLCAwKQogKi8KCnZhciBvYmogPSB7fTsKb2JqLnNsaWNlID0gQXJyYXkucHJvdG90eXBlLnNsaWNlOwpvYmpbMF0gPSAwOwpvYmpbMV0gPSAxOwpvYmpbMl0gPSAyOwpvYmpbM10gPSAzOwpvYmpbNF0gPSA0OwpvYmoubGVuZ3RoID0gNTsKdmFyIGFyciA9IG9iai5zbGljZSgwLC0yKTsKCi8vQ0hFQ0sjMQphcnIuZ2V0Q2xhc3MgPSBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nOwppZiAoYXJyLmdldENsYXNzKCkgIT09ICJbb2JqZWN0ICIgKyAiQXJyYXkiICsgIl0iKSB7CiAgJEVSUk9SKCcjMTogdmFyIG9iaiA9IHt9OyBvYmouc2xpY2UgPSBBcnJheS5wcm90b3R5cGUuc2xpY2U7IG9ialswXSA9IDA7IG9ialsxXSA9IDE7IG9ialsyXSA9IDI7IG9ialszXSA9IDM7IG9ials0XSA9IDQ7IG9iai5sZW5ndGggPSA1OyB2YXIgYXJyID0gb2JqLnNsaWNlKDAsLTIpOyBhcnIgaXMgQXJyYXkgb2JqZWN0LiBBY3R1YWw6ICcgKyAoYXJyLmdldENsYXNzKCkpKTsKfQoKLy9DSEVDSyMyCmlmIChhcnIubGVuZ3RoICE9PSAzKSB7CiAgJEVSUk9SKCcjMjogdmFyIG9iaiA9IHt9OyBvYmouc2xpY2UgPSBBcnJheS5wcm90b3R5cGUuc2xpY2U7IG9ialswXSA9IDA7IG9ialsxXSA9IDE7IG9ialsyXSA9IDI7IG9ialszXSA9IDM7IG9ials0XSA9IDQ7IG9iai5sZW5ndGggPSA1OyB2YXIgYXJyID0gb2JqLnNsaWNlKDAsLTIpOyBhcnIubGVuZ3RoID09PSAzLiBBY3R1YWw6ICcgKyAoYXJyLmxlbmd0aCkpOwp9ICAgICAgCgovL0NIRUNLIzMKaWYgKGFyclswXSAhPT0gMCkgewogICRFUlJPUignIzM6IHZhciBvYmogPSB7fTsgb2JqLnNsaWNlID0gQXJyYXkucHJvdG90eXBlLnNsaWNlOyBvYmpbMF0gPSAwOyBvYmpbMV0gPSAxOyBvYmpbMl0gPSAyOyBvYmpbM10gPSAzOyBvYmpbNF0gPSA0OyBvYmoubGVuZ3RoID0gNTsgdmFyIGFyciA9IG9iai5zbGljZSgwLC0yKTsgYXJyWzBdID09PSAwLiBBY3R1YWw6ICcgKyAoYXJyWzBdKSk7Cn0KCi8vQ0hFQ0sjNAppZiAoYXJyWzFdICE9PSAxKSB7CiAgJEVSUk9SKCcjNDogdmFyIG9iaiA9IHt9OyBvYmouc2xpY2UgPSBBcnJheS5wcm90b3R5cGUuc2xpY2U7IG9ialswXSA9IDA7IG9ialsxXSA9IDE7IG9ialsyXSA9IDI7IG9ialszXSA9IDM7IG9ials0XSA9IDQ7IG9iai5sZW5ndGggPSA1OyB2YXIgYXJyID0gb2JqLnNsaWNlKDAsLTIpOyBhcnJbMV0gPT09IDEuIEFjdHVhbDogJyArIChhcnJbMV0pKTsKfSAgICAgIAoKLy9DSEVDSyM1CmlmIChhcnJbMl0gIT09IDIpIHsKICAkRVJST1IoJyM1OiB2YXIgb2JqID0ge307IG9iai5zbGljZSA9IEFycmF5LnByb3RvdHlwZS5zbGljZTsgb2JqWzBdID0gMDsgb2JqWzFdID0gMTsgb2JqWzJdID0gMjsgb2JqWzNdID0gMzsgb2JqWzRdID0gNDsgb2JqLmxlbmd0aCA9IDU7IHZhciBhcnIgPSBvYmouc2xpY2UoMCwtMik7IGFyclsyXSA9PT0gMi4gQWN0dWFsOiAnICsgKGFyclsyXSkpOwp9ICAgCgovL0NIRUNLIzYKaWYgKGFyclszXSAhPT0gdW5kZWZpbmVkKSB7CiAgJEVSUk9SKCcjNjogdmFyIG9iaiA9IHt9OyBvYmouc2xpY2UgPSBBcnJheS5wcm90b3R5cGUuc2xpY2U7IG9ialswXSA9IDA7IG9ialsxXSA9IDE7IG9ialsyXSA9IDI7IG9ialszXSA9IDM7IG9ials0XSA9IDQ7IG9iai5sZW5ndGggPSA1OyB2YXIgYXJyID0gb2JqLnNsaWNlKDAsLTIpOyBhcnJbM10gPT09IHVuZGVmaW5lZC4gQWN0dWFsOiAnICsgKGFyclszXSkpOwp9ICAgCgo=","commentary":"The slice function is intentionally generic.\nIt does not require that its this value be an Array object","description":"If start is positive, use min(start, length).\nIf end is negative, use max(end + length, 0)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.10/S15.4.4.10_A2_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgc2xpY2UgZnVuY3Rpb24gaXMgaW50ZW50aW9uYWxseSBnZW5lcmljLgogKiBJdCBkb2VzIG5vdCByZXF1aXJlIHRoYXQgaXRzIHRoaXMgdmFsdWUgYmUgYW4gQXJyYXkgb2JqZWN0CiAqCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjEwL1MxNS40LjQuMTBfQTJfVDQuanMKICogQGRlc2NyaXB0aW9uIElmIHN0YXJ0IGlzIG5lZ2F0aXZlLCB1c2UgbWF4KHN0YXJ0ICsgbGVuZ3RoLCAwKS4KICogSWYgZW5kIGlzIG5lZ2F0aXZlLCB1c2UgbWF4KGVuZCArIGxlbmd0aCwgMCkKICovCgp2YXIgb2JqID0ge307Cm9iai5zbGljZSA9IEFycmF5LnByb3RvdHlwZS5zbGljZTsKb2JqWzBdID0gMDsKb2JqWzFdID0gMTsKb2JqWzJdID0gMjsKb2JqWzNdID0gMzsKb2JqWzRdID0gNDsKb2JqLmxlbmd0aCA9IDU7CnZhciBhcnIgPSBvYmouc2xpY2UoLTUsLTIpOwoKLy9DSEVDSyMxCmFyci5nZXRDbGFzcyA9IE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmc7CmlmIChhcnIuZ2V0Q2xhc3MoKSAhPT0gIltvYmplY3QgIiArICJBcnJheSIgKyAiXSIpIHsKICAkRVJST1IoJyMxOiB2YXIgb2JqID0ge307IG9iai5zbGljZSA9IEFycmF5LnByb3RvdHlwZS5zbGljZTsgb2JqWzBdID0gMDsgb2JqWzFdID0gMTsgb2JqWzJdID0gMjsgb2JqWzNdID0gMzsgb2JqWzRdID0gNDsgb2JqLmxlbmd0aCA9IDU7IHZhciBhcnIgPSBvYmouc2xpY2UoLTUsLTIpOyBhcnIgaXMgQXJyYXkgb2JqZWN0LiBBY3R1YWw6ICcgKyAoYXJyLmdldENsYXNzKCkpKTsKfQoKLy9DSEVDSyMyCmlmIChhcnIubGVuZ3RoICE9PSAzKSB7CiAgJEVSUk9SKCcjMjogdmFyIG9iaiA9IHt9OyBvYmouc2xpY2UgPSBBcnJheS5wcm90b3R5cGUuc2xpY2U7IG9ialswXSA9IDA7IG9ialsxXSA9IDE7IG9ialsyXSA9IDI7IG9ialszXSA9IDM7IG9ials0XSA9IDQ7IG9iai5sZW5ndGggPSA1OyB2YXIgYXJyID0gb2JqLnNsaWNlKC01LC0yKTsgYXJyLmxlbmd0aCA9PT0gMy4gQWN0dWFsOiAnICsgKGFyci5sZW5ndGgpKTsKfSAgICAgIAoKLy9DSEVDSyMzCmlmIChhcnJbMF0gIT09IDApIHsKICAkRVJST1IoJyMzOiB2YXIgb2JqID0ge307IG9iai5zbGljZSA9IEFycmF5LnByb3RvdHlwZS5zbGljZTsgb2JqWzBdID0gMDsgb2JqWzFdID0gMTsgb2JqWzJdID0gMjsgb2JqWzNdID0gMzsgb2JqWzRdID0gNDsgb2JqLmxlbmd0aCA9IDU7IHZhciBhcnIgPSBvYmouc2xpY2UoLTUsLTIpOyBhcnJbMF0gPT09IDAuIEFjdHVhbDogJyArIChhcnJbMF0pKTsKfQoKLy9DSEVDSyM0CmlmIChhcnJbMV0gIT09IDEpIHsKICAkRVJST1IoJyM0OiB2YXIgb2JqID0ge307IG9iai5zbGljZSA9IEFycmF5LnByb3RvdHlwZS5zbGljZTsgb2JqWzBdID0gMDsgb2JqWzFdID0gMTsgb2JqWzJdID0gMjsgb2JqWzNdID0gMzsgb2JqWzRdID0gNDsgb2JqLmxlbmd0aCA9IDU7IHZhciBhcnIgPSBvYmouc2xpY2UoLTUsLTIpOyBhcnJbMV0gPT09IDEuIEFjdHVhbDogJyArIChhcnJbMV0pKTsKfSAgICAgIAoKLy9DSEVDSyM1CmlmIChhcnJbMl0gIT09IDIpIHsKICAkRVJST1IoJyM1OiB2YXIgb2JqID0ge307IG9iai5zbGljZSA9IEFycmF5LnByb3RvdHlwZS5zbGljZTsgb2JqWzBdID0gMDsgb2JqWzFdID0gMTsgb2JqWzJdID0gMjsgb2JqWzNdID0gMzsgb2JqWzRdID0gNDsgb2JqLmxlbmd0aCA9IDU7IHZhciBhcnIgPSBvYmouc2xpY2UoLTUsLTIpOyBhcnJbMl0gPT09IDIuIEFjdHVhbDogJyArIChhcnJbMl0pKTsKfSAgIAoKLy9DSEVDSyM2CmlmIChhcnJbM10gIT09IHVuZGVmaW5lZCkgewogICRFUlJPUignIzY6IHZhciBvYmogPSB7fTsgb2JqLnNsaWNlID0gQXJyYXkucHJvdG90eXBlLnNsaWNlOyBvYmpbMF0gPSAwOyBvYmpbMV0gPSAxOyBvYmpbMl0gPSAyOyBvYmpbM10gPSAzOyBvYmpbNF0gPSA0OyBvYmoubGVuZ3RoID0gNTsgdmFyIGFyciA9IG9iai5zbGljZSgtNSwtMik7IGFyclszXSA9PT0gdW5kZWZpbmVkLiBBY3R1YWw6ICcgKyAoYXJyWzNdKSk7Cn0gICAKCg==","commentary":"The slice function is intentionally generic.\nIt does not require that its this value be an Array object","description":"If start is negative, use max(start + length, 0).\nIf end is negative, use max(end + length, 0)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.10/S15.4.4.10_A2_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgc2xpY2UgZnVuY3Rpb24gaXMgaW50ZW50aW9uYWxseSBnZW5lcmljLgogKiBJdCBkb2VzIG5vdCByZXF1aXJlIHRoYXQgaXRzIHRoaXMgdmFsdWUgYmUgYW4gQXJyYXkgb2JqZWN0CiAqCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjEwL1MxNS40LjQuMTBfQTJfVDUuanMKICogQGRlc2NyaXB0aW9uIElmIGVuZCBpcyB1bmRlZmluZWQgdXNlIGxlbmd0aAogKi8KCnZhciBvYmogPSB7fTsKb2JqLnNsaWNlID0gQXJyYXkucHJvdG90eXBlLnNsaWNlOwpvYmpbMF0gPSAwOwpvYmpbMV0gPSAxOwpvYmpbMl0gPSAyOwpvYmpbM10gPSAzOwpvYmpbNF0gPSA0OwpvYmoubGVuZ3RoID0gNTsKdmFyIGFyciA9IG9iai5zbGljZSgyKTsKCi8vQ0hFQ0sjMQphcnIuZ2V0Q2xhc3MgPSBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nOwppZiAoYXJyLmdldENsYXNzKCkgIT09ICJbb2JqZWN0ICIgKyAiQXJyYXkiICsgIl0iKSB7CiAgJEVSUk9SKCcjMTogdmFyIG9iaiA9IHt9OyBvYmouc2xpY2UgPSBBcnJheS5wcm90b3R5cGUuc2xpY2U7IG9ialswXSA9IDA7IG9ialsxXSA9IDE7IG9ialsyXSA9IDI7IG9ialszXSA9IDM7IG9ials0XSA9IDQ7IG9iai5sZW5ndGggPSA1OyB2YXIgYXJyID0gb2JqLnNsaWNlKDIpOyBhcnIgaXMgQXJyYXkgb2JqZWN0LiBBY3R1YWw6ICcgKyAoYXJyLmdldENsYXNzKCkpKTsKfQoKLy9DSEVDSyMyCmlmIChhcnIubGVuZ3RoICE9PSAzKSB7CiAgJEVSUk9SKCcjMjogdmFyIG9iaiA9IHt9OyBvYmouc2xpY2UgPSBBcnJheS5wcm90b3R5cGUuc2xpY2U7IG9ialswXSA9IDA7IG9ialsxXSA9IDE7IG9ialsyXSA9IDI7IG9ialszXSA9IDM7IG9ials0XSA9IDQ7IG9iai5sZW5ndGggPSA1OyB2YXIgYXJyID0gb2JqLnNsaWNlKDIpOyBhcnIubGVuZ3RoID09PSAzLiBBY3R1YWw6ICcgKyAoYXJyLmxlbmd0aCkpOwp9ICAgICAgCgovL0NIRUNLIzMKaWYgKGFyclswXSAhPT0gMikgewogICRFUlJPUignIzM6IHZhciBvYmogPSB7fTsgb2JqLnNsaWNlID0gQXJyYXkucHJvdG90eXBlLnNsaWNlOyBvYmpbMF0gPSAwOyBvYmpbMV0gPSAxOyBvYmpbMl0gPSAyOyBvYmpbM10gPSAzOyBvYmpbNF0gPSA0OyBvYmoubGVuZ3RoID0gNTsgdmFyIGFyciA9IG9iai5zbGljZSgyKTsgYXJyWzBdID09PSAyLiBBY3R1YWw6ICcgKyAoYXJyWzBdKSk7Cn0KCi8vQ0hFQ0sjNAppZiAoYXJyWzFdICE9PSAzKSB7CiAgJEVSUk9SKCcjNDogdmFyIG9iaiA9IHt9OyBvYmouc2xpY2UgPSBBcnJheS5wcm90b3R5cGUuc2xpY2U7IG9ialswXSA9IDA7IG9ialsxXSA9IDE7IG9ialsyXSA9IDI7IG9ialszXSA9IDM7IG9ials0XSA9IDQ7IG9iai5sZW5ndGggPSA1OyB2YXIgYXJyID0gb2JqLnNsaWNlKDIpOyBhcnJbMV0gPT09IDMuIEFjdHVhbDogJyArIChhcnJbMV0pKTsKfSAgICAgIAoKLy9DSEVDSyM1CmlmIChhcnJbMl0gIT09IDQpIHsKICAkRVJST1IoJyM1OiB2YXIgb2JqID0ge307IG9iai5zbGljZSA9IEFycmF5LnByb3RvdHlwZS5zbGljZTsgb2JqWzBdID0gMDsgb2JqWzFdID0gMTsgb2JqWzJdID0gMjsgb2JqWzNdID0gMzsgb2JqWzRdID0gNDsgb2JqLmxlbmd0aCA9IDU7IHZhciBhcnIgPSBvYmouc2xpY2UoMik7IGFyclsyXSA9PT0gNC4gQWN0dWFsOiAnICsgKGFyclsyXSkpOwp9ICAgCgovL0NIRUNLIzYKaWYgKGFyclszXSAhPT0gdW5kZWZpbmVkKSB7CiAgJEVSUk9SKCcjNjogdmFyIG9iaiA9IHt9OyBvYmouc2xpY2UgPSBBcnJheS5wcm90b3R5cGUuc2xpY2U7IG9ialswXSA9IDA7IG9ialsxXSA9IDE7IG9ialsyXSA9IDI7IG9ialszXSA9IDM7IG9ials0XSA9IDQ7IG9iai5sZW5ndGggPSA1OyB2YXIgYXJyID0gb2JqLnNsaWNlKDIpOyBhcnJbM10gPT09IHVuZGVmaW5lZC4gQWN0dWFsOiAnICsgKGFyclszXSkpOwp9ICAgCgo=","commentary":"The slice function is intentionally generic.\nIt does not require that its this value be an Array object","description":"If end is undefined use length","path":"TestCases/ch15/15.4/15.4.4/15.4.4.10/S15.4.4.10_A2_T5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgc2xpY2UgZnVuY3Rpb24gaXMgaW50ZW50aW9uYWxseSBnZW5lcmljLgogKiBJdCBkb2VzIG5vdCByZXF1aXJlIHRoYXQgaXRzIHRoaXMgdmFsdWUgYmUgYW4gQXJyYXkgb2JqZWN0CiAqCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjEwL1MxNS40LjQuMTBfQTJfVDYuanMKICogQGRlc2NyaXB0aW9uIElmIGVuZCBpcyB1bmRlZmluZWQgdXNlIGxlbmd0aAogKi8KCnZhciBvYmogPSB7fTsKb2JqLnNsaWNlID0gQXJyYXkucHJvdG90eXBlLnNsaWNlOwpvYmpbMF0gPSAwOwpvYmpbMV0gPSAxOwpvYmpbMl0gPSAyOwpvYmpbM10gPSAzOwpvYmpbNF0gPSA0OwpvYmoubGVuZ3RoID0gNTsKdmFyIGFyciA9IG9iai5zbGljZSgyLCB1bmRlZmluZWQpOwoKLy9DSEVDSyMxCmFyci5nZXRDbGFzcyA9IE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmc7CmlmIChhcnIuZ2V0Q2xhc3MoKSAhPT0gIltvYmplY3QgIiArICJBcnJheSIgKyAiXSIpIHsKICAkRVJST1IoJyMxOiB2YXIgb2JqID0ge307IG9iai5zbGljZSA9IEFycmF5LnByb3RvdHlwZS5zbGljZTsgb2JqWzBdID0gMDsgb2JqWzFdID0gMTsgb2JqWzJdID0gMjsgb2JqWzNdID0gMzsgb2JqWzRdID0gNDsgb2JqLmxlbmd0aCA9IDU7IHZhciBhcnIgPSBvYmouc2xpY2UoMiwgdW5kZWZpbmVkKTsgYXJyIGlzIEFycmF5IG9iamVjdC4gQWN0dWFsOiAnICsgKGFyci5nZXRDbGFzcygpKSk7Cn0KCi8vQ0hFQ0sjMgppZiAoYXJyLmxlbmd0aCAhPT0gMykgewogICRFUlJPUignIzI6IHZhciBvYmogPSB7fTsgb2JqLnNsaWNlID0gQXJyYXkucHJvdG90eXBlLnNsaWNlOyBvYmpbMF0gPSAwOyBvYmpbMV0gPSAxOyBvYmpbMl0gPSAyOyBvYmpbM10gPSAzOyBvYmpbNF0gPSA0OyBvYmoubGVuZ3RoID0gNTsgdmFyIGFyciA9IG9iai5zbGljZSgyLCB1bmRlZmluZWQpOyBhcnIubGVuZ3RoID09PSAzLiBBY3R1YWw6ICcgKyAoYXJyLmxlbmd0aCkpOwp9ICAgICAgCgovL0NIRUNLIzMKaWYgKGFyclswXSAhPT0gMikgewogICRFUlJPUignIzM6IHZhciBvYmogPSB7fTsgb2JqLnNsaWNlID0gQXJyYXkucHJvdG90eXBlLnNsaWNlOyBvYmpbMF0gPSAwOyBvYmpbMV0gPSAxOyBvYmpbMl0gPSAyOyBvYmpbM10gPSAzOyBvYmpbNF0gPSA0OyBvYmoubGVuZ3RoID0gNTsgdmFyIGFyciA9IG9iai5zbGljZSgyLCB1bmRlZmluZWQpOyBhcnJbMF0gPT09IDIuIEFjdHVhbDogJyArIChhcnJbMF0pKTsKfQoKLy9DSEVDSyM0CmlmIChhcnJbMV0gIT09IDMpIHsKICAkRVJST1IoJyM0OiB2YXIgb2JqID0ge307IG9iai5zbGljZSA9IEFycmF5LnByb3RvdHlwZS5zbGljZTsgb2JqWzBdID0gMDsgb2JqWzFdID0gMTsgb2JqWzJdID0gMjsgb2JqWzNdID0gMzsgb2JqWzRdID0gNDsgb2JqLmxlbmd0aCA9IDU7IHZhciBhcnIgPSBvYmouc2xpY2UoMiwgdW5kZWZpbmVkKTsgYXJyWzFdID09PSAzLiBBY3R1YWw6ICcgKyAoYXJyWzFdKSk7Cn0gICAgICAKCi8vQ0hFQ0sjNQppZiAoYXJyWzJdICE9PSA0KSB7CiAgJEVSUk9SKCcjNTogdmFyIG9iaiA9IHt9OyBvYmouc2xpY2UgPSBBcnJheS5wcm90b3R5cGUuc2xpY2U7IG9ialswXSA9IDA7IG9ialsxXSA9IDE7IG9ialsyXSA9IDI7IG9ialszXSA9IDM7IG9ials0XSA9IDQ7IG9iai5sZW5ndGggPSA1OyB2YXIgYXJyID0gb2JqLnNsaWNlKDIsIHVuZGVmaW5lZCk7IGFyclsyXSA9PT0gNC4gQWN0dWFsOiAnICsgKGFyclsyXSkpOwp9ICAgCgovL0NIRUNLIzYKaWYgKGFyclszXSAhPT0gdW5kZWZpbmVkKSB7CiAgJEVSUk9SKCcjNjogdmFyIG9iaiA9IHt9OyBvYmouc2xpY2UgPSBBcnJheS5wcm90b3R5cGUuc2xpY2U7IG9ialswXSA9IDA7IG9ialsxXSA9IDE7IG9ialsyXSA9IDI7IG9ialszXSA9IDM7IG9ials0XSA9IDQ7IG9iai5sZW5ndGggPSA1OyB2YXIgYXJyID0gb2JqLnNsaWNlKDIsIHVuZGVmaW5lZCk7IGFyclszXSA9PT0gdW5kZWZpbmVkLiBBY3R1YWw6ICcgKyAoYXJyWzNdKSk7Cn0gICAKCg==","commentary":"The slice function is intentionally generic.\nIt does not require that its this value be an Array object","description":"If end is undefined use length","path":"TestCases/ch15/15.4/15.4.4/15.4.4.10/S15.4.4.10_A2_T6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBDaGVjayBUb1VpbnQzMihsZW5ndGgpIGZvciBub24gQXJyYXkgb2JqZWN0cwogKgogKiBAcGF0aCBjaDE1LzE1LjQvMTUuNC40LzE1LjQuNC4xMC9TMTUuNC40LjEwX0EzX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBsZW5ndGggPSA0Mjk0OTY3Mjk2CiAqLwoKdmFyIG9iaiA9IHt9OwpvYmouc2xpY2UgPSBBcnJheS5wcm90b3R5cGUuc2xpY2U7Cm9ialswXSA9ICJ4IjsKb2JqWzQyOTQ5NjcyOTVdID0gInkiOwpvYmoubGVuZ3RoID0gNDI5NDk2NzI5NjsKdmFyIGFyciA9IG9iai5zbGljZSgwLDQyOTQ5NjcyOTYpOwoKLy9DSEVDSyMxCmlmIChhcnIubGVuZ3RoICE9PSAwKSB7CiAgJEVSUk9SKCcjMTogdmFyIG9iaiA9IHt9OyBvYmouc2xpY2UgPSBBcnJheS5wcm90b3R5cGUuc2xpY2U7IG9ialswXSA9ICJ4Ijsgb2JqWzQyOTQ5NjcyOTVdID0gInkiOyBvYmoubGVuZ3RoID0gNDI5NDk2NzI5NjsgdmFyIGFyciA9IG9iai5zbGljZSgwLDQyOTQ5NjcyOTYpOyBhcnIubGVuZ3RoID09PSAwLiBBY3R1YWw6ICcgKyAoYXJyLmxlbmd0aCkpOwp9CgovL0NIRUNLIzIKaWYgKGFyclswXSAhPT0gdW5kZWZpbmVkKSB7CiAgICRFUlJPUignIzI6IHZhciBvYmogPSB7fTsgb2JqLnNsaWNlID0gQXJyYXkucHJvdG90eXBlLnNsaWNlOyBvYmpbMF0gPSAieCI7IG9ials0Mjk0OTY3Mjk1XSA9ICJ5Ijsgb2JqLmxlbmd0aCA9IDQyOTQ5NjcyOTY7IHZhciBhcnIgPSBvYmouc2xpY2UoMCw0Mjk0OTY3Mjk2KTsgYXJyWzBdID09PSB1bmRlZmluZWQuIEFjdHVhbDogJyArIChhcnJbMF0pKTsKfSAgCgovL0NIRUNLIzMKaWYgKGFycls0Mjk0OTY3Mjk1XSAhPT0gdW5kZWZpbmVkKSB7CiAgICRFUlJPUignIzM6IHZhciBvYmogPSB7fTsgb2JqLnNsaWNlID0gQXJyYXkucHJvdG90eXBlLnNsaWNlOyBvYmpbMF0gPSAieCI7IG9ials0Mjk0OTY3Mjk1XSA9ICJ5Ijsgb2JqLmxlbmd0aCA9IDQyOTQ5NjcyOTY7IHZhciBhcnIgPSBvYmouc2xpY2UoMCw0Mjk0OTY3Mjk2KTsgYXJyWzQyOTQ5NjcyOTVdID09PSB1bmRlZmluZWQuIEFjdHVhbDogJyArIChhcnJbNDI5NDk2NzI5NV0pKTsKfSAgCgo=","commentary":"Check ToUint32(length) for non Array objects","description":"length = 4294967296","path":"TestCases/ch15/15.4/15.4.4/15.4.4.10/S15.4.4.10_A3_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBDaGVjayBUb1VpbnQzMihsZW5ndGgpIGZvciBub24gQXJyYXkgb2JqZWN0cwogKgogKiBAcGF0aCBjaDE1LzE1LjQvMTUuNC40LzE1LjQuNC4xMC9TMTUuNC40LjEwX0EzX1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBsZW5ndGggPSA0Mjk0OTY3Mjk3CiAqLwoKdmFyIG9iaiA9IHt9OwpvYmouc2xpY2UgPSBBcnJheS5wcm90b3R5cGUuc2xpY2U7Cm9ialswXSA9ICJ4IjsKb2JqWzQyOTQ5NjcyOTZdID0gInkiOwpvYmoubGVuZ3RoID0gNDI5NDk2NzI5NzsKdmFyIGFyciA9IG9iai5zbGljZSgwLDQyOTQ5NjcyOTcpOwoKLy9DSEVDSyMxCmlmIChhcnIubGVuZ3RoICE9PSAxKSB7CiAgJEVSUk9SKCcjMTogdmFyIG9iaiA9IHt9OyBvYmouc2xpY2UgPSBBcnJheS5wcm90b3R5cGUuc2xpY2U7IG9ialswXSA9ICJ4Ijsgb2JqWzQyOTQ5NjcyOTZdID0gInkiOyBvYmoubGVuZ3RoID0gNDI5NDk2NzI5NzsgdmFyIGFyciA9IG9iai5zbGljZSgwLDQyOTQ5NjcyOTcpOyBhcnIubGVuZ3RoID09PSAxLiBBY3R1YWw6ICcgKyAoYXJyLmxlbmd0aCkpOwp9CgovL0NIRUNLIzIKaWYgKGFyclswXSAhPT0gIngiKSB7CiAgICRFUlJPUignIzI6IHZhciBvYmogPSB7fTsgb2JqLnNsaWNlID0gQXJyYXkucHJvdG90eXBlLnNsaWNlOyBvYmpbMF0gPSAieCI7IG9ials0Mjk0OTY3Mjk2XSA9ICJ5Ijsgb2JqLmxlbmd0aCA9IDQyOTQ5NjcyOTc7IHZhciBhcnIgPSBvYmouc2xpY2UoMCw0Mjk0OTY3Mjk3KTsgYXJyWzBdID09PSAieCIuIEFjdHVhbDogJyArIChhcnJbMF0pKTsKfQoKLy9DSEVDSyMzCmlmIChhcnJbNDI5NDk2NzI5Nl0gIT09IHVuZGVmaW5lZCkgewogICAkRVJST1IoJyMzOiB2YXIgb2JqID0ge307IG9iai5zbGljZSA9IEFycmF5LnByb3RvdHlwZS5zbGljZTsgb2JqWzBdID0gIngiOyBvYmpbNDI5NDk2NzI5Nl0gPSAieSI7IG9iai5sZW5ndGggPSA0Mjk0OTY3Mjk3OyB2YXIgYXJyID0gb2JqLnNsaWNlKDAsNDI5NDk2NzI5Nyk7IGFycls0Mjk0OTY3Mjk2XSA9PT0gdW5kZWZpbmVkLiBBY3R1YWw6ICcgKyAoYXJyWzQyOTQ5NjcyOTZdKSk7Cn0gIAoK","commentary":"Check ToUint32(length) for non Array objects","description":"length = 4294967297","path":"TestCases/ch15/15.4/15.4.4/15.4.4.10/S15.4.4.10_A3_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBDaGVjayBUb1VpbnQzMihsZW5ndGgpIGZvciBub24gQXJyYXkgb2JqZWN0cwogKgogKiBAcGF0aCBjaDE1LzE1LjQvMTUuNC40LzE1LjQuNC4xMC9TMTUuNC40LjEwX0EzX1QzLmpzCiAqIEBkZXNjcmlwdGlvbiBsZW5ndGggPSAtMQogKi8KCnZhciBvYmogPSB7fTsKb2JqLnNsaWNlID0gQXJyYXkucHJvdG90eXBlLnNsaWNlOwpvYmpbNDI5NDk2NzI5NF0gPSAieCI7Cm9iai5sZW5ndGggPSAtMTsKdmFyIGFyciA9IG9iai5zbGljZSg0Mjk0OTY3Mjk0LDQyOTQ5NjcyOTUpOwoKLy9DSEVDSyMxCmlmIChhcnIubGVuZ3RoICE9PSAxKSB7CiAgJEVSUk9SKCcjMTogdmFyIG9iaiA9IHt9OyBvYmouc2xpY2UgPSBBcnJheS5wcm90b3R5cGUuc2xpY2U7IG9ials0Mjk0OTY3Mjk0XSA9ICJ4Ijsgb2JqLmxlbmd0aCA9IDQyOTQ5NjcyOTU7IHZhciBhcnIgPSBvYmouc2xpY2UoNDI5NDk2NzI5NCw0Mjk0OTY3Mjk1KTsgYXJyLmxlbmd0aCA9PT0gMS4gQWN0dWFsOiAnICsgKGFyci5sZW5ndGgpKTsKfQoKLy9DSEVDSyMzCmlmIChhcnJbMF0gIT09ICJ4IikgewogICAkRVJST1IoJyMzOiB2YXIgb2JqID0ge307IG9iai5zbGljZSA9IEFycmF5LnByb3RvdHlwZS5zbGljZTsgb2JqWzQyOTQ5NjcyOTRdID0gIngiOyBvYmoubGVuZ3RoID0gNDI5NDk2NzI5NTsgdmFyIGFyciA9IG9iai5zbGljZSg0Mjk0OTY3Mjk0LDQyOTQ5NjcyOTUpOyBhcnJbMF0gPT09ICJ4Ii4gQWN0dWFsOiAnICsgKGFyclswXSkpOwp9ICAKCg==","commentary":"Check ToUint32(length) for non Array objects","description":"length = -1","path":"TestCases/ch15/15.4/15.4.4/15.4.4.10/S15.4.4.10_A3_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBbW0dldF1dIGZyb20gbm90IGFuIGluaGVyaXRlZCBwcm9wZXJ0eQogKgogKiBAcGF0aCBjaDE1LzE1LjQvMTUuNC40LzE1LjQuNC4xMC9TMTUuNC40LjEwX0E0X1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBbW1Byb3RvdHlwZV1dIG9mIEFycmF5IGluc3RhbmNlIGlzIEFycmF5LnByb3RvdHlwZQogKi8KCkFycmF5LnByb3RvdHlwZVsxXSA9IDE7CnZhciB4ID0gWzBdOwp4Lmxlbmd0aCA9IDI7CnZhciBhcnIgPSB4LnNsaWNlKCk7CgovL0NIRUNLIzEKaWYgKGFyclswXSAhPT0gMCkgeyAgCiAgJEVSUk9SKCcjMTogQXJyYXkucHJvdG90eXBlWzFdID0gMTsgeCA9IFswXTsgeC5sZW5ndGggPSAyOyB2YXIgYXJyID0geC5zbGljZSgpOyBhcnJbMF0gPT09IDAuIEFjdHVhbDogJyArIChhcnJbMF0pKTsgICAgCn0KCi8vQ0hFQ0sjMgppZiAoYXJyWzFdICE9PSAxKSB7ICAKICAkRVJST1IoJyMyOiBBcnJheS5wcm90b3R5cGVbMV0gPSAxOyB4ID0gWzBdOyB4Lmxlbmd0aCA9IDI7IHZhciBhcnIgPSB4LnNsaWNlKCk7IGFyclsxXSA9PT0gMS4gQWN0dWFsOiAnICsgKGFyclsxXSkpOyAgICAKfQoKLy9DSEVDSyMzCmlmIChhcnIuaGFzT3duUHJvcGVydHkoJzEnKSAhPT0gdHJ1ZSkgeyAgCiAgJEVSUk9SKCcjMzogQXJyYXkucHJvdG90eXBlWzFdID0gMTsgeCA9IFswXTsgeC5sZW5ndGggPSAyOyB2YXIgYXJyID0geC5zbGljZSgpOyBhcnIuaGFzT3duUHJvcGVydHkoXCcxXCcpID09PSB0cnVlLiBBY3R1YWw6ICcgKyAoYXJyLmhhc093blByb3BlcnR5KCcxJykpKTsgICAgCn0KCg==","commentary":"[[Get]] from not an inherited property","description":"[[Prototype]] of Array instance is Array.prototype","path":"TestCases/ch15/15.4/15.4.4/15.4.4.10/S15.4.4.10_A4_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgbGVuZ3RoIHByb3BlcnR5IG9mIHNsaWNlIGhhcyB0aGUgYXR0cmlidXRlIERvbnRFbnVtCiAqCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjEwL1MxNS40LjQuMTBfQTUuMS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgdXNlIHByb3BlcnR5SXNFbnVtZXJhYmxlLCBmb3ItaW4KICovCgovL0NIRUNLIzEKaWYgKEFycmF5LnByb3RvdHlwZS5zbGljZS5wcm9wZXJ0eUlzRW51bWVyYWJsZSgnbGVuZ3RoJykgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjMTogQXJyYXkucHJvdG90eXBlLnNsaWNlLnByb3BlcnR5SXNFbnVtZXJhYmxlKFwnbGVuZ3RoXCcpID09PSBmYWxzZS4gQWN0dWFsOiAnICsgKEFycmF5LnByb3RvdHlwZS5zbGljZS5wcm9wZXJ0eUlzRW51bWVyYWJsZSgnbGVuZ3RoJykpKTsKfQoKLy9DSEVDSyMyCnZhciByZXN1bHQgPSB0cnVlOwpmb3IgKHZhciBwIGluIEFycmF5LnNsaWNlKXsKICBpZiAocCA9PT0gImxlbmd0aCIpIHsKICAgIHJlc3VsdCA9IGZhbHNlOwogIH0gIAp9CgppZiAocmVzdWx0ICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMjogcmVzdWx0ID0gdHJ1ZTsgZm9yIChwIGluIEFycmF5LnNsaWNlKSB7IGlmIChwID09PSAibGVuZ3RoIikgcmVzdWx0ID0gZmFsc2U7IH0gIHJlc3VsdCA9PT0gdHJ1ZTsnKTsKfQoKCg==","commentary":"The length property of slice has the attribute DontEnum","description":"Checking use propertyIsEnumerable, for-in","path":"TestCases/ch15/15.4/15.4.4/15.4.4.10/S15.4.4.10_A5.1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgbGVuZ3RoIHByb3BlcnR5IG9mIHNsaWNlIGhhcyB0aGUgYXR0cmlidXRlIERvbnREZWxldGUKICoKICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTAvUzE1LjQuNC4xMF9BNS4yLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyB1c2UgaGFzT3duUHJvcGVydHksIGRlbGV0ZQogKi8KCi8vQ0hFQ0sjMQppZiAoQXJyYXkucHJvdG90eXBlLnNsaWNlLmhhc093blByb3BlcnR5KCdsZW5ndGgnKSAhPT0gdHJ1ZSkgewogICRGQUlMKCcjMTogQXJyYXkucHJvdG90eXBlLnNsaWNlLmhhc093blByb3BlcnR5KFwnbGVuZ3RoXCcpID09PSB0cnVlLiBBY3R1YWw6ICcgKyAoQXJyYXkucHJvdG90eXBlLnNsaWNlLmhhc093blByb3BlcnR5KCdsZW5ndGgnKSkpOwp9CgpkZWxldGUgQXJyYXkucHJvdG90eXBlLnNsaWNlLmxlbmd0aDsKCi8vQ0hFQ0sjMgppZiAoQXJyYXkucHJvdG90eXBlLnNsaWNlLmhhc093blByb3BlcnR5KCdsZW5ndGgnKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzI6IGRlbGV0ZSBBcnJheS5wcm90b3R5cGUuc2xpY2UubGVuZ3RoOyBBcnJheS5wcm90b3R5cGUuc2xpY2UuaGFzT3duUHJvcGVydHkoXCdsZW5ndGhcJykgPT09IHRydWUuIEFjdHVhbDogJyArIChBcnJheS5wcm90b3R5cGUuc2xpY2UuaGFzT3duUHJvcGVydHkoJ2xlbmd0aCcpKSk7Cn0KCi8vQ0hFQ0sjMwppZiAoQXJyYXkucHJvdG90eXBlLnNsaWNlLmxlbmd0aCA9PT0gdW5kZWZpbmVkKSB7CiAgJEVSUk9SKCcjMzogZGVsZXRlIEFycmF5LnByb3RvdHlwZS5zbGljZS5sZW5ndGg7IEFycmF5LnByb3RvdHlwZS5zbGljZS5sZW5ndGggIT09IHVuZGVmaW5lZCcpOwp9CgoKCg==","commentary":"The length property of slice has the attribute DontDelete","description":"Checking use hasOwnProperty, delete","path":"TestCases/ch15/15.4/15.4.4/15.4.4.10/S15.4.4.10_A5.2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgbGVuZ3RoIHByb3BlcnR5IG9mIHNsaWNlIGhhcyB0aGUgYXR0cmlidXRlIFJlYWRPbmx5CiAqCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjEwL1MxNS40LjQuMTBfQTUuMy5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgaWYgdmFyeWluZyB0aGUgbGVuZ3RoIHByb3BlcnR5IGZhaWxzCiAqIEBub1N0cmljdAogKi8KCi8vQ0hFQ0sjMQp2YXIgeCA9IEFycmF5LnByb3RvdHlwZS5zbGljZS5sZW5ndGg7CkFycmF5LnByb3RvdHlwZS5zbGljZS5sZW5ndGggPSBJbmZpbml0eTsKaWYgKEFycmF5LnByb3RvdHlwZS5zbGljZS5sZW5ndGggIT09IHgpIHsKICAkRVJST1IoJyMxOiB4ID0gQXJyYXkucHJvdG90eXBlLnNsaWNlLmxlbmd0aDsgQXJyYXkucHJvdG90eXBlLnNsaWNlLmxlbmd0aCA9IEluZmluaXR5OyBBcnJheS5wcm90b3R5cGVzbGljZS5sZW5ndGggPT09IHguIEFjdHVhbDogJyArIChBcnJheS5wcm90b3R5cGVzbGljZS5sZW5ndGgpKTsKfQoKCg==","commentary":"The length property of slice has the attribute ReadOnly","description":"Checking if varying the length property fails","noStrict":"","path":"TestCases/ch15/15.4/15.4.4/15.4.4.10/S15.4.4.10_A5.3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgbGVuZ3RoIHByb3BlcnR5IG9mIHNsaWNlIGlzIDIKICoKICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTAvUzE1LjQuNC4xMF9BNS40LmpzCiAqIEBkZXNjcmlwdGlvbiBzbGljZS5sZW5ndGggPT09IDIKICovCgovL0NIRUNLIzEKaWYgKEFycmF5LnByb3RvdHlwZS5zbGljZS5sZW5ndGggIT09IDIpIHsKICAkRVJST1IoJyMxOiBBcnJheS5wcm90b3R5cGUuc2xpY2UubGVuZ3RoID09PSAyLiBBY3R1YWw6ICcgKyAoQXJyYXkucHJvdG90eXBlLnNsaWNlLmxlbmd0aCkpOwp9CgoK","commentary":"The length property of slice is 2","description":"slice.length === 2","path":"TestCases/ch15/15.4/15.4.4/15.4.4.10/S15.4.4.10_A5.4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgc2xpY2UgcHJvcGVydHkgb2YgQXJyYXkgaGFzIHRoZSBhdHRyaWJ1dGUgRG9udEVudW0KICoKICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTAvUzE1LjQuNC4xMF9BNS41LmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyB1c2UgcHJvcGVydHlJc0VudW1lcmFibGUsIGZvci1pbgogKi8KCi8vQ0hFQ0sjMQppZiAoQXJyYXkucHJvcGVydHlJc0VudW1lcmFibGUoJ3NsaWNlJykgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjMTogQXJyYXkucHJvcGVydHlJc0VudW1lcmFibGUoXCdzbGljZVwnKSA9PT0gZmFsc2UuIEFjdHVhbDogJyArIChBcnJheS5wcm9wZXJ0eUlzRW51bWVyYWJsZSgnc2xpY2UnKSkpOwp9CgovL0NIRUNLIzIKdmFyIHJlc3VsdCA9IHRydWU7CmZvciAodmFyIHAgaW4gQXJyYXkpewogIGlmIChwID09PSAic2xpY2UiKSB7CiAgICByZXN1bHQgPSBmYWxzZTsKICB9ICAKfQoKaWYgKHJlc3VsdCAhPT0gdHJ1ZSkgewogICRFUlJPUignIzI6IHJlc3VsdCA9IHRydWU7IGZvciAocCBpbiBBcnJheSkgeyBpZiAocCA9PT0gInNsaWNlIikgcmVzdWx0ID0gZmFsc2U7IH0gIHJlc3VsdCA9PT0gdHJ1ZTsnKTsKfQoKCg==","commentary":"The slice property of Array has the attribute DontEnum","description":"Checking use propertyIsEnumerable, for-in","path":"TestCases/ch15/15.4/15.4.4/15.4.4.10/S15.4.4.10_A5.5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgc2xpY2UgcHJvcGVydHkgb2YgQXJyYXkgaGFzIG5vdCBwcm90b3R5cGUgcHJvcGVydHkKICoKICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTAvUzE1LjQuNC4xMF9BNS42LmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBBcnJheS5wcm90b3R5cGUuc2xpY2UucHJvdG90eXBlCiAqLwoKLy9DSEVDSyMxCmlmIChBcnJheS5wcm90b3R5cGUuc2xpY2UucHJvdG90eXBlICE9PSB1bmRlZmluZWQpIHsKICAkRVJST1IoJyMxOiBBcnJheS5wcm90b3R5cGUuc2xpY2UucHJvdG90eXBlID09PSB1bmRlZmluZWQuIEFjdHVhbDogJyArIChBcnJheS5wcm90b3R5cGUuc2xpY2UucHJvdG90eXBlKSk7Cn0KCg==","commentary":"The slice property of Array has not prototype property","description":"Checking Array.prototype.slice.prototype","path":"TestCases/ch15/15.4/15.4.4/15.4.4.10/S15.4.4.10_A5.6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgc2xpY2UgcHJvcGVydHkgb2YgQXJyYXkgY2FuJ3QgYmUgdXNlZCBhcyBjb25zdHJ1Y3RvcgogKgogKiBAcGF0aCBjaDE1LzE1LjQvMTUuNC40LzE1LjQuNC4xMC9TMTUuNC40LjEwX0E1LjcuanMKICogQGRlc2NyaXB0aW9uIElmIHByb3BlcnR5IGRvZXMgbm90IGltcGxlbWVudCB0aGUgaW50ZXJuYWwgW1tDb25zdHJ1Y3RdXSBtZXRob2QsIHRocm93IGEgVHlwZUVycm9yIGV4Y2VwdGlvbgogKi8KCi8vQ0hFQ0sjMQoKdHJ5IHsKICBuZXcgQXJyYXkucHJvdG90eXBlLnNsaWNlKCk7CiAgJEVSUk9SKCcjMS4xOiBuZXcgQXJyYXkucHJvdG90eXBlLnNsaWNlKCkgdGhyb3cgVHlwZUVycm9yLiBBY3R1YWw6ICcgKyAobmV3IEFycmF5LnByb3RvdHlwZS5zbGljZSgpKSk7Cn0gY2F0Y2ggKGUpIHsKICBpZiAoKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpICE9PSB0cnVlKSB7CiAgICAkRVJST1IoJyMxLjI6IG5ldyBBcnJheS5wcm90b3R5cGUuc2xpY2UoKSB0aHJvdyBUeXBlRXJyb3IuIEFjdHVhbDogJyArIChlKSk7CiAgfQp9Cgo=","commentary":"The slice property of Array can't be used as constructor","description":"If property does not implement the internal [[Construct]] method, throw a TypeError exception","path":"TestCases/ch15/15.4/15.4.4/15.4.4.10/S15.4.4.10_A5.7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB0aGlzIG9iamVjdCBkb2VzIG5vdCBoYXZlIGEgcHJvcGVydHkgbmFtZWQgYnkgVG9TdHJpbmcoaiksCiAqIGFuZCB0aGlzIG9iamVjdCBkb2VzIG5vdCBoYXZlIGEgcHJvcGVydHkgbmFtZWQgYnkgVG9TdHJpbmcoayksIHJldHVybiArMAogKgogKiBAcGF0aCBjaDE1LzE1LjQvMTUuNC40LzE1LjQuNC4xMS9TMTUuNC40LjExX0ExLjFfVDEuanMKICogQGRlc2NyaXB0aW9uIElmIGNvbXBhcmVmbiBpcyB1bmRlZmluZWQsIHVzZSBTb3J0Q29tcGFyZSBvcGVyYXRvcgogKi8KCnZhciB4ID0gbmV3IEFycmF5KDIpOyAKeC5zb3J0KCk7CgovL0NIRUNLIzEKaWYgKHgubGVuZ3RoICE9PSAyKSB7CiAgJEVSUk9SKCcjMTogdmFyIHggPSBuZXcgQXJyYXkoMik7IHguc29ydCgpOyB4Lmxlbmd0aCA9PT0gMi4gQWN0dWFsOiAnICsgKHgubGVuZ3RoKSk7Cn0KCi8vQ0hFQ0sjMgppZiAoeFswXSAhPT0gdW5kZWZpbmVkKSB7CiAgJEVSUk9SKCcjMjogdmFyIHggPSBuZXcgQXJyYXkoMik7IHguc29ydCgpOyB4WzBdID09PSB1bmRlZmluZWQuIEFjdHVhbDogJyArICh4WzBdKSk7Cn0gICAgCgovL0NIRUNLIzMKaWYgKHhbMV0gIT09IHVuZGVmaW5lZCkgewogICRFUlJPUignIzM6IHZhciB4ID0gbmV3IEFycmF5KDIpOyB4LnNvcnQoKTsgeFsxXSA9PT0gdW5kZWZpbmVkLiBBY3R1YWw6ICcgKyAoeFsxXSkpOwp9ICAKCg==","commentary":"If this object does not have a property named by ToString(j),\nand this object does not have a property named by ToString(k), return +0","description":"If comparefn is undefined, use SortCompare operator","path":"TestCases/ch15/15.4/15.4.4/15.4.4.11/S15.4.4.11_A1.1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB0aGlzIG9iamVjdCBkb2VzIG5vdCBoYXZlIGEgcHJvcGVydHkgbmFtZWQgYnkKICogVG9TdHJpbmcoaiksIHJldHVybiAxLiBJZiB0aGlzIG9iamVjdCBkb2VzIG5vdCBoYXZlIGEgcHJvcGVydHkKICogbmFtZWQgYnkgVG9TdHJpbmcoayksIHJldHVybiAtMQogKgogKiBAcGF0aCBjaDE1LzE1LjQvMTUuNC40LzE1LjQuNC4xMS9TMTUuNC40LjExX0ExLjJfVDEuanMKICogQGRlc2NyaXB0aW9uIElmIGNvbXBhcmVmbiBpcyB1bmRlZmluZWQsIHVzZSBTb3J0Q29tcGFyZSBvcGVyYXRvcgogKi8KCnZhciB4ID0gbmV3IEFycmF5KDIpOwp4WzFdID0gMTsgCnguc29ydCgpOwoKLy9DSEVDSyMxCmlmICh4Lmxlbmd0aCAhPT0gMikgewogICRFUlJPUignIzE6IHZhciB4ID0gbmV3IEFycmF5KDIpOyB4WzFdID0gMTsgIHguc29ydCgpOyB4Lmxlbmd0aCA9PT0gMi4gQWN0dWFsOiAnICsgKHgubGVuZ3RoKSk7Cn0KCi8vQ0hFQ0sjMgppZiAoeFswXSAhPT0gMSkgewogICRFUlJPUignIzI6IHZhciB4ID0gbmV3IEFycmF5KDIpOyB4WzFdID0gMTsgIHguc29ydCgpOyB4WzBdID09PSAxLiBBY3R1YWw6ICcgKyAoeFswXSkpOwp9ICAgIAoKLy9DSEVDSyMzCmlmICh4WzFdICE9PSB1bmRlZmluZWQpIHsKICAkRVJST1IoJyMzOiB2YXIgeCA9IG5ldyBBcnJheSgyKTsgeFsxXSA9IDE7ICB4LnNvcnQoKTsgeFsxXSA9PT0gdW5kZWZpbmVkLiBBY3R1YWw6ICcgKyAoeFsxXSkpOwp9Cgp2YXIgeCA9IG5ldyBBcnJheSgyKTsKeFswXSA9IDE7IAp4LnNvcnQoKTsKCi8vQ0hFQ0sjNAppZiAoeC5sZW5ndGggIT09IDIpIHsKICAkRVJST1IoJyM0OiB2YXIgeCA9IG5ldyBBcnJheSgyKTsgeFswXSA9IDE7ICB4LnNvcnQoKTsgeC5sZW5ndGggPT09IDIuIEFjdHVhbDogJyArICh4Lmxlbmd0aCkpOwp9CgovL0NIRUNLIzUKaWYgKHhbMF0gIT09IDEpIHsKICAkRVJST1IoJyM1OiB2YXIgeCA9IG5ldyBBcnJheSgyKTsgeFswXSA9IDE7ICB4LnNvcnQoKTsgeFswXSA9PT0gMS4gQWN0dWFsOiAnICsgKHhbMF0pKTsKfSAgICAKCi8vQ0hFQ0sjNgppZiAoeFsxXSAhPT0gdW5kZWZpbmVkKSB7CiAgJEVSUk9SKCcjNjogdmFyIHggPSBuZXcgQXJyYXkoMik7IHhbMF0gPSAxOyAgeC5zb3J0KCk7IHhbMV0gPT09IHVuZGVmaW5lZC4gQWN0dWFsOiAnICsgKHhbMV0pKTsKfSAgCgo=","commentary":"If this object does not have a property named by\nToString(j), return 1. If this object does not have a property\nnamed by ToString(k), return -1","description":"If comparefn is undefined, use SortCompare operator","path":"TestCases/ch15/15.4/15.4.4/15.4.4.11/S15.4.4.11_A1.2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB0aGlzIG9iamVjdCBkb2VzIG5vdCBoYXZlIGEgcHJvcGVydHkgbmFtZWQgYnkKICogVG9TdHJpbmcoaiksIHJldHVybiAxLiBJZiB0aGlzIG9iamVjdCBkb2VzIG5vdCBoYXZlIGEgcHJvcGVydHkKICogbmFtZWQgYnkgVG9TdHJpbmcoayksIHJldHVybiAtMQogKgogKiBAcGF0aCBjaDE1LzE1LjQvMTUuNC40LzE1LjQuNC4xMS9TMTUuNC40LjExX0ExLjJfVDIuanMKICogQGRlc2NyaXB0aW9uIElmIGNvbXBhcmVmbiBpcyBub3QgdW5kZWZpbmVkCiAqLwoKdmFyIG15Q29tcGFyZWZuID0gZnVuY3Rpb24oeCx5KSB7CiAgaWYgKHggPT09IHVuZGVmaW5lZCkgcmV0dXJuIC0xOyAKICBpZiAoeSA9PT0gdW5kZWZpbmVkKSByZXR1cm4gMTsKICByZXR1cm4gMDsKfQoKdmFyIHggPSBuZXcgQXJyYXkoMik7CnhbMV0gPSAxOyAKeC5zb3J0KG15Q29tcGFyZWZuKTsKCi8vQ0hFQ0sjMQppZiAoeC5sZW5ndGggIT09IDIpIHsKICAkRVJST1IoJyMxOiB2YXIgeCA9IG5ldyBBcnJheSgyKTsgeFsxXSA9IDE7ICB4LnNvcnQobXlDb21wYXJlZm4pOyB4Lmxlbmd0aCA9PT0gMi4gQWN0dWFsOiAnICsgKHgubGVuZ3RoKSk7Cn0KCi8vQ0hFQ0sjMgppZiAoeFswXSAhPT0gMSkgewogICRFUlJPUignIzI6IHZhciB4ID0gbmV3IEFycmF5KDIpOyB4WzFdID0gMTsgIHguc29ydChteUNvbXBhcmVmbik7IHhbMF0gPT09IDEuIEFjdHVhbDogJyArICh4WzBdKSk7Cn0gICAgCgovL0NIRUNLIzMKaWYgKHhbMV0gIT09IHVuZGVmaW5lZCkgewogICRFUlJPUignIzM6IHZhciB4ID0gbmV3IEFycmF5KDIpOyB4WzFdID0gMTsgIHguc29ydChteUNvbXBhcmVmbik7IHhbMV0gPT09IHVuZGVmaW5lZC4gQWN0dWFsOiAnICsgKHhbMV0pKTsKfQoKdmFyIHggPSBuZXcgQXJyYXkoMik7CnhbMF0gPSAxOyAKeC5zb3J0KG15Q29tcGFyZWZuKTsKCi8vQ0hFQ0sjNAppZiAoeC5sZW5ndGggIT09IDIpIHsKICAkRVJST1IoJyM0OiB2YXIgeCA9IG5ldyBBcnJheSgyKTsgeFswXSA9IDE7ICB4LnNvcnQobXlDb21wYXJlZm4pOyB4Lmxlbmd0aCA9PT0gMi4gQWN0dWFsOiAnICsgKHgubGVuZ3RoKSk7Cn0KCi8vQ0hFQ0sjNQppZiAoeFswXSAhPT0gMSkgewogICRFUlJPUignIzU6IHZhciB4ID0gbmV3IEFycmF5KDIpOyB4WzBdID0gMTsgIHguc29ydChteUNvbXBhcmVmbik7IHhbMF0gPT09IDEuIEFjdHVhbDogJyArICh4WzBdKSk7Cn0gICAgCgovL0NIRUNLIzYKaWYgKHhbMV0gIT09IHVuZGVmaW5lZCkgewogICRFUlJPUignIzY6IHZhciB4ID0gbmV3IEFycmF5KDIpOyB4WzBdID0gMTsgIHguc29ydChteUNvbXBhcmVmbik7IHhbMV0gPT09IHVuZGVmaW5lZC4gQWN0dWFsOiAnICsgKHhbMV0pKTsKfSAgCgo=","commentary":"If this object does not have a property named by\nToString(j), return 1. If this object does not have a property\nnamed by ToString(k), return -1","description":"If comparefn is not undefined","path":"TestCases/ch15/15.4/15.4.4/15.4.4.11/S15.4.4.11_A1.2_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBbW0dldF1dIFRvU3RyaW5nKGopIGFuZCBbW0dldF1dIFRvU3RyaW5nKGspCiAqIGFyZSBib3RoIHVuZGVmaW5lZCwgcmV0dXJuICswCiAqCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjExL1MxNS40LjQuMTFfQTEuM19UMS5qcwogKiBAZGVzY3JpcHRpb24gSWYgY29tcGFyZWZuIGlzIHVuZGVmaW5lZCwgdXNlIFNvcnRDb21wYXJlIG9wZXJhdG9yCiAqLwoKdmFyIHggPSBuZXcgQXJyYXkodW5kZWZpbmVkLCB1bmRlZmluZWQpOyAKeC5zb3J0KCk7CgovL0NIRUNLIzEKaWYgKHgubGVuZ3RoICE9PSAyKSB7CiAgJEVSUk9SKCcjMTogdmFyIHggPSBuZXcgQXJyYXkodW5kZWZpbmVkLCB1bmRlZmluZWQpOyB4LnNvcnQoKTsgeC5sZW5ndGggPT09IDIuIEFjdHVhbDogJyArICh4Lmxlbmd0aCkpOwp9CgovL0NIRUNLIzIKaWYgKHhbMF0gIT09IHVuZGVmaW5lZCkgewogICRFUlJPUignIzI6IHZhciB4ID0gbmV3IEFycmF5KHVuZGVmaW5lZCwgdW5kZWZpbmVkKTsgeC5zb3J0KCk7IHhbMF0gPT09IHVuZGVmaW5lZC4gQWN0dWFsOiAnICsgKHhbMF0pKTsKfSAgICAKCi8vQ0hFQ0sjMwppZiAoeFsxXSAhPT0gdW5kZWZpbmVkKSB7CiAgJEVSUk9SKCcjMzogdmFyIHggPSBuZXcgQXJyYXkodW5kZWZpbmVkLCB1bmRlZmluZWQpOyB4LnNvcnQoKTsgeFsxXSA9PT0gdW5kZWZpbmVkLiBBY3R1YWw6ICcgKyAoeFsxXSkpOwp9ICAKCg==","commentary":"If [[Get]] ToString(j) and [[Get]] ToString(k)\nare both undefined, return +0","description":"If comparefn is undefined, use SortCompare operator","path":"TestCases/ch15/15.4/15.4.4/15.4.4.11/S15.4.4.11_A1.3_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBbW0dldF1dIFRvU3RyaW5nKGopIGlzIHVuZGVmaW5lZCwgcmV0dXJuIDEuCiAqIElmIFtbXUdldF0gVG9TdHJpbmcoaykgaXMgdW5kZWZpbmVkLCByZXR1cm4gLTEKICoKICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTEvUzE1LjQuNC4xMV9BMS40X1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBJZiBjb21wYXJlZm4gaXMgdW5kZWZpbmVkLCB1c2UgU29ydENvbXBhcmUgb3BlcmF0b3IKICovCgp2YXIgeCA9IG5ldyBBcnJheSh1bmRlZmluZWQsIDEpOwp4LnNvcnQoKTsKCi8vQ0hFQ0sjMQppZiAoeC5sZW5ndGggIT09IDIpIHsKICAkRVJST1IoJyMxOiB2YXIgeCA9IG5ldyBBcnJheSh1bmRlZmluZWQsIDEpOyB4LnNvcnQoKTsgeC5sZW5ndGggPT09IDIuIEFjdHVhbDogJyArICh4Lmxlbmd0aCkpOwp9CgovL0NIRUNLIzIKaWYgKHhbMF0gIT09IDEpIHsKICAkRVJST1IoJyMyOiB2YXIgeCA9IG5ldyBBcnJheSh1bmRlZmluZWQsIDEpOyB4LnNvcnQoKTsgeFswXSA9PT0gMS4gQWN0dWFsOiAnICsgKHhbMF0pKTsKfSAgICAKCi8vQ0hFQ0sjMwppZiAoeFsxXSAhPT0gdW5kZWZpbmVkKSB7CiAgJEVSUk9SKCcjMzogdmFyIHggPSBuZXcgQXJyYXkodW5kZWZpbmVkLCAxKTsgeC5zb3J0KCk7IHhbMV0gPT09IHVuZGVmaW5lZC4gQWN0dWFsOiAnICsgKHhbMV0pKTsKfQoKdmFyIHggPSBuZXcgQXJyYXkoMSwgdW5kZWZpbmVkKTsKeC5zb3J0KCk7CgovL0NIRUNLIzQKaWYgKHgubGVuZ3RoICE9PSAyKSB7CiAgJEVSUk9SKCcjNDogdmFyIHggPSBuZXcgQXJyYXkoMSwgdW5kZWZpbmVkKTsgeC5zb3J0KCk7IHgubGVuZ3RoID09PSAyLiBBY3R1YWw6ICcgKyAoeC5sZW5ndGgpKTsKfQoKLy9DSEVDSyM1CmlmICh4WzBdICE9PSAxKSB7CiAgJEVSUk9SKCcjNTogdmFyIHggPSBuZXcgQXJyYXkoMSwgdW5kZWZpbmVkKTsgeC5zb3J0KCk7IHhbMF0gPT09IDEuIEFjdHVhbDogJyArICh4WzBdKSk7Cn0gICAgCgovL0NIRUNLIzYKaWYgKHhbMV0gIT09IHVuZGVmaW5lZCkgewogICRFUlJPUignIzY6IHZhciB4ID0gbmV3IEFycmF5KDEsIHVuZGVmaW5lZCk7IHguc29ydCgpOyB4WzFdID09PSB1bmRlZmluZWQuIEFjdHVhbDogJyArICh4WzFdKSk7Cn0gIAoK","commentary":"If [[Get]] ToString(j) is undefined, return 1.\nIf [[]Get] ToString(k) is undefined, return -1","description":"If comparefn is undefined, use SortCompare operator","path":"TestCases/ch15/15.4/15.4.4/15.4.4.11/S15.4.4.11_A1.4_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBbW0dldF1dIFRvU3RyaW5nKGopIGlzIHVuZGVmaW5lZCwgcmV0dXJuIDEuCiAqIElmIFtbXUdldF0gVG9TdHJpbmcoaykgaXMgdW5kZWZpbmVkLCByZXR1cm4gLTEKICoKICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTEvUzE1LjQuNC4xMV9BMS40X1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBJZiBjb21wYXJlZm4gaXMgbm90IHVuZGVmaW5lZAogKi8KCnZhciBteUNvbXBhcmVmbiA9IGZ1bmN0aW9uKHgseSkgewogIGlmICh4ID09PSB1bmRlZmluZWQpIHJldHVybiAtMTsgCiAgaWYgKHkgPT09IHVuZGVmaW5lZCkgcmV0dXJuIDE7CiAgcmV0dXJuIDA7Cn0KCnZhciB4ID0gbmV3IEFycmF5KHVuZGVmaW5lZCwgMSk7Cnguc29ydChteUNvbXBhcmVmbik7CgovL0NIRUNLIzEKaWYgKHgubGVuZ3RoICE9PSAyKSB7CiAgJEVSUk9SKCcjMTogdmFyIHggPSBuZXcgQXJyYXkodW5kZWZpbmVkLCAxKTsgeC5zb3J0KG15Q29tcGFyZWZuKTsgeC5sZW5ndGggPT09IDIuIEFjdHVhbDogJyArICh4Lmxlbmd0aCkpOwp9CgovL0NIRUNLIzIKaWYgKHhbMF0gIT09IDEpIHsKICAkRVJST1IoJyMyOiB2YXIgeCA9IG5ldyBBcnJheSh1bmRlZmluZWQsIDEpOyB4LnNvcnQobXlDb21wYXJlZm4pOyB4WzBdID09PSAxLiBBY3R1YWw6ICcgKyAoeFswXSkpOwp9ICAgIAoKLy9DSEVDSyMzCmlmICh4WzFdICE9PSB1bmRlZmluZWQpIHsKICAkRVJST1IoJyMzOiB2YXIgeCA9IG5ldyBBcnJheSh1bmRlZmluZWQsIDEpOyB4LnNvcnQobXlDb21wYXJlZm4pOyB4WzFdID09PSB1bmRlZmluZWQuIEFjdHVhbDogJyArICh4WzFdKSk7Cn0KCnZhciB4ID0gbmV3IEFycmF5KDEsIHVuZGVmaW5lZCk7Cnguc29ydChteUNvbXBhcmVmbik7CgovL0NIRUNLIzQKaWYgKHgubGVuZ3RoICE9PSAyKSB7CiAgJEVSUk9SKCcjNDogdmFyIHggPSBuZXcgQXJyYXkoMSwgdW5kZWZpbmVkKTsgeC5zb3J0KG15Q29tcGFyZWZuKTsgeC5sZW5ndGggPT09IDIuIEFjdHVhbDogJyArICh4Lmxlbmd0aCkpOwp9CgovL0NIRUNLIzUKaWYgKHhbMF0gIT09IDEpIHsKICAkRVJST1IoJyM1OiB2YXIgeCA9IG5ldyBBcnJheSgxLCB1bmRlZmluZWQpOyB4LnNvcnQobXlDb21wYXJlZm4pOyB4WzBdID09PSAxLiBBY3R1YWw6ICcgKyAoeFswXSkpOwp9ICAgIAoKLy9DSEVDSyM2CmlmICh4WzFdICE9PSB1bmRlZmluZWQpIHsKICAkRVJST1IoJyM2OiB2YXIgeCA9IG5ldyBBcnJheSgxLCB1bmRlZmluZWQpOyB4LnNvcnQobXlDb21wYXJlZm4pOyB4WzFdID09PSB1bmRlZmluZWQuIEFjdHVhbDogJyArICh4WzFdKSk7Cn0gIAoK","commentary":"If [[Get]] ToString(j) is undefined, return 1.\nIf [[]Get] ToString(k) is undefined, return -1","description":"If comparefn is not undefined","path":"TestCases/ch15/15.4/15.4.4/15.4.4.11/S15.4.4.11_A1.4_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBjb21wYXJlZm4gaXMgdW5kZWZpbmVkLCB1c2UgU29ydENvbXBhcmUgb3BlcmF0b3IKICoKICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTEvUzE1LjQuNC4xMV9BMS41X1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBzb3J0KCkgYW5kIHNvcnQodW5kZWZpbmVkKQogKi8KCnZhciB4ID0gbmV3IEFycmF5KDEsMCk7Cnguc29ydCgpOwoKLy9DSEVDSyMxCmlmICh4Lmxlbmd0aCAhPT0gMikgewogICRFUlJPUignIzE6IHZhciB4ID0gbmV3IEFycmF5KDEsMCk7ICB4LnNvcnQoKTsgeC5sZW5ndGggPT09IDIuIEFjdHVhbDogJyArICh4Lmxlbmd0aCkpOwp9CgovL0NIRUNLIzIKaWYgKHhbMF0gIT09IDApIHsKICAkRVJST1IoJyMyOiB2YXIgeCA9IG5ldyBBcnJheSgxLDApOyAgeC5zb3J0KCk7IHhbMF0gPT09IDAuIEFjdHVhbDogJyArICh4WzBdKSk7Cn0gICAgCgovL0NIRUNLIzMKaWYgKHhbMV0gIT09IDEpIHsKICAkRVJST1IoJyMzOiB2YXIgeCA9IG5ldyBBcnJheSgxLDApOyAgeC5zb3J0KCk7IHhbMV0gPT09IDEuIEFjdHVhbDogJyArICh4WzFdKSk7Cn0KCnZhciB4ID0gbmV3IEFycmF5KDEsMCk7Cnguc29ydCh1bmRlZmluZWQpOwoKLy9DSEVDSyM0CmlmICh4Lmxlbmd0aCAhPT0gMikgewogICRFUlJPUignIzQ6IHZhciB4ID0gbmV3IEFycmF5KDEsMCk7ICB4LnNvcnQodW5kZWZpbmVkKTsgeC5sZW5ndGggPT09IDIuIEFjdHVhbDogJyArICh4Lmxlbmd0aCkpOwp9CgovL0NIRUNLIzUKaWYgKHhbMF0gIT09IDApIHsKICAkRVJST1IoJyM1OiB2YXIgeCA9IG5ldyBBcnJheSgxLDApOyAgeC5zb3J0KHVuZGVmaW5lZCk7IHhbMF0gPT09IDAuIEFjdHVhbDogJyArICh4WzBdKSk7Cn0gICAgCgovL0NIRUNLIzYKaWYgKHhbMV0gIT09IDEpIHsKICAkRVJST1IoJyM2OiB2YXIgeCA9IG5ldyBBcnJheSgxLDApOyAgeC5zb3J0KHVuZGVmaW5lZCk7IHhbMV0gPT09IDEuIEFjdHVhbDogJyArICh4WzFdKSk7Cn0KCg==","commentary":"If comparefn is undefined, use SortCompare operator","description":"Checking sort() and sort(undefined)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.11/S15.4.4.11_A1.5_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiAqIElmIFRvU3RyaW5nKFtbR2V0XV0gVG9TdHJpbmcoaikpIDwgVG9TdHJpbmcoW1tHZXRdXSBUb1N0cmluZyhrKSksIHJldHVybiAtMS4KICogSWYgVG9TdHJpbmcoW1tHZXRdXSBUb1N0cmluZyhqKSkgPiBUb1N0cmluZyhbW0dldF1dIFRvU3RyaW5nKGspKSwgcmV0dXJuIDE7CiAqIHJldHVybiAtMQogKgogKiBAcGF0aCBjaDE1LzE1LjQvMTUuNC40LzE1LjQuNC4xMS9TMTUuNC40LjExX0EyLjFfVDEuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIEVOR0xJU0ggQUxQSEFCRVQKICovCgp2YXIgYWxwaGFiZXRSID0gWyJ6IiwgInkiLCAieCIsICJ3IiwgInYiLCAidSIsICJ0IiwgInMiLCAiciIsICJxIiwgInAiLCAibyIsICJuIiwgIk0iLCAiTCIsICJLIiwgIkoiLCAiSSIsICJIIiwgIkciLCAiRiIsICJFIiwgIkQiLCAiQyIsICJCIiwgIkEiXTsKdmFyIGFscGhhYmV0ID0gWyJBIiwgIkIiLCAiQyIsICJEIiwgIkUiLCAiRiIsICJHIiwgIkgiLCAiSSIsICJKIiwgIksiLCAiTCIsICJNIiwgIm4iLCAibyIsICJwIiwgInEiLCAiciIsICJzIiwgInQiLCAidSIsICJ2IiwgInciLCAieCIsICJ5IiwgInoiXTsKCi8vQ0hFQ0sjMQphbHBoYWJldFIuc29ydCgpOwp2YXIgcmVzdWx0ID0gdHJ1ZTsKZm9yICh2YXIgaSA9IDA7IGkgPCAyNjsgaSsrKSB7CiAgaWYgKGFscGhhYmV0UltpXSAhPT0gYWxwaGFiZXRbaV0pIHJlc3VsdCA9IGZhbHNlOwp9CgppZiAocmVzdWx0ICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMTogQ0hFQ0sgRU5HTElTSCBBTFBIQUJFVCcpOwp9Cgo=","commentary":"* If ToString([[Get]] ToString(j)) < ToString([[Get]] ToString(k)), return -1.\nIf ToString([[Get]] ToString(j)) > ToString([[Get]] ToString(k)), return 1;\nreturn -1","description":"Checking ENGLISH ALPHABET","path":"TestCases/ch15/15.4/15.4.4/15.4.4.11/S15.4.4.11_A2.1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiAqIElmIFRvU3RyaW5nKFtbR2V0XV0gVG9TdHJpbmcoaikpIDwgVG9TdHJpbmcoW1tHZXRdXSBUb1N0cmluZyhrKSksIHJldHVybiAtMS4KICogSWYgVG9TdHJpbmcoW1tHZXRdXSBUb1N0cmluZyhqKSkgPiBUb1N0cmluZyhbW0dldF1dIFRvU3RyaW5nKGspKSwgcmV0dXJuIDE7CiAqIHJldHVybiAtMQogKgogKiBAcGF0aCBjaDE1LzE1LjQvMTUuNC40LzE1LjQuNC4xMS9TMTUuNC40LjExX0EyLjFfVDIuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIFJVU1NJQU4gQUxQSEFCRVQKICovCgp2YXIgYWxwaGFiZXRSID0gWyLRkSIsICLRjyIsICLRjiIsICLRjSIsICLRjCIsICLRiyIsICLRiiIsICLRiSIsICLRiCIsICLRhyIsICLRhiIsICLRhSIsICLRhCIsICLRgyIsICLRgiIsICLRgSIsICLRgCIsICLQnyIsICLQniIsICLQnSIsICLQnCIsICLQmyIsICLQmiIsICLQmSIsICLQmCIsICLQlyIsICLQliIsICLQlSIsICLQlCIsICLQkyIsICLQkiIsICLQkSIsICLQkCJdOwp2YXIgIGFscGhhYmV0ID0gWyLQkCIsICLQkSIsICLQkiIsICLQkyIsICLQlCIsICLQlSIsICLQliIsICLQlyIsICLQmCIsICLQmSIsICLQmiIsICLQmyIsICLQnCIsICLQnSIsICLQniIsICLQnyIsICLRgCIsICLRgSIsICLRgiIsICLRgyIsICLRhCIsICLRhSIsICLRhiIsICLRhyIsICLRiCIsICLRiSIsICLRiiIsICLRiyIsICLRjCIsICLRjSIsICLRjiIsICLRjyIsICLRkSJdOwoKLy9DSEVDSyMxCmFscGhhYmV0Ui5zb3J0KCk7CnZhciByZXN1bHQgPSB0cnVlOwpmb3IgKHZhciBpID0gMDsgaSA8IDI2OyBpKyspIHsKICBpZiAoYWxwaGFiZXRSW2ldICE9PSBhbHBoYWJldFtpXSkgcmVzdWx0ID0gZmFsc2U7Cn0KCmlmIChyZXN1bHQgIT09IHRydWUpIHsKICAkRVJST1IoJyMxOiBDSEVDSyBSVVNTSUFOIEFMUEhBQkVUJyk7Cn0KCg==","commentary":"* If ToString([[Get]] ToString(j)) < ToString([[Get]] ToString(k)), return -1.\nIf ToString([[Get]] ToString(j)) > ToString([[Get]] ToString(k)), return 1;\nreturn -1","description":"Checking RUSSIAN ALPHABET","path":"TestCases/ch15/15.4/15.4.4/15.4.4.11/S15.4.4.11_A2.1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiAqIElmIFRvU3RyaW5nKFtbR2V0XV0gVG9TdHJpbmcoaikpIDwgVG9TdHJpbmcoW1tHZXRdXSBUb1N0cmluZyhrKSksIHJldHVybiAtMS4KICogSWYgVG9TdHJpbmcoW1tHZXRdXSBUb1N0cmluZyhqKSkgPiBUb1N0cmluZyhbW0dldF1dIFRvU3RyaW5nKGspKSwgcmV0dXJuIDE7CiAqIHJldHVybiAtMQogKgogKiBAcGF0aCBjaDE1LzE1LjQvMTUuNC40LzE1LjQuNC4xMS9TMTUuNC40LjExX0EyLjFfVDMuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIFRvU3RyaW5nIG9wZXJhdG9yCiAqLwoKdmFyIG9iaiA9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gMX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gLTJ9fTsKdmFyIGFscGhhYmV0UiA9IFt1bmRlZmluZWQsIDIsIDEsICJYIiwgLTEsICJhIiwgdHJ1ZSwgb2JqLCBOYU4sIEluZmluaXR5XTsgCnZhciAgYWxwaGFiZXQgPSBbLTEsIG9iaiwgMSwgMiwgSW5maW5pdHksIE5hTiwgIlgiLCAiYSIsIHRydWUsIHVuZGVmaW5lZF07CiAKLy9DSEVDSyMxCmFscGhhYmV0Ui5zb3J0KCk7CnZhciByZXN1bHQgPSB0cnVlOwpmb3IgKHZhciBpID0gMDsgaSA8IDEwOyBpKyspIHsKICBpZiAoIShpc05hTihhbHBoYWJldFJbaV0pICYmIGlzTmFOKGFscGhhYmV0W2ldKSkpIHsgCiAgICBpZiAoYWxwaGFiZXRSW2ldICE9PSBhbHBoYWJldFtpXSkgcmVzdWx0ID0gZmFsc2U7CiAgfSAgCn0KCmlmIChyZXN1bHQgIT09IHRydWUpIHsKICAkRVJST1IoJyMxOiBDaGVjayBUb1N0cmluZyBvcGVyYXRvcicpOwp9Cgo=","commentary":"* If ToString([[Get]] ToString(j)) < ToString([[Get]] ToString(k)), return -1.\nIf ToString([[Get]] ToString(j)) > ToString([[Get]] ToString(k)), return 1;\nreturn -1","description":"Checking ToString operator","path":"TestCases/ch15/15.4/15.4.4/15.4.4.11/S15.4.4.11_A2.1_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBNeSBjb21wYXJlZm4gaXMgaW52ZXJzZSBpbXBsZW1lbnRhdGlvbiBjb21wYXJlZm4KICoKICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTEvUzE1LjQuNC4xMV9BMi4yX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBFTkdMSVNIIEFMUEhBQkVUCiAqLwoKdmFyIGFscGhhYmV0UiA9IFsieiIsICJ5IiwgIngiLCAidyIsICJ2IiwgInUiLCAidCIsICJzIiwgInIiLCAicSIsICJwIiwgIm8iLCAibiIsICJNIiwgIkwiLCAiSyIsICJKIiwgIkkiLCAiSCIsICJHIiwgIkYiLCAiRSIsICJEIiwgIkMiLCAiQiIsICJBIl07CnZhciAgYWxwaGFiZXQgPSBbIkEiLCAiQiIsICJDIiwgIkQiLCAiRSIsICJGIiwgIkciLCAiSCIsICJJIiwgIkoiLCAiSyIsICJMIiwgIk0iLCAibiIsICJvIiwgInAiLCAicSIsICJyIiwgInMiLCAidCIsICJ1IiwgInYiLCAidyIsICJ4IiwgInkiLCAieiJdOwoKdmFyIG15Q29tcGFyZWZuID0gZnVuY3Rpb24oeCx5KSB7CiAgdmFyIHhTID0gU3RyaW5nKHgpOwogIHZhciB5UyA9IFN0cmluZyh5KTsKICBpZiAoeFMgPCB5UykgcmV0dXJuIDEKICBpZiAoeFMgPiB5UykgcmV0dXJuIC0xOyAgIAogIHJldHVybiAwOwp9CgovL0NIRUNLIzEKYWxwaGFiZXQuc29ydChteUNvbXBhcmVmbik7CnZhciByZXN1bHQgPSB0cnVlOwpmb3IgKHZhciBpID0gMDsgaSA8IDI2OyBpKyspIHsKICBpZiAoYWxwaGFiZXRSW2ldICE9PSBhbHBoYWJldFtpXSkgcmVzdWx0ID0gZmFsc2U7Cn0KCmlmIChyZXN1bHQgIT09IHRydWUpIHsKICAkRVJST1IoJyMxOiBDSEVDSyBFTkdMSVNIIEFMUEhBQkVUJyk7Cn0gCgo=","commentary":"My comparefn is inverse implementation comparefn","description":"Checking ENGLISH ALPHABET","path":"TestCases/ch15/15.4/15.4.4/15.4.4.11/S15.4.4.11_A2.2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBNeSBjb21wYXJlZm4gaXMgaW52ZXJzZSBpbXBsZW1lbnRhdGlvbiBjb21wYXJlZm4KICoKICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTEvUzE1LjQuNC4xMV9BMi4yX1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBSVVNTSUFOIEFMUEhBQkVUCiAqLwoKdmFyIGFscGhhYmV0UiA9IFsi0ZEiLCAi0Y8iLCAi0Y4iLCAi0Y0iLCAi0YwiLCAi0YsiLCAi0YoiLCAi0YkiLCAi0YgiLCAi0YciLCAi0YYiLCAi0YUiLCAi0YQiLCAi0YMiLCAi0YIiLCAi0YEiLCAi0YAiLCAi0J8iLCAi0J4iLCAi0J0iLCAi0JwiLCAi0JsiLCAi0JoiLCAi0JkiLCAi0JgiLCAi0JciLCAi0JYiLCAi0JUiLCAi0JQiLCAi0JMiLCAi0JIiLCAi0JEiLCAi0JAiXTsKdmFyICBhbHBoYWJldCA9IFsi0JAiLCAi0JEiLCAi0JIiLCAi0JMiLCAi0JQiLCAi0JUiLCAi0JYiLCAi0JciLCAi0JgiLCAi0JkiLCAi0JoiLCAi0JsiLCAi0JwiLCAi0J0iLCAi0J4iLCAi0J8iLCAi0YAiLCAi0YEiLCAi0YIiLCAi0YMiLCAi0YQiLCAi0YUiLCAi0YYiLCAi0YciLCAi0YgiLCAi0YkiLCAi0YoiLCAi0YsiLCAi0YwiLCAi0Y0iLCAi0Y4iLCAi0Y8iLCAi0ZEiXTsKCnZhciBteUNvbXBhcmVmbiA9IGZ1bmN0aW9uKHgseSkgewogIHZhciB4UyA9IFN0cmluZyh4KTsKICB2YXIgeVMgPSBTdHJpbmcoeSk7CiAgaWYgKHhTIDwgeVMpIHJldHVybiAxCiAgaWYgKHhTID4geVMpIHJldHVybiAtMTsgICAKICByZXR1cm4gMDsKfQoKLy9DSEVDSyMxCmFscGhhYmV0LnNvcnQobXlDb21wYXJlZm4pOwp2YXIgcmVzdWx0ID0gdHJ1ZTsKZm9yICh2YXIgaSA9IDA7IGkgPCAyNjsgaSsrKSB7CiAgaWYgKGFscGhhYmV0UltpXSAhPT0gYWxwaGFiZXRbaV0pIHJlc3VsdCA9IGZhbHNlOwp9CgppZiAocmVzdWx0ICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMTogQ0hFQ0sgUlVTU0lBTiBBTFBIQUJFVCcpOwp9Cgo=","commentary":"My comparefn is inverse implementation comparefn","description":"Checking RUSSIAN ALPHABET","path":"TestCases/ch15/15.4/15.4.4/15.4.4.11/S15.4.4.11_A2.2_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBNeSBjb21wYXJlZm4gaXMgaW52ZXJzZSBpbXBsZW1lbnRhdGlvbiBjb21wYXJlZm4KICoKICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTEvUzE1LjQuNC4xMV9BMi4yX1QzLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBUb1N0cmluZyBvcGVyYXRvcgogKi8KCnZhciBvYmogPSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIDF9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIC0yfX07IAp2YXIgYWxwaGFiZXRSID0gW3VuZGVmaW5lZCwgMiwgMSwgIlgiLCAtMSwgImEiLCB0cnVlLCBvYmosIE5hTiwgSW5maW5pdHldOyAKdmFyIGFscGhhYmV0ID0gW3RydWUsICJhIiwgIlgiLCBOYU4sIEluZmluaXR5LCAyLCAxLCBvYmosIC0xLCB1bmRlZmluZWRdOwoKdmFyIG15Q29tcGFyZWZuID0gZnVuY3Rpb24oeCx5KSB7CiAgdmFyIHhTID0gU3RyaW5nKHgpOwogIHZhciB5UyA9IFN0cmluZyh5KTsKICBpZiAoeFMgPCB5UykgcmV0dXJuIDEKICBpZiAoeFMgPiB5UykgcmV0dXJuIC0xOyAgIAogIHJldHVybiAwOwp9CiAKLy9DSEVDSyMxCmFscGhhYmV0Ui5zb3J0KG15Q29tcGFyZWZuKTsKdmFyIHJlc3VsdCA9IHRydWU7CmZvciAodmFyIGkgPSAwOyBpIDwgMTA7IGkrKykgewogIGlmICghKGlzTmFOKGFscGhhYmV0UltpXSkgJiYgaXNOYU4oYWxwaGFiZXRbaV0pKSkgeyAKICAgIGlmIChhbHBoYWJldFJbaV0gIT09IGFscGhhYmV0W2ldKSByZXN1bHQgPSBmYWxzZTsKICB9ICAKfQoKaWYgKHJlc3VsdCAhPT0gdHJ1ZSkgewogICRFUlJPUignIzE6IENoZWNrIFRvU3RyaW5nIG9wZXJhdG9yJyk7Cn0KCg==","commentary":"My comparefn is inverse implementation comparefn","description":"Checking ToString operator","path":"TestCases/ch15/15.4/15.4.4/15.4.4.11/S15.4.4.11_A2.2_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgc29ydCBmdW5jdGlvbiBpcyBpbnRlbnRpb25hbGx5IGdlbmVyaWMuCiAqIEl0IGRvZXMgbm90IHJlcXVpcmUgdGhhdCBpdHMgdGhpcyB2YWx1ZSBiZSBhbiBBcnJheSBvYmplY3QKICoKICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTEvUzE1LjQuNC4xMV9BM19UMS5qcwogKiBAZGVzY3JpcHRpb24gSWYgY29tcGFyZWZuIGlzIHVuZGVmaW5lZCwgdXNlIFNvcnRDb21wYXJlIG9wZXJhdG9yCiAqLwoKdmFyIG9iaiA9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gMX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gLTJ9fTsKdmFyIGFscGhhYmV0UiA9IHswOnVuZGVmaW5lZCwgMToyLCAyOjEsIDM6IlgiLCA0Oi0xLCA1OiJhIiwgNjp0cnVlLCA3Om9iaiwgODpOYU4sIDk6SW5maW5pdHl9OwphbHBoYWJldFIuc29ydCA9IEFycmF5LnByb3RvdHlwZS5zb3J0OyAKYWxwaGFiZXRSLmxlbmd0aCA9IDEwOwp2YXIgYWxwaGFiZXQgPSBbLTEsIG9iaiwgMSwgMiwgSW5maW5pdHksIE5hTiwgIlgiLCAiYSIsIHRydWUsIHVuZGVmaW5lZF07CiAgCmFscGhhYmV0Ui5zb3J0KCk7CgogLy9DSEVDSyMwCmFscGhhYmV0Ui5nZXRDbGFzcyA9IE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmc7CmlmIChhbHBoYWJldFIuZ2V0Q2xhc3MoKSAhPT0gIltvYmplY3QgIiArICJPYmplY3QiICsgIl0iKSB7CiAgJEVSUk9SKCcjMDogYWxwaGFiZXRSLnNvcnQoKSBpcyBPYmplY3Qgb2JqZWN0LCBub3QgQXJyYXkgb2JqZWN0Jyk7Cn0KIAovL0NIRUNLIzEKdmFyIHJlc3VsdCA9IHRydWU7CmZvciAodmFyIGkgPSAwOyBpIDwgMTA7IGkrKykgewogIGlmICghKGlzTmFOKGFscGhhYmV0UltpXSkgJiYgaXNOYU4oYWxwaGFiZXRbaV0pKSkgeyAKICAgIGlmIChhbHBoYWJldFJbaV0gIT09IGFscGhhYmV0W2ldKSByZXN1bHQgPSBmYWxzZTsKICB9ICAKfQoKaWYgKHJlc3VsdCAhPT0gdHJ1ZSkgewogICRFUlJPUignIzE6IENoZWNrIFRvU3RyaW5nIG9wZXJhdG9yJyk7Cn0gCgo=","commentary":"The sort function is intentionally generic.\nIt does not require that its this value be an Array object","description":"If comparefn is undefined, use SortCompare operator","path":"TestCases/ch15/15.4/15.4.4/15.4.4.11/S15.4.4.11_A3_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgc29ydCBmdW5jdGlvbiBpcyBpbnRlbnRpb25hbGx5IGdlbmVyaWMuCiAqIEl0IGRvZXMgbm90IHJlcXVpcmUgdGhhdCBpdHMgdGhpcyB2YWx1ZSBiZSBhbiBBcnJheSBvYmplY3QKICoKICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTEvUzE1LjQuNC4xMV9BM19UMi5qcwogKiBAZGVzY3JpcHRpb24gSWYgY29tcGFyZWZuIGlzIG5vdCB1bmRlZmluZWQKICovCgp2YXIgb2JqID0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAxfSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiAtMn19Owp2YXIgYWxwaGFiZXRSID0gezA6dW5kZWZpbmVkLCAxOjIsIDI6MSwgMzoiWCIsIDQ6LTEsIDU6ImEiLCA2OnRydWUsIDc6b2JqLCA4Ok5hTiwgOTpJbmZpbml0eX07CmFscGhhYmV0Ui5zb3J0ID0gQXJyYXkucHJvdG90eXBlLnNvcnQ7IAphbHBoYWJldFIubGVuZ3RoID0gMTA7IAp2YXIgYWxwaGFiZXQgPSBbdHJ1ZSwgImEiLCAiWCIsIE5hTiwgSW5maW5pdHksIDIsIDEsIG9iaiwgLTEsIHVuZGVmaW5lZF07CiAKIHZhciBteUNvbXBhcmVmbiA9IGZ1bmN0aW9uKHgseSkgewogIHZhciB4UyA9IFN0cmluZyh4KTsKICB2YXIgeVMgPSBTdHJpbmcoeSk7CiAgaWYgKHhTIDwgeVMpIHJldHVybiAxCiAgaWYgKHhTID4geVMpIHJldHVybiAtMTsgICAKICByZXR1cm4gMDsKfQogIAphbHBoYWJldFIuc29ydChteUNvbXBhcmVmbik7CgogLy9DSEVDSyMwCmFscGhhYmV0Ui5nZXRDbGFzcyA9IE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmc7CmlmIChhbHBoYWJldFIuZ2V0Q2xhc3MoKSAhPT0gIltvYmplY3QgIiArICJPYmplY3QiICsgIl0iKSB7CiAgJEVSUk9SKCcjMDogYWxwaGFiZXRSLnNvcnQoKSBpcyBPYmplY3Qgb2JqZWN0LCBub3QgQXJyYXkgb2JqZWN0Jyk7Cn0KIAovL0NIRUNLIzEKdmFyIHJlc3VsdCA9IHRydWU7CmZvciAodmFyIGkgPSAwOyBpIDwgMTA7IGkrKykgewogIGlmICghKGlzTmFOKGFscGhhYmV0UltpXSkgJiYgaXNOYU4oYWxwaGFiZXRbaV0pKSkgeyAKICAgIGlmIChhbHBoYWJldFJbaV0gIT09IGFscGhhYmV0W2ldKSByZXN1bHQgPSBmYWxzZTsKICB9ICAKfQoKaWYgKHJlc3VsdCAhPT0gdHJ1ZSkgewogICRFUlJPUignIzE6IENoZWNrIFRvU3RyaW5nIG9wZXJhdG9yJyk7Cn0gCgo=","commentary":"The sort function is intentionally generic.\nIt does not require that its this value be an Array object","description":"If comparefn is not undefined","path":"TestCases/ch15/15.4/15.4.4/15.4.4.11/S15.4.4.11_A3_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBDaGVjayBUb1VpbnQzMihsZW5ndGgpIGZvciBub24gQXJyYXkgb2JqZWN0cwogKgogKiBAcGF0aCBjaDE1LzE1LjQvMTUuNC40LzE1LjQuNC4xMS9TMTUuNC40LjExX0E0X1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBsZW5ndGggPSA0Mjk0OTY3Mjk2CiAqLwoKdmFyIG9iaiA9IHt9OwpvYmouc29ydCA9IEFycmF5LnByb3RvdHlwZS5zb3J0OwpvYmpbMF0gPSAieCI7Cm9ials0Mjk0OTY3Mjk1XSA9ICJ5IjsKb2JqLmxlbmd0aCA9IDQyOTQ5NjcyOTY7CgovL0NIRUNLIzEKaWYgKG9iai5zb3J0KCkgIT09IG9iaikgewogICRFUlJPUignIzE6IHZhciBvYmogPSB7fTsgb2JqLnNvcnQgPSBBcnJheS5wcm90b3R5cGUuc29ydDsgb2JqWzBdID0gIngiOyBvYmpbNDI5NDk2NzI5NV0gPSAieSI7IG9iai5sZW5ndGggPSA0Mjk0OTY3Mjk2OyBvYmouc29ydCgpID09PSBvYmouIEFjdHVhbDogJyArIChvYmouc29ydCgpKSk7Cn0KCi8vQ0hFQ0sjMgppZiAob2JqLmxlbmd0aCAhPT0gNDI5NDk2NzI5NikgewogICRFUlJPUignIzI6IHZhciBvYmogPSB7fTsgb2JqLnNvcnQgPSBBcnJheS5wcm90b3R5cGUuc29ydDsgb2JqWzBdID0gIngiOyBvYmpbNDI5NDk2NzI5NV0gPSAieSI7IG9iai5sZW5ndGggPSA0Mjk0OTY3Mjk2OyBvYmouc29ydCgpOyBvYmoubGVuZ3RoID09PSA0Mjk0OTY3Mjk2LiBBY3R1YWw6ICcgKyAob2JqLmxlbmd0aCkpOwp9CgovL0NIRUNLIzMKaWYgKG9ialswXSAhPT0gIngiKSB7CiAgJEVSUk9SKCcjMzogdmFyIG9iaiA9IHt9OyBvYmouc29ydCA9IEFycmF5LnByb3RvdHlwZS5zb3J0OyBvYmpbMF0gPSAieCI7IG9ials0Mjk0OTY3Mjk1XSA9ICJ5Ijsgb2JqLmxlbmd0aCA9IDQyOTQ5NjcyOTY7IG9iai5zb3J0KCk7IG9ialswXSA9PSAieCInKTsKfQoKLy9DSEVDSyM0CmlmIChvYmpbNDI5NDk2NzI5NV0gIT09ICJ5IikgewogICRFUlJPUignIzQ6IHZhciBvYmogPSB7fTsgb2JqLnNvcnQgPSBBcnJheS5wcm90b3R5cGUuc29ydDsgb2JqW10gPSAieCI7IG9ials0Mjk0OTY3Mjk1XSA9ICJ5Ijsgb2JqLmxlbmd0aCA9IDQyOTQ5NjcyOTY7IG9iai5zb3J0KCk7IG9ials0Mjk0OTY3Mjk1XSA9PSAieSInKTsKfQoK","commentary":"Check ToUint32(length) for non Array objects","description":"length = 4294967296","path":"TestCases/ch15/15.4/15.4.4/15.4.4.11/S15.4.4.11_A4_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBDaGVjayBUb1VpbnQzMihsZW5ndGgpIGZvciBub24gQXJyYXkgb2JqZWN0cwogKgogKiBAcGF0aCBjaDE1LzE1LjQvMTUuNC40LzE1LjQuNC4xMS9TMTUuNC40LjExX0E0X1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBsZW5ndGggPSA0Mjk0OTY3Mjk4CiAqLwoKdmFyIG9iaiA9IHt9OwpvYmouc29ydCA9IEFycmF5LnByb3RvdHlwZS5zb3J0OwpvYmpbMF0gPSAieiI7Cm9ialsxXSA9ICJ5IjsKb2JqWzQyOTQ5NjcyOTddID0gIngiOwpvYmoubGVuZ3RoID0gNDI5NDk2NzI5ODsKCi8vQ0hFQ0sjMQppZiAob2JqLnNvcnQoKSAhPT0gb2JqKSB7CiAgJEVSUk9SKCcjMTogdmFyIG9iaiA9IHt9OyBvYmouc29ydCA9IEFycmF5LnByb3RvdHlwZS5zb3J0OyBvYmpbMF0gPSAieiI7IG9ialsxXSA9ICJ5Ijsgb2JqWzQyOTQ5NjcyOTddID0gIngiOyBvYmoubGVuZ3RoID0gNDI5NDk2NzI5ODsgb2JqLnNvcnQoKSA9PT0gb2JqLiBBY3R1YWw6ICcgKyAob2JqLnNvcnQoKSkpOwp9CgovL0NIRUNLIzIKaWYgKG9iai5sZW5ndGggIT09IDQyOTQ5NjcyOTgpIHsKICAkRVJST1IoJyMyOiB2YXIgb2JqID0ge307IG9iai5zb3J0ID0gQXJyYXkucHJvdG90eXBlLnNvcnQ7IG9ialswXSA9ICJ6Ijsgb2JqWzFdID0gInkiOyBvYmpbNDI5NDk2NzI5N10gPSAieCI7IG9iai5sZW5ndGggPSA0Mjk0OTY3Mjk4OyBvYmouc29ydCgpOyBvYmoubGVuZ3RoID09PSA0Mjk0OTY3Mjk4LiBBY3R1YWw6ICcgKyAob2JqLmxlbmd0aCkpOwp9CgovL0NIRUNLIzMKaWYgKG9ialswXSAhPT0gInkiKSB7CiAgJEVSUk9SKCcjMzogdmFyIG9iaiA9IHt9OyBvYmouc29ydCA9IEFycmF5LnByb3RvdHlwZS5zb3J0OyBvYmpbMF0gPSAieiI7IG9ialsxXSA9ICJ5Ijsgb2JqWzQyOTQ5NjcyOTddID0gIngiOyBvYmoubGVuZ3RoID0gNDI5NDk2NzI5ODsgb2JqLnNvcnQoKTsgb2JqWzBdID09PSAieSIuIEFjdHVhbDogJyArIChvYmpbMF0pKTsKfSAgIAoKLy9DSEVDSyM0CmlmIChvYmpbMV0gIT09ICJ6IikgewogICRFUlJPUignIzQ6IHZhciBvYmogPSB7fTsgb2JqLnNvcnQgPSBBcnJheS5wcm90b3R5cGUuc29ydDsgb2JqWzBdID0gInoiOyBvYmpbMV0gPSAieSI7IG9ials0Mjk0OTY3Mjk3XSA9ICJ4Ijsgb2JqLmxlbmd0aCA9IDQyOTQ5NjcyOTg7IG9iai5zb3J0KCk7IG9ialsxXSA9PT0gInoiLiBBY3R1YWw6ICcgKyAob2JqWzFdKSk7Cn0gCgovL0NIRUNLIzUKaWYgKG9ials0Mjk0OTY3Mjk3XSAhPT0gIngiKSB7CiAgJEVSUk9SKCcjNTogdmFyIG9iaiA9IHt9OyBvYmouc29ydCA9IEFycmF5LnByb3RvdHlwZS5zb3J0OyBvYmpbMF0gPSAieiI7IG9ialsxXSA9ICJ5Ijsgb2JqWzQyOTQ5NjcyOTddID0gIngiOyBvYmoubGVuZ3RoID0gNDI5NDk2NzI5ODsgb2JqLnNvcnQoKTsgb2JqWzQyOTQ5NjcyOTddID09PSAieCIuIEFjdHVhbDogJyArIChvYmpbNDI5NDk2NzI5N10pKTsKfSAKCg==","commentary":"Check ToUint32(length) for non Array objects","description":"length = 4294967298","path":"TestCases/ch15/15.4/15.4.4/15.4.4.11/S15.4.4.11_A4_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBDaGVjayBUb1VpbnQzMihsZW5ndGgpIGZvciBub24gQXJyYXkgb2JqZWN0cwogKgogKiBAcGF0aCBjaDE1LzE1LjQvMTUuNC40LzE1LjQuNC4xMS9TMTUuNC40LjExX0E0X1QzLmpzCiAqIEBkZXNjcmlwdGlvbiBsZW5ndGggPSAtNDI5NDk2NzI5NAogKi8KCnZhciBvYmogPSB7fTsKb2JqLnNvcnQgPSBBcnJheS5wcm90b3R5cGUuc29ydDsKb2JqWzBdID0gInoiOwpvYmpbMV0gPSAieSI7Cm9ialsyXSA9ICJ4IjsKb2JqLmxlbmd0aCA9IC00Mjk0OTY3Mjk0OwoKLy9DSEVDSyMxCmlmIChvYmouc29ydCgpICE9PSBvYmopIHsKICAkRVJST1IoJyMxOiB2YXIgb2JqID0ge307IG9iai5zb3J0ID0gQXJyYXkucHJvdG90eXBlLnNvcnQ7IG9ialswXSA9ICJ6Ijsgb2JqWzFdID0gInkiOyBvYmpbMl0gPSAieCI7IG9iai5sZW5ndGggPSAtNDI5NDk2NzI5NDsgb2JqLnNvcnQoKSA9PT0gb2JqLiBBY3R1YWw6ICcgKyAob2JqLnNvcnQoKSkpOwp9CgovL0NIRUNLIzIKaWYgKG9iai5sZW5ndGggIT09IC00Mjk0OTY3Mjk0KSB7CiAgJEVSUk9SKCcjMjogdmFyIG9iaiA9IHt9OyBvYmouc29ydCA9IEFycmF5LnByb3RvdHlwZS5zb3J0OyBvYmpbMF0gPSAieiI7IG9ialsxXSA9ICJ5Ijsgb2JqWzJdID0gIngiOyBvYmoubGVuZ3RoID0gLTQyOTQ5NjcyOTQ7IG9iai5zb3J0KCk7IG9iai5sZW5ndGggPT09IC00Mjk0OTY3Mjk0LiBBY3R1YWw6ICcgKyAob2JqLmxlbmd0aCkpOwp9CgovL0NIRUNLIzMKaWYgKG9ialswXSAhPT0gInkiKSB7CiAgJEVSUk9SKCcjMzogdmFyIG9iaiA9IHt9OyBvYmouc29ydCA9IEFycmF5LnByb3RvdHlwZS5zb3J0OyBvYmpbMF0gPSAieiI7IG9ialsxXSA9ICJ5Ijsgb2JqWzJdID0gIngiOyBvYmoubGVuZ3RoID0gLTQyOTQ5NjcyOTQ7IG9iai5zb3J0KCk7IG9ialswXSA9PT0gInkiLiBBY3R1YWw6ICcgKyAob2JqWzBdKSk7Cn0gICAKCi8vQ0hFQ0sjNAppZiAob2JqWzFdICE9PSAieiIpIHsKICAkRVJST1IoJyM0OiB2YXIgb2JqID0ge307IG9iai5zb3J0ID0gQXJyYXkucHJvdG90eXBlLnNvcnQ7IG9ialswXSA9ICJ6Ijsgb2JqWzFdID0gInkiOyBvYmpbMl0gPSAieCI7IG9iai5sZW5ndGggPSAtNDI5NDk2NzI5NDsgb2JqLnNvcnQoKTsgb2JqWzFdID09PSAieiIuIEFjdHVhbDogJyArIChvYmpbMV0pKTsKfSAKCi8vQ0hFQ0sjNQppZiAob2JqWzJdICE9PSAieCIpIHsKICAkRVJST1IoJyM1OiB2YXIgb2JqID0ge307IG9iai5zb3J0ID0gQXJyYXkucHJvdG90eXBlLnNvcnQ7IG9ialswXSA9ICJ6Ijsgb2JqWzFdID0gInkiOyBvYmpbMl0gPSAieCI7IG9iai5sZW5ndGggPSAtNDI5NDk2NzI5NDsgb2JqLnNvcnQoKTsgb2JqWzJdID09PSAieCIuIEFjdHVhbDogJyArIChvYmpbMl0pKTsKfSAgCgo=","commentary":"Check ToUint32(length) for non Array objects","description":"length = -4294967294","path":"TestCases/ch15/15.4/15.4.4/15.4.4.11/S15.4.4.11_A4_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBBcnJheS5zb3J0IHNob3VsZCBub3QgZWF0IGV4Y2VwdGlvbnMKICoKICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTEvUzE1LjQuNC4xMV9BNV9UMS5qcwogKiBAZGVzY3JpcHRpb24gY29tcGFyZWZuIGZ1bmN0aW9uIHRocm93ICJlcnJvciIKICovCgovL0NIRUNLIzEKdmFyIG15Q29tcGFyZWZuID0gZnVuY3Rpb24oeCx5KSB7CiAgdGhyb3cgImVycm9yIjsKfQp2YXIgeCA9IFsxLDBdOwp0cnkgewogIHguc29ydChteUNvbXBhcmVmbikKICAkRVJST1IoJyMxLjE6IEFycmF5LnNvcnQgc2hvdWxkIG5vdCBlYXQgZXhjZXB0aW9ucycpOwp9IGNhdGNoKGUpIHsKICBpZiAoZSAhPT0gImVycm9yIikgewogICAgJEVSUk9SKCcjMS4yOiBBcnJheS5zb3J0IHNob3VsZCBub3QgZWF0IGV4Y2VwdGlvbnMnKTsKICB9Cn0gICAgIAoK","commentary":"Array.sort should not eat exceptions","description":"comparefn function throw \"error\"","path":"TestCases/ch15/15.4/15.4.4/15.4.4.11/S15.4.4.11_A5_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBbW0dldF1dLCBbW0RlbGV0ZV1dIGZyb20gbm90IGFuIGluaGVyaXRlZCBwcm9wZXJ0eQogKgogKiBAcGF0aCBjaDE1LzE1LjQvMTUuNC40LzE1LjQuNC4xMS9TMTUuNC40LjExX0E2X1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBbW1Byb3RvdHlwZV1dIG9mIEFycmF5IGluc3RhbmNlIGlzIEFycmF5LnByb3RvdHlwZSwgW1tQcm90b3R5cGVdIG9mIEFycmF5LnByb3RvdHlwZSBpcyBPYmplY3QucHJvdG90eXBlCiAqLwoKQXJyYXkucHJvdG90eXBlWzFdID0gLTE7CnZhciB4ID0gWzEsMF07CngubGVuZ3RoID0gMjsKeC5zb3J0KCk7CgovL0NIRUNLIzEKaWYgKHhbMF0gIT09IDApIHsgIAogICRFUlJPUignIzE6IEFycmF5LnByb3RvdHlwZVsxXSA9IC0xOyB4ID0gWzEsMF07IHgubGVuZ3RoID0gMjsgeC5zb3J0KCk7IHhbMF0gPT09IDAuIEFjdHVhbDogJyArICh4WzBdKSk7ICAgIAp9CgovL0NIRUNLIzIKaWYgKHhbMV0gIT09IDEpIHsgIAogICRFUlJPUignIzI6IEFycmF5LnByb3RvdHlwZVsxXSA9IC0xOyB4ID0gWzEsMF07IHgubGVuZ3RoID0gMjsgeC5zb3J0KCk7IHhbMV0gPT09IDEuIEFjdHVhbDogJyArICh4WzFdKSk7ICAgIAp9Cgp4Lmxlbmd0aCA9IDA7CgovL0NIRUNLIzMKaWYgKHhbMF0gIT09IHVuZGVmaW5lZCkgeyAgCiAgJEVSUk9SKCcjMzogQXJyYXkucHJvdG90eXBlWzFdID0gLTE7IHggPSBbMSwwXTsgeC5sZW5ndGggPSAyOyB4LnNvcnQoKTsgeC5sZW5ndGggPSAwOyB4WzBdID09PSB1bmRlZmluZWQuIEFjdHVhbDogJyArICh4WzBdKSk7ICAgIAp9CgovL0NIRUNLIzQKaWYgKHhbMV0gIT09IC0xKSB7ICAKICAkRVJST1IoJyM0OiBBcnJheS5wcm90b3R5cGVbMV0gPSAtMTsgeCA9IFsxLDBdOyB4Lmxlbmd0aCA9IDI7IHguc29ydCgpOyB4Lmxlbmd0aCA9IDA7IHhbMV0gPT09IC0xLiBBY3R1YWw6ICcgKyAoeFsxXSkpOyAgICAKfQoKT2JqZWN0LnByb3RvdHlwZVsxXSA9IC0xOwpPYmplY3QucHJvdG90eXBlLmxlbmd0aCA9IDI7Ck9iamVjdC5wcm90b3R5cGUuc29ydCA9IEFycmF5LnByb3RvdHlwZS5zb3J0Owp4ID0gezA6MSwxOjB9Owp4LnNvcnQoKTsKCi8vQ0hFQ0sjNQppZiAoeFswXSAhPT0gMCkgeyAgCiAgJEVSUk9SKCcjNTogT2JqZWN0LnByb3RvdHlwZVsxXSA9IC0xOyBPYmplY3QucHJvdG90eXBlLmxlbmd0aCA9IDI7IE9iamVjdC5wcm90b3R5cGUuc29ydCA9IEFycmF5LnByb3RvdHlwZS5zb3J0OyB4ID0gezA6MSwxOjB9OyB4LnNvcnQoKTsgeFswXSA9PT0gMC4gQWN0dWFsOiAnICsgKHhbMF0pKTsgICAgCn0KCi8vQ0hFQ0sjNgppZiAoeFsxXSAhPT0gMSkgeyAgCiAgJEVSUk9SKCcjNjogT2JqZWN0LnByb3RvdHlwZVsxXSA9IC0xOyBPYmplY3QucHJvdG90eXBlLmxlbmd0aCA9IDI7IE9iamVjdC5wcm90b3R5cGUuc29ydCA9IEFycmF5LnByb3RvdHlwZS5zb3J0OyB4ID0gezA6MSwxOjB9OyB4LnNvcnQoKTsgeFsxXSA9PT0gMS4gQWN0dWFsOiAnICsgKHhbMV0pKTsgICAgCn0KCmRlbGV0ZSB4WzBdOwpkZWxldGUgeFsxXTsKCi8vQ0hFQ0sjNwppZiAoeFswXSAhPT0gdW5kZWZpbmVkKSB7ICAKICAkRVJST1IoJyM3OiBPYmplY3QucHJvdG90eXBlWzFdID0gLTE7IE9iamVjdC5wcm90b3R5cGUubGVuZ3RoID0gMjsgT2JqZWN0LnByb3RvdHlwZS5zb3J0ID0gQXJyYXkucHJvdG90eXBlLnNvcnQ7IHggPSB7MDoxLDE6MH07IHguc29ydCgpOyBkZWxldGUgeFswXTsgZGVsZXRlIHhbMV07IHhbMF0gPT09IHVuZGVmaW5lZC4gQWN0dWFsOiAnICsgKHhbMF0pKTsgICAgCn0KCi8vQ0hFQ0sjOAppZiAoeFsxXSAhPT0gLTEpIHsgIAogICRFUlJPUignIzg6IE9iamVjdC5wcm90b3R5cGVbMV0gPSAtMTsgT2JqZWN0LnByb3RvdHlwZS5sZW5ndGggPSAyOyBPYmplY3QucHJvdG90eXBlLnNvcnQgPSBBcnJheS5wcm90b3R5cGUuc29ydDsgeCA9IHswOjEsMTowfTsgeC5zb3J0KCk7IGRlbGV0ZSB4WzBdOyBkZWxldGUgeFsxXTsgeFsxXSA9PT0gLTEuIEFjdHVhbDogJyArICh4WzFdKSk7ICAgIAp9Cgo=","commentary":"[[Get]], [[Delete]] from not an inherited property","description":"[[Prototype]] of Array instance is Array.prototype, [[Prototype] of Array.prototype is Object.prototype","path":"TestCases/ch15/15.4/15.4.4/15.4.4.11/S15.4.4.11_A6_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgbGVuZ3RoIHByb3BlcnR5IG9mIHNvcnQgaGFzIHRoZSBhdHRyaWJ1dGUgRG9udEVudW0KICoKICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTEvUzE1LjQuNC4xMV9BNy4xLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyB1c2UgcHJvcGVydHlJc0VudW1lcmFibGUsIGZvci1pbgogKi8KCi8vQ0hFQ0sjMQppZiAoQXJyYXkucHJvdG90eXBlLnNvcnQucHJvcGVydHlJc0VudW1lcmFibGUoJ2xlbmd0aCcpICE9PSBmYWxzZSkgewogICRFUlJPUignIzE6IEFycmF5LnByb3RvdHlwZS5zb3J0LnByb3BlcnR5SXNFbnVtZXJhYmxlKFwnbGVuZ3RoXCcpID09PSBmYWxzZS4gQWN0dWFsOiAnICsgKEFycmF5LnByb3RvdHlwZS5zb3J0LnByb3BlcnR5SXNFbnVtZXJhYmxlKCdsZW5ndGgnKSkpOwp9CgovL0NIRUNLIzIKdmFyIHJlc3VsdCA9IHRydWU7CmZvciAodmFyIHAgaW4gQXJyYXkuc29ydCl7CiAgaWYgKHAgPT09ICJsZW5ndGgiKSB7CiAgICByZXN1bHQgPSBmYWxzZTsKICB9ICAKfQoKaWYgKHJlc3VsdCAhPT0gdHJ1ZSkgewogICRFUlJPUignIzI6IHJlc3VsdCA9IHRydWU7IGZvciAocCBpbiBBcnJheS5zb3J0KSB7IGlmIChwID09PSAibGVuZ3RoIikgcmVzdWx0ID0gZmFsc2U7IH0gIHJlc3VsdCA9PT0gdHJ1ZTsnKTsKfQoKCg==","commentary":"The length property of sort has the attribute DontEnum","description":"Checking use propertyIsEnumerable, for-in","path":"TestCases/ch15/15.4/15.4.4/15.4.4.11/S15.4.4.11_A7.1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgbGVuZ3RoIHByb3BlcnR5IG9mIHNvcnQgaGFzIHRoZSBhdHRyaWJ1dGUgRG9udERlbGV0ZQogKgogKiBAcGF0aCBjaDE1LzE1LjQvMTUuNC40LzE1LjQuNC4xMS9TMTUuNC40LjExX0E3LjIuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIHVzZSBoYXNPd25Qcm9wZXJ0eSwgZGVsZXRlCiAqIEBub1N0cmljdAogKi8KCi8vQ0hFQ0sjMQppZiAoQXJyYXkucHJvdG90eXBlLnNvcnQuaGFzT3duUHJvcGVydHkoJ2xlbmd0aCcpICE9PSB0cnVlKSB7CiAgJEZBSUwoJyMxOiBBcnJheS5zb3J0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eShcJ2xlbmd0aFwnKSA9PT0gdHJ1ZS4gQWN0dWFsOiAnICsgKEFycmF5LnNvcnQucHJvdG90eXBlLmhhc093blByb3BlcnR5KCdsZW5ndGgnKSkpOwp9CgpkZWxldGUgQXJyYXkucHJvdG90eXBlLnNvcnQubGVuZ3RoOwoKLy9DSEVDSyMyCmlmIChBcnJheS5wcm90b3R5cGUuc29ydC5oYXNPd25Qcm9wZXJ0eSgnbGVuZ3RoJykgIT09IHRydWUpIHsKICAkRVJST1IoJyMyOiBkZWxldGUgQXJyYXkucHJvdG90eXBlLnNvcnQubGVuZ3RoOyBBcnJheS5wcm90b3R5cGUuc29ydC5oYXNPd25Qcm9wZXJ0eShcJ2xlbmd0aFwnKSA9PT0gdHJ1ZS4gQWN0dWFsOiAnICsgKEFycmF5LnByb3RvdHlwZS5zb3J0Lmhhc093blByb3BlcnR5KCdsZW5ndGgnKSkpOwp9CgovL0NIRUNLIzMKaWYgKEFycmF5LnByb3RvdHlwZS5zb3J0Lmxlbmd0aCA9PT0gdW5kZWZpbmVkKSB7CiAgJEVSUk9SKCcjMzogZGVsZXRlIEFycmF5LnByb3RvdHlwZS5zb3J0Lmxlbmd0aDsgQXJyYXkucHJvdG90eXBlLnNvcnQubGVuZ3RoICE9PSB1bmRlZmluZWQnKTsKfQoKCgo=","commentary":"The length property of sort has the attribute DontDelete","description":"Checking use hasOwnProperty, delete","noStrict":"","path":"TestCases/ch15/15.4/15.4.4/15.4.4.11/S15.4.4.11_A7.2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgbGVuZ3RoIHByb3BlcnR5IG9mIHNvcnQgaGFzIHRoZSBhdHRyaWJ1dGUgUmVhZE9ubHkKICoKICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTEvUzE1LjQuNC4xMV9BNy4zLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiB2YXJ5aW5nIHRoZSBsZW5ndGggZmFpbHMKICogQG5vU3RyaWN0CiAqLwoKLy9DSEVDSyMxCnZhciB4ID0gQXJyYXkucHJvdG90eXBlLnNvcnQubGVuZ3RoOwpBcnJheS5wcm90b3R5cGUuc29ydC5sZW5ndGggPSBJbmZpbml0eTsKaWYgKEFycmF5LnByb3RvdHlwZS5zb3J0Lmxlbmd0aCAhPT0geCkgewogICRFUlJPUignIzE6IHggPSBBcnJheS5wcm90b3R5cGUuc29ydC5sZW5ndGg7IEFycmF5LnByb3RvdHlwZS5zb3J0Lmxlbmd0aCA9IEluZmluaXR5OyBBcnJheS5wcm90b3R5cGUuc29ydC5sZW5ndGggPT09IHguIEFjdHVhbDogJyArIChBcnJheS5wcm90b3R5cGUuc29ydC5sZW5ndGgpKTsKfQoKCg==","commentary":"The length property of sort has the attribute ReadOnly","description":"Checking if varying the length fails","noStrict":"","path":"TestCases/ch15/15.4/15.4.4/15.4.4.11/S15.4.4.11_A7.3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgbGVuZ3RoIHByb3BlcnR5IG9mIHNvcnQgaXMgMQogKgogKiBAcGF0aCBjaDE1LzE1LjQvMTUuNC40LzE1LjQuNC4xMS9TMTUuNC40LjExX0E3LjQuanMKICogQGRlc2NyaXB0aW9uIHNvcnQubGVuZ3RoID09PSAxCiAqLwoKLy9DSEVDSyMxCmlmIChBcnJheS5wcm90b3R5cGUuc29ydC5sZW5ndGggIT09IDEpIHsKICAkRVJST1IoJyMxOiBBcnJheS5wcm90b3R5cGUuc29ydC5sZW5ndGggPT09IDEuIEFjdHVhbDogJyArIChBcnJheS5wcm90b3R5cGUuc29ydC5sZW5ndGgpKTsKfQoKCg==","commentary":"The length property of sort is 1","description":"sort.length === 1","path":"TestCases/ch15/15.4/15.4.4/15.4.4.11/S15.4.4.11_A7.4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgc29ydCBwcm9wZXJ0eSBvZiBBcnJheSBoYXMgdGhlIGF0dHJpYnV0ZSBEb250RW51bQogKgogKiBAcGF0aCBjaDE1LzE1LjQvMTUuNC40LzE1LjQuNC4xMS9TMTUuNC40LjExX0E3LjUuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIHVzZSBwcm9wZXJ0eUlzRW51bWVyYWJsZSwgZm9yLWluCiAqLwoKLy9DSEVDSyMxCmlmIChBcnJheS5wcm9wZXJ0eUlzRW51bWVyYWJsZSgnc29ydCcpICE9PSBmYWxzZSkgewogICRFUlJPUignIzE6IEFycmF5LnByb3BlcnR5SXNFbnVtZXJhYmxlKFwnc29ydFwnKSA9PT0gZmFsc2UuIEFjdHVhbDogJyArIChBcnJheS5wcm9wZXJ0eUlzRW51bWVyYWJsZSgnc29ydCcpKSk7Cn0KCi8vQ0hFQ0sjMgp2YXIgcmVzdWx0ID0gdHJ1ZTsKZm9yICh2YXIgcCBpbiBBcnJheSl7CiAgaWYgKHAgPT09ICJzb3J0IikgewogICAgcmVzdWx0ID0gZmFsc2U7CiAgfSAgCn0KCmlmIChyZXN1bHQgIT09IHRydWUpIHsKICAkRVJST1IoJyMyOiByZXN1bHQgPSB0cnVlOyBmb3IgKHAgaW4gQXJyYXkpIHsgaWYgKHAgPT09ICJzb3J0IikgcmVzdWx0ID0gZmFsc2U7IH0gIHJlc3VsdCA9PT0gdHJ1ZTsnKTsKfQoKCg==","commentary":"The sort property of Array has the attribute DontEnum","description":"Checking use propertyIsEnumerable, for-in","path":"TestCases/ch15/15.4/15.4.4/15.4.4.11/S15.4.4.11_A7.5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgc29ydCBwcm9wZXJ0eSBvZiBBcnJheSBoYXMgbm90IHByb3RvdHlwZSBwcm9wZXJ0eQogKgogKiBAcGF0aCBjaDE1LzE1LjQvMTUuNC40LzE1LjQuNC4xMS9TMTUuNC40LjExX0E3LjYuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIEFycmF5LnByb3RvdHlwZS5zb3J0LnByb3RvdHlwZQogKi8KCi8vQ0hFQ0sjMQppZiAoQXJyYXkucHJvdG90eXBlLnNvcnQucHJvdG90eXBlICE9PSB1bmRlZmluZWQpIHsKICAkRVJST1IoJyMxOiBBcnJheS5wcm90b3R5cGUuc29ydC5wcm90b3R5cGUgPT09IHVuZGVmaW5lZC4gQWN0dWFsOiAnICsgKEFycmF5LnByb3RvdHlwZS5zb3J0LnByb3RvdHlwZSkpOwp9Cgo=","commentary":"The sort property of Array has not prototype property","description":"Checking Array.prototype.sort.prototype","path":"TestCases/ch15/15.4/15.4.4/15.4.4.11/S15.4.4.11_A7.6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgc29ydCBwcm9wZXJ0eSBvZiBBcnJheSBjYW4ndCBiZSB1c2VkIGFzIGNvbnN0cnVjdG9yCiAqCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjExL1MxNS40LjQuMTFfQTcuNy5qcwogKiBAZGVzY3JpcHRpb24gSWYgcHJvcGVydHkgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBpbnRlcm5hbCBbW0NvbnN0cnVjdF1dIG1ldGhvZCwgdGhyb3cgYSBUeXBlRXJyb3IgZXhjZXB0aW9uCiAqLwoKLy9DSEVDSyMxCgp0cnkgewogIG5ldyBBcnJheS5wcm90b3R5cGUuc29ydCgpOwogICRFUlJPUignIzEuMTogbmV3IEFycmF5LnByb3RvdHlwZS5zb3J0KCkgdGhyb3cgVHlwZUVycm9yLiBBY3R1YWw6ICcgKyAobmV3IEFycmF5LnByb3RvdHlwZS5zb3J0KCkpKTsKfSBjYXRjaCAoZSkgewogIGlmICgoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikgIT09IHRydWUpIHsKICAgICRFUlJPUignIzEuMjogbmV3IEFycmF5LnByb3RvdHlwZS5zb3J0KCkgdGhyb3cgVHlwZUVycm9yLiBBY3R1YWw6ICcgKyAoZSkpOwogIH0KfQoK","commentary":"The sort property of Array can't be used as constructor","description":"If property does not implement the internal [[Construct]] method, throw a TypeError exception","path":"TestCases/ch15/15.4/15.4.4/15.4.4.11/S15.4.4.11_A7.7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMTEgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBDYWxsIHRoZSBjb21wYXJlZm4gcGFzc2luZyB1bmRlZmluZWQgYXMgdGhlIHRoaXMgdmFsdWUgKHN0ZXAgMTNiKQogKgogKiBAcGF0aCBjaDE1LzE1LjQvMTUuNC40LzE1LjQuNC4xMS9TMTUuNC40LjExX0E4LmpzCiAqIEBkZXNjcmlwdGlvbiBjb21wYXJlZm4gdGVzdHMgdGhhdCBpdHMgdGhpcyB2YWx1ZSBpcyB1bmRlZmluZWQKICogQG9ubHlTdHJpY3QKICovCgp2YXIgZ2xvYmFsID0gdGhpczsKWzIsM10uc29ydChmdW5jdGlvbih4LHkpIHsKICAidXNlIHN0cmljdCI7CgogIGlmICh0aGlzID09PSBnbG9iYWwpIHsKICAgICRGQUlMKCcjMTogU29ydCBsZWFrcyBnbG9iYWwnKTsKICB9CiAgaWYgKHRoaXMgIT09IHVuZGVmaW5lZCkgewogICAgJEZBSUwoJyMyOiBTb3J0IGNvbXBhcmVmbiBzaG91bGQgYmUgY2FsbGVkIHdpdGggdGhpcz09PXVuZGVmaW5lZC4gJyArCiAgICAgICAgICAnQWN0dWFsOiAnICsgdGhpcyk7CiAgfQogIHJldHVybiB4IC0geTsKfSk7Cgo=","commentary":"Call the comparefn passing undefined as the this value (step 13b)","description":"comparefn tests that its this value is undefined","onlyStrict":"","path":"TestCases/ch15/15.4/15.4.4/15.4.4.11/S15.4.4.11_A8.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTIvMTUuNC40LjEyLTktYS0xLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnNwbGljZSAtICdmcm9tJyBpcyB0aGUgcmVzdWx0IG9mIFRvU3RyaW5nKGFjdHVhbFN0YXJ0K2spIGluIGFuIEFycmF5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIGFyck9iaiA9IFsxLCAyLCAzXTsNCiAgICAgICAgdmFyIG5ld0Fyck9iaiA9IGFyck9iai5zcGxpY2UoLTIsIDEpOw0KICAgICAgICByZXR1cm4gbmV3QXJyT2JqLmxlbmd0aCA9PT0gMSAmJiBuZXdBcnJPYmpbMF0gPT09IDI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.splice - 'from' is the result of ToString(actualStart+k) in an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.12/15.4.4.12-9-a-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTIvMTUuNC40LjEyLTktYy1paS0xLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnNwbGljZSB3aWxsIHNwbGljZSBhbiBhcnJheSBldmVuIHdoZW4gQXJyYXkucHJvdG90eXBlIGhhcyBpbmRleCAnMCcgc2V0IHRvIHJlYWQtb25seSBhbmQgJ2Zyb21QcmVzZW50JyBsZXNzIHRoYW4gJ2FjdHVhbERlbGV0ZUNvdW50IChTdGVwIDkuYy5paSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgdmFyIGFyciA9IFsiYSIsICJiIiwgImMiXTsNCiAgICAgICAgICAgIEFycmF5LnByb3RvdHlwZVswXSA9ICJ0ZXN0IjsNCiAgICAgICAgICAgIHZhciBuZXdBcnIgPSBhcnIuc3BsaWNlKDIsIDEsICJkIik7DQoNCiAgICAgICAgICAgIHZhciB2ZXJpZnlWYWx1ZSA9IGZhbHNlOw0KICAgICAgICAgICAgdmVyaWZ5VmFsdWUgPSBhcnIubGVuZ3RoID09PSAzICYmIGFyclswXSA9PT0gImEiICYmIGFyclsxXSA9PT0gImIiICYmIGFyclsyXSA9PT0gImQiDQogICAgICAgICAgICAgICAgJiYgbmV3QXJyWzBdID09PSAiYyIgJiYgbmV3QXJyLmxlbmd0aCA9PT0gMTsNCg0KICAgICAgICAgICAgdmFyIHZlcmlmeUVudW1lcmFibGUgPSBmYWxzZTsNCiAgICAgICAgICAgIGZvciAodmFyIHAgaW4gbmV3QXJyKSB7DQogICAgICAgICAgICAgICAgaWYgKG5ld0Fyci5oYXNPd25Qcm9wZXJ0eSgiMCIpICYmIHAgPT09ICIwIikgew0KICAgICAgICAgICAgICAgICAgICB2ZXJpZnlFbnVtZXJhYmxlID0gdHJ1ZTsNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9DQoNCiAgICAgICAgICAgIHZhciB2ZXJpZnlXcml0YWJsZSA9IGZhbHNlOw0KICAgICAgICAgICAgbmV3QXJyWzBdID0gMTI7DQogICAgICAgICAgICB2ZXJpZnlXcml0YWJsZSA9IG5ld0FyclswXSA9PT0gMTI7DQoNCiAgICAgICAgICAgIHZhciB2ZXJpZnlDb25maWd1cmFibGUgPSBmYWxzZTsNCiAgICAgICAgICAgIGRlbGV0ZSBuZXdBcnJbMF07DQogICAgICAgICAgICB2ZXJpZnlDb25maWd1cmFibGUgPSBuZXdBcnIuaGFzT3duUHJvcGVydHkoIjAiKTsNCg0KICAgICAgICAgICAgcmV0dXJuIHZlcmlmeVZhbHVlICYmICF2ZXJpZnlDb25maWd1cmFibGUgJiYgdmVyaWZ5RW51bWVyYWJsZSAmJiB2ZXJpZnlXcml0YWJsZTsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBBcnJheS5wcm90b3R5cGVbMF07DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.splice will splice an array even when Array.prototype has index '0' set to read-only and 'fromPresent' less than 'actualDeleteCount (Step 9.c.ii)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.12/15.4.4.12-9-c-ii-1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBzdGFydCBpcyBwb3NpdGl2ZSwgdXNlIG1pbihzdGFydCwgbGVuZ3RoKS4KICogSWYgZGVsZXRlQ291bnQgaXMgcG9zaXRpdmUsIHVzZSBtaW4oZGVsZXRlQ291bnQsIGxlbmd0aCAtIHN0YXJ0KQogKgogKiBAcGF0aCBjaDE1LzE1LjQvMTUuNC40LzE1LjQuNC4xMi9TMTUuNC40LjEyX0ExLjFfVDEuanMKICogQGRlc2NyaXB0aW9uIGxlbmd0aCA+IGRlbGV0ZUNvdW50ID4gc3RhcnQgPSAwLCBpdGVtQ291bnQgPSAwCiAqLwoKdmFyIHggPSBbMCwxLDIsM107CnZhciBhcnIgPSB4LnNwbGljZSgwLDMpOwoKLy9DSEVDSyMxCmFyci5nZXRDbGFzcyA9IE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmc7CmlmIChhcnIuZ2V0Q2xhc3MoKSAhPT0gIltvYmplY3QgIiArICJBcnJheSIgKyAiXSIpIHsKICAkRVJST1IoJyMxOiB2YXIgeCA9IFswLDEsMiwzXTsgdmFyIGFyciA9IHguc3BsaWNlKDAsMyk7IGFyciBpcyBBcnJheSBvYmplY3QuIEFjdHVhbDogJyArIChhcnIuZ2V0Q2xhc3MoKSkpOwp9CgovL0NIRUNLIzIKaWYgKGFyci5sZW5ndGggIT09IDMpIHsKICAkRVJST1IoJyMyOiB2YXIgeCA9IFswLDEsMiwzXTsgdmFyIGFyciA9IHguc3BsaWNlKDAsMyk7IGFyci5sZW5ndGggPT09IDMuIEFjdHVhbDogJyArIChhcnIubGVuZ3RoKSk7Cn0gICAgICAKCi8vQ0hFQ0sjMwppZiAoYXJyWzBdICE9PSAwKSB7CiAgJEVSUk9SKCcjMzogdmFyIHggPSBbMCwxLDIsM107IHZhciBhcnIgPSB4LnNwbGljZSgwLDMpOyBhcnJbMF0gPT09IDAuIEFjdHVhbDogJyArIChhcnJbMF0pKTsKfQoKLy9DSEVDSyM0CmlmIChhcnJbMV0gIT09IDEpIHsKICAkRVJST1IoJyM0OiB2YXIgeCA9IFswLDEsMiwzXTsgdmFyIGFyciA9IHguc3BsaWNlKDAsMyk7IGFyclsxXSA9PT0gMS4gQWN0dWFsOiAnICsgKGFyclsxXSkpOwp9ICAgICAgCgovL0NIRUNLIzUKaWYgKGFyclsyXSAhPT0gMikgewogICRFUlJPUignIzU6IHZhciB4ID0gWzAsMSwyLDNdOyB2YXIgYXJyID0geC5zcGxpY2UoMCwzKTsgYXJyWzJdID09PSAyLiBBY3R1YWw6ICcgKyAoYXJyWzJdKSk7Cn0gICAKCi8vQ0hFQ0sjNgppZiAoeC5sZW5ndGggIT09IDEpIHsKICAkRVJST1IoJyM2OiB2YXIgeCA9IFswLDEsMiwzXTsgdmFyIGFyciA9IHguc3BsaWNlKDAsMyk7IHgubGVuZ3RoID09PSAxLiBBY3R1YWw6ICcgKyAoeC5sZW5ndGgpKTsKfSAKCi8vQ0hFQ0sjNwppZiAoeFswXSAhPT0gMykgewogICRFUlJPUignIzc6IHZhciB4ID0gWzAsMSwyLDNdOyB2YXIgYXJyID0geC5zcGxpY2UoMCwzKTsgeFswXSA9PT0gMy4gQWN0dWFsOiAnICsgKHhbMF0pKTsKfSAgIAoK","commentary":"If start is positive, use min(start, length).\nIf deleteCount is positive, use min(deleteCount, length - start)","description":"length > deleteCount > start = 0, itemCount = 0","path":"TestCases/ch15/15.4/15.4.4/15.4.4.12/S15.4.4.12_A1.1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBzdGFydCBpcyBwb3NpdGl2ZSwgdXNlIG1pbihzdGFydCwgbGVuZ3RoKS4KICogSWYgZGVsZXRlQ291bnQgaXMgcG9zaXRpdmUsIHVzZSBtaW4oZGVsZXRlQ291bnQsIGxlbmd0aCAtIHN0YXJ0KQogKgogKiBAcGF0aCBjaDE1LzE1LjQvMTUuNC40LzE1LjQuNC4xMi9TMTUuNC40LjEyX0ExLjFfVDIuanMKICogQGRlc2NyaXB0aW9uIGxlbmd0aCA+IGRlbGV0ZUNvdW50ID4gc3RhcnQgPSAwLCBpdGVtQ291bnQgPiAwCiAqLwoKdmFyIHggPSBbMCwxLDIsM107CnZhciBhcnIgPSB4LnNwbGljZSgwLDMsNCw1KTsKCi8vQ0hFQ0sjMQphcnIuZ2V0Q2xhc3MgPSBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nOwppZiAoYXJyLmdldENsYXNzKCkgIT09ICJbb2JqZWN0ICIgKyAiQXJyYXkiICsgIl0iKSB7CiAgJEVSUk9SKCcjMTogdmFyIHggPSBbMCwxLDIsM107IHZhciBhcnIgPSB4LnNwbGljZSgwLDMsNCw1KTsgYXJyIGlzIEFycmF5IG9iamVjdC4gQWN0dWFsOiAnICsgKGFyci5nZXRDbGFzcygpKSk7Cn0KCi8vQ0hFQ0sjMgppZiAoYXJyLmxlbmd0aCAhPT0gMykgewogICRFUlJPUignIzI6IHZhciB4ID0gWzAsMSwyLDNdOyB2YXIgYXJyID0geC5zcGxpY2UoMCwzLDQsNSk7IGFyci5sZW5ndGggPT09IDMuIEFjdHVhbDogJyArIChhcnIubGVuZ3RoKSk7Cn0gICAgICAKCi8vQ0hFQ0sjMwppZiAoYXJyWzBdICE9PSAwKSB7CiAgJEVSUk9SKCcjMzogdmFyIHggPSBbMCwxLDIsM107IHZhciBhcnIgPSB4LnNwbGljZSgwLDMsNCw1KTsgYXJyWzBdID09PSAwLiBBY3R1YWw6ICcgKyAoYXJyWzBdKSk7Cn0KCi8vQ0hFQ0sjNAppZiAoYXJyWzFdICE9PSAxKSB7CiAgJEVSUk9SKCcjNDogdmFyIHggPSBbMCwxLDIsM107IHZhciBhcnIgPSB4LnNwbGljZSgwLDMsNCw1KTsgYXJyWzFdID09PSAxLiBBY3R1YWw6ICcgKyAoYXJyWzFdKSk7Cn0gICAgICAKCi8vQ0hFQ0sjNQppZiAoYXJyWzJdICE9PSAyKSB7CiAgJEVSUk9SKCcjNTogdmFyIHggPSBbMCwxLDIsM107IHZhciBhcnIgPSB4LnNwbGljZSgwLDMsNCw1KTsgYXJyWzJdID09PSAyLiBBY3R1YWw6ICcgKyAoYXJyWzJdKSk7Cn0gICAKCi8vQ0hFQ0sjNgppZiAoeC5sZW5ndGggIT09IDMpIHsKICAkRVJST1IoJyM2OiB2YXIgeCA9IFswLDEsMiwzXTsgdmFyIGFyciA9IHguc3BsaWNlKDAsMyw0LDUpOyB4Lmxlbmd0aCA9PT0gMy4gQWN0dWFsOiAnICsgKHgubGVuZ3RoKSk7Cn0gCgovL0NIRUNLIzcKaWYgKHhbMF0gIT09IDQpIHsKICAkRVJST1IoJyM3OiB2YXIgeCA9IFswLDEsMiwzXTsgdmFyIGFyciA9IHguc3BsaWNlKDAsMyw0LDUpOyB4WzBdID09PSA0LiBBY3R1YWw6ICcgKyAoeFswXSkpOwp9CgovL0NIRUNLIzgKaWYgKHhbMV0gIT09IDUpIHsKICAkRVJST1IoJyM4OiB2YXIgeCA9IFswLDEsMiwzXTsgdmFyIGFyciA9IHguc3BsaWNlKDAsMyw0LDUpOyB4WzFdID09PSA1LiBBY3R1YWw6ICcgKyAoeFsxXSkpOwp9IAoKLy9DSEVDSyM5CmlmICh4WzJdICE9PSAzKSB7CiAgJEVSUk9SKCcjOTogdmFyIHggPSBbMCwxLDIsM107IHZhciBhcnIgPSB4LnNwbGljZSgwLDMsNCw1KTsgeFsyXSA9PT0gMy4gQWN0dWFsOiAnICsgKHhbMl0pKTsKfSAgCgo=","commentary":"If start is positive, use min(start, length).\nIf deleteCount is positive, use min(deleteCount, length - start)","description":"length > deleteCount > start = 0, itemCount > 0","path":"TestCases/ch15/15.4/15.4.4/15.4.4.12/S15.4.4.12_A1.1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBzdGFydCBpcyBwb3NpdGl2ZSwgdXNlIG1pbihzdGFydCwgbGVuZ3RoKS4KICogSWYgZGVsZXRlQ291bnQgaXMgcG9zaXRpdmUsIHVzZSBtaW4oZGVsZXRlQ291bnQsIGxlbmd0aCAtIHN0YXJ0KQogKgogKiBAcGF0aCBjaDE1LzE1LjQvMTUuNC40LzE1LjQuNC4xMi9TMTUuNC40LjEyX0ExLjFfVDMuanMKICogQGRlc2NyaXB0aW9uIGxlbmd0aCA9IGRlbGV0ZUNvdW50ID4gc3RhcnQgPSAwCiAqLwoKdmFyIHggPSBbMCwxLDIsM107CnZhciBhcnIgPSB4LnNwbGljZSgwLDQpOwoKLy9DSEVDSyMxCmFyci5nZXRDbGFzcyA9IE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmc7CmlmIChhcnIuZ2V0Q2xhc3MoKSAhPT0gIltvYmplY3QgIiArICJBcnJheSIgKyAiXSIpIHsKICAkRVJST1IoJyMxOiB2YXIgeCA9IFswLDEsMiwzXTsgdmFyIGFyciA9IHguc3BsaWNlKDAsNCk7IGFyciBpcyBBcnJheSBvYmplY3QuIEFjdHVhbDogJyArIChhcnIuZ2V0Q2xhc3MoKSkpOwp9CgovL0NIRUNLIzIKaWYgKGFyci5sZW5ndGggIT09IDQpIHsKICAkRVJST1IoJyMyOiB2YXIgeCA9IFswLDEsMiwzXTsgdmFyIGFyciA9IHguc3BsaWNlKDAsNCk7IGFyci5sZW5ndGggPT09IDQuIEFjdHVhbDogJyArIChhcnIubGVuZ3RoKSk7Cn0gICAgICAKCi8vQ0hFQ0sjMwppZiAoYXJyWzBdICE9PSAwKSB7CiAgJEVSUk9SKCcjMzogdmFyIHggPSBbMCwxLDIsM107IHZhciBhcnIgPSB4LnNwbGljZSgwLDQpOyBhcnJbMF0gPT09IDAuIEFjdHVhbDogJyArIChhcnJbMF0pKTsKfQoKLy9DSEVDSyM0CmlmIChhcnJbMV0gIT09IDEpIHsKICAkRVJST1IoJyM0OiB2YXIgeCA9IFswLDEsMiwzXTsgdmFyIGFyciA9IHguc3BsaWNlKDAsNCk7IGFyclsxXSA9PT0gMS4gQWN0dWFsOiAnICsgKGFyclsxXSkpOwp9ICAgICAgCgovL0NIRUNLIzUKaWYgKGFyclsyXSAhPT0gMikgewogICRFUlJPUignIzU6IHZhciB4ID0gWzAsMSwyLDNdOyB2YXIgYXJyID0geC5zcGxpY2UoMCw0KTsgYXJyWzJdID09PSAyLiBBY3R1YWw6ICcgKyAoYXJyWzJdKSk7Cn0gICAKCi8vQ0hFQ0sjNgppZiAoYXJyWzNdICE9PSAzKSB7CiAgJEVSUk9SKCcjNjogdmFyIHggPSBbMCwxLDIsM107IHZhciBhcnIgPSB4LnNwbGljZSgwLDQpOyBhcnJbM10gPT09IDMuIEFjdHVhbDogJyArIChhcnJbM10pKTsKfSAKCi8vQ0hFQ0sjNwppZiAoeC5sZW5ndGggIT09IDApIHsKICAkRVJST1IoJyM3OiB2YXIgeCA9IFswLDEsMiwzXTsgdmFyIGFyciA9IHguc3BsaWNlKDAsNCk7IHgubGVuZ3RoID09PSAwLiBBY3R1YWw6ICcgKyAoeC5sZW5ndGgpKTsKfSAKCg==","commentary":"If start is positive, use min(start, length).\nIf deleteCount is positive, use min(deleteCount, length - start)","description":"length = deleteCount > start = 0","path":"TestCases/ch15/15.4/15.4.4/15.4.4.12/S15.4.4.12_A1.1_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBzdGFydCBpcyBwb3NpdGl2ZSwgdXNlIG1pbihzdGFydCwgbGVuZ3RoKS4KICogSWYgZGVsZXRlQ291bnQgaXMgcG9zaXRpdmUsIHVzZSBtaW4oZGVsZXRlQ291bnQsIGxlbmd0aCAtIHN0YXJ0KQogKgogKiBAcGF0aCBjaDE1LzE1LjQvMTUuNC40LzE1LjQuNC4xMi9TMTUuNC40LjEyX0ExLjFfVDQuanMKICogQGRlc2NyaXB0aW9uIGxlbmd0aCA+IGRlbGV0ZUNvdW50ID4gc3RhcnQgPiAwLCBpdGVtQ291bnQgPiAwCiAqLwoKdmFyIHggPSBbMCwxLDIsM107CnZhciBhcnIgPSB4LnNwbGljZSgxLDMsNCw1KTsKCi8vQ0hFQ0sjMQphcnIuZ2V0Q2xhc3MgPSBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nOwppZiAoYXJyLmdldENsYXNzKCkgIT09ICJbb2JqZWN0ICIgKyAiQXJyYXkiICsgIl0iKSB7CiAgJEVSUk9SKCcjMTogdmFyIHggPSBbMCwxLDIsM107IHZhciBhcnIgPSB4LnNwbGljZSgxLDMsNCw1KTsgYXJyIGlzIEFycmF5IG9iamVjdC4gQWN0dWFsOiAnICsgKGFyci5nZXRDbGFzcygpKSk7Cn0KCi8vQ0hFQ0sjMgppZiAoYXJyLmxlbmd0aCAhPT0gMykgewogICRFUlJPUignIzI6IHZhciB4ID0gWzAsMSwyLDNdOyB2YXIgYXJyID0geC5zcGxpY2UoMSwzLDQsNSk7IGFyci5sZW5ndGggPT09IDMuIEFjdHVhbDogJyArIChhcnIubGVuZ3RoKSk7Cn0gICAgICAKCi8vQ0hFQ0sjMwppZiAoYXJyWzBdICE9PSAxKSB7CiAgJEVSUk9SKCcjMzogdmFyIHggPSBbMCwxLDIsM107IHZhciBhcnIgPSB4LnNwbGljZSgxLDMsNCw1KTsgYXJyWzBdID09PSAxLiBBY3R1YWw6ICcgKyAoYXJyWzBdKSk7Cn0KCi8vQ0hFQ0sjNAppZiAoYXJyWzFdICE9PSAyKSB7CiAgJEVSUk9SKCcjNDogdmFyIHggPSBbMCwxLDIsM107IHZhciBhcnIgPSB4LnNwbGljZSgxLDMsNCw1KTsgYXJyWzFdID09PSAyLiBBY3R1YWw6ICcgKyAoYXJyWzFdKSk7Cn0gICAgICAKCi8vQ0hFQ0sjNQppZiAoYXJyWzJdICE9PSAzKSB7CiAgJEVSUk9SKCcjNTogdmFyIHggPSBbMCwxLDIsM107IHZhciBhcnIgPSB4LnNwbGljZSgxLDMsNCw1KTsgYXJyWzJdID09PSAzLiBBY3R1YWw6ICcgKyAoYXJyWzJdKSk7Cn0gICAKCi8vQ0hFQ0sjNgppZiAoeC5sZW5ndGggIT09IDMpIHsKICAkRVJST1IoJyM2OiB2YXIgeCA9IFswLDEsMiwzXTsgdmFyIGFyciA9IHguc3BsaWNlKDEsMyw0LDUpOyB4Lmxlbmd0aCA9PT0gMy4gQWN0dWFsOiAnICsgKHgubGVuZ3RoKSk7Cn0gCgovL0NIRUNLIzcKaWYgKHhbMF0gIT09IDApIHsKICAkRVJST1IoJyM3OiB2YXIgeCA9IFswLDEsMiwzXTsgdmFyIGFyciA9IHguc3BsaWNlKDEsMyw0LDUpOyB4WzBdID09PSAwLiBBY3R1YWw6ICcgKyAoeFswXSkpOwp9CgovL0NIRUNLIzgKaWYgKHhbMV0gIT09IDQpIHsKICAkRVJST1IoJyM4OiB2YXIgeCA9IFswLDEsMiwzXTsgdmFyIGFyciA9IHguc3BsaWNlKDEsMyw0LDUpOyB4WzFdID09PSA0LiBBY3R1YWw6ICcgKyAoeFsxXSkpOwp9IAoKLy9DSEVDSyM5CmlmICh4WzJdICE9PSA1KSB7CiAgJEVSUk9SKCcjOTogdmFyIHggPSBbMCwxLDIsM107IHZhciBhcnIgPSB4LnNwbGljZSgxLDMsNCw1KTsgeFsyXSA9PT0gNS4gQWN0dWFsOiAnICsgKHhbMl0pKTsKfSAgCgo=","commentary":"If start is positive, use min(start, length).\nIf deleteCount is positive, use min(deleteCount, length - start)","description":"length > deleteCount > start > 0, itemCount > 0","path":"TestCases/ch15/15.4/15.4.4/15.4.4.12/S15.4.4.12_A1.1_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBzdGFydCBpcyBwb3NpdGl2ZSwgdXNlIG1pbihzdGFydCwgbGVuZ3RoKS4KICogSWYgZGVsZXRlQ291bnQgaXMgcG9zaXRpdmUsIHVzZSBtaW4oZGVsZXRlQ291bnQsIGxlbmd0aCAtIHN0YXJ0KQogKgogKiBAcGF0aCBjaDE1LzE1LjQvMTUuNC40LzE1LjQuNC4xMi9TMTUuNC40LjEyX0ExLjFfVDUuanMKICogQGRlc2NyaXB0aW9uIGRlbGV0ZUNvdW50ID4gbGVuZ3RoID4gc3RhcnQgPSAwLCBpdGVtQ291bnQgPSAwCiAqLwoKdmFyIHggPSBbMCwxLDIsM107CnZhciBhcnIgPSB4LnNwbGljZSgwLDUpOwoKLy9DSEVDSyMxCmFyci5nZXRDbGFzcyA9IE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmc7CmlmIChhcnIuZ2V0Q2xhc3MoKSAhPT0gIltvYmplY3QgIiArICJBcnJheSIgKyAiXSIpIHsKICAkRVJST1IoJyMxOiB2YXIgeCA9IFswLDEsMiwzXTsgdmFyIGFyciA9IHguc3BsaWNlKDAsNSk7IGFyciBpcyBBcnJheSBvYmplY3QuIEFjdHVhbDogJyArIChhcnIuZ2V0Q2xhc3MoKSkpOwp9CgovL0NIRUNLIzIKaWYgKGFyci5sZW5ndGggIT09IDQpIHsKICAkRVJST1IoJyMyOiB2YXIgeCA9IFswLDEsMiwzXTsgdmFyIGFyciA9IHguc3BsaWNlKDAsNSk7IGFyci5sZW5ndGggPT09IDQuIEFjdHVhbDogJyArIChhcnIubGVuZ3RoKSk7Cn0gICAgICAKCi8vQ0hFQ0sjMwppZiAoYXJyWzBdICE9PSAwKSB7CiAgJEVSUk9SKCcjMzogdmFyIHggPSBbMCwxLDIsM107IHZhciBhcnIgPSB4LnNwbGljZSgwLDUpOyBhcnJbMF0gPT09IDAuIEFjdHVhbDogJyArIChhcnJbMF0pKTsKfQoKLy9DSEVDSyM0CmlmIChhcnJbMV0gIT09IDEpIHsKICAkRVJST1IoJyM0OiB2YXIgeCA9IFswLDEsMiwzXTsgdmFyIGFyciA9IHguc3BsaWNlKDAsNSk7IGFyclsxXSA9PT0gMS4gQWN0dWFsOiAnICsgKGFyclsxXSkpOwp9ICAgICAgCgovL0NIRUNLIzUKaWYgKGFyclsyXSAhPT0gMikgewogICRFUlJPUignIzU6IHZhciB4ID0gWzAsMSwyLDNdOyB2YXIgYXJyID0geC5zcGxpY2UoMCw1KTsgYXJyWzJdID09PSAyLiBBY3R1YWw6ICcgKyAoYXJyWzJdKSk7Cn0gICAKCi8vQ0hFQ0sjNgppZiAoYXJyWzNdICE9PSAzKSB7CiAgJEVSUk9SKCcjNjogdmFyIHggPSBbMCwxLDIsM107IHZhciBhcnIgPSB4LnNwbGljZSgwLDUpOyBhcnJbM10gPT09IDMuIEFjdHVhbDogJyArIChhcnJbM10pKTsKfSAKCi8vQ0hFQ0sjNwppZiAoeC5sZW5ndGggIT09IDApIHsKICAkRVJST1IoJyM3OiB2YXIgeCA9IFswLDEsMiwzXTsgdmFyIGFyciA9IHguc3BsaWNlKDAsNSk7IHgubGVuZ3RoID09PSAwLiBBY3R1YWw6ICcgKyAoeC5sZW5ndGgpKTsKfSAKCg==","commentary":"If start is positive, use min(start, length).\nIf deleteCount is positive, use min(deleteCount, length - start)","description":"deleteCount > length > start = 0, itemCount = 0","path":"TestCases/ch15/15.4/15.4.4/15.4.4.12/S15.4.4.12_A1.1_T5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBzdGFydCBpcyBwb3NpdGl2ZSwgdXNlIG1pbihzdGFydCwgbGVuZ3RoKS4KICogSWYgZGVsZXRlQ291bnQgaXMgcG9zaXRpdmUsIHVzZSBtaW4oZGVsZXRlQ291bnQsIGxlbmd0aCAtIHN0YXJ0KQogKgogKiBAcGF0aCBjaDE1LzE1LjQvMTUuNC40LzE1LjQuNC4xMi9TMTUuNC40LjEyX0ExLjFfVDYuanMKICogQGRlc2NyaXB0aW9uIGxlbmd0aCA9IGRlbGV0ZUNvdW50ID4gc3RhcnQgPiAwLCBpdGVtQ291bnQgPiAwCiAqLwoKdmFyIHggPSBbMCwxLDIsM107CnZhciBhcnIgPSB4LnNwbGljZSgxLDQsNCw1KTsKCi8vQ0hFQ0sjMQphcnIuZ2V0Q2xhc3MgPSBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nOwppZiAoYXJyLmdldENsYXNzKCkgIT09ICJbb2JqZWN0ICIgKyAiQXJyYXkiICsgIl0iKSB7CiAgJEVSUk9SKCcjMTogdmFyIHggPSBbMCwxLDIsM107IHZhciBhcnIgPSB4LnNwbGljZSgxLDQsNCw1KTsgYXJyIGlzIEFycmF5IG9iamVjdC4gQWN0dWFsOiAnICsgKGFyci5nZXRDbGFzcygpKSk7Cn0KCi8vQ0hFQ0sjMgppZiAoYXJyLmxlbmd0aCAhPT0gMykgewogICRFUlJPUignIzI6IHZhciB4ID0gWzAsMSwyLDNdOyB2YXIgYXJyID0geC5zcGxpY2UoMSw0LDQsNSk7IGFyci5sZW5ndGggPT09IDMuIEFjdHVhbDogJyArIChhcnIubGVuZ3RoKSk7Cn0gICAgICAKCi8vQ0hFQ0sjMwppZiAoYXJyWzBdICE9PSAxKSB7CiAgJEVSUk9SKCcjMzogdmFyIHggPSBbMCwxLDIsM107IHZhciBhcnIgPSB4LnNwbGljZSgxLDQsNCw1KTsgYXJyWzBdID09PSAxLiBBY3R1YWw6ICcgKyAoYXJyWzBdKSk7Cn0KCi8vQ0hFQ0sjNAppZiAoYXJyWzFdICE9PSAyKSB7CiAgJEVSUk9SKCcjNDogdmFyIHggPSBbMCwxLDIsM107IHZhciBhcnIgPSB4LnNwbGljZSgxLDQsNCw1KTsgYXJyWzFdID09PSAyLiBBY3R1YWw6ICcgKyAoYXJyWzFdKSk7Cn0gICAgICAKCi8vQ0hFQ0sjNQppZiAoYXJyWzJdICE9PSAzKSB7CiAgJEVSUk9SKCcjNTogdmFyIHggPSBbMCwxLDIsM107IHZhciBhcnIgPSB4LnNwbGljZSgxLDQsNCw1KTsgYXJyWzJdID09PSAzLiBBY3R1YWw6ICcgKyAoYXJyWzJdKSk7Cn0gICAKCi8vQ0hFQ0sjNgppZiAoeC5sZW5ndGggIT09IDMpIHsKICAkRVJST1IoJyM2OiB2YXIgeCA9IFswLDEsMiwzXTsgdmFyIGFyciA9IHguc3BsaWNlKDEsNCw0LDUpOyB4Lmxlbmd0aCA9PT0gMy4gQWN0dWFsOiAnICsgKHgubGVuZ3RoKSk7Cn0gCgovL0NIRUNLIzcKaWYgKHhbMF0gIT09IDApIHsKICAkRVJST1IoJyM3OiB2YXIgeCA9IFswLDEsMiwzXTsgdmFyIGFyciA9IHguc3BsaWNlKDEsNCw0LDUpOyB4WzBdID09PSAwLiBBY3R1YWw6ICcgKyAoeFswXSkpOwp9CgovL0NIRUNLIzgKaWYgKHhbMV0gIT09IDQpIHsKICAkRVJST1IoJyM4OiB2YXIgeCA9IFswLDEsMiwzXTsgdmFyIGFyciA9IHguc3BsaWNlKDEsNCw0LDUpOyB4WzFdID09PSA0LiBBY3R1YWw6ICcgKyAoeFsxXSkpOwp9IAoKLy9DSEVDSyM5CmlmICh4WzJdICE9PSA1KSB7CiAgJEVSUk9SKCcjOTogdmFyIHggPSBbMCwxLDIsM107IHZhciBhcnIgPSB4LnNwbGljZSgxLDQsNCw1KTsgeFsyXSA9PT0gNS4gQWN0dWFsOiAnICsgKHhbMl0pKTsKfSAgCgo=","commentary":"If start is positive, use min(start, length).\nIf deleteCount is positive, use min(deleteCount, length - start)","description":"length = deleteCount > start > 0, itemCount > 0","path":"TestCases/ch15/15.4/15.4.4/15.4.4.12/S15.4.4.12_A1.1_T6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBzdGFydCBpcyBuZWdhdGl2ZSwgdXNlIG1heChzdGFydCArIGxlbmd0aCwgMCkuCiAqIElmIGRlbGV0ZUNvdW50IGlzIG5lZ2F0aXZlLCB1c2UgMAogKgogKiBAcGF0aCBjaDE1LzE1LjQvMTUuNC40LzE1LjQuNC4xMi9TMTUuNC40LjEyX0ExLjJfVDEuanMKICogQGRlc2NyaXB0aW9uIC1sZW5ndGggPSBzdGFydCA8IGRlbGV0ZUNvdW50IDwgMCwgaXRlbUNvdW50ID0gMAogKi8KCnZhciB4ID0gWzAsMV07CnZhciBhcnIgPSB4LnNwbGljZSgtMiwtMSk7CgovL0NIRUNLIzAKYXJyLmdldENsYXNzID0gT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZzsKaWYgKGFyci5nZXRDbGFzcygpICE9PSAiW29iamVjdCAiICsgIkFycmF5IiArICJdIikgewogICRFUlJPUignIzA6IHZhciB4ID0gWzAsMV07IHZhciBhcnIgPSB4LnNwbGljZSgtMiwtMSk7IGFyciBpcyBBcnJheSBvYmplY3QuIEFjdHVhbDogJyArIChhcnIuZ2V0Q2xhc3MoKSkpOwp9CgovL0NIRUNLIzEKaWYgKGFyci5sZW5ndGggIT09IDApIHsKICAkRVJST1IoJyMxOiB2YXIgeCA9IFswLDFdOyB2YXIgYXJyID0geC5zcGxpY2UoLTIsLTEpOyBhcnIubGVuZ3RoID09PSAwLiBBY3R1YWw6ICcgKyAoYXJyLmxlbmd0aCkpOwp9ICAgCgovL0NIRUNLIzIKaWYgKHgubGVuZ3RoICE9PSAyKSB7CiAgJEVSUk9SKCcjMjogdmFyIHggPSBbMCwxXTsgdmFyIGFyciA9IHguc3BsaWNlKC0yLC0xKTsgeC5sZW5ndGggPT09IDIuIEFjdHVhbDogJyArICh4Lmxlbmd0aCkpOwp9ICAgICAgCgovL0NIRUNLIzMKaWYgKHhbMF0gIT09IDApIHsKICAkRVJST1IoJyMzOiB2YXIgeCA9IFswLDFdOyB2YXIgYXJyID0geC5zcGxpY2UoLTIsLTEpOyB4WzBdID09PSAwLiBBY3R1YWw6ICcgKyAoeFswXSkpOwp9CgovL0NIRUNLIzQKaWYgKHhbMV0gIT09IDEpIHsKICAkRVJST1IoJyM0OiB2YXIgeCA9IFswLDFdOyB2YXIgYXJyID0geC5zcGxpY2UoLTIsLTEpOyB4WzFdID09PSAxLiBBY3R1YWw6ICcgKyAoeFsxXSkpOwp9ICAKCg==","commentary":"If start is negative, use max(start + length, 0).\nIf deleteCount is negative, use 0","description":"-length = start < deleteCount < 0, itemCount = 0","path":"TestCases/ch15/15.4/15.4.4/15.4.4.12/S15.4.4.12_A1.2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBzdGFydCBpcyBuZWdhdGl2ZSwgdXNlIG1heChzdGFydCArIGxlbmd0aCwgMCkuCiAqIElmIGRlbGV0ZUNvdW50IGlzIG5lZ2F0aXZlLCB1c2UgMAogKgogKiBAcGF0aCBjaDE1LzE1LjQvMTUuNC40LzE1LjQuNC4xMi9TMTUuNC40LjEyX0ExLjJfVDIuanMKICogQGRlc2NyaXB0aW9uIC1sZW5ndGggPCBzdGFydCA9IGRlbGV0ZUNvdW50IDwgMCwgaXRlbUNvdW50ID0gMAogKi8KCnZhciB4ID0gWzAsMV07CnZhciBhcnIgPSB4LnNwbGljZSgtMSwtMSk7CgovL0NIRUNLIzAKYXJyLmdldENsYXNzID0gT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZzsKaWYgKGFyci5nZXRDbGFzcygpICE9PSAiW29iamVjdCAiICsgIkFycmF5IiArICJdIikgewogICRFUlJPUignIzA6IHZhciB4ID0gWzAsMV07IHZhciBhcnIgPSB4LnNwbGljZSgtMSwtMSk7IGFyciBpcyBBcnJheSBvYmplY3QuIEFjdHVhbDogJyArIChhcnIuZ2V0Q2xhc3MoKSkpOwp9CgovL0NIRUNLIzEKaWYgKGFyci5sZW5ndGggIT09IDApIHsKICAkRVJST1IoJyMxOiB2YXIgeCA9IFswLDFdOyB2YXIgYXJyID0geC5zcGxpY2UoLTEsLTEpOyBhcnIubGVuZ3RoID09PSAwLiBBY3R1YWw6ICcgKyAoYXJyLmxlbmd0aCkpOwp9ICAgCgovL0NIRUNLIzIKaWYgKHgubGVuZ3RoICE9PSAyKSB7CiAgJEVSUk9SKCcjMjogdmFyIHggPSBbMCwxXTsgdmFyIGFyciA9IHguc3BsaWNlKC0xLC0xKTsgeC5sZW5ndGggPT09IDIuIEFjdHVhbDogJyArICh4Lmxlbmd0aCkpOwp9ICAgICAgCgovL0NIRUNLIzMKaWYgKHhbMF0gIT09IDApIHsKICAkRVJST1IoJyMzOiB2YXIgeCA9IFswLDFdOyB2YXIgYXJyID0geC5zcGxpY2UoLTEsLTEpOyB4WzBdID09PSAwLiBBY3R1YWw6ICcgKyAoeFswXSkpOwp9CgovL0NIRUNLIzQKaWYgKHhbMV0gIT09IDEpIHsKICAkRVJST1IoJyM0OiB2YXIgeCA9IFswLDFdOyB2YXIgYXJyID0geC5zcGxpY2UoLTEsLTEpOyB4WzFdID09PSAxLiBBY3R1YWw6ICcgKyAoeFsxXSkpOwp9ICAKCg==","commentary":"If start is negative, use max(start + length, 0).\nIf deleteCount is negative, use 0","description":"-length < start = deleteCount < 0, itemCount = 0","path":"TestCases/ch15/15.4/15.4.4/15.4.4.12/S15.4.4.12_A1.2_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBzdGFydCBpcyBuZWdhdGl2ZSwgdXNlIG1heChzdGFydCArIGxlbmd0aCwgMCkuCiAqIElmIGRlbGV0ZUNvdW50IGlzIG5lZ2F0aXZlLCB1c2UgMAogKgogKiBAcGF0aCBjaDE1LzE1LjQvMTUuNC40LzE1LjQuNC4xMi9TMTUuNC40LjEyX0ExLjJfVDMuanMKICogQGRlc2NyaXB0aW9uIC1sZW5ndGggPSBzdGFydCA8IGRlbGV0ZUNvdW50IDwgMCwgaXRlbUNvdW50ID4gMAogKi8KCnZhciB4ID0gWzAsMV07CnZhciBhcnIgPSB4LnNwbGljZSgtMiwtMSwyLDMpOwoKLy9DSEVDSyMwCmFyci5nZXRDbGFzcyA9IE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmc7CmlmIChhcnIuZ2V0Q2xhc3MoKSAhPT0gIltvYmplY3QgIiArICJBcnJheSIgKyAiXSIpIHsKICAkRVJST1IoJyMwOiB2YXIgeCA9IFswLDFdOyB2YXIgYXJyID0geC5zcGxpY2UoLTIsLTEsMiwzKTsgYXJyIGlzIEFycmF5IG9iamVjdC4gQWN0dWFsOiAnICsgKGFyci5nZXRDbGFzcygpKSk7Cn0KCi8vQ0hFQ0sjMQppZiAoYXJyLmxlbmd0aCAhPT0gMCkgewogICRFUlJPUignIzE6IHZhciB4ID0gWzAsMV07IHZhciBhcnIgPSB4LnNwbGljZSgtMiwtMSwyLDMpOyBhcnIubGVuZ3RoID09PSAwLiBBY3R1YWw6ICcgKyAoYXJyLmxlbmd0aCkpOwp9ICAgCgovL0NIRUNLIzIKaWYgKHgubGVuZ3RoICE9PSA0KSB7CiAgJEVSUk9SKCcjMjogdmFyIHggPSBbMCwxXTsgdmFyIGFyciA9IHguc3BsaWNlKC0yLC0xLDIsMyk7IHgubGVuZ3RoID09PSA0LiBBY3R1YWw6ICcgKyAoeC5sZW5ndGgpKTsKfSAgICAgIAoKLy9DSEVDSyMzCmlmICh4WzBdICE9PSAyKSB7CiAgJEVSUk9SKCcjMzogdmFyIHggPSBbMCwxXTsgdmFyIGFyciA9IHguc3BsaWNlKC0yLC0xLDIsMyk7IHhbMF0gPT09IDIuIEFjdHVhbDogJyArICh4WzBdKSk7Cn0KCi8vQ0hFQ0sjNAppZiAoeFsxXSAhPT0gMykgewogICRFUlJPUignIzQ6IHZhciB4ID0gWzAsMV07IHZhciBhcnIgPSB4LnNwbGljZSgtMiwtMSwyLDMpOyB4WzFdID09PSAzLiBBY3R1YWw6ICcgKyAoeFsxXSkpOwp9CgovL0NIRUNLIzUKaWYgKHhbMl0gIT09IDApIHsKICAkRVJST1IoJyM1OiB2YXIgeCA9IFswLDFdOyB2YXIgYXJyID0geC5zcGxpY2UoLTIsLTEsMiwzKTsgeFsyXSA9PT0gMC4gQWN0dWFsOiAnICsgKHhbMl0pKTsKfQoKLy9DSEVDSyM2CmlmICh4WzNdICE9PSAxKSB7CiAgJEVSUk9SKCcjNjogdmFyIHggPSBbMCwxXTsgdmFyIGFyciA9IHguc3BsaWNlKC0yLC0xLDIsMyk7IHhbM10gPT09IDEuIEFjdHVhbDogJyArICh4WzNdKSk7Cn0gIAoK","commentary":"If start is negative, use max(start + length, 0).\nIf deleteCount is negative, use 0","description":"-length = start < deleteCount < 0, itemCount > 0","path":"TestCases/ch15/15.4/15.4.4/15.4.4.12/S15.4.4.12_A1.2_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBzdGFydCBpcyBuZWdhdGl2ZSwgdXNlIG1heChzdGFydCArIGxlbmd0aCwgMCkuCiAqIElmIGRlbGV0ZUNvdW50IGlzIG5lZ2F0aXZlLCB1c2UgMAogKgogKiBAcGF0aCBjaDE1LzE1LjQvMTUuNC40LzE1LjQuNC4xMi9TMTUuNC40LjEyX0ExLjJfVDQuanMKICogQGRlc2NyaXB0aW9uIC1sZW5ndGggPCBzdGFydCA9IGRlbGV0ZUNvdW50IDwgMCwgaXRlbUNvdW50ID4gMAogKi8KCnZhciB4ID0gWzAsMV07CnZhciBhcnIgPSB4LnNwbGljZSgtMSwtMSwyLDMpOwoKLy9DSEVDSyMwCmFyci5nZXRDbGFzcyA9IE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmc7CmlmIChhcnIuZ2V0Q2xhc3MoKSAhPT0gIltvYmplY3QgIiArICJBcnJheSIgKyAiXSIpIHsKICAkRVJST1IoJyMwOiB2YXIgeCA9IFswLDFdOyB2YXIgYXJyID0geC5zcGxpY2UoLTEsLTEsMiwzKTsgYXJyIGlzIEFycmF5IG9iamVjdC4gQWN0dWFsOiAnICsgKGFyci5nZXRDbGFzcygpKSk7Cn0KCi8vQ0hFQ0sjMQppZiAoYXJyLmxlbmd0aCAhPT0gMCkgewogICRFUlJPUignIzE6IHZhciB4ID0gWzAsMV07IHZhciBhcnIgPSB4LnNwbGljZSgtMSwtMSwyLDMpOyBhcnIubGVuZ3RoID09PSAwLiBBY3R1YWw6ICcgKyAoYXJyLmxlbmd0aCkpOwp9ICAgCgovL0NIRUNLIzIKaWYgKHgubGVuZ3RoICE9PSA0KSB7CiAgJEVSUk9SKCcjMjogdmFyIHggPSBbMCwxXTsgdmFyIGFyciA9IHguc3BsaWNlKC0xLC0xLDIsMyk7IHgubGVuZ3RoID09PSA0LiBBY3R1YWw6ICcgKyAoeC5sZW5ndGgpKTsKfSAgICAgIAoKLy9DSEVDSyMzCmlmICh4WzBdICE9PSAwKSB7CiAgJEVSUk9SKCcjMzogdmFyIHggPSBbMCwxXTsgdmFyIGFyciA9IHguc3BsaWNlKC0xLC0xLDIsMyk7IHhbMF0gPT09IDAuIEFjdHVhbDogJyArICh4WzBdKSk7Cn0KCi8vQ0hFQ0sjNAppZiAoeFsxXSAhPT0gMikgewogICRFUlJPUignIzQ6IHZhciB4ID0gWzAsMV07IHZhciBhcnIgPSB4LnNwbGljZSgtMSwtMSwyLDMpOyB4WzFdID09PSAyLiBBY3R1YWw6ICcgKyAoeFsxXSkpOwp9CgovL0NIRUNLIzUKaWYgKHhbMl0gIT09IDMpIHsKICAkRVJST1IoJyM1OiB2YXIgeCA9IFswLDFdOyB2YXIgYXJyID0geC5zcGxpY2UoLTEsLTEsMiwzKTsgeFsyXSA9PT0gMy4gQWN0dWFsOiAnICsgKHhbMl0pKTsKfQoKLy9DSEVDSyM2CmlmICh4WzNdICE9PSAxKSB7CiAgJEVSUk9SKCcjNjogdmFyIHggPSBbMCwxXTsgdmFyIGFyciA9IHguc3BsaWNlKC0xLC0xLDIsMyk7IHhbM10gPT09IDEuIEFjdHVhbDogJyArICh4WzNdKSk7Cn0gCgo=","commentary":"If start is negative, use max(start + length, 0).\nIf deleteCount is negative, use 0","description":"-length < start = deleteCount < 0, itemCount > 0","path":"TestCases/ch15/15.4/15.4.4/15.4.4.12/S15.4.4.12_A1.2_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBzdGFydCBpcyBuZWdhdGl2ZSwgdXNlIG1heChzdGFydCArIGxlbmd0aCwgMCkuCiAqIElmIGRlbGV0ZUNvdW50IGlzIG5lZ2F0aXZlLCB1c2UgMAogKgogKiBAcGF0aCBjaDE1LzE1LjQvMTUuNC40LzE1LjQuNC4xMi9TMTUuNC40LjEyX0ExLjJfVDUuanMKICogQGRlc2NyaXB0aW9uIHN0YXJ0IDwgLWxlbmd0aCA8IGRlbGV0ZUNvdW50IDwgMCwgaXRlbUNvdW50ID4gMAogKi8KCnZhciB4ID0gWzAsMV07CnZhciBhcnIgPSB4LnNwbGljZSgtMywtMSwyLDMpOwoKLy9DSEVDSyMwCmFyci5nZXRDbGFzcyA9IE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmc7CmlmIChhcnIuZ2V0Q2xhc3MoKSAhPT0gIltvYmplY3QgIiArICJBcnJheSIgKyAiXSIpIHsKICAkRVJST1IoJyMwOiB2YXIgeCA9IFswLDFdOyB2YXIgYXJyID0geC5zcGxpY2UoLTMsLTEsMiwzKTsgYXJyIGlzIEFycmF5IG9iamVjdC4gQWN0dWFsOiAnICsgKGFyci5nZXRDbGFzcygpKSk7Cn0KCi8vQ0hFQ0sjMQppZiAoYXJyLmxlbmd0aCAhPT0gMCkgewogICRFUlJPUignIzE6IHZhciB4ID0gWzAsMV07IHZhciBhcnIgPSB4LnNwbGljZSgtMywtMSwyLDMpOyBhcnIubGVuZ3RoID09PSAwLiBBY3R1YWw6ICcgKyAoYXJyLmxlbmd0aCkpOwp9ICAgCgovL0NIRUNLIzIKaWYgKHgubGVuZ3RoICE9PSA0KSB7CiAgJEVSUk9SKCcjMjogdmFyIHggPSBbMCwxXTsgdmFyIGFyciA9IHguc3BsaWNlKC0zLC0xLDIsMyk7IHgubGVuZ3RoID09PSA0LiBBY3R1YWw6ICcgKyAoeC5sZW5ndGgpKTsKfSAgICAgIAoKLy9DSEVDSyMzCmlmICh4WzBdICE9PSAyKSB7CiAgJEVSUk9SKCcjMzogdmFyIHggPSBbMCwxXTsgdmFyIGFyciA9IHguc3BsaWNlKC0zLC0xLDIsMyk7IHhbMF0gPT09IDIuIEFjdHVhbDogJyArICh4WzBdKSk7Cn0KCi8vQ0hFQ0sjNAppZiAoeFsxXSAhPT0gMykgewogICRFUlJPUignIzQ6IHZhciB4ID0gWzAsMV07IHZhciBhcnIgPSB4LnNwbGljZSgtMywtMSwyLDMpOyB4WzFdID09PSAzLiBBY3R1YWw6ICcgKyAoeFsxXSkpOwp9CgovL0NIRUNLIzUKaWYgKHhbMl0gIT09IDApIHsKICAkRVJST1IoJyM1OiB2YXIgeCA9IFswLDFdOyB2YXIgYXJyID0geC5zcGxpY2UoLTMsLTEsMiwzKTsgeFsyXSA9PT0gMC4gQWN0dWFsOiAnICsgKHhbMl0pKTsKfQoKLy9DSEVDSyM2CmlmICh4WzNdICE9PSAxKSB7CiAgJEVSUk9SKCcjNjogdmFyIHggPSBbMCwxXTsgdmFyIGFyciA9IHguc3BsaWNlKC0zLC0xLDIsMyk7IHhbM10gPT09IDEuIEFjdHVhbDogJyArICh4WzNdKSk7Cn0gIAoK","commentary":"If start is negative, use max(start + length, 0).\nIf deleteCount is negative, use 0","description":"start < -length < deleteCount < 0, itemCount > 0","path":"TestCases/ch15/15.4/15.4.4/15.4.4.12/S15.4.4.12_A1.2_T5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBzdGFydCBpcyBwb3NpdGl2ZSwgdXNlIG1pbihzdGFydCwgbGVuZ3RoKS4KICogSWYgZGVsZXRlQ291bnQgaXMgbmVnYXRpdmUsIHVzZSAwCiAqCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjEyL1MxNS40LjQuMTJfQTEuM19UMS5qcwogKiBAZGVzY3JpcHRpb24gLWxlbmd0aCA8IGRlbGV0ZUNvdW50IDwgc3RhcnQgPSAwLCBpdGVtQ291bnQgPSAwCiAqLwoKdmFyIHggPSBbMCwxXTsKdmFyIGFyciA9IHguc3BsaWNlKDAsLTEpOwoKLy9DSEVDSyMwCmFyci5nZXRDbGFzcyA9IE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmc7CmlmIChhcnIuZ2V0Q2xhc3MoKSAhPT0gIltvYmplY3QgIiArICJBcnJheSIgKyAiXSIpIHsKICAkRVJST1IoJyMwOiB2YXIgeCA9IFswLDFdOyB2YXIgYXJyID0geC5zcGxpY2UoMCwtMSk7IGFyciBpcyBBcnJheSBvYmplY3QuIEFjdHVhbDogJyArIChhcnIuZ2V0Q2xhc3MoKSkpOwp9CgovL0NIRUNLIzEKaWYgKGFyci5sZW5ndGggIT09IDApIHsKICAkRVJST1IoJyMxOiB2YXIgeCA9IFswLDFdOyB2YXIgYXJyID0geC5zcGxpY2UoMCwtMSk7IGFyci5sZW5ndGggPT09IDAuIEFjdHVhbDogJyArIChhcnIubGVuZ3RoKSk7Cn0gICAKCi8vQ0hFQ0sjMgppZiAoeC5sZW5ndGggIT09IDIpIHsKICAkRVJST1IoJyMyOiB2YXIgeCA9IFswLDFdOyB2YXIgYXJyID0geC5zcGxpY2UoMCwtMSk7IHgubGVuZ3RoID09PSAyLiBBY3R1YWw6ICcgKyAoeC5sZW5ndGgpKTsKfSAgICAgIAoKLy9DSEVDSyMzCmlmICh4WzBdICE9PSAwKSB7CiAgJEVSUk9SKCcjMzogdmFyIHggPSBbMCwxXTsgdmFyIGFyciA9IHguc3BsaWNlKDAsLTEpOyB4WzBdID09PSAwLiBBY3R1YWw6ICcgKyAoeFswXSkpOwp9CgovL0NIRUNLIzQKaWYgKHhbMV0gIT09IDEpIHsKICAkRVJST1IoJyM0OiB2YXIgeCA9IFswLDFdOyB2YXIgYXJyID0geC5zcGxpY2UoMCwtMSk7IHhbMV0gPT09IDEuIEFjdHVhbDogJyArICh4WzFdKSk7Cn0KCg==","commentary":"If start is positive, use min(start, length).\nIf deleteCount is negative, use 0","description":"-length < deleteCount < start = 0, itemCount = 0","path":"TestCases/ch15/15.4/15.4.4/15.4.4.12/S15.4.4.12_A1.3_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBzdGFydCBpcyBwb3NpdGl2ZSwgdXNlIG1pbihzdGFydCwgbGVuZ3RoKS4KICogSWYgZGVsZXRlQ291bnQgaXMgbmVnYXRpdmUsIHVzZSAwCiAqCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjEyL1MxNS40LjQuMTJfQTEuM19UMi5qcwogKiBAZGVzY3JpcHRpb24gLWxlbmd0aCA9IC1zdGFydCA8IGRlbGV0ZUNvdW50IDwgMCwgaXRlbUNvdW50ID0gMAogKi8KCnZhciB4ID0gWzAsMV07CnZhciBhcnIgPSB4LnNwbGljZSgyLC0xKTsKCi8vQ0hFQ0sjMAphcnIuZ2V0Q2xhc3MgPSBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nOwppZiAoYXJyLmdldENsYXNzKCkgIT09ICJbb2JqZWN0ICIgKyAiQXJyYXkiICsgIl0iKSB7CiAgJEVSUk9SKCcjMDogdmFyIHggPSBbMCwxXTsgdmFyIGFyciA9IHguc3BsaWNlKDIsLTEpOyBhcnIgaXMgQXJyYXkgb2JqZWN0LiBBY3R1YWw6ICcgKyAoYXJyLmdldENsYXNzKCkpKTsKfQoKLy9DSEVDSyMxCmlmIChhcnIubGVuZ3RoICE9PSAwKSB7CiAgJEVSUk9SKCcjMTogdmFyIHggPSBbMCwxXTsgdmFyIGFyciA9IHguc3BsaWNlKDIsLTEpOyBhcnIubGVuZ3RoID09PSAwLiBBY3R1YWw6ICcgKyAoYXJyLmxlbmd0aCkpOwp9ICAgCgovL0NIRUNLIzIKaWYgKHgubGVuZ3RoICE9PSAyKSB7CiAgJEVSUk9SKCcjMjogdmFyIHggPSBbMCwxXTsgdmFyIGFyciA9IHguc3BsaWNlKDIsLTEpOyB4Lmxlbmd0aCA9PT0gMi4gQWN0dWFsOiAnICsgKHgubGVuZ3RoKSk7Cn0gICAgICAKCi8vQ0hFQ0sjMwppZiAoeFswXSAhPT0gMCkgewogICRFUlJPUignIzM6IHZhciB4ID0gWzAsMV07IHZhciBhcnIgPSB4LnNwbGljZSgyLC0xKTsgeFswXSA9PT0gMC4gQWN0dWFsOiAnICsgKHhbMF0pKTsKfQoKLy9DSEVDSyM0CmlmICh4WzFdICE9PSAxKSB7CiAgJEVSUk9SKCcjNDogdmFyIHggPSBbMCwxXTsgdmFyIGFyciA9IHguc3BsaWNlKDIsLTEpOyB4WzFdID09PSAxLiBBY3R1YWw6ICcgKyAoeFsxXSkpOwp9Cgo=","commentary":"If start is positive, use min(start, length).\nIf deleteCount is negative, use 0","description":"-length = -start < deleteCount < 0, itemCount = 0","path":"TestCases/ch15/15.4/15.4.4/15.4.4.12/S15.4.4.12_A1.3_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBzdGFydCBpcyBwb3NpdGl2ZSwgdXNlIG1pbihzdGFydCwgbGVuZ3RoKS4KICogSWYgZGVsZXRlQ291bnQgaXMgbmVnYXRpdmUsIHVzZSAwCiAqCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjEyL1MxNS40LjQuMTJfQTEuM19UMy5qcwogKiBAZGVzY3JpcHRpb24gLWxlbmd0aCA8IGRlbGV0ZUNvdW50IDwgc3RhcnQgPSAwLCBpdGVtQ291bnQgPiAwCiAqLwoKdmFyIHggPSBbMCwxXTsKdmFyIGFyciA9IHguc3BsaWNlKDAsLTEsMiwzKTsKCi8vQ0hFQ0sjMAphcnIuZ2V0Q2xhc3MgPSBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nOwppZiAoYXJyLmdldENsYXNzKCkgIT09ICJbb2JqZWN0ICIgKyAiQXJyYXkiICsgIl0iKSB7CiAgJEVSUk9SKCcjMDogdmFyIHggPSBbMCwxXTsgdmFyIGFyciA9IHguc3BsaWNlKDAsLTEsMiwzKTsgYXJyIGlzIEFycmF5IG9iamVjdC4gQWN0dWFsOiAnICsgKGFyci5nZXRDbGFzcygpKSk7Cn0KCi8vQ0hFQ0sjMQppZiAoYXJyLmxlbmd0aCAhPT0gMCkgewogICRFUlJPUignIzE6IHZhciB4ID0gWzAsMV07IHZhciBhcnIgPSB4LnNwbGljZSgwLC0xLDIsMyk7IGFyci5sZW5ndGggPT09IDAuIEFjdHVhbDogJyArIChhcnIubGVuZ3RoKSk7Cn0gICAKCi8vQ0hFQ0sjMgppZiAoeC5sZW5ndGggIT09IDQpIHsKICAkRVJST1IoJyMyOiB2YXIgeCA9IFswLDFdOyB2YXIgYXJyID0geC5zcGxpY2UoMCwtMSwyLDMpOyB4Lmxlbmd0aCA9PT0gNC4gQWN0dWFsOiAnICsgKHgubGVuZ3RoKSk7Cn0gICAgICAKCi8vQ0hFQ0sjMwppZiAoeFswXSAhPT0gMikgewogICRFUlJPUignIzM6IHZhciB4ID0gWzAsMV07IHZhciBhcnIgPSB4LnNwbGljZSgwLC0xLDIsMyk7IHhbMF0gPT09IDIuIEFjdHVhbDogJyArICh4WzBdKSk7Cn0KCi8vQ0hFQ0sjNAppZiAoeFsxXSAhPT0gMykgewogICRFUlJPUignIzQ6IHZhciB4ID0gWzAsMV07IHZhciBhcnIgPSB4LnNwbGljZSgwLC0xLDIsMyk7IHhbMV0gPT09IDMuIEFjdHVhbDogJyArICh4WzFdKSk7Cn0KCi8vQ0hFQ0sjNQppZiAoeFsyXSAhPT0gMCkgewogICRFUlJPUignIzU6IHZhciB4ID0gWzAsMV07IHZhciBhcnIgPSB4LnNwbGljZSgwLC0xLDIsMyk7IHhbMl0gPT09IDAuIEFjdHVhbDogJyArICh4WzJdKSk7Cn0KCi8vQ0hFQ0sjNgppZiAoeFszXSAhPT0gMSkgewogICRFUlJPUignIzY6IHZhciB4ID0gWzAsMV07IHZhciBhcnIgPSB4LnNwbGljZSgwLC0xLDIsMyk7IHhbM10gPT09IDEuIEFjdHVhbDogJyArICh4WzNdKSk7Cn0KCg==","commentary":"If start is positive, use min(start, length).\nIf deleteCount is negative, use 0","description":"-length < deleteCount < start = 0, itemCount > 0","path":"TestCases/ch15/15.4/15.4.4/15.4.4.12/S15.4.4.12_A1.3_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBzdGFydCBpcyBwb3NpdGl2ZSwgdXNlIG1pbihzdGFydCwgbGVuZ3RoKS4KICogSWYgZGVsZXRlQ291bnQgaXMgbmVnYXRpdmUsIHVzZSAwCiAqCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjEyL1MxNS40LjQuMTJfQTEuM19UNC5qcwogKiBAZGVzY3JpcHRpb24gLWxlbmd0aCA9IC1zdGFydCA8IGRlbGV0ZUNvdW50IDwgMCwgaXRlbUNvdW50ID4gMAogKi8KCnZhciB4ID0gWzAsMV07CnZhciBhcnIgPSB4LnNwbGljZSgyLC0xLDIsMyk7CgovL0NIRUNLIzAKYXJyLmdldENsYXNzID0gT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZzsKaWYgKGFyci5nZXRDbGFzcygpICE9PSAiW29iamVjdCAiICsgIkFycmF5IiArICJdIikgewogICRFUlJPUignIzA6IHZhciB4ID0gWzAsMV07IHZhciBhcnIgPSB4LnNwbGljZSgyLC0xLDIsMyk7IGFyciBpcyBBcnJheSBvYmplY3QuIEFjdHVhbDogJyArIChhcnIuZ2V0Q2xhc3MoKSkpOwp9CgovL0NIRUNLIzEKaWYgKGFyci5sZW5ndGggIT09IDApIHsKICAkRVJST1IoJyMxOiB2YXIgeCA9IFswLDFdOyB2YXIgYXJyID0geC5zcGxpY2UoMiwtMSwyLDMpOyBhcnIubGVuZ3RoID09PSAwLiBBY3R1YWw6ICcgKyAoYXJyLmxlbmd0aCkpOwp9ICAgCgovL0NIRUNLIzIKaWYgKHgubGVuZ3RoICE9PSA0KSB7CiAgJEVSUk9SKCcjMjogdmFyIHggPSBbMCwxXTsgdmFyIGFyciA9IHguc3BsaWNlKDIsLTEsMiwzKTsgeC5sZW5ndGggPT09IDQuIEFjdHVhbDogJyArICh4Lmxlbmd0aCkpOwp9ICAgICAgCgovL0NIRUNLIzMKaWYgKHhbMF0gIT09IDApIHsKICAkRVJST1IoJyMzOiB2YXIgeCA9IFswLDFdOyB2YXIgYXJyID0geC5zcGxpY2UoMiwtMSwyLDMpOyB4WzBdID09PSAwLiBBY3R1YWw6ICcgKyAoeFswXSkpOwp9CgovL0NIRUNLIzQKaWYgKHhbMV0gIT09IDEpIHsKICAkRVJST1IoJyM0OiB2YXIgeCA9IFswLDFdOyB2YXIgYXJyID0geC5zcGxpY2UoMiwtMSwyLDMpOyB4WzFdID09PSAxLiBBY3R1YWw6ICcgKyAoeFsxXSkpOwp9CgovL0NIRUNLIzUKaWYgKHhbMl0gIT09IDIpIHsKICAkRVJST1IoJyM1OiB2YXIgeCA9IFswLDFdOyB2YXIgYXJyID0geC5zcGxpY2UoMiwtMSwyLDMpOyB4WzJdID09PSAyLiBBY3R1YWw6ICcgKyAoeFsyXSkpOwp9CgovL0NIRUNLIzYKaWYgKHhbM10gIT09IDMpIHsKICAkRVJST1IoJyM2OiB2YXIgeCA9IFswLDFdOyB2YXIgYXJyID0geC5zcGxpY2UoMiwtMSwyLDMpOyB4WzNdID09PSAzLiBBY3R1YWw6ICcgKyAoeFszXSkpOwp9Cgo=","commentary":"If start is positive, use min(start, length).\nIf deleteCount is negative, use 0","description":"-length = -start < deleteCount < 0, itemCount > 0","path":"TestCases/ch15/15.4/15.4.4/15.4.4.12/S15.4.4.12_A1.3_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBzdGFydCBpcyBwb3NpdGl2ZSwgdXNlIG1pbihzdGFydCwgbGVuZ3RoKS4KICogSWYgZGVsZXRlQ291bnQgaXMgbmVnYXRpdmUsIHVzZSAwCiAqCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjEyL1MxNS40LjQuMTJfQTEuM19UNS5qcwogKiBAZGVzY3JpcHRpb24gLXN0YXJ0IDwgLWxlbmd0aCA8IGRlbGV0ZUNvdW50IDwgMCwgaXRlbUNvdW50ID4gMAogKi8KCnZhciB4ID0gWzAsMV07CnZhciBhcnIgPSB4LnNwbGljZSgzLC0xLDIsMyk7CgovL0NIRUNLIzAKYXJyLmdldENsYXNzID0gT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZzsKaWYgKGFyci5nZXRDbGFzcygpICE9PSAiW29iamVjdCAiICsgIkFycmF5IiArICJdIikgewogICRFUlJPUignIzA6IHZhciB4ID0gWzAsMV07IHZhciBhcnIgPSB4LnNwbGljZSgzLC0xLDIsMyk7IGFyciBpcyBBcnJheSBvYmplY3QuIEFjdHVhbDogJyArIChhcnIuZ2V0Q2xhc3MoKSkpOwp9CgovL0NIRUNLIzEKaWYgKGFyci5sZW5ndGggIT09IDApIHsKICAkRVJST1IoJyMxOiB2YXIgeCA9IFswLDFdOyB2YXIgYXJyID0geC5zcGxpY2UoMywtMSwyLDMpOyBhcnIubGVuZ3RoID09PSAwLiBBY3R1YWw6ICcgKyAoYXJyLmxlbmd0aCkpOwp9ICAgCgovL0NIRUNLIzIKaWYgKHgubGVuZ3RoICE9PSA0KSB7CiAgJEVSUk9SKCcjMjogdmFyIHggPSBbMCwxXTsgdmFyIGFyciA9IHguc3BsaWNlKDMsLTEsMiwzKTsgeC5sZW5ndGggPT09IDQuIEFjdHVhbDogJyArICh4Lmxlbmd0aCkpOwp9ICAgICAgCgovL0NIRUNLIzMKaWYgKHhbMF0gIT09IDApIHsKICAkRVJST1IoJyMzOiB2YXIgeCA9IFswLDFdOyB2YXIgYXJyID0geC5zcGxpY2UoMywtMSwyLDMpOyB4WzBdID09PSAwLiBBY3R1YWw6ICcgKyAoeFswXSkpOwp9CgovL0NIRUNLIzQKaWYgKHhbMV0gIT09IDEpIHsKICAkRVJST1IoJyM0OiB2YXIgeCA9IFswLDFdOyB2YXIgYXJyID0geC5zcGxpY2UoMywtMSwyLDMpOyB4WzFdID09PSAxLiBBY3R1YWw6ICcgKyAoeFsxXSkpOwp9CgovL0NIRUNLIzUKaWYgKHhbMl0gIT09IDIpIHsKICAkRVJST1IoJyM1OiB2YXIgeCA9IFswLDFdOyB2YXIgYXJyID0geC5zcGxpY2UoMywtMSwyLDMpOyB4WzJdID09PSAyLiBBY3R1YWw6ICcgKyAoeFsyXSkpOwp9CgovL0NIRUNLIzYKaWYgKHhbM10gIT09IDMpIHsKICAkRVJST1IoJyM2OiB2YXIgeCA9IFswLDFdOyB2YXIgYXJyID0geC5zcGxpY2UoMywtMSwyLDMpOyB4WzNdID09PSAzLiBBY3R1YWw6ICcgKyAoeFszXSkpOwp9Cgo=","commentary":"If start is positive, use min(start, length).\nIf deleteCount is negative, use 0","description":"-start < -length < deleteCount < 0, itemCount > 0","path":"TestCases/ch15/15.4/15.4.4/15.4.4.12/S15.4.4.12_A1.3_T5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBzdGFydCBpcyBuZWdhdGl2ZSwgdXNlIG1heChzdGFydCArIGxlbmd0aCwgMCkuCiAqIElmIGRlbGV0ZUNvdW50IGlzIHBvc2l0aXZlLCB1c2UgbWluKGRlbGV0ZUNvdW50LCBsZW5ndGggLSBzdGFydCkKICoKICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTIvUzE1LjQuNC4xMl9BMS40X1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBsZW5ndGggPSAtc3RhcnQgPiBkZWxldGVDb3VudCA+IDAsIGl0ZW1Db3VudCA9IDAKICovCgp2YXIgeCA9IFswLDEsMiwzXTsKdmFyIGFyciA9IHguc3BsaWNlKC00LDMpOwoKLy9DSEVDSyMxCmFyci5nZXRDbGFzcyA9IE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmc7CmlmIChhcnIuZ2V0Q2xhc3MoKSAhPT0gIltvYmplY3QgIiArICJBcnJheSIgKyAiXSIpIHsKICAkRVJST1IoJyMxOiB2YXIgeCA9IFswLDEsMiwzXTsgdmFyIGFyciA9IHguc3BsaWNlKC00LDMpOyBhcnIgaXMgQXJyYXkgb2JqZWN0LiBBY3R1YWw6ICcgKyAoYXJyLmdldENsYXNzKCkpKTsKfQoKLy9DSEVDSyMyCmlmIChhcnIubGVuZ3RoICE9PSAzKSB7CiAgJEVSUk9SKCcjMjogdmFyIHggPSBbMCwxLDIsM107IHZhciBhcnIgPSB4LnNwbGljZSgtNCwzKTsgYXJyLmxlbmd0aCA9PT0gMy4gQWN0dWFsOiAnICsgKGFyci5sZW5ndGgpKTsKfSAgICAgIAoKLy9DSEVDSyMzCmlmIChhcnJbMF0gIT09IDApIHsKICAkRVJST1IoJyMzOiB2YXIgeCA9IFswLDEsMiwzXTsgdmFyIGFyciA9IHguc3BsaWNlKC00LDMpOyBhcnJbMF0gPT09IDAuIEFjdHVhbDogJyArIChhcnJbMF0pKTsKfQoKLy9DSEVDSyM0CmlmIChhcnJbMV0gIT09IDEpIHsKICAkRVJST1IoJyM0OiB2YXIgeCA9IFswLDEsMiwzXTsgdmFyIGFyciA9IHguc3BsaWNlKC00LDMpOyBhcnJbMV0gPT09IDEuIEFjdHVhbDogJyArIChhcnJbMV0pKTsKfSAgICAgIAoKLy9DSEVDSyM1CmlmIChhcnJbMl0gIT09IDIpIHsKICAkRVJST1IoJyM1OiB2YXIgeCA9IFswLDEsMiwzXTsgdmFyIGFyciA9IHguc3BsaWNlKC00LDMpOyBhcnJbMl0gPT09IDIuIEFjdHVhbDogJyArIChhcnJbMl0pKTsKfSAgIAoKLy9DSEVDSyM2CmlmICh4Lmxlbmd0aCAhPT0gMSkgewogICRFUlJPUignIzY6IHZhciB4ID0gWzAsMSwyLDNdOyB2YXIgYXJyID0geC5zcGxpY2UoLTQsMyk7IHgubGVuZ3RoID09PSAxLiBBY3R1YWw6ICcgKyAoeC5sZW5ndGgpKTsKfSAKCi8vQ0hFQ0sjNwppZiAoeFswXSAhPT0gMykgewogICRFUlJPUignIzc6IHZhciB4ID0gWzAsMSwyLDNdOyB2YXIgYXJyID0geC5zcGxpY2UoLTQsMyk7IHhbMF0gPT09IDMuIEFjdHVhbDogJyArICh4WzBdKSk7Cn0gCgo=","commentary":"If start is negative, use max(start + length, 0).\nIf deleteCount is positive, use min(deleteCount, length - start)","description":"length = -start > deleteCount > 0, itemCount = 0","path":"TestCases/ch15/15.4/15.4.4/15.4.4.12/S15.4.4.12_A1.4_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBzdGFydCBpcyBuZWdhdGl2ZSwgdXNlIG1heChzdGFydCArIGxlbmd0aCwgMCkuCiAqIElmIGRlbGV0ZUNvdW50IGlzIHBvc2l0aXZlLCB1c2UgbWluKGRlbGV0ZUNvdW50LCBsZW5ndGggLSBzdGFydCkKICoKICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTIvUzE1LjQuNC4xMl9BMS40X1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBsZW5ndGggPSAtc3RhcnQgPiBkZWxldGVDb3VudCA+IDAsIGl0ZW1Db3VudCA+IDAKICovCgp2YXIgeCA9IFswLDEsMiwzXTsKdmFyIGFyciA9IHguc3BsaWNlKC00LDMsNCw1KTsKCi8vQ0hFQ0sjMQphcnIuZ2V0Q2xhc3MgPSBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nOwppZiAoYXJyLmdldENsYXNzKCkgIT09ICJbb2JqZWN0ICIgKyAiQXJyYXkiICsgIl0iKSB7CiAgJEVSUk9SKCcjMTogdmFyIHggPSBbMCwxLDIsM107IHZhciBhcnIgPSB4LnNwbGljZSgtNCwzLDQsNSk7IGFyciBpcyBBcnJheSBvYmplY3QuIEFjdHVhbDogJyArIChhcnIuZ2V0Q2xhc3MoKSkpOwp9CgovL0NIRUNLIzIKaWYgKGFyci5sZW5ndGggIT09IDMpIHsKICAkRVJST1IoJyMyOiB2YXIgeCA9IFswLDEsMiwzXTsgdmFyIGFyciA9IHguc3BsaWNlKC00LDMsNCw1KTsgYXJyLmxlbmd0aCA9PT0gMy4gQWN0dWFsOiAnICsgKGFyci5sZW5ndGgpKTsKfSAgICAgIAoKLy9DSEVDSyMzCmlmIChhcnJbMF0gIT09IDApIHsKICAkRVJST1IoJyMzOiB2YXIgeCA9IFswLDEsMiwzXTsgdmFyIGFyciA9IHguc3BsaWNlKC00LDMsNCw1KTsgYXJyWzBdID09PSAwLiBBY3R1YWw6ICcgKyAoYXJyWzBdKSk7Cn0KCi8vQ0hFQ0sjNAppZiAoYXJyWzFdICE9PSAxKSB7CiAgJEVSUk9SKCcjNDogdmFyIHggPSBbMCwxLDIsM107IHZhciBhcnIgPSB4LnNwbGljZSgtNCwzLDQsNSk7IGFyclsxXSA9PT0gMS4gQWN0dWFsOiAnICsgKGFyclsxXSkpOwp9ICAgICAgCgovL0NIRUNLIzUKaWYgKGFyclsyXSAhPT0gMikgewogICRFUlJPUignIzU6IHZhciB4ID0gWzAsMSwyLDNdOyB2YXIgYXJyID0geC5zcGxpY2UoLTQsMyw0LDUpOyBhcnJbMl0gPT09IDIuIEFjdHVhbDogJyArIChhcnJbMl0pKTsKfSAgIAoKLy9DSEVDSyM2CmlmICh4Lmxlbmd0aCAhPT0gMykgewogICRFUlJPUignIzY6IHZhciB4ID0gWzAsMSwyLDNdOyB2YXIgYXJyID0geC5zcGxpY2UoLTQsMyw0LDUpOyB4Lmxlbmd0aCA9PT0gMy4gQWN0dWFsOiAnICsgKHgubGVuZ3RoKSk7Cn0gCgovL0NIRUNLIzcKaWYgKHhbMF0gIT09IDQpIHsKICAkRVJST1IoJyM3OiB2YXIgeCA9IFswLDEsMiwzXTsgdmFyIGFyciA9IHguc3BsaWNlKC00LDMsNCw1KTsgeFswXSA9PT0gNC4gQWN0dWFsOiAnICsgKHhbMF0pKTsKfQoKLy9DSEVDSyM4CmlmICh4WzFdICE9PSA1KSB7CiAgJEVSUk9SKCcjODogdmFyIHggPSBbMCwxLDIsM107IHZhciBhcnIgPSB4LnNwbGljZSgtNCwzLDQsNSk7IHhbMV0gPT09IDUuIEFjdHVhbDogJyArICh4WzFdKSk7Cn0gCgovL0NIRUNLIzkKaWYgKHhbMl0gIT09IDMpIHsKICAkRVJST1IoJyM5OiB2YXIgeCA9IFswLDEsMiwzXTsgdmFyIGFyciA9IHguc3BsaWNlKC00LDMsNCw1KTsgeFsyXSA9PT0gMy4gQWN0dWFsOiAnICsgKHhbMl0pKTsKfSAgCgo=","commentary":"If start is negative, use max(start + length, 0).\nIf deleteCount is positive, use min(deleteCount, length - start)","description":"length = -start > deleteCount > 0, itemCount > 0","path":"TestCases/ch15/15.4/15.4.4/15.4.4.12/S15.4.4.12_A1.4_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBzdGFydCBpcyBuZWdhdGl2ZSwgdXNlIG1heChzdGFydCArIGxlbmd0aCwgMCkuCiAqIElmIGRlbGV0ZUNvdW50IGlzIHBvc2l0aXZlLCB1c2UgbWluKGRlbGV0ZUNvdW50LCBsZW5ndGggLSBzdGFydCkKICoKICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTIvUzE1LjQuNC4xMl9BMS40X1QzLmpzCiAqIEBkZXNjcmlwdGlvbiAtc3RhcnQgPiBsZW5ndGggPSBkZWxldGVDb3VudCA+IDAsIGl0ZW1Db3VudCA9IDAKICovCgp2YXIgeCA9IFswLDEsMiwzXTsKdmFyIGFyciA9IHguc3BsaWNlKC01LDQpOwoKLy9DSEVDSyMxCmFyci5nZXRDbGFzcyA9IE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmc7CmlmIChhcnIuZ2V0Q2xhc3MoKSAhPT0gIltvYmplY3QgIiArICJBcnJheSIgKyAiXSIpIHsKICAkRVJST1IoJyMxOiB2YXIgeCA9IFswLDEsMiwzXTsgdmFyIGFyciA9IHguc3BsaWNlKC01LDQpOyBhcnIgaXMgQXJyYXkgb2JqZWN0LiBBY3R1YWw6ICcgKyAoYXJyLmdldENsYXNzKCkpKTsKfQoKLy9DSEVDSyMyCmlmIChhcnIubGVuZ3RoICE9PSA0KSB7CiAgJEVSUk9SKCcjMjogdmFyIHggPSBbMCwxLDIsM107IHZhciBhcnIgPSB4LnNwbGljZSgtNSw0KTsgYXJyLmxlbmd0aCA9PT0gNC4gQWN0dWFsOiAnICsgKGFyci5sZW5ndGgpKTsKfSAgICAgIAoKLy9DSEVDSyMzCmlmIChhcnJbMF0gIT09IDApIHsKICAkRVJST1IoJyMzOiB2YXIgeCA9IFswLDEsMiwzXTsgdmFyIGFyciA9IHguc3BsaWNlKC01LDQpOyBhcnJbMF0gPT09IDAuIEFjdHVhbDogJyArIChhcnJbMF0pKTsKfQoKLy9DSEVDSyM0CmlmIChhcnJbMV0gIT09IDEpIHsKICAkRVJST1IoJyM0OiB2YXIgeCA9IFswLDEsMiwzXTsgdmFyIGFyciA9IHguc3BsaWNlKC01LDQpOyBhcnJbMV0gPT09IDEuIEFjdHVhbDogJyArIChhcnJbMV0pKTsKfSAgICAgIAoKLy9DSEVDSyM1CmlmIChhcnJbMl0gIT09IDIpIHsKICAkRVJST1IoJyM1OiB2YXIgeCA9IFswLDEsMiwzXTsgdmFyIGFyciA9IHguc3BsaWNlKC01LDQpOyBhcnJbMl0gPT09IDIuIEFjdHVhbDogJyArIChhcnJbMl0pKTsKfSAgIAoKLy9DSEVDSyM2CmlmIChhcnJbM10gIT09IDMpIHsKICAkRVJST1IoJyM2OiB2YXIgeCA9IFswLDEsMiwzXTsgdmFyIGFyciA9IHguc3BsaWNlKC01LDQpOyBhcnJbM10gPT09IDMuIEFjdHVhbDogJyArIChhcnJbM10pKTsKfSAKCi8vQ0hFQ0sjNwppZiAoeC5sZW5ndGggIT09IDApIHsKICAkRVJST1IoJyM3OiB2YXIgeCA9IFswLDEsMiwzXTsgdmFyIGFyciA9IHguc3BsaWNlKC01LDQpOyB4Lmxlbmd0aCA9PT0gMC4gQWN0dWFsOiAnICsgKHgubGVuZ3RoKSk7Cn0gCgo=","commentary":"If start is negative, use max(start + length, 0).\nIf deleteCount is positive, use min(deleteCount, length - start)","description":"-start > length = deleteCount > 0, itemCount = 0","path":"TestCases/ch15/15.4/15.4.4/15.4.4.12/S15.4.4.12_A1.4_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBzdGFydCBpcyBuZWdhdGl2ZSwgdXNlIG1heChzdGFydCArIGxlbmd0aCwgMCkuCiAqIElmIGRlbGV0ZUNvdW50IGlzIHBvc2l0aXZlLCB1c2UgbWluKGRlbGV0ZUNvdW50LCBsZW5ndGggLSBzdGFydCkKICoKICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTIvUzE1LjQuNC4xMl9BMS40X1Q0LmpzCiAqIEBkZXNjcmlwdGlvbiBsZW5ndGggPiAtc3RhcnQgPSBkZWxldGVDb3VudCA+IDAsIGl0ZW1Db3VudCA+IDAKICovCgp2YXIgeCA9IFswLDEsMiwzXTsKdmFyIGFyciA9IHguc3BsaWNlKC0zLDMsNCw1KTsKCi8vQ0hFQ0sjMQphcnIuZ2V0Q2xhc3MgPSBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nOwppZiAoYXJyLmdldENsYXNzKCkgIT09ICJbb2JqZWN0ICIgKyAiQXJyYXkiICsgIl0iKSB7CiAgJEVSUk9SKCcjMTogdmFyIHggPSBbMCwxLDIsM107IHZhciBhcnIgPSB4LnNwbGljZSgtMywzLDQsNSk7IGFyciBpcyBBcnJheSBvYmplY3QuIEFjdHVhbDogJyArIChhcnIuZ2V0Q2xhc3MoKSkpOwp9CgovL0NIRUNLIzIKaWYgKGFyci5sZW5ndGggIT09IDMpIHsKICAkRVJST1IoJyMyOiB2YXIgeCA9IFswLDEsMiwzXTsgdmFyIGFyciA9IHguc3BsaWNlKC0zLDMsNCw1KTsgYXJyLmxlbmd0aCA9PT0gMy4gQWN0dWFsOiAnICsgKGFyci5sZW5ndGgpKTsKfSAgICAgIAoKLy9DSEVDSyMzCmlmIChhcnJbMF0gIT09IDEpIHsKICAkRVJST1IoJyMzOiB2YXIgeCA9IFswLDEsMiwzXTsgdmFyIGFyciA9IHguc3BsaWNlKC0zLDMsNCw1KTsgYXJyWzBdID09PSAxLiBBY3R1YWw6ICcgKyAoYXJyWzBdKSk7Cn0KCi8vQ0hFQ0sjNAppZiAoYXJyWzFdICE9PSAyKSB7CiAgJEVSUk9SKCcjNDogdmFyIHggPSBbMCwxLDIsM107IHZhciBhcnIgPSB4LnNwbGljZSgtMywzLDQsNSk7IGFyclsxXSA9PT0gMi4gQWN0dWFsOiAnICsgKGFyclsxXSkpOwp9ICAgICAgCgovL0NIRUNLIzUKaWYgKGFyclsyXSAhPT0gMykgewogICRFUlJPUignIzU6IHZhciB4ID0gWzAsMSwyLDNdOyB2YXIgYXJyID0geC5zcGxpY2UoLTMsMyw0LDUpOyBhcnJbMl0gPT09IDMuIEFjdHVhbDogJyArIChhcnJbMl0pKTsKfSAgIAoKLy9DSEVDSyM2CmlmICh4Lmxlbmd0aCAhPT0gMykgewogICRFUlJPUignIzY6IHZhciB4ID0gWzAsMSwyLDNdOyB2YXIgYXJyID0geC5zcGxpY2UoLTMsMyw0LDUpOyB4Lmxlbmd0aCA9PT0gMy4gQWN0dWFsOiAnICsgKHgubGVuZ3RoKSk7Cn0gCgovL0NIRUNLIzcKaWYgKHhbMF0gIT09IDApIHsKICAkRVJST1IoJyM3OiB2YXIgeCA9IFswLDEsMiwzXTsgdmFyIGFyciA9IHguc3BsaWNlKC0zLDMsNCw1KTsgeFswXSA9PT0gMC4gQWN0dWFsOiAnICsgKHhbMF0pKTsKfQoKLy9DSEVDSyM4CmlmICh4WzFdICE9PSA0KSB7CiAgJEVSUk9SKCcjODogdmFyIHggPSBbMCwxLDIsM107IHZhciBhcnIgPSB4LnNwbGljZSgtMywzLDQsNSk7IHhbMV0gPT09IDQuIEFjdHVhbDogJyArICh4WzFdKSk7Cn0gCgovL0NIRUNLIzkKaWYgKHhbMl0gIT09IDUpIHsKICAkRVJST1IoJyM5OiB2YXIgeCA9IFswLDEsMiwzXTsgdmFyIGFyciA9IHguc3BsaWNlKC0zLDMsNCw1KTsgeFsyXSA9PT0gNS4gQWN0dWFsOiAnICsgKHhbMl0pKTsKfSAgCgo=","commentary":"If start is negative, use max(start + length, 0).\nIf deleteCount is positive, use min(deleteCount, length - start)","description":"length > -start = deleteCount > 0, itemCount > 0","path":"TestCases/ch15/15.4/15.4.4/15.4.4.12/S15.4.4.12_A1.4_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBzdGFydCBpcyBuZWdhdGl2ZSwgdXNlIG1heChzdGFydCArIGxlbmd0aCwgMCkuCiAqIElmIGRlbGV0ZUNvdW50IGlzIHBvc2l0aXZlLCB1c2UgbWluKGRlbGV0ZUNvdW50LCBsZW5ndGggLSBzdGFydCkKICoKICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTIvUzE1LjQuNC4xMl9BMS40X1Q1LmpzCiAqIEBkZXNjcmlwdGlvbiAtc3RhcnQgPiBkZWxldGVDb3VudCA+IGxlbmd0aCA+IDAsIGl0ZW1Db3VudCA9IDAKICovCgp2YXIgeCA9IFswLDEsMiwzXTsKdmFyIGFyciA9IHguc3BsaWNlKC05LDUpOwoKLy9DSEVDSyMxCmFyci5nZXRDbGFzcyA9IE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmc7CmlmIChhcnIuZ2V0Q2xhc3MoKSAhPT0gIltvYmplY3QgIiArICJBcnJheSIgKyAiXSIpIHsKICAkRVJST1IoJyMxOiB2YXIgeCA9IFswLDEsMiwzXTsgdmFyIGFyciA9IHguc3BsaWNlKC05LDUpOyBhcnIgaXMgQXJyYXkgb2JqZWN0LiBBY3R1YWw6ICcgKyAoYXJyLmdldENsYXNzKCkpKTsKfQoKLy9DSEVDSyMyCmlmIChhcnIubGVuZ3RoICE9PSA0KSB7CiAgJEVSUk9SKCcjMjogdmFyIHggPSBbMCwxLDIsM107IHZhciBhcnIgPSB4LnNwbGljZSgtOSw1KTsgYXJyLmxlbmd0aCA9PT0gNC4gQWN0dWFsOiAnICsgKGFyci5sZW5ndGgpKTsKfSAgICAgIAoKLy9DSEVDSyMzCmlmIChhcnJbMF0gIT09IDApIHsKICAkRVJST1IoJyMzOiB2YXIgeCA9IFswLDEsMiwzXTsgdmFyIGFyciA9IHguc3BsaWNlKC05LDUpOyBhcnJbMF0gPT09IDAuIEFjdHVhbDogJyArIChhcnJbMF0pKTsKfQoKLy9DSEVDSyM0CmlmIChhcnJbMV0gIT09IDEpIHsKICAkRVJST1IoJyM0OiB2YXIgeCA9IFswLDEsMiwzXTsgdmFyIGFyciA9IHguc3BsaWNlKC05LDUpOyBhcnJbMV0gPT09IDEuIEFjdHVhbDogJyArIChhcnJbMV0pKTsKfSAgICAgIAoKLy9DSEVDSyM1CmlmIChhcnJbMl0gIT09IDIpIHsKICAkRVJST1IoJyM1OiB2YXIgeCA9IFswLDEsMiwzXTsgdmFyIGFyciA9IHguc3BsaWNlKC05LDUpOyBhcnJbMl0gPT09IDIuIEFjdHVhbDogJyArIChhcnJbMl0pKTsKfSAgIAoKLy9DSEVDSyM2CmlmIChhcnJbM10gIT09IDMpIHsKICAkRVJST1IoJyM2OiB2YXIgeCA9IFswLDEsMiwzXTsgdmFyIGFyciA9IHguc3BsaWNlKC05LDUpOyBhcnJbM10gPT09IDMuIEFjdHVhbDogJyArIChhcnJbM10pKTsKfSAKCi8vQ0hFQ0sjNwppZiAoeC5sZW5ndGggIT09IDApIHsKICAkRVJST1IoJyM3OiB2YXIgeCA9IFswLDEsMiwzXTsgdmFyIGFyciA9IHguc3BsaWNlKC05LDUpOyB4Lmxlbmd0aCA9PT0gMC4gQWN0dWFsOiAnICsgKHgubGVuZ3RoKSk7Cn0gCgo=","commentary":"If start is negative, use max(start + length, 0).\nIf deleteCount is positive, use min(deleteCount, length - start)","description":"-start > deleteCount > length > 0, itemCount = 0","path":"TestCases/ch15/15.4/15.4.4/15.4.4.12/S15.4.4.12_A1.4_T5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBzdGFydCBpcyBuZWdhdGl2ZSwgdXNlIG1heChzdGFydCArIGxlbmd0aCwgMCkuCiAqIElmIGRlbGV0ZUNvdW50IGlzIHBvc2l0aXZlLCB1c2UgbWluKGRlbGV0ZUNvdW50LCBsZW5ndGggLSBzdGFydCkKICoKICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTIvUzE1LjQuNC4xMl9BMS40X1Q2LmpzCiAqIEBkZXNjcmlwdGlvbiBsZW5ndGggPSBkZWxldGVDb3VudCA+IC1zdGFydCA+IDAsIGl0ZW1Db3VudCA+IDAKICovCgp2YXIgeCA9IFswLDEsMiwzXTsKdmFyIGFyciA9IHguc3BsaWNlKC0zLDQsNCw1KTsKCi8vQ0hFQ0sjMQphcnIuZ2V0Q2xhc3MgPSBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nOwppZiAoYXJyLmdldENsYXNzKCkgIT09ICJbb2JqZWN0ICIgKyAiQXJyYXkiICsgIl0iKSB7CiAgJEVSUk9SKCcjMTogdmFyIHggPSBbMCwxLDIsM107IHZhciBhcnIgPSB4LnNwbGljZSgtMyw0LDQsNSk7IGFyciBpcyBBcnJheSBvYmplY3QuIEFjdHVhbDogJyArIChhcnIuZ2V0Q2xhc3MoKSkpOwp9CgovL0NIRUNLIzIKaWYgKGFyci5sZW5ndGggIT09IDMpIHsKICAkRVJST1IoJyMyOiB2YXIgeCA9IFswLDEsMiwzXTsgdmFyIGFyciA9IHguc3BsaWNlKC0zLDQsNCw1KTsgYXJyLmxlbmd0aCA9PT0gMy4gQWN0dWFsOiAnICsgKGFyci5sZW5ndGgpKTsKfSAgICAgIAoKLy9DSEVDSyMzCmlmIChhcnJbMF0gIT09IDEpIHsKICAkRVJST1IoJyMzOiB2YXIgeCA9IFswLDEsMiwzXTsgdmFyIGFyciA9IHguc3BsaWNlKC0zLDQsNCw1KTsgYXJyWzBdID09PSAxLiBBY3R1YWw6ICcgKyAoYXJyWzBdKSk7Cn0KCi8vQ0hFQ0sjNAppZiAoYXJyWzFdICE9PSAyKSB7CiAgJEVSUk9SKCcjNDogdmFyIHggPSBbMCwxLDIsM107IHZhciBhcnIgPSB4LnNwbGljZSgtMyw0LDQsNSk7IGFyclsxXSA9PT0gMi4gQWN0dWFsOiAnICsgKGFyclsxXSkpOwp9ICAgICAgCgovL0NIRUNLIzUKaWYgKGFyclsyXSAhPT0gMykgewogICRFUlJPUignIzU6IHZhciB4ID0gWzAsMSwyLDNdOyB2YXIgYXJyID0geC5zcGxpY2UoLTMsNCw0LDUpOyBhcnJbMl0gPT09IDMuIEFjdHVhbDogJyArIChhcnJbMl0pKTsKfSAgIAoKLy9DSEVDSyM2CmlmICh4Lmxlbmd0aCAhPT0gMykgewogICRFUlJPUignIzY6IHZhciB4ID0gWzAsMSwyLDNdOyB2YXIgYXJyID0geC5zcGxpY2UoLTMsNCw0LDUpOyB4Lmxlbmd0aCA9PT0gMy4gQWN0dWFsOiAnICsgKHgubGVuZ3RoKSk7Cn0gCgovL0NIRUNLIzcKaWYgKHhbMF0gIT09IDApIHsKICAkRVJST1IoJyM3OiB2YXIgeCA9IFswLDEsMiwzXTsgdmFyIGFyciA9IHguc3BsaWNlKC0zLDQsNCw1KTsgeFswXSA9PT0gMC4gQWN0dWFsOiAnICsgKHhbMF0pKTsKfQoKLy9DSEVDSyM4CmlmICh4WzFdICE9PSA0KSB7CiAgJEVSUk9SKCcjODogdmFyIHggPSBbMCwxLDIsM107IHZhciBhcnIgPSB4LnNwbGljZSgtMyw0LDQsNSk7IHhbMV0gPT09IDQuIEFjdHVhbDogJyArICh4WzFdKSk7Cn0gCgovL0NIRUNLIzkKaWYgKHhbMl0gIT09IDUpIHsKICAkRVJST1IoJyM5OiB2YXIgeCA9IFswLDEsMiwzXTsgdmFyIGFyciA9IHguc3BsaWNlKC0zLDQsNCw1KTsgeFsyXSA9PT0gNS4gQWN0dWFsOiAnICsgKHhbMl0pKTsKfSAgCgo=","commentary":"If start is negative, use max(start + length, 0).\nIf deleteCount is positive, use min(deleteCount, length - start)","description":"length = deleteCount > -start > 0, itemCount > 0","path":"TestCases/ch15/15.4/15.4.4/15.4.4.12/S15.4.4.12_A1.4_T6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTcGxpY2Ugd2l0aCB1bmRlZmluZWQgYXJndW1lbnRzCiAqCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjEyL1MxNS40LjQuMTJfQTEuNV9UMS5qcwogKiBAZGVzY3JpcHRpb24gc3RhcnQgPT09IHVuZGVmaW5lZCwgZW5kID09PSB1bmRlZmluZWQKICovCgp2YXIgeCA9IFswLDEsMiwzXTsKdmFyIGFyciA9IHguc3BsaWNlKHVuZGVmaW5lZCwgdW5kZWZpbmVkKTsKCi8vQ0hFQ0sjMQphcnIuZ2V0Q2xhc3MgPSBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nOwppZiAoYXJyLmdldENsYXNzKCkgIT09ICJbb2JqZWN0ICIgKyAiQXJyYXkiICsgIl0iKSB7CiAgJEVSUk9SKCcjMTogdmFyIHggPSBbMCwxLDIsM107IHZhciBhcnIgPSB4LnNwbGljZSh1bmRlZmluZWQsIHVuZGVmaW5lZCk7IGFyciBpcyBBcnJheSBvYmplY3QuIEFjdHVhbDogJyArIChhcnIuZ2V0Q2xhc3MoKSkpOwp9CgovL0NIRUNLIzIKaWYgKGFyci5sZW5ndGggIT09IDApIHsKICAkRVJST1IoJyMyOiB2YXIgeCA9IFswLDEsMiwzXTsgdmFyIGFyciA9IHguc3BsaWNlKHVuZGVmaW5lZCwgdW5kZWZpbmVkKTsgYXJyLmxlbmd0aCA9PT0gMC4gQWN0dWFsOiAnICsgKGFyci5sZW5ndGgpKTsKfSAgICAgIAoKLy9DSEVDSyMzCmlmICh4Lmxlbmd0aCAhPT0gNCkgewogICRFUlJPUignIzM6IHZhciB4ID0gWzAsMSwyLDNdOyB2YXIgYXJyID0geC5zcGxpY2UodW5kZWZpbmVkLCB1bmRlZmluZWQpOyB4Lmxlbmd0aCA9PT0gNC4gQWN0dWFsOiAnICsgKHgubGVuZ3RoKSk7Cn0gCgovL0NIRUNLIzQKaWYgKHhbMF0gIT09IDApIHsKICAkRVJST1IoJyM0OiB2YXIgeCA9IFswLDEsMiwzXTsgdmFyIGFyciA9IHguc3BsaWNlKHVuZGVmaW5lZCwgdW5kZWZpbmVkKTsgeFswXSA9PT0gMC4gQWN0dWFsOiAnICsgKHhbMF0pKTsKfQoKLy9DSEVDSyM1CmlmICh4WzFdICE9PSAxKSB7CiAgJEVSUk9SKCcjNTogdmFyIHggPSBbMCwxLDIsM107IHZhciBhcnIgPSB4LnNwbGljZSh1bmRlZmluZWQsIHVuZGVmaW5lZCk7IHhbMV0gPT09IDEuIEFjdHVhbDogJyArICh4WzFdKSk7Cn0gCgovL0NIRUNLIzYKaWYgKHhbMl0gIT09IDIpIHsKICAkRVJST1IoJyM2OiB2YXIgeCA9IFswLDEsMiwzXTsgdmFyIGFyciA9IHguc3BsaWNlKHVuZGVmaW5lZCwgdW5kZWZpbmVkKTsgeFsyXSA9PT0gMi4gQWN0dWFsOiAnICsgKHhbMl0pKTsKfQoKLy9DSEVDSyM3CmlmICh4WzNdICE9PSAzKSB7CiAgJEVSUk9SKCcjNzogdmFyIHggPSBbMCwxLDIsM107IHZhciBhcnIgPSB4LnNwbGljZSh1bmRlZmluZWQsIHVuZGVmaW5lZCk7IHhbM10gPT09IDMuIEFjdHVhbDogJyArICh4WzNdKSk7Cn0KCg==","commentary":"Splice with undefined arguments","description":"start === undefined, end === undefined","path":"TestCases/ch15/15.4/15.4.4/15.4.4.12/S15.4.4.12_A1.5_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTcGxpY2Ugd2l0aCB1bmRlZmluZWQgYXJndW1lbnRzCiAqCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjEyL1MxNS40LjQuMTJfQTEuNV9UMi5qcwogKiBAZGVzY3JpcHRpb24gZW5kID09PSB1bmRlZmluZWQKICovCgp2YXIgeCA9IFswLDEsMiwzXTsKdmFyIGFyciA9IHguc3BsaWNlKDEsdW5kZWZpbmVkKTsKCi8vQ0hFQ0sjMQphcnIuZ2V0Q2xhc3MgPSBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nOwppZiAoYXJyLmdldENsYXNzKCkgIT09ICJbb2JqZWN0ICIgKyAiQXJyYXkiICsgIl0iKSB7CiAgJEVSUk9SKCcjMTogdmFyIHggPSBbMCwxLDIsM107IHZhciBhcnIgPSB4LnNwbGljZSgxLHVuZGVmaW5lZCk7IGFyciBpcyBBcnJheSBvYmplY3QuIEFjdHVhbDogJyArIChhcnIuZ2V0Q2xhc3MoKSkpOwp9CgovL0NIRUNLIzIKaWYgKGFyci5sZW5ndGggIT09IDApIHsKICAkRVJST1IoJyMyOiB2YXIgeCA9IFswLDEsMiwzXTsgdmFyIGFyciA9IHguc3BsaWNlKDEsdW5kZWZpbmVkKTsgYXJyLmxlbmd0aCA9PT0gMC4gQWN0dWFsOiAnICsgKGFyci5sZW5ndGgpKTsKfSAgICAgIAoKLy9DSEVDSyMzCmlmICh4Lmxlbmd0aCAhPT0gNCkgewogICRFUlJPUignIzM6IHZhciB4ID0gWzAsMSwyLDNdOyB2YXIgYXJyID0geC5zcGxpY2UoMSx1bmRlZmluZWQpOyB4Lmxlbmd0aCA9PT0gNC4gQWN0dWFsOiAnICsgKHgubGVuZ3RoKSk7Cn0gCgovL0NIRUNLIzQKaWYgKHhbMF0gIT09IDApIHsKICAkRVJST1IoJyM0OiB2YXIgeCA9IFswLDEsMiwzXTsgdmFyIGFyciA9IHguc3BsaWNlKDEsdW5kZWZpbmVkKTsgeFswXSA9PT0gMC4gQWN0dWFsOiAnICsgKHhbMF0pKTsKfQoKLy9DSEVDSyM1CmlmICh4WzFdICE9PSAxKSB7CiAgJEVSUk9SKCcjNTogdmFyIHggPSBbMCwxLDIsM107IHZhciBhcnIgPSB4LnNwbGljZSgxLHVuZGVmaW5lZCk7IHhbMV0gPT09IDEuIEFjdHVhbDogJyArICh4WzFdKSk7Cn0gCgovL0NIRUNLIzYKaWYgKHhbMl0gIT09IDIpIHsKICAkRVJST1IoJyM2OiB2YXIgeCA9IFswLDEsMiwzXTsgdmFyIGFyciA9IHguc3BsaWNlKDEsdW5kZWZpbmVkKTsgeFsyXSA9PT0gMi4gQWN0dWFsOiAnICsgKHhbMl0pKTsKfQoKLy9DSEVDSyM3CmlmICh4WzNdICE9PSAzKSB7CiAgJEVSUk9SKCcjNzogdmFyIHggPSBbMCwxLDIsM107IHZhciBhcnIgPSB4LnNwbGljZSgxLHVuZGVmaW5lZCk7IHhbM10gPT09IDMuIEFjdHVhbDogJyArICh4WzNdKSk7Cn0gICAgIAoK","commentary":"Splice with undefined arguments","description":"end === undefined","path":"TestCases/ch15/15.4/15.4.4/15.4.4.12/S15.4.4.12_A1.5_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB1c2UgVG9JbnRlZ2VyIGZyb20gc3RhcnQKICoKICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTIvUzE1LjQuNC4xMl9BMi4xX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBzdGFydCBpcyBub3QgaW50ZWdlcgogKi8KCnZhciB4ID0gWzAsMSwyLDNdOwp2YXIgYXJyID0geC5zcGxpY2UoMS41LDMpOwoKLy9DSEVDSyMxCmFyci5nZXRDbGFzcyA9IE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmc7CmlmIChhcnIuZ2V0Q2xhc3MoKSAhPT0gIltvYmplY3QgIiArICJBcnJheSIgKyAiXSIpIHsKICAkRVJST1IoJyMxOiB2YXIgeCA9IFswLDEsMiwzXTsgdmFyIGFyciA9IHguc3BsaWNlKDEuNSwzKTsgYXJyIGlzIEFycmF5IG9iamVjdC4gQWN0dWFsOiAnICsgKGFyci5nZXRDbGFzcygpKSk7Cn0KCi8vQ0hFQ0sjMgppZiAoYXJyLmxlbmd0aCAhPT0gMykgewogICRFUlJPUignIzI6IHZhciB4ID0gWzAsMSwyLDNdOyB2YXIgYXJyID0geC5zcGxpY2UoMS41LDMpOyBhcnIubGVuZ3RoID09PSAzLiBBY3R1YWw6ICcgKyAoYXJyLmxlbmd0aCkpOwp9ICAgICAgCgovL0NIRUNLIzMKaWYgKGFyclswXSAhPT0gMSkgewogICRFUlJPUignIzM6IHZhciB4ID0gWzAsMSwyLDNdOyB2YXIgYXJyID0geC5zcGxpY2UoMS41LDMpOyBhcnJbMF0gPT09IDEuIEFjdHVhbDogJyArIChhcnJbMF0pKTsKfQoKLy9DSEVDSyM0CmlmIChhcnJbMV0gIT09IDIpIHsKICAkRVJST1IoJyM0OiB2YXIgeCA9IFswLDEsMiwzXTsgdmFyIGFyciA9IHguc3BsaWNlKDEuNSwzKTsgYXJyWzFdID09PSAyLiBBY3R1YWw6ICcgKyAoYXJyWzFdKSk7Cn0gICAgICAKCi8vQ0hFQ0sjNQppZiAoYXJyWzJdICE9PSAzKSB7CiAgJEVSUk9SKCcjNTogdmFyIHggPSBbMCwxLDIsM107IHZhciBhcnIgPSB4LnNwbGljZSgxLjUsMyk7IGFyclsyXSA9PT0gMy4gQWN0dWFsOiAnICsgKGFyclsyXSkpOwp9ICAgCgovL0NIRUNLIzYKaWYgKHgubGVuZ3RoICE9PSAxKSB7CiAgJEVSUk9SKCcjNjogdmFyIHggPSBbMCwxLDIsM107IHZhciBhcnIgPSB4LnNwbGljZSgxLjUsMyk7IHgubGVuZ3RoID09PSAxLiBBY3R1YWw6ICcgKyAoeC5sZW5ndGgpKTsKfSAKCi8vQ0hFQ0sjNwppZiAoeFswXSAhPT0gMCkgewogICRFUlJPUignIzc6IHZhciB4ID0gWzAsMSwyLDNdOyB2YXIgYXJyID0geC5zcGxpY2UoMS41LDMpOyB4WzBdID09PSAwLiBBY3R1YWw6ICcgKyAoeFswXSkpOwp9ICAgCgo=","commentary":"Operator use ToInteger from start","description":"start is not integer","path":"TestCases/ch15/15.4/15.4.4/15.4.4.12/S15.4.4.12_A2.1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB1c2UgVG9JbnRlZ2VyIGZyb20gc3RhcnQKICoKICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTIvUzE1LjQuNC4xMl9BMi4xX1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBzdGFydCA9IE5hTgogKi8KCnZhciB4ID0gWzAsMSwyLDNdOwp2YXIgYXJyID0geC5zcGxpY2UoTmFOLDMpOwoKLy9DSEVDSyMxCmFyci5nZXRDbGFzcyA9IE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmc7CmlmIChhcnIuZ2V0Q2xhc3MoKSAhPT0gIltvYmplY3QgIiArICJBcnJheSIgKyAiXSIpIHsKICAkRVJST1IoJyMxOiB2YXIgeCA9IFswLDEsMiwzXTsgdmFyIGFyciA9IHguc3BsaWNlKE5hTiwzKTsgYXJyIGlzIEFycmF5IG9iamVjdC4gQWN0dWFsOiAnICsgKGFyci5nZXRDbGFzcygpKSk7Cn0KCi8vQ0hFQ0sjMgppZiAoYXJyLmxlbmd0aCAhPT0gMykgewogICRFUlJPUignIzI6IHZhciB4ID0gWzAsMSwyLDNdOyB2YXIgYXJyID0geC5zcGxpY2UoTmFOLDMpOyBhcnIubGVuZ3RoID09PSAzLiBBY3R1YWw6ICcgKyAoYXJyLmxlbmd0aCkpOwp9ICAgICAgCgovL0NIRUNLIzMKaWYgKGFyclswXSAhPT0gMCkgewogICRFUlJPUignIzM6IHZhciB4ID0gWzAsMSwyLDNdOyB2YXIgYXJyID0geC5zcGxpY2UoTmFOLDMpOyBhcnJbMF0gPT09IDAuIEFjdHVhbDogJyArIChhcnJbMF0pKTsKfQoKLy9DSEVDSyM0CmlmIChhcnJbMV0gIT09IDEpIHsKICAkRVJST1IoJyM0OiB2YXIgeCA9IFswLDEsMiwzXTsgdmFyIGFyciA9IHguc3BsaWNlKE5hTiwzKTsgYXJyWzFdID09PSAxLiBBY3R1YWw6ICcgKyAoYXJyWzFdKSk7Cn0gICAgICAKCi8vQ0hFQ0sjNQppZiAoYXJyWzJdICE9PSAyKSB7CiAgJEVSUk9SKCcjNTogdmFyIHggPSBbMCwxLDIsM107IHZhciBhcnIgPSB4LnNwbGljZShOYU4sMyk7IGFyclsyXSA9PT0gMi4gQWN0dWFsOiAnICsgKGFyclsyXSkpOwp9ICAgCgovL0NIRUNLIzYKaWYgKHgubGVuZ3RoICE9PSAxKSB7CiAgJEVSUk9SKCcjNjogdmFyIHggPSBbMCwxLDIsM107IHZhciBhcnIgPSB4LnNwbGljZShOYU4sMyk7IHgubGVuZ3RoID09PSAxLiBBY3R1YWw6ICcgKyAoeC5sZW5ndGgpKTsKfSAKCi8vQ0hFQ0sjNwppZiAoeFswXSAhPT0gMykgewogICRFUlJPUignIzc6IHZhciB4ID0gWzAsMSwyLDNdOyB2YXIgYXJyID0geC5zcGxpY2UoTmFOLDMpOyB4WzBdID09PSAzLiBBY3R1YWw6ICcgKyAoeFswXSkpOwp9ICAgCgo=","commentary":"Operator use ToInteger from start","description":"start = NaN","path":"TestCases/ch15/15.4/15.4.4/15.4.4.12/S15.4.4.12_A2.1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB1c2UgVG9JbnRlZ2VyIGZyb20gc3RhcnQKICoKICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTIvUzE1LjQuNC4xMl9BMi4xX1QzLmpzCiAqIEBkZXNjcmlwdGlvbiBzdGFydCA9IEluZmluaXR5CiAqLwoKdmFyIHggPSBbMCwxLDIsM107CnZhciBhcnIgPSB4LnNwbGljZShOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFksMyk7CgovL0NIRUNLIzEKYXJyLmdldENsYXNzID0gT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZzsKaWYgKGFyci5nZXRDbGFzcygpICE9PSAiW29iamVjdCAiICsgIkFycmF5IiArICJdIikgewogICRFUlJPUignIzE6IHZhciB4ID0gWzAsMSwyLDNdOyB2YXIgYXJyID0geC5zcGxpY2UoTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZLDMpOyBhcnIgaXMgQXJyYXkgb2JqZWN0LiBBY3R1YWw6ICcgKyAoYXJyLmdldENsYXNzKCkpKTsKfQoKLy9DSEVDSyMyCmlmIChhcnIubGVuZ3RoICE9PSAwKSB7CiAgJEVSUk9SKCcjMjogdmFyIHggPSBbMCwxLDIsM107IHZhciBhcnIgPSB4LnNwbGljZShOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFksMyk7IGFyci5sZW5ndGggPT09IDAuIEFjdHVhbDogJyArIChhcnIubGVuZ3RoKSk7Cn0gICAgICAKCi8vQ0hFQ0sjMwppZiAoeFswXSAhPT0gMCkgewogICRFUlJPUignIzM6IHZhciB4ID0gWzAsMSwyLDNdOyB2YXIgeCA9IHguc3BsaWNlKE51bWJlci5QT1NJVElWRV9JTkZJTklUWSwzKTsgeFswXSA9PT0gMC4gQWN0dWFsOiAnICsgKHhbMF0pKTsKfQoKLy9DSEVDSyM0CmlmICh4WzFdICE9PSAxKSB7CiAgJEVSUk9SKCcjNDogdmFyIHggPSBbMCwxLDIsM107IHZhciB4ID0geC5zcGxpY2UoTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZLDMpOyB4WzFdID09PSAxLiBBY3R1YWw6ICcgKyAoeFsxXSkpOwp9ICAgICAgCgovL0NIRUNLIzUKaWYgKHhbMl0gIT09IDIpIHsKICAkRVJST1IoJyM1OiB2YXIgeCA9IFswLDEsMiwzXTsgdmFyIHggPSB4LnNwbGljZShOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFksMyk7IHhbMl0gPT09IDIuIEFjdHVhbDogJyArICh4WzJdKSk7Cn0gICAKCi8vQ0hFQ0sjNgppZiAoeFszXSAhPT0gMykgewogICRFUlJPUignIzY6IHZhciB4ID0gWzAsMSwyLDNdOyB2YXIgeCA9IHguc3BsaWNlKE51bWJlci5QT1NJVElWRV9JTkZJTklUWSwzKTsgeFszXSA9PT0gMy4gQWN0dWFsOiAnICsgKHhbM10pKTsKfSAKCg==","commentary":"Operator use ToInteger from start","description":"start = Infinity","path":"TestCases/ch15/15.4/15.4.4/15.4.4.12/S15.4.4.12_A2.1_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB1c2UgVG9JbnRlZ2VyIGZyb20gc3RhcnQKICoKICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTIvUzE1LjQuNC4xMl9BMi4xX1Q0LmpzCiAqIEBkZXNjcmlwdGlvbiBzdGFydCA9IC1JbmZpbml0eQogKi8KCnZhciB4ID0gWzAsMSwyLDNdOwp2YXIgYXJyID0geC5zcGxpY2UoTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZLDMpOwoKLy9DSEVDSyMxCmFyci5nZXRDbGFzcyA9IE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmc7CmlmIChhcnIuZ2V0Q2xhc3MoKSAhPT0gIltvYmplY3QgIiArICJBcnJheSIgKyAiXSIpIHsKICAkRVJST1IoJyMxOiB2YXIgeCA9IFswLDEsMiwzXTsgdmFyIGFyciA9IHguc3BsaWNlKE51bWJlci5ORUdBVElWRV9JTkZJTklUWSwzKTsgYXJyIGlzIEFycmF5IG9iamVjdC4gQWN0dWFsOiAnICsgKGFyci5nZXRDbGFzcygpKSk7Cn0KCi8vQ0hFQ0sjMgppZiAoYXJyLmxlbmd0aCAhPT0gMykgewogICRFUlJPUignIzI6IHZhciB4ID0gWzAsMSwyLDNdOyB2YXIgYXJyID0geC5zcGxpY2UoTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZLDMpOyBhcnIubGVuZ3RoID09PSAzLiBBY3R1YWw6ICcgKyAoYXJyLmxlbmd0aCkpOwp9ICAgICAgCgovL0NIRUNLIzMKaWYgKGFyclswXSAhPT0gMCkgewogICRFUlJPUignIzM6IHZhciB4ID0gWzAsMSwyLDNdOyB2YXIgYXJyID0geC5zcGxpY2UoTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZLDMpOyBhcnJbMF0gPT09IDAuIEFjdHVhbDogJyArIChhcnJbMF0pKTsKfQoKLy9DSEVDSyM0CmlmIChhcnJbMV0gIT09IDEpIHsKICAkRVJST1IoJyM0OiB2YXIgeCA9IFswLDEsMiwzXTsgdmFyIGFyciA9IHguc3BsaWNlKE51bWJlci5ORUdBVElWRV9JTkZJTklUWSwzKTsgYXJyWzFdID09PSAxLiBBY3R1YWw6ICcgKyAoYXJyWzFdKSk7Cn0gICAgICAKCi8vQ0hFQ0sjNQppZiAoYXJyWzJdICE9PSAyKSB7CiAgJEVSUk9SKCcjNTogdmFyIHggPSBbMCwxLDIsM107IHZhciBhcnIgPSB4LnNwbGljZShOdW1iZXIuTkVHQVRJVkVfSU5GSU5JVFksMyk7IGFyclsyXSA9PT0gMi4gQWN0dWFsOiAnICsgKGFyclsyXSkpOwp9ICAgCgovL0NIRUNLIzYKaWYgKHgubGVuZ3RoICE9PSAxKSB7CiAgJEVSUk9SKCcjNjogdmFyIHggPSBbMCwxLDIsM107IHZhciBhcnIgPSB4LnNwbGljZShOdW1iZXIuTkVHQVRJVkVfSU5GSU5JVFksMyk7IHgubGVuZ3RoID09PSAxLiBBY3R1YWw6ICcgKyAoeC5sZW5ndGgpKTsKfSAKCi8vQ0hFQ0sjNwppZiAoeFswXSAhPT0gMykgewogICRFUlJPUignIzc6IHZhciB4ID0gWzAsMSwyLDNdOyB2YXIgYXJyID0geC5zcGxpY2UoTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZLDMpOyB4WzBdID09PSAzLiBBY3R1YWw6ICcgKyAoeFswXSkpOwp9ICAKCg==","commentary":"Operator use ToInteger from start","description":"start = -Infinity","path":"TestCases/ch15/15.4/15.4.4/15.4.4.12/S15.4.4.12_A2.1_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB1c2UgVG9JbnRlZ2VyIGZyb20gc3RhcnQKICoKICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTIvUzE1LjQuNC4xMl9BMi4xX1Q1LmpzCiAqIEBkZXNjcmlwdGlvbiBUb0ludGVnZXIgdXNlIFRvTnVtYmVyCiAqLwoKdmFyIHggPSBbMCwxLDIsM107CnZhciBhcnIgPSB4LnNwbGljZSh7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIDB9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIDN9fSwzKTsKCi8vQ0hFQ0sjMQphcnIuZ2V0Q2xhc3MgPSBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nOwppZiAoYXJyLmdldENsYXNzKCkgIT09ICJbb2JqZWN0ICIgKyAiQXJyYXkiICsgIl0iKSB7CiAgJEVSUk9SKCcjMTogdmFyIHggPSBbMCwxLDIsM107IHZhciBhcnIgPSB4LnNwbGljZSh7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIDB9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIDN9fSwzKTsgYXJyIGlzIEFycmF5IG9iamVjdC4gQWN0dWFsOiAnICsgKGFyci5nZXRDbGFzcygpKSk7Cn0KCi8vQ0hFQ0sjMgppZiAoYXJyLmxlbmd0aCAhPT0gMykgewogICRFUlJPUignIzI6IHZhciB4ID0gWzAsMSwyLDNdOyB2YXIgYXJyID0geC5zcGxpY2Uoe3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAwfSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiAzfX0sMyk7IGFyci5sZW5ndGggPT09IDMuIEFjdHVhbDogJyArIChhcnIubGVuZ3RoKSk7Cn0KCi8vQ0hFQ0sjMwppZiAoYXJyWzBdICE9PSAwKSB7CiAgJEVSUk9SKCcjMzogdmFyIHggPSBbMCwxLDIsM107IHZhciBhcnIgPSB4LnNwbGljZSh7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIDB9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIDN9fSwzKTsgYXJyWzBdID09PSAwLiBBY3R1YWw6ICcgKyAoYXJyWzBdKSk7Cn0KCi8vQ0hFQ0sjNAppZiAoYXJyWzFdICE9PSAxKSB7CiAgJEVSUk9SKCcjNDogdmFyIHggPSBbMCwxLDIsM107IHZhciBhcnIgPSB4LnNwbGljZSh7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIDB9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIDN9fSwzKTsgYXJyWzFdID09PSAxLiBBY3R1YWw6ICcgKyAoYXJyWzFdKSk7Cn0KCi8vQ0hFQ0sjNQppZiAoYXJyWzJdICE9PSAyKSB7CiAgJEVSUk9SKCcjNTogdmFyIHggPSBbMCwxLDIsM107IHZhciBhcnIgPSB4LnNwbGljZSh7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIDB9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIDN9fSwzKTsgYXJyWzJdID09PSAyLiBBY3R1YWw6ICcgKyAoYXJyWzJdKSk7Cn0KCi8vQ0hFQ0sjNgppZiAoeC5sZW5ndGggIT09IDEpIHsKICAkRVJST1IoJyM2OiB2YXIgeCA9IFswLDEsMiwzXTsgdmFyIGFyciA9IHguc3BsaWNlKHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gMH0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gM319LDMpOyB4Lmxlbmd0aCA9PT0gMS4gQWN0dWFsOiAnICsgKHgubGVuZ3RoKSk7Cn0KCi8vQ0hFQ0sjNwppZiAoeFswXSAhPT0gMykgewogICRFUlJPUignIzc6IHZhciB4ID0gWzAsMSwyLDNdOyB2YXIgYXJyID0geC5zcGxpY2Uoe3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAwfSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiAzfX0sMyk7IHhbMF0gPT09IDMuIEFjdHVhbDogJyArICh4WzBdKSk7Cn0KCg==","commentary":"Operator use ToInteger from start","description":"ToInteger use ToNumber","path":"TestCases/ch15/15.4/15.4.4/15.4.4.12/S15.4.4.12_A2.1_T5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB1c2UgVG9JbnRlZ2VyIGZyb20gZGVsZXRlQ291bnQKICoKICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTIvUzE1LjQuNC4xMl9BMi4yX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBkZWxldGVDb3VudCBpcyBub3QgaW50ZWdlcgogKi8KCnZhciB4ID0gWzAsMSwyLDNdOwp2YXIgYXJyID0geC5zcGxpY2UoMSwzLjUpOwoKLy9DSEVDSyMxCmFyci5nZXRDbGFzcyA9IE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmc7CmlmIChhcnIuZ2V0Q2xhc3MoKSAhPT0gIltvYmplY3QgIiArICJBcnJheSIgKyAiXSIpIHsKICAkRVJST1IoJyMxOiB2YXIgeCA9IFswLDEsMiwzXTsgdmFyIGFyciA9IHguc3BsaWNlKDEsMy41KTsgYXJyIGlzIEFycmF5IG9iamVjdC4gQWN0dWFsOiAnICsgKGFyci5nZXRDbGFzcygpKSk7Cn0KCi8vQ0hFQ0sjMgppZiAoYXJyLmxlbmd0aCAhPT0gMykgewogICRFUlJPUignIzI6IHZhciB4ID0gWzAsMSwyLDNdOyB2YXIgYXJyID0geC5zcGxpY2UoMSwzLjUpOyBhcnIubGVuZ3RoID09PSAzLiBBY3R1YWw6ICcgKyAoYXJyLmxlbmd0aCkpOwp9ICAgICAgCgovL0NIRUNLIzMKaWYgKGFyclswXSAhPT0gMSkgewogICRFUlJPUignIzM6IHZhciB4ID0gWzAsMSwyLDNdOyB2YXIgYXJyID0geC5zcGxpY2UoMSwzLjUpOyBhcnJbMF0gPT09IDEuIEFjdHVhbDogJyArIChhcnJbMF0pKTsKfQoKLy9DSEVDSyM0CmlmIChhcnJbMV0gIT09IDIpIHsKICAkRVJST1IoJyM0OiB2YXIgeCA9IFswLDEsMiwzXTsgdmFyIGFyciA9IHguc3BsaWNlKDEsMy41KTsgYXJyWzFdID09PSAyLiBBY3R1YWw6ICcgKyAoYXJyWzFdKSk7Cn0gICAgICAKCi8vQ0hFQ0sjNQppZiAoYXJyWzJdICE9PSAzKSB7CiAgJEVSUk9SKCcjNTogdmFyIHggPSBbMCwxLDIsM107IHZhciBhcnIgPSB4LnNwbGljZSgxLDMuNSk7IGFyclsyXSA9PT0gMy4gQWN0dWFsOiAnICsgKGFyclsyXSkpOwp9ICAgCgovL0NIRUNLIzYKaWYgKHgubGVuZ3RoICE9PSAxKSB7CiAgJEVSUk9SKCcjNjogdmFyIHggPSBbMCwxLDIsM107IHZhciBhcnIgPSB4LnNwbGljZSgxLDMuNSk7IHgubGVuZ3RoID09PSAxLiBBY3R1YWw6ICcgKyAoeC5sZW5ndGgpKTsKfSAKCi8vQ0hFQ0sjNwppZiAoeFswXSAhPT0gMCkgewogICRFUlJPUignIzc6IHZhciB4ID0gWzAsMSwyLDNdOyB2YXIgYXJyID0geC5zcGxpY2UoMSwzLjUpOyB4WzBdID09PSAwLiBBY3R1YWw6ICcgKyAoeFswXSkpOwp9IAoK","commentary":"Operator use ToInteger from deleteCount","description":"deleteCount is not integer","path":"TestCases/ch15/15.4/15.4.4/15.4.4.12/S15.4.4.12_A2.2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB1c2UgVG9JbnRlZ2VyIGZyb20gZGVsZXRlQ291bnQKICoKICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTIvUzE1LjQuNC4xMl9BMi4yX1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBkZWxldGVDb3VudCA9IE5hTgogKi8KCnZhciB4ID0gWzAsMV07CnZhciBhcnIgPSB4LnNwbGljZSgwLE5hTik7CgovL0NIRUNLIzAKYXJyLmdldENsYXNzID0gT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZzsKaWYgKGFyci5nZXRDbGFzcygpICE9PSAiW29iamVjdCAiICsgIkFycmF5IiArICJdIikgewogICRFUlJPUignIzA6IHZhciB4ID0gWzAsMV07IHZhciBhcnIgPSB4LnNwbGljZSgwLE5hTik7IGFyciBpcyBBcnJheSBvYmplY3QuIEFjdHVhbDogJyArIChhcnIuZ2V0Q2xhc3MoKSkpOwp9CgovL0NIRUNLIzEKaWYgKGFyci5sZW5ndGggIT09IDApIHsKICAkRVJST1IoJyMxOiB2YXIgeCA9IFswLDFdOyB2YXIgYXJyID0geC5zcGxpY2UoMCxOYU4pOyBhcnIubGVuZ3RoID09PSAwLiBBY3R1YWw6ICcgKyAoYXJyLmxlbmd0aCkpOwp9ICAgCgovL0NIRUNLIzIKaWYgKHgubGVuZ3RoICE9PSAyKSB7CiAgJEVSUk9SKCcjMjogdmFyIHggPSBbMCwxXTsgdmFyIGFyciA9IHguc3BsaWNlKDAsTmFOKTsgeC5sZW5ndGggPT09IDIuIEFjdHVhbDogJyArICh4Lmxlbmd0aCkpOwp9ICAgICAgCgovL0NIRUNLIzMKaWYgKHhbMF0gIT09IDApIHsKICAkRVJST1IoJyMzOiB2YXIgeCA9IFswLDFdOyB2YXIgYXJyID0geC5zcGxpY2UoMCxOYU4pOyB4WzBdID09PSAwLiBBY3R1YWw6ICcgKyAoeFswXSkpOwp9CgovL0NIRUNLIzQKaWYgKHhbMV0gIT09IDEpIHsKICAkRVJST1IoJyM0OiB2YXIgeCA9IFswLDFdOyB2YXIgYXJyID0geC5zcGxpY2UoMCxOYU4pOyB4WzFdID09PSAxLiBBY3R1YWw6ICcgKyAoeFsxXSkpOwp9Cgo=","commentary":"Operator use ToInteger from deleteCount","description":"deleteCount = NaN","path":"TestCases/ch15/15.4/15.4.4/15.4.4.12/S15.4.4.12_A2.2_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB1c2UgVG9JbnRlZ2VyIGZyb20gZGVsZXRlQ291bnQKICoKICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTIvUzE1LjQuNC4xMl9BMi4yX1QzLmpzCiAqIEBkZXNjcmlwdGlvbiBkZWxldGVDb3VudCA9IEluZmluaXR5CiAqLwoKdmFyIHggPSBbMCwxLDIsM107CnZhciBhcnIgPSB4LnNwbGljZSgwLE51bWJlci5QT1NJVElWRV9JTkZJTklUWSk7CgovL0NIRUNLIzEKYXJyLmdldENsYXNzID0gT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZzsKaWYgKGFyci5nZXRDbGFzcygpICE9PSAiW29iamVjdCAiICsgIkFycmF5IiArICJdIikgewogICRFUlJPUignIzE6IHZhciB4ID0gWzAsMSwyLDNdOyB2YXIgYXJyID0geC5zcGxpY2UoMCxOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkpOyBhcnIgaXMgQXJyYXkgb2JqZWN0LiBBY3R1YWw6ICcgKyAoYXJyLmdldENsYXNzKCkpKTsKfQoKLy9DSEVDSyMyCmlmIChhcnIubGVuZ3RoICE9PSA0KSB7CiAgJEVSUk9SKCcjMjogdmFyIHggPSBbMCwxLDIsM107IHZhciBhcnIgPSB4LnNwbGljZSgwLE51bWJlci5QT1NJVElWRV9JTkZJTklUWSk7IGFyci5sZW5ndGggPT09IDQuIEFjdHVhbDogJyArIChhcnIubGVuZ3RoKSk7Cn0gICAgICAKCi8vQ0hFQ0sjMwppZiAoYXJyWzBdICE9PSAwKSB7CiAgJEVSUk9SKCcjMzogdmFyIHggPSBbMCwxLDIsM107IHZhciBhcnIgPSB4LnNwbGljZSgwLE51bWJlci5QT1NJVElWRV9JTkZJTklUWSk7IGFyclswXSA9PT0gMC4gQWN0dWFsOiAnICsgKGFyclswXSkpOwp9CgovL0NIRUNLIzQKaWYgKGFyclsxXSAhPT0gMSkgewogICRFUlJPUignIzQ6IHZhciB4ID0gWzAsMSwyLDNdOyB2YXIgYXJyID0geC5zcGxpY2UoMCxOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkpOyBhcnJbMV0gPT09IDEuIEFjdHVhbDogJyArIChhcnJbMV0pKTsKfSAgICAgIAoKLy9DSEVDSyM1CmlmIChhcnJbMl0gIT09IDIpIHsKICAkRVJST1IoJyM1OiB2YXIgeCA9IFswLDEsMiwzXTsgdmFyIGFyciA9IHguc3BsaWNlKDAsTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZKTsgYXJyWzJdID09PSAyLiBBY3R1YWw6ICcgKyAoYXJyWzJdKSk7Cn0gICAKCi8vQ0hFQ0sjNgppZiAoYXJyWzNdICE9PSAzKSB7CiAgJEVSUk9SKCcjNjogdmFyIHggPSBbMCwxLDIsM107IHZhciBhcnIgPSB4LnNwbGljZSgwLE51bWJlci5QT1NJVElWRV9JTkZJTklUWSk7IGFyclszXSA9PT0gMy4gQWN0dWFsOiAnICsgKGFyclszXSkpOwp9IAoKLy9DSEVDSyM3CmlmICh4Lmxlbmd0aCAhPT0gMCkgewogICRFUlJPUignIzc6IHZhciB4ID0gWzAsMSwyLDNdOyB2YXIgYXJyID0geC5zcGxpY2UoMCxOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkpOyB4Lmxlbmd0aCA9PT0gMC4gQWN0dWFsOiAnICsgKHgubGVuZ3RoKSk7Cn0gCgo=","commentary":"Operator use ToInteger from deleteCount","description":"deleteCount = Infinity","path":"TestCases/ch15/15.4/15.4.4/15.4.4.12/S15.4.4.12_A2.2_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB1c2UgVG9JbnRlZ2VyIGZyb20gZGVsZXRlQ291bnQKICoKICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTIvUzE1LjQuNC4xMl9BMi4yX1Q0LmpzCiAqIEBkZXNjcmlwdGlvbiBkZWxldGVDb3VudCA9IC1JbmZpbml0eQogKi8KCnZhciB4ID0gWzAsMV07CnZhciBhcnIgPSB4LnNwbGljZSgwLE51bWJlci5ORUdBVElWRV9JTkZJTklUWSk7CgovL0NIRUNLIzAKYXJyLmdldENsYXNzID0gT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZzsKaWYgKGFyci5nZXRDbGFzcygpICE9PSAiW29iamVjdCAiICsgIkFycmF5IiArICJdIikgewogICRFUlJPUignIzA6IHZhciB4ID0gWzAsMV07IHZhciBhcnIgPSB4LnNwbGljZSgwLE51bWJlci5ORUdBVElWRV9JTkZJTklUWSk7IGFyciBpcyBBcnJheSBvYmplY3QuIEFjdHVhbDogJyArIChhcnIuZ2V0Q2xhc3MoKSkpOwp9CgovL0NIRUNLIzEKaWYgKGFyci5sZW5ndGggIT09IDApIHsKICAkRVJST1IoJyMxOiB2YXIgeCA9IFswLDFdOyB2YXIgYXJyID0geC5zcGxpY2UoMCxOdW1iZXIuTkVHQVRJVkVfSU5GSU5JVFkpOyBhcnIubGVuZ3RoID09PSAwLiBBY3R1YWw6ICcgKyAoYXJyLmxlbmd0aCkpOwp9ICAgCgovL0NIRUNLIzIKaWYgKHgubGVuZ3RoICE9PSAyKSB7CiAgJEVSUk9SKCcjMjogdmFyIHggPSBbMCwxXTsgdmFyIGFyciA9IHguc3BsaWNlKDAsTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZKTsgeC5sZW5ndGggPT09IDIuIEFjdHVhbDogJyArICh4Lmxlbmd0aCkpOwp9ICAgICAgCgovL0NIRUNLIzMKaWYgKHhbMF0gIT09IDApIHsKICAkRVJST1IoJyMzOiB2YXIgeCA9IFswLDFdOyB2YXIgYXJyID0geC5zcGxpY2UoMCxOdW1iZXIuTkVHQVRJVkVfSU5GSU5JVFkpOyB4WzBdID09PSAwLiBBY3R1YWw6ICcgKyAoeFswXSkpOwp9CgovL0NIRUNLIzQKaWYgKHhbMV0gIT09IDEpIHsKICAkRVJST1IoJyM0OiB2YXIgeCA9IFswLDFdOyB2YXIgYXJyID0geC5zcGxpY2UoMCxOdW1iZXIuTkVHQVRJVkVfSU5GSU5JVFkpOyB4WzFdID09PSAxLiBBY3R1YWw6ICcgKyAoeFsxXSkpOwp9Cgo=","commentary":"Operator use ToInteger from deleteCount","description":"deleteCount = -Infinity","path":"TestCases/ch15/15.4/15.4.4/15.4.4.12/S15.4.4.12_A2.2_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB1c2UgVG9JbnRlZ2VyIGZyb20gZGVsZXRlQ291bnQKICoKICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTIvUzE1LjQuNC4xMl9BMi4yX1Q1LmpzCiAqIEBkZXNjcmlwdGlvbiBUb0ludGVnZXIgdXNlIFRvTnVtYmVyCiAqLwoKdmFyIHggPSBbMCwxLDIsM107CnZhciBhcnIgPSB4LnNwbGljZSgwLHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gM30sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gMH19KTsKCi8vQ0hFQ0sjMQphcnIuZ2V0Q2xhc3MgPSBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nOwppZiAoYXJyLmdldENsYXNzKCkgIT09ICJbb2JqZWN0ICIgKyAiQXJyYXkiICsgIl0iKSB7CiAgJEVSUk9SKCcjMTogdmFyIHggPSBbMCwxLDIsM107IHZhciBhcnIgPSB4LnNwbGljZSgwLHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gM30sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gMH19KTsgYXJyIGlzIEFycmF5IG9iamVjdC4gQWN0dWFsOiAnICsgKGFyci5nZXRDbGFzcygpKSk7Cn0KCi8vQ0hFQ0sjMgppZiAoYXJyLmxlbmd0aCAhPT0gMykgewogICRFUlJPUignIzI6IHZhciB4ID0gWzAsMSwyLDNdOyB2YXIgYXJyID0geC5zcGxpY2UoMCx7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIDN9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIDB9fSk7IGFyci5sZW5ndGggPT09IDMuIEFjdHVhbDogJyArIChhcnIubGVuZ3RoKSk7Cn0gICAgICAKCi8vQ0hFQ0sjMwppZiAoYXJyWzBdICE9PSAwKSB7CiAgJEVSUk9SKCcjMzogdmFyIHggPSBbMCwxLDIsM107IHZhciBhcnIgPSB4LnNwbGljZSgwLHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gM30sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gMH19KTsgYXJyWzBdID09PSAwLiBBY3R1YWw6ICcgKyAoYXJyWzBdKSk7Cn0KCi8vQ0hFQ0sjNAppZiAoYXJyWzFdICE9PSAxKSB7CiAgJEVSUk9SKCcjNDogdmFyIHggPSBbMCwxLDIsM107IHZhciBhcnIgPSB4LnNwbGljZSgwLHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gM30sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gMH19KTsgYXJyWzFdID09PSAxLiBBY3R1YWw6ICcgKyAoYXJyWzFdKSk7Cn0gICAgICAKCi8vQ0hFQ0sjNQppZiAoYXJyWzJdICE9PSAyKSB7CiAgJEVSUk9SKCcjNTogdmFyIHggPSBbMCwxLDIsM107IHZhciBhcnIgPSB4LnNwbGljZSgwLHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gM30sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gMH19KTsgYXJyWzJdID09PSAyLiBBY3R1YWw6ICcgKyAoYXJyWzJdKSk7Cn0gICAKCi8vQ0hFQ0sjNgppZiAoeC5sZW5ndGggIT09IDEpIHsKICAkRVJST1IoJyM2OiB2YXIgeCA9IFswLDEsMiwzXTsgdmFyIGFyciA9IHguc3BsaWNlKDAse3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAzfSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiAwfX0pOyB4Lmxlbmd0aCA9PT0gMS4gQWN0dWFsOiAnICsgKHgubGVuZ3RoKSk7Cn0gCgovL0NIRUNLIzcKaWYgKHhbMF0gIT09IDMpIHsKICAkRVJST1IoJyM3OiB2YXIgeCA9IFswLDEsMiwzXTsgdmFyIGFyciA9IHguc3BsaWNlKDAse3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAzfSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiAwfX0pOyB4WzBdID09PSAzLiBBY3R1YWw6ICcgKyAoeFswXSkpOwp9ICAgCgo=","commentary":"Operator use ToInteger from deleteCount","description":"ToInteger use ToNumber","path":"TestCases/ch15/15.4/15.4.4/15.4.4.12/S15.4.4.12_A2.2_T5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgc3BsaWNlIGZ1bmN0aW9uIGlzIGludGVudGlvbmFsbHkgZ2VuZXJpYy4KICogSXQgZG9lcyBub3QgcmVxdWlyZSB0aGF0IGl0cyB0aGlzIHZhbHVlIGJlIGFuIEFycmF5IG9iamVjdAogKgogKiBAcGF0aCBjaDE1LzE1LjQvMTUuNC40LzE1LjQuNC4xMi9TMTUuNC40LjEyX0EyX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBJZiBzdGFydCBpcyBwb3NpdGl2ZSwgdXNlIG1pbihzdGFydCwgbGVuZ3RoKS4KICogSWYgZGVsZXRlQ291bnQgaXMgcG9zaXRpdmUsIHVzZSBtaW4oZGVsZXRlQ291bnQsIGxlbmd0aCAtIHN0YXJ0KQogKi8KCnZhciBvYmogPSB7MDowLDE6MSwyOjIsMzozfTsKb2JqLmxlbmd0aCA9IDQ7Cm9iai5zcGxpY2UgPSBBcnJheS5wcm90b3R5cGUuc3BsaWNlOwp2YXIgYXJyID0gb2JqLnNwbGljZSgwLDMsNCw1KTsKCi8vQ0hFQ0sjMQphcnIuZ2V0Q2xhc3MgPSBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nOwppZiAoYXJyLmdldENsYXNzKCkgIT09ICJbb2JqZWN0ICIgKyAiQXJyYXkiICsgIl0iKSB7CiAgJEVSUk9SKCcjMTogdmFyIG9iaiA9IHswOjAsMToxLDI6MiwzOjN9OyBvYmoubGVuZ3RoID0gNDsgb2JqLnNwbGljZSA9IEFycmF5LnByb3RvdHlwZS5zcGxpY2U7IHZhciBhcnIgPSBvYmouc3BsaWNlKDAsMyw0LDUpOyBhcnIgaXMgQXJyYXkgb2JqZWN0LiBBY3R1YWw6ICcgKyAoYXJyLmdldENsYXNzKCkpKTsKfQoKLy9DSEVDSyMyCmlmIChhcnIubGVuZ3RoICE9PSAzKSB7CiAgJEVSUk9SKCcjMjogdmFyIG9iaiA9IHswOjAsMToxLDI6MiwzOjN9OyBvYmoubGVuZ3RoID0gNDsgb2JqLnNwbGljZSA9IEFycmF5LnByb3RvdHlwZS5zcGxpY2U7IHZhciBhcnIgPSBvYmouc3BsaWNlKDAsMyw0LDUpOyBhcnIubGVuZ3RoID09PSAzLiBBY3R1YWw6ICcgKyAoYXJyLmxlbmd0aCkpOwp9ICAgICAgCgovL0NIRUNLIzMKaWYgKGFyclswXSAhPT0gMCkgewogICRFUlJPUignIzM6IHZhciBvYmogPSB7MDowLDE6MSwyOjIsMzozfTsgb2JqLmxlbmd0aCA9IDQ7IG9iai5zcGxpY2UgPSBBcnJheS5wcm90b3R5cGUuc3BsaWNlOyB2YXIgYXJyID0gb2JqLnNwbGljZSgwLDMsNCw1KTsgYXJyWzBdID09PSAwLiBBY3R1YWw6ICcgKyAoYXJyWzBdKSk7Cn0KCi8vQ0hFQ0sjNAppZiAoYXJyWzFdICE9PSAxKSB7CiAgJEVSUk9SKCcjNDogdmFyIG9iaiA9IHswOjAsMToxLDI6MiwzOjN9OyBvYmoubGVuZ3RoID0gNDsgb2JqLnNwbGljZSA9IEFycmF5LnByb3RvdHlwZS5zcGxpY2U7IHZhciBhcnIgPSBvYmouc3BsaWNlKDAsMyw0LDUpOyBhcnJbMV0gPT09IDEuIEFjdHVhbDogJyArIChhcnJbMV0pKTsKfSAgICAgIAoKLy9DSEVDSyM1CmlmIChhcnJbMl0gIT09IDIpIHsKICAkRVJST1IoJyM1OiB2YXIgb2JqID0gezA6MCwxOjEsMjoyLDM6M307IG9iai5sZW5ndGggPSA0OyBvYmouc3BsaWNlID0gQXJyYXkucHJvdG90eXBlLnNwbGljZTsgdmFyIGFyciA9IG9iai5zcGxpY2UoMCwzLDQsNSk7IGFyclsyXSA9PT0gMi4gQWN0dWFsOiAnICsgKGFyclsyXSkpOwp9ICAgCgovL0NIRUNLIzYKaWYgKG9iai5sZW5ndGggIT09IDMpIHsKICAkRVJST1IoJyM2OiB2YXIgb2JqID0gezA6MCwxOjEsMjoyLDM6M307IG9iai5sZW5ndGggPSA0OyBvYmouc3BsaWNlID0gQXJyYXkucHJvdG90eXBlLnNwbGljZTsgdmFyIGFyciA9IG9iai5zcGxpY2UoMCwzLDQsNSk7IG9iai5sZW5ndGggPT09IDMuIEFjdHVhbDogJyArIChvYmoubGVuZ3RoKSk7Cn0gCgovL0NIRUNLIzcKaWYgKG9ialswXSAhPT0gNCkgewogICRFUlJPUignIzc6IHZhciBvYmogPSB7MDowLDE6MSwyOjIsMzozfTsgb2JqLmxlbmd0aCA9IDQ7IG9iai5zcGxpY2UgPSBBcnJheS5wcm90b3R5cGUuc3BsaWNlOyB2YXIgYXJyID0gb2JqLnNwbGljZSgwLDMsNCw1KTsgb2JqWzBdID09PSA0LiBBY3R1YWw6ICcgKyAob2JqWzBdKSk7Cn0KCi8vQ0hFQ0sjOAppZiAob2JqWzFdICE9PSA1KSB7CiAgJEVSUk9SKCcjODogdmFyIG9iaiA9IHswOjAsMToxLDI6MiwzOjN9OyBvYmoubGVuZ3RoID0gNDsgb2JqLnNwbGljZSA9IEFycmF5LnByb3RvdHlwZS5zcGxpY2U7IHZhciBhcnIgPSBvYmouc3BsaWNlKDAsMyw0LDUpOyBvYmpbMV0gPT09IDUuIEFjdHVhbDogJyArIChvYmpbMV0pKTsKfSAKCi8vQ0hFQ0sjOQppZiAob2JqWzJdICE9PSAzKSB7CiAgJEVSUk9SKCcjOTogdmFyIG9iaiA9IHswOjAsMToxLDI6MiwzOjN9OyBvYmoubGVuZ3RoID0gNDsgb2JqLnNwbGljZSA9IEFycmF5LnByb3RvdHlwZS5zcGxpY2U7IHZhciBhcnIgPSBvYmouc3BsaWNlKDAsMyw0LDUpOyBvYmpbMl0gPT09IDMuIEFjdHVhbDogJyArIChvYmpbMl0pKTsKfQoKLy9DSEVDSyMxMAppZiAob2JqWzNdICE9PSB1bmRlZmluZWQpIHsKICAkRVJST1IoJyMxMDogdmFyIG9iaiA9IHswOjAsMToxLDI6MiwzOjN9OyBvYmoubGVuZ3RoID0gNDsgb2JqLnNwbGljZSA9IEFycmF5LnByb3RvdHlwZS5zcGxpY2U7IHZhciBhcnIgPSBvYmouc3BsaWNlKDAsMyw0LDUpOyBvYmpbM10gPT09IHVuZGVmaW5lZC4gQWN0dWFsOiAnICsgKG9ialszXSkpOwp9Cgo=","commentary":"The splice function is intentionally generic.\nIt does not require that its this value be an Array object","description":"If start is positive, use min(start, length).\nIf deleteCount is positive, use min(deleteCount, length - start)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.12/S15.4.4.12_A2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgc3BsaWNlIGZ1bmN0aW9uIGlzIGludGVudGlvbmFsbHkgZ2VuZXJpYy4KICogSXQgZG9lcyBub3QgcmVxdWlyZSB0aGF0IGl0cyB0aGlzIHZhbHVlIGJlIGFuIEFycmF5IG9iamVjdAogKgogKiBAcGF0aCBjaDE1LzE1LjQvMTUuNC40LzE1LjQuNC4xMi9TMTUuNC40LjEyX0EyX1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBJZiBzdGFydCBpcyBuZWdhdGl2ZSwgdXNlIG1heChzdGFydCArIGxlbmd0aCwgMCkuCiAqIElmIGRlbGV0ZUNvdW50IGlzIG5lZ2F0aXZlLCB1c2UgMAogKi8KCnZhciBvYmogPSB7MDowLDE6MX07Cm9iai5sZW5ndGggPSAyOwpvYmouc3BsaWNlID0gQXJyYXkucHJvdG90eXBlLnNwbGljZTsKdmFyIGFyciA9IG9iai5zcGxpY2UoLTIsLTEsMiwzKTsKCi8vQ0hFQ0sjMAphcnIuZ2V0Q2xhc3MgPSBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nOwppZiAoYXJyLmdldENsYXNzKCkgIT09ICJbb2JqZWN0ICIgKyAiQXJyYXkiICsgIl0iKSB7CiAgJEVSUk9SKCcjMDogdmFyIG9iaiA9IHswOjAsMToxfTsgb2JqLmxlbmd0aCA9IDI7IG9iai5zcGxpY2UgPSBBcnJheS5wcm90b3R5cGUuc3BsaWNlOyB2YXIgYXJyID0gb2JqLnNwbGljZSgtMiwtMSwyLDMpOyBhcnIgaXMgQXJyYXkgb2JqZWN0LiBBY3R1YWw6ICcgKyAoYXJyLmdldENsYXNzKCkpKTsKfQoKLy9DSEVDSyMxCmlmIChhcnIubGVuZ3RoICE9PSAwKSB7CiAgJEVSUk9SKCcjMTogdmFyIG9iaiA9IHswOjAsMToxfTsgb2JqLmxlbmd0aCA9IDI7IG9iai5zcGxpY2UgPSBBcnJheS5wcm90b3R5cGUuc3BsaWNlOyB2YXIgYXJyID0gb2JqLnNwbGljZSgtMiwtMSwyLDMpOyBhcnIubGVuZ3RoID09PSAwLiBBY3R1YWw6ICcgKyAoYXJyLmxlbmd0aCkpOwp9ICAgCgovL0NIRUNLIzIKaWYgKG9iai5sZW5ndGggIT09IDQpIHsKICAkRVJST1IoJyMyOiB2YXIgb2JqID0gezA6MCwxOjF9OyBvYmoubGVuZ3RoID0gMjsgb2JqLnNwbGljZSA9IEFycmF5LnByb3RvdHlwZS5zcGxpY2U7IHZhciBhcnIgPSBvYmouc3BsaWNlKC0yLC0xLDIsMyk7IG9iai5sZW5ndGggPT09IDQuIEFjdHVhbDogJyArIChvYmoubGVuZ3RoKSk7Cn0gICAgICAKCi8vQ0hFQ0sjMwppZiAob2JqWzBdICE9PSAyKSB7CiAgJEVSUk9SKCcjMzogdmFyIG9iaiA9IHswOjAsMToxfTsgb2JqLmxlbmd0aCA9IDI7IG9iai5zcGxpY2UgPSBBcnJheS5wcm90b3R5cGUuc3BsaWNlOyB2YXIgYXJyID0gb2JqLnNwbGljZSgtMiwtMSwyLDMpOyBvYmpbMF0gPT09IDIuIEFjdHVhbDogJyArIChvYmpbMF0pKTsKfQoKLy9DSEVDSyM0CmlmIChvYmpbMV0gIT09IDMpIHsKICAkRVJST1IoJyM0OiB2YXIgb2JqID0gezA6MCwxOjF9OyBvYmoubGVuZ3RoID0gMjsgb2JqLnNwbGljZSA9IEFycmF5LnByb3RvdHlwZS5zcGxpY2U7IHZhciBhcnIgPSBvYmouc3BsaWNlKC0yLC0xLDIsMyk7IG9ialsxXSA9PT0gMy4gQWN0dWFsOiAnICsgKG9ialsxXSkpOwp9CgovL0NIRUNLIzUKaWYgKG9ialsyXSAhPT0gMCkgewogICRFUlJPUignIzU6IHZhciBvYmogPSB7MDowLDE6MX07IG9iai5sZW5ndGggPSAyOyBvYmouc3BsaWNlID0gQXJyYXkucHJvdG90eXBlLnNwbGljZTsgdmFyIGFyciA9IG9iai5zcGxpY2UoLTIsLTEsMiwzKTsgb2JqWzJdID09PSAwLiBBY3R1YWw6ICcgKyAob2JqWzJdKSk7Cn0KCi8vQ0hFQ0sjNgppZiAob2JqWzNdICE9PSAxKSB7CiAgJEVSUk9SKCcjNjogdmFyIG9iaiA9IHswOjAsMToxfTsgb2JqLmxlbmd0aCA9IDI7IG9iai5zcGxpY2UgPSBBcnJheS5wcm90b3R5cGUuc3BsaWNlOyB2YXIgYXJyID0gb2JqLnNwbGljZSgtMiwtMSwyLDMpOyBvYmpbM10gPT09IDEuIEFjdHVhbDogJyArIChvYmpbM10pKTsKfQoKLy9DSEVDSyM3CmlmIChvYmpbNF0gIT09IHVuZGVmaW5lZCkgewogICRFUlJPUignIzc6IHZhciBvYmogPSB7MDowLDE6MX07IG9iai5sZW5ndGggPSAyOyBvYmouc3BsaWNlID0gQXJyYXkucHJvdG90eXBlLnNwbGljZTsgdmFyIGFyciA9IG9iai5zcGxpY2UoLTIsLTEsMiwzKTsgb2JqWzRdID09PSB1bmRlZmluZWQuIEFjdHVhbDogJyArIChvYmpbNF0pKTsKfSAgICAgICAgCgo=","commentary":"The splice function is intentionally generic.\nIt does not require that its this value be an Array object","description":"If start is negative, use max(start + length, 0).\nIf deleteCount is negative, use 0","path":"TestCases/ch15/15.4/15.4.4/15.4.4.12/S15.4.4.12_A2_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgc3BsaWNlIGZ1bmN0aW9uIGlzIGludGVudGlvbmFsbHkgZ2VuZXJpYy4KICogSXQgZG9lcyBub3QgcmVxdWlyZSB0aGF0IGl0cyB0aGlzIHZhbHVlIGJlIGFuIEFycmF5IG9iamVjdAogKgogKiBAcGF0aCBjaDE1LzE1LjQvMTUuNC40LzE1LjQuNC4xMi9TMTUuNC40LjEyX0EyX1QzLmpzCiAqIEBkZXNjcmlwdGlvbiBJZiBzdGFydCBpcyBwb3NpdGl2ZSwgdXNlIG1pbihzdGFydCwgbGVuZ3RoKS4KICogSWYgZGVsZXRlQ291bnQgaXMgbmVnYXRpdmUsIHVzZSAwCiAqLwoKdmFyIG9iaiA9IHswOjAsMToxfTsKb2JqLmxlbmd0aCA9IDI7Cm9iai5zcGxpY2UgPSBBcnJheS5wcm90b3R5cGUuc3BsaWNlOwp2YXIgYXJyID0gb2JqLnNwbGljZSgwLC0xLDIsMyk7CgovL0NIRUNLIzAKYXJyLmdldENsYXNzID0gT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZzsKaWYgKGFyci5nZXRDbGFzcygpICE9PSAiW29iamVjdCAiICsgIkFycmF5IiArICJdIikgewogICRFUlJPUignIzA6IHZhciBvYmogPSB7MDowLDE6MX07IG9iai5sZW5ndGggPSAyOyBvYmouc3BsaWNlID0gQXJyYXkucHJvdG90eXBlLnNwbGljZTsgdmFyIGFyciA9IG9iai5zcGxpY2UoMCwtMSwyLDMpOyBhcnIgaXMgQXJyYXkgb2JqZWN0LiBBY3R1YWw6ICcgKyAoYXJyLmdldENsYXNzKCkpKTsKfQoKLy9DSEVDSyMxCmlmIChhcnIubGVuZ3RoICE9PSAwKSB7CiAgJEVSUk9SKCcjMTogdmFyIG9iaiA9IHswOjAsMToxfTsgb2JqLmxlbmd0aCA9IDI7IG9iai5zcGxpY2UgPSBBcnJheS5wcm90b3R5cGUuc3BsaWNlOyB2YXIgYXJyID0gb2JqLnNwbGljZSgwLC0xLDIsMyk7IGFyci5sZW5ndGggPT09IDAuIEFjdHVhbDogJyArIChhcnIubGVuZ3RoKSk7Cn0gICAKCi8vQ0hFQ0sjMgppZiAob2JqLmxlbmd0aCAhPT0gNCkgewogICRFUlJPUignIzI6IHZhciBvYmogPSB7MDowLDE6MX07IG9iai5sZW5ndGggPSAyOyBvYmouc3BsaWNlID0gQXJyYXkucHJvdG90eXBlLnNwbGljZTsgdmFyIGFyciA9IG9iai5zcGxpY2UoMCwtMSwyLDMpOyBvYmoubGVuZ3RoID09PSA0LiBBY3R1YWw6ICcgKyAob2JqLmxlbmd0aCkpOwp9ICAgICAgCgovL0NIRUNLIzMKaWYgKG9ialswXSAhPT0gMikgewogICRFUlJPUignIzM6IHZhciBvYmogPSB7MDowLDE6MX07IG9iai5sZW5ndGggPSAyOyBvYmouc3BsaWNlID0gQXJyYXkucHJvdG90eXBlLnNwbGljZTsgdmFyIGFyciA9IG9iai5zcGxpY2UoMCwtMSwyLDMpOyBvYmpbMF0gPT09IDIuIEFjdHVhbDogJyArIChvYmpbMF0pKTsKfQoKLy9DSEVDSyM0CmlmIChvYmpbMV0gIT09IDMpIHsKICAkRVJST1IoJyM0OiB2YXIgb2JqID0gezA6MCwxOjF9OyBvYmoubGVuZ3RoID0gMjsgb2JqLnNwbGljZSA9IEFycmF5LnByb3RvdHlwZS5zcGxpY2U7IHZhciBhcnIgPSBvYmouc3BsaWNlKDAsLTEsMiwzKTsgb2JqWzFdID09PSAzLiBBY3R1YWw6ICcgKyAob2JqWzFdKSk7Cn0KCi8vQ0hFQ0sjNQppZiAob2JqWzJdICE9PSAwKSB7CiAgJEVSUk9SKCcjNTogdmFyIG9iaiA9IHswOjAsMToxfTsgb2JqLmxlbmd0aCA9IDI7IG9iai5zcGxpY2UgPSBBcnJheS5wcm90b3R5cGUuc3BsaWNlOyB2YXIgYXJyID0gb2JqLnNwbGljZSgwLC0xLDIsMyk7IG9ialsyXSA9PT0gMC4gQWN0dWFsOiAnICsgKG9ialsyXSkpOwp9CgovL0NIRUNLIzYKaWYgKG9ialszXSAhPT0gMSkgewogICRFUlJPUignIzY6IHZhciBvYmogPSB7MDowLDE6MX07IG9iai5sZW5ndGggPSAyOyBvYmouc3BsaWNlID0gQXJyYXkucHJvdG90eXBlLnNwbGljZTsgdmFyIGFyciA9IG9iai5zcGxpY2UoMCwtMSwyLDMpOyBvYmpbM10gPT09IDEuIEFjdHVhbDogJyArIChvYmpbM10pKTsKfQoKLy9DSEVDSyM3CmlmIChvYmpbNF0gIT09IHVuZGVmaW5lZCkgewogICRFUlJPUignIzc6IHZhciBvYmogPSB7MDowLDE6MX07IG9iai5sZW5ndGggPSAyOyBvYmouc3BsaWNlID0gQXJyYXkucHJvdG90eXBlLnNwbGljZTsgdmFyIGFyciA9IG9iai5zcGxpY2UoMCwtMSwyLDMpOyBvYmpbNF0gPT09IHVuZGVmaW5lZC4gQWN0dWFsOiAnICsgKG9ials0XSkpOwp9ICAgCgo=","commentary":"The splice function is intentionally generic.\nIt does not require that its this value be an Array object","description":"If start is positive, use min(start, length).\nIf deleteCount is negative, use 0","path":"TestCases/ch15/15.4/15.4.4/15.4.4.12/S15.4.4.12_A2_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgc3BsaWNlIGZ1bmN0aW9uIGlzIGludGVudGlvbmFsbHkgZ2VuZXJpYy4KICogSXQgZG9lcyBub3QgcmVxdWlyZSB0aGF0IGl0cyB0aGlzIHZhbHVlIGJlIGFuIEFycmF5IG9iamVjdAogKgogKiBAcGF0aCBjaDE1LzE1LjQvMTUuNC40LzE1LjQuNC4xMi9TMTUuNC40LjEyX0EyX1Q0LmpzCiAqIEBkZXNjcmlwdGlvbiBJZiBzdGFydCBpcyBuZWdhdGl2ZSwgdXNlIG1heChzdGFydCArIGxlbmd0aCwgMCkuCiAqIElmIGRlbGV0ZUNvdW50IGlzIHBvc2l0aXZlLCB1c2UgbWluKGRlbGV0ZUNvdW50LCBsZW5ndGggLSBzdGFydCkKICovCgp2YXIgb2JqID0gezA6MCwxOjEsMjoyLDM6M307Cm9iai5sZW5ndGggPSA0OwpvYmouc3BsaWNlID0gQXJyYXkucHJvdG90eXBlLnNwbGljZTsKdmFyIGFyciA9IG9iai5zcGxpY2UoLTQsMyw0LDUpOwoKLy9DSEVDSyMxCmFyci5nZXRDbGFzcyA9IE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmc7CmlmIChhcnIuZ2V0Q2xhc3MoKSAhPT0gIltvYmplY3QgIiArICJBcnJheSIgKyAiXSIpIHsKICAkRVJST1IoJyMxOiB2YXIgb2JqID0gezA6MCwxOjEsMjoyLDM6M307IG9iai5sZW5ndGggPSA0OyBvYmouc3BsaWNlID0gQXJyYXkucHJvdG90eXBlLnNwbGljZTsgdmFyIGFyciA9IG9iai5zcGxpY2UoLTQsMyw0LDUpOyBhcnIgaXMgQXJyYXkgb2JqZWN0LiBBY3R1YWw6ICcgKyAoYXJyLmdldENsYXNzKCkpKTsKfQoKLy9DSEVDSyMyCmlmIChhcnIubGVuZ3RoICE9PSAzKSB7CiAgJEVSUk9SKCcjMjogdmFyIG9iaiA9IHswOjAsMToxLDI6MiwzOjN9OyBvYmoubGVuZ3RoID0gNDsgb2JqLnNwbGljZSA9IEFycmF5LnByb3RvdHlwZS5zcGxpY2U7IHZhciBhcnIgPSBvYmouc3BsaWNlKC00LDMsNCw1KTsgYXJyLmxlbmd0aCA9PT0gMy4gQWN0dWFsOiAnICsgKGFyci5sZW5ndGgpKTsKfSAgICAgIAoKLy9DSEVDSyMzCmlmIChhcnJbMF0gIT09IDApIHsKICAkRVJST1IoJyMzOiB2YXIgb2JqID0gezA6MCwxOjEsMjoyLDM6M307IG9iai5sZW5ndGggPSA0OyBvYmouc3BsaWNlID0gQXJyYXkucHJvdG90eXBlLnNwbGljZTsgdmFyIGFyciA9IG9iai5zcGxpY2UoLTQsMyw0LDUpOyBhcnJbMF0gPT09IDAuIEFjdHVhbDogJyArIChhcnJbMF0pKTsKfQoKLy9DSEVDSyM0CmlmIChhcnJbMV0gIT09IDEpIHsKICAkRVJST1IoJyM0OiB2YXIgb2JqID0gezA6MCwxOjEsMjoyLDM6M307IG9iai5sZW5ndGggPSA0OyBvYmouc3BsaWNlID0gQXJyYXkucHJvdG90eXBlLnNwbGljZTsgdmFyIGFyciA9IG9iai5zcGxpY2UoLTQsMyw0LDUpOyBhcnJbMV0gPT09IDEuIEFjdHVhbDogJyArIChhcnJbMV0pKTsKfSAgICAgIAoKLy9DSEVDSyM1CmlmIChhcnJbMl0gIT09IDIpIHsKICAkRVJST1IoJyM1OiB2YXIgb2JqID0gezA6MCwxOjEsMjoyLDM6M307IG9iai5sZW5ndGggPSA0OyBvYmouc3BsaWNlID0gQXJyYXkucHJvdG90eXBlLnNwbGljZTsgdmFyIGFyciA9IG9iai5zcGxpY2UoLTQsMyw0LDUpOyBhcnJbMl0gPT09IDIuIEFjdHVhbDogJyArIChhcnJbMl0pKTsKfSAgIAoKLy9DSEVDSyM2CmlmIChvYmoubGVuZ3RoICE9PSAzKSB7CiAgJEVSUk9SKCcjNjogdmFyIG9iaiA9IHswOjAsMToxLDI6MiwzOjN9OyBvYmoubGVuZ3RoID0gNDsgb2JqLnNwbGljZSA9IEFycmF5LnByb3RvdHlwZS5zcGxpY2U7IHZhciBhcnIgPSBvYmouc3BsaWNlKC00LDMsNCw1KTsgb2JqLmxlbmd0aCA9PT0gMy4gQWN0dWFsOiAnICsgKG9iai5sZW5ndGgpKTsKfSAKCi8vQ0hFQ0sjNwppZiAob2JqWzBdICE9PSA0KSB7CiAgJEVSUk9SKCcjNzogdmFyIG9iaiA9IHswOjAsMToxLDI6MiwzOjN9OyBvYmoubGVuZ3RoID0gNDsgb2JqLnNwbGljZSA9IEFycmF5LnByb3RvdHlwZS5zcGxpY2U7IHZhciBhcnIgPSBvYmouc3BsaWNlKC00LDMsNCw1KTsgb2JqWzBdID09PSA0LiBBY3R1YWw6ICcgKyAob2JqWzBdKSk7Cn0KCi8vQ0hFQ0sjOAppZiAob2JqWzFdICE9PSA1KSB7CiAgJEVSUk9SKCcjODogdmFyIG9iaiA9IHswOjAsMToxLDI6MiwzOjN9OyBvYmoubGVuZ3RoID0gNDsgb2JqLnNwbGljZSA9IEFycmF5LnByb3RvdHlwZS5zcGxpY2U7IHZhciBhcnIgPSBvYmouc3BsaWNlKC00LDMsNCw1KTsgb2JqWzFdID09PSA1LiBBY3R1YWw6ICcgKyAob2JqWzFdKSk7Cn0gCgovL0NIRUNLIzkKaWYgKG9ialsyXSAhPT0gMykgewogICRFUlJPUignIzk6IHZhciBvYmogPSB7MDowLDE6MSwyOjIsMzozfTsgb2JqLmxlbmd0aCA9IDQ7IG9iai5zcGxpY2UgPSBBcnJheS5wcm90b3R5cGUuc3BsaWNlOyB2YXIgYXJyID0gb2JqLnNwbGljZSgtNCwzLDQsNSk7IG9ialsyXSA9PT0gMy4gQWN0dWFsOiAnICsgKG9ialsyXSkpOwp9CgovL0NIRUNLIzEwCmlmIChvYmpbM10gIT09IHVuZGVmaW5lZCkgewogICRFUlJPUignIzEwOiB2YXIgb2JqID0gezA6MCwxOjEsMjoyLDM6M307IG9iai5sZW5ndGggPSA0OyBvYmouc3BsaWNlID0gQXJyYXkucHJvdG90eXBlLnNwbGljZTsgdmFyIGFyciA9IG9iai5zcGxpY2UoLTQsMyw0LDUpOyBvYmpbM10gPT09IHVuZGVmaW5lZC4gQWN0dWFsOiAnICsgKG9ialszXSkpOwp9Cgo=","commentary":"The splice function is intentionally generic.\nIt does not require that its this value be an Array object","description":"If start is negative, use max(start + length, 0).\nIf deleteCount is positive, use min(deleteCount, length - start)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.12/S15.4.4.12_A2_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBDaGVjayBUb1VpbnQzMihsZW5ndGgpIGZvciBub24gQXJyYXkgb2JqZWN0cwogKgogKiBAcGF0aCBjaDE1LzE1LjQvMTUuNC40LzE1LjQuNC4xMi9TMTUuNC40LjEyX0EzX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBsZW5ndGggaXMgYXJiaXRyYXJpbHkKICovCgp2YXIgb2JqID0ge307Cm9iai5zcGxpY2UgPSBBcnJheS5wcm90b3R5cGUuc3BsaWNlOwpvYmpbMF0gPSAieCI7Cm9ials0Mjk0OTY3Mjk1XSA9ICJ5IjsKb2JqLmxlbmd0aCA9IDQyOTQ5NjcyOTY7CnZhciBhcnIgPSBvYmouc3BsaWNlKDQyOTQ5NjcyOTUsIDEpOwoKLy9DSEVDSyMxCmlmIChhcnIubGVuZ3RoICE9PSAwKSB7CiAgJEVSUk9SKCcjMTogdmFyIG9iaiA9IHt9OyBvYmouc3BsaWNlID0gQXJyYXkucHJvdG90eXBlLnNwbGljZTsgb2JqWzBdID0gIngiOyBvYmpbNDI5NDk2NzI5NV0gPSAieSI7IG9iai5sZW5ndGggPSA0Mjk0OTY3Mjk2OyB2YXIgYXJyID0gb2JqLnNwbGljZSg0Mjk0OTY3Mjk1LDEpOyBhcnIubGVuZ3RoID09PSAwLiBBY3R1YWw6ICcgKyAoYXJyLmxlbmd0aCkpOwp9CgovL0NIRUNLIzIKaWYgKG9iai5sZW5ndGggIT09IDApIHsKICAgJEVSUk9SKCcjMjogdmFyIG9iaiA9IHt9OyBvYmouc3BsaWNlID0gQXJyYXkucHJvdG90eXBlLnNwbGljZTsgb2JqWzBdID0gIngiOyBvYmpbNDI5NDk2NzI5NV0gPSAieSI7IG9iai5sZW5ndGggPSA0Mjk0OTY3Mjk2OyB2YXIgYXJyID0gb2JqLnNwbGljZSg0Mjk0OTY3Mjk1LDEpOyBvYmoubGVuZ3RoID09PSAwLiBBY3R1YWw6ICcgKyAob2JqLmxlbmd0aCkpOwp9CgovL0NIRUNLIzMKaWYgKG9ialswXSAhPT0gIngiKSB7CiAgICRFUlJPUignIzM6IHZhciBvYmogPSB7fTsgb2JqLnNwbGljZSA9IEFycmF5LnByb3RvdHlwZS5zcGxpY2U7IG9ialswXSA9ICJ4Ijsgb2JqWzQyOTQ5NjcyOTVdID0gInkiOyBvYmoubGVuZ3RoID0gNDI5NDk2NzI5NjsgdmFyIGFyciA9IG9iai5zcGxpY2UoNDI5NDk2NzI5NSwxKTsgb2JqWzBdID09PSAieCIuIEFjdHVhbDogJyArIChvYmpbMF0pKTsKfSAgIAoKLy9DSEVDSyM0CmlmIChvYmpbNDI5NDk2NzI5NV0gIT09ICJ5IikgewogICAkRVJST1IoJyM0OiB2YXIgb2JqID0ge307IG9iai5zcGxpY2UgPSBBcnJheS5wcm90b3R5cGUuc3BsaWNlOyBvYmpbMF0gPSAieCI7IG9ials0Mjk0OTY3Mjk1XSA9ICJ5Ijsgb2JqLmxlbmd0aCA9IDQyOTQ5NjcyOTY7IHZhciBhcnIgPSBvYmouc3BsaWNlKDQyOTQ5NjcyOTUsMSk7IG9ials0Mjk0OTY3Mjk1XSA9PT0gInkiLiBBY3R1YWw6ICcgKyAob2JqWzQyOTQ5NjcyOTVdKSk7Cn0gIAoK","commentary":"Check ToUint32(length) for non Array objects","description":"length is arbitrarily","path":"TestCases/ch15/15.4/15.4.4/15.4.4.12/S15.4.4.12_A3_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBDaGVjayBUb1VpbnQzMihsZW5ndGgpIGZvciBub24gQXJyYXkgb2JqZWN0cwogKgogKiBAcGF0aCBjaDE1LzE1LjQvMTUuNC40LzE1LjQuNC4xMi9TMTUuNC40LjEyX0EzX1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBsZW5ndGggaXMgYXJiaXRyYXJpbHkKICovCgp2YXIgb2JqID0ge307Cm9iai5zcGxpY2UgPSBBcnJheS5wcm90b3R5cGUuc3BsaWNlOwpvYmpbMF0gPSAieCI7Cm9iai5sZW5ndGggPSA0Mjk0OTY3Mjk3Owp2YXIgYXJyID0gb2JqLnNwbGljZSgwLDEpOwoKLy9DSEVDSyMxCmlmIChhcnIubGVuZ3RoICE9PSAxKSB7CiAgJEVSUk9SKCcjMTogdmFyIG9iaiA9IHt9OyBvYmouc3BsaWNlID0gQXJyYXkucHJvdG90eXBlLnNwbGljZTsgb2JqWzBdID0gIngiOyBvYmpbMF0gPSAieSI7IG9iai5sZW5ndGggPSA0Mjk0OTY3Mjk3OyB2YXIgYXJyID0gb2JqLnNwbGljZSgwLDEpOyBhcnIubGVuZ3RoID09PSAxLiBBY3R1YWw6ICcgKyAoYXJyLmxlbmd0aCkpOwp9CgovL0NIRUNLIzIKaWYgKGFyclswXSAhPT0gIngiKSB7CiAgICRFUlJPUignIzI6IHZhciBvYmogPSB7fTsgb2JqLnNwbGljZSA9IEFycmF5LnByb3RvdHlwZS5zcGxpY2U7IG9ialswXSA9ICJ4Ijsgb2JqWzBdID0gInkiOyBvYmoubGVuZ3RoID0gMTsgdmFyIGFyciA9IG9iai5zcGxpY2UoMCwxKTsgYXJyWzBdID09PSAieCIuIEFjdHVhbDogJyArIChhcnJbMF0pKTsKfSAKCi8vQ0hFQ0sjMwppZiAob2JqLmxlbmd0aCAhPT0gMCkgewogICAkRVJST1IoJyMzOiB2YXIgb2JqID0ge307IG9iai5zcGxpY2UgPSBBcnJheS5wcm90b3R5cGUuc3BsaWNlOyBvYmpbMF0gPSAieCI7IG9ialswXSA9ICJ5Ijsgb2JqLmxlbmd0aCA9IDE7IHZhciBhcnIgPSBvYmouc3BsaWNlKDAsMSk7IG9iai5sZW5ndGggPT09IDAuIEFjdHVhbDogJyArIChvYmoubGVuZ3RoKSk7Cn0KCi8vQ0hFQ0sjNAppZiAob2JqWzBdICE9PSB1bmRlZmluZWQpIHsKICAgJEVSUk9SKCcjNDogdmFyIG9iaiA9IHt9OyBvYmouc3BsaWNlID0gQXJyYXkucHJvdG90eXBlLnNwbGljZTsgb2JqWzBdID0gIngiOyBvYmpbMF0gPSAieSI7IG9iai5sZW5ndGggPSAxOyB2YXIgYXJyID0gb2JqLnNwbGljZSgwLDEpOyBvYmpbMF0gPT09IHVuZGVmaW5lZC4gQWN0dWFsOiAnICsgKG9ialswXSkpOwp9IAoK","commentary":"Check ToUint32(length) for non Array objects","description":"length is arbitrarily","path":"TestCases/ch15/15.4/15.4.4/15.4.4.12/S15.4.4.12_A3_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBDaGVjayBUb1VpbnQzMihsZW5ndGgpIGZvciBub24gQXJyYXkgb2JqZWN0cwogKgogKiBAcGF0aCBjaDE1LzE1LjQvMTUuNC40LzE1LjQuNC4xMi9TMTUuNC40LjEyX0EzX1QzLmpzCiAqIEBkZXNjcmlwdGlvbiBsZW5ndGggaXMgYXJiaXRyYXJpbHkKICovCgp2YXIgb2JqID0ge307Cm9iai5zcGxpY2UgPSBBcnJheS5wcm90b3R5cGUuc3BsaWNlOwpvYmpbNDI5NDk2NzI5NF0gPSAieCI7Cm9iai5sZW5ndGggPSAtMTsKdmFyIGFyciA9IG9iai5zcGxpY2UoNDI5NDk2NzI5NCwxKTsKCi8vQ0hFQ0sjMQppZiAoYXJyLmxlbmd0aCAhPT0gMSkgewogICRFUlJPUignIzE6IHZhciBvYmogPSB7fTsgb2JqLnNwbGljZSA9IEFycmF5LnByb3RvdHlwZS5zcGxpY2U7IG9ials0Mjk0OTY3Mjk0XSA9ICJ4Ijsgb2JqLmxlbmd0aCA9IC0xOyB2YXIgYXJyID0gb2JqLnNwbGljZSg0Mjk0OTY3Mjk0LDEpOyBhcnIubGVuZ3RoID09PSAxLiBBY3R1YWw6ICcgKyAoYXJyLmxlbmd0aCkpOwp9CgovL0NIRUNLIzIKaWYgKGFyclswXSAhPT0gIngiKSB7CiAgICRFUlJPUignIzI6IHZhciBvYmogPSB7fTsgb2JqLnNwbGljZSA9IEFycmF5LnByb3RvdHlwZS5zcGxpY2U7IG9ials0Mjk0OTY3Mjk0XSA9ICJ4Ijsgb2JqLmxlbmd0aCA9IDE7IHZhciBhcnIgPSBvYmouc3BsaWNlKDQyOTQ5NjcyOTQsMSk7IGFyclswXSA9PT0gIngiLiBBY3R1YWw6ICcgKyAoYXJyWzBdKSk7Cn0gCgovL0NIRUNLIzMKaWYgKG9iai5sZW5ndGggIT09IDQyOTQ5NjcyOTQpIHsKICAgJEVSUk9SKCcjMzogdmFyIG9iaiA9IHt9OyBvYmouc3BsaWNlID0gQXJyYXkucHJvdG90eXBlLnNwbGljZTsgb2JqWzQyOTQ5NjcyOTRdID0gIngiOyBvYmoubGVuZ3RoID0gMTsgdmFyIGFyciA9IG9iai5zcGxpY2UoNDI5NDk2NzI5NCwxKTsgb2JqLmxlbmd0aCA9PT0gNDI5NDk2NzI5NC4gQWN0dWFsOiAnICsgKG9iai5sZW5ndGgpKTsKfQoKLy9DSEVDSyM0CmlmIChvYmpbNDI5NDk2NzI5NF0gIT09IHVuZGVmaW5lZCkgewogICAkRVJST1IoJyM0OiB2YXIgb2JqID0ge307IG9iai5zcGxpY2UgPSBBcnJheS5wcm90b3R5cGUuc3BsaWNlOyBvYmpbNDI5NDk2NzI5NF0gPSAieCI7IG9iai5sZW5ndGggPSAxOyB2YXIgYXJyID0gb2JqLnNwbGljZSg0Mjk0OTY3Mjk0LDEpOyBvYmpbNDI5NDk2NzI5NF0gPT09IHVuZGVmaW5lZC4gQWN0dWFsOiAnICsgKG9ials0Mjk0OTY3Mjk0XSkpOwp9IAoK","commentary":"Check ToUint32(length) for non Array objects","description":"length is arbitrarily","path":"TestCases/ch15/15.4/15.4.4/15.4.4.12/S15.4.4.12_A3_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBbW0dldF1dIGZyb20gbm90IGFuIGluaGVyaXRlZCBwcm9wZXJ0eQogKgogKiBAcGF0aCBjaDE1LzE1LjQvMTUuNC40LzE1LjQuNC4xMi9TMTUuNC40LjEyX0E0X1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBbW1Byb3RvdHlwZV1dIG9mIEFycmF5IGluc3RhbmNlIGlzIEFycmF5LnByb3RvdHlwZSwgW1tQcm90b3R5cGVdIG9mIEFycmF5LnByb3RvdHlwZSBpcyBPYmplY3QucHJvdG90eXBlCiAqLwoKQXJyYXkucHJvdG90eXBlWzFdID0gLTE7CnZhciB4ID0gWzAsMV07CnZhciBhcnIgPSB4LnNwbGljZSgxLDEpOwoKLy9DSEVDSyMxCmlmIChhcnIubGVuZ3RoICE9PSAxKSB7ICAKICAkRVJST1IoJyMxOiBBcnJheS5wcm90b3R5cGVbMV0gPSAtMTsgeCA9IFswLDFdOyB2YXIgYXJyID0geC5zcGxpY2UoMSwxKTsgYXJyLmxlbmd0aCA9PT0gMS4gQWN0dWFsOiAnICsgKGFyci5sZW5ndGgpKTsgICAgCn0KCi8vQ0hFQ0sjMgppZiAoYXJyWzBdICE9PSAxKSB7ICAKICAkRVJST1IoJyMyOiBBcnJheS5wcm90b3R5cGVbMV0gPSAtMTsgeCA9IFswLDFdOyB2YXIgYXJyID0geC5zcGxpY2UoMSwxKTsgYXJyWzBdID09PSAxLiBBY3R1YWw6ICcgKyAoYXJyWzBdKSk7ICAgIAp9CgovL0NIRUNLIzMKaWYgKGFyclsxXSAhPT0gLTEpIHsgIAogICRFUlJPUignIzM6IEFycmF5LnByb3RvdHlwZVsxXSA9IC0xOyB4ID0gWzAsMV07IHZhciBhcnIgPSB4LnNwbGljZSgxLDEpOyBhcnJbMV0gPT09IC0xLiBBY3R1YWw6ICcgKyAoYXJyWzFdKSk7ICAgIAp9CgovL0NIRUNLIzQKaWYgKHgubGVuZ3RoICE9PSAxKSB7ICAKICAkRVJST1IoJyM0OiBBcnJheS5wcm90b3R5cGVbMV0gPSAtMTsgeCA9IFswLDFdOyB2YXIgYXJyID0geC5zcGxpY2UoMSwxKTsgeC5sZW5ndGggPT09IDEuIEFjdHVhbDogJyArICh4Lmxlbmd0aCkpOyAgICAKfQoKLy9DSEVDSyM1CmlmICh4WzBdICE9PSAwKSB7ICAKICAkRVJST1IoJyM1OiBBcnJheS5wcm90b3R5cGVbMV0gPSAtMTsgeCA9IFswLDFdOyB2YXIgYXJyID0geC5zcGxpY2UoMSwxKTsgeFswXSA9PT0gMC4gQWN0dWFsOiAnICsgKHhbMF0pKTsgICAgCn0KCi8vQ0hFQ0sjNgppZiAoeFsxXSAhPT0gLTEpIHsgIAogICRFUlJPUignIzY6IEFycmF5LnByb3RvdHlwZVsxXSA9IC0xOyB4ID0gWzAsMV07IHZhciBhcnIgPSB4LnNwbGljZSgxLDEpOyB4WzFdID09PSAtMS4gQWN0dWFsOiAnICsgKHhbMV0pKTsgICAgCn0KCgpPYmplY3QucHJvdG90eXBlWzFdID0gLTE7Ck9iamVjdC5wcm90b3R5cGUubGVuZ3RoID0gMjsKT2JqZWN0LnByb3RvdHlwZS5zcGxpY2UgPSBBcnJheS5wcm90b3R5cGUuc3BsaWNlOwp4ID0gezA6MCwgMToxfTsKdmFyIGFyciA9IHguc3BsaWNlKDEsMSk7CgovL0NIRUNLIzcKaWYgKGFyci5sZW5ndGggIT09IDEpIHsgIAogICRFUlJPUignIzc6IE9iamVjdC5wcm90b3R5cGVbMV0gPSAtMTsgT2JqZWN0LnByb3RvdHlwZS5sZW5ndGggPSAyOyBPYmplY3QucHJvdG90eXBlLnNwbGljZSA9IEFycmF5LnByb3RvdHlwZS5zcGxpY2U7IHggPSB7MDowLCAxOjF9OyB2YXIgYXJyID0geC5zcGxpY2UoMSwxKTsgYXJyLmxlbmd0aCA9PT0gMS4gQWN0dWFsOiAnICsgKGFyci5sZW5ndGgpKTsgICAgCn0KCi8vQ0hFQ0sjOAppZiAoYXJyWzBdICE9PSAxKSB7ICAKICAkRVJST1IoJyM4OiBPYmplY3QucHJvdG90eXBlWzFdID0gLTE7IE9iamVjdC5wcm90b3R5cGUubGVuZ3RoID0gMjsgT2JqZWN0LnByb3RvdHlwZS5zcGxpY2UgPSBBcnJheS5wcm90b3R5cGUuc3BsaWNlOyB4ID0gezA6MCwgMToxfTsgdmFyIGFyciA9IHguc3BsaWNlKDEsMSk7IGFyclswXSA9PT0gMS4gQWN0dWFsOiAnICsgKGFyclswXSkpOyAgICAKfQoKLy9DSEVDSyM5CmlmIChhcnJbMV0gIT09IC0xKSB7ICAKICAkRVJST1IoJyM5OiBPYmplY3QucHJvdG90eXBlWzFdID0gLTE7IE9iamVjdC5wcm90b3R5cGUubGVuZ3RoID0gMjsgT2JqZWN0LnByb3RvdHlwZS5zcGxpY2UgPSBBcnJheS5wcm90b3R5cGUuc3BsaWNlOyB4ID0gezA6MCwgMToxfTsgdmFyIGFyciA9IHguc3BsaWNlKDEsMSk7IGFyclsxXSA9PT0gLTEuIEFjdHVhbDogJyArIChhcnJbMV0pKTsgICAgCn0KCi8vQ0hFQ0sjMTAKaWYgKHgubGVuZ3RoICE9PSAxKSB7ICAKICAkRVJST1IoJyMxMDogT2JqZWN0LnByb3RvdHlwZVsxXSA9IC0xOyBPYmplY3QucHJvdG90eXBlLmxlbmd0aCA9IDI7IE9iamVjdC5wcm90b3R5cGUuc3BsaWNlID0gQXJyYXkucHJvdG90eXBlLnNwbGljZTsgeCA9IHswOjAsIDE6MX07IHZhciBhcnIgPSB4LnNwbGljZSgxLDEpOyB4Lmxlbmd0aCA9PT0gMS4gQWN0dWFsOiAnICsgKHgubGVuZ3RoKSk7ICAgIAp9CgovL0NIRUNLIzExCmlmICh4WzBdICE9PSAwKSB7ICAKICAkRVJST1IoJyMxMTogT2JqZWN0LnByb3RvdHlwZVsxXSA9IC0xOyBPYmplY3QucHJvdG90eXBlLmxlbmd0aCA9IDI7IE9iamVjdC5wcm90b3R5cGUuc3BsaWNlID0gQXJyYXkucHJvdG90eXBlLnNwbGljZTsgeCA9IHswOjAsIDE6MX07IHZhciBhcnIgPSB4LnNwbGljZSgxLDEpOyB4WzBdID09PSAwLiBBY3R1YWw6ICcgKyAoeFswXSkpOyAgICAKfQoKLy9DSEVDSyMxMgppZiAoeFsxXSAhPT0gLTEpIHsgIAogICRFUlJPUignIzEyOiBPYmplY3QucHJvdG90eXBlWzFdID0gLTE7IE9iamVjdC5wcm90b3R5cGUubGVuZ3RoID0gMjsgT2JqZWN0LnByb3RvdHlwZS5zcGxpY2UgPSBBcnJheS5wcm90b3R5cGUuc3BsaWNlOyB4ID0gezA6MCwgMToxfTsgdmFyIGFyciA9IHguc3BsaWNlKDEsMSk7IHhbMV0gPT09IC0xLiBBY3R1YWw6ICcgKyAoeFsxXSkpOyAgICAKfQoK","commentary":"[[Get]] from not an inherited property","description":"[[Prototype]] of Array instance is Array.prototype, [[Prototype] of Array.prototype is Object.prototype","path":"TestCases/ch15/15.4/15.4.4/15.4.4.12/S15.4.4.12_A4_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBbW0dldF1dIGZyb20gbm90IGFuIGluaGVyaXRlZCBwcm9wZXJ0eQogKgogKiBAcGF0aCBjaDE1LzE1LjQvMTUuNC40LzE1LjQuNC4xMi9TMTUuNC40LjEyX0E0X1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBbW1Byb3RvdHlwZV1dIG9mIEFycmF5IGluc3RhbmNlIGlzIEFycmF5LnByb3RvdHlwZSwgW1tQcm90b3R5cGVdIG9mIEFycmF5LnByb3RvdHlwZSBpcyBPYmplY3QucHJvdG90eXBlCiAqLwoKQXJyYXkucHJvdG90eXBlWzFdID0gLTE7CnZhciB4ID0gWzAsMV07CnZhciBhcnIgPSB4LnNwbGljZSgxLDEsMik7CgovL0NIRUNLIzEKaWYgKGFyci5sZW5ndGggIT09IDEpIHsgIAogICRFUlJPUignIzE6IEFycmF5LnByb3RvdHlwZVsxXSA9IC0xOyB4ID0gWzAsMV07IHZhciBhcnIgPSB4LnNwbGljZSgxLDEsMik7IGFyci5sZW5ndGggPT09IDEuIEFjdHVhbDogJyArIChhcnIubGVuZ3RoKSk7ICAgIAp9CgovL0NIRUNLIzIKaWYgKGFyclswXSAhPT0gMSkgeyAgCiAgJEVSUk9SKCcjMjogQXJyYXkucHJvdG90eXBlWzFdID0gLTE7IHggPSBbMCwxXTsgdmFyIGFyciA9IHguc3BsaWNlKDEsMSwyKTsgYXJyWzBdID09PSAxLiBBY3R1YWw6ICcgKyAoYXJyWzBdKSk7ICAgIAp9CgovL0NIRUNLIzMKaWYgKGFyclsxXSAhPT0gLTEpIHsgIAogICRFUlJPUignIzM6IEFycmF5LnByb3RvdHlwZVsxXSA9IC0xOyB4ID0gWzAsMV07IHZhciBhcnIgPSB4LnNwbGljZSgxLDEsMik7IGFyclsxXSA9PT0gLTEuIEFjdHVhbDogJyArIChhcnJbMV0pKTsgICAgCn0KCi8vQ0hFQ0sjNAppZiAoeC5sZW5ndGggIT09IDIpIHsgIAogICRFUlJPUignIzQ6IEFycmF5LnByb3RvdHlwZVsxXSA9IC0xOyB4ID0gWzAsMV07IHZhciBhcnIgPSB4LnNwbGljZSgxLDEsMik7IHgubGVuZ3RoID09PSAyLiBBY3R1YWw6ICcgKyAoeC5sZW5ndGgpKTsgICAgCn0KCi8vQ0hFQ0sjNQppZiAoeFswXSAhPT0gMCkgeyAgCiAgJEVSUk9SKCcjNTogQXJyYXkucHJvdG90eXBlWzFdID0gLTE7IHggPSBbMCwxXTsgdmFyIGFyciA9IHguc3BsaWNlKDEsMSwyKTsgeFswXSA9PT0gMC4gQWN0dWFsOiAnICsgKHhbMF0pKTsgICAgCn0KCi8vQ0hFQ0sjNgppZiAoeFsxXSAhPT0gMikgeyAgCiAgJEVSUk9SKCcjNjogQXJyYXkucHJvdG90eXBlWzFdID0gLTE7IHggPSBbMCwxXTsgdmFyIGFyciA9IHguc3BsaWNlKDEsMSwyKTsgeFsxXSA9PT0gMi4gQWN0dWFsOiAnICsgKHhbMV0pKTsgICAgCn0KCgpPYmplY3QucHJvdG90eXBlWzFdID0gLTE7Ck9iamVjdC5wcm90b3R5cGUubGVuZ3RoID0gMjsKT2JqZWN0LnByb3RvdHlwZS5zcGxpY2UgPSBBcnJheS5wcm90b3R5cGUuc3BsaWNlOwp4ID0gezA6MCwgMToxfTsKdmFyIGFyciA9IHguc3BsaWNlKDEsMSwyKTsKCi8vQ0hFQ0sjNwppZiAoYXJyLmxlbmd0aCAhPT0gMSkgeyAgCiAgJEVSUk9SKCcjNzogT2JqZWN0LnByb3RvdHlwZVsxXSA9IC0xOyBPYmplY3QucHJvdG90eXBlLmxlbmd0aCA9IDI7IE9iamVjdC5wcm90b3R5cGUuc3BsaWNlID0gQXJyYXkucHJvdG90eXBlLnNwbGljZTsgeCA9IHswOjAsIDE6MX07IHZhciBhcnIgPSB4LnNwbGljZSgxLDEsMik7IGFyci5sZW5ndGggPT09IDEuIEFjdHVhbDogJyArIChhcnIubGVuZ3RoKSk7ICAgIAp9CgovL0NIRUNLIzgKaWYgKGFyclswXSAhPT0gMSkgeyAgCiAgJEVSUk9SKCcjODogT2JqZWN0LnByb3RvdHlwZVsxXSA9IC0xOyBPYmplY3QucHJvdG90eXBlLmxlbmd0aCA9IDI7IE9iamVjdC5wcm90b3R5cGUuc3BsaWNlID0gQXJyYXkucHJvdG90eXBlLnNwbGljZTsgeCA9IHswOjAsIDE6MX07IHZhciBhcnIgPSB4LnNwbGljZSgxLDEsMik7IGFyclswXSA9PT0gMS4gQWN0dWFsOiAnICsgKGFyclswXSkpOyAgICAKfQoKLy9DSEVDSyM5CmlmIChhcnJbMV0gIT09IC0xKSB7ICAKICAkRVJST1IoJyM5OiBPYmplY3QucHJvdG90eXBlWzFdID0gLTE7IE9iamVjdC5wcm90b3R5cGUubGVuZ3RoID0gMjsgT2JqZWN0LnByb3RvdHlwZS5zcGxpY2UgPSBBcnJheS5wcm90b3R5cGUuc3BsaWNlOyB4ID0gezA6MCwgMToxfTsgdmFyIGFyciA9IHguc3BsaWNlKDEsMSwyKTsgYXJyWzFdID09PSAtMS4gQWN0dWFsOiAnICsgKGFyclsxXSkpOyAgICAKfQoKLy9DSEVDSyMxMAppZiAoeC5sZW5ndGggIT09IDIpIHsgIAogICRFUlJPUignIzEwOiBPYmplY3QucHJvdG90eXBlWzFdID0gLTE7IE9iamVjdC5wcm90b3R5cGUubGVuZ3RoID0gMjsgT2JqZWN0LnByb3RvdHlwZS5zcGxpY2UgPSBBcnJheS5wcm90b3R5cGUuc3BsaWNlOyB4ID0gezA6MCwgMToxfTsgdmFyIGFyciA9IHguc3BsaWNlKDEsMSwyKTsgeC5sZW5ndGggPT09IDIuIEFjdHVhbDogJyArICh4Lmxlbmd0aCkpOyAgICAKfQoKLy9DSEVDSyMxMQppZiAoeFswXSAhPT0gMCkgeyAgCiAgJEVSUk9SKCcjMTE6IE9iamVjdC5wcm90b3R5cGVbMV0gPSAtMTsgT2JqZWN0LnByb3RvdHlwZS5sZW5ndGggPSAyOyBPYmplY3QucHJvdG90eXBlLnNwbGljZSA9IEFycmF5LnByb3RvdHlwZS5zcGxpY2U7IHggPSB7MDowLCAxOjF9OyB2YXIgYXJyID0geC5zcGxpY2UoMSwxLDIpOyB4WzBdID09PSAwLiBBY3R1YWw6ICcgKyAoeFswXSkpOyAgICAKfQoKLy9DSEVDSyMxMgppZiAoeFsxXSAhPT0gMikgeyAgCiAgJEVSUk9SKCcjMTI6IE9iamVjdC5wcm90b3R5cGVbMV0gPSAtMTsgT2JqZWN0LnByb3RvdHlwZS5sZW5ndGggPSAyOyBPYmplY3QucHJvdG90eXBlLnNwbGljZSA9IEFycmF5LnByb3RvdHlwZS5zcGxpY2U7IHggPSB7MDowLCAxOjF9OyB2YXIgYXJyID0geC5zcGxpY2UoMSwxLDIpOyB4WzFdID09PSAyLiBBY3R1YWw6ICcgKyAoeFsxXSkpOyAgICAKfQoK","commentary":"[[Get]] from not an inherited property","description":"[[Prototype]] of Array instance is Array.prototype, [[Prototype] of Array.prototype is Object.prototype","path":"TestCases/ch15/15.4/15.4.4/15.4.4.12/S15.4.4.12_A4_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBbW0dldF1dIGZyb20gbm90IGFuIGluaGVyaXRlZCBwcm9wZXJ0eQogKgogKiBAcGF0aCBjaDE1LzE1LjQvMTUuNC40LzE1LjQuNC4xMi9TMTUuNC40LjEyX0E0X1QzLmpzCiAqIEBkZXNjcmlwdGlvbiBbW1Byb3RvdHlwZV1dIG9mIEFycmF5IGluc3RhbmNlIGlzIEFycmF5LnByb3RvdHlwZSwgW1tQcm90b3R5cGVdIG9mIEFycmF5LnByb3RvdHlwZSBpcyBPYmplY3QucHJvdG90eXBlCiAqLwoKQXJyYXkucHJvdG90eXBlWzBdID0gLTE7CnZhciB4ID0gW107CngubGVuZ3RoID0gMTsKdmFyIGFyciA9IHguc3BsaWNlKDAsMSk7CgovL0NIRUNLIzEKaWYgKGFyci5sZW5ndGggIT09IDEpIHsgIAogICRFUlJPUignIzE6IEFycmF5LnByb3RvdHlwZVswXSA9IC0xOyB4ID0gW107IHgubGVuZ3RoID0gMTsgdmFyIGFyciA9IHguc3BsaWNlKDAsMSk7IGFyci5sZW5ndGggPT09IDEuIEFjdHVhbDogJyArIChhcnIubGVuZ3RoKSk7ICAgIAp9CgovL0NIRUNLIzIKaWYgKGFyclswXSAhPT0gLTEpIHsgIAogICRFUlJPUignIzI6IEFycmF5LnByb3RvdHlwZVswXSA9IC0xOyB4ID0gW107IHgubGVuZ3RoID0gMTsgdmFyIGFyciA9IHguc3BsaWNlKDAsMSk7IGFyclswXSA9PT0gLTEuIEFjdHVhbDogJyArIChhcnJbMF0pKTsgICAgCn0KCmRlbGV0ZSBhcnJbMF07CgovL0NIRUNLIzMKaWYgKGFyclswXSAhPT0gLTEpIHsgIAogICRFUlJPUignIzM6IEFycmF5LnByb3RvdHlwZVswXSA9IC0xOyB4ID0gW107IHgubGVuZ3RoID0gMTsgdmFyIGFyciA9IHguc3BsaWNlKDAsMSk7IGRlbGV0ZSBhcnJbMF07IGFyclswXSA9PT0gLTEuIEFjdHVhbDogJyArIChhcnJbMF0pKTsgICAgCn0KCi8vQ0hFQ0sjNAppZiAoeC5sZW5ndGggIT09IDApIHsgIAogICRFUlJPUignIzQ6IEFycmF5LnByb3RvdHlwZVswXSA9IC0xOyB4ID0gW107IHgubGVuZ3RoID0gMTsgdmFyIGFyciA9IHguc3BsaWNlKDAsMSk7IHgubGVuZ3RoID09PSAwLiBBY3R1YWw6ICcgKyAoeC5sZW5ndGgpKTsgICAgCn0KCi8vQ0hFQ0sjNQppZiAoeFswXSAhPT0gLTEpIHsgIAogICRFUlJPUignIzU6IEFycmF5LnByb3RvdHlwZVswXSA9IC0xOyB4ID0gW107IHgubGVuZ3RoID0gMTsgdmFyIGFyciA9IHguc3BsaWNlKDAsMSk7IHhbMF0gPT09IC0xLiBBY3R1YWw6ICcgKyAoeFswXSkpOyAgICAKfQoKT2JqZWN0LnByb3RvdHlwZVswXSA9IC0xOwpPYmplY3QucHJvdG90eXBlLmxlbmd0aCA9IDE7Ck9iamVjdC5wcm90b3R5cGUuc3BsaWNlID0gQXJyYXkucHJvdG90eXBlLnNwbGljZTsKeCA9IHt9Owp2YXIgYXJyID0geC5zcGxpY2UoMCwxKTsKCi8vQ0hFQ0sjNgppZiAoYXJyLmxlbmd0aCAhPT0gMSkgeyAgCiAgJEVSUk9SKCcjNjogT2JqZWN0LnByb3RvdHlwZVswXSA9IC0xOyBPYmplY3QucHJvdG90eXBlLmxlbmd0aCA9IDE7IE9iamVjdC5wcm90b3R5cGUuc3BsaWNlID0gQXJyYXkucHJvdG90eXBlLnNwbGljZTsgeCA9IHt9OyB2YXIgYXJyID0geC5zcGxpY2UoMCwxKTsgYXJyLmxlbmd0aCA9PT0gMS4gQWN0dWFsOiAnICsgKGFyci5sZW5ndGgpKTsgICAgCn0KCi8vQ0hFQ0sjNwppZiAoYXJyWzBdICE9PSAtMSkgeyAgCiAgJEVSUk9SKCcjNzogT2JqZWN0LnByb3RvdHlwZVswXSA9IC0xOyBPYmplY3QucHJvdG90eXBlLmxlbmd0aCA9IDE7IE9iamVjdC5wcm90b3R5cGUuc3BsaWNlID0gQXJyYXkucHJvdG90eXBlLnNwbGljZTsgeCA9IHt9OyB2YXIgYXJyID0geC5zcGxpY2UoMCwxKTsgYXJyWzBdID09PSAtMS4gQWN0dWFsOiAnICsgKGFyclswXSkpOyAgICAKfQoKZGVsZXRlIGFyclswXTsKCi8vQ0hFQ0sjOAppZiAoYXJyWzBdICE9PSAtMSkgeyAgCiAgJEVSUk9SKCcjODogT2JqZWN0LnByb3RvdHlwZVswXSA9IC0xOyBPYmplY3QucHJvdG90eXBlLmxlbmd0aCA9IDE7IE9iamVjdC5wcm90b3R5cGUuc3BsaWNlID0gQXJyYXkucHJvdG90eXBlLnNwbGljZTsgeCA9IHt9OyB2YXIgYXJyID0geC5zcGxpY2UoMCwxKTsgZGVsZXRlIGFyclswXTsgYXJyWzBdID09PSAtMS4gQWN0dWFsOiAnICsgKGFyclswXSkpOyAgICAKfQoKLy9DSEVDSyM5CmlmICh4Lmxlbmd0aCAhPT0gMCkgeyAgCiAgJEVSUk9SKCcjOTogT2JqZWN0LnByb3RvdHlwZVswXSA9IC0xOyBPYmplY3QucHJvdG90eXBlLmxlbmd0aCA9IDE7IE9iamVjdC5wcm90b3R5cGUuc3BsaWNlID0gQXJyYXkucHJvdG90eXBlLnNwbGljZTsgeCA9IHt9OyB2YXIgYXJyID0geC5zcGxpY2UoMCwxKTsgeC5sZW5ndGggPT09IDAuIEFjdHVhbDogJyArICh4Lmxlbmd0aCkpOyAgICAKfQoKLy9DSEVDSyMxMAppZiAoeFswXSAhPT0gLTEpIHsgIAogICRFUlJPUignIzEwOiBPYmplY3QucHJvdG90eXBlWzBdID0gLTE7IE9iamVjdC5wcm90b3R5cGUubGVuZ3RoID0gMTsgT2JqZWN0LnByb3RvdHlwZS5zcGxpY2UgPSBBcnJheS5wcm90b3R5cGUuc3BsaWNlOyB4ID0ge307IHZhciBhcnIgPSB4LnNwbGljZSgwLDEpOyB4WzBdID09PSAtMS4gQWN0dWFsOiAnICsgKHhbMF0pKTsgICAgCn0KCg==","commentary":"[[Get]] from not an inherited property","description":"[[Prototype]] of Array instance is Array.prototype, [[Prototype] of Array.prototype is Object.prototype","path":"TestCases/ch15/15.4/15.4.4/15.4.4.12/S15.4.4.12_A4_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgbGVuZ3RoIHByb3BlcnR5IG9mIHNwbGljZSBoYXMgdGhlIGF0dHJpYnV0ZSBEb250RW51bQogKgogKiBAcGF0aCBjaDE1LzE1LjQvMTUuNC40LzE1LjQuNC4xMi9TMTUuNC40LjEyX0E1LjEuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIHVzZSBwcm9wZXJ0eUlzRW51bWVyYWJsZSwgZm9yLWluCiAqLwoKLy9DSEVDSyMxCmlmIChBcnJheS5wcm90b3R5cGUuc3BsaWNlLnByb3BlcnR5SXNFbnVtZXJhYmxlKCdsZW5ndGgnKSAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyMxOiBBcnJheS5wcm90b3R5cGUuc3BsaWNlLnByb3BlcnR5SXNFbnVtZXJhYmxlKFwnbGVuZ3RoXCcpID09PSBmYWxzZS4gQWN0dWFsOiAnICsgKEFycmF5LnByb3RvdHlwZS5zcGxpY2UucHJvcGVydHlJc0VudW1lcmFibGUoJ2xlbmd0aCcpKSk7Cn0KCi8vQ0hFQ0sjMgp2YXIgcmVzdWx0ID0gdHJ1ZTsKZm9yICh2YXIgcCBpbiBBcnJheS5zcGxpY2UpewogIGlmIChwID09PSAibGVuZ3RoIikgewogICAgcmVzdWx0ID0gZmFsc2U7CiAgfSAgCn0KCmlmIChyZXN1bHQgIT09IHRydWUpIHsKICAkRVJST1IoJyMyOiByZXN1bHQgPSB0cnVlOyBmb3IgKHAgaW4gQXJyYXkuc3BsaWNlKSB7IGlmIChwID09PSAibGVuZ3RoIikgcmVzdWx0ID0gZmFsc2U7IH0gIHJlc3VsdCA9PT0gdHJ1ZTsnKTsKfQoKCg==","commentary":"The length property of splice has the attribute DontEnum","description":"Checking use propertyIsEnumerable, for-in","path":"TestCases/ch15/15.4/15.4.4/15.4.4.12/S15.4.4.12_A5.1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgbGVuZ3RoIHByb3BlcnR5IG9mIHNwbGljZSBoYXMgdGhlIGF0dHJpYnV0ZSBEb250RGVsZXRlCiAqCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjEyL1MxNS40LjQuMTJfQTUuMi5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgdXNlIGhhc093blByb3BlcnR5LCBkZWxldGUKICogQG5vU3RyaWN0CiAqLwoKLy9DSEVDSyMxCmlmIChBcnJheS5wcm90b3R5cGUuc3BsaWNlLmhhc093blByb3BlcnR5KCdsZW5ndGgnKSAhPT0gdHJ1ZSkgewogICRGQUlMKCcjMTogQXJyYXkucHJvdG90eXBlLnNwbGljZS5oYXNPd25Qcm9wZXJ0eShcJ2xlbmd0aFwnKSA9PT0gdHJ1ZS4gQWN0dWFsOiAnICsgKEFycmF5LnByb3RvdHlwZS5zcGxpY2UuaGFzT3duUHJvcGVydHkoJ2xlbmd0aCcpKSk7Cn0KCmRlbGV0ZSBBcnJheS5wcm90b3R5cGUuc3BsaWNlLmxlbmd0aDsKCi8vQ0hFQ0sjMgppZiAoQXJyYXkucHJvdG90eXBlLnNwbGljZS5oYXNPd25Qcm9wZXJ0eSgnbGVuZ3RoJykgIT09IHRydWUpIHsKICAkRVJST1IoJyMyOiBkZWxldGUgQXJyYXkucHJvdG90eXBlLnNwbGljZS5sZW5ndGg7IEFycmF5LnByb3RvdHlwZS5zcGxpY2UuaGFzT3duUHJvcGVydHkoXCdsZW5ndGhcJykgPT09IHRydWUuIEFjdHVhbDogJyArIChBcnJheS5wcm90b3R5cGUuc3BsaWNlLmhhc093blByb3BlcnR5KCdsZW5ndGgnKSkpOwp9CgovL0NIRUNLIzMKaWYgKEFycmF5LnByb3RvdHlwZS5zcGxpY2UubGVuZ3RoID09PSB1bmRlZmluZWQpIHsKICAkRVJST1IoJyMzOiBkZWxldGUgQXJyYXkucHJvdG90eXBlLnNwbGljZS5sZW5ndGg7IEFycmF5LnByb3RvdHlwZS5zcGxpY2UubGVuZ3RoICE9PSB1bmRlZmluZWQnKTsKfQoKCgo=","commentary":"The length property of splice has the attribute DontDelete","description":"Checking use hasOwnProperty, delete","noStrict":"","path":"TestCases/ch15/15.4/15.4.4/15.4.4.12/S15.4.4.12_A5.2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgbGVuZ3RoIHByb3BlcnR5IG9mIHNwbGljZSBoYXMgdGhlIGF0dHJpYnV0ZSBSZWFkT25seQogKgogKiBAcGF0aCBjaDE1LzE1LjQvMTUuNC40LzE1LjQuNC4xMi9TMTUuNC40LjEyX0E1LjMuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIHZhcnlpbmcgdGhlIGxlbmd0aCBwcm9wZXJ0eSBmYWlscwogKiBAbm9TdHJpY3QKICovCgovL0NIRUNLIzEKdmFyIHggPSBBcnJheS5wcm90b3R5cGUuc3BsaWNlLmxlbmd0aDsKQXJyYXkucHJvdG90eXBlLnNwbGljZS5sZW5ndGggPSBJbmZpbml0eTsKaWYgKEFycmF5LnByb3RvdHlwZS5zcGxpY2UubGVuZ3RoICE9PSB4KSB7CiAgJEVSUk9SKCcjMTogeCA9IEFycmF5LnByb3RvdHlwZS5zcGxpY2UubGVuZ3RoOyBBcnJheS5wcm90b3R5cGUuc3BsaWNlLmxlbmd0aCA9IEluZmluaXR5OyBBcnJheS5wcm90b3R5cGUuc3BsaWNlLmxlbmd0aCA9PT0geC4gQWN0dWFsOiAnICsgKEFycmF5LnByb3RvdHlwZS5zcGxpY2UubGVuZ3RoKSk7Cn0KCgo=","commentary":"The length property of splice has the attribute ReadOnly","description":"Checking if varying the length property fails","noStrict":"","path":"TestCases/ch15/15.4/15.4.4/15.4.4.12/S15.4.4.12_A5.3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgbGVuZ3RoIHByb3BlcnR5IG9mIHNwbGljZSBpcyAyCiAqCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjEyL1MxNS40LjQuMTJfQTUuNC5qcwogKiBAZGVzY3JpcHRpb24gc3BsaWNlLmxlbmd0aCA9PT0gMQogKi8KCi8vQ0hFQ0sjMQppZiAoQXJyYXkucHJvdG90eXBlLnNwbGljZS5sZW5ndGggIT09IDIpIHsKICAkRVJST1IoJyMxOiBBcnJheS5wcm90b3R5cGUuc3BsaWNlLmxlbmd0aCA9PT0gMi4gQWN0dWFsOiAnICsgKEFycmF5LnByb3RvdHlwZS5zcGxpY2UubGVuZ3RoKSk7Cn0KCgo=","commentary":"The length property of splice is 2","description":"splice.length === 1","path":"TestCases/ch15/15.4/15.4.4/15.4.4.12/S15.4.4.12_A5.4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgc3BsaWNlIHByb3BlcnR5IG9mIEFycmF5IGhhcyB0aGUgYXR0cmlidXRlIERvbnRFbnVtCiAqCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjEyL1MxNS40LjQuMTJfQTUuNS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgdXNlIHByb3BlcnR5SXNFbnVtZXJhYmxlLCBmb3ItaW4KICovCgovL0NIRUNLIzEKaWYgKEFycmF5LnByb3BlcnR5SXNFbnVtZXJhYmxlKCdzcGxpY2UnKSAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyMxOiBBcnJheS5wcm9wZXJ0eUlzRW51bWVyYWJsZShcJ3NwbGljZVwnKSA9PT0gZmFsc2UuIEFjdHVhbDogJyArIChBcnJheS5wcm9wZXJ0eUlzRW51bWVyYWJsZSgnc3BsaWNlJykpKTsKfQoKLy9DSEVDSyMyCnZhciByZXN1bHQgPSB0cnVlOwpmb3IgKHZhciBwIGluIEFycmF5KXsKICBpZiAocCA9PT0gInNwbGljZSIpIHsKICAgIHJlc3VsdCA9IGZhbHNlOwogIH0gIAp9CgppZiAocmVzdWx0ICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMjogcmVzdWx0ID0gdHJ1ZTsgZm9yIChwIGluIEFycmF5KSB7IGlmIChwID09PSAic3BsaWNlIikgcmVzdWx0ID0gZmFsc2U7IH0gIHJlc3VsdCA9PT0gdHJ1ZTsnKTsKfQoKCg==","commentary":"The splice property of Array has the attribute DontEnum","description":"Checking use propertyIsEnumerable, for-in","path":"TestCases/ch15/15.4/15.4.4/15.4.4.12/S15.4.4.12_A5.5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgc3BsaWNlIHByb3BlcnR5IG9mIEFycmF5IGhhcyBub3QgcHJvdG90eXBlIHByb3BlcnR5CiAqCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjEyL1MxNS40LjQuMTJfQTUuNi5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgQXJyYXkucHJvdG90eXBlLnNwbGljZS5wcm90b3R5cGUKICovCgovL0NIRUNLIzEKaWYgKEFycmF5LnByb3RvdHlwZS5zcGxpY2UucHJvdG90eXBlICE9PSB1bmRlZmluZWQpIHsKICAkRVJST1IoJyMxOiBBcnJheS5wcm90b3R5cGUuc3BsaWNlLnByb3RvdHlwZSA9PT0gdW5kZWZpbmVkLiBBY3R1YWw6ICcgKyAoQXJyYXkucHJvdG90eXBlLnNwbGljZS5wcm90b3R5cGUpKTsKfQoK","commentary":"The splice property of Array has not prototype property","description":"Checking Array.prototype.splice.prototype","path":"TestCases/ch15/15.4/15.4.4/15.4.4.12/S15.4.4.12_A5.6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgc3BsaWNlIHByb3BlcnR5IG9mIEFycmF5IGNhbid0IGJlIHVzZWQgYXMgY29uc3RydWN0b3IKICoKICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTIvUzE1LjQuNC4xMl9BNS43LmpzCiAqIEBkZXNjcmlwdGlvbiBJZiBwcm9wZXJ0eSBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGludGVybmFsIFtbQ29uc3RydWN0XV0gbWV0aG9kLCB0aHJvdyBhIFR5cGVFcnJvciBleGNlcHRpb24KICovCgovL0NIRUNLIzEKCnRyeSB7CiAgbmV3IEFycmF5LnByb3RvdHlwZS5zcGxpY2UoKTsKICAkRVJST1IoJyMxLjE6IG5ldyBBcnJheS5wcm90b3R5cGUuc3BsaWNlKCkgdGhyb3cgVHlwZUVycm9yLiBBY3R1YWw6ICcgKyAobmV3IEFycmF5LnByb3RvdHlwZS5zcGxpY2UoKSkpOwp9IGNhdGNoIChlKSB7CiAgaWYgKChlIGluc3RhbmNlb2YgVHlwZUVycm9yKSAhPT0gdHJ1ZSkgewogICAgJEVSUk9SKCcjMS4yOiBuZXcgQXJyYXkucHJvdG90eXBlLnNwbGljZSgpIHRocm93IFR5cGVFcnJvci4gQWN0dWFsOiAnICsgKGUpKTsKICB9Cn0KCg==","commentary":"The splice property of Array can't be used as constructor","description":"If property does not implement the internal [[Construct]] method, throw a TypeError exception","path":"TestCases/ch15/15.4/15.4.4/15.4.4.12/S15.4.4.12_A5.7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgYXJndW1lbnRzIGFyZSBwcmVwZW5kZWQgdG8gdGhlIHN0YXJ0IG9mIHRoZSBhcnJheSwgc3VjaCB0aGF0CiAqIHRoZWlyIG9yZGVyIHdpdGhpbiB0aGUgYXJyYXkgaXMgdGhlIHNhbWUgYXMgdGhlIG9yZGVyIGluIHdoaWNoIHRoZXkgYXBwZWFyIGluCiAqIHRoZSBhcmd1bWVudCBsaXN0CiAqCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjEzL1MxNS40LjQuMTNfQTFfVDEuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGNhc2Ugd2hlbiB1bnNpZnQgaXMgZ2l2ZW4gbm8gYXJndW1lbnRzIG9yIG9uZSBhcmd1bWVudAogKi8KCi8vQ0hFQ0sjMQp2YXIgeCA9IG5ldyBBcnJheSgpOwp2YXIgdW5zaGlmdCA9IHgudW5zaGlmdCgxKTsKaWYgKHVuc2hpZnQgIT09IDEpIHsKICAkRVJST1IoJyMxOiB4ID0gbmV3IEFycmF5KCk7IHgudW5zaGlmdCgxKSA9PT0gMS4gQWN0dWFsOiAnICsgKHVuc2hpZnQpKTsKfSAgCgovL0NIRUNLIzIKaWYgKHhbMF0gIT09IDEpIHsKICAkRVJST1IoJyMyOiB4ID0gbmV3IEFycmF5KCk7IHgudW5zaGlmdCgxKTsgeFswXSA9PT0gMS4gQWN0dWFsOiAnICsgKHhbMF0pKTsKfQoKLy9DSEVDSyMzCnZhciB1bnNoaWZ0ID0geC51bnNoaWZ0KCk7CmlmICh1bnNoaWZ0ICE9PSAxKSB7CiAgJEVSUk9SKCcjMzogeCA9IG5ldyBBcnJheSgpOyB4LnVuc2hpZnQoMSk7IHgudW5zaGlmdCgpID09PSAxLiBBY3R1YWw6ICcgKyAodW5zaGlmdCkpOwp9CgovL0NIRUNLIzQKaWYgKHhbMV0gIT09IHVuZGVmaW5lZCkgewogICRFUlJPUignIzQ6IHggPSBuZXcgQXJyYXkoKTsgeC51bnNoaWZ0KDEpOyB4LnVuc2hpZnQoKTsgeFsxXSA9PT0gdW5lZGZpbmVkLiBBY3R1YWw6ICcgKyAoeFsxXSkpOwp9CgovL0NIRUNLIzUKdmFyIHVuc2hpZnQgPSB4LnVuc2hpZnQoLTEpOwppZiAodW5zaGlmdCAhPT0gMikgewogICRFUlJPUignIzU6IHggPSBuZXcgQXJyYXkoKTsgeC51bnNoaWZ0KDEpOyB4LnVuc2hpZnQoKTsgeC51bnNoaWZ0KC0xKSA9PT0gMi4gQWN0dWFsOiAnICsgKHVuc2hpZnQpKTsKfQoKLy9DSEVDSyM2CmlmICh4WzBdICE9PSAtMSkgewogICRFUlJPUignIzY6IHggPSBuZXcgQXJyYXkoKTsgeC51bnNoaWZ0KDEpOyB4LnVuc2hpZnQoLTEpOyB4WzBdID09PSAtMS4gQWN0dWFsOiAnICsgKHhbMF0pKTsKfQoKLy9DSEVDSyM3CmlmICh4WzFdICE9PSAxKSB7CiAgJEVSUk9SKCcjNzogeCA9IG5ldyBBcnJheSgpOyB4LnVuc2hpZnQoMSk7IHgudW5zaGlmdCgtMSk7IHhbMV0gPT09IDEuIEFjdHVhbDogJyArICh4WzFdKSk7Cn0KCi8vQ0hFQ0sjOAppZiAoeC5sZW5ndGggIT09IDIpIHsKICAkRVJST1IoJyM4OiB4ID0gbmV3IEFycmF5KCk7IHgudW5zaGlmdCgxKTsgeC51bnNoaWZ0KCk7IHgudW5zaGlmdCgtMSk7IHgubGVuZ3RoID09PSAyLiBBY3R1YWw6ICcgKyAoeC5sZW5ndGgpKTsKfSAKCg==","commentary":"The arguments are prepended to the start of the array, such that\ntheir order within the array is the same as the order in which they appear in\nthe argument list","description":"Checking case when unsift is given no arguments or one argument","path":"TestCases/ch15/15.4/15.4.4/15.4.4.13/S15.4.4.13_A1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgYXJndW1lbnRzIGFyZSBwcmVwZW5kZWQgdG8gdGhlIHN0YXJ0IG9mIHRoZSBhcnJheSwgc3VjaCB0aGF0CiAqIHRoZWlyIG9yZGVyIHdpdGhpbiB0aGUgYXJyYXkgaXMgdGhlIHNhbWUgYXMgdGhlIG9yZGVyIGluIHdoaWNoIHRoZXkgYXBwZWFyIGluCiAqIHRoZSBhcmd1bWVudCBsaXN0CiAqCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjEzL1MxNS40LjQuMTNfQTFfVDIuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGNhc2Ugd2hlbiB1bnNpZnQgaXMgZ2l2ZW4gbWFueSBhcmd1bWVudHMKICovCgovL0NIRUNLIzEKdmFyIHggPSBbXTsKaWYgKHgubGVuZ3RoICE9PSAwKSB7CiAgJEVSUk9SKCcjMTogeCA9IFtdOyB4Lmxlbmd0aCA9PT0gMC4gQWN0dWFsOiAnICsgKHgubGVuZ3RoKSk7Cn0KCi8vQ0hFQ0sjMgp4WzBdID0gMDsKdmFyIHVuc2hpZnQgPSB4LnVuc2hpZnQodHJ1ZSwgTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZLCAiTmFOIiwgIjEiLCAtMSk7CmlmICh1bnNoaWZ0ICE9PSA2KSB7CiAgJEVSUk9SKCcjMjogeCA9IFtdOyB4WzBdID0gMDsgeC51bnNoaWZ0KHRydWUsIE51bWJlci5QT1NJVElWRV9JTkZJTklUWSwgIk5hTiIsICIxIiwgLTEpID09PSA2LiBBY3R1YWw6ICcgKyAodW5zaGlmdCkpOwp9ICAKCi8vQ0hFQ0sjMwppZiAoeFs1XSAhPT0gMCkgewogICRFUlJPUignIzM6IHggPSBbXTsgeFswXSA9IDA7IHgudW5zaGlmdCh0cnVlLCBOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFksICJOYU4iLCAiMSIsIC0xKTsgeFs1XSA9PT0gMC4gQWN0dWFsOiAnICsgKHhbNV0pKTsKfQoKLy9DSEVDSyM0CmlmICh4WzBdICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjNDogeCA9IFtdOyB4WzBdID0gMDsgeC51bnNoaWZ0KHRydWUsIE51bWJlci5QT1NJVElWRV9JTkZJTklUWSwgIk5hTiIsICIxIiwgLTEpOyB4WzBdID09PSB0cnVlLiBBY3R1YWw6ICcgKyAoeFswXSkpOwp9CgovL0NIRUNLIzUKaWYgKHhbMV0gIT09IE51bWJlci5QT1NJVElWRV9JTkZJTklUWSkgewogICRFUlJPUignIzU6IHggPSBbXTsgeFswXSA9IDA7IHgudW5zaGlmdCh0cnVlLCBOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFksICJOYU4iLCAiMSIsIC0xKTsgeFsxXSA9PT0gTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZLiBBY3R1YWw6ICcgKyAoeFsxXSkpOwp9ICAKCi8vQ0hFQ0sjNgppZiAoeFsyXSAhPT0gIk5hTiIpIHsKICAkRVJST1IoJyM2OiB4ID0gW107IHhbMF0gPSAwOyB4LnVuc2hpZnQodHJ1ZSwgTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZLCAiTmFOIiwgIjEiLCAtMSk7IHhbMl0gPT09ICJOYU4iLiBBY3R1YWw6ICcgKyAoeFsyXSkpOwp9IAoKLy9DSEVDSyM3CmlmICh4WzNdICE9PSAiMSIpIHsKICAkRVJST1IoJyM3OiB4ID0gW107IHhbMF0gPSAwOyB4LnVuc2hpZnQodHJ1ZSwgTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZLCAiTmFOIiwgIjEiLCAtMSk7IHhbM10gPT09ICIxIi4gQWN0dWFsOiAnICsgKHhbM10pKTsKfQoKLy9DSEVDSyM4CmlmICh4WzRdICE9PSAtMSkgewogICRFUlJPUignIzg6IHggPSBbXTsgeFswXSA9IDA7IHgudW5zaGlmdCh0cnVlLCBOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFksICJOYU4iLCAiMSIsIC0xKTsgeFs0XSA9PT0gLTEuIEFjdHVhbDogJyArICh4WzRdKSk7Cn0KCi8vQ0hFQ0sjOQppZiAoeC5sZW5ndGggIT09IDYpIHsKICAkRVJST1IoJyM5OiB4ID0gW107IHhbMF0gPSAwOyB4LnVuc2hpZnQodHJ1ZSwgTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZLCAiTmFOIiwgIjEiLCAtMSk7IHgubGVuZ3RoID09PSA2LiBBY3R1YWw6ICcgKyAoeC5sZW5ndGgpKTsKfQoK","commentary":"The arguments are prepended to the start of the array, such that\ntheir order within the array is the same as the order in which they appear in\nthe argument list","description":"Checking case when unsift is given many arguments","path":"TestCases/ch15/15.4/15.4.4/15.4.4.13/S15.4.4.13_A1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgdW5zaGlmdCBmdW5jdGlvbiBpcyBpbnRlbnRpb25hbGx5IGdlbmVyaWMuCiAqIEl0IGRvZXMgbm90IHJlcXVpcmUgdGhhdCBpdHMgdGhpcyB2YWx1ZSBiZSBhbiBBcnJheSBvYmplY3QKICoKICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTMvUzE1LjQuNC4xM19BMl9UMS5qcwogKiBAZGVzY3JpcHRpb24gVGhlIGFyZ3VtZW50cyBhcmUgcHJlcGVuZGVkIHRvIHRoZSBzdGFydCBvZiB0aGUgYXJyYXksIHN1Y2ggdGhhdAogKiB0aGVpciBvcmRlciB3aXRoaW4gdGhlIGFycmF5IGlzIHRoZSBzYW1lIGFzIHRoZSBvcmRlciBpbiB3aGljaCB0aGV5IGFwcGVhciBpbgogKiB0aGUgYXJndW1lbnQgbGlzdAogKi8KCnZhciBvYmogPSB7fTsKb2JqLnVuc2hpZnQgPSBBcnJheS5wcm90b3R5cGUudW5zaGlmdDsKCmlmIChvYmoubGVuZ3RoICE9PSB1bmRlZmluZWQpIHsKICAkRVJST1IoJyMwOiB2YXIgb2JqID0ge307IG9iai5sZW5ndGggPT09IHVuZGVmaW5lZC4gQWN0dWFsOiAnICsgKG9iai5sZW5ndGgpKTsKfSBlbHNlIHsKICAgIC8vQ0hFQ0sjMQogICAgdmFyIHVuc2hpZnQgPSBvYmoudW5zaGlmdCgtMSk7ICAKICAgIGlmICh1bnNoaWZ0ICE9PSAxKSB7CiAgICAgICRFUlJPUignIzE6IHZhciBvYmogPSB7fTsgb2JqLnVuc2hpZnQgPSBBcnJheS5wcm90b3R5cGUudW5zaGlmdDsgb2JqLnVuc2hpZnQoLTEpID09PSAxLiBBY3R1YWw6ICcgKyAodW5zaGlmdCkpOwogICAgfQogICAgLy9DSEVDSyMyCiAgICBpZiAob2JqLmxlbmd0aCAhPT0gMSkgewogICAgICAkRVJST1IoJyMyOiB2YXIgb2JqID0ge307IG9iai51bnNoaWZ0ID0gQXJyYXkucHJvdG90eXBlLnVuc2hpZnQ7IG9iai51bnNoaWZ0KC0xKTsgb2JqLmxlbmd0aCA9PT0gMS4gQWN0dWFsOiAnICsgKG9iai5sZW5ndGgpKTsKICAgIH0KICAgIC8vQ0hFQ0sjMwogICAgaWYgKG9ialsiMCJdICE9PSAtMSkgewogICAgICAkRVJST1IoJyMzOiB2YXIgb2JqID0ge307IG9iai51bnNoaWZ0ID0gQXJyYXkucHJvdG90eXBlLnVuc2hpZnQ7IG9iai51bnNoaWZ0KC0xKTsgb2JqWyIwIl0gPT09IC0xLiBBY3R1YWw6ICcgKyAob2JqWyIwIl0pKTsKICAgIH0KfSAKCi8vQ0hFQ0sjNApvYmoubGVuZ3RoID0gdW5kZWZpbmVkOwp2YXIgdW5zaGlmdCA9IG9iai51bnNoaWZ0KC00KTsKaWYgKHVuc2hpZnQgIT09IDEpIHsKICAkRVJST1IoJyM0OiB2YXIgb2JqID0ge307IG9iai5sZW5ndGggPSB1bmRlZmluZWQ7IG9iai51bnNoaWZ0ID0gQXJyYXkucHJvdG90eXBlLnVuc2hpZnQ7IG9iai51bnNoaWZ0KC00KSA9PT0gMS4gQWN0dWFsOiAnICsgKHVuc2hpZnQpKTsKfSAKCi8vQ0hFQ0sjNQppZiAob2JqLmxlbmd0aCAhPT0gMSkgewogICRFUlJPUignIzU6IHZhciBvYmogPSB7fTsgb2JqLmxlbmd0aCA9IHVuZGVmaW5lZDsgb2JqLnVuc2hpZnQgPSBBcnJheS5wcm90b3R5cGUudW5zaGlmdDsgb2JqLnVuc2hpZnQoLTQpOyBvYmoubGVuZ3RoID09PSAxLiBBY3R1YWw6ICcgKyAob2JqLmxlbmd0aCkpOwp9CgovL0NIRUNLIzYKaWYgKG9ialsiMCJdICE9PSAtNCkgewogICRFUlJPUignIzY6IHZhciBvYmogPSB7fTsgb2JqLmxlbmd0aCA9IHVuZGVmaW5lZDsgb2JqLnVuc2hpZnQgPSBBcnJheS5wcm90b3R5cGUudW5zaGlmdDsgb2JqLnVuc2hpZnQoLTQpOyBvYmpbIjAiXSA9PT0gLTQuIEFjdHVhbDogJyArIChvYmpbIjAiXSkpOwp9CgovL0NIRUNLIzcKb2JqLmxlbmd0aCA9IG51bGwKdmFyIHVuc2hpZnQgPSBvYmoudW5zaGlmdCgtNyk7CmlmICh1bnNoaWZ0ICE9PSAxKSB7CiAgJEVSUk9SKCcjNzogdmFyIG9iaiA9IHt9OyBvYmoubGVuZ3RoID0gbnVsbDsgb2JqLnVuc2hpZnQgPSBBcnJheS5wcm90b3R5cGUudW5zaGlmdDsgb2JqLnVuc2hpZnQoLTcpID09PSAxLiBBY3R1YWw6ICcgKyAodW5zaGlmdCkpOwp9IAoKLy9DSEVDSyM4CmlmIChvYmoubGVuZ3RoICE9PSAxKSB7CiAgJEVSUk9SKCcjODogdmFyIG9iaiA9IHt9OyBvYmoubGVuZ3RoID0gbnVsbDsgb2JqLnVuc2hpZnQgPSBBcnJheS5wcm90b3R5cGUudW5zaGlmdDsgb2JqLnVuc2hpZnQoLTcpOyBvYmoubGVuZ3RoID09PSAxLiBBY3R1YWw6ICcgKyAob2JqLmxlbmd0aCkpOwp9CgovL0NIRUNLIzkKaWYgKG9ialsiMCJdICE9PSAtNykgewogICRFUlJPUignIzk6IHZhciBvYmogPSB7fTsgb2JqLmxlbmd0aCA9IG51bGw7IG9iai51bnNoaWZ0ID0gQXJyYXkucHJvdG90eXBlLnVuc2hpZnQ7IG9iai51bnNoaWZ0KC03KTsgb2JqWyIwIl0gPT09IC03LiBBY3R1YWw6ICcgKyAob2JqWyIwIl0pKTsKfQoK","commentary":"The unshift function is intentionally generic.\nIt does not require that its this value be an Array object","description":"The arguments are prepended to the start of the array, such that\ntheir order within the array is the same as the order in which they appear in\nthe argument list","path":"TestCases/ch15/15.4/15.4.4/15.4.4.13/S15.4.4.13_A2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgdW5zaGlmdCBmdW5jdGlvbiBpcyBpbnRlbnRpb25hbGx5IGdlbmVyaWMuCiAqIEl0IGRvZXMgbm90IHJlcXVpcmUgdGhhdCBpdHMgdGhpcyB2YWx1ZSBiZSBhbiBBcnJheSBvYmplY3QKICoKICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTMvUzE1LjQuNC4xM19BMl9UMi5qcwogKiBAZGVzY3JpcHRpb24gVGhlIGFyZ3VtZW50cyBhcmUgcHJlcGVuZGVkIHRvIHRoZSBzdGFydCBvZiB0aGUgYXJyYXksIHN1Y2ggdGhhdAogKiB0aGVpciBvcmRlciB3aXRoaW4gdGhlIGFycmF5IGlzIHRoZSBzYW1lIGFzIHRoZSBvcmRlciBpbiB3aGljaCB0aGV5IGFwcGVhciBpbgogKiB0aGUgYXJndW1lbnQgbGlzdAogKi8KCnZhciBvYmogPSB7fTsKb2JqLnVuc2hpZnQgPSBBcnJheS5wcm90b3R5cGUudW5zaGlmdDsKCi8vQ0hFQ0sjMQpvYmoubGVuZ3RoID0gTmFOOwp2YXIgdW5zaGlmdCA9IG9iai51bnNoaWZ0KC0xKTsKaWYgKHVuc2hpZnQgIT09IDEpIHsKICAkRVJST1IoJyMxOiB2YXIgb2JqID0ge307IG9iai5sZW5ndGggPSBOYU47IG9iai51bnNoaWZ0ID0gQXJyYXkucHJvdG90eXBlLnVuc2hpZnQ7IG9iai51bnNoaWZ0KC0xKSA9PT0gMS4gQWN0dWFsOiAnICsgKHVuc2hpZnQpKTsKfQoKLy9DSEVDSyMyCmlmIChvYmoubGVuZ3RoICE9PSAxKSB7CiAgJEVSUk9SKCcjMjogdmFyIG9iaiA9IHt9OyBvYmoubGVuZ3RoID0gTmFOOyBvYmoudW5zaGlmdCA9IEFycmF5LnByb3RvdHlwZS51bnNoaWZ0OyBvYmoudW5zaGlmdCgtMSk7IG9iai5sZW5ndGggPT09IDEuIEFjdHVhbDogJyArIChvYmoubGVuZ3RoKSk7Cn0KCi8vQ0hFQ0sjMwppZiAob2JqWyIwIl0gIT09IC0xKSB7CiAgJEVSUk9SKCcjMzogdmFyIG9iaiA9IHt9OyBvYmoubGVuZ3RoID0gTmFOOyBvYmoudW5zaGlmdCA9IEFycmF5LnByb3RvdHlwZS51bnNoaWZ0OyBvYmoudW5zaGlmdCgtMSk7IG9ialsiMCJdID09PSAtMS4gQWN0dWFsOiAnICsgKG9ialsiMCJdKSk7Cn0KCi8vQ0hFQ0sjNApvYmoubGVuZ3RoID0gTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZOwp2YXIgdW5zaGlmdCA9IG9iai51bnNoaWZ0KC00KTsKaWYgKHVuc2hpZnQgIT09IDEpIHsKICAkRVJST1IoJyM0OiB2YXIgb2JqID0ge307IG9iai5sZW5ndGggPSBOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFk7IG9iai51bnNoaWZ0ID0gQXJyYXkucHJvdG90eXBlLnVuc2hpZnQ7IG9iai51bnNoaWZ0KC00KSA9PT0gMS4gQWN0dWFsOiAnICsgKHVuc2hpZnQpKTsKfQoKLy9DSEVDSyM1CmlmIChvYmoubGVuZ3RoICE9PSAxKSB7CiAgJEVSUk9SKCcjNjogdmFyIG9iaiA9IHt9OyBvYmoubGVuZ3RoID0gTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZOyBvYmoudW5zaGlmdCA9IEFycmF5LnByb3RvdHlwZS51bnNoaWZ0OyBvYmoudW5zaGlmdCgtNCk7IG9iai5sZW5ndGggPT09IDEuIEFjdHVhbDogJyArIChvYmoubGVuZ3RoKSk7Cn0KCi8vQ0hFQ0sjNgppZiAob2JqWyIwIl0gIT09IC00KSB7CiAgJEVSUk9SKCcjNjogdmFyIG9iaiA9IHt9OyBvYmoubGVuZ3RoID0gTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZOyBvYmoudW5zaGlmdCA9IEFycmF5LnByb3RvdHlwZS51bnNoaWZ0OyBvYmoudW5zaGlmdCgtNCk7IG9ialsiMCJdID09PSAtNC4gQWN0dWFsOiAnICsgKG9ialsiMCJdKSk7Cn0KCi8vQ0hFQ0sjNwpvYmoubGVuZ3RoID0gTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZOwp2YXIgdW5zaGlmdCA9IG9iai51bnNoaWZ0KC03KTsKaWYgKHVuc2hpZnQgIT09IDEpIHsKICAkRVJST1IoJyM3OiB2YXIgb2JqID0ge307IG9iai5sZW5ndGggPSBOdW1iZXIuTkVHQVRJVkVfSU5GSU5JVFk7IG9iai51bnNoaWZ0ID0gQXJyYXkucHJvdG90eXBlLnVuc2hpZnQ7IG9iai51bnNoaWZ0KC03KSA9PT0gMS4gQWN0dWFsOiAnICsgKHVuc2hpZnQpKTsKfQoKLy9DSEVDSyM4CmlmIChvYmoubGVuZ3RoICE9PSAxKSB7CiAgJEVSUk9SKCcjODogdmFyIG9iaiA9IHt9OyBvYmoubGVuZ3RoID0gTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZOyBvYmoudW5zaGlmdCA9IEFycmF5LnByb3RvdHlwZS51bnNoaWZ0OyBvYmoudW5zaGlmdCgtNyk7IG9iai5sZW5ndGggPT09IDEuIEFjdHVhbDogJyArIChvYmoubGVuZ3RoKSk7Cn0KCi8vQ0hFQ0sjOQppZiAob2JqWyIwIl0gIT09IC03KSB7CiAgJEVSUk9SKCcjOTogdmFyIG9iaiA9IHt9OyBvYmoubGVuZ3RoID0gTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZOyBvYmoudW5zaGlmdCA9IEFycmF5LnByb3RvdHlwZS51bnNoaWZ0OyBvYmoudW5zaGlmdCgtNyk7IG9ialsiMCJdID09PSAtNy4gQWN0dWFsOiAnICsgKG9ialsiMCJdKSk7Cn0KCi8vQ0hFQ0sjMTAKb2JqLmxlbmd0aCA9IDAuNTsKdmFyIHVuc2hpZnQgPSBvYmoudW5zaGlmdCgtMTApOwppZiAodW5zaGlmdCAhPT0gMSkgewogICRFUlJPUignIzEwOiB2YXIgb2JqID0ge307IG9iai5sZW5ndGggPSAwLjU7IG9iai51bnNoaWZ0ID0gQXJyYXkucHJvdG90eXBlLnVuc2hpZnQ7IG9iai51bnNoaWZ0KC0xMCkgPT09IDEuIEFjdHVhbDogJyArICh1bnNoaWZ0KSk7Cn0KCi8vQ0hFQ0sjMTEKaWYgKG9iai5sZW5ndGggIT09IDEpIHsKICAkRVJST1IoJyMxMTogdmFyIG9iaiA9IHt9OyBvYmoubGVuZ3RoID0gMC41OyBvYmoudW5zaGlmdCA9IEFycmF5LnByb3RvdHlwZS51bnNoaWZ0OyBvYmoudW5zaGlmdCgtMTApOyBvYmoubGVuZ3RoID09PSAxLiBBY3R1YWw6ICcgKyAob2JqLmxlbmd0aCkpOwp9IAoKLy9DSEVDSyMxMgppZiAob2JqWyIwIl0gIT09IC0xMCkgewogICRFUlJPUignIzEyOiB2YXIgb2JqID0ge307IG9iai5sZW5ndGggPSAwLjU7IG9iai51bnNoaWZ0ID0gQXJyYXkucHJvdG90eXBlLnVuc2hpZnQ7IG9iai51bnNoaWZ0KC0xMCk7IG9ialsiMCJdID09PSAtMTAuIEFjdHVhbDogJyArIChvYmpbIjAiXSkpOwp9CgovL0NIRUNLIzEzCm9iai5sZW5ndGggPSAxLjU7CnZhciB1bnNoaWZ0ID0gb2JqLnVuc2hpZnQoLTEzKTsKaWYgKHVuc2hpZnQgIT09IDIpIHsKICAkRVJST1IoJyMxMzogdmFyIG9iaiA9IHt9OyBvYmoubGVuZ3RoID0gMS41OyBvYmoudW5zaGlmdCA9IEFycmF5LnByb3RvdHlwZS51bnNoaWZ0OyBvYmoudW5zaGlmdCgtMTMpID09PSAyLiBBY3R1YWw6ICcgKyAodW5zaGlmdCkpOwp9CgovL0NIRUNLIzE0CmlmIChvYmoubGVuZ3RoICE9PSAyKSB7CiAgJEVSUk9SKCcjMTQ6IHZhciBvYmogPSB7fTsgb2JqLmxlbmd0aCA9IDEuNTsgb2JqLnVuc2hpZnQgPSBBcnJheS5wcm90b3R5cGUudW5zaGlmdDsgb2JqLnVuc2hpZnQoLTEzKTsgb2JqLmxlbmd0aCA9PT0gMi4gQWN0dWFsOiAnICsgKG9iai5sZW5ndGgpKTsKfSAKCi8vQ0hFQ0sjMTUKaWYgKG9ialsiMCJdICE9PSAtMTMpIHsKICAkRVJST1IoJyMxNTogdmFyIG9iaiA9IHt9OyBvYmoubGVuZ3RoID0gMS41OyBvYmoudW5zaGlmdCA9IEFycmF5LnByb3RvdHlwZS51bnNoaWZ0OyBvYmoudW5zaGlmdCgtMTMpOyBvYmpbIjAiXSA9PT0gLTEzLiBBY3R1YWw6ICcgKyAob2JqWyIwIl0pKTsKfQoKLy9DSEVDSyMxNgpvYmoubGVuZ3RoID0gbmV3IE51bWJlcigwKTsKdmFyIHVuc2hpZnQgPSBvYmoudW5zaGlmdCgtMTYpOwppZiAodW5zaGlmdCAhPT0gMSkgewogICRFUlJPUignIzE2OiB2YXIgb2JqID0ge307IG9iai5sZW5ndGggPSBuZXcgTnVtYmVyKDApOyBvYmoudW5zaGlmdCA9IEFycmF5LnByb3RvdHlwZS51bnNoaWZ0OyBvYmoudW5zaGlmdCgtMTYpID09PSAxLiBBY3R1YWw6ICcgKyAodW5zaGlmdCkpOwp9CgovL0NIRUNLIzE3CmlmIChvYmoubGVuZ3RoICE9PSAxKSB7CiAgJEVSUk9SKCcjMTc6IHZhciBvYmogPSB7fTsgb2JqLmxlbmd0aCA9IG5ldyBOdW1iZXIoMCk7IG9iai51bnNoaWZ0ID0gQXJyYXkucHJvdG90eXBlLnVuc2hpZnQ7IG9iai51bnNoaWZ0KC0xNik7IG9iai5sZW5ndGggPT09IDEuIEFjdHVhbDogJyArIChvYmoubGVuZ3RoKSk7Cn0KCi8vQ0hFQ0sjMTgKaWYgKG9ialsiMCJdICE9PSAtMTYpIHsKICAkRVJST1IoJyMxODogdmFyIG9iaiA9IHt9OyBvYmoubGVuZ3RoID0gbmV3IE51bWJlcigwKTsgb2JqLnVuc2hpZnQgPSBBcnJheS5wcm90b3R5cGUudW5zaGlmdDsgb2JqLnVuc2hpZnQoLTE2KTsgb2JqWyIwIl0gPT09IC0xNi4gQWN0dWFsOiAnICsgKG9ialsiMCJdKSk7Cn0gICAKCg==","commentary":"The unshift function is intentionally generic.\nIt does not require that its this value be an Array object","description":"The arguments are prepended to the start of the array, such that\ntheir order within the array is the same as the order in which they appear in\nthe argument list","path":"TestCases/ch15/15.4/15.4.4/15.4.4.13/S15.4.4.13_A2_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgdW5zaGlmdCBmdW5jdGlvbiBpcyBpbnRlbnRpb25hbGx5IGdlbmVyaWMuCiAqIEl0IGRvZXMgbm90IHJlcXVpcmUgdGhhdCBpdHMgdGhpcyB2YWx1ZSBiZSBhbiBBcnJheSBvYmplY3QKICoKICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTMvUzE1LjQuNC4xM19BMl9UMy5qcwogKiBAZGVzY3JpcHRpb24gT3BlcmF0b3IgdXNlIFRvTnVtYmVyIGZyb20gbGVuZ3RoLgogKiBJZiBUeXBlKHZhbHVlKSBpcyBPYmplY3QsIGV2YWx1YXRlIFRvUHJpbWl0aXZlKHZhbHVlLCBOdW1iZXIpCiAqLwoKdmFyIG9iaiA9IHt9OwpvYmoudW5zaGlmdCA9IEFycmF5LnByb3RvdHlwZS51bnNoaWZ0OwoKLy9DSEVDSyMxCm9iai5sZW5ndGggPSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIDN9fTsKdmFyIHVuc2hpZnQgPSBvYmoudW5zaGlmdCgpOwppZiAodW5zaGlmdCAhPT0gMykgewogICRFUlJPUignIzE6ICBvYmoubGVuZ3RoID0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAzfX0gIG9iai51bnNoaWZ0KCkgPT09IDMuIEFjdHVhbDogJyArICh1bnNoaWZ0KSk7Cn0KCi8vQ0hFQ0sjMgpvYmoubGVuZ3RoID0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAzfSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiAxfX07CnZhciB1bnNoaWZ0ID0gb2JqLnVuc2hpZnQoKTsKaWYgKHVuc2hpZnQgIT09IDMpIHsKICAkRVJST1IoJyMwOiAgb2JqLmxlbmd0aCA9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gM30sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gMX19ICBvYmoudW5zaGlmdCgpID09PSAzLiBBY3R1YWw6ICcgKyAodW5zaGlmdCkpOwp9IAoKLy9DSEVDSyMzCm9iai5sZW5ndGggPSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIDN9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIHt9fX07CnZhciB1bnNoaWZ0ID0gb2JqLnVuc2hpZnQoKTsKaWYgKHVuc2hpZnQgIT09IDMpIHsKICAkRVJST1IoJyMxOiAgb2JqLmxlbmd0aCA9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gM30sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4ge319fSAgb2JqLnVuc2hpZnQoKSA9PT0gMy4gQWN0dWFsOiAnICsgKHVuc2hpZnQpKTsKfQoKLy9DSEVDSyM0CnRyeSB7ICAKICBvYmoubGVuZ3RoID0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAzfSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3Rocm93ICJlcnJvciJ9fTsKICB2YXIgdW5zaGlmdCA9IG9iai51bnNoaWZ0KCk7ICAKICBpZiAodW5zaGlmdCAhPT0gMykgewogICAgJEVSUk9SKCcjNC4xOiAgb2JqLmxlbmd0aCA9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gM30sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHt0aHJvdyAiZXJyb3IifX07IG9iai51bnNoaWZ0KCkgPT09ICIsIi4gQWN0dWFsOiAnICsgKHVuc2hpZnQpKTsKICB9Cn0KY2F0Y2ggKGUpIHsKICBpZiAoZSA9PT0gImVycm9yIikgewogICAgJEVSUk9SKCcjNC4yOiAgb2JqLmxlbmd0aCA9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gM30sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHt0aHJvdyAiZXJyb3IifX07IG9iai51bnNoaWZ0KCkgbm90IHRocm93ICJlcnJvciInKTsKICB9IGVsc2UgewogICAgJEVSUk9SKCcjNC4zOiAgb2JqLmxlbmd0aCA9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gM30sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHt0aHJvdyAiZXJyb3IifX07IG9iai51bnNoaWZ0KCkgbm90IHRocm93IEVycm9yLiBBY3R1YWw6ICcgKyAoZSkpOwogIH0KfQoKLy9DSEVDSyM1Cm9iai5sZW5ndGggPSB7dG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiAxfX07CnZhciB1bnNoaWZ0ID0gb2JqLnVuc2hpZnQoKTsgIAppZiAodW5zaGlmdCAhPT0gMSkgewogICRFUlJPUignIzU6ICBvYmoubGVuZ3RoID0ge3RvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gMX19ICBvYmoudW5zaGlmdCgpID09PSAxLiBBY3R1YWw6ICcgKyAodW5zaGlmdCkpOwp9CgovL0NIRUNLIzYKb2JqLmxlbmd0aCA9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4ge319LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIDF9fQp2YXIgdW5zaGlmdCA9IG9iai51bnNoaWZ0KCk7ICAKaWYgKHVuc2hpZnQgIT09IDEpIHsKICAkRVJST1IoJyM2OiAgb2JqLmxlbmd0aCA9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4ge319LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIDF9fSAgb2JqLnVuc2hpZnQoKSA9PT0gMS4gQWN0dWFsOiAnICsgKHVuc2hpZnQpKTsKfQoKLy9DSEVDSyM3CnRyeSB7CiAgCiAgb2JqLmxlbmd0aCA9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHt0aHJvdyAiZXJyb3IifSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiAxfX07ICAKICB2YXIgdW5zaGlmdCA9IG9iai51bnNoaWZ0KCk7CiAgJEVSUk9SKCcjNy4xOiAgb2JqLmxlbmd0aCA9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHt0aHJvdyAiZXJyb3IifSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiAxfX07IG9iai51bnNoaWZ0KCkgdGhyb3cgImVycm9yIi4gQWN0dWFsOiAnICsgKHVuc2hpZnQpKTsKfSAgCmNhdGNoIChlKSB7CiAgaWYgKGUgIT09ICJlcnJvciIpIHsKICAgICRFUlJPUignIzcuMjogIG9iai5sZW5ndGggPSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7dGhyb3cgImVycm9yIn0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gMX19OyBvYmoudW5zaGlmdCgpIHRocm93ICJlcnJvciIuIEFjdHVhbDogJyArIChlKSk7CiAgfSAKfQoKLy9DSEVDSyM4CnRyeSB7CiAgCiAgb2JqLmxlbmd0aCA9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4ge319LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIHt9fX07CiAgdmFyIHVuc2hpZnQgPSBvYmoudW5zaGlmdCgpOwogICRFUlJPUignIzguMTogIG9iai5sZW5ndGggPSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIHt9fSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiB7fX19ICBvYmoudW5zaGlmdCgpIHRocm93IFR5cGVFcnJvci4gQWN0dWFsOiAnICsgKHVuc2hpZnQpKTsKfSAgCmNhdGNoIChlKSB7CiAgaWYgKChlIGluc3RhbmNlb2YgVHlwZUVycm9yKSAhPT0gdHJ1ZSkgewogICAgJEVSUk9SKCcjOC4yOiAgb2JqLmxlbmd0aCA9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4ge319LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIHt9fX0gIG9iai51bnNoaWZ0KCkgdGhyb3cgVHlwZUVycm9yLiBBY3R1YWw6ICcgKyAoZSkpOwogIH0gCn0KCg==","commentary":"The unshift function is intentionally generic.\nIt does not require that its this value be an Array object","description":"Operator use ToNumber from length.\nIf Type(value) is Object, evaluate ToPrimitive(value, Number)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.13/S15.4.4.13_A2_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBDaGVjayBUb1VpbnQzMihsZW5ndGgpIGZvciBub24gQXJyYXkgb2JqZWN0cwogKgogKiBAcGF0aCBjaDE1LzE1LjQvMTUuNC40LzE1LjQuNC4xMy9TMTUuNC40LjEzX0EzX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBsZW5ndGggPSA0Mjk0OTY3Mjk2CiAqLwoKdmFyIG9iaiA9IHt9OwpvYmoudW5zaGlmdCA9IEFycmF5LnByb3RvdHlwZS51bnNoaWZ0OwpvYmoubGVuZ3RoID0gNDI5NDk2NzI5NjsKCi8vQ0hFQ0sjMQp2YXIgdW5zaGlmdCA9IG9iai51bnNoaWZ0KCJ4IiwgInkiLCAieiIpOwppZiAodW5zaGlmdCAhPT0gMykgewogICRFUlJPUignIzE6IHZhciBvYmogPSB7fTsgb2JqLnVuc2hpZnQgPSBBcnJheS5wcm90b3R5cGUudW5zaGlmdDsgb2JqLmxlbmd0aCA9IDQyOTQ5NjcyOTY7IG9iai51bnNoaWZ0KCJ4IiwgInkiLCAieiIpID09PSAzLiBBY3R1YWw6ICcgKyAodW5zaGlmdCkpOwp9CgovL0NIRUNLIzIKaWYgKG9iai5sZW5ndGggIT09IDMpIHsKICAkRVJST1IoJyMyOiB2YXIgb2JqID0ge307IG9iai51bnNoaWZ0ID0gQXJyYXkucHJvdG90eXBlLnVuc2hpZnQ7IG9iai5sZW5ndGggPSA0Mjk0OTY3Mjk2OyBvYmoudW5zaGlmdCgieCIsICJ5IiwgInoiKTsgb2JqLmxlbmd0aCA9PT0gMy4gQWN0dWFsOiAnICsgKG9iai5sZW5ndGgpKTsKfQoKLy9DSEVDSyMzCmlmIChvYmpbMF0gIT09ICJ4IikgewogICAkRVJST1IoJyMzOiB2YXIgb2JqID0ge307IG9iai51bnNoaWZ0ID0gQXJyYXkucHJvdG90eXBlLnVuc2hpZnQ7IG9iai5sZW5ndGggPSA0Mjk0OTY3Mjk2OyBvYmoudW5zaGlmdCgieCIsICJ5IiwgInoiKTsgb2JqWzBdID09PSAieCIuIEFjdHVhbDogJyArIChvYmpbMF0pKTsKfQoKLy9DSEVDSyM0CmlmIChvYmpbMV0gIT09ICJ5IikgewogICAkRVJST1IoJyM0OiB2YXIgb2JqID0ge307IG9iai51bnNoaWZ0ID0gQXJyYXkucHJvdG90eXBlLnVuc2hpZnQ7IG9iai5sZW5ndGggPSA0Mjk0OTY3Mjk2OyBvYmoudW5zaGlmdCgieCIsICJ5IiwgInoiKTsgb2JqWzFdID09PSAieSIuIEFjdHVhbDogJyArIChvYmpbMV0pKTsKfSAgCgovL0NIRUNLIzUKaWYgKG9ialsyXSAhPT0gInoiKSB7CiAgICRFUlJPUignIzU6IHZhciBvYmogPSB7fTsgb2JqLnVuc2hpZnQgPSBBcnJheS5wcm90b3R5cGUudW5zaGlmdDsgb2JqLmxlbmd0aCA9IDQyOTQ5NjcyOTY7IG9iai51bnNoaWZ0KCJ4IiwgInkiLCAieiIpOyBvYmpbMl0gPT09ICJ6Ii4gQWN0dWFsOiAnICsgKG9ialsyXSkpOwp9IAoKdmFyIG9iaiA9IHt9OwpvYmoudW5zaGlmdCA9IEFycmF5LnByb3RvdHlwZS51bnNoaWZ0OwpvYmoubGVuZ3RoID0gNDI5NDk2NzI5NjsKCi8vQ0hFQ0sjNgp2YXIgdW5zaGlmdCA9IG9iai51bnNoaWZ0KCk7CmlmICh1bnNoaWZ0ICE9PSAwKSB7CiAgJEVSUk9SKCcjNjogdmFyIG9iaiA9IHt9OyBvYmoudW5zaGlmdCA9IEFycmF5LnByb3RvdHlwZS51bnNoaWZ0OyBvYmoubGVuZ3RoID0gNDI5NDk2NzI5Njsgb2JqLnVuc2hpZnQoKSA9PT0gMC4gQWN0dWFsOiAnICsgKHVuc2hpZnQpKTsKfQoKLy9DSEVDSyM3CmlmIChvYmoubGVuZ3RoICE9PSAwKSB7CiAgJEVSUk9SKCcjNzogdmFyIG9iaiA9IHt9OyBvYmoudW5zaGlmdCA9IEFycmF5LnByb3RvdHlwZS51bnNoaWZ0OyBvYmoubGVuZ3RoID0gNDI5NDk2NzI5Njsgb2JqLnVuc2hpZnQoKTsgb2JqLmxlbmd0aCA9PT0gMC4gQWN0dWFsOiAnICsgKG9iai5sZW5ndGgpKTsKfSAKCg==","commentary":"Check ToUint32(length) for non Array objects","description":"length = 4294967296","path":"TestCases/ch15/15.4/15.4.4/15.4.4.13/S15.4.4.13_A3_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBDaGVjayBUb1VpbnQzMihsZW5ndGgpIGZvciBub24gQXJyYXkgb2JqZWN0cwogKgogKiBAcGF0aCBjaDE1LzE1LjQvMTUuNC40LzE1LjQuNC4xMy9TMTUuNC40LjEzX0EzX1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBsZW5ndGggPSAtNDI5NDk2NzI5NQogKi8KCnZhciBvYmogPSB7fTsKb2JqLnVuc2hpZnQgPSBBcnJheS5wcm90b3R5cGUudW5zaGlmdDsKb2JqWzBdID0gIiI7Cm9iai5sZW5ndGggPSAtNDI5NDk2NzI5NTsKCi8vQ0hFQ0sjMQp2YXIgdW5zaGlmdCA9IG9iai51bnNoaWZ0KCJ4IiwgInkiLCAieiIpOwppZiAodW5zaGlmdCAhPT0gNCkgewogICRFUlJPUignIzE6IHZhciBvYmogPSB7fTsgb2JqLnVuc2hpZnQgPSBBcnJheS5wcm90b3R5cGUudW5zaGlmdDsgb2JqWzBdID0gIiI7IG9iai5sZW5ndGggPSAtNDI5NDk2NzI5NTsgb2JqLnVuc2hpZnQoIngiLCAieSIsICJ6IikgPT09IDQuIEFjdHVhbDogJyArICh1bnNoaWZ0KSk7Cn0KCi8vQ0hFQ0sjMgppZiAob2JqLmxlbmd0aCAhPT0gNCkgewogICRFUlJPUignIzI6IHZhciBvYmogPSB7fTsgb2JqLnVuc2hpZnQgPSBBcnJheS5wcm90b3R5cGUudW5zaGlmdDsgb2JqWzBdID0gIiI7IG9iai5sZW5ndGggPSAtNDI5NDk2NzI5NTsgb2JqLnVuc2hpZnQoIngiLCAieSIsICJ6Iik7IG9iai5sZW5ndGggPT09IDQuIEFjdHVhbDogJyArIChvYmoubGVuZ3RoKSk7Cn0KCi8vQ0hFQ0sjMwppZiAob2JqWzBdICE9PSAieCIpIHsKICAgJEVSUk9SKCcjMzogdmFyIG9iaiA9IHt9OyBvYmoudW5zaGlmdCA9IEFycmF5LnByb3RvdHlwZS51bnNoaWZ0OyBvYmpbMF0gPSAiIjsgb2JqLmxlbmd0aCA9IC00Mjk0OTY3Mjk1OyBvYmoudW5zaGlmdCgieCIsICJ5IiwgInoiKTsgb2JqWzBdID09PSAieCIuIEFjdHVhbDogJyArIChvYmpbMF0pKTsKfQoKLy9DSEVDSyM0CmlmIChvYmpbMV0gIT09ICJ5IikgewogICAkRVJST1IoJyM0OiB2YXIgb2JqID0ge307IG9iai51bnNoaWZ0ID0gQXJyYXkucHJvdG90eXBlLnVuc2hpZnQ7IG9ialswXSA9ICIiOyBvYmoubGVuZ3RoID0gLTQyOTQ5NjcyOTU7IG9iai51bnNoaWZ0KCJ4IiwgInkiLCAieiIpOyBvYmpbMV0gPT09ICJ5Ii4gQWN0dWFsOiAnICsgKG9ialsxXSkpOwp9ICAKCi8vQ0hFQ0sjNQppZiAob2JqWzJdICE9PSAieiIpIHsKICAgJEVSUk9SKCcjNTogdmFyIG9iaiA9IHt9OyBvYmoudW5zaGlmdCA9IEFycmF5LnByb3RvdHlwZS51bnNoaWZ0OyBvYmpbMF0gPSAiIjsgb2JqLmxlbmd0aCA9IC00Mjk0OTY3Mjk1OyBvYmoudW5zaGlmdCgieCIsICJ5IiwgInoiKTsgb2JqWzJdID09PSAieiIuIEFjdHVhbDogJyArIChvYmpbMl0pKTsKfQoKLy9DSEVDSyM2CmlmIChvYmpbM10gIT09ICIiKSB7CiAgICRFUlJPUignIzY6IHZhciBvYmogPSB7fTsgb2JqLnVuc2hpZnQgPSBBcnJheS5wcm90b3R5cGUudW5zaGlmdDsgb2JqWzBdID0gIiI7IG9iai5sZW5ndGggPSAtNDI5NDk2NzI5NTsgb2JqLnVuc2hpZnQoIngiLCAieSIsICJ6Iik7IG9ialszXSA9PT0gIiIuIEFjdHVhbDogJyArIChvYmpbM10pKTsKfSAgICAgICAgCgo=","commentary":"Check ToUint32(length) for non Array objects","description":"length = -4294967295","path":"TestCases/ch15/15.4/15.4.4/15.4.4.13/S15.4.4.13_A3_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBDaGVjayBUb1VpbnQzMihsZW5ndGgpIGZvciBub24gQXJyYXkgb2JqZWN0cwogKgogKiBAcGF0aCBjaDE1LzE1LjQvMTUuNC40LzE1LjQuNC4xMy9TMTUuNC40LjEzX0EzX1QzLmpzCiAqIEBkZXNjcmlwdGlvbiBsZW5ndGggPSA0Mjk0OTY3Mjk3CiAqLwoKdmFyIG9iaiA9IHt9OwpvYmoudW5zaGlmdCA9IEFycmF5LnByb3RvdHlwZS51bnNoaWZ0OwpvYmpbMF0gPSAiIjsKb2JqLmxlbmd0aCA9IDQyOTQ5NjcyOTc7CgovL0NIRUNLIzEKdmFyIHVuc2hpZnQgPSBvYmoudW5zaGlmdCgieCIsICJ5IiwgInoiKTsKaWYgKHVuc2hpZnQgIT09IDQpIHsKICAkRVJST1IoJyMxOiB2YXIgb2JqID0ge307IG9iai51bnNoaWZ0ID0gQXJyYXkucHJvdG90eXBlLnVuc2hpZnQ7IG9ialswXSA9ICIiOyBvYmoubGVuZ3RoID0gNDI5NDk2NzI5Nzsgb2JqLnVuc2hpZnQoIngiLCAieSIsICJ6IikgPT09IDQuIEFjdHVhbDogJyArICh1bnNoaWZ0KSk7Cn0KCi8vQ0hFQ0sjMgppZiAob2JqLmxlbmd0aCAhPT0gNCkgewogICRFUlJPUignIzI6IHZhciBvYmogPSB7fTsgb2JqLnVuc2hpZnQgPSBBcnJheS5wcm90b3R5cGUudW5zaGlmdDsgb2JqWzBdID0gIiI7IG9iai5sZW5ndGggPSA0Mjk0OTY3Mjk3OyBvYmoudW5zaGlmdCgieCIsICJ5IiwgInoiKTsgb2JqLmxlbmd0aCA9PT0gNC4gQWN0dWFsOiAnICsgKG9iai5sZW5ndGgpKTsKfQoKLy9DSEVDSyMzCmlmIChvYmpbMF0gIT09ICJ4IikgewogICAkRVJST1IoJyMzOiB2YXIgb2JqID0ge307IG9iai51bnNoaWZ0ID0gQXJyYXkucHJvdG90eXBlLnVuc2hpZnQ7IG9ialswXSA9ICIiOyBvYmoubGVuZ3RoID0gNDI5NDk2NzI5Nzsgb2JqLnVuc2hpZnQoIngiLCAieSIsICJ6Iik7IG9ialswXSA9PT0gIngiLiBBY3R1YWw6ICcgKyAob2JqWzBdKSk7Cn0KCi8vQ0hFQ0sjNAppZiAob2JqWzFdICE9PSAieSIpIHsKICAgJEVSUk9SKCcjNDogdmFyIG9iaiA9IHt9OyBvYmoudW5zaGlmdCA9IEFycmF5LnByb3RvdHlwZS51bnNoaWZ0OyBvYmpbMF0gPSAiIjsgb2JqLmxlbmd0aCA9IDQyOTQ5NjcyOTc7IG9iai51bnNoaWZ0KCJ4IiwgInkiLCAieiIpOyBvYmpbMV0gPT09ICJ5Ii4gQWN0dWFsOiAnICsgKG9ialsxXSkpOwp9ICAKCi8vQ0hFQ0sjNQppZiAob2JqWzJdICE9PSAieiIpIHsKICAgJEVSUk9SKCcjNTogdmFyIG9iaiA9IHt9OyBvYmoudW5zaGlmdCA9IEFycmF5LnByb3RvdHlwZS51bnNoaWZ0OyBvYmpbMF0gPSAiIjsgb2JqLmxlbmd0aCA9IDQyOTQ5NjcyOTc7IG9iai51bnNoaWZ0KCJ4IiwgInkiLCAieiIpOyBvYmpbMl0gPT09ICJ6Ii4gQWN0dWFsOiAnICsgKG9ialsyXSkpOwp9CgovL0NIRUNLIzYKaWYgKG9ialszXSAhPT0gIiIpIHsKICAgJEVSUk9SKCcjNjogdmFyIG9iaiA9IHt9OyBvYmoudW5zaGlmdCA9IEFycmF5LnByb3RvdHlwZS51bnNoaWZ0OyBvYmpbMF0gPSAiIjsgb2JqLmxlbmd0aCA9IDQyOTQ5NjcyOTc7IG9iai51bnNoaWZ0KCJ4IiwgInkiLCAieiIpOyBvYmpbM10gPT09ICIiLiBBY3R1YWw6ICcgKyAob2JqWzNdKSk7Cn0gIAoK","commentary":"Check ToUint32(length) for non Array objects","description":"length = 4294967297","path":"TestCases/ch15/15.4/15.4.4/15.4.4.13/S15.4.4.13_A3_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBbW0dldF1dLCBbW0RlbGV0ZV1dIGZyb20gbm90IGFuIGluaGVyaXRlZCBwcm9wZXJ0eQogKgogKiBAcGF0aCBjaDE1LzE1LjQvMTUuNC40LzE1LjQuNC4xMy9TMTUuNC40LjEzX0E0X1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBbW1Byb3RvdHlwZV1dIG9mIEFycmF5IGluc3RhbmNlIGlzIEFycmF5LnByb3RvdHlwZSwgW1tQcm90b3R5cGVdIG9mIEFycmF5LnByb3RvdHlwZSBpcyBPYmplY3QucHJvdG90eXBlCiAqLwoKQXJyYXkucHJvdG90eXBlWzBdID0gLTE7CnggPSBbMV07CngubGVuZ3RoID0gMTsKCi8vQ0hFQ0sjMQp2YXIgdW5zaGlmdCA9IHgudW5zaGlmdCgwKTsKaWYgKHVuc2hpZnQgIT09IDIpIHsgIAogICRFUlJPUignIzE6IEFycmF5LnByb3RvdHlwZVswXSA9IC0xOyB4ID0gWzFdOyB4Lmxlbmd0aCA9IDE7IHgudW5zaGlmdCgwKSA9PT0gMi4gQWN0dWFsOiAnICsgKHVuc2hpZnQpKTsgICAgCn0KCi8vQ0hFQ0sjMgppZiAoeFswXSAhPT0gMCkgeyAgCiAgJEVSUk9SKCcjMjogQXJyYXkucHJvdG90eXBlWzBdID0gLTE7IHggPSBbMV07IHgubGVuZ3RoID0gMTsgeC51bnNoaWZ0KDApOyB4WzBdID09PSAwLiBBY3R1YWw6ICcgKyAoeFswXSkpOyAgICAKfQoKLy9DSEVDSyMzCmlmICh4WzFdICE9PSAxKSB7ICAKICAkRVJST1IoJyMzOiBBcnJheS5wcm90b3R5cGVbMF0gPSAtMTsgeCA9IFsxXTsgeC5sZW5ndGggPSAxOyB4LnVuc2hpZnQoMCk7IHhbMV0gPT09IDEuIEFjdHVhbDogJyArICh4WzFdKSk7ICAgIAp9CgpkZWxldGUgeFswXTsKCi8vQ0hFQ0sjNAppZiAoeFswXSAhPT0gLTEpIHsgIAogICRFUlJPUignIzQ6IEFycmF5LnByb3RvdHlwZVswXSA9IC0xOyB4ID0gWzFdOyB4Lmxlbmd0aCA9IDE7IHgudW5zaGlmdCgwKTsgZGVsZXRlIHhbMF07IHhbMF0gPT09IC0xLiBBY3R1YWw6ICcgKyAoeFswXSkpOyAgICAKfQoKT2JqZWN0LnByb3RvdHlwZVswXSA9IC0xOwpPYmplY3QucHJvdG90eXBlLmxlbmd0aCA9IDE7Ck9iamVjdC5wcm90b3R5cGUudW5zaGlmdCA9IEFycmF5LnByb3RvdHlwZS51bnNoaWZ0Owp4ID0gezA6MX07CgovL0NIRUNLIzUKdmFyIHVuc2hpZnQgPSB4LnVuc2hpZnQoMCk7CmlmICh1bnNoaWZ0ICE9PSAyKSB7ICAKICAkRVJST1IoJyM1OiBPYmplY3QucHJvdG90eXBlWzBdID0gLTE7IE9iamVjdC5wcm90b3R5cGUubGVuZ3RoID0gMTsgT2JqZWN0LnByb3RvdHlwZS51bnNoaWZ0ID0gQXJyYXkucHJvdG90eXBlLnVuc2hpZnQ7IHggPSB7MDowfTsgeC51bnNoaWZ0KDApID09PSAyLiBBY3R1YWw6ICcgKyAodW5zaGlmdCkpOyAgICAKfQoKLy9DSEVDSyM2CmlmICh4WzBdICE9PSAwKSB7ICAKICAkRVJST1IoJyM2OiBPYmplY3QucHJvdG90eXBlWzBdID0gLTE7IE9iamVjdC5wcm90b3R5cGUubGVuZ3RoID0gMTsgT2JqZWN0LnByb3RvdHlwZS51bnNoaWZ0ID0gQXJyYXkucHJvdG90eXBlLnVuc2hpZnQ7IHggPSB7MDowfTsgeC51bnNoaWZ0KDApOyB4WzBdID09PSAwLiBBY3R1YWw6ICcgKyAoeFswXSkpOyAgICAKfQoKLy9DSEVDSyM3CmlmICh4WzFdICE9PSAxKSB7ICAKICAkRVJST1IoJyM3OiBPYmplY3QucHJvdG90eXBlWzBdID0gLTE7IE9iamVjdC5wcm90b3R5cGUubGVuZ3RoID0gMTsgT2JqZWN0LnByb3RvdHlwZS51bnNoaWZ0ID0gQXJyYXkucHJvdG90eXBlLnVuc2hpZnQ7IHggPSB7MDowfTsgeC51bnNoaWZ0KDApOyB4WzFdID09PSAxLiBBY3R1YWw6ICcgKyAoeFsxXSkpOyAgICAKfQoKZGVsZXRlIHhbMF07CgovL0NIRUNLIzgKaWYgKHhbMF0gIT09IC0xKSB7ICAKICAkRVJST1IoJyM4OiBPYmplY3QucHJvdG90eXBlWzBdID0gLTE7IE9iamVjdC5wcm90b3R5cGUubGVuZ3RoID0gMTsgT2JqZWN0LnByb3RvdHlwZS51bnNoaWZ0ID0gQXJyYXkucHJvdG90eXBlLnVuc2hpZnQ7IHggPSB7MDowfTsgeC51bnNoaWZ0KDApOyBkZWxldGUgeFswXTsgeFswXSA9PT0gLTEuIEFjdHVhbDogJyArICh4WzBdKSk7ICAgIAp9CgovL0NIRUNLIzkKaWYgKHgubGVuZ3RoICE9PSAyKSB7ICAKICAkRVJST1IoJyM5OiBPYmplY3QucHJvdG90eXBlWzBdID0gLTE7IE9iamVjdC5wcm90b3R5cGUubGVuZ3RoID0gMTsgT2JqZWN0LnByb3RvdHlwZS51bnNoaWZ0ID0gQXJyYXkucHJvdG90eXBlLnVuc2hpZnQ7IHggPSB7MDowfTsgeC51bnNoaWZ0KDApOyB4Lmxlbmd0aCA9PT0gMS4gQWN0dWFsOiAnICsgKHgubGVuZ3RoKSk7ICAgIAp9CgovL0NIRUNLIzEwCmRlbGV0ZSB4Lmxlbmd0aDsKaWYgKHgubGVuZ3RoICE9PSAxKSB7ICAKICAkRVJST1IoJyMxMDogT2JqZWN0LnByb3RvdHlwZVsxXSA9IC0xOyBPYmplY3QucHJvdG90eXBlLmxlbmd0aCA9IDE7IE9iamVjdC5wcm90b3R5cGUudW5zaGlmdCA9IEFycmF5LnByb3RvdHlwZS51bnNoaWZ0OyB4ID0gezA6MH07IHgudW5zaGlmdCgwKTsgZGVsZXRlIHg7IHgubGVuZ3RoID09PSAxLiBBY3R1YWw6ICcgKyAoeC5sZW5ndGgpKTsgICAgCn0KCg==","commentary":"[[Get]], [[Delete]] from not an inherited property","description":"[[Prototype]] of Array instance is Array.prototype, [[Prototype] of Array.prototype is Object.prototype","path":"TestCases/ch15/15.4/15.4.4/15.4.4.13/S15.4.4.13_A4_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBbW0dldF1dLCBbW0RlbGV0ZV1dIGZyb20gbm90IGFuIGluaGVyaXRlZCBwcm9wZXJ0eQogKgogKiBAcGF0aCBjaDE1LzE1LjQvMTUuNC40LzE1LjQuNC4xMy9TMTUuNC40LjEzX0E0X1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBbW1Byb3RvdHlwZV1dIG9mIEFycmF5IGluc3RhbmNlIGlzIEFycmF5LnByb3RvdHlwZSwgW1tQcm90b3R5cGVdIG9mIEFycmF5LnByb3RvdHlwZSBpcyBPYmplY3QucHJvdG90eXBlCiAqLwoKQXJyYXkucHJvdG90eXBlWzBdID0gMTsKdmFyIHggPSBbXTsKeC5sZW5ndGggPSAxOwoKLy9DSEVDSyMxCnZhciB1bnNoaWZ0ID0geC51bnNoaWZ0KDApOwppZiAodW5zaGlmdCAhPT0gMikgeyAgCiAgJEVSUk9SKCcjMTogQXJyYXkucHJvdG90eXBlWzBdID0gMTsgeCA9IFtdOyB4Lmxlbmd0aCA9IDE7IHgudW5zaGlmdCgwKSA9PT0gMi4gQWN0dWFsOiAnICsgKHVuc2hpZnQpKTsgICAgCn0KCi8vQ0hFQ0sjMgppZiAoeFswXSAhPT0gMCkgeyAgCiAgJEVSUk9SKCcjMjogQXJyYXkucHJvdG90eXBlWzBdID0gMTsgeCA9IFtdOyB4Lmxlbmd0aCA9IDE7IHgudW5zaGlmdCgwKTsgeFswXSA9PT0gMC4gQWN0dWFsOiAnICsgKHhbMF0pKTsgICAgCn0KCi8vQ0hFQ0sjMwppZiAoeFsxXSAhPT0gMSkgeyAgCiAgJEVSUk9SKCcjMzogQXJyYXkucHJvdG90eXBlWzBdID0gMTsgeCA9IFtdOyB4Lmxlbmd0aCA9IDE7IHgudW5zaGlmdCgwKTsgeFsxXSA9PT0gMS4gQWN0dWFsOiAnICsgKHhbMV0pKTsgICAgCn0KCmRlbGV0ZSB4WzBdOwoKLy9DSEVDSyM0CmlmICh4WzBdICE9PSAxKSB7ICAKICAkRVJST1IoJyM0OiBBcnJheS5wcm90b3R5cGVbMF0gPSAxOyB4ID0gWzFdOyB4Lmxlbmd0aCA9IDE7IHgudW5zaGlmdCgwKTsgZGVsZXRlIHhbMF07IHhbMF0gPT09IDEuIEFjdHVhbDogJyArICh4WzBdKSk7ICAgIAp9CgpPYmplY3QucHJvdG90eXBlWzBdID0gMTsKT2JqZWN0LnByb3RvdHlwZS5sZW5ndGggPSAxOwpPYmplY3QucHJvdG90eXBlLnVuc2hpZnQgPSBBcnJheS5wcm90b3R5cGUudW5zaGlmdDsKeCA9IHt9OwoKLy9DSEVDSyM1CnZhciB1bnNoaWZ0ID0geC51bnNoaWZ0KDApOwppZiAodW5zaGlmdCAhPT0gMikgeyAgCiAgJEVSUk9SKCcjNTogT2JqZWN0LnByb3RvdHlwZVswXSA9IDE7IE9iamVjdC5wcm90b3R5cGUubGVuZ3RoID0gMTsgT2JqZWN0LnByb3RvdHlwZS51bnNoaWZ0ID0gQXJyYXkucHJvdG90eXBlLnVuc2hpZnQ7IHggPSB7fTsgeC51bnNoaWZ0KDApID09PSAyLiBBY3R1YWw6ICcgKyAodW5zaGlmdCkpOyAgICAKfQoKLy9DSEVDSyM2CmlmICh4WzBdICE9PSAwKSB7ICAKICAkRVJST1IoJyM2OiBPYmplY3QucHJvdG90eXBlWzBdID0gMTsgT2JqZWN0LnByb3RvdHlwZS5sZW5ndGggPSAxOyBPYmplY3QucHJvdG90eXBlLnVuc2hpZnQgPSBBcnJheS5wcm90b3R5cGUudW5zaGlmdDsgeCA9IHt9OyB4LnVuc2hpZnQoMCk7IHhbMF0gPT09IDAuIEFjdHVhbDogJyArICh4WzBdKSk7ICAgIAp9CgovL0NIRUNLIzcKaWYgKHhbMV0gIT09IDEpIHsgIAogICRFUlJPUignIzc6IE9iamVjdC5wcm90b3R5cGVbMF0gPSAxOyBPYmplY3QucHJvdG90eXBlLmxlbmd0aCA9IDE7IE9iamVjdC5wcm90b3R5cGUudW5zaGlmdCA9IEFycmF5LnByb3RvdHlwZS51bnNoaWZ0OyB4ID0ge307IHgudW5zaGlmdCgwKTsgeFsxXSA9PT0gMS4gQWN0dWFsOiAnICsgKHhbMV0pKTsgICAgCn0KCmRlbGV0ZSB4WzBdOwoKLy9DSEVDSyM4CmlmICh4WzBdICE9PSAxKSB7ICAKICAkRVJST1IoJyM4OiBPYmplY3QucHJvdG90eXBlWzBdID0gMTsgT2JqZWN0LnByb3RvdHlwZS5sZW5ndGggPSAxOyBPYmplY3QucHJvdG90eXBlLnVuc2hpZnQgPSBBcnJheS5wcm90b3R5cGUudW5zaGlmdDsgeCA9IHt9OyB4LnVuc2hpZnQoMCk7IGRlbGV0ZSB4WzBdOyB4WzBdID09PSAxLiBBY3R1YWw6ICcgKyAoeFswXSkpOyAgICAKfQoKLy9DSEVDSyM5CmlmICh4Lmxlbmd0aCAhPT0gMikgeyAgCiAgJEVSUk9SKCcjOTogT2JqZWN0LnByb3RvdHlwZVswXSA9IDE7IE9iamVjdC5wcm90b3R5cGUubGVuZ3RoID0gMTsgT2JqZWN0LnByb3RvdHlwZS51bnNoaWZ0ID0gQXJyYXkucHJvdG90eXBlLnVuc2hpZnQ7IHggPSB7fTsgeC51bnNoaWZ0KDApOyB4Lmxlbmd0aCA9PT0gMS4gQWN0dWFsOiAnICsgKHgubGVuZ3RoKSk7ICAgIAp9CgovL0NIRUNLIzEwCmRlbGV0ZSB4Lmxlbmd0aDsKaWYgKHgubGVuZ3RoICE9PSAxKSB7ICAKICAkRVJST1IoJyMxMDogT2JqZWN0LnByb3RvdHlwZVsxXSA9IDE7IE9iamVjdC5wcm90b3R5cGUubGVuZ3RoID0gMTsgT2JqZWN0LnByb3RvdHlwZS51bnNoaWZ0ID0gQXJyYXkucHJvdG90eXBlLnVuc2hpZnQ7IHggPSB7fTsgeC51bnNoaWZ0KDApOyBkZWxldGUgeDsgeC5sZW5ndGggPT09IDEuIEFjdHVhbDogJyArICh4Lmxlbmd0aCkpOyAgICAKfQoK","commentary":"[[Get]], [[Delete]] from not an inherited property","description":"[[Prototype]] of Array instance is Array.prototype, [[Prototype] of Array.prototype is Object.prototype","path":"TestCases/ch15/15.4/15.4.4/15.4.4.13/S15.4.4.13_A4_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgbGVuZ3RoIHByb3BlcnR5IG9mIHVuc2hpZnQgaGFzIHRoZSBhdHRyaWJ1dGUgRG9udEVudW0KICoKICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTMvUzE1LjQuNC4xM19BNS4xLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyB1c2UgcHJvcGVydHlJc0VudW1lcmFibGUsIGZvci1pbgogKi8KCi8vQ0hFQ0sjMQppZiAoQXJyYXkucHJvdG90eXBlLnVuc2hpZnQucHJvcGVydHlJc0VudW1lcmFibGUoJ2xlbmd0aCcpICE9PSBmYWxzZSkgewogICRFUlJPUignIzE6IEFycmF5LnByb3RvdHlwZS51bnNoaWZ0LnByb3BlcnR5SXNFbnVtZXJhYmxlKFwnbGVuZ3RoXCcpID09PSBmYWxzZS4gQWN0dWFsOiAnICsgKEFycmF5LnByb3RvdHlwZS51bnNoaWZ0LnByb3BlcnR5SXNFbnVtZXJhYmxlKCdsZW5ndGgnKSkpOwp9CgovL0NIRUNLIzIKdmFyIHJlc3VsdCA9IHRydWU7CmZvciAodmFyIHAgaW4gQXJyYXkudW5zaGlmdCl7CiAgaWYgKHAgPT09ICJsZW5ndGgiKSB7CiAgICByZXN1bHQgPSBmYWxzZTsKICB9ICAKfQoKaWYgKHJlc3VsdCAhPT0gdHJ1ZSkgewogICRFUlJPUignIzI6IHJlc3VsdCA9IHRydWU7IGZvciAocCBpbiBBcnJheS51bnNoaWZ0KSB7IGlmIChwID09PSAibGVuZ3RoIikgcmVzdWx0ID0gZmFsc2U7IH0gIHJlc3VsdCA9PT0gdHJ1ZTsnKTsKfQoKCg==","commentary":"The length property of unshift has the attribute DontEnum","description":"Checking use propertyIsEnumerable, for-in","path":"TestCases/ch15/15.4/15.4.4/15.4.4.13/S15.4.4.13_A5.1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgbGVuZ3RoIHByb3BlcnR5IG9mIHVuc2hpZnQgaGFzIHRoZSBhdHRyaWJ1dGUgRG9udERlbGV0ZQogKgogKiBAcGF0aCBjaDE1LzE1LjQvMTUuNC40LzE1LjQuNC4xMy9TMTUuNC40LjEzX0E1LjIuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIHVzZSBoYXNPd25Qcm9wZXJ0eSwgZGVsZXRlCiAqIEBub1N0cmljdAogKi8KCi8vQ0hFQ0sjMQppZiAoQXJyYXkucHJvdG90eXBlLnVuc2hpZnQuaGFzT3duUHJvcGVydHkoJ2xlbmd0aCcpICE9PSB0cnVlKSB7CiAgJEZBSUwoJyMxOiBBcnJheS5wcm90b3R5cGUudW5zaGlmdC5oYXNPd25Qcm9wZXJ0eShcJ2xlbmd0aFwnKSA9PT0gdHJ1ZS4gQWN0dWFsOiAnICsgKEFycmF5LnByb3RvdHlwZS51bnNoaWZ0Lmhhc093blByb3BlcnR5KCdsZW5ndGgnKSkpOwp9CgpkZWxldGUgQXJyYXkucHJvdG90eXBlLnVuc2hpZnQubGVuZ3RoOwoKLy9DSEVDSyMyCmlmIChBcnJheS5wcm90b3R5cGUudW5zaGlmdC5oYXNPd25Qcm9wZXJ0eSgnbGVuZ3RoJykgIT09IHRydWUpIHsKICAkRVJST1IoJyMyOiBkZWxldGUgQXJyYXkucHJvdG90eXBlLnVuc2hpZnQubGVuZ3RoOyBBcnJheS5wcm90b3R5cGUudW5zaGlmdC5oYXNPd25Qcm9wZXJ0eShcJ2xlbmd0aFwnKSA9PT0gdHJ1ZS4gQWN0dWFsOiAnICsgKEFycmF5LnByb3RvdHlwZS51bnNoaWZ0Lmhhc093blByb3BlcnR5KCdsZW5ndGgnKSkpOwp9CgovL0NIRUNLIzMKaWYgKEFycmF5LnByb3RvdHlwZS51bnNoaWZ0Lmxlbmd0aCA9PT0gdW5kZWZpbmVkKSB7CiAgJEVSUk9SKCcjMzogZGVsZXRlIEFycmF5LnByb3RvdHlwZS51bnNoaWZ0Lmxlbmd0aDsgQXJyYXkucHJvdG90eXBlLnVuc2hpZnQubGVuZ3RoICE9PSB1bmRlZmluZWQnKTsKfQoKCgo=","commentary":"The length property of unshift has the attribute DontDelete","description":"Checking use hasOwnProperty, delete","noStrict":"","path":"TestCases/ch15/15.4/15.4.4/15.4.4.13/S15.4.4.13_A5.2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgbGVuZ3RoIHByb3BlcnR5IG9mIHVuc2hpZnQgaGFzIHRoZSBhdHRyaWJ1dGUgUmVhZE9ubHkKICoKICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTMvUzE1LjQuNC4xM19BNS4zLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiB2YXJ5aW5nIHRoZSBsZW5ndGggcHJvcGVydHkgZmFpbHMKICogQG5vU3RyaWN0CiAqLwoKLy9DSEVDSyMxCnZhciB4ID0gQXJyYXkucHJvdG90eXBlLnVuc2hpZnQubGVuZ3RoOwpBcnJheS5wcm90b3R5cGUudW5zaGlmdC5sZW5ndGggPSBJbmZpbml0eTsKaWYgKEFycmF5LnByb3RvdHlwZS51bnNoaWZ0Lmxlbmd0aCAhPT0geCkgewogICRFUlJPUignIzE6IHggPSBBcnJheS5wcm90b3R5cGUudW5zaGlmdC5sZW5ndGg7IEFycmF5LnByb3RvdHlwZS51bnNoaWZ0Lmxlbmd0aCA9IEluZmluaXR5OyBBcnJheS5wcm90b3R5cGUudW5zaGlmdC5sZW5ndGggPT09IHguIEFjdHVhbDogJyArIChBcnJheS5wcm90b3R5cGUudW5zaGlmdC5sZW5ndGgpKTsKfQoKCg==","commentary":"The length property of unshift has the attribute ReadOnly","description":"Checking if varying the length property fails","noStrict":"","path":"TestCases/ch15/15.4/15.4.4/15.4.4.13/S15.4.4.13_A5.3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgbGVuZ3RoIHByb3BlcnR5IG9mIHVuc2hpZnQgaXMgMQogKgogKiBAcGF0aCBjaDE1LzE1LjQvMTUuNC40LzE1LjQuNC4xMy9TMTUuNC40LjEzX0E1LjQuanMKICogQGRlc2NyaXB0aW9uIHVuc2hpZnQubGVuZ3RoID09PSAxCiAqLwoKLy9DSEVDSyMxCmlmIChBcnJheS5wcm90b3R5cGUudW5zaGlmdC5sZW5ndGggIT09IDEpIHsKICAkRVJST1IoJyMxOiBBcnJheS5wcm90b3R5cGUudW5zaGlmdC5sZW5ndGggPT09IDEuIEFjdHVhbDogJyArIChBcnJheS5wcm90b3R5cGUudW5zaGlmdC5sZW5ndGgpKTsKfQoKCg==","commentary":"The length property of unshift is 1","description":"unshift.length === 1","path":"TestCases/ch15/15.4/15.4.4/15.4.4.13/S15.4.4.13_A5.4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgdW5zaGlmdCBwcm9wZXJ0eSBvZiBBcnJheSBoYXMgdGhlIGF0dHJpYnV0ZSBEb250RW51bQogKgogKiBAcGF0aCBjaDE1LzE1LjQvMTUuNC40LzE1LjQuNC4xMy9TMTUuNC40LjEzX0E1LjUuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIHVzZSBwcm9wZXJ0eUlzRW51bWVyYWJsZSwgZm9yLWluCiAqLwoKLy9DSEVDSyMxCmlmIChBcnJheS5wcm9wZXJ0eUlzRW51bWVyYWJsZSgndW5zaGlmdCcpICE9PSBmYWxzZSkgewogICRFUlJPUignIzE6IEFycmF5LnByb3BlcnR5SXNFbnVtZXJhYmxlKFwndW5zaGlmdFwnKSA9PT0gZmFsc2UuIEFjdHVhbDogJyArIChBcnJheS5wcm9wZXJ0eUlzRW51bWVyYWJsZSgndW5zaGlmdCcpKSk7Cn0KCi8vQ0hFQ0sjMgp2YXIgcmVzdWx0ID0gdHJ1ZTsKZm9yICh2YXIgcCBpbiBBcnJheSl7CiAgaWYgKHAgPT09ICJ1bnNoaWZ0IikgewogICAgcmVzdWx0ID0gZmFsc2U7CiAgfSAgCn0KCmlmIChyZXN1bHQgIT09IHRydWUpIHsKICAkRVJST1IoJyMyOiByZXN1bHQgPSB0cnVlOyBmb3IgKHAgaW4gQXJyYXkpIHsgaWYgKHAgPT09ICJ1bnNoaWZ0IikgcmVzdWx0ID0gZmFsc2U7IH0gIHJlc3VsdCA9PT0gdHJ1ZTsnKTsKfQoK","commentary":"The unshift property of Array has the attribute DontEnum","description":"Checking use propertyIsEnumerable, for-in","path":"TestCases/ch15/15.4/15.4.4/15.4.4.13/S15.4.4.13_A5.5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgdW5zaGlmdCBwcm9wZXJ0eSBvZiBBcnJheSBoYXMgbm90IHByb3RvdHlwZSBwcm9wZXJ0eQogKgogKiBAcGF0aCBjaDE1LzE1LjQvMTUuNC40LzE1LjQuNC4xMy9TMTUuNC40LjEzX0E1LjYuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIEFycmF5LnByb3RvdHlwZS51bnNoaWZ0LnByb3RvdHlwZQogKi8KCi8vQ0hFQ0sjMQppZiAoQXJyYXkucHJvdG90eXBlLnVuc2hpZnQucHJvdG90eXBlICE9PSB1bmRlZmluZWQpIHsKICAkRVJST1IoJyMxOiBBcnJheS5wcm90b3R5cGUudW5zaGlmdC5wcm90b3R5cGUgPT09IHVuZGVmaW5lZC4gQWN0dWFsOiAnICsgKEFycmF5LnByb3RvdHlwZS51bnNoaWZ0LnByb3RvdHlwZSkpOwp9Cgo=","commentary":"The unshift property of Array has not prototype property","description":"Checking Array.prototype.unshift.prototype","path":"TestCases/ch15/15.4/15.4.4/15.4.4.13/S15.4.4.13_A5.6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgdW5zaGlmdCBwcm9wZXJ0eSBvZiBBcnJheSBjYW4ndCBiZSB1c2VkIGFzIGNvbnN0cnVjdG9yCiAqCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjEzL1MxNS40LjQuMTNfQTUuNy5qcwogKiBAZGVzY3JpcHRpb24gSWYgcHJvcGVydHkgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBpbnRlcm5hbCBbW0NvbnN0cnVjdF1dIG1ldGhvZCwgdGhyb3cgYSBUeXBlRXJyb3IgZXhjZXB0aW9uCiAqLwoKLy9DSEVDSyMxCgp0cnkgewogIG5ldyBBcnJheS5wcm90b3R5cGUudW5zaGlmdCgpOwogICRFUlJPUignIzEuMTogbmV3IEFycmF5LnByb3RvdHlwZS51bnNoaWZ0KCkgdGhyb3cgVHlwZUVycm9yLiBBY3R1YWw6ICcgKyAobmV3IEFycmF5LnByb3RvdHlwZS51bnNoaWZ0KCkpKTsKfSBjYXRjaCAoZSkgewogIGlmICgoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikgIT09IHRydWUpIHsKICAgICRFUlJPUignIzEuMjogbmV3IEFycmF5LnByb3RvdHlwZS51bnNoaWZ0KCkgdGhyb3cgVHlwZUVycm9yLiBBY3R1YWw6ICcgKyAoZSkpOwogIH0KfQoK","commentary":"The unshift property of Array can't be used as constructor","description":"If property does not implement the internal [[Construct]] method, throw a TypeError exception","path":"TestCases/ch15/15.4/15.4.4/15.4.4.13/S15.4.4.13_A5.7.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTQvMTUuNC40LjE0LTAtMS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5pbmRleE9mIG11c3QgZXhpc3QgYXMgYSBmdW5jdGlvbg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBmID0gQXJyYXkucHJvdG90eXBlLmluZGV4T2Y7DQogIGlmICh0eXBlb2YoZikgPT09ICJmdW5jdGlvbiIpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.indexOf must exist as a function","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-0-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTQvMTUuNC40LjE0LTAtMi5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5pbmRleE9mIGhhcyBhIGxlbmd0aCBwcm9wZXJ0eSB3aG9zZSB2YWx1ZSBpcyAxLg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIGlmIChBcnJheS5wcm90b3R5cGUuaW5kZXhPZi5sZW5ndGggPT09IDEpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.indexOf has a length property whose value is 1.","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-0-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTQvMTUuNC40LjE0LTEtMS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5pbmRleE9mIGFwcGxpZWQgdG8gdW5kZWZpbmVkIHRocm93cyBhIFR5cGVFcnJvcg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHRyeSB7DQogICAgIEFycmF5LnByb3RvdHlwZS5pbmRleE9mLmNhbGwodW5kZWZpbmVkKTsNCiAgICAgcmV0dXJuIGZhbHNlOw0KICB9DQogIGNhdGNoIChlKSB7DQogICAgIHJldHVybiBlIGluc3RhbmNlb2YgVHlwZUVycm9yOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.indexOf applied to undefined throws a TypeError","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-1-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTQvMTUuNC40LjE0LTEtMTAuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuaW5kZXhPZiBhcHBsaWVkIHRvIHRoZSBNYXRoIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBNYXRoWzFdID0gdHJ1ZTsNCiAgICAgICAgICAgIE1hdGgubGVuZ3RoID0gMjsNCiAgICAgICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUuaW5kZXhPZi5jYWxsKE1hdGgsIHRydWUpID09PSAxOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIE1hdGhbMV07DQogICAgICAgICAgICBkZWxldGUgTWF0aC5sZW5ndGg7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.indexOf applied to the Math object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-1-10.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTQvMTUuNC40LjE0LTEtMTEuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuaW5kZXhPZiBhcHBsaWVkIHRvIERhdGUgb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0gbmV3IERhdGUoKTsNCiAgICAgICAgb2JqLmxlbmd0aCA9IDI7DQogICAgICAgIG9ialsxXSA9IHRydWU7DQoNCiAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5pbmRleE9mLmNhbGwob2JqLCB0cnVlKSA9PT0gMTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.indexOf applied to Date object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-1-11.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTQvMTUuNC40LjE0LTEtMTIuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuaW5kZXhPZiBhcHBsaWVkIHRvIFJlZ0V4cCBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSBuZXcgUmVnRXhwKCk7DQogICAgICAgIG9iai5sZW5ndGggPSAyOw0KICAgICAgICBvYmpbMV0gPSB0cnVlOw0KDQogICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUuaW5kZXhPZi5jYWxsKG9iaiwgdHJ1ZSkgPT09IDE7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.indexOf applied to RegExp object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-1-12.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTQvMTUuNC40LjE0LTEtMTMuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuaW5kZXhPZiBhcHBsaWVkIHRvIHRoZSBKU09OIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciB0YXJnZXRPYmogPSB7fTsNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIEpTT05bM10gPSB0YXJnZXRPYmo7DQogICAgICAgICAgICBKU09OLmxlbmd0aCA9IDU7DQogICAgICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLmluZGV4T2YuY2FsbChKU09OLCB0YXJnZXRPYmopID09PSAzOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIEpTT05bM107DQogICAgICAgICAgICBkZWxldGUgSlNPTi5sZW5ndGg7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.indexOf applied to the JSON object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-1-13.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTQvMTUuNC40LjE0LTEtMTQuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuaW5kZXhPZiBhcHBsaWVkIHRvIEVycm9yIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IG5ldyBTeW50YXhFcnJvcigpOw0KICAgICAgICBvYmpbMV0gPSB0cnVlOw0KICAgICAgICBvYmoubGVuZ3RoID0gMjsNCg0KICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLmluZGV4T2YuY2FsbChvYmosIHRydWUpID09PSAxOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.indexOf applied to Error object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-1-14.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTQvMTUuNC40LjE0LTEtMTUuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuaW5kZXhPZiBhcHBsaWVkIHRvIEFyZ3VtZW50cyBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIGZ1bmN0aW9uIGZ1bigpIHsNCiAgICAgICAgICAgIHJldHVybiBhcmd1bWVudHM7DQogICAgICAgIH0NCiAgICAgICAgdmFyIG9iaiA9IGZ1bigxLCB0cnVlLCAzKTsNCg0KICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLmluZGV4T2YuY2FsbChvYmosIHRydWUpID09PSAxOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.indexOf applied to Arguments object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-1-15.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTQvMTUuNC40LjE0LTEtMTcuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuaW5kZXhPZiBhcHBsaWVkIHRvIHRoZSBnbG9iYWwgb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIHZhciBvbGRMZW4gPSBmbkdsb2JhbE9iamVjdCgpLmxlbmd0aDsNCiAgICAgICAgICAgIGZuR2xvYmFsT2JqZWN0KClbMV0gPSB0cnVlOw0KICAgICAgICAgICAgZm5HbG9iYWxPYmplY3QoKS5sZW5ndGggPSAyOw0KICAgICAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5pbmRleE9mLmNhbGwoZm5HbG9iYWxPYmplY3QoKSwgdHJ1ZSkgPT09IDE7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgZm5HbG9iYWxPYmplY3QoKVsxXTsNCiAgICAgICAgICAgIGZuR2xvYmFsT2JqZWN0KCkubGVuZ3RoID0gb2xkTGVuOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.indexOf applied to the global object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-1-17.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTQvMTUuNC40LjE0LTEtMi5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5pbmRleE9mIGFwcGxpZWQgdG8gbnVsbCB0aHJvd3MgYSBUeXBlRXJyb3INCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB0cnkgew0KICAgICBBcnJheS5wcm90b3R5cGUuaW5kZXhPZi5jYWxsKG51bGwpOw0KICAgICByZXR1cm4gZmFsc2U7DQogIH0NCiAgY2F0Y2ggKGUpIHsNCiAgICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBUeXBlRXJyb3I7DQogICAgIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.indexOf applied to null throws a TypeError","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-1-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTQvMTUuNC40LjE0LTEtMy5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5pbmRleE9mIGFwcGxpZWQgdG8gYm9vbGVhbiBwcmltaXRpdmUNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgdGFyZ2V0T2JqID0ge307DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBCb29sZWFuLnByb3RvdHlwZVsxXSA9IHRhcmdldE9iajsNCiAgICAgICAgICAgIEJvb2xlYW4ucHJvdG90eXBlLmxlbmd0aCA9IDI7DQoNCiAgICAgICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUuaW5kZXhPZi5jYWxsKHRydWUsIHRhcmdldE9iaikgPT09IDE7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgQm9vbGVhbi5wcm90b3R5cGVbMV07DQogICAgICAgICAgICBkZWxldGUgQm9vbGVhbi5wcm90b3R5cGUubGVuZ3RoOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.indexOf applied to boolean primitive","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-1-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTQvMTUuNC40LjE0LTEtNC5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5pbmRleE9mIGFwcGxpZWQgdG8gQm9vbGVhbiBPYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSBuZXcgQm9vbGVhbihmYWxzZSk7DQogICAgICAgIG9iai5sZW5ndGggPSAyOw0KICAgICAgICBvYmpbMV0gPSB0cnVlOw0KDQogICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUuaW5kZXhPZi5jYWxsKG9iaiwgdHJ1ZSkgPT09IDE7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.indexOf applied to Boolean Object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-1-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTQvMTUuNC40LjE0LTEtNS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5pbmRleE9mIGFwcGxpZWQgdG8gbnVtYmVyIHByaW1pdGl2ZQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciB0YXJnZXRPYmogPSB7fTsNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE51bWJlci5wcm90b3R5cGVbMV0gPSB0YXJnZXRPYmo7DQogICAgICAgICAgICBOdW1iZXIucHJvdG90eXBlLmxlbmd0aCA9IDI7DQoNCiAgICAgICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUuaW5kZXhPZi5jYWxsKDUsIHRhcmdldE9iaikgPT09IDE7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgTnVtYmVyLnByb3RvdHlwZVsxXTsNCiAgICAgICAgICAgIGRlbGV0ZSBOdW1iZXIucHJvdG90eXBlLmxlbmd0aDsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.indexOf applied to number primitive","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-1-5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTQvMTUuNC40LjE0LTEtNi5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5pbmRleE9mIGFwcGxpZWQgdG8gTnVtYmVyIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IG5ldyBOdW1iZXIoLTMpOw0KICAgICAgICBvYmoubGVuZ3RoID0gMjsNCiAgICAgICAgb2JqWzFdID0gdHJ1ZTsNCg0KICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLmluZGV4T2YuY2FsbChvYmosIHRydWUpID09PSAxOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.indexOf applied to Number object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-1-6.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTQvMTUuNC40LjE0LTEtNy5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5pbmRleE9mIGFwcGxpZWQgdG8gc3RyaW5nIHByaW1pdGl2ZQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5pbmRleE9mLmNhbGwoImFiYyIsICJiIikgPT09IDE7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.indexOf applied to string primitive","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-1-7.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTQvMTUuNC40LjE0LTEtOC5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5pbmRleE9mIGFwcGxpZWQgdG8gU3RyaW5nIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IG5ldyBTdHJpbmcoIm51bGwiKTsNCg0KICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLmluZGV4T2YuY2FsbChvYmosICdsJykgPT09IDI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.indexOf applied to String object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-1-8.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTQvMTUuNC40LjE0LTEtOS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5pbmRleE9mIGFwcGxpZWQgdG8gRnVuY3Rpb24gb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0gZnVuY3Rpb24gKGEsIGIpIHsNCiAgICAgICAgICAgIHJldHVybiBhICsgYjsNCiAgICAgICAgfTsNCiAgICAgICAgb2JqWzFdID0gdHJ1ZTsNCg0KICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLmluZGV4T2YuY2FsbChvYmosIHRydWUpID09PSAxOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.indexOf applied to Function object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-1-9.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTQvMTUuNC40LjE0LTEwLTEuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuaW5kZXhPZiByZXR1cm5zIC0xIGZvciBlbGVtZW50cyBub3QgcHJlc2VudCBpbiBhcnJheQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBhID0gbmV3IEFycmF5KCk7DQogIGFbMTAwXSA9IDE7DQogIGFbOTk5OTldID0gIiI7ICANCiAgYVsxMF0gPSBuZXcgT2JqZWN0KCk7DQogIGFbNTU1NV0gPSA1LjU7DQogIGFbMTIzNDU2XSA9ICJzdHIiOw0KICBhWzVdID0gMUUrMzA5Ow0KICBpZiAoYS5pbmRleE9mKDEpICE9PSAxMDAgfHwgDQogICAgICBhLmluZGV4T2YoIiIpICE9PSA5OTk5OSB8fA0KICAgICAgYS5pbmRleE9mKCJzdHIiKSAhPT0gMTIzNDU2IHx8DQogICAgICBhLmluZGV4T2YoMUUrMzA5KSAhPT0gNSB8fCAgIC8vSW5maW5pdHkNCiAgICAgIGEuaW5kZXhPZig1LjUpICE9PSA1NTU1ICkNCiAgew0KICAgIHJldHVybiBmYWxzZTsNCiAgfQ0KICBpZiAoYS5pbmRleE9mKHRydWUpID09PSAtMSAmJiANCiAgICAgIGEuaW5kZXhPZig1KSA9PT0gLTEgJiYNCiAgICAgIGEuaW5kZXhPZigic3RyMSIpID09PSAtMSAmJg0KICAgICAgYS5pbmRleE9mKG51bGwpID09PSAtMSAmJg0KICAgICAgYS5pbmRleE9mKG5ldyBPYmplY3QoKSkgPT09IC0xKSANCiAgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.indexOf returns -1 for elements not present in array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-10-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTQvMTUuNC40LjE0LTEwLTIuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuaW5kZXhPZiByZXR1cm5zIC0xIGlmICdsZW5ndGgnIGlzIDAgYW5kIGRvZXMgbm90IGFjY2VzcyBhbnkgb3RoZXIgcHJvcGVydGllcw0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KICB2YXIgZiA9IHtsZW5ndGg6IDB9Ow0KICBPYmplY3QuZGVmaW5lUHJvcGVydHkoZiwiMCIse2dldDogZnVuY3Rpb24gKCkge2FjY2Vzc2VkID0gdHJ1ZTsgcmV0dXJuIDE7fX0pOw0KDQogIA0KICB2YXIgaSA9IEFycmF5LnByb3RvdHlwZS5pbmRleE9mLmNhbGwoZiwxKTsNCiAgDQogIGlmIChpID09PSAtMSAmJiBhY2Nlc3NlZD09ZmFsc2UpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.indexOf returns -1 if 'length' is 0 and does not access any other properties","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-10-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTQvMTUuNC40LjE0LTItMS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5pbmRleE9mIC0gJ2xlbmd0aCcgaXMgb3duIGRhdGEgcHJvcGVydHkgb24gYW4gQXJyYXktbGlrZSBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqT25lID0geyAxOiB0cnVlLCBsZW5ndGg6IDIgfTsNCiAgICAgICAgdmFyIG9ialR3byA9IHsgMjogdHJ1ZSwgbGVuZ3RoOiAyIH07DQogICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUuaW5kZXhPZi5jYWxsKG9iak9uZSwgdHJ1ZSkgPT09IDEgJiYNCiAgICAgICAgICAgIEFycmF5LnByb3RvdHlwZS5pbmRleE9mLmNhbGwob2JqVHdvLCB0cnVlKSA9PT0gLTE7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.indexOf - 'length' is own data property on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-2-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTQvMTUuNC40LjE0LTItMTAuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuaW5kZXhPZiAtICdsZW5ndGgnIGlzIGluaGVyaXRlZCBhY2Nlc3NvciBwcm9wZXJ0eQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHByb3RvID0ge307DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShwcm90bywgImxlbmd0aCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiAyOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgQ29uID0gZnVuY3Rpb24gKCkge307DQogICAgICAgIENvbi5wcm90b3R5cGUgPSBwcm90bzsNCg0KICAgICAgICB2YXIgY2hpbGRPbmUgPSBuZXcgQ29uKCk7DQogICAgICAgIGNoaWxkT25lWzFdID0gdHJ1ZTsNCiAgICAgICAgdmFyIGNoaWxkVHdvID0gbmV3IENvbigpOw0KICAgICAgICBjaGlsZFR3b1syXSA9IHRydWU7DQoNCiAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5pbmRleE9mLmNhbGwoY2hpbGRPbmUsIHRydWUpID09PSAxICYmDQogICAgICAgICAgICBBcnJheS5wcm90b3R5cGUuaW5kZXhPZi5jYWxsKGNoaWxkVHdvLCB0cnVlKSA9PT0gLTE7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.indexOf - 'length' is inherited accessor property","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-2-10.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTQvMTUuNC40LjE0LTItMTEuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuaW5kZXhPZiAtICdsZW5ndGgnIGlzIG93biBhY2Nlc3NvciBwcm9wZXJ0eSB3aXRob3V0IGEgZ2V0IGZ1bmN0aW9uDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0geyAxOiB0cnVlIH07DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJsZW5ndGgiLCB7DQogICAgICAgICAgICBzZXQ6IGZ1bmN0aW9uICgpIHsgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLmluZGV4T2YuY2FsbChvYmosIHRydWUpID09PSAtMTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.indexOf - 'length' is own accessor property without a get function","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-2-11.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTQvMTUuNC40LjE0LTItMTIuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuaW5kZXhPZiAtICdsZW5ndGgnIGlzIG93biBhY2Nlc3NvciBwcm9wZXJ0eSB3aXRob3V0IGEgZ2V0IGZ1bmN0aW9uIHRoYXQgb3ZlcnJpZGVzIGFuIGluaGVyaXRlZCBhY2Nlc3NvciBwcm9wZXJ0eQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoT2JqZWN0LnByb3RvdHlwZSwgImxlbmd0aCIsIHsNCiAgICAgICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDIwOw0KICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgdmFyIG9iaiA9IHsgMTogMSB9Ow0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgImxlbmd0aCIsIHsNCiAgICAgICAgICAgICAgICBzZXQ6IGZ1bmN0aW9uICgpIHsgfSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLmluZGV4T2YuY2FsbChvYmosIDEpID09PSAtMTsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBPYmplY3QucHJvdG90eXBlLmxlbmd0aDsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.indexOf - 'length' is own accessor property without a get function that overrides an inherited accessor property","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-2-12.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTQvMTUuNC40LjE0LTItMTMuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuaW5kZXhPZiAtICdsZW5ndGgnIGlzIGluaGVyaXRlZCBhY2Nlc3NvciBwcm9wZXJ0eSB3aXRob3V0IGEgZ2V0IGZ1bmN0aW9uDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgcHJvdG8gPSB7fTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHByb3RvLCAibGVuZ3RoIiwgew0KICAgICAgICAgICAgc2V0OiBmdW5jdGlvbiAoKSB7IH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIENvbiA9IGZ1bmN0aW9uICgpIHt9Ow0KICAgICAgICBDb24ucHJvdG90eXBlID0gcHJvdG87DQoNCiAgICAgICAgdmFyIGNoaWxkID0gbmV3IENvbigpOw0KICAgICAgICBjaGlsZFsxXSA9IHRydWU7DQoNCiAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5pbmRleE9mLmNhbGwoY2hpbGQsIHRydWUpID09PSAtMTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.indexOf - 'length' is inherited accessor property without a get function","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-2-13.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTQvMTUuNC40LjE0LTItMTQuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuaW5kZXhPZiAtICdsZW5ndGgnIGlzIHVuZGVmaW5lZCBwcm9wZXJ0eQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgMDogdHJ1ZSwgMTogdHJ1ZSB9Ow0KDQogICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUuaW5kZXhPZi5jYWxsKG9iaiwgdHJ1ZSkgPT09IC0xOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.indexOf - 'length' is undefined property","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-2-14.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTQvMTUuNC40LjE0LTItMTUuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuaW5kZXhPZiAtICdsZW5ndGgnIGlzIHByb3BlcnR5IG9mIHRoZSBnbG9iYWwgb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIHRhcmdldE9iaiA9IHt9Ow0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgdmFyIG9sZExlbiA9IGZuR2xvYmFsT2JqZWN0KCkubGVuZ3RoOw0KICAgICAgICAgICAgZm5HbG9iYWxPYmplY3QoKS5sZW5ndGggPSAyOw0KDQogICAgICAgICAgICBmbkdsb2JhbE9iamVjdCgpWzFdID0gdGFyZ2V0T2JqOw0KICAgICAgICAgICAgaWYgKEFycmF5LnByb3RvdHlwZS5pbmRleE9mLmNhbGwoZm5HbG9iYWxPYmplY3QoKSwgdGFyZ2V0T2JqKSAhPT0gMSkgew0KICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgZm5HbG9iYWxPYmplY3QoKVsxXSA9IHt9Ow0KICAgICAgICAgICAgZm5HbG9iYWxPYmplY3QoKVsyXSA9IHRhcmdldE9iajsNCg0KICAgICAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5pbmRleE9mLmNhbGwoZm5HbG9iYWxPYmplY3QoKSwgdGFyZ2V0T2JqKSA9PT0gLTE7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgZm5HbG9iYWxPYmplY3QoKVsxXTsNCiAgICAgICAgICAgIGRlbGV0ZSBmbkdsb2JhbE9iamVjdCgpWzJdOw0KICAgICAgICAgICAgZm5HbG9iYWxPYmplY3QoKS5sZW5ndGggPSBvbGRMZW47DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.indexOf - 'length' is property of the global object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-2-15.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTQvMTUuNC40LjE0LTItMTcuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuaW5kZXhPZiBhcHBsaWVkIHRvIEFyZ3VtZW50cyBvYmplY3Qgd2hpY2ggaW1wbGVtZW50cyBpdHMgb3duIHByb3BlcnR5IGdldCBtZXRob2QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBmdW5jID0gZnVuY3Rpb24gKGEsIGIpIHsNCiAgICAgICAgICAgIGFyZ3VtZW50c1syXSA9IGZhbHNlOw0KICAgICAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5pbmRleE9mLmNhbGwoYXJndW1lbnRzLCB0cnVlKSA9PT0gMSAmJg0KICAgICAgICAgICAgICAgIEFycmF5LnByb3RvdHlwZS5pbmRleE9mLmNhbGwoYXJndW1lbnRzLCBmYWxzZSkgPT09IC0xOw0KICAgICAgICB9Ow0KDQogICAgICAgIHJldHVybiBmdW5jKDAsIHRydWUpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.indexOf applied to Arguments object which implements its own property get method","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-2-17.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTQvMTUuNC40LjE0LTItMTguanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuaW5kZXhPZiBhcHBsaWVkIHRvIFN0cmluZyBvYmplY3QsIHdoaWNoIGltcGxlbWVudHMgaXRzIG93biBwcm9wZXJ0eSBnZXQgbWV0aG9kDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIHN0ciA9IG5ldyBTdHJpbmcoIjAxMiIpOw0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgU3RyaW5nLnByb3RvdHlwZVszXSA9ICIzIjsNCiAgICAgICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUuaW5kZXhPZi5jYWxsKHN0ciwgIjIiKSA9PT0gMiAmJg0KICAgICAgICAgICAgICAgIEFycmF5LnByb3RvdHlwZS5pbmRleE9mLmNhbGwoc3RyLCAiMyIpID09PSAtMTsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBTdHJpbmcucHJvdG90eXBlWzNdOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.indexOf applied to String object, which implements its own property get method","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-2-18.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTQvMTUuNC40LjE0LTItMTkuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuaW5kZXhPZiBhcHBsaWVkIHRvIEZ1bmN0aW9uIG9iamVjdCB3aGljaCBpbXBsZW1lbnRzIGl0cyBvd24gcHJvcGVydHkgZ2V0IG1ldGhvZA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IGZ1bmN0aW9uIChhLCBiKSB7DQogICAgICAgICAgICByZXR1cm4gYSArIGI7DQogICAgICAgIH07DQogICAgICAgIG9ialsxXSA9ICJiIjsNCiAgICAgICAgb2JqWzJdID0gImMiOw0KDQogICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUuaW5kZXhPZi5jYWxsKG9iaiwgb2JqWzFdKSA9PT0gMSAmJg0KICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlLmluZGV4T2YuY2FsbChvYmosIG9ialsyXSkgPT09IC0xOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.indexOf applied to Function object which implements its own property get method","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-2-19.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTQvMTUuNC40LjE0LTItMi5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5pbmRleE9mIC0gJ2xlbmd0aCcgaXMgb3duIGRhdGEgcHJvcGVydHkgb24gYW4gQXJyYXkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgdGFyZ2V0T2JqID0ge307DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBBcnJheS5wcm90b3R5cGVbMl0gPSB0YXJnZXRPYmo7DQogICAgICAgICAgICANCiAgICAgICAgICAgIHJldHVybiBbMCwgdGFyZ2V0T2JqXS5pbmRleE9mKHRhcmdldE9iaikgPT09IDEgJiYNCiAgICAgICAgICAgICAgICBbMCwgMV0uaW5kZXhPZih0YXJnZXRPYmopID09PSAtMTsNCg0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIEFycmF5LnByb3RvdHlwZVsyXTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.indexOf - 'length' is own data property on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-2-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTQvMTUuNC40LjE0LTItMy5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5pbmRleE9mIC0gJ2xlbmd0aCcgaXMgb3duIGRhdGEgcHJvcGVydHkgdGhhdCBvdmVycmlkZXMgYW4gaW5oZXJpdGVkIGRhdGEgcHJvcGVydHkgb24gYW4gQXJyYXktbGlrZSBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBwcm90byA9IHsgbGVuZ3RoOiAwIH07DQoNCiAgICAgICAgdmFyIENvbiA9IGZ1bmN0aW9uICgpIHt9Ow0KICAgICAgICBDb24ucHJvdG90eXBlID0gcHJvdG87DQoNCiAgICAgICAgdmFyIGNoaWxkID0gbmV3IENvbigpOw0KICAgICAgICBjaGlsZC5sZW5ndGggPSAyOw0KICAgICAgICBjaGlsZFsxXSA9IHRydWU7DQoNCiAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5pbmRleE9mLmNhbGwoY2hpbGQsIHRydWUpID09PSAxOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.indexOf - 'length' is own data property that overrides an inherited data property on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-2-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTQvMTUuNC40LjE0LTItNC5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5pbmRleE9mIC0gJ2xlbmd0aCcgaXMgb3duIGRhdGEgcHJvcGVydHkgdGhhdCBvdmVycmlkZXMgYW4gaW5oZXJpdGVkIGRhdGEgcHJvcGVydHkgb24gYW4gQXJyYXkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciB0YXJnZXRPYmogPSB7fTsNCiAgICAgICAgdmFyIGFyclByb3RvTGVuOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBhcnJQcm90b0xlbiA9IEFycmF5LnByb3RvdHlwZS5sZW5ndGg7DQogICAgICAgICAgICBBcnJheS5wcm90b3R5cGUubGVuZ3RoID0gMDsNCg0KICAgICAgICAgICAgcmV0dXJuIFswLCB0YXJnZXRPYmpdLmluZGV4T2YodGFyZ2V0T2JqKSA9PT0gMTsNCg0KICAgICAgICB9IGZpbmFsbHkgew0KDQogICAgICAgICAgICBBcnJheS5wcm90b3R5cGUubGVuZ3RoID0gYXJyUHJvdG9MZW47DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.indexOf - 'length' is own data property that overrides an inherited data property on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-2-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTQvMTUuNC40LjE0LTItNS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5pbmRleE9mIC0gJ2xlbmd0aCcgaXMgb3duIGRhdGEgcHJvcGVydHkgdGhhdCBvdmVycmlkZXMgYW4gaW5oZXJpdGVkIGFjY2Vzc29yIHByb3BlcnR5IG9uIGFuIEFycmF5LWxpa2Ugb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIHByb3RvID0ge307DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShwcm90bywgImxlbmd0aCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiAwOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgQ29uID0gZnVuY3Rpb24gKCkge307DQogICAgICAgIENvbi5wcm90b3R5cGUgPSBwcm90bzsNCg0KICAgICAgICB2YXIgY2hpbGQgPSBuZXcgQ29uKCk7DQogICAgICAgIA0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoY2hpbGQsICJsZW5ndGgiLCB7DQogICAgICAgICAgICB2YWx1ZTogMiwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCiAgICAgICAgY2hpbGRbMV0gPSB0cnVlOw0KDQogICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUuaW5kZXhPZi5jYWxsKGNoaWxkLCB0cnVlKSA9PT0gMTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.indexOf - 'length' is own data property that overrides an inherited accessor property on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-2-5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTQvMTUuNC40LjE0LTItNi5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5pbmRleE9mIC0gJ2xlbmd0aCcgaXMgYW4gaW5oZXJpdGVkIGRhdGEgcHJvcGVydHkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgcHJvdG8gPSB7IGxlbmd0aDogMiB9Ow0KDQogICAgICAgIHZhciBDb24gPSBmdW5jdGlvbiAoKSB7fTsNCiAgICAgICAgQ29uLnByb3RvdHlwZSA9IHByb3RvOw0KDQogICAgICAgIHZhciBjaGlsZE9uZSA9IG5ldyBDb24oKTsNCiAgICAgICAgY2hpbGRPbmVbMV0gPSB0cnVlOw0KICAgICAgICB2YXIgY2hpbGRUd28gPSBuZXcgQ29uKCk7DQogICAgICAgIGNoaWxkVHdvWzJdID0gdHJ1ZTsNCg0KICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLmluZGV4T2YuY2FsbChjaGlsZE9uZSwgdHJ1ZSkgPT09IDEgJiYNCiAgICAgICAgICAgIEFycmF5LnByb3RvdHlwZS5pbmRleE9mLmNhbGwoY2hpbGRUd28sIHRydWUpID09PSAtMTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.indexOf - 'length' is an inherited data property","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-2-6.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTQvMTUuNC40LjE0LTItNy5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5pbmRleE9mIC0gJ2xlbmd0aCcgaXMgb3duIGFjY2Vzc29yIHByb3BlcnR5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iak9uZSA9IHsgMTogdHJ1ZSB9Ow0KICAgICAgICB2YXIgb2JqVHdvID0geyAyOiB0cnVlIH07DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmpPbmUsICJsZW5ndGgiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gMjsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmpUd28sICJsZW5ndGgiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gMjsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5pbmRleE9mLmNhbGwob2JqT25lLCB0cnVlKSA9PT0gMSAmJg0KICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlLmluZGV4T2YuY2FsbChvYmpUd28sIHRydWUpID09PSAtMTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.indexOf - 'length' is own accessor property","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-2-7.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTQvMTUuNC40LjE0LTItOC5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5pbmRleE9mIC0gJ2xlbmd0aCcgaXMgb3duIGFjY2Vzc29yIHByb3BlcnR5IHRoYXQgb3ZlcnJpZGVzIGFuIGluaGVyaXRlZCBkYXRhIHByb3BlcnR5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgcHJvdG8gPSB7IGxlbmd0aDogMCB9Ow0KDQogICAgICAgIHZhciBDb24gPSBmdW5jdGlvbiAoKSB7fTsNCiAgICAgICAgQ29uLnByb3RvdHlwZSA9IHByb3RvOw0KDQogICAgICAgIHZhciBjaGlsZCA9IG5ldyBDb24oKTsNCiAgICAgICAgY2hpbGRbMV0gPSB0cnVlOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShjaGlsZCwgImxlbmd0aCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiAyOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLmluZGV4T2YuY2FsbChjaGlsZCwgdHJ1ZSkgPT09IDE7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.indexOf - 'length' is own accessor property that overrides an inherited data property","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-2-8.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTQvMTUuNC40LjE0LTItOS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5pbmRleE9mIC0gJ2xlbmd0aCcgaXMgb3duIGFjY2Vzc29yIHByb3BlcnR5IHRoYXQgb3ZlcnJpZGVzIGFuIGluaGVyaXRlZCBhY2Nlc3NvciBwcm9wZXJ0eQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBwcm90byA9IHt9Ow0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkocHJvdG8sICJsZW5ndGgiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gMDsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIENvbiA9IGZ1bmN0aW9uICgpIHt9Ow0KICAgICAgICBDb24ucHJvdG90eXBlID0gcHJvdG87DQoNCiAgICAgICAgdmFyIGNoaWxkID0gbmV3IENvbigpOw0KICAgICAgICBjaGlsZFsxXSA9IHRydWU7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGNoaWxkLCAibGVuZ3RoIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIDI7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUuaW5kZXhPZi5jYWxsKGNoaWxkLCB0cnVlKSA9PT0gMTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.indexOf - 'length' is own accessor property that overrides an inherited accessor property","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-2-9.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTQvMTUuNC40LjE0LTMtMS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5pbmRleE9mIC0gdmFsdWUgb2YgJ2xlbmd0aCcgaXMgdW5kZWZpbmVkDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0geyAwOiAxLCAxOiAxLCBsZW5ndGg6IHVuZGVmaW5lZCB9Ow0KDQogICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUuaW5kZXhPZi5jYWxsKG9iaiwgMSkgPT09IC0xOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.indexOf - value of 'length' is undefined","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-3-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTQvMTUuNC40LjE0LTMtMTAuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuaW5kZXhPZiAtIHZhbHVlIG9mICdsZW5ndGgnIGlzIG51bWJlciBwcmltaXRpdmUgKHZhbHVlIGlzIE5hTikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7IDA6IDAsIGxlbmd0aDogTmFOIH07DQoNCiAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5pbmRleE9mLmNhbGwob2JqLCAwKSA9PT0gLTE7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.indexOf - value of 'length' is number primitive (value is NaN)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-3-10.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTQvMTUuNC40LjE0LTMtMTEuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuaW5kZXhPZiAtICdsZW5ndGgnIGlzIGEgc3RyaW5nIGNvbnRhaW5pbmcgYSBwb3NpdGl2ZSBudW1iZXINCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7IDE6IDEsIDI6IDIsIGxlbmd0aDogIjIiIH07DQoNCiAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5pbmRleE9mLmNhbGwob2JqLCAxKSA9PT0gMSAmJg0KICAgICAgICBBcnJheS5wcm90b3R5cGUuaW5kZXhPZi5jYWxsKG9iaiwgMikgPT09IC0xOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.indexOf - 'length' is a string containing a positive number","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-3-11.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTQvMTUuNC40LjE0LTMtMTIuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuaW5kZXhPZiAtICdsZW5ndGgnIGlzIGEgc3RyaW5nIGNvbnRhaW5pbmcgYSBuZWdhdGl2ZSBudW1iZXINCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7IDE6ICJ0cnVlIiwgMjogIjIiLCBsZW5ndGg6ICItNDI5NDk2NzI5NCIgfTsNCg0KICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLmluZGV4T2YuY2FsbChvYmosICJ0cnVlIikgPT09IDEgJiYNCiAgICAgICAgQXJyYXkucHJvdG90eXBlLmluZGV4T2YuY2FsbChvYmosICIyIikgPT09IC0xOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.indexOf - 'length' is a string containing a negative number","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-3-12.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTQvMTUuNC40LjE0LTMtMTMuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuaW5kZXhPZiAtICdsZW5ndGgnIGlzIGEgc3RyaW5nIGNvbnRhaW5pbmcgYSBkZWNpbWFsIG51bWJlcg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgMTk5OiB0cnVlLCAyMDA6ICIyMDAuNTkiLCBsZW5ndGg6ICIyMDAuNTkiIH07DQoNCiAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5pbmRleE9mLmNhbGwob2JqLCB0cnVlKSA9PT0gMTk5ICYmDQogICAgICAgICAgICBBcnJheS5wcm90b3R5cGUuaW5kZXhPZi5jYWxsKG9iaiwgIjIwMC41OSIpID09PSAtMTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.indexOf - 'length' is a string containing a decimal number","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-3-13.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTQvMTUuNC40LjE0LTMtMTQuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuaW5kZXhPZiAtICdsZW5ndGgnIGlzIGEgc3RyaW5nIGNvbnRhaW5pbmcgKy8tSW5maW5pdHkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmpPbmUgPSB7IDA6IHRydWUsIDE6IHRydWUsIGxlbmd0aDogIkluZmluaXR5IiB9Ow0KICAgICAgICB2YXIgb2JqVHdvID0geyAwOiB0cnVlLCAxOiB0cnVlLCBsZW5ndGg6ICIrSW5maW5pdHkiIH07DQogICAgICAgIHZhciBvYmpUaHJlZSA9IHsgMDogdHJ1ZSwgMTogdHJ1ZSwgbGVuZ3RoOiAiLUluZmluaXR5IiB9Ow0KDQogICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUuaW5kZXhPZi5jYWxsKG9iak9uZSwgdHJ1ZSkgPT09IC0xICYmDQogICAgICAgICAgICBBcnJheS5wcm90b3R5cGUuaW5kZXhPZi5jYWxsKG9ialR3bywgdHJ1ZSkgPT09IC0xICYmDQogICAgICAgICAgICBBcnJheS5wcm90b3R5cGUuaW5kZXhPZi5jYWxsKG9ialRocmVlLCB0cnVlKSA9PT0gLTE7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.indexOf - 'length' is a string containing +/-Infinity","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-3-14.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTQvMTUuNC40LjE0LTMtMTUuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuaW5kZXhPZiAtICdsZW5ndGgnIGlzIGEgc3RyaW5nIGNvbnRhaW5pbmcgYW4gZXhwb25lbnRpYWwgbnVtYmVyDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0geyAxOiB0cnVlLCAyOiAiMkUwIiwgbGVuZ3RoOiAiMkUwIiB9Ow0KDQogICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUuaW5kZXhPZi5jYWxsKG9iaiwgdHJ1ZSkgPT09IDEgJiYNCiAgICAgICAgQXJyYXkucHJvdG90eXBlLmluZGV4T2YuY2FsbChvYmosICIyRTAiKSA9PT0gLTE7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.indexOf - 'length' is a string containing an exponential number","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-3-15.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTQvMTUuNC40LjE0LTMtMTYuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuaW5kZXhPZiAtICdsZW5ndGgnIGlzIGEgc3RyaW5nIGNvbnRhaW5pbmcgYSBoZXggbnVtYmVyDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0geyAxMDogdHJ1ZSwgMTE6ICIweDAwQiIsIGxlbmd0aDogIjB4MDBCIiB9Ow0KDQogICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUuaW5kZXhPZi5jYWxsKG9iaiwgdHJ1ZSkgPT09IDEwICYmDQogICAgICAgICAgICBBcnJheS5wcm90b3R5cGUuaW5kZXhPZi5jYWxsKG9iaiwgIjB4MDBCIikgPT09IC0xOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.indexOf - 'length' is a string containing a hex number","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-3-16.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTQvMTUuNC40LjE0LTMtMTcuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuaW5kZXhPZiAtICdsZW5ndGgnIGlzIGEgc3RyaW5nIGNvbnRhaW5pbmcgYSBudW1iZXIgd2l0aCBsZWFkaW5nIHplcm9zDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0geyAxOiB0cnVlLCAyOiAiMDAwMi4wIiwgbGVuZ3RoOiAiMDAwMi4wIiB9Ow0KDQogICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUuaW5kZXhPZi5jYWxsKG9iaiwgdHJ1ZSkgPT09IDEgJiYNCiAgICAgICAgICAgIEFycmF5LnByb3RvdHlwZS5pbmRleE9mLmNhbGwob2JqLCAiMDAwMi4wIikgPT09IC0xOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.indexOf - 'length' is a string containing a number with leading zeros","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-3-17.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTQvMTUuNC40LjE0LTMtMTguanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuaW5kZXhPZiAtIHZhbHVlIG9mICdsZW5ndGgnIGlzIGEgc3RyaW5nIHRoYXQgY2FuJ3QgY29udmVydCB0byBhIG51bWJlcg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgMDogdHJ1ZSwgMTAwOiB0cnVlLCBsZW5ndGg6ICJvbmUiIH07DQoNCiAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5pbmRleE9mLmNhbGwob2JqLCB0cnVlKSA9PT0gLTE7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.indexOf - value of 'length' is a string that can't convert to a number","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-3-18.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTQvMTUuNC40LjE0LTMtMTkuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuaW5kZXhPZiAtIHZhbHVlIG9mICdsZW5ndGgnIGlzIGFuIE9iamVjdCB3aGljaCBoYXMgYW4gb3duIHRvU3RyaW5nIG1ldGhvZC4NCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIC8vIG9iamVjdHMgaW5oZXJpdCB0aGUgZGVmYXVsdCB2YWx1ZU9mKCkgbWV0aG9kIGZyb20gT2JqZWN0DQogICAgICAgIC8vIHRoYXQgc2ltcGx5IHJldHVybnMgaXRzZWxmLiBTaW5jZSB0aGUgZGVmYXVsdCB2YWx1ZU9mKCkgbWV0aG9kDQogICAgICAgIC8vIGRvZXMgbm90IHJldHVybiBhIHByaW1pdGl2ZSB2YWx1ZSwgRVMgbmV4dCB0cmllcyB0byBjb252ZXJ0IHRoZSBvYmplY3QNCiAgICAgICAgLy8gdG8gYSBudW1iZXIgYnkgY2FsbGluZyBpdHMgdG9TdHJpbmcoKSBtZXRob2QgYW5kIGNvbnZlcnRpbmcgdGhlDQogICAgICAgIC8vIHJlc3VsdGluZyBzdHJpbmcgdG8gYSBudW1iZXIuDQoNCiAgICAgICAgdmFyIG9iaiA9IHsNCiAgICAgICAgICAgIDE6IHRydWUsDQogICAgICAgICAgICAyOiAyLA0KDQogICAgICAgICAgICBsZW5ndGg6IHsNCiAgICAgICAgICAgICAgICB0b1N0cmluZzogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gJzInOw0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0NCiAgICAgICAgfTsNCg0KICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLmluZGV4T2YuY2FsbChvYmosIHRydWUpID09PSAxICYmDQogICAgICAgICAgICBBcnJheS5wcm90b3R5cGUuaW5kZXhPZi5jYWxsKG9iaiwgMikgPT09IC0xOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.indexOf - value of 'length' is an Object which has an own toString method.","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-3-19.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTQvMTUuNC40LjE0LTMtMi5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5pbmRleE9mIHJldHVybiAtMSB3aGVuICdsZW5ndGgnIGlzIGEgYm9vbGVhbiAodmFsdWUgaXMgdHJ1ZSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0geyAwOiAwLCAxOiAxLCBsZW5ndGg6IHRydWUgfTsNCiAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5pbmRleE9mLmNhbGwob2JqLCAwKSA9PT0gMCAmJg0KICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlLmluZGV4T2YuY2FsbChvYmosIDEpID09PSAtMTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.indexOf return -1 when 'length' is a boolean (value is true)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-3-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTQvMTUuNC40LjE0LTMtMjAuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuaW5kZXhPZiAtIHZhbHVlIG9mICdsZW5ndGgnIGlzIGFuIE9iamVjdCB3aGljaCBoYXMgYW4gb3duIHZhbHVlT2YgbWV0aG9kLg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgLy92YWx1ZU9mIG1ldGhvZCB3aWxsIGJlIGludm9rZWQgZmlyc3QsIHNpbmNlIGhpbnQgaXMgTnVtYmVyDQogICAgICAgIHZhciBvYmogPSB7DQogICAgICAgICAgICAxOiB0cnVlLA0KICAgICAgICAgICAgMjogMiwNCiAgICAgICAgICAgIGxlbmd0aDogew0KICAgICAgICAgICAgICAgIHZhbHVlT2Y6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDI7DQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfQ0KICAgICAgICB9Ow0KDQogICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUuaW5kZXhPZi5jYWxsKG9iaiwgdHJ1ZSkgPT09IDEgJiYNCiAgICAgICAgICAgIEFycmF5LnByb3RvdHlwZS5pbmRleE9mLmNhbGwob2JqLCAyKSA9PT0gLTE7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.indexOf - value of 'length' is an Object which has an own valueOf method.","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-3-20.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTQvMTUuNC40LjE0LTMtMjEuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuaW5kZXhPZiAtICdsZW5ndGgnIGlzIGFuIG9iamVjdCB0aGF0IGhhcyBhbiBvd24gdmFsdWVPZiBtZXRob2QgdGhhdCByZXR1cm5zIGFuIG9iamVjdCBhbmQgdG9TdHJpbmcgbWV0aG9kIHRoYXQgcmV0dXJucyBhIHN0cmluZw0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHRvU3RyaW5nQWNjZXNzZWQgPSBmYWxzZTsNCiAgICAgICAgdmFyIHZhbHVlT2ZBY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIHZhciBvYmogPSB7DQogICAgICAgICAgICAxOiB0cnVlLA0KICAgICAgICAgICAgbGVuZ3RoOiB7DQogICAgICAgICAgICAgICAgdG9TdHJpbmc6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICAgICAgdG9TdHJpbmdBY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICAgICAgICAgIHJldHVybiAnMic7DQogICAgICAgICAgICAgICAgfSwNCg0KICAgICAgICAgICAgICAgIHZhbHVlT2Y6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICAgICAgdmFsdWVPZkFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHt9Ow0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0NCiAgICAgICAgfTsNCg0KICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLmluZGV4T2YuY2FsbChvYmosIHRydWUpID09PSAxICYmIHRvU3RyaW5nQWNjZXNzZWQgJiYgdmFsdWVPZkFjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.indexOf - 'length' is an object that has an own valueOf method that returns an object and toString method that returns a string","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-3-21.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTQvMTUuNC40LjE0LTMtMjIuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuaW5kZXhPZiB0aHJvd3MgVHlwZUVycm9yIGV4Y2VwdGlvbiB3aGVuICdsZW5ndGgnIGlzIGFuIG9iamVjdCB3aXRoIHRvU3RyaW5nIGFuZCB2YWx1ZU9mIG1ldGhvZHMgdGhhdCBkb27vv710IHJldHVybiBwcmltaXRpdmUgdmFsdWVzDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgdG9TdHJpbmdBY2Nlc3NlZCA9IGZhbHNlOw0KICAgICAgICB2YXIgdmFsdWVPZkFjY2Vzc2VkID0gZmFsc2U7DQoNCiAgICAgICAgdmFyIG9iaiA9IHsNCiAgICAgICAgICAgIGxlbmd0aDogew0KICAgICAgICAgICAgICAgIHRvU3RyaW5nOiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgIHRvU3RyaW5nQWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgICAgICAgICByZXR1cm4ge307DQogICAgICAgICAgICAgICAgfSwNCg0KICAgICAgICAgICAgICAgIHZhbHVlT2Y6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICAgICAgdmFsdWVPZkFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHt9Ow0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0NCiAgICAgICAgfTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlLmluZGV4T2YuY2FsbChvYmopOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gdG9TdHJpbmdBY2Nlc3NlZCAmJiB2YWx1ZU9mQWNjZXNzZWQ7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.indexOf throws TypeError exception when 'length' is an object with toString and valueOf methods that don\ufffdt return primitive values","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-3-22.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTQvMTUuNC40LjE0LTMtMjMuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuaW5kZXhPZiB1c2VzIGluaGVyaXRlZCB2YWx1ZU9mIG1ldGhvZCB3aGVuICdsZW5ndGgnIGlzIGFuIG9iamVjdCB3aXRoIGFuIG93biB0b1N0cmluZyBhbmQgaW5oZXJpdGVkIHZhbHVlT2YgbWV0aG9kcw0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHRvU3RyaW5nQWNjZXNzZWQgPSBmYWxzZTsNCiAgICAgICAgdmFyIHZhbHVlT2ZBY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIHZhciBwcm90byA9IHsNCiAgICAgICAgICAgIHZhbHVlT2Y6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICB2YWx1ZU9mQWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgICAgIHJldHVybiAyOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9Ow0KDQogICAgICAgIHZhciBDb24gPSBmdW5jdGlvbiAoKSB7fTsNCiAgICAgICAgQ29uLnByb3RvdHlwZSA9IHByb3RvOw0KDQogICAgICAgIHZhciBjaGlsZCA9IG5ldyBDb24oKTsNCiAgICAgICAgY2hpbGQudG9TdHJpbmcgPSBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICB0b1N0cmluZ0FjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIHJldHVybiAyOw0KICAgICAgICB9Ow0KDQogICAgICAgIHZhciBvYmogPSB7DQogICAgICAgICAgICAxOiB0cnVlLA0KICAgICAgICAgICAgbGVuZ3RoOiBjaGlsZA0KICAgICAgICB9Ow0KDQogICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUuaW5kZXhPZi5jYWxsKG9iaiwgdHJ1ZSkgPT09IDEgJiYgdmFsdWVPZkFjY2Vzc2VkICYmICF0b1N0cmluZ0FjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.indexOf uses inherited valueOf method when 'length' is an object with an own toString and inherited valueOf methods","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-3-23.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTQvMTUuNC40LjE0LTMtMjQuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuaW5kZXhPZiAtIHZhbHVlIG9mICdsZW5ndGgnIGlzIGEgcG9zaXRpdmUgbm9uLWludGVnZXIsIGVuc3VyZSB0cnVuY2F0aW9uIG9jY3VycyBpbiB0aGUgcHJvcGVyIGRpcmVjdGlvbg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgMTIyOiB0cnVlLCAxMjM6IGZhbHNlLCBsZW5ndGg6IDEyMy4zMjEgfTsgLy9sZW5ndGggd2lsbCBiZSAxMjMgZmluYWxseQ0KDQogICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUuaW5kZXhPZi5jYWxsKG9iaiwgdHJ1ZSkgPT09IDEyMiAmJg0KICAgICAgICBBcnJheS5wcm90b3R5cGUuaW5kZXhPZi5jYWxsKG9iaiwgZmFsc2UpID09PSAtMTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.indexOf - value of 'length' is a positive non-integer, ensure truncation occurs in the proper direction","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-3-24.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTQvMTUuNC40LjE0LTMtMjUuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuaW5kZXhPZiAtIHZhbHVlIG9mICdsZW5ndGgnIGlzIGEgbmVnYXRpdmUgbm9uLWludGVnZXIsIGVuc3VyZSB0cnVuY2F0aW9uIG9jY3VycyBpbiB0aGUgcHJvcGVyIGRpcmVjdGlvbg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgMTogdHJ1ZSwgMjogZmFsc2UsIGxlbmd0aDogLTQyOTQ5NjcyOTQuNSB9OyAvL2xlbmd0aCB3aWxsIGJlIDIgZmluYWxseQ0KDQogICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUuaW5kZXhPZi5jYWxsKG9iaiwgdHJ1ZSkgPT09IDEgJiYNCiAgICAgICAgQXJyYXkucHJvdG90eXBlLmluZGV4T2YuY2FsbChvYmosIGZhbHNlKSA9PT0gLTE7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.indexOf - value of 'length' is a negative non-integer, ensure truncation occurs in the proper direction","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-3-25.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTQvMTUuNC40LjE0LTMtMjguanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuaW5kZXhPZiAtIHZhbHVlIG9mICdsZW5ndGgnIGlzIGJvdW5kYXJ5IHZhbHVlICgyXjMyKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciB0YXJnZXRPYmogPSB7fTsNCiAgICAgICAgdmFyIG9iaiA9IHsNCiAgICAgICAgICAgIDA6IHRhcmdldE9iaiwNCiAgICAgICAgICAgIDQyOTQ5NjcyOTQ6IHRhcmdldE9iaiwNCiAgICAgICAgICAgIDQyOTQ5NjcyOTU6IHRhcmdldE9iaiwNCiAgICAgICAgICAgIGxlbmd0aDogNDI5NDk2NzI5Ng0KICAgICAgICB9Ow0KDQogICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUuaW5kZXhPZi5jYWxsKG9iaiwgdGFyZ2V0T2JqKSA9PT0gLTE7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.indexOf - value of 'length' is boundary value (2^32)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-3-28.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTQvMTUuNC40LjE0LTMtMjkuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuaW5kZXhPZiAtIHZhbHVlIG9mICdsZW5ndGgnIGlzIGJvdW5kYXJ5IHZhbHVlICgyXjMyICsgMSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgdGFyZ2V0T2JqID0ge307DQogICAgICAgIHZhciBvYmogPSB7DQogICAgICAgICAgICAwOiB0YXJnZXRPYmosDQogICAgICAgICAgICAxOiA0Mjk0OTY3Mjk3LA0KICAgICAgICAgICAgbGVuZ3RoOiA0Mjk0OTY3Mjk3DQogICAgICAgIH07DQoNCiAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5pbmRleE9mLmNhbGwob2JqLCB0YXJnZXRPYmopID09PSAwICYmDQogICAgICAgICAgICBBcnJheS5wcm90b3R5cGUuaW5kZXhPZi5jYWxsKG9iaiwgNDI5NDk2NzI5NykgPT09IC0xOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.indexOf - value of 'length' is boundary value (2^32 + 1)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-3-29.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTQvMTUuNC40LjE0LTMtMy5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5pbmRleE9mIC0gdmFsdWUgb2YgJ2xlbmd0aCcgaXMgYSBudW1iZXIgKHZhbHVlIGlzIDApDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0geyAwOiB0cnVlLCBsZW5ndGg6IDAgfTsNCg0KICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLmluZGV4T2YuY2FsbChvYmosIHRydWUpID09PSAtMTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.indexOf - value of 'length' is a number (value is 0)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-3-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTQvMTUuNC40LjE0LTMtNC5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5pbmRleE9mIC0gdmFsdWUgb2YgJ2xlbmd0aCcgaXMgYSBudW1iZXIgKHZhbHVlIGlzICswKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgMDogdHJ1ZSwgbGVuZ3RoOiArMCB9Ow0KDQogICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUuaW5kZXhPZi5jYWxsKG9iaiwgdHJ1ZSkgPT09IC0xOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.indexOf - value of 'length' is a number (value is +0)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-3-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTQvMTUuNC40LjE0LTMtNS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5pbmRleE9mIC0gdmFsdWUgb2YgJ2xlbmd0aCcgaXMgYSBudW1iZXIgKHZhbHVlIGlzIC0wKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgMDogdHJ1ZSwgbGVuZ3RoOiAtMCB9Ow0KDQogICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUuaW5kZXhPZi5jYWxsKG9iaiwgdHJ1ZSkgPT09IC0xOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.indexOf - value of 'length' is a number (value is -0)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-3-5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTQvMTUuNC40LjE0LTMtNi5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5pbmRleE9mIC0gdmFsdWUgb2YgJ2xlbmd0aCcgaXMgYSBudW1iZXIgKHZhbHVlIGlzIHBvc2l0aXZlKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgMzogdHJ1ZSwgNDogZmFsc2UsIGxlbmd0aDogNCB9Ow0KDQogICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUuaW5kZXhPZi5jYWxsKG9iaiwgdHJ1ZSkgPT09IDMgJiYNCiAgICAgICAgICAgIEFycmF5LnByb3RvdHlwZS5pbmRleE9mLmNhbGwob2JqLCBmYWxzZSkgPT09IC0xOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.indexOf - value of 'length' is a number (value is positive)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-3-6.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTQvMTUuNC40LjE0LTMtNy5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5pbmRleE9mIC0gdmFsdWUgb2YgJ2xlbmd0aCcgaXMgYSBudW1iZXIgKHZhbHVlIGlzIG5lZ2F0aXZlKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgNDogdHJ1ZSwgNTogZmFsc2UsIGxlbmd0aDogNSAtIE1hdGgucG93KDIsIDMyKSB9Ow0KDQogICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUuaW5kZXhPZi5jYWxsKG9iaiwgdHJ1ZSkgPT09IDQgJiYNCiAgICAgICAgICAgIEFycmF5LnByb3RvdHlwZS5pbmRleE9mLmNhbGwob2JqLCBmYWxzZSkgPT09IC0xOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.indexOf - value of 'length' is a number (value is negative)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-3-7.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTQvMTUuNC40LjE0LTMtOC5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5pbmRleE9mIC0gdmFsdWUgb2YgJ2xlbmd0aCcgaXMgYSBudW1iZXIgKHZhbHVlIGlzIEluZmluaXR5KQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgMDogMCwgbGVuZ3RoOiBJbmZpbml0eSB9Ow0KDQogICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUuaW5kZXhPZi5jYWxsKG9iaiwgMCkgPT09IC0xOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.indexOf - value of 'length' is a number (value is Infinity)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-3-8.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTQvMTUuNC40LjE0LTMtOS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5pbmRleE9mIC0gdmFsdWUgb2YgJ2xlbmd0aCcgaXMgYSBudW1iZXIgKHZhbHVlIGlzIC1JbmZpbml0eSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7IDA6IDAsIGxlbmd0aDogLUluZmluaXR5IH07DQoNCiAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5pbmRleE9mLmNhbGwob2JqLCAwKSA9PT0gLTE7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.indexOf - value of 'length' is a number (value is -Infinity)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-3-9.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTQvMTUuNC40LjE0LTQtMS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5pbmRleE9mIHJldHVybnMgLTEgaWYgJ2xlbmd0aCcgaXMgMCAoZW1wdHkgYXJyYXkpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIGkgPSBbXS5pbmRleE9mKDQyKTsNCiAgaWYgKGkgPT09IC0xKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.indexOf returns -1 if 'length' is 0 (empty array)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-4-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTQvMTUuNC40LjE0LTQtMTAuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuaW5kZXhPZiAtICdsZW5ndGgnIGlzIGEgbnVtYmVyIG9mIHZhbHVlIC02ZS0xDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIHRhcmdldE9iaiA9IFtdOw0KICAgICAgICB2YXIgb2JqID0geyAwOiB0YXJnZXRPYmosIDEwMDogdGFyZ2V0T2JqLCBsZW5ndGg6IC02ZS0xIH07DQogICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUuaW5kZXhPZi5jYWxsKG9iaiwgdGFyZ2V0T2JqKSA9PT0gLTE7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.indexOf - 'length' is a number of value -6e-1","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-4-10.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTQvMTUuNC40LjE0LTQtMTEuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuaW5kZXhPZiAtICdsZW5ndGgnIGlzIGFuIGVtcHR5IHN0cmluZw0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciB0YXJnZXRPYmogPSBbXTsNCiAgICAgICAgdmFyIG9iaiA9IHsgMDogdGFyZ2V0T2JqLCAxMDA6IHRhcmdldE9iaiwgbGVuZ3RoOiAiIiB9Ow0KICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLmluZGV4T2YuY2FsbChvYmosIHRhcmdldE9iaikgPT09IC0xOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.indexOf - 'length' is an empty string","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-4-11.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTQvMTUuNC40LjE0LTQtMi5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5pbmRleE9mIHJldHVybnMgLTEgaWYgJ2xlbmd0aCcgaXMgMCAoIGxlbmd0aCBvdmVycmlkZGVuIHRvIG51bGwgKHR5cGUgY29udmVyc2lvbikpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgDQogIHZhciBpID0gQXJyYXkucHJvdG90eXBlLmluZGV4T2YuY2FsbCh7bGVuZ3RoOiBudWxsfSwgMSk7DQogIA0KICBpZiAoaSA9PT0gLTEpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.indexOf returns -1 if 'length' is 0 ( length overridden to null (type conversion))","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-4-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTQvMTUuNC40LjE0LTQtMy5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5pbmRleE9mIHJldHVybnMgLTEgaWYgJ2xlbmd0aCcgaXMgMCAobGVuZ3RoIG92ZXJyaWRkZW4gdG8gZmFsc2UgKHR5cGUgY29udmVyc2lvbikpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgDQogdmFyIGkgPSBBcnJheS5wcm90b3R5cGUuaW5kZXhPZi5jYWxsKHtsZW5ndGg6IGZhbHNlfSwgMSk7DQogIA0KICBpZiAoaSA9PT0gLTEpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.indexOf returns -1 if 'length' is 0 (length overridden to false (type conversion))","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-4-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTQvMTUuNC40LjE0LTQtNC5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5pbmRleE9mIHJldHVybnMgLTEgaWYgJ2xlbmd0aCcgaXMgMCAoZ2VuZXJpYyAnYXJyYXknIHdpdGggbGVuZ3RoIDAgKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIA0KIHZhciBpID0gQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mLmNhbGwoe2xlbmd0aDogMH0sIDEpOw0KICANCiAgaWYgKGkgPT09IC0xKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.indexOf returns -1 if 'length' is 0 (generic 'array' with length 0 )","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-4-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTQvMTUuNC40LjE0LTQtNS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5pbmRleE9mIHJldHVybnMgLTEgaWYgJ2xlbmd0aCcgaXMgMCAoIGxlbmd0aCBvdmVycmlkZGVuIHRvICcwJyAodHlwZSBjb252ZXJzaW9uKSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICANCiB2YXIgaSA9IEFycmF5LnByb3RvdHlwZS5pbmRleE9mLmNhbGwoe2xlbmd0aDogJzAnfSwgMSk7DQogIA0KICBpZiAoaSA9PT0gLTEpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.indexOf returns -1 if 'length' is 0 ( length overridden to '0' (type conversion))","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-4-5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTQvMTUuNC40LjE0LTQtNi5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5pbmRleE9mIHJldHVybnMgLTEgaWYgJ2xlbmd0aCcgaXMgMCAoc3ViY2xhc3NlZCBBcnJheSwgbGVuZ3RoIG92ZXJyaWRkZW4gd2l0aCBvYmogd2l0aCB2YWx1ZU9mKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIA0KIHZhciBpID0gQXJyYXkucHJvdG90eXBlLmluZGV4T2YuY2FsbCh7bGVuZ3RoOiB7IHZhbHVlT2Y6IGZ1bmN0aW9uICgpIHsgcmV0dXJuIDA7fX19LCAxKTsNCiAgDQogIGlmIChpID09PSAtMSkgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.indexOf returns -1 if 'length' is 0 (subclassed Array, length overridden with obj with valueOf)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-4-6.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTQvMTUuNC40LjE0LTQtNy5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5pbmRleE9mIHJldHVybnMgLTEgaWYgJ2xlbmd0aCcgaXMgMCAoIGxlbmd0aCBpcyBvYmplY3Qgb3ZlcnJpZGRlbiB3aXRoIG9iaiB3L28gdmFsdWVPZiAodG9TdHJpbmcpKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgDQogIC8vIG9iamVjdHMgaW5oZXJpdCB0aGUgZGVmYXVsdCB2YWx1ZU9mIG1ldGhvZCBvZiB0aGUgT2JqZWN0IG9iamVjdDsNCiAgLy8gdGhhdCBzaW1wbHkgcmV0dXJucyB0aGUgaXRzZWxmLiBTaW5jZSB0aGUgZGVmYXVsdCB2YWx1ZU9mKCkgbWV0aG9kDQogIC8vIGRvZXMgbm90IHJldHVybiBhIHByaW1pdGl2ZSB2YWx1ZSwgRVMgbmV4dCB0cmllcyB0byBjb252ZXJ0IHRoZSBvYmplY3QNCiAgLy8gdG8gYSBudW1iZXIgYnkgY2FsbGluZyBpdHMgdG9TdHJpbmcoKSBtZXRob2QgYW5kIGNvbnZlcnRpbmcgdGhlDQogIC8vIHJlc3VsdGluZyBzdHJpbmcgdG8gYSBudW1iZXIuDQogdmFyIGkgPSBBcnJheS5wcm90b3R5cGUuaW5kZXhPZi5jYWxsKHtsZW5ndGg6IHsgdG9TdHJpbmc6IGZ1bmN0aW9uICgpIHsgcmV0dXJuICcwJzt9fX0sIDEpOw0KICANCiAgaWYgKGkgPT09IC0xKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.indexOf returns -1 if 'length' is 0 ( length is object overridden with obj w/o valueOf (toString))","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-4-7.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTQvMTUuNC40LjE0LTQtOC5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5pbmRleE9mIHJldHVybnMgLTEgaWYgJ2xlbmd0aCcgaXMgMCAobGVuZ3RoIGlzIGFuIGVtcHR5IGFycmF5KQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgDQogIC8vIG9iamVjdHMgaW5oZXJpdCB0aGUgZGVmYXVsdCB2YWx1ZU9mIG1ldGhvZCBvZiB0aGUgT2JqZWN0IG9iamVjdDsNCiAgLy8gdGhhdCBzaW1wbHkgcmV0dXJucyB0aGUgaXRzZWxmLiBTaW5jZSB0aGUgZGVmYXVsdCB2YWx1ZU9mKCkgbWV0aG9kDQogIC8vIGRvZXMgbm90IHJldHVybiBhIHByaW1pdGl2ZSB2YWx1ZSwgRVMgbmV4dCB0cmllcyB0byBjb252ZXJ0IHRoZSBvYmplY3QNCiAgLy8gdG8gYSBudW1iZXIgYnkgY2FsbGluZyBpdHMgdG9TdHJpbmcoKSBtZXRob2QgYW5kIGNvbnZlcnRpbmcgdGhlDQogIC8vIHJlc3VsdGluZyBzdHJpbmcgdG8gYSBudW1iZXIuDQogIC8vDQogIC8vIFRoZSB0b1N0cmluZyggKSBtZXRob2Qgb24gQXJyYXkgY29udmVydHMgdGhlIGFycmF5IGVsZW1lbnRzIHRvIHN0cmluZ3MsDQogIC8vIHRoZW4gcmV0dXJucyB0aGUgcmVzdWx0IG9mIGNvbmNhdGVuYXRpbmcgdGhlc2Ugc3RyaW5ncywgd2l0aCBjb21tYXMgaW4NCiAgLy8gYmV0d2Vlbi4gQW4gYXJyYXkgd2l0aCBubyBlbGVtZW50cyBjb252ZXJ0cyB0byB0aGUgZW1wdHkgc3RyaW5nLCB3aGljaA0KICAvLyBjb252ZXJ0cyB0byB0aGUgbnVtYmVyIDAuIElmIGFuIGFycmF5IGhhcyBhIHNpbmdsZSBlbGVtZW50IHRoYXQgaXMgYQ0KICAvLyBudW1iZXIgbiwgdGhlIGFycmF5IGNvbnZlcnRzIHRvIGEgc3RyaW5nIHJlcHJlc2VudGF0aW9uIG9mIG4sIHdoaWNoIGlzDQogIC8vIHRoZW4gY29udmVydGVkIGJhY2sgdG8gbiBpdHNlbGYuIElmIGFuIGFycmF5IGNvbnRhaW5zIG1vcmUgdGhhbiBvbmUgZWxlbWVudCwNCiAgLy8gb3IgaWYgaXRzIG9uZSBlbGVtZW50IGlzIG5vdCBhIG51bWJlciwgdGhlIGFycmF5IGNvbnZlcnRzIHRvIE5hTi4NCiB2YXIgaSA9IEFycmF5LnByb3RvdHlwZS5pbmRleE9mLmNhbGwoe2xlbmd0aDogWyBdfSwgMSk7DQogIA0KICBpZiAoaSA9PT0gLTEpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.indexOf returns -1 if 'length' is 0 (length is an empty array)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-4-8.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTQvMTUuNC40LjE0LTQtOS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5pbmRleE9mIC0gJ2xlbmd0aCcgaXMgYSBudW1iZXIgb2YgdmFsdWUgMC4xDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIHRhcmdldE9iaiA9IFtdOw0KICAgICAgICB2YXIgb2JqID0geyAwOiB0YXJnZXRPYmosIDEwMDogdGFyZ2V0T2JqLCBsZW5ndGg6IDAuMSB9Ow0KICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLmluZGV4T2YuY2FsbChvYmosIHRhcmdldE9iaikgPT09IC0xOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.indexOf - 'length' is a number of value 0.1","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-4-9.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTQvMTUuNC40LjE0LTUtMS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5pbmRleE9mIHdoZW4gZnJvbUluZGV4IGlzIHN0cmluZw0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBhID0gWzEsMiwxLDIsMSwyXTsNCiAgaWYgKGEuaW5kZXhPZigyLCIyIikgPT09IDMgJiYgICAgICAgICAgLy8gIjIiIHJlc29sdmVzIHRvIDIgIA0KICAgICAgYS5pbmRleE9mKDIsIm9uZSIpID09PSAxKSB7ICAgICAgIC8vICJvbmUiIHJlc29sdmVzIHRvIDANCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.indexOf when fromIndex is string","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-5-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTQvMTUuNC40LjE0LTUtMTAuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuaW5kZXhPZiAtIHZhbHVlIG9mICdmcm9tSW5kZXgnIGlzIGEgbnVtYmVyICh2YWx1ZSBpcyBwb3NpdGl2ZSBudW1iZXIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIHRhcmdldE9iaiA9IHt9Ow0KICAgICAgICByZXR1cm4gWzAsIHRhcmdldE9iaiwgMl0uaW5kZXhPZih0YXJnZXRPYmosIDIpID09PSAtMSAmJg0KICAgICAgICAgICAgWzAsIDEsIHRhcmdldE9ial0uaW5kZXhPZih0YXJnZXRPYmosIDIpID09PSAyOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.indexOf - value of 'fromIndex' is a number (value is positive number)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-5-10.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTQvMTUuNC40LjE0LTUtMTEuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuaW5kZXhPZiAtIHZhbHVlIG9mICdmcm9tSW5kZXgnIGlzIGEgbnVtYmVyICh2YWx1ZSBpcyBuZWdhdGl2ZSBudW1iZXIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIHRhcmdldE9iaiA9IHt9Ow0KICAgICAgICByZXR1cm4gWzAsIHRhcmdldE9iaiwgMl0uaW5kZXhPZih0YXJnZXRPYmosIC0xKSA9PT0gLTEgJiYNCiAgICAgICAgICAgIFswLCAxLCB0YXJnZXRPYmpdLmluZGV4T2YodGFyZ2V0T2JqLCAtMSkgPT09IDI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.indexOf - value of 'fromIndex' is a number (value is negative number)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-5-11.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTQvMTUuNC40LjE0LTUtMTIuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuaW5kZXhPZiAtIHZhbHVlIG9mICdmcm9tSW5kZXgnIGlzIGEgbnVtYmVyICh2YWx1ZSBpcyBJbmZpbml0eSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgYXJyID0gW107DQogICAgICAgIGFycltNYXRoLnBvdygyLCAzMikgLSAyXSA9IHRydWU7IC8vbGVuZ3RoIGlzIHRoZSBtYXggdmFsdWUgb2YgVWludCB0eXBlDQogICAgICAgIHJldHVybiBhcnIuaW5kZXhPZih0cnVlLCBJbmZpbml0eSkgPT09IC0xOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.indexOf - value of 'fromIndex' is a number (value is Infinity)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-5-12.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTQvMTUuNC40LjE0LTUtMTMuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuaW5kZXhPZiAtIHZhbHVlIG9mICdmcm9tSW5kZXgnIGlzIGEgbnVtYmVyICh2YWx1ZSBpcyAtSW5maW5pdHkpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICByZXR1cm4gW3RydWVdLmluZGV4T2YodHJ1ZSwgLUluZmluaXR5KSA9PT0gMDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.indexOf - value of 'fromIndex' is a number (value is -Infinity)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-5-13.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTQvMTUuNC40LjE0LTUtMTQuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuaW5kZXhPZiAtIHZhbHVlIG9mICdmcm9tSW5kZXgnIGlzIGEgbnVtYmVyICh2YWx1ZSBpcyBOYU4pDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICByZXR1cm4gW3RydWVdLmluZGV4T2YodHJ1ZSwgTmFOKSA9PT0gMCAmJiBbdHJ1ZV0uaW5kZXhPZih0cnVlLCAtTmFOKSA9PT0gMDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.indexOf - value of 'fromIndex' is a number (value is NaN)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-5-14.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTQvMTUuNC40LjE0LTUtMTUuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuaW5kZXhPZiAtIHZhbHVlIG9mICdmcm9tSW5kZXgnIGlzIGEgc3RyaW5nIGNvbnRhaW5pbmcgYSBuZWdhdGl2ZSBudW1iZXINCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHJldHVybiBbMCwgdHJ1ZSwgMl0uaW5kZXhPZih0cnVlLCAiLTEiKSA9PT0gLTEgJiYNCiAgICAgICAgWzAsIDEsIHRydWVdLmluZGV4T2YodHJ1ZSwgIi0xIikgPT09IDI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.indexOf - value of 'fromIndex' is a string containing a negative number","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-5-15.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTQvMTUuNC40LjE0LTUtMTYuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuaW5kZXhPZiAtIHZhbHVlIG9mICdmcm9tSW5kZXgnIGlzIGEgc3RyaW5nIGNvbnRhaW5pbmcgSW5maW5pdHkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgYXJyID0gW107DQogICAgICAgIGFycltNYXRoLnBvdygyLCAzMikgLSAyXSA9IHRydWU7IC8vbGVuZ3RoIGlzIHRoZSBtYXggdmFsdWUgb2YgVWludCB0eXBlDQogICAgICAgIHJldHVybiBhcnIuaW5kZXhPZih0cnVlLCAiSW5maW5pdHkiKSA9PT0gLTE7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.indexOf - value of 'fromIndex' is a string containing Infinity","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-5-16.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTQvMTUuNC40LjE0LTUtMTcuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuaW5kZXhPZiAtIHZhbHVlIG9mICdmcm9tSW5kZXgnIGlzIGEgc3RyaW5nIGNvbnRhaW5pbmcgLUluZmluaXR5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICByZXR1cm4gW3RydWVdLmluZGV4T2YodHJ1ZSwgIi1JbmZpbml0eSIpID09PSAwOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.indexOf - value of 'fromIndex' is a string containing -Infinity","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-5-17.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTQvMTUuNC40LjE0LTUtMTguanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuaW5kZXhPZiAtIHZhbHVlIG9mICdmcm9tSW5kZXgnIGlzIGEgc3RyaW5nIGNvbnRhaW5pbmcgYW4gZXhwb25lbnRpYWwgbnVtYmVyDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIHRhcmdldE9iaiA9IHt9Ow0KICAgICAgICByZXR1cm4gWzAsIDEsIHRhcmdldE9iaiwgMywgNF0uaW5kZXhPZih0YXJnZXRPYmosICIzRTAiKSA9PT0gLTEgJiYNCiAgICAgICAgICAgIFswLCAxLCAyLCB0YXJnZXRPYmosIDRdLmluZGV4T2YodGFyZ2V0T2JqLCAiM0UwIikgPT09IDM7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.indexOf - value of 'fromIndex' is a string containing an exponential number","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-5-18.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTQvMTUuNC40LjE0LTUtMTkuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuaW5kZXhPZiAtIHZhbHVlIG9mICdmcm9tSW5kZXgnIGlzIGEgc3RyaW5nIGNvbnRhaW5pbmcgYSBoZXggbnVtYmVyDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIHRhcmdldE9iaiA9IHt9Ow0KICAgICAgICByZXR1cm4gWzAsIDEsIHRhcmdldE9iaiwgMywgNF0uaW5kZXhPZih0YXJnZXRPYmosICIweDAwMDMiKSA9PT0gLTEgJiYNCiAgICAgICAgICAgIFswLCAxLCAyLCB0YXJnZXRPYmosIDRdLmluZGV4T2YodGFyZ2V0T2JqLCAiMHgwMDAzIikgPT09IDM7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.indexOf - value of 'fromIndex' is a string containing a hex number","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-5-19.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTQvMTUuNC40LjE0LTUtMi5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5pbmRleE9mIHdoZW4gZnJvbUluZGV4IGlzIGZsb2F0aW5nIHBvaW50IG51bWJlcg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBhID0gbmV3IEFycmF5KDEsMiwzKTsNCiAgaWYgKGEuaW5kZXhPZigzLDAuNDkpID09PSAyICYmICAgIC8vIDAuNDkgcmVzb2x2ZXMgdG8gMA0KICAgICAgYS5pbmRleE9mKDEsMC41MSkgPT09IDAgJiYgICAgLy8gMC41MSByZXNvbHZlcyB0byAwDQogICAgICBhLmluZGV4T2YoMSwxLjUxKSA9PT0gLTEpIHsgICAvLyAxLjAxIHJlc29sdmVzIHRvIDENCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.indexOf when fromIndex is floating point number","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-5-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTQvMTUuNC40LjE0LTUtMjAuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuaW5kZXhPZiAtIHZhbHVlIG9mICdmcm9tSW5kZXgnIHdoaWNoIGlzIGEgc3RyaW5nIGNvbnRhaW5pbmcgYSBudW1iZXIgd2l0aCBsZWFkaW5nIHplcm9zDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIHRhcmdldE9iaiA9IHt9Ow0KICAgICAgICByZXR1cm4gWzAsIDEsIHRhcmdldE9iaiwgMywgNF0uaW5kZXhPZih0YXJnZXRPYmosICIwMDAzLjEwIikgPT09IC0xICYmDQogICAgICAgICAgICBbMCwgMSwgMiwgdGFyZ2V0T2JqLCA0XS5pbmRleE9mKHRhcmdldE9iaiwgIjAwMDMuMTAiKSA9PT0gMzsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.indexOf - value of 'fromIndex' which is a string containing a number with leading zeros","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-5-20.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTQvMTUuNC40LjE0LTUtMjEuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuaW5kZXhPZiAtIHZhbHVlIG9mICdmcm9tSW5kZXgnIGlzIGFuIE9iamVjdCwgd2hpY2ggaGFzIGFuIG93biB0b1N0cmluZyBtZXRob2QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIC8vIG9iamVjdHMgaW5oZXJpdCB0aGUgZGVmYXVsdCB2YWx1ZU9mKCkgbWV0aG9kIGZyb20gT2JqZWN0DQogICAgICAgIC8vIHRoYXQgc2ltcGx5IHJldHVybnMgaXRzZWxmLiBTaW5jZSB0aGUgZGVmYXVsdCB2YWx1ZU9mKCkgbWV0aG9kDQogICAgICAgIC8vIGRvZXMgbm90IHJldHVybiBhIHByaW1pdGl2ZSB2YWx1ZSwgRVMgbmV4dCB0cmllcyB0byBjb252ZXJ0IHRoZSBvYmplY3QNCiAgICAgICAgLy8gdG8gYSBudW1iZXIgYnkgY2FsbGluZyBpdHMgdG9TdHJpbmcoKSBtZXRob2QgYW5kIGNvbnZlcnRpbmcgdGhlDQogICAgICAgIC8vIHJlc3VsdGluZyBzdHJpbmcgdG8gYSBudW1iZXIuDQogICAgICAgIHZhciBmcm9tSW5kZXggPSB7DQogICAgICAgICAgICB0b1N0cmluZzogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiAnMSc7DQogICAgICAgICAgICB9DQogICAgICAgIH07DQoNCiAgICAgICAgcmV0dXJuIFswLCB0cnVlXS5pbmRleE9mKHRydWUsIGZyb21JbmRleCkgPT09IDE7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.indexOf - value of 'fromIndex' is an Object, which has an own toString method","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-5-21.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTQvMTUuNC40LjE0LTUtMjIuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuaW5kZXhPZiAtIHZhbHVlIG9mICdmcm9tSW5kZXgnIGlzIGFuIE9iamVjdCwgd2hpY2ggaGFzIGFuIG93biB2YWx1ZU9mIG1ldGhvZA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGZyb21JbmRleCA9IHsNCiAgICAgICAgICAgIHZhbHVlT2Y6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gMTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfTsNCg0KDQogICAgICAgIHJldHVybiBbMCwgdHJ1ZV0uaW5kZXhPZih0cnVlLCBmcm9tSW5kZXgpID09PSAxOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.indexOf - value of 'fromIndex' is an Object, which has an own valueOf method","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-5-22.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTQvMTUuNC40LjE0LTUtMjMuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuaW5kZXhPZiAtIHZhbHVlIG9mICdmcm9tSW5kZXgnIGlzIGFuIG9iamVjdCB0aGF0IGhhcyBhbiBvd24gdmFsdWVPZiBtZXRob2QgdGhhdCByZXR1cm5zIGFuIG9iamVjdCBhbmQgdG9TdHJpbmcgbWV0aG9kIHRoYXQgcmV0dXJucyBhIHN0cmluZw0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHRvU3RyaW5nQWNjZXNzZWQgPSBmYWxzZTsNCiAgICAgICAgdmFyIHZhbHVlT2ZBY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIHZhciBmcm9tSW5kZXggPSB7DQogICAgICAgICAgICB0b1N0cmluZzogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHRvU3RyaW5nQWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgICAgIHJldHVybiAnMSc7DQogICAgICAgICAgICB9LA0KDQogICAgICAgICAgICB2YWx1ZU9mOiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgdmFsdWVPZkFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgICAgICByZXR1cm4ge307DQogICAgICAgICAgICB9DQogICAgICAgIH07DQoNCiAgICAgICAgcmV0dXJuIFswLCB0cnVlXS5pbmRleE9mKHRydWUsIGZyb21JbmRleCkgPT09IDEgJiYgdG9TdHJpbmdBY2Nlc3NlZCAmJiB2YWx1ZU9mQWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.indexOf - value of 'fromIndex' is an object that has an own valueOf method that returns an object and toString method that returns a string","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-5-23.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTQvMTUuNC40LjE0LTUtMjQuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuaW5kZXhPZiB0aHJvd3MgVHlwZUVycm9yIGV4Y2VwdGlvbiB3aGVuIHZhbHVlIG9mICdmcm9tSW5kZXgnIGlzIGFuIG9iamVjdCB3aXRoIHRvU3RyaW5nIGFuZCB2YWx1ZU9mIG1ldGhvZHMgdGhhdCBkb27vv710IHJldHVybiBwcmltaXRpdmUgdmFsdWVzDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgdG9TdHJpbmdBY2Nlc3NlZCA9IGZhbHNlOw0KICAgICAgICB2YXIgdmFsdWVPZkFjY2Vzc2VkID0gZmFsc2U7DQogICAgICAgIHZhciBmcm9tSW5kZXggPSB7DQogICAgICAgICAgICB0b1N0cmluZzogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHRvU3RyaW5nQWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgICAgIHJldHVybiB7fTsNCiAgICAgICAgICAgIH0sDQoNCiAgICAgICAgICAgIHZhbHVlT2Y6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICB2YWx1ZU9mQWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgICAgIHJldHVybiB7fTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgWzAsIHRydWVdLmluZGV4T2YodHJ1ZSwgZnJvbUluZGV4KTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIHRvU3RyaW5nQWNjZXNzZWQgJiYgdmFsdWVPZkFjY2Vzc2VkOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.indexOf throws TypeError exception when value of 'fromIndex' is an object with toString and valueOf methods that don\ufffdt return primitive values","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-5-24.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTQvMTUuNC40LjE0LTUtMjUuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuaW5kZXhPZiB1c2VzIGluaGVyaXRlZCB2YWx1ZU9mIG1ldGhvZCB3aGVuIHZhbHVlIG9mICdmcm9tSW5kZXgnIGlzIGFuIG9iamVjdCB3aXRoIGFuIG93biB0b1N0cmluZyBhbmQgaW5oZXJpdGVkIHZhbHVlT2YgbWV0aG9kcw0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHRvU3RyaW5nQWNjZXNzZWQgPSBmYWxzZTsNCiAgICAgICAgdmFyIHZhbHVlT2ZBY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIHZhciBwcm90byA9IHsNCiAgICAgICAgICAgIHZhbHVlT2Y6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICB2YWx1ZU9mQWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgICAgIHJldHVybiAxOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9Ow0KDQogICAgICAgIHZhciBDb24gPSBmdW5jdGlvbiAoKSB7fTsNCiAgICAgICAgQ29uLnByb3RvdHlwZSA9IHByb3RvOw0KDQogICAgICAgIHZhciBjaGlsZCA9IG5ldyBDb24oKTsNCiAgICAgICAgY2hpbGQudG9TdHJpbmcgPSBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICB0b1N0cmluZ0FjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIHJldHVybiAyOw0KICAgICAgICB9Ow0KDQogICAgICAgIHJldHVybiBbMCwgdHJ1ZV0uaW5kZXhPZih0cnVlLCBjaGlsZCkgPT09IDEgJiYgdmFsdWVPZkFjY2Vzc2VkICYmICF0b1N0cmluZ0FjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.indexOf uses inherited valueOf method when value of 'fromIndex' is an object with an own toString and inherited valueOf methods","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-5-25.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTQvMTUuNC40LjE0LTUtMjYuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuaW5kZXhPZiAtIHNpZGUgZWZmZWN0cyBwcm9kdWNlZCBieSBzdGVwIDIgYXJlIHZpc2libGUgd2hlbiBhbiBleGNlcHRpb24gb2NjdXJzDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIHN0ZXBUd29PY2N1cnMgPSBmYWxzZTsNCiAgICAgICAgdmFyIHN0ZXBGaXZlT2NjdXJzID0gZmFsc2U7DQoNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJsZW5ndGgiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICBzdGVwVHdvT2NjdXJzID0gdHJ1ZTsNCiAgICAgICAgICAgICAgICBpZiAoc3RlcEZpdmVPY2N1cnMpIHsNCiAgICAgICAgICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCJTdGVwIDUgb2NjdXJyZWQgb3V0IG9mIG9yZGVyIik7DQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgIHJldHVybiAyMDsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIGZyb21JbmRleCA9IHsNCiAgICAgICAgICAgIHZhbHVlT2Y6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICBzdGVwRml2ZU9jY3VycyA9IHRydWU7DQogICAgICAgICAgICAgICAgcmV0dXJuIDA7DQogICAgICAgICAgICB9DQogICAgICAgIH07DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIEFycmF5LnByb3RvdHlwZS5pbmRleE9mLmNhbGwob2JqLCB1bmRlZmluZWQsIGZyb21JbmRleCk7DQogICAgICAgICAgICByZXR1cm4gc3RlcFR3b09jY3VycyAmJiBzdGVwRml2ZU9jY3VyczsNCiAgICAgICAgfSBjYXRjaCAoZXgpIHsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.indexOf - side effects produced by step 2 are visible when an exception occurs","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-5-26.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTQvMTUuNC40LjE0LTUtMjcuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuaW5kZXhPZiAtIHNpZGUgZWZmZWN0cyBwcm9kdWNlZCBieSBzdGVwIDMgYXJlIHZpc2libGUgd2hlbiBhbiBleGNlcHRpb24gb2NjdXJzDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIHN0ZXBUaHJlZU9jY3VycyA9IGZhbHNlOw0KICAgICAgICB2YXIgc3RlcEZpdmVPY2N1cnMgPSBmYWxzZTsNCg0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgImxlbmd0aCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiB7DQogICAgICAgICAgICAgICAgICAgIHZhbHVlT2Y6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICAgICAgICAgIHN0ZXBUaHJlZU9jY3VycyA9IHRydWU7DQogICAgICAgICAgICAgICAgICAgICAgICBpZiAoc3RlcEZpdmVPY2N1cnMpIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoIlN0ZXAgNSBvY2N1cnJlZCBvdXQgb2Ygb3JkZXIiKTsNCiAgICAgICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiAyMDsNCiAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgIH07DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBmcm9tSW5kZXggPSB7DQogICAgICAgICAgICB2YWx1ZU9mOiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgc3RlcEZpdmVPY2N1cnMgPSB0cnVlOw0KICAgICAgICAgICAgICAgIHJldHVybiAwOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9Ow0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBBcnJheS5wcm90b3R5cGUuaW5kZXhPZi5jYWxsKG9iaiwgdW5kZWZpbmVkLCBmcm9tSW5kZXgpOw0KICAgICAgICAgICAgcmV0dXJuIHN0ZXBUaHJlZU9jY3VycyAmJiBzdGVwRml2ZU9jY3VyczsNCiAgICAgICAgfSBjYXRjaCAoZXgpIHsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.indexOf - side effects produced by step 3 are visible when an exception occurs","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-5-27.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTQvMTUuNC40LjE0LTUtMjguanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuaW5kZXhPZiAtIHNpZGUgZWZmZWN0cyBwcm9kdWNlZCBieSBzdGVwIDEgYXJlIHZpc2libGUgd2hlbiBhbiBleGNlcHRpb24gb2NjdXJzDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgc3RlcEZpdmVPY2N1cnMgPSBmYWxzZTsNCiAgICAgICAgdmFyIGZyb21JbmRleCA9IHsNCiAgICAgICAgICAgIHZhbHVlT2Y6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICBzdGVwRml2ZU9jY3VycyA9IHRydWU7DQogICAgICAgICAgICAgICAgcmV0dXJuIDA7DQogICAgICAgICAgICB9DQogICAgICAgIH07DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIEFycmF5LnByb3RvdHlwZS5pbmRleE9mLmNhbGwodW5kZWZpbmVkLCB1bmRlZmluZWQsIGZyb21JbmRleCk7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiAoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikgJiYgIXN0ZXBGaXZlT2NjdXJzOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.indexOf - side effects produced by step 1 are visible when an exception occurs","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-5-28.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTQvMTUuNC40LjE0LTUtMjkuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuaW5kZXhPZiAtIHNpZGUgZWZmZWN0cyBwcm9kdWNlZCBieSBzdGVwIDIgYXJlIHZpc2libGUgd2hlbiBhbiBleGNlcHRpb24gb2NjdXJzDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgc3RlcEZpdmVPY2N1cnMgPSBmYWxzZTsNCiAgICAgICAgDQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgImxlbmd0aCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHRocm93IG5ldyBSYW5nZUVycm9yKCk7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBmcm9tSW5kZXggPSB7DQogICAgICAgICAgICB2YWx1ZU9mOiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgc3RlcEZpdmVPY2N1cnMgPSB0cnVlOw0KICAgICAgICAgICAgICAgIHJldHVybiAwOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9Ow0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBBcnJheS5wcm90b3R5cGUuaW5kZXhPZi5jYWxsKG9iaiwgdW5kZWZpbmVkLCBmcm9tSW5kZXgpOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gKGUgaW5zdGFuY2VvZiBSYW5nZUVycm9yKSAmJiAhc3RlcEZpdmVPY2N1cnM7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.indexOf - side effects produced by step 2 are visible when an exception occurs","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-5-29.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTQvMTUuNC40LjE0LTUtMy5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5pbmRleE9mIHdoZW4gZnJvbUluZGV4IGlzIGJvb2xlYW4NCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgYSA9IFsxLDIsM107DQogIGlmIChhLmluZGV4T2YoMSx0cnVlKSA9PT0gLTEgJiYgICAgICAgIC8vIHRydWUgcmVzb2x2ZXMgdG8gMQ0KICAgICBhLmluZGV4T2YoMSxmYWxzZSkgPT09IDAgKSB7ICAgICAgIC8vIGZhbHNlIHJlc29sdmVzIHRvIDANCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.indexOf when fromIndex is boolean","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-5-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTQvMTUuNC40LjE0LTUtMzAuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuaW5kZXhPZiAtIHNpZGUgZWZmZWN0cyBwcm9kdWNlZCBieSBzdGVwIDMgYXJlIHZpc2libGUgd2hlbiBhbiBleGNlcHRpb24gb2NjdXJzDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgc3RlcEZpdmVPY2N1cnMgPSBmYWxzZTsNCg0KICAgICAgICB2YXIgb2JqID0ge307DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJsZW5ndGgiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gew0KICAgICAgICAgICAgICAgICAgICB2YWx1ZU9mOiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgICAgICB0aHJvdyBuZXcgVHlwZUVycm9yKCk7DQogICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICB9Ow0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgZnJvbUluZGV4ID0gew0KICAgICAgICAgICAgdmFsdWVPZjogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHN0ZXBGaXZlT2NjdXJzID0gdHJ1ZTsNCiAgICAgICAgICAgICAgICByZXR1cm4gMDsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlLmluZGV4T2YuY2FsbChvYmosIHVuZGVmaW5lZCwgZnJvbUluZGV4KTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIChlIGluc3RhbmNlb2YgVHlwZUVycm9yKSAmJiAhc3RlcEZpdmVPY2N1cnM7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.indexOf - side effects produced by step 3 are visible when an exception occurs","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-5-30.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTQvMTUuNC40LjE0LTUtMzEuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuaW5kZXhPZiAtICdmcm9tSW5kZXgnIGlzIGEgcG9zaXRpdmUgbm9uLWludGVnZXIsIHZlcmlmeSB0cnVuY2F0aW9uIG9jY3VycyBpbiB0aGUgcHJvcGVyIGRpcmVjdGlvbg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciB0YXJnZXRPYmogPSB7fTsNCiAgICAgICAgcmV0dXJuIFswLCB0YXJnZXRPYmosIDJdLmluZGV4T2YodGFyZ2V0T2JqLCAyLjUpID09PSAtMSAmJg0KICAgICAgICAgICAgWzAsIDEsIHRhcmdldE9ial0uaW5kZXhPZih0YXJnZXRPYmosIDIuNSkgPT09IDI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.indexOf - 'fromIndex' is a positive non-integer, verify truncation occurs in the proper direction","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-5-31.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTQvMTUuNC40LjE0LTUtMzIuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuaW5kZXhPZiAtICdmcm9tSW5kZXgnIGlzIGEgbmVnYXRpdmUgbm9uLWludGVnZXIsIHZlcmlmeSB0cnVuY2F0aW9uIG9jY3VycyBpbiB0aGUgcHJvcGVyIGRpcmVjdGlvbg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciB0YXJnZXRPYmogPSB7fTsNCiAgICAgICAgcmV0dXJuIFswLCB0YXJnZXRPYmosIDJdLmluZGV4T2YodGFyZ2V0T2JqLCAtMS41KSA9PT0gLTEgJiYNCiAgICAgICAgICAgIFswLCAxLCB0YXJnZXRPYmpdLmluZGV4T2YodGFyZ2V0T2JqLCAtMS41KSA9PT0gMjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.indexOf - 'fromIndex' is a negative non-integer, verify truncation occurs in the proper direction","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-5-32.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTQvMTUuNC40LjE0LTUtMzMuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuaW5kZXhPZiBtYXRjaCBvbiB0aGUgZmlyc3QgZWxlbWVudCwgYSBtaWRkbGUgZWxlbWVudCBhbmQgdGhlIGxhc3QgZWxlbWVudCB3aGVuICdmcm9tSW5kZXgnIGlzIHBhc3NlZA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgcmV0dXJuIFswLCAxLCAyLCAzLCA0XS5pbmRleE9mKDAsIDApID09PSAwICYmDQogICAgICAgICAgICBbMCwgMSwgMiwgMywgNF0uaW5kZXhPZigyLCAxKSA9PT0gMiAmJg0KICAgICAgICAgICAgWzAsIDEsIDIsIDMsIDRdLmluZGV4T2YoMiwgMikgPT09IDIgJiYNCiAgICAgICAgICAgIFswLCAxLCAyLCAzLCA0XS5pbmRleE9mKDQsIDIpID09PSA0ICYmDQogICAgICAgICAgICBbMCwgMSwgMiwgMywgNF0uaW5kZXhPZig0LCA0KSA9PT0gNDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.indexOf match on the first element, a middle element and the last element when 'fromIndex' is passed","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-5-33.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTQvMTUuNC40LjE0LTUtNC5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5pbmRleE9mIHJldHVybnMgMCBpZiBmcm9tSW5kZXggaXMgJ3VuZGVmaW5lZCcNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgYSA9IFsxLDIsM107DQogIGlmIChhLmluZGV4T2YoMSx1bmRlZmluZWQpID09PSAwKSB7ICAgIC8vIHVuZGVmaW5lZCByZXNvbHZlcyB0byAwDQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.indexOf returns 0 if fromIndex is 'undefined'","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-5-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTQvMTUuNC40LjE0LTUtNS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5pbmRleE9mIHJldHVybnMgMCBpZiBmcm9tSW5kZXggaXMgbnVsbA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBhID0gWzEsMiwzXTsNCiAgaWYgKGEuaW5kZXhPZigxLG51bGwpID09PSAwICkgeyAgICAgICAvLyBudWxsIHJlc29sdmVzIHRvIDANCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.indexOf returns 0 if fromIndex is null","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-5-5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTQvMTUuNC40LjE0LTUtNi5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5pbmRleE9mIC0gJ2Zyb21JbmRleCcgaXNuJ3QgcGFzc2VkDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIGFyciA9IFswLCAxLCAyLCAzLCA0XTsNCiAgICAgICAgLy8nZnJvbUluZGV4JyB3aWxsIGJlIHNldCBhcyAwIGlmIG5vdCBwYXNzZWQgYnkgZGVmYXVsdA0KICAgICAgICByZXR1cm4gYXJyLmluZGV4T2YoMCkgPT09IGFyci5pbmRleE9mKDAsIDApICYmDQogICAgICAgICAgICBhcnIuaW5kZXhPZigyKSA9PT0gYXJyLmluZGV4T2YoMiwgMCkgJiYNCiAgICAgICAgICAgIGFyci5pbmRleE9mKDQpID09PSBhcnIuaW5kZXhPZig0LCAwKTsgDQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.indexOf - 'fromIndex' isn't passed","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-5-6.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTQvMTUuNC40LjE0LTUtNy5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5pbmRleE9mIC0gdmFsdWUgb2YgJ2Zyb21JbmRleCcgaXMgYSBudW1iZXIgKHZhbHVlIGlzIDApDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICByZXR1cm4gW3RydWVdLmluZGV4T2YodHJ1ZSwgMCkgPT09IDA7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.indexOf - value of 'fromIndex' is a number (value is 0)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-5-7.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTQvMTUuNC40LjE0LTUtOC5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5pbmRleE9mIC0gdmFsdWUgb2YgJ2Zyb21JbmRleCcgaXMgYSBudW1iZXIgKHZhbHVlIGlzICswKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgcmV0dXJuIFt0cnVlXS5pbmRleE9mKHRydWUsICswKSA9PT0gMDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.indexOf - value of 'fromIndex' is a number (value is +0)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-5-8.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTQvMTUuNC40LjE0LTUtOS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5pbmRleE9mIC0gdmFsdWUgb2YgJ2Zyb21JbmRleCcgaXMgYSBudW1iZXIgKHZhbHVlIGlzIC0wKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgcmV0dXJuIFt0cnVlXS5pbmRleE9mKHRydWUsIC0wKSA9PT0gMDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.indexOf - value of 'fromIndex' is a number (value is -0)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-5-9.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTQvMTUuNC40LjE0LTYtMS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5pbmRleE9mIHJldHVybnMgLTEgaWYgZnJvbUluZGV4IGlzIGdyZWF0ZXIgdGhhbiBBcnJheSBsZW5ndGgNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgYSA9IFsxLDIsM107DQogIGlmIChhLmluZGV4T2YoMSw1KSA9PT0gLTEgJiYgIA0KICAgICBhLmluZGV4T2YoMSwzKSA9PT0gLTEgICYmDQogICAgIFsgXS5pbmRleE9mKDEsMCkgPT09IC0xICApew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.indexOf returns -1 if fromIndex is greater than Array length","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-6-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTQvMTUuNC40LjE0LTctMS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5pbmRleE9mIHJldHVybnMgLTEgd2hlbiAnZnJvbUluZGV4JyBpcyBsZW5ndGggb2YgYXJyYXkgLSAxDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICByZXR1cm4gWzEsIDIsIDNdLmluZGV4T2YoMSwgMikgPT09IC0xOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.indexOf returns -1 when 'fromIndex' is length of array - 1","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-7-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTQvMTUuNC40LjE0LTctMi5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5pbmRleE9mIHJldHVybnMgY29ycmVjdCBpbmRleCB3aGVuICdmcm9tSW5kZXgnIGlzIGxlbmd0aCBvZiBhcnJheSAtIDENCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHJldHVybiBbMSwgMiwgM10uaW5kZXhPZigzLCAyKSA9PT0gMjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.indexOf returns correct index when 'fromIndex' is length of array - 1","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-7-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTQvMTUuNC40LjE0LTctMy5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5pbmRleE9mIHJldHVybnMgLTEgd2hlbiAnZnJvbUluZGV4JyBhbmQgJ2xlbmd0aCcgYXJlIGJvdGggMA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgcmV0dXJuIFtdLmluZGV4T2YoMSwgMCkgPT09IC0xOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.indexOf returns -1 when 'fromIndex' and 'length' are both 0","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-7-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTQvMTUuNC40LjE0LTctNC5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5pbmRleE9mIHJldHVybnMgLTEgd2hlbiAnZnJvbUluZGV4JyBpcyAxDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICByZXR1cm4gWzEsIDIsIDNdLmluZGV4T2YoMSwgMSkgPT09IC0xOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.indexOf returns -1 when 'fromIndex' is 1","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-7-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTQvMTUuNC40LjE0LTctNS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5pbmRleE9mIHJldHVybnMgY29ycmVjdCBpbmRleCB3aGVuICdmcm9tSW5kZXgnIGlzIDENCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHJldHVybiBbMSwgMiwgM10uaW5kZXhPZigyLCAxKSA9PT0gMTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.indexOf returns correct index when 'fromIndex' is 1","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-7-5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTQvMTUuNC40LjE0LTgtMS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5pbmRleE9mIHdpdGggbmVnYXRpdmUgZnJvbUluZGV4DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIGEgPSBuZXcgQXJyYXkoMSwyLDMpOw0KICANCiAgaWYgKGEuaW5kZXhPZigyLC0xKSA9PT0gLTEgJiYgIA0KICAgICAgYS5pbmRleE9mKDIsLTIpID09PSAxICYmICANCiAgICAgIGEuaW5kZXhPZigxLC0zKSA9PT0gMCAmJiAgDQogICAgICBhLmluZGV4T2YoMSwtNS4zKSA9PT0gMCApIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.indexOf with negative fromIndex","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-8-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTQvMTUuNC40LjE0LTgtMi5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5pbmRleE9mIHJldHVybnMgY29ycmVjdCBpbmRleCB3aGVuICdmcm9tSW5kZXgnIGlzIC0xDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICByZXR1cm4gWzEsIDIsIDMsIDRdLmluZGV4T2YoNCwgLTEpID09PSAzOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.indexOf returns correct index when 'fromIndex' is -1","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-8-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTQvMTUuNC40LjE0LTgtMy5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5pbmRleE9mIHJldHVybnMgLTEgd2hlbiBhYnMoJ2Zyb21JbmRleCcpIGlzIGxlbmd0aCBvZiBhcnJheSAtIDENCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHJldHVybiBbMSwgMiwgMywgNF0uaW5kZXhPZigxLCAtMykgPT09IC0xOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.indexOf returns -1 when abs('fromIndex') is length of array - 1","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-8-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTQvMTUuNC40LjE0LTgtNC5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5pbmRleE9mIHJldHVybnMgLTEgd2hlbiBhYnMoJ2Zyb21JbmRleCcpIGlzIGxlbmd0aCBvZiBhcnJheQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgcmV0dXJuIFsxLCAyLCAzLCA0XS5pbmRleE9mKDAsIC00KSA9PT0gLTE7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.indexOf returns -1 when abs('fromIndex') is length of array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-8-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTQvMTUuNC40LjE0LTktMS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5pbmRleE9mIG11c3QgcmV0dXJuIGNvcnJlY3QgaW5kZXggKGJvb2xlYW4pDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIG9iaiA9IHt0b1N0cmluZzpmdW5jdGlvbiAoKXtyZXR1cm4gdHJ1ZX19Ow0KICB2YXIgX2ZhbHNlID0gZmFsc2U7DQogIHZhciBhID0gW29iaiwidHJ1ZSIsIHVuZGVmaW5lZCwwLF9mYWxzZSxudWxsLDEsInN0ciIsMCwxLHRydWUsZmFsc2UsdHJ1ZSxmYWxzZV07DQogIGlmIChhLmluZGV4T2YodHJ1ZSkgPT09IDEwICYmICAvL2FbMTBdPXRydWUNCiAgICAgIGEuaW5kZXhPZihmYWxzZSkgPT09IDQpICAgIC8vYVs0XSA9X2ZhbHNlDQogIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.indexOf must return correct index (boolean)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogbm90ZSB0aGF0IHByaW9yIHRvIHRoZSBmaW5hbGx5IEVTNSBkcmFmdCBTYW1lVmFsdWUgd2FzIHVzZWQgZm9yIGNvbXBhcmlzaW9ucw0KICogYW5kIGhlbmNlIE5hTnMgY291bGQgYmUgZm91bmQgdXNpbmcgaW5kZXhPZiAqDQogKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTQvMTUuNC40LjE0LTktMTAuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuaW5kZXhPZiBtdXN0IHJldHVybiBjb3JyZWN0IGluZGV4IChOYU4pDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIF9OYU4gPSBOYU47DQogIHZhciBhID0gbmV3IEFycmF5KCJOYU4iLHVuZGVmaW5lZCwwLGZhbHNlLG51bGwse3RvU3RyaW5nOmZ1bmN0aW9uICgpe3JldHVybiBOYU59fSwiZmFsc2UiLF9OYU4sTmFOKTsNCiAgaWYgKGEuaW5kZXhPZihOYU4pID09PSAtMSkgIC8vIE5hTiBpcyBlcXVhbCB0byBub3RoaW5nLCBpbmNsdWRpbmcgaXRzZWxmLg0KICB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"note that prior to the finally ES5 draft SameValue was used for comparisions\nand hence NaNs could be found using indexOf *","description":"Array.prototype.indexOf must return correct index (NaN)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-10.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTQvMTUuNC40LjE0LTktMTEuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuaW5kZXhPZiAtIHRoZSBsZW5ndGggb2YgaXRlcmF0aW9uIGlzbid0IGNoYW5nZWQgYnkgYWRkaW5nIGVsZW1lbnRzIHRvIHRoZSBhcnJheSBkdXJpbmcgaXRlcmF0aW9uDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYXJyID0gWzIwXTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyLCAiMCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIGFyclsxXSA9IDE7DQogICAgICAgICAgICAgICAgcmV0dXJuIDA7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHJldHVybiBhcnIuaW5kZXhPZigxKSA9PT0gLTE7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.indexOf - the length of iteration isn't changed by adding elements to the array during iteration","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-11.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTQvMTUuNC40LjE0LTktMi5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5pbmRleE9mIG11c3QgcmV0dXJuIGNvcnJlY3QgaW5kZXggKE51bWJlcikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgb2JqID0ge3RvU3RyaW5nOmZ1bmN0aW9uICgpe3JldHVybiAwfX07DQogIHZhciBvbmUgPSAxOw0KICB2YXIgX2Zsb2F0ID0gLSg0LzMpOw0KICB2YXIgYSA9IG5ldyBBcnJheShmYWxzZSx1bmRlZmluZWQsbnVsbCwiMCIsb2JqLC0xLjMzMzMzMzMzMzMzMzMsICJzdHIiLC0wLHRydWUsKzAsIG9uZSwgMSwwLCBmYWxzZSwgX2Zsb2F0LCAtKDQvMykpOw0KICBpZiAoYS5pbmRleE9mKC0oNC8zKSkgPT09IDE0ICYmICAgICAgLy8gYVsxNF09X2Zsb2F0PT09LSg0LzMpDQogICAgICBhLmluZGV4T2YoMCkgPT09IDcgICAgICAmJiAgICAgICAvLyBhWzddID0gKzAsIDA9PT0rMA0KICAgICAgYS5pbmRleE9mKC0wKSA9PT0gNyAgICAgICYmICAgICAvLyBhWzddID0gKzAsIC0wPT09KzANCiAgICAgIGEuaW5kZXhPZigxKSA9PT0gMTAgKSAgICAgICAgICAgIC8vIGFbMTBdID1vbmU9PT0gMQ0KICB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.indexOf must return correct index (Number)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTQvMTUuNC40LjE0LTktMy5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5pbmRleE9mIG11c3QgcmV0dXJuIGNvcnJlY3QgaW5kZXgoc3RyaW5nKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBvYmogPSB7dG9TdHJpbmc6ZnVuY3Rpb24gKCl7cmV0dXJuICJmYWxzZSJ9fTsNCiAgdmFyIHN6RmFsc2UgPSAiZmFsc2UiOw0KICB2YXIgYSA9IG5ldyBBcnJheSgiZmFsc2UxIix1bmRlZmluZWQsMCxmYWxzZSxudWxsLDEsb2JqLDAsc3pGYWxzZSwgImZhbHNlIik7DQogIGlmIChhLmluZGV4T2YoImZhbHNlIikgPT09IDgpICAvL2FbOF09c3pGYWxzZQ0KICB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.indexOf must return correct index(string)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTQvMTUuNC40LjE0LTktNC5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5pbmRleE9mIG11c3QgcmV0dXJuIGNvcnJlY3QgaW5kZXgodW5kZWZpbmVkKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBvYmogPSB7dG9TdHJpbmc6ZnVuY3Rpb24gKCl7cmV0dXJuIHVuZGVmaW5lZDt9fTsNCiAgdmFyIF91bmRlZmluZWQxID0gdW5kZWZpbmVkOw0KICB2YXIgX3VuZGVmaW5lZDI7DQogIHZhciBhID0gbmV3IEFycmF5KHRydWUsMCxmYWxzZSxudWxsLDEsInVuZGVmaW5lZCIsb2JqLDEsX3VuZGVmaW5lZDIsX3VuZGVmaW5lZDEsdW5kZWZpbmVkKTsNCiAgaWYgKGEuaW5kZXhPZih1bmRlZmluZWQpID09PSA4KSAvL2FbOF09X3VuZGVmaW5lZDINCiAgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.indexOf must return correct index(undefined)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTQvMTUuNC40LjE0LTktNS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5pbmRleE9mIG11c3QgcmV0dXJuIGNvcnJlY3QgaW5kZXggKE9iamVjdCkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgb2JqMSA9IHt0b1N0cmluZzpmdW5jdGlvbiAoKXtyZXR1cm4gImZhbHNlIn19Ow0KICB2YXIgb2JqMiA9IHt0b1N0cmluZzpmdW5jdGlvbiAoKXtyZXR1cm4gImZhbHNlIn19Ow0KICB2YXIgb2JqMyA9IG9iajE7DQogIHZhciBhID0gbmV3IEFycmF5KGZhbHNlLHVuZGVmaW5lZCwwLGZhbHNlLG51bGwse3RvU3RyaW5nOmZ1bmN0aW9uICgpe3JldHVybiAiZmFsc2UifX0sImZhbHNlIixvYmoyLG9iajEsb2JqMyk7DQogIGlmIChhLmluZGV4T2Yob2JqMykgPT09IDgpICAvL2FbOF0gPSBvYmoxOw0KICB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.indexOf must return correct index (Object)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTQvMTUuNC40LjE0LTktNi5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5pbmRleE9mIG11c3QgcmV0dXJuIGNvcnJlY3QgaW5kZXgobnVsbCkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgb2JqID0ge3RvU3RyaW5nOmZ1bmN0aW9uICgpe3JldHVybiBudWxsfX07DQogIHZhciBfbnVsbCA9IG51bGw7DQogIHZhciBhID0gbmV3IEFycmF5KHRydWUsdW5kZWZpbmVkLDAsZmFsc2UsX251bGwsMSwic3RyIiwwLDEsb2JqLHRydWUsZmFsc2UsbnVsbCk7DQogIGlmIChhLmluZGV4T2YobnVsbCkgPT09IDQgKSAgLy9hWzRdPV9udWxsDQogIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.indexOf must return correct index(null)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-6.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTQvMTUuNC40LjE0LTktNy5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5pbmRleE9mIG11c3QgcmV0dXJuIGNvcnJlY3QgaW5kZXggKHNlbGYgcmVmZXJlbmNlKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBhID0gbmV3IEFycmF5KDAsMSwyLDMpOyAgDQogIGFbMl0gPSBhOw0KICBpZiAoYS5pbmRleE9mKGEpID09PSAyICYmICANCiAgICAgIGEuaW5kZXhPZigzKSA9PT0gMyApIA0KICB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.indexOf must return correct index (self reference)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-7.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTQvMTUuNC40LjE0LTktOC5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5pbmRleE9mIG11c3QgcmV0dXJuIGNvcnJlY3QgaW5kZXggKEFycmF5KQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBiID0gbmV3IEFycmF5KCIwLDEiKTsgIA0KICB2YXIgYSA9IG5ldyBBcnJheSgwLGIsIjAsMSIsMyk7ICANCiAgaWYgKGEuaW5kZXhPZihiLnRvU3RyaW5nKCkpID09PSAyICYmICANCiAgICAgIGEuaW5kZXhPZigiMCwxIikgPT09IDIgKSANCiAgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.indexOf must return correct index (Array)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-8.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTQvMTUuNC40LjE0LTktOS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5pbmRleE9mIG11c3QgcmV0dXJuIGNvcnJlY3QgaW5kZXggKFNwYXJzZSBBcnJheSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgYSA9IG5ldyBBcnJheSgwLDEpOyAgDQogIGFbNDI5NDk2NzI5NF0gPSAyOyAgICAgICAgICAvLyAyXjMyLTIgLSBpcyBtYXggYXJyYXkgZWxlbWVudA0KICBhWzQyOTQ5NjcyOTVdID0gMzsgICAgICAgICAgLy8gMl4zMi0xIGFkZGVkIGFzIG5vbi1hcnJheSBlbGVtZW50IHByb3BlcnR5DQogIGFbNDI5NDk2NzI5Nl0gPSA0OyAgICAgICAgICAvLyAyXjMyICAgYWRkZWQgYXMgbm9uLWFycmF5IGVsZW1lbnQgcHJvcGVydHkNCiAgYVs0Mjk0OTY3Mjk3XSA9IDU7ICAgICAgICAgIC8vIDJeMzIrMSBhZGRlZCBhcyBub24tYXJyYXkgZWxlbWVudCBwcm9wZXJ0eQ0KDQogIC8vIHN0YXJ0IHNlYXJjaGluZyBuZWFyIHRoZSBlbmQgc28gaW4gY2FzZSBpbXBsZW1lbnRhdGlvbiBhY3R1YWxseSB0cmllcyB0byB0ZXN0IGFsbCBtaXNzaW5nIGVsZW1lbnRzISENCiAgcmV0dXJuIChhLmluZGV4T2YoMiw0Mjk0OTY3MjkwICkgPT09IDQyOTQ5NjcyOTQgJiYgICAgDQogICAgICBhLmluZGV4T2YoMyw0Mjk0OTY3MjkwKSA9PT0gLTEgJiYgICANCiAgICAgIGEuaW5kZXhPZig0LDQyOTQ5NjcyOTApID09PSAtMSAmJiAgDQogICAgICBhLmluZGV4T2YoNSw0Mjk0OTY3MjkwKSA9PT0gLTEgICApIDsNCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.indexOf must return correct index (Sparse Array)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-9.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTQvMTUuNC40LjE0LTktYS0xLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmluZGV4T2YgLSBhZGRlZCBwcm9wZXJ0aWVzIGluIHN0ZXAgMiBhcmUgdmlzaWJsZSBoZXJlDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYXJyID0geyB9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnIsICJsZW5ndGgiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICBhcnJbMl0gPSAibGVuZ3RoIjsNCiAgICAgICAgICAgICAgICByZXR1cm4gMzsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgcmV0dXJuIDIgPT09IEFycmF5LnByb3RvdHlwZS5pbmRleE9mLmNhbGwoYXJyLCAibGVuZ3RoIik7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.indexOf - added properties in step 2 are visible here","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-a-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTQvMTUuNC40LjE0LTktYS0xMC5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5pbmRleE9mIC0gcHJvcGVydGllcyBjYW4gYmUgYWRkZWQgdG8gcHJvdG90eXBlIGFmdGVyIGN1cnJlbnQgcG9zaXRpb24gYXJlIHZpc2l0ZWQgb24gYW4gQXJyYXkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhcnIgPSBbMCwgLCAyXTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyLCAiMCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShBcnJheS5wcm90b3R5cGUsICIxIiwgew0KICAgICAgICAgICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiA2Ljk5Ow0KICAgICAgICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgICAgICB9KTsNCiAgICAgICAgICAgICAgICByZXR1cm4gMDsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIHJldHVybiBhcnIuaW5kZXhPZig2Ljk5KSA9PT0gMTsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBBcnJheS5wcm90b3R5cGVbMV07DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.indexOf - properties can be added to prototype after current position are visited on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-a-10.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTQvMTUuNC40LjE0LTktYS0xMS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5pbmRleE9mIC0gZGVsZXRpbmcgb3duIHByb3BlcnR5IGNhdXNlcyBpbmRleCBwcm9wZXJ0eSBub3QgdG8gYmUgdmlzaXRlZCBvbiBhbiBBcnJheS1saWtlIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFyciA9IHsgbGVuZ3RoOiAyIH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgIjEiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gNi45OTsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgIjAiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICBkZWxldGUgYXJyWzFdOw0KICAgICAgICAgICAgICAgIHJldHVybiAwOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICByZXR1cm4gLTEgPT09IEFycmF5LnByb3RvdHlwZS5pbmRleE9mLmNhbGwoYXJyLCA2Ljk5KTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.indexOf - deleting own property causes index property not to be visited on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-a-11.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTQvMTUuNC40LjE0LTktYS0xMi5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5pbmRleE9mIC0gZGVsZXRpbmcgb3duIHByb3BlcnR5IGNhdXNlcyBpbmRleCBwcm9wZXJ0eSBub3QgdG8gYmUgdmlzaXRlZCBvbiBhbiBBcnJheQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFyciA9IFsxLCAyXTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyLCAiMSIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiAiNi45OSI7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnIsICIwIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgZGVsZXRlIGFyclsxXTsNCiAgICAgICAgICAgICAgICByZXR1cm4gMDsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgcmV0dXJuIC0xID09PSBhcnIuaW5kZXhPZigiNi45OSIpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.indexOf - deleting own property causes index property not to be visited on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-a-12.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTQvMTUuNC40LjE0LTktYS0xMy5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5pbmRleE9mIC0gZGVsZXRpbmcgcHJvcGVydHkgb2YgcHJvdG90eXBlIGNhdXNlcyBwcm90b3R5cGUgaW5kZXggcHJvcGVydHkgbm90IHRvIGJlIHZpc2l0ZWQgb24gYW4gQXJyYXktbGlrZSBPYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhcnIgPSB7IDI6IDIsIGxlbmd0aDogMjAgfTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyLCAiMCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIGRlbGV0ZSBPYmplY3QucHJvdG90eXBlWzFdOw0KICAgICAgICAgICAgICAgIHJldHVybiAwOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LnByb3RvdHlwZVsxXSA9IDE7DQogICAgICAgICAgICByZXR1cm4gLTEgPT09IEFycmF5LnByb3RvdHlwZS5pbmRleE9mLmNhbGwoYXJyLCAxKTsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBPYmplY3QucHJvdG90eXBlWzFdOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.indexOf - deleting property of prototype causes prototype index property not to be visited on an Array-like Object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-a-13.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTQvMTUuNC40LjE0LTktYS0xNC5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5pbmRleE9mIC0gZGVsZXRpbmcgcHJvcGVydHkgb2YgcHJvdG90eXBlIGNhdXNlcyBwcm90b3R5cGUgaW5kZXggcHJvcGVydHkgbm90IHRvIGJlIHZpc2l0ZWQgb24gYW4gQXJyYXkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhcnIgPSBbMCwgLCAyXTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyLCAiMCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIGRlbGV0ZSBBcnJheS5wcm90b3R5cGVbMV07DQogICAgICAgICAgICAgICAgcmV0dXJuIDA7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBBcnJheS5wcm90b3R5cGVbMV0gPSAxOw0KICAgICAgICAgICAgcmV0dXJuIC0xID09PSBhcnIuaW5kZXhPZigxKTsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBBcnJheS5wcm90b3R5cGVbMV07DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.indexOf - deleting property of prototype causes prototype index property not to be visited on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-a-14.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTQvMTUuNC40LjE0LTktYS0xNS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5pbmRleE9mIC0gZGVsZXRpbmcgb3duIHByb3BlcnR5IHdpdGggcHJvdG90eXBlIHByb3BlcnR5IGNhdXNlcyBwcm90b3R5cGUgaW5kZXggcHJvcGVydHkgdG8gYmUgdmlzaXRlZCBvbiBhbiBBcnJheS1saWtlIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFyciA9IHsgMDogMCwgMTogMTExLCAyOiAyLCBsZW5ndGg6IDEwIH07DQogICAgICAgIA0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyLCAiMCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIGRlbGV0ZSBhcnJbMV07DQogICAgICAgICAgICAgICAgcmV0dXJuIDA7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QucHJvdG90eXBlWzFdID0gMTsNCiAgICAgICAgICAgIHJldHVybiAxID09PSBBcnJheS5wcm90b3R5cGUuaW5kZXhPZi5jYWxsKGFyciwgMSk7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgT2JqZWN0LnByb3RvdHlwZVsxXTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.indexOf - deleting own property with prototype property causes prototype index property to be visited on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-a-15.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTQvMTUuNC40LjE0LTktYS0xNi5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5pbmRleE9mIC0gZGVsZXRpbmcgb3duIHByb3BlcnR5IHdpdGggcHJvdG90eXBlIHByb3BlcnR5IGNhdXNlcyBwcm90b3R5cGUgaW5kZXggcHJvcGVydHkgdG8gYmUgdmlzaXRlZCBvbiBhbiBBcnJheQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFyciA9IFswLCAxMTEsIDJdOyANCiAgICAgICAgDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnIsICIwIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgZGVsZXRlIGFyclsxXTsNCiAgICAgICAgICAgICAgICByZXR1cm4gMDsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIEFycmF5LnByb3RvdHlwZVsxXSA9IDE7DQogICAgICAgICAgICByZXR1cm4gMSA9PT0gYXJyLmluZGV4T2YoMSk7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgQXJyYXkucHJvdG90eXBlWzFdOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.indexOf - deleting own property with prototype property causes prototype index property to be visited on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-a-16.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTQvMTUuNC40LjE0LTktYS0xNy5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5pbmRleE9mIC0gZGVjcmVhc2luZyBsZW5ndGggb2YgYXJyYXkgY2F1c2VzIGluZGV4IHByb3BlcnR5IG5vdCB0byBiZSB2aXNpdGVkDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYXJyID0gWzAsIDEsIDIsICJsYXN0Il07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgIjAiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICBhcnIubGVuZ3RoID0gMzsNCiAgICAgICAgICAgICAgICByZXR1cm4gMDsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgcmV0dXJuIC0xID09PSBhcnIuaW5kZXhPZigibGFzdCIpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.indexOf - decreasing length of array causes index property not to be visited","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-a-17.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTQvMTUuNC40LjE0LTktYS0xOC5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5pbmRleE9mIC0gZGVjcmVhc2luZyBsZW5ndGggb2YgYXJyYXkgd2l0aCBwcm90b3R5cGUgcHJvcGVydHkgY2F1c2VzIHByb3RvdHlwZSBpbmRleCBwcm9wZXJ0eSB0byBiZSB2aXNpdGVkDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYXJyID0gWzAsIDEsIDJdOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoQXJyYXkucHJvdG90eXBlLCAiMiIsIHsNCiAgICAgICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuICJwcm90b3R5cGUiOw0KICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgIjEiLCB7DQogICAgICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgIGFyci5sZW5ndGggPSAyOw0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gMTsNCiAgICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgIHJldHVybiAyID09PSBhcnIuaW5kZXhPZigicHJvdG90eXBlIik7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgQXJyYXkucHJvdG90eXBlWzJdOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.indexOf - decreasing length of array with prototype property causes prototype index property to be visited","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-a-18.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTQvMTUuNC40LjE0LTktYS0xOS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5pbmRleE9mIC0gZGVjcmVhc2luZyBsZW5ndGggb2YgYXJyYXkgZG9lcyBub3QgZGVsZXRlIG5vbi1jb25maWd1cmFibGUgcHJvcGVydGllcw0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFyciA9IFswLCAxLCAyXTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyLCAiMiIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiAidW5jb25maWd1cmFibGUiOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgfSk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgIjEiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICBhcnIubGVuZ3RoID0gMjsNCiAgICAgICAgICAgICAgICByZXR1cm4gMTsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQogICAgICAgIA0KICAgICAgICByZXR1cm4gMiA9PT0gYXJyLmluZGV4T2YoInVuY29uZmlndXJhYmxlIik7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.indexOf - decreasing length of array does not delete non-configurable properties","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-a-19.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTQvMTUuNC40LjE0LTktYS0yLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmluZGV4T2YgLSBhZGRlZCBwcm9wZXJ0aWVzIGluIHN0ZXAgNSBhcmUgdmlzaWJsZSBoZXJlIG9uIGFuIEFycmF5LWxpa2Ugb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYXJyID0geyBsZW5ndGg6IDMwIH07DQogICAgICAgIHZhciB0YXJnZXRPYmogPSBmdW5jdGlvbiAoKSB7IH07DQoNCiAgICAgICAgdmFyIGZyb21JbmRleCA9IHsNCiAgICAgICAgICAgIHZhbHVlT2Y6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICBhcnJbNF0gPSB0YXJnZXRPYmo7DQogICAgICAgICAgICAgICAgcmV0dXJuIDM7DQogICAgICAgICAgICB9DQogICAgICAgIH07DQogICAgICAgIA0KICAgICAgICByZXR1cm4gNCA9PT0gQXJyYXkucHJvdG90eXBlLmluZGV4T2YuY2FsbChhcnIsIHRhcmdldE9iaiwgZnJvbUluZGV4KTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.indexOf - added properties in step 5 are visible here on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-a-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTQvMTUuNC40LjE0LTktYS0zLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmluZGV4T2YgLSBhZGRlZCBwcm9wZXJ0aWVzIGluIHN0ZXAgNSBhcmUgdmlzaWJsZSBoZXJlIG9uIGFuIEFycmF5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYXJyID0gW107DQogICAgICAgIGFyci5sZW5ndGggPSAzMDsNCiAgICAgICAgdmFyIHRhcmdldE9iaiA9IGZ1bmN0aW9uICgpIHsgfTsNCg0KICAgICAgICB2YXIgZnJvbUluZGV4ID0gew0KICAgICAgICAgICAgdmFsdWVPZjogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIGFycls0XSA9IHRhcmdldE9iajsNCiAgICAgICAgICAgICAgICByZXR1cm4gMzsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfTsNCg0KICAgICAgICByZXR1cm4gNCA9PT0gYXJyLmluZGV4T2YodGFyZ2V0T2JqLCBmcm9tSW5kZXgpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.indexOf - added properties in step 5 are visible here on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-a-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTQvMTUuNC40LjE0LTktYS00LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmluZGV4T2YgLSBkZWxldGVkIHByb3BlcnRpZXMgaW4gc3RlcCAyIGFyZSB2aXNpYmxlIGhlcmUNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhcnIgPSB7IDI6IDYuOTkgfTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyLCAibGVuZ3RoIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgZGVsZXRlIGFyclsyXTsNCiAgICAgICAgICAgICAgICByZXR1cm4gMzsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgcmV0dXJuIC0xID09PSBBcnJheS5wcm90b3R5cGUuaW5kZXhPZi5jYWxsKGFyciwgNi45OSk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.indexOf - deleted properties in step 2 are visible here","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-a-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTQvMTUuNC40LjE0LTktYS01LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmluZGV4T2YgLSBkZWxldGVkIHByb3BlcnRpZXMgaW4gc3RlcCA1IGFyZSB2aXNpYmxlIGhlcmUgb24gYW4gQXJyYXktbGlrZSBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhcnIgPSB7IDEwOiBmYWxzZSwgbGVuZ3RoOiAzMCB9Ow0KDQogICAgICAgIHZhciBmcm9tSW5kZXggPSB7DQogICAgICAgICAgICB2YWx1ZU9mOiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgZGVsZXRlIGFyclsxMF07DQogICAgICAgICAgICAgICAgcmV0dXJuIDM7DQogICAgICAgICAgICB9DQogICAgICAgIH07DQoNCiAgICAgICAgcmV0dXJuIC0xID09PSBBcnJheS5wcm90b3R5cGUuaW5kZXhPZi5jYWxsKGFyciwgZmFsc2UsIGZyb21JbmRleCk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.indexOf - deleted properties in step 5 are visible here on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-a-5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTQvMTUuNC40LjE0LTktYS02LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmluZGV4T2YgLSBkZWxldGVkIHByb3BlcnRpZXMgaW4gc3RlcCA1IGFyZSB2aXNpYmxlIGhlcmUgb24gYW4gQXJyYXkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhcnIgPSBbXTsNCiAgICAgICAgYXJyWzEwXSA9ICIxMCI7DQogICAgICAgIGFyci5sZW5ndGggPSAyMDsNCg0KICAgICAgICB2YXIgZnJvbUluZGV4ID0gew0KICAgICAgICAgICAgdmFsdWVPZjogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIGRlbGV0ZSBhcnJbMTBdOw0KICAgICAgICAgICAgICAgIHJldHVybiAzOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9Ow0KDQogICAgICAgIHJldHVybiAtMSA9PT0gYXJyLmluZGV4T2YoIjEwIiwgZnJvbUluZGV4KTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.indexOf - deleted properties in step 5 are visible here on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-a-6.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTQvMTUuNC40LjE0LTktYS03LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmluZGV4T2YgLSBwcm9wZXJ0aWVzIGFkZGVkIGludG8gb3duIG9iamVjdCBhZnRlciBjdXJyZW50IHBvc2l0aW9uIGFyZSB2aXNpdGVkIG9uIGFuIEFycmF5LWxpa2Ugb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICANCiAgICAgICAgdmFyIGFyciA9IHsgbGVuZ3RoOiAyIH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgIjAiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyLCAiMSIsIHsNCiAgICAgICAgICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gMTsNCiAgICAgICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICAgICAgfSk7DQogICAgICAgICAgICAgICAgcmV0dXJuIDA7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUuaW5kZXhPZi5jYWxsKGFyciwgMSkgPT09IDE7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.indexOf - properties added into own object after current position are visited on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-a-7.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTQvMTUuNC40LjE0LTktYS04LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmluZGV4T2YgLSBwcm9wZXJ0aWVzIGFkZGVkIGludG8gb3duIG9iamVjdCBhZnRlciBjdXJyZW50IHBvc2l0aW9uIGFyZSB2aXNpdGVkIG9uIGFuIEFycmF5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYXJyID0gWzAsICwgMl07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgIjAiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyLCAiMSIsIHsNCiAgICAgICAgICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gMTsNCiAgICAgICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICAgICAgfSk7DQogICAgICAgICAgICAgICAgcmV0dXJuIDA7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHJldHVybiBhcnIuaW5kZXhPZigxKSA9PT0gMTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.indexOf - properties added into own object after current position are visited on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-a-8.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTQvMTUuNC40LjE0LTktYS05LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmluZGV4T2YgLSBwcm9wZXJ0aWVzIGNhbiBiZSBhZGRlZCB0byBwcm90b3R5cGUgYWZ0ZXIgY3VycmVudCBwb3NpdGlvbiBhcmUgdmlzaXRlZCBvbiBhbiBBcnJheS1saWtlIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFyciA9IHsgbGVuZ3RoOiAyIH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgIjAiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoT2JqZWN0LnByb3RvdHlwZSwgIjEiLCB7DQogICAgICAgICAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDYuOTk7DQogICAgICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgICAgIHJldHVybiAwOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5pbmRleE9mLmNhbGwoYXJyLCA2Ljk5KSA9PT0gMTsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBPYmplY3QucHJvdG90eXBlWzFdOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.indexOf - properties can be added to prototype after current position are visited on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-a-9.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTQvMTUuNC40LjE0LTktYi0xLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmluZGV4T2YgLSBub24tZXhpc3RlbnQgcHJvcGVydHkgd291bGRuJ3QgYmUgY2FsbGVkDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICByZXR1cm4gWzAsICwgMl0uaW5kZXhPZih1bmRlZmluZWQpID09PSAtMTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.indexOf - non-existent property wouldn't be called","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-b-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTQvMTUuNC40LjE0LTktYi1pLTEuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuaW5kZXhPZiAtIGVsZW1lbnQgdG8gYmUgcmV0cmlldmVkIGlzIG93biBkYXRhIHByb3BlcnR5IG9uIGFuIEFycmF5LWxpa2Ugb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHsgMDogMCwgMTogMSwgMjogMiwgbGVuZ3RoOiAzIH07DQogICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUuaW5kZXhPZi5jYWxsKG9iaiwgMCkgPT09IDAgJiYNCiAgICAgICAgICAgIEFycmF5LnByb3RvdHlwZS5pbmRleE9mLmNhbGwob2JqLCAxKSA9PT0gMSAmJg0KICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlLmluZGV4T2YuY2FsbChvYmosIDIpID09PSAyOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.indexOf - element to be retrieved is own data property on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-b-i-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTQvMTUuNC40LjE0LTktYi1pLTEwLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmluZGV4T2YgLSBlbGVtZW50IHRvIGJlIHJldHJpZXZlZCBpcyBvd24gYWNjZXNzb3IgcHJvcGVydHkgb24gYW4gQXJyYXktbGlrZSBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7IGxlbmd0aDogMyB9Ow0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiMCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiAwOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiMSIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiAxOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiMiIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiAyOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICByZXR1cm4gMCA9PT0gQXJyYXkucHJvdG90eXBlLmluZGV4T2YuY2FsbChvYmosIDApICYmDQogICAgICAgICAgICAxID09PSBBcnJheS5wcm90b3R5cGUuaW5kZXhPZi5jYWxsKG9iaiwgMSkgJiYNCiAgICAgICAgICAgIDIgPT09IEFycmF5LnByb3RvdHlwZS5pbmRleE9mLmNhbGwob2JqLCAyKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.indexOf - element to be retrieved is own accessor property on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-b-i-10.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTQvMTUuNC40LjE0LTktYi1pLTExLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmluZGV4T2YgLSBlbGVtZW50IHRvIGJlIHJldHJpZXZlZCBpcyBvd24gYWNjZXNzb3IgcHJvcGVydHkgdGhhdCBvdmVycmlkZXMgYW4gaW5oZXJpdGVkIGRhdGEgcHJvcGVydHkgb24gYW4gQXJyYXkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhcnIgPSBbXTsNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIEFycmF5LnByb3RvdHlwZVswXSA9IGZhbHNlOw0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgIjAiLCB7DQogICAgICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgIHJldHVybiB0cnVlOw0KICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgcmV0dXJuIDAgPT09IGFyci5pbmRleE9mKHRydWUpOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIEFycmF5LnByb3RvdHlwZVswXTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.indexOf - element to be retrieved is own accessor property that overrides an inherited data property on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-b-i-11.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTQvMTUuNC40LjE0LTktYi1pLTEyLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmluZGV4T2YgLSBlbGVtZW50IHRvIGJlIHJldHJpZXZlZCBpcyBvd24gYWNjZXNzb3IgcHJvcGVydHkgdGhhdCBvdmVycmlkZXMgYW4gaW5oZXJpdGVkIGRhdGEgcHJvcGVydHkgb24gYW4gQXJyYXktbGlrZSBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0geyBsZW5ndGg6IDEgfTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LnByb3RvdHlwZVswXSA9IGZhbHNlOw0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgIjAiLCB7DQogICAgICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgIHJldHVybiB0cnVlOw0KICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgcmV0dXJuIDAgPT09IEFycmF5LnByb3RvdHlwZS5pbmRleE9mLmNhbGwob2JqLCB0cnVlKTsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBPYmplY3QucHJvdG90eXBlWzBdOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.indexOf - element to be retrieved is own accessor property that overrides an inherited data property on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-b-i-12.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTQvMTUuNC40LjE0LTktYi1pLTEzLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmluZGV4T2YgLSBlbGVtZW50IHRvIGJlIHJldHJpZXZlZCBpcyBvd24gYWNjZXNzb3IgcHJvcGVydHkgdGhhdCBvdmVycmlkZXMgYW4gaW5oZXJpdGVkIGFjY2Vzc29yIHByb3BlcnR5IG9uIGFuIEFycmF5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYXJyID0gW107DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoQXJyYXkucHJvdG90eXBlLCAiMCIsIHsNCiAgICAgICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgIjAiLCB7DQogICAgICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgIHJldHVybiB0cnVlOw0KICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgcmV0dXJuIDAgPT09IGFyci5pbmRleE9mKHRydWUpOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIEFycmF5LnByb3RvdHlwZVswXTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.indexOf - element to be retrieved is own accessor property that overrides an inherited accessor property on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-b-i-13.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTQvMTUuNC40LjE0LTktYi1pLTE0LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmluZGV4T2YgLSBlbGVtZW50IHRvIGJlIHJldHJpZXZlZCBpcyBvd24gYWNjZXNzb3IgcHJvcGVydHkgdGhhdCBvdmVycmlkZXMgYW4gaW5oZXJpdGVkIGFjY2Vzc29yIHByb3BlcnR5IG9uIGFuIEFycmF5LWxpa2Ugb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0geyBsZW5ndGg6IDEgfTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KE9iamVjdC5wcm90b3R5cGUsICIwIiwgew0KICAgICAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiMCIsIHsNCiAgICAgICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7DQogICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICByZXR1cm4gMCA9PT0gQXJyYXkucHJvdG90eXBlLmluZGV4T2YuY2FsbChvYmosIHRydWUpOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIE9iamVjdC5wcm90b3R5cGVbMF07DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.indexOf - element to be retrieved is own accessor property that overrides an inherited accessor property on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-b-i-14.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTQvMTUuNC40LjE0LTktYi1pLTE1LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmluZGV4T2YgLSBlbGVtZW50IHRvIGJlIHJldHJpZXZlZCBpcyBpbmhlcml0ZWQgYWNjZXNzb3IgcHJvcGVydHkgb24gYW4gQXJyYXkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KEFycmF5LnByb3RvdHlwZSwgIjAiLCB7DQogICAgICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgIHJldHVybiAxMDsNCiAgICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShBcnJheS5wcm90b3R5cGUsICIxIiwgew0KICAgICAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gMjA7DQogICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoQXJyYXkucHJvdG90eXBlLCAiMiIsIHsNCiAgICAgICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDMwOw0KICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgcmV0dXJuIDAgPT09IFssICwgLCBdLmluZGV4T2YoMTApICYmDQogICAgICAgICAgICAgICAgMSA9PT0gWywgLCAsIF0uaW5kZXhPZigyMCkgJiYgDQogICAgICAgICAgICAgICAgMiA9PT0gWywgLCAsIF0uaW5kZXhPZigzMCk7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgQXJyYXkucHJvdG90eXBlWzBdOw0KICAgICAgICAgICAgZGVsZXRlIEFycmF5LnByb3RvdHlwZVsxXTsgDQogICAgICAgICAgICBkZWxldGUgQXJyYXkucHJvdG90eXBlWzJdOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.indexOf - element to be retrieved is inherited accessor property on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-b-i-15.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTQvMTUuNC40LjE0LTktYi1pLTE2LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmluZGV4T2YgLSBlbGVtZW50IHRvIGJlIHJldHJpZXZlZCBpcyBpbmhlcml0ZWQgYWNjZXNzb3IgcHJvcGVydHkgb24gYW4gQXJyYXktbGlrZSBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoT2JqZWN0LnByb3RvdHlwZSwgIjAiLCB7DQogICAgICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgIHJldHVybiAxMDsNCiAgICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShPYmplY3QucHJvdG90eXBlLCAiMSIsIHsNCiAgICAgICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDIwOw0KICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KE9iamVjdC5wcm90b3R5cGUsICIyIiwgew0KICAgICAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gMzA7DQogICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICByZXR1cm4gMCA9PT0gQXJyYXkucHJvdG90eXBlLmluZGV4T2YuY2FsbCh7IGxlbmd0aDogMyB9LCAxMCkgJiYNCiAgICAgICAgICAgICAgICAxID09PSBBcnJheS5wcm90b3R5cGUuaW5kZXhPZi5jYWxsKHsgbGVuZ3RoOiAzIH0sIDIwKSAmJg0KICAgICAgICAgICAgICAgIDIgPT09IEFycmF5LnByb3RvdHlwZS5pbmRleE9mLmNhbGwoeyBsZW5ndGg6IDMgfSwgMzApOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIE9iamVjdC5wcm90b3R5cGVbMF07DQogICAgICAgICAgICBkZWxldGUgT2JqZWN0LnByb3RvdHlwZVsxXTsNCiAgICAgICAgICAgIGRlbGV0ZSBPYmplY3QucHJvdG90eXBlWzJdOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.indexOf - element to be retrieved is inherited accessor property on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-b-i-16.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTQvMTUuNC40LjE0LTktYi1pLTE3LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmluZGV4T2YgLSBlbGVtZW50IHRvIGJlIHJldHJpZXZlZCBpcyBvd24gYWNjZXNzb3IgcHJvcGVydHkgd2l0aG91dCBhIGdldCBmdW5jdGlvbiBvbiBhbiBBcnJheQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFyciA9IFtdOw0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyLCAiMCIsIHsNCiAgICAgICAgICAgIHNldDogZnVuY3Rpb24gKCkgeyB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHJldHVybiBhcnIuaW5kZXhPZih1bmRlZmluZWQpID09PSAwOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.indexOf - element to be retrieved is own accessor property without a get function on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-b-i-17.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTQvMTUuNC40LjE0LTktYi1pLTE4LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmluZGV4T2YgLSBlbGVtZW50IHRvIGJlIHJldHJpZXZlZCBpcyBvd24gYWNjZXNzb3IgcHJvcGVydHkgd2l0aG91dCBhIGdldCBmdW5jdGlvbiBvbiBhbiBBcnJheS1saWtlIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgbGVuZ3RoOiAxIH07DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICIwIiwgew0KICAgICAgICAgICAgc2V0OiBmdW5jdGlvbiAoKSB7IH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgcmV0dXJuIDAgPT09IEFycmF5LnByb3RvdHlwZS5pbmRleE9mLmNhbGwob2JqLCB1bmRlZmluZWQpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.indexOf - element to be retrieved is own accessor property without a get function on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-b-i-18.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTQvMTUuNC40LjE0LTktYi1pLTE5LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmluZGV4T2YgLSBlbGVtZW50IHRvIGJlIHJldHJpZXZlZCBpcyBvd24gYWNjZXNzb3IgcHJvcGVydHkgd2l0aG91dCBhIGdldCBmdW5jdGlvbiB0aGF0IG92ZXJyaWRlcyBhbiBpbmhlcml0ZWQgYWNjZXNzb3IgcHJvcGVydHkgb24gYW4gQXJyYXkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhcnIgPSBbXTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyLCAiMCIsIHsNCiAgICAgICAgICAgIHNldDogZnVuY3Rpb24gKCkgeyB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoQXJyYXkucHJvdG90eXBlLCAiMCIsIHsNCiAgICAgICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDI7DQogICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICByZXR1cm4gYXJyLmluZGV4T2YodW5kZWZpbmVkKSA9PT0gMDsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBBcnJheS5wcm90b3R5cGVbMF07DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.indexOf - element to be retrieved is own accessor property without a get function that overrides an inherited accessor property on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-b-i-19.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTQvMTUuNC40LjE0LTktYi1pLTIuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuaW5kZXhPZiAtIGVsZW1lbnQgdG8gYmUgcmV0cmlldmVkIGlzIG93biBkYXRhIHByb3BlcnR5IG9uIGFuIEFycmF5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgcmV0dXJuIFt0cnVlLCB0cnVlLCB0cnVlXS5pbmRleE9mKHRydWUpID09PSAwICYmDQogICAgICAgICAgICBbZmFsc2UsIHRydWUsIHRydWVdLmluZGV4T2YodHJ1ZSkgPT09IDEgJiYNCiAgICAgICAgICAgIFtmYWxzZSwgZmFsc2UsIHRydWVdLmluZGV4T2YodHJ1ZSkgPT09IDI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.indexOf - element to be retrieved is own data property on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-b-i-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTQvMTUuNC40LjE0LTktYi1pLTIwLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmluZGV4T2YgLSBlbGVtZW50IHRvIGJlIHJldHJpZXZlZCBpcyBvd24gYWNjZXNzb3IgcHJvcGVydHkgd2l0aG91dCBhIGdldCBmdW5jdGlvbiB0aGF0IG92ZXJyaWRlcyBhbiBpbmhlcml0ZWQgYWNjZXNzb3IgcHJvcGVydHkgb24gYW4gQXJyYXktbGlrZSBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBwcm90byA9IHt9Ow0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkocHJvdG8sICIwIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIDI7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBDb24gPSBmdW5jdGlvbiAoKSB7IH07DQogICAgICAgIENvbi5wcm90b3R5cGUgPSBwcm90bzsNCg0KICAgICAgICB2YXIgY2hpbGQgPSBuZXcgQ29uKCk7DQogICAgICAgIGNoaWxkLmxlbmd0aCA9IDE7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGNoaWxkLCAiMCIsIHsNCiAgICAgICAgICAgIHNldDogZnVuY3Rpb24gKCkgeyB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUuaW5kZXhPZi5jYWxsKGNoaWxkLCB1bmRlZmluZWQpID09PSAwOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.indexOf - element to be retrieved is own accessor property without a get function that overrides an inherited accessor property on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-b-i-20.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTQvMTUuNC40LjE0LTktYi1pLTIxLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmluZGV4T2YgLSBlbGVtZW50IHRvIGJlIHJldHJpZXZlZCBpcyBpbmhlcml0ZWQgYWNjZXNzb3IgcHJvcGVydHkgd2l0aG91dCBhIGdldCBmdW5jdGlvbiBvbiBhbiBBcnJheQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoQXJyYXkucHJvdG90eXBlLCAiMCIsIHsNCiAgICAgICAgICAgICAgICBzZXQ6IGZ1bmN0aW9uICgpIHsgfSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgcmV0dXJuIDAgPT09IFssIF0uaW5kZXhPZih1bmRlZmluZWQpOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIEFycmF5LnByb3RvdHlwZVswXTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.indexOf - element to be retrieved is inherited accessor property without a get function on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-b-i-21.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTQvMTUuNC40LjE0LTktYi1pLTIyLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmluZGV4T2YgLSBlbGVtZW50IHRvIGJlIHJldHJpZXZlZCBpcyBpbmhlcml0ZWQgYWNjZXNzb3IgcHJvcGVydHkgd2l0aG91dCBhIGdldCBmdW5jdGlvbiBvbiBhbiBBcnJheS1saWtlIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShPYmplY3QucHJvdG90eXBlLCAiMCIsIHsNCiAgICAgICAgICAgICAgICBzZXQ6IGZ1bmN0aW9uICgpIHsgfSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgcmV0dXJuIDAgPT09IEFycmF5LnByb3RvdHlwZS5pbmRleE9mLmNhbGwoeyBsZW5ndGg6IDEgfSwgdW5kZWZpbmVkKTsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBPYmplY3QucHJvdG90eXBlWzBdOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.indexOf - element to be retrieved is inherited accessor property without a get function on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-b-i-22.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTQvMTUuNC40LjE0LTktYi1pLTIzLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmluZGV4T2YgLSBUaGlzIG9iamVjdCBpcyB0aGUgZ2xvYmFsIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHRhcmdldE9iaiA9IHt9Ow0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgdmFyIG9sZExlbiA9IGZuR2xvYmFsT2JqZWN0KCkubGVuZ3RoOw0KICAgICAgICAgICAgZm5HbG9iYWxPYmplY3QoKVswXSA9IHRhcmdldE9iajsNCiAgICAgICAgICAgIGZuR2xvYmFsT2JqZWN0KClbMTAwXSA9ICIxMDAiOw0KICAgICAgICAgICAgZm5HbG9iYWxPYmplY3QoKVsyMDBdID0gIjIwMCI7DQogICAgICAgICAgICBmbkdsb2JhbE9iamVjdCgpLmxlbmd0aCA9IDIwMDsNCiAgICAgICAgICAgIHJldHVybiAwID09PSBBcnJheS5wcm90b3R5cGUuaW5kZXhPZi5jYWxsKGZuR2xvYmFsT2JqZWN0KCksIHRhcmdldE9iaikgJiYNCiAgICAgICAgICAgICAgICAxMDAgPT09IEFycmF5LnByb3RvdHlwZS5pbmRleE9mLmNhbGwoZm5HbG9iYWxPYmplY3QoKSwgIjEwMCIpICYmDQogICAgICAgICAgICAgICAgLTEgPT09IEFycmF5LnByb3RvdHlwZS5pbmRleE9mLmNhbGwoZm5HbG9iYWxPYmplY3QoKSwgIjIwMCIpOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIGZuR2xvYmFsT2JqZWN0KClbMF07DQogICAgICAgICAgICBkZWxldGUgZm5HbG9iYWxPYmplY3QoKVsxMDBdOw0KICAgICAgICAgICAgZGVsZXRlIGZuR2xvYmFsT2JqZWN0KClbMjAwXTsNCiAgICAgICAgICAgIGZuR2xvYmFsT2JqZWN0KCkubGVuZ3RoID0gb2xkTGVuOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.indexOf - This object is the global object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-b-i-23.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTQvMTUuNC40LjE0LTktYi1pLTI1LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmluZGV4T2YgYXBwbGllZCB0byBBcmd1bWVudHMgb2JqZWN0IHdoaWNoIGltcGxlbWVudHMgaXRzIG93biBwcm9wZXJ0eSBnZXQgbWV0aG9kIChudW1iZXIgb2YgYXJndW1lbnRzIGlzIGxlc3MgdGhhbiBudW1iZXIgb2YgcGFyYW1ldGVycykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBmdW5jID0gZnVuY3Rpb24gKGEsIGIpIHsNCiAgICAgICAgICAgIHJldHVybiAwID09PSBBcnJheS5wcm90b3R5cGUuaW5kZXhPZi5jYWxsKGFyZ3VtZW50cywgYXJndW1lbnRzWzBdKSAmJg0KICAgICAgICAgICAgLTEgPT09IEFycmF5LnByb3RvdHlwZS5pbmRleE9mLmNhbGwoYXJndW1lbnRzLCBhcmd1bWVudHNbMV0pOw0KICAgICAgICB9Ow0KDQogICAgICAgIHJldHVybiBmdW5jKHRydWUpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.indexOf applied to Arguments object which implements its own property get method (number of arguments is less than number of parameters)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-b-i-25.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTQvMTUuNC40LjE0LTktYi1pLTI2LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmluZGV4T2YgYXBwbGllZCB0byBBcmd1bWVudHMgb2JqZWN0IHdoaWNoIGltcGxlbWVudHMgaXRzIG93biBwcm9wZXJ0eSBnZXQgbWV0aG9kIChudW1iZXIgb2YgYXJndW1lbnRzIGVxdWFscyB0byBudW1iZXIgb2YgcGFyYW1ldGVycykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBmdW5jID0gZnVuY3Rpb24gKGEsIGIpIHsNCiAgICAgICAgICAgIHJldHVybiAwID09PSBBcnJheS5wcm90b3R5cGUuaW5kZXhPZi5jYWxsKGFyZ3VtZW50cywgYXJndW1lbnRzWzBdKSAmJg0KICAgICAgICAgICAgMSA9PT0gQXJyYXkucHJvdG90eXBlLmluZGV4T2YuY2FsbChhcmd1bWVudHMsIGFyZ3VtZW50c1sxXSkgJiYNCiAgICAgICAgICAgIC0xID09PSBBcnJheS5wcm90b3R5cGUuaW5kZXhPZi5jYWxsKGFyZ3VtZW50cywgYXJndW1lbnRzWzJdKTsNCiAgICAgICAgfTsNCg0KICAgICAgICByZXR1cm4gZnVuYygwLCB0cnVlKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.indexOf applied to Arguments object which implements its own property get method (number of arguments equals to number of parameters)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-b-i-26.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTQvMTUuNC40LjE0LTktYi1pLTI3LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmluZGV4T2YgYXBwbGllZCB0byBBcmd1bWVudHMgb2JqZWN0IHdoaWNoIGltcGxlbWVudHMgaXRzIG93biBwcm9wZXJ0eSBnZXQgbWV0aG9kIChudW1iZXIgb2YgYXJndW1lbnRzIGlzIGdyZWF0ZXIgdGhhbiBudW1iZXIgb2YgcGFyYW1ldGVycykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBmdW5jID0gZnVuY3Rpb24gKGEsIGIpIHsNCiAgICAgICAgICAgIHJldHVybiAwID09PSBBcnJheS5wcm90b3R5cGUuaW5kZXhPZi5jYWxsKGFyZ3VtZW50cywgYXJndW1lbnRzWzBdKSAmJg0KICAgICAgICAgICAgMyA9PT0gQXJyYXkucHJvdG90eXBlLmluZGV4T2YuY2FsbChhcmd1bWVudHMsIGFyZ3VtZW50c1szXSkgJiYNCiAgICAgICAgICAgIC0xID09PSBBcnJheS5wcm90b3R5cGUuaW5kZXhPZi5jYWxsKGFyZ3VtZW50cywgYXJndW1lbnRzWzRdKTsNCiAgICAgICAgfTsNCg0KICAgICAgICByZXR1cm4gZnVuYygwLCBmYWxzZSwgMCwgdHJ1ZSk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.indexOf applied to Arguments object which implements its own property get method (number of arguments is greater than number of parameters)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-b-i-27.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTQvMTUuNC40LjE0LTktYi1pLTI4LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmluZGV4T2YgLSBzaWRlLWVmZmVjdHMgYXJlIHZpc2libGUgaW4gc3Vic2VxdWVudCBpdGVyYXRpb25zIG9uIGFuIEFycmF5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgcHJlSXRlclZpc2libGUgPSBmYWxzZTsNCiAgICAgICAgdmFyIGFyciA9IFtdOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnIsICIwIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcHJlSXRlclZpc2libGUgPSB0cnVlOw0KICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgIjEiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICBpZiAocHJlSXRlclZpc2libGUpIHsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7DQogICAgICAgICAgICAgICAgfSBlbHNlIHsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgcmV0dXJuIGFyci5pbmRleE9mKHRydWUpID09PSAxOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.indexOf - side-effects are visible in subsequent iterations on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-b-i-28.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTQvMTUuNC40LjE0LTktYi1pLTI5LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmluZGV4T2YgLSBzaWRlLWVmZmVjdHMgYXJlIHZpc2libGUgaW4gc3Vic2VxdWVudCBpdGVyYXRpb25zIG9uIGFuIEFycmF5LWxpa2Ugb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgcHJlSXRlclZpc2libGUgPSBmYWxzZTsNCiAgICAgICAgdmFyIG9iaiA9IHsgbGVuZ3RoOiAyIH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgIjAiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICBwcmVJdGVyVmlzaWJsZSA9IHRydWU7DQogICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiMSIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIGlmIChwcmVJdGVyVmlzaWJsZSkgew0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsNCiAgICAgICAgICAgICAgICB9IGVsc2Ugew0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLmluZGV4T2YuY2FsbChvYmosIHRydWUpID09PSAxOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.indexOf - side-effects are visible in subsequent iterations on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-b-i-29.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTQvMTUuNC40LjE0LTktYi1pLTMuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuaW5kZXhPZiAtIGVsZW1lbnQgdG8gYmUgcmV0cmlldmVkIGlzIG93biBkYXRhIHByb3BlcnR5IHRoYXQgb3ZlcnJpZGVzIGFuIGluaGVyaXRlZCBkYXRhIHByb3BlcnR5IG9uIGFuIEFycmF5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIEFycmF5LnByb3RvdHlwZVswXSA9IGZhbHNlOw0KICAgICAgICAgICAgcmV0dXJuIFt0cnVlXS5pbmRleE9mKHRydWUpID09PSAwOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIEFycmF5LnByb3RvdHlwZVswXTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.indexOf - element to be retrieved is own data property that overrides an inherited data property on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-b-i-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTQvMTUuNC40LjE0LTktYi1pLTMwLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmluZGV4T2YgLSB0ZXJtaW5hdGVzIGl0ZXJhdGlvbiBvbiB1bmhhbmRsZWQgZXhjZXB0aW9uIG9uIGFuIEFycmF5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCiAgICAgICAgdmFyIGFyciA9IFtdOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnIsICIwIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgdGhyb3cgbmV3IFR5cGVFcnJvcigpOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyLCAiMSIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIGFyci5pbmRleE9mKHRydWUpOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpICYmICFhY2Nlc3NlZDsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.indexOf - terminates iteration on unhandled exception on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-b-i-30.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTQvMTUuNC40LjE0LTktYi1pLTMxLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmluZGV4T2YgLSB0ZXJtaW5hdGVzIGl0ZXJhdGlvbiBvbiB1bmhhbmRsZWQgZXhjZXB0aW9uIG9uIGFuIEFycmF5LWxpa2Ugb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCiAgICAgICAgdmFyIG9iaiA9IHsgbGVuZ3RoOiAyIH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgIjAiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICB0aHJvdyBuZXcgVHlwZUVycm9yKCk7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICIxIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgICAgIHJldHVybiB0cnVlOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlLmluZGV4T2YuY2FsbChvYmosIHRydWUpOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpICYmICFhY2Nlc3NlZDsNCiAgICAgICAgfQ0KDQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.indexOf - terminates iteration on unhandled exception on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-b-i-31.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTQvMTUuNC40LjE0LTktYi1pLTQuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuaW5kZXhPZiAtIGVsZW1lbnQgdG8gYmUgcmV0cmlldmVkIGlzIG93biBkYXRhIHByb3BlcnR5IHRoYXQgb3ZlcnJpZGVzIGFuIGluaGVyaXRlZCBkYXRhIHByb3BlcnR5IG9uIGFuIEFycmF5LWxpa2Ugb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LnByb3RvdHlwZVswXSA9IGZhbHNlOw0KICAgICAgICAgICAgcmV0dXJuIDAgPT09IEFycmF5LnByb3RvdHlwZS5pbmRleE9mLmNhbGwoeyAwOiB0cnVlLCAxOiAxLCBsZW5ndGg6IDIgfSwgdHJ1ZSk7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgT2JqZWN0LnByb3RvdHlwZVswXTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.indexOf - element to be retrieved is own data property that overrides an inherited data property on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-b-i-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTQvMTUuNC40LjE0LTktYi1pLTUuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuaW5kZXhPZiAtIGVsZW1lbnQgdG8gYmUgcmV0cmlldmVkIGlzIG93biBkYXRhIHByb3BlcnR5IHRoYXQgb3ZlcnJpZGVzIGFuIGluaGVyaXRlZCBhY2Nlc3NvciBwcm9wZXJ0eSBvbiBhbiBBcnJheQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoQXJyYXkucHJvdG90eXBlLCAiMCIsIHsNCiAgICAgICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIHJldHVybiAwID09PSBbdHJ1ZV0uaW5kZXhPZih0cnVlKTsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBBcnJheS5wcm90b3R5cGVbMF07DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.indexOf - element to be retrieved is own data property that overrides an inherited accessor property on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-b-i-5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTQvMTUuNC40LjE0LTktYi1pLTYuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuaW5kZXhPZiAtIGVsZW1lbnQgdG8gYmUgcmV0cmlldmVkIGlzIG93biBkYXRhIHByb3BlcnR5IHRoYXQgb3ZlcnJpZGVzIGFuIGluaGVyaXRlZCBhY2Nlc3NvciBwcm9wZXJ0eSBvbiBhbiBBcnJheS1saWtlIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShPYmplY3QucHJvdG90eXBlLCAiMCIsIHsNCiAgICAgICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIHJldHVybiAwID09PSBBcnJheS5wcm90b3R5cGUuaW5kZXhPZi5jYWxsKHsgMDogdHJ1ZSwgMTogMSwgbGVuZ3RoOiAyIH0sIHRydWUpOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIE9iamVjdC5wcm90b3R5cGVbMF07DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.indexOf - element to be retrieved is own data property that overrides an inherited accessor property on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-b-i-6.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTQvMTUuNC40LjE0LTktYi1pLTcuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuaW5kZXhPZiAtIGVsZW1lbnQgdG8gYmUgcmV0cmlldmVkIGlzIGluaGVyaXRlZCBkYXRhIHByb3BlcnR5IG9uIGFuIEFycmF5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIEFycmF5LnByb3RvdHlwZVswXSA9IHRydWU7DQogICAgICAgICAgICBBcnJheS5wcm90b3R5cGVbMV0gPSBmYWxzZTsNCiAgICAgICAgICAgIEFycmF5LnByb3RvdHlwZVsyXSA9ICJ0cnVlIjsNCiAgICAgICAgICAgIHJldHVybiAwID09PSBbLCAsICwgXS5pbmRleE9mKHRydWUpICYmDQogICAgICAgICAgICAgICAgMSA9PT0gWywgLCAsIF0uaW5kZXhPZihmYWxzZSkgJiYNCiAgICAgICAgICAgICAgICAyID09PSBbLCAsICwgXS5pbmRleE9mKCJ0cnVlIik7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgQXJyYXkucHJvdG90eXBlWzBdOw0KICAgICAgICAgICAgZGVsZXRlIEFycmF5LnByb3RvdHlwZVsxXTsNCiAgICAgICAgICAgIGRlbGV0ZSBBcnJheS5wcm90b3R5cGVbMl07DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.indexOf - element to be retrieved is inherited data property on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-b-i-7.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTQvMTUuNC40LjE0LTktYi1pLTguanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuaW5kZXhPZiAtIGVsZW1lbnQgdG8gYmUgcmV0cmlldmVkIGlzIGluaGVyaXRlZCBkYXRhIHByb3BlcnR5IG9uIGFuIEFycmF5LWxpa2Ugb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LnByb3RvdHlwZVswXSA9IHRydWU7DQogICAgICAgICAgICBPYmplY3QucHJvdG90eXBlWzFdID0gZmFsc2U7DQogICAgICAgICAgICBPYmplY3QucHJvdG90eXBlWzJdID0gInRydWUiOw0KICAgICAgICAgICAgcmV0dXJuIDAgPT09IEFycmF5LnByb3RvdHlwZS5pbmRleE9mLmNhbGwoeyBsZW5ndGg6IDMgfSwgdHJ1ZSkgJiYNCiAgICAgICAgICAgICAgICAxID09PSBBcnJheS5wcm90b3R5cGUuaW5kZXhPZi5jYWxsKHsgbGVuZ3RoOiAzIH0sIGZhbHNlKSAmJg0KICAgICAgICAgICAgICAgIDIgPT09IEFycmF5LnByb3RvdHlwZS5pbmRleE9mLmNhbGwoeyBsZW5ndGg6IDMgfSwgInRydWUiKTsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBPYmplY3QucHJvdG90eXBlWzBdOw0KICAgICAgICAgICAgZGVsZXRlIE9iamVjdC5wcm90b3R5cGVbMV07DQogICAgICAgICAgICBkZWxldGUgT2JqZWN0LnByb3RvdHlwZVsyXTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.indexOf - element to be retrieved is inherited data property on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-b-i-8.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTQvMTUuNC40LjE0LTktYi1pLTkuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuaW5kZXhPZiAtIGVsZW1lbnQgdG8gYmUgcmV0cmlldmVkIGlzIG93biBhY2Nlc3NvciBwcm9wZXJ0eSBvbiBhbiBBcnJheQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFyciA9IFssICwgLCBdOw0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyLCAiMCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiAwOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyLCAiMSIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiAxOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCiAgICAgICAgDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnIsICIyIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIDI7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHJldHVybiBhcnIuaW5kZXhPZigwKSA9PT0gMCAmJiBhcnIuaW5kZXhPZigxKSA9PT0gMSAmJiBhcnIuaW5kZXhPZigyKSA9PT0gMjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.indexOf - element to be retrieved is own accessor property on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-b-i-9.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTQvMTUuNC40LjE0LTktYi1paS0xLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmluZGV4T2YgLSB0eXBlIG9mIGFycmF5IGVsZW1lbnQgaXMgZGlmZmVyZW50IGZyb20gdHlwZSBvZiBzZWFyY2ggZWxlbWVudA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgcmV0dXJuIFsidHJ1ZSJdLmluZGV4T2YodHJ1ZSkgPT09IC0xICYmDQogICAgICAgICAgICBbIjAiXS5pbmRleE9mKDApID09PSAtMSAmJg0KICAgICAgICAgICAgW2ZhbHNlXS5pbmRleE9mKDApID09PSAtMSAmJg0KICAgICAgICAgICAgW3VuZGVmaW5lZF0uaW5kZXhPZigwKSA9PT0gLTEgJiYNCiAgICAgICAgICAgIFtudWxsXS5pbmRleE9mKDApID09PSAtMSAmJg0KICAgICAgICAgICAgW1tdXS5pbmRleE9mKDApID09PSAtMTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.indexOf - type of array element is different from type of search element","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-b-ii-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTQvMTUuNC40LjE0LTktYi1paS0xMC5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5pbmRleE9mIC0gYm90aCBhcnJheSBlbGVtZW50IGFuZCBzZWFyY2ggZWxlbWVudCBhcmUgQm9vbGVhbiB0eXBlLCBhbmQgdGhleSBoYXZlIHNhbWUgdmFsdWUNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHJldHVybiBbZmFsc2UsIHRydWVdLmluZGV4T2YodHJ1ZSkgPT09IDE7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.indexOf - both array element and search element are Boolean type, and they have same value","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-b-ii-10.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTQvMTUuNC40LjE0LTktYi1paS0xMS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5pbmRleE9mIC0gYm90aCBhcnJheSBlbGVtZW50IGFuZCBzZWFyY2ggZWxlbWVudCBhcmUgT2JqZWN0IHR5cGUsIGFuZCB0aGV5IHJlZmVyIHRvIHRoZSBzYW1lIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iajEgPSB7fTsNCiAgICAgICAgdmFyIG9iajIgPSB7fTsNCiAgICAgICAgdmFyIG9iajMgPSBvYmoyOw0KICAgICAgICByZXR1cm4gW3t9LCBvYmoxLCBvYmoyXS5pbmRleE9mKG9iajMpID09PSAyOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.indexOf - both array element and search element are Object type, and they refer to the same object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-b-ii-11.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTQvMTUuNC40LjE0LTktYi1paS0yLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmluZGV4T2YgLSBib3RoIHR5cGUgb2YgYXJyYXkgZWxlbWVudCBhbmQgdHlwZSBvZiBzZWFyY2ggZWxlbWVudCBhcmUgVW5kZWZpbmVkDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICByZXR1cm4gW3VuZGVmaW5lZF0uaW5kZXhPZigpID09PSAwICYmIFt1bmRlZmluZWRdLmluZGV4T2YodW5kZWZpbmVkKSA9PT0gMDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.indexOf - both type of array element and type of search element are Undefined","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-b-ii-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTQvMTUuNC40LjE0LTktYi1paS0zLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmluZGV4T2YgLSBib3RoIHR5cGUgb2YgYXJyYXkgZWxlbWVudCBhbmQgdHlwZSBvZiBzZWFyY2ggZWxlbWVudCBhcmUgbnVsbA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgcmV0dXJuIFtudWxsXS5pbmRleE9mKG51bGwpID09PSAwOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.indexOf - both type of array element and type of search element are null","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-b-ii-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTQvMTUuNC40LjE0LTktYi1paS00LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmluZGV4T2YgLSBzZWFyY2ggZWxlbWVudCBpcyBOYU4NCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHJldHVybiBbK05hTiwgTmFOLCAtTmFOXS5pbmRleE9mKE5hTikgPT09IC0xOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.indexOf - search element is NaN","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-b-ii-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTQvMTUuNC40LjE0LTktYi1paS01LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmluZGV4T2YgLSBzZWFyY2ggZWxlbWVudCBpcyAtTmFODQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICByZXR1cm4gWytOYU4sIE5hTiwgLU5hTl0uaW5kZXhPZigtTmFOKSA9PT0gLTE7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.indexOf - search element is -NaN","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-b-ii-5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTQvMTUuNC40LjE0LTktYi1paS02LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmluZGV4T2YgLSBhcnJheSBlbGVtZW50IGlzICswIGFuZCBzZWFyY2ggZWxlbWVudCBpcyAtMA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgcmV0dXJuIFsrMF0uaW5kZXhPZigtMCkgPT09IDA7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.indexOf - array element is +0 and search element is -0","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-b-ii-6.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTQvMTUuNC40LjE0LTktYi1paS03LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmluZGV4T2YgLSBhcnJheSBlbGVtZW50IGlzIC0wIGFuZCBzZWFyY2ggZWxlbWVudCBpcyArMA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgcmV0dXJuIFstMF0uaW5kZXhPZigrMCkgPT09IDA7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.indexOf - array element is -0 and search element is +0","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-b-ii-7.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTQvMTUuNC40LjE0LTktYi1paS04LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmluZGV4T2YgLSBib3RoIGFycmF5IGVsZW1lbnQgYW5kIHNlYXJjaCBlbGVtZW50IGFyZSBOdW1iZXIsIGFuZCB0aGV5IGhhdmUgc2FtZSB2YWx1ZQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgcmV0dXJuIFstMSwgMCwgMV0uaW5kZXhPZigxKSA9PT0gMjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.indexOf - both array element and search element are Number, and they have same value","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-b-ii-8.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTQvMTUuNC40LjE0LTktYi1paS05LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmluZGV4T2YgLSBib3RoIGFycmF5IGVsZW1lbnQgYW5kIHNlYXJjaCBlbGVtZW50IGFyZSBTdHJpbmcsIGFuZCB0aGV5IGhhdmUgZXhhY3RseSB0aGUgc2FtZSBzZXF1ZW5jZSBvZiBjaGFyYWN0ZXJzDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICByZXR1cm4gWyIiLCAiYWIiLCAiYmNhIiwgImFiYyJdLmluZGV4T2YoImFiYyIpID09PSAzOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.indexOf - both array element and search element are String, and they have exactly the same sequence of characters","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-b-ii-9.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTQvMTUuNC40LjE0LTktYi1paWktMS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5pbmRleE9mIC0gcmV0dXJucyBpbmRleCBvZiBsYXN0IG9uZSB3aGVuIG1vcmUgdGhhbiB0d28gZWxlbWVudHMgaW4gYXJyYXkgYXJlIGVsaWdpYmxlDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICByZXR1cm4gWzEsIDIsIDIsIDEsIDJdLmluZGV4T2YoMikgPT09IDE7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.indexOf - returns index of last one when more than two elements in array are eligible","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-b-iii-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTQvMTUuNC40LjE0LTktYi1paWktMi5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5pbmRleE9mIC0gcmV0dXJucyB3aXRob3V0IHZpc2l0aW5nIHN1YnNlcXVlbnQgZWxlbWVudCBvbmNlIHNlYXJjaCB2YWx1ZSBpcyBmb3VuZA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBhcnIgPSBbMSwgMiwgLCAxLCAyXTsNCiAgICAgICAgdmFyIGVsZW1lbnRUaGlyZEFjY2Vzc2VkID0gZmFsc2U7DQogICAgICAgIHZhciBlbGVtZW50RmlmdGhBY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnIsICIyIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgZWxlbWVudFRoaXJkQWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgICAgIHJldHVybiAyOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgIjQiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICBlbGVtZW50RmlmdGhBY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICAgICAgcmV0dXJuIDI7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIGFyci5pbmRleE9mKDIpOw0KICAgICAgICByZXR1cm4gIWVsZW1lbnRUaGlyZEFjY2Vzc2VkICYmICFlbGVtZW50RmlmdGhBY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.indexOf - returns without visiting subsequent element once search value is found","path":"TestCases/ch15/15.4/15.4.4/15.4.4.14/15.4.4.14-9-b-iii-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTUvMTUuNC40LjE1LTAtMS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZiBtdXN0IGV4aXN0IGFzIGEgZnVuY3Rpb24NCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgZiA9IEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZjsNCiAgaWYgKHR5cGVvZihmKSA9PT0gImZ1bmN0aW9uIikgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.lastIndexOf must exist as a function","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-0-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTUvMTUuNC40LjE1LTAtMi5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZiBoYXMgYSBsZW5ndGggcHJvcGVydHkgd2hvc2UgdmFsdWUgaXMgMS4NCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICBpZiAoQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mLmxlbmd0aCA9PT0gMSkgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.lastIndexOf has a length property whose value is 1.","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-0-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTUvMTUuNC40LjE1LTEtMS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZiBhcHBsaWVkIHRvIHVuZGVmaW5lZCB0aHJvd3MgYSBUeXBlRXJyb3INCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YuY2FsbCh1bmRlZmluZWQpOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICBpZiAoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikgew0KICAgICAgICAgICAgICAgIHJldHVybiB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.lastIndexOf applied to undefined throws a TypeError","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-1-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTUvMTUuNC40LjE1LTEtMTAuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YgYXBwbGllZCB0byB0aGUgTWF0aCBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgIA0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgTWF0aC5sZW5ndGggPSAyOw0KICAgICAgICAgICAgTWF0aFsxXSA9IDEwMDsNCiAgICAgICAgICAgIHJldHVybiAxID09PSBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YuY2FsbChNYXRoLCAxMDApOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIE1hdGgubGVuZ3RoOw0KICAgICAgICAgICAgZGVsZXRlIE1hdGhbMV07DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.lastIndexOf applied to the Math object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-1-10.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTUvMTUuNC40LjE1LTEtMTEuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YgYXBwbGllZCB0byBEYXRlIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IG5ldyBEYXRlKCk7DQogICAgICAgIG9iai5sZW5ndGggPSAyOw0KICAgICAgICBvYmpbMV0gPSB0cnVlOw0KDQogICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YuY2FsbChvYmosIHRydWUpID09PSAxOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.lastIndexOf applied to Date object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-1-11.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTUvMTUuNC40LjE1LTEtMTIuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YgYXBwbGllZCB0byBSZWdFeHAgb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0gbmV3IFJlZ0V4cCgiYWZkYXNmIik7DQogICAgICAgIG9iai5sZW5ndGggPSAxMDA7DQogICAgICAgIG9ialsxXSA9ICJhZmRhc2YiOw0KDQogICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YuY2FsbChvYmosICJhZmRhc2YiKSA9PT0gMTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.lastIndexOf applied to RegExp object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-1-12.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTUvMTUuNC40LjE1LTEtMTMuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YgYXBwbGllZCB0byB0aGUgSlNPTiBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciB0YXJnZXRPYmogPSB7fTsNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIEpTT05bM10gPSB0YXJnZXRPYmo7DQogICAgICAgICAgICBKU09OLmxlbmd0aCA9IDU7DQogICAgICAgICAgICByZXR1cm4gMyA9PT0gQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mLmNhbGwoSlNPTiwgdGFyZ2V0T2JqKTsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBKU09OWzNdOw0KICAgICAgICAgICAgZGVsZXRlIEpTT04ubGVuZ3RoOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.lastIndexOf applied to the JSON object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-1-13.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTUvMTUuNC40LjE1LTEtMTQuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YgYXBwbGllZCB0byBFcnJvciBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSBuZXcgU3ludGF4RXJyb3IoKTsNCiAgICAgICAgb2JqLmxlbmd0aCA9IDI7DQogICAgICAgIG9ialsxXSA9IEluZmluaXR5Ow0KDQogICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YuY2FsbChvYmosIEluZmluaXR5KSA9PT0gMTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.lastIndexOf applied to Error object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-1-14.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTUvMTUuNC40LjE1LTEtMTUuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YgYXBwbGllZCB0byB0aGUgQXJndW1lbnRzIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IChmdW5jdGlvbiBmdW4oKSB7DQogICAgICAgICAgICByZXR1cm4gYXJndW1lbnRzOw0KICAgICAgICB9KDEsIDIsIDMpKTsNCg0KICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mLmNhbGwob2JqLCAyKSA9PT0gMTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.lastIndexOf applied to the Arguments object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-1-15.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTUvMTUuNC40LjE1LTEtMTcuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YgYXBwbGllZCB0byB0aGUgZ2xvYmFsIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciB0YXJnZXRPYmogPSBbImdsb2JhbCJdOw0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgdmFyIG9sZExlbiA9IGZuR2xvYmFsT2JqZWN0KCkubGVuZ3RoOw0KICAgICAgICAgICAgZm5HbG9iYWxPYmplY3QoKVsxXSA9IHRhcmdldE9iajsNCiAgICAgICAgICAgIGZuR2xvYmFsT2JqZWN0KCkubGVuZ3RoID0gMzsNCiAgICAgICAgICAgIHJldHVybiAxID09PSBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YuY2FsbChmbkdsb2JhbE9iamVjdCgpLCB0YXJnZXRPYmopOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIGZuR2xvYmFsT2JqZWN0KClbMV07DQogICAgICAgICAgICBmbkdsb2JhbE9iamVjdCgpLmxlbmd0aCA9IG9sZExlbjsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.lastIndexOf applied to the global object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-1-17.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTUvMTUuNC40LjE1LTEtMi5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZiBhcHBsaWVkIHRvIG51bGwgdGhyb3dzIGEgVHlwZUVycm9yDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mLmNhbGwobnVsbCk7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIGlmIChlIGluc3RhbmNlb2YgVHlwZUVycm9yKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.lastIndexOf applied to null throws a TypeError","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-1-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTUvMTUuNC40LjE1LTEtMy5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZiBhcHBsaWVkIHRvIGJvb2xlYW4gcHJpbWl0aXZlDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgQm9vbGVhbi5wcm90b3R5cGVbMV0gPSB0cnVlOw0KICAgICAgICAgICAgQm9vbGVhbi5wcm90b3R5cGUubGVuZ3RoID0gMjsNCg0KICAgICAgICAgICAgcmV0dXJuIDEgPT09IEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZi5jYWxsKHRydWUsIHRydWUpOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIEJvb2xlYW4ucHJvdG90eXBlWzFdOw0KICAgICAgICAgICAgZGVsZXRlIEJvb2xlYW4ucHJvdG90eXBlLmxlbmd0aDsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.lastIndexOf applied to boolean primitive","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-1-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTUvMTUuNC40LjE1LTEtNC5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZiBhcHBsaWVkIHRvIEJvb2xlYW4gb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0gbmV3IEJvb2xlYW4oZmFsc2UpOw0KICAgICAgICBvYmoubGVuZ3RoID0gMjsNCiAgICAgICAgb2JqWzFdID0gdHJ1ZTsNCg0KICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mLmNhbGwob2JqLCB0cnVlKSA9PT0gMTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.lastIndexOf applied to Boolean object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-1-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTUvMTUuNC40LjE1LTEtNS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZiBhcHBsaWVkIHRvIG51bWJlciBwcmltaXRpdmUNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICAgICAgTnVtYmVyLnByb3RvdHlwZVsxXSA9IGlzTmFOOw0KICAgICAgICAgICAgICAgIE51bWJlci5wcm90b3R5cGUubGVuZ3RoID0gMjsNCiAgICAgICAgICAgICAgICByZXR1cm4gMSA9PT0gQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mLmNhbGwoNSwgaXNOYU4pOw0KICAgICAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgICAgICBkZWxldGUgTnVtYmVyLnByb3RvdHlwZVsxXTsNCiAgICAgICAgICAgICAgICBkZWxldGUgTnVtYmVyLnByb3RvdHlwZS5sZW5ndGg7DQogICAgICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.lastIndexOf applied to number primitive","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-1-5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTUvMTUuNC40LjE1LTEtNi5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZiBhcHBsaWVkIHRvIE51bWJlciBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSBuZXcgTnVtYmVyKC0zKTsNCiAgICAgICAgb2JqLmxlbmd0aCA9IDI7DQogICAgICAgIG9ialsxXSA9IHRydWU7DQoNCiAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZi5jYWxsKG9iaiwgdHJ1ZSkgPT09IDE7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.lastIndexOf applied to Number object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-1-6.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTUvMTUuNC40LjE1LTEtNy5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZiBhcHBsaWVkIHRvIHN0cmluZyBwcmltaXRpdmUNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YuY2FsbCgiYWJjIiwgImMiKSA9PT0gMjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.lastIndexOf applied to string primitive","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-1-7.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTUvMTUuNC40LjE1LTEtOC5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZiBhcHBsaWVkIHRvIFN0cmluZyBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSBuZXcgU3RyaW5nKCJ1bmRlZmluZWQiKTsNCg0KICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mLmNhbGwob2JqLCAiZiIpID09PSA0Ow0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.lastIndexOf applied to String object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-1-8.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTUvMTUuNC40LjE1LTEtOS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZiBhcHBsaWVkIHRvIEZ1bmN0aW9uIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IGZ1bmN0aW9uIChhLCBiKSB7DQogICAgICAgICAgICByZXR1cm4gYSArIGI7DQogICAgICAgIH07DQogICAgICAgIG9ialsxXSA9IHRydWU7DQoNCiAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZi5jYWxsKG9iaiwgdHJ1ZSkgPT09IDE7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.lastIndexOf applied to Function object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-1-9.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTUvMTUuNC40LjE1LTItMS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZiAtICdsZW5ndGgnIGlzIG93biBkYXRhIHByb3BlcnR5IG9uIGFuIEFycmF5LWxpa2Ugb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHsgMTogbnVsbCwgMjogdW5kZWZpbmVkLCBsZW5ndGg6IDIgfTsNCg0KICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mLmNhbGwob2JqLCBudWxsKSA9PT0gMSAmJg0KICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mLmNhbGwob2JqLCB1bmRlZmluZWQpID09PSAtMTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.lastIndexOf - 'length' is own data property on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-2-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTUvMTUuNC40LjE1LTItMTAuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YgLSAnbGVuZ3RoJyBpcyBpbmhlcml0ZWQgYWNjZXNzb3IgcHJvcGVydHkgb24gYW4gQXJyYXktbGlrZSBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBwcm90byA9IHt9Ow0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkocHJvdG8sICJsZW5ndGgiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gMjsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIENvbiA9IGZ1bmN0aW9uICgpIHt9Ow0KICAgICAgICBDb24ucHJvdG90eXBlID0gcHJvdG87DQoNCiAgICAgICAgdmFyIGNoaWxkID0gbmV3IENvbigpOw0KICAgICAgICBjaGlsZFsxXSA9IDE7DQogICAgICAgIGNoaWxkWzJdID0gMjsNCg0KICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mLmNhbGwoY2hpbGQsIDEpID09PSAxICYmDQogICAgICAgICAgICBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YuY2FsbChjaGlsZCwgMikgPT09IC0xOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.lastIndexOf - 'length' is inherited accessor property on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-2-10.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTUvMTUuNC40LjE1LTItMTEuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YgLSAnbGVuZ3RoJyBpcyBvd24gYWNjZXNzb3IgcHJvcGVydHkgd2l0aG91dCBhIGdldCBmdW5jdGlvbiBvbiBhbiBBcnJheS1saWtlIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgMDogMSB9Ow0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAibGVuZ3RoIiwgew0KICAgICAgICAgICAgc2V0OiBmdW5jdGlvbiAoKSB7IH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZi5jYWxsKG9iaiwgMSkgPT09IC0xOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.lastIndexOf - 'length' is own accessor property without a get function on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-2-11.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTUvMTUuNC40LjE1LTItMTIuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YgLSAnbGVuZ3RoJyBpcyBvd24gYWNjZXNzb3IgcHJvcGVydHkgd2l0aG91dCBhIGdldCBmdW5jdGlvbiB0aGF0IG92ZXJyaWRlcyBhbiBpbmhlcml0ZWQgYWNjZXNzb3IgcHJvcGVydHkgb24gYW4gQXJyYXktbGlrZSBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KE9iamVjdC5wcm90b3R5cGUsICJsZW5ndGgiLCB7DQogICAgICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgIHJldHVybiAyMDsNCiAgICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgIHZhciBvYmogPSB7IDE6IDEgfTsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJsZW5ndGgiLCB7DQogICAgICAgICAgICAgICAgc2V0OiBmdW5jdGlvbiAoKSB7IH0sDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZi5jYWxsKG9iaiwgMSkgPT09IC0xOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIE9iamVjdC5wcm90b3R5cGUubGVuZ3RoOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.lastIndexOf - 'length' is own accessor property without a get function that overrides an inherited accessor property on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-2-12.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTUvMTUuNC40LjE1LTItMTMuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YgLSAnbGVuZ3RoJyBpcyBpbmhlcml0ZWQgYWNjZXNzb3IgcHJvcGVydHkgd2l0aG91dCBhIGdldCBmdW5jdGlvbiBvbiBhbiBBcnJheS1saWtlIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHByb3RvID0ge307DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShwcm90bywgImxlbmd0aCIsIHsNCiAgICAgICAgICAgIHNldDogZnVuY3Rpb24gKCkgeyB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBDb24gPSBmdW5jdGlvbiAoKSB7fTsNCiAgICAgICAgQ29uLnByb3RvdHlwZSA9IHByb3RvOw0KDQogICAgICAgIHZhciBjaGlsZCA9IG5ldyBDb24oKTsNCiAgICAgICAgY2hpbGRbMF0gPSB0cnVlOw0KDQogICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YuY2FsbChjaGlsZCwgdHJ1ZSkgPT09IC0xOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.lastIndexOf - 'length' is inherited accessor property without a get function on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-2-13.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTUvMTUuNC40LjE1LTItMTQuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YgLSAnbGVuZ3RoJyBpcyB1bmRlZmluZWQgcHJvcGVydHkgb24gYW4gQXJyYXktbGlrZSBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7IDA6IG51bGwsIDE6IHVuZGVmaW5lZCB9Ow0KDQogICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YuY2FsbChvYmosIG51bGwpID09PSAtMTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.lastIndexOf - 'length' is undefined property on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-2-14.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTUvMTUuNC40LjE1LTItMTUuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YgLSAnbGVuZ3RoJyBpcyBwcm9wZXJ0eSBvZiB0aGUgZ2xvYmFsIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciB0YXJnZXRPYmogPSB7fTsNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIHZhciBvbGRMZW4gPSBmbkdsb2JhbE9iamVjdCgpLmxlbmd0aDsNCiAgICAgICAgICAgIGZuR2xvYmFsT2JqZWN0KCkubGVuZ3RoID0gMjsNCg0KICAgICAgICAgICAgZm5HbG9iYWxPYmplY3QoKVsxXSA9IHRhcmdldE9iajsNCiAgICAgICAgICAgIGlmIChBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YuY2FsbChmbkdsb2JhbE9iamVjdCgpLCB0YXJnZXRPYmopICE9PSAxKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICBmbkdsb2JhbE9iamVjdCgpWzFdID0ge307DQogICAgICAgICAgICBmbkdsb2JhbE9iamVjdCgpWzJdID0gdGFyZ2V0T2JqOw0KDQogICAgICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mLmNhbGwoZm5HbG9iYWxPYmplY3QoKSwgdGFyZ2V0T2JqKSA9PT0gLTE7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgZm5HbG9iYWxPYmplY3QoKVsxXTsNCiAgICAgICAgICAgIGRlbGV0ZSBmbkdsb2JhbE9iamVjdCgpWzJdOw0KICAgICAgICAgICAgZm5HbG9iYWxPYmplY3QoKS5sZW5ndGggPSBvbGRMZW47DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.lastIndexOf - 'length' is property of the global object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-2-15.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTUvMTUuNC40LjE1LTItMTcuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YgYXBwbGllZCB0byBBcmd1bWVudHMgb2JqZWN0IHdoaWNoIGltcGxlbWVudHMgaXRzIG93biBwcm9wZXJ0eSBnZXQgbWV0aG9kDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgdGFyZ2V0T2JqID0gZnVuY3Rpb24gKCkgeyB9Ow0KICAgICAgICB2YXIgZnVuYyA9IGZ1bmN0aW9uIChhLCBiKSB7DQogICAgICAgICAgICBhcmd1bWVudHNbMl0gPSBmdW5jdGlvbiAoKSB7IH07DQogICAgICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mLmNhbGwoYXJndW1lbnRzLCB0YXJnZXRPYmopID09PSAxICYmDQogICAgICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mLmNhbGwoYXJndW1lbnRzLCBhcmd1bWVudHNbMl0pID09PSAtMTsNCiAgICAgICAgfTsNCg0KICAgICAgICByZXR1cm4gZnVuYygwLCB0YXJnZXRPYmopOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.lastIndexOf applied to Arguments object which implements its own property get method","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-2-17.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTUvMTUuNC40LjE1LTItMTguanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YgYXBwbGllZCB0byBTdHJpbmcgb2JqZWN0IHdoaWNoIGltcGxlbWVudHMgaXRzIG93biBwcm9wZXJ0eSBnZXQgbWV0aG9kDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgc3RyID0gbmV3IFN0cmluZygiMDEyIik7DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBTdHJpbmcucHJvdG90eXBlWzNdID0gIjMiOw0KICAgICAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZi5jYWxsKHN0ciwgIjIiKSA9PT0gMiAmJg0KICAgICAgICAgICAgICAgIEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZi5jYWxsKHN0ciwgIjMiKSA9PT0gLTE7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgU3RyaW5nLnByb3RvdHlwZVszXTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.lastIndexOf applied to String object which implements its own property get method","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-2-18.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTUvMTUuNC40LjE1LTItMTkuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YgYXBwbGllZCB0byBTdHJpbmcgb2JqZWN0IHdoaWNoIGltcGxlbWVudHMgaXRzIG93biBwcm9wZXJ0eSBnZXQgbWV0aG9kDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0gZnVuY3Rpb24gKGEsIGIpIHsNCiAgICAgICAgICAgIHJldHVybiBhICsgYjsNCiAgICAgICAgfTsNCiAgICAgICAgb2JqWzFdID0gImIiOw0KICAgICAgICBvYmpbMl0gPSAiYyI7DQoNCiAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZi5jYWxsKG9iaiwgb2JqWzFdKSA9PT0gMSAmJg0KICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mLmNhbGwob2JqLCBvYmpbMl0pID09PSAtMTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.lastIndexOf applied to String object which implements its own property get method","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-2-19.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTUvMTUuNC40LjE1LTItMi5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZiAtICdsZW5ndGgnIGlzIG93biBkYXRhIHByb3BlcnR5IG9uIGFuIEFycmF5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIHRhcmdldE9iaiA9IHt9Ow0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlWzJdID0gdGFyZ2V0T2JqOw0KDQogICAgICAgICAgICByZXR1cm4gWzAsIHRhcmdldE9ial0ubGFzdEluZGV4T2YodGFyZ2V0T2JqKSA9PT0gMSAmJg0KICAgICAgICAgICAgICAgIFswLCAxXS5sYXN0SW5kZXhPZih0YXJnZXRPYmopID09PSAtMTsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBBcnJheS5wcm90b3R5cGVbMl07DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.lastIndexOf - 'length' is own data property on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-2-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTUvMTUuNC40LjE1LTItMy5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZiAtICdsZW5ndGgnIGlzIG93biBkYXRhIHByb3BlcnR5IHRoYXQgb3ZlcnJpZGVzIGFuIGluaGVyaXRlZCBkYXRhIHByb3BlcnR5IG9uIGFuIEFycmF5LWxpa2Ugb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgcHJvdG8gPSB7bGVuZ3RoOiAwfTsNCg0KICAgICAgICB2YXIgQ29uID0gZnVuY3Rpb24gKCkge307DQogICAgICAgIENvbi5wcm90b3R5cGUgPSBwcm90bzsNCg0KICAgICAgICB2YXIgY2hpbGQgPSBuZXcgQ29uKCk7DQogICAgICAgIGNoaWxkLmxlbmd0aCA9IDI7DQogICAgICAgIGNoaWxkWzFdID0gY2hpbGQ7DQoNCiAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZi5jYWxsKGNoaWxkLCBjaGlsZCkgPT09IDE7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.lastIndexOf - 'length' is own data property that overrides an inherited data property on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-2-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTUvMTUuNC40LjE1LTItNC5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZiB3aGVuICdsZW5ndGgnIGlzIG93biBkYXRhIHByb3BlcnR5IHRoYXQgb3ZlcnJpZGVzIGFuIGluaGVyaXRlZCBkYXRhIHByb3BlcnR5IG9uIGFuIEFycmF5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgdGFyZ2V0T2JqID0ge307DQogICAgICAgIHZhciBhcnJQcm90b0xlbjsNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIGFyclByb3RvTGVuID0gQXJyYXkucHJvdG90eXBlLmxlbmd0aDsNCiAgICAgICAgICAgIEFycmF5LnByb3RvdHlwZS5sZW5ndGggPSAwOw0KICAgICAgICAgICAgcmV0dXJuIFswLCB0YXJnZXRPYmosIDJdLmxhc3RJbmRleE9mKHRhcmdldE9iaikgPT09IDE7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBBcnJheS5wcm90b3R5cGUubGVuZ3RoID0gYXJyUHJvdG9MZW47DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.lastIndexOf when 'length' is own data property that overrides an inherited data property on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-2-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTUvMTUuNC40LjE1LTItNS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZiAtICdsZW5ndGgnIGlzIG93biBkYXRhIHByb3BlcnR5IHRoYXQgb3ZlcnJpZGVzIGFuIGluaGVyaXRlZCBhY2Nlc3NvciBwcm9wZXJ0eSBvbiBhbiBBcnJheS1saWtlIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBwcm90byA9IHt9Ow0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkocHJvdG8sICJsZW5ndGgiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gMDsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIENvbiA9IGZ1bmN0aW9uICgpIHt9Ow0KICAgICAgICBDb24ucHJvdG90eXBlID0gcHJvdG87DQoNCiAgICAgICAgdmFyIGNoaWxkID0gbmV3IENvbigpOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShjaGlsZCwgImxlbmd0aCIsIHsNCiAgICAgICAgICAgIHZhbHVlOiAyLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KICAgICAgICBjaGlsZFsxXSA9IG51bGw7DQoNCiAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZi5jYWxsKGNoaWxkLCBudWxsKSA9PT0gMTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.lastIndexOf - 'length' is own data property that overrides an inherited accessor property on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-2-5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTUvMTUuNC40LjE1LTItNi5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZiAtICdsZW5ndGgnIGlzIGFuIGluaGVyaXRlZCBkYXRhIHByb3BlcnR5IG9uIGFuIEFycmF5LWxpa2Ugb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgcHJvdG8gPSB7IGxlbmd0aDogMiB9Ow0KDQogICAgICAgIHZhciBDb24gPSBmdW5jdGlvbiAoKSB7fTsNCiAgICAgICAgQ29uLnByb3RvdHlwZSA9IHByb3RvOw0KDQogICAgICAgIHZhciBjaGlsZCA9IG5ldyBDb24oKTsNCiAgICAgICAgY2hpbGRbMV0gPSAieCI7DQogICAgICAgIGNoaWxkWzJdID0gInkiOw0KDQogICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YuY2FsbChjaGlsZCwgIngiKSA9PT0gMSAmJg0KICAgICAgICAgICAgIEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZi5jYWxsKGNoaWxkLCAieSIpID09PSAtMTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.lastIndexOf - 'length' is an inherited data property on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-2-6.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTUvMTUuNC40LjE1LTItNy5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZiAtICdsZW5ndGgnIGlzIG93biBhY2Nlc3NvciBwcm9wZXJ0eSBvbiBhbiBBcnJheS1saWtlIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgMTogdHJ1ZSwgMjogZmFsc2UgfTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAibGVuZ3RoIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIDI7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YuY2FsbChvYmosIHRydWUpID09PSAxICYmDQogICAgICAgICAgICBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YuY2FsbChvYmosIGZhbHNlKSA9PT0gLTE7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.lastIndexOf - 'length' is own accessor property on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-2-7.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTUvMTUuNC40LjE1LTItOC5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZiAtICdsZW5ndGgnIGlzIG93biBhY2Nlc3NvciBwcm9wZXJ0eSB0aGF0IG92ZXJyaWRlcyBhbiBpbmhlcml0ZWQgZGF0YSBwcm9wZXJ0eSBvbiBhbiBBcnJheS1saWtlIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHByb3RvID0geyBsZW5ndGg6IDAgfTsNCg0KICAgICAgICB2YXIgQ29uID0gZnVuY3Rpb24gKCkge307DQogICAgICAgIENvbi5wcm90b3R5cGUgPSBwcm90bzsNCg0KICAgICAgICB2YXIgY2hpbGQgPSBuZXcgQ29uKCk7DQogICAgICAgIGNoaWxkWzFdID0gZXZhbDsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoY2hpbGQsICJsZW5ndGgiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gMjsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZi5jYWxsKGNoaWxkLCBldmFsKSA9PT0gMTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.lastIndexOf - 'length' is own accessor property that overrides an inherited data property on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-2-8.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTUvMTUuNC40LjE1LTItOS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZiAtICdsZW5ndGgnIGlzIG93biBhY2Nlc3NvciBwcm9wZXJ0eSB0aGF0IG92ZXJyaWRlcyBhbiBpbmhlcml0ZWQgYWNjZXNzb3IgcHJvcGVydHkgb24gYW4gQXJyYXktbGlrZSBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgcHJvdG8gPSB7fTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHByb3RvLCAibGVuZ3RoIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIDA7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBDb24gPSBmdW5jdGlvbiAoKSB7fTsNCiAgICAgICAgQ29uLnByb3RvdHlwZSA9IHByb3RvOw0KDQogICAgICAgIHZhciBjaGlsZCA9IG5ldyBDb24oKTsNCiAgICAgICAgY2hpbGRbMV0gPSB0cnVlOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShjaGlsZCwgImxlbmd0aCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiAyOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mLmNhbGwoY2hpbGQsIHRydWUpID09PSAxOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.lastIndexOf - 'length' is own accessor property that overrides an inherited accessor property on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-2-9.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTUvMTUuNC40LjE1LTMtMS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZiAtIHZhbHVlIG9mICdsZW5ndGgnIGlzIHVuZGVmaW5lZA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgMDogMSwgMTogMSwgbGVuZ3RoOiB1bmRlZmluZWQgfTsNCg0KICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mLmNhbGwob2JqLCAxKSA9PT0gLTE7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.lastIndexOf - value of 'length' is undefined","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-3-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTUvMTUuNC40LjE1LTMtMTAuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YgLSB2YWx1ZSBvZiAnbGVuZ3RoJyBpcyBhIG51bWJlciAodmFsdWUgaXMgTmFOKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgMDogMCwgbGVuZ3RoOiBOYU4gfTsNCg0KICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mLmNhbGwob2JqLCAwKSA9PT0gLTE7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.lastIndexOf - value of 'length' is a number (value is NaN)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-3-10.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTUvMTUuNC40LjE1LTMtMTEuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YgLSB2YWx1ZSBvZiAnbGVuZ3RoJyBpcyBhIHN0cmluZyBjb250YWluaW5nIHBvc2l0aXZlIG51bWJlcg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHsxOiB0cnVlLCAyOiBmYWxzZSwgbGVuZ3RoOiAiMiJ9Ow0KDQogICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YuY2FsbChvYmosIHRydWUpID09PSAxICYmDQogICAgICAgICAgICBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YuY2FsbChvYmosIGZhbHNlKSA9PT0gLTE7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.lastIndexOf - value of 'length' is a string containing positive number","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-3-11.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTUvMTUuNC40LjE1LTMtMTIuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YgLSB2YWx1ZSBvZiAnbGVuZ3RoJyBpcyBhIHN0cmluZyBjb250YWluaW5nIG5lZ2F0aXZlIG51bWJlcg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHsxOiBudWxsLCAyOiB1bmRlZmluZWQsIGxlbmd0aDogIi00Mjk0OTY3Mjk0In07DQoNCiAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZi5jYWxsKG9iaiwgbnVsbCkgPT09IDEgJiYNCiAgICAgICAgICAgIEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZi5jYWxsKG9iaiwgdW5kZWZpbmVkKSA9PT0gLTE7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.lastIndexOf - value of 'length' is a string containing negative number","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-3-12.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTUvMTUuNC40LjE1LTMtMTMuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YgLSB2YWx1ZSBvZiAnbGVuZ3RoJyBpcyBhIHN0cmluZyBjb250YWluaW5nIGEgZGVjaW1hbCBudW1iZXINCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7IDQ6IDQsIDU6IDUsIGxlbmd0aDogIjUuNTEyMzQ1IiB9Ow0KDQogICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YuY2FsbChvYmosIDQpID09PSA0ICYmDQogICAgICAgICAgICBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YuY2FsbChvYmosIDUpID09PSAtMTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.lastIndexOf - value of 'length' is a string containing a decimal number","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-3-13.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTUvMTUuNC40LjE1LTMtMTQuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YgLSB2YWx1ZSBvZiAnbGVuZ3RoJyBpcyBhIHN0cmluZyBjb250YWluaW5nICsvLUluZmluaXR5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqT25lID0geyAwOiB0cnVlLCAxOiB0cnVlLCBsZW5ndGg6ICJJbmZpbml0eSIgfTsNCiAgICAgICAgdmFyIG9ialR3byA9IHsgMDogdHJ1ZSwgMTogdHJ1ZSwgbGVuZ3RoOiAiK0luZmluaXR5IiB9Ow0KICAgICAgICB2YXIgb2JqVGhyZWUgPSB7IDA6IHRydWUsIDE6IHRydWUsIGxlbmd0aDogIi1JbmZpbml0eSIgfTsNCg0KICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mLmNhbGwob2JqT25lLCB0cnVlKSA9PT0gLTEgJiYNCiAgICAgICAgICAgIEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZi5jYWxsKG9ialR3bywgdHJ1ZSkgPT09IC0xICYmDQogICAgICAgICAgICBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YuY2FsbChvYmpUaHJlZSwgdHJ1ZSkgPT09IC0xOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.lastIndexOf - value of 'length' is a string containing +/-Infinity","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-3-14.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTUvMTUuNC40LjE1LTMtMTUuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YgLSB2YWx1ZSBvZiAnbGVuZ3RoJyBpcyBhIHN0cmluZyBjb250YWluaW5nIGFuIGV4cG9uZW50aWFsIG51bWJlcg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHsyMjk6IDIyOSwgMjMwOiAyLjNFMiwgbGVuZ3RoOiAiMi4zRTIifTsNCg0KICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mLmNhbGwob2JqLCAyMjkpID09PSAyMjkgJiYNCiAgICAgICAgICAgIEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZi5jYWxsKG9iaiwgMi4zRTIpID09PSAtMTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.lastIndexOf - value of 'length' is a string containing an exponential number","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-3-15.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTUvMTUuNC40LjE1LTMtMTYuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YgLSB2YWx1ZSBvZiAnbGVuZ3RoJyBpcyBhIHN0cmluZyB3aGljaCBpcyBhYmxlIHRvIGJlIGNvbnZlcnRlZCBpbnRvIGhleCBudW1iZXINCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7IDI1NzM6IDI1NzMsIDI1NzQ6IDB4MDAwQTBFLCBsZW5ndGg6ICIweDAwMEEwRSIgfTsNCg0KICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mLmNhbGwob2JqLCAyNTczKSA9PT0gMjU3MyAmJg0KICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mLmNhbGwob2JqLCAweDAwMEEwRSkgPT09IC0xOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.lastIndexOf - value of 'length' is a string which is able to be converted into hex number","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-3-16.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTUvMTUuNC40LjE1LTMtMTcuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YgLSB2YWx1ZSBvZiAnbGVuZ3RoJyBpcyBhIHN0cmluZyBjb250YWluaW5nIGEgbnVtYmVyIHdpdGggbGVhZGluZyB6ZXJvcw0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgMTogMSwgMjogMiwgbGVuZ3RoOiAiMDAwMi4wIiB9Ow0KDQogICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YuY2FsbChvYmosIDEpID09PSAxICYmDQogICAgICAgICAgICBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YuY2FsbChvYmosIDIpID09PSAtMTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.lastIndexOf - value of 'length' is a string containing a number with leading zeros","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-3-17.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTUvMTUuNC40LjE1LTMtMTguanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YgLSB2YWx1ZSBvZiAnbGVuZ3RoJyBpcyBhIHN0cmluZyB0aGF0IGNhbid0IGNvbnZlcnQgdG8gYSBudW1iZXINCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgdGFyZ2V0T2JqID0gbmV3IFN0cmluZygiMTIzYWJjMTIzIik7DQogICAgICAgIHZhciBvYmogPSB7IDA6IHRhcmdldE9iaiwgbGVuZ3RoOiAiMTIzYWJjMTIzIiB9Ow0KDQogICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YuY2FsbChvYmosIHRhcmdldE9iaikgPT09IC0xOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.lastIndexOf - value of 'length' is a string that can't convert to a number","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-3-18.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTUvMTUuNC40LjE1LTMtMTkuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YgLSB2YWx1ZSBvZiAnbGVuZ3RoJyBpcyBhbiBPYmplY3Qgd2hpY2ggaGFzIGFuIG93biB0b1N0cmluZyBtZXRob2QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIC8vIG9iamVjdHMgaW5oZXJpdCB0aGUgZGVmYXVsdCB2YWx1ZU9mKCkgbWV0aG9kIGZyb20gT2JqZWN0DQogICAgICAgIC8vIHRoYXQgc2ltcGx5IHJldHVybnMgaXRzZWxmLiBTaW5jZSB0aGUgZGVmYXVsdCB2YWx1ZU9mKCkgbWV0aG9kDQogICAgICAgIC8vIGRvZXMgbm90IHJldHVybiBhIHByaW1pdGl2ZSB2YWx1ZSwgRVMgbmV4dCB0cmllcyB0byBjb252ZXJ0IHRoZSBvYmplY3QNCiAgICAgICAgLy8gdG8gYSBudW1iZXIgYnkgY2FsbGluZyBpdHMgdG9TdHJpbmcoKSBtZXRob2QgYW5kIGNvbnZlcnRpbmcgdGhlDQogICAgICAgIC8vIHJlc3VsdGluZyBzdHJpbmcgdG8gYSBudW1iZXIuDQoNCiAgICAgICAgdmFyIHRhcmdldE9iaiA9IGZuR2xvYmFsT2JqZWN0KCk7DQogICAgICAgIHZhciBvYmogPSB7DQogICAgICAgICAgICAxOiB0YXJnZXRPYmosDQogICAgICAgICAgICAyOiAyLA0KDQogICAgICAgICAgICBsZW5ndGg6IHsNCiAgICAgICAgICAgICAgICB0b1N0cmluZzogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gJzInOw0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0NCiAgICAgICAgfTsNCg0KICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mLmNhbGwob2JqLCB0YXJnZXRPYmopID09PSAxICYmDQogICAgICAgICAgICBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YuY2FsbChvYmosIDIpID09PSAtMTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.lastIndexOf - value of 'length' is an Object which has an own toString method","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-3-19.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTUvMTUuNC40LjE1LTMtMi5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZiByZXR1cm4gLTEgd2hlbiB2YWx1ZSBvZiAnbGVuZ3RoJyBpcyBhIGJvb2xlYW4gKHZhbHVlIGlzIHRydWUpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHsgMDogMCwgMTogMSwgbGVuZ3RoOiB0cnVlIH07DQogICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YuY2FsbChvYmosIDApID09PSAwICYmDQogICAgICAgICAgICBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YuY2FsbChvYmosIDEpID09PSAtMTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.lastIndexOf return -1 when value of 'length' is a boolean (value is true)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-3-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTUvMTUuNC40LjE1LTMtMjAuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YgLSB2YWx1ZSBvZiAnbGVuZ3RoJyBpcyBhbiBPYmplY3Qgd2hpY2ggaGFzIGFuIG93biB2YWx1ZU9mIG1ldGhvZA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgLy92YWx1ZU9mIG1ldGhvZCB3aWxsIGJlIGludm9rZWQgZmlyc3QsIHNpbmNlIGhpbnQgaXMgTnVtYmVyDQogICAgICAgIHZhciBvYmogPSB7DQogICAgICAgICAgICAxOiB0cnVlLA0KICAgICAgICAgICAgMjogMiwNCg0KICAgICAgICAgICAgbGVuZ3RoOiB7DQogICAgICAgICAgICAgICAgdmFsdWVPZjogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gMjsNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9DQogICAgICAgIH07DQoNCiAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZi5jYWxsKG9iaiwgdHJ1ZSkgPT09IDEgJiYNCiAgICAgICAgICAgIEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZi5jYWxsKG9iaiwgMikgPT09IC0xOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.lastIndexOf - value of 'length' is an Object which has an own valueOf method","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-3-20.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTUvMTUuNC40LjE1LTMtMjEuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YgLSAnbGVuZ3RoJyBpcyBhbiBvYmplY3QgdGhhdCBoYXMgYW4gb3duIHZhbHVlT2YgbWV0aG9kIHRoYXQgcmV0dXJucyBhbiBvYmplY3QgYW5kIHRvU3RyaW5nIG1ldGhvZCB0aGF0IHJldHVybnMgYSBzdHJpbmcNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciB0b1N0cmluZ0FjY2Vzc2VkID0gZmFsc2U7DQogICAgICAgIHZhciB2YWx1ZU9mQWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICB2YXIgdGFyZ2V0T2JqID0gdGhpczsNCiAgICAgICAgdmFyIG9iaiA9IHsNCiAgICAgICAgICAgIDE6IHRhcmdldE9iaiwNCiAgICAgICAgICAgIGxlbmd0aDogew0KICAgICAgICAgICAgICAgIHRvU3RyaW5nOiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgIHRvU3RyaW5nQWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gJzMnOw0KICAgICAgICAgICAgICAgIH0sDQoNCiAgICAgICAgICAgICAgICB2YWx1ZU9mOiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgIHZhbHVlT2ZBY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICAgICAgICAgIHJldHVybiB7fTsNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9DQogICAgICAgIH07DQoNCiAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZi5jYWxsKG9iaiwgdGFyZ2V0T2JqKSA9PT0gMSAmJiB0b1N0cmluZ0FjY2Vzc2VkICYmIHZhbHVlT2ZBY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.lastIndexOf - 'length' is an object that has an own valueOf method that returns an object and toString method that returns a string","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-3-21.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTUvMTUuNC40LjE1LTMtMjIuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YgdGhyb3dzIFR5cGVFcnJvciBleGNlcHRpb24gd2hlbiAnbGVuZ3RoJyBpcyBhbiBvYmplY3Qgd2l0aCB0b1N0cmluZyBhbmQgdmFsdWVPZiBtZXRob2RzIHRoYXQgZG9u77+9dCByZXR1cm4gcHJpbWl0aXZlIHZhbHVlcw0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHRvU3RyaW5nQWNjZXNzZWQgPSBmYWxzZTsNCiAgICAgICAgdmFyIHZhbHVlT2ZBY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIHZhciBvYmogPSB7DQogICAgICAgICAgICAxOiB0cnVlLA0KICAgICAgICAgICAgbGVuZ3RoOiB7DQogICAgICAgICAgICAgICAgdG9TdHJpbmc6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICAgICAgdG9TdHJpbmdBY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICAgICAgICAgIHJldHVybiB7fTsNCiAgICAgICAgICAgICAgICB9LA0KDQogICAgICAgICAgICAgICAgdmFsdWVPZjogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAgICB2YWx1ZU9mQWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgICAgICAgICByZXR1cm4ge307DQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfQ0KICAgICAgICB9Ow0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YuY2FsbChvYmosIHRydWUpOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gdG9TdHJpbmdBY2Nlc3NlZCAmJiB2YWx1ZU9mQWNjZXNzZWQ7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.lastIndexOf throws TypeError exception when 'length' is an object with toString and valueOf methods that don\ufffdt return primitive values","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-3-22.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTUvMTUuNC40LjE1LTMtMjMuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YgdXNlcyBpbmhlcml0ZWQgdmFsdWVPZiBtZXRob2Qgd2hlbiAnbGVuZ3RoJyBpcyBhbiBvYmplY3Qgd2l0aCBhbiBvd24gdG9TdHJpbmcgYW5kIGFuIGluaGVyaXRlZCB2YWx1ZU9mIG1ldGhvZHMNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciB0b1N0cmluZ0FjY2Vzc2VkID0gZmFsc2U7DQogICAgICAgIHZhciB2YWx1ZU9mQWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICB2YXIgcHJvdG8gPSB7DQogICAgICAgICAgICB2YWx1ZU9mOiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgdmFsdWVPZkFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgICAgICByZXR1cm4gMjsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfTsNCg0KICAgICAgICB2YXIgQ29uID0gZnVuY3Rpb24gKCkge307DQogICAgICAgIENvbi5wcm90b3R5cGUgPSBwcm90bzsNCg0KICAgICAgICB2YXIgY2hpbGQgPSBuZXcgQ29uKCk7DQogICAgICAgIGNoaWxkLnRvU3RyaW5nID0gZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgdG9TdHJpbmdBY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICByZXR1cm4gMjsNCiAgICAgICAgfTsNCg0KICAgICAgICB2YXIgb2JqID0gew0KICAgICAgICAgICAgMTogY2hpbGQsDQogICAgICAgICAgICBsZW5ndGg6IGNoaWxkDQogICAgICAgIH07DQoNCiAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZi5jYWxsKG9iaiwgY2hpbGQpID09PSAxICYmIHZhbHVlT2ZBY2Nlc3NlZCAmJiAhdG9TdHJpbmdBY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.lastIndexOf uses inherited valueOf method when 'length' is an object with an own toString and an inherited valueOf methods","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-3-23.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTUvMTUuNC40LjE1LTMtMjQuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YgLSB2YWx1ZSBvZiAnbGVuZ3RoJyBpcyBhIHBvc2l0aXZlIG5vbi1pbnRlZ2VyLCBlbnN1cmUgdHJ1bmNhdGlvbiBvY2N1cnMgaW4gdGhlIHByb3BlciBkaXJlY3Rpb24NCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7IDEyMjogdHJ1ZSwgMTIzOiBmYWxzZSwgbGVuZ3RoOiAxMjMuNSB9Ow0KDQogICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YuY2FsbChvYmosIHRydWUpID09PSAxMjIgJiYNCiAgICAgICAgICAgIEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZi5jYWxsKG9iaiwgZmFsc2UpID09PSAtMTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.lastIndexOf - value of 'length' is a positive non-integer, ensure truncation occurs in the proper direction","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-3-24.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTUvMTUuNC40LjE1LTMtMjUuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YgLSB2YWx1ZSBvZiAnbGVuZ3RoJyBpcyBhIG5lZ2F0aXZlIG5vbi1pbnRlZ2VyLCBlbnN1cmUgdHJ1bmNhdGlvbiBvY2N1cnMgaW4gdGhlIHByb3BlciBkaXJlY3Rpb24NCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7IDE6IHRydWUsIDI6IGZhbHNlLCBsZW5ndGg6IC00Mjk0OTY3Mjk0LjUgfTsNCg0KICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mLmNhbGwob2JqLCB0cnVlKSA9PT0gMSAmJg0KICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mLmNhbGwob2JqLCBmYWxzZSkgPT09IC0xOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.lastIndexOf - value of 'length' is a negative non-integer, ensure truncation occurs in the proper direction","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-3-25.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTUvMTUuNC40LjE1LTMtMjguanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YgLSB2YWx1ZSBvZiAnbGVuZ3RoJyBpcyBib3VuZGFyeSB2YWx1ZSAoMl4zMikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciB0YXJnZXRPYmogPSB7fTsNCiAgICAgICAgdmFyIG9iaiA9IHsNCiAgICAgICAgICAgIDA6IHRhcmdldE9iaiwNCiAgICAgICAgICAgIDQyOTQ5NjcyOTQ6IHRhcmdldE9iaiwNCiAgICAgICAgICAgIDQyOTQ5NjcyOTU6IHRhcmdldE9iaiwNCiAgICAgICAgICAgIGxlbmd0aDogNDI5NDk2NzI5Ng0KICAgICAgICB9Ow0KDQogICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YuY2FsbChvYmosIHRhcmdldE9iaikgPT09IC0xOyAvL3ZlcmlmeSBsZW5ndGggaXMgMCBmaW5hbGx5DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.lastIndexOf - value of 'length' is boundary value (2^32)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-3-28.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTUvMTUuNC40LjE1LTMtMjkuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YgLSB2YWx1ZSBvZiAnbGVuZ3RoJyBpcyBib3VuZGFyeSB2YWx1ZSAoMl4zMiArIDEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgdGFyZ2V0T2JqID0ge307DQogICAgICAgIHZhciBvYmogPSB7DQogICAgICAgICAgICAwOiB0YXJnZXRPYmosDQogICAgICAgICAgICAxOiA0Mjk0OTY3Mjk3LA0KICAgICAgICAgICAgbGVuZ3RoOiA0Mjk0OTY3Mjk3DQogICAgICAgIH07DQoNCiAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZi5jYWxsKG9iaiwgdGFyZ2V0T2JqKSA9PT0gMCAmJg0KICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mLmNhbGwob2JqLCA0Mjk0OTY3Mjk3KSA9PT0gLTE7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.lastIndexOf - value of 'length' is boundary value (2^32 + 1)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-3-29.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTUvMTUuNC40LjE1LTMtMy5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZiAtIHZhbHVlIG9mICdsZW5ndGgnIGlzIGEgbnVtYmVyICh2YWx1ZSBpcyAwKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgMDogInVuZGVmaW5lZCIsIGxlbmd0aDogMCB9Ow0KDQogICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YuY2FsbChvYmosICJ1bmRlZmluZWQiKSA9PT0gLTE7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.lastIndexOf - value of 'length' is a number (value is 0)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-3-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTUvMTUuNC40LjE1LTMtNC5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZiAtIHZhbHVlIG9mICdsZW5ndGgnIGlzIGEgbnVtYmVyICh2YWx1ZSBpcyAtMCkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7IDA6IHRydWUsIGxlbmd0aDogLTAgfTsNCg0KICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mLmNhbGwob2JqLCB0cnVlKSA9PT0gLTE7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.lastIndexOf - value of 'length' is a number (value is -0)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-3-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTUvMTUuNC40LjE1LTMtNS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZiAtIHZhbHVlIG9mICdsZW5ndGgnIGlzIGEgbnVtYmVyICh2YWx1ZSBpcyArMCkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7IDA6ICswLCBsZW5ndGg6ICswIH07DQoNCiAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZi5jYWxsKG9iaiwgKzApID09PSAtMTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.lastIndexOf - value of 'length' is a number (value is +0)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-3-5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTUvMTUuNC40LjE1LTMtNi5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZiAtIHZhbHVlIG9mICdsZW5ndGgnIGlzIGEgbnVtYmVyICh2YWx1ZSBpcyBhIHBvc2l0aXZlIG51bWJlcikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7IDk5OiB0cnVlLCAxMDA6IDEwMCwgbGVuZ3RoOiAxMDAgfTsNCg0KICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mLmNhbGwob2JqLCB0cnVlKSA9PT0gOTkgJiYNCiAgICAgICAgICAgIEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZi5jYWxsKG9iaiwgMTAwKSA9PT0gLTE7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.lastIndexOf - value of 'length' is a number (value is a positive number)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-3-6.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTUvMTUuNC40LjE1LTMtNy5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZiAtIHZhbHVlIG9mICdsZW5ndGgnIGlzIGEgbnVtYmVyICh2YWx1ZSBpcyBhIG5lZ2F0aXZlIG51bWJlcikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7IDQ6IC1JbmZpbml0eSwgNTogSW5maW5pdHksIGxlbmd0aDogNSAtIE1hdGgucG93KDIsIDMyKSB9Ow0KDQogICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YuY2FsbChvYmosIC1JbmZpbml0eSkgPT09IDQgJiYNCiAgICAgICAgICAgIEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZi5jYWxsKG9iaiwgSW5maW5pdHkpID09PSAtMTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.lastIndexOf - value of 'length' is a number (value is a negative number)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-3-7.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTUvMTUuNC40LjE1LTMtOC5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZiAtIHZhbHVlIG9mICdsZW5ndGgnIGlzIGEgbnVtYmVyICh2YWx1ZSBpcyBJbmZpbml0eSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7IDA6IDAsIGxlbmd0aDogSW5maW5pdHkgfTsNCg0KICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mLmNhbGwob2JqLCAwKSA9PT0gLTE7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.lastIndexOf - value of 'length' is a number (value is Infinity)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-3-8.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTUvMTUuNC40LjE1LTMtOS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZiAtIHZhbHVlIG9mICdsZW5ndGgnIGlzIGEgbnVtYmVyICh2YWx1ZSBpcyAtSW5maW5pdHkpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0geyAwOiAwLCBsZW5ndGg6IC1JbmZpbml0eSB9Ow0KDQogICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YuY2FsbChvYmosIDApID09PSAtMTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.lastIndexOf - value of 'length' is a number (value is -Infinity)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-3-9.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTUvMTUuNC40LjE1LTQtMS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZiByZXR1cm5zIC0xIGlmICdsZW5ndGgnIGlzIDAgKGVtcHR5IGFycmF5KQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBpID0gW10ubGFzdEluZGV4T2YoNDIpOw0KICBpZiAoaSA9PT0gLTEpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.lastIndexOf returns -1 if 'length' is 0 (empty array)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-4-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTUvMTUuNC40LjE1LTQtMTAuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YgLSAnbGVuZ3RoJyBpcyBhIG51bWJlciBvZiB2YWx1ZSAtNmUtMQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciB0YXJnZXRPYmogPSBbXTsNCiAgICAgICAgdmFyIG9iaiA9IHsgMDogdGFyZ2V0T2JqLCAxMDA6IHRhcmdldE9iaiwgbGVuZ3RoOiAtNmUtMSB9Ow0KICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mLmNhbGwob2JqLCB0YXJnZXRPYmopID09PSAtMTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.lastIndexOf - 'length' is a number of value -6e-1","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-4-10.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTUvMTUuNC40LjE1LTQtMTEuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YgLSAnbGVuZ3RoJyBpcyBhbiBlbXB0eSBzdHJpbmcNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgdGFyZ2V0T2JqID0gW107DQogICAgICAgIHZhciBvYmogPSB7IDA6IHRhcmdldE9iaiwgMTAwOiB0YXJnZXRPYmosIGxlbmd0aDogIiIgfTsNCiAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZi5jYWxsKG9iaiwgdGFyZ2V0T2JqKSA9PT0gLTE7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.lastIndexOf - 'length' is an empty string","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-4-11.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTUvMTUuNC40LjE1LTQtMi5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZiByZXR1cm5zIC0xIGlmICdsZW5ndGgnIGlzIDAgKCBsZW5ndGggb3ZlcnJpZGRlbiB0byBudWxsICh0eXBlIGNvbnZlcnNpb24pKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIA0KICB2YXIgaSA9IEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZi5jYWxsKHtsZW5ndGg6IG51bGx9LCAxKTsNCiAgDQogIGlmIChpID09PSAtMSkgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.lastIndexOf returns -1 if 'length' is 0 ( length overridden to null (type conversion))","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-4-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTUvMTUuNC40LjE1LTQtMy5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZiByZXR1cm5zIC0xIGlmICdsZW5ndGgnIGlzIDAgKGxlbmd0aCBvdmVycmlkZGVuIHRvIGZhbHNlICh0eXBlIGNvbnZlcnNpb24pKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIA0KIHZhciBpID0gQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mLmNhbGwoe2xlbmd0aDogZmFsc2V9LCAxKTsNCiAgDQogIGlmIChpID09PSAtMSkgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.lastIndexOf returns -1 if 'length' is 0 (length overridden to false (type conversion))","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-4-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTUvMTUuNC40LjE1LTQtNC5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZiByZXR1cm5zIC0xIGlmICdsZW5ndGgnIGlzIDAgKGdlbmVyaWMgJ2FycmF5JyB3aXRoIGxlbmd0aCAwICkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICBmb28ucHJvdG90eXBlID0gbmV3IEFycmF5KDEsIDIsIDMpOw0KICBmdW5jdGlvbiBmb28oKSB7fQ0KICB2YXIgZiA9IG5ldyBmb28oKTsNCiAgZi5sZW5ndGggPSAwOw0KICANCiB2YXIgaSA9IEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZi5jYWxsKHtsZW5ndGg6IDB9LCAxKTsNCiAgDQogIGlmIChpID09PSAtMSkgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.lastIndexOf returns -1 if 'length' is 0 (generic 'array' with length 0 )","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-4-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTUvMTUuNC40LjE1LTQtNS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZiByZXR1cm5zIC0xIGlmICdsZW5ndGgnIGlzIDAgKCBsZW5ndGggb3ZlcnJpZGRlbiB0byAnMCcgKHR5cGUgY29udmVyc2lvbikpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgDQogdmFyIGkgPSBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YuY2FsbCh7bGVuZ3RoOiAnMCd9LCAxKTsNCiAgDQogIGlmIChpID09PSAtMSkgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.lastIndexOf returns -1 if 'length' is 0 ( length overridden to '0' (type conversion))","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-4-5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTUvMTUuNC40LjE1LTQtNi5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZiByZXR1cm5zIC0xIGlmICdsZW5ndGgnIGlzIDAgKHN1YmNsYXNzZWQgQXJyYXksIGxlbmd0aCBvdmVycmlkZGVuIHdpdGggb2JqIHdpdGggdmFsdWVPZikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICANCiB2YXIgaSA9IEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZi5jYWxsKHtsZW5ndGg6IHsgdmFsdWVPZjogZnVuY3Rpb24gKCkgeyByZXR1cm4gMDt9fX0sIDEpOw0KICANCiAgaWYgKGkgPT09IC0xKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.lastIndexOf returns -1 if 'length' is 0 (subclassed Array, length overridden with obj with valueOf)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-4-6.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTUvMTUuNC40LjE1LTQtNy5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZiByZXR1cm5zIC0xIGlmICdsZW5ndGgnIGlzIDAgKCBsZW5ndGggaXMgb2JqZWN0IG92ZXJyaWRkZW4gd2l0aCBvYmogdy9vIHZhbHVlT2YgKHRvU3RyaW5nKSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICBmb28ucHJvdG90eXBlID0gbmV3IEFycmF5KDEsIDIsIDMpOw0KICBmdW5jdGlvbiBmb28oKSB7fQ0KICB2YXIgZiA9IG5ldyBmb28oKTsNCiAgDQogIHZhciBvID0geyB0b1N0cmluZzogZnVuY3Rpb24gKCkgeyByZXR1cm4gJzAnO319Ow0KICBmLmxlbmd0aCA9IG87DQogIA0KICAvLyBvYmplY3RzIGluaGVyaXQgdGhlIGRlZmF1bHQgdmFsdWVPZiBtZXRob2Qgb2YgdGhlIE9iamVjdCBvYmplY3Q7DQogIC8vIHRoYXQgc2ltcGx5IHJldHVybnMgdGhlIGl0c2VsZi4gU2luY2UgdGhlIGRlZmF1bHQgdmFsdWVPZigpIG1ldGhvZA0KICAvLyBkb2VzIG5vdCByZXR1cm4gYSBwcmltaXRpdmUgdmFsdWUsIEVTIG5leHQgdHJpZXMgdG8gY29udmVydCB0aGUgb2JqZWN0DQogIC8vIHRvIGEgbnVtYmVyIGJ5IGNhbGxpbmcgaXRzIHRvU3RyaW5nKCkgbWV0aG9kIGFuZCBjb252ZXJ0aW5nIHRoZQ0KICAvLyByZXN1bHRpbmcgc3RyaW5nIHRvIGEgbnVtYmVyLg0KIHZhciBpID0gQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mLmNhbGwoe2xlbmd0aDogeyB0b1N0cmluZzogZnVuY3Rpb24gKCkgeyByZXR1cm4gJzAnO319fSwgMSk7DQogIA0KICBpZiAoaSA9PT0gLTEpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.lastIndexOf returns -1 if 'length' is 0 ( length is object overridden with obj w/o valueOf (toString))","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-4-7.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTUvMTUuNC40LjE1LTQtOC5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZiByZXR1cm5zIC0xIGlmICdsZW5ndGgnIGlzIDAgKGxlbmd0aCBpcyBhbiBlbXB0eSBhcnJheSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogIA0KICAvLyBvYmplY3RzIGluaGVyaXQgdGhlIGRlZmF1bHQgdmFsdWVPZiBtZXRob2Qgb2YgdGhlIE9iamVjdCBvYmplY3Q7DQogIC8vIHRoYXQgc2ltcGx5IHJldHVybnMgdGhlIGl0c2VsZi4gU2luY2UgdGhlIGRlZmF1bHQgdmFsdWVPZigpIG1ldGhvZA0KICAvLyBkb2VzIG5vdCByZXR1cm4gYSBwcmltaXRpdmUgdmFsdWUsIEVTIG5leHQgdHJpZXMgdG8gY29udmVydCB0aGUgb2JqZWN0DQogIC8vIHRvIGEgbnVtYmVyIGJ5IGNhbGxpbmcgaXRzIHRvU3RyaW5nKCkgbWV0aG9kIGFuZCBjb252ZXJ0aW5nIHRoZQ0KICAvLyByZXN1bHRpbmcgc3RyaW5nIHRvIGEgbnVtYmVyLg0KICAvLw0KICAvLyBUaGUgdG9TdHJpbmcoICkgbWV0aG9kIG9uIEFycmF5IGNvbnZlcnRzIHRoZSBhcnJheSBlbGVtZW50cyB0byBzdHJpbmdzLA0KICAvLyB0aGVuIHJldHVybnMgdGhlIHJlc3VsdCBvZiBjb25jYXRlbmF0aW5nIHRoZXNlIHN0cmluZ3MsIHdpdGggY29tbWFzIGluDQogIC8vIGJldHdlZW4uIEFuIGFycmF5IHdpdGggbm8gZWxlbWVudHMgY29udmVydHMgdG8gdGhlIGVtcHR5IHN0cmluZywgd2hpY2gNCiAgLy8gY29udmVydHMgdG8gdGhlIG51bWJlciAwLiBJZiBhbiBhcnJheSBoYXMgYSBzaW5nbGUgZWxlbWVudCB0aGF0IGlzIGENCiAgLy8gbnVtYmVyIG4sIHRoZSBhcnJheSBjb252ZXJ0cyB0byBhIHN0cmluZyByZXByZXNlbnRhdGlvbiBvZiBuLCB3aGljaCBpcw0KICAvLyB0aGVuIGNvbnZlcnRlZCBiYWNrIHRvIG4gaXRzZWxmLiBJZiBhbiBhcnJheSBjb250YWlucyBtb3JlIHRoYW4gb25lIGVsZW1lbnQsDQogIC8vIG9yIGlmIGl0cyBvbmUgZWxlbWVudCBpcyBub3QgYSBudW1iZXIsIHRoZSBhcnJheSBjb252ZXJ0cyB0byBOYU4uDQogdmFyIGkgPSBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YuY2FsbCh7bGVuZ3RoOiBbIF19LCAxKTsNCiAgDQogIGlmIChpID09PSAtMSkgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.lastIndexOf returns -1 if 'length' is 0 (length is an empty array)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-4-8.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTUvMTUuNC40LjE1LTQtOS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZiAtICdsZW5ndGgnIGlzIGEgbnVtYmVyIG9mIHZhbHVlIDAuMQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciB0YXJnZXRPYmogPSBbXTsNCiAgICAgICAgdmFyIG9iaiA9IHsgMDogdGFyZ2V0T2JqLCAxMDA6IHRhcmdldE9iaiwgbGVuZ3RoOiAwLjEgfTsNCiAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZi5jYWxsKG9iaiwgdGFyZ2V0T2JqKSA9PT0gLTE7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.lastIndexOf - 'length' is a number of value 0.1","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-4-9.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTUvMTUuNC40LjE1LTUtMS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZiB3aGVuIGZyb21JbmRleCBpcyBzdHJpbmcNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgYSA9IG5ldyBBcnJheSgwLDEsMSk7DQogIGlmIChhLmxhc3RJbmRleE9mKDEsIjEiKSA9PT0gMSAmJiAgICAgICAgICAvLyAiMSIgcmVzb2x2ZXMgdG8gMQ0KICAgICAgYS5sYXN0SW5kZXhPZigxLCJvbmUiKSA9PT0gLTEpIHsgICAgICAgLy8gTmFOIHN0cmluZyByZXNvbHZlcyB0byAwDQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.lastIndexOf when fromIndex is string","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-5-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTUvMTUuNC40LjE1LTUtMTAuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YgLSB2YWx1ZSBvZiAnZnJvbUluZGV4JyBpcyBhIG51bWJlciAodmFsdWUgaXMgcG9zaXRpdmUgbnVtYmVyKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciB0YXJnZXRPYmogPSB7fTsNCiAgICAgICAgcmV0dXJuIFswLCB0YXJnZXRPYmosIHRydWVdLmxhc3RJbmRleE9mKHRhcmdldE9iaiwgMS41KSA9PT0gMSAmJg0KICAgICAgICAgICAgWzAsIHRydWUsIHRhcmdldE9ial0ubGFzdEluZGV4T2YodGFyZ2V0T2JqLCAxLjUpID09PSAtMTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.lastIndexOf - value of 'fromIndex' is a number (value is positive number)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-5-10.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTUvMTUuNC40LjE1LTUtMTEuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YgLSB2YWx1ZSBvZiAnZnJvbUluZGV4JyBpcyBhIG51bWJlciAodmFsdWUgaXMgbmVnYXRpdmUgbnVtYmVyKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciB0YXJnZXRPYmogPSB7fTsNCiAgICAgICAgcmV0dXJuIFswLCB0YXJnZXRPYmosIHRydWVdLmxhc3RJbmRleE9mKHRhcmdldE9iaiwgLTIuNSkgPT09IDEgJiYNCiAgICAgICAgICAgIFswLCB0cnVlLCB0YXJnZXRPYmpdLmxhc3RJbmRleE9mKHRhcmdldE9iaiwgLTIuNSkgPT09IC0xOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.lastIndexOf - value of 'fromIndex' is a number (value is negative number)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-5-11.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTUvMTUuNC40LjE1LTUtMTIuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YgLSB2YWx1ZSBvZiAnZnJvbUluZGV4JyBpcyBhIG51bWJlciAodmFsdWUgaXMgSW5maW5pdHkpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIGFyciA9IFtdOw0KICAgICAgICBhcnJbTWF0aC5wb3coMiwgMzIpIC0gMl0gPSBudWxsOyAvLyBsZW5ndGggaXMgdGhlIG1heCB2YWx1ZSBvZiBVaW50IHR5cGUNCiAgICAgICAgcmV0dXJuIGFyci5sYXN0SW5kZXhPZihudWxsLCBJbmZpbml0eSkgPT09IChNYXRoLnBvdygyLCAzMikgLSAyKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.lastIndexOf - value of 'fromIndex' is a number (value is Infinity)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-5-12.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTUvMTUuNC40LjE1LTUtMTMuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YgLSB2YWx1ZSBvZiAnZnJvbUluZGV4JyBpcyBhIG51bWJlciAodmFsdWUgaXMgLUluZmluaXR5KQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgcmV0dXJuIFt0cnVlXS5sYXN0SW5kZXhPZih0cnVlLCAtSW5maW5pdHkpID09PSAtMTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.lastIndexOf - value of 'fromIndex' is a number (value is -Infinity)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-5-13.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTUvMTUuNC40LjE1LTUtMTQuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YgLSB2YWx1ZSBvZiAnZnJvbUluZGV4JyBpcyBhIG51bWJlciAodmFsdWUgaXMgTmFOKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgcmV0dXJuIFswLCB0cnVlXS5sYXN0SW5kZXhPZih0cnVlLCBOYU4pID09PSAtMSAmJiAvLyBmcm9tIEluZGV4IHdpbGwgYmUgY29udmVydCB0byArMA0KICAgICAgICAgICAgW3RydWUsIDBdLmxhc3RJbmRleE9mKHRydWUsIE5hTikgPT09IDAgJiYNCiAgICAgICAgICAgIFswLCB0cnVlXS5sYXN0SW5kZXhPZih0cnVlLCAtTmFOKSA9PT0gLTEgJiYNCiAgICAgICAgICAgIFt0cnVlLCAwXS5sYXN0SW5kZXhPZih0cnVlLCAtTmFOKSA9PT0gMDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.lastIndexOf - value of 'fromIndex' is a number (value is NaN)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-5-14.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTUvMTUuNC40LjE1LTUtMTUuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YgLSB2YWx1ZSBvZiAnZnJvbUluZGV4JyBpcyBhIHN0cmluZyBjb250YWluaW5nIGEgbmVnYXRpdmUgbnVtYmVyDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICByZXR1cm4gWzAsICItMiIsIDJdLmxhc3RJbmRleE9mKCItMiIsICItMiIpID09PSAxICYmDQogICAgICAgICAgICBbMCwgMiwgIi0yIl0ubGFzdEluZGV4T2YoIi0yIiwgIi0yIikgPT09IC0xOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.lastIndexOf - value of 'fromIndex' is a string containing a negative number","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-5-15.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTUvMTUuNC40LjE1LTUtMTYuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YgLSB2YWx1ZSBvZiAnZnJvbUluZGV4JyBpcyBhIHN0cmluZyBjb250YWluaW5nIEluZmluaXR5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIGFyciA9IFtdOw0KICAgICAgICBhcnJbTWF0aC5wb3coMiwgMzIpIC0gMl0gPSB0cnVlOyAvLyBsZW5ndGggaXMgdGhlIG1heCB2YWx1ZSBvZiBVaW50IHR5cGUNCiAgICAgICAgcmV0dXJuIGFyci5sYXN0SW5kZXhPZih0cnVlLCAiSW5maW5pdHkiKSA9PT0gKE1hdGgucG93KDIsIDMyKSAtIDIpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.lastIndexOf - value of 'fromIndex' is a string containing Infinity","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-5-16.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTUvMTUuNC40LjE1LTUtMTcuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YgLSB2YWx1ZSBvZiAnZnJvbUluZGV4JyBpcyBhIHN0cmluZyBjb250YWluaW5nIC1JbmZpbml0eQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgcmV0dXJuIFt0cnVlXS5sYXN0SW5kZXhPZih0cnVlLCAiLUluZmluaXR5IikgPT09IC0xOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.lastIndexOf - value of 'fromIndex' is a string containing -Infinity","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-5-17.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTUvMTUuNC40LjE1LTUtMTguanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YgLSB2YWx1ZSBvZiAnZnJvbUluZGV4JyBpcyBhIHN0cmluZyBjb250YWluaW5nIGFuIGV4cG9uZW50aWFsIG51bWJlcg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciB0YXJnZXRPYmogPSB7fTsNCiAgICAgICAgcmV0dXJuIFswLCBOYU4sIHRhcmdldE9iaiwgMywgZmFsc2VdLmxhc3RJbmRleE9mKHRhcmdldE9iaiwgIjJFMCIpID09PSAyICYmDQogICAgICAgICAgICBbMCwgTmFOLCAzLCB0YXJnZXRPYmosIGZhbHNlXS5sYXN0SW5kZXhPZih0YXJnZXRPYmosICIyRTAiKSA9PT0gLTE7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.lastIndexOf - value of 'fromIndex' is a string containing an exponential number","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-5-18.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTUvMTUuNC40LjE1LTUtMTkuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YgLSB2YWx1ZSBvZiAnZnJvbUluZGV4JyBpcyBhIHN0cmluZyBjb250YWluaW5nIGEgaGV4IG51bWJlcg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciB0YXJnZXRPYmogPSB7fTsNCiAgICAgICAgcmV0dXJuIFswLCB0cnVlLCB0YXJnZXRPYmosIDMsIGZhbHNlXS5sYXN0SW5kZXhPZih0YXJnZXRPYmosICIweDAwMDIiKSA9PT0gMiAmJg0KICAgICAgICAgICAgWzAsIHRydWUsIDMsIHRhcmdldE9iaiwgZmFsc2VdLmxhc3RJbmRleE9mKHRhcmdldE9iaiwgIjB4MDAwMiIpID09PSAtMTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.lastIndexOf - value of 'fromIndex' is a string containing a hex number","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-5-19.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTUvMTUuNC40LjE1LTUtMi5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZiB3aGVuIGZyb21JbmRleCBpcyBmbG9hdGluZyBwb2ludCBudW1iZXINCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgYSA9IG5ldyBBcnJheSgxLDIsMSk7DQogIGlmIChhLmxhc3RJbmRleE9mKDIsMS40OSkgPT09IDEgJiYgICAgLy8gMS40OSByZXNvbHZlcyB0byAxDQogICAgICBhLmxhc3RJbmRleE9mKDIsMC41MSkgPT09IC0xICYmICAgIC8vIDAuNTEgcmVzb2x2ZXMgdG8gMA0KICAgICAgYS5sYXN0SW5kZXhPZigxLDAuNTEpID09PSAwKXsgICAgICAvLyAwLjUxIHJlc29sdmVzIHRvIDANCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.lastIndexOf when fromIndex is floating point number","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-5-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTUvMTUuNC40LjE1LTUtMjAuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YgLSB2YWx1ZSBvZiAnZnJvbUluZGV4JyB3aGljaCBpcyBhIHN0cmluZyBjb250YWluaW5nIGEgbnVtYmVyIHdpdGggbGVhZGluZyB6ZXJvcw0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciB0YXJnZXRPYmogPSB7fTsNCiAgICAgICAgcmV0dXJuIFswLCB0cnVlLCB0YXJnZXRPYmosIDMsIGZhbHNlXS5sYXN0SW5kZXhPZih0YXJnZXRPYmosICIwMDAyLjEwIikgPT09IDIgJiYNCiAgICAgICAgICAgIFswLCB0cnVlLCAzLCB0YXJnZXRPYmosIGZhbHNlXS5sYXN0SW5kZXhPZih0YXJnZXRPYmosICIwMDAyLjEwIikgPT09IC0xOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.lastIndexOf - value of 'fromIndex' which is a string containing a number with leading zeros","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-5-20.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTUvMTUuNC40LjE1LTUtMjEuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YgLSB2YWx1ZSBvZiAnZnJvbUluZGV4JyB3aGljaCBpcyBhbiBPYmplY3QsIGFuZCBoYXMgYW4gb3duIHRvU3RyaW5nIG1ldGhvZA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgLy8gb2JqZWN0cyBpbmhlcml0IHRoZSBkZWZhdWx0IHZhbHVlT2YoKSBtZXRob2QgZnJvbSBPYmplY3QNCiAgICAgICAgLy8gdGhhdCBzaW1wbHkgcmV0dXJucyBpdHNlbGYuIFNpbmNlIHRoZSBkZWZhdWx0IHZhbHVlT2YoKSBtZXRob2QNCiAgICAgICAgLy8gZG9lcyBub3QgcmV0dXJuIGEgcHJpbWl0aXZlIHZhbHVlLCBFUyBuZXh0IHRyaWVzIHRvIGNvbnZlcnQgdGhlIG9iamVjdA0KICAgICAgICAvLyB0byBhIG51bWJlciBieSBjYWxsaW5nIGl0cyB0b1N0cmluZygpIG1ldGhvZCBhbmQgY29udmVydGluZyB0aGUNCiAgICAgICAgLy8gcmVzdWx0aW5nIHN0cmluZyB0byBhIG51bWJlci4NCiAgICAgICAgdmFyIGZyb21JbmRleCA9IHsNCiAgICAgICAgICAgIHRvU3RyaW5nOiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuICcyJzsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfTsNCiAgICAgICAgdmFyIHRhcmdldE9iaiA9IG5ldyBSZWdFeHAoKTsNCg0KICAgICAgICByZXR1cm4gWzAsIHRydWUsIHRhcmdldE9iaiwgMywgZmFsc2VdLmxhc3RJbmRleE9mKHRhcmdldE9iaiwgZnJvbUluZGV4KSA9PT0gMiAmJg0KICAgICAgICBbMCwgdHJ1ZSwgMywgdGFyZ2V0T2JqLCBmYWxzZV0ubGFzdEluZGV4T2YodGFyZ2V0T2JqLCBmcm9tSW5kZXgpID09PSAtMTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.lastIndexOf - value of 'fromIndex' which is an Object, and has an own toString method","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-5-21.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTUvMTUuNC40LjE1LTUtMjIuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YgLSB2YWx1ZSBvZiAnZnJvbUluZGV4JyB3aGljaCBpcyBhbiBvYmplY3QsIGFuZCBoYXMgYW4gb3duIHZhbHVlT2YgbWV0aG9kDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgZnJvbUluZGV4ID0gew0KICAgICAgICAgICAgdmFsdWVPZjogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiAyOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9Ow0KDQogICAgICAgIHZhciB0YXJnZXRPYmogPSBmdW5jdGlvbiAoKSB7fTsNCiAgICAgICAgcmV0dXJuIFswLCB0cnVlLCB0YXJnZXRPYmosIDMsIGZhbHNlXS5sYXN0SW5kZXhPZih0YXJnZXRPYmosIGZyb21JbmRleCkgPT09IDIgJiYNCiAgICAgICAgWzAsIHRydWUsIDMsIHRhcmdldE9iaiwgZmFsc2VdLmxhc3RJbmRleE9mKHRhcmdldE9iaiwgZnJvbUluZGV4KSA9PT0gLTE7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.lastIndexOf - value of 'fromIndex' which is an object, and has an own valueOf method","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-5-22.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTUvMTUuNC40LjE1LTUtMjMuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YgLSB2YWx1ZSBvZiAnZnJvbUluZGV4JyBpcyBhbiBvYmplY3QgdGhhdCBoYXMgYW4gb3duIHZhbHVlT2YgbWV0aG9kIHRoYXQgcmV0dXJucyBhbiBvYmplY3QgYW5kIHRvU3RyaW5nIG1ldGhvZCB0aGF0IHJldHVybnMgYSBzdHJpbmcNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciB0b1N0cmluZ0FjY2Vzc2VkID0gZmFsc2U7DQogICAgICAgIHZhciB2YWx1ZU9mQWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICB2YXIgZnJvbUluZGV4ID0gew0KICAgICAgICAgICAgdG9TdHJpbmc6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICB0b1N0cmluZ0FjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgICAgICByZXR1cm4gJzEnOw0KICAgICAgICAgICAgfSwNCg0KICAgICAgICAgICAgdmFsdWVPZjogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHZhbHVlT2ZBY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICAgICAgcmV0dXJuIHt9Ow0KICAgICAgICAgICAgfQ0KICAgICAgICB9Ow0KDQogICAgICAgIHJldHVybiBbMCwgdHJ1ZV0ubGFzdEluZGV4T2YodHJ1ZSwgZnJvbUluZGV4KSA9PT0gMSAmJiB0b1N0cmluZ0FjY2Vzc2VkICYmIHZhbHVlT2ZBY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.lastIndexOf - value of 'fromIndex' is an object that has an own valueOf method that returns an object and toString method that returns a string","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-5-23.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTUvMTUuNC40LjE1LTUtMjQuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YgdGhyb3dzIFR5cGVFcnJvciBleGNlcHRpb24gd2hlbiB2YWx1ZSBvZiAnZnJvbUluZGV4JyBpcyBhbiBvYmplY3QgdGhhdCBib3RoIHRvU3RyaW5nIGFuZCB2YWx1ZU9mIG1ldGhvZHMgdGhhbiBkb24ndCByZXR1cm4gcHJpbWl0aXZlIHZhbHVlDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgdG9TdHJpbmdBY2Nlc3NlZCA9IGZhbHNlOw0KICAgICAgICB2YXIgdmFsdWVPZkFjY2Vzc2VkID0gZmFsc2U7DQoNCiAgICAgICAgdmFyIGZyb21JbmRleCA9IHsNCiAgICAgICAgICAgIHRvU3RyaW5nOiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgdG9TdHJpbmdBY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICAgICAgcmV0dXJuIHt9Ow0KICAgICAgICAgICAgfSwNCg0KICAgICAgICAgICAgdmFsdWVPZjogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHZhbHVlT2ZBY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICAgICAgcmV0dXJuIHt9Ow0KICAgICAgICAgICAgfQ0KICAgICAgICB9Ow0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBbMCwgbnVsbF0ubGFzdEluZGV4T2YobnVsbCwgZnJvbUluZGV4KTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIHRvU3RyaW5nQWNjZXNzZWQgJiYgdmFsdWVPZkFjY2Vzc2VkOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.lastIndexOf throws TypeError exception when value of 'fromIndex' is an object that both toString and valueOf methods than don't return primitive value","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-5-24.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTUvMTUuNC40LjE1LTUtMjUuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YgdXNlIGluaGVyaXRlZCB2YWx1ZU9mIG1ldGhvZCB3aGVuIHZhbHVlIG9mICdmcm9tSW5kZXgnIGlzIGFuIG9iamVjdCB3aXRoIGFuIG93biB0b1N0cmluZyBhbmQgaW5oZXJpdGVkIHZhbHVlT2YgbWV0aG9kcw0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHRvU3RyaW5nQWNjZXNzZWQgPSBmYWxzZTsNCiAgICAgICAgdmFyIHZhbHVlT2ZBY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIHZhciBwcm90byA9IHsNCiAgICAgICAgICAgIHZhbHVlT2Y6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICB2YWx1ZU9mQWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgICAgIHJldHVybiAxOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9Ow0KDQogICAgICAgIHZhciBDb24gPSBmdW5jdGlvbiAoKSB7fTsNCiAgICAgICAgQ29uLnByb3RvdHlwZSA9IHByb3RvOw0KDQogICAgICAgIHZhciBjaGlsZCA9IG5ldyBDb24oKTsNCiAgICAgICAgY2hpbGQudG9TdHJpbmcgPSBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICB0b1N0cmluZ0FjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIHJldHVybiAxOw0KICAgICAgICB9Ow0KDQogICAgICAgIHJldHVybiBbMCwgdHJ1ZV0ubGFzdEluZGV4T2YodHJ1ZSwgY2hpbGQpID09PSAxICYmIHZhbHVlT2ZBY2Nlc3NlZCAmJiAhdG9TdHJpbmdBY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.lastIndexOf use inherited valueOf method when value of 'fromIndex' is an object with an own toString and inherited valueOf methods","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-5-25.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTUvMTUuNC40LjE1LTUtMjYuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YgLSBzaWRlIGVmZmVjdHMgcHJvZHVjZWQgYnkgc3RlcCAyIGFyZSB2aXNpYmxlIHdoZW4gYW4gZXhjZXB0aW9uIG9jY3Vycw0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHN0ZXBUd29PY2N1cnMgPSBmYWxzZTsNCiAgICAgICAgdmFyIHN0ZXBGaXZlT2NjdXJzID0gZmFsc2U7DQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAibGVuZ3RoIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgc3RlcFR3b09jY3VycyA9IHRydWU7DQogICAgICAgICAgICAgICAgaWYgKHN0ZXBGaXZlT2NjdXJzKSB7DQogICAgICAgICAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcigiU3RlcCA1IG9jY3VycmVkIG91dCBvZiBvcmRlciIpOw0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICByZXR1cm4gMjA7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBmcm9tSW5kZXggPSB7DQogICAgICAgICAgICB2YWx1ZU9mOiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgc3RlcEZpdmVPY2N1cnMgPSB0cnVlOw0KICAgICAgICAgICAgICAgIHJldHVybiAwOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9Ow0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YuY2FsbChvYmosIHVuZGVmaW5lZCwgZnJvbUluZGV4KTsNCiAgICAgICAgICAgIHJldHVybiBzdGVwVHdvT2NjdXJzICYmIHN0ZXBGaXZlT2NjdXJzOw0KICAgICAgICB9IGNhdGNoIChleCkgew0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.lastIndexOf - side effects produced by step 2 are visible when an exception occurs","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-5-26.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTUvMTUuNC40LjE1LTUtMjcuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YgLSBzaWRlIGVmZmVjdHMgcHJvZHVjZWQgYnkgc3RlcCAzIGFyZSB2aXNpYmxlIHdoZW4gYW4gZXhjZXB0aW9uIG9jY3Vycw0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHN0ZXBUaHJlZU9jY3VycyA9IGZhbHNlOw0KICAgICAgICB2YXIgc3RlcEZpdmVPY2N1cnMgPSBmYWxzZTsNCg0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgImxlbmd0aCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiB7DQogICAgICAgICAgICAgICAgICAgIHZhbHVlT2Y6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICAgICAgICAgIHN0ZXBUaHJlZU9jY3VycyA9IHRydWU7DQogICAgICAgICAgICAgICAgICAgICAgICBpZiAoc3RlcEZpdmVPY2N1cnMpIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoIlN0ZXAgNSBvY2N1cnJlZCBvdXQgb2Ygb3JkZXIiKTsNCiAgICAgICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiAyMDsNCiAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgIH07DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBmcm9tSW5kZXggPSB7DQogICAgICAgICAgICB2YWx1ZU9mOiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgc3RlcEZpdmVPY2N1cnMgPSB0cnVlOw0KICAgICAgICAgICAgICAgIHJldHVybiAwOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9Ow0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YuY2FsbChvYmosIHVuZGVmaW5lZCwgZnJvbUluZGV4KTsNCiAgICAgICAgICAgIHJldHVybiBzdGVwVGhyZWVPY2N1cnMgJiYgc3RlcEZpdmVPY2N1cnM7DQogICAgICAgIH0gY2F0Y2ggKGV4KSB7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.lastIndexOf - side effects produced by step 3 are visible when an exception occurs","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-5-27.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTUvMTUuNC40LjE1LTUtMjguanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YgLSBzaWRlIGVmZmVjdHMgcHJvZHVjZWQgYnkgc3RlcCAxIGFyZSB2aXNpYmxlIHdoZW4gYW4gZXhjZXB0aW9uIG9jY3Vycw0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHN0ZXBGaXZlT2NjdXJzID0gZmFsc2U7DQogICAgICAgIHZhciBmcm9tSW5kZXggPSB7DQogICAgICAgICAgICB2YWx1ZU9mOiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgc3RlcEZpdmVPY2N1cnMgPSB0cnVlOw0KICAgICAgICAgICAgICAgIHJldHVybiAwOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9Ow0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YuY2FsbCh1bmRlZmluZWQsIHVuZGVmaW5lZCwgZnJvbUluZGV4KTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIChlIGluc3RhbmNlb2YgVHlwZUVycm9yKSAmJiAhc3RlcEZpdmVPY2N1cnM7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.lastIndexOf - side effects produced by step 1 are visible when an exception occurs","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-5-28.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTUvMTUuNC40LjE1LTUtMjkuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YgLSBzaWRlIGVmZmVjdHMgcHJvZHVjZWQgYnkgc3RlcCAyIGFyZSB2aXNpYmxlIHdoZW4gYW4gZXhjZXB0aW9uIG9jY3Vycw0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHN0ZXBGaXZlT2NjdXJzID0gZmFsc2U7DQoNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAibGVuZ3RoIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgdGhyb3cgbmV3IFJhbmdlRXJyb3IoKTsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIGZyb21JbmRleCA9IHsNCiAgICAgICAgICAgIHZhbHVlT2Y6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICBzdGVwRml2ZU9jY3VycyA9IHRydWU7DQogICAgICAgICAgICAgICAgcmV0dXJuIDA7DQogICAgICAgICAgICB9DQogICAgICAgIH07DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZi5jYWxsKG9iaiwgdW5kZWZpbmVkLCBmcm9tSW5kZXgpOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gKGUgaW5zdGFuY2VvZiBSYW5nZUVycm9yKSAmJiAhc3RlcEZpdmVPY2N1cnM7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.lastIndexOf - side effects produced by step 2 are visible when an exception occurs","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-5-29.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTUvMTUuNC40LjE1LTUtMy5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZiB3aGVuIGZyb21JbmRleCBpcyBib29sZWFuDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIGEgPSBuZXcgQXJyYXkoMSwyLDEpOw0KICBpZiAoYS5sYXN0SW5kZXhPZigyLHRydWUpID09PSAxICYmICAgICAgICAvLyB0cnVlIHJlc29sdmVzIHRvIDENCiAgICAgYS5sYXN0SW5kZXhPZigyLGZhbHNlKSA9PT0gLTEgKSB7ICAgICAgLy8gZmFsc2UgcmVzb2x2ZXMgdG8gMA0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.lastIndexOf when fromIndex is boolean","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-5-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTUvMTUuNC40LjE1LTUtMzAuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YgLSBzaWRlIGVmZmVjdHMgcHJvZHVjZWQgYnkgc3RlcCAzIGFyZSB2aXNpYmxlIHdoZW4gYW4gZXhjZXB0aW9uIG9jY3Vycw0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHN0ZXBGaXZlT2NjdXJzID0gZmFsc2U7DQoNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAibGVuZ3RoIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIHsNCiAgICAgICAgICAgICAgICAgICAgdmFsdWVPZjogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAgICAgICAgdGhyb3cgbmV3IFR5cGVFcnJvcigpOw0KICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgfTsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIGZyb21JbmRleCA9IHsNCiAgICAgICAgICAgIHZhbHVlT2Y6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICBzdGVwRml2ZU9jY3VycyA9IHRydWU7DQogICAgICAgICAgICAgICAgcmV0dXJuIDA7DQogICAgICAgICAgICB9DQogICAgICAgIH07DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZi5jYWxsKG9iaiwgdW5kZWZpbmVkLCBmcm9tSW5kZXgpOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpICYmICFzdGVwRml2ZU9jY3VyczsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.lastIndexOf - side effects produced by step 3 are visible when an exception occurs","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-5-30.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTUvMTUuNC40LjE1LTUtMzEuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YgLSAnZnJvbUluZGV4JyBpcyBhIHBvc2l0aXZlIG5vbi1pbnRlZ2VyLCB2ZXJpZnkgdHJ1bmNhdGlvbiBvY2N1cnMgaW4gdGhlIHByb3BlciBkaXJlY3Rpb24NCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgdGFyZ2V0T2JqID0ge307DQogICAgICAgIHJldHVybiBbMCwgdGFyZ2V0T2JqLCB0cnVlXS5sYXN0SW5kZXhPZih0YXJnZXRPYmosIDEuNSkgPT09IDEgJiYNCiAgICAgICAgICAgIFswLCB0cnVlLCB0YXJnZXRPYmpdLmxhc3RJbmRleE9mKHRhcmdldE9iaiwgMS41KSA9PT0gLTE7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.lastIndexOf - 'fromIndex' is a positive non-integer, verify truncation occurs in the proper direction","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-5-31.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTUvMTUuNC40LjE1LTUtMzIuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YgLSAnZnJvbUluZGV4JyBpcyBhIG5lZ2F0aXZlIG5vbi1pbnRlZ2VyLCB2ZXJpZnkgdHJ1bmNhdGlvbiBvY2N1cnMgaW4gdGhlIHByb3BlciBkaXJlY3Rpb24NCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgdGFyZ2V0T2JqID0ge307DQogICAgICAgIHJldHVybiBbMCwgdGFyZ2V0T2JqLCB0cnVlXS5sYXN0SW5kZXhPZih0YXJnZXRPYmosIC0yLjUpID09PSAxICYmDQogICAgICAgICAgICBbMCwgdHJ1ZSwgdGFyZ2V0T2JqXS5sYXN0SW5kZXhPZih0YXJnZXRPYmosIC0yLjUpID09PSAtMTsNCg0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.lastIndexOf - 'fromIndex' is a negative non-integer, verify truncation occurs in the proper direction","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-5-32.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTUvMTUuNC40LjE1LTUtMzMuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YgLSBtYXRjaCBvbiB0aGUgZmlyc3QgZWxlbWVudCwgYSBtaWRkbGUgZWxlbWVudCBhbmQgdGhlIGxhc3QgZWxlbWVudCB3aGVuICdmcm9tSW5kZXgnIGlzIHBhc3NlZA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgcmV0dXJuIFswLCAxLCAyLCAzLCA0XS5sYXN0SW5kZXhPZigwLCAwKSA9PT0gMCAmJg0KICAgICAgICAgICAgWzAsIDEsIDIsIDMsIDRdLmxhc3RJbmRleE9mKDAsIDIpID09PSAwICYmDQogICAgICAgICAgICBbMCwgMSwgMiwgMywgNF0ubGFzdEluZGV4T2YoMiwgMikgPT09IDIgJiYNCiAgICAgICAgICAgIFswLCAxLCAyLCAzLCA0XS5sYXN0SW5kZXhPZigyLCA0KSA9PT0gMiAmJg0KICAgICAgICAgICAgWzAsIDEsIDIsIDMsIDRdLmxhc3RJbmRleE9mKDQsIDQpID09PSA0Ow0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.lastIndexOf - match on the first element, a middle element and the last element when 'fromIndex' is passed","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-5-33.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTUvMTUuNC40LjE1LTUtNC5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZiB3aGVuIGZyb21JbmRleCBpcyB1bmRlZmluZWQNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgYSA9IG5ldyBBcnJheSgxLDIsMSk7DQogIGlmIChhLmxhc3RJbmRleE9mKDIsdW5kZWZpbmVkKSA9PT0gLTEgJiYNCiAgICAgIGEubGFzdEluZGV4T2YoMSx1bmRlZmluZWQpID09PSAwICAmJg0KICAgICAgYS5sYXN0SW5kZXhPZigxKSA9PT0gMikgICB7ICAgIC8vIHVuZGVmaW5lZCByZXNvbHZlcyB0byAwLCBubyBzZWNvbmQgYXJndW1lbnQgcmVzb2x2ZXMgdG8gbGVuDQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.lastIndexOf when fromIndex is undefined","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-5-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTUvMTUuNC40LjE1LTUtNS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZiB3aGVuIGZyb21JbmRleCBpcyBudWxsDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIGEgPSBuZXcgQXJyYXkoMSwyLDEpOw0KICBpZiAoYS5sYXN0SW5kZXhPZigyLG51bGwpID09PSAtMSAmJiBhLmxhc3RJbmRleE9mKDEsbnVsbCkgPT09IDApIHsgICAgICAgLy8gbnVsbCByZXNvbHZlcyB0byAwDQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.lastIndexOf when fromIndex is null","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-5-5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTUvMTUuNC40LjE1LTUtNi5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZiB3aGVuICdmcm9tSW5kZXgnIGlzbid0IHBhc3NlZA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBhcnIgPSBbMCwgMSwgMiwgMywgNF07DQogICAgICAgIC8vJ2Zyb21JbmRleCcgd2lsbCBiZSBzZXQgYXMgNCBpZiBub3QgcGFzc2VkIGJ5IGRlZmF1bHQNCiAgICAgICAgcmV0dXJuIGFyci5sYXN0SW5kZXhPZigwKSA9PT0gYXJyLmxhc3RJbmRleE9mKDAsIDQpICYmDQogICAgICAgICAgICBhcnIubGFzdEluZGV4T2YoMikgPT09IGFyci5sYXN0SW5kZXhPZigyLCA0KSAmJg0KICAgICAgICAgICAgYXJyLmxhc3RJbmRleE9mKDQpID09PSBhcnIubGFzdEluZGV4T2YoNCwgNCk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.lastIndexOf when 'fromIndex' isn't passed","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-5-6.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTUvMTUuNC40LjE1LTUtNy5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZiAtIHZhbHVlIG9mICdmcm9tSW5kZXgnIGlzIGEgbnVtYmVyICh2YWx1ZSBpcyAwKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgcmV0dXJuIFswLCAxMDBdLmxhc3RJbmRleE9mKDEwMCwgMCkgPT09IC0xICYmIC8vIHZlcmlmeSBmcm9tSW5kZXggaXMgbm90IG1vcmUgdGhhbiAwDQogICAgICAgICAgICBbMjAwLCAwXS5sYXN0SW5kZXhPZigyMDAsIDApID09PSAwOyAvLyB2ZXJpZnkgZnJvbUluZGV4IGlzIG5vdCBsZXNzIHRoYW4gMA0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.lastIndexOf - value of 'fromIndex' is a number (value is 0)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-5-7.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTUvMTUuNC40LjE1LTUtOC5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZiAtIHZhbHVlIG9mICdmcm9tSW5kZXgnIGlzIGEgbnVtYmVyICh2YWx1ZSBpcyArMCkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHJldHVybiBbMCwgdHJ1ZV0ubGFzdEluZGV4T2YodHJ1ZSwgKzApID09PSAtMSAmJg0KICAgICAgICAgICAgW3RydWUsIDBdLmxhc3RJbmRleE9mKHRydWUsICswKSA9PT0gMDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.lastIndexOf - value of 'fromIndex' is a number (value is +0)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-5-8.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTUvMTUuNC40LjE1LTUtOS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZiAtIHZhbHVlIG9mICdmcm9tSW5kZXgnIGlzIGEgbnVtYmVyICh2YWx1ZSBpcyAtMCkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHJldHVybiBbMCwgdHJ1ZV0ubGFzdEluZGV4T2YodHJ1ZSwgLTApID09PSAtMSAmJg0KICAgICAgICAgICAgW3RydWUsIDBdLmxhc3RJbmRleE9mKHRydWUsIC0wKSA9PT0gMDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.lastIndexOf - value of 'fromIndex' is a number (value is -0)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-5-9.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTUvMTUuNC40LjE1LTYtMS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZiB3aGVuIGZyb21JbmRleCBncmVhdGVyIHRoYW4gQXJyYXkubGVuZ3RoDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIGEgPSBuZXcgQXJyYXkoMSwyLDMpOw0KICBpZiAoYS5sYXN0SW5kZXhPZigzLDUuNCkgPT09IDIgJiYgIA0KICAgICBhLmxhc3RJbmRleE9mKDMsMy4xKSA9PT0gMiApIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.lastIndexOf when fromIndex greater than Array.length","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-6-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTUvMTUuNC40LjE1LTYtMi5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZiByZXR1cm5zIGNvcnJlY3QgaW5kZXggd2hlbiAnZnJvbUluZGV4JyBpcyBsZW5ndGggb2YgYXJyYXkgLSAxDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICByZXR1cm4gWzEsIDIsIDNdLmxhc3RJbmRleE9mKDMsIDIpID09PSAyOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.lastIndexOf returns correct index when 'fromIndex' is length of array - 1","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-6-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTUvMTUuNC40LjE1LTYtMy5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZiByZXR1cm5zIC0xIHdoZW4gJ2Zyb21JbmRleCcgaXMgbGVuZ3RoIG9mIGFycmF5IC0gMQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgcmV0dXJuIFsxLCAyLCAzXS5sYXN0SW5kZXhPZigzLCAxKSA9PT0gLTE7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.lastIndexOf returns -1 when 'fromIndex' is length of array - 1","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-6-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTUvMTUuNC40LjE1LTYtNC5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZiByZXR1cm5zIC0xIHdoZW4gJ2Zyb21JbmRleCcgYW5kICdsZW5ndGgnIGFyZSBib3RoIDANCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHJldHVybiBbXS5sYXN0SW5kZXhPZigxLCAwKSA9PT0gLTE7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.lastIndexOf returns -1 when 'fromIndex' and 'length' are both 0","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-6-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTUvMTUuNC40LjE1LTYtNS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZiByZXR1cm5zIC0xIHdoZW4gJ2Zyb21JbmRleCcgaXMgMQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgcmV0dXJuIFsxLCAyLCAzXS5sYXN0SW5kZXhPZigzLCAxKSA9PT0gLTE7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.lastIndexOf returns -1 when 'fromIndex' is 1","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-6-5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTUvMTUuNC40LjE1LTYtNi5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZiByZXR1cm5zIGNvcnJlY3QgaW5kZXggd2hlbiAnZnJvbUluZGV4JyBpcyAxDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICByZXR1cm4gWzEsIDIsIDNdLmxhc3RJbmRleE9mKDIsIDEpID09PSAxOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.lastIndexOf returns correct index when 'fromIndex' is 1","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-6-6.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTUvMTUuNC40LjE1LTctMS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZiB3aXRoIG5lZ2F0aXZlIGZyb21JbmRleCANCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgYSA9IG5ldyBBcnJheSgxLDIsMyk7DQogIA0KICBpZiAoYS5sYXN0SW5kZXhPZigyLC0yKSA9PT0gMSAmJiAgDQogICAgICBhLmxhc3RJbmRleE9mKDIsLTMpID09PSAtMSAmJiAgDQogICAgICBhLmxhc3RJbmRleE9mKDEsLTUuMykgPT09IC0xICkgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.lastIndexOf with negative fromIndex","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-7-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTUvMTUuNC40LjE1LTctMi5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZiByZXR1cm5zIGNvcnJlY3QgaW5kZXggd2hlbiAnZnJvbUluZGV4JyBpcyAtMQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgcmV0dXJuIFsxLCAyLCAzLCA0XS5sYXN0SW5kZXhPZig0LCAtMSkgPT09IDM7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.lastIndexOf returns correct index when 'fromIndex' is -1","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-7-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTUvMTUuNC40LjE1LTctMy5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZiByZXR1cm5zIC0xIHdoZW4gYWJzKCdmcm9tSW5kZXgnKSBpcyBsZW5ndGggb2YgYXJyYXkgLSAxDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICByZXR1cm4gWzEsIDIsIDMsIDRdLmxhc3RJbmRleE9mKDMsIC0zKSA9PT0gLTE7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.lastIndexOf returns -1 when abs('fromIndex') is length of array - 1","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-7-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTUvMTUuNC40LjE1LTctNC5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZiByZXR1cm5zIC0xIHdoZW4gYWJzKCdmcm9tSW5kZXgnKSBpcyBsZW5ndGggb2YgYXJyYXkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHJldHVybiBbMSwgMiwgMywgNF0ubGFzdEluZGV4T2YoMiwgLTQpID09PSAtMTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.lastIndexOf returns -1 when abs('fromIndex') is length of array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-7-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTUvMTUuNC40LjE1LTgtMS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZiBtdXN0IHJldHVybiBjb3JyZWN0IGluZGV4KGJvb2xlYW4pDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIG9iaiA9IHt0b1N0cmluZzpmdW5jdGlvbiAoKXtyZXR1cm4gdHJ1ZX19Ow0KICB2YXIgX2ZhbHNlID0gZmFsc2U7DQogIHZhciBhID0gbmV3IEFycmF5KGZhbHNlLHRydWUsZmFsc2Usb2JqLF9mYWxzZSx0cnVlLCJ0cnVlIiwgdW5kZWZpbmVkLDAsbnVsbCwxLCJzdHIiLDAsMSk7DQogIGlmIChhLmxhc3RJbmRleE9mKHRydWUpID09PSA1ICYmICAvL2FbNV09dHJ1ZQ0KICAgICAgYS5sYXN0SW5kZXhPZihmYWxzZSkgPT09IDQpICAgIC8vYVs0XSA9X2ZhbHNlDQogIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.lastIndexOf must return correct index(boolean)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogbm90ZSB0aGF0IHByaW9yIHRvIHRoZSBmaW5hbGx5IEVTNSBkcmFmdCBTYW1lVmFsdWUgd2FzIHVzZWQgZm9yIGNvbXBhcmlzaW9ucw0KICogYW5kIGhlbmNlIE5hTnMgY291bGQgYmUgZm91bmQgdXNpbmcgbGFzdEluZGV4T2YgKg0KICoNCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjE1LzE1LjQuNC4xNS04LTEwLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mIG11c3QgcmV0dXJuIGNvcnJlY3QgaW5kZXggKE5hTikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgX05hTiA9IE5hTjsNCiAgdmFyIGEgPSBuZXcgQXJyYXkoIk5hTiIsX05hTixOYU4sIHVuZGVmaW5lZCwwLGZhbHNlLG51bGwse3RvU3RyaW5nOmZ1bmN0aW9uICgpe3JldHVybiBOYU59fSwiZmFsc2UiKTsNCiAgaWYgKGEubGFzdEluZGV4T2YoTmFOKSA9PT0gLTEpICAvLyBOYU4gbWF0Y2hlcyBub3RoaW5nLCBub3QgZXZlbiBpdHNlbGYNCiAgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"note that prior to the finally ES5 draft SameValue was used for comparisions\nand hence NaNs could be found using lastIndexOf *","description":"Array.prototype.lastIndexOf must return correct index (NaN)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-10.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTUvMTUuNC40LjE1LTgtMTEuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YgLSB0aGUgbGVuZ3RoIG9mIGl0ZXJhdGlvbiBpc24ndCBjaGFuZ2VkIGJ5IGFkZGluZyBlbGVtZW50cyB0byB0aGUgYXJyYXkgZHVyaW5nIGl0ZXJhdGlvbg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFyciA9IFsyMF07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgIjAiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICBhcnJbMV0gPSAxOw0KICAgICAgICAgICAgICAgIHJldHVybiAwOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICByZXR1cm4gYXJyLmxhc3RJbmRleE9mKDEpID09PSAtMTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.lastIndexOf - the length of iteration isn't changed by adding elements to the array during iteration","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-11.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTUvMTUuNC40LjE1LTgtMi5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZiBtdXN0IHJldHVybiBjb3JyZWN0IGluZGV4KE51bWJlcikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgb2JqID0ge3RvU3RyaW5nOmZ1bmN0aW9uICgpe3JldHVybiAwfX07DQogIHZhciBvbmUgPSAxOw0KICB2YXIgX2Zsb2F0ID0gLSg0LzMpOw0KICB2YXIgYSA9IG5ldyBBcnJheSgrMCx0cnVlLDAsLTAsIGZhbHNlLHVuZGVmaW5lZCxudWxsLCIwIixvYmosIF9mbG9hdCwtKDQvMyksLTEuMzMzMzMzMzMzMzMzMywic3RyIixvbmUsIDEsIGZhbHNlKTsNCiAgaWYgKGEubGFzdEluZGV4T2YoLSg0LzMpKSA9PT0gMTAgJiYgICAgICAvLyBhWzEwXT0tKDQvMykNCiAgICAgIGEubGFzdEluZGV4T2YoMCkgPT09IDMgICAgICAgJiYgICAgICAgLy8gYVszXSA9IC0wLCBidXQgdXNpbmcgPT09IC0wIGFuZCAwIGFyZSBlcXVhbA0KICAgICAgYS5sYXN0SW5kZXhPZigtMCkgPT09MyAgICAgICAmJiAgICAgIC8vIGFbM10gPSAtMA0KICAgICAgYS5sYXN0SW5kZXhPZigxKSA9PT0gMTQgKSAgICAgICAgICAgIC8vIGFbMTRdID0gMQ0KICB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.lastIndexOf must return correct index(Number)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTUvMTUuNC40LjE1LTgtMy5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZiBtdXN0IHJldHVybiBjb3JyZWN0IGluZGV4KHN0cmluZykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgb2JqID0ge3RvU3RyaW5nOmZ1bmN0aW9uICgpe3JldHVybiAiZmFsc2UifX07DQogIHZhciBzekZhbHNlID0gImZhbHNlIjsNCiAgdmFyIGEgPSBuZXcgQXJyYXkoc3pGYWxzZSwgImZhbHNlIiwiZmFsc2UxIix1bmRlZmluZWQsMCxmYWxzZSxudWxsLDEsb2JqLDApOw0KICBpZiAoYS5sYXN0SW5kZXhPZigiZmFsc2UiKSA9PT0gMSkgDQogIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.lastIndexOf must return correct index(string)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTUvMTUuNC40LjE1LTgtNC5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZiBtdXN0IHJldHVybiBjb3JyZWN0IGluZGV4KHVuZGVmaW5lZCkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgb2JqID0ge3RvU3RyaW5nOmZ1bmN0aW9uICgpe3JldHVybiB1bmRlZmluZWQ7fX07DQogIHZhciBfdW5kZWZpbmVkMSA9IHVuZGVmaW5lZDsNCiAgdmFyIF91bmRlZmluZWQyOw0KICB2YXIgYSA9IG5ldyBBcnJheShfdW5kZWZpbmVkMSxfdW5kZWZpbmVkMix1bmRlZmluZWQsdHJ1ZSwwLGZhbHNlLG51bGwsMSwidW5kZWZpbmVkIixvYmosMSk7DQogIGlmIChhLmxhc3RJbmRleE9mKHVuZGVmaW5lZCkgPT09IDIpIA0KICB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.lastIndexOf must return correct index(undefined)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTUvMTUuNC40LjE1LTgtNS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZiBtdXN0IHJldHVybiBjb3JyZWN0IGluZGV4KE9iamVjdCkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgb2JqMSA9IHt0b1N0cmluZzpmdW5jdGlvbiAoKXtyZXR1cm4gImZhbHNlIn19Ow0KICB2YXIgb2JqMiA9IHt0b1N0cmluZzpmdW5jdGlvbiAoKXtyZXR1cm4gImZhbHNlIn19Ow0KICB2YXIgb2JqMyA9IG9iajE7DQogIHZhciBhID0gbmV3IEFycmF5KG9iajIsb2JqMSxvYmozLGZhbHNlLHVuZGVmaW5lZCwwLGZhbHNlLG51bGwse3RvU3RyaW5nOmZ1bmN0aW9uICgpe3JldHVybiAiZmFsc2UifX0sImZhbHNlIik7DQogIGlmIChhLmxhc3RJbmRleE9mKG9iajMpID09PSAyKSANCiAgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.lastIndexOf must return correct index(Object)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTUvMTUuNC40LjE1LTgtNi5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZiBtdXN0IHJldHVybiBjb3JyZWN0IGluZGV4KG51bGwpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIG9iaiA9IHt0b1N0cmluZzpmdW5jdGlvbiAoKXtyZXR1cm4gbnVsbH19Ow0KICB2YXIgX251bGwgPSBudWxsOw0KICB2YXIgYSA9IG5ldyBBcnJheSh0cnVlLHVuZGVmaW5lZCwwLGZhbHNlLG51bGwsMSwic3RyIiwwLDEsbnVsbCx0cnVlLGZhbHNlLHVuZGVmaW5lZCxfbnVsbCwibnVsbCIsdW5kZWZpbmVkLCJzdHIiLG9iaik7DQogIGlmIChhLmxhc3RJbmRleE9mKG51bGwpID09PSAxMyApIA0KICB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.lastIndexOf must return correct index(null)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-6.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTUvMTUuNC40LjE1LTgtNy5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZiBtdXN0IHJldHVybiBjb3JyZWN0IGluZGV4IChzZWxmIHJlZmVyZW5jZSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgYSA9IG5ldyBBcnJheSgwLDEsMiwzKTsgIA0KICBhWzJdID0gYTsNCiAgaWYgKGEubGFzdEluZGV4T2YoYSkgPT09IDIgJiYgIA0KICAgICAgYS5sYXN0SW5kZXhPZigzKSA9PT0gMyApIA0KICB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.lastIndexOf must return correct index (self reference)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-7.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTUvMTUuNC40LjE1LTgtOC5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZiBtdXN0IHJldHVybiBjb3JyZWN0IGluZGV4IChBcnJheSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgYiA9IG5ldyBBcnJheSgiMCwxIik7ICANCiAgdmFyIGEgPSBuZXcgQXJyYXkoMCxiLCIwLDEiLDMpOyAgDQogIGlmIChhLmxhc3RJbmRleE9mKGIudG9TdHJpbmcoKSkgPT09IDIgJiYgIA0KICAgICAgYS5sYXN0SW5kZXhPZigiMCwxIikgPT09IDIgKSANCiAgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.lastIndexOf must return correct index (Array)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-8.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTUvMTUuNC40LjE1LTgtOS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZiBtdXN0IHJldHVybiBjb3JyZWN0IGluZGV4IChTcGFyc2UgQXJyYXkpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIGEgPSBuZXcgQXJyYXkoMCwxKTsgIA0KICBhWzQyOTQ5NjcyOTRdID0gMjsgICAgICAgICAgLy8gMl4zMi0yIC0gaXMgbWF4IGFycmF5IGVsZW1lbnQgaW5kZXgNCiAgYVs0Mjk0OTY3Mjk1XSA9IDM7ICAgICAgICAgIC8vIDJeMzItMSBhZGRlZCBhcyBub24tYXJyYXkgZWxlbWVudCBwcm9wZXJ0eQ0KICBhWzQyOTQ5NjcyOTZdID0gNDsgICAgICAgICAgLy8gMl4zMiAgIGFkZGVkIGFzIG5vbi1hcnJheSBlbGVtZW50IHByb3BlcnR5DQogIGFbNDI5NDk2NzI5N10gPSA1OyAgICAgICAgICAvLyAyXjMyKzEgYWRkZWQgYXMgbm9uLWFycmF5IGVsZW1lbnQgcHJvcGVydHkNCiAgLy8gc3RvcCBzZWFyY2hpbmcgbmVhciB0aGUgZW5kIGluIGNhc2UgaW1wbGVtZW50YXRpb24gYWN0dWFsbHkgdHJpZXMgdG8gdGVzdCBhbGwgbWlzc2luZyBlbGVtZW50cyEhDQogIGFbNDI5NDk2NzIwMF0gPSAzOyAgICAgICAgICANCiAgYVs0Mjk0OTY3MjAxXSA9IDQ7ICAgICAgICAgDQogIGFbNDI5NDk2NzIwMl0gPSA1OyAgICAgICAgIA0KDQoNCiAgcmV0dXJuIChhLmxhc3RJbmRleE9mKDIpID09PSA0Mjk0OTY3Mjk0ICYmICAgIA0KICAgICAgYS5sYXN0SW5kZXhPZigzKSA9PT0gNDI5NDk2NzIwMCAmJg0KICAgICAgYS5sYXN0SW5kZXhPZig0KSA9PT0gNDI5NDk2NzIwMSAmJg0KICAgICAgYS5sYXN0SW5kZXhPZig1KSA9PT0gNDI5NDk2NzIwMikgOw0KICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.lastIndexOf must return correct index (Sparse Array)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-9.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTUvMTUuNC40LjE1LTgtYS0xLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mIC0gYWRkZWQgcHJvcGVydGllcyBpbiBzdGVwIDIgYXJlIHZpc2libGUgaGVyZQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFyciA9IHsgfTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyLCAibGVuZ3RoIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgYXJyWzJdID0gImxlbmd0aCI7DQogICAgICAgICAgICAgICAgcmV0dXJuIDM7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHJldHVybiAyID09PSBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YuY2FsbChhcnIsICJsZW5ndGgiKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.lastIndexOf - added properties in step 2 are visible here","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-a-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTUvMTUuNC40LjE1LTgtYS0xMC5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZiAtIHByb3BlcnRpZXMgY2FuIGJlIGFkZGVkIHRvIHByb3RvdHlwZSBhZnRlciBjdXJyZW50IHBvc2l0aW9uIGFyZSB2aXNpdGVkIG9uIGFuIEFycmF5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYXJyID0gWzAsICwgMl07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgIjIiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoQXJyYXkucHJvdG90eXBlLCAiMSIsIHsNCiAgICAgICAgICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gNi45OTsNCiAgICAgICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICAgICAgfSk7DQogICAgICAgICAgICAgICAgcmV0dXJuIDA7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICByZXR1cm4gYXJyLmxhc3RJbmRleE9mKDYuOTkpID09PSAxOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIEFycmF5LnByb3RvdHlwZVsxXTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.lastIndexOf - properties can be added to prototype after current position are visited on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-a-10.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTUvMTUuNC40LjE1LTgtYS0xMS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZiAtIGRlbGV0aW5nIG93biBwcm9wZXJ0eSBjYXVzZXMgaW5kZXggcHJvcGVydHkgbm90IHRvIGJlIHZpc2l0ZWQgb24gYW4gQXJyYXktbGlrZSBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhcnIgPSB7IGxlbmd0aDogMjAwIH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgIjEiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gNi45OTsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgIjEwMCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIGRlbGV0ZSBhcnJbMV07DQogICAgICAgICAgICAgICAgcmV0dXJuIDA7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHJldHVybiAtMSA9PT0gQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mLmNhbGwoYXJyLCA2Ljk5KTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.lastIndexOf - deleting own property causes index property not to be visited on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-a-11.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTUvMTUuNC40LjE1LTgtYS0xMi5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZiAtIGRlbGV0aW5nIG93biBwcm9wZXJ0eSBjYXVzZXMgaW5kZXggcHJvcGVydHkgbm90IHRvIGJlIHZpc2l0ZWQgb24gYW4gQXJyYXkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhcnIgPSBbMSwgMiwgMywgNF07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgIjEiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gIjYuOTkiOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyLCAiMyIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIGRlbGV0ZSBhcnJbMV07DQogICAgICAgICAgICAgICAgcmV0dXJuIDA7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHJldHVybiAtMSA9PT0gYXJyLmxhc3RJbmRleE9mKCI2Ljk5Iik7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.lastIndexOf - deleting own property causes index property not to be visited on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-a-12.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTUvMTUuNC40LjE1LTgtYS0xMy5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZiAtICBkZWxldGluZyBwcm9wZXJ0eSBvZiBwcm90b3R5cGUgY2F1c2VzIHByb3RvdHlwZSBpbmRleCBwcm9wZXJ0eSBub3QgdG8gYmUgdmlzaXRlZCBvbiBhbiBBcnJheS1saWtlIE9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFyciA9IHsgMjogMiwgbGVuZ3RoOiAyMCB9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnIsICIzIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgZGVsZXRlIE9iamVjdC5wcm90b3R5cGVbMV07DQogICAgICAgICAgICAgICAgcmV0dXJuIDA7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QucHJvdG90eXBlWzFdID0gMTsNCiAgICAgICAgICAgIHJldHVybiAtMSA9PT0gQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mLmNhbGwoYXJyLCAxKTsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBPYmplY3QucHJvdG90eXBlWzFdOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.lastIndexOf - deleting property of prototype causes prototype index property not to be visited on an Array-like Object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-a-13.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTUvMTUuNC40LjE1LTgtYS0xNC5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZiAtICBkZWxldGluZyBwcm9wZXJ0eSBvZiBwcm90b3R5cGUgY2F1c2VzIHByb3RvdHlwZSBpbmRleCBwcm9wZXJ0eSBub3QgdG8gYmUgdmlzaXRlZCBvbiBhbiBBcnJheQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFyciA9IFswLCAsIDJdOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnIsICIyMCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIGRlbGV0ZSBBcnJheS5wcm90b3R5cGVbMV07DQogICAgICAgICAgICAgICAgcmV0dXJuIDA7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBBcnJheS5wcm90b3R5cGVbMV0gPSAxOw0KICAgICAgICAgICAgcmV0dXJuIC0xID09PSBhcnIubGFzdEluZGV4T2YoMSk7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgQXJyYXkucHJvdG90eXBlWzFdOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.lastIndexOf - deleting property of prototype causes prototype index property not to be visited on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-a-14.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTUvMTUuNC40LjE1LTgtYS0xNS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZiAtICBkZWxldGluZyBvd24gcHJvcGVydHkgd2l0aCBwcm90b3R5cGUgcHJvcGVydHkgY2F1c2VzIHByb3RvdHlwZSBpbmRleCBwcm9wZXJ0eSB0byBiZSB2aXNpdGVkIG9uIGFuIEFycmF5LWxpa2Ugb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYXJyID0geyAwOiAwLCAxOiAxMTEsIDI6IDIsIGxlbmd0aDogMTAgfTsNCiAgICAgICAgDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnIsICI2Iiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgZGVsZXRlIGFyclsxXTsNCiAgICAgICAgICAgICAgICByZXR1cm4gMDsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5wcm90b3R5cGVbMV0gPSAxOw0KICAgICAgICAgICAgcmV0dXJuIDEgPT09IEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZi5jYWxsKGFyciwgMSk7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgT2JqZWN0LnByb3RvdHlwZVsxXTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.lastIndexOf - deleting own property with prototype property causes prototype index property to be visited on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-a-15.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTUvMTUuNC40LjE1LTgtYS0xNi5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZiAtICBkZWxldGluZyBvd24gcHJvcGVydHkgd2l0aCBwcm90b3R5cGUgcHJvcGVydHkgY2F1c2VzIHByb3RvdHlwZSBpbmRleCBwcm9wZXJ0eSB0byBiZSB2aXNpdGVkIG9uIGFuIEFycmF5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYXJyID0gWzAsIDExMSwgMl07IA0KICAgICAgICANCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgIjIiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICBkZWxldGUgYXJyWzFdOw0KICAgICAgICAgICAgICAgIHJldHVybiAwOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlWzFdID0gMTsNCiAgICAgICAgICAgIHJldHVybiAxID09PSBhcnIubGFzdEluZGV4T2YoMSk7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgQXJyYXkucHJvdG90eXBlWzFdOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.lastIndexOf - deleting own property with prototype property causes prototype index property to be visited on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-a-16.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTUvMTUuNC40LjE1LTgtYS0xNy5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZiAtICBkZWNyZWFzaW5nIGxlbmd0aCBvZiBhcnJheSBjYXVzZXMgaW5kZXggcHJvcGVydHkgbm90IHRvIGJlIHZpc2l0ZWQNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhcnIgPSBbMCwgMSwgMiwgImxhc3QiLCA0XTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyLCAiNCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIGFyci5sZW5ndGggPSAzOw0KICAgICAgICAgICAgICAgIHJldHVybiAwOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICByZXR1cm4gLTEgPT09IGFyci5sYXN0SW5kZXhPZigibGFzdCIpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.lastIndexOf - decreasing length of array causes index property not to be visited","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-a-17.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTUvMTUuNC40LjE1LTgtYS0xOC5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZiAtICBkZWNyZWFzaW5nIGxlbmd0aCBvZiBhcnJheSB3aXRoIHByb3RvdHlwZSBwcm9wZXJ0eSBjYXVzZXMgcHJvdG90eXBlIGluZGV4IHByb3BlcnR5IHRvIGJlIHZpc2l0ZWQNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhcnIgPSBbMCwgMSwgMiwgMywgNF07DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShBcnJheS5wcm90b3R5cGUsICIyIiwgew0KICAgICAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gInByb3RvdHlwZSI7DQogICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyLCAiMyIsIHsNCiAgICAgICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICAgICAgYXJyLmxlbmd0aCA9IDI7DQogICAgICAgICAgICAgICAgICAgIHJldHVybiAxOw0KICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgcmV0dXJuIDIgPT09IGFyci5sYXN0SW5kZXhPZigicHJvdG90eXBlIik7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgQXJyYXkucHJvdG90eXBlWzJdOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.lastIndexOf - decreasing length of array with prototype property causes prototype index property to be visited","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-a-18.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTUvMTUuNC40LjE1LTgtYS0xOS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZiAtICBkZWNyZWFzaW5nIGxlbmd0aCBvZiBhcnJheSBkb2VzIG5vdCBkZWxldGUgbm9uLWNvbmZpZ3VyYWJsZSBwcm9wZXJ0aWVzDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYXJyID0gWzAsIDEsIDIsIDNdOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnIsICIyIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuICJ1bmNvbmZpZ3VyYWJsZSI7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyLCAiMyIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIGFyci5sZW5ndGggPSAyOw0KICAgICAgICAgICAgICAgIHJldHVybiAxOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICByZXR1cm4gMiA9PT0gYXJyLmxhc3RJbmRleE9mKCJ1bmNvbmZpZ3VyYWJsZSIpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.lastIndexOf - decreasing length of array does not delete non-configurable properties","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-a-19.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTUvMTUuNC40LjE1LTgtYS0yLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mIC0gIGFkZGVkIHByb3BlcnRpZXMgaW4gc3RlcCA1IGFyZSB2aXNpYmxlIGhlcmUgb24gYW4gQXJyYXktbGlrZSBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhcnIgPSB7IGxlbmd0aDogMzAgfTsNCiAgICAgICAgdmFyIHRhcmdldE9iaiA9IGZ1bmN0aW9uICgpIHsgfTsNCg0KICAgICAgICB2YXIgZnJvbUluZGV4ID0gew0KICAgICAgICAgICAgdmFsdWVPZjogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIGFycls0XSA9IHRhcmdldE9iajsNCiAgICAgICAgICAgICAgICByZXR1cm4gMTA7DQogICAgICAgICAgICB9DQogICAgICAgIH07DQogICAgICAgIA0KICAgICAgICByZXR1cm4gNCA9PT0gQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mLmNhbGwoYXJyLCB0YXJnZXRPYmosIGZyb21JbmRleCk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.lastIndexOf - added properties in step 5 are visible here on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-a-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTUvMTUuNC40LjE1LTgtYS0zLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mIC0gIGFkZGVkIHByb3BlcnRpZXMgaW4gc3RlcCA1IGFyZSB2aXNpYmxlIGhlcmUgb24gYW4gQXJyYXkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhcnIgPSBbXTsNCiAgICAgICAgYXJyLmxlbmd0aCA9IDMwOw0KICAgICAgICB2YXIgdGFyZ2V0T2JqID0gZnVuY3Rpb24gKCkgeyB9Ow0KDQogICAgICAgIHZhciBmcm9tSW5kZXggPSB7DQogICAgICAgICAgICB2YWx1ZU9mOiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgYXJyWzRdID0gdGFyZ2V0T2JqOw0KICAgICAgICAgICAgICAgIHJldHVybiAxMTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfTsNCg0KICAgICAgICByZXR1cm4gNCA9PT0gYXJyLmxhc3RJbmRleE9mKHRhcmdldE9iaiwgZnJvbUluZGV4KTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.lastIndexOf - added properties in step 5 are visible here on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-a-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTUvMTUuNC40LjE1LTgtYS00LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mIC0gIGRlbGV0ZWQgcHJvcGVydGllcyBpbiBzdGVwIDIgYXJlIHZpc2libGUgaGVyZQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFyciA9IHsgMjogNi45OSB9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnIsICJsZW5ndGgiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICBkZWxldGUgYXJyWzJdOw0KICAgICAgICAgICAgICAgIHJldHVybiAzOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICByZXR1cm4gLTEgPT09IEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZi5jYWxsKGFyciwgNi45OSk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.lastIndexOf - deleted properties in step 2 are visible here","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-a-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTUvMTUuNC40LjE1LTgtYS01LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mIC0gIGRlbGV0ZWQgcHJvcGVydGllcyBvZiBzdGVwIDUgYXJlIHZpc2libGUgaGVyZSBvbiBhbiBBcnJheS1saWtlIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFyciA9IHsgMTA6IGZhbHNlLCBsZW5ndGg6IDMwIH07DQoNCiAgICAgICAgdmFyIGZyb21JbmRleCA9IHsNCiAgICAgICAgICAgIHZhbHVlT2Y6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICBkZWxldGUgYXJyWzEwXTsNCiAgICAgICAgICAgICAgICByZXR1cm4gMTU7DQogICAgICAgICAgICB9DQogICAgICAgIH07DQoNCiAgICAgICAgcmV0dXJuIC0xID09PSBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YuY2FsbChhcnIsIGZhbHNlLCBmcm9tSW5kZXgpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.lastIndexOf - deleted properties of step 5 are visible here on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-a-5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTUvMTUuNC40LjE1LTgtYS02LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mIC0gIGRlbGV0ZWQgcHJvcGVydGllcyBvZiBzdGVwIDUgYXJlIHZpc2libGUgaGVyZSBvbiBhbiBBcnJheQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFyciA9IFtdOw0KICAgICAgICBhcnJbMTBdID0gIjEwIjsNCiAgICAgICAgYXJyLmxlbmd0aCA9IDIwOw0KDQogICAgICAgIHZhciBmcm9tSW5kZXggPSB7DQogICAgICAgICAgICB2YWx1ZU9mOiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgZGVsZXRlIGFyclsxMF07DQogICAgICAgICAgICAgICAgcmV0dXJuIDExOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9Ow0KDQogICAgICAgIHJldHVybiAtMSA9PT0gYXJyLmxhc3RJbmRleE9mKCIxMCIsIGZyb21JbmRleCk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.lastIndexOf - deleted properties of step 5 are visible here on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-a-6.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTUvMTUuNC40LjE1LTgtYS03LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mIC0gIHByb3BlcnRpZXMgYWRkZWQgaW50byBvd24gb2JqZWN0IGFmdGVyIGN1cnJlbnQgcG9zaXRpb24gYXJlIHZpc2l0ZWQgb24gYW4gQXJyYXktbGlrZSBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgIA0KICAgICAgICB2YXIgYXJyID0geyBsZW5ndGg6IDggfTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyLCAiNCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnIsICIxIiwgew0KICAgICAgICAgICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiAxOw0KICAgICAgICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgICAgICB9KTsNCiAgICAgICAgICAgICAgICByZXR1cm4gMDsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZi5jYWxsKGFyciwgMSkgPT09IDE7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.lastIndexOf - properties added into own object after current position are visited on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-a-7.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTUvMTUuNC40LjE1LTgtYS04LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mIC0gIHByb3BlcnRpZXMgYWRkZWQgaW50byBvd24gb2JqZWN0IGFmdGVyIGN1cnJlbnQgcG9zaXRpb24gYXJlIHZpc2l0ZWQgb24gYW4gQXJyYXkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhcnIgPSBbMCwgLCAyXTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyLCAiMiIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnIsICIxIiwgew0KICAgICAgICAgICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiAxOw0KICAgICAgICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgICAgICB9KTsNCiAgICAgICAgICAgICAgICByZXR1cm4gMDsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgcmV0dXJuIGFyci5sYXN0SW5kZXhPZigxKSA9PT0gMTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.lastIndexOf - properties added into own object after current position are visited on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-a-8.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTUvMTUuNC40LjE1LTgtYS05LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mIC0gIHByb3BlcnRpZXMgY2FuIGJlIGFkZGVkIHRvIHByb3RvdHlwZSBhZnRlciBjdXJyZW50IHBvc2l0aW9uIGFyZSB2aXNpdGVkIG9uIGFuIEFycmF5LWxpa2Ugb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYXJyID0geyBsZW5ndGg6IDkgfTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyLCAiNCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShPYmplY3QucHJvdG90eXBlLCAiMSIsIHsNCiAgICAgICAgICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gSW5maW5pdHk7DQogICAgICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgICAgIHJldHVybiAwOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZi5jYWxsKGFyciwgSW5maW5pdHkpID09PSAxOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIE9iamVjdC5wcm90b3R5cGVbMV07DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.lastIndexOf - properties can be added to prototype after current position are visited on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-a-9.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTUvMTUuNC40LjE1LTgtYi0xLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mIC0gdW5kZWZpbmVkIHByb3BlcnR5IHdvdWxkbid0IGJlIGNhbGxlZA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgcmV0dXJuIFswLCAsIDJdLmxhc3RJbmRleE9mKHVuZGVmaW5lZCkgPT09IC0xOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.lastIndexOf - undefined property wouldn't be called","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-b-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTUvMTUuNC40LjE1LTgtYi1pLTEuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YgLSBlbGVtZW50IHRvIGJlIHJldHJpZXZlZCBpcyBvd24gZGF0YSBwcm9wZXJ0eSBvbiBhbiBBcnJheS1saWtlIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgMDogMCwgMTogMSwgMjogMiwgbGVuZ3RoOiAzIH07DQoNCiAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZi5jYWxsKG9iaiwgMCkgPT09IDAgJiYNCiAgICAgICAgICAgIEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZi5jYWxsKG9iaiwgMSkgPT09IDEgJiYNCiAgICAgICAgICAgIEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZi5jYWxsKG9iaiwgMikgPT09IDI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.lastIndexOf - element to be retrieved is own data property on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-b-i-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTUvMTUuNC40LjE1LTgtYi1pLTEwLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mIC0gZWxlbWVudCB0byBiZSByZXRyaWV2ZWQgaXMgb3duIGFjY2Vzc29yIHByb3BlcnR5IG9uIGFuIEFycmF5LWxpa2Ugb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0geyBsZW5ndGg6IDMgfTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgIjAiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gMDsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgIjEiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gMTsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgIjIiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gMjsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgcmV0dXJuIDAgPT09IEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZi5jYWxsKG9iaiwgMCkgJiYNCiAgICAgICAgICAgIDEgPT09IEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZi5jYWxsKG9iaiwgMSkgJiYNCiAgICAgICAgICAgIDIgPT09IEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZi5jYWxsKG9iaiwgMik7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.lastIndexOf - element to be retrieved is own accessor property on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-b-i-10.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTUvMTUuNC40LjE1LTgtYi1pLTExLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mIC0gZWxlbWVudCB0byBiZSByZXRyaWV2ZWQgaXMgb3duIGFjY2Vzc29yIHByb3BlcnR5IHRoYXQgb3ZlcnJpZGVzIGFuIGluaGVyaXRlZCBkYXRhIHByb3BlcnR5IG9uIGFuIEFycmF5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYXJyID0gW107DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBBcnJheS5wcm90b3R5cGVbMF0gPSBmYWxzZTsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnIsICIwIiwgew0KICAgICAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsNCiAgICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgIHJldHVybiAwID09PSBhcnIubGFzdEluZGV4T2YodHJ1ZSk7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgQXJyYXkucHJvdG90eXBlWzBdOyANCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.lastIndexOf - element to be retrieved is own accessor property that overrides an inherited data property on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-b-i-11.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTUvMTUuNC40LjE1LTgtYi1pLTEyLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mIC0gZWxlbWVudCB0byBiZSByZXRyaWV2ZWQgaXMgb3duIGFjY2Vzc29yIHByb3BlcnR5IHRoYXQgb3ZlcnJpZGVzIGFuIGluaGVyaXRlZCBkYXRhIHByb3BlcnR5IG9uIGFuIEFycmF5LWxpa2Ugb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHsgbGVuZ3RoOiAxIH07DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5wcm90b3R5cGVbMF0gPSBmYWxzZTsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICIwIiwgew0KICAgICAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsNCiAgICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgIHJldHVybiAwID09PSBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YuY2FsbChvYmosIHRydWUpOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIE9iamVjdC5wcm90b3R5cGVbMF07DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.lastIndexOf - element to be retrieved is own accessor property that overrides an inherited data property on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-b-i-12.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTUvMTUuNC40LjE1LTgtYi1pLTEzLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mIC0gZWxlbWVudCB0byBiZSByZXRyaWV2ZWQgaXMgb3duIGFjY2Vzc29yIHByb3BlcnR5IHRoYXQgb3ZlcnJpZGVzIGFuIGluaGVyaXRlZCBhY2Nlc3NvciBwcm9wZXJ0eSBvbiBhbiBBcnJheQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFyciA9IFtdOw0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KEFycmF5LnByb3RvdHlwZSwgIjAiLCB7DQogICAgICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnIsICIwIiwgew0KICAgICAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsNCiAgICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgIHJldHVybiAwID09PSBhcnIubGFzdEluZGV4T2YodHJ1ZSk7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgQXJyYXkucHJvdG90eXBlWzBdOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.lastIndexOf - element to be retrieved is own accessor property that overrides an inherited accessor property on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-b-i-13.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTUvMTUuNC40LjE1LTgtYi1pLTE0LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mIC0gZWxlbWVudCB0byBiZSByZXRyaWV2ZWQgaXMgb3duIGFjY2Vzc29yIHByb3BlcnR5IHRoYXQgb3ZlcnJpZGVzIGFuIGluaGVyaXRlZCBhY2Nlc3NvciBwcm9wZXJ0eSBvbiBhbiBBcnJheS1saWtlIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgbGVuZ3RoOiAxIH07DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShPYmplY3QucHJvdG90eXBlLCAiMCIsIHsNCiAgICAgICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgIjAiLCB7DQogICAgICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgIHJldHVybiB0cnVlOw0KICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgcmV0dXJuIDAgPT09IEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZi5jYWxsKG9iaiwgdHJ1ZSk7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgT2JqZWN0LnByb3RvdHlwZVswXTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.lastIndexOf - element to be retrieved is own accessor property that overrides an inherited accessor property on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-b-i-14.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTUvMTUuNC40LjE1LTgtYi1pLTE1LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mIC0gZWxlbWVudCB0byBiZSByZXRyaWV2ZWQgaXMgaW5oZXJpdGVkIGFjY2Vzc29yIHByb3BlcnR5IG9uIGFuIEFycmF5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShBcnJheS5wcm90b3R5cGUsICIwIiwgew0KICAgICAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gMTA7DQogICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoQXJyYXkucHJvdG90eXBlLCAiMSIsIHsNCiAgICAgICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDIwOw0KICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KEFycmF5LnByb3RvdHlwZSwgIjIiLCB7DQogICAgICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgIHJldHVybiAzMDsNCiAgICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgIHJldHVybiAwID09PSBbLCAsICwgXS5sYXN0SW5kZXhPZigxMCkgJiYNCiAgICAgICAgICAgICAgICAxID09PSBbLCAsICwgXS5sYXN0SW5kZXhPZigyMCkgJiYNCiAgICAgICAgICAgICAgICAyID09PSBbLCAsICwgXS5sYXN0SW5kZXhPZigzMCk7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgQXJyYXkucHJvdG90eXBlWzBdOw0KICAgICAgICAgICAgZGVsZXRlIEFycmF5LnByb3RvdHlwZVsxXTsNCiAgICAgICAgICAgIGRlbGV0ZSBBcnJheS5wcm90b3R5cGVbMl07DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.lastIndexOf - element to be retrieved is inherited accessor property on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-b-i-15.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTUvMTUuNC40LjE1LTgtYi1pLTE2LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mIC0gZWxlbWVudCB0byBiZSByZXRyaWV2ZWQgaXMgaW5oZXJpdGVkIGFjY2Vzc29yIHByb3BlcnR5IG9uIGFuIEFycmF5LWxpa2Ugb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KE9iamVjdC5wcm90b3R5cGUsICIwIiwgew0KICAgICAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gMTA7DQogICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoT2JqZWN0LnByb3RvdHlwZSwgIjEiLCB7DQogICAgICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgIHJldHVybiAyMDsNCiAgICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShPYmplY3QucHJvdG90eXBlLCAiMiIsIHsNCiAgICAgICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDMwOw0KICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgcmV0dXJuIDAgPT09IEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZi5jYWxsKHsgbGVuZ3RoOiAzIH0sIDEwKSAmJg0KICAgICAgICAgICAgICAgIDEgPT09IEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZi5jYWxsKHsgbGVuZ3RoOiAzIH0sIDIwKSAmJg0KICAgICAgICAgICAgICAgIDIgPT09IEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZi5jYWxsKHsgbGVuZ3RoOiAzIH0sIDMwKTsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBPYmplY3QucHJvdG90eXBlWzBdOw0KICAgICAgICAgICAgZGVsZXRlIE9iamVjdC5wcm90b3R5cGVbMV07DQogICAgICAgICAgICBkZWxldGUgT2JqZWN0LnByb3RvdHlwZVsyXTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.lastIndexOf - element to be retrieved is inherited accessor property on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-b-i-16.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTUvMTUuNC40LjE1LTgtYi1pLTE3LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mIC0gZWxlbWVudCB0byBiZSByZXRyaWV2ZWQgaXMgb3duIGFjY2Vzc29yIHByb3BlcnR5IHdpdGhvdXQgYSBnZXQgZnVuY3Rpb24gb24gYW4gQXJyYXkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhcnIgPSBbXTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgIjAiLCB7DQogICAgICAgICAgICBzZXQ6IGZ1bmN0aW9uICgpIHsgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICByZXR1cm4gYXJyLmxhc3RJbmRleE9mKHVuZGVmaW5lZCkgPT09IDA7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.lastIndexOf - element to be retrieved is own accessor property without a get function on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-b-i-17.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTUvMTUuNC40LjE1LTgtYi1pLTE4LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mIC0gZWxlbWVudCB0byBiZSByZXRyaWV2ZWQgaXMgb3duIGFjY2Vzc29yIHByb3BlcnR5IHdpdGhvdXQgYSBnZXQgZnVuY3Rpb24gb24gYW4gQXJyYXktbGlrZSBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7IGxlbmd0aDogMSB9Ow0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiMCIsIHsNCiAgICAgICAgICAgIHNldDogZnVuY3Rpb24gKCkgeyB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHJldHVybiAwID09PSBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YuY2FsbChvYmosIHVuZGVmaW5lZCk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.lastIndexOf - element to be retrieved is own accessor property without a get function on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-b-i-18.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTUvMTUuNC40LjE1LTgtYi1pLTE5LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mIC0gZWxlbWVudCB0byBiZSByZXRyaWV2ZWQgaXMgb3duIGFjY2Vzc29yIHByb3BlcnR5IHdpdGhvdXQgYSBnZXQgZnVuY3Rpb24gdGhhdCBvdmVycmlkZXMgYW4gaW5oZXJpdGVkIGFjY2Vzc29yIHByb3BlcnR5IG9uIGFuIEFycmF5LWxpa2Ugb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0geyBsZW5ndGg6IDEgfTsNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShPYmplY3QucHJvdG90eXBlLCAiMCIsIHsNCiAgICAgICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDIwOw0KICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICIwIiwgew0KICAgICAgICAgICAgICAgIHNldDogZnVuY3Rpb24gKCkgeyB9LA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgIHJldHVybiBvYmouaGFzT3duUHJvcGVydHkoMCkgJiYgMCA9PT0gQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mLmNhbGwob2JqLCB1bmRlZmluZWQpOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIE9iamVjdC5wcm90b3R5cGVbMF07DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.lastIndexOf - element to be retrieved is own accessor property without a get function that overrides an inherited accessor property on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-b-i-19.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTUvMTUuNC40LjE1LTgtYi1pLTIuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YgLSBlbGVtZW50IHRvIGJlIHJldHJpZXZlZCBpcyBvd24gZGF0YSBwcm9wZXJ0eSBvbiBhbiBBcnJheQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHJldHVybiBbdHJ1ZSwgdHJ1ZSwgdHJ1ZV0ubGFzdEluZGV4T2YodHJ1ZSkgPT09IDIgJiYNCiAgICAgICAgICAgIFt0cnVlLCB0cnVlLCBmYWxzZV0ubGFzdEluZGV4T2YodHJ1ZSkgPT09IDEgJiYNCiAgICAgICAgICAgIFt0cnVlLCBmYWxzZSwgZmFsc2VdLmxhc3RJbmRleE9mKHRydWUpID09PSAwOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.lastIndexOf - element to be retrieved is own data property on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-b-i-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTUvMTUuNC40LjE1LTgtYi1pLTIwLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mIC0gZWxlbWVudCB0byBiZSByZXRyaWV2ZWQgaXMgYW4gb3duIGFjY2Vzc29yIHByb3BlcnR5IHdpdGhvdXQgYSBnZXQgZnVuY3Rpb24gdGhhdCBvdmVycmlkZXMgYW4gaW5oZXJpdGVkIGFjY2Vzc29yIHByb3BlcnR5IG9uIGFuIEFycmF5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYXJyID0gWywgMV07DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoQXJyYXkucHJvdG90eXBlLCAiMCIsIHsNCiAgICAgICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDEwMDsNCiAgICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyLCAiMCIsIHsNCiAgICAgICAgICAgICAgICBzZXQ6IGZ1bmN0aW9uICgpIHsgfSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICByZXR1cm4gYXJyLmhhc093blByb3BlcnR5KDApICYmIGFyci5sYXN0SW5kZXhPZih1bmRlZmluZWQpID09PSAwOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIEFycmF5LnByb3RvdHlwZVswXTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.lastIndexOf - element to be retrieved is an own accessor property without a get function that overrides an inherited accessor property on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-b-i-20.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTUvMTUuNC40LjE1LTgtYi1pLTIxLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mIC0gZWxlbWVudCB0byBiZSByZXRyaWV2ZWQgaXMgaW5oZXJpdGVkIGFjY2Vzc29yIHByb3BlcnR5IHdpdGhvdXQgYSBnZXQgZnVuY3Rpb24gb24gYW4gQXJyYXkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KEFycmF5LnByb3RvdHlwZSwgIjAiLCB7DQogICAgICAgICAgICAgICAgc2V0OiBmdW5jdGlvbiAoKSB7IH0sDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIHJldHVybiBbLCBdLmxhc3RJbmRleE9mKHVuZGVmaW5lZCkgPT09IDA7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgQXJyYXkucHJvdG90eXBlWzBdOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.lastIndexOf - element to be retrieved is inherited accessor property without a get function on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-b-i-21.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTUvMTUuNC40LjE1LTgtYi1pLTIyLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mIC0gZWxlbWVudCB0byBiZSByZXRyaWV2ZWQgaXMgaW5oZXJpdGVkIGFjY2Vzc29yIHByb3BlcnR5IHdpdGhvdXQgYSBnZXQgZnVuY3Rpb24gb24gYW4gQXJyYXktbGlrZSBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoT2JqZWN0LnByb3RvdHlwZSwgIjAiLCB7DQogICAgICAgICAgICAgICAgc2V0OiBmdW5jdGlvbiAoKSB7IH0sDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIHJldHVybiAwID09PSBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YuY2FsbCh7IGxlbmd0aDogMSB9LCB1bmRlZmluZWQpOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIE9iamVjdC5wcm90b3R5cGVbMF07DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.lastIndexOf - element to be retrieved is inherited accessor property without a get function on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-b-i-22.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTUvMTUuNC40LjE1LTgtYi1pLTIzLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mIC0gVGhpcyBvYmplY3QgaXMgdGhlIGdsb2JhbCBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciB0YXJnZXRPYmogPSB7fTsNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIHZhciBvbGRMZW4gPSBmbkdsb2JhbE9iamVjdCgpLmxlbmd0aDsNCiAgICAgICAgICAgIGZuR2xvYmFsT2JqZWN0KClbMF0gPSB0YXJnZXRPYmo7DQogICAgICAgICAgICBmbkdsb2JhbE9iamVjdCgpWzEwMF0gPSAiMTAwIjsNCiAgICAgICAgICAgIGZuR2xvYmFsT2JqZWN0KClbMjAwXSA9ICIyMDAiOw0KICAgICAgICAgICAgZm5HbG9iYWxPYmplY3QoKS5sZW5ndGggPSAyMDA7DQogICAgICAgICAgICByZXR1cm4gMCA9PT0gQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mLmNhbGwoZm5HbG9iYWxPYmplY3QoKSwgdGFyZ2V0T2JqKSAmJg0KICAgICAgICAgICAgICAgIDEwMCA9PT0gQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mLmNhbGwoZm5HbG9iYWxPYmplY3QoKSwgIjEwMCIpICYmDQogICAgICAgICAgICAgICAgLTEgPT09IEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZi5jYWxsKGZuR2xvYmFsT2JqZWN0KCksICIyMDAiKTsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBmbkdsb2JhbE9iamVjdCgpWzBdOw0KICAgICAgICAgICAgZGVsZXRlIGZuR2xvYmFsT2JqZWN0KClbMTAwXTsNCiAgICAgICAgICAgIGRlbGV0ZSBmbkdsb2JhbE9iamVjdCgpWzIwMF07DQogICAgICAgICAgICBmbkdsb2JhbE9iamVjdCgpLmxlbmd0aCA9IG9sZExlbjsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.lastIndexOf - This object is the global object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-b-i-23.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTUvMTUuNC40LjE1LTgtYi1pLTI1LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mIGFwcGxpZWQgdG8gQXJndW1lbnRzIG9iamVjdCB3aGljaCBpbXBsZW1lbnRzIGl0cyBvd24gcHJvcGVydHkgZ2V0IG1ldGhvZCAobnVtYmVyIG9mIGFyZ3VtZW50cyBpcyBsZXNzIHRoYW4gbnVtYmVyIG9mIHBhcmFtZXRlcnMpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgZnVuYyA9IGZ1bmN0aW9uIChhLCBiKSB7DQogICAgICAgICAgICByZXR1cm4gMCA9PT0gQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mLmNhbGwoYXJndW1lbnRzLCBhcmd1bWVudHNbMF0pICYmDQogICAgICAgICAgICAgICAgLTEgPT09IEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZi5jYWxsKGFyZ3VtZW50cywgYXJndW1lbnRzWzFdKTsNCiAgICAgICAgfTsNCg0KICAgICAgICByZXR1cm4gZnVuYyh0cnVlKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.lastIndexOf applied to Arguments object which implements its own property get method (number of arguments is less than number of parameters)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-b-i-25.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTUvMTUuNC40LjE1LTgtYi1pLTI2LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mIGFwcGxpZWQgdG8gQXJndW1lbnRzIG9iamVjdCB3aGljaCBpbXBsZW1lbnRzIGl0cyBvd24gcHJvcGVydHkgZ2V0IG1ldGhvZCAobnVtYmVyIG9mIGFyZ3VtZW50cyBlcXVhbHMgdG8gbnVtYmVyIG9mIHBhcmFtZXRlcnMpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgZnVuYyA9IGZ1bmN0aW9uIChhLCBiKSB7DQogICAgICAgICAgICByZXR1cm4gMCA9PT0gQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mLmNhbGwoYXJndW1lbnRzLCBhcmd1bWVudHNbMF0pICYmDQogICAgICAgICAgICAgICAgMSA9PT0gQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mLmNhbGwoYXJndW1lbnRzLCBhcmd1bWVudHNbMV0pICYmDQogICAgICAgICAgICAgICAgLTEgPT09IEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZi5jYWxsKGFyZ3VtZW50cywgYXJndW1lbnRzWzJdKTsNCiAgICAgICAgfTsNCg0KICAgICAgICByZXR1cm4gZnVuYygwLCB0cnVlKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.lastIndexOf applied to Arguments object which implements its own property get method (number of arguments equals to number of parameters)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-b-i-26.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTUvMTUuNC40LjE1LTgtYi1pLTI3LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mIGFwcGxpZWQgdG8gQXJndW1lbnRzIG9iamVjdCB3aGljaCBpbXBsZW1lbnRzIGl0cyBvd24gcHJvcGVydHkgZ2V0IG1ldGhvZCAobnVtYmVyIG9mIGFyZ3VtZW50cyBpcyBncmVhdGVyIHRoYW4gbnVtYmVyIG9mIHBhcmFtZXRlcnMpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgZnVuYyA9IGZ1bmN0aW9uIChhLCBiKSB7DQogICAgICAgICAgICByZXR1cm4gMiA9PT0gQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mLmNhbGwoYXJndW1lbnRzLCBhcmd1bWVudHNbMF0pICYmDQogICAgICAgICAgICAgICAgMyA9PT0gQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mLmNhbGwoYXJndW1lbnRzLCBhcmd1bWVudHNbM10pICYmDQogICAgICAgICAgICAgICAgLTEgPT09IEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZi5jYWxsKGFyZ3VtZW50cywgYXJndW1lbnRzWzRdKTsNCiAgICAgICAgfTsNCg0KICAgICAgICByZXR1cm4gZnVuYygwLCBhcmd1bWVudHMsIDAsIE9iamVjdC5wcm90b3R5cGUpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.lastIndexOf applied to Arguments object which implements its own property get method (number of arguments is greater than number of parameters)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-b-i-27.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTUvMTUuNC40LjE1LTgtYi1pLTI4LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mIC0gc2lkZS1lZmZlY3RzIGFyZSB2aXNpYmxlIGluIHN1YnNlcXVlbnQgaXRlcmF0aW9ucyBvbiBhbiBBcnJheQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHByZUl0ZXJWaXNpYmxlID0gZmFsc2U7DQogICAgICAgIHZhciBhcnIgPSBbXTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyLCAiMiIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHByZUl0ZXJWaXNpYmxlID0gdHJ1ZTsNCiAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnIsICIxIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgaWYgKHByZUl0ZXJWaXNpYmxlKSB7DQogICAgICAgICAgICAgICAgICAgIHJldHVybiB0cnVlOw0KICAgICAgICAgICAgICAgIH0gZWxzZSB7DQogICAgICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHJldHVybiBhcnIubGFzdEluZGV4T2YodHJ1ZSkgPT09IDE7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.lastIndexOf - side-effects are visible in subsequent iterations on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-b-i-28.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTUvMTUuNC40LjE1LTgtYi1pLTI5LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mIC0gc2lkZS1lZmZlY3RzIGFyZSB2aXNpYmxlIGluIHN1YnNlcXVlbnQgaXRlcmF0aW9ucyBvbiBhbiBBcnJheS1saWtlIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHByZUl0ZXJWaXNpYmxlID0gZmFsc2U7DQogICAgICAgIHZhciBvYmogPSB7IGxlbmd0aDogMyB9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICIyIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcHJlSXRlclZpc2libGUgPSB0cnVlOw0KICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgIjEiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICBpZiAocHJlSXRlclZpc2libGUpIHsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7DQogICAgICAgICAgICAgICAgfSBlbHNlIHsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZi5jYWxsKG9iaiwgdHJ1ZSkgPT09IDE7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.lastIndexOf - side-effects are visible in subsequent iterations on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-b-i-29.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTUvMTUuNC40LjE1LTgtYi1pLTMuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YgLSBlbGVtZW50IHRvIGJlIHJldHJpZXZlZCBpcyBvd24gZGF0YSBwcm9wZXJ0eSB0aGF0IG92ZXJyaWRlcyBhbiBpbmhlcml0ZWQgZGF0YSBwcm9wZXJ0eSBvbiBhbiBBcnJheQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBBcnJheS5wcm90b3R5cGVbMF0gPSBPYmplY3Q7DQogICAgICAgICAgICByZXR1cm4gW09iamVjdC5wcm90b3R5cGVdLmxhc3RJbmRleE9mKE9iamVjdC5wcm90b3R5cGUpID09PSAwOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIEFycmF5LnByb3RvdHlwZVswXTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.lastIndexOf - element to be retrieved is own data property that overrides an inherited data property on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-b-i-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTUvMTUuNC40LjE1LTgtYi1pLTMwLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mIHRlcm1pbmF0ZXMgaXRlcmF0aW9uIG9uIHVuaGFuZGxlZCBleGNlcHRpb24gb24gYW4gQXJyYXkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KICAgICAgICB2YXIgYXJyID0gW107DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgIjIiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICB0aHJvdyBuZXcgVHlwZUVycm9yKCk7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnIsICIxIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgICAgIHJldHVybiB0cnVlOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgYXJyLmxhc3RJbmRleE9mKHRydWUpOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpICYmICFhY2Nlc3NlZDsNCiAgICAgICAgfQ0KDQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.lastIndexOf terminates iteration on unhandled exception on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-b-i-30.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTUvMTUuNC40LjE1LTgtYi1pLTMxLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mIHRlcm1pbmF0ZXMgaXRlcmF0aW9uIG9uIHVuaGFuZGxlZCBleGNlcHRpb24gb24gYW4gQXJyYXktbGlrZSBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KICAgICAgICB2YXIgb2JqID0geyBsZW5ndGg6IDMgfTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiMiIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHRocm93IG5ldyBUeXBlRXJyb3IoKTsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgIjEiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YuY2FsbChvYmosIHRydWUpOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpICYmICFhY2Nlc3NlZDsNCiAgICAgICAgfQ0KDQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.lastIndexOf terminates iteration on unhandled exception on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-b-i-31.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTUvMTUuNC40LjE1LTgtYi1pLTQuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YgLSBlbGVtZW50IHRvIGJlIHJldHJpZXZlZCBpcyBvd24gZGF0YSBwcm9wZXJ0eSB0aGF0IG92ZXJyaWRlcyBhbiBpbmhlcml0ZWQgZGF0YSBwcm9wZXJ0eSBvbiBhbiBBcnJheS1saWtlIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5wcm90b3R5cGVbMF0gPSBmYWxzZTsNCiAgICAgICAgICAgIHJldHVybiAwID09PSBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YuY2FsbCh7IDA6IHRydWUsIDE6IDEsIGxlbmd0aDogMiB9LCB0cnVlKTsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBPYmplY3QucHJvdG90eXBlWzBdOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.lastIndexOf - element to be retrieved is own data property that overrides an inherited data property on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-b-i-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTUvMTUuNC40LjE1LTgtYi1pLTUuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YgLSBlbGVtZW50IHRvIGJlIHJldHJpZXZlZCBpcyBvd24gZGF0YSBwcm9wZXJ0eSB0aGF0IG92ZXJyaWRlcyBhbiBpbmhlcml0ZWQgYWNjZXNzb3IgcHJvcGVydHkgb24gYW4gQXJyYXkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KEFycmF5LnByb3RvdHlwZSwgIjAiLCB7DQogICAgICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICByZXR1cm4gMCA9PT0gW051bWJlcl0ubGFzdEluZGV4T2YoTnVtYmVyKTsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBBcnJheS5wcm90b3R5cGVbMF07DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.lastIndexOf - element to be retrieved is own data property that overrides an inherited accessor property on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-b-i-5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTUvMTUuNC40LjE1LTgtYi1pLTYuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YgLSBlbGVtZW50IHRvIGJlIHJldHJpZXZlZCBpcyBvd24gZGF0YSBwcm9wZXJ0eSB0aGF0IG92ZXJyaWRlcyBhbiBpbmhlcml0ZWQgYWNjZXNzb3IgcHJvcGVydHkgb24gYW4gQXJyYXktbGlrZSBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoT2JqZWN0LnByb3RvdHlwZSwgIjAiLCB7DQogICAgICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICByZXR1cm4gMCA9PT0gQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mLmNhbGwoeyAwOiB0cnVlLCAxOiAxLCBsZW5ndGg6IDIgfSwgdHJ1ZSk7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgT2JqZWN0LnByb3RvdHlwZVswXTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.lastIndexOf - element to be retrieved is own data property that overrides an inherited accessor property on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-b-i-6.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTUvMTUuNC40LjE1LTgtYi1pLTcuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YgLSBlbGVtZW50IHRvIGJlIHJldHJpZXZlZCBpcyBpbmhlcml0ZWQgZGF0YSBwcm9wZXJ0eSBvbiBhbiBBcnJheQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIEFycmF5LnByb3RvdHlwZVswXSA9IHRydWU7DQogICAgICAgICAgICBBcnJheS5wcm90b3R5cGVbMV0gPSBmYWxzZTsNCiAgICAgICAgICAgIEFycmF5LnByb3RvdHlwZVsyXSA9ICJ0cnVlIjsNCiAgICAgICAgICAgIHJldHVybiAwID09PSBbLCAsICwgXS5sYXN0SW5kZXhPZih0cnVlKSAmJg0KICAgICAgICAgICAgICAgIDEgPT09IFssICwgLCBdLmxhc3RJbmRleE9mKGZhbHNlKSAmJg0KICAgICAgICAgICAgICAgIDIgPT09IFssICwgLCBdLmxhc3RJbmRleE9mKCJ0cnVlIik7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgQXJyYXkucHJvdG90eXBlWzBdOw0KICAgICAgICAgICAgZGVsZXRlIEFycmF5LnByb3RvdHlwZVsxXTsNCiAgICAgICAgICAgIGRlbGV0ZSBBcnJheS5wcm90b3R5cGVbMl07DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.lastIndexOf - element to be retrieved is inherited data property on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-b-i-7.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTUvMTUuNC40LjE1LTgtYi1pLTguanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YgLSBlbGVtZW50IHRvIGJlIHJldHJpZXZlZCBpcyBpbmhlcml0ZWQgZGF0YSBwcm9wZXJ0eSBvbiBhbiBBcnJheS1saWtlIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5wcm90b3R5cGVbMF0gPSB0cnVlOw0KICAgICAgICAgICAgT2JqZWN0LnByb3RvdHlwZVsxXSA9IGZhbHNlOw0KICAgICAgICAgICAgT2JqZWN0LnByb3RvdHlwZVsyXSA9ICJ0cnVlIjsNCiAgICAgICAgICAgIHJldHVybiAwID09PSBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YuY2FsbCh7IGxlbmd0aDogMyB9LCB0cnVlKSAmJg0KICAgICAgICAgICAgICAgIDEgPT09IEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZi5jYWxsKHsgbGVuZ3RoOiAzIH0sIGZhbHNlKSAmJg0KICAgICAgICAgICAgICAgIDIgPT09IEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZi5jYWxsKHsgbGVuZ3RoOiAzIH0sICJ0cnVlIik7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgT2JqZWN0LnByb3RvdHlwZVswXTsNCiAgICAgICAgICAgIGRlbGV0ZSBPYmplY3QucHJvdG90eXBlWzFdOw0KICAgICAgICAgICAgZGVsZXRlIE9iamVjdC5wcm90b3R5cGVbMl07DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.lastIndexOf - element to be retrieved is inherited data property on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-b-i-8.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTUvMTUuNC40LjE1LTgtYi1pLTkuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YgLSBlbGVtZW50IHRvIGJlIHJldHJpZXZlZCBpcyBvd24gYWNjZXNzb3IgcHJvcGVydHkgb24gYW4gQXJyYXkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhcnIgPSBbLCAsICwgXTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgIjAiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gMDsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgIjEiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gMTsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgIjIiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gMjsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgcmV0dXJuIGFyci5sYXN0SW5kZXhPZigwKSA9PT0gMCAmJiBhcnIubGFzdEluZGV4T2YoMSkgPT09IDEgJiYgYXJyLmxhc3RJbmRleE9mKDIpID09PSAyOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.lastIndexOf - element to be retrieved is own accessor property on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-b-i-9.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTUvMTUuNC40LjE1LTgtYi1paS0xLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mIC0gdHlwZSBvZiBhcnJheSBlbGVtZW50IGlzIGRpZmZlcmVudCBmcm9tIHR5cGUgb2Ygc2VhcmNoIGVsZW1lbnQNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHJldHVybiBbInRydWUiXS5sYXN0SW5kZXhPZih0cnVlKSA9PT0gLTEgJiYNCiAgICAgICAgICAgIFsiMCJdLmxhc3RJbmRleE9mKDApID09PSAtMSAmJg0KICAgICAgICAgICAgW2ZhbHNlXS5sYXN0SW5kZXhPZigwKSA9PT0gLTEgJiYNCiAgICAgICAgICAgIFt1bmRlZmluZWRdLmxhc3RJbmRleE9mKDApID09PSAtMSAmJg0KICAgICAgICAgICAgW251bGxdLmxhc3RJbmRleE9mKDApID09PSAtMSAmJg0KICAgICAgICAgICAgW1tdXS5sYXN0SW5kZXhPZigwKSA9PT0gLTE7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.lastIndexOf - type of array element is different from type of search element","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-b-ii-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTUvMTUuNC40LjE1LTgtYi1paS0xMC5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZiAtIGJvdGggYXJyYXkgZWxlbWVudCBhbmQgc2VhcmNoIGVsZW1lbnQgYXJlIGJvb2xlYW5zLCBhbmQgdGhleSBoYXZlIHNhbWUgdmFsdWUNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHJldHVybiBbZmFsc2UsIHRydWVdLmxhc3RJbmRleE9mKHRydWUpID09PSAxOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.lastIndexOf - both array element and search element are booleans, and they have same value","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-b-ii-10.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTUvMTUuNC40LjE1LTgtYi1paS0xMS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZiAtIGJvdGggYXJyYXkgZWxlbWVudCBhbmQgc2VhcmNoIGVsZW1lbnQgYXJlIE9iamVjdHMsIGFuZCB0aGV5IHJlZmVyIHRvIHRoZSBzYW1lIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iajEgPSB7fTsNCiAgICAgICAgdmFyIG9iajIgPSB7fTsNCiAgICAgICAgdmFyIG9iajMgPSBvYmoyOw0KICAgICAgICByZXR1cm4gW29iajIsIG9iajFdLmxhc3RJbmRleE9mKG9iajMpID09PSAwOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.lastIndexOf - both array element and search element are Objects, and they refer to the same object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-b-ii-11.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTUvMTUuNC40LjE1LTgtYi1paS0yLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mIC0gYm90aCB0eXBlIG9mIGFycmF5IGVsZW1lbnQgYW5kIHR5cGUgb2Ygc2VhcmNoIGVsZW1lbnQgYXJlIFVuZGVmaW5lZA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgcmV0dXJuIFt1bmRlZmluZWRdLmxhc3RJbmRleE9mKCkgPT09IDAgJiYgW3VuZGVmaW5lZF0ubGFzdEluZGV4T2YodW5kZWZpbmVkKSA9PT0gMDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.lastIndexOf - both type of array element and type of search element are Undefined","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-b-ii-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTUvMTUuNC40LjE1LTgtYi1paS0zLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mIC0gYm90aCB0eXBlIG9mIGFycmF5IGVsZW1lbnQgYW5kIHR5cGUgb2Ygc2VhcmNoIGVsZW1lbnQgYXJlIE51bGwNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHJldHVybiBbbnVsbF0ubGFzdEluZGV4T2YobnVsbCkgPT09IDA7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.lastIndexOf - both type of array element and type of search element are Null","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-b-ii-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTUvMTUuNC40LjE1LTgtYi1paS00LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mIC0gc2VhcmNoIGVsZW1lbnQgaXMgTmFODQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICByZXR1cm4gWytOYU4sIE5hTiwgLU5hTl0ubGFzdEluZGV4T2YoTmFOKSA9PT0gLTE7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.lastIndexOf - search element is NaN","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-b-ii-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTUvMTUuNC40LjE1LTgtYi1paS01LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mIC0gc2VhcmNoIGVsZW1lbnQgaXMgLU5hTg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHJldHVybiBbK05hTiwgTmFOLCAtTmFOXS5sYXN0SW5kZXhPZigtTmFOKSA9PT0gLTE7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.lastIndexOf - search element is -NaN","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-b-ii-5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTUvMTUuNC40LjE1LTgtYi1paS02LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mIC0gYXJyYXkgZWxlbWVudCBpcyArMCBhbmQgc2VhcmNoIGVsZW1lbnQgaXMgLTANCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHJldHVybiBbKzBdLmxhc3RJbmRleE9mKC0wKSA9PT0gMDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.lastIndexOf - array element is +0 and search element is -0","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-b-ii-6.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTUvMTUuNC40LjE1LTgtYi1paS03LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mIC0gYXJyYXkgZWxlbWVudCBpcyAtMCBhbmQgc2VhcmNoIGVsZW1lbnQgaXMgKzANCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHJldHVybiBbLTBdLmxhc3RJbmRleE9mKCswKSA9PT0gMDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.lastIndexOf - array element is -0 and search element is +0","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-b-ii-7.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTUvMTUuNC40LjE1LTgtYi1paS04LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mIC0gYm90aCBhcnJheSBlbGVtZW50IGFuZCBzZWFyY2ggZWxlbWVudCBhcmUgbnVtYmVycywgYW5kIHRoZXkgaGF2ZSBzYW1lIHZhbHVlDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICByZXR1cm4gWy0xLCAwLCAxXS5sYXN0SW5kZXhPZigtMSkgPT09IDA7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.lastIndexOf - both array element and search element are numbers, and they have same value","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-b-ii-8.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTUvMTUuNC40LjE1LTgtYi1paS05LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mIC0gYm90aCBhcnJheSBlbGVtZW50IGFuZCBzZWFyY2ggZWxlbWVudCBhcmUgc3RyaW5ncywgYW5kIHRoZXkgaGF2ZSBleGFjdGx5IHRoZSBzYW1lIHNlcXVlbmNlIG9mIGNoYXJhY3RlcnMNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHJldHVybiBbImFiYyIsICJhYiIsICJiY2EiLCAiIl0ubGFzdEluZGV4T2YoImFiYyIpID09PSAwOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.lastIndexOf - both array element and search element are strings, and they have exactly the same sequence of characters","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-b-ii-9.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTUvMTUuNC40LjE1LTgtYi1paWktMS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZiByZXR1cm5zIGluZGV4IG9mIGxhc3Qgb25lIHdoZW4gbW9yZSB0aGFuIHR3byBlbGVtZW50cyBpbiBhcnJheSBhcmUgZWxpZ2libGUNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHJldHVybiBbMiwgMSwgMiwgMiwgMV0ubGFzdEluZGV4T2YoMikgPT09IDM7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.lastIndexOf returns index of last one when more than two elements in array are eligible","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-b-iii-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTUvMTUuNC40LjE1LTgtYi1paWktMi5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZiByZXR1cm5zIHdpdGhvdXQgdmlzaXRpbmcgc3Vic2VxdWVudCBlbGVtZW50IG9uY2Ugc2VhcmNoIHZhbHVlIGlzIGZvdW5kDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIGFyciA9IFsyLCAxLCAsIDEsIDJdOw0KICAgICAgICB2YXIgZWxlbWVudEZpcnN0QWNjZXNzZWQgPSBmYWxzZTsNCiAgICAgICAgdmFyIGVsZW1lbnRUaGlyZEFjY2Vzc2VkID0gZmFsc2U7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgIjIiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICBlbGVtZW50VGhpcmRBY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICAgICAgcmV0dXJuIDI7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyLCAiMCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIGVsZW1lbnRGaXJzdEFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgICAgICByZXR1cm4gMjsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgYXJyLmxhc3RJbmRleE9mKDIpOw0KICAgICAgICByZXR1cm4gIWVsZW1lbnRUaGlyZEFjY2Vzc2VkICYmICFlbGVtZW50Rmlyc3RBY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.lastIndexOf returns without visiting subsequent element once search value is found","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-8-b-iii-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTUvMTUuNC40LjE1LTktMS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZiByZXR1cm5zIC0xIGZvciBlbGVtZW50cyBub3QgcHJlc2VudA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBhID0gbmV3IEFycmF5KCk7DQogIGFbMTAwXSA9IDE7DQogIGFbOTk5OTldID0gIiI7ICANCiAgYVsxMF0gPSBuZXcgT2JqZWN0KCk7DQogIGFbNTU1NV0gPSA1LjU7DQogIGFbMTIzNDU2XSA9ICJzdHIiOw0KICBhWzVdID0gMUUrMzA5Ow0KICBpZiAoYS5sYXN0SW5kZXhPZigxKSAhPT0gMTAwIHx8DQogICAgICBhLmxhc3RJbmRleE9mKCIiKSAhPT0gOTk5OTkgfHwNCiAgICAgIGEubGFzdEluZGV4T2YoInN0ciIpICE9PSAxMjM0NTYgfHwNCiAgICAgIGEubGFzdEluZGV4T2YoNS41KSAhPT0gNTU1NSB8fA0KICAgICAgYS5sYXN0SW5kZXhPZigxRSszMDkpICE9PSA1ICkgICAgICANCiAgew0KICAgIHJldHVybiBmYWxzZTsNCiAgfSAgICANCiAgaWYgKGEubGFzdEluZGV4T2YodHJ1ZSkgPT09IC0xICYmIA0KICAgICAgYS5sYXN0SW5kZXhPZig1KSA9PT0gLTEgJiYNCiAgICAgIGEubGFzdEluZGV4T2YoInN0cjEiKSA9PT0gLTEgJiYNCiAgICAgIGEubGFzdEluZGV4T2YobnVsbCkgPT09IC0xICAmJg0KICAgICAgYS5sYXN0SW5kZXhPZihuZXcgT2JqZWN0KCkpID09PSAtMSApIA0KICB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.lastIndexOf returns -1 for elements not present","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-9-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTUvMTUuNC40LjE1LTktMi5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZiByZXR1cm5zIC0xIGlmICdsZW5ndGgnIGlzIDAgYW5kIGRvZXMgbm90IGFjY2VzcyBhbnkgb3RoZXIgcHJvcGVydGllcw0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KICB2YXIgZiA9IHtsZW5ndGg6IDB9Ow0KICBPYmplY3QuZGVmaW5lUHJvcGVydHkoZiwiMCIse2dldDogZnVuY3Rpb24gKCkge2FjY2Vzc2VkID0gdHJ1ZTsgcmV0dXJuIDE7fX0pOw0KICANCiAgdmFyIGkgPSBBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2YuY2FsbChmLDEpOw0KICANCiAgaWYgKGkgPT09IC0xICYmIGFjY2Vzc2VkPT1mYWxzZSkgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.lastIndexOf returns -1 if 'length' is 0 and does not access any other properties","path":"TestCases/ch15/15.4/15.4.4/15.4.4.15/15.4.4.15-9-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTYvMTUuNC40LjE2LTAtMS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5ldmVyeSBtdXN0IGV4aXN0IGFzIGEgZnVuY3Rpb24NCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgZiA9IEFycmF5LnByb3RvdHlwZS5ldmVyeTsNCiAgaWYgKHR5cGVvZihmKSA9PT0gImZ1bmN0aW9uIikgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.every must exist as a function","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-0-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTYvMTUuNC40LjE2LTAtMi5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5ldmVyeS5sZW5ndGggbXVzdCBiZSAxDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgaWYgKEFycmF5LnByb3RvdHlwZS5ldmVyeS5sZW5ndGggPT09IDEpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.every.length must be 1","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-0-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTYvMTUuNC40LjE2LTEtMS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5ldmVyeSBhcHBsaWVkIHRvIHVuZGVmaW5lZCB0aHJvd3MgYSBUeXBlRXJyb3INCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlLmV2ZXJ5LmNhbGwodW5kZWZpbmVkKTsgLy8gVHlwZUVycm9yIGlzIHRocm93biBpZiB2YWx1ZSBpcyB1bmRlZmluZWQNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIChlIGluc3RhbmNlb2YgVHlwZUVycm9yKTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.every applied to undefined throws a TypeError","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-1-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTYvMTUuNC40LjE2LTEtMTAuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZXZlcnkgYXBwbGllZCB0byB0aGUgTWF0aCBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiAoJ1tvYmplY3QgTWF0aF0nICE9PSBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwob2JqKSk7DQogICAgICAgIH0NCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgTWF0aC5sZW5ndGggPSAxOw0KICAgICAgICAgICAgTWF0aFswXSA9IDE7DQogICAgICAgICAgICByZXR1cm4gIUFycmF5LnByb3RvdHlwZS5ldmVyeS5jYWxsKE1hdGgsIGNhbGxiYWNrZm4pOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIE1hdGhbMF07DQogICAgICAgICAgICBkZWxldGUgTWF0aC5sZW5ndGg7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.every applied to the Math object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-1-10.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTYvMTUuNC40LjE2LTEtMTEuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZXZlcnkgYXBwbGllZCB0byBEYXRlIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuICEob2JqIGluc3RhbmNlb2YgRGF0ZSk7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0gbmV3IERhdGUoKTsNCiAgICAgICAgb2JqLmxlbmd0aCA9IDE7DQogICAgICAgIG9ialswXSA9IDE7DQoNCiAgICAgICAgcmV0dXJuICFBcnJheS5wcm90b3R5cGUuZXZlcnkuY2FsbChvYmosIGNhbGxiYWNrZm4pOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.every applied to Date object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-1-11.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTYvMTUuNC40LjE2LTEtMTIuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZXZlcnkgYXBwbGllZCB0byBSZWdFeHAgb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gIShvYmogaW5zdGFuY2VvZiBSZWdFeHApOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IG5ldyBSZWdFeHAoKTsNCiAgICAgICAgb2JqLmxlbmd0aCA9IDE7DQogICAgICAgIG9ialswXSA9IDE7DQoNCiAgICAgICAgcmV0dXJuICFBcnJheS5wcm90b3R5cGUuZXZlcnkuY2FsbChvYmosIGNhbGxiYWNrZm4pOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.every applied to RegExp object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-1-12.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTYvMTUuNC40LjE2LTEtMTMuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZXZlcnkgYXBwbGllZCB0byB0aGUgSlNPTiBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiAoJ1tvYmplY3QgSlNPTl0nICE9PSBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwob2JqKSk7DQogICAgICAgIH0NCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgSlNPTi5sZW5ndGggPSAxOw0KICAgICAgICAgICAgSlNPTlswXSA9IDE7DQogICAgICAgICAgICByZXR1cm4gIUFycmF5LnByb3RvdHlwZS5ldmVyeS5jYWxsKEpTT04sIGNhbGxiYWNrZm4pOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIEpTT04ubGVuZ3RoOw0KICAgICAgICAgICAgZGVsZXRlIEpTT05bMF07DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.every applied to the JSON object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-1-13.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTYvMTUuNC40LjE2LTEtMTQuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZXZlcnkgYXBwbGllZCB0byBFcnJvciBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiAhKG9iaiBpbnN0YW5jZW9mIEVycm9yKTsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSBuZXcgRXJyb3IoKTsNCiAgICAgICAgb2JqLmxlbmd0aCA9IDE7DQogICAgICAgIG9ialswXSA9IDE7DQoNCiAgICAgICAgcmV0dXJuICFBcnJheS5wcm90b3R5cGUuZXZlcnkuY2FsbChvYmosIGNhbGxiYWNrZm4pOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.every applied to Error object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-1-14.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTYvMTUuNC40LjE2LTEtMTUuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZXZlcnkgYXBwbGllZCB0byB0aGUgQXJndW1lbnRzIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuICgnW29iamVjdCBBcmd1bWVudHNdJyAhPT0gT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKG9iaikpOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IChmdW5jdGlvbiBmdW4oKSB7DQogICAgICAgICAgICByZXR1cm4gYXJndW1lbnRzOw0KICAgICAgICB9KCJhIiwgImIiKSk7DQoNCiAgICAgICAgcmV0dXJuICFBcnJheS5wcm90b3R5cGUuZXZlcnkuY2FsbChvYmosIGNhbGxiYWNrZm4pOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.every applied to the Arguments object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-1-15.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTYvMTUuNC40LjE2LTEtMi5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5ldmVyeSBhcHBsaWVkIHRvIG51bGwgdGhyb3dzIGEgVHlwZUVycm9yDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIEFycmF5LnByb3RvdHlwZS5ldmVyeS5jYWxsKG51bGwpOyAvLyBUeXBlRXJyb3IgaXMgdGhyb3duIGlmIHZhbHVlIGlzIG51bGwNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIChlIGluc3RhbmNlb2YgVHlwZUVycm9yKTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.every applied to null throws a TypeError","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-1-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTYvMTUuNC40LjE2LTEtMy5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5ldmVyeSBhcHBsaWVkIHRvIGJvb2xlYW4gcHJpbWl0aXZlDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIHJldHVybiBvYmogaW5zdGFuY2VvZiBCb29sZWFuOw0KICAgICAgICB9DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIEJvb2xlYW4ucHJvdG90eXBlWzBdID0gMTsNCiAgICAgICAgICAgIEJvb2xlYW4ucHJvdG90eXBlLmxlbmd0aCA9IDE7DQogICAgICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLmV2ZXJ5LmNhbGwoZmFsc2UsIGNhbGxiYWNrZm4pICYmIGFjY2Vzc2VkOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIEJvb2xlYW4ucHJvdG90eXBlWzBdOw0KICAgICAgICAgICAgZGVsZXRlIEJvb2xlYW4ucHJvdG90eXBlLmxlbmd0aDsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.every applied to boolean primitive","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-1-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTYvMTUuNC40LjE2LTEtNC5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5ldmVyeSBhcHBsaWVkIHRvIEJvb2xlYW4gb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgcmV0dXJuIG9iaiBpbnN0YW5jZW9mIEJvb2xlYW47DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0gbmV3IEJvb2xlYW4odHJ1ZSk7DQogICAgICAgIG9iai5sZW5ndGggPSAyOw0KICAgICAgICBvYmpbMF0gPSAxMTsNCiAgICAgICAgb2JqWzFdID0gMTI7DQogICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUuZXZlcnkuY2FsbChvYmosIGNhbGxiYWNrZm4pICYmIGFjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.every applied to Boolean object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-1-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTYvMTUuNC40LjE2LTEtNS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5ldmVyeSBhcHBsaWVkIHRvIG51bWJlciBwcmltaXRpdmUNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICByZXR1cm4gb2JqIGluc3RhbmNlb2YgTnVtYmVyOw0KICAgICAgICB9DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE51bWJlci5wcm90b3R5cGVbMF0gPSAxOw0KICAgICAgICAgICAgTnVtYmVyLnByb3RvdHlwZS5sZW5ndGggPSAxOw0KICAgICAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5ldmVyeS5jYWxsKDIuNSwgY2FsbGJhY2tmbikgJiYgYWNjZXNzZWQ7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgTnVtYmVyLnByb3RvdHlwZVswXTsNCiAgICAgICAgICAgIGRlbGV0ZSBOdW1iZXIucHJvdG90eXBlLmxlbmd0aDsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.every applied to number primitive","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-1-5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTYvMTUuNC40LjE2LTEtNi5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5ldmVyeSBhcHBsaWVkIHRvIE51bWJlciBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICByZXR1cm4gb2JqIGluc3RhbmNlb2YgTnVtYmVyOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IG5ldyBOdW1iZXIoLTEyOCk7DQogICAgICAgIG9iai5sZW5ndGggPSAyOw0KICAgICAgICBvYmpbMF0gPSAxMTsNCiAgICAgICAgb2JqWzFdID0gMTI7DQogICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUuZXZlcnkuY2FsbChvYmosIGNhbGxiYWNrZm4pICYmIGFjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.every applied to Number object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-1-6.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTYvMTUuNC40LjE2LTEtNy5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5ldmVyeSBhcHBsaWVkIHRvIHN0cmluZyBwcmltaXRpdmUNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiAhKG9iaiBpbnN0YW5jZW9mIFN0cmluZyk7DQogICAgICAgIH0NCg0KICAgICAgICByZXR1cm4gIUFycmF5LnByb3RvdHlwZS5ldmVyeS5jYWxsKCJoZWxsb1xud29ybGRcXCEiLCBjYWxsYmFja2ZuKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.every applied to string primitive","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-1-7.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTYvMTUuNC40LjE2LTEtOC5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5ldmVyeSBhcHBsaWVkIHRvIFN0cmluZyBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiAhKG9iaiBpbnN0YW5jZW9mIFN0cmluZyk7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0gbmV3IFN0cmluZygiaGVsbG9cbndvcmxkXFwhIik7DQoNCiAgICAgICAgcmV0dXJuICFBcnJheS5wcm90b3R5cGUuZXZlcnkuY2FsbChvYmosIGNhbGxiYWNrZm4pOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.every applied to String object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-1-8.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTYvMTUuNC40LjE2LTEtOS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5ldmVyeSBhcHBsaWVkIHRvIEZ1bmN0aW9uIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuICEob2JqIGluc3RhbmNlb2YgRnVuY3Rpb24pOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IGZ1bmN0aW9uIChhLCBiKSB7DQogICAgICAgICAgICByZXR1cm4gYSArIGI7DQogICAgICAgIH07DQogICAgICAgIG9ialswXSA9IDExOw0KICAgICAgICBvYmpbMV0gPSA5Ow0KDQogICAgICAgIHJldHVybiAhQXJyYXkucHJvdG90eXBlLmV2ZXJ5LmNhbGwob2JqLCBjYWxsYmFja2ZuKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.every applied to Function object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-1-9.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTYvMTUuNC40LjE2LTItMS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5ldmVyeSBhcHBsaWVkIHRvIEFycmF5LWxpa2Ugb2JqZWN0LCAnbGVuZ3RoJyBpcyBhbiBvd24gZGF0YSBwcm9wZXJ0eQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4xKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiB2YWwgPiAxMDsNCiAgICAgICAgfQ0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4yKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiB2YWwgPiAxMTsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSB7DQogICAgICAgICAgICAwOiAxMiwNCiAgICAgICAgICAgIDE6IDExLA0KICAgICAgICAgICAgMjogOSwNCiAgICAgICAgICAgIGxlbmd0aDogMg0KICAgICAgICB9Ow0KDQogICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUuZXZlcnkuY2FsbChvYmosIGNhbGxiYWNrZm4xKSAmJg0KICAgICAgICAgICAgIUFycmF5LnByb3RvdHlwZS5ldmVyeS5jYWxsKG9iaiwgY2FsbGJhY2tmbjIpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.every applied to Array-like object, 'length' is an own data property","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-2-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTYvMTUuNC40LjE2LTItMTAuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZXZlcnkgYXBwbGllZCB0byBBcnJheS1saWtlIG9iamVjdCwgJ2xlbmd0aCcgaXMgYW4gaW5oZXJpdGVkIGFjY2Vzc29yIHByb3BlcnR5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbjEodmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIHZhbCA+IDEwOw0KICAgICAgICB9DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbjIodmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIHZhbCA+IDExOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIHByb3RvID0geyB9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShwcm90bywgImxlbmd0aCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiAyOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgQ29uID0gZnVuY3Rpb24gKCkgeyB9Ow0KICAgICAgICBDb24ucHJvdG90eXBlID0gcHJvdG87DQoNCiAgICAgICAgdmFyIGNoaWxkID0gbmV3IENvbigpOw0KICAgICAgICBjaGlsZFswXSA9IDEyOw0KICAgICAgICBjaGlsZFsxXSA9IDExOw0KICAgICAgICBjaGlsZFsyXSA9IDk7DQoNCiAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5ldmVyeS5jYWxsKGNoaWxkLCBjYWxsYmFja2ZuMSkgJiYNCiAgICAgICAgICAgICFBcnJheS5wcm90b3R5cGUuZXZlcnkuY2FsbChjaGlsZCwgY2FsbGJhY2tmbjIpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.every applied to Array-like object, 'length' is an inherited accessor property","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-2-10.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTYvMTUuNC40LjE2LTItMTEuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZXZlcnkgYXBwbGllZCB0byBBcnJheS1saWtlIG9iamVjdCwgJ2xlbmd0aCcgaXMgYW4gb3duIGFjY2Vzc29yIHByb3BlcnR5IHdpdGhvdXQgYSBnZXQgZnVuY3Rpb24NCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgcmV0dXJuIHZhbCA+IDEwOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IHsNCiAgICAgICAgICAgIDA6IDksDQogICAgICAgICAgICAxOiA4DQogICAgICAgIH07DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJsZW5ndGgiLCB7DQogICAgICAgICAgICBzZXQ6IGZ1bmN0aW9uICgpIHsgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLmV2ZXJ5LmNhbGwob2JqLCBjYWxsYmFja2ZuKSAmJiAhYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.every applied to Array-like object, 'length' is an own accessor property without a get function","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-2-11.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTYvMTUuNC40LjE2LTItMTIuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZXZlcnkgLSAnbGVuZ3RoJyBpcyBvd24gYWNjZXNzb3IgcHJvcGVydHkgd2l0aG91dCBhIGdldCBmdW5jdGlvbiB0aGF0IG92ZXJyaWRlcyBhbiBpbmhlcml0ZWQgYWNjZXNzb3IgcHJvcGVydHkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIHJldHVybiB2YWwgPiAxMDsNCiAgICAgICAgfQ0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoT2JqZWN0LnByb3RvdHlwZSwgImxlbmd0aCIsIHsNCiAgICAgICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDI7DQogICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICB2YXIgb2JqID0geyAwOiA5LCAxOiA4IH07DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAibGVuZ3RoIiwgew0KICAgICAgICAgICAgICAgIHNldDogZnVuY3Rpb24gKCkgeyB9LA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUuZXZlcnkuY2FsbChvYmosIGNhbGxiYWNrZm4pICYmICFhY2Nlc3NlZDsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBPYmplY3QucHJvdG90eXBlLmxlbmd0aDsNCiAgICAgICAgfQ0KDQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.every - 'length' is own accessor property without a get function that overrides an inherited accessor property","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-2-12.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTYvMTUuNC40LjE2LTItMTMuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZXZlcnkgYXBwbGllZCB0byB0aGUgQXJyYXktbGlrZSBvYmplY3QgdGhhdCAnbGVuZ3RoJyBpcyBpbmhlcml0ZWQgYWNjZXNzb3IgcHJvcGVydHkgd2l0aG91dCBhIGdldCBmdW5jdGlvbg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICByZXR1cm4gdmFsID4gMTA7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgcHJvdG8gPSB7fTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHByb3RvLCAibGVuZ3RoIiwgew0KICAgICAgICAgICAgc2V0OiBmdW5jdGlvbiAoKSB7IH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIENvbiA9IGZ1bmN0aW9uICgpIHsgfTsNCiAgICAgICAgQ29uLnByb3RvdHlwZSA9IHByb3RvOw0KDQogICAgICAgIHZhciBjaGlsZCA9IG5ldyBDb24oKTsNCiAgICAgICAgY2hpbGRbMF0gPSA5Ow0KICAgICAgICBjaGlsZFsxXSA9IDg7DQoNCiAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5ldmVyeS5jYWxsKGNoaWxkLCBjYWxsYmFja2ZuKSAmJiAhYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.every applied to the Array-like object that 'length' is inherited accessor property without a get function","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-2-13.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTYvMTUuNC40LjE2LTItMTQuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZXZlcnkgYXBwbGllZCB0byB0aGUgQXJyYXktbGlrZSBvYmplY3QgdGhhdCAnbGVuZ3RoJyBwcm9wZXJ0eSBkb2Vzbid0IGV4aXN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIHJldHVybiB2YWwgPiAxMDsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSB7IDA6IDExLCAxOiAxMiB9Ow0KDQogICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUuZXZlcnkuY2FsbChvYmosIGNhbGxiYWNrZm4pICYmICFhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.every applied to the Array-like object that 'length' property doesn't exist","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-2-14.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTYvMTUuNC40LjE2LTItMTUuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZXZlcnkgLSAnbGVuZ3RoJyBpcyBwcm9wZXJ0eSBvZiB0aGUgZ2xvYmFsIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4xKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiB2YWwgPiAxMDsNCiAgICAgICAgfQ0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4yKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiB2YWwgPiAxMTsNCiAgICAgICAgfQ0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICB2YXIgb2xkTGVuID0gZm5HbG9iYWxPYmplY3QoKS5sZW5ndGg7DQogICAgICAgICAgICBmbkdsb2JhbE9iamVjdCgpWzBdID0gMTI7DQogICAgICAgICAgICBmbkdsb2JhbE9iamVjdCgpWzFdID0gMTE7DQogICAgICAgICAgICBmbkdsb2JhbE9iamVjdCgpWzJdID0gOTsNCiAgICAgICAgICAgIGZuR2xvYmFsT2JqZWN0KCkubGVuZ3RoID0gMjsNCiAgICAgICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUuZXZlcnkuY2FsbChmbkdsb2JhbE9iamVjdCgpLCBjYWxsYmFja2ZuMSkgJiYNCiAgICAgICAgICAgICAgICAhQXJyYXkucHJvdG90eXBlLmV2ZXJ5LmNhbGwoZm5HbG9iYWxPYmplY3QoKSwgY2FsbGJhY2tmbjIpOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIGZuR2xvYmFsT2JqZWN0KClbMF07DQogICAgICAgICAgICBkZWxldGUgZm5HbG9iYWxPYmplY3QoKVsxXTsNCiAgICAgICAgICAgIGRlbGV0ZSBmbkdsb2JhbE9iamVjdCgpWzJdOw0KICAgICAgICAgICAgZm5HbG9iYWxPYmplY3QoKS5sZW5ndGggPSBvbGRMZW47DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.every - 'length' is property of the global object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-2-15.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTYvMTUuNC40LjE2LTItMTcuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZXZlcnkgYXBwbGllZCB0byB0aGUgQXJndW1lbnRzIG9iamVjdCwgd2hpY2ggaW1wbGVtZW50cyBpdHMgb3duIHByb3BlcnR5IGdldCBtZXRob2QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuMSh2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gdmFsID4gMTA7DQogICAgICAgIH0NCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuMih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gdmFsID4gMTE7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgZnVuYyA9IGZ1bmN0aW9uIChhLCBiKSB7DQogICAgICAgICAgICBhcmd1bWVudHNbMl0gPSA5Ow0KICAgICAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5ldmVyeS5jYWxsKGFyZ3VtZW50cywgY2FsbGJhY2tmbjEpICYmDQogICAgICAgICAgICAgICAgIUFycmF5LnByb3RvdHlwZS5ldmVyeS5jYWxsKGFyZ3VtZW50cywgY2FsbGJhY2tmbjIpOw0KICAgICAgICB9Ow0KDQogICAgICAgIHJldHVybiBmdW5jKDEyLCAxMSk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.every applied to the Arguments object, which implements its own property get method","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-2-17.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTYvMTUuNC40LjE2LTItMTguanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZXZlcnkgYXBwbGllZCB0byBTdHJpbmcgb2JqZWN0LCB3aGljaCBpbXBsZW1lbnRzIGl0cyBvd24gcHJvcGVydHkgZ2V0IG1ldGhvZA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4xKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiBwYXJzZUludCh2YWwsIDEwKSA+IDE7DQogICAgICAgIH0NCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuMih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gcGFyc2VJbnQodmFsLCAxMCkgPiAyOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIHN0ciA9IG5ldyBTdHJpbmcoIjQzMiIpOw0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgU3RyaW5nLnByb3RvdHlwZVszXSA9ICIxIjsNCiAgICAgICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUuZXZlcnkuY2FsbChzdHIsIGNhbGxiYWNrZm4xKSAmJg0KICAgICAgICAgICAgIUFycmF5LnByb3RvdHlwZS5ldmVyeS5jYWxsKHN0ciwgY2FsbGJhY2tmbjIpOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIFN0cmluZy5wcm90b3R5cGVbM107DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.every applied to String object, which implements its own property get method","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-2-18.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTYvMTUuNC40LjE2LTItMTkuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZXZlcnkgYXBwbGllZCB0byBGdW5jdGlvbiBvYmplY3QsIHdoaWNoIGltcGxlbWVudHMgaXRzIG93biBwcm9wZXJ0eSBnZXQgbWV0aG9kDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbjEodmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIHZhbCA+IDEwOw0KICAgICAgICB9DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbjIodmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIHZhbCA+IDExOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIGZ1biA9IGZ1bmN0aW9uIChhLCBiKSB7DQogICAgICAgICAgICByZXR1cm4gYSArIGI7DQogICAgICAgIH07DQogICAgICAgIGZ1blswXSA9IDEyOw0KICAgICAgICBmdW5bMV0gPSAxMTsNCiAgICAgICAgZnVuWzJdID0gOTsNCg0KICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLmV2ZXJ5LmNhbGwoZnVuLCBjYWxsYmFja2ZuMSkgJiYNCiAgICAgICAgICAgICFBcnJheS5wcm90b3R5cGUuZXZlcnkuY2FsbChmdW4sIGNhbGxiYWNrZm4yKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.every applied to Function object, which implements its own property get method","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-2-19.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTYvMTUuNC40LjE2LTItMi5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5ldmVyeSAtICdsZW5ndGgnIGlzIG93biBkYXRhIHByb3BlcnR5IG9uIGFuIEFycmF5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbjEodmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIHZhbCA+IDEwOw0KICAgICAgICB9DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbjIodmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIHZhbCA+IDExOw0KICAgICAgICB9DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIEFycmF5LnByb3RvdHlwZVsyXSA9IDk7DQoNCiAgICAgICAgICAgIHJldHVybiBbMTIsIDExXS5ldmVyeShjYWxsYmFja2ZuMSkgJiYNCiAgICAgICAgICAgICAgICAhWzEyLCAxMV0uZXZlcnkoY2FsbGJhY2tmbjIpOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIEFycmF5LnByb3RvdHlwZVsyXTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.every - 'length' is own data property on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-2-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTYvMTUuNC40LjE2LTItMy5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5ldmVyeSBhcHBsaWVkIHRvIEFycmF5LWxpa2Ugb2JqZWN0LCAnbGVuZ3RoJyBpcyBhbiBvd24gZGF0YSBwcm9wZXJ0eSB0aGF0IG92ZXJyaWRlcyBhbiBpbmhlcml0ZWQgZGF0YSBwcm9wZXJ0eQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4xKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiB2YWwgPiAxMDsNCiAgICAgICAgfQ0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4yKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiB2YWwgPiAxMTsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBwcm90byA9IHsgbGVuZ3RoOiAzIH07DQoNCiAgICAgICAgdmFyIENvbiA9IGZ1bmN0aW9uICgpIHsgfTsNCiAgICAgICAgQ29uLnByb3RvdHlwZSA9IHByb3RvOw0KDQogICAgICAgIHZhciBjaGlsZCA9IG5ldyBDb24oKTsNCiAgICAgICAgY2hpbGQubGVuZ3RoID0gMjsNCiAgICAgICAgY2hpbGRbMF0gPSAxMjsNCiAgICAgICAgY2hpbGRbMV0gPSAxMTsNCiAgICAgICAgY2hpbGRbMl0gPSA5Ow0KDQogICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUuZXZlcnkuY2FsbChjaGlsZCwgY2FsbGJhY2tmbjEpICYmDQogICAgICAgICAgICAhQXJyYXkucHJvdG90eXBlLmV2ZXJ5LmNhbGwoY2hpbGQsIGNhbGxiYWNrZm4yKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.every applied to Array-like object, 'length' is an own data property that overrides an inherited data property","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-2-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTYvMTUuNC40LjE2LTItNC5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5ldmVyeSAtICdsZW5ndGgnIGlzIG93biBkYXRhIHByb3BlcnR5IHRoYXQgb3ZlcnJpZGVzIGFuIGluaGVyaXRlZCBkYXRhIHByb3BlcnR5IG9uIGFuIEFycmF5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIGFyclByb3RvTGVuID0gMDsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbjEodmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIHZhbCA+IDEwOw0KICAgICAgICB9DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbjIodmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIHZhbCA+IDExOw0KICAgICAgICB9DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIGFyclByb3RvTGVuID0gQXJyYXkucHJvdG90eXBlLmxlbmd0aDsNCiAgICAgICAgICAgIEFycmF5LnByb3RvdHlwZS5sZW5ndGggPSAwOw0KICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlWzJdID0gOTsNCg0KICAgICAgICAgICAgcmV0dXJuIFsxMiwgMTFdLmV2ZXJ5KGNhbGxiYWNrZm4xKSAmJg0KICAgICAgICAgICAgICAgICFbMTIsIDExXS5ldmVyeShjYWxsYmFja2ZuMik7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBBcnJheS5wcm90b3R5cGUubGVuZ3RoID0gYXJyUHJvdG9MZW47DQogICAgICAgICAgICBkZWxldGUgQXJyYXkucHJvdG90eXBlWzJdOw0KICAgICAgICB9DQoNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.every - 'length' is own data property that overrides an inherited data property on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-2-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTYvMTUuNC40LjE2LTItNS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5ldmVyeSBhcHBsaWVkIHRvIEFycmF5LWxpa2Ugb2JqZWN0LCAnbGVuZ3RoJyBpcyBhbiBvd24gZGF0YSBwcm9wZXJ0eSB0aGF0IG92ZXJyaWRlcyBhbiBpbmhlcml0ZWQgYWNjZXNzb3IgcHJvcGVydHkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuMSh2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gdmFsID4gMTA7DQogICAgICAgIH0NCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuMih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gdmFsID4gMTE7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgcHJvdG8gPSB7IH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHByb3RvLCAibGVuZ3RoIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIDM7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBDb24gPSBmdW5jdGlvbiAoKSB7IH07DQogICAgICAgIENvbi5wcm90b3R5cGUgPSBwcm90bzsNCg0KICAgICAgICB2YXIgY2hpbGQgPSBuZXcgQ29uKCk7DQogICAgICAgIGNoaWxkWzBdID0gMTI7DQogICAgICAgIGNoaWxkWzFdID0gMTE7DQogICAgICAgIGNoaWxkWzJdID0gOTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoY2hpbGQsICJsZW5ndGgiLCB7DQogICAgICAgICAgICB2YWx1ZTogMiwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLmV2ZXJ5LmNhbGwoY2hpbGQsIGNhbGxiYWNrZm4xKSAmJg0KICAgICAgICAgICAgIUFycmF5LnByb3RvdHlwZS5ldmVyeS5jYWxsKGNoaWxkLCBjYWxsYmFja2ZuMik7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.every applied to Array-like object, 'length' is an own data property that overrides an inherited accessor property","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-2-5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTYvMTUuNC40LjE2LTItNi5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5ldmVyeSBhcHBsaWVkIHRvIEFycmF5LWxpa2Ugb2JqZWN0LCAnbGVuZ3RoJyBpcyBhbiBpbmhlcml0ZWQgZGF0YSBwcm9wZXJ0eQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4xKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiB2YWwgPiAxMDsNCiAgICAgICAgfQ0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4yKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiB2YWwgPiAxMTsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBwcm90byA9IHsgbGVuZ3RoOiAyIH07DQoNCiAgICAgICAgdmFyIENvbiA9IGZ1bmN0aW9uICgpIHsgfTsNCiAgICAgICAgQ29uLnByb3RvdHlwZSA9IHByb3RvOw0KDQogICAgICAgIHZhciBjaGlsZCA9IG5ldyBDb24oKTsNCiAgICAgICAgY2hpbGRbMF0gPSAxMjsNCiAgICAgICAgY2hpbGRbMV0gPSAxMTsNCiAgICAgICAgY2hpbGRbMl0gPSA5Ow0KDQogICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUuZXZlcnkuY2FsbChjaGlsZCwgY2FsbGJhY2tmbjEpICYmDQogICAgICAgICAgICAhQXJyYXkucHJvdG90eXBlLmV2ZXJ5LmNhbGwoY2hpbGQsIGNhbGxiYWNrZm4yKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.every applied to Array-like object, 'length' is an inherited data property","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-2-6.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTYvMTUuNC40LjE2LTItNy5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5ldmVyeSBhcHBsaWVkIHRvIEFycmF5LWxpa2Ugb2JqZWN0LCAnbGVuZ3RoJyBpcyBhbiBvd24gYWNjZXNzb3IgcHJvcGVydHkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuMSh2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gdmFsID4gMTA7DQogICAgICAgIH0NCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuMih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gdmFsID4gMTE7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0geyB9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJsZW5ndGgiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gMjsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgb2JqWzBdID0gMTI7DQogICAgICAgIG9ialsxXSA9IDExOw0KICAgICAgICBvYmpbMl0gPSA5Ow0KDQogICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUuZXZlcnkuY2FsbChvYmosIGNhbGxiYWNrZm4xKSAmJg0KICAgICAgICAgICAgIUFycmF5LnByb3RvdHlwZS5ldmVyeS5jYWxsKG9iaiwgY2FsbGJhY2tmbjIpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.every applied to Array-like object, 'length' is an own accessor property","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-2-7.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTYvMTUuNC40LjE2LTItOC5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5ldmVyeSBhcHBsaWVkIHRvIEFycmF5LWxpa2Ugb2JqZWN0LCAnbGVuZ3RoJyBpcyBhbiBvd24gYWNjZXNzb3IgcHJvcGVydHkgdGhhdCBvdmVycmlkZXMgYW4gaW5oZXJpdGVkIGRhdGEgcHJvcGVydHkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuMSh2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gdmFsID4gMTA7DQogICAgICAgIH0NCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuMih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gdmFsID4gMTE7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgcHJvdG8gPSB7IGxlbmd0aDogMyB9Ow0KDQogICAgICAgIHZhciBDb24gPSBmdW5jdGlvbiAoKSB7IH07DQogICAgICAgIENvbi5wcm90b3R5cGUgPSBwcm90bzsNCg0KICAgICAgICB2YXIgY2hpbGQgPSBuZXcgQ29uKCk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGNoaWxkLCAibGVuZ3RoIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIDI7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIGNoaWxkWzBdID0gMTI7DQogICAgICAgIGNoaWxkWzFdID0gMTE7DQogICAgICAgIGNoaWxkWzJdID0gOTsNCg0KICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLmV2ZXJ5LmNhbGwoY2hpbGQsIGNhbGxiYWNrZm4xKSAmJg0KICAgICAgICAgICAgIUFycmF5LnByb3RvdHlwZS5ldmVyeS5jYWxsKGNoaWxkLCBjYWxsYmFja2ZuMik7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.every applied to Array-like object, 'length' is an own accessor property that overrides an inherited data property","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-2-8.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTYvMTUuNC40LjE2LTItOS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5ldmVyeSBhcHBsaWVkIHRvIEFycmF5LWxpa2Ugb2JqZWN0LCAnbGVuZ3RoJyBpcyBhbiBvd24gYWNjZXNzb3IgcHJvcGVydHkgdGhhdCBvdmVycmlkZXMgYW4gaW5oZXJpdGVkIGFjY2Vzc29yIHByb3BlcnR5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbjEodmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIHZhbCA+IDEwOw0KICAgICAgICB9DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbjIodmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIHZhbCA+IDExOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIHByb3RvID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHByb3RvLCAibGVuZ3RoIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIDM7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBDb24gPSBmdW5jdGlvbiAoKSB7IH07DQogICAgICAgIENvbi5wcm90b3R5cGUgPSBwcm90bzsNCg0KICAgICAgICB2YXIgY2hpbGQgPSBuZXcgQ29uKCk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGNoaWxkLCAibGVuZ3RoIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIDI7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIGNoaWxkWzBdID0gMTI7DQogICAgICAgIGNoaWxkWzFdID0gMTE7DQogICAgICAgIGNoaWxkWzJdID0gOTsNCg0KICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLmV2ZXJ5LmNhbGwoY2hpbGQsIGNhbGxiYWNrZm4xKSAmJg0KICAgICAgICAgICAgIUFycmF5LnByb3RvdHlwZS5ldmVyeS5jYWxsKGNoaWxkLCBjYWxsYmFja2ZuMik7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.every applied to Array-like object, 'length' is an own accessor property that overrides an inherited accessor property","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-2-9.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTYvMTUuNC40LjE2LTMtMS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5ldmVyeSAtIHZhbHVlIG9mICdsZW5ndGgnIGlzIHVuZGVmaW5lZA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICByZXR1cm4gdmFsID4gMTA7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0geyAwOiA5LCBsZW5ndGg6IHVuZGVmaW5lZCB9Ow0KDQogICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUuZXZlcnkuY2FsbChvYmosIGNhbGxiYWNrZm4pICYmICFhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.every - value of 'length' is undefined","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-3-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTYvMTUuNC40LjE2LTMtMTAuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZXZlcnkgLSB2YWx1ZSBvZiAnbGVuZ3RoJyBpcyBhIG51bWJlciAodmFsdWUgaXMgTmFOKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICByZXR1cm4gdmFsID4gMTA7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0geyAwOiA5LCBsZW5ndGg6IE5hTiB9Ow0KDQogICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUuZXZlcnkuY2FsbChvYmosIGNhbGxiYWNrZm4pICYmICFhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.every - value of 'length' is a number (value is NaN)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-3-10.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTYvMTUuNC40LjE2LTMtMTEuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZXZlcnkgLSAnbGVuZ3RoJyBpcyBhIHN0cmluZyBjb250YWluaW5nIGEgcG9zaXRpdmUgbnVtYmVyDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbjEodmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIHZhbCA+IDEwOw0KICAgICAgICB9DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbjIodmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIHZhbCA+IDExOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgMDogMTIsIDE6IDExLCAyOiA5LCBsZW5ndGg6ICIyIiB9Ow0KDQogICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUuZXZlcnkuY2FsbChvYmosIGNhbGxiYWNrZm4xKSAmJg0KICAgICAgICAgICAgIUFycmF5LnByb3RvdHlwZS5ldmVyeS5jYWxsKG9iaiwgY2FsbGJhY2tmbjIpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.every - 'length' is a string containing a positive number","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-3-11.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTYvMTUuNC40LjE2LTMtMTIuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZXZlcnkgLSAnbGVuZ3RoJyBpcyBhIHN0cmluZyBjb250YWluaW5nIGEgbmVnYXRpdmUgbnVtYmVyDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbjEodmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIHZhbCA+IDEwOw0KICAgICAgICB9DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbjIodmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIHZhbCA+IDExOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgMDogMTEsIDE6IDEyLCAyOiA5LCBsZW5ndGg6ICItNDI5NDk2NzI5NCIgfTsNCg0KICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLmV2ZXJ5LmNhbGwob2JqLCBjYWxsYmFja2ZuMSkgJiYNCiAgICAgICAgICAgICFBcnJheS5wcm90b3R5cGUuZXZlcnkuY2FsbChvYmosIGNhbGxiYWNrZm4yKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.every - 'length' is a string containing a negative number","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-3-12.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTYvMTUuNC40LjE2LTMtMTMuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZXZlcnkgLSAnbGVuZ3RoJyBpcyBhIHN0cmluZyBjb250YWluaW5nIGEgZGVjaW1hbCBudW1iZXINCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuMSh2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gdmFsID4gMTA7DQogICAgICAgIH0NCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuMih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gdmFsID4gMTE7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0geyAwOiAxMiwgMTogMTEsIDI6IDksIGxlbmd0aDogIjIuNSIgfTsNCg0KICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLmV2ZXJ5LmNhbGwob2JqLCBjYWxsYmFja2ZuMSkgJiYNCiAgICAgICAgICAgICFBcnJheS5wcm90b3R5cGUuZXZlcnkuY2FsbChvYmosIGNhbGxiYWNrZm4yKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.every - 'length' is a string containing a decimal number","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-3-13.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTYvMTUuNC40LjE2LTMtMTQuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZXZlcnkgLSAnbGVuZ3RoJyBpcyBhIHN0cmluZyBjb250YWluaW5nICsvLUluZmluaXR5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIHJldHVybiB2YWwgPiAxMDsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmpPbmUgPSB7IDA6IDksIGxlbmd0aDogIkluZmluaXR5IiB9Ow0KICAgICAgICB2YXIgb2JqVHdvID0geyAwOiA5LCBsZW5ndGg6ICIrSW5maW5pdHkiIH07DQogICAgICAgIHZhciBvYmpUaHJlZSA9IHsgMDogOSwgbGVuZ3RoOiAiLUluZmluaXR5IiB9Ow0KDQogICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUuZXZlcnkuY2FsbChvYmpPbmUsIGNhbGxiYWNrZm4pICYmDQogICAgICAgICAgICBBcnJheS5wcm90b3R5cGUuZXZlcnkuY2FsbChvYmpUd28sIGNhbGxiYWNrZm4pICYmDQogICAgICAgICAgICBBcnJheS5wcm90b3R5cGUuZXZlcnkuY2FsbChvYmpUaHJlZSwgY2FsbGJhY2tmbikgJiYgIWFjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.every - 'length' is a string containing +/-Infinity","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-3-14.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTYvMTUuNC40LjE2LTMtMTUuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZXZlcnkgLSAnbGVuZ3RoJyBpcyBhIHN0cmluZyBjb250YWluaW5nIGFuIGV4cG9uZW50aWFsIG51bWJlcg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4xKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiB2YWwgPiAxMDsNCiAgICAgICAgfQ0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4yKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiB2YWwgPiAxMTsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSB7IDA6IDEyLCAxOiAxMSwgMjogOSwgbGVuZ3RoOiAiMkUwIiB9Ow0KDQogICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUuZXZlcnkuY2FsbChvYmosIGNhbGxiYWNrZm4xKSAmJg0KICAgICAgICAgICAgIUFycmF5LnByb3RvdHlwZS5ldmVyeS5jYWxsKG9iaiwgY2FsbGJhY2tmbjIpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.every - 'length' is a string containing an exponential number","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-3-15.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTYvMTUuNC40LjE2LTMtMTYuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZXZlcnkgLSAnbGVuZ3RoJyBpcyBhIHN0cmluZyBjb250YWluaW5nIGEgaGV4IG51bWJlcg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4xKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiB2YWwgPiAxMDsNCiAgICAgICAgfQ0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4yKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiB2YWwgPiAxMTsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSB7IDA6IDEyLCAxOiAxMSwgMjogOSwgbGVuZ3RoOiAiMHgwMDAyIiB9Ow0KDQogICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUuZXZlcnkuY2FsbChvYmosIGNhbGxiYWNrZm4xKSAmJg0KICAgICAgICAgICAgIUFycmF5LnByb3RvdHlwZS5ldmVyeS5jYWxsKG9iaiwgY2FsbGJhY2tmbjIpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.every - 'length' is a string containing a hex number","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-3-16.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTYvMTUuNC40LjE2LTMtMTcuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZXZlcnkgLSAnbGVuZ3RoJyBpcyBhIHN0cmluZyBjb250YWluaW5nIGEgbnVtYmVyIHdpdGggbGVhZGluZyB6ZXJvcw0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4xKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiB2YWwgPiAxMDsNCiAgICAgICAgfQ0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4yKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiB2YWwgPiAxMTsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSB7IDA6IDEyLCAxOiAxMSwgMjogOSwgbGVuZ3RoOiAiMDAwMi4wMCIgfTsNCg0KICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLmV2ZXJ5LmNhbGwob2JqLCBjYWxsYmFja2ZuMSkgJiYNCiAgICAgICAgICAgICFBcnJheS5wcm90b3R5cGUuZXZlcnkuY2FsbChvYmosIGNhbGxiYWNrZm4yKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.every - 'length' is a string containing a number with leading zeros","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-3-17.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTYvMTUuNC40LjE2LTMtMTguanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZXZlcnkgLSB2YWx1ZSBvZiAnbGVuZ3RoJyBpcyBhIHN0cmluZyB0aGF0IGNhbid0IGNvbnZlcnQgdG8gYSBudW1iZXINCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgcmV0dXJuIHZhbCA+IDEwOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgMDogOSwgMTogOCwgbGVuZ3RoOiAidHdvIiB9Ow0KDQogICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUuZXZlcnkuY2FsbChvYmosIGNhbGxiYWNrZm4pICYmICFhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.every - value of 'length' is a string that can't convert to a number","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-3-18.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTYvMTUuNC40LjE2LTMtMTkuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZXZlcnkgLSB2YWx1ZSBvZiAnbGVuZ3RoJyBpcyBhbiBPYmplY3Qgd2hpY2ggaGFzIGFuIG93biB0b1N0cmluZyBtZXRob2QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuMSh2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gdmFsID4gMTA7DQogICAgICAgIH0NCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuMih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gdmFsID4gMTE7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgdG9TdHJpbmdBY2Nlc3NlZCA9IGZhbHNlOw0KICAgICAgICB2YXIgb2JqID0gew0KICAgICAgICAgICAgMDogMTIsDQogICAgICAgICAgICAxOiAxMSwNCiAgICAgICAgICAgIDI6IDksDQoNCiAgICAgICAgICAgIGxlbmd0aDogew0KICAgICAgICAgICAgICAgIHRvU3RyaW5nOiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgIHRvU3RyaW5nQWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gJzInOw0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0NCiAgICAgICAgfTsNCg0KICAgICAgICAvLyBvYmplY3RzIGluaGVyaXQgdGhlIGRlZmF1bHQgdmFsdWVPZigpIG1ldGhvZCBmcm9tIE9iamVjdA0KICAgICAgICAvLyB0aGF0IHNpbXBseSByZXR1cm5zIGl0c2VsZi4gU2luY2UgdGhlIGRlZmF1bHQgdmFsdWVPZigpIG1ldGhvZA0KICAgICAgICAvLyBkb2VzIG5vdCByZXR1cm4gYSBwcmltaXRpdmUgdmFsdWUsIEVTIG5leHQgdHJpZXMgdG8gY29udmVydCB0aGUgb2JqZWN0DQogICAgICAgIC8vIHRvIGEgbnVtYmVyIGJ5IGNhbGxpbmcgaXRzIHRvU3RyaW5nKCkgbWV0aG9kIGFuZCBjb252ZXJ0aW5nIHRoZQ0KICAgICAgICAvLyByZXN1bHRpbmcgc3RyaW5nIHRvIGEgbnVtYmVyLg0KICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLmV2ZXJ5LmNhbGwob2JqLCBjYWxsYmFja2ZuMSkgJiYNCiAgICAgICAgICAgICFBcnJheS5wcm90b3R5cGUuZXZlcnkuY2FsbChvYmosIGNhbGxiYWNrZm4yKSAmJiB0b1N0cmluZ0FjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.every - value of 'length' is an Object which has an own toString method","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-3-19.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTYvMTUuNC40LjE2LTMtMi5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5ldmVyeSBvbiBhbiBBcnJheS1saWtlIG9iamVjdCBpZiAnbGVuZ3RoJyBpcyAxIChsZW5ndGggb3ZlcnJpZGRlbiB0byB0cnVlKHR5cGUgY29udmVyc2lvbikpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuMSh2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gdmFsID4gMTA7DQogICAgICAgIH0NCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuMih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gdmFsID4gMTE7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0geyAwOiAxMSwgMTogOSwgbGVuZ3RoOiB0cnVlIH07DQoNCiAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5ldmVyeS5jYWxsKG9iaiwgY2FsbGJhY2tmbjEpICYmDQogICAgICAgICAgICAhQXJyYXkucHJvdG90eXBlLmV2ZXJ5LmNhbGwob2JqLCBjYWxsYmFja2ZuMik7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.every on an Array-like object if 'length' is 1 (length overridden to true(type conversion))","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-3-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTYvMTUuNC40LjE2LTMtMjAuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZXZlcnkgLSB2YWx1ZSBvZiAnbGVuZ3RoJyBpcyBhbiBPYmplY3Qgd2hpY2ggaGFzIGFuIG93biB2YWx1ZU9mIG1ldGhvZA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4xKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiB2YWwgPiAxMDsNCiAgICAgICAgfQ0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4yKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiB2YWwgPiAxMTsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciB2YWx1ZU9mQWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICB2YXIgb2JqID0gew0KICAgICAgICAgICAgMDogMTIsDQogICAgICAgICAgICAxOiAxMSwNCiAgICAgICAgICAgIDI6IDksDQogICAgICAgICAgICBsZW5ndGg6IHsNCiAgICAgICAgICAgICAgICB2YWx1ZU9mOiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgIHZhbHVlT2ZBY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICAgICAgICAgIHJldHVybiAyOw0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0NCiAgICAgICAgfTsNCg0KICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLmV2ZXJ5LmNhbGwob2JqLCBjYWxsYmFja2ZuMSkgJiYNCiAgICAgICAgICAgICFBcnJheS5wcm90b3R5cGUuZXZlcnkuY2FsbChvYmosIGNhbGxiYWNrZm4yKSAmJiB2YWx1ZU9mQWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.every - value of 'length' is an Object which has an own valueOf method","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-3-20.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTYvMTUuNC40LjE2LTMtMjEuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZXZlcnkgLSAnbGVuZ3RoJyBpcyBhbiBvYmplY3QgdGhhdCBoYXMgYW4gb3duIHZhbHVlT2YgbWV0aG9kIHRoYXQgcmV0dXJucyBhbiBvYmplY3QgYW5kIHRvU3RyaW5nIG1ldGhvZCB0aGF0IHJldHVybnMgYSBzdHJpbmcNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuMSh2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gdmFsID4gMTA7DQogICAgICAgIH0NCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuMih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gdmFsID4gMTE7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgdG9TdHJpbmdBY2Nlc3NlZCA9IGZhbHNlOw0KICAgICAgICB2YXIgdmFsdWVPZkFjY2Vzc2VkID0gZmFsc2U7DQoNCiAgICAgICAgdmFyIG9iaiA9IHsNCiAgICAgICAgICAgIDA6IDEyLA0KICAgICAgICAgICAgMTogMTEsDQogICAgICAgICAgICAyOiA5LA0KICAgICAgICAgICAgbGVuZ3RoOiB7DQogICAgICAgICAgICAgICAgdmFsdWVPZjogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAgICB2YWx1ZU9mQWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgICAgICAgICByZXR1cm4ge307DQogICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICB0b1N0cmluZzogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAgICB0b1N0cmluZ0FjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuICcyJzsNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9DQogICAgICAgIH07DQoNCiAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5ldmVyeS5jYWxsKG9iaiwgY2FsbGJhY2tmbjEpICYmDQogICAgICAgICAgICAhQXJyYXkucHJvdG90eXBlLmV2ZXJ5LmNhbGwob2JqLCBjYWxsYmFja2ZuMikgJiYNCiAgICAgICAgICAgIHZhbHVlT2ZBY2Nlc3NlZCAmJiANCiAgICAgICAgICAgIHRvU3RyaW5nQWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.every - 'length' is an object that has an own valueOf method that returns an object and toString method that returns a string","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-3-21.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTYvMTUuNC40LjE2LTMtMjIuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZXZlcnkgdGhyb3dzIFR5cGVFcnJvciBleGNlcHRpb24gd2hlbiAnbGVuZ3RoJyBpcyBhbiBvYmplY3Qgd2l0aCB0b1N0cmluZyBhbmQgdmFsdWVPZiBtZXRob2RzIHRoYXQgZG9u77+9dCByZXR1cm4gcHJpbWl0aXZlIHZhbHVlcw0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGNhbGxiYWNrZm5BY2Nlc3NlZCA9IGZhbHNlOw0KICAgICAgICB2YXIgdG9TdHJpbmdBY2Nlc3NlZCA9IGZhbHNlOw0KICAgICAgICB2YXIgdmFsdWVPZkFjY2Vzc2VkID0gZmFsc2U7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBjYWxsYmFja2ZuQWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgcmV0dXJuIHZhbCA+IDEwOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IHsNCiAgICAgICAgICAgIDA6IDExLA0KICAgICAgICAgICAgMTogMTIsDQoNCiAgICAgICAgICAgIGxlbmd0aDogew0KICAgICAgICAgICAgICAgIHZhbHVlT2Y6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICAgICAgdmFsdWVPZkFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHt9Ow0KICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgdG9TdHJpbmc6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICAgICAgdG9TdHJpbmdBY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICAgICAgICAgIHJldHVybiB7fTsNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9DQogICAgICAgIH07DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIEFycmF5LnByb3RvdHlwZS5ldmVyeS5jYWxsKG9iaiwgY2FsbGJhY2tmbik7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGV4KSB7DQogICAgICAgICAgICByZXR1cm4gKGV4IGluc3RhbmNlb2YgVHlwZUVycm9yKSAmJiB0b1N0cmluZ0FjY2Vzc2VkICYmIHZhbHVlT2ZBY2Nlc3NlZCAmJiAhY2FsbGJhY2tmbkFjY2Vzc2VkOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.every throws TypeError exception when 'length' is an object with toString and valueOf methods that don\ufffdt return primitive values","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-3-22.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTYvMTUuNC40LjE2LTMtMjMuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZXZlcnkgdXNlcyBpbmhlcml0ZWQgdmFsdWVPZiBtZXRob2Qgd2hlbiAnbGVuZ3RoJyBpcyBhbiBvYmplY3Qgd2l0aCBhbiBvd24gdG9TdHJpbmcgYW5kIGluaGVyaXRlZCB2YWx1ZU9mIG1ldGhvZHMNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4xKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiB2YWwgPiAxMDsNCiAgICAgICAgfQ0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4yKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiB2YWwgPiAxMTsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciB2YWx1ZU9mQWNjZXNzZWQgPSBmYWxzZTsNCiAgICAgICAgdmFyIHRvU3RyaW5nQWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICB2YXIgcHJvdG8gPSB7DQogICAgICAgICAgICB2YWx1ZU9mOiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgdmFsdWVPZkFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgICAgICByZXR1cm4gMjsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfTsNCg0KICAgICAgICB2YXIgQ29uID0gZnVuY3Rpb24gKCkgeyB9Ow0KICAgICAgICBDb24ucHJvdG90eXBlID0gcHJvdG87DQoNCiAgICAgICAgdmFyIGNoaWxkID0gbmV3IENvbigpOw0KDQogICAgICAgIGNoaWxkLnRvU3RyaW5nID0gZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgdG9TdHJpbmdBY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICByZXR1cm4gJzEnOw0KICAgICAgICB9Ow0KDQogICAgICAgIHZhciBvYmogPSB7DQogICAgICAgICAgICAwOiAxMiwNCiAgICAgICAgICAgIDE6IDExLA0KICAgICAgICAgICAgMjogOSwNCiAgICAgICAgICAgIGxlbmd0aDogY2hpbGQNCiAgICAgICAgfTsNCg0KICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLmV2ZXJ5LmNhbGwob2JqLCBjYWxsYmFja2ZuMSkgJiYNCiAgICAgICAgICAgICFBcnJheS5wcm90b3R5cGUuZXZlcnkuY2FsbChvYmosIGNhbGxiYWNrZm4yKSAmJg0KICAgICAgICAgICAgdmFsdWVPZkFjY2Vzc2VkICYmICF0b1N0cmluZ0FjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.every uses inherited valueOf method when 'length' is an object with an own toString and inherited valueOf methods","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-3-23.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTYvMTUuNC40LjE2LTMtMjQuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZXZlcnkgLSB2YWx1ZSBvZiAnbGVuZ3RoJyBpcyBhIHBvc2l0aXZlIG5vbi1pbnRlZ2VyLCBlbnN1cmUgdHJ1bmNhdGlvbiBvY2N1cnMgaW4gdGhlIHByb3BlciBkaXJlY3Rpb24NCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuMSh2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gdmFsID4gMTA7DQogICAgICAgIH0NCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuMih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gdmFsID4gMTE7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0geyAwOiAxMiwgMTogMTEsIDI6IDksIGxlbmd0aDogMi42ODUgfTsNCg0KICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLmV2ZXJ5LmNhbGwob2JqLCBjYWxsYmFja2ZuMSkgJiYNCiAgICAgICAgICAgICFBcnJheS5wcm90b3R5cGUuZXZlcnkuY2FsbChvYmosIGNhbGxiYWNrZm4yKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.every - value of 'length' is a positive non-integer, ensure truncation occurs in the proper direction","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-3-24.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTYvMTUuNC40LjE2LTMtMjUuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZXZlcnkgLSB2YWx1ZSBvZiAnbGVuZ3RoJyBpcyBhIG5lZ2F0aXZlIG5vbi1pbnRlZ2VyLCBlbnN1cmUgdHJ1bmNhdGlvbiBvY2N1cnMgaW4gdGhlIHByb3BlciBkaXJlY3Rpb24NCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuMSh2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gdmFsID4gMTA7DQogICAgICAgIH0NCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuMih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gdmFsID4gMTE7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0gew0KICAgICAgICAgICAgMDogMTIsDQogICAgICAgICAgICAxOiAxMSwNCiAgICAgICAgICAgIDI6IDksDQogICAgICAgICAgICBsZW5ndGg6IC00Mjk0OTY3Mjk0LjUNCiAgICAgICAgfTsNCg0KICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLmV2ZXJ5LmNhbGwob2JqLCBjYWxsYmFja2ZuMSkgJiYNCiAgICAgICAgICAgICFBcnJheS5wcm90b3R5cGUuZXZlcnkuY2FsbChvYmosIGNhbGxiYWNrZm4yKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.every - value of 'length' is a negative non-integer, ensure truncation occurs in the proper direction","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-3-25.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTYvMTUuNC40LjE2LTMtMjguanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZXZlcnkgLSB2YWx1ZSBvZiAnbGVuZ3RoJyBpcyBib3VuZGFyeSB2YWx1ZSAoMl4zMikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgcmV0dXJuIHZhbCA+IDEwOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IHsNCiAgICAgICAgICAgIDA6IDEyLA0KICAgICAgICAgICAgbGVuZ3RoOiA0Mjk0OTY3Mjk2DQogICAgICAgIH07DQoNCiAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5ldmVyeS5jYWxsKG9iaiwgY2FsbGJhY2tmbikgJiYgIWFjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.every - value of 'length' is boundary value (2^32)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-3-28.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTYvMTUuNC40LjE2LTMtMjkuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZXZlcnkgLSB2YWx1ZSBvZiAnbGVuZ3RoJyBpcyBib3VuZGFyeSB2YWx1ZSAoMl4zMiArIDEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbjEodmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIHZhbCA+IDEwOw0KICAgICAgICB9DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbjIodmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIHZhbCA+IDExOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IHsNCiAgICAgICAgICAgIDA6IDExLA0KICAgICAgICAgICAgMTogOSwNCiAgICAgICAgICAgIGxlbmd0aDogNDI5NDk2NzI5Nw0KICAgICAgICB9Ow0KDQogICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUuZXZlcnkuY2FsbChvYmosIGNhbGxiYWNrZm4xKSAmJg0KICAgICAgICAgICAgIUFycmF5LnByb3RvdHlwZS5ldmVyeS5jYWxsKG9iaiwgY2FsbGJhY2tmbjIpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.every - value of 'length' is boundary value (2^32 + 1)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-3-29.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTYvMTUuNC40LjE2LTMtMy5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5ldmVyeSAtIHZhbHVlIG9mICdsZW5ndGgnIGlzIGEgbnVtYmVyICh2YWx1ZSBpcyAwKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICByZXR1cm4gdmFsID4gMTA7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0geyAwOiA5LCBsZW5ndGg6IDAgfTsNCg0KICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLmV2ZXJ5LmNhbGwob2JqLCBjYWxsYmFja2ZuKSAmJiAhYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.every - value of 'length' is a number (value is 0)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-3-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTYvMTUuNC40LjE2LTMtNC5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5ldmVyeSAtIHZhbHVlIG9mICdsZW5ndGgnIGlzIGEgbnVtYmVyICh2YWx1ZSBpcyArMCkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgcmV0dXJuIHZhbCA+IDEwOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgMDogOSwgbGVuZ3RoOiArMCB9Ow0KDQogICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUuZXZlcnkuY2FsbChvYmosIGNhbGxiYWNrZm4pICYmICFhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.every - value of 'length' is a number (value is +0)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-3-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTYvMTUuNC40LjE2LTMtNS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5ldmVyeSAtIHZhbHVlIG9mICdsZW5ndGgnIGlzIGEgbnVtYmVyICh2YWx1ZSBpcyAtMCkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgcmV0dXJuIHZhbCA+IDEwOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgMDogOSwgbGVuZ3RoOiAtMCB9Ow0KDQogICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUuZXZlcnkuY2FsbChvYmosIGNhbGxiYWNrZm4pICYmICFhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.every - value of 'length' is a number (value is -0)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-3-5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTYvMTUuNC40LjE2LTMtNi5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5ldmVyeSAtIHZhbHVlIG9mICdsZW5ndGgnIGlzIGEgbnVtYmVyICh2YWx1ZSBpcyBwb3NpdGl2ZSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuMSh2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gdmFsID4gMTA7DQogICAgICAgIH0NCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuMih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gdmFsID4gMTE7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0geyAwOiAxMiwgMTogMTEsIDI6IDksIGxlbmd0aDogMiB9Ow0KDQogICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUuZXZlcnkuY2FsbChvYmosIGNhbGxiYWNrZm4xKSAmJg0KICAgICAgICAgICAgIUFycmF5LnByb3RvdHlwZS5ldmVyeS5jYWxsKG9iaiwgY2FsbGJhY2tmbjIpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.every - value of 'length' is a number (value is positive)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-3-6.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTYvMTUuNC40LjE2LTMtNy5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5ldmVyeSAtIHZhbHVlIG9mICdsZW5ndGgnIGlzIGEgbnVtYmVyICh2YWx1ZSBpcyBuZWdhdGl2ZSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuMSh2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gdmFsID4gMTA7DQogICAgICAgIH0NCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuMih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gdmFsID4gMTE7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0geyAwOiAxMiwgMTogMTEsIDI6IDksIGxlbmd0aDogLTQyOTQ5NjcyOTQgfTsgLy9sZW5ndGggdXNlZCB0byBleGVjIHdoaWxlIGxvb3AgaXMgMg0KDQogICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUuZXZlcnkuY2FsbChvYmosIGNhbGxiYWNrZm4xKSAmJg0KICAgICAgICAgICAgIUFycmF5LnByb3RvdHlwZS5ldmVyeS5jYWxsKG9iaiwgY2FsbGJhY2tmbjIpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.every - value of 'length' is a number (value is negative)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-3-7.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTYvMTUuNC40LjE2LTMtOC5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5ldmVyeSAtIHZhbHVlIG9mICdsZW5ndGgnIGlzIGEgbnVtYmVyICh2YWx1ZSBpcyBJbmZpbml0eSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgcmV0dXJuIHZhbCA+IDEwOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgMDogOSwgbGVuZ3RoOiBJbmZpbml0eSB9Ow0KDQogICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUuZXZlcnkuY2FsbChvYmosIGNhbGxiYWNrZm4pICYmICFhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.every - value of 'length' is a number (value is Infinity)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-3-8.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTYvMTUuNC40LjE2LTMtOS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5ldmVyeSAtIHZhbHVlIG9mICdsZW5ndGgnIGlzIGEgbnVtYmVyICh2YWx1ZSBpcyAtSW5maW5pdHkpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIHJldHVybiB2YWwgPiAxMDsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSB7IDA6IDksIGxlbmd0aDogLUluZmluaXR5IH07DQoNCiAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5ldmVyeS5jYWxsKG9iaiwgY2FsbGJhY2tmbikgJiYgIWFjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.every - value of 'length' is a number (value is -Infinity)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-3-9.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTYvMTUuNC40LjE2LTQtMS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5ldmVyeSB0aHJvd3MgVHlwZUVycm9yIGlmIGNhbGxiYWNrZm4gaXMgdW5kZWZpbmVkDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICB2YXIgYXJyID0gbmV3IEFycmF5KDEwKTsNCiAgdHJ5IHsNCiAgICBhcnIuZXZlcnkoKTsgICAgDQogIH0NCiAgY2F0Y2goZSkgew0KICAgIGlmKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpDQogICAgICByZXR1cm4gdHJ1ZTsgIA0KICB9DQoNCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.every throws TypeError if callbackfn is undefined","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-4-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTYvMTUuNC40LjE2LTQtMTAuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZXZlcnkgLSB0aGUgZXhjZXB0aW9uIGlzIG5vdCB0aHJvd24gaWYgZXhjZXB0aW9uIHdhcyB0aHJvd24gYnkgc3RlcCAyDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0geyAwOiAxMSwgMTogMTIgfTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAibGVuZ3RoIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgdGhyb3cgbmV3IFN5bnRheEVycm9yKCk7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBBcnJheS5wcm90b3R5cGUuZXZlcnkuY2FsbChvYmosIHVuZGVmaW5lZCk7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGV4KSB7DQogICAgICAgICAgICByZXR1cm4gIShleCBpbnN0YW5jZW9mIFR5cGVFcnJvcik7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.every - the exception is not thrown if exception was thrown by step 2","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-4-10.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTYvMTUuNC40LjE2LTQtMTEuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZXZlcnkgLSB0aGUgZXhjZXB0aW9uIGlzIG5vdCB0aHJvd24gaWYgZXhjZXB0aW9uIHdhcyB0aHJvd24gYnkgc3RlcCAzDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0geyAwOiAxMSwgMTogMTIgfTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAibGVuZ3RoIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIHsNCiAgICAgICAgICAgICAgICAgICAgdG9TdHJpbmc6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICAgICAgICAgIHRocm93IG5ldyBTeW50YXhFcnJvcigpOw0KICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgfTsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIEFycmF5LnByb3RvdHlwZS5ldmVyeS5jYWxsKG9iaiwgdW5kZWZpbmVkKTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZXgpIHsNCiAgICAgICAgICAgIHJldHVybiAhKGV4IGluc3RhbmNlb2YgVHlwZUVycm9yKTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.every - the exception is not thrown if exception was thrown by step 3","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-4-11.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTYvMTUuNC40LjE2LTQtMTIuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZXZlcnkgLSAnY2FsbGJhY2tmbicgaXMgYSBmdW5jdGlvbg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gdmFsID4gMTA7DQogICAgICAgIH0NCg0KICAgICAgICByZXR1cm4gIVsxMSwgOV0uZXZlcnkoY2FsbGJhY2tmbik7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.every - 'callbackfn' is a function","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-4-12.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTYvMTUuNC40LjE2LTQtMTUuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZXZlcnkgLSBjYWxsaW5nIHdpdGggbm8gY2FsbGJhY2tmbiBpcyB0aGUgc2FtZSBhcyBwYXNzaW5nIHVuZGVmaW5lZCBmb3IgY2FsbGJhY2tmbg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7IDEwOiAxMCB9Ow0KICAgICAgICB2YXIgbGVuZ3RoQWNjZXNzZWQgPSBmYWxzZTsNCiAgICAgICAgdmFyIGxvb3BBY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJsZW5ndGgiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICBsZW5ndGhBY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICAgICAgcmV0dXJuIDIwOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiMCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIGxvb3BBY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICAgICAgcmV0dXJuIDEwOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlLmV2ZXJ5LmNhbGwob2JqKTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZXgpIHsNCiAgICAgICAgICAgIHJldHVybiAoZXggaW5zdGFuY2VvZiBUeXBlRXJyb3IpICYmIGxlbmd0aEFjY2Vzc2VkICYmICFsb29wQWNjZXNzZWQ7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.every - calling with no callbackfn is the same as passing undefined for callbackfn","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-4-15.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTYvMTUuNC40LjE2LTQtMy5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5ldmVyeSB0aHJvd3MgVHlwZUVycm9yIGlmIGNhbGxiYWNrZm4gaXMgbnVsbA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgdmFyIGFyciA9IG5ldyBBcnJheSgxMCk7DQogIHRyeSB7DQogICAgYXJyLmV2ZXJ5KG51bGwpOyAgICANCiAgfQ0KICBjYXRjaChlKSB7DQogICAgaWYoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikNCiAgICAgIHJldHVybiB0cnVlOyAgDQogIH0NCg0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.every throws TypeError if callbackfn is null","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-4-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTYvMTUuNC40LjE2LTQtNC5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5ldmVyeSB0aHJvd3MgVHlwZUVycm9yIGlmIGNhbGxiYWNrZm4gaXMgYm9vbGVhbg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgdmFyIGFyciA9IG5ldyBBcnJheSgxMCk7DQogIHRyeSB7DQogICAgYXJyLmV2ZXJ5KHRydWUpOyAgICANCiAgfQ0KICBjYXRjaChlKSB7DQogICAgaWYoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikNCiAgICAgIHJldHVybiB0cnVlOyAgDQogIH0NCg0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.every throws TypeError if callbackfn is boolean","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-4-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTYvMTUuNC40LjE2LTQtNS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5ldmVyeSB0aHJvd3MgVHlwZUVycm9yIGlmIGNhbGxiYWNrZm4gaXMgbnVtYmVyDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICB2YXIgYXJyID0gbmV3IEFycmF5KDEwKTsNCiAgdHJ5IHsNCiAgICBhcnIuZXZlcnkoNSk7ICAgIA0KICB9DQogIGNhdGNoKGUpIHsNCiAgICBpZihlIGluc3RhbmNlb2YgVHlwZUVycm9yKQ0KICAgICAgcmV0dXJuIHRydWU7ICANCiAgfQ0KDQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.every throws TypeError if callbackfn is number","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-4-5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTYvMTUuNC40LjE2LTQtNi5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5ldmVyeSB0aHJvd3MgVHlwZUVycm9yIGlmIGNhbGxiYWNrZm4gaXMgc3RyaW5nDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICB2YXIgYXJyID0gbmV3IEFycmF5KDEwKTsNCiAgdHJ5IHsNCiAgICBhcnIuZXZlcnkoImFiYyIpOyAgICANCiAgfQ0KICBjYXRjaChlKSB7DQogICAgaWYoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikNCiAgICAgIHJldHVybiB0cnVlOyAgDQogIH0NCg0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.every throws TypeError if callbackfn is string","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-4-6.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTYvMTUuNC40LjE2LTQtNy5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5ldmVyeSB0aHJvd3MgVHlwZUVycm9yIGlmIGNhbGxiYWNrZm4gaXMgT2JqZWN0IHdpdGhvdXQgYSBDYWxsIGludGVybmFsIG1ldGhvZA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgdmFyIGFyciA9IG5ldyBBcnJheSgxMCk7DQogIHRyeSB7DQogICAgYXJyLmV2ZXJ5KCB7fSApOyAgICANCiAgfQ0KICBjYXRjaChlKSB7DQogICAgaWYoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikNCiAgICAgIHJldHVybiB0cnVlOyAgDQogIH0NCg0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.every throws TypeError if callbackfn is Object without a Call internal method","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-4-7.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTYvMTUuNC40LjE2LTQtOC5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5ldmVyeSAtIHNpZGUgZWZmZWN0cyBwcm9kdWNlZCBieSBzdGVwIDIgYXJlIHZpc2libGUgd2hlbiBhbiBleGNlcHRpb24gb2NjdXJzDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0geyAwOiAxMSwgMTogMTIgfTsNCg0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAibGVuZ3RoIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgICAgIHJldHVybiAyOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlLmV2ZXJ5LmNhbGwob2JqLCBudWxsKTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZXgpIHsNCiAgICAgICAgICAgIHJldHVybiBleCBpbnN0YW5jZW9mIFR5cGVFcnJvciAmJiBhY2Nlc3NlZDsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.every - side effects produced by step 2 are visible when an exception occurs","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-4-8.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTYvMTUuNC40LjE2LTQtOS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5ldmVyeSAtIHNpZGUgZWZmZWN0cyBwcm9kdWNlZCBieSBzdGVwIDMgYXJlIHZpc2libGUgd2hlbiBhbiBleGNlcHRpb24gb2NjdXJzDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0geyAwOiAxMSwgMTogMTIgfTsNCg0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAibGVuZ3RoIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIHsNCiAgICAgICAgICAgICAgICAgICAgdG9TdHJpbmc6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiAiMiI7DQogICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICB9Ow0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlLmV2ZXJ5LmNhbGwob2JqLCBudWxsKTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZXgpIHsNCiAgICAgICAgICAgIHJldHVybiBleCBpbnN0YW5jZW9mIFR5cGVFcnJvciAmJiBhY2Nlc3NlZDsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.every - side effects produced by step 3 are visible when an exception occurs","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-4-9.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTYvMTUuNC40LjE2LTUtMS1zLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmV2ZXJ5IC0gdGhpc0FyZyBub3QgcGFzc2VkIHRvIHN0cmljdCBjYWxsYmFja2ZuDQogKiBAb25seVN0cmljdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBpbm5lclRoaXNDb3JyZWN0ID0gZmFsc2U7DQoNCiAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgInVzZSBzdHJpY3QiOw0KICAgIGlubmVyVGhpc0NvcnJlY3QgPSB0aGlzPT09dW5kZWZpbmVkOw0KICAgIHJldHVybiB0cnVlOw0KICB9DQoNCiAgWzFdLmV2ZXJ5KGNhbGxiYWNrZm4pOw0KICByZXR1cm4gaW5uZXJUaGlzQ29ycmVjdDsNCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.every - thisArg not passed to strict callbackfn","onlyStrict":"","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-5-1-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTYvMTUuNC40LjE2LTUtMS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5ldmVyeSAtIHRoaXNBcmcgbm90IHBhc3NlZA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKQ0KICB7DQogICAgcmV0dXJuIHRoaXMgPT09IGZuR2xvYmFsT2JqZWN0KCk7DQogIH0NCg0KICB2YXIgYXJyID0gWzFdOw0KICBpZihhcnIuZXZlcnkoY2FsbGJhY2tmbikgPT09IHRydWUpDQogICAgcmV0dXJuIHRydWU7ICAgIA0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.every - thisArg not passed","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-5-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTYvMTUuNC40LjE2LTUtMTAuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZXZlcnkgLSBBcnJheSBPYmplY3QgY2FuIGJlIHVzZWQgYXMgdGhpc0FyZw0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQogICAgICAgIHZhciBvYmpBcnJheSA9IFtdOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgcmV0dXJuIHRoaXMgPT09IG9iakFycmF5Ow0KICAgICAgICB9DQoNCg0KDQogICAgICAgIHJldHVybiBbMTFdLmV2ZXJ5KGNhbGxiYWNrZm4sIG9iakFycmF5KSAmJiBhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.every - Array Object can be used as thisArg","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-5-10.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTYvMTUuNC40LjE2LTUtMTEuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZXZlcnkgLSBTdHJpbmcgT2JqZWN0IGNhbiBiZSB1c2VkIGFzIHRoaXNBcmcNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KICAgICAgICB2YXIgb2JqU3RyaW5nID0gbmV3IFN0cmluZygpOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgcmV0dXJuIHRoaXMgPT09IG9ialN0cmluZzsNCiAgICAgICAgfQ0KDQogICAgICAgIA0KDQogICAgICAgIHJldHVybiBbMTFdLmV2ZXJ5KGNhbGxiYWNrZm4sIG9ialN0cmluZykgJiYgYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.every - String Object can be used as thisArg","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-5-11.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTYvMTUuNC40LjE2LTUtMTIuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZXZlcnkgLSBCb29sZWFuIE9iamVjdCBjYW4gYmUgdXNlZCBhcyB0aGlzQXJnDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCiAgICAgICAgdmFyIG9iakJvb2xlYW4gPSBuZXcgQm9vbGVhbigpOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgcmV0dXJuIHRoaXMgPT09IG9iakJvb2xlYW47DQogICAgICAgIH0NCg0KICAgICAgIA0KDQogICAgICAgIHJldHVybiBbMTFdLmV2ZXJ5KGNhbGxiYWNrZm4sIG9iakJvb2xlYW4pICYmIGFjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.every - Boolean Object can be used as thisArg","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-5-12.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTYvMTUuNC40LjE2LTUtMTMuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZXZlcnkgLSBOdW1iZXIgT2JqZWN0IGNhbiBiZSB1c2VkIGFzIHRoaXNBcmcNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KICAgICAgICB2YXIgb2JqTnVtYmVyID0gbmV3IE51bWJlcigpOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgcmV0dXJuIHRoaXMgPT09IG9iak51bWJlcjsNCiAgICAgICAgfQ0KDQogICAgICAgIHJldHVybiBbMTFdLmV2ZXJ5KGNhbGxiYWNrZm4sIG9iak51bWJlcikgJiYgYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.every - Number Object can be used as thisArg","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-5-13.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTYvMTUuNC40LjE2LTUtMTQuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZXZlcnkgLSB0aGUgTWF0aCBvYmplY3QgY2FuIGJlIHVzZWQgYXMgdGhpc0FyZw0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICByZXR1cm4gdGhpcyA9PT0gTWF0aDsNCiAgICAgICAgfQ0KDQogICAgICAgIHJldHVybiBbMTFdLmV2ZXJ5KGNhbGxiYWNrZm4sIE1hdGgpICYmIGFjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.every - the Math object can be used as thisArg","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-5-14.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTYvMTUuNC40LjE2LTUtMTUuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZXZlcnkgLSBEYXRlIE9iamVjdCBjYW4gYmUgdXNlZCBhcyB0aGlzQXJnDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCiAgICAgICAgdmFyIG9iakRhdGUgPSBuZXcgRGF0ZSgpOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgcmV0dXJuIHRoaXMgPT09IG9iakRhdGU7DQogICAgICAgIH0NCg0KICAgICAgICByZXR1cm4gWzExXS5ldmVyeShjYWxsYmFja2ZuLCBvYmpEYXRlKSAmJiBhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.every - Date Object can be used as thisArg","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-5-15.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTYvMTUuNC40LjE2LTUtMTYuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZXZlcnkgLSBSZWdFeHAgT2JqZWN0IGNhbiBiZSB1c2VkIGFzIHRoaXNBcmcNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KICAgICAgICB2YXIgb2JqUmVnRXhwID0gbmV3IFJlZ0V4cCgpOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgcmV0dXJuIHRoaXMgPT09IG9ialJlZ0V4cDsNCiAgICAgICAgfQ0KDQogICAgICAgIHJldHVybiBbMTFdLmV2ZXJ5KGNhbGxiYWNrZm4sIG9ialJlZ0V4cCkgJiYgYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.every - RegExp Object can be used as thisArg","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-5-16.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTYvMTUuNC40LjE2LTUtMTcuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZXZlcnkgLSB0aGUgSlNPTiBvYmplY3QgY2FuIGJlIHVzZWQgYXMgdGhpc0FyZw0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgcmV0dXJuIHRoaXMgPT09IEpTT047DQogICAgICAgIH0NCg0KICAgICAgICByZXR1cm4gWzExXS5ldmVyeShjYWxsYmFja2ZuLCBKU09OKSAmJiBhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.every - the JSON object can be used as thisArg","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-5-17.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTYvMTUuNC40LjE2LTUtMTguanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZXZlcnkgLSBFcnJvciBPYmplY3QgY2FuIGJlIHVzZWQgYXMgdGhpc0FyZw0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQogICAgICAgIHZhciBvYmpFcnJvciA9IG5ldyBSYW5nZUVycm9yKCk7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICByZXR1cm4gdGhpcyA9PT0gb2JqRXJyb3I7DQogICAgICAgIH0NCg0KICAgICAgICByZXR1cm4gWzExXS5ldmVyeShjYWxsYmFja2ZuLCBvYmpFcnJvcikgJiYgYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.every - Error Object can be used as thisArg","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-5-18.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTYvMTUuNC40LjE2LTUtMTkuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZXZlcnkgLSB0aGUgQXJndW1lbnRzIG9iamVjdCBjYW4gYmUgdXNlZCBhcyB0aGlzQXJnDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCiAgICAgICAgdmFyIGFyZzsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIHJldHVybiB0aGlzID09PSBhcmc7DQogICAgICAgIH0NCg0KICAgICAgICAoZnVuY3Rpb24gZnVuKCkgew0KICAgICAgICAgICAgYXJnID0gYXJndW1lbnRzOw0KICAgICAgICB9KDEsIDIsIDMpKTsNCg0KICAgICAgICByZXR1cm4gWzExXS5ldmVyeShjYWxsYmFja2ZuLCBhcmcpICYmIGFjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.every - the Arguments object can be used as thisArg","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-5-19.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTYvMTUuNC40LjE2LTUtMi5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5ldmVyeSAtIHRoaXNBcmcgaXMgT2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIHJlcyA9IGZhbHNlOw0KICB2YXIgbyA9IG5ldyBPYmplY3QoKTsNCiAgby5yZXMgPSB0cnVlOw0KICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopDQogIHsNCiAgICByZXR1cm4gdGhpcy5yZXM7DQogIH0NCg0KICB2YXIgYXJyID0gWzFdOw0KICBpZihhcnIuZXZlcnkoY2FsbGJhY2tmbiwgbykgPT09IHRydWUpDQogICAgcmV0dXJuIHRydWU7ICAgIA0KDQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.every - thisArg is Object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-5-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTYvMTUuNC40LjE2LTUtMjEuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZXZlcnkgLSB0aGUgZ2xvYmFsIG9iamVjdCBjYW4gYmUgdXNlZCBhcyB0aGlzQXJnDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIHJldHVybiB0aGlzID09PSBmbkdsb2JhbE9iamVjdCgpOw0KICAgICAgICB9DQoNCiAgICAgICAgcmV0dXJuIFsxMV0uZXZlcnkoY2FsbGJhY2tmbiwgZm5HbG9iYWxPYmplY3QoKSkgJiYgYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.every - the global object can be used as thisArg","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-5-21.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTYvMTUuNC40LjE2LTUtMjIuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZXZlcnkgLSBib29sZWFuIHByaW1pdGl2ZSBjYW4gYmUgdXNlZCBhcyB0aGlzQXJnDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIHJldHVybiB0aGlzLnZhbHVlT2YoKSA9PT0gZmFsc2U7DQogICAgICAgIH0NCg0KICAgICAgICByZXR1cm4gWzExXS5ldmVyeShjYWxsYmFja2ZuLCBmYWxzZSkgJiYgYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.every - boolean primitive can be used as thisArg","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-5-22.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTYvMTUuNC40LjE2LTUtMjMuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZXZlcnkgLSBudW1iZXIgcHJpbWl0aXZlIGNhbiBiZSB1c2VkIGFzIHRoaXNBcmcNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgcmV0dXJuIHRoaXMudmFsdWVPZigpID09PSAxMDE7DQogICAgICAgIH0NCg0KICAgICAgICByZXR1cm4gWzExXS5ldmVyeShjYWxsYmFja2ZuLCAxMDEpICYmIGFjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.every - number primitive can be used as thisArg","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-5-23.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTYvMTUuNC40LjE2LTUtMjQuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZXZlcnkgLSBzdHJpbmcgcHJpbWl0aXZlIGNhbiBiZSB1c2VkIGFzIHRoaXNBcmcNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgcmV0dXJuIHRoaXMudmFsdWVPZigpID09PSAiYWJjIjsNCiAgICAgICAgfQ0KDQogICAgICAgIHJldHVybiBbMTFdLmV2ZXJ5KGNhbGxiYWNrZm4sICJhYmMiKSAmJiBhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.every - string primitive can be used as thisArg","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-5-24.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTYvMTUuNC40LjE2LTUtMy5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5ldmVyeSAtIHRoaXNBcmcgaXMgQXJyYXkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgcmVzID0gZmFsc2U7DQogIHZhciBhID0gbmV3IEFycmF5KCk7DQogIGEucmVzID0gdHJ1ZTsNCiAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKQ0KICB7DQogICAgcmV0dXJuIHRoaXMucmVzOw0KICB9DQoNCiAgdmFyIGFyciA9IFsxXTsNCg0KICBpZihhcnIuZXZlcnkoY2FsbGJhY2tmbiwgYSkgPT09IHRydWUpDQogICAgcmV0dXJuIHRydWU7ICAgIA0KDQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.every - thisArg is Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-5-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTYvMTUuNC40LjE2LTUtNC5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5ldmVyeSAtIHRoaXNBcmcgaXMgb2JqZWN0IGZyb20gb2JqZWN0IHRlbXBsYXRlKHByb3RvdHlwZSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgcmVzID0gZmFsc2U7DQogIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikNCiAgew0KICAgIHJldHVybiB0aGlzLnJlczsNCiAgfQ0KICANCiAgZnVuY3Rpb24gZm9vKCl7fQ0KICBmb28ucHJvdG90eXBlLnJlcyA9IHRydWU7DQogIHZhciBmID0gbmV3IGZvbygpOw0KICB2YXIgYXJyID0gWzFdOw0KDQogICAgaWYoYXJyLmV2ZXJ5KGNhbGxiYWNrZm4sZikgPT09IHRydWUpDQogICAgICByZXR1cm4gdHJ1ZTsgICAgDQoNCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.every - thisArg is object from object template(prototype)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-5-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTYvMTUuNC40LjE2LTUtNS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5ldmVyeSAtIHRoaXNBcmcgaXMgb2JqZWN0IGZyb20gb2JqZWN0IHRlbXBsYXRlDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIHJlcyA9IGZhbHNlOw0KICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopDQogIHsNCiAgICByZXR1cm4gdGhpcy5yZXM7DQogIH0NCg0KICBmdW5jdGlvbiBmb28oKXt9DQogIHZhciBmID0gbmV3IGZvbygpOw0KICBmLnJlcyA9IHRydWU7DQogIHZhciBhcnIgPSBbMV07DQoNCiAgaWYoYXJyLmV2ZXJ5KGNhbGxiYWNrZm4sZikgPT09IHRydWUpDQogICAgcmV0dXJuIHRydWU7ICAgIA0KDQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.every - thisArg is object from object template","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-5-5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTYvMTUuNC40LjE2LTUtNi5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5ldmVyeSAtIHRoaXNBcmcgaXMgZnVuY3Rpb24NCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgcmVzID0gZmFsc2U7DQogIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikNCiAgew0KICAgIHJldHVybiB0aGlzLnJlczsNCiAgfQ0KDQogIGZ1bmN0aW9uIGZvbygpe30NCiAgZm9vLnJlcyA9IHRydWU7DQogIHZhciBhcnIgPSBbMV07DQoNCiAgaWYoYXJyLmV2ZXJ5KGNhbGxiYWNrZm4sZm9vKSA9PT0gdHJ1ZSkNCiAgICByZXR1cm4gdHJ1ZTsgICAgDQoNCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.every - thisArg is function","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-5-6.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTYvMTUuNC40LjE2LTUtNy5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5ldmVyeSAtIGJ1aWx0LWluIGZ1bmN0aW9ucyBjYW4gYmUgdXNlZCBhcyB0aGlzQXJnDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIHJldHVybiB0aGlzID09PSBldmFsOw0KICAgICAgICB9DQoNCiAgICAgICAgcmV0dXJuIFsxMV0uZXZlcnkoY2FsbGJhY2tmbiwgZXZhbCkgJiYgYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.every - built-in functions can be used as thisArg","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-5-7.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTYvMTUuNC40LjE2LTUtOS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5ldmVyeSAtIEZ1bmN0aW9uIE9iamVjdCBjYW4gYmUgdXNlZCBhcyB0aGlzQXJnDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCiAgICAgICAgdmFyIG9iakZ1bmN0aW9uID0gZnVuY3Rpb24gKCkgeyB9Ow0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgcmV0dXJuIHRoaXMgPT09IG9iakZ1bmN0aW9uOw0KICAgICAgICB9DQoNCiAgICAgICAgcmV0dXJuIFsxMV0uZXZlcnkoY2FsbGJhY2tmbiwgb2JqRnVuY3Rpb24pICYmIGFjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.every - Function Object can be used as thisArg","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-5-9.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTYvMTUuNC40LjE2LTctMS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5ldmVyeSBjb25zaWRlcnMgbmV3IGVsZW1lbnRzIGFkZGVkIHRvIGFycmF5IGFmdGVyIHRoZSBjYWxsDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsgDQogDQogIHZhciBjYWxsZWRGb3JUaHJlZSA9IGZhbHNlOw0KDQogIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBJZHgsIG9iaikNCiAgew0KICAgIGFyclsyXSA9IDM7DQogICAgaWYodmFsID09IDMpDQogICAgICBjYWxsZWRGb3JUaHJlZSA9IHRydWU7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCg0KICB2YXIgYXJyID0gWzEsMiwsNCw1XTsNCiAgDQogIHZhciByZXMgPSBhcnIuZXZlcnkoY2FsbGJhY2tmbik7DQoNCiAgcmV0dXJuIGNhbGxlZEZvclRocmVlOyANCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.every considers new elements added to array after the call","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTYvMTUuNC40LjE2LTctMi5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5ldmVyeSBjb25zaWRlcnMgbmV3IHZhbHVlIG9mIGVsZW1lbnRzIGluIGFycmF5IGFmdGVyIHRoZSBjYWxsDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsgDQogDQogIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBJZHgsIG9iaikNCiAgew0KICAgIGFycls0XSA9IDY7DQogICAgaWYodmFsIDwgNikNCiAgICAgICByZXR1cm4gdHJ1ZTsNCiAgICBlbHNlIA0KICAgICAgIHJldHVybiBmYWxzZTsNCiAgfQ0KDQogIHZhciBhcnIgPSBbMSwyLDMsNCw1XTsNCiAgDQogIGlmKGFyci5ldmVyeShjYWxsYmFja2ZuKSA9PT0gZmFsc2UpICAgIA0KICAgICAgcmV0dXJuIHRydWU7ICANCiAgDQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.every considers new value of elements in array after the call","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTYvMTUuNC40LjE2LTctMy5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5ldmVyeSBkb2Vzbid0IHZpc2l0IGRlbGV0ZWQgZWxlbWVudHMgaW4gYXJyYXkgYWZ0ZXIgdGhlIGNhbGwNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgeyANCiANCiAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIElkeCwgb2JqKQ0KICB7DQogICAgZGVsZXRlIGFyclsyXTsNCiAgICBpZih2YWwgPT0gMykNCiAgICAgICByZXR1cm4gZmFsc2U7DQogICAgZWxzZSANCiAgICAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KDQogIHZhciBhcnIgPSBbMSwyLDMsNCw1XTsNCiAgDQogIGlmKGFyci5ldmVyeShjYWxsYmFja2ZuKSA9PT0gdHJ1ZSkgICAgDQogICAgICByZXR1cm4gdHJ1ZTsgIA0KICANCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.every doesn't visit deleted elements in array after the call","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTYvMTUuNC40LjE2LTctNC5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5ldmVyeSBkb2Vzbid0IHZpc2l0IGRlbGV0ZWQgZWxlbWVudHMgd2hlbiBBcnJheS5sZW5ndGggaXMgZGVjcmVhc2VkDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsgDQogDQogIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBJZHgsIG9iaikNCiAgew0KICAgIGFyci5sZW5ndGggPSAzOw0KICAgIGlmKHZhbCA8IDQpDQogICAgICAgcmV0dXJuIHRydWU7DQogICAgZWxzZSANCiAgICAgICByZXR1cm4gZmFsc2U7DQogIH0NCg0KICB2YXIgYXJyID0gWzEsMiwzLDQsNl07DQogIA0KICBpZihhcnIuZXZlcnkoY2FsbGJhY2tmbikgPT09IHRydWUpICAgIA0KICAgICAgcmV0dXJuIHRydWU7ICANCiAgDQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.every doesn't visit deleted elements when Array.length is decreased","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTYvMTUuNC40LjE2LTctNS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5ldmVyeSBkb2Vzbid0IGNvbnNpZGVyIG5ld2x5IGFkZGVkIGVsZW1lbnRzIGluIHNwYXJzZSBhcnJheQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7IA0KIA0KICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgSWR4LCBvYmopDQogIHsNCiAgICBhcnJbMTAwMF0gPSAzOw0KICAgIGlmKHZhbCA8IDMpDQogICAgICAgcmV0dXJuIHRydWU7DQogICAgZWxzZSANCiAgICAgICByZXR1cm4gZmFsc2U7DQogIH0NCg0KICB2YXIgYXJyID0gbmV3IEFycmF5KDEwKTsNCiAgYXJyWzFdID0gMTsNCiAgYXJyWzJdID0gMjsNCiAgDQogIGlmKGFyci5ldmVyeShjYWxsYmFja2ZuKSA9PT0gdHJ1ZSkgICAgDQogICAgICByZXR1cm4gdHJ1ZTsgIA0KICANCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.every doesn't consider newly added elements in sparse array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTYvMTUuNC40LjE2LTctNi5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5ldmVyeSB2aXNpdHMgZGVsZXRlZCBlbGVtZW50IGluIGFycmF5IGFmdGVyIHRoZSBjYWxsIHdoZW4gc2FtZSBpbmRleCBpcyBhbHNvIHByZXNlbnQgaW4gcHJvdG90eXBlDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsgDQogDQogIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBJZHgsIG9iaikNCiAgew0KICAgIGRlbGV0ZSBhcnJbMl07DQogICAgaWYodmFsID09IDMpDQogICAgICAgcmV0dXJuIGZhbHNlOw0KICAgIGVsc2UgDQogICAgICAgcmV0dXJuIHRydWU7DQogIH0NCg0KICBBcnJheS5wcm90b3R5cGVbMl0gPSAzOw0KICB2YXIgYXJyID0gWzEsMiwzLDQsNV07DQogIA0KICB2YXIgcmVzID0gYXJyLmV2ZXJ5KGNhbGxiYWNrZm4pOw0KICBkZWxldGUgQXJyYXkucHJvdG90eXBlWzJdOw0KDQogIGlmKHJlcyA9PT0gZmFsc2UpICAgIA0KICAgICAgcmV0dXJuIHRydWU7ICANCiAgDQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.every visits deleted element in array after the call when same index is also present in prototype","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-6.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTYvMTUuNC40LjE2LTctNy5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5ldmVyeSAtIERlbGV0aW5nIHRoZSBhcnJheSBpdHNlbGYgd2l0aGluIHRoZSBjYWxsYmFja2ZuIG9mIEFycmF5LnByb3RvdHlwZS5ldmVyeSBpcyBzdWNjZXNzZnVsIG9uY2UgQXJyYXkucHJvdG90eXBlLmV2ZXJ5IGlzIGNhbGxlZCBmb3IgYWxsIGVsZW1lbnRzDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG8gPSBuZXcgT2JqZWN0KCk7DQogICAgICAgIG8uYXJyID0gWzEsIDIsIDMsIDQsIDVdOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBJZHgsIG9iaikgew0KICAgICAgICAgICAgZGVsZXRlIG8uYXJyOw0KICAgICAgICAgICAgaWYgKHZhbCA9PT0gSWR4ICsgMSkNCiAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsNCiAgICAgICAgICAgIGVsc2UNCiAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0NCg0KICAgICAgICByZXR1cm4gby5hcnIuZXZlcnkoY2FsbGJhY2tmbikgJiYgIW8uaGFzT3duUHJvcGVydHkoImFyciIpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.every - Deleting the array itself within the callbackfn of Array.prototype.every is successful once Array.prototype.every is called for all elements","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-7.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTYvMTUuNC40LjE2LTctOC5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5ldmVyeSAtIG5vIG9ic2VydmFibGUgZWZmZWN0cyBvY2N1ciBpZiBsZW4gaXMgMA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICByZXR1cm4gdmFsID4gMTA7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0geyAwOiAxMSwgMTogMTIsIGxlbmd0aDogMCB9Ow0KDQogICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUuZXZlcnkuY2FsbChvYmosIGNhbGxiYWNrZm4pICYmICFhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.every - no observable effects occur if len is 0","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-8.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTYvMTUuNC40LjE2LTctOS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5ldmVyeSAtIG1vZGlmaWNhdGlvbnMgdG8gbGVuZ3RoIGRvbid0IGNoYW5nZSBudW1iZXIgb2YgaXRlcmF0aW9ucw0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGNhbGxlZCA9IDA7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBjYWxsZWQrKzsNCiAgICAgICAgICAgIHJldHVybiB2YWwgPiAxMDsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSB7IDE6IDEyLCAyOiA5LCBsZW5ndGg6IDIgfTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiMCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIG9iai5sZW5ndGggPSAzOw0KICAgICAgICAgICAgICAgIHJldHVybiAxMTsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5ldmVyeS5jYWxsKG9iaiwgY2FsbGJhY2tmbikgJiYgMiA9PT0gY2FsbGVkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.every - modifications to length don't change number of iterations","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-9.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTYvMTUuNC40LjE2LTctYi0xLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmV2ZXJ5IC0gY2FsbGJhY2tmbiBub3QgY2FsbGVkIGZvciBpbmRleGVzIG5ldmVyIGJlZW4gYXNzaWduZWQgdmFsdWVzDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsgDQogDQogIHZhciBjYWxsQ250ID0gMC47DQogIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBJZHgsIG9iaikNCiAgew0KICAgIGNhbGxDbnQrKzsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KDQogIHZhciBhcnIgPSBuZXcgQXJyYXkoMTApOw0KICBhcnJbMV0gPSB1bmRlZmluZWQ7ICANCiAgYXJyLmV2ZXJ5KGNhbGxiYWNrZm4pOw0KICBpZiggY2FsbENudCA9PT0gMSkgICAgDQogICAgICByZXR1cm4gdHJ1ZTsgIA0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.every - callbackfn not called for indexes never been assigned values","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-b-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTYvMTUuNC40LjE2LTctYi0xMC5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5ldmVyeSAtIGRlbGV0aW5nIHByb3BlcnR5IG9mIHByb3RvdHlwZSBjYXVzZXMgcHJvdG90eXBlIGluZGV4IHByb3BlcnR5IG5vdCB0byBiZSB2aXNpdGVkIG9uIGFuIEFycmF5LWxpa2UgT2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgcmV0dXJuIGlkeCAhPT0gMTsNCiAgICAgICAgfQ0KICAgICAgICB2YXIgYXJyID0geyAyOiAyLCBsZW5ndGg6IDIwIH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgIjAiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICBkZWxldGUgT2JqZWN0LnByb3RvdHlwZVsxXTsNCiAgICAgICAgICAgICAgICByZXR1cm4gMDsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5wcm90b3R5cGVbMV0gPSAxOw0KICAgICAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5ldmVyeS5jYWxsKGFyciwgY2FsbGJhY2tmbikgJiYgYWNjZXNzZWQ7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgT2JqZWN0LnByb3RvdHlwZVsxXTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.every - deleting property of prototype causes prototype index property not to be visited on an Array-like Object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-b-10.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTYvMTUuNC40LjE2LTctYi0xMS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5ldmVyeSAtIGRlbGV0aW5nIHByb3BlcnR5IG9mIHByb3RvdHlwZSBjYXVzZXMgcHJvdG90eXBlIGluZGV4IHByb3BlcnR5IG5vdCB0byBiZSB2aXNpdGVkIG9uIGFuIEFycmF5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgcmV0dXJuIGlkeCAhPT0gMTsNCiAgICAgICAgfQ0KICAgICAgICB2YXIgYXJyID0gWzAsICwgMl07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgIjAiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICBkZWxldGUgQXJyYXkucHJvdG90eXBlWzFdOw0KICAgICAgICAgICAgICAgIHJldHVybiAwOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlWzFdID0gMTsNCiAgICAgICAgICAgIHJldHVybiBhcnIuZXZlcnkoY2FsbGJhY2tmbikgJiYgYWNjZXNzZWQ7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgQXJyYXkucHJvdG90eXBlWzFdOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.every - deleting property of prototype causes prototype index property not to be visited on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-b-11.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTYvMTUuNC40LjE2LTctYi0xMi5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5ldmVyeSAtIGRlbGV0aW5nIG93biBwcm9wZXJ0eSB3aXRoIHByb3RvdHlwZSBwcm9wZXJ0eSBjYXVzZXMgcHJvdG90eXBlIGluZGV4IHByb3BlcnR5IHRvIGJlIHZpc2l0ZWQgb24gYW4gQXJyYXktbGlrZSBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGlmIChpZHggPT09IDEgJiYgdmFsID09PSAxKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICAgICAgfSBlbHNlIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KICAgICAgICB2YXIgYXJyID0geyAwOiAwLCAxOiAxMTEsIDI6IDIsIGxlbmd0aDogMTAgfTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyLCAiMCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIGRlbGV0ZSBhcnJbMV07DQogICAgICAgICAgICAgICAgcmV0dXJuIDA7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QucHJvdG90eXBlWzFdID0gMTsNCiAgICAgICAgICAgIHJldHVybiAhQXJyYXkucHJvdG90eXBlLmV2ZXJ5LmNhbGwoYXJyLCBjYWxsYmFja2ZuKTsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBPYmplY3QucHJvdG90eXBlWzFdOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.every - deleting own property with prototype property causes prototype index property to be visited on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-b-12.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTYvMTUuNC40LjE2LTctYi0xMy5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5ldmVyeSAtIGRlbGV0aW5nIG93biBwcm9wZXJ0eSB3aXRoIHByb3RvdHlwZSBwcm9wZXJ0eSBjYXVzZXMgcHJvdG90eXBlIGluZGV4IHByb3BlcnR5IHRvIGJlIHZpc2l0ZWQgb24gYW4gQXJyYXkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGlmIChpZHggPT09IDEgJiYgdmFsID09PSAxKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICAgICAgfSBlbHNlIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KICAgICAgICB2YXIgYXJyID0gWzAsIDExMSwgMl07IA0KICAgICAgICANCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgIjAiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICBkZWxldGUgYXJyWzFdOw0KICAgICAgICAgICAgICAgIHJldHVybiAwOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlWzFdID0gMTsNCiAgICAgICAgICAgIHJldHVybiAhYXJyLmV2ZXJ5KGNhbGxiYWNrZm4pOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIEFycmF5LnByb3RvdHlwZVsxXTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.every - deleting own property with prototype property causes prototype index property to be visited on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-b-13.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTYvMTUuNC40LjE2LTctYi0xNC5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5ldmVyeSAtIGRlY3JlYXNpbmcgbGVuZ3RoIG9mIGFycmF5IGNhdXNlcyBpbmRleCBwcm9wZXJ0eSBub3QgdG8gYmUgdmlzaXRlZA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIHJldHVybiBpZHggIT09IDM7DQogICAgICAgIH0NCiAgICAgICAgdmFyIGFyciA9IFswLCAxLCAyLCAibGFzdCJdOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnIsICIwIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgYXJyLmxlbmd0aCA9IDM7DQogICAgICAgICAgICAgICAgcmV0dXJuIDA7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHJldHVybiBhcnIuZXZlcnkoY2FsbGJhY2tmbikgJiYgYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.every - decreasing length of array causes index property not to be visited","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-b-14.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTYvMTUuNC40LjE2LTctYi0xNS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5ldmVyeSAtIGRlY3JlYXNpbmcgbGVuZ3RoIG9mIGFycmF5IHdpdGggcHJvdG90eXBlIHByb3BlcnR5IGNhdXNlcyBwcm90b3R5cGUgaW5kZXggcHJvcGVydHkgdG8gYmUgdmlzaXRlZA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgaWYgKGlkeCA9PT0gMiAmJiB2YWwgPT09ICJwcm90b3R5cGUiKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICAgICAgfSBlbHNlIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KICAgICAgICB2YXIgYXJyID0gWzAsIDEsIDJdOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoQXJyYXkucHJvdG90eXBlLCAiMiIsIHsNCiAgICAgICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuICJwcm90b3R5cGUiOw0KICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgIjEiLCB7DQogICAgICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgIGFyci5sZW5ndGggPSAyOw0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gMTsNCiAgICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgIHJldHVybiAhYXJyLmV2ZXJ5KGNhbGxiYWNrZm4pOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIEFycmF5LnByb3RvdHlwZVsyXTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.every - decreasing length of array with prototype property causes prototype index property to be visited","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-b-15.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTYvMTUuNC40LjE2LTctYi0xNi5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5ldmVyeSAtIGRlY3JlYXNpbmcgbGVuZ3RoIG9mIGFycmF5IGRvZXMgbm90IGRlbGV0ZSBub24tY29uZmlndXJhYmxlIHByb3BlcnRpZXMNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGlmIChpZHggPT09IDIgJiYgdmFsID09PSAidW5jb25maWd1cmFibGUiKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICAgICAgfSBlbHNlIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KICAgICAgICANCiAgICAgICAgdmFyIGFyciA9IFswLCAxLCAyXTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyLCAiMiIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiAidW5jb25maWd1cmFibGUiOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgfSk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgIjEiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICBhcnIubGVuZ3RoID0gMjsNCiAgICAgICAgICAgICAgICByZXR1cm4gMTsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgcmV0dXJuICFhcnIuZXZlcnkoY2FsbGJhY2tmbik7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.every - decreasing length of array does not delete non-configurable properties","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-b-16.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTYvMTUuNC40LjE2LTctYi0yLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmV2ZXJ5IC0gYWRkZWQgcHJvcGVydGllcyBpbiBzdGVwIDIgYXJlIHZpc2libGUgaGVyZQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgaWYgKGlkeCA9PT0gMiAmJiB2YWwgPT09ICJsZW5ndGgiKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICAgICAgfSBlbHNlIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KICAgICAgICANCiAgICAgICAgdmFyIGFyciA9IHsgfTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyLCAibGVuZ3RoIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgYXJyWzJdID0gImxlbmd0aCI7DQogICAgICAgICAgICAgICAgcmV0dXJuIDM7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHJldHVybiAhQXJyYXkucHJvdG90eXBlLmV2ZXJ5LmNhbGwoYXJyLCBjYWxsYmFja2ZuKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.every - added properties in step 2 are visible here","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-b-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTYvMTUuNC40LjE2LTctYi0zLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmV2ZXJ5IC0gZGVsZXRlZCBwcm9wZXJ0aWVzIGluIHN0ZXAgMiBhcmUgdmlzaWJsZSBoZXJlDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgcmV0dXJuIGlkeCAhPT0gMjsNCiAgICAgICAgfQ0KICAgICAgICB2YXIgYXJyID0geyAyOiA2Ljk5LCA4OiAxOX07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgImxlbmd0aCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIGRlbGV0ZSBhcnJbMl07DQogICAgICAgICAgICAgICAgcmV0dXJuIDEwOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLmV2ZXJ5LmNhbGwoYXJyLCBjYWxsYmFja2ZuKSAmJiBhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.every - deleted properties in step 2 are visible here","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-b-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTYvMTUuNC40LjE2LTctYi00LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmV2ZXJ5IC0gcHJvcGVydGllcyBhZGRlZCBpbnRvIG93biBvYmplY3QgYWZ0ZXIgY3VycmVudCBwb3NpdGlvbiBhcmUgdmlzaXRlZCBvbiBhbiBBcnJheS1saWtlIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBpZiAoaWR4ID09PSAxICYmIHZhbCA9PT0gMSkgew0KICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgICAgIH0gZWxzZSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCiAgICAgICAgDQogICAgICAgIHZhciBhcnIgPSB7IGxlbmd0aDogMiB9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnIsICIwIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgIjEiLCB7DQogICAgICAgICAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDE7DQogICAgICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgICAgIHJldHVybiAwOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICByZXR1cm4gIUFycmF5LnByb3RvdHlwZS5ldmVyeS5jYWxsKGFyciwgY2FsbGJhY2tmbik7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.every - properties added into own object after current position are visited on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-b-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTYvMTUuNC40LjE2LTctYi01LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmV2ZXJ5IC0gcHJvcGVydGllcyBhZGRlZCBpbnRvIG93biBvYmplY3QgYWZ0ZXIgY3VycmVudCBwb3NpdGlvbiBhcmUgdmlzaXRlZCBvbiBhbiBBcnJheQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgaWYgKGlkeCA9PT0gMSAmJiB2YWwgPT09IDEpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgICAgICB9IGVsc2Ugew0KICAgICAgICAgICAgICAgIHJldHVybiB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIGFyciA9IFswLCAsIDJdOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnIsICIwIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgIjEiLCB7DQogICAgICAgICAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDE7DQogICAgICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgICAgIHJldHVybiAwOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICByZXR1cm4gIWFyci5ldmVyeShjYWxsYmFja2ZuKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.every - properties added into own object after current position are visited on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-b-5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTYvMTUuNC40LjE2LTctYi02LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmV2ZXJ5IC0gcHJvcGVydGllcyBjYW4gYmUgYWRkZWQgdG8gcHJvdG90eXBlIGFmdGVyIGN1cnJlbnQgcG9zaXRpb24gYXJlIHZpc2l0ZWQgb24gYW4gQXJyYXktbGlrZSBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGlmIChpZHggPT09IDEgJiYgdmFsID09PSA2Ljk5KSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICAgICAgfSBlbHNlIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KICAgICAgICB2YXIgYXJyID0geyBsZW5ndGg6IDIgfTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyLCAiMCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShPYmplY3QucHJvdG90eXBlLCAiMSIsIHsNCiAgICAgICAgICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gNi45OTsNCiAgICAgICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICAgICAgfSk7DQogICAgICAgICAgICAgICAgcmV0dXJuIDA7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICByZXR1cm4gIUFycmF5LnByb3RvdHlwZS5ldmVyeS5jYWxsKGFyciwgY2FsbGJhY2tmbik7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgT2JqZWN0LnByb3RvdHlwZVsxXTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.every - properties can be added to prototype after current position are visited on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-b-6.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTYvMTUuNC40LjE2LTctYi03LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmV2ZXJ5IC0gcHJvcGVydGllcyBjYW4gYmUgYWRkZWQgdG8gcHJvdG90eXBlIGFmdGVyIGN1cnJlbnQgcG9zaXRpb24gYXJlIHZpc2l0ZWQgb24gYW4gQXJyYXkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGlmIChpZHggPT09IDEgJiYgdmFsID09PSA2Ljk5KSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICAgICAgfSBlbHNlIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KICAgICAgICB2YXIgYXJyID0gWzAsICwgMl07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgIjAiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoQXJyYXkucHJvdG90eXBlLCAiMSIsIHsNCiAgICAgICAgICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gNi45OTsNCiAgICAgICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICAgICAgfSk7DQogICAgICAgICAgICAgICAgcmV0dXJuIDA7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICByZXR1cm4gIWFyci5ldmVyeShjYWxsYmFja2ZuKTsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBBcnJheS5wcm90b3R5cGVbMV07DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.every - properties can be added to prototype after current position are visited on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-b-7.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTYvMTUuNC40LjE2LTctYi04LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmV2ZXJ5IC0gZGVsZXRpbmcgb3duIHByb3BlcnR5IGNhdXNlcyBpbmRleCBwcm9wZXJ0eSBub3QgdG8gYmUgdmlzaXRlZCBvbiBhbiBBcnJheS1saWtlIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIHJldHVybiBpZHggIT09IDE7DQogICAgICAgIH0NCiAgICAgICAgdmFyIG9iaiA9IHsgbGVuZ3RoOiAyIH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgIjEiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gNi45OTsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgIjAiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICBkZWxldGUgb2JqWzFdOw0KICAgICAgICAgICAgICAgIHJldHVybiAwOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLmV2ZXJ5LmNhbGwob2JqLCBjYWxsYmFja2ZuKSAmJiBhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.every - deleting own property causes index property not to be visited on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-b-8.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTYvMTUuNC40LjE2LTctYi05LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmV2ZXJ5IC0gZGVsZXRpbmcgb3duIHByb3BlcnR5IGNhdXNlcyBpbmRleCBwcm9wZXJ0eSBub3QgdG8gYmUgdmlzaXRlZCBvbiBhbiBBcnJheQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIHJldHVybiBpZHggIT09IDE7DQogICAgICAgIH0NCiAgICAgICAgdmFyIGFyciA9IFsxLCAyXTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyLCAiMSIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiAiNi45OSI7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnIsICIwIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgZGVsZXRlIGFyclsxXTsNCiAgICAgICAgICAgICAgICByZXR1cm4gMDsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgcmV0dXJuIGFyci5ldmVyeShjYWxsYmFja2ZuKSAmJiBhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.every - deleting own property causes index property not to be visited on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-b-9.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTYvMTUuNC40LjE2LTctYy1pLTEuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZXZlcnkgLSBlbGVtZW50IHRvIGJlIHJldHJpZXZlZCBpcyBvd24gZGF0YSBwcm9wZXJ0eSBvbiBhbiBBcnJheS1saWtlIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGtWYWx1ZSA9IHsgfTsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBpZiAoaWR4ID09PSA1KSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIHZhbCAhPT0ga1ZhbHVlOw0KICAgICAgICAgICAgfSBlbHNlIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSB7IDU6IGtWYWx1ZSwgbGVuZ3RoOiAxMDAgfTsNCg0KICAgICAgICByZXR1cm4gIUFycmF5LnByb3RvdHlwZS5ldmVyeS5jYWxsKG9iaiwgY2FsbGJhY2tmbik7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.every - element to be retrieved is own data property on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-i-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTYvMTUuNC40LjE2LTctYy1pLTEwLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmV2ZXJ5IC0gZWxlbWVudCB0byBiZSByZXRyaWV2ZWQgaXMgb3duIGFjY2Vzc29yIHByb3BlcnR5IG9uIGFuIEFycmF5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGlmIChpZHggPT09IDIpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gdmFsICE9PSAxMjsNCiAgICAgICAgICAgIH0gZWxzZSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgYXJyID0gW107DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgIjIiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gMTI7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHJldHVybiAhYXJyLmV2ZXJ5KGNhbGxiYWNrZm4pOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.every - element to be retrieved is own accessor property on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-i-10.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTYvMTUuNC40LjE2LTctYy1pLTExLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmV2ZXJ5IC0gZWxlbWVudCB0byBiZSByZXRyaWV2ZWQgaXMgb3duIGFjY2Vzc29yIHByb3BlcnR5IHRoYXQgb3ZlcnJpZGVzIGFuIGluaGVyaXRlZCBkYXRhIHByb3BlcnR5IG9uIGFuIEFycmF5LWxpa2Ugb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGlmIChpZHggPT09IDApIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gdmFsID09PSA1Ow0KICAgICAgICAgICAgfSBlbHNlIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBwcm90byA9IHsgMDogNSwgMTogNiB9Ow0KDQogICAgICAgIHZhciBDb24gPSBmdW5jdGlvbiAoKSB7IH07DQogICAgICAgIENvbi5wcm90b3R5cGUgPSBwcm90bzsNCg0KICAgICAgICB2YXIgY2hpbGQgPSBuZXcgQ29uKCk7DQogICAgICAgIGNoaWxkLmxlbmd0aCA9IDEwOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShjaGlsZCwgIjAiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gMTE7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHJldHVybiAhQXJyYXkucHJvdG90eXBlLmV2ZXJ5LmNhbGwoY2hpbGQsIGNhbGxiYWNrZm4pOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.every - element to be retrieved is own accessor property that overrides an inherited data property on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-i-11.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTYvMTUuNC40LjE2LTctYy1pLTEyLmpzDQogKiBAZGVzY3JpcHRpb24gIEFycmF5LnByb3RvdHlwZS5ldmVyeSAtIGVsZW1lbnQgdG8gYmUgcmV0cmlldmVkIGlzIG93biBhY2Nlc3NvciBwcm9wZXJ0eSB0aGF0IG92ZXJyaWRlcyBhbiBpbmhlcml0ZWQgZGF0YSBwcm9wZXJ0eSBvbiBhbiBBcnJheQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgaWYgKGlkeCA9PT0gMCkgew0KICAgICAgICAgICAgICAgIHJldHVybiB2YWwgPT09IDEwOw0KICAgICAgICAgICAgfSBlbHNlIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBhcnIgPSBbXTsNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIEFycmF5LnByb3RvdHlwZVswXSA9IDEwOw0KDQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyLCAiMCIsIHsNCiAgICAgICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDExMTsNCiAgICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgIHJldHVybiAhYXJyLmV2ZXJ5KGNhbGxiYWNrZm4pOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIEFycmF5LnByb3RvdHlwZVswXTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.every - element to be retrieved is own accessor property that overrides an inherited data property on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-i-12.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTYvMTUuNC40LjE2LTctYy1pLTEzLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmV2ZXJ5IC0gZWxlbWVudCB0byBiZSByZXRyaWV2ZWQgaXMgb3duIGFjY2Vzc29yIHByb3BlcnR5IHRoYXQgb3ZlcnJpZGVzIGFuIGluaGVyaXRlZCBhY2Nlc3NvciBwcm9wZXJ0eSBvbiBhbiBBcnJheS1saWtlIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgaWYgKGlkeCA9PT0gMSkgew0KICAgICAgICAgICAgICAgIHJldHVybiB2YWwgPT09IDY7DQogICAgICAgICAgICB9IGVsc2Ugew0KICAgICAgICAgICAgICAgIHJldHVybiB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIHByb3RvID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHByb3RvLCAiMSIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiA2Ow0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgQ29uID0gZnVuY3Rpb24gKCkgeyB9Ow0KICAgICAgICBDb24ucHJvdG90eXBlID0gcHJvdG87DQoNCiAgICAgICAgdmFyIGNoaWxkID0gbmV3IENvbigpOw0KICAgICAgICBjaGlsZC5sZW5ndGggPSAxMDsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoY2hpbGQsICIxIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIDEyOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KDQogICAgICAgIHJldHVybiAhQXJyYXkucHJvdG90eXBlLmV2ZXJ5LmNhbGwoY2hpbGQsIGNhbGxiYWNrZm4pOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.every - element to be retrieved is own accessor property that overrides an inherited accessor property on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-i-13.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTYvMTUuNC40LjE2LTctYy1pLTE0LmpzDQogKiBAZGVzY3JpcHRpb24gIEFycmF5LnByb3RvdHlwZS5ldmVyeSAtIGVsZW1lbnQgdG8gYmUgcmV0cmlldmVkIGlzIG93biBhY2Nlc3NvciBwcm9wZXJ0eSB0aGF0IG92ZXJyaWRlcyBhbiBpbmhlcml0ZWQgYWNjZXNzb3IgcHJvcGVydHkgb24gYW4gQXJyYXkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgaWYgKGlkeCA9PT0gMCkgew0KICAgICAgICAgICAgICAgIHJldHVybiB2YWwgPT09IDU7DQogICAgICAgICAgICB9IGVsc2Ugew0KICAgICAgICAgICAgICAgIHJldHVybiB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIGFyciA9IFtdOw0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KEFycmF5LnByb3RvdHlwZSwgIjAiLCB7DQogICAgICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgIHJldHVybiA1Ow0KICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgIjAiLCB7DQogICAgICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgIHJldHVybiAxMTsNCiAgICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgIHJldHVybiAhYXJyLmV2ZXJ5KGNhbGxiYWNrZm4pOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIEFycmF5LnByb3RvdHlwZVswXTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.every - element to be retrieved is own accessor property that overrides an inherited accessor property on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-i-14.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTYvMTUuNC40LjE2LTctYy1pLTE1LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmV2ZXJ5IC0gZWxlbWVudCB0byBiZSByZXRyaWV2ZWQgaXMgaW5oZXJpdGVkIGFjY2Vzc29yIHByb3BlcnR5IG9uIGFuIEFycmF5LWxpa2Ugb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGlmIChpZHggPT09IDEpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gdmFsICE9PSAxMTsNCiAgICAgICAgICAgIH0gZWxzZSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgcHJvdG8gPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkocHJvdG8sICIxIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIDExOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgQ29uID0gZnVuY3Rpb24gKCkgeyB9Ow0KICAgICAgICBDb24ucHJvdG90eXBlID0gcHJvdG87DQoNCiAgICAgICAgdmFyIGNoaWxkID0gbmV3IENvbigpOw0KICAgICAgICBjaGlsZC5sZW5ndGggPSAyMDsNCg0KICAgICAgICByZXR1cm4gIUFycmF5LnByb3RvdHlwZS5ldmVyeS5jYWxsKGNoaWxkLCBjYWxsYmFja2ZuKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.every - element to be retrieved is inherited accessor property on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-i-15.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTYvMTUuNC40LjE2LTctYy1pLTE2LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmV2ZXJ5IC0gZWxlbWVudCB0byBiZSByZXRyaWV2ZWQgaXMgaW5oZXJpdGVkIGFjY2Vzc29yIHByb3BlcnR5IG9uIGFuIEFycmF5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGlmIChpZHggPT09IDApIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gdmFsICE9PSAxMTsNCiAgICAgICAgICAgIH0gZWxzZSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KEFycmF5LnByb3RvdHlwZSwgIjAiLCB7DQogICAgICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgIHJldHVybiAxMTsNCiAgICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgIHJldHVybiAhWywgLCAsIF0uZXZlcnkoY2FsbGJhY2tmbik7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgQXJyYXkucHJvdG90eXBlWzBdOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.every - element to be retrieved is inherited accessor property on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-i-16.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTYvMTUuNC40LjE2LTctYy1pLTE3LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmV2ZXJ5IC0gZWxlbWVudCB0byBiZSByZXRyaWV2ZWQgaXMgb3duIGFjY2Vzc29yIHByb3BlcnR5IHdpdGhvdXQgYSBnZXQgZnVuY3Rpb24gb24gYW4gQXJyYXktbGlrZSBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgcmV0dXJuIHR5cGVvZiB2YWwgPT09ICJ1bmRlZmluZWQiOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgbGVuZ3RoOiAyIH07DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICIxIiwgew0KICAgICAgICAgICAgc2V0OiBmdW5jdGlvbiAoKSB7IH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5ldmVyeS5jYWxsKG9iaiwgY2FsbGJhY2tmbikgJiYgYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.every - element to be retrieved is own accessor property without a get function on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-i-17.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTYvMTUuNC40LjE2LTctYy1pLTE4LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmV2ZXJ5IC0gZWxlbWVudCB0byBiZSByZXRyaWV2ZWQgaXMgb3duIGFjY2Vzc29yIHByb3BlcnR5IHdpdGhvdXQgYSBnZXQgZnVuY3Rpb24gb24gYW4gQXJyYXkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgcmV0dXJuIHR5cGVvZiB2YWwgPT09ICJ1bmRlZmluZWQiOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIGFyciA9IFtdOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnIsICIwIiwgew0KICAgICAgICAgICAgc2V0OiBmdW5jdGlvbiAoKSB7IH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgcmV0dXJuIGFyci5ldmVyeShjYWxsYmFja2ZuKSAmJiBhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.every - element to be retrieved is own accessor property without a get function on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-i-18.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTYvMTUuNC40LjE2LTctYy1pLTE5LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmV2ZXJ5IC0gZWxlbWVudCB0byBiZSByZXRyaWV2ZWQgaXMgb3duIGFjY2Vzc29yIHByb3BlcnR5IHdpdGhvdXQgYSBnZXQgZnVuY3Rpb24gdGhhdCBvdmVycmlkZXMgYW4gaW5oZXJpdGVkIGFjY2Vzc29yIHByb3BlcnR5IG9uIGFuIEFycmF5LWxpa2Ugb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIHJldHVybiB0eXBlb2YgdmFsID09PSAidW5kZWZpbmVkIjsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSB7IGxlbmd0aDogMiB9Ow0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiMSIsIHsNCiAgICAgICAgICAgIHNldDogZnVuY3Rpb24gKCkgeyB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LnByb3RvdHlwZVsxXSA9IDEwOw0KICAgICAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5ldmVyeS5jYWxsKG9iaiwgY2FsbGJhY2tmbikgJiYgYWNjZXNzZWQ7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgT2JqZWN0LnByb3RvdHlwZVsxXTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.every - element to be retrieved is own accessor property without a get function that overrides an inherited accessor property on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-i-19.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTYvMTUuNC40LjE2LTctYy1pLTIuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZXZlcnkgLSBlbGVtZW50IHRvIGJlIHJldHJpZXZlZCBpcyBvd24gZGF0YSBwcm9wZXJ0eSBvbiBhbiBBcnJheQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGNhbGxlZCA9IDA7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBjYWxsZWQrKzsNCiAgICAgICAgICAgIHJldHVybiB2YWwgPT09IDExOw0KICAgICAgICB9DQoNCiAgICAgICAgcmV0dXJuIFsxMV0uZXZlcnkoY2FsbGJhY2tmbikgJiYgMSA9PT0gY2FsbGVkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.every - element to be retrieved is own data property on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-i-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTYvMTUuNC40LjE2LTctYy1pLTIwLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmV2ZXJ5IC0gZWxlbWVudCB0byBiZSByZXRyaWV2ZWQgaXMgb3duIGFjY2Vzc29yIHByb3BlcnR5IHdpdGhvdXQgYSBnZXQgZnVuY3Rpb24gdGhhdCBvdmVycmlkZXMgYW4gaW5oZXJpdGVkIGFjY2Vzc29yIHByb3BlcnR5IG9uIGFuIEFycmF5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIHJldHVybiB0eXBlb2YgdmFsID09PSAidW5kZWZpbmVkIjsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBhcnIgPSBbXTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyLCAiMCIsIHsNCiAgICAgICAgICAgIHNldDogZnVuY3Rpb24gKCkgeyB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBBcnJheS5wcm90b3R5cGVbMF0gPSAxMDA7DQogICAgICAgICAgICByZXR1cm4gYXJyLmV2ZXJ5KGNhbGxiYWNrZm4pICYmIGFjY2Vzc2VkOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIEFycmF5LnByb3RvdHlwZVswXTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.every - element to be retrieved is own accessor property without a get function that overrides an inherited accessor property on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-i-20.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTYvMTUuNC40LjE2LTctYy1pLTIxLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmV2ZXJ5IC0gZWxlbWVudCB0byBiZSByZXRyaWV2ZWQgaXMgaW5oZXJpdGVkIGFjY2Vzc29yIHByb3BlcnR5IHdpdGhvdXQgYSBnZXQgZnVuY3Rpb24gb24gYW4gQXJyYXktbGlrZSBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgcmV0dXJuIHR5cGVvZiB2YWwgPT09ICJ1bmRlZmluZWQiOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIHByb3RvID0ge307DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShwcm90bywgIjEiLCB7DQogICAgICAgICAgICBzZXQ6IGZ1bmN0aW9uICgpIHsgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgQ29uID0gZnVuY3Rpb24gKCkgeyB9Ow0KICAgICAgICBDb24ucHJvdG90eXBlID0gcHJvdG87DQoNCiAgICAgICAgdmFyIGNoaWxkID0gbmV3IENvbigpOw0KICAgICAgICBjaGlsZC5sZW5ndGggPSAyOw0KDQogICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUuZXZlcnkuY2FsbChjaGlsZCwgY2FsbGJhY2tmbikgJiYgYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.every - element to be retrieved is inherited accessor property without a get function on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-i-21.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTYvMTUuNC40LjE2LTctYy1pLTIyLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmV2ZXJ5IC0gZWxlbWVudCB0byBiZSByZXRyaWV2ZWQgaXMgaW5oZXJpdGVkIGFjY2Vzc29yIHByb3BlcnR5IHdpdGhvdXQgYSBnZXQgZnVuY3Rpb24gb24gYW4gQXJyYXkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgcmV0dXJuIHR5cGVvZiB2YWwgPT09ICJ1bmRlZmluZWQiOw0KICAgICAgICB9DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShBcnJheS5wcm90b3R5cGUsICIwIiwgew0KICAgICAgICAgICAgICAgIHNldDogZnVuY3Rpb24gKCkgeyB9LA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgIHJldHVybiBbLCBdLmV2ZXJ5KGNhbGxiYWNrZm4pICYmIGFjY2Vzc2VkOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIEFycmF5LnByb3RvdHlwZVswXTsNCiAgICAgICAgfQ0KDQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.every - element to be retrieved is inherited accessor property without a get function on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-i-22.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTYvMTUuNC40LjE2LTctYy1pLTIzLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmV2ZXJ5IC0gVGhpcyBvYmplY3QgaXMgYW4gZ2xvYmFsIG9iamVjdCB3aGljaCBjb250YWlucyBpbmRleCBwcm9wZXJ0eQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBpZiAoaWR4ID09PSAwKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIHZhbCAhPT0gMTE7DQogICAgICAgICAgICB9IGVsc2Ugew0KICAgICAgICAgICAgICAgIHJldHVybiB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIHZhciBvbGRMZW4gPSBmbkdsb2JhbE9iamVjdCgpLmxlbmd0aDsNCiAgICAgICAgICAgIGZuR2xvYmFsT2JqZWN0KClbMF0gPSAxMTsNCiAgICAgICAgICAgIGZuR2xvYmFsT2JqZWN0KCkubGVuZ3RoID0gMTsNCiAgICAgICAgICAgIHJldHVybiAhQXJyYXkucHJvdG90eXBlLmV2ZXJ5LmNhbGwoZm5HbG9iYWxPYmplY3QoKSwgY2FsbGJhY2tmbik7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgZm5HbG9iYWxPYmplY3QoKVswXTsNCiAgICAgICAgICAgIGZuR2xvYmFsT2JqZWN0KCkubGVuZ3RoID0gb2xkTGVuOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.every - This object is an global object which contains index property","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-i-23.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTYvMTUuNC40LjE2LTctYy1pLTI1LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmV2ZXJ5IC0gVGhpcyBvYmplY3QgaXMgdGhlIEFyZ3VtZW50cyBvYmplY3Qgd2hpY2ggaW1wbGVtZW50cyBpdHMgb3duIHByb3BlcnR5IGdldCBtZXRob2QgKG51bWJlciBvZiBhcmd1bWVudHMgaXMgbGVzcyB0aGFuIG51bWJlciBvZiBwYXJhbWV0ZXJzKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGNhbGxlZCA9IDA7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBjYWxsZWQrKzsNCiAgICAgICAgICAgIHJldHVybiB2YWwgPT09IDExOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIGZ1bmMgPSBmdW5jdGlvbiAoYSwgYikgew0KICAgICAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5ldmVyeS5jYWxsKGFyZ3VtZW50cywgY2FsbGJhY2tmbik7DQogICAgICAgIH07DQoNCiAgICAgICAgcmV0dXJuIGZ1bmMoMTEpICYmIGNhbGxlZCA9PT0gMTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.every - This object is the Arguments object which implements its own property get method (number of arguments is less than number of parameters)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-i-25.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTYvMTUuNC40LjE2LTctYy1pLTI2LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmV2ZXJ5IC0gVGhpcyBvYmplY3QgaXMgdGhlIEFyZ3VtZW50cyBvYmplY3Qgd2hpY2ggaW1wbGVtZW50cyBpdHMgb3duIHByb3BlcnR5IGdldCBtZXRob2QgKG51bWJlciBvZiBhcmd1bWVudHMgZXF1YWxzIG51bWJlciBvZiBwYXJhbWV0ZXJzKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGNhbGxlZCA9IDA7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBjYWxsZWQrKzsNCiAgICAgICAgICAgIGlmIChpZHggPT09IDApIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gdmFsID09PSAxMTsNCiAgICAgICAgICAgIH0gZWxzZSBpZiAoaWR4ID09PSAxKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIHZhbCA9PT0gOTsNCiAgICAgICAgICAgIH0gZWxzZSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIGZ1bmMgPSBmdW5jdGlvbiAoYSwgYikgew0KICAgICAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5ldmVyeS5jYWxsKGFyZ3VtZW50cywgY2FsbGJhY2tmbik7DQogICAgICAgIH07DQoNCiAgICAgICAgcmV0dXJuIGZ1bmMoMTEsIDkpICYmIGNhbGxlZCA9PT0gMjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.every - This object is the Arguments object which implements its own property get method (number of arguments equals number of parameters)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-i-26.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTYvMTUuNC40LjE2LTctYy1pLTI3LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmV2ZXJ5IC0gVGhpcyBvYmplY3QgaXMgdGhlIEFyZ3VtZW50cyBvYmplY3Qgd2hpY2ggaW1wbGVtZW50cyBpdHMgb3duIHByb3BlcnR5IGdldCBtZXRob2QgKG51bWJlciBvZiBhcmd1bWVudHMgaXMgZ3JlYXRlciB0aGFuIG51bWJlciBvZiBwYXJhbWV0ZXJzKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGNhbGxlZCA9IDA7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBjYWxsZWQrKzsNCiAgICAgICAgICAgIGlmIChpZHggPCAyKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIHZhbCA+IDEwOw0KICAgICAgICAgICAgfSBlbHNlIGlmIChpZHggPT09IDIpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gdmFsIDwgMTA7DQogICAgICAgICAgICB9IGVsc2Ugew0KICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBmdW5jID0gZnVuY3Rpb24gKGEsIGIpIHsNCiAgICAgICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUuZXZlcnkuY2FsbChhcmd1bWVudHMsIGNhbGxiYWNrZm4pOw0KICAgICAgICB9Ow0KDQogICAgICAgIHJldHVybiBmdW5jKDExLCAxMiwgOSkgJiYgY2FsbGVkID09PSAzOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.every - This object is the Arguments object which implements its own property get method (number of arguments is greater than number of parameters)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-i-27.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTYvMTUuNC40LjE2LTctYy1pLTI4LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmV2ZXJ5IC0gZWxlbWVudCBjaGFuZ2VkIGJ5IGdldHRlciBvbiBwcmV2aW91cyBpdGVyYXRpb25zIGlzIG9ic2VydmVkIG9uIGFuIEFycmF5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgcHJlSXRlclZpc2libGUgPSBmYWxzZTsNCiAgICAgICAgdmFyIGFyciA9IFtdOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIHZhbCA+IDEwOw0KICAgICAgICB9DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgIjAiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICBwcmVJdGVyVmlzaWJsZSA9IHRydWU7DQogICAgICAgICAgICAgICAgcmV0dXJuIDExOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyLCAiMSIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIGlmIChwcmVJdGVyVmlzaWJsZSkgew0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gOTsNCiAgICAgICAgICAgICAgICB9IGVsc2Ugew0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gMTE7DQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICByZXR1cm4gIWFyci5ldmVyeShjYWxsYmFja2ZuKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.every - element changed by getter on previous iterations is observed on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-i-28.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTYvMTUuNC40LjE2LTctYy1pLTI5LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmV2ZXJ5IC0gZWxlbWVudCBjaGFuZ2VkIGJ5IGdldHRlciBvbiBwcmV2aW91cyBpdGVyYXRpb25zIGlzIG9ic2VydmVkIG9uIGFuIEFycmF5LWxpa2Ugb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gdmFsID4gMTA7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgcHJlSXRlclZpc2libGUgPSBmYWxzZTsNCiAgICAgICAgdmFyIG9iaiA9IHsgbGVuZ3RoOiAyIH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgIjAiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICBwcmVJdGVyVmlzaWJsZSA9IHRydWU7DQogICAgICAgICAgICAgICAgcmV0dXJuIDExOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiMSIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIGlmIChwcmVJdGVyVmlzaWJsZSkgew0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gOTsNCiAgICAgICAgICAgICAgICB9IGVsc2Ugew0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gMTM7DQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICByZXR1cm4gIUFycmF5LnByb3RvdHlwZS5ldmVyeS5jYWxsKG9iaiwgY2FsbGJhY2tmbik7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.every - element changed by getter on previous iterations is observed on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-i-29.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTYvMTUuNC40LjE2LTctYy1pLTMuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZXZlcnkgLSBlbGVtZW50IHRvIGJlIHJldHJpZXZlZCBpcyBvd24gZGF0YSBwcm9wZXJ0eSB0aGF0IG92ZXJyaWRlcyBhbiBpbmhlcml0ZWQgZGF0YSBwcm9wZXJ0eSBvbiBhbiBBcnJheQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBpZiAoaWR4ID09PSA1KSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIHZhbCA9PT0gMTAwOw0KICAgICAgICAgICAgfSBlbHNlIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBwcm90byA9IHsgMDogMTEsIDU6IDEwMCB9Ow0KDQogICAgICAgIHZhciBDb24gPSBmdW5jdGlvbiAoKSB7IH07DQogICAgICAgIENvbi5wcm90b3R5cGUgPSBwcm90bzsNCg0KICAgICAgICB2YXIgY2hpbGQgPSBuZXcgQ29uKCk7DQogICAgICAgIGNoaWxkWzVdID0gImFiYyI7DQogICAgICAgIGNoaWxkLmxlbmd0aCA9IDEwOw0KDQogICAgICAgIHJldHVybiAhQXJyYXkucHJvdG90eXBlLmV2ZXJ5LmNhbGwoY2hpbGQsIGNhbGxiYWNrZm4pOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.every - element to be retrieved is own data property that overrides an inherited data property on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-i-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTYvMTUuNC40LjE2LTctYy1pLTMwLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmV2ZXJ5IC0gdW5uaGFuZGxlZCBleGNlcHRpb25zIGhhcHBlbmVkIGluIGdldHRlciB0ZXJtaW5hdGUgaXRlcmF0aW9uIG9uIGFuIEFycmF5LWxpa2Ugb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBpZiAoaWR4ID4gMSkgew0KICAgICAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIHJldHVybiB0cnVlOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgMDogMTEsIDU6IDEwLCAxMDogOCwgbGVuZ3RoOiAyMCB9Ow0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiMSIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHRocm93IG5ldyBSYW5nZUVycm9yKCJ1bmhhbmRsZSBleGNlcHRpb24gaGFwcGVuZWQgaW4gZ2V0dGVyIik7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBBcnJheS5wcm90b3R5cGUuZXZlcnkuY2FsbChvYmosIGNhbGxiYWNrZm4pOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChleCkgew0KICAgICAgICAgICAgcmV0dXJuIChleCBpbnN0YW5jZW9mIFJhbmdlRXJyb3IpICYmICFhY2Nlc3NlZDsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.every - unnhandled exceptions happened in getter terminate iteration on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-i-30.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTYvMTUuNC40LjE2LTctYy1pLTMxLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmV2ZXJ5IC0gdW5oYW5kbGVkIGV4Y2VwdGlvbnMgaGFwcGVuZWQgaW4gZ2V0dGVyIHRlcm1pbmF0ZSBpdGVyYXRpb24gb24gYW4gQXJyYXkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGlmIChpZHggPiAxKSB7DQogICAgICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgcmV0dXJuIHRydWU7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgYXJyID0gW107DQogICAgICAgIGFycls1XSA9IDEwOw0KICAgICAgICBhcnJbMTBdID0gMTAwOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnIsICIxIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgdGhyb3cgbmV3IFJhbmdlRXJyb3IoInVuaGFuZGxlIGV4Y2VwdGlvbiBoYXBwZW5lZCBpbiBnZXR0ZXIiKTsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIGFyci5ldmVyeShjYWxsYmFja2ZuKTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZXgpIHsNCiAgICAgICAgICAgIHJldHVybiAoZXggaW5zdGFuY2VvZiBSYW5nZUVycm9yKSAmJiAhYWNjZXNzZWQ7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.every - unhandled exceptions happened in getter terminate iteration on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-i-31.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTYvMTUuNC40LjE2LTctYy1pLTQuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZXZlcnkgLSBlbGVtZW50IHRvIGJlIHJldHJpZXZlZCBpcyBvd24gZGF0YSBwcm9wZXJ0eSB0aGF0IG92ZXJyaWRlcyBhbiBpbmhlcml0ZWQgZGF0YSBwcm9wZXJ0eSBvbiBhbiBBcnJheQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBjYWxsZWQgPSAwOw0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGNhbGxlZCsrOw0KICAgICAgICAgICAgcmV0dXJuIHZhbCA9PT0gMTI7DQogICAgICAgIH0NCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlWzBdID0gMTE7DQogICAgICAgICAgICBBcnJheS5wcm90b3R5cGVbMV0gPSAxMTsNCg0KICAgICAgICAgICAgcmV0dXJuIFsxMiwgMTJdLmV2ZXJ5KGNhbGxiYWNrZm4pICYmIGNhbGxlZCA9PT0gMjsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBBcnJheS5wcm90b3R5cGVbMF07DQogICAgICAgICAgICBkZWxldGUgQXJyYXkucHJvdG90eXBlWzFdOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.every - element to be retrieved is own data property that overrides an inherited data property on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-i-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTYvMTUuNC40LjE2LTctYy1pLTUuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZXZlcnkgLSBlbGVtZW50IHRvIGJlIHJldHJpZXZlZCBpcyBvd24gZGF0YSBwcm9wZXJ0eSB0aGF0IG92ZXJyaWRlcyBhbiBpbmhlcml0ZWQgYWNjZXNzb3IgcHJvcGVydHkgb24gYW4gQXJyYXktbGlrZSBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgaWYgKGlkeCA9PT0gMCkgew0KICAgICAgICAgICAgICAgIHJldHVybiB2YWwgPT09IDU7DQogICAgICAgICAgICB9IGVsc2Ugew0KICAgICAgICAgICAgICAgIHJldHVybiB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIHByb3RvID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHByb3RvLCAiMCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiA1Ow0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgQ29uID0gZnVuY3Rpb24gKCkgeyB9Ow0KICAgICAgICBDb24ucHJvdG90eXBlID0gcHJvdG87DQoNCiAgICAgICAgdmFyIGNoaWxkID0gbmV3IENvbigpOw0KICAgICAgICBjaGlsZC5sZW5ndGggPSAyOw0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoY2hpbGQsICIwIiwgew0KICAgICAgICAgICAgdmFsdWU6IDExLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KICAgICAgICBjaGlsZFsxXSA9IDEyOw0KDQogICAgICAgIHJldHVybiAhQXJyYXkucHJvdG90eXBlLmV2ZXJ5LmNhbGwoY2hpbGQsIGNhbGxiYWNrZm4pOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.every - element to be retrieved is own data property that overrides an inherited accessor property on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-i-5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTYvMTUuNC40LjE2LTctYy1pLTYuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZXZlcnkgLSBlbGVtZW50IHRvIGJlIHJldHJpZXZlZCBpcyBvd24gZGF0YSBwcm9wZXJ0eSB0aGF0IG92ZXJyaWRlcyBhbiBpbmhlcml0ZWQgYWNjZXNzb3IgcHJvcGVydHkgb24gYW4gQXJyYXkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgcmV0dXJuIHZhbCA9PT0gMTE7DQogICAgICAgIH0NCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KEFycmF5LnByb3RvdHlwZSwgIjAiLCB7DQogICAgICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgIHJldHVybiA5Ow0KICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIHJldHVybiBbMTFdLmV2ZXJ5KGNhbGxiYWNrZm4pICYmIGFjY2Vzc2VkOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIEFycmF5LnByb3RvdHlwZVswXTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.every - element to be retrieved is own data property that overrides an inherited accessor property on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-i-6.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTYvMTUuNC40LjE2LTctYy1pLTcuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZXZlcnkgLSBlbGVtZW50IHRvIGJlIHJldHJpZXZlZCBpcyBpbmhlcml0ZWQgZGF0YSBwcm9wZXJ0eSBvbiBhbiBBcnJheS1saWtlIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGtWYWx1ZSA9ICdhYmMnOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgaWYgKGlkeCA9PT0gNSkgew0KICAgICAgICAgICAgICAgIHJldHVybiB2YWwgIT09IGtWYWx1ZTsNCiAgICAgICAgICAgIH0gZWxzZSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgcHJvdG8gPSB7IDU6IGtWYWx1ZSB9Ow0KDQogICAgICAgIHZhciBDb24gPSBmdW5jdGlvbiAoKSB7IH07DQogICAgICAgIENvbi5wcm90b3R5cGUgPSBwcm90bzsNCg0KICAgICAgICB2YXIgY2hpbGQgPSBuZXcgQ29uKCk7DQogICAgICAgIGNoaWxkLmxlbmd0aCA9IDEwOw0KDQogICAgICAgIHJldHVybiAhQXJyYXkucHJvdG90eXBlLmV2ZXJ5LmNhbGwoY2hpbGQsIGNhbGxiYWNrZm4pOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.every - element to be retrieved is inherited data property on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-i-7.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTYvMTUuNC40LjE2LTctYy1pLTguanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZXZlcnkgLSBlbGVtZW50IHRvIGJlIHJldHJpZXZlZCBpcyBpbmhlcml0ZWQgZGF0YSBwcm9wZXJ0eSBvbiBhbiBBcnJheQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBpZiAoaWR4ID09PSAxKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIHZhbCAhPT0gMTM7DQogICAgICAgICAgICB9IGVsc2Ugew0KICAgICAgICAgICAgICAgIHJldHVybiB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIEFycmF5LnByb3RvdHlwZVsxXSA9IDEzOw0KICAgICAgICAgICAgcmV0dXJuICFbLCAsICwgXS5ldmVyeShjYWxsYmFja2ZuKTsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBBcnJheS5wcm90b3R5cGVbMV07DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.every - element to be retrieved is inherited data property on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-i-8.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTYvMTUuNC40LjE2LTctYy1pLTkuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZXZlcnkgLSBlbGVtZW50IHRvIGJlIHJldHJpZXZlZCBpcyBvd24gYWNjZXNzb3IgcHJvcGVydHkgb24gYW4gQXJyYXktbGlrZSBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgaWYgKGlkeCA9PT0gMCkgew0KICAgICAgICAgICAgICAgIHJldHVybiB2YWwgIT09IDExOw0KICAgICAgICAgICAgfSBlbHNlIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSB7IDEwOiAxMCwgbGVuZ3RoOiAyMCB9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICIwIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIDExOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCiAgICAgICAgDQogICAgICAgIHJldHVybiAhQXJyYXkucHJvdG90eXBlLmV2ZXJ5LmNhbGwob2JqLCBjYWxsYmFja2ZuKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.every - element to be retrieved is own accessor property on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-i-9.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTYvMTUuNC40LjE2LTctYy1paS0xLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmV2ZXJ5IC0gY2FsbGJhY2tmbiBjYWxsZWQgd2l0aCBjb3JyZWN0IHBhcmFtZXRlcnMNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgeyANCiANCiAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIElkeCwgb2JqKQ0KICB7DQogICAgaWYob2JqW0lkeF0gPT09IHZhbCkNCiAgICAgIHJldHVybiB0cnVlOw0KICB9DQoNCiAgdmFyIGFyciA9IFswLDEsMiwzLDQsNSw2LDcsOCw5XTsNCiAgDQogIGlmKGFyci5ldmVyeShjYWxsYmFja2ZuKSA9PT0gdHJ1ZSkNCiAgICByZXR1cm4gdHJ1ZTsNCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.every - callbackfn called with correct parameters","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-ii-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTYvMTUuNC40LjE2LTctYy1paS0xMC5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5ldmVyeSAtIGNhbGxiYWNrZm4gaXMgY2FsbGVkIHdpdGggMSBmb3JtYWwgcGFyYW1ldGVyDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgY2FsbGVkID0gMDsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCkgew0KICAgICAgICAgICAgY2FsbGVkKys7DQogICAgICAgICAgICByZXR1cm4gdmFsID4gMTA7DQogICAgICAgIH0NCg0KICAgICAgICByZXR1cm4gWzExLCAxMl0uZXZlcnkoY2FsbGJhY2tmbikgJiYgMiA9PT0gY2FsbGVkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.every - callbackfn is called with 1 formal parameter","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-ii-10.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTYvMTUuNC40LjE2LTctYy1paS0xMS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5ldmVyeSAtIGNhbGxiYWNrZm4gaXMgY2FsbGVkIHdpdGggMiBmb3JtYWwgcGFyYW1ldGVyDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgY2FsbGVkID0gMDsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4KSB7DQogICAgICAgICAgICBjYWxsZWQrKzsNCiAgICAgICAgICAgIHJldHVybiB2YWwgPiAxMCAmJiBhcmd1bWVudHNbMl1baWR4XSA9PT0gdmFsOw0KICAgICAgICB9DQoNCiAgICAgICAgcmV0dXJuIFsxMSwgMTJdLmV2ZXJ5KGNhbGxiYWNrZm4pICYmIDIgPT09IGNhbGxlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.every - callbackfn is called with 2 formal parameter","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-ii-11.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTYvMTUuNC40LjE2LTctYy1paS0xMi5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5ldmVyeSAtIGNhbGxiYWNrZm4gaXMgY2FsbGVkIHdpdGggMyBmb3JtYWwgcGFyYW1ldGVyDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgY2FsbGVkID0gMDsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGNhbGxlZCsrOw0KICAgICAgICAgICAgcmV0dXJuIHZhbCA+IDEwICYmIG9ialtpZHhdID09PSB2YWw7DQogICAgICAgIH0NCg0KICAgICAgICByZXR1cm4gWzExLCAxMiwgMTNdLmV2ZXJ5KGNhbGxiYWNrZm4pICYmIDMgPT09IGNhbGxlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.every - callbackfn is called with 3 formal parameter","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-ii-12.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTYvMTUuNC40LjE2LTctYy1paS0xMy5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5ldmVyeSAtIGNhbGxiYWNrZm4gdGhhdCB1c2VzIGFyZ3VtZW50cyBvYmplY3QgdG8gZ2V0IHBhcmFtZXRlciB2YWx1ZQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGNhbGxlZCA9IDA7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbigpIHsNCiAgICAgICAgICAgIGNhbGxlZCsrOw0KICAgICAgICAgICAgcmV0dXJuIGFyZ3VtZW50c1syXVthcmd1bWVudHNbMV1dID09PSBhcmd1bWVudHNbMF07DQogICAgICAgIH0NCg0KICAgICAgICByZXR1cm4gWzExLCAxMl0uZXZlcnkoY2FsbGJhY2tmbikgJiYgMiA9PT0gY2FsbGVkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.every - callbackfn that uses arguments object to get parameter value","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-ii-13.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTYvMTUuNC40LjE2LTctYy1paS0xNi5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5ldmVyeSAtICd0aGlzJyBvZiAnY2FsbGJhY2tmbicgaXMgYSBCb29sZWFuIG9iamVjdCB3aGVuIFQgaXMgbm90IGFuIG9iamVjdCAoVCBpcyBhIGJvb2xlYW4gcHJpbWl0aXZlKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICByZXR1cm4gdGhpcy52YWx1ZU9mKCkgIT09IGZhbHNlOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgMDogMTEsIGxlbmd0aDogMiB9Ow0KDQogICAgICAgIHJldHVybiAhQXJyYXkucHJvdG90eXBlLmV2ZXJ5LmNhbGwob2JqLCBjYWxsYmFja2ZuLCBmYWxzZSkgJiYgYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.every - 'this' of 'callbackfn' is a Boolean object when T is not an object (T is a boolean primitive)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-ii-16.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTYvMTUuNC40LjE2LTctYy1paS0xNy5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5ldmVyeSAtJ3RoaXMnIG9mICdjYWxsYmFja2ZuJyBpcyBhIE51bWJlciBvYmplY3Qgd2hlbiBUIGlzIG5vdCBhbiBvYmplY3QgKFQgaXMgYSBudW1iZXIgcHJpbWl0aXZlKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgbykgew0KICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgcmV0dXJuIDUgPT09IHRoaXMudmFsdWVPZigpOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgMDogMTEsIGxlbmd0aDogMiB9Ow0KDQogICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUuZXZlcnkuY2FsbChvYmosIGNhbGxiYWNrZm4sIDUpICYmIGFjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.every -'this' of 'callbackfn' is a Number object when T is not an object (T is a number primitive)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-ii-17.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTYvMTUuNC40LjE2LTctYy1paS0xOC5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5ldmVyeSAtICd0aGlzJyBvZiAnY2FsbGJhY2tmbicgaXMgYW4gU3RyaW5nIG9iamVjdCB3aGVuIFQgaXMgbm90IGFuIG9iamVjdCAoVCBpcyBhIHN0cmluZyBwcmltaXRpdmUpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIHJldHVybiAnaGVsbG8nID09PSB0aGlzLnZhbHVlT2YoKTsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSB7IDA6IDExLCBsZW5ndGg6IDIgfTsNCg0KICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLmV2ZXJ5LmNhbGwob2JqLCBjYWxsYmFja2ZuLCAiaGVsbG8iKSAmJiBhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.every - 'this' of 'callbackfn' is an String object when T is not an object (T is a string primitive)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-ii-18.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTYvMTUuNC40LjE2LTctYy1paS0xOS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5ldmVyeSAtIG5vbi1pbmRleGVkIHByb3BlcnRpZXMgYXJlIG5vdCBjYWxsZWQNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBjYWxsZWQgPSAwOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgY2FsbGVkKys7DQogICAgICAgICAgICByZXR1cm4gdmFsICE9PSA4Ow0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgMDogMTEsIDEwOiAxMiwgbm9uX2luZGV4X3Byb3BlcnR5OiA4LCBsZW5ndGg6IDIwIH07DQoNCiAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5ldmVyeS5jYWxsKG9iaiwgY2FsbGJhY2tmbikgJiYgMiA9PT0gY2FsbGVkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.every - non-indexed properties are not called","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-ii-19.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTYvMTUuNC40LjE2LTctYy1paS0yLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmV2ZXJ5IC0gY2FsbGJhY2tmbiB0YWtlcyAzIGFyZ3VtZW50cw0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7IA0KIA0KICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgSWR4LCBvYmopDQogIHsNCiAgICBpZihhcmd1bWVudHMubGVuZ3RoID09PSAzKSAgIC8vdmVyaWZ5IGlmIGNhbGxiYWNrZm4gd2FzIGNhbGxlZCB3aXRoIDMgcGFyYW1ldGVycw0KICAgICAgIHJldHVybiB0cnVlOw0KICB9DQoNCiAgdmFyIGFyciA9IFswLDEsdHJ1ZSxudWxsLG5ldyBPYmplY3QoKSwiZml2ZSJdOw0KICBhcnJbOTk5OTk5XSA9IC02LjY7DQogIA0KICBpZihhcnIuZXZlcnkoY2FsbGJhY2tmbikgPT09IHRydWUpDQogICAgcmV0dXJuIHRydWU7DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.every - callbackfn takes 3 arguments","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-ii-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTYvMTUuNC40LjE2LTctYy1paS0yMC5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5ldmVyeSAtIGNhbGxiYWNrZm4gY2FsbGVkIHdpdGggY29ycmVjdCBwYXJhbWV0ZXJzICh0aGlzQXJnIGlzIGNvcnJlY3QpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIHJldHVybiAxMCA9PT0gdGhpcy50aHJlc2hvbGQ7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgdGhpc0FyZyA9IHsgdGhyZXNob2xkOiAxMCB9Ow0KDQogICAgICAgIHZhciBvYmogPSB7IDA6IDExLCBsZW5ndGg6IDEgfTsNCg0KICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLmV2ZXJ5LmNhbGwob2JqLCBjYWxsYmFja2ZuLCB0aGlzQXJnKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.every - callbackfn called with correct parameters (thisArg is correct)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-ii-20.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTYvMTUuNC40LjE2LTctYy1paS0yMS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5ldmVyeSAtIGNhbGxiYWNrZm4gY2FsbGVkIHdpdGggY29ycmVjdCBwYXJhbWV0ZXJzIChrVmFsdWUgaXMgY29ycmVjdCkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgaWYgKGlkeCA9PT0gMCkgew0KICAgICAgICAgICAgICAgIHJldHVybiB2YWwgPT09IDExOw0KICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICBpZiAoaWR4ID09PSAxKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIHZhbCA9PT0gMTI7DQogICAgICAgICAgICB9DQoNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSB7IDA6IDExLCAxOiAxMiwgbGVuZ3RoOiAyIH07DQoNCiAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5ldmVyeS5jYWxsKG9iaiwgY2FsbGJhY2tmbikgJiYgYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.every - callbackfn called with correct parameters (kValue is correct)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-ii-21.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTYvMTUuNC40LjE2LTctYy1paS0yMi5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5ldmVyeSAtIGNhbGxiYWNrZm4gY2FsbGVkIHdpdGggY29ycmVjdCBwYXJhbWV0ZXJzICh0aGUgaW5kZXggayBpcyBjb3JyZWN0KQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICBpZiAodmFsID09PSAxMSkgew0KICAgICAgICAgICAgICAgIHJldHVybiBpZHggPT09IDA7DQogICAgICAgICAgICB9DQoNCiAgICAgICAgICAgIGlmICh2YWwgPT09IDEyKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIGlkeCA9PT0gMTsNCiAgICAgICAgICAgIH0NCg0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgMDogMTEsIDE6IDEyLCBsZW5ndGg6IDIgfTsNCg0KICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLmV2ZXJ5LmNhbGwob2JqLCBjYWxsYmFja2ZuKSAmJiBhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.every - callbackfn called with correct parameters (the index k is correct)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-ii-22.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTYvMTUuNC40LjE2LTctYy1paS0yMy5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5ldmVyeSAtIGNhbGxiYWNrZm4gY2FsbGVkIHdpdGggY29ycmVjdCBwYXJhbWV0ZXJzICh0aGlzIG9iamVjdCBPIGlzIGNvcnJlY3QpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgY2FsbGVkID0gMDsNCiAgICAgICAgdmFyIG9iaiA9IHsgMDogMTEsIDE6IDEyLCBsZW5ndGg6IDIgfTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvKSB7DQogICAgICAgICAgICBjYWxsZWQrKzsNCiAgICAgICAgICAgIHJldHVybiBvYmogPT09IG87DQogICAgICAgIH0NCg0KICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLmV2ZXJ5LmNhbGwob2JqLCBjYWxsYmFja2ZuKSAmJiAyID09PSBjYWxsZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.every - callbackfn called with correct parameters (this object O is correct)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-ii-23.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTYvMTUuNC40LjE2LTctYy1paS0zLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmV2ZXJ5IGltbWVkaWF0ZWx5IHJldHVybnMgZmFsc2UgaWYgY2FsbGJhY2tmbiByZXR1cm5zIGZhbHNlDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsgDQogDQogIHZhciBjYWxsQ250ID0gMDsNCiAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKQ0KICB7DQogICAgY2FsbENudCsrOw0KICAgIGlmKGlkeCA+IDUpICAgDQogICAgICAgcmV0dXJuIGZhbHNlOw0KICAgIGVsc2UNCiAgICAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KDQogIHZhciBhcnIgPSBbMCwxLDIsMyw0LDUsNiw3LDgsOV07DQogIA0KICBpZihhcnIuZXZlcnkoY2FsbGJhY2tmbikgPT09IGZhbHNlICYmIGNhbGxDbnQgPT09IDcpIA0KICAgIHJldHVybiB0cnVlOw0KDQoNCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.every immediately returns false if callbackfn returns false","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-ii-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTYvMTUuNC40LjE2LTctYy1paS00LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmV2ZXJ5IC0gayB2YWx1ZXMgYXJlIHBhc3NlZCBpbiBhc2NlbmRpbmcgbnVtZXJpYyBvcmRlcg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFyciA9IFswLCAxLCAyLCAzLCA0LCA1XTsNCiAgICAgICAgdmFyIGxhc3RJZHggPSAwOw0KICAgICAgICB2YXIgY2FsbGVkID0gMDsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgbykgew0KICAgICAgICAgICAgY2FsbGVkKys7DQogICAgICAgICAgICBpZiAobGFzdElkeCAhPT0gaWR4KSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICAgICAgfSBlbHNlIHsNCiAgICAgICAgICAgICAgICBsYXN0SWR4Kys7DQogICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICByZXR1cm4gYXJyLmV2ZXJ5KGNhbGxiYWNrZm4pICYmICBhcnIubGVuZ3RoID09PSBjYWxsZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.every - k values are passed in ascending numeric order","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-ii-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTYvMTUuNC40LjE2LTctYy1paS01LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmV2ZXJ5IC0gayB2YWx1ZXMgYXJlIGFjY2Vzc2VkIGR1cmluZyBlYWNoIGl0ZXJhdGlvbiBhbmQgbm90IHByaW9yIHRvIHN0YXJ0aW5nIHRoZSBsb29wIG9uIGFuIEFycmF5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIGNhbGxlZCA9IDA7DQogICAgICAgIHZhciBrSW5kZXggPSBbXTsNCg0KICAgICAgICAvL0J5IGJlbG93IHdheSwgd2UgY291bGQgdmVyaWZ5IHRoYXQgayB3b3VsZCBiZSBzZXR0ZWQgYXMgMCwgMSwgLi4uLCBsZW5ndGggLSAxIGluIG9yZGVyLCBhbmQgZWFjaCB2YWx1ZSB3aWxsIGJlIHNldHRlZCBvbmUgdGltZS4NCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBjYWxsZWQrKzsNCiAgICAgICAgICAgIC8vRWFjaCBwb3NpdGlvbiBzaG91bGQgYmUgdmlzaXRlZCBvbmUgdGltZSwgd2hpY2ggbWVhbnMgayBpcyBhY2Nlc3NlZCBvbmUgdGltZSBkdXJpbmcgaXRlcmF0aW9ucy4NCiAgICAgICAgICAgIGlmICh0eXBlb2Yga0luZGV4W2lkeF0gPT09ICJ1bmRlZmluZWQiKSB7DQogICAgICAgICAgICAgICAgLy93aGVuIGN1cnJlbnQgcG9zaXRpb24gaXMgdmlzaXRlZCwgaXRzIHByZXZpb3VzIGluZGV4IHNob3VsZCBoYXMgYmVlbiB2aXNpdGVkLg0KICAgICAgICAgICAgICAgIGlmIChpZHggIT09IDAgJiYgdHlwZW9mIGtJbmRleFtpZHggLSAxXSA9PT0gInVuZGVmaW5lZCIpIHsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICBrSW5kZXhbaWR4XSA9IDE7DQogICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7DQogICAgICAgICAgICB9IGVsc2Ugew0KICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIHJldHVybiBbMTEsIDEyLCAxMywgMTRdLmV2ZXJ5KGNhbGxiYWNrZm4sIHVuZGVmaW5lZCkgJiYgNCA9PT0gY2FsbGVkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.every - k values are accessed during each iteration and not prior to starting the loop on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-ii-5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTYvMTUuNC40LjE2LTctYy1paS02LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmV2ZXJ5IC0gYXJndW1lbnRzIHRvIGNhbGxiYWNrZm4gYXJlIHNlbGYgY29uc2lzdGVudA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQogICAgICAgIHZhciB0aGlzQXJnID0ge307DQogICAgICAgIHZhciBvYmogPSB7IDA6IDExLCBsZW5ndGg6IDEgfTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKCkgew0KICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgcmV0dXJuIHRoaXMgPT09IHRoaXNBcmcgJiYNCiAgICAgICAgICAgICAgICBhcmd1bWVudHNbMF0gPT09IDExICYmDQogICAgICAgICAgICAgICAgYXJndW1lbnRzWzFdID09PSAwICYmDQogICAgICAgICAgICAgICAgYXJndW1lbnRzWzJdID09PSBvYmo7DQogICAgICAgIH0NCg0KICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLmV2ZXJ5LmNhbGwob2JqLCBjYWxsYmFja2ZuLCB0aGlzQXJnKSAmJiBhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.every - arguments to callbackfn are self consistent","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-ii-6.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTYvMTUuNC40LjE2LTctYy1paS03LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmV2ZXJ5IC0gdW5oYW5kbGVkIGV4Y2VwdGlvbnMgaGFwcGVuZWQgaW4gY2FsbGJhY2tmbiB0ZXJtaW5hdGUgaXRlcmF0aW9uDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgY2FsbGVkID0gMDsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGNhbGxlZCsrOw0KICAgICAgICAgICAgaWYgKGNhbGxlZCA9PT0gMSkgew0KICAgICAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcigiRXhjZXB0aW9uIG9jY3VycmVkIGluIGNhbGxiYWNrZm4iKTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIHJldHVybiB0cnVlOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgMDogMTEsIDQ6IDEwLCAxMDogOCwgbGVuZ3RoOiAyMCB9Ow0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBBcnJheS5wcm90b3R5cGUuZXZlcnkuY2FsbChvYmosIGNhbGxiYWNrZm4pOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChleCkgew0KICAgICAgICAgICAgcmV0dXJuIDEgPT09IGNhbGxlZDsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.every - unhandled exceptions happened in callbackfn terminate iteration","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-ii-7.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTYvMTUuNC40LjE2LTctYy1paS04LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmV2ZXJ5IC0gZWxlbWVudCBjaGFuZ2VkIGJ5IGNhbGxiYWNrZm4gb24gcHJldmlvdXMgaXRlcmF0aW9ucyBpcyBvYnNlcnZlZA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgMDogMTEsIDE6IDEyLCBsZW5ndGg6IDIgfTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvKSB7DQogICAgICAgICAgICBpZiAoaWR4ID09PSAwKSB7DQogICAgICAgICAgICAgICAgb2JqW2lkeCArIDFdID0gODsNCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIHJldHVybiB2YWwgPiAxMDsNCiAgICAgICAgfQ0KDQogICAgICAgDQoNCiAgICAgICAgcmV0dXJuICFBcnJheS5wcm90b3R5cGUuZXZlcnkuY2FsbChvYmosIGNhbGxiYWNrZm4pOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.every - element changed by callbackfn on previous iterations is observed","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-ii-8.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTYvMTUuNC40LjE2LTctYy1paS05LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmV2ZXJ5IC0gY2FsbGJhY2tmbiBpcyBjYWxsZWQgd2l0aCAwIGZvcm1hbCBwYXJhbWV0ZXINCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBjYWxsZWQgPSAwOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4oKSB7DQogICAgICAgICAgICBjYWxsZWQrKzsNCiAgICAgICAgICAgIHJldHVybiB0cnVlOw0KICAgICAgICB9DQoNCiAgICAgICAgcmV0dXJuIFsxMSwgMTJdLmV2ZXJ5KGNhbGxiYWNrZm4pICYmIDIgPT09IGNhbGxlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.every - callbackfn is called with 0 formal parameter","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-ii-9.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTYvMTUuNC40LjE2LTctYy1paWktMS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5ldmVyeSAtIHJldHVybiB2YWx1ZSBvZiBjYWxsYmFja2ZuIGlzIHVuZGVmaW5lZA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQogICAgICAgIHZhciBvYmogPSB7IDA6IDExLCBsZW5ndGg6IDEgfTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvKSB7DQogICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICByZXR1cm4gdW5kZWZpbmVkOw0KICAgICAgICB9DQoNCiAgICAgICAgDQoNCiAgICAgICAgcmV0dXJuICFBcnJheS5wcm90b3R5cGUuZXZlcnkuY2FsbChvYmosIGNhbGxiYWNrZm4pICYmIGFjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.every - return value of callbackfn is undefined","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-iii-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTYvMTUuNC40LjE2LTctYy1paWktMTAuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZXZlcnkgLSByZXR1cm4gdmFsdWUgb2YgY2FsbGJhY2tmbiBpcyBhIG51bWJlciAodmFsdWUgaXMgSW5maW5pdHkpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIHJldHVybiBJbmZpbml0eTsNCiAgICAgICAgfQ0KDQogICAgICAgIHJldHVybiBbMTFdLmV2ZXJ5KGNhbGxiYWNrZm4pICYmIGFjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.every - return value of callbackfn is a number (value is Infinity)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-iii-10.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTYvMTUuNC40LjE2LTctYy1paWktMTEuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZXZlcnkgLSByZXR1cm4gdmFsdWUgb2YgY2FsbGJhY2tmbiBpcyBhIG51bWJlciAodmFsdWUgaXMgLUluZmluaXR5KQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICByZXR1cm4gLUluZmluaXR5Ow0KICAgICAgICB9DQoNCiAgICAgICAgcmV0dXJuIFsxMV0uZXZlcnkoY2FsbGJhY2tmbikgJiYgYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.every - return value of callbackfn is a number (value is -Infinity)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-iii-11.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTYvMTUuNC40LjE2LTctYy1paWktMTIuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZXZlcnkgLSByZXR1cm4gdmFsdWUgb2YgY2FsbGJhY2tmbiBpcyBhIG51bWJlciAodmFsdWUgaXMgTmFOKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICByZXR1cm4gTmFOOw0KICAgICAgICB9DQoNCiAgICAgICAgcmV0dXJuICFbMTFdLmV2ZXJ5KGNhbGxiYWNrZm4pICYmIGFjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.every - return value of callbackfn is a number (value is NaN)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-iii-12.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTYvMTUuNC40LjE2LTctYy1paWktMTMuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZXZlcnkgLSByZXR1cm4gdmFsdWUgb2YgY2FsbGJhY2tmbiBpcyBhbiBlbXB0eSBzdHJpbmcNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgcmV0dXJuICIiOw0KICAgICAgICB9DQoNCiAgICAgICAgcmV0dXJuICFbMTFdLmV2ZXJ5KGNhbGxiYWNrZm4pICYmIGFjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.every - return value of callbackfn is an empty string","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-iii-13.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTYvMTUuNC40LjE2LTctYy1paWktMTQuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZXZlcnkgLSByZXR1cm4gdmFsdWUgb2YgY2FsbGJhY2tmbiBpcyBhIG5vbi1lbXB0eSBzdHJpbmcNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgcmV0dXJuICJub24tZW1wdHkgc3RyaW5nIjsNCiAgICAgICAgfQ0KDQogICAgICAgIHJldHVybiBbMTFdLmV2ZXJ5KGNhbGxiYWNrZm4pICYmIGFjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.every - return value of callbackfn is a non-empty string","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-iii-14.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTYvMTUuNC40LjE2LTctYy1paWktMTUuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZXZlcnkgLSByZXR1cm4gdmFsdWUgb2YgY2FsbGJhY2tmbiBpcyBhIEZ1bmN0aW9uIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICByZXR1cm4gZnVuY3Rpb24gKCkgeyB9Ow0KICAgICAgICB9DQoNCiAgICAgICAgcmV0dXJuIFsxMV0uZXZlcnkoY2FsbGJhY2tmbikgJiYgYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.every - return value of callbackfn is a Function object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-iii-15.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTYvMTUuNC40LjE2LTctYy1paWktMTYuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZXZlcnkgLSByZXR1cm4gdmFsdWUgb2YgY2FsbGJhY2tmbiBpcyBhbiBBcnJheSBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgcmV0dXJuIFtdOw0KICAgICAgICB9DQoNCiAgICAgICAgcmV0dXJuIFsxMV0uZXZlcnkoY2FsbGJhY2tmbikgJiYgYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.every - return value of callbackfn is an Array object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-iii-16.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTYvMTUuNC40LjE2LTctYy1paWktMTcuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZXZlcnkgLSByZXR1cm4gdmFsdWUgb2YgY2FsbGJhY2tmbiBpcyBhIFN0cmluZyBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgcmV0dXJuIG5ldyBTdHJpbmcoKTsNCiAgICAgICAgfQ0KDQogICAgICAgIHJldHVybiBbMTFdLmV2ZXJ5KGNhbGxiYWNrZm4pICYmIGFjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.every - return value of callbackfn is a String object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-iii-17.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTYvMTUuNC40LjE2LTctYy1paWktMTguanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZXZlcnkgLSByZXR1cm4gdmFsdWUgb2YgY2FsbGJhY2tmbiBpcyBhIEJvb2xlYW4gb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIHJldHVybiBuZXcgQm9vbGVhbigpOw0KICAgICAgICB9DQoNCiAgICAgICAgcmV0dXJuIFsxMV0uZXZlcnkoY2FsbGJhY2tmbikgJiYgYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.every - return value of callbackfn is a Boolean object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-iii-18.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTYvMTUuNC40LjE2LTctYy1paWktMTkuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZXZlcnkgLSByZXR1cm4gdmFsdWUgb2YgY2FsbGJhY2tmbiBpcyBhIE51bWJlciBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgcmV0dXJuIG5ldyBOdW1iZXIoKTsNCiAgICAgICAgfQ0KDQogICAgICAgIHJldHVybiBbMTFdLmV2ZXJ5KGNhbGxiYWNrZm4pICYmIGFjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.every - return value of callbackfn is a Number object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-iii-19.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTYvMTUuNC40LjE2LTctYy1paWktMi5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5ldmVyeSAtIHJldHVybiB2YWx1ZSBvZiBjYWxsYmFja2ZuIGlzIG51bGwNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KICAgICAgICB2YXIgb2JqID0geyAwOiAxMSwgbGVuZ3RoOiAxIH07DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICByZXR1cm4gbnVsbDsNCiAgICAgICAgfQ0KDQogICAgICAgIA0KDQogICAgICAgIHJldHVybiAhQXJyYXkucHJvdG90eXBlLmV2ZXJ5LmNhbGwob2JqLCBjYWxsYmFja2ZuKSAmJiBhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.every - return value of callbackfn is null","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-iii-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTYvMTUuNC40LjE2LTctYy1paWktMjAuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZXZlcnkgLSByZXR1cm4gdmFsdWUgb2YgY2FsbGJhY2tmbiBpcyB0aGUgTWF0aCBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgcmV0dXJuIE1hdGg7DQogICAgICAgIH0NCg0KICAgICAgICByZXR1cm4gWzExXS5ldmVyeShjYWxsYmFja2ZuKSAmJiBhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.every - return value of callbackfn is the Math object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-iii-20.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTYvMTUuNC40LjE2LTctYy1paWktMjEuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZXZlcnkgLSByZXR1cm4gdmFsdWUgb2YgY2FsbGJhY2tmbiBpcyBhIERhdGUgb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIHJldHVybiBuZXcgRGF0ZSgpOw0KICAgICAgICB9DQoNCiAgICAgICAgcmV0dXJuIFsxMV0uZXZlcnkoY2FsbGJhY2tmbikgJiYgYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.every - return value of callbackfn is a Date object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-iii-21.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTYvMTUuNC40LjE2LTctYy1paWktMjIuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZXZlcnkgLSByZXR1cm4gdmFsdWUgb2YgY2FsbGJhY2tmbiBpcyBhIFJlZ0V4cCBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgcmV0dXJuIG5ldyBSZWdFeHAoKTsNCiAgICAgICAgfQ0KDQogICAgICAgIHJldHVybiBbMTFdLmV2ZXJ5KGNhbGxiYWNrZm4pICYmIGFjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.every - return value of callbackfn is a RegExp object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-iii-22.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTYvMTUuNC40LjE2LTctYy1paWktMjMuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZXZlcnkgLSByZXR1cm4gdmFsdWUgb2YgY2FsbGJhY2tmbiBpcyB0aGUgSlNPTiBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgcmV0dXJuIEpTT047DQogICAgICAgIH0NCg0KICAgICAgICByZXR1cm4gWzExXS5ldmVyeShjYWxsYmFja2ZuKSAmJiBhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.every - return value of callbackfn is the JSON object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-iii-23.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTYvMTUuNC40LjE2LTctYy1paWktMjQuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZXZlcnkgLSByZXR1cm4gdmFsdWUgb2YgY2FsbGJhY2tmbiBpcyBhbiBFcnJvciBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgcmV0dXJuIG5ldyBFdmFsRXJyb3IoKTsNCiAgICAgICAgfQ0KDQogICAgICAgIHJldHVybiBbMTFdLmV2ZXJ5KGNhbGxiYWNrZm4pICYmIGFjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.every - return value of callbackfn is an Error object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-iii-24.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTYvMTUuNC40LjE2LTctYy1paWktMjUuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZXZlcnkgLSByZXR1cm4gdmFsdWUgb2YgY2FsbGJhY2tmbiBpcyB0aGUgQXJndW1lbnRzIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICByZXR1cm4gYXJndW1lbnRzOw0KICAgICAgICB9DQoNCiAgICAgICAgcmV0dXJuIFsxMV0uZXZlcnkoY2FsbGJhY2tmbikgJiYgYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.every - return value of callbackfn is the Arguments object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-iii-25.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTYvMTUuNC40LjE2LTctYy1paWktMjcuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZXZlcnkgLSByZXR1cm4gdmFsdWUgb2YgY2FsbGJhY2tmbiBpcyB0aGUgZ2xvYmFsIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICByZXR1cm4gZm5HbG9iYWxPYmplY3QoKTsNCiAgICAgICAgfQ0KDQogICAgICAgIHJldHVybiBbMTFdLmV2ZXJ5KGNhbGxiYWNrZm4pICYmIGFjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.every - return value of callbackfn is the global object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-iii-27.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTYvMTUuNC40LjE2LTctYy1paWktMjguanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZXZlcnkgLSBmYWxzZSBwcmV2ZW50cyBmdXJ0aGVyIHNpZGUgZWZmZWN0cw0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHJlc3VsdCA9IGZhbHNlOw0KICAgICAgICB2YXIgb2JqID0geyBsZW5ndGg6IDIwIH07DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBpZiAoaWR4ID4gMSkgew0KICAgICAgICAgICAgICAgIHJlc3VsdCA9IHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgICAgICByZXR1cm4gdmFsID4gMTA7DQogICAgICAgIH0NCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiMCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiAxMTsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgIjEiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gODsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgIjIiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXN1bHQgPSB0cnVlOw0KICAgICAgICAgICAgICAgIHJldHVybiA4Ow0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICByZXR1cm4gIUFycmF5LnByb3RvdHlwZS5ldmVyeS5jYWxsKG9iaiwgY2FsbGJhY2tmbikgJiYgIXJlc3VsdDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.every - false prevents further side effects","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-iii-28.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTYvMTUuNC40LjE2LTctYy1paWktMjkuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZXZlcnkgLSByZXR1cm4gdmFsdWUgKG5ldyBCb29sZWFuKGZhbHNlKSkgb2YgY2FsbGJhY2tmbiBpcyB0cmVhdGVkIGFzIHRydWUgdmFsdWUNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgcmV0dXJuIG5ldyBCb29sZWFuKGZhbHNlKTsNCiAgICAgICAgfQ0KDQogICAgICAgIHJldHVybiBbMTFdLmV2ZXJ5KGNhbGxiYWNrZm4pICYmIGFjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.every - return value (new Boolean(false)) of callbackfn is treated as true value","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-iii-29.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTYvMTUuNC40LjE2LTctYy1paWktMy5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5ldmVyeSAtIHJldHVybiB2YWx1ZSBvZiBjYWxsYmFja2ZuIGlzIGEgYm9vbGVhbiAodmFsdWUgaXMgZmFsc2UpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCiAgICAgICAgdmFyIG9iaiA9IHsgMDogMTEsIGxlbmd0aDogMSB9Ow0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9DQoNCiAgICAgICAgcmV0dXJuICFBcnJheS5wcm90b3R5cGUuZXZlcnkuY2FsbChvYmosIGNhbGxiYWNrZm4pICYmIGFjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.every - return value of callbackfn is a boolean (value is false)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-iii-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTYvMTUuNC40LjE2LTctYy1paWktNC5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5ldmVyeSAtIHJldHVybiB2YWx1ZSBvZiBjYWxsYmFja2ZuIGlzIGEgYm9vbGVhbiAodmFsdWUgaXMgdHJ1ZSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KICAgICAgICB2YXIgb2JqID0geyAwOiAxMSwgbGVuZ3RoOiAxIH07DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICByZXR1cm4gdHJ1ZTsNCiAgICAgICAgfQ0KDQogICAgICAgDQoNCiAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5ldmVyeS5jYWxsKG9iaiwgY2FsbGJhY2tmbikgJiYgYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.every - return value of callbackfn is a boolean (value is true)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-iii-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTYvMTUuNC40LjE2LTctYy1paWktNS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5ldmVyeSAtIHJldHVybiB2YWx1ZSBvZiBjYWxsYmFja2ZuIGlzIGEgbnVtYmVyICh2YWx1ZSBpcyAwKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICByZXR1cm4gMDsNCiAgICAgICAgfQ0KDQogICAgICAgIHJldHVybiAhWzExXS5ldmVyeShjYWxsYmFja2ZuKSAmJiBhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.every - return value of callbackfn is a number (value is 0)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-iii-5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTYvMTUuNC40LjE2LTctYy1paWktNi5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5ldmVyeSAtIHJldHVybiB2YWx1ZSBvZiBjYWxsYmFja2ZuIGlzIGEgbnVtYmVyICh2YWx1ZSBpcyArMCkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgcmV0dXJuICswOw0KICAgICAgICB9DQoNCiAgICAgICAgcmV0dXJuICFbMTFdLmV2ZXJ5KGNhbGxiYWNrZm4pICYmIGFjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.every - return value of callbackfn is a number (value is +0)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-iii-6.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTYvMTUuNC40LjE2LTctYy1paWktNy5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5ldmVyeSAtIHJldHVybiB2YWx1ZSBvZiBjYWxsYmFja2ZuIGlzIGEgbnVubWJlciAodmFsdWUgaXMgLTApDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIHJldHVybiAtMDsNCiAgICAgICAgfQ0KDQogICAgICAgIHJldHVybiAhWzExXS5ldmVyeShjYWxsYmFja2ZuKSAmJiBhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.every - return value of callbackfn is a nunmber (value is -0)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-iii-7.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTYvMTUuNC40LjE2LTctYy1paWktOC5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5ldmVyeSAtIHJldHVybiB2YWx1ZSBvZiBjYWxsYmFja2ZuIGlzIGEgbnVtYmVyICh2YWx1ZSBpcyBwb3NpdGl2ZSBudW1iZXIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIHJldHVybiA1Ow0KICAgICAgICB9DQoNCiAgICAgICAgcmV0dXJuIFsxMV0uZXZlcnkoY2FsbGJhY2tmbikgJiYgYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.every - return value of callbackfn is a number (value is positive number)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-iii-8.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTYvMTUuNC40LjE2LTctYy1paWktOS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5ldmVyeSAtIHJldHVybiB2YWx1ZSBvZiBjYWxsYmFja2ZuIGlzIGEgbnVtYmVyICh2YWx1ZSBpcyBuZWdhdGl2ZSBudW1iZXIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIHJldHVybiAtNTsNCiAgICAgICAgfQ0KDQogICAgICAgIHJldHVybiBbMTFdLmV2ZXJ5KGNhbGxiYWNrZm4pICYmIGFjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.every - return value of callbackfn is a number (value is negative number)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-7-c-iii-9.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTYvMTUuNC40LjE2LTgtMS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5ldmVyeSByZXR1cm5zIHRydWUgaWYgJ2xlbmd0aCcgaXMgMCAoZW1wdHkgYXJyYXkpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgZnVuY3Rpb24gY2IoKSB7fQ0KICB2YXIgaSA9IFtdLmV2ZXJ5KGNiKTsNCiAgaWYgKGkgPT09IHRydWUpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.every returns true if 'length' is 0 (empty array)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-8-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTYvMTUuNC40LjE2LTgtMTAuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZXZlcnkgLSBzdWJjbGFzc2VkIGFycmF5IHdoZW4gbGVuZ3RoIGlzIHJlZHVjZWQNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICBmb28ucHJvdG90eXBlID0gbmV3IEFycmF5KDEsIDIsIDMpOw0KICBmdW5jdGlvbiBmb28oKSB7fQ0KICB2YXIgZiA9IG5ldyBmb28oKTsNCiAgZi5sZW5ndGggPSAyOw0KICANCiAgZnVuY3Rpb24gY2IodmFsKQ0KICB7DQogICAgaWYodmFsPjIpDQogICAgICByZXR1cm4gZmFsc2U7DQogICAgZWxzZQ0KICAgICAgcmV0dXJuIHRydWU7ICAgIA0KICB9DQogIHZhciBpID0gZi5ldmVyeShjYik7DQogIA0KICBpZiAoaSA9PT0gdHJ1ZSkgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.every - subclassed array when length is reduced","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-8-10.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTYvMTUuNC40LjE2LTgtMTEuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZXZlcnkgcmV0dXJucyB0cnVlIHdoZW4gYWxsIGNhbGxzIHRvIGNhbGxiYWNrZm4gcmV0dXJuIHRydWUNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgeyANCiANCiAgdmFyIGNhbGxDbnQgPSAwOw0KICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopDQogIHsNCiAgICBjYWxsQ250Kys7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCg0KICB2YXIgYXJyID0gWzAsMSwyLDMsNCw1LDYsNyw4LDldOw0KICANCiAgaWYoYXJyLmV2ZXJ5KGNhbGxiYWNrZm4pID09PSB0cnVlICYmIGNhbGxDbnQgPT09IDEwKSANCiAgICByZXR1cm4gdHJ1ZTsNCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.every returns true when all calls to callbackfn return true","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-8-11.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTYvMTUuNC40LjE2LTgtMTIuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZXZlcnkgZG9lc24ndCBtdXRhdGUgdGhlIGFycmF5IG9uIHdoaWNoIGl0IGlzIGNhbGxlZCBvbg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKQ0KICB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiAgdmFyIGFyciA9IFsxLDIsMyw0LDVdOw0KICBhcnIuZXZlcnkoY2FsbGJhY2tmbik7DQogIGlmKGFyclswXSA9PT0gMSAmJg0KICAgICBhcnJbMV0gPT09IDIgJiYNCiAgICAgYXJyWzJdID09PSAzICYmDQogICAgIGFyclszXSA9PT0gNCAmJg0KICAgICBhcnJbNF0gPT09IDUpDQogIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KDQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.every doesn't mutate the array on which it is called on","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-8-12.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTYvMTUuNC40LjE2LTgtMTMuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZXZlcnkgZG9lc24ndCB2aXNpdCBleHBhbmRvcw0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7IA0KIA0KICB2YXIgY2FsbENudCA9IDA7DQogIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikNCiAgew0KICAgIGNhbGxDbnQrKzsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KDQogIHZhciBhcnIgPSBbMCwxLDIsMyw0LDUsNiw3LDgsOV07DQogIGFyclsiaSJdID0gMTA7DQogIGFyclt0cnVlXSA9IDExOw0KICANCiAgaWYoYXJyLmV2ZXJ5KGNhbGxiYWNrZm4pID09PSB0cnVlICYmIGNhbGxDbnQgPT09IDEwKSANCiAgICByZXR1cm4gdHJ1ZTsNCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.every doesn't visit expandos","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-8-13.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTYvMTUuNC40LjE2LTgtMi5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5ldmVyeSByZXR1cm5zIHRydWUgaWYgJ2xlbmd0aCcgaXMgMCAoc3ViY2xhc3NlZCBBcnJheSwgbGVuZ3RoIG92ZXJyaWRkZW4gdG8gbnVsbCAodHlwZSBjb252ZXJzaW9uKSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICBmb28ucHJvdG90eXBlID0gbmV3IEFycmF5KDEsIDIsIDMpOw0KICBmdW5jdGlvbiBmb28oKSB7fQ0KICB2YXIgZiA9IG5ldyBmb28oKTsNCiAgZi5sZW5ndGggPSBudWxsOw0KICANCiAgZnVuY3Rpb24gY2IoKXt9DQogIHZhciBpID0gZi5ldmVyeShjYik7DQogIA0KICBpZiAoaSA9PT0gdHJ1ZSkgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.every returns true if 'length' is 0 (subclassed Array, length overridden to null (type conversion))","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-8-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTYvMTUuNC40LjE2LTgtMy5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5ldmVyeSByZXR1cm5zIHRydWUgaWYgJ2xlbmd0aCcgaXMgMCAoc3ViY2xhc3NlZCBBcnJheSwgbGVuZ3RoIG92ZXJyaWRkZW4gdG8gZmFsc2UgKHR5cGUgY29udmVyc2lvbikpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgZm9vLnByb3RvdHlwZSA9IG5ldyBBcnJheSgxLCAyLCAzKTsNCiAgZnVuY3Rpb24gZm9vKCkge30NCiAgdmFyIGYgPSBuZXcgZm9vKCk7DQogIGYubGVuZ3RoID0gZmFsc2U7DQoNCiAgZnVuY3Rpb24gY2IoKXt9DQogIHZhciBpID0gZi5ldmVyeShjYik7DQogIA0KICBpZiAoaSA9PT0gdHJ1ZSkgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.every returns true if 'length' is 0 (subclassed Array, length overridden to false (type conversion))","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-8-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTYvMTUuNC40LjE2LTgtNC5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5ldmVyeSByZXR1cm5zIHRydWUgaWYgJ2xlbmd0aCcgaXMgMCAoc3ViY2xhc3NlZCBBcnJheSwgbGVuZ3RoIG92ZXJyaWRkZW4gdG8gMCAodHlwZSBjb252ZXJzaW9uKSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICBmb28ucHJvdG90eXBlID0gbmV3IEFycmF5KDEsIDIsIDMpOw0KICBmdW5jdGlvbiBmb28oKSB7fQ0KICB2YXIgZiA9IG5ldyBmb28oKTsNCiAgZi5sZW5ndGggPSAwOw0KDQogIGZ1bmN0aW9uIGNiKCl7fQ0KICB2YXIgaSA9IGYuZXZlcnkoY2IpOw0KICANCiAgaWYgKGkgPT09IHRydWUpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.every returns true if 'length' is 0 (subclassed Array, length overridden to 0 (type conversion))","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-8-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTYvMTUuNC40LjE2LTgtNS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5ldmVyeSByZXR1cm5zIHRydWUgaWYgJ2xlbmd0aCcgaXMgMCAoc3ViY2xhc3NlZCBBcnJheSwgbGVuZ3RoIG92ZXJyaWRkZW4gdG8gJzAnICh0eXBlIGNvbnZlcnNpb24pKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIGZvby5wcm90b3R5cGUgPSBuZXcgQXJyYXkoMSwgMiwgMyk7DQogIGZ1bmN0aW9uIGZvbygpIHt9DQogIHZhciBmID0gbmV3IGZvbygpOw0KICBmLmxlbmd0aCA9ICcwJzsNCiAgDQogIGZ1bmN0aW9uIGNiKCl7fQ0KICB2YXIgaSA9IGYuZXZlcnkoY2IpOw0KICANCiAgaWYgKGkgPT09IHRydWUpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.every returns true if 'length' is 0 (subclassed Array, length overridden to '0' (type conversion))","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-8-5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTYvMTUuNC40LjE2LTgtNi5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5ldmVyeSByZXR1cm5zIHRydWUgaWYgJ2xlbmd0aCcgaXMgMCAoc3ViY2xhc3NlZCBBcnJheSwgbGVuZ3RoIG92ZXJyaWRkZW4gd2l0aCBvYmogd2l0aCB2YWx1ZU9mKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIGZvby5wcm90b3R5cGUgPSBuZXcgQXJyYXkoMSwgMiwgMyk7DQogIGZ1bmN0aW9uIGZvbygpIHt9DQogIHZhciBmID0gbmV3IGZvbygpOw0KICANCiAgdmFyIG8gPSB7IHZhbHVlT2Y6IGZ1bmN0aW9uICgpIHsgcmV0dXJuIDA7fX07DQogIGYubGVuZ3RoID0gbzsNCiAgDQogIGZ1bmN0aW9uIGNiKCl7fQ0KICB2YXIgaSA9IGYuZXZlcnkoY2IpOw0KICANCiAgaWYgKGkgPT09IHRydWUpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.every returns true if 'length' is 0 (subclassed Array, length overridden with obj with valueOf)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-8-6.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTYvMTUuNC40LjE2LTgtNy5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5ldmVyeSByZXR1cm5zIHRydWUgaWYgJ2xlbmd0aCcgaXMgMCAoc3ViY2xhc3NlZCBBcnJheSwgbGVuZ3RoIG92ZXJyaWRkZW4gd2l0aCBvYmogdy9vIHZhbHVlT2YgKHRvU3RyaW5nKSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICBmb28ucHJvdG90eXBlID0gbmV3IEFycmF5KDEsIDIsIDMpOw0KICBmdW5jdGlvbiBmb28oKSB7fQ0KICB2YXIgZiA9IG5ldyBmb28oKTsNCiAgDQogIHZhciBvID0geyB0b1N0cmluZzogZnVuY3Rpb24gKCkgeyByZXR1cm4gJzAnO319Ow0KICBmLmxlbmd0aCA9IG87DQogIA0KICAvLyBvYmplY3RzIGluaGVyaXQgdGhlIGRlZmF1bHQgdmFsdWVPZiBtZXRob2Qgb2YgdGhlIE9iamVjdCBvYmplY3Q7DQogIC8vIHRoYXQgc2ltcGx5IHJldHVybnMgdGhlIGl0c2VsZi4gU2luY2UgdGhlIGRlZmF1bHQgdmFsdWVPZigpIG1ldGhvZA0KICAvLyBkb2VzIG5vdCByZXR1cm4gYSBwcmltaXRpdmUgdmFsdWUsIEVTIG5leHQgdHJpZXMgdG8gY29udmVydCB0aGUgb2JqZWN0DQogIC8vIHRvIGEgbnVtYmVyIGJ5IGNhbGxpbmcgaXRzIHRvU3RyaW5nKCkgbWV0aG9kIGFuZCBjb252ZXJ0aW5nIHRoZQ0KICAvLyByZXN1bHRpbmcgc3RyaW5nIHRvIGEgbnVtYmVyLg0KICBmdW5jdGlvbiBjYigpe30NCiAgdmFyIGkgPSBmLmV2ZXJ5KGNiKTsNCiAgDQogIGlmIChpID09PSB0cnVlKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.every returns true if 'length' is 0 (subclassed Array, length overridden with obj w/o valueOf (toString))","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-8-7.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTYvMTUuNC40LjE2LTgtOC5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5ldmVyeSByZXR1cm5zIHRydWUgaWYgJ2xlbmd0aCcgaXMgMCAoc3ViY2xhc3NlZCBBcnJheSwgbGVuZ3RoIG92ZXJyaWRkZW4gd2l0aCBbXQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIGZvby5wcm90b3R5cGUgPSBuZXcgQXJyYXkoMSwgMiwgMyk7DQogIGZ1bmN0aW9uIGZvbygpIHt9DQogIHZhciBmID0gbmV3IGZvbygpOw0KICANCiAgZi5sZW5ndGggPSBbXTsNCiAgDQogIC8vIG9iamVjdHMgaW5oZXJpdCB0aGUgZGVmYXVsdCB2YWx1ZU9mIG1ldGhvZCBvZiB0aGUgT2JqZWN0IG9iamVjdDsNCiAgLy8gdGhhdCBzaW1wbHkgcmV0dXJucyB0aGUgaXRzZWxmLiBTaW5jZSB0aGUgZGVmYXVsdCB2YWx1ZU9mKCkgbWV0aG9kDQogIC8vIGRvZXMgbm90IHJldHVybiBhIHByaW1pdGl2ZSB2YWx1ZSwgRVMgbmV4dCB0cmllcyB0byBjb252ZXJ0IHRoZSBvYmplY3QNCiAgLy8gdG8gYSBudW1iZXIgYnkgY2FsbGluZyBpdHMgdG9TdHJpbmcoKSBtZXRob2QgYW5kIGNvbnZlcnRpbmcgdGhlDQogIC8vIHJlc3VsdGluZyBzdHJpbmcgdG8gYSBudW1iZXIuDQogIC8vDQogIC8vIFRoZSB0b1N0cmluZyggKSBtZXRob2Qgb24gQXJyYXkgY29udmVydHMgdGhlIGFycmF5IGVsZW1lbnRzIHRvIHN0cmluZ3MsDQogIC8vIHRoZW4gcmV0dXJucyB0aGUgcmVzdWx0IG9mIGNvbmNhdGVuYXRpbmcgdGhlc2Ugc3RyaW5ncywgd2l0aCBjb21tYXMgaW4NCiAgLy8gYmV0d2Vlbi4gQW4gYXJyYXkgd2l0aCBubyBlbGVtZW50cyBjb252ZXJ0cyB0byB0aGUgZW1wdHkgc3RyaW5nLCB3aGljaA0KICAvLyBjb252ZXJ0cyB0byB0aGUgbnVtYmVyIDAuIElmIGFuIGFycmF5IGhhcyBhIHNpbmdsZSBlbGVtZW50IHRoYXQgaXMgYQ0KICAvLyBudW1iZXIgbiwgdGhlIGFycmF5IGNvbnZlcnRzIHRvIGEgc3RyaW5nIHJlcHJlc2VudGF0aW9uIG9mIG4sIHdoaWNoIGlzDQogIC8vIHRoZW4gY29udmVydGVkIGJhY2sgdG8gbiBpdHNlbGYuIElmIGFuIGFycmF5IGNvbnRhaW5zIG1vcmUgdGhhbiBvbmUgZWxlbWVudCwNCiAgLy8gb3IgaWYgaXRzIG9uZSBlbGVtZW50IGlzIG5vdCBhIG51bWJlciwgdGhlIGFycmF5IGNvbnZlcnRzIHRvIE5hTi4NCg0KICBmdW5jdGlvbiBjYigpe30NCiAgdmFyIGkgPSBmLmV2ZXJ5KGNiKTsNCiAgDQogIGlmIChpID09PSB0cnVlKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.every returns true if 'length' is 0 (subclassed Array, length overridden with []","path":"TestCases/ch15/15.4/15.4.4/15.4.4.16/15.4.4.16-8-8.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTcvMTUuNC40LjE3LTAtMS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5zb21lIG11c3QgZXhpc3QgYXMgYSBmdW5jdGlvbg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBmID0gQXJyYXkucHJvdG90eXBlLnNvbWU7DQogIGlmICh0eXBlb2YoZikgPT09ICJmdW5jdGlvbiIpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.some must exist as a function","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-0-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTcvMTUuNC40LjE3LTAtMi5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5zb21lLmxlbmd0aCBtdXN0IGJlIDENCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICBpZiAoQXJyYXkucHJvdG90eXBlLnNvbWUubGVuZ3RoID09PSAxKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.some.length must be 1","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-0-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTcvMTUuNC40LjE3LTEtMS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5zb21lIGFwcGxpZWQgdG8gdW5kZWZpbmVkIHRocm93cyBhIFR5cGVFcnJvcg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBBcnJheS5wcm90b3R5cGUuc29tZS5jYWxsKHVuZGVmaW5lZCk7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiAoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcik7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.some applied to undefined throws a TypeError","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-1-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTcvMTUuNC40LjE3LTEtMTAuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuc29tZSBhcHBsaWVkIHRvIHRoZSBNYXRoIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuICdbb2JqZWN0IE1hdGhdJyA9PT0gT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKG9iaik7DQogICAgICAgIH0NCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgTWF0aC5sZW5ndGggPSAxOw0KICAgICAgICAgICAgTWF0aFswXSA9IDE7DQogICAgICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLnNvbWUuY2FsbChNYXRoLCBjYWxsYmFja2ZuKTsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBNYXRoWzBdOw0KICAgICAgICAgICAgZGVsZXRlIE1hdGgubGVuZ3RoOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.some applied to the Math object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-1-10.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTcvMTUuNC40LjE3LTEtMTEuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuc29tZSBhcHBsaWVkIHRvIERhdGUgb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gb2JqIGluc3RhbmNlb2YgRGF0ZTsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSBuZXcgRGF0ZSgpOw0KICAgICAgICBvYmoubGVuZ3RoID0gMjsNCiAgICAgICAgb2JqWzBdID0gMTE7DQogICAgICAgIG9ialsxXSA9IDk7DQoNCiAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5zb21lLmNhbGwob2JqLCBjYWxsYmFja2ZuKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.some applied to Date object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-1-11.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTcvMTUuNC40LjE3LTEtMTIuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuc29tZSBhcHBsaWVkIHRvIFJlZ0V4cCBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiBvYmogaW5zdGFuY2VvZiBSZWdFeHA7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0gbmV3IFJlZ0V4cCgpOw0KICAgICAgICBvYmoubGVuZ3RoID0gMjsNCiAgICAgICAgb2JqWzBdID0gMTE7DQogICAgICAgIG9ialsxXSA9IDk7DQoNCiAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5zb21lLmNhbGwob2JqLCBjYWxsYmFja2ZuKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.some applied to RegExp object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-1-12.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTcvMTUuNC40LjE3LTEtMTMuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuc29tZSBhcHBsaWVkIHRvIHRoZSBKU09OIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuICdbb2JqZWN0IEpTT05dJyA9PT0gT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKG9iaik7DQogICAgICAgIH0NCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgSlNPTi5sZW5ndGggPSAxOw0KICAgICAgICAgICAgSlNPTlswXSA9IDE7DQogICAgICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLnNvbWUuY2FsbChKU09OLCBjYWxsYmFja2ZuKTsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBKU09OLmxlbmd0aDsNCiAgICAgICAgICAgIGRlbGV0ZSBKU09OWzBdOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.some applied to the JSON object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-1-13.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTcvMTUuNC40LjE3LTEtMTQuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuc29tZSBhcHBsaWVkIHRvIEVycm9yIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIG9iaiBpbnN0YW5jZW9mIEVycm9yOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IG5ldyBFcnJvcigpOw0KICAgICAgICBvYmoubGVuZ3RoID0gMTsNCiAgICAgICAgb2JqWzBdID0gMTsNCg0KICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLnNvbWUuY2FsbChvYmosIGNhbGxiYWNrZm4pOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.some applied to Error object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-1-14.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTcvMTUuNC40LjE3LTEtMTUuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuc29tZSBhcHBsaWVkIHRvIHRoZSBBcmd1bWVudHMgb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gJ1tvYmplY3QgQXJndW1lbnRzXScgPT09IE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbChvYmopOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IChmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICByZXR1cm4gYXJndW1lbnRzOw0KICAgICAgICB9KCJhIiwgImIiKSk7DQoNCiAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5zb21lLmNhbGwob2JqLCBjYWxsYmFja2ZuKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.some applied to the Arguments object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-1-15.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTcvMTUuNC40LjE3LTEtMi5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5zb21lIGFwcGxpZWQgdG8gbnVsbCB0aHJvd3MgYSBUeXBlRXJyb3INCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlLnNvbWUuY2FsbChudWxsKTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIChlIGluc3RhbmNlb2YgVHlwZUVycm9yKTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.some applied to null throws a TypeError","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-1-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTcvMTUuNC40LjE3LTEtMy5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5zb21lIGFwcGxpZWQgdG8gYm9vbGVhbiBwcmltaXRpdmUNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiBvYmogaW5zdGFuY2VvZiBCb29sZWFuOw0KICAgICAgICB9DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIEJvb2xlYW4ucHJvdG90eXBlWzBdID0gMTsNCiAgICAgICAgICAgIEJvb2xlYW4ucHJvdG90eXBlLmxlbmd0aCA9IDE7DQogICAgICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLnNvbWUuY2FsbChmYWxzZSwgY2FsbGJhY2tmbik7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgQm9vbGVhbi5wcm90b3R5cGVbMF07DQogICAgICAgICAgICBkZWxldGUgQm9vbGVhbi5wcm90b3R5cGUubGVuZ3RoOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.some applied to boolean primitive","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-1-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTcvMTUuNC40LjE3LTEtNC5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5zb21lIGFwcGxpZWQgdG8gQm9vbGVhbiBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiBvYmogaW5zdGFuY2VvZiBCb29sZWFuOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IG5ldyBCb29sZWFuKHRydWUpOw0KICAgICAgICBvYmoubGVuZ3RoID0gMjsNCiAgICAgICAgb2JqWzBdID0gMTE7DQogICAgICAgIG9ialsxXSA9IDk7DQoNCiAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5zb21lLmNhbGwob2JqLCBjYWxsYmFja2ZuKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.some applied to Boolean object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-1-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTcvMTUuNC40LjE3LTEtNS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5zb21lIGFwcGxpZWQgdG8gbnVtYmVyIHByaW1pdGl2ZQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIG9iaiBpbnN0YW5jZW9mIE51bWJlcjsNCiAgICAgICAgfQ0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBOdW1iZXIucHJvdG90eXBlWzFdID0gdHJ1ZTsNCiAgICAgICAgICAgIE51bWJlci5wcm90b3R5cGUubGVuZ3RoID0gMjsNCg0KICAgICAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5zb21lLmNhbGwoNSwgY2FsbGJhY2tmbik7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgTnVtYmVyLnByb3RvdHlwZVsxXTsNCiAgICAgICAgICAgIGRlbGV0ZSBOdW1iZXIucHJvdG90eXBlLmxlbmd0aDsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.some applied to number primitive","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-1-5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTcvMTUuNC40LjE3LTEtNi5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5zb21lIGFwcGxpZWQgdG8gTnVtYmVyIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIG9iaiBpbnN0YW5jZW9mIE51bWJlcjsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSBuZXcgTnVtYmVyKC0xMjgpOw0KICAgICAgICBvYmoubGVuZ3RoID0gMjsNCiAgICAgICAgb2JqWzBdID0gMTE7DQogICAgICAgIG9ialsxXSA9IDk7DQoNCiAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5zb21lLmNhbGwob2JqLCBjYWxsYmFja2ZuKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.some applied to Number object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-1-6.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTcvMTUuNC40LjE3LTEtNy5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5zb21lIGFwcGxpZWQgdG8gYXBwbGllZCB0byBzdHJpbmcgcHJpbWl0aXZlDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gb2JqIGluc3RhbmNlb2YgU3RyaW5nOw0KICAgICAgICB9DQoNCiAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5zb21lLmNhbGwoImhlbGxvXG53X29ybGRcXCEiLCBjYWxsYmFja2ZuKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.some applied to applied to string primitive","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-1-7.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTcvMTUuNC40LjE3LTEtOC5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5zb21lIGFwcGxpZWQgdG8gU3RyaW5nIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIG9iaiBpbnN0YW5jZW9mIFN0cmluZzsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSBuZXcgU3RyaW5nKCJoZWxsb1xud19vcmxkXFwhIik7DQogICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUuc29tZS5jYWxsKG9iaiwgY2FsbGJhY2tmbik7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.some applied to String object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-1-8.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTcvMTUuNC40LjE3LTEtOS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5zb21lIGFwcGxpZWQgdG8gRnVuY3Rpb24gb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gb2JqIGluc3RhbmNlb2YgRnVuY3Rpb247DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0gZnVuY3Rpb24gKGEsIGIpIHsNCiAgICAgICAgICAgIHJldHVybiBhICsgYjsNCiAgICAgICAgfTsNCiAgICAgICAgb2JqWzBdID0gMTE7DQogICAgICAgIG9ialsxXSA9IDk7DQogICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUuc29tZS5jYWxsKG9iaiwgY2FsbGJhY2tmbik7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.some applied to Function object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-1-9.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTcvMTUuNC40LjE3LTItMS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5zb21lIC0gJ2xlbmd0aCcgaXMgb3duIGRhdGEgcHJvcGVydHkgb24gYW4gQXJyYXktbGlrZSBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4xKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiB2YWwgPiAxMDsNCiAgICAgICAgfQ0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4yKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiB2YWwgPiAxMTsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSB7DQogICAgICAgICAgICAwOiA5LA0KICAgICAgICAgICAgMTogMTEsDQogICAgICAgICAgICAyOiAxMiwNCiAgICAgICAgICAgIGxlbmd0aDogMg0KICAgICAgICB9Ow0KDQogICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUuc29tZS5jYWxsKG9iaiwgY2FsbGJhY2tmbjEpICYmDQogICAgICAgICAgICAhQXJyYXkucHJvdG90eXBlLnNvbWUuY2FsbChvYmosIGNhbGxiYWNrZm4yKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.some - 'length' is own data property on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-2-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTcvMTUuNC40LjE3LTItMTAuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuc29tZSAtICdsZW5ndGgnIGlzIGFuIGluaGVyaXRlZCBhY2Nlc3NvciBwcm9wZXJ0eSBvbiBhbiBBcnJheS1saWtlIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4xKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiB2YWwgPiAxMDsNCiAgICAgICAgfQ0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4yKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiB2YWwgPiAxMTsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBwcm90byA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShwcm90bywgImxlbmd0aCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiAyOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgQ29uID0gZnVuY3Rpb24gKCkgeyB9Ow0KICAgICAgICBDb24ucHJvdG90eXBlID0gcHJvdG87DQoNCiAgICAgICAgdmFyIGNoaWxkID0gbmV3IENvbigpOw0KICAgICAgICBjaGlsZFswXSA9IDk7DQogICAgICAgIGNoaWxkWzFdID0gMTE7DQogICAgICAgIGNoaWxkWzJdID0gMTI7DQoNCiAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5zb21lLmNhbGwoY2hpbGQsIGNhbGxiYWNrZm4xKSAmJg0KICAgICAgICAgICAgIUFycmF5LnByb3RvdHlwZS5zb21lLmNhbGwoY2hpbGQsIGNhbGxiYWNrZm4yKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.some - 'length' is an inherited accessor property on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-2-10.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTcvMTUuNC40LjE3LTItMTEuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuc29tZSAtICdsZW5ndGgnIGlzIGFuIG93biBhY2Nlc3NvciBwcm9wZXJ0eSB3aXRob3V0IGEgZ2V0IGZ1bmN0aW9uIG9uIGFuIEFycmF5LWxpa2Ugb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIHJldHVybiB2YWwgPiAxMDsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSB7DQogICAgICAgICAgICAwOiAxMSwNCiAgICAgICAgICAgIDE6IDEyDQogICAgICAgIH07DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJsZW5ndGgiLCB7DQogICAgICAgICAgICBzZXQ6IGZ1bmN0aW9uICgpIHsgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICByZXR1cm4gIUFycmF5LnByb3RvdHlwZS5zb21lLmNhbGwob2JqLCBjYWxsYmFja2ZuKSAmJiAhYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.some - 'length' is an own accessor property without a get function on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-2-11.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTcvMTUuNC40LjE3LTItMTIuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuc29tZSAtICdsZW5ndGgnIGlzIG93biBhY2Nlc3NvciBwcm9wZXJ0eSB3aXRob3V0IGEgZ2V0IGZ1bmN0aW9uIHRoYXQgb3ZlcnJpZGVzIGFuIGluaGVyaXRlZCBhY2Nlc3NvciBwcm9wZXJ0eSBvbiBhbiBBcnJheS1saWtlIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgcmV0dXJuIHZhbCA+IDEwOw0KICAgICAgICB9DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShPYmplY3QucHJvdG90eXBlLCAibGVuZ3RoIiwgew0KICAgICAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gMjsNCiAgICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgIHZhciBvYmogPSB7IDA6IDExLCAxOiAxMiB9Ow0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgImxlbmd0aCIsIHsNCiAgICAgICAgICAgICAgICBzZXQ6IGZ1bmN0aW9uICgpIHsgfSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICByZXR1cm4gIUFycmF5LnByb3RvdHlwZS5zb21lLmNhbGwob2JqLCBjYWxsYmFja2ZuKSAmJiAhYWNjZXNzZWQ7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgT2JqZWN0LnByb3RvdHlwZS5sZW5ndGg7DQogICAgICAgIH0NCg0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.some - 'length' is own accessor property without a get function that overrides an inherited accessor property on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-2-12.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTcvMTUuNC40LjE3LTItMTMuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuc29tZSAtICdsZW5ndGgnIGlzIGluaGVyaXRlZCBhY2Nlc3NvciBwcm9wZXJ0eSB3aXRob3V0IGEgZ2V0IGZ1bmN0aW9uIG9uIGFuIEFycmF5LWxpa2Ugb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIHJldHVybiB2YWwgPiAxMDsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBwcm90byA9IHt9Ow0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkocHJvdG8sICJsZW5ndGgiLCB7DQogICAgICAgICAgICBzZXQ6IGZ1bmN0aW9uICgpIHsgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgQ29uID0gZnVuY3Rpb24gKCkgeyB9Ow0KICAgICAgICBDb24ucHJvdG90eXBlID0gcHJvdG87DQoNCiAgICAgICAgdmFyIGNoaWxkID0gbmV3IENvbigpOw0KICAgICAgICBjaGlsZFswXSA9IDExOw0KICAgICAgICBjaGlsZFsxXSA9IDEyOw0KDQogICAgICAgIHJldHVybiAhQXJyYXkucHJvdG90eXBlLnNvbWUuY2FsbChjaGlsZCwgY2FsbGJhY2tmbikgJiYgIWFjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.some - 'length' is inherited accessor property without a get function on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-2-13.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTcvMTUuNC40LjE3LTItMTQuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuc29tZSAtICdsZW5ndGgnIHByb3BlcnR5IGRvZXNuJ3QgZXhpc3Qgb24gYW4gQXJyYXktbGlrZSBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgcmV0dXJuIHZhbCA+IDEwOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgMDogMTEsIDE6IDEyIH07DQoNCiAgICAgICAgcmV0dXJuICFBcnJheS5wcm90b3R5cGUuc29tZS5jYWxsKG9iaiwgY2FsbGJhY2tmbikgJiYgIWFjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.some - 'length' property doesn't exist on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-2-14.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTcvMTUuNC40LjE3LTItMTUuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuc29tZSAtICdsZW5ndGgnIGlzIHByb3BlcnR5IG9mIHRoZSBnbG9iYWwgb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbjEodmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIHZhbCA+IDEwOw0KICAgICAgICB9DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbjIodmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIHZhbCA+IDExOw0KICAgICAgICB9DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIHZhciBvbGRMZW4gPSBmbkdsb2JhbE9iamVjdCgpLmxlbmd0aDsNCiAgICAgICAgICAgIGZuR2xvYmFsT2JqZWN0KClbMF0gPSA5Ow0KICAgICAgICAgICAgZm5HbG9iYWxPYmplY3QoKVsxXSA9IDExOw0KICAgICAgICAgICAgZm5HbG9iYWxPYmplY3QoKVsyXSA9IDEyOw0KICAgICAgICAgICAgZm5HbG9iYWxPYmplY3QoKS5sZW5ndGggPSAyOw0KICAgICAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5zb21lLmNhbGwoZm5HbG9iYWxPYmplY3QoKSwgY2FsbGJhY2tmbjEpICYmDQogICAgICAgICAgICAgICAgIUFycmF5LnByb3RvdHlwZS5zb21lLmNhbGwoZm5HbG9iYWxPYmplY3QoKSwgY2FsbGJhY2tmbjIpOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIGZuR2xvYmFsT2JqZWN0KClbMF07DQogICAgICAgICAgICBkZWxldGUgZm5HbG9iYWxPYmplY3QoKVsxXTsNCiAgICAgICAgICAgIGRlbGV0ZSBmbkdsb2JhbE9iamVjdCgpWzJdOw0KICAgICAgICAgICAgZm5HbG9iYWxPYmplY3QoKS5sZW5ndGggPSBvbGRMZW47DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.some - 'length' is property of the global object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-2-15.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTcvMTUuNC40LjE3LTItMTcuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuc29tZSBhcHBsaWVkIHRvIHRoZSBBcmd1bWVudHMgb2JqZWN0IHdoaWNoIGltcGxlbWVudHMgaXRzIG93biBwcm9wZXJ0eSBnZXQgbWV0aG9kDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbjEodmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIHZhbCA+IDEwOw0KICAgICAgICB9DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbjIodmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIHZhbCA+IDExOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIGZ1bmMgPSBmdW5jdGlvbiAoYSwgYikgew0KICAgICAgICAgICAgYXJndW1lbnRzWzJdID0gMTI7DQogICAgICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLnNvbWUuY2FsbChhcmd1bWVudHMsIGNhbGxiYWNrZm4xKSAmJg0KICAgICAgICAgICAgICAgICFBcnJheS5wcm90b3R5cGUuc29tZS5jYWxsKGFyZ3VtZW50cywgY2FsbGJhY2tmbjIpOw0KICAgICAgICB9Ow0KDQogICAgICAgIHJldHVybiBmdW5jKDksIDExKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.some applied to the Arguments object which implements its own property get method","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-2-17.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTcvMTUuNC40LjE3LTItMTguanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuc29tZSBhcHBsaWVkIHRvIFN0cmluZyBvYmplY3Qgd2hpY2ggaW1wbGVtZW50cyBpdHMgb3duIHByb3BlcnR5IGdldCBtZXRob2QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuMSh2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gcGFyc2VJbnQodmFsLCAxMCkgPiAxOw0KICAgICAgICB9DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbjIodmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIHBhcnNlSW50KHZhbCwgMTApID4gMjsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBzdHIgPSBuZXcgU3RyaW5nKCIxMiIpOw0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgU3RyaW5nLnByb3RvdHlwZVsyXSA9ICIzIjsNCiAgICAgICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUuc29tZS5jYWxsKHN0ciwgY2FsbGJhY2tmbjEpICYmDQogICAgICAgICAgICAgICAgIUFycmF5LnByb3RvdHlwZS5zb21lLmNhbGwoc3RyLCBjYWxsYmFja2ZuMik7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgU3RyaW5nLnByb3RvdHlwZVsyXTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.some applied to String object which implements its own property get method","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-2-18.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTcvMTUuNC40LjE3LTItMTkuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuc29tZSBhcHBsaWVkIHRvIEZ1bmN0aW9uIG9iamVjdCB3aGljaCBpbXBsZW1lbnRzIGl0cyBvd24gcHJvcGVydHkgZ2V0IG1ldGhvZA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4xKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiB2YWwgPiAxMDsNCiAgICAgICAgfQ0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4yKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiB2YWwgPiAxMTsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBmdW4gPSBmdW5jdGlvbiAoYSwgYikgew0KICAgICAgICAgICAgcmV0dXJuIGEgKyBiOw0KICAgICAgICB9Ow0KICAgICAgICBmdW5bMF0gPSA5Ow0KICAgICAgICBmdW5bMV0gPSAxMTsNCiAgICAgICAgZnVuWzJdID0gMTI7DQoNCiAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5zb21lLmNhbGwoZnVuLCBjYWxsYmFja2ZuMSkgJiYNCiAgICAgICAgICAgICFBcnJheS5wcm90b3R5cGUuc29tZS5jYWxsKGZ1biwgY2FsbGJhY2tmbjIpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.some applied to Function object which implements its own property get method","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-2-19.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTcvMTUuNC40LjE3LTItMi5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5zb21lIC0gJ2xlbmd0aCcgaXMgb3duIGRhdGEgcHJvcGVydHkgb24gYW4gQXJyYXkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuMSh2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gdmFsID4gMTA7DQogICAgICAgIH0NCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuMih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gdmFsID4gMTE7DQogICAgICAgIH0NCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlWzJdID0gMTI7DQoNCiAgICAgICAgICAgIHJldHVybiBbOSwgMTFdLnNvbWUoY2FsbGJhY2tmbjEpICYmDQogICAgICAgICAgICAgICAgIVs5LCAxMV0uc29tZShjYWxsYmFja2ZuMik7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgQXJyYXkucHJvdG90eXBlWzJdOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.some - 'length' is own data property on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-2-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTcvMTUuNC40LjE3LTItMy5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5zb21lIC0gJ2xlbmd0aCcgaXMgYW4gb3duIGRhdGEgcHJvcGVydHkgdGhhdCBvdmVycmlkZXMgYW4gaW5oZXJpdGVkIGRhdGEgcHJvcGVydHkgb24gYW4gQXJyYXktbGlrZSBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuMSh2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gdmFsID4gMTA7DQogICAgICAgIH0NCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuMih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gdmFsID4gMTE7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgcHJvdG8gPSB7IGxlbmd0aDogMyB9Ow0KDQogICAgICAgIHZhciBDb24gPSBmdW5jdGlvbiAoKSB7IH07DQogICAgICAgIENvbi5wcm90b3R5cGUgPSBwcm90bzsNCg0KICAgICAgICB2YXIgY2hpbGQgPSBuZXcgQ29uKCk7DQogICAgICAgIGNoaWxkLmxlbmd0aCA9IDI7DQogICAgICAgIGNoaWxkWzBdID0gOTsNCiAgICAgICAgY2hpbGRbMV0gPSAxMTsNCiAgICAgICAgY2hpbGRbMl0gPSAxMjsNCg0KICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLnNvbWUuY2FsbChjaGlsZCwgY2FsbGJhY2tmbjEpICYmDQogICAgICAgICAgICAhQXJyYXkucHJvdG90eXBlLnNvbWUuY2FsbChjaGlsZCwgY2FsbGJhY2tmbjIpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.some - 'length' is an own data property that overrides an inherited data property on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-2-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTcvMTUuNC40LjE3LTItNC5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5zb21lIC0gJ2xlbmd0aCcgaXMgYW4gb3duIGRhdGEgcHJvcGVydHkgdGhhdCBvdmVycmlkZXMgYW4gaW5oZXJpdGVkIGRhdGEgcHJvcGVydHkgb24gYW4gYXJyYXkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgYXJyUHJvdG9MZW4gPSAwOw0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuMSh2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gdmFsID4gMTA7DQogICAgICAgIH0NCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuMih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gdmFsID4gMTE7DQogICAgICAgIH0NCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgYXJyUHJvdG9MZW4gPSBBcnJheS5wcm90b3R5cGUubGVuZ3RoOw0KICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlLmxlbmd0aCA9IDA7DQogICAgICAgICAgICBBcnJheS5wcm90b3R5cGVbMl0gPSAxMjsNCg0KICAgICAgICAgICAgcmV0dXJuIFs5LCAxMV0uc29tZShjYWxsYmFja2ZuMSkgJiYNCiAgICAgICAgICAgICAgICAhWzksIDExXS5zb21lKGNhbGxiYWNrZm4yKTsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIEFycmF5LnByb3RvdHlwZS5sZW5ndGggPSBhcnJQcm90b0xlbjsNCiAgICAgICAgICAgIGRlbGV0ZSBBcnJheS5wcm90b3R5cGVbMl07DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.some - 'length' is an own data property that overrides an inherited data property on an array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-2-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTcvMTUuNC40LjE3LTItNS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5zb21lIC0gJ2xlbmd0aCcgaXMgYW4gb3duIGRhdGEgcHJvcGVydHkgdGhhdCBvdmVycmlkZXMgYW4gaW5oZXJpdGVkIGFjY2Vzc29yIHByb3BlcnR5IG9uIGFuIEFycmF5LWxpa2Ugb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbjEodmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIHZhbCA+IDEwOw0KICAgICAgICB9DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbjIodmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIHZhbCA+IDExOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIHByb3RvID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHByb3RvLCAibGVuZ3RoIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIDM7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBDb24gPSBmdW5jdGlvbiAoKSB7IH07DQogICAgICAgIENvbi5wcm90b3R5cGUgPSBwcm90bzsNCg0KICAgICAgICB2YXIgY2hpbGQgPSBuZXcgQ29uKCk7DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShjaGlsZCwgImxlbmd0aCIsIHsNCiAgICAgICAgICAgIHZhbHVlOiAyLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIGNoaWxkWzBdID0gOTsNCiAgICAgICAgY2hpbGRbMV0gPSAxMTsNCiAgICAgICAgY2hpbGRbMl0gPSAxMjsNCg0KICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLnNvbWUuY2FsbChjaGlsZCwgY2FsbGJhY2tmbjEpICYmDQogICAgICAgICAgICAhQXJyYXkucHJvdG90eXBlLnNvbWUuY2FsbChjaGlsZCwgY2FsbGJhY2tmbjIpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.some - 'length' is an own data property that overrides an inherited accessor property on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-2-5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTcvMTUuNC40LjE3LTItNi5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5zb21lIC0gJ2xlbmd0aCcgaXMgYW4gaW5oZXJpdGVkIGRhdGEgcHJvcGVydHkgb24gYW4gQXJyYXktbGlrZSBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuMSh2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gdmFsID4gMTA7DQogICAgICAgIH0NCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuMih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gdmFsID4gMTE7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgcHJvdG8gPSB7IGxlbmd0aDogMiB9Ow0KDQogICAgICAgIHZhciBDb24gPSBmdW5jdGlvbiAoKSB7IH07DQogICAgICAgIENvbi5wcm90b3R5cGUgPSBwcm90bzsNCg0KICAgICAgICB2YXIgY2hpbGQgPSBuZXcgQ29uKCk7DQogICAgICAgIGNoaWxkWzBdID0gOTsNCiAgICAgICAgY2hpbGRbMV0gPSAxMTsNCiAgICAgICAgY2hpbGRbMl0gPSAxMjsNCg0KICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLnNvbWUuY2FsbChjaGlsZCwgY2FsbGJhY2tmbjEpICYmDQogICAgICAgICAgICAhQXJyYXkucHJvdG90eXBlLnNvbWUuY2FsbChjaGlsZCwgY2FsbGJhY2tmbjIpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.some - 'length' is an inherited data property on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-2-6.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTcvMTUuNC40LjE3LTItNy5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5zb21lIC0gJ2xlbmd0aCcgaXMgYW4gb3duIGFjY2Vzc29yIHByb3BlcnR5IG9uIGFuIEFycmF5LWxpa2Ugb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbjEodmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIHZhbCA+IDEwOw0KICAgICAgICB9DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbjIodmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIHZhbCA+IDExOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgfTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAibGVuZ3RoIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIDI7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIG9ialswXSA9IDk7DQogICAgICAgIG9ialsxXSA9IDExOw0KICAgICAgICBvYmpbMl0gPSAxMjsNCg0KICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLnNvbWUuY2FsbChvYmosIGNhbGxiYWNrZm4xKSAmJg0KICAgICAgICAgICAgIUFycmF5LnByb3RvdHlwZS5zb21lLmNhbGwob2JqLCBjYWxsYmFja2ZuMik7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.some - 'length' is an own accessor property on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-2-7.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTcvMTUuNC40LjE3LTItOC5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5zb21lIC0gJ2xlbmd0aCcgaXMgYW4gb3duIGFjY2Vzc29yIHByb3BlcnR5IHRoYXQgb3ZlcnJpZGVzIGFuIGluaGVyaXRlZCBkYXRhIHByb3BlcnR5IG9uIGFuIEFycmF5LWxpa2Ugb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbjEodmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIHZhbCA+IDEwOw0KICAgICAgICB9DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbjIodmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIHZhbCA+IDExOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIHByb3RvID0geyBsZW5ndGg6IDMgfTsNCg0KICAgICAgICB2YXIgQ29uID0gZnVuY3Rpb24gKCkgeyB9Ow0KICAgICAgICBDb24ucHJvdG90eXBlID0gcHJvdG87DQoNCiAgICAgICAgdmFyIGNoaWxkID0gbmV3IENvbigpOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShjaGlsZCwgImxlbmd0aCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiAyOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBjaGlsZFswXSA9IDk7DQogICAgICAgIGNoaWxkWzFdID0gMTE7DQogICAgICAgIGNoaWxkWzJdID0gMTI7DQoNCiAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5zb21lLmNhbGwoY2hpbGQsIGNhbGxiYWNrZm4xKSAmJg0KICAgICAgICAgICAgIUFycmF5LnByb3RvdHlwZS5zb21lLmNhbGwoY2hpbGQsIGNhbGxiYWNrZm4yKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.some - 'length' is an own accessor property that overrides an inherited data property on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-2-8.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTcvMTUuNC40LjE3LTItOS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5zb21lIC0gJ2xlbmd0aCcgaXMgYW4gb3duIGFjY2Vzc29yIHByb3BlcnR5IHRoYXQgb3ZlcnJpZGVzIGFuIGluaGVyaXRlZCBhY2Nlc3NvciBwcm9wZXJ0eSBvbiBhbiBBcnJheS1saWtlIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4xKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiB2YWwgPiAxMDsNCiAgICAgICAgfQ0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4yKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiB2YWwgPiAxMTsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBwcm90byA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShwcm90bywgImxlbmd0aCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiAzOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgQ29uID0gZnVuY3Rpb24gKCkgeyB9Ow0KICAgICAgICBDb24ucHJvdG90eXBlID0gcHJvdG87DQoNCiAgICAgICAgdmFyIGNoaWxkID0gbmV3IENvbigpOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShjaGlsZCwgImxlbmd0aCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiAyOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBjaGlsZFswXSA9IDk7DQogICAgICAgIGNoaWxkWzFdID0gMTE7DQogICAgICAgIGNoaWxkWzJdID0gMTI7DQoNCiAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5zb21lLmNhbGwoY2hpbGQsIGNhbGxiYWNrZm4xKSAmJg0KICAgICAgICAgICAgIUFycmF5LnByb3RvdHlwZS5zb21lLmNhbGwoY2hpbGQsIGNhbGxiYWNrZm4yKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.some - 'length' is an own accessor property that overrides an inherited accessor property on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-2-9.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTcvMTUuNC40LjE3LTMtMS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5zb21lIC0gdmFsdWUgb2YgJ2xlbmd0aCcgaXMgdW5kZWZpbmVkDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIHJldHVybiB2YWwgPiAxMDsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSB7IDA6IDExLCBsZW5ndGg6IHVuZGVmaW5lZCB9Ow0KDQogICAgICAgIHJldHVybiAhQXJyYXkucHJvdG90eXBlLnNvbWUuY2FsbChvYmosIGNhbGxiYWNrZm4pICYmICFhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.some - value of 'length' is undefined","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-3-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTcvMTUuNC40LjE3LTMtMTAuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuc29tZSAtIHZhbHVlIG9mICdsZW5ndGgnIGlzIGEgbnVtYmVyICh2YWx1ZSBpcyBOYU4pDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIHJldHVybiB2YWwgPiAxMDsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSB7IDA6IDExLCBsZW5ndGg6IE5hTiB9Ow0KDQogICAgICAgIHJldHVybiAhQXJyYXkucHJvdG90eXBlLnNvbWUuY2FsbChvYmosIGNhbGxiYWNrZm4pICYmICFhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.some - value of 'length' is a number (value is NaN)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-3-10.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTcvMTUuNC40LjE3LTMtMTEuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuc29tZSAtICdsZW5ndGgnIGlzIGEgc3RyaW5nIGNvbnRhaW5pbmcgYSBwb3NpdGl2ZSBudW1iZXINCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuMSh2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gdmFsID4gMTA7DQogICAgICAgIH0NCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuMih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gdmFsID4gMTE7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0geyAwOiA5LCAxOiAxMSwgMjogMTIsIGxlbmd0aDogIjIiIH07DQoNCiAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5zb21lLmNhbGwob2JqLCBjYWxsYmFja2ZuMSkgJiYNCiAgICAgICAgICAgICFBcnJheS5wcm90b3R5cGUuc29tZS5jYWxsKG9iaiwgY2FsbGJhY2tmbjIpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.some - 'length' is a string containing a positive number","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-3-11.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTcvMTUuNC40LjE3LTMtMTIuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuc29tZSAtICdsZW5ndGgnIGlzIGEgc3RyaW5nIGNvbnRhaW5pbmcgYSBuZWdhdGl2ZSBudW1iZXINCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuMSh2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gdmFsID4gMTA7DQogICAgICAgIH0NCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuMih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gdmFsID4gMTE7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0geyAwOiA5LCAxOiAxMSwgMjogMTIsIGxlbmd0aDogIi00Mjk0OTY3Mjk0IiB9Ow0KDQogICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUuc29tZS5jYWxsKG9iaiwgY2FsbGJhY2tmbjEpICYmDQogICAgICAgICAgICAhQXJyYXkucHJvdG90eXBlLnNvbWUuY2FsbChvYmosIGNhbGxiYWNrZm4yKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.some - 'length' is a string containing a negative number","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-3-12.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTcvMTUuNC40LjE3LTMtMTMuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuc29tZSAtICdsZW5ndGgnIGlzIGEgc3RyaW5nIGNvbnRhaW5pbmcgYSBkZWNpbWFsIG51bWJlcg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4xKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiB2YWwgPiAxMDsNCiAgICAgICAgfQ0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4yKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiB2YWwgPiAxMTsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSB7IDA6IDksIDE6IDExLCAyOiAxMiwgbGVuZ3RoOiAiMi41IiB9Ow0KDQogICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUuc29tZS5jYWxsKG9iaiwgY2FsbGJhY2tmbjEpICYmDQogICAgICAgICAgICAhQXJyYXkucHJvdG90eXBlLnNvbWUuY2FsbChvYmosIGNhbGxiYWNrZm4yKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.some - 'length' is a string containing a decimal number","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-3-13.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTcvMTUuNC40LjE3LTMtMTQuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuc29tZSAtICdsZW5ndGgnIGlzIGEgc3RyaW5nIGNvbnRhaW5pbmcgKy8tSW5maW5pdHkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgcmV0dXJuIHZhbCA+IDEwOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iak9uZSA9IHsgMDogMTEsIGxlbmd0aDogIkluZmluaXR5IiB9Ow0KICAgICAgICB2YXIgb2JqVHdvID0geyAwOiAxMSwgbGVuZ3RoOiAiK0luZmluaXR5IiB9Ow0KICAgICAgICB2YXIgb2JqVGhyZWUgPSB7IDA6IDExLCBsZW5ndGg6ICItSW5maW5pdHkiIH07DQoNCiAgICAgICAgcmV0dXJuICFBcnJheS5wcm90b3R5cGUuc29tZS5jYWxsKG9iak9uZSwgY2FsbGJhY2tmbikgJiYNCiAgICAgICAgICAgICFBcnJheS5wcm90b3R5cGUuc29tZS5jYWxsKG9ialR3bywgY2FsbGJhY2tmbikgJiYNCiAgICAgICAgICAgICFBcnJheS5wcm90b3R5cGUuc29tZS5jYWxsKG9ialRocmVlLCBjYWxsYmFja2ZuKSAmJiAhYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.some - 'length' is a string containing +/-Infinity","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-3-14.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTcvMTUuNC40LjE3LTMtMTUuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuc29tZSAtICdsZW5ndGgnIGlzIGEgc3RyaW5nIGNvbnRhaW5pbmcgYW4gZXhwb25lbnRpYWwgbnVtYmVyDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbjEodmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIHZhbCA+IDEwOw0KICAgICAgICB9DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbjIodmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIHZhbCA+IDExOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgMDogOSwgMTogMTEsIDI6IDEyLCBsZW5ndGg6ICIyRTAiIH07DQoNCiAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5zb21lLmNhbGwob2JqLCBjYWxsYmFja2ZuMSkgJiYNCiAgICAgICAgICAgICFBcnJheS5wcm90b3R5cGUuc29tZS5jYWxsKG9iaiwgY2FsbGJhY2tmbjIpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.some - 'length' is a string containing an exponential number","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-3-15.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTcvMTUuNC40LjE3LTMtMTYuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuc29tZSAtICdsZW5ndGgnIGlzIGEgc3RyaW5nIGNvbnRhaW5pbmcgYSBoZXggbnVtYmVyDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbjEodmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIHZhbCA+IDEwOw0KICAgICAgICB9DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbjIodmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIHZhbCA+IDExOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgMDogOSwgMTogMTEsIDI6IDEyLCBsZW5ndGg6ICIweDAwMDIiIH07DQoNCiAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5zb21lLmNhbGwob2JqLCBjYWxsYmFja2ZuMSkgJiYNCiAgICAgICAgICAgICFBcnJheS5wcm90b3R5cGUuc29tZS5jYWxsKG9iaiwgY2FsbGJhY2tmbjIpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.some - 'length' is a string containing a hex number","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-3-16.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTcvMTUuNC40LjE3LTMtMTcuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuc29tZSAtICdsZW5ndGgnIGlzIGEgc3RyaW5nIGNvbnRhaW5pbmcgYSBudW1iZXIgd2l0aCBsZWFkaW5nIHplcm9zDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbjEodmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIHZhbCA+IDEwOw0KICAgICAgICB9DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbjIodmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIHZhbCA+IDExOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgMDogOSwgMTogMTEsIDI6IDEyLCBsZW5ndGg6ICIwMDAyLjAwIiB9Ow0KDQogICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUuc29tZS5jYWxsKG9iaiwgY2FsbGJhY2tmbjEpICYmDQogICAgICAgICAgICAhQXJyYXkucHJvdG90eXBlLnNvbWUuY2FsbChvYmosIGNhbGxiYWNrZm4yKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.some - 'length' is a string containing a number with leading zeros","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-3-17.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTcvMTUuNC40LjE3LTMtMTguanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuc29tZSAtIHZhbHVlIG9mICdsZW5ndGgnIGlzIGEgc3RyaW5nIHRoYXQgY2FuJ3QgY29udmVydCB0byBhIG51bWJlcg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICByZXR1cm4gdmFsID4gMTA7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0geyAwOiAxMSwgMTogMjEsIGxlbmd0aDogInR3byIgfTsNCg0KICAgICAgICByZXR1cm4gIUFycmF5LnByb3RvdHlwZS5zb21lLmNhbGwob2JqLCBjYWxsYmFja2ZuKSAmJiAhYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.some - value of 'length' is a string that can't convert to a number","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-3-18.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTcvMTUuNC40LjE3LTMtMTkuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuc29tZSAtIHZhbHVlIG9mICdsZW5ndGgnIGlzIGFuIE9iamVjdCB3aGljaCBoYXMgYW4gb3duIHRvU3RyaW5nIG1ldGhvZA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4xKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiB2YWwgPiAxMDsNCiAgICAgICAgfQ0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4yKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiB2YWwgPiAxMTsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciB0b1N0cmluZ0FjY2Vzc2VkID0gZmFsc2U7DQogICAgICAgIHZhciBvYmogPSB7DQogICAgICAgICAgICAwOiA5LA0KICAgICAgICAgICAgMTogMTEsDQogICAgICAgICAgICAyOiAxMiwNCg0KICAgICAgICAgICAgbGVuZ3RoOiB7DQogICAgICAgICAgICAgICAgdG9TdHJpbmc6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICAgICAgdG9TdHJpbmdBY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICAgICAgICAgIHJldHVybiAnMic7DQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfQ0KICAgICAgICB9Ow0KDQogICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUuc29tZS5jYWxsKG9iaiwgY2FsbGJhY2tmbjEpICYmDQogICAgICAgICAgICAhQXJyYXkucHJvdG90eXBlLnNvbWUuY2FsbChvYmosIGNhbGxiYWNrZm4yKSAmJiB0b1N0cmluZ0FjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.some - value of 'length' is an Object which has an own toString method","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-3-19.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTcvMTUuNC40LjE3LTMtMi5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5zb21lIG9uIGFuIEFycmF5LWxpa2Ugb2JqZWN0IGlmICdsZW5ndGgnIGlzIDEgKGxlbmd0aCBvdmVycmlkZGVuIHRvIHRydWUodHlwZSBjb252ZXJzaW9uKSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuMSh2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gdmFsID4gMTA7DQogICAgICAgIH0NCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuMih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gdmFsID4gMTE7DQogICAgICAgIH0NCiAgICAgICAgDQogICAgICAgIHZhciBvYmogPSB7IDA6IDExLCAxOiAxMiwgbGVuZ3RoOiB0cnVlIH07DQoNCiAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5zb21lLmNhbGwob2JqLCBjYWxsYmFja2ZuMSkgJiYNCiAgICAgICAgICAgICFBcnJheS5wcm90b3R5cGUuc29tZS5jYWxsKG9iaiwgY2FsbGJhY2tmbjIpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.some on an Array-like object if 'length' is 1 (length overridden to true(type conversion))","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-3-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTcvMTUuNC40LjE3LTMtMjAuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuc29tZSAtIHZhbHVlIG9mICdsZW5ndGgnIGlzIGFuIE9iamVjdCB3aGljaCBoYXMgYW4gb3duIHZhbHVlT2YgbWV0aG9kDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbjEodmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIHZhbCA+IDEwOw0KICAgICAgICB9DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbjIodmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIHZhbCA+IDExOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIHZhbHVlT2ZBY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIHZhciBvYmogPSB7DQogICAgICAgICAgICAwOiA5LA0KICAgICAgICAgICAgMTogMTEsDQogICAgICAgICAgICAyOiAxMiwNCiAgICAgICAgICAgIGxlbmd0aDogew0KICAgICAgICAgICAgICAgIHZhbHVlT2Y6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICAgICAgdmFsdWVPZkFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDI7DQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfQ0KICAgICAgICB9Ow0KDQogICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUuc29tZS5jYWxsKG9iaiwgY2FsbGJhY2tmbjEpICYmDQogICAgICAgICAgICAhQXJyYXkucHJvdG90eXBlLnNvbWUuY2FsbChvYmosIGNhbGxiYWNrZm4yKSAmJiB2YWx1ZU9mQWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.some - value of 'length' is an Object which has an own valueOf method","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-3-20.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTcvMTUuNC40LjE3LTMtMjEuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuc29tZSAtICdsZW5ndGgnIGlzIGFuIG9iamVjdCB0aGF0IGhhcyBhbiBvd24gdmFsdWVPZiBtZXRob2QgdGhhdCByZXR1cm5zIGFuIG9iamVjdCBhbmQgdG9TdHJpbmcgbWV0aG9kIHRoYXQgcmV0dXJucyBhIHN0cmluZw0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4xKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiB2YWwgPiAxMDsNCiAgICAgICAgfQ0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4yKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiB2YWwgPiAxMTsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciB0b1N0cmluZ0FjY2Vzc2VkID0gZmFsc2U7DQogICAgICAgIHZhciB2YWx1ZU9mQWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICB2YXIgb2JqID0gew0KICAgICAgICAgICAgMDogOSwNCiAgICAgICAgICAgIDE6IDExLA0KICAgICAgICAgICAgMjogMTIsDQogICAgICAgICAgICBsZW5ndGg6IHsNCiAgICAgICAgICAgICAgICB2YWx1ZU9mOiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgIHZhbHVlT2ZBY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICAgICAgICAgIHJldHVybiB7fTsNCiAgICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAgIHRvU3RyaW5nOiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgIHRvU3RyaW5nQWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gJzInOw0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0NCiAgICAgICAgfTsNCg0KICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLnNvbWUuY2FsbChvYmosIGNhbGxiYWNrZm4xKSAmJg0KICAgICAgICAgICAgIUFycmF5LnByb3RvdHlwZS5zb21lLmNhbGwob2JqLCBjYWxsYmFja2ZuMikgJiYNCiAgICAgICAgICAgIHZhbHVlT2ZBY2Nlc3NlZCAmJiB0b1N0cmluZ0FjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.some - 'length' is an object that has an own valueOf method that returns an object and toString method that returns a string","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-3-21.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTcvMTUuNC40LjE3LTMtMjIuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuc29tZSB0aHJvd3MgVHlwZUVycm9yIGV4Y2VwdGlvbiB3aGVuICdsZW5ndGgnIGlzIGFuIG9iamVjdCB3aXRoIHRvU3RyaW5nIGFuZCB2YWx1ZU9mIG1ldGhvZHMgdGhhdCBkb27vv710IHJldHVybiBwcmltaXRpdmUgdmFsdWVzDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgY2FsbGJhY2tmbkFjY2Vzc2VkID0gZmFsc2U7DQogICAgICAgIHZhciB0b1N0cmluZ0FjY2Vzc2VkID0gZmFsc2U7DQogICAgICAgIHZhciB2YWx1ZU9mQWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGNhbGxiYWNrZm5BY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICByZXR1cm4gdmFsID4gMTA7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0gew0KICAgICAgICAgICAgMDogMTEsDQogICAgICAgICAgICAxOiAxMiwNCg0KICAgICAgICAgICAgbGVuZ3RoOiB7DQogICAgICAgICAgICAgICAgdmFsdWVPZjogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAgICB2YWx1ZU9mQWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgICAgICAgICByZXR1cm4ge307DQogICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICB0b1N0cmluZzogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAgICB0b1N0cmluZ0FjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHt9Ow0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0NCiAgICAgICAgfTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlLnNvbWUuY2FsbChvYmosIGNhbGxiYWNrZm4pOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChleCkgew0KICAgICAgICAgICAgcmV0dXJuIChleCBpbnN0YW5jZW9mIFR5cGVFcnJvcikgJiYgdG9TdHJpbmdBY2Nlc3NlZCAmJiB2YWx1ZU9mQWNjZXNzZWQgJiYgIWNhbGxiYWNrZm5BY2Nlc3NlZDsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.some throws TypeError exception when 'length' is an object with toString and valueOf methods that don\ufffdt return primitive values","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-3-22.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTcvMTUuNC40LjE3LTMtMjMuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuc29tZSB1c2VzIGluaGVyaXRlZCB2YWx1ZU9mIG1ldGhvZCB3aGVuICdsZW5ndGgnIGlzIGFuIG9iamVjdCB3aXRoIGFuIG93biB0b1N0cmluZyBhbmQgaW5oZXJpdGVkIHZhbHVlT2YgbWV0aG9kcw0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4xKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiB2YWwgPiAxMDsNCiAgICAgICAgfQ0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4yKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiB2YWwgPiAxMTsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciB2YWx1ZU9mQWNjZXNzZWQgPSBmYWxzZTsNCiAgICAgICAgdmFyIHRvU3RyaW5nQWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICB2YXIgcHJvdG8gPSB7DQogICAgICAgICAgICB2YWx1ZU9mOiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgdmFsdWVPZkFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgICAgICByZXR1cm4gMjsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfTsNCg0KICAgICAgICB2YXIgQ29uID0gZnVuY3Rpb24gKCkgeyB9Ow0KICAgICAgICBDb24ucHJvdG90eXBlID0gcHJvdG87DQoNCiAgICAgICAgdmFyIGNoaWxkID0gbmV3IENvbigpOw0KDQogICAgICAgIGNoaWxkLnRvU3RyaW5nID0gZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgdG9TdHJpbmdBY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICByZXR1cm4gJzEnOw0KICAgICAgICB9Ow0KDQogICAgICAgIHZhciBvYmogPSB7DQogICAgICAgICAgICAwOiA5LA0KICAgICAgICAgICAgMTogMTEsDQogICAgICAgICAgICAyOiAxMiwNCiAgICAgICAgICAgIGxlbmd0aDogY2hpbGQNCiAgICAgICAgfTsNCg0KICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLnNvbWUuY2FsbChvYmosIGNhbGxiYWNrZm4xKSAmJg0KICAgICAgICAgICAgIUFycmF5LnByb3RvdHlwZS5zb21lLmNhbGwob2JqLCBjYWxsYmFja2ZuMikgJiYNCiAgICAgICAgICAgIHZhbHVlT2ZBY2Nlc3NlZCAmJiAhdG9TdHJpbmdBY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.some uses inherited valueOf method when 'length' is an object with an own toString and inherited valueOf methods","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-3-23.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTcvMTUuNC40LjE3LTMtMjQuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuc29tZSAtIHZhbHVlIG9mICdsZW5ndGgnIGlzIGEgcG9zaXRpdmUgbm9uLWludGVnZXIsIGVuc3VyZSB0cnVuY2F0aW9uIG9jY3VycyBpbiB0aGUgcHJvcGVyIGRpcmVjdGlvbg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4xKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiB2YWwgPiAxMDsNCiAgICAgICAgfQ0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4yKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiB2YWwgPiAxMTsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSB7DQogICAgICAgICAgICAwOiA5LA0KICAgICAgICAgICAgMTA6IDExLA0KICAgICAgICAgICAgMTE6IDEyLA0KICAgICAgICAgICAgbGVuZ3RoOiAxMS41DQogICAgICAgIH07DQoNCiAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5zb21lLmNhbGwob2JqLCBjYWxsYmFja2ZuMSkgJiYNCiAgICAgICAgICAgICFBcnJheS5wcm90b3R5cGUuc29tZS5jYWxsKG9iaiwgY2FsbGJhY2tmbjIpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.some - value of 'length' is a positive non-integer, ensure truncation occurs in the proper direction","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-3-24.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTcvMTUuNC40LjE3LTMtMjUuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuc29tZSAtIHZhbHVlIG9mICdsZW5ndGgnIGlzIGEgbmVnYXRpdmUgbm9uLWludGVnZXIsIGVuc3VyZSB0cnVuY2F0aW9uIG9jY3VycyBpbiB0aGUgcHJvcGVyIGRpcmVjdGlvbg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4xKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiB2YWwgPiAxMDsNCiAgICAgICAgfQ0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4yKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiB2YWwgPiAxMTsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSB7DQogICAgICAgICAgICAwOiA5LA0KICAgICAgICAgICAgMTogMTEsDQogICAgICAgICAgICAyOiAxMiwNCiAgICAgICAgICAgIGxlbmd0aDogLTQyOTQ5NjcyOTQuNQ0KICAgICAgICB9Ow0KDQogICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUuc29tZS5jYWxsKG9iaiwgY2FsbGJhY2tmbjEpICYmDQogICAgICAgICAgICAhQXJyYXkucHJvdG90eXBlLnNvbWUuY2FsbChvYmosIGNhbGxiYWNrZm4yKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.some - value of 'length' is a negative non-integer, ensure truncation occurs in the proper direction","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-3-25.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTcvMTUuNC40LjE3LTMtMjguanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuc29tZSAtIHZhbHVlIG9mICdsZW5ndGgnIGlzIGJvdW5kYXJ5IHZhbHVlICgyXjMyKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICByZXR1cm4gdmFsID4gMTA7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0gew0KICAgICAgICAgICAgMDogMTIsDQogICAgICAgICAgICBsZW5ndGg6IDQyOTQ5NjcyOTYNCiAgICAgICAgfTsNCg0KICAgICAgICByZXR1cm4gIUFycmF5LnByb3RvdHlwZS5zb21lLmNhbGwob2JqLCBjYWxsYmFja2ZuKSAmJiAhYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.some - value of 'length' is boundary value (2^32)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-3-28.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTcvMTUuNC40LjE3LTMtMjkuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuc29tZSAtIHZhbHVlIG9mICdsZW5ndGgnIGlzIGJvdW5kYXJ5IHZhbHVlICgyXjMyICsgMSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuMSh2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gdmFsID4gMTA7DQogICAgICAgIH0NCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuMih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gdmFsID4gMTE7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0gew0KICAgICAgICAgICAgMDogMTEsDQogICAgICAgICAgICAxOiAxMiwNCiAgICAgICAgICAgIGxlbmd0aDogNDI5NDk2NzI5Nw0KICAgICAgICB9Ow0KDQogICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUuc29tZS5jYWxsKG9iaiwgY2FsbGJhY2tmbjEpICYmDQogICAgICAgICAgICAhQXJyYXkucHJvdG90eXBlLnNvbWUuY2FsbChvYmosIGNhbGxiYWNrZm4yKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.some - value of 'length' is boundary value (2^32 + 1)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-3-29.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTcvMTUuNC40LjE3LTMtMy5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5zb21lIC0gdmFsdWUgb2YgJ2xlbmd0aCcgaXMgYSBudW1iZXIgKHZhbHVlIGlzIDApDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIHJldHVybiB2YWwgPiAxMDsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSB7IDA6IDExLCBsZW5ndGg6IDAgfTsNCg0KICAgICAgICByZXR1cm4gIUFycmF5LnByb3RvdHlwZS5zb21lLmNhbGwob2JqLCBjYWxsYmFja2ZuKSAmJiAhYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.some - value of 'length' is a number (value is 0)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-3-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTcvMTUuNC40LjE3LTMtNC5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5zb21lIC0gdmFsdWUgb2YgJ2xlbmd0aCcgaXMgYSBudW1iZXIgKHZhbHVlIGlzICswKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICByZXR1cm4gdmFsID4gMTA7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0geyAwOiAxMSwgbGVuZ3RoOiArMCB9Ow0KDQogICAgICAgIHJldHVybiAhQXJyYXkucHJvdG90eXBlLnNvbWUuY2FsbChvYmosIGNhbGxiYWNrZm4pICYmICFhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.some - value of 'length' is a number (value is +0)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-3-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTcvMTUuNC40LjE3LTMtNS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5zb21lIC0gdmFsdWUgb2YgJ2xlbmd0aCcgaXMgYSBudW1iZXIgKHZhbHVlIGlzIC0wKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICByZXR1cm4gdmFsID4gMTA7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0geyAwOiAxMSwgbGVuZ3RoOiAtMCB9Ow0KDQogICAgICAgIHJldHVybiAhQXJyYXkucHJvdG90eXBlLnNvbWUuY2FsbChvYmosIGNhbGxiYWNrZm4pICYmICFhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.some - value of 'length' is a number (value is -0)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-3-5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTcvMTUuNC40LjE3LTMtNi5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5zb21lIC0gdmFsdWUgb2YgJ2xlbmd0aCcgaXMgYSBudW1iZXIgKHZhbHVlIGlzIHBvc2l0aXZlKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4xKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiB2YWwgPiAxMDsNCiAgICAgICAgfQ0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4yKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiB2YWwgPiAxMTsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSB7IDA6IDksIDE6IDExLCAyOiAxMiwgbGVuZ3RoOiAyIH07DQoNCiAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5zb21lLmNhbGwob2JqLCBjYWxsYmFja2ZuMSkgJiYNCiAgICAgICAgICAgICFBcnJheS5wcm90b3R5cGUuc29tZS5jYWxsKG9iaiwgY2FsbGJhY2tmbjIpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.some - value of 'length' is a number (value is positive)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-3-6.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTcvMTUuNC40LjE3LTMtNy5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5zb21lIC0gdmFsdWUgb2YgJ2xlbmd0aCcgaXMgYSBudW1iZXIgKHZhbHVlIGlzIG5lZ2F0aXZlKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4xKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiB2YWwgPiAxMDsNCiAgICAgICAgfQ0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4yKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiB2YWwgPiAxMTsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSB7IDA6IDksIDE6IDExLCAyOiAxMiwgbGVuZ3RoOiAtNDI5NDk2NzI5NCB9Ow0KDQogICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUuc29tZS5jYWxsKG9iaiwgY2FsbGJhY2tmbjEpICYmDQogICAgICAgICAgICAhQXJyYXkucHJvdG90eXBlLnNvbWUuY2FsbChvYmosIGNhbGxiYWNrZm4yKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.some - value of 'length' is a number (value is negative)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-3-7.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTcvMTUuNC40LjE3LTMtOC5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5zb21lIC0gdmFsdWUgb2YgJ2xlbmd0aCcgaXMgYSBudW1iZXIgKHZhbHVlIGlzIEluZmluaXR5KQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICByZXR1cm4gdmFsID4gMTA7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0geyAwOiAxMSwgbGVuZ3RoOiBJbmZpbml0eSB9Ow0KDQogICAgICAgIHJldHVybiAhQXJyYXkucHJvdG90eXBlLnNvbWUuY2FsbChvYmosIGNhbGxiYWNrZm4pICYmICFhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.some - value of 'length' is a number (value is Infinity)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-3-8.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTcvMTUuNC40LjE3LTMtOS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5zb21lIC0gdmFsdWUgb2YgJ2xlbmd0aCcgaXMgYSBudW1iZXIgKHZhbHVlIGlzIC1JbmZpbml0eSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgcmV0dXJuIHZhbCA+IDEwOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgMDogMTEsIGxlbmd0aDogLUluZmluaXR5IH07DQoNCiAgICAgICAgcmV0dXJuICFBcnJheS5wcm90b3R5cGUuc29tZS5jYWxsKG9iaiwgY2FsbGJhY2tmbikgJiYgIWFjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.some - value of 'length' is a number (value is -Infinity)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-3-9.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTcvMTUuNC40LjE3LTQtMS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5zb21lIHRocm93cyBUeXBlRXJyb3IgaWYgY2FsbGJhY2tmbiBpcyB1bmRlZmluZWQNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogIHZhciBhcnIgPSBuZXcgQXJyYXkoMTApOw0KICB0cnkgew0KICAgIGFyci5zb21lKCk7ICAgIA0KICB9DQogIGNhdGNoKGUpIHsNCiAgICBpZihlIGluc3RhbmNlb2YgVHlwZUVycm9yKQ0KICAgICAgcmV0dXJuIHRydWU7ICANCiAgfQ0KDQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.some throws TypeError if callbackfn is undefined","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-4-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTcvMTUuNC40LjE3LTQtMTAuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuc29tZSAtIHRoZSBleGNlcHRpb24gaXMgbm90IHRocm93biBpZiBleGNlcHRpb24gd2FzIHRocm93biBieSBzdGVwIDINCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7IDA6IDExLCAxOiAxMiB9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJsZW5ndGgiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICB0aHJvdyBuZXcgU3ludGF4RXJyb3IoKTsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIEFycmF5LnByb3RvdHlwZS5zb21lLmNhbGwob2JqLCB1bmRlZmluZWQpOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChleCkgew0KICAgICAgICAgICAgcmV0dXJuICEoZXggaW5zdGFuY2VvZiBUeXBlRXJyb3IpOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.some - the exception is not thrown if exception was thrown by step 2","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-4-10.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTcvMTUuNC40LjE3LTQtMTEuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuc29tZSAtIHRoZSBleGNlcHRpb24gaXMgbm90IHRocm93biBpZiBleGNlcHRpb24gd2FzIHRocm93biBieSBzdGVwIDMNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7IDA6IDExLCAxOiAxMiB9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJsZW5ndGgiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gew0KICAgICAgICAgICAgICAgICAgICB0b1N0cmluZzogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAgICAgICAgdGhyb3cgbmV3IFN5bnRheEVycm9yKCk7DQogICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICB9Ow0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlLnNvbWUuY2FsbChvYmosIHVuZGVmaW5lZCk7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGV4KSB7DQogICAgICAgICAgICByZXR1cm4gIShleCBpbnN0YW5jZW9mIFR5cGVFcnJvcik7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.some - the exception is not thrown if exception was thrown by step 3","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-4-11.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTcvMTUuNC40LjE3LTQtMTIuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuc29tZSAtICdjYWxsYmFja2ZuJyBpcyBhIGZ1bmN0aW9uDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiB2YWwgPiAxMDsNCiAgICAgICAgfQ0KDQogICAgICAgIHJldHVybiBbOSwgMTFdLnNvbWUoY2FsbGJhY2tmbik7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.some - 'callbackfn' is a function","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-4-12.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTcvMTUuNC40LjE3LTQtMTUuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuc29tZSAtIGNhbGxpbmcgd2l0aCBubyBjYWxsYmFja2ZuIGlzIHRoZSBzYW1lIGFzIHBhc3NpbmcgdW5kZWZpbmVkIGZvciBjYWxsYmFja2ZuDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHsgfTsNCiAgICAgICAgdmFyIGxlbmd0aEFjY2Vzc2VkID0gZmFsc2U7DQogICAgICAgIHZhciBsb29wQWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAibGVuZ3RoIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgbGVuZ3RoQWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgICAgIHJldHVybiAyMDsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICIwIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgbG9vcEFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgICAgICByZXR1cm4gMTA7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBBcnJheS5wcm90b3R5cGUuc29tZS5jYWxsKG9iaik7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGV4KSB7DQogICAgICAgICAgICByZXR1cm4gKGV4IGluc3RhbmNlb2YgVHlwZUVycm9yKSAmJiBsZW5ndGhBY2Nlc3NlZCAmJiAhbG9vcEFjY2Vzc2VkOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.some - calling with no callbackfn is the same as passing undefined for callbackfn","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-4-15.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTcvMTUuNC40LjE3LTQtMi5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5zb21lIHRocm93cyBSZWZlcmVuY2VFcnJvciBpZiBjYWxsYmFja2ZuIGlzIHVucmVmZXJlbmNlZA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgdmFyIGFyciA9IG5ldyBBcnJheSgxMCk7DQogIHRyeSB7DQogICAgYXJyLnNvbWUoZm9vKTsgICAgDQogIH0NCiAgY2F0Y2goZSkgew0KICAgIGlmKGUgaW5zdGFuY2VvZiBSZWZlcmVuY2VFcnJvcikNCiAgICAgIHJldHVybiB0cnVlOyAgDQogIH0NCg0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.some throws ReferenceError if callbackfn is unreferenced","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-4-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTcvMTUuNC40LjE3LTQtMy5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5zb21lIHRocm93cyBUeXBlRXJyb3IgaWYgY2FsbGJhY2tmbiBpcyBudWxsDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICB2YXIgYXJyID0gbmV3IEFycmF5KDEwKTsNCiAgdHJ5IHsNCiAgICBhcnIuc29tZShudWxsKTsgICAgDQogIH0NCiAgY2F0Y2goZSkgew0KICAgIGlmKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpDQogICAgICByZXR1cm4gdHJ1ZTsgIA0KICB9DQoNCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.some throws TypeError if callbackfn is null","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-4-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTcvMTUuNC40LjE3LTQtNC5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5zb21lIHRocm93cyBUeXBlRXJyb3IgaWYgY2FsbGJhY2tmbiBpcyBib29sZWFuDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICB2YXIgYXJyID0gbmV3IEFycmF5KDEwKTsNCiAgdHJ5IHsNCiAgICBhcnIuc29tZSh0cnVlKTsgICAgDQogIH0NCiAgY2F0Y2goZSkgew0KICAgIGlmKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpDQogICAgICByZXR1cm4gdHJ1ZTsgIA0KICB9DQoNCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.some throws TypeError if callbackfn is boolean","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-4-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTcvMTUuNC40LjE3LTQtNS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5zb21lIHRocm93cyBUeXBlRXJyb3IgaWYgY2FsbGJhY2tmbiBpcyBudW1iZXINCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogIHZhciBhcnIgPSBuZXcgQXJyYXkoMTApOw0KICB0cnkgew0KICAgIGFyci5zb21lKDUpOyAgICANCiAgfQ0KICBjYXRjaChlKSB7DQogICAgaWYoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikNCiAgICAgIHJldHVybiB0cnVlOyAgDQogIH0NCg0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.some throws TypeError if callbackfn is number","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-4-5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTcvMTUuNC40LjE3LTQtNi5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5zb21lIHRocm93cyBUeXBlRXJyb3IgaWYgY2FsbGJhY2tmbiBpcyBzdHJpbmcNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogIHZhciBhcnIgPSBuZXcgQXJyYXkoMTApOw0KICB0cnkgew0KICAgIGFyci5zb21lKCJhYmMiKTsgICAgDQogIH0NCiAgY2F0Y2goZSkgew0KICAgIGlmKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpDQogICAgICByZXR1cm4gdHJ1ZTsgIA0KICB9DQoNCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.some throws TypeError if callbackfn is string","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-4-6.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTcvMTUuNC40LjE3LTQtNy5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5zb21lIHRocm93cyBUeXBlRXJyb3IgaWYgY2FsbGJhY2tmbiBpcyBPYmplY3Qgd2l0aG91dCBhIENhbGwgaW50ZXJuYWwgbWV0aG9kDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICB2YXIgYXJyID0gbmV3IEFycmF5KDEwKTsNCiAgdHJ5IHsNCiAgICBhcnIuc29tZShuZXcgT2JqZWN0KCkpOyAgICANCiAgfQ0KICBjYXRjaChlKSB7DQogICAgaWYoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikNCiAgICAgIHJldHVybiB0cnVlOyAgDQogIH0NCg0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.some throws TypeError if callbackfn is Object without a Call internal method","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-4-7.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTcvMTUuNC40LjE3LTQtOC5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5zb21lIC0gc2lkZSBlZmZlY3RzIHByb2R1Y2VkIGJ5IHN0ZXAgMiBhcmUgdmlzaWJsZSB3aGVuIGFuIGV4Y2VwdGlvbiBvY2N1cnMNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7IDA6IDExLCAxOiAxMiB9Ow0KDQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJsZW5ndGgiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICAgICAgcmV0dXJuIDI7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBBcnJheS5wcm90b3R5cGUuc29tZS5jYWxsKG9iaiwgbnVsbCk7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGV4KSB7DQogICAgICAgICAgICByZXR1cm4gZXggaW5zdGFuY2VvZiBUeXBlRXJyb3IgJiYgYWNjZXNzZWQ7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.some - side effects produced by step 2 are visible when an exception occurs","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-4-8.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTcvMTUuNC40LjE3LTQtOS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5zb21lIC0gc2lkZSBlZmZlY3RzIHByb2R1Y2VkIGJ5IHN0ZXAgMyBhcmUgdmlzaWJsZSB3aGVuIGFuIGV4Y2VwdGlvbiBvY2N1cnMNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7IDA6IDExLCAxOiAxMiB9Ow0KDQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJsZW5ndGgiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gew0KICAgICAgICAgICAgICAgICAgICB0b1N0cmluZzogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuICIyIjsNCiAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgIH07DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBBcnJheS5wcm90b3R5cGUuc29tZS5jYWxsKG9iaiwgbnVsbCk7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGV4KSB7DQogICAgICAgICAgICByZXR1cm4gZXggaW5zdGFuY2VvZiBUeXBlRXJyb3IgJiYgYWNjZXNzZWQ7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.some - side effects produced by step 3 are visible when an exception occurs","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-4-9.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTcvMTUuNC40LjE3LTUtMS1zLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnNvbWUgLSB0aGlzQXJnIG5vdCBwYXNzZWQgdG8gc3RyaWN0IGNhbGxiYWNrZm4NCiAqIEBvbmx5U3RyaWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIGlubmVyVGhpc0NvcnJlY3QgPSBmYWxzZTsNCg0KICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAidXNlIHN0cmljdCI7DQogICAgaW5uZXJUaGlzQ29ycmVjdCA9IHRoaXM9PT11bmRlZmluZWQ7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCg0KICBbMV0uc29tZShjYWxsYmFja2ZuKTsNCiAgcmV0dXJuIGlubmVyVGhpc0NvcnJlY3Q7DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.some - thisArg not passed to strict callbackfn","onlyStrict":"","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-5-1-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTcvMTUuNC40LjE3LTUtMS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5zb21lIC0gdGhpc0FyZyBpcyBwYXNzZWQNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB0aGlzLl8xNV80XzRfMTdfNV8xID0gZmFsc2U7DQogICAgICAgIHZhciBfMTVfNF80XzE3XzVfMSA9IHRydWU7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gdGhpcy5fMTVfNF80XzE3XzVfMTsNCiAgICAgICAgfQ0KICAgICAgICB2YXIgYXJyID0gWzFdOw0KICAgICAgICByZXR1cm4gIWFyci5zb21lKGNhbGxiYWNrZm4pOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.some - thisArg is passed","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-5-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTcvMTUuNC40LjE3LTUtMTAuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuc29tZSAtIEFycmF5IE9iamVjdCBjYW4gYmUgdXNlZCBhcyB0aGlzQXJnDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqQXJyYXkgPSBbXTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiB0aGlzID09PSBvYmpBcnJheTsNCiAgICAgICAgfQ0KDQogICAgICAgIHJldHVybiBbMTFdLnNvbWUoY2FsbGJhY2tmbiwgb2JqQXJyYXkpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.some - Array Object can be used as thisArg","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-5-10.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTcvMTUuNC40LjE3LTUtMTEuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuc29tZSAtIFN0cmluZyBvYmplY3QgY2FuIGJlIHVzZWQgYXMgdGhpc0FyZw0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9ialN0cmluZyA9IG5ldyBTdHJpbmcoKTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiB0aGlzID09PSBvYmpTdHJpbmc7DQogICAgICAgIH0NCg0KICAgICAgICByZXR1cm4gWzExXS5zb21lKGNhbGxiYWNrZm4sIG9ialN0cmluZyk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.some - String object can be used as thisArg","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-5-11.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTcvMTUuNC40LjE3LTUtMTIuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuc29tZSAtIEJvb2xlYW4gb2JqZWN0IGNhbiBiZSB1c2VkIGFzIHRoaXNBcmcNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmpCb29sZWFuID0gbmV3IEJvb2xlYW4oKTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiB0aGlzID09PSBvYmpCb29sZWFuOw0KICAgICAgICB9DQoNCiAgICAgICAgcmV0dXJuIFsxMV0uc29tZShjYWxsYmFja2ZuLCBvYmpCb29sZWFuKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.some - Boolean object can be used as thisArg","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-5-12.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTcvMTUuNC40LjE3LTUtMTMuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuc29tZSAtIE51bWJlciBvYmplY3QgY2FuIGJlIHVzZWQgYXMgdGhpc0FyZw0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iak51bWJlciA9IG5ldyBOdW1iZXIoKTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiB0aGlzID09PSBvYmpOdW1iZXI7DQogICAgICAgIH0NCg0KICAgICAgICByZXR1cm4gWzExXS5zb21lKGNhbGxiYWNrZm4sIG9iak51bWJlcik7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.some - Number object can be used as thisArg","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-5-13.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTcvMTUuNC40LjE3LTUtMTQuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuc29tZSAtIHRoZSBNYXRoIG9iamVjdCBjYW4gYmUgdXNlZCBhcyB0aGlzQXJnDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiB0aGlzID09PSBNYXRoOw0KICAgICAgICB9DQoNCiAgICAgICAgcmV0dXJuIFsxMV0uc29tZShjYWxsYmFja2ZuLCBNYXRoKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.some - the Math object can be used as thisArg","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-5-14.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTcvMTUuNC40LjE3LTUtMTUuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuc29tZSAtIERhdGUgb2JqZWN0IGNhbiBiZSB1c2VkIGFzIHRoaXNBcmcNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmpEYXRlID0gbmV3IERhdGUoKTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiB0aGlzID09PSBvYmpEYXRlOw0KICAgICAgICB9DQoNCiAgICAgICAgcmV0dXJuIFsxMV0uc29tZShjYWxsYmFja2ZuLCBvYmpEYXRlKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.some - Date object can be used as thisArg","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-5-15.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTcvMTUuNC40LjE3LTUtMTYuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuc29tZSAtIFJlZ0V4cCBvYmplY3QgY2FuIGJlIHVzZWQgYXMgdGhpc0FyZw0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9ialJlZ0V4cCA9IG5ldyBSZWdFeHAoKTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiB0aGlzID09PSBvYmpSZWdFeHA7DQogICAgICAgIH0NCg0KICAgICAgICByZXR1cm4gWzExXS5zb21lKGNhbGxiYWNrZm4sIG9ialJlZ0V4cCk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.some - RegExp object can be used as thisArg","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-5-16.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTcvMTUuNC40LjE3LTUtMTcuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuc29tZSAtIHRoZSBKU09OIG9iamVjdCBjYW4gYmUgdXNlZCBhcyB0aGlzQXJnDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiB0aGlzID09PSBKU09OOw0KICAgICAgICB9DQoNCiAgICAgICAgcmV0dXJuIFsxMV0uc29tZShjYWxsYmFja2ZuLCBKU09OKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.some - the JSON object can be used as thisArg","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-5-17.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTcvMTUuNC40LjE3LTUtMTguanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuc29tZSAtIEVycm9yIG9iamVjdCBjYW4gYmUgdXNlZCBhcyB0aGlzQXJnDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqRXJyb3IgPSBuZXcgUmFuZ2VFcnJvcigpOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIHRoaXMgPT09IG9iakVycm9yOw0KICAgICAgICB9DQoNCiAgICAgICAgcmV0dXJuIFsxMV0uc29tZShjYWxsYmFja2ZuLCBvYmpFcnJvcik7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.some - Error object can be used as thisArg","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-5-18.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTcvMTUuNC40LjE3LTUtMTkuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuc29tZSAtIHRoZSBBcmd1bWVudHMgb2JqZWN0IGNhbiBiZSB1c2VkIGFzIHRoaXNBcmcNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhcmc7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gdGhpcyA9PT0gYXJnOw0KICAgICAgICB9DQoNCiAgICAgICAgKGZ1bmN0aW9uIGZ1bigpIHsNCiAgICAgICAgICAgIGFyZyA9IGFyZ3VtZW50czsNCiAgICAgICAgfSgxLCAyLCAzKSk7DQoNCiAgICAgICAgcmV0dXJuIFsxMV0uc29tZShjYWxsYmFja2ZuLCBhcmcpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.some - the Arguments object can be used as thisArg","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-5-19.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTcvMTUuNC40LjE3LTUtMi5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5zb21lIC0gdGhpc0FyZyBpcyBPYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgcmVzID0gZmFsc2U7DQogIHZhciBvID0gbmV3IE9iamVjdCgpOw0KICBvLnJlcyA9IHRydWU7DQogIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikNCiAgew0KICAgIHJldHVybiB0aGlzLnJlczsNCiAgfQ0KDQogIHZhciBhcnIgPSBbMV07DQogIGlmKGFyci5zb21lKGNhbGxiYWNrZm4sIG8pID09PSB0cnVlKQ0KICAgIHJldHVybiB0cnVlOyAgICANCg0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.some - thisArg is Object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-5-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTcvMTUuNC40LjE3LTUtMjEuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuc29tZSAtIHRoZSBnbG9iYWwgb2JqZWN0IGNhbiBiZSB1c2VkIGFzIHRoaXNBcmcNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gdGhpcyA9PT0gZm5HbG9iYWxPYmplY3QoKTsNCiAgICAgICAgfQ0KDQogICAgICAgIHJldHVybiBbMTFdLnNvbWUoY2FsbGJhY2tmbiwgZm5HbG9iYWxPYmplY3QoKSk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.some - the global object can be used as thisArg","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-5-21.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTcvMTUuNC40LjE3LTUtMjIuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuc29tZSAtIGJvb2xlYW4gcHJpbWl0aXZlIGNhbiBiZSB1c2VkIGFzIHRoaXNBcmcNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIHRoaXMudmFsdWVPZigpID09PSBmYWxzZTsNCiAgICAgICAgfQ0KDQogICAgICAgIHJldHVybiBbMTFdLnNvbWUoY2FsbGJhY2tmbiwgZmFsc2UpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.some - boolean primitive can be used as thisArg","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-5-22.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTcvMTUuNC40LjE3LTUtMjMuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuc29tZSAtIG51bWJlciBwcmltaXRpdmUgY2FuIGJlIHVzZWQgYXMgdGhpc0FyZw0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gdGhpcy52YWx1ZU9mKCkgPT09IDEwMTsNCiAgICAgICAgfQ0KDQogICAgICAgIHJldHVybiBbMTFdLnNvbWUoY2FsbGJhY2tmbiwgMTAxKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.some - number primitive can be used as thisArg","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-5-23.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTcvMTUuNC40LjE3LTUtMjQuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuc29tZSAtIHN0cmluZyBwcmltaXRpdmUgY2FuIGJlIHVzZWQgYXMgdGhpc0FyZw0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gdGhpcy52YWx1ZU9mKCkgPT09ICJhYmMiOw0KICAgICAgICB9DQoNCiAgICAgICAgcmV0dXJuIFsxMV0uc29tZShjYWxsYmFja2ZuLCAiYWJjIik7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.some - string primitive can be used as thisArg","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-5-24.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTcvMTUuNC40LjE3LTUtMjUuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuc29tZSAtIHRoaXNBcmcgbm90IHBhc3NlZA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIGZ1bmN0aW9uIGlubmVyT2JqKCkgew0KICAgICAgICAgICAgdGhpcy5fMTVfNF80XzE3XzVfMjUgPSB0cnVlOw0KICAgICAgICAgICAgdmFyIF8xNV80XzRfMTdfNV8yNSA9IGZhbHNlOw0KICAgICAgICAgICAgDQogICAgICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5fMTVfNF80XzE3XzVfMjU7DQogICAgICAgICAgICB9DQogICAgICAgICAgICB2YXIgYXJyID0gWzFdOw0KICAgICAgICAgICAgdGhpcy5yZXRWYWwgPSAhYXJyLnNvbWUoY2FsbGJhY2tmbik7DQogICAgICAgIH0NCiAgICAgICAgcmV0dXJuIG5ldyBpbm5lck9iaigpLnJldFZhbDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.some - thisArg not passed","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-5-25.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTcvMTUuNC40LjE3LTUtMy5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5zb21lIC0gdGhpc0FyZyBpcyBBcnJheQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciByZXMgPSBmYWxzZTsNCiAgdmFyIGEgPSBuZXcgQXJyYXkoKTsNCiAgYS5yZXMgPSB0cnVlOw0KICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopDQogIHsNCiAgICByZXR1cm4gdGhpcy5yZXM7DQogIH0NCg0KICB2YXIgYXJyID0gWzFdOw0KDQogIGlmKGFyci5zb21lKGNhbGxiYWNrZm4sIGEpID09PSB0cnVlKQ0KICAgIHJldHVybiB0cnVlOyAgICANCg0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.some - thisArg is Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-5-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTcvMTUuNC40LjE3LTUtNC5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5zb21lIC0gdGhpc0FyZyBpcyBvYmplY3QgZnJvbSBvYmplY3QgdGVtcGxhdGUocHJvdG90eXBlKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciByZXMgPSBmYWxzZTsNCiAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKQ0KICB7DQogICAgcmV0dXJuIHRoaXMucmVzOw0KICB9DQogIA0KICBmdW5jdGlvbiBmb28oKXt9DQogIGZvby5wcm90b3R5cGUucmVzID0gdHJ1ZTsNCiAgdmFyIGYgPSBuZXcgZm9vKCk7DQogIHZhciBhcnIgPSBbMV07DQoNCiAgICBpZihhcnIuc29tZShjYWxsYmFja2ZuLGYpID09PSB0cnVlKQ0KICAgICAgcmV0dXJuIHRydWU7ICAgIA0KDQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.some - thisArg is object from object template(prototype)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-5-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTcvMTUuNC40LjE3LTUtNS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5zb21lIC0gdGhpc0FyZyBpcyBvYmplY3QgZnJvbSBvYmplY3QgdGVtcGxhdGUNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgcmVzID0gZmFsc2U7DQogIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikNCiAgew0KICAgIHJldHVybiB0aGlzLnJlczsNCiAgfQ0KDQogIGZ1bmN0aW9uIGZvbygpe30NCiAgdmFyIGYgPSBuZXcgZm9vKCk7DQogIGYucmVzID0gdHJ1ZTsNCiAgdmFyIGFyciA9IFsxXTsNCg0KICBpZihhcnIuc29tZShjYWxsYmFja2ZuLGYpID09PSB0cnVlKQ0KICAgIHJldHVybiB0cnVlOyAgICANCg0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.some - thisArg is object from object template","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-5-5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTcvMTUuNC40LjE3LTUtNi5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5zb21lIC0gdGhpc0FyZyBpcyBmdW5jdGlvbg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciByZXMgPSBmYWxzZTsNCiAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKQ0KICB7DQogICAgcmV0dXJuIHRoaXMucmVzOw0KICB9DQoNCiAgZnVuY3Rpb24gZm9vKCl7fQ0KICBmb28ucmVzID0gdHJ1ZTsNCiAgdmFyIGFyciA9IFsxXTsNCg0KICBpZihhcnIuc29tZShjYWxsYmFja2ZuLGZvbykgPT09IHRydWUpDQogICAgcmV0dXJuIHRydWU7ICAgIA0KDQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.some - thisArg is function","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-5-6.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTcvMTUuNC40LjE3LTUtNy5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5zb21lIC0gYnVpbHQtaW4gZnVuY3Rpb25zIGNhbiBiZSB1c2VkIGFzIHRoaXNBcmcNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIHRoaXMgPT09IGV2YWw7DQogICAgICAgIH0NCg0KICAgICAgICByZXR1cm4gWzExXS5zb21lKGNhbGxiYWNrZm4sIGV2YWwpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.some - built-in functions can be used as thisArg","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-5-7.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTcvMTUuNC40LjE3LTUtOS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5zb21lIC0gRnVuY3Rpb24gT2JqZWN0IGNhbiBiZSB1c2VkIGFzIHRoaXNBcmcNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmpGdW5jdGlvbiA9IGZ1bmN0aW9uICgpIHsgfTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiB0aGlzID09PSBvYmpGdW5jdGlvbjsNCiAgICAgICAgfQ0KDQogICAgICAgIHJldHVybiBbMTFdLnNvbWUoY2FsbGJhY2tmbiwgb2JqRnVuY3Rpb24pOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.some - Function Object can be used as thisArg","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-5-9.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTcvMTUuNC40LjE3LTctMS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5zb21lIGNvbnNpZGVycyBuZXcgZWxlbWVudHMgYWRkZWQgdG8gYXJyYXkgYWZ0ZXIgaXQgaXMgY2FsbGVkDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsgDQogIHZhciBjYWxsZWRGb3JUaHJlZSA9IGZhbHNlOw0KIA0KICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopDQogIHsNCiAgICBhcnJbMl0gPSAzOw0KICAgIGlmKHZhbCAhPT0gMykNCiAgICAgIGNhbGxlZEZvclRocmVlID0gdHJ1ZTsNCg0KICAgIHJldHVybiBmYWxzZTsNCiAgfQ0KDQogIHZhciBhcnIgPSBbMSwyLCw0LDVdOw0KICANCiAgdmFyIHZhbCA9IGFyci5zb21lKGNhbGxiYWNrZm4pOw0KICByZXR1cm4gY2FsbGVkRm9yVGhyZWU7DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.some considers new elements added to array after it is called","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTcvMTUuNC40LjE3LTctMi5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5zb21lIGNvbnNpZGVycyBuZXcgdmFsdWUgb2YgZWxlbWVudHMgaW4gYXJyYXkgYWZ0ZXIgaXQgaXMgY2FsbGVkDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsgDQogDQogIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikNCiAgew0KICAgIGFycls0XSA9IDY7DQogICAgaWYodmFsIDwgNikNCiAgICAgIHJldHVybiBmYWxzZTsNCiAgICBlbHNlIA0KICAgICAgcmV0dXJuIHRydWU7DQogIH0NCg0KICB2YXIgYXJyID0gWzEsMiwzLDQsNV07DQogIA0KICBpZihhcnIuc29tZShjYWxsYmFja2ZuKSA9PT0gdHJ1ZSkgICAgDQogICAgcmV0dXJuIHRydWU7ICANCiAgDQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.some considers new value of elements in array after it is called","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTcvMTUuNC40LjE3LTctMy5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5zb21lIGRvZXNuJ3QgdmlzaXQgZGVsZXRlZCBlbGVtZW50cyBpbiBhcnJheSBhZnRlciBpdCBpcyBjYWxsZWQNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgeyANCiANCiAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKQ0KICB7DQogICAgZGVsZXRlIGFyclsyXTsNCiAgICBpZih2YWwgIT09IDMpDQogICAgICByZXR1cm4gZmFsc2U7DQogICAgZWxzZSANCiAgICAgIHJldHVybiB0cnVlOw0KICB9DQoNCiAgdmFyIGFyciA9IFsxLDIsMyw0LDVdOw0KICANCiAgaWYoYXJyLnNvbWUoY2FsbGJhY2tmbikgPT09IGZhbHNlKSAgICANCiAgICByZXR1cm4gdHJ1ZTsgIA0KICANCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.some doesn't visit deleted elements in array after it is called","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTcvMTUuNC40LjE3LTctNC5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5zb21lIGRvZXNuJ3QgdmlzaXQgZGVsZXRlZCBlbGVtZW50cyB3aGVuIEFycmF5Lmxlbmd0aCBpcyBkZWNyZWFzZWQNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgeyANCiANCiAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKQ0KICB7DQogICAgYXJyLmxlbmd0aCA9IDM7DQogICAgaWYodmFsIDwgNCkNCiAgICAgIHJldHVybiBmYWxzZTsNCiAgICBlbHNlIA0KICAgICAgcmV0dXJuIHRydWU7DQogIH0NCiAgDQogIHZhciBhcnIgPSBbMSwyLDMsNCw2XTsNCiAgDQogIGlmKGFyci5zb21lKGNhbGxiYWNrZm4pID09PSBmYWxzZSkgICAgDQogICAgcmV0dXJuIHRydWU7ICAgIA0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.some doesn't visit deleted elements when Array.length is decreased","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTcvMTUuNC40LjE3LTctNS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5zb21lIGRvZXNuJ3QgY29uc2lkZXIgbmV3bHkgYWRkZWQgZWxlbWVudHMgaW4gc3BhcnNlIGFycmF5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsgDQogDQogIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikNCiAgew0KICAgIGFyclsxMDAwXSA9IDU7DQogICAgaWYodmFsIDwgNSkNCiAgICAgIHJldHVybiBmYWxzZTsNCiAgICBlbHNlIA0KICAgICAgcmV0dXJuIHRydWU7DQogIH0NCg0KICB2YXIgYXJyID0gbmV3IEFycmF5KDEwKTsNCiAgYXJyWzFdID0gMTsNCiAgYXJyWzJdID0gMjsNCiAgDQogIGlmKGFyci5zb21lKGNhbGxiYWNrZm4pID09PSBmYWxzZSkgICAgDQogICAgcmV0dXJuIHRydWU7ICANCiANCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.some doesn't consider newly added elements in sparse array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTcvMTUuNC40LjE3LTctNi5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5zb21lIHZpc2l0cyBkZWxldGVkIGVsZW1lbnQgaW4gYXJyYXkgYWZ0ZXIgdGhlIGNhbGwgd2hlbiBzYW1lIGluZGV4IGlzIGFsc28gcHJlc2VudCBpbiBwcm90b3R5cGUNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgeyANCiANCiAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKQ0KICB7DQogICAgZGVsZXRlIGFycls0XTsNCiAgICBpZih2YWwgPCA1KQ0KICAgICAgcmV0dXJuIGZhbHNlOw0KICAgIGVsc2UgDQogICAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KDQoNCiAgQXJyYXkucHJvdG90eXBlWzRdID0gNTsNCiAgdmFyIGFyciA9IFsxLDIsMyw0LDVdOw0KICANCiAgdmFyIHJlcyA9IGFyci5zb21lKGNhbGxiYWNrZm4pIDsNCiAgZGVsZXRlIEFycmF5LnByb3RvdHlwZVs0XTsNCiAgaWYocmVzID09PSB0cnVlKSAgICANCiAgICByZXR1cm4gdHJ1ZTsgIA0KICANCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.some visits deleted element in array after the call when same index is also present in prototype","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-6.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTcvMTUuNC40LjE3LTctOC5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5zb21lIC0gbm8gb2JzZXJ2YWJsZSBlZmZlY3RzIG9jY3VyIGlmIGxlbmd0aCBpcyAwDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIHJldHVybiB2YWwgPiAxMDsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSB7IDA6IDExLCAxOiAxMiwgbGVuZ3RoOiAwIH07DQoNCiAgICAgICAgcmV0dXJuICFBcnJheS5wcm90b3R5cGUuc29tZS5jYWxsKG9iaiwgY2FsbGJhY2tmbikgJiYgIWFjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.some - no observable effects occur if length is 0","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-8.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTcvMTUuNC40LjE3LTctOS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5zb21lIC0gbW9kaWZpY2F0aW9ucyB0byBsZW5ndGggZG9uJ3QgY2hhbmdlIG51bWJlciBvZiBpdGVyYXRpb25zDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgY2FsbGVkID0gMDsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGNhbGxlZCsrOw0KICAgICAgICAgICAgcmV0dXJuIHZhbCA+IDEwOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgMDogOSwgMjogMTIsIGxlbmd0aDogMyB9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICIxIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgb2JqLmxlbmd0aCA9IDI7DQogICAgICAgICAgICAgICAgcmV0dXJuIDg7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUuc29tZS5jYWxsKG9iaiwgY2FsbGJhY2tmbikgJiYgY2FsbGVkID09PSAzOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.some - modifications to length don't change number of iterations","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-9.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTcvMTUuNC40LjE3LTctYi0xLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnNvbWUgLSBjYWxsYmFja2ZuIG5vdCBjYWxsZWQgZm9yIGluZGV4ZXMgbmV2ZXIgYmVlbiBhc3NpZ25lZCB2YWx1ZXMNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgeyANCg0KICB2YXIgY2FsbENudCA9IDA7IA0KICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopDQogIHsNCiAgICBjYWxsQ250Kys7DQogICAgcmV0dXJuIGZhbHNlOw0KICB9DQoNCiAgdmFyIGFyciA9IG5ldyBBcnJheSgxMCk7DQogIGFyclsxXSA9IHVuZGVmaW5lZDsNCiAgYXJyLnNvbWUoY2FsbGJhY2tmbik7DQogIGlmKGNhbGxDbnQgPT09IDEpICAgIA0KICAgICAgcmV0dXJuIHRydWU7ICANCiAgDQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.some - callbackfn not called for indexes never been assigned values","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-b-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTcvMTUuNC40LjE3LTctYi0xMC5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5zb21lIC0gZGVsZXRpbmcgcHJvcGVydHkgb2YgcHJvdG90eXBlIGNhdXNlcyBwcm90b3R5cGUgaW5kZXggcHJvcGVydHkgbm90IHRvIGJlIHZpc2l0ZWQgb24gYW4gQXJyYXktbGlrZSBPYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICByZXR1cm4gaWR4ID09PSAxOw0KICAgICAgICB9DQogICAgICAgIHZhciBhcnIgPSB7IDI6IDIsIGxlbmd0aDogMjAgfTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyLCAiMCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIGRlbGV0ZSBPYmplY3QucHJvdG90eXBlWzFdOw0KICAgICAgICAgICAgICAgIHJldHVybiAwOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LnByb3RvdHlwZVsxXSA9IDE7DQogICAgICAgICAgICByZXR1cm4gIUFycmF5LnByb3RvdHlwZS5zb21lLmNhbGwoYXJyLCBjYWxsYmFja2ZuKSAmJiBhY2Nlc3NlZDsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBPYmplY3QucHJvdG90eXBlWzFdOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.some - deleting property of prototype causes prototype index property not to be visited on an Array-like Object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-b-10.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTcvMTUuNC40LjE3LTctYi0xMS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5zb21lIC0gZGVsZXRpbmcgcHJvcGVydHkgb2YgcHJvdG90eXBlIGNhdXNlcyBwcm90b3R5cGUgaW5kZXggcHJvcGVydHkgbm90IHRvIGJlIHZpc2l0ZWQgb24gYW4gQXJyYXkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICByZXR1cm4gaWR4ID09PSAxOw0KICAgICAgICB9DQogICAgICAgIHZhciBhcnIgPSBbMCwgLCAyXTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyLCAiMCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIGRlbGV0ZSBBcnJheS5wcm90b3R5cGVbMV07DQogICAgICAgICAgICAgICAgcmV0dXJuIDA7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBBcnJheS5wcm90b3R5cGVbMV0gPSAxOw0KICAgICAgICAgICAgcmV0dXJuICFhcnIuc29tZShjYWxsYmFja2ZuKSAmJiBhY2Nlc3NlZDsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBBcnJheS5wcm90b3R5cGVbMV07DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.some - deleting property of prototype causes prototype index property not to be visited on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-b-11.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTcvMTUuNC40LjE3LTctYi0xMi5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5zb21lIC0gZGVsZXRpbmcgb3duIHByb3BlcnR5IHdpdGggcHJvdG90eXBlIHByb3BlcnR5IGNhdXNlcyBwcm90b3R5cGUgaW5kZXggcHJvcGVydHkgdG8gYmUgdmlzaXRlZCBvbiBhbiBBcnJheS1saWtlIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgaWYgKGlkeCA9PT0gMSAmJiB2YWwgPT09IDEpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsNCiAgICAgICAgICAgIH0gZWxzZSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQogICAgICAgIHZhciBhcnIgPSB7IDA6IDAsIDE6IDExMSwgMjogMiwgbGVuZ3RoOiAxMCB9Ow0KICAgICAgICANCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgIjAiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICBkZWxldGUgYXJyWzFdOw0KICAgICAgICAgICAgICAgIHJldHVybiAwOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LnByb3RvdHlwZVsxXSA9IDE7DQogICAgICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLnNvbWUuY2FsbChhcnIsIGNhbGxiYWNrZm4pOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIE9iamVjdC5wcm90b3R5cGVbMV07DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.some - deleting own property with prototype property causes prototype index property to be visited on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-b-12.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTcvMTUuNC40LjE3LTctYi0xMy5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5zb21lIC0gZGVsZXRpbmcgb3duIHByb3BlcnR5IHdpdGggcHJvdG90eXBlIHByb3BlcnR5IGNhdXNlcyBwcm90b3R5cGUgaW5kZXggcHJvcGVydHkgdG8gYmUgdmlzaXRlZCBvbiBhbiBBcnJheQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgaWYgKGlkeCA9PT0gMSAmJiB2YWwgPT09IDEpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsNCiAgICAgICAgICAgIH0gZWxzZSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQogICAgICAgIHZhciBhcnIgPSBbMCwgMTExLCAyXTsgDQogICAgICAgIA0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyLCAiMCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIGRlbGV0ZSBhcnJbMV07DQogICAgICAgICAgICAgICAgcmV0dXJuIDA7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBBcnJheS5wcm90b3R5cGVbMV0gPSAxOw0KICAgICAgICAgICAgcmV0dXJuIGFyci5zb21lKGNhbGxiYWNrZm4pOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIEFycmF5LnByb3RvdHlwZVsxXTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.some - deleting own property with prototype property causes prototype index property to be visited on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-b-13.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTcvMTUuNC40LjE3LTctYi0xNC5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5zb21lIC0gZGVjcmVhc2luZyBsZW5ndGggb2YgYXJyYXkgY2F1c2VzIGluZGV4IHByb3BlcnR5IG5vdCB0byBiZSB2aXNpdGVkDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgcmV0dXJuIGlkeCA9PT0gMzsNCiAgICAgICAgfQ0KICAgICAgICB2YXIgYXJyID0gWzAsIDEsIDIsICJsYXN0Il07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgIjAiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICBhcnIubGVuZ3RoID0gMzsNCiAgICAgICAgICAgICAgICByZXR1cm4gMDsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgcmV0dXJuICFhcnIuc29tZShjYWxsYmFja2ZuKSAmJiBhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.some - decreasing length of array causes index property not to be visited","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-b-14.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTcvMTUuNC40LjE3LTctYi0xNS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5zb21lIC0gZGVjcmVhc2luZyBsZW5ndGggb2YgYXJyYXkgd2l0aCBwcm90b3R5cGUgcHJvcGVydHkgY2F1c2VzIHByb3RvdHlwZSBpbmRleCBwcm9wZXJ0eSB0byBiZSB2aXNpdGVkDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBpZiAoaWR4ID09PSAyICYmIHZhbCA9PT0gInByb3RvdHlwZSIpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsNCiAgICAgICAgICAgIH0gZWxzZSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQogICAgICAgIHZhciBhcnIgPSBbMCwgMSwgMl07DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShBcnJheS5wcm90b3R5cGUsICIyIiwgew0KICAgICAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gInByb3RvdHlwZSI7DQogICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyLCAiMSIsIHsNCiAgICAgICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICAgICAgYXJyLmxlbmd0aCA9IDI7DQogICAgICAgICAgICAgICAgICAgIHJldHVybiAxOw0KICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgcmV0dXJuIGFyci5zb21lKGNhbGxiYWNrZm4pOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIEFycmF5LnByb3RvdHlwZVsyXTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.some - decreasing length of array with prototype property causes prototype index property to be visited","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-b-15.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTcvMTUuNC40LjE3LTctYi0xNi5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5zb21lIC0gZGVjcmVhc2luZyBsZW5ndGggb2YgYXJyYXkgZG9lcyBub3QgZGVsZXRlIG5vbi1jb25maWd1cmFibGUgcHJvcGVydGllcw0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgaWYgKGlkeCA9PT0gMiAmJiB2YWwgPT09ICJ1bmNvbmZpZ3VyYWJsZSIpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsNCiAgICAgICAgICAgIH0gZWxzZSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQogICAgICAgIA0KICAgICAgICB2YXIgYXJyID0gWzAsIDEsIDJdOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnIsICIyIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuICJ1bmNvbmZpZ3VyYWJsZSI7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyLCAiMSIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIGFyci5sZW5ndGggPSAyOw0KICAgICAgICAgICAgICAgIHJldHVybiAxOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICByZXR1cm4gYXJyLnNvbWUoY2FsbGJhY2tmbik7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.some - decreasing length of array does not delete non-configurable properties","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-b-16.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTcvMTUuNC40LjE3LTctYi0yLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnNvbWUgLSBhZGRlZCBwcm9wZXJ0aWVzIGluIHN0ZXAgMiBhcmUgdmlzaWJsZSBoZXJlDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBpZiAoaWR4ID09PSAyICYmIHZhbCA9PT0gImxlbmd0aCIpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsNCiAgICAgICAgICAgIH0gZWxzZSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQogICAgICAgIA0KICAgICAgICB2YXIgYXJyID0geyB9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnIsICJsZW5ndGgiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICBhcnJbMl0gPSAibGVuZ3RoIjsNCiAgICAgICAgICAgICAgICByZXR1cm4gMzsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5zb21lLmNhbGwoYXJyLCBjYWxsYmFja2ZuKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.some - added properties in step 2 are visible here","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-b-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTcvMTUuNC40LjE3LTctYi0zLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnNvbWUgLSBkZWxldGVkIHByb3BlcnRpZXMgaW4gc3RlcCAyIGFyZSB2aXNpYmxlIGhlcmUNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICByZXR1cm4gaWR4ID09PSAyOw0KICAgICAgICB9DQogICAgICAgIHZhciBhcnIgPSB7IDI6IDYuOTksIDg6IDE5fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyLCAibGVuZ3RoIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgZGVsZXRlIGFyclsyXTsNCiAgICAgICAgICAgICAgICByZXR1cm4gMTA7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHJldHVybiAhQXJyYXkucHJvdG90eXBlLnNvbWUuY2FsbChhcnIsIGNhbGxiYWNrZm4pICYmIGFjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.some - deleted properties in step 2 are visible here","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-b-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTcvMTUuNC40LjE3LTctYi00LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnNvbWUgLSBwcm9wZXJ0aWVzIGFkZGVkIGludG8gb3duIG9iamVjdCBhZnRlciBjdXJyZW50IHBvc2l0aW9uIGFyZSB2aXNpdGVkIG9uIGFuIEFycmF5LWxpa2Ugb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGlmIChpZHggPT09IDEgJiYgdmFsID09PSAxKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7DQogICAgICAgICAgICB9IGVsc2Ugew0KICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KICAgICAgICANCiAgICAgICAgdmFyIGFyciA9IHsgbGVuZ3RoOiAyIH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgIjAiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyLCAiMSIsIHsNCiAgICAgICAgICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gMTsNCiAgICAgICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICAgICAgfSk7DQogICAgICAgICAgICAgICAgcmV0dXJuIDA7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUuc29tZS5jYWxsKGFyciwgY2FsbGJhY2tmbik7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.some - properties added into own object after current position are visited on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-b-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTcvMTUuNC40LjE3LTctYi01LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnNvbWUgLSBwcm9wZXJ0aWVzIGFkZGVkIGludG8gb3duIG9iamVjdCBhZnRlciBjdXJyZW50IHBvc2l0aW9uIGFyZSB2aXNpdGVkIG9uIGFuIEFycmF5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBpZiAoaWR4ID09PSAxICYmIHZhbCA9PT0gMSkgew0KICAgICAgICAgICAgICAgIHJldHVybiB0cnVlOw0KICAgICAgICAgICAgfSBlbHNlIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgYXJyID0gWzAsICwgMl07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgIjAiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyLCAiMSIsIHsNCiAgICAgICAgICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gMTsNCiAgICAgICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICAgICAgfSk7DQogICAgICAgICAgICAgICAgcmV0dXJuIDA7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHJldHVybiBhcnIuc29tZShjYWxsYmFja2ZuKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.some - properties added into own object after current position are visited on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-b-5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTcvMTUuNC40LjE3LTctYi02LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnNvbWUgLSBwcm9wZXJ0aWVzIGNhbiBiZSBhZGRlZCB0byBwcm90b3R5cGUgYWZ0ZXIgY3VycmVudCBwb3NpdGlvbiBhcmUgdmlzaXRlZCBvbiBhbiBBcnJheS1saWtlIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgaWYgKGlkeCA9PT0gMSAmJiB2YWwgPT09IDYuOTkpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsNCiAgICAgICAgICAgIH0gZWxzZSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQogICAgICAgIHZhciBhcnIgPSB7IGxlbmd0aDogMiB9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnIsICIwIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KE9iamVjdC5wcm90b3R5cGUsICIxIiwgew0KICAgICAgICAgICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiA2Ljk5Ow0KICAgICAgICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgICAgICB9KTsNCiAgICAgICAgICAgICAgICByZXR1cm4gMDsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUuc29tZS5jYWxsKGFyciwgY2FsbGJhY2tmbik7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgT2JqZWN0LnByb3RvdHlwZVsxXTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.some - properties can be added to prototype after current position are visited on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-b-6.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTcvMTUuNC40LjE3LTctYi03LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnNvbWUgLSBwcm9wZXJ0aWVzIGNhbiBiZSBhZGRlZCB0byBwcm90b3R5cGUgYWZ0ZXIgY3VycmVudCBwb3NpdGlvbiBhcmUgdmlzaXRlZCBvbiBhbiBBcnJheQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgaWYgKGlkeCA9PT0gMSAmJiB2YWwgPT09IDYuOTkpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsNCiAgICAgICAgICAgIH0gZWxzZSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQogICAgICAgIHZhciBhcnIgPSBbMCwgLCAyXTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyLCAiMCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShBcnJheS5wcm90b3R5cGUsICIxIiwgew0KICAgICAgICAgICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiA2Ljk5Ow0KICAgICAgICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgICAgICB9KTsNCiAgICAgICAgICAgICAgICByZXR1cm4gMDsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIHJldHVybiBhcnIuc29tZShjYWxsYmFja2ZuKTsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBBcnJheS5wcm90b3R5cGVbMV07DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.some - properties can be added to prototype after current position are visited on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-b-7.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTcvMTUuNC40LjE3LTctYi04LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnNvbWUgLSBkZWxldGluZyBvd24gcHJvcGVydHkgY2F1c2VzIGluZGV4IHByb3BlcnR5IG5vdCB0byBiZSB2aXNpdGVkIG9uIGFuIEFycmF5LWxpa2Ugb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgcmV0dXJuIGlkeCA9PT0gMTsNCiAgICAgICAgfQ0KICAgICAgICB2YXIgYXJyID0geyBsZW5ndGg6IDIgfTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyLCAiMSIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiA2Ljk5Ow0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyLCAiMCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIGRlbGV0ZSBhcnJbMV07DQogICAgICAgICAgICAgICAgcmV0dXJuIDA7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHJldHVybiAhQXJyYXkucHJvdG90eXBlLnNvbWUuY2FsbChhcnIsIGNhbGxiYWNrZm4pICYmIGFjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.some - deleting own property causes index property not to be visited on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-b-8.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTcvMTUuNC40LjE3LTctYi05LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnNvbWUgLSBkZWxldGluZyBvd24gcHJvcGVydHkgY2F1c2VzIGluZGV4IHByb3BlcnR5IG5vdCB0byBiZSB2aXNpdGVkIG9uIGFuIEFycmF5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgcmV0dXJuIGlkeCA9PT0gMTsNCiAgICAgICAgfQ0KICAgICAgICB2YXIgYXJyID0gWzEsIDJdOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnIsICIxIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuICI2Ljk5IjsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgIjAiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICBkZWxldGUgYXJyWzFdOw0KICAgICAgICAgICAgICAgIHJldHVybiAwOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICByZXR1cm4gIWFyci5zb21lKGNhbGxiYWNrZm4pICYmIGFjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.some - deleting own property causes index property not to be visited on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-b-9.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTcvMTUuNC40LjE3LTctYy1pLTEuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuc29tZSAtIGVsZW1lbnQgdG8gYmUgcmV0cmlldmVkIGlzIG93biBkYXRhIHByb3BlcnR5IG9uIGFuIEFycmF5LWxpa2Ugb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIga1ZhbHVlID0ge307DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBpZiAoaWR4ID09PSA1KSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIHZhbCA9PT0ga1ZhbHVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgNToga1ZhbHVlLCBsZW5ndGg6IDEwMCB9Ow0KDQogICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUuc29tZS5jYWxsKG9iaiwgY2FsbGJhY2tmbik7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.some - element to be retrieved is own data property on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-i-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTcvMTUuNC40LjE3LTctYy1pLTEwLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnNvbWUgLSBlbGVtZW50IHRvIGJlIHJldHJpZXZlZCBpcyBvd24gYWNjZXNzb3IgcHJvcGVydHkgb24gYW4gQXJyYXkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBrVmFsdWUgPSAiYWJjIjsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGlmIChpZHggPT09IDEwKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIHZhbCA9PT0ga1ZhbHVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIGFyciA9IFtdOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnIsICIxMCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiBrVmFsdWU7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHJldHVybiBhcnIuc29tZShjYWxsYmFja2ZuKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.some - element to be retrieved is own accessor property on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-i-10.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTcvMTUuNC40LjE3LTctYy1pLTExLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnNvbWUgLSBlbGVtZW50IHRvIGJlIHJldHJpZXZlZCBpcyBvd24gYWNjZXNzb3IgcHJvcGVydHkgdGhhdCBvdmVycmlkZXMgYW4gaW5oZXJpdGVkIGRhdGEgcHJvcGVydHkgb24gYW4gQXJyYXktbGlrZSBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBrVmFsdWUgPSAiYWJjIjsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGlmIChpZHggPT09IDEpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gdmFsID09PSBrVmFsdWU7DQogICAgICAgICAgICB9DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgcHJvdG8gPSB7IDE6IDYgfTsNCg0KICAgICAgICB2YXIgQ29uID0gZnVuY3Rpb24gKCkgeyB9Ow0KICAgICAgICBDb24ucHJvdG90eXBlID0gcHJvdG87DQoNCiAgICAgICAgdmFyIGNoaWxkID0gbmV3IENvbigpOw0KICAgICAgICBjaGlsZC5sZW5ndGggPSAxMDsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoY2hpbGQsICIxIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIGtWYWx1ZTsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5zb21lLmNhbGwoY2hpbGQsIGNhbGxiYWNrZm4pOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.some - element to be retrieved is own accessor property that overrides an inherited data property on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-i-11.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTcvMTUuNC40LjE3LTctYy1pLTEyLmpzDQogKiBAZGVzY3JpcHRpb24gIEFycmF5LnByb3RvdHlwZS5zb21lIC0gZWxlbWVudCB0byBiZSByZXRyaWV2ZWQgaXMgb3duIGFjY2Vzc29yIHByb3BlcnR5IHRoYXQgb3ZlcnJpZGVzIGFuIGluaGVyaXRlZCBkYXRhIHByb3BlcnR5IG9uIGFuIEFycmF5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIga1ZhbHVlID0gImFiYyI7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBpZiAoaWR4ID09PSAxKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIHZhbCA9PT0ga1ZhbHVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9DQogICAgICAgIA0KICAgICAgICB2YXIgYXJyID0gW107DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBBcnJheS5wcm90b3R5cGVbMV0gPSAxMDA7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyLCAiMSIsIHsNCiAgICAgICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGtWYWx1ZTsNCiAgICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgIHJldHVybiBhcnIuc29tZShjYWxsYmFja2ZuKTsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBBcnJheS5wcm90b3R5cGVbMV07DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.some - element to be retrieved is own accessor property that overrides an inherited data property on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-i-12.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTcvMTUuNC40LjE3LTctYy1pLTEzLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnNvbWUgLSBlbGVtZW50IHRvIGJlIHJldHJpZXZlZCBpcyBvd24gYWNjZXNzb3IgcHJvcGVydHkgdGhhdCBvdmVycmlkZXMgYW4gaW5oZXJpdGVkIGFjY2Vzc29yIHByb3BlcnR5IG9uIGFuIEFycmF5LWxpa2Ugb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIga1ZhbHVlID0gImFiYyI7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBpZiAoaWR4ID09PSAxKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIHZhbCA9PT0ga1ZhbHVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIHByb3RvID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHByb3RvLCAiMSIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiA1Ow0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgQ29uID0gZnVuY3Rpb24gKCkgeyB9Ow0KICAgICAgICBDb24ucHJvdG90eXBlID0gcHJvdG87DQoNCiAgICAgICAgdmFyIGNoaWxkID0gbmV3IENvbigpOw0KICAgICAgICBjaGlsZC5sZW5ndGggPSAxMDsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoY2hpbGQsICIxIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIGtWYWx1ZTsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCg0KICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLnNvbWUuY2FsbChjaGlsZCwgY2FsbGJhY2tmbik7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.some - element to be retrieved is own accessor property that overrides an inherited accessor property on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-i-13.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTcvMTUuNC40LjE3LTctYy1pLTE0LmpzDQogKiBAZGVzY3JpcHRpb24gIEFycmF5LnByb3RvdHlwZS5zb21lIC0gZWxlbWVudCB0byBiZSByZXRyaWV2ZWQgaXMgb3duIGFjY2Vzc29yIHByb3BlcnR5IHRoYXQgb3ZlcnJpZGVzIGFuIGluaGVyaXRlZCBhY2Nlc3NvciBwcm9wZXJ0eSBvbiBhbiBBcnJheQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGtWYWx1ZSA9ICJhYmMiOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgaWYgKGlkeCA9PT0gMSkgew0KICAgICAgICAgICAgICAgIHJldHVybiB2YWwgPT09IGtWYWx1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBhcnIgPSBbXTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgIjEiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4ga1ZhbHVlOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KEFycmF5LnByb3RvdHlwZSwgIjEiLCB7DQogICAgICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgIHJldHVybiAxMDsNCiAgICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgIHJldHVybiBhcnIuc29tZShjYWxsYmFja2ZuKTsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBBcnJheS5wcm90b3R5cGVbMV07DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.some - element to be retrieved is own accessor property that overrides an inherited accessor property on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-i-14.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTcvMTUuNC40LjE3LTctYy1pLTE1LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnNvbWUgLSBlbGVtZW50IHRvIGJlIHJldHJpZXZlZCBpcyBpbmhlcml0ZWQgYWNjZXNzb3IgcHJvcGVydHkgb24gYW4gQXJyYXktbGlrZSBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBrVmFsdWUgPSAiYWJjIjsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGlmIChpZHggPT09IDEpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gdmFsID09PSBrVmFsdWU7DQogICAgICAgICAgICB9DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgcHJvdG8gPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkocHJvdG8sICIxIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIGtWYWx1ZTsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIENvbiA9IGZ1bmN0aW9uICgpIHsgfTsNCiAgICAgICAgQ29uLnByb3RvdHlwZSA9IHByb3RvOw0KDQogICAgICAgIHZhciBjaGlsZCA9IG5ldyBDb24oKTsNCiAgICAgICAgY2hpbGQubGVuZ3RoID0gMjA7DQoNCiAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5zb21lLmNhbGwoY2hpbGQsIGNhbGxiYWNrZm4pOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.some - element to be retrieved is inherited accessor property on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-i-15.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTcvMTUuNC40LjE3LTctYy1pLTE2LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnNvbWUgLSBlbGVtZW50IHRvIGJlIHJldHJpZXZlZCBpcyBpbmhlcml0ZWQgYWNjZXNzb3IgcHJvcGVydHkgb24gYW4gQXJyYXkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBrVmFsdWUgPSAiYWJjIjsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGlmIChpZHggPT09IDEpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gdmFsID09PSBrVmFsdWU7DQogICAgICAgICAgICB9DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0NCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KEFycmF5LnByb3RvdHlwZSwgIjEiLCB7DQogICAgICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgIHJldHVybiBrVmFsdWU7DQogICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICByZXR1cm4gWywgLCBdLnNvbWUoY2FsbGJhY2tmbik7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgQXJyYXkucHJvdG90eXBlWzFdOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.some - element to be retrieved is inherited accessor property on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-i-16.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTcvMTUuNC40LjE3LTctYy1pLTE3LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnNvbWUgLSBlbGVtZW50IHRvIGJlIHJldHJpZXZlZCBpcyBvd24gYWNjZXNzb3IgcHJvcGVydHkgd2l0aG91dCBhIGdldCBmdW5jdGlvbiBvbiBhbiBBcnJheS1saWtlIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBpZiAoaWR4ID09PSAxKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIHR5cGVvZiB2YWwgPT09ICJ1bmRlZmluZWQiOw0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgbGVuZ3RoOiAyIH07DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICIxIiwgew0KICAgICAgICAgICAgc2V0OiBmdW5jdGlvbiAoKSB7IH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5zb21lLmNhbGwob2JqLCBjYWxsYmFja2ZuKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.some - element to be retrieved is own accessor property without a get function on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-i-17.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTcvMTUuNC40LjE3LTctYy1pLTE4LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnNvbWUgLSBlbGVtZW50IHRvIGJlIHJldHJpZXZlZCBpcyBvd24gYWNjZXNzb3IgcHJvcGVydHkgd2l0aG91dCBhIGdldCBmdW5jdGlvbiBvbiBhbiBBcnJheQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBpZiAoaWR4ID09PSAwKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIHR5cGVvZiB2YWwgPT09ICJ1bmRlZmluZWQiOw0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIGFyciA9IFtdOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnIsICIwIiwgew0KICAgICAgICAgICAgc2V0OiBmdW5jdGlvbiAoKSB7IH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgcmV0dXJuIGFyci5zb21lKGNhbGxiYWNrZm4pOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.some - element to be retrieved is own accessor property without a get function on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-i-18.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTcvMTUuNC40LjE3LTctYy1pLTE5LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnNvbWUgLSBlbGVtZW50IHRvIGJlIHJldHJpZXZlZCBpcyBvd24gYWNjZXNzb3IgcHJvcGVydHkgd2l0aG91dCBhIGdldCBmdW5jdGlvbiB0aGF0IG92ZXJyaWRlcyBhbiBpbmhlcml0ZWQgYWNjZXNzb3IgcHJvcGVydHkgb24gYW4gQXJyYXktbGlrZSBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgaWYgKGlkeCA9PT0gMSkgew0KICAgICAgICAgICAgICAgIHJldHVybiB0eXBlb2YgdmFsID09PSAidW5kZWZpbmVkIjsNCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSB7IGxlbmd0aDogMiB9Ow0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiMSIsIHsNCiAgICAgICAgICAgIHNldDogZnVuY3Rpb24gKCkgeyB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LnByb3RvdHlwZVsxXSA9IDEwOw0KICAgICAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5zb21lLmNhbGwob2JqLCBjYWxsYmFja2ZuKTsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBPYmplY3QucHJvdG90eXBlWzFdOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.some - element to be retrieved is own accessor property without a get function that overrides an inherited accessor property on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-i-19.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTcvMTUuNC40LjE3LTctYy1pLTIuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuc29tZSAtIGVsZW1lbnQgdG8gYmUgcmV0cmlldmVkIGlzIG93biBkYXRhIHByb3BlcnR5IG9uIGFuIEFycmF5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIga1ZhbHVlID0ge307DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBpZiAoaWR4ID09PSAwKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIGtWYWx1ZSA9PT0gdmFsOw0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9DQoNCiAgICAgICAgcmV0dXJuIFtrVmFsdWVdLnNvbWUoY2FsbGJhY2tmbik7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.some - element to be retrieved is own data property on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-i-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTcvMTUuNC40LjE3LTctYy1pLTIwLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnNvbWUgLSBlbGVtZW50IHRvIGJlIHJldHJpZXZlZCBpcyBvd24gYWNjZXNzb3IgcHJvcGVydHkgd2l0aG91dCBhIGdldCBmdW5jdGlvbiB0aGF0IG92ZXJyaWRlcyBhbiBpbmhlcml0ZWQgYWNjZXNzb3IgcHJvcGVydHkgb24gYW4gQXJyYXkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgaWYgKGlkeCA9PT0gMCkgew0KICAgICAgICAgICAgICAgIHJldHVybiB0eXBlb2YgdmFsID09PSAidW5kZWZpbmVkIjsNCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBhcnIgPSBbXTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyLCAiMCIsIHsNCiAgICAgICAgICAgIHNldDogZnVuY3Rpb24gKCkgeyB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBBcnJheS5wcm90b3R5cGVbMF0gPSAxMDA7DQogICAgICAgICAgICByZXR1cm4gYXJyLnNvbWUoY2FsbGJhY2tmbik7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgQXJyYXkucHJvdG90eXBlWzBdOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.some - element to be retrieved is own accessor property without a get function that overrides an inherited accessor property on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-i-20.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTcvMTUuNC40LjE3LTctYy1pLTIxLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnNvbWUgLSBlbGVtZW50IHRvIGJlIHJldHJpZXZlZCBpcyBpbmhlcml0ZWQgYWNjZXNzb3IgcHJvcGVydHkgd2l0aG91dCBhIGdldCBmdW5jdGlvbiBvbiBhbiBBcnJheS1saWtlIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBpZiAoaWR4ID09PSAxKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIHR5cGVvZiB2YWwgPT09ICJ1bmRlZmluZWQiOw0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIHByb3RvID0ge307DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShwcm90bywgIjEiLCB7DQogICAgICAgICAgICBzZXQ6IGZ1bmN0aW9uICgpIHsgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgQ29uID0gZnVuY3Rpb24gKCkgeyB9Ow0KICAgICAgICBDb24ucHJvdG90eXBlID0gcHJvdG87DQoNCiAgICAgICAgdmFyIGNoaWxkID0gbmV3IENvbigpOw0KICAgICAgICBjaGlsZC5sZW5ndGggPSAyOw0KDQogICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUuc29tZS5jYWxsKGNoaWxkLCBjYWxsYmFja2ZuKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.some - element to be retrieved is inherited accessor property without a get function on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-i-21.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTcvMTUuNC40LjE3LTctYy1pLTIyLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnNvbWUgLSBlbGVtZW50IHRvIGJlIHJldHJpZXZlZCBpcyBpbmhlcml0ZWQgYWNjZXNzb3IgcHJvcGVydHkgd2l0aG91dCBhIGdldCBmdW5jdGlvbiBvbiBhbiBBcnJheQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBpZiAoaWR4ID09PSAwKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIHR5cGVvZiB2YWwgPT09ICJ1bmRlZmluZWQiOw0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShBcnJheS5wcm90b3R5cGUsICIwIiwgew0KICAgICAgICAgICAgICAgIHNldDogZnVuY3Rpb24gKCkgeyB9LA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgIHJldHVybiBbLCBdLnNvbWUoY2FsbGJhY2tmbik7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgQXJyYXkucHJvdG90eXBlWzBdOw0KICAgICAgICB9DQoNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.some - element to be retrieved is inherited accessor property without a get function on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-i-22.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTcvMTUuNC40LjE3LTctYy1pLTIzLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnNvbWUgLSBUaGlzIG9iamVjdCBpcyBhbiBnbG9iYWwgb2JqZWN0IHdoaWNoIGNvbnRhaW5zIGluZGV4IHByb3BlcnR5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGlmIChpZHggPT09IDApIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gdmFsID09PSAxMTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfQ0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICB2YXIgb2xkTGVuID0gZm5HbG9iYWxPYmplY3QoKS5sZW5ndGg7DQogICAgICAgICAgICBmbkdsb2JhbE9iamVjdCgpWzBdID0gMTE7DQogICAgICAgICAgICBmbkdsb2JhbE9iamVjdCgpLmxlbmd0aCA9IDE7DQogICAgICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLnNvbWUuY2FsbChmbkdsb2JhbE9iamVjdCgpLCBjYWxsYmFja2ZuKTsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBmbkdsb2JhbE9iamVjdCgpWzBdOw0KICAgICAgICAgICAgZm5HbG9iYWxPYmplY3QoKS5sZW5ndGggPSBvbGRMZW47DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.some - This object is an global object which contains index property","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-i-23.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTcvMTUuNC40LjE3LTctYy1pLTI1LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnNvbWUgLSBUaGlzIG9iamVjdCBpcyB0aGUgQXJndW1lbnRzIG9iamVjdCB3aGljaCBpbXBsZW1lbnRzIGl0cyBvd24gcHJvcGVydHkgZ2V0IG1ldGhvZCAobnVtYmVyIG9mIGFyZ3VtZW50cyBpcyBsZXNzIHRoYW4gbnVtYmVyIG9mIHBhcmFtZXRlcnMpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGlmIChpZHggPT09IDApIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gdmFsID09PSAxMTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBmdW5jID0gZnVuY3Rpb24gKGEsIGIpIHsNCiAgICAgICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUuc29tZS5jYWxsKGFyZ3VtZW50cywgY2FsbGJhY2tmbik7DQogICAgICAgIH07DQoNCiAgICAgICAgcmV0dXJuIGZ1bmMoMTEpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.some - This object is the Arguments object which implements its own property get method (number of arguments is less than number of parameters)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-i-25.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTcvMTUuNC40LjE3LTctYy1pLTI2LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnNvbWUgLSBUaGlzIG9iamVjdCBpcyB0aGUgQXJndW1lbnRzIG9iamVjdCB3aGljaCBpbXBsZW1lbnRzIGl0cyBvd24gcHJvcGVydHkgZ2V0IG1ldGhvZCAobnVtYmVyIG9mIGFyZ3VtZW50cyBlcXVhbHMgbnVtYmVyIG9mIHBhcmFtZXRlcnMpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgZmlyc3RSZXN1bHQgPSBmYWxzZTsNCiAgICAgICAgdmFyIHNlY29uZFJlc3VsdCA9IGZhbHNlOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgaWYgKGlkeCA9PT0gMCkgew0KICAgICAgICAgICAgICAgIGZpcnN0UmVzdWx0ID0gKHZhbCA9PT0gMTEpOw0KICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgICAgIH0gZWxzZSBpZiAoaWR4ID09PSAxKSB7DQogICAgICAgICAgICAgICAgc2Vjb25kUmVzdWx0ID0gKHZhbCA9PT0gOSk7DQogICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICAgICAgfSBlbHNlIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBmdW5jID0gZnVuY3Rpb24gKGEsIGIpIHsNCiAgICAgICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUuc29tZS5jYWxsKGFyZ3VtZW50cywgY2FsbGJhY2tmbik7DQogICAgICAgIH07DQoNCiAgICAgICAgcmV0dXJuICFmdW5jKDExLCA5KSAmJiBmaXJzdFJlc3VsdCAmJiBzZWNvbmRSZXN1bHQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.some - This object is the Arguments object which implements its own property get method (number of arguments equals number of parameters)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-i-26.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTcvMTUuNC40LjE3LTctYy1pLTI3LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnNvbWUgLSBUaGlzIG9iamVjdCBpcyB0aGUgQXJndW1lbnRzIG9iamVjdCB3aGljaCBpbXBsZW1lbnRzIGl0cyBvd24gcHJvcGVydHkgZ2V0IG1ldGhvZCAobnVtYmVyIG9mIGFyZ3VtZW50cyBpcyBncmVhdGVyIHRoYW4gbnVtYmVyIG9mIHBhcmFtZXRlcnMpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgZmlyc3RSZXN1bHQgPSBmYWxzZTsNCiAgICAgICAgdmFyIHNlY29uZFJlc3VsdCA9IGZhbHNlOw0KICAgICAgICB2YXIgdGhpcmRSZXN1bHQgPSBmYWxzZTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGlmIChpZHggPT09IDApIHsNCiAgICAgICAgICAgICAgICBmaXJzdFJlc3VsdCA9ICh2YWwgPT09IDExKTsNCiAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgICAgICB9IGVsc2UgaWYgKGlkeCA9PT0gMSkgew0KICAgICAgICAgICAgICAgIHNlY29uZFJlc3VsdCA9ICh2YWwgPT09IDEyKTsNCiAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgICAgICB9IGVsc2UgaWYgKGlkeCA9PT0gMikgew0KICAgICAgICAgICAgICAgIHRoaXJkUmVzdWx0ID0gKHZhbCA9PT0gOSk7DQogICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICAgICAgfSBlbHNlIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBmdW5jID0gZnVuY3Rpb24gKGEsIGIpIHsNCiAgICAgICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUuc29tZS5jYWxsKGFyZ3VtZW50cywgY2FsbGJhY2tmbik7DQogICAgICAgIH07DQoNCiAgICAgICAgcmV0dXJuICFmdW5jKDExLCAxMiwgOSkgJiYgZmlyc3RSZXN1bHQgJiYgc2Vjb25kUmVzdWx0ICYmIHRoaXJkUmVzdWx0Ow0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.some - This object is the Arguments object which implements its own property get method (number of arguments is greater than number of parameters)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-i-27.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTcvMTUuNC40LjE3LTctYy1pLTI4LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnNvbWUgLSBlbGVtZW50IGNoYW5nZWQgYnkgZ2V0dGVyIG9uIHByZXZpb3VzIGl0ZXJhdGlvbnMgaXMgb2JzZXJ2ZWQgb24gYW4gQXJyYXkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgaWYgKGlkeCA9PT0gMSkgew0KICAgICAgICAgICAgICAgIHJldHVybiB2YWwgPT09IDEyOw0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIGFyciA9IFtdOw0KICAgICAgICB2YXIgaGVscFZlcmlmeVZhciA9IDExOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnIsICIxIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIGhlbHBWZXJpZnlWYXI7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgc2V0OiBmdW5jdGlvbiAoYXJncykgew0KICAgICAgICAgICAgICAgIGhlbHBWZXJpZnlWYXIgPSBhcmdzOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyLCAiMCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIGFyclsxXSA9IDEyOw0KICAgICAgICAgICAgICAgIHJldHVybiA5Ow0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICByZXR1cm4gYXJyLnNvbWUoY2FsbGJhY2tmbik7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.some - element changed by getter on previous iterations is observed on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-i-28.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTcvMTUuNC40LjE3LTctYy1pLTI5LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnNvbWUgLSBlbGVtZW50IGNoYW5nZWQgYnkgZ2V0dGVyIG9uIHByZXZpb3VzIGl0ZXJhdGlvbnMgb24gYW4gQXJyYXktbGlrZSBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgaWYgKGlkeCA9PT0gMSkgew0KICAgICAgICAgICAgICAgIHJldHVybiB2YWwgPT09IDEyOw0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgbGVuZ3RoOiAyIH07DQogICAgICAgIHZhciBoZWxwVmVyaWZ5VmFyID0gMTE7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgIjEiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gaGVscFZlcmlmeVZhcjsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBzZXQ6IGZ1bmN0aW9uIChhcmdzKSB7DQogICAgICAgICAgICAgICAgaGVscFZlcmlmeVZhciA9IGFyZ3M7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICIwIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgb2JqWzFdID0gMTI7DQogICAgICAgICAgICAgICAgcmV0dXJuIDExOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLnNvbWUuY2FsbChvYmosIGNhbGxiYWNrZm4pOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.some - element changed by getter on previous iterations on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-i-29.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTcvMTUuNC40LjE3LTctYy1pLTMuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuc29tZSAtIGVsZW1lbnQgdG8gYmUgcmV0cmlldmVkIGlzIG93biBkYXRhIHByb3BlcnR5IHRoYXQgb3ZlcnJpZGVzIGFuIGluaGVyaXRlZCBkYXRhIHByb3BlcnR5IG9uIGFuIEFycmF5LWxpa2Ugb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIga1ZhbHVlID0gImFiYyI7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBpZiAoaWR4ID09PSA1KSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIHZhbCA9PT0ga1ZhbHVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIHByb3RvID0geyA1OiAxMDAgfTsNCg0KICAgICAgICB2YXIgQ29uID0gZnVuY3Rpb24gKCkgeyB9Ow0KICAgICAgICBDb24ucHJvdG90eXBlID0gcHJvdG87DQoNCiAgICAgICAgdmFyIGNoaWxkID0gbmV3IENvbigpOw0KICAgICAgICBjaGlsZFs1XSA9IGtWYWx1ZTsNCiAgICAgICAgY2hpbGQubGVuZ3RoID0gMTA7DQoNCiAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5zb21lLmNhbGwoY2hpbGQsIGNhbGxiYWNrZm4pOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.some - element to be retrieved is own data property that overrides an inherited data property on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-i-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTcvMTUuNC40LjE3LTctYy1pLTMwLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnNvbWUgLSB1bmhhbmRsZWQgZXhjZXB0aW9ucyBoYXBwZW5lZCBpbiBnZXR0ZXIgdGVybWluYXRlIGl0ZXJhdGlvbiBvbiBhbiBBcnJheS1saWtlIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgaWYgKGlkeCA+IDEpIHsNCiAgICAgICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgICAgICByZXR1cm4gdHJ1ZTsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSB7IGxlbmd0aDogMjAgfTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgIjEiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICB0aHJvdyBuZXcgUmFuZ2VFcnJvcigidW5oYW5kbGUgZXhjZXB0aW9uIGhhcHBlbmVkIGluIGdldHRlciIpOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlLnNvbWUuY2FsbChvYmosIGNhbGxiYWNrZm4pOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChleCkgew0KICAgICAgICAgICAgcmV0dXJuIGV4IGluc3RhbmNlb2YgUmFuZ2VFcnJvciAmJiAhYWNjZXNzZWQ7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.some - unhandled exceptions happened in getter terminate iteration on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-i-30.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTcvMTUuNC40LjE3LTctYy1pLTMxLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnNvbWUgLSB1bmhhbmRsZWQgZXhjZXB0aW9ucyBoYXBwZW5lZCBpbiBnZXR0ZXIgdGVybWluYXRlIGl0ZXJhdGlvbiBvbiBhbiBBcnJheQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgaWYgKGlkeCA+IDApIHsNCiAgICAgICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgICAgICByZXR1cm4gdHJ1ZTsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBhcnIgPSBbXTsNCiAgICAgICAgYXJyWzEwXSA9IDEwMDsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgIjAiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICB0aHJvdyBuZXcgUmFuZ2VFcnJvcigidW5oYW5kbGUgZXhjZXB0aW9uIGhhcHBlbmVkIGluIGdldHRlciIpOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgYXJyLnNvbWUoY2FsbGJhY2tmbik7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGV4KSB7DQogICAgICAgICAgICByZXR1cm4gZXggaW5zdGFuY2VvZiBSYW5nZUVycm9yICYmICFhY2Nlc3NlZDsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.some - unhandled exceptions happened in getter terminate iteration on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-i-31.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTcvMTUuNC40LjE3LTctYy1pLTQuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuc29tZSAtIGVsZW1lbnQgdG8gYmUgcmV0cmlldmVkIGlzIG93biBkYXRhIHByb3BlcnR5IHRoYXQgb3ZlcnJpZGVzIGFuIGluaGVyaXRlZCBkYXRhIHByb3BlcnR5IG9uIGFuIEFycmF5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIga1ZhbHVlID0gImFiYyI7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBpZiAoaWR4ID09PSAwKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIHZhbCA9PT0ga1ZhbHVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIEFycmF5LnByb3RvdHlwZVswXSA9IDExOw0KDQogICAgICAgICAgICByZXR1cm4gW2tWYWx1ZV0uc29tZShjYWxsYmFja2ZuKTsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBBcnJheS5wcm90b3R5cGVbMF07DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.some - element to be retrieved is own data property that overrides an inherited data property on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-i-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTcvMTUuNC40LjE3LTctYy1pLTUuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuc29tZSAtIGVsZW1lbnQgdG8gYmUgcmV0cmlldmVkIGlzIG93biBkYXRhIHByb3BlcnR5IHRoYXQgb3ZlcnJpZGVzIGFuIGluaGVyaXRlZCBhY2Nlc3NvciBwcm9wZXJ0eSBvbiBhbiBBcnJheS1saWtlIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGtWYWx1ZSA9IDEwMDA7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBpZiAoaWR4ID09PSAwKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIHZhbCA9PT0ga1ZhbHVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIHByb3RvID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHByb3RvLCAiMCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiA1Ow0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgQ29uID0gZnVuY3Rpb24gKCkgeyB9Ow0KICAgICAgICBDb24ucHJvdG90eXBlID0gcHJvdG87DQoNCiAgICAgICAgdmFyIGNoaWxkID0gbmV3IENvbigpOw0KICAgICAgICBjaGlsZC5sZW5ndGggPSAyOw0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoY2hpbGQsICIwIiwgew0KICAgICAgICAgICAgdmFsdWU6IGtWYWx1ZSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLnNvbWUuY2FsbChjaGlsZCwgY2FsbGJhY2tmbik7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.some - element to be retrieved is own data property that overrides an inherited accessor property on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-i-5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTcvMTUuNC40LjE3LTctYy1pLTYuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuc29tZSAtIGVsZW1lbnQgdG8gYmUgcmV0cmlldmVkIGlzIG93biBkYXRhIHByb3BlcnR5IHRoYXQgb3ZlcnJpZGVzIGFuIGluaGVyaXRlZCBhY2Nlc3NvciBwcm9wZXJ0eSBvbiBhbiBBcnJheQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGtWYWx1ZSA9IDEwMDA7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBpZiAoaWR4ID09PSAwKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIHZhbCA9PT0ga1ZhbHVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShBcnJheS5wcm90b3R5cGUsICIwIiwgew0KICAgICAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gOTsNCiAgICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICByZXR1cm4gW2tWYWx1ZV0uc29tZShjYWxsYmFja2ZuKTsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBBcnJheS5wcm90b3R5cGVbMF07DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.some - element to be retrieved is own data property that overrides an inherited accessor property on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-i-6.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTcvMTUuNC40LjE3LTctYy1pLTcuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuc29tZSAtIGVsZW1lbnQgdG8gYmUgcmV0cmlldmVkIGlzIGluaGVyaXRlZCBkYXRhIHByb3BlcnR5IG9uIGFuIEFycmF5LWxpa2Ugb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIga1ZhbHVlID0gJ2FiYyc7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBpZiAoNSA9PT0gaWR4KSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIGtWYWx1ZSA9PT0gdmFsOw0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIHByb3RvID0geyA1OiBrVmFsdWUgfTsNCg0KICAgICAgICB2YXIgQ29uID0gZnVuY3Rpb24gKCkgeyB9Ow0KICAgICAgICBDb24ucHJvdG90eXBlID0gcHJvdG87DQoNCiAgICAgICAgdmFyIGNoaWxkID0gbmV3IENvbigpOw0KICAgICAgICBjaGlsZC5sZW5ndGggPSAxMDsNCg0KICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLnNvbWUuY2FsbChjaGlsZCwgY2FsbGJhY2tmbik7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.some - element to be retrieved is inherited data property on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-i-7.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTcvMTUuNC40LjE3LTctYy1pLTguanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuc29tZSAtIGVsZW1lbnQgdG8gYmUgcmV0cmlldmVkIGlzIGluaGVyaXRlZCBkYXRhIHByb3BlcnR5IG9uIGFuIEFycmF5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIga1ZhbHVlID0ge307DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBpZiAoMCA9PT0gaWR4KSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIGtWYWx1ZSA9PT0gdmFsOw0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIEFycmF5LnByb3RvdHlwZVswXSA9IGtWYWx1ZTsNCg0KICAgICAgICAgICAgcmV0dXJuIFssIF0uc29tZShjYWxsYmFja2ZuKTsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBBcnJheS5wcm90b3R5cGVbMF07DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.some - element to be retrieved is inherited data property on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-i-8.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTcvMTUuNC40LjE3LTctYy1pLTkuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuc29tZSAtIGVsZW1lbnQgdG8gYmUgcmV0cmlldmVkIGlzIG93biBhY2Nlc3NvciBwcm9wZXJ0eSBvbiBhbiBBcnJheS1saWtlIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGtWYWx1ZSA9ICJhYmMiOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgaWYgKGlkeCA9PT0gMTApIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gdmFsID09PSBrVmFsdWU7DQogICAgICAgICAgICB9DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0geyBsZW5ndGg6IDIwIH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgIjEwIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIGtWYWx1ZTsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5zb21lLmNhbGwob2JqLCBjYWxsYmFja2ZuKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.some - element to be retrieved is own accessor property on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-i-9.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTcvMTUuNC40LjE3LTctYy1paS0xLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnNvbWUgLSBjYWxsYmFja2ZuIGNhbGxlZCB3aXRoIGNvcnJlY3QgcGFyYW1ldGVycw0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7IA0KIA0KICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopDQogIHsNCiAgICBpZihvYmpbaWR4XSA9PT0gdmFsKQ0KICAgICAgcmV0dXJuIGZhbHNlOw0KICAgIGVsc2UNCiAgICAgIHJldHVybiB0cnVlOw0KICB9DQoNCiAgdmFyIGFyciA9IFswLDEsMiwzLDQsNSw2LDcsOCw5XTsNCiAgDQogIGlmKGFyci5zb21lKGNhbGxiYWNrZm4pID09PSBmYWxzZSkNCiAgICByZXR1cm4gdHJ1ZTsNCg0KDQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.some - callbackfn called with correct parameters","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-ii-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTcvMTUuNC40LjE3LTctYy1paS0xMC5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5zb21lIC0gY2FsbGJhY2tmbiBpcyBjYWxsZWQgd2l0aCAxIGZvcm1hbCBwYXJhbWV0ZXINCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsKSB7DQogICAgICAgICAgICByZXR1cm4gdmFsID4gMTA7DQogICAgICAgIH0NCg0KICAgICAgICByZXR1cm4gWzExLCAxMl0uc29tZShjYWxsYmFja2ZuKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.some - callbackfn is called with 1 formal parameter","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-ii-10.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTcvMTUuNC40LjE3LTctYy1paS0xMS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5zb21lIC0gY2FsbGJhY2tmbiBpcyBjYWxsZWQgd2l0aCAyIGZvcm1hbCBwYXJhbWV0ZXINCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4KSB7DQogICAgICAgICAgICByZXR1cm4gdmFsID4gMTAgJiYgYXJndW1lbnRzWzJdW2lkeF0gPT09IHZhbDsNCiAgICAgICAgfQ0KDQogICAgICAgIHJldHVybiBbOSwgMTJdLnNvbWUoY2FsbGJhY2tmbik7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.some - callbackfn is called with 2 formal parameter","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-ii-11.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTcvMTUuNC40LjE3LTctYy1paS0xMi5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5zb21lIC0gY2FsbGJhY2tmbiBpcyBjYWxsZWQgd2l0aCAzIGZvcm1hbCBwYXJhbWV0ZXINCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIHZhbCA+IDEwICYmIG9ialtpZHhdID09PSB2YWw7DQogICAgICAgIH0NCg0KICAgICAgICByZXR1cm4gWzksIDEyXS5zb21lKGNhbGxiYWNrZm4pOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.some - callbackfn is called with 3 formal parameter","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-ii-12.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTcvMTUuNC40LjE3LTctYy1paS0xMy5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5zb21lIC0gY2FsbGJhY2tmbiB0aGF0IHVzZXMgYXJndW1lbnRzIG9iamVjdCB0byBnZXQgcGFyYW1ldGVyIHZhbHVlDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKCkgew0KICAgICAgICAgICAgcmV0dXJuIGFyZ3VtZW50c1syXVthcmd1bWVudHNbMV1dID09PSBhcmd1bWVudHNbMF07DQogICAgICAgIH0NCg0KICAgICAgICByZXR1cm4gWzksIDEyXS5zb21lKGNhbGxiYWNrZm4pOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.some - callbackfn that uses arguments object to get parameter value","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-ii-13.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTcvMTUuNC40LjE3LTctYy1paS0xNi5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5zb21lIC0gJ3RoaXMnIG9mICdjYWxsYmFjaycgaXMgYSBCb29sZWFuIG9iamVjdCB3aGVuICdUJyBpcyBub3QgYW4gb2JqZWN0ICgnVCcgaXMgYSBib29sZWFuIHByaW1pdGl2ZSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIHRoaXMudmFsdWVPZigpID09PSBmYWxzZTsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSB7IDA6IDExLCBsZW5ndGg6IDEgfTsNCg0KICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLnNvbWUuY2FsbChvYmosIGNhbGxiYWNrZm4sIGZhbHNlKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.some - 'this' of 'callback' is a Boolean object when 'T' is not an object ('T' is a boolean primitive)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-ii-16.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTcvMTUuNC40LjE3LTctYy1paS0xNy5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5zb21lIC0gJ3RoaXMnIG9mICdjYWxsYmFja2ZuJyBpcyBhIE51bWJlciBvYmplY3Qgd2hlbiBUIGlzIG5vdCBhbiBvYmplY3QgKFQgaXMgYSBudW1iZXIgcHJpbWl0aXZlKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gdGhpcy52YWx1ZU9mKCkgPT09IDU7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0geyAwOiAxMSwgbGVuZ3RoOiAxIH07DQoNCiAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5zb21lLmNhbGwob2JqLCBjYWxsYmFja2ZuLCA1KTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.some - 'this' of 'callbackfn' is a Number object when T is not an object (T is a number primitive)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-ii-17.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTcvMTUuNC40LjE3LTctYy1paS0xOC5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5zb21lIC0gJ3RoaXMnIG9mICdjYWxsYmFja2ZuJyBpcyBhbiBTdHJpbmcgb2JqZWN0IHdoZW4gVCBpcyBub3QgYW4gb2JqZWN0IChUIGlzIGEgc3RyaW5nIHByaW1pdGl2ZSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIHRoaXMudmFsdWVPZigpID09PSAiaGVsbG8hIjsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSB7IDA6IDExLCAxOiA5LCBsZW5ndGg6IDIgfTsNCg0KICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLnNvbWUuY2FsbChvYmosIGNhbGxiYWNrZm4sICJoZWxsbyEiKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.some - 'this' of 'callbackfn' is an String object when T is not an object (T is a string primitive)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-ii-18.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTcvMTUuNC40LjE3LTctYy1paS0xOS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5zb21lIC0gbm9uLWluZGV4ZWQgcHJvcGVydGllcyBhcmUgbm90IGNhbGxlZA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGNhbGxlZCA9IDA7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBjYWxsZWQrKzsNCiAgICAgICAgICAgIHJldHVybiB2YWwgPT09IDExOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgMDogOSwgMTA6IDgsIG5vbl9pbmRleF9wcm9wZXJ0eTogMTEsIGxlbmd0aDogMjAgfTsNCg0KICAgICAgICByZXR1cm4gIUFycmF5LnByb3RvdHlwZS5zb21lLmNhbGwob2JqLCBjYWxsYmFja2ZuKSAmJiAoMiA9PT0gY2FsbGVkKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.some - non-indexed properties are not called","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-ii-19.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTcvMTUuNC40LjE3LTctYy1paS0yLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnNvbWUgLSBjYWxsYmFja2ZuIHRha2VzIDMgYXJndW1lbnRzDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsgDQogDQogIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikNCiAgew0KICAgIGlmKGFyZ3VtZW50cy5sZW5ndGggPT09IDMpICAgLy92ZXJpZnkgaWYgY2FsbGJhY2tmbiB3YXMgY2FsbGVkIHdpdGggMyBwYXJhbWV0ZXJzDQogICAgICByZXR1cm4gZmFsc2U7DQogICAgZWxzZQ0KICAgICAgcmV0dXJuIHRydWU7DQogIH0NCg0KICB2YXIgYXJyID0gWzAsMSx0cnVlLG51bGwsbmV3IE9iamVjdCgpLCJmaXZlIl07DQogIGFycls5OTk5OTldID0gLTYuNjsNCiAgDQogIGlmKGFyci5zb21lKGNhbGxiYWNrZm4pID09PSBmYWxzZSkNCiAgICByZXR1cm4gdHJ1ZTsNCg0KDQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.some - callbackfn takes 3 arguments","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-ii-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTcvMTUuNC40LjE3LTctYy1paS0yMC5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5zb21lIC0gY2FsbGJhY2tmbiBjYWxsZWQgd2l0aCBjb3JyZWN0IHBhcmFtZXRlcnMgKHRoaXNBcmcgaXMgY29ycmVjdCkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciB0aGlzQXJnID0geyB0aHJlc2hvbGQ6IDEwIH07DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gdGhpcyA9PT0gdGhpc0FyZzsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSB7IDA6IDExLCBsZW5ndGg6IDIgfTsNCg0KICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLnNvbWUuY2FsbChvYmosIGNhbGxiYWNrZm4sIHRoaXNBcmcpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.some - callbackfn called with correct parameters (thisArg is correct)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-ii-20.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTcvMTUuNC40LjE3LTctYy1paS0yMS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5zb21lIC0gY2FsbGJhY2tmbiBjYWxsZWQgd2l0aCBjb3JyZWN0IHBhcmFtZXRlcnMgKGtWYWx1ZSBpcyBjb3JyZWN0KQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGZpcnN0SW5kZXggPSBmYWxzZTsNCiAgICAgICAgdmFyIHNlY29uZEluZGV4ID0gZmFsc2U7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBpZiAoaWR4ID09PSAwKSB7DQogICAgICAgICAgICAgICAgZmlyc3RJbmRleCA9ICh2YWwgPT09IDExKTsNCiAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgICAgICB9DQogICAgICAgICAgICBpZiAoaWR4ID09PSAxKSB7DQogICAgICAgICAgICAgICAgc2Vjb25kSW5kZXggPSAodmFsID09PSAxMik7DQogICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgMDogMTEsIDE6IDEyLCBsZW5ndGg6IDIgfTsNCg0KICAgICAgICByZXR1cm4gIUFycmF5LnByb3RvdHlwZS5zb21lLmNhbGwob2JqLCBjYWxsYmFja2ZuKSAmJiBmaXJzdEluZGV4ICYmIHNlY29uZEluZGV4Ow0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.some - callbackfn called with correct parameters (kValue is correct)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-ii-21.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTcvMTUuNC40LjE3LTctYy1paS0yMi5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5zb21lIC0gY2FsbGJhY2tmbiBjYWxsZWQgd2l0aCBjb3JyZWN0IHBhcmFtZXRlcnMgKHRoZSBpbmRleCBrIGlzIGNvcnJlY3QpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgZmlyc3RJbmRleCA9IGZhbHNlOw0KICAgICAgICB2YXIgc2Vjb25kSW5kZXggPSBmYWxzZTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGlmICh2YWwgPT09IDExKSB7DQogICAgICAgICAgICAgICAgZmlyc3RJbmRleCA9IChpZHggPT09IDApOw0KICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIGlmICh2YWwgPT09IDEyKSB7DQogICAgICAgICAgICAgICAgc2Vjb25kSW5kZXggPSAoaWR4ID09PSAxKTsNCiAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0geyAwOiAxMSwgMTogMTIsIGxlbmd0aDogMiB9Ow0KDQogICAgICAgIHJldHVybiAhQXJyYXkucHJvdG90eXBlLnNvbWUuY2FsbChvYmosIGNhbGxiYWNrZm4pICYmIGZpcnN0SW5kZXggJiYgc2Vjb25kSW5kZXg7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.some - callbackfn called with correct parameters (the index k is correct)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-ii-22.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTcvMTUuNC40LjE3LTctYy1paS0yMy5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5zb21lIC0gY2FsbGJhY2tmbiBjYWxsZWQgd2l0aCBjb3JyZWN0IHBhcmFtZXRlcnMgKHRoaXMgb2JqZWN0IE8gaXMgY29ycmVjdCkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7IDA6IDExLCAxOiAxMiwgbGVuZ3RoOiAyIH07DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgbykgew0KICAgICAgICAgICAgcmV0dXJuIG9iaiA9PT0gbzsNCiAgICAgICAgfQ0KDQogICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUuc29tZS5jYWxsKG9iaiwgY2FsbGJhY2tmbik7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.some - callbackfn called with correct parameters (this object O is correct)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-ii-23.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTcvMTUuNC40LjE3LTctYy1paS0zLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnNvbWUgaW1tZWRpYXRlbHkgcmV0dXJucyB0cnVlIGlmIGNhbGxiYWNrZm4gcmV0dXJucyB0cnVlDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsgDQogDQogIHZhciBjYWxsQ250ID0gMDsNCiAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKQ0KICB7DQogICAgY2FsbENudCsrOw0KICAgIGlmKGlkeCA+IDUpICAgDQogICAgICByZXR1cm4gdHJ1ZTsNCiAgICBlbHNlDQogICAgICByZXR1cm4gZmFsc2U7DQogIH0NCg0KICB2YXIgYXJyID0gWzAsMSwyLDMsNCw1LDYsNyw4LDldOw0KICANCiAgaWYoYXJyLnNvbWUoY2FsbGJhY2tmbikgPT09IHRydWUgJiYgY2FsbENudCA9PT0gNykgDQogICAgcmV0dXJuIHRydWU7DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.some immediately returns true if callbackfn returns true","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-ii-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTcvMTUuNC40LjE3LTctYy1paS00LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnNvbWUgLSBrIHZhbHVlcyBhcmUgcGFzc2VkIGluIGFzY2VuZGluZyBudW1lcmljIG9yZGVyDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYXJyID0gWzAsIDEsIDIsIDMsIDQsIDVdOw0KICAgICAgICB2YXIgbGFzdElkeCA9IDA7DQogICAgICAgIHZhciBjYWxsZWQgPSAwOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG8pIHsNCiAgICAgICAgICAgIGNhbGxlZCsrOw0KICAgICAgICAgICAgaWYgKGxhc3RJZHggIT09IGlkeCkgew0KICAgICAgICAgICAgICAgIHJldHVybiB0cnVlOw0KICAgICAgICAgICAgfSBlbHNlIHsNCiAgICAgICAgICAgICAgICBsYXN0SWR4Kys7DQogICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgcmV0dXJuICFhcnIuc29tZShjYWxsYmFja2ZuKSAmJiBhcnIubGVuZ3RoID09PSBjYWxsZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.some - k values are passed in ascending numeric order","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-ii-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTcvMTUuNC40LjE3LTctYy1paS01LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnNvbWUgLSBrIHZhbHVlcyBhcmUgYWNjZXNzZWQgZHVyaW5nIGVhY2ggaXRlcmF0aW9uIGFuZCBub3QgcHJpb3IgdG8gc3RhcnRpbmcgdGhlIGxvb3ANCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBrSW5kZXggPSBbXTsNCg0KICAgICAgICAvL0J5IGJlbG93IHdheSwgd2UgY291bGQgdmVyaWZ5IHRoYXQgayB3b3VsZCBiZSBzZXR0ZWQgYXMgMCwgMSwgLi4uLCBsZW5ndGggLSAxIGluIG9yZGVyLCBhbmQgZWFjaCB2YWx1ZSB3aWxsIGJlIHNldHRlZCBvbmUgdGltZS4NCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICAvL0VhY2ggcG9zaXRpb24gc2hvdWxkIGJlIHZpc2l0ZWQgb25lIHRpbWUsIHdoaWNoIG1lYW5zIGsgaXMgYWNjZXNzZWQgb25lIHRpbWUgZHVyaW5nIGl0ZXJhdGlvbnMuDQogICAgICAgICAgICBpZiAodHlwZW9mIGtJbmRleFtpZHhdID09PSAidW5kZWZpbmVkIikgew0KICAgICAgICAgICAgICAgIC8vd2hlbiBjdXJyZW50IHBvc2l0aW9uIGlzIHZpc2l0ZWQsIGl0cyBwcmV2aW91cyBpbmRleCBzaG91bGQgaGFzIGJlZW4gdmlzaXRlZC4NCiAgICAgICAgICAgICAgICBpZiAoaWR4ICE9PSAwICYmIHR5cGVvZiBrSW5kZXhbaWR4IC0gMV0gPT09ICJ1bmRlZmluZWQiKSB7DQogICAgICAgICAgICAgICAgICAgIHJldHVybiB0cnVlOw0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICBrSW5kZXhbaWR4XSA9IDE7DQogICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICAgICAgfSBlbHNlIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIHJldHVybiAhWzExLCAxMiwgMTMsIDE0XS5zb21lKGNhbGxiYWNrZm4sIHVuZGVmaW5lZCk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.some - k values are accessed during each iteration and not prior to starting the loop","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-ii-5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTcvMTUuNC40LjE3LTctYy1paS02LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnNvbWUgLSBhcmd1bWVudHMgdG8gY2FsbGJhY2tmbiBhcmUgc2VsZiBjb25zaXN0ZW50DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0geyAwOiAxMSwgbGVuZ3RoOiAxIH07DQogICAgICAgIHZhciB0aGlzQXJnID0ge307DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbigpIHsNCiAgICAgICAgICAgIHJldHVybiB0aGlzID09PSB0aGlzQXJnICYmIGFyZ3VtZW50c1swXSA9PT0gMTEgJiYgYXJndW1lbnRzWzFdID09PSAwICYmIGFyZ3VtZW50c1syXSA9PT0gb2JqOw0KICAgICAgICB9DQoNCiAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5zb21lLmNhbGwob2JqLCBjYWxsYmFja2ZuLCB0aGlzQXJnKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.some - arguments to callbackfn are self consistent","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-ii-6.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTcvMTUuNC40LjE3LTctYy1paS03LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnNvbWUgLSB1bmhhbmRsZWQgZXhjZXB0aW9ucyBoYXBwZW5lZCBpbiBjYWxsYmFja2ZuIHRlcm1pbmF0ZSBpdGVyYXRpb24NCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgaWYgKGlkeCA+IDApIHsNCiAgICAgICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgICAgICBpZiAoaWR4ID09PSAwKSB7DQogICAgICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCJFeGNlcHRpb24gb2NjdXJyZWQgaW4gY2FsbGJhY2tmbiIpOw0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgMDogOSwgMTogMTAwLCAxMDogMTEsIGxlbmd0aDogMjAgfTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlLnNvbWUuY2FsbChvYmosIGNhbGxiYWNrZm4pOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChleCkgew0KICAgICAgICAgICAgcmV0dXJuIGV4IGluc3RhbmNlb2YgRXJyb3IgJiYgIWFjY2Vzc2VkOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.some - unhandled exceptions happened in callbackfn terminate iteration","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-ii-7.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTcvMTUuNC40LjE3LTctYy1paS04LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnNvbWUgLSBlbGVtZW50IGNoYW5nZWQgYnkgY2FsbGJhY2tmbiBvbiBwcmV2aW91cyBpdGVyYXRpb25zIGlzIG9ic2VydmVkDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGlmIChpZHggPT09IDApIHsNCiAgICAgICAgICAgICAgICBvYmpbaWR4ICsgMV0gPSAxMTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIHJldHVybiB2YWwgPiAxMDsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSB7IDA6IDksIDE6IDgsIGxlbmd0aDogMiB9Ow0KDQogICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUuc29tZS5jYWxsKG9iaiwgY2FsbGJhY2tmbik7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.some - element changed by callbackfn on previous iterations is observed","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-ii-8.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTcvMTUuNC40LjE3LTctYy1paS05LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnNvbWUgLSBjYWxsYmFja2ZuIGlzIGNhbGxlZCB3aXRoIDAgZm9ybWFsIHBhcmFtZXRlcg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbigpIHsNCiAgICAgICAgICAgIHJldHVybiB0cnVlOw0KICAgICAgICB9DQoNCiAgICAgICAgcmV0dXJuIFsxMSwgMTJdLnNvbWUoY2FsbGJhY2tmbik7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.some - callbackfn is called with 0 formal parameter","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-ii-9.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTcvMTUuNC40LjE3LTctYy1paWktMS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5zb21lIC0gcmV0dXJuIHZhbHVlIG9mIGNhbGxiYWNrZm4gaXMgdW5kZWZpbmVkDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIHJldHVybiB1bmRlZmluZWQ7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0geyAwOiAxMSwgbGVuZ3RoOiAyIH07DQoNCiAgICAgICAgcmV0dXJuICFBcnJheS5wcm90b3R5cGUuc29tZS5jYWxsKG9iaiwgY2FsbGJhY2tmbikgJiYgYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.some - return value of callbackfn is undefined","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-iii-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTcvMTUuNC40LjE3LTctYy1paWktMTAuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuc29tZSAtIHJldHVybiB2YWx1ZSBvZiBjYWxsYmFja2ZuIGlzIGEgbnVtYmVyICh2YWx1ZSBpcyBJbmZpbml0eSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIEluZmluaXR5Ow0KICAgICAgICB9DQoNCiAgICAgICAgcmV0dXJuIFsxMV0uc29tZShjYWxsYmFja2ZuKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.some - return value of callbackfn is a number (value is Infinity)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-iii-10.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTcvMTUuNC40LjE3LTctYy1paWktMTEuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuc29tZSAtIHJldHVybiB2YWx1ZSBvZiBjYWxsYmFja2ZuIGlzIGEgbnVtYmVyICh2YWx1ZSBpcyAtSW5maW5pdHkpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiAtSW5maW5pdHk7DQogICAgICAgIH0NCg0KICAgICAgICByZXR1cm4gWzExXS5zb21lKGNhbGxiYWNrZm4pOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.some - return value of callbackfn is a number (value is -Infinity)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-iii-11.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTcvMTUuNC40LjE3LTctYy1paWktMTIuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuc29tZSAtIHJldHVybiB2YWx1ZSBvZiBjYWxsYmFja2ZuIGlzIGEgbnVtYmVyICh2YWx1ZSBpcyBOYU4pDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIHJldHVybiBOYU47DQogICAgICAgIH0NCg0KICAgICAgICByZXR1cm4gIVsxMV0uc29tZShjYWxsYmFja2ZuKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.some - return value of callbackfn is a number (value is NaN)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-iii-12.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTcvMTUuNC40LjE3LTctYy1paWktMTMuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuc29tZSAtIHJldHVybiB2YWx1ZSBvZiBjYWxsYmFja2ZuIGlzIGFuIGVtcHR5IHN0cmluZw0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICByZXR1cm4gIiI7DQogICAgICAgIH0NCg0KICAgICAgICByZXR1cm4gIVsxMV0uc29tZShjYWxsYmFja2ZuKSAmJiBhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.some - return value of callbackfn is an empty string","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-iii-13.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTcvMTUuNC40LjE3LTctYy1paWktMTQuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuc29tZSAtIHJldHVybiB2YWx1ZSBvZiBjYWxsYmFja2ZuIGlzIGEgbm9uLWVtcHR5IHN0cmluZw0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gIm5vbi1lbXB0eSBzdHJpbmciOw0KICAgICAgICB9DQoNCiAgICAgICAgcmV0dXJuIFsxMV0uc29tZShjYWxsYmFja2ZuKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.some - return value of callbackfn is a non-empty string","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-iii-14.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTcvMTUuNC40LjE3LTctYy1paWktMTUuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuc29tZSAtIHJldHVybiB2YWx1ZSBvZiBjYWxsYmFja2ZuIGlzIEZ1bmN0aW9uIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gZnVuY3Rpb24gKCkgeyB9Ow0KICAgICAgICB9DQoNCiAgICAgICAgcmV0dXJuIFsxMV0uc29tZShjYWxsYmFja2ZuKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.some - return value of callbackfn is Function object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-iii-15.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTcvMTUuNC40LjE3LTctYy1paWktMTYuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuc29tZSAtIHJldHVybiB2YWx1ZSBvZiBjYWxsYmFja2ZuIGlzIGFuIEFycmF5IG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gbmV3IEFycmF5KDEwKTsNCiAgICAgICAgfQ0KDQogICAgICAgIHJldHVybiBbMTFdLnNvbWUoY2FsbGJhY2tmbik7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.some - return value of callbackfn is an Array object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-iii-16.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTcvMTUuNC40LjE3LTctYy1paWktMTcuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuc29tZSAtIHJldHVybiB2YWx1ZSBvZiBjYWxsYmFja2ZuIGlzIGEgU3RyaW5nIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gbmV3IFN0cmluZygpOw0KICAgICAgICB9DQoNCiAgICAgICAgcmV0dXJuIFsxMV0uc29tZShjYWxsYmFja2ZuKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.some - return value of callbackfn is a String object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-iii-17.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTcvMTUuNC40LjE3LTctYy1paWktMTguanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuc29tZSAtIHJldHVybiB2YWx1ZSBvZiBjYWxsYmFja2ZuIGlzIGEgQm9vbGVhbiBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIG5ldyBCb29sZWFuKCk7DQogICAgICAgIH0NCg0KICAgICAgICByZXR1cm4gWzExXS5zb21lKGNhbGxiYWNrZm4pOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.some - return value of callbackfn is a Boolean object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-iii-18.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTcvMTUuNC40LjE3LTctYy1paWktMTkuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuc29tZSAtIHJldHVybiB2YWx1ZSBvZiBjYWxsYmFja2ZuIGlzIGEgTnVtYmVyIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gbmV3IE51bWJlcigpOw0KICAgICAgICB9DQoNCiAgICAgICAgcmV0dXJuIFsxMV0uc29tZShjYWxsYmFja2ZuKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.some - return value of callbackfn is a Number object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-iii-19.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTcvMTUuNC40LjE3LTctYy1paWktMi5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5zb21lIC0gcmV0dXJuIHZhbHVlIG9mIGNhbGxiYWNrZm4gaXMgbnVsbA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICByZXR1cm4gbnVsbDsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSB7IDA6IDExLCBsZW5ndGg6IDIgfTsNCg0KICAgICAgICByZXR1cm4gIUFycmF5LnByb3RvdHlwZS5zb21lLmNhbGwob2JqLCBjYWxsYmFja2ZuKSAmJiBhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.some - return value of callbackfn is null","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-iii-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTcvMTUuNC40LjE3LTctYy1paWktMjAuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuc29tZSAtIHJldHVybiB2YWx1ZSBvZiBjYWxsYmFja2ZuIGlzIHRoZSBNYXRoIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gTWF0aDsNCiAgICAgICAgfQ0KDQogICAgICAgIHJldHVybiBbMTFdLnNvbWUoY2FsbGJhY2tmbik7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.some - return value of callbackfn is the Math object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-iii-20.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTcvMTUuNC40LjE3LTctYy1paWktMjEuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuc29tZSAtIHJldHVybiB2YWx1ZSBvZiBjYWxsYmFja2ZuIGlzIGEgRGF0ZSBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIG5ldyBEYXRlKCk7DQogICAgICAgIH0NCg0KICAgICAgICByZXR1cm4gWzExXS5zb21lKGNhbGxiYWNrZm4pOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.some - return value of callbackfn is a Date object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-iii-21.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTcvMTUuNC40LjE3LTctYy1paWktMjIuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuc29tZSAtIHJldHVybiB2YWx1ZSBvZiBjYWxsYmFja2ZuIGlzIGEgUmVnRXhwIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gbmV3IFJlZ0V4cCgpOw0KICAgICAgICB9DQoNCiAgICAgICAgcmV0dXJuIFsxMV0uc29tZShjYWxsYmFja2ZuKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.some - return value of callbackfn is a RegExp object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-iii-22.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTcvMTUuNC40LjE3LTctYy1paWktMjMuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuc29tZSAtIHJldHVybiB2YWx1ZSBvZiBjYWxsYmFja2ZuIGlzIHRoZSBKU09OIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gSlNPTjsNCiAgICAgICAgfQ0KDQogICAgICAgIHJldHVybiBbMTFdLnNvbWUoY2FsbGJhY2tmbik7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.some - return value of callbackfn is the JSON object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-iii-23.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTcvMTUuNC40LjE3LTctYy1paWktMjQuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuc29tZSAtIHJldHVybiB2YWx1ZSBvZiBjYWxsYmFja2ZuIGlzIGFuIEVycm9yIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gbmV3IEV2YWxFcnJvcigpOw0KICAgICAgICB9DQoNCiAgICAgICAgcmV0dXJuIFsxMV0uc29tZShjYWxsYmFja2ZuKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.some - return value of callbackfn is an Error object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-iii-24.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTcvMTUuNC40LjE3LTctYy1paWktMjUuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuc29tZSAtIHJldHVybiB2YWx1ZSBvZiBjYWxsYmFja2ZuIGlzIHRoZSBBcmd1bWVudHMgb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiBhcmd1bWVudHM7DQogICAgICAgIH0NCg0KICAgICAgICByZXR1cm4gWzExXS5zb21lKGNhbGxiYWNrZm4pOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.some - return value of callbackfn is the Arguments object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-iii-25.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTcvMTUuNC40LjE3LTctYy1paWktMjYuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuc29tZSAtIHJldHVybiB2YWx1ZSBvZiBjYWxsYmFja2ZuIGlzIHRoZSBnbG9iYWwgb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiBmbkdsb2JhbE9iamVjdCgpOw0KICAgICAgICB9DQoNCiAgICAgICAgcmV0dXJuIFsxMV0uc29tZShjYWxsYmFja2ZuKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.some - return value of callbackfn is the global object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-iii-26.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTcvMTUuNC40LjE3LTctYy1paWktMjguanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuc29tZSAtIHRydWUgcHJldmVudHMgZnVydGhlciBzaWRlIGVmZmVjdHMNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgcmVzdWx0ID0gZmFsc2U7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgaWYgKGlkeCA+IDEpIHsNCiAgICAgICAgICAgICAgICByZXN1bHQgPSB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgcmV0dXJuIHZhbCA+IDEwOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgbGVuZ3RoOiAyMCB9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICIwIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIDg7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICIxIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIDExOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiMiIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJlc3VsdCA9IHRydWU7DQogICAgICAgICAgICAgICAgcmV0dXJuIDExOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLnNvbWUuY2FsbChvYmosIGNhbGxiYWNrZm4pICYmICFyZXN1bHQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.some - true prevents further side effects","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-iii-28.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTcvMTUuNC40LjE3LTctYy1paWktMjkuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuc29tZSAtIHJldHVybiB2YWx1ZSAobmV3IEJvb2xlYW4oZmFsc2UpKSBvZiBjYWxsYmFja2ZuIGlzIHRyZWF0ZWQgYXMgdHJ1ZSB2YWx1ZQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbigpIHsNCiAgICAgICAgICAgIHJldHVybiBuZXcgQm9vbGVhbihmYWxzZSk7DQogICAgICAgIH0NCg0KICAgICAgICByZXR1cm4gWzExXS5zb21lKGNhbGxiYWNrZm4pOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.some - return value (new Boolean(false)) of callbackfn is treated as true value","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-iii-29.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTcvMTUuNC40LjE3LTctYy1paWktMy5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5zb21lIC0gcmV0dXJuIHZhbHVlIG9mIGNhbGxiYWNrZm4gaXMgYSBib29sZWFuICh2YWx1ZSBpcyBmYWxzZSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgMDogMTEsIGxlbmd0aDogMiB9Ow0KDQogICAgICAgIHJldHVybiAhQXJyYXkucHJvdG90eXBlLnNvbWUuY2FsbChvYmosIGNhbGxiYWNrZm4pICYmIGFjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.some - return value of callbackfn is a boolean (value is false)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-iii-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTcvMTUuNC40LjE3LTctYy1paWktNC5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5zb21lIC0gcmV0dXJuIHZhbHVlIG9mIGNhbGxiYWNrZm4gaXMgYSBib29sZWFuICh2YWx1ZSBpcyB0cnVlKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gdHJ1ZTsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSB7IDA6IDExLCBsZW5ndGg6IDIgfTsNCg0KICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLnNvbWUuY2FsbChvYmosIGNhbGxiYWNrZm4pOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.some - return value of callbackfn is a boolean (value is true)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-iii-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTcvMTUuNC40LjE3LTctYy1paWktNS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5zb21lIC0gcmV0dXJuIHZhbHVlIG9mIGNhbGxiYWNrZm4gaXMgYSBudW1iZXIgKHZhbHVlIGlzIDApDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIHJldHVybiAwOw0KICAgICAgICB9DQoNCiAgICAgICAgcmV0dXJuICFbMTFdLnNvbWUoY2FsbGJhY2tmbikgJiYgYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.some - return value of callbackfn is a number (value is 0)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-iii-5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTcvMTUuNC40LjE3LTctYy1paWktNi5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5zb21lIC0gcmV0dXJuIHZhbHVlIG9mIGNhbGxiYWNrZm4gaXMgYSBudW1iZXIgKHZhbHVlIGlzICswKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICByZXR1cm4gKzA7DQogICAgICAgIH0NCg0KICAgICAgICByZXR1cm4gIVsxMV0uc29tZShjYWxsYmFja2ZuKSAmJiBhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.some - return value of callbackfn is a number (value is +0)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-iii-6.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTcvMTUuNC40LjE3LTctYy1paWktNy5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5zb21lIC0gcmV0dXJuIHZhbHVlIG9mIGNhbGxiYWNrZm4gaXMgYSBudW1iZXIgKHZhbHVlIGlzIC0wKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICByZXR1cm4gLTA7DQogICAgICAgIH0NCg0KICAgICAgICByZXR1cm4gIVsxMV0uc29tZShjYWxsYmFja2ZuKSAmJiBhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.some - return value of callbackfn is a number (value is -0)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-iii-7.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTcvMTUuNC40LjE3LTctYy1paWktOC5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5zb21lIC0gcmV0dXJuIHZhbHVlIG9mIGNhbGxiYWNrZm4gaXMgYSBudW1iZXIgKHZhbHVlIGlzIHBvc2l0aXZlIG51bWJlcikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIDU7DQogICAgICAgIH0NCg0KICAgICAgICByZXR1cm4gWzExXS5zb21lKGNhbGxiYWNrZm4pOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.some - return value of callbackfn is a number (value is positive number)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-iii-8.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTcvMTUuNC40LjE3LTctYy1paWktOS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5zb21lIC0gcmV0dXJuIHZhbHVlIG9mIGNhbGxiYWNrZm4gaXMgYSBudW1iZXIgKHZhbHVlIGlzIG5lZ2F0aXZlIG51bWJlcikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIC01Ow0KICAgICAgICB9DQoNCiAgICAgICAgcmV0dXJuIFsxMV0uc29tZShjYWxsYmFja2ZuKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.some - return value of callbackfn is a number (value is negative number)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-7-c-iii-9.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTcvMTUuNC40LjE3LTgtMS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5zb21lIHJldHVybnMgZmFsc2UgaWYgJ2xlbmd0aCcgaXMgMCAoZW1wdHkgYXJyYXkpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgZnVuY3Rpb24gY2IoKXt9DQogIHZhciBpID0gW10uc29tZShjYik7DQogIGlmIChpID09PSBmYWxzZSkgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.some returns false if 'length' is 0 (empty array)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-8-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTcvMTUuNC40LjE3LTgtMTAuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuc29tZSAtIHN1YmNsYXNzZWQgYXJyYXkgd2hlbiBsZW5ndGggaXMgcmVkdWNlZA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIGZvby5wcm90b3R5cGUgPSBuZXcgQXJyYXkoMSwgMiwgMyk7DQogIGZ1bmN0aW9uIGZvbygpIHt9DQogIHZhciBmID0gbmV3IGZvbygpOw0KICBmLmxlbmd0aCA9IDI7DQogIA0KICBmdW5jdGlvbiBjYih2YWwpDQogIHsNCiAgICBpZih2YWwgPiAyKQ0KICAgICAgcmV0dXJuIHRydWU7DQogICAgZWxzZQ0KICAgICAgcmV0dXJuIGZhbHNlOw0KICB9DQogIHZhciBpID0gZi5zb21lKGNiKTsNCiAgDQogIGlmIChpID09PSBmYWxzZSkgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.some - subclassed array when length is reduced","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-8-10.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTcvMTUuNC40LjE3LTgtMTEuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuc29tZSByZXR1cm5zIGZhbHNlIHdoZW4gYWxsIGNhbGxzIHRvIGNhbGxiYWNrZm4gcmV0dXJuIGZhbHNlDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsgDQogDQogIHZhciBjYWxsQ250ID0gMDsNCiAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKQ0KICB7DQogICAgY2FsbENudCsrOw0KICAgIHJldHVybiBmYWxzZTsNCiAgfQ0KDQogIHZhciBhcnIgPSBbMCwxLDIsMyw0LDUsNiw3LDgsOV07DQogIA0KICBpZihhcnIuc29tZShjYWxsYmFja2ZuKSA9PT0gZmFsc2UgJiYgY2FsbENudCA9PT0gMTApIA0KICAgIHJldHVybiB0cnVlOw0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.some returns false when all calls to callbackfn return false","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-8-11.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTcvMTUuNC40LjE3LTgtMTIuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuc29tZSBkb2Vzbid0IG11dGF0ZSB0aGUgYXJyYXkgb24gd2hpY2ggaXQgaXMgY2FsbGVkIG9uDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopDQogIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KICB2YXIgYXJyID0gWzEsMiwzLDQsNV07DQogIGFyci5zb21lKGNhbGxiYWNrZm4pOw0KICBpZihhcnJbMF0gPT09IDEgJiYNCiAgICAgYXJyWzFdID09PSAyICYmDQogICAgIGFyclsyXSA9PT0gMyAmJg0KICAgICBhcnJbM10gPT09IDQgJiYNCiAgICAgYXJyWzRdID09PSA1KQ0KICB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCg0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.some doesn't mutate the array on which it is called on","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-8-12.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTcvMTUuNC40LjE3LTgtMTMuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuc29tZSBkb2Vzbid0IHZpc2l0IGV4cGFuZG9zDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsgDQogDQogIHZhciBjYWxsQ250ID0gMDsNCiAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKQ0KICB7DQogICAgY2FsbENudCsrOw0KICAgIHJldHVybiBmYWxzZTsNCiAgfQ0KDQogIHZhciBhcnIgPSBbMCwxLDIsMyw0LDUsNiw3LDgsOV07DQogIGFyclsiaSJdID0gMTA7DQogIGFyclt0cnVlXSA9IDExOw0KICANCiAgaWYoYXJyLnNvbWUoY2FsbGJhY2tmbikgPT09IGZhbHNlICYmIGNhbGxDbnQgPT09IDEwKSANCiAgICByZXR1cm4gdHJ1ZTsNCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.some doesn't visit expandos","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-8-13.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTcvMTUuNC40LjE3LTgtMi5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5zb21lIHJldHVybnMgZmFsc2UgaWYgJ2xlbmd0aCcgaXMgMCAoc3ViY2xhc3NlZCBBcnJheSwgbGVuZ3RoIG92ZXJyaWRkZW4gdG8gbnVsbCAodHlwZSBjb252ZXJzaW9uKSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICBmb28ucHJvdG90eXBlID0gbmV3IEFycmF5KDEsIDIsIDMpOw0KICBmdW5jdGlvbiBmb28oKSB7fQ0KICB2YXIgZiA9IG5ldyBmb28oKTsNCiAgZi5sZW5ndGggPSBudWxsOw0KICANCiAgZnVuY3Rpb24gY2IoKXt9DQogIHZhciBpID0gZi5zb21lKGNiKTsNCiAgDQogIGlmIChpID09PSBmYWxzZSkgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.some returns false if 'length' is 0 (subclassed Array, length overridden to null (type conversion))","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-8-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTcvMTUuNC40LjE3LTgtMy5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5zb21lIHJldHVybnMgZmFsc2UgaWYgJ2xlbmd0aCcgaXMgMCAoc3ViY2xhc3NlZCBBcnJheSwgbGVuZ3RoIG92ZXJyaWRkZW4gdG8gZmFsc2UgKHR5cGUgY29udmVyc2lvbikpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgZm9vLnByb3RvdHlwZSA9IG5ldyBBcnJheSgxLCAyLCAzKTsNCiAgZnVuY3Rpb24gZm9vKCkge30NCiAgdmFyIGYgPSBuZXcgZm9vKCk7DQogIGYubGVuZ3RoID0gZmFsc2U7DQogIA0KICBmdW5jdGlvbiBjYigpe30NCiAgdmFyIGkgPSBmLnNvbWUoY2IpOw0KICANCiAgaWYgKGkgPT09IGZhbHNlKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.some returns false if 'length' is 0 (subclassed Array, length overridden to false (type conversion))","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-8-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTcvMTUuNC40LjE3LTgtNC5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5zb21lIHJldHVybnMgZmFsc2UgaWYgJ2xlbmd0aCcgaXMgMCAoc3ViY2xhc3NlZCBBcnJheSwgbGVuZ3RoIG92ZXJyaWRkZW4gdG8gMCAodHlwZSBjb252ZXJzaW9uKSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICBmb28ucHJvdG90eXBlID0gbmV3IEFycmF5KDEsIDIsIDMpOw0KICBmdW5jdGlvbiBmb28oKSB7fQ0KICB2YXIgZiA9IG5ldyBmb28oKTsNCiAgZi5sZW5ndGggPSAwOw0KICANCiAgZnVuY3Rpb24gY2IoKXt9DQogIHZhciBpID0gZi5zb21lKGNiKTsNCiAgDQogIGlmIChpID09PSBmYWxzZSkgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.some returns false if 'length' is 0 (subclassed Array, length overridden to 0 (type conversion))","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-8-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTcvMTUuNC40LjE3LTgtNS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5zb21lIHJldHVybnMgZmFsc2UgaWYgJ2xlbmd0aCcgaXMgMCAoc3ViY2xhc3NlZCBBcnJheSwgbGVuZ3RoIG92ZXJyaWRkZW4gdG8gJzAnICh0eXBlIGNvbnZlcnNpb24pKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIGZvby5wcm90b3R5cGUgPSBuZXcgQXJyYXkoMSwgMiwgMyk7DQogIGZ1bmN0aW9uIGZvbygpIHt9DQogIHZhciBmID0gbmV3IGZvbygpOw0KICBmLmxlbmd0aCA9ICcwJzsNCiAgDQogIGZ1bmN0aW9uIGNiKCl7fQ0KICB2YXIgaSA9IGYuc29tZShjYik7DQogIA0KICBpZiAoaSA9PT0gZmFsc2UpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.some returns false if 'length' is 0 (subclassed Array, length overridden to '0' (type conversion))","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-8-5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTcvMTUuNC40LjE3LTgtNi5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5zb21lIHJldHVybnMgZmFsc2UgaWYgJ2xlbmd0aCcgaXMgMCAoc3ViY2xhc3NlZCBBcnJheSwgbGVuZ3RoIG92ZXJyaWRkZW4gd2l0aCBvYmogd2l0aCB2YWx1ZU9mKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIGZvby5wcm90b3R5cGUgPSBuZXcgQXJyYXkoMSwgMiwgMyk7DQogIGZ1bmN0aW9uIGZvbygpIHt9DQogIHZhciBmID0gbmV3IGZvbygpOw0KICANCiAgdmFyIG8gPSB7IHZhbHVlT2Y6IGZ1bmN0aW9uICgpIHsgcmV0dXJuIDA7fX07DQogIGYubGVuZ3RoID0gbzsNCiAgDQogIGZ1bmN0aW9uIGNiKCl7fQ0KICB2YXIgaSA9IGYuc29tZShjYik7DQogIA0KICBpZiAoaSA9PT0gZmFsc2UpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.some returns false if 'length' is 0 (subclassed Array, length overridden with obj with valueOf)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-8-6.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTcvMTUuNC40LjE3LTgtNy5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5zb21lIHJldHVybnMgZmFsc2UgaWYgJ2xlbmd0aCcgaXMgMCAoc3ViY2xhc3NlZCBBcnJheSwgbGVuZ3RoIG92ZXJyaWRkZW4gd2l0aCBvYmogdy9vIHZhbHVlT2YgKHRvU3RyaW5nKSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICBmb28ucHJvdG90eXBlID0gbmV3IEFycmF5KDEsIDIsIDMpOw0KICBmdW5jdGlvbiBmb28oKSB7fQ0KICB2YXIgZiA9IG5ldyBmb28oKTsNCiAgDQogIHZhciBvID0geyB0b1N0cmluZzogZnVuY3Rpb24gKCkgeyByZXR1cm4gJzAnO319Ow0KICBmLmxlbmd0aCA9IG87DQogIA0KICAvLyBvYmplY3RzIGluaGVyaXQgdGhlIGRlZmF1bHQgdmFsdWVPZiBtZXRob2Qgb2YgdGhlIE9iamVjdCBvYmplY3Q7DQogIC8vIHRoYXQgc2ltcGx5IHJldHVybnMgdGhlIGl0c2VsZi4gU2luY2UgdGhlIGRlZmF1bHQgdmFsdWVPZigpIG1ldGhvZA0KICAvLyBkb2VzIG5vdCByZXR1cm4gYSBwcmltaXRpdmUgdmFsdWUsIEVTIG5leHQgdHJpZXMgdG8gY29udmVydCB0aGUgb2JqZWN0DQogIC8vIHRvIGEgbnVtYmVyIGJ5IGNhbGxpbmcgaXRzIHRvU3RyaW5nKCkgbWV0aG9kIGFuZCBjb252ZXJ0aW5nIHRoZQ0KICAvLyByZXN1bHRpbmcgc3RyaW5nIHRvIGEgbnVtYmVyLg0KDQogIGZ1bmN0aW9uIGNiKCl7fQ0KICB2YXIgaSA9IGYuc29tZShjYik7DQogIA0KICBpZiAoaSA9PT0gZmFsc2UpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.some returns false if 'length' is 0 (subclassed Array, length overridden with obj w/o valueOf (toString))","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-8-7.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTcvMTUuNC40LjE3LTgtOC5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5zb21lIHJldHVybnMgZmFsc2UgaWYgJ2xlbmd0aCcgaXMgMCAoc3ViY2xhc3NlZCBBcnJheSwgbGVuZ3RoIG92ZXJyaWRkZW4gd2l0aCBbXQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIGZvby5wcm90b3R5cGUgPSBuZXcgQXJyYXkoMSwgMiwgMyk7DQogIGZ1bmN0aW9uIGZvbygpIHt9DQogIHZhciBmID0gbmV3IGZvbygpOw0KICANCiAgZi5sZW5ndGggPSBbXTsNCiAgDQogIC8vIG9iamVjdHMgaW5oZXJpdCB0aGUgZGVmYXVsdCB2YWx1ZU9mIG1ldGhvZCBvZiB0aGUgT2JqZWN0IG9iamVjdDsNCiAgLy8gdGhhdCBzaW1wbHkgcmV0dXJucyB0aGUgaXRzZWxmLiBTaW5jZSB0aGUgZGVmYXVsdCB2YWx1ZU9mKCkgbWV0aG9kDQogIC8vIGRvZXMgbm90IHJldHVybiBhIHByaW1pdGl2ZSB2YWx1ZSwgRVMgbmV4dCB0cmllcyB0byBjb252ZXJ0IHRoZSBvYmplY3QNCiAgLy8gdG8gYSBudW1iZXIgYnkgY2FsbGluZyBpdHMgdG9TdHJpbmcoKSBtZXRob2QgYW5kIGNvbnZlcnRpbmcgdGhlDQogIC8vIHJlc3VsdGluZyBzdHJpbmcgdG8gYSBudW1iZXIuDQogIC8vDQogIC8vIFRoZSB0b1N0cmluZyggKSBtZXRob2Qgb24gQXJyYXkgY29udmVydHMgdGhlIGFycmF5IGVsZW1lbnRzIHRvIHN0cmluZ3MsDQogIC8vIHRoZW4gcmV0dXJucyB0aGUgcmVzdWx0IG9mIGNvbmNhdGVuYXRpbmcgdGhlc2Ugc3RyaW5ncywgd2l0aCBjb21tYXMgaW4NCiAgLy8gYmV0d2Vlbi4gQW4gYXJyYXkgd2l0aCBubyBlbGVtZW50cyBjb252ZXJ0cyB0byB0aGUgZW1wdHkgc3RyaW5nLCB3aGljaA0KICAvLyBjb252ZXJ0cyB0byB0aGUgbnVtYmVyIDAuIElmIGFuIGFycmF5IGhhcyBhIHNpbmdsZSBlbGVtZW50IHRoYXQgaXMgYQ0KICAvLyBudW1iZXIgbiwgdGhlIGFycmF5IGNvbnZlcnRzIHRvIGEgc3RyaW5nIHJlcHJlc2VudGF0aW9uIG9mIG4sIHdoaWNoIGlzDQogIC8vIHRoZW4gY29udmVydGVkIGJhY2sgdG8gbiBpdHNlbGYuIElmIGFuIGFycmF5IGNvbnRhaW5zIG1vcmUgdGhhbiBvbmUgZWxlbWVudCwNCiAgLy8gb3IgaWYgaXRzIG9uZSBlbGVtZW50IGlzIG5vdCBhIG51bWJlciwgdGhlIGFycmF5IGNvbnZlcnRzIHRvIE5hTi4NCg0KICBmdW5jdGlvbiBjYigpe30NCiAgdmFyIGkgPSBmLnNvbWUoY2IpOw0KICANCiAgaWYgKGkgPT09IGZhbHNlKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.some returns false if 'length' is 0 (subclassed Array, length overridden with []","path":"TestCases/ch15/15.4/15.4.4/15.4.4.17/15.4.4.17-8-8.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTgvMTUuNC40LjE4LTAtMS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5mb3JFYWNoIG11c3QgZXhpc3QgYXMgYSBmdW5jdGlvbg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBmID0gQXJyYXkucHJvdG90eXBlLmZvckVhY2g7DQogIGlmICh0eXBlb2YoZikgPT09ICJmdW5jdGlvbiIpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.forEach must exist as a function","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-0-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTgvMTUuNC40LjE4LTAtMi5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5mb3JFYWNoLmxlbmd0aCBtdXN0IGJlIDENCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICBpZiAoQXJyYXkucHJvdG90eXBlLmZvckVhY2gubGVuZ3RoID09PSAxKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.forEach.length must be 1","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-0-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTgvMTUuNC40LjE4LTEtMS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5mb3JFYWNoIGFwcGxpZWQgdG8gdW5kZWZpbmVkDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIEFycmF5LnByb3RvdHlwZS5mb3JFYWNoLmNhbGwodW5kZWZpbmVkKTsgLy8gVHlwZUVycm9yIGlzIHRocm93biBpZiB2YWx1ZSBpcyB1bmRlZmluZWQNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIChlIGluc3RhbmNlb2YgVHlwZUVycm9yKTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.forEach applied to undefined","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-1-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTgvMTUuNC40LjE4LTEtMTAuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZm9yRWFjaCBhcHBsaWVkIHRvIHRoZSBNYXRoIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciByZXN1bHQgPSBmYWxzZTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJlc3VsdCA9ICgnW29iamVjdCBNYXRoXScgPT09IE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbChvYmopKTsNCiAgICAgICAgfQ0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBNYXRoLmxlbmd0aCA9IDE7DQogICAgICAgICAgICBNYXRoWzBdID0gMTsNCiAgICAgICAgICAgIEFycmF5LnByb3RvdHlwZS5mb3JFYWNoLmNhbGwoTWF0aCwgY2FsbGJhY2tmbik7DQogICAgICAgICAgICByZXR1cm4gcmVzdWx0Ow0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIE1hdGhbMF07DQogICAgICAgICAgICBkZWxldGUgTWF0aC5sZW5ndGg7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.forEach applied to the Math object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-1-10.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTgvMTUuNC40LjE4LTEtMTEuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZm9yRWFjaCBhcHBsaWVkIHRvIERhdGUgb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIHJlc3VsdCA9IGZhbHNlOw0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJlc3VsdCA9IG9iaiBpbnN0YW5jZW9mIERhdGU7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0gbmV3IERhdGUoKTsNCiAgICAgICAgb2JqLmxlbmd0aCA9IDE7DQogICAgICAgIG9ialswXSA9IDE7DQoNCiAgICAgICAgQXJyYXkucHJvdG90eXBlLmZvckVhY2guY2FsbChvYmosIGNhbGxiYWNrZm4pOw0KICAgICAgICByZXR1cm4gcmVzdWx0Ow0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.forEach applied to Date object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-1-11.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTgvMTUuNC40LjE4LTEtMTIuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZm9yRWFjaCBhcHBsaWVkIHRvIFJlZ0V4cCBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgcmVzdWx0ID0gZmFsc2U7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmVzdWx0ID0gb2JqIGluc3RhbmNlb2YgUmVnRXhwOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IG5ldyBSZWdFeHAoKTsNCiAgICAgICAgb2JqLmxlbmd0aCA9IDE7DQogICAgICAgIG9ialswXSA9IDE7DQoNCiAgICAgICAgQXJyYXkucHJvdG90eXBlLmZvckVhY2guY2FsbChvYmosIGNhbGxiYWNrZm4pOw0KICAgICAgICByZXR1cm4gcmVzdWx0Ow0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.forEach applied to RegExp object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-1-12.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTgvMTUuNC40LjE4LTEtMTMuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZm9yRWFjaCBhcHBsaWVkIHRvIHRoZSBKU09OIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciByZXN1bHQgPSBmYWxzZTsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXN1bHQgPSAoJ1tvYmplY3QgSlNPTl0nID09PSBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwob2JqKSk7DQogICAgICAgIH0NCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgSlNPTi5sZW5ndGggPSAxOw0KICAgICAgICAgICAgSlNPTlswXSA9IDE7DQogICAgICAgICAgICBBcnJheS5wcm90b3R5cGUuZm9yRWFjaC5jYWxsKEpTT04sIGNhbGxiYWNrZm4pOw0KICAgICAgICAgICAgcmV0dXJuIHJlc3VsdDsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBKU09OLmxlbmd0aDsNCiAgICAgICAgICAgIGRlbGV0ZSBKU09OWzBdOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.forEach applied to the JSON object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-1-13.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTgvMTUuNC40LjE4LTEtMTQuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZm9yRWFjaCBhcHBsaWVkIHRvIEVycm9yIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciByZXN1bHQgPSBmYWxzZTsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXN1bHQgPSBvYmogaW5zdGFuY2VvZiBFcnJvcjsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSBuZXcgRXJyb3IoKTsNCiAgICAgICAgb2JqLmxlbmd0aCA9IDE7DQogICAgICAgIG9ialswXSA9IDE7DQoNCiAgICAgICAgQXJyYXkucHJvdG90eXBlLmZvckVhY2guY2FsbChvYmosIGNhbGxiYWNrZm4pOw0KICAgICAgICByZXR1cm4gcmVzdWx0Ow0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.forEach applied to Error object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-1-14.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTgvMTUuNC40LjE4LTEtMTUuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZm9yRWFjaCBhcHBsaWVkIHRvIHRoZSBBcmd1bWVudHMgb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIHJlc3VsdCA9IGZhbHNlOw0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJlc3VsdCA9ICgnW29iamVjdCBBcmd1bWVudHNdJyA9PT0gT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKG9iaikpOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IChmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICByZXR1cm4gYXJndW1lbnRzOw0KICAgICAgICB9KCJhIiwgImIiKSk7DQoNCiAgICAgICAgQXJyYXkucHJvdG90eXBlLmZvckVhY2guY2FsbChvYmosIGNhbGxiYWNrZm4pOw0KICAgICAgICByZXR1cm4gcmVzdWx0Ow0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.forEach applied to the Arguments object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-1-15.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTgvMTUuNC40LjE4LTEtMi5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5mb3JFYWNoIGFwcGxpZWQgdG8gbnVsbA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBBcnJheS5wcm90b3R5cGUuZm9yRWFjaC5jYWxsKG51bGwpOyAvLyBUeXBlRXJyb3IgaXMgdGhyb3duIGlmIHZhbHVlIGlzIG51bGwNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIChlIGluc3RhbmNlb2YgVHlwZUVycm9yKTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.forEach applied to null","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-1-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTgvMTUuNC40LjE4LTEtMy5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5mb3JFYWNoIGFwcGxpZWQgdG8gYm9vbGVhbiBwcmltaXRpdmUNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgcmVzdWx0ID0gZmFsc2U7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXN1bHQgPSBvYmogaW5zdGFuY2VvZiBCb29sZWFuOw0KICAgICAgICB9DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIEJvb2xlYW4ucHJvdG90eXBlWzBdID0gdHJ1ZTsNCiAgICAgICAgICAgIEJvb2xlYW4ucHJvdG90eXBlLmxlbmd0aCA9IDE7DQoNCiAgICAgICAgICAgIEFycmF5LnByb3RvdHlwZS5mb3JFYWNoLmNhbGwoZmFsc2UsIGNhbGxiYWNrZm4pOw0KICAgICAgICAgICAgcmV0dXJuIHJlc3VsdDsNCg0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIEJvb2xlYW4ucHJvdG90eXBlWzBdOw0KICAgICAgICAgICAgZGVsZXRlIEJvb2xlYW4ucHJvdG90eXBlLmxlbmd0aDsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.forEach applied to boolean primitive","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-1-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTgvMTUuNC40LjE4LTEtNC5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5mb3JFYWNoIGFwcGxpZWQgdG8gQm9vbGVhbiBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgcmVzdWx0ID0gZmFsc2U7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmVzdWx0ID0gb2JqIGluc3RhbmNlb2YgQm9vbGVhbjsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSBuZXcgQm9vbGVhbih0cnVlKTsNCiAgICAgICAgb2JqLmxlbmd0aCA9IDI7DQogICAgICAgIG9ialswXSA9IDExOw0KICAgICAgICBvYmpbMV0gPSAxMjsNCg0KICAgICAgICBBcnJheS5wcm90b3R5cGUuZm9yRWFjaC5jYWxsKG9iaiwgY2FsbGJhY2tmbik7DQogICAgICAgIHJldHVybiByZXN1bHQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.forEach applied to Boolean object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-1-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTgvMTUuNC40LjE4LTEtNS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5mb3JFYWNoIGFwcGxpZWQgdG8gbnVtYmVyIHByaW1pdGl2ZQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciByZXN1bHQgPSBmYWxzZTsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXN1bHQgPSBvYmogaW5zdGFuY2VvZiBOdW1iZXI7DQogICAgICAgIH0NCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgTnVtYmVyLnByb3RvdHlwZVswXSA9IDE7DQogICAgICAgICAgICBOdW1iZXIucHJvdG90eXBlLmxlbmd0aCA9IDE7DQoNCiAgICAgICAgICAgIEFycmF5LnByb3RvdHlwZS5mb3JFYWNoLmNhbGwoMi41LCBjYWxsYmFja2ZuKTsNCiAgICAgICAgICAgIHJldHVybiByZXN1bHQ7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgTnVtYmVyLnByb3RvdHlwZVswXTsNCiAgICAgICAgICAgIGRlbGV0ZSBOdW1iZXIucHJvdG90eXBlLmxlbmd0aDsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.forEach applied to number primitive","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-1-5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTgvMTUuNC40LjE4LTEtNi5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5mb3JFYWNoIGFwcGxpZWQgdG8gTnVtYmVyIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciByZXN1bHQgPSBmYWxzZTsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXN1bHQgPSBvYmogaW5zdGFuY2VvZiBOdW1iZXI7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0gbmV3IE51bWJlcigtMTI4KTsNCiAgICAgICAgb2JqLmxlbmd0aCA9IDI7DQogICAgICAgIG9ialswXSA9IDExOw0KICAgICAgICBvYmpbMV0gPSAxMjsNCg0KICAgICAgICBBcnJheS5wcm90b3R5cGUuZm9yRWFjaC5jYWxsKG9iaiwgY2FsbGJhY2tmbik7DQoNCiAgICAgICAgcmV0dXJuIHJlc3VsdDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.forEach applied to Number object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-1-6.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTgvMTUuNC40LjE4LTEtNy5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5mb3JFYWNoIGFwcGxpZWQgdG8gc3RyaW5nIHByaW1pdGl2ZQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciByZXN1bHQgPSBmYWxzZTsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXN1bHQgPSBvYmogaW5zdGFuY2VvZiBTdHJpbmc7DQogICAgICAgIH0NCg0KICAgICAgICBBcnJheS5wcm90b3R5cGUuZm9yRWFjaC5jYWxsKCJhYmMiLCBjYWxsYmFja2ZuKTsNCiAgICAgICAgcmV0dXJuIHJlc3VsdDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.forEach applied to string primitive","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-1-7.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTgvMTUuNC40LjE4LTEtOC5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5mb3JFYWNoIGFwcGxpZWQgdG8gU3RyaW5nIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciByZXN1bHQgPSBmYWxzZTsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXN1bHQgPSBvYmogaW5zdGFuY2VvZiBTdHJpbmc7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0gbmV3IFN0cmluZygiYWJjIik7DQogICAgICAgIEFycmF5LnByb3RvdHlwZS5mb3JFYWNoLmNhbGwob2JqLCBjYWxsYmFja2ZuKTsNCg0KICAgICAgICByZXR1cm4gcmVzdWx0Ow0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.forEach applied to String object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-1-8.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTgvMTUuNC40LjE4LTEtOS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5mb3JFYWNoIGFwcGxpZWQgdG8gRnVuY3Rpb24gb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIHJlc3VsdCA9IGZhbHNlOw0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJlc3VsdCA9IG9iaiBpbnN0YW5jZW9mIEZ1bmN0aW9uOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IGZ1bmN0aW9uIChhLCBiKSB7DQogICAgICAgICAgICByZXR1cm4gYSArIGI7DQogICAgICAgIH07DQogICAgICAgIG9ialswXSA9IDExOw0KICAgICAgICBvYmpbMV0gPSA5Ow0KDQogICAgICAgIEFycmF5LnByb3RvdHlwZS5mb3JFYWNoLmNhbGwob2JqLCBjYWxsYmFja2ZuKTsNCiAgICAgICAgcmV0dXJuIHJlc3VsdDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.forEach applied to Function object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-1-9.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTgvMTUuNC40LjE4LTItMS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5mb3JFYWNoIC0gJ2xlbmd0aCcgaXMgb3duIGRhdGEgcHJvcGVydHkgb24gYW4gQXJyYXktbGlrZSBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgcmVzdWx0ID0gZmFsc2U7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmVzdWx0ID0gKG9iai5sZW5ndGggPT09IDIpOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IHsNCiAgICAgICAgICAgIDA6IDEyLA0KICAgICAgICAgICAgMTogMTEsDQogICAgICAgICAgICAyOiA5LA0KICAgICAgICAgICAgbGVuZ3RoOiAyDQogICAgICAgIH07DQoNCiAgICAgICAgQXJyYXkucHJvdG90eXBlLmZvckVhY2guY2FsbChvYmosIGNhbGxiYWNrZm4pOw0KICAgICAgICByZXR1cm4gcmVzdWx0Ow0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.forEach - 'length' is own data property on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-2-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTgvMTUuNC40LjE4LTItMTAuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZm9yRWFjaCBhcHBsaWVkIHRvIEFycmF5LWxpa2Ugb2JqZWN0LCAnbGVuZ3RoJyBpcyBhbiBpbmhlcml0ZWQgYWNjZXNzb3IgcHJvcGVydHkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgcmVzdWx0ID0gZmFsc2U7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmVzdWx0ID0gKG9iai5sZW5ndGggPT09IDIpOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIHByb3RvID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHByb3RvLCAibGVuZ3RoIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIDI7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBDb24gPSBmdW5jdGlvbiAoKSB7IH07DQogICAgICAgIENvbi5wcm90b3R5cGUgPSBwcm90bzsNCg0KICAgICAgICB2YXIgY2hpbGQgPSBuZXcgQ29uKCk7DQogICAgICAgIGNoaWxkWzBdID0gMTI7DQogICAgICAgIGNoaWxkWzFdID0gMTE7DQogICAgICAgIGNoaWxkWzJdID0gOTsNCg0KICAgICAgICBBcnJheS5wcm90b3R5cGUuZm9yRWFjaC5jYWxsKGNoaWxkLCBjYWxsYmFja2ZuKTsNCiAgICAgICAgcmV0dXJuIHJlc3VsdDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.forEach applied to Array-like object, 'length' is an inherited accessor property","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-2-10.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTgvMTUuNC40LjE4LTItMTEuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZm9yRWFjaCBhcHBsaWVkIHRvIEFycmF5LWxpa2Ugb2JqZWN0LCAnbGVuZ3RoJyBpcyBhbiBvd24gYWNjZXNzb3IgcHJvcGVydHkgd2l0aG91dCBhIGdldCBmdW5jdGlvbg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IHsNCiAgICAgICAgICAgIDA6IDExLA0KICAgICAgICAgICAgMTogMTINCiAgICAgICAgfTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgImxlbmd0aCIsIHsNCiAgICAgICAgICAgIHNldDogZnVuY3Rpb24gKCkgeyB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIEFycmF5LnByb3RvdHlwZS5mb3JFYWNoLmNhbGwob2JqLCBjYWxsYmFja2ZuKTsNCiAgICAgICAgcmV0dXJuICFhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.forEach applied to Array-like object, 'length' is an own accessor property without a get function","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-2-11.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTgvMTUuNC40LjE4LTItMTIuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZm9yRWFjaCAtICdsZW5ndGgnIGlzIG93biBhY2Nlc3NvciBwcm9wZXJ0eSB3aXRob3V0IGEgZ2V0IGZ1bmN0aW9uIHRoYXQgb3ZlcnJpZGVzIGFuIGluaGVyaXRlZCBhY2Nlc3NvciBwcm9wZXJ0eSBvbiBhbiBBcnJheQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgfQ0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoT2JqZWN0LnByb3RvdHlwZSwgImxlbmd0aCIsIHsNCiAgICAgICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDI7DQogICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICB2YXIgb2JqID0geyAwOiAxMiwgMTogMTEgfTsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJsZW5ndGgiLCB7DQogICAgICAgICAgICAgICAgc2V0OiBmdW5jdGlvbiAoKSB7IH0sDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlLmZvckVhY2guY2FsbChvYmosIGNhbGxiYWNrZm4pOw0KICAgICAgICAgICAgcmV0dXJuICFhY2Nlc3NlZDsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBPYmplY3QucHJvdG90eXBlLmxlbmd0aDsNCiAgICAgICAgfQ0KDQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.forEach - 'length' is own accessor property without a get function that overrides an inherited accessor property on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-2-12.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTgvMTUuNC40LjE4LTItMTMuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZm9yRWFjaCBhcHBsaWVkIHRvIHRoZSBBcnJheS1saWtlIG9iamVjdCB0aGF0ICdsZW5ndGgnIGlzIGluaGVyaXRlZCBhY2Nlc3NvciBwcm9wZXJ0eSB3aXRob3V0IGEgZ2V0IGZ1bmN0aW9uDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBwcm90byA9IHt9Ow0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkocHJvdG8sICJsZW5ndGgiLCB7DQogICAgICAgICAgICBzZXQ6IGZ1bmN0aW9uICgpIHsgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgQ29uID0gZnVuY3Rpb24gKCkgeyB9Ow0KICAgICAgICBDb24ucHJvdG90eXBlID0gcHJvdG87DQoNCiAgICAgICAgdmFyIGNoaWxkID0gbmV3IENvbigpOw0KICAgICAgICBjaGlsZFswXSA9IDExOw0KICAgICAgICBjaGlsZFsxXSA9IDEyOw0KDQogICAgICAgIEFycmF5LnByb3RvdHlwZS5mb3JFYWNoLmNhbGwoY2hpbGQsIGNhbGxiYWNrZm4pOw0KICAgICAgICByZXR1cm4gIWFjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.forEach applied to the Array-like object that 'length' is inherited accessor property without a get function","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-2-13.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTgvMTUuNC40LjE4LTItMTQuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZm9yRWFjaCBhcHBsaWVkIHRvIHRoZSBBcnJheS1saWtlIG9iamVjdCB0aGF0ICdsZW5ndGgnIHByb3BlcnR5IGRvZXNuJ3QgZXhpc3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgMDogMTEsIDE6IDEyIH07DQoNCiAgICAgICAgQXJyYXkucHJvdG90eXBlLmZvckVhY2guY2FsbChvYmosIGNhbGxiYWNrZm4pOw0KICAgICAgICByZXR1cm4gIWFjY2Vzc2VkOw0KDQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.forEach applied to the Array-like object that 'length' property doesn't exist","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-2-14.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTgvMTUuNC40LjE4LTItMTUuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZm9yRWFjaCAtICdsZW5ndGgnIGlzIHByb3BlcnR5IG9mIHRoZSBnbG9iYWwgb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIHJlc3VsdCA9IGZhbHNlOw0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJlc3VsdCA9IChvYmoubGVuZ3RoID09PSAyKTsNCiAgICAgICAgfQ0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICB2YXIgb2xkTGVuID0gZm5HbG9iYWxPYmplY3QoKS5sZW5ndGg7DQogICAgICAgICAgICBmbkdsb2JhbE9iamVjdCgpWzBdID0gMTI7DQogICAgICAgICAgICBmbkdsb2JhbE9iamVjdCgpWzFdID0gMTE7DQogICAgICAgICAgICBmbkdsb2JhbE9iamVjdCgpWzJdID0gOTsNCiAgICAgICAgICAgIGZuR2xvYmFsT2JqZWN0KCkubGVuZ3RoID0gMjsNCiAgICAgICAgICAgIEFycmF5LnByb3RvdHlwZS5mb3JFYWNoLmNhbGwoZm5HbG9iYWxPYmplY3QoKSwgY2FsbGJhY2tmbik7DQogICAgICAgICAgICByZXR1cm4gcmVzdWx0Ow0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIGZuR2xvYmFsT2JqZWN0KClbMF07DQogICAgICAgICAgICBkZWxldGUgZm5HbG9iYWxPYmplY3QoKVsxXTsNCiAgICAgICAgICAgIGRlbGV0ZSBmbkdsb2JhbE9iamVjdCgpWzJdOw0KICAgICAgICAgICAgZm5HbG9iYWxPYmplY3QoKS5sZW5ndGggPSBvbGRMZW47DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.forEach - 'length' is property of the global object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-2-15.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTgvMTUuNC40LjE4LTItMTcuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZm9yRWFjaCBhcHBsaWVkIHRvIHRoZSBBcmd1bWVudHMgb2JqZWN0LCB3aGljaCBpbXBsZW1lbnRzIGl0cyBvd24gcHJvcGVydHkgZ2V0IG1ldGhvZA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciByZXN1bHQgPSBmYWxzZTsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXN1bHQgPSAob2JqLmxlbmd0aCA9PT0gMik7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgZnVuYyA9IGZ1bmN0aW9uIChhLCBiKSB7DQogICAgICAgICAgICBhcmd1bWVudHNbMl0gPSA5Ow0KICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlLmZvckVhY2guY2FsbChhcmd1bWVudHMsIGNhbGxiYWNrZm4pOw0KICAgICAgICAgICAgcmV0dXJuIHJlc3VsdDsNCiAgICAgICAgfTsNCg0KICAgICAgICByZXR1cm4gZnVuYygxMiwgMTEpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.forEach applied to the Arguments object, which implements its own property get method","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-2-17.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTgvMTUuNC40LjE4LTItMTguanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZm9yRWFjaCBhcHBsaWVkIHRvIFN0cmluZyBvYmplY3QsIHdoaWNoIGltcGxlbWVudHMgaXRzIG93biBwcm9wZXJ0eSBnZXQgbWV0aG9kDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIHJlc3VsdCA9IGZhbHNlOw0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJlc3VsdCA9IChvYmoubGVuZ3RoID09PSAzKTsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBzdHIgPSBuZXcgU3RyaW5nKCIwMTIiKTsNCg0KICAgICAgICBBcnJheS5wcm90b3R5cGUuZm9yRWFjaC5jYWxsKHN0ciwgY2FsbGJhY2tmbik7DQogICAgICAgIHJldHVybiByZXN1bHQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.forEach applied to String object, which implements its own property get method","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-2-18.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTgvMTUuNC40LjE4LTItMTkuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZm9yRWFjaCBhcHBsaWVkIHRvIEZ1bmN0aW9uIG9iamVjdCwgd2hpY2ggaW1wbGVtZW50cyBpdHMgb3duIHByb3BlcnR5IGdldCBtZXRob2QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgcmVzdWx0ID0gZmFsc2U7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmVzdWx0ID0gKG9iai5sZW5ndGggPT09IDIpOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIGZ1biA9IGZ1bmN0aW9uIChhLCBiKSB7DQogICAgICAgICAgICByZXR1cm4gYSArIGI7DQogICAgICAgIH07DQogICAgICAgIGZ1blswXSA9IDEyOw0KICAgICAgICBmdW5bMV0gPSAxMTsNCiAgICAgICAgZnVuWzJdID0gOTsNCg0KICAgICAgICBBcnJheS5wcm90b3R5cGUuZm9yRWFjaC5jYWxsKGZ1biwgY2FsbGJhY2tmbik7DQogICAgICAgIHJldHVybiByZXN1bHQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.forEach applied to Function object, which implements its own property get method","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-2-19.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTgvMTUuNC40LjE4LTItMi5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5mb3JFYWNoIC0gJ2xlbmd0aCcgaXMgb3duIGRhdGEgcHJvcGVydHkgb24gYW4gQXJyYXkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgcmVzdWx0ID0gZmFsc2U7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmVzdWx0ID0gKG9iai5sZW5ndGggPT09IDIpOw0KICAgICAgICB9DQoNCiAgICAgICAgWzEyLCAxMV0uZm9yRWFjaChjYWxsYmFja2ZuKTsNCiAgICAgICAgcmV0dXJuIHJlc3VsdDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.forEach - 'length' is own data property on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-2-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTgvMTUuNC40LjE4LTItMy5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5mb3JFYWNoIC0gJ2xlbmd0aCcgaXMgYW4gb3duIGRhdGEgcHJvcGVydHkgdGhhdCBvdmVycmlkZXMgYW4gaW5oZXJpdGVkIGRhdGEgcHJvcGVydHkgb24gYW4gQXJyYXktbGlrZSBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgcmVzdWx0ID0gZmFsc2U7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmVzdWx0ID0gKG9iai5sZW5ndGggPT09IDIpOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIHByb3RvID0geyBsZW5ndGg6IDMgfTsNCg0KICAgICAgICB2YXIgQ29uID0gZnVuY3Rpb24gKCkgeyB9Ow0KICAgICAgICBDb24ucHJvdG90eXBlID0gcHJvdG87DQoNCiAgICAgICAgdmFyIGNoaWxkID0gbmV3IENvbigpOw0KICAgICAgICBjaGlsZC5sZW5ndGggPSAyOw0KICAgICAgICBjaGlsZFswXSA9IDEyOw0KICAgICAgICBjaGlsZFsxXSA9IDExOw0KICAgICAgICBjaGlsZFsyXSA9IDk7DQoNCiAgICAgICAgQXJyYXkucHJvdG90eXBlLmZvckVhY2guY2FsbChjaGlsZCwgY2FsbGJhY2tmbik7DQogICAgICAgIHJldHVybiByZXN1bHQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.forEach - 'length' is an own data property that overrides an inherited data property on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-2-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTgvMTUuNC40LjE4LTItNC5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5mb3JFYWNoIC0gJ2xlbmd0aCcgaXMgb3duIGRhdGEgcHJvcGVydHkgdGhhdCBvdmVycmlkZXMgYW4gaW5oZXJpdGVkIGRhdGEgcHJvcGVydHkgb24gYW4gQXJyYXkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgcmVzdWx0ID0gZmFsc2U7DQogICAgICAgIHZhciBhcnJQcm90b0xlbjsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXN1bHQgPSAob2JqLmxlbmd0aCA9PT0gMik7DQogICAgICAgIH0NCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgYXJyUHJvdG9MZW4gPSBBcnJheS5wcm90b3R5cGUubGVuZ3RoOw0KICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlLmxlbmd0aCA9IDA7DQogICAgICAgICAgICBbMTIsIDExXS5mb3JFYWNoKGNhbGxiYWNrZm4pOw0KICAgICAgICAgICAgcmV0dXJuIHJlc3VsdDsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIEFycmF5LnByb3RvdHlwZS5sZW5ndGggPSBhcnJQcm90b0xlbjsNCiAgICAgICAgfQ0KDQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.forEach - 'length' is own data property that overrides an inherited data property on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-2-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTgvMTUuNC40LjE4LTItNS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5mb3JFYWNoIGFwcGxpZWQgdG8gQXJyYXktbGlrZSBvYmplY3QsICdsZW5ndGgnIGlzIGFuIG93biBkYXRhIHByb3BlcnR5IHRoYXQgb3ZlcnJpZGVzIGFuIGluaGVyaXRlZCBhY2Nlc3NvciBwcm9wZXJ0eQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciByZXN1bHQgPSBmYWxzZTsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXN1bHQgPSAob2JqLmxlbmd0aCA9PT0gMik7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgcHJvdG8gPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkocHJvdG8sICJsZW5ndGgiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gMzsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIENvbiA9IGZ1bmN0aW9uICgpIHsgfTsNCiAgICAgICAgQ29uLnByb3RvdHlwZSA9IHByb3RvOw0KDQogICAgICAgIHZhciBjaGlsZCA9IG5ldyBDb24oKTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGNoaWxkLCAibGVuZ3RoIiwgew0KICAgICAgICAgICAgdmFsdWU6IDIsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQogICAgICAgIGNoaWxkWzBdID0gMTI7DQogICAgICAgIGNoaWxkWzFdID0gMTE7DQogICAgICAgIGNoaWxkWzJdID0gOTsNCg0KICAgICAgICBBcnJheS5wcm90b3R5cGUuZm9yRWFjaC5jYWxsKGNoaWxkLCBjYWxsYmFja2ZuKTsNCiAgICAgICAgcmV0dXJuIHJlc3VsdDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.forEach applied to Array-like object, 'length' is an own data property that overrides an inherited accessor property","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-2-5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTgvMTUuNC40LjE4LTItNi5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5mb3JFYWNoIGFwcGxpZWQgdG8gQXJyYXktbGlrZSBvYmplY3QsICdsZW5ndGgnIGlzIGFuIGluaGVyaXRlZCBkYXRhIHByb3BlcnR5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIHJlc3VsdCA9IGZhbHNlOw0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJlc3VsdCA9IChvYmoubGVuZ3RoID09PSAyKTsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBwcm90byA9IHsgbGVuZ3RoOiAyIH07DQoNCiAgICAgICAgdmFyIENvbiA9IGZ1bmN0aW9uICgpIHsgfTsNCiAgICAgICAgQ29uLnByb3RvdHlwZSA9IHByb3RvOw0KDQogICAgICAgIHZhciBjaGlsZCA9IG5ldyBDb24oKTsNCiAgICAgICAgY2hpbGRbMF0gPSAxMjsNCiAgICAgICAgY2hpbGRbMV0gPSAxMTsNCiAgICAgICAgY2hpbGRbMl0gPSA5Ow0KDQogICAgICAgIEFycmF5LnByb3RvdHlwZS5mb3JFYWNoLmNhbGwoY2hpbGQsIGNhbGxiYWNrZm4pOw0KICAgICAgICByZXR1cm4gcmVzdWx0Ow0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.forEach applied to Array-like object, 'length' is an inherited data property","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-2-6.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTgvMTUuNC40LjE4LTItNy5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5mb3JFYWNoIGFwcGxpZWQgdG8gQXJyYXktbGlrZSBvYmplY3QsICdsZW5ndGgnIGlzIGFuIG93biBhY2Nlc3NvciBwcm9wZXJ0eQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciByZXN1bHQgPSBmYWxzZTsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXN1bHQgPSAob2JqLmxlbmd0aCA9PT0gMik7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgImxlbmd0aCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiAyOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBvYmpbMF0gPSAxMjsNCiAgICAgICAgb2JqWzFdID0gMTE7DQogICAgICAgIG9ialsyXSA9IDk7DQoNCiAgICAgICAgQXJyYXkucHJvdG90eXBlLmZvckVhY2guY2FsbChvYmosIGNhbGxiYWNrZm4pOw0KICAgICAgICByZXR1cm4gcmVzdWx0Ow0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.forEach applied to Array-like object, 'length' is an own accessor property","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-2-7.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTgvMTUuNC40LjE4LTItOC5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5mb3JFYWNoIGFwcGxpZWQgdG8gQXJyYXktbGlrZSBvYmplY3QsICdsZW5ndGgnIGlzIGFuIG93biBhY2Nlc3NvciBwcm9wZXJ0eSB0aGF0IG92ZXJyaWRlcyBhbiBpbmhlcml0ZWQgZGF0YSBwcm9wZXJ0eQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciByZXN1bHQgPSBmYWxzZTsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXN1bHQgPSAob2JqLmxlbmd0aCA9PT0gMik7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgcHJvdG8gPSB7IGxlbmd0aDogMyB9Ow0KDQogICAgICAgIHZhciBDb24gPSBmdW5jdGlvbiAoKSB7IH07DQogICAgICAgIENvbi5wcm90b3R5cGUgPSBwcm90bzsNCg0KICAgICAgICB2YXIgY2hpbGQgPSBuZXcgQ29uKCk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGNoaWxkLCAibGVuZ3RoIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIDI7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIGNoaWxkWzBdID0gMTI7DQogICAgICAgIGNoaWxkWzFdID0gMTE7DQogICAgICAgIGNoaWxkWzJdID0gOTsNCg0KICAgICAgICBBcnJheS5wcm90b3R5cGUuZm9yRWFjaC5jYWxsKGNoaWxkLCBjYWxsYmFja2ZuKTsNCiAgICAgICAgcmV0dXJuIHJlc3VsdDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.forEach applied to Array-like object, 'length' is an own accessor property that overrides an inherited data property","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-2-8.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTgvMTUuNC40LjE4LTItOS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5mb3JFYWNoIGFwcGxpZWQgdG8gQXJyYXktbGlrZSBvYmplY3QsICdsZW5ndGgnIGlzIGFuIG93biBhY2Nlc3NvciBwcm9wZXJ0eSB0aGF0IG92ZXJyaWRlcyBhbiBpbmhlcml0ZWQgYWNjZXNzb3IgcHJvcGVydHkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgcmVzdWx0ID0gZmFsc2U7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmVzdWx0ID0gKG9iai5sZW5ndGggPT09IDIpOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIHByb3RvID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHByb3RvLCAibGVuZ3RoIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIDM7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBDb24gPSBmdW5jdGlvbiAoKSB7IH07DQogICAgICAgIENvbi5wcm90b3R5cGUgPSBwcm90bzsNCg0KICAgICAgICB2YXIgY2hpbGQgPSBuZXcgQ29uKCk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGNoaWxkLCAibGVuZ3RoIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIDI7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIGNoaWxkWzBdID0gMTI7DQogICAgICAgIGNoaWxkWzFdID0gMTE7DQogICAgICAgIGNoaWxkWzJdID0gOTsNCg0KICAgICAgICBBcnJheS5wcm90b3R5cGUuZm9yRWFjaC5jYWxsKGNoaWxkLCBjYWxsYmFja2ZuKTsNCiAgICAgICAgcmV0dXJuIHJlc3VsdDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.forEach applied to Array-like object, 'length' is an own accessor property that overrides an inherited accessor property","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-2-9.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTgvMTUuNC40LjE4LTMtMS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5mb3JFYWNoIC0gdmFsdWUgb2YgJ2xlbmd0aCcgaXMgdW5kZWZpbmVkDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSB7IDA6IDAsIDE6IDEsIGxlbmd0aDogdW5kZWZpbmVkIH07DQoNCiAgICAgICAgQXJyYXkucHJvdG90eXBlLmZvckVhY2guY2FsbChvYmosIGNhbGxiYWNrZm4pOw0KDQogICAgICAgIHJldHVybiAhYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.forEach - value of 'length' is undefined","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-3-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTgvMTUuNC40LjE4LTMtMTAuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZm9yRWFjaCAtIHZhbHVlIG9mICdsZW5ndGgnIGlzIGEgbnVtYmVyICh2YWx1ZSBpcyBOYU4pDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSB7IDA6IDksIGxlbmd0aDogTmFOIH07DQoNCiAgICAgICAgQXJyYXkucHJvdG90eXBlLmZvckVhY2guY2FsbChvYmosIGNhbGxiYWNrZm4pOw0KDQogICAgICAgIHJldHVybiAhYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.forEach - value of 'length' is a number (value is NaN)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-3-10.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTgvMTUuNC40LjE4LTMtMTEuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZm9yRWFjaCAtICdsZW5ndGgnIGlzIGEgc3RyaW5nIGNvbnRhaW5pbmcgYSBwb3NpdGl2ZSBudW1iZXINCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gZmFsc2U7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICB0ZXN0UmVzdWx0ID0gKHZhbCA+IDEwKTsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSB7IDE6IDExLCAyOiA5LCBsZW5ndGg6ICIyIiB9Ow0KDQogICAgICAgIEFycmF5LnByb3RvdHlwZS5mb3JFYWNoLmNhbGwob2JqLCBjYWxsYmFja2ZuKTsNCg0KICAgICAgICByZXR1cm4gdGVzdFJlc3VsdDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.forEach - 'length' is a string containing a positive number","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-3-11.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTgvMTUuNC40LjE4LTMtMTIuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZm9yRWFjaCAtICdsZW5ndGgnIGlzIGEgc3RyaW5nIGNvbnRhaW5pbmcgYSBuZWdhdGl2ZSBudW1iZXINCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gZmFsc2U7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICB0ZXN0UmVzdWx0ID0gKHZhbCA+IDEwKTsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSB7IDE6IDExLCAyOiA5LCBsZW5ndGg6ICItNDI5NDk2NzI5NCIgfTsNCg0KICAgICAgICBBcnJheS5wcm90b3R5cGUuZm9yRWFjaC5jYWxsKG9iaiwgY2FsbGJhY2tmbik7DQoNCiAgICAgICAgcmV0dXJuIHRlc3RSZXN1bHQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.forEach - 'length' is a string containing a negative number","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-3-12.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTgvMTUuNC40LjE4LTMtMTMuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZm9yRWFjaCAtICdsZW5ndGgnIGlzIGEgc3RyaW5nIGNvbnRhaW5pbmcgYSBkZWNpbWFsIG51bWJlcg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHRlc3RSZXN1bHQgPSBmYWxzZTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHRlc3RSZXN1bHQgPSAodmFsID4gMTApOw0KICAgICAgICB9DQogICAgICAgIHZhciBvYmogPSB7IDE6IDExLCAyOiA5LCBsZW5ndGg6ICIyLjUiIH07DQoNCiAgICAgICAgQXJyYXkucHJvdG90eXBlLmZvckVhY2guY2FsbChvYmosIGNhbGxiYWNrZm4pOw0KDQogICAgICAgIHJldHVybiB0ZXN0UmVzdWx0Ow0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.forEach - 'length' is a string containing a decimal number","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-3-13.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTgvMTUuNC40LjE4LTMtMTQuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZm9yRWFjaCAtICdsZW5ndGgnIGlzIGEgc3RyaW5nIGNvbnRhaW5pbmcgKy8tSW5maW5pdHkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhY2Nlc3NlZDEgPSBmYWxzZTsNCiAgICAgICAgdmFyIGFjY2Vzc2VkMiA9IGZhbHNlOw0KICAgICAgICB2YXIgYWNjZXNzZWQzID0gZmFsc2U7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbjEodmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgYWNjZXNzZWQxID0gdHJ1ZTsNCiAgICAgICAgfQ0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4yKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGFjY2Vzc2VkMiA9IHRydWU7DQogICAgICAgIH0NCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuMyh2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBhY2Nlc3NlZDMgPSB0cnVlOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iajEgPSB7IDA6IDksIGxlbmd0aDogIkluZmluaXR5IiB9Ow0KICAgICAgICB2YXIgb2JqMiA9IHsgMDogOSwgbGVuZ3RoOiAiLUluZmluaXR5IiB9Ow0KICAgICAgICB2YXIgb2JqMyA9IHsgMDogOSwgbGVuZ3RoOiAiK0luZmluaXR5IiB9Ow0KDQogICAgICAgIEFycmF5LnByb3RvdHlwZS5mb3JFYWNoLmNhbGwob2JqMSwgY2FsbGJhY2tmbjEpOw0KICAgICAgICBBcnJheS5wcm90b3R5cGUuZm9yRWFjaC5jYWxsKG9iajIsIGNhbGxiYWNrZm4yKTsNCiAgICAgICAgQXJyYXkucHJvdG90eXBlLmZvckVhY2guY2FsbChvYmozLCBjYWxsYmFja2ZuMyk7DQoNCiAgICAgICAgcmV0dXJuICFhY2Nlc3NlZDEgJiYgIWFjY2Vzc2VkMiAmJiAhYWNjZXNzZWQzOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.forEach - 'length' is a string containing +/-Infinity","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-3-14.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTgvMTUuNC40LjE4LTMtMTUuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZm9yRWFjaCAtICdsZW5ndGgnIGlzIGEgc3RyaW5nIGNvbnRhaW5pbmcgYW4gZXhwb25lbnRpYWwgbnVtYmVyDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgdGVzdFJlc3VsdCA9IGZhbHNlOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgdGVzdFJlc3VsdCA9ICh2YWwgPiAxMCk7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0geyAxOiAxMSwgMjogOSwgbGVuZ3RoOiAiMkUwIiB9Ow0KDQogICAgICAgIEFycmF5LnByb3RvdHlwZS5mb3JFYWNoLmNhbGwob2JqLCBjYWxsYmFja2ZuKTsNCiAgICAgICAgcmV0dXJuIHRlc3RSZXN1bHQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.forEach - 'length' is a string containing an exponential number","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-3-15.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTgvMTUuNC40LjE4LTMtMTYuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZm9yRWFjaCAtICdsZW5ndGgnIGlzIGEgc3RyaW5nIGNvbnRhaW5pbmcgYSBoZXggbnVtYmVyDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgdGVzdFJlc3VsdCA9IGZhbHNlOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgdGVzdFJlc3VsdCA9ICh2YWwgPiAxMCk7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0geyAxOiAxMSwgMjogOSwgbGVuZ3RoOiAiMHgwMDAyIiB9Ow0KDQogICAgICAgIEFycmF5LnByb3RvdHlwZS5mb3JFYWNoLmNhbGwob2JqLCBjYWxsYmFja2ZuKTsNCg0KICAgICAgICByZXR1cm4gdGVzdFJlc3VsdDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.forEach - 'length' is a string containing a hex number","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-3-16.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTgvMTUuNC40LjE4LTMtMTcuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZm9yRWFjaCAtICdsZW5ndGgnIGlzIGEgc3RyaW5nIGNvbnRhaW5pbmcgYSBudW1iZXIgd2l0aCBsZWFkaW5nIHplcm9zDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgdGVzdFJlc3VsdCA9IGZhbHNlOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgdGVzdFJlc3VsdCA9ICh2YWwgPiAxMCk7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0geyAxOiAxMSwgMjogOSwgbGVuZ3RoOiAiMDAwMi4wMCIgfTsNCg0KICAgICAgICBBcnJheS5wcm90b3R5cGUuZm9yRWFjaC5jYWxsKG9iaiwgY2FsbGJhY2tmbik7DQoNCiAgICAgICAgcmV0dXJuIHRlc3RSZXN1bHQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.forEach - 'length' is a string containing a number with leading zeros","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-3-17.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTgvMTUuNC40LjE4LTMtMTguanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZm9yRWFjaCAtIHZhbHVlIG9mICdsZW5ndGgnIGlzIGEgc3RyaW5nIHRoYXQgY2FuJ3QgY29udmVydCB0byBhIG51bWJlcg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0geyAwOiA5LCBsZW5ndGg6ICJhc2RmIV8iIH07DQoNCiAgICAgICAgQXJyYXkucHJvdG90eXBlLmZvckVhY2guY2FsbChvYmosIGNhbGxiYWNrZm4pOw0KDQogICAgICAgIHJldHVybiAhYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.forEach - value of 'length' is a string that can't convert to a number","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-3-18.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTgvMTUuNC40LjE4LTMtMTkuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZm9yRWFjaCAtIHZhbHVlIG9mICdsZW5ndGgnIGlzIGFuIE9iamVjdCB3aGljaCBoYXMgYW4gb3duIHRvU3RyaW5nIG1ldGhvZC4NCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gZmFsc2U7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICB0ZXN0UmVzdWx0ID0gKHZhbCA+IDEwKTsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSB7DQogICAgICAgICAgICAxOiAxMSwNCiAgICAgICAgICAgIDI6IDksDQogICAgICAgICAgICBsZW5ndGg6IHsNCiAgICAgICAgICAgICAgICB0b1N0cmluZzogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gJzInOw0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0NCiAgICAgICAgfTsNCg0KICAgICAgICBBcnJheS5wcm90b3R5cGUuZm9yRWFjaC5jYWxsKG9iaiwgY2FsbGJhY2tmbik7DQoNCiAgICAgICAgcmV0dXJuIHRlc3RSZXN1bHQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.forEach - value of 'length' is an Object which has an own toString method.","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-3-19.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTgvMTUuNC40LjE4LTMtMi5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5mb3JFYWNoIC0gdmFsdWUgb2YgJ2xlbmd0aCcgaXMgYSBib29sZWFuICh2YWx1ZSBpcyB0cnVlKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHRlc3RSZXN1bHQgPSBmYWxzZTsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICB0ZXN0UmVzdWx0ID0gKHZhbCA+IDEwKTsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSB7IDA6IDExLCAxOiA5LCBsZW5ndGg6IHRydWUgfTsNCg0KICAgICAgICBBcnJheS5wcm90b3R5cGUuZm9yRWFjaC5jYWxsKG9iaiwgY2FsbGJhY2tmbik7DQoNCiAgICAgICAgcmV0dXJuIHRlc3RSZXN1bHQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.forEach - value of 'length' is a boolean (value is true)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-3-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTgvMTUuNC40LjE4LTMtMjAuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZm9yRWFjaCAtIHZhbHVlIG9mICdsZW5ndGgnIGlzIGFuIE9iamVjdCB3aGljaCBoYXMgYW4gb3duIHZhbHVlT2YgbWV0aG9kLg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHRlc3RSZXN1bHQgPSBmYWxzZTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHRlc3RSZXN1bHQgPSAodmFsID4gMTApOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IHsNCiAgICAgICAgICAgIDE6IDExLA0KICAgICAgICAgICAgMjogOSwNCiAgICAgICAgICAgIGxlbmd0aDogew0KICAgICAgICAgICAgICAgIHZhbHVlT2Y6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDI7DQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfQ0KICAgICAgICB9Ow0KDQogICAgICAgIEFycmF5LnByb3RvdHlwZS5mb3JFYWNoLmNhbGwob2JqLCBjYWxsYmFja2ZuKTsNCg0KICAgICAgICByZXR1cm4gdGVzdFJlc3VsdDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.forEach - value of 'length' is an Object which has an own valueOf method.","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-3-20.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTgvMTUuNC40LjE4LTMtMjEuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZm9yRWFjaCAtICdsZW5ndGgnIGlzIGFuIG9iamVjdCB0aGF0IGhhcyBhbiBvd24gdmFsdWVPZiBtZXRob2QgdGhhdCByZXR1cm5zIGFuIG9iamVjdCBhbmQgdG9TdHJpbmcgbWV0aG9kIHRoYXQgcmV0dXJucyBhIHN0cmluZw0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHRlc3RSZXN1bHQgPSBmYWxzZTsNCiAgICAgICAgdmFyIGZpcnN0U3RlcE9jY3VyZWQgPSBmYWxzZTsNCiAgICAgICAgdmFyIHNlY29uZFN0ZXBPY2N1cmVkID0gZmFsc2U7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICB0ZXN0UmVzdWx0ID0gKHZhbCA+IDEwKTsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSB7DQogICAgICAgICAgICAxOiAxMSwNCiAgICAgICAgICAgIDI6IDksDQogICAgICAgICAgICBsZW5ndGg6IHsNCiAgICAgICAgICAgICAgICB2YWx1ZU9mOiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgIGZpcnN0U3RlcE9jY3VyZWQgPSB0cnVlOw0KICAgICAgICAgICAgICAgICAgICByZXR1cm4ge307DQogICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICB0b1N0cmluZzogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAgICBzZWNvbmRTdGVwT2NjdXJlZCA9IHRydWU7DQogICAgICAgICAgICAgICAgICAgIHJldHVybiAnMic7DQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfQ0KICAgICAgICB9Ow0KDQogICAgICAgIEFycmF5LnByb3RvdHlwZS5mb3JFYWNoLmNhbGwob2JqLCBjYWxsYmFja2ZuKTsNCg0KICAgICAgICByZXR1cm4gdGVzdFJlc3VsdCAmJiBmaXJzdFN0ZXBPY2N1cmVkICYmIHNlY29uZFN0ZXBPY2N1cmVkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.forEach - 'length' is an object that has an own valueOf method that returns an object and toString method that returns a string","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-3-21.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTgvMTUuNC40LjE4LTMtMjIuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZm9yRWFjaCB0aHJvd3MgVHlwZUVycm9yIGV4Y2VwdGlvbiB3aGVuICdsZW5ndGgnIGlzIGFuIG9iamVjdCB3aXRoIHRvU3RyaW5nIGFuZCB2YWx1ZU9mIG1ldGhvZHMgdGhhdCBkb27vv710IHJldHVybiBwcmltaXRpdmUgdmFsdWVzDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCiAgICAgICAgdmFyIGZpcnN0U3RlcE9jY3VyZWQgPSBmYWxzZTsNCiAgICAgICAgdmFyIHNlY29uZFN0ZXBPY2N1cmVkID0gZmFsc2U7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0gew0KICAgICAgICAgICAgMTogMTEsDQogICAgICAgICAgICAyOiAxMiwNCg0KICAgICAgICAgICAgbGVuZ3RoOiB7DQogICAgICAgICAgICAgICAgdmFsdWVPZjogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAgICBmaXJzdFN0ZXBPY2N1cmVkID0gdHJ1ZTsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHt9Ow0KICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgdG9TdHJpbmc6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICAgICAgc2Vjb25kU3RlcE9jY3VyZWQgPSB0cnVlOw0KICAgICAgICAgICAgICAgICAgICByZXR1cm4ge307DQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfQ0KICAgICAgICB9Ow0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBBcnJheS5wcm90b3R5cGUuZm9yRWFjaC5jYWxsKG9iaiwgY2FsbGJhY2tmbik7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGV4KSB7DQogICAgICAgICAgICByZXR1cm4gZXggaW5zdGFuY2VvZiBUeXBlRXJyb3IgJiYgIWFjY2Vzc2VkOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.forEach throws TypeError exception when 'length' is an object with toString and valueOf methods that don\ufffdt return primitive values","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-3-22.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTgvMTUuNC40LjE4LTMtMjMuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZm9yRWFjaCB1c2VzIGluaGVyaXRlZCB2YWx1ZU9mIG1ldGhvZCB3aGVuICdsZW5ndGgnIGlzIGFuIG9iamVjdCB3aXRoIGFuIG93biB0b1N0cmluZyBhbmQgaW5oZXJpdGVkIHZhbHVlT2YgbWV0aG9kcw0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHRlc3RSZXN1bHQgPSBmYWxzZTsNCiAgICAgICAgdmFyIHZhbHVlT2ZBY2Nlc3NlZCA9IGZhbHNlOw0KICAgICAgICB2YXIgdG9TdHJpbmdBY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgdGVzdFJlc3VsdCA9ICh2YWwgPiAxMCk7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgcHJvdG8gPSB7DQogICAgICAgICAgICB2YWx1ZU9mOiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgdmFsdWVPZkFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgICAgICByZXR1cm4gMjsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfTsNCg0KICAgICAgICB2YXIgQ29uID0gZnVuY3Rpb24gKCkgeyB9Ow0KICAgICAgICBDb24ucHJvdG90eXBlID0gcHJvdG87DQoNCiAgICAgICAgdmFyIGNoaWxkID0gbmV3IENvbigpOw0KDQogICAgICAgIGNoaWxkLnRvU3RyaW5nID0gZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgdG9TdHJpbmdBY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICByZXR1cm4gJzEnOw0KICAgICAgICB9Ow0KDQogICAgICAgIHZhciBvYmogPSB7DQogICAgICAgICAgICAxOiAxMSwNCiAgICAgICAgICAgIDI6IDksDQogICAgICAgICAgICBsZW5ndGg6IGNoaWxkDQogICAgICAgIH07DQoNCiAgICAgICAgQXJyYXkucHJvdG90eXBlLmZvckVhY2guY2FsbChvYmosIGNhbGxiYWNrZm4pOw0KDQogICAgICAgIHJldHVybiB0ZXN0UmVzdWx0ICYmIHZhbHVlT2ZBY2Nlc3NlZCAmJiAhdG9TdHJpbmdBY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.forEach uses inherited valueOf method when 'length' is an object with an own toString and inherited valueOf methods","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-3-23.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTgvMTUuNC40LjE4LTMtMjQuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZm9yRWFjaCAtIHZhbHVlIG9mICdsZW5ndGgnIGlzIGEgcG9zaXRpdmUgbm9uLWludGVnZXIsIGVuc3VyZSB0cnVuY2F0aW9uIG9jY3VycyBpbiB0aGUgcHJvcGVyIGRpcmVjdGlvbg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHRlc3RSZXN1bHQgPSBmYWxzZTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHRlc3RSZXN1bHQgPSAodmFsID4gMTApOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IHsNCiAgICAgICAgICAgIDE6IDExLA0KICAgICAgICAgICAgMjogOSwNCiAgICAgICAgICAgIGxlbmd0aDogMi42ODUNCiAgICAgICAgfTsNCg0KICAgICAgICBBcnJheS5wcm90b3R5cGUuZm9yRWFjaC5jYWxsKG9iaiwgY2FsbGJhY2tmbik7DQoNCiAgICAgICAgcmV0dXJuIHRlc3RSZXN1bHQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.forEach - value of 'length' is a positive non-integer, ensure truncation occurs in the proper direction","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-3-24.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTgvMTUuNC40LjE4LTMtMjUuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZm9yRWFjaCAtIHZhbHVlIG9mICdsZW5ndGgnIGlzIGEgbmVnYXRpdmUgbm9uLWludGVnZXIsIGVuc3VyZSB0cnVuY2F0aW9uIG9jY3VycyBpbiB0aGUgcHJvcGVyIGRpcmVjdGlvbg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHRlc3RSZXN1bHQgPSBmYWxzZTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHRlc3RSZXN1bHQgPSAodmFsID4gMTApOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IHsNCiAgICAgICAgICAgIDE6IDExLA0KICAgICAgICAgICAgMjogOSwNCiAgICAgICAgICAgIGxlbmd0aDogLTQyOTQ5NjcyOTQuNQ0KICAgICAgICB9Ow0KDQogICAgICAgIEFycmF5LnByb3RvdHlwZS5mb3JFYWNoLmNhbGwob2JqLCBjYWxsYmFja2ZuKTsNCg0KICAgICAgICByZXR1cm4gdGVzdFJlc3VsdDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.forEach - value of 'length' is a negative non-integer, ensure truncation occurs in the proper direction","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-3-25.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTgvMTUuNC40LjE4LTMtMjguanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZm9yRWFjaCAtIHZhbHVlIG9mICdsZW5ndGgnIGlzIGJvdW5kYXJ5IHZhbHVlICgyXjMyKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0gew0KICAgICAgICAgICAgMDogMTIsDQogICAgICAgICAgICBsZW5ndGg6IDQyOTQ5NjcyOTYNCiAgICAgICAgfTsNCg0KICAgICAgICBBcnJheS5wcm90b3R5cGUuZm9yRWFjaC5jYWxsKG9iaiwgY2FsbGJhY2tmbik7DQoNCiAgICAgICAgcmV0dXJuICFhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.forEach - value of 'length' is boundary value (2^32)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-3-28.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTgvMTUuNC40LjE4LTMtMjkuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZm9yRWFjaCAtIHZhbHVlIG9mICdsZW5ndGgnIGlzIGJvdW5kYXJ5IHZhbHVlICgyXjMyICsgMSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gZmFsc2U7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICB0ZXN0UmVzdWx0ID0gKHZhbCA+IDEwKTsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSB7DQogICAgICAgICAgICAwOiAxMSwNCiAgICAgICAgICAgIDE6IDksDQogICAgICAgICAgICBsZW5ndGg6IDQyOTQ5NjcyOTcNCiAgICAgICAgfTsNCg0KICAgICAgICBBcnJheS5wcm90b3R5cGUuZm9yRWFjaC5jYWxsKG9iaiwgY2FsbGJhY2tmbik7DQoNCiAgICAgICAgcmV0dXJuIHRlc3RSZXN1bHQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.forEach - value of 'length' is boundary value (2^32 + 1)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-3-29.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTgvMTUuNC40LjE4LTMtMy5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5mb3JFYWNoIC0gdmFsdWUgb2YgJ2xlbmd0aCcgaXMgYSBudW1iZXIgKHZhbHVlIGlzIDApDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSB7IDA6IDEsIDE6IDEsIGxlbmd0aDogMCB9Ow0KDQogICAgICAgIEFycmF5LnByb3RvdHlwZS5mb3JFYWNoLmNhbGwob2JqLCBjYWxsYmFja2ZuKTsNCg0KICAgICAgICByZXR1cm4gIWFjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.forEach - value of 'length' is a number (value is 0)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-3-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTgvMTUuNC40LjE4LTMtNC5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5mb3JFYWNoIC0gdmFsdWUgb2YgJ2xlbmd0aCcgaXMgYSBudW1iZXIgKHZhbHVlIGlzICswKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0geyAwOiAxMSwgbGVuZ3RoOiArMCB9Ow0KDQogICAgICAgIEFycmF5LnByb3RvdHlwZS5mb3JFYWNoLmNhbGwob2JqLCBjYWxsYmFja2ZuKTsNCg0KICAgICAgICByZXR1cm4gIWFjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.forEach - value of 'length' is a number (value is +0)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-3-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTgvMTUuNC40LjE4LTMtNS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5mb3JFYWNoIC0gdmFsdWUgb2YgJ2xlbmd0aCcgaXMgYSBudW1iZXIgKHZhbHVlIGlzIC0wKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0geyAwOiAxMSwgbGVuZ3RoOiAtMCB9Ow0KDQogICAgICAgIEFycmF5LnByb3RvdHlwZS5mb3JFYWNoLmNhbGwob2JqLCBjYWxsYmFja2ZuKTsNCg0KICAgICAgICByZXR1cm4gIWFjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.forEach - value of 'length' is a number (value is -0)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-3-5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTgvMTUuNC40LjE4LTMtNi5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5mb3JFYWNoIC0gdmFsdWUgb2YgJ2xlbmd0aCcgaXMgYSBudW1iZXIgKHZhbHVlIGlzIHBvc2l0aXZlKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHRlc3RSZXN1bHQxID0gZmFsc2U7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICB0ZXN0UmVzdWx0MSA9ICh2YWwgPiAxMCk7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0geyAxOiAxMSwgMjogOSwgbGVuZ3RoOiAyIH07DQoNCiAgICAgICAgQXJyYXkucHJvdG90eXBlLmZvckVhY2guY2FsbChvYmosIGNhbGxiYWNrZm4pOw0KDQogICAgICAgIHJldHVybiB0ZXN0UmVzdWx0MTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.forEach - value of 'length' is a number (value is positive)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-3-6.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTgvMTUuNC40LjE4LTMtNy5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5mb3JFYWNoIC0gdmFsdWUgb2YgJ2xlbmd0aCcgaXMgYSBudW1iZXIgKHZhbHVlIGlzIG5lZ2F0aXZlKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHRlc3RSZXN1bHQxID0gZmFsc2U7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICB0ZXN0UmVzdWx0MSA9ICh2YWwgPiAxMCk7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0geyAxOiAxMSwgMjogOSwgbGVuZ3RoOiAtNDI5NDk2NzI5NCB9Ow0KDQogICAgICAgIEFycmF5LnByb3RvdHlwZS5mb3JFYWNoLmNhbGwob2JqLCBjYWxsYmFja2ZuKTsNCg0KICAgICAgICByZXR1cm4gdGVzdFJlc3VsdDE7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.forEach - value of 'length' is a number (value is negative)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-3-7.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTgvMTUuNC40LjE4LTMtOC5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5mb3JFYWNoIC0gdmFsdWUgb2YgJ2xlbmd0aCcgaXMgYSBudW1iZXIgKHZhbHVlIGlzIEluZmluaXR5KQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0geyAwOiA5LCBsZW5ndGg6IEluZmluaXR5IH07DQoNCiAgICAgICAgQXJyYXkucHJvdG90eXBlLmZvckVhY2guY2FsbChvYmosIGNhbGxiYWNrZm4pOw0KDQogICAgICAgIHJldHVybiAhYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.forEach - value of 'length' is a number (value is Infinity)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-3-8.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTgvMTUuNC40LjE4LTMtOS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5mb3JFYWNoIC0gdmFsdWUgb2YgJ2xlbmd0aCcgaXMgYSBudW1iZXIgKHZhbHVlIGlzIC1JbmZpbml0eSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgMDogOSwgbGVuZ3RoOiAtSW5maW5pdHkgfTsNCg0KICAgICAgICBBcnJheS5wcm90b3R5cGUuZm9yRWFjaC5jYWxsKG9iaiwgY2FsbGJhY2tmbik7DQoNCiAgICAgICAgcmV0dXJuICFhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.forEach - value of 'length' is a number (value is -Infinity)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-3-9.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTgvMTUuNC40LjE4LTQtMS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5mb3JFYWNoIHRocm93cyBUeXBlRXJyb3IgaWYgY2FsbGJhY2tmbiBpcyB1bmRlZmluZWQNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogIHZhciBhcnIgPSBuZXcgQXJyYXkoMTApOw0KICB0cnkgew0KICAgIGFyci5mb3JFYWNoKCk7ICAgIA0KICB9DQogIGNhdGNoKGUpIHsNCiAgICBpZihlIGluc3RhbmNlb2YgVHlwZUVycm9yKQ0KICAgICAgcmV0dXJuIHRydWU7ICANCiAgfQ0KDQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.forEach throws TypeError if callbackfn is undefined","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-4-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTgvMTUuNC40LjE4LTQtMTAuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZm9yRWFjaCAtIHRoZSBleGNlcHRpb24gaXMgbm90IHRocm93biBpZiBleGNlcHRpb24gd2FzIHRocm93biBieSBzdGVwIDINCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7IDA6IDExLCAxOiAxMiB9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJsZW5ndGgiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICB0aHJvdyBuZXcgU3ludGF4RXJyb3IoKTsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIEFycmF5LnByb3RvdHlwZS5mb3JFYWNoLmNhbGwob2JqLCB1bmRlZmluZWQpOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChleCkgew0KICAgICAgICAgICAgcmV0dXJuICEoZXggaW5zdGFuY2VvZiBUeXBlRXJyb3IpOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.forEach - the exception is not thrown if exception was thrown by step 2","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-4-10.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTgvMTUuNC40LjE4LTQtMTEuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZm9yRWFjaCAtIHRoZSBleGNlcHRpb24gaXMgbm90IHRocm93biBpZiBleGNlcHRpb24gd2FzIHRocm93biBieSBzdGVwIDMNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7IDA6IDExLCAxOiAxMiB9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJsZW5ndGgiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gew0KICAgICAgICAgICAgICAgICAgICB0b1N0cmluZzogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAgICAgICAgdGhyb3cgbmV3IFN5bnRheEVycm9yKCk7DQogICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICB9Ow0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlLmZvckVhY2guY2FsbChvYmosIHVuZGVmaW5lZCk7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGV4KSB7DQogICAgICAgICAgICByZXR1cm4gIShleCBpbnN0YW5jZW9mIFR5cGVFcnJvcik7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.forEach - the exception is not thrown if exception was thrown by step 3","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-4-11.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTgvMTUuNC40LjE4LTQtMTIuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZm9yRWFjaCAtICdjYWxsYmFja2ZuJyBpcyBhIGZ1bmN0aW9uDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgIH0NCg0KICAgICAgICBbMTEsIDldLmZvckVhY2goY2FsbGJhY2tmbik7DQogICAgICAgIHJldHVybiBhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.forEach - 'callbackfn' is a function","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-4-12.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTgvMTUuNC40LjE4LTQtMTUuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZm9yRWFjaCAtIGNhbGxpbmcgd2l0aCBubyBjYWxsYmFja2ZuIGlzIHRoZSBzYW1lIGFzIHBhc3NpbmcgdW5kZWZpbmVkIGZvciBjYWxsYmFja2ZuDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0geyAxMDogMTAgfTsNCiAgICAgICAgdmFyIGxlbmd0aEFjY2Vzc2VkID0gZmFsc2U7DQogICAgICAgIHZhciBsb29wQWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAibGVuZ3RoIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgbGVuZ3RoQWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgICAgIHJldHVybiAyMDsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgIjAiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICBsb29wQWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgICAgIHJldHVybiAxMDsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIEFycmF5LnByb3RvdHlwZS5mb3JFYWNoLmNhbGwob2JqKTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZXgpIHsNCiAgICAgICAgICAgIHJldHVybiAoZXggaW5zdGFuY2VvZiBUeXBlRXJyb3IpICYmIGxlbmd0aEFjY2Vzc2VkICYmICFsb29wQWNjZXNzZWQ7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.forEach - calling with no callbackfn is the same as passing undefined for callbackfn","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-4-15.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTgvMTUuNC40LjE4LTQtMi5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5mb3JFYWNoIHRocm93cyBSZWZlcmVuY2VFcnJvciBpZiBjYWxsYmFja2ZuIGlzIHVucmVmZXJlbmNlZA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgdmFyIGFyciA9IG5ldyBBcnJheSgxMCk7DQogIHRyeSB7DQogICAgYXJyLmZvckVhY2goZm9vKTsgICAgDQogIH0NCiAgY2F0Y2goZSkgew0KICAgIGlmKGUgaW5zdGFuY2VvZiBSZWZlcmVuY2VFcnJvcikNCiAgICAgIHJldHVybiB0cnVlOyAgDQogIH0NCg0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.forEach throws ReferenceError if callbackfn is unreferenced","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-4-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTgvMTUuNC40LjE4LTQtMy5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5mb3JFYWNoIHRocm93cyBUeXBlRXJyb3IgaWYgY2FsbGJhY2tmbiBpcyBudWxsDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICB2YXIgYXJyID0gbmV3IEFycmF5KDEwKTsNCiAgdHJ5IHsNCiAgICBhcnIuZm9yRWFjaChudWxsKTsgICAgDQogIH0NCiAgY2F0Y2goZSkgew0KICAgIGlmKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpDQogICAgICByZXR1cm4gdHJ1ZTsgIA0KICB9DQoNCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.forEach throws TypeError if callbackfn is null","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-4-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTgvMTUuNC40LjE4LTQtNC5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5mb3JFYWNoIHRocm93cyBUeXBlRXJyb3IgaWYgY2FsbGJhY2tmbiBpcyBib29sZWFuDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICB2YXIgYXJyID0gbmV3IEFycmF5KDEwKTsNCiAgdHJ5IHsNCiAgICBhcnIuZm9yRWFjaCh0cnVlKTsgICAgDQogIH0NCiAgY2F0Y2goZSkgew0KICAgIGlmKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpDQogICAgICByZXR1cm4gdHJ1ZTsgIA0KICB9DQoNCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.forEach throws TypeError if callbackfn is boolean","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-4-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTgvMTUuNC40LjE4LTQtNS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5mb3JFYWNoIHRocm93cyBUeXBlRXJyb3IgaWYgY2FsbGJhY2tmbiBpcyBudW1iZXINCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogIHZhciBhcnIgPSBuZXcgQXJyYXkoMTApOw0KICB0cnkgew0KICAgIGFyci5mb3JFYWNoKDUpOyAgICANCiAgfQ0KICBjYXRjaChlKSB7DQogICAgaWYoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikNCiAgICAgIHJldHVybiB0cnVlOyAgDQogIH0NCg0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.forEach throws TypeError if callbackfn is number","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-4-5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTgvMTUuNC40LjE4LTQtNi5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5mb3JFYWNoIHRocm93cyBUeXBlRXJyb3IgaWYgY2FsbGJhY2tmbiBpcyBzdHJpbmcNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogIHZhciBhcnIgPSBuZXcgQXJyYXkoMTApOw0KICB0cnkgew0KICAgIGFyci5mb3JFYWNoKCJhYmMiKTsgICAgDQogIH0NCiAgY2F0Y2goZSkgew0KICAgIGlmKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpDQogICAgICByZXR1cm4gdHJ1ZTsgIA0KICB9DQoNCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.forEach throws TypeError if callbackfn is string","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-4-6.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTgvMTUuNC40LjE4LTQtNy5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5mb3JFYWNoIHRocm93cyBUeXBlRXJyb3IgaWYgY2FsbGJhY2tmbiBpcyBPYmplY3Qgd2l0aG91dCBDYWxsIGludGVybmFsIG1ldGhvZA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgdmFyIGFyciA9IG5ldyBBcnJheSgxMCk7DQogIHRyeSB7DQogICAgYXJyLmZvckVhY2gobmV3IE9iamVjdCgpKTsgICAgDQogIH0NCiAgY2F0Y2goZSkgew0KICAgIGlmKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpDQogICAgICByZXR1cm4gdHJ1ZTsgIA0KICB9DQoNCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.forEach throws TypeError if callbackfn is Object without Call internal method","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-4-7.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTgvMTUuNC40LjE4LTQtOC5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5mb3JFYWNoIC0gc2lkZSBlZmZlY3RzIHByb2R1Y2VkIGJ5IHN0ZXAgMiBhcmUgdmlzaWJsZSB3aGVuIGFuIGV4Y2VwdGlvbiBvY2N1cnMNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7IDA6IDExLCAxOiAxMiB9Ow0KDQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJsZW5ndGgiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICAgICAgcmV0dXJuIDI7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBBcnJheS5wcm90b3R5cGUuZm9yRWFjaC5jYWxsKG9iaiwgbnVsbCk7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGV4KSB7DQogICAgICAgICAgICByZXR1cm4gZXggaW5zdGFuY2VvZiBUeXBlRXJyb3IgJiYgYWNjZXNzZWQ7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.forEach - side effects produced by step 2 are visible when an exception occurs","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-4-8.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTgvMTUuNC40LjE4LTQtOS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5mb3JFYWNoIC0gc2lkZSBlZmZlY3RzIHByb2R1Y2VkIGJ5IHN0ZXAgMyBhcmUgdmlzaWJsZSB3aGVuIGFuIGV4Y2VwdGlvbiBvY2N1cnMNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7IDA6IDExLCAxOiAxMiB9Ow0KDQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJsZW5ndGgiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gew0KICAgICAgICAgICAgICAgICAgICB0b1N0cmluZzogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuICIyIjsNCiAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgIH07DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBBcnJheS5wcm90b3R5cGUuZm9yRWFjaC5jYWxsKG9iaiwgbnVsbCk7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGV4KSB7DQogICAgICAgICAgICByZXR1cm4gZXggaW5zdGFuY2VvZiBUeXBlRXJyb3IgJiYgYWNjZXNzZWQ7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.forEach - side effects produced by step 3 are visible when an exception occurs","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-4-9.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTgvMTUuNC40LjE4LTUtMS1zLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZvckVhY2ggLSB0aGlzQXJnIG5vdCBwYXNzZWQgdG8gc3RyaWN0IGNhbGxiYWNrZm4NCiAqIEBvbmx5U3RyaWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIGlubmVyVGhpc0NvcnJlY3QgPSBmYWxzZTsNCiAgDQogIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICJ1c2Ugc3RyaWN0IjsNCiAgICBpbm5lclRoaXNDb3JyZWN0ID0gdGhpcz09PXVuZGVmaW5lZDsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KDQogIFsxXS5mb3JFYWNoKGNhbGxiYWNrZm4pOw0KICByZXR1cm4gaW5uZXJUaGlzQ29ycmVjdDsgICAgDQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.forEach - thisArg not passed to strict callbackfn","onlyStrict":"","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-5-1-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTgvMTUuNC40LjE4LTUtMS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5mb3JFYWNoIC0gdGhpc0FyZyBpcyBwYXNzZWQNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB0aGlzLl8xNV80XzRfMThfNV8xID0gZmFsc2U7DQogICAgICAgIHZhciBfMTVfNF80XzE4XzVfMSA9IHRydWU7DQogICAgICAgIHZhciByZXN1bHQ7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmVzdWx0ID0gdGhpcy5fMTVfNF80XzE4XzVfMTsNCiAgICAgICAgfQ0KICAgICAgICB2YXIgYXJyID0gWzFdOw0KICAgICAgICBhcnIuZm9yRWFjaChjYWxsYmFja2ZuKQ0KICAgICAgICByZXR1cm4gIXJlc3VsdDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.forEach - thisArg is passed","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-5-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTgvMTUuNC40LjE4LTUtMTAuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZm9yRWFjaCAtIEFycmF5IE9iamVjdCBjYW4gYmUgdXNlZCBhcyB0aGlzQXJnDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgcmVzdWx0ID0gZmFsc2U7DQogICAgICAgIHZhciBvYmpBcnJheSA9IFtdOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmVzdWx0ID0gKHRoaXMgPT09IG9iakFycmF5KTsNCiAgICAgICAgfQ0KDQogICAgICAgIFsxMV0uZm9yRWFjaChjYWxsYmFja2ZuLCBvYmpBcnJheSk7DQogICAgICAgIHJldHVybiByZXN1bHQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.forEach - Array Object can be used as thisArg","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-5-10.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTgvMTUuNC40LjE4LTUtMTEuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZm9yRWFjaCAtIFN0cmluZyBPYmplY3QgY2FuIGJlIHVzZWQgYXMgdGhpc0FyZw0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHJlc3VsdCA9IGZhbHNlOw0KICAgICAgICB2YXIgb2JqU3RyaW5nID0gbmV3IFN0cmluZygpOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmVzdWx0ID0gKHRoaXMgPT09IG9ialN0cmluZyk7DQogICAgICAgIH0NCg0KICAgICAgICBbMTFdLmZvckVhY2goY2FsbGJhY2tmbiwgb2JqU3RyaW5nKTsNCiAgICAgICAgcmV0dXJuIHJlc3VsdDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.forEach - String Object can be used as thisArg","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-5-11.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTgvMTUuNC40LjE4LTUtMTIuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZm9yRWFjaCAtIEJvb2xlYW4gT2JqZWN0IGNhbiBiZSB1c2VkIGFzIHRoaXNBcmcNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciByZXN1bHQgPSBmYWxzZTsNCiAgICAgICAgdmFyIG9iakJvb2xlYW4gPSBuZXcgQm9vbGVhbigpOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmVzdWx0ID0gKHRoaXMgPT09IG9iakJvb2xlYW4pOw0KICAgICAgICB9DQoNCiAgICAgICAgWzExXS5mb3JFYWNoKGNhbGxiYWNrZm4sIG9iakJvb2xlYW4pOw0KICAgICAgICByZXR1cm4gcmVzdWx0Ow0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.forEach - Boolean Object can be used as thisArg","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-5-12.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTgvMTUuNC40LjE4LTUtMTMuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZm9yRWFjaCAtIE51bWJlciBPYmplY3QgY2FuIGJlIHVzZWQgYXMgdGhpc0FyZw0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHJlc3VsdCA9IGZhbHNlOw0KICAgICAgICB2YXIgb2JqTnVtYmVyID0gbmV3IE51bWJlcigpOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmVzdWx0ID0gKHRoaXMgPT09IG9iak51bWJlcik7DQogICAgICAgIH0NCg0KICAgICAgICBbMTFdLmZvckVhY2goY2FsbGJhY2tmbiwgb2JqTnVtYmVyKTsNCiAgICAgICAgcmV0dXJuIHJlc3VsdDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.forEach - Number Object can be used as thisArg","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-5-13.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTgvMTUuNC40LjE4LTUtMTQuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZm9yRWFjaCAtIHRoZSBNYXRoIG9iamVjdCBjYW4gYmUgdXNlZCBhcyB0aGlzQXJnDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgcmVzdWx0ID0gZmFsc2U7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmVzdWx0ID0gKHRoaXMgPT09IE1hdGgpOw0KICAgICAgICB9DQoNCiAgICAgICAgWzExXS5mb3JFYWNoKGNhbGxiYWNrZm4sIE1hdGgpOw0KICAgICAgICByZXR1cm4gcmVzdWx0Ow0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.forEach - the Math object can be used as thisArg","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-5-14.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTgvMTUuNC40LjE4LTUtMTUuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZm9yRWFjaCAtIERhdGUgT2JqZWN0IGNhbiBiZSB1c2VkIGFzIHRoaXNBcmcNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciByZXN1bHQgPSBmYWxzZTsNCiAgICAgICAgdmFyIG9iakRhdGUgPSBuZXcgRGF0ZSgpOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmVzdWx0ID0gKHRoaXMgPT09IG9iakRhdGUpOw0KICAgICAgICB9DQoNCiAgICAgICAgWzExXS5mb3JFYWNoKGNhbGxiYWNrZm4sIG9iakRhdGUpOw0KICAgICAgICByZXR1cm4gcmVzdWx0Ow0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.forEach - Date Object can be used as thisArg","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-5-15.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTgvMTUuNC40LjE4LTUtMTYuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZm9yRWFjaCAtIFJlZ0V4cCBPYmplY3QgY2FuIGJlIHVzZWQgYXMgdGhpc0FyZw0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHJlc3VsdCA9IGZhbHNlOw0KICAgICAgICB2YXIgb2JqUmVnRXhwID0gbmV3IFJlZ0V4cCgpOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmVzdWx0ID0gKHRoaXMgPT09IG9ialJlZ0V4cCk7DQogICAgICAgIH0NCg0KICAgICAgICBbMTFdLmZvckVhY2goY2FsbGJhY2tmbiwgb2JqUmVnRXhwKTsNCiAgICAgICAgcmV0dXJuIHJlc3VsdDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.forEach - RegExp Object can be used as thisArg","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-5-16.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTgvMTUuNC40LjE4LTUtMTcuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZm9yRWFjaCAtIHRoZSBKU09OIG9iamVjdCBjYW4gYmUgdXNlZCBhcyB0aGlzQXJnDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgcmVzdWx0ID0gZmFsc2U7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmVzdWx0ID0gKHRoaXMgPT09IEpTT04pOw0KICAgICAgICB9DQoNCiAgICAgICAgWzExXS5mb3JFYWNoKGNhbGxiYWNrZm4sIEpTT04pOw0KICAgICAgICByZXR1cm4gcmVzdWx0Ow0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.forEach - the JSON object can be used as thisArg","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-5-17.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTgvMTUuNC40LjE4LTUtMTguanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZm9yRWFjaCAtIEVycm9yIE9iamVjdCBjYW4gYmUgdXNlZCBhcyB0aGlzQXJnDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgcmVzdWx0ID0gZmFsc2U7DQogICAgICAgIHZhciBvYmpFcnJvciA9IG5ldyBSYW5nZUVycm9yKCk7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXN1bHQgPSAodGhpcyA9PT0gb2JqRXJyb3IpOw0KICAgICAgICB9DQoNCiAgICAgICAgWzExXS5mb3JFYWNoKGNhbGxiYWNrZm4sIG9iakVycm9yKTsNCiAgICAgICAgcmV0dXJuIHJlc3VsdDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.forEach - Error Object can be used as thisArg","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-5-18.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTgvMTUuNC40LjE4LTUtMTkuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZm9yRWFjaCAtIHRoZSBBcmd1bWVudHMgb2JqZWN0IGNhbiBiZSB1c2VkIGFzIHRoaXNBcmcNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciByZXN1bHQgPSBmYWxzZTsNCiAgICAgICAgdmFyIGFyZzsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJlc3VsdCA9ICh0aGlzID09PSBhcmcpOw0KICAgICAgICB9DQoNCiAgICAgICAgKGZ1bmN0aW9uIGZ1bigpIHsNCiAgICAgICAgICAgIGFyZyA9IGFyZ3VtZW50czsNCiAgICAgICAgfSgxLCAyLCAzKSk7DQoNCiAgICAgICAgWzExXS5mb3JFYWNoKGNhbGxiYWNrZm4sIGFyZyk7DQogICAgICAgIHJldHVybiByZXN1bHQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.forEach - the Arguments object can be used as thisArg","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-5-19.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTgvMTUuNC40LjE4LTUtMi5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5mb3JFYWNoIC0gdGhpc0FyZyBpcyBPYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgcmVzID0gZmFsc2U7DQogIHZhciBvID0gbmV3IE9iamVjdCgpOw0KICBvLnJlcyA9IHRydWU7DQogIHZhciByZXN1bHQ7DQogIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikNCiAgew0KICAgIHJlc3VsdCA9IHRoaXMucmVzOw0KICB9DQoNCiAgdmFyIGFyciA9IFsxXTsNCiAgYXJyLmZvckVhY2goY2FsbGJhY2tmbixvKQ0KICBpZiggcmVzdWx0ID09PSB0cnVlKQ0KICAgIHJldHVybiB0cnVlOyAgICANCg0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.forEach - thisArg is Object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-5-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTgvMTUuNC40LjE4LTUtMjEuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZm9yRWFjaCAtIHRoZSBnbG9iYWwgb2JqZWN0IGNhbiBiZSB1c2VkIGFzIHRoaXNBcmcNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciByZXN1bHQgPSBmYWxzZTsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXN1bHQgPSAodGhpcyA9PT0gZm5HbG9iYWxPYmplY3QoKSk7DQogICAgICAgIH0NCg0KICAgICAgICBbMTFdLmZvckVhY2goY2FsbGJhY2tmbiwgZm5HbG9iYWxPYmplY3QoKSk7DQogICAgICAgIHJldHVybiByZXN1bHQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.forEach - the global object can be used as thisArg","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-5-21.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTgvMTUuNC40LjE4LTUtMjIuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZm9yRWFjaCAtIGJvb2xlYW4gcHJpbWl0aXZlIGNhbiBiZSB1c2VkIGFzIHRoaXNBcmcNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciByZXN1bHQgPSBmYWxzZTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJlc3VsdCA9ICh0aGlzLnZhbHVlT2YoKSA9PT0gZmFsc2UpOw0KICAgICAgICB9DQoNCiAgICAgICAgWzExXS5mb3JFYWNoKGNhbGxiYWNrZm4sIGZhbHNlKTsNCiAgICAgICAgcmV0dXJuIHJlc3VsdDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.forEach - boolean primitive can be used as thisArg","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-5-22.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTgvMTUuNC40LjE4LTUtMjMuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZm9yRWFjaCAtIG51bWJlciBwcmltaXRpdmUgY2FuIGJlIHVzZWQgYXMgdGhpc0FyZw0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHJlc3VsdCA9IGZhbHNlOw0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJlc3VsdCA9ICh0aGlzLnZhbHVlT2YoKSA9PT0gMTAxKTsNCiAgICAgICAgfQ0KDQogICAgICAgIFsxMV0uZm9yRWFjaChjYWxsYmFja2ZuLCAxMDEpOw0KICAgICAgICByZXR1cm4gcmVzdWx0Ow0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.forEach - number primitive can be used as thisArg","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-5-23.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTgvMTUuNC40LjE4LTUtMjQuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZm9yRWFjaCAtIHN0cmluZyBwcmltaXRpdmUgY2FuIGJlIHVzZWQgYXMgdGhpc0FyZw0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHJlc3VsdCA9IGZhbHNlOw0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJlc3VsdCA9ICh0aGlzLnZhbHVlT2YoKSA9PT0gImFiYyIpOw0KICAgICAgICB9DQoNCiAgICAgICAgWzExXS5mb3JFYWNoKGNhbGxiYWNrZm4sICJhYmMiKTsNCiAgICAgICAgcmV0dXJuIHJlc3VsdDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.forEach - string primitive can be used as thisArg","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-5-24.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTgvMTUuNC40LjE4LTUtMjUuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZm9yRWFjaCAtIHRoaXNBcmcgbm90IHBhc3NlZA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIGZ1bmN0aW9uIGlubmVyT2JqKCkgew0KICAgICAgICAgICAgdGhpcy5fMTVfNF80XzE4XzVfMjUgPSB0cnVlOw0KICAgICAgICAgICAgdmFyIF8xNV80XzRfMThfNV8yNSA9IGZhbHNlOw0KICAgICAgICAgICAgdmFyIHJlc3VsdDsNCiAgICAgICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgICAgIHJlc3VsdCA9IHRoaXMuXzE1XzRfNF8xOF81XzI1Ow0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgdmFyIGFyciA9IFsxXTsNCiAgICAgICAgICAgIGFyci5mb3JFYWNoKGNhbGxiYWNrZm4pDQogICAgICAgICAgICB0aGlzLnJldFZhbCA9ICFyZXN1bHQ7DQogICAgICAgIH0NCiAgICAgICAgcmV0dXJuIG5ldyBpbm5lck9iaigpLnJldFZhbDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.forEach - thisArg not passed","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-5-25.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTgvMTUuNC40LjE4LTUtMy5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5mb3JFYWNoIC0gdGhpc0FyZyBpcyBBcnJheQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciByZXMgPSBmYWxzZTsNCiAgdmFyIGEgPSBuZXcgQXJyYXkoKTsNCiAgYS5yZXMgPSB0cnVlOw0KICB2YXIgcmVzdWx0Ow0KICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopDQogIHsNCiAgICByZXN1bHQgPSB0aGlzLnJlczsNCiAgfQ0KDQogIHZhciBhcnIgPSBbMV07DQogIGFyci5mb3JFYWNoKGNhbGxiYWNrZm4sYSkNCiAgaWYoIHJlc3VsdCA9PT0gdHJ1ZSkNCiAgICByZXR1cm4gdHJ1ZTsgICAgDQoNCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.forEach - thisArg is Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-5-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTgvMTUuNC40LjE4LTUtNC5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5mb3JFYWNoIC0gdGhpc0FyZyBpcyBvYmplY3QgZnJvbSBvYmplY3QgdGVtcGxhdGUocHJvdG90eXBlKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciByZXMgPSBmYWxzZTsNCiAgdmFyIHJlc3VsdDsNCiAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKQ0KICB7DQogICAgcmVzdWx0ID0gdGhpcy5yZXM7DQogIH0NCiAgDQogIGZ1bmN0aW9uIGZvbygpe30NCiAgZm9vLnByb3RvdHlwZS5yZXMgPSB0cnVlOw0KICB2YXIgZiA9IG5ldyBmb28oKTsNCiAgdmFyIGFyciA9IFsxXTsNCiAgYXJyLmZvckVhY2goY2FsbGJhY2tmbixmKQ0KICBpZiggcmVzdWx0ID09PSB0cnVlKQ0KICAgIHJldHVybiB0cnVlOyAgICANCg0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.forEach - thisArg is object from object template(prototype)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-5-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTgvMTUuNC40LjE4LTUtNS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5mb3JFYWNoIC0gdGhpc0FyZyBpcyBvYmplY3QgZnJvbSBvYmplY3QgdGVtcGxhdGUNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgcmVzID0gZmFsc2U7DQogIHZhciByZXN1bHQ7DQogIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikNCiAgew0KICAgIHJlc3VsdCA9IHRoaXMucmVzOw0KICB9DQoNCiAgZnVuY3Rpb24gZm9vKCl7fQ0KICB2YXIgZiA9IG5ldyBmb28oKTsNCiAgZi5yZXMgPSB0cnVlOw0KICANCiAgdmFyIGFyciA9IFsxXTsNCiAgYXJyLmZvckVhY2goY2FsbGJhY2tmbixmKQ0KICBpZiggcmVzdWx0ID09PSB0cnVlKQ0KICAgIHJldHVybiB0cnVlOyAgICANCg0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.forEach - thisArg is object from object template","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-5-5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTgvMTUuNC40LjE4LTUtNi5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5mb3JFYWNoIC0gdGhpc0FyZyBpcyBmdW5jdGlvbg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciByZXMgPSBmYWxzZTsNCiAgdmFyIHJlc3VsdDsNCiAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKQ0KICB7DQogICAgcmVzdWx0ID0gdGhpcy5yZXM7DQogIH0NCg0KICBmdW5jdGlvbiBmb28oKXt9DQogIGZvby5yZXMgPSB0cnVlOw0KICANCiAgdmFyIGFyciA9IFsxXTsNCiAgYXJyLmZvckVhY2goY2FsbGJhY2tmbixmb28pDQogIGlmKCByZXN1bHQgPT09IHRydWUpDQogICAgcmV0dXJuIHRydWU7ICAgIA0KDQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.forEach - thisArg is function","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-5-6.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTgvMTUuNC40LjE4LTUtNy5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5mb3JFYWNoIC0gYnVpbHQtaW4gZnVuY3Rpb25zIGNhbiBiZSB1c2VkIGFzIHRoaXNBcmcNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciByZXN1bHQgPSBmYWxzZTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJlc3VsdCA9ICh0aGlzID09PSBldmFsKTsNCiAgICAgICAgfQ0KDQogICAgICAgIFsxMV0uZm9yRWFjaChjYWxsYmFja2ZuLCBldmFsKTsNCiAgICAgICAgcmV0dXJuIHJlc3VsdDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.forEach - built-in functions can be used as thisArg","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-5-7.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTgvMTUuNC40LjE4LTUtOS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5mb3JFYWNoIC0gRnVuY3Rpb24gT2JqZWN0IGNhbiBiZSB1c2VkIGFzIHRoaXNBcmcNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciByZXN1bHQgPSBmYWxzZTsNCiAgICAgICAgdmFyIG9ialN0cmluZyA9IGZ1bmN0aW9uICgpIHsgfTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJlc3VsdCA9ICh0aGlzID09PSBvYmpTdHJpbmcpOw0KICAgICAgICB9DQoNCiAgICAgICAgWzExXS5mb3JFYWNoKGNhbGxiYWNrZm4sIG9ialN0cmluZyk7DQogICAgICAgIHJldHVybiByZXN1bHQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.forEach - Function Object can be used as thisArg","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-5-9.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTgvMTUuNC40LjE4LTctMS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5mb3JFYWNoIGRvZXNuJ3QgY29uc2lkZXIgbmV3IGVsZW1lbnRzIGFkZGVkIHRvIGFycmF5IGFmdGVyIHRoZSBjYWxsDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsgDQogDQogIHZhciBjYWxsQ250ID0gMDsNCiAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKQ0KICB7DQogICAgY2FsbENudCsrOyANCiAgICBhcnJbMl0gPSAzOw0KICAgIGFycls1XSA9IDY7DQogIH0NCg0KICB2YXIgYXJyID0gWzEsMiwsNCw1XTsNCiAgYXJyLmZvckVhY2goY2FsbGJhY2tmbik7DQogIGlmKCBjYWxsQ250ID09PSA1KSAgICANCiAgICByZXR1cm4gdHJ1ZTsNCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.forEach doesn't consider new elements added to array after the call","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTgvMTUuNC40LjE4LTctMi5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5mb3JFYWNoIGRvZXNuJ3QgdmlzaXQgZGVsZXRlZCBlbGVtZW50cyBpbiBhcnJheSBhZnRlciB0aGUgY2FsbA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7IA0KIA0KICB2YXIgY2FsbENudCA9IDA7DQogIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikNCiAgew0KICAgIGlmKGNhbGxDbnQgPT0gMCkNCiAgICAgIGRlbGV0ZSBhcnJbM107DQogICAgY2FsbENudCsrOw0KICB9DQoNCiAgdmFyIGFyciA9IFsxLDIsMyw0LDVdOw0KICBhcnIuZm9yRWFjaChjYWxsYmFja2ZuKQ0KICBpZiggY2FsbENudCA9PT0gNCkgICAgDQogICAgICByZXR1cm4gdHJ1ZTsgIA0KICANCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.forEach doesn't visit deleted elements in array after the call","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTgvMTUuNC40LjE4LTctMy5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5mb3JFYWNoIGRvZXNuJ3QgdmlzaXQgZGVsZXRlZCBlbGVtZW50cyB3aGVuIEFycmF5Lmxlbmd0aCBpcyBkZWNyZWFzZWQNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgeyANCiANCiAgdmFyIGNhbGxDbnQgPSAwOw0KICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopDQogIHsNCiAgICBhcnIubGVuZ3RoPTM7DQogICAgY2FsbENudCsrOw0KICB9DQoNCiAgdmFyIGFyciA9IFsxLDIsMyw0LDVdOw0KICBhcnIuZm9yRWFjaChjYWxsYmFja2ZuKTsNCiAgaWYoIGNhbGxDbnQgPT09IDMpICAgIA0KICAgICAgcmV0dXJuIHRydWU7ICANCiAgDQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.forEach doesn't visit deleted elements when Array.length is decreased","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTgvMTUuNC40LjE4LTctNC5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5mb3JFYWNoIGRvZXNuJ3QgY29uc2lkZXIgbmV3bHkgYWRkZWQgZWxlbWVudHMgaW4gc3BhcnNlIGFycmF5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsgDQogDQogIHZhciBjYWxsQ250ID0gMDsNCiAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKQ0KICB7DQogICAgYXJyWzEwMDBdID0gMzsNCiAgICBjYWxsQ250Kys7DQogIH0NCg0KICB2YXIgYXJyID0gbmV3IEFycmF5KDEwKTsNCiAgYXJyWzFdID0gMTsNCiAgYXJyWzJdID0gMjsNCiAgYXJyLmZvckVhY2goY2FsbGJhY2tmbik7DQogIGlmKCBjYWxsQ250ID09PSAyKSAgICANCiAgICAgIHJldHVybiB0cnVlOyAgDQogIA0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.forEach doesn't consider newly added elements in sparse array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTgvMTUuNC40LjE4LTctNS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5mb3JFYWNoIHZpc2l0cyBkZWxldGVkIGVsZW1lbnQgaW4gYXJyYXkgYWZ0ZXIgdGhlIGNhbGwgd2hlbiBzYW1lIGluZGV4IGlzIGFsc28gcHJlc2VudCBpbiBwcm90b3R5cGUNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgeyANCiANCiAgdmFyIGNhbGxDbnQgPSAwOw0KICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopDQogIHsNCiAgICBkZWxldGUgYXJyWzRdOw0KICAgIGNhbGxDbnQrKzsNCiAgfQ0KDQogIEFycmF5LnByb3RvdHlwZVs0XSA9IDU7DQoNCiAgdmFyIGFyciA9IFsxLDIsMyw0LDVdOw0KICBhcnIuZm9yRWFjaChjYWxsYmFja2ZuKQ0KICBkZWxldGUgQXJyYXkucHJvdG90eXBlWzRdOw0KICBpZiggY2FsbENudCA9PT0gNSkgICAgDQogICAgICByZXR1cm4gdHJ1ZTsgIA0KICANCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.forEach visits deleted element in array after the call when same index is also present in prototype","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTgvMTUuNC40LjE4LTctNy5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5mb3JFYWNoIC0gY29uc2lkZXJzIG5ldyB2YWx1ZSBvZiBlbGVtZW50cyBpbiBhcnJheSBhZnRlciB0aGUgY2FsbA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHJlc3VsdCA9IGZhbHNlOw0KICAgICAgICB2YXIgYXJyID0gWzEsIDIsIDMsIDQsIDVdOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBJZHgsIG9iaikgew0KICAgICAgICAgICAgYXJyWzRdID0gNjsNCiAgICAgICAgICAgIGlmICh2YWwgPj0gNikgew0KICAgICAgICAgICAgICAgIHJlc3VsdCA9IHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICBhcnIuZm9yRWFjaChjYWxsYmFja2ZuKTsNCiAgICAgICAgcmV0dXJuIHJlc3VsdDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.forEach - considers new value of elements in array after the call","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-7.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTgvMTUuNC40LjE4LTctOC5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5mb3JFYWNoIC0gbm8gb2JzZXJ2YWJsZSBlZmZlY3RzIG9jY3VyIGlmIGxlbiBpcyAwDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0geyAwOiAxMSwgMTogMTIsIGxlbmd0aDogMCB9Ow0KDQogICAgICAgIEFycmF5LnByb3RvdHlwZS5mb3JFYWNoLmNhbGwob2JqLCBjYWxsYmFja2ZuKTsNCiAgICAgICAgcmV0dXJuICFhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.forEach - no observable effects occur if len is 0","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-8.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTgvMTUuNC40LjE4LTctOS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5mb3JFYWNoIC0gbW9kaWZpY2F0aW9ucyB0byBsZW5ndGggZG9uJ3QgY2hhbmdlIG51bWJlciBvZiBpdGVyYXRpb25zDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgY2FsbGVkID0gMDsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBjYWxsZWQrKzsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSB7IDE6IDEyLCAyOiA5LCBsZW5ndGg6IDIgfTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiMCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIG9iai5sZW5ndGggPSAzOw0KICAgICAgICAgICAgICAgIHJldHVybiAxMTsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgQXJyYXkucHJvdG90eXBlLmZvckVhY2guY2FsbChvYmosIGNhbGxiYWNrZm4pOw0KICAgICAgICByZXR1cm4gMiA9PT0gY2FsbGVkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.forEach - modifications to length don't change number of iterations","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-9.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTgvMTUuNC40LjE4LTctYi0xLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZvckVhY2ggLSBjYWxsYmFja2ZuIG5vdCBjYWxsZWQgZm9yIGluZGV4ZXMgbmV2ZXIgYmVlbiBhc3NpZ25lZCB2YWx1ZXMNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgeyANCiANCiAgdmFyIGNhbGxDbnQgPSAwOw0KICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopDQogIHsNCiAgICBjYWxsQ250Kys7DQogIH0NCg0KICB2YXIgYXJyID0gbmV3IEFycmF5KDEwKTsNCiAgYXJyWzFdID0gdW5kZWZpbmVkOw0KICBhcnIuZm9yRWFjaChjYWxsYmFja2ZuKTsNCiAgaWYoIGNhbGxDbnQgPT09IDEpICAgIA0KICAgIHJldHVybiB0cnVlOyAgICANCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.forEach - callbackfn not called for indexes never been assigned values","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-b-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTgvMTUuNC40LjE4LTctYi0xMC5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5mb3JFYWNoIC0gZGVsZXRpbmcgcHJvcGVydHkgb2YgcHJvdG90eXBlIGNhdXNlcyBwcm90b3R5cGUgaW5kZXggcHJvcGVydHkgbm90IHRvIGJlIHZpc2l0ZWQgb24gYW4gQXJyYXktbGlrZSBPYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KICAgICAgICB2YXIgdGVzdFJlc3VsdCA9IHRydWU7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICBpZiAoaWR4ID09PSAzKSB7DQogICAgICAgICAgICAgICAgdGVzdFJlc3VsdCA9IGZhbHNlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgMjogMiwgbGVuZ3RoOiAyMCB9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICIwIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgZGVsZXRlIE9iamVjdC5wcm90b3R5cGVbMV07DQogICAgICAgICAgICAgICAgcmV0dXJuIDA7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QucHJvdG90eXBlWzFdID0gMTsNCiAgICAgICAgICAgIEFycmF5LnByb3RvdHlwZS5mb3JFYWNoLmNhbGwob2JqLCBjYWxsYmFja2ZuKTsNCiAgICAgICAgICAgIHJldHVybiB0ZXN0UmVzdWx0ICYmIGFjY2Vzc2VkOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIE9iamVjdC5wcm90b3R5cGVbMV07DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.forEach - deleting property of prototype causes prototype index property not to be visited on an Array-like Object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-b-10.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTgvMTUuNC40LjE4LTctYi0xMS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5mb3JFYWNoIC0gZGVsZXRpbmcgcHJvcGVydHkgb2YgcHJvdG90eXBlIGNhdXNlcyBwcm90b3R5cGUgaW5kZXggcHJvcGVydHkgbm90IHRvIGJlIHZpc2l0ZWQgb24gYW4gQXJyYXkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KICAgICAgICB2YXIgdGVzdFJlc3VsdCA9IHRydWU7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICBpZiAoaWR4ID09PSAxKSB7DQogICAgICAgICAgICAgICAgdGVzdFJlc3VsdCA9IGZhbHNlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIGFyciA9IFswLCAsIF07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgIjAiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICBkZWxldGUgQXJyYXkucHJvdG90eXBlWzFdOw0KICAgICAgICAgICAgICAgIHJldHVybiAwOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlWzFdID0gMTsNCiAgICAgICAgICAgIGFyci5mb3JFYWNoKGNhbGxiYWNrZm4pOw0KICAgICAgICAgICAgcmV0dXJuIHRlc3RSZXN1bHQgJiYgYWNjZXNzZWQ7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgQXJyYXkucHJvdG90eXBlWzFdOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.forEach - deleting property of prototype causes prototype index property not to be visited on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-b-11.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTgvMTUuNC40LjE4LTctYi0xMi5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5mb3JFYWNoIC0gZGVsZXRpbmcgb3duIHByb3BlcnR5IHdpdGggcHJvdG90eXBlIHByb3BlcnR5IGNhdXNlcyBwcm90b3R5cGUgaW5kZXggcHJvcGVydHkgdG8gYmUgdmlzaXRlZCBvbiBhbiBBcnJheS1saWtlIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHRlc3RSZXN1bHQgPSBmYWxzZTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGlmIChpZHggPT09IDEgJiYgdmFsID09PSAxKSB7DQogICAgICAgICAgICAgICAgdGVzdFJlc3VsdCA9IHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0geyAwOiAwLCAxOiAxMTEsIGxlbmd0aDogMTAgfTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiMCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIGRlbGV0ZSBvYmpbMV07DQogICAgICAgICAgICAgICAgcmV0dXJuIDA7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QucHJvdG90eXBlWzFdID0gMTsNCiAgICAgICAgICAgIEFycmF5LnByb3RvdHlwZS5mb3JFYWNoLmNhbGwob2JqLCBjYWxsYmFja2ZuKTsNCiAgICAgICAgICAgIHJldHVybiB0ZXN0UmVzdWx0Ow0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIE9iamVjdC5wcm90b3R5cGVbMV07DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.forEach - deleting own property with prototype property causes prototype index property to be visited on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-b-12.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTgvMTUuNC40LjE4LTctYi0xMy5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5mb3JFYWNoIC0gZGVsZXRpbmcgb3duIHByb3BlcnR5IHdpdGggcHJvdG90eXBlIHByb3BlcnR5IGNhdXNlcyBwcm90b3R5cGUgaW5kZXggcHJvcGVydHkgdG8gYmUgdmlzaXRlZCBvbiBhbiBBcnJheQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHRlc3RSZXN1bHQgPSBmYWxzZTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGlmIChpZHggPT09IDEgJiYgdmFsID09PSAxKSB7DQogICAgICAgICAgICAgICAgdGVzdFJlc3VsdCA9IHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCiAgICAgICAgdmFyIGFyciA9IFswLCAxMTFdOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnIsICIwIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgZGVsZXRlIGFyclsxXTsNCiAgICAgICAgICAgICAgICByZXR1cm4gMDsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIEFycmF5LnByb3RvdHlwZVsxXSA9IDE7DQogICAgICAgICAgICBhcnIuZm9yRWFjaChjYWxsYmFja2ZuKTsNCiAgICAgICAgICAgIHJldHVybiB0ZXN0UmVzdWx0Ow0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIEFycmF5LnByb3RvdHlwZVsxXTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.forEach - deleting own property with prototype property causes prototype index property to be visited on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-b-13.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTgvMTUuNC40LjE4LTctYi0xNC5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5mb3JFYWNoIC0gZGVjcmVhc2luZyBsZW5ndGggb2YgYXJyYXkgY2F1c2VzIGluZGV4IHByb3BlcnR5IG5vdCB0byBiZSB2aXNpdGVkDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCiAgICAgICAgdmFyIHRlc3RSZXN1bHQgPSB0cnVlOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgaWYgKGlkeCA9PT0gMykgew0KICAgICAgICAgICAgICAgIHRlc3RSZXN1bHQgPSBmYWxzZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBhcnIgPSBbMCwgMSwgMiwgImxhc3QiXTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyLCAiMCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIGFyci5sZW5ndGggPSAzOw0KICAgICAgICAgICAgICAgIHJldHVybiAwOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBhcnIuZm9yRWFjaChjYWxsYmFja2ZuKTsNCg0KICAgICAgICByZXR1cm4gdGVzdFJlc3VsdCAmJiBhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.forEach - decreasing length of array causes index property not to be visited","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-b-14.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTgvMTUuNC40LjE4LTctYi0xNS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5mb3JFYWNoIC0gZGVjcmVhc2luZyBsZW5ndGggb2YgYXJyYXkgd2l0aCBwcm90b3R5cGUgcHJvcGVydHkgY2F1c2VzIHByb3RvdHlwZSBpbmRleCBwcm9wZXJ0eSB0byBiZSB2aXNpdGVkDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgdGVzdFJlc3VsdCA9IGZhbHNlOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgaWYgKGlkeCA9PT0gMiAmJiB2YWwgPT09ICJwcm90b3R5cGUiKSB7DQogICAgICAgICAgICAgICAgdGVzdFJlc3VsdCA9IHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCiAgICAgICAgdmFyIGFyciA9IFswLCAxLCAyXTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KEFycmF5LnByb3RvdHlwZSwgIjIiLCB7DQogICAgICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgIHJldHVybiAicHJvdG90eXBlIjsNCiAgICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnIsICIxIiwgew0KICAgICAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAgICBhcnIubGVuZ3RoID0gMjsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDE7DQogICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICBhcnIuZm9yRWFjaChjYWxsYmFja2ZuKTsNCg0KICAgICAgICAgICAgcmV0dXJuIHRlc3RSZXN1bHQ7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgQXJyYXkucHJvdG90eXBlWzJdOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.forEach - decreasing length of array with prototype property causes prototype index property to be visited","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-b-15.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTgvMTUuNC40LjE4LTctYi0xNi5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5mb3JFYWNoIC0gZGVjcmVhc2luZyBsZW5ndGggb2YgYXJyYXkgZG9lcyBub3QgZGVsZXRlIG5vbi1jb25maWd1cmFibGUgcHJvcGVydGllcw0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHRlc3RSZXN1bHQgPSBmYWxzZTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGlmIChpZHggPT09IDIgJiYgdmFsID09PSAidW5jb25maWd1cmFibGUiKSB7DQogICAgICAgICAgICAgICAgdGVzdFJlc3VsdCA9IHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgYXJyID0gWzAsIDEsIDJdOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnIsICIyIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuICJ1bmNvbmZpZ3VyYWJsZSI7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyLCAiMSIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIGFyci5sZW5ndGggPSAyOw0KICAgICAgICAgICAgICAgIHJldHVybiAxOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBhcnIuZm9yRWFjaChjYWxsYmFja2ZuKTsNCg0KICAgICAgICByZXR1cm4gdGVzdFJlc3VsdDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.forEach - decreasing length of array does not delete non-configurable properties","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-b-16.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTgvMTUuNC40LjE4LTctYi0yLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZvckVhY2ggLSBhZGRlZCBwcm9wZXJ0aWVzIGluIHN0ZXAgMiBhcmUgdmlzaWJsZSBoZXJlDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgdGVzdFJlc3VsdCA9IGZhbHNlOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgaWYgKGlkeCA9PT0gMiAmJiB2YWwgPT09ICJsZW5ndGgiKSB7DQogICAgICAgICAgICAgICAgdGVzdFJlc3VsdCA9IHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgImxlbmd0aCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIG9ialsyXSA9ICJsZW5ndGgiOw0KICAgICAgICAgICAgICAgIHJldHVybiAzOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBBcnJheS5wcm90b3R5cGUuZm9yRWFjaC5jYWxsKG9iaiwgY2FsbGJhY2tmbik7DQoNCiAgICAgICAgcmV0dXJuIHRlc3RSZXN1bHQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.forEach - added properties in step 2 are visible here","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-b-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTgvMTUuNC40LjE4LTctYi0zLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZvckVhY2ggLSBkZWxldGVkIHByb3BlcnRpZXMgaW4gc3RlcCAyIGFyZSB2aXNpYmxlIGhlcmUNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KICAgICAgICB2YXIgdGVzdFJlc3VsdCA9IHRydWU7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICBpZiAoaWR4ID09PSA4KSB7DQogICAgICAgICAgICAgICAgdGVzdFJlc3VsdCA9IGZhbHNlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQogICAgICAgIHZhciBvYmogPSB7IDI6IDYuOTksIDg6IDE5IH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgImxlbmd0aCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIGRlbGV0ZSBvYmpbOF07DQogICAgICAgICAgICAgICAgcmV0dXJuIDEwOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBBcnJheS5wcm90b3R5cGUuZm9yRWFjaC5jYWxsKG9iaiwgY2FsbGJhY2tmbik7DQogICAgICAgIHJldHVybiB0ZXN0UmVzdWx0ICYmIGFjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.forEach - deleted properties in step 2 are visible here","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-b-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTgvMTUuNC40LjE4LTctYi00LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZvckVhY2ggLSBwcm9wZXJ0aWVzIGFkZGVkIGludG8gb3duIG9iamVjdCBhZnRlciBjdXJyZW50IHBvc2l0aW9uIGFyZSB2aXNpdGVkIG9uIGFuIEFycmF5LWxpa2Ugb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgdGVzdFJlc3VsdCA9IGZhbHNlOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgaWYgKGlkeCA9PT0gMSAmJiB2YWwgPT09IDEpIHsNCiAgICAgICAgICAgICAgICB0ZXN0UmVzdWx0ID0gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSB7IGxlbmd0aDogMiB9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICIwIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgIjEiLCB7DQogICAgICAgICAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDE7DQogICAgICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgICAgIHJldHVybiAwOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBBcnJheS5wcm90b3R5cGUuZm9yRWFjaC5jYWxsKG9iaiwgY2FsbGJhY2tmbik7DQogICAgICAgIHJldHVybiB0ZXN0UmVzdWx0Ow0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.forEach - properties added into own object after current position are visited on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-b-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTgvMTUuNC40LjE4LTctYi01LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZvckVhY2ggLSBwcm9wZXJ0aWVzIGFkZGVkIGludG8gb3duIG9iamVjdCBhZnRlciBjdXJyZW50IHBvc2l0aW9uIGFyZSB2aXNpdGVkIG9uIGFuIEFycmF5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgdGVzdFJlc3VsdCA9IGZhbHNlOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgaWYgKGlkeCA9PT0gMSAmJiB2YWwgPT09IDEpIHsNCiAgICAgICAgICAgICAgICB0ZXN0UmVzdWx0ID0gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBhcnIgPSBbMCwgLCAyXTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyLCAiMCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnIsICIxIiwgew0KICAgICAgICAgICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiAxOw0KICAgICAgICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgICAgICB9KTsNCiAgICAgICAgICAgICAgICByZXR1cm4gMDsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgYXJyLmZvckVhY2goY2FsbGJhY2tmbik7DQogICAgICAgIHJldHVybiB0ZXN0UmVzdWx0Ow0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.forEach - properties added into own object after current position are visited on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-b-5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTgvMTUuNC40LjE4LTctYi02LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZvckVhY2ggLSBwcm9wZXJ0aWVzIGNhbiBiZSBhZGRlZCB0byBwcm90b3R5cGUgYWZ0ZXIgY3VycmVudCBwb3NpdGlvbiBhcmUgdmlzaXRlZCBvbiBhbiBBcnJheS1saWtlIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHRlc3RSZXN1bHQgPSBmYWxzZTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGlmIChpZHggPT09IDEgJiYgdmFsID09PSA2Ljk5KSB7DQogICAgICAgICAgICAgICAgdGVzdFJlc3VsdCA9IHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0geyBsZW5ndGg6IDIgfTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiMCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShPYmplY3QucHJvdG90eXBlLCAiMSIsIHsNCiAgICAgICAgICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gNi45OTsNCiAgICAgICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICAgICAgfSk7DQogICAgICAgICAgICAgICAgcmV0dXJuIDA7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBBcnJheS5wcm90b3R5cGUuZm9yRWFjaC5jYWxsKG9iaiwgY2FsbGJhY2tmbik7DQogICAgICAgICAgICByZXR1cm4gdGVzdFJlc3VsdDsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBPYmplY3QucHJvdG90eXBlWzFdOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.forEach - properties can be added to prototype after current position are visited on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-b-6.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTgvMTUuNC40LjE4LTctYi03LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZvckVhY2ggLSBwcm9wZXJ0aWVzIGNhbiBiZSBhZGRlZCB0byBwcm90b3R5cGUgYWZ0ZXIgY3VycmVudCBwb3NpdGlvbiBhcmUgdmlzaXRlZCBvbiBhbiBBcnJheQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHRlc3RSZXN1bHQgPSBmYWxzZTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGlmIChpZHggPT09IDEgJiYgdmFsID09PSA2Ljk5KSB7DQogICAgICAgICAgICAgICAgdGVzdFJlc3VsdCA9IHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgYXJyID0gWzAsICwgMl07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgIjAiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoQXJyYXkucHJvdG90eXBlLCAiMSIsIHsNCiAgICAgICAgICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gNi45OTsNCiAgICAgICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICAgICAgfSk7DQogICAgICAgICAgICAgICAgcmV0dXJuIDA7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBhcnIuZm9yRWFjaChjYWxsYmFja2ZuKTsNCiAgICAgICAgICAgIHJldHVybiB0ZXN0UmVzdWx0Ow0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIEFycmF5LnByb3RvdHlwZVsxXTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.forEach - properties can be added to prototype after current position are visited on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-b-7.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTgvMTUuNC40LjE4LTctYi04LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZvckVhY2ggLSBkZWxldGluZyBvd24gcHJvcGVydHkgY2F1c2VzIGluZGV4IHByb3BlcnR5IG5vdCB0byBiZSB2aXNpdGVkIG9uIGFuIEFycmF5LWxpa2Ugb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCiAgICAgICAgdmFyIHRlc3RSZXN1bHQgPSB0cnVlOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgaWYgKGlkeCA9PT0gMSkgew0KICAgICAgICAgICAgICAgIHRlc3RSZXN1bHQgPSBmYWxzZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSB7IGxlbmd0aDogMiB9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICIxIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIDYuOTk7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICIwIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgZGVsZXRlIG9ialsxXTsNCiAgICAgICAgICAgICAgICByZXR1cm4gMDsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgQXJyYXkucHJvdG90eXBlLmZvckVhY2guY2FsbChvYmosIGNhbGxiYWNrZm4pOw0KICAgICAgICByZXR1cm4gdGVzdFJlc3VsdCAmJiBhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.forEach - deleting own property causes index property not to be visited on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-b-8.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTgvMTUuNC40LjE4LTctYi05LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZvckVhY2ggLSBkZWxldGluZyBvd24gcHJvcGVydHkgY2F1c2VzIGluZGV4IHByb3BlcnR5IG5vdCB0byBiZSB2aXNpdGVkIG9uIGFuIEFycmF5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCiAgICAgICAgdmFyIHRlc3RSZXN1bHQgPSB0cnVlOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgaWYgKGlkeCA9PT0gMSkgew0KICAgICAgICAgICAgICAgIHRlc3RSZXN1bHQgPSBmYWxzZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBhcnIgPSBbMSwgMl07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgIjEiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gIjYuOTkiOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyLCAiMCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIGRlbGV0ZSBhcnJbMV07DQogICAgICAgICAgICAgICAgcmV0dXJuIDA7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIGFyci5mb3JFYWNoKGNhbGxiYWNrZm4pOw0KICAgICAgICByZXR1cm4gdGVzdFJlc3VsdCAmJiBhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.forEach - deleting own property causes index property not to be visited on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-b-9.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTgvMTUuNC40LjE4LTctYy1pLTEuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZm9yRWFjaCAtIGVsZW1lbnQgdG8gYmUgcmV0cmlldmVkIGlzIG93biBkYXRhIHByb3BlcnR5IG9uIGFuIEFycmF5LWxpa2Ugb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIga1ZhbHVlID0geyB9Ow0KICAgICAgICB2YXIgdGVzdFJlc3VsdCA9IGZhbHNlOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgaWYgKGlkeCA9PT0gNSkgew0KICAgICAgICAgICAgICAgIHRlc3RSZXN1bHQgPSAodmFsID09PSBrVmFsdWUpOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgNToga1ZhbHVlLCBsZW5ndGg6IDEwMCB9Ow0KDQogICAgICAgIEFycmF5LnByb3RvdHlwZS5mb3JFYWNoLmNhbGwob2JqLCBjYWxsYmFja2ZuKTsNCg0KICAgICAgICByZXR1cm4gdGVzdFJlc3VsdDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.forEach - element to be retrieved is own data property on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-c-i-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTgvMTUuNC40LjE4LTctYy1pLTEwLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZvckVhY2ggLSBlbGVtZW50IHRvIGJlIHJldHJpZXZlZCBpcyBvd24gYWNjZXNzb3IgcHJvcGVydHkgb24gYW4gQXJyYXkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gZmFsc2U7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBpZiAoaWR4ID09PSAyKSB7DQogICAgICAgICAgICAgICAgdGVzdFJlc3VsdCA9ICh2YWwgPT09IDEyKTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBhcnIgPSBbXTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyLCAiMiIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiAxMjsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgYXJyLmZvckVhY2goY2FsbGJhY2tmbik7DQoNCiAgICAgICAgcmV0dXJuIHRlc3RSZXN1bHQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.forEach - element to be retrieved is own accessor property on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-c-i-10.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTgvMTUuNC40LjE4LTctYy1pLTExLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZvckVhY2ggLSBlbGVtZW50IHRvIGJlIHJldHJpZXZlZCBpcyBvd24gYWNjZXNzb3IgcHJvcGVydHkgdGhhdCBvdmVycmlkZXMgYW4gaW5oZXJpdGVkIGRhdGEgcHJvcGVydHkgb24gYW4gQXJyYXktbGlrZSBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gZmFsc2U7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBpZiAoaWR4ID09PSAwKSB7DQogICAgICAgICAgICAgICAgdGVzdFJlc3VsdCA9ICh2YWwgPT09IDExKTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBwcm90byA9IHsgMDogNSB9Ow0KDQogICAgICAgIHZhciBDb24gPSBmdW5jdGlvbiAoKSB7IH07DQogICAgICAgIENvbi5wcm90b3R5cGUgPSBwcm90bzsNCg0KICAgICAgICB2YXIgY2hpbGQgPSBuZXcgQ29uKCk7DQogICAgICAgIGNoaWxkLmxlbmd0aCA9IDEwOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShjaGlsZCwgIjAiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gMTE7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIEFycmF5LnByb3RvdHlwZS5mb3JFYWNoLmNhbGwoY2hpbGQsIGNhbGxiYWNrZm4pOw0KDQogICAgICAgIHJldHVybiB0ZXN0UmVzdWx0Ow0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.forEach - element to be retrieved is own accessor property that overrides an inherited data property on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-c-i-11.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTgvMTUuNC40LjE4LTctYy1pLTEyLmpzDQogKiBAZGVzY3JpcHRpb24gIEFycmF5LnByb3RvdHlwZS5mb3JFYWNoIC0gZWxlbWVudCB0byBiZSByZXRyaWV2ZWQgaXMgb3duIGFjY2Vzc29yIHByb3BlcnR5IHRoYXQgb3ZlcnJpZGVzIGFuIGluaGVyaXRlZCBkYXRhIHByb3BlcnR5IG9uIGFuIEFycmF5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgdGVzdFJlc3VsdCA9IGZhbHNlOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgaWYgKGlkeCA9PT0gMCkgew0KICAgICAgICAgICAgICAgIHRlc3RSZXN1bHQgPSAodmFsID09PSAxMTEpOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIGFyciA9IFtdOw0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlWzBdID0gMTA7DQoNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnIsICIwIiwgew0KICAgICAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gMTExOw0KICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgYXJyLmZvckVhY2goY2FsbGJhY2tmbik7DQoNCiAgICAgICAgICAgIHJldHVybiB0ZXN0UmVzdWx0Ow0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIEFycmF5LnByb3RvdHlwZVswXTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.forEach - element to be retrieved is own accessor property that overrides an inherited data property on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-c-i-12.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTgvMTUuNC40LjE4LTctYy1pLTEzLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZvckVhY2ggLSBlbGVtZW50IHRvIGJlIHJldHJpZXZlZCBpcyBvd24gYWNjZXNzb3IgcHJvcGVydHkgdGhhdCBvdmVycmlkZXMgYW4gaW5oZXJpdGVkIGFjY2Vzc29yIHByb3BlcnR5IG9uIGFuIEFycmF5LWxpa2Ugb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgdGVzdFJlc3VsdCA9IGZhbHNlOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgaWYgKGlkeCA9PT0gMSkgew0KICAgICAgICAgICAgICAgIHRlc3RSZXN1bHQgPSAodmFsID09PSAxMik7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgcHJvdG8gPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkocHJvdG8sICIxIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIDY7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBDb24gPSBmdW5jdGlvbiAoKSB7IH07DQogICAgICAgIENvbi5wcm90b3R5cGUgPSBwcm90bzsNCg0KICAgICAgICB2YXIgY2hpbGQgPSBuZXcgQ29uKCk7DQogICAgICAgIGNoaWxkLmxlbmd0aCA9IDEwOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShjaGlsZCwgIjEiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gMTI7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQoNCiAgICAgICAgQXJyYXkucHJvdG90eXBlLmZvckVhY2guY2FsbChjaGlsZCwgY2FsbGJhY2tmbik7DQoNCiAgICAgICAgcmV0dXJuIHRlc3RSZXN1bHQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.forEach - element to be retrieved is own accessor property that overrides an inherited accessor property on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-c-i-13.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTgvMTUuNC40LjE4LTctYy1pLTE0LmpzDQogKiBAZGVzY3JpcHRpb24gIEFycmF5LnByb3RvdHlwZS5mb3JFYWNoIC0gZWxlbWVudCB0byBiZSByZXRyaWV2ZWQgaXMgb3duIGFjY2Vzc29yIHByb3BlcnR5IHRoYXQgb3ZlcnJpZGVzIGFuIGluaGVyaXRlZCBhY2Nlc3NvciBwcm9wZXJ0eSBvbiBhbiBBcnJheQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHRlc3RSZXN1bHQgPSBmYWxzZTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGlmIChpZHggPT09IDApIHsNCiAgICAgICAgICAgICAgICB0ZXN0UmVzdWx0ID0gKHZhbCA9PT0gMTEpOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIGFyciA9IFtdOw0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KEFycmF5LnByb3RvdHlwZSwgIjAiLCB7DQogICAgICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgIHJldHVybiA1Ow0KICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgIjAiLCB7DQogICAgICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgIHJldHVybiAxMTsNCiAgICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgIGFyci5mb3JFYWNoKGNhbGxiYWNrZm4pOw0KDQogICAgICAgICAgICByZXR1cm4gdGVzdFJlc3VsdDsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBBcnJheS5wcm90b3R5cGVbMF07DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.forEach - element to be retrieved is own accessor property that overrides an inherited accessor property on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-c-i-14.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTgvMTUuNC40LjE4LTctYy1pLTE1LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZvckVhY2ggLSBlbGVtZW50IHRvIGJlIHJldHJpZXZlZCBpcyBpbmhlcml0ZWQgYWNjZXNzb3IgcHJvcGVydHkgb24gYW4gQXJyYXktbGlrZSBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gZmFsc2U7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBpZiAoaWR4ID09PSAxKSB7DQogICAgICAgICAgICAgICAgdGVzdFJlc3VsdCA9ICh2YWwgPT09IDExKTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBwcm90byA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShwcm90bywgIjEiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gMTE7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBDb24gPSBmdW5jdGlvbiAoKSB7IH07DQogICAgICAgIENvbi5wcm90b3R5cGUgPSBwcm90bzsNCg0KICAgICAgICB2YXIgY2hpbGQgPSBuZXcgQ29uKCk7DQogICAgICAgIGNoaWxkLmxlbmd0aCA9IDIwOw0KDQogICAgICAgIEFycmF5LnByb3RvdHlwZS5mb3JFYWNoLmNhbGwoY2hpbGQsIGNhbGxiYWNrZm4pOw0KDQogICAgICAgIHJldHVybiB0ZXN0UmVzdWx0Ow0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.forEach - element to be retrieved is inherited accessor property on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-c-i-15.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTgvMTUuNC40LjE4LTctYy1pLTE2LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZvckVhY2ggLSBlbGVtZW50IHRvIGJlIHJldHJpZXZlZCBpcyBpbmhlcml0ZWQgYWNjZXNzb3IgcHJvcGVydHkgb24gYW4gQXJyYXkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gZmFsc2U7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBpZiAoaWR4ID09PSAwKSB7DQogICAgICAgICAgICAgICAgdGVzdFJlc3VsdCA9ICh2YWwgPT09IDExKTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoQXJyYXkucHJvdG90eXBlLCAiMCIsIHsNCiAgICAgICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDExOw0KICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgWywgLCAsIF0uZm9yRWFjaChjYWxsYmFja2ZuKTsNCg0KICAgICAgICAgICAgcmV0dXJuIHRlc3RSZXN1bHQ7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgQXJyYXkucHJvdG90eXBlWzBdOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.forEach - element to be retrieved is inherited accessor property on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-c-i-16.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTgvMTUuNC40LjE4LTctYy1pLTE3LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZvckVhY2ggLSBlbGVtZW50IHRvIGJlIHJldHJpZXZlZCBpcyBvd24gYWNjZXNzb3IgcHJvcGVydHkgd2l0aG91dCBhIGdldCBmdW5jdGlvbiBvbiBhbiBBcnJheS1saWtlIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHRlc3RSZXN1bHQgPSBmYWxzZTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGlmIChpZHggPT09IDEpIHsNCiAgICAgICAgICAgICAgICB0ZXN0UmVzdWx0ID0gKHR5cGVvZiB2YWwgPT09ICJ1bmRlZmluZWQiKTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSB7IGxlbmd0aDogMiB9Ow0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiMSIsIHsNCiAgICAgICAgICAgIHNldDogZnVuY3Rpb24gKCkgeyB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIEFycmF5LnByb3RvdHlwZS5mb3JFYWNoLmNhbGwob2JqLCBjYWxsYmFja2ZuKTsNCg0KICAgICAgICByZXR1cm4gdGVzdFJlc3VsdDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.forEach - element to be retrieved is own accessor property without a get function on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-c-i-17.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTgvMTUuNC40LjE4LTctYy1pLTE4LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZvckVhY2ggLSBlbGVtZW50IHRvIGJlIHJldHJpZXZlZCBpcyBvd24gYWNjZXNzb3IgcHJvcGVydHkgd2l0aG91dCBhIGdldCBmdW5jdGlvbiBvbiBhbiBBcnJheQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHRlc3RSZXN1bHQgPSBmYWxzZTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGlmIChpZHggPT09IDApIHsNCiAgICAgICAgICAgICAgICB0ZXN0UmVzdWx0ID0gKHR5cGVvZiB2YWwgPT09ICJ1bmRlZmluZWQiKTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBhcnIgPSBbXTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyLCAiMCIsIHsNCiAgICAgICAgICAgIHNldDogZnVuY3Rpb24gKCkgeyB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIGFyci5mb3JFYWNoKGNhbGxiYWNrZm4pOw0KDQogICAgICAgIHJldHVybiB0ZXN0UmVzdWx0Ow0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.forEach - element to be retrieved is own accessor property without a get function on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-c-i-18.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTgvMTUuNC40LjE4LTctYy1pLTE5LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZvckVhY2ggLSBlbGVtZW50IHRvIGJlIHJldHJpZXZlZCBpcyBvd24gYWNjZXNzb3IgcHJvcGVydHkgd2l0aG91dCBhIGdldCBmdW5jdGlvbiB0aGF0IG92ZXJyaWRlcyBhbiBpbmhlcml0ZWQgYWNjZXNzb3IgcHJvcGVydHkgb24gYW4gQXJyYXktbGlrZSBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gZmFsc2U7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBpZiAoaWR4ID09PSAxKSB7DQogICAgICAgICAgICAgICAgdGVzdFJlc3VsdCA9ICh0eXBlb2YgdmFsID09PSAidW5kZWZpbmVkIik7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0geyBsZW5ndGg6IDIgfTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiMSIsIHsNCiAgICAgICAgICAgIHNldDogZnVuY3Rpb24gKCkgeyB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoT2JqZWN0LnByb3RvdHlwZSwgIjEiLCB7DQogICAgICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgIHJldHVybiAxMDsNCiAgICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgIEFycmF5LnByb3RvdHlwZS5mb3JFYWNoLmNhbGwob2JqLCBjYWxsYmFja2ZuKTsNCg0KICAgICAgICAgICAgcmV0dXJuIHRlc3RSZXN1bHQ7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgT2JqZWN0LnByb3RvdHlwZVsxXTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.forEach - element to be retrieved is own accessor property without a get function that overrides an inherited accessor property on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-c-i-19.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTgvMTUuNC40LjE4LTctYy1pLTIuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZm9yRWFjaCAtIGVsZW1lbnQgdG8gYmUgcmV0cmlldmVkIGlzIG93biBkYXRhIHByb3BlcnR5IG9uIGFuIEFycmF5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgdGVzdFJlc3VsdCA9IGZhbHNlOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgaWYgKGlkeCA9PT0gMCkgew0KICAgICAgICAgICAgICAgIHRlc3RSZXN1bHQgPSAodmFsID09PSAxMSk7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICBbMTFdLmZvckVhY2goY2FsbGJhY2tmbik7DQoNCiAgICAgICAgcmV0dXJuIHRlc3RSZXN1bHQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.forEach - element to be retrieved is own data property on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-c-i-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTgvMTUuNC40LjE4LTctYy1pLTIwLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZvckVhY2ggLSBlbGVtZW50IHRvIGJlIHJldHJpZXZlZCBpcyBvd24gYWNjZXNzb3IgcHJvcGVydHkgd2l0aG91dCBhIGdldCBmdW5jdGlvbiB0aGF0IG92ZXJyaWRlcyBhbiBpbmhlcml0ZWQgYWNjZXNzb3IgcHJvcGVydHkgb24gYW4gQXJyYXkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gZmFsc2U7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBpZiAoaWR4ID09PSAwKSB7DQogICAgICAgICAgICAgICAgdGVzdFJlc3VsdCA9ICh0eXBlb2YgdmFsID09PSAidW5kZWZpbmVkIik7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgYXJyID0gW107DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgIjAiLCB7DQogICAgICAgICAgICBzZXQ6IGZ1bmN0aW9uICgpIHsgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KEFycmF5LnByb3RvdHlwZSwgIjAiLCB7DQogICAgICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgIHJldHVybiAxMDA7DQogICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICBhcnIuZm9yRWFjaChjYWxsYmFja2ZuKTsNCg0KICAgICAgICAgICAgcmV0dXJuIHRlc3RSZXN1bHQ7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgQXJyYXkucHJvdG90eXBlWzBdOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.forEach - element to be retrieved is own accessor property without a get function that overrides an inherited accessor property on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-c-i-20.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTgvMTUuNC40LjE4LTctYy1pLTIxLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZvckVhY2ggLSBlbGVtZW50IHRvIGJlIHJldHJpZXZlZCBpcyBpbmhlcml0ZWQgYWNjZXNzb3IgcHJvcGVydHkgd2l0aG91dCBhIGdldCBmdW5jdGlvbiBvbiBhbiBBcnJheS1saWtlIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHRlc3RSZXN1bHQgPSBmYWxzZTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGlmIChpZHggPT09IDEpIHsNCiAgICAgICAgICAgICAgICB0ZXN0UmVzdWx0ID0gKHR5cGVvZiB2YWwgPT09ICJ1bmRlZmluZWQiKTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBwcm90byA9IHt9Ow0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkocHJvdG8sICIxIiwgew0KICAgICAgICAgICAgc2V0OiBmdW5jdGlvbiAoKSB7IH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIENvbiA9IGZ1bmN0aW9uICgpIHsgfTsNCiAgICAgICAgQ29uLnByb3RvdHlwZSA9IHByb3RvOw0KDQogICAgICAgIHZhciBjaGlsZCA9IG5ldyBDb24oKTsNCiAgICAgICAgY2hpbGQubGVuZ3RoID0gMjsNCg0KICAgICAgICBBcnJheS5wcm90b3R5cGUuZm9yRWFjaC5jYWxsKGNoaWxkLCBjYWxsYmFja2ZuKTsNCg0KICAgICAgICByZXR1cm4gdGVzdFJlc3VsdDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.forEach - element to be retrieved is inherited accessor property without a get function on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-c-i-21.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTgvMTUuNC40LjE4LTctYy1pLTIyLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZvckVhY2ggLSBlbGVtZW50IHRvIGJlIHJldHJpZXZlZCBpcyBpbmhlcml0ZWQgYWNjZXNzb3IgcHJvcGVydHkgd2l0aG91dCBhIGdldCBmdW5jdGlvbiBvbiBhbiBBcnJheQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHRlc3RSZXN1bHQgPSBmYWxzZTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGlmIChpZHggPT09IDApIHsNCiAgICAgICAgICAgICAgICB0ZXN0UmVzdWx0ID0gKHR5cGVvZiB2YWwgPT09ICJ1bmRlZmluZWQiKTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoQXJyYXkucHJvdG90eXBlLCAiMCIsIHsNCiAgICAgICAgICAgICAgICBzZXQ6IGZ1bmN0aW9uICgpIHsgfSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICBbLCAxXS5mb3JFYWNoKGNhbGxiYWNrZm4pOw0KDQogICAgICAgICAgICByZXR1cm4gdGVzdFJlc3VsdDsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBBcnJheS5wcm90b3R5cGVbMF07DQogICAgICAgIH0NCg0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.forEach - element to be retrieved is inherited accessor property without a get function on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-c-i-22.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTgvMTUuNC40LjE4LTctYy1pLTIzLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZvckVhY2ggLSBUaGlzIG9iamVjdCBpcyBhbiBnbG9iYWwgb2JqZWN0IHdoaWNoIGNvbnRhaW5zIGluZGV4IHByb3BlcnR5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgdGVzdFJlc3VsdCA9IGZhbHNlOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgaWYgKGlkeCA9PT0gMCkgew0KICAgICAgICAgICAgICAgIHRlc3RSZXN1bHQgPSAodmFsID09PSAxMSk7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgdmFyIG9sZExlbiA9IGZuR2xvYmFsT2JqZWN0KCkubGVuZ3RoOw0KICAgICAgICAgICAgZm5HbG9iYWxPYmplY3QoKVswXSA9IDExOw0KICAgICAgICAgICAgZm5HbG9iYWxPYmplY3QoKS5sZW5ndGggPSAxOw0KDQogICAgICAgICAgICBBcnJheS5wcm90b3R5cGUuZm9yRWFjaC5jYWxsKGZuR2xvYmFsT2JqZWN0KCksIGNhbGxiYWNrZm4pOw0KDQogICAgICAgICAgICByZXR1cm4gdGVzdFJlc3VsdDsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBmbkdsb2JhbE9iamVjdCgpWzBdOw0KICAgICAgICAgICAgZm5HbG9iYWxPYmplY3QoKS5sZW5ndGggPSBvbGRMZW47DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.forEach - This object is an global object which contains index property","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-c-i-23.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTgvMTUuNC40LjE4LTctYy1pLTI1LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZvckVhY2ggLSBUaGlzIG9iamVjdCBpcyB0aGUgQXJndW1lbnRzIG9iamVjdCB3aGljaCBpbXBsZW1lbnRzIGl0cyBvd24gcHJvcGVydHkgZ2V0IG1ldGhvZCAobnVtYmVyIG9mIGFyZ3VtZW50cyBpcyBsZXNzIHRoYW4gbnVtYmVyIG9mIHBhcmFtZXRlcnMpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgdGVzdFJlc3VsdCA9IGZhbHNlOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgaWYgKGlkeCA9PT0gMCkgew0KICAgICAgICAgICAgICAgIHRlc3RSZXN1bHQgPSAodmFsID09PSAxMSk7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgZnVuYyA9IGZ1bmN0aW9uIChhLCBiKSB7DQogICAgICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLmZvckVhY2guY2FsbChhcmd1bWVudHMsIGNhbGxiYWNrZm4pOw0KICAgICAgICB9Ow0KDQogICAgICAgIGZ1bmMoMTEpOw0KDQogICAgICAgIHJldHVybiB0ZXN0UmVzdWx0Ow0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.forEach - This object is the Arguments object which implements its own property get method (number of arguments is less than number of parameters)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-c-i-25.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTgvMTUuNC40LjE4LTctYy1pLTI2LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZvckVhY2ggLSBUaGlzIG9iamVjdCBpcyB0aGUgQXJndW1lbnRzIG9iamVjdCB3aGljaCBpbXBsZW1lbnRzIGl0cyBvd24gcHJvcGVydHkgZ2V0IG1ldGhvZCAobnVtYmVyIG9mIGFyZ3VtZW50cyBlcXVhbHMgbnVtYmVyIG9mIHBhcmFtZXRlcnMpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgY2FsbGVkID0gMDsNCiAgICAgICAgdmFyIHRlc3RSZXN1bHQgPSBmYWxzZTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGNhbGxlZCsrOw0KICAgICAgICAgICAgaWYgKGNhbGxlZCAhPT0gMSAmJiAhdGVzdFJlc3VsdCkgew0KICAgICAgICAgICAgICAgIHJldHVybjsNCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIGlmIChpZHggPT09IDApIHsNCiAgICAgICAgICAgICAgICB0ZXN0UmVzdWx0ID0gKHZhbCA9PT0gMTEpOw0KICAgICAgICAgICAgfSBlbHNlIGlmIChpZHggPT09IDEpIHsNCiAgICAgICAgICAgICAgICB0ZXN0UmVzdWx0ID0gKHZhbCA9PT0gOSk7DQogICAgICAgICAgICB9IGVsc2Ugew0KICAgICAgICAgICAgICAgIHRlc3RSZXN1bHQgPSBmYWxzZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBmdW5jID0gZnVuY3Rpb24gKGEsIGIpIHsNCiAgICAgICAgICAgIEFycmF5LnByb3RvdHlwZS5mb3JFYWNoLmNhbGwoYXJndW1lbnRzLCBjYWxsYmFja2ZuKTsNCiAgICAgICAgfTsNCg0KICAgICAgICBmdW5jKDExLCA5KTsNCg0KICAgICAgICByZXR1cm4gdGVzdFJlc3VsdDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.forEach - This object is the Arguments object which implements its own property get method (number of arguments equals number of parameters)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-c-i-26.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTgvMTUuNC40LjE4LTctYy1pLTI3LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZvckVhY2ggLSBUaGlzIG9iamVjdCBpcyB0aGUgQXJndW1lbnRzIG9iamVjdCB3aGljaCBpbXBsZW1lbnRzIGl0cyBvd24gcHJvcGVydHkgZ2V0IG1ldGhvZCAobnVtYmVyIG9mIGFyZ3VtZW50cyBpcyBncmVhdGVyIHRoYW4gbnVtYmVyIG9mIHBhcmFtZXRlcnMpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgY2FsbGVkID0gMDsNCiAgICAgICAgdmFyIHRlc3RSZXN1bHQgPSBmYWxzZTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGNhbGxlZCsrOw0KICAgICAgICAgICAgaWYgKGNhbGxlZCAhPT0gMSAmJiAhdGVzdFJlc3VsdCkgew0KICAgICAgICAgICAgICAgIHJldHVybjsNCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIGlmIChpZHggPT09IDApIHsNCiAgICAgICAgICAgICAgICB0ZXN0UmVzdWx0ID0gKHZhbCA9PT0gMTEpOw0KICAgICAgICAgICAgfSBlbHNlIGlmIChpZHggPT09IDEpIHsNCiAgICAgICAgICAgICAgICB0ZXN0UmVzdWx0ID0gKHZhbCA9PT0gMTIpOw0KICAgICAgICAgICAgfSBlbHNlIGlmIChpZHggPT09IDIpIHsNCiAgICAgICAgICAgICAgICB0ZXN0UmVzdWx0ID0gKHZhbCA9PT0gOSk7DQogICAgICAgICAgICB9IGVsc2Ugew0KICAgICAgICAgICAgICAgIHRlc3RSZXN1bHQgPSBmYWxzZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBmdW5jID0gZnVuY3Rpb24gKGEsIGIpIHsNCiAgICAgICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUuZm9yRWFjaC5jYWxsKGFyZ3VtZW50cywgY2FsbGJhY2tmbik7DQogICAgICAgIH07DQoNCiAgICAgICAgZnVuYygxMSwgMTIsIDkpOw0KDQogICAgICAgIHJldHVybiB0ZXN0UmVzdWx0Ow0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.forEach - This object is the Arguments object which implements its own property get method (number of arguments is greater than number of parameters)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-c-i-27.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTgvMTUuNC40LjE4LTctYy1pLTI4LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZvckVhY2ggLSBlbGVtZW50IGNoYW5nZWQgYnkgZ2V0dGVyIG9uIHByZXZpb3VzIGl0ZXJhdGlvbnMgaXMgb2JzZXJ2ZWQgb24gYW4gQXJyYXkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBwcmVJdGVyVmlzaWJsZSA9IGZhbHNlOw0KICAgICAgICB2YXIgYXJyID0gW107DQogICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gZmFsc2U7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBpZiAoaWR4ID09PSAxKSB7DQogICAgICAgICAgICAgICAgdGVzdFJlc3VsdCA9ICh2YWwgPT09IDkpOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgIjAiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICBwcmVJdGVyVmlzaWJsZSA9IHRydWU7DQogICAgICAgICAgICAgICAgcmV0dXJuIDExOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyLCAiMSIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIGlmIChwcmVJdGVyVmlzaWJsZSkgew0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gOTsNCiAgICAgICAgICAgICAgICB9IGVsc2Ugew0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gMTM7DQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBhcnIuZm9yRWFjaChjYWxsYmFja2ZuKTsNCg0KICAgICAgICByZXR1cm4gdGVzdFJlc3VsdDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.forEach - element changed by getter on previous iterations is observed on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-c-i-28.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTgvMTUuNC40LjE4LTctYy1pLTI5LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZvckVhY2ggLSBlbGVtZW50IGNoYW5nZWQgYnkgZ2V0dGVyIG9uIHByZXZpb3VzIGl0ZXJhdGlvbnMgaXMgb2JzZXJ2ZWQgb24gYW4gQXJyYXktbGlrZSBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBwcmVJdGVyVmlzaWJsZSA9IGZhbHNlOw0KICAgICAgICB2YXIgb2JqID0geyBsZW5ndGg6IDIgfTsNCiAgICAgICAgdmFyIHRlc3RSZXN1bHQgPSBmYWxzZTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGlmIChpZHggPT09IDEpIHsNCiAgICAgICAgICAgICAgICB0ZXN0UmVzdWx0ID0gKHZhbCA9PT0gOSk7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiMCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHByZUl0ZXJWaXNpYmxlID0gdHJ1ZTsNCiAgICAgICAgICAgICAgICByZXR1cm4gMTE7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICIxIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgaWYgKHByZUl0ZXJWaXNpYmxlKSB7DQogICAgICAgICAgICAgICAgICAgIHJldHVybiA5Ow0KICAgICAgICAgICAgICAgIH0gZWxzZSB7DQogICAgICAgICAgICAgICAgICAgIHJldHVybiAxMzsNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIEFycmF5LnByb3RvdHlwZS5mb3JFYWNoLmNhbGwob2JqLCBjYWxsYmFja2ZuKTsNCg0KICAgICAgICByZXR1cm4gdGVzdFJlc3VsdDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.forEach - element changed by getter on previous iterations is observed on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-c-i-29.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTgvMTUuNC40LjE4LTctYy1pLTMuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZm9yRWFjaCAtIGVsZW1lbnQgdG8gYmUgcmV0cmlldmVkIGlzIG93biBkYXRhIHByb3BlcnR5IHRoYXQgb3ZlcnJpZGVzIGFuIGluaGVyaXRlZCBkYXRhIHByb3BlcnR5IG9uIGFuIEFycmF5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIga1ZhbHVlID0gImFiYyI7DQogICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gZmFsc2U7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBpZiAoaWR4ID09PSA1KSB7DQogICAgICAgICAgICAgICAgdGVzdFJlc3VsdCA9ICh2YWwgPT09IGtWYWx1ZSk7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgcHJvdG8gPSB7IDU6IDEwMCB9Ow0KDQogICAgICAgIHZhciBDb24gPSBmdW5jdGlvbiAoKSB7IH07DQogICAgICAgIENvbi5wcm90b3R5cGUgPSBwcm90bzsNCg0KICAgICAgICB2YXIgY2hpbGQgPSBuZXcgQ29uKCk7DQogICAgICAgIGNoaWxkWzVdID0ga1ZhbHVlOw0KICAgICAgICBjaGlsZC5sZW5ndGggPSAxMDsNCg0KICAgICAgICBBcnJheS5wcm90b3R5cGUuZm9yRWFjaC5jYWxsKGNoaWxkLCBjYWxsYmFja2ZuKTsNCg0KICAgICAgICByZXR1cm4gdGVzdFJlc3VsdDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.forEach - element to be retrieved is own data property that overrides an inherited data property on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-c-i-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTgvMTUuNC40LjE4LTctYy1pLTMwLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZvckVhY2ggLSB1bm5oYW5kbGVkIGV4Y2VwdGlvbnMgaGFwcGVuZWQgaW4gZ2V0dGVyIHRlcm1pbmF0ZSBpdGVyYXRpb24gb24gYW4gQXJyYXktbGlrZSBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7IDA6IDExLCA1OiAxMCwgMTA6IDgsIGxlbmd0aDogMjAgfTsNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBpZiAoaWR4ID4gMSkgew0KICAgICAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICIxIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgdGhyb3cgbmV3IFJhbmdlRXJyb3IoInVuaGFuZGxlIGV4Y2VwdGlvbiBoYXBwZW5lZCBpbiBnZXR0ZXIiKTsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgIjIiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICAgICAgcmV0dXJuIDEwMDsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIEFycmF5LnByb3RvdHlwZS5mb3JFYWNoLmNhbGwob2JqLCBjYWxsYmFja2ZuKTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZXgpIHsNCiAgICAgICAgICAgIHJldHVybiAoZXggaW5zdGFuY2VvZiBSYW5nZUVycm9yKSAmJiAhYWNjZXNzZWQ7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.forEach - unnhandled exceptions happened in getter terminate iteration on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-c-i-30.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTgvMTUuNC40LjE4LTctYy1pLTMxLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZvckVhY2ggLSB1bm5oYW5kbGVkIGV4Y2VwdGlvbnMgaGFwcGVuZWQgaW4gZ2V0dGVyIHRlcm1pbmF0ZSBpdGVyYXRpb24gb24gYW4gQXJyYXktbGlrZSBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgaWYgKGlkeCA+IDEpIHsNCiAgICAgICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgYXJyID0gW107DQogICAgICAgIGFycls1XSA9IDEwOw0KICAgICAgICBhcnJbMTBdID0gMTAwOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnIsICIxIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgdGhyb3cgbmV3IFJhbmdlRXJyb3IoInVuaGFuZGxlIGV4Y2VwdGlvbiBoYXBwZW5lZCBpbiBnZXR0ZXIiKTsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgIjIiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICAgICAgcmV0dXJuIDEwMDsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIGFyci5mb3JFYWNoKGNhbGxiYWNrZm4pOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChleCkgew0KICAgICAgICAgICAgcmV0dXJuIChleCBpbnN0YW5jZW9mIFJhbmdlRXJyb3IpICYmICFhY2Nlc3NlZDsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.forEach - unnhandled exceptions happened in getter terminate iteration on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-c-i-31.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTgvMTUuNC40LjE4LTctYy1pLTQuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZm9yRWFjaCAtIGVsZW1lbnQgdG8gYmUgcmV0cmlldmVkIGlzIG93biBkYXRhIHByb3BlcnR5IHRoYXQgb3ZlcnJpZGVzIGFuIGluaGVyaXRlZCBkYXRhIHByb3BlcnR5IG9uIGFuIEFycmF5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgdGVzdFJlc3VsdCA9IGZhbHNlOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgaWYgKGlkeCA9PT0gMCkgew0KICAgICAgICAgICAgICAgIHRlc3RSZXN1bHQgPSAodmFsID09PSAxMik7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlWzBdID0gMTE7DQoNCiAgICAgICAgICAgIFsxMl0uZm9yRWFjaChjYWxsYmFja2ZuKTsNCg0KICAgICAgICAgICAgcmV0dXJuIHRlc3RSZXN1bHQ7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgQXJyYXkucHJvdG90eXBlWzBdOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.forEach - element to be retrieved is own data property that overrides an inherited data property on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-c-i-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTgvMTUuNC40LjE4LTctYy1pLTUuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZm9yRWFjaCAtIGVsZW1lbnQgdG8gYmUgcmV0cmlldmVkIGlzIG93biBkYXRhIHByb3BlcnR5IHRoYXQgb3ZlcnJpZGVzIGFuIGluaGVyaXRlZCBhY2Nlc3NvciBwcm9wZXJ0eSBvbiBhbiBBcnJheS1saWtlIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHRlc3RSZXN1bHQgPSBmYWxzZTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGlmIChpZHggPT09IDApIHsNCiAgICAgICAgICAgICAgICB0ZXN0UmVzdWx0ID0gKHZhbCA9PT0gMTEpOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIHByb3RvID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHByb3RvLCAiMCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiA1Ow0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgQ29uID0gZnVuY3Rpb24gKCkgeyB9Ow0KICAgICAgICBDb24ucHJvdG90eXBlID0gcHJvdG87DQoNCiAgICAgICAgdmFyIGNoaWxkID0gbmV3IENvbigpOw0KICAgICAgICBjaGlsZC5sZW5ndGggPSAyOw0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoY2hpbGQsICIwIiwgew0KICAgICAgICAgICAgdmFsdWU6IDExLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIEFycmF5LnByb3RvdHlwZS5mb3JFYWNoLmNhbGwoY2hpbGQsIGNhbGxiYWNrZm4pOw0KDQogICAgICAgIHJldHVybiB0ZXN0UmVzdWx0Ow0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.forEach - element to be retrieved is own data property that overrides an inherited accessor property on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-c-i-5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTgvMTUuNC40LjE4LTctYy1pLTYuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZm9yRWFjaCAtIGVsZW1lbnQgdG8gYmUgcmV0cmlldmVkIGlzIG93biBkYXRhIHByb3BlcnR5IHRoYXQgb3ZlcnJpZGVzIGFuIGluaGVyaXRlZCBhY2Nlc3NvciBwcm9wZXJ0eSBvbiBhbiBBcnJheQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHRlc3RSZXN1bHQgPSBmYWxzZTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGlmIChpZHggPT09IDApIHsNCiAgICAgICAgICAgICAgICB0ZXN0UmVzdWx0ID0gKHZhbCA9PT0gMTEpOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShBcnJheS5wcm90b3R5cGUsICIwIiwgew0KICAgICAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gOTsNCiAgICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgIFsxMV0uZm9yRWFjaChjYWxsYmFja2ZuKTsNCg0KICAgICAgICAgICAgcmV0dXJuIHRlc3RSZXN1bHQ7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgQXJyYXkucHJvdG90eXBlWzBdOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.forEach - element to be retrieved is own data property that overrides an inherited accessor property on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-c-i-6.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTgvMTUuNC40LjE4LTctYy1pLTcuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZm9yRWFjaCAtIGVsZW1lbnQgdG8gYmUgcmV0cmlldmVkIGlzIGluaGVyaXRlZCBkYXRhIHByb3BlcnR5IG9uIGFuIEFycmF5LWxpa2Ugb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIga1ZhbHVlID0gJ2FiYyc7DQogICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gZmFsc2U7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBpZiAoaWR4ID09PSA1KSB7DQogICAgICAgICAgICAgICAgdGVzdFJlc3VsdCA9ICh2YWwgPT09IGtWYWx1ZSk7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgcHJvdG8gPSB7IDU6IGtWYWx1ZSB9Ow0KDQogICAgICAgIHZhciBDb24gPSBmdW5jdGlvbiAoKSB7IH07DQogICAgICAgIENvbi5wcm90b3R5cGUgPSBwcm90bzsNCg0KICAgICAgICB2YXIgY2hpbGQgPSBuZXcgQ29uKCk7DQogICAgICAgIGNoaWxkLmxlbmd0aCA9IDEwOw0KDQogICAgICAgIEFycmF5LnByb3RvdHlwZS5mb3JFYWNoLmNhbGwoY2hpbGQsIGNhbGxiYWNrZm4pOw0KDQogICAgICAgIHJldHVybiB0ZXN0UmVzdWx0Ow0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.forEach - element to be retrieved is inherited data property on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-c-i-7.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTgvMTUuNC40LjE4LTctYy1pLTguanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZm9yRWFjaCAtIGVsZW1lbnQgdG8gYmUgcmV0cmlldmVkIGlzIGluaGVyaXRlZCBkYXRhIHByb3BlcnR5IG9uIGFuIEFycmF5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgdGVzdFJlc3VsdCA9IGZhbHNlOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgaWYgKGlkeCA9PT0gMSkgew0KICAgICAgICAgICAgICAgIHRlc3RSZXN1bHQgPSAodmFsID09PSAxMyk7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlWzFdID0gMTM7DQoNCiAgICAgICAgICAgIFssICwgLCBdLmZvckVhY2goY2FsbGJhY2tmbik7DQoNCiAgICAgICAgICAgIHJldHVybiB0ZXN0UmVzdWx0Ow0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIEFycmF5LnByb3RvdHlwZVsxXTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.forEach - element to be retrieved is inherited data property on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-c-i-8.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTgvMTUuNC40LjE4LTctYy1pLTkuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZm9yRWFjaCAtIGVsZW1lbnQgdG8gYmUgcmV0cmlldmVkIGlzIG93biBhY2Nlc3NvciBwcm9wZXJ0eSBvbiBhbiBBcnJheS1saWtlIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHRlc3RSZXN1bHQgPSBmYWxzZTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGlmIChpZHggPT09IDApIHsNCiAgICAgICAgICAgICAgICB0ZXN0UmVzdWx0ID0gKHZhbCA9PT0gMTEpOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgMTA6IDEwLCBsZW5ndGg6IDIwIH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgIjAiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gMTE7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIEFycmF5LnByb3RvdHlwZS5mb3JFYWNoLmNhbGwob2JqLCBjYWxsYmFja2ZuKTsNCg0KICAgICAgICByZXR1cm4gdGVzdFJlc3VsdDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.forEach - element to be retrieved is own accessor property on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-c-i-9.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTgvMTUuNC40LjE4LTctYy1paS0xLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZvckVhY2ggLSBjYWxsYmFja2ZuIGNhbGxlZCB3aXRoIGNvcnJlY3QgcGFyYW1ldGVycw0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7IA0KIA0KICB2YXIgYlBhciA9IHRydWU7DQogIHZhciBiQ2FsbGVkID0gZmFsc2U7DQogIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikNCiAgew0KICAgIGJDYWxsZWQgPSB0cnVlOw0KICAgIGlmKG9ialtpZHhdICE9PSB2YWwpDQogICAgICBiUGFyID0gZmFsc2U7DQogIH0NCg0KICB2YXIgYXJyID0gWzAsMSx0cnVlLG51bGwsbmV3IE9iamVjdCgpLCJmaXZlIl07DQogIGFycls5OTk5OTldID0gLTYuNjsNCiAgYXJyLmZvckVhY2goY2FsbGJhY2tmbik7DQogIGlmKGJDYWxsZWQgPT09IHRydWUgJiYgYlBhciA9PT0gdHJ1ZSkNCiAgICByZXR1cm4gdHJ1ZTsNCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.forEach - callbackfn called with correct parameters","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-c-ii-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTgvMTUuNC40LjE4LTctYy1paS0xMC5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5mb3JFYWNoIC0gY2FsbGJhY2tmbiBpcyBjYWxsZWQgd2l0aCAxIGZvcm1hbCBwYXJhbWV0ZXINCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciByZXN1bHQgPSBmYWxzZTsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwpIHsNCiAgICAgICAgICAgIHJlc3VsdCA9ICh2YWwgPiAxMCk7DQogICAgICAgIH0NCg0KICAgICAgICBbMTFdLmZvckVhY2goY2FsbGJhY2tmbik7IA0KICAgICAgICByZXR1cm4gcmVzdWx0Ow0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.forEach - callbackfn is called with 1 formal parameter","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-c-ii-10.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTgvMTUuNC40LjE4LTctYy1paS0xMS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5mb3JFYWNoIC0gY2FsbGJhY2tmbiBpcyBjYWxsZWQgd2l0aCAyIGZvcm1hbCBwYXJhbWV0ZXINCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciByZXN1bHQgPSBmYWxzZTsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCkgew0KICAgICAgICAgICAgcmVzdWx0ID0gKHZhbCA+IDEwICYmIGFyZ3VtZW50c1syXVtpZHhdID09PSB2YWwpOw0KICAgICAgICB9DQoNCiAgICAgICAgWzExXS5mb3JFYWNoKGNhbGxiYWNrZm4pOyANCiAgICAgICAgcmV0dXJuIHJlc3VsdDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.forEach - callbackfn is called with 2 formal parameter","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-c-ii-11.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTgvMTUuNC40LjE4LTctYy1paS0xMi5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5mb3JFYWNoIC0gY2FsbGJhY2tmbiBpcyBjYWxsZWQgd2l0aCAzIGZvcm1hbCBwYXJhbWV0ZXINCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciByZXN1bHQgPSBmYWxzZTsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXN1bHQgPSAodmFsID4gMTAgJiYgb2JqW2lkeF0gPT09IHZhbCk7DQogICAgICAgIH0NCg0KICAgICAgICBbMTFdLmZvckVhY2goY2FsbGJhY2tmbik7DQogICAgICAgIHJldHVybiByZXN1bHQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.forEach - callbackfn is called with 3 formal parameter","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-c-ii-12.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTgvMTUuNC40LjE4LTctYy1paS0xMy5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5mb3JFYWNoIC0gY2FsbGJhY2tmbiB0aGF0IHVzZXMgYXJndW1lbnRzDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgcmVzdWx0ID0gZmFsc2U7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4oKSB7DQogICAgICAgICAgICByZXN1bHQgPSAoYXJndW1lbnRzWzJdW2FyZ3VtZW50c1sxXV0gPT09IGFyZ3VtZW50c1swXSk7DQogICAgICAgIH0NCg0KICAgICAgICBbMTFdLmZvckVhY2goY2FsbGJhY2tmbik7DQogICAgICAgIHJldHVybiByZXN1bHQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.forEach - callbackfn that uses arguments","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-c-ii-13.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTgvMTUuNC40LjE4LTctYy1paS0xNi5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5mb3JFYWNoIC0gJ3RoaXMnIG9mICdjYWxsYmFja2ZuJyBpcyBhIEJvb2xlYW4gb2JqZWN0IHdoZW4gVCBpcyBub3QgYW4gb2JqZWN0IChUIGlzIGEgYm9vbGVhbikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciByZXN1bHQgPSBmYWxzZTsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXN1bHQgPSAodGhpcy52YWx1ZU9mKCkgIT09IGZhbHNlKTsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSB7IDA6IDExLCBsZW5ndGg6IDIgfTsNCg0KICAgICAgICBBcnJheS5wcm90b3R5cGUuZm9yRWFjaC5jYWxsKG9iaiwgY2FsbGJhY2tmbiwgZmFsc2UpOw0KICAgICAgICByZXR1cm4gIXJlc3VsdDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.forEach - 'this' of 'callbackfn' is a Boolean object when T is not an object (T is a boolean)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-c-ii-16.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTgvMTUuNC40LjE4LTctYy1paS0xNy5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5mb3JFYWNoIC0gJ3RoaXMnIG9mICdjYWxsYmFja2ZuJyBpcyBhIE51bWJlciBvYmplY3Qgd2hlbiBUIGlzIG5vdCBhbiBvYmplY3QgKFQgaXMgYSBudW1iZXIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgcmVzdWx0ID0gZmFsc2U7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG8pIHsNCiAgICAgICAgICAgIHJlc3VsdCA9ICg1ID09PSB0aGlzLnZhbHVlT2YoKSk7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0geyAwOiAxMSwgbGVuZ3RoOiAyIH07DQoNCiAgICAgICAgQXJyYXkucHJvdG90eXBlLmZvckVhY2guY2FsbChvYmosIGNhbGxiYWNrZm4sIDUpOw0KICAgICAgICByZXR1cm4gcmVzdWx0Ow0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.forEach - 'this' of 'callbackfn' is a Number object when T is not an object (T is a number)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-c-ii-17.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTgvMTUuNC40LjE4LTctYy1paS0xOC5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5mb3JFYWNoIC0gJ3RoaXMnIG9mICdjYWxsYmFja2ZuJyBpcyBhbiBTdHJpbmcgb2JqZWN0IHdoZW4gVCBpcyBub3QgYW4gb2JqZWN0IChUIGlzIGEgc3RyaW5nKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHJlc3VsdCA9IGZhbHNlOw0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJlc3VsdCA9ICgnaGVsbG8nID09PSB0aGlzLnZhbHVlT2YoKSk7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0geyAwOiAxMSwgbGVuZ3RoOiAyIH07DQoNCiAgICAgICAgQXJyYXkucHJvdG90eXBlLmZvckVhY2guY2FsbChvYmosIGNhbGxiYWNrZm4sICJoZWxsbyIpOw0KICAgICAgICByZXR1cm4gcmVzdWx0Ow0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.forEach - 'this' of 'callbackfn' is an String object when T is not an object (T is a string)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-c-ii-18.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTgvMTUuNC40LjE4LTctYy1paS0xOS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5mb3JFYWNoIC0gbm9uLWluZGV4ZWQgcHJvcGVydGllcyBhcmUgbm90IGNhbGxlZA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQogICAgICAgIHZhciByZXN1bHQgPSB0cnVlOw0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIGlmICh2YWwgPT09IDgpIHsNCiAgICAgICAgICAgICAgICByZXN1bHQgPSBmYWxzZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSB7IDA6IDExLCAxMDogMTIsIG5vbl9pbmRleF9wcm9wZXJ0eTogOCwgbGVuZ3RoOiAyMCB9Ow0KDQogICAgICAgIEFycmF5LnByb3RvdHlwZS5mb3JFYWNoLmNhbGwob2JqLCBjYWxsYmFja2ZuKTsNCiAgICAgICAgcmV0dXJuIHJlc3VsdCAmJiBhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.forEach - non-indexed properties are not called","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-c-ii-19.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTgvMTUuNC40LjE4LTctYy1paS0yLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZvckVhY2ggLSBjYWxsYmFja2ZuIHRha2VzIDMgYXJndW1lbnRzDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsgDQogDQogIHZhciBwYXJDbnQgPSAzOw0KICB2YXIgYkNhbGxlZCA9IGZhbHNlDQogIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikNCiAgeyANCiAgICBiQ2FsbGVkID0gdHJ1ZTsNCiAgICBpZihhcmd1bWVudHMubGVuZ3RoICE9PSAzKQ0KICAgICAgcGFyQ250ID0gYXJndW1lbnRzLmxlbmd0aDsgICAvL3ZlcmlmeSBpZiBjYWxsYmFja2ZuIHdhcyBjYWxsZWQgd2l0aCAzIHBhcmFtZXRlcnMNCiAgfQ0KDQogIHZhciBhcnIgPSBbMCwxLDIsMyw0LDUsNiw3LDgsOV07DQogIGFyci5mb3JFYWNoKGNhbGxiYWNrZm4pOw0KICBpZihiQ2FsbGVkID09PSB0cnVlICYmIHBhckNudCA9PT0gMykNCiAgICByZXR1cm4gdHJ1ZTsNCg0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.forEach - callbackfn takes 3 arguments","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-c-ii-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTgvMTUuNC40LjE4LTctYy1paS0yMC5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5mb3JFYWNoIC0gY2FsbGJhY2tmbiBjYWxsZWQgd2l0aCBjb3JyZWN0IHBhcmFtZXRlcnMgKHRoaXNBcmcgaXMgY29ycmVjdCkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciByZXN1bHQgPSBmYWxzZTsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXN1bHQgPSAoMTAgPT09IHRoaXMudGhyZXNob2xkKTsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciB0aGlzQXJnID0geyB0aHJlc2hvbGQ6IDEwIH07DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgMDogMTEsIGxlbmd0aDogMSB9Ow0KDQogICAgICAgIEFycmF5LnByb3RvdHlwZS5mb3JFYWNoLmNhbGwob2JqLCBjYWxsYmFja2ZuLCB0aGlzQXJnKTsNCiAgICAgICAgcmV0dXJuIHJlc3VsdDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.forEach - callbackfn called with correct parameters (thisArg is correct)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-c-ii-20.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTgvMTUuNC40LjE4LTctYy1paS0yMS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5mb3JFYWNoIC0gY2FsbGJhY2tmbiBjYWxsZWQgd2l0aCBjb3JyZWN0IHBhcmFtZXRlcnMgKGtWYWx1ZSBpcyBjb3JyZWN0KQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHJlc3VsdE9uZSA9IGZhbHNlOw0KICAgICAgICB2YXIgcmVzdWx0VHdvID0gZmFsc2U7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBpZiAoaWR4ID09PSAwKSB7DQogICAgICAgICAgICAgICAgcmVzdWx0T25lID0gKHZhbCA9PT0gMTEpOw0KICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICBpZiAoaWR4ID09PSAxKSB7DQogICAgICAgICAgICAgICAgcmVzdWx0VHdvID0gKHZhbCA9PT0gMTIpOw0KICAgICAgICAgICAgfQ0KDQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0geyAwOiAxMSwgMTogMTIsIGxlbmd0aDogMiB9Ow0KDQogICAgICAgIEFycmF5LnByb3RvdHlwZS5mb3JFYWNoLmNhbGwob2JqLCBjYWxsYmFja2ZuKTsNCiAgICAgICAgcmV0dXJuIHJlc3VsdE9uZSAmJiByZXN1bHRUd287DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.forEach - callbackfn called with correct parameters (kValue is correct)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-c-ii-21.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTgvMTUuNC40LjE4LTctYy1paS0yMi5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5mb3JFYWNoIC0gY2FsbGJhY2tmbiBjYWxsZWQgd2l0aCBjb3JyZWN0IHBhcmFtZXRlcnMgKHRoZSBpbmRleCBrIGlzIGNvcnJlY3QpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgcmVzdWx0T25lID0gZmFsc2U7DQogICAgICAgIHZhciByZXN1bHRUd28gPSBmYWxzZTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGlmICh2YWwgPT09IDExKSB7DQogICAgICAgICAgICAgICAgcmVzdWx0T25lID0gKGlkeCA9PT0gMCk7DQogICAgICAgICAgICB9DQoNCiAgICAgICAgICAgIGlmICh2YWwgPT09IDEyKSB7DQogICAgICAgICAgICAgICAgcmVzdWx0VHdvID0gKGlkeCA9PT0gMSk7DQogICAgICAgICAgICB9DQoNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSB7IDA6IDExLCAxOiAxMiwgbGVuZ3RoOiAyIH07DQoNCiAgICAgICAgQXJyYXkucHJvdG90eXBlLmZvckVhY2guY2FsbChvYmosIGNhbGxiYWNrZm4pOw0KICAgICAgICByZXR1cm4gcmVzdWx0T25lICYmIHJlc3VsdFR3bzsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.forEach - callbackfn called with correct parameters (the index k is correct)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-c-ii-22.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTgvMTUuNC40LjE4LTctYy1paS0yMy5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5mb3JFYWNoIC0gY2FsbGJhY2tmbiBjYWxsZWQgd2l0aCBjb3JyZWN0IHBhcmFtZXRlcnMgKHRoaXMgb2JqZWN0IE8gaXMgY29ycmVjdCkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciByZXN1bHQgPSBmYWxzZTsNCiAgICAgICAgdmFyIG9iaiA9IHsgMDogMTEsIGxlbmd0aDogMiB9Ow0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG8pIHsNCiAgICAgICAgICAgIHJlc3VsdCA9IChvYmogPT09IG8pOw0KICAgICAgICB9DQoNCiAgICAgICAgQXJyYXkucHJvdG90eXBlLmZvckVhY2guY2FsbChvYmosIGNhbGxiYWNrZm4pOw0KICAgICAgICByZXR1cm4gcmVzdWx0Ow0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.forEach - callbackfn called with correct parameters (this object O is correct)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-c-ii-23.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTgvMTUuNC40LjE4LTctYy1paS00LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZvckVhY2ggLSBrIHZhbHVlcyBhcmUgcGFzc2VkIGluIGFzY2VuZGluZyBudW1lcmljIG9yZGVyDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYXJyID0gWzAsIDEsIDIsIDMsIDQsIDVdOw0KICAgICAgICB2YXIgbGFzdElkeCA9IDA7DQogICAgICAgIHZhciBjYWxsZWQgPSAwOw0KICAgICAgICB2YXIgcmVzdWx0ID0gdHJ1ZTsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgbykgew0KICAgICAgICAgICAgY2FsbGVkKys7DQogICAgICAgICAgICBpZiAobGFzdElkeCAhPT0gaWR4KSB7DQogICAgICAgICAgICAgICAgcmVzdWx0ID0gZmFsc2U7DQogICAgICAgICAgICB9IGVsc2Ugew0KICAgICAgICAgICAgICAgIGxhc3RJZHgrKzsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIGFyci5mb3JFYWNoKGNhbGxiYWNrZm4pOw0KICAgICAgICByZXR1cm4gcmVzdWx0ICYmIGFyci5sZW5ndGggPT09IGNhbGxlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.forEach - k values are passed in ascending numeric order","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-c-ii-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTgvMTUuNC40LjE4LTctYy1paS01LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZvckVhY2ggLSBrIHZhbHVlcyBhcmUgYWNjZXNzZWQgZHVyaW5nIGVhY2ggaXRlcmF0aW9uIGFuZCBub3QgcHJpb3IgdG8gc3RhcnRpbmcgdGhlIGxvb3Agb24gYW4gQXJyYXkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciByZXN1bHQgPSB0cnVlOw0KICAgICAgICB2YXIga0luZGV4ID0gW107DQoNCiAgICAgICAgLy9CeSBiZWxvdyB3YXksIHdlIGNvdWxkIHZlcmlmeSB0aGF0IGsgd291bGQgYmUgc2V0dGVkIGFzIDAsIDEsIC4uLiwgbGVuZ3RoIC0gMSBpbiBvcmRlciwgYW5kIGVhY2ggdmFsdWUgd2lsbCBiZSBzZXR0ZWQgb25lIHRpbWUuDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgLy9FYWNoIHBvc2l0aW9uIHNob3VsZCBiZSB2aXNpdGVkIG9uZSB0aW1lLCB3aGljaCBtZWFucyBrIGlzIGFjY2Vzc2VkIG9uZSB0aW1lIGR1cmluZyBpdGVyYXRpb25zLg0KICAgICAgICAgICAgaWYgKHR5cGVvZiBrSW5kZXhbaWR4XSA9PT0gInVuZGVmaW5lZCIpIHsNCiAgICAgICAgICAgICAgICAvL3doZW4gY3VycmVudCBwb3NpdGlvbiBpcyB2aXNpdGVkLCBpdHMgcHJldmlvdXMgaW5kZXggc2hvdWxkIGhhcyBiZWVuIHZpc2l0ZWQuDQogICAgICAgICAgICAgICAgaWYgKGlkeCAhPT0gMCAmJiB0eXBlb2Yga0luZGV4W2lkeCAtIDFdID09PSAidW5kZWZpbmVkIikgew0KICAgICAgICAgICAgICAgICAgICByZXN1bHQgPSBmYWxzZTsNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAga0luZGV4W2lkeF0gPSAxOw0KICAgICAgICAgICAgfSBlbHNlIHsNCiAgICAgICAgICAgICAgICByZXN1bHQgPSBmYWxzZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIFsxMSwgMTIsIDEzLCAxNF0uZm9yRWFjaChjYWxsYmFja2ZuLCB1bmRlZmluZWQpOw0KDQogICAgICAgIHJldHVybiByZXN1bHQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.forEach - k values are accessed during each iteration and not prior to starting the loop on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-c-ii-5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTgvMTUuNC40LjE4LTctYy1paS02LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZvckVhY2ggLSBhcmd1bWVudHMgdG8gY2FsbGJhY2tmbiBhcmUgc2VsZiBjb25zaXN0ZW50DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgcmVzdWx0ID0gZmFsc2U7DQogICAgICAgIHZhciBvYmogPSB7IDA6IDExLCBsZW5ndGg6IDEgfTsNCiAgICAgICAgdmFyIHRoaXNBcmcgPSB7fTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKCkgew0KICAgICAgICAgICAgcmVzdWx0ID0gKHRoaXMgPT09IHRoaXNBcmcgJiYNCiAgICAgICAgICAgICAgICBhcmd1bWVudHNbMF0gPT09IDExICYmDQogICAgICAgICAgICAgICAgYXJndW1lbnRzWzFdID09PSAwICYmDQogICAgICAgICAgICAgICAgYXJndW1lbnRzWzJdID09PSBvYmopOw0KICAgICAgICB9DQoNCiAgICAgICAgQXJyYXkucHJvdG90eXBlLmZvckVhY2guY2FsbChvYmosIGNhbGxiYWNrZm4sIHRoaXNBcmcpOw0KICAgICAgICByZXR1cm4gcmVzdWx0Ow0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.forEach - arguments to callbackfn are self consistent","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-c-ii-6.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTgvMTUuNC40LjE4LTctYy1paS03LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZvckVhY2ggLSB1bmhhbmRsZWQgZXhjZXB0aW9ucyBoYXBwZW5lZCBpbiBjYWxsYmFja2ZuIHRlcm1pbmF0ZSBpdGVyYXRpb24NCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgaWYgKGlkeCA+IDApIHsNCiAgICAgICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgICAgICBpZiAoaWR4ID09PSAwKSB7DQogICAgICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCJFeGNlcHRpb24gb2NjdXJyZWQgaW4gY2FsbGJhY2tmbiIpOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgMDogMTEsIDQ6IDEwLCAxMDogOCwgbGVuZ3RoOiAyMCB9Ow0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBBcnJheS5wcm90b3R5cGUuZm9yRWFjaC5jYWxsKG9iaiwgY2FsbGJhY2tmbik7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGV4KSB7DQogICAgICAgICAgICByZXR1cm4gZXggaW5zdGFuY2VvZiBFcnJvciAmJiAhYWNjZXNzZWQ7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.forEach - unhandled exceptions happened in callbackfn terminate iteration","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-c-ii-7.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTgvMTUuNC40LjE4LTctYy1paS04LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZvckVhY2ggLSBlbGVtZW50IGNoYW5nZWQgYnkgY2FsbGJhY2tmbiBvbiBwcmV2aW91cyBpdGVyYXRpb25zIGlzIG9ic2VydmVkDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgcmVzdWx0ID0gZmFsc2U7DQogICAgICAgIHZhciBvYmogPSB7IDA6IDExLCAxOiAxMiwgbGVuZ3RoOiAyIH07DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgbykgew0KICAgICAgICAgICAgaWYgKGlkeCA9PT0gMCkgew0KICAgICAgICAgICAgICAgIG9ialtpZHggKyAxXSA9IDg7DQogICAgICAgICAgICB9DQogICAgICAgICAgICANCiAgICAgICAgICAgIGlmIChpZHggPT09IDEpIHsNCiAgICAgICAgICAgICAgICByZXN1bHQgPSAodmFsID09PSA4KTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIEFycmF5LnByb3RvdHlwZS5mb3JFYWNoLmNhbGwob2JqLCBjYWxsYmFja2ZuKTsNCiAgICAgICAgcmV0dXJuIHJlc3VsdDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.forEach - element changed by callbackfn on previous iterations is observed","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-c-ii-8.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTgvMTUuNC40LjE4LTctYy1paS05LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZvckVhY2ggLSBjYWxsYmFja2ZuIGlzIGNhbGxlZCB3aXRoIDAgZm9ybWFsIHBhcmFtZXRlcg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGNhbGxlZCA9IDA7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4oKSB7DQogICAgICAgICAgICBjYWxsZWQrKzsNCiAgICAgICAgfQ0KDQogICAgICAgIFsxMSwgMTJdLmZvckVhY2goY2FsbGJhY2tmbik7DQogICAgICAgIHJldHVybiAyID09PSBjYWxsZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.forEach - callbackfn is called with 0 formal parameter","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-7-c-ii-9.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTgvMTUuNC40LjE4LTgtMS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5mb3JFYWNoIGRvZXNuJ3QgY2FsbCBjYWxsYmFja2ZuIGlmICdsZW5ndGgnIGlzIDAgKGVtcHR5IGFycmF5KQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBjYWxsQ250ID0gMDsNCiAgZnVuY3Rpb24gY2IoKXtjYWxsQ250Kyt9DQogIHZhciBpID0gW10uZm9yRWFjaChjYik7DQogIGlmIChjYWxsQ250ID09PSAwKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.forEach doesn't call callbackfn if 'length' is 0 (empty array)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-8-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTgvMTUuNC40LjE4LTgtMTAuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZm9yRWFjaCAtIHN1YmNsYXNzZWQgYXJyYXkgd2hlbiBsZW5ndGggaXMgcmVkdWNlZA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIGZvby5wcm90b3R5cGUgPSBuZXcgQXJyYXkoMSwgMiwgMyk7DQogIGZ1bmN0aW9uIGZvbygpIHt9DQogIHZhciBmID0gbmV3IGZvbygpOw0KICBmLmxlbmd0aCA9IDE7DQogIA0KICB2YXIgY2FsbENudCA9IDA7DQogIGZ1bmN0aW9uIGNiKCl7Y2FsbENudCsrfQ0KICB2YXIgaSA9IGYuZm9yRWFjaChjYik7ICANCiAgaWYgKGNhbGxDbnQgPT09IDEpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.forEach - subclassed array when length is reduced","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-8-10.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTgvMTUuNC40LjE4LTgtMTEuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZm9yRWFjaCBkb2Vzbid0IG11dGF0ZSB0aGUgYXJyYXkgb24gd2hpY2ggaXQgaXMgY2FsbGVkIG9uDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopDQogIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KICB2YXIgYXJyID0gWzEsMiwzLDQsNV07DQogIGFyci5mb3JFYWNoKGNhbGxiYWNrZm4pOw0KICBpZihhcnJbMF0gPT09IDEgJiYNCiAgICAgYXJyWzFdID09PSAyICYmDQogICAgIGFyclsyXSA9PT0gMyAmJg0KICAgICBhcnJbM10gPT09IDQgJiYNCiAgICAgYXJyWzRdID09PSA1KQ0KICB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCg0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.forEach doesn't mutate the array on which it is called on","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-8-11.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTgvMTUuNC40LjE4LTgtMTIuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZm9yRWFjaCBkb2Vzbid0IHZpc2l0IGV4cGFuZG9zDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICB2YXIgY2FsbENudCA9IDA7DQogIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikNCiAgew0KICAgIGNhbGxDbnQrKzsNCiAgfQ0KICB2YXIgYXJyID0gWzEsMiwzLDQsNV07DQogIGFyclsiaSJdID0gMTA7DQogIGFyclt0cnVlXSA9IDExOw0KDQogIGFyci5mb3JFYWNoKGNhbGxiYWNrZm4pOw0KICBpZihjYWxsQ250ID09IDUpDQogIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KDQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.forEach doesn't visit expandos","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-8-12.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTgvMTUuNC40LjE4LTgtMTMuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZm9yRWFjaCAtIHVuZGVmaW5lZCB3aWxsIGJlIHJldHVybmVkIHdoZW4gJ2xlbicgaXMgMA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIHJlc3VsdCA9IFtdLmZvckVhY2goY2FsbGJhY2tmbik7DQogICAgICAgIHJldHVybiB0eXBlb2YgcmVzdWx0ID09PSAidW5kZWZpbmVkIiAmJiAhYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.forEach - undefined will be returned when 'len' is 0","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-8-13.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTgvMTUuNC40LjE4LTgtMi5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5mb3JFYWNoIGRvZXNuJ3QgY2FsbCBjYWxsYmFja2ZuIGlmICdsZW5ndGgnIGlzIDAgKHN1YmNsYXNzZWQgQXJyYXksIGxlbmd0aCBvdmVycmlkZGVuIHRvIG51bGwgKHR5cGUgY29udmVyc2lvbikpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgZm9vLnByb3RvdHlwZSA9IG5ldyBBcnJheSgxLCAyLCAzKTsNCiAgZnVuY3Rpb24gZm9vKCkge30NCiAgdmFyIGYgPSBuZXcgZm9vKCk7DQogIGYubGVuZ3RoID0gbnVsbDsNCiAgDQogIHZhciBjYWxsQ250ID0gMDsNCiAgZnVuY3Rpb24gY2IoKXtjYWxsQ250Kyt9DQogIHZhciBpID0gZi5mb3JFYWNoKGNiKTsgIA0KICBpZiAoY2FsbENudCA9PT0gMCkgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.forEach doesn't call callbackfn if 'length' is 0 (subclassed Array, length overridden to null (type conversion))","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-8-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTgvMTUuNC40LjE4LTgtMy5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5mb3JFYWNoIGRvZXNuJ3QgY2FsbCBjYWxsYmFja2ZuIGlmICdsZW5ndGgnIGlzIDAgKHN1YmNsYXNzZWQgQXJyYXksIGxlbmd0aCBvdmVycmlkZGVuIHRvIGZhbHNlICh0eXBlIGNvbnZlcnNpb24pKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIGZvby5wcm90b3R5cGUgPSBuZXcgQXJyYXkoMSwgMiwgMyk7DQogIGZ1bmN0aW9uIGZvbygpIHt9DQogIHZhciBmID0gbmV3IGZvbygpOw0KICBmLmxlbmd0aCA9IGZhbHNlOw0KDQogIHZhciBjYWxsQ250ID0gMDsNCiAgZnVuY3Rpb24gY2IoKXtjYWxsQ250Kyt9DQogIHZhciBpID0gZi5mb3JFYWNoKGNiKTsgIA0KICBpZiAoY2FsbENudCA9PT0gMCkgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.forEach doesn't call callbackfn if 'length' is 0 (subclassed Array, length overridden to false (type conversion))","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-8-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTgvMTUuNC40LjE4LTgtNC5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5mb3JFYWNoIGRvZXNuJ3QgY2FsbCBjYWxsYmFja2ZuIGlmICdsZW5ndGgnIGlzIDAgKHN1YmNsYXNzZWQgQXJyYXksIGxlbmd0aCBvdmVycmlkZGVuIHRvIDAgKHR5cGUgY29udmVyc2lvbikpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgZm9vLnByb3RvdHlwZSA9IG5ldyBBcnJheSgxLCAyLCAzKTsNCiAgZnVuY3Rpb24gZm9vKCkge30NCiAgdmFyIGYgPSBuZXcgZm9vKCk7DQogIGYubGVuZ3RoID0gMDsNCg0KICB2YXIgY2FsbENudCA9IDA7DQogIGZ1bmN0aW9uIGNiKCl7Y2FsbENudCsrfQ0KICB2YXIgaSA9IGYuZm9yRWFjaChjYik7ICANCiAgaWYgKGNhbGxDbnQgPT09IDApIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.forEach doesn't call callbackfn if 'length' is 0 (subclassed Array, length overridden to 0 (type conversion))","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-8-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTgvMTUuNC40LjE4LTgtNS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5mb3JFYWNoIGRvZXNuJ3QgY2FsbCBjYWxsYmFja2ZuIGlmICdsZW5ndGgnIGlzIDAgKHN1YmNsYXNzZWQgQXJyYXksIGxlbmd0aCBvdmVycmlkZGVuIHRvICcwJyAodHlwZSBjb252ZXJzaW9uKSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICBmb28ucHJvdG90eXBlID0gbmV3IEFycmF5KDEsIDIsIDMpOw0KICBmdW5jdGlvbiBmb28oKSB7fQ0KICB2YXIgZiA9IG5ldyBmb28oKTsNCiAgZi5sZW5ndGggPSAnMCc7DQogIA0KICB2YXIgY2FsbENudCA9IDA7DQogIGZ1bmN0aW9uIGNiKCl7Y2FsbENudCsrfQ0KICB2YXIgaSA9IGYuZm9yRWFjaChjYik7ICANCiAgaWYgKGNhbGxDbnQgPT09IDApIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.forEach doesn't call callbackfn if 'length' is 0 (subclassed Array, length overridden to '0' (type conversion))","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-8-5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTgvMTUuNC40LjE4LTgtNi5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5mb3JFYWNoIGRvZXNuJ3QgY2FsbCBjYWxsYmFja2ZuIGlmICdsZW5ndGgnIGlzIDAgKHN1YmNsYXNzZWQgQXJyYXksIGxlbmd0aCBvdmVycmlkZGVuIHdpdGggb2JqIHdpdGggdmFsdWVPZikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICBmb28ucHJvdG90eXBlID0gbmV3IEFycmF5KDEsIDIsIDMpOw0KICBmdW5jdGlvbiBmb28oKSB7fQ0KICB2YXIgZiA9IG5ldyBmb28oKTsNCiAgDQogIHZhciBvID0geyB2YWx1ZU9mOiBmdW5jdGlvbiAoKSB7IHJldHVybiAwO319Ow0KICBmLmxlbmd0aCA9IG87DQogIA0KICB2YXIgY2FsbENudCA9IDA7DQogIGZ1bmN0aW9uIGNiKCl7Y2FsbENudCsrfQ0KICB2YXIgaSA9IGYuZm9yRWFjaChjYik7ICANCiAgaWYgKGNhbGxDbnQgPT09IDApIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.forEach doesn't call callbackfn if 'length' is 0 (subclassed Array, length overridden with obj with valueOf)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-8-6.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTgvMTUuNC40LjE4LTgtNy5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5mb3JFYWNoIGRvZXNuJ3QgY2FsbCBjYWxsYmFja2ZuIGlmICdsZW5ndGgnIGlzIDAgKHN1YmNsYXNzZWQgQXJyYXksIGxlbmd0aCBvdmVycmlkZGVuIHdpdGggb2JqIHcvbyB2YWx1ZU9mICh0b1N0cmluZykpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgZm9vLnByb3RvdHlwZSA9IG5ldyBBcnJheSgxLCAyLCAzKTsNCiAgZnVuY3Rpb24gZm9vKCkge30NCiAgdmFyIGYgPSBuZXcgZm9vKCk7DQogIA0KICB2YXIgbyA9IHsgdG9TdHJpbmc6IGZ1bmN0aW9uICgpIHsgcmV0dXJuICcwJzt9fTsNCiAgZi5sZW5ndGggPSBvOw0KICANCiAgLy8gb2JqZWN0cyBpbmhlcml0IHRoZSBkZWZhdWx0IHZhbHVlT2YgbWV0aG9kIG9mIHRoZSBPYmplY3Qgb2JqZWN0Ow0KICAvLyB0aGF0IHNpbXBseSByZXR1cm5zIHRoZSBpdHNlbGYuIFNpbmNlIHRoZSBkZWZhdWx0IHZhbHVlT2YoKSBtZXRob2QNCiAgLy8gZG9lcyBub3QgcmV0dXJuIGEgcHJpbWl0aXZlIHZhbHVlLCBFUyBuZXh0IHRyaWVzIHRvIGNvbnZlcnQgdGhlIG9iamVjdA0KICAvLyB0byBhIG51bWJlciBieSBjYWxsaW5nIGl0cyB0b1N0cmluZygpIG1ldGhvZCBhbmQgY29udmVydGluZyB0aGUNCiAgLy8gcmVzdWx0aW5nIHN0cmluZyB0byBhIG51bWJlci4NCiAgdmFyIGNhbGxDbnQgPSAwOw0KICBmdW5jdGlvbiBjYigpe2NhbGxDbnQrK30NCiAgdmFyIGkgPSBmLmZvckVhY2goY2IpOyAgDQogIGlmIChjYWxsQ250ID09PSAwKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.forEach doesn't call callbackfn if 'length' is 0 (subclassed Array, length overridden with obj w/o valueOf (toString))","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-8-7.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTgvMTUuNC40LjE4LTgtOC5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5mb3JFYWNoIGRvZXNuJ3QgY2FsbCBjYWxsYmFja2ZuIGlmICdsZW5ndGgnIGlzIDAgKHN1YmNsYXNzZWQgQXJyYXksIGxlbmd0aCBvdmVycmlkZGVuIHdpdGggW10NCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICBmb28ucHJvdG90eXBlID0gbmV3IEFycmF5KDEsIDIsIDMpOw0KICBmdW5jdGlvbiBmb28oKSB7fQ0KICB2YXIgZiA9IG5ldyBmb28oKTsNCiAgDQogIGYubGVuZ3RoID0gW107DQogIA0KICAvLyBvYmplY3RzIGluaGVyaXQgdGhlIGRlZmF1bHQgdmFsdWVPZiBtZXRob2Qgb2YgdGhlIE9iamVjdCBvYmplY3Q7DQogIC8vIHRoYXQgc2ltcGx5IHJldHVybnMgdGhlIGl0c2VsZi4gU2luY2UgdGhlIGRlZmF1bHQgdmFsdWVPZigpIG1ldGhvZA0KICAvLyBkb2VzIG5vdCByZXR1cm4gYSBwcmltaXRpdmUgdmFsdWUsIEVTIG5leHQgdHJpZXMgdG8gY29udmVydCB0aGUgb2JqZWN0DQogIC8vIHRvIGEgbnVtYmVyIGJ5IGNhbGxpbmcgaXRzIHRvU3RyaW5nKCkgbWV0aG9kIGFuZCBjb252ZXJ0aW5nIHRoZQ0KICAvLyByZXN1bHRpbmcgc3RyaW5nIHRvIGEgbnVtYmVyLg0KICAvLw0KICAvLyBUaGUgdG9TdHJpbmcoICkgbWV0aG9kIG9uIEFycmF5IGNvbnZlcnRzIHRoZSBhcnJheSBlbGVtZW50cyB0byBzdHJpbmdzLA0KICAvLyB0aGVuIHJldHVybnMgdGhlIHJlc3VsdCBvZiBjb25jYXRlbmF0aW5nIHRoZXNlIHN0cmluZ3MsIHdpdGggY29tbWFzIGluDQogIC8vIGJldHdlZW4uIEFuIGFycmF5IHdpdGggbm8gZWxlbWVudHMgY29udmVydHMgdG8gdGhlIGVtcHR5IHN0cmluZywgd2hpY2gNCiAgLy8gY29udmVydHMgdG8gdGhlIG51bWJlciAwLiBJZiBhbiBhcnJheSBoYXMgYSBzaW5nbGUgZWxlbWVudCB0aGF0IGlzIGENCiAgLy8gbnVtYmVyIG4sIHRoZSBhcnJheSBjb252ZXJ0cyB0byBhIHN0cmluZyByZXByZXNlbnRhdGlvbiBvZiBuLCB3aGljaCBpcw0KICAvLyB0aGVuIGNvbnZlcnRlZCBiYWNrIHRvIG4gaXRzZWxmLiBJZiBhbiBhcnJheSBjb250YWlucyBtb3JlIHRoYW4gb25lIGVsZW1lbnQsDQogIC8vIG9yIGlmIGl0cyBvbmUgZWxlbWVudCBpcyBub3QgYSBudW1iZXIsIHRoZSBhcnJheSBjb252ZXJ0cyB0byBOYU4uDQogIHZhciBjYWxsQ250ID0gMDsNCiAgZnVuY3Rpb24gY2IoKXtjYWxsQ250Kyt9DQogIHZhciBpID0gZi5mb3JFYWNoKGNiKTsgIA0KICBpZiAoY2FsbENudCA9PT0gMCkgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.forEach doesn't call callbackfn if 'length' is 0 (subclassed Array, length overridden with []","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-8-8.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTgvMTUuNC40LjE4LTgtOS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5mb3JFYWNoIGRvZXNuJ3QgY2FsbCBjYWxsYmFja2ZuIGlmICdsZW5ndGgnIGlzIDAgKHN1YmNsYXNzZWQgQXJyYXksIGxlbmd0aCBvdmVycmlkZGVuIHdpdGggWzBdDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgZm9vLnByb3RvdHlwZSA9IG5ldyBBcnJheSgxLCAyLCAzKTsNCiAgZnVuY3Rpb24gZm9vKCkge30NCiAgdmFyIGYgPSBuZXcgZm9vKCk7DQogIA0KICBmLmxlbmd0aCA9IFswXTsNCiAgDQogIC8vIG9iamVjdHMgaW5oZXJpdCB0aGUgZGVmYXVsdCB2YWx1ZU9mIG1ldGhvZCBvZiB0aGUgT2JqZWN0IG9iamVjdDsNCiAgLy8gdGhhdCBzaW1wbHkgcmV0dXJucyB0aGUgaXRzZWxmLiBTaW5jZSB0aGUgZGVmYXVsdCB2YWx1ZU9mKCkgbWV0aG9kDQogIC8vIGRvZXMgbm90IHJldHVybiBhIHByaW1pdGl2ZSB2YWx1ZSwgRVMgbmV4dCB0cmllcyB0byBjb252ZXJ0IHRoZSBvYmplY3QNCiAgLy8gdG8gYSBudW1iZXIgYnkgY2FsbGluZyBpdHMgdG9TdHJpbmcoKSBtZXRob2QgYW5kIGNvbnZlcnRpbmcgdGhlDQogIC8vIHJlc3VsdGluZyBzdHJpbmcgdG8gYSBudW1iZXIuDQogIC8vDQogIC8vIFRoZSB0b1N0cmluZyggKSBtZXRob2Qgb24gQXJyYXkgY29udmVydHMgdGhlIGFycmF5IGVsZW1lbnRzIHRvIHN0cmluZ3MsDQogIC8vIHRoZW4gcmV0dXJucyB0aGUgcmVzdWx0IG9mIGNvbmNhdGVuYXRpbmcgdGhlc2Ugc3RyaW5ncywgd2l0aCBjb21tYXMgaW4NCiAgLy8gYmV0d2Vlbi4gQW4gYXJyYXkgd2l0aCBubyBlbGVtZW50cyBjb252ZXJ0cyB0byB0aGUgZW1wdHkgc3RyaW5nLCB3aGljaA0KICAvLyBjb252ZXJ0cyB0byB0aGUgbnVtYmVyIDAuIElmIGFuIGFycmF5IGhhcyBhIHNpbmdsZSBlbGVtZW50IHRoYXQgaXMgYQ0KICAvLyBudW1iZXIgbiwgdGhlIGFycmF5IGNvbnZlcnRzIHRvIGEgc3RyaW5nIHJlcHJlc2VudGF0aW9uIG9mIG4sIHdoaWNoIGlzDQogIC8vIHRoZW4gY29udmVydGVkIGJhY2sgdG8gbiBpdHNlbGYuIElmIGFuIGFycmF5IGNvbnRhaW5zIG1vcmUgdGhhbiBvbmUgZWxlbWVudCwNCiAgLy8gb3IgaWYgaXRzIG9uZSBlbGVtZW50IGlzIG5vdCBhIG51bWJlciwgdGhlIGFycmF5IGNvbnZlcnRzIHRvIE5hTi4NCg0KICB2YXIgY2FsbENudCA9IDA7DQogIGZ1bmN0aW9uIGNiKCl7Y2FsbENudCsrfQ0KICB2YXIgaSA9IGYuZm9yRWFjaChjYik7ICANCiAgaWYgKGNhbGxDbnQgPT09IDApIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.forEach doesn't call callbackfn if 'length' is 0 (subclassed Array, length overridden with [0]","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/15.4.4.18-8-9.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMTEgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBhcnJheS5mb3JFYWNoIGNhbiBiZSBmcm96ZW4gd2hpbGUgaW4gcHJvZ3Jlc3MKICoKICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTgvUzE1LjQuNC4xOF9BMS5qcwogKiBAZGVzY3JpcHRpb24gRnJlZXplcyBhcnJheS5mb3JFYWNoIGR1cmluZyBhIGZvckVhY2ggdG8gc2VlIGlmIGl0IHdvcmtzCiAqLwoKWyd6J10uZm9yRWFjaChmdW5jdGlvbigpeyBPYmplY3QuZnJlZXplKEFycmF5LnByb3RvdHlwZS5mb3JFYWNoKTsgfSk7Cgo=","commentary":"array.forEach can be frozen while in progress","description":"Freezes array.forEach during a forEach to see if it works","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/S15.4.4.18_A1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMTEgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBhcnJheS5mb3JFYWNoIGNhbiBiZSBmcm96ZW4gd2hpbGUgaW4gcHJvZ3Jlc3MKICoKICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTgvUzE1LjQuNC4xOF9BMi5qcwogKiBAZGVzY3JpcHRpb24gRnJlZXplcyBhcnJheS5mb3JFYWNoIGR1cmluZyBhIGZvckVhY2ggdG8gc2VlIGlmIGl0IHdvcmtzCiAqLwoKZnVuY3Rpb24gZm9vKCkgewogIFsneiddLmZvckVhY2goZnVuY3Rpb24oKXsgT2JqZWN0LmZyZWV6ZShBcnJheS5wcm90b3R5cGUuZm9yRWFjaCk7IH0pOwp9CmZvbygpOwoK","commentary":"array.forEach can be frozen while in progress","description":"Freezes array.forEach during a forEach to see if it works","path":"TestCases/ch15/15.4/15.4.4/15.4.4.18/S15.4.4.18_A2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTkvMTUuNC40LjE5LTAtMS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5tYXAgbXVzdCBleGlzdCBhcyBhIGZ1bmN0aW9uDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIGYgPSBBcnJheS5wcm90b3R5cGUubWFwOw0KICBpZiAodHlwZW9mKGYpID09PSAiZnVuY3Rpb24iKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.map must exist as a function","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-0-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTkvMTUuNC40LjE5LTAtMi5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5tYXAubGVuZ3RoIG11c3QgYmUgMQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIGlmIChBcnJheS5wcm90b3R5cGUubWFwLmxlbmd0aCA9PT0gMSkgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.map.length must be 1","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-0-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTkvMTUuNC40LjE5LTEtMS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5tYXAgLSBhcHBsaWVkIHRvIHVuZGVmaW5lZA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBBcnJheS5wcm90b3R5cGUubWFwLmNhbGwodW5kZWZpbmVkKTsgLy8gVHlwZUVycm9yIGlzIHRocm93biBpZiB2YWx1ZSBpcyB1bmRlZmluZWQNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIChlIGluc3RhbmNlb2YgVHlwZUVycm9yKTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.map - applied to undefined","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-1-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTkvMTUuNC40LjE5LTEtMTAuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubWFwIC0gYXBwbGllZCB0byB0aGUgTWF0aCBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiAoJ1tvYmplY3QgTWF0aF0nID09PSBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwob2JqKSk7DQogICAgICAgIH0NCiAgICAgICANCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE1hdGgubGVuZ3RoID0gMTsNCiAgICAgICAgICAgIE1hdGhbMF0gPSAxOw0KICAgICAgICAgICAgdmFyIHRlc3RSZXN1bHQgPSBBcnJheS5wcm90b3R5cGUubWFwLmNhbGwoTWF0aCwgY2FsbGJhY2tmbik7DQogICAgICAgICAgICByZXR1cm4gdGVzdFJlc3VsdFswXSA9PT0gdHJ1ZTsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBNYXRoWzBdOw0KICAgICAgICAgICAgZGVsZXRlIE1hdGgubGVuZ3RoOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.map - applied to the Math object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-1-10.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTkvMTUuNC40LjE5LTEtMTEuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubWFwIC0gYXBwbGllZCB0byBEYXRlIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIG9iaiBpbnN0YW5jZW9mIERhdGU7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0gbmV3IERhdGUoKTsNCiAgICAgICAgb2JqLmxlbmd0aCA9IDE7DQogICAgICAgIG9ialswXSA9IDE7DQoNCiAgICAgICAgdmFyIHRlc3RSZXN1bHQgPSBBcnJheS5wcm90b3R5cGUubWFwLmNhbGwob2JqLCBjYWxsYmFja2ZuKTsNCg0KICAgICAgICByZXR1cm4gdGVzdFJlc3VsdFswXSA9PT0gdHJ1ZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.map - applied to Date object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-1-11.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTkvMTUuNC40LjE5LTEtMTIuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubWFwIC0gYXBwbGllZCB0byBSZWdFeHAgb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gb2JqIGluc3RhbmNlb2YgUmVnRXhwOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IG5ldyBSZWdFeHAoKTsNCiAgICAgICAgb2JqLmxlbmd0aCA9IDE7DQogICAgICAgIG9ialswXSA9IDE7DQoNCiAgICAgICAgdmFyIHRlc3RSZXN1bHQgPSBBcnJheS5wcm90b3R5cGUubWFwLmNhbGwob2JqLCBjYWxsYmFja2ZuKTsNCg0KICAgICAgICByZXR1cm4gdGVzdFJlc3VsdFswXSA9PT0gdHJ1ZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.map - applied to RegExp object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-1-12.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTkvMTUuNC40LjE5LTEtMTMuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubWFwIC0gYXBwbGllZCB0byB0aGUgSlNPTiBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiAoJ1tvYmplY3QgSlNPTl0nID09PSBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwob2JqKSk7DQogICAgICAgIH0NCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgSlNPTi5sZW5ndGggPSAxOw0KICAgICAgICAgICAgSlNPTlswXSA9IDE7DQogICAgICAgICAgICB2YXIgdGVzdFJlc3VsdCA9IEFycmF5LnByb3RvdHlwZS5tYXAuY2FsbChKU09OLCBjYWxsYmFja2ZuKTsNCiAgICAgICAgICAgIHJldHVybiB0ZXN0UmVzdWx0WzBdID09PSB0cnVlOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIEpTT04ubGVuZ3RoOw0KICAgICAgICAgICAgZGVsZXRlIEpTT05bMF07DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.map - applied to the JSON object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-1-13.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTkvMTUuNC40LjE5LTEtMTQuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubWFwIC0gYXBwbGllZCB0byBFcnJvciBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiBvYmogaW5zdGFuY2VvZiBFcnJvcjsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSBuZXcgRXJyb3IoKTsNCiAgICAgICAgb2JqLmxlbmd0aCA9IDE7DQogICAgICAgIG9ialswXSA9IDE7DQoNCiAgICAgICAgdmFyIHRlc3RSZXN1bHQgPSBBcnJheS5wcm90b3R5cGUubWFwLmNhbGwob2JqLCBjYWxsYmFja2ZuKTsNCg0KICAgICAgICByZXR1cm4gdGVzdFJlc3VsdFswXSA9PT0gdHJ1ZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.map - applied to Error object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-1-14.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTkvMTUuNC40LjE5LTEtMTUuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubWFwIC0gYXBwbGllZCB0byB0aGUgQXJndW1lbnRzIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuICgnW29iamVjdCBBcmd1bWVudHNdJyA9PT0gT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKG9iaikpOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IChmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICByZXR1cm4gYXJndW1lbnRzOw0KICAgICAgICB9KCJhIiwgImIiKSk7DQoNCiAgICAgICAgdmFyIHRlc3RSZXN1bHQgPSBBcnJheS5wcm90b3R5cGUubWFwLmNhbGwob2JqLCBjYWxsYmFja2ZuKTsNCg0KICAgICAgICByZXR1cm4gdGVzdFJlc3VsdFsxXSA9PT0gdHJ1ZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.map - applied to the Arguments object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-1-15.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTkvMTUuNC40LjE5LTEtMi5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5tYXAgLSBhcHBsaWVkIHRvIG51bGwNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlLm1hcC5jYWxsKG51bGwpOyAvLyBUeXBlRXJyb3IgaXMgdGhyb3duIGlmIHZhbHVlIGlzIG51bGwNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIChlIGluc3RhbmNlb2YgVHlwZUVycm9yKTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.map - applied to null","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-1-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTkvMTUuNC40LjE5LTEtMy5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5tYXAgLSBhcHBsaWVkIHRvIGJvb2xlYW4gcHJpbWl0aXZlDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiBvYmogaW5zdGFuY2VvZiBCb29sZWFuOw0KICAgICAgICB9DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIEJvb2xlYW4ucHJvdG90eXBlWzBdID0gdHJ1ZTsNCiAgICAgICAgICAgIEJvb2xlYW4ucHJvdG90eXBlLmxlbmd0aCA9IDE7DQoNCiAgICAgICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gQXJyYXkucHJvdG90eXBlLm1hcC5jYWxsKGZhbHNlLCBjYWxsYmFja2ZuKTsNCiAgICAgICAgICAgIHJldHVybiB0ZXN0UmVzdWx0WzBdID09PSB0cnVlOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIEJvb2xlYW4ucHJvdG90eXBlWzBdOw0KICAgICAgICAgICAgZGVsZXRlIEJvb2xlYW4ucHJvdG90eXBlLmxlbmd0aDsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.map - applied to boolean primitive","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-1-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTkvMTUuNC40LjE5LTEtNC5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5tYXAgLSBhcHBsaWVkIHRvIEJvb2xlYW4gb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gb2JqIGluc3RhbmNlb2YgQm9vbGVhbjsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSBuZXcgQm9vbGVhbih0cnVlKTsNCiAgICAgICAgb2JqLmxlbmd0aCA9IDI7DQogICAgICAgIG9ialswXSA9IDExOw0KICAgICAgICBvYmpbMV0gPSAxMjsNCg0KICAgICAgICB2YXIgdGVzdFJlc3VsdCA9IEFycmF5LnByb3RvdHlwZS5tYXAuY2FsbChvYmosIGNhbGxiYWNrZm4pOw0KDQogICAgICAgIHJldHVybiB0ZXN0UmVzdWx0WzBdID09PSB0cnVlICYmIHRlc3RSZXN1bHRbMV0gPT09IHRydWU7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.map - applied to Boolean object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-1-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTkvMTUuNC40LjE5LTEtNS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5tYXAgLSBhcHBsaWVkIHRvIG51bWJlciBwcmltaXRpdmUNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiBvYmogaW5zdGFuY2VvZiBOdW1iZXI7DQogICAgICAgIH0NCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgTnVtYmVyLnByb3RvdHlwZVswXSA9IDE7DQogICAgICAgICAgICBOdW1iZXIucHJvdG90eXBlLmxlbmd0aCA9IDE7DQoNCiAgICAgICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gQXJyYXkucHJvdG90eXBlLm1hcC5jYWxsKDIuNSwgY2FsbGJhY2tmbik7DQogICAgICAgICAgICByZXR1cm4gdGVzdFJlc3VsdFswXSA9PT0gdHJ1ZTsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBOdW1iZXIucHJvdG90eXBlWzBdOw0KICAgICAgICAgICAgZGVsZXRlIE51bWJlci5wcm90b3R5cGUubGVuZ3RoOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.map - applied to number primitive","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-1-5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTkvMTUuNC40LjE5LTEtNi5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5tYXAgLSBhcHBsaWVkIHRvIE51bWJlciBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiBvYmogaW5zdGFuY2VvZiBOdW1iZXI7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0gbmV3IE51bWJlcigtMTI4KTsNCiAgICAgICAgb2JqLmxlbmd0aCA9IDI7DQogICAgICAgIG9ialswXSA9IDExOw0KICAgICAgICBvYmpbMV0gPSAxMjsNCg0KICAgICAgICB2YXIgdGVzdFJlc3VsdCA9IEFycmF5LnByb3RvdHlwZS5tYXAuY2FsbChvYmosIGNhbGxiYWNrZm4pOw0KDQogICAgICAgIHJldHVybiB0ZXN0UmVzdWx0WzBdID09PSB0cnVlICYmIHRlc3RSZXN1bHRbMV0gPT09IHRydWU7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.map - applied to Number object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-1-6.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTkvMTUuNC40LjE5LTEtNy5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5tYXAgLSBhcHBsaWVkIHRvIHN0cmluZyBwcmltaXRpdmUNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiBvYmogaW5zdGFuY2VvZiBTdHJpbmc7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgdGVzdFJlc3VsdCA9IEFycmF5LnByb3RvdHlwZS5tYXAuY2FsbCgiYWJjIiwgY2FsbGJhY2tmbik7DQoNCiAgICAgICAgcmV0dXJuIHRlc3RSZXN1bHRbMF0gPT09IHRydWUgJiYgdGVzdFJlc3VsdFsxXSA9PT0gdHJ1ZSAmJiB0ZXN0UmVzdWx0WzJdID09PSB0cnVlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.map - applied to string primitive","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-1-7.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTkvMTUuNC40LjE5LTEtOC5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5tYXAgLSBhcHBsaWVkIHRvIFN0cmluZyBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiBvYmogaW5zdGFuY2VvZiBTdHJpbmc7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0gbmV3IFN0cmluZygiYWJjIik7DQogICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gQXJyYXkucHJvdG90eXBlLm1hcC5jYWxsKG9iaiwgY2FsbGJhY2tmbik7DQoNCiAgICAgICAgcmV0dXJuIHRlc3RSZXN1bHRbMF0gPT09IHRydWUgJiYgdGVzdFJlc3VsdFsxXSA9PT0gdHJ1ZSAmJiB0ZXN0UmVzdWx0WzJdID09PSB0cnVlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.map - applied to String object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-1-8.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTkvMTUuNC40LjE5LTEtOS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5tYXAgLSBhcHBsaWVkIHRvIEZ1bmN0aW9uIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIG9iaiBpbnN0YW5jZW9mIEZ1bmN0aW9uOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IGZ1bmN0aW9uIChhLCBiKSB7DQogICAgICAgICAgICByZXR1cm4gYSArIGI7DQogICAgICAgIH07DQogICAgICAgIG9ialswXSA9IDExOw0KICAgICAgICBvYmpbMV0gPSA5Ow0KDQogICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gQXJyYXkucHJvdG90eXBlLm1hcC5jYWxsKG9iaiwgY2FsbGJhY2tmbik7DQoNCiAgICAgICAgcmV0dXJuIHRlc3RSZXN1bHRbMF0gPT09IHRydWUgJiYgdGVzdFJlc3VsdFsxXSA9PT0gdHJ1ZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.map - applied to Function object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-1-9.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTkvMTUuNC40LjE5LTItMS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5tYXAgLSBhcHBsaWVkIHRvIEFycmF5LWxpa2Ugb2JqZWN0IHdoZW4gJ2xlbmd0aCcgaXMgYW4gb3duIGRhdGEgcHJvcGVydHkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiB2YWwgPiAxMDsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSB7DQogICAgICAgICAgICAwOiAxMiwNCiAgICAgICAgICAgIDE6IDExLA0KICAgICAgICAgICAgMjogOSwNCiAgICAgICAgICAgIGxlbmd0aDogMg0KICAgICAgICB9Ow0KDQogICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gQXJyYXkucHJvdG90eXBlLm1hcC5jYWxsKG9iaiwgY2FsbGJhY2tmbik7DQoNCiAgICAgICAgcmV0dXJuIHRlc3RSZXN1bHQubGVuZ3RoID09PSAyOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.map - applied to Array-like object when 'length' is an own data property","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-2-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTkvMTUuNC40LjE5LTItMTAuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubWFwIC0gYXBwbGllZCB0byBBcnJheS1saWtlIG9iamVjdCwgJ2xlbmd0aCcgaXMgYW4gaW5oZXJpdGVkIGFjY2Vzc29yIHByb3BlcnR5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gdmFsID4gMTA7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgcHJvdG8gPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkocHJvdG8sICJsZW5ndGgiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gMjsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIENvbiA9IGZ1bmN0aW9uICgpIHsgfTsNCiAgICAgICAgQ29uLnByb3RvdHlwZSA9IHByb3RvOw0KDQogICAgICAgIHZhciBjaGlsZCA9IG5ldyBDb24oKTsNCiAgICAgICAgY2hpbGRbMF0gPSAxMjsNCiAgICAgICAgY2hpbGRbMV0gPSAxMTsNCiAgICAgICAgY2hpbGRbMl0gPSA5Ow0KDQogICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gQXJyYXkucHJvdG90eXBlLm1hcC5jYWxsKGNoaWxkLCBjYWxsYmFja2ZuKTsNCg0KICAgICAgICByZXR1cm4gdGVzdFJlc3VsdC5sZW5ndGggPT09IDI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.map - applied to Array-like object, 'length' is an inherited accessor property","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-2-10.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTkvMTUuNC40LjE5LTItMTEuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubWFwIC0gYXBwbGllZCB0byBBcnJheS1saWtlIG9iamVjdCB3aGVuICdsZW5ndGgnIGlzIGFuIG93biBhY2Nlc3NvciBwcm9wZXJ0eSB3aXRob3V0IGEgZ2V0IGZ1bmN0aW9uDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiB2YWwgPiAxMDsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSB7DQogICAgICAgICAgICAwOiAxMSwNCiAgICAgICAgICAgIDE6IDEyDQogICAgICAgIH07DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJsZW5ndGgiLCB7DQogICAgICAgICAgICBzZXQ6IGZ1bmN0aW9uICgpIHsgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgdGVzdFJlc3VsdCA9IEFycmF5LnByb3RvdHlwZS5tYXAuY2FsbChvYmosIGNhbGxiYWNrZm4pOw0KDQogICAgICAgIHJldHVybiAwID09PSB0ZXN0UmVzdWx0Lmxlbmd0aDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.map - applied to Array-like object when 'length' is an own accessor property without a get function","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-2-11.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTkvMTUuNC40LjE5LTItMTIuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubWFwIC0gYXBwbGllZCB0byB0aGUgQXJyYXktbGlrZSBvYmplY3Qgd2hlbiAnbGVuZ3RoJyBpcyBvd24gYWNjZXNzb3IgcHJvcGVydHkgd2l0aG91dCBhIGdldCBmdW5jdGlvbiB0aGF0IG92ZXJyaWRlcyBhbiBpbmhlcml0ZWQgYWNjZXNzb3IgcHJvcGVydHkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiB2YWwgPiAxMDsNCiAgICAgICAgfQ0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoT2JqZWN0LnByb3RvdHlwZSwgImxlbmd0aCIsIHsNCiAgICAgICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDI7DQogICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICB2YXIgb2JqID0geyAwOiAxMiwgMTogMTEgfTsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJsZW5ndGgiLCB7DQogICAgICAgICAgICAgICAgc2V0OiBmdW5jdGlvbiAoKSB7IH0sDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgdmFyIHRlc3RSZXN1bHQgPSBBcnJheS5wcm90b3R5cGUubWFwLmNhbGwob2JqLCBjYWxsYmFja2ZuKTsNCiAgICAgICAgICAgIHJldHVybiB0ZXN0UmVzdWx0Lmxlbmd0aCA9PT0gMDsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBPYmplY3QucHJvdG90eXBlLmxlbmd0aDsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.map - applied to the Array-like object when 'length' is own accessor property without a get function that overrides an inherited accessor property","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-2-12.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTkvMTUuNC40LjE5LTItMTMuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubWFwIC0gYXBwbGllZCB0byB0aGUgQXJyYXktbGlrZSBvYmplY3Qgd2hlbiAnbGVuZ3RoJyBpcyBpbmhlcml0ZWQgYWNjZXNzb3IgcHJvcGVydHkgd2l0aG91dCBhIGdldCBmdW5jdGlvbg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gdmFsID4gMTA7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgcHJvdG8gPSB7fTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHByb3RvLCAibGVuZ3RoIiwgew0KICAgICAgICAgICAgc2V0OiBmdW5jdGlvbiAoKSB7IH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIENvbiA9IGZ1bmN0aW9uICgpIHsgfTsNCiAgICAgICAgQ29uLnByb3RvdHlwZSA9IHByb3RvOw0KDQogICAgICAgIHZhciBjaGlsZCA9IG5ldyBDb24oKTsNCiAgICAgICAgY2hpbGRbMF0gPSAxMTsNCiAgICAgICAgY2hpbGRbMV0gPSAxMjsNCg0KICAgICAgICB2YXIgdGVzdFJlc3VsdCA9IEFycmF5LnByb3RvdHlwZS5tYXAuY2FsbChjaGlsZCwgY2FsbGJhY2tmbik7DQoNCiAgICAgICAgcmV0dXJuIDAgPT09IHRlc3RSZXN1bHQubGVuZ3RoOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.map - applied to the Array-like object when 'length' is inherited accessor property without a get function","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-2-13.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTkvMTUuNC40LjE5LTItMTQuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubWFwIC0gYXBwbGllZCB0byB0aGUgQXJyYXktbGlrZSBvYmplY3QgdGhhdCAnbGVuZ3RoJyBwcm9wZXJ0eSBkb2Vzbid0IGV4aXN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiB2YWwgPiAxMDsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSB7IDA6IDExLCAxOiAxMiB9Ow0KDQogICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gQXJyYXkucHJvdG90eXBlLm1hcC5jYWxsKG9iaiwgY2FsbGJhY2tmbik7DQoNCiAgICAgICAgcmV0dXJuIDAgPT09IHRlc3RSZXN1bHQubGVuZ3RoOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.map - applied to the Array-like object that 'length' property doesn't exist","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-2-14.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTkvMTUuNC40LjE5LTItMTUuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubWFwIC0gd2hlbiAnbGVuZ3RoJyBpcyBwcm9wZXJ0eSBvZiB0aGUgZ2xvYmFsIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIHZhbCA+IDEwOw0KICAgICAgICB9DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIHZhciBvbGRMZW4gPSBmbkdsb2JhbE9iamVjdCgpLmxlbmd0aDsNCiAgICAgICAgICAgIGZuR2xvYmFsT2JqZWN0KClbMF0gPSAxMjsNCiAgICAgICAgICAgIGZuR2xvYmFsT2JqZWN0KClbMV0gPSAxMTsNCiAgICAgICAgICAgIGZuR2xvYmFsT2JqZWN0KClbMl0gPSA5Ow0KICAgICAgICAgICAgZm5HbG9iYWxPYmplY3QoKS5sZW5ndGggPSAyOw0KICAgICAgICAgICAgdmFyIHRlc3RSZXN1bHQgPSBBcnJheS5wcm90b3R5cGUubWFwLmNhbGwoZm5HbG9iYWxPYmplY3QoKSwgY2FsbGJhY2tmbik7DQogICAgICAgICAgICByZXR1cm4gdGVzdFJlc3VsdC5sZW5ndGggPT09IDI7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgZm5HbG9iYWxPYmplY3QoKVswXTsNCiAgICAgICAgICAgIGRlbGV0ZSBmbkdsb2JhbE9iamVjdCgpWzFdOw0KICAgICAgICAgICAgZGVsZXRlIGZuR2xvYmFsT2JqZWN0KClbMl07DQogICAgICAgICAgICBmbkdsb2JhbE9iamVjdCgpLmxlbmd0aCA9IG9sZExlbjsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.map - when 'length' is property of the global object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-2-15.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTkvMTUuNC40LjE5LTItMTcuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubWFwIC0gYXBwbGllZCB0byBBcmd1bWVudHMgb2JqZWN0LCB3aGljaCBpbXBsZW1lbnRzIGl0cyBvd24gcHJvcGVydHkgZ2V0IG1ldGhvZA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIHZhbCA+IDEwOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIGZ1bmMgPSBmdW5jdGlvbiAoYSwgYikgew0KICAgICAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5tYXAuY2FsbChhcmd1bWVudHMsIGNhbGxiYWNrZm4pOw0KICAgICAgICB9Ow0KDQogICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gZnVuYygxMiwgMTEpOw0KDQogICAgICAgIHJldHVybiB0ZXN0UmVzdWx0Lmxlbmd0aCA9PT0gMjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.map - applied to Arguments object, which implements its own property get method","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-2-17.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTkvMTUuNC40LjE5LTItMTguanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubWFwIC0gYXBwbGllZCB0byBTdHJpbmcgb2JqZWN0LCB3aGljaCBpbXBsZW1lbnRzIGl0cyBvd24gcHJvcGVydHkgZ2V0IG1ldGhvZA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIHBhcnNlSW50KHZhbCwgMTApID4gMTsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBzdHIgPSBuZXcgU3RyaW5nKCI0MzIiKTsNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIFN0cmluZy5wcm90b3R5cGVbM10gPSAiMSI7DQogICAgICAgICAgICB2YXIgdGVzdFJlc3VsdCA9IEFycmF5LnByb3RvdHlwZS5tYXAuY2FsbChzdHIsIGNhbGxiYWNrZm4pOw0KDQogICAgICAgICAgICByZXR1cm4gMyA9PT0gdGVzdFJlc3VsdC5sZW5ndGg7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgU3RyaW5nLnByb3RvdHlwZVszXTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.map - applied to String object, which implements its own property get method","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-2-18.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTkvMTUuNC40LjE5LTItMTkuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubWFwIC0gYXBwbGllZCB0byBGdW5jdGlvbiBvYmplY3QsIHdoaWNoIGltcGxlbWVudHMgaXRzIG93biBwcm9wZXJ0eSBnZXQgbWV0aG9kDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gdmFsID4gMTA7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgZnVuID0gZnVuY3Rpb24gKGEsIGIpIHsNCiAgICAgICAgICAgIHJldHVybiBhICsgYjsNCiAgICAgICAgfTsNCiAgICAgICAgZnVuWzBdID0gMTI7DQogICAgICAgIGZ1blsxXSA9IDExOw0KICAgICAgICBmdW5bMl0gPSA5Ow0KDQogICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gQXJyYXkucHJvdG90eXBlLm1hcC5jYWxsKGZ1biwgY2FsbGJhY2tmbik7DQoNCiAgICAgICAgcmV0dXJuIDIgPT09IHRlc3RSZXN1bHQubGVuZ3RoOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.map - applied to Function object, which implements its own property get method","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-2-19.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTkvMTUuNC40LjE5LTItMi5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5tYXAgLSB3aGVuICdsZW5ndGgnIGlzIG93biBkYXRhIHByb3BlcnR5IG9uIGFuIEFycmF5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gdmFsID4gMTA7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgdGVzdFJlc3VsdCA9IFsxMiwgMTFdLm1hcChjYWxsYmFja2ZuKTsNCiAgICAgICAgcmV0dXJuIHRlc3RSZXN1bHQubGVuZ3RoID09PSAyOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.map - when 'length' is own data property on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-2-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTkvMTUuNC40LjE5LTItMy5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5tYXAgLSBhcHBsaWVkIHRvIEFycmF5LWxpa2Ugb2JqZWN0LCAnbGVuZ3RoJyBpcyBhbiBvd24gZGF0YSBwcm9wZXJ0eSB0aGF0IG92ZXJyaWRlcyBhbiBpbmhlcml0ZWQgZGF0YSBwcm9wZXJ0eQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIHZhbCA+IDEwOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIHByb3RvID0geyBsZW5ndGg6IDMgfTsNCg0KICAgICAgICB2YXIgQ29uID0gZnVuY3Rpb24gKCkgeyB9Ow0KICAgICAgICBDb24ucHJvdG90eXBlID0gcHJvdG87DQoNCiAgICAgICAgdmFyIGNoaWxkID0gbmV3IENvbigpOw0KICAgICAgICBjaGlsZC5sZW5ndGggPSAyOw0KICAgICAgICBjaGlsZFswXSA9IDEyOw0KICAgICAgICBjaGlsZFsxXSA9IDExOw0KICAgICAgICBjaGlsZFsyXSA9IDk7DQoNCiAgICAgICAgdmFyIHRlc3RSZXN1bHQgPSBBcnJheS5wcm90b3R5cGUubWFwLmNhbGwoY2hpbGQsIGNhbGxiYWNrZm4pOw0KDQogICAgICAgIHJldHVybiB0ZXN0UmVzdWx0Lmxlbmd0aCA9PT0gMjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.map - applied to Array-like object, 'length' is an own data property that overrides an inherited data property","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-2-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTkvMTUuNC40LjE5LTItNC5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5tYXAgLSB3aGVuICdsZW5ndGgnIGlzIG93biBkYXRhIHByb3BlcnR5IHRoYXQgb3ZlcnJpZGVzIGFuIGluaGVyaXRlZCBkYXRhIHByb3BlcnR5IG9uIGFuIEFycmF5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gdmFsID4gMTA7DQogICAgICAgIH0NCiAgICAgICAgdmFyIGFyclByb3RvTGVuOw0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgYXJyUHJvdG9MZW4gPSBBcnJheS5wcm90b3R5cGUubGVuZ3RoOw0KICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlLmxlbmd0aCA9IDA7DQogICAgICAgICAgICB2YXIgdGVzdFJlc3VsdCA9IFsxMiwgMTFdLm1hcChjYWxsYmFja2ZuKTsNCiAgICAgICAgICAgIHJldHVybiB0ZXN0UmVzdWx0Lmxlbmd0aCA9PT0gMjsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIEFycmF5LnByb3RvdHlwZS5sZW5ndGggPSBhcnJQcm90b0xlbjsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.map - when 'length' is own data property that overrides an inherited data property on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-2-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTkvMTUuNC40LjE5LTItNS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5tYXAgLSBhcHBsaWVkIHRvIEFycmF5LWxpa2Ugb2JqZWN0LCAnbGVuZ3RoJyBpcyBhbiBvd24gZGF0YSBwcm9wZXJ0eSB0aGF0IG92ZXJyaWRlcyBhbiBpbmhlcml0ZWQgYWNjZXNzb3IgcHJvcGVydHkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiB2YWwgPiAxMDsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBwcm90byA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShwcm90bywgImxlbmd0aCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiAzOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgQ29uID0gZnVuY3Rpb24gKCkgeyB9Ow0KICAgICAgICBDb24ucHJvdG90eXBlID0gcHJvdG87DQoNCiAgICAgICAgdmFyIGNoaWxkID0gbmV3IENvbigpOw0KICAgICAgICBjaGlsZC5sZW5ndGggPSAyOw0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoY2hpbGQsICJsZW5ndGgiLCB7DQogICAgICAgICAgICB2YWx1ZTogMiwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCiAgICAgICAgY2hpbGRbMF0gPSAxMjsNCiAgICAgICAgY2hpbGRbMV0gPSAxMTsNCiAgICAgICAgY2hpbGRbMl0gPSA5Ow0KDQogICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gQXJyYXkucHJvdG90eXBlLm1hcC5jYWxsKGNoaWxkLCBjYWxsYmFja2ZuKTsNCg0KICAgICAgICByZXR1cm4gdGVzdFJlc3VsdC5sZW5ndGggPT09IDI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.map - applied to Array-like object, 'length' is an own data property that overrides an inherited accessor property","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-2-5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTkvMTUuNC40LjE5LTItNi5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5tYXAgLSBhcHBsaWVkIHRvIEFycmF5LWxpa2Ugb2JqZWN0LCAnbGVuZ3RoJyBpcyBhbiBpbmhlcml0ZWQgZGF0YSBwcm9wZXJ0eQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIHZhbCA+IDEwOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIHByb3RvID0geyBsZW5ndGg6IDIgfTsNCg0KICAgICAgICB2YXIgQ29uID0gZnVuY3Rpb24gKCkgeyB9Ow0KICAgICAgICBDb24ucHJvdG90eXBlID0gcHJvdG87DQoNCiAgICAgICAgdmFyIGNoaWxkID0gbmV3IENvbigpOw0KICAgICAgICBjaGlsZFswXSA9IDEyOw0KICAgICAgICBjaGlsZFsxXSA9IDExOw0KICAgICAgICBjaGlsZFsyXSA9IDk7DQoNCiAgICAgICAgdmFyIHRlc3RSZXN1bHQgPSBBcnJheS5wcm90b3R5cGUubWFwLmNhbGwoY2hpbGQsIGNhbGxiYWNrZm4pOw0KDQogICAgICAgIHJldHVybiB0ZXN0UmVzdWx0Lmxlbmd0aCA9PT0gMjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.map - applied to Array-like object, 'length' is an inherited data property","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-2-6.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTkvMTUuNC40LjE5LTItNy5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5tYXAgLSBhcHBsaWVkIHRvIEFycmF5LWxpa2Ugb2JqZWN0LCAnbGVuZ3RoJyBpcyBhbiBvd24gYWNjZXNzb3IgcHJvcGVydHkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiB2YWwgPiAxMDsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAibGVuZ3RoIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIDI7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIG9ialswXSA9IDEyOw0KICAgICAgICBvYmpbMV0gPSAxMTsNCiAgICAgICAgb2JqWzJdID0gOTsNCg0KICAgICAgICB2YXIgdGVzdFJlc3VsdCA9IEFycmF5LnByb3RvdHlwZS5tYXAuY2FsbChvYmosIGNhbGxiYWNrZm4pOw0KDQogICAgICAgIHJldHVybiB0ZXN0UmVzdWx0Lmxlbmd0aCA9PT0gMjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.map - applied to Array-like object, 'length' is an own accessor property","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-2-7.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTkvMTUuNC40LjE5LTItOC5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5tYXAgLSBhcHBsaWVkIHRvIEFycmF5LWxpa2Ugb2JqZWN0LCAnbGVuZ3RoJyBpcyBhbiBvd24gYWNjZXNzb3IgcHJvcGVydHkgdGhhdCBvdmVycmlkZXMgYW4gaW5oZXJpdGVkIGRhdGEgcHJvcGVydHkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiB2YWwgPiAxMDsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBwcm90byA9IHsgbGVuZ3RoOiAzIH07DQoNCiAgICAgICAgdmFyIENvbiA9IGZ1bmN0aW9uICgpIHsgfTsNCiAgICAgICAgQ29uLnByb3RvdHlwZSA9IHByb3RvOw0KDQogICAgICAgIHZhciBjaGlsZCA9IG5ldyBDb24oKTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoY2hpbGQsICJsZW5ndGgiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gMjsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgY2hpbGRbMF0gPSAxMjsNCiAgICAgICAgY2hpbGRbMV0gPSAxMTsNCiAgICAgICAgY2hpbGRbMl0gPSA5Ow0KDQogICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gQXJyYXkucHJvdG90eXBlLm1hcC5jYWxsKGNoaWxkLCBjYWxsYmFja2ZuKTsNCg0KICAgICAgICByZXR1cm4gdGVzdFJlc3VsdC5sZW5ndGggPT09IDI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.map - applied to Array-like object, 'length' is an own accessor property that overrides an inherited data property","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-2-8.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTkvMTUuNC40LjE5LTItOS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5tYXAgLSBhcHBsaWVkIHRvIEFycmF5LWxpa2Ugb2JqZWN0IHdoZW4gJ2xlbmd0aCcgaXMgYW4gb3duIGFjY2Vzc29yIHByb3BlcnR5IHRoYXQgb3ZlcnJpZGVzIGFuIGluaGVyaXRlZCBhY2Nlc3NvciBwcm9wZXJ0eQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIHZhbCA+IDEwOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIHByb3RvID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHByb3RvLCAibGVuZ3RoIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIDM7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBDb24gPSBmdW5jdGlvbiAoKSB7IH07DQogICAgICAgIENvbi5wcm90b3R5cGUgPSBwcm90bzsNCg0KICAgICAgICB2YXIgY2hpbGQgPSBuZXcgQ29uKCk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGNoaWxkLCAibGVuZ3RoIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIDI7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIGNoaWxkWzBdID0gMTI7DQogICAgICAgIGNoaWxkWzFdID0gMTE7DQogICAgICAgIGNoaWxkWzJdID0gOTsNCg0KICAgICAgICB2YXIgdGVzdFJlc3VsdCA9IEFycmF5LnByb3RvdHlwZS5tYXAuY2FsbChjaGlsZCwgY2FsbGJhY2tmbik7DQoNCiAgICAgICAgcmV0dXJuIHRlc3RSZXN1bHQubGVuZ3RoID09PSAyOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.map - applied to Array-like object when 'length' is an own accessor property that overrides an inherited accessor property","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-2-9.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTkvMTUuNC40LjE5LTMtMS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5tYXAgLSB2YWx1ZSBvZiAnbGVuZ3RoJyBpcyB1bmRlZmluZWQNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiB2YWwgPiAxMDsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSB7IGxlbmd0aDogdW5kZWZpbmVkIH07DQoNCiAgICAgICAgdmFyIG5ld0FyciA9IEFycmF5LnByb3RvdHlwZS5tYXAuY2FsbChvYmosIGNhbGxiYWNrZm4pOw0KDQogICAgICAgIHJldHVybiBuZXdBcnIubGVuZ3RoID09PSAwOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.map - value of 'length' is undefined","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-3-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTkvMTUuNC40LjE5LTMtMTAuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubWFwIC0gdmFsdWUgb2YgJ2xlbmd0aCcgaXMgYSBudW1iZXIgKHZhbHVlIGlzIE5hTikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiB2YWwgPCAxMDsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSB7IDA6IDksIGxlbmd0aDogTmFOIH07DQoNCiAgICAgICAgdmFyIG5ld0FyciA9IEFycmF5LnByb3RvdHlwZS5tYXAuY2FsbChvYmosIGNhbGxiYWNrZm4pOw0KDQogICAgICAgIHJldHVybiBuZXdBcnIubGVuZ3RoID09PSAwOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.map - value of 'length' is a number (value is NaN)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-3-10.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTkvMTUuNC40LjE5LTMtMTEuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubWFwIC0gJ2xlbmd0aCcgaXMgYSBzdHJpbmcgY29udGFpbmluZyBhIHBvc2l0aXZlIG51bWJlcg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIHZhbCA8IDEwOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgMDogMTEsIDE6IDksIDI6IDEyLCBsZW5ndGg6ICIyIiB9Ow0KDQogICAgICAgIHZhciBuZXdBcnIgPSBBcnJheS5wcm90b3R5cGUubWFwLmNhbGwob2JqLCBjYWxsYmFja2ZuKTsNCg0KICAgICAgICByZXR1cm4gbmV3QXJyLmxlbmd0aCA9PT0gMjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.map - 'length' is a string containing a positive number","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-3-11.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTkvMTUuNC40LjE5LTMtMTIuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubWFwIC0gJ2xlbmd0aCcgaXMgYSBzdHJpbmcgY29udGFpbmluZyBhIG5lZ2F0aXZlIG51bWJlcg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIHZhbCA8IDEwOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgMDogMTEsIDE6IDksIDI6IDEyLCBsZW5ndGg6ICItNDI5NDk2NzI5NCIgfTsNCg0KICAgICAgICB2YXIgbmV3QXJyID0gQXJyYXkucHJvdG90eXBlLm1hcC5jYWxsKG9iaiwgY2FsbGJhY2tmbik7DQoNCiAgICAgICAgcmV0dXJuIG5ld0Fyci5sZW5ndGggPT09IDI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.map - 'length' is a string containing a negative number","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-3-12.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTkvMTUuNC40LjE5LTMtMTMuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubWFwIC0gdmFsdWUgb2YgJ2xlbmd0aCcgaXMgc3RyaW5nIHRoYXQgaXMgYWJsZSB0byBjb252ZXJ0IHRvIG51bWJlciBwcmltaXRpdmUgKHZhbHVlIGlzIGEgZGVjaW1hbCBudW1iZXIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gdmFsIDwgMTA7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0geyAwOiAxMSwgMTogOSwgMjogMTIsIGxlbmd0aDogIjIuNSIgfTsNCg0KICAgICAgICB2YXIgbmV3QXJyID0gQXJyYXkucHJvdG90eXBlLm1hcC5jYWxsKG9iaiwgY2FsbGJhY2tmbik7DQoNCiAgICAgICAgcmV0dXJuIG5ld0Fyci5sZW5ndGggPT09IDI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.map - value of 'length' is string that is able to convert to number primitive (value is a decimal number)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-3-13.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTkvMTUuNC40LjE5LTMtMTQuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubWFwIC0gJ2xlbmd0aCcgaXMgYSBzdHJpbmcgY29udGFpbmluZyBJbmZpbml0eQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIHZhbCA8IDEwOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgMDogOSwgbGVuZ3RoOiAiSW5maW5pdHkiIH07DQoNCiAgICAgICAgdmFyIG5ld0FyciA9IEFycmF5LnByb3RvdHlwZS5tYXAuY2FsbChvYmosIGNhbGxiYWNrZm4pOw0KDQogICAgICAgIHJldHVybiBuZXdBcnIubGVuZ3RoID09PSAwOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.map - 'length' is a string containing Infinity","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-3-14.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTkvMTUuNC40LjE5LTMtMTUuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubWFwIC0gJ2xlbmd0aCcgaXMgYSBzdHJpbmcgY29udGFpbmluZyBhbiBleHBvbmVudGlhbCBudW1iZXINCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiB2YWwgPCAxMDsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSB7IDA6IDExLCAxOiA5LCAyOiAxMiwgbGVuZ3RoOiAiMkUwIiB9Ow0KDQogICAgICAgIHZhciBuZXdBcnIgPSBBcnJheS5wcm90b3R5cGUubWFwLmNhbGwob2JqLCBjYWxsYmFja2ZuKTsNCg0KICAgICAgICByZXR1cm4gbmV3QXJyLmxlbmd0aCA9PT0gMjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.map - 'length' is a string containing an exponential number","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-3-15.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTkvMTUuNC40LjE5LTMtMTYuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubWFwIC0gJ2xlbmd0aCcgaXMgYSBzdHJpbmcgY29udGFpbmluZyBhIGhleCBudW1iZXINCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiB2YWwgPCAxMDsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSB7IDA6IDExLCAxOiA5LCAyOiAxMiwgbGVuZ3RoOiAiMHgwMDAyIiB9Ow0KDQogICAgICAgIHZhciBuZXdBcnIgPSBBcnJheS5wcm90b3R5cGUubWFwLmNhbGwob2JqLCBjYWxsYmFja2ZuKTsNCg0KICAgICAgICByZXR1cm4gbmV3QXJyLmxlbmd0aCA9PT0gMjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.map - 'length' is a string containing a hex number","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-3-16.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTkvMTUuNC40LjE5LTMtMTcuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubWFwIC0gd2hlbiAnbGVuZ3RoJyBpcyBhIHN0cmluZyBjb250YWluaW5nIGEgbnVtYmVyIHdpdGggbGVhZGluZyB6ZXJvcw0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIHZhbCA8IDEwOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgMDogMTEsIDE6IDksIDI6IDEyLCBsZW5ndGg6ICIwMDAyLjAwIiB9Ow0KDQogICAgICAgIHZhciBuZXdBcnIgPSBBcnJheS5wcm90b3R5cGUubWFwLmNhbGwob2JqLCBjYWxsYmFja2ZuKTsNCg0KICAgICAgICByZXR1cm4gbmV3QXJyLmxlbmd0aCA9PT0gMjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.map - when 'length' is a string containing a number with leading zeros","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-3-17.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTkvMTUuNC40LjE5LTMtMTguanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubWFwIC0gdmFsdWUgb2YgJ2xlbmd0aCcgaXMgYSBzdHJpbmcgdGhhdCBjYW4ndCBjb252ZXJ0IHRvIGEgbnVtYmVyDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiB2YWwgPiAxMDsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSB7IGxlbmd0aDogImFzZGYhXyIgfTsNCg0KICAgICAgICB2YXIgbmV3QXJyID0gQXJyYXkucHJvdG90eXBlLm1hcC5jYWxsKG9iaiwgY2FsbGJhY2tmbik7DQoNCiAgICAgICAgcmV0dXJuIG5ld0Fyci5sZW5ndGggPT09IDA7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.map - value of 'length' is a string that can't convert to a number","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-3-18.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTkvMTUuNC40LjE5LTMtMTkuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubWFwIC0gdmFsdWUgb2YgJ2xlbmd0aCcgaXMgYW4gT2JqZWN0IHdoaWNoIGhhcyBhbiBvd24gdG9TdHJpbmcgbWV0aG9kDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiB2YWwgPCAxMDsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSB7DQogICAgICAgICAgICAwOiAxMSwNCiAgICAgICAgICAgIDE6IDksDQoNCiAgICAgICAgICAgIGxlbmd0aDogew0KICAgICAgICAgICAgICAgIHRvU3RyaW5nOiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgIHJldHVybiAnMic7DQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfQ0KICAgICAgICB9Ow0KDQogICAgICAgIHZhciBuZXdBcnIgPSBBcnJheS5wcm90b3R5cGUubWFwLmNhbGwob2JqLCBjYWxsYmFja2ZuKTsNCg0KICAgICAgICByZXR1cm4gbmV3QXJyLmxlbmd0aCA9PT0gMjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.map - value of 'length' is an Object which has an own toString method","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-3-19.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTkvMTUuNC40LjE5LTMtMi5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5tYXAgb24gYW4gQXJyYXktbGlrZSBvYmplY3QgaWYgJ2xlbmd0aCcgaXMgMSAobGVuZ3RoIG92ZXJyaWRkZW4gdG8gdHJ1ZSh0eXBlIGNvbnZlcnNpb24pKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIHZhbCA+IDEwOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgMDogMTEsIGxlbmd0aDogdHJ1ZSB9Ow0KDQogICAgICAgIHZhciBuZXdBcnIgPSBBcnJheS5wcm90b3R5cGUubWFwLmNhbGwob2JqLCBjYWxsYmFja2ZuKTsNCg0KICAgICAgICByZXR1cm4gbmV3QXJyLmxlbmd0aCA9PT0gMTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.map on an Array-like object if 'length' is 1 (length overridden to true(type conversion))","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-3-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTkvMTUuNC40LjE5LTMtMjAuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubWFwIC0gdmFsdWUgb2YgJ2xlbmd0aCcgaXMgYW4gT2JqZWN0IHdoaWNoIGhhcyBhbiBvd24gdmFsdWVPZiBtZXRob2QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiB2YWwgPCAxMDsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSB7DQogICAgICAgICAgICAwOiAxMSwNCiAgICAgICAgICAgIDE6IDksDQoNCiAgICAgICAgICAgIGxlbmd0aDogew0KICAgICAgICAgICAgICAgIHZhbHVlT2Y6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDI7DQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfQ0KICAgICAgICB9Ow0KDQogICAgICAgIHZhciBuZXdBcnIgPSBBcnJheS5wcm90b3R5cGUubWFwLmNhbGwob2JqLCBjYWxsYmFja2ZuKTsNCg0KICAgICAgICByZXR1cm4gbmV3QXJyLmxlbmd0aCA9PT0gMjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.map - value of 'length' is an Object which has an own valueOf method","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-3-20.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTkvMTUuNC40LjE5LTMtMjEuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubWFwIC0gJ2xlbmd0aCcgaXMgYW4gb2JqZWN0IHRoYXQgaGFzIGFuIG93biB2YWx1ZU9mIG1ldGhvZCB0aGF0IHJldHVybnMgYW4gb2JqZWN0IGFuZCB0b1N0cmluZyBtZXRob2QgdGhhdCByZXR1cm5zIGEgc3RyaW5nDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiB2YWwgPCAxMDsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBmaXJzdFN0ZXBPY2N1cmVkID0gZmFsc2U7DQogICAgICAgIHZhciBzZWNvbmRTdGVwT2NjdXJlZCA9IGZhbHNlOw0KICAgICAgICB2YXIgb2JqID0gew0KICAgICAgICAgICAgMDogMTEsDQogICAgICAgICAgICAxOiA5LA0KDQogICAgICAgICAgICBsZW5ndGg6IHsNCiAgICAgICAgICAgICAgICB2YWx1ZU9mOiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgIGZpcnN0U3RlcE9jY3VyZWQgPSB0cnVlOw0KICAgICAgICAgICAgICAgICAgICByZXR1cm4ge307DQogICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICB0b1N0cmluZzogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAgICBzZWNvbmRTdGVwT2NjdXJlZCA9IHRydWU7DQogICAgICAgICAgICAgICAgICAgIHJldHVybiAnMic7DQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfQ0KICAgICAgICB9Ow0KDQogICAgICAgIHZhciBuZXdBcnIgPSBBcnJheS5wcm90b3R5cGUubWFwLmNhbGwob2JqLCBjYWxsYmFja2ZuKTsNCg0KICAgICAgICByZXR1cm4gbmV3QXJyLmxlbmd0aCA9PT0gMiAmJiBmaXJzdFN0ZXBPY2N1cmVkICYmIHNlY29uZFN0ZXBPY2N1cmVkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.map - 'length' is an object that has an own valueOf method that returns an object and toString method that returns a string","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-3-21.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTkvMTUuNC40LjE5LTMtMjIuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubWFwIHRocm93cyBUeXBlRXJyb3IgZXhjZXB0aW9uIHdoZW4gJ2xlbmd0aCcgaXMgYW4gb2JqZWN0IHdpdGggdG9TdHJpbmcgYW5kIHZhbHVlT2YgbWV0aG9kcyB0aGF0IGRvbu+/vXQgcmV0dXJuIHByaW1pdGl2ZSB2YWx1ZXMNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIHZhbCA+IDEwOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IHsNCiAgICAgICAgICAgIDE6IDExLA0KICAgICAgICAgICAgMjogMTIsDQoNCiAgICAgICAgICAgIGxlbmd0aDogew0KICAgICAgICAgICAgICAgIHZhbHVlT2Y6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHt9Ow0KICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgdG9TdHJpbmc6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHt9Ow0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0NCiAgICAgICAgfTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlLm1hcC5jYWxsKG9iaiwgY2FsbGJhY2tmbik7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGV4KSB7DQogICAgICAgICAgICByZXR1cm4gZXggaW5zdGFuY2VvZiBUeXBlRXJyb3I7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.map throws TypeError exception when 'length' is an object with toString and valueOf methods that don\ufffdt return primitive values","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-3-22.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTkvMTUuNC40LjE5LTMtMjMuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubWFwIHVzZXMgaW5oZXJpdGVkIHZhbHVlT2YgbWV0aG9kIHdoZW4gJ2xlbmd0aCcgaXMgYW4gb2JqZWN0IHdpdGggYW4gb3duIHRvU3RyaW5nIGFuZCBpbmhlcml0ZWQgdmFsdWVPZiBtZXRob2RzDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiB2YWwgPCAxMDsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciB2YWx1ZU9mQWNjZXNzZWQgPSBmYWxzZTsNCiAgICAgICAgdmFyIHRvU3RyaW5nQWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICB2YXIgcHJvdG8gPSB7DQogICAgICAgICAgICB2YWx1ZU9mOiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgdmFsdWVPZkFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgICAgICByZXR1cm4gMjsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfTsNCg0KICAgICAgICB2YXIgQ29uID0gZnVuY3Rpb24gKCkgeyB9Ow0KICAgICAgICBDb24ucHJvdG90eXBlID0gcHJvdG87DQoNCiAgICAgICAgdmFyIGNoaWxkID0gbmV3IENvbigpOw0KDQogICAgICAgIGNoaWxkLnRvU3RyaW5nID0gZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgdG9TdHJpbmdBY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICByZXR1cm4gJzEnOw0KICAgICAgICB9Ow0KDQogICAgICAgIHZhciBvYmogPSB7DQogICAgICAgICAgICAwOiAxMSwNCiAgICAgICAgICAgIDE6IDksDQogICAgICAgICAgICBsZW5ndGg6IGNoaWxkDQogICAgICAgIH07DQoNCiAgICAgICAgdmFyIG5ld0FyciA9IEFycmF5LnByb3RvdHlwZS5tYXAuY2FsbChvYmosIGNhbGxiYWNrZm4pOw0KDQogICAgICAgIHJldHVybiBuZXdBcnIubGVuZ3RoID09PSAyICYmIHZhbHVlT2ZBY2Nlc3NlZCAmJiAhdG9TdHJpbmdBY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.map uses inherited valueOf method when 'length' is an object with an own toString and inherited valueOf methods","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-3-23.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTkvMTUuNC40LjE5LTMtMjQuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubWFwIC0gdmFsdWUgb2YgJ2xlbmd0aCcgaXMgYSBwb3NpdGl2ZSBub24taW50ZWdlciwgZW5zdXJlIHRydW5jYXRpb24gb2NjdXJzIGluIHRoZSBwcm9wZXIgZGlyZWN0aW9uDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiB2YWwgPCAxMDsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSB7DQogICAgICAgICAgICAwOiAxMSwNCiAgICAgICAgICAgIDE6IDksDQogICAgICAgICAgICBsZW5ndGg6IDIuNjg1DQogICAgICAgIH07DQoNCiAgICAgICAgdmFyIG5ld0FyciA9IEFycmF5LnByb3RvdHlwZS5tYXAuY2FsbChvYmosIGNhbGxiYWNrZm4pOw0KDQogICAgICAgIHJldHVybiBuZXdBcnIubGVuZ3RoID09PSAyOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.map - value of 'length' is a positive non-integer, ensure truncation occurs in the proper direction","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-3-24.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTkvMTUuNC40LjE5LTMtMjUuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubWFwIC0gdmFsdWUgb2YgJ2xlbmd0aCcgaXMgYSBuZWdhdGl2ZSBub24taW50ZWdlciwgZW5zdXJlIHRydW5jYXRpb24gb2NjdXJzIGluIHRoZSBwcm9wZXIgZGlyZWN0aW9uDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiB2YWwgPCAxMDsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSB7DQogICAgICAgICAgICAwOiAxMSwNCiAgICAgICAgICAgIDE6IDksDQogICAgICAgICAgICBsZW5ndGg6IC00Mjk0OTY3Mjk0LjUNCiAgICAgICAgfTsNCg0KICAgICAgICB2YXIgbmV3QXJyID0gQXJyYXkucHJvdG90eXBlLm1hcC5jYWxsKG9iaiwgY2FsbGJhY2tmbik7DQoNCiAgICAgICAgcmV0dXJuIG5ld0Fyci5sZW5ndGggPT09IDI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.map - value of 'length' is a negative non-integer, ensure truncation occurs in the proper direction","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-3-25.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTkvMTUuNC40LjE5LTMtMjguanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubWFwIC0gdmFsdWUgb2YgJ2xlbmd0aCcgaXMgYm91bmRhcnkgdmFsdWUgKDJeMzIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiB2YWwgPiAxMDsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSB7DQogICAgICAgICAgICAwOiAxMiwNCiAgICAgICAgICAgIGxlbmd0aDogNDI5NDk2NzI5Ng0KICAgICAgICB9Ow0KDQogICAgICAgIHZhciBuZXdBcnIgPSBBcnJheS5wcm90b3R5cGUubWFwLmNhbGwob2JqLCBjYWxsYmFja2ZuKTsNCg0KICAgICAgICByZXR1cm4gbmV3QXJyLmxlbmd0aCA9PT0gMDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.map - value of 'length' is boundary value (2^32)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-3-28.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTkvMTUuNC40LjE5LTMtMjkuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubWFwIC0gdmFsdWUgb2YgJ2xlbmd0aCcgaXMgYm91bmRhcnkgdmFsdWUgKDJeMzIgKyAxKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gdmFsID4gMTA7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0gew0KICAgICAgICAgICAgMDogMTEsDQogICAgICAgICAgICAxOiA5LA0KICAgICAgICAgICAgbGVuZ3RoOiA0Mjk0OTY3Mjk3DQogICAgICAgIH07DQoNCiAgICAgICAgdmFyIG5ld0FyciA9IEFycmF5LnByb3RvdHlwZS5tYXAuY2FsbChvYmosIGNhbGxiYWNrZm4pOw0KICAgICAgICByZXR1cm4gbmV3QXJyLmxlbmd0aCA9PT0gMTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.map - value of 'length' is boundary value (2^32 + 1)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-3-29.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTkvMTUuNC40LjE5LTMtMy5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5tYXAgLSB2YWx1ZSBvZiAnbGVuZ3RoJyBpcyBhIG51bWJlciAodmFsdWUgaXMgMCkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiB2YWwgPiAxMDsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSB7IDA6IDExLCBsZW5ndGg6IDAgfTsNCg0KICAgICAgICB2YXIgbmV3QXJyID0gQXJyYXkucHJvdG90eXBlLm1hcC5jYWxsKG9iaiwgY2FsbGJhY2tmbik7DQoNCiAgICAgICAgcmV0dXJuIG5ld0Fyci5sZW5ndGggPT09IDA7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.map - value of 'length' is a number (value is 0)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-3-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTkvMTUuNC40LjE5LTMtNC5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5tYXAgLSB2YWx1ZSBvZiAnbGVuZ3RoJyBpcyBhIG51bWJlciAodmFsdWUgaXMgKzApDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gdmFsID4gMTA7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0geyAwOiAxMSwgbGVuZ3RoOiArMCB9Ow0KDQogICAgICAgIHZhciBuZXdBcnIgPSBBcnJheS5wcm90b3R5cGUubWFwLmNhbGwob2JqLCBjYWxsYmFja2ZuKTsNCg0KICAgICAgICByZXR1cm4gbmV3QXJyLmxlbmd0aCA9PT0gMDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.map - value of 'length' is a number (value is +0)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-3-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTkvMTUuNC40LjE5LTMtNS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5tYXAgLSB2YWx1ZSBvZiAnbGVuZ3RoJyBpcyBhIG51bWJlciAodmFsdWUgaXMgLTApDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gdmFsID4gMTA7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0geyAwOiAxMSwgbGVuZ3RoOiAtMCB9Ow0KDQogICAgICAgIHZhciBuZXdBcnIgPSBBcnJheS5wcm90b3R5cGUubWFwLmNhbGwob2JqLCBjYWxsYmFja2ZuKTsNCg0KICAgICAgICByZXR1cm4gbmV3QXJyLmxlbmd0aCA9PT0gMDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.map - value of 'length' is a number (value is -0)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-3-5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTkvMTUuNC40LjE5LTMtNi5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5tYXAgLSAnbGVuZ3RoJyBpcyBhIHN0cmluZyBjb250YWluaW5nIGEgcG9zaXRpdmUgbnVtYmVyDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gdmFsID4gMTA7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0geyAwOiAxMCwgMTogMTIsIDI6IDksIGxlbmd0aDogMiB9Ow0KDQogICAgICAgIHZhciBuZXdBcnIgPSBBcnJheS5wcm90b3R5cGUubWFwLmNhbGwob2JqLCBjYWxsYmFja2ZuKTsNCg0KICAgICAgICByZXR1cm4gbmV3QXJyLmxlbmd0aCA9PT0gMjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.map - 'length' is a string containing a positive number","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-3-6.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTkvMTUuNC40LjE5LTMtNy5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5tYXAgLSAnbGVuZ3RoJyBpcyBhIHN0cmluZyBjb250YWluaW5nIGEgbmVnYXRpdmUgbnVtYmVyDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gdmFsID4gMTA7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0geyAwOiAxMCwgMTogMTIsIDI6IDksIGxlbmd0aDogLTQyOTQ5NjcyOTQgfTsNCg0KICAgICAgICB2YXIgbmV3QXJyID0gQXJyYXkucHJvdG90eXBlLm1hcC5jYWxsKG9iaiwgY2FsbGJhY2tmbik7DQoNCiAgICAgICAgcmV0dXJuIG5ld0Fyci5sZW5ndGggPT09IDI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.map - 'length' is a string containing a negative number","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-3-7.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTkvMTUuNC40LjE5LTMtOC5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5tYXAgLSB2YWx1ZSBvZiAnbGVuZ3RoJyBpcyBhIG51bWJlciAodmFsdWUgaXMgSW5maW5pdHkpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gdmFsIDwgMTA7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0geyAwOiA5LCBsZW5ndGg6IEluZmluaXR5IH07DQoNCiAgICAgICAgdmFyIG5ld0FyciA9IEFycmF5LnByb3RvdHlwZS5tYXAuY2FsbChvYmosIGNhbGxiYWNrZm4pOw0KDQogICAgICAgIHJldHVybiBuZXdBcnIubGVuZ3RoID09PSAwOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.map - value of 'length' is a number (value is Infinity)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-3-8.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTkvMTUuNC40LjE5LTMtOS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5tYXAgLSB2YWx1ZSBvZiAnbGVuZ3RoJyBpcyBhIG51bWJlciAodmFsdWUgaXMgLUluZmluaXR5KQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIHZhbCA8IDEwOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgMDogOSwgbGVuZ3RoOiAtSW5maW5pdHkgfTsNCg0KICAgICAgICB2YXIgbmV3QXJyID0gQXJyYXkucHJvdG90eXBlLm1hcC5jYWxsKG9iaiwgY2FsbGJhY2tmbik7DQoNCiAgICAgICAgcmV0dXJuIG5ld0Fyci5sZW5ndGggPT09IDA7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.map - value of 'length' is a number (value is -Infinity)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-3-9.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTkvMTUuNC40LjE5LTQtMS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5tYXAgdGhyb3dzIFR5cGVFcnJvciBpZiBjYWxsYmFja2ZuIGlzIHVuZGVmaW5lZA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgdmFyIGFyciA9IG5ldyBBcnJheSgxMCk7DQogIHRyeSB7DQogICAgYXJyLm1hcCgpOyAgICANCiAgfQ0KICBjYXRjaChlKSB7DQogICAgaWYoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikNCiAgICAgIHJldHVybiB0cnVlOyAgDQogIH0NCg0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.map throws TypeError if callbackfn is undefined","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-4-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTkvMTUuNC40LjE5LTQtMTAuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubWFwIC0gdGhlIGV4Y2VwdGlvbiBpcyBub3QgdGhyb3duIGlmIGV4Y2VwdGlvbiB3YXMgdGhyb3duIGJ5IHN0ZXAgMg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgMDogMTEsIDE6IDEyIH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgImxlbmd0aCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHRocm93IG5ldyBTeW50YXhFcnJvcigpOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlLm1hcC5jYWxsKG9iaiwgdW5kZWZpbmVkKTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZXgpIHsNCiAgICAgICAgICAgIHJldHVybiAhKGV4IGluc3RhbmNlb2YgVHlwZUVycm9yKTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.map - the exception is not thrown if exception was thrown by step 2","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-4-10.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTkvMTUuNC40LjE5LTQtMTEuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubWFwIC0gdGhlIGV4Y2VwdGlvbiBpcyBub3QgdGhyb3duIGlmIGV4Y2VwdGlvbiB3YXMgdGhyb3duIGJ5IHN0ZXAgMw0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgMDogMTEsIDE6IDEyIH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgImxlbmd0aCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiB7DQogICAgICAgICAgICAgICAgICAgIHRvU3RyaW5nOiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgICAgICB0aHJvdyBuZXcgU3ludGF4RXJyb3IoKTsNCiAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgIH07DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBBcnJheS5wcm90b3R5cGUubWFwLmNhbGwob2JqLCB1bmRlZmluZWQpOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChleCkgew0KICAgICAgICAgICAgcmV0dXJuICEoZXggaW5zdGFuY2VvZiBUeXBlRXJyb3IpOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.map - the exception is not thrown if exception was thrown by step 3","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-4-11.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTkvMTUuNC40LjE5LTQtMTIuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubWFwIC0gJ2NhbGxiYWNrZm4nIGlzIGEgZnVuY3Rpb24NCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIHZhbCA+IDEwOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIHRlc3RSZXN1bHQgPSBbMTEsIDldLm1hcChjYWxsYmFja2ZuKTsNCiAgICAgICAgcmV0dXJuIHRlc3RSZXN1bHQubGVuZ3RoID09PSAyICYmIHRlc3RSZXN1bHRbMF0gPT09IHRydWUgJiYgdGVzdFJlc3VsdFsxXSA9PT0gZmFsc2U7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.map - 'callbackfn' is a function","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-4-12.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTkvMTUuNC40LjE5LTQtMTUuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubWFwIC0gY2FsbGluZyB3aXRoIG5vIGNhbGxiYWNrZm4gaXMgdGhlIHNhbWUgYXMgcGFzc2luZyB1bmRlZmluZWQgZm9yIGNhbGxiYWNrZm4NCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7IDEwOiAxMCB9Ow0KICAgICAgICB2YXIgbGVuZ3RoQWNjZXNzZWQgPSBmYWxzZTsNCiAgICAgICAgdmFyIGxvb3BBY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJsZW5ndGgiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICBsZW5ndGhBY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICAgICAgcmV0dXJuIDIwOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgIjAiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICBsb29wQWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgICAgIHJldHVybiAxMDsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIEFycmF5LnByb3RvdHlwZS5tYXAuY2FsbChvYmopOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFR5cGVFcnJvciAmJiBsZW5ndGhBY2Nlc3NlZCAmJiAhbG9vcEFjY2Vzc2VkOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.map - calling with no callbackfn is the same as passing undefined for callbackfn","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-4-15.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTkvMTUuNC40LjE5LTQtMi5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5tYXAgdGhyb3dzIFJlZmVyZW5jZUVycm9yIGlmIGNhbGxiYWNrZm4gaXMgdW5yZWZlcmVuY2VkDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICB2YXIgYXJyID0gbmV3IEFycmF5KDEwKTsNCiAgdHJ5IHsNCiAgICBhcnIubWFwKGZvbyk7ICAgIA0KICB9DQogIGNhdGNoKGUpIHsNCiAgICBpZihlIGluc3RhbmNlb2YgUmVmZXJlbmNlRXJyb3IpDQogICAgICByZXR1cm4gdHJ1ZTsgIA0KICB9DQoNCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.map throws ReferenceError if callbackfn is unreferenced","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-4-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTkvMTUuNC40LjE5LTQtMy5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5tYXAgdGhyb3dzIFR5cGVFcnJvciBpZiBjYWxsYmFja2ZuIGlzIG51bGwNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogIHZhciBhcnIgPSBuZXcgQXJyYXkoMTApOw0KICB0cnkgew0KICAgIGFyci5tYXAobnVsbCk7ICAgIA0KICB9DQogIGNhdGNoKGUpIHsNCiAgICBpZihlIGluc3RhbmNlb2YgVHlwZUVycm9yKQ0KICAgICAgcmV0dXJuIHRydWU7ICANCiAgfQ0KDQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.map throws TypeError if callbackfn is null","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-4-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTkvMTUuNC40LjE5LTQtNC5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5tYXAgdGhyb3dzIFR5cGVFcnJvciBpZiBjYWxsYmFja2ZuIGlzIGJvb2xlYW4NCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogIHZhciBhcnIgPSBuZXcgQXJyYXkoMTApOw0KICB0cnkgew0KICAgIGFyci5tYXAodHJ1ZSk7ICAgIA0KICB9DQogIGNhdGNoKGUpIHsNCiAgICBpZihlIGluc3RhbmNlb2YgVHlwZUVycm9yKQ0KICAgICAgcmV0dXJuIHRydWU7ICANCiAgfQ0KDQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.map throws TypeError if callbackfn is boolean","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-4-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTkvMTUuNC40LjE5LTQtNS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5tYXAgdGhyb3dzIFR5cGVFcnJvciBpZiBjYWxsYmFja2ZuIGlzIG51bWJlcg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgdmFyIGFyciA9IG5ldyBBcnJheSgxMCk7DQogIHRyeSB7DQogICAgYXJyLm1hcCg1KTsgICAgDQogIH0NCiAgY2F0Y2goZSkgew0KICAgIGlmKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpDQogICAgICByZXR1cm4gdHJ1ZTsgIA0KICB9DQoNCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.map throws TypeError if callbackfn is number","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-4-5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTkvMTUuNC40LjE5LTQtNi5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5tYXAgdGhyb3dzIFR5cGVFcnJvciBpZiBjYWxsYmFja2ZuIGlzIHN0cmluZw0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgdmFyIGFyciA9IG5ldyBBcnJheSgxMCk7DQogIHRyeSB7DQogICAgYXJyLm1hcCgiYWJjIik7ICAgIA0KICB9DQogIGNhdGNoKGUpIHsNCiAgICBpZihlIGluc3RhbmNlb2YgVHlwZUVycm9yKQ0KICAgICAgcmV0dXJuIHRydWU7ICANCiAgfQ0KDQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.map throws TypeError if callbackfn is string","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-4-6.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTkvMTUuNC40LjE5LTQtNy5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5tYXAgdGhyb3dzIFR5cGVFcnJvciBpZiBjYWxsYmFja2ZuIGlzIE9iamVjdCB3aXRob3V0IENhbGwgaW50ZXJuYWwgbWV0aG9kDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICB2YXIgYXJyID0gbmV3IEFycmF5KDEwKTsNCiAgdHJ5IHsNCiAgICBhcnIubWFwKG5ldyBPYmplY3QoKSk7ICAgIA0KICB9DQogIGNhdGNoKGUpIHsNCiAgICBpZihlIGluc3RhbmNlb2YgVHlwZUVycm9yKQ0KICAgICAgcmV0dXJuIHRydWU7ICANCiAgfQ0KDQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.map throws TypeError if callbackfn is Object without Call internal method","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-4-7.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTkvMTUuNC40LjE5LTQtOC5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5tYXAgLSBTaWRlIGVmZmVjdHMgcHJvZHVjZWQgYnkgc3RlcCAyIGFyZSB2aXNpYmxlIHdoZW4gYW4gZXhjZXB0aW9uIG9jY3Vycw0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgMDogMTEsIDE6IDEyIH07DQoNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgImxlbmd0aCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgICAgICByZXR1cm4gMjsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIEFycmF5LnByb3RvdHlwZS5tYXAuY2FsbChvYmosIG51bGwpOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChleCkgew0KICAgICAgICAgICAgcmV0dXJuIGV4IGluc3RhbmNlb2YgVHlwZUVycm9yICYmIGFjY2Vzc2VkOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.map - Side effects produced by step 2 are visible when an exception occurs","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-4-8.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTkvMTUuNC40LjE5LTQtOS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5tYXAgLSBTaWRlIGVmZmVjdHMgcHJvZHVjZWQgYnkgc3RlcCAzIGFyZSB2aXNpYmxlIHdoZW4gYW4gZXhjZXB0aW9uIG9jY3Vycw0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgMDogMTEsIDE6IDEyIH07DQoNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgImxlbmd0aCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiB7DQogICAgICAgICAgICAgICAgICAgIHRvU3RyaW5nOiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gIjIiOw0KICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgfTsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIEFycmF5LnByb3RvdHlwZS5tYXAuY2FsbChvYmosIG51bGwpOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChleCkgew0KICAgICAgICAgICAgcmV0dXJuIGV4IGluc3RhbmNlb2YgVHlwZUVycm9yICYmIGFjY2Vzc2VkOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.map - Side effects produced by step 3 are visible when an exception occurs","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-4-9.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTkvMTUuNC40LjE5LTUtMS1zLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLm1hcCAtIHRoaXNBcmcgbm90IHBhc3NlZCB0byBzdHJpY3QgY2FsbGJhY2tmbg0KICogQG9ubHlTdHJpY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgaW5uZXJUaGlzQ29ycmVjdCA9IGZhbHNlOw0KICANCiAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgInVzZSBzdHJpY3QiOw0KICAgIGlubmVyVGhpc0NvcnJlY3QgPSB0aGlzPT09dW5kZWZpbmVkOw0KICAgIHJldHVybiB0cnVlOw0KICB9DQoNCiAgWzFdLm1hcChjYWxsYmFja2ZuKTsNCiAgcmV0dXJuIGlubmVyVGhpc0NvcnJlY3Q7ICAgIA0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.map - thisArg not passed to strict callbackfn","onlyStrict":"","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-5-1-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTkvMTUuNC40LjE5LTUtMS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5tYXAgLSB0aGlzQXJnIG5vdCBwYXNzZWQNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB0cnkgew0KICAgIGZuR2xvYmFsT2JqZWN0KCkuXzE1XzRfNF8xOV81XzEgPSB0cnVlOw0KICAgIHZhciBfMTVfNF80XzE5XzVfMSA9IGZhbHNlOw0KICANCiAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgIHJldHVybiB0aGlzLl8xNV80XzRfMTlfNV8xOw0KICAgIH0NCiAgICB2YXIgc3JjQXJyID0gWzFdOw0KICAgIHZhciByZXNBcnIgPSBzcmNBcnIubWFwKGNhbGxiYWNrZm4pOw0KICAgIGlmKCByZXNBcnJbMF0gPT09IHRydWUpDQogICAgICByZXR1cm4gdHJ1ZTsgICAgDQoJDQoJcmV0dXJuIGZhbHNlOw0KICB9DQogIGZpbmFsbHkgew0KCWRlbGV0ZSBmbkdsb2JhbE9iamVjdCgpLl8xNV80XzRfMTlfNV8xOw0KICB9ICANCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.map - thisArg not passed","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-5-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTkvMTUuNC40LjE5LTUtMTAuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubWFwIC0gQXJyYXkgb2JqZWN0IGNhbiBiZSB1c2VkIGFzIHRoaXNBcmcNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmpBcnJheSA9IG5ldyBBcnJheSgyKTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiB0aGlzID09PSBvYmpBcnJheTsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gWzExXS5tYXAoY2FsbGJhY2tmbiwgb2JqQXJyYXkpOw0KICAgICAgICByZXR1cm4gdGVzdFJlc3VsdFswXSA9PT0gdHJ1ZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.map - Array object can be used as thisArg","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-5-10.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTkvMTUuNC40LjE5LTUtMTEuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubWFwIC0gU3RyaW5nIG9iamVjdCBjYW4gYmUgdXNlZCBhcyB0aGlzQXJnDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqU3RyaW5nID0gbmV3IFN0cmluZygpOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIHRoaXMgPT09IG9ialN0cmluZzsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gWzExXS5tYXAoY2FsbGJhY2tmbiwgb2JqU3RyaW5nKTsNCiAgICAgICAgcmV0dXJuIHRlc3RSZXN1bHRbMF0gPT09IHRydWU7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.map - String object can be used as thisArg","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-5-11.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTkvMTUuNC40LjE5LTUtMTIuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubWFwIC0gQm9vbGVhbiBvYmplY3QgY2FuIGJlIHVzZWQgYXMgdGhpc0FyZw0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iakJvb2xlYW4gPSBuZXcgQm9vbGVhbigpOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIHRoaXMgPT09IG9iakJvb2xlYW47DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgdGVzdFJlc3VsdCA9IFsxMV0ubWFwKGNhbGxiYWNrZm4sIG9iakJvb2xlYW4pOw0KICAgICAgICByZXR1cm4gdGVzdFJlc3VsdFswXSA9PT0gdHJ1ZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.map - Boolean object can be used as thisArg","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-5-12.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTkvMTUuNC40LjE5LTUtMTMuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubWFwIC0gTnVtYmVyIG9iamVjdCBjYW4gYmUgdXNlZCBhcyB0aGlzQXJnDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqTnVtYmVyID0gbmV3IE51bWJlcigpOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIHRoaXMgPT09IG9iak51bWJlcjsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gWzExXS5tYXAoY2FsbGJhY2tmbiwgb2JqTnVtYmVyKTsNCiAgICAgICAgcmV0dXJuIHRlc3RSZXN1bHRbMF0gPT09IHRydWU7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.map - Number object can be used as thisArg","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-5-13.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTkvMTUuNC40LjE5LTUtMTQuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubWFwIC0gdGhlIE1hdGggb2JqZWN0IGNhbiBiZSB1c2VkIGFzIHRoaXNBcmcNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIHRoaXMgPT09IE1hdGg7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgdGVzdFJlc3VsdCA9IFsxMV0ubWFwKGNhbGxiYWNrZm4sIE1hdGgpOw0KICAgICAgICByZXR1cm4gdGVzdFJlc3VsdFswXSA9PT0gdHJ1ZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.map - the Math object can be used as thisArg","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-5-14.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTkvMTUuNC40LjE5LTUtMTUuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubWFwIC0gRGF0ZSBvYmplY3QgY2FuIGJlIHVzZWQgYXMgdGhpc0FyZw0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iakRhdGUgPSBuZXcgRGF0ZSgpOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIHRoaXMgPT09IG9iakRhdGU7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgdGVzdFJlc3VsdCA9IFsxMV0ubWFwKGNhbGxiYWNrZm4sIG9iakRhdGUpOw0KICAgICAgICByZXR1cm4gdGVzdFJlc3VsdFswXSA9PT0gdHJ1ZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.map - Date object can be used as thisArg","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-5-15.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTkvMTUuNC40LjE5LTUtMTYuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubWFwIC0gUmVnRXhwIG9iamVjdCBjYW4gYmUgdXNlZCBhcyB0aGlzQXJnDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqUmVnRXhwID0gbmV3IFJlZ0V4cCgpOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIHRoaXMgPT09IG9ialJlZ0V4cDsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gWzExXS5tYXAoY2FsbGJhY2tmbiwgb2JqUmVnRXhwKTsNCiAgICAgICAgcmV0dXJuIHRlc3RSZXN1bHRbMF0gPT09IHRydWU7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.map - RegExp object can be used as thisArg","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-5-16.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTkvMTUuNC40LjE5LTUtMTcuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubWFwIC0gdGhlIEpTT04gb2JqZWN0IGNhbiBiZSB1c2VkIGFzIHRoaXNBcmcNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIHRoaXMgPT09IEpTT047DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgdGVzdFJlc3VsdCA9IFsxMV0ubWFwKGNhbGxiYWNrZm4sIEpTT04pOw0KICAgICAgICByZXR1cm4gdGVzdFJlc3VsdFswXSA9PT0gdHJ1ZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.map - the JSON object can be used as thisArg","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-5-17.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTkvMTUuNC40LjE5LTUtMTguanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubWFwIC0gRXJyb3Igb2JqZWN0IGNhbiBiZSB1c2VkIGFzIHRoaXNBcmcNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmpFcnJvciA9IG5ldyBSYW5nZUVycm9yKCk7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gdGhpcyA9PT0gb2JqRXJyb3I7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgdGVzdFJlc3VsdCA9IFsxMV0ubWFwKGNhbGxiYWNrZm4sIG9iakVycm9yKTsNCiAgICAgICAgcmV0dXJuIHRlc3RSZXN1bHRbMF0gPT09IHRydWU7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.map - Error object can be used as thisArg","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-5-18.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTkvMTUuNC40LjE5LTUtMTkuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubWFwIC0gdGhlIEFyZ3VtZW50cyBvYmplY3QgY2FuIGJlIHVzZWQgYXMgdGhpc0FyZw0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFyZzsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiB0aGlzID09PSBhcmc7DQogICAgICAgIH0NCg0KICAgICAgICBhcmcgPSAoZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgcmV0dXJuIGFyZ3VtZW50czsNCiAgICAgICAgfSgxLCAyLCAzKSk7DQoNCiAgICAgICAgdmFyIHRlc3RSZXN1bHQgPSBbMTFdLm1hcChjYWxsYmFja2ZuLCBhcmcpOw0KICAgICAgICByZXR1cm4gdGVzdFJlc3VsdFswXSA9PT0gdHJ1ZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.map - the Arguments object can be used as thisArg","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-5-19.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTkvMTUuNC40LjE5LTUtMi5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5tYXAgLSB0aGlzQXJnIGlzIE9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciByZXMgPSBmYWxzZTsNCiAgdmFyIG8gPSBuZXcgT2JqZWN0KCk7DQogIG8ucmVzID0gdHJ1ZTsNCiAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKQ0KICB7DQogICAgcmV0dXJuIHRoaXMucmVzOw0KICB9DQoNCiAgdmFyIHNyY0FyciA9IFsxXTsNCiAgdmFyIHJlc0FyciA9IHNyY0Fyci5tYXAoY2FsbGJhY2tmbixvKTsNCiAgaWYoIHJlc0FyclswXSA9PT0gdHJ1ZSkNCiAgICByZXR1cm4gdHJ1ZTsgICAgDQoNCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.map - thisArg is Object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-5-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTkvMTUuNC40LjE5LTUtMjEuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubWFwIC0gdGhlIGdsb2JhbCBvYmplY3QgY2FuIGJlIHVzZWQgYXMgdGhpc0FyZw0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gdGhpcyA9PT0gZm5HbG9iYWxPYmplY3QoKTsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gWzExXS5tYXAoY2FsbGJhY2tmbiwgZm5HbG9iYWxPYmplY3QoKSk7DQogICAgICAgIHJldHVybiB0ZXN0UmVzdWx0WzBdID09PSB0cnVlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.map - the global object can be used as thisArg","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-5-21.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTkvMTUuNC40LjE5LTUtMjIuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubWFwIC0gYm9vbGVhbiBwcmltaXRpdmUgY2FuIGJlIHVzZWQgYXMgdGhpc0FyZw0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gdGhpcy52YWx1ZU9mKCkgPT09IGZhbHNlOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIHRlc3RSZXN1bHQgPSBbMTFdLm1hcChjYWxsYmFja2ZuLCBmYWxzZSk7DQogICAgICAgIHJldHVybiB0ZXN0UmVzdWx0WzBdID09PSB0cnVlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.map - boolean primitive can be used as thisArg","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-5-22.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTkvMTUuNC40LjE5LTUtMjMuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubWFwIC0gbnVtYmVyIHByaW1pdGl2ZSBjYW4gYmUgdXNlZCBhcyB0aGlzQXJnDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiB0aGlzLnZhbHVlT2YoKSA9PT0gMTAxOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIHRlc3RSZXN1bHQgPSBbMTFdLm1hcChjYWxsYmFja2ZuLCAxMDEpOw0KICAgICAgICByZXR1cm4gdGVzdFJlc3VsdFswXSA9PT0gdHJ1ZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.map - number primitive can be used as thisArg","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-5-23.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTkvMTUuNC40LjE5LTUtMjQuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubWFwIC0gc3RyaW5nIHByaW1pdGl2ZSBjYW4gYmUgdXNlZCBhcyB0aGlzQXJnDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiB0aGlzLnZhbHVlT2YoKSA9PT0gImFiYyI7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgdGVzdFJlc3VsdCA9IFsxMV0ubWFwKGNhbGxiYWNrZm4sICJhYmMiKTsNCiAgICAgICAgcmV0dXJuIHRlc3RSZXN1bHRbMF0gPT09IHRydWU7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.map - string primitive can be used as thisArg","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-5-24.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTkvMTUuNC40LjE5LTUtMy5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5tYXAgLSB0aGlzQXJnIGlzIEFycmF5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIHJlcyA9IGZhbHNlOw0KICB2YXIgYSA9IG5ldyBBcnJheSgpOw0KICBhLnJlcyA9IHRydWU7DQogIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikNCiAgew0KICAgIHJldHVybiB0aGlzLnJlczsNCiAgfQ0KDQogIHZhciBzcmNBcnIgPSBbMV07DQogIHZhciByZXNBcnIgPSBzcmNBcnIubWFwKGNhbGxiYWNrZm4sYSk7DQogIGlmKCByZXNBcnJbMF0gPT09IHRydWUpDQogICAgcmV0dXJuIHRydWU7ICAgIA0KDQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.map - thisArg is Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-5-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTkvMTUuNC40LjE5LTUtNC5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5tYXAgLSB0aGlzQXJnIGlzIG9iamVjdCBmcm9tIG9iamVjdCB0ZW1wbGF0ZShwcm90b3R5cGUpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIHJlcyA9IGZhbHNlOw0KICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopDQogIHsNCiAgICByZXR1cm4gdGhpcy5yZXM7DQogIH0NCiAgDQogIGZ1bmN0aW9uIGZvbygpe30NCiAgZm9vLnByb3RvdHlwZS5yZXMgPSB0cnVlOw0KICB2YXIgZiA9IG5ldyBmb28oKTsNCiAgDQogIHZhciBzcmNBcnIgPSBbMV07DQogIHZhciByZXNBcnIgPSBzcmNBcnIubWFwKGNhbGxiYWNrZm4sZik7DQogIGlmKCByZXNBcnJbMF0gPT09IHRydWUpDQogICAgcmV0dXJuIHRydWU7ICAgIA0KDQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.map - thisArg is object from object template(prototype)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-5-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTkvMTUuNC40LjE5LTUtNS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5tYXAgLSB0aGlzQXJnIGlzIG9iamVjdCBmcm9tIG9iamVjdCB0ZW1wbGF0ZQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciByZXMgPSBmYWxzZTsNCiAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKQ0KICB7DQogICAgcmV0dXJuIHRoaXMucmVzOw0KICB9DQoNCiAgZnVuY3Rpb24gZm9vKCl7fQ0KICB2YXIgZiA9IG5ldyBmb28oKTsNCiAgZi5yZXMgPSB0cnVlOw0KICANCiAgdmFyIHNyY0FyciA9IFsxXTsNCiAgdmFyIHJlc0FyciA9IHNyY0Fyci5tYXAoY2FsbGJhY2tmbixmKTsNCiAgaWYoIHJlc0FyclswXSA9PT0gdHJ1ZSkNCiAgICByZXR1cm4gdHJ1ZTsgICAgDQoNCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.map - thisArg is object from object template","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-5-5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTkvMTUuNC40LjE5LTUtNi5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5tYXAgLSB0aGlzQXJnIGlzIGZ1bmN0aW9uDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIHJlcyA9IGZhbHNlOw0KICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopDQogIHsNCiAgICByZXR1cm4gdGhpcy5yZXM7DQogIH0NCg0KICBmdW5jdGlvbiBmb28oKXt9DQogIGZvby5yZXMgPSB0cnVlOw0KICANCiAgdmFyIHNyY0FyciA9IFsxXTsNCiAgdmFyIHJlc0FyciA9IHNyY0Fyci5tYXAoY2FsbGJhY2tmbixmb28pOw0KICBpZiggcmVzQXJyWzBdID09PSB0cnVlKQ0KICAgIHJldHVybiB0cnVlOyAgICANCg0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.map - thisArg is function","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-5-6.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTkvMTUuNC40LjE5LTUtNy5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5tYXAgLSBidWlsdC1pbiBmdW5jdGlvbnMgY2FuIGJlIHVzZWQgYXMgdGhpc0FyZw0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gdGhpcyA9PT0gZXZhbDsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gWzExXS5tYXAoY2FsbGJhY2tmbiwgZXZhbCk7DQogICAgICAgIHJldHVybiB0ZXN0UmVzdWx0WzBdID09PSB0cnVlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.map - built-in functions can be used as thisArg","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-5-7.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTkvMTUuNC40LjE5LTUtOS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5tYXAgLSBGdW5jdGlvbiBvYmplY3QgY2FuIGJlIHVzZWQgYXMgdGhpc0FyZw0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iakZ1bmN0aW9uID0gZnVuY3Rpb24gKCkgeyB9Ow0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIHRoaXMgPT09IG9iakZ1bmN0aW9uOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIHRlc3RSZXN1bHQgPSBbMTFdLm1hcChjYWxsYmFja2ZuLCBvYmpGdW5jdGlvbik7DQogICAgICAgIHJldHVybiB0ZXN0UmVzdWx0WzBdID09PSB0cnVlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.map - Function object can be used as thisArg","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-5-9.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTkvMTUuNC40LjE5LTYtMS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5tYXAgLSBBcnJheS5pc0FycmF5IHJldHVybnMgdHJ1ZSB3aGVuIGlucHV0IGFyZ3VtZW50IGlzIHRoZSBvdXJwdXQgYXJyYXkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBuZXdBcnIgPSBbMTFdLm1hcChmdW5jdGlvbiAoKSB7IH0pOw0KDQogICAgICAgIHJldHVybiBBcnJheS5pc0FycmF5KG5ld0Fycik7DQoNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.map - Array.isArray returns true when input argument is the ourput array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-6-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTkvMTUuNC40LjE5LTYtMi5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5tYXAgLSB0aGUgcmV0dXJuZWQgYXJyYXkgaXMgaW5zdGFuY2VvZiBBcnJheQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG5ld0FyciA9IFsxMV0ubWFwKGZ1bmN0aW9uICgpIHsgfSk7DQoNCiAgICAgICAgcmV0dXJuIG5ld0FyciBpbnN0YW5jZW9mIEFycmF5Ow0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.map - the returned array is instanceof Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-6-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTkvMTUuNC40LjE5LTgtMS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5tYXAgZG9lc24ndCBjb25zaWRlciBuZXcgZWxlbWVudHMgYWRkZWQgdG8gYXJyYXkgYWZ0ZXIgaXQgaXMgY2FsbGVkDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsgDQogDQogIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikNCiAgew0KICAgIHNyY0FyclsyXSA9IDM7DQogICAgc3JjQXJyWzVdID0gNjsNCiAgICByZXR1cm4gMTsNCiAgfQ0KDQogIHZhciBzcmNBcnIgPSBbMSwyLCw0LDVdOw0KICB2YXIgcmVzQXJyID0gc3JjQXJyLm1hcChjYWxsYmFja2ZuKTsNCiAgaWYocmVzQXJyLmxlbmd0aCA9PT0gNSkNCiAgICAgIHJldHVybiB0cnVlOyAgDQogIA0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.map doesn't consider new elements added to array after it is called","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTkvMTUuNC40LjE5LTgtMi5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5tYXAgY29uc2lkZXJzIG5ldyB2YWx1ZSBvZiBlbGVtZW50cyBpbiBhcnJheSBhZnRlciBpdCBpcyBjYWxsZWQNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgeyANCiANCiAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKQ0KICB7ICAgIA0KICAgIHNyY0Fycls0XSA9IC0xOw0KICAgIGlmKHZhbCA+IDApDQogICAgICByZXR1cm4gMTsNCiAgICBlbHNlDQogICAgICByZXR1cm4gMDsNCiAgfQ0KDQogIHZhciBzcmNBcnIgPSBbMSwyLDMsNCw1XTsNCiAgdmFyIHJlc0FyciA9IHNyY0Fyci5tYXAoY2FsbGJhY2tmbik7DQogIGlmKHJlc0Fyci5sZW5ndGggPT09IDUgJiYgcmVzQXJyWzRdID09PSAwKQ0KICAgIHJldHVybiB0cnVlOyAgDQogIA0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.map considers new value of elements in array after it is called","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTkvMTUuNC40LjE5LTgtMy5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5tYXAgZG9lc24ndCB2aXNpdCBkZWxldGVkIGVsZW1lbnRzIGluIGFycmF5IGFmdGVyIHRoZSBjYWxsDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsgDQogDQogIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikNCiAgew0KICAgIGRlbGV0ZSBzcmNBcnJbNF07DQogICAgaWYodmFsID4gMCkNCiAgICAgIHJldHVybiAxOw0KICAgIGVsc2UNCiAgICAgIHJldHVybiAwOw0KDQogIH0NCg0KICB2YXIgc3JjQXJyID0gWzEsMiwzLDQsNV07DQogIHZhciByZXNBcnIgPSBzcmNBcnIubWFwKGNhbGxiYWNrZm4pOw0KICBpZihyZXNBcnIubGVuZ3RoID09PSA1ICYmIHJlc0Fycls0XSA9PT0gdW5kZWZpbmVkKQ0KICAgIHJldHVybiB0cnVlOyAgDQogIA0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.map doesn't visit deleted elements in array after the call","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTkvMTUuNC40LjE5LTgtNC5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5tYXAgZG9lc24ndCB2aXNpdCBkZWxldGVkIGVsZW1lbnRzIHdoZW4gQXJyYXkubGVuZ3RoIGlzIGRlY3JlYXNlZA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7IA0KIA0KICB2YXIgY2FsbENudCA9IDA7DQogIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikNCiAgew0KICAgIHNyY0Fyci5sZW5ndGggPSAyOw0KICAgIGNhbGxDbnQrKzsNCiAgICByZXR1cm4gMTsNCiAgfQ0KDQogIHZhciBzcmNBcnIgPSBbMSwyLDMsNCw1XTsNCiAgdmFyIHJlc0FyciA9IHNyY0Fyci5tYXAoY2FsbGJhY2tmbik7DQogIGlmKHJlc0Fyci5sZW5ndGggPT09IDUgICYmIGNhbGxDbnQgPT09IDIgJiYgcmVzQXJyWzJdID09PSB1bmRlZmluZWQpDQogICAgcmV0dXJuIHRydWU7ICANCiAgDQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.map doesn't visit deleted elements when Array.length is decreased","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTkvMTUuNC40LjE5LTgtNS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5tYXAgZG9lc24ndCBjb25zaWRlciBuZXdseSBhZGRlZCBlbGVtZW50cyBpbiBzcGFyc2UgYXJyYXkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgeyANCiANCiAgdmFyIGNhbGxDbnQgPSAwOw0KICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopDQogIHsNCiAgICBzcmNBcnJbMTAwMF0gPSAzOw0KICAgIGNhbGxDbnQrKzsNCiAgICByZXR1cm4gdmFsOw0KICB9DQoNCiAgdmFyIHNyY0FyciA9IG5ldyBBcnJheSgxMCk7DQogIHNyY0FyclsxXSA9IDE7DQogIHNyY0FyclsyXSA9IDI7DQogIHZhciByZXNBcnIgPSBzcmNBcnIubWFwKGNhbGxiYWNrZm4pOw0KICBpZiggcmVzQXJyLmxlbmd0aCA9PT0gMTAgJiYgY2FsbENudCA9PT0gMikgICAgDQogICAgICByZXR1cm4gdHJ1ZTsgIA0KICANCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.map doesn't consider newly added elements in sparse array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTkvMTUuNC40LjE5LTgtNi5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5tYXAgdmlzaXRzIGRlbGV0ZWQgZWxlbWVudCBpbiBhcnJheSBhZnRlciB0aGUgY2FsbCB3aGVuIHNhbWUgaW5kZXggaXMgYWxzbyBwcmVzZW50IGluIHByb3RvdHlwZQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7IA0KIA0KICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopDQogIHsNCiAgICBkZWxldGUgc3JjQXJyWzRdOw0KICAgIGlmKHZhbCA+IDApDQogICAgICByZXR1cm4gMTsNCiAgICBlbHNlDQogICAgICByZXR1cm4gMDsNCg0KICB9DQoNCiAgQXJyYXkucHJvdG90eXBlWzRdID0gNTsNCiAgdmFyIHNyY0FyciA9IFsxLDIsMyw0LDVdOw0KICB2YXIgcmVzQXJyID0gc3JjQXJyLm1hcChjYWxsYmFja2ZuKTsNCiAgZGVsZXRlIEFycmF5LnByb3RvdHlwZVs0XTsNCiAgaWYocmVzQXJyLmxlbmd0aCA9PT0gNSAmJiByZXNBcnJbNF0gPT09IDEpDQogICAgcmV0dXJuIHRydWU7ICANCiAgDQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.map visits deleted element in array after the call when same index is also present in prototype","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-6.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTkvMTUuNC40LjE5LTgtNy5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5tYXAgc3VjY2Vzc2Z1bCB0byBkZWxldGUgdGhlIG9iamVjdCBpbiBjYWxsYmFja2ZuDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KICAgICAgICBvYmouc3JjQXJyID0gWzEsIDIsIDMsIDQsIDVdOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgZGVsZXRlIG9iai5zcmNBcnI7DQogICAgICAgICAgICBpZiAodmFsID4gMCkNCiAgICAgICAgICAgICAgICByZXR1cm4gMTsNCiAgICAgICAgICAgIGVsc2UNCiAgICAgICAgICAgICAgICByZXR1cm4gMDsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciByZXNBcnIgPSBvYmouc3JjQXJyLm1hcChjYWxsYmFja2ZuKTsNCiAgICAgICAgcmV0dXJuIHJlc0Fyci50b1N0cmluZygpID09PSAiMSwxLDEsMSwxIiAmJiAhb2JqLmhhc093blByb3BlcnR5KCJhcnIiKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.map successful to delete the object in callbackfn","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-7.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTkvMTUuNC40LjE5LTgtOC5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5tYXAgLSBubyBvYnNlcnZhYmxlIGVmZmVjdHMgb2NjdXIgaWYgbGVuZ3RoIGlzIDAgb24gYW4gQXJyYXktbGlrZSBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIHJldHVybiB2YWwgPiAxMDsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSB7IDA6IDExLCAxOiAxMiwgbGVuZ3RoOiAwIH07DQoNCiAgICAgICAgdmFyIHRlc3RSZXN1bHQgPSBBcnJheS5wcm90b3R5cGUubWFwLmNhbGwob2JqLCBjYWxsYmFja2ZuKTsNCg0KICAgICAgICByZXR1cm4gdGVzdFJlc3VsdC5sZW5ndGggPT09IDAgJiYgIWFjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.map - no observable effects occur if length is 0 on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-8.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTkvMTUuNC40LjE5LTgtOS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5tYXAgLSBtb2RpZmljYXRpb25zIHRvIGxlbmd0aCBkb24ndCBjaGFuZ2UgbnVtYmVyIG9mIGl0ZXJhdGlvbnMgb24gYW4gQXJyYXkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgY2FsbGVkID0gMDsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBjYWxsZWQgKz0gMTsNCiAgICAgICAgICAgIHJldHVybiB2YWwgPiAxMDsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBhcnIgPSBbOSwgLCAxMl07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgIjEiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICBhcnIubGVuZ3RoID0gMjsNCiAgICAgICAgICAgICAgICByZXR1cm4gODsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIHRlc3RSZXN1bHQgPSBhcnIubWFwKGNhbGxiYWNrZm4pOw0KDQogICAgICAgIHJldHVybiB0ZXN0UmVzdWx0Lmxlbmd0aCA9PT0gMyAmJiBjYWxsZWQgPT09IDIgJiYgdHlwZW9mIHRlc3RSZXN1bHRbMl0gPT09ICJ1bmRlZmluZWQiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.map - modifications to length don't change number of iterations on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-9.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTkvMTUuNC40LjE5LTgtYi0xLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLm1hcCAtIGNhbGxiYWNrZm4gbm90IGNhbGxlZCBmb3IgaW5kZXhlcyBuZXZlciBiZWVuIGFzc2lnbmVkIHZhbHVlcw0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7IA0KIA0KICB2YXIgY2FsbENudCA9IDA7DQogIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikNCiAgew0KICAgIGNhbGxDbnQrKzsNCiAgICByZXR1cm4gMTsNCiAgfQ0KDQogIHZhciBzcmNBcnIgPSBuZXcgQXJyYXkoMTApOw0KICBzcmNBcnJbMV0gPSB1bmRlZmluZWQ7IC8vZXhwbGljaXRseSBhc3NpZ25pbmcgYSB2YWx1ZQ0KICB2YXIgcmVzQXJyID0gc3JjQXJyLm1hcChjYWxsYmFja2ZuKTsNCiAgaWYoIHJlc0Fyci5sZW5ndGggPT09IDEwICYmIGNhbGxDbnQgPT09IDEpDQogICAgICByZXR1cm4gdHJ1ZTsgICAgDQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.map - callbackfn not called for indexes never been assigned values","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-b-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTkvMTUuNC40LjE5LTgtYi0xMC5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5tYXAgLSBkZWxldGluZyBwcm9wZXJ0eSBvZiBwcm90b3R5cGUgY2F1c2VzIHByb3RvdHlwZSBpbmRleCBwcm9wZXJ0eSBub3QgdG8gYmUgdmlzaXRlZCBvbiBhbiBBcnJheS1saWtlIE9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIGlkeCA9PT0gMSAmJiB0eXBlb2YgdmFsID09PSAidW5kZWZpbmVkIjsNCiAgICAgICAgfQ0KICAgICAgICB2YXIgb2JqID0geyAyOiAyLCBsZW5ndGg6IDIwIH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgIjAiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICBkZWxldGUgT2JqZWN0LnByb3RvdHlwZVsxXTsNCiAgICAgICAgICAgICAgICByZXR1cm4gMDsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5wcm90b3R5cGVbMV0gPSAxOw0KICAgICAgICAgICAgdmFyIHRlc3RSZXN1bHQgPSBBcnJheS5wcm90b3R5cGUubWFwLmNhbGwob2JqLCBjYWxsYmFja2ZuKTsNCiAgICAgICAgICAgIHJldHVybiB0ZXN0UmVzdWx0Lmxlbmd0aCA9PT0gMjAgJiYgdHlwZW9mIHRlc3RSZXN1bHRbMV0gPT09ICJ1bmRlZmluZWQiOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIE9iamVjdC5wcm90b3R5cGVbMV07DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.map - deleting property of prototype causes prototype index property not to be visited on an Array-like Object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-b-10.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTkvMTUuNC40LjE5LTgtYi0xMS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5tYXAgLSBkZWxldGluZyBwcm9wZXJ0eSBvZiBwcm90b3R5cGUgY2F1c2VzIHByb3RvdHlwZSBpbmRleCBwcm9wZXJ0eSBub3QgdG8gYmUgdmlzaXRlZCBvbiBhbiBBcnJheQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIGlkeCA9PT0gMSAmJiB0eXBlb2YgdmFsID09PSAidW5kZWZpbmVkIjsNCiAgICAgICAgfQ0KICAgICAgICB2YXIgYXJyID0gWzAsICwgMl07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgIjAiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICBkZWxldGUgQXJyYXkucHJvdG90eXBlWzFdOw0KICAgICAgICAgICAgICAgIHJldHVybiAwOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlWzFdID0gMTsNCiAgICAgICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gYXJyLm1hcChjYWxsYmFja2ZuKTsNCiAgICAgICAgICAgIHJldHVybiB0ZXN0UmVzdWx0Lmxlbmd0aCA9PT0gMyAmJiB0eXBlb2YgdGVzdFJlc3VsdFsxXSA9PT0gInVuZGVmaW5lZCI7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgQXJyYXkucHJvdG90eXBlWzFdOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.map - deleting property of prototype causes prototype index property not to be visited on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-b-11.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTkvMTUuNC40LjE5LTgtYi0xMi5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5tYXAgLSBkZWxldGluZyBvd24gcHJvcGVydHkgd2l0aCBwcm90b3R5cGUgcHJvcGVydHkgY2F1c2VzIHByb3RvdHlwZSBpbmRleCBwcm9wZXJ0eSB0byBiZSB2aXNpdGVkIG9uIGFuIEFycmF5LWxpa2Ugb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBpZiAoaWR4ID09PSAxICYmIHZhbCA9PT0gMykgew0KICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgICAgIH0gZWxzZSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCiAgICAgICAgdmFyIG9iaiA9IHsgMDogMCwgMTogMSwgMjogMiwgbGVuZ3RoOiAxMCB9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICIwIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgZGVsZXRlIG9ialsxXTsNCiAgICAgICAgICAgICAgICByZXR1cm4gMDsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5wcm90b3R5cGVbMV0gPSAzOw0KICAgICAgICAgICAgdmFyIHRlc3RSZXN1bHQgPSBBcnJheS5wcm90b3R5cGUubWFwLmNhbGwob2JqLCBjYWxsYmFja2ZuKTsNCiAgICAgICAgICAgIHJldHVybiB0ZXN0UmVzdWx0WzFdID09PSBmYWxzZTsgDQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgT2JqZWN0LnByb3RvdHlwZVsxXTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.map - deleting own property with prototype property causes prototype index property to be visited on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-b-12.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTkvMTUuNC40LjE5LTgtYi0xMy5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5tYXAgLSBkZWxldGluZyBvd24gcHJvcGVydHkgd2l0aCBwcm90b3R5cGUgcHJvcGVydHkgY2F1c2VzIHByb3RvdHlwZSBpbmRleCBwcm9wZXJ0eSB0byBiZSB2aXNpdGVkIG9uIGFuIEFycmF5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBpZiAoaWR4ID09PSAxICYmIHZhbCA9PT0gMykgew0KICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgICAgIH0gZWxzZSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCiAgICAgICAgdmFyIGFyciA9IFswLCAxLCAyXTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyLCAiMCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIGRlbGV0ZSBhcnJbMV07DQogICAgICAgICAgICAgICAgcmV0dXJuIDA7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBBcnJheS5wcm90b3R5cGVbMV0gPSAzOw0KICAgICAgICAgICAgdmFyIHRlc3RSZXN1bHQgPSBhcnIubWFwKGNhbGxiYWNrZm4pOw0KICAgICAgICAgICAgcmV0dXJuIHRlc3RSZXN1bHRbMV0gPT09IGZhbHNlOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIEFycmF5LnByb3RvdHlwZVsxXTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.map - deleting own property with prototype property causes prototype index property to be visited on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-b-13.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTkvMTUuNC40LjE5LTgtYi0xNC5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5tYXAgLSBkZWNyZWFzaW5nIGxlbmd0aCBvZiBhcnJheSBjYXVzZXMgaW5kZXggcHJvcGVydHkgbm90IHRvIGJlIHZpc2l0ZWQNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIGlkeCA9PT0gMyAmJiB0eXBlb2YgdmFsID09PSAidW5kZWZpbmVkIjsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBhcnIgPSBbMCwgMSwgMiwgImxhc3QiXTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyLCAiMCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIGFyci5sZW5ndGggPSAzOw0KICAgICAgICAgICAgICAgIHJldHVybiAwOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgdGVzdFJlc3VsdCA9IGFyci5tYXAoY2FsbGJhY2tmbik7DQogICAgICAgIHJldHVybiB0eXBlb2YgdGVzdFJlc3VsdFszXSA9PT0gInVuZGVmaW5lZCI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.map - decreasing length of array causes index property not to be visited","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-b-14.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTkvMTUuNC40LjE5LTgtYi0xNS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5tYXAgLSBkZWNyZWFzaW5nIGxlbmd0aCBvZiBhcnJheSB3aXRoIHByb3RvdHlwZSBwcm9wZXJ0eSBjYXVzZXMgcHJvdG90eXBlIGluZGV4IHByb3BlcnR5IHRvIGJlIHZpc2l0ZWQNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGlmIChpZHggPT09IDIgJiYgdmFsID09PSAicHJvdG90eXBlIikgew0KICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgICAgIH0gZWxzZSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCiAgICAgICAgdmFyIGFyciA9IFswLCAxLCAyXTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KEFycmF5LnByb3RvdHlwZSwgIjIiLCB7DQogICAgICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgIHJldHVybiAicHJvdG90eXBlIjsNCiAgICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnIsICIxIiwgew0KICAgICAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAgICBhcnIubGVuZ3RoID0gMjsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDE7DQogICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICB2YXIgdGVzdFJlc3VsdCA9IGFyci5tYXAoY2FsbGJhY2tmbik7DQogICAgICAgICAgICByZXR1cm4gdGVzdFJlc3VsdC5sZW5ndGggPT09IDMgJiYgdGVzdFJlc3VsdFsyXSA9PT0gZmFsc2U7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgQXJyYXkucHJvdG90eXBlWzJdOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.map - decreasing length of array with prototype property causes prototype index property to be visited","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-b-15.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTkvMTUuNC40LjE5LTgtYi0xNi5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5tYXAgLSBkZWNyZWFzaW5nIGxlbmd0aCBvZiBhcnJheSBkb2VzIG5vdCBkZWxldGUgbm9uLWNvbmZpZ3VyYWJsZSBwcm9wZXJ0aWVzDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBpZiAoaWR4ID09PSAyICYmIHZhbCA9PT0gInVuY29uZmlndXJhYmxlIikgew0KICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgICAgIH0gZWxzZSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgYXJyID0gWzAsIDEsIDJdOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnIsICIyIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuICJ1bmNvbmZpZ3VyYWJsZSI7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyLCAiMSIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIGFyci5sZW5ndGggPSAyOw0KICAgICAgICAgICAgICAgIHJldHVybiAxOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgdGVzdFJlc3VsdCA9IGFyci5tYXAoY2FsbGJhY2tmbik7DQogICAgICAgIHJldHVybiB0ZXN0UmVzdWx0Lmxlbmd0aCA9PT0gMyAmJiB0ZXN0UmVzdWx0WzJdID09PSBmYWxzZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.map - decreasing length of array does not delete non-configurable properties","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-b-16.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTkvMTUuNC40LjE5LTgtYi0yLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLm1hcCAtIGFkZGVkIHByb3BlcnRpZXMgaW4gc3RlcCAyIGFyZSB2aXNpYmxlIGhlcmUNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGlmIChpZHggPT09IDIgJiYgdmFsID09PSAibGVuZ3RoIikgew0KICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgICAgIH0gZWxzZSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgImxlbmd0aCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIG9ialsyXSA9ICJsZW5ndGgiOw0KICAgICAgICAgICAgICAgIHJldHVybiAzOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgdGVzdFJlc3VsdCA9IEFycmF5LnByb3RvdHlwZS5tYXAuY2FsbChvYmosIGNhbGxiYWNrZm4pOw0KICAgICAgICByZXR1cm4gdGVzdFJlc3VsdFsyXSA9PT0gZmFsc2U7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.map - added properties in step 2 are visible here","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-b-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTkvMTUuNC40LjE5LTgtYi0zLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLm1hcCAtIGRlbGV0ZWQgcHJvcGVydGllcyBpbiBzdGVwIDIgYXJlIHZpc2libGUgaGVyZQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgaWYgKGlkeCA9PT0gMikgew0KICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgICAgIH0gZWxzZSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCiAgICAgICAgdmFyIG9iaiA9IHsgMjogNi45OSwgODogMTkgfTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAibGVuZ3RoIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgZGVsZXRlIG9ialsyXTsNCiAgICAgICAgICAgICAgICByZXR1cm4gMTA7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gQXJyYXkucHJvdG90eXBlLm1hcC5jYWxsKG9iaiwgY2FsbGJhY2tmbik7DQogICAgICAgIHJldHVybiB0eXBlb2YgdGVzdFJlc3VsdFsyXSA9PT0gInVuZGVmaW5lZCI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.map - deleted properties in step 2 are visible here","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-b-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTkvMTUuNC40LjE5LTgtYi00LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLm1hcCAtIHByb3BlcnRpZXMgYWRkZWQgaW50byBvd24gb2JqZWN0IGFmdGVyIGN1cnJlbnQgcG9zaXRpb24gYXJlIHZpc2l0ZWQgb24gYW4gQXJyYXktbGlrZSBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgaWYgKGlkeCA9PT0gMSAmJiB2YWwgPT09IDEpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgICAgICB9IGVsc2Ugew0KICAgICAgICAgICAgICAgIHJldHVybiB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgbGVuZ3RoOiAyIH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgIjAiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiMSIsIHsNCiAgICAgICAgICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gMTsNCiAgICAgICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICAgICAgfSk7DQogICAgICAgICAgICAgICAgcmV0dXJuIDA7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gQXJyYXkucHJvdG90eXBlLm1hcC5jYWxsKG9iaiwgY2FsbGJhY2tmbik7DQogICAgICAgIHJldHVybiB0ZXN0UmVzdWx0WzBdID09PSB0cnVlICYmIHRlc3RSZXN1bHRbMV0gPT09IGZhbHNlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.map - properties added into own object after current position are visited on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-b-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTkvMTUuNC40LjE5LTgtYi01LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLm1hcCAtIHByb3BlcnRpZXMgYWRkZWQgaW50byBvd24gb2JqZWN0IGFmdGVyIGN1cnJlbnQgcG9zaXRpb24gYXJlIHZpc2l0ZWQgb24gYW4gQXJyYXkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGlmIChpZHggPT09IDEgJiYgdmFsID09PSAxKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICAgICAgfSBlbHNlIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBhcnIgPSBbMCwgLCAyXTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyLCAiMCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnIsICIxIiwgew0KICAgICAgICAgICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiAxOw0KICAgICAgICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgICAgICB9KTsNCiAgICAgICAgICAgICAgICByZXR1cm4gMDsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIHRlc3RSZXN1bHQgPSBhcnIubWFwKGNhbGxiYWNrZm4pOw0KICAgICAgICByZXR1cm4gdGVzdFJlc3VsdFswXSA9PT0gdHJ1ZSAmJiB0ZXN0UmVzdWx0WzFdID09PSBmYWxzZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.map - properties added into own object after current position are visited on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-b-5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTkvMTUuNC40LjE5LTgtYi02LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLm1hcCAtIHByb3BlcnRpZXMgY2FuIGJlIGFkZGVkIHRvIHByb3RvdHlwZSBhZnRlciBjdXJyZW50IHBvc2l0aW9uIGFyZSB2aXNpdGVkIG9uIGFuIEFycmF5LWxpa2Ugb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBpZiAoaWR4ID09PSAxICYmIHZhbCA9PT0gNi45OSkgew0KICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgICAgIH0gZWxzZSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCiAgICAgICAgdmFyIG9iaiA9IHsgbGVuZ3RoOiAyIH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgIjAiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoT2JqZWN0LnByb3RvdHlwZSwgIjEiLCB7DQogICAgICAgICAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDYuOTk7DQogICAgICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgICAgIHJldHVybiAwOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgdmFyIHRlc3RSZXN1bHQgPSBBcnJheS5wcm90b3R5cGUubWFwLmNhbGwob2JqLCBjYWxsYmFja2ZuKTsNCiAgICAgICAgICAgIHJldHVybiB0ZXN0UmVzdWx0WzBdID09PSB0cnVlICYmIHRlc3RSZXN1bHRbMV0gPT09IGZhbHNlOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIE9iamVjdC5wcm90b3R5cGVbMV07DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.map - properties can be added to prototype after current position are visited on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-b-6.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTkvMTUuNC40LjE5LTgtYi03LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLm1hcCAtIHByb3BlcnRpZXMgY2FuIGJlIGFkZGVkIHRvIHByb3RvdHlwZSBhZnRlciBjdXJyZW50IHBvc2l0aW9uIGFyZSB2aXNpdGVkIG9uIGFuIEFycmF5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBpZiAoaWR4ID09PSAxICYmIHZhbCA9PT0gNi45OSkgew0KICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgICAgIH0gZWxzZSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCiAgICAgICAgdmFyIGFyciA9IFswLCAsIDJdOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyLCAiMCIsIHsNCiAgICAgICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KEFycmF5LnByb3RvdHlwZSwgIjEiLCB7DQogICAgICAgICAgICAgICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gNi45OTsNCiAgICAgICAgICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgICAgICAgICAgfSk7DQogICAgICAgICAgICAgICAgICAgIHJldHVybiAwOw0KICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgdmFyIHRlc3RSZXN1bHQgPSBhcnIubWFwKGNhbGxiYWNrZm4pOw0KICAgICAgICAgICAgcmV0dXJuIHRlc3RSZXN1bHRbMF0gPT09IHRydWUgJiYgdGVzdFJlc3VsdFsxXSA9PT0gZmFsc2U7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgQXJyYXkucHJvdG90eXBlWzFdOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.map - properties can be added to prototype after current position are visited on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-b-7.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTkvMTUuNC40LjE5LTgtYi04LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLm1hcCAtIGRlbGV0aW5nIG93biBwcm9wZXJ0eSBjYXVzZXMgaW5kZXggcHJvcGVydHkgbm90IHRvIGJlIHZpc2l0ZWQgb24gYW4gQXJyYXktbGlrZSBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGlmIChpZHggPT09IDEpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgICAgICB9IGVsc2Ugew0KICAgICAgICAgICAgICAgIHJldHVybiB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQogICAgICAgIHZhciBvYmogPSB7IGxlbmd0aDogMiB9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICIxIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIDYuOTk7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICIwIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgZGVsZXRlIG9ialsxXTsNCiAgICAgICAgICAgICAgICByZXR1cm4gMDsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIHRlc3RSZXN1bHQgPSBBcnJheS5wcm90b3R5cGUubWFwLmNhbGwob2JqLCBjYWxsYmFja2ZuKTsNCiAgICAgICAgcmV0dXJuIHRlc3RSZXN1bHRbMF0gPT09IHRydWUgJiYgdHlwZW9mIHRlc3RSZXN1bHRbMV0gPT09ICJ1bmRlZmluZWQiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.map - deleting own property causes index property not to be visited on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-b-8.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTkvMTUuNC40LjE5LTgtYi05LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLm1hcCAtIGRlbGV0aW5nIG93biBwcm9wZXJ0eSBjYXVzZXMgaW5kZXggcHJvcGVydHkgbm90IHRvIGJlIHZpc2l0ZWQgb24gYW4gQXJyYXkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgaWYgKGlkeCA9PT0gMSkgew0KICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgICAgIH0gZWxzZSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCiAgICAgICAgdmFyIGFyciA9IFsxLCAyXTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyLCAiMSIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiAiNi45OSI7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnIsICIwIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgZGVsZXRlIGFyclsxXTsNCiAgICAgICAgICAgICAgICByZXR1cm4gMDsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIHRlc3RSZXN1bHQgPSBhcnIubWFwKGNhbGxiYWNrZm4pOw0KICAgICAgICByZXR1cm4gdGVzdFJlc3VsdFswXSA9PT0gdHJ1ZSAmJiB0eXBlb2YgdGVzdFJlc3VsdFsxXSA9PT0gInVuZGVmaW5lZCI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.map - deleting own property causes index property not to be visited on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-b-9.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTkvMTUuNC40LjE5LTgtYy1pLTEuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubWFwIC0gZWxlbWVudCB0byBiZSByZXRyaWV2ZWQgaXMgb3duIGRhdGEgcHJvcGVydHkgb24gYW4gQXJyYXktbGlrZSBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBrVmFsdWUgPSB7fTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGlmIChpZHggPT09IDUpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gdmFsID09PSBrVmFsdWU7DQogICAgICAgICAgICB9DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0geyA1OiBrVmFsdWUsIGxlbmd0aDogMTAwIH07DQoNCiAgICAgICAgdmFyIG5ld0FyciA9IEFycmF5LnByb3RvdHlwZS5tYXAuY2FsbChvYmosIGNhbGxiYWNrZm4pOw0KDQogICAgICAgIHJldHVybiBuZXdBcnJbNV0gPT09IHRydWU7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.map - element to be retrieved is own data property on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-c-i-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTkvMTUuNC40LjE5LTgtYy1pLTEwLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLm1hcCAtIGVsZW1lbnQgdG8gYmUgcmV0cmlldmVkIGlzIG93biBhY2Nlc3NvciBwcm9wZXJ0eSBvbiBhbiBBcnJheQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGtWYWx1ZSA9ICJhYmMiOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgaWYgKGlkeCA9PT0gMCkgew0KICAgICAgICAgICAgICAgIHJldHVybiB2YWwgPT09IGtWYWx1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBhcnIgPSBbXTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyLCAiMCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiBrVmFsdWU7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gYXJyLm1hcChjYWxsYmFja2ZuKTsNCg0KICAgICAgICByZXR1cm4gdGVzdFJlc3VsdFswXSA9PT0gdHJ1ZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.map - element to be retrieved is own accessor property on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-c-i-10.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTkvMTUuNC40LjE5LTgtYy1pLTExLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLm1hcCAtIGVsZW1lbnQgdG8gYmUgcmV0cmlldmVkIGlzIG93biBhY2Nlc3NvciBwcm9wZXJ0eSB0aGF0IG92ZXJyaWRlcyBhbiBpbmhlcml0ZWQgZGF0YSBwcm9wZXJ0eSBvbiBhbiBBcnJheS1saWtlIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGtWYWx1ZSA9ICJhYmMiOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgaWYgKGlkeCA9PT0gMCkgew0KICAgICAgICAgICAgICAgIHJldHVybiB2YWwgPT09IGtWYWx1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBwcm90byA9IHsgMDogNSwgbGVuZ3RoOiAyIH07DQoNCiAgICAgICAgdmFyIENvbiA9IGZ1bmN0aW9uICgpIHsgfTsNCiAgICAgICAgQ29uLnByb3RvdHlwZSA9IHByb3RvOw0KDQogICAgICAgIHZhciBjaGlsZCA9IG5ldyBDb24oKTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoY2hpbGQsICIwIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIGtWYWx1ZTsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIHRlc3RSZXN1bHQgPSBBcnJheS5wcm90b3R5cGUubWFwLmNhbGwoY2hpbGQsIGNhbGxiYWNrZm4pOw0KDQogICAgICAgIHJldHVybiB0ZXN0UmVzdWx0WzBdID09PSB0cnVlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.map - element to be retrieved is own accessor property that overrides an inherited data property on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-c-i-11.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTkvMTUuNC40LjE5LTgtYy1pLTEyLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLm1hcCAtIGVsZW1lbnQgdG8gYmUgcmV0cmlldmVkIGlzIG93biBhY2Nlc3NvciBwcm9wZXJ0eSB0aGF0IG92ZXJyaWRlcyBhbiBpbmhlcml0ZWQgZGF0YSBwcm9wZXJ0eSBvbiBhbiBBcnJheQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGtWYWx1ZSA9ICJhYmMiOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgaWYgKGlkeCA9PT0gMCkgew0KICAgICAgICAgICAgICAgIHJldHVybiB2YWwgPT09IGtWYWx1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBhcnIgPSBbXTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlWzBdID0gMTE7DQoNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnIsICIwIiwgew0KICAgICAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAgICByZXR1cm4ga1ZhbHVlOw0KICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgdmFyIHRlc3RSZXN1bHQgPSBhcnIubWFwKGNhbGxiYWNrZm4pOw0KDQogICAgICAgICAgICByZXR1cm4gdGVzdFJlc3VsdFswXSA9PT0gdHJ1ZTsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBBcnJheS5wcm90b3R5cGVbMF07DQogICAgICAgIH0NCg0KDQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.map - element to be retrieved is own accessor property that overrides an inherited data property on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-c-i-12.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTkvMTUuNC40LjE5LTgtYy1pLTEzLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLm1hcCAtIGVsZW1lbnQgdG8gYmUgcmV0cmlldmVkIGlzIG93biBhY2Nlc3NvciBwcm9wZXJ0eSB0aGF0IG92ZXJyaWRlcyBhbiBpbmhlcml0ZWQgYWNjZXNzb3IgcHJvcGVydHkgb24gYW4gQXJyYXktbGlrZSBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBrVmFsdWUgPSAiYWJjIjsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGlmIChpZHggPT09IDApIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gdmFsID09PSBrVmFsdWU7DQogICAgICAgICAgICB9DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgcHJvdG8gPSB7IGxlbmd0aDogMiB9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShwcm90bywgIjAiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gNTsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIENvbiA9IGZ1bmN0aW9uICgpIHsgfTsNCiAgICAgICAgQ29uLnByb3RvdHlwZSA9IHByb3RvOw0KDQogICAgICAgIHZhciBjaGlsZCA9IG5ldyBDb24oKTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoY2hpbGQsICIwIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIGtWYWx1ZTsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIHRlc3RSZXN1bHQgPSBBcnJheS5wcm90b3R5cGUubWFwLmNhbGwoY2hpbGQsIGNhbGxiYWNrZm4pOw0KDQogICAgICAgIHJldHVybiB0ZXN0UmVzdWx0WzBdID09PSB0cnVlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.map - element to be retrieved is own accessor property that overrides an inherited accessor property on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-c-i-13.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTkvMTUuNC40LjE5LTgtYy1pLTE0LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLm1hcCAtIGVsZW1lbnQgdG8gYmUgcmV0cmlldmVkIGlzIG93biBhY2Nlc3NvciBwcm9wZXJ0eSB0aGF0IG92ZXJyaWRlcyBhbiBpbmhlcml0ZWQgYWNjZXNzb3IgcHJvcGVydHkgb24gYW4gQXJyYXkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBrVmFsdWUgPSAiYWJjIjsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGlmIChpZHggPT09IDApIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gdmFsID09PSBrVmFsdWU7DQogICAgICAgICAgICB9DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgYXJyID0gW107DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShBcnJheS5wcm90b3R5cGUsICIwIiwgew0KICAgICAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gMTE7DQogICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyLCAiMCIsIHsNCiAgICAgICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGtWYWx1ZTsNCiAgICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gYXJyLm1hcChjYWxsYmFja2ZuKTsNCg0KICAgICAgICAgICAgcmV0dXJuIHRlc3RSZXN1bHRbMF0gPT09IHRydWU7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgQXJyYXkucHJvdG90eXBlWzBdOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.map - element to be retrieved is own accessor property that overrides an inherited accessor property on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-c-i-14.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTkvMTUuNC40LjE5LTgtYy1pLTE1LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLm1hcCAtIGVsZW1lbnQgdG8gYmUgcmV0cmlldmVkIGlzIGluaGVyaXRlZCBhY2Nlc3NvciBwcm9wZXJ0eSBvbiBhbiBBcnJheS1saWtlIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGtWYWx1ZSA9ICJhYmMiOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgaWYgKGlkeCA9PT0gMCkgew0KICAgICAgICAgICAgICAgIHJldHVybiB2YWwgPT09IGtWYWx1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBwcm90byA9IHsgbGVuZ3RoOiAyIH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHByb3RvLCAiMCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiBrVmFsdWU7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBDb24gPSBmdW5jdGlvbiAoKSB7IH07DQogICAgICAgIENvbi5wcm90b3R5cGUgPSBwcm90bzsNCg0KICAgICAgICB2YXIgY2hpbGQgPSBuZXcgQ29uKCk7DQoNCiAgICAgICAgdmFyIHRlc3RSZXN1bHQgPSBBcnJheS5wcm90b3R5cGUubWFwLmNhbGwoY2hpbGQsIGNhbGxiYWNrZm4pOw0KDQogICAgICAgIHJldHVybiB0ZXN0UmVzdWx0WzBdID09PSB0cnVlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.map - element to be retrieved is inherited accessor property on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-c-i-15.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTkvMTUuNC40LjE5LTgtYy1pLTE2LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLm1hcCAtIGVsZW1lbnQgdG8gYmUgcmV0cmlldmVkIGlzIGluaGVyaXRlZCBhY2Nlc3NvciBwcm9wZXJ0eSBvbiBhbiBBcnJheQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGtWYWx1ZSA9ICJhYmMiOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgaWYgKGlkeCA9PT0gMCkgew0KICAgICAgICAgICAgICAgIHJldHVybiB2YWwgPT09IGtWYWx1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfQ0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoQXJyYXkucHJvdG90eXBlLCAiMCIsIHsNCiAgICAgICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGtWYWx1ZTsNCiAgICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gWywgXS5tYXAoY2FsbGJhY2tmbik7DQoNCiAgICAgICAgICAgIHJldHVybiB0ZXN0UmVzdWx0WzBdID09PSB0cnVlOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIEFycmF5LnByb3RvdHlwZVswXTsNCiAgICAgICAgfQ0KDQoNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.map - element to be retrieved is inherited accessor property on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-c-i-16.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTkvMTUuNC40LjE5LTgtYy1pLTE3LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLm1hcCAtIGVsZW1lbnQgdG8gYmUgcmV0cmlldmVkIGlzIG93biBhY2Nlc3NvciBwcm9wZXJ0eSB3aXRob3V0IGEgZ2V0IGZ1bmN0aW9uIG9uIGFuIEFycmF5LWxpa2Ugb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGlmIChpZHggPT09IDEpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gdHlwZW9mIHZhbCA9PT0gInVuZGVmaW5lZCI7DQogICAgICAgICAgICB9DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0geyBsZW5ndGg6IDIgfTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiMSIsIHsNCiAgICAgICAgICAgIHNldDogZnVuY3Rpb24gKCkgeyB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gQXJyYXkucHJvdG90eXBlLm1hcC5jYWxsKG9iaiwgY2FsbGJhY2tmbik7DQoNCiAgICAgICAgcmV0dXJuIHRlc3RSZXN1bHRbMV0gPT09IHRydWU7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.map - element to be retrieved is own accessor property without a get function on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-c-i-17.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTkvMTUuNC40LjE5LTgtYy1pLTE4LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLm1hcCAtIGVsZW1lbnQgdG8gYmUgcmV0cmlldmVkIGlzIG93biBhY2Nlc3NvciBwcm9wZXJ0eSB3aXRob3V0IGEgZ2V0IGZ1bmN0aW9uIG9uIGFuIEFycmF5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGlmIChpZHggPT09IDEpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gdHlwZW9mIHZhbCA9PT0gInVuZGVmaW5lZCI7DQogICAgICAgICAgICB9DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgYXJyID0gW107DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgIjEiLCB7DQogICAgICAgICAgICBzZXQ6IGZ1bmN0aW9uICgpIHsgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgdGVzdFJlc3VsdCA9IGFyci5tYXAoY2FsbGJhY2tmbik7DQoNCiAgICAgICAgcmV0dXJuIHRlc3RSZXN1bHRbMV0gPT09IHRydWU7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.map - element to be retrieved is own accessor property without a get function on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-c-i-18.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTkvMTUuNC40LjE5LTgtYy1pLTE5LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLm1hcCAtIGVsZW1lbnQgdG8gYmUgcmV0cmlldmVkIGlzIG93biBhY2Nlc3NvciBwcm9wZXJ0eSB3aXRob3V0IGEgZ2V0IGZ1bmN0aW9uIHRoYXQgb3ZlcnJpZGVzIGFuIGluaGVyaXRlZCBhY2Nlc3NvciBwcm9wZXJ0eSBvbiBhbiBBcnJheQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBpZiAoaWR4ID09PSAwKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIHR5cGVvZiB2YWwgPT09ICJ1bmRlZmluZWQiOw0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIGFyciA9IFtdOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyLCAiMCIsIHsNCiAgICAgICAgICAgICAgICBzZXQ6IGZ1bmN0aW9uICgpIHsgfSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoQXJyYXkucHJvdG90eXBlLCAiMCIsIHsNCiAgICAgICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDEwMDsNCiAgICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gYXJyLm1hcChjYWxsYmFja2ZuKTsNCg0KICAgICAgICAgICAgcmV0dXJuIHRlc3RSZXN1bHRbMF0gPT09IHRydWU7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgQXJyYXkucHJvdG90eXBlWzBdOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.map - element to be retrieved is own accessor property without a get function that overrides an inherited accessor property on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-c-i-19.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTkvMTUuNC40LjE5LTgtYy1pLTIuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubWFwIC0gZWxlbWVudCB0byBiZSByZXRyaWV2ZWQgaXMgb3duIGRhdGEgcHJvcGVydHkgb24gYW4gQXJyYXkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBrVmFsdWUgPSB7fTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGlmIChpZHggPT09IDApIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gdmFsID09PSBrVmFsdWU7DQogICAgICAgICAgICB9DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgYXJyID0gW2tWYWx1ZV07DQoNCiAgICAgICAgdmFyIG5ld0FyciA9IGFyci5tYXAoY2FsbGJhY2tmbik7DQoNCiAgICAgICAgcmV0dXJuIG5ld0FyclswXSA9PT0gdHJ1ZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.map - element to be retrieved is own data property on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-c-i-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTkvMTUuNC40LjE5LTgtYy1pLTIwLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLm1hcCAtIGVsZW1lbnQgdG8gYmUgcmV0cmlldmVkIGlzIG93biBhY2Nlc3NvciBwcm9wZXJ0eSB3aXRob3V0IGEgZ2V0IGZ1bmN0aW9uIHRoYXQgb3ZlcnJpZGVzIGFuIGluaGVyaXRlZCBhY2Nlc3NvciBwcm9wZXJ0eSBvbiBhbiBBcnJheS1saWtlIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBpZiAoaWR4ID09PSAwKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIHR5cGVvZiB2YWwgPT09ICJ1bmRlZmluZWQiOw0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIHByb3RvID0ge307DQoNCiAgICAgICAgdmFyIENvbiA9IGZ1bmN0aW9uICgpIHsgfTsNCiAgICAgICAgQ29uLnByb3RvdHlwZSA9IHByb3RvOw0KDQogICAgICAgIHZhciBjaGlsZCA9IG5ldyBDb24oKTsNCiAgICAgICAgY2hpbGQubGVuZ3RoID0gMjsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoY2hpbGQsICIwIiwgew0KICAgICAgICAgICAgc2V0OiBmdW5jdGlvbiAoKSB7IH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHByb3RvLCAiMCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiAxMDA7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gQXJyYXkucHJvdG90eXBlLm1hcC5jYWxsKGNoaWxkLCBjYWxsYmFja2ZuKTsNCg0KICAgICAgICByZXR1cm4gdGVzdFJlc3VsdFswXSA9PT0gdHJ1ZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.map - element to be retrieved is own accessor property without a get function that overrides an inherited accessor property on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-c-i-20.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTkvMTUuNC40LjE5LTgtYy1pLTIxLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLm1hcCAtIGVsZW1lbnQgdG8gYmUgcmV0cmlldmVkIGlzIGluaGVyaXRlZCBhY2Nlc3NvciBwcm9wZXJ0eSB3aXRob3V0IGEgZ2V0IGZ1bmN0aW9uIG9uIGFuIEFycmF5LWxpa2Ugb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGlmIChpZHggPT09IDApIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gdHlwZW9mIHZhbCA9PT0gInVuZGVmaW5lZCI7DQogICAgICAgICAgICB9DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgcHJvdG8gPSB7IGxlbmd0aDogMiB9Ow0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkocHJvdG8sICIwIiwgew0KICAgICAgICAgICAgc2V0OiBmdW5jdGlvbiAoKSB7IH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIENvbiA9IGZ1bmN0aW9uICgpIHsgfTsNCiAgICAgICAgQ29uLnByb3RvdHlwZSA9IHByb3RvOw0KDQogICAgICAgIHZhciBjaGlsZCA9IG5ldyBDb24oKTsNCg0KICAgICAgICB2YXIgdGVzdFJlc3VsdCA9IEFycmF5LnByb3RvdHlwZS5tYXAuY2FsbChjaGlsZCwgY2FsbGJhY2tmbik7DQoNCiAgICAgICAgcmV0dXJuIHRlc3RSZXN1bHRbMF0gPT09IHRydWU7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.map - element to be retrieved is inherited accessor property without a get function on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-c-i-21.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTkvMTUuNC40LjE5LTgtYy1pLTIyLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLm1hcCAtIGVsZW1lbnQgdG8gYmUgcmV0cmlldmVkIGlzIGluaGVyaXRlZCBhY2Nlc3NvciBwcm9wZXJ0eSB3aXRob3V0IGEgZ2V0IGZ1bmN0aW9uIG9uIGFuIEFycmF5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGlmIChpZHggPT09IDApIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gdHlwZW9mIHZhbCA9PT0gInVuZGVmaW5lZCI7DQogICAgICAgICAgICB9DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0NCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KEFycmF5LnByb3RvdHlwZSwgIjAiLCB7DQogICAgICAgICAgICAgICAgc2V0OiBmdW5jdGlvbiAoKSB7IH0sDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgdmFyIHRlc3RSZXN1bHQgPSBbLF0ubWFwKGNhbGxiYWNrZm4pOw0KDQogICAgICAgICAgICByZXR1cm4gdGVzdFJlc3VsdFswXSA9PT0gdHJ1ZTsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBBcnJheS5wcm90b3R5cGVbMF07DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.map - element to be retrieved is inherited accessor property without a get function on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-c-i-22.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTkvMTUuNC40LjE5LTgtYy1pLTIzLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLm1hcCAtIFRoaXMgb2JqZWN0IGlzIHRoZSBnbG9iYWwgb2JqZWN0IHdoaWNoIGNvbnRhaW5zIGluZGV4IHByb3BlcnR5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIga1ZhbHVlID0gImFiYyI7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBpZiAoaWR4ID09PSAwKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIHZhbCA9PT0ga1ZhbHVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIHZhciBvbGRMZW4gPSBmbkdsb2JhbE9iamVjdCgpLmxlbmd0aDsNCiAgICAgICAgICAgIGZuR2xvYmFsT2JqZWN0KClbMF0gPSBrVmFsdWU7DQogICAgICAgICAgICBmbkdsb2JhbE9iamVjdCgpLmxlbmd0aCA9IDI7DQoNCiAgICAgICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gQXJyYXkucHJvdG90eXBlLm1hcC5jYWxsKGZuR2xvYmFsT2JqZWN0KCksIGNhbGxiYWNrZm4pOw0KDQogICAgICAgICAgICByZXR1cm4gdGVzdFJlc3VsdFswXSA9PT0gdHJ1ZTsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBmbkdsb2JhbE9iamVjdCgpWzBdOw0KICAgICAgICAgICAgZm5HbG9iYWxPYmplY3QoKS5sZW5ndGggPSBvbGRMZW47DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.map - This object is the global object which contains index property","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-c-i-23.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTkvMTUuNC40LjE5LTgtYy1pLTI1LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLm1hcCAtIFRoaXMgb2JqZWN0IGlzIHRoZSBBcmd1bWVudHMgb2JqZWN0IHdoaWNoIGltcGxlbWVudHMgaXRzIG93biBwcm9wZXJ0eSBnZXQgbWV0aG9kIChudW1iZXIgb2YgYXJndW1lbnRzIGlzIGxlc3MgdGhhbiBudW1iZXIgb2YgcGFyYW1ldGVycykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgaWYgKGlkeCA9PT0gMCkgew0KICAgICAgICAgICAgICAgIHJldHVybiB2YWwgPT09IDk7DQogICAgICAgICAgICB9IGVsc2Ugew0KICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBmdW5jID0gZnVuY3Rpb24gKGEsIGIpIHsNCiAgICAgICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUubWFwLmNhbGwoYXJndW1lbnRzLCBjYWxsYmFja2ZuKTsNCiAgICAgICAgfTsNCg0KICAgICAgICB2YXIgdGVzdFJlc3VsdCA9IGZ1bmMoOSk7DQoNCiAgICAgICAgcmV0dXJuIHRlc3RSZXN1bHRbMF0gPT09IHRydWU7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.map - This object is the Arguments object which implements its own property get method (number of arguments is less than number of parameters)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-c-i-25.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTkvMTUuNC40LjE5LTgtYy1pLTI2LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLm1hcCAtIFRoaXMgb2JqZWN0IGlzIHRoZSBBcmd1bWVudHMgb2JqZWN0IHdoaWNoIGltcGxlbWVudHMgaXRzIG93biBwcm9wZXJ0eSBnZXQgbWV0aG9kIChudW1iZXIgb2YgYXJndW1lbnRzIGVxdWFscyBudW1iZXIgb2YgcGFyYW1ldGVycykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgaWYgKGlkeCA9PT0gMCkgew0KICAgICAgICAgICAgICAgIHJldHVybiB2YWwgPT09IDk7DQogICAgICAgICAgICB9IGVsc2UgaWYgKGlkeCA9PT0gMSkgew0KICAgICAgICAgICAgICAgIHJldHVybiB2YWwgPT09IDExOw0KICAgICAgICAgICAgfSBlbHNlIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgZnVuYyA9IGZ1bmN0aW9uIChhLCBiKSB7DQogICAgICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLm1hcC5jYWxsKGFyZ3VtZW50cywgY2FsbGJhY2tmbik7DQogICAgICAgIH07DQoNCiAgICAgICAgdmFyIHRlc3RSZXN1bHQgPSBmdW5jKDksIDExKTsNCg0KICAgICAgICByZXR1cm4gdGVzdFJlc3VsdFswXSA9PT0gdHJ1ZSAmJiB0ZXN0UmVzdWx0WzFdID09PSB0cnVlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.map - This object is the Arguments object which implements its own property get method (number of arguments equals number of parameters)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-c-i-26.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTkvMTUuNC40LjE5LTgtYy1pLTI3LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLm1hcCAtIFRoaXMgb2JqZWN0IGlzIHRoZSBBcmd1bWVudHMgb2JqZWN0IHdoaWNoIGltcGxlbWVudHMgaXRzIG93biBwcm9wZXJ0eSBnZXQgbWV0aG9kIChudW1iZXIgb2YgYXJndW1lbnRzIGlzIGdyZWF0ZXIgdGhhbiBudW1iZXIgb2YgcGFyYW1ldGVycykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgaWYgKGlkeCA9PT0gMCkgew0KICAgICAgICAgICAgICAgIHJldHVybiB2YWwgPT09IDk7DQogICAgICAgICAgICB9IGVsc2UgaWYgKGlkeCA9PT0gMSkgew0KICAgICAgICAgICAgICAgIHJldHVybiB2YWwgPT09IDExOw0KICAgICAgICAgICAgfSBlbHNlIGlmIChpZHggPT09IDIpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gdmFsID09PSAxMjsNCiAgICAgICAgICAgIH0gZWxzZSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICAgICAgfQ0KDQogICAgICAgIH0NCg0KICAgICAgICB2YXIgZnVuYyA9IGZ1bmN0aW9uIChhLCBiKSB7DQogICAgICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLm1hcC5jYWxsKGFyZ3VtZW50cywgY2FsbGJhY2tmbik7DQogICAgICAgIH07DQoNCiAgICAgICAgdmFyIHRlc3RSZXN1bHQgPSBmdW5jKDksIDExLCAxMik7DQoNCiAgICAgICAgcmV0dXJuIHRlc3RSZXN1bHRbMF0gPT09IHRydWUgJiYgdGVzdFJlc3VsdFsxXSA9PT0gdHJ1ZSAmJiB0ZXN0UmVzdWx0WzJdID09PSB0cnVlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.map - This object is the Arguments object which implements its own property get method (number of arguments is greater than number of parameters)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-c-i-27.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTkvMTUuNC40LjE5LTgtYy1pLTI4LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLm1hcCAtIGVsZW1lbnQgY2hhbmdlZCBieSBnZXR0ZXIgb24gcHJldmlvdXMgaXRlcmF0aW9ucyBpcyBvYnNlcnZlZCBvbiBhbiBBcnJheQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHByZUl0ZXJWaXNpYmxlID0gZmFsc2U7DQogICAgICAgIHZhciBhcnIgPSBbXTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGlmIChpZHggPT09IDApIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gdmFsID09PSAxMTsNCiAgICAgICAgICAgIH0gZWxzZSBpZiAoaWR4ID09PSAxKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIHZhbCA9PT0gOTsNCiAgICAgICAgICAgIH0gZWxzZSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgIjAiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICBwcmVJdGVyVmlzaWJsZSA9IHRydWU7DQogICAgICAgICAgICAgICAgcmV0dXJuIDExOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyLCAiMSIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIGlmIChwcmVJdGVyVmlzaWJsZSkgew0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gOTsNCiAgICAgICAgICAgICAgICB9IGVsc2Ugew0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gMTE7DQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgdGVzdFJlc3VsdCA9IGFyci5tYXAoY2FsbGJhY2tmbik7DQoNCiAgICAgICAgcmV0dXJuIHRlc3RSZXN1bHRbMF0gPT09IHRydWUgJiYgdGVzdFJlc3VsdFsxXSA9PT0gdHJ1ZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.map - element changed by getter on previous iterations is observed on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-c-i-28.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTkvMTUuNC40LjE5LTgtYy1pLTI5LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLm1hcCAtIGVsZW1lbnQgY2hhbmdlZCBieSBnZXR0ZXIgb24gcHJldmlvdXMgaXRlcmF0aW9ucyBpcyBvYnNlcnZlZCBvbiBhbiBBcnJheS1saWtlIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHByZUl0ZXJWaXNpYmxlID0gZmFsc2U7DQogICAgICAgIHZhciBvYmogPSB7IGxlbmd0aDogMiB9Ow0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgaWYgKGlkeCA9PT0gMCkgew0KICAgICAgICAgICAgICAgIHJldHVybiB2YWwgPT09IDExOw0KICAgICAgICAgICAgfSBlbHNlIGlmIChpZHggPT09IDEpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gdmFsID09PSA5Ow0KICAgICAgICAgICAgfSBlbHNlIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiMCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHByZUl0ZXJWaXNpYmxlID0gdHJ1ZTsNCiAgICAgICAgICAgICAgICByZXR1cm4gMTE7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICIxIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgaWYgKHByZUl0ZXJWaXNpYmxlKSB7DQogICAgICAgICAgICAgICAgICAgIHJldHVybiA5Ow0KICAgICAgICAgICAgICAgIH0gZWxzZSB7DQogICAgICAgICAgICAgICAgICAgIHJldHVybiAxMTsNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gQXJyYXkucHJvdG90eXBlLm1hcC5jYWxsKG9iaiwgY2FsbGJhY2tmbik7DQoNCiAgICAgICAgcmV0dXJuIHRlc3RSZXN1bHRbMF0gPT09IHRydWUgJiYgdGVzdFJlc3VsdFsxXSA9PT0gdHJ1ZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.map - element changed by getter on previous iterations is observed on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-c-i-29.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTkvMTUuNC40LjE5LTgtYy1pLTMuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubWFwIC0gZWxlbWVudCB0byBiZSByZXRyaWV2ZWQgaXMgb3duIGRhdGEgcHJvcGVydHkgdGhhdCBvdmVycmlkZXMgYW4gaW5oZXJpdGVkIGRhdGEgcHJvcGVydHkgb24gYW4gQXJyYXktbGlrZSBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBrVmFsdWUgPSAiYWJjIjsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGlmIChpZHggPT09IDUpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gdmFsID09PSBrVmFsdWU7DQogICAgICAgICAgICB9DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgcHJvdG8gPSB7IDU6IDEyLCBsZW5ndGg6IDEwIH07DQoNCiAgICAgICAgdmFyIENvbiA9IGZ1bmN0aW9uICgpIHsgfTsNCiAgICAgICAgQ29uLnByb3RvdHlwZSA9IHByb3RvOw0KDQogICAgICAgIHZhciBjaGlsZCA9IG5ldyBDb24oKTsNCiAgICAgICAgY2hpbGRbNV0gPSBrVmFsdWU7DQoNCiAgICAgICAgdmFyIHRlc3RSZXN1bHQgPSBBcnJheS5wcm90b3R5cGUubWFwLmNhbGwoY2hpbGQsIGNhbGxiYWNrZm4pOw0KDQogICAgICAgIHJldHVybiB0ZXN0UmVzdWx0WzVdID09PSB0cnVlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.map - element to be retrieved is own data property that overrides an inherited data property on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-c-i-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTkvMTUuNC40LjE5LTgtYy1pLTMwLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLm1hcCAtIHVuaGFuZGxlZCBleGNlcHRpb25zIGhhcHBlbmVkIGluIGdldHRlciB0ZXJtaW5hdGUgaXRlcmF0aW9uIG9uIGFuIEFycmF5LWxpa2Ugb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0geyAwOiAxMSwgNTogMTAsIDEwOiA4LCBsZW5ndGg6IDIwIH07DQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgaWYgKGlkeCA+IDEpIHsNCiAgICAgICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiMSIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHRocm93IG5ldyBSYW5nZUVycm9yKCJ1bmhhbmRsZSBleGNlcHRpb24gaGFwcGVuZWQgaW4gZ2V0dGVyIik7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICIyIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgICAgIHJldHVybiAxMDA7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBBcnJheS5wcm90b3R5cGUubWFwLmNhbGwob2JqLCBjYWxsYmFja2ZuKTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZXgpIHsNCiAgICAgICAgICAgIHJldHVybiAoZXggaW5zdGFuY2VvZiBSYW5nZUVycm9yKSAmJiAhYWNjZXNzZWQ7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.map - unhandled exceptions happened in getter terminate iteration on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-c-i-30.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTkvMTUuNC40LjE5LTgtYy1pLTMxLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLm1hcCAtIHVuaGFuZGxlZCBleGNlcHRpb25zIGhhcHBlbmVkIGluIGdldHRlciB0ZXJtaW5hdGUgaXRlcmF0aW9uIG9uIGFuIEFycmF5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGlmIChpZHggPiAxKSB7DQogICAgICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIGFyciA9IFtdOw0KICAgICAgICBhcnJbNV0gPSAxMDsNCiAgICAgICAgYXJyWzEwXSA9IDEwMDsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyLCAiMSIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHRocm93IG5ldyBSYW5nZUVycm9yKCJ1bmhhbmRsZSBleGNlcHRpb24gaGFwcGVuZWQgaW4gZ2V0dGVyIik7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnIsICIyIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgICAgIHJldHVybiAxMDA7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBhcnIubWFwKGNhbGxiYWNrZm4pOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChleCkgew0KICAgICAgICAgICAgcmV0dXJuIChleCBpbnN0YW5jZW9mIFJhbmdlRXJyb3IpICYmICFhY2Nlc3NlZDsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.map - unhandled exceptions happened in getter terminate iteration on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-c-i-31.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTkvMTUuNC40LjE5LTgtYy1pLTQuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubWFwIC0gZWxlbWVudCB0byBiZSByZXRyaWV2ZWQgaXMgb3duIGRhdGEgcHJvcGVydHkgdGhhdCBvdmVycmlkZXMgYW4gaW5oZXJpdGVkIGRhdGEgcHJvcGVydHkgb24gYW4gQXJyYXkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBrVmFsdWUgPSAiYWJjIjsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGlmIChpZHggPT09IDApIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gdmFsID09PSBrVmFsdWU7DQogICAgICAgICAgICB9DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0NCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlWzBdID0gMTE7DQoNCiAgICAgICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gW2tWYWx1ZV0ubWFwKGNhbGxiYWNrZm4pOw0KDQogICAgICAgICAgICByZXR1cm4gdGVzdFJlc3VsdFswXSA9PT0gdHJ1ZTsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBBcnJheS5wcm90b3R5cGVbMF07DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.map - element to be retrieved is own data property that overrides an inherited data property on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-c-i-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTkvMTUuNC40LjE5LTgtYy1pLTUuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubWFwIC0gZWxlbWVudCB0byBiZSByZXRyaWV2ZWQgaXMgb3duIGRhdGEgcHJvcGVydHkgdGhhdCBvdmVycmlkZXMgYW4gaW5oZXJpdGVkIGFjY2Vzc29yIHByb3BlcnR5IG9uIGFuIEFycmF5LWxpa2Ugb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIga1ZhbHVlID0gImFiYyI7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBpZiAoaWR4ID09PSA1KSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIHZhbCA9PT0ga1ZhbHVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIHByb3RvID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHByb3RvLCAiNSIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiAxMTsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIENvbiA9IGZ1bmN0aW9uICgpIHsgfTsNCiAgICAgICAgQ29uLnByb3RvdHlwZSA9IHByb3RvOw0KDQogICAgICAgIHZhciBjaGlsZCA9IG5ldyBDb24oKTsNCiAgICAgICAgY2hpbGQubGVuZ3RoID0gMTA7DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShjaGlsZCwgIjUiLCB7DQogICAgICAgICAgICB2YWx1ZToga1ZhbHVlLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gQXJyYXkucHJvdG90eXBlLm1hcC5jYWxsKGNoaWxkLCBjYWxsYmFja2ZuKTsNCg0KICAgICAgICByZXR1cm4gdGVzdFJlc3VsdFs1XSA9PT0gdHJ1ZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.map - element to be retrieved is own data property that overrides an inherited accessor property on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-c-i-5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTkvMTUuNC40LjE5LTgtYy1pLTYuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubWFwIC0gZWxlbWVudCB0byBiZSByZXRyaWV2ZWQgaXMgb3duIGRhdGEgcHJvcGVydHkgdGhhdCBvdmVycmlkZXMgYW4gaW5oZXJpdGVkIGFjY2Vzc29yIHByb3BlcnR5IG9uIGFuIEFycmF5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIga1ZhbHVlID0gImFiYyI7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBpZiAoaWR4ID09PSAwKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIHZhbCA9PT0ga1ZhbHVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShBcnJheS5wcm90b3R5cGUsICIwIiwgew0KICAgICAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gOTsNCiAgICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gW2tWYWx1ZV0ubWFwKGNhbGxiYWNrZm4pOw0KICAgICAgICAgICAgcmV0dXJuIHRlc3RSZXN1bHRbMF0gPT09IHRydWU7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgQXJyYXkucHJvdG90eXBlWzBdOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.map - element to be retrieved is own data property that overrides an inherited accessor property on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-c-i-6.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTkvMTUuNC40LjE5LTgtYy1pLTcuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubWFwIC0gZWxlbWVudCB0byBiZSByZXRyaWV2ZWQgaXMgaW5oZXJpdGVkIGRhdGEgcHJvcGVydHkgb24gYW4gQXJyYXktbGlrZSBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBrVmFsdWUgPSAiYWJjIjsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGlmIChpZHggPT09IDUpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gdmFsID09PSBrVmFsdWU7DQogICAgICAgICAgICB9DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgcHJvdG8gPSB7IDU6IGtWYWx1ZSwgbGVuZ3RoOiAxMCB9Ow0KDQogICAgICAgIHZhciBDb24gPSBmdW5jdGlvbiAoKSB7IH07DQogICAgICAgIENvbi5wcm90b3R5cGUgPSBwcm90bzsNCg0KICAgICAgICB2YXIgY2hpbGQgPSBuZXcgQ29uKCk7DQoNCiAgICAgICAgdmFyIG5ld0FyciA9IEFycmF5LnByb3RvdHlwZS5tYXAuY2FsbChjaGlsZCwgY2FsbGJhY2tmbik7DQoNCiAgICAgICAgcmV0dXJuIG5ld0Fycls1XSA9PT0gdHJ1ZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.map - element to be retrieved is inherited data property on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-c-i-7.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTkvMTUuNC40LjE5LTgtYy1pLTguanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubWFwIC0gZWxlbWVudCB0byBiZSByZXRyaWV2ZWQgaXMgaW5oZXJpdGVkIGRhdGEgcHJvcGVydHkgb24gYW4gQXJyYXkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGlmIChpZHggPT09IDEpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gdmFsID09PSAxMzsNCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfQ0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBBcnJheS5wcm90b3R5cGVbMV0gPSAxMzsNCg0KICAgICAgICAgICAgdmFyIG5ld0FyciA9IFssICwgLCBdLm1hcChjYWxsYmFja2ZuKTsNCg0KICAgICAgICAgICAgcmV0dXJuIG5ld0FyclsxXSA9PT0gdHJ1ZTsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBBcnJheS5wcm90b3R5cGVbMV07DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.map - element to be retrieved is inherited data property on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-c-i-8.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTkvMTUuNC40LjE5LTgtYy1pLTkuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubWFwIC0gZWxlbWVudCB0byBiZSByZXRyaWV2ZWQgaXMgb3duIGFjY2Vzc29yIHByb3BlcnR5IG9uIGFuIEFycmF5LWxpa2Ugb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIga1ZhbHVlID0gImFiYyI7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBpZiAoaWR4ID09PSAwKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIHZhbCA9PT0ga1ZhbHVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgbGVuZ3RoOiAyIH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgIjAiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4ga1ZhbHVlOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgdGVzdFJlc3VsdCA9IEFycmF5LnByb3RvdHlwZS5tYXAuY2FsbChvYmosIGNhbGxiYWNrZm4pOw0KDQogICAgICAgIHJldHVybiB0ZXN0UmVzdWx0WzBdID09PSB0cnVlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.map - element to be retrieved is own accessor property on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-c-i-9.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTkvMTUuNC40LjE5LTgtYy1paS0xLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLm1hcCAtIGNhbGxiYWNrZm4gY2FsbGVkIHdpdGggY29ycmVjdCBwYXJhbWV0ZXJzDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsgDQogDQogIHZhciBiUGFyID0gdHJ1ZTsNCiAgdmFyIGJDYWxsZWQgPSBmYWxzZTsNCiAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKQ0KICB7DQogICAgYkNhbGxlZCA9IHRydWU7DQogICAgaWYob2JqW2lkeF0gIT09IHZhbCkNCiAgICAgIGJQYXIgPSBmYWxzZTsNCiAgfQ0KDQogIHZhciBzcmNBcnIgPSBbMCwxLHRydWUsbnVsbCxuZXcgT2JqZWN0KCksImZpdmUiXTsNCiAgc3JjQXJyWzk5OTk5OV0gPSAtNi42Ow0KICByZXNBcnIgPSBzcmNBcnIubWFwKGNhbGxiYWNrZm4pOw0KICANCiAgaWYoYkNhbGxlZCA9PT0gdHJ1ZSAmJiBiUGFyID09PSB0cnVlKQ0KICAgIHJldHVybiB0cnVlOw0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.map - callbackfn called with correct parameters","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-c-ii-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTkvMTUuNC40LjE5LTgtYy1paS0xMC5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5tYXAgLSBjYWxsYmFja2ZuIGlzIGNhbGxlZCB3aXRoIDEgZm9ybWFsIHBhcmFtZXRlcg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwpIHsNCiAgICAgICAgICAgIHJldHVybiB2YWwgPiAxMDsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gWzExXS5tYXAoY2FsbGJhY2tmbik7DQoNCiAgICAgICAgcmV0dXJuIHRlc3RSZXN1bHRbMF0gPT09IHRydWU7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.map - callbackfn is called with 1 formal parameter","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-c-ii-10.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTkvMTUuNC40LjE5LTgtYy1paS0xMS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5tYXAgLSBjYWxsYmFja2ZuIGlzIGNhbGxlZCB3aXRoIDIgZm9ybWFsIHBhcmFtZXRlcnMNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4KSB7DQogICAgICAgICAgICByZXR1cm4gKHZhbCA+IDEwICYmIGFyZ3VtZW50c1syXVtpZHhdID09PSB2YWwpOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIHRlc3RSZXN1bHQgPSBbMTFdLm1hcChjYWxsYmFja2ZuKTsNCg0KICAgICAgICByZXR1cm4gdGVzdFJlc3VsdFswXSA9PT0gdHJ1ZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.map - callbackfn is called with 2 formal parameters","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-c-ii-11.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTkvMTUuNC40LjE5LTgtYy1paS0xMi5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5tYXAgLSBjYWxsYmFja2ZuIGlzIGNhbGxlZCB3aXRoIDMgZm9ybWFsIHBhcmFtZXRlcnMNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuICh2YWwgPiAxMCAmJiBvYmpbaWR4XSA9PT0gdmFsKTsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gWzExXS5tYXAoY2FsbGJhY2tmbik7DQoNCiAgICAgICAgcmV0dXJuIHRlc3RSZXN1bHRbMF0gPT09IHRydWU7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.map - callbackfn is called with 3 formal parameters","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-c-ii-12.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTkvMTUuNC40LjE5LTgtYy1paS0xMy5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5tYXAgLSBjYWxsYmFja2ZuIHRoYXQgdXNlcyBhcmd1bWVudHMgb2JqZWN0IHRvIGdldCBwYXJhbWV0ZXIgdmFsdWUNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4oKSB7DQogICAgICAgICAgICByZXR1cm4gYXJndW1lbnRzWzJdW2FyZ3VtZW50c1sxXV0gPT09IGFyZ3VtZW50c1swXTsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gWzExXS5tYXAoY2FsbGJhY2tmbik7DQoNCiAgICAgICAgcmV0dXJuIHRlc3RSZXN1bHRbMF0gPT09IHRydWU7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.map - callbackfn that uses arguments object to get parameter value","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-c-ii-13.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTkvMTUuNC40LjE5LTgtYy1paS0xNi5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5tYXAgLSAndGhpcycgb2JqZWN0IHdoZW4gVCBpcyBub3QgYW4gb2JqZWN0IChUIGlzIGEgYm9vbGVhbiBwcmltaXRpdmUpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiB0aGlzLnZhbHVlT2YoKSA9PT0gZmFsc2U7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0geyAwOiAxMSwgbGVuZ3RoOiAyIH07DQoNCiAgICAgICAgdmFyIHRlc3RSZXN1bHQgPSBBcnJheS5wcm90b3R5cGUubWFwLmNhbGwob2JqLCBjYWxsYmFja2ZuLCBmYWxzZSk7DQoNCiAgICAgICAgcmV0dXJuIHRlc3RSZXN1bHRbMF0gPT09IHRydWU7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.map - 'this' object when T is not an object (T is a boolean primitive)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-c-ii-16.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTkvMTUuNC40LjE5LTgtYy1paS0xNy5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5tYXAgLSAndGhpcycgb2JqZWN0IHdoZW4gVCBpcyBub3QgYW4gb2JqZWN0IChUIGlzIGEgbnVtYmVyKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gdGhpcy52YWx1ZU9mKCkgPT09IDU7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0geyAwOiAxMSwgbGVuZ3RoOiAyIH07DQoNCiAgICAgICAgdmFyIHRlc3RSZXN1bHQgPSBBcnJheS5wcm90b3R5cGUubWFwLmNhbGwob2JqLCBjYWxsYmFja2ZuLCA1KTsNCg0KICAgICAgICByZXR1cm4gdGVzdFJlc3VsdFswXSA9PT0gdHJ1ZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.map - 'this' object when T is not an object (T is a number)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-c-ii-17.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTkvMTUuNC40LjE5LTgtYy1paS0xOC5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5tYXAgLSAndGhpcycgb2JqZWN0IHdoZW4gVCBpcyBub3QgYW4gb2JqZWN0IChUIGlzIGEgc3RyaW5nIHByaW1pdGl2ZSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIHRoaXMudmFsdWVPZigpID09PSAiaGVsbG8hIjsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSB7IDA6IDExLCBsZW5ndGg6IDIgfTsNCg0KICAgICAgICB2YXIgdGVzdFJlc3VsdCA9IEFycmF5LnByb3RvdHlwZS5tYXAuY2FsbChvYmosIGNhbGxiYWNrZm4sICJoZWxsbyEiKTsNCg0KICAgICAgICByZXR1cm4gdGVzdFJlc3VsdFswXSA9PT0gdHJ1ZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.map - 'this' object when T is not an object (T is a string primitive)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-c-ii-18.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTkvMTUuNC40LjE5LTgtYy1paS0xOS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5tYXAgLSBub24taW5kZXhlZCBwcm9wZXJ0aWVzIGFyZSBub3QgY2FsbGVkLg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGNhbGxlZCA9IDA7DQogICAgICAgIHZhciByZXN1bHQgPSBmYWxzZTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGNhbGxlZCsrOw0KICAgICAgICAgICAgaWYgKHZhbCA9PT0gMTEpIHsNCiAgICAgICAgICAgICAgICByZXN1bHQgPSB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgcmV0dXJuIHRydWU7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0geyAwOiA5LCBub25faW5kZXhfcHJvcGVydHk6IDExLCBsZW5ndGg6IDIwIH07DQoNCiAgICAgICAgdmFyIHRlc3RSZXN1bHQgPSBBcnJheS5wcm90b3R5cGUubWFwLmNhbGwob2JqLCBjYWxsYmFja2ZuKTsNCg0KICAgICAgICByZXR1cm4gIXJlc3VsdCAmJiB0ZXN0UmVzdWx0WzBdID09PSB0cnVlICYmIGNhbGxlZCA9PT0gMTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.map - non-indexed properties are not called.","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-c-ii-19.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTkvMTUuNC40LjE5LTgtYy1paS0yLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLm1hcCAtIGNhbGxiYWNrZm4gdGFrZXMgMyBhcmd1bWVudHMNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgeyANCiANCiAgdmFyIHBhckNudCA9IDM7DQogIHZhciBiQ2FsbGVkID0gZmFsc2UNCiAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKQ0KICB7IA0KICAgIGJDYWxsZWQgPSB0cnVlOw0KICAgIGlmKGFyZ3VtZW50cy5sZW5ndGggIT09IDMpDQogICAgICBwYXJDbnQgPSBhcmd1bWVudHMubGVuZ3RoOyAgIC8vdmVyaWZ5IGlmIGNhbGxiYWNrZm4gd2FzIGNhbGxlZCB3aXRoIDMgcGFyYW1ldGVycw0KICB9DQoNCiAgdmFyIHNyY0FyciA9IFswLDEsMiwzLDQsNSw2LDcsOCw5XTsNCiAgdmFyIHJlc0FyciA9IHNyY0Fyci5tYXAoY2FsbGJhY2tmbik7DQogIGlmKGJDYWxsZWQgPT09IHRydWUgJiYgcGFyQ250ID09PSAzKQ0KICAgIHJldHVybiB0cnVlOw0KDQoNCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.map - callbackfn takes 3 arguments","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-c-ii-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTkvMTUuNC40LjE5LTgtYy1paS0yMC5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5tYXAgLSBjYWxsYmFja2ZuIGNhbGxlZCB3aXRoIGNvcnJlY3QgcGFyYW1ldGVycyAodGhpc0FyZyBpcyBjb3JyZWN0KQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gdGhpcy50aHJlc2hvbGQgPT09IDEwOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIHRoaXNBcmcgPSB7IHRocmVzaG9sZDogMTAgfTsNCg0KICAgICAgICB2YXIgb2JqID0geyAwOiAxMSwgMTogOSwgbGVuZ3RoOiAyIH07DQoNCiAgICAgICAgdmFyIHRlc3RSZXN1bHQgPSBBcnJheS5wcm90b3R5cGUubWFwLmNhbGwob2JqLCBjYWxsYmFja2ZuLCB0aGlzQXJnKTsNCg0KICAgICAgICByZXR1cm4gdGVzdFJlc3VsdFswXSA9PT0gdHJ1ZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.map - callbackfn called with correct parameters (thisArg is correct)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-c-ii-20.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTkvMTUuNC40LjE5LTgtYy1paS0yMS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5tYXAgLSBjYWxsYmFja2ZuIGNhbGxlZCB3aXRoIGNvcnJlY3QgcGFyYW1ldGVycyAoa1ZhbHVlIGlzIGNvcnJlY3QpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGlmIChpZHggPT09IDApIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gdmFsID09PSAxMTsNCiAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgaWYgKGlkeCA9PT0gMSkgew0KICAgICAgICAgICAgICAgIHJldHVybiB2YWwgPT09IDEyOw0KICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0geyAwOiAxMSwgMTogMTIsIGxlbmd0aDogMiB9Ow0KDQogICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gQXJyYXkucHJvdG90eXBlLm1hcC5jYWxsKG9iaiwgY2FsbGJhY2tmbik7DQoNCiAgICAgICAgcmV0dXJuIHRlc3RSZXN1bHRbMF0gPT09IHRydWUgJiYgdGVzdFJlc3VsdFsxXSA9PT0gdHJ1ZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.map - callbackfn called with correct parameters (kValue is correct)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-c-ii-21.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTkvMTUuNC40LjE5LTgtYy1paS0yMi5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5tYXAgLSBjYWxsYmFja2ZuIGNhbGxlZCB3aXRoIGNvcnJlY3QgcGFyYW1ldGVycyAodGhlIGluZGV4IGsgaXMgY29ycmVjdCkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgaWYgKHZhbCA9PT0gMTEpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gaWR4ID09PSAwOw0KICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICBpZiAodmFsID09PSAxMikgew0KICAgICAgICAgICAgICAgIHJldHVybiBpZHggPT09IDE7DQogICAgICAgICAgICB9DQoNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSB7IDA6IDExLCAxOiAxMiwgbGVuZ3RoOiAyIH07DQoNCiAgICAgICAgdmFyIHRlc3RSZXN1bHQgPSBBcnJheS5wcm90b3R5cGUubWFwLmNhbGwob2JqLCBjYWxsYmFja2ZuKTsNCg0KICAgICAgICByZXR1cm4gdGVzdFJlc3VsdFswXSA9PT0gdHJ1ZSAmJiB0ZXN0UmVzdWx0WzFdID09PSB0cnVlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.map - callbackfn called with correct parameters (the index k is correct)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-c-ii-22.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTkvMTUuNC40LjE5LTgtYy1paS0yMy5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5tYXAgLSBjYWxsYmFja2ZuIGNhbGxlZCB3aXRoIGNvcnJlY3QgcGFyYW1ldGVycyAodGhpcyBvYmplY3QgTyBpcyBjb3JyZWN0KQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgMDogMTEsIGxlbmd0aDogMiB9Ow0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG8pIHsNCiAgICAgICAgICAgIHJldHVybiBvYmogPT09IG87DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgdGVzdFJlc3VsdCA9IEFycmF5LnByb3RvdHlwZS5tYXAuY2FsbChvYmosIGNhbGxiYWNrZm4pOw0KDQogICAgICAgIHJldHVybiB0ZXN0UmVzdWx0WzBdID09PSB0cnVlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.map - callbackfn called with correct parameters (this object O is correct)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-c-ii-23.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTkvMTUuNC40LjE5LTgtYy1paS00LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLm1hcCAtIGsgdmFsdWVzIGFyZSBwYXNzZWQgaW4gYWNlbmRpbmcgbnVtZXJpYyBvcmRlcg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFyciA9IFswLCAxLCAyLCAzLCA0LCA1XTsNCiAgICAgICAgdmFyIGxhc3RJZHggPSAwOw0KICAgICAgICB2YXIgY2FsbGVkID0gMDsNCiAgICAgICAgdmFyIHJlc3VsdCA9IHRydWU7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG8pIHsNCiAgICAgICAgICAgIGNhbGxlZCsrOw0KICAgICAgICAgICAgaWYgKGxhc3RJZHggIT09IGlkeCkgew0KICAgICAgICAgICAgICAgIHJlc3VsdCA9IGZhbHNlOw0KICAgICAgICAgICAgfSBlbHNlIHsNCiAgICAgICAgICAgICAgICBsYXN0SWR4Kys7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICBhcnIubWFwKGNhbGxiYWNrZm4pOw0KICAgICAgICByZXR1cm4gcmVzdWx0ICYmIGFyci5sZW5ndGggPT09IGNhbGxlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.map - k values are passed in acending numeric order","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-c-ii-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTkvMTUuNC40LjE5LTgtYy1paS01LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLm1hcCAtIGsgdmFsdWVzIGFyZSBhY2Nlc3NlZCBkdXJpbmcgZWFjaCBpdGVyYXRpb24gYW5kIG5vdCBwcmlvciB0byBzdGFydGluZyB0aGUgbG9vcC4NCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBrSW5kZXggPSBbXTsNCg0KICAgICAgICAvL0J5IGJlbG93IHdheSwgd2UgY291bGQgdmVyaWZ5IHRoYXQgayB3b3VsZCBiZSBzZXR0ZWQgYXMgMCwgMSwgLi4uLCBsZW5ndGggLSAxIGluIG9yZGVyLCBhbmQgZWFjaCB2YWx1ZSB3aWxsIGJlIHNldHRlZCBvbmUgdGltZS4NCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICAvL0VhY2ggcG9zaXRpb24gc2hvdWxkIGJlIHZpc2l0ZWQgb25lIHRpbWUsIHdoaWNoIG1lYW5zIGsgaXMgYWNjZXNzZWQgb25lIHRpbWUgZHVyaW5nIGl0ZXJhdGlvbnMuDQogICAgICAgICAgICBpZiAodHlwZW9mIGtJbmRleFtpZHhdID09PSAidW5kZWZpbmVkIikgew0KICAgICAgICAgICAgICAgIC8vd2hlbiBjdXJyZW50IHBvc2l0aW9uIGlzIHZpc2l0ZWQsIGl0cyBwcmV2aW91cyBpbmRleCBzaG91bGQgaGFzIGJlZW4gdmlzaXRlZC4NCiAgICAgICAgICAgICAgICBpZiAoaWR4ICE9PSAwICYmIHR5cGVvZiBrSW5kZXhbaWR4IC0gMV0gPT09ICJ1bmRlZmluZWQiKSB7DQogICAgICAgICAgICAgICAgICAgIHJldHVybiB0cnVlOw0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICBrSW5kZXhbaWR4XSA9IDE7DQogICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICAgICAgfSBlbHNlIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gWzExLCAxMiwgMTMsIDE0XS5tYXAoY2FsbGJhY2tmbik7DQoNCiAgICAgICAgcmV0dXJuIHRlc3RSZXN1bHQubGVuZ3RoID09PSA0ICYmIHRlc3RSZXN1bHRbMF0gPT09IGZhbHNlICYmDQogICAgICAgICAgICB0ZXN0UmVzdWx0WzFdID09PSBmYWxzZSAmJiB0ZXN0UmVzdWx0WzJdID09PSBmYWxzZSAmJg0KICAgICAgICAgICAgdGVzdFJlc3VsdFszXSA9PT0gZmFsc2U7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.map - k values are accessed during each iteration and not prior to starting the loop.","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-c-ii-5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTkvMTUuNC40LjE5LTgtYy1paS02LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLm1hcCAtIGFyZ3VtZW50cyB0byBjYWxsYmFja2ZuIGFyZSBzZWxmIGNvbnNpc3RlbnQuDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0geyAwOiAxMSwgbGVuZ3RoOiAxIH07DQogICAgICAgIHZhciB0aGlzQXJnID0ge307DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbigpIHsNCiAgICAgICAgICAgIHJldHVybiB0aGlzID09PSB0aGlzQXJnICYmDQogICAgICAgICAgICAgICAgYXJndW1lbnRzWzBdID09PSAxMSAmJg0KICAgICAgICAgICAgICAgIGFyZ3VtZW50c1sxXSA9PT0gMCAmJg0KICAgICAgICAgICAgICAgIGFyZ3VtZW50c1syXSA9PT0gb2JqOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIHRlc3RSZXN1bHQgPSBBcnJheS5wcm90b3R5cGUubWFwLmNhbGwob2JqLCBjYWxsYmFja2ZuLCB0aGlzQXJnKTsNCg0KICAgICAgICByZXR1cm4gdGVzdFJlc3VsdFswXSA9PT0gdHJ1ZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.map - arguments to callbackfn are self consistent.","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-c-ii-6.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTkvMTUuNC40LjE5LTgtYy1paS03LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLm1hcCAtIHVuaGFuZGxlZCBleGNlcHRpb25zIGhhcHBlbmVkIGluIGNhbGxiYWNrZm4gdGVybWluYXRlIGl0ZXJhdGlvbg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBpZiAoaWR4ID4gMCkgew0KICAgICAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIGlmIChpZHggPT09IDApIHsNCiAgICAgICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoIkV4Y2VwdGlvbiBvY2N1cnJlZCBpbiBjYWxsYmFja2ZuIik7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0geyAwOiAxMSwgNDogMTAsIDEwOiA4LCBsZW5ndGg6IDIwIH07DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIEFycmF5LnByb3RvdHlwZS5tYXAuY2FsbChvYmosIGNhbGxiYWNrZm4pOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChleCkgew0KICAgICAgICAgICAgcmV0dXJuIGV4IGluc3RhbmNlb2YgRXJyb3IgJiYgIWFjY2Vzc2VkOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.map - unhandled exceptions happened in callbackfn terminate iteration","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-c-ii-7.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTkvMTUuNC40LjE5LTgtYy1paS04LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLm1hcCAtIGVsZW1lbnQgY2hhbmdlZCBieSBjYWxsYmFja2ZuIG9uIHByZXZpb3VzIGl0ZXJhdGlvbnMgaXMgb2JzZXJ2ZWQNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7IDA6IDksIDE6IDEyLCBsZW5ndGg6IDIgfTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvKSB7DQogICAgICAgICAgICBpZiAoaWR4ID09PSAwKSB7DQogICAgICAgICAgICAgICAgb2JqW2lkeCArIDFdID0gODsNCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIHJldHVybiB2YWwgPiAxMDsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gQXJyYXkucHJvdG90eXBlLm1hcC5jYWxsKG9iaiwgY2FsbGJhY2tmbik7DQoNCiAgICAgICAgcmV0dXJuIHRlc3RSZXN1bHRbMV0gPT09IGZhbHNlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.map - element changed by callbackfn on previous iterations is observed","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-c-ii-8.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTkvMTUuNC40LjE5LTgtYy1paS05LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLm1hcCAtIGNhbGxiYWNrZm4gd2l0aCAwIGZvcm1hbCBwYXJhbWV0ZXINCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4oKSB7DQogICAgICAgICAgICByZXR1cm4gdHJ1ZTsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gWzExXS5tYXAoY2FsbGJhY2tmbik7DQoNCiAgICAgICAgcmV0dXJuIHRlc3RSZXN1bHRbMF0gPT09IHRydWU7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.map - callbackfn with 0 formal parameter","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-c-ii-9.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTkvMTUuNC40LjE5LTgtYy1paWktMS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5tYXAgLSBnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoYWxsIHRydWUpIG9mIHJldHVybmVkIGFycmF5IGVsZW1lbnQNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICANCiAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKXsNCgkgIGlmKHZhbCAlIDIpDQoJICAgIHJldHVybiAoMiAqIHZhbCArIDEpOyANCgkgIGVsc2UNCgkgICAgcmV0dXJuICh2YWwgLyAyKTsNCiAgfQ0KICB2YXIgc3JjQXJyID0gWzAsMSwyLDMsNF07DQogIHZhciByZXNBcnIgPSBzcmNBcnIubWFwKGNhbGxiYWNrZm4pOw0KICBpZiAocmVzQXJyLmxlbmd0aCA+IDApew0KICAgICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IocmVzQXJyLCAxKSANCiAgICAgaWYoZGVzYy52YWx1ZSA9PT0gMyAmJiAgICAgICAgLy9zcmNBcnJbMV0gPSAyKjErMSA9IDMNCiAgICAgICBkZXNjLndyaXRhYmxlID09PSB0cnVlICYmDQogICAgICAgZGVzYy5lbnVtZXJhYmxlID09PSB0cnVlICYmDQogICAgICAgZGVzYy5jb25maWd1cmFibGUgPT09IHRydWUpew0KICAgICAgICAgcmV0dXJuIHRydWU7DQogICAgfQ0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.map - getOwnPropertyDescriptor(all true) of returned array element","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-c-iii-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTkvMTUuNC40LjE5LTgtYy1paWktMi5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5tYXAgLSB2YWx1ZSBvZiByZXR1cm5lZCBhcnJheSBlbGVtZW50IGVxdWFscyB0byAnbWFwcGVkVmFsdWUnDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiB2YWw7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0geyAwOiAxMSwgMTogOSwgbGVuZ3RoOiAyIH07DQogICAgICAgIHZhciBuZXdBcnIgPSBBcnJheS5wcm90b3R5cGUubWFwLmNhbGwob2JqLCBjYWxsYmFja2ZuKTsNCg0KICAgICAgICByZXR1cm4gbmV3QXJyWzBdID09PSBvYmpbMF0gJiYgbmV3QXJyWzFdID09PSBvYmpbMV07DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.map - value of returned array element equals to 'mappedValue'","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-c-iii-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTkvMTUuNC40LjE5LTgtYy1paWktMy5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5tYXAgLSB2YWx1ZSBvZiByZXR1cm5lZCBhcnJheSBlbGVtZW50IGNhbiBiZSBvdmVyd3JpdHRlbg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gMTE7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0geyAwOiAxMSwgMTogOSwgbGVuZ3RoOiAyIH07DQogICAgICAgIHZhciBuZXdBcnIgPSBBcnJheS5wcm90b3R5cGUubWFwLmNhbGwob2JqLCBjYWxsYmFja2ZuKTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgdmFyIHRlbXBWYWwgPSBuZXdBcnJbMV07DQogICAgICAgICAgICBuZXdBcnJbMV0gKz0gMTsNCiAgICAgICAgICAgIHJldHVybiBuZXdBcnJbMV0gIT09IHRlbXBWYWw7DQogICAgICAgIH0gY2F0Y2ggKGV4KSB7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.map - value of returned array element can be overwritten","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-c-iii-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTkvMTUuNC40LjE5LTgtYy1paWktNC5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5tYXAgLSB2YWx1ZSBvZiByZXR1cm5lZCBhcnJheSBlbGVtZW50IGNhbiBiZSBlbnVtZXJhdGVkDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiB0cnVlOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgMDogMTEsIGxlbmd0aDogMiB9Ow0KICAgICAgICB2YXIgbmV3QXJyID0gQXJyYXkucHJvdG90eXBlLm1hcC5jYWxsKG9iaiwgY2FsbGJhY2tmbik7DQoNCiAgICAgICAgdmFyIHByb3A7DQogICAgICAgIHZhciBlbnVtZXJhYmxlID0gZmFsc2U7DQogICAgICAgIGZvciAocHJvcCBpbiBuZXdBcnIpIHsNCiAgICAgICAgICAgIGlmIChuZXdBcnIuaGFzT3duUHJvcGVydHkocHJvcCkpIHsNCiAgICAgICAgICAgICAgICBpZiAocHJvcCA9PT0gIjAiKSB7DQogICAgICAgICAgICAgICAgICAgIGVudW1lcmFibGUgPSB0cnVlOw0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIHJldHVybiBlbnVtZXJhYmxlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.map - value of returned array element can be enumerated","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-c-iii-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTkvMTUuNC40LjE5LTgtYy1paWktNS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5tYXAgLSB2YWx1ZSBvZiByZXR1cm5lZCBhcnJheSBlbGVtZW50IGNhbiBiZSBjaGFuZ2VkIG9yIGRlbGV0ZWQNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIHRydWU7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0geyAwOiAxMSwgMTogOSwgbGVuZ3RoOiAyIH07DQogICAgICAgIHZhciBuZXdBcnIgPSBBcnJheS5wcm90b3R5cGUubWFwLmNhbGwob2JqLCBjYWxsYmFja2ZuKTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgdmFyIHRlbXBWYWwgPSBuZXdBcnJbMV07DQogICAgICAgICAgICBkZWxldGUgbmV3QXJyWzFdOw0KICAgICAgICAgICAgcmV0dXJuIHRlbXBWYWwgIT09IHVuZGVmaW5lZCAmJiBuZXdBcnJbMV0gPT09IHVuZGVmaW5lZDsNCiAgICAgICAgfSBjYXRjaCAoZXgpIHsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.map - value of returned array element can be changed or deleted","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-8-c-iii-5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTkvMTUuNC40LjE5LTktMS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5tYXAgZG9lc24ndCBtdXRhdGUgdGhlIEFycmF5IG9uIHdoaWNoIGl0IGlzIGNhbGxlZCBvbg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKQ0KICB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiAgdmFyIHNyY0FyciA9IFsxLDIsMyw0LDVdOw0KICBzcmNBcnIubWFwKGNhbGxiYWNrZm4pOw0KICBpZihzcmNBcnJbMF0gPT09IDEgJiYNCiAgICAgc3JjQXJyWzFdID09PSAyICYmDQogICAgIHNyY0FyclsyXSA9PT0gMyAmJg0KICAgICBzcmNBcnJbM10gPT09IDQgJiYNCiAgICAgc3JjQXJyWzRdID09PSA1KQ0KICB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCg0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.map doesn't mutate the Array on which it is called on","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-9-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTkvMTUuNC40LjE5LTktMTAuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubWFwIC0gZW1wdHkgYXJyYXkgdG8gYmUgcmV0dXJuZWQgaWYgJ2xlbmd0aCcgaXMgMCAoc3ViY2xhc3NlZCBBcnJheSwgbGVuZ3RoIG92ZXJyaWRkZW4gd2l0aCBvYmogd2l0aCB2YWx1ZU9mKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICByZXR1cm4gdmFsID4gMTA7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgRm9vID0gZnVuY3Rpb24gKCkgeyB9Ow0KICAgICAgICBGb28ucHJvdG90eXBlID0gWzEsIDIsIDNdOw0KICAgICAgICB2YXIgb2JqID0gbmV3IEZvbygpOw0KICAgICAgICBvYmoubGVuZ3RoID0gew0KICAgICAgICAgICAgdmFsdWVPZjogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiAwOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9Ow0KDQogICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gQXJyYXkucHJvdG90eXBlLm1hcC5jYWxsKG9iaiwgY2FsbGJhY2tmbik7DQogICAgICAgIHJldHVybiB0ZXN0UmVzdWx0Lmxlbmd0aCA9PT0gMDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.map - empty array to be returned if 'length' is 0 (subclassed Array, length overridden with obj with valueOf)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-9-10.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTkvMTUuNC40LjE5LTktMTEuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubWFwIC0gcmV0dXJucyBhbiBlbXB0eSBhcnJheSBpZiAnbGVuZ3RoJyBpcyAwIChzdWJjbGFzc2VkIEFycmF5LCBsZW5ndGggb3ZlcnJpZGRlbiB3aXRoIG9iaiB3L28gdmFsdWVPZiAodG9TdHJpbmcpKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIGZ1bmN0aW9uIEZvbygpIHsgfQ0KICAgICAgICBGb28ucHJvdG90eXBlID0gWzEsIDIsIDNdOw0KDQogICAgICAgIHZhciBmID0gbmV3IEZvbygpOw0KDQogICAgICAgIHZhciBvID0gew0KICAgICAgICAgICAgdG9TdHJpbmc6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gJzAnOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9Ow0KICAgICAgICBmLmxlbmd0aCA9IG87DQoNCiAgICAgICAgLy8gb2JqZWN0cyBpbmhlcml0IHRoZSBkZWZhdWx0IHZhbHVlT2YgbWV0aG9kIG9mIHRoZSBPYmplY3Qgb2JqZWN0Ow0KICAgICAgICAvLyB0aGF0IHNpbXBseSByZXR1cm5zIHRoZSBpdHNlbGYuIFNpbmNlIHRoZSBkZWZhdWx0IHZhbHVlT2YoKSBtZXRob2QNCiAgICAgICAgLy8gZG9lcyBub3QgcmV0dXJuIGEgcHJpbWl0aXZlIHZhbHVlLCBFUyBuZXh0IHRyaWVzIHRvIGNvbnZlcnQgdGhlIG9iamVjdA0KICAgICAgICAvLyB0byBhIG51bWJlciBieSBjYWxsaW5nIGl0cyB0b1N0cmluZygpIG1ldGhvZCBhbmQgY29udmVydGluZyB0aGUNCiAgICAgICAgLy8gcmVzdWx0aW5nIHN0cmluZyB0byBhIG51bWJlci4NCg0KICAgICAgICBmdW5jdGlvbiBjYigpIHsgfQ0KICAgICAgICB2YXIgYSA9IEFycmF5LnByb3RvdHlwZS5tYXAuY2FsbChmLCBjYik7DQoNCiAgICAgICAgaWYgKEFycmF5LmlzQXJyYXkoYSkgJiYgYS5sZW5ndGggPT09IDApIHsNCiAgICAgICAgICAgIHJldHVybiB0cnVlOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.map - returns an empty array if 'length' is 0 (subclassed Array, length overridden with obj w/o valueOf (toString))","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-9-11.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTkvMTUuNC40LjE5LTktMTIuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubWFwIC0gcmV0dXJucyBhbiBlbXB0eSBhcnJheSBpZiAnbGVuZ3RoJyBpcyAwIChzdWJjbGFzc2VkIEFycmF5LCBsZW5ndGggb3ZlcnJpZGRlbiB3aXRoIFtdKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIGZ1bmN0aW9uIEZvbygpIHsgfQ0KICAgICAgICBGb28ucHJvdG90eXBlID0gWzEsIDIsIDNdOw0KICAgICAgICB2YXIgZiA9IG5ldyBGb28oKTsNCg0KICAgICAgICBmLmxlbmd0aCA9IFtdOw0KDQogICAgICAgIC8vIG9iamVjdHMgaW5oZXJpdCB0aGUgZGVmYXVsdCB2YWx1ZU9mIG1ldGhvZCBvZiB0aGUgT2JqZWN0IG9iamVjdDsNCiAgICAgICAgLy8gdGhhdCBzaW1wbHkgcmV0dXJucyB0aGUgaXRzZWxmLiBTaW5jZSB0aGUgZGVmYXVsdCB2YWx1ZU9mKCkgbWV0aG9kDQogICAgICAgIC8vIGRvZXMgbm90IHJldHVybiBhIHByaW1pdGl2ZSB2YWx1ZSwgRVMgbmV4dCB0cmllcyB0byBjb252ZXJ0IHRoZSBvYmplY3QNCiAgICAgICAgLy8gdG8gYSBudW1iZXIgYnkgY2FsbGluZyBpdHMgdG9TdHJpbmcoKSBtZXRob2QgYW5kIGNvbnZlcnRpbmcgdGhlDQogICAgICAgIC8vIHJlc3VsdGluZyBzdHJpbmcgdG8gYSBudW1iZXIuDQogICAgICAgIC8vDQogICAgICAgIC8vIFRoZSB0b1N0cmluZyggKSBtZXRob2Qgb24gQXJyYXkgY29udmVydHMgdGhlIGFycmF5IGVsZW1lbnRzIHRvIHN0cmluZ3MsDQogICAgICAgIC8vIHRoZW4gcmV0dXJucyB0aGUgcmVzdWx0IG9mIGNvbmNhdGVuYXRpbmcgdGhlc2Ugc3RyaW5ncywgd2l0aCBjb21tYXMgaW4NCiAgICAgICAgLy8gYmV0d2Vlbi4gQW4gYXJyYXkgd2l0aCBubyBlbGVtZW50cyBjb252ZXJ0cyB0byB0aGUgZW1wdHkgc3RyaW5nLCB3aGljaA0KICAgICAgICAvLyBjb252ZXJ0cyB0byB0aGUgbnVtYmVyIDAuIElmIGFuIGFycmF5IGhhcyBhIHNpbmdsZSBlbGVtZW50IHRoYXQgaXMgYQ0KICAgICAgICAvLyBudW1iZXIgbiwgdGhlIGFycmF5IGNvbnZlcnRzIHRvIGEgc3RyaW5nIHJlcHJlc2VudGF0aW9uIG9mIG4sIHdoaWNoIGlzDQogICAgICAgIC8vIHRoZW4gY29udmVydGVkIGJhY2sgdG8gbiBpdHNlbGYuIElmIGFuIGFycmF5IGNvbnRhaW5zIG1vcmUgdGhhbiBvbmUgZWxlbWVudCwNCiAgICAgICAgLy8gb3IgaWYgaXRzIG9uZSBlbGVtZW50IGlzIG5vdCBhIG51bWJlciwgdGhlIGFycmF5IGNvbnZlcnRzIHRvIE5hTi4NCg0KICAgICAgICBmdW5jdGlvbiBjYigpIHsgfQ0KICAgICAgICB2YXIgYSA9IEFycmF5LnByb3RvdHlwZS5tYXAuY2FsbChmLCBjYik7DQoNCiAgICAgICAgaWYgKEFycmF5LmlzQXJyYXkoYSkgJiYgYS5sZW5ndGggPT09IDApIHsNCiAgICAgICAgICAgIHJldHVybiB0cnVlOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.map - returns an empty array if 'length' is 0 (subclassed Array, length overridden with [])","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-9-12.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTkvMTUuNC40LjE5LTktMTMuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUubWFwIC0gaWYgdGhlcmUgYXJlIG5vIHNpZGUgZWZmZWN0cyBvZiB0aGUgZnVuY3Rpb25zLCBPIGlzIHVubW9kaWZpZWQNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBjYWxsZWQgPSAwOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgY2FsbGVkKys7DQogICAgICAgICAgICByZXR1cm4gdmFsID4gMjsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBhcnIgPSBbMSwgMiwgMywgNF07DQoNCiAgICAgICAgYXJyLm1hcChjYWxsYmFja2ZuKTsNCg0KICAgICAgICByZXR1cm4gMSA9PT0gYXJyWzBdICYmIDIgPT09IGFyclsxXSAmJiAzID09PSBhcnJbMl0gJiYgNCA9PT0gYXJyWzNdICYmIDQgPT09IGNhbGxlZDsNCg0KDQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.map - if there are no side effects of the functions, O is unmodified","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-9-13.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTkvMTUuNC40LjE5LTktMi5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5tYXAgcmV0dXJucyBuZXcgQXJyYXkgd2l0aCBzYW1lIG51bWJlciBvZiBlbGVtZW50cyBhbmQgdmFsdWVzIHRoZSByZXN1bHQgb2YgY2FsbGJhY2tmbg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKQ0KICB7DQogICAgcmV0dXJuIHZhbCArIDEwOw0KICB9DQogIHZhciBzcmNBcnIgPSBbMSwyLDMsNCw1XTsNCiAgdmFyIHJlc0FyciA9IHNyY0Fyci5tYXAoY2FsbGJhY2tmbik7DQogIGlmKHJlc0FyclswXSA9PT0gMTEgJiYNCiAgICAgcmVzQXJyWzFdID09PSAxMiAmJg0KICAgICByZXNBcnJbMl0gPT09IDEzICYmDQogICAgIHJlc0FyclszXSA9PT0gMTQgJiYNCiAgICAgcmVzQXJyWzRdID09PSAxNSkNCiAgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQoNCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.map returns new Array with same number of elements and values the result of callbackfn","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-9-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTkvMTUuNC40LjE5LTktMy5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5tYXAgLSBzdWJjbGFzc2VkIGFycmF5IHdoZW4gbGVuZ3RoIGlzIHJlZHVjZWQNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICBmb28ucHJvdG90eXBlID0gbmV3IEFycmF5KDEsIDIsIDMpOw0KICBmdW5jdGlvbiBmb28oKSB7fQ0KICB2YXIgZiA9IG5ldyBmb28oKTsNCiAgZi5sZW5ndGggPSAxOw0KICANCiAgZnVuY3Rpb24gY2IoKXt9DQogIHZhciBhID0gZi5tYXAoY2IpOw0KICANCiAgaWYgKEFycmF5LmlzQXJyYXkoYSkgJiYNCiAgICAgIGEubGVuZ3RoID09PSAxKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.map - subclassed array when length is reduced","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-9-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTkvMTUuNC40LjE5LTktNC5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5tYXAgZG9lc24ndCB2aXNpdCBleHBhbmRvcw0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgdmFyIGNhbGxDbnQgPSAwOw0KICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopDQogIHsNCiAgICBjYWxsQ250Kys7DQogIH0NCiAgdmFyIHNyY0FyciA9IFsxLDIsMyw0LDVdOw0KICBzcmNBcnJbImkiXSA9IDEwOw0KICBzcmNBcnJbdHJ1ZV0gPSAxMTsNCg0KICB2YXIgcmVzQXJyID0gc3JjQXJyLm1hcChjYWxsYmFja2ZuKTsNCiAgaWYoY2FsbENudCA9PSA1KQ0KICB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCg0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.map doesn't visit expandos","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-9-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTkvMTUuNC40LjE5LTktNS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5tYXAgLSBlbXB0eSBhcnJheSB0byBiZSByZXR1cm5lZCBpZiAnbGVuZ3RoJyBpcyAwIChlbXB0eSBhcnJheSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIHZhbCA+IDEwOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgMDogOSwgMTogOCwgbGVuZ3RoOiAwIH07DQoNCiAgICAgICAgdmFyIHRlc3RSZXN1bHQgPSBBcnJheS5wcm90b3R5cGUubWFwLmNhbGwob2JqLCBjYWxsYmFja2ZuKTsNCg0KICAgICAgICByZXR1cm4gdGVzdFJlc3VsdC5sZW5ndGggPT09IDA7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.map - empty array to be returned if 'length' is 0 (empty array)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-9-5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTkvMTUuNC40LjE5LTktNi5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5tYXAgLSBlbXB0eSBhcnJheSB0byBiZSByZXR1cm5lZCBpZiAnbGVuZ3RoJyBpcyAwIChzdWJjbGFzc2VkIEFycmF5LCBsZW5ndGggb3ZlcnJpZGRlbiB0byBudWxsICh0eXBlIGNvbnZlcnNpb24pKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gdmFsID4gMTA7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgRm9vID0gZnVuY3Rpb24gKCkgeyB9Ow0KICAgICAgICBGb28ucHJvdG90eXBlID0gWzEsIDIsIDNdOw0KICAgICAgICB2YXIgb2JqID0gbmV3IEZvbygpOw0KICAgICAgICBvYmoubGVuZ3RoID0gbnVsbDsNCg0KICAgICAgICB2YXIgdGVzdFJlc3VsdCA9IEFycmF5LnByb3RvdHlwZS5tYXAuY2FsbChvYmosIGNhbGxiYWNrZm4pOw0KICAgICAgICByZXR1cm4gdGVzdFJlc3VsdC5sZW5ndGggPT09IDA7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.map - empty array to be returned if 'length' is 0 (subclassed Array, length overridden to null (type conversion))","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-9-6.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTkvMTUuNC40LjE5LTktNy5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5tYXAgLSBlbXB0eSBhcnJheSB0byBiZSByZXR1cm5lZCBpZiAnbGVuZ3RoJyBpcyAwIChzdWJjbGFzc2VkIEFycmF5LCBsZW5ndGggb3ZlcnJpZGRlbiB0byBmYWxzZSAodHlwZSBjb252ZXJzaW9uKSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgcmV0dXJuIHZhbCA+IDEwOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIEZvbyA9IGZ1bmN0aW9uICgpIHsgfTsNCiAgICAgICAgRm9vLnByb3RvdHlwZSA9IFsxLCAyLCAzXTsNCiAgICAgICAgdmFyIG9iaiA9IG5ldyBGb28oKTsNCiAgICAgICAgb2JqLmxlbmd0aCA9IGZhbHNlOw0KDQogICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gQXJyYXkucHJvdG90eXBlLm1hcC5jYWxsKG9iaiwgY2FsbGJhY2tmbik7DQogICAgICAgIHJldHVybiB0ZXN0UmVzdWx0Lmxlbmd0aCA9PT0gMDsNCg0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.map - empty array to be returned if 'length' is 0 (subclassed Array, length overridden to false (type conversion))","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-9-7.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTkvMTUuNC40LjE5LTktOC5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5tYXAgLSBlbXB0eSBhcnJheSB0byBiZSByZXR1cm5lZCBpZiAnbGVuZ3RoJyBpcyAwIChzdWJjbGFzc2VkIEFycmF5LCBsZW5ndGggb3ZlcnJpZGRlbiB0byAwICh0eXBlIGNvbnZlcnNpb24pKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICByZXR1cm4gdmFsID4gMTA7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgRm9vID0gZnVuY3Rpb24gKCkgeyB9Ow0KICAgICAgICBGb28ucHJvdG90eXBlID0gWzEsIDIsIDNdOw0KICAgICAgICB2YXIgb2JqID0gbmV3IEZvbygpOw0KICAgICAgICBvYmoubGVuZ3RoID0gMDsNCg0KICAgICAgICB2YXIgdGVzdFJlc3VsdCA9IEFycmF5LnByb3RvdHlwZS5tYXAuY2FsbChvYmosIGNhbGxiYWNrZm4pOw0KICAgICAgICByZXR1cm4gdGVzdFJlc3VsdC5sZW5ndGggPT09IDA7DQoNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.map - empty array to be returned if 'length' is 0 (subclassed Array, length overridden to 0 (type conversion))","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-9-8.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMTkvMTUuNC40LjE5LTktOS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5tYXAgLSBlbXB0eSBhcnJheSB0byBiZSByZXR1cm5lZCBpZiAnbGVuZ3RoJyBpcyAwIChzdWJjbGFzc2VkIEFycmF5LCBsZW5ndGggb3ZlcnJpZGRlbiB0byAnMCcgKHR5cGUgY29udmVyc2lvbikpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIHJldHVybiB2YWwgPiAxMDsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBGb28gPSBmdW5jdGlvbiAoKSB7IH07DQogICAgICAgIEZvby5wcm90b3R5cGUgPSBbMSwgMiwgM107DQogICAgICAgIHZhciBvYmogPSBuZXcgRm9vKCk7DQogICAgICAgIG9iai5sZW5ndGggPSAnMCc7DQoNCiAgICAgICAgdmFyIHRlc3RSZXN1bHQgPSBBcnJheS5wcm90b3R5cGUubWFwLmNhbGwob2JqLCBjYWxsYmFja2ZuKTsNCiAgICAgICAgcmV0dXJuIHRlc3RSZXN1bHQubGVuZ3RoID09PSAwOw0KDQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.map - empty array to be returned if 'length' is 0 (subclassed Array, length overridden to '0' (type conversion))","path":"TestCases/ch15/15.4/15.4.4/15.4.4.19/15.4.4.19-9-9.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcmVzdWx0IG9mIGNhbGxpbmcgdGhpcyBmdW5jdGlvbiBpcyB0aGUgc2FtZSBhcyBpZgogKiB0aGUgYnVpbHQtaW4gam9pbiBtZXRob2Qgd2VyZSBpbnZva2VkIGZvciB0aGlzIG9iamVjdCB3aXRoIG5vIGFyZ3VtZW50CiAqCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIvUzE1LjQuNC4yX0ExX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBJZiBSZXN1bHQoMikgaXMgemVybywgcmV0dXJuIHRoZSBlbXB0eSBzdHJpbmcKICovCgovL0NIRUNLIzEKdmFyIHggPSBuZXcgQXJyYXkoKTsKaWYgKHgudG9TdHJpbmcoKSAhPT0geC5qb2luKCkpIHsKICAkRVJST1IoJyMxLjE6IHggPSBuZXcgQXJyYXkoKTsgeC50b1N0cmluZygpID09PSB4LmpvaW4oKS4gQWN0dWFsOiAnICsgKHgudG9TdHJpbmcoKSkpOwp9ICBlbHNlIHsKICBpZiAoeC50b1N0cmluZygpICE9PSAiIikgewogICAgJEVSUk9SKCcjMS4yOiB4ID0gbmV3IEFycmF5KCk7IHgudG9TdHJpbmcoKSA9PT0gIiIuIEFjdHVhbDogJyArICh4LnRvU3RyaW5nKCkpKTsKICB9ICAKfSAgCgovL0NIRUNLIzIKeCA9IFtdOwp4WzBdID0gMTsKeC5sZW5ndGggPSAwOwppZiAoeC50b1N0cmluZygpICE9PSB4LmpvaW4oKSkgewogICRFUlJPUignIzIuMTogeCA9IFtdOyB4WzBdID0gMTsgeC5sZW5ndGggPSAwOyB4LnRvU3RyaW5nKCkgPT09IHguam9pbigpLiBBY3R1YWw6ICcgKyAoeC50b1N0cmluZygpKSk7Cn0gZWxzZSB7CiAgaWYgKHgudG9TdHJpbmcoKSAhPT0gIiIpIHsKICAgICRFUlJPUignIzIuMjogeCA9IFtdOyB4WzBdID0gMTsgeC5sZW5ndGggPSAwOyB4LnRvU3RyaW5nKCkgPT09ICIiLiBBY3R1YWw6ICcgKyAoeC50b1N0cmluZygpKSk7CiAgfSAgCn0gICAgCgo=","commentary":"The result of calling this function is the same as if\nthe built-in join method were invoked for this object with no argument","description":"If Result(2) is zero, return the empty string","path":"TestCases/ch15/15.4/15.4.4/15.4.4.2/S15.4.4.2_A1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcmVzdWx0IG9mIGNhbGxpbmcgdGhpcyBmdW5jdGlvbiBpcyB0aGUgc2FtZSBhcyBpZgogKiB0aGUgYnVpbHQtaW4gam9pbiBtZXRob2Qgd2VyZSBpbnZva2VkIGZvciB0aGlzIG9iamVjdCB3aXRoIG5vIGFyZ3VtZW50CiAqCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIvUzE1LjQuNC4yX0ExX1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBUaGUgZWxlbWVudHMgb2YgdGhlIGFycmF5IGFyZSBjb252ZXJ0ZWQgdG8gc3RyaW5ncywgYW5kIHRoZXNlIHN0cmluZ3MgYXJlCiAqIHRoZW4gY29uY2F0ZW5hdGVkLCBzZXBhcmF0ZWQgYnkgb2NjdXJyZW5jZXMgb2YgdGhlIHNlcGFyYXRvci4gSWYgbm8gc2VwYXJhdG9yIGlzIHByb3ZpZGVkLAogKiBhIHNpbmdsZSBjb21tYSBpcyB1c2VkIGFzIHRoZSBzZXBhcmF0b3IKICovCgovL0NIRUNLIzEKdmFyIHggPSBuZXcgQXJyYXkoMCwxLDIsMyk7CmlmICh4LnRvU3RyaW5nKCkgIT09IHguam9pbigpKSB7CiAgJEVSUk9SKCcjMS4xOiB4ID0gbmV3IEFycmF5KDAsMSwyLDMpOyB4LnRvU3RyaW5nKCkgPT09IHguam9pbigpLiBBY3R1YWw6ICcgKyAoeC50b1N0cmluZygpKSk7Cn0gZWxzZSB7CiAgaWYgKHgudG9TdHJpbmcoKSAhPT0gIjAsMSwyLDMiKSB7CiAgICAkRVJST1IoJyMxLjI6IHggPSBuZXcgQXJyYXkoMCwxLDIsMyk7IHgudG9TdHJpbmcoKSA9PT0gIjAsMSwyLDMiLiBBY3R1YWw6ICcgKyAoeC50b1N0cmluZygpKSk7CiAgfQp9CgovL0NIRUNLIzIKeCA9IFtdOwp4WzBdID0gMDsKeFszXSA9IDM7CmlmICh4LnRvU3RyaW5nKCkgIT09IHguam9pbigpKSB7CiAgJEVSUk9SKCcjMi4xOiB4ID0gW107IHhbMF0gPSAwOyB4WzNdID0gMzsgeC50b1N0cmluZygpID09PSB4LmpvaW4oKS4gQWN0dWFsOiAnICsgKHgudG9TdHJpbmcoKSkpOwp9IGVsc2UgewogIGlmICh4LnRvU3RyaW5nKCkgIT09ICIwLCwsMyIpIHsKICAgICRFUlJPUignIzIuMjogeCA9IFtdOyB4WzBdID0gMDsgeFszXSA9IDM7IHgudG9TdHJpbmcoKSA9PT0gIjAsLCwzIi4gQWN0dWFsOiAnICsgKHgudG9TdHJpbmcoKSkpOwogIH0KfQoKLy9DSEVDSyMzCnggPSBBcnJheSh1bmRlZmluZWQsMSxudWxsLDMpOwppZiAoeC50b1N0cmluZygpICE9PSB4LmpvaW4oKSkgewogICRFUlJPUignIzMuMTogeCA9IEFycmF5KHVuZGVmaW5lZCwxLG51bGwsMyk7IHgudG9TdHJpbmcoKSA9PT0geC5qb2luKCkuIEFjdHVhbDogJyArICh4LnRvU3RyaW5nKCkpKTsKfSBlbHNlIHsKICBpZiAoeC50b1N0cmluZygpICE9PSAiLDEsLDMiKSB7CiAgICAkRVJST1IoJyMzLjI6IHggPSBBcnJheSh1bmRlZmluZWQsMSxudWxsLDMpOyB4LnRvU3RyaW5nKCkgPT09ICIsMSwsMyIuIEFjdHVhbDogJyArICh4LnRvU3RyaW5nKCkpKTsKICB9Cn0KCi8vQ0hFQ0sjNAp4ID0gW107CnhbMF0gPSAwOwppZiAoeC50b1N0cmluZygpICE9PSB4LmpvaW4oKSkgewogICRFUlJPUignIzQuMTogeCA9IFtdOyB4WzBdID0gMDsgeC50b1N0cmluZygpID09PSB4LmpvaW4oKS4gQWN0dWFsOiAnICsgKHgudG9TdHJpbmcoKSkpOwp9IGVsc2UgewogIGlmICh4LnRvU3RyaW5nKCkgIT09ICIwIikgewogICAgJEVSUk9SKCcjNC4yOiB4ID0gW107IHhbMF0gPSAwOyB4LnRvU3RyaW5nKCkgPT09ICIwIi4gQWN0dWFsOiAnICsgKHgudG9TdHJpbmcoKSkpOwogIH0KfQoK","commentary":"The result of calling this function is the same as if\nthe built-in join method were invoked for this object with no argument","description":"The elements of the array are converted to strings, and these strings are\nthen concatenated, separated by occurrences of the separator. If no separator is provided,\na single comma is used as the separator","path":"TestCases/ch15/15.4/15.4.4/15.4.4.2/S15.4.4.2_A1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcmVzdWx0IG9mIGNhbGxpbmcgdGhpcyBmdW5jdGlvbiBpcyB0aGUgc2FtZSBhcyBpZgogKiB0aGUgYnVpbHQtaW4gam9pbiBtZXRob2Qgd2VyZSBpbnZva2VkIGZvciB0aGlzIG9iamVjdCB3aXRoIG5vIGFyZ3VtZW50CiAqCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIvUzE1LjQuNC4yX0ExX1QzLmpzCiAqIEBkZXNjcmlwdGlvbiBPcGVyYXRvciB1c2UgVG9TdHJpbmcgZnJvbSBhcnJheSBhcmd1bWVudHMKICovCgovL0NIRUNLIzAKdmFyIHggPSBuZXcgQXJyYXkoIiIsIiIsIiIpOwppZiAoeC50b1N0cmluZygpICE9PSB4LmpvaW4oKSkgewogICRFUlJPUignIzAuMTogdmFyIHggPSBuZXcgQXJyYXkoIiIsIiIsIiIpOyB4LnRvU3RyaW5nKCkgPT09IHguam9pbigpLiBBY3R1YWw6ICcgKyAoeC50b1N0cmluZygpKSk7Cn0gZWxzZSB7CiAgaWYgKHgudG9TdHJpbmcoKSAhPT0gIiwsIikgewogICAgJEVSUk9SKCcjMC4yOiB2YXIgeCA9IG5ldyBBcnJheSgiIiwiIiwiIik7IHgudG9TdHJpbmcoKSA9PT0gIiwsIi4gQWN0dWFsOiAnICsgKHgudG9TdHJpbmcoKSkpOwogIH0KfQoKLy9DSEVDSyMxCnZhciB4ID0gbmV3IEFycmF5KCJcXCIsIlxcIiwiXFwiKTsKaWYgKHgudG9TdHJpbmcoKSAhPT0geC5qb2luKCkpIHsKICAkRVJST1IoJyMxLjE6IHZhciB4ID0gbmV3IEFycmF5KCJcXCIsIlxcIiwiXFwiKTsgeC50b1N0cmluZygpID09PSB4LmpvaW4oKS4gQWN0dWFsOiAnICsgKHgudG9TdHJpbmcoKSkpOwp9IGVsc2UgewogIGlmICh4LnRvU3RyaW5nKCkgIT09ICJcXCxcXCxcXCIpIHsKICAgICRFUlJPUignIzEuMjogdmFyIHggPSBuZXcgQXJyYXkoIlxcIiwiXFwiLCJcXCIpOyB4LnRvU3RyaW5nKCkgPT09ICJcXCxcXCxcXCIuIEFjdHVhbDogJyArICh4LnRvU3RyaW5nKCkpKTsKICB9IAp9CgovL0NIRUNLIzIKdmFyIHggPSBuZXcgQXJyYXkoIiYiLCAiJiIsICImIik7CmlmICh4LnRvU3RyaW5nKCkgIT09IHguam9pbigpKSB7CiAgJEVSUk9SKCcjMi4xOiB2YXIgeCA9IG5ldyBBcnJheSgiJiIsICImIiwgIiYiKTsgeC50b1N0cmluZygpID09PSB4LmpvaW4oKS4gQWN0dWFsOiAnICsgKHgudG9TdHJpbmcoKSkpOwp9IGVsc2UgewogIGlmICh4LnRvU3RyaW5nKCkgIT09ICImLCYsJiIpIHsKICAgICRFUlJPUignIzIuMjogdmFyIHggPSBuZXcgQXJyYXkoIiYiLCAiJiIsICImIik7IHgudG9TdHJpbmcoKSA9PT0gIiYsJiwmIi4gQWN0dWFsOiAnICsgKHgudG9TdHJpbmcoKSkpOwogIH0KfQoKLy9DSEVDSyMzCnZhciB4ID0gbmV3IEFycmF5KHRydWUsdHJ1ZSx0cnVlKTsKaWYgKHgudG9TdHJpbmcoKSAhPT0geC5qb2luKCkpIHsKICAkRVJST1IoJyMzLjE6IHZhciB4ID0gbmV3IEFycmF5KHRydWUsdHJ1ZSx0cnVlKTsgeC50b1N0cmluZyh0cnVlLHRydWUsdHJ1ZSkgPT09IHguam9pbigpLiBBY3R1YWw6ICcgKyAoeC50b1N0cmluZyh0cnVlLHRydWUsdHJ1ZSkpKTsKfSBlbHNlIHsKICBpZiAoeC50b1N0cmluZygpICE9PSAidHJ1ZSx0cnVlLHRydWUiKSB7CiAgICAkRVJST1IoJyMzLjI6IHZhciB4ID0gbmV3IEFycmF5KHRydWUsdHJ1ZSx0cnVlKTsgeC50b1N0cmluZyh0cnVlLHRydWUsdHJ1ZSkgPT09ICJ0cnVlLHRydWUsdHJ1ZSIuIEFjdHVhbDogJyArICh4LnRvU3RyaW5nKHRydWUsdHJ1ZSx0cnVlKSkpOwogIH0KfQoKLy9DSEVDSyM0CnZhciB4ID0gbmV3IEFycmF5KG51bGwsbnVsbCxudWxsKTsKaWYgKHgudG9TdHJpbmcoKSAhPT0geC5qb2luKCkpIHsKICAkRVJST1IoJyM0LjE6IHZhciB4ID0gbmV3IEFycmF5KG51bGwsbnVsbCxudWxsKTsgeC50b1N0cmluZyhudWxsLG51bGwsbnVsbCkgPT09IHguam9pbigpLiBBY3R1YWw6ICcgKyAoeC50b1N0cmluZyhudWxsLG51bGwsbnVsbCkpKTsKfSBlbHNlIHsKICBpZiAoeC50b1N0cmluZygpICE9PSAiLCwiKSB7CiAgICAkRVJST1IoJyM0LjI6IHZhciB4ID0gbmV3IEFycmF5KG51bGwsbnVsbCxudWxsKTsgeC50b1N0cmluZyhudWxsLG51bGwsbnVsbCkgPT09ICIsLCIuIEFjdHVhbDogJyArICh4LnRvU3RyaW5nKG51bGwsbnVsbCxudWxsKSkpOwogIH0KfQoKLy9DSEVDSyM1CnZhciB4ID0gbmV3IEFycmF5KHVuZGVmaW5lZCx1bmRlZmluZWQsdW5kZWZpbmVkKTsKaWYgKHgudG9TdHJpbmcoKSAhPT0geC5qb2luKCkpIHsKICAkRVJST1IoJyM1LjE6IHZhciB4ID0gbmV3IEFycmF5KHVuZGVmaW5lZCx1bmRlZmluZWQsdW5kZWZpbmVkKTsgeC50b1N0cmluZyh1bmRlZmluZWQsdW5kZWZpbmVkLHVuZGVmaW5lZCkgPT09IHguam9pbigpLiBBY3R1YWw6ICcgKyAoeC50b1N0cmluZyh1bmRlZmluZWQsdW5kZWZpbmVkLHVuZGVmaW5lZCkpKTsKfSBlbHNlIHsKICBpZiAoeC50b1N0cmluZygpICE9PSAiLCwiKSB7CiAgICAkRVJST1IoJyM1LjI6IHZhciB4ID0gbmV3IEFycmF5KHVuZGVmaW5lZCx1bmRlZmluZWQsdW5kZWZpbmVkKTsgeC50b1N0cmluZyh1bmRlZmluZWQsdW5kZWZpbmVkLHVuZGVmaW5lZCkgPT09ICIsLCIuIEFjdHVhbDogJyArICh4LnRvU3RyaW5nKHVuZGVmaW5lZCx1bmRlZmluZWQsdW5kZWZpbmVkKSkpOwogIH0KfQoKLy9DSEVDSyM2CnZhciB4ID0gbmV3IEFycmF5KEluZmluaXR5LEluZmluaXR5LEluZmluaXR5KTsKaWYgKHgudG9TdHJpbmcoKSAhPT0geC5qb2luKCkpIHsKICAkRVJST1IoJyM2LjE6IHZhciB4ID0gbmV3IEFycmF5KEluZmluaXR5LEluZmluaXR5LEluZmluaXR5KTsgeC50b1N0cmluZyhJbmZpbml0eSxJbmZpbml0eSxJbmZpbml0eSkgPT09IHguam9pbigpLiBBY3R1YWw6ICcgKyAoeC50b1N0cmluZyhJbmZpbml0eSxJbmZpbml0eSxJbmZpbml0eSkpKTsKfSBlbHNlIHsKICBpZiAoeC50b1N0cmluZygpICE9PSAiSW5maW5pdHksSW5maW5pdHksSW5maW5pdHkiKSB7CiAgICAkRVJST1IoJyM2LjI6IHZhciB4ID0gbmV3IEFycmF5KEluZmluaXR5LEluZmluaXR5LEluZmluaXR5KTsgeC50b1N0cmluZyhJbmZpbml0eSxJbmZpbml0eSxJbmZpbml0eSkgPT09ICJJbmZpbml0eSxJbmZpbml0eSxJbmZpbml0eSIuIEFjdHVhbDogJyArICh4LnRvU3RyaW5nKEluZmluaXR5LEluZmluaXR5LEluZmluaXR5KSkpOwogIH0KfQoKLy9DSEVDSyM3CnZhciB4ID0gbmV3IEFycmF5KE5hTixOYU4sTmFOKTsKaWYgKHgudG9TdHJpbmcoKSAhPT0geC5qb2luKCkpIHsKICAkRVJST1IoJyM3LjE6IHZhciB4ID0gbmV3IEFycmF5KE5hTixOYU4sTmFOKTsgeC50b1N0cmluZyhOYU4sTmFOLE5hTikgPT09IHguam9pbigpLiBBY3R1YWw6ICcgKyAoeC50b1N0cmluZyhOYU4sTmFOLE5hTikpKTsKfSBlbHNlIHsKICBpZiAoeC50b1N0cmluZygpICE9PSAiTmFOLE5hTixOYU4iKSB7CiAgICAkRVJST1IoJyM3LjI6IHZhciB4ID0gbmV3IEFycmF5KE5hTixOYU4sTmFOKTsgeC50b1N0cmluZyhOYU4sTmFOLE5hTikgPT09ICJOYU4sTmFOLE5hTiIuIEFjdHVhbDogJyArICh4LnRvU3RyaW5nKE5hTixOYU4sTmFOKSkpOwogIH0KfSAgIAoK","commentary":"The result of calling this function is the same as if\nthe built-in join method were invoked for this object with no argument","description":"Operator use ToString from array arguments","path":"TestCases/ch15/15.4/15.4.4/15.4.4.2/S15.4.4.2_A1_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcmVzdWx0IG9mIGNhbGxpbmcgdGhpcyBmdW5jdGlvbiBpcyB0aGUgc2FtZSBhcyBpZgogKiB0aGUgYnVpbHQtaW4gam9pbiBtZXRob2Qgd2VyZSBpbnZva2VkIGZvciB0aGlzIG9iamVjdCB3aXRoIG5vIGFyZ3VtZW50CiAqCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIvUzE1LjQuNC4yX0ExX1Q0LmpzCiAqIEBkZXNjcmlwdGlvbiBJZiBUeXBlKHZhbHVlKSBpcyBPYmplY3QsIGV2YWx1YXRlIFRvUHJpbWl0aXZlKHZhbHVlLCBTdHJpbmcpCiAqLwoKLy9DSEVDSyMxCnZhciBvYmplY3QgPSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuICIrIn19Owp2YXIgeCA9IG5ldyBBcnJheShvYmplY3QpOwppZiAoeC50b1N0cmluZygpICE9PSB4LmpvaW4oKSkgewogICRFUlJPUignIzEuMTogdmFyIG9iamVjdCA9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gIisifX0gdmFyIHggPSBuZXcgQXJyYXkob2JqZWN0KTsgeC50b1N0cmluZygpID09PSB4LmpvaW4oKS4gQWN0dWFsOiAnICsgKHgudG9TdHJpbmcoKSkpOwp9IGVsc2UgewogIGlmICh4LnRvU3RyaW5nKCkgIT09ICJbb2JqZWN0IE9iamVjdF0iKSB7CiAgICAkRVJST1IoJyMxLjI6IHZhciBvYmplY3QgPSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuICIrIn19IHZhciB4ID0gbmV3IEFycmF5KG9iamVjdCk7IHgudG9TdHJpbmcoKSA9PT0gIltvYmplY3QgT2JqZWN0XSIuIEFjdHVhbDogJyArICh4LnRvU3RyaW5nKCkpKTsKICB9Cn0KCi8vQ0hFQ0sjMgp2YXIgb2JqZWN0ID0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAiKyJ9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuICIqIn19Owp2YXIgeCA9IG5ldyBBcnJheShvYmplY3QpOwppZiAoeC50b1N0cmluZygpICE9PSB4LmpvaW4oKSkgewogICRFUlJPUignIzIuMTogdmFyIG9iamVjdCA9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gIisifSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiB4LmpvaW4oKX19IHZhciB4ID0gbmV3IEFycmF5KG9iamVjdCk7IHgudG9TdHJpbmcoKSA9PT0gIioiLiBBY3R1YWw6ICcgKyAoeC50b1N0cmluZygpKSk7Cn0gZWxzZSB7CiAgaWYgKHgudG9TdHJpbmcoKSAhPT0gIioiKSB7CiAgICAkRVJST1IoJyMyLjI6IHZhciBvYmplY3QgPSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuICIrIn0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gIioifX0gdmFyIHggPSBuZXcgQXJyYXkob2JqZWN0KTsgeC50b1N0cmluZygpID09PSAiKiIuIEFjdHVhbDogJyArICh4LnRvU3RyaW5nKCkpKTsKICB9IAp9IAoKLy9DSEVDSyMzCnZhciBvYmplY3QgPSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuICIrIn0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4ge319fTsKdmFyIHggPSBuZXcgQXJyYXkob2JqZWN0KTsKaWYgKHgudG9TdHJpbmcoKSAhPT0geC5qb2luKCkpIHsKICAkRVJST1IoJyMzLjE6IHZhciBvYmplY3QgPSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIHguam9pbigpfSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiB7fX19IHZhciB4ID0gbmV3IEFycmF5KG9iamVjdCk7IHgudG9TdHJpbmcoKSA9PT0gIisiLiBBY3R1YWw6ICcgKyAoeC50b1N0cmluZygpKSk7Cn0gZWxzZSB7CiAgaWYgKHgudG9TdHJpbmcoKSAhPT0gIisiKSB7CiAgICAkRVJST1IoJyMzLjI6IHZhciBvYmplY3QgPSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuICIrIn0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4ge319fSB2YXIgeCA9IG5ldyBBcnJheShvYmplY3QpOyB4LnRvU3RyaW5nKCkgPT09ICIrIi4gQWN0dWFsOiAnICsgKHgudG9TdHJpbmcoKSkpOwogIH0KfQoKLy9DSEVDSyM0CnRyeSB7CiAgdmFyIG9iamVjdCA9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHt0aHJvdyAiZXJyb3IifSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiAiKiJ9fTsKICB2YXIgeCA9IG5ldyBBcnJheShvYmplY3QpOwogIGlmICh4LnRvU3RyaW5nKCkgIT09IHguam9pbigpKSB7CiAgICAkRVJST1IoJyM0LjE6IHZhciBvYmplY3QgPSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7dGhyb3cgImVycm9yIn0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4geC5qb2luKCl9fSB2YXIgeCA9IG5ldyBBcnJheShvYmplY3QpOyB4LnRvU3RyaW5nKCkgPT09ICIqIi4gQWN0dWFsOiAnICsgKHgudG9TdHJpbmcoKSkpOwogIH0gZWxzZSB7CiAgICBpZiAoeC50b1N0cmluZygpICE9PSAiKiIpIHsKICAgICAgJEVSUk9SKCcjNC4yOiB2YXIgb2JqZWN0ID0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3Rocm93ICJlcnJvciJ9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuICIqIn19IHZhciB4ID0gbmV3IEFycmF5KG9iamVjdCk7IHgudG9TdHJpbmcoKSA9PT0gIioiLiBBY3R1YWw6ICcgKyAoeC50b1N0cmluZygpKSk7CiAgICB9CiAgfQp9CmNhdGNoIChlKSB7CiAgaWYgKGUgPT09ICJlcnJvciIpIHsKICAgICRFUlJPUignIzQuMzogdmFyIG9iamVjdCA9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHt0aHJvdyAiZXJyb3IifSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiAiKiJ9fSB2YXIgeCA9IG5ldyBBcnJheShvYmplY3QpOyB4LnRvU3RyaW5nKCkgbm90IHRocm93ICJlcnJvciInKTsKICB9IGVsc2UgewogICAgJEVSUk9SKCcjNC40OiB2YXIgb2JqZWN0ID0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3Rocm93ICJlcnJvciJ9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuICIqIn19IHZhciB4ID0gbmV3IEFycmF5KG9iamVjdCk7IHgudG9TdHJpbmcoKSBub3QgdGhyb3cgRXJyb3IuIEFjdHVhbDogJyArIChlKSk7CiAgfQp9CgovL0NIRUNLIzUKdmFyIG9iamVjdCA9IHt0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuICIqIn19Owp2YXIgeCA9IG5ldyBBcnJheShvYmplY3QpOwppZiAoeC50b1N0cmluZygpICE9PSB4LmpvaW4oKSkgewogICRFUlJPUignIzUuMTogdmFyIG9iamVjdCA9IHt0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIHguam9pbigpfX0gdmFyIHggPSBuZXcgQXJyYXkob2JqZWN0KTsgeC50b1N0cmluZygpID09PSAiKiIuIEFjdHVhbDogJyArICh4LnRvU3RyaW5nKCkpKTsKfSBlbHNlIHsKICBpZiAoeC50b1N0cmluZygpICE9PSAiKiIpIHsKICAgICRFUlJPUignIzUuMjogdmFyIG9iamVjdCA9IHt0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuICIqIn19IHZhciB4ID0gbmV3IEFycmF5KG9iamVjdCk7IHgudG9TdHJpbmcoKSA9PT0gIioiLiBBY3R1YWw6ICcgKyAoeC50b1N0cmluZygpKSk7CiAgfQp9CgovL0NIRUNLIzYKdmFyIG9iamVjdCA9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4ge319LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuICIqIn19CnZhciB4ID0gbmV3IEFycmF5KG9iamVjdCk7CmlmICh4LnRvU3RyaW5nKCkgIT09IHguam9pbigpKSB7CiAgJEVSUk9SKCcjNi4xOiB2YXIgb2JqZWN0ID0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiB7fX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4geC5qb2luKCl9fSB2YXIgeCA9IG5ldyBBcnJheShvYmplY3QpOyB4LnRvU3RyaW5nKCkgPT09ICIqIi4gQWN0dWFsOiAnICsgKHgudG9TdHJpbmcoKSkpOwp9IGVsc2UgewogIGlmICh4LnRvU3RyaW5nKCkgIT09ICIqIikgewogICAgJEVSUk9SKCcjNi4yOiB2YXIgb2JqZWN0ID0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiB7fX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gIioifX0gdmFyIHggPSBuZXcgQXJyYXkob2JqZWN0KTsgeC50b1N0cmluZygpID09PSAiKiIuIEFjdHVhbDogJyArICh4LnRvU3RyaW5nKCkpKTsKICB9Cn0KCi8vQ0hFQ0sjNwp0cnkgewogIHZhciBvYmplY3QgPSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuICIrIn0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHt0aHJvdyAiZXJyb3IifX07CiAgdmFyIHggPSBuZXcgQXJyYXkob2JqZWN0KTsKICB4LnRvU3RyaW5nKCk7CiAgJEVSUk9SKCcjNy4xOiB2YXIgb2JqZWN0ID0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAiKyJ9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7dGhyb3cgImVycm9yIn19IHZhciB4ID0gbmV3IEFycmF5KG9iamVjdCk7IHgudG9TdHJpbmcoKSB0aHJvdyAiZXJyb3IiLiBBY3R1YWw6ICcgKyAoeC50b1N0cmluZygpKSk7Cn0gIApjYXRjaCAoZSkgewogIGlmIChlICE9PSAiZXJyb3IiKSB7CiAgICAkRVJST1IoJyM3LjI6IHZhciBvYmplY3QgPSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuICIrIn0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHt0aHJvdyAiZXJyb3IifX0gdmFyIHggPSBuZXcgQXJyYXkob2JqZWN0KTsgeC50b1N0cmluZygpIHRocm93ICJlcnJvciIuIEFjdHVhbDogJyArIChlKSk7CiAgfSAKfQoKLy9DSEVDSyM4CnRyeSB7CiAgdmFyIG9iamVjdCA9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4ge319LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIHt9fX07CiAgdmFyIHggPSBuZXcgQXJyYXkob2JqZWN0KTsKICB4LnRvU3RyaW5nKCk7CiAgJEVSUk9SKCcjOC4xOiB2YXIgb2JqZWN0ID0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiB7fX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4ge319fSB2YXIgeCA9IG5ldyBBcnJheShvYmplY3QpOyB4LnRvU3RyaW5nKCkgdGhyb3cgVHlwZUVycm9yLiBBY3R1YWw6ICcgKyAoeC50b1N0cmluZygpKSk7Cn0gIApjYXRjaCAoZSkgewogIGlmICgoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikgIT09IHRydWUpIHsKICAgICRFUlJPUignIzguMjogdmFyIG9iamVjdCA9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4ge319LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIHt9fX0gdmFyIHggPSBuZXcgQXJyYXkob2JqZWN0KTsgeC50b1N0cmluZygpIHRocm93IFR5cGVFcnJvci4gQWN0dWFsOiAnICsgKGUpKTsKICB9IAp9Cgo=","commentary":"The result of calling this function is the same as if\nthe built-in join method were invoked for this object with no argument","description":"If Type(value) is Object, evaluate ToPrimitive(value, String)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.2/S15.4.4.2_A1_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBbW0dldF1dIGZyb20gbm90IGFuIGluaGVyaXRlZCBwcm9wZXJ0eQogKgogKiBAcGF0aCBjaDE1LzE1LjQvMTUuNC40LzE1LjQuNC4yL1MxNS40LjQuMl9BM19UMS5qcwogKiBAZGVzY3JpcHRpb24gW1tQcm90b3R5cGVdXSBvZiBBcnJheSBpbnN0YW5jZSBpcyBBcnJheS5wcm90b3R5cGUKICovCgovL0NIRUNLIzEKQXJyYXkucHJvdG90eXBlWzFdID0gMTsKdmFyIHggPSBbMF07CngubGVuZ3RoID0gMjsKaWYgKHgudG9TdHJpbmcoKSAhPT0gIjAsMSIpIHsgIAogICRFUlJPUignIzE6IEFycmF5LnByb3RvdHlwZVsxXSA9IDE7IHggPSBbMF07IHgubGVuZ3RoID0gMjsgeC50b1N0cmluZygpID09PSAiMCwxIi4gQWN0dWFsOiAnICsgKHgudG9TdHJpbmcoKSkpOyAgICAKfQoK","commentary":"[[Get]] from not an inherited property","description":"[[Prototype]] of Array instance is Array.prototype","path":"TestCases/ch15/15.4/15.4.4/15.4.4.2/S15.4.4.2_A3_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgbGVuZ3RoIHByb3BlcnR5IG9mIHRvU3RyaW5nIGhhcyB0aGUgYXR0cmlidXRlIERvbnRFbnVtCiAqCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIvUzE1LjQuNC4yX0E0LjEuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIHVzZSBwcm9wZXJ0eUlzRW51bWVyYWJsZSwgZm9yLWluCiAqLwoKLy9DSEVDSyMxCmlmIChBcnJheS5wcm90b3R5cGUudG9TdHJpbmcucHJvcGVydHlJc0VudW1lcmFibGUoJ2xlbmd0aCcpICE9PSBmYWxzZSkgewogICRFUlJPUignIzE6IEFycmF5LnByb3RvdHlwZS50b1N0cmluZy5wcm9wZXJ0eUlzRW51bWVyYWJsZShcJ2xlbmd0aFwnKSA9PT0gZmFsc2UuIEFjdHVhbDogJyArIChBcnJheS5wcm90b3R5cGUudG9TdHJpbmcucHJvcGVydHlJc0VudW1lcmFibGUoJ2xlbmd0aCcpKSk7Cn0KCi8vQ0hFQ0sjMgp2YXIgcmVzdWx0ID0gdHJ1ZTsKZm9yICh2YXIgcCBpbiBBcnJheS50b1N0cmluZyl7CiAgaWYgKHAgPT09ICJsZW5ndGgiKSB7CiAgICByZXN1bHQgPSBmYWxzZTsKICB9ICAKfQoKaWYgKHJlc3VsdCAhPT0gdHJ1ZSkgewogICRFUlJPUignIzI6IHJlc3VsdCA9IHRydWU7IGZvciAocCBpbiBBcnJheS50b1N0cmluZykgeyBpZiAocCA9PT0gImxlbmd0aCIpIHJlc3VsdCA9IGZhbHNlOyB9ICByZXN1bHQgPT09IHRydWU7Jyk7Cn0KCgo=","commentary":"The length property of toString has the attribute DontEnum","description":"Checking use propertyIsEnumerable, for-in","path":"TestCases/ch15/15.4/15.4.4/15.4.4.2/S15.4.4.2_A4.1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgbGVuZ3RoIHByb3BlcnR5IG9mIHRvU3RyaW5nIGhhcyB0aGUgYXR0cmlidXRlIERvbnREZWxldGUKICoKICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMi9TMTUuNC40LjJfQTQuMi5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgdXNlIGhhc093blByb3BlcnR5LCBkZWxldGUKICogQG5vU3RyaWN0CiAqLwoKLy9DSEVDSyMxCmlmIChBcnJheS5wcm90b3R5cGUudG9TdHJpbmcuaGFzT3duUHJvcGVydHkoJ2xlbmd0aCcpICE9PSB0cnVlKSB7CiAgJEZBSUwoJyMxOiBBcnJheS5wcm90b3R5cGUudG9TdHJpbmcuaGFzT3duUHJvcGVydHkoXCdsZW5ndGhcJykgPT09IHRydWUuIEFjdHVhbDogJyArIChBcnJheS5wcm90b3R5cGUudG9TdHJpbmcuaGFzT3duUHJvcGVydHkoJ2xlbmd0aCcpKSk7Cn0KCmRlbGV0ZSBBcnJheS5wcm90b3R5cGUudG9TdHJpbmcubGVuZ3RoOwoKLy9DSEVDSyMyCmlmIChBcnJheS5wcm90b3R5cGUudG9TdHJpbmcuaGFzT3duUHJvcGVydHkoJ2xlbmd0aCcpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMjogZGVsZXRlIEFycmF5LnByb3RvdHlwZS50b1N0cmluZy5sZW5ndGg7IEFycmF5LnByb3RvdHlwZS50b1N0cmluZy5oYXNPd25Qcm9wZXJ0eShcJ2xlbmd0aFwnKSA9PT0gdHJ1ZS4gQWN0dWFsOiAnICsgKEFycmF5LnByb3RvdHlwZS50b1N0cmluZy5oYXNPd25Qcm9wZXJ0eSgnbGVuZ3RoJykpKTsKfQoKLy9DSEVDSyMzCmlmIChBcnJheS5wcm90b3R5cGUudG9TdHJpbmcubGVuZ3RoID09PSB1bmRlZmluZWQpIHsKICAkRVJST1IoJyMzOiBkZWxldGUgQXJyYXkucHJvdG90eXBlLnRvU3RyaW5nLmxlbmd0aDsgQXJyYXkucHJvdG90eXBlLnRvU3RyaW5nLmxlbmd0aCAhPT0gdW5kZWZpbmVkJyk7Cn0KCgoK","commentary":"The length property of toString has the attribute DontDelete","description":"Checking use hasOwnProperty, delete","noStrict":"","path":"TestCases/ch15/15.4/15.4.4/15.4.4.2/S15.4.4.2_A4.2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgbGVuZ3RoIHByb3BlcnR5IG9mIHRvU3RyaW5nIGhhcyB0aGUgYXR0cmlidXRlIFJlYWRPbmx5CiAqCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjIvUzE1LjQuNC4yX0E0LjMuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIHZhcnlpbmcgdGhlIGxlbmd0aCBwcm9wZXJ0eSBmYWlscwogKiBAbm9TdHJpY3QKICovCgovL0NIRUNLIzEKdmFyIHggPSBBcnJheS5wcm90b3R5cGUudG9TdHJpbmcubGVuZ3RoOwpBcnJheS5wcm90b3R5cGUudG9TdHJpbmcubGVuZ3RoID0gSW5maW5pdHk7CmlmIChBcnJheS5wcm90b3R5cGUudG9TdHJpbmcubGVuZ3RoICE9PSB4KSB7CiAgJEVSUk9SKCcjMTogeCA9IEFycmF5LnByb3RvdHlwZS50b1N0cmluZy5sZW5ndGg7IEFycmF5LnByb3RvdHlwZS50b1N0cmluZy5sZW5ndGggPSBJbmZpbml0eTsgQXJyYXkucHJvdG90eXBlLnRvU3RyaW5nLmxlbmd0aCA9PT0geC4gQWN0dWFsOiAnICsgKEFycmF5LnByb3RvdHlwZS50b1N0cmluZy5sZW5ndGgpKTsKfQoKCg==","commentary":"The length property of toString has the attribute ReadOnly","description":"Checking if varying the length property fails","noStrict":"","path":"TestCases/ch15/15.4/15.4.4/15.4.4.2/S15.4.4.2_A4.3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgbGVuZ3RoIHByb3BlcnR5IG9mIHRvU3RyaW5nIGlzIDAKICoKICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMi9TMTUuNC40LjJfQTQuNC5qcwogKiBAZGVzY3JpcHRpb24gdG9TdHJpbmcubGVuZ3RoID09PSAxCiAqLwoKLy9DSEVDSyMxCmlmIChBcnJheS5wcm90b3R5cGUudG9TdHJpbmcubGVuZ3RoICE9PSAwKSB7CiAgJEVSUk9SKCcjMTogQXJyYXkucHJvdG90eXBlLnRvU3RyaW5nLmxlbmd0aCA9PT0gMC4gQWN0dWFsOiAnICsgKEFycmF5LnByb3RvdHlwZS50b1N0cmluZy5sZW5ndGgpKTsKfQoKCg==","commentary":"The length property of toString is 0","description":"toString.length === 1","path":"TestCases/ch15/15.4/15.4.4/15.4.4.2/S15.4.4.2_A4.4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgdG9TdHJpbmcgcHJvcGVydHkgb2YgQXJyYXkgaGFzIHRoZSBhdHRyaWJ1dGUgRG9udEVudW0KICoKICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMi9TMTUuNC40LjJfQTQuNS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgdXNlIHByb3BlcnR5SXNFbnVtZXJhYmxlLCBmb3ItaW4KICovCgovL0NIRUNLIzEKaWYgKEFycmF5LnByb3BlcnR5SXNFbnVtZXJhYmxlKCd0b1N0cmluZycpICE9PSBmYWxzZSkgewogICRFUlJPUignIzE6IEFycmF5LnByb3BlcnR5SXNFbnVtZXJhYmxlKFwndG9TdHJpbmdcJykgPT09IGZhbHNlLiBBY3R1YWw6ICcgKyAoQXJyYXkucHJvcGVydHlJc0VudW1lcmFibGUoJ3RvU3RyaW5nJykpKTsKfQoKLy9DSEVDSyMyCnZhciByZXN1bHQgPSB0cnVlOwpmb3IgKHZhciBwIGluIEFycmF5KXsKICBpZiAocCA9PT0gInRvU3RyaW5nIikgewogICAgcmVzdWx0ID0gZmFsc2U7CiAgfSAgCn0KCmlmIChyZXN1bHQgIT09IHRydWUpIHsKICAkRVJST1IoJyMyOiByZXN1bHQgPSB0cnVlOyBmb3IgKHAgaW4gQXJyYXkpIHsgaWYgKHAgPT09ICJ0b1N0cmluZyIpIHJlc3VsdCA9IGZhbHNlOyB9ICByZXN1bHQgPT09IHRydWU7Jyk7Cn0KCgo=","commentary":"The toString property of Array has the attribute DontEnum","description":"Checking use propertyIsEnumerable, for-in","path":"TestCases/ch15/15.4/15.4.4/15.4.4.2/S15.4.4.2_A4.5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgdG9TdHJpbmcgcHJvcGVydHkgb2YgQXJyYXkgaGFzIG5vdCBwcm90b3R5cGUgcHJvcGVydHkKICoKICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMi9TMTUuNC40LjJfQTQuNi5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgQXJyYXkucHJvdG90eXBlLnRvU3RyaW5nLnByb3RvdHlwZQogKi8KCi8vQ0hFQ0sjMQppZiAoQXJyYXkucHJvdG90eXBlLnRvU3RyaW5nLnByb3RvdHlwZSAhPT0gdW5kZWZpbmVkKSB7CiAgJEVSUk9SKCcjMTogQXJyYXkucHJvdG90eXBlLnRvU3RyaW5nLnByb3RvdHlwZSA9PT0gdW5kZWZpbmVkLiBBY3R1YWw6ICcgKyAoQXJyYXkucHJvdG90eXBlLnRvU3RyaW5nLnByb3RvdHlwZSkpOwp9Cgo=","commentary":"The toString property of Array has not prototype property","description":"Checking Array.prototype.toString.prototype","path":"TestCases/ch15/15.4/15.4.4/15.4.4.2/S15.4.4.2_A4.6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgdG9TdHJpbmcgcHJvcGVydHkgb2YgQXJyYXkgY2FuJ3QgYmUgdXNlZCBhcyBjb25zdHJ1Y3RvcgogKgogKiBAcGF0aCBjaDE1LzE1LjQvMTUuNC40LzE1LjQuNC4yL1MxNS40LjQuMl9BNC43LmpzCiAqIEBkZXNjcmlwdGlvbiBJZiBwcm9wZXJ0eSBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGludGVybmFsIFtbQ29uc3RydWN0XV0gbWV0aG9kLCB0aHJvdyBhIFR5cGVFcnJvciBleGNlcHRpb24KICovCgovL0NIRUNLIzEKCnRyeSB7CiAgbmV3IEFycmF5LnByb3RvdHlwZS50b1N0cmluZygpOwogICRFUlJPUignIzEuMTogbmV3IEFycmF5LnByb3RvdHlwZS50b1N0cmluZygpIHRocm93IFR5cGVFcnJvci4gQWN0dWFsOiAnICsgKG5ldyBBcnJheS5wcm90b3R5cGUudG9TdHJpbmcoKSkpOwp9IGNhdGNoIChlKSB7CiAgaWYgKChlIGluc3RhbmNlb2YgVHlwZUVycm9yKSAhPT0gdHJ1ZSkgewogICAgJEVSUk9SKCcjMS4yOiBuZXcgQXJyYXkucHJvdG90eXBlLnRvU3RyaW5nKCkgdGhyb3cgVHlwZUVycm9yLiBBY3R1YWw6ICcgKyAoZSkpOwogIH0KfQoK","commentary":"The toString property of Array can't be used as constructor","description":"If property does not implement the internal [[Construct]] method, throw a TypeError exception","path":"TestCases/ch15/15.4/15.4.4/15.4.4.2/S15.4.4.2_A4.7.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjAvMTUuNC40LjIwLTAtMS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5maWx0ZXIgbXVzdCBleGlzdCBhcyBhIGZ1bmN0aW9uDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIGYgPSBBcnJheS5wcm90b3R5cGUuZmlsdGVyOw0KICBpZiAodHlwZW9mKGYpID09PSAiZnVuY3Rpb24iKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.filter must exist as a function","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-0-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjAvMTUuNC40LjIwLTAtMi5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5maWx0ZXIubGVuZ3RoIG11c3QgYmUgMQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIGlmIChBcnJheS5wcm90b3R5cGUuZmlsdGVyLmxlbmd0aCA9PT0gMSkgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.filter.length must be 1","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-0-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjAvMTUuNC40LjIwLTEtMS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5maWx0ZXIgYXBwbGllZCB0byB1bmRlZmluZWQgdGhyb3dzIGEgVHlwZUVycm9yDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIEFycmF5LnByb3RvdHlwZS5maWx0ZXIuY2FsbCh1bmRlZmluZWQpOyAvLyBUeXBlRXJyb3IgaXMgdGhyb3duIGlmIHZhbHVlIGlzIHVuZGVmaW5lZA0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChleCkgew0KICAgICAgICAgICAgcmV0dXJuIGV4IGluc3RhbmNlb2YgVHlwZUVycm9yOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.filter applied to undefined throws a TypeError","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-1-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjAvMTUuNC40LjIwLTEtMTAuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZmlsdGVyIGFwcGxpZWQgdG8gdGhlIE1hdGggb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gJ1tvYmplY3QgTWF0aF0nID09PSBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwob2JqKTsNCiAgICAgICAgfQ0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBNYXRoLmxlbmd0aCA9IDE7DQogICAgICAgICAgICBNYXRoWzBdID0gMTsNCiAgICAgICAgICAgIHZhciBuZXdBcnIgPSBBcnJheS5wcm90b3R5cGUuZmlsdGVyLmNhbGwoTWF0aCwgY2FsbGJhY2tmbik7DQogICAgICAgICAgICByZXR1cm4gbmV3QXJyWzBdID09PSAxOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIE1hdGhbMF07DQogICAgICAgICAgICBkZWxldGUgTWF0aC5sZW5ndGg7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.filter applied to the Math object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-1-10.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjAvMTUuNC40LjIwLTEtMTEuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZmlsdGVyIGFwcGxpZWQgdG8gRGF0ZSBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIG9iaiBpbnN0YW5jZW9mIERhdGU7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0gbmV3IERhdGUoKTsNCiAgICAgICAgb2JqLmxlbmd0aCA9IDE7DQogICAgICAgIG9ialswXSA9IDE7DQoNCiAgICAgICAgdmFyIG5ld0FyciA9IEFycmF5LnByb3RvdHlwZS5maWx0ZXIuY2FsbChvYmosIGNhbGxiYWNrZm4pOw0KDQogICAgICAgIHJldHVybiBuZXdBcnJbMF0gPT09IDE7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.filter applied to Date object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-1-11.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjAvMTUuNC40LjIwLTEtMTIuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZmlsdGVyIGFwcGxpZWQgdG8gUmVnRXhwIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gb2JqIGluc3RhbmNlb2YgUmVnRXhwOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IG5ldyBSZWdFeHAoKTsNCiAgICAgICAgb2JqLmxlbmd0aCA9IDI7DQogICAgICAgIG9ialsxXSA9IHRydWU7DQoNCiAgICAgICAgdmFyIG5ld0FyciA9IEFycmF5LnByb3RvdHlwZS5maWx0ZXIuY2FsbChvYmosIGNhbGxiYWNrZm4pOw0KICAgICAgICByZXR1cm4gbmV3QXJyWzBdID09PSB0cnVlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.filter applied to RegExp object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-1-12.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjAvMTUuNC40LjIwLTEtMTMuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZmlsdGVyIGFwcGxpZWQgdG8gdGhlIEpTT04gb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiAnW29iamVjdCBKU09OXScgPT09IE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbChKU09OKTsNCiAgICAgICAgfQ0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBKU09OLmxlbmd0aCA9IDE7DQogICAgICAgICAgICBKU09OWzBdID0gMTsNCiAgICAgICAgICAgIHZhciBuZXdBcnIgPSBBcnJheS5wcm90b3R5cGUuZmlsdGVyLmNhbGwoSlNPTiwgY2FsbGJhY2tmbik7DQogICAgICAgICAgICByZXR1cm4gbmV3QXJyWzBdID09PSAxOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIEpTT04ubGVuZ3RoOw0KICAgICAgICAgICAgZGVsZXRlIEpTT05bMF07DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.filter applied to the JSON object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-1-13.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjAvMTUuNC40LjIwLTEtMTQuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZmlsdGVyIGFwcGxpZWQgdG8gRXJyb3Igb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiBvYmogaW5zdGFuY2VvZiBFcnJvcjsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSBuZXcgRXJyb3IoKTsNCiAgICAgICAgb2JqLmxlbmd0aCA9IDE7DQogICAgICAgIG9ialswXSA9IDE7DQoNCiAgICAgICAgdmFyIG5ld0FyciA9IEFycmF5LnByb3RvdHlwZS5maWx0ZXIuY2FsbChvYmosIGNhbGxiYWNrZm4pOw0KDQogICAgICAgIHJldHVybiBuZXdBcnJbMF0gPT09IDE7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.filter applied to Error object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-1-14.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjAvMTUuNC40LjIwLTEtMTUuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZmlsdGVyIGFwcGxpZWQgdG8gdGhlIEFyZ3VtZW50cyBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuICdbb2JqZWN0IEFyZ3VtZW50c10nID09PSBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwob2JqKTsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSAoZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgcmV0dXJuIGFyZ3VtZW50czsNCiAgICAgICAgfSgiYSIsICJiIikpOw0KDQogICAgICAgIHZhciBuZXdBcnIgPSBBcnJheS5wcm90b3R5cGUuZmlsdGVyLmNhbGwob2JqLCBjYWxsYmFja2ZuKTsNCg0KICAgICAgICByZXR1cm4gbmV3QXJyWzBdID09PSAiYSIgJiYgbmV3QXJyWzFdID09PSAiYiI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.filter applied to the Arguments object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-1-15.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjAvMTUuNC40LjIwLTEtMi5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5maWx0ZXIgYXBwbGllZCB0byBudWxsIHRocm93cyBhIFR5cGVFcnJvcg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBBcnJheS5wcm90b3R5cGUuZmlsdGVyLmNhbGwobnVsbCk7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGV4KSB7DQogICAgICAgICAgICByZXR1cm4gZXggaW5zdGFuY2VvZiBUeXBlRXJyb3I7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.filter applied to null throws a TypeError","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-1-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjAvMTUuNC40LjIwLTEtMy5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5maWx0ZXIgYXBwbGllZCB0byBib29sZWFuIHByaW1pdGl2ZQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIG9iaiBpbnN0YW5jZW9mIEJvb2xlYW47DQogICAgICAgIH0NCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgQm9vbGVhbi5wcm90b3R5cGVbMF0gPSB0cnVlOw0KICAgICAgICAgICAgQm9vbGVhbi5wcm90b3R5cGUubGVuZ3RoID0gMTsNCg0KICAgICAgICAgICAgdmFyIG5ld0FyciA9IEFycmF5LnByb3RvdHlwZS5maWx0ZXIuY2FsbChmYWxzZSwgY2FsbGJhY2tmbik7DQogICAgICAgICAgICByZXR1cm4gbmV3QXJyWzBdID09PSB0cnVlOw0KDQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgQm9vbGVhbi5wcm90b3R5cGVbMF07DQogICAgICAgICAgICBkZWxldGUgQm9vbGVhbi5wcm90b3R5cGUubGVuZ3RoOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.filter applied to boolean primitive","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-1-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjAvMTUuNC40LjIwLTEtNC5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5maWx0ZXIgYXBwbGllZCB0byBCb29sZWFuIE9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gb2JqIGluc3RhbmNlb2YgQm9vbGVhbjsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSBuZXcgQm9vbGVhbih0cnVlKTsNCiAgICAgICAgb2JqLmxlbmd0aCA9IDI7DQogICAgICAgIG9ialswXSA9IDExOw0KICAgICAgICBvYmpbMV0gPSAxMjsNCg0KICAgICAgICB2YXIgbmV3QXJyID0gQXJyYXkucHJvdG90eXBlLmZpbHRlci5jYWxsKG9iaiwgY2FsbGJhY2tmbik7DQoNCiAgICAgICAgcmV0dXJuIG5ld0FyclswXSA9PT0gMTEgJiYgbmV3QXJyWzFdID09PSAxMjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.filter applied to Boolean Object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-1-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjAvMTUuNC40LjIwLTEtNS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5maWx0ZXIgYXBwbGllZCB0byBudW1iZXIgcHJpbWl0aXZlDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gb2JqIGluc3RhbmNlb2YgTnVtYmVyOw0KICAgICAgICB9DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE51bWJlci5wcm90b3R5cGVbMF0gPSAxOw0KICAgICAgICAgICAgTnVtYmVyLnByb3RvdHlwZS5sZW5ndGggPSAxOw0KDQogICAgICAgICAgICB2YXIgbmV3QXJyID0gQXJyYXkucHJvdG90eXBlLmZpbHRlci5jYWxsKDIuNSwgY2FsbGJhY2tmbik7DQogICAgICAgICAgICByZXR1cm4gbmV3QXJyWzBdID09PSAxOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIE51bWJlci5wcm90b3R5cGVbMF07DQogICAgICAgICAgICBkZWxldGUgTnVtYmVyLnByb3RvdHlwZS5sZW5ndGg7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.filter applied to number primitive","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-1-5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjAvMTUuNC40LjIwLTEtNi5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5maWx0ZXIgYXBwbGllZCB0byBOdW1iZXIgb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiBvYmogaW5zdGFuY2VvZiBOdW1iZXI7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0gbmV3IE51bWJlcigtMTI4KTsNCiAgICAgICAgb2JqLmxlbmd0aCA9IDI7DQogICAgICAgIG9ialswXSA9IDExOw0KICAgICAgICBvYmpbMV0gPSAxMjsNCg0KICAgICAgICB2YXIgbmV3QXJyID0gQXJyYXkucHJvdG90eXBlLmZpbHRlci5jYWxsKG9iaiwgY2FsbGJhY2tmbik7DQogICAgICAgIHJldHVybiBuZXdBcnJbMF0gPT09IDExICYmIG5ld0FyclsxXSA9PT0gMTI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.filter applied to Number object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-1-6.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjAvMTUuNC40LjIwLTEtNy5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5maWx0ZXIgYXBwbGllZCB0byBzdHJpbmcgcHJpbWl0aXZlDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiBvYmogaW5zdGFuY2VvZiBTdHJpbmc7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgbmV3QXJyID0gQXJyYXkucHJvdG90eXBlLmZpbHRlci5jYWxsKCJhYmMiLCBjYWxsYmFja2ZuKTsNCg0KICAgICAgICByZXR1cm4gbmV3QXJyWzBdID09PSAiYSI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.filter applied to string primitive","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-1-7.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjAvMTUuNC40LjIwLTEtOC5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5maWx0ZXIgYXBwbGllZCB0byBTdHJpbmcgb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gb2JqIGluc3RhbmNlb2YgU3RyaW5nOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IG5ldyBTdHJpbmcoImFiYyIpOw0KICAgICAgICB2YXIgbmV3QXJyID0gQXJyYXkucHJvdG90eXBlLmZpbHRlci5jYWxsKG9iaiwgY2FsbGJhY2tmbik7DQoNCiAgICAgICAgcmV0dXJuIG5ld0FyclswXSA9PT0gImEiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.filter applied to String object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-1-8.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjAvMTUuNC40LjIwLTEtOS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5maWx0ZXIgYXBwbGllZCB0byBGdW5jdGlvbiBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIG9iaiBpbnN0YW5jZW9mIEZ1bmN0aW9uOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IGZ1bmN0aW9uIChhLCBiKSB7DQogICAgICAgICAgICByZXR1cm4gYSArIGI7DQogICAgICAgIH07DQogICAgICAgIG9ialswXSA9IDExOw0KICAgICAgICBvYmpbMV0gPSA5Ow0KDQogICAgICAgIHZhciBuZXdBcnIgPSBBcnJheS5wcm90b3R5cGUuZmlsdGVyLmNhbGwob2JqLCBjYWxsYmFja2ZuKTsNCg0KICAgICAgICByZXR1cm4gbmV3QXJyWzBdID09PSAxMSAmJiBuZXdBcnJbMV0gPT09IDk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.filter applied to Function object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-1-9.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjAvMTUuNC40LjIwLTEwLTEuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZmlsdGVyIGRvZXNuJ3QgbXV0YXRlIHRoZSBBcnJheSBvbiB3aGljaCBpdCBpcyBjYWxsZWQgb24NCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikNCiAgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogIHZhciBzcmNBcnIgPSBbMSwyLDMsNCw1XTsNCiAgc3JjQXJyLmZpbHRlcihjYWxsYmFja2ZuKTsNCiAgaWYoc3JjQXJyWzBdID09PSAxICYmDQogICAgIHNyY0FyclsxXSA9PT0gMiAmJg0KICAgICBzcmNBcnJbMl0gPT09IDMgJiYNCiAgICAgc3JjQXJyWzNdID09PSA0ICYmDQogICAgIHNyY0Fycls0XSA9PT0gNSkNCiAgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQoNCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.filter doesn't mutate the Array on which it is called on","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-10-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjAvMTUuNC40LjIwLTEwLTIuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZmlsdGVyIHJldHVybnMgbmV3IEFycmF5IHdpdGggbGVuZ3RoIGVxdWFsIHRvIG51bWJlciBvZiB0cnVlIHJldHVybmVkIGJ5IGNhbGxiYWNrZm4NCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikNCiAgew0KICAgIGlmKHZhbCAlIDIpDQogICAgICByZXR1cm4gdHJ1ZTsNCiAgICBlbHNlDQogICAgICByZXR1cm4gZmFsc2U7DQogIH0NCiAgdmFyIHNyY0FyciA9IFsxLDIsMyw0LDVdOw0KICB2YXIgcmVzQXJyID0gc3JjQXJyLmZpbHRlcihjYWxsYmFja2ZuKTsNCiAgaWYocmVzQXJyLmxlbmd0aCA9PT0gMyAmJg0KICAgICByZXNBcnJbMF0gPT09IDEgJiYNCiAgICAgcmVzQXJyWzFdID09PSAzICYmDQogICAgIHJlc0FyclsyXSA9PT0gNSkNCiAgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQoNCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.filter returns new Array with length equal to number of true returned by callbackfn","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-10-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjAvMTUuNC40LjIwLTEwLTMuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZmlsdGVyIC0gc3ViY2xhc3NlZCBhcnJheSB3aGVuIGxlbmd0aCBpcyByZWR1Y2VkDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgZm9vLnByb3RvdHlwZSA9IG5ldyBBcnJheSgxLCAyLCAzKTsNCiAgZnVuY3Rpb24gZm9vKCkge30NCiAgdmFyIGYgPSBuZXcgZm9vKCk7DQogIGYubGVuZ3RoID0gMTsNCiAgDQogIGZ1bmN0aW9uIGNiKCl7cmV0dXJuIHRydWU7fQ0KICB2YXIgYSA9IGYuZmlsdGVyKGNiKTsNCiAgDQogIGlmIChBcnJheS5pc0FycmF5KGEpICYmDQogICAgICBhLmxlbmd0aCA9PT0gMSkgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.filter - subclassed array when length is reduced","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-10-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjAvMTUuNC40LjIwLTEwLTQuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZmlsdGVyIGRvZXNuJ3QgdmlzaXQgZXhwYW5kb3MNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogIHZhciBjYWxsQ250ID0gMDsNCiAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKQ0KICB7DQogICAgY2FsbENudCsrOw0KICB9DQogIHZhciBzcmNBcnIgPSBbMSwyLDMsNCw1XTsNCiAgc3JjQXJyWyJpIl0gPSAxMDsNCiAgc3JjQXJyW3RydWVdID0gMTE7DQoNCiAgdmFyIHJlc0FyciA9IHNyY0Fyci5maWx0ZXIoY2FsbGJhY2tmbik7DQogIGlmKGNhbGxDbnQgPT0gNSkNCiAgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQoNCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.filter doesn't visit expandos","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-10-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjAvMTUuNC40LjIwLTItMS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5maWx0ZXIgYXBwbGllZCB0byBBcnJheS1saWtlIG9iamVjdCwgJ2xlbmd0aCcgaXMgb3duIGRhdGEgcHJvcGVydHkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIG9iai5sZW5ndGggPT09IDI7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0gew0KICAgICAgICAgICAgMDogMTIsDQogICAgICAgICAgICAxOiAxMSwNCiAgICAgICAgICAgIDI6IDksDQogICAgICAgICAgICBsZW5ndGg6IDINCiAgICAgICAgfTsNCg0KICAgICAgICB2YXIgbmV3QXJyID0gQXJyYXkucHJvdG90eXBlLmZpbHRlci5jYWxsKG9iaiwgY2FsbGJhY2tmbik7DQoNCiAgICAgICAgcmV0dXJuIG5ld0Fyci5sZW5ndGggPT09IDI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.filter applied to Array-like object, 'length' is own data property","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-2-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjAvMTUuNC40LjIwLTItMTAuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZmlsdGVyIGFwcGxpZWQgdG8gQXJyYXktbGlrZSBvYmplY3QsICdsZW5ndGgnIGlzIGluaGVyaXRlZCBhY2Nlc3NvciBwcm9wZXJ0eQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gb2JqLmxlbmd0aCA9PT0gMjsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBwcm90byA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShwcm90bywgImxlbmd0aCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiAyOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgQ29uID0gZnVuY3Rpb24gKCkgeyB9Ow0KICAgICAgICBDb24ucHJvdG90eXBlID0gcHJvdG87DQoNCiAgICAgICAgdmFyIGNoaWxkID0gbmV3IENvbigpOw0KICAgICAgICBjaGlsZFswXSA9IDEyOw0KICAgICAgICBjaGlsZFsxXSA9IDExOw0KICAgICAgICBjaGlsZFsyXSA9IDk7DQoNCiAgICAgICAgdmFyIG5ld0FyciA9IEFycmF5LnByb3RvdHlwZS5maWx0ZXIuY2FsbChjaGlsZCwgY2FsbGJhY2tmbik7DQogICAgICAgIHJldHVybiBuZXdBcnIubGVuZ3RoID09PSAyOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.filter applied to Array-like object, 'length' is inherited accessor property","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-2-10.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjAvMTUuNC40LjIwLTItMTEuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZmlsdGVyIGFwcGxpZWQgdG8gQXJyYXktbGlrZSBvYmplY3QsICdsZW5ndGgnIGlzIG93biBhY2Nlc3NvciBwcm9wZXJ0eSB3aXRob3V0IGEgZ2V0IGZ1bmN0aW9uDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICByZXR1cm4gdHJ1ZTsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSB7DQogICAgICAgICAgICAwOiAxMSwNCiAgICAgICAgICAgIDE6IDEyDQogICAgICAgIH07DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJsZW5ndGgiLCB7DQogICAgICAgICAgICBzZXQ6IGZ1bmN0aW9uICgpIHsgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgbmV3QXJyID0gQXJyYXkucHJvdG90eXBlLmZpbHRlci5jYWxsKG9iaiwgY2FsbGJhY2tmbik7DQogICAgICAgIHJldHVybiBuZXdBcnIubGVuZ3RoID09PSAwICYmICFhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.filter applied to Array-like object, 'length' is own accessor property without a get function","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-2-11.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjAvMTUuNC40LjIwLTItMTIuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZmlsdGVyIC0gJ2xlbmd0aCcgaXMgb3duIGFjY2Vzc29yIHByb3BlcnR5IHdpdGhvdXQgYSBnZXQgZnVuY3Rpb24gdGhhdCBvdmVycmlkZXMgYW4gaW5oZXJpdGVkIGFjY2Vzc29yIHByb3BlcnR5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICByZXR1cm4gdHJ1ZTsNCiAgICAgICAgfQ0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoT2JqZWN0LnByb3RvdHlwZSwgImxlbmd0aCIsIHsNCiAgICAgICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDI7DQogICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICB2YXIgb2JqID0geyAwOiAxMiwgMTogMTEgfTsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJsZW5ndGgiLCB7DQogICAgICAgICAgICAgICAgc2V0OiBmdW5jdGlvbiAoKSB7IH0sDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgdmFyIG5ld0FyciA9IEFycmF5LnByb3RvdHlwZS5maWx0ZXIuY2FsbChvYmosIGNhbGxiYWNrZm4pOw0KICAgICAgICAgICAgcmV0dXJuIG5ld0Fyci5sZW5ndGggPT09IDAgJiYgIWFjY2Vzc2VkOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIE9iamVjdC5wcm90b3R5cGUubGVuZ3RoOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.filter - 'length' is own accessor property without a get function that overrides an inherited accessor property","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-2-12.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjAvMTUuNC40LjIwLTItMTMuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZmlsdGVyIGFwcGxpZWQgdG8gdGhlIEFycmF5LWxpa2Ugb2JqZWN0IHRoYXQgJ2xlbmd0aCcgaXMgaW5oZXJpdGVkIGFjY2Vzc29yIHByb3BlcnR5IHdpdGhvdXQgYSBnZXQgZnVuY3Rpb24NCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIHJldHVybiB0cnVlOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIHByb3RvID0ge307DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShwcm90bywgImxlbmd0aCIsIHsNCiAgICAgICAgICAgIHNldDogZnVuY3Rpb24gKCkgeyB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBDb24gPSBmdW5jdGlvbiAoKSB7IH07DQogICAgICAgIENvbi5wcm90b3R5cGUgPSBwcm90bzsNCg0KICAgICAgICB2YXIgY2hpbGQgPSBuZXcgQ29uKCk7DQogICAgICAgIGNoaWxkWzBdID0gMTE7DQogICAgICAgIGNoaWxkWzFdID0gMTI7DQoNCiAgICAgICAgdmFyIG5ld0FyciA9IEFycmF5LnByb3RvdHlwZS5maWx0ZXIuY2FsbChjaGlsZCwgY2FsbGJhY2tmbik7DQogICAgICAgIHJldHVybiBuZXdBcnIubGVuZ3RoID09PSAwICYmICFhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.filter applied to the Array-like object that 'length' is inherited accessor property without a get function","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-2-13.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjAvMTUuNC40LjIwLTItMTQuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZmlsdGVyIGFwcGxpZWQgdG8gdGhlIEFycmF5LWxpa2Ugb2JqZWN0IHRoYXQgJ2xlbmd0aCBwcm9wZXJ0eSBkb2Vzbid0IGV4aXN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICByZXR1cm4gdHJ1ZTsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSB7IDA6IDExLCAxOiAxMiB9Ow0KDQogICAgICAgIHZhciBuZXdBcnIgPSBBcnJheS5wcm90b3R5cGUuZmlsdGVyLmNhbGwob2JqLCBjYWxsYmFja2ZuKTsNCiAgICAgICAgcmV0dXJuIG5ld0Fyci5sZW5ndGggPT09IDAgJiYgIWFjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.filter applied to the Array-like object that 'length property doesn't exist","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-2-14.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjAvMTUuNC40LjIwLTItMTUuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZmlsdGVyIC0gJ2xlbmd0aCcgaXMgcHJvcGVydHkgb2YgdGhlIGdsb2JhbCBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgIA0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiAgb2JqLmxlbmd0aCA9PT0gMjsNCiAgICAgICAgfQ0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICB2YXIgb2xkTGVuID0gZm5HbG9iYWxPYmplY3QoKS5sZW5ndGg7DQogICAgICAgICAgICBmbkdsb2JhbE9iamVjdCgpWzBdID0gMTI7DQogICAgICAgICAgICBmbkdsb2JhbE9iamVjdCgpWzFdID0gMTE7DQogICAgICAgICAgICBmbkdsb2JhbE9iamVjdCgpWzJdID0gOTsNCiAgICAgICAgICAgIGZuR2xvYmFsT2JqZWN0KCkubGVuZ3RoID0gMjsNCiAgICAgICAgICAgIHZhciBuZXdBcnIgPSBBcnJheS5wcm90b3R5cGUuZmlsdGVyLmNhbGwoZm5HbG9iYWxPYmplY3QoKSwgY2FsbGJhY2tmbik7DQogICAgICAgICAgICByZXR1cm4gbmV3QXJyLmxlbmd0aCA9PT0gMjsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBmbkdsb2JhbE9iamVjdCgpWzBdOw0KICAgICAgICAgICAgZGVsZXRlIGZuR2xvYmFsT2JqZWN0KClbMV07DQogICAgICAgICAgICBkZWxldGUgZm5HbG9iYWxPYmplY3QoKVsyXTsNCiAgICAgICAgICAgIGZuR2xvYmFsT2JqZWN0KCkubGVuZ3RoID0gb2xkTGVuOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.filter - 'length' is property of the global object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-2-15.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjAvMTUuNC40LjIwLTItMTcuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZmlsdGVyIGFwcGxpZWQgdG8gdGhlIEFyZ3VtZW50cyBvYmplY3QsIHdoaWNoIGltcGxlbWVudHMgaXRzIG93biBwcm9wZXJ0eSBnZXQgbWV0aG9kDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiBvYmoubGVuZ3RoID09PSAyOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIGZ1bmMgPSBmdW5jdGlvbiAoYSwgYikgew0KICAgICAgICAgICAgdmFyIG5ld0FyciA9IEFycmF5LnByb3RvdHlwZS5maWx0ZXIuY2FsbChhcmd1bWVudHMsIGNhbGxiYWNrZm4pOw0KICAgICAgICAgICAgcmV0dXJuIG5ld0Fyci5sZW5ndGggPT09IDI7DQogICAgICAgIH07DQoNCiAgICAgICAgcmV0dXJuIGZ1bmMoMTIsIDExKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.filter applied to the Arguments object, which implements its own property get method","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-2-17.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjAvMTUuNC40LjIwLTItMTguanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZmlsdGVyIGFwcGxpZWQgdG8gU3RyaW5nIG9iamVjdCwgd2hpY2ggaW1wbGVtZW50cyBpdHMgb3duIHByb3BlcnR5IGdldCBtZXRob2QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIG9iai5sZW5ndGggPT09IDM7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgc3RyID0gbmV3IFN0cmluZygiMDEyIik7DQoNCiAgICAgICAgdmFyIG5ld0FyciA9IEFycmF5LnByb3RvdHlwZS5maWx0ZXIuY2FsbChzdHIsIGNhbGxiYWNrZm4pOw0KICAgICAgICByZXR1cm4gbmV3QXJyLmxlbmd0aCA9PT0gMzsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.filter applied to String object, which implements its own property get method","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-2-18.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjAvMTUuNC40LjIwLTItMTkuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZmlsdGVyIGFwcGxpZWQgdG8gRnVuY3Rpb24gb2JqZWN0LCB3aGljaCBpbXBsZW1lbnRzIGl0cyBvd24gcHJvcGVydHkgZ2V0IG1ldGhvZA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gb2JqLmxlbmd0aCA9PT0gMjsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBmdW4gPSBmdW5jdGlvbiAoYSwgYikgew0KICAgICAgICAgICAgcmV0dXJuIGEgKyBiOw0KICAgICAgICB9Ow0KICAgICAgICBmdW5bMF0gPSAxMjsNCiAgICAgICAgZnVuWzFdID0gMTE7DQogICAgICAgIGZ1blsyXSA9IDk7DQoNCiAgICAgICAgdmFyIG5ld0FyciA9IEFycmF5LnByb3RvdHlwZS5maWx0ZXIuY2FsbChmdW4sIGNhbGxiYWNrZm4pOw0KICAgICAgICByZXR1cm4gbmV3QXJyLmxlbmd0aCA9PT0gMjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.filter applied to Function object, which implements its own property get method","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-2-19.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjAvMTUuNC40LjIwLTItMi5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5maWx0ZXIgLSAnbGVuZ3RoJyBpcyBvd24gZGF0YSBwcm9wZXJ0eSBvbiBhbiBBcnJheQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gb2JqLmxlbmd0aCA9PT0gMjsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBuZXdBcnIgPSBbMTIsIDExXS5maWx0ZXIoY2FsbGJhY2tmbik7DQogICAgICAgIHJldHVybiBuZXdBcnIubGVuZ3RoID09PSAyOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.filter - 'length' is own data property on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-2-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjAvMTUuNC40LjIwLTItMy5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5maWx0ZXIgYXBwbGllZCB0byBBcnJheS1saWtlIG9iamVjdCwgJ2xlbmd0aCcgaXMgYW4gb3duIGRhdGEgcHJvcGVydHkgdGhhdCBvdmVycmlkZXMgYW4gaW5oZXJpdGVkIGRhdGEgcHJvcGVydHkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIG9iai5sZW5ndGggPT09IDI7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgcHJvdG8gPSB7IGxlbmd0aDogMyB9Ow0KDQogICAgICAgIHZhciBDb24gPSBmdW5jdGlvbiAoKSB7IH07DQogICAgICAgIENvbi5wcm90b3R5cGUgPSBwcm90bzsNCg0KICAgICAgICB2YXIgY2hpbGQgPSBuZXcgQ29uKCk7DQogICAgICAgIGNoaWxkLmxlbmd0aCA9IDI7DQogICAgICAgIGNoaWxkWzBdID0gMTI7DQogICAgICAgIGNoaWxkWzFdID0gMTE7DQogICAgICAgIGNoaWxkWzJdID0gOTsNCg0KICAgICAgICB2YXIgbmV3QXJyID0gQXJyYXkucHJvdG90eXBlLmZpbHRlci5jYWxsKGNoaWxkLCBjYWxsYmFja2ZuKTsNCiAgICAgICAgcmV0dXJuIG5ld0Fyci5sZW5ndGggPT09IDI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.filter applied to Array-like object, 'length' is an own data property that overrides an inherited data property","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-2-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjAvMTUuNC40LjIwLTItNC5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5maWx0ZXIgLSAnbGVuZ3RoJyBpcyBvd24gZGF0YSBwcm9wZXJ0eSB0aGF0IG92ZXJyaWRlcyBhbiBpbmhlcml0ZWQgZGF0YSBwcm9wZXJ0eSBvbiBhbiBBcnJheQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFyclByb3RvTGVuOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIG9iai5sZW5ndGggPT09IDI7DQogICAgICAgIH0NCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgYXJyUHJvdG9MZW4gPSBBcnJheS5wcm90b3R5cGUubGVuZ3RoOw0KICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlLmxlbmd0aCA9IDA7DQogICAgICAgICAgICB2YXIgbmV3QXJyID0gWzEyLCAxMV0uZmlsdGVyKGNhbGxiYWNrZm4pOw0KICAgICAgICAgICAgcmV0dXJuIG5ld0Fyci5sZW5ndGggPT09IDI7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBBcnJheS5wcm90b3R5cGUubGVuZ3RoID0gYXJyUHJvdG9MZW47DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.filter - 'length' is own data property that overrides an inherited data property on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-2-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjAvMTUuNC40LjIwLTItNS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5maWx0ZXIgdG8gQXJyYXktbGlrZSBvYmplY3QsICdsZW5ndGgnIGlzIGFuIG93biBkYXRhIHByb3BlcnR5IHRoYXQgb3ZlcnJpZGVzIGFuIGluaGVyaXRlZCBhY2Nlc3NvciBwcm9wZXJ0eQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gb2JqLmxlbmd0aCA9PT0gMjsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBwcm90byA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShwcm90bywgImxlbmd0aCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiAzOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgQ29uID0gZnVuY3Rpb24gKCkgeyB9Ow0KICAgICAgICBDb24ucHJvdG90eXBlID0gcHJvdG87DQoNCiAgICAgICAgdmFyIGNoaWxkID0gbmV3IENvbigpOw0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoY2hpbGQsICJsZW5ndGgiLCB7DQogICAgICAgICAgICB2YWx1ZTogMiwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCiAgICAgICAgY2hpbGRbMF0gPSAxMjsNCiAgICAgICAgY2hpbGRbMV0gPSAxMTsNCiAgICAgICAgY2hpbGRbMl0gPSA5Ow0KDQogICAgICAgIHZhciBuZXdBcnIgPSBBcnJheS5wcm90b3R5cGUuZmlsdGVyLmNhbGwoY2hpbGQsIGNhbGxiYWNrZm4pOw0KICAgICAgICByZXR1cm4gbmV3QXJyLmxlbmd0aCA9PT0gMjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.filter to Array-like object, 'length' is an own data property that overrides an inherited accessor property","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-2-5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjAvMTUuNC40LjIwLTItNi5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5maWx0ZXIgYXBwbGllZCB0byBBcnJheS1saWtlIG9iamVjdCwgJ2xlbmd0aCcgaXMgYW4gaW5oZXJpdGVkIGRhdGEgcHJvcGVydHkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIG9iai5sZW5ndGggPT09IDI7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgcHJvdG8gPSB7IGxlbmd0aDogMiB9Ow0KDQogICAgICAgIHZhciBDb24gPSBmdW5jdGlvbiAoKSB7IH07DQogICAgICAgIENvbi5wcm90b3R5cGUgPSBwcm90bzsNCg0KICAgICAgICB2YXIgY2hpbGQgPSBuZXcgQ29uKCk7DQogICAgICAgIGNoaWxkWzBdID0gMTI7DQogICAgICAgIGNoaWxkWzFdID0gMTE7DQogICAgICAgIGNoaWxkWzJdID0gOTsNCg0KICAgICAgICB2YXIgbmV3QXJyID0gQXJyYXkucHJvdG90eXBlLmZpbHRlci5jYWxsKGNoaWxkLCBjYWxsYmFja2ZuKTsNCiAgICAgICAgcmV0dXJuIG5ld0Fyci5sZW5ndGggPT09IDI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.filter applied to Array-like object, 'length' is an inherited data property","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-2-6.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjAvMTUuNC40LjIwLTItNy5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5maWx0ZXIgYXBwbGllZCB0byBBcnJheS1saWtlIG9iamVjdCwgJ2xlbmd0aCcgaXMgYW4gb3duIGFjY2Vzc29yIHByb3BlcnR5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiBvYmoubGVuZ3RoID09PSAyOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJsZW5ndGgiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gMjsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgb2JqWzBdID0gMTI7DQogICAgICAgIG9ialsxXSA9IDExOw0KICAgICAgICBvYmpbMl0gPSA5Ow0KDQogICAgICAgIHZhciBuZXdBcnIgPSBBcnJheS5wcm90b3R5cGUuZmlsdGVyLmNhbGwob2JqLCBjYWxsYmFja2ZuKTsNCiAgICAgICAgcmV0dXJuIG5ld0Fyci5sZW5ndGggPT09IDI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.filter applied to Array-like object, 'length' is an own accessor property","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-2-7.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjAvMTUuNC40LjIwLTItOC5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5maWx0ZXIgYXBwbGllZCB0byBBcnJheS1saWtlIG9iamVjdCwgJ2xlbmd0aCcgaXMgb3duIGFjY2Vzc29yIHByb3BlcnR5IHRoYXQgb3ZlcnJpZGVzIGFuIGluaGVyaXRlZCBkYXRhIHByb3BlcnR5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiBvYmoubGVuZ3RoID09PSAyOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIHByb3RvID0geyBsZW5ndGg6IDMgfTsNCg0KICAgICAgICB2YXIgQ29uID0gZnVuY3Rpb24gKCkgeyB9Ow0KICAgICAgICBDb24ucHJvdG90eXBlID0gcHJvdG87DQoNCiAgICAgICAgdmFyIGNoaWxkID0gbmV3IENvbigpOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShjaGlsZCwgImxlbmd0aCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiAyOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBjaGlsZFswXSA9IDEyOw0KICAgICAgICBjaGlsZFsxXSA9IDExOw0KICAgICAgICBjaGlsZFsyXSA9IDk7DQoNCiAgICAgICAgdmFyIG5ld0FyciA9IEFycmF5LnByb3RvdHlwZS5maWx0ZXIuY2FsbChjaGlsZCwgY2FsbGJhY2tmbik7DQogICAgICAgIHJldHVybiBuZXdBcnIubGVuZ3RoID09PSAyOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.filter applied to Array-like object, 'length' is own accessor property that overrides an inherited data property","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-2-8.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjAvMTUuNC40LjIwLTItOS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5maWx0ZXIgYXBwbGllZCB0byBBcnJheS1saWtlIG9iamVjdCwgJ2xlbmd0aCcgaXMgYW4gb3duIGFjY2Vzc29yIHByb3BlcnR5IHRoYXQgb3ZlcnJpZGVzIGFuIGluaGVyaXRlZCBhY2Nlc3NvciBwcm9wZXJ0eQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gb2JqLmxlbmd0aCA9PT0gMjsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBwcm90byA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShwcm90bywgImxlbmd0aCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiAzOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgQ29uID0gZnVuY3Rpb24gKCkgeyB9Ow0KICAgICAgICBDb24ucHJvdG90eXBlID0gcHJvdG87DQoNCiAgICAgICAgdmFyIGNoaWxkID0gbmV3IENvbigpOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShjaGlsZCwgImxlbmd0aCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiAyOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBjaGlsZFswXSA9IDEyOw0KICAgICAgICBjaGlsZFsxXSA9IDExOw0KICAgICAgICBjaGlsZFsyXSA9IDk7DQoNCiAgICAgICAgdmFyIG5ld0FyciA9IEFycmF5LnByb3RvdHlwZS5maWx0ZXIuY2FsbChjaGlsZCwgY2FsbGJhY2tmbik7DQogICAgICAgIHJldHVybiBuZXdBcnIubGVuZ3RoID09PSAyOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.filter applied to Array-like object, 'length' is an own accessor property that overrides an inherited accessor property","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-2-9.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjAvMTUuNC40LjIwLTMtMS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5maWx0ZXIgLSB2YWx1ZSBvZiAnbGVuZ3RoJyBpcyB1bmRlZmluZWQNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIHJldHVybiB0cnVlOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgMDogMCwgMTogMSwgbGVuZ3RoOiB1bmRlZmluZWQgfTsNCiAgICAgICAgdmFyIG5ld0FyciA9IEFycmF5LnByb3RvdHlwZS5maWx0ZXIuY2FsbChvYmosIGNhbGxiYWNrZm4pOw0KDQogICAgICAgIHJldHVybiBuZXdBcnIubGVuZ3RoID09PSAwICYmICFhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.filter - value of 'length' is undefined","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-3-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjAvMTUuNC40LjIwLTMtMTAuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZmlsdGVyIC0gdmFsdWUgb2YgJ2xlbmd0aCcgaXMgYSBudW1iZXIgKHZhbHVlIGlzIE5hTikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIHJldHVybiB0cnVlOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgMDogOSwgbGVuZ3RoOiBOYU4gfTsNCg0KICAgICAgICB2YXIgbmV3QXJyID0gQXJyYXkucHJvdG90eXBlLmZpbHRlci5jYWxsKG9iaiwgY2FsbGJhY2tmbik7DQoNCiAgICAgICAgcmV0dXJuIG5ld0Fyci5sZW5ndGggPT09IDAgJiYgIWFjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.filter - value of 'length' is a number (value is NaN)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-3-10.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjAvMTUuNC40LjIwLTMtMTEuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZmlsdGVyIC0gJ2xlbmd0aCcgaXMgYSBzdHJpbmcgY29udGFpbmluZyBhIHBvc2l0aXZlIG51bWJlcg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gdHJ1ZTsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSB7IDE6IDExLCAyOiA5LCBsZW5ndGg6ICIyIiB9Ow0KDQogICAgICAgIHZhciBuZXdBcnIgPSBBcnJheS5wcm90b3R5cGUuZmlsdGVyLmNhbGwob2JqLCBjYWxsYmFja2ZuKTsNCg0KICAgICAgICByZXR1cm4gbmV3QXJyLmxlbmd0aCA9PT0gMSAmJiBuZXdBcnJbMF0gPT09IDExOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.filter - 'length' is a string containing a positive number","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-3-11.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjAvMTUuNC40LjIwLTMtMTIuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZmlsdGVyIC0gJ2xlbmd0aCcgaXMgYSBzdHJpbmcgY29udGFpbmluZyBhIG5lZ2F0aXZlIG51bWJlcg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gdHJ1ZTsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSB7IDE6IDExLCAyOiA5LCBsZW5ndGg6ICItNDI5NDk2NzI5NCIgfTsNCg0KICAgICAgICB2YXIgbmV3QXJyID0gQXJyYXkucHJvdG90eXBlLmZpbHRlci5jYWxsKG9iaiwgY2FsbGJhY2tmbik7DQoNCiAgICAgICAgcmV0dXJuIG5ld0Fyci5sZW5ndGggPT09IDEgJiYgbmV3QXJyWzBdID09PSAxMTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.filter - 'length' is a string containing a negative number","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-3-12.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjAvMTUuNC40LjIwLTMtMTMuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZmlsdGVyIC0gJ2xlbmd0aCcgaXMgYSBzdHJpbmcgY29udGFpbmluZyBhIGRlY2ltYWwgbnVtYmVyDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiB0cnVlOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgMTogMTEsIDI6IDksIGxlbmd0aDogIjIuNSIgfTsNCg0KICAgICAgICB2YXIgbmV3QXJyID0gQXJyYXkucHJvdG90eXBlLmZpbHRlci5jYWxsKG9iaiwgY2FsbGJhY2tmbik7DQoNCiAgICAgICAgcmV0dXJuIG5ld0Fyci5sZW5ndGggPT09IDEgJiYgbmV3QXJyWzBdID09PSAxMTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.filter - 'length' is a string containing a decimal number","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-3-13.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjAvMTUuNC40LjIwLTMtMTQuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZmlsdGVyIC0gJ2xlbmd0aCcgaXMgYSBzdHJpbmcgY29udGFpbmluZyArLy1JbmZpbml0eQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFjY2Vzc2VkMSA9IGZhbHNlOw0KICAgICAgICB2YXIgYWNjZXNzZWQyID0gZmFsc2U7DQogICAgICAgIHZhciBhY2Nlc3NlZDMgPSBmYWxzZTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuMSh2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBhY2Nlc3NlZDEgPSB0cnVlOw0KICAgICAgICAgICAgcmV0dXJuIHRydWU7DQogICAgICAgIH0NCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuMih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBhY2Nlc3NlZDIgPSB0cnVlOw0KICAgICAgICAgICAgcmV0dXJuIHRydWU7DQogICAgICAgIH0NCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuMyh2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBhY2Nlc3NlZDMgPSB0cnVlOw0KICAgICAgICAgICAgcmV0dXJuIHRydWU7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqMSA9IHsgMDogOSwgbGVuZ3RoOiAiSW5maW5pdHkiIH07DQogICAgICAgIHZhciBvYmoyID0geyAwOiA5LCBsZW5ndGg6ICItSW5maW5pdHkiIH07DQogICAgICAgIHZhciBvYmozID0geyAwOiA5LCBsZW5ndGg6ICIrSW5maW5pdHkiIH07DQoNCiAgICAgICAgdmFyIG5ld0FycjEgPSBBcnJheS5wcm90b3R5cGUuZmlsdGVyLmNhbGwob2JqMSwgY2FsbGJhY2tmbjEpOw0KICAgICAgICB2YXIgbmV3QXJyMiA9IEFycmF5LnByb3RvdHlwZS5maWx0ZXIuY2FsbChvYmoyLCBjYWxsYmFja2ZuMik7DQogICAgICAgIHZhciBuZXdBcnIzID0gQXJyYXkucHJvdG90eXBlLmZpbHRlci5jYWxsKG9iajMsIGNhbGxiYWNrZm4zKTsNCg0KICAgICAgICByZXR1cm4gIWFjY2Vzc2VkMSAmJiBuZXdBcnIxLmxlbmd0aCA9PT0gMCAmJg0KICAgICAgICAgICAgIWFjY2Vzc2VkMiAmJiBuZXdBcnIyLmxlbmd0aCA9PT0gMCAmJiANCiAgICAgICAgICAgICFhY2Nlc3NlZDMgJiYgbmV3QXJyMy5sZW5ndGggPT09IDA7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.filter - 'length' is a string containing +/-Infinity","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-3-14.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjAvMTUuNC40LjIwLTMtMTUuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZmlsdGVyIC0gJ2xlbmd0aCcgaXMgYSBzdHJpbmcgY29udGFpbmluZyBhbiBleHBvbmVudGlhbCBudW1iZXINCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIHRydWU7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0geyAxOiAxMSwgMjogOSwgbGVuZ3RoOiAiMkUwIiB9Ow0KDQogICAgICAgIHZhciBuZXdBcnIgPSBBcnJheS5wcm90b3R5cGUuZmlsdGVyLmNhbGwob2JqLCBjYWxsYmFja2ZuKTsNCg0KICAgICAgICByZXR1cm4gbmV3QXJyLmxlbmd0aCA9PT0gMSAmJiBuZXdBcnJbMF0gPT09IDExOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.filter - 'length' is a string containing an exponential number","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-3-15.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjAvMTUuNC40LjIwLTMtMTYuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZmlsdGVyIC0gJ2xlbmd0aCcgaXMgYSBzdHJpbmcgY29udGFpbmluZyBhIGhleCBudW1iZXINCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIHRydWU7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0geyAxOiAxMSwgMjogOSwgbGVuZ3RoOiAiMHgwMDAyIiB9Ow0KDQogICAgICAgIHZhciBuZXdBcnIgPSBBcnJheS5wcm90b3R5cGUuZmlsdGVyLmNhbGwob2JqLCBjYWxsYmFja2ZuKTsNCg0KICAgICAgICByZXR1cm4gbmV3QXJyLmxlbmd0aCA9PT0gMSAmJiBuZXdBcnJbMF0gPT09IDExOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.filter - 'length' is a string containing a hex number","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-3-16.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjAvMTUuNC40LjIwLTMtMTcuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZmlsdGVyIC0gJ2xlbmd0aCcgaXMgYSBzdHJpbmcgY29udGFpbmluZyBhIG51bWJlciB3aXRoIGxlYWRpbmcgemVyb3MNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIHRydWU7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0geyAxOiAxMSwgMjogOSwgbGVuZ3RoOiAiMDAwMi4wMCIgfTsNCg0KICAgICAgICB2YXIgbmV3QXJyID0gQXJyYXkucHJvdG90eXBlLmZpbHRlci5jYWxsKG9iaiwgY2FsbGJhY2tmbik7DQoNCiAgICAgICAgcmV0dXJuIG5ld0Fyci5sZW5ndGggPT09IDEgJiYgbmV3QXJyWzBdID09PSAxMTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.filter - 'length' is a string containing a number with leading zeros","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-3-17.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjAvMTUuNC40LjIwLTMtMTguanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZmlsdGVyIC0gdmFsdWUgb2YgJ2xlbmd0aCcgaXMgYSBzdHJpbmcgdGhhdCBjYW4ndCBjb252ZXJ0IHRvIGEgbnVtYmVyDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICByZXR1cm4gdHJ1ZTsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSB7IDA6IDksIGxlbmd0aDogImFzZGYhXyIgfTsNCg0KICAgICAgICB2YXIgbmV3QXJyID0gQXJyYXkucHJvdG90eXBlLmZpbHRlci5jYWxsKG9iaiwgY2FsbGJhY2tmbik7DQoNCiAgICAgICAgcmV0dXJuICFhY2Nlc3NlZCAmJiBuZXdBcnIubGVuZ3RoID09PSAwOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.filter - value of 'length' is a string that can't convert to a number","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-3-18.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjAvMTUuNC40LjIwLTMtMTkuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZmlsdGVyIC0gdmFsdWUgb2YgJ2xlbmd0aCcgaXMgYW4gT2JqZWN0IHdoaWNoIGhhcyBhbiBvd24gdG9TdHJpbmcgbWV0aG9kLg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gdHJ1ZTsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSB7DQogICAgICAgICAgICAxOiAxMSwNCiAgICAgICAgICAgIDI6IDksDQogICAgICAgICAgICBsZW5ndGg6IHsNCiAgICAgICAgICAgICAgICB0b1N0cmluZzogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gJzInOw0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0NCiAgICAgICAgfTsNCg0KICAgICAgICB2YXIgbmV3QXJyID0gQXJyYXkucHJvdG90eXBlLmZpbHRlci5jYWxsKG9iaiwgY2FsbGJhY2tmbik7DQoNCiAgICAgICAgcmV0dXJuIG5ld0Fyci5sZW5ndGggPT09IDEgJiYgbmV3QXJyWzBdID09PSAxMTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.filter - value of 'length' is an Object which has an own toString method.","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-3-19.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjAvMTUuNC40LjIwLTMtMi5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5maWx0ZXIgYXBwbGllZCBvbiBhbiBBcnJheS1saWtlIG9iamVjdCBpZiAnbGVuZ3RoJyBpcyAxIChsZW5ndGggb3ZlcnJpZGRlbiB0byB0cnVlKHR5cGUgY29udmVyc2lvbikpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiB0cnVlOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgMDogMTEsIDE6IDksIGxlbmd0aDogdHJ1ZSB9Ow0KICAgICAgICB2YXIgbmV3QXJyID0gQXJyYXkucHJvdG90eXBlLmZpbHRlci5jYWxsKG9iaiwgY2FsbGJhY2tmbik7DQoNCiAgICAgICAgcmV0dXJuIG5ld0Fyci5sZW5ndGggPT09IDEgJiYgbmV3QXJyWzBdID09PSAxMTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.filter applied on an Array-like object if 'length' is 1 (length overridden to true(type conversion))","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-3-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjAvMTUuNC40LjIwLTMtMjAuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZmlsdGVyIC0gdmFsdWUgb2YgJ2xlbmd0aCcgaXMgYW4gT2JqZWN0IHdoaWNoIGhhcyBhbiBvd24gdmFsdWVPZiBtZXRob2QuDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiB0cnVlOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IHsNCiAgICAgICAgICAgIDE6IDExLA0KICAgICAgICAgICAgMjogOSwNCiAgICAgICAgICAgIGxlbmd0aDogew0KICAgICAgICAgICAgICAgIHZhbHVlT2Y6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDI7DQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfQ0KICAgICAgICB9Ow0KDQogICAgICAgIHZhciBuZXdBcnIgPSBBcnJheS5wcm90b3R5cGUuZmlsdGVyLmNhbGwob2JqLCBjYWxsYmFja2ZuKTsNCg0KICAgICAgICByZXR1cm4gbmV3QXJyLmxlbmd0aCA9PT0gMSAmJiBuZXdBcnJbMF0gPT09IDExOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.filter - value of 'length' is an Object which has an own valueOf method.","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-3-20.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjAvMTUuNC40LjIwLTMtMjEuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZmlsdGVyIC0gJ2xlbmd0aCcgaXMgYW4gb2JqZWN0IHRoYXQgaGFzIGFuIG93biB2YWx1ZU9mIG1ldGhvZCB0aGF0IHJldHVybnMgYW4gb2JqZWN0IGFuZCB0b1N0cmluZyBtZXRob2QgdGhhdCByZXR1cm5zIGEgc3RyaW5nDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgZmlyc3RTdGVwT2NjdXJlZCA9IGZhbHNlOw0KICAgICAgICB2YXIgc2Vjb25kU3RlcE9jY3VyZWQgPSBmYWxzZTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiB0cnVlOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IHsNCiAgICAgICAgICAgIDE6IDExLA0KICAgICAgICAgICAgMjogOSwNCiAgICAgICAgICAgIGxlbmd0aDogew0KICAgICAgICAgICAgICAgIHZhbHVlT2Y6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICAgICAgZmlyc3RTdGVwT2NjdXJlZCA9IHRydWU7DQogICAgICAgICAgICAgICAgICAgIHJldHVybiB7fTsNCiAgICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAgIHRvU3RyaW5nOiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgIHNlY29uZFN0ZXBPY2N1cmVkID0gdHJ1ZTsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuICcyJzsNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9DQogICAgICAgIH07DQoNCiAgICAgICAgdmFyIG5ld0FyciA9IEFycmF5LnByb3RvdHlwZS5maWx0ZXIuY2FsbChvYmosIGNhbGxiYWNrZm4pOw0KDQogICAgICAgIHJldHVybiBuZXdBcnIubGVuZ3RoID09PSAxICYmIG5ld0FyclswXSA9PT0gMTEgJiYgZmlyc3RTdGVwT2NjdXJlZCAmJiBzZWNvbmRTdGVwT2NjdXJlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.filter - 'length' is an object that has an own valueOf method that returns an object and toString method that returns a string","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-3-21.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjAvMTUuNC40LjIwLTMtMjIuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZmlsdGVyIHRocm93cyBUeXBlRXJyb3IgZXhjZXB0aW9uIHdoZW4gJ2xlbmd0aCcgaXMgYW4gb2JqZWN0IHdpdGggdG9TdHJpbmcgYW5kIHZhbHVlT2YgbWV0aG9kcyB0aGF0IGRvbu+/vXQgcmV0dXJuIHByaW1pdGl2ZSB2YWx1ZXMNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KICAgICAgICB2YXIgZmlyc3RTdGVwT2NjdXJlZCA9IGZhbHNlOw0KICAgICAgICB2YXIgc2Vjb25kU3RlcE9jY3VyZWQgPSBmYWxzZTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIHJldHVybiB0cnVlOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IHsNCiAgICAgICAgICAgIDE6IDExLA0KICAgICAgICAgICAgMjogMTIsDQoNCiAgICAgICAgICAgIGxlbmd0aDogew0KICAgICAgICAgICAgICAgIHZhbHVlT2Y6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICAgICAgZmlyc3RTdGVwT2NjdXJlZCA9IHRydWU7DQogICAgICAgICAgICAgICAgICAgIHJldHVybiB7fTsNCiAgICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAgIHRvU3RyaW5nOiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgIHNlY29uZFN0ZXBPY2N1cmVkID0gdHJ1ZTsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHt9Ow0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0NCiAgICAgICAgfTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlLmZpbHRlci5jYWxsKG9iaiwgY2FsbGJhY2tmbik7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGV4KSB7DQogICAgICAgICAgICByZXR1cm4gKGV4IGluc3RhbmNlb2YgVHlwZUVycm9yKSAmJiAhYWNjZXNzZWQgJiYgZmlyc3RTdGVwT2NjdXJlZCAmJiBzZWNvbmRTdGVwT2NjdXJlZDsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.filter throws TypeError exception when 'length' is an object with toString and valueOf methods that don\ufffdt return primitive values","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-3-22.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjAvMTUuNC40LjIwLTMtMjMuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZmlsdGVyIHVzZXMgaW5oZXJpdGVkIHZhbHVlT2YgbWV0aG9kIHdoZW4gJ2xlbmd0aCcgaXMgYW4gb2JqZWN0IHdpdGggYW4gb3duIHRvU3RyaW5nIGFuZCBpbmhlcml0ZWQgdmFsdWVPZiBtZXRob2RzDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgdmFsdWVPZkFjY2Vzc2VkID0gZmFsc2U7DQogICAgICAgIHZhciB0b1N0cmluZ0FjY2Vzc2VkID0gZmFsc2U7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gdHJ1ZTsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBwcm90byA9IHsNCiAgICAgICAgICAgIHZhbHVlT2Y6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICB2YWx1ZU9mQWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgICAgIHJldHVybiAyOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9Ow0KDQogICAgICAgIHZhciBDb24gPSBmdW5jdGlvbiAoKSB7IH07DQogICAgICAgIENvbi5wcm90b3R5cGUgPSBwcm90bzsNCg0KICAgICAgICB2YXIgY2hpbGQgPSBuZXcgQ29uKCk7DQoNCiAgICAgICAgY2hpbGQudG9TdHJpbmcgPSBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICB0b1N0cmluZ0FjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIHJldHVybiAnMSc7DQogICAgICAgIH07DQoNCiAgICAgICAgdmFyIG9iaiA9IHsNCiAgICAgICAgICAgIDE6IDExLA0KICAgICAgICAgICAgMjogOSwNCiAgICAgICAgICAgIGxlbmd0aDogY2hpbGQNCiAgICAgICAgfTsNCg0KICAgICAgICB2YXIgbmV3QXJyID0gQXJyYXkucHJvdG90eXBlLmZpbHRlci5jYWxsKG9iaiwgY2FsbGJhY2tmbik7DQoNCiAgICAgICAgcmV0dXJuIG5ld0Fyci5sZW5ndGggPT09IDEgJiYgbmV3QXJyWzBdID09PSAxMSAmJiB2YWx1ZU9mQWNjZXNzZWQgJiYgIXRvU3RyaW5nQWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.filter uses inherited valueOf method when 'length' is an object with an own toString and inherited valueOf methods","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-3-23.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjAvMTUuNC40LjIwLTMtMjQuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZmlsdGVyIC0gdmFsdWUgb2YgJ2xlbmd0aCcgaXMgYSBwb3NpdGl2ZSBub24taW50ZWdlciwgZW5zdXJlIHRydW5jYXRpb24gb2NjdXJzIGluIHRoZSBwcm9wZXIgZGlyZWN0aW9uDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiB0cnVlOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IHsNCiAgICAgICAgICAgIDE6IDExLA0KICAgICAgICAgICAgMjogOSwNCiAgICAgICAgICAgIGxlbmd0aDogMi42ODUNCiAgICAgICAgfTsNCg0KICAgICAgICB2YXIgbmV3QXJyID0gQXJyYXkucHJvdG90eXBlLmZpbHRlci5jYWxsKG9iaiwgY2FsbGJhY2tmbik7DQoNCiAgICAgICAgcmV0dXJuIG5ld0Fyci5sZW5ndGggPT09IDEgJiYgbmV3QXJyWzBdID09PSAxMTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.filter - value of 'length' is a positive non-integer, ensure truncation occurs in the proper direction","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-3-24.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjAvMTUuNC40LjIwLTMtMjUuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZmlsdGVyIC0gdmFsdWUgb2YgJ2xlbmd0aCcgaXMgYSBuZWdhdGl2ZSBub24taW50ZWdlciwgZW5zdXJlIHRydW5jYXRpb24gb2NjdXJzIGluIHRoZSBwcm9wZXIgZGlyZWN0aW9uDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiB0cnVlOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IHsNCiAgICAgICAgICAgIDE6IDExLA0KICAgICAgICAgICAgMjogOSwNCiAgICAgICAgICAgIGxlbmd0aDogLTQyOTQ5NjcyOTQuNQ0KICAgICAgICB9Ow0KDQogICAgICAgIHZhciBuZXdBcnIgPSBBcnJheS5wcm90b3R5cGUuZmlsdGVyLmNhbGwob2JqLCBjYWxsYmFja2ZuKTsNCg0KICAgICAgICByZXR1cm4gbmV3QXJyLmxlbmd0aCA9PT0gMSAmJiBuZXdBcnJbMF0gPT09IDExOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.filter - value of 'length' is a negative non-integer, ensure truncation occurs in the proper direction","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-3-25.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjAvMTUuNC40LjIwLTMtMjguanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZmlsdGVyIC0gdmFsdWUgb2YgJ2xlbmd0aCcgaXMgYm91bmRhcnkgdmFsdWUgKDJeMzIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICByZXR1cm4gdHJ1ZTsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSB7DQogICAgICAgICAgICAwOiAxMiwNCiAgICAgICAgICAgIGxlbmd0aDogNDI5NDk2NzI5Ng0KICAgICAgICB9Ow0KDQogICAgICAgIHZhciBuZXdBcnIgPSBBcnJheS5wcm90b3R5cGUuZmlsdGVyLmNhbGwob2JqLCBjYWxsYmFja2ZuKTsNCg0KICAgICAgICByZXR1cm4gIWFjY2Vzc2VkICYmIG5ld0Fyci5sZW5ndGggPT09IDA7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.filter - value of 'length' is boundary value (2^32)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-3-28.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjAvMTUuNC40LjIwLTMtMjkuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZmlsdGVyIC0gdmFsdWUgb2YgJ2xlbmd0aCcgaXMgYm91bmRhcnkgdmFsdWUgKDJeMzIgKyAxKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gdHJ1ZTsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSB7DQogICAgICAgICAgICAwOiAxMSwNCiAgICAgICAgICAgIDE6IDksDQogICAgICAgICAgICBsZW5ndGg6IDQyOTQ5NjcyOTcNCiAgICAgICAgfTsNCg0KICAgICAgICB2YXIgbmV3QXJyID0gQXJyYXkucHJvdG90eXBlLmZpbHRlci5jYWxsKG9iaiwgY2FsbGJhY2tmbik7DQoNCiAgICAgICAgcmV0dXJuIG5ld0Fyci5sZW5ndGggPT09IDEgJiYgbmV3QXJyWzBdID09PSAxMTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.filter - value of 'length' is boundary value (2^32 + 1)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-3-29.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjAvMTUuNC40LjIwLTMtMy5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5maWx0ZXIgLSB2YWx1ZSBvZiAnbGVuZ3RoJyBpcyBhIG51bWJlciAodmFsdWUgaXMgMCkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIHJldHVybiB0cnVlOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgMDogMTEsIGxlbmd0aDogMCB9Ow0KICAgICAgICB2YXIgbmV3QXJyID0gQXJyYXkucHJvdG90eXBlLmZpbHRlci5jYWxsKG9iaiwgY2FsbGJhY2tmbik7DQoNCiAgICAgICAgcmV0dXJuIG5ld0Fyci5sZW5ndGggPT09IDAgJiYgIWFjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.filter - value of 'length' is a number (value is 0)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-3-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjAvMTUuNC40LjIwLTMtNC5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5maWx0ZXIgLSB2YWx1ZSBvZiAnbGVuZ3RoJyBpcyBhIG51bWJlciAodmFsdWUgaXMgKzApDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICByZXR1cm4gdHJ1ZTsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSB7IDA6IDExLCBsZW5ndGg6ICswIH07DQogICAgICAgIHZhciBuZXdBcnIgPSBBcnJheS5wcm90b3R5cGUuZmlsdGVyLmNhbGwob2JqLCBjYWxsYmFja2ZuKTsNCg0KICAgICAgICByZXR1cm4gbmV3QXJyLmxlbmd0aCA9PT0gMCAmJiAhYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.filter - value of 'length' is a number (value is +0)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-3-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjAvMTUuNC40LjIwLTMtNS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5maWx0ZXIgLSB2YWx1ZSBvZiAnbGVuZ3RoJyBpcyBhIG51bWJlciAodmFsdWUgaXMgLTApDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICByZXR1cm4gdHJ1ZTsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSB7IDA6IDExLCBsZW5ndGg6IC0wIH07DQogICAgICAgIHZhciBuZXdBcnIgPSBBcnJheS5wcm90b3R5cGUuZmlsdGVyLmNhbGwob2JqLCBjYWxsYmFja2ZuKTsNCg0KICAgICAgICByZXR1cm4gbmV3QXJyLmxlbmd0aCA9PT0gMCAmJiAhYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.filter - value of 'length' is a number (value is -0)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-3-5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjAvMTUuNC40LjIwLTMtNi5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5maWx0ZXIgLSB2YWx1ZSBvZiAnbGVuZ3RoJyBpcyBhIG51bWJlciAodmFsdWUgaXMgcG9zaXRpdmUpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiB0cnVlOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgMTogMTEsIDI6IDksIGxlbmd0aDogMiB9Ow0KDQogICAgICAgIHZhciBuZXdBcnIgPSBBcnJheS5wcm90b3R5cGUuZmlsdGVyLmNhbGwob2JqLCBjYWxsYmFja2ZuKTsNCg0KICAgICAgICByZXR1cm4gbmV3QXJyLmxlbmd0aCA9PT0gMSAmJiBuZXdBcnJbMF0gPT09IDExOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.filter - value of 'length' is a number (value is positive)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-3-6.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjAvMTUuNC40LjIwLTMtNy5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5maWx0ZXIgLSB2YWx1ZSBvZiAnbGVuZ3RoJyBpcyBhIG51bWJlciAodmFsdWUgaXMgbmVnYXRpdmUpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiB0cnVlOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgMTogMTEsIDI6IDksIGxlbmd0aDogLTQyOTQ5NjcyOTQgfTsNCiAgICAgICAgdmFyIG5ld0FyciA9IEFycmF5LnByb3RvdHlwZS5maWx0ZXIuY2FsbChvYmosIGNhbGxiYWNrZm4pOw0KDQogICAgICAgIHJldHVybiBuZXdBcnIubGVuZ3RoID09PSAxICYmIG5ld0FyclswXSA9PT0gMTE7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.filter - value of 'length' is a number (value is negative)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-3-7.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjAvMTUuNC40LjIwLTMtOC5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5maWx0ZXIgLSB2YWx1ZSBvZiAnbGVuZ3RoJyBpcyBhIG51bWJlciAodmFsdWUgaXMgSW5maW5pdHkpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICByZXR1cm4gdHJ1ZTsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSB7IDA6IDksIGxlbmd0aDogSW5maW5pdHkgfTsNCiAgICAgICAgdmFyIG5ld0FyciA9IEFycmF5LnByb3RvdHlwZS5maWx0ZXIuY2FsbChvYmosIGNhbGxiYWNrZm4pOw0KDQogICAgICAgIHJldHVybiBuZXdBcnIubGVuZ3RoID09PSAwICYmICFhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.filter - value of 'length' is a number (value is Infinity)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-3-8.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjAvMTUuNC40LjIwLTMtOS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5maWx0ZXIgLSB2YWx1ZSBvZiAnbGVuZ3RoJyBpcyBhIG51bWJlciAodmFsdWUgaXMgLUluZmluaXR5KQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgcmV0dXJuIHRydWU7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0geyAwOiA5LCBsZW5ndGg6IC1JbmZpbml0eSB9Ow0KDQogICAgICAgIHZhciBuZXdBcnIgPSBBcnJheS5wcm90b3R5cGUuZmlsdGVyLmNhbGwob2JqLCBjYWxsYmFja2ZuKTsNCg0KICAgICAgICByZXR1cm4gbmV3QXJyLmxlbmd0aCA9PT0gMCAmJiAhYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.filter - value of 'length' is a number (value is -Infinity)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-3-9.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjAvMTUuNC40LjIwLTQtMS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5maWx0ZXIgdGhyb3dzIFR5cGVFcnJvciBpZiBjYWxsYmFja2ZuIGlzIHVuZGVmaW5lZA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgdmFyIGFyciA9IG5ldyBBcnJheSgxMCk7DQogIHRyeSB7DQogICAgYXJyLmZpbHRlcigpOyAgICANCiAgfQ0KICBjYXRjaChlKSB7DQogICAgaWYoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikNCiAgICAgIHJldHVybiB0cnVlOyAgDQogIH0NCg0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.filter throws TypeError if callbackfn is undefined","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-4-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjAvMTUuNC40LjIwLTQtMTAuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZmlsdGVyIC0gdGhlIGV4Y2VwdGlvbiBpcyBub3QgdGhyb3duIGlmIGV4Y2VwdGlvbiB3YXMgdGhyb3duIGJ5IHN0ZXAgMg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgMDogMTEsIDE6IDEyIH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgImxlbmd0aCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHRocm93IG5ldyBTeW50YXhFcnJvcigpOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlLmZpbHRlci5jYWxsKG9iaiwgdW5kZWZpbmVkKTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZXgpIHsNCiAgICAgICAgICAgIHJldHVybiAhKGV4IGluc3RhbmNlb2YgVHlwZUVycm9yKTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.filter - the exception is not thrown if exception was thrown by step 2","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-4-10.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjAvMTUuNC40LjIwLTQtMTEuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZmlsdGVyIC0gdGhlIGV4Y2VwdGlvbiBpcyBub3QgdGhyb3duIGlmIGV4Y2VwdGlvbiB3YXMgdGhyb3duIGJ5IHN0ZXAgMw0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgMDogMTEsIDE6IDEyIH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgImxlbmd0aCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiB7DQogICAgICAgICAgICAgICAgICAgIHRvU3RyaW5nOiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgICAgICB0aHJvdyBuZXcgU3ludGF4RXJyb3IoKTsNCiAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgIH07DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBBcnJheS5wcm90b3R5cGUuZmlsdGVyLmNhbGwob2JqLCB1bmRlZmluZWQpOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChleCkgew0KICAgICAgICAgICAgcmV0dXJuICEoZXggaW5zdGFuY2VvZiBUeXBlRXJyb3IpOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.filter - the exception is not thrown if exception was thrown by step 3","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-4-11.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjAvMTUuNC40LjIwLTQtMTIuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZmlsdGVyIC0gJ2NhbGxiYWNrZm4nIGlzIGEgZnVuY3Rpb24NCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgaWYgKGlkeCA9PT0gMSkgew0KICAgICAgICAgICAgICAgIHJldHVybiB2YWwgPT09IDk7DQogICAgICAgICAgICB9DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgbmV3QXJyID0gWzExLCA5XS5maWx0ZXIoY2FsbGJhY2tmbik7DQogICAgICAgIHJldHVybiBuZXdBcnIubGVuZ3RoID09PSAxICYmIG5ld0FyclswXSA9PT0gOTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.filter - 'callbackfn' is a function","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-4-12.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjAvMTUuNC40LjIwLTQtMTUuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZmlsdGVyIC0gY2FsbGluZyB3aXRoIG5vIGNhbGxiYWNrZm4gaXMgdGhlIHNhbWUgYXMgcGFzc2luZyB1bmRlZmluZWQgZm9yIGNhbGxiYWNrZm4NCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0geyAxMDogMTAgfTsNCiAgICAgICAgdmFyIGxlbmd0aEFjY2Vzc2VkID0gZmFsc2U7DQogICAgICAgIHZhciBsb29wQWNjZXNzZWQgPSBmYWxzZTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgImxlbmd0aCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIGxlbmd0aEFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgICAgICByZXR1cm4gMjA7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiMCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIGxvb3BBY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICAgICAgcmV0dXJuIDEwOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlLmZpbHRlci5jYWxsKG9iaik7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGV4KSB7DQogICAgICAgICAgICByZXR1cm4gKGV4IGluc3RhbmNlb2YgVHlwZUVycm9yKSAmJiBsZW5ndGhBY2Nlc3NlZCAmJiAhbG9vcEFjY2Vzc2VkOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.filter - calling with no callbackfn is the same as passing undefined for callbackfn","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-4-15.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjAvMTUuNC40LjIwLTQtMi5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5maWx0ZXIgdGhyb3dzIFJlZmVyZW5jZUVycm9yIGlmIGNhbGxiYWNrZm4gaXMgdW5yZWZlcmVuY2VkDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICB2YXIgYXJyID0gbmV3IEFycmF5KDEwKTsNCiAgdHJ5IHsNCiAgICBhcnIuZmlsdGVyKGZvbyk7ICAgIA0KICB9DQogIGNhdGNoKGUpIHsNCiAgICBpZihlIGluc3RhbmNlb2YgUmVmZXJlbmNlRXJyb3IpDQogICAgICByZXR1cm4gdHJ1ZTsgIA0KICB9DQoNCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.filter throws ReferenceError if callbackfn is unreferenced","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-4-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjAvMTUuNC40LjIwLTQtMy5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5maWx0ZXIgdGhyb3dzIFR5cGVFcnJvciBpZiBjYWxsYmFja2ZuIGlzIG51bGwNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogIHZhciBhcnIgPSBuZXcgQXJyYXkoMTApOw0KICB0cnkgew0KICAgIGFyci5maWx0ZXIobnVsbCk7ICAgIA0KICB9DQogIGNhdGNoKGUpIHsNCiAgICBpZihlIGluc3RhbmNlb2YgVHlwZUVycm9yKQ0KICAgICAgcmV0dXJuIHRydWU7ICANCiAgfQ0KDQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.filter throws TypeError if callbackfn is null","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-4-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjAvMTUuNC40LjIwLTQtNC5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5maWx0ZXIgdGhyb3dzIFR5cGVFcnJvciBpZiBjYWxsYmFja2ZuIGlzIGJvb2xlYW4NCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogIHZhciBhcnIgPSBuZXcgQXJyYXkoMTApOw0KICB0cnkgew0KICAgIGFyci5maWx0ZXIodHJ1ZSk7ICAgIA0KICB9DQogIGNhdGNoKGUpIHsNCiAgICBpZihlIGluc3RhbmNlb2YgVHlwZUVycm9yKQ0KICAgICAgcmV0dXJuIHRydWU7ICANCiAgfQ0KDQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.filter throws TypeError if callbackfn is boolean","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-4-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjAvMTUuNC40LjIwLTQtNS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5maWx0ZXIgdGhyb3dzIFR5cGVFcnJvciBpZiBjYWxsYmFja2ZuIGlzIG51bWJlcg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgdmFyIGFyciA9IG5ldyBBcnJheSgxMCk7DQogIHRyeSB7DQogICAgYXJyLmZpbHRlcig1KTsgICAgDQogIH0NCiAgY2F0Y2goZSkgew0KICAgIGlmKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpDQogICAgICByZXR1cm4gdHJ1ZTsgIA0KICB9DQoNCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.filter throws TypeError if callbackfn is number","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-4-5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjAvMTUuNC40LjIwLTQtNi5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5maWx0ZXIgdGhyb3dzIFR5cGVFcnJvciBpZiBjYWxsYmFja2ZuIGlzIHN0cmluZw0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgdmFyIGFyciA9IG5ldyBBcnJheSgxMCk7DQogIHRyeSB7DQogICAgYXJyLmZpbHRlcigiYWJjIik7ICAgIA0KICB9DQogIGNhdGNoKGUpIHsNCiAgICBpZihlIGluc3RhbmNlb2YgVHlwZUVycm9yKQ0KICAgICAgcmV0dXJuIHRydWU7ICANCiAgfQ0KDQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.filter throws TypeError if callbackfn is string","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-4-6.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjAvMTUuNC40LjIwLTQtNy5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5maWx0ZXIgdGhyb3dzIFR5cGVFcnJvciBpZiBjYWxsYmFja2ZuIGlzIE9iamVjdCB3aXRob3V0IFtbQ2FsbF1dIGludGVybmFsIG1ldGhvZA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgdmFyIGFyciA9IG5ldyBBcnJheSgxMCk7DQogIHRyeSB7DQogICAgYXJyLmZpbHRlcihuZXcgT2JqZWN0KCkpOyAgICANCiAgfQ0KICBjYXRjaChlKSB7DQogICAgaWYoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikNCiAgICAgIHJldHVybiB0cnVlOyAgDQogIH0NCg0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.filter throws TypeError if callbackfn is Object without [[Call]] internal method","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-4-7.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjAvMTUuNC40LjIwLTQtOC5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5maWx0ZXIgLSBzaWRlIGVmZmVjdHMgcHJvZHVjZWQgYnkgc3RlcCAyIGFyZSB2aXNpYmxlIHdoZW4gYW4gZXhjZXB0aW9uIG9jY3Vycw0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgMDogMTEsIDE6IDEyIH07DQoNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgImxlbmd0aCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgICAgICByZXR1cm4gMjsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIEFycmF5LnByb3RvdHlwZS5maWx0ZXIuY2FsbChvYmosIG51bGwpOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChleCkgew0KICAgICAgICAgICAgcmV0dXJuIGV4IGluc3RhbmNlb2YgVHlwZUVycm9yICYmIGFjY2Vzc2VkOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.filter - side effects produced by step 2 are visible when an exception occurs","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-4-8.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjAvMTUuNC40LjIwLTQtOS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5maWx0ZXIgLSBzaWRlIGVmZmVjdHMgcHJvZHVjZWQgYnkgc3RlcCAzIGFyZSB2aXNpYmxlIHdoZW4gYW4gZXhjZXB0aW9uIG9jY3Vycw0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgMDogMTEsIDE6IDEyIH07DQoNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgImxlbmd0aCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiB7DQogICAgICAgICAgICAgICAgICAgIHRvU3RyaW5nOiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gIjIiOw0KICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgfTsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIEFycmF5LnByb3RvdHlwZS5maWx0ZXIuY2FsbChvYmosIG51bGwpOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChleCkgew0KICAgICAgICAgICAgcmV0dXJuIGV4IGluc3RhbmNlb2YgVHlwZUVycm9yICYmIGFjY2Vzc2VkOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.filter - side effects produced by step 3 are visible when an exception occurs","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-4-9.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjAvMTUuNC40LjIwLTUtMS1zLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZpbHRlciAtIHRoaXNBcmcgbm90IHBhc3NlZCB0byBzdHJpY3QgY2FsbGJhY2tmbg0KICogQG9ubHlTdHJpY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgaW5uZXJUaGlzQ29ycmVjdCA9IGZhbHNlOw0KICANCiAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgInVzZSBzdHJpY3QiOw0KICAgIGlubmVyVGhpc0NvcnJlY3QgPSB0aGlzPT09dW5kZWZpbmVkOw0KICAgIHJldHVybiB0cnVlOw0KICB9DQoNCiAgWzFdLmZpbHRlcihjYWxsYmFja2ZuKTsNCiAgcmV0dXJuIGlubmVyVGhpc0NvcnJlY3Q7ICAgIA0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.filter - thisArg not passed to strict callbackfn","onlyStrict":"","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-5-1-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjAvMTUuNC40LjIwLTUtMS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5maWx0ZXIgLSB0aGlzQXJnIGlzIHBhc3NlZA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHRoaXMuXzE1XzRfNF8yMF81XzEgPSBmYWxzZTsNCiAgICAgICAgdmFyIF8xNV80XzRfMjBfNV8xID0gdHJ1ZTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiB0aGlzLl8xNV80XzRfMjBfNV8xOw0KICAgICAgICB9DQogICAgICAgIHZhciBzcmNBcnIgPSBbMV07DQogICAgICAgIHZhciByZXNBcnIgPSBzcmNBcnIuZmlsdGVyKGNhbGxiYWNrZm4pOw0KICAgICAgICByZXR1cm4gcmVzQXJyLmxlbmd0aCA9PT0gMDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.filter - thisArg is passed","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-5-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjAvMTUuNC40LjIwLTUtMTAuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZmlsdGVyIC0gQXJyYXkgT2JqZWN0IGNhbiBiZSB1c2VkIGFzIHRoaXNBcmcNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KICAgICAgICB2YXIgb2JqQXJyYXkgPSBuZXcgQXJyYXkoMTApOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgcmV0dXJuIHRoaXMgPT09IG9iakFycmF5Ow0KICAgICAgICB9DQoNCg0KICAgICAgICB2YXIgbmV3QXJyID0gWzExXS5maWx0ZXIoY2FsbGJhY2tmbiwgb2JqQXJyYXkpOw0KDQogICAgICAgIHJldHVybiBuZXdBcnJbMF0gPT09IDExICYmIGFjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.filter - Array Object can be used as thisArg","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-5-10.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjAvMTUuNC40LjIwLTUtMTEuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZmlsdGVyIC0gU3RyaW5nIE9iamVjdCBjYW4gYmUgdXNlZCBhcyB0aGlzQXJnDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCiAgICAgICAgdmFyIG9ialN0cmluZyA9IG5ldyBTdHJpbmcoKTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIHJldHVybiB0aGlzID09PSBvYmpTdHJpbmc7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgbmV3QXJyID0gWzExXS5maWx0ZXIoY2FsbGJhY2tmbiwgb2JqU3RyaW5nKTsNCg0KICAgICAgICByZXR1cm4gbmV3QXJyWzBdID09PSAxMSAmJiBhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.filter - String Object can be used as thisArg","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-5-11.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjAvMTUuNC40LjIwLTUtMTIuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZmlsdGVyIC0gQm9vbGVhbiBPYmplY3QgY2FuIGJlIHVzZWQgYXMgdGhpc0FyZw0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQogICAgICAgIHZhciBvYmpCb29sZWFuID0gbmV3IEJvb2xlYW4oKTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIHJldHVybiB0aGlzID09PSBvYmpCb29sZWFuOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG5ld0FyciA9IFsxMV0uZmlsdGVyKGNhbGxiYWNrZm4sIG9iakJvb2xlYW4pOw0KDQogICAgICAgIHJldHVybiBuZXdBcnJbMF0gPT09IDExICYmIGFjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.filter - Boolean Object can be used as thisArg","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-5-12.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjAvMTUuNC40LjIwLTUtMTMuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZmlsdGVyIC0gTnVtYmVyIE9iamVjdCBjYW4gYmUgdXNlZCBhcyB0aGlzQXJnDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCiAgICAgICAgdmFyIG9iak51bWJlciA9IG5ldyBOdW1iZXIoKTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIHJldHVybiB0aGlzID09PSBvYmpOdW1iZXI7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgbmV3QXJyID0gWzExXS5maWx0ZXIoY2FsbGJhY2tmbiwgb2JqTnVtYmVyKTsNCg0KICAgICAgICByZXR1cm4gbmV3QXJyWzBdID09PSAxMSAmJiBhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.filter - Number Object can be used as thisArg","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-5-13.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjAvMTUuNC40LjIwLTUtMTQuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZmlsdGVyIC0gdGhlIE1hdGggb2JqZWN0IGNhbiBiZSB1c2VkIGFzIHRoaXNBcmcNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgcmV0dXJuIHRoaXMgPT09IE1hdGg7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgbmV3QXJyID0gWzExXS5maWx0ZXIoY2FsbGJhY2tmbiwgTWF0aCk7DQoNCiAgICAgICAgcmV0dXJuIG5ld0FyclswXSA9PT0gMTEgJiYgYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.filter - the Math object can be used as thisArg","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-5-14.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjAvMTUuNC40LjIwLTUtMTUuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZmlsdGVyIC0gRGF0ZSBPYmplY3QgY2FuIGJlIHVzZWQgYXMgdGhpc0FyZw0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQoNCiAgICAgICAgdmFyIG9iakRhdGUgPSBuZXcgRGF0ZSgpOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgcmV0dXJuIHRoaXMgPT09IG9iakRhdGU7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgbmV3QXJyID0gWzExXS5maWx0ZXIoY2FsbGJhY2tmbiwgb2JqRGF0ZSk7DQoNCiAgICAgICAgcmV0dXJuIG5ld0FyclswXSA9PT0gMTEgJiYgYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.filter - Date Object can be used as thisArg","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-5-15.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjAvMTUuNC40LjIwLTUtMTYuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZmlsdGVyIC0gUmVnRXhwIE9iamVjdCBjYW4gYmUgdXNlZCBhcyB0aGlzQXJnDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICB2YXIgb2JqUmVnRXhwID0gbmV3IFJlZ0V4cCgpOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgcmV0dXJuIHRoaXMgPT09IG9ialJlZ0V4cDsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBuZXdBcnIgPSBbMTFdLmZpbHRlcihjYWxsYmFja2ZuLCBvYmpSZWdFeHApOw0KDQogICAgICAgIHJldHVybiBuZXdBcnJbMF0gPT09IDExICYmIGFjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.filter - RegExp Object can be used as thisArg","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-5-16.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjAvMTUuNC40LjIwLTUtMTcuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZmlsdGVyIC0gdGhlIEpTT04gb2JqZWN0IGNhbiBiZSB1c2VkIGFzIHRoaXNBcmcNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIHJldHVybiB0aGlzID09PSBKU09OOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG5ld0FyciA9IFsxMV0uZmlsdGVyKGNhbGxiYWNrZm4sIEpTT04pOw0KDQogICAgICAgIHJldHVybiBuZXdBcnJbMF0gPT09IDExICYmIGFjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.filter - the JSON object can be used as thisArg","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-5-17.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjAvMTUuNC40LjIwLTUtMTguanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZmlsdGVyIC0gRXJyb3IgT2JqZWN0IGNhbiBiZSB1c2VkIGFzIHRoaXNBcmcNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KICAgICAgICB2YXIgb2JqRXJyb3IgPSBuZXcgUmFuZ2VFcnJvcigpOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgcmV0dXJuIHRoaXMgPT09IG9iakVycm9yOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG5ld0FyciA9IFsxMV0uZmlsdGVyKGNhbGxiYWNrZm4sIG9iakVycm9yKTsNCg0KICAgICAgICByZXR1cm4gbmV3QXJyWzBdID09PSAxMSAmJiBhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.filter - Error Object can be used as thisArg","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-5-18.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjAvMTUuNC40LjIwLTUtMTkuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZmlsdGVyIC0gdGhlIEFyZ3VtZW50cyBvYmplY3QgY2FuIGJlIHVzZWQgYXMgdGhpc0FyZw0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQogICAgICAgIHZhciBhcmc7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICByZXR1cm4gdGhpcyA9PT0gYXJnOw0KICAgICAgICB9DQoNCiAgICAgICAgKGZ1bmN0aW9uIGZ1bigpIHsNCiAgICAgICAgICAgIGFyZyA9IGFyZ3VtZW50czsNCiAgICAgICAgfSgxLCAyLCAzKSk7DQoNCiAgICAgICAgdmFyIG5ld0FyciA9IFsxMV0uZmlsdGVyKGNhbGxiYWNrZm4sIGFyZyk7DQogICAgICAgIHJldHVybiBuZXdBcnJbMF0gPT09IDExICYmIGFjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.filter - the Arguments object can be used as thisArg","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-5-19.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjAvMTUuNC40LjIwLTUtMi5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5maWx0ZXIgLSB0aGlzQXJnIGlzIE9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciByZXMgPSBmYWxzZTsNCiAgdmFyIG8gPSBuZXcgT2JqZWN0KCk7DQogIG8ucmVzID0gdHJ1ZTsNCiAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKQ0KICB7DQogICAgcmV0dXJuIHRoaXMucmVzOw0KICB9DQoNCiAgdmFyIHNyY0FyciA9IFsxXTsNCiAgdmFyIHJlc0FyciA9IHNyY0Fyci5maWx0ZXIoY2FsbGJhY2tmbixvKTsNCiAgaWYoIHJlc0Fyci5sZW5ndGggPT09IDEpDQogICAgcmV0dXJuIHRydWU7DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.filter - thisArg is Object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-5-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjAvMTUuNC40LjIwLTUtMjEuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZmlsdGVyIC0gdGhlIGdsb2JhbCBvYmplY3QgY2FuIGJlIHVzZWQgYXMgdGhpc0FyZw0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICByZXR1cm4gdGhpcyA9PT0gZm5HbG9iYWxPYmplY3QoKTsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBuZXdBcnIgPSBbMTFdLmZpbHRlcihjYWxsYmFja2ZuLCBmbkdsb2JhbE9iamVjdCgpKTsNCg0KICAgICAgICByZXR1cm4gbmV3QXJyWzBdID09PSAxMSAmJiBhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.filter - the global object can be used as thisArg","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-5-21.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjAvMTUuNC40LjIwLTUtMjIuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZmlsdGVyIC0gYm9vbGVhbiBwcmltaXRpdmUgY2FuIGJlIHVzZWQgYXMgdGhpc0FyZw0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICByZXR1cm4gdGhpcy52YWx1ZU9mKCkgPT09IGZhbHNlOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG5ld0FyciA9IFsxMV0uZmlsdGVyKGNhbGxiYWNrZm4sIGZhbHNlKTsNCg0KICAgICAgICByZXR1cm4gbmV3QXJyWzBdID09PSAxMSAmJiBhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.filter - boolean primitive can be used as thisArg","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-5-22.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjAvMTUuNC40LjIwLTUtMjMuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZmlsdGVyIC0gbnVtYmVyIHByaW1pdGl2ZSBjYW4gYmUgdXNlZCBhcyB0aGlzQXJnDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIHJldHVybiB0aGlzLnZhbHVlT2YoKSA9PT0gMTAxOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG5ld0FyciA9IFsxMV0uZmlsdGVyKGNhbGxiYWNrZm4sIDEwMSk7DQoNCiAgICAgICAgcmV0dXJuIG5ld0FyclswXSA9PT0gMTEgJiYgYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.filter - number primitive can be used as thisArg","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-5-23.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjAvMTUuNC40LjIwLTUtMjQuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZmlsdGVyIC0gc3RyaW5nIHByaW1pdGl2ZSBjYW4gYmUgdXNlZCBhcyB0aGlzQXJnDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIHJldHVybiB0aGlzLnZhbHVlT2YoKSA9PT0gImFiYyI7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgbmV3QXJyID0gWzExXS5maWx0ZXIoY2FsbGJhY2tmbiwgImFiYyIpOw0KDQogICAgICAgIHJldHVybiBuZXdBcnJbMF0gPT09IDExICYmIGFjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.filter - string primitive can be used as thisArg","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-5-24.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjAvMTUuNC40LjIwLTUtMjcuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZmlsdGVyIC0gQXJyYXkuaXNBcnJheShhcmcpIHJldHVybnMgdHJ1ZSB3aGVuIGFyZyBpcyB0aGUgcmV0dXJuZWQgYXJyYXkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBuZXdBcnIgPSBbMTFdLmZpbHRlcihmdW5jdGlvbiAoKSB7IH0pOw0KDQogICAgICAgIHJldHVybiBBcnJheS5pc0FycmF5KG5ld0Fycik7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.filter - Array.isArray(arg) returns true when arg is the returned array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-5-27.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjAvMTUuNC40LjIwLTUtMjguanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZmlsdGVyIC0gdGhlIHJldHVybmVkIGFycmF5IGlzIGluc3RhbmNlb2YgQXJyYXkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBuZXdBcnIgPSBbMTFdLmZpbHRlcihmdW5jdGlvbiAoKSB7IH0pOw0KDQogICAgICAgIHJldHVybiBuZXdBcnIgaW5zdGFuY2VvZiBBcnJheTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.filter - the returned array is instanceof Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-5-28.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjAvMTUuNC40LjIwLTUtMjkuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZmlsdGVyIC0gcmV0dXJucyBhbiBhcnJheSB3aG9zZSBsZW5ndGggaXMgMA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG5ld0FyciA9IFsxMV0uZmlsdGVyKGZ1bmN0aW9uICgpIHsgfSk7DQoNCiAgICAgICAgcmV0dXJuIG5ld0Fyci5sZW5ndGggPT09IDA7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.filter - returns an array whose length is 0","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-5-29.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjAvMTUuNC40LjIwLTUtMy5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5maWx0ZXIgLSB0aGlzQXJnIGlzIEFycmF5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIHJlcyA9IGZhbHNlOw0KICB2YXIgYSA9IG5ldyBBcnJheSgpOw0KICBhLnJlcyA9IHRydWU7DQogIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikNCiAgew0KICAgIHJldHVybiB0aGlzLnJlczsNCiAgfQ0KDQogIHZhciBzcmNBcnIgPSBbMV07DQogIHZhciByZXNBcnIgPSBzcmNBcnIuZmlsdGVyKGNhbGxiYWNrZm4sYSk7DQogIGlmKCByZXNBcnIubGVuZ3RoID09PSAxKQ0KICAgIHJldHVybiB0cnVlOw0KDQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.filter - thisArg is Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-5-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjAvMTUuNC40LjIwLTUtMzAuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZmlsdGVyIC0gdGhpc0FyZyBub3QgcGFzc2VkDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgZnVuY3Rpb24gaW5uZXJPYmooKSB7DQogICAgICAgICAgICB0aGlzLl8xNV80XzRfMjBfNV8zMCA9IHRydWU7DQogICAgICAgICAgICB2YXIgXzE1XzRfNF8yMF81XzMwID0gZmFsc2U7DQogICAgICAgICAgICANCiAgICAgICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLl8xNV80XzRfMjBfNV8zMDsNCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIHZhciBzcmNBcnIgPSBbMV07DQogICAgICAgICAgICB2YXIgcmVzQXJyID0gc3JjQXJyLmZpbHRlcihjYWxsYmFja2ZuKTsNCiAgICAgICAgICAgIHRoaXMucmV0VmFsID0gcmVzQXJyLmxlbmd0aCA9PT0gMDsNCiAgICAgICAgfQ0KICAgICAgICByZXR1cm4gbmV3IGlubmVyT2JqKCkucmV0VmFsOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.filter - thisArg not passed","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-5-30.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjAvMTUuNC40LjIwLTUtNC5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5maWx0ZXIgLSB0aGlzQXJnIGlzIG9iamVjdCBmcm9tIG9iamVjdCB0ZW1wbGF0ZShwcm90b3R5cGUpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIHJlcyA9IGZhbHNlOw0KICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopDQogIHsNCiAgICByZXR1cm4gdGhpcy5yZXM7DQogIH0NCiAgDQogIGZ1bmN0aW9uIGZvbygpe30NCiAgZm9vLnByb3RvdHlwZS5yZXMgPSB0cnVlOw0KICB2YXIgZiA9IG5ldyBmb28oKTsNCg0KICB2YXIgc3JjQXJyID0gWzFdOw0KICB2YXIgcmVzQXJyID0gc3JjQXJyLmZpbHRlcihjYWxsYmFja2ZuLGYpOw0KICBpZiggcmVzQXJyLmxlbmd0aCA9PT0gMSkNCiAgICByZXR1cm4gdHJ1ZTsgICAgDQoNCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.filter - thisArg is object from object template(prototype)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-5-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjAvMTUuNC40LjIwLTUtNS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5maWx0ZXIgLSB0aGlzQXJnIGlzIG9iamVjdCBmcm9tIG9iamVjdCB0ZW1wbGF0ZQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciByZXMgPSBmYWxzZTsNCiAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKQ0KICB7DQogICAgcmV0dXJuIHRoaXMucmVzOw0KICB9DQoNCiAgZnVuY3Rpb24gZm9vKCl7fQ0KICB2YXIgZiA9IG5ldyBmb28oKTsNCiAgZi5yZXMgPSB0cnVlOw0KICANCiAgdmFyIHNyY0FyciA9IFsxXTsNCiAgdmFyIHJlc0FyciA9IHNyY0Fyci5maWx0ZXIoY2FsbGJhY2tmbixmKTsNCiAgaWYoIHJlc0Fyci5sZW5ndGggPT09IDEpDQogICAgcmV0dXJuIHRydWU7ICAgIA0KDQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.filter - thisArg is object from object template","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-5-5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjAvMTUuNC40LjIwLTUtNi5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5maWx0ZXIgLSB0aGlzQXJnIGlzIGZ1bmN0aW9uDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIHJlcyA9IGZhbHNlOw0KICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopDQogIHsNCiAgICByZXR1cm4gdGhpcy5yZXM7DQogIH0NCg0KICBmdW5jdGlvbiBmb28oKXt9DQogIGZvby5yZXMgPSB0cnVlOw0KICANCiAgdmFyIHNyY0FyciA9IFsxXTsNCiAgdmFyIHJlc0FyciA9IHNyY0Fyci5maWx0ZXIoY2FsbGJhY2tmbixmb28pOw0KICBpZiggcmVzQXJyLmxlbmd0aCA9PT0gMSkNCiAgICByZXR1cm4gdHJ1ZTsgICAgDQoNCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.filter - thisArg is function","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-5-6.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjAvMTUuNC40LjIwLTUtNy5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5maWx0ZXIgLSBidWlsdC1pbiBmdW5jdGlvbnMgY2FuIGJlIHVzZWQgYXMgdGhpc0FyZw0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICByZXR1cm4gdGhpcyA9PT0gZXZhbDsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBuZXdBcnIgPSBbMTFdLmZpbHRlcihjYWxsYmFja2ZuLCBldmFsKTsNCg0KICAgICAgICByZXR1cm4gbmV3QXJyWzBdID09PSAxMSAmJiBhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.filter - built-in functions can be used as thisArg","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-5-7.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjAvMTUuNC40LjIwLTUtOS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5maWx0ZXIgLSBGdW5jdGlvbiBPYmplY3QgY2FuIGJlIHVzZWQgYXMgdGhpc0FyZw0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQogICAgICAgIHZhciBvYmpGdW5jdGlvbiA9IGZ1bmN0aW9uICgpIHsgfTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIHJldHVybiB0aGlzID09PSBvYmpGdW5jdGlvbjsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBuZXdBcnIgPSBbMTFdLmZpbHRlcihjYWxsYmFja2ZuLCBvYmpGdW5jdGlvbik7DQoNCiAgICAgICAgcmV0dXJuIG5ld0FyclswXSA9PT0gMTEgJiYgYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.filter - Function Object can be used as thisArg","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-5-9.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjAvMTUuNC40LjIwLTYtMS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5maWx0ZXIgcmV0dXJucyBhbiBlbXB0eSBhcnJheSBpZiAnbGVuZ3RoJyBpcyAwIChlbXB0eSBhcnJheSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICBmdW5jdGlvbiBjYigpe30NCiAgdmFyIGEgPSBbXS5maWx0ZXIoY2IpOw0KICBpZiAoQXJyYXkuaXNBcnJheShhKSAmJg0KICAgICAgYS5sZW5ndGggPT09IDApIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.filter returns an empty array if 'length' is 0 (empty array)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-6-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjAvMTUuNC40LjIwLTYtMi5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5maWx0ZXIgcmV0dXJucyBhbiBlbXB0eSBhcnJheSBpZiAnbGVuZ3RoJyBpcyAwIChzdWJjbGFzc2VkIEFycmF5LCBsZW5ndGggb3ZlcnJpZGRlbiB0byBudWxsICh0eXBlIGNvbnZlcnNpb24pKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIGZvby5wcm90b3R5cGUgPSBuZXcgQXJyYXkoMSwgMiwgMyk7DQogIGZ1bmN0aW9uIGZvbygpIHt9DQogIHZhciBmID0gbmV3IGZvbygpOw0KICBmLmxlbmd0aCA9IG51bGw7DQogIA0KICBmdW5jdGlvbiBjYigpe30NCiAgdmFyIGEgPSBmLmZpbHRlcihjYik7DQogIA0KICBpZiAoQXJyYXkuaXNBcnJheShhKSAmJg0KICAgICAgYS5sZW5ndGggPT09IDApIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.filter returns an empty array if 'length' is 0 (subclassed Array, length overridden to null (type conversion))","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-6-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjAvMTUuNC40LjIwLTYtMy5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5maWx0ZXIgcmV0dXJucyBhbiBlbXB0eSBhcnJheSBpZiAnbGVuZ3RoJyBpcyAwIChzdWJjbGFzc2VkIEFycmF5LCBsZW5ndGggb3ZlcnJpZGRlbiB0byBmYWxzZSAodHlwZSBjb252ZXJzaW9uKSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICBmb28ucHJvdG90eXBlID0gbmV3IEFycmF5KDEsIDIsIDMpOw0KICBmdW5jdGlvbiBmb28oKSB7fQ0KICB2YXIgZiA9IG5ldyBmb28oKTsNCiAgZi5sZW5ndGggPSBmYWxzZTsNCiAgDQogIGZ1bmN0aW9uIGNiKCl7fQ0KICB2YXIgYSA9IGYuZmlsdGVyKGNiKTsNCiAgDQogIGlmIChBcnJheS5pc0FycmF5KGEpICYmDQogICAgICBhLmxlbmd0aCA9PT0gMCkgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.filter returns an empty array if 'length' is 0 (subclassed Array, length overridden to false (type conversion))","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-6-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjAvMTUuNC40LjIwLTYtNC5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5maWx0ZXIgcmV0dXJucyBhbiBlbXB0eSBhcnJheSBpZiAnbGVuZ3RoJyBpcyAwIChzdWJjbGFzc2VkIEFycmF5LCBsZW5ndGggb3ZlcnJpZGRlbiB0byAwICh0eXBlIGNvbnZlcnNpb24pKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIGZvby5wcm90b3R5cGUgPSBuZXcgQXJyYXkoMSwgMiwgMyk7DQogIGZ1bmN0aW9uIGZvbygpIHt9DQogIHZhciBmID0gbmV3IGZvbygpOw0KICBmLmxlbmd0aCA9IDA7DQogIA0KICBmdW5jdGlvbiBjYigpe30NCiAgdmFyIGEgPSBmLmZpbHRlcihjYik7DQogIA0KICBpZiAoQXJyYXkuaXNBcnJheShhKSAmJg0KICAgICAgYS5sZW5ndGggPT09IDApIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.filter returns an empty array if 'length' is 0 (subclassed Array, length overridden to 0 (type conversion))","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-6-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjAvMTUuNC40LjIwLTYtNS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5maWx0ZXIgcmV0dXJucyBhbiBlbXB0eSBhcnJheSBpZiAnbGVuZ3RoJyBpcyAwIChzdWJjbGFzc2VkIEFycmF5LCBsZW5ndGggb3ZlcnJpZGRlbiB0byAnMCcgKHR5cGUgY29udmVyc2lvbikpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgZm9vLnByb3RvdHlwZSA9IG5ldyBBcnJheSgxLCAyLCAzKTsNCiAgZnVuY3Rpb24gZm9vKCkge30NCiAgdmFyIGYgPSBuZXcgZm9vKCk7DQogIGYubGVuZ3RoID0gJzAnOw0KICANCiAgZnVuY3Rpb24gY2IoKXt9DQogIHZhciBhID0gZi5maWx0ZXIoY2IpOw0KICANCiAgaWYgKEFycmF5LmlzQXJyYXkoYSkgJiYNCiAgICAgIGEubGVuZ3RoID09PSAwKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.filter returns an empty array if 'length' is 0 (subclassed Array, length overridden to '0' (type conversion))","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-6-5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjAvMTUuNC40LjIwLTYtNi5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5maWx0ZXIgcmV0dXJucyBhbiBlbXB0eSBhcnJheSBpZiAnbGVuZ3RoJyBpcyAwIChzdWJjbGFzc2VkIEFycmF5LCBsZW5ndGggb3ZlcnJpZGRlbiB3aXRoIG9iaiB3aXRoIHZhbHVlT2YpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgZm9vLnByb3RvdHlwZSA9IG5ldyBBcnJheSgxLCAyLCAzKTsNCiAgZnVuY3Rpb24gZm9vKCkge30NCiAgdmFyIGYgPSBuZXcgZm9vKCk7DQogIA0KICB2YXIgbyA9IHsgdmFsdWVPZjogZnVuY3Rpb24gKCkgeyByZXR1cm4gMDt9fTsNCiAgZi5sZW5ndGggPSBvOw0KICANCiAgZnVuY3Rpb24gY2IoKXt9DQogIHZhciBhID0gZi5maWx0ZXIoY2IpOw0KICANCiAgaWYgKEFycmF5LmlzQXJyYXkoYSkgJiYNCiAgICAgIGEubGVuZ3RoID09PSAwKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.filter returns an empty array if 'length' is 0 (subclassed Array, length overridden with obj with valueOf)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-6-6.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjAvMTUuNC40LjIwLTYtNy5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5maWx0ZXIgcmV0dXJucyBhbiBlbXB0eSBhcnJheSBpZiAnbGVuZ3RoJyBpcyAwIChzdWJjbGFzc2VkIEFycmF5LCBsZW5ndGggb3ZlcnJpZGRlbiB3aXRoIG9iaiB3L28gdmFsdWVPZiAodG9TdHJpbmcpKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIGZvby5wcm90b3R5cGUgPSBuZXcgQXJyYXkoMSwgMiwgMyk7DQogIGZ1bmN0aW9uIGZvbygpIHt9DQogIHZhciBmID0gbmV3IGZvbygpOw0KICANCiAgdmFyIG8gPSB7IHRvU3RyaW5nOiBmdW5jdGlvbiAoKSB7IHJldHVybiAnMCc7fX07DQogIGYubGVuZ3RoID0gbzsNCiAgDQogIC8vIG9iamVjdHMgaW5oZXJpdCB0aGUgZGVmYXVsdCB2YWx1ZU9mIG1ldGhvZCBvZiB0aGUgT2JqZWN0IG9iamVjdDsNCiAgLy8gdGhhdCBzaW1wbHkgcmV0dXJucyB0aGUgaXRzZWxmLiBTaW5jZSB0aGUgZGVmYXVsdCB2YWx1ZU9mKCkgbWV0aG9kDQogIC8vIGRvZXMgbm90IHJldHVybiBhIHByaW1pdGl2ZSB2YWx1ZSwgRVMgbmV4dCB0cmllcyB0byBjb252ZXJ0IHRoZSBvYmplY3QNCiAgLy8gdG8gYSBudW1iZXIgYnkgY2FsbGluZyBpdHMgdG9TdHJpbmcoKSBtZXRob2QgYW5kIGNvbnZlcnRpbmcgdGhlDQogIC8vIHJlc3VsdGluZyBzdHJpbmcgdG8gYSBudW1iZXIuDQoNCiAgZnVuY3Rpb24gY2IoKXt9DQogIHZhciBhID0gZi5maWx0ZXIoY2IpOw0KICANCiAgaWYgKEFycmF5LmlzQXJyYXkoYSkgJiYNCiAgICAgIGEubGVuZ3RoID09PSAwKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.filter returns an empty array if 'length' is 0 (subclassed Array, length overridden with obj w/o valueOf (toString))","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-6-7.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjAvMTUuNC40LjIwLTYtOC5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5maWx0ZXIgcmV0dXJucyBhbiBlbXB0eSBhcnJheSBpZiAnbGVuZ3RoJyBpcyAwIChzdWJjbGFzc2VkIEFycmF5LCBsZW5ndGggb3ZlcnJpZGRlbiB3aXRoIFtdDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgZm9vLnByb3RvdHlwZSA9IG5ldyBBcnJheSgxLCAyLCAzKTsNCiAgZnVuY3Rpb24gZm9vKCkge30NCiAgdmFyIGYgPSBuZXcgZm9vKCk7DQogIA0KICBmLmxlbmd0aCA9IFtdOw0KICANCiAgLy8gb2JqZWN0cyBpbmhlcml0IHRoZSBkZWZhdWx0IHZhbHVlT2YgbWV0aG9kIG9mIHRoZSBPYmplY3Qgb2JqZWN0Ow0KICAvLyB0aGF0IHNpbXBseSByZXR1cm5zIHRoZSBpdHNlbGYuIFNpbmNlIHRoZSBkZWZhdWx0IHZhbHVlT2YoKSBtZXRob2QNCiAgLy8gZG9lcyBub3QgcmV0dXJuIGEgcHJpbWl0aXZlIHZhbHVlLCBFUyBuZXh0IHRyaWVzIHRvIGNvbnZlcnQgdGhlIG9iamVjdA0KICAvLyB0byBhIG51bWJlciBieSBjYWxsaW5nIGl0cyB0b1N0cmluZygpIG1ldGhvZCBhbmQgY29udmVydGluZyB0aGUNCiAgLy8gcmVzdWx0aW5nIHN0cmluZyB0byBhIG51bWJlci4NCiAgLy8NCiAgLy8gVGhlIHRvU3RyaW5nKCApIG1ldGhvZCBvbiBBcnJheSBjb252ZXJ0cyB0aGUgYXJyYXkgZWxlbWVudHMgdG8gc3RyaW5ncywNCiAgLy8gdGhlbiByZXR1cm5zIHRoZSByZXN1bHQgb2YgY29uY2F0ZW5hdGluZyB0aGVzZSBzdHJpbmdzLCB3aXRoIGNvbW1hcyBpbg0KICAvLyBiZXR3ZWVuLiBBbiBhcnJheSB3aXRoIG5vIGVsZW1lbnRzIGNvbnZlcnRzIHRvIHRoZSBlbXB0eSBzdHJpbmcsIHdoaWNoDQogIC8vIGNvbnZlcnRzIHRvIHRoZSBudW1iZXIgMC4gSWYgYW4gYXJyYXkgaGFzIGEgc2luZ2xlIGVsZW1lbnQgdGhhdCBpcyBhDQogIC8vIG51bWJlciBuLCB0aGUgYXJyYXkgY29udmVydHMgdG8gYSBzdHJpbmcgcmVwcmVzZW50YXRpb24gb2Ygbiwgd2hpY2ggaXMNCiAgLy8gdGhlbiBjb252ZXJ0ZWQgYmFjayB0byBuIGl0c2VsZi4gSWYgYW4gYXJyYXkgY29udGFpbnMgbW9yZSB0aGFuIG9uZSBlbGVtZW50LA0KICAvLyBvciBpZiBpdHMgb25lIGVsZW1lbnQgaXMgbm90IGEgbnVtYmVyLCB0aGUgYXJyYXkgY29udmVydHMgdG8gTmFOLg0KDQogIGZ1bmN0aW9uIGNiKCl7fQ0KICB2YXIgYSA9IGYuZmlsdGVyKGNiKTsNCiAgDQogIGlmIChBcnJheS5pc0FycmF5KGEpICYmDQogICAgICBhLmxlbmd0aCA9PT0gMCkgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.filter returns an empty array if 'length' is 0 (subclassed Array, length overridden with []","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-6-8.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjAvMTUuNC40LjIwLTktMS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5maWx0ZXIgZG9lc24ndCBjb25zaWRlciBuZXcgZWxlbWVudHMgYWRkZWQgdG8gYXJyYXkgYWZ0ZXIgaXQgaXMgY2FsbGVkDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHNyY0FyclsyXSA9IDM7DQogICAgICAgICAgICBzcmNBcnJbNV0gPSA2Ow0KICAgICAgICAgICAgcmV0dXJuIHRydWU7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgc3JjQXJyID0gWzEsIDIsICwgNCwgNV07DQogICAgICAgIHZhciByZXNBcnIgPSBzcmNBcnIuZmlsdGVyKGNhbGxiYWNrZm4pOw0KICAgICAgICByZXR1cm4gcmVzQXJyLmxlbmd0aCA9PT0gNTsNCg0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.filter doesn't consider new elements added to array after it is called","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjAvMTUuNC40LjIwLTktMi5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5maWx0ZXIgY29uc2lkZXJzIG5ldyB2YWx1ZSBvZiBlbGVtZW50cyBpbiBhcnJheSBhZnRlciBpdCBpcyBjYWxsZWQNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgeyANCiANCiAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKQ0KICB7ICAgIA0KICAgIHNyY0FyclsyXSA9IC0xOw0KICAgIHNyY0Fycls0XSA9IC0xOw0KICAgIGlmKHZhbCA+IDApDQogICAgICByZXR1cm4gdHJ1ZTsNCiAgICBlbHNlDQogICAgICByZXR1cm4gZmFsc2U7DQogIH0NCg0KICB2YXIgc3JjQXJyID0gWzEsMiwzLDQsNV07DQogIHZhciByZXNBcnIgPSBzcmNBcnIuZmlsdGVyKGNhbGxiYWNrZm4pOw0KICBpZihyZXNBcnIubGVuZ3RoID09PSAzICYmIHJlc0FyclswXSA9PT0gMSAmJiByZXNBcnJbMl0gPT09IDQpDQogICAgICByZXR1cm4gdHJ1ZTsgIA0KICANCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.filter considers new value of elements in array after it is called","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjAvMTUuNC40LjIwLTktMy5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5maWx0ZXIgZG9lc24ndCB2aXNpdCBkZWxldGVkIGVsZW1lbnRzIGluIGFycmF5IGFmdGVyIHRoZSBjYWxsDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsgDQogDQogIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikNCiAgew0KICAgIGRlbGV0ZSBzcmNBcnJbMl07DQogICAgZGVsZXRlIHNyY0Fycls0XTsNCiAgICBpZih2YWwgPiAwKQ0KICAgICAgcmV0dXJuIHRydWU7DQogICAgZWxzZQ0KICAgICAgcmV0dXJuIGZhbHNlOw0KICAgfQ0KDQogIHZhciBzcmNBcnIgPSBbMSwyLDMsNCw1XTsNCiAgdmFyIHJlc0FyciA9IHNyY0Fyci5maWx0ZXIoY2FsbGJhY2tmbik7DQogIGlmKHJlc0Fyci5sZW5ndGggPT09IDMgJiYgcmVzQXJyWzBdID09PSAxICYmIHJlc0FyclsyXSA9PT0gNCApICAgIC8vIHR3byBlbGVtZW50cyBkZWxldGVkDQogICAgICByZXR1cm4gdHJ1ZTsgIA0KICANCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.filter doesn't visit deleted elements in array after the call","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjAvMTUuNC40LjIwLTktNC5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5maWx0ZXIgZG9lc24ndCB2aXNpdCBkZWxldGVkIGVsZW1lbnRzIHdoZW4gQXJyYXkubGVuZ3RoIGlzIGRlY3JlYXNlZA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7IA0KIA0KICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopDQogIHsNCiAgICBzcmNBcnIubGVuZ3RoID0gMjsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KDQogIHZhciBzcmNBcnIgPSBbMSwyLDMsNCw2XTsNCiAgdmFyIHJlc0FyciA9IHNyY0Fyci5maWx0ZXIoY2FsbGJhY2tmbik7DQogIGlmKHJlc0Fyci5sZW5ndGggPT09IDIgKQ0KICAgICAgcmV0dXJuIHRydWU7ICANCiAgDQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.filter doesn't visit deleted elements when Array.length is decreased","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjAvMTUuNC40LjIwLTktNS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5maWx0ZXIgZG9lc24ndCBjb25zaWRlciBuZXdseSBhZGRlZCBlbGVtZW50cyBpbiBzcGFyc2UgYXJyYXkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgeyANCiANCiAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKQ0KICB7DQogICAgc3JjQXJyWzEwMDBdID0gMzsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KDQogIHZhciBzcmNBcnIgPSBuZXcgQXJyYXkoMTApOw0KICBzcmNBcnJbMV0gPSAxOw0KICBzcmNBcnJbMl0gPSAyOw0KICB2YXIgcmVzQXJyID0gc3JjQXJyLmZpbHRlcihjYWxsYmFja2ZuKTsNCiAgaWYoIHJlc0Fyci5sZW5ndGggPT09IDIpICAgIA0KICAgICAgcmV0dXJuIHRydWU7ICANCiAgDQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.filter doesn't consider newly added elements in sparse array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjAvMTUuNC40LjIwLTktNi5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5maWx0ZXIgdmlzaXRzIGRlbGV0ZWQgZWxlbWVudCBpbiBhcnJheSBhZnRlciB0aGUgY2FsbCB3aGVuIHNhbWUgaW5kZXggaXMgYWxzbyBwcmVzZW50IGluIHByb3RvdHlwZQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7IA0KIA0KICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopDQogIHsNCiAgICBkZWxldGUgc3JjQXJyWzJdOw0KICAgIGRlbGV0ZSBzcmNBcnJbNF07DQogICAgaWYodmFsID4gMCkNCiAgICAgIHJldHVybiB0cnVlOw0KICAgIGVsc2UNCiAgICAgIHJldHVybiBmYWxzZTsNCiAgIH0NCg0KICBBcnJheS5wcm90b3R5cGVbNF0gPSA1Ow0KICB2YXIgc3JjQXJyID0gWzEsMiwzLDQsNV07DQogIHZhciByZXNBcnIgPSBzcmNBcnIuZmlsdGVyKGNhbGxiYWNrZm4pOw0KICBkZWxldGUgQXJyYXkucHJvdG90eXBlWzRdOw0KICBpZihyZXNBcnIubGVuZ3RoID09PSA0ICYmIHJlc0FyclswXSA9PT0gMSAmJiByZXNBcnJbM10gPT0gNSkgICAgLy8gb25seSBvbmUgZWxlbWVudCBkZWxldGVkDQogICAgICByZXR1cm4gdHJ1ZTsgIA0KICANCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.filter visits deleted element in array after the call when same index is also present in prototype","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-6.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjAvMTUuNC40LjIwLTktNy5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5maWx0ZXIgc3RvcHMgY2FsbGluZyBjYWxsYmFja2ZuIG9uY2UgdGhlIGFycmF5IGlzIGRlbGV0ZWQgZHVyaW5nIHRoZSBjYWxsDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG8gPSBuZXcgT2JqZWN0KCk7DQogICAgICAgIG8uc3JjQXJyID0gWzEsIDIsIDMsIDQsIDVdOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgZGVsZXRlIG8uc3JjQXJyOw0KICAgICAgICAgICAgaWYgKHZhbCA+IDApDQogICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7DQogICAgICAgICAgICBlbHNlDQogICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIHJlc0FyciA9IG8uc3JjQXJyLmZpbHRlcihjYWxsYmFja2ZuKTsNCiAgICAgICAgcmV0dXJuIHJlc0Fyci5sZW5ndGggPT09IDUgJiYgdHlwZW9mIG8uc3JjQXJyID09PSAidW5kZWZpbmVkIjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.filter stops calling callbackfn once the array is deleted during the call","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-7.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjAvMTUuNC40LjIwLTktOC5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5maWx0ZXIgLSBubyBvYnNlcnZhYmxlIGVmZmVjdHMgb2NjdXIgaWYgbGVuIGlzIDANCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgcmV0dXJuIHZhbCA+IDEwOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgMDogMTEsIDE6IDEyLCBsZW5ndGg6IDAgfTsNCg0KICAgICAgICB2YXIgbmV3QXJyID0gQXJyYXkucHJvdG90eXBlLmZpbHRlci5jYWxsKG9iaiwgY2FsbGJhY2tmbik7DQoNCiAgICAgICAgcmV0dXJuIGFjY2Vzc2VkID09PSBmYWxzZSAmJiBvYmoubGVuZ3RoID09PSAwICYmIG5ld0Fyci5sZW5ndGggPT09IDA7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.filter - no observable effects occur if len is 0","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-8.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjAvMTUuNC40LjIwLTktOS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5maWx0ZXIgLSBtb2RpZmljYXRpb25zIHRvIGxlbmd0aCBkb24ndCBjaGFuZ2UgbnVtYmVyIG9mIGl0ZXJhdGlvbnMNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBjYWxsZWQgPSAwOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgY2FsbGVkKys7DQogICAgICAgICAgICByZXR1cm4gdHJ1ZTsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSB7IDE6IDEyLCAyOiA5LCBsZW5ndGg6IDIgfTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiMCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIG9iai5sZW5ndGggPSAzOw0KICAgICAgICAgICAgICAgIHJldHVybiAxMTsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIG5ld0FyciA9IEFycmF5LnByb3RvdHlwZS5maWx0ZXIuY2FsbChvYmosIGNhbGxiYWNrZm4pOw0KDQogICAgICAgIHJldHVybiBuZXdBcnIubGVuZ3RoID09PSAyICYmIDIgPT09IGNhbGxlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.filter - modifications to length don't change number of iterations","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-9.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjAvMTUuNC40LjIwLTktYi0xLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZpbHRlciAtIGNhbGxiYWNrZm4gbm90IGNhbGxlZCBmb3IgaW5kZXhlcyBuZXZlciBiZWVuIGFzc2lnbmVkIHZhbHVlcw0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7IA0KIA0KICB2YXIgY2FsbENudCA9IDA7DQogIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikNCiAgew0KICAgIGNhbGxDbnQrKzsNCiAgICByZXR1cm4gZmFsc2U7DQogIH0NCg0KICB2YXIgc3JjQXJyID0gbmV3IEFycmF5KDEwKTsNCiAgc3JjQXJyWzFdID0gdW5kZWZpbmVkOyAvL2V4cGxpY2l0bHkgYXNzaWduaW5nIGEgdmFsdWUNCiAgdmFyIHJlc0FyciA9IHNyY0Fyci5maWx0ZXIoY2FsbGJhY2tmbik7DQogIGlmKCByZXNBcnIubGVuZ3RoID09PSAwICYmIGNhbGxDbnQgPT09IDEpDQogICAgICByZXR1cm4gdHJ1ZTsgICAgDQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.filter - callbackfn not called for indexes never been assigned values","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-b-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjAvMTUuNC40LjIwLTktYi0xMC5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5maWx0ZXIgLSBkZWxldGluZyBwcm9wZXJ0eSBvZiBwcm90b3R5cGUgY2F1c2VzIHByb3RvdHlwZSBpbmRleCBwcm9wZXJ0eSBub3QgdG8gYmUgdmlzaXRlZCBvbiBhbiBBcnJheS1saWtlIE9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gdHJ1ZTsNCiAgICAgICAgfQ0KICAgICAgICB2YXIgb2JqID0geyAyOiAyLCBsZW5ndGg6IDIwIH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgIjAiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICBkZWxldGUgT2JqZWN0LnByb3RvdHlwZVsxXTsNCiAgICAgICAgICAgICAgICByZXR1cm4gMDsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5wcm90b3R5cGVbMV0gPSAxOw0KICAgICAgICAgICAgdmFyIG5ld0FyciA9IEFycmF5LnByb3RvdHlwZS5maWx0ZXIuY2FsbChvYmosIGNhbGxiYWNrZm4pOw0KDQogICAgICAgICAgICByZXR1cm4gbmV3QXJyLmxlbmd0aCA9PT0gMiAmJiBuZXdBcnJbMV0gIT09IDE7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgT2JqZWN0LnByb3RvdHlwZVsxXTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.filter - deleting property of prototype causes prototype index property not to be visited on an Array-like Object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-b-10.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjAvMTUuNC40LjIwLTktYi0xMS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5maWx0ZXIgLSBkZWxldGluZyBwcm9wZXJ0eSBvZiBwcm90b3R5cGUgY2F1c2VzIHByb3RvdHlwZSBpbmRleCBwcm9wZXJ0eSBub3QgdG8gYmUgdmlzaXRlZCBvbiBhbiBBcnJheQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gdHJ1ZTsNCiAgICAgICAgfQ0KICAgICAgICB2YXIgYXJyID0gWzAsICwgMl07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgIjAiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICBkZWxldGUgQXJyYXkucHJvdG90eXBlWzFdOw0KICAgICAgICAgICAgICAgIHJldHVybiAwOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlWzFdID0gMTsNCiAgICAgICAgICAgIHZhciBuZXdBcnIgPSBhcnIuZmlsdGVyKGNhbGxiYWNrZm4pOw0KICAgICAgICAgICAgcmV0dXJuIG5ld0Fyci5sZW5ndGggPT09IDIgJiYgbmV3QXJyWzFdICE9PSAxOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIEFycmF5LnByb3RvdHlwZVsxXTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.filter - deleting property of prototype causes prototype index property not to be visited on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-b-11.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjAvMTUuNC40LjIwLTktYi0xMi5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5maWx0ZXIgLSBkZWxldGluZyBvd24gcHJvcGVydHkgd2l0aCBwcm90b3R5cGUgcHJvcGVydHkgY2F1c2VzIHByb3RvdHlwZSBpbmRleCBwcm9wZXJ0eSB0byBiZSB2aXNpdGVkIG9uIGFuIEFycmF5LWxpa2Ugb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gdHJ1ZTsNCiAgICAgICAgfQ0KICAgICAgICB2YXIgb2JqID0geyAwOiAwLCAxOiAxMTEsIDI6IDIsIGxlbmd0aDogMTAgfTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiMCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIGRlbGV0ZSBvYmpbMV07DQogICAgICAgICAgICAgICAgcmV0dXJuIDA7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QucHJvdG90eXBlWzFdID0gMTsNCiAgICAgICAgICAgIHZhciBuZXdBcnIgPSBBcnJheS5wcm90b3R5cGUuZmlsdGVyLmNhbGwob2JqLCBjYWxsYmFja2ZuKTsNCg0KICAgICAgICAgICAgcmV0dXJuIG5ld0Fyci5sZW5ndGggPT09IDMgJiYgbmV3QXJyWzFdID09PSAxOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIE9iamVjdC5wcm90b3R5cGVbMV07DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.filter - deleting own property with prototype property causes prototype index property to be visited on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-b-12.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjAvMTUuNC40LjIwLTktYi0xMy5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5maWx0ZXIgLSBkZWxldGluZyBvd24gcHJvcGVydHkgd2l0aCBwcm90b3R5cGUgcHJvcGVydHkgY2F1c2VzIHByb3RvdHlwZSBpbmRleCBwcm9wZXJ0eSB0byBiZSB2aXNpdGVkIG9uIGFuIEFycmF5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gdmFsIDwgMyA/IHRydWUgOiBmYWxzZTsNCiAgICAgICAgfQ0KICAgICAgICB2YXIgYXJyID0gWzAsIDExMSwgMl07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgIjAiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICBkZWxldGUgYXJyWzFdOw0KICAgICAgICAgICAgICAgIHJldHVybiAwOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlWzFdID0gMTsNCiAgICAgICAgICAgIHZhciBuZXdBcnIgPSBhcnIuZmlsdGVyKGNhbGxiYWNrZm4pOw0KDQogICAgICAgICAgICByZXR1cm4gbmV3QXJyLmxlbmd0aCA9PT0gMyAmJiBuZXdBcnJbMV0gPT09IDE7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgQXJyYXkucHJvdG90eXBlWzFdOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.filter - deleting own property with prototype property causes prototype index property to be visited on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-b-13.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjAvMTUuNC40LjIwLTktYi0xNC5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5maWx0ZXIgLSBkZWNyZWFzaW5nIGxlbmd0aCBvZiBhcnJheSBjYXVzZXMgaW5kZXggcHJvcGVydHkgbm90IHRvIGJlIHZpc2l0ZWQNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIHRydWU7DQogICAgICAgIH0NCiAgICAgICAgdmFyIGFyciA9IFswLCAxLCAyLCAibGFzdCJdOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnIsICIwIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgYXJyLmxlbmd0aCA9IDM7DQogICAgICAgICAgICAgICAgcmV0dXJuIDA7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBuZXdBcnIgPSBhcnIuZmlsdGVyKGNhbGxiYWNrZm4pOw0KDQoNCiAgICAgICAgcmV0dXJuIG5ld0Fyci5sZW5ndGggPT09IDMgJiYgbmV3QXJyWzJdID09PSAyOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.filter - decreasing length of array causes index property not to be visited","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-b-14.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjAvMTUuNC40LjIwLTktYi0xNS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5maWx0ZXIgLSBkZWNyZWFzaW5nIGxlbmd0aCBvZiBhcnJheSB3aXRoIHByb3RvdHlwZSBwcm9wZXJ0eSBjYXVzZXMgcHJvdG90eXBlIGluZGV4IHByb3BlcnR5IHRvIGJlIHZpc2l0ZWQNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiB0cnVlOw0KICAgICAgICB9DQogICAgICAgIHZhciBhcnIgPSBbMCwgMSwgMl07DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShBcnJheS5wcm90b3R5cGUsICIyIiwgew0KICAgICAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gInByb3RvdHlwZSI7DQogICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyLCAiMSIsIHsNCiAgICAgICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICAgICAgYXJyLmxlbmd0aCA9IDI7DQogICAgICAgICAgICAgICAgICAgIHJldHVybiAxOw0KICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgdmFyIG5ld0FyciA9IGFyci5maWx0ZXIoY2FsbGJhY2tmbik7DQoNCiAgICAgICAgICAgIHJldHVybiBuZXdBcnIubGVuZ3RoID09PSAzICYmIG5ld0FyclsyXSA9PT0gInByb3RvdHlwZSI7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgQXJyYXkucHJvdG90eXBlWzJdOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.filter - decreasing length of array with prototype property causes prototype index property to be visited","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-b-15.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjAvMTUuNC40LjIwLTktYi0xNi5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5maWx0ZXIgLSBkZWNyZWFzaW5nIGxlbmd0aCBvZiBhcnJheSBkb2VzIG5vdCBkZWxldGUgbm9uLWNvbmZpZ3VyYWJsZSBwcm9wZXJ0aWVzDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiB0cnVlOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIGFyciA9IFswLCAxLCAyXTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyLCAiMiIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiAidW5jb25maWd1cmFibGUiOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgfSk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgIjEiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICBhcnIubGVuZ3RoID0gMjsNCiAgICAgICAgICAgICAgICByZXR1cm4gMTsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIG5ld0FyciA9IGFyci5maWx0ZXIoY2FsbGJhY2tmbik7DQoNCiAgICAgICAgcmV0dXJuIG5ld0Fyci5sZW5ndGggPT09IDMgJiYgbmV3QXJyWzJdID09PSAidW5jb25maWd1cmFibGUiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.filter - decreasing length of array does not delete non-configurable properties","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-b-16.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjAvMTUuNC40LjIwLTktYi0yLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZpbHRlciAtIGFkZGVkIHByb3BlcnRpZXMgaW4gc3RlcCAyIGFyZSB2aXNpYmxlIGhlcmUNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIHRydWU7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgImxlbmd0aCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIG9ialsyXSA9ICJsZW5ndGgiOw0KICAgICAgICAgICAgICAgIHJldHVybiAzOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgbmV3QXJyID0gQXJyYXkucHJvdG90eXBlLmZpbHRlci5jYWxsKG9iaiwgY2FsbGJhY2tmbik7DQoNCiAgICAgICAgcmV0dXJuIG5ld0Fyci5sZW5ndGggPT09IDEgJiYgbmV3QXJyWzBdID09PSAibGVuZ3RoIjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.filter - added properties in step 2 are visible here","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-b-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjAvMTUuNC40LjIwLTktYi0zLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZpbHRlciAtIGRlbGV0ZWQgcHJvcGVydGllcyBpbiBzdGVwIDIgYXJlIHZpc2libGUgaGVyZQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gdHJ1ZTsNCiAgICAgICAgfQ0KICAgICAgICB2YXIgb2JqID0geyAyOiA2Ljk5LCA4OiAxOSB9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJsZW5ndGgiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICBkZWxldGUgb2JqWzJdOw0KICAgICAgICAgICAgICAgIHJldHVybiAxMDsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIG5ld0FyciA9IEFycmF5LnByb3RvdHlwZS5maWx0ZXIuY2FsbChvYmosIGNhbGxiYWNrZm4pOw0KDQogICAgICAgIHJldHVybiBuZXdBcnIubGVuZ3RoID09PSAxICYmIG5ld0FyclswXSAhPT0gNi45OTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.filter - deleted properties in step 2 are visible here","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-b-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjAvMTUuNC40LjIwLTktYi00LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZpbHRlciAtIHByb3BlcnRpZXMgYWRkZWQgaW50byBvd24gb2JqZWN0IGFmdGVyIGN1cnJlbnQgcG9zaXRpb24gYXJlIHZpc2l0ZWQgb24gYW4gQXJyYXktbGlrZSBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIHRydWU7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0geyBsZW5ndGg6IDIgfTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiMCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICIxIiwgew0KICAgICAgICAgICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiA2Ljk5Ow0KICAgICAgICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgICAgICB9KTsNCiAgICAgICAgICAgICAgICByZXR1cm4gMDsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIG5ld0FyciA9IEFycmF5LnByb3RvdHlwZS5maWx0ZXIuY2FsbChvYmosIGNhbGxiYWNrZm4pOw0KDQogICAgICAgIHJldHVybiBuZXdBcnIubGVuZ3RoID09PSAyICYmIG5ld0FyclsxXSA9PT0gNi45OTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.filter - properties added into own object after current position are visited on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-b-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjAvMTUuNC40LjIwLTktYi01LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZpbHRlciAtIHByb3BlcnRpZXMgYWRkZWQgaW50byBvd24gb2JqZWN0IGFmdGVyIGN1cnJlbnQgcG9zaXRpb24gYXJlIHZpc2l0ZWQgb24gYW4gQXJyYXkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiB0cnVlOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIGFyciA9IFswLCAsIDJdOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnIsICIwIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgIjEiLCB7DQogICAgICAgICAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDYuOTk7DQogICAgICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgICAgIHJldHVybiAwOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgbmV3QXJyID0gYXJyLmZpbHRlcihjYWxsYmFja2ZuKTsNCg0KICAgICAgICByZXR1cm4gbmV3QXJyLmxlbmd0aCA9PT0gMyAmJiBuZXdBcnJbMV0gPT09IDYuOTk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.filter - properties added into own object after current position are visited on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-b-5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjAvMTUuNC40LjIwLTktYi02LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZpbHRlciAtIHByb3BlcnRpZXMgY2FuIGJlIGFkZGVkIHRvIHByb3RvdHlwZSBhZnRlciBjdXJyZW50IHBvc2l0aW9uIGFyZSB2aXNpdGVkIG9uIGFuIEFycmF5LWxpa2Ugb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gdHJ1ZTsNCiAgICAgICAgfQ0KICAgICAgICB2YXIgb2JqID0geyBsZW5ndGg6IDIgfTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgIjAiLCB7DQogICAgICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShPYmplY3QucHJvdG90eXBlLCAiMSIsIHsNCiAgICAgICAgICAgICAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiA2Ljk5Ow0KICAgICAgICAgICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgICAgICAgICB9KTsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDA7DQogICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICB2YXIgbmV3QXJyID0gQXJyYXkucHJvdG90eXBlLmZpbHRlci5jYWxsKG9iaiwgY2FsbGJhY2tmbik7DQoNCiAgICAgICAgICAgIHJldHVybiBuZXdBcnIubGVuZ3RoID09PSAyICYmIEFycmF5WzFdID09PSA2Ljk5Ow0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIE9iamVjdC5wcm90b3R5cGVbMV07DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.filter - properties can be added to prototype after current position are visited on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-b-6.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjAvMTUuNC40LjIwLTktYi03LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZpbHRlciAtIHByb3BlcnRpZXMgY2FuIGJlIGFkZGVkIHRvIHByb3RvdHlwZSBhZnRlciBjdXJyZW50IHBvc2l0aW9uIGFyZSB2aXNpdGVkIG9uIGFuIEFycmF5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gdHJ1ZTsNCiAgICAgICAgfQ0KICAgICAgICB2YXIgYXJyID0gWzAsICwgMl07DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnIsICIwIiwgew0KICAgICAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoQXJyYXkucHJvdG90eXBlLCAiMSIsIHsNCiAgICAgICAgICAgICAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiA2Ljk5Ow0KICAgICAgICAgICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgICAgICAgICB9KTsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDA7DQogICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICB2YXIgbmV3QXJyID0gYXJyLmZpbHRlcihjYWxsYmFja2ZuKTsNCg0KICAgICAgICAgICAgcmV0dXJuIG5ld0Fyci5sZW5ndGggPT09IDMgJiYgbmV3QXJyWzFdID09PSA2Ljk5Ow0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIEFycmF5LnByb3RvdHlwZVsxXTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.filter - properties can be added to prototype after current position are visited on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-b-7.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjAvMTUuNC40LjIwLTktYi04LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZpbHRlciAtIGRlbGV0aW5nIG93biBwcm9wZXJ0eSBjYXVzZXMgaW5kZXggcHJvcGVydHkgbm90IHRvIGJlIHZpc2l0ZWQgb24gYW4gQXJyYXktbGlrZSBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCiAgICAgICAgdmFyIG9iaiA9IHsgbGVuZ3RoOiAyIH07DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgbykgew0KICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgcmV0dXJuIHRydWU7DQogICAgICAgIH0NCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiMSIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiA2Ljk5Ow0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiMCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIGRlbGV0ZSBvYmpbMV07DQogICAgICAgICAgICAgICAgcmV0dXJuIDA7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBuZXdBcnIgPSBBcnJheS5wcm90b3R5cGUuZmlsdGVyLmNhbGwob2JqLCBjYWxsYmFja2ZuKTsNCg0KICAgICAgICByZXR1cm4gbmV3QXJyLmxlbmd0aCA9PT0gMSAmJiBuZXdBcnJbMF0gPT09IDA7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.filter - deleting own property causes index property not to be visited on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-b-8.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjAvMTUuNC40LjIwLTktYi05LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZpbHRlciAtIGRlbGV0aW5nIG93biBwcm9wZXJ0eSBjYXVzZXMgaW5kZXggcHJvcGVydHkgbm90IHRvIGJlIHZpc2l0ZWQgb24gYW4gQXJyYXkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIHRydWU7DQogICAgICAgIH0NCiAgICAgICAgdmFyIGFyciA9IFsxLCAyXTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyLCAiMSIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiAiNi45OSI7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnIsICIwIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgZGVsZXRlIGFyclsxXTsNCiAgICAgICAgICAgICAgICByZXR1cm4gMDsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIG5ld0FyciA9IGFyci5maWx0ZXIoY2FsbGJhY2tmbik7DQoNCiAgICAgICAgcmV0dXJuIG5ld0Fyci5sZW5ndGggPT09IDEgJiYgbmV3QXJyWzBdID09PSAwOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.filter - deleting own property causes index property not to be visited on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-b-9.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjAvMTUuNC40LjIwLTktYy1pLTEuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZmlsdGVyIC0gZWxlbWVudCB0byBiZSByZXRyaWV2ZWQgaXMgb3duIGRhdGEgcHJvcGVydHkgb24gYW4gQXJyYXktbGlrZSBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBrVmFsdWUgPSB7fTsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gKGlkeCA9PT0gNSkgJiYgKHZhbCA9PT0ga1ZhbHVlKTsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSB7IDU6IGtWYWx1ZSwgbGVuZ3RoOiAxMDAgfTsNCg0KICAgICAgICB2YXIgbmV3QXJyID0gQXJyYXkucHJvdG90eXBlLmZpbHRlci5jYWxsKG9iaiwgY2FsbGJhY2tmbik7DQoNCiAgICAgICAgcmV0dXJuIG5ld0Fyci5sZW5ndGggPT09IDEgJiYgbmV3QXJyWzBdID09PSBrVmFsdWU7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.filter - element to be retrieved is own data property on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-i-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjAvMTUuNC40LjIwLTktYy1pLTEwLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZpbHRlciAtIGVsZW1lbnQgdG8gYmUgcmV0cmlldmVkIGlzIG93biBhY2Nlc3NvciBwcm9wZXJ0eSBvbiBhbiBBcnJheQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gaWR4ID09PSAyICYmIHZhbCA9PT0gMTI7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgYXJyID0gW107DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgIjIiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gMTI7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KICAgICAgICB2YXIgbmV3QXJyID0gYXJyLmZpbHRlcihjYWxsYmFja2ZuKTsNCg0KICAgICAgICByZXR1cm4gbmV3QXJyLmxlbmd0aCA9PT0gMSAmJiBuZXdBcnJbMF0gPT09IDEyOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.filter - element to be retrieved is own accessor property on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-i-10.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjAvMTUuNC40LjIwLTktYy1pLTExLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZpbHRlciAtIGVsZW1lbnQgdG8gYmUgcmV0cmlldmVkIGlzIG93biBhY2Nlc3NvciBwcm9wZXJ0eSB0aGF0IG92ZXJyaWRlcyBhbiBpbmhlcml0ZWQgZGF0YSBwcm9wZXJ0eSBvbiBhbiBBcnJheS1saWtlIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gaWR4ID09PSAwICYmIHZhbCA9PT0gMTE7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgcHJvdG8gPSB7IDA6IDUsIDE6IDYgfTsNCg0KICAgICAgICB2YXIgQ29uID0gZnVuY3Rpb24gKCkgeyB9Ow0KICAgICAgICBDb24ucHJvdG90eXBlID0gcHJvdG87DQoNCiAgICAgICAgdmFyIGNoaWxkID0gbmV3IENvbigpOw0KICAgICAgICBjaGlsZC5sZW5ndGggPSAxMDsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoY2hpbGQsICIwIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIDExOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCiAgICAgICAgdmFyIG5ld0FyciA9IEFycmF5LnByb3RvdHlwZS5maWx0ZXIuY2FsbChjaGlsZCwgY2FsbGJhY2tmbik7DQoNCiAgICAgICAgcmV0dXJuIG5ld0Fyci5sZW5ndGggPT09IDEgJiYgbmV3QXJyWzBdID09PSAxMTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.filter - element to be retrieved is own accessor property that overrides an inherited data property on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-i-11.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjAvMTUuNC40LjIwLTktYy1pLTEyLmpzDQogKiBAZGVzY3JpcHRpb24gIEFycmF5LnByb3RvdHlwZS5maWx0ZXIgLSBlbGVtZW50IHRvIGJlIHJldHJpZXZlZCBpcyBvd24gYWNjZXNzb3IgcHJvcGVydHkgdGhhdCBvdmVycmlkZXMgYW4gaW5oZXJpdGVkIGRhdGEgcHJvcGVydHkgb24gYW4gQXJyYXkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiB2YWwgPT09IDExMSAmJiBpZHggPT09IDA7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgYXJyID0gW107DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBBcnJheS5wcm90b3R5cGVbMF0gPSAxMDsNCg0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgIjAiLCB7DQogICAgICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgIHJldHVybiAxMTE7DQogICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgdmFyIG5ld0FyciA9IGFyci5maWx0ZXIoY2FsbGJhY2tmbik7DQoNCiAgICAgICAgICAgIHJldHVybiBuZXdBcnIubGVuZ3RoID09PSAxICYmIG5ld0FyclswXSA9PT0gMTExOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIEFycmF5LnByb3RvdHlwZVswXTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.filter - element to be retrieved is own accessor property that overrides an inherited data property on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-i-12.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjAvMTUuNC40LjIwLTktYy1pLTEzLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZpbHRlciAtIGVsZW1lbnQgdG8gYmUgcmV0cmlldmVkIGlzIG93biBhY2Nlc3NvciBwcm9wZXJ0eSB0aGF0IG92ZXJyaWRlcyBhbiBpbmhlcml0ZWQgYWNjZXNzb3IgcHJvcGVydHkgb24gYW4gQXJyYXktbGlrZSBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiBpZHggPT09IDEgJiYgdmFsID09PSAxMjsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBwcm90byA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShwcm90bywgIjEiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gNjsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIENvbiA9IGZ1bmN0aW9uICgpIHsgfTsNCiAgICAgICAgQ29uLnByb3RvdHlwZSA9IHByb3RvOw0KDQogICAgICAgIHZhciBjaGlsZCA9IG5ldyBDb24oKTsNCiAgICAgICAgY2hpbGQubGVuZ3RoID0gMTA7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGNoaWxkLCAiMSIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiAxMjsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQogICAgICAgIHZhciBuZXdBcnIgPSBBcnJheS5wcm90b3R5cGUuZmlsdGVyLmNhbGwoY2hpbGQsIGNhbGxiYWNrZm4pOw0KDQogICAgICAgIHJldHVybiBuZXdBcnIubGVuZ3RoID09PSAxICYmIG5ld0FyclswXSA9PT0gMTI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.filter - element to be retrieved is own accessor property that overrides an inherited accessor property on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-i-13.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjAvMTUuNC40LjIwLTktYy1pLTE0LmpzDQogKiBAZGVzY3JpcHRpb24gIEFycmF5LnByb3RvdHlwZS5maWx0ZXIgLSBlbGVtZW50IHRvIGJlIHJldHJpZXZlZCBpcyBvd24gYWNjZXNzb3IgcHJvcGVydHkgdGhhdCBvdmVycmlkZXMgYW4gaW5oZXJpdGVkIGFjY2Vzc29yIHByb3BlcnR5IG9uIGFuIEFycmF5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiBpZHggPT09IDAgJiYgdmFsID09PSAxMTsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBhcnIgPSBbXTsNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShBcnJheS5wcm90b3R5cGUsICIwIiwgew0KICAgICAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gNTsNCiAgICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnIsICIwIiwgew0KICAgICAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gMTE7DQogICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgdmFyIG5ld0FyciA9IGFyci5maWx0ZXIoY2FsbGJhY2tmbik7DQoNCiAgICAgICAgICAgIHJldHVybiBuZXdBcnIubGVuZ3RoID09PSAxICYmIG5ld0FyclswXSA9PT0gMTE7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgQXJyYXkucHJvdG90eXBlWzBdOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.filter - element to be retrieved is own accessor property that overrides an inherited accessor property on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-i-14.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjAvMTUuNC40LjIwLTktYy1pLTE1LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZpbHRlciAtIGVsZW1lbnQgdG8gYmUgcmV0cmlldmVkIGlzIGluaGVyaXRlZCBhY2Nlc3NvciBwcm9wZXJ0eSBvbiBhbiBBcnJheS1saWtlIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gdmFsID09PSAxMSAmJiBpZHggPT09IDE7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgcHJvdG8gPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkocHJvdG8sICIxIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIDExOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgQ29uID0gZnVuY3Rpb24gKCkgeyB9Ow0KICAgICAgICBDb24ucHJvdG90eXBlID0gcHJvdG87DQoNCiAgICAgICAgdmFyIGNoaWxkID0gbmV3IENvbigpOw0KICAgICAgICBjaGlsZC5sZW5ndGggPSAyMDsNCiAgICAgICAgdmFyIG5ld0FyciA9IEFycmF5LnByb3RvdHlwZS5maWx0ZXIuY2FsbChjaGlsZCwgY2FsbGJhY2tmbik7DQoNCiAgICAgICAgcmV0dXJuIG5ld0Fyci5sZW5ndGggPT09IDEgJiYgbmV3QXJyWzBdID09PSAxMTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.filter - element to be retrieved is inherited accessor property on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-i-15.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjAvMTUuNC40LjIwLTktYy1pLTE2LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZpbHRlciAtIGVsZW1lbnQgdG8gYmUgcmV0cmlldmVkIGlzIGluaGVyaXRlZCBhY2Nlc3NvciBwcm9wZXJ0eSBvbiBhbiBBcnJheQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gaWR4ID09PSAwICYmIHZhbCA9PT0gMTE7DQogICAgICAgIH0NCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KEFycmF5LnByb3RvdHlwZSwgIjAiLCB7DQogICAgICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgIHJldHVybiAxMTsNCiAgICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICB2YXIgbmV3QXJyID0gWywgLCAsIF0uZmlsdGVyKGNhbGxiYWNrZm4pOw0KDQogICAgICAgICAgICByZXR1cm4gbmV3QXJyLmxlbmd0aCA9PT0gMSAmJiBuZXdBcnJbMF0gPT09IDExOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIEFycmF5LnByb3RvdHlwZVswXTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.filter - element to be retrieved is inherited accessor property on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-i-16.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjAvMTUuNC40LjIwLTktYy1pLTE3LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZpbHRlciAtIGVsZW1lbnQgdG8gYmUgcmV0cmlldmVkIGlzIG93biBhY2Nlc3NvciBwcm9wZXJ0eSB3aXRob3V0IGEgZ2V0IGZ1bmN0aW9uIG9uIGFuIEFycmF5LWxpa2Ugb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiB1bmRlZmluZWQgPT09IHZhbCAmJiBpZHggPT09IDE7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0geyBsZW5ndGg6IDIgfTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgIjEiLCB7DQogICAgICAgICAgICBzZXQ6IGZ1bmN0aW9uICgpIHsgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgbmV3QXJyID0gQXJyYXkucHJvdG90eXBlLmZpbHRlci5jYWxsKG9iaiwgY2FsbGJhY2tmbik7DQoNCiAgICAgICAgcmV0dXJuIG5ld0Fyci5sZW5ndGggPT09IDEgJiYgbmV3QXJyWzBdID09PSB1bmRlZmluZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.filter - element to be retrieved is own accessor property without a get function on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-i-17.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjAvMTUuNC40LjIwLTktYy1pLTE4LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZpbHRlciAtIGVsZW1lbnQgdG8gYmUgcmV0cmlldmVkIGlzIG93biBhY2Nlc3NvciBwcm9wZXJ0eSB3aXRob3V0IGEgZ2V0IGZ1bmN0aW9uIG9uIGFuIEFycmF5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiB1bmRlZmluZWQgPT09IHZhbCAmJiBpZHggPT09IDA7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgYXJyID0gW107DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgIjAiLCB7DQogICAgICAgICAgICBzZXQ6IGZ1bmN0aW9uICgpIHsgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgbmV3QXJyID0gYXJyLmZpbHRlcihjYWxsYmFja2ZuKTsNCg0KICAgICAgICByZXR1cm4gbmV3QXJyLmxlbmd0aCA9PT0gMSAmJiBuZXdBcnJbMF0gPT09IHVuZGVmaW5lZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.filter - element to be retrieved is own accessor property without a get function on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-i-18.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjAvMTUuNC40LjIwLTktYy1pLTE5LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZpbHRlciAtIGVsZW1lbnQgdG8gYmUgcmV0cmlldmVkIGlzIG93biBhY2Nlc3NvciBwcm9wZXJ0eSB3aXRob3V0IGEgZ2V0IGZ1bmN0aW9uIHRoYXQgb3ZlcnJpZGVzIGFuIGluaGVyaXRlZCBhY2Nlc3NvciBwcm9wZXJ0eSBvbiBhbiBBcnJheS1saWtlIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gdW5kZWZpbmVkID09PSB2YWwgJiYgaWR4ID09PSAxOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgbGVuZ3RoOiAyIH07DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICIxIiwgew0KICAgICAgICAgICAgc2V0OiBmdW5jdGlvbiAoKSB7IH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QucHJvdG90eXBlWzFdID0gMTA7DQogICAgICAgICAgICB2YXIgbmV3QXJyID0gQXJyYXkucHJvdG90eXBlLmZpbHRlci5jYWxsKG9iaiwgY2FsbGJhY2tmbik7DQoNCiAgICAgICAgICAgIHJldHVybiBuZXdBcnIubGVuZ3RoID09PSAxICYmIG5ld0FyclswXSA9PT0gdW5kZWZpbmVkOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIE9iamVjdC5wcm90b3R5cGVbMV07DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.filter - element to be retrieved is own accessor property without a get function that overrides an inherited accessor property on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-i-19.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjAvMTUuNC40LjIwLTktYy1pLTIuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZmlsdGVyIC0gZWxlbWVudCB0byBiZSByZXRyaWV2ZWQgaXMgb3duIGRhdGEgcHJvcGVydHkgb24gYW4gQXJyYXkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgaWYgKGlkeCA9PT0gMCkgew0KICAgICAgICAgICAgICAgIHJldHVybiB2YWwgPT09IDExOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG5ld0FyciA9IFsxMV0uZmlsdGVyKGNhbGxiYWNrZm4pOw0KDQogICAgICAgIHJldHVybiBuZXdBcnIubGVuZ3RoID09PSAxICYmIG5ld0FyclswXSA9PT0gMTE7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.filter - element to be retrieved is own data property on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-i-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjAvMTUuNC40LjIwLTktYy1pLTIwLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZpbHRlciAtIGVsZW1lbnQgdG8gYmUgcmV0cmlldmVkIGlzIG93biBhY2Nlc3NvciBwcm9wZXJ0eSB3aXRob3V0IGEgZ2V0IGZ1bmN0aW9uIHRoYXQgb3ZlcnJpZGVzIGFuIGluaGVyaXRlZCBhY2Nlc3NvciBwcm9wZXJ0eSBvbiBhbiBBcnJheQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gdW5kZWZpbmVkID09PSB2YWwgJiYgaWR4ID09PSAwOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIGFyciA9IFtdOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnIsICIwIiwgew0KICAgICAgICAgICAgc2V0OiBmdW5jdGlvbiAoKSB7IH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIEFycmF5LnByb3RvdHlwZVswXSA9IDEwMDsNCiAgICAgICAgICAgIHZhciBuZXdBcnIgPSBhcnIuZmlsdGVyKGNhbGxiYWNrZm4pOw0KDQogICAgICAgICAgICByZXR1cm4gbmV3QXJyLmxlbmd0aCA9PT0gMSAmJiBuZXdBcnJbMF0gPT09IHVuZGVmaW5lZDsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBBcnJheS5wcm90b3R5cGVbMF07DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.filter - element to be retrieved is own accessor property without a get function that overrides an inherited accessor property on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-i-20.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjAvMTUuNC40LjIwLTktYy1pLTIxLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZpbHRlciAtIGVsZW1lbnQgdG8gYmUgcmV0cmlldmVkIGlzIGluaGVyaXRlZCBhY2Nlc3NvciBwcm9wZXJ0eSB3aXRob3V0IGEgZ2V0IGZ1bmN0aW9uIG9uIGFuIEFycmF5LWxpa2Ugb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiB2YWwgPT09IHVuZGVmaW5lZCAmJiBpZHggPT09IDE7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgcHJvdG8gPSB7fTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHByb3RvLCAiMSIsIHsNCiAgICAgICAgICAgIHNldDogZnVuY3Rpb24gKCkgeyB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBDb24gPSBmdW5jdGlvbiAoKSB7IH07DQogICAgICAgIENvbi5wcm90b3R5cGUgPSBwcm90bzsNCg0KICAgICAgICB2YXIgY2hpbGQgPSBuZXcgQ29uKCk7DQogICAgICAgIGNoaWxkLmxlbmd0aCA9IDI7DQogICAgICAgIHZhciBuZXdBcnIgPSBBcnJheS5wcm90b3R5cGUuZmlsdGVyLmNhbGwoY2hpbGQsIGNhbGxiYWNrZm4pOw0KDQogICAgICAgIHJldHVybiBuZXdBcnIubGVuZ3RoID09PSAxICYmIG5ld0FyclswXSA9PT0gdW5kZWZpbmVkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.filter - element to be retrieved is inherited accessor property without a get function on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-i-21.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjAvMTUuNC40LjIwLTktYy1pLTIyLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZpbHRlciAtIGVsZW1lbnQgdG8gYmUgcmV0cmlldmVkIGlzIGluaGVyaXRlZCBhY2Nlc3NvciBwcm9wZXJ0eSB3aXRob3V0IGEgZ2V0IGZ1bmN0aW9uIG9uIGFuIEFycmF5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiB1bmRlZmluZWQgPT09IHZhbCAmJiBpZHggPT09IDA7DQogICAgICAgIH0NCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KEFycmF5LnByb3RvdHlwZSwgIjAiLCB7DQogICAgICAgICAgICAgICAgc2V0OiBmdW5jdGlvbiAoKSB7IH0sDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIHZhciBuZXdBcnIgPSBbLCBdLmZpbHRlcihjYWxsYmFja2ZuKTsNCg0KICAgICAgICAgICAgcmV0dXJuIG5ld0Fyci5sZW5ndGggPT09IDEgJiYgbmV3QXJyWzBdID09PSB1bmRlZmluZWQ7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgQXJyYXkucHJvdG90eXBlWzBdOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.filter - element to be retrieved is inherited accessor property without a get function on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-i-22.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjAvMTUuNC40LjIwLTktYy1pLTIzLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZpbHRlciAtIFRoaXMgb2JqZWN0IGlzIHRoZSBnbG9iYWwgb2JqZWN0IHdoaWNoIGNvbnRhaW5zIGluZGV4IHByb3BlcnR5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiBpZHggPT09IDAgJiYgdmFsID09PSAxMTsNCiAgICAgICAgfQ0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICB2YXIgb2xkTGVuID0gZm5HbG9iYWxPYmplY3QoKS5sZW5ndGg7DQogICAgICAgICAgICBmbkdsb2JhbE9iamVjdCgpWzBdID0gMTE7DQogICAgICAgICAgICBmbkdsb2JhbE9iamVjdCgpLmxlbmd0aCA9IDE7DQogICAgICAgICAgICB2YXIgbmV3QXJyID0gQXJyYXkucHJvdG90eXBlLmZpbHRlci5jYWxsKGZuR2xvYmFsT2JqZWN0KCksIGNhbGxiYWNrZm4pOw0KICAgICAgICAgICAgcmV0dXJuIG5ld0Fyci5sZW5ndGggPT09IDEgJiYgbmV3QXJyWzBdID09PSAxMTsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBmbkdsb2JhbE9iamVjdCgpWzBdOw0KICAgICAgICAgICAgZm5HbG9iYWxPYmplY3QoKS5sZW5ndGggPSBvbGRMZW47DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.filter - This object is the global object which contains index property","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-i-23.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjAvMTUuNC40LjIwLTktYy1pLTI1LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZpbHRlciAtIFRoaXMgb2JqZWN0IGlzIHRoZSBBcmd1bWVudHMgb2JqZWN0IHdoaWNoIGltcGxlbWVudHMgaXRzIG93biBwcm9wZXJ0eSBnZXQgbWV0aG9kIChudW1iZXIgb2YgYXJndW1lbnRzIGlzIGxlc3MgdGhhbiBudW1iZXIgb2YgcGFyYW1ldGVycykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiB2YWwgPT09IDExICYmIGlkeCA9PT0gMDsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBmdW5jID0gZnVuY3Rpb24gKGEsIGIpIHsNCiAgICAgICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUuZmlsdGVyLmNhbGwoYXJndW1lbnRzLCBjYWxsYmFja2ZuKTsNCiAgICAgICAgfTsNCg0KICAgICAgICB2YXIgbmV3QXJyID0gZnVuYygxMSk7DQoNCiAgICAgICAgcmV0dXJuIG5ld0Fyci5sZW5ndGggPT09IDEgJiYgbmV3QXJyWzBdID09PSAxMTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.filter - This object is the Arguments object which implements its own property get method (number of arguments is less than number of parameters)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-i-25.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjAvMTUuNC40LjIwLTktYy1pLTI2LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZpbHRlciAtIFRoaXMgb2JqZWN0IGlzIHRoZSBBcmd1bWVudHMgb2JqZWN0IHdoaWNoIGltcGxlbWVudHMgaXRzIG93biBwcm9wZXJ0eSBnZXQgbWV0aG9kIChudW1iZXIgb2YgYXJndW1lbnRzIGVxdWFscyBudW1iZXIgb2YgcGFyYW1ldGVycykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgaWYgKGlkeCA9PT0gMCkgew0KICAgICAgICAgICAgICAgIHJldHVybiB2YWwgPT09IDExOw0KICAgICAgICAgICAgfSBlbHNlIGlmIChpZHggPT09IDEpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gdmFsID09PSA5Ow0KICAgICAgICAgICAgfSBlbHNlIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgZnVuYyA9IGZ1bmN0aW9uIChhLCBiKSB7DQogICAgICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLmZpbHRlci5jYWxsKGFyZ3VtZW50cywgY2FsbGJhY2tmbik7DQogICAgICAgIH07DQogICAgICAgIHZhciBuZXdBcnIgPSBmdW5jKDExLCA5KTsNCg0KICAgICAgICByZXR1cm4gbmV3QXJyLmxlbmd0aCA9PT0gMiAmJiBuZXdBcnJbMF0gPT09IDExICYmDQogICAgICAgICAgICBuZXdBcnJbMV0gPT09IDk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.filter - This object is the Arguments object which implements its own property get method (number of arguments equals number of parameters)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-i-26.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjAvMTUuNC40LjIwLTktYy1pLTI3LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZpbHRlciAtIFRoaXMgb2JqZWN0IGlzIHRoZSBBcmd1bWVudHMgb2JqZWN0IHdoaWNoIGltcGxlbWVudHMgaXRzIG93biBwcm9wZXJ0eSBnZXQgbWV0aG9kIChudW1iZXIgb2YgYXJndW1lbnRzIGlzIGdyZWF0ZXIgdGhhbiBudW1iZXIgb2YgcGFyYW1ldGVycykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgaWYgKGlkeCA9PT0gMCkgew0KICAgICAgICAgICAgICAgIHJldHVybiB2YWwgPT09IDExOw0KICAgICAgICAgICAgfSBlbHNlIGlmIChpZHggPT09IDEpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gdmFsID09PSAxMjsNCiAgICAgICAgICAgIH0gZWxzZSBpZiAoaWR4ID09PSAyKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIHZhbCA9PT0gOTsNCiAgICAgICAgICAgIH0gZWxzZSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIGZ1bmMgPSBmdW5jdGlvbiAoYSwgYikgew0KICAgICAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5maWx0ZXIuY2FsbChhcmd1bWVudHMsIGNhbGxiYWNrZm4pOw0KICAgICAgICB9Ow0KICAgICAgICB2YXIgbmV3QXJyID0gZnVuYygxMSwgMTIsIDkpOw0KDQogICAgICAgIHJldHVybiBuZXdBcnIubGVuZ3RoID09PSAzICYmIG5ld0FyclswXSA9PT0gMTEgJiYNCiAgICAgICAgICAgIG5ld0FyclsxXSA9PT0gMTIgJiYgbmV3QXJyWzJdID09PSA5Ow0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.filter - This object is the Arguments object which implements its own property get method (number of arguments is greater than number of parameters)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-i-27.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjAvMTUuNC40LjIwLTktYy1pLTI4LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZpbHRlciAtIGVsZW1lbnQgY2hhbmdlZCBieSBnZXR0ZXIgb24gcHJldmlvdXMgaXRlcmF0aW9ucyBpcyBvYnNlcnZlZCBvbiBhbiBBcnJheQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHByZUl0ZXJWaXNpYmxlID0gZmFsc2U7DQogICAgICAgIHZhciBhcnIgPSBbXTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiBpZHggPT09IDEgJiYgdmFsID09PSA5Ow0KICAgICAgICB9DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgIjAiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICBwcmVJdGVyVmlzaWJsZSA9IHRydWU7DQogICAgICAgICAgICAgICAgcmV0dXJuIDExOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyLCAiMSIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIGlmIChwcmVJdGVyVmlzaWJsZSkgew0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gOTsNCiAgICAgICAgICAgICAgICB9IGVsc2Ugew0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gMTE7DQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCiAgICAgICAgdmFyIG5ld0FyciA9IGFyci5maWx0ZXIoY2FsbGJhY2tmbik7DQoNCiAgICAgICAgcmV0dXJuIG5ld0Fyci5sZW5ndGggPT09IDEgJiYgbmV3QXJyWzBdID09PSA5Ow0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.filter - element changed by getter on previous iterations is observed on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-i-28.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjAvMTUuNC40LjIwLTktYy1pLTI5LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZpbHRlciAtIGVsZW1lbnQgY2hhbmdlZCBieSBnZXR0ZXIgb24gcHJldmlvdXMgaXRlcmF0aW9ucyBpcyBvYnNlcnZlZCBvbiBhbiBBcnJheS1saWtlIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIHZhbCA9PT0gOSAmJiBpZHggPT09IDE7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgcHJlSXRlclZpc2libGUgPSBmYWxzZTsNCiAgICAgICAgdmFyIG9iaiA9IHsgbGVuZ3RoOiAyIH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgIjAiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICBwcmVJdGVyVmlzaWJsZSA9IHRydWU7DQogICAgICAgICAgICAgICAgcmV0dXJuIDExOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiMSIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIGlmIChwcmVJdGVyVmlzaWJsZSkgew0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gOTsNCiAgICAgICAgICAgICAgICB9IGVsc2Ugew0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gMTM7DQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCiAgICAgICAgdmFyIG5ld0FyciA9IEFycmF5LnByb3RvdHlwZS5maWx0ZXIuY2FsbChvYmosIGNhbGxiYWNrZm4pOw0KDQogICAgICAgIHJldHVybiBuZXdBcnIubGVuZ3RoID09PSAxICYmIG5ld0FyclswXSA9PT0gOTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.filter - element changed by getter on previous iterations is observed on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-i-29.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjAvMTUuNC40LjIwLTktYy1pLTMuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZmlsdGVyIC0gZWxlbWVudCB0byBiZSByZXRyaWV2ZWQgaXMgb3duIGRhdGEgcHJvcGVydHkgdGhhdCBvdmVycmlkZXMgYW4gaW5oZXJpdGVkIGRhdGEgcHJvcGVydHkgb24gYW4gQXJyYXktbGlrZSBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIChpZHggPT09IDUpICYmICh2YWwgPT09ICJhYmMiKTsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBwcm90byA9IHsgMDogMTEsIDU6IDEwMCB9Ow0KDQogICAgICAgIHZhciBDb24gPSBmdW5jdGlvbiAoKSB7IH07DQogICAgICAgIENvbi5wcm90b3R5cGUgPSBwcm90bzsNCg0KICAgICAgICB2YXIgY2hpbGQgPSBuZXcgQ29uKCk7DQogICAgICAgIGNoaWxkWzVdID0gImFiYyI7DQogICAgICAgIGNoaWxkLmxlbmd0aCA9IDEwOw0KDQogICAgICAgIHZhciBuZXdBcnIgPSBBcnJheS5wcm90b3R5cGUuZmlsdGVyLmNhbGwoY2hpbGQsIGNhbGxiYWNrZm4pOw0KDQogICAgICAgIHJldHVybiBuZXdBcnIubGVuZ3RoID09PSAxICYmIG5ld0FyclswXSA9PT0gImFiYyI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.filter - element to be retrieved is own data property that overrides an inherited data property on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-i-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjAvMTUuNC40LjIwLTktYy1pLTMwLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZpbHRlciAtIHVubmhhbmRsZWQgZXhjZXB0aW9ucyBoYXBwZW5lZCBpbiBnZXR0ZXIgdGVybWluYXRlIGl0ZXJhdGlvbiBvbiBhbiBBcnJheS1saWtlIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgaWYgKGlkeCA+IDEpIHsNCiAgICAgICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgICAgICByZXR1cm4gdHJ1ZTsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSB7IDA6IDExLCA1OiAxMCwgMTA6IDgsIGxlbmd0aDogMjAgfTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgIjEiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICB0aHJvdyBuZXcgUmFuZ2VFcnJvcigidW5oYW5kbGUgZXhjZXB0aW9uIGhhcHBlbmVkIGluIGdldHRlciIpOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlLmZpbHRlci5jYWxsKG9iaiwgY2FsbGJhY2tmbik7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGV4KSB7DQogICAgICAgICAgICByZXR1cm4gKGV4IGluc3RhbmNlb2YgUmFuZ2VFcnJvcikgJiYgIWFjY2Vzc2VkOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.filter - unnhandled exceptions happened in getter terminate iteration on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-i-30.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjAvMTUuNC40LjIwLTktYy1pLTMxLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZpbHRlciAtIHVubmhhbmRsZWQgZXhjZXB0aW9ucyBoYXBwZW5lZCBpbiBnZXR0ZXIgdGVybWluYXRlIGl0ZXJhdGlvbiBvbiBhbiBBcnJheQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgaWYgKGlkeCA+IDEpIHsNCiAgICAgICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgICAgICByZXR1cm4gdHJ1ZTsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBhcnIgPSBbXTsNCiAgICAgICAgYXJyWzVdID0gMTA7DQogICAgICAgIGFyclsxMF0gPSAxMDA7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgIjEiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICB0aHJvdyBuZXcgUmFuZ2VFcnJvcigidW5oYW5kbGUgZXhjZXB0aW9uIGhhcHBlbmVkIGluIGdldHRlciIpOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgYXJyLmZpbHRlcihjYWxsYmFja2ZuKTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZXgpIHsNCiAgICAgICAgICAgIHJldHVybiAoZXggaW5zdGFuY2VvZiBSYW5nZUVycm9yKSAmJiAhYWNjZXNzZWQ7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.filter - unnhandled exceptions happened in getter terminate iteration on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-i-31.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjAvMTUuNC40LjIwLTktYy1pLTQuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZmlsdGVyIC0gZWxlbWVudCB0byBiZSByZXRyaWV2ZWQgaXMgb3duIGRhdGEgcHJvcGVydHkgdGhhdCBvdmVycmlkZXMgYW4gaW5oZXJpdGVkIGRhdGEgcHJvcGVydHkgb24gYW4gQXJyYXkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIChpZHggPT09IDApICYmICh2YWwgPT09IDEyKTsNCiAgICAgICAgfQ0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBBcnJheS5wcm90b3R5cGVbMF0gPSAxMTsNCiAgICAgICAgICAgIHZhciBuZXdBcnIgPSBbMTJdLmZpbHRlcihjYWxsYmFja2ZuKTsNCg0KICAgICAgICAgICAgcmV0dXJuIG5ld0Fyci5sZW5ndGggPT09IDEgJiYgbmV3QXJyWzBdID09PSAxMjsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBBcnJheS5wcm90b3R5cGVbMF07DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.filter - element to be retrieved is own data property that overrides an inherited data property on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-i-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjAvMTUuNC40LjIwLTktYy1pLTUuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZmlsdGVyIC0gZWxlbWVudCB0byBiZSByZXRyaWV2ZWQgaXMgb3duIGRhdGEgcHJvcGVydHkgdGhhdCBvdmVycmlkZXMgYW4gaW5oZXJpdGVkIGFjY2Vzc29yIHByb3BlcnR5IG9uIGFuIEFycmF5LWxpa2Ugb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiBpZHggPT09IDAgJiYgdmFsID09PSAxMTsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBwcm90byA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShwcm90bywgIjAiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gNTsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIENvbiA9IGZ1bmN0aW9uICgpIHsgfTsNCiAgICAgICAgQ29uLnByb3RvdHlwZSA9IHByb3RvOw0KDQogICAgICAgIHZhciBjaGlsZCA9IG5ldyBDb24oKTsNCiAgICAgICAgY2hpbGQubGVuZ3RoID0gMjsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGNoaWxkLCAiMCIsIHsNCiAgICAgICAgICAgIHZhbHVlOiAxMSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCiAgICAgICAgY2hpbGRbMV0gPSAxMjsNCg0KICAgICAgICB2YXIgbmV3QXJyID0gQXJyYXkucHJvdG90eXBlLmZpbHRlci5jYWxsKGNoaWxkLCBjYWxsYmFja2ZuKTsNCg0KICAgICAgICByZXR1cm4gbmV3QXJyLmxlbmd0aCA9PT0gMSAmJiBuZXdBcnJbMF0gPT09IDExOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.filter - element to be retrieved is own data property that overrides an inherited accessor property on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-i-5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjAvMTUuNC40LjIwLTktYy1pLTYuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZmlsdGVyIC0gZWxlbWVudCB0byBiZSByZXRyaWV2ZWQgaXMgb3duIGRhdGEgcHJvcGVydHkgdGhhdCBvdmVycmlkZXMgYW4gaW5oZXJpdGVkIGFjY2Vzc29yIHByb3BlcnR5IG9uIGFuIEFycmF5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiB2YWwgPT09IDExOw0KICAgICAgICB9DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShBcnJheS5wcm90b3R5cGUsICIwIiwgew0KICAgICAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gOTsNCiAgICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICB2YXIgbmV3QXJyID0gWzExXS5maWx0ZXIoY2FsbGJhY2tmbik7DQoNCiAgICAgICAgICAgIHJldHVybiBuZXdBcnIubGVuZ3RoID09PSAxICYmIG5ld0FyclswXSA9PT0gMTE7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgQXJyYXkucHJvdG90eXBlWzBdOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.filter - element to be retrieved is own data property that overrides an inherited accessor property on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-i-6.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjAvMTUuNC40LjIwLTktYy1pLTcuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZmlsdGVyIC0gZWxlbWVudCB0byBiZSByZXRyaWV2ZWQgaXMgaW5oZXJpdGVkIGRhdGEgcHJvcGVydHkgb24gYW4gQXJyYXktbGlrZSBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBrVmFsdWUgPSAnYWJjJzsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiAoaWR4ID09PSA1KSAmJiAodmFsID09PSBrVmFsdWUpOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIHByb3RvID0geyA1OiBrVmFsdWUgfTsNCg0KICAgICAgICB2YXIgQ29uID0gZnVuY3Rpb24gKCkgeyB9Ow0KICAgICAgICBDb24ucHJvdG90eXBlID0gcHJvdG87DQoNCiAgICAgICAgdmFyIGNoaWxkID0gbmV3IENvbigpOw0KICAgICAgICBjaGlsZC5sZW5ndGggPSAxMDsNCg0KICAgICAgICB2YXIgbmV3QXJyID0gQXJyYXkucHJvdG90eXBlLmZpbHRlci5jYWxsKGNoaWxkLCBjYWxsYmFja2ZuKTsNCg0KICAgICAgICByZXR1cm4gbmV3QXJyLmxlbmd0aCA9PT0gMSAmJiBuZXdBcnJbMF0gPT09IGtWYWx1ZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.filter - element to be retrieved is inherited data property on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-i-7.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjAvMTUuNC40LjIwLTktYy1pLTguanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZmlsdGVyIC0gZWxlbWVudCB0byBiZSByZXRyaWV2ZWQgaXMgaW5oZXJpdGVkIGRhdGEgcHJvcGVydHkgb24gYW4gQXJyYXkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIChpZHggPT09IDEpICYmICh2YWwgPT09IDEzKTsNCiAgICAgICAgfQ0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBBcnJheS5wcm90b3R5cGVbMV0gPSAxMzsNCiAgICAgICAgICAgIHZhciBuZXdBcnIgPSBbLCAsICwgXS5maWx0ZXIoY2FsbGJhY2tmbik7DQoNCiAgICAgICAgICAgIHJldHVybiBuZXdBcnIubGVuZ3RoID09PSAxICYmIG5ld0FyclswXSA9PT0gMTM7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgQXJyYXkucHJvdG90eXBlWzFdOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.filter - element to be retrieved is inherited data property on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-i-8.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjAvMTUuNC40LjIwLTktYy1pLTkuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZmlsdGVyIC0gZWxlbWVudCB0byBiZSByZXRyaWV2ZWQgaXMgb3duIGFjY2Vzc29yIHByb3BlcnR5IG9uIGFuIEFycmF5LWxpa2Ugb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiAoaWR4ID09PSAwKSAmJiAodmFsID09PSAxMSk7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0geyAxMDogMTAsIGxlbmd0aDogMjAgfTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiMCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiAxMTsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIG5ld0FyciA9IEFycmF5LnByb3RvdHlwZS5maWx0ZXIuY2FsbChvYmosIGNhbGxiYWNrZm4pOw0KICAgICAgICByZXR1cm4gbmV3QXJyLmxlbmd0aCA9PT0gMSAmJiBuZXdBcnJbMF0gPT09IDExOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.filter - element to be retrieved is own accessor property on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-i-9.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjAvMTUuNC40LjIwLTktYy1paS0xLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZpbHRlciAtIGNhbGxiYWNrZm4gY2FsbGVkIHdpdGggY29ycmVjdCBwYXJhbWV0ZXJzDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsgDQogDQogIHZhciBiUGFyID0gdHJ1ZTsNCiAgdmFyIGJDYWxsZWQgPSBmYWxzZTsNCiAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKQ0KICB7DQogICAgYkNhbGxlZCA9IHRydWU7DQogICAgaWYob2JqW2lkeF0gIT09IHZhbCkNCiAgICAgIGJQYXIgPSBmYWxzZTsNCiAgfQ0KDQogIHZhciBzcmNBcnIgPSBbMCwxLHRydWUsbnVsbCxuZXcgT2JqZWN0KCksImZpdmUiXTsNCiAgc3JjQXJyWzk5OTk5OV0gPSAtNi42Ow0KICB2YXIgcmVzQXJyID0gc3JjQXJyLmZpbHRlcihjYWxsYmFja2ZuKTsNCiAgDQogIGlmKGJDYWxsZWQgPT09IHRydWUgJiYgYlBhciA9PT0gdHJ1ZSkNCiAgICByZXR1cm4gdHJ1ZTsNCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.filter - callbackfn called with correct parameters","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-ii-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjAvMTUuNC40LjIwLTktYy1paS0xMC5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5maWx0ZXIgLSBjYWxsYmFja2ZuIGlzIGNhbGxlZCB3aXRoIDEgZm9ybWFsIHBhcmFtZXRlcg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwpIHsNCiAgICAgICAgICAgIHJldHVybiB2YWwgPiAxMDsNCiAgICAgICAgfQ0KICAgICAgICB2YXIgbmV3QXJyID0gWzEyXS5maWx0ZXIoY2FsbGJhY2tmbik7DQoNCiAgICAgICAgcmV0dXJuIG5ld0Fyci5sZW5ndGggPT09IDEgJiYgbmV3QXJyWzBdID09PSAxMjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.filter - callbackfn is called with 1 formal parameter","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-ii-10.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjAvMTUuNC40LjIwLTktYy1paS0xMS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5maWx0ZXIgLSBjYWxsYmFja2ZuIGlzIGNhbGxlZCB3aXRoIDIgZm9ybWFsIHBhcmFtZXRlcg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCkgew0KICAgICAgICAgICAgcmV0dXJuIHZhbCA+IDEwICYmIGFyZ3VtZW50c1syXVtpZHhdID09PSB2YWw7DQogICAgICAgIH0NCiAgICAgICAgdmFyIG5ld0FyciA9IFsxMV0uZmlsdGVyKGNhbGxiYWNrZm4pOw0KDQogICAgICAgIHJldHVybiBuZXdBcnIubGVuZ3RoID09PSAxICYmIG5ld0FyclswXSA9PT0gMTE7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.filter - callbackfn is called with 2 formal parameter","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-ii-11.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjAvMTUuNC40LjIwLTktYy1paS0xMi5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5maWx0ZXIgLSBjYWxsYmFja2ZuIGlzIGNhbGxlZCB3aXRoIDMgZm9ybWFsIHBhcmFtZXRlcg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gdmFsID4gMTAgJiYgb2JqW2lkeF0gPT09IHZhbDsNCiAgICAgICAgfQ0KICAgICAgICB2YXIgbmV3QXJyID0gWzExXS5maWx0ZXIoY2FsbGJhY2tmbik7DQoNCiAgICAgICAgcmV0dXJuIG5ld0Fyci5sZW5ndGggPT09IDEgJiYgbmV3QXJyWzBdID09PSAxMTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.filter - callbackfn is called with 3 formal parameter","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-ii-12.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjAvMTUuNC40LjIwLTktYy1paS0xMy5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5maWx0ZXIgLSBjYWxsYmFja2ZuIHRoYXQgdXNlcyBhcmd1bWVudHMgb2JqZWN0IHRvIGdldCBwYXJhbWV0ZXIgdmFsdWUNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4oKSB7DQogICAgICAgICAgICByZXR1cm4gYXJndW1lbnRzWzJdW2FyZ3VtZW50c1sxXV0gPT09IGFyZ3VtZW50c1swXTsNCiAgICAgICAgfQ0KICAgICAgICB2YXIgbmV3QXJyID0gWzExXS5maWx0ZXIoY2FsbGJhY2tmbik7DQoNCiAgICAgICAgcmV0dXJuIG5ld0Fyci5sZW5ndGggPT09IDEgJiYgbmV3QXJyWzBdID09PSAxMTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.filter - callbackfn that uses arguments object to get parameter value","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-ii-13.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjAvMTUuNC40LjIwLTktYy1paS0xNi5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5maWx0ZXIgLSAndGhpcycgb2YgJ2NhbGxiYWNrZm4nIGlzIGEgQm9vbGVhbiBvYmplY3Qgd2hlbiBUIGlzIG5vdCBhbiBvYmplY3QgKFQgaXMgYSBib29sZWFuKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gdGhpcy52YWx1ZU9mKCkgPT09IGZhbHNlOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgMDogMTEsIGxlbmd0aDogMiB9Ow0KICAgICAgICB2YXIgbmV3QXJyID0gQXJyYXkucHJvdG90eXBlLmZpbHRlci5jYWxsKG9iaiwgY2FsbGJhY2tmbiwgZmFsc2UpOw0KDQogICAgICAgIHJldHVybiBuZXdBcnIubGVuZ3RoID09PSAxICYmIG5ld0FyclswXSA9PT0gMTE7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.filter - 'this' of 'callbackfn' is a Boolean object when T is not an object (T is a boolean)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-ii-16.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjAvMTUuNC40LjIwLTktYy1paS0xNy5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5maWx0ZXIgLSd0aGlzJyBvZiAnY2FsbGJhY2tmbicgaXMgYSBOdW1iZXIgb2JqZWN0IHdoZW4gVCBpcyBub3QgYW4gb2JqZWN0IChUIGlzIGEgbnVtYmVyKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgbykgew0KICAgICAgICAgICAgcmV0dXJuIDUgPT09IHRoaXMudmFsdWVPZigpOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgMDogMTEsIGxlbmd0aDogMiB9Ow0KICAgICAgICB2YXIgbmV3QXJyID0gQXJyYXkucHJvdG90eXBlLmZpbHRlci5jYWxsKG9iaiwgY2FsbGJhY2tmbiwgNSk7DQoNCiAgICAgICAgcmV0dXJuIG5ld0Fyci5sZW5ndGggPT09IDEgJiYgbmV3QXJyWzBdID09PSAxMTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.filter -'this' of 'callbackfn' is a Number object when T is not an object (T is a number)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-ii-17.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjAvMTUuNC40LjIwLTktYy1paS0xOC5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5maWx0ZXIgLSAndGhpcycgb2YgJ2NhbGxiYWNrZm4nIGlzIGFuIFN0cmluZyBvYmplY3Qgd2hlbiBUIGlzIG5vdCBhbiBvYmplY3QgKFQgaXMgYSBzdHJpbmcpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiAnaGVsbG8nID09PSB0aGlzLnZhbHVlT2YoKTsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSB7IDA6IDExLCBsZW5ndGg6IDIgfTsNCiAgICAgICAgdmFyIG5ld0FyciA9IEFycmF5LnByb3RvdHlwZS5maWx0ZXIuY2FsbChvYmosIGNhbGxiYWNrZm4sICJoZWxsbyIpOw0KDQogICAgICAgIHJldHVybiBuZXdBcnIubGVuZ3RoID09PSAxICYmIG5ld0FyclswXSA9PT0gMTE7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.filter - 'this' of 'callbackfn' is an String object when T is not an object (T is a string)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-ii-18.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjAvMTUuNC40LjIwLTktYy1paS0xOS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5maWx0ZXIgLSBub24taW5kZXhlZCBwcm9wZXJ0aWVzIGFyZSBub3QgY2FsbGVkDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIHJldHVybiB2YWwgPT09IDg7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0geyAwOiAxMSwgbm9uX2luZGV4X3Byb3BlcnR5OiA4LCAyOiA1LCBsZW5ndGg6IDIwIH07DQogICAgICAgIHZhciBuZXdBcnIgPSBBcnJheS5wcm90b3R5cGUuZmlsdGVyLmNhbGwob2JqLCBjYWxsYmFja2ZuKTsNCg0KICAgICAgICByZXR1cm4gbmV3QXJyLmxlbmd0aCA9PT0gMCAmJiBhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.filter - non-indexed properties are not called","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-ii-19.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjAvMTUuNC40LjIwLTktYy1paS0yLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZpbHRlciAtIGNhbGxiYWNrZm4gdGFrZXMgMyBhcmd1bWVudHMNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgeyANCiANCiAgdmFyIHBhckNudCA9IDM7DQogIHZhciBiQ2FsbGVkID0gZmFsc2UNCiAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKQ0KICB7IA0KICAgIGJDYWxsZWQgPSB0cnVlOw0KICAgIGlmKGFyZ3VtZW50cy5sZW5ndGggIT09IDMpDQogICAgICBwYXJDbnQgPSBhcmd1bWVudHMubGVuZ3RoOyAgIC8vdmVyaWZ5IGlmIGNhbGxiYWNrZm4gd2FzIGNhbGxlZCB3aXRoIDMgcGFyYW1ldGVycw0KICB9DQoNCiAgdmFyIHNyY0FyciA9IFswLDEsMiwzLDQsNSw2LDcsOCw5XTsNCiAgdmFyIHJlc0FyciA9IHNyY0Fyci5maWx0ZXIoY2FsbGJhY2tmbik7DQogIGlmKGJDYWxsZWQgPT09IHRydWUgJiYgcGFyQ250ID09PSAzKQ0KICAgIHJldHVybiB0cnVlOw0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.filter - callbackfn takes 3 arguments","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-ii-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjAvMTUuNC40LjIwLTktYy1paS0yMC5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5maWx0ZXIgLSBjYWxsYmFja2ZuIGNhbGxlZCB3aXRoIGNvcnJlY3QgcGFyYW1ldGVycyAodGhpc0FyZyBpcyBjb3JyZWN0KQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHRoaXNBcmcgPSB7IHRocmVzaG9sZDogMTAgfTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiB0aGlzID09PSB0aGlzQXJnOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgMDogMTEsIGxlbmd0aDogMSB9Ow0KICAgICAgICB2YXIgbmV3QXJyID0gQXJyYXkucHJvdG90eXBlLmZpbHRlci5jYWxsKG9iaiwgY2FsbGJhY2tmbiwgdGhpc0FyZyk7DQoNCiAgICAgICAgcmV0dXJuIG5ld0Fyci5sZW5ndGggPT09IDEgJiYgbmV3QXJyWzBdID09PSAxMTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.filter - callbackfn called with correct parameters (thisArg is correct)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-ii-20.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjAvMTUuNC40LjIwLTktYy1paS0yMS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5maWx0ZXIgLSBjYWxsYmFja2ZuIGNhbGxlZCB3aXRoIGNvcnJlY3QgcGFyYW1ldGVycyAoa1ZhbHVlIGlzIGNvcnJlY3QpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGlmIChpZHggPT09IDApIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gdmFsID09PSAxMTsNCiAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgaWYgKGlkeCA9PT0gMSkgew0KICAgICAgICAgICAgICAgIHJldHVybiB2YWwgPT09IDEyOw0KICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0geyAwOiAxMSwgMTogMTIsIGxlbmd0aDogMiB9Ow0KICAgICAgICB2YXIgbmV3QXJyID0gQXJyYXkucHJvdG90eXBlLmZpbHRlci5jYWxsKG9iaiwgY2FsbGJhY2tmbik7DQoNCiAgICAgICAgcmV0dXJuIG5ld0Fyci5sZW5ndGggPT09IDIgJiYgbmV3QXJyWzBdID09PSAxMSAmJiBuZXdBcnJbMV0gPT09IDEyOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.filter - callbackfn called with correct parameters (kValue is correct)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-ii-21.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjAvMTUuNC40LjIwLTktYy1paS0yMi5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5maWx0ZXIgLSBjYWxsYmFja2ZuIGNhbGxlZCB3aXRoIGNvcnJlY3QgcGFyYW1ldGVycyAodGhlIGluZGV4IGsgaXMgY29ycmVjdCkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgaWYgKHZhbCA9PT0gMTEpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gaWR4ID09PSAwOw0KICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICBpZiAodmFsID09PSAxMikgew0KICAgICAgICAgICAgICAgIHJldHVybiBpZHggPT09IDE7DQogICAgICAgICAgICB9DQoNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSB7IDA6IDExLCAxOiAxMiwgbGVuZ3RoOiAyIH07DQogICAgICAgIHZhciBuZXdBcnIgPSBBcnJheS5wcm90b3R5cGUuZmlsdGVyLmNhbGwob2JqLCBjYWxsYmFja2ZuKTsNCg0KICAgICAgICByZXR1cm4gbmV3QXJyLmxlbmd0aCA9PT0gMiAmJiBuZXdBcnJbMF0gPT09IDExICYmIG5ld0FyclsxXSA9PT0gMTI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.filter - callbackfn called with correct parameters (the index k is correct)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-ii-22.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjAvMTUuNC40LjIwLTktYy1paS0yMy5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5maWx0ZXIgLSBjYWxsYmFja2ZuIGNhbGxlZCB3aXRoIGNvcnJlY3QgcGFyYW1ldGVycyAodGhpcyBvYmplY3QgTyBpcyBjb3JyZWN0KQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgMDogMTEsIGxlbmd0aDogMiB9Ow0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG8pIHsNCiAgICAgICAgICAgIHJldHVybiBvYmogPT09IG87DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgbmV3QXJyID0gQXJyYXkucHJvdG90eXBlLmZpbHRlci5jYWxsKG9iaiwgY2FsbGJhY2tmbik7DQoNCiAgICAgICAgcmV0dXJuIG5ld0Fyci5sZW5ndGggPT09IDEgJiYgbmV3QXJyWzBdID09PSAxMTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.filter - callbackfn called with correct parameters (this object O is correct)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-ii-23.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjAvMTUuNC40LjIwLTktYy1paS00LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZpbHRlciAtIGsgdmFsdWVzIGFyZSBwYXNzZWQgaW4gYXNjZW5kaW5nIG51bWVyaWMgb3JkZXINCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhcnIgPSBbMCwgMSwgMiwgMywgNCwgNV07DQogICAgICAgIHZhciBsYXN0SWR4ID0gMDsNCiAgICAgICAgdmFyIGNhbGxlZCA9IDA7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG8pIHsNCiAgICAgICAgICAgIGNhbGxlZCsrOw0KICAgICAgICAgICAgaWYgKGxhc3RJZHggIT09IGlkeCkgew0KICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgICAgIH0gZWxzZSB7DQogICAgICAgICAgICAgICAgbGFzdElkeCsrOw0KICAgICAgICAgICAgICAgIHJldHVybiB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQogICAgICAgIHZhciBuZXdBcnIgPSBhcnIuZmlsdGVyKGNhbGxiYWNrZm4pOw0KDQogICAgICAgIHJldHVybiBuZXdBcnIubGVuZ3RoID09PSBjYWxsZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.filter - k values are passed in ascending numeric order","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-ii-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjAvMTUuNC40LjIwLTktYy1paS01LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZpbHRlciAtIGsgdmFsdWVzIGFyZSBhY2Nlc3NlZCBkdXJpbmcgZWFjaCBpdGVyYXRpb24gYW5kIG5vdCBwcmlvciB0byBzdGFydGluZyB0aGUgbG9vcCBvbiBhbiBBcnJheQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGtJbmRleCA9IFtdOw0KICAgICAgICB2YXIgY2FsbGVkID0gMDsNCg0KICAgICAgICAvL0J5IGJlbG93IHdheSwgd2UgY291bGQgdmVyaWZ5IHRoYXQgayB3b3VsZCBiZSBzZXR0ZWQgYXMgMCwgMSwgLi4uLCBsZW5ndGggLSAxIGluIG9yZGVyLCBhbmQgZWFjaCB2YWx1ZSB3aWxsIGJlIHNldHRlZCBvbmUgdGltZS4NCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBjYWxsZWQrKzsNCiAgICAgICAgICAgIC8vRWFjaCBwb3NpdGlvbiBzaG91bGQgYmUgdmlzaXRlZCBvbmUgdGltZSwgd2hpY2ggbWVhbnMgayBpcyBhY2Nlc3NlZCBvbmUgdGltZSBkdXJpbmcgaXRlcmF0aW9ucy4NCiAgICAgICAgICAgIGlmIChrSW5kZXhbaWR4XSA9PT0gdW5kZWZpbmVkKSB7DQogICAgICAgICAgICAgICAgLy93aGVuIGN1cnJlbnQgcG9zaXRpb24gaXMgdmlzaXRlZCwgaXRzIHByZXZpb3VzIGluZGV4IHNob3VsZCBoYXMgYmVlbiB2aXNpdGVkLg0KICAgICAgICAgICAgICAgIGlmIChpZHggIT09IDAgJiYga0luZGV4W2lkeCAtIDFdID09PSB1bmRlZmluZWQpIHsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7DQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgIGtJbmRleFtpZHhdID0gMTsNCiAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgICAgICB9IGVsc2Ugew0KICAgICAgICAgICAgICAgIHJldHVybiB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQogICAgICAgIHZhciBuZXdBcnIgPSBbMTEsIDEyLCAxMywgMTRdLmZpbHRlcihjYWxsYmFja2ZuLCB1bmRlZmluZWQpOw0KDQogICAgICAgIHJldHVybiBuZXdBcnIubGVuZ3RoID09PSAwICYmIGNhbGxlZCA9PT0gNDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.filter - k values are accessed during each iteration and not prior to starting the loop on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-ii-5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjAvMTUuNC40LjIwLTktYy1paS02LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZpbHRlciAtIGFyZ3VtZW50cyB0byBjYWxsYmFja2ZuIGFyZSBzZWxmIGNvbnNpc3RlbnQNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7IDA6IDExLCBsZW5ndGg6IDEgfTsNCiAgICAgICAgdmFyIHRoaXNBcmcgPSB7fTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKCkgew0KICAgICAgICAgICAgcmV0dXJuIHRoaXMgPT09IHRoaXNBcmcgJiYNCiAgICAgICAgICAgICAgICBhcmd1bWVudHNbMF0gPT09IDExICYmDQogICAgICAgICAgICAgICAgYXJndW1lbnRzWzFdID09PSAwICYmDQogICAgICAgICAgICAgICAgYXJndW1lbnRzWzJdID09PSBvYmo7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgbmV3QXJyID0gQXJyYXkucHJvdG90eXBlLmZpbHRlci5jYWxsKG9iaiwgY2FsbGJhY2tmbiwgdGhpc0FyZyk7DQoNCiAgICAgICAgcmV0dXJuIG5ld0Fyci5sZW5ndGggPT09IDEgJiYgbmV3QXJyWzBdID09PSAxMTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.filter - arguments to callbackfn are self consistent","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-ii-6.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjAvMTUuNC40LjIwLTktYy1paS03LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZpbHRlciAtIHVuaGFuZGxlZCBleGNlcHRpb25zIGhhcHBlbmVkIGluIGNhbGxiYWNrZm4gdGVybWluYXRlIGl0ZXJhdGlvbg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGNhbGxlZCA9IDA7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBjYWxsZWQrKzsNCiAgICAgICAgICAgIGlmIChjYWxsZWQgPT09IDEpIHsNCiAgICAgICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoIkV4Y2VwdGlvbiBvY2N1cnJlZCBpbiBjYWxsYmFja2ZuIik7DQogICAgICAgICAgICB9DQogICAgICAgICAgICByZXR1cm4gdHJ1ZTsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSB7IDA6IDExLCA0OiAxMCwgMTA6IDgsIGxlbmd0aDogMjAgfTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlLmZpbHRlci5jYWxsKG9iaiwgY2FsbGJhY2tmbik7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGV4KSB7DQogICAgICAgICAgICByZXR1cm4gMSA9PT0gY2FsbGVkICYmIGV4IGluc3RhbmNlb2YgRXJyb3I7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.filter - unhandled exceptions happened in callbackfn terminate iteration","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-ii-7.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjAvMTUuNC40LjIwLTktYy1paS04LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZpbHRlciAtIGVsZW1lbnQgY2hhbmdlZCBieSBjYWxsYmFja2ZuIG9uIHByZXZpb3VzIGl0ZXJhdGlvbnMgaXMgb2JzZXJ2ZWQNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7IDA6IDExLCAxOiAxMiwgbGVuZ3RoOiAyIH07DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgbykgew0KICAgICAgICAgICAgaWYgKGlkeCA9PT0gMCkgew0KICAgICAgICAgICAgICAgIG9ialtpZHggKyAxXSA9IDg7DQogICAgICAgICAgICB9DQogICAgICAgICAgICByZXR1cm4gdmFsID4gMTA7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgbmV3QXJyID0gQXJyYXkucHJvdG90eXBlLmZpbHRlci5jYWxsKG9iaiwgY2FsbGJhY2tmbik7DQoNCiAgICAgICAgcmV0dXJuIG5ld0Fyci5sZW5ndGggPT09IDEgJiYgbmV3QXJyWzBdID09PSAxMTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.filter - element changed by callbackfn on previous iterations is observed","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-ii-8.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjAvMTUuNC40LjIwLTktYy1paS05LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZpbHRlciAtIGNhbGxiYWNrZm4gaXMgY2FsbGVkIHdpdGggMCBmb3JtYWwgcGFyYW1ldGVyDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKCkgew0KICAgICAgICAgICAgcmV0dXJuIHRydWU7DQogICAgICAgIH0NCiAgICAgICAgdmFyIG5ld0FyciA9IFsxMV0uZmlsdGVyKGNhbGxiYWNrZm4pOw0KDQogICAgICAgIHJldHVybiBuZXdBcnIubGVuZ3RoID09PSAxICYmIG5ld0FyclswXSA9PT0gMTE7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.filter - callbackfn is called with 0 formal parameter","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-ii-9.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjAvMTUuNC40LjIwLTktYy1paWktMS0xLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZpbHRlciAtIHZhbHVlIG9mIHJldHVybmVkIGFycmF5IGVsZW1lbnQgZXF1YWxzIHRvICdrVmFsdWUnDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiB0cnVlOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgMDogMTEsIDE6IDksIGxlbmd0aDogMiB9Ow0KICAgICAgICB2YXIgbmV3QXJyID0gQXJyYXkucHJvdG90eXBlLmZpbHRlci5jYWxsKG9iaiwgY2FsbGJhY2tmbik7DQoNCiAgICAgICAgcmV0dXJuIG5ld0FyclswXSA9PT0gb2JqWzBdICYmIG5ld0FyclsxXSA9PT0gb2JqWzFdOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.filter - value of returned array element equals to 'kValue'","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-iii-1-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjAvMTUuNC40LjIwLTktYy1paWktMS0yLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZpbHRlciAtIHZhbHVlIG9mIHJldHVybmVkIGFycmF5IGVsZW1lbnQgY2FuIGJlIG92ZXJ3cml0dGVuDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiB0cnVlOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgMDogMTEsIDE6IDksIGxlbmd0aDogMiB9Ow0KICAgICAgICB2YXIgbmV3QXJyID0gQXJyYXkucHJvdG90eXBlLmZpbHRlci5jYWxsKG9iaiwgY2FsbGJhY2tmbik7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIHZhciB0ZW1wVmFsID0gbmV3QXJyWzFdOw0KICAgICAgICAgICAgbmV3QXJyWzFdICs9IDE7DQogICAgICAgICAgICByZXR1cm4gbmV3QXJyWzFdICE9PSB0ZW1wVmFsOw0KICAgICAgICB9IGNhdGNoIChleCkgew0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.filter - value of returned array element can be overwritten","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-iii-1-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjAvMTUuNC40LjIwLTktYy1paWktMS0zLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZpbHRlciAtIHZhbHVlIG9mIHJldHVybmVkIGFycmF5IGVsZW1lbnQgY2FuIGJlIGVudW1lcmF0ZWQNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIHRydWU7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0geyAwOiAxMSwgbGVuZ3RoOiAyIH07DQogICAgICAgIHZhciBuZXdBcnIgPSBBcnJheS5wcm90b3R5cGUuZmlsdGVyLmNhbGwob2JqLCBjYWxsYmFja2ZuKTsNCg0KICAgICAgICB2YXIgcHJvcDsNCiAgICAgICAgdmFyIGVudW1lcmFibGUgPSBmYWxzZTsNCiAgICAgICAgZm9yIChwcm9wIGluIG5ld0Fycikgew0KICAgICAgICAgICAgaWYgKG5ld0Fyci5oYXNPd25Qcm9wZXJ0eShwcm9wKSkgew0KICAgICAgICAgICAgICAgIGlmIChwcm9wID09PSAiMCIpIHsNCiAgICAgICAgICAgICAgICAgICAgZW51bWVyYWJsZSA9IHRydWU7DQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgcmV0dXJuIGVudW1lcmFibGU7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.filter - value of returned array element can be enumerated","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-iii-1-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjAvMTUuNC40LjIwLTktYy1paWktMS00LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZpbHRlciAtIHZhbHVlIG9mIHJldHVybmVkIGFycmF5IGVsZW1lbnQgY2FuIGJlIGNoYW5nZWQgb3IgZGVsZXRlZA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gdHJ1ZTsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSB7IDA6IDExLCAxOiA5LCBsZW5ndGg6IDIgfTsNCiAgICAgICAgdmFyIG5ld0FyciA9IEFycmF5LnByb3RvdHlwZS5maWx0ZXIuY2FsbChvYmosIGNhbGxiYWNrZm4pOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICB2YXIgdGVtcFZhbCA9IG5ld0FyclsxXTsNCiAgICAgICAgICAgIGRlbGV0ZSBuZXdBcnJbMV07DQogICAgICAgICAgICByZXR1cm4gdGVtcFZhbCAhPT0gdW5kZWZpbmVkICYmIG5ld0FyclsxXSA9PT0gdW5kZWZpbmVkOw0KICAgICAgICB9IGNhdGNoIChleCkgew0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.filter - value of returned array element can be changed or deleted","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-iii-1-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjAvMTUuNC40LjIwLTktYy1paWktMS01LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZpbHRlciAtIHZhbHVlcyBvZiAndG8nIGFyZSBwYXNzZWQgaW4gYWNlbmRpbmcgbnVtZXJpYyBvcmRlcg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFyciA9IFswLCAxLCAyLCAzLCA0XTsNCiAgICAgICAgdmFyIGxhc3RUb0lkeCA9IDA7DQogICAgICAgIHZhciBjYWxsZWQgPSAwOw0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGNhbGxlZCsrOw0KICAgICAgICAgICAgaWYgKGxhc3RUb0lkeCAhPT0gaWR4KSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICAgICAgfSBlbHNlIHsNCiAgICAgICAgICAgICAgICBsYXN0VG9JZHgrKzsNCiAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KICAgICAgICB2YXIgbmV3QXJyID0gYXJyLmZpbHRlcihjYWxsYmFja2ZuKTsNCg0KICAgICAgICByZXR1cm4gbmV3QXJyLmxlbmd0aCA9PT0gNSAmJiBjYWxsZWQgPT09IDU7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.filter - values of 'to' are passed in acending numeric order","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-iii-1-5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjAvMTUuNC40LjIwLTktYy1paWktMS02LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmZpbHRlciAtIHZhbHVlcyBvZiAndG8nIGFyZSBhY2Nlc3NlZCBkdXJpbmcgZWFjaCBpdGVyYXRpb24gd2hlbiAnc2VsZWN0ZWQnIGlzIGNvbnZlcnRlZCB0byB0cnVlIGFuZCBub3QgcHJpb3IgdG8gc3RhcnRpbmcgdGhlIGxvb3ANCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciB0b0luZGV4ID0gW107DQogICAgICAgIHZhciBjYWxsZWQgPSAwOw0KDQogICAgICAgIC8vQnkgYmVsb3cgd2F5LCB3ZSBjb3VsZCB2ZXJpZnkgdGhhdCAndG8nIHdvdWxkIGJlIHNldHRlZCBhcyAwLCAxLCAuLi4sIGxlbmd0aCAtIDEgaW4gb3JkZXIsIGFuZCBlYWNoIHZhbHVlIHdpbGwgYmUgc2V0dGVkIG9uZSB0aW1lLg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGNhbGxlZCsrOw0KICAgICAgICAgICAgLy9FYWNoIHBvc2l0aW9uIHNob3VsZCBiZSB2aXNpdGVkIG9uZSB0aW1lLCB3aGljaCBtZWFucyAndG8nIGlzIGFjY2Vzc2VkIG9uZSB0aW1lIGR1cmluZyBpdGVyYXRpb25zLg0KICAgICAgICAgICAgaWYgKHRvSW5kZXhbaWR4XSA9PT0gdW5kZWZpbmVkKSB7DQogICAgICAgICAgICAgICAgLy93aGVuIGN1cnJlbnQgcG9zaXRpb24gaXMgdmlzaXRlZCwgaXRzIHByZXZpb3VzIGluZGV4IHNob3VsZCBoYXMgYmVlbiB2aXNpdGVkLg0KICAgICAgICAgICAgICAgIGlmIChpZHggIT09IDAgJiYgdG9JbmRleFtpZHggLSAxXSA9PT0gdW5kZWZpbmVkKSB7DQogICAgICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgdG9JbmRleFtpZHhdID0gMTsNCiAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsNCiAgICAgICAgICAgIH0gZWxzZSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQogICAgICAgIHZhciBuZXdBcnIgPSBbMTEsIDEyLCAxMywgMTRdLmZpbHRlcihjYWxsYmFja2ZuLCB1bmRlZmluZWQpOw0KDQogICAgICAgIHJldHVybiBuZXdBcnIubGVuZ3RoID09PSA0ICYmIGNhbGxlZCA9PT0gNDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.filter - values of 'to' are accessed during each iteration when 'selected' is converted to true and not prior to starting the loop","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-iii-1-6.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjAvMTUuNC40LjIwLTktYy1paWktMS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5maWx0ZXIgLSBnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoYWxsIHRydWUpIG9mIHJldHVybmVkIGFycmF5IGVsZW1lbnQNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICANCiAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKXsNCiAgICBpZih2YWwgJSAyKQ0KICAgICAgcmV0dXJuIHRydWU7IA0KICAgIGVsc2UNCiAgICAgIHJldHVybiBmYWxzZTsNCiAgfQ0KICB2YXIgc3JjQXJyID0gWzAsMSwyLDMsNF07DQogIHZhciByZXNBcnIgPSBzcmNBcnIuZmlsdGVyKGNhbGxiYWNrZm4pOw0KICBpZiAocmVzQXJyLmxlbmd0aCA+IDApew0KICAgICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IocmVzQXJyLCAxKSANCiAgICAgaWYoZGVzYy52YWx1ZSA9PT0gMyAmJiAgICAgICAgLy9zcmNBcnJbMV0gPSB0cnVlDQogICAgICAgZGVzYy53cml0YWJsZSA9PT0gdHJ1ZSAmJg0KICAgICAgIGRlc2MuZW51bWVyYWJsZSA9PT0gdHJ1ZSAmJg0KICAgICAgIGRlc2MuY29uZmlndXJhYmxlID09PSB0cnVlKXsNCiAgICAgICAgIHJldHVybiB0cnVlOw0KICAgIH0NCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.filter - getOwnPropertyDescriptor(all true) of returned array element","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-iii-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjAvMTUuNC40LjIwLTktYy1paWktMTAuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZmlsdGVyIHJldHVybiB2YWx1ZSBvZiBjYWxsYmFja2ZuIGlzIGEgbnVtYmVyICh2YWx1ZSBpcyBuZWdhdGl2ZSBudW1iZXIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiAtNTsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBuZXdBcnIgPSBbMTFdLmZpbHRlcihjYWxsYmFja2ZuKTsNCiAgICAgICAgcmV0dXJuIG5ld0Fyci5sZW5ndGggPT09IDEgJiYgbmV3QXJyWzBdID09PSAxMTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.filter return value of callbackfn is a number (value is negative number)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-iii-10.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjAvMTUuNC40LjIwLTktYy1paWktMTEuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZmlsdGVyIHJldHVybiB2YWx1ZSBvZiBjYWxsYmFja2ZuIGlzIGEgbnVtYmVyICh2YWx1ZSBpcyBJbmZpbml0eSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIEluZmluaXR5Ow0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG5ld0FyciA9IFsxMV0uZmlsdGVyKGNhbGxiYWNrZm4pOw0KICAgICAgICByZXR1cm4gbmV3QXJyLmxlbmd0aCA9PT0gMSAmJiBuZXdBcnJbMF0gPT09IDExOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.filter return value of callbackfn is a number (value is Infinity)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-iii-11.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjAvMTUuNC40LjIwLTktYy1paWktMTIuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZmlsdGVyIHJldHVybiB2YWx1ZSBvZiBjYWxsYmFja2ZuIGlzIGEgbnVtYmVyICh2YWx1ZSBpcyAtSW5maW5pdHkpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiAtSW5maW5pdHk7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgbmV3QXJyID0gWzExXS5maWx0ZXIoY2FsbGJhY2tmbik7DQogICAgICAgIHJldHVybiBuZXdBcnIubGVuZ3RoID09PSAxICYmIG5ld0FyclswXSA9PT0gMTE7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.filter return value of callbackfn is a number (value is -Infinity)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-iii-12.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjAvMTUuNC40LjIwLTktYy1paWktMTMuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZmlsdGVyIHJldHVybiB2YWx1ZSBvZiBjYWxsYmFja2ZuIGlzIGEgbnVtYmVyICh2YWx1ZSBpcyBOYU4pDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIHJldHVybiBOYU47DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgbmV3QXJyID0gWzExXS5maWx0ZXIoY2FsbGJhY2tmbik7DQogICAgICAgIHJldHVybiBuZXdBcnIubGVuZ3RoID09PSAwICYmIGFjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.filter return value of callbackfn is a number (value is NaN)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-iii-13.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjAvMTUuNC40LjIwLTktYy1paWktMTQuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZmlsdGVyIHJldHVybiB2YWx1ZSBvZiBjYWxsYmFja2ZuIGlzIGFuIGVtcHR5IHN0cmluZw0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICByZXR1cm4gIiI7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgbmV3QXJyID0gWzExXS5maWx0ZXIoY2FsbGJhY2tmbik7DQogICAgICAgIHJldHVybiBuZXdBcnIubGVuZ3RoID09PSAwICYmIGFjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.filter return value of callbackfn is an empty string","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-iii-14.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjAvMTUuNC40LjIwLTktYy1paWktMTUuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZmlsdGVyIHJldHVybiB2YWx1ZSBvZiBjYWxsYmFja2ZuIGlzIGEgbm9uLWVtcHR5IHN0cmluZw0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuICJub24tZW1wdHkgc3RyaW5nIjsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBuZXdBcnIgPSBbMTFdLmZpbHRlcihjYWxsYmFja2ZuKTsNCiAgICAgICAgcmV0dXJuIG5ld0Fyci5sZW5ndGggPT09IDEgJiYgbmV3QXJyWzBdID09PSAxMTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.filter return value of callbackfn is a non-empty string","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-iii-15.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjAvMTUuNC40LjIwLTktYy1paWktMTYuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZmlsdGVyIHJldHVybiB2YWx1ZSBvZiBjYWxsYmFja2ZuIGlzIGEgRnVuY3Rpb24gb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiBmdW5jdGlvbiAoKSB7IH07DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgbmV3QXJyID0gWzExXS5maWx0ZXIoY2FsbGJhY2tmbik7DQogICAgICAgIHJldHVybiBuZXdBcnIubGVuZ3RoID09PSAxICYmIG5ld0FyclswXSA9PT0gMTE7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.filter return value of callbackfn is a Function object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-iii-16.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjAvMTUuNC40LjIwLTktYy1paWktMTcuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZmlsdGVyIHJldHVybiB2YWx1ZSBvZiBjYWxsYmFja2ZuIGlzIGFuIEFycmF5IG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gbmV3IEFycmF5KDEwKTsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBuZXdBcnIgPSBbMTFdLmZpbHRlcihjYWxsYmFja2ZuKTsNCiAgICAgICAgcmV0dXJuIG5ld0Fyci5sZW5ndGggPT09IDEgJiYgbmV3QXJyWzBdID09PSAxMTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.filter return value of callbackfn is an Array object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-iii-17.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjAvMTUuNC40LjIwLTktYy1paWktMTguanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZmlsdGVyIHJldHVybiB2YWx1ZSBvZiBjYWxsYmFja2ZuIGlzIGEgU3RyaW5nIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gbmV3IFN0cmluZygpOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG5ld0FyciA9IFsxMV0uZmlsdGVyKGNhbGxiYWNrZm4pOw0KICAgICAgICByZXR1cm4gbmV3QXJyLmxlbmd0aCA9PT0gMSAmJiBuZXdBcnJbMF0gPT09IDExOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.filter return value of callbackfn is a String object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-iii-18.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjAvMTUuNC40LjIwLTktYy1paWktMTkuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZmlsdGVyIHJldHVybiB2YWx1ZSBvZiBjYWxsYmFja2ZuIGlzIGEgQm9vbGVhbiBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIG5ldyBCb29sZWFuKCk7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgbmV3QXJyID0gWzExXS5maWx0ZXIoY2FsbGJhY2tmbik7DQogICAgICAgIHJldHVybiBuZXdBcnIubGVuZ3RoID09PSAxICYmIG5ld0FyclswXSA9PT0gMTE7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.filter return value of callbackfn is a Boolean object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-iii-19.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjAvMTUuNC40LjIwLTktYy1paWktMi5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5maWx0ZXIgLSByZXR1cm4gdmFsdWUgb2YgY2FsbGJhY2tmbiBpcyB1bmRlZmluZWQNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG8pIHsNCiAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIHJldHVybiB1bmRlZmluZWQ7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0geyAwOiAxMSwgbGVuZ3RoOiAxIH07DQoNCiAgICAgICAgdmFyIG5ld0FyciA9IEFycmF5LnByb3RvdHlwZS5maWx0ZXIuY2FsbChvYmosIGNhbGxiYWNrZm4pOw0KICAgICAgICByZXR1cm4gIG5ld0Fyci5sZW5ndGggPT09IDAgJiYgYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.filter - return value of callbackfn is undefined","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-iii-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjAvMTUuNC40LjIwLTktYy1paWktMjAuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZmlsdGVyIC0gcmV0dXJuIHZhbHVlIG9mIGNhbGxiYWNrZm4gaXMgYSBOdW1iZXIgb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiBuZXcgTnVtYmVyKCk7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgbmV3QXJyID0gWzExXS5maWx0ZXIoY2FsbGJhY2tmbik7DQogICAgICAgIHJldHVybiBuZXdBcnIubGVuZ3RoID09PSAxICYmIG5ld0FyclswXSA9PT0gMTE7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.filter - return value of callbackfn is a Number object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-iii-20.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjAvMTUuNC40LjIwLTktYy1paWktMjEuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZmlsdGVyIC0gcmV0dXJuIHZhbHVlIG9mIGNhbGxiYWNrZm4gaXMgdGhlIE1hdGggb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiBNYXRoOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG5ld0FyciA9IFsxMV0uZmlsdGVyKGNhbGxiYWNrZm4pOw0KICAgICAgICByZXR1cm4gbmV3QXJyLmxlbmd0aCA9PT0gMSAmJiBuZXdBcnJbMF0gPT09IDExOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.filter - return value of callbackfn is the Math object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-iii-21.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjAvMTUuNC40LjIwLTktYy1paWktMjIuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZmlsdGVyIC0gcmV0dXJuIHZhbHVlIG9mIGNhbGxiYWNrZm4gaXMgYSBEYXRlIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gbmV3IERhdGUoKTsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBuZXdBcnIgPSBbMTFdLmZpbHRlcihjYWxsYmFja2ZuKTsNCiAgICAgICAgcmV0dXJuIG5ld0Fyci5sZW5ndGggPT09IDEgJiYgbmV3QXJyWzBdID09PSAxMTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.filter - return value of callbackfn is a Date object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-iii-22.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjAvMTUuNC40LjIwLTktYy1paWktMjMuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZmlsdGVyIC0gcmV0dXJuIHZhbHVlIG9mIGNhbGxiYWNrZm4gaXMgYSBSZWdFeHAgb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiBuZXcgUmVnRXhwKCk7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgbmV3QXJyID0gWzExXS5maWx0ZXIoY2FsbGJhY2tmbik7DQogICAgICAgIHJldHVybiBuZXdBcnIubGVuZ3RoID09PSAxICYmIG5ld0FyclswXSA9PT0gMTE7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.filter - return value of callbackfn is a RegExp object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-iii-23.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjAvMTUuNC40LjIwLTktYy1paWktMjQuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZmlsdGVyIC0gcmV0dXJuIHZhbHVlIG9mIGNhbGxiYWNrZm4gaXMgdGhlIEpTT04gb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiBKU09OOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG5ld0FyciA9IFsxMV0uZmlsdGVyKGNhbGxiYWNrZm4pOw0KICAgICAgICByZXR1cm4gbmV3QXJyLmxlbmd0aCA9PT0gMSAmJiBuZXdBcnJbMF0gPT09IDExOw0KDQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.filter - return value of callbackfn is the JSON object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-iii-24.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjAvMTUuNC40LjIwLTktYy1paWktMjUuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZmlsdGVyIC0gcmV0dXJuIHZhbHVlIG9mIGNhbGxiYWNrZm4gaXMgYW4gRXJyb3Igb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiBuZXcgRXZhbEVycm9yKCk7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgbmV3QXJyID0gWzExXS5maWx0ZXIoY2FsbGJhY2tmbik7DQogICAgICAgIHJldHVybiBuZXdBcnIubGVuZ3RoID09PSAxICYmIG5ld0FyclswXSA9PT0gMTE7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.filter - return value of callbackfn is an Error object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-iii-25.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjAvMTUuNC40LjIwLTktYy1paWktMjYuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZmlsdGVyIC0gcmV0dXJuIHZhbHVlIG9mIGNhbGxiYWNrZm4gaXMgdGhlIEFyZ3VtZW50cyBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIGFyZ3VtZW50czsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBuZXdBcnIgPSBbMTFdLmZpbHRlcihjYWxsYmFja2ZuKTsNCiAgICAgICAgcmV0dXJuIG5ld0Fyci5sZW5ndGggPT09IDEgJiYgbmV3QXJyWzBdID09PSAxMTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.filter - return value of callbackfn is the Arguments object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-iii-26.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjAvMTUuNC40LjIwLTktYy1paWktMjguanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZmlsdGVyIC0gcmV0dXJuIHZhbHVlIG9mIGNhbGxiYWNrZm4gaXMgdGhlIGdsb2JhbCBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIGZuR2xvYmFsT2JqZWN0KCk7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgbmV3QXJyID0gWzExXS5maWx0ZXIoY2FsbGJhY2tmbik7DQogICAgICAgIHJldHVybiBuZXdBcnIubGVuZ3RoID09PSAxICYmIG5ld0FyclswXSA9PT0gMTE7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.filter - return value of callbackfn is the global object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-iii-28.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjAvMTUuNC40LjIwLTktYy1paWktMjkuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZmlsdGVyIC0gZmFsc2UgcHJldmVudHMgZWxlbWVudCBhZGRlZCB0byBvdXRwdXQgQXJyYXkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBjYWxsZWQgPSAwOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgY2FsbGVkKys7DQogICAgICAgICAgICByZXR1cm4gdmFsID4gMTA7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0geyAwOiAxMSwgMTogOCwgbGVuZ3RoOiAyMCB9Ow0KDQogICAgICAgIHZhciBuZXdBcnIgPSBBcnJheS5wcm90b3R5cGUuZmlsdGVyLmNhbGwob2JqLCBjYWxsYmFja2ZuKTsNCiAgICAgICAgcmV0dXJuIG5ld0Fyci5sZW5ndGggPT09IDEgJiYgbmV3QXJyWzBdICE9PSA4ICYmIGNhbGxlZCA9PT0gMjsNCg0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.filter - false prevents element added to output Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-iii-29.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjAvMTUuNC40LjIwLTktYy1paWktMy5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5maWx0ZXIgLSByZXR1cm4gdmFsdWUgb2YgY2FsbGJhY2tmbiBpcyBudWxsDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIHJldHVybiBudWxsOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgMDogMTEsIGxlbmd0aDogMSB9Ow0KDQogICAgICAgIHZhciBuZXdBcnIgPSBBcnJheS5wcm90b3R5cGUuZmlsdGVyLmNhbGwob2JqLCBjYWxsYmFja2ZuKTsNCiAgICAgICAgcmV0dXJuIG5ld0Fyci5sZW5ndGggPT09IDAgJiYgYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.filter - return value of callbackfn is null","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-iii-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjAvMTUuNC40LjIwLTktYy1paWktMzAuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUuZmlsdGVyIC0gcmV0dXJuIHZhbHVlIChuZXcgQm9vbGVhbihmYWxzZSkpIG9mIGNhbGxiYWNrZm4gaXMgdHJlYXRlZCBhcyB0cnVlIHZhbHVlDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiBuZXcgQm9vbGVhbihmYWxzZSk7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgbmV3QXJyID0gWzExXS5maWx0ZXIoY2FsbGJhY2tmbik7DQogICAgICAgIHJldHVybiBuZXdBcnIubGVuZ3RoID09PSAxICYmIG5ld0FyclswXSA9PT0gMTE7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.filter - return value (new Boolean(false)) of callbackfn is treated as true value","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-iii-30.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjAvMTUuNC40LjIwLTktYy1paWktNC5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5maWx0ZXIgLSByZXR1cm4gdmFsdWUgb2YgY2FsbGJhY2tmbiBpcyBhIGJvb2xlYW4gKHZhbHVlIGlzIGZhbHNlKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0geyAwOiAxMSwgbGVuZ3RoOiAxIH07DQoNCiAgICAgICAgdmFyIG5ld0FyciA9IEFycmF5LnByb3RvdHlwZS5maWx0ZXIuY2FsbChvYmosIGNhbGxiYWNrZm4pOw0KICAgICAgICByZXR1cm4gbmV3QXJyLmxlbmd0aCA9PT0gMCAmJiBhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.filter - return value of callbackfn is a boolean (value is false)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-iii-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjAvMTUuNC40LjIwLTktYy1paWktNS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5maWx0ZXIgLSByZXR1cm4gdmFsdWUgb2YgY2FsbGJhY2tmbiBpcyBhIGJvb2xlYW4gKHZhbHVlIGlzIHRydWUpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiB0cnVlOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgMDogMTEsIGxlbmd0aDogMSB9Ow0KDQogICAgICAgIHZhciBuZXdBcnIgPSBBcnJheS5wcm90b3R5cGUuZmlsdGVyLmNhbGwob2JqLCBjYWxsYmFja2ZuKTsNCiAgICAgICAgcmV0dXJuIG5ld0Fyci5sZW5ndGggPT09IDEgJiYgbmV3QXJyWzBdID09PSAxMTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.filter - return value of callbackfn is a boolean (value is true)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-iii-5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjAvMTUuNC40LjIwLTktYy1paWktNi5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5maWx0ZXIgLSByZXR1cm4gdmFsdWUgb2YgY2FsbGJhY2tmbiBpcyBhIG51bWJlciAodmFsdWUgaXMgMCkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4odmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgcmV0dXJuIDA7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgbmV3QXJyID0gWzExXS5maWx0ZXIoY2FsbGJhY2tmbik7DQogICAgICAgIHJldHVybiBuZXdBcnIubGVuZ3RoID09PSAwICYmIGFjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.filter - return value of callbackfn is a number (value is 0)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-iii-6.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjAvMTUuNC40LjIwLTktYy1paWktNy5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5maWx0ZXIgLSByZXR1cm4gdmFsdWUgb2YgY2FsbGJhY2tmbiBpcyBhIG51bWJlciAodmFsdWUgaXMgKzApDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIHJldHVybiArMDsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBuZXdBcnIgPSBbMTFdLmZpbHRlcihjYWxsYmFja2ZuKTsNCiAgICAgICAgcmV0dXJuIG5ld0Fyci5sZW5ndGggPT09IDAgJiYgYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.filter - return value of callbackfn is a number (value is +0)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-iii-7.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjAvMTUuNC40LjIwLTktYy1paWktOC5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5maWx0ZXIgLSByZXR1cm4gdmFsdWUgb2YgY2FsbGJhY2tmbiBpcyBhIG51bm1iZXIgKHZhbHVlIGlzIC0wKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICByZXR1cm4gLTA7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgbmV3QXJyID0gWzExXS5maWx0ZXIoY2FsbGJhY2tmbik7DQogICAgICAgIHJldHVybiBuZXdBcnIubGVuZ3RoID09PSAwICYmIGFjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.filter - return value of callbackfn is a nunmber (value is -0)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-iii-8.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjAvMTUuNC40LjIwLTktYy1paWktOS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5maWx0ZXIgLSByZXR1cm4gdmFsdWUgb2YgY2FsbGJhY2tmbiBpcyBhIG51bWJlciAodmFsdWUgaXMgcG9zaXRpdmUgbnVtYmVyKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbih2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gNTsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBuZXdBcnIgPSBbMTFdLmZpbHRlcihjYWxsYmFja2ZuKTsNCiAgICAgICAgcmV0dXJuIG5ld0Fyci5sZW5ndGggPT09IDEgJiYgbmV3QXJyWzBdID09PSAxMTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.filter - return value of callbackfn is a number (value is positive number)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.20/15.4.4.20-9-c-iii-9.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjEvMTUuNC40LjIxLTAtMS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UgbXVzdCBleGlzdCBhcyBhIGZ1bmN0aW9uDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIGYgPSBBcnJheS5wcm90b3R5cGUucmVkdWNlOw0KICBpZiAodHlwZW9mKGYpID09PSAiZnVuY3Rpb24iKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.reduce must exist as a function","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-0-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjEvMTUuNC40LjIxLTAtMi5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UubGVuZ3RoIG11c3QgYmUgMQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIGlmIChBcnJheS5wcm90b3R5cGUucmVkdWNlLmxlbmd0aCA9PT0gMSkgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduce.length must be 1","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-0-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjEvMTUuNC40LjIxLTEtMS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UgYXBwbGllZCB0byB1bmRlZmluZWQNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlLnJlZHVjZS5jYWxsKHVuZGVmaW5lZCk7IA0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduce applied to undefined","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-1-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjEvMTUuNC40LjIxLTEtMTAuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlIGFwcGxpZWQgdG8gdGhlIE1hdGggb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiAoJ1tvYmplY3QgTWF0aF0nID09PSBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwob2JqKSk7DQogICAgICAgIH0NCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgTWF0aC5sZW5ndGggPSAxOw0KICAgICAgICAgICAgTWF0aFswXSA9IDE7DQogICAgICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLnJlZHVjZS5jYWxsKE1hdGgsIGNhbGxiYWNrZm4sIDEpOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIE1hdGhbMF07DQogICAgICAgICAgICBkZWxldGUgTWF0aC5sZW5ndGg7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.reduce applied to the Math object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-1-10.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjEvMTUuNC40LjIxLTEtMTEuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlIGFwcGxpZWQgdG8gRGF0ZSBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiBvYmogaW5zdGFuY2VvZiBEYXRlOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IG5ldyBEYXRlKCk7DQogICAgICAgIG9iai5sZW5ndGggPSAxOw0KICAgICAgICBvYmpbMF0gPSAxOw0KDQogICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUucmVkdWNlLmNhbGwob2JqLCBjYWxsYmFja2ZuLCAxKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.reduce applied to Date object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-1-11.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjEvMTUuNC40LjIxLTEtMTIuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlIGFwcGxpZWQgdG8gUmVnRXhwIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIG9iaiBpbnN0YW5jZW9mIFJlZ0V4cDsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSBuZXcgUmVnRXhwKCk7DQogICAgICAgIG9iai5sZW5ndGggPSAxOw0KICAgICAgICBvYmpbMF0gPSAxOw0KDQogICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUucmVkdWNlLmNhbGwob2JqLCBjYWxsYmFja2ZuLCAxKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.reduce applied to RegExp object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-1-12.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjEvMTUuNC40LjIxLTEtMTMuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlIGFwcGxpZWQgdG8gdGhlIEpTT04gb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiAoJ1tvYmplY3QgSlNPTl0nID09PSBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwob2JqKSk7DQogICAgICAgIH0NCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgSlNPTi5sZW5ndGggPSAxOw0KICAgICAgICAgICAgSlNPTlswXSA9IDE7DQogICAgICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLnJlZHVjZS5jYWxsKEpTT04sIGNhbGxiYWNrZm4sIDEpOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIEpTT04ubGVuZ3RoOw0KICAgICAgICAgICAgZGVsZXRlIEpTT05bMF07DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.reduce applied to the JSON object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-1-13.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjEvMTUuNC40LjIxLTEtMTQuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlIGFwcGxpZWQgdG8gRXJyb3Igb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gb2JqIGluc3RhbmNlb2YgRXJyb3I7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0gbmV3IEVycm9yKCk7DQogICAgICAgIG9iai5sZW5ndGggPSAxOw0KICAgICAgICBvYmpbMF0gPSAxOw0KDQogICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUucmVkdWNlLmNhbGwob2JqLCBjYWxsYmFja2ZuLCAxKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.reduce applied to Error object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-1-14.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjEvMTUuNC40LjIxLTEtMTUuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlIGFwcGxpZWQgdG8gdGhlIEFyZ3VtZW50cyBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuICgnW29iamVjdCBBcmd1bWVudHNdJyA9PT0gT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKG9iaikpOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IChmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICByZXR1cm4gYXJndW1lbnRzOw0KICAgICAgICB9KCJhIiwgImIiKSk7DQoNCiAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UuY2FsbChvYmosIGNhbGxiYWNrZm4sIDEpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.reduce applied to the Arguments object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-1-15.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjEvMTUuNC40LjIxLTEtMi5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UgYXBwbGllZCB0byBudWxsDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UuY2FsbChudWxsKTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZSkgew0KICAgICAgICAgICAgcmV0dXJuIChlIGluc3RhbmNlb2YgVHlwZUVycm9yKTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.reduce applied to null","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-1-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjEvMTUuNC40LjIxLTEtMy5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UgYXBwbGllZCB0byBib29sZWFuIHByaW1pdGl2ZQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gIG9iaiBpbnN0YW5jZW9mIEJvb2xlYW47DQogICAgICAgIH0NCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgQm9vbGVhbi5wcm90b3R5cGVbMF0gPSB0cnVlOw0KICAgICAgICAgICAgQm9vbGVhbi5wcm90b3R5cGUubGVuZ3RoID0gMTsNCg0KICAgICAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UuY2FsbChmYWxzZSwgY2FsbGJhY2tmbiwgMSk7DQoNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBCb29sZWFuLnByb3RvdHlwZVswXTsNCiAgICAgICAgICAgIGRlbGV0ZSBCb29sZWFuLnByb3RvdHlwZS5sZW5ndGg7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.reduce applied to boolean primitive","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-1-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjEvMTUuNC40LjIxLTEtNC5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UgYXBwbGllZCB0byBCb29sZWFuIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIG9iaiBpbnN0YW5jZW9mIEJvb2xlYW47DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0gbmV3IEJvb2xlYW4odHJ1ZSk7DQogICAgICAgIG9iai5sZW5ndGggPSAyOw0KICAgICAgICBvYmpbMF0gPSAxMTsNCiAgICAgICAgb2JqWzFdID0gMTI7DQoNCiAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UuY2FsbChvYmosIGNhbGxiYWNrZm4sIDEpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.reduce applied to Boolean object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-1-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjEvMTUuNC40LjIxLTEtNS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UgYXBwbGllZCB0byBudW1iZXIgcHJpbWl0aXZlDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gb2JqIGluc3RhbmNlb2YgTnVtYmVyOw0KICAgICAgICB9DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE51bWJlci5wcm90b3R5cGVbMF0gPSAxOw0KICAgICAgICAgICAgTnVtYmVyLnByb3RvdHlwZS5sZW5ndGggPSAxOw0KDQogICAgICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLnJlZHVjZS5jYWxsKDIuNSwgY2FsbGJhY2tmbiwgMSk7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgTnVtYmVyLnByb3RvdHlwZVswXTsNCiAgICAgICAgICAgIGRlbGV0ZSBOdW1iZXIucHJvdG90eXBlLmxlbmd0aDsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.reduce applied to number primitive","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-1-5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjEvMTUuNC40LjIxLTEtNi5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UgYXBwbGllZCB0byBOdW1iZXIgb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gb2JqIGluc3RhbmNlb2YgTnVtYmVyOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IG5ldyBOdW1iZXIoLTEyOCk7DQogICAgICAgIG9iai5sZW5ndGggPSAyOw0KICAgICAgICBvYmpbMF0gPSAxMTsNCiAgICAgICAgb2JqWzFdID0gMTI7DQogICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUucmVkdWNlLmNhbGwob2JqLCBjYWxsYmFja2ZuLCAxKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.reduce applied to Number object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-1-6.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjEvMTUuNC40LjIxLTEtNy5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UgYXBwbGllZCB0byBzdHJpbmcgcHJpbWl0aXZlDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiBvYmogaW5zdGFuY2VvZiBTdHJpbmc7DQogICAgICAgIH0NCg0KICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLnJlZHVjZS5jYWxsKCJhYmMiLCBjYWxsYmFja2ZuLCAxKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.reduce applied to string primitive","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-1-7.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjEvMTUuNC40LjIxLTEtOC5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UgYXBwbGllZCB0byBTdHJpbmcgb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiBvYmogaW5zdGFuY2VvZiBTdHJpbmc7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0gbmV3IFN0cmluZygiYWJjIik7DQoNCiAgICAgICAgcmV0dXJuICBBcnJheS5wcm90b3R5cGUucmVkdWNlLmNhbGwob2JqLCBjYWxsYmFja2ZuLCAxKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.reduce applied to String object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-1-8.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjEvMTUuNC40LjIxLTEtOS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UgYXBwbGllZCB0byBGdW5jdGlvbiBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiBvYmogaW5zdGFuY2VvZiBGdW5jdGlvbjsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSBmdW5jdGlvbiAoYSwgYikgew0KICAgICAgICAgICAgcmV0dXJuIGEgKyBiOw0KICAgICAgICB9Ow0KICAgICAgICBvYmpbMF0gPSAxMTsNCiAgICAgICAgb2JqWzFdID0gOTsNCg0KICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLnJlZHVjZS5jYWxsKG9iaiwgY2FsbGJhY2tmbiwgMSk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduce applied to Function object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-1-9.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjEvMTUuNC40LjIxLTEwLTEuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlIGRvZXNuJ3QgbXV0YXRlIHRoZSBBcnJheSBvbiB3aGljaCBpdCBpcyBjYWxsZWQgb24NCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCAgaWR4LCBvYmopDQogIHsNCiAgICByZXR1cm4gMTsNCiAgfQ0KICB2YXIgc3JjQXJyID0gWzEsMiwzLDQsNV07DQogIHNyY0Fyci5yZWR1Y2UoY2FsbGJhY2tmbik7DQogIGlmKHNyY0FyclswXSA9PT0gMSAmJg0KICAgICBzcmNBcnJbMV0gPT09IDIgJiYNCiAgICAgc3JjQXJyWzJdID09PSAzICYmDQogICAgIHNyY0FyclszXSA9PT0gNCAmJg0KICAgICBzcmNBcnJbNF0gPT09IDUpDQogIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KDQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduce doesn't mutate the Array on which it is called on","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-10-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjEvMTUuNC40LjIxLTEwLTIuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlIHJlZHVjZXMgdGhlIGFycmF5IGluIGFzY2VuZGluZyBvcmRlciBvZiBpbmRpY2VzDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgIGlkeCwgb2JqKQ0KICB7DQogICAgcmV0dXJuIHByZXZWYWwgKyBjdXJWYWw7DQogIH0NCiAgdmFyIHNyY0FyciA9IFsnMScsJzInLCczJywnNCcsJzUnXTsNCiAgaWYoc3JjQXJyLnJlZHVjZShjYWxsYmFja2ZuKSA9PT0gJzEyMzQ1JykNCiAgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQoNCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.reduce reduces the array in ascending order of indices","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-10-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjEvMTUuNC40LjIxLTEwLTMuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlIC0gc3ViY2xhc3NlZCBhcnJheSBvZiBsZW5ndGggMQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIGZvby5wcm90b3R5cGUgPSBbMV07DQogIGZ1bmN0aW9uIGZvbygpIHt9DQogIHZhciBmID0gbmV3IGZvbygpOw0KICANCiAgZnVuY3Rpb24gY2IoKXt9DQogIGlmKGYucmVkdWNlKGNiKSA9PT0gMSkNCiAgICByZXR1cm4gdHJ1ZTsNCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.reduce - subclassed array of length 1","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-10-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjEvMTUuNC40LjIxLTEwLTQuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlIC0gc3ViY2xhc3NlZCBhcnJheSB3aXRoIGxlbmd0aCBtb3JlIHRoYW4gMQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIGZvby5wcm90b3R5cGUgPSBuZXcgQXJyYXkoMSwgMiwgMywgNCk7DQogIGZ1bmN0aW9uIGZvbygpIHt9DQogIHZhciBmID0gbmV3IGZvbygpOw0KICANCiAgZnVuY3Rpb24gY2IocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iail7cmV0dXJuIHByZXZWYWwgKyBjdXJWYWw7fQ0KICBpZihmLnJlZHVjZShjYikgPT09IDEwKQ0KICAgIHJldHVybiB0cnVlOw0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.reduce - subclassed array with length more than 1","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-10-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjEvMTUuNC40LjIxLTEwLTUuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlIHJlZHVjZXMgdGhlIGFycmF5IGluIGFzY2VuZGluZyBvcmRlciBvZiBpbmRpY2VzKGluaXRpYWx2YWx1ZSBwcmVzZW50KQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsICBpZHgsIG9iaikNCiAgew0KICAgIHJldHVybiBwcmV2VmFsICsgY3VyVmFsOw0KICB9DQogIHZhciBzcmNBcnIgPSBbJzEnLCcyJywnMycsJzQnLCc1J107DQogIGlmKHNyY0Fyci5yZWR1Y2UoY2FsbGJhY2tmbiwnMCcpID09PSAnMDEyMzQ1JykNCiAgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQoNCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.reduce reduces the array in ascending order of indices(initialvalue present)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-10-5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjEvMTUuNC40LjIxLTEwLTYuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlIC0gc3ViY2xhc3NlZCBhcnJheSB3aGVuIGluaXRpYWx2YWx1ZSBwcm92aWRlZA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIGZvby5wcm90b3R5cGUgPSBbMSwyLDMsNF07DQogIGZ1bmN0aW9uIGZvbygpIHt9DQogIHZhciBmID0gbmV3IGZvbygpOw0KICANCiAgZnVuY3Rpb24gY2IocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iail7cmV0dXJuIHByZXZWYWwgKyBjdXJWYWw7fQ0KICBpZihmLnJlZHVjZShjYiwtMSkgPT09IDkpDQogICAgcmV0dXJuIHRydWU7DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduce - subclassed array when initialvalue provided","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-10-6.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjEvMTUuNC40LjIxLTEwLTcuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlIC0gc3ViY2xhc3NlZCBhcnJheSB3aXRoIGxlbmd0aCAxIGFuZCBpbml0aWFsdmFsdWUgcHJvdmlkZWQNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICBmb28ucHJvdG90eXBlID0gWzFdOw0KICBmdW5jdGlvbiBmb28oKSB7fQ0KICB2YXIgZiA9IG5ldyBmb28oKTsNCiAgDQogIGZ1bmN0aW9uIGNiKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmope3JldHVybiBwcmV2VmFsICsgY3VyVmFsO30NCiAgaWYoZi5yZWR1Y2UoY2IsLTEpID09PSAwKQ0KICAgIHJldHVybiB0cnVlOw0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.reduce - subclassed array with length 1 and initialvalue provided","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-10-7.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjEvMTUuNC40LjIxLTEwLTguanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlIGRvZXNuJ3QgdmlzaXQgZXhwYW5kb3MNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogIHZhciBjYWxsQ250ID0gMDsNCiAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsICBpZHgsIG9iaikNCiAgew0KICAgIGNhbGxDbnQrKzsNCiAgICByZXR1cm4gY3VyVmFsOw0KICB9DQogIHZhciBzcmNBcnIgPSBbJzEnLCcyJywnMycsJzQnLCc1J107DQogIHNyY0FyclsiaSJdID0gMTA7DQogIHNyY0Fyclt0cnVlXSA9IDExOw0KICBzcmNBcnIucmVkdWNlKGNhbGxiYWNrZm4pOw0KDQogIGlmKGNhbGxDbnQgPT0gNCkNCiAgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQoNCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.reduce doesn't visit expandos","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-10-8.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjEvMTUuNC40LjIxLTItMS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UgLSAnbGVuZ3RoJyBpcyBvd24gZGF0YSBwcm9wZXJ0eSBvbiBhbiBBcnJheS1saWtlIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gKG9iai5sZW5ndGggPT09IDIpOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IHsNCiAgICAgICAgICAgIDA6IDEyLA0KICAgICAgICAgICAgMTogMTEsDQogICAgICAgICAgICAyOiA5LA0KICAgICAgICAgICAgbGVuZ3RoOiAyDQogICAgICAgIH07DQoNCiAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UuY2FsbChvYmosIGNhbGxiYWNrZm4sIDEpID09PSB0cnVlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.reduce - 'length' is own data property on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-2-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjEvMTUuNC40LjIxLTItMTAuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlIGFwcGxpZWQgdG8gQXJyYXktbGlrZSBvYmplY3QsICdsZW5ndGgnIGlzIGFuIGluaGVyaXRlZCBhY2Nlc3NvciBwcm9wZXJ0eQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gKG9iai5sZW5ndGggPT09IDIpOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIHByb3RvID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHByb3RvLCAibGVuZ3RoIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIDI7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBDb24gPSBmdW5jdGlvbiAoKSB7IH07DQogICAgICAgIENvbi5wcm90b3R5cGUgPSBwcm90bzsNCg0KICAgICAgICB2YXIgY2hpbGQgPSBuZXcgQ29uKCk7DQogICAgICAgIGNoaWxkWzBdID0gMTI7DQogICAgICAgIGNoaWxkWzFdID0gMTE7DQogICAgICAgIGNoaWxkWzJdID0gOTsNCg0KICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLnJlZHVjZS5jYWxsKGNoaWxkLCBjYWxsYmFja2ZuLCAxKSA9PT0gdHJ1ZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.reduce applied to Array-like object, 'length' is an inherited accessor property","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-2-10.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjEvMTUuNC40LjIxLTItMTEuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlIGFwcGxpZWQgdG8gQXJyYXktbGlrZSBvYmplY3QsICdsZW5ndGgnIGlzIGFuIG93biBhY2Nlc3NvciBwcm9wZXJ0eSB3aXRob3V0IGEgZ2V0IGZ1bmN0aW9uDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0gew0KICAgICAgICAgICAgMDogMTEsDQogICAgICAgICAgICAxOiAxMg0KICAgICAgICB9Ow0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAibGVuZ3RoIiwgew0KICAgICAgICAgICAgc2V0OiBmdW5jdGlvbiAoKSB7IH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UuY2FsbChvYmosIGNhbGxiYWNrZm4sIDEpID09PSAxICYmICFhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.reduce applied to Array-like object, 'length' is an own accessor property without a get function","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-2-11.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjEvMTUuNC40LjIxLTItMTIuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlIC0gJ2xlbmd0aCcgaXMgb3duIGFjY2Vzc29yIHByb3BlcnR5IHdpdGhvdXQgYSBnZXQgZnVuY3Rpb24gdGhhdCBvdmVycmlkZXMgYW4gaW5oZXJpdGVkIGFjY2Vzc29yIHByb3BlcnR5IG9uIGFuIEFycmF5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgIH0NCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KE9iamVjdC5wcm90b3R5cGUsICJsZW5ndGgiLCB7DQogICAgICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgIHJldHVybiAyOw0KICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgdmFyIG9iaiA9IHsgMDogMTIsIDE6IDExIH07DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAibGVuZ3RoIiwgew0KICAgICAgICAgICAgICAgIHNldDogZnVuY3Rpb24gKCkgeyB9LA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUucmVkdWNlLmNhbGwob2JqLCBjYWxsYmFja2ZuLCAxKSA9PT0gMSAmJiAhYWNjZXNzZWQ7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgT2JqZWN0LnByb3RvdHlwZS5sZW5ndGg7DQogICAgICAgIH0NCg0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.reduce - 'length' is own accessor property without a get function that overrides an inherited accessor property on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-2-12.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjEvMTUuNC40LjIxLTItMTMuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlIGFwcGxpZWQgdG8gQXJyYXktbGlrZSBvYmplY3QgdGhhdCAnbGVuZ3RoJyBpcyBpbmhlcml0ZWQgYWNjZXNzb3IgcHJvcGVydHkgd2l0aG91dCBhIGdldCBmdW5jdGlvbg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgcHJvdG8gPSB7fTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHByb3RvLCAibGVuZ3RoIiwgew0KICAgICAgICAgICAgc2V0OiBmdW5jdGlvbiAoKSB7IH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIENvbiA9IGZ1bmN0aW9uICgpIHsgfTsNCiAgICAgICAgQ29uLnByb3RvdHlwZSA9IHByb3RvOw0KDQogICAgICAgIHZhciBjaGlsZCA9IG5ldyBDb24oKTsNCiAgICAgICAgY2hpbGRbMF0gPSAxMTsNCiAgICAgICAgY2hpbGRbMV0gPSAxMjsNCg0KICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLnJlZHVjZS5jYWxsKGNoaWxkLCBjYWxsYmFja2ZuLCAxKSA9PT0gMSAmJiAhYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduce applied to Array-like object that 'length' is inherited accessor property without a get function","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-2-13.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjEvMTUuNC40LjIxLTItMTQuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlIGFwcGxpZWQgdG8gdGhlIEFycmF5LWxpa2Ugb2JqZWN0IHRoYXQgJ2xlbmd0aCcgcHJvcGVydHkgZG9lc24ndCBleGlzdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0geyAwOiAxMSwgMTogMTIgfTsNCg0KICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLnJlZHVjZS5jYWxsKG9iaiwgY2FsbGJhY2tmbiwgMSkgPT09IDEgJiYgIWFjY2Vzc2VkOw0KDQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduce applied to the Array-like object that 'length' property doesn't exist","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-2-14.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjEvMTUuNC40LjIxLTItMTUuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlIC0gJ2xlbmd0aCcgaXMgcHJvcGVydHkgb2YgdGhlIGdsb2JhbCBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIChvYmoubGVuZ3RoID09PSAyKTsNCiAgICAgICAgfQ0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICB2YXIgb2xkTGVuID0gZm5HbG9iYWxPYmplY3QoKS5sZW5ndGg7DQogICAgICAgICAgICBmbkdsb2JhbE9iamVjdCgpWzBdID0gMTI7DQogICAgICAgICAgICBmbkdsb2JhbE9iamVjdCgpWzFdID0gMTE7DQogICAgICAgICAgICBmbkdsb2JhbE9iamVjdCgpWzJdID0gOTsNCiAgICAgICAgICAgIGZuR2xvYmFsT2JqZWN0KCkubGVuZ3RoID0gMjsNCiAgICAgICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUucmVkdWNlLmNhbGwoZm5HbG9iYWxPYmplY3QoKSwgY2FsbGJhY2tmbiwgMSkgPT09IHRydWU7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgZm5HbG9iYWxPYmplY3QoKVswXTsNCiAgICAgICAgICAgIGRlbGV0ZSBmbkdsb2JhbE9iamVjdCgpWzFdOw0KICAgICAgICAgICAgZGVsZXRlIGZuR2xvYmFsT2JqZWN0KClbMl07DQogICAgICAgICAgICBmbkdsb2JhbE9iamVjdCgpLmxlbmd0aCA9IG9sZExlbjsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.reduce - 'length' is property of the global object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-2-15.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjEvMTUuNC40LjIxLTItMTcuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlIGFwcGxpZWQgdG8gdGhlIEFyZ3VtZW50cyBvYmplY3QsIHdoaWNoIGltcGxlbWVudHMgaXRzIG93biBwcm9wZXJ0eSBnZXQgbWV0aG9kDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiAob2JqLmxlbmd0aCA9PT0gMik7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgZnVuYyA9IGZ1bmN0aW9uIChhLCBiKSB7DQogICAgICAgICAgICBhcmd1bWVudHNbMl0gPSA5Ow0KICAgICAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UuY2FsbChhcmd1bWVudHMsIGNhbGxiYWNrZm4sIDEpOw0KICAgICAgICB9Ow0KDQogICAgICAgIHJldHVybiBmdW5jKDEyLCAxMSkgPT09IHRydWU7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduce applied to the Arguments object, which implements its own property get method","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-2-17.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjEvMTUuNC40LjIxLTItMTguanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlIGFwcGxpZWQgdG8gU3RyaW5nIG9iamVjdCwgd2hpY2ggaW1wbGVtZW50cyBpdHMgb3duIHByb3BlcnR5IGdldCBtZXRob2QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIChvYmoubGVuZ3RoID09PSAzKTsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBzdHIgPSBuZXcgU3RyaW5nKCIwMTIiKTsNCg0KICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLnJlZHVjZS5jYWxsKHN0ciwgY2FsbGJhY2tmbiwgMSkgPT09IHRydWU7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduce applied to String object, which implements its own property get method","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-2-18.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjEvMTUuNC40LjIxLTItMTkuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlIGFwcGxpZWQgdG8gRnVuY3Rpb24gb2JqZWN0LCB3aGljaCBpbXBsZW1lbnRzIGl0cyBvd24gcHJvcGVydHkgZ2V0IG1ldGhvZA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gKG9iai5sZW5ndGggPT09IDIpOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIGZ1biA9IGZ1bmN0aW9uIChhLCBiKSB7DQogICAgICAgICAgICByZXR1cm4gYSArIGI7DQogICAgICAgIH07DQogICAgICAgIGZ1blswXSA9IDEyOw0KICAgICAgICBmdW5bMV0gPSAxMTsNCiAgICAgICAgZnVuWzJdID0gOTsNCg0KICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLnJlZHVjZS5jYWxsKGZ1biwgY2FsbGJhY2tmbiwgMSkgPT09IHRydWU7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduce applied to Function object, which implements its own property get method","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-2-19.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjEvMTUuNC40LjIxLTItMi5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UgLSAnbGVuZ3RoJyBpcyBvd24gZGF0YSBwcm9wZXJ0eSBvbiBhbiBBcnJheQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gKG9iai5sZW5ndGggPT09IDIpOw0KICAgICAgICB9DQoNCiAgICAgICAgcmV0dXJuIFsxMiwgMTFdLnJlZHVjZShjYWxsYmFja2ZuLCAxKSA9PT0gdHJ1ZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.reduce - 'length' is own data property on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-2-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjEvMTUuNC40LjIxLTItMy5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UgLSAnbGVuZ3RoJyBpcyBhbiBvd24gZGF0YSBwcm9wZXJ0eSB0aGF0IG92ZXJyaWRlcyBhbiBpbmhlcml0ZWQgZGF0YSBwcm9wZXJ0eSBvbiBhbiBBcnJheS1saWtlIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gKG9iai5sZW5ndGggPT09IDIpOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIHByb3RvID0geyBsZW5ndGg6IDMgfTsNCg0KICAgICAgICB2YXIgQ29uID0gZnVuY3Rpb24gKCkgeyB9Ow0KICAgICAgICBDb24ucHJvdG90eXBlID0gcHJvdG87DQoNCiAgICAgICAgdmFyIGNoaWxkID0gbmV3IENvbigpOw0KICAgICAgICBjaGlsZC5sZW5ndGggPSAyOw0KICAgICAgICBjaGlsZFswXSA9IDEyOw0KICAgICAgICBjaGlsZFsxXSA9IDExOw0KICAgICAgICBjaGlsZFsyXSA9IDk7DQoNCiAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UuY2FsbChjaGlsZCwgY2FsbGJhY2tmbiwgMSkgPT09IHRydWU7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduce - 'length' is an own data property that overrides an inherited data property on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-2-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjEvMTUuNC40LjIxLTItNC5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UgLSAnbGVuZ3RoJyBpcyBvd24gZGF0YSBwcm9wZXJ0eSB0aGF0IG92ZXJyaWRlcyBhbiBpbmhlcml0ZWQgZGF0YSBwcm9wZXJ0eSBvbiBhbiBBcnJheQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBzdG9yZVByb3RvTGVuZ3RoOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIChvYmoubGVuZ3RoID09PSAyKTsNCiAgICAgICAgfQ0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBzdG9yZVByb3RvTGVuZ3RoID0gQXJyYXkucHJvdG90eXBlLmxlbmd0aDsNCiAgICAgICAgICAgIEFycmF5LnByb3RvdHlwZS5sZW5ndGggPSAwOw0KDQogICAgICAgICAgICByZXR1cm4gWzEyLCAxMV0ucmVkdWNlKGNhbGxiYWNrZm4sIDEpID09PSB0cnVlOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlLmxlbmd0aCA9IHN0b3JlUHJvdG9MZW5ndGg7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.reduce - 'length' is own data property that overrides an inherited data property on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-2-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjEvMTUuNC40LjIxLTItNS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UgYXBwbGllZCB0byBBcnJheS1saWtlIG9iamVjdCwgJ2xlbmd0aCcgaXMgYW4gb3duIGRhdGEgcHJvcGVydHkgdGhhdCBvdmVycmlkZXMgYW4gaW5oZXJpdGVkIGFjY2Vzc29yIHByb3BlcnR5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiAob2JqLmxlbmd0aCA9PT0gMik7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgcHJvdG8gPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkocHJvdG8sICJsZW5ndGgiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gMzsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIENvbiA9IGZ1bmN0aW9uICgpIHsgfTsNCiAgICAgICAgQ29uLnByb3RvdHlwZSA9IHByb3RvOw0KDQogICAgICAgIHZhciBjaGlsZCA9IG5ldyBDb24oKTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGNoaWxkLCAibGVuZ3RoIiwgew0KICAgICAgICAgICAgdmFsdWU6IDIsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQogICAgICAgIGNoaWxkWzBdID0gMTI7DQogICAgICAgIGNoaWxkWzFdID0gMTE7DQogICAgICAgIGNoaWxkWzJdID0gOTsNCg0KICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLnJlZHVjZS5jYWxsKGNoaWxkLCBjYWxsYmFja2ZuLCAxKSA9PT0gdHJ1ZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.reduce applied to Array-like object, 'length' is an own data property that overrides an inherited accessor property","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-2-5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjEvMTUuNC40LjIxLTItNi5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UgYXBwbGllZCB0byBBcnJheS1saWtlIG9iamVjdCwgJ2xlbmd0aCcgaXMgYW4gaW5oZXJpdGVkIGRhdGEgcHJvcGVydHkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIChvYmoubGVuZ3RoID09PSAyKTsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBwcm90byA9IHsgbGVuZ3RoOiAyIH07DQoNCiAgICAgICAgdmFyIENvbiA9IGZ1bmN0aW9uICgpIHsgfTsNCiAgICAgICAgQ29uLnByb3RvdHlwZSA9IHByb3RvOw0KDQogICAgICAgIHZhciBjaGlsZCA9IG5ldyBDb24oKTsNCiAgICAgICAgY2hpbGRbMF0gPSAxMjsNCiAgICAgICAgY2hpbGRbMV0gPSAxMTsNCiAgICAgICAgY2hpbGRbMl0gPSA5Ow0KDQogICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUucmVkdWNlLmNhbGwoY2hpbGQsIGNhbGxiYWNrZm4sIDEpID09PSB0cnVlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.reduce applied to Array-like object, 'length' is an inherited data property","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-2-6.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjEvMTUuNC40LjIxLTItNy5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UgYXBwbGllZCB0byBBcnJheS1saWtlIG9iamVjdCwgJ2xlbmd0aCcgaXMgYW4gb3duIGFjY2Vzc29yIHByb3BlcnR5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiAob2JqLmxlbmd0aCA9PT0gMik7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgImxlbmd0aCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiAyOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBvYmpbMF0gPSAxMjsNCiAgICAgICAgb2JqWzFdID0gMTE7DQogICAgICAgIG9ialsyXSA9IDk7DQoNCiAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UuY2FsbChvYmosIGNhbGxiYWNrZm4sIDEpID09PSB0cnVlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.reduce applied to Array-like object, 'length' is an own accessor property","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-2-7.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjEvMTUuNC40LjIxLTItOC5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UgYXBwbGllZCB0byBBcnJheS1saWtlIG9iamVjdCwgJ2xlbmd0aCcgaXMgYW4gb3duIGFjY2Vzc29yIHByb3BlcnR5IHRoYXQgb3ZlcnJpZGVzIGFuIGluaGVyaXRlZCBkYXRhIHByb3BlcnR5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiAob2JqLmxlbmd0aCA9PT0gMik7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgcHJvdG8gPSB7IGxlbmd0aDogMyB9Ow0KDQogICAgICAgIHZhciBDb24gPSBmdW5jdGlvbiAoKSB7IH07DQogICAgICAgIENvbi5wcm90b3R5cGUgPSBwcm90bzsNCg0KICAgICAgICB2YXIgY2hpbGQgPSBuZXcgQ29uKCk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGNoaWxkLCAibGVuZ3RoIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIDI7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIGNoaWxkWzBdID0gMTI7DQogICAgICAgIGNoaWxkWzFdID0gMTE7DQogICAgICAgIGNoaWxkWzJdID0gOTsNCg0KICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLnJlZHVjZS5jYWxsKGNoaWxkLCBjYWxsYmFja2ZuLCAxKSA9PT0gdHJ1ZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.reduce applied to Array-like object, 'length' is an own accessor property that overrides an inherited data property","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-2-8.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjEvMTUuNC40LjIxLTItOS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UgYXBwbGllZCB0byBBcnJheS1saWtlIG9iamVjdCwgJ2xlbmd0aCcgaXMgYW4gb3duIGFjY2Vzc29yIHByb3BlcnR5IHRoYXQgb3ZlcnJpZGVzIGFuIGluaGVyaXRlZCBhY2Nlc3NvciBwcm9wZXJ0eQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gKG9iai5sZW5ndGggPT09IDIpOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIHByb3RvID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHByb3RvLCAibGVuZ3RoIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIDM7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBDb24gPSBmdW5jdGlvbiAoKSB7IH07DQogICAgICAgIENvbi5wcm90b3R5cGUgPSBwcm90bzsNCg0KICAgICAgICB2YXIgY2hpbGQgPSBuZXcgQ29uKCk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGNoaWxkLCAibGVuZ3RoIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIDI7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIGNoaWxkWzBdID0gMTI7DQogICAgICAgIGNoaWxkWzFdID0gMTE7DQogICAgICAgIGNoaWxkWzJdID0gOTsNCg0KICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLnJlZHVjZS5jYWxsKGNoaWxkLCBjYWxsYmFja2ZuLCAxKSA9PT0gdHJ1ZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.reduce applied to Array-like object, 'length' is an own accessor property that overrides an inherited accessor property","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-2-9.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjEvMTUuNC40LjIxLTMtMS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UgLSB2YWx1ZSBvZiAnbGVuZ3RoJyBpcyB1bmRlZmluZWQNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgcmV0dXJuIDI7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0geyAwOiAwLCAxOiAxLCBsZW5ndGg6IHVuZGVmaW5lZCB9Ow0KDQogICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUucmVkdWNlLmNhbGwob2JqLCBjYWxsYmFja2ZuLCAxKSA9PT0gMSAmJiAhYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduce - value of 'length' is undefined","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-3-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjEvMTUuNC40LjIxLTMtMTAuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlIC0gdmFsdWUgb2YgJ2xlbmd0aCcgaXMgbnVtYmVyIHByaW1pdGl2ZSAodmFsdWUgaXMgTmFOKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICByZXR1cm4gMjsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSB7IDA6IDksIGxlbmd0aDogTmFOIH07DQoNCiAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UuY2FsbChvYmosIGNhbGxiYWNrZm4sIDEpID09PSAxICYmICFhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.reduce - value of 'length' is number primitive (value is NaN)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-3-10.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjEvMTUuNC40LjIxLTMtMTEuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlIC0gJ2xlbmd0aCcgaXMgYSBzdHJpbmcgY29udGFpbmluZyBhIHBvc2l0aXZlIG51bWJlcg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gKGN1clZhbCA9PT0gMTEgJiYgaWR4ID09PSAxKTsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSB7IDE6IDExLCAyOiA5LCBsZW5ndGg6ICIyIiB9Ow0KDQogICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUucmVkdWNlLmNhbGwob2JqLCBjYWxsYmFja2ZuLCAxKSA9PT0gdHJ1ZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.reduce - 'length' is a string containing a positive number","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-3-11.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjEvMTUuNC40LjIxLTMtMTIuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlIC0gJ2xlbmd0aCcgaXMgYSBzdHJpbmcgY29udGFpbmluZyBhIG5lZ2F0aXZlIG51bWJlcg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gKGN1clZhbCA9PT0gMTEgJiYgaWR4ID09PSAxKTsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSB7IDE6IDExLCAyOiA5LCBsZW5ndGg6ICItNDI5NDk2NzI5NCIgfTsNCg0KICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLnJlZHVjZS5jYWxsKG9iaiwgY2FsbGJhY2tmbiwgMSkgPT09IHRydWU7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduce - 'length' is a string containing a negative number","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-3-12.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjEvMTUuNC40LjIxLTMtMTMuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlIC0gJ2xlbmd0aCcgaXMgYSBzdHJpbmcgY29udGFpbmluZyBhIGRlY2ltYWwgbnVtYmVyDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiAoY3VyVmFsID09PSAxMSAmJiBpZHggPT09IDEpOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgMTogMTEsIDI6IDksIGxlbmd0aDogIjIuNSIgfTsNCg0KICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLnJlZHVjZS5jYWxsKG9iaiwgY2FsbGJhY2tmbiwgMSkgPT09IHRydWU7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduce - 'length' is a string containing a decimal number","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-3-13.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjEvMTUuNC40LjIxLTMtMTQuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlIC0gJ2xlbmd0aCcgaXMgYSBzdHJpbmcgY29udGFpbmluZyArLy1JbmZpbml0eQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFjY2Vzc2VkMSA9IGZhbHNlOw0KICAgICAgICB2YXIgYWNjZXNzZWQyID0gZmFsc2U7DQogICAgICAgIHZhciBhY2Nlc3NlZDMgPSBmYWxzZTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuMShwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBhY2Nlc3NlZDEgPSB0cnVlOw0KICAgICAgICAgICAgcmV0dXJuIDI7DQogICAgICAgIH0NCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuMihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBhY2Nlc3NlZDIgPSB0cnVlOw0KICAgICAgICAgICAgcmV0dXJuIDI7DQogICAgICAgIH0NCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuMyhwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBhY2Nlc3NlZDMgPSB0cnVlOw0KICAgICAgICAgICAgcmV0dXJuIDI7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqMSA9IHsgMDogOSwgbGVuZ3RoOiAiSW5maW5pdHkiIH07DQogICAgICAgIHZhciBvYmoyID0geyAwOiA5LCBsZW5ndGg6ICItSW5maW5pdHkiIH07DQogICAgICAgIHZhciBvYmozID0geyAwOiA5LCBsZW5ndGg6ICIrSW5maW5pdHkiIH07DQoNCiAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UuY2FsbChvYmoxLCBjYWxsYmFja2ZuMSwgMSkgPT09IDEgJiYNCiAgICAgICAgICAgIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UuY2FsbChvYmoyLCBjYWxsYmFja2ZuMiwgMSkgPT09IDEgJiYNCiAgICAgICAgICAgIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UuY2FsbChvYmozLCBjYWxsYmFja2ZuMywgMSkgPT09IDEgJiYNCiAgICAgICAgICAgICFhY2Nlc3NlZDEgJiYgIWFjY2Vzc2VkMiAmJiAhYWNjZXNzZWQzOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.reduce - 'length' is a string containing +/-Infinity","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-3-14.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjEvMTUuNC40LjIxLTMtMTUuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlIC0gJ2xlbmd0aCcgaXMgYSBzdHJpbmcgY29udGFpbmluZyBhbiBleHBvbmVudGlhbCBudW1iZXINCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIChjdXJWYWwgPT09IDExICYmIGlkeCA9PT0gMSk7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0geyAxOiAxMSwgMjogOSwgbGVuZ3RoOiAiMkUwIiB9Ow0KDQogICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUucmVkdWNlLmNhbGwob2JqLCBjYWxsYmFja2ZuLCAxKSA9PT0gdHJ1ZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.reduce - 'length' is a string containing an exponential number","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-3-15.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjEvMTUuNC40LjIxLTMtMTYuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlIC0gJ2xlbmd0aCcgaXMgYSBzdHJpbmcgY29udGFpbmluZyBhIGhleCBudW1iZXINCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIChjdXJWYWwgPT09IDExICYmIGlkeCA9PT0gMSk7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0geyAxOiAxMSwgMjogOSwgbGVuZ3RoOiAiMHgwMDAyIiB9Ow0KDQogICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUucmVkdWNlLmNhbGwob2JqLCBjYWxsYmFja2ZuLCAxKSA9PT0gdHJ1ZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.reduce - 'length' is a string containing a hex number","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-3-16.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjEvMTUuNC40LjIxLTMtMTcuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlIC0gJ2xlbmd0aCcgaXMgYSBzdHJpbmcgY29udGFpbmluZyBhIG51bWJlciB3aXRoIGxlYWRpbmcgemVyb3MNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIChjdXJWYWwgPT09IDExICYmIGlkeCA9PT0gMSk7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0geyAxOiAxMSwgMjogOSwgbGVuZ3RoOiAiMDAwMi4wMCIgfTsNCg0KICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLnJlZHVjZS5jYWxsKG9iaiwgY2FsbGJhY2tmbiwgMSkgPT09IHRydWU7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduce - 'length' is a string containing a number with leading zeros","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-3-17.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjEvMTUuNC40LjIxLTMtMTguanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlIC0gdmFsdWUgb2YgJ2xlbmd0aCcgaXMgYSBzdHJpbmcgdGhhdCBjYW4ndCBjb252ZXJ0IHRvIGEgbnVtYmVyDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICByZXR1cm4gMjsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSB7IDA6IDksIGxlbmd0aDogImFzZGYhXyIgfTsNCg0KICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLnJlZHVjZS5jYWxsKG9iaiwgY2FsbGJhY2tmbiwgMSkgPT09IDEgJiYgIWFjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.reduce - value of 'length' is a string that can't convert to a number","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-3-18.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjEvMTUuNC40LjIxLTMtMTkuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlIC0gdmFsdWUgb2YgJ2xlbmd0aCcgaXMgYW4gT2JqZWN0IHdoaWNoIGhhcyBhbiBvd24gdG9TdHJpbmcgbWV0aG9kDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiAoY3VyVmFsID09PSAxMSAmJiBpZHggPT09IDEpOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IHsNCiAgICAgICAgICAgIDE6IDExLA0KICAgICAgICAgICAgMjogOSwNCiAgICAgICAgICAgIGxlbmd0aDogew0KICAgICAgICAgICAgICAgIHRvU3RyaW5nOiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgIHJldHVybiAnMic7DQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfQ0KICAgICAgICB9Ow0KDQogICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUucmVkdWNlLmNhbGwob2JqLCBjYWxsYmFja2ZuLCAxKSA9PT0gdHJ1ZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.reduce - value of 'length' is an Object which has an own toString method","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-3-19.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjEvMTUuNC40LjIxLTMtMi5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UgLSB2YWx1ZSBvZiAnbGVuZ3RoJyBpcyBhIGJvb2xlYW4gKHZhbHVlIGlzIHRydWUpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiAoY3VyVmFsID09PSAxMSAmJiBpZHggPT09IDApOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgMDogMTEsIDE6IDksIGxlbmd0aDogdHJ1ZSB9Ow0KDQogICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUucmVkdWNlLmNhbGwob2JqLCBjYWxsYmFja2ZuLCAxKSA9PT0gdHJ1ZTsNCg0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.reduce - value of 'length' is a boolean (value is true)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-3-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjEvMTUuNC40LjIxLTMtMjAuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlIC0gdmFsdWUgb2YgJ2xlbmd0aCcgaXMgYW4gb2JqZWN0IHdoaWNoIGhhcyBhbiBvd24gdmFsdWVPZiBtZXRob2QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIChjdXJWYWwgPT09IDExICYmIGlkeCA9PT0gMSk7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0gew0KICAgICAgICAgICAgMTogMTEsDQogICAgICAgICAgICAyOiA5LA0KICAgICAgICAgICAgbGVuZ3RoOiB7DQogICAgICAgICAgICAgICAgdmFsdWVPZjogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gMjsNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9DQogICAgICAgIH07DQoNCiAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UuY2FsbChvYmosIGNhbGxiYWNrZm4sIDEpID09PSB0cnVlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.reduce - value of 'length' is an object which has an own valueOf method","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-3-20.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjEvMTUuNC40LjIxLTMtMjEuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlIC0gJ2xlbmd0aCcgaXMgYW4gb2JqZWN0IHRoYXQgaGFzIGFuIG93biB2YWx1ZU9mIG1ldGhvZCB0aGF0IHJldHVybnMgYW4gb2JqZWN0IGFuZCB0b1N0cmluZyBtZXRob2QgdGhhdCByZXR1cm5zIGEgc3RyaW5nDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgdmFsdWVPZk9jY3VyZWQgPSBmYWxzZTsNCiAgICAgICAgdmFyIHRvU3RyaW5nT2NjdXJlZCA9IGZhbHNlOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIChjdXJWYWwgPT09IDExICYmIGlkeCA9PT0gMSk7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0gew0KICAgICAgICAgICAgMTogMTEsDQogICAgICAgICAgICAyOiA5LA0KICAgICAgICAgICAgbGVuZ3RoOiB7DQogICAgICAgICAgICAgICAgdmFsdWVPZjogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAgICB2YWx1ZU9mT2NjdXJlZCA9IHRydWU7DQogICAgICAgICAgICAgICAgICAgIHJldHVybiB7fTsNCiAgICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAgIHRvU3RyaW5nOiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgIHRvU3RyaW5nT2NjdXJlZCA9IHRydWU7DQogICAgICAgICAgICAgICAgICAgIHJldHVybiAnMic7DQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfQ0KICAgICAgICB9Ow0KDQogICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUucmVkdWNlLmNhbGwob2JqLCBjYWxsYmFja2ZuLCAxKSA9PT0gdHJ1ZSAmJiB2YWx1ZU9mT2NjdXJlZCAmJiB0b1N0cmluZ09jY3VyZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduce - 'length' is an object that has an own valueOf method that returns an object and toString method that returns a string","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-3-21.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjEvMTUuNC40LjIxLTMtMjIuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlIHRocm93cyBUeXBlRXJyb3IgZXhjZXB0aW9uIC0gJ2xlbmd0aCcgaXMgYW4gb2JqZWN0IHdpdGggdG9TdHJpbmcgYW5kIHZhbHVlT2YgbWV0aG9kcyB0aGF0IGRvbu+/vXQgcmV0dXJuIHByaW1pdGl2ZSB2YWx1ZXMNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KICAgICAgICB2YXIgdmFsdWVPZkFjY2Vzc2VkID0gZmFsc2U7DQogICAgICAgIHZhciB0b1N0cmluZ0FjY2Vzc2VkID0gZmFsc2U7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICByZXR1cm4gdHJ1ZTsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSB7DQogICAgICAgICAgICAxOiAxMSwNCiAgICAgICAgICAgIDI6IDEyLA0KDQogICAgICAgICAgICBsZW5ndGg6IHsNCiAgICAgICAgICAgICAgICB2YWx1ZU9mOiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgIHZhbHVlT2ZBY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICAgICAgICAgIHJldHVybiB7fTsNCiAgICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAgIHRvU3RyaW5nOiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgIHRvU3RyaW5nQWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgICAgICAgICByZXR1cm4ge307DQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfQ0KICAgICAgICB9Ow0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBBcnJheS5wcm90b3R5cGUucmVkdWNlLmNhbGwob2JqLCBjYWxsYmFja2ZuLCAxKTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZXgpIHsNCiAgICAgICAgICAgIHJldHVybiAoZXggaW5zdGFuY2VvZiBUeXBlRXJyb3IpICYmICFhY2Nlc3NlZCAmJiB0b1N0cmluZ0FjY2Vzc2VkICYmIHZhbHVlT2ZBY2Nlc3NlZDsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.reduce throws TypeError exception - 'length' is an object with toString and valueOf methods that don\ufffdt return primitive values","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-3-22.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjEvMTUuNC40LjIxLTMtMjMuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlIHVzZXMgaW5oZXJpdGVkIHZhbHVlT2YgbWV0aG9kIC0gJ2xlbmd0aCcgaXMgYW4gb2JqZWN0IHdpdGggYW4gb3duIHRvU3RyaW5nIGFuZCBpbmhlcml0ZWQgdmFsdWVPZiBtZXRob2RzDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgdmFsdWVPZkFjY2Vzc2VkID0gZmFsc2U7DQogICAgICAgIHZhciB0b1N0cmluZ0FjY2Vzc2VkID0gZmFsc2U7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gKGN1clZhbCA9PT0gMTEgJiYgaWR4ID09PSAxKTsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBwcm90byA9IHsNCiAgICAgICAgICAgIHZhbHVlT2Y6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICB2YWx1ZU9mQWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgICAgIHJldHVybiAyOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9Ow0KDQogICAgICAgIHZhciBDb24gPSBmdW5jdGlvbiAoKSB7IH07DQogICAgICAgIENvbi5wcm90b3R5cGUgPSBwcm90bzsNCg0KICAgICAgICB2YXIgY2hpbGQgPSBuZXcgQ29uKCk7DQoNCiAgICAgICAgY2hpbGQudG9TdHJpbmcgPSBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICB0b1N0cmluZ0FjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIHJldHVybiAnMSc7DQogICAgICAgIH07DQoNCiAgICAgICAgdmFyIG9iaiA9IHsNCiAgICAgICAgICAgIDE6IDExLA0KICAgICAgICAgICAgMjogOSwNCiAgICAgICAgICAgIGxlbmd0aDogY2hpbGQNCiAgICAgICAgfTsNCg0KICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLnJlZHVjZS5jYWxsKG9iaiwgY2FsbGJhY2tmbiwgMSkgPT09IHRydWUgJiYgdmFsdWVPZkFjY2Vzc2VkICYmICF0b1N0cmluZ0FjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.reduce uses inherited valueOf method - 'length' is an object with an own toString and inherited valueOf methods","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-3-23.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjEvMTUuNC40LjIxLTMtMjQuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlIC0gdmFsdWUgb2YgJ2xlbmd0aCcgaXMgYSBwb3NpdGl2ZSBub24taW50ZWdlciwgZW5zdXJlIHRydW5jYXRpb24gb2NjdXJzIGluIHRoZSBwcm9wZXIgZGlyZWN0aW9uDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gKGN1clZhbCA9PT0gMTEgJiYgaWR4ID09PSAxKTsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSB7DQogICAgICAgICAgICAxOiAxMSwNCiAgICAgICAgICAgIDI6IDksDQogICAgICAgICAgICBsZW5ndGg6IDIuNjg1DQogICAgICAgIH07DQoNCiAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UuY2FsbChvYmosIGNhbGxiYWNrZm4sIDEpID09PSB0cnVlOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.reduce - value of 'length' is a positive non-integer, ensure truncation occurs in the proper direction","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-3-24.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjEvMTUuNC40LjIxLTMtMjUuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlIC0gdmFsdWUgb2YgJ2xlbmd0aCcgaXMgYSBuZWdhdGl2ZSBub24taW50ZWdlciwgZW5zdXJlIHRydW5jYXRpb24gb2NjdXJzIGluIHRoZSBwcm9wZXIgZGlyZWN0aW9uDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiAoY3VyVmFsID09PSAxMSAmJiBpZHggPT09IDEpOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IHsNCiAgICAgICAgICAgIDE6IDExLA0KICAgICAgICAgICAgMjogOSwNCiAgICAgICAgICAgIGxlbmd0aDogLTQyOTQ5NjcyOTQuNQ0KICAgICAgICB9Ow0KDQogICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUucmVkdWNlLmNhbGwob2JqLCBjYWxsYmFja2ZuLCAxKSA9PT0gdHJ1ZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.reduce - value of 'length' is a negative non-integer, ensure truncation occurs in the proper direction","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-3-25.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjEvMTUuNC40LjIxLTMtMjguanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlIC0gdmFsdWUgb2YgJ2xlbmd0aCcgaXMgYm91bmRhcnkgdmFsdWUgKDJeMzIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIHJldHVybiAyOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IHsNCiAgICAgICAgICAgIDA6IDEyLA0KICAgICAgICAgICAgbGVuZ3RoOiA0Mjk0OTY3Mjk2DQogICAgICAgIH07DQoNCiAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UuY2FsbChvYmosIGNhbGxiYWNrZm4sIDEpID09PSAxICYmICFhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.reduce - value of 'length' is boundary value (2^32)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-3-28.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjEvMTUuNC40LjIxLTMtMjkuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlIC0gdmFsdWUgb2YgJ2xlbmd0aCcgaXMgYm91bmRhcnkgdmFsdWUgKDJeMzIgKyAxKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gKGN1clZhbCA9PT0gMTEgJiYgaWR4ID09PSAwKTsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSB7DQogICAgICAgICAgICAwOiAxMSwNCiAgICAgICAgICAgIDE6IDksDQogICAgICAgICAgICBsZW5ndGg6IDQyOTQ5NjcyOTcNCiAgICAgICAgfTsNCg0KICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLnJlZHVjZS5jYWxsKG9iaiwgY2FsbGJhY2tmbiwgMSk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduce - value of 'length' is boundary value (2^32 + 1)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-3-29.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjEvMTUuNC40LjIxLTMtMy5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UgLSB2YWx1ZSBvZiAnbGVuZ3RoJyBpcyBhIG51bWJlciAodmFsdWUgaXMgMCkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgcmV0dXJuIDI7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0geyAwOiAxLCAxOiAxLCBsZW5ndGg6IDAgfTsNCg0KICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLnJlZHVjZS5jYWxsKG9iaiwgY2FsbGJhY2tmbiwgMSkgPT09IDEgJiYgIWFjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.reduce - value of 'length' is a number (value is 0)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-3-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjEvMTUuNC40LjIxLTMtNC5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UgLSB2YWx1ZSBvZiAnbGVuZ3RoJyBpcyBhIG51bWJlciAodmFsdWUgaXMgKzApDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIHJldHVybiAyOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgMDogMTEsIGxlbmd0aDogKzAgfTsNCg0KICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLnJlZHVjZS5jYWxsKG9iaiwgY2FsbGJhY2tmbiwgMSkgPT09IDEgJiYgIWFjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.reduce - value of 'length' is a number (value is +0)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-3-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjEvMTUuNC40LjIxLTMtNS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UgLSB2YWx1ZSBvZiAnbGVuZ3RoJyBpcyBhIG51bWJlciAodmFsdWUgaXMgLTApDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIHJldHVybiAyOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgMDogMTEsIGxlbmd0aDogLTAgfTsNCg0KICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLnJlZHVjZS5jYWxsKG9iaiwgY2FsbGJhY2tmbiwgMSkgPT09IDEgJiYgIWFjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.reduce - value of 'length' is a number (value is -0)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-3-5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjEvMTUuNC40LjIxLTMtNi5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UgLSB2YWx1ZSBvZiAnbGVuZ3RoJyBpcyBhIG51bWJlciAodmFsdWUgaXMgcG9zaXRpdmUpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiAoY3VyVmFsID09PSAxMSAmJiBpZHggPT09IDEpOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgMTogMTEsIDI6IDksIGxlbmd0aDogMiB9Ow0KDQogICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUucmVkdWNlLmNhbGwob2JqLCBjYWxsYmFja2ZuLCAxKSA9PT0gdHJ1ZTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.reduce - value of 'length' is a number (value is positive)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-3-6.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjEvMTUuNC40LjIxLTMtNy5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UgLSB2YWx1ZSBvZiAnbGVuZ3RoJyBpcyBhIG51bWJlciAodmFsdWUgaXMgbmVnYXRpdmUpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiAoY3VyVmFsID09PSAxMSAmJiBpZHggPT09IDEpOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgMTogMTEsIDI6IDksIGxlbmd0aDogLTQyOTQ5NjcyOTQgfTsNCg0KICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLnJlZHVjZS5jYWxsKG9iaiwgY2FsbGJhY2tmbiwgMSkgPT09IHRydWU7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduce - value of 'length' is a number (value is negative)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-3-7.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjEvMTUuNC40LjIxLTMtOC5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UgLSB2YWx1ZSBvZiAnbGVuZ3RoJyBpcyBhIG51bWJlciAodmFsdWUgaXMgSW5maW5pdHkpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIHJldHVybiAyOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgMDogOSwgbGVuZ3RoOiBJbmZpbml0eSB9Ow0KDQogICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUucmVkdWNlLmNhbGwob2JqLCBjYWxsYmFja2ZuLCAxKSA9PT0gMSAmJiAhYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduce - value of 'length' is a number (value is Infinity)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-3-8.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjEvMTUuNC40LjIxLTMtOS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UgLSB2YWx1ZSBvZiAnbGVuZ3RoJyBpcyBhIG51bWJlciAodmFsdWUgaXMgLUluZmluaXR5KQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0geyAwOiA5LCBsZW5ndGg6IC1JbmZpbml0eSB9Ow0KDQogICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUucmVkdWNlLmNhbGwob2JqLCBjYWxsYmFja2ZuLCAxKSA9PT0gMSAmJiAhYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduce - value of 'length' is a number (value is -Infinity)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-3-9.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjEvMTUuNC40LjIxLTQtMS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UgdGhyb3dzIFR5cGVFcnJvciBpZiBjYWxsYmFja2ZuIGlzIHVuZGVmaW5lZA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgdmFyIGFyciA9IG5ldyBBcnJheSgxMCk7DQogIHRyeSB7DQogICAgYXJyLnJlZHVjZSgpOyAgICANCiAgfQ0KICBjYXRjaChlKSB7DQogICAgaWYoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikNCiAgICAgIHJldHVybiB0cnVlOyAgDQogIH0NCg0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.reduce throws TypeError if callbackfn is undefined","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-4-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjEvMTUuNC40LjIxLTQtMTAuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlIC0gdGhlIGV4Y2VwdGlvbiBpcyBub3QgdGhyb3duIGlmIGV4Y2VwdGlvbiB3YXMgdGhyb3duIGJ5IHN0ZXAgMg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgMDogMTEsIDE6IDEyIH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgImxlbmd0aCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHRocm93IG5ldyBTeW50YXhFcnJvcigpOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlLnJlZHVjZS5jYWxsKG9iaiwgdW5kZWZpbmVkKTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZXgpIHsNCiAgICAgICAgICAgIHJldHVybiAhKGV4IGluc3RhbmNlb2YgVHlwZUVycm9yKTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.reduce - the exception is not thrown if exception was thrown by step 2","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-4-10.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjEvMTUuNC40LjIxLTQtMTEuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlIC0gdGhlIGV4Y2VwdGlvbiBpcyBub3QgdGhyb3duIGlmIGV4Y2VwdGlvbiB3YXMgdGhyb3duIGJ5IHN0ZXAgMw0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgMDogMTEsIDE6IDEyIH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgImxlbmd0aCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiB7DQogICAgICAgICAgICAgICAgICAgIHRvU3RyaW5nOiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgICAgICB0aHJvdyBuZXcgU3ludGF4RXJyb3IoKTsNCiAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgIH07DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBBcnJheS5wcm90b3R5cGUucmVkdWNlLmNhbGwob2JqLCB1bmRlZmluZWQpOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChleCkgew0KICAgICAgICAgICAgcmV0dXJuICEoZXggaW5zdGFuY2VvZiBUeXBlRXJyb3IpOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduce - the exception is not thrown if exception was thrown by step 3","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-4-11.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjEvMTUuNC40LjIxLTQtMTIuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlIC0gJ2NhbGxiYWNrZm4nIGlzIGEgZnVuY3Rpb24NCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIHJldHVybiBjdXJWYWwgPiAxMDsNCiAgICAgICAgfQ0KDQogICAgICAgIHJldHVybiBbMTEsIDldLnJlZHVjZShjYWxsYmFja2ZuLCAxKSA9PT0gZmFsc2UgJiYgYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduce - 'callbackfn' is a function","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-4-12.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjEvMTUuNC40LjIxLTQtMTUuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlIC0gY2FsbGluZyB3aXRoIG5vIGNhbGxiYWNrZm4gaXMgdGhlIHNhbWUgYXMgcGFzc2luZyB1bmRlZmluZWQgZm9yIGNhbGxiYWNrZm4NCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0geyAxMDogMTAgfTsNCiAgICAgICAgdmFyIGxlbmd0aEFjY2Vzc2VkID0gZmFsc2U7DQogICAgICAgIHZhciBsb29wQWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAibGVuZ3RoIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgbGVuZ3RoQWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgICAgIHJldHVybiAyMDsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgIjAiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICBsb29wQWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgICAgIHJldHVybiAxMDsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UuY2FsbChvYmopOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChleCkgew0KICAgICAgICAgICAgcmV0dXJuIChleCBpbnN0YW5jZW9mIFR5cGVFcnJvcikgJiYgbGVuZ3RoQWNjZXNzZWQgJiYgIWxvb3BBY2Nlc3NlZDsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.reduce - calling with no callbackfn is the same as passing undefined for callbackfn","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-4-15.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjEvMTUuNC40LjIxLTQtMi5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UgdGhyb3dzIFJlZmVyZW5jZUVycm9yIGlmIGNhbGxiYWNrZm4gaXMgdW5yZWZlcmVuY2VkDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICB2YXIgYXJyID0gbmV3IEFycmF5KDEwKTsNCiAgdHJ5IHsNCiAgICBhcnIucmVkdWNlKGZvbyk7ICAgIA0KICB9DQogIGNhdGNoKGUpIHsNCiAgICBpZihlIGluc3RhbmNlb2YgUmVmZXJlbmNlRXJyb3IpDQogICAgICByZXR1cm4gdHJ1ZTsgIA0KICB9DQoNCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.reduce throws ReferenceError if callbackfn is unreferenced","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-4-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjEvMTUuNC40LjIxLTQtMy5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UgdGhyb3dzIFR5cGVFcnJvciBpZiBjYWxsYmFja2ZuIGlzIG51bGwNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogIHZhciBhcnIgPSBuZXcgQXJyYXkoMTApOw0KICB0cnkgew0KICAgIGFyci5yZWR1Y2UobnVsbCk7ICAgIA0KICB9DQogIGNhdGNoKGUpIHsNCiAgICBpZihlIGluc3RhbmNlb2YgVHlwZUVycm9yKQ0KICAgICAgcmV0dXJuIHRydWU7ICANCiAgfQ0KDQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduce throws TypeError if callbackfn is null","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-4-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjEvMTUuNC40LjIxLTQtNC5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UgdGhyb3dzIFR5cGVFcnJvciBpZiBjYWxsYmFja2ZuIGlzIGJvb2xlYW4NCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogIHZhciBhcnIgPSBuZXcgQXJyYXkoMTApOw0KICB0cnkgew0KICAgIGFyci5yZWR1Y2UodHJ1ZSk7ICAgIA0KICB9DQogIGNhdGNoKGUpIHsNCiAgICBpZihlIGluc3RhbmNlb2YgVHlwZUVycm9yKQ0KICAgICAgcmV0dXJuIHRydWU7ICANCiAgfQ0KDQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduce throws TypeError if callbackfn is boolean","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-4-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjEvMTUuNC40LjIxLTQtNS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UgdGhyb3dzIFR5cGVFcnJvciBpZiBjYWxsYmFja2ZuIGlzIG51bWJlcg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgdmFyIGFyciA9IG5ldyBBcnJheSgxMCk7DQogIHRyeSB7DQogICAgYXJyLnJlZHVjZSg1KTsgICAgDQogIH0NCiAgY2F0Y2goZSkgew0KICAgIGlmKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpDQogICAgICByZXR1cm4gdHJ1ZTsgIA0KICB9DQoNCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.reduce throws TypeError if callbackfn is number","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-4-5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjEvMTUuNC40LjIxLTQtNi5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UgdGhyb3dzIFR5cGVFcnJvciBpZiBjYWxsYmFja2ZuIGlzIHN0cmluZw0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgdmFyIGFyciA9IG5ldyBBcnJheSgxMCk7DQogIHRyeSB7DQogICAgYXJyLnJlZHVjZSgiYWJjIik7ICAgIA0KICB9DQogIGNhdGNoKGUpIHsNCiAgICBpZihlIGluc3RhbmNlb2YgVHlwZUVycm9yKQ0KICAgICAgcmV0dXJuIHRydWU7ICANCiAgfQ0KDQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduce throws TypeError if callbackfn is string","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-4-6.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjEvMTUuNC40LjIxLTQtNy5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UgdGhyb3dzIFR5cGVFcnJvciBpZiBjYWxsYmFja2ZuIGlzIE9iamVjdCB3aXRob3V0IFtbQ2FsbF1dIGludGVybmFsIG1ldGhvZA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgdmFyIGFyciA9IG5ldyBBcnJheSgxMCk7DQogIHRyeSB7DQogICAgYXJyLnJlZHVjZShuZXcgT2JqZWN0KCkpOyAgICANCiAgfQ0KICBjYXRjaChlKSB7DQogICAgaWYoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikNCiAgICAgIHJldHVybiB0cnVlOyAgDQogIH0NCg0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.reduce throws TypeError if callbackfn is Object without [[Call]] internal method","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-4-7.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjEvMTUuNC40LjIxLTQtOC5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UgLSBzaWRlIGVmZmVjdHMgcHJvZHVjZWQgYnkgc3RlcCAyIGFyZSB2aXNpYmxlIHdoZW4gYW4gZXhjZXB0aW9uIG9jY3Vycw0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgMDogMTEsIDE6IDEyIH07DQoNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgImxlbmd0aCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgICAgICByZXR1cm4gMjsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UuY2FsbChvYmosIG51bGwpOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChleCkgew0KICAgICAgICAgICAgcmV0dXJuIGV4IGluc3RhbmNlb2YgVHlwZUVycm9yICYmIGFjY2Vzc2VkOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduce - side effects produced by step 2 are visible when an exception occurs","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-4-8.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjEvMTUuNC40LjIxLTQtOS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UgLSBzaWRlIGVmZmVjdHMgcHJvZHVjZWQgYnkgc3RlcCAzIGFyZSB2aXNpYmxlIHdoZW4gYW4gZXhjZXB0aW9uIG9jY3Vycw0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgMDogMTEsIDE6IDEyIH07DQoNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgImxlbmd0aCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiB7DQogICAgICAgICAgICAgICAgICAgIHRvU3RyaW5nOiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gIjIiOw0KICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgfTsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UuY2FsbChvYmosIG51bGwpOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChleCkgew0KICAgICAgICAgICAgcmV0dXJuIGV4IGluc3RhbmNlb2YgVHlwZUVycm9yICYmIGFjY2Vzc2VkOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduce - side effects produced by step 3 are visible when an exception occurs","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-4-9.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjEvMTUuNC40LjIxLTUtMS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UgdGhyb3dzIFR5cGVFcnJvciBpZiAnbGVuZ3RoJyBpcyAwIChlbXB0eSBhcnJheSksIG5vIGluaXRWYWwNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICBmdW5jdGlvbiBjYigpe30NCiAgDQogIHRyeSB7DQogICAgW10ucmVkdWNlKGNiKTsNCiAgfQ0KICBjYXRjaCAoZSkgew0KICAgIGlmIChlIGluc3RhbmNlb2YgVHlwZUVycm9yKSB7DQogICAgICByZXR1cm4gdHJ1ZTsNCiAgICB9DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.reduce throws TypeError if 'length' is 0 (empty array), no initVal","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-5-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjEvMTUuNC40LjIxLTUtMTAuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlIC0gaWYgZXhjZXB0aW9uIG9jY3VycywgaXQgb2NjdXJzIGFmdGVyIGFueSBzaWRlLWVmZmVjdHMgdGhhdCBtaWdodCBiZSBwcm9kdWNlZCBieSBzdGVwIDINCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIChjdXJWYWwgPiAxMCk7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0geyAwOiAxMSwgMTogMTIgfTsNCg0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAibGVuZ3RoIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgICAgIHJldHVybiAwOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlLnJlZHVjZS5jYWxsKG9iaiwgY2FsbGJhY2tmbik7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGV4KSB7DQogICAgICAgICAgICByZXR1cm4gKGV4IGluc3RhbmNlb2YgVHlwZUVycm9yKSAmJiBhY2Nlc3NlZDsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.reduce - if exception occurs, it occurs after any side-effects that might be produced by step 2","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-5-10.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjEvMTUuNC40LjIxLTUtMTEuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlIC0gaWYgdGhlIGV4Y2VwdGlvbiBvY2N1cnMsIGl0IG9jY3VycyBhZnRlciBhbnkgc2lkZS1lZmZlY3RzIHRoYXQgbWlnaHQgYmUgcHJvZHVjZWQgYnkgc3RlcCAzDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJldHVybiAoY3VyVmFsID4gMTApOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgMDogMTEsIDE6IDEyIH07DQoNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgImxlbmd0aCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiB7DQogICAgICAgICAgICAgICAgICAgIHRvU3RyaW5nOiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gIjAiOw0KICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgfTsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UuY2FsbChvYmosIGNhbGxiYWNrZm4pOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChleCkgew0KICAgICAgICAgICAgcmV0dXJuIChleCBpbnN0YW5jZW9mIFR5cGVFcnJvcikgJiYgYWNjZXNzZWQ7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.reduce - if the exception occurs, it occurs after any side-effects that might be produced by step 3","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-5-11.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjEvMTUuNC40LjIxLTUtMTIuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlIC0gdGhlIGV4Y2VwdGlvbiBpcyBub3QgdGhyb3duIGlmIGV4Y2VwdGlvbiB3YXMgdGhyb3duIGJ5IHN0ZXAgMg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gKGN1clZhbCA+IDEwKTsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSB7IDA6IDExLCAxOiAxMiB9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJsZW5ndGgiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICB0aHJvdyBuZXcgU3ludGF4RXJyb3IoKTsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UuY2FsbChvYmosIGNhbGxiYWNrZm4pOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChleCkgew0KICAgICAgICAgICAgcmV0dXJuICEoZXggaW5zdGFuY2VvZiBUeXBlRXJyb3IpOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduce - the exception is not thrown if exception was thrown by step 2","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-5-12.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjEvMTUuNC40LjIxLTUtMTMuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlIC0gdGhlIGV4Y2VwdGlvbiBpcyBub3QgdGhyb3duIGlmIGV4Y2VwdGlvbiB3YXMgdGhyb3duIGJ5IHN0ZXAgMw0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICByZXR1cm4gKGN1clZhbCA+IDEwKTsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSB7IDA6IDExLCAxOiAxMiB9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJsZW5ndGgiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gew0KICAgICAgICAgICAgICAgICAgICB0b1N0cmluZzogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAgICAgICAgdGhyb3cgbmV3IFN5bnRheEVycm9yKCk7DQogICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICB9Ow0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBBcnJheS5wcm90b3R5cGUucmVkdWNlLmNhbGwob2JqLCBjYWxsYmFja2ZuKTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZXgpIHsNCiAgICAgICAgICAgIHJldHVybiAhKGV4IGluc3RhbmNlb2YgVHlwZUVycm9yKTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.reduce - the exception is not thrown if exception was thrown by step 3","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-5-13.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjEvMTUuNC40LjIxLTUtMi5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UgdGhyb3dzIFR5cGVFcnJvciBpZiAnbGVuZ3RoJyBpcyAwIChzdWJjbGFzc2VkIEFycmF5LCBsZW5ndGggb3ZlcnJpZGRlbiB0byBudWxsICh0eXBlIGNvbnZlcnNpb24pKSwgbm8gaW5pdFZhbA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIGZvby5wcm90b3R5cGUgPSBuZXcgQXJyYXkoMSwgMiwgMyk7DQogIGZ1bmN0aW9uIGZvbygpIHt9DQogIHZhciBmID0gbmV3IGZvbygpOw0KICBmLmxlbmd0aCA9IG51bGw7DQogIA0KICBmdW5jdGlvbiBjYigpe30NCiAgdHJ5IHsNCiAgICBmLnJlZHVjZShjYik7DQogIH0NCiAgY2F0Y2ggKGUpIHsNCiAgICBpZiAoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikgew0KICAgICAgcmV0dXJuIHRydWU7DQogICAgfQ0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduce throws TypeError if 'length' is 0 (subclassed Array, length overridden to null (type conversion)), no initVal","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-5-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjEvMTUuNC40LjIxLTUtMy5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UgdGhyb3dzIFR5cGVFcnJvciBpZiAnbGVuZ3RoJyBpcyAwIChzdWJjbGFzc2VkIEFycmF5LCBsZW5ndGggb3ZlcnJpZGRlbiB0byBmYWxzZSAodHlwZSBjb252ZXJzaW9uKSksIG5vIGluaXRWYWwNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICBmb28ucHJvdG90eXBlID0gbmV3IEFycmF5KDEsIDIsIDMpOw0KICBmdW5jdGlvbiBmb28oKSB7fQ0KICB2YXIgZiA9IG5ldyBmb28oKTsNCiAgZi5sZW5ndGggPSBmYWxzZTsNCiAgDQogIGZ1bmN0aW9uIGNiKCl7fQ0KICB0cnkgew0KICAgIGYucmVkdWNlKGNiKTsNCiAgfQ0KICBjYXRjaCAoZSkgew0KICAgIGlmIChlIGluc3RhbmNlb2YgVHlwZUVycm9yKSB7DQogICAgICByZXR1cm4gdHJ1ZTsNCiAgICB9DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.reduce throws TypeError if 'length' is 0 (subclassed Array, length overridden to false (type conversion)), no initVal","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-5-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjEvMTUuNC40LjIxLTUtNC5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UgdGhyb3dzIFR5cGVFcnJvciBpZiAnbGVuZ3RoJyBpcyAwIChzdWJjbGFzc2VkIEFycmF5LCBsZW5ndGggb3ZlcnJpZGRlbiB0byAwICh0eXBlIGNvbnZlcnNpb24pKSwgbm8gaW5pdFZhbA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIGZvby5wcm90b3R5cGUgPSBuZXcgQXJyYXkoMSwgMiwgMyk7DQogIGZ1bmN0aW9uIGZvbygpIHt9DQogIHZhciBmID0gbmV3IGZvbygpOw0KICBmLmxlbmd0aCA9IDA7DQogIA0KICBmdW5jdGlvbiBjYigpe30NCiAgdHJ5IHsNCiAgICBmLnJlZHVjZShjYik7DQogIH0NCiAgY2F0Y2ggKGUpIHsNCiAgICBpZiAoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikgew0KICAgICAgcmV0dXJuIHRydWU7DQogICAgfQ0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduce throws TypeError if 'length' is 0 (subclassed Array, length overridden to 0 (type conversion)), no initVal","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-5-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjEvMTUuNC40LjIxLTUtNS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UgdGhyb3dzIFR5cGVFcnJvciBpZiAnbGVuZ3RoJyBpcyAwIChzdWJjbGFzc2VkIEFycmF5LCBsZW5ndGggb3ZlcnJpZGRlbiB0byAnMCcgKHR5cGUgY29udmVyc2lvbikpLCBubyBpbml0VmFsDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgZm9vLnByb3RvdHlwZSA9IG5ldyBBcnJheSgxLCAyLCAzKTsNCiAgZnVuY3Rpb24gZm9vKCkge30NCiAgdmFyIGYgPSBuZXcgZm9vKCk7DQogIGYubGVuZ3RoID0gJzAnOw0KICANCiAgZnVuY3Rpb24gY2IoKXt9DQogIHRyeSB7DQogICAgZi5yZWR1Y2UoY2IpOw0KICB9DQogIGNhdGNoIChlKSB7DQogICAgaWYgKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpIHsNCiAgICAgIHJldHVybiB0cnVlOw0KICAgIH0NCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.reduce throws TypeError if 'length' is 0 (subclassed Array, length overridden to '0' (type conversion)), no initVal","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-5-5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjEvMTUuNC40LjIxLTUtNi5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UgdGhyb3dzIFR5cGVFcnJvciBpZiAnbGVuZ3RoJyBpcyAwIChzdWJjbGFzc2VkIEFycmF5LCBsZW5ndGggb3ZlcnJpZGRlbiB3aXRoIG9iaiB3aXRoIHZhbHVlT2YpLCBubyBpbml0VmFsDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgZm9vLnByb3RvdHlwZSA9IG5ldyBBcnJheSgxLCAyLCAzKTsNCiAgZnVuY3Rpb24gZm9vKCkge30NCiAgdmFyIGYgPSBuZXcgZm9vKCk7DQogIA0KICB2YXIgbyA9IHsgdmFsdWVPZjogZnVuY3Rpb24gKCkgeyByZXR1cm4gMDt9fTsNCiAgZi5sZW5ndGggPSBvOw0KICANCiAgZnVuY3Rpb24gY2IoKXt9DQogIHRyeSB7DQogICAgZi5yZWR1Y2UoY2IpOw0KICB9DQogIGNhdGNoIChlKSB7DQogICAgaWYgKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpIHsNCiAgICAgIHJldHVybiB0cnVlOw0KICAgIH0NCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.reduce throws TypeError if 'length' is 0 (subclassed Array, length overridden with obj with valueOf), no initVal","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-5-6.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjEvMTUuNC40LjIxLTUtNy5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UgdGhyb3dzIFR5cGVFcnJvciBpZiAnbGVuZ3RoJyBpcyAwIChzdWJjbGFzc2VkIEFycmF5LCBsZW5ndGggb3ZlcnJpZGRlbiB3aXRoIG9iaiB3L28gdmFsdWVPZiAodG9TdHJpbmcpKSwgbm8gaW5pdFZhbA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIGZvby5wcm90b3R5cGUgPSBuZXcgQXJyYXkoMSwgMiwgMyk7DQogIGZ1bmN0aW9uIGZvbygpIHt9DQogIHZhciBmID0gbmV3IGZvbygpOw0KICANCiAgdmFyIG8gPSB7IHRvU3RyaW5nOiBmdW5jdGlvbiAoKSB7IHJldHVybiAnMCc7fX07DQogIGYubGVuZ3RoID0gbzsNCiAgDQogIC8vIG9iamVjdHMgaW5oZXJpdCB0aGUgZGVmYXVsdCB2YWx1ZU9mIG1ldGhvZCBvZiB0aGUgT2JqZWN0IG9iamVjdDsNCiAgLy8gdGhhdCBzaW1wbHkgcmV0dXJucyB0aGUgaXRzZWxmLiBTaW5jZSB0aGUgZGVmYXVsdCB2YWx1ZU9mKCkgbWV0aG9kDQogIC8vIGRvZXMgbm90IHJldHVybiBhIHByaW1pdGl2ZSB2YWx1ZSwgRVMgbmV4dCB0cmllcyB0byBjb252ZXJ0IHRoZSBvYmplY3QNCiAgLy8gdG8gYSBudW1iZXIgYnkgY2FsbGluZyBpdHMgdG9TdHJpbmcoKSBtZXRob2QgYW5kIGNvbnZlcnRpbmcgdGhlDQogIC8vIHJlc3VsdGluZyBzdHJpbmcgdG8gYSBudW1iZXIuDQoNCiAgZnVuY3Rpb24gY2IoKXt9DQogIHRyeSB7DQogICAgZi5yZWR1Y2UoY2IpOw0KICB9DQogIGNhdGNoIChlKSB7DQogICAgaWYgKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpIHsNCiAgICAgIHJldHVybiB0cnVlOw0KICAgIH0NCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.reduce throws TypeError if 'length' is 0 (subclassed Array, length overridden with obj w/o valueOf (toString)), no initVal","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-5-7.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjEvMTUuNC40LjIxLTUtOC5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UgdGhyb3dzIFR5cGVFcnJvciBpZiAnbGVuZ3RoJyBpcyAwIChzdWJjbGFzc2VkIEFycmF5LCBsZW5ndGggb3ZlcnJpZGRlbiB3aXRoIFtdKSwgbm8gaW5pdFZhbA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIGZvby5wcm90b3R5cGUgPSBuZXcgQXJyYXkoMSwgMiwgMyk7DQogIGZ1bmN0aW9uIGZvbygpIHt9DQogIHZhciBmID0gbmV3IGZvbygpOw0KICANCiAgZi5sZW5ndGggPSBbXTsNCiAgDQogIC8vIG9iamVjdHMgaW5oZXJpdCB0aGUgZGVmYXVsdCB2YWx1ZU9mIG1ldGhvZCBvZiB0aGUgT2JqZWN0IG9iamVjdDsNCiAgLy8gdGhhdCBzaW1wbHkgcmV0dXJucyB0aGUgaXRzZWxmLiBTaW5jZSB0aGUgZGVmYXVsdCB2YWx1ZU9mKCkgbWV0aG9kDQogIC8vIGRvZXMgbm90IHJldHVybiBhIHByaW1pdGl2ZSB2YWx1ZSwgRVMgbmV4dCB0cmllcyB0byBjb252ZXJ0IHRoZSBvYmplY3QNCiAgLy8gdG8gYSBudW1iZXIgYnkgY2FsbGluZyBpdHMgdG9TdHJpbmcoKSBtZXRob2QgYW5kIGNvbnZlcnRpbmcgdGhlDQogIC8vIHJlc3VsdGluZyBzdHJpbmcgdG8gYSBudW1iZXIuDQogIC8vDQogIC8vIFRoZSB0b1N0cmluZyggKSBtZXRob2Qgb24gQXJyYXkgY29udmVydHMgdGhlIGFycmF5IGVsZW1lbnRzIHRvIHN0cmluZ3MsDQogIC8vIHRoZW4gcmV0dXJucyB0aGUgcmVzdWx0IG9mIGNvbmNhdGVuYXRpbmcgdGhlc2Ugc3RyaW5ncywgd2l0aCBjb21tYXMgaW4NCiAgLy8gYmV0d2Vlbi4gQW4gYXJyYXkgd2l0aCBubyBlbGVtZW50cyBjb252ZXJ0cyB0byB0aGUgZW1wdHkgc3RyaW5nLCB3aGljaA0KICAvLyBjb252ZXJ0cyB0byB0aGUgbnVtYmVyIDAuIElmIGFuIGFycmF5IGhhcyBhIHNpbmdsZSBlbGVtZW50IHRoYXQgaXMgYQ0KICAvLyBudW1iZXIgbiwgdGhlIGFycmF5IGNvbnZlcnRzIHRvIGEgc3RyaW5nIHJlcHJlc2VudGF0aW9uIG9mIG4sIHdoaWNoIGlzDQogIC8vIHRoZW4gY29udmVydGVkIGJhY2sgdG8gbiBpdHNlbGYuIElmIGFuIGFycmF5IGNvbnRhaW5zIG1vcmUgdGhhbiBvbmUgZWxlbWVudCwNCiAgLy8gb3IgaWYgaXRzIG9uZSBlbGVtZW50IGlzIG5vdCBhIG51bWJlciwgdGhlIGFycmF5IGNvbnZlcnRzIHRvIE5hTi4NCg0KICBmdW5jdGlvbiBjYigpe30NCiAgdHJ5IHsNCiAgICBmLnJlZHVjZShjYik7DQogIH0NCiAgY2F0Y2ggKGUpIHsNCiAgICBpZiAoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikgew0KICAgICAgcmV0dXJuIHRydWU7DQogICAgfQ0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduce throws TypeError if 'length' is 0 (subclassed Array, length overridden with []), no initVal","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-5-8.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjEvMTUuNC40LjIxLTUtOS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UgLSAnaW5pdGlhbFZhbHVlJyBpcyByZXR1cm5lZCBpZiAnbGVuJyBpcyAwIGFuZCAnaW5pdGlhbFZhbHVlJyBpcyBwcmVzZW50DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgIH0NCg0KICAgICAgICByZXR1cm4gW10ucmVkdWNlKGNhbGxiYWNrZm4sIDMpID09PSAzICYmICFhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.reduce - 'initialValue' is returned if 'len' is 0 and 'initialValue' is present","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-5-9.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjEvMTUuNC40LjIxLTctMS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UgcmV0dXJucyBpbml0aWFsVmFsdWUgaWYgJ2xlbmd0aCcgaXMgMCBhbmQgaW5pdGlhbFZhbHVlIGlzIHByZXNlbnQgKGVtcHR5IGFycmF5KQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIGZ1bmN0aW9uIGNiKCl7fQ0KICANCiAgdHJ5IHsNCiAgICBpZihbXS5yZWR1Y2UoY2IsMSkgPT09IDEpDQogICAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KICBjYXRjaCAoZSkgeyAgfSAgDQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduce returns initialValue if 'length' is 0 and initialValue is present (empty array)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-7-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjEvMTUuNC40LjIxLTctMTAuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlIC0gJ2luaXRpYWxWYWx1ZScgaXMgcHJlc2VudA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHN0ciA9ICJpbml0aWFsVmFsdWUgaXMgcHJlc2VudCI7DQogICAgICAgIHJldHVybiBzdHIgPT09IFtdLnJlZHVjZShmdW5jdGlvbiAoKSB7IH0sIHN0cik7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduce - 'initialValue' is present","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-7-10.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjEvMTUuNC40LjIxLTctMTEuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlIC0gJ2luaXRpYWxWYWx1ZScgaXMgbm90IHByZXNlbnQNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBzdHIgPSAiaW5pdGlhbFZhbHVlIGlzIG5vdCBwcmVzZW50IjsNCiAgICAgICAgcmV0dXJuIHN0ciA9PT0gW3N0cl0ucmVkdWNlKGZ1bmN0aW9uICgpIHsgfSk7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduce - 'initialValue' is not present","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-7-11.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjEvMTUuNC40LjIxLTctMi5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UgcmV0dXJucyBpbml0aWFsVmFsdWUgaWYgJ2xlbmd0aCcgaXMgMCBhbmQgaW5pdGlhbFZhbHVlIGlzIHByZXNlbnQgKHN1YmNsYXNzZWQgQXJyYXksIGxlbmd0aCBvdmVycmlkZGVuIHRvIG51bGwgKHR5cGUgY29udmVyc2lvbikpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgZm9vLnByb3RvdHlwZSA9IG5ldyBBcnJheSgxLCAyLCAzKTsNCiAgZnVuY3Rpb24gZm9vKCkge30NCiAgdmFyIGYgPSBuZXcgZm9vKCk7DQogIGYubGVuZ3RoID0gbnVsbDsNCiAgDQogIGZ1bmN0aW9uIGNiKCl7fQ0KICB0cnkgew0KICAgIGlmKGYucmVkdWNlKGNiLDEpID09PSAxKQ0KICAgICAgcmV0dXJuIHRydWU7DQogIH0NCiAgY2F0Y2ggKGUpIHsgIH0gIA0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.reduce returns initialValue if 'length' is 0 and initialValue is present (subclassed Array, length overridden to null (type conversion))","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-7-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjEvMTUuNC40LjIxLTctMy5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UgcmV0dXJucyBpbml0aWFsVmFsdWUgaWYgJ2xlbmd0aCcgaXMgMCBhbmQgaW5pdGlhbFZhbHVlIGlzIHByZXNlbnQgKHN1YmNsYXNzZWQgQXJyYXksIGxlbmd0aCBvdmVycmlkZGVuIHRvIGZhbHNlICh0eXBlIGNvbnZlcnNpb24pKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIGZvby5wcm90b3R5cGUgPSBuZXcgQXJyYXkoMSwgMiwgMyk7DQogIGZ1bmN0aW9uIGZvbygpIHt9DQogIHZhciBmID0gbmV3IGZvbygpOw0KICBmLmxlbmd0aCA9IGZhbHNlOw0KICANCiAgZnVuY3Rpb24gY2IoKXt9DQogIHRyeSB7DQogICAgaWYoZi5yZWR1Y2UoY2IsMSkgPT09IDEpDQogICAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KICBjYXRjaCAoZSkgeyAgfSAgDQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduce returns initialValue if 'length' is 0 and initialValue is present (subclassed Array, length overridden to false (type conversion))","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-7-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjEvMTUuNC40LjIxLTctNC5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UgcmV0dXJucyBpbml0aWFsVmFsdWUgaWYgJ2xlbmd0aCcgaXMgMCBhbmQgaW5pdGlhbFZhbHVlIGlzIHByZXNlbnQgKHN1YmNsYXNzZWQgQXJyYXksIGxlbmd0aCBvdmVycmlkZGVuIHRvIDAgKHR5cGUgY29udmVyc2lvbikpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgZm9vLnByb3RvdHlwZSA9IG5ldyBBcnJheSgxLCAyLCAzKTsNCiAgZnVuY3Rpb24gZm9vKCkge30NCiAgdmFyIGYgPSBuZXcgZm9vKCk7DQogIGYubGVuZ3RoID0gMDsNCiAgDQogIGZ1bmN0aW9uIGNiKCl7fQ0KICB0cnkgew0KICAgIGlmKGYucmVkdWNlKGNiLDEpID09PSAxKQ0KICAgICAgcmV0dXJuIHRydWU7DQogIH0NCiAgY2F0Y2ggKGUpIHsgIH0gIA0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.reduce returns initialValue if 'length' is 0 and initialValue is present (subclassed Array, length overridden to 0 (type conversion))","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-7-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjEvMTUuNC40LjIxLTctNS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UgcmV0dXJucyBpbml0aWFsVmFsdWUgaWYgJ2xlbmd0aCcgaXMgMCBhbmQgaW5pdGlhbFZhbHVlIGlzIHByZXNlbnQgKHN1YmNsYXNzZWQgQXJyYXksIGxlbmd0aCBvdmVycmlkZGVuIHRvICcwJyAodHlwZSBjb252ZXJzaW9uKSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICBmb28ucHJvdG90eXBlID0gbmV3IEFycmF5KDEsIDIsIDMpOw0KICBmdW5jdGlvbiBmb28oKSB7fQ0KICB2YXIgZiA9IG5ldyBmb28oKTsNCiAgZi5sZW5ndGggPSAnMCc7DQogIA0KICBmdW5jdGlvbiBjYigpe30NCiAgdHJ5IHsNCiAgICBpZihmLnJlZHVjZShjYiwxKSA9PT0gMSkNCiAgICAgIHJldHVybiB0cnVlOw0KICB9DQogIGNhdGNoIChlKSB7ICB9ICANCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.reduce returns initialValue if 'length' is 0 and initialValue is present (subclassed Array, length overridden to '0' (type conversion))","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-7-5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjEvMTUuNC40LjIxLTctNi5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UgcmV0dXJucyBpbml0aWFsVmFsdWUgaWYgJ2xlbmd0aCcgaXMgMCBhbmQgaW5pdGlhbFZhbHVlIGlzIHByZXNlbnQgKHN1YmNsYXNzZWQgQXJyYXksIGxlbmd0aCBvdmVycmlkZGVuIHdpdGggb2JqIHdpdGggdmFsdWVPZikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICBmb28ucHJvdG90eXBlID0gbmV3IEFycmF5KDEsIDIsIDMpOw0KICBmdW5jdGlvbiBmb28oKSB7fQ0KICB2YXIgZiA9IG5ldyBmb28oKTsNCiAgDQogIHZhciBvID0geyB2YWx1ZU9mOiBmdW5jdGlvbiAoKSB7IHJldHVybiAwO319Ow0KICBmLmxlbmd0aCA9IG87DQogIA0KICBmdW5jdGlvbiBjYigpe30NCiAgdHJ5IHsNCiAgICBpZihmLnJlZHVjZShjYiwxKSA9PT0gMSkNCiAgICAgIHJldHVybiB0cnVlOw0KICB9DQogIGNhdGNoIChlKSB7ICB9ICANCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.reduce returns initialValue if 'length' is 0 and initialValue is present (subclassed Array, length overridden with obj with valueOf)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-7-6.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjEvMTUuNC40LjIxLTctNy5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UgcmV0dXJucyBpbml0aWFsVmFsdWUgaWYgJ2xlbmd0aCcgaXMgMCBhbmQgaW5pdGlhbFZhbHVlIGlzIHByZXNlbnQgKHN1YmNsYXNzZWQgQXJyYXksIGxlbmd0aCBvdmVycmlkZGVuIHdpdGggb2JqIHcvbyB2YWx1ZU9mICh0b1N0cmluZykpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgZm9vLnByb3RvdHlwZSA9IG5ldyBBcnJheSgxLCAyLCAzKTsNCiAgZnVuY3Rpb24gZm9vKCkge30NCiAgdmFyIGYgPSBuZXcgZm9vKCk7DQogIA0KICB2YXIgbyA9IHsgdG9TdHJpbmc6IGZ1bmN0aW9uICgpIHsgcmV0dXJuICcwJzt9fTsNCiAgZi5sZW5ndGggPSBvOw0KICANCiAgLy8gb2JqZWN0cyBpbmhlcml0IHRoZSBkZWZhdWx0IHZhbHVlT2YgbWV0aG9kIG9mIHRoZSBPYmplY3Qgb2JqZWN0Ow0KICAvLyB0aGF0IHNpbXBseSByZXR1cm5zIHRoZSBpdHNlbGYuIFNpbmNlIHRoZSBkZWZhdWx0IHZhbHVlT2YoKSBtZXRob2QNCiAgLy8gZG9lcyBub3QgcmV0dXJuIGEgcHJpbWl0aXZlIHZhbHVlLCBFUyBuZXh0IHRyaWVzIHRvIGNvbnZlcnQgdGhlIG9iamVjdA0KICAvLyB0byBhIG51bWJlciBieSBjYWxsaW5nIGl0cyB0b1N0cmluZygpIG1ldGhvZCBhbmQgY29udmVydGluZyB0aGUNCiAgLy8gcmVzdWx0aW5nIHN0cmluZyB0byBhIG51bWJlci4NCg0KICBmdW5jdGlvbiBjYigpe30NCiAgdHJ5IHsNCiAgICBpZihmLnJlZHVjZShjYiwxKSA9PT0gMSkNCiAgICAgIHJldHVybiB0cnVlOw0KICB9DQogIGNhdGNoIChlKSB7ICB9ICANCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.reduce returns initialValue if 'length' is 0 and initialValue is present (subclassed Array, length overridden with obj w/o valueOf (toString))","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-7-7.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjEvMTUuNC40LjIxLTctOC5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UgcmV0dXJucyBpbml0aWFsVmFsdWUgaWYgJ2xlbmd0aCcgaXMgMCBhbmQgaW5pdGlhbFZhbHVlIGlzIHByZXNlbnQgKHN1YmNsYXNzZWQgQXJyYXksIGxlbmd0aCBvdmVycmlkZGVuIHdpdGggW10pDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgZm9vLnByb3RvdHlwZSA9IG5ldyBBcnJheSgxLCAyLCAzKTsNCiAgZnVuY3Rpb24gZm9vKCkge30NCiAgdmFyIGYgPSBuZXcgZm9vKCk7DQogIA0KICBmLmxlbmd0aCA9IFtdOw0KICANCiAgLy8gb2JqZWN0cyBpbmhlcml0IHRoZSBkZWZhdWx0IHZhbHVlT2YgbWV0aG9kIG9mIHRoZSBPYmplY3Qgb2JqZWN0Ow0KICAvLyB0aGF0IHNpbXBseSByZXR1cm5zIHRoZSBpdHNlbGYuIFNpbmNlIHRoZSBkZWZhdWx0IHZhbHVlT2YoKSBtZXRob2QNCiAgLy8gZG9lcyBub3QgcmV0dXJuIGEgcHJpbWl0aXZlIHZhbHVlLCBFUyBuZXh0IHRyaWVzIHRvIGNvbnZlcnQgdGhlIG9iamVjdA0KICAvLyB0byBhIG51bWJlciBieSBjYWxsaW5nIGl0cyB0b1N0cmluZygpIG1ldGhvZCBhbmQgY29udmVydGluZyB0aGUNCiAgLy8gcmVzdWx0aW5nIHN0cmluZyB0byBhIG51bWJlci4NCiAgLy8NCiAgLy8gVGhlIHRvU3RyaW5nKCApIG1ldGhvZCBvbiBBcnJheSBjb252ZXJ0cyB0aGUgYXJyYXkgZWxlbWVudHMgdG8gc3RyaW5ncywNCiAgLy8gdGhlbiByZXR1cm5zIHRoZSByZXN1bHQgb2YgY29uY2F0ZW5hdGluZyB0aGVzZSBzdHJpbmdzLCB3aXRoIGNvbW1hcyBpbg0KICAvLyBiZXR3ZWVuLiBBbiBhcnJheSB3aXRoIG5vIGVsZW1lbnRzIGNvbnZlcnRzIHRvIHRoZSBlbXB0eSBzdHJpbmcsIHdoaWNoDQogIC8vIGNvbnZlcnRzIHRvIHRoZSBudW1iZXIgMC4gSWYgYW4gYXJyYXkgaGFzIGEgc2luZ2xlIGVsZW1lbnQgdGhhdCBpcyBhDQogIC8vIG51bWJlciBuLCB0aGUgYXJyYXkgY29udmVydHMgdG8gYSBzdHJpbmcgcmVwcmVzZW50YXRpb24gb2Ygbiwgd2hpY2ggaXMNCiAgLy8gdGhlbiBjb252ZXJ0ZWQgYmFjayB0byBuIGl0c2VsZi4gSWYgYW4gYXJyYXkgY29udGFpbnMgbW9yZSB0aGFuIG9uZSBlbGVtZW50LA0KICAvLyBvciBpZiBpdHMgb25lIGVsZW1lbnQgaXMgbm90IGEgbnVtYmVyLCB0aGUgYXJyYXkgY29udmVydHMgdG8gTmFOLg0KDQogIGZ1bmN0aW9uIGNiKCl7fQ0KICB0cnkgew0KICAgIGlmKGYucmVkdWNlKGNiLDEpID09PSAxKQ0KICAgICAgcmV0dXJuIHRydWU7DQogIH0NCiAgY2F0Y2ggKGUpIHsgIH0gIA0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.reduce returns initialValue if 'length' is 0 and initialValue is present (subclassed Array, length overridden with [])","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-7-8.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjEvMTUuNC40LjIxLTctOS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UgcmV0dXJucyBpbml0aWFsVmFsdWUgaWYgJ2xlbmd0aCcgaXMgMCBhbmQgaW5pdGlhbFZhbHVlIGlzIHByZXNlbnQgKHN1YmNsYXNzZWQgQXJyYXksIGxlbmd0aCBvdmVycmlkZGVuIHdpdGggWzBdKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIGZvby5wcm90b3R5cGUgPSBuZXcgQXJyYXkoMSwgMiwgMyk7DQogIGZ1bmN0aW9uIGZvbygpIHt9DQogIHZhciBmID0gbmV3IGZvbygpOw0KICANCiAgZi5sZW5ndGggPSBbMF07DQogIA0KICAvLyBvYmplY3RzIGluaGVyaXQgdGhlIGRlZmF1bHQgdmFsdWVPZiBtZXRob2Qgb2YgdGhlIE9iamVjdCBvYmplY3Q7DQogIC8vIHRoYXQgc2ltcGx5IHJldHVybnMgdGhlIGl0c2VsZi4gU2luY2UgdGhlIGRlZmF1bHQgdmFsdWVPZigpIG1ldGhvZA0KICAvLyBkb2VzIG5vdCByZXR1cm4gYSBwcmltaXRpdmUgdmFsdWUsIEVTIG5leHQgdHJpZXMgdG8gY29udmVydCB0aGUgb2JqZWN0DQogIC8vIHRvIGEgbnVtYmVyIGJ5IGNhbGxpbmcgaXRzIHRvU3RyaW5nKCkgbWV0aG9kIGFuZCBjb252ZXJ0aW5nIHRoZQ0KICAvLyByZXN1bHRpbmcgc3RyaW5nIHRvIGEgbnVtYmVyLg0KICAvLw0KICAvLyBUaGUgdG9TdHJpbmcoICkgbWV0aG9kIG9uIEFycmF5IGNvbnZlcnRzIHRoZSBhcnJheSBlbGVtZW50cyB0byBzdHJpbmdzLA0KICAvLyB0aGVuIHJldHVybnMgdGhlIHJlc3VsdCBvZiBjb25jYXRlbmF0aW5nIHRoZXNlIHN0cmluZ3MsIHdpdGggY29tbWFzIGluDQogIC8vIGJldHdlZW4uIEFuIGFycmF5IHdpdGggbm8gZWxlbWVudHMgY29udmVydHMgdG8gdGhlIGVtcHR5IHN0cmluZywgd2hpY2gNCiAgLy8gY29udmVydHMgdG8gdGhlIG51bWJlciAwLiBJZiBhbiBhcnJheSBoYXMgYSBzaW5nbGUgZWxlbWVudCB0aGF0IGlzIGENCiAgLy8gbnVtYmVyIG4sIHRoZSBhcnJheSBjb252ZXJ0cyB0byBhIHN0cmluZyByZXByZXNlbnRhdGlvbiBvZiBuLCB3aGljaCBpcw0KICAvLyB0aGVuIGNvbnZlcnRlZCBiYWNrIHRvIG4gaXRzZWxmLiBJZiBhbiBhcnJheSBjb250YWlucyBtb3JlIHRoYW4gb25lIGVsZW1lbnQsDQogIC8vIG9yIGlmIGl0cyBvbmUgZWxlbWVudCBpcyBub3QgYSBudW1iZXIsIHRoZSBhcnJheSBjb252ZXJ0cyB0byBOYU4uDQoNCiAgZnVuY3Rpb24gY2IoKXt9DQogIHRyeSB7DQogICAgaWYoZi5yZWR1Y2UoY2IsMSkgPT09IDEpDQogICAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KICBjYXRjaCAoZSkgeyAgfSAgDQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduce returns initialValue if 'length' is 0 and initialValue is present (subclassed Array, length overridden with [0])","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-7-9.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjEvMTUuNC40LjIxLTgtYi0xLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnJlZHVjZSAtIG5vIG9ic2VydmFibGUgZWZmZWN0cyBvY2N1ciBpZiAnbGVuJyBpcyAwDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICB2YXIgb2JqID0geyBsZW5ndGg6IDAgfTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiMCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgICAgICByZXR1cm4gMTA7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBBcnJheS5wcm90b3R5cGUucmVkdWNlLmNhbGwob2JqLCBmdW5jdGlvbiAoKSB7IH0pOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChleCkgew0KICAgICAgICAgICAgcmV0dXJuICFhY2Nlc3NlZDsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.reduce - no observable effects occur if 'len' is 0","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-b-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjEvMTUuNC40LjIxLTgtYi0yLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnJlZHVjZSAtIG1vZGlmaWNhdGlvbnMgdG8gbGVuZ3RoIGRvbid0IGNoYW5nZSBudW1iZXIgb2YgaXRlcmF0aW9ucyBpbiBzdGVwIDkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgcmV0dXJuIGlkeDsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSB7IDM6IDEyLCA0OiA5LCBsZW5ndGg6IDQgfTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiMiIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIG9iai5sZW5ndGggPSAxMDsNCiAgICAgICAgICAgICAgICByZXR1cm4gMTE7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUucmVkdWNlLmNhbGwob2JqLCBjYWxsYmFja2ZuKSA9PT0gMzsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.reduce - modifications to length don't change number of iterations in step 9","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-b-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjEvMTUuNC40LjIxLTgtYi0zLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnJlZHVjZSAtIGxvb3AgaXMgYnJva2VuIG9uY2UgJ2tQcmVzZW50JyBpcyB0cnVlDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgY2FsbGVkID0gMDsNCiAgICAgICAgdmFyIHRlc3RSZXN1bHQgPSBmYWxzZTsNCiAgICAgICAgdmFyIGZpcnN0Q2FsbGVkID0gMDsNCiAgICAgICAgdmFyIHNlY29uZENhbGxlZCA9IDA7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCB2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBpZiAoY2FsbGVkID09PSAwKSB7DQogICAgICAgICAgICAgICAgdGVzdFJlc3VsdCA9IChpZHggPT09IDEpOw0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgY2FsbGVkKys7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgYXJyID0gWywgLCBdOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnIsICIwIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgZmlyc3RDYWxsZWQrKzsNCiAgICAgICAgICAgICAgICByZXR1cm4gMTE7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnIsICIxIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgc2Vjb25kQ2FsbGVkKys7DQogICAgICAgICAgICAgICAgcmV0dXJuIDk7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIGFyci5yZWR1Y2UoY2FsbGJhY2tmbik7DQogICAgICAgIHJldHVybiB0ZXN0UmVzdWx0ICYmIGZpcnN0Q2FsbGVkID09PSAxICYmIHNlY29uZENhbGxlZCA9PT0gMTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.reduce - loop is broken once 'kPresent' is true","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-b-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjEvMTUuNC40LjIxLTgtYi1paS0xLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnJlZHVjZSAtIGFkZGVkIHByb3BlcnRpZXMgaW4gc3RlcCAyIGFyZSB2aXNpYmxlIGhlcmUNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7IH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgImxlbmd0aCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIG9ialsxXSA9ICJhY2N1bXVsYXRvciI7DQogICAgICAgICAgICAgICAgcmV0dXJuIDM7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUucmVkdWNlLmNhbGwob2JqLCBmdW5jdGlvbiAoKSB7IH0pID09PSAiYWNjdW11bGF0b3IiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.reduce - added properties in step 2 are visible here","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-b-ii-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjEvMTUuNC40LjIxLTgtYi1paS0yLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnJlZHVjZSAtIGRlbGV0ZWQgcHJvcGVydGllcyBpbiBzdGVwIDIgYXJlIHZpc2libGUgaGVyZQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgMTogImFjY3VtdWxhdG9yIiwgMjogImFub3RoZXIiIH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgImxlbmd0aCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIGRlbGV0ZSBvYmpbMV07DQogICAgICAgICAgICAgICAgcmV0dXJuIDM7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHJldHVybiAiYWNjdW11bGF0b3IiICE9PSBBcnJheS5wcm90b3R5cGUucmVkdWNlLmNhbGwob2JqLCBmdW5jdGlvbiAoKSB7IH0pOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.reduce - deleted properties in step 2 are visible here","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-b-ii-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjEvMTUuNC40LjIxLTgtYi1paWktMS0xLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnJlZHVjZSAtIGVsZW1lbnQgdG8gYmUgcmV0cmlldmVkIGlzIG93biBkYXRhIHByb3BlcnR5IG9uIGFuIEFycmF5LWxpa2Ugb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgdGVzdFJlc3VsdCA9IGZhbHNlOw0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGlmIChpZHggPT09IDEpIHsNCiAgICAgICAgICAgICAgICB0ZXN0UmVzdWx0ID0gKHByZXZWYWwgPT09IDApOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgMDogMCwgMTogMSwgMjogMiwgbGVuZ3RoOiAyIH07DQogICAgICAgIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UuY2FsbChvYmosIGNhbGxiYWNrZm4pOw0KICAgICAgICByZXR1cm4gdGVzdFJlc3VsdDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.reduce - element to be retrieved is own data property on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-b-iii-1-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjEvMTUuNC40LjIxLTgtYi1paWktMS0xMC5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UgLSB3aGVuIGVsZW1lbnQgdG8gYmUgcmV0cmlldmVkIGlzIG93biBhY2Nlc3NvciBwcm9wZXJ0eSBvbiBhbiBBcnJheQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gZmFsc2U7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBpZiAoaWR4ID09PSAxKSB7DQogICAgICAgICAgICAgICAgdGVzdFJlc3VsdCA9IChwcmV2VmFsID09PSAwKTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBhcnIgPSBbLCAxLCAyXTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyLCAiMCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiAwOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBhcnIucmVkdWNlKGNhbGxiYWNrZm4pOw0KICAgICAgICByZXR1cm4gdGVzdFJlc3VsdDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.reduce - when element to be retrieved is own accessor property on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-b-iii-1-10.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjEvMTUuNC40LjIxLTgtYi1paWktMS0xMS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UgLSBlbGVtZW50IHRvIGJlIHJldHJpZXZlZCBpcyBvd24gYWNjZXNzb3IgcHJvcGVydHkgdGhhdCBvdmVycmlkZXMgYW4gaW5oZXJpdGVkIGRhdGEgcHJvcGVydHkgb24gYW4gQXJyYXktbGlrZSBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gZmFsc2U7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgaWYgKGlkeCA9PT0gMSkgew0KICAgICAgICAgICAgICAgIHRlc3RSZXN1bHQgPSAocHJldlZhbCA9PT0gIjkiKTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBwcm90byA9IHsgMDogMCwgMTogMSwgMjogMiB9Ow0KDQogICAgICAgIHZhciBDb24gPSBmdW5jdGlvbiAoKSB7IH07DQogICAgICAgIENvbi5wcm90b3R5cGUgPSBwcm90bzsNCg0KICAgICAgICB2YXIgY2hpbGQgPSBuZXcgQ29uKCk7DQogICAgICAgIGNoaWxkLmxlbmd0aCA9IDM7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGNoaWxkLCAiMCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiAiOSI7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UuY2FsbChjaGlsZCwgY2FsbGJhY2tmbik7DQogICAgICAgIHJldHVybiB0ZXN0UmVzdWx0Ow0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.reduce - element to be retrieved is own accessor property that overrides an inherited data property on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-b-iii-1-11.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjEvMTUuNC40LjIxLTgtYi1paWktMS0xMi5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UgLSBlbGVtZW50IHRvIGJlIHJldHJpZXZlZCBpcyBvd24gYWNjZXNzb3IgcHJvcGVydHkgdGhhdCBvdmVycmlkZXMgYW4gaW5oZXJpdGVkIGRhdGEgcHJvcGVydHkgb24gYW4gQXJyYXkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgdGVzdFJlc3VsdCA9IGZhbHNlOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgaWYgKGlkeCA9PT0gMSkgew0KICAgICAgICAgICAgICAgIHRlc3RSZXN1bHQgPSAocHJldlZhbCA9PT0gIjkiKTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBBcnJheS5wcm90b3R5cGVbMF0gPSAwOw0KICAgICAgICAgICAgdmFyIGFyciA9IFssIDEsIDJdOw0KDQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyLCAiMCIsIHsNCiAgICAgICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuICI5IjsNCiAgICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgIGFyci5yZWR1Y2UoY2FsbGJhY2tmbik7DQogICAgICAgICAgICByZXR1cm4gdGVzdFJlc3VsdDsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBBcnJheS5wcm90b3R5cGVbMF07DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.reduce - element to be retrieved is own accessor property that overrides an inherited data property on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-b-iii-1-12.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjEvMTUuNC40LjIxLTgtYi1paWktMS0xMy5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UgLSBlbGVtZW50IHRvIGJlIHJldHJpZXZlZCBpcyBvd24gYWNjZXNzb3IgcHJvcGVydHkgdGhhdCBvdmVycmlkZXMgYW4gaW5oZXJpdGVkIGFjY2Vzc29yIHByb3BlcnR5IG9uIGFuIEFycmF5LWxpa2Ugb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIHRlc3RSZXN1bHQgPSBmYWxzZTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGlmIChpZHggPT09IDEpIHsNCiAgICAgICAgICAgICAgICB0ZXN0UmVzdWx0ID0gKHByZXZWYWwgPT09ICI5Iik7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgcHJvdG8gPSB7IDE6IDEsIDI6IDJ9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShwcm90bywgIjAiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gMDsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIENvbiA9IGZ1bmN0aW9uICgpIHsgfTsNCiAgICAgICAgQ29uLnByb3RvdHlwZSA9IHByb3RvOw0KDQogICAgICAgIHZhciBjaGlsZCA9IG5ldyBDb24oKTsNCiAgICAgICAgY2hpbGQubGVuZ3RoID0gMzsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoY2hpbGQsICIwIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuICI5IjsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgQXJyYXkucHJvdG90eXBlLnJlZHVjZS5jYWxsKGNoaWxkLCBjYWxsYmFja2ZuKTsNCiAgICAgICAgcmV0dXJuIHRlc3RSZXN1bHQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduce - element to be retrieved is own accessor property that overrides an inherited accessor property on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-b-iii-1-13.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjEvMTUuNC40LjIxLTgtYi1paWktMS0xNC5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UgLSBlbGVtZW50IHRvIGJlIHJldHJpZXZlZCBpcyBvd24gYWNjZXNzb3IgcHJvcGVydHkgdGhhdCBvdmVycmlkZXMgYW4gaW5oZXJpdGVkIGFjY2Vzc29yIHByb3BlcnR5IG9uIGFuIEFycmF5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgdGVzdFJlc3VsdCA9IGZhbHNlOw0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGlmIChpZHggPT09IDEpIHsNCiAgICAgICAgICAgICAgICB0ZXN0UmVzdWx0ID0gKHByZXZWYWwgPT09ICI5Iik7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KEFycmF5LnByb3RvdHlwZSwgIjAiLCB7DQogICAgICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgIHJldHVybiAwOw0KICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgdmFyIGFyciA9IFssIDEsIDJdOw0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgIjAiLCB7DQogICAgICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgIHJldHVybiAiOSI7DQogICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICBhcnIucmVkdWNlKGNhbGxiYWNrZm4pOw0KICAgICAgICAgICAgcmV0dXJuIHRlc3RSZXN1bHQ7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgQXJyYXkucHJvdG90eXBlWzBdOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduce - element to be retrieved is own accessor property that overrides an inherited accessor property on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-b-iii-1-14.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjEvMTUuNC40LjIxLTgtYi1paWktMS0xNS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UgLSBlbGVtZW50IHRvIGJlIHJldHJpZXZlZCBpcyBpbmhlcml0ZWQgYWNjZXNzb3IgcHJvcGVydHkgb24gYW4gQXJyYXktbGlrZSBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gZmFsc2U7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgaWYgKGlkeCA9PT0gMSkgew0KICAgICAgICAgICAgICAgIHRlc3RSZXN1bHQgPSAocHJldlZhbCA9PT0gMCk7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgcHJvdG8gPSB7IDE6IDEsIDI6IDIgfTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkocHJvdG8sICIwIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIDA7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBDb24gPSBmdW5jdGlvbiAoKSB7IH07DQogICAgICAgIENvbi5wcm90b3R5cGUgPSBwcm90bzsNCg0KICAgICAgICB2YXIgY2hpbGQgPSBuZXcgQ29uKCk7DQogICAgICAgIGNoaWxkLmxlbmd0aCA9IDM7DQoNCiAgICAgICAgQXJyYXkucHJvdG90eXBlLnJlZHVjZS5jYWxsKGNoaWxkLCBjYWxsYmFja2ZuKTsNCiAgICAgICAgcmV0dXJuIHRlc3RSZXN1bHQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduce - element to be retrieved is inherited accessor property on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-b-iii-1-15.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjEvMTUuNC40LjIxLTgtYi1paWktMS0xNi5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UgLSBlbGVtZW50IHRvIGJlIHJldHJpZXZlZCBpcyBpbmhlcml0ZWQgYWNjZXNzb3IgcHJvcGVydHkgb24gYW4gQXJyYXkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gZmFsc2U7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgaWYgKGlkeCA9PT0gMSkgew0KICAgICAgICAgICAgICAgIHRlc3RSZXN1bHQgPSAocHJldlZhbCA9PT0gMCk7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KEFycmF5LnByb3RvdHlwZSwgIjAiLCB7DQogICAgICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgIHJldHVybiAwOw0KICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgdmFyIGFyciA9IFssIDEsIDJdOw0KDQogICAgICAgICAgICBhcnIucmVkdWNlKGNhbGxiYWNrZm4pOw0KICAgICAgICAgICAgcmV0dXJuIHRlc3RSZXN1bHQ7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgQXJyYXkucHJvdG90eXBlWzBdOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduce - element to be retrieved is inherited accessor property on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-b-iii-1-16.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjEvMTUuNC40LjIxLTgtYi1paWktMS0xNy5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UgLSBlbGVtZW50IHRvIGJlIHJldHJpZXZlZCBpcyBvd24gYWNjZXNzb3IgcHJvcGVydHkgd2l0aG91dCBhIGdldCBmdW5jdGlvbiBvbiBhbiBBcnJheS1saWtlIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHRlc3RSZXN1bHQgPSBmYWxzZTsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBpZiAoaWR4ID09PSAxKSB7DQogICAgICAgICAgICAgICAgdGVzdFJlc3VsdCA9IChwcmV2VmFsID09PSB1bmRlZmluZWQpOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgMTogMSwgMjogMiwgbGVuZ3RoOiAzIH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgIjAiLCB7DQogICAgICAgICAgICBzZXQ6IGZ1bmN0aW9uICgpIHsgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBBcnJheS5wcm90b3R5cGUucmVkdWNlLmNhbGwob2JqLCBjYWxsYmFja2ZuKTsNCiAgICAgICAgcmV0dXJuIHRlc3RSZXN1bHQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduce - element to be retrieved is own accessor property without a get function on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-b-iii-1-17.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjEvMTUuNC40LjIxLTgtYi1paWktMS0xOC5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UgLSBlbGVtZW50IHRvIGJlIHJldHJpZXZlZCBpcyBvd24gYWNjZXNzb3IgcHJvcGVydHkgd2l0aG91dCBhIGdldCBmdW5jdGlvbiBvbiBhbiBBcnJheQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHRlc3RSZXN1bHQgPSBmYWxzZTsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBpZiAoaWR4ID09PSAxKSB7DQogICAgICAgICAgICAgICAgdGVzdFJlc3VsdCA9IChwcmV2VmFsID09PSB1bmRlZmluZWQpOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIGFyciA9IFssIDEsIDJdOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnIsICIwIiwgew0KICAgICAgICAgICAgc2V0OiBmdW5jdGlvbiAoKSB7IH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgYXJyLnJlZHVjZShjYWxsYmFja2ZuKTsNCiAgICAgICAgcmV0dXJuIHRlc3RSZXN1bHQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduce - element to be retrieved is own accessor property without a get function on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-b-iii-1-18.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjEvMTUuNC40LjIxLTgtYi1paWktMS0xOS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UgLSBlbGVtZW50IHRvIGJlIHJldHJpZXZlZCBpcyBvd24gYWNjZXNzb3IgcHJvcGVydHkgd2l0aG91dCBhIGdldCBmdW5jdGlvbiB0aGF0IG92ZXJyaWRlcyBhbiBpbmhlcml0ZWQgYWNjZXNzb3IgcHJvcGVydHkgb24gYW4gQXJyYXktbGlrZSBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gZmFsc2U7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgaWYgKGlkeCA9PT0gMSkgew0KICAgICAgICAgICAgICAgIHRlc3RSZXN1bHQgPSAocHJldlZhbCA9PT0gdW5kZWZpbmVkKTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QucHJvdG90eXBlWzBdID0gMDsNCg0KICAgICAgICAgICAgdmFyIG9iaiA9IHsgMTogMSwgMjogMiwgbGVuZ3RoOiAzIH07DQoNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICIwIiwgew0KICAgICAgICAgICAgICAgIHNldDogZnVuY3Rpb24gKCkgeyB9LA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UuY2FsbChvYmosIGNhbGxiYWNrZm4pOw0KICAgICAgICAgICAgcmV0dXJuIHRlc3RSZXN1bHQ7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgT2JqZWN0LnByb3RvdHlwZVswXTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.reduce - element to be retrieved is own accessor property without a get function that overrides an inherited accessor property on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-b-iii-1-19.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjEvMTUuNC40LjIxLTgtYi1paWktMS0yLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnJlZHVjZSAtIGVsZW1lbnQgdG8gYmUgcmV0cmlldmVkIGlzIG93biBkYXRhIHByb3BlcnR5IG9uIGFuIEFycmF5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgdGVzdFJlc3VsdCA9IGZhbHNlOw0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGlmIChpZHggPT09IDEpIHsNCiAgICAgICAgICAgICAgICB0ZXN0UmVzdWx0ID0gKHByZXZWYWwgPT09IDApOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIGFyciA9IFswLCAxLCAyXTsNCiAgICAgICAgYXJyLnJlZHVjZShjYWxsYmFja2ZuKTsNCiAgICAgICAgcmV0dXJuIHRlc3RSZXN1bHQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduce - element to be retrieved is own data property on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-b-iii-1-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjEvMTUuNC40LjIxLTgtYi1paWktMS0yMC5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UgLSBlbGVtZW50IHRvIGJlIHJldHJpZXZlZCBpcyBvd24gYWNjZXNzb3IgcHJvcGVydHkgd2l0aG91dCBhIGdldCBmdW5jdGlvbiB0aGF0IG92ZXJyaWRlcyBhbiBpbmhlcml0ZWQgYWNjZXNzb3IgcHJvcGVydHkgb24gYW4gQXJyYXkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gZmFsc2U7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgaWYgKGlkeCA9PT0gMSkgew0KICAgICAgICAgICAgICAgIHRlc3RSZXN1bHQgPSAocHJldlZhbCA9PT0gdW5kZWZpbmVkKTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBBcnJheS5wcm90b3R5cGVbMF0gPSAwOw0KICAgICAgICAgICAgdmFyIGFyciA9IFssIDEsIDJdOw0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgIjAiLCB7DQogICAgICAgICAgICAgICAgc2V0OiBmdW5jdGlvbiAoKSB7IH0sDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgYXJyLnJlZHVjZShjYWxsYmFja2ZuKTsNCiAgICAgICAgICAgIHJldHVybiB0ZXN0UmVzdWx0Ow0KDQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgQXJyYXkucHJvdG90eXBlWzBdOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduce - element to be retrieved is own accessor property without a get function that overrides an inherited accessor property on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-b-iii-1-20.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjEvMTUuNC40LjIxLTgtYi1paWktMS0yMS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UgLSBlbGVtZW50IHRvIGJlIHJldHJpZXZlZCBpcyBpbmhlcml0ZWQgYWNjZXNzb3IgcHJvcGVydHkgd2l0aG91dCBhIGdldCBmdW5jdGlvbiBvbiBhbiBBcnJheS1saWtlIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHRlc3RSZXN1bHQgPSBmYWxzZTsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBpZiAoaWR4ID09PSAxKSB7DQogICAgICAgICAgICAgICAgdGVzdFJlc3VsdCA9IChwcmV2VmFsID09PSB1bmRlZmluZWQpOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIHByb3RvID0geyAxOiAxLCAyOiAyIH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHByb3RvLCAiMCIsIHsNCiAgICAgICAgICAgIHNldDogZnVuY3Rpb24gKCkgeyB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBDb24gPSBmdW5jdGlvbiAoKSB7IH07DQogICAgICAgIENvbi5wcm90b3R5cGUgPSBwcm90bzsNCg0KICAgICAgICB2YXIgY2hpbGQgPSBuZXcgQ29uKCk7DQogICAgICAgIGNoaWxkLmxlbmd0aCA9IDM7DQoNCiAgICAgICAgQXJyYXkucHJvdG90eXBlLnJlZHVjZS5jYWxsKGNoaWxkLCBjYWxsYmFja2ZuKTsNCiAgICAgICAgcmV0dXJuIHRlc3RSZXN1bHQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduce - element to be retrieved is inherited accessor property without a get function on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-b-iii-1-21.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjEvMTUuNC40LjIxLTgtYi1paWktMS0yMi5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UgLSBlbGVtZW50IHRvIGJlIHJldHJpZXZlZCBpcyBpbmhlcml0ZWQgYWNjZXNzb3IgcHJvcGVydHkgd2l0aG91dCBhIGdldCBmdW5jdGlvbiBvbiBhbiBBcnJheQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgDQogICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gZmFsc2U7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgaWYgKGlkeCA9PT0gMSkgew0KICAgICAgICAgICAgICAgIHRlc3RSZXN1bHQgPSAocHJldlZhbCA9PT0gdW5kZWZpbmVkKTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoQXJyYXkucHJvdG90eXBlLCAiMCIsIHsNCiAgICAgICAgICAgICAgICBzZXQ6IGZ1bmN0aW9uICgpIHsgfSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICB2YXIgYXJyID0gWywgMSwgMl07DQoNCiAgICAgICAgICAgIGFyci5yZWR1Y2UoY2FsbGJhY2tmbik7DQogICAgICAgICAgICByZXR1cm4gdGVzdFJlc3VsdDsNCg0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIEFycmF5LnByb3RvdHlwZVswXTsNCiAgICAgICAgfQ0KDQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduce - element to be retrieved is inherited accessor property without a get function on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-b-iii-1-22.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjEvMTUuNC40LjIxLTgtYi1paWktMS0yMy5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UgLSBUaGlzIG9iamVjdCBpcyB0aGUgZ2xvYmFsIG9iamVjdCB3aGljaCBjb250YWlucyBpbmRleCBwcm9wZXJ0eQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHRlc3RSZXN1bHQgPSBmYWxzZTsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBpZiAoaWR4ID09PSAxKSB7DQogICAgICAgICAgICAgICAgdGVzdFJlc3VsdCA9IChwcmV2VmFsID09PSAwKTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICB2YXIgb2xkTGVuID0gZm5HbG9iYWxPYmplY3QoKS5sZW5ndGg7DQogICAgICAgICAgICBmbkdsb2JhbE9iamVjdCgpWzBdID0gMDsNCiAgICAgICAgICAgIGZuR2xvYmFsT2JqZWN0KClbMV0gPSAxOw0KICAgICAgICAgICAgZm5HbG9iYWxPYmplY3QoKVsyXSA9IDI7DQogICAgICAgICAgICBmbkdsb2JhbE9iamVjdCgpLmxlbmd0aCA9IDM7DQoNCiAgICAgICAgICAgIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UuY2FsbChmbkdsb2JhbE9iamVjdCgpLCBjYWxsYmFja2ZuKTsNCiAgICAgICAgICAgIHJldHVybiB0ZXN0UmVzdWx0Ow0KDQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgZm5HbG9iYWxPYmplY3QoKVswXTsNCiAgICAgICAgICAgIGRlbGV0ZSBmbkdsb2JhbE9iamVjdCgpWzFdOw0KICAgICAgICAgICAgZGVsZXRlIGZuR2xvYmFsT2JqZWN0KClbMl07DQogICAgICAgICAgICBmbkdsb2JhbE9iamVjdCgpLmxlbmd0aCA9IG9sZExlbjsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.reduce - This object is the global object which contains index property","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-b-iii-1-23.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjEvMTUuNC40LjIxLTgtYi1paWktMS0yNS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UgLSBUaGlzIG9iamVjdCBpcyB0aGUgQXJndW1lbnRzIG9iamVjdCB3aGljaCBpbXBsZW1lbnRzIGl0cyBvd24gcHJvcGVydHkgZ2V0IG1ldGhvZCAobnVtYmVyIG9mIGFyZ3VtZW50cyBpcyBsZXNzIHRoYW4gbnVtYmVyIG9mIHBhcmFtZXRlcnMpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgdGVzdFJlc3VsdCA9IGZhbHNlOw0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGlmIChpZHggPT09IDEpIHsNCiAgICAgICAgICAgICAgICB0ZXN0UmVzdWx0ID0gKHByZXZWYWwgPT09IDApOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIGZ1bmMgPSBmdW5jdGlvbiAoYSwgYiwgYykgew0KICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlLnJlZHVjZS5jYWxsKGFyZ3VtZW50cywgY2FsbGJhY2tmbik7DQogICAgICAgIH07DQoNCiAgICAgICAgZnVuYygwLCAxKTsNCiAgICAgICAgcmV0dXJuIHRlc3RSZXN1bHQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduce - This object is the Arguments object which implements its own property get method (number of arguments is less than number of parameters)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-b-iii-1-25.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjEvMTUuNC40LjIxLTgtYi1paWktMS0yNi5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UgLSBUaGlzIG9iamVjdCBpcyB0aGUgQXJndW1lbnRzIG9iamVjdCB3aGljaCBpbXBsZW1lbnRzIGl0cyBvd24gcHJvcGVydHkgZ2V0IG1ldGhvZCAobnVtYmVyIG9mIGFyZ3VtZW50cyBlcXVhbHMgbnVtYmVyIG9mIHBhcmFtZXRlcnMpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgdGVzdFJlc3VsdCA9IGZhbHNlOw0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGlmIChpZHggPT09IDIpIHsNCiAgICAgICAgICAgICAgICB0ZXN0UmVzdWx0ID0gKHByZXZWYWwgPT09IDEpOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIGZ1bmMgPSBmdW5jdGlvbiAoYSwgYiwgYykgew0KICAgICAgICAgICAgZGVsZXRlIGFyZ3VtZW50c1swXTsNCiAgICAgICAgICAgIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UuY2FsbChhcmd1bWVudHMsIGNhbGxiYWNrZm4pOw0KICAgICAgICB9Ow0KDQogICAgICAgIGZ1bmMoMCwgMSwgMik7DQogICAgICAgIHJldHVybiB0ZXN0UmVzdWx0Ow0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.reduce - This object is the Arguments object which implements its own property get method (number of arguments equals number of parameters)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-b-iii-1-26.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjEvMTUuNC40LjIxLTgtYi1paWktMS0yNy5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UgLSBUaGlzIG9iamVjdCBpcyB0aGUgQXJndW1lbnRzIG9iamVjdCB3aGljaCBpbXBsZW1lbnRzIGl0cyBvd24gcHJvcGVydHkgZ2V0IG1ldGhvZCAobnVtYmVyIG9mIGFyZ3VtZW50cyBpcyBncmVhdGVyIHRoYW4gbnVtYmVyIG9mIHBhcmFtZXRlcnMpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgdGVzdFJlc3VsdCA9IGZhbHNlOw0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGlmIChpZHggPT09IDMpIHsNCiAgICAgICAgICAgICAgICB0ZXN0UmVzdWx0ID0gKHByZXZWYWwgPT09IDIpOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIGZ1bmMgPSBmdW5jdGlvbiAoYSwgYiwgYykgew0KICAgICAgICAgICAgZGVsZXRlIGFyZ3VtZW50c1swXTsNCiAgICAgICAgICAgIGRlbGV0ZSBhcmd1bWVudHNbMV07DQogICAgICAgICAgICBBcnJheS5wcm90b3R5cGUucmVkdWNlLmNhbGwoYXJndW1lbnRzLCBjYWxsYmFja2ZuKTsNCiAgICAgICAgfTsNCg0KICAgICAgICBmdW5jKDAsIDEsIDIsIDMpOw0KICAgICAgICByZXR1cm4gdGVzdFJlc3VsdDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.reduce - This object is the Arguments object which implements its own property get method (number of arguments is greater than number of parameters)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-b-iii-1-27.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjEvMTUuNC40LjIxLTgtYi1paWktMS0yOC5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UgLSBhcHBsaWVkIHRvIFN0cmluZyBvYmplY3QsIHdoaWNoIGltcGxlbWVudHMgaXRzIG93biBwcm9wZXJ0eSBnZXQgbWV0aG9kDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgdGVzdFJlc3VsdCA9IGZhbHNlOw0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGlmIChpZHggPT09IDEpIHsNCiAgICAgICAgICAgICAgICB0ZXN0UmVzdWx0ID0gKHByZXZWYWwgPT09ICIwIik7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgc3RyID0gbmV3IFN0cmluZygiMDEyIik7DQogICAgICAgIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UuY2FsbChzdHIsIGNhbGxiYWNrZm4pOw0KICAgICAgICByZXR1cm4gdGVzdFJlc3VsdDsNCg0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.reduce - applied to String object, which implements its own property get method","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-b-iii-1-28.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjEvMTUuNC40LjIxLTgtYi1paWktMS0yOS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UgLSBhcHBsaWVkIHRvIEZ1bmN0aW9uIG9iamVjdCB3aGljaCBpbXBsZW1lbnRzIGl0cyBvd24gcHJvcGVydHkgZ2V0IG1ldGhvZA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHRlc3RSZXN1bHQgPSBmYWxzZTsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBpZiAoaWR4ID09PSAxKSB7DQogICAgICAgICAgICAgICAgdGVzdFJlc3VsdCA9IChwcmV2VmFsID09PSAwKTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSBmdW5jdGlvbiAoYSwgYiwgYykgew0KICAgICAgICAgICAgcmV0dXJuIGEgKyBiICsgYzsNCiAgICAgICAgfTsNCiAgICAgICAgb2JqWzBdID0gMDsNCiAgICAgICAgb2JqWzFdID0gMTsNCiAgICAgICAgb2JqWzJdID0gMjsNCiAgICAgICAgb2JqWzNdID0gMzsNCg0KICAgICAgICBBcnJheS5wcm90b3R5cGUucmVkdWNlLmNhbGwob2JqLCBjYWxsYmFja2ZuKTsNCiAgICAgICAgcmV0dXJuIHRlc3RSZXN1bHQ7DQoNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.reduce - applied to Function object which implements its own property get method","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-b-iii-1-29.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjEvMTUuNC40LjIxLTgtYi1paWktMS0zLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnJlZHVjZSAtIGVsZW1lbnQgdG8gYmUgcmV0cmlldmVkIGlzIG93biBkYXRhIHByb3BlcnR5IHRoYXQgb3ZlcnJpZGVzIGFuIGluaGVyaXRlZCBkYXRhIHByb3BlcnR5IG9uIGFuIEFycmF5LWxpa2Ugb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgdGVzdFJlc3VsdCA9IGZhbHNlOw0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGlmIChpZHggPT09IDEpIHsNCiAgICAgICAgICAgICAgICB0ZXN0UmVzdWx0ID0gKHByZXZWYWwgPT09ICI5Iik7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgcHJvdG8gPSB7IDA6IDAsIDE6IDEsIDI6IDIsIGxlbmd0aDogMyB9Ow0KICAgICAgICB2YXIgQ29uID0gZnVuY3Rpb24gKCkgeyB9Ow0KICAgICAgICBDb24ucHJvdG90eXBlID0gcHJvdG87DQoNCiAgICAgICAgdmFyIGNoaWxkID0gbmV3IENvbigpOw0KICAgICAgICBjaGlsZFswXSA9ICI5IjsNCiAgICAgICAgY2hpbGRbMV0gPSAiMSI7DQogICAgICAgIGNoaWxkLmxlbmd0aCA9IDM7DQoNCiAgICAgICAgQXJyYXkucHJvdG90eXBlLnJlZHVjZS5jYWxsKGNoaWxkLCBjYWxsYmFja2ZuKTsNCiAgICAgICAgcmV0dXJuIHRlc3RSZXN1bHQ7DQoNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.reduce - element to be retrieved is own data property that overrides an inherited data property on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-b-iii-1-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjEvMTUuNC40LjIxLTgtYi1paWktMS0zMC5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UgLSBlbGVtZW50IGNoYW5nZWQgYnkgZ2V0dGVyIG9uIGN1cnJlbnQgaXRlcmF0aW9ucyBpcyBvYnNlcnZlZCBpbiBzdWJzZXF1ZW50IGl0ZXJhdGlvbnMgb24gYW4gQXJyYXkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gZmFsc2U7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgaWYgKGlkeCA9PT0gMSkgew0KICAgICAgICAgICAgICAgIHRlc3RSZXN1bHQgPSAoY3VyVmFsID09PSAxKTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBhcnIgPSBbLCAsIDJdOw0KICAgICAgICB2YXIgcHJlSXRlclZpc2libGUgPSBmYWxzZTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyLCAiMCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHByZUl0ZXJWaXNpYmxlID0gdHJ1ZTsNCiAgICAgICAgICAgICAgICByZXR1cm4gMDsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgIjEiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICBpZiAocHJlSXRlclZpc2libGUpIHsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDE7DQogICAgICAgICAgICAgICAgfSBlbHNlIHsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDEwMDsNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIGFyci5yZWR1Y2UoY2FsbGJhY2tmbik7DQogICAgICAgIHJldHVybiB0ZXN0UmVzdWx0Ow0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.reduce - element changed by getter on current iterations is observed in subsequent iterations on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-b-iii-1-30.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjEvMTUuNC40LjIxLTgtYi1paWktMS0zMS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UgLSBlbGVtZW50IGNoYW5nZWQgYnkgZ2V0dGVyIG9uIGN1cnJlbnQgaXRlcmF0aW9ucyBpcyBvYnNlcnZlZCBpbiBzdWJzZXF1ZW50IGl0ZXJhdGlvbnMgb24gYW4gQXJyYXktbGlrZSBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gZmFsc2U7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgaWYgKGlkeCA9PT0gMSkgew0KICAgICAgICAgICAgICAgIHRlc3RSZXN1bHQgPSAoY3VyVmFsID09PSAxKTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSB7IGxlbmd0aDogMiB9Ow0KICAgICAgICB2YXIgcHJlSXRlclZpc2libGUgPSBmYWxzZTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiMCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHByZUl0ZXJWaXNpYmxlID0gdHJ1ZTsNCiAgICAgICAgICAgICAgICByZXR1cm4gMDsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgIjEiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICBpZiAocHJlSXRlclZpc2libGUpIHsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDE7DQogICAgICAgICAgICAgICAgfSBlbHNlIHsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDEwMDsNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UuY2FsbChvYmosIGNhbGxiYWNrZm4pOw0KICAgICAgICByZXR1cm4gdGVzdFJlc3VsdDsNCg0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.reduce - element changed by getter on current iterations is observed in subsequent iterations on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-b-iii-1-31.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjEvMTUuNC40LjIxLTgtYi1paWktMS0zMi5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UgLSBleGNlcHRpb24gaW4gZ2V0dGVyIHRlcm1pbmF0ZXMgaXRlcmF0aW9uIG9uIGFuIEFycmF5LWxpa2Ugb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCiAgICAgICAgdmFyIHRlc3RSZXN1bHQgPSBmYWxzZTsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBpZiAoaWR4ID49IDEpIHsNCiAgICAgICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICAgICAgdGVzdFJlc3VsdCA9IChwcmV2VmFsID09PSAwKTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSB7IDI6IDIsIDE6IDEsIGxlbmd0aDogMyB9Ow0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiMCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHRocm93IG5ldyBSYW5nZUVycm9yKCJ1bmhhbmRsZSBleGNlcHRpb24gaGFwcGVuZWQgaW4gZ2V0dGVyIik7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBBcnJheS5wcm90b3R5cGUucmVkdWNlLmNhbGwob2JqLCBjYWxsYmFja2ZuKTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZXgpIHsNCiAgICAgICAgICAgIHJldHVybiAoZXggaW5zdGFuY2VvZiBSYW5nZUVycm9yKSAmJiAhYWNjZXNzZWQgJiYgIXRlc3RSZXN1bHQ7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.reduce - exception in getter terminates iteration on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-b-iii-1-32.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjEvMTUuNC40LjIxLTgtYi1paWktMS0zMy5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UgLSBleGNlcHRpb24gaW4gZ2V0dGVyIHRlcm1pbmF0ZXMgaXRlcmF0aW9uIG9uIGFuIEFycmF5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCiAgICAgICAgdmFyIHRlc3RSZXN1bHQgPSBmYWxzZTsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBpZiAoaWR4ID49IDEpIHsNCiAgICAgICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICAgICAgdGVzdFJlc3VsdCA9IChwcmV2VmFsID09PSAwKTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBhcnIgPSBbLCAxLCAyXTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyLCAiMCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHRocm93IG5ldyBSYW5nZUVycm9yKCJ1bmhhbmRsZSBleGNlcHRpb24gaGFwcGVuZWQgaW4gZ2V0dGVyIik7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBhcnIucmVkdWNlKGNhbGxiYWNrZm4pOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChleCkgew0KICAgICAgICAgICAgcmV0dXJuIChleCBpbnN0YW5jZW9mIFJhbmdlRXJyb3IpICYmICFhY2Nlc3NlZCAmJiAhdGVzdFJlc3VsdDsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.reduce - exception in getter terminates iteration on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-b-iii-1-33.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjEvMTUuNC40LjIxLTgtYi1paWktMS00LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnJlZHVjZSAtIGVsZW1lbnQgdG8gYmUgcmV0cmlldmVkIGlzIG93biBkYXRhIHByb3BlcnR5IHRoYXQgb3ZlcnJpZGVzIGFuIGluaGVyaXRlZCBkYXRhIHByb3BlcnR5IG9uIGFuIEFycmF5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgdGVzdFJlc3VsdCA9IGZhbHNlOw0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGlmIChpZHggPT09IDEpIHsNCiAgICAgICAgICAgICAgICB0ZXN0UmVzdWx0ID0gKHByZXZWYWwgPT09IDApOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIEFycmF5LnByb3RvdHlwZVswXSA9ICI5IjsNCiAgICAgICAgICAgIFswLCAxLCAyXS5yZWR1Y2UoY2FsbGJhY2tmbik7DQogICAgICAgICAgICByZXR1cm4gdGVzdFJlc3VsdDsNCg0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIEFycmF5LnByb3RvdHlwZVswXTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.reduce - element to be retrieved is own data property that overrides an inherited data property on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-b-iii-1-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjEvMTUuNC40LjIxLTgtYi1paWktMS01LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnJlZHVjZSAtIGVsZW1lbnQgdG8gYmUgcmV0cmlldmVkIGlzIG93biBkYXRhIHByb3BlcnR5IHRoYXQgb3ZlcnJpZGVzIGFuIGluaGVyaXRlZCBhY2Nlc3NvciBwcm9wZXJ0eSBvbiBhbiBBcnJheS1saWtlIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHRlc3RSZXN1bHQgPSBmYWxzZTsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBpZiAoaWR4ID09PSAxKSB7DQogICAgICAgICAgICAgICAgdGVzdFJlc3VsdCA9IChwcmV2VmFsID09PSAiOSIpOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIHByb3RvID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHByb3RvLCAiMCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiAwOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgQ29uID0gZnVuY3Rpb24gKCkgeyB9Ow0KICAgICAgICBDb24ucHJvdG90eXBlID0gcHJvdG87DQoNCiAgICAgICAgdmFyIGNoaWxkID0gbmV3IENvbigpOw0KICAgICAgICBjaGlsZC5sZW5ndGggPSAyOw0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoY2hpbGQsICIwIiwgew0KICAgICAgICAgICAgdmFsdWU6ICI5IiwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCiAgICAgICAgY2hpbGRbMV0gPSAiMSI7DQoNCiAgICAgICAgQXJyYXkucHJvdG90eXBlLnJlZHVjZS5jYWxsKGNoaWxkLCBjYWxsYmFja2ZuKTsNCiAgICAgICAgcmV0dXJuIHRlc3RSZXN1bHQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduce - element to be retrieved is own data property that overrides an inherited accessor property on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-b-iii-1-5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjEvMTUuNC40LjIxLTgtYi1paWktMS02LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnJlZHVjZSAtIGVsZW1lbnQgdG8gYmUgcmV0cmlldmVkIGlzIG93biBkYXRhIHByb3BlcnR5IHRoYXQgb3ZlcnJpZGVzIGFuIGluaGVyaXRlZCBhY2Nlc3NvciBwcm9wZXJ0eSBvbiBhbiBBcnJheQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHRlc3RSZXN1bHQgPSBmYWxzZTsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBpZiAoaWR4ID09PSAxKSB7DQogICAgICAgICAgICAgICAgdGVzdFJlc3VsdCA9IChwcmV2VmFsID09PSAwKTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoQXJyYXkucHJvdG90eXBlLCAiMCIsIHsNCiAgICAgICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuICI1IjsNCiAgICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgIFswLCAxLCAyXS5yZWR1Y2UoY2FsbGJhY2tmbik7DQogICAgICAgICAgICByZXR1cm4gdGVzdFJlc3VsdDsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBBcnJheS5wcm90b3R5cGVbMF07DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.reduce - element to be retrieved is own data property that overrides an inherited accessor property on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-b-iii-1-6.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjEvMTUuNC40LjIxLTgtYi1paWktMS03LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnJlZHVjZSAtIGVsZW1lbnQgdG8gYmUgcmV0cmlldmVkIGlzIGluaGVyaXRlZCBkYXRhIHByb3BlcnR5IG9uIGFuIEFycmF5LWxpa2Ugb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgdGVzdFJlc3VsdCA9IGZhbHNlOw0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGlmIChpZHggPT09IDEpIHsNCiAgICAgICAgICAgICAgICB0ZXN0UmVzdWx0ID0gKHByZXZWYWwgPT09IDApOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIHByb3RvID0geyAwOiAwLCAxOiAxLCAyOiAyLCBsZW5ndGg6IDMgfTsNCiAgICAgICAgdmFyIENvbiA9IGZ1bmN0aW9uICgpIHsgfTsNCiAgICAgICAgQ29uLnByb3RvdHlwZSA9IHByb3RvOw0KDQogICAgICAgIHZhciBjaGlsZCA9IG5ldyBDb24oKTsNCiAgICAgICAgY2hpbGQubGVuZ3RoID0gMzsNCg0KICAgICAgICBBcnJheS5wcm90b3R5cGUucmVkdWNlLmNhbGwoY2hpbGQsIGNhbGxiYWNrZm4pOw0KICAgICAgICByZXR1cm4gdGVzdFJlc3VsdDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.reduce - element to be retrieved is inherited data property on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-b-iii-1-7.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjEvMTUuNC40LjIxLTgtYi1paWktMS04LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnJlZHVjZSAtIGVsZW1lbnQgdG8gYmUgcmV0cmlldmVkIGlzIGluaGVyaXRlZCBkYXRhIHByb3BlcnR5IG9uIGFuIEFycmF5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgdGVzdFJlc3VsdCA9IGZhbHNlOw0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGlmIChpZHggPT09IDEpIHsNCiAgICAgICAgICAgICAgICB0ZXN0UmVzdWx0ID0gKHByZXZWYWwgPT09IDApOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIEFycmF5LnByb3RvdHlwZVswXSA9IDA7DQogICAgICAgICAgICBBcnJheS5wcm90b3R5cGVbMV0gPSAxOw0KICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlWzJdID0gMjsNCiAgICAgICAgICAgIFssICwgLF0ucmVkdWNlKGNhbGxiYWNrZm4pOw0KICAgICAgICAgICAgcmV0dXJuIHRlc3RSZXN1bHQ7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgQXJyYXkucHJvdG90eXBlWzBdOw0KICAgICAgICAgICAgZGVsZXRlIEFycmF5LnByb3RvdHlwZVsxXTsNCiAgICAgICAgICAgIGRlbGV0ZSBBcnJheS5wcm90b3R5cGVbMl07DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.reduce - element to be retrieved is inherited data property on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-b-iii-1-8.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjEvMTUuNC40LjIxLTgtYi1paWktMS05LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnJlZHVjZSAtIGVsZW1lbnQgdG8gYmUgcmV0cmlldmVkIGlzIG93biBhY2Nlc3NvciBwcm9wZXJ0eSBvbiBhbiBBcnJheS1saWtlIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHRlc3RSZXN1bHQgPSBmYWxzZTsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBpZiAoaWR4ID09PSAxKSB7DQogICAgICAgICAgICAgICAgdGVzdFJlc3VsdCA9IChwcmV2VmFsID09PSAwKTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSB7IDE6IDEsIDI6IDIsIGxlbmd0aDogMyB9Ow0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiMCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiAwOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBBcnJheS5wcm90b3R5cGUucmVkdWNlLmNhbGwob2JqLCBjYWxsYmFja2ZuKTsNCiAgICAgICAgcmV0dXJuIHRlc3RSZXN1bHQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduce - element to be retrieved is own accessor property on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-b-iii-1-9.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjEvMTUuNC40LjIxLTgtYy0xLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnJlZHVjZSB0aHJvd3MgVHlwZUVycm9yIHdoZW4gQXJyYXkgaXMgZW1wdHkgYW5kIGluaXRpYWxWYWx1ZSBpcyBub3QgcHJlc2VudA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7IA0KIA0KICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopDQogIHsNCiAgfQ0KDQogIHZhciBhcnIgPSBuZXcgQXJyYXkoMTApOw0KICB0cnkgew0KICAgIGFyci5yZWR1Y2UoY2FsbGJhY2tmbik7DQogIH0gDQogIGNhdGNoKGUpIHsNCiAgICBpZihlIGluc3RhbmNlb2YgVHlwZUVycm9yKQ0KICAgICAgcmV0dXJuIHRydWU7ICANCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.reduce throws TypeError when Array is empty and initialValue is not present","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-c-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjEvMTUuNC40LjIxLTgtYy0yLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnJlZHVjZSB0aHJvd3MgVHlwZUVycm9yIHdoZW4gZWxlbWVudHMgYXNzaWduZWQgdmFsdWVzIGFyZSBkZWxldGVkIGJ5IHJlZHVjaW5nIGFycmF5IGxlbmd0aCBhbmQgaW5pdGlhbFZhbHVlIGlzIG5vdCBwcmVzZW50DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsgDQogDQogIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikNCiAgew0KICB9DQoNCiAgdmFyIGFyciA9IG5ldyBBcnJheSgxMCk7DQogIGFycls5XSA9IDE7DQogIGFyci5sZW5ndGggPSA1Ow0KICB0cnkgew0KICAgIGFyci5yZWR1Y2UoY2FsbGJhY2tmbik7DQogIH0gDQogIGNhdGNoKGUpIHsNCiAgICBpZihlIGluc3RhbmNlb2YgVHlwZUVycm9yKQ0KICAgICAgcmV0dXJuIHRydWU7ICANCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.reduce throws TypeError when elements assigned values are deleted by reducing array length and initialValue is not present","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-c-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjEvMTUuNC40LjIxLTgtYy0zLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnJlZHVjZSB0aHJvd3MgVHlwZUVycm9yIHdoZW4gZWxlbWVudHMgYXNzaWduZWQgdmFsdWVzIGFyZSBkZWxldGVkIGFuZCBpbml0aWFsVmFsdWUgaXMgbm90IHByZXNlbnQNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgeyANCiANCiAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKQ0KICB7DQogIH0NCg0KICB2YXIgYXJyID0gWzEsMiwzLDQsNV07DQogIGRlbGV0ZSBhcnJbMF07DQogIGRlbGV0ZSBhcnJbMV07DQogIGRlbGV0ZSBhcnJbMl07DQogIGRlbGV0ZSBhcnJbM107DQogIGRlbGV0ZSBhcnJbNF07DQogIHRyeSB7DQogICAgYXJyLnJlZHVjZShjYWxsYmFja2ZuKTsNCiAgfSANCiAgY2F0Y2goZSkgew0KICAgIGlmKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpDQogICAgICByZXR1cm4gdHJ1ZTsgIA0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduce throws TypeError when elements assigned values are deleted and initialValue is not present","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-c-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjEvMTUuNC40LjIxLTgtYy00LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnJlZHVjZSBkb2Vzbid0IHRocm93IGVycm9yIHdoZW4gYXJyYXkgaGFzIG5vIG93biBwcm9wZXJ0aWVzIGJ1dCBwcm90b3R5cGUgY29udGFpbnMgYSBzaW5nbGUgcHJvcGVydHkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhcnIgPSBbLCAsICwgXTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlWzFdID0gInByb3RvdHlwZSI7DQogICAgICAgICAgICBhcnIucmVkdWNlKGZ1bmN0aW9uICgpIHsgfSk7DQogICAgICAgICAgICByZXR1cm4gdHJ1ZTsNCiAgICAgICAgfSBjYXRjaCAoZXgpIHsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBBcnJheS5wcm90b3R5cGVbMV07DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.reduce doesn't throw error when array has no own properties but prototype contains a single property","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-c-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjEvMTUuNC40LjIxLTgtYy01LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnJlZHVjZSAtIGlmIGV4Y2VwdGlvbiBvY2N1cnMsIGl0IG9jY3VycyBhZnRlciBhbnkgc2lkZS1lZmZlY3RzIHRoYXQgbWlnaHQgYmUgcHJvZHVjZWQgYnkgc3RlcCAyDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0geyB9Ow0KDQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJsZW5ndGgiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICAgICAgcmV0dXJuIDI7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBBcnJheS5wcm90b3R5cGUucmVkdWNlLmNhbGwob2JqLCBmdW5jdGlvbiAoKSB7IH0pOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChleCkgew0KICAgICAgICAgICAgcmV0dXJuIChleCBpbnN0YW5jZW9mIFR5cGVFcnJvcikgJiYgYWNjZXNzZWQ7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.reduce - if exception occurs, it occurs after any side-effects that might be produced by step 2","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-c-5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjEvMTUuNC40LjIxLTgtYy02LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnJlZHVjZSAtIGlmIGV4Y2VwdGlvbiBvY2N1cnMsIGl0IG9jY3VycyBhZnRlciBhbnkgc2lkZS1lZmZlY3RzIHRoYXQgbWlnaHQgYmUgcHJvZHVjZWQgYnkgc3RlcCAzDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0ge307DQoNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgImxlbmd0aCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiB7DQogICAgICAgICAgICAgICAgICAgIHRvU3RyaW5nOiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gIjIiOw0KICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgfTsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UuY2FsbChvYmosIGZ1bmN0aW9uICgpIHsgfSk7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGV4KSB7DQogICAgICAgICAgICByZXR1cm4gKGV4IGluc3RhbmNlb2YgVHlwZUVycm9yKSAmJiBhY2Nlc3NlZDsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.reduce - if exception occurs, it occurs after any side-effects that might be produced by step 3","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-c-6.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjEvMTUuNC40LjIxLTgtYy03LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnJlZHVjZSAtIHRoZSBleGNlcHRpb24gaXMgbm90IHRocm93biBpZiBleGNlcHRpb24gd2FzIHRocm93biBieSBzdGVwIDINCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAibGVuZ3RoIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgdGhyb3cgbmV3IFN5bnRheEVycm9yKCk7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBBcnJheS5wcm90b3R5cGUucmVkdWNlLmNhbGwob2JqLCBmdW5jdGlvbiAoKSB7IH0pOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChleCkgew0KICAgICAgICAgICAgcmV0dXJuICEoZXggaW5zdGFuY2VvZiBUeXBlRXJyb3IpOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduce - the exception is not thrown if exception was thrown by step 2","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-c-7.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjEvMTUuNC40LjIxLTgtYy04LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnJlZHVjZSAtIHRoZSBleGNlcHRpb24gaXMgbm90IHRocm93biBpZiBleGNlcHRpb24gd2FzIHRocm93biBieSBzdGVwIDMNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAibGVuZ3RoIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIHsNCiAgICAgICAgICAgICAgICAgICAgdG9TdHJpbmc6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICAgICAgICAgIHRocm93IG5ldyBTeW50YXhFcnJvcigpOw0KICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgfTsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UuY2FsbChvYmosIGZ1bmN0aW9uICgpIHsgfSk7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGV4KSB7DQogICAgICAgICAgICByZXR1cm4gIShleCBpbnN0YW5jZW9mIFR5cGVFcnJvcik7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.reduce - the exception is not thrown if exception was thrown by step 3","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-8-c-8.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjEvMTUuNC40LjIxLTktMS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UgZG9lc24ndCBjb25zaWRlciBuZXcgZWxlbWVudHMgYWRkZWQgdG8gYXJyYXkgYWZ0ZXIgaXQgaXMgY2FsbGVkDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBhcnJbNV0gPSA2Ow0KICAgICAgICAgICAgYXJyWzJdID0gMzsNCiAgICAgICAgICAgIHJldHVybiBwcmV2VmFsICsgY3VyVmFsOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIGFyciA9IFsxLCAyLCAsIDQsICc1J107DQogICAgICAgIHJldHVybiBhcnIucmVkdWNlKGNhbGxiYWNrZm4pID09PSAiMTA1IjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.reduce doesn't consider new elements added to array after it is called","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjEvMTUuNC40LjIxLTktMTAuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlIGNhbGxlZCB3aXRoIGFuIGluaXRpYWwgdmFsdWUgZG9lc24ndCBjb25zaWRlciBuZXcgZWxlbWVudHMgYWRkZWQgdG8gYXJyYXkgYWZ0ZXIgaXQgaXMgY2FsbGVkDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsgDQogDQogIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikgew0KICAgIGFycls1XSA9IDY7DQogICAgYXJyWzJdID0gMzsgICANCiAgICByZXR1cm4gcHJldlZhbCArIGN1clZhbDsNCiAgfQ0KDQogIHZhciBhcnIgPSBbMSwyLCw0LCc1J107DQogIHJldHVybiBhcnIucmVkdWNlKGNhbGxiYWNrZm4sICIiKSA9PT0gIjEyMzQ1IjsNCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.reduce called with an initial value doesn't consider new elements added to array after it is called","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-10.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjEvMTUuNC40LjIxLTktMi5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UgY29uc2lkZXJzIG5ldyB2YWx1ZSBvZiBlbGVtZW50cyBpbiBhcnJheSBhZnRlciBpdCBpcyBjYWxsZWQNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgeyANCiANCiAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKQ0KICB7DQogICAgYXJyWzNdID0gLTI7DQogICAgYXJyWzRdID0gLTE7DQogICAgcmV0dXJuIHByZXZWYWwgKyBjdXJWYWw7DQogIH0NCg0KICB2YXIgYXJyID0gWzEsMiwzLDQsNV07DQogIGlmKGFyci5yZWR1Y2UoY2FsbGJhY2tmbikgPT09IDMpDQogICAgcmV0dXJuIHRydWU7ICANCiAgDQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduce considers new value of elements in array after it is called","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjEvMTUuNC40LjIxLTktMy5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UgZG9lc24ndCB2aXNpdCBkZWxldGVkIGVsZW1lbnRzIGluIGFycmF5IGFmdGVyIHRoZSBjYWxsDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsgDQogDQogIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikgIA0KICB7DQogICAgZGVsZXRlIGFyclszXTsNCiAgICBkZWxldGUgYXJyWzRdOw0KICAgIHJldHVybiBwcmV2VmFsICsgY3VyVmFsOyAgICANCiAgfQ0KDQogIHZhciBhcnIgPSBbJzEnLDIsMyw0LDVdOw0KICBpZihhcnIucmVkdWNlKGNhbGxiYWNrZm4pID09PSAiMTIzIiAgKSAgICAvLyB0d28gZWxlbWVudHMgZGVsZXRlZA0KICAgIHJldHVybiB0cnVlOyAgDQogIA0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.reduce doesn't visit deleted elements in array after the call","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjEvMTUuNC40LjIxLTktNC5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UgZG9lc24ndCB2aXNpdCBkZWxldGVkIGVsZW1lbnRzIHdoZW4gQXJyYXkubGVuZ3RoIGlzIGRlY3JlYXNlZA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7IA0KIA0KICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopDQogIHsNCiAgICBhcnIubGVuZ3RoID0gMjsNCiAgICByZXR1cm4gcHJldlZhbCArIGN1clZhbDsNCiAgfQ0KDQogIHZhciBhcnIgPSBbMSwyLDMsNCw1XTsNCiAgaWYoYXJyLnJlZHVjZShjYWxsYmFja2ZuKSA9PT0gMyApDQogICAgcmV0dXJuIHRydWU7ICANCiAgDQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduce doesn't visit deleted elements when Array.length is decreased","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjEvMTUuNC40LjIxLTktNS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UgLSBjYWxsYmFja2ZuIG5vdCBjYWxsZWQgZm9yIGFycmF5IHdpdGggb25lIGVsZW1lbnQNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgeyANCiANCiAgdmFyIGNhbGxDbnQgPSAwOw0KICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopDQogIHsNCiAgICBjYWxsQ250Kys7DQogICAgcmV0dXJuIDI7DQogIH0NCg0KICB2YXIgYXJyID0gWzFdOw0KICBpZihhcnIucmVkdWNlKGNhbGxiYWNrZm4pID09PSAxICYmIGNhbGxDbnQgPT09IDAgKQ0KICAgIHJldHVybiB0cnVlOyAgICANCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.reduce - callbackfn not called for array with one element","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjEvMTUuNC40LjIxLTktNi5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UgdmlzaXRzIGRlbGV0ZWQgZWxlbWVudCBpbiBhcnJheSBhZnRlciB0aGUgY2FsbCB3aGVuIHNhbWUgaW5kZXggaXMgYWxzbyBwcmVzZW50IGluIHByb3RvdHlwZQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7IA0KIA0KICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopICANCiAgew0KICAgIGRlbGV0ZSBhcnJbM107DQogICAgZGVsZXRlIGFycls0XTsNCiAgICByZXR1cm4gcHJldlZhbCArIGN1clZhbDsgICAgDQogIH0NCg0KICBBcnJheS5wcm90b3R5cGVbNF0gPSA1Ow0KICB2YXIgYXJyID0gWycxJywyLDMsNCw1XTsNCiAgdmFyIHJlcyA9IGFyci5yZWR1Y2UoY2FsbGJhY2tmbik7DQogIGRlbGV0ZSBBcnJheS5wcm90b3R5cGVbNF07DQoNCiAgaWYocmVzID09PSAiMTIzNSIgICkgICAgLy9vbmUgZWxlbWVudCBhY3VhbGx5IGRlbGV0ZWQNCiAgICByZXR1cm4gdHJ1ZTsgIA0KICANCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.reduce visits deleted element in array after the call when same index is also present in prototype","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-6.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjEvMTUuNC40LjIxLTktNy5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2Ugc3RvcHMgY2FsbGluZyBjYWxsYmFja2ZuIG9uY2UgdGhlIGFycmF5IGlzIGRlbGV0ZWQgZHVyaW5nIHRoZSBjYWxsDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBkZWxldGUgby5hcnI7DQogICAgICAgICAgICByZXR1cm4gcHJldlZhbCArIGN1clZhbDsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvID0gbmV3IE9iamVjdCgpOw0KICAgICAgICBvLmFyciA9IFsnMScsIDIsIDMsIDQsIDVdOw0KICAgICAgICByZXR1cm4gby5hcnIucmVkdWNlKGNhbGxiYWNrZm4pID09PSAiMTIzNDUiICYmICFvLmhhc093blByb3BlcnR5KCJhcnIiKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.reduce stops calling callbackfn once the array is deleted during the call","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-7.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjEvMTUuNC40LjIxLTktOC5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UgLSBubyBvYnNlcnZhYmxlIGVmZmVjdHMgb2NjdXIgaWYgJ2xlbicgaXMgMA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQogICAgICAgIHZhciBjYWxsYmFja0FjY2Vzc2VkID0gZmFsc2U7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4oKSB7DQogICAgICAgICAgICBjYWxsYmFja0FjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSB7IGxlbmd0aDogMCB9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICIwIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgICAgIHJldHVybiAxMDsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgQXJyYXkucHJvdG90eXBlLnJlZHVjZS5jYWxsKG9iaiwgZnVuY3Rpb24gKCkgeyB9LCAiaW5pdGlhbFZhbHVlIik7DQogICAgICAgIHJldHVybiAhYWNjZXNzZWQgJiYgIWNhbGxiYWNrQWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduce - no observable effects occur if 'len' is 0","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-8.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjEvMTUuNC40LjIxLTktOS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UgLSBtb2RpZmljYXRpb25zIHRvIGxlbmd0aCBkb24ndCBjaGFuZ2UgbnVtYmVyIG9mIGl0ZXJhdGlvbnMgaW4gc3RlcCA5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIGNhbGxlZCA9IDA7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4oYWNjdW0sIHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGNhbGxlZCsrOw0KICAgICAgICAgICAgcmV0dXJuIGFjY3VtICsgdmFsOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIGFyciA9IFswLCAxLCAyLCAzXTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgIjAiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICBhcnIubGVuZ3RoID0gMjsNCiAgICAgICAgICAgICAgICByZXR1cm4gMDsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIG5ld0FjY3VtID0gYXJyLnJlZHVjZShjYWxsYmFja2ZuLCAiaW5pdGlhbFZhbHVlIik7DQoNCiAgICAgICAgcmV0dXJuIG5ld0FjY3VtID09PSAiaW5pdGlhbFZhbHVlMDEiICYmIGNhbGxlZCA9PT0gMjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.reduce - modifications to length don't change number of iterations in step 9","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-9.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjEvMTUuNC40LjIxLTktYi0xLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnJlZHVjZSByZXR1cm5zIGluaXRpYWx2YWx1ZSB3aGVuIEFycmF5IGlzIGVtcHR5IGFuZCBpbml0aWFsVmFsdWUgaXMgcHJlc2VudA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7IA0KIA0KICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopDQogIHsNCiAgfQ0KDQogIHZhciBhcnIgPSBuZXcgQXJyYXkoMTApOw0KDQogIGlmKGFyci5yZWR1Y2UoY2FsbGJhY2tmbiw1KSA9PT0gNSkNCiAgICAgIHJldHVybiB0cnVlOyAgDQoNCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.reduce returns initialvalue when Array is empty and initialValue is present","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-b-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjEvMTUuNC40LjIxLTktYi0xMC5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UgLSBkZWxldGluZyBwcm9wZXJ0eSBvZiBwcm90b3R5cGUgaW4gc3RlcCA4IGNhdXNlcyBkZWxldGVkIGluZGV4IHByb3BlcnR5IG5vdCB0byBiZSB2aXNpdGVkIG9uIGFuIEFycmF5LWxpa2UgT2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCiAgICAgICAgdmFyIHRlc3RSZXN1bHQgPSB0cnVlOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4oYWNjdW0sIHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIGlmIChpZHggPT09IDMpIHsNCiAgICAgICAgICAgICAgICB0ZXN0UmVzdWx0ID0gZmFsc2U7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0geyAyOiAyLCBsZW5ndGg6IDIwIH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgIjAiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICBkZWxldGUgT2JqZWN0LnByb3RvdHlwZVszXTsNCiAgICAgICAgICAgICAgICByZXR1cm4gMDsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5wcm90b3R5cGVbM10gPSAxOw0KICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlLnJlZHVjZS5jYWxsKG9iaiwgY2FsbGJhY2tmbik7DQogICAgICAgICAgICByZXR1cm4gdGVzdFJlc3VsdCAmJiBhY2Nlc3NlZDsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBPYmplY3QucHJvdG90eXBlWzNdOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduce - deleting property of prototype in step 8 causes deleted index property not to be visited on an Array-like Object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-b-10.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjEvMTUuNC40LjIxLTktYi0xMS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UgLSBkZWxldGluZyBwcm9wZXJ0eSBvZiBwcm90b3R5cGUgaW4gc3RlcCA4IGNhdXNlcyBkZWxldGVkIGluZGV4IHByb3BlcnR5IG5vdCB0byBiZSB2aXNpdGVkIG9uIGFuIEFycmF5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCiAgICAgICAgdmFyIHRlc3RSZXN1bHQgPSB0cnVlOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4oYWNjdW0sIHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIGlmIChpZHggPT09IDEpIHsNCiAgICAgICAgICAgICAgICB0ZXN0UmVzdWx0ID0gZmFsc2U7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgYXJyID0gWywgLCAsIDNdOw0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyLCAiMCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIGRlbGV0ZSBBcnJheS5wcm90b3R5cGVbMV07DQogICAgICAgICAgICAgICAgcmV0dXJuIDA7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBBcnJheS5wcm90b3R5cGVbMV0gPSAxOw0KICAgICAgICAgICAgYXJyLnJlZHVjZShjYWxsYmFja2ZuKTsNCiAgICAgICAgICAgIHJldHVybiB0ZXN0UmVzdWx0ICYmIGFjY2Vzc2VkOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIEFycmF5LnByb3RvdHlwZVsxXTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.reduce - deleting property of prototype in step 8 causes deleted index property not to be visited on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-b-11.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjEvMTUuNC40LjIxLTktYi0xMi5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UgLSBkZWxldGluZyBvd24gcHJvcGVydHkgd2l0aCBwcm90b3R5cGUgcHJvcGVydHkgaW4gc3RlcCA4IGNhdXNlcyBwcm90b3R5cGUgaW5kZXggcHJvcGVydHkgdG8gYmUgdmlzaXRlZCBvbiBhbiBBcnJheS1saWtlIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHRlc3RSZXN1bHQgPSBmYWxzZTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKGFjY3VtLCB2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBpZiAoaWR4ID09PSAxICYmIHZhbCA9PT0gMSkgew0KICAgICAgICAgICAgICAgIHRlc3RSZXN1bHQgPSB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgMDogMCwgMTogMTExLCA0OiAxMCwgbGVuZ3RoOiAxMCB9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICIwIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgZGVsZXRlIG9ialsxXTsNCiAgICAgICAgICAgICAgICByZXR1cm4gMDsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5wcm90b3R5cGVbMV0gPSAxOw0KICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlLnJlZHVjZS5jYWxsKG9iaiwgY2FsbGJhY2tmbik7DQogICAgICAgICAgICByZXR1cm4gdGVzdFJlc3VsdDsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBPYmplY3QucHJvdG90eXBlWzFdOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduce - deleting own property with prototype property in step 8 causes prototype index property to be visited on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-b-12.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjEvMTUuNC40LjIxLTktYi0xMy5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UgLSBkZWxldGluZyBvd24gcHJvcGVydHkgd2l0aCBwcm90b3R5cGUgcHJvcGVydHkgaW4gc3RlcCA4IGNhdXNlcyBwcm90b3R5cGUgaW5kZXggcHJvcGVydHkgdG8gYmUgdmlzaXRlZCBvbiBhbiBBcnJheQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHRlc3RSZXN1bHQgPSBmYWxzZTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKGFjY3VtLCB2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBpZiAoaWR4ID09PSAxICYmIHZhbCA9PT0gMSkgew0KICAgICAgICAgICAgICAgIHRlc3RSZXN1bHQgPSB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQogICAgICAgIHZhciBhcnIgPSBbMCwgMTExXTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyLCAiMCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIGRlbGV0ZSBhcnJbMV07DQogICAgICAgICAgICAgICAgcmV0dXJuIDA7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBBcnJheS5wcm90b3R5cGVbMV0gPSAxOw0KICAgICAgICAgICAgYXJyLnJlZHVjZShjYWxsYmFja2ZuKTsNCiAgICAgICAgICAgIHJldHVybiB0ZXN0UmVzdWx0Ow0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIEFycmF5LnByb3RvdHlwZVsxXTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.reduce - deleting own property with prototype property in step 8 causes prototype index property to be visited on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-b-13.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjEvMTUuNC40LjIxLTktYi0xNC5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UgLSBkZWNyZWFzaW5nIGxlbmd0aCBvZiBhcnJheSBpbiBzdGVwIDggY2F1c2VzIGRlbGV0ZWQgaW5kZXggcHJvcGVydHkgbm90IHRvIGJlIHZpc2l0ZWQNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KICAgICAgICB2YXIgdGVzdFJlc3VsdCA9IHRydWU7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihhY2N1bSwgdmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgaWYgKGlkeCA9PT0gMikgew0KICAgICAgICAgICAgICAgIHRlc3RSZXN1bHQgPSBmYWxzZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBhcnIgPSBbMCwgMSwgMiwgM107DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgIjAiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICBhcnIubGVuZ3RoID0gMjsNCiAgICAgICAgICAgICAgICByZXR1cm4gMDsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgYXJyLnJlZHVjZShjYWxsYmFja2ZuKTsNCg0KICAgICAgICByZXR1cm4gdGVzdFJlc3VsdCAmJiBhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.reduce - decreasing length of array in step 8 causes deleted index property not to be visited","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-b-14.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjEvMTUuNC40LjIxLTktYi0xNS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UgLSBkZWNyZWFzaW5nIGxlbmd0aCBvZiBhcnJheSB3aXRoIHByb3RvdHlwZSBwcm9wZXJ0eSBpbiBzdGVwIDggY2F1c2VzIHByb3RvdHlwZSBpbmRleCBwcm9wZXJ0eSB0byBiZSB2aXNpdGVkDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgdGVzdFJlc3VsdCA9IGZhbHNlOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4oYWNjdW0sIHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGlmIChpZHggPT09IDIgJiYgdmFsID09PSAicHJvdG90eXBlIikgew0KICAgICAgICAgICAgICAgIHRlc3RSZXN1bHQgPSB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQogICAgICAgIHZhciBhcnIgPSBbMCwgMSwgMiwgM107DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShBcnJheS5wcm90b3R5cGUsICIyIiwgew0KICAgICAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gInByb3RvdHlwZSI7DQogICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyLCAiMCIsIHsNCiAgICAgICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICAgICAgYXJyLmxlbmd0aCA9IDI7DQogICAgICAgICAgICAgICAgICAgIHJldHVybiAxOw0KICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgYXJyLnJlZHVjZShjYWxsYmFja2ZuKTsNCg0KICAgICAgICAgICAgcmV0dXJuIHRlc3RSZXN1bHQ7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgQXJyYXkucHJvdG90eXBlWzJdOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduce - decreasing length of array with prototype property in step 8 causes prototype index property to be visited","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-b-15.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjEvMTUuNC40LjIxLTktYi0xNi5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UgLSBkZWNyZWFzaW5nIGxlbmd0aCBvZiBhcnJheSBpbiBzdGVwIDggZG9lcyBub3QgZGVsZXRlIG5vbi1jb25maWd1cmFibGUgcHJvcGVydGllcw0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHRlc3RSZXN1bHQgPSBmYWxzZTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKGFjY3VtLCB2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBpZiAoaWR4ID09PSAyICYmIHZhbCA9PT0gInVuY29uZmlndXJhYmxlIikgew0KICAgICAgICAgICAgICAgIHRlc3RSZXN1bHQgPSB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIGFyciA9IFswLCAxLCAyLCAzXTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyLCAiMiIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiAidW5jb25maWd1cmFibGUiOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgfSk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgIjAiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICBhcnIubGVuZ3RoID0gMjsNCiAgICAgICAgICAgICAgICByZXR1cm4gMTsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgYXJyLnJlZHVjZShjYWxsYmFja2ZuKTsNCg0KICAgICAgICByZXR1cm4gdGVzdFJlc3VsdDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.reduce - decreasing length of array in step 8 does not delete non-configurable properties","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-b-16.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjEvMTUuNC40LjIxLTktYi0xNy5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UgLSBwcm9wZXJ0aWVzIGFkZGVkIGludG8gb3duIG9iamVjdCBhcmUgdmlzaXRlZCBvbiBhbiBBcnJheS1saWtlIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHRlc3RSZXN1bHQgPSBmYWxzZTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKGFjY3VtLCB2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBpZiAoaWR4ID09PSAzICYmIHZhbCA9PT0gMykgew0KICAgICAgICAgICAgICAgIHRlc3RSZXN1bHQgPSB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgbGVuZ3RoOiA1IH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgIjEiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiMyIsIHsNCiAgICAgICAgICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gMzsNCiAgICAgICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICAgICAgfSk7DQogICAgICAgICAgICAgICAgcmV0dXJuIDE7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UuY2FsbChvYmosIGNhbGxiYWNrZm4sICJpbml0aWFsVmFsdWUiKTsNCiAgICAgICAgcmV0dXJuIHRlc3RSZXN1bHQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduce - properties added into own object are visited on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-b-17.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjEvMTUuNC40LjIxLTktYi0xOC5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UgLSBwcm9wZXJ0aWVzIGFkZGVkIGludG8gb3duIG9iamVjdCBhcmUgdmlzaXRlZCBvbiBhbiBBcnJheQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHRlc3RSZXN1bHQgPSBmYWxzZTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKGFjY3VtLCB2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBpZiAoaWR4ID09PSAxICYmIHZhbCA9PT0gMSkgew0KICAgICAgICAgICAgICAgIHRlc3RSZXN1bHQgPSB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIGFyciA9IFswLCAsIDJdOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnIsICIwIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgIjEiLCB7DQogICAgICAgICAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDE7DQogICAgICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgICAgIHJldHVybiAwOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBhcnIucmVkdWNlKGNhbGxiYWNrZm4sICJpbml0aWFsVmFsdWUiKTsNCiAgICAgICAgcmV0dXJuIHRlc3RSZXN1bHQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduce - properties added into own object are visited on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-b-18.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjEvMTUuNC40LjIxLTktYi0xOS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UgLSBwcm9wZXJ0aWVzIGFkZGVkIHRvIHByb3RvdHlwZSBhcmUgdmlzaXRlZCBvbiBhbiBBcnJheS1saWtlIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHRlc3RSZXN1bHQgPSBmYWxzZTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKGFjY3VtLCB2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBpZiAoaWR4ID09PSAxICYmIHZhbCA9PT0gNi45OSkgew0KICAgICAgICAgICAgICAgIHRlc3RSZXN1bHQgPSB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgbGVuZ3RoOiA2IH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgIjAiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoT2JqZWN0LnByb3RvdHlwZSwgIjEiLCB7DQogICAgICAgICAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDYuOTk7DQogICAgICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgICAgIHJldHVybiAwOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlLnJlZHVjZS5jYWxsKG9iaiwgY2FsbGJhY2tmbiwgImluaXRpYWxWYWx1ZSIpOw0KICAgICAgICAgICAgcmV0dXJuIHRlc3RSZXN1bHQ7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgT2JqZWN0LnByb3RvdHlwZVsxXTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.reduce - properties added to prototype are visited on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-b-19.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjEvMTUuNC40LjIxLTktYi0yLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnJlZHVjZSAtIGFkZGVkIHByb3BlcnRpZXMgaW4gc3RlcCAyIGFyZSB2aXNpYmxlIGhlcmUNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gZmFsc2U7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihhY2N1bSwgdmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgaWYgKGlkeCA9PT0gMiAmJiB2YWwgPT09ICIyIikgew0KICAgICAgICAgICAgICAgIHRlc3RSZXN1bHQgPSB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJsZW5ndGgiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICBvYmpbMl0gPSAiMiI7DQogICAgICAgICAgICAgICAgcmV0dXJuIDM7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UuY2FsbChvYmosIGNhbGxiYWNrZm4sICJpbml0aWFsVmFsdWUiKTsNCg0KICAgICAgICByZXR1cm4gdGVzdFJlc3VsdDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.reduce - added properties in step 2 are visible here","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-b-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjEvMTUuNC40LjIxLTktYi0yMC5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UgLSBwcm9wZXJ0aWVzIGNhbiBiZSBhZGRlZCB0byBwcm90b3R5cGUgYXJlIHZpc2l0ZWQgb24gYW4gQXJyYXkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gZmFsc2U7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihhY2N1bSwgdmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgaWYgKGlkeCA9PT0gMSAmJiB2YWwgPT09IDYuOTkpIHsNCiAgICAgICAgICAgICAgICB0ZXN0UmVzdWx0ID0gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBhcnIgPSBbMCwgLCAyXTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyLCAiMCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShBcnJheS5wcm90b3R5cGUsICIxIiwgew0KICAgICAgICAgICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiA2Ljk5Ow0KICAgICAgICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgICAgICB9KTsNCiAgICAgICAgICAgICAgICByZXR1cm4gMDsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIGFyci5yZWR1Y2UoY2FsbGJhY2tmbiwgImluaXRpYWxWYWx1ZSIpOw0KICAgICAgICAgICAgcmV0dXJuIHRlc3RSZXN1bHQ7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgQXJyYXkucHJvdG90eXBlWzFdOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduce - properties can be added to prototype are visited on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-b-20.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjEvMTUuNC40LjIxLTktYi0yMS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UgLSBkZWxldGluZyBvd24gcHJvcGVydHkgY2F1c2VzIGRlbGV0ZWQgaW5kZXggcHJvcGVydHkgbm90IHRvIGJlIHZpc2l0ZWQgb24gYW4gQXJyYXktbGlrZSBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KICAgICAgICB2YXIgdGVzdFJlc3VsdCA9IHRydWU7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihhY2N1bSwgdmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgaWYgKGlkeCA9PT0gMSkgew0KICAgICAgICAgICAgICAgIHRlc3RSZXN1bHQgPSBmYWxzZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSB7IDU6IDEwLCBsZW5ndGg6IDEwIH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgIjEiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gNi45OTsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgIjAiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICBkZWxldGUgb2JqWzFdOw0KICAgICAgICAgICAgICAgIHJldHVybiAwOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBBcnJheS5wcm90b3R5cGUucmVkdWNlLmNhbGwob2JqLCBjYWxsYmFja2ZuLCAiaW5pdGlhbFZhbHVlIik7DQogICAgICAgIHJldHVybiB0ZXN0UmVzdWx0ICYmIGFjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.reduce - deleting own property causes deleted index property not to be visited on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-b-21.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjEvMTUuNC40LjIxLTktYi0yMi5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UgLSBkZWxldGluZyBvd24gcHJvcGVydHkgY2F1c2VzIGRlbGV0ZWQgaW5kZXggcHJvcGVydHkgbm90IHRvIGJlIHZpc2l0ZWQgb24gYW4gQXJyYXkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KICAgICAgICB2YXIgdGVzdFJlc3VsdCA9IHRydWU7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihhY2N1bSwgdmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgaWYgKGlkeCA9PT0gMSkgew0KICAgICAgICAgICAgICAgIHRlc3RSZXN1bHQgPSBmYWxzZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBhcnIgPSBbMSwgMiwgNF07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgIjEiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gIjYuOTkiOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyLCAiMCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIGRlbGV0ZSBhcnJbMV07DQogICAgICAgICAgICAgICAgcmV0dXJuIDA7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIGFyci5yZWR1Y2UoY2FsbGJhY2tmbiwgImluaXRpYWxWYWx1ZSIpOw0KICAgICAgICByZXR1cm4gdGVzdFJlc3VsdCAmJiBhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.reduce - deleting own property causes deleted index property not to be visited on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-b-22.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjEvMTUuNC40LjIxLTktYi0yMy5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UgLSBkZWxldGluZyBwcm9wZXJ0eSBvZiBwcm90b3R5cGUgY2F1c2VzIGRlbGV0ZWQgaW5kZXggcHJvcGVydHkgbm90IHRvIGJlIHZpc2l0ZWQgb24gYW4gQXJyYXktbGlrZSBPYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KICAgICAgICB2YXIgdGVzdFJlc3VsdCA9IHRydWU7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihhY2N1bSwgdmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgaWYgKGlkeCA9PT0gMykgew0KICAgICAgICAgICAgICAgIHRlc3RSZXN1bHQgPSBmYWxzZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSB7IDI6IDIsIGxlbmd0aDogMjAgfTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiMCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIGRlbGV0ZSBPYmplY3QucHJvdG90eXBlWzNdOw0KICAgICAgICAgICAgICAgIHJldHVybiAwOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LnByb3RvdHlwZVszXSA9IDE7DQogICAgICAgICAgICBBcnJheS5wcm90b3R5cGUucmVkdWNlLmNhbGwob2JqLCBjYWxsYmFja2ZuLCAiaW5pdGlhbFZhbHVlIik7DQogICAgICAgICAgICByZXR1cm4gdGVzdFJlc3VsdCAmJiBhY2Nlc3NlZDsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBPYmplY3QucHJvdG90eXBlWzNdOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduce - deleting property of prototype causes deleted index property not to be visited on an Array-like Object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-b-23.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjEvMTUuNC40LjIxLTktYi0yNC5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UgLSBkZWxldGluZyBwcm9wZXJ0eSBvZiBwcm90b3R5cGUgY2F1c2VzIGRlbGV0ZWQgaW5kZXggcHJvcGVydHkgbm90IHRvIGJlIHZpc2l0ZWQgb24gYW4gQXJyYXkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KICAgICAgICB2YXIgdGVzdFJlc3VsdCA9IHRydWU7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihhY2N1bSwgdmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgaWYgKGlkeCA9PT0gMSkgew0KICAgICAgICAgICAgICAgIHRlc3RSZXN1bHQgPSBmYWxzZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBhcnIgPSBbMCwgLCAsIDNdOw0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyLCAiMCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIGRlbGV0ZSBBcnJheS5wcm90b3R5cGVbMV07DQogICAgICAgICAgICAgICAgcmV0dXJuIDA7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBBcnJheS5wcm90b3R5cGVbMV0gPSAxOw0KICAgICAgICAgICAgYXJyLnJlZHVjZShjYWxsYmFja2ZuLCAiaW5pdGlhbFZhbHVlIik7DQogICAgICAgICAgICByZXR1cm4gdGVzdFJlc3VsdCAmJiBhY2Nlc3NlZDsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBBcnJheS5wcm90b3R5cGVbMV07DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.reduce - deleting property of prototype causes deleted index property not to be visited on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-b-24.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjEvMTUuNC40LjIxLTktYi0yNS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UgLSBkZWxldGluZyBvd24gcHJvcGVydHkgd2l0aCBwcm90b3R5cGUgcHJvcGVydHkgY2F1c2VzIHByb3RvdHlwZSBpbmRleCBwcm9wZXJ0eSB0byBiZSB2aXNpdGVkIG9uIGFuIEFycmF5LWxpa2Ugb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgdGVzdFJlc3VsdCA9IGZhbHNlOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4oYWNjdW0sIHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGlmIChpZHggPT09IDEgJiYgdmFsID09PSAxKSB7DQogICAgICAgICAgICAgICAgdGVzdFJlc3VsdCA9IHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0geyAwOiAwLCAxOiAxMTEsIDQ6IDEwLCBsZW5ndGg6IDEwIH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgIjAiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICBkZWxldGUgb2JqWzFdOw0KICAgICAgICAgICAgICAgIHJldHVybiAwOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LnByb3RvdHlwZVsxXSA9IDE7DQogICAgICAgICAgICBBcnJheS5wcm90b3R5cGUucmVkdWNlLmNhbGwob2JqLCBjYWxsYmFja2ZuLCAiaW5pdGlhbFZhbHVlIik7DQogICAgICAgICAgICByZXR1cm4gdGVzdFJlc3VsdDsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBPYmplY3QucHJvdG90eXBlWzFdOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduce - deleting own property with prototype property causes prototype index property to be visited on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-b-25.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjEvMTUuNC40LjIxLTktYi0yNi5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UgLSBkZWxldGluZyBvd24gcHJvcGVydHkgd2l0aCBwcm90b3R5cGUgcHJvcGVydHkgY2F1c2VzIHByb3RvdHlwZSBpbmRleCBwcm9wZXJ0eSB0byBiZSB2aXNpdGVkIG9uIGFuIEFycmF5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgdGVzdFJlc3VsdCA9IGZhbHNlOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4oYWNjdW0sIHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGlmIChpZHggPT09IDEgJiYgdmFsID09PSAxKSB7DQogICAgICAgICAgICAgICAgdGVzdFJlc3VsdCA9IHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCiAgICAgICAgdmFyIGFyciA9IFswLCAxMTFdOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnIsICIwIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgZGVsZXRlIGFyclsxXTsNCiAgICAgICAgICAgICAgICByZXR1cm4gMDsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIEFycmF5LnByb3RvdHlwZVsxXSA9IDE7DQogICAgICAgICAgICBhcnIucmVkdWNlKGNhbGxiYWNrZm4sICJpbml0aWFsVmFsdWUiKTsNCiAgICAgICAgICAgIHJldHVybiB0ZXN0UmVzdWx0Ow0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIEFycmF5LnByb3RvdHlwZVsxXTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.reduce - deleting own property with prototype property causes prototype index property to be visited on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-b-26.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjEvMTUuNC40LjIxLTktYi0yNy5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UgLSBkZWNyZWFzaW5nIGxlbmd0aCBvZiBhcnJheSBjYXVzZXMgZGVsZXRlZCBpbmRleCBwcm9wZXJ0eSBub3QgdG8gYmUgdmlzaXRlZA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQogICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gdHJ1ZTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKGFjY3VtLCB2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICBpZiAoaWR4ID09PSAyKSB7DQogICAgICAgICAgICAgICAgdGVzdFJlc3VsdCA9IGZhbHNlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIGFyciA9IFswLCAxLCAyLCAzXTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyLCAiMCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIGFyci5sZW5ndGggPSAyOw0KICAgICAgICAgICAgICAgIHJldHVybiAwOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBhcnIucmVkdWNlKGNhbGxiYWNrZm4sICJpbml0aWFsVmFsdWUiKTsNCg0KICAgICAgICByZXR1cm4gdGVzdFJlc3VsdCAmJiBhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.reduce - decreasing length of array causes deleted index property not to be visited","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-b-27.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjEvMTUuNC40LjIxLTktYi0yOC5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UgLSBkZWNyZWFzaW5nIGxlbmd0aCBvZiBhcnJheSB3aXRoIHByb3RvdHlwZSBwcm9wZXJ0eSBjYXVzZXMgcHJvdG90eXBlIGluZGV4IHByb3BlcnR5IHRvIGJlIHZpc2l0ZWQNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gZmFsc2U7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihhY2N1bSwgdmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgaWYgKGlkeCA9PT0gMiAmJiB2YWwgPT09ICJwcm90b3R5cGUiKSB7DQogICAgICAgICAgICAgICAgdGVzdFJlc3VsdCA9IHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCiAgICAgICAgdmFyIGFyciA9IFswLCAxLCAyLCAzXTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KEFycmF5LnByb3RvdHlwZSwgIjIiLCB7DQogICAgICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgIHJldHVybiAicHJvdG90eXBlIjsNCiAgICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnIsICIwIiwgew0KICAgICAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAgICBhcnIubGVuZ3RoID0gMjsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDE7DQogICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICBhcnIucmVkdWNlKGNhbGxiYWNrZm4sICJpbml0aWFsVmFsdWUiKTsNCg0KICAgICAgICAgICAgcmV0dXJuIHRlc3RSZXN1bHQ7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgQXJyYXkucHJvdG90eXBlWzJdOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduce - decreasing length of array with prototype property causes prototype index property to be visited","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-b-28.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjEvMTUuNC40LjIxLTktYi0yOS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UgLSBkZWNyZWFzaW5nIGxlbmd0aCBvZiBhcnJheSBkb2VzIG5vdCBkZWxldGUgbm9uLWNvbmZpZ3VyYWJsZSBwcm9wZXJ0aWVzDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgdGVzdFJlc3VsdCA9IGZhbHNlOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4oYWNjdW0sIHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGlmIChpZHggPT09IDIgJiYgdmFsID09PSAidW5jb25maWd1cmFibGUiKSB7DQogICAgICAgICAgICAgICAgdGVzdFJlc3VsdCA9IHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgYXJyID0gWzAsIDEsIDIsIDNdOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnIsICIyIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuICJ1bmNvbmZpZ3VyYWJsZSI7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyLCAiMCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIGFyci5sZW5ndGggPSAyOw0KICAgICAgICAgICAgICAgIHJldHVybiAxOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBhcnIucmVkdWNlKGNhbGxiYWNrZm4sICJpbml0aWFsVmFsdWUiKTsNCg0KICAgICAgICByZXR1cm4gdGVzdFJlc3VsdDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.reduce - decreasing length of array does not delete non-configurable properties","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-b-29.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjEvMTUuNC40LjIxLTktYi0zLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnJlZHVjZSAtIGRlbGV0ZWQgcHJvcGVydGllcyBpbiBzdGVwIDIgYXJlIHZpc2libGUgaGVyZQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQogICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gdHJ1ZTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKGFjY3VtLCB2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICBpZiAoaWR4ID09PSAyKSB7DQogICAgICAgICAgICAgICAgdGVzdFJlc3VsdCA9IGZhbHNlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgMjogIjIiLCAzOiAxMCB9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJsZW5ndGgiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICBkZWxldGUgb2JqWzJdOw0KICAgICAgICAgICAgICAgIHJldHVybiA1Ow0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBBcnJheS5wcm90b3R5cGUucmVkdWNlLmNhbGwob2JqLCBjYWxsYmFja2ZuLCAiaW5pdGlhbFZhbHVlIik7DQoNCiAgICAgICAgcmV0dXJuIGFjY2Vzc2VkICYmIHRlc3RSZXN1bHQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduce - deleted properties in step 2 are visible here","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-b-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjEvMTUuNC40LjIxLTktYi00LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnJlZHVjZSAtIHByb3BlcnRpZXMgYWRkZWQgaW50byBvd24gb2JqZWN0IGluIHN0ZXAgOCBhcmUgdmlzaXRlZCBvbiBhbiBBcnJheS1saWtlIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHRlc3RSZXN1bHQgPSBmYWxzZTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKGFjY3VtLCB2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBpZiAoaWR4ID09PSAzICYmIHZhbCA9PT0gMykgew0KICAgICAgICAgICAgICAgIHRlc3RSZXN1bHQgPSB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgbGVuZ3RoOiA1IH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgIjEiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiMyIsIHsNCiAgICAgICAgICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gMzsNCiAgICAgICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICAgICAgfSk7DQogICAgICAgICAgICAgICAgcmV0dXJuIDE7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UuY2FsbChvYmosIGNhbGxiYWNrZm4pOw0KICAgICAgICByZXR1cm4gdGVzdFJlc3VsdDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.reduce - properties added into own object in step 8 are visited on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-b-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjEvMTUuNC40LjIxLTktYi01LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnJlZHVjZSAtIHByb3BlcnRpZXMgYWRkZWQgaW50byBvd24gb2JqZWN0IGluIHN0ZXAgOCBhcmUgdmlzaXRlZCBvbiBhbiBBcnJheQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHRlc3RSZXN1bHQgPSBmYWxzZTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKGFjY3VtLCB2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBpZiAoaWR4ID09PSAxICYmIHZhbCA9PT0gMSkgew0KICAgICAgICAgICAgICAgIHRlc3RSZXN1bHQgPSB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIGFyciA9IFswLCAsIDJdOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnIsICIwIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgIjEiLCB7DQogICAgICAgICAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDE7DQogICAgICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgICAgIHJldHVybiAwOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBhcnIucmVkdWNlKGNhbGxiYWNrZm4pOw0KICAgICAgICByZXR1cm4gdGVzdFJlc3VsdDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.reduce - properties added into own object in step 8 are visited on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-b-5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjEvMTUuNC40LjIxLTktYi02LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnJlZHVjZSAtIHByb3BlcnRpZXMgYWRkZWQgdG8gcHJvdG90eXBlIGluIHN0ZXAgOCBhcmUgdmlzaXRlZCBvbiBhbiBBcnJheS1saWtlIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHRlc3RSZXN1bHQgPSBmYWxzZTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKGFjY3VtLCB2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBpZiAoaWR4ID09PSAxICYmIHZhbCA9PT0gNi45OSkgew0KICAgICAgICAgICAgICAgIHRlc3RSZXN1bHQgPSB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgbGVuZ3RoOiA2IH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgIjAiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoT2JqZWN0LnByb3RvdHlwZSwgIjEiLCB7DQogICAgICAgICAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDYuOTk7DQogICAgICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgICAgIHJldHVybiAwOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlLnJlZHVjZS5jYWxsKG9iaiwgY2FsbGJhY2tmbik7DQogICAgICAgICAgICByZXR1cm4gdGVzdFJlc3VsdDsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBPYmplY3QucHJvdG90eXBlWzFdOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduce - properties added to prototype in step 8 are visited on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-b-6.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjEvMTUuNC40LjIxLTktYi03LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnJlZHVjZSAtIHByb3BlcnRpZXMgYWRkZWQgdG8gcHJvdG90eXBlIGluIHN0ZXAgOCBhcmUgdmlzaXRlZCBvbiBhbiBBcnJheQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHRlc3RSZXN1bHQgPSBmYWxzZTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKGFjY3VtLCB2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBpZiAoaWR4ID09PSAxICYmIHZhbCA9PT0gNi45OSkgew0KICAgICAgICAgICAgICAgIHRlc3RSZXN1bHQgPSB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIGFyciA9IFswLCAsIDJdOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnIsICIwIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KEFycmF5LnByb3RvdHlwZSwgIjEiLCB7DQogICAgICAgICAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDYuOTk7DQogICAgICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgICAgIHJldHVybiAwOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgYXJyLnJlZHVjZShjYWxsYmFja2ZuKTsNCiAgICAgICAgICAgIHJldHVybiB0ZXN0UmVzdWx0Ow0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIEFycmF5LnByb3RvdHlwZVsxXTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.reduce - properties added to prototype in step 8 are visited on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-b-7.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjEvMTUuNC40LjIxLTktYi04LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnJlZHVjZSAtIGRlbGV0aW5nIG93biBwcm9wZXJ0eSBpbiBzdGVwIDggY2F1c2VzIGRlbGV0ZWQgaW5kZXggcHJvcGVydHkgbm90IHRvIGJlIHZpc2l0ZWQgb24gYW4gQXJyYXktbGlrZSBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KICAgICAgICB2YXIgdGVzdFJlc3VsdCA9IHRydWU7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihhY2N1bSwgdmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgaWYgKGlkeCA9PT0gMSkgew0KICAgICAgICAgICAgICAgIHRlc3RSZXN1bHQgPSBmYWxzZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSB7IDU6IDEwLCBsZW5ndGg6IDEwIH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgIjEiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gNi45OTsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgIjAiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICBkZWxldGUgb2JqWzFdOw0KICAgICAgICAgICAgICAgIHJldHVybiAwOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBBcnJheS5wcm90b3R5cGUucmVkdWNlLmNhbGwob2JqLCBjYWxsYmFja2ZuKTsNCiAgICAgICAgcmV0dXJuIHRlc3RSZXN1bHQgJiYgYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduce - deleting own property in step 8 causes deleted index property not to be visited on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-b-8.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjEvMTUuNC40LjIxLTktYi05LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnJlZHVjZSAtIGRlbGV0aW5nIG93biBwcm9wZXJ0eSBpbiBzdGVwIDggY2F1c2VzIGRlbGV0ZWQgaW5kZXggcHJvcGVydHkgbm90IHRvIGJlIHZpc2l0ZWQgb24gYW4gQXJyYXkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KICAgICAgICB2YXIgdGVzdFJlc3VsdCA9IHRydWU7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihhY2N1bSwgdmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgaWYgKGlkeCA9PT0gMSkgew0KICAgICAgICAgICAgICAgIHRlc3RSZXN1bHQgPSBmYWxzZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBhcnIgPSBbMSwgMiwgNF07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgIjAiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICBkZWxldGUgYXJyWzFdOw0KICAgICAgICAgICAgICAgIHJldHVybiAwOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBhcnIucmVkdWNlKGNhbGxiYWNrZm4pOw0KICAgICAgICByZXR1cm4gdGVzdFJlc3VsdCAmJiBhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.reduce - deleting own property in step 8 causes deleted index property not to be visited on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-b-9.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjEvMTUuNC40LjIxLTktYy0xLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnJlZHVjZSAtIGNhbGxiYWNrZm4gbm90IGNhbGxlZCBmb3IgaW5kZXhlcyBuZXZlciBiZWVuIGFzc2lnbmVkIHZhbHVlcw0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7IA0KIA0KICB2YXIgY2FsbENudCA9IDA7DQogIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikNCiAgew0KICAgIGNhbGxDbnQrKzsNCiAgICByZXR1cm4gY3VyVmFsOw0KICB9DQoNCiAgdmFyIGFyciA9IG5ldyBBcnJheSgxMCk7DQogIGFyclswXSA9IGFyclsxXSA9IHVuZGVmaW5lZDsgLy9leHBsaWNpdGx5IGFzc2lnbmluZyBhIHZhbHVlDQogIGlmKCBhcnIucmVkdWNlKGNhbGxiYWNrZm4pID09PSB1bmRlZmluZWQgJiYgY2FsbENudCA9PT0gMSkNCiAgICByZXR1cm4gdHJ1ZTsgICAgDQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduce - callbackfn not called for indexes never been assigned values","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjEvMTUuNC40LjIxLTktYy1pLTEuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlIC0gZWxlbWVudCB0byBiZSByZXRyaWV2ZWQgaXMgb3duIGRhdGEgcHJvcGVydHkgb24gYW4gQXJyYXktbGlrZSBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gZmFsc2U7DQogICAgICAgIHZhciBpbml0aWFsVmFsdWUgPSAwOw0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGlmIChpZHggPT09IDEpIHsNCiAgICAgICAgICAgICAgICB0ZXN0UmVzdWx0ID0gKGN1clZhbCA9PT0gMSk7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0geyAwOiAwLCAxOiAxLCAyOiAyLCBsZW5ndGg6IDIgfTsNCiAgICAgICAgQXJyYXkucHJvdG90eXBlLnJlZHVjZS5jYWxsKG9iaiwgY2FsbGJhY2tmbiwgaW5pdGlhbFZhbHVlKTsNCiAgICAgICAgcmV0dXJuIHRlc3RSZXN1bHQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduce - element to be retrieved is own data property on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-i-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjEvMTUuNC40LjIxLTktYy1pLTEwLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnJlZHVjZSAtIGVsZW1lbnQgdG8gYmUgcmV0cmlldmVkIGlzIG93biBhY2Nlc3NvciBwcm9wZXJ0eSBvbiBhbiBBcnJheQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHRlc3RSZXN1bHQgPSBmYWxzZTsNCiAgICAgICAgdmFyIGluaXRpYWxWYWx1ZSA9IDA7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgaWYgKGlkeCA9PT0gMSkgew0KICAgICAgICAgICAgICAgIHRlc3RSZXN1bHQgPSAoY3VyVmFsID09PSAxKTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBhcnIgPSBbMCwgLCAyXTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyLCAiMSIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiAxOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBhcnIucmVkdWNlKGNhbGxiYWNrZm4sIGluaXRpYWxWYWx1ZSk7DQogICAgICAgIHJldHVybiB0ZXN0UmVzdWx0Ow0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.reduce - element to be retrieved is own accessor property on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-i-10.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjEvMTUuNC40LjIxLTktYy1pLTExLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnJlZHVjZSAtIGVsZW1lbnQgdG8gYmUgcmV0cmlldmVkIGlzIG93biBhY2Nlc3NvciBwcm9wZXJ0eSB0aGF0IG92ZXJyaWRlcyBhbiBpbmhlcml0ZWQgZGF0YSBwcm9wZXJ0eSBvbiBhbiBBcnJheS1saWtlIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHRlc3RSZXN1bHQgPSBmYWxzZTsNCiAgICAgICAgdmFyIGluaXRpYWxWYWx1ZSA9IDA7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgaWYgKGlkeCA9PT0gMSkgew0KICAgICAgICAgICAgICAgIHRlc3RSZXN1bHQgPSAoY3VyVmFsID09PSAiMTEiKTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBwcm90byA9IHsgMDogMCwgMTogMSwgMjogMiB9Ow0KDQogICAgICAgIHZhciBDb24gPSBmdW5jdGlvbiAoKSB7IH07DQogICAgICAgIENvbi5wcm90b3R5cGUgPSBwcm90bzsNCg0KICAgICAgICB2YXIgY2hpbGQgPSBuZXcgQ29uKCk7DQogICAgICAgIGNoaWxkLmxlbmd0aCA9IDM7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGNoaWxkLCAiMSIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiAiMTEiOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBBcnJheS5wcm90b3R5cGUucmVkdWNlLmNhbGwoY2hpbGQsIGNhbGxiYWNrZm4sIGluaXRpYWxWYWx1ZSk7DQogICAgICAgIHJldHVybiB0ZXN0UmVzdWx0Ow0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.reduce - element to be retrieved is own accessor property that overrides an inherited data property on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-i-11.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjEvMTUuNC40LjIxLTktYy1pLTEyLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnJlZHVjZSAtIGVsZW1lbnQgdG8gYmUgcmV0cmlldmVkIGlzIG93biBhY2Nlc3NvciBwcm9wZXJ0eSB0aGF0IG92ZXJyaWRlcyBhbiBpbmhlcml0ZWQgZGF0YSBwcm9wZXJ0eSBvbiBhbiBBcnJheQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHRlc3RSZXN1bHQgPSBmYWxzZTsNCiAgICAgICAgdmFyIGluaXRpYWxWYWx1ZSA9IDA7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgaWYgKGlkeCA9PT0gMSkgew0KICAgICAgICAgICAgICAgIHRlc3RSZXN1bHQgPSAoY3VyVmFsID09PSAiMTEiKTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBBcnJheS5wcm90b3R5cGVbMV0gPSAxOw0KICAgICAgICAgICAgdmFyIGFyciA9IFswLCAsMl07DQoNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnIsICIxIiwgew0KICAgICAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gIjExIjsNCiAgICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgIGFyci5yZWR1Y2UoY2FsbGJhY2tmbiwgaW5pdGlhbFZhbHVlKTsNCiAgICAgICAgICAgIHJldHVybiB0ZXN0UmVzdWx0Ow0KDQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgQXJyYXkucHJvdG90eXBlWzFdOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduce - element to be retrieved is own accessor property that overrides an inherited data property on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-i-12.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjEvMTUuNC40LjIxLTktYy1pLTEzLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnJlZHVjZSAtIGVsZW1lbnQgdG8gYmUgcmV0cmlldmVkIGlzIG93biBhY2Nlc3NvciBwcm9wZXJ0eSB0aGF0IG92ZXJyaWRlcyBhbiBpbmhlcml0ZWQgYWNjZXNzb3IgcHJvcGVydHkgb24gYW4gQXJyYXktbGlrZSBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gZmFsc2U7DQogICAgICAgIHZhciBpbml0aWFsVmFsdWUgPSAwOw0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGlmIChpZHggPT09IDEpIHsNCiAgICAgICAgICAgICAgICB0ZXN0UmVzdWx0ID0gKGN1clZhbCA9PT0gIjExIik7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgcHJvdG8gPSB7IDA6IDAsIDI6IDJ9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShwcm90bywgIjEiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gMTsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIENvbiA9IGZ1bmN0aW9uICgpIHsgfTsNCiAgICAgICAgQ29uLnByb3RvdHlwZSA9IHByb3RvOw0KDQogICAgICAgIHZhciBjaGlsZCA9IG5ldyBDb24oKTsNCiAgICAgICAgY2hpbGQubGVuZ3RoID0gMzsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoY2hpbGQsICIxIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuICIxMSI7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UuY2FsbChjaGlsZCwgY2FsbGJhY2tmbiwgaW5pdGlhbFZhbHVlKTsNCiAgICAgICAgcmV0dXJuIHRlc3RSZXN1bHQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduce - element to be retrieved is own accessor property that overrides an inherited accessor property on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-i-13.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjEvMTUuNC40LjIxLTktYy1pLTE0LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnJlZHVjZSAtIGVsZW1lbnQgdG8gYmUgcmV0cmlldmVkIGlzIG93biBhY2Nlc3NvciBwcm9wZXJ0eSB0aGF0IG92ZXJyaWRlcyBhbiBpbmhlcml0ZWQgYWNjZXNzb3IgcHJvcGVydHkgb24gYW4gQXJyYXkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gZmFsc2U7DQogICAgICAgIHZhciBpbml0aWFsVmFsdWUgPSAwOw0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGlmIChpZHggPT09IDEpIHsNCiAgICAgICAgICAgICAgICB0ZXN0UmVzdWx0ID0gKGN1clZhbCA9PT0gIjExIik7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KEFycmF5LnByb3RvdHlwZSwgIjEiLCB7DQogICAgICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgIHJldHVybiAxOw0KICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgdmFyIGFyciA9IFswLCAsMl07DQoNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnIsICIxIiwgew0KICAgICAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gIjExIjsNCiAgICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICBhcnIucmVkdWNlKGNhbGxiYWNrZm4sIGluaXRpYWxWYWx1ZSk7DQogICAgICAgICAgICByZXR1cm4gdGVzdFJlc3VsdDsNCg0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIEFycmF5LnByb3RvdHlwZVsxXTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.reduce - element to be retrieved is own accessor property that overrides an inherited accessor property on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-i-14.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjEvMTUuNC40LjIxLTktYy1pLTE1LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnJlZHVjZSAtIGVsZW1lbnQgdG8gYmUgcmV0cmlldmVkIGlzIGluaGVyaXRlZCBhY2Nlc3NvciBwcm9wZXJ0eSBvbiBhbiBBcnJheS1saWtlIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHRlc3RSZXN1bHQgPSBmYWxzZTsNCiAgICAgICAgdmFyIGluaXRpYWxWYWx1ZSA9IDA7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgaWYgKGlkeCA9PT0gMSkgew0KICAgICAgICAgICAgICAgIHRlc3RSZXN1bHQgPSAoY3VyVmFsID09PSAxKTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBwcm90byA9IHsgMDogMCwgMjogMiB9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShwcm90bywgIjEiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gMTsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIENvbiA9IGZ1bmN0aW9uICgpIHsgfTsNCiAgICAgICAgQ29uLnByb3RvdHlwZSA9IHByb3RvOw0KDQogICAgICAgIHZhciBjaGlsZCA9IG5ldyBDb24oKTsNCiAgICAgICAgY2hpbGQubGVuZ3RoID0gMzsNCg0KICAgICAgICBBcnJheS5wcm90b3R5cGUucmVkdWNlLmNhbGwoY2hpbGQsIGNhbGxiYWNrZm4sIGluaXRpYWxWYWx1ZSk7DQogICAgICAgIHJldHVybiB0ZXN0UmVzdWx0Ow0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.reduce - element to be retrieved is inherited accessor property on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-i-15.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjEvMTUuNC40LjIxLTktYy1pLTE2LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnJlZHVjZSAtIGVsZW1lbnQgdG8gYmUgcmV0cmlldmVkIGlzIGluaGVyaXRlZCBhY2Nlc3NvciBwcm9wZXJ0eSBvbiBhbiBBcnJheQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHRlc3RSZXN1bHQgPSBmYWxzZTsNCiAgICAgICAgdmFyIGluaXRpYWxWYWx1ZSA9IDA7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgaWYgKGlkeCA9PT0gMSkgew0KICAgICAgICAgICAgICAgIHRlc3RSZXN1bHQgPSAoY3VyVmFsID09PSAxKTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoQXJyYXkucHJvdG90eXBlLCAiMSIsIHsNCiAgICAgICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDE7DQogICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICB2YXIgYXJyID0gWzAsICwgMiwgXTsNCg0KICAgICAgICAgICAgYXJyLnJlZHVjZShjYWxsYmFja2ZuLCBpbml0aWFsVmFsdWUpOw0KICAgICAgICAgICAgcmV0dXJuIHRlc3RSZXN1bHQ7DQoNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBBcnJheS5wcm90b3R5cGVbMV07DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.reduce - element to be retrieved is inherited accessor property on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-i-16.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjEvMTUuNC40LjIxLTktYy1pLTE3LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnJlZHVjZSAtIGVsZW1lbnQgdG8gYmUgcmV0cmlldmVkIGlzIG93biBhY2Nlc3NvciBwcm9wZXJ0eSB3aXRob3V0IGEgZ2V0IGZ1bmN0aW9uIG9uIGFuIEFycmF5LWxpa2Ugb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgdGVzdFJlc3VsdCA9IGZhbHNlOw0KICAgICAgICB2YXIgaW5pdGlhbFZhbHVlID0gMDsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBpZiAoaWR4ID09PSAxKSB7DQogICAgICAgICAgICAgICAgdGVzdFJlc3VsdCA9IChjdXJWYWwgPT09IHVuZGVmaW5lZCk7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0geyAwOiAwLCAyOiAyLCBsZW5ndGg6IDMgfTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiMSIsIHsNCiAgICAgICAgICAgIHNldDogZnVuY3Rpb24gKCkgeyB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UuY2FsbChvYmosIGNhbGxiYWNrZm4sIGluaXRpYWxWYWx1ZSk7DQogICAgICAgIHJldHVybiB0ZXN0UmVzdWx0Ow0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.reduce - element to be retrieved is own accessor property without a get function on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-i-17.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjEvMTUuNC40LjIxLTktYy1pLTE4LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnJlZHVjZSAtIGVsZW1lbnQgdG8gYmUgcmV0cmlldmVkIGlzIG93biBhY2Nlc3NvciBwcm9wZXJ0eSB3aXRob3V0IGEgZ2V0IGZ1bmN0aW9uIG9uIGFuIEFycmF5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgdGVzdFJlc3VsdCA9IGZhbHNlOw0KICAgICAgICB2YXIgaW5pdGlhbFZhbHVlID0gMDsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBpZiAoaWR4ID09PSAxKSB7DQogICAgICAgICAgICAgICAgdGVzdFJlc3VsdCA9IChjdXJWYWwgPT09IHVuZGVmaW5lZCk7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgYXJyID0gWzAsICwgMl07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgIjEiLCB7DQogICAgICAgICAgICBzZXQ6IGZ1bmN0aW9uICgpIHsgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBhcnIucmVkdWNlKGNhbGxiYWNrZm4sIGluaXRpYWxWYWx1ZSk7DQogICAgICAgIHJldHVybiB0ZXN0UmVzdWx0Ow0KICAgICAgICAgDQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduce - element to be retrieved is own accessor property without a get function on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-i-18.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjEvMTUuNC40LjIxLTktYy1pLTE5LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnJlZHVjZSAtIGVsZW1lbnQgdG8gYmUgcmV0cmlldmVkIGlzIG93biBhY2Nlc3NvciBwcm9wZXJ0eSB3aXRob3V0IGEgZ2V0IGZ1bmN0aW9uIHRoYXQgb3ZlcnJpZGVzIGFuIGluaGVyaXRlZCBhY2Nlc3NvciBwcm9wZXJ0eSBvbiBhbiBBcnJheS1saWtlIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHRlc3RSZXN1bHQgPSBmYWxzZTsNCiAgICAgICAgdmFyIGluaXRpYWxWYWx1ZSA9IDA7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgaWYgKGlkeCA9PT0gMSkgew0KICAgICAgICAgICAgICAgIHRlc3RSZXN1bHQgPSAoY3VyVmFsID09PSB1bmRlZmluZWQpOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShPYmplY3QucHJvdG90eXBlLCAiMSIsIHsNCiAgICAgICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDE7DQogICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICB2YXIgb2JqID0geyAwOiAwLCAyOiAyLCBsZW5ndGg6IDMgfTsNCg0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgIjEiLCB7DQogICAgICAgICAgICAgICAgc2V0OiBmdW5jdGlvbiAoKSB7IH0sDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlLnJlZHVjZS5jYWxsKG9iaiwgY2FsbGJhY2tmbiwgaW5pdGlhbFZhbHVlKTsNCiAgICAgICAgICAgIHJldHVybiB0ZXN0UmVzdWx0Ow0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIE9iamVjdC5wcm90b3R5cGVbMV07DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.reduce - element to be retrieved is own accessor property without a get function that overrides an inherited accessor property on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-i-19.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjEvMTUuNC40LjIxLTktYy1pLTIuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlIC0gZWxlbWVudCB0byBiZSByZXRyaWV2ZWQgaXMgb3duIGRhdGEgcHJvcGVydHkgb24gYW4gQXJyYXkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gZmFsc2U7DQogICAgICAgIHZhciBpbml0aWFsVmFsdWUgPSAwOw0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGlmIChpZHggPT09IDEpIHsNCiAgICAgICAgICAgICAgICB0ZXN0UmVzdWx0ID0gKGN1clZhbCA9PT0gMSk7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgYXJyID0gWzAsIDFdOw0KICAgICAgICBhcnIucmVkdWNlKGNhbGxiYWNrZm4sIGluaXRpYWxWYWx1ZSk7DQogICAgICAgIHJldHVybiB0ZXN0UmVzdWx0Ow0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.reduce - element to be retrieved is own data property on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-i-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjEvMTUuNC40LjIxLTktYy1pLTIwLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnJlZHVjZSAtIGVsZW1lbnQgdG8gYmUgcmV0cmlldmVkIGlzIG93biBhY2Nlc3NvciBwcm9wZXJ0eSB3aXRob3V0IGEgZ2V0IGZ1bmN0aW9uIHRoYXQgb3ZlcnJpZGVzIGFuIGluaGVyaXRlZCBhY2Nlc3NvciBwcm9wZXJ0eSBvbiBhbiBBcnJheQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHRlc3RSZXN1bHQgPSBmYWxzZTsNCiAgICAgICAgdmFyIGluaXRpYWxWYWx1ZSA9IDA7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgaWYgKGlkeCA9PT0gMSkgew0KICAgICAgICAgICAgICAgIHRlc3RSZXN1bHQgPSAoY3VyVmFsID09PSB1bmRlZmluZWQpOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShBcnJheS5wcm90b3R5cGUsICIxIiwgew0KICAgICAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gMTE7DQogICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICB2YXIgYXJyID0gWzAsICwgMl07DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyLCAiMSIsIHsNCiAgICAgICAgICAgICAgICBzZXQ6IGZ1bmN0aW9uICgpIHsgfSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICBhcnIucmVkdWNlKGNhbGxiYWNrZm4sIGluaXRpYWxWYWx1ZSk7DQogICAgICAgICAgICByZXR1cm4gdGVzdFJlc3VsdDsNCg0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIEFycmF5LnByb3RvdHlwZVsxXTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.reduce - element to be retrieved is own accessor property without a get function that overrides an inherited accessor property on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-i-20.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjEvMTUuNC40LjIxLTktYy1pLTIxLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnJlZHVjZSAtIGVsZW1lbnQgdG8gYmUgcmV0cmlldmVkIGlzIGluaGVyaXRlZCBhY2Nlc3NvciBwcm9wZXJ0eSB3aXRob3V0IGEgZ2V0IGZ1bmN0aW9uIG9uIGFuIEFycmF5LWxpa2Ugb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgdGVzdFJlc3VsdCA9IGZhbHNlOw0KICAgICAgICB2YXIgaW5pdGlhbFZhbHVlID0gMDsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBpZiAoaWR4ID09PSAxKSB7DQogICAgICAgICAgICAgICAgdGVzdFJlc3VsdCA9IChjdXJWYWwgPT09IHVuZGVmaW5lZCk7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgcHJvdG8gPSB7IDA6IDAsIDI6IDIgfTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkocHJvdG8sICIxIiwgew0KICAgICAgICAgICAgc2V0OiBmdW5jdGlvbiAoKSB7IH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIENvbiA9IGZ1bmN0aW9uICgpIHsgfTsNCiAgICAgICAgQ29uLnByb3RvdHlwZSA9IHByb3RvOw0KDQogICAgICAgIHZhciBjaGlsZCA9IG5ldyBDb24oKTsNCiAgICAgICAgY2hpbGQubGVuZ3RoID0gMzsNCg0KICAgICAgICBBcnJheS5wcm90b3R5cGUucmVkdWNlLmNhbGwoY2hpbGQsIGNhbGxiYWNrZm4sIGluaXRpYWxWYWx1ZSk7DQogICAgICAgIHJldHVybiB0ZXN0UmVzdWx0Ow0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.reduce - element to be retrieved is inherited accessor property without a get function on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-i-21.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjEvMTUuNC40LjIxLTktYy1pLTIyLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnJlZHVjZSAtIGVsZW1lbnQgdG8gYmUgcmV0cmlldmVkIGlzIGluaGVyaXRlZCBhY2Nlc3NvciBwcm9wZXJ0eSB3aXRob3V0IGEgZ2V0IGZ1bmN0aW9uIG9uIGFuIEFycmF5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgdGVzdFJlc3VsdCA9IGZhbHNlOw0KICAgICAgICB2YXIgaW5pdGlhbFZhbHVlID0gMDsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBpZiAoaWR4ID09PSAxKSB7DQogICAgICAgICAgICAgICAgdGVzdFJlc3VsdCA9IChjdXJWYWwgPT09IHVuZGVmaW5lZCk7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KEFycmF5LnByb3RvdHlwZSwgIjEiLCB7DQogICAgICAgICAgICAgICAgc2V0OiBmdW5jdGlvbiAoKSB7IH0sDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgdmFyIGFyciA9IFswLCAsIDJdOw0KDQogICAgICAgICAgICBhcnIucmVkdWNlKGNhbGxiYWNrZm4sIGluaXRpYWxWYWx1ZSk7DQogICAgICAgICAgICByZXR1cm4gdGVzdFJlc3VsdDsNCg0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIEFycmF5LnByb3RvdHlwZVsxXTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.reduce - element to be retrieved is inherited accessor property without a get function on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-i-22.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjEvMTUuNC40LjIxLTktYy1pLTIzLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnJlZHVjZSAtIFRoaXMgb2JqZWN0IGlzIHRoZSBnbG9iYWwgb2JqZWN0IHdoaWNoIGNvbnRhaW5zIGluZGV4IHByb3BlcnR5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgdGVzdFJlc3VsdCA9IGZhbHNlOw0KICAgICAgICB2YXIgaW5pdGlhbFZhbHVlID0gMDsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBpZiAoaWR4ID09PSAxKSB7DQogICAgICAgICAgICAgICAgdGVzdFJlc3VsdCA9IChjdXJWYWwgPT09IDEpOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIHZhciBvbGRMZW4gPSBmbkdsb2JhbE9iamVjdCgpLmxlbmd0aDsNCiAgICAgICAgICAgIGZuR2xvYmFsT2JqZWN0KClbMF0gPSAwOw0KICAgICAgICAgICAgZm5HbG9iYWxPYmplY3QoKVsxXSA9IDE7DQogICAgICAgICAgICBmbkdsb2JhbE9iamVjdCgpLmxlbmd0aCA9IDI7DQoNCiAgICAgICAgICAgIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UuY2FsbChmbkdsb2JhbE9iamVjdCgpLCBjYWxsYmFja2ZuLCBpbml0aWFsVmFsdWUpOw0KICAgICAgICAgICAgcmV0dXJuIHRlc3RSZXN1bHQ7DQoNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBmbkdsb2JhbE9iamVjdCgpWzBdOw0KICAgICAgICAgICAgZGVsZXRlIGZuR2xvYmFsT2JqZWN0KClbMV07DQogICAgICAgICAgICBmbkdsb2JhbE9iamVjdCgpLmxlbmd0aCA9IG9sZExlbjsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.reduce - This object is the global object which contains index property","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-i-23.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjEvMTUuNC40LjIxLTktYy1pLTI1LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnJlZHVjZSAtIFRoaXMgb2JqZWN0IGlzIHRoZSBBcmd1bWVudHMgb2JqZWN0IHdoaWNoIGltcGxlbWVudHMgaXRzIG93biBwcm9wZXJ0eSBnZXQgbWV0aG9kIChudW1iZXIgb2YgYXJndW1lbnRzIGlzIGxlc3MgdGhhbiBudW1iZXIgb2YgcGFyYW1ldGVycykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gZmFsc2U7DQogICAgICAgIHZhciBpbml0aWFsVmFsdWUgPSAwOw0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGlmIChpZHggPT09IDEpIHsNCiAgICAgICAgICAgICAgICB0ZXN0UmVzdWx0ID0gKGN1clZhbCA9PT0gMSk7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgZnVuYyA9IGZ1bmN0aW9uIChhLCBiLCBjKSB7DQogICAgICAgICAgICBBcnJheS5wcm90b3R5cGUucmVkdWNlLmNhbGwoYXJndW1lbnRzLCBjYWxsYmFja2ZuLCBpbml0aWFsVmFsdWUpOw0KICAgICAgICB9Ow0KDQogICAgICAgIGZ1bmMoMCwgMSk7DQogICAgICAgIHJldHVybiB0ZXN0UmVzdWx0Ow0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.reduce - This object is the Arguments object which implements its own property get method (number of arguments is less than number of parameters)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-i-25.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjEvMTUuNC40LjIxLTktYy1pLTI2LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnJlZHVjZSAtIFRoaXMgb2JqZWN0IGlzIHRoZSBBcmd1bWVudHMgb2JqZWN0IHdoaWNoIGltcGxlbWVudHMgaXRzIG93biBwcm9wZXJ0eSBnZXQgbWV0aG9kIChudW1iZXIgb2YgYXJndW1lbnRzIGVxdWFscyBudW1iZXIgb2YgcGFyYW1ldGVycykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gZmFsc2U7DQogICAgICAgIHZhciBpbml0aWFsVmFsdWUgPSAwOw0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGlmIChpZHggPT09IDIpIHsNCiAgICAgICAgICAgICAgICB0ZXN0UmVzdWx0ID0gKGN1clZhbCA9PT0gMik7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgZnVuYyA9IGZ1bmN0aW9uIChhLCBiLCBjKSB7DQogICAgICAgICAgICBBcnJheS5wcm90b3R5cGUucmVkdWNlLmNhbGwoYXJndW1lbnRzLCBjYWxsYmFja2ZuLCBpbml0aWFsVmFsdWUpOw0KICAgICAgICB9Ow0KDQogICAgICAgIGZ1bmMoMCwgMSwgMik7DQogICAgICAgIHJldHVybiB0ZXN0UmVzdWx0Ow0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.reduce - This object is the Arguments object which implements its own property get method (number of arguments equals number of parameters)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-i-26.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjEvMTUuNC40LjIxLTktYy1pLTI3LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnJlZHVjZSAtIFRoaXMgb2JqZWN0IGlzIHRoZSBBcmd1bWVudHMgb2JqZWN0IHdoaWNoIGltcGxlbWVudHMgaXRzIG93biBwcm9wZXJ0eSBnZXQgbWV0aG9kIChudW1iZXIgb2YgYXJndW1lbnRzIGlzIGdyZWF0ZXIgdGhhbiBudW1iZXIgb2YgcGFyYW1ldGVycykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gZmFsc2U7DQogICAgICAgIHZhciBpbml0aWFsVmFsdWUgPSAwOw0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGlmIChpZHggPT09IDMpIHsNCiAgICAgICAgICAgICAgICB0ZXN0UmVzdWx0ID0gKGN1clZhbCA9PT0gMyk7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgZnVuYyA9IGZ1bmN0aW9uIChhLCBiLCBjKSB7DQogICAgICAgICAgICBBcnJheS5wcm90b3R5cGUucmVkdWNlLmNhbGwoYXJndW1lbnRzLCBjYWxsYmFja2ZuLCBpbml0aWFsVmFsdWUpOw0KICAgICAgICB9Ow0KDQogICAgICAgIGZ1bmMoMCwgMSwgMiwgMyk7DQogICAgICAgIHJldHVybiB0ZXN0UmVzdWx0Ow0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.reduce - This object is the Arguments object which implements its own property get method (number of arguments is greater than number of parameters)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-i-27.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjEvMTUuNC40LjIxLTktYy1pLTI4LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnJlZHVjZSAtIGFwcGxpZWQgdG8gU3RyaW5nIG9iamVjdCwgd2hpY2ggaW1wbGVtZW50cyBpdHMgb3duIHByb3BlcnR5IGdldCBtZXRob2QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gZmFsc2U7DQogICAgICAgIHZhciBpbml0aWFsVmFsdWUgPSAwOw0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGlmIChpZHggPT09IDEpIHsNCiAgICAgICAgICAgICAgICB0ZXN0UmVzdWx0ID0gKGN1clZhbCA9PT0gIjEiKTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBzdHIgPSBuZXcgU3RyaW5nKCIwMTIiKTsNCiAgICAgDQogICAgICAgIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UuY2FsbChzdHIsIGNhbGxiYWNrZm4sIGluaXRpYWxWYWx1ZSk7DQogICAgICAgIHJldHVybiB0ZXN0UmVzdWx0Ow0KICAgICAgICANCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.reduce - applied to String object, which implements its own property get method","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-i-28.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjEvMTUuNC40LjIxLTktYy1pLTI5LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnJlZHVjZSAtIGFwcGxpZWQgdG8gRnVuY3Rpb24gb2JqZWN0IHdoaWNoIGltcGxlbWVudHMgaXRzIG93biBwcm9wZXJ0eSBnZXQgbWV0aG9kDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgdGVzdFJlc3VsdCA9IGZhbHNlOw0KICAgICAgICB2YXIgaW5pdGlhbFZhbHVlID0gMDsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBpZiAoaWR4ID09PSAxKSB7DQogICAgICAgICAgICAgICAgdGVzdFJlc3VsdCA9IChjdXJWYWwgPT09IDEpOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IGZ1bmN0aW9uIChhLCBiLCBjKSB7DQogICAgICAgICAgICByZXR1cm4gYSArIGIgKyBjOw0KICAgICAgICB9Ow0KICAgICAgICBvYmpbMF0gPSAwOw0KICAgICAgICBvYmpbMV0gPSAxOw0KICAgICAgICBvYmpbMl0gPSAyOw0KICAgICAgICBvYmpbM10gPSAzOw0KDQogICAgICAgIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UuY2FsbChvYmosIGNhbGxiYWNrZm4sIGluaXRpYWxWYWx1ZSk7DQogICAgICAgIHJldHVybiB0ZXN0UmVzdWx0Ow0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.reduce - applied to Function object which implements its own property get method","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-i-29.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjEvMTUuNC40LjIxLTktYy1pLTMuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlIC0gZWxlbWVudCB0byBiZSByZXRyaWV2ZWQgaXMgb3duIGRhdGEgcHJvcGVydHkgdGhhdCBvdmVycmlkZXMgYW4gaW5oZXJpdGVkIGRhdGEgcHJvcGVydHkgb24gYW4gQXJyYXktbGlrZSBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gZmFsc2U7DQogICAgICAgIHZhciBpbml0aWFsVmFsdWUgPSAwOw0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGlmIChpZHggPT09IDEpIHsNCiAgICAgICAgICAgICAgICB0ZXN0UmVzdWx0ID0gKGN1clZhbCA9PT0gIjExIik7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgcHJvdG8gPSB7IDA6IDAsIDE6IDEsIDI6IDIsIGxlbmd0aDogMiB9Ow0KICAgICAgICB2YXIgQ29uID0gZnVuY3Rpb24gKCkgeyB9Ow0KICAgICAgICBDb24ucHJvdG90eXBlID0gcHJvdG87DQoNCiAgICAgICAgdmFyIGNoaWxkID0gbmV3IENvbigpOw0KICAgICAgICBjaGlsZFsxXSA9ICIxMSI7DQogICAgICAgIGNoaWxkWzJdID0gIjIyIjsNCiAgICAgICAgY2hpbGQubGVuZ3RoID0gMzsNCg0KICAgICAgICBBcnJheS5wcm90b3R5cGUucmVkdWNlLmNhbGwoY2hpbGQsIGNhbGxiYWNrZm4sIGluaXRpYWxWYWx1ZSk7DQogICAgICAgIHJldHVybiB0ZXN0UmVzdWx0Ow0KDQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduce - element to be retrieved is own data property that overrides an inherited data property on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-i-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjEvMTUuNC40LjIxLTktYy1pLTMwLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnJlZHVjZSAtIGVsZW1lbnQgY2hhbmdlZCBieSBnZXR0ZXIgb24gcHJldmlvdXMgaXRlcmF0aW9ucyBpcyBvYnNlcnZlZCBvbiBhbiBBcnJheQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHRlc3RSZXN1bHQgPSBmYWxzZTsNCiAgICAgICAgdmFyIGluaXRpYWxWYWx1ZSA9IDA7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgaWYgKGlkeCA9PT0gMSkgew0KICAgICAgICAgICAgICAgIHRlc3RSZXN1bHQgPSAoY3VyVmFsID09PSAxKTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBhcnIgPSBbLCAsIDJdOw0KICAgICAgICB2YXIgcHJlSXRlclZpc2libGUgPSBmYWxzZTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyLCAiMCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHByZUl0ZXJWaXNpYmxlID0gdHJ1ZTsNCiAgICAgICAgICAgICAgICByZXR1cm4gMDsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgIjEiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICBpZiAocHJlSXRlclZpc2libGUpIHsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDE7DQogICAgICAgICAgICAgICAgfSBlbHNlIHsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDEwMDsNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIGFyci5yZWR1Y2UoY2FsbGJhY2tmbiwgaW5pdGlhbFZhbHVlKTsNCiAgICAgICAgcmV0dXJuIHRlc3RSZXN1bHQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduce - element changed by getter on previous iterations is observed on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-i-30.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjEvMTUuNC40LjIxLTktYy1pLTMxLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnJlZHVjZSAtIGVsZW1lbnQgY2hhbmdlZCBieSBnZXR0ZXIgb24gcHJldmlvdXMgaXRlcmF0aW9ucyBpcyBvYnNlcnZlZCBvbiBhbiBBcnJheS1saWtlIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHRlc3RSZXN1bHQgPSBmYWxzZTsNCiAgICAgICAgdmFyIGluaXRpYWxWYWx1ZSA9IDA7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgaWYgKGlkeCA9PT0gMSkgew0KICAgICAgICAgICAgICAgIHRlc3RSZXN1bHQgPSAoY3VyVmFsID09PSAxKTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSB7IDI6IDIsIGxlbmd0aDogMyB9Ow0KICAgICAgICB2YXIgcHJlSXRlclZpc2libGUgPSBmYWxzZTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiMCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHByZUl0ZXJWaXNpYmxlID0gdHJ1ZTsNCiAgICAgICAgICAgICAgICByZXR1cm4gMDsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgIjEiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICBpZiAocHJlSXRlclZpc2libGUpIHsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDE7DQogICAgICAgICAgICAgICAgfSBlbHNlIHsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuICIxMSI7DQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBBcnJheS5wcm90b3R5cGUucmVkdWNlLmNhbGwob2JqLCBjYWxsYmFja2ZuLCBpbml0aWFsVmFsdWUpOw0KICAgICAgICByZXR1cm4gdGVzdFJlc3VsdDsNCg0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.reduce - element changed by getter on previous iterations is observed on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-i-31.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjEvMTUuNC40LjIxLTktYy1pLTMyLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnJlZHVjZSAtIHVubmhhbmRsZWQgZXhjZXB0aW9ucyBoYXBwZW5lZCBpbiBnZXR0ZXIgdGVybWluYXRlIGl0ZXJhdGlvbiBvbiBhbiBBcnJheS1saWtlIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQogICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gZmFsc2U7DQogICAgICAgIHZhciBpbml0aWFsVmFsdWUgPSAwOw0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGlmIChpZHggPj0gMSkgew0KICAgICAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgICAgICB0ZXN0UmVzdWx0ID0gKGN1clZhbCA+PSAxKTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSB7IDA6IDAsIDI6IDIsIGxlbmd0aDogMyB9Ow0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiMSIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHRocm93IG5ldyBSYW5nZUVycm9yKCJ1bmhhbmRsZSBleGNlcHRpb24gaGFwcGVuZWQgaW4gZ2V0dGVyIik7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBBcnJheS5wcm90b3R5cGUucmVkdWNlLmNhbGwob2JqLCBjYWxsYmFja2ZuLCBpbml0aWFsVmFsdWUpOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChleCkgew0KICAgICAgICAgICAgcmV0dXJuIChleCBpbnN0YW5jZW9mIFJhbmdlRXJyb3IpICYmICFhY2Nlc3NlZCAmJiAhdGVzdFJlc3VsdDsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.reduce - unnhandled exceptions happened in getter terminate iteration on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-i-32.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjEvMTUuNC40LjIxLTktYy1pLTMzLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnJlZHVjZSAtIHVubmhhbmRsZWQgZXhjZXB0aW9ucyBoYXBwZW5lZCBpbiBnZXR0ZXIgdGVybWluYXRlIGl0ZXJhdGlvbiBvbiBhbiBBcnJheQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQogICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gZmFsc2U7DQogICAgICAgIHZhciBpbml0aWFsVmFsdWUgPSAwOw0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGlmIChpZHggPj0gMSkgew0KICAgICAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgICAgICB0ZXN0UmVzdWx0ID0gKGN1clZhbCA+PSAxKTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBhcnIgPSBbMCwgLCAyXTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyLCAiMSIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHRocm93IG5ldyBSYW5nZUVycm9yKCJ1bmhhbmRsZSBleGNlcHRpb24gaGFwcGVuZWQgaW4gZ2V0dGVyIik7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBhcnIucmVkdWNlKGNhbGxiYWNrZm4sIGluaXRpYWxWYWx1ZSk7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGV4KSB7DQogICAgICAgICAgICByZXR1cm4gKGV4IGluc3RhbmNlb2YgUmFuZ2VFcnJvcikgJiYgIWFjY2Vzc2VkICYmICF0ZXN0UmVzdWx0Ow0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduce - unnhandled exceptions happened in getter terminate iteration on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-i-33.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjEvMTUuNC40LjIxLTktYy1pLTQuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlIC0gZWxlbWVudCB0byBiZSByZXRyaWV2ZWQgaXMgb3duIGRhdGEgcHJvcGVydHkgdGhhdCBvdmVycmlkZXMgYW4gaW5oZXJpdGVkIGRhdGEgcHJvcGVydHkgb24gYW4gQXJyYXkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gZmFsc2U7DQogICAgICAgIHZhciBpbml0aWFsVmFsdWUgPSAwOw0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGlmIChpZHggPT09IDEpIHsNCiAgICAgICAgICAgICAgICB0ZXN0UmVzdWx0ID0gKGN1clZhbCA9PT0gMSk7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlWzFdID0gIjMiOw0KICAgICAgICAgICAgWzAsIDEsIDJdLnJlZHVjZShjYWxsYmFja2ZuLCBpbml0aWFsVmFsdWUpOw0KICAgICAgICAgICAgcmV0dXJuIHRlc3RSZXN1bHQ7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgQXJyYXkucHJvdG90eXBlWzFdOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduce - element to be retrieved is own data property that overrides an inherited data property on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-i-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjEvMTUuNC40LjIxLTktYy1pLTUuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlIC0gZWxlbWVudCB0byBiZSByZXRyaWV2ZWQgaXMgb3duIGRhdGEgcHJvcGVydHkgdGhhdCBvdmVycmlkZXMgYW4gaW5oZXJpdGVkIGFjY2Vzc29yIHByb3BlcnR5IG9uIGFuIEFycmF5LWxpa2Ugb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgdGVzdFJlc3VsdCA9IGZhbHNlOw0KICAgICAgICB2YXIgaW5pdGlhbFZhbHVlID0gMDsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBpZiAoaWR4ID09PSAwKSB7DQogICAgICAgICAgICAgICAgdGVzdFJlc3VsdCA9IChjdXJWYWwgPT09ICI5Iik7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgcHJvdG8gPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkocHJvdG8sICIwIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIDA7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBDb24gPSBmdW5jdGlvbiAoKSB7IH07DQogICAgICAgIENvbi5wcm90b3R5cGUgPSBwcm90bzsNCg0KICAgICAgICB2YXIgY2hpbGQgPSBuZXcgQ29uKCk7DQogICAgICAgIGNoaWxkLmxlbmd0aCA9IDI7DQogICAgICAgIA0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoY2hpbGQsICIwIiwgew0KICAgICAgICAgICAgdmFsdWU6ICI5IiwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBjaGlsZFsxXSA9ICIxIjsNCg0KICAgICAgICBBcnJheS5wcm90b3R5cGUucmVkdWNlLmNhbGwoY2hpbGQsIGNhbGxiYWNrZm4sIGluaXRpYWxWYWx1ZSk7DQogICAgICAgIHJldHVybiB0ZXN0UmVzdWx0Ow0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.reduce - element to be retrieved is own data property that overrides an inherited accessor property on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-i-5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjEvMTUuNC40LjIxLTktYy1pLTYuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlIC0gZWxlbWVudCB0byBiZSByZXRyaWV2ZWQgaXMgb3duIGRhdGEgcHJvcGVydHkgdGhhdCBvdmVycmlkZXMgYW4gaW5oZXJpdGVkIGFjY2Vzc29yIHByb3BlcnR5IG9uIGFuIEFycmF5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgdGVzdFJlc3VsdCA9IGZhbHNlOw0KICAgICAgICB2YXIgaW5pdGlhbFZhbHVlID0gMDsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBpZiAoaWR4ID09PSAxKSB7DQogICAgICAgICAgICAgICAgdGVzdFJlc3VsdCA9IChjdXJWYWwgPT09IDEpOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShBcnJheS5wcm90b3R5cGUsICIxIiwgew0KICAgICAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gIjkiOw0KICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIFswLCAxLCAyXS5yZWR1Y2UoY2FsbGJhY2tmbiwgaW5pdGlhbFZhbHVlKTsNCiAgICAgICAgICAgIHJldHVybiB0ZXN0UmVzdWx0Ow0KDQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgQXJyYXkucHJvdG90eXBlWzFdOw0KICAgICAgICB9DQoNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.reduce - element to be retrieved is own data property that overrides an inherited accessor property on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-i-6.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjEvMTUuNC40LjIxLTktYy1pLTcuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlIC0gZWxlbWVudCB0byBiZSByZXRyaWV2ZWQgaXMgaW5oZXJpdGVkIGRhdGEgcHJvcGVydHkgb24gYW4gQXJyYXktbGlrZSBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gZmFsc2U7DQogICAgICAgIHZhciBpbml0aWFsVmFsdWUgPSAwOw0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGlmIChpZHggPT09IDEpIHsNCiAgICAgICAgICAgICAgICB0ZXN0UmVzdWx0ID0gKGN1clZhbCA9PT0gMSk7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgcHJvdG8gPSB7IDA6IDAsIDE6IDEsIDI6IDIsIGxlbmd0aDogMyB9Ow0KICAgICAgICB2YXIgQ29uID0gZnVuY3Rpb24gKCkgeyB9Ow0KICAgICAgICBDb24ucHJvdG90eXBlID0gcHJvdG87DQoNCiAgICAgICAgdmFyIGNoaWxkID0gbmV3IENvbigpOw0KICAgICAgICBjaGlsZC5sZW5ndGggPSAzOw0KDQogICAgICAgIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UuY2FsbChjaGlsZCwgY2FsbGJhY2tmbiwgaW5pdGlhbFZhbHVlKTsNCiAgICAgICAgcmV0dXJuIHRlc3RSZXN1bHQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduce - element to be retrieved is inherited data property on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-i-7.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjEvMTUuNC40LjIxLTktYy1pLTguanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlIC0gZWxlbWVudCB0byBiZSByZXRyaWV2ZWQgaXMgaW5oZXJpdGVkIGRhdGEgcHJvcGVydHkgb24gYW4gQXJyYXkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gZmFsc2U7DQogICAgICAgIHZhciBpbml0aWFsVmFsdWUgPSAwOw0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGlmIChpZHggPT09IDEpIHsNCiAgICAgICAgICAgICAgICB0ZXN0UmVzdWx0ID0gKGN1clZhbCA9PT0gMSk7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlWzBdID0gMDsNCiAgICAgICAgICAgIEFycmF5LnByb3RvdHlwZVsxXSA9IDE7DQogICAgICAgICAgICBBcnJheS5wcm90b3R5cGVbMl0gPSAyOw0KICAgICAgICAgICAgWywgLCAsIF0ucmVkdWNlKGNhbGxiYWNrZm4sIGluaXRpYWxWYWx1ZSk7DQoNCiAgICAgICAgICAgIHJldHVybiB0ZXN0UmVzdWx0Ow0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIEFycmF5LnByb3RvdHlwZVswXTsNCiAgICAgICAgICAgIGRlbGV0ZSBBcnJheS5wcm90b3R5cGVbMV07DQogICAgICAgICAgICBkZWxldGUgQXJyYXkucHJvdG90eXBlWzJdOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduce - element to be retrieved is inherited data property on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-i-8.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjEvMTUuNC40LjIxLTktYy1pLTkuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlIC0gZWxlbWVudCB0byBiZSByZXRyaWV2ZWQgaXMgb3duIGFjY2Vzc29yIHByb3BlcnR5IG9uIGFuIEFycmF5LWxpa2Ugb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgdGVzdFJlc3VsdCA9IGZhbHNlOw0KICAgICAgICB2YXIgaW5pdGlhbFZhbHVlID0gMDsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBpZiAoaWR4ID09PSAxKSB7DQogICAgICAgICAgICAgICAgdGVzdFJlc3VsdCA9IChjdXJWYWwgPT09IDEpOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgMDogMCwgMjogMiwgbGVuZ3RoOiAzIH07DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICIxIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIDE7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UuY2FsbChvYmosIGNhbGxiYWNrZm4sIGluaXRpYWxWYWx1ZSk7DQogICAgICAgIHJldHVybiB0ZXN0UmVzdWx0Ow0KDQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduce - element to be retrieved is own accessor property on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-i-9.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjEvMTUuNC40LjIxLTktYy1paS0xLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnJlZHVjZSAtIGNhbGxiYWNrZm4gY2FsbGVkIHdpdGggY29ycmVjdCBwYXJhbWV0ZXJzIChpbml0aWFsdmFsdWUgbm90IHBhc3NlZCkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgeyANCiANCiAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKQ0KICB7DQogICAgaWYoaWR4ID4gMCAmJiBvYmpbaWR4XSA9PT0gY3VyVmFsICYmIG9ialtpZHgtMV0gPT09IHByZXZWYWwpDQogICAgICByZXR1cm4gY3VyVmFsOw0KICAgIGVsc2UgDQogICAgICByZXR1cm4gZmFsc2U7DQogIH0NCg0KICB2YXIgYXJyID0gWzAsMSx0cnVlLG51bGwsbmV3IE9iamVjdCgpLCJmaXZlIl07DQogIGlmKCBhcnIucmVkdWNlKGNhbGxiYWNrZm4pID09PSAiZml2ZSIpIA0KICAgIHJldHVybiB0cnVlOw0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.reduce - callbackfn called with correct parameters (initialvalue not passed)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-ii-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjEvMTUuNC40LjIxLTktYy1paS0xMC5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UgLSBjYWxsYmFja2ZuIGlzIGNhbGxlZCB3aXRoIDEgZm9ybWFsIHBhcmFtZXRlcg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHJlc3VsdCA9IGZhbHNlOw0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwpIHsNCiAgICAgICAgICAgIHJlc3VsdCA9IChwcmV2VmFsID09PSAxKTsNCiAgICAgICAgfQ0KDQogICAgICAgIFsxMV0ucmVkdWNlKGNhbGxiYWNrZm4sIDEpOw0KICAgICAgICByZXR1cm4gcmVzdWx0Ow0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.reduce - callbackfn is called with 1 formal parameter","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-ii-10.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjEvMTUuNC40LjIxLTktYy1paS0xMS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UgLSBjYWxsYmFja2ZuIGlzIGNhbGxlZCB3aXRoIDIgZm9ybWFsIHBhcmFtZXRlcg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHJlc3VsdCA9IGZhbHNlOw0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCkgew0KICAgICAgICAgICAgcmVzdWx0ID0gKGN1clZhbCA+IDEwICYmIDEgPT09IHByZXZWYWwpOw0KICAgICAgICB9DQoNCiAgICAgICAgWzExXS5yZWR1Y2UoY2FsbGJhY2tmbiwgMSk7DQogICAgICAgIHJldHVybiByZXN1bHQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduce - callbackfn is called with 2 formal parameter","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-ii-11.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjEvMTUuNC40LjIxLTktYy1paS0xMi5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UgLSBjYWxsYmFja2ZuIGlzIGNhbGxlZCB3aXRoIDMgZm9ybWFsIHBhcmFtZXRlcg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHJlc3VsdCA9IGZhbHNlOw0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4KSB7DQogICAgICAgICAgICByZXN1bHQgPSAocHJldlZhbCA9PT0gMSAmJiBhcmd1bWVudHNbM11baWR4XSA9PT0gY3VyVmFsKTsNCiAgICAgICAgfQ0KDQogICAgICAgIFsxMV0ucmVkdWNlKGNhbGxiYWNrZm4sIDEpOw0KICAgICAgICByZXR1cm4gcmVzdWx0Ow0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.reduce - callbackfn is called with 3 formal parameter","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-ii-12.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjEvMTUuNC40LjIxLTktYy1paS0xMy5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UgLSBjYWxsYmFja2ZuIGlzIGNhbGxlZCB3aXRoIDQgZm9ybWFsIHBhcmFtZXRlcg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHJlc3VsdCA9IGZhbHNlOw0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIHJlc3VsdCA9IChwcmV2VmFsID09PSAxICYmIG9ialtpZHhdID09PSBjdXJWYWwpOw0KICAgICAgICB9DQoNCiAgICAgICAgWzExXS5yZWR1Y2UoY2FsbGJhY2tmbiwgMSk7DQogICAgICAgIHJldHVybiByZXN1bHQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduce - callbackfn is called with 4 formal parameter","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-ii-13.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjEvMTUuNC40LjIxLTktYy1paS0xNC5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UgLSBjYWxsYmFja2ZuIHRoYXQgdXNlcyBhcmd1bWVudHMNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciByZXN1bHQgPSBmYWxzZTsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbigpIHsNCiAgICAgICAgICAgIHJlc3VsdCA9IChhcmd1bWVudHNbMF0gPT09IDEgJiYgYXJndW1lbnRzWzNdW2FyZ3VtZW50c1syXV0gPT09IGFyZ3VtZW50c1sxXSk7DQogICAgICAgIH0NCg0KICAgICAgICBbMTFdLnJlZHVjZShjYWxsYmFja2ZuLCAxKTsNCiAgICAgICAgcmV0dXJuIHJlc3VsdDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.reduce - callbackfn that uses arguments","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-ii-14.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjEvMTUuNC40LjIxLTktYy1paS0xNi5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UgLSBub24taW5kZXhlZCBwcm9wZXJ0aWVzIGFyZSBub3QgY2FsbGVkDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCiAgICAgICAgdmFyIHJlc3VsdDEgPSB0cnVlOw0KICAgICAgICB2YXIgcmVzdWx0MiA9IHRydWU7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICBpZiAoY3VyVmFsID09PSA4KSB7DQogICAgICAgICAgICAgICAgcmVzdWx0MSA9IGZhbHNlOw0KICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICBpZiAocHJldlZhbCA9PT0gOCkgew0KICAgICAgICAgICAgICAgIHJlc3VsdDIgPSBmYWxzZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSB7IDA6IDExLCAxMDogMTIsIG5vbl9pbmRleF9wcm9wZXJ0eTogOCwgbGVuZ3RoOiAyMCB9Ow0KDQogICAgICAgIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UuY2FsbChvYmosIGNhbGxiYWNrZm4sIDEpOw0KICAgICAgICByZXR1cm4gcmVzdWx0MSAmJiByZXN1bHQyICYmIGFjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.reduce - non-indexed properties are not called","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-ii-16.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjEvMTUuNC40LjIxLTktYy1paS0xNy5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UgLSAnYWNjdW11bGF0b3InIHVzZWQgZm9yIGN1cnJlbnQgaXRlcmF0aW9uIGlzIHRoZSByZXN1bHQgb2YgcHJldmlvdXMgaXRlcmF0aW9uIG9uIGFuIEFycmF5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgcmVzdWx0ID0gdHJ1ZTsNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQogICAgICAgIHZhciBwcmVJdGVyYXRpb24gPSAxOw0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIGlmIChwcmVJdGVyYXRpb24gIT09IHByZXZWYWwpIHsNCiAgICAgICAgICAgICAgICByZXN1bHQgPSBmYWxzZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIHByZUl0ZXJhdGlvbiA9IGN1clZhbDsNCiAgICAgICAgICAgIHJldHVybiBjdXJWYWw7DQogICAgICAgIH0NCg0KICAgICAgICBbMTEsIDEyLCAxM10ucmVkdWNlKGNhbGxiYWNrZm4sIDEpOw0KICAgICAgICByZXR1cm4gcmVzdWx0ICYmIGFjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.reduce - 'accumulator' used for current iteration is the result of previous iteration on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-ii-17.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjEvMTUuNC40LjIxLTktYy1paS0xOC5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UgLSB2YWx1ZSBvZiAnYWNjdW11bGF0b3InIHVzZWQgZm9yIGZpcnN0IGl0ZXJhdGlvbiBpcyB0aGUgdmFsdWUgb2YgJ2luaXRpYWxWYWx1ZScgd2hlbiBpdCBpcyBwcmVzZW50IG9uIGFuIEFycmF5LWxpa2Ugb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgcmVzdWx0ID0gZmFsc2U7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgaWYgKGlkeCA9PT0gMCkgew0KICAgICAgICAgICAgICAgIHJlc3VsdCA9IChhcmd1bWVudHNbMF0gPT09IDEpOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgMDogMTEsIDE6IDksIGxlbmd0aDogMiB9Ow0KDQogICAgICAgIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UuY2FsbChvYmosIGNhbGxiYWNrZm4sIDEpOw0KICAgICAgICByZXR1cm4gcmVzdWx0Ow0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.reduce - value of 'accumulator' used for first iteration is the value of 'initialValue' when it is present on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-ii-18.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjEvMTUuNC40LjIxLTktYy1paS0xOS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UgLSB2YWx1ZSBvZiAnYWNjdW11bGF0b3InIHVzZWQgZm9yIGZpcnN0IGl0ZXJhdGlvbiBpcyB0aGUgdmFsdWUgb2YgbGVhc3QgaW5kZXggcHJvcGVydHkgd2hpY2ggaXMgbm90IHVuZGVmaW5lZCB3aGVuICdpbml0aWFsVmFsdWUnIGlzIG5vdCBwcmVzZW50IG9uIGFuIEFycmF5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgY2FsbGVkID0gMDsNCiAgICAgICAgdmFyIHJlc3VsdCA9IGZhbHNlOw0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGNhbGxlZCsrOw0KICAgICAgICAgICAgaWYgKGlkeCA9PT0gMSkgew0KICAgICAgICAgICAgICAgIHJlc3VsdCA9IChwcmV2VmFsID09PSAxMSkgJiYgY3VyVmFsID09PSA5Ow0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgWzExLCA5XS5yZWR1Y2UoY2FsbGJhY2tmbik7DQogICAgICAgIHJldHVybiByZXN1bHQgJiYgY2FsbGVkID09PSAxOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.reduce - value of 'accumulator' used for first iteration is the value of least index property which is not undefined when 'initialValue' is not present on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-ii-19.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjEvMTUuNC40LjIxLTktYy1paS0yLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnJlZHVjZSAtIGNhbGxiYWNrZm4gY2FsbGVkIHdpdGggY29ycmVjdCBwYXJhbWV0ZXJzIChpbml0aWFsdmFsdWUgcGFzc2VkKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7IA0KIA0KICB2YXIgYlBhckNvcnJlY3QgPSBmYWxzZTsNCiAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKQ0KICB7DQogICAgaWYoaWR4ID09PSAwICYmIG9ialtpZHhdID09PSBjdXJWYWwgJiYgcHJldlZhbCA9PT0gaW5pdGlhbFZhbHVlKQ0KICAgICAgcmV0dXJuIGN1clZhbDsNCiAgICBlbHNlIGlmKGlkeCA+IDAgJiYgb2JqW2lkeF0gPT09IGN1clZhbCAmJiBvYmpbaWR4LTFdID09PSBwcmV2VmFsKQ0KICAgICAgcmV0dXJuIGN1clZhbDsNCiAgICBlbHNlDQogICAgICByZXR1cm4gZmFsc2U7DQogIH0NCg0KICB2YXIgYXJyID0gWzAsMSx0cnVlLG51bGwsbmV3IE9iamVjdCgpLCJmaXZlIl07DQogIHZhciBpbml0aWFsVmFsdWUgPSA1LjU7DQogIGlmKCBhcnIucmVkdWNlKGNhbGxiYWNrZm4saW5pdGlhbFZhbHVlKSA9PT0gImZpdmUiKSANCiAgICByZXR1cm4gdHJ1ZTsNCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.reduce - callbackfn called with correct parameters (initialvalue passed)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-ii-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjEvMTUuNC40LjIxLTktYy1paS0yMC5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UgLSB1bmRlZmluZWQgY2FuIGJlIHVzZWQgYXMgYWNjdW11bGF0b3INCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIHJldHVybiB0eXBlb2YgcHJldlZhbCA9PT0gInVuZGVmaW5lZCI7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0geyAwOiAxMSwgbGVuZ3RoOiAxIH07DQoNCiAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UuY2FsbChvYmosIGNhbGxiYWNrZm4sIHVuZGVmaW5lZCkgPT09IHRydWUgJiYgYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduce - undefined can be used as accumulator","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-ii-20.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjEvMTUuNC40LjIxLTktYy1paS0yMS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UgLSBudWxsIGNhbiBiZSB1c2VkIGFzIGFjY3VtdWxhdG9yDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICByZXR1cm4gcHJldlZhbCA9PT0gbnVsbDsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSB7IDA6IDExLCBsZW5ndGg6IDEgfTsNCg0KICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLnJlZHVjZS5jYWxsKG9iaiwgY2FsbGJhY2tmbiwgbnVsbCkgPT09IHRydWUgJiYgYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduce - null can be used as accumulator","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-ii-21.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjEvMTUuNC40LjIxLTktYy1paS0yMi5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UgLSBib29sZWFuIHByaW1pdGl2ZSBjYW4gYmUgdXNlZCBhcyBhY2N1bXVsYXRvcg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgcmV0dXJuIHByZXZWYWwgPT09IGZhbHNlOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgMDogMTEsIGxlbmd0aDogMSB9Ow0KDQogICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUucmVkdWNlLmNhbGwob2JqLCBjYWxsYmFja2ZuLCBmYWxzZSkgPT09IHRydWUgJiYgYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduce - boolean primitive can be used as accumulator","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-ii-22.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjEvMTUuNC40LjIxLTktYy1paS0yMy5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UgLSBudW1iZXIgcHJpbWl0aXZlIGNhbiBiZSB1c2VkIGFzIGFjY3VtdWxhdG9yDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICByZXR1cm4gcHJldlZhbCA9PT0gMTI7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0geyAwOiAxMSwgbGVuZ3RoOiAxIH07DQoNCiAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UuY2FsbChvYmosIGNhbGxiYWNrZm4sIDEyKSA9PT0gdHJ1ZSAmJiBhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.reduce - number primitive can be used as accumulator","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-ii-23.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjEvMTUuNC40LjIxLTktYy1paS0yNC5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UgLSBzdHJpbmcgcHJpbWl0aXZlIGNhbiBiZSB1c2VkIGFzIGFjY3VtdWxhdG9yDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICByZXR1cm4gcHJldlZhbCA9PT0gImhlbGxvXyI7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0geyAwOiAxMSwgbGVuZ3RoOiAxIH07DQoNCiAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UuY2FsbChvYmosIGNhbGxiYWNrZm4sICJoZWxsb18iKSA9PT0gdHJ1ZSAmJiBhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.reduce - string primitive can be used as accumulator","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-ii-24.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjEvMTUuNC40LjIxLTktYy1paS0yNS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UgLSBGdW5jdGlvbiBvYmplY3QgY2FuIGJlIHVzZWQgYXMgYWNjdW11bGF0b3INCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmpGdW5jdGlvbiA9IGZ1bmN0aW9uICgpIHsgfTsNCg0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICByZXR1cm4gcHJldlZhbCA9PT0gb2JqRnVuY3Rpb247DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0geyAwOiAxMSwgbGVuZ3RoOiAxIH07DQoNCiAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UuY2FsbChvYmosIGNhbGxiYWNrZm4sIG9iakZ1bmN0aW9uKSA9PT0gdHJ1ZSAmJiBhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.reduce - Function object can be used as accumulator","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-ii-25.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjEvMTUuNC40LjIxLTktYy1paS0yNi5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UgLSBBcnJheSBvYmplY3QgY2FuIGJlIHVzZWQgYXMgYWNjdW11bGF0b3INCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmpBcnJheSA9IG5ldyBBcnJheSgxMCk7DQoNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgcmV0dXJuIHByZXZWYWwgPT09IG9iakFycmF5Ow0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgMDogMTEsIGxlbmd0aDogMSB9Ow0KDQogICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUucmVkdWNlLmNhbGwob2JqLCBjYWxsYmFja2ZuLCBvYmpBcnJheSkgPT09IHRydWUgJiYgYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduce - Array object can be used as accumulator","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-ii-26.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjEvMTUuNC40LjIxLTktYy1paS0yNy5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UgLSBTdHJpbmcgb2JqZWN0IGNhbiBiZSB1c2VkIGFzIGFjY3VtdWxhdG9yDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqU3RyaW5nID0gbmV3IFN0cmluZygpOw0KDQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIHJldHVybiBwcmV2VmFsID09PSBvYmpTdHJpbmc7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0geyAwOiAxMSwgbGVuZ3RoOiAxIH07DQoNCiAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UuY2FsbChvYmosIGNhbGxiYWNrZm4sIG9ialN0cmluZykgPT09IHRydWUgJiYgYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduce - String object can be used as accumulator","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-ii-27.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjEvMTUuNC40LjIxLTktYy1paS0yOC5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UgLSBCb29sZWFuIG9iamVjdCBjYW4gYmUgdXNlZCBhcyBhY2N1bXVsYXRvcg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iakJvb2xlYW4gPSBuZXcgQm9vbGVhbigpOw0KDQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIHJldHVybiBwcmV2VmFsID09PSBvYmpCb29sZWFuOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgMDogMTEsIGxlbmd0aDogMSB9Ow0KDQogICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUucmVkdWNlLmNhbGwob2JqLCBjYWxsYmFja2ZuLCBvYmpCb29sZWFuKSA9PT0gdHJ1ZSAmJiBhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.reduce - Boolean object can be used as accumulator","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-ii-28.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjEvMTUuNC40LjIxLTktYy1paS0yOS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UgLSBOdW1iZXIgb2JqZWN0IGNhbiBiZSB1c2VkIGFzIGFjY3VtdWxhdG9yDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqTnVtYmVyID0gbmV3IE51bWJlcigpOw0KDQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIHJldHVybiBwcmV2VmFsID09PSBvYmpOdW1iZXI7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0geyAwOiAxMSwgbGVuZ3RoOiAxIH07DQoNCiAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UuY2FsbChvYmosIGNhbGxiYWNrZm4sIG9iak51bWJlcikgPT09IHRydWUgJiYgYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduce - Number object can be used as accumulator","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-ii-29.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjEvMTUuNC40LjIxLTktYy1paS0zLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnJlZHVjZSAtIGNhbGxiYWNrZm4gdGFrZXMgNCBhcmd1bWVudHMNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgeyANCiANCiAgdmFyIGJDYWxsZWQgPSBmYWxzZTsNCiAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKQ0KICB7IA0KICAgIGJDYWxsZWQgPSB0cnVlOw0KICAgIGlmKHByZXZWYWwgPT09IHRydWUgJiYgYXJndW1lbnRzLmxlbmd0aCA9PT0gNCkgICANCiAgICAgIHJldHVybiB0cnVlOw0KICAgIGVsc2UNCiAgICAgIHJldHVybiBmYWxzZTsNCiAgfQ0KICB2YXIgYXJyID0gWzAsMSwyLDMsNCw1LDYsNyw4LDldOw0KICBpZihhcnIucmVkdWNlKGNhbGxiYWNrZm4sdHJ1ZSkgPT09IHRydWUgJiYgYkNhbGxlZCA9PT0gdHJ1ZSkNCiAgICByZXR1cm4gdHJ1ZTsNCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.reduce - callbackfn takes 4 arguments","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-ii-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjEvMTUuNC40LjIxLTktYy1paS0zMC5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UgLSB0aGUgTWF0aCBvYmplY3QgY2FuIGJlIHVzZWQgYXMgYWNjdW11bGF0b3INCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIHJldHVybiBwcmV2VmFsID09PSBNYXRoOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgMDogMTEsIGxlbmd0aDogMSB9Ow0KDQogICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUucmVkdWNlLmNhbGwob2JqLCBjYWxsYmFja2ZuLCBNYXRoKSA9PT0gdHJ1ZSAmJiBhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.reduce - the Math object can be used as accumulator","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-ii-30.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjEvMTUuNC40LjIxLTktYy1paS0zMS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UgLSBEYXRlIG9iamVjdCBjYW4gYmUgdXNlZCBhcyBhY2N1bXVsYXRvcg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iakRhdGUgPSBuZXcgRGF0ZSgpOw0KDQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIHJldHVybiBwcmV2VmFsID09PSBvYmpEYXRlOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgMDogMTEsIGxlbmd0aDogMSB9Ow0KDQogICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUucmVkdWNlLmNhbGwob2JqLCBjYWxsYmFja2ZuLCBvYmpEYXRlKSA9PT0gdHJ1ZSAmJiBhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.reduce - Date object can be used as accumulator","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-ii-31.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjEvMTUuNC40LjIxLTktYy1paS0zMi5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UgLSBSZWdFeHAgb2JqZWN0IGNhbiBiZSB1c2VkIGFzIGFjY3VtdWxhdG9yDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqUmVnRXhwID0gbmV3IFJlZ0V4cCgpOw0KDQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIHJldHVybiBwcmV2VmFsID09PSBvYmpSZWdFeHA7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0geyAwOiAxMSwgbGVuZ3RoOiAxIH07DQoNCiAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UuY2FsbChvYmosIGNhbGxiYWNrZm4sIG9ialJlZ0V4cCkgPT09IHRydWUgJiYgYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduce - RegExp object can be used as accumulator","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-ii-32.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjEvMTUuNC40LjIxLTktYy1paS0zMy5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UgLSB0aGUgSlNPTiBjYW4gYmUgdXNlZCBhcyBhY2N1bXVsYXRvcg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgcmV0dXJuIHByZXZWYWwgPT09IEpTT047DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0geyAwOiAxMSwgbGVuZ3RoOiAxIH07DQoNCiAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UuY2FsbChvYmosIGNhbGxiYWNrZm4sIEpTT04pID09PSB0cnVlICYmIGFjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.reduce - the JSON can be used as accumulator","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-ii-33.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjEvMTUuNC40LjIxLTktYy1paS0zNC5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UgLSBFcnJvciBvYmplY3QgY2FuIGJlIHVzZWQgYXMgYWNjdW11bGF0b3INCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmpFcnJvciA9IG5ldyBSYW5nZUVycm9yKCk7DQoNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgcmV0dXJuIHByZXZWYWwgPT09IG9iakVycm9yOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgMDogMTEsIGxlbmd0aDogMSB9Ow0KDQogICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUucmVkdWNlLmNhbGwob2JqLCBjYWxsYmFja2ZuLCBvYmpFcnJvcikgPT09IHRydWUgJiYgYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduce - Error object can be used as accumulator","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-ii-34.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjEvMTUuNC40LjIxLTktYy1paS0zNS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UgLSB0aGUgQXJndW1lbnRzIG9iamVjdCBjYW4gYmUgdXNlZCBhcyBhY2N1bXVsYXRvcg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQogICAgICAgIHZhciBhcmc7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICByZXR1cm4gcHJldlZhbCA9PT0gYXJnOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgMDogMTEsIGxlbmd0aDogMSB9Ow0KDQogICAgICAgIChmdW5jdGlvbiBmdW4oKSB7DQogICAgICAgICAgICBhcmcgPSBhcmd1bWVudHM7DQogICAgICAgIH0oMTAsIDExLCAxMiwgMTMpKTsNCg0KICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLnJlZHVjZS5jYWxsKG9iaiwgY2FsbGJhY2tmbiwgYXJnKSA9PT0gdHJ1ZSAmJiBhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.reduce - the Arguments object can be used as accumulator","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-ii-35.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjEvMTUuNC40LjIxLTktYy1paS0zNy5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UgLSB0aGUgZ2xvYmFsIG9iamVjdCBjYW4gYmUgdXNlZCBhcyBhY2N1bXVsYXRvcg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgcmV0dXJuIHByZXZWYWwgPT09IGZuR2xvYmFsT2JqZWN0KCk7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0geyAwOiAxMSwgbGVuZ3RoOiAxIH07DQoNCiAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UuY2FsbChvYmosIGNhbGxiYWNrZm4sIGZuR2xvYmFsT2JqZWN0KCkpID09PSB0cnVlICYmIGFjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.reduce - the global object can be used as accumulator","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-ii-37.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjEvMTUuNC40LjIxLTktYy1paS00LXMuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlIC0gdW5kZWZpbmVkIHBhc3NlZCBhcyB0aGlzVmFsdWUgdG8gc3RyaWN0IGNhbGxiYWNrZm4NCiAqIEBvbmx5U3RyaWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsgDQogIHZhciBpbm5lclRoaXNDb3JyZWN0ID0gZmFsc2U7DQogIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikNCiAgeyANCiAgICAgInVzZSBzdHJpY3QiOw0KICAgICBpbm5lclRoaXNDb3JyZWN0ID0gdGhpcz09PXVuZGVmaW5lZDsNCiAgICAgcmV0dXJuIHRydWU7DQogIH0NCiAgWzBdLnJlZHVjZShjYWxsYmFja2ZuLHRydWUpOw0KICByZXR1cm4gaW5uZXJUaGlzQ29ycmVjdDsgICAgDQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduce - undefined passed as thisValue to strict callbackfn","onlyStrict":"","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-ii-4-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjEvMTUuNC40LjIxLTktYy1paS00LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnJlZHVjZSAtIGsgdmFsdWVzIGFyZSBwYXNzZWQgaW4gYWNlbmRpbmcgbnVtZXJpYyBvcmRlciBvbiBhbiBBcnJheQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFyciA9IFswLCAxLCAyXTsNCiAgICAgICAgdmFyIGxhc3RJZHggPSAwOw0KICAgICAgICB2YXIgcmVzdWx0ID0gdHJ1ZTsNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICBpZiAobGFzdElkeCAhPT0gaWR4KSB7DQogICAgICAgICAgICAgICAgcmVzdWx0ID0gZmFsc2U7DQogICAgICAgICAgICB9IGVsc2Ugew0KICAgICAgICAgICAgICAgIGxhc3RJZHgrKzsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIGFyci5yZWR1Y2UoY2FsbGJhY2tmbiwgMTEpOw0KICAgICAgICByZXR1cm4gcmVzdWx0ICYmIGFjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.reduce - k values are passed in acending numeric order on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-ii-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjEvMTUuNC40LjIxLTktYy1paS01LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnJlZHVjZSAtIGsgdmFsdWVzIGFyZSBhY2Nlc3NlZCBkdXJpbmcgZWFjaCBpdGVyYXRpb24gYW5kIG5vdCBwcmlvciB0byBzdGFydGluZyB0aGUgbG9vcCBvbiBhbiBBcnJheQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHJlc3VsdCA9IHRydWU7DQogICAgICAgIHZhciBrSW5kZXggPSBbXTsNCiAgICAgICAgdmFyIGNhbGxlZCA9IDA7DQoNCiAgICAgICAgLy9CeSBiZWxvdyB3YXksIHdlIGNvdWxkIHZlcmlmeSB0aGF0IGsgd291bGQgYmUgc2V0dGVkIGFzIDAsIDEsIC4uLiwgbGVuZ3RoIC0gMSBpbiBvcmRlciwgYW5kIGVhY2ggdmFsdWUgd2lsbCBiZSBzZXR0ZWQgb25lIHRpbWUuDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgLy9FYWNoIHBvc2l0aW9uIHNob3VsZCBiZSB2aXNpdGVkIG9uZSB0aW1lLCB3aGljaCBtZWFucyBrIGlzIGFjY2Vzc2VkIG9uZSB0aW1lIGR1cmluZyBpdGVyYXRpb25zLg0KICAgICAgICAgICAgY2FsbGVkKys7DQogICAgICAgICAgICBpZiAodHlwZW9mIGtJbmRleFtpZHhdID09PSAidW5kZWZpbmVkIikgew0KICAgICAgICAgICAgICAgIC8vd2hlbiBjdXJyZW50IHBvc2l0aW9uIGlzIHZpc2l0ZWQsIGl0cyBwcmV2aW91cyBpbmRleCBzaG91bGQgaGFzIGJlZW4gdmlzaXRlZC4NCiAgICAgICAgICAgICAgICBpZiAoaWR4ICE9PSAwICYmIHR5cGVvZiBrSW5kZXhbaWR4IC0gMV0gPT09ICJ1bmRlZmluZWQiKSB7DQogICAgICAgICAgICAgICAgICAgIHJlc3VsdCA9IGZhbHNlOw0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICBrSW5kZXhbaWR4XSA9IDE7DQogICAgICAgICAgICB9IGVsc2Ugew0KICAgICAgICAgICAgICAgIHJlc3VsdCA9IGZhbHNlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgWzExLCAxMiwgMTMsIDE0XS5yZWR1Y2UoY2FsbGJhY2tmbiwgMSk7DQoNCiAgICAgICAgcmV0dXJuIHJlc3VsdCAmJiBjYWxsZWQgPT09IDQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduce - k values are accessed during each iteration and not prior to starting the loop on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-ii-5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjEvMTUuNC40LjIxLTktYy1paS03LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnJlZHVjZSAtIHVuaGFuZGxlZCBleGNlcHRpb25zIGhhcHBlbmVkIGluIGNhbGxiYWNrZm4gdGVybWluYXRlIGl0ZXJhdGlvbg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBpZiAoaWR4ID4gMCkgew0KICAgICAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIGlmIChpZHggPT09IDApIHsNCiAgICAgICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoIkV4Y2VwdGlvbiBvY2N1cnJlZCBpbiBjYWxsYmFja2ZuIik7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0geyAwOiAxMSwgNDogMTAsIDEwOiA4LCBsZW5ndGg6IDIwIH07DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIEFycmF5LnByb3RvdHlwZS5yZWR1Y2UuY2FsbChvYmosIGNhbGxiYWNrZm4sIDEpOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChleCkgew0KICAgICAgICAgICAgcmV0dXJuIChleCBpbnN0YW5jZW9mIEVycm9yKSAmJiAhYWNjZXNzZWQ7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.reduce - unhandled exceptions happened in callbackfn terminate iteration","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-ii-7.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjEvMTUuNC40LjIxLTktYy1paS04LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnJlZHVjZSAtIGVsZW1lbnQgY2hhbmdlZCBieSBjYWxsYmFja2ZuIG9uIHByZXZpb3VzIGl0ZXJhdGlvbnMgaXMgb2JzZXJ2ZWQNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciByZXN1bHQgPSBmYWxzZTsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBpZiAoaWR4ID09PSAwKSB7DQogICAgICAgICAgICAgICAgb2JqW2lkeCArIDFdID0gODsNCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIA0KICAgICAgICAgICAgaWYgKGlkeCA9PT0gMSkgew0KICAgICAgICAgICAgICAgIHJlc3VsdCA9IChjdXJWYWwgPT09IDgpOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgMDogMTEsIDE6IDEyLCBsZW5ndGg6IDIgfTsNCg0KICAgICAgICBBcnJheS5wcm90b3R5cGUucmVkdWNlLmNhbGwob2JqLCBjYWxsYmFja2ZuLCAxKTsNCiAgICAgICAgcmV0dXJuIHJlc3VsdDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.reduce - element changed by callbackfn on previous iterations is observed","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-ii-8.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjEvMTUuNC40LjIxLTktYy1paS05LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnJlZHVjZSAtIGNhbGxiYWNrZm4gaXMgY2FsbGVkIHdpdGggMCBmb3JtYWwgcGFyYW1ldGVyDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgY2FsbGVkID0gMDsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbigpIHsNCiAgICAgICAgICAgIGNhbGxlZCsrOw0KICAgICAgICB9DQoNCiAgICAgICAgWzExLCAxMl0ucmVkdWNlKGNhbGxiYWNrZm4sIDEpOw0KICAgICAgICByZXR1cm4gMiA9PT0gY2FsbGVkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.reduce - callbackfn is called with 0 formal parameter","path":"TestCases/ch15/15.4/15.4.4/15.4.4.21/15.4.4.21-9-c-ii-9.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjIvMTUuNC40LjIyLTAtMS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodCBtdXN0IGV4aXN0IGFzIGEgZnVuY3Rpb24NCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgZiA9IEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodDsNCiAgaWYgKHR5cGVvZihmKSA9PT0gImZ1bmN0aW9uIikgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduceRight must exist as a function","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-0-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjIvMTUuNC40LjIyLTAtMi5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodC5sZW5ndGggbXVzdCBiZSAxDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgaWYgKEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodC5sZW5ndGggPT09IDEpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.reduceRight.length must be 1","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-0-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjIvMTUuNC40LjIyLTEtMS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodCBhcHBsaWVkIHRvIHVuZGVmaW5lZCB0aHJvd3MgYSBUeXBlRXJyb3INCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlLnJlZHVjZVJpZ2h0LmNhbGwodW5kZWZpbmVkKTsgDQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGUpIHsNCiAgICAgICAgICAgIHJldHVybiAoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcik7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.reduceRight applied to undefined throws a TypeError","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-1-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjIvMTUuNC40LjIyLTEtMTAuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQgYXBwbGllZCB0byB0aGUgTWF0aCBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgcmV0dXJuICdbb2JqZWN0IE1hdGhdJyA9PT0gT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKG9iaik7DQogICAgICAgIH0NCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgTWF0aC5sZW5ndGggPSAxOw0KICAgICAgICAgICAgTWF0aFswXSA9IDE7DQogICAgICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLnJlZHVjZVJpZ2h0LmNhbGwoTWF0aCwgY2FsbGJhY2tmbiwgMSkgJiYgYWNjZXNzZWQ7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgTWF0aFswXTsNCiAgICAgICAgICAgIGRlbGV0ZSBNYXRoLmxlbmd0aDsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.reduceRight applied to the Math object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-1-10.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjIvMTUuNC40LjIyLTEtMTEuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQgYXBwbGllZCB0byBEYXRlIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IG5ldyBEYXRlKCk7DQogICAgICAgIG9iai5sZW5ndGggPSAxOw0KICAgICAgICBvYmpbMF0gPSAxOw0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIHJldHVybiBvYmogaW5zdGFuY2VvZiBEYXRlOw0KICAgICAgICB9DQoNCiAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodC5jYWxsKG9iaiwgY2FsbGJhY2tmbiwgMSkgJiYgYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduceRight applied to Date object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-1-11.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjIvMTUuNC40LjIyLTEtMTIuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQgYXBwbGllZCB0byBSZWdFeHAgb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0gbmV3IFJlZ0V4cCgpOw0KICAgICAgICBvYmoubGVuZ3RoID0gMTsNCiAgICAgICAgb2JqWzBdID0gMTsNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgbykgew0KICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgcmV0dXJuIG8gaW5zdGFuY2VvZiBSZWdFeHA7DQogICAgICAgIH0NCg0KICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLnJlZHVjZVJpZ2h0LmNhbGwob2JqLCBjYWxsYmFja2ZuLCAxKSAmJiBhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.reduceRight applied to RegExp object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-1-12.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjIvMTUuNC40LjIyLTEtMTMuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQgYXBwbGllZCB0byB0aGUgSlNPTiBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgcmV0dXJuICgnW29iamVjdCBKU09OXScgPT09IE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbChvYmopKTsNCiAgICAgICAgfQ0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBKU09OLmxlbmd0aCA9IDE7DQogICAgICAgICAgICBKU09OWzBdID0gMTsNCiAgICAgICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQuY2FsbChKU09OLCBjYWxsYmFja2ZuLCAxKSAmJiBhY2Nlc3NlZDsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBKU09OLmxlbmd0aDsNCiAgICAgICAgICAgIGRlbGV0ZSBKU09OWzBdOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduceRight applied to the JSON object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-1-13.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjIvMTUuNC40LjIyLTEtMTQuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQgYXBwbGllZCB0byBFcnJvciBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSBuZXcgRXJyb3IoKTsNCiAgICAgICAgb2JqLmxlbmd0aCA9IDE7DQogICAgICAgIG9ialswXSA9IDE7DQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCBpZHgsIG8pIHsNCiAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIHJldHVybiBvIGluc3RhbmNlb2YgRXJyb3I7DQogICAgICAgIH0NCg0KICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLnJlZHVjZVJpZ2h0LmNhbGwob2JqLCBjYWxsYmFja2ZuLCAxKSAmJiBhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.reduceRight applied to Error object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-1-14.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjIvMTUuNC40LjIyLTEtMTUuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQgYXBwbGllZCB0byB0aGUgQXJndW1lbnRzIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICByZXR1cm4gJ1tvYmplY3QgQXJndW1lbnRzXScgPT09IE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbChvYmopOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IChmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICByZXR1cm4gYXJndW1lbnRzOw0KICAgICAgICB9KCJhIiwgImIiKSk7DQoNCiAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodC5jYWxsKG9iaiwgY2FsbGJhY2tmbiwgImEiKSAmJiBhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.reduceRight applied to the Arguments object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-1-15.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjIvMTUuNC40LjIyLTEtMi5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodCBhcHBsaWVkIHRvIG51bGwgdGhyb3dzIGEgVHlwZUVycm9yDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodC5jYWxsKG51bGwpOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduceRight applied to null throws a TypeError","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-1-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjIvMTUuNC40LjIyLTEtMy5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodCBhcHBsaWVkIHRvIGJvb2xlYW4gcHJpbWl0aXZlDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIHJldHVybiBvYmogaW5zdGFuY2VvZiBCb29sZWFuOw0KICAgICAgICB9DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIEJvb2xlYW4ucHJvdG90eXBlWzBdID0gMTsNCiAgICAgICAgICAgIEJvb2xlYW4ucHJvdG90eXBlLmxlbmd0aCA9IDE7DQogICAgICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLnJlZHVjZVJpZ2h0LmNhbGwoZmFsc2UsIGNhbGxiYWNrZm4sIDEpICYmIGFjY2Vzc2VkOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIEJvb2xlYW4ucHJvdG90eXBlWzBdOw0KICAgICAgICAgICAgZGVsZXRlIEJvb2xlYW4ucHJvdG90eXBlLmxlbmd0aDsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.reduceRight applied to boolean primitive","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-1-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjIvMTUuNC40LjIyLTEtNC5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodCBhcHBsaWVkIHRvIEJvb2xlYW4gb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0gbmV3IEJvb2xlYW4odHJ1ZSk7DQogICAgICAgIG9iai5sZW5ndGggPSAyOw0KICAgICAgICBvYmpbMF0gPSAxMTsNCiAgICAgICAgb2JqWzFdID0gMTI7DQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgcmV0dXJuIG9iaiBpbnN0YW5jZW9mIEJvb2xlYW47DQogICAgICAgIH0NCg0KICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLnJlZHVjZVJpZ2h0LmNhbGwob2JqLCBjYWxsYmFja2ZuLCAxMSkgJiYgYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduceRight applied to Boolean object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-1-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjIvMTUuNC40LjIyLTEtNS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodCBhcHBsaWVkIHRvIG51bWJlciBwcmltaXRpdmUNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgcmV0dXJuIG9iaiBpbnN0YW5jZW9mIE51bWJlcjsNCiAgICAgICAgfQ0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBOdW1iZXIucHJvdG90eXBlWzBdID0gMTsNCiAgICAgICAgICAgIE51bWJlci5wcm90b3R5cGUubGVuZ3RoID0gMTsNCiAgICAgICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQuY2FsbCgyLjUsIGNhbGxiYWNrZm4sIDEpICYmIGFjY2Vzc2VkOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIE51bWJlci5wcm90b3R5cGVbMF07DQogICAgICAgICAgICBkZWxldGUgTnVtYmVyLnByb3RvdHlwZS5sZW5ndGg7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.reduceRight applied to number primitive","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-1-5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjIvMTUuNC40LjIyLTEtNi5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodCBhcHBsaWVkIHRvIE51bWJlciBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSBuZXcgTnVtYmVyKC0xMjgpOw0KICAgICAgICBvYmoubGVuZ3RoID0gMjsNCiAgICAgICAgb2JqWzBdID0gMTE7DQogICAgICAgIG9ialsxXSA9IDEyOw0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvKSB7DQogICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICByZXR1cm4gbyBpbnN0YW5jZW9mIE51bWJlcjsNCiAgICAgICAgfQ0KDQogICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQuY2FsbChvYmosIGNhbGxiYWNrZm4sIDExKSAmJiBhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.reduceRight applied to Number object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-1-6.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjIvMTUuNC40LjIyLTEtNy5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodCBhcHBsaWVkIHRvIHN0cmluZyBwcmltaXRpdmUNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgcmV0dXJuIG9iaiBpbnN0YW5jZW9mIFN0cmluZzsNCiAgICAgICAgfQ0KDQogICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQuY2FsbCgiaGVsbG9cbndvcmxkXFwhIiwgY2FsbGJhY2tmbiwgImgiKSAmJiBhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.reduceRight applied to string primitive","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-1-7.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjIvMTUuNC40LjIyLTEtOC5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodCBhcHBsaWVkIHRvIFN0cmluZyBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSBuZXcgU3RyaW5nKCJoZWxsb1xud29ybGRcXCEiKTsNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgbykgew0KICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgcmV0dXJuIG8gaW5zdGFuY2VvZiBTdHJpbmc7DQogICAgICAgIH0NCg0KICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLnJlZHVjZVJpZ2h0LmNhbGwob2JqLCBjYWxsYmFja2ZuLCAiaCIpICYmIGFjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.reduceRight applied to String object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-1-8.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjIvMTUuNC40LjIyLTEtOS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodCBhcHBsaWVkIHRvIEZ1bmN0aW9uIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IGZ1bmN0aW9uIChhLCBiKSB7DQogICAgICAgICAgICByZXR1cm4gYSArIGI7DQogICAgICAgIH07DQogICAgICAgIG9ialswXSA9IDExOw0KICAgICAgICBvYmpbMV0gPSA5Ow0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvKSB7DQogICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICByZXR1cm4gbyBpbnN0YW5jZW9mIEZ1bmN0aW9uOw0KICAgICAgICB9DQoNCiAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodC5jYWxsKG9iaiwgY2FsbGJhY2tmbiwgMTEpICYmIGFjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.reduceRight applied to Function object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-1-9.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjIvMTUuNC40LjIyLTEwLTEuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQgZG9lc24ndCBtdXRhdGUgdGhlIEFycmF5IG9uIHdoaWNoIGl0IGlzIGNhbGxlZCBvbg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsICBpZHgsIG9iaikNCiAgew0KICAgIHJldHVybiAxOw0KICB9DQogIHZhciBzcmNBcnIgPSBbMSwyLDMsNCw1XTsNCiAgc3JjQXJyLnJlZHVjZVJpZ2h0KGNhbGxiYWNrZm4pOw0KICBpZihzcmNBcnJbMF0gPT09IDEgJiYNCiAgICAgc3JjQXJyWzFdID09PSAyICYmDQogICAgIHNyY0FyclsyXSA9PT0gMyAmJg0KICAgICBzcmNBcnJbM10gPT09IDQgJiYNCiAgICAgc3JjQXJyWzRdID09PSA1KQ0KICB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCg0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.reduceRight doesn't mutate the Array on which it is called on","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-10-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjIvMTUuNC40LjIyLTEwLTIuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQgcmVkdWNlcyBhcnJheSBpbiBkZXNjZW5kaW5nIG9yZGVyIG9mIGluZGljZXMNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCAgaWR4LCBvYmopDQogIHsNCiAgICByZXR1cm4gcHJldlZhbCArIGN1clZhbDsNCiAgfQ0KICB2YXIgc3JjQXJyID0gWycxJywnMicsJzMnLCc0JywnNSddOw0KICBpZihzcmNBcnIucmVkdWNlUmlnaHQoY2FsbGJhY2tmbikgPT09ICc1NDMyMScpDQogIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KDQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduceRight reduces array in descending order of indices","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-10-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjIvMTUuNC40LjIyLTEwLTMuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQgLSBzdWJjbGFzc2VkIGFycmF5IHdpdGggbGVuZ3RoIDENCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICBmb28ucHJvdG90eXBlID0gWzFdOw0KICBmdW5jdGlvbiBmb28oKSB7fQ0KICB2YXIgZiA9IG5ldyBmb28oKTsNCiAgDQogIGZ1bmN0aW9uIGNiKCl7fQ0KICBpZihmLnJlZHVjZVJpZ2h0KGNiKSA9PT0gMSkNCiAgICByZXR1cm4gdHJ1ZTsNCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.reduceRight - subclassed array with length 1","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-10-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjIvMTUuNC40LjIyLTEwLTQuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQgLSBzdWJjbGFzc2VkIGFycmF5IHdpdGggbGVuZ3RoIG1vcmUgdGhhbiAxDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgZm9vLnByb3RvdHlwZSA9IG5ldyBBcnJheSgwLCAxLCAyLCAzKTsNCiAgZnVuY3Rpb24gZm9vKCkge30NCiAgdmFyIGYgPSBuZXcgZm9vKCk7DQogIA0KICBmdW5jdGlvbiBjYihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKXtyZXR1cm4gcHJldlZhbCArIGN1clZhbDt9DQogIGlmKGYucmVkdWNlUmlnaHQoY2IpID09PSA2KQ0KICAgIHJldHVybiB0cnVlOw0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.reduceRight - subclassed array with length more than 1","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-10-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjIvMTUuNC40LjIyLTEwLTUuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQgcmVkdWNlcyBhcnJheSBpbiBkZXNjZW5kaW5nIG9yZGVyIG9mIGluZGljZXMoaW5pdGlhbHZhbHVlIHByZXNlbnQpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgIGlkeCwgb2JqKQ0KICB7DQogICAgcmV0dXJuIHByZXZWYWwgKyBjdXJWYWw7DQogIH0NCiAgdmFyIHNyY0FyciA9IFsnMScsJzInLCczJywnNCcsJzUnXTsNCiAgaWYoc3JjQXJyLnJlZHVjZVJpZ2h0KGNhbGxiYWNrZm4sJzYnKSA9PT0gJzY1NDMyMScpDQogIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KDQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduceRight reduces array in descending order of indices(initialvalue present)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-10-5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjIvMTUuNC40LjIyLTEwLTYuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQgLSBzdWJjbGFzc2VkIGFycmF5IHdoZW4gaW5pdGlhbHZhbHVlIHByb3ZpZGVkDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgZm9vLnByb3RvdHlwZSA9IG5ldyBBcnJheSgwLCAxLCAyLCAzKTsNCiAgZnVuY3Rpb24gZm9vKCkge30NCiAgdmFyIGYgPSBuZXcgZm9vKCk7DQogIA0KICBmdW5jdGlvbiBjYihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKXtyZXR1cm4gcHJldlZhbCArIGN1clZhbDt9DQogIGlmKGYucmVkdWNlUmlnaHQoY2IsIjQiKSA9PT0gIjQzMjEwIikNCiAgICByZXR1cm4gdHJ1ZTsNCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.reduceRight - subclassed array when initialvalue provided","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-10-6.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjIvMTUuNC40LjIyLTEwLTcuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQgLSBzdWJjbGFzc2VkIGFycmF5IHdoZW4gbGVuZ3RoIHRvIDEgYW5kIGluaXRpYWx2YWx1ZSBwcm92aWRlZA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIGZvby5wcm90b3R5cGUgPSBbMV07DQogIGZ1bmN0aW9uIGZvbygpIHt9DQogIHZhciBmID0gbmV3IGZvbygpOw0KICANCiAgZnVuY3Rpb24gY2IocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iail7cmV0dXJuIHByZXZWYWwgKyBjdXJWYWw7fQ0KICBpZihmLnJlZHVjZVJpZ2h0KGNiLCI0IikgPT09ICI0MSIpDQogICAgcmV0dXJuIHRydWU7DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduceRight - subclassed array when length to 1 and initialvalue provided","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-10-7.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjIvMTUuNC40LjIyLTEwLTguanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQgZG9lc24ndCB2aXNpdCBleHBhbmRvcw0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgdmFyIGNhbGxDbnQgPSAwOw0KICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgIGlkeCwgb2JqKQ0KICB7DQogICAgY2FsbENudCsrOw0KICB9DQogIHZhciBzcmNBcnIgPSBbJzEnLCcyJywnMycsJzQnLCc1J107DQogIHNyY0FyclsiaSJdID0gMTA7DQogIHNyY0Fyclt0cnVlXSA9IDExOw0KDQogIHNyY0Fyci5yZWR1Y2VSaWdodChjYWxsYmFja2ZuKTsNCg0KICBpZihjYWxsQ250ID09IDQpDQogIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KDQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduceRight doesn't visit expandos","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-10-8.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjIvMTUuNC40LjIyLTItMS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodCBhcHBsaWVkIHRvIEFycmF5LWxpa2Ugb2JqZWN0LCAnbGVuZ3RoJyBpcyBhbiBvd24gZGF0YSBwcm9wZXJ0eQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQogICAgICAgIHZhciBvYmogPSB7DQogICAgICAgICAgICAwOiAxMiwNCiAgICAgICAgICAgIDE6IDExLA0KICAgICAgICAgICAgMjogOSwNCiAgICAgICAgICAgIGxlbmd0aDogMg0KICAgICAgICB9Ow0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgcmV0dXJuIG9iai5sZW5ndGggPT09IDI7DQogICAgICAgIH0NCg0KICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLnJlZHVjZVJpZ2h0LmNhbGwob2JqLCBjYWxsYmFja2ZuLCAxMSkgJiYgYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduceRight applied to Array-like object, 'length' is an own data property","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-2-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjIvMTUuNC40LjIyLTItMTAuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQgYXBwbGllZCB0byBBcnJheS1saWtlIG9iamVjdCwgJ2xlbmd0aCcgaXMgYW4gaW5oZXJpdGVkIGFjY2Vzc29yIHByb3BlcnR5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCiAgICAgICAgdmFyIENvbiA9IGZ1bmN0aW9uICgpIHsgfTsNCg0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgcmV0dXJuIG9iai5sZW5ndGggPT09IDI7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgcHJvdG8gPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkocHJvdG8sICJsZW5ndGgiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gMjsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgQ29uLnByb3RvdHlwZSA9IHByb3RvOw0KDQogICAgICAgIHZhciBjaGlsZCA9IG5ldyBDb24oKTsNCiAgICAgICAgY2hpbGRbMF0gPSAxMjsNCiAgICAgICAgY2hpbGRbMV0gPSAxMTsNCiAgICAgICAgY2hpbGRbMl0gPSA5Ow0KDQoNCiAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodC5jYWxsKGNoaWxkLCBjYWxsYmFja2ZuLCAxMSkgJiYgYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduceRight applied to Array-like object, 'length' is an inherited accessor property","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-2-10.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjIvMTUuNC40LjIyLTItMTEuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQgYXBwbGllZCB0byBBcnJheS1saWtlIG9iamVjdCwgJ2xlbmd0aCcgaXMgYW4gb3duIGFjY2Vzc29yIHByb3BlcnR5IHdpdGhvdXQgYSBnZXQgZnVuY3Rpb24NCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgcmV0dXJuIHR5cGVvZiBvYmoubGVuZ3RoID09PSAidW5kZWZpbmVkIjsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSB7DQogICAgICAgICAgICAwOiAxMSwNCiAgICAgICAgICAgIDE6IDEyDQogICAgICAgIH07DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJsZW5ndGgiLCB7DQogICAgICAgICAgICBzZXQ6IGZ1bmN0aW9uICgpIHsgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLnJlZHVjZVJpZ2h0LmNhbGwob2JqLCBjYWxsYmFja2ZuLCAxMTEpID09PSAxMTEgJiYgIWFjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.reduceRight applied to Array-like object, 'length' is an own accessor property without a get function","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-2-11.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjIvMTUuNC40LjIyLTItMTIuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQgLSAnbGVuZ3RoJyBpcyBvd24gYWNjZXNzb3IgcHJvcGVydHkgd2l0aG91dCBhIGdldCBmdW5jdGlvbiB0aGF0IG92ZXJyaWRlcyBhbiBpbmhlcml0ZWQgYWNjZXNzb3IgcHJvcGVydHkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgcmV0dXJuIHR5cGVvZiBvYmoubGVuZ3RoID09PSAidW5kZWZpbmVkIjsNCiAgICAgICAgfQ0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoT2JqZWN0LnByb3RvdHlwZSwgImxlbmd0aCIsIHsNCiAgICAgICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDI7DQogICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICB2YXIgb2JqID0geyAwOiAxMiwgMTogMTMgfTsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJsZW5ndGgiLCB7DQogICAgICAgICAgICAgICAgc2V0OiBmdW5jdGlvbiAoKSB7IH0sDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodC5jYWxsKG9iaiwgY2FsbGJhY2tmbiwgMTEpID09PSAxMSAmJiAhYWNjZXNzZWQ7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgT2JqZWN0LnByb3RvdHlwZS5sZW5ndGg7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.reduceRight - 'length' is own accessor property without a get function that overrides an inherited accessor property","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-2-12.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjIvMTUuNC40LjIyLTItMTMuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQgYXBwbGllZCB0byB0aGUgQXJyYXktbGlrZSBvYmplY3QgdGhhdCAnbGVuZ3RoJyBpcyBpbmhlcml0ZWQgYWNjZXNzb3IgcHJvcGVydHkgd2l0aG91dCBhIGdldCBmdW5jdGlvbg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICByZXR1cm4gY3VyVmFsID4gMTA7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgcHJvdG8gPSB7fTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHByb3RvLCAibGVuZ3RoIiwgew0KICAgICAgICAgICAgc2V0OiBmdW5jdGlvbiAoKSB7IH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIENvbiA9IGZ1bmN0aW9uICgpIHsgfTsNCiAgICAgICAgQ29uLnByb3RvdHlwZSA9IHByb3RvOw0KDQogICAgICAgIHZhciBjaGlsZCA9IG5ldyBDb24oKTsNCiAgICAgICAgY2hpbGRbMF0gPSAxMTsNCiAgICAgICAgY2hpbGRbMV0gPSAxMjsNCg0KICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLnJlZHVjZVJpZ2h0LmNhbGwoY2hpbGQsIGNhbGxiYWNrZm4sIDExMSkgPT09IDExMSAmJiAhYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduceRight applied to the Array-like object that 'length' is inherited accessor property without a get function","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-2-13.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjIvMTUuNC40LjIyLTItMTQuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQgYXBwbGllZCB0byB0aGUgQXJyYXktbGlrZSBvYmplY3QgdGhhdCAnbGVuZ3RoJyBwcm9wZXJ0eSBkb2Vzbid0IGV4aXN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0geyAwOiAxMSwgMTogMTIgfTsNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICByZXR1cm4gY3VyVmFsID4gMTA7DQogICAgICAgIH0NCg0KICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLnJlZHVjZVJpZ2h0LmNhbGwob2JqLCBjYWxsYmFja2ZuLCAxMTEpID09PSAxMTEgJiYgIWFjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.reduceRight applied to the Array-like object that 'length' property doesn't exist","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-2-14.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjIvMTUuNC40LjIyLTItMTUuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQgLSAnbGVuZ3RoJyBpcyBwcm9wZXJ0eSBvZiB0aGUgZ2xvYmFsIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICByZXR1cm4gb2JqLmxlbmd0aCA9PT0gZm5HbG9iYWxPYmplY3QoKS5sZW5ndGg7DQogICAgICAgIH0NCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgdmFyIG9sZExlbiA9IGZuR2xvYmFsT2JqZWN0KCkubGVuZ3RoOw0KICAgICAgICAgICAgZm5HbG9iYWxPYmplY3QoKVswXSA9IDEyOw0KICAgICAgICAgICAgZm5HbG9iYWxPYmplY3QoKVsxXSA9IDExOw0KICAgICAgICAgICAgZm5HbG9iYWxPYmplY3QoKVsyXSA9IDk7DQogICAgICAgICAgICBmbkdsb2JhbE9iamVjdCgpLmxlbmd0aCA9IDI7DQogICAgICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLnJlZHVjZVJpZ2h0LmNhbGwoZm5HbG9iYWxPYmplY3QoKSwgY2FsbGJhY2tmbiwgMTExKSAmJiBhY2Nlc3NlZDsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBmbkdsb2JhbE9iamVjdCgpWzBdOw0KICAgICAgICAgICAgZGVsZXRlIGZuR2xvYmFsT2JqZWN0KClbMV07DQogICAgICAgICAgICBkZWxldGUgZm5HbG9iYWxPYmplY3QoKVsyXTsNCiAgICAgICAgICAgIGZuR2xvYmFsT2JqZWN0KCkubGVuZ3RoID0gb2xkTGVuOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduceRight - 'length' is property of the global object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-2-15.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjIvMTUuNC40LjIyLTItMTcuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQgYXBwbGllZCB0byB0aGUgQXJndW1lbnRzIG9iamVjdCwgd2hpY2ggaW1wbGVtZW50cyBpdHMgb3duIHByb3BlcnR5IGdldCBtZXRob2QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhcmc7DQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgcmV0dXJuIG9iai5sZW5ndGggPT09IDI7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgZnVuYyA9IGZ1bmN0aW9uIChhLCBiKSB7DQogICAgICAgICAgICBhcmcgPSBhcmd1bWVudHM7DQogICAgICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLnJlZHVjZVJpZ2h0LmNhbGwoYXJndW1lbnRzLCBjYWxsYmFja2ZuLCAxMSk7DQogICAgICAgIH07DQoNCiAgICAgICAgcmV0dXJuIGZ1bmMoMTIsIDExKSAmJiBhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.reduceRight applied to the Arguments object, which implements its own property get method","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-2-17.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjIvMTUuNC40LjIyLTItMTguanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQgYXBwbGllZCB0byBTdHJpbmcgb2JqZWN0LCB3aGljaCBpbXBsZW1lbnRzIGl0cyBvd24gcHJvcGVydHkgZ2V0IG1ldGhvZA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQogICAgICAgIHZhciBzdHIgPSBuZXcgU3RyaW5nKCI0MzIiKTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZVZhbCwgY3VyVmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgcmV0dXJuIG9iai5sZW5ndGggPT09IDM7DQogICAgICAgIH0NCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgU3RyaW5nLnByb3RvdHlwZVszXSA9ICIxIjsNCiAgICAgICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQuY2FsbChzdHIsIGNhbGxiYWNrZm4sIDExMSkgJiYgYWNjZXNzZWQ7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgU3RyaW5nLnByb3RvdHlwZVszXTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.reduceRight applied to String object, which implements its own property get method","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-2-18.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjIvMTUuNC40LjIyLTItMTkuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQgYXBwbGllZCB0byBGdW5jdGlvbiBvYmplY3QsIHdoaWNoIGltcGxlbWVudHMgaXRzIG93biBwcm9wZXJ0eSBnZXQgbWV0aG9kDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCiAgICAgICAgdmFyIGZ1biA9IGZ1bmN0aW9uIChhLCBiKSB7DQogICAgICAgICAgICByZXR1cm4gYSArIGI7DQogICAgICAgIH07DQogICAgICAgIGZ1blswXSA9IDEyOw0KICAgICAgICBmdW5bMV0gPSAxMTsNCiAgICAgICAgZnVuWzJdID0gOTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIHJldHVybiBvYmoubGVuZ3RoID09PSAyOw0KICAgICAgICB9DQoNCiAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodC5jYWxsKGZ1biwgY2FsbGJhY2tmbiwgMTEpICYmIGFjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.reduceRight applied to Function object, which implements its own property get method","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-2-19.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjIvMTUuNC40LjIyLTItMi5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodCAtICdsZW5ndGgnIGlzIG93biBkYXRhIHByb3BlcnR5IG9uIGFuIEFycmF5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIHJldHVybiBvYmoubGVuZ3RoID09PSAyOw0KICAgICAgICB9DQoNCiAgICAgICAgcmV0dXJuIFsxMiwgMTFdLnJlZHVjZVJpZ2h0KGNhbGxiYWNrZm4sIDExKSAmJiBhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.reduceRight - 'length' is own data property on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-2-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjIvMTUuNC40LjIyLTItMy5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodCBhcHBsaWVkIHRvIEFycmF5LWxpa2Ugb2JqZWN0LCAnbGVuZ3RoJyBpcyBhbiBvd24gZGF0YSBwcm9wZXJ0eSB0aGF0IG92ZXJyaWRlcyBhbiBpbmhlcml0ZWQgZGF0YSBwcm9wZXJ0eQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gdHJ1ZTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIHJldHVybiBvYmoubGVuZ3RoID09PSAyOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIHByb3RvID0geyBsZW5ndGg6IDMgfTsNCg0KICAgICAgICB2YXIgQ29uID0gZnVuY3Rpb24gKCkgeyB9Ow0KICAgICAgICBDb24ucHJvdG90eXBlID0gcHJvdG87DQoNCiAgICAgICAgdmFyIGNoaWxkID0gbmV3IENvbigpOw0KICAgICAgICBjaGlsZC5sZW5ndGggPSAyOw0KICAgICAgICBjaGlsZFswXSA9IDEyOw0KICAgICAgICBjaGlsZFsxXSA9IDExOw0KICAgICAgICBjaGlsZFsyXSA9IDk7DQoNCiAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodC5jYWxsKGNoaWxkLCBjYWxsYmFja2ZuKSAmJiBhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.reduceRight applied to Array-like object, 'length' is an own data property that overrides an inherited data property","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-2-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjIvMTUuNC40LjIyLTItNC5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodCAtICdsZW5ndGgnIGlzIG93biBkYXRhIHByb3BlcnR5IHRoYXQgb3ZlcnJpZGVzIGFuIGluaGVyaXRlZCBkYXRhIHByb3BlcnR5IG9uIGFuIEFycmF5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCiAgICAgICAgdmFyIGFyclByb3RvTGVuOw0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIHJldHVybiBvYmoubGVuZ3RoID09PSAyOw0KICAgICAgICB9DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIGFyclByb3RvTGVuID0gQXJyYXkucHJvdG90eXBlLmxlbmd0aDsNCiAgICAgICAgICAgIEFycmF5LnByb3RvdHlwZS5sZW5ndGggPSAwOw0KDQogICAgICAgICAgICByZXR1cm4gWzEyLCAxMV0ucmVkdWNlUmlnaHQoY2FsbGJhY2tmbiwgMTEpICYmIGFjY2Vzc2VkOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlLmxlbmd0aCA9IGFyclByb3RvTGVuOw0KICAgICAgICB9DQoNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.reduceRight - 'length' is own data property that overrides an inherited data property on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-2-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjIvMTUuNC40LjIyLTItNS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodCBhcHBsaWVkIHRvIEFycmF5LWxpa2Ugb2JqZWN0LCAnbGVuZ3RoJyBpcyBhbiBvd24gZGF0YSBwcm9wZXJ0eSB0aGF0IG92ZXJyaWRlcyBhbiBpbmhlcml0ZWQgYWNjZXNzb3IgcHJvcGVydHkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgcmV0dXJuIG9iai5sZW5ndGggPT09IDI7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgcHJvdG8gPSB7fTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHByb3RvLCAibGVuZ3RoIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIDM7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBDb24gPSBmdW5jdGlvbiAoKSB7IH07DQogICAgICAgIENvbi5wcm90b3R5cGUgPSBwcm90bzsNCg0KICAgICAgICB2YXIgY2hpbGQgPSBuZXcgQ29uKCk7DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShjaGlsZCwgImxlbmd0aCIsIHsNCiAgICAgICAgICAgIHZhbHVlOiAyLA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KICAgICAgICBjaGlsZFswXSA9IDEyOw0KICAgICAgICBjaGlsZFsxXSA9IDExOw0KICAgICAgICBjaGlsZFsyXSA9IDk7DQoNCiAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodC5jYWxsKGNoaWxkLCBjYWxsYmFja2ZuKSAmJiBhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.reduceRight applied to Array-like object, 'length' is an own data property that overrides an inherited accessor property","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-2-5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjIvMTUuNC40LjIyLTItNi5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodCBhcHBsaWVkIHRvIEFycmF5LWxpa2Ugb2JqZWN0LCAnbGVuZ3RoJyBpcyBhbiBpbmhlcml0ZWQgZGF0YSBwcm9wZXJ0eQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQogICAgICAgIHZhciBwcm90byA9IHsgbGVuZ3RoOiAyIH07DQogICAgICAgIHZhciBDb24gPSBmdW5jdGlvbiAoKSB7IH07DQogICAgICAgIENvbi5wcm90b3R5cGUgPSBwcm90bzsNCg0KICAgICAgICB2YXIgY2hpbGQgPSBuZXcgQ29uKCk7DQogICAgICAgIGNoaWxkWzBdID0gMTI7DQogICAgICAgIGNoaWxkWzFdID0gMTE7DQogICAgICAgIGNoaWxkWzJdID0gOTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuMShwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICByZXR1cm4gb2JqLmxlbmd0aCA9PT0gMjsNCiAgICAgICAgfQ0KDQogICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQuY2FsbChjaGlsZCwgY2FsbGJhY2tmbjEsIDExKSAmJiBhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.reduceRight applied to Array-like object, 'length' is an inherited data property","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-2-6.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjIvMTUuNC40LjIyLTItNy5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodCBhcHBsaWVkIHRvIEFycmF5LWxpa2Ugb2JqZWN0LCAnbGVuZ3RoJyBpcyBhbiBvd24gYWNjZXNzb3IgcHJvcGVydHkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgIHZhciBvYmogPSB7fTsNCiAgICAgICAgb2JqWzBdID0gMTI7DQogICAgICAgIG9ialsxXSA9IDExOw0KICAgICAgICBvYmpbMl0gPSA5Ow0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgcmV0dXJuIG9iai5sZW5ndGggPT09IDI7DQogICAgICAgIH0NCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAibGVuZ3RoIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIDI7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQuY2FsbChvYmosIGNhbGxiYWNrZm4sIDExKSAmJiBhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.reduceRight applied to Array-like object, 'length' is an own accessor property","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-2-7.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjIvMTUuNC40LjIyLTItOC5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodCBhcHBsaWVkIHRvIEFycmF5LWxpa2Ugb2JqZWN0LCAnbGVuZ3RoJyBpcyBhbiBvd24gYWNjZXNzb3IgcHJvcGVydHkgdGhhdCBvdmVycmlkZXMgYW4gaW5oZXJpdGVkIGRhdGEgcHJvcGVydHkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgcmV0dXJuIG9iai5sZW5ndGggPT09IDI7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgcHJvdG8gPSB7IGxlbmd0aDogMyB9Ow0KDQogICAgICAgIHZhciBDb24gPSBmdW5jdGlvbiAoKSB7IH07DQogICAgICAgIENvbi5wcm90b3R5cGUgPSBwcm90bzsNCg0KICAgICAgICB2YXIgY2hpbGQgPSBuZXcgQ29uKCk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGNoaWxkLCAibGVuZ3RoIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIDI7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIGNoaWxkWzBdID0gMTI7DQogICAgICAgIGNoaWxkWzFdID0gMTE7DQogICAgICAgIGNoaWxkWzJdID0gOTsNCg0KICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLnJlZHVjZVJpZ2h0LmNhbGwoY2hpbGQsIGNhbGxiYWNrZm4sIDExKSAmJiBhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.reduceRight applied to Array-like object, 'length' is an own accessor property that overrides an inherited data property","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-2-8.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjIvMTUuNC40LjIyLTItOS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodCBhcHBsaWVkIHRvIEFycmF5LWxpa2Ugb2JqZWN0LCAnbGVuZ3RoJyBpcyBhbiBvd24gYWNjZXNzb3IgcHJvcGVydHkgdGhhdCBvdmVycmlkZXMgYW4gaW5oZXJpdGVkIGFjY2Vzc29yIHByb3BlcnR5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuMShwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICByZXR1cm4gb2JqLmxlbmd0aCA9PT0gMjsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBwcm90byA9IHt9Ow0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkocHJvdG8sICJsZW5ndGgiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gMzsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIENvbiA9IGZ1bmN0aW9uICgpIHsgfTsNCiAgICAgICAgQ29uLnByb3RvdHlwZSA9IHByb3RvOw0KDQogICAgICAgIHZhciBjaGlsZCA9IG5ldyBDb24oKTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGNoaWxkLCAibGVuZ3RoIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIDI7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KICAgICAgICBjaGlsZFswXSA9IDEyOw0KICAgICAgICBjaGlsZFsxXSA9IDExOw0KICAgICAgICBjaGlsZFsyXSA9IDk7DQoNCiAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodC5jYWxsKGNoaWxkLCBjYWxsYmFja2ZuMSwgMTExKSAmJiBhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.reduceRight applied to Array-like object, 'length' is an own accessor property that overrides an inherited accessor property","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-2-9.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjIvMTUuNC40LjIyLTMtMS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodCAtIHZhbHVlIG9mICdsZW5ndGgnIGlzIHVuZGVmaW5lZA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0geyAwOiA5LCBsZW5ndGg6IHVuZGVmaW5lZCB9Ow0KDQogICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQuY2FsbChvYmosIGNhbGxiYWNrZm4sIDEpID09PSAxICYmICFhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.reduceRight - value of 'length' is undefined","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-3-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjIvMTUuNC40LjIyLTMtMTAuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQgLSB2YWx1ZSBvZiAnbGVuZ3RoJyBpcyBhIG51bWJlciAodmFsdWUgaXMgTmFOKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0geyAwOiA5LCBsZW5ndGg6IE5hTiB9Ow0KDQogICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQuY2FsbChvYmosIGNhbGxiYWNrZm4sIDEpID09PSAxICYmICFhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.reduceRight - value of 'length' is a number (value is NaN)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-3-10.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjIvMTUuNC40LjIyLTMtMTEuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQgLSB2YWx1ZSBvZiAnbGVuZ3RoJyBpcyBhIHN0cmluZyBjb250YWluaW5nIGEgcG9zaXRpdmUgbnVtYmVyDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgdGVzdFJlc3VsdDEgPSB0cnVlOw0KICAgICAgICB2YXIgdGVzdFJlc3VsdDIgPSBmYWxzZTsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBpZiAoaWR4ID4gMSkgew0KICAgICAgICAgICAgICAgIHRlc3RSZXN1bHQxID0gZmFsc2U7DQogICAgICAgICAgICB9DQoNCiAgICAgICAgICAgIGlmIChpZHggPT09IDEpIHsNCiAgICAgICAgICAgICAgICB0ZXN0UmVzdWx0MiA9IHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0geyAwOiAxMiwgMTogMTEsIDI6IDksIGxlbmd0aDogIjIiIH07DQoNCiAgICAgICAgQXJyYXkucHJvdG90eXBlLnJlZHVjZVJpZ2h0LmNhbGwob2JqLCBjYWxsYmFja2ZuLCAxKTsNCiAgICAgICAgcmV0dXJuIHRlc3RSZXN1bHQxICYmIHRlc3RSZXN1bHQyOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.reduceRight - value of 'length' is a string containing a positive number","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-3-11.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjIvMTUuNC40LjIyLTMtMTIuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQgLSB2YWx1ZSBvZiAnbGVuZ3RoJyBpcyBhIHN0cmluZyBjb250YWluaW5nIGEgbmVnYXRpdmUgbnVtYmVyDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgdGVzdFJlc3VsdDEgPSB0cnVlOw0KICAgICAgICB2YXIgdGVzdFJlc3VsdDIgPSBmYWxzZTsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBpZiAoaWR4ID4gMSkgew0KICAgICAgICAgICAgICAgIHRlc3RSZXN1bHQxID0gZmFsc2U7DQogICAgICAgICAgICB9DQoNCiAgICAgICAgICAgIGlmIChpZHggPT09IDEpIHsNCiAgICAgICAgICAgICAgICB0ZXN0UmVzdWx0MiA9IHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0geyAwOiAxMSwgMTogMTIsIDI6IDksIGxlbmd0aDogIi00Mjk0OTY3Mjk0IiB9Ow0KDQogICAgICAgIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodC5jYWxsKG9iaiwgY2FsbGJhY2tmbiwgMSk7DQogICAgICAgIHJldHVybiB0ZXN0UmVzdWx0MSAmJiB0ZXN0UmVzdWx0MjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.reduceRight - value of 'length' is a string containing a negative number","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-3-12.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjIvMTUuNC40LjIyLTMtMTMuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQgLSB2YWx1ZSBvZiAnbGVuZ3RoJyBpcyBhIHN0cmluZyBjb250YWluaW5nIGEgZGVjaW1hbCBudW1iZXINCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciB0ZXN0UmVzdWx0MSA9IHRydWU7DQogICAgICAgIHZhciB0ZXN0UmVzdWx0MiA9IGZhbHNlOw0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGlmIChpZHggPiAxKSB7DQogICAgICAgICAgICAgICAgdGVzdFJlc3VsdDEgPSBmYWxzZTsNCiAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgaWYgKGlkeCA9PT0gMSkgew0KICAgICAgICAgICAgICAgIHRlc3RSZXN1bHQyID0gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSB7IDA6IDEyLCAxOiAxMSwgMjogOSwgbGVuZ3RoOiAiMi41IiB9Ow0KDQogICAgICAgIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodC5jYWxsKG9iaiwgY2FsbGJhY2tmbiwgMSk7DQogICAgICAgIHJldHVybiB0ZXN0UmVzdWx0MSAmJiB0ZXN0UmVzdWx0MjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.reduceRight - value of 'length' is a string containing a decimal number","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-3-13.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjIvMTUuNC40LjIyLTMtMTQuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQgLSB2YWx1ZSBvZiAnbGVuZ3RoJyBpcyBhIHN0cmluZyBjb250YWluaW5nICsvLUluZmluaXR5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYWNjZXNzZWQxID0gZmFsc2U7DQogICAgICAgIHZhciBhY2Nlc3NlZDIgPSBmYWxzZTsNCiAgICAgICAgdmFyIGFjY2Vzc2VkMyA9IGZhbHNlOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4xKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGFjY2Vzc2VkMSA9IHRydWU7DQogICAgICAgIH0NCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuMihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBhY2Nlc3NlZDIgPSB0cnVlOw0KICAgICAgICB9DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbjMocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgYWNjZXNzZWQzID0gdHJ1ZTsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmoxID0geyAwOiA5LCBsZW5ndGg6ICJJbmZpbml0eSIgfTsNCiAgICAgICAgdmFyIG9iajIgPSB7IDA6IDksIGxlbmd0aDogIi1JbmZpbml0eSIgfTsNCiAgICAgICAgdmFyIG9iajMgPSB7IDA6IDksIGxlbmd0aDogIitJbmZpbml0eSIgfTsNCg0KICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLnJlZHVjZVJpZ2h0LmNhbGwob2JqMSwgY2FsbGJhY2tmbjEsIDEpID09PSAxICYmDQogICAgICAgICAgICBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQuY2FsbChvYmoyLCBjYWxsYmFja2ZuMiwgMikgPT09IDIgJiYNCiAgICAgICAgICAgIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodC5jYWxsKG9iajMsIGNhbGxiYWNrZm4zLCAzKSA9PT0gMyAmJg0KICAgICAgICAgICAgIWFjY2Vzc2VkMSAmJiAhYWNjZXNzZWQyICYmICFhY2Nlc3NlZDM7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduceRight - value of 'length' is a string containing +/-Infinity","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-3-14.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjIvMTUuNC40LjIyLTMtMTUuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQgLSB2YWx1ZSBvZiAnbGVuZ3RoJyBpcyBhIHN0cmluZyBjb250YWluaW5nIGFuIGV4cG9uZW50aWFsIG51bWJlcg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHRlc3RSZXN1bHQxID0gdHJ1ZTsNCiAgICAgICAgdmFyIHRlc3RSZXN1bHQyID0gZmFsc2U7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgaWYgKGlkeCA+IDEpIHsNCiAgICAgICAgICAgICAgICB0ZXN0UmVzdWx0MSA9IGZhbHNlOw0KICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICBpZiAoaWR4ID09PSAxKSB7DQogICAgICAgICAgICAgICAgdGVzdFJlc3VsdDIgPSB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgMDogMTIsIDE6IDExLCAyOiA5LCBsZW5ndGg6ICIyRTAiIH07DQoNCiAgICAgICAgQXJyYXkucHJvdG90eXBlLnJlZHVjZVJpZ2h0LmNhbGwob2JqLCBjYWxsYmFja2ZuLCAxKTsNCiAgICAgICAgcmV0dXJuIHRlc3RSZXN1bHQxICYmIHRlc3RSZXN1bHQyOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.reduceRight - value of 'length' is a string containing an exponential number","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-3-15.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjIvMTUuNC40LjIyLTMtMTYuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQgLSB2YWx1ZSBvZiAnbGVuZ3RoJyBpcyBhIHN0cmluZyBjb250YWluaW5nIGEgaGV4IG51bWJlcg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHRlc3RSZXN1bHQxID0gdHJ1ZTsNCiAgICAgICAgdmFyIHRlc3RSZXN1bHQyID0gZmFsc2U7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgaWYgKGlkeCA+IDEpIHsNCiAgICAgICAgICAgICAgICB0ZXN0UmVzdWx0MSA9IGZhbHNlOw0KICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICBpZiAoaWR4ID09PSAxKSB7DQogICAgICAgICAgICAgICAgdGVzdFJlc3VsdDIgPSB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgMDogMTIsIDE6IDExLCAyOiA5LCBsZW5ndGg6ICIweDAwMDIiIH07DQoNCiAgICAgICAgQXJyYXkucHJvdG90eXBlLnJlZHVjZVJpZ2h0LmNhbGwob2JqLCBjYWxsYmFja2ZuLCAxKTsNCiAgICAgICAgcmV0dXJuIHRlc3RSZXN1bHQxICYmIHRlc3RSZXN1bHQyOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.reduceRight - value of 'length' is a string containing a hex number","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-3-16.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjIvMTUuNC40LjIyLTMtMTcuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQgLSB2YWx1ZSBvZiAnbGVuZ3RoJyBpcyBhIHN0cmluZyBjb250YWluaW5nIGEgbnVtYmVyIHdpdGggbGVhZGluZyB6ZXJvcw0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHRlc3RSZXN1bHQxID0gdHJ1ZTsNCiAgICAgICAgdmFyIHRlc3RSZXN1bHQyID0gZmFsc2U7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgaWYgKGlkeCA+IDEpIHsNCiAgICAgICAgICAgICAgICB0ZXN0UmVzdWx0MSA9IGZhbHNlOw0KICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICBpZiAoaWR4ID09PSAxKSB7DQogICAgICAgICAgICAgICAgdGVzdFJlc3VsdDIgPSB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgMDogMTIsIDE6IDExLCAyOiA5LCBsZW5ndGg6ICIwMDAyLjAwIiB9Ow0KDQogICAgICAgIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodC5jYWxsKG9iaiwgY2FsbGJhY2tmbiwgMSk7DQogICAgICAgIHJldHVybiB0ZXN0UmVzdWx0MSAmJiB0ZXN0UmVzdWx0MjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.reduceRight - value of 'length' is a string containing a number with leading zeros","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-3-17.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjIvMTUuNC40LjIyLTMtMTguanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQgLSB2YWx1ZSBvZiAnbGVuZ3RoJyBpcyBhIHN0cmluZyB0aGF0IGNhbid0IGNvbnZlcnQgdG8gYSBudW1iZXINCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgMDogOSwgMTogOCwgbGVuZ3RoOiAidHdvIiB9Ow0KDQogICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQuY2FsbChvYmosIGNhbGxiYWNrZm4sIDExKSA9PT0gMTEgJiYgIWFjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.reduceRight - value of 'length' is a string that can't convert to a number","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-3-18.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjIvMTUuNC40LjIyLTMtMTkuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQgLSB2YWx1ZSBvZiAnbGVuZ3RoJyBpcyBhbiBvYmplY3Qgd2hpY2ggaGFzIGFuIG93biB0b1N0cmluZyBtZXRob2QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciB0ZXN0UmVzdWx0MSA9IHRydWU7DQogICAgICAgIHZhciB0ZXN0UmVzdWx0MiA9IGZhbHNlOw0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGlmIChpZHggPiAxKSB7DQogICAgICAgICAgICAgICAgdGVzdFJlc3VsdDEgPSBmYWxzZTsNCiAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgaWYgKGlkeCA9PT0gMSkgew0KICAgICAgICAgICAgICAgIHRlc3RSZXN1bHQyID0gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciB0b1N0cmluZ0FjY2Vzc2VkID0gZmFsc2U7DQogICAgICAgIHZhciBvYmogPSB7DQogICAgICAgICAgICAwOiAxMiwNCiAgICAgICAgICAgIDE6IDExLA0KICAgICAgICAgICAgMjogOSwNCiAgICAgICAgICAgIGxlbmd0aDogew0KICAgICAgICAgICAgICAgIHRvU3RyaW5nOiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgIHRvU3RyaW5nQWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gJzInOw0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0NCiAgICAgICAgfTsNCg0KICAgICAgICAvLyBvYmplY3RzIGluaGVyaXQgdGhlIGRlZmF1bHQgdmFsdWVPZigpIG1ldGhvZCBmcm9tIE9iamVjdA0KICAgICAgICAvLyB0aGF0IHNpbXBseSByZXR1cm5zIGl0c2VsZi4gU2luY2UgdGhlIGRlZmF1bHQgdmFsdWVPZigpIG1ldGhvZA0KICAgICAgICAvLyBkb2VzIG5vdCByZXR1cm4gYSBwcmltaXRpdmUgdmFsdWUsIEVTIG5leHQgdHJpZXMgdG8gY29udmVydCB0aGUgb2JqZWN0DQogICAgICAgIC8vIHRvIGEgbnVtYmVyIGJ5IGNhbGxpbmcgaXRzIHRvU3RyaW5nKCkgbWV0aG9kIGFuZCBjb252ZXJ0aW5nIHRoZQ0KICAgICAgICAvLyByZXN1bHRpbmcgc3RyaW5nIHRvIGEgbnVtYmVyLg0KDQogICAgICAgIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodC5jYWxsKG9iaiwgY2FsbGJhY2tmbiwgMSk7DQogICAgICAgIHJldHVybiB0ZXN0UmVzdWx0MSAmJiB0ZXN0UmVzdWx0MiAmJiB0b1N0cmluZ0FjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.reduceRight - value of 'length' is an object which has an own toString method","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-3-19.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjIvMTUuNC40LjIyLTMtMi5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodCBhcHBsaWVkIHRvIGFuIEFycmF5LWxpa2Ugb2JqZWN0LCAnbGVuZ3RoJyBpcyAwIChsZW5ndGggb3ZlcnJpZGRlbiB0byBmYWxzZSh0eXBlIGNvbnZlcnNpb24pKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmVWYWwsIGN1clZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSB7IDA6IDksIGxlbmd0aDogZmFsc2UgfTsNCg0KICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLnJlZHVjZVJpZ2h0LmNhbGwob2JqLCBjYWxsYmFja2ZuLCAxKSA9PT0gMSAmJiAhYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduceRight applied to an Array-like object, 'length' is 0 (length overridden to false(type conversion))","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-3-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjIvMTUuNC40LjIyLTMtMjAuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQgLSB2YWx1ZSBvZiAnbGVuZ3RoJyBpcyBhbiBPYmplY3Qgd2hpY2ggaGFzIGFuIG93biB2YWx1ZU9mIG1ldGhvZA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHRlc3RSZXN1bHQxID0gdHJ1ZTsNCiAgICAgICAgdmFyIHRlc3RSZXN1bHQyID0gZmFsc2U7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgaWYgKGlkeCA+IDEpIHsNCiAgICAgICAgICAgICAgICB0ZXN0UmVzdWx0MSA9IGZhbHNlOw0KICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICBpZiAoaWR4ID09PSAxKSB7DQogICAgICAgICAgICAgICAgdGVzdFJlc3VsdDIgPSB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIHZhbHVlT2ZBY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIHZhciBvYmogPSB7DQogICAgICAgICAgICAwOiAxMiwNCiAgICAgICAgICAgIDE6IDExLA0KICAgICAgICAgICAgMjogOSwNCiAgICAgICAgICAgIGxlbmd0aDogew0KICAgICAgICAgICAgICAgIHZhbHVlT2Y6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICAgICAgdmFsdWVPZkFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDI7DQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfQ0KICAgICAgICB9Ow0KDQogICAgICAgIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodC5jYWxsKG9iaiwgY2FsbGJhY2tmbiwgMSk7DQogICAgICAgIHJldHVybiB0ZXN0UmVzdWx0MSAmJiB0ZXN0UmVzdWx0MiAmJiB2YWx1ZU9mQWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduceRight - value of 'length' is an Object which has an own valueOf method","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-3-20.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjIvMTUuNC40LjIyLTMtMjEuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQgLSAnbGVuZ3RoJyBpcyBhbiBvYmplY3QgdGhhdCBoYXMgYW4gb3duIHZhbHVlT2YgbWV0aG9kIHRoYXQgcmV0dXJucyBhbiBvYmplY3QgYW5kIHRvU3RyaW5nIG1ldGhvZCB0aGF0IHJldHVybnMgYSBzdHJpbmcNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciB0ZXN0UmVzdWx0MSA9IHRydWU7DQogICAgICAgIHZhciB0ZXN0UmVzdWx0MiA9IGZhbHNlOw0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGlmIChpZHggPiAxKSB7DQogICAgICAgICAgICAgICAgdGVzdFJlc3VsdDEgPSBmYWxzZTsNCiAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgaWYgKGlkeCA9PT0gMSkgew0KICAgICAgICAgICAgICAgIHRlc3RSZXN1bHQyID0gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciB0b1N0cmluZ0FjY2Vzc2VkID0gZmFsc2U7DQogICAgICAgIHZhciB2YWx1ZU9mQWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICB2YXIgb2JqID0gew0KICAgICAgICAgICAgMDogMTIsDQogICAgICAgICAgICAxOiAxMSwNCiAgICAgICAgICAgIDI6IDksDQogICAgICAgICAgICBsZW5ndGg6IHsNCiAgICAgICAgICAgICAgICB2YWx1ZU9mOiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgIHZhbHVlT2ZBY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICAgICAgICAgIHJldHVybiB7fTsNCiAgICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAgIHRvU3RyaW5nOiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgIHRvU3RyaW5nQWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gJzInOw0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0NCiAgICAgICAgfTsNCg0KICAgICAgICBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQuY2FsbChvYmosIGNhbGxiYWNrZm4sIDEpOw0KICAgICAgICByZXR1cm4gdGVzdFJlc3VsdDEgJiYgdGVzdFJlc3VsdDIgJiYgdmFsdWVPZkFjY2Vzc2VkICYmIHRvU3RyaW5nQWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduceRight - 'length' is an object that has an own valueOf method that returns an object and toString method that returns a string","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-3-21.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjIvMTUuNC40LjIyLTMtMjIuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQgdGhyb3dzIFR5cGVFcnJvciBleGNlcHRpb24gd2hlbiAnbGVuZ3RoJyBpcyBhbiBvYmplY3Qgd2l0aCB0b1N0cmluZyBhbmQgdmFsdWVPZiBtZXRob2RzIHRoYXQgZG9u77+9dCByZXR1cm4gcHJpbWl0aXZlIHZhbHVlcw0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQogICAgICAgIHZhciB0b1N0cmluZ0FjY2Vzc2VkID0gZmFsc2U7DQogICAgICAgIHZhciB2YWx1ZU9mQWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSB7DQogICAgICAgICAgICAwOiAxMSwNCiAgICAgICAgICAgIDE6IDEyLA0KDQogICAgICAgICAgICBsZW5ndGg6IHsNCiAgICAgICAgICAgICAgICB2YWx1ZU9mOiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgIHZhbHVlT2ZBY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICAgICAgICAgIHJldHVybiB7fTsNCiAgICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAgIHRvU3RyaW5nOiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgIHRvU3RyaW5nQWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgICAgICAgICByZXR1cm4ge307DQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfQ0KICAgICAgICB9Ow0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQuY2FsbChvYmosIGNhbGxiYWNrZm4sIDEpOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChleCkgew0KICAgICAgICAgICAgcmV0dXJuIChleCBpbnN0YW5jZW9mIFR5cGVFcnJvcikgJiYgdG9TdHJpbmdBY2Nlc3NlZCAmJiB2YWx1ZU9mQWNjZXNzZWQgJiYgIWFjY2Vzc2VkOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduceRight throws TypeError exception when 'length' is an object with toString and valueOf methods that don\ufffdt return primitive values","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-3-22.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjIvMTUuNC40LjIyLTMtMjMuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQgdXNlcyBpbmhlcml0ZWQgdmFsdWVPZiBtZXRob2Qgd2hlbiAnbGVuZ3RoJyBpcyBhbiBvYmplY3Qgd2l0aCBhbiBvd24gdG9TdHJpbmcgYW5kIGluaGVyaXRlZCB2YWx1ZU9mIG1ldGhvZHMNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciB0ZXN0UmVzdWx0MSA9IHRydWU7DQogICAgICAgIHZhciB0ZXN0UmVzdWx0MiA9IGZhbHNlOw0KICAgICAgICB2YXIgdmFsdWVPZkFjY2Vzc2VkID0gZmFsc2U7DQogICAgICAgIHZhciB0b1N0cmluZ0FjY2Vzc2VkID0gZmFsc2U7DQoNCiAgICAgICAgdmFyIHByb3RvID0gew0KICAgICAgICAgICAgdmFsdWVPZjogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHZhbHVlT2ZBY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICAgICAgcmV0dXJuIDI7DQogICAgICAgICAgICB9DQogICAgICAgIH07DQogICAgICAgIHZhciBDb24gPSBmdW5jdGlvbiAoKSB7IH07DQogICAgICAgIENvbi5wcm90b3R5cGUgPSBwcm90bzsNCiAgICAgICAgdmFyIGNoaWxkID0gbmV3IENvbigpOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgaWYgKGlkeCA+IDEpIHsNCiAgICAgICAgICAgICAgICB0ZXN0UmVzdWx0MSA9IGZhbHNlOw0KICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICBpZiAoaWR4ID09PSAxKSB7DQogICAgICAgICAgICAgICAgdGVzdFJlc3VsdDIgPSB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9DQoNCiAgICAgICAgY2hpbGQudG9TdHJpbmcgPSBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICB0b1N0cmluZ0FjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIHJldHVybiAnMSc7DQogICAgICAgIH07DQoNCiAgICAgICAgdmFyIG9iaiA9IHsNCiAgICAgICAgICAgIDA6IDEyLA0KICAgICAgICAgICAgMTogMTEsDQogICAgICAgICAgICAyOiA5LA0KICAgICAgICAgICAgbGVuZ3RoOiBjaGlsZA0KICAgICAgICB9Ow0KDQogICAgICAgIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodC5jYWxsKG9iaiwgY2FsbGJhY2tmbiwgMSk7DQogICAgICAgIHJldHVybiB0ZXN0UmVzdWx0MSAmJiB0ZXN0UmVzdWx0MiAmJiB2YWx1ZU9mQWNjZXNzZWQgJiYgIXRvU3RyaW5nQWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduceRight uses inherited valueOf method when 'length' is an object with an own toString and inherited valueOf methods","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-3-23.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjIvMTUuNC40LjIyLTMtMjQuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQgLSB2YWx1ZSBvZiAnbGVuZ3RoJyBpcyBhIHBvc2l0aXZlIG5vbi1pbnRlZ2VyLCBlbnN1cmUgdHJ1bmNhdGlvbiBvY2N1cnMgaW4gdGhlIHByb3BlciBkaXJlY3Rpb24NCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciB0ZXN0UmVzdWx0MSA9IHRydWU7DQogICAgICAgIHZhciB0ZXN0UmVzdWx0MiA9IGZhbHNlOw0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGlmIChpZHggPiAxKSB7DQogICAgICAgICAgICAgICAgdGVzdFJlc3VsdDEgPSBmYWxzZTsNCiAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgaWYgKGlkeCA9PT0gMSkgew0KICAgICAgICAgICAgICAgIHRlc3RSZXN1bHQyID0gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSB7IDA6IDEyLCAxOiAxMSwgMjogOSwgbGVuZ3RoOiAyLjY4NSB9Ow0KDQogICAgICAgIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodC5jYWxsKG9iaiwgY2FsbGJhY2tmbiwgMSk7DQogICAgICAgIHJldHVybiB0ZXN0UmVzdWx0MSAmJiB0ZXN0UmVzdWx0MjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.reduceRight - value of 'length' is a positive non-integer, ensure truncation occurs in the proper direction","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-3-24.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjIvMTUuNC40LjIyLTMtMjUuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQgLSB2YWx1ZSBvZiAnbGVuZ3RoJyBpcyBhIG5lZ2F0aXZlIG5vbi1pbnRlZ2VyLCBlbnN1cmUgdHJ1bmNhdGlvbiBvY2N1cnMgaW4gdGhlIHByb3BlciBkaXJlY3Rpb24NCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciB0ZXN0UmVzdWx0MSA9IHRydWU7DQogICAgICAgIHZhciB0ZXN0UmVzdWx0MiA9IGZhbHNlOw0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGlmIChpZHggPiAxKSB7DQogICAgICAgICAgICAgICAgdGVzdFJlc3VsdDEgPSBmYWxzZTsNCiAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgaWYgKGlkeCA9PT0gMSkgew0KICAgICAgICAgICAgICAgIHRlc3RSZXN1bHQyID0gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSB7DQogICAgICAgICAgICAwOiAxMiwNCiAgICAgICAgICAgIDE6IDExLA0KICAgICAgICAgICAgMjogOSwNCiAgICAgICAgICAgIGxlbmd0aDogLTQyOTQ5NjcyOTQuNQ0KICAgICAgICB9Ow0KDQogICAgICAgIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodC5jYWxsKG9iaiwgY2FsbGJhY2tmbiwgMSk7DQogICAgICAgIHJldHVybiB0ZXN0UmVzdWx0MSAmJiB0ZXN0UmVzdWx0MjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.reduceRight - value of 'length' is a negative non-integer, ensure truncation occurs in the proper direction","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-3-25.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjIvMTUuNC40LjIyLTMtMjguanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQgLSB2YWx1ZSBvZiAnbGVuZ3RoJyBpcyBib3VuZGFyeSB2YWx1ZSAoMl4zMikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IHsNCiAgICAgICAgICAgIDA6IDEyLA0KICAgICAgICAgICAgbGVuZ3RoOiA0Mjk0OTY3Mjk2DQogICAgICAgIH07DQoNCiAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodC5jYWxsKG9iaiwgY2FsbGJhY2tmbiwgMSkgPT09IDEgJiYgIWFjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.reduceRight - value of 'length' is boundary value (2^32)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-3-28.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjIvMTUuNC40LjIyLTMtMjkuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQgLSB2YWx1ZSBvZiAnbGVuZ3RoJyBpcyBib3VuZGFyeSB2YWx1ZSAoMl4zMiArIDEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgdGVzdFJlc3VsdDEgPSB0cnVlOw0KICAgICAgICB2YXIgdGVzdFJlc3VsdDIgPSBmYWxzZTsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBpZiAoaWR4ID4gMCkgew0KICAgICAgICAgICAgICAgIHRlc3RSZXN1bHQxID0gZmFsc2U7DQogICAgICAgICAgICB9DQoNCiAgICAgICAgICAgIGlmIChpZHggPT09IDApIHsNCiAgICAgICAgICAgICAgICB0ZXN0UmVzdWx0MiA9IHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0gew0KICAgICAgICAgICAgMDogMTEsDQogICAgICAgICAgICAxOiA5LA0KICAgICAgICAgICAgbGVuZ3RoOiA0Mjk0OTY3Mjk3DQogICAgICAgIH07DQoNCiAgICAgICAgQXJyYXkucHJvdG90eXBlLnJlZHVjZVJpZ2h0LmNhbGwob2JqLCBjYWxsYmFja2ZuLCAxKTsNCiAgICAgICAgcmV0dXJuIHRlc3RSZXN1bHQxICYmIHRlc3RSZXN1bHQyOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.reduceRight - value of 'length' is boundary value (2^32 + 1)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-3-29.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjIvMTUuNC40LjIyLTMtMy5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodCAtIHZhbHVlIG9mICdsZW5ndGgnIGlzIGEgbnVtYmVyICh2YWx1ZSBpcyAwKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0geyAwOiA5LCBsZW5ndGg6IDAgfTsNCg0KICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLnJlZHVjZVJpZ2h0LmNhbGwob2JqLCBjYWxsYmFja2ZuLCAxKSA9PT0gMSAmJiAhYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduceRight - value of 'length' is a number (value is 0)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-3-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjIvMTUuNC40LjIyLTMtNC5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodCAtIHZhbHVlIG9mICdsZW5ndGgnIGlzIGEgbnVtYmVyICh2YWx1ZSBpcyArMCkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgMDogOSwgbGVuZ3RoOiArMCB9Ow0KDQogICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQuY2FsbChvYmosIGNhbGxiYWNrZm4sIDEpID09PSAxICYmICFhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.reduceRight - value of 'length' is a number (value is +0)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-3-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjIvMTUuNC40LjIyLTMtNS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodCAtIHZhbHVlIG9mICdsZW5ndGgnIGlzIGEgbnVtYmVyICh2YWx1ZSBpcyAtMCkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJlVmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0geyAwOiA5LCBsZW5ndGg6IC0wIH07DQoNCiAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodC5jYWxsKG9iaiwgY2FsbGJhY2tmbiwgMSkgPT09IDEgJiYgIWFjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.reduceRight - value of 'length' is a number (value is -0)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-3-5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjIvMTUuNC40LjIyLTMtNi5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodCAtIHZhbHVlIG9mICdsZW5ndGgnIGlzIGEgbnVtYmVyICh2YWx1ZSBpcyBwb3NpdGl2ZSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciB0ZXN0UmVzdWx0MSA9IHRydWU7DQogICAgICAgIHZhciB0ZXN0UmVzdWx0MiA9IGZhbHNlOw0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGlmIChpZHggPiAxKSB7DQogICAgICAgICAgICAgICAgdGVzdFJlc3VsdDEgPSBmYWxzZTsNCiAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgaWYgKGlkeCA9PT0gMSkgew0KICAgICAgICAgICAgICAgIHRlc3RSZXN1bHQyID0gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSB7IDE6IDExLCAyOiA5LCBsZW5ndGg6IDIgfTsNCg0KICAgICAgICBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQuY2FsbChvYmosIGNhbGxiYWNrZm4sIDEpOw0KICAgICAgICByZXR1cm4gdGVzdFJlc3VsdDEgJiYgdGVzdFJlc3VsdDI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduceRight - value of 'length' is a number (value is positive)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-3-6.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjIvMTUuNC40LjIyLTMtNy5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodCAtIHZhbHVlIG9mICdsZW5ndGgnIGlzIGEgbnVtYmVyICh2YWx1ZSBpcyBuZWdhdGl2ZSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciB0ZXN0UmVzdWx0MSA9IHRydWU7DQogICAgICAgIHZhciB0ZXN0UmVzdWx0MiA9IGZhbHNlOw0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGlmIChpZHggPiAxKSB7DQogICAgICAgICAgICAgICAgdGVzdFJlc3VsdDEgPSBmYWxzZTsNCiAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgaWYgKGlkeCA9PT0gMSkgew0KICAgICAgICAgICAgICAgIHRlc3RSZXN1bHQyID0gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSB7IDE6IDExLCAyOiA5LCBsZW5ndGg6IC00Mjk0OTY3Mjk0IH07DQoNCiAgICAgICAgQXJyYXkucHJvdG90eXBlLnJlZHVjZVJpZ2h0LmNhbGwob2JqLCBjYWxsYmFja2ZuLCAxKTsNCiAgICAgICAgcmV0dXJuIHRlc3RSZXN1bHQxICYmIHRlc3RSZXN1bHQyOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.reduceRight - value of 'length' is a number (value is negative)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-3-7.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjIvMTUuNC40LjIyLTMtOC5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodCAtIHZhbHVlIG9mICdsZW5ndGgnIGlzIGEgbnVtYmVyICh2YWx1ZSBpcyBJbmZpbml0eSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgMDogOSwgbGVuZ3RoOiBJbmZpbml0eSB9Ow0KDQogICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQuY2FsbChvYmosIGNhbGxiYWNrZm4sIDEpID09PSAxICYmICFhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.reduceRight - value of 'length' is a number (value is Infinity)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-3-8.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjIvMTUuNC40LjIyLTMtOS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodCAtIHZhbHVlIG9mICdsZW5ndGgnIGlzIGEgbnVtYmVyICh2YWx1ZSBpcyAtSW5maW5pdHkpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSB7IDA6IDksIGxlbmd0aDogLUluZmluaXR5IH07DQoNCiAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodC5jYWxsKG9iaiwgY2FsbGJhY2tmbiwgMSkgPT09IDEgJiYgIWFjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.reduceRight - value of 'length' is a number (value is -Infinity)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-3-9.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjIvMTUuNC40LjIyLTQtMS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodCB0aHJvd3MgVHlwZUVycm9yIGlmIGNhbGxiYWNrZm4gaXMgdW5kZWZpbmVkDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICB2YXIgYXJyID0gbmV3IEFycmF5KDEwKTsNCiAgdHJ5IHsNCiAgICBhcnIucmVkdWNlUmlnaHQoKTsgICAgDQogIH0NCiAgY2F0Y2goZSkgew0KICAgIGlmKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpDQogICAgICByZXR1cm4gdHJ1ZTsgIA0KICB9DQoNCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.reduceRight throws TypeError if callbackfn is undefined","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-4-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjIvMTUuNC40LjIyLTQtMTAuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQgLSB0aGUgZXhjZXB0aW9uIGlzIG5vdCB0aHJvd24gaWYgZXhjZXB0aW9uIHdhcyB0aHJvd24gYnkgc3RlcCAyDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0geyAwOiAxMSwgMTogMTIgfTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAibGVuZ3RoIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgdGhyb3cgbmV3IFN5bnRheEVycm9yKCk7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQuY2FsbChvYmosIHVuZGVmaW5lZCk7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGV4KSB7DQogICAgICAgICAgICByZXR1cm4gIShleCBpbnN0YW5jZW9mIFR5cGVFcnJvcik7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.reduceRight - the exception is not thrown if exception was thrown by step 2","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-4-10.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjIvMTUuNC40LjIyLTQtMTEuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQgLSB0aGUgZXhjZXB0aW9uIGlzIG5vdCB0aHJvd24gaWYgZXhjZXB0aW9uIHdhcyB0aHJvd24gYnkgc3RlcCAzDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0geyAwOiAxMSwgMTogMTIgfTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAibGVuZ3RoIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIHsNCiAgICAgICAgICAgICAgICAgICAgdG9TdHJpbmc6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICAgICAgICAgIHRocm93IG5ldyBTeW50YXhFcnJvcigpOw0KICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgfTsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodC5jYWxsKG9iaiwgdW5kZWZpbmVkKTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZXgpIHsNCiAgICAgICAgICAgIHJldHVybiAhKGV4IGluc3RhbmNlb2YgVHlwZUVycm9yKTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.reduceRight - the exception is not thrown if exception was thrown by step 3","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-4-11.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjIvMTUuNC40LjIyLTQtMTIuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQgLSAnY2FsbGJhY2tmbicgaXMgYSBmdW5jdGlvbg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGluaXRpYWxWYWx1ZSA9IDA7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4oYWNjdW0sIHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGFjY3VtICs9IHZhbDsNCiAgICAgICAgICAgIHJldHVybiBhY2N1bTsNCiAgICAgICAgfQ0KDQogICAgICAgIHJldHVybiAyMCA9PT0gWzExLCA5XS5yZWR1Y2VSaWdodChjYWxsYmFja2ZuLCBpbml0aWFsVmFsdWUpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.reduceRight - 'callbackfn' is a function","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-4-12.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjIvMTUuNC40LjIyLTQtMTUuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQgLSBjYWxsaW5nIHdpdGggbm8gY2FsbGJhY2tmbiBpcyB0aGUgc2FtZSBhcyBwYXNzaW5nIHVuZGVmaW5lZCBmb3IgY2FsbGJhY2tmbg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBvYmogPSB7IDEwOiAxMCB9Ow0KICAgICAgICB2YXIgbGVuZ3RoQWNjZXNzZWQgPSBmYWxzZTsNCiAgICAgICAgdmFyIGxvb3BBY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJsZW5ndGgiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICBsZW5ndGhBY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICAgICAgcmV0dXJuIDIwOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgIjAiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICBsb29wQWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgICAgIHJldHVybiAxMDsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodC5jYWxsKG9iaiwgdW5kZWZpbmVkKTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZXgpIHsNCiAgICAgICAgICAgIHJldHVybiAoZXggaW5zdGFuY2VvZiBUeXBlRXJyb3IpICYmIGxlbmd0aEFjY2Vzc2VkICYmICFsb29wQWNjZXNzZWQ7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.reduceRight - calling with no callbackfn is the same as passing undefined for callbackfn","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-4-15.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjIvMTUuNC40LjIyLTQtMi5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodCB0aHJvd3MgUmVmZXJlbmNlRXJyb3IgaWYgY2FsbGJhY2tmbiBpcyB1bnJlZmVyZW5jZWQNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogIHZhciBhcnIgPSBuZXcgQXJyYXkoMTApOw0KICB0cnkgew0KICAgIGFyci5yZWR1Y2VSaWdodChmb28pOyAgICANCiAgfQ0KICBjYXRjaChlKSB7DQogICAgaWYoZSBpbnN0YW5jZW9mIFJlZmVyZW5jZUVycm9yKQ0KICAgICAgcmV0dXJuIHRydWU7ICANCiAgfQ0KDQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduceRight throws ReferenceError if callbackfn is unreferenced","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-4-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjIvMTUuNC40LjIyLTQtMy5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodCB0aHJvd3MgVHlwZUVycm9yIGlmIGNhbGxiYWNrZm4gaXMgbnVsbA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgdmFyIGFyciA9IG5ldyBBcnJheSgxMCk7DQogIHRyeSB7DQogICAgYXJyLnJlZHVjZVJpZ2h0KG51bGwpOyAgICANCiAgfQ0KICBjYXRjaChlKSB7DQogICAgaWYoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikNCiAgICAgIHJldHVybiB0cnVlOyAgDQogIH0NCg0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.reduceRight throws TypeError if callbackfn is null","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-4-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjIvMTUuNC40LjIyLTQtNC5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodCB0aHJvd3MgVHlwZUVycm9yIGlmIGNhbGxiYWNrZm4gaXMgYm9vbGVhbg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgdmFyIGFyciA9IG5ldyBBcnJheSgxMCk7DQogIHRyeSB7DQogICAgYXJyLnJlZHVjZVJpZ2h0KHRydWUpOyAgICANCiAgfQ0KICBjYXRjaChlKSB7DQogICAgaWYoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikNCiAgICAgIHJldHVybiB0cnVlOyAgDQogIH0NCg0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.reduceRight throws TypeError if callbackfn is boolean","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-4-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjIvMTUuNC40LjIyLTQtNS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodCB0aHJvd3MgVHlwZUVycm9yIGlmIGNhbGxiYWNrZm4gaXMgbnVtYmVyDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICB2YXIgYXJyID0gbmV3IEFycmF5KDEwKTsNCiAgdHJ5IHsNCiAgICBhcnIucmVkdWNlUmlnaHQoNSk7ICAgIA0KICB9DQogIGNhdGNoKGUpIHsNCiAgICBpZihlIGluc3RhbmNlb2YgVHlwZUVycm9yKQ0KICAgICAgcmV0dXJuIHRydWU7ICANCiAgfQ0KDQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduceRight throws TypeError if callbackfn is number","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-4-5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjIvMTUuNC40LjIyLTQtNi5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodCB0aHJvd3MgVHlwZUVycm9yIGlmIGNhbGxiYWNrZm4gaXMgc3RyaW5nDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICB2YXIgYXJyID0gbmV3IEFycmF5KDEwKTsNCiAgdHJ5IHsNCiAgICBhcnIucmVkdWNlUmlnaHQoImFiYyIpOyAgICANCiAgfQ0KICBjYXRjaChlKSB7DQogICAgaWYoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikNCiAgICAgIHJldHVybiB0cnVlOyAgDQogIH0NCg0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.reduceRight throws TypeError if callbackfn is string","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-4-6.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjIvMTUuNC40LjIyLTQtNy5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodCB0aHJvd3MgVHlwZUVycm9yIGlmIGNhbGxiYWNrZm4gaXMgT2JqZWN0IHdpdGhvdXQgW1tDYWxsXV0gaW50ZXJuYWwgbWV0aG9kDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICB2YXIgYXJyID0gbmV3IEFycmF5KDEwKTsNCiAgdHJ5IHsNCiAgICBhcnIucmVkdWNlUmlnaHQobmV3IE9iamVjdCgpKTsgICAgDQogIH0NCiAgY2F0Y2goZSkgew0KICAgIGlmKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpDQogICAgICByZXR1cm4gdHJ1ZTsgIA0KICB9DQoNCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.reduceRight throws TypeError if callbackfn is Object without [[Call]] internal method","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-4-7.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjIvMTUuNC40LjIyLTQtOC5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodCAtIHNpZGUgZWZmZWN0cyBwcm9kdWNlZCBieSBzdGVwIDIgYXJlIHZpc2libGUgd2hlbiBhbiBleGNlcHRpb24gb2NjdXJzDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0geyAwOiAxMSwgMTogMTIgfTsNCg0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAibGVuZ3RoIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgICAgIHJldHVybiAyOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlLnJlZHVjZVJpZ2h0LmNhbGwob2JqLCBudWxsKTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZXgpIHsNCiAgICAgICAgICAgIHJldHVybiBleCBpbnN0YW5jZW9mIFR5cGVFcnJvciAmJiBhY2Nlc3NlZDsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.reduceRight - side effects produced by step 2 are visible when an exception occurs","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-4-8.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjIvMTUuNC40LjIyLTQtOS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodCAtIHNpZGUgZWZmZWN0cyBwcm9kdWNlZCBieSBzdGVwIDMgYXJlIHZpc2libGUgd2hlbiBhbiBleGNlcHRpb24gb2NjdXJzDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0geyAwOiAxMSwgMTogMTIgfTsNCg0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAibGVuZ3RoIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIHsNCiAgICAgICAgICAgICAgICAgICAgdG9TdHJpbmc6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiAiMiI7DQogICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICB9Ow0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlLnJlZHVjZVJpZ2h0LmNhbGwob2JqLCBudWxsKTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZXgpIHsNCiAgICAgICAgICAgIHJldHVybiBleCBpbnN0YW5jZW9mIFR5cGVFcnJvciAmJiBhY2Nlc3NlZDsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.reduceRight - side effects produced by step 3 are visible when an exception occurs","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-4-9.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjIvMTUuNC40LjIyLTUtMS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodCB0aHJvd3MgVHlwZUVycm9yIGlmICdsZW5ndGgnIGlzIDAgKGVtcHR5IGFycmF5KSwgbm8gaW5pdFZhbA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIGZ1bmN0aW9uIGNiKCl7fQ0KICANCiAgdHJ5IHsNCiAgICBbXS5yZWR1Y2VSaWdodChjYik7DQogIH0NCiAgY2F0Y2ggKGUpIHsNCiAgICBpZiAoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikgew0KICAgICAgcmV0dXJuIHRydWU7DQogICAgfQ0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduceRight throws TypeError if 'length' is 0 (empty array), no initVal","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-5-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjIvMTUuNC40LjIyLTUtMTAuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQgLSBzaWRlLWVmZmVjdHMgcHJvZHVjZWQgYnkgc3RlcCAyIHdoZW4gYW4gZXhjZXB0aW9uIG9jY3Vycw0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgMDogMTEsIDE6IDEyIH07DQoNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgImxlbmd0aCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgICAgICByZXR1cm4gMDsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodC5jYWxsKG9iaiwgZnVuY3Rpb24gKCkgeyB9KTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZXgpIHsNCiAgICAgICAgICAgIHJldHVybiAoZXggaW5zdGFuY2VvZiBUeXBlRXJyb3IpICYmIGFjY2Vzc2VkOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduceRight - side-effects produced by step 2 when an exception occurs","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-5-10.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjIvMTUuNC40LjIyLTUtMTEuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQgLSBzaWRlLWVmZmVjdHMgcHJvZHVjZWQgYnkgc3RlcCAzIHdoZW4gYW4gZXhjZXB0aW9uIG9jY3Vycw0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgMDogMTEsIDE6IDEyIH07DQoNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgImxlbmd0aCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiB7DQogICAgICAgICAgICAgICAgICAgIHRvU3RyaW5nOiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gIjAiOw0KICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgfTsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodC5jYWxsKG9iaiwgZnVuY3Rpb24gKCkgeyB9KTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZXgpIHsNCiAgICAgICAgICAgIHJldHVybiAoZXggaW5zdGFuY2VvZiBUeXBlRXJyb3IpICYmIGFjY2Vzc2VkOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduceRight - side-effects produced by step 3 when an exception occurs","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-5-11.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjIvMTUuNC40LjIyLTUtMTIuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQgLSB0aGUgZXhjZXB0aW9uIGlzIG5vdCB0aHJvd24gaWYgZXhjZXB0aW9uIHdhcyB0aHJvd24gYnkgc3RlcCAyDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0geyAwOiAxMSwgMTogMTIgfTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAibGVuZ3RoIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgdGhyb3cgbmV3IFN5bnRheEVycm9yKCk7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQuY2FsbChvYmosIGZ1bmN0aW9uICgpIHsgfSk7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGV4KSB7DQogICAgICAgICAgICByZXR1cm4gIShleCBpbnN0YW5jZW9mIFR5cGVFcnJvcik7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.reduceRight - the exception is not thrown if exception was thrown by step 2","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-5-12.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjIvMTUuNC40LjIyLTUtMTMuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQgLSB0aGUgZXhjZXB0aW9uIGlzIG5vdCB0aHJvd24gaWYgZXhjZXB0aW9uIHdhcyB0aHJvd24gYnkgc3RlcCAzDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0geyAwOiAxMSwgMTogMTIgfTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAibGVuZ3RoIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIHsNCiAgICAgICAgICAgICAgICAgICAgdG9TdHJpbmc6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICAgICAgICAgIHRocm93IG5ldyBTeW50YXhFcnJvcigpOw0KICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgfTsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodC5jYWxsKG9iaiwgZnVuY3Rpb24gKCkgeyB9KTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZXgpIHsNCiAgICAgICAgICAgIHJldHVybiAhKGV4IGluc3RhbmNlb2YgVHlwZUVycm9yKTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.reduceRight - the exception is not thrown if exception was thrown by step 3","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-5-13.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjIvMTUuNC40LjIyLTUtMi5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodCB0aHJvd3MgVHlwZUVycm9yIGlmICdsZW5ndGgnIGlzIDAgKHN1YmNsYXNzZWQgQXJyYXksIGxlbmd0aCBvdmVycmlkZGVuIHRvIG51bGwgKHR5cGUgY29udmVyc2lvbikpLCBubyBpbml0VmFsDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgZm9vLnByb3RvdHlwZSA9IG5ldyBBcnJheSgxLCAyLCAzKTsNCiAgZnVuY3Rpb24gZm9vKCkge30NCiAgdmFyIGYgPSBuZXcgZm9vKCk7DQogIGYubGVuZ3RoID0gbnVsbDsNCiAgDQogIGZ1bmN0aW9uIGNiKCl7fQ0KICB0cnkgew0KICAgIGYucmVkdWNlUmlnaHQoY2IpOw0KICB9DQogIGNhdGNoIChlKSB7DQogICAgaWYgKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpIHsNCiAgICAgIHJldHVybiB0cnVlOw0KICAgIH0NCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.reduceRight throws TypeError if 'length' is 0 (subclassed Array, length overridden to null (type conversion)), no initVal","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-5-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjIvMTUuNC40LjIyLTUtMy5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodCB0aHJvd3MgVHlwZUVycm9yIGlmICdsZW5ndGgnIGlzIDAgKHN1YmNsYXNzZWQgQXJyYXksIGxlbmd0aCBvdmVycmlkZGVuIHRvIGZhbHNlICh0eXBlIGNvbnZlcnNpb24pKSwgbm8gaW5pdFZhbA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIGZvby5wcm90b3R5cGUgPSBuZXcgQXJyYXkoMSwgMiwgMyk7DQogIGZ1bmN0aW9uIGZvbygpIHt9DQogIHZhciBmID0gbmV3IGZvbygpOw0KICBmLmxlbmd0aCA9IGZhbHNlOw0KICANCiAgZnVuY3Rpb24gY2IoKXt9DQogIHRyeSB7DQogICAgZi5yZWR1Y2VSaWdodChjYik7DQogIH0NCiAgY2F0Y2ggKGUpIHsNCiAgICBpZiAoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikgew0KICAgICAgcmV0dXJuIHRydWU7DQogICAgfQ0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduceRight throws TypeError if 'length' is 0 (subclassed Array, length overridden to false (type conversion)), no initVal","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-5-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjIvMTUuNC40LjIyLTUtNC5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodCB0aHJvd3MgVHlwZUVycm9yIGlmICdsZW5ndGgnIGlzIDAgKHN1YmNsYXNzZWQgQXJyYXksIGxlbmd0aCBvdmVycmlkZGVuIHRvIDAgKHR5cGUgY29udmVyc2lvbikpLCBubyBpbml0VmFsDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgZm9vLnByb3RvdHlwZSA9IG5ldyBBcnJheSgxLCAyLCAzKTsNCiAgZnVuY3Rpb24gZm9vKCkge30NCiAgdmFyIGYgPSBuZXcgZm9vKCk7DQogIGYubGVuZ3RoID0gMDsNCiAgDQogIGZ1bmN0aW9uIGNiKCl7fQ0KICB0cnkgew0KICAgIGYucmVkdWNlUmlnaHQoY2IpOw0KICB9DQogIGNhdGNoIChlKSB7DQogICAgaWYgKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpIHsNCiAgICAgIHJldHVybiB0cnVlOw0KICAgIH0NCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.reduceRight throws TypeError if 'length' is 0 (subclassed Array, length overridden to 0 (type conversion)), no initVal","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-5-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjIvMTUuNC40LjIyLTUtNS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodCB0aHJvd3MgVHlwZUVycm9yIGlmICdsZW5ndGgnIGlzIDAgKHN1YmNsYXNzZWQgQXJyYXksIGxlbmd0aCBvdmVycmlkZGVuIHRvICcwJyAodHlwZSBjb252ZXJzaW9uKSksIG5vIGluaXRWYWwNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICBmb28ucHJvdG90eXBlID0gbmV3IEFycmF5KDEsIDIsIDMpOw0KICBmdW5jdGlvbiBmb28oKSB7fQ0KICB2YXIgZiA9IG5ldyBmb28oKTsNCiAgZi5sZW5ndGggPSAnMCc7DQogIA0KICBmdW5jdGlvbiBjYigpe30NCiAgdHJ5IHsNCiAgICBmLnJlZHVjZVJpZ2h0KGNiKTsNCiAgfQ0KICBjYXRjaCAoZSkgew0KICAgIGlmIChlIGluc3RhbmNlb2YgVHlwZUVycm9yKSB7DQogICAgICByZXR1cm4gdHJ1ZTsNCiAgICB9DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.reduceRight throws TypeError if 'length' is 0 (subclassed Array, length overridden to '0' (type conversion)), no initVal","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-5-5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjIvMTUuNC40LjIyLTUtNi5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodCB0aHJvd3MgVHlwZUVycm9yIGlmICdsZW5ndGgnIGlzIDAgKHN1YmNsYXNzZWQgQXJyYXksIGxlbmd0aCBvdmVycmlkZGVuIHdpdGggb2JqIHdpdGggdmFsdWVPZiksIG5vIGluaXRWYWwNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICBmb28ucHJvdG90eXBlID0gbmV3IEFycmF5KDEsIDIsIDMpOw0KICBmdW5jdGlvbiBmb28oKSB7fQ0KICB2YXIgZiA9IG5ldyBmb28oKTsNCiAgDQogIHZhciBvID0geyB2YWx1ZU9mOiBmdW5jdGlvbiAoKSB7IHJldHVybiAwO319Ow0KICBmLmxlbmd0aCA9IG87DQogIA0KICBmdW5jdGlvbiBjYigpe30NCiAgdHJ5IHsNCiAgICBmLnJlZHVjZVJpZ2h0KGNiKTsNCiAgfQ0KICBjYXRjaCAoZSkgew0KICAgIGlmIChlIGluc3RhbmNlb2YgVHlwZUVycm9yKSB7DQogICAgICByZXR1cm4gdHJ1ZTsNCiAgICB9DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.reduceRight throws TypeError if 'length' is 0 (subclassed Array, length overridden with obj with valueOf), no initVal","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-5-6.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjIvMTUuNC40LjIyLTUtNy5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodCB0aHJvd3MgVHlwZUVycm9yIGlmICdsZW5ndGgnIGlzIDAgKHN1YmNsYXNzZWQgQXJyYXksIGxlbmd0aCBvdmVycmlkZGVuIHdpdGggb2JqIHcvbyB2YWx1ZU9mICh0b1N0cmluZykpLCBubyBpbml0VmFsDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgZm9vLnByb3RvdHlwZSA9IG5ldyBBcnJheSgxLCAyLCAzKTsNCiAgZnVuY3Rpb24gZm9vKCkge30NCiAgdmFyIGYgPSBuZXcgZm9vKCk7DQogIA0KICB2YXIgbyA9IHsgdG9TdHJpbmc6IGZ1bmN0aW9uICgpIHsgcmV0dXJuICcwJzt9fTsNCiAgZi5sZW5ndGggPSBvOw0KICANCiAgLy8gb2JqZWN0cyBpbmhlcml0IHRoZSBkZWZhdWx0IHZhbHVlT2YgbWV0aG9kIG9mIHRoZSBPYmplY3Qgb2JqZWN0Ow0KICAvLyB0aGF0IHNpbXBseSByZXR1cm5zIHRoZSBpdHNlbGYuIFNpbmNlIHRoZSBkZWZhdWx0IHZhbHVlT2YoKSBtZXRob2QNCiAgLy8gZG9lcyBub3QgcmV0dXJuIGEgcHJpbWl0aXZlIHZhbHVlLCBFUyBuZXh0IHRyaWVzIHRvIGNvbnZlcnQgdGhlIG9iamVjdA0KICAvLyB0byBhIG51bWJlciBieSBjYWxsaW5nIGl0cyB0b1N0cmluZygpIG1ldGhvZCBhbmQgY29udmVydGluZyB0aGUNCiAgLy8gcmVzdWx0aW5nIHN0cmluZyB0byBhIG51bWJlci4NCg0KICBmdW5jdGlvbiBjYigpe30NCiAgdHJ5IHsNCiAgICBmLnJlZHVjZVJpZ2h0KGNiKTsNCiAgfQ0KICBjYXRjaCAoZSkgew0KICAgIGlmIChlIGluc3RhbmNlb2YgVHlwZUVycm9yKSB7DQogICAgICByZXR1cm4gdHJ1ZTsNCiAgICB9DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.reduceRight throws TypeError if 'length' is 0 (subclassed Array, length overridden with obj w/o valueOf (toString)), no initVal","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-5-7.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjIvMTUuNC40LjIyLTUtOC5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodCB0aHJvd3MgVHlwZUVycm9yIGlmICdsZW5ndGgnIGlzIDAgKHN1YmNsYXNzZWQgQXJyYXksIGxlbmd0aCBvdmVycmlkZGVuIHdpdGggW10pLCBubyBpbml0VmFsDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgZm9vLnByb3RvdHlwZSA9IG5ldyBBcnJheSgxLCAyLCAzKTsNCiAgZnVuY3Rpb24gZm9vKCkge30NCiAgdmFyIGYgPSBuZXcgZm9vKCk7DQogIA0KICBmLmxlbmd0aCA9IFtdOw0KICANCiAgLy8gb2JqZWN0cyBpbmhlcml0IHRoZSBkZWZhdWx0IHZhbHVlT2YgbWV0aG9kIG9mIHRoZSBPYmplY3Qgb2JqZWN0Ow0KICAvLyB0aGF0IHNpbXBseSByZXR1cm5zIHRoZSBpdHNlbGYuIFNpbmNlIHRoZSBkZWZhdWx0IHZhbHVlT2YoKSBtZXRob2QNCiAgLy8gZG9lcyBub3QgcmV0dXJuIGEgcHJpbWl0aXZlIHZhbHVlLCBFUyBuZXh0IHRyaWVzIHRvIGNvbnZlcnQgdGhlIG9iamVjdA0KICAvLyB0byBhIG51bWJlciBieSBjYWxsaW5nIGl0cyB0b1N0cmluZygpIG1ldGhvZCBhbmQgY29udmVydGluZyB0aGUNCiAgLy8gcmVzdWx0aW5nIHN0cmluZyB0byBhIG51bWJlci4NCiAgLy8NCiAgLy8gVGhlIHRvU3RyaW5nKCApIG1ldGhvZCBvbiBBcnJheSBjb252ZXJ0cyB0aGUgYXJyYXkgZWxlbWVudHMgdG8gc3RyaW5ncywNCiAgLy8gdGhlbiByZXR1cm5zIHRoZSByZXN1bHQgb2YgY29uY2F0ZW5hdGluZyB0aGVzZSBzdHJpbmdzLCB3aXRoIGNvbW1hcyBpbg0KICAvLyBiZXR3ZWVuLiBBbiBhcnJheSB3aXRoIG5vIGVsZW1lbnRzIGNvbnZlcnRzIHRvIHRoZSBlbXB0eSBzdHJpbmcsIHdoaWNoDQogIC8vIGNvbnZlcnRzIHRvIHRoZSBudW1iZXIgMC4gSWYgYW4gYXJyYXkgaGFzIGEgc2luZ2xlIGVsZW1lbnQgdGhhdCBpcyBhDQogIC8vIG51bWJlciBuLCB0aGUgYXJyYXkgY29udmVydHMgdG8gYSBzdHJpbmcgcmVwcmVzZW50YXRpb24gb2Ygbiwgd2hpY2ggaXMNCiAgLy8gdGhlbiBjb252ZXJ0ZWQgYmFjayB0byBuIGl0c2VsZi4gSWYgYW4gYXJyYXkgY29udGFpbnMgbW9yZSB0aGFuIG9uZSBlbGVtZW50LA0KICAvLyBvciBpZiBpdHMgb25lIGVsZW1lbnQgaXMgbm90IGEgbnVtYmVyLCB0aGUgYXJyYXkgY29udmVydHMgdG8gTmFOLg0KDQogIGZ1bmN0aW9uIGNiKCl7fQ0KICB0cnkgew0KICAgIGYucmVkdWNlUmlnaHQoY2IpOw0KICB9DQogIGNhdGNoIChlKSB7DQogICAgaWYgKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpIHsNCiAgICAgIHJldHVybiB0cnVlOw0KICAgIH0NCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.reduceRight throws TypeError if 'length' is 0 (subclassed Array, length overridden with []), no initVal","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-5-8.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjIvMTUuNC40LjIyLTUtOS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodCAtICdpbml0aWFsVmFsdWUnIGlzIHJldHVybmVkIGlmICdsZW4nIGlzIDAgYW5kICdpbml0aWFsVmFsdWUnIGlzIHByZXNlbnQNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBpbml0aWFsVmFsdWUgPSAxMDsNCiAgICAgICAgcmV0dXJuIGluaXRpYWxWYWx1ZSA9PT0gW10ucmVkdWNlUmlnaHQoZnVuY3Rpb24gKCkgeyB9LCBpbml0aWFsVmFsdWUpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.reduceRight - 'initialValue' is returned if 'len' is 0 and 'initialValue' is present","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-5-9.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjIvMTUuNC40LjIyLTctMS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodCByZXR1cm5zIGluaXRpYWxWYWx1ZSBpZiAnbGVuZ3RoJyBpcyAwIGFuZCBpbml0aWFsVmFsdWUgaXMgcHJlc2VudCAoZW1wdHkgYXJyYXkpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgZnVuY3Rpb24gY2IoKXt9DQogIA0KICB0cnkgew0KICAgIGlmKFtdLnJlZHVjZVJpZ2h0KGNiLDEpID09PSAxKQ0KICAgICAgcmV0dXJuIHRydWU7DQogIH0NCiAgY2F0Y2ggKGUpIHsgIH0gIA0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.reduceRight returns initialValue if 'length' is 0 and initialValue is present (empty array)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-7-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjIvMTUuNC40LjIyLTctMTAuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQgLSAnaW5pdGlhbFZhbHVlJyBpcyBwcmVzZW50DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgc3RyID0gImluaXRpYWxWYWx1ZSBpcyBwcmVzZW50IjsNCiAgICAgICAgcmV0dXJuIHN0ciA9PT0gW10ucmVkdWNlUmlnaHQoZnVuY3Rpb24gKCkgeyB9LCBzdHIpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.reduceRight - 'initialValue' is present","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-7-10.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjIvMTUuNC40LjIyLTctMTEuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQgLSAnaW5pdGlhbFZhbHVlJyBpcyBub3QgcHJlc2VudA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHN0ciA9ICJpbml0aWFsVmFsdWUgaXMgbm90IHByZXNlbnQiOw0KICAgICAgICByZXR1cm4gc3RyID09PSBbc3RyXS5yZWR1Y2VSaWdodChmdW5jdGlvbiAoKSB7IH0pOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.reduceRight - 'initialValue' is not present","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-7-11.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjIvMTUuNC40LjIyLTctMi5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodCByZXR1cm5zIGluaXRpYWxWYWx1ZSBpZiAnbGVuZ3RoJyBpcyAwIGFuZCBpbml0aWFsVmFsdWUgaXMgcHJlc2VudCAoc3ViY2xhc3NlZCBBcnJheSwgbGVuZ3RoIG92ZXJyaWRkZW4gdG8gbnVsbCAodHlwZSBjb252ZXJzaW9uKSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICBmb28ucHJvdG90eXBlID0gbmV3IEFycmF5KDEsIDIsIDMpOw0KICBmdW5jdGlvbiBmb28oKSB7fQ0KICB2YXIgZiA9IG5ldyBmb28oKTsNCiAgZi5sZW5ndGggPSBudWxsOw0KICANCiAgZnVuY3Rpb24gY2IoKXt9DQogIHRyeSB7DQogICAgaWYoZi5yZWR1Y2VSaWdodChjYiwxKSA9PT0gMSkNCiAgICAgIHJldHVybiB0cnVlOw0KICB9DQogIGNhdGNoIChlKSB7ICB9ICANCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.reduceRight returns initialValue if 'length' is 0 and initialValue is present (subclassed Array, length overridden to null (type conversion))","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-7-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjIvMTUuNC40LjIyLTctMy5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodCByZXR1cm5zIGluaXRpYWxWYWx1ZSBpZiAnbGVuZ3RoJyBpcyAwIGFuZCBpbml0aWFsVmFsdWUgaXMgcHJlc2VudCAoc3ViY2xhc3NlZCBBcnJheSwgbGVuZ3RoIG92ZXJyaWRkZW4gdG8gZmFsc2UgKHR5cGUgY29udmVyc2lvbikpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgZm9vLnByb3RvdHlwZSA9IG5ldyBBcnJheSgxLCAyLCAzKTsNCiAgZnVuY3Rpb24gZm9vKCkge30NCiAgdmFyIGYgPSBuZXcgZm9vKCk7DQogIGYubGVuZ3RoID0gZmFsc2U7DQogIA0KICBmdW5jdGlvbiBjYigpe30NCiAgdHJ5IHsNCiAgICBpZihmLnJlZHVjZVJpZ2h0KGNiLDEpID09PSAxKQ0KICAgICAgcmV0dXJuIHRydWU7DQogIH0NCiAgY2F0Y2ggKGUpIHsgIH0gIA0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.reduceRight returns initialValue if 'length' is 0 and initialValue is present (subclassed Array, length overridden to false (type conversion))","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-7-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjIvMTUuNC40LjIyLTctNC5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodCByZXR1cm5zIGluaXRpYWxWYWx1ZSBpZiAnbGVuZ3RoJyBpcyAwIGFuZCBpbml0aWFsVmFsdWUgaXMgcHJlc2VudCAoc3ViY2xhc3NlZCBBcnJheSwgbGVuZ3RoIG92ZXJyaWRkZW4gdG8gMCAodHlwZSBjb252ZXJzaW9uKSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICBmb28ucHJvdG90eXBlID0gbmV3IEFycmF5KDEsIDIsIDMpOw0KICBmdW5jdGlvbiBmb28oKSB7fQ0KICB2YXIgZiA9IG5ldyBmb28oKTsNCiAgZi5sZW5ndGggPSAwOw0KICANCiAgZnVuY3Rpb24gY2IoKXt9DQogIHRyeSB7DQogICAgaWYoZi5yZWR1Y2VSaWdodChjYiwxKSA9PT0gMSkNCiAgICAgIHJldHVybiB0cnVlOw0KICB9DQogIGNhdGNoIChlKSB7ICB9ICANCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.reduceRight returns initialValue if 'length' is 0 and initialValue is present (subclassed Array, length overridden to 0 (type conversion))","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-7-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjIvMTUuNC40LjIyLTctNS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodCByZXR1cm5zIGluaXRpYWxWYWx1ZSBpZiAnbGVuZ3RoJyBpcyAwIGFuZCBpbml0aWFsVmFsdWUgaXMgcHJlc2VudCAoc3ViY2xhc3NlZCBBcnJheSwgbGVuZ3RoIG92ZXJyaWRkZW4gdG8gJzAnICh0eXBlIGNvbnZlcnNpb24pKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIGZvby5wcm90b3R5cGUgPSBuZXcgQXJyYXkoMSwgMiwgMyk7DQogIGZ1bmN0aW9uIGZvbygpIHt9DQogIHZhciBmID0gbmV3IGZvbygpOw0KICBmLmxlbmd0aCA9ICcwJzsNCiAgDQogIGZ1bmN0aW9uIGNiKCl7fQ0KICB0cnkgew0KICAgIGlmKGYucmVkdWNlUmlnaHQoY2IsMSkgPT09IDEpDQogICAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KICBjYXRjaCAoZSkgeyAgfSAgDQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduceRight returns initialValue if 'length' is 0 and initialValue is present (subclassed Array, length overridden to '0' (type conversion))","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-7-5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjIvMTUuNC40LjIyLTctNi5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodCByZXR1cm5zIGluaXRpYWxWYWx1ZSBpZiAnbGVuZ3RoJyBpcyAwIGFuZCBpbml0aWFsVmFsdWUgaXMgcHJlc2VudCAoc3ViY2xhc3NlZCBBcnJheSwgbGVuZ3RoIG92ZXJyaWRkZW4gd2l0aCBvYmogd2l0aCB2YWx1ZU9mKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIGZvby5wcm90b3R5cGUgPSBuZXcgQXJyYXkoMSwgMiwgMyk7DQogIGZ1bmN0aW9uIGZvbygpIHt9DQogIHZhciBmID0gbmV3IGZvbygpOw0KICANCiAgdmFyIG8gPSB7IHZhbHVlT2Y6IGZ1bmN0aW9uICgpIHsgcmV0dXJuIDA7fX07DQogIGYubGVuZ3RoID0gbzsNCiAgDQogIGZ1bmN0aW9uIGNiKCl7fQ0KICB0cnkgew0KICAgIGlmKGYucmVkdWNlUmlnaHQoY2IsMSkgPT09IDEpDQogICAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KICBjYXRjaCAoZSkgeyAgfSAgDQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduceRight returns initialValue if 'length' is 0 and initialValue is present (subclassed Array, length overridden with obj with valueOf)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-7-6.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjIvMTUuNC40LjIyLTctNy5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodCByZXR1cm5zIGluaXRpYWxWYWx1ZSBpZiAnbGVuZ3RoJyBpcyAwIGFuZCBpbml0aWFsVmFsdWUgaXMgcHJlc2VudCAoc3ViY2xhc3NlZCBBcnJheSwgbGVuZ3RoIG92ZXJyaWRkZW4gd2l0aCBvYmogdy9vIHZhbHVlT2YgKHRvU3RyaW5nKSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICBmb28ucHJvdG90eXBlID0gbmV3IEFycmF5KDEsIDIsIDMpOw0KICBmdW5jdGlvbiBmb28oKSB7fQ0KICB2YXIgZiA9IG5ldyBmb28oKTsNCiAgDQogIHZhciBvID0geyB0b1N0cmluZzogZnVuY3Rpb24gKCkgeyByZXR1cm4gJzAnO319Ow0KICBmLmxlbmd0aCA9IG87DQogIA0KICAvLyBvYmplY3RzIGluaGVyaXQgdGhlIGRlZmF1bHQgdmFsdWVPZiBtZXRob2Qgb2YgdGhlIE9iamVjdCBvYmplY3Q7DQogIC8vIHRoYXQgc2ltcGx5IHJldHVybnMgdGhlIGl0c2VsZi4gU2luY2UgdGhlIGRlZmF1bHQgdmFsdWVPZigpIG1ldGhvZA0KICAvLyBkb2VzIG5vdCByZXR1cm4gYSBwcmltaXRpdmUgdmFsdWUsIEVTIG5leHQgdHJpZXMgdG8gY29udmVydCB0aGUgb2JqZWN0DQogIC8vIHRvIGEgbnVtYmVyIGJ5IGNhbGxpbmcgaXRzIHRvU3RyaW5nKCkgbWV0aG9kIGFuZCBjb252ZXJ0aW5nIHRoZQ0KICAvLyByZXN1bHRpbmcgc3RyaW5nIHRvIGEgbnVtYmVyLg0KDQogIGZ1bmN0aW9uIGNiKCl7fQ0KICB0cnkgew0KICAgIGlmKGYucmVkdWNlUmlnaHQoY2IsMSkgPT09IDEpDQogICAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KICBjYXRjaCAoZSkgeyAgfSAgDQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduceRight returns initialValue if 'length' is 0 and initialValue is present (subclassed Array, length overridden with obj w/o valueOf (toString))","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-7-7.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjIvMTUuNC40LjIyLTctOC5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodCByZXR1cm5zIGluaXRpYWxWYWx1ZSBpZiAnbGVuZ3RoJyBpcyAwIGFuZCBpbml0aWFsVmFsdWUgaXMgcHJlc2VudCAoc3ViY2xhc3NlZCBBcnJheSwgbGVuZ3RoIG92ZXJyaWRkZW4gd2l0aCBbXSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICBmb28ucHJvdG90eXBlID0gbmV3IEFycmF5KDEsIDIsIDMpOw0KICBmdW5jdGlvbiBmb28oKSB7fQ0KICB2YXIgZiA9IG5ldyBmb28oKTsNCiAgDQogIGYubGVuZ3RoID0gW107DQogIA0KICAvLyBvYmplY3RzIGluaGVyaXQgdGhlIGRlZmF1bHQgdmFsdWVPZiBtZXRob2Qgb2YgdGhlIE9iamVjdCBvYmplY3Q7DQogIC8vIHRoYXQgc2ltcGx5IHJldHVybnMgdGhlIGl0c2VsZi4gU2luY2UgdGhlIGRlZmF1bHQgdmFsdWVPZigpIG1ldGhvZA0KICAvLyBkb2VzIG5vdCByZXR1cm4gYSBwcmltaXRpdmUgdmFsdWUsIEVTIG5leHQgdHJpZXMgdG8gY29udmVydCB0aGUgb2JqZWN0DQogIC8vIHRvIGEgbnVtYmVyIGJ5IGNhbGxpbmcgaXRzIHRvU3RyaW5nKCkgbWV0aG9kIGFuZCBjb252ZXJ0aW5nIHRoZQ0KICAvLyByZXN1bHRpbmcgc3RyaW5nIHRvIGEgbnVtYmVyLg0KICAvLw0KICAvLyBUaGUgdG9TdHJpbmcoICkgbWV0aG9kIG9uIEFycmF5IGNvbnZlcnRzIHRoZSBhcnJheSBlbGVtZW50cyB0byBzdHJpbmdzLA0KICAvLyB0aGVuIHJldHVybnMgdGhlIHJlc3VsdCBvZiBjb25jYXRlbmF0aW5nIHRoZXNlIHN0cmluZ3MsIHdpdGggY29tbWFzIGluDQogIC8vIGJldHdlZW4uIEFuIGFycmF5IHdpdGggbm8gZWxlbWVudHMgY29udmVydHMgdG8gdGhlIGVtcHR5IHN0cmluZywgd2hpY2gNCiAgLy8gY29udmVydHMgdG8gdGhlIG51bWJlciAwLiBJZiBhbiBhcnJheSBoYXMgYSBzaW5nbGUgZWxlbWVudCB0aGF0IGlzIGENCiAgLy8gbnVtYmVyIG4sIHRoZSBhcnJheSBjb252ZXJ0cyB0byBhIHN0cmluZyByZXByZXNlbnRhdGlvbiBvZiBuLCB3aGljaCBpcw0KICAvLyB0aGVuIGNvbnZlcnRlZCBiYWNrIHRvIG4gaXRzZWxmLiBJZiBhbiBhcnJheSBjb250YWlucyBtb3JlIHRoYW4gb25lIGVsZW1lbnQsDQogIC8vIG9yIGlmIGl0cyBvbmUgZWxlbWVudCBpcyBub3QgYSBudW1iZXIsIHRoZSBhcnJheSBjb252ZXJ0cyB0byBOYU4uDQoNCiAgZnVuY3Rpb24gY2IoKXt9DQogIHRyeSB7DQogICAgaWYoZi5yZWR1Y2VSaWdodChjYiwxKSA9PT0gMSkNCiAgICAgIHJldHVybiB0cnVlOw0KICB9DQogIGNhdGNoIChlKSB7ICB9ICANCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.reduceRight returns initialValue if 'length' is 0 and initialValue is present (subclassed Array, length overridden with [])","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-7-8.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjIvMTUuNC40LjIyLTctOS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodCByZXR1cm5zIGluaXRpYWxWYWx1ZSBpZiAnbGVuZ3RoJyBpcyAwIGFuZCBpbml0aWFsVmFsdWUgaXMgcHJlc2VudCAoc3ViY2xhc3NlZCBBcnJheSwgbGVuZ3RoIG92ZXJyaWRkZW4gd2l0aCBbMF0pDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgZm9vLnByb3RvdHlwZSA9IG5ldyBBcnJheSgxLCAyLCAzKTsNCiAgZnVuY3Rpb24gZm9vKCkge30NCiAgdmFyIGYgPSBuZXcgZm9vKCk7DQogIA0KICBmLmxlbmd0aCA9IFswXTsNCiAgDQogIC8vIG9iamVjdHMgaW5oZXJpdCB0aGUgZGVmYXVsdCB2YWx1ZU9mIG1ldGhvZCBvZiB0aGUgT2JqZWN0IG9iamVjdDsNCiAgLy8gdGhhdCBzaW1wbHkgcmV0dXJucyB0aGUgaXRzZWxmLiBTaW5jZSB0aGUgZGVmYXVsdCB2YWx1ZU9mKCkgbWV0aG9kDQogIC8vIGRvZXMgbm90IHJldHVybiBhIHByaW1pdGl2ZSB2YWx1ZSwgRVMgbmV4dCB0cmllcyB0byBjb252ZXJ0IHRoZSBvYmplY3QNCiAgLy8gdG8gYSBudW1iZXIgYnkgY2FsbGluZyBpdHMgdG9TdHJpbmcoKSBtZXRob2QgYW5kIGNvbnZlcnRpbmcgdGhlDQogIC8vIHJlc3VsdGluZyBzdHJpbmcgdG8gYSBudW1iZXIuDQogIC8vDQogIC8vIFRoZSB0b1N0cmluZyggKSBtZXRob2Qgb24gQXJyYXkgY29udmVydHMgdGhlIGFycmF5IGVsZW1lbnRzIHRvIHN0cmluZ3MsDQogIC8vIHRoZW4gcmV0dXJucyB0aGUgcmVzdWx0IG9mIGNvbmNhdGVuYXRpbmcgdGhlc2Ugc3RyaW5ncywgd2l0aCBjb21tYXMgaW4NCiAgLy8gYmV0d2Vlbi4gQW4gYXJyYXkgd2l0aCBubyBlbGVtZW50cyBjb252ZXJ0cyB0byB0aGUgZW1wdHkgc3RyaW5nLCB3aGljaA0KICAvLyBjb252ZXJ0cyB0byB0aGUgbnVtYmVyIDAuIElmIGFuIGFycmF5IGhhcyBhIHNpbmdsZSBlbGVtZW50IHRoYXQgaXMgYQ0KICAvLyBudW1iZXIgbiwgdGhlIGFycmF5IGNvbnZlcnRzIHRvIGEgc3RyaW5nIHJlcHJlc2VudGF0aW9uIG9mIG4sIHdoaWNoIGlzDQogIC8vIHRoZW4gY29udmVydGVkIGJhY2sgdG8gbiBpdHNlbGYuIElmIGFuIGFycmF5IGNvbnRhaW5zIG1vcmUgdGhhbiBvbmUgZWxlbWVudCwNCiAgLy8gb3IgaWYgaXRzIG9uZSBlbGVtZW50IGlzIG5vdCBhIG51bWJlciwgdGhlIGFycmF5IGNvbnZlcnRzIHRvIE5hTi4NCg0KICBmdW5jdGlvbiBjYigpe30NCiAgdHJ5IHsNCiAgICBpZihmLnJlZHVjZVJpZ2h0KGNiLDEpID09PSAxKQ0KICAgICAgcmV0dXJuIHRydWU7DQogIH0NCiAgY2F0Y2ggKGUpIHsgIH0gIA0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.reduceRight returns initialValue if 'length' is 0 and initialValue is present (subclassed Array, length overridden with [0])","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-7-9.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjIvMTUuNC40LjIyLTgtYi0xLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnJlZHVjZVJpZ2h0IC0gbm8gb2JzZXJ2YWJsZSBlZmZlY3RzIG9jY3VyIGlmICdsZW4nIGlzIDANCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KDQogICAgICAgIHZhciBvYmogPSB7IGxlbmd0aDogMCB9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICIwIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgICAgIHJldHVybiAxMDsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodC5jYWxsKG9iaiwgZnVuY3Rpb24gKCkgeyB9KTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZXgpIHsNCiAgICAgICAgICAgIHJldHVybiAhYWNjZXNzZWQ7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.reduceRight - no observable effects occur if 'len' is 0","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-8-b-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjIvMTUuNC40LjIyLTgtYi0yLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnJlZHVjZVJpZ2h0IC0gbW9kaWZpY2F0aW9ucyB0byBsZW5ndGggZG9uJ3QgY2hhbmdlIG51bWJlciBvZiBpdGVyYXRpb25zIGluIHN0ZXAgOQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBjYWxsZWQgPSAwOw0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGNhbGxlZCsrOw0KICAgICAgICAgICAgcmV0dXJuIHByZXZWYWwgKyBjdXJWYWw7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgYXJyID0gWzAsIDEsIDIsIDNdOw0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyLCAiNCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIGFyci5sZW5ndGggPSAyOw0KICAgICAgICAgICAgICAgIHJldHVybiAxMDsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIHByZVZhbCA9IGFyci5yZWR1Y2VSaWdodChjYWxsYmFja2ZuKTsNCg0KICAgICAgICByZXR1cm4gcHJlVmFsID09PSAxMSAmJiBjYWxsZWQgPT09IDI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduceRight - modifications to length don't change number of iterations in step 9","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-8-b-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjIvMTUuNC40LjIyLTgtYi0zLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnJlZHVjZVJpZ2h0IC0gIHdoaWxlIGxvb3AgaXMgYnJlYWtlbiBvbmNlICdrUHJlc2VudCcgaXMgdHJ1ZQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGNhbGxlZCA9IDA7DQogICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gZmFsc2U7DQogICAgICAgIHZhciBmaXJzdENhbGxlZCA9IDA7DQogICAgICAgIHZhciBzZWNvbmRDYWxsZWQgPSAwOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgdmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgaWYgKGNhbGxlZCA9PT0gMCkgew0KICAgICAgICAgICAgICAgIHRlc3RSZXN1bHQgPSAoaWR4ID09PSAxKTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIGNhbGxlZCsrOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIGFyciA9IFssICwgLCBdOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnIsICIxIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgZmlyc3RDYWxsZWQrKzsNCiAgICAgICAgICAgICAgICByZXR1cm4gOTsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgIjIiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICBzZWNvbmRDYWxsZWQrKzsNCiAgICAgICAgICAgICAgICByZXR1cm4gMTE7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIGFyci5yZWR1Y2VSaWdodChjYWxsYmFja2ZuKTsNCg0KICAgICAgICByZXR1cm4gdGVzdFJlc3VsdCAmJiBmaXJzdENhbGxlZCA9PT0gMSAmJiBzZWNvbmRDYWxsZWQgPT09IDE7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduceRight - while loop is breaken once 'kPresent' is true","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-8-b-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjIvMTUuNC40LjIyLTgtYi1paS0xLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnJlZHVjZVJpZ2h0IC0gYWRkZWQgcHJvcGVydGllcyBpbiBzdGVwIDIgYXJlIHZpc2libGUgaGVyZQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikgeyB9DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgImxlbmd0aCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIG9ialsyXSA9ICJhY2N1bXVsYXRvciI7DQogICAgICAgICAgICAgICAgcmV0dXJuIDM7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQuY2FsbChvYmosIGNhbGxiYWNrZm4pID09PSAiYWNjdW11bGF0b3IiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.reduceRight - added properties in step 2 are visible here","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-8-b-ii-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjIvMTUuNC40LjIyLTgtYi1paS0yLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnJlZHVjZVJpZ2h0IC0gZGVsZXRlZCBwcm9wZXJ0aWVzIGluIHN0ZXAgMiBhcmUgdmlzaWJsZSBoZXJlDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgb2JqID0geyAyOiAiYWNjdW11bGF0b3IiLCAzOiAiYW5vdGhlciIgfTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAibGVuZ3RoIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgZGVsZXRlIG9ialsyXTsNCiAgICAgICAgICAgICAgICByZXR1cm4gNTsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgcmV0dXJuICJhY2N1bXVsYXRvciIgIT09IEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodC5jYWxsKG9iaiwgZnVuY3Rpb24gKCkgeyB9KTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.reduceRight - deleted properties in step 2 are visible here","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-8-b-ii-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjIvMTUuNC40LjIyLTgtYi1paWktMS0xLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnJlZHVjZVJpZ2h0IC0gZWxlbWVudCB0byBiZSByZXRyaWV2ZWQgaXMgb3duIGRhdGEgcHJvcGVydHkgb24gYW4gQXJyYXktbGlrZSBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gZmFsc2U7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgaWYgKGlkeCA9PT0gMCkgew0KICAgICAgICAgICAgICAgIHRlc3RSZXN1bHQgPSAocHJldlZhbCA9PT0gMSk7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0geyAwOiAwLCAxOiAxLCBsZW5ndGg6IDIgfTsNCg0KICAgICAgICBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQuY2FsbChvYmosIGNhbGxiYWNrZm4pOw0KICAgICAgICByZXR1cm4gdGVzdFJlc3VsdDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.reduceRight - element to be retrieved is own data property on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-8-b-iii-1-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjIvMTUuNC40LjIyLTgtYi1paWktMS0xMC5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodCAtIGVsZW1lbnQgdG8gYmUgcmV0cmlldmVkIGlzIG93biBhY2Nlc3NvciBwcm9wZXJ0eSBvbiBhbiBBcnJheQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gZmFsc2U7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgaWYgKGlkeCA9PT0gMikgew0KICAgICAgICAgICAgICAgIHRlc3RSZXN1bHQgPSAoY3VyVmFsID09PSAyKTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBhcnIgPSBbMCwgMSwgLCAzXTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyLCAiMiIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiAyOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBhcnIucmVkdWNlUmlnaHQoY2FsbGJhY2tmbik7DQogICAgICAgIHJldHVybiB0ZXN0UmVzdWx0Ow0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.reduceRight - element to be retrieved is own accessor property on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-8-b-iii-1-10.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjIvMTUuNC40LjIyLTgtYi1paWktMS0xMS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodCAtIGVsZW1lbnQgdG8gYmUgcmV0cmlldmVkIGlzIG93biBhY2Nlc3NvciBwcm9wZXJ0eSB0aGF0IG92ZXJyaWRlcyBhbiBpbmhlcml0ZWQgZGF0YSBwcm9wZXJ0eSBvbiBhbiBBcnJheS1saWtlIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHRlc3RSZXN1bHQgPSBmYWxzZTsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBpZiAoaWR4ID09PSAxKSB7DQogICAgICAgICAgICAgICAgdGVzdFJlc3VsdCA9IChwcmV2VmFsID09PSAiMjAiKTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBwcm90byA9IHsgMDogMCwgMTogMSwgMjogMiB9Ow0KDQogICAgICAgIHZhciBDb24gPSBmdW5jdGlvbiAoKSB7IH07DQogICAgICAgIENvbi5wcm90b3R5cGUgPSBwcm90bzsNCg0KICAgICAgICB2YXIgY2hpbGQgPSBuZXcgQ29uKCk7DQogICAgICAgIGNoaWxkLmxlbmd0aCA9IDM7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGNoaWxkLCAiMiIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiAiMjAiOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQuY2FsbChjaGlsZCwgY2FsbGJhY2tmbik7DQogICAgICAgIHJldHVybiB0ZXN0UmVzdWx0Ow0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.reduceRight - element to be retrieved is own accessor property that overrides an inherited data property on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-8-b-iii-1-11.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjIvMTUuNC40LjIyLTgtYi1paWktMS0xMi5qcw0KICogQGRlc2NyaXB0aW9uICBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQgLSBlbGVtZW50IHRvIGJlIHJldHJpZXZlZCBpcyBvd24gYWNjZXNzb3IgcHJvcGVydHkgdGhhdCBvdmVycmlkZXMgYW4gaW5oZXJpdGVkIGRhdGEgcHJvcGVydHkgb24gYW4gQXJyYXkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gZmFsc2U7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgaWYgKGlkeCA9PT0gMSkgew0KICAgICAgICAgICAgICAgIHRlc3RSZXN1bHQgPSAocHJldlZhbCA9PT0gIjIwIik7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlWzJdID0gMjsNCiAgICAgICAgICAgIHZhciBhcnIgPSBbMCwgMV07DQoNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnIsICIyIiwgew0KICAgICAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gIjIwIjsNCiAgICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgIGFyci5yZWR1Y2VSaWdodChjYWxsYmFja2ZuKTsNCiAgICAgICAgICAgIHJldHVybiB0ZXN0UmVzdWx0Ow0KDQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgQXJyYXkucHJvdG90eXBlWzJdOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduceRight - element to be retrieved is own accessor property that overrides an inherited data property on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-8-b-iii-1-12.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjIvMTUuNC40LjIyLTgtYi1paWktMS0xMy5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodCAtIGVsZW1lbnQgdG8gYmUgcmV0cmlldmVkIGlzIG93biBhY2Nlc3NvciBwcm9wZXJ0eSB0aGF0IG92ZXJyaWRlcyBhbiBpbmhlcml0ZWQgYWNjZXNzb3IgcHJvcGVydHkgb24gYW4gQXJyYXktbGlrZSBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICANCiAgICAgICAgdmFyIHRlc3RSZXN1bHQgPSBmYWxzZTsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBpZiAoaWR4ID09PSAxKSB7DQogICAgICAgICAgICAgICAgdGVzdFJlc3VsdCA9IChwcmV2VmFsID09PSAiMjAiKTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBwcm90byA9IHsgMDogMCwgMTogMSB9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShwcm90bywgIjIiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gMjsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIENvbiA9IGZ1bmN0aW9uICgpIHsgfTsNCiAgICAgICAgQ29uLnByb3RvdHlwZSA9IHByb3RvOw0KDQogICAgICAgIHZhciBjaGlsZCA9IG5ldyBDb24oKTsNCiAgICAgICAgY2hpbGQubGVuZ3RoID0gMzsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoY2hpbGQsICIyIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuICIyMCI7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodC5jYWxsKGNoaWxkLCBjYWxsYmFja2ZuKTsNCiAgICAgICAgcmV0dXJuIHRlc3RSZXN1bHQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduceRight - element to be retrieved is own accessor property that overrides an inherited accessor property on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-8-b-iii-1-13.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjIvMTUuNC40LjIyLTgtYi1paWktMS0xNC5qcw0KICogQGRlc2NyaXB0aW9uICBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQgLSBlbGVtZW50IHRvIGJlIHJldHJpZXZlZCBpcyBvd24gYWNjZXNzb3IgcHJvcGVydHkgdGhhdCBvdmVycmlkZXMgYW4gaW5oZXJpdGVkIGFjY2Vzc29yIHByb3BlcnR5IG9uIGFuIEFycmF5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgdGVzdFJlc3VsdCA9IGZhbHNlOw0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGlmIChpZHggPT09IDEpIHsNCiAgICAgICAgICAgICAgICB0ZXN0UmVzdWx0ID0gKHByZXZWYWwgPT09ICIyMCIpOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShBcnJheS5wcm90b3R5cGUsICIyIiwgew0KICAgICAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gMjsNCiAgICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgIHZhciBhcnIgPSBbMCwgMSwgLCBdOw0KDQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyLCAiMiIsIHsNCiAgICAgICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuICIyMCI7DQogICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICBhcnIucmVkdWNlUmlnaHQoY2FsbGJhY2tmbik7DQogICAgICAgICAgICByZXR1cm4gdGVzdFJlc3VsdDsNCg0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIEFycmF5LnByb3RvdHlwZVsyXTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.reduceRight - element to be retrieved is own accessor property that overrides an inherited accessor property on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-8-b-iii-1-14.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjIvMTUuNC40LjIyLTgtYi1paWktMS0xNS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodCAtIGVsZW1lbnQgdG8gYmUgcmV0cmlldmVkIGlzIGluaGVyaXRlZCBhY2Nlc3NvciBwcm9wZXJ0eSBvbiBhbiBBcnJheS1saWtlIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHRlc3RSZXN1bHQgPSBmYWxzZTsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBpZiAoaWR4ID09PSAxKSB7DQogICAgICAgICAgICAgICAgdGVzdFJlc3VsdCA9IChwcmV2VmFsID09PSAyKTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBwcm90byA9IHsgMDogMCwgMTogMSB9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShwcm90bywgIjIiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gMjsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIENvbiA9IGZ1bmN0aW9uICgpIHsgfTsNCiAgICAgICAgQ29uLnByb3RvdHlwZSA9IHByb3RvOw0KDQogICAgICAgIHZhciBjaGlsZCA9IG5ldyBDb24oKTsNCiAgICAgICAgY2hpbGQubGVuZ3RoID0gMzsNCg0KICAgICAgICBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQuY2FsbChjaGlsZCwgY2FsbGJhY2tmbik7DQogICAgICAgIHJldHVybiB0ZXN0UmVzdWx0Ow0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.reduceRight - element to be retrieved is inherited accessor property on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-8-b-iii-1-15.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjIvMTUuNC40LjIyLTgtYi1paWktMS0xNi5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodCAtIGVsZW1lbnQgdG8gYmUgcmV0cmlldmVkIGlzIGluaGVyaXRlZCBhY2Nlc3NvciBwcm9wZXJ0eSBvbiBhbiBBcnJheQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHRlc3RSZXN1bHQgPSBmYWxzZTsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBpZiAoaWR4ID09PSAxKSB7DQogICAgICAgICAgICAgICAgdGVzdFJlc3VsdCA9IChwcmV2VmFsID09PSAyKTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoQXJyYXkucHJvdG90eXBlLCAiMiIsIHsNCiAgICAgICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDI7DQogICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICB2YXIgYXJyID0gWzAsIDEsICwgXTsNCg0KICAgICAgICAgICAgYXJyLnJlZHVjZVJpZ2h0KGNhbGxiYWNrZm4pOw0KICAgICAgICAgICAgcmV0dXJuIHRlc3RSZXN1bHQ7DQoNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBBcnJheS5wcm90b3R5cGVbMl07DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.reduceRight - element to be retrieved is inherited accessor property on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-8-b-iii-1-16.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjIvMTUuNC40LjIyLTgtYi1paWktMS0xNy5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodCAtIGVsZW1lbnQgdG8gYmUgcmV0cmlldmVkIGlzIG93biBhY2Nlc3NvciBwcm9wZXJ0eSB3aXRob3V0IGEgZ2V0IGZ1bmN0aW9uIG9uIGFuIEFycmF5LWxpa2Ugb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgdGVzdFJlc3VsdCA9IGZhbHNlOw0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGlmIChpZHggPT09IDEpIHsNCiAgICAgICAgICAgICAgICB0ZXN0UmVzdWx0ID0gKHR5cGVvZiBwcmV2VmFsID09PSAidW5kZWZpbmVkIik7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0geyAwOiAwLCAxOiAxLCBsZW5ndGg6IDMgfTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiMiIsIHsNCiAgICAgICAgICAgIHNldDogZnVuY3Rpb24gKCkgeyB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodC5jYWxsKG9iaiwgY2FsbGJhY2tmbik7DQogICAgICAgIHJldHVybiB0ZXN0UmVzdWx0Ow0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.reduceRight - element to be retrieved is own accessor property without a get function on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-8-b-iii-1-17.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjIvMTUuNC40LjIyLTgtYi1paWktMS0xOC5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodCAtIGVsZW1lbnQgdG8gYmUgcmV0cmlldmVkIGlzIG93biBhY2Nlc3NvciBwcm9wZXJ0eSB3aXRob3V0IGEgZ2V0IGZ1bmN0aW9uIG9uIGFuIEFycmF5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgdGVzdFJlc3VsdCA9IGZhbHNlOw0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGlmIChpZHggPT09IDEpIHsNCiAgICAgICAgICAgICAgICB0ZXN0UmVzdWx0ID0gKHR5cGVvZiBwcmV2VmFsID09PSAidW5kZWZpbmVkIik7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgYXJyID0gWzAsIDFdOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnIsICIyIiwgew0KICAgICAgICAgICAgc2V0OiBmdW5jdGlvbiAoKSB7IH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgYXJyLnJlZHVjZVJpZ2h0KGNhbGxiYWNrZm4pOw0KICAgICAgICByZXR1cm4gdGVzdFJlc3VsdDsNCg0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.reduceRight - element to be retrieved is own accessor property without a get function on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-8-b-iii-1-18.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjIvMTUuNC40LjIyLTgtYi1paWktMS0xOS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodCAtIGVsZW1lbnQgdG8gYmUgcmV0cmlldmVkIGlzIG93biBhY2Nlc3NvciBwcm9wZXJ0eSB3aXRob3V0IGEgZ2V0IGZ1bmN0aW9uIHRoYXQgb3ZlcnJpZGVzIGFuIGluaGVyaXRlZCBhY2Nlc3NvciBwcm9wZXJ0eSBvbiBhbiBBcnJheS1saWtlIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHRlc3RSZXN1bHQgPSBmYWxzZTsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBpZiAoaWR4ID09PSAxKSB7DQogICAgICAgICAgICAgICAgdGVzdFJlc3VsdCA9ICh0eXBlb2YgcHJldlZhbCA9PT0gInVuZGVmaW5lZCIpOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5wcm90b3R5cGVbMl0gPSAyOw0KDQogICAgICAgICAgICB2YXIgb2JqID0geyAwOiAwLCAxOiAxLCBsZW5ndGg6IDMgfTsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICIyIiwgew0KICAgICAgICAgICAgICAgIHNldDogZnVuY3Rpb24gKCkgeyB9LA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodC5jYWxsKG9iaiwgY2FsbGJhY2tmbik7DQogICAgICAgICAgICByZXR1cm4gdGVzdFJlc3VsdDsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBPYmplY3QucHJvdG90eXBlWzJdOw0KICAgICAgICB9DQoNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.reduceRight - element to be retrieved is own accessor property without a get function that overrides an inherited accessor property on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-8-b-iii-1-19.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjIvMTUuNC40LjIyLTgtYi1paWktMS0yLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnJlZHVjZVJpZ2h0IC0gZWxlbWVudCB0byBiZSByZXRyaWV2ZWQgaXMgb3duIGRhdGEgcHJvcGVydHkgb24gYW4gQXJyYXkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gZmFsc2U7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgaWYgKGlkeCA9PT0gMSkgew0KICAgICAgICAgICAgICAgIHRlc3RSZXN1bHQgPSAocHJldlZhbCA9PT0gMik7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgYXJyID0gWzAsIDEsIDJdOw0KDQogICAgICAgIGFyci5yZWR1Y2VSaWdodChjYWxsYmFja2ZuKTsNCiAgICAgICAgcmV0dXJuIHRlc3RSZXN1bHQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduceRight - element to be retrieved is own data property on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-8-b-iii-1-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjIvMTUuNC40LjIyLTgtYi1paWktMS0yMC5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodCAtIGVsZW1lbnQgdG8gYmUgcmV0cmlldmVkIGlzIG93biBhY2Nlc3NvciBwcm9wZXJ0eSB3aXRob3V0IGEgZ2V0IGZ1bmN0aW9uIHRoYXQgb3ZlcnJpZGVzIGFuIGluaGVyaXRlZCBhY2Nlc3NvciBwcm9wZXJ0eSBvbiBhbiBBcnJheQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHRlc3RSZXN1bHQgPSBmYWxzZTsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBpZiAoaWR4ID09PSAxKSB7DQogICAgICAgICAgICAgICAgdGVzdFJlc3VsdCA9ICh0eXBlb2YgcHJldlZhbCA9PT0gInVuZGVmaW5lZCIpOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIEFycmF5LnByb3RvdHlwZVsyXSA9IDI7DQogICAgICAgICAgICB2YXIgYXJyID0gWzAsIDFdOw0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgIjIiLCB7DQogICAgICAgICAgICAgICAgc2V0OiBmdW5jdGlvbiAoKSB7IH0sDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgYXJyLnJlZHVjZVJpZ2h0KGNhbGxiYWNrZm4pOw0KICAgICAgICAgICAgcmV0dXJuIHRlc3RSZXN1bHQ7DQoNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBBcnJheS5wcm90b3R5cGVbMl07DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.reduceRight - element to be retrieved is own accessor property without a get function that overrides an inherited accessor property on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-8-b-iii-1-20.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjIvMTUuNC40LjIyLTgtYi1paWktMS0yMS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodCAtIGVsZW1lbnQgdG8gYmUgcmV0cmlldmVkIGlzIGluaGVyaXRlZCBhY2Nlc3NvciBwcm9wZXJ0eSB3aXRob3V0IGEgZ2V0IGZ1bmN0aW9uIG9uIGFuIEFycmF5LWxpa2Ugb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgdGVzdFJlc3VsdCA9IGZhbHNlOw0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGlmIChpZHggPT09IDEpIHsNCiAgICAgICAgICAgICAgICB0ZXN0UmVzdWx0ID0gKHR5cGVvZiBwcmV2VmFsID09PSAidW5kZWZpbmVkIik7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgcHJvdG8gPSB7IDA6IDAsIDE6IDEgfTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkocHJvdG8sICIyIiwgew0KICAgICAgICAgICAgc2V0OiBmdW5jdGlvbiAoKSB7IH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIENvbiA9IGZ1bmN0aW9uICgpIHsgfTsNCiAgICAgICAgQ29uLnByb3RvdHlwZSA9IHByb3RvOw0KDQogICAgICAgIHZhciBjaGlsZCA9IG5ldyBDb24oKTsNCiAgICAgICAgY2hpbGQubGVuZ3RoID0gMzsNCg0KICAgICAgICBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQuY2FsbChjaGlsZCwgY2FsbGJhY2tmbik7DQogICAgICAgIHJldHVybiB0ZXN0UmVzdWx0Ow0KDQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduceRight - element to be retrieved is inherited accessor property without a get function on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-8-b-iii-1-21.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjIvMTUuNC40LjIyLTgtYi1paWktMS0yMi5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodCAtIGVsZW1lbnQgdG8gYmUgcmV0cmlldmVkIGlzIGluaGVyaXRlZCBhY2Nlc3NvciBwcm9wZXJ0eSB3aXRob3V0IGEgZ2V0IGZ1bmN0aW9uIG9uIGFuIEFycmF5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgdGVzdFJlc3VsdCA9IGZhbHNlOw0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGlmIChpZHggPT09IDEpIHsNCiAgICAgICAgICAgICAgICB0ZXN0UmVzdWx0ID0gKHR5cGVvZiBwcmV2VmFsID09PSAidW5kZWZpbmVkIik7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KEFycmF5LnByb3RvdHlwZSwgIjIiLCB7DQogICAgICAgICAgICAgICAgc2V0OiBmdW5jdGlvbiAoKSB7IH0sDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgdmFyIGFyciA9IFswLCAxLCAsIF07DQoNCiAgICAgICAgICAgIGFyci5yZWR1Y2VSaWdodChjYWxsYmFja2ZuKTsNCiAgICAgICAgICAgIHJldHVybiB0ZXN0UmVzdWx0Ow0KDQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgQXJyYXkucHJvdG90eXBlWzJdOw0KICAgICAgICB9DQoNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.reduceRight - element to be retrieved is inherited accessor property without a get function on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-8-b-iii-1-22.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjIvMTUuNC40LjIyLTgtYi1paWktMS0yMy5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodCAtIFRoaXMgb2JqZWN0IGlzIHRoZSBnbG9iYWwgb2JqZWN0IHdoaWNoIGNvbnRhaW5zIGluZGV4IHByb3BlcnR5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgdGVzdFJlc3VsdCA9IGZhbHNlOw0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGlmIChpZHggPT09IDEpIHsNCiAgICAgICAgICAgICAgICB0ZXN0UmVzdWx0ID0gKHByZXZWYWwgPT09IDIpOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIHZhciBvbGRMZW4gPSBmbkdsb2JhbE9iamVjdCgpLmxlbmd0aDsNCiAgICAgICAgICAgIGZuR2xvYmFsT2JqZWN0KClbMF0gPSAwOw0KICAgICAgICAgICAgZm5HbG9iYWxPYmplY3QoKVsxXSA9IDE7DQogICAgICAgICAgICBmbkdsb2JhbE9iamVjdCgpWzJdID0gMjsNCiAgICAgICAgICAgIGZuR2xvYmFsT2JqZWN0KCkubGVuZ3RoID0gMzsNCg0KICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlLnJlZHVjZVJpZ2h0LmNhbGwoZm5HbG9iYWxPYmplY3QoKSwgY2FsbGJhY2tmbik7DQogICAgICAgICAgICByZXR1cm4gdGVzdFJlc3VsdDsNCg0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIGZuR2xvYmFsT2JqZWN0KClbMF07DQogICAgICAgICAgICBkZWxldGUgZm5HbG9iYWxPYmplY3QoKVsxXTsNCiAgICAgICAgICAgIGRlbGV0ZSBmbkdsb2JhbE9iamVjdCgpWzJdOw0KICAgICAgICAgICAgZm5HbG9iYWxPYmplY3QoKS5sZW5ndGggPSBvbGRMZW47DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.reduceRight - This object is the global object which contains index property","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-8-b-iii-1-23.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjIvMTUuNC40LjIyLTgtYi1paWktMS0yNS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodCAtIFRoaXMgb2JqZWN0IGlzIHRoZSBBcmd1bWVudHMgb2JqZWN0IHdoaWNoIGltcGxlbWVudHMgaXRzIG93biBwcm9wZXJ0eSBnZXQgbWV0aG9kIChudW1iZXIgb2YgYXJndW1lbnRzIGlzIGxlc3MgdGhhbiBudW1iZXIgb2YgcGFyYW1ldGVycykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gZmFsc2U7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgaWYgKGlkeCA9PT0gMCkgew0KICAgICAgICAgICAgICAgIHRlc3RSZXN1bHQgPSAocHJldlZhbCA9PT0gMSk7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgZnVuYyA9IGZ1bmN0aW9uIChhLCBiLCBjKSB7DQogICAgICAgICAgICBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQuY2FsbChhcmd1bWVudHMsIGNhbGxiYWNrZm4pOw0KICAgICAgICB9Ow0KDQogICAgICAgIGZ1bmMoMCwgMSk7DQogICAgICAgIHJldHVybiB0ZXN0UmVzdWx0Ow0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.reduceRight - This object is the Arguments object which implements its own property get method (number of arguments is less than number of parameters)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-8-b-iii-1-25.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjIvMTUuNC40LjIyLTgtYi1paWktMS0yNi5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodCAtIFRoaXMgb2JqZWN0IGlzIHRoZSBBcmd1bWVudHMgb2JqZWN0IHdoaWNoIGltcGxlbWVudHMgaXRzIG93biBwcm9wZXJ0eSBnZXQgbWV0aG9kIChudW1iZXIgb2YgYXJndW1lbnRzIGVxdWFscyBudW1iZXIgb2YgcGFyYW1ldGVycykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gZmFsc2U7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgaWYgKGlkeCA9PT0gMSkgew0KICAgICAgICAgICAgICAgIHRlc3RSZXN1bHQgPSAocHJldlZhbCA9PT0gMik7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgZnVuYyA9IGZ1bmN0aW9uIChhLCBiLCBjKSB7DQogICAgICAgICAgICBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQuY2FsbChhcmd1bWVudHMsIGNhbGxiYWNrZm4pOw0KICAgICAgICB9Ow0KDQogICAgICAgIGZ1bmMoMCwgMSwgMik7DQogICAgICAgIHJldHVybiB0ZXN0UmVzdWx0Ow0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.reduceRight - This object is the Arguments object which implements its own property get method (number of arguments equals number of parameters)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-8-b-iii-1-26.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjIvMTUuNC40LjIyLTgtYi1paWktMS0yNy5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodCAtIFRoaXMgb2JqZWN0IGlzIHRoZSBBcmd1bWVudHMgb2JqZWN0IHdoaWNoIGltcGxlbWVudHMgaXRzIG93biBwcm9wZXJ0eSBnZXQgbWV0aG9kIChudW1iZXIgb2YgYXJndW1lbnRzIGlzIGdyZWF0ZXIgdGhhbiBudW1iZXIgb2YgcGFyYW1ldGVycykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gZmFsc2U7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgaWYgKGlkeCA9PT0gMikgew0KICAgICAgICAgICAgICAgIHRlc3RSZXN1bHQgPSAocHJldlZhbCA9PT0gMyk7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgZnVuYyA9IGZ1bmN0aW9uIChhLCBiLCBjKSB7DQogICAgICAgICAgICBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQuY2FsbChhcmd1bWVudHMsIGNhbGxiYWNrZm4pOw0KICAgICAgICB9Ow0KDQogICAgICAgIGZ1bmMoMCwgMSwgMiwgMyk7DQogICAgICAgIHJldHVybiB0ZXN0UmVzdWx0Ow0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.reduceRight - This object is the Arguments object which implements its own property get method (number of arguments is greater than number of parameters)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-8-b-iii-1-27.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjIvMTUuNC40LjIyLTgtYi1paWktMS0yOC5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodCBhcHBsaWVkIHRvIFN0cmluZyBvYmplY3QsIHdoaWNoIGltcGxlbWVudHMgaXRzIG93biBwcm9wZXJ0eSBnZXQgbWV0aG9kDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgdGVzdFJlc3VsdCA9IGZhbHNlOw0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGlmIChpZHggPT09IDEpIHsNCiAgICAgICAgICAgICAgICB0ZXN0UmVzdWx0ID0gKHByZXZWYWwgPT09ICIyIik7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgc3RyID0gbmV3IFN0cmluZygiMDEyIik7DQoNCiAgICAgICAgQXJyYXkucHJvdG90eXBlLnJlZHVjZVJpZ2h0LmNhbGwoc3RyLCBjYWxsYmFja2ZuKTsNCiAgICAgICAgcmV0dXJuIHRlc3RSZXN1bHQ7DQoNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.reduceRight applied to String object, which implements its own property get method","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-8-b-iii-1-28.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjIvMTUuNC40LjIyLTgtYi1paWktMS0yOS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodCBhcHBsaWVkIHRvIEZ1bmN0aW9uIG9iamVjdCB3aGljaCBpbXBsZW1lbnRzIGl0cyBvd24gcHJvcGVydHkgZ2V0IG1ldGhvZA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHRlc3RSZXN1bHQgPSBmYWxzZTsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBpZiAoaWR4ID09PSAxKSB7DQogICAgICAgICAgICAgICAgdGVzdFJlc3VsdCA9IChwcmV2VmFsID09PSAyKTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSBmdW5jdGlvbiAoYSwgYiwgYykgew0KICAgICAgICAgICAgcmV0dXJuIGEgKyBiICsgYzsNCiAgICAgICAgfTsNCg0KICAgICAgICBvYmpbMF0gPSAwOw0KICAgICAgICBvYmpbMV0gPSAxOw0KICAgICAgICBvYmpbMl0gPSAyOw0KDQogICAgICAgIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodC5jYWxsKG9iaiwgY2FsbGJhY2tmbik7DQogICAgICAgIHJldHVybiB0ZXN0UmVzdWx0Ow0KDQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduceRight applied to Function object which implements its own property get method","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-8-b-iii-1-29.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjIvMTUuNC40LjIyLTgtYi1paWktMS0zLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnJlZHVjZVJpZ2h0IC0gZWxlbWVudCB0byBiZSByZXRyaWV2ZWQgaXMgb3duIGRhdGEgcHJvcGVydHkgdGhhdCBvdmVycmlkZXMgYW4gaW5oZXJpdGVkIGRhdGEgcHJvcGVydHkgb24gYW4gQXJyYXktbGlrZSBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gZmFsc2U7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgaWYgKGlkeCA9PT0gMSkgew0KICAgICAgICAgICAgICAgIHRlc3RSZXN1bHQgPSAocHJldlZhbCA9PT0gIjIwIik7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgcHJvdG8gPSB7IDA6IDAsIDE6IDEsIDI6IDIsIGxlbmd0aDogMiB9Ow0KICAgICAgICB2YXIgQ29uID0gZnVuY3Rpb24gKCkgeyB9Ow0KICAgICAgICBDb24ucHJvdG90eXBlID0gcHJvdG87DQoNCiAgICAgICAgdmFyIGNoaWxkID0gbmV3IENvbigpOw0KICAgICAgICBjaGlsZFsxXSA9ICIxMCI7DQogICAgICAgIGNoaWxkWzJdID0gIjIwIjsNCiAgICAgICAgY2hpbGQubGVuZ3RoID0gMzsNCg0KICAgICAgICBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQuY2FsbChjaGlsZCwgY2FsbGJhY2tmbik7DQogICAgICAgIHJldHVybiB0ZXN0UmVzdWx0Ow0KDQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduceRight - element to be retrieved is own data property that overrides an inherited data property on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-8-b-iii-1-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjIvMTUuNC40LjIyLTgtYi1paWktMS0zMC5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodCAtIGVsZW1lbnQgY2hhbmdlZCBieSBnZXR0ZXIgb24gY3VycmVudCBpdGVyYXRpb24gaXMgb2JzZXJ2ZWQgaW4gc3Vic2VxdWVudCBpdGVyYXRpb25zIG9uIGFuIEFycmF5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIHRlc3RSZXN1bHQgPSBmYWxzZTsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBpZiAoaWR4ID09PSAxKSB7DQogICAgICAgICAgICAgICAgdGVzdFJlc3VsdCA9IChjdXJWYWwgPT09IDEgJiYgcHJldlZhbCA9PT0gMik7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgYXJyID0gWzBdOw0KICAgICAgICB2YXIgcHJlSXRlclZpc2libGUgPSBmYWxzZTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyLCAiMSIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIGlmIChwcmVJdGVyVmlzaWJsZSkgew0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gMTsNCiAgICAgICAgICAgICAgICB9IGVsc2Ugew0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gIjIwIjsNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnIsICIyIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcHJlSXRlclZpc2libGUgPSB0cnVlOw0KICAgICAgICAgICAgICAgIHJldHVybiAyOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBhcnIucmVkdWNlUmlnaHQoY2FsbGJhY2tmbik7DQogICAgICAgIHJldHVybiB0ZXN0UmVzdWx0Ow0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.reduceRight - element changed by getter on current iteration is observed in subsequent iterations on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-8-b-iii-1-30.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjIvMTUuNC40LjIyLTgtYi1paWktMS0zMS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodCAtIGVsZW1lbnQgY2hhbmdlZCBieSBnZXR0ZXIgb24gY3VycmVudCBpdGVyYXRpb24gaXMgb2JzZXJ2ZWQgc3Vic2VxdWV0bHkgb24gYW4gQXJyYXktbGlrZSBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgdGVzdFJlc3VsdCA9IGZhbHNlOw0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGlmIChpZHggPT09IDEpIHsNCiAgICAgICAgICAgICAgICB0ZXN0UmVzdWx0ID0gKHByZXZWYWwgPT09IDIgJiYgY3VyVmFsID09PSAxKTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSB7IDA6IDAsIGxlbmd0aDogMyB9Ow0KICAgICAgICB2YXIgcHJlSXRlclZpc2libGUgPSBmYWxzZTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiMSIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIGlmIChwcmVJdGVyVmlzaWJsZSkgew0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gMTsNCiAgICAgICAgICAgICAgICB9IGVsc2Ugew0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gIjIwIjsNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICIyIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcHJlSXRlclZpc2libGUgPSB0cnVlOw0KICAgICAgICAgICAgICAgIHJldHVybiAyOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQuY2FsbChvYmosIGNhbGxiYWNrZm4pOw0KICAgICAgICByZXR1cm4gdGVzdFJlc3VsdDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.reduceRight - element changed by getter on current iteration is observed subsequetly on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-8-b-iii-1-31.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjIvMTUuNC40LjIyLTgtYi1paWktMS0zMi5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodCAtIEV4Y2VwdGlvbiBpbiBnZXR0ZXIgdGVybWluYXRlIGl0ZXJhdGlvbiBvbiBhbiBBcnJheS1saWtlIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgaWYgKGlkeCA8PSAxKSB7DQogICAgICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgMDogMCwgMTogMSwgbGVuZ3RoOiAzIH07DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICIyIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgdGhyb3cgbmV3IFJhbmdlRXJyb3IoInVuaGFuZGxlIGV4Y2VwdGlvbiBoYXBwZW5lZCBpbiBnZXR0ZXIiKTsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodC5jYWxsKG9iaiwgY2FsbGJhY2tmbik7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGV4KSB7DQogICAgICAgICAgICByZXR1cm4gKGV4IGluc3RhbmNlb2YgUmFuZ2VFcnJvcikgJiYgIWFjY2Vzc2VkOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduceRight - Exception in getter terminate iteration on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-8-b-iii-1-32.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjIvMTUuNC40LjIyLTgtYi1paWktMS0zMy5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodCAtIEV4Y2VwdGlvbiBpbiBnZXR0ZXIgdGVybWluYXRlIGl0ZXJhdGlvbiBvbiBhbiBBcnJheQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgaWYgKGlkeCA8PSAxKSB7DQogICAgICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIGFyciA9IFswLCAxXTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyLCAiMiIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHRocm93IG5ldyBSYW5nZUVycm9yKCJ1bmhhbmRsZSBleGNlcHRpb24gaGFwcGVuZWQgaW4gZ2V0dGVyIik7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBhcnIucmVkdWNlUmlnaHQoY2FsbGJhY2tmbik7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gY2F0Y2ggKGV4KSB7DQogICAgICAgICAgICByZXR1cm4gKGV4IGluc3RhbmNlb2YgUmFuZ2VFcnJvcikgJiYgIWFjY2Vzc2VkOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduceRight - Exception in getter terminate iteration on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-8-b-iii-1-33.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjIvMTUuNC40LjIyLTgtYi1paWktMS00LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnJlZHVjZVJpZ2h0IC0gZWxlbWVudCB0byBiZSByZXRyaWV2ZWQgaXMgb3duIGRhdGEgcHJvcGVydHkgdGhhdCBvdmVycmlkZXMgYW4gaW5oZXJpdGVkIGRhdGEgcHJvcGVydHkgb24gYW4gQXJyYXkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gZmFsc2U7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgaWYgKGlkeCA9PT0gMSkgew0KICAgICAgICAgICAgICAgIHRlc3RSZXN1bHQgPSAocHJldlZhbCA9PT0gMik7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlWzJdID0gIjExIjsNCiAgICAgICAgICAgIFswLCAxLCAyXS5yZWR1Y2VSaWdodChjYWxsYmFja2ZuKTsNCiAgICAgICAgICAgIHJldHVybiB0ZXN0UmVzdWx0Ow0KDQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgQXJyYXkucHJvdG90eXBlWzJdOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduceRight - element to be retrieved is own data property that overrides an inherited data property on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-8-b-iii-1-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjIvMTUuNC40LjIyLTgtYi1paWktMS01LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnJlZHVjZVJpZ2h0IC0gZWxlbWVudCB0byBiZSByZXRyaWV2ZWQgaXMgb3duIGRhdGEgcHJvcGVydHkgdGhhdCBvdmVycmlkZXMgYW4gaW5oZXJpdGVkIGFjY2Vzc29yIHByb3BlcnR5IG9uIGFuIEFycmF5LWxpa2Ugb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgdGVzdFJlc3VsdCA9IGZhbHNlOw0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGlmIChpZHggPT09IDEpIHsNCiAgICAgICAgICAgICAgICB0ZXN0UmVzdWx0ID0gKHByZXZWYWwgPT09ICIyMCIpOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIHByb3RvID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHByb3RvLCAiMiIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiAxMTsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIENvbiA9IGZ1bmN0aW9uICgpIHsgfTsNCiAgICAgICAgQ29uLnByb3RvdHlwZSA9IHByb3RvOw0KDQogICAgICAgIHZhciBjaGlsZCA9IG5ldyBDb24oKTsNCiAgICAgICAgY2hpbGQubGVuZ3RoID0gMzsNCiAgICAgICAgY2hpbGRbMF0gPSAiMCI7DQogICAgICAgIGNoaWxkWzFdID0gIjEiOw0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkocHJvdG8sICIyIiwgew0KICAgICAgICAgICAgdmFsdWU6ICIyMCIsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgQXJyYXkucHJvdG90eXBlLnJlZHVjZVJpZ2h0LmNhbGwoY2hpbGQsIGNhbGxiYWNrZm4pOw0KICAgICAgICByZXR1cm4gdGVzdFJlc3VsdDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.reduceRight - element to be retrieved is own data property that overrides an inherited accessor property on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-8-b-iii-1-5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjIvMTUuNC40LjIyLTgtYi1paWktMS02LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnJlZHVjZVJpZ2h0IC0gZWxlbWVudCB0byBiZSByZXRyaWV2ZWQgaXMgb3duIGRhdGEgcHJvcGVydHkgdGhhdCBvdmVycmlkZXMgYW4gaW5oZXJpdGVkIGFjY2Vzc29yIHByb3BlcnR5IG9uIGFuIEFycmF5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgdGVzdFJlc3VsdCA9IGZhbHNlOw0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGlmIChpZHggPT09IDEpIHsNCiAgICAgICAgICAgICAgICB0ZXN0UmVzdWx0ID0gKHByZXZWYWwgPT09IDIpOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShBcnJheS5wcm90b3R5cGUsICIyIiwgew0KICAgICAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gIjIiOw0KICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIFswLCAxLCAyXS5yZWR1Y2VSaWdodChjYWxsYmFja2ZuKTsNCiAgICAgICAgICAgIHJldHVybiB0ZXN0UmVzdWx0Ow0KDQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgQXJyYXkucHJvdG90eXBlWzJdOw0KICAgICAgICB9DQoNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.reduceRight - element to be retrieved is own data property that overrides an inherited accessor property on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-8-b-iii-1-6.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjIvMTUuNC40LjIyLTgtYi1paWktMS03LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnJlZHVjZVJpZ2h0IC0gZWxlbWVudCB0byBiZSByZXRyaWV2ZWQgaXMgaW5oZXJpdGVkIGRhdGEgcHJvcGVydHkgb24gYW4gQXJyYXktbGlrZSBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gZmFsc2U7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgaWYgKGlkeCA9PT0gMSkgew0KICAgICAgICAgICAgICAgIHRlc3RSZXN1bHQgPSAocHJldlZhbCA9PT0gMik7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgcHJvdG8gPSB7IDA6IDAsIDE6IDEsIDI6IDIsIGxlbmd0aDogMyB9Ow0KICAgICAgICB2YXIgQ29uID0gZnVuY3Rpb24gKCkgeyB9Ow0KICAgICAgICBDb24ucHJvdG90eXBlID0gcHJvdG87DQoNCiAgICAgICAgdmFyIGNoaWxkID0gbmV3IENvbigpOw0KDQogICAgICAgIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodC5jYWxsKGNoaWxkLCBjYWxsYmFja2ZuKTsNCiAgICAgICAgcmV0dXJuIHRlc3RSZXN1bHQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduceRight - element to be retrieved is inherited data property on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-8-b-iii-1-7.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjIvMTUuNC40LjIyLTgtYi1paWktMS04LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnJlZHVjZVJpZ2h0IC0gZWxlbWVudCB0byBiZSByZXRyaWV2ZWQgaXMgaW5oZXJpdGVkIGRhdGEgcHJvcGVydHkgb24gYW4gQXJyYXkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gZmFsc2U7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgaWYgKGlkeCA9PT0gMSkgew0KICAgICAgICAgICAgICAgIHRlc3RSZXN1bHQgPSAocHJldlZhbCA9PT0gMik7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlWzBdID0gMDsNCiAgICAgICAgICAgIEFycmF5LnByb3RvdHlwZVsxXSA9IDE7DQogICAgICAgICAgICBBcnJheS5wcm90b3R5cGVbMl0gPSAyOw0KICAgICAgICAgICAgWywgLCAsXS5yZWR1Y2VSaWdodChjYWxsYmFja2ZuKTsNCiAgICAgICAgICAgIHJldHVybiB0ZXN0UmVzdWx0Ow0KDQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgQXJyYXkucHJvdG90eXBlWzBdOw0KICAgICAgICAgICAgZGVsZXRlIEFycmF5LnByb3RvdHlwZVsxXTsNCiAgICAgICAgICAgIGRlbGV0ZSBBcnJheS5wcm90b3R5cGVbMl07DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.reduceRight - element to be retrieved is inherited data property on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-8-b-iii-1-8.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjIvMTUuNC40LjIyLTgtYi1paWktMS05LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnJlZHVjZVJpZ2h0IC0gZWxlbWVudCB0byBiZSByZXRyaWV2ZWQgaXMgb3duIGFjY2Vzc29yIHByb3BlcnR5IG9uIGFuIEFycmF5LWxpa2Ugb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgdGVzdFJlc3VsdCA9IGZhbHNlOw0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGlmIChpZHggPT09IDEpIHsNCiAgICAgICAgICAgICAgICB0ZXN0UmVzdWx0ID0gKHByZXZWYWwgPT09IDIpOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgMDogMCwgMTogMSwgbGVuZ3RoOiAzIH07DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICIyIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIDI7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodC5jYWxsKG9iaiwgY2FsbGJhY2tmbik7DQogICAgICAgIHJldHVybiB0ZXN0UmVzdWx0Ow0KDQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduceRight - element to be retrieved is own accessor property on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-8-b-iii-1-9.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjIvMTUuNC40LjIyLTgtYy0xLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnJlZHVjZVJpZ2h0IHRocm93cyBUeXBlRXJyb3Igd2hlbiBBcnJheSBpcyBlbXB0eSBhbmQgaW5pdGlhbFZhbHVlIGlzIG5vdCBwcmVzZW50DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsgDQogDQogIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikNCiAgew0KICB9DQoNCiAgdmFyIGFyciA9IG5ldyBBcnJheSgxMCk7DQogIHRyeSB7DQogICAgYXJyLnJlZHVjZVJpZ2h0KGNhbGxiYWNrZm4pOw0KICB9IA0KICBjYXRjaChlKSB7DQogICAgaWYoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikNCiAgICAgIHJldHVybiB0cnVlOyAgDQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.reduceRight throws TypeError when Array is empty and initialValue is not present","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-8-c-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjIvMTUuNC40LjIyLTgtYy0yLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnJlZHVjZVJpZ2h0IHRocm93cyBUeXBlRXJyb3Igd2hlbiBlbGVtZW50cyBhc3NpZ25lZCB2YWx1ZXMgYXJlIGRlbGV0ZWQgYnkgcmVkdWNpZ24gYXJyYXkgbGVuZ3RoIGFuZCBpbml0aWFsVmFsdWUgaXMgbm90IHByZXNlbnQNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgeyANCiANCiAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKQ0KICB7DQogIH0NCg0KICB2YXIgYXJyID0gbmV3IEFycmF5KDEwKTsNCiAgYXJyWzldID0gMTsNCiAgYXJyLmxlbmd0aCA9IDU7DQogIHRyeSB7DQogICAgYXJyLnJlZHVjZVJpZ2h0KGNhbGxiYWNrZm4pOw0KICB9IA0KICBjYXRjaChlKSB7DQogICAgaWYoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikNCiAgICAgIHJldHVybiB0cnVlOyAgDQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.reduceRight throws TypeError when elements assigned values are deleted by reducign array length and initialValue is not present","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-8-c-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjIvMTUuNC40LjIyLTgtYy0zLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnJlZHVjZVJpZ2h0IHRocm93cyBUeXBlRXJyb3Igd2hlbiBlbGVtZW50cyBhc3NpZ25lZCB2YWx1ZXMgYXJlIGRlbGV0ZWQgYW5kIGluaXRpYWxWYWx1ZSBpcyBub3QgcHJlc2VudA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7IA0KIA0KICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopDQogIHsNCiAgfQ0KDQogIHZhciBhcnIgPSBbMSwyLDMsNCw1XTsNCiAgZGVsZXRlIGFyclswXTsNCiAgZGVsZXRlIGFyclsxXTsNCiAgZGVsZXRlIGFyclsyXTsNCiAgZGVsZXRlIGFyclszXTsNCiAgZGVsZXRlIGFycls0XTsNCiAgdHJ5IHsNCiAgICBhcnIucmVkdWNlUmlnaHQoY2FsbGJhY2tmbik7DQogIH0gDQogIGNhdGNoKGUpIHsNCiAgICBpZihlIGluc3RhbmNlb2YgVHlwZUVycm9yKQ0KICAgICAgcmV0dXJuIHRydWU7ICANCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.reduceRight throws TypeError when elements assigned values are deleted and initialValue is not present","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-8-c-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjIvMTUuNC40LjIyLTgtYy00LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnJlZHVjZVJpZ2h0IGRvZXNuJ3QgdGhyb3cgZXJyb3Igd2hlbiBhcnJheSBoYXMgbm8gb3duIHByb3BlcnRpZXMgYnV0IHByb3RvdHlwZSBjb250YWlucyBhIHNpbmdsZSBwcm9wZXJ0eQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFyciA9IFssICwgLCBdOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBBcnJheS5wcm90b3R5cGVbMV0gPSAicHJvdG90eXBlIjsNCiAgICAgICAgICAgIGFyci5yZWR1Y2VSaWdodChmdW5jdGlvbiAoKSB7IH0pOw0KICAgICAgICAgICAgcmV0dXJuIHRydWU7DQogICAgICAgIH0gY2F0Y2ggKGV4KSB7DQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgQXJyYXkucHJvdG90eXBlWzFdOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduceRight doesn't throw error when array has no own properties but prototype contains a single property","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-8-c-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjIvMTUuNC40LjIyLTgtYy01LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnJlZHVjZVJpZ2h0IC0gc2lkZSBlZmZlY3RzIHByb2R1Y2VkIGJ5IHN0ZXAgMiBhcmUgdmlzaWJsZSB3aGVuIGFuIGV4Y2VwdGlvbiBvY2N1cnMNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7IH07DQoNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgImxlbmd0aCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgICAgICByZXR1cm4gMjsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodC5jYWxsKG9iaiwgZnVuY3Rpb24gKCkgeyB9KTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZXgpIHsNCiAgICAgICAgICAgIHJldHVybiAoZXggaW5zdGFuY2VvZiBUeXBlRXJyb3IpICYmIGFjY2Vzc2VkOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduceRight - side effects produced by step 2 are visible when an exception occurs","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-8-c-5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjIvMTUuNC40LjIyLTgtYy02LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnJlZHVjZVJpZ2h0IC0gc2lkZSBlZmZlY3RzIHByb2R1Y2VkIGJ5IHN0ZXAgMyBhcmUgdmlzaWJsZSB3aGVuIGFuIGV4Y2VwdGlvbiBvY2N1cnMNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAibGVuZ3RoIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIHsNCiAgICAgICAgICAgICAgICAgICAgdG9TdHJpbmc6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiAiMiI7DQogICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICB9Ow0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlLnJlZHVjZVJpZ2h0LmNhbGwob2JqLCBmdW5jdGlvbiAoKSB7IH0pOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChleCkgew0KICAgICAgICAgICAgcmV0dXJuIChleCBpbnN0YW5jZW9mIFR5cGVFcnJvcikgJiYgYWNjZXNzZWQ7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.reduceRight - side effects produced by step 3 are visible when an exception occurs","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-8-c-6.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjIvMTUuNC40LjIyLTgtYy03LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnJlZHVjZVJpZ2h0IC0gdGhlIGV4Y2VwdGlvbiBpcyBub3QgdGhyb3duIGlmIGV4Y2VwdGlvbiB3YXMgdGhyb3duIGJ5IHN0ZXAgMg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJsZW5ndGgiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICB0aHJvdyBuZXcgU3ludGF4RXJyb3IoKTsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodC5jYWxsKG9iaiwgZnVuY3Rpb24gKCkgeyB9KTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZXgpIHsNCiAgICAgICAgICAgIHJldHVybiAhKGV4IGluc3RhbmNlb2YgVHlwZUVycm9yKTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.reduceRight - the exception is not thrown if exception was thrown by step 2","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-8-c-7.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjIvMTUuNC40LjIyLTgtYy04LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnJlZHVjZVJpZ2h0IC0gdGhlIGV4Y2VwdGlvbiBpcyBub3QgdGhyb3duIGlmIGV4Y2VwdGlvbiB3YXMgdGhyb3duIGJ5IHN0ZXAgMw0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIG9iaiA9IHt9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJsZW5ndGgiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gew0KICAgICAgICAgICAgICAgICAgICB0b1N0cmluZzogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAgICAgICAgdGhyb3cgbmV3IFN5bnRheEVycm9yKCk7DQogICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICB9Ow0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlLnJlZHVjZVJpZ2h0LmNhbGwob2JqLCBmdW5jdGlvbiAoKSB7IH0pOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChleCkgew0KICAgICAgICAgICAgcmV0dXJuICEoZXggaW5zdGFuY2VvZiBUeXBlRXJyb3IpOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduceRight - the exception is not thrown if exception was thrown by step 3","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-8-c-8.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjIvMTUuNC40LjIyLTktMS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodCBkb2Vzbid0IGNvbnNpZGVyIG5ldyBlbGVtZW50cyB3aGljaCBpbmRleCBpcyBsYXJnZXIgdGhhbiBhcnJheSBvcmlnaW5hbCBsZW5ndGggYWRkZWQgdG8gYXJyYXkgYWZ0ZXIgaXQgaXMgY2FsbGVkLCBjb25zaWRlciBuZXcgZWxlbWVudHMgd2hpY2ggaW5kZXggaXMgc21hbGxlciB0aGFuIGFycmF5IGxlbmd0aA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgYXJyWzVdID0gNjsNCiAgICAgICAgICAgIGFyclsyXSA9IDM7DQogICAgICAgICAgICByZXR1cm4gcHJldlZhbCArIGN1clZhbDsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBhcnIgPSBbJzEnLCAyLCAsIDQsICc1J107DQogICAgICAgIHJldHVybiBhcnIucmVkdWNlUmlnaHQoY2FsbGJhY2tmbikgPT09ICI1NDMyMSI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduceRight doesn't consider new elements which index is larger than array original length added to array after it is called, consider new elements which index is smaller than array length","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjIvMTUuNC40LjIyLTktMi5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodCBjb25zaWRlcnMgbmV3IHZhbHVlIG9mIGVsZW1lbnRzIGluIGFycmF5IGFmdGVyIGl0IGlzIGNhbGxlZA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7IA0KIA0KICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopDQogIHsNCiAgICBhcnJbM10gPSAtMjsNCiAgICBhcnJbMF0gPSAtMTsNCiAgICByZXR1cm4gcHJldlZhbCArIGN1clZhbDsNCiAgfQ0KDQogIHZhciBhcnIgPSBbMSwyLDMsNCw1XTsNCiAgaWYoYXJyLnJlZHVjZVJpZ2h0KGNhbGxiYWNrZm4pID09PSAxMykNCiAgICByZXR1cm4gdHJ1ZTsgIA0KICANCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.reduceRight considers new value of elements in array after it is called","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjIvMTUuNC40LjIyLTktMy5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodCBkb2Vzbid0IGNvbnNpZGVyIHVudmlzaXRlZCBkZWxldGVkIGVsZW1lbnRzIGluIGFycmF5IGFmdGVyIHRoZSBjYWxsDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsgDQogDQogIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikgIA0KICB7DQogICAgZGVsZXRlIGFyclsxXTsNCiAgICBkZWxldGUgYXJyWzRdOw0KICAgIHJldHVybiBwcmV2VmFsICsgY3VyVmFsOyAgICANCiAgfQ0KDQogIHZhciBhcnIgPSBbJzEnLDIsMyw0LDVdOw0KICBpZihhcnIucmVkdWNlUmlnaHQoY2FsbGJhY2tmbikgPT09ICIxMjEiICkgICAgLy8gdHdvIGVsZW1lbnRzIGRlbGV0ZWQNCiAgICByZXR1cm4gdHJ1ZTsgIA0KICANCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.reduceRight doesn't consider unvisited deleted elements in array after the call","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjIvMTUuNC40LjIyLTktNC5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodCBkb2Vzbid0IGNvbnNpZGVyIHVudmlzaXRlZCBkZWxldGVkIGVsZW1lbnRzIHdoZW4gQXJyYXkubGVuZ3RoIGlzIGRlY3JlYXNlZA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7IA0KIA0KICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopDQogIHsNCiAgICBhcnIubGVuZ3RoID0gMjsNCiAgICByZXR1cm4gcHJldlZhbCArIGN1clZhbDsNCiAgfQ0KDQogIHZhciBhcnIgPSBbMSwyLDMsNCw1XTsNCiAgaWYoYXJyLnJlZHVjZVJpZ2h0KGNhbGxiYWNrZm4pID09PSAxMiApDQogICAgcmV0dXJuIHRydWU7ICANCiAgDQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduceRight doesn't consider unvisited deleted elements when Array.length is decreased","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjIvMTUuNC40LjIyLTktNS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodCAtIGNhbGxiYWNrZm4gbm90IGNhbGxlZCBmb3IgYXJyYXkgd2l0aCBvbmUgZWxlbWVudA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7IA0KIA0KICB2YXIgY2FsbENudCA9IDA7DQogIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikNCiAgew0KICAgIGNhbGxDbnQrKzsNCiAgICByZXR1cm4gMjsNCiAgfQ0KDQogIHZhciBhcnIgPSBbMV07DQogIGlmKGFyci5yZWR1Y2VSaWdodChjYWxsYmFja2ZuKSA9PT0gMSAmJiBjYWxsQ250ID09PSAwICkNCiAgICByZXR1cm4gdHJ1ZTsgICAgDQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduceRight - callbackfn not called for array with one element","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjIvMTUuNC40LjIyLTktNi5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodCB2aXNpdHMgZGVsZXRlZCBlbGVtZW50IGluIGFycmF5IGFmdGVyIHRoZSBjYWxsIHdoZW4gc2FtZSBpbmRleCBpcyBhbHNvIHByZXNlbnQgaW4gcHJvdG90eXBlDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsgDQogDQogIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikgIA0KICB7DQogICAgZGVsZXRlIGFyclsxXTsNCiAgICBkZWxldGUgYXJyWzJdOw0KICAgIHJldHVybiBwcmV2VmFsICsgY3VyVmFsOyAgICANCiAgfQ0KICBBcnJheS5wcm90b3R5cGVbMl0gPSA2Ow0KICB2YXIgYXJyID0gWycxJywyLDMsNCw1XTsNCiAgdmFyIHJlcyA9IGFyci5yZWR1Y2VSaWdodChjYWxsYmFja2ZuKTsNCiAgZGVsZXRlIEFycmF5LnByb3RvdHlwZVsyXTsNCg0KICBpZihyZXMgPT09ICIxNTEiICkgICAgLy9vbmUgZWxlbWVudCBkZWxldGVkDQogICAgcmV0dXJuIHRydWU7ICANCiAgDQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduceRight visits deleted element in array after the call when same index is also present in prototype","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-6.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjIvMTUuNC40LjIyLTktNy5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodCBub3QgYWZmZWN0IGNhbGwgd2hlbiB0aGUgYXJyYXkgaXMgZGVsZXRlZCBkdXJpbmcgdGhlIGNhbGwNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGRlbGV0ZSBvLmFycjsNCiAgICAgICAgICAgIHJldHVybiBwcmV2VmFsICsgY3VyVmFsOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG8gPSBuZXcgT2JqZWN0KCk7DQogICAgICAgIG8uYXJyID0gWycxJywgMiwgMywgNCwgNV07DQogICAgICAgIHJldHVybiBvLmFyci5yZWR1Y2VSaWdodChjYWxsYmFja2ZuKSA9PT0gIjE0MSIgJiYgIW8uaGFzT3duUHJvcGVydHkoImFyciIpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.reduceRight not affect call when the array is deleted during the call","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-7.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjIvMTUuNC40LjIyLTktOC5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodCAtIG5vIG9ic2VydmFibGUgZWZmZWN0cyBvY2N1ciBpZiAnbGVuJyBpcyAwDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbigpIHsNCiAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSB7IGxlbmd0aDogMCB9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICI1Iiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgICAgIHJldHVybiAxMDsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgQXJyYXkucHJvdG90eXBlLnJlZHVjZVJpZ2h0LmNhbGwob2JqLCBmdW5jdGlvbiAoKSB7IH0sICJpbml0aWFsVmFsdWUiKTsNCiAgICAgICAgcmV0dXJuICFhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.reduceRight - no observable effects occur if 'len' is 0","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-8.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjIvMTUuNC40LjIyLTktOS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodCAtIG1vZGlmaWNhdGlvbnMgdG8gbGVuZ3RoIHdpbGwgY2hhbmdlIG51bWJlciBvZiBpdGVyYXRpb25zDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIGNhbGxlZCA9IDA7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJlVmFsLCB2YWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBjYWxsZWQrKzsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBhcnIgPSBbMCwgMSwgMiwgM107DQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnIsICI0Iiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgYXJyLmxlbmd0aCA9IDI7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIGFyci5yZWR1Y2VSaWdodChjYWxsYmFja2ZuLCAiaW5pdGlhbFZhbHVlIik7DQoNCiAgICAgICAgcmV0dXJuIGNhbGxlZCA9PT0gMzsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.reduceRight - modifications to length will change number of iterations","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-9.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjIvMTUuNC40LjIyLTktYi0xLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnJlZHVjZVJpZ2h0IHJldHVybnMgaW5pdGlhbHZhbHVlIHdoZW4gQXJyYXkgaXMgZW1wdHkgYW5kIGluaXRpYWxWYWx1ZSBpcyBub3QgcHJlc2VudA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7IA0KIA0KICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopDQogIHsNCiAgfQ0KDQogIHZhciBhcnIgPSBuZXcgQXJyYXkoMTApOw0KICANCiAgaWYoYXJyLnJlZHVjZVJpZ2h0KGNhbGxiYWNrZm4sNSkgPT09IDUpDQogICAgcmV0dXJuIHRydWU7ICANCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.reduceRight returns initialvalue when Array is empty and initialValue is not present","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-b-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjIvMTUuNC40LjIyLTktYi0xMC5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodCAtIGRlbGV0aW5nIHByb3BlcnR5IG9mIHByb3RvdHlwZSBpbiBzdGVwIDggY2F1c2VzIGRlbGV0ZWQgaW5kZXggcHJvcGVydHkgbm90IHRvIGJlIHZpc2l0ZWQgb24gYW4gQXJyYXktbGlrZSBPYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KICAgICAgICB2YXIgdGVzdFJlc3VsdCA9IHRydWU7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmVWYWwsIHZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIGlmIChpZHggPT09IDMpIHsNCiAgICAgICAgICAgICAgICB0ZXN0UmVzdWx0ID0gZmFsc2U7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0geyAyOiAyLCBsZW5ndGg6IDIwIH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgIjUiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICBkZWxldGUgT2JqZWN0LnByb3RvdHlwZVszXTsNCiAgICAgICAgICAgICAgICByZXR1cm4gMDsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5wcm90b3R5cGVbM10gPSAxOw0KICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlLnJlZHVjZVJpZ2h0LmNhbGwob2JqLCBjYWxsYmFja2ZuKTsNCiAgICAgICAgICAgIHJldHVybiB0ZXN0UmVzdWx0ICYmIGFjY2Vzc2VkOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIE9iamVjdC5wcm90b3R5cGVbM107DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.reduceRight - deleting property of prototype in step 8 causes deleted index property not to be visited on an Array-like Object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-b-10.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjIvMTUuNC40LjIyLTktYi0xMS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodCAtIGRlbGV0aW5nIHByb3BlcnR5IG9mIHByb3RvdHlwZSBpbiBzdGVwIDggY2F1c2VzIGRlbGV0ZWQgaW5kZXggcHJvcGVydHkgbm90IHRvIGJlIHZpc2l0ZWQgb24gYW4gQXJyYXkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KICAgICAgICB2YXIgdGVzdFJlc3VsdCA9IHRydWU7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICBpZiAoaWR4ID09PSAxKSB7DQogICAgICAgICAgICAgICAgdGVzdFJlc3VsdCA9IGZhbHNlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIGFyciA9IFswLCAsICwgXTsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgIjMiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICBkZWxldGUgQXJyYXkucHJvdG90eXBlWzFdOw0KICAgICAgICAgICAgICAgIHJldHVybiAwOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlWzFdID0gMTsNCiAgICAgICAgICAgIGFyci5yZWR1Y2VSaWdodChjYWxsYmFja2ZuKTsNCiAgICAgICAgICAgIHJldHVybiB0ZXN0UmVzdWx0ICYmIGFjY2Vzc2VkOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIEFycmF5LnByb3RvdHlwZVsxXTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.reduceRight - deleting property of prototype in step 8 causes deleted index property not to be visited on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-b-11.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjIvMTUuNC40LjIyLTktYi0xMi5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodCAtIGRlbGV0aW5nIG93biBwcm9wZXJ0eSB3aXRoIHByb3RvdHlwZSBwcm9wZXJ0eSBpbiBzdGVwIDggY2F1c2VzIHByb3RvdHlwZSBpbmRleCBwcm9wZXJ0eSB0byBiZSB2aXNpdGVkIG9uIGFuIEFycmF5LWxpa2Ugb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgdGVzdFJlc3VsdCA9IGZhbHNlOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgaWYgKGlkeCA9PT0gMSAmJiBjdXJWYWwgPT09IDEpIHsNCiAgICAgICAgICAgICAgICB0ZXN0UmVzdWx0ID0gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSB7IDA6IDAsIDE6IDExMSwgbGVuZ3RoOiAxMCB9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICI0Iiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgZGVsZXRlIG9ialsxXTsNCiAgICAgICAgICAgICAgICByZXR1cm4gMDsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5wcm90b3R5cGVbMV0gPSAxOw0KICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlLnJlZHVjZVJpZ2h0LmNhbGwob2JqLCBjYWxsYmFja2ZuKTsNCiAgICAgICAgICAgIHJldHVybiB0ZXN0UmVzdWx0Ow0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIE9iamVjdC5wcm90b3R5cGVbMV07DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.reduceRight - deleting own property with prototype property in step 8 causes prototype index property to be visited on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-b-12.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjIvMTUuNC40LjIyLTktYi0xMy5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodCAtIGRlbGV0aW5nIG93biBwcm9wZXJ0eSB3aXRoIHByb3RvdHlwZSBwcm9wZXJ0eSBpbiBzdGVwIDggY2F1c2VzIHByb3RvdHlwZSBpbmRleCBwcm9wZXJ0eSB0byBiZSB2aXNpdGVkIG9uIGFuIEFycmF5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgdGVzdFJlc3VsdCA9IGZhbHNlOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgaWYgKGlkeCA9PT0gMSAmJiBjdXJWYWwgPT09IDEpIHsNCiAgICAgICAgICAgICAgICB0ZXN0UmVzdWx0ID0gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KICAgICAgICB2YXIgYXJyID0gWzAsIDExMV07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgIjIiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICBkZWxldGUgYXJyWzFdOw0KICAgICAgICAgICAgICAgIHJldHVybiAwOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlWzFdID0gMTsNCiAgICAgICAgICAgIGFyci5yZWR1Y2VSaWdodChjYWxsYmFja2ZuKTsNCiAgICAgICAgICAgIHJldHVybiB0ZXN0UmVzdWx0Ow0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIEFycmF5LnByb3RvdHlwZVsxXTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.reduceRight - deleting own property with prototype property in step 8 causes prototype index property to be visited on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-b-13.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjIvMTUuNC40LjIyLTktYi0xNC5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodCAtIGRlY3JlYXNpbmcgbGVuZ3RoIG9mIGFycmF5IGluIHN0ZXAgOCBjYXVzZXMgZGVsZXRlZCBpbmRleCBwcm9wZXJ0eSBub3QgdG8gYmUgdmlzaXRlZA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQogICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gdHJ1ZTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIGlmIChpZHggPT09IDIpIHsNCiAgICAgICAgICAgICAgICB0ZXN0UmVzdWx0ID0gZmFsc2U7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgYXJyID0gWzAsIDEsIDIsIDNdOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnIsICIzIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgYXJyLmxlbmd0aCA9IDI7DQogICAgICAgICAgICAgICAgcmV0dXJuIDA7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIGFyci5yZWR1Y2VSaWdodChjYWxsYmFja2ZuKTsNCg0KICAgICAgICByZXR1cm4gdGVzdFJlc3VsdCAmJiBhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.reduceRight - decreasing length of array in step 8 causes deleted index property not to be visited","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-b-14.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjIvMTUuNC40LjIyLTktYi0xNS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodCAtIGRlY3JlYXNpbmcgbGVuZ3RoIG9mIGFycmF5IHdpdGggcHJvdG90eXBlIHByb3BlcnR5IGluIHN0ZXAgOCBjYXVzZXMgcHJvdG90eXBlIGluZGV4IHByb3BlcnR5IHRvIGJlIHZpc2l0ZWQNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gZmFsc2U7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBpZiAoaWR4ID09PSAyICYmIGN1clZhbCA9PT0gInByb3RvdHlwZSIpIHsNCiAgICAgICAgICAgICAgICB0ZXN0UmVzdWx0ID0gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KICAgICAgICB2YXIgYXJyID0gWzAsIDEsIDIsIDNdOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoQXJyYXkucHJvdG90eXBlLCAiMiIsIHsNCiAgICAgICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuICJwcm90b3R5cGUiOw0KICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgIjMiLCB7DQogICAgICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgIGFyci5sZW5ndGggPSAyOw0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gMTsNCiAgICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgIGFyci5yZWR1Y2VSaWdodChjYWxsYmFja2ZuKTsNCg0KICAgICAgICAgICAgcmV0dXJuIHRlc3RSZXN1bHQ7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgQXJyYXkucHJvdG90eXBlWzJdOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduceRight - decreasing length of array with prototype property in step 8 causes prototype index property to be visited","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-b-15.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjIvMTUuNC40LjIyLTktYi0xNi5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodCAtIGRlY3JlYXNpbmcgbGVuZ3RoIG9mIGFycmF5IGluIHN0ZXAgOCBkb2VzIG5vdCBkZWxldGUgbm9uLWNvbmZpZ3VyYWJsZSBwcm9wZXJ0aWVzDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgdGVzdFJlc3VsdCA9IGZhbHNlOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgaWYgKGlkeCA9PT0gMiAmJiBjdXJWYWwgPT09ICJ1bmNvbmZpZ3VyYWJsZSIpIHsNCiAgICAgICAgICAgICAgICB0ZXN0UmVzdWx0ID0gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBhcnIgPSBbMCwgMSwgMiwgM107DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgIjIiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gInVuY29uZmlndXJhYmxlIjsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlDQogICAgICAgIH0pOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnIsICIzIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgYXJyLmxlbmd0aCA9IDI7DQogICAgICAgICAgICAgICAgcmV0dXJuIDE7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIGFyci5yZWR1Y2VSaWdodChjYWxsYmFja2ZuKTsNCg0KICAgICAgICByZXR1cm4gdGVzdFJlc3VsdDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.reduceRight - decreasing length of array in step 8 does not delete non-configurable properties","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-b-16.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjIvMTUuNC40LjIyLTktYi0xNy5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodCAtIHByb3BlcnRpZXMgYWRkZWQgaW50byBvd24gb2JqZWN0IGFyZSB2aXNpdGVkIG9uIGFuIEFycmF5LWxpa2Ugb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgdGVzdFJlc3VsdCA9IGZhbHNlOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgaWYgKGlkeCA9PT0gMCAmJiBjdXJWYWwgPT09IDApIHsNCiAgICAgICAgICAgICAgICB0ZXN0UmVzdWx0ID0gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSB7IGxlbmd0aDogMiB9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICIxIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgIjAiLCB7DQogICAgICAgICAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDA7DQogICAgICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgICAgIHJldHVybiAxOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQuY2FsbChvYmosIGNhbGxiYWNrZm4sICJpbml0aWFsVmFsdWUiKTsNCiAgICAgICAgcmV0dXJuIHRlc3RSZXN1bHQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduceRight - properties added into own object are visited on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-b-17.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjIvMTUuNC40LjIyLTktYi0xOC5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodCAtIHByb3BlcnRpZXMgYWRkZWQgaW50byBvd24gb2JqZWN0IGFyZSB2aXNpdGVkIG9uIGFuIEFycmF5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgdGVzdFJlc3VsdCA9IGZhbHNlOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgaWYgKGlkeCA9PT0gMSAmJiBjdXJWYWwgPT09IDEpIHsNCiAgICAgICAgICAgICAgICB0ZXN0UmVzdWx0ID0gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBhcnIgPSBbMCwgLCAyXTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyLCAiMiIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnIsICIxIiwgew0KICAgICAgICAgICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiAxOw0KICAgICAgICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgICAgICB9KTsNCiAgICAgICAgICAgICAgICByZXR1cm4gMDsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgYXJyLnJlZHVjZVJpZ2h0KGNhbGxiYWNrZm4sICJpbml0aWFsVmFsdWUiKTsNCiAgICAgICAgcmV0dXJuIHRlc3RSZXN1bHQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduceRight - properties added into own object are visited on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-b-18.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjIvMTUuNC40LjIyLTktYi0xOS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodCAtIHByb3BlcnRpZXMgYWRkZWQgdG8gcHJvdG90eXBlIGFyZSB2aXNpdGVkIG9uIGFuIEFycmF5LWxpa2Ugb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgdGVzdFJlc3VsdCA9IGZhbHNlOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgaWYgKGlkeCA9PT0gMSAmJiBjdXJWYWwgPT09IDYuOTkpIHsNCiAgICAgICAgICAgICAgICB0ZXN0UmVzdWx0ID0gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSB7IGxlbmd0aDogNiB9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICIyIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KE9iamVjdC5wcm90b3R5cGUsICIxIiwgew0KICAgICAgICAgICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiA2Ljk5Ow0KICAgICAgICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgICAgICB9KTsNCiAgICAgICAgICAgICAgICByZXR1cm4gMDsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodC5jYWxsKG9iaiwgY2FsbGJhY2tmbiwgImluaXRpYWxWYWx1ZSIpOw0KICAgICAgICAgICAgcmV0dXJuIHRlc3RSZXN1bHQ7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgT2JqZWN0LnByb3RvdHlwZVsxXTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.reduceRight - properties added to prototype are visited on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-b-19.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjIvMTUuNC40LjIyLTktYi0yLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnJlZHVjZVJpZ2h0IC0gYWRkZWQgcHJvcGVydGllcyBpbiBzdGVwIDIgYXJlIHZpc2libGUgaGVyZQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHRlc3RSZXN1bHQgPSBmYWxzZTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGlmIChpZHggPT09IDIgJiYgY3VyVmFsID09PSAiMiIpIHsNCiAgICAgICAgICAgICAgICB0ZXN0UmVzdWx0ID0gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSB7fTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAibGVuZ3RoIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgb2JqWzJdID0gIjIiOw0KICAgICAgICAgICAgICAgIHJldHVybiAzOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQuY2FsbChvYmosIGNhbGxiYWNrZm4sICJpbml0aWFsVmFsdWUiKTsNCg0KICAgICAgICByZXR1cm4gdGVzdFJlc3VsdDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.reduceRight - added properties in step 2 are visible here","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-b-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjIvMTUuNC40LjIyLTktYi0yMC5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodCAtIHByb3BlcnRpZXMgYWRkZWQgdG8gcHJvdG90eXBlIGNhbiBiZSB2aXNpdGVkIG9uIGFuIEFycmF5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgdGVzdFJlc3VsdCA9IGZhbHNlOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgaWYgKGlkeCA9PT0gMSAmJiBjdXJWYWwgPT09IDYuOTkpIHsNCiAgICAgICAgICAgICAgICB0ZXN0UmVzdWx0ID0gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBhcnIgPSBbMCwgLCAyXTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyLCAiMiIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShBcnJheS5wcm90b3R5cGUsICIxIiwgew0KICAgICAgICAgICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiA2Ljk5Ow0KICAgICAgICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgICAgICB9KTsNCiAgICAgICAgICAgICAgICByZXR1cm4gMDsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIGFyci5yZWR1Y2VSaWdodChjYWxsYmFja2ZuLCAiaW5pdGlhbFZhbHVlIik7DQogICAgICAgICAgICByZXR1cm4gdGVzdFJlc3VsdDsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBBcnJheS5wcm90b3R5cGVbMV07DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.reduceRight - properties added to prototype can be visited on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-b-20.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjIvMTUuNC40LjIyLTktYi0yMS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodCAtIGRlbGV0aW5nIG93biBwcm9wZXJ0eSBjYXVzZXMgZGVsZXRlZCBpbmRleCBwcm9wZXJ0eSBub3QgdG8gYmUgdmlzaXRlZCBvbiBhbiBBcnJheS1saWtlIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQogICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gdHJ1ZTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIGlmIChpZHggPT09IDEpIHsNCiAgICAgICAgICAgICAgICB0ZXN0UmVzdWx0ID0gZmFsc2U7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0geyAwOiAxMCwgbGVuZ3RoOiAxMCB9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICIxIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIDYuOTk7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICI1Iiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgZGVsZXRlIG9ialsxXTsNCiAgICAgICAgICAgICAgICByZXR1cm4gMDsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgQXJyYXkucHJvdG90eXBlLnJlZHVjZVJpZ2h0LmNhbGwob2JqLCBjYWxsYmFja2ZuLCAiaW5pdGlhbFZhbHVlIik7DQogICAgICAgIHJldHVybiB0ZXN0UmVzdWx0ICYmIGFjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.reduceRight - deleting own property causes deleted index property not to be visited on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-b-21.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjIvMTUuNC40LjIyLTktYi0yMi5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodCAtIGRlbGV0aW5nIG93biBwcm9wZXJ0eSBjYXVzZXMgZGVsZXRlZCBpbmRleCBwcm9wZXJ0eSBub3QgdG8gYmUgdmlzaXRlZCBvbiBhbiBBcnJheQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQogICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gdHJ1ZTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIGlmIChpZHggPT09IDEpIHsNCiAgICAgICAgICAgICAgICB0ZXN0UmVzdWx0ID0gZmFsc2U7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgYXJyID0gWzEsIDIsIDRdOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnIsICIxIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuICI2Ljk5IjsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgIjIiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICBkZWxldGUgYXJyWzFdOw0KICAgICAgICAgICAgICAgIHJldHVybiAwOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBhcnIucmVkdWNlUmlnaHQoY2FsbGJhY2tmbiwgImluaXRpYWxWYWx1ZSIpOw0KICAgICAgICByZXR1cm4gdGVzdFJlc3VsdCAmJiBhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.reduceRight - deleting own property causes deleted index property not to be visited on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-b-22.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjIvMTUuNC40LjIyLTktYi0yMy5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodCAtIGRlbGV0aW5nIHByb3BlcnR5IG9mIHByb3RvdHlwZSBjYXVzZXMgZGVsZXRlZCBpbmRleCBwcm9wZXJ0eSBub3QgdG8gYmUgdmlzaXRlZCBvbiBhbiBBcnJheS1saWtlIE9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQogICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gdHJ1ZTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIGlmIChpZHggPT09IDMpIHsNCiAgICAgICAgICAgICAgICB0ZXN0UmVzdWx0ID0gZmFsc2U7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0geyAyOiAyLCBsZW5ndGg6IDIwIH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgIjUiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICBkZWxldGUgT2JqZWN0LnByb3RvdHlwZVszXTsNCiAgICAgICAgICAgICAgICByZXR1cm4gMDsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5wcm90b3R5cGVbM10gPSAxOw0KICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlLnJlZHVjZVJpZ2h0LmNhbGwob2JqLCBjYWxsYmFja2ZuLCAiaW5pdGlhbFZhbHVlIik7DQogICAgICAgICAgICByZXR1cm4gdGVzdFJlc3VsdCAmJiBhY2Nlc3NlZDsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBPYmplY3QucHJvdG90eXBlWzNdOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduceRight - deleting property of prototype causes deleted index property not to be visited on an Array-like Object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-b-23.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjIvMTUuNC40LjIyLTktYi0yNC5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodCAtIGRlbGV0aW5nIHByb3BlcnR5IG9mIHByb3RvdHlwZSBjYXVzZXMgZGVsZXRlZCBpbmRleCBwcm9wZXJ0eSBub3QgdG8gYmUgdmlzaXRlZCBvbiBhbiBBcnJheQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQogICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gdHJ1ZTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIGlmIChpZHggPT09IDEpIHsNCiAgICAgICAgICAgICAgICB0ZXN0UmVzdWx0ID0gZmFsc2U7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgYXJyID0gWzAsICwgLCBdOw0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyLCAiMyIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIGRlbGV0ZSBBcnJheS5wcm90b3R5cGVbMV07DQogICAgICAgICAgICAgICAgcmV0dXJuIDA7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBBcnJheS5wcm90b3R5cGVbMV0gPSAxOw0KICAgICAgICAgICAgYXJyLnJlZHVjZVJpZ2h0KGNhbGxiYWNrZm4sICJpbml0aWFsVmFsdWUiKTsNCiAgICAgICAgICAgIHJldHVybiB0ZXN0UmVzdWx0ICYmIGFjY2Vzc2VkOw0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIEFycmF5LnByb3RvdHlwZVsxXTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.reduceRight - deleting property of prototype causes deleted index property not to be visited on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-b-24.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjIvMTUuNC40LjIyLTktYi0yNS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodCAtIGRlbGV0aW5nIG93biBwcm9wZXJ0eSB3aXRoIHByb3RvdHlwZSBwcm9wZXJ0eSBjYXVzZXMgcHJvdG90eXBlIGluZGV4IHByb3BlcnR5IHRvIGJlIHZpc2l0ZWQgb24gYW4gQXJyYXktbGlrZSBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gZmFsc2U7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBpZiAoaWR4ID09PSAxICYmIGN1clZhbCA9PT0gMSkgew0KICAgICAgICAgICAgICAgIHRlc3RSZXN1bHQgPSB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgMDogMCwgMTogMTExLCA0OiAxMCwgbGVuZ3RoOiAxMCB9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICI0Iiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgZGVsZXRlIG9ialsxXTsNCiAgICAgICAgICAgICAgICByZXR1cm4gMDsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5wcm90b3R5cGVbMV0gPSAxOw0KICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlLnJlZHVjZVJpZ2h0LmNhbGwob2JqLCBjYWxsYmFja2ZuLCAiaW5pdGlhbFZhbHVlIik7DQogICAgICAgICAgICByZXR1cm4gdGVzdFJlc3VsdDsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBPYmplY3QucHJvdG90eXBlWzFdOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduceRight - deleting own property with prototype property causes prototype index property to be visited on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-b-25.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjIvMTUuNC40LjIyLTktYi0yNi5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodCAtIGRlbGV0aW5nIG93biBwcm9wZXJ0eSB3aXRoIHByb3RvdHlwZSBwcm9wZXJ0eSBjYXVzZXMgcHJvdG90eXBlIGluZGV4IHByb3BlcnR5IHRvIGJlIHZpc2l0ZWQgb24gYW4gQXJyYXkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gZmFsc2U7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBpZiAoaWR4ID09PSAxICYmIGN1clZhbCA9PT0gMSkgew0KICAgICAgICAgICAgICAgIHRlc3RSZXN1bHQgPSB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQogICAgICAgIHZhciBhcnIgPSBbMCwgMTExXTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyLCAiMiIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIGRlbGV0ZSBhcnJbMV07DQogICAgICAgICAgICAgICAgcmV0dXJuIDA7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBBcnJheS5wcm90b3R5cGVbMV0gPSAxOw0KICAgICAgICAgICAgYXJyLnJlZHVjZVJpZ2h0KGNhbGxiYWNrZm4sICJpbml0aWFsVmFsdWUiKTsNCiAgICAgICAgICAgIHJldHVybiB0ZXN0UmVzdWx0Ow0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIEFycmF5LnByb3RvdHlwZVsxXTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.reduceRight - deleting own property with prototype property causes prototype index property to be visited on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-b-26.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjIvMTUuNC40LjIyLTktYi0yNy5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodCAtIGRlY3JlYXNpbmcgbGVuZ3RoIG9mIGFycmF5IGNhdXNlcyBkZWxldGVkIGluZGV4IHByb3BlcnR5IG5vdCB0byBiZSB2aXNpdGVkDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCiAgICAgICAgdmFyIHRlc3RSZXN1bHQgPSB0cnVlOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgaWYgKGlkeCA9PT0gMikgew0KICAgICAgICAgICAgICAgIHRlc3RSZXN1bHQgPSBmYWxzZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBhcnIgPSBbMCwgMSwgMiwgM107DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgIjMiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICBhcnIubGVuZ3RoID0gMjsNCiAgICAgICAgICAgICAgICByZXR1cm4gMDsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgYXJyLnJlZHVjZVJpZ2h0KGNhbGxiYWNrZm4sICJpbml0aWFsVmFsdWUiKTsNCg0KICAgICAgICByZXR1cm4gdGVzdFJlc3VsdCAmJiBhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.reduceRight - decreasing length of array causes deleted index property not to be visited","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-b-27.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjIvMTUuNC40LjIyLTktYi0yOC5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodCAtIGRlY3JlYXNpbmcgbGVuZ3RoIG9mIGFycmF5IHdpdGggcHJvdG90eXBlIHByb3BlcnR5IGNhdXNlcyBwcm90b3R5cGUgaW5kZXggcHJvcGVydHkgdG8gYmUgdmlzaXRlZA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHRlc3RSZXN1bHQgPSBmYWxzZTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGlmIChpZHggPT09IDIgJiYgY3VyVmFsID09PSAicHJvdG90eXBlIikgew0KICAgICAgICAgICAgICAgIHRlc3RSZXN1bHQgPSB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQogICAgICAgIHZhciBhcnIgPSBbMCwgMSwgMiwgM107DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShBcnJheS5wcm90b3R5cGUsICIyIiwgew0KICAgICAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gInByb3RvdHlwZSI7DQogICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyLCAiMyIsIHsNCiAgICAgICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICAgICAgYXJyLmxlbmd0aCA9IDI7DQogICAgICAgICAgICAgICAgICAgIHJldHVybiAxOw0KICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgYXJyLnJlZHVjZVJpZ2h0KGNhbGxiYWNrZm4sICJpbml0aWFsVmFsdWUiKTsNCg0KICAgICAgICAgICAgcmV0dXJuIHRlc3RSZXN1bHQ7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgQXJyYXkucHJvdG90eXBlWzJdOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduceRight - decreasing length of array with prototype property causes prototype index property to be visited","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-b-28.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjIvMTUuNC40LjIyLTktYi0yOS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodCAtIGRlY3JlYXNpbmcgbGVuZ3RoIG9mIGFycmF5IGRvZXMgbm90IGRlbGV0ZSBub24tY29uZmlndXJhYmxlIHByb3BlcnRpZXMNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gZmFsc2U7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBpZiAoaWR4ID09PSAyICYmIGN1clZhbCA9PT0gInVuY29uZmlndXJhYmxlIikgew0KICAgICAgICAgICAgICAgIHRlc3RSZXN1bHQgPSB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIGFyciA9IFswLCAxLCAyLCAzXTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyLCAiMiIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiAidW5jb25maWd1cmFibGUiOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UNCiAgICAgICAgfSk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgIjMiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICBhcnIubGVuZ3RoID0gMjsNCiAgICAgICAgICAgICAgICByZXR1cm4gMTsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgYXJyLnJlZHVjZVJpZ2h0KGNhbGxiYWNrZm4sICJpbml0aWFsVmFsdWUiKTsNCg0KICAgICAgICByZXR1cm4gdGVzdFJlc3VsdDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.reduceRight - decreasing length of array does not delete non-configurable properties","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-b-29.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjIvMTUuNC40LjIyLTktYi0zLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnJlZHVjZVJpZ2h0IC0gZGVsZXRlZCBwcm9wZXJ0aWVzIGluIHN0ZXAgMiBhcmUgdmlzaWJsZSBoZXJlDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCiAgICAgICAgdmFyIHRlc3RSZXN1bHQgPSB0cnVlOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJlVmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICBpZiAoaWR4ID09PSAyKSB7DQogICAgICAgICAgICAgICAgdGVzdFJlc3VsdCA9IGZhbHNlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgMjogIjIiLCAzOiAxMCB9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICJsZW5ndGgiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICBkZWxldGUgb2JqWzJdOw0KICAgICAgICAgICAgICAgIHJldHVybiA1Ow0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQuY2FsbChvYmosIGNhbGxiYWNrZm4sICJpbml0aWFsVmFsdWUiKTsNCg0KICAgICAgICByZXR1cm4gYWNjZXNzZWQgJiYgdGVzdFJlc3VsdDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.reduceRight - deleted properties in step 2 are visible here","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-b-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjIvMTUuNC40LjIyLTktYi00LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnJlZHVjZVJpZ2h0IC0gcHJvcGVydGllcyBhZGRlZCBpbnRvIG93biBvYmplY3QgaW4gc3RlcCA4IGNhbiBiZSB2aXNpdGVkIG9uIGFuIEFycmF5LWxpa2Ugb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgdGVzdFJlc3VsdCA9IGZhbHNlOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJlVmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBpZiAoaWR4ID09PSAwICYmIGN1clZhbCA9PT0gMCkgew0KICAgICAgICAgICAgICAgIHRlc3RSZXN1bHQgPSB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgbGVuZ3RoOiAyIH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgIjEiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiMCIsIHsNCiAgICAgICAgICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gMDsNCiAgICAgICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICAgICAgfSk7DQogICAgICAgICAgICAgICAgcmV0dXJuIDE7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodC5jYWxsKG9iaiwgY2FsbGJhY2tmbik7DQogICAgICAgIHJldHVybiB0ZXN0UmVzdWx0Ow0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.reduceRight - properties added into own object in step 8 can be visited on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-b-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjIvMTUuNC40LjIyLTktYi01LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnJlZHVjZVJpZ2h0IC0gcHJvcGVydGllcyBhZGRlZCBpbnRvIG93biBvYmplY3QgaW4gc3RlcCA4IGNhbiBiZSB2aXNpdGVkIG9uIGFuIEFycmF5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgdGVzdFJlc3VsdCA9IGZhbHNlOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJlVmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBpZiAoaWR4ID09PSAxICYmIGN1clZhbCA9PT0gMSkgew0KICAgICAgICAgICAgICAgIHRlc3RSZXN1bHQgPSB0cnVlOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIGFyciA9IFswLCAsIDJdOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnIsICIyIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgIjEiLCB7DQogICAgICAgICAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDE7DQogICAgICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgICAgIHJldHVybiAwOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBhcnIucmVkdWNlUmlnaHQoY2FsbGJhY2tmbik7DQogICAgICAgIHJldHVybiB0ZXN0UmVzdWx0Ow0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.reduceRight - properties added into own object in step 8 can be visited on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-b-5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjIvMTUuNC40LjIyLTktYi02LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnJlZHVjZVJpZ2h0IC0gcHJvcGVydGllcyBhZGRlZCB0byBwcm90b3R5cGUgaW4gc3RlcCA4IHZpc2l0ZWQgb24gYW4gQXJyYXktbGlrZSBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gZmFsc2U7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmVWYWwsIGN1clZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGlmIChpZHggPT09IDEgJiYgY3VyVmFsID09PSA2Ljk5KSB7DQogICAgICAgICAgICAgICAgdGVzdFJlc3VsdCA9IHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0geyBsZW5ndGg6IDYgfTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiMiIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShPYmplY3QucHJvdG90eXBlLCAiMSIsIHsNCiAgICAgICAgICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gNi45OTsNCiAgICAgICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICAgICAgfSk7DQogICAgICAgICAgICAgICAgcmV0dXJuIDA7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQuY2FsbChvYmosIGNhbGxiYWNrZm4pOw0KICAgICAgICAgICAgcmV0dXJuIHRlc3RSZXN1bHQ7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgT2JqZWN0LnByb3RvdHlwZVsxXTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.reduceRight - properties added to prototype in step 8 visited on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-b-6.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjIvMTUuNC40LjIyLTktYi03LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnJlZHVjZVJpZ2h0IC0gcHJvcGVydGllcyBhZGRlZCB0byBwcm90b3R5cGUgaW4gc3RlcCA4IHZpc2l0ZWQgb24gYW4gQXJyYXkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gZmFsc2U7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmVWYWwsIGN1clZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGlmIChpZHggPT09IDEgJiYgY3VyVmFsID09PSA2Ljk5KSB7DQogICAgICAgICAgICAgICAgdGVzdFJlc3VsdCA9IHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgYXJyID0gWzAsICwgMl07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgIjIiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoQXJyYXkucHJvdG90eXBlLCAiMSIsIHsNCiAgICAgICAgICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gNi45OTsNCiAgICAgICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICAgICAgfSk7DQogICAgICAgICAgICAgICAgcmV0dXJuIDA7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBhcnIucmVkdWNlUmlnaHQoY2FsbGJhY2tmbik7DQogICAgICAgICAgICByZXR1cm4gdGVzdFJlc3VsdDsNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBBcnJheS5wcm90b3R5cGVbMV07DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.reduceRight - properties added to prototype in step 8 visited on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-b-7.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjIvMTUuNC40LjIyLTktYi04LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnJlZHVjZVJpZ2h0IC0gZGVsZXRpbmcgb3duIHByb3BlcnR5IGluIHN0ZXAgOCBjYXVzZXMgZGVsZXRlZCBpbmRleCBwcm9wZXJ0eSBub3QgdG8gYmUgdmlzaXRlZCBvbiBhbiBBcnJheS1saWtlIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQogICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gdHJ1ZTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZVZhbCwgdmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgaWYgKGlkeCA9PT0gMSkgew0KICAgICAgICAgICAgICAgIHRlc3RSZXN1bHQgPSBmYWxzZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSB7IDA6IDEwLCBsZW5ndGg6IDEwIH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgIjEiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gNi45OTsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgIjUiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICBkZWxldGUgb2JqWzFdOw0KICAgICAgICAgICAgICAgIHJldHVybiAwOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQuY2FsbChvYmosIGNhbGxiYWNrZm4pOw0KICAgICAgICByZXR1cm4gdGVzdFJlc3VsdCAmJiBhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.reduceRight - deleting own property in step 8 causes deleted index property not to be visited on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-b-8.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjIvMTUuNC40LjIyLTktYi05LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnJlZHVjZVJpZ2h0IC0gZGVsZXRpbmcgb3duIHByb3BlcnR5IGluIHN0ZXAgOCBjYXVzZXMgZGVsZXRlZCBpbmRleCBwcm9wZXJ0eSBub3QgdG8gYmUgdmlzaXRlZCBvbiBhbiBBcnJheQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQogICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gdHJ1ZTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZVZhbCwgY3VyVmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgaWYgKGlkeCA9PT0gMSkgew0KICAgICAgICAgICAgICAgIHRlc3RSZXN1bHQgPSBmYWxzZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBhcnIgPSBbMF07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgIjEiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gIjYuOTkiOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyLCAiMiIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIGRlbGV0ZSBhcnJbMV07DQogICAgICAgICAgICAgICAgcmV0dXJuIDA7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIGFyci5yZWR1Y2VSaWdodChjYWxsYmFja2ZuKTsNCiAgICAgICAgcmV0dXJuIHRlc3RSZXN1bHQgJiYgYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduceRight - deleting own property in step 8 causes deleted index property not to be visited on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-b-9.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjIvMTUuNC40LjIyLTktYy0xLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnJlZHVjZVJpZ2h0IC0gY2FsbGJhY2tmbiBub3QgY2FsbGVkIGZvciBpbmRleGVzIG5ldmVyIGJlZW4gYXNzaWduZWQgdmFsdWVzDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsgDQogDQogIHZhciBjYWxsQ250ID0gMDsNCiAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKQ0KICB7DQogICAgY2FsbENudCsrOw0KICAgIHJldHVybiBjdXJWYWw7DQogIH0NCg0KICB2YXIgYXJyID0gbmV3IEFycmF5KDEwKTsNCiAgYXJyWzBdID0gYXJyWzFdID0gdW5kZWZpbmVkOyAvL2V4cGxpY2l0bHkgYXNzaWduaW5nIGEgdmFsdWUNCiAgaWYoIGFyci5yZWR1Y2VSaWdodChjYWxsYmFja2ZuKSA9PT0gdW5kZWZpbmVkICYmIGNhbGxDbnQgPT09IDEpDQogICAgcmV0dXJuIHRydWU7ICAgIA0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.reduceRight - callbackfn not called for indexes never been assigned values","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-c-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjIvMTUuNC40LjIyLTktYy1pLTEuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQgLSBlbGVtZW50IHRvIGJlIHJldHJpZXZlZCBpcyBvd24gZGF0YSBwcm9wZXJ0eSBvbiBhbiBBcnJheS1saWtlIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHRlc3RSZXN1bHQgPSBmYWxzZTsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBpZiAoaWR4ID09PSAwKSB7DQogICAgICAgICAgICAgICAgdGVzdFJlc3VsdCA9IChjdXJWYWwgPT09IDApOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgMDogMCwgMTogMSwgMjogMiwgbGVuZ3RoOiAyIH07DQogICAgICAgIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodC5jYWxsKG9iaiwgY2FsbGJhY2tmbiwgImluaXRpYWxWYWx1ZSIpOw0KICAgICAgICByZXR1cm4gdGVzdFJlc3VsdDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.reduceRight - element to be retrieved is own data property on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-c-i-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjIvMTUuNC40LjIyLTktYy1pLTEwLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnJlZHVjZVJpZ2h0IC0gZWxlbWVudCB0byBiZSByZXRyaWV2ZWQgaXMgb3duIGFjY2Vzc29yIHByb3BlcnR5IG9uIGFuIEFycmF5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICANCiAgICAgICAgdmFyIHRlc3RSZXN1bHQgPSBmYWxzZTsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBpZiAoaWR4ID09PSAxKSB7DQogICAgICAgICAgICAgICAgdGVzdFJlc3VsdCA9IChjdXJWYWwgPT09IDEpOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIGFyciA9IFswLCAsIDJdOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnIsICIxIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIDE7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIGFyci5yZWR1Y2VSaWdodChjYWxsYmFja2ZuLCAiaW5pdGlhbFZhbHVlIik7DQogICAgICAgIHJldHVybiB0ZXN0UmVzdWx0Ow0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.reduceRight - element to be retrieved is own accessor property on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-c-i-10.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjIvMTUuNC40LjIyLTktYy1pLTExLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnJlZHVjZVJpZ2h0IC0gZWxlbWVudCB0byBiZSByZXRyaWV2ZWQgaXMgb3duIGFjY2Vzc29yIHByb3BlcnR5IHRoYXQgb3ZlcnJpZGVzIGFuIGluaGVyaXRlZCBkYXRhIHByb3BlcnR5IG9uIGFuIEFycmF5LWxpa2Ugb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgdGVzdFJlc3VsdCA9IGZhbHNlOw0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGlmIChpZHggPT09IDEpIHsNCiAgICAgICAgICAgICAgICB0ZXN0UmVzdWx0ID0gKGN1clZhbCA9PT0gIjEiKTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBwcm90byA9IHsgMDogMCwgMTogMTEsIDI6IDIgfTsNCg0KICAgICAgICB2YXIgQ29uID0gZnVuY3Rpb24gKCkgeyB9Ow0KICAgICAgICBDb24ucHJvdG90eXBlID0gcHJvdG87DQoNCiAgICAgICAgdmFyIGNoaWxkID0gbmV3IENvbigpOw0KICAgICAgICBjaGlsZC5sZW5ndGggPSAzOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShjaGlsZCwgIjEiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gIjEiOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQuY2FsbChjaGlsZCwgY2FsbGJhY2tmbiwgImluaXRpYWxWYWx1ZSIpOw0KICAgICAgICByZXR1cm4gdGVzdFJlc3VsdDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.reduceRight - element to be retrieved is own accessor property that overrides an inherited data property on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-c-i-11.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjIvMTUuNC40LjIyLTktYy1pLTEyLmpzDQogKiBAZGVzY3JpcHRpb24gIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodCAtIGVsZW1lbnQgdG8gYmUgcmV0cmlldmVkIGlzIG93biBhY2Nlc3NvciBwcm9wZXJ0eSB0aGF0IG92ZXJyaWRlcyBhbiBpbmhlcml0ZWQgZGF0YSBwcm9wZXJ0eSBvbiBhbiBBcnJheQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIA0KICAgICAgICB2YXIgdGVzdFJlc3VsdCA9IGZhbHNlOw0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGlmIChpZHggPT09IDEpIHsNCiAgICAgICAgICAgICAgICB0ZXN0UmVzdWx0ID0gKGN1clZhbCA9PT0gIjEiKTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBBcnJheS5wcm90b3R5cGVbMV0gPSAxMTsNCiAgICAgICAgICAgIHZhciBhcnIgPSBbMCwgLDJdOw0KDQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyLCAiMSIsIHsNCiAgICAgICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuICIxIjsNCiAgICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgIGFyci5yZWR1Y2VSaWdodChjYWxsYmFja2ZuLCAiaW5pdGlhbFZhbHVlIik7DQogICAgICAgICAgICByZXR1cm4gdGVzdFJlc3VsdDsNCg0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIEFycmF5LnByb3RvdHlwZVsxXTsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.reduceRight - element to be retrieved is own accessor property that overrides an inherited data property on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-c-i-12.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjIvMTUuNC40LjIyLTktYy1pLTEzLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnJlZHVjZVJpZ2h0IC0gZWxlbWVudCB0byBiZSByZXRyaWV2ZWQgaXMgb3duIGFjY2Vzc29yIHByb3BlcnR5IHRoYXQgb3ZlcnJpZGVzIGFuIGluaGVyaXRlZCBhY2Nlc3NvciBwcm9wZXJ0eSBvbiBhbiBBcnJheS1saWtlIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIA0KICAgICAgICB2YXIgdGVzdFJlc3VsdCA9IGZhbHNlOw0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGlmIChpZHggPT09IDEpIHsNCiAgICAgICAgICAgICAgICB0ZXN0UmVzdWx0ID0gKGN1clZhbCA9PT0gIjEiKTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBwcm90byA9IHsgMDogMCwgMjogMn07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHByb3RvLCAiMSIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiAxMTsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIENvbiA9IGZ1bmN0aW9uICgpIHsgfTsNCiAgICAgICAgQ29uLnByb3RvdHlwZSA9IHByb3RvOw0KDQogICAgICAgIHZhciBjaGlsZCA9IG5ldyBDb24oKTsNCiAgICAgICAgY2hpbGQubGVuZ3RoID0gMzsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoY2hpbGQsICIxIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuICIxIjsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgQXJyYXkucHJvdG90eXBlLnJlZHVjZVJpZ2h0LmNhbGwoY2hpbGQsIGNhbGxiYWNrZm4sICJpbml0aWFsVmFsdWUiKTsNCiAgICAgICAgcmV0dXJuIHRlc3RSZXN1bHQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduceRight - element to be retrieved is own accessor property that overrides an inherited accessor property on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-c-i-13.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjIvMTUuNC40LjIyLTktYy1pLTE0LmpzDQogKiBAZGVzY3JpcHRpb24gIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodCAtIGVsZW1lbnQgdG8gYmUgcmV0cmlldmVkIGlzIG93biBhY2Nlc3NvciBwcm9wZXJ0eSB0aGF0IG92ZXJyaWRlcyBhbiBpbmhlcml0ZWQgYWNjZXNzb3IgcHJvcGVydHkgb24gYW4gQXJyYXkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gZmFsc2U7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgaWYgKGlkeCA9PT0gMSkgew0KICAgICAgICAgICAgICAgIHRlc3RSZXN1bHQgPSAoY3VyVmFsID09PSAiMSIpOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShBcnJheS5wcm90b3R5cGUsICIxIiwgew0KICAgICAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gMTE7DQogICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICB2YXIgYXJyID0gWzAsICwyXTsNCg0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgIjEiLCB7DQogICAgICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgIHJldHVybiAiMSI7DQogICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgYXJyLnJlZHVjZVJpZ2h0KGNhbGxiYWNrZm4sICJpbml0aWFsVmFsdWUiKTsNCiAgICAgICAgICAgIHJldHVybiB0ZXN0UmVzdWx0Ow0KDQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgQXJyYXkucHJvdG90eXBlWzFdOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduceRight - element to be retrieved is own accessor property that overrides an inherited accessor property on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-c-i-14.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjIvMTUuNC40LjIyLTktYy1pLTE1LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnJlZHVjZVJpZ2h0IC0gZWxlbWVudCB0byBiZSByZXRyaWV2ZWQgaXMgaW5oZXJpdGVkIGFjY2Vzc29yIHByb3BlcnR5IG9uIGFuIEFycmF5LWxpa2Ugb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgdGVzdFJlc3VsdCA9IGZhbHNlOw0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGlmIChpZHggPT09IDEpIHsNCiAgICAgICAgICAgICAgICB0ZXN0UmVzdWx0ID0gKGN1clZhbCA9PT0gMSk7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgcHJvdG8gPSB7IDA6IDAsIDI6IDIgfTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkocHJvdG8sICIxIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuIDE7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHZhciBDb24gPSBmdW5jdGlvbiAoKSB7IH07DQogICAgICAgIENvbi5wcm90b3R5cGUgPSBwcm90bzsNCg0KICAgICAgICB2YXIgY2hpbGQgPSBuZXcgQ29uKCk7DQogICAgICAgIGNoaWxkLmxlbmd0aCA9IDM7DQoNCiAgICAgICAgQXJyYXkucHJvdG90eXBlLnJlZHVjZVJpZ2h0LmNhbGwoY2hpbGQsIGNhbGxiYWNrZm4sICJpbml0aWFsVmFsdWUiKTsNCiAgICAgICAgcmV0dXJuIHRlc3RSZXN1bHQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduceRight - element to be retrieved is inherited accessor property on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-c-i-15.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjIvMTUuNC40LjIyLTktYy1pLTE2LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnJlZHVjZVJpZ2h0IC0gZWxlbWVudCB0byBiZSByZXRyaWV2ZWQgaXMgaW5oZXJpdGVkIGFjY2Vzc29yIHByb3BlcnR5IG9uIGFuIEFycmF5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgdGVzdFJlc3VsdCA9IGZhbHNlOw0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGlmIChpZHggPT09IDEpIHsNCiAgICAgICAgICAgICAgICB0ZXN0UmVzdWx0ID0gKGN1clZhbCA9PT0gMSk7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KEFycmF5LnByb3RvdHlwZSwgIjEiLCB7DQogICAgICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgIHJldHVybiAxOw0KICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgdmFyIGFyciA9IFswLCAsIDJdOw0KDQogICAgICAgICAgICBhcnIucmVkdWNlUmlnaHQoY2FsbGJhY2tmbiwgImluaXRpYWxWYWx1ZSIpOw0KICAgICAgICAgICAgcmV0dXJuIHRlc3RSZXN1bHQ7DQoNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBBcnJheS5wcm90b3R5cGVbMV07DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.reduceRight - element to be retrieved is inherited accessor property on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-c-i-16.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjIvMTUuNC40LjIyLTktYy1pLTE3LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnJlZHVjZVJpZ2h0IC0gZWxlbWVudCB0byBiZSByZXRyaWV2ZWQgaXMgb3duIGFjY2Vzc29yIHByb3BlcnR5IHdpdGhvdXQgYSBnZXQgZnVuY3Rpb24gb24gYW4gQXJyYXktbGlrZSBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gZmFsc2U7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgaWYgKGlkeCA9PT0gMSkgew0KICAgICAgICAgICAgICAgIHRlc3RSZXN1bHQgPSAodHlwZW9mIGN1clZhbCA9PT0gInVuZGVmaW5lZCIpOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgMDogMCwgMjogMiwgbGVuZ3RoOiAzIH07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgIjEiLCB7DQogICAgICAgICAgICBzZXQ6IGZ1bmN0aW9uICgpIHsgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQuY2FsbChvYmosIGNhbGxiYWNrZm4sICJpbml0aWFsVmFsdWUiKTsNCiAgICAgICAgcmV0dXJuIHRlc3RSZXN1bHQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduceRight - element to be retrieved is own accessor property without a get function on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-c-i-17.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjIvMTUuNC40LjIyLTktYy1pLTE4LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnJlZHVjZVJpZ2h0IC0gZWxlbWVudCB0byBiZSByZXRyaWV2ZWQgaXMgb3duIGFjY2Vzc29yIHByb3BlcnR5IHdpdGhvdXQgYSBnZXQgZnVuY3Rpb24gb24gYW4gQXJyYXkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gZmFsc2U7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgaWYgKGlkeCA9PT0gMSkgew0KICAgICAgICAgICAgICAgIHRlc3RSZXN1bHQgPSAodHlwZW9mIGN1clZhbCA9PT0gInVuZGVmaW5lZCIpOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIGFyciA9IFswLCAsIDJdOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnIsICIxIiwgew0KICAgICAgICAgICAgc2V0OiBmdW5jdGlvbiAoKSB7IH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgYXJyLnJlZHVjZVJpZ2h0KGNhbGxiYWNrZm4sICJpbml0aWFsVmFsdWUiKTsNCiAgICAgICAgcmV0dXJuIHRlc3RSZXN1bHQ7DQogICAgICAgICANCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.reduceRight - element to be retrieved is own accessor property without a get function on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-c-i-18.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjIvMTUuNC40LjIyLTktYy1pLTE5LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnJlZHVjZVJpZ2h0IC0gZWxlbWVudCB0byBiZSByZXRyaWV2ZWQgaXMgb3duIGFjY2Vzc29yIHByb3BlcnR5IHdpdGhvdXQgYSBnZXQgZnVuY3Rpb24gdGhhdCBvdmVycmlkZXMgYW4gaW5oZXJpdGVkIGFjY2Vzc29yIHByb3BlcnR5IG9uIGFuIEFycmF5LWxpa2Ugb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgdGVzdFJlc3VsdCA9IGZhbHNlOw0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGlmIChpZHggPT09IDEpIHsNCiAgICAgICAgICAgICAgICB0ZXN0UmVzdWx0ID0gKHR5cGVvZiBjdXJWYWwgPT09ICJ1bmRlZmluZWQiKTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QucHJvdG90eXBlWzFdID0gMTsNCg0KICAgICAgICAgICAgdmFyIG9iaiA9IHsgMDogMCwgMjogMiwgbGVuZ3RoOiAzIH07DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiMSIsIHsNCiAgICAgICAgICAgICAgICBzZXQ6IGZ1bmN0aW9uICgpIHsgfSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQuY2FsbChvYmosIGNhbGxiYWNrZm4sICJpbml0aWFsVmFsdWUiKTsNCiAgICAgICAgICAgIHJldHVybiB0ZXN0UmVzdWx0Ow0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIE9iamVjdC5wcm90b3R5cGVbMV07DQogICAgICAgIH0NCg0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.reduceRight - element to be retrieved is own accessor property without a get function that overrides an inherited accessor property on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-c-i-19.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjIvMTUuNC40LjIyLTktYy1pLTIuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQgLSBlbGVtZW50IHRvIGJlIHJldHJpZXZlZCBpcyBvd24gZGF0YSBwcm9wZXJ0eSBvbiBhbiBBcnJheQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHRlc3RSZXN1bHQgPSBmYWxzZTsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBpZiAoaWR4ID09PSAxKSB7DQogICAgICAgICAgICAgICAgdGVzdFJlc3VsdCA9IChjdXJWYWwgPT09IDEpOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIGFyciA9IFswLCAxLCAyXTsNCiAgICAgICAgYXJyLnJlZHVjZVJpZ2h0KGNhbGxiYWNrZm4sICJpbml0aWFsVmFsdWUiKTsNCiAgICAgICAgcmV0dXJuIHRlc3RSZXN1bHQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduceRight - element to be retrieved is own data property on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-c-i-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjIvMTUuNC40LjIyLTktYy1pLTIwLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnJlZHVjZVJpZ2h0IC0gZWxlbWVudCB0byBiZSByZXRyaWV2ZWQgaXMgb3duIGFjY2Vzc29yIHByb3BlcnR5IHdpdGhvdXQgYSBnZXQgZnVuY3Rpb24gdGhhdCBvdmVycmlkZXMgYW4gaW5oZXJpdGVkIGFjY2Vzc29yIHByb3BlcnR5IG9uIGFuIEFycmF5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgdGVzdFJlc3VsdCA9IGZhbHNlOw0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGlmIChpZHggPT09IDEpIHsNCiAgICAgICAgICAgICAgICB0ZXN0UmVzdWx0ID0gKHR5cGVvZiBjdXJWYWwgPT09ICJ1bmRlZmluZWQiKTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBBcnJheS5wcm90b3R5cGVbMV0gPSAxOw0KICAgICAgICAgICAgdmFyIGFyciA9IFswLCAsMl07DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyLCAiMSIsIHsNCiAgICAgICAgICAgICAgICBzZXQ6IGZ1bmN0aW9uICgpIHsgfSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICBhcnIucmVkdWNlUmlnaHQoY2FsbGJhY2tmbiwgImluaXRpYWxWYWx1ZSIpOw0KICAgICAgICAgICAgcmV0dXJuIHRlc3RSZXN1bHQ7DQoNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBBcnJheS5wcm90b3R5cGVbMV07DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.reduceRight - element to be retrieved is own accessor property without a get function that overrides an inherited accessor property on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-c-i-20.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjIvMTUuNC40LjIyLTktYy1pLTIxLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnJlZHVjZVJpZ2h0IC0gZWxlbWVudCB0byBiZSByZXRyaWV2ZWQgaXMgaW5oZXJpdGVkIGFjY2Vzc29yIHByb3BlcnR5IHdpdGhvdXQgYSBnZXQgZnVuY3Rpb24gb24gYW4gQXJyYXktbGlrZSBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgIA0KICAgICAgICB2YXIgdGVzdFJlc3VsdCA9IGZhbHNlOw0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGlmIChpZHggPT09IDEpIHsNCiAgICAgICAgICAgICAgICB0ZXN0UmVzdWx0ID0gKHR5cGVvZiBjdXJWYWwgPT09ICJ1bmRlZmluZWQiKTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBwcm90byA9IHsgMDogMCwgMjogMiB9Ow0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShwcm90bywgIjEiLCB7DQogICAgICAgICAgICBzZXQ6IGZ1bmN0aW9uICgpIHsgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB2YXIgQ29uID0gZnVuY3Rpb24gKCkgeyB9Ow0KICAgICAgICBDb24ucHJvdG90eXBlID0gcHJvdG87DQoNCiAgICAgICAgdmFyIGNoaWxkID0gbmV3IENvbigpOw0KICAgICAgICBjaGlsZC5sZW5ndGggPSAzOw0KDQogICAgICAgIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodC5jYWxsKGNoaWxkLCBjYWxsYmFja2ZuLCAiaW5pdGlhbFZhbHVlIik7DQogICAgICAgIHJldHVybiB0ZXN0UmVzdWx0Ow0KDQoNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.reduceRight - element to be retrieved is inherited accessor property without a get function on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-c-i-21.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjIvMTUuNC40LjIyLTktYy1pLTIyLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnJlZHVjZVJpZ2h0IC0gZWxlbWVudCB0byBiZSByZXRyaWV2ZWQgaXMgaW5oZXJpdGVkIGFjY2Vzc29yIHByb3BlcnR5IHdpdGhvdXQgYSBnZXQgZnVuY3Rpb24gb24gYW4gQXJyYXkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgIA0KICAgICAgICB2YXIgdGVzdFJlc3VsdCA9IGZhbHNlOw0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGlmIChpZHggPT09IDEpIHsNCiAgICAgICAgICAgICAgICB0ZXN0UmVzdWx0ID0gKHR5cGVvZiBjdXJWYWwgPT09ICJ1bmRlZmluZWQiKTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoQXJyYXkucHJvdG90eXBlLCAiMSIsIHsNCiAgICAgICAgICAgICAgICBzZXQ6IGZ1bmN0aW9uICgpIHsgfSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICB2YXIgYXJyID0gWzAsICwgMl07DQoNCiAgICAgICAgICAgIGFyci5yZWR1Y2VSaWdodChjYWxsYmFja2ZuLCAiaW5pdGlhbFZhbHVlIik7DQogICAgICAgICAgICByZXR1cm4gdGVzdFJlc3VsdDsNCg0KICAgICAgICB9IGZpbmFsbHkgew0KICAgICAgICAgICAgZGVsZXRlIEFycmF5LnByb3RvdHlwZVsxXTsNCiAgICAgICAgfQ0KDQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduceRight - element to be retrieved is inherited accessor property without a get function on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-c-i-22.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjIvMTUuNC40LjIyLTktYy1pLTIzLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnJlZHVjZVJpZ2h0IC0gVGhpcyBvYmplY3QgaXMgYW4gZ2xvYmFsIG9iamVjdCB3aGljaCBjb250YWlucyBpbmRleCBwcm9wZXJ0eQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHRlc3RSZXN1bHQgPSBmYWxzZTsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBpZiAoaWR4ID09PSAxKSB7DQogICAgICAgICAgICAgICAgdGVzdFJlc3VsdCA9IChjdXJWYWwgPT09IDEpOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIHZhciBvbGRMZW4gPSBmbkdsb2JhbE9iamVjdCgpLmxlbmd0aDsNCiAgICAgICAgICAgIGZuR2xvYmFsT2JqZWN0KClbMF0gPSAwOw0KICAgICAgICAgICAgZm5HbG9iYWxPYmplY3QoKVsxXSA9IDE7DQogICAgICAgICAgICBmbkdsb2JhbE9iamVjdCgpWzJdID0gMjsNCiAgICAgICAgICAgIGZuR2xvYmFsT2JqZWN0KCkubGVuZ3RoID0gMzsNCg0KICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlLnJlZHVjZVJpZ2h0LmNhbGwoZm5HbG9iYWxPYmplY3QoKSwgY2FsbGJhY2tmbiwgImluaXRpYWxWYWx1ZSIpOw0KICAgICAgICAgICAgcmV0dXJuIHRlc3RSZXN1bHQ7DQoNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBmbkdsb2JhbE9iamVjdCgpWzBdOw0KICAgICAgICAgICAgZGVsZXRlIGZuR2xvYmFsT2JqZWN0KClbMV07DQogICAgICAgICAgICBkZWxldGUgZm5HbG9iYWxPYmplY3QoKVsyXTsNCiAgICAgICAgICAgIGZuR2xvYmFsT2JqZWN0KCkubGVuZ3RoID0gb2xkTGVuOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduceRight - This object is an global object which contains index property","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-c-i-23.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjIvMTUuNC40LjIyLTktYy1pLTI1LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnJlZHVjZVJpZ2h0IC0gVGhpcyBvYmplY3QgaXMgdGhlIEFyZ3VtZW50cyBvYmplY3Qgd2hpY2ggaW1wbGVtZW50cyBpdHMgb3duIHByb3BlcnR5IGdldCBtZXRob2QgKG51bWJlciBvZiBhcmd1bWVudHMgaXMgbGVzcyB0aGFuIG51bWJlciBvZiBwYXJhbWV0ZXJzKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHRlc3RSZXN1bHQgPSBmYWxzZTsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBpZiAoaWR4ID09PSAxKSB7DQogICAgICAgICAgICAgICAgdGVzdFJlc3VsdCA9IChjdXJWYWwgPT09IDEpOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIGZ1bmMgPSBmdW5jdGlvbiAoYSwgYiwgYykgew0KICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlLnJlZHVjZVJpZ2h0LmNhbGwoYXJndW1lbnRzLCBjYWxsYmFja2ZuLCAiaW5pdGlhbFZhbHVlIik7DQogICAgICAgIH07DQoNCiAgICAgICAgZnVuYygwLCAxKTsNCiAgICAgICAgcmV0dXJuIHRlc3RSZXN1bHQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduceRight - This object is the Arguments object which implements its own property get method (number of arguments is less than number of parameters)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-c-i-25.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjIvMTUuNC40LjIyLTktYy1pLTI2LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnJlZHVjZVJpZ2h0IC0gVGhpcyBvYmplY3QgaXMgdGhlIEFyZ3VtZW50cyBvYmplY3Qgd2hpY2ggaW1wbGVtZW50cyBpdHMgb3duIHByb3BlcnR5IGdldCBtZXRob2QgKG51bWJlciBvZiBhcmd1bWVudHMgZXF1YWxzIG51bWJlciBvZiBwYXJhbWV0ZXJzKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHRlc3RSZXN1bHQgPSBmYWxzZTsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBpZiAoaWR4ID09PSAyKSB7DQogICAgICAgICAgICAgICAgdGVzdFJlc3VsdCA9IChjdXJWYWwgPT09IDIpOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIGZ1bmMgPSBmdW5jdGlvbiAoYSwgYiwgYykgew0KICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlLnJlZHVjZVJpZ2h0LmNhbGwoYXJndW1lbnRzLCBjYWxsYmFja2ZuLCAiaW5pdGlhbFZhbHVlIik7DQogICAgICAgIH07DQoNCiAgICAgICAgZnVuYygwLCAxLCAyKTsNCiAgICAgICAgcmV0dXJuIHRlc3RSZXN1bHQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduceRight - This object is the Arguments object which implements its own property get method (number of arguments equals number of parameters)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-c-i-26.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjIvMTUuNC40LjIyLTktYy1pLTI3LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnJlZHVjZVJpZ2h0IC0gVGhpcyBvYmplY3QgaXMgdGhlIEFyZ3VtZW50cyBvYmplY3Qgd2hpY2ggaW1wbGVtZW50cyBpdHMgb3duIHByb3BlcnR5IGdldCBtZXRob2QgKG51bWJlciBvZiBhcmd1bWVudHMgaXMgZ3JlYXRlciB0aGFuIG51bWJlciBvZiBwYXJhbWV0ZXJzKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHRlc3RSZXN1bHQgPSBmYWxzZTsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBpZiAoaWR4ID09PSAzKSB7DQogICAgICAgICAgICAgICAgdGVzdFJlc3VsdCA9IChjdXJWYWwgPT09IDMpOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIGZ1bmMgPSBmdW5jdGlvbiAoYSwgYiwgYykgew0KICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlLnJlZHVjZVJpZ2h0LmNhbGwoYXJndW1lbnRzLCBjYWxsYmFja2ZuLCAiaW5pdGlhbFZhbHVlIik7DQogICAgICAgIH07DQoNCiAgICAgICAgZnVuYygwLCAxLCAyLCAzKTsNCiAgICAgICAgcmV0dXJuIHRlc3RSZXN1bHQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduceRight - This object is the Arguments object which implements its own property get method (number of arguments is greater than number of parameters)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-c-i-27.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjIvMTUuNC40LjIyLTktYy1pLTI4LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnJlZHVjZVJpZ2h0IGFwcGxpZWQgdG8gU3RyaW5nIG9iamVjdCwgd2hpY2ggaW1wbGVtZW50cyBpdHMgb3duIHByb3BlcnR5IGdldCBtZXRob2QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gZmFsc2U7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgaWYgKGlkeCA9PT0gMSkgew0KICAgICAgICAgICAgICAgIHRlc3RSZXN1bHQgPSAoY3VyVmFsID09PSAiMSIpOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIHN0ciA9IG5ldyBTdHJpbmcoIjAxMiIpOw0KICAgICAgICBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQuY2FsbChzdHIsIGNhbGxiYWNrZm4sICJpbml0aWFsVmFsdWUiKTsNCiAgICAgICAgcmV0dXJuIHRlc3RSZXN1bHQ7DQoNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.reduceRight applied to String object, which implements its own property get method","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-c-i-28.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjIvMTUuNC40LjIyLTktYy1pLTI5LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnJlZHVjZVJpZ2h0IGFwcGxpZWQgdG8gRnVuY3Rpb24gb2JqZWN0IHdoaWNoIGltcGxlbWVudHMgaXRzIG93biBwcm9wZXJ0eSBnZXQgbWV0aG9kDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgdGVzdFJlc3VsdCA9IGZhbHNlOw0KICAgICAgICB2YXIgaW5pdGlhbFZhbHVlID0gMDsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBpZiAoaWR4ID09PSAxKSB7DQogICAgICAgICAgICAgICAgdGVzdFJlc3VsdCA9IChjdXJWYWwgPT09IDEpOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IGZ1bmN0aW9uIChhLCBiLCBjKSB7DQogICAgICAgICAgICByZXR1cm4gYSArIGIgKyBjOw0KICAgICAgICB9Ow0KICAgICAgICBvYmpbMF0gPSAwOw0KICAgICAgICBvYmpbMV0gPSAxOw0KICAgICAgICBvYmpbMl0gPSAyOw0KICAgICAgICBvYmpbM10gPSAzOw0KDQogICAgICAgIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodC5jYWxsKG9iaiwgY2FsbGJhY2tmbiwgaW5pdGlhbFZhbHVlKTsNCiAgICAgICAgcmV0dXJuIHRlc3RSZXN1bHQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduceRight applied to Function object which implements its own property get method","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-c-i-29.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjIvMTUuNC40LjIyLTktYy1pLTMuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQgLSBlbGVtZW50IHRvIGJlIHJldHJpZXZlZCBpcyBvd24gZGF0YSBwcm9wZXJ0eSB0aGF0IG92ZXJyaWRlcyBhbiBpbmhlcml0ZWQgZGF0YSBwcm9wZXJ0eSBvbiBhbiBBcnJheS1saWtlIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHRlc3RSZXN1bHQgPSBmYWxzZTsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBpZiAoaWR4ID09PSAxKSB7DQogICAgICAgICAgICAgICAgdGVzdFJlc3VsdCA9IChjdXJWYWwgPT09ICIxIik7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgcHJvdG8gPSB7IDA6IDEwLCAxOiAxMSwgMjogMTIsIGxlbmd0aDogMiB9Ow0KICAgICAgICB2YXIgQ29uID0gZnVuY3Rpb24gKCkgeyB9Ow0KICAgICAgICBDb24ucHJvdG90eXBlID0gcHJvdG87DQoNCiAgICAgICAgdmFyIGNoaWxkID0gbmV3IENvbigpOw0KICAgICAgICBjaGlsZFsxXSA9ICIxIjsNCiAgICAgICAgY2hpbGRbMl0gPSAiMiI7DQogICAgICAgIGNoaWxkLmxlbmd0aCA9IDM7DQoNCiAgICAgICAgQXJyYXkucHJvdG90eXBlLnJlZHVjZVJpZ2h0LmNhbGwoY2hpbGQsIGNhbGxiYWNrZm4sICJpbml0aWFsVmFsdWUiKTsNCiAgICAgICAgcmV0dXJuIHRlc3RSZXN1bHQ7DQoNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.reduceRight - element to be retrieved is own data property that overrides an inherited data property on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-c-i-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjIvMTUuNC40LjIyLTktYy1pLTMwLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnJlZHVjZVJpZ2h0IC0gZWxlbWVudCBjaGFuZ2VkIGJ5IGdldHRlciBvbiBwcmV2aW91cyBpdGVyYXRpb25zIGlzIG9ic2VydmVkIG9uIGFuIEFycmF5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgdGVzdFJlc3VsdCA9IGZhbHNlOw0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGlmIChpZHggPT09IDEpIHsNCiAgICAgICAgICAgICAgICB0ZXN0UmVzdWx0ID0gKGN1clZhbCA9PT0gMSk7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgYXJyID0gWywgLF07DQogICAgICAgIHZhciBwcmVJdGVyVmlzaWJsZSA9IGZhbHNlOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhcnIsICIyIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcHJlSXRlclZpc2libGUgPSB0cnVlOw0KICAgICAgICAgICAgICAgIHJldHVybiAwOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXJyLCAiMSIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIGlmIChwcmVJdGVyVmlzaWJsZSkgew0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gMTsNCiAgICAgICAgICAgICAgICB9IGVsc2Ugew0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gIjExIjsNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIGFyci5yZWR1Y2VSaWdodChjYWxsYmFja2ZuLCAiaW5pdGlhbFZhbHVlIik7DQogICAgICAgIHJldHVybiB0ZXN0UmVzdWx0Ow0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.reduceRight - element changed by getter on previous iterations is observed on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-c-i-30.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjIvMTUuNC40LjIyLTktYy1pLTMxLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnJlZHVjZVJpZ2h0IC0gZWxlbWVudCBjaGFuZ2VkIGJ5IGdldHRlciBvbiBwcmV2aW91cyBpdGVyYXRpb25zIGlzIG9ic2VydmVkIG9uIGFuIEFycmF5LWxpa2Ugb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgdGVzdFJlc3VsdCA9IGZhbHNlOw0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGlmIChpZHggPT09IDEpIHsNCiAgICAgICAgICAgICAgICB0ZXN0UmVzdWx0ID0gKGN1clZhbCA9PT0gMSk7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0geyBsZW5ndGg6IDMgfTsNCiAgICAgICAgdmFyIHByZUl0ZXJWaXNpYmxlID0gZmFsc2U7DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwgIjIiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICBwcmVJdGVyVmlzaWJsZSA9IHRydWU7DQogICAgICAgICAgICAgICAgcmV0dXJuIDA7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosICIxIiwgew0KICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgaWYgKHByZUl0ZXJWaXNpYmxlKSB7DQogICAgICAgICAgICAgICAgICAgIHJldHVybiAxOw0KICAgICAgICAgICAgICAgIH0gZWxzZSB7DQogICAgICAgICAgICAgICAgICAgIHJldHVybiAiMTEiOw0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgQXJyYXkucHJvdG90eXBlLnJlZHVjZVJpZ2h0LmNhbGwob2JqLCBjYWxsYmFja2ZuLCAiaW5pdGlhbFZhbHVlIik7DQogICAgICAgIHJldHVybiB0ZXN0UmVzdWx0Ow0KDQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduceRight - element changed by getter on previous iterations is observed on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-c-i-31.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjIvMTUuNC40LjIyLTktYy1pLTMyLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnJlZHVjZVJpZ2h0IC0gdW5uaGFuZGxlZCBleGNlcHRpb25zIGhhcHBlbmVkIGluIGdldHRlciB0ZXJtaW5hdGUgaXRlcmF0aW9uIG9uIGFuIEFycmF5LWxpa2Ugb2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBpZiAoaWR4IDw9IDEpIHsNCiAgICAgICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KDQogICAgICAgIHZhciBvYmogPSB7IDA6IDAsIDI6IDIsIGxlbmd0aDogMyB9Ow0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiMSIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHRocm93IG5ldyBSYW5nZUVycm9yKCJ1bmhhbmRsZSBleGNlcHRpb24gaGFwcGVuZWQgaW4gZ2V0dGVyIik7DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlDQogICAgICAgIH0pOw0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQuY2FsbChvYmosIGNhbGxiYWNrZm4sICJpbml0aWFsVmFsdWUiKTsNCiAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgfSBjYXRjaCAoZXgpIHsNCiAgICAgICAgICAgIHJldHVybiAoZXggaW5zdGFuY2VvZiBSYW5nZUVycm9yKSAmJiAhYWNjZXNzZWQ7DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.reduceRight - unnhandled exceptions happened in getter terminate iteration on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-c-i-32.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjIvMTUuNC40LjIyLTktYy1pLTMzLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnJlZHVjZVJpZ2h0IC0gdW5uaGFuZGxlZCBleGNlcHRpb25zIGhhcHBlbmVkIGluIGdldHRlciB0ZXJtaW5hdGUgaXRlcmF0aW9uIG9uIGFuIEFycmF5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBpZiAoaWR4IDw9IDEpIHsNCiAgICAgICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgYXJyID0gWzAsICwgMl07DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGFyciwgIjEiLCB7DQogICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICB0aHJvdyBuZXcgUmFuZ2VFcnJvcigidW5oYW5kbGUgZXhjZXB0aW9uIGhhcHBlbmVkIGluIGdldHRlciIpOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICB0cnkgew0KICAgICAgICAgICAgYXJyLnJlZHVjZVJpZ2h0KGNhbGxiYWNrZm4sICJpbml0aWFsVmFsdWUiKTsNCiAgICAgICAgICAgIHJldHVybiB0cnVlOw0KICAgICAgICB9IGNhdGNoIChleCkgew0KICAgICAgICAgICAgcmV0dXJuIChleCBpbnN0YW5jZW9mIFJhbmdlRXJyb3IpICYmICFhY2Nlc3NlZDsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.reduceRight - unnhandled exceptions happened in getter terminate iteration on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-c-i-33.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjIvMTUuNC40LjIyLTktYy1pLTQuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQgLSBlbGVtZW50IHRvIGJlIHJldHJpZXZlZCBpcyBvd24gZGF0YSBwcm9wZXJ0eSB0aGF0IG92ZXJyaWRlcyBhbiBpbmhlcml0ZWQgZGF0YSBwcm9wZXJ0eSBvbiBhbiBBcnJheQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHRlc3RSZXN1bHQgPSBmYWxzZTsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBpZiAoaWR4ID09PSAxKSB7DQogICAgICAgICAgICAgICAgdGVzdFJlc3VsdCA9IChjdXJWYWwgPT09IDEpOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIEFycmF5LnByb3RvdHlwZVsxXSA9ICIxMSI7DQogICAgICAgICAgICBbMCwgMSwgMl0ucmVkdWNlUmlnaHQoY2FsbGJhY2tmbiwgImluaXRpYWxWYWx1ZSIpOw0KICAgICAgICAgICAgcmV0dXJuIHRlc3RSZXN1bHQ7DQoNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBBcnJheS5wcm90b3R5cGVbMV07DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.reduceRight - element to be retrieved is own data property that overrides an inherited data property on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-c-i-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjIvMTUuNC40LjIyLTktYy1pLTUuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQgLSBlbGVtZW50IHRvIGJlIHJldHJpZXZlZCBpcyBvd24gZGF0YSBwcm9wZXJ0eSB0aGF0IG92ZXJyaWRlcyBhbiBpbmhlcml0ZWQgYWNjZXNzb3IgcHJvcGVydHkgb24gYW4gQXJyYXktbGlrZSBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gZmFsc2U7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgaWYgKGlkeCA9PT0gMCkgew0KICAgICAgICAgICAgICAgIHRlc3RSZXN1bHQgPSAoY3VyVmFsID09PSAiMCIpOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIHByb3RvID0ge307DQoNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHByb3RvLCAiMCIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiAxMDsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQoNCiAgICAgICAgdmFyIENvbiA9IGZ1bmN0aW9uICgpIHsgfTsNCiAgICAgICAgQ29uLnByb3RvdHlwZSA9IHByb3RvOw0KDQogICAgICAgIHZhciBjaGlsZCA9IG5ldyBDb24oKTsNCiAgICAgICAgY2hpbGQubGVuZ3RoID0gMjsNCiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGNoaWxkLCAiMCIsIHsNCiAgICAgICAgICAgIHZhbHVlOiAiMCIsDQogICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgfSk7DQogICAgICAgIGNoaWxkWzFdID0gIjEiOw0KDQogICAgICAgIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodC5jYWxsKGNoaWxkLCBjYWxsYmFja2ZuLCAiaW5pdGlhbFZhbHVlIik7DQogICAgICAgIHJldHVybiB0ZXN0UmVzdWx0Ow0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.reduceRight - element to be retrieved is own data property that overrides an inherited accessor property on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-c-i-5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjIvMTUuNC40LjIyLTktYy1pLTYuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQgLSBlbGVtZW50IHRvIGJlIHJldHJpZXZlZCBpcyBvd24gZGF0YSBwcm9wZXJ0eSB0aGF0IG92ZXJyaWRlcyBhbiBpbmhlcml0ZWQgYWNjZXNzb3IgcHJvcGVydHkgb24gYW4gQXJyYXkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gZmFsc2U7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgaWYgKGlkeCA9PT0gMSkgew0KICAgICAgICAgICAgICAgIHRlc3RSZXN1bHQgPSAoY3VyVmFsID09PSAxKTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoQXJyYXkucHJvdG90eXBlLCAiMSIsIHsNCiAgICAgICAgICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuICIxMSI7DQogICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUNCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgWzAsIDEsIDJdLnJlZHVjZVJpZ2h0KGNhbGxiYWNrZm4sICJpbml0aWFsVmFsdWUiKTsNCiAgICAgICAgICAgIHJldHVybiB0ZXN0UmVzdWx0Ow0KDQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgQXJyYXkucHJvdG90eXBlWzFdOw0KICAgICAgICB9DQoNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.reduceRight - element to be retrieved is own data property that overrides an inherited accessor property on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-c-i-6.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjIvMTUuNC40LjIyLTktYy1pLTcuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQgLSBlbGVtZW50IHRvIGJlIHJldHJpZXZlZCBpcyBpbmhlcml0ZWQgZGF0YSBwcm9wZXJ0eSBvbiBhbiBBcnJheS1saWtlIG9iamVjdA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHRlc3RSZXN1bHQgPSBmYWxzZTsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBpZiAoaWR4ID09PSAxKSB7DQogICAgICAgICAgICAgICAgdGVzdFJlc3VsdCA9IChjdXJWYWwgPT09IDEpOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIHByb3RvID0geyAwOiAwLCAxOiAxLCAyOiAyIH07DQogICAgICAgIHZhciBDb24gPSBmdW5jdGlvbiAoKSB7IH07DQogICAgICAgIENvbi5wcm90b3R5cGUgPSBwcm90bzsNCg0KICAgICAgICB2YXIgY2hpbGQgPSBuZXcgQ29uKCk7DQogICAgICAgIGNoaWxkLmxlbmd0aCA9IDM7DQoNCiAgICAgICAgQXJyYXkucHJvdG90eXBlLnJlZHVjZVJpZ2h0LmNhbGwoY2hpbGQsIGNhbGxiYWNrZm4sICJpbml0aWFsVmFsdWUiKTsNCiAgICAgICAgcmV0dXJuIHRlc3RSZXN1bHQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduceRight - element to be retrieved is inherited data property on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-c-i-7.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjIvMTUuNC40LjIyLTktYy1pLTguanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQgLSBlbGVtZW50IHRvIGJlIHJldHJpZXZlZCBpcyBpbmhlcml0ZWQgZGF0YSBwcm9wZXJ0eSBvbiBhbiBBcnJheQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIHRlc3RSZXN1bHQgPSBmYWxzZTsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBpZiAoaWR4ID09PSAxKSB7DQogICAgICAgICAgICAgICAgdGVzdFJlc3VsdCA9IChjdXJWYWwgPT09IDEpOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIEFycmF5LnByb3RvdHlwZVswXSA9IDA7DQogICAgICAgICAgICBBcnJheS5wcm90b3R5cGVbMV0gPSAxOw0KICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlWzJdID0gMjsNCiAgICAgICAgICAgIFssICwgLCBdLnJlZHVjZVJpZ2h0KGNhbGxiYWNrZm4sICJpbml0aWFsVmFsdWUiKTsNCiAgICAgICAgICAgIHJldHVybiB0ZXN0UmVzdWx0Ow0KDQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgQXJyYXkucHJvdG90eXBlWzBdOw0KICAgICAgICAgICAgZGVsZXRlIEFycmF5LnByb3RvdHlwZVsxXTsNCiAgICAgICAgICAgIGRlbGV0ZSBBcnJheS5wcm90b3R5cGVbMl07DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.reduceRight - element to be retrieved is inherited data property on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-c-i-8.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjIvMTUuNC40LjIyLTktYy1pLTkuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQgLSBlbGVtZW50IHRvIGJlIHJldHJpZXZlZCBpcyBvd24gYWNjZXNzb3IgcHJvcGVydHkgb24gYW4gQXJyYXktbGlrZSBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gZmFsc2U7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgaWYgKGlkeCA9PT0gMSkgew0KICAgICAgICAgICAgICAgIHRlc3RSZXN1bHQgPSAoY3VyVmFsID09PSAxKTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSB7IDA6IDAsIDI6IDIsIGxlbmd0aDogMyB9Ow0KICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCAiMSIsIHsNCiAgICAgICAgICAgIGdldDogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiAxOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICB9KTsNCg0KICAgICAgICBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQuY2FsbChvYmosIGNhbGxiYWNrZm4sICJpbml0aWFsVmFsdWUiKTsNCiAgICAgICAgcmV0dXJuIHRlc3RSZXN1bHQ7DQoNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.reduceRight - element to be retrieved is own accessor property on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-c-i-9.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjIvMTUuNC40LjIyLTktYy1paS0xLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnJlZHVjZVJpZ2h0IC0gY2FsbGJhY2tmbiBjYWxsZWQgd2l0aCBjb3JyZWN0IHBhcmFtZXRlcnMgKGluaXRpYWx2YWx1ZSBub3QgcGFzc2VkKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7IA0KIA0KICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopDQogIHsNCiAgICBpZihpZHgrMSA8IG9iai5sZW5ndGggJiYgb2JqW2lkeF0gPT09IGN1clZhbCAmJiBvYmpbaWR4KzFdID09PSBwcmV2VmFsKQ0KICAgICAgcmV0dXJuIGN1clZhbDsNCiAgICBlbHNlIA0KICAgICAgcmV0dXJuIGZhbHNlOw0KICB9DQoNCiAgdmFyIGFyciA9IFswLDEsdHJ1ZSxudWxsLG5ldyBPYmplY3QoKSwiZml2ZSJdOw0KICBpZiggYXJyLnJlZHVjZVJpZ2h0KGNhbGxiYWNrZm4pID09PSAwKSANCiAgICByZXR1cm4gdHJ1ZTsNCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.reduceRight - callbackfn called with correct parameters (initialvalue not passed)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-c-ii-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjIvMTUuNC40LjIyLTktYy1paS0xMC5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodCAtIGNhbGxiYWNrZm4gaXMgY2FsbGVkIHdpdGggMSBmb3JtYWwgcGFyYW1ldGVyDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgY2FsbGVkID0gMDsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwpIHsNCiAgICAgICAgICAgIGNhbGxlZCsrOw0KICAgICAgICAgICAgcmV0dXJuIHByZXZWYWw7DQogICAgICAgIH0NCg0KICAgICAgICByZXR1cm4gWzExLCAxMl0ucmVkdWNlUmlnaHQoY2FsbGJhY2tmbiwgMTAwKSA9PT0gMTAwICYmIDIgPT09IGNhbGxlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.reduceRight - callbackfn is called with 1 formal parameter","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-c-ii-10.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjIvMTUuNC40LjIyLTktYy1paS0xMS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodCAtIGNhbGxiYWNrZm4gaXMgY2FsbGVkIHdpdGggMiBmb3JtYWwgcGFyYW1ldGVyDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgdGVzdFJlc3VsdCA9IGZhbHNlOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsKSB7DQogICAgICAgICAgICBpZiAocHJldlZhbCA9PT0gMTAwKSB7DQogICAgICAgICAgICAgICAgdGVzdFJlc3VsdCA9IHRydWU7DQogICAgICAgICAgICB9DQogICAgICAgICAgICByZXR1cm4gY3VyVmFsID4gMTA7DQogICAgICAgIH0NCg0KICAgICAgICByZXR1cm4gWzExXS5yZWR1Y2VSaWdodChjYWxsYmFja2ZuLCAxMDApID09PSB0cnVlICYmIHRlc3RSZXN1bHQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduceRight - callbackfn is called with 2 formal parameter","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-c-ii-11.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjIvMTUuNC40LjIyLTktYy1paS0xMi5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodCAtIGNhbGxiYWNrZm4gaXMgY2FsbGVkIHdpdGggMyBmb3JtYWwgcGFyYW1ldGVyDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgdGVzdFJlc3VsdCA9IGZhbHNlOw0KICAgICAgICB2YXIgYXJyID0gWzExLCAxMiwgMTNdOw0KICAgICAgICB2YXIgaW5pdFZhbCA9IDYuOTk7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCkgew0KICAgICAgICAgICAgaWYgKGlkeCA9PT0gMikgew0KICAgICAgICAgICAgICAgIHRlc3RSZXN1bHQgPSAocHJldlZhbCA9PT0gaW5pdFZhbCk7DQogICAgICAgICAgICB9DQogICAgICAgICAgICByZXR1cm4gY3VyVmFsID4gMTAgJiYgYXJndW1lbnRzWzNdW2lkeF0gPT09IGN1clZhbDsNCiAgICAgICAgfQ0KDQogICAgICAgIHJldHVybiBhcnIucmVkdWNlUmlnaHQoY2FsbGJhY2tmbiwgaW5pdFZhbCkgPT09IHRydWUgJiYgdGVzdFJlc3VsdDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.reduceRight - callbackfn is called with 3 formal parameter","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-c-ii-12.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjIvMTUuNC40LjIyLTktYy1paS0xMy5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodCAtIGNhbGxiYWNrZm4gaXMgY2FsbGVkIHdpdGggNCBmb3JtYWwgcGFyYW1ldGVyDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYXJyID0gWzExLCAxMiwgMTNdOw0KICAgICAgICB2YXIgaW5pdFZhbCA9IDYuOTk7DQogICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gZmFsc2U7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBpZiAoaWR4ID09PSAyKSB7DQogICAgICAgICAgICAgICAgdGVzdFJlc3VsdCA9IChwcmV2VmFsID09PSBpbml0VmFsKTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIHJldHVybiBjdXJWYWwgPiAxMCAmJiBvYmpbaWR4XSA9PT0gY3VyVmFsOw0KICAgICAgICB9DQoNCiAgICAgICAgcmV0dXJuIGFyci5yZWR1Y2VSaWdodChjYWxsYmFja2ZuLCBpbml0VmFsKSA9PT0gdHJ1ZSAmJiB0ZXN0UmVzdWx0Ow0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.reduceRight - callbackfn is called with 4 formal parameter","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-c-ii-13.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjIvMTUuNC40LjIyLTktYy1paS0xNC5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodCAtIGNhbGxiYWNrZm4gdXNlcyBhcmd1bWVudHMNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4oKSB7DQogICAgICAgICAgICByZXR1cm4gYXJndW1lbnRzWzBdID09PSAxMDAgJiYgYXJndW1lbnRzWzNdW2FyZ3VtZW50c1syXV0gPT09IGFyZ3VtZW50c1sxXTsNCiAgICAgICAgfQ0KDQogICAgICAgIHJldHVybiBbMTFdLnJlZHVjZVJpZ2h0KGNhbGxiYWNrZm4sIDEwMCkgPT09IHRydWU7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduceRight - callbackfn uses arguments","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-c-ii-14.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjIvMTUuNC40LjIyLTktYy1paS0xNi5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodCAtIG5vbi1pbmRleGVkIHByb3BlcnRpZXMgYXJlIG5vdCBjYWxsZWQgb24gYW4gQXJyYXktbGlrZSBvYmplY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gZmFsc2U7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBpZiAocHJldlZhbCA9PT0gOCB8fCBjdXJWYWwgPT09IDgpIHsNCiAgICAgICAgICAgICAgICB0ZXN0UmVzdWx0ID0gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSB7IDA6IDExLCAxMDogMTIsIG5vbl9pbmRleF9wcm9wZXJ0eTogOCwgbGVuZ3RoOiAyMCB9Ow0KICAgICAgICBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQuY2FsbChvYmosIGNhbGxiYWNrZm4sICJpbml0aWFsVmFsdWUiKTsNCiAgICAgICAgcmV0dXJuICF0ZXN0UmVzdWx0Ow0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.reduceRight - non-indexed properties are not called on an Array-like object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-c-ii-16.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjIvMTUuNC40LjIyLTktYy1paS0xNy5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodCAtICdhY2N1bXVsYXRvcicgdXNlZCBmb3IgY3VycmVudCBpdGVyYXRpb24gaXMgdGhlIHJlc3VsdCBvZiBwcmV2aW91cyBpdGVyYXRpb24gb24gYW4gQXJyYXkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhcnIgPSBbMTEsIDEyLCAxM107DQogICAgICAgIHZhciB0ZXN0UmVzdWx0ID0gdHJ1ZTsNCiAgICAgICAgdmFyIGluaXRWYWwgPSA2Ljk5Ow0KICAgICAgICB2YXIgcHJlUmVzdWx0ID0gaW5pdFZhbDsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGlmIChwcmV2VmFsICE9PSBwcmVSZXN1bHQpIHsNCiAgICAgICAgICAgICAgICB0ZXN0UmVzdWx0ID0gZmFsc2U7DQogICAgICAgICAgICB9DQogICAgICAgICAgICBwcmVSZXN1bHQgPSBjdXJWYWw7DQogICAgICAgICAgICByZXR1cm4gY3VyVmFsOw0KICAgICAgICB9DQoNCiAgICAgICAgYXJyLnJlZHVjZVJpZ2h0KGNhbGxiYWNrZm4sIGluaXRWYWwpOw0KDQogICAgICAgIHJldHVybiB0ZXN0UmVzdWx0Ow0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.reduceRight - 'accumulator' used for current iteration is the result of previous iteration on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-c-ii-17.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjIvMTUuNC40LjIyLTktYy1paS0xOC5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodCAtICdhY2N1bXVsYXRvcicgdXNlZCBmb3IgZmlyc3QgaXRlcmF0aW9uIGlzIHRoZSB2YWx1ZSBvZiAnaW5pdGlhbFZhbHVlJyB3aGVuIGl0IGlzIHByZXNlbnQgb24gYW4gQXJyYXkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhcnIgPSBbMTEsIDEyXTsNCiAgICAgICAgdmFyIHRlc3RSZXN1bHQgPSBmYWxzZTsNCiAgICAgICAgdmFyIGluaXRWYWwgPSA2Ljk5Ow0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgaWYgKGlkeCA9PT0gMSkgew0KICAgICAgICAgICAgICAgIHRlc3RSZXN1bHQgPSAocHJldlZhbCA9PT0gaW5pdFZhbCk7DQogICAgICAgICAgICB9DQogICAgICAgICAgICByZXR1cm4gY3VyVmFsOw0KICAgICAgICB9DQoNCiAgICAgICAgYXJyLnJlZHVjZVJpZ2h0KGNhbGxiYWNrZm4sIGluaXRWYWwpOw0KDQogICAgICAgIHJldHVybiB0ZXN0UmVzdWx0Ow0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.reduceRight - 'accumulator' used for first iteration is the value of 'initialValue' when it is present on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-c-ii-18.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjIvMTUuNC40LjIyLTktYy1paS0xOS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodCAtIHZhbHVlIG9mICdhY2N1bXVsYXRvcicgdXNlZCBmb3IgZmlyc3QgaXRlcmF0aW9uIGlzIHRoZSB2YWx1ZSBvZiBtYXggaW5kZXggcHJvcGVydHkgd2hpY2ggaXMgbm90IHVuZGVmaW5lZCB3aGVuICdpbml0aWFsVmFsdWUnIGlzIG5vdCBwcmVzZW50IG9uIGFuIEFycmF5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYXJyID0gWzExLCAxMiwgMTNdOw0KICAgICAgICB2YXIgdGVzdFJlc3VsdCA9IGZhbHNlOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgaWYgKGlkeCA9PT0gMSkgew0KICAgICAgICAgICAgICAgIHRlc3RSZXN1bHQgPSAocHJldlZhbCA9PT0gMTMpOw0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgcmV0dXJuIGN1clZhbDsNCiAgICAgICAgfQ0KICAgICAgICBhcnIucmVkdWNlUmlnaHQoY2FsbGJhY2tmbik7DQoNCiAgICAgICAgcmV0dXJuIHRlc3RSZXN1bHQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduceRight - value of 'accumulator' used for first iteration is the value of max index property which is not undefined when 'initialValue' is not present on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-c-ii-19.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjIvMTUuNC40LjIyLTktYy1paS0yLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnJlZHVjZVJpZ2h0IC0gY2FsbGJhY2tmbiBjYWxsZWQgd2l0aCBjb3JyZWN0IHBhcmFtZXRlcnMgKGluaXRpYWx2YWx1ZSBwYXNzZWQpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIGJQYXJDb3JyZWN0ID0gZmFsc2U7DQogICAgICAgIHZhciBhcnIgPSBbMCwgMSwgdHJ1ZSwgbnVsbCwgbmV3IE9iamVjdCgpLCAiZml2ZSJdOw0KICAgICAgICB2YXIgaW5pdGlhbFZhbHVlID0gNS41Ow0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgaWYgKGlkeCA9PT0gb2JqLmxlbmd0aCAtIDEgJiYgb2JqW2lkeF0gPT09IGN1clZhbCAmJiBwcmV2VmFsID09PSBpbml0aWFsVmFsdWUpDQogICAgICAgICAgICAgICAgcmV0dXJuIGN1clZhbDsNCiAgICAgICAgICAgIGVsc2UgaWYgKGlkeCArIDEgPCBvYmoubGVuZ3RoICYmIG9ialtpZHhdID09PSBjdXJWYWwgJiYgb2JqW2lkeCArIDFdID09PSBwcmV2VmFsKQ0KICAgICAgICAgICAgICAgIHJldHVybiBjdXJWYWw7DQogICAgICAgICAgICBlbHNlDQogICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9DQogICAgICAgIHJldHVybiBhcnIucmVkdWNlUmlnaHQoY2FsbGJhY2tmbiwgaW5pdGlhbFZhbHVlKSA9PT0gMDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.reduceRight - callbackfn called with correct parameters (initialvalue passed)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-c-ii-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjIvMTUuNC40LjIyLTktYy1paS0yMC5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodCAtIHVuZGVmaW5lZCBjYW4gYmUgdXNlZCBhcyBhY2N1bXVsYXRvcg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgcmV0dXJuIHR5cGVvZiBwcmV2VmFsID09PSAidW5kZWZpbmVkIjsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSB7IDA6IDExLCBsZW5ndGg6IDEgfTsNCg0KICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLnJlZHVjZVJpZ2h0LmNhbGwob2JqLCBjYWxsYmFja2ZuLCB1bmRlZmluZWQpID09PSB0cnVlICYmIGFjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.reduceRight - undefined can be used as accumulator","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-c-ii-20.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjIvMTUuNC40LjIyLTktYy1paS0yMS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodCAtIG51bGwgY2FuIGJlIHVzZWQgYXMgYWNjdW11bGF0b3INCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIHJldHVybiBwcmV2VmFsID09PSBudWxsOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgMDogMTEsIGxlbmd0aDogMSB9Ow0KDQogICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQuY2FsbChvYmosIGNhbGxiYWNrZm4sIG51bGwpID09PSB0cnVlICYmIGFjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.reduceRight - null can be used as accumulator","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-c-ii-21.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjIvMTUuNC40LjIyLTktYy1paS0yMi5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodCAtIGJvb2xlYW4gcHJpbWl0aXZlIGNhbiBiZSB1c2VkIGFzIGFjY3VtdWxhdG9yDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICByZXR1cm4gcHJldlZhbCA9PT0gZmFsc2U7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0geyAwOiAxMSwgbGVuZ3RoOiAxIH07DQoNCiAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodC5jYWxsKG9iaiwgY2FsbGJhY2tmbiwgZmFsc2UpID09PSB0cnVlICYmIGFjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.reduceRight - boolean primitive can be used as accumulator","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-c-ii-22.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjIvMTUuNC40LjIyLTktYy1paS0yMy5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodCAtIG51bWJlciBwcmltaXRpdmUgY2FuIGJlIHVzZWQgYXMgYWNjdW11bGF0b3INCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIHJldHVybiBwcmV2VmFsID09PSAxMjsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSB7IDA6IDExLCBsZW5ndGg6IDEgfTsNCg0KICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLnJlZHVjZVJpZ2h0LmNhbGwob2JqLCBjYWxsYmFja2ZuLCAxMikgPT09IHRydWUgJiYgYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduceRight - number primitive can be used as accumulator","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-c-ii-23.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjIvMTUuNC40LjIyLTktYy1paS0yNC5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodCAtIHN0cmluZyBwcmltaXRpdmUgY2FuIGJlIHVzZWQgYXMgYWNjdW11bGF0b3INCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIHJldHVybiBwcmV2VmFsID09PSAiaGVsbG9fIjsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSB7IDA6IDExLCBsZW5ndGg6IDEgfTsNCg0KICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLnJlZHVjZVJpZ2h0LmNhbGwob2JqLCBjYWxsYmFja2ZuLCAiaGVsbG9fIikgPT09IHRydWUgJiYgYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduceRight - string primitive can be used as accumulator","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-c-ii-24.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjIvMTUuNC40LjIyLTktYy1paS0yNS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodCAtIEZ1bmN0aW9uIE9iamVjdCBjYW4gYmUgdXNlZCBhcyBhY2N1bXVsYXRvcg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQogICAgICAgIHZhciBvYmpGdW5jdGlvbiA9IGZ1bmN0aW9uICgpIHsgfTsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICByZXR1cm4gcHJldlZhbCA9PT0gb2JqRnVuY3Rpb247DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0geyAwOiAxMSwgbGVuZ3RoOiAxIH07DQoNCiAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodC5jYWxsKG9iaiwgY2FsbGJhY2tmbiwgb2JqRnVuY3Rpb24pID09PSB0cnVlICYmIGFjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.reduceRight - Function Object can be used as accumulator","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-c-ii-25.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjIvMTUuNC40LjIyLTktYy1paS0yNi5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodCAtIEFycmF5IE9iamVjdCBjYW4gYmUgdXNlZCBhcyBhY2N1bXVsYXRvcg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQogICAgICAgIHZhciBvYmpBcnJheSA9IFtdOw0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIHJldHVybiBwcmV2VmFsID09PSBvYmpBcnJheTsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSB7IDA6IDExLCBsZW5ndGg6IDEgfTsNCg0KICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLnJlZHVjZVJpZ2h0LmNhbGwob2JqLCBjYWxsYmFja2ZuLCBvYmpBcnJheSkgPT09IHRydWUgJiYgYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduceRight - Array Object can be used as accumulator","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-c-ii-26.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjIvMTUuNC40LjIyLTktYy1paS0yNy5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodCAtIFN0cmluZyBPYmplY3QgY2FuIGJlIHVzZWQgYXMgYWNjdW11bGF0b3INCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KICAgICAgICB2YXIgb2JqU3RyaW5nID0gbmV3IFN0cmluZygpOw0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIHJldHVybiBwcmV2VmFsID09PSBvYmpTdHJpbmc7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0geyAwOiAxMSwgbGVuZ3RoOiAxIH07DQoNCiAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodC5jYWxsKG9iaiwgY2FsbGJhY2tmbiwgb2JqU3RyaW5nKSA9PT0gdHJ1ZSAmJiBhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.reduceRight - String Object can be used as accumulator","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-c-ii-27.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjIvMTUuNC40LjIyLTktYy1paS0yOC5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodCAtIEJvb2xlYW4gT2JqZWN0IGNhbiBiZSB1c2VkIGFzIGFjY3VtdWxhdG9yDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCiAgICAgICAgdmFyIG9iakJvb2xlYW4gPSBuZXcgQm9vbGVhbigpOw0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIHJldHVybiBwcmV2VmFsID09PSBvYmpCb29sZWFuOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgMDogMTEsIGxlbmd0aDogMSB9Ow0KDQogICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQuY2FsbChvYmosIGNhbGxiYWNrZm4sIG9iakJvb2xlYW4pID09PSB0cnVlICYmIGFjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.reduceRight - Boolean Object can be used as accumulator","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-c-ii-28.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjIvMTUuNC40LjIyLTktYy1paS0yOS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodCAtIE51bWJlciBPYmplY3QgY2FuIGJlIHVzZWQgYXMgYWNjdW11bGF0b3INCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KICAgICAgICB2YXIgb2JqTnVtYmVyID0gbmV3IE51bWJlcigpOw0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIHJldHVybiBwcmV2VmFsID09PSBvYmpOdW1iZXI7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0geyAwOiAxMSwgbGVuZ3RoOiAxIH07DQoNCiAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodC5jYWxsKG9iaiwgY2FsbGJhY2tmbiwgb2JqTnVtYmVyKSA9PT0gdHJ1ZSAmJiBhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.reduceRight - Number Object can be used as accumulator","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-c-ii-29.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjIvMTUuNC40LjIyLTktYy1paS0zLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnJlZHVjZVJpZ2h0IC0gY2FsbGJhY2tmbiB0YWtlcyA0IGFyZ3VtZW50cw0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7IA0KIA0KICB2YXIgYkNhbGxlZCA9IGZhbHNlOw0KICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopDQogIHsgDQogICAgYkNhbGxlZCA9IHRydWU7DQogICAgaWYocHJldlZhbCA9PT0gdHJ1ZSAmJiBhcmd1bWVudHMubGVuZ3RoID09PSA0KSAgIA0KICAgICAgcmV0dXJuIHRydWU7DQogICAgZWxzZQ0KICAgICAgcmV0dXJuIGZhbHNlOw0KICB9DQogIHZhciBhcnIgPSBbMCwxLDIsMyw0LDUsNiw3LDgsOV07DQogIGlmKGFyci5yZWR1Y2VSaWdodChjYWxsYmFja2ZuLHRydWUpID09PSB0cnVlICYmIGJDYWxsZWQgPT09IHRydWUpDQogICAgcmV0dXJuIHRydWU7DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduceRight - callbackfn takes 4 arguments","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-c-ii-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjIvMTUuNC40LjIyLTktYy1paS0zMC5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodCAtIHRoZSBNYXRoIE9iamVjdCBjYW4gYmUgdXNlZCBhcyBhY2N1bXVsYXRvcg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgcmV0dXJuIHByZXZWYWwgPT09IE1hdGg7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0geyAwOiAxMSwgbGVuZ3RoOiAxIH07DQoNCiAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodC5jYWxsKG9iaiwgY2FsbGJhY2tmbiwgTWF0aCkgPT09IHRydWUgJiYgYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduceRight - the Math Object can be used as accumulator","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-c-ii-30.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjIvMTUuNC40LjIyLTktYy1paS0zMS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodCAtIERhdGUgT2JqZWN0IGNhbiBiZSB1c2VkIGFzIGFjY3VtdWxhdG9yDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCiAgICAgICAgdmFyIG9iakRhdGUgPSBuZXcgRGF0ZSgpOw0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIHJldHVybiBwcmV2VmFsID09PSBvYmpEYXRlOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgMDogMTEsIGxlbmd0aDogMSB9Ow0KDQogICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQuY2FsbChvYmosIGNhbGxiYWNrZm4sIG9iakRhdGUpID09PSB0cnVlICYmIGFjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.reduceRight - Date Object can be used as accumulator","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-c-ii-31.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjIvMTUuNC40LjIyLTktYy1paS0zMi5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodCAtIFJlZ0V4cCBPYmplY3QgY2FuIGJlIHVzZWQgYXMgYWNjdW11bGF0b3INCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBhY2Nlc3NlZCA9IGZhbHNlOw0KICAgICAgICB2YXIgb2JqUmVnRXhwID0gbmV3IFJlZ0V4cCgpOw0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIHJldHVybiBwcmV2VmFsID09PSBvYmpSZWdFeHA7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0geyAwOiAxMSwgbGVuZ3RoOiAxIH07DQoNCiAgICAgICAgcmV0dXJuIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodC5jYWxsKG9iaiwgY2FsbGJhY2tmbiwgb2JqUmVnRXhwKSA9PT0gdHJ1ZSAmJiBhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.reduceRight - RegExp Object can be used as accumulator","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-c-ii-32.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjIvMTUuNC40LjIyLTktYy1paS0zMy5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodCAtIHRoZSBKU09OIGNhbiBiZSB1c2VkIGFzIGFjY3VtdWxhdG9yDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICByZXR1cm4gcHJldlZhbCA9PT0gSlNPTjsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSB7IDA6IDExLCBsZW5ndGg6IDEgfTsNCg0KICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLnJlZHVjZVJpZ2h0LmNhbGwob2JqLCBjYWxsYmFja2ZuLCBKU09OKSA9PT0gdHJ1ZSAmJiBhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.reduceRight - the JSON can be used as accumulator","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-c-ii-33.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjIvMTUuNC40LjIyLTktYy1paS0zNC5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodCAtIEVycm9yIE9iamVjdCBjYW4gYmUgdXNlZCBhcyBhY2N1bXVsYXRvcg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQogICAgICAgIHZhciBvYmpFcnJvciA9IG5ldyBSYW5nZUVycm9yKCk7DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgcmV0dXJuIHByZXZWYWwgPT09IG9iakVycm9yOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgMDogMTEsIGxlbmd0aDogMSB9Ow0KICAgICAgICANCg0KICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLnJlZHVjZVJpZ2h0LmNhbGwob2JqLCBjYWxsYmFja2ZuLCBvYmpFcnJvcikgPT09IHRydWUgJiYgYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduceRight - Error Object can be used as accumulator","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-c-ii-34.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjIvMTUuNC40LjIyLTktYy1paS0zNS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodCAtIHRoZSBBcmd1bWVudHMgb2JqZWN0IGNhbiBiZSB1c2VkIGFzIGFjY3VtdWxhdG9yDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCiAgICAgICAgdmFyIGFyZzsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIHJldHVybiBwcmV2VmFsID09PSBhcmc7DQogICAgICAgIH0NCg0KICAgICAgICB2YXIgb2JqID0geyAwOiAxMSwgbGVuZ3RoOiAxIH07DQoNCiAgICAgICAgKGZ1bmN0aW9uIGZ1bigpIHsNCiAgICAgICAgICAgIGFyZyA9IGFyZ3VtZW50czsNCiAgICAgICAgfSgxMCwgMTEsIDEyLCAxMykpOw0KDQogICAgICAgIHJldHVybiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQuY2FsbChvYmosIGNhbGxiYWNrZm4sIGFyZykgPT09IHRydWUgJiYgYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduceRight - the Arguments object can be used as accumulator","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-c-ii-35.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjIvMTUuNC40LjIyLTktYy1paS0zNy5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodCAtIHRoZSBnbG9iYWwgb2JqZWN0IGNhbiBiZSB1c2VkIGFzIGFjY3VtdWxhdG9yDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICByZXR1cm4gcHJldlZhbCA9PT0gZm5HbG9iYWxPYmplY3QoKTsNCiAgICAgICAgfQ0KDQogICAgICAgIHZhciBvYmogPSB7IDA6IDExLCBsZW5ndGg6IDEgfTsNCg0KICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLnJlZHVjZVJpZ2h0LmNhbGwob2JqLCBjYWxsYmFja2ZuLCBmbkdsb2JhbE9iamVjdCgpKSA9PT0gdHJ1ZSAmJiBhY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.reduceRight - the global object can be used as accumulator","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-c-ii-37.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjIvMTUuNC40LjIyLTktYy1paS00LXMuanMNCiAqIEBkZXNjcmlwdGlvbiBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQgLSB1bmRlZmluZWQgcGFzc2VkIGFzIHRoaXNWYWx1ZSB0byBzdHJpY3QgY2FsbGJhY2tmbg0KICogQG9ubHlTdHJpY3QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgeyANCiAgdmFyIGlubmVyVGhpc0NvcnJlY3QgPSBmYWxzZTsNCiAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKQ0KICB7IA0KICAgICAidXNlIHN0cmljdCI7DQogICAgIGlubmVyVGhpc0NvcnJlY3QgPSB0aGlzPT09dW5kZWZpbmVkOw0KICAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KICBbMF0ucmVkdWNlUmlnaHQoY2FsbGJhY2tmbix0cnVlKTsNCiAgcmV0dXJuIGlubmVyVGhpc0NvcnJlY3Q7ICAgIA0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.reduceRight - undefined passed as thisValue to strict callbackfn","onlyStrict":"","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-c-ii-4-s.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjIvMTUuNC40LjIyLTktYy1paS00LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnJlZHVjZVJpZ2h0IC0gayB2YWx1ZXMgYXJlIHBhc3NlZCBpbiBhY2VuZGluZyBudW1lcmljIG9yZGVyDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYXJyID0gWzAsIDEsIDIsIDMsIDQsIDVdOw0KICAgICAgICB2YXIgbGFzdElkeCA9IGFyci5sZW5ndGggLSAxOw0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCiAgICAgICAgdmFyIHJlc3VsdCA9IHRydWU7DQoNCiAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2tmbihwcmV2VmFsLCBjdXJWYWwsIGlkeCwgb2JqKSB7DQogICAgICAgICAgICBhY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICBpZiAobGFzdElkeCAhPT0gaWR4KSB7DQogICAgICAgICAgICAgICAgcmVzdWx0ID0gZmFsc2U7DQogICAgICAgICAgICB9IGVsc2Ugew0KICAgICAgICAgICAgICAgIGxhc3RJZHgtLTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KICAgICAgICBhcnIucmVkdWNlUmlnaHQoY2FsbGJhY2tmbiwgMSk7DQogICAgICAgIHJldHVybiByZXN1bHQgJiYgYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduceRight - k values are passed in acending numeric order","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-c-ii-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjIvMTUuNC40LjIyLTktYy1paS01LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnJlZHVjZVJpZ2h0IC0gayB2YWx1ZXMgYXJlIGFjY2Vzc2VkIGR1cmluZyBlYWNoIGl0ZXJhdGlvbiBhbmQgbm90IHByaW9yIHRvIHN0YXJ0aW5nIHRoZSBsb29wIG9uIGFuIEFycmF5DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIGFyciA9IFsxMSwgMTIsIDEzLCAxNF07DQogICAgICAgIHZhciBrSW5kZXggPSBbXTsNCiAgICAgICAgdmFyIHJlc3VsdCA9IHRydWU7DQogICAgICAgIHZhciBjYWxsZWQgPSAwOw0KDQogICAgICAgIC8vQnkgYmVsb3cgd2F5LCB3ZSBjb3VsZCB2ZXJpZnkgdGhhdCBrIHdvdWxkIGJlIHNldHRlZCBhcyAwLCAxLCAuLi4sIGxlbmd0aCAtIDEgaW4gb3JkZXIsIGFuZCBlYWNoIHZhbHVlIHdpbGwgYmUgc2V0dGVkIG9uZSB0aW1lLg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZVZhbCwgY3VyVmFsLCBpZHgsIG8pIHsNCiAgICAgICAgICAgIC8vRWFjaCBwb3NpdGlvbiBzaG91bGQgYmUgdmlzaXRlZCBvbmUgdGltZSwgd2hpY2ggbWVhbnMgayBpcyBhY2Nlc3NlZCBvbmUgdGltZSBkdXJpbmcgaXRlcmF0aW9ucy4NCiAgICAgICAgICAgIGNhbGxlZCsrOw0KICAgICAgICAgICAgaWYgKHR5cGVvZiBrSW5kZXhbaWR4XSA9PT0gInVuZGVmaW5lZCIpIHsNCiAgICAgICAgICAgICAgICAvL3doZW4gY3VycmVudCBwb3NpdGlvbiBpcyB2aXNpdGVkLCBpdHMgbmV4dCBpbmRleCBzaG91bGQgaGFzIGJlZW4gdmlzaXRlZC4NCiAgICAgICAgICAgICAgICBpZiAoaWR4ICE9PSBhcnIubGVuZ3RoIC0gMSAmJiB0eXBlb2Yga0luZGV4W2lkeCArIDFdID09PSAidW5kZWZpbmVkIikgew0KICAgICAgICAgICAgICAgICAgICByZXN1bHQgPSBmYWxzZTsNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAga0luZGV4W2lkeF0gPSAxOw0KICAgICAgICAgICAgfSBlbHNlIHsNCiAgICAgICAgICAgICAgICByZXN1bHQgPSBmYWxzZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIGFyci5yZWR1Y2VSaWdodChjYWxsYmFja2ZuLCAxKTsNCiAgICAgICAgcmV0dXJuIHJlc3VsdCAmJiBjYWxsZWQgPT09IDQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduceRight - k values are accessed during each iteration and not prior to starting the loop on an Array","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-c-ii-5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjIvMTUuNC40LjIyLTktYy1paS03LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnJlZHVjZVJpZ2h0IC0gdW5oYW5kbGVkIGV4Y2VwdGlvbnMgaGFwcGVuZWQgaW4gY2FsbGJhY2tmbiB0ZXJtaW5hdGUgaXRlcmF0aW9uDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgYWNjZXNzZWQgPSBmYWxzZTsNCg0KICAgICAgICBmdW5jdGlvbiBjYWxsYmFja2ZuKHByZXZWYWwsIGN1clZhbCwgaWR4LCBvYmopIHsNCiAgICAgICAgICAgIGlmIChpZHggPCAxMCkgew0KICAgICAgICAgICAgICAgIGFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIGlmIChpZHggPT09IDEwKSB7DQogICAgICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCJFeGNlcHRpb24gb2NjdXJyZWQgaW4gY2FsbGJhY2tmbiIpOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIG9iaiA9IHsgMDogMTEsIDQ6IDEwLCAxMDogOCwgbGVuZ3RoOiAyMCB9Ow0KDQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBBcnJheS5wcm90b3R5cGUucmVkdWNlUmlnaHQuY2FsbChvYmosIGNhbGxiYWNrZm4sIDEpOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChleCkgew0KICAgICAgICAgICAgcmV0dXJuICFhY2Nlc3NlZDsNCiAgICAgICAgfQ0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Array.prototype.reduceRight - unhandled exceptions happened in callbackfn terminate iteration","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-c-ii-7.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjIvMTUuNC40LjIyLTktYy1paS04LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnJlZHVjZVJpZ2h0IC0gZWxlbWVudCBjaGFuZ2VkIGJ5IGNhbGxiYWNrZm4gb24gcHJldmlvdXMgaXRlcmF0aW9ucyBpcyBvYnNlcnZlZA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGFjY2Vzc2VkID0gZmFsc2U7DQogICAgICAgIHZhciBvYmogPSB7IDA6IDExLCAxOiAxMiwgbGVuZ3RoOiAyIH07DQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4ocHJldlZhbCwgY3VyVmFsLCBpZHgsIG9iaikgew0KICAgICAgICAgICAgYWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgaWYgKGlkeCA9PT0gMSkgew0KICAgICAgICAgICAgICAgIG9ialtpZHggLSAxXSA9IDg7DQogICAgICAgICAgICB9DQogICAgICAgICAgICByZXR1cm4gY3VyVmFsID4gMTA7DQogICAgICAgIH0NCg0KICAgICAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLnJlZHVjZVJpZ2h0LmNhbGwob2JqLCBjYWxsYmFja2ZuLCAxKSA9PT0gZmFsc2UgJiYgYWNjZXNzZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduceRight - element changed by callbackfn on previous iterations is observed","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-c-ii-8.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMjIvMTUuNC40LjIyLTktYy1paS05LmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLnJlZHVjZVJpZ2h0IC0gY2FsbGJhY2tmbiBpcyBjYWxsZWQgd2l0aCAwIGZvcm1hbCBwYXJhbWV0ZXINCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KDQogICAgICAgIHZhciBjYWxsZWQgPSAwOw0KDQogICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrZm4oKSB7DQogICAgICAgICAgICBjYWxsZWQrKzsNCiAgICAgICAgICAgIHJldHVybiB0cnVlOw0KICAgICAgICB9DQoNCiAgICAgICAgcmV0dXJuIFsxMSwgMTJdLnJlZHVjZVJpZ2h0KGNhbGxiYWNrZm4sIDExKSA9PT0gdHJ1ZSAmJiAyID09PSBjYWxsZWQ7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.reduceRight - callbackfn is called with 0 formal parameter","path":"TestCases/ch15/15.4/15.4.4/15.4.4.22/15.4.4.22-9-c-ii-9.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgZWxlbWVudHMgb2YgdGhlIGFycmF5IGFyZSBjb252ZXJ0ZWQgdG8gc3RyaW5ncyB1c2luZyB0aGVpcgogKiB0b0xvY2FsZVN0cmluZyBtZXRob2RzLCBhbmQgdGhlc2Ugc3RyaW5ncyBhcmUgdGhlbiBjb25jYXRlbmF0ZWQsIHNlcGFyYXRlZAogKiBieSBvY2N1cnJlbmNlcyBvZiBhIHNlcGFyYXRvciBzdHJpbmcgdGhhdCBoYXMgYmVlbiBkZXJpdmVkIGluIGFuCiAqIGltcGxlbWVudGF0aW9uLWRlZmluZWQgbG9jYWxlLXNwZWNpZmljIHdheQogKgogKiBAcGF0aCBjaDE1LzE1LjQvMTUuNC40LzE1LjQuNC4zL1MxNS40LjQuM19BMV9UMS5qcwogKiBAZGVzY3JpcHRpb24gaXQgaXMgdGhlIGZ1bmN0aW9uIHRoYXQgc2hvdWxkIGJlIGludm9rZWQKICovCgp2YXIgbiA9IDA7CnZhciBvYmogPSB7dG9Mb2NhbGVTdHJpbmc6IGZ1bmN0aW9uKCkge24rK319Owp2YXIgYXJyID0gW3VuZGVmaW5lZCwgb2JqLCBudWxsLCBvYmosIG9ial07CmFyci50b0xvY2FsZVN0cmluZygpOwoKLy9DSEVDSyMxCmlmIChuICE9PSAzKSB7CiAgJEVSUk9SKCcjMTogdmFyIG4gPSAwOyB2YXIgb2JqID0ge3RvTG9jYWxlU3RyaW5nOiBmdW5jdGlvbigpIHtuKyt9fTsgdmFyIGFyciA9IFt1bmRlZmluZWQsIG9iaiwgbnVsbCwgb2JqLCBvYmpdOyBhcnIudG9Mb2NhbGVTdHJpbmcoKTsgbiA9PT0gMy4gQWN0dWFsOiAnICsgKG4pKTsKfSAgCgo=","commentary":"The elements of the array are converted to strings using their\ntoLocaleString methods, and these strings are then concatenated, separated\nby occurrences of a separator string that has been derived in an\nimplementation-defined locale-specific way","description":"it is the function that should be invoked","path":"TestCases/ch15/15.4/15.4.4/15.4.4.3/S15.4.4.3_A1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBbW0dldF1dIGZyb20gbm90IGFuIGluaGVyaXRlZCBwcm9wZXJ0eQogKgogKiBAcGF0aCBjaDE1LzE1LjQvMTUuNC40LzE1LjQuNC4zL1MxNS40LjQuM19BM19UMS5qcwogKiBAZGVzY3JpcHRpb24gW1tQcm90b3R5cGVdXSBvZiBBcnJheSBpbnN0YW5jZSBpcyBBcnJheS5wcm90b3R5cGUKICovCgovL0NIRUNLIzEKdmFyIG4gPSAwOwp2YXIgb2JqID0ge3RvTG9jYWxlU3RyaW5nOiBmdW5jdGlvbigpIHtuKyt9fTsKQXJyYXkucHJvdG90eXBlWzFdID0gb2JqOwp2YXIgeCA9IFtvYmpdOwp4Lmxlbmd0aCA9IDI7CngudG9Mb2NhbGVTdHJpbmcoKTsKaWYgKG4gIT09IDIpIHsgIAogICRFUlJPUignIzE6IHZhciBuID0gMDsgdmFyIG9iaiA9IHt0b0xvY2FsZVN0cmluZzogZnVuY3Rpb24oKSB7bisrfX07IEFycmF5LnByb3RvdHlwZVsxXSA9IG9iajsgeCA9IFtvYmpdOyB4Lmxlbmd0aCA9IDI7IHgudG9Mb2NhbGVTdHJpbmcoKTsgbiA9PT0gMi4gQWN0dWFsOiAnICsgKG4pKTsgICAgCn0KCg==","commentary":"[[Get]] from not an inherited property","description":"[[Prototype]] of Array instance is Array.prototype","path":"TestCases/ch15/15.4/15.4.4/15.4.4.3/S15.4.4.3_A3_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgbGVuZ3RoIHByb3BlcnR5IG9mIHRvTG9jYWxlU3RyaW5nIGhhcyB0aGUgYXR0cmlidXRlIERvbnRFbnVtCiAqCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjMvUzE1LjQuNC4zX0E0LjEuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIHVzZSBwcm9wZXJ0eUlzRW51bWVyYWJsZSwgZm9yLWluCiAqLwoKLy9DSEVDSyMxCmlmIChBcnJheS5wcm90b3R5cGUudG9Mb2NhbGVTdHJpbmcucHJvcGVydHlJc0VudW1lcmFibGUoJ2xlbmd0aCcpICE9PSBmYWxzZSkgewogICRFUlJPUignIzE6IEFycmF5LnByb3RvdHlwZS50b0xvY2FsZVN0cmluZy5wcm9wZXJ0eUlzRW51bWVyYWJsZShcJ2xlbmd0aFwnKSA9PT0gZmFsc2UuIEFjdHVhbDogJyArIChBcnJheS5wcm90b3R5cGUudG9Mb2NhbGVTdHJpbmcucHJvcGVydHlJc0VudW1lcmFibGUoJ2xlbmd0aCcpKSk7Cn0KCi8vQ0hFQ0sjMgp2YXIgcmVzdWx0ID0gdHJ1ZTsKZm9yICh2YXIgcCBpbiBBcnJheS50b0xvY2FsZVN0cmluZyl7CiAgaWYgKHAgPT09ICJsZW5ndGgiKSB7CiAgICByZXN1bHQgPSBmYWxzZTsKICB9ICAKfQoKaWYgKHJlc3VsdCAhPT0gdHJ1ZSkgewogICRFUlJPUignIzI6IHJlc3VsdCA9IHRydWU7IGZvciAocCBpbiBBcnJheS50b0xvY2FsZVN0cmluZykgeyBpZiAocCA9PT0gImxlbmd0aCIpIHJlc3VsdCA9IGZhbHNlOyB9ICByZXN1bHQgPT09IHRydWU7Jyk7Cn0KCgo=","commentary":"The length property of toLocaleString has the attribute DontEnum","description":"Checking use propertyIsEnumerable, for-in","path":"TestCases/ch15/15.4/15.4.4/15.4.4.3/S15.4.4.3_A4.1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgbGVuZ3RoIHByb3BlcnR5IG9mIHRvTG9jYWxlU3RyaW5nIGhhcyB0aGUgYXR0cmlidXRlIERvbnREZWxldGUKICoKICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMy9TMTUuNC40LjNfQTQuMi5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgdXNlIGhhc093blByb3BlcnR5LCBkZWxldGUKICovCgovL0NIRUNLIzEKaWYgKEFycmF5LnByb3RvdHlwZS50b0xvY2FsZVN0cmluZy5oYXNPd25Qcm9wZXJ0eSgnbGVuZ3RoJykgIT09IHRydWUpIHsKICAkRkFJTCgnIzE6IEFycmF5LnByb3RvdHlwZS50b0xvY2FsZVN0cmluZy5oYXNPd25Qcm9wZXJ0eShcJ2xlbmd0aFwnKSA9PT0gdHJ1ZS4gQWN0dWFsOiAnICsgKEFycmF5LnByb3RvdHlwZS50b0xvY2FsZVN0cmluZy5oYXNPd25Qcm9wZXJ0eSgnbGVuZ3RoJykpKTsKfQoKZGVsZXRlIEFycmF5LnByb3RvdHlwZS50b0xvY2FsZVN0cmluZy5sZW5ndGg7CgovL0NIRUNLIzIKaWYgKEFycmF5LnByb3RvdHlwZS50b0xvY2FsZVN0cmluZy5oYXNPd25Qcm9wZXJ0eSgnbGVuZ3RoJykgIT09IHRydWUpIHsKICAkRVJST1IoJyMyOiBkZWxldGUgQXJyYXkucHJvdG90eXBlLnRvTG9jYWxlU3RyaW5nLmxlbmd0aDsgQXJyYXkucHJvdG90eXBlLnRvTG9jYWxlU3RyaW5nLmhhc093blByb3BlcnR5KFwnbGVuZ3RoXCcpID09PSB0cnVlLiBBY3R1YWw6ICcgKyAoQXJyYXkucHJvdG90eXBlLnRvTG9jYWxlU3RyaW5nLmhhc093blByb3BlcnR5KCdsZW5ndGgnKSkpOwp9CgovL0NIRUNLIzMKaWYgKEFycmF5LnByb3RvdHlwZS50b0xvY2FsZVN0cmluZy5sZW5ndGggPT09IHVuZGVmaW5lZCkgewogICRFUlJPUignIzM6IGRlbGV0ZSBBcnJheS5wcm90b3R5cGUudG9Mb2NhbGVTdHJpbmcubGVuZ3RoOyBBcnJheS5wcm90b3R5cGUudG9Mb2NhbGVTdHJpbmcubGVuZ3RoICE9PSB1bmRlZmluZWQnKTsKfQoKCgo=","commentary":"The length property of toLocaleString has the attribute DontDelete","description":"Checking use hasOwnProperty, delete","path":"TestCases/ch15/15.4/15.4.4/15.4.4.3/S15.4.4.3_A4.2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgbGVuZ3RoIHByb3BlcnR5IG9mIHRvTG9jYWxlU3RyaW5nIGhhcyB0aGUgYXR0cmlidXRlIFJlYWRPbmx5CiAqCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjMvUzE1LjQuNC4zX0E0LjMuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIHZhcnlpbmcgdGhlIGxlbmd0aCBwcm9wZXJ0eSBmYWlscwogKiBAbm9TdHJpY3QKICovCgovL0NIRUNLIzEKdmFyIHggPSBBcnJheS5wcm90b3R5cGUudG9Mb2NhbGVTdHJpbmcubGVuZ3RoOwpBcnJheS5wcm90b3R5cGUudG9Mb2NhbGVTdHJpbmcubGVuZ3RoID0gSW5maW5pdHk7CmlmIChBcnJheS5wcm90b3R5cGUudG9Mb2NhbGVTdHJpbmcubGVuZ3RoICE9PSB4KSB7CiAgJEVSUk9SKCcjMTogeCA9IEFycmF5LnByb3RvdHlwZS50b0xvY2FsZVN0cmluZy5sZW5ndGg7IEFycmF5LnByb3RvdHlwZS50b0xvY2FsZVN0cmluZy5sZW5ndGggPSBJbmZpbml0eTsgQXJyYXkucHJvdG90eXBlLnRvTG9jYWxlU3RyaW5nLmxlbmd0aCA9PT0geC4gQWN0dWFsOiAnICsgKEFycmF5LnByb3RvdHlwZS50b0xvY2FsZVN0cmluZy5sZW5ndGgpKTsKfQoKCg==","commentary":"The length property of toLocaleString has the attribute ReadOnly","description":"Checking if varying the length property fails","noStrict":"","path":"TestCases/ch15/15.4/15.4.4/15.4.4.3/S15.4.4.3_A4.3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgbGVuZ3RoIHByb3BlcnR5IG9mIHRvTG9jYWxlU3RyaW5nIGlzIDAKICoKICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMy9TMTUuNC40LjNfQTQuNC5qcwogKiBAZGVzY3JpcHRpb24gdG9Mb2NhbGVTdHJpbmcubGVuZ3RoID09PSAxCiAqLwoKLy9DSEVDSyMxCmlmIChBcnJheS5wcm90b3R5cGUudG9Mb2NhbGVTdHJpbmcubGVuZ3RoICE9PSAwKSB7CiAgJEVSUk9SKCcjMTogQXJyYXkucHJvdG90eXBlLnRvTG9jYWxlU3RyaW5nLmxlbmd0aCA9PT0gMC4gQWN0dWFsOiAnICsgKEFycmF5LnByb3RvdHlwZS50b0xvY2FsZVN0cmluZy5sZW5ndGgpKTsKfQoKCg==","commentary":"The length property of toLocaleString is 0","description":"toLocaleString.length === 1","path":"TestCases/ch15/15.4/15.4.4/15.4.4.3/S15.4.4.3_A4.4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgdG9Mb2NhbGVTdHJpbmcgcHJvcGVydHkgb2YgQXJyYXkgaGFzIHRoZSBhdHRyaWJ1dGUgRG9udEVudW0KICoKICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMy9TMTUuNC40LjNfQTQuNS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgdXNlIHByb3BlcnR5SXNFbnVtZXJhYmxlLCBmb3ItaW4KICovCgovL0NIRUNLIzEKaWYgKEFycmF5LnByb3BlcnR5SXNFbnVtZXJhYmxlKCd0b0xvY2FsZVN0cmluZycpICE9PSBmYWxzZSkgewogICRFUlJPUignIzE6IEFycmF5LnByb3BlcnR5SXNFbnVtZXJhYmxlKFwndG9Mb2NhbGVTdHJpbmdcJykgPT09IGZhbHNlLiBBY3R1YWw6ICcgKyAoQXJyYXkucHJvcGVydHlJc0VudW1lcmFibGUoJ3RvTG9jYWxlU3RyaW5nJykpKTsKfQoKLy9DSEVDSyMyCnZhciByZXN1bHQgPSB0cnVlOwpmb3IgKHZhciBwIGluIEFycmF5KXsKICBpZiAocCA9PT0gInRvTG9jYWxlU3RyaW5nIikgewogICAgcmVzdWx0ID0gZmFsc2U7CiAgfSAgCn0KCmlmIChyZXN1bHQgIT09IHRydWUpIHsKICAkRVJST1IoJyMyOiByZXN1bHQgPSB0cnVlOyBmb3IgKHAgaW4gQXJyYXkpIHsgaWYgKHAgPT09ICJ0b0xvY2FsZVN0cmluZyIpIHJlc3VsdCA9IGZhbHNlOyB9ICByZXN1bHQgPT09IHRydWU7Jyk7Cn0KCgo=","commentary":"The toLocaleString property of Array has the attribute DontEnum","description":"Checking use propertyIsEnumerable, for-in","path":"TestCases/ch15/15.4/15.4.4/15.4.4.3/S15.4.4.3_A4.5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgdG9Mb2NhbGVTdHJpbmcgcHJvcGVydHkgb2YgQXJyYXkgaGFzIG5vdCBwcm90b3R5cGUgcHJvcGVydHkKICoKICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuMy9TMTUuNC40LjNfQTQuNi5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgQXJyYXkucHJvdG90eXBlLnRvTG9jYWxlU3RyaW5nLnByb3RvdHlwZQogKi8KCi8vQ0hFQ0sjMQppZiAoQXJyYXkucHJvdG90eXBlLnRvTG9jYWxlU3RyaW5nLnByb3RvdHlwZSAhPT0gdW5kZWZpbmVkKSB7CiAgJEVSUk9SKCcjMTogQXJyYXkucHJvdG90eXBlLnRvTG9jYWxlU3RyaW5nLnByb3RvdHlwZSA9PT0gdW5kZWZpbmVkLiBBY3R1YWw6ICcgKyAoQXJyYXkucHJvdG90eXBlLnRvTG9jYWxlU3RyaW5nLnByb3RvdHlwZSkpOwp9Cgo=","commentary":"The toLocaleString property of Array has not prototype property","description":"Checking Array.prototype.toLocaleString.prototype","path":"TestCases/ch15/15.4/15.4.4/15.4.4.3/S15.4.4.3_A4.6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgdG9Mb2NhbGVTdHJpbmcgcHJvcGVydHkgb2YgQXJyYXkgY2FuJ3QgYmUgdXNlZCBhcyBjb25zdHJ1Y3RvcgogKgogKiBAcGF0aCBjaDE1LzE1LjQvMTUuNC40LzE1LjQuNC4zL1MxNS40LjQuM19BNC43LmpzCiAqIEBkZXNjcmlwdGlvbiBJZiBwcm9wZXJ0eSBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGludGVybmFsIFtbQ29uc3RydWN0XV0gbWV0aG9kLCB0aHJvdyBhIFR5cGVFcnJvciBleGNlcHRpb24KICovCgovL0NIRUNLIzEKCnRyeSB7CiAgbmV3IEFycmF5LnByb3RvdHlwZS50b0xvY2FsZVN0cmluZygpOwogICRFUlJPUignIzEuMTogbmV3IEFycmF5LnByb3RvdHlwZS50b0xvY2FsZVN0cmluZygpIHRocm93IFR5cGVFcnJvci4gQWN0dWFsOiAnICsgKG5ldyBBcnJheS5wcm90b3R5cGUudG9Mb2NhbGVTdHJpbmcoKSkpOwp9IGNhdGNoIChlKSB7CiAgaWYgKChlIGluc3RhbmNlb2YgVHlwZUVycm9yKSAhPT0gdHJ1ZSkgewogICAgJEVSUk9SKCcjMS4yOiBuZXcgQXJyYXkucHJvdG90eXBlLnRvTG9jYWxlU3RyaW5nKCkgdGhyb3cgVHlwZUVycm9yLiBBY3R1YWw6ICcgKyAoZSkpOwogIH0KfQoK","commentary":"The toLocaleString property of Array can't be used as constructor","description":"If property does not implement the internal [[Construct]] method, throw a TypeError exception","path":"TestCases/ch15/15.4/15.4.4/15.4.4.3/S15.4.4.3_A4.7.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuNC8xNS40LjQuNC01LWItaWlpLTMtYi0xLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmNvbmNhdCB3aWxsIGNvbmNhdCBhbiBBcnJheSB3aGVuIGluZGV4IHByb3BlcnR5IChyZWFkLW9ubHkpIGV4aXN0cyBpbiBBcnJheS5wcm90b3R5cGUgKFN0ZXAgNS5iLmlpaS4zLmIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShBcnJheS5wcm90b3R5cGUsICIwIiwgew0KICAgICAgICAgICAgICAgIHZhbHVlOiAxMDAsDQogICAgICAgICAgICAgICAgd3JpdGFibGU6IGZhbHNlLA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgIHZhciBvbGRBcnIgPSBbMTAxXTsNCg0KICAgICAgICAgICAgdmFyIG5ld0FyciA9IEFycmF5LnByb3RvdHlwZS5jb25jYXQuY2FsbChvbGRBcnIpOw0KDQogICAgICAgICAgICB2YXIgdmVyaWZ5VmFsdWUgPSBmYWxzZTsNCiAgICAgICAgICAgIHZlcmlmeVZhbHVlID0gbmV3QXJyWzBdID09PSAxMDE7DQoNCiAgICAgICAgICAgIHZhciB2ZXJpZnlFbnVtZXJhYmxlID0gZmFsc2U7DQogICAgICAgICAgICBmb3IgKHZhciBwIGluIG5ld0Fycikgew0KICAgICAgICAgICAgICAgIGlmIChwID09PSAiMCIgJiYgbmV3QXJyLmhhc093blByb3BlcnR5KCIwIikpIHsNCiAgICAgICAgICAgICAgICAgICAgdmVyaWZ5RW51bWVyYWJsZSA9IHRydWU7DQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICB2YXIgdmVyaWZ5V3JpdGFibGUgPSBmYWxzZTsNCiAgICAgICAgICAgIG5ld0FyclswXSA9IDEyOw0KICAgICAgICAgICAgdmVyaWZ5V3JpdGFibGUgPSBuZXdBcnJbMF0gPT09IDEyOw0KDQogICAgICAgICAgICB2YXIgdmVyaWZ5Q29uZmlndXJhYmxlID0gZmFsc2U7DQogICAgICAgICAgICBkZWxldGUgbmV3QXJyWzBdOw0KICAgICAgICAgICAgdmVyaWZ5Q29uZmlndXJhYmxlID0gbmV3QXJyLmhhc093blByb3BlcnR5KCIwIik7DQoNCiAgICAgICAgICAgIHJldHVybiB2ZXJpZnlWYWx1ZSAmJiAhdmVyaWZ5Q29uZmlndXJhYmxlICYmIHZlcmlmeUVudW1lcmFibGUgJiYgdmVyaWZ5V3JpdGFibGU7DQogICAgICAgIH0gZmluYWxseSB7DQogICAgICAgICAgICBkZWxldGUgQXJyYXkucHJvdG90eXBlWzBdOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array.prototype.concat will concat an Array when index property (read-only) exists in Array.prototype (Step 5.b.iii.3.b)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.4/15.4.4.4-5-b-iii-3-b-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuNC8xNS40LjQuNC01LWMtaS0xLmpzDQogKiBAZGVzY3JpcHRpb24gQXJyYXkucHJvdG90eXBlLmNvbmNhdCB3aWxsIGNvbmNhdCBhbiBBcnJheSB3aGVuIGluZGV4IHByb3BlcnR5IChyZWFkLW9ubHkpIGV4aXN0cyBpbiBBcnJheS5wcm90b3R5cGUgKFN0ZXAgNS5jLmkpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShBcnJheS5wcm90b3R5cGUsICIwIiwgew0KICAgICAgICAgICAgICAgIHZhbHVlOiAxMDAsDQogICAgICAgICAgICAgICAgd3JpdGFibGU6IGZhbHNlLA0KICAgICAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZQ0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgIHZhciBuZXdBcnIgPSBBcnJheS5wcm90b3R5cGUuY29uY2F0LmNhbGwoMTAxKTsNCg0KICAgICAgICAgICAgdmFyIGhhc1Byb3BlcnR5ID0gbmV3QXJyLmhhc093blByb3BlcnR5KCIwIik7DQoNCgkgICAgdmFyIGluc3RhbmNlT2ZWZXJpZnkgPSB0eXBlb2YgbmV3QXJyWzBdPT09Im9iamVjdCI7DQogICAgICAgICAgICANCiAgICAgICAgICAgIHZhciB2ZXJpZnlWYWx1ZSA9IGZhbHNlOw0KICAgICAgICAgICAgdmVyaWZ5VmFsdWUgPSBuZXdBcnJbMF0gPT0gMTAxOw0KDQogICAgICAgICAgICB2YXIgdmVyaWZ5RW51bWVyYWJsZSA9IGZhbHNlOw0KICAgICAgICAgICAgZm9yICh2YXIgcCBpbiBuZXdBcnIpIHsNCiAgICAgICAgICAgICAgICBpZiAocCA9PT0gIjAiICYmIG5ld0Fyci5oYXNPd25Qcm9wZXJ0eSgiMCIpKSB7DQogICAgICAgICAgICAgICAgICAgIHZlcmlmeUVudW1lcmFibGUgPSB0cnVlOw0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgdmFyIHZlcmlmeVdyaXRhYmxlID0gZmFsc2U7DQogICAgICAgICAgICBuZXdBcnJbMF0gPSAxMjsNCiAgICAgICAgICAgIHZlcmlmeVdyaXRhYmxlID0gbmV3QXJyWzBdID09PSAxMjsNCg0KICAgICAgICAgICAgdmFyIHZlcmlmeUNvbmZpZ3VyYWJsZSA9IGZhbHNlOw0KICAgICAgICAgICAgZGVsZXRlIG5ld0FyclswXTsNCiAgICAgICAgICAgIHZlcmlmeUNvbmZpZ3VyYWJsZSA9IG5ld0Fyci5oYXNPd25Qcm9wZXJ0eSgiMCIpOw0KDQogICAgICAgICAgICByZXR1cm4gaGFzUHJvcGVydHkgJiYgaW5zdGFuY2VPZlZlcmlmeSAmJiB2ZXJpZnlWYWx1ZSAmJiAhdmVyaWZ5Q29uZmlndXJhYmxlICYmIHZlcmlmeUVudW1lcmFibGUgJiYgdmVyaWZ5V3JpdGFibGU7DQoJDQoNCiAgICAgICAgfSBmaW5hbGx5IHsNCiAgICAgICAgICAgIGRlbGV0ZSBBcnJheS5wcm90b3R5cGVbMF07DQogICAgICAgIH0NCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Array.prototype.concat will concat an Array when index property (read-only) exists in Array.prototype (Step 5.c.i)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.4/15.4.4.4-5-c-i-1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuIHRoZSBjb25jYXQgbWV0aG9kIGlzIGNhbGxlZCB3aXRoIHplcm8gb3IgbW9yZSBhcmd1bWVudHMgaXRlbTEsIGl0ZW0yLAogKiBldGMuLCBpdCByZXR1cm5zIGFuIGFycmF5IGNvbnRhaW5pbmcgdGhlIGFycmF5IGVsZW1lbnRzIG9mIHRoZSBvYmplY3QgZm9sbG93ZWQgYnkKICogdGhlIGFycmF5IGVsZW1lbnRzIG9mIGVhY2ggYXJndW1lbnQgaW4gb3JkZXIKICoKICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuNC9TMTUuNC40LjRfQTFfVDEuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIHRoaXMgYWxnb3JpdGhtLCBpdGVtcyBhcmUgQXJyYXkgb2JqZWN0CiAqLwoKdmFyIHggPSBuZXcgQXJyYXkoKTsKdmFyIHkgPSBuZXcgQXJyYXkoMCwxKTsKdmFyIHogPSBuZXcgQXJyYXkoMiwzLDQpOwp2YXIgYXJyID0geC5jb25jYXQoeSx6KTsKCi8vQ0hFQ0sjMAphcnIuZ2V0Q2xhc3MgPSBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nOwppZiAoYXJyLmdldENsYXNzKCkgIT09ICJbb2JqZWN0ICIgKyAiQXJyYXkiICsgIl0iKSB7CiAgJEVSUk9SKCcjMDogdmFyIHggPSBuZXcgQXJyYXkoKTsgdmFyIHkgPSBuZXcgQXJyYXkoMCwxKTsgdmFyIHogPSBuZXcgQXJyYXkoMiwzLDQpOyB2YXIgYXJyID0geC5jb25jYXQoeSx6KTsgYXJyIGlzIEFycmF5IG9iamVjdC4gQWN0dWFsOiAnICsgKGFyci5nZXRDbGFzcygpKSk7Cn0KCi8vQ0hFQ0sjMQppZiAoYXJyWzBdICE9PSAwKSB7CiAgJEVSUk9SKCcjMTogdmFyIHggPSBuZXcgQXJyYXkoKTsgdmFyIHkgPSBuZXcgQXJyYXkoMCwxKTsgdmFyIHogPSBuZXcgQXJyYXkoMiwzLDQpOyB2YXIgYXJyID0geC5jb25jYXQoeSx6KTsgYXJyWzBdID09PSAwLiBBY3R1YWw6ICcgKyAoYXJyWzBdKSk7Cn0KCi8vQ0hFQ0sjMgppZiAoYXJyWzFdICE9PSAxKSB7CiAgJEVSUk9SKCcjMjogdmFyIHggPSBuZXcgQXJyYXkoKTsgdmFyIHkgPSBuZXcgQXJyYXkoMCwxKTsgdmFyIHogPSBuZXcgQXJyYXkoMiwzLDQpOyB2YXIgYXJyID0geC5jb25jYXQoeSx6KTsgYXJyWzFdID09PSAxLiBBY3R1YWw6ICcgKyAoYXJyWzFdKSk7Cn0KCi8vQ0hFQ0sjMwppZiAoYXJyWzJdICE9PSAyKSB7CiAgJEVSUk9SKCcjMzogdmFyIHggPSBuZXcgQXJyYXkoKTsgdmFyIHkgPSBuZXcgQXJyYXkoMCwxKTsgdmFyIHogPSBuZXcgQXJyYXkoMiwzLDQpOyB2YXIgYXJyID0geC5jb25jYXQoeSx6KTsgYXJyWzJdID09PSAyLiBBY3R1YWw6ICcgKyAoYXJyWzJdKSk7Cn0KCi8vQ0hFQ0sjNAppZiAoYXJyWzNdICE9PSAzKSB7CiAgJEVSUk9SKCcjNDogdmFyIHggPSBuZXcgQXJyYXkoKTsgdmFyIHkgPSBuZXcgQXJyYXkoMCwxKTsgdmFyIHogPSBuZXcgQXJyYXkoMiwzLDQpOyB2YXIgYXJyID0geC5jb25jYXQoeSx6KTsgYXJyWzNdID09PSAzLiBBY3R1YWw6ICcgKyAoYXJyWzNdKSk7Cn0KCi8vQ0hFQ0sjNQppZiAoYXJyWzRdICE9PSA0KSB7CiAgJEVSUk9SKCcjNTogdmFyIHggPSBuZXcgQXJyYXkoKTsgdmFyIHkgPSBuZXcgQXJyYXkoMCwxKTsgdmFyIHogPSBuZXcgQXJyYXkoMiwzLDQpOyB2YXIgYXJyID0geC5jb25jYXQoeSx6KTsgYXJyWzRdID09PSA0LiBBY3R1YWw6ICcgKyAoYXJyWzRdKSk7Cn0KCi8vQ0hFQ0sjNgppZiAoYXJyLmxlbmd0aCAhPT0gNSkgewogICRFUlJPUignIzY6IHZhciB4ID0gbmV3IEFycmF5KCk7IHZhciB5ID0gbmV3IEFycmF5KDAsMSk7IHZhciB6ID0gbmV3IEFycmF5KDIsMyw0KTsgdmFyIGFyciA9IHguY29uY2F0KHkseik7IGFyci5sZW5ndGggPT09IDUuIEFjdHVhbDogJyArIChhcnIubGVuZ3RoKSk7Cn0gICAgICAgICAgICAgICAgCgo=","commentary":"When the concat method is called with zero or more arguments item1, item2,\netc., it returns an array containing the array elements of the object followed by\nthe array elements of each argument in order","description":"Checking this algorithm, items are Array object","path":"TestCases/ch15/15.4/15.4.4/15.4.4.4/S15.4.4.4_A1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuIHRoZSBjb25jYXQgbWV0aG9kIGlzIGNhbGxlZCB3aXRoIHplcm8gb3IgbW9yZSBhcmd1bWVudHMgaXRlbTEsIGl0ZW0yLAogKiBldGMuLCBpdCByZXR1cm5zIGFuIGFycmF5IGNvbnRhaW5pbmcgdGhlIGFycmF5IGVsZW1lbnRzIG9mIHRoZSBvYmplY3QgZm9sbG93ZWQgYnkKICogdGhlIGFycmF5IGVsZW1lbnRzIG9mIGVhY2ggYXJndW1lbnQgaW4gb3JkZXIKICoKICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuNC9TMTUuNC40LjRfQTFfVDIuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIHRoaXMgYWxnb3JpdGhtLCBpdGVtcyBhcmUgb2JqZWN0cyBhbmQgcHJpbWl0aXZlcwogKi8KCnZhciB4ID0gWzBdOwp2YXIgeSA9IG5ldyBPYmplY3QoKTsKdmFyIHogPSBuZXcgQXJyYXkoMSwyKTsKdmFyIGFyciA9IHguY29uY2F0KHkseiwgLTEsIHRydWUsICJOYU4iKTsKCi8vQ0hFQ0sjMAphcnIuZ2V0Q2xhc3MgPSBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nOwppZiAoYXJyLmdldENsYXNzKCkgIT09ICJbb2JqZWN0ICIgKyAiQXJyYXkiICsgIl0iKSB7CiAgJEVSUk9SKCcjMDogdmFyIHggPSBbMF07IHZhciB5ID0gbmV3IE9iamVjdCgpOyB2YXIgeiA9IG5ldyBBcnJheSgxLDIpOyB2YXIgYXJyID0geC5jb25jYXQoeSx6LCAtMSwgdHJ1ZSwgIk5hTiIpOyBhcnIgaXMgQXJyYXkgb2JqZWN0LiBBY3R1YWw6ICcgKyAoYXJyLmdldENsYXNzKCkpKTsKfQoKLy9DSEVDSyMxCmlmIChhcnJbMF0gIT09IDApIHsKICAkRVJST1IoJyMxOiB2YXIgeCA9IFswXTsgdmFyIHkgPSBuZXcgT2JqZWN0KCk7IHZhciB6ID0gbmV3IEFycmF5KDEsMik7IHZhciBhcnIgPSB4LmNvbmNhdCh5LHosIC0xLCB0cnVlLCAiTmFOIik7IGFyclswXSA9PT0gMC4gQWN0dWFsOiAnICsgKGFyclswXSkpOwp9CgovL0NIRUNLIzIKaWYgKGFyclsxXSAhPT0geSkgewogICRFUlJPUignIzI6IHZhciB4ID0gWzBdOyB2YXIgeSA9IG5ldyBPYmplY3QoKTsgdmFyIHogPSBuZXcgQXJyYXkoMSwyKTsgdmFyIGFyciA9IHguY29uY2F0KHkseiwgLTEsIHRydWUsICJOYU4iKTsgYXJyWzFdID09PSB5LiBBY3R1YWw6ICcgKyAoYXJyWzFdKSk7Cn0KCi8vQ0hFQ0sjMwppZiAoYXJyWzJdICE9PSAxKSB7CiAgJEVSUk9SKCcjMzogdmFyIHggPSBbMF07IHZhciB5ID0gbmV3IE9iamVjdCgpOyB2YXIgeiA9IG5ldyBBcnJheSgxLDIpOyB2YXIgYXJyID0geC5jb25jYXQoeSx6LCAtMSwgdHJ1ZSwgIk5hTiIpOyBhcnJbMl0gPT09IDEuIEFjdHVhbDogJyArIChhcnJbMl0pKTsKfQoKLy9DSEVDSyM0CmlmIChhcnJbM10gIT09IDIpIHsKICAkRVJST1IoJyM0OiB2YXIgeCA9IFswXTsgdmFyIHkgPSBuZXcgT2JqZWN0KCk7IHZhciB6ID0gbmV3IEFycmF5KDEsMik7IHZhciBhcnIgPSB4LmNvbmNhdCh5LHosIC0xLCB0cnVlLCAiTmFOIik7IGFyclszXSA9PT0gMi4gQWN0dWFsOiAnICsgKGFyclszXSkpOwp9CgovL0NIRUNLIzUKaWYgKGFycls0XSAhPT0gLTEpIHsKICAkRVJST1IoJyM1OiB2YXIgeCA9IFswXTsgdmFyIHkgPSBuZXcgT2JqZWN0KCk7IHZhciB6ID0gbmV3IEFycmF5KDEsMik7IHZhciBhcnIgPSB4LmNvbmNhdCh5LHosIC0xLCB0cnVlLCAiTmFOIik7IGFycls0XSA9PT0gLTEuIEFjdHVhbDogJyArIChhcnJbNF0pKTsKfQoKLy9DSEVDSyM2CmlmIChhcnJbNV0gIT09IHRydWUpIHsKICAkRVJST1IoJyM2OiB2YXIgeCA9IFswXTsgdmFyIHkgPSBuZXcgT2JqZWN0KCk7IHZhciB6ID0gbmV3IEFycmF5KDEsMik7IHZhciBhcnIgPSB4LmNvbmNhdCh5LHosIC0xLCB0cnVlLCAiTmFOIik7IGFycls1XSA9PT0gdHJ1ZS4gQWN0dWFsOiAnICsgKGFycls1XSkpOwp9CgovL0NIRUNLIzcKaWYgKGFycls2XSAhPT0gIk5hTiIpIHsKICAkRVJST1IoJyM3OiB2YXIgeCA9IFswXTsgdmFyIHkgPSBuZXcgT2JqZWN0KCk7IHZhciB6ID0gbmV3IEFycmF5KDEsMik7IHZhciBhcnIgPSB4LmNvbmNhdCh5LHosIC0xLCB0cnVlLCAiTmFOIik7IGFycls2XSA9PT0gIk5hTiIuIEFjdHVhbDogJyArIChhcnJbNl0pKTsKfQoKLy9DSEVDSyM4CmlmIChhcnIubGVuZ3RoICE9PSA3KSB7CiAgJEVSUk9SKCcjODogdmFyIHggPSBbMF07IHZhciB5ID0gbmV3IE9iamVjdCgpOyB2YXIgeiA9IG5ldyBBcnJheSgxLDIpOyB2YXIgYXJyID0geC5jb25jYXQoeSx6LCAtMSwgdHJ1ZSwgIk5hTiIpOyBhcnIubGVuZ3RoID09PSA3LiBBY3R1YWw6ICcgKyAoYXJyLmxlbmd0aCkpOwp9ICAgICAgICAgICAgICAgIAoK","commentary":"When the concat method is called with zero or more arguments item1, item2,\netc., it returns an array containing the array elements of the object followed by\nthe array elements of each argument in order","description":"Checking this algorithm, items are objects and primitives","path":"TestCases/ch15/15.4/15.4.4/15.4.4.4/S15.4.4.4_A1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuIHRoZSBjb25jYXQgbWV0aG9kIGlzIGNhbGxlZCB3aXRoIHplcm8gb3IgbW9yZSBhcmd1bWVudHMgaXRlbTEsIGl0ZW0yLAogKiBldGMuLCBpdCByZXR1cm5zIGFuIGFycmF5IGNvbnRhaW5pbmcgdGhlIGFycmF5IGVsZW1lbnRzIG9mIHRoZSBvYmplY3QgZm9sbG93ZWQgYnkKICogdGhlIGFycmF5IGVsZW1lbnRzIG9mIGVhY2ggYXJndW1lbnQgaW4gb3JkZXIKICoKICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuNC9TMTUuNC40LjRfQTFfVDMuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIHRoaXMgYWxnb3JpdGhtIHdpdGggbm8gaXRlbXMKICovCgp2YXIgeCA9IFswLDFdOwp2YXIgYXJyID0geC5jb25jYXQoKTsKCi8vQ0hFQ0sjMAphcnIuZ2V0Q2xhc3MgPSBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nOwppZiAoYXJyLmdldENsYXNzKCkgIT09ICJbb2JqZWN0ICIgKyAiQXJyYXkiICsgIl0iKSB7CiAgJEVSUk9SKCcjMDogdmFyIHggPSBbMCwxXTsgdmFyIGFyciA9IHguY29uY2F0KCk7IGFyciBpcyBBcnJheSBvYmplY3QuIEFjdHVhbDogJyArIChhcnIuZ2V0Q2xhc3MoKSkpOwp9CgovL0NIRUNLIzEKaWYgKGFyclswXSAhPT0gMCkgewogICRFUlJPUignIzE6IHZhciB4ID0gWzAsMV07IHZhciBhcnIgPSB4LmNvbmNhdCgpOyBhcnJbMF0gPT09IDAuIEFjdHVhbDogJyArIChhcnJbMF0pKTsKfQoKLy9DSEVDSyMyCmlmIChhcnJbMV0gIT09IDEpIHsKICAkRVJST1IoJyMyOiB2YXIgeCA9IFswLDFdOyB2YXIgYXJyID0geC5jb25jYXQoKTsgYXJyWzFdID09PSAxLiBBY3R1YWw6ICcgKyAoYXJyWzFdKSk7Cn0KCi8vQ0hFQ0sjMwppZiAoYXJyLmxlbmd0aCAhPT0gMikgewogICRFUlJPUignIzM6IHZhciB4ID0gWzAsMV07IHZhciBhcnIgPSB4LmNvbmNhdCgpOyBhcnIubGVuZ3RoID09PSAyLiBBY3R1YWw6ICcgKyAoYXJyLmxlbmd0aCkpOwp9ICAKCi8vQ0hFQ0sjNAppZiAoYXJyID09PSB4KSB7CiAgJEVSUk9SKCcjNDogdmFyIHggPSBbMCwxXTsgdmFyIGFyciA9IHguY29uY2F0KCk7IGFyciAhPT0geCcpOwp9ICAgICAgICAgICAgICAKCg==","commentary":"When the concat method is called with zero or more arguments item1, item2,\netc., it returns an array containing the array elements of the object followed by\nthe array elements of each argument in order","description":"Checking this algorithm with no items","path":"TestCases/ch15/15.4/15.4.4/15.4.4.4/S15.4.4.4_A1_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuIHRoZSBjb25jYXQgbWV0aG9kIGlzIGNhbGxlZCB3aXRoIHplcm8gb3IgbW9yZSBhcmd1bWVudHMgaXRlbTEsIGl0ZW0yLAogKiBldGMuLCBpdCByZXR1cm5zIGFuIGFycmF5IGNvbnRhaW5pbmcgdGhlIGFycmF5IGVsZW1lbnRzIG9mIHRoZSBvYmplY3QgZm9sbG93ZWQgYnkKICogdGhlIGFycmF5IGVsZW1lbnRzIG9mIGVhY2ggYXJndW1lbnQgaW4gb3JkZXIKICoKICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuNC9TMTUuNC40LjRfQTFfVDQuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIHRoaXMgYWxnb3JpdGhtLCBpdGVtcyBhcmUgW10sIFssXQogKi8KCnZhciB4ID0gWywxXTsKdmFyIGFyciA9IHguY29uY2F0KFtdLCBbLF0pOwoKLy9DSEVDSyMwCmFyci5nZXRDbGFzcyA9IE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmc7CmlmIChhcnIuZ2V0Q2xhc3MoKSAhPT0gIltvYmplY3QgIiArICJBcnJheSIgKyAiXSIpIHsKICAkRVJST1IoJyMwOiB2YXIgeCA9IFssMV07IHZhciBhcnIgPSB4LmNvbmNhdChbXSwgWyxdKTsgYXJyIGlzIEFycmF5IG9iamVjdC4gQWN0dWFsOiAnICsgKGFyci5nZXRDbGFzcygpKSk7Cn0KCi8vQ0hFQ0sjMQppZiAoYXJyWzBdICE9PSB1bmRlZmluZWQpIHsKICAkRVJST1IoJyMxOiB2YXIgeCA9IFssMV07IHZhciBhcnIgPSB4LmNvbmNhdChbXSwgWyxdKTsgYXJyWzBdID09PSB1bmRlZmluZWQuIEFjdHVhbDogJyArIChhcnJbMF0pKTsKfQoKLy9DSEVDSyMyCmlmIChhcnJbMV0gIT09IDEpIHsKICAkRVJST1IoJyMyOiB2YXIgeCA9IFssMV07IHZhciBhcnIgPSB4LmNvbmNhdChbXSwgWyxdKTsgYXJyWzFdID09PSAxLiBBY3R1YWw6ICcgKyAoYXJyWzFdKSk7Cn0KCi8vQ0hFQ0sjMgppZiAoYXJyWzJdICE9PSB1bmRlZmluZWQpIHsKICAkRVJST1IoJyMyOiB2YXIgeCA9IFssMV07IHZhciBhcnIgPSB4LmNvbmNhdChbXSwgWyxdKTsgYXJyWzJdID09PSB1bmRlZmluZWQuIEFjdHVhbDogJyArIChhcnJbMl0pKTsKfQoKLy9DSEVDSyM0CmlmIChhcnIubGVuZ3RoICE9PSAzKSB7CiAgJEVSUk9SKCcjNDogdmFyIHggPSBbLDFdOyB2YXIgYXJyID0geC5jb25jYXQoW10sIFssXSk7IGFyci5sZW5ndGggPT09IDMuIEFjdHVhbDogJyArIChhcnIubGVuZ3RoKSk7Cn0gICAgICAgICAgICAgCgo=","commentary":"When the concat method is called with zero or more arguments item1, item2,\netc., it returns an array containing the array elements of the object followed by\nthe array elements of each argument in order","description":"Checking this algorithm, items are [], [,]","path":"TestCases/ch15/15.4/15.4.4/15.4.4.4/S15.4.4.4_A1_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgY29uY2F0IGZ1bmN0aW9uIGlzIGludGVudGlvbmFsbHkgZ2VuZXJpYy4KICogSXQgZG9lcyBub3QgcmVxdWlyZSB0aGF0IGl0cyB0aGlzIHZhbHVlIGJlIGFuIEFycmF5IG9iamVjdAogKgogKiBAcGF0aCBjaDE1LzE1LjQvMTUuNC40LzE1LjQuNC40L1MxNS40LjQuNF9BMl9UMS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgdGhpcyBmb3IgT2JqZWN0IG9iamVjdCwgaXRlbXMgYXJlIG9iamVjdHMgYW5kIHByaW1pdGl2ZXMKICovCgp2YXIgeCA9IHt9Owp4LmNvbmNhdCA9IEFycmF5LnByb3RvdHlwZS5jb25jYXQ7CnZhciB5ID0gbmV3IE9iamVjdCgpOwp2YXIgeiA9IG5ldyBBcnJheSgxLDIpOwp2YXIgYXJyID0geC5jb25jYXQoeSx6LCAtMSwgdHJ1ZSwgIk5hTiIpOwoKLy9DSEVDSyMwCmFyci5nZXRDbGFzcyA9IE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmc7CmlmIChhcnIuZ2V0Q2xhc3MoKSAhPT0gIltvYmplY3QgIiArICJBcnJheSIgKyAiXSIpIHsKICAkRVJST1IoJyMwOiB2YXIgeCA9IHt9OyB4LmNvbmNhdCA9IEFycmF5LnByb3RvdHlwZS5jb25jYXQ7IHZhciB5ID0gbmV3IE9iamVjdCgpOyB2YXIgeiA9IG5ldyBBcnJheSgxLDIpOyB2YXIgYXJyID0geC5jb25jYXQoeSx6LCAtMSwgdHJ1ZSwgIk5hTiIpOyBhcnIgaXMgQXJyYXkgb2JqZWN0LiBBY3R1YWw6ICcgKyAoYXJyLmdldENsYXNzKCkpKTsKfQoKLy9DSEVDSyMxCmlmIChhcnJbMF0gIT09IHgpIHsKICAkRVJST1IoJyMxOiB2YXIgeCA9IHt9OyB4LmNvbmNhdCA9IEFycmF5LnByb3RvdHlwZS5jb25jYXQ7IHZhciB5ID0gbmV3IE9iamVjdCgpOyB2YXIgeiA9IG5ldyBBcnJheSgxLDIpOyB2YXIgYXJyID0geC5jb25jYXQoeSx6LCAtMSwgdHJ1ZSwgIk5hTiIpOyBhcnJbMF0gPT09IHguIEFjdHVhbDogJyArIChhcnJbMF0pKTsKfQoKLy9DSEVDSyMyCmlmIChhcnJbMV0gIT09IHkpIHsKICAkRVJST1IoJyMyOiB2YXIgeCA9IHt9OyB4LmNvbmNhdCA9IEFycmF5LnByb3RvdHlwZS5jb25jYXQ7IHZhciB5ID0gbmV3IE9iamVjdCgpOyB2YXIgeiA9IG5ldyBBcnJheSgxLDIpOyB2YXIgYXJyID0geC5jb25jYXQoeSx6LCAtMSwgdHJ1ZSwgIk5hTiIpOyBhcnJbMV0gPT09IHkuIEFjdHVhbDogJyArIChhcnJbMV0pKTsKfQoKLy9DSEVDSyMzCmlmIChhcnJbMl0gIT09IDEpIHsKICAkRVJST1IoJyMzOiB2YXIgeCA9IHt9OyB4LmNvbmNhdCA9IEFycmF5LnByb3RvdHlwZS5jb25jYXQ7IHZhciB5ID0gbmV3IE9iamVjdCgpOyB2YXIgeiA9IG5ldyBBcnJheSgxLDIpOyB2YXIgYXJyID0geC5jb25jYXQoeSx6LCAtMSwgdHJ1ZSwgIk5hTiIpOyBhcnJbMl0gPT09IDEuIEFjdHVhbDogJyArIChhcnJbMl0pKTsKfQoKLy9DSEVDSyM0CmlmIChhcnJbM10gIT09IDIpIHsKICAkRVJST1IoJyM0OiB2YXIgeCA9IHt9OyB4LmNvbmNhdCA9IEFycmF5LnByb3RvdHlwZS5jb25jYXQ7IHZhciB5ID0gbmV3IE9iamVjdCgpOyB2YXIgeiA9IG5ldyBBcnJheSgxLDIpOyB2YXIgYXJyID0geC5jb25jYXQoeSx6LCAtMSwgdHJ1ZSwgIk5hTiIpOyBhcnJbM10gPT09IDIuIEFjdHVhbDogJyArIChhcnJbM10pKTsKfQoKLy9DSEVDSyM1CmlmIChhcnJbNF0gIT09IC0xKSB7CiAgJEVSUk9SKCcjNTogdmFyIHggPSB7fTsgeC5jb25jYXQgPSBBcnJheS5wcm90b3R5cGUuY29uY2F0OyB2YXIgeSA9IG5ldyBPYmplY3QoKTsgdmFyIHogPSBuZXcgQXJyYXkoMSwyKTsgdmFyIGFyciA9IHguY29uY2F0KHkseiwgLTEsIHRydWUsICJOYU4iKTsgYXJyWzRdID09PSAtMS4gQWN0dWFsOiAnICsgKGFycls0XSkpOwp9CgovL0NIRUNLIzYKaWYgKGFycls1XSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzY6IHZhciB4ID0ge307IHguY29uY2F0ID0gQXJyYXkucHJvdG90eXBlLmNvbmNhdDsgdmFyIHkgPSBuZXcgT2JqZWN0KCk7IHZhciB6ID0gbmV3IEFycmF5KDEsMik7IHZhciBhcnIgPSB4LmNvbmNhdCh5LHosIC0xLCB0cnVlLCAiTmFOIik7IGFycls1XSA9PT0gdHJ1ZS4gQWN0dWFsOiAnICsgKGFycls1XSkpOwp9CgovL0NIRUNLIzcKaWYgKGFycls2XSAhPT0gIk5hTiIpIHsKICAkRVJST1IoJyM3OiB2YXIgeCA9IHt9OyB4LmNvbmNhdCA9IEFycmF5LnByb3RvdHlwZS5jb25jYXQ7IHZhciB5ID0gbmV3IE9iamVjdCgpOyB2YXIgeiA9IG5ldyBBcnJheSgxLDIpOyB2YXIgYXJyID0geC5jb25jYXQoeSx6LCAtMSwgdHJ1ZSwgIk5hTiIpOyBhcnJbNl0gPT09ICJOYU4iLiBBY3R1YWw6ICcgKyAoYXJyWzZdKSk7Cn0KCi8vQ0hFQ0sjOAppZiAoYXJyLmxlbmd0aCAhPT0gNykgewogICRFUlJPUignIzg6IHZhciB4ID0ge307IHguY29uY2F0ID0gQXJyYXkucHJvdG90eXBlLmNvbmNhdDsgdmFyIHkgPSBuZXcgT2JqZWN0KCk7IHZhciB6ID0gbmV3IEFycmF5KDEsMik7IHZhciBhcnIgPSB4LmNvbmNhdCh5LHosIC0xLCB0cnVlLCAiTmFOIik7IGFyci5sZW5ndGggPT09IDcuIEFjdHVhbDogJyArIChhcnIubGVuZ3RoKSk7Cn0gICAgICAgICAgICAgICAgCgo=","commentary":"The concat function is intentionally generic.\nIt does not require that its this value be an Array object","description":"Checking this for Object object, items are objects and primitives","path":"TestCases/ch15/15.4/15.4.4/15.4.4.4/S15.4.4.4_A2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgY29uY2F0IGZ1bmN0aW9uIGlzIGludGVudGlvbmFsbHkgZ2VuZXJpYy4KICogSXQgZG9lcyBub3QgcmVxdWlyZSB0aGF0IGl0cyB0aGlzIHZhbHVlIGJlIGFuIEFycmF5IG9iamVjdAogKgogKiBAcGF0aCBjaDE1LzE1LjQvMTUuNC40LzE1LjQuNC40L1MxNS40LjQuNF9BMl9UMi5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgdGhpcyBmb3IgT2JqZWN0IG9iamVjdCB3aXRoIG5vIGl0ZW1zCiAqLwoKdmFyIHggPSB7fTsKeC5jb25jYXQgPSBBcnJheS5wcm90b3R5cGUuY29uY2F0Owp2YXIgYXJyID0geC5jb25jYXQoKTsKCi8vQ0hFQ0sjMAphcnIuZ2V0Q2xhc3MgPSBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nOwppZiAoYXJyLmdldENsYXNzKCkgIT09ICJbb2JqZWN0ICIgKyAiQXJyYXkiICsgIl0iKSB7CiAgJEVSUk9SKCcjMDogdmFyIHggPSB7fTsgeC5jb25jYXQgPSBBcnJheS5wcm90b3R5cGUuY29uY2F0OyB2YXIgYXJyID0geC5jb25jYXQoKSBhcnIgaXMgQXJyYXkgb2JqZWN0LiBBY3R1YWw6ICcgKyAoYXJyLmdldENsYXNzKCkpKTsKfQoKLy9DSEVDSyMxCmlmIChhcnJbMF0gIT09IHgpIHsKICAkRVJST1IoJyMxOiB2YXIgeCA9IHt9OyB4LmNvbmNhdCA9IEFycmF5LnByb3RvdHlwZS5jb25jYXQ7IHZhciBhcnIgPSB4LmNvbmNhdCgpOyBhcnJbMF0gPT09IHguIEFjdHVhbDogJyArIChhcnJbMF0pKTsKfQoKLy9DSEVDSyMyCmlmIChhcnIubGVuZ3RoICE9PSAxKSB7CiAgJEVSUk9SKCcjMjogdmFyIHggPSB7fTsgeC5jb25jYXQgPSBBcnJheS5wcm90b3R5cGUuY29uY2F0OyB2YXIgYXJyID0geC5jb25jYXQoKTsgYXJyLmxlbmd0aCA9PT0gMS4gQWN0dWFsOiAnICsgKGFyci5sZW5ndGgpKTsKfSAgICAgICAgICAgICAgICAKCg==","commentary":"The concat function is intentionally generic.\nIt does not require that its this value be an Array object","description":"Checking this for Object object with no items","path":"TestCases/ch15/15.4/15.4.4/15.4.4.4/S15.4.4.4_A2_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBbW0dldF1dIGZyb20gbm90IGFuIGluaGVyaXRlZCBwcm9wZXJ0eQogKgogKiBAcGF0aCBjaDE1LzE1LjQvMTUuNC40LzE1LjQuNC40L1MxNS40LjQuNF9BM19UMS5qcwogKiBAZGVzY3JpcHRpb24gW1tQcm90b3R5cGVdXSBvZiBBcnJheSBpbnN0YW5jZSBpcyBBcnJheS5wcm90b3R5cGUsIFtbUHJvdG90eXBlXSBvZiBBcnJheS5wcm90b3R5cGUgaXMgT2JqZWN0LnByb3RvdHlwZQogKi8KCkFycmF5LnByb3RvdHlwZVsxXSA9IDE7CnZhciB4ID0gWzBdOwp4Lmxlbmd0aCA9IDI7CnZhciBhcnIgPSB4LmNvbmNhdCgpOwoKLy9DSEVDSyMxCmlmIChhcnJbMF0gIT09IDApIHsgIAogICRFUlJPUignIzE6IEFycmF5LnByb3RvdHlwZVsxXSA9IDE7IHggPSBbMF07IHgubGVuZ3RoID0gMjsgdmFyIGFyciA9IHguY29uY2F0KCk7IGFyclswXSA9PT0gMC4gQWN0dWFsOiAnICsgKGFyclswXSkpOyAgICAKfQoKLy9DSEVDSyMyCmlmIChhcnJbMV0gIT09IDEpIHsgIAogICRFUlJPUignIzI6IEFycmF5LnByb3RvdHlwZVsxXSA9IDE7IHggPSBbMF07IHgubGVuZ3RoID0gMjsgdmFyIGFyciA9IHguY29uY2F0KCk7IGFyclsxXSA9PT0gMS4gQWN0dWFsOiAnICsgKGFyclsxXSkpOyAgICAKfQoKLy9DSEVDSyMzCmlmIChhcnIuaGFzT3duUHJvcGVydHkoJzEnKSAhPT0gdHJ1ZSkgeyAgCiAgJEVSUk9SKCcjMzogQXJyYXkucHJvdG90eXBlWzFdID0gMTsgeCA9IFswXTsgeC5sZW5ndGggPSAyOyB2YXIgYXJyID0geC5jb25jYXQoKTsgYXJyLmhhc093blByb3BlcnR5KFwnMVwnKSA9PT0gdHJ1ZS4gQWN0dWFsOiAnICsgKGFyci5oYXNPd25Qcm9wZXJ0eSgnMScpKSk7ICAgIAp9CgpPYmplY3QucHJvdG90eXBlWzFdID0gMTsKT2JqZWN0LnByb3RvdHlwZS5sZW5ndGggPSAyOwpPYmplY3QucHJvdG90eXBlLmNvbmNhdCA9IEFycmF5LnByb3RvdHlwZS5jb25jYXQ7CnggPSB7MDowfTsKdmFyIGFyciA9IHguY29uY2F0KCk7CgovL0NIRUNLIzQKaWYgKGFyclswXSAhPT0geCkgeyAgCiAgJEVSUk9SKCcjNDogT2JqZWN0LnByb3RvdHlwZVsxXSA9IDE7IE9iamVjdC5wcm90b3R5cGUubGVuZ3RoID0gMjsgT2JqZWN0LnByb3RvdHlwZS5jb25jYXQgPSBBcnJheS5wcm90b3R5cGUuY29uY2F0OyB4ID0gezA6MH07IHZhciBhcnIgPSB4LmNvbmNhdCgpOyBhcnJbMF0gPT09IHguIEFjdHVhbDogJyArIChhcnJbMF0pKTsgICAgCn0KCi8vQ0hFQ0sjNQppZiAoYXJyWzFdICE9PSAxKSB7ICAKICAkRVJST1IoJyM1OiBPYmplY3QucHJvdG90eXBlWzFdID0gMTsgT2JqZWN0LnByb3RvdHlwZS5sZW5ndGggPSAyOyBPYmplY3QucHJvdG90eXBlLmNvbmNhdCA9IEFycmF5LnByb3RvdHlwZS5jb25jYXQ7IHggPSB7MDowfTsgdmFyIGFyciA9IHguY29uY2F0KCk7IGFyclsxXSA9PT0gMS4gQWN0dWFsOiAnICsgKGFyclsxXSkpOyAgICAKfQoKLy9DSEVDSyM2CmlmIChhcnIuaGFzT3duUHJvcGVydHkoJzEnKSAhPT0gZmFsc2UpIHsgIAogICRFUlJPUignIzY6IE9iamVjdC5wcm90b3R5cGVbMV0gPSAxOyBPYmplY3QucHJvdG90eXBlLmxlbmd0aCA9IDI7IE9iamVjdC5wcm90b3R5cGUuY29uY2F0ID0gQXJyYXkucHJvdG90eXBlLmNvbmNhdDsgeCA9IHswOjB9OyB2YXIgYXJyID0geC5jb25jYXQoKTsgYXJyLmhhc093blByb3BlcnR5KFwnMVwnKSA9PT0gZmFsc2UuIEFjdHVhbDogJyArIChhcnIuaGFzT3duUHJvcGVydHkoJzEnKSkpOyAgICAKfQoK","commentary":"[[Get]] from not an inherited property","description":"[[Prototype]] of Array instance is Array.prototype, [[Prototype] of Array.prototype is Object.prototype","path":"TestCases/ch15/15.4/15.4.4/15.4.4.4/S15.4.4.4_A3_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgbGVuZ3RoIHByb3BlcnR5IG9mIGNvbmNhdCBoYXMgdGhlIGF0dHJpYnV0ZSBEb250RW51bQogKgogKiBAcGF0aCBjaDE1LzE1LjQvMTUuNC40LzE1LjQuNC40L1MxNS40LjQuNF9BNC4xLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyB1c2UgcHJvcGVydHlJc0VudW1lcmFibGUsIGZvci1pbgogKi8KCi8vQ0hFQ0sjMQppZiAoQXJyYXkucHJvdG90eXBlLmNvbmNhdC5wcm9wZXJ0eUlzRW51bWVyYWJsZSgnbGVuZ3RoJykgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjMTogQXJyYXkucHJvdG90eXBlLmNvbmNhdC5wcm9wZXJ0eUlzRW51bWVyYWJsZShcJ2xlbmd0aFwnKSA9PT0gZmFsc2UuIEFjdHVhbDogJyArIChBcnJheS5wcm90b3R5cGUuY29uY2F0LnByb3BlcnR5SXNFbnVtZXJhYmxlKCdsZW5ndGgnKSkpOwp9CgovL0NIRUNLIzIKdmFyIHJlc3VsdCA9IHRydWU7CmZvciAodmFyIHAgaW4gQXJyYXkuY29uY2F0KXsKICBpZiAocCA9PT0gImxlbmd0aCIpIHsKICAgIHJlc3VsdCA9IGZhbHNlOwogIH0gIAp9CgppZiAocmVzdWx0ICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMjogcmVzdWx0ID0gdHJ1ZTsgZm9yIChwIGluIEFycmF5LmNvbmNhdCkgeyBpZiAocCA9PT0gImxlbmd0aCIpIHJlc3VsdCA9IGZhbHNlOyB9ICByZXN1bHQgPT09IHRydWU7Jyk7Cn0KCgo=","commentary":"The length property of concat has the attribute DontEnum","description":"Checking use propertyIsEnumerable, for-in","path":"TestCases/ch15/15.4/15.4.4/15.4.4.4/S15.4.4.4_A4.1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgbGVuZ3RoIHByb3BlcnR5IG9mIGNvbmNhdCBoYXMgdGhlIGF0dHJpYnV0ZSBEb250RGVsZXRlCiAqCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjQvUzE1LjQuNC40X0E0LjIuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIHVzZSBoYXNPd25Qcm9wZXJ0eSwgZGVsZXRlCiAqIEBub1N0cmljdAogKi8KCi8vQ0hFQ0sjMQppZiAoQXJyYXkucHJvdG90eXBlLmNvbmNhdC5oYXNPd25Qcm9wZXJ0eSgnbGVuZ3RoJykgIT09IHRydWUpIHsKICAkRkFJTCgnIzE6IEFycmF5LnByb3RvdHlwZS5jb25jYXQuaGFzT3duUHJvcGVydHkoXCdsZW5ndGhcJykgPT09IHRydWUuIEFjdHVhbDogJyArIChBcnJheS5wcm90b3R5cGUuY29uY2F0Lmhhc093blByb3BlcnR5KCdsZW5ndGgnKSkpOwp9CgpkZWxldGUgQXJyYXkucHJvdG90eXBlLmNvbmNhdC5sZW5ndGg7CgovL0NIRUNLIzIKaWYgKEFycmF5LnByb3RvdHlwZS5jb25jYXQuaGFzT3duUHJvcGVydHkoJ2xlbmd0aCcpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMjogZGVsZXRlIEFycmF5LnByb3RvdHlwZS5jb25jYXQubGVuZ3RoOyBBcnJheS5wcm90b3R5cGUuY29uY2F0Lmhhc093blByb3BlcnR5KFwnbGVuZ3RoXCcpID09PSB0cnVlLiBBY3R1YWw6ICcgKyAoQXJyYXkucHJvdG90eXBlLmNvbmNhdC5oYXNPd25Qcm9wZXJ0eSgnbGVuZ3RoJykpKTsKfQoKLy9DSEVDSyMzCmlmIChBcnJheS5wcm90b3R5cGUuY29uY2F0Lmxlbmd0aCA9PT0gdW5kZWZpbmVkKSB7CiAgJEVSUk9SKCcjMzogZGVsZXRlIEFycmF5LnByb3RvdHlwZS5jb25jYXQubGVuZ3RoOyBBcnJheS5wcm90b3R5cGUuY29uY2F0Lmxlbmd0aCAhPT0gdW5kZWZpbmVkJyk7Cn0KCgoK","commentary":"The length property of concat has the attribute DontDelete","description":"Checking use hasOwnProperty, delete","noStrict":"","path":"TestCases/ch15/15.4/15.4.4/15.4.4.4/S15.4.4.4_A4.2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgbGVuZ3RoIHByb3BlcnR5IG9mIGNvbmNhdCBoYXMgdGhlIGF0dHJpYnV0ZSBSZWFkT25seQogKgogKiBAcGF0aCBjaDE1LzE1LjQvMTUuNC40LzE1LjQuNC40L1MxNS40LjQuNF9BNC4zLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiB2YXJ5aW5nIHRoZSBsZW5ndGggcHJvcGVydHkgZmFpbHMKICogQG5vU3RyaWN0CiAqLwoKLy9DSEVDSyMxCnZhciB4ID0gQXJyYXkucHJvdG90eXBlLmNvbmNhdC5sZW5ndGg7CkFycmF5LnByb3RvdHlwZS5jb25jYXQubGVuZ3RoID0gSW5maW5pdHk7CmlmIChBcnJheS5wcm90b3R5cGUuY29uY2F0Lmxlbmd0aCAhPT0geCkgewogICRFUlJPUignIzE6IHggPSBBcnJheS5wcm90b3R5cGUuY29uY2F0Lmxlbmd0aDsgQXJyYXkucHJvdG90eXBlLmNvbmNhdC5sZW5ndGggPSBJbmZpbml0eTsgQXJyYXkucHJvdG90eXBlLmNvbmNhdC5sZW5ndGggPT09IHguIEFjdHVhbDogJyArIChBcnJheS5wcm90b3R5cGUuY29uY2F0Lmxlbmd0aCkpOwp9CgoK","commentary":"The length property of concat has the attribute ReadOnly","description":"Checking if varying the length property fails","noStrict":"","path":"TestCases/ch15/15.4/15.4.4/15.4.4.4/S15.4.4.4_A4.3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgbGVuZ3RoIHByb3BlcnR5IG9mIGNvbmNhdCBpcyAxCiAqCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjQvUzE1LjQuNC40X0E0LjQuanMKICogQGRlc2NyaXB0aW9uIGNvbmNhdC5sZW5ndGggPT09IDEKICovCgovL0NIRUNLIzEKaWYgKEFycmF5LnByb3RvdHlwZS5jb25jYXQubGVuZ3RoICE9PSAxKSB7CiAgJEVSUk9SKCcjMTogQXJyYXkucHJvdG90eXBlLmNvbmNhdC5sZW5ndGggPT09IDEuIEFjdHVhbDogJyArIChBcnJheS5wcm90b3R5cGUuY29uY2F0Lmxlbmd0aCkpOwp9CgoK","commentary":"The length property of concat is 1","description":"concat.length === 1","path":"TestCases/ch15/15.4/15.4.4/15.4.4.4/S15.4.4.4_A4.4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgY29uY2F0IHByb3BlcnR5IG9mIEFycmF5IGhhcyB0aGUgYXR0cmlidXRlIERvbnRFbnVtCiAqCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjQvUzE1LjQuNC40X0E0LjUuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIHVzZSBwcm9wZXJ0eUlzRW51bWVyYWJsZSwgZm9yLWluCiAqLwoKLy9DSEVDSyMxCmlmIChBcnJheS5wcm9wZXJ0eUlzRW51bWVyYWJsZSgnY29uY2F0JykgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjMTogQXJyYXkucHJvcGVydHlJc0VudW1lcmFibGUoXCdjb25jYXRcJykgPT09IGZhbHNlLiBBY3R1YWw6ICcgKyAoQXJyYXkucHJvcGVydHlJc0VudW1lcmFibGUoJ2NvbmNhdCcpKSk7Cn0KCi8vQ0hFQ0sjMgp2YXIgcmVzdWx0ID0gdHJ1ZTsKZm9yICh2YXIgcCBpbiBBcnJheSl7CiAgaWYgKHAgPT09ICJjb25jYXQiKSB7CiAgICByZXN1bHQgPSBmYWxzZTsKICB9ICAKfQoKaWYgKHJlc3VsdCAhPT0gdHJ1ZSkgewogICRFUlJPUignIzI6IHJlc3VsdCA9IHRydWU7IGZvciAocCBpbiBBcnJheSkgeyBpZiAocCA9PT0gImNvbmNhdCIpIHJlc3VsdCA9IGZhbHNlOyB9ICByZXN1bHQgPT09IHRydWU7Jyk7Cn0KCgo=","commentary":"The concat property of Array has the attribute DontEnum","description":"Checking use propertyIsEnumerable, for-in","path":"TestCases/ch15/15.4/15.4.4/15.4.4.4/S15.4.4.4_A4.5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgY29uY2F0IHByb3BlcnR5IG9mIEFycmF5IGhhcyBub3QgcHJvdG90eXBlIHByb3BlcnR5CiAqCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjQvUzE1LjQuNC40X0E0LjYuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIEFycmF5LnByb3RvdHlwZS5jb25jYXQucHJvdG90eXBlCiAqLwoKLy9DSEVDSyMxCmlmIChBcnJheS5wcm90b3R5cGUuY29uY2F0LnByb3RvdHlwZSAhPT0gdW5kZWZpbmVkKSB7CiAgJEVSUk9SKCcjMTogQXJyYXkucHJvdG90eXBlLmNvbmNhdC5wcm90b3R5cGUgPT09IHVuZGVmaW5lZC4gQWN0dWFsOiAnICsgKEFycmF5LnByb3RvdHlwZS5jb25jYXQucHJvdG90eXBlKSk7Cn0KCg==","commentary":"The concat property of Array has not prototype property","description":"Checking Array.prototype.concat.prototype","path":"TestCases/ch15/15.4/15.4.4/15.4.4.4/S15.4.4.4_A4.6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgY29uY2F0IHByb3BlcnR5IG9mIEFycmF5IGNhbid0IGJlIHVzZWQgYXMgY29uc3RydWN0b3IKICoKICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuNC9TMTUuNC40LjRfQTQuNy5qcwogKiBAZGVzY3JpcHRpb24gSWYgcHJvcGVydHkgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBpbnRlcm5hbCBbW0NvbnN0cnVjdF1dIG1ldGhvZCwgdGhyb3cgYSBUeXBlRXJyb3IgZXhjZXB0aW9uCiAqLwoKLy9DSEVDSyMxCgp0cnkgewogIG5ldyBBcnJheS5wcm90b3R5cGUuY29uY2F0KCk7CiAgJEVSUk9SKCcjMS4xOiBuZXcgQXJyYXkucHJvdG90eXBlLmNvbmNhdCgpIHRocm93IFR5cGVFcnJvci4gQWN0dWFsOiAnICsgKG5ldyBBcnJheS5wcm90b3R5cGUuY29uY2F0KCkpKTsKfSBjYXRjaCAoZSkgewogIGlmICgoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikgIT09IHRydWUpIHsKICAgICRFUlJPUignIzEuMjogbmV3IEFycmF5LnByb3RvdHlwZS5jb25jYXQoKSB0aHJvdyBUeXBlRXJyb3IuIEFjdHVhbDogJyArIChlKSk7CiAgfQp9Cgo=","commentary":"The concat property of Array can't be used as constructor","description":"If property does not implement the internal [[Construct]] method, throw a TypeError exception","path":"TestCases/ch15/15.4/15.4.4/15.4.4.4/S15.4.4.4_A4.7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBsZW5ndGggaXMgemVybywgcmV0dXJuIHRoZSBlbXB0eSBzdHJpbmcKICoKICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuNS9TMTUuNC40LjVfQTEuMV9UMS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgdGhpcyB1c2UgbmV3IEFycmF5KCkgYW5kIFtdCiAqLwoKLy9DSEVDSyMxCnZhciB4ID0gbmV3IEFycmF5KCk7CmlmICh4LmpvaW4oKSAhPT0gIiIpIHsKICAkRVJST1IoJyMxOiB4ID0gbmV3IEFycmF5KCk7IHguam9pbigpID09PSAiIi4gQWN0dWFsOiAnICsgKHguam9pbigpKSk7Cn0gIAoKLy9DSEVDSyMyCnggPSBbXTsKeFswXSA9IDE7CngubGVuZ3RoID0gMDsKaWYgKHguam9pbigpICE9PSAiIikgewogICRFUlJPUignIzI6IHggPSBbXTsgeFswXSA9IDE7IHgubGVuZ3RoID0gMDsgeC5qb2luKCkgPT09ICIiLiBBY3R1YWw6ICcgKyAoeC5qb2luKCkpKTsKfSAgCgo=","commentary":"If length is zero, return the empty string","description":"Checking this use new Array() and []","path":"TestCases/ch15/15.4/15.4.4/15.4.4.5/S15.4.4.5_A1.1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBzZXBhcmF0b3IgaXMgdW5kZWZpbmVkLCBhIHNpbmdsZSBjb21tYSBpcyB1c2VkIGFzIHRoZSBzZXBhcmF0b3IKICoKICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuNS9TMTUuNC40LjVfQTEuMl9UMS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgdGhpcyB1c2UgbmV3IEFycmF5KCkgYW5kIFtdCiAqLwoKLy9DSEVDSyMxCnZhciB4ID0gbmV3IEFycmF5KDAsMSwyLDMpOwppZiAoeC5qb2luKCkgIT09ICIwLDEsMiwzIikgewogICRFUlJPUignIzE6IHggPSBuZXcgQXJyYXkoMCwxLDIsMyk7IHguam9pbigpID09PSAiMCwxLDIsMyIuIEFjdHVhbDogJyArICh4LmpvaW4oKSkpOwp9CgovL0NIRUNLIzIKeCA9IFtdOwp4WzBdID0gMDsKeFszXSA9IDM7CmlmICh4LmpvaW4oKSAhPT0gIjAsLCwzIikgewogICRFUlJPUignIzI6IHggPSBbXTsgeFswXSA9IDA7IHhbM10gPSAzOyB4LmpvaW4oKSA9PT0gIjAsLCwzIi4gQWN0dWFsOiAnICsgKHguam9pbigpKSk7Cn0KCi8vQ0hFQ0sjMwp4ID0gW107CnhbMF0gPSAwOwppZiAoeC5qb2luKCkgIT09ICIwIikgewogICRFUlJPUignIzM6IHggPSBbXTsgeFswXSA9IDA7IHguam9pbigpID09PSAiMCIuIEFjdHVhbDogJyArICh4LmpvaW4oKSkpOwp9Cgo=","commentary":"If separator is undefined, a single comma is used as the separator","description":"Checking this use new Array() and []","path":"TestCases/ch15/15.4/15.4.4/15.4.4.5/S15.4.4.5_A1.2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBzZXBhcmF0b3IgaXMgdW5kZWZpbmVkLCBhIHNpbmdsZSBjb21tYSBpcyB1c2VkIGFzIHRoZSBzZXBhcmF0b3IKICoKICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuNS9TMTUuNC40LjVfQTEuMl9UMi5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgdGhpcyB1c2UgbmV3IEFycmF5KCkgYW5kIFtdCiAqLwoKLy9DSEVDSyMxCnZhciB4ID0gbmV3IEFycmF5KDAsMSwyLDMpOwppZiAoeC5qb2luKHVuZGVmaW5lZCkgIT09ICIwLDEsMiwzIikgewogICRFUlJPUignIzE6IHggPSBuZXcgQXJyYXkoMCwxLDIsMyk7IHguam9pbih1bmRlZmluZWQpID09PSAiMCwxLDIsMyIuIEFjdHVhbDogJyArICh4LmpvaW4odW5kZWZpbmVkKSkpOwp9CgovL0NIRUNLIzIKeCA9IFtdOwp4WzBdID0gMDsKeFszXSA9IDM7CmlmICh4LmpvaW4odW5kZWZpbmVkKSAhPT0gIjAsLCwzIikgewogICRFUlJPUignIzI6IHggPSBbXTsgeFswXSA9IDA7IHhbM10gPSAzOyB4LmpvaW4odW5kZWZpbmVkKSA9PT0gIjAsLCwzIi4gQWN0dWFsOiAnICsgKHguam9pbih1bmRlZmluZWQpKSk7Cn0KCi8vQ0hFQ0sjMwp4ID0gW107CnhbMF0gPSAwOwppZiAoeC5qb2luKHVuZGVmaW5lZCkgIT09ICIwIikgewogICRFUlJPUignIzM6IHggPSBbXTsgeFswXSA9IDA7IHguam9pbih1bmRlZmluZWQpID09PSAiMCIuIEFjdHVhbDogJyArICh4LmpvaW4odW5kZWZpbmVkKSkpOwp9Cgo=","commentary":"If separator is undefined, a single comma is used as the separator","description":"Checking this use new Array() and []","path":"TestCases/ch15/15.4/15.4.4/15.4.4.5/S15.4.4.5_A1.2_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBhcnJheSBlbGVtZW50IGlzIHVuZGVmaW5lZCBvciBudWxsLCB1c2UgdGhlIGVtcHR5IHN0cmluZwogKgogKiBAcGF0aCBjaDE1LzE1LjQvMTUuNC40LzE1LjQuNC41L1MxNS40LjQuNV9BMS4zX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyB0aGlzIHVzZSBuZXcgQXJyYXkoKSBhbmQgW10KICovCgovL0NIRUNLIzEKdmFyIHggPSBbXTsKeFswXSA9IHVuZGVmaW5lZDsKaWYgKHguam9pbigpICE9PSAiIikgewogICRFUlJPUignIzE6IHggPSBbXTsgeFswXSA9IHVuZGVmaW5lZDsgeC5qb2luKCkgPT09ICIiLiBBY3R1YWw6ICcgKyAoeC5qb2luKCkpKTsKfQoKLy9DSEVDSyMyCnggPSBbXTsKeFswXSA9IG51bGw7CmlmICh4LmpvaW4oKSAhPT0gIiIpIHsKICAkRVJST1IoJyMyOiB4ID0gW107IHhbMF0gPSBudWxsOyB4LmpvaW4oKSA9PT0gIiIuIEFjdHVhbDogJyArICh4LmpvaW4oKSkpOwp9CgovL0NIRUNLIzMKeCA9IEFycmF5KHVuZGVmaW5lZCwxLG51bGwsMyk7CmlmICh4LmpvaW4oKSAhPT0gIiwxLCwzIikgewogICRFUlJPUignIzM6IHggPSBBcnJheSh1bmRlZmluZWQsMSxudWxsLDMpOyB4LmpvaW4oKSA9PT0gIiwxLCwzIi4gQWN0dWFsOiAnICsgKHguam9pbigpKSk7Cn0KCg==","commentary":"If array element is undefined or null, use the empty string","description":"Checking this use new Array() and []","path":"TestCases/ch15/15.4/15.4.4/15.4.4.5/S15.4.4.5_A1.3_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgam9pbiBmdW5jdGlvbiBpcyBpbnRlbnRpb25hbGx5IGdlbmVyaWMuCiAqIEl0IGRvZXMgbm90IHJlcXVpcmUgdGhhdCBpdHMgdGhpcyB2YWx1ZSBiZSBhbiBBcnJheSBvYmplY3QKICoKICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuNS9TMTUuNC40LjVfQTJfVDEuanMKICogQGRlc2NyaXB0aW9uIElmIFRvVWludDMyKGxlbmd0aCkgaXMgemVybywgcmV0dXJuIHRoZSBlbXB0eSBzdHJpbmcKICovCgp2YXIgb2JqID0ge307Cm9iai5qb2luID0gQXJyYXkucHJvdG90eXBlLmpvaW47CgppZiAob2JqLmxlbmd0aCAhPT0gdW5kZWZpbmVkKSB7CiAgJEVSUk9SKCcjMDogdmFyIG9iaiA9IHt9OyBvYmoubGVuZ3RoID09PSB1bmRlZmluZWQuIEFjdHVhbDogJyArIChvYmoubGVuZ3RoKSk7Cn0gZWxzZSB7CiAgICAvL0NIRUNLIzEgIAogICAgaWYgKG9iai5qb2luKCkgIT09ICIiKSB7CiAgICAgICRFUlJPUignIzE6IHZhciBvYmogPSB7fTsgb2JqLmpvaW4gPSBBcnJheS5wcm90b3R5cGUuam9pbjsgb2JqLmpvaW4oKSA9PT0gIiIuIEFjdHVhbDogJyArIChvYmouam9pbigpKSk7CiAgICB9CiAgICAvL0NIRUNLIzIKICAgIGlmIChvYmoubGVuZ3RoICE9PSB1bmRlZmluZWQpIHsKICAgICAgJEVSUk9SKCcjMjogdmFyIG9iaiA9IHt9OyBvYmouam9pbiA9IEFycmF5LnByb3RvdHlwZS5qb2luOyBvYmouam9pbigpOyBvYmoubGVuZ3RoID09PSB1bmRlZmluZWQuIEFjdHVhbDogJyArIChvYmoubGVuZ3RoKSk7CiAgICB9Cn0gICAgCgovL0NIRUNLIzMKb2JqLmxlbmd0aCA9IHVuZGVmaW5lZDsKaWYgKG9iai5qb2luKCkgIT09ICIiKSB7CiAgJEVSUk9SKCcjMzogdmFyIG9iaiA9IHt9OyBvYmoubGVuZ3RoID0gdW5kZWZpbmVkOyBvYmouam9pbiA9IEFycmF5LnByb3RvdHlwZS5qb2luOyBvYmouam9pbigpID09PSAiLiBBY3R1YWw6ICcgKyAob2JqLmpvaW4oKSkpOwp9IAoKLy9DSEVDSyM0CmlmIChvYmoubGVuZ3RoICE9PSB1bmRlZmluZWQpIHsKICAkRVJST1IoJyM0OiB2YXIgb2JqID0ge307IG9iai5sZW5ndGggPSB1bmRlZmluZWQ7IG9iai5qb2luID0gQXJyYXkucHJvdG90eXBlLmpvaW47IG9iai5qb2luKCk7IG9iai5sZW5ndGggPT09IHVuZGVmaW5lZC4gQWN0dWFsOiAnICsgKG9iai5sZW5ndGgpKTsKfQoKLy9DSEVDSyM1Cm9iai5sZW5ndGggPSBudWxsCmlmIChvYmouam9pbigpICE9PSAiIikgewogICRFUlJPUignIzU6IHZhciBvYmogPSB7fTsgb2JqLmxlbmd0aCA9IG51bGw7IG9iai5qb2luID0gQXJyYXkucHJvdG90eXBlLmpvaW47IG9iai5qb2luKCkgPT09ICIiLiBBY3R1YWw6ICcgKyAob2JqLmpvaW4oKSkpOwp9IAoKLy9DSEVDSyM2CmlmIChvYmoubGVuZ3RoICE9PSBudWxsKSB7CiAgJEVSUk9SKCcjNjogdmFyIG9iaiA9IHt9OyBvYmoubGVuZ3RoID0gbnVsbDsgb2JqLmpvaW4gPSBBcnJheS5wcm90b3R5cGUuam9pbjsgb2JqLmpvaW4oKTsgb2JqLmxlbmd0aCA9PT0gbnVsbC4gQWN0dWFsOiAnICsgKG9iai5sZW5ndGgpKTsKfQoK","commentary":"The join function is intentionally generic.\nIt does not require that its this value be an Array object","description":"If ToUint32(length) is zero, return the empty string","path":"TestCases/ch15/15.4/15.4.4/15.4.4.5/S15.4.4.5_A2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgam9pbiBmdW5jdGlvbiBpcyBpbnRlbnRpb25hbGx5IGdlbmVyaWMuCiAqIEl0IGRvZXMgbm90IHJlcXVpcmUgdGhhdCBpdHMgdGhpcyB2YWx1ZSBiZSBhbiBBcnJheSBvYmplY3QKICoKICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuNS9TMTUuNC40LjVfQTJfVDIuanMKICogQGRlc2NyaXB0aW9uIElmIFRvVWludDMyKGxlbmd0aCkgaXMgemVybywgcmV0dXJuIHRoZSBlbXB0eSBzdHJpbmcKICovCgp2YXIgb2JqID0ge307Cm9iai5qb2luID0gQXJyYXkucHJvdG90eXBlLmpvaW47CgovL0NIRUNLIzEKb2JqLmxlbmd0aCA9IE5hTjsKaWYgKG9iai5qb2luKCkgIT09ICIiKSB7CiAgJEVSUk9SKCcjMTogdmFyIG9iaiA9IHt9OyBvYmoubGVuZ3RoID0gTmFOOyBvYmouam9pbiA9IEFycmF5LnByb3RvdHlwZS5qb2luOyBvYmouam9pbigpID09PSAiIi4gQWN0dWFsOiAnICsgKG9iai5qb2luKCkpKTsKfQoKLy9DSEVDSyMyCmlmIChpc05hTihvYmoubGVuZ3RoKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzI6IHZhciBvYmogPSB7fTsgb2JqLmxlbmd0aCA9IE5hTjsgb2JqLmpvaW4gPSBBcnJheS5wcm90b3R5cGUuam9pbjsgb2JqLmpvaW4oKTsgb2JqLmxlbmd0aCA9PT0gTm90LWEtTnVtYmVyLiBBY3R1YWw6ICcgKyAob2JqLmxlbmd0aCkpOwp9CgovL0NIRUNLIzMKb2JqLmxlbmd0aCA9IE51bWJlci5QT1NJVElWRV9JTkZJTklUWTsKaWYgKG9iai5qb2luKCkgIT09ICIiKSB7CiAgJEVSUk9SKCcjMzogdmFyIG9iaiA9IHt9OyBvYmoubGVuZ3RoID0gTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZOyBvYmouam9pbiA9IEFycmF5LnByb3RvdHlwZS5qb2luOyBvYmouam9pbigpID09PSAiIi4gQWN0dWFsOiAnICsgKG9iai5qb2luKCkpKTsKfQoKLy9DSEVDSyM0CmlmIChvYmoubGVuZ3RoICE9PSBOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkpIHsKICAkRVJST1IoJyM0OiB2YXIgb2JqID0ge307IG9iai5sZW5ndGggPSBOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFk7IG9iai5qb2luID0gQXJyYXkucHJvdG90eXBlLmpvaW47IG9iai5qb2luKCk7IG9iai5sZW5ndGggPT09IE51bWJlci5QT1NJVElWRV9JTkZJTklUWS4gQWN0dWFsOiAnICsgKG9iai5sZW5ndGgpKTsKfQoKLy9DSEVDSyM1Cm9iai5sZW5ndGggPSBOdW1iZXIuTkVHQVRJVkVfSU5GSU5JVFk7CmlmIChvYmouam9pbigpICE9PSAiIikgewogICRFUlJPUignIzU6IHZhciBvYmogPSB7fTsgb2JqLmxlbmd0aCA9IE51bWJlci5ORUdBVElWRV9JTkZJTklUWTsgb2JqLmpvaW4gPSBBcnJheS5wcm90b3R5cGUuam9pbjsgb2JqLmpvaW4oKSA9PT0gIiIuIEFjdHVhbDogJyArIChvYmouam9pbigpKSk7Cn0KCi8vQ0hFQ0sjNgppZiAob2JqLmxlbmd0aCAhPT0gTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZKSB7CiAgJEVSUk9SKCcjNjogdmFyIG9iaiA9IHt9OyBvYmoubGVuZ3RoID0gTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZOyBvYmouam9pbiA9IEFycmF5LnByb3RvdHlwZS5qb2luOyBvYmouam9pbigpOyBvYmoubGVuZ3RoID09PSBOdW1iZXIuTkVHQVRJVkVfSU5GSU5JVFkuIEFjdHVhbDogJyArIChvYmoubGVuZ3RoKSk7Cn0KCi8vQ0hFQ0sjNwpvYmoubGVuZ3RoID0gLTA7CmlmIChvYmouam9pbigpICE9PSAiIikgewogICRFUlJPUignIzc6IHZhciBvYmogPSB7fTsgb2JqLmxlbmd0aCA9IC0wOyBvYmouam9pbiA9IEFycmF5LnByb3RvdHlwZS5qb2luOyBvYmouam9pbigpID09PSAiIi4gQWN0dWFsOiAnICsgKG9iai5qb2luKCkpKTsKfSAgICAKCi8vQ0hFQ0sjOAppZiAob2JqLmxlbmd0aCAhPT0gLTApIHsKICAkRVJST1IoJyM4OiB2YXIgb2JqID0ge307IG9iai5sZW5ndGggPSAtMDsgb2JqLmpvaW4gPSBBcnJheS5wcm90b3R5cGUuam9pbjsgb2JqLmpvaW4oKTsgb2JqLmxlbmd0aCA9PT0gMC4gQWN0dWFsOiAnICsgKG9iai5sZW5ndGgpKTsKfSBlbHNlIHsKICBpZiAoMS9vYmoubGVuZ3RoICE9PSBOdW1iZXIuTkVHQVRJVkVfSU5GSU5JVFkpIHsKICAgICRFUlJPUignIzg6IHZhciBvYmogPSB7fTsgb2JqLmxlbmd0aCA9IC0wOyBvYmouam9pbiA9IEFycmF5LnByb3RvdHlwZS5qb2luOyBvYmouam9pbigpOyBvYmoubGVuZ3RoID09PSAtMC4gQWN0dWFsOiAnICsgKG9iai5sZW5ndGgpKTsKICB9ICAKfSAgIAoKLy9DSEVDSyM5Cm9iai5sZW5ndGggPSAwLjU7CmlmIChvYmouam9pbigpICE9PSAiIikgewogICRFUlJPUignIzk6IHZhciBvYmogPSB7fTsgb2JqLmxlbmd0aCA9IDAuNTsgb2JqLmpvaW4gPSBBcnJheS5wcm90b3R5cGUuam9pbjsgb2JqLmpvaW4oKSA9PT0gIiIuIEFjdHVhbDogJyArIChvYmouam9pbigpKSk7Cn0KCi8vQ0hFQ0sjMTAKaWYgKG9iai5sZW5ndGggIT09IDAuNSkgewogICRFUlJPUignIzEwOiB2YXIgb2JqID0ge307IG9iai5sZW5ndGggPSAwLjU7IG9iai5qb2luID0gQXJyYXkucHJvdG90eXBlLmpvaW47IG9iai5qb2luKCk7IG9iai5sZW5ndGggPT09IDAuNS4gQWN0dWFsOiAnICsgKG9iai5sZW5ndGgpKTsKfSAKCi8vQ0hFQ0sjMTEKdmFyIHggPSBuZXcgTnVtYmVyKDApOwpvYmoubGVuZ3RoID0geDsKaWYgKG9iai5qb2luKCkgIT09ICIiKSB7CiAgJEVSUk9SKCcjMTE6IHZhciB4ID0gbmV3IE51bWJlcigwKTsgdmFyIG9iaiA9IHt9OyBvYmoubGVuZ3RoID0geDsgb2JqLmpvaW4gPSBBcnJheS5wcm90b3R5cGUuam9pbjsgb2JqLmpvaW4oKSA9PT0gIiIuIEFjdHVhbDogJyArIChvYmouam9pbigpKSk7Cn0KCi8vQ0hFQ0sjMTIKaWYgKG9iai5sZW5ndGggIT09IHgpIHsKICAkRVJST1IoJyMxMjogdmFyIHggPSBuZXcgTnVtYmVyKDApOyB2YXIgb2JqID0ge307IG9iai5sZW5ndGggPSB4OyBvYmouam9pbiA9IEFycmF5LnByb3RvdHlwZS5qb2luOyBvYmouam9pbigpOyBvYmoubGVuZ3RoID09PSB4LiBBY3R1YWw6ICcgKyAob2JqLmxlbmd0aCkpOwp9Cgo=","commentary":"The join function is intentionally generic.\nIt does not require that its this value be an Array object","description":"If ToUint32(length) is zero, return the empty string","path":"TestCases/ch15/15.4/15.4.4/15.4.4.5/S15.4.4.5_A2_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgam9pbiBmdW5jdGlvbiBpcyBpbnRlbnRpb25hbGx5IGdlbmVyaWMuCiAqIEl0IGRvZXMgbm90IHJlcXVpcmUgdGhhdCBpdHMgdGhpcyB2YWx1ZSBiZSBhbiBBcnJheSBvYmplY3QKICoKICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuNS9TMTUuNC40LjVfQTJfVDMuanMKICogQGRlc2NyaXB0aW9uIElmIFRvVWludDMyKGxlbmd0aCkgaXMgemVybywgcmV0dXJuIHRoZSBlbXB0eSBzdHJpbmcKICovCgp2YXIgb2JqID0ge307Cm9iai5qb2luID0gQXJyYXkucHJvdG90eXBlLmpvaW47CgovL0NIRUNLIzEKb2JqLmxlbmd0aCA9IDQuNTsKaWYgKG9iai5qb2luKCkgIT09ICIsLCwiKSB7CiAgJEVSUk9SKCcjMTogdmFyIG9iaiA9IHt9OyBvYmoubGVuZ3RoID0gNC41OyBvYmouam9pbiA9IEFycmF5LnByb3RvdHlwZS5qb2luOyBvYmouam9pbigpID09PSAiLCwsIi4gQWN0dWFsOiAnICsgKG9iai5qb2luKCkpKTsKfQoKLy9DSEVDSyMyCm9ialswXSA9IHVuZGVmaW5lZDsKb2JqWzFdID0gMTsKb2JqWzJdID0gbnVsbDsKaWYgKG9iai5qb2luKCkgIT09ICIsMSwsIikgewogICRFUlJPUignIzE6IHZhciBvYmogPSB7fTsgb2JqLmxlbmd0aCA9IDQuNTsgb2JqWzBdID0gdW5kZWZpbmVkOyBvYmpbMV0gPSAxOyBvYmpbMl0gPSBudWxsOyBvYmouam9pbiA9IEFycmF5LnByb3RvdHlwZS5qb2luOyBvYmouam9pbigpID09PSAiLDEsLCIuIEFjdHVhbDogJyArIChvYmouam9pbigpKSk7Cn0KCi8vQ0hFQ0sjMwppZiAob2JqLmxlbmd0aCAhPT0gNC41KSB7CiAgJEVSUk9SKCcjMTogdmFyIG9iaiA9IHt9OyBvYmoubGVuZ3RoID0gNC41OyBvYmpbMF0gPSB1bmRlZmluZWQ7IG9ialsxXSA9IDE7IG9ialsyXSA9IG51bGw7IG9iai5qb2luID0gQXJyYXkucHJvdG90eXBlLmpvaW47IG9iai5qb2luKCk7IG9iai5sZW5ndGggPT09IDQuNS4gQWN0dWFsOiAnICsgKG9iai5sZW5ndGgpKTsKfSAgCgp2YXIgb2JqID0ge307Cm9iai5qb2luID0gQXJyYXkucHJvdG90eXBlLmpvaW47CgovL0NIRUNLIzQKdmFyIHggPSBuZXcgTnVtYmVyKDQuNSk7Cm9iai5sZW5ndGggPSB4OwppZiAob2JqLmpvaW4oKSAhPT0gIiwsLCIpIHsKICAkRVJST1IoJyM0OiB2YXIgb2JqID0ge307IHZhciB4ID0gbmV3IE51bWJlcig0LjUpOyBvYmoubGVuZ3RoID0geDsgb2JqLmpvaW4gPSBBcnJheS5wcm90b3R5cGUuam9pbjsgb2JqLmpvaW4oKSA9PT0gIiwsLCIuIEFjdHVhbDogJyArIChvYmouam9pbigpKSk7Cn0KCi8vQ0hFQ0sjNQpvYmpbMF0gPSB1bmRlZmluZWQ7Cm9ialsxXSA9IDE7Cm9ialsyXSA9IG51bGw7CmlmIChvYmouam9pbigpICE9PSAiLDEsLCIpIHsKICAkRVJST1IoJyM1OiB2YXIgb2JqID0ge307IHZhciB4ID0gbmV3IE51bWJlcig0LjUpOyBvYmoubGVuZ3RoID0geDsgb2JqWzBdID0gdW5kZWZpbmVkOyBvYmpbMV0gPSAxOyBvYmpbMl0gPSBudWxsOyBvYmouam9pbiA9IEFycmF5LnByb3RvdHlwZS5qb2luOyBvYmouam9pbigpID09PSAiLDEsLCIuIEFjdHVhbDogJyArIChvYmouam9pbigpKSk7Cn0KCi8vQ0hFQ0sjNgppZiAob2JqLmxlbmd0aCAhPT0geCkgewogICRFUlJPUignIzY6IHZhciBvYmogPSB7fTsgdmFyIHggPSBuZXcgTnVtYmVyKDQuNSk7IG9iai5sZW5ndGggPSB4OyBvYmpbMF0gPSB1bmRlZmluZWQ7IG9ialsxXSA9IDE7IG9ialsyXSA9IG51bGw7IG9iai5qb2luID0gQXJyYXkucHJvdG90eXBlLmpvaW47IG9iai5qb2luKCk7IG9iai5sZW5ndGggPT09IHguIEFjdHVhbDogJyArIChvYmoubGVuZ3RoKSk7Cn0gIAoK","commentary":"The join function is intentionally generic.\nIt does not require that its this value be an Array object","description":"If ToUint32(length) is zero, return the empty string","path":"TestCases/ch15/15.4/15.4.4/15.4.4.5/S15.4.4.5_A2_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgam9pbiBmdW5jdGlvbiBpcyBpbnRlbnRpb25hbGx5IGdlbmVyaWMuCiAqIEl0IGRvZXMgbm90IHJlcXVpcmUgdGhhdCBpdHMgdGhpcyB2YWx1ZSBiZSBhbiBBcnJheSBvYmplY3QKICoKICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuNS9TMTUuNC40LjVfQTJfVDQuanMKICogQGRlc2NyaXB0aW9uIE9wZXJhdG9yIHVzZSBUb051bWJlciBmcm9tIGxlbmd0aC4KICogSWYgVHlwZSh2YWx1ZSkgaXMgT2JqZWN0LCBldmFsdWF0ZSBUb1ByaW1pdGl2ZSh2YWx1ZSwgTnVtYmVyKQogKi8KCnZhciBvYmogPSB7fTsKb2JqLmpvaW4gPSBBcnJheS5wcm90b3R5cGUuam9pbjsKCi8vQ0hFQ0sjMQpvYmoubGVuZ3RoID0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAzfX07CmlmIChvYmouam9pbigpICE9PSAiLCwiKSB7CiAgJEVSUk9SKCcjMTogb2JqLmxlbmd0aCA9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gM319ICBvYmouam9pbigpID09PSAiLCwiLiBBY3R1YWw6ICcgKyAob2JqLmpvaW4oKSkpOwp9CgovL0NIRUNLIzIKb2JqLmxlbmd0aCA9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gM30sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gMn19OwppZiAob2JqLmpvaW4oKSAhPT0gIiwsIikgewogICRFUlJPUignIzI6IG9iai5sZW5ndGggPSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIDN9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIDJ9fSAgb2JqLmpvaW4oKSA9PT0gIiwsIi4gQWN0dWFsOiAnICsgKG9iai5qb2luKCkpKTsKfSAKCi8vQ0hFQ0sjMwpvYmoubGVuZ3RoID0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAzfSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiB7fX19OwppZiAob2JqLmpvaW4oKSAhPT0gIiwsIikgewogICRFUlJPUignIzM6IG9iai5sZW5ndGggPSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIDN9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIHt9fX0gIG9iai5qb2luKCkgPT09ICIsLCIuIEFjdHVhbDogJyArIChvYmouam9pbigpKSk7Cn0KCi8vQ0hFQ0sjNAp0cnkgeyAgCiAgb2JqLmxlbmd0aCA9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gM30sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHt0aHJvdyAiZXJyb3IifX07ICAKICBpZiAob2JqLmpvaW4oKSAhPT0gIiwsIikgewogICAgJEVSUk9SKCcjNC4xOiBvYmoubGVuZ3RoID0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAzfSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3Rocm93ICJlcnJvciJ9fTsgb2JqLmpvaW4oKSA9PT0gIiwiLiBBY3R1YWw6ICcgKyAob2JqLmpvaW4oKSkpOwogIH0KfQpjYXRjaCAoZSkgewogIGlmIChlID09PSAiZXJyb3IiKSB7CiAgICAkRVJST1IoJyM0LjI6IG9iai5sZW5ndGggPSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIDN9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7dGhyb3cgImVycm9yIn19OyBvYmouam9pbigpIG5vdCB0aHJvdyAiZXJyb3IiJyk7CiAgfSBlbHNlIHsKICAgICRFUlJPUignIzQuMzogb2JqLmxlbmd0aCA9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gM30sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHt0aHJvdyAiZXJyb3IifX07IG9iai5qb2luKCkgbm90IHRocm93IEVycm9yLiBBY3R1YWw6ICcgKyAoZSkpOwogIH0KfQoKLy9DSEVDSyM1Cm9iai5sZW5ndGggPSB7dG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiAyfX07CmlmIChvYmouam9pbigpICE9PSAiLCIpIHsKICAkRVJST1IoJyM1OiBvYmoubGVuZ3RoID0ge3RvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gMn19ICBvYmouam9pbigpID09PSAiLCIuIEFjdHVhbDogJyArIChvYmouam9pbigpKSk7Cn0KCi8vQ0hFQ0sjNgpvYmoubGVuZ3RoID0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiB7fX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gMn19CmlmIChvYmouam9pbigpICE9PSAiLCIpIHsKICAkRVJST1IoJyM2OiBvYmoubGVuZ3RoID0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiB7fX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gMn19ICBvYmouam9pbigpID09PSAiLCIuIEFjdHVhbDogJyArIChvYmouam9pbigpKSk7Cn0KCi8vQ0hFQ0sjNwp0cnkgewogIG9iai5sZW5ndGggPSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7dGhyb3cgImVycm9yIn0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gMn19OyAgCiAgb2JqLmpvaW4oKTsKICAkRVJST1IoJyM3LjE6IG9iai5sZW5ndGggPSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7dGhyb3cgImVycm9yIn0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gMn19OyBvYmouam9pbigpIHRocm93ICJlcnJvciIuIEFjdHVhbDogJyArIChvYmouam9pbigpKSk7Cn0gIApjYXRjaCAoZSkgewogIGlmIChlICE9PSAiZXJyb3IiKSB7CiAgICAkRVJST1IoJyM3LjI6IG9iai5sZW5ndGggPSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7dGhyb3cgImVycm9yIn0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gMn19OyBvYmouam9pbigpIHRocm93ICJlcnJvciIuIEFjdHVhbDogJyArIChlKSk7CiAgfSAKfQoKLy9DSEVDSyM4CnRyeSB7CiAgb2JqLmxlbmd0aCA9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4ge319LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIHt9fX07CiAgb2JqLmpvaW4oKTsKICAkRVJST1IoJyM4LjE6IG9iai5sZW5ndGggPSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIHt9fSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiB7fX19ICBvYmouam9pbigpIHRocm93IFR5cGVFcnJvci4gQWN0dWFsOiAnICsgKG9iai5qb2luKCkpKTsKfSAgCmNhdGNoIChlKSB7CiAgaWYgKChlIGluc3RhbmNlb2YgVHlwZUVycm9yKSAhPT0gdHJ1ZSkgewogICAgJEVSUk9SKCcjOCwyOiBvYmoubGVuZ3RoID0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiB7fX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4ge319fSAgb2JqLmpvaW4oKSB0aHJvdyBUeXBlRXJyb3IuIEFjdHVhbDogJyArIChlKSk7CiAgfSAKfQoK","commentary":"The join function is intentionally generic.\nIt does not require that its this value be an Array object","description":"Operator use ToNumber from length.\nIf Type(value) is Object, evaluate ToPrimitive(value, Number)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.5/S15.4.4.5_A2_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB1c2UgVG9TdHJpbmcgZnJvbSBzZXBhcmF0b3IKICoKICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuNS9TMTUuNC40LjVfQTMuMV9UMS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgc2VwYXJhdG9yIGluIFsiIiwgIlxcIiwgIiYiLCB0cnVlLCBJbmZpbml0eSwgbnVsbCwgdW5kZWZpbmQsIE5hTl0KICovCgovL0NIRUNLIzAKdmFyIHggPSBuZXcgQXJyYXkoMCwxLDIsMyk7CmlmICh4LmpvaW4oIiIpICE9PSAiMDEyMyIpIHsKICAkRVJST1IoJyMwOiB4ID0gbmV3IEFycmF5KDAsMSwyLDMpOyB4LmpvaW4oIiIpID09PSAiMDEyMyIuIEFjdHVhbDogJyArICh4LmpvaW4oIiIpKSk7Cn0KCi8vQ0hFQ0sjMQp4ID0gbmV3IEFycmF5KDAsMSwyLDMpOwppZiAoeC5qb2luKCJcXCIpICE9PSAiMFxcMVxcMlxcMyIpIHsKICAkRVJST1IoJyMxOiB4ID0gbmV3IEFycmF5KDAsMSwyLDMpOyB4LmpvaW4oIlxcIikgPT09ICIwXFwxXFwyXFwzIi4gQWN0dWFsOiAnICsgKHguam9pbigiXFwiKSkpOwp9CgovL0NIRUNLIzIKaWYgKHguam9pbigiJiIpICE9PSAiMCYxJjImMyIpIHsKICAkRVJST1IoJyMyOiB4ID0gbmV3IEFycmF5KDAsMSwyLDMpOyB4LmpvaW4oIiYiKSA9PT0gIjAmMSYyJjMiLiBBY3R1YWw6ICcgKyAoeC5qb2luKCImIikpKTsKfQoKLy9DSEVDSyMzCmlmICh4LmpvaW4odHJ1ZSkgIT09ICIwdHJ1ZTF0cnVlMnRydWUzIikgewogICRFUlJPUignIzM6IHggPSBuZXcgQXJyYXkoMCwxLDIsMyk7IHguam9pbih0cnVlKSA9PT0gIjB0cnVlMXRydWUydHJ1ZTMiLiBBY3R1YWw6ICcgKyAoeC5qb2luKHRydWUpKSk7Cn0KCi8vQ0hFQ0sjNAppZiAoeC5qb2luKEluZmluaXR5KSAhPT0gIjBJbmZpbml0eTFJbmZpbml0eTJJbmZpbml0eTMiKSB7CiAgJEVSUk9SKCcjNDogeCA9IG5ldyBBcnJheSgwLDEsMiwzKTsgeC5qb2luKEluZmluaXR5KSA9PT0gIjBJbmZpbml0eTFJbmZpbml0eTJJbmZpbml0eTMiLiBBY3R1YWw6ICcgKyAoeC5qb2luKEluZmluaXR5KSkpOwp9CgovL0NIRUNLIzUKaWYgKHguam9pbihudWxsKSAhPT0gIjBudWxsMW51bGwybnVsbDMiKSB7CiAgJEVSUk9SKCcjMzogNSA9IG5ldyBBcnJheSgwLDEsMiwzKTsgeC5qb2luKG51bGwpID09PSAiMG51bGwxbnVsbDJudWxsMyIuIEFjdHVhbDogJyArICh4LmpvaW4obnVsbCkpKTsKfQoKLy9DSEVDSyM2CmlmICh4LmpvaW4odW5kZWZpbmVkKSAhPT0gIjAsMSwyLDMiKSB7CiAgJEVSUk9SKCcjNjogeCA9IG5ldyBBcnJheSgwLDEsMiwzKTsgeC5qb2luKHVuZGVmaW5lZCkgPT09ICIwLDEsMiwzIi4gQWN0dWFsOiAnICsgKHguam9pbih1bmRlZmluZWQpKSk7Cn0KCi8vQ0hFQ0sjNwppZiAoeC5qb2luKE5hTikgIT09ICIwTmFOMU5hTjJOYU4zIikgewogICRFUlJPUignIzc6IHggPSBuZXcgQXJyYXkoMCwxLDIsMyk7IHguam9pbigiTmFOIikgPT09ICIwTmFOMU5hTjJOYU4zIi4gQWN0dWFsOiAnICsgKHguam9pbigiTmFOIikpKTsKfQoK","commentary":"Operator use ToString from separator","description":"Checking separator in [\"\", \"\\\\\", \"&\", true, Infinity, null, undefind, NaN]","path":"TestCases/ch15/15.4/15.4.4/15.4.4.5/S15.4.4.5_A3.1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB1c2UgVG9TdHJpbmcgZnJvbSBzZXBhcmF0b3IKICoKICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuNS9TMTUuNC40LjVfQTMuMV9UMi5qcwogKiBAZGVzY3JpcHRpb24gSWYgVHlwZShzZXBhcmF0b3IpIGlzIE9iamVjdCwgZXZhbHVhdGUgVG9QcmltaXRpdmUoc2VwYXJhdG9yLCBTdHJpbmcpCiAqLwoKdmFyIHggPSBuZXcgQXJyYXkoMCwxLDIsMyk7Ci8vQ0hFQ0sjMQp2YXIgb2JqZWN0ID0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAiKyJ9fTsKaWYgKHguam9pbihvYmplY3QpICE9PSAiMFtvYmplY3QgT2JqZWN0XTFbb2JqZWN0IE9iamVjdF0yW29iamVjdCBPYmplY3RdMyIpIHsKICAkRVJST1IoJyMxOiB2YXIgb2JqZWN0ID0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAiKyJ9fTsgeC5qb2luKG9iamVjdCkgPT09ICIwW29iamVjdCBPYmplY3RdMVtvYmplY3QgT2JqZWN0XTJbb2JqZWN0IE9iamVjdF0zIi4gQWN0dWFsOiAnICsgKHguam9pbihvYmplY3QpKSk7Cn0KCi8vQ0hFQ0sjMgp2YXIgb2JqZWN0ID0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAiKyJ9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuICIqIn19OwppZiAoeC5qb2luKG9iamVjdCkgIT09ICIwKjEqMiozIikgewogICRFUlJPUignIzI6IHZhciBvYmplY3QgPSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuICIrIn0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gIioifX07IHguam9pbihvYmplY3QpID09PSAiMCoxKjIqMyIuIEFjdHVhbDogJyArICh4LmpvaW4ob2JqZWN0KSkpOwp9IAoKLy9DSEVDSyMzCnZhciBvYmplY3QgPSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuICIrIn0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4ge319fTsKaWYgKHguam9pbihvYmplY3QpICE9PSAiMCsxKzIrMyIpIHsKICAkRVJST1IoJyMzOiB2YXIgb2JqZWN0ID0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAiKyJ9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIHt9fX07IHguam9pbihvYmplY3QpID09PSAiMCsxKzIrMyIuIEFjdHVhbDogJyArICh4LmpvaW4ob2JqZWN0KSkpOwp9CgovL0NIRUNLIzQKdHJ5IHsKICB2YXIgb2JqZWN0ID0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3Rocm93ICJlcnJvciJ9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuICIqIn19OwogIGlmICh4LmpvaW4ob2JqZWN0KSAhPT0gIjAqMSoyKjMiKSB7CiAgICAkRVJST1IoJyM0LjE6IHZhciBvYmplY3QgPSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7dGhyb3cgImVycm9yIn0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gIioifX07IHguam9pbihvYmplY3QpID09PSAiMCoxKjIqMyIuIEFjdHVhbDogJyArICh4LmpvaW4ob2JqZWN0KSkpOwogIH0KfQpjYXRjaCAoZSkgewogIGlmIChlID09PSAiZXJyb3IiKSB7CiAgICAkRVJST1IoJyM0LjI6IHZhciBvYmplY3QgPSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7dGhyb3cgImVycm9yIn0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gIioifX07IHguam9pbihvYmplY3QpIG5vdCB0aHJvdyAiZXJyb3IiJyk7CiAgfSBlbHNlIHsKICAgICRFUlJPUignIzQuMzogdmFyIG9iamVjdCA9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHt0aHJvdyAiZXJyb3IifSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiAiKiJ9fTsgeC5qb2luKG9iamVjdCkgbm90IHRocm93IEVycm9yLiBBY3R1YWw6ICcgKyAoZSkpOwogIH0KfQoKLy9DSEVDSyM1CnZhciBvYmplY3QgPSB7dG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiAiKiJ9fTsKaWYgKHguam9pbihvYmplY3QpICE9PSAiMCoxKjIqMyIpIHsKICAkRVJST1IoJyM1OiB2YXIgb2JqZWN0ID0ge3RvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gIioifX07IHguam9pbihvYmplY3QpID09PSAiMCoxKjIqMyIuIEFjdHVhbDogJyArICh4LmpvaW4ob2JqZWN0KSkpOwp9CgovL0NIRUNLIzYKdmFyIG9iamVjdCA9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4ge319LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuICIqIn19CmlmICh4LmpvaW4ob2JqZWN0KSAhPT0gIjAqMSoyKjMiKSB7CiAgJEVSUk9SKCcjNjogdmFyIG9iamVjdCA9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4ge319LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuICIqIn19OyB4LmpvaW4ob2JqZWN0KSA9PT0gIjAqMSoyKjMiLiBBY3R1YWw6ICcgKyAoeC5qb2luKG9iamVjdCkpKTsKfQoKLy9DSEVDSyM3CnRyeSB7CiAgdmFyIG9iamVjdCA9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gIisifSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3Rocm93ICJlcnJvciJ9fTsKICB4LmpvaW4ob2JqZWN0KTsKICAkRVJST1IoJyM3LjE6IHZhciBvYmplY3QgPSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuICIrIn0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHt0aHJvdyAiZXJyb3IifX07IHguam9pbihvYmplY3QpIHRocm93ICJlcnJvciIuIEFjdHVhbDogJyArICh4LmpvaW4ob2JqZWN0KSkpOwp9ICAKY2F0Y2ggKGUpIHsKICBpZiAoZSAhPT0gImVycm9yIikgewogICAgJEVSUk9SKCcjNy4yOiB2YXIgb2JqZWN0ID0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAiKyJ9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7dGhyb3cgImVycm9yIn19OyB4LmpvaW4ob2JqZWN0KSB0aHJvdyAiZXJyb3IiLiBBY3R1YWw6ICcgKyAoZSkpOwogIH0gCn0KCi8vQ0hFQ0sjOAp0cnkgewogIHZhciBvYmplY3QgPSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIHt9fSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiB7fX19OwogIHguam9pbihvYmplY3QpOwogICRFUlJPUignIzguMTogdmFyIG9iamVjdCA9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4ge319LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIHt9fX07IHguam9pbihvYmplY3QpIHRocm93IFR5cGVFcnJvci4gQWN0dWFsOiAnICsgKHguam9pbihvYmplY3QpKSk7Cn0gIApjYXRjaCAoZSkgewogIGlmICgoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikgIT09IHRydWUpIHsKICAgICRFUlJPUignIzguMjogdmFyIG9iamVjdCA9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4ge319LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIHt9fX07IHguam9pbihvYmplY3QpIHRocm93IFR5cGVFcnJvci4gQWN0dWFsOiAnICsgKGUpKTsKICB9IAp9CgovL0NIRUNLIzkKdHJ5IHsKICAgIHZhciBvYmplY3QgPSB7dG9TdHJpbmc6IGZ1bmN0aW9uKCkge3Rocm93ICJlcnJvciJ9fTsKICAgIFtdLmpvaW4ob2JqZWN0KTsKICAgICRFUlJPUignIzkuMTogdmFyIG9iamVjdCA9IHt0b1N0cmluZzogZnVuY3Rpb24oKSB7dGhyb3cgImVycm9yIn19OyBbXS5qb2luKG9iamVjdCkgdGhyb3cgImVycm9yIi4gQWN0dWFsOiAnICsgKFtdLmpvaW4ob2JqZWN0KSkpOwp9CmNhdGNoIChlKSB7CiAgICBpZiAoZSAhPT0gImVycm9yIikgewogICAgICAgICRFUlJPUignIzkuMjogdmFyIG9iamVjdCA9IHt0b1N0cmluZzogZnVuY3Rpb24oKSB7dGhyb3cgImVycm9yIn19OyBbXS5qb2luKG9iamVjdCkgdGhyb3cgImVycm9yIi4gQWN0dWFsOiAnICsgKGUpKTsKICAgfQp9","commentary":"Operator use ToString from separator","description":"If Type(separator) is Object, evaluate ToPrimitive(separator, String)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.5/S15.4.4.5_A3.1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB1c2UgVG9TdHJpbmcgZnJvbSBhcnJheSBhcmd1bWVudHMKICoKICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuNS9TMTUuNC40LjVfQTMuMl9UMS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgYXJndW1lbnRzIGFuZCBzZXBhcmF0b3IgaW4gWyIiLCAiXFwiLCAiJiIsIHRydWUsIEluZmluaXR5LCBudWxsLCB1bmRlZmluZCwgTmFOXQogKi8KCi8vQ0hFQ0sjMAp2YXIgeCA9IG5ldyBBcnJheSgiIiwiIiwiIik7CmlmICh4LmpvaW4oIiIpICE9PSAiIikgewogICRFUlJPUignIzA6IHZhciB4ID0gbmV3IEFycmF5KCIiLCIiLCIiKTsgeC5qb2luKCIiKSA9PT0gIiIuIEFjdHVhbDogJyArICh4LmpvaW4oIiIpKSk7Cn0KCi8vQ0hFQ0sjMQp2YXIgeCA9IG5ldyBBcnJheSgiXFwiLCJcXCIsIlxcIik7CmlmICh4LmpvaW4oIlxcIikgIT09ICJcXFxcXFxcXFxcIikgewogICRFUlJPUignIzE6IHZhciB4ID0gbmV3IEFycmF5KCJcXCIsIlxcIiwiXFwiKTsgeC5qb2luKCJcXCIpID09PSAiXFxcXFxcXFxcXCIuIEFjdHVhbDogJyArICh4LmpvaW4oIlxcIikpKTsKfQoKLy9DSEVDSyMyCnZhciB4ID0gbmV3IEFycmF5KCImIiwgIiYiLCAiJiIpOwppZiAoeC5qb2luKCImIikgIT09ICImJiYmJiIpIHsKICAkRVJST1IoJyMyOiB2YXIgeCA9IG5ldyBBcnJheSgiJiIsICImIiwgIiYiKTsgeC5qb2luKCImIikgPT09ICImJiYmJiIuIEFjdHVhbDogJyArICh4LmpvaW4oIiYiKSkpOwp9CgovL0NIRUNLIzMKdmFyIHggPSBuZXcgQXJyYXkodHJ1ZSx0cnVlLHRydWUpOwppZiAoeC5qb2luKCkgIT09ICJ0cnVlLHRydWUsdHJ1ZSIpIHsKICAkRVJST1IoJyMzOiB2YXIgeCA9IG5ldyBBcnJheSh0cnVlLHRydWUsdHJ1ZSk7IHguam9pbih0cnVlLHRydWUsdHJ1ZSkgPT09ICJ0cnVlLHRydWUsdHJ1ZSIuIEFjdHVhbDogJyArICh4LmpvaW4odHJ1ZSx0cnVlLHRydWUpKSk7Cn0KCi8vQ0hFQ0sjNAp2YXIgeCA9IG5ldyBBcnJheShudWxsLG51bGwsbnVsbCk7CmlmICh4LmpvaW4oKSAhPT0gIiwsIikgewogICRFUlJPUignIzQ6IHZhciB4ID0gbmV3IEFycmF5KG51bGwsbnVsbCxudWxsKTsgeC5qb2luKG51bGwsbnVsbCxudWxsKSA9PT0gIiwsIi4gQWN0dWFsOiAnICsgKHguam9pbihudWxsLG51bGwsbnVsbCkpKTsKfQoKLy9DSEVDSyM1CnZhciB4ID0gbmV3IEFycmF5KHVuZGVmaW5lZCx1bmRlZmluZWQsdW5kZWZpbmVkKTsKaWYgKHguam9pbigpICE9PSAiLCwiKSB7CiAgJEVSUk9SKCcjNTogdmFyIHggPSBuZXcgQXJyYXkodW5kZWZpbmVkLHVuZGVmaW5lZCx1bmRlZmluZWQpOyB4LmpvaW4odW5kZWZpbmVkLHVuZGVmaW5lZCx1bmRlZmluZWQpID09PSAiLCwiLiBBY3R1YWw6ICcgKyAoeC5qb2luKHVuZGVmaW5lZCx1bmRlZmluZWQsdW5kZWZpbmVkKSkpOwp9CgovL0NIRUNLIzYKdmFyIHggPSBuZXcgQXJyYXkoSW5maW5pdHksSW5maW5pdHksSW5maW5pdHkpOwppZiAoeC5qb2luKCkgIT09ICJJbmZpbml0eSxJbmZpbml0eSxJbmZpbml0eSIpIHsKICAkRVJST1IoJyM2OiB2YXIgeCA9IG5ldyBBcnJheShJbmZpbml0eSxJbmZpbml0eSxJbmZpbml0eSk7IHguam9pbihJbmZpbml0eSxJbmZpbml0eSxJbmZpbml0eSkgPT09ICJJbmZpbml0eSxJbmZpbml0eSxJbmZpbml0eSIuIEFjdHVhbDogJyArICh4LmpvaW4oSW5maW5pdHksSW5maW5pdHksSW5maW5pdHkpKSk7Cn0KCi8vQ0hFQ0sjNwp2YXIgeCA9IG5ldyBBcnJheShOYU4sTmFOLE5hTik7CmlmICh4LmpvaW4oKSAhPT0gIk5hTixOYU4sTmFOIikgewogICRFUlJPUignIzc6IHZhciB4ID0gbmV3IEFycmF5KE5hTixOYU4sTmFOKTsgeC5qb2luKE5hTixOYU4sTmFOKSA9PT0gIk5hTixOYU4sTmFOIi4gQWN0dWFsOiAnICsgKHguam9pbihOYU4sTmFOLE5hTikpKTsKfQoK","commentary":"Operator use ToString from array arguments","description":"Checking arguments and separator in [\"\", \"\\\\\", \"&\", true, Infinity, null, undefind, NaN]","path":"TestCases/ch15/15.4/15.4.4/15.4.4.5/S15.4.4.5_A3.2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPcGVyYXRvciB1c2UgVG9TdHJpbmcgZnJvbSBhcnJheSBhcmd1bWVudHMKICoKICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuNS9TMTUuNC40LjVfQTMuMl9UMi5qcwogKiBAZGVzY3JpcHRpb24gSWYgVHlwZShhcmd1bWVudCkgaXMgT2JqZWN0LCBldmFsdWF0ZSBUb1ByaW1pdGl2ZShhcmd1bWVudCwgU3RyaW5nKQogKi8KCi8vQ0hFQ0sjMQp2YXIgb2JqZWN0ID0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAiKyJ9fTsKdmFyIHggPSBuZXcgQXJyYXkob2JqZWN0KTsKaWYgKHguam9pbigpICE9PSAiW29iamVjdCBPYmplY3RdIikgewogICRFUlJPUignIzE6IHZhciBvYmplY3QgPSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuICIrIn19IHZhciB4ID0gbmV3IEFycmF5KG9iamVjdCk7IHguam9pbigpID09PSAiW29iamVjdCBPYmplY3RdIi4gQWN0dWFsOiAnICsgKHguam9pbigpKSk7Cn0KCi8vQ0hFQ0sjMgp2YXIgb2JqZWN0ID0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAiKyJ9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuICIqIn19Owp2YXIgeCA9IG5ldyBBcnJheShvYmplY3QpOwppZiAoeC5qb2luKCkgIT09ICIqIikgewogICRFUlJPUignIzI6IHZhciBvYmplY3QgPSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuICIrIn0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gIioifX0gdmFyIHggPSBuZXcgQXJyYXkob2JqZWN0KTsgeC5qb2luKCkgPT09ICIqIi4gQWN0dWFsOiAnICsgKHguam9pbigpKSk7Cn0gCgovL0NIRUNLIzMKdmFyIG9iamVjdCA9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gIisifSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiB7fX19Owp2YXIgeCA9IG5ldyBBcnJheShvYmplY3QpOwppZiAoeC5qb2luKCkgIT09ICIrIikgewogICRFUlJPUignIzM6IHZhciBvYmplY3QgPSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuICIrIn0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4ge319fSB2YXIgeCA9IG5ldyBBcnJheShvYmplY3QpOyB4LmpvaW4oKSA9PT0gIisiLiBBY3R1YWw6ICcgKyAoeC5qb2luKCkpKTsKfQoKLy9DSEVDSyM0CnRyeSB7CiAgdmFyIG9iamVjdCA9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHt0aHJvdyAiZXJyb3IifSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiAiKiJ9fTsKICB2YXIgeCA9IG5ldyBBcnJheShvYmplY3QpOwogIGlmICh4LmpvaW4oKSAhPT0gIioiKSB7CiAgICAkRVJST1IoJyM0LjE6IHZhciBvYmplY3QgPSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7dGhyb3cgImVycm9yIn0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gIioifX0gdmFyIHggPSBuZXcgQXJyYXkob2JqZWN0KTsgeC5qb2luKCkgPT09ICIqIi4gQWN0dWFsOiAnICsgKHguam9pbigpKSk7CiAgfQp9CmNhdGNoIChlKSB7CiAgaWYgKGUgPT09ICJlcnJvciIpIHsKICAgICRFUlJPUignIzQuMjogdmFyIG9iamVjdCA9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHt0aHJvdyAiZXJyb3IifSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiAiKiJ9fSB2YXIgeCA9IG5ldyBBcnJheShvYmplY3QpOyB4LmpvaW4oKSBub3QgdGhyb3cgImVycm9yIicpOwogIH0gZWxzZSB7CiAgICAkRVJST1IoJyM0LjM6IHZhciBvYmplY3QgPSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7dGhyb3cgImVycm9yIn0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gIioifX0gdmFyIHggPSBuZXcgQXJyYXkob2JqZWN0KTsgeC5qb2luKCkgbm90IHRocm93IEVycm9yLiBBY3R1YWw6ICcgKyAoZSkpOwogIH0KfQoKLy9DSEVDSyM1CnZhciBvYmplY3QgPSB7dG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiAiKiJ9fTsKdmFyIHggPSBuZXcgQXJyYXkob2JqZWN0KTsKaWYgKHguam9pbigpICE9PSAiKiIpIHsKICAkRVJST1IoJyM1OiB2YXIgb2JqZWN0ID0ge3RvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gIioifX0gdmFyIHggPSBuZXcgQXJyYXkob2JqZWN0KTsgeC5qb2luKCkgPT09ICIqIi4gQWN0dWFsOiAnICsgKHguam9pbigpKSk7Cn0KCi8vQ0hFQ0sjNgp2YXIgb2JqZWN0ID0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiB7fX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gIioifX0KdmFyIHggPSBuZXcgQXJyYXkob2JqZWN0KTsKaWYgKHguam9pbigpICE9PSAiKiIpIHsKICAkRVJST1IoJyM2OiB2YXIgb2JqZWN0ID0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiB7fX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gIioifX0gdmFyIHggPSBuZXcgQXJyYXkob2JqZWN0KTsgeC5qb2luKCkgPT09ICIqIi4gQWN0dWFsOiAnICsgKHguam9pbigpKSk7Cn0KCi8vQ0hFQ0sjNwp0cnkgewogIHZhciBvYmplY3QgPSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuICIrIn0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHt0aHJvdyAiZXJyb3IifX07CiAgdmFyIHggPSBuZXcgQXJyYXkob2JqZWN0KTsKICB4LmpvaW4oKTsKICAkRVJST1IoJyM3LjE6IHZhciBvYmplY3QgPSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuICIrIn0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHt0aHJvdyAiZXJyb3IifX0gdmFyIHggPSBuZXcgQXJyYXkob2JqZWN0KTsgeC5qb2luKCkgdGhyb3cgImVycm9yIi4gQWN0dWFsOiAnICsgKHguam9pbigpKSk7Cn0gIApjYXRjaCAoZSkgewogIGlmIChlICE9PSAiZXJyb3IiKSB7CiAgICAkRVJST1IoJyM3LjI6IHZhciBvYmplY3QgPSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuICIrIn0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHt0aHJvdyAiZXJyb3IifX0gdmFyIHggPSBuZXcgQXJyYXkob2JqZWN0KTsgeC5qb2luKCkgdGhyb3cgImVycm9yIi4gQWN0dWFsOiAnICsgKGUpKTsKICB9IAp9CgovL0NIRUNLIzgKdHJ5IHsKICB2YXIgb2JqZWN0ID0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiB7fX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4ge319fTsKICB2YXIgeCA9IG5ldyBBcnJheShvYmplY3QpOwogIHguam9pbigpOwogICRFUlJPUignIzguMTogdmFyIG9iamVjdCA9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4ge319LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIHt9fX0gdmFyIHggPSBuZXcgQXJyYXkob2JqZWN0KTsgeC5qb2luKCkgdGhyb3cgVHlwZUVycm9yLiBBY3R1YWw6ICcgKyAoeC5qb2luKCkpKTsKfSAgCmNhdGNoIChlKSB7CiAgaWYgKChlIGluc3RhbmNlb2YgVHlwZUVycm9yKSAhPT0gdHJ1ZSkgewogICAgJEVSUk9SKCcjOC4yOiB2YXIgb2JqZWN0ID0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiB7fX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4ge319fSB2YXIgeCA9IG5ldyBBcnJheShvYmplY3QpOyB4LmpvaW4oKSB0aHJvdyBUeXBlRXJyb3IuIEFjdHVhbDogJyArIChlKSk7CiAgfSAKfQoK","commentary":"Operator use ToString from array arguments","description":"If Type(argument) is Object, evaluate ToPrimitive(argument, String)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.5/S15.4.4.5_A3.2_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBDaGVjayBUb1VpbnQzMihsZW5ndGgpIGZvciBub24gQXJyYXkgb2JqZWN0cwogKgogKiBAcGF0aCBjaDE1LzE1LjQvMTUuNC40LzE1LjQuNC41L1MxNS40LjQuNV9BNF9UMS5qcwogKiBAZGVzY3JpcHRpb24gbGVuZ3RoID0gNDI5NDk2NzI5NgogKi8KCnZhciBvYmogPSB7fTsKb2JqLmpvaW4gPSBBcnJheS5wcm90b3R5cGUuam9pbjsKb2JqWzBdID0gIngiOwpvYmpbNDI5NDk2NzI5NV0gPSAieSI7Cm9iai5sZW5ndGggPSA0Mjk0OTY3Mjk2OwoKLy9DSEVDSyMxCmlmIChvYmouam9pbigiIikgIT09ICIiKSB7CiAgJEVSUk9SKCcjMTogdmFyIG9iaiA9IHt9OyBvYmouam9pbiA9IEFycmF5LnByb3RvdHlwZS5qb2luOyBvYmpbMF0gPSAieCI7IG9ials0Mjk0OTY3Mjk1XSA9ICJ5Ijsgb2JqLmxlbmd0aCA9IDQyOTQ5NjcyOTY7IG9iai5qb2luKCIiKSA9PT0gIiIuIEFjdHVhbDogJyArIChvYmouam9pbigiIikpKTsKfQoKLy9DSEVDSyMyCmlmIChvYmoubGVuZ3RoICE9PSA0Mjk0OTY3Mjk2KSB7CiAgJEVSUk9SKCcjMjogdmFyIG9iaiA9IHt9OyBvYmouam9pbiA9IEFycmF5LnByb3RvdHlwZS5qb2luOyBvYmpbMF0gPSAieCI7IG9ials0Mjk0OTY3Mjk1XSA9ICJ5Ijsgb2JqLmxlbmd0aCA9IDQyOTQ5NjcyOTY7IG9iai5qb2luKCIiKTsgb2JqLmxlbmd0aCA9PT0gNDI5NDk2NzI5Ni4gQWN0dWFsOiAnICsgKG9iai5sZW5ndGgpKTsKfQoK","commentary":"Check ToUint32(length) for non Array objects","description":"length = 4294967296","path":"TestCases/ch15/15.4/15.4.4/15.4.4.5/S15.4.4.5_A4_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBDaGVjayBUb1VpbnQzMihsZW5ndGgpIGZvciBub24gQXJyYXkgb2JqZWN0cwogKgogKiBAcGF0aCBjaDE1LzE1LjQvMTUuNC40LzE1LjQuNC41L1MxNS40LjQuNV9BNF9UMi5qcwogKiBAZGVzY3JpcHRpb24gbGVuZ3RoID0gNDI5NDk2NzI5NwogKi8KCnZhciBvYmogPSB7fTsKb2JqLmpvaW4gPSBBcnJheS5wcm90b3R5cGUuam9pbjsKb2JqWzBdID0gIngiOwpvYmpbMV0gPSAieSI7Cm9ials0Mjk0OTY3Mjk2XSA9ICJ6IjsKb2JqLmxlbmd0aCA9IDQyOTQ5NjcyOTc7CgovL0NIRUNLIzEKaWYgKG9iai5qb2luKCIiKSAhPT0gIngiKSB7CiAgJEVSUk9SKCcjMTogdmFyIG9iaiA9IHt9OyBvYmouam9pbiA9IEFycmF5LnByb3RvdHlwZS5qb2luOyBvYmpbMF0gPSAieCI7IG9ialsxXSA9ICJ5Ijsgb2JqWzQyOTQ5NjcyOTZdID0gInoiOyBvYmoubGVuZ3RoID0gNDI5NDk2NzI5Nzsgb2JqLmpvaW4oIiIpID09PSAieCIuIEFjdHVhbDogJyArIChvYmouam9pbigiIikpKTsKfQoKLy9DSEVDSyMyCmlmIChvYmoubGVuZ3RoICE9PSA0Mjk0OTY3Mjk3KSB7CiAgJEVSUk9SKCcjMjogdmFyIG9iaiA9IHt9OyBvYmouam9pbiA9IEFycmF5LnByb3RvdHlwZS5qb2luOyBvYmpbMF0gPSAieCI7IG9ialsxXSA9ICJ5Ijsgb2JqWzQyOTQ5NjcyOTZdID0gInoiOyBvYmoubGVuZ3RoID0gNDI5NDk2NzI5Nzsgb2JqLmpvaW4oIiIpOyBvYmoubGVuZ3RoID09PSA0Mjk0OTY3Mjk3LiBBY3R1YWw6ICcgKyAob2JqLmxlbmd0aCkpOwp9Cgo=","commentary":"Check ToUint32(length) for non Array objects","description":"length = 4294967297","path":"TestCases/ch15/15.4/15.4.4/15.4.4.5/S15.4.4.5_A4_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBDaGVjayBUb1VpbnQzMihsZW5ndGgpIGZvciBub24gQXJyYXkgb2JqZWN0cwogKgogKiBAcGF0aCBjaDE1LzE1LjQvMTUuNC40LzE1LjQuNC41L1MxNS40LjQuNV9BNF9UMy5qcwogKiBAZGVzY3JpcHRpb24gbGVuZ3RoID0gLTQyOTQ5NjcyOTQKICovCgp2YXIgb2JqID0ge307Cm9iai5qb2luID0gQXJyYXkucHJvdG90eXBlLmpvaW47Cm9ialswXSA9ICJ4IjsKb2JqWzFdID0gInkiOwpvYmpbMl0gPSAieiI7Cm9iai5sZW5ndGggPSAtNDI5NDk2NzI5NDsKCi8vQ0hFQ0sjMQppZiAob2JqLmpvaW4oIiIpICE9PSAieHkiKSB7CiAgJEVSUk9SKCcjMTogdmFyIG9iaiA9IHt9OyBvYmouam9pbiA9IEFycmF5LnByb3RvdHlwZS5qb2luOyBvYmpbMF0gPSAieCI7IG9ialsxXSA9ICJ5Ijsgb2JqWzJdID0gInoiOyBvYmoubGVuZ3RoID0gLTQyOTQ5NjcyOTQ7IG9iai5qb2luKCIiKSA9PT0gInh5Ii4gQWN0dWFsOiAnICsgKG9iai5qb2luKCIiKSkpOwp9CgovL0NIRUNLIzIKaWYgKG9iai5sZW5ndGggIT09IC00Mjk0OTY3Mjk0KSB7CiAgJEVSUk9SKCcjMjogdmFyIG9iaiA9IHt9OyBvYmouam9pbiA9IEFycmF5LnByb3RvdHlwZS5qb2luOyBvYmpbMF0gPSAieCI7IG9ialsxXSA9ICJ5Ijsgb2JqWzJdID0gInoiOyBvYmoubGVuZ3RoID0gLTQyOTQ5NjcyOTQ7IG9iai5qb2luKCIiKTsgb2JqLmxlbmd0aCA9PT0gLTQyOTQ5NjcyOTQuIEFjdHVhbDogJyArIChvYmoubGVuZ3RoKSk7Cn0KCg==","commentary":"Check ToUint32(length) for non Array objects","description":"length = -4294967294","path":"TestCases/ch15/15.4/15.4.4/15.4.4.5/S15.4.4.5_A4_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBbW0dldF1dIGZyb20gbm90IGFuIGluaGVyaXRlZCBwcm9wZXJ0eQogKgogKiBAcGF0aCBjaDE1LzE1LjQvMTUuNC40LzE1LjQuNC41L1MxNS40LjQuNV9BNV9UMS5qcwogKiBAZGVzY3JpcHRpb24gW1tQcm90b3R5cGVdXSBvZiBBcnJheSBpbnN0YW5jZSBpcyBBcnJheS5wcm90b3R5cGUsIFtbUHJvdG90eXBlXSBvZiBBcnJheS5wcm90b3R5cGUgaXMgT2JqZWN0LnByb3RvdHlwZQogKi8KCi8vQ0hFQ0sjMQpBcnJheS5wcm90b3R5cGVbMV0gPSAxOwp2YXIgeCA9IFswXTsKeC5sZW5ndGggPSAyOwppZiAoeC5qb2luKCkgIT09ICIwLDEiKSB7ICAKICAkRVJST1IoJyMxOiBBcnJheS5wcm90b3R5cGVbMV0gPSAxOyB4ID0gWzBdOyB4Lmxlbmd0aCA9IDI7IHguam9pbigpID09PSAiMCwxIi4gQWN0dWFsOiAnICsgKHguam9pbigpKSk7ICAgIAp9CgovL0NIRUNLIzIKT2JqZWN0LnByb3RvdHlwZVsxXSA9IDE7Ck9iamVjdC5wcm90b3R5cGUubGVuZ3RoID0gMjsKT2JqZWN0LnByb3RvdHlwZS5qb2luID0gQXJyYXkucHJvdG90eXBlLmpvaW47CnggPSB7MDowfTsKaWYgKHguam9pbigpICE9PSAiMCwxIikgeyAgCiAgJEVSUk9SKCcjMjogT2JqZWN0LnByb3RvdHlwZVsxXSA9IDE7IE9iamVjdC5wcm90b3R5cGUubGVuZ3RoID0gMjsgT2JqZWN0LnByb3RvdHlwZS5qb2luID0gQXJyYXkucHJvdG90eXBlLmpvaW47IHggPSB7MDowfTsgeC5qb2luKCkgPT09ICIwLDEiLiBBY3R1YWw6ICcgKyAoeC5qb2luKCkpKTsgICAgCn0KCg==","commentary":"[[Get]] from not an inherited property","description":"[[Prototype]] of Array instance is Array.prototype, [[Prototype] of Array.prototype is Object.prototype","path":"TestCases/ch15/15.4/15.4.4/15.4.4.5/S15.4.4.5_A5_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgbGVuZ3RoIHByb3BlcnR5IG9mIGpvaW4gaGFzIHRoZSBhdHRyaWJ1dGUgRG9udEVudW0KICoKICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuNS9TMTUuNC40LjVfQTYuMS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgdXNlIHByb3BlcnR5SXNFbnVtZXJhYmxlLCBmb3ItaW4KICovCgovL0NIRUNLIzEKaWYgKEFycmF5LnByb3RvdHlwZS5qb2luLnByb3BlcnR5SXNFbnVtZXJhYmxlKCdsZW5ndGgnKSAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyMxOiBBcnJheS5wcm90b3R5cGUuam9pbi5wcm9wZXJ0eUlzRW51bWVyYWJsZShcJ2xlbmd0aFwnKSA9PT0gZmFsc2UuIEFjdHVhbDogJyArIChBcnJheS5wcm90b3R5cGUuam9pbi5wcm9wZXJ0eUlzRW51bWVyYWJsZSgnbGVuZ3RoJykpKTsKfQoKLy9DSEVDSyMyCnZhciByZXN1bHQgPSB0cnVlOwpmb3IgKHZhciBwIGluIEFycmF5LmpvaW4pewogIGlmIChwID09PSAibGVuZ3RoIikgewogICAgcmVzdWx0ID0gZmFsc2U7CiAgfSAgCn0KCmlmIChyZXN1bHQgIT09IHRydWUpIHsKICAkRVJST1IoJyMyOiByZXN1bHQgPSB0cnVlOyBmb3IgKHAgaW4gQXJyYXkuam9pbikgeyBpZiAocCA9PT0gImxlbmd0aCIpIHJlc3VsdCA9IGZhbHNlOyB9ICByZXN1bHQgPT09IHRydWU7Jyk7Cn0KCgo=","commentary":"The length property of join has the attribute DontEnum","description":"Checking use propertyIsEnumerable, for-in","path":"TestCases/ch15/15.4/15.4.4/15.4.4.5/S15.4.4.5_A6.1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgbGVuZ3RoIHByb3BlcnR5IG9mIGpvaW4gaGFzIHRoZSBhdHRyaWJ1dGUgRG9udERlbGV0ZQogKgogKiBAcGF0aCBjaDE1LzE1LjQvMTUuNC40LzE1LjQuNC41L1MxNS40LjQuNV9BNi4yLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyB1c2UgaGFzT3duUHJvcGVydHksIGRlbGV0ZQogKiBAbm9TdHJpY3QKICovCgovL0NIRUNLIzEKaWYgKEFycmF5LnByb3RvdHlwZS5qb2luLmhhc093blByb3BlcnR5KCdsZW5ndGgnKSAhPT0gdHJ1ZSkgewogICRGQUlMKCcjMTogQXJyYXkucHJvdG90eXBlLmpvaW4uaGFzT3duUHJvcGVydHkoXCdsZW5ndGhcJykgPT09IHRydWUuIEFjdHVhbDogJyArIChBcnJheS5wcm90b3R5cGUuam9pbi5oYXNPd25Qcm9wZXJ0eSgnbGVuZ3RoJykpKTsKfQoKZGVsZXRlIEFycmF5LnByb3RvdHlwZS5qb2luLmxlbmd0aDsKIAovL0NIRUNLIzIKaWYgKEFycmF5LnByb3RvdHlwZS5qb2luLmhhc093blByb3BlcnR5KCdsZW5ndGgnKSAhPT0gdHJ1ZSkgewogICRFUlJPUignIzI6IGRlbGV0ZSBBcnJheS5wcm90b3R5cGUuam9pbi5sZW5ndGg7IEFycmF5LnByb3RvdHlwZS5qb2luLmhhc093blByb3BlcnR5KFwnbGVuZ3RoXCcpID09PSB0cnVlLiBBY3R1YWw6ICcgKyAoQXJyYXkucHJvdG90eXBlLmpvaW4uaGFzT3duUHJvcGVydHkoJ2xlbmd0aCcpKSk7Cn0KCi8vQ0hFQ0sjMwppZiAoQXJyYXkucHJvdG90eXBlLmpvaW4ubGVuZ3RoID09PSB1bmRlZmluZWQpIHsKICAkRVJST1IoJyMzOiBkZWxldGUgQXJyYXkucHJvdG90eXBlLmpvaW4ubGVuZ3RoOyBBcnJheS5wcm90b3R5cGUuam9pbi5sZW5ndGggIT09IHVuZGVmaW5lZCcpOwp9CgoKCg==","commentary":"The length property of join has the attribute DontDelete","description":"Checking use hasOwnProperty, delete","noStrict":"","path":"TestCases/ch15/15.4/15.4.4/15.4.4.5/S15.4.4.5_A6.2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgbGVuZ3RoIHByb3BlcnR5IG9mIGpvaW4gaGFzIHRoZSBhdHRyaWJ1dGUgUmVhZE9ubHkKICoKICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuNS9TMTUuNC40LjVfQTYuMy5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgaWYgdmFyeWluZyB0aGUgbGVuZ3RoIHByb3BlcnR5IGZhaWxzCiAqIEBub1N0cmljdAogKi8KCi8vQ0hFQ0sjMQp2YXIgeCA9IEFycmF5LnByb3RvdHlwZS5qb2luLmxlbmd0aDsKQXJyYXkucHJvdG90eXBlLmpvaW4ubGVuZ3RoID0gSW5maW5pdHk7CmlmIChBcnJheS5wcm90b3R5cGUuam9pbi5sZW5ndGggIT09IHgpIHsKICAkRVJST1IoJyMxOiB4ID0gQXJyYXkucHJvdG90eXBlLmpvaW4ubGVuZ3RoOyBBcnJheS5wcm90b3R5cGUuam9pbi5sZW5ndGggPSBJbmZpbml0eTsgQXJyYXkucHJvdG90eXBlLmpvaW4ubGVuZ3RoID09PSB4LiBBY3R1YWw6ICcgKyAoQXJyYXkucHJvdG90eXBlLmpvaW4ubGVuZ3RoKSk7Cn0KCgo=","commentary":"The length property of join has the attribute ReadOnly","description":"Checking if varying the length property fails","noStrict":"","path":"TestCases/ch15/15.4/15.4.4/15.4.4.5/S15.4.4.5_A6.3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgbGVuZ3RoIHByb3BlcnR5IG9mIGpvaW4gaXMgMQogKgogKiBAcGF0aCBjaDE1LzE1LjQvMTUuNC40LzE1LjQuNC41L1MxNS40LjQuNV9BNi40LmpzCiAqIEBkZXNjcmlwdGlvbiBqb2luLmxlbmd0aCA9PT0gMQogKi8KCi8vQ0hFQ0sjMQppZiAoQXJyYXkucHJvdG90eXBlLmpvaW4ubGVuZ3RoICE9PSAxKSB7CiAgJEVSUk9SKCcjMTogQXJyYXkucHJvdG90eXBlLmpvaW4ubGVuZ3RoID09PSAxLiBBY3R1YWw6ICcgKyAoQXJyYXkucHJvdG90eXBlLmpvaW4ubGVuZ3RoKSk7Cn0KCgo=","commentary":"The length property of join is 1","description":"join.length === 1","path":"TestCases/ch15/15.4/15.4.4/15.4.4.5/S15.4.4.5_A6.4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgam9pbiBwcm9wZXJ0eSBvZiBBcnJheSBoYXMgdGhlIGF0dHJpYnV0ZSBEb250RW51bQogKgogKiBAcGF0aCBjaDE1LzE1LjQvMTUuNC40LzE1LjQuNC41L1MxNS40LjQuNV9BNi41LmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyB1c2UgcHJvcGVydHlJc0VudW1lcmFibGUsIGZvci1pbgogKi8KCi8vQ0hFQ0sjMQppZiAoQXJyYXkucHJvcGVydHlJc0VudW1lcmFibGUoJ2pvaW4nKSAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyMxOiBBcnJheS5wcm9wZXJ0eUlzRW51bWVyYWJsZShcJ2pvaW5cJykgPT09IGZhbHNlLiBBY3R1YWw6ICcgKyAoQXJyYXkucHJvcGVydHlJc0VudW1lcmFibGUoJ2pvaW4nKSkpOwp9CgovL0NIRUNLIzIKdmFyIHJlc3VsdCA9IHRydWU7CmZvciAodmFyIHAgaW4gQXJyYXkpewogIGlmIChwID09PSAiam9pbiIpIHsKICAgIHJlc3VsdCA9IGZhbHNlOwogIH0gIAp9CgppZiAocmVzdWx0ICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMjogcmVzdWx0ID0gdHJ1ZTsgZm9yIChwIGluIEFycmF5KSB7IGlmIChwID09PSAiam9pbiIpIHJlc3VsdCA9IGZhbHNlOyB9ICByZXN1bHQgPT09IHRydWU7Jyk7Cn0KCgo=","commentary":"The join property of Array has the attribute DontEnum","description":"Checking use propertyIsEnumerable, for-in","path":"TestCases/ch15/15.4/15.4.4/15.4.4.5/S15.4.4.5_A6.5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgam9pbiBwcm9wZXJ0eSBvZiBBcnJheSBoYXMgbm90IHByb3RvdHlwZSBwcm9wZXJ0eQogKgogKiBAcGF0aCBjaDE1LzE1LjQvMTUuNC40LzE1LjQuNC41L1MxNS40LjQuNV9BNi42LmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBBcnJheS5wcm90b3R5cGUuam9pbi5wcm90b3R5cGUKICovCgovL0NIRUNLIzEKaWYgKEFycmF5LnByb3RvdHlwZS5qb2luLnByb3RvdHlwZSAhPT0gdW5kZWZpbmVkKSB7CiAgJEVSUk9SKCcjMTogQXJyYXkucHJvdG90eXBlLmpvaW4ucHJvdG90eXBlID09PSB1bmRlZmluZWQuIEFjdHVhbDogJyArIChBcnJheS5wcm90b3R5cGUuam9pbi5wcm90b3R5cGUpKTsKfQoK","commentary":"The join property of Array has not prototype property","description":"Checking Array.prototype.join.prototype","path":"TestCases/ch15/15.4/15.4.4/15.4.4.5/S15.4.4.5_A6.6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgam9pbiBwcm9wZXJ0eSBvZiBBcnJheSBjYW4ndCBiZSB1c2VkIGFzIGNvbnN0cnVjdG9yCiAqCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjUvUzE1LjQuNC41X0E2LjcuanMKICogQGRlc2NyaXB0aW9uIElmIHByb3BlcnR5IGRvZXMgbm90IGltcGxlbWVudCB0aGUgaW50ZXJuYWwgW1tDb25zdHJ1Y3RdXSBtZXRob2QsIHRocm93IGEgVHlwZUVycm9yIGV4Y2VwdGlvbgogKi8KCi8vQ0hFQ0sjMQoKdHJ5IHsKICBuZXcgQXJyYXkucHJvdG90eXBlLmpvaW4oKTsKICAkRVJST1IoJyMxLjE6IG5ldyBBcnJheS5wcm90b3R5cGUuam9pbigpIHRocm93IFR5cGVFcnJvci4gQWN0dWFsOiAnICsgKG5ldyBBcnJheS5wcm90b3R5cGUuam9pbigpKSk7Cn0gY2F0Y2ggKGUpIHsKICBpZiAoKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpICE9PSB0cnVlKSB7CiAgICAkRVJST1IoJyMxLjI6IG5ldyBBcnJheS5wcm90b3R5cGUuam9pbigpIHRocm93IFR5cGVFcnJvci4gQWN0dWFsOiAnICsgKGUpKTsKICB9Cn0KCg==","commentary":"The join property of Array can't be used as constructor","description":"If property does not implement the internal [[Construct]] method, throw a TypeError exception","path":"TestCases/ch15/15.4/15.4.4/15.4.4.5/S15.4.4.5_A6.7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBsZW5ndGggZXF1YWwgemVybywgY2FsbCB0aGUgW1tQdXRdXSBtZXRob2Qgb2YgdGhpcyBvYmplY3QKICogd2l0aCBhcmd1bWVudHMgImxlbmd0aCIgYW5kIDAgYW5kIHJldHVybiB1bmRlZmluZWQKICoKICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuNi9TMTUuNC40LjZfQTEuMV9UMS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgdGhpcyBhbGdvcml0aG0KICovCgovL0NIRUNLIzEKdmFyIHggPSBuZXcgQXJyYXkoKTsKdmFyIHBvcCA9IHgucG9wKCk7CmlmIChwb3AgIT09IHVuZGVmaW5lZCkgewogICRFUlJPUignIzE6IHZhciB4ID0gbmV3IEFycmF5KCk7IHgucG9wKCkgPT09IHVuZGVmaW5lZC4gQWN0dWFsOiAnICsgKHBvcCkpOwp9ICAKCi8vQ0hFQ0sjMgppZiAoeC5sZW5ndGggIT09IDApIHsKICAkRVJST1IoJyMyOiB2YXIgeCA9IG5ldyBBcnJheSgpOyB4LnBvcCgpOyB4Lmxlbmd0aCA9PT0gMC4gQWN0dWFsOiAnICsgKHgubGVuZ3RoKSk7Cn0gIAoKLy9DSEVDSyMzCnZhciB4ID0gQXJyYXkoMSwyLDMpOwp4Lmxlbmd0aCA9IDA7CnZhciBwb3AgPSB4LnBvcCgpOwppZiAocG9wICE9PSB1bmRlZmluZWQpIHsKICAkRVJST1IoJyMyOiB2YXIgeCA9IEFycmF5KDEsMiwzKTsgeC5sZW5ndGggPSAwOyB4LnBvcCgpID09PSB1bmRlZmluZWQuIEFjdHVhbDogJyArIChwb3ApKTsKfSAKCi8vQ0hFQ0sjNAppZiAoeC5sZW5ndGggIT09IDApIHsKICAkRVJST1IoJyM0OiB2YXIgeCA9IG5ldyBBcnJheSgxLDIsMyk7IHgubGVuZ3RoID0gMDsgeC5wb3AoKTsgeC5sZW5ndGggPT09IDAuIEFjdHVhbDogJyArICh4Lmxlbmd0aCkpOwp9ICAKCg==","commentary":"If length equal zero, call the [[Put]] method of this object\nwith arguments \"length\" and 0 and return undefined","description":"Checking this algorithm","path":"TestCases/ch15/15.4/15.4.4/15.4.4.6/S15.4.4.6_A1.1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgbGFzdCBlbGVtZW50IG9mIHRoZSBhcnJheSBpcyByZW1vdmVkIGZyb20gdGhlIGFycmF5CiAqIGFuZCByZXR1cm5lZAogKgogKiBAcGF0aCBjaDE1LzE1LjQvMTUuNC40LzE1LjQuNC42L1MxNS40LjQuNl9BMS4yX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyB0aGlzIHVzZSBuZXcgQXJyYXkoKSBhbmQgW10KICovCgovL0NIRUNLIzEKdmFyIHggPSBuZXcgQXJyYXkoMCwxLDIsMyk7CnZhciBwb3AgPSB4LnBvcCgpOwppZiAocG9wICE9PSAzKSB7CiAgJEVSUk9SKCcjMTogeCA9IG5ldyBBcnJheSgwLDEsMiwzKTsgeC5wb3AoKSA9PT0gMy4gQWN0dWFsOiAnICsgKHBvcCkpOwp9CgovL0NIRUNLIzIKaWYgKHgubGVuZ3RoICE9PSAzKSB7CiAgJEVSUk9SKCcjMjogeCA9IG5ldyBBcnJheSgwLDEsMiwzKTsgeC5wb3AoKTsgeC5sZW5ndGggPT0gMycpOwp9CgovL0NIRUNLIzMKaWYgKHhbM10gIT09IHVuZGVmaW5lZCkgewogICRFUlJPUignIzM6IHggPSBuZXcgQXJyYXkoMCwxLDIsMyk7IHgucG9wKCk7IHhbM10gPT0gdW5kZWZpbmVkJyk7Cn0KCi8vQ0hFQ0sjNAppZiAoeFsyXSAhPT0gMikgewogICRFUlJPUignIzQ6IHggPSBuZXcgQXJyYXkoMCwxLDIsMyk7IHgucG9wKCk7IHhbMl0gPT0gMicpOwp9CgovL0NIRUNLIzUKeCA9IFtdOwp4WzBdID0gMDsKeFszXSA9IDM7CnZhciBwb3AgPSB4LnBvcCgpOwppZiAocG9wICE9PSAzKSB7CiAgJEVSUk9SKCcjNTogeCA9IFtdOyB4WzBdID0gMDsgeFszXSA9IDM7IHgucG9wKCkgPT09IDMuIEFjdHVhbDogJyArIChwb3ApKTsKfQoKLy9DSEVDSyM2CmlmICh4Lmxlbmd0aCAhPT0gMykgewogICRFUlJPUignIzY6IHggPSBbXTsgeFswXSA9IDA7IHhbM10gPSAzOyB4LnBvcCgpOyB4Lmxlbmd0aCA9PSAzJyk7Cn0KCi8vQ0hFQ0sjNwppZiAoeFszXSAhPT0gdW5kZWZpbmVkKSB7CiAgJEVSUk9SKCcjNzogeCA9IFtdOyB4WzBdID0gMDsgeFszXSA9IDM7IHgucG9wKCk7IHhbM10gPT0gdW5kZWZpbmVkJyk7Cn0KCi8vQ0hFQ0sjOAppZiAoeFsyXSAhPT0gdW5kZWZpbmVkKSB7CiAgJEVSUk9SKCcjODogeCA9IFtdOyB4WzBdID0gMDsgeFszXSA9IDM7IHgucG9wKCk7IHhbMl0gPT0gdW5kZWZpbmVkJyk7Cn0KCi8vQ0hFQ0sjOQp4Lmxlbmd0aCA9IDE7CnZhciBwb3AgPSB4LnBvcCgpOwppZiAocG9wICE9PSAwKSB7CiAgJEVSUk9SKCcjOTogeCA9IFtdOyB4WzBdID0gMDsgeFszXSA9IDM7IHgucG9wKCk7IHgubGVuZ3RoID0gMTsgeC5wb3AoKSA9PT0gMC4gQWN0dWFsOiAnICsgKHBvcCkpOwp9CgovL0NIRUNLIzEwCmlmICh4Lmxlbmd0aCAhPT0gMCkgewogICRFUlJPUignIzEwOiB4ID0gW107IHhbMF0gPSAwOyB4WzNdID0gMzsgeC5wb3AoKTsgeC5sZW5ndGggPSAxOyB4LnBvcCgpOyB4Lmxlbmd0aCA9PT0gMC4gQWN0dWFsOiAnICsgKHgubGVuZ3RoKSk7Cn0KCg==","commentary":"The last element of the array is removed from the array\nand returned","description":"Checking this use new Array() and []","path":"TestCases/ch15/15.4/15.4.4/15.4.4.6/S15.4.4.6_A1.2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcG9wIGZ1bmN0aW9uIGlzIGludGVudGlvbmFsbHkgZ2VuZXJpYy4KICogSXQgZG9lcyBub3QgcmVxdWlyZSB0aGF0IGl0cyB0aGlzIHZhbHVlIGJlIGFuIEFycmF5IG9iamVjdAogKgogKiBAcGF0aCBjaDE1LzE1LjQvMTUuNC40LzE1LjQuNC42L1MxNS40LjQuNl9BMl9UMS5qcwogKiBAZGVzY3JpcHRpb24gSWYgVG9VaW50MzIobGVuZ3RoKSBlcXVhbCB6ZXJvLCBjYWxsIHRoZSBbW1B1dF1dIG1ldGhvZAogKiBvZiB0aGlzIG9iamVjdCB3aXRoIGFyZ3VtZW50cyAibGVuZ3RoIiBhbmQgMCBhbmQgcmV0dXJuIHVuZGVmaW5lZAogKi8KCnZhciBvYmogPSB7fTsKb2JqLnBvcCA9IEFycmF5LnByb3RvdHlwZS5wb3A7CgppZiAob2JqLmxlbmd0aCAhPT0gdW5kZWZpbmVkKSB7CiAgJEVSUk9SKCcjMDogdmFyIG9iaiA9IHt9OyBvYmoubGVuZ3RoID09PSB1bmRlZmluZWQuIEFjdHVhbDogJyArIChvYmoubGVuZ3RoKSk7Cn0gZWxzZSB7CiAgICAvL0NIRUNLIzEgIAogICAgdmFyIHBvcCA9IG9iai5wb3AoKTsKaWYgKHBvcCAhPT0gdW5kZWZpbmVkKSB7CiAgICAgICRFUlJPUignIzE6IHZhciBvYmogPSB7fTsgb2JqLnBvcCA9IEFycmF5LnByb3RvdHlwZS5wb3A7IG9iai5wb3AoKSA9PT0gdW5kZWZpbmVkLiBBY3R1YWw6ICcgKyAocG9wKSk7CiAgICB9CiAgICAvL0NIRUNLIzIKICAgIGlmIChvYmoubGVuZ3RoICE9PSAwKSB7CiAgICAgICRFUlJPUignIzI6IHZhciBvYmogPSB7fTsgb2JqLnBvcCA9IEFycmF5LnByb3RvdHlwZS5wb3A7IG9iai5wb3AoKTsgb2JqLmxlbmd0aCA9PT0gMC4gQWN0dWFsOiAnICsgKG9iai5sZW5ndGgpKTsKICAgIH0KfSAgICAKCi8vQ0hFQ0sjMwpvYmoubGVuZ3RoID0gdW5kZWZpbmVkOwp2YXIgcG9wID0gb2JqLnBvcCgpOwppZiAocG9wICE9PSB1bmRlZmluZWQpIHsKICAkRVJST1IoJyMzOiB2YXIgb2JqID0ge307IG9iai5sZW5ndGggPSB1bmRlZmluZWQ7IG9iai5wb3AgPSBBcnJheS5wcm90b3R5cGUucG9wOyBvYmoucG9wKCkgPT09IHVuZGVmaW5lZC4gQWN0dWFsOiAnICsgKHBvcCkpOwp9IAoKLy9DSEVDSyM0CmlmIChvYmoubGVuZ3RoICE9PSAwKSB7CiAgJEVSUk9SKCcjNDogdmFyIG9iaiA9IHt9OyBvYmoubGVuZ3RoID0gdW5kZWZpbmVkOyBvYmoucG9wID0gQXJyYXkucHJvdG90eXBlLnBvcDsgb2JqLnBvcCgpOyBvYmoubGVuZ3RoID09PSAwLiBBY3R1YWw6ICcgKyAob2JqLmxlbmd0aCkpOwp9CgovL0NIRUNLIzUKb2JqLmxlbmd0aCA9IG51bGwKdmFyIHBvcCA9IG9iai5wb3AoKTsKaWYgKHBvcCAhPT0gdW5kZWZpbmVkKSB7CiAgJEVSUk9SKCcjNTogdmFyIG9iaiA9IHt9OyBvYmoubGVuZ3RoID0gbnVsbDsgb2JqLnBvcCA9IEFycmF5LnByb3RvdHlwZS5wb3A7IG9iai5wb3AoKSA9PT0gdW5kZWZpbmVkLiBBY3R1YWw6ICcgKyAocG9wKSk7Cn0gCgovL0NIRUNLIzYKaWYgKG9iai5sZW5ndGggIT09IDApIHsKICAkRVJST1IoJyM2OiB2YXIgb2JqID0ge307IG9iai5sZW5ndGggPSBudWxsOyBvYmoucG9wID0gQXJyYXkucHJvdG90eXBlLnBvcDsgb2JqLnBvcCgpOyBvYmoubGVuZ3RoID09PSAwLiBBY3R1YWw6ICcgKyAob2JqLmxlbmd0aCkpOwp9Cgo=","commentary":"The pop function is intentionally generic.\nIt does not require that its this value be an Array object","description":"If ToUint32(length) equal zero, call the [[Put]] method\nof this object with arguments \"length\" and 0 and return undefined","path":"TestCases/ch15/15.4/15.4.4/15.4.4.6/S15.4.4.6_A2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcG9wIGZ1bmN0aW9uIGlzIGludGVudGlvbmFsbHkgZ2VuZXJpYy4KICogSXQgZG9lcyBub3QgcmVxdWlyZSB0aGF0IGl0cyB0aGlzIHZhbHVlIGJlIGFuIEFycmF5IG9iamVjdAogKgogKiBAcGF0aCBjaDE1LzE1LjQvMTUuNC40LzE1LjQuNC42L1MxNS40LjQuNl9BMl9UMi5qcwogKiBAZGVzY3JpcHRpb24gSWYgVG9VaW50MzIobGVuZ3RoKSBlcXVhbCB6ZXJvLCBjYWxsIHRoZSBbW1B1dF1dIG1ldGhvZAogKiBvZiB0aGlzIG9iamVjdCB3aXRoIGFyZ3VtZW50cyAibGVuZ3RoIiBhbmQgMCBhbmQgcmV0dXJuIHVuZGVmaW5lZAogKi8KCnZhciBvYmogPSB7fTsKb2JqLnBvcCA9IEFycmF5LnByb3RvdHlwZS5wb3A7CgovL0NIRUNLIzEKb2JqLmxlbmd0aCA9IE5hTjsKdmFyIHBvcCA9IG9iai5wb3AoKTsKaWYgKHBvcCAhPT0gdW5kZWZpbmVkKSB7CiAgJEVSUk9SKCcjMTogdmFyIG9iaiA9IHt9OyBvYmoubGVuZ3RoID0gTmFOOyBvYmoucG9wID0gQXJyYXkucHJvdG90eXBlLnBvcDsgb2JqLnBvcCgpID09PSB1bmRlZmluZWQuIEFjdHVhbDogJyArIChwb3ApKTsKfQoKLy9DSEVDSyMyCmlmIChvYmoubGVuZ3RoICE9PSAwKSB7CiAgJEVSUk9SKCcjMjogdmFyIG9iaiA9IHt9OyBvYmoubGVuZ3RoID0gTmFOOyBvYmoucG9wID0gQXJyYXkucHJvdG90eXBlLnBvcDsgb2JqLnBvcCgpOyBvYmoubGVuZ3RoID09PSAwLiBBY3R1YWw6ICcgKyAob2JqLmxlbmd0aCkpOwp9CgovL0NIRUNLIzMKb2JqLmxlbmd0aCA9IE51bWJlci5QT1NJVElWRV9JTkZJTklUWTsKdmFyIHBvcCA9IG9iai5wb3AoKTsKaWYgKHBvcCAhPT0gdW5kZWZpbmVkKSB7CiAgJEVSUk9SKCcjMzogdmFyIG9iaiA9IHt9OyBvYmoubGVuZ3RoID0gTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZOyBvYmoucG9wID0gQXJyYXkucHJvdG90eXBlLnBvcDsgb2JqLnBvcCgpID09PSB1bmRlZmluZWQuIEFjdHVhbDogJyArIChwb3ApKTsKfQoKLy9DSEVDSyM0CmlmIChvYmoubGVuZ3RoICE9PSAwKSB7CiAgJEVSUk9SKCcjNDogdmFyIG9iaiA9IHt9OyBvYmoubGVuZ3RoID0gTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZOyBvYmoucG9wID0gQXJyYXkucHJvdG90eXBlLnBvcDsgb2JqLnBvcCgpOyBvYmoubGVuZ3RoID09PSAwLiBBY3R1YWw6ICcgKyAob2JqLmxlbmd0aCkpOwp9CgovL0NIRUNLIzUKb2JqLmxlbmd0aCA9IE51bWJlci5ORUdBVElWRV9JTkZJTklUWTsKdmFyIHBvcCA9IG9iai5wb3AoKTsKaWYgKHBvcCAhPT0gdW5kZWZpbmVkKSB7CiAgJEVSUk9SKCcjNTogdmFyIG9iaiA9IHt9OyBvYmoubGVuZ3RoID0gTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZOyBvYmoucG9wID0gQXJyYXkucHJvdG90eXBlLnBvcDsgb2JqLnBvcCgpID09PSB1bmRlZmluZWQuIEFjdHVhbDogJyArIChwb3ApKTsKfQoKLy9DSEVDSyM2CmlmIChvYmoubGVuZ3RoICE9PSAwKSB7CiAgJEVSUk9SKCcjNjogdmFyIG9iaiA9IHt9OyBvYmoubGVuZ3RoID0gTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZOyBvYmoucG9wID0gQXJyYXkucHJvdG90eXBlLnBvcDsgb2JqLnBvcCgpOyBvYmoubGVuZ3RoID09PSAwLiBBY3R1YWw6ICcgKyAob2JqLmxlbmd0aCkpOwp9CgovL0NIRUNLIzcKb2JqLmxlbmd0aCA9IC0wOwp2YXIgcG9wID0gb2JqLnBvcCgpOwppZiAocG9wICE9PSB1bmRlZmluZWQpIHsKICAkRVJST1IoJyM3OiB2YXIgb2JqID0ge307IG9iai5sZW5ndGggPSAtMDsgb2JqLnBvcCA9IEFycmF5LnByb3RvdHlwZS5wb3A7IG9iai5wb3AoKSA9PT0gdW5kZWZpbmVkLiBBY3R1YWw6ICcgKyAocG9wKSk7Cn0gICAgCgovL0NIRUNLIzgKaWYgKG9iai5sZW5ndGggIT09IDApIHsKICAkRVJST1IoJyM4OiB2YXIgb2JqID0ge307IG9iai5sZW5ndGggPSAtMDsgb2JqLnBvcCA9IEFycmF5LnByb3RvdHlwZS5wb3A7IG9iai5wb3AoKTsgb2JqLmxlbmd0aCA9PT0gMC4gQWN0dWFsOiAnICsgKG9iai5sZW5ndGgpKTsKfSBlbHNlIHsKICBpZiAoMS9vYmoubGVuZ3RoICE9PSBOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkpIHsKICAgICRFUlJPUignIzg6IHZhciBvYmogPSB7fTsgb2JqLmxlbmd0aCA9IC0wOyBvYmoucG9wID0gQXJyYXkucHJvdG90eXBlLnBvcDsgb2JqLnBvcCgpOyBvYmoubGVuZ3RoID09PSArMC4gQWN0dWFsOiAnICsgKG9iai5sZW5ndGgpKTsKICB9ICAKfSAgIAoKLy9DSEVDSyM5Cm9iai5sZW5ndGggPSAwLjU7CnZhciBwb3AgPSBvYmoucG9wKCk7CmlmIChwb3AgIT09IHVuZGVmaW5lZCkgewogICRFUlJPUignIzk6IHZhciBvYmogPSB7fTsgb2JqLmxlbmd0aCA9IDAuNTsgb2JqLnBvcCA9IEFycmF5LnByb3RvdHlwZS5wb3A7IG9iai5wb3AoKSA9PT0gdW5kZWZpbmVkLiBBY3R1YWw6ICcgKyAocG9wKSk7Cn0KCi8vQ0hFQ0sjMTAKaWYgKG9iai5sZW5ndGggIT09IDApIHsKICAkRVJST1IoJyMxMDogdmFyIG9iaiA9IHt9OyBvYmoubGVuZ3RoID0gMC41OyBvYmoucG9wID0gQXJyYXkucHJvdG90eXBlLnBvcDsgb2JqLnBvcCgpOyBvYmoubGVuZ3RoID09PSAwLiBBY3R1YWw6ICcgKyAob2JqLmxlbmd0aCkpOwp9IAoKLy9DSEVDSyMxMQpvYmoubGVuZ3RoID0gbmV3IE51bWJlcigwKTsKdmFyIHBvcCA9IG9iai5wb3AoKTsKaWYgKHBvcCAhPT0gdW5kZWZpbmVkKSB7CiAgJEVSUk9SKCcjMTE6IHZhciBvYmogPSB7fTsgb2JqLmxlbmd0aCA9IG5ldyBOdW1iZXIoMCk7IG9iai5wb3AgPSBBcnJheS5wcm90b3R5cGUucG9wOyBvYmoucG9wKCkgPT09IHVuZGVmaW5lZC4gQWN0dWFsOiAnICsgKHBvcCkpOwp9CgovL0NIRUNLIzEyCmlmIChvYmoubGVuZ3RoICE9PSAwKSB7CiAgJEVSUk9SKCcjMTI6IHZhciBvYmogPSB7fTsgb2JqLmxlbmd0aCA9IG5ldyBOdW1iZXIoMCk7IG9iai5wb3AgPSBBcnJheS5wcm90b3R5cGUucG9wOyBvYmoucG9wKCk7IG9iai5sZW5ndGggPT09IDAuIEFjdHVhbDogJyArIChvYmoubGVuZ3RoKSk7Cn0KCg==","commentary":"The pop function is intentionally generic.\nIt does not require that its this value be an Array object","description":"If ToUint32(length) equal zero, call the [[Put]] method\nof this object with arguments \"length\" and 0 and return undefined","path":"TestCases/ch15/15.4/15.4.4/15.4.4.6/S15.4.4.6_A2_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcG9wIGZ1bmN0aW9uIGlzIGludGVudGlvbmFsbHkgZ2VuZXJpYy4KICogSXQgZG9lcyBub3QgcmVxdWlyZSB0aGF0IGl0cyB0aGlzIHZhbHVlIGJlIGFuIEFycmF5IG9iamVjdAogKgogKiBAcGF0aCBjaDE1LzE1LjQvMTUuNC40LzE1LjQuNC42L1MxNS40LjQuNl9BMl9UMy5qcwogKiBAZGVzY3JpcHRpb24gVGhlIGxhc3QgZWxlbWVudCBUb1VpbnQzMihsZW5ndGgpIC0gMSBvZiB0aGUgYXJyYXkgaXMgcmVtb3ZlZCBmcm9tIHRoZSBhcnJheQogKiBhbmQgcmV0dXJuZWQKICovCgp2YXIgb2JqID0ge307Cm9iai5wb3AgPSBBcnJheS5wcm90b3R5cGUucG9wOwoKLy9DSEVDSyMxCm9iai5sZW5ndGggPSAyLjU7CnZhciBwb3AgPSBvYmoucG9wKCk7CmlmIChwb3AgIT09IHVuZGVmaW5lZCkgewogICRFUlJPUignIzE6IHZhciBvYmogPSB7fTsgb2JqLmxlbmd0aCA9IDIuNTsgb2JqLnBvcCA9IEFycmF5LnByb3RvdHlwZS5wb3A7IG9iai5wb3AoKSA9PT0gdW5kZWZpbmVkLiBBY3R1YWw6ICcgKyAocG9wKSk7Cn0KCi8vQ0hFQ0sjMgppZiAob2JqLmxlbmd0aCAhPT0gMSkgewogICRFUlJPUignIzI6IHZhciBvYmogPSB7fTsgb2JqLmxlbmd0aCA9IDIuNTsgb2JqLnBvcCA9IEFycmF5LnByb3RvdHlwZS5wb3A7IG9iai5wb3AoKTsgb2JqLmxlbmd0aCA9PT0gMS4gQWN0dWFsOiAnICsgKG9iai5sZW5ndGgpKTsKfSAKCi8vQ0hFQ0sjMwpvYmoubGVuZ3RoID0gbmV3IE51bWJlcigyKTsKdmFyIHBvcCA9IG9iai5wb3AoKTsKaWYgKHBvcCAhPT0gdW5kZWZpbmVkKSB7CiAgJEVSUk9SKCcjMTE6IHZhciBvYmogPSB7fTsgb2JqLmxlbmd0aCA9IG5ldyBOdW1iZXIoMik7IG9iai5wb3AgPSBBcnJheS5wcm90b3R5cGUucG9wOyBvYmoucG9wKCkgPT09IHVuZGVmaW5lZC4gQWN0dWFsOiAnICsgKHBvcCkpOwp9CgovL0NIRUNLIzMKaWYgKG9iai5sZW5ndGggIT09IDEpIHsKICAkRVJST1IoJyMxMjogdmFyIG9iaiA9IHt9OyBvYmoubGVuZ3RoID0gbmV3IE51bWJlcigyKTsgb2JqLnBvcCA9IEFycmF5LnByb3RvdHlwZS5wb3A7IG9iai5wb3AoKTsgb2JqLmxlbmd0aCA9PT0gMS4gQWN0dWFsOiAnICsgKG9iai5sZW5ndGgpKTsKfSAKCg==","commentary":"The pop function is intentionally generic.\nIt does not require that its this value be an Array object","description":"The last element ToUint32(length) - 1 of the array is removed from the array\nand returned","path":"TestCases/ch15/15.4/15.4.4/15.4.4.6/S15.4.4.6_A2_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcG9wIGZ1bmN0aW9uIGlzIGludGVudGlvbmFsbHkgZ2VuZXJpYy4KICogSXQgZG9lcyBub3QgcmVxdWlyZSB0aGF0IGl0cyB0aGlzIHZhbHVlIGJlIGFuIEFycmF5IG9iamVjdAogKgogKiBAcGF0aCBjaDE1LzE1LjQvMTUuNC40LzE1LjQuNC42L1MxNS40LjQuNl9BMl9UNC5qcwogKiBAZGVzY3JpcHRpb24gT3BlcmF0b3IgdXNlIFRvTnVtYmVyIGZyb20gbGVuZ3RoLgogKiBJZiBUeXBlKHZhbHVlKSBpcyBPYmplY3QsIGV2YWx1YXRlIFRvUHJpbWl0aXZlKHZhbHVlLCBOdW1iZXIpCiAqLwoKdmFyIG9iaiA9IHt9OwpvYmoucG9wID0gQXJyYXkucHJvdG90eXBlLnBvcDsKCi8vQ0hFQ0sjMQpvYmpbMF0gPSAtMTsKb2JqLmxlbmd0aCA9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gMX19Owp2YXIgcG9wID0gb2JqLnBvcCgpOwppZiAocG9wICE9PSAtMSkgewogICRFUlJPUignIzE6IG9ialswXSA9IC0xOyBvYmoubGVuZ3RoID0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAxfX0gIG9iai5wb3AoKSA9PT0gLTEuIEFjdHVhbDogJyArIChwb3ApKTsKfQoKLy9DSEVDSyMyCm9ialswXSA9IC0xOwpvYmoubGVuZ3RoID0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAxfSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiAwfX07CnZhciBwb3AgPSBvYmoucG9wKCk7CmlmIChwb3AgIT09IC0xKSB7CiAgJEVSUk9SKCcjMDogb2JqWzBdID0gLTE7IG9iai5sZW5ndGggPSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIDF9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIDB9fSAgb2JqLnBvcCgpID09PSAtMS4gQWN0dWFsOiAnICsgKHBvcCkpOwp9IAoKLy9DSEVDSyMzCm9ialswXSA9IC0xOwpvYmoubGVuZ3RoID0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAxfSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiB7fX19Owp2YXIgcG9wID0gb2JqLnBvcCgpOwppZiAocG9wICE9PSAtMSkgewogICRFUlJPUignIzM6IG9ialswXSA9IC0xOyBvYmoubGVuZ3RoID0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAxfSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiB7fX19ICBvYmoucG9wKCkgPT09IC0xLiBBY3R1YWw6ICcgKyAocG9wKSk7Cn0KCi8vQ0hFQ0sjNAp0cnkgeyAgCiAgb2JqWzBdID0gLTE7CiAgb2JqLmxlbmd0aCA9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gMX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHt0aHJvdyAiZXJyb3IifX07ICAKICB2YXIgcG9wID0gb2JqLnBvcCgpOwppZiAocG9wICE9PSAtMSkgewogICAgJEVSUk9SKCcjNC4xOiBvYmpbMF0gPSAtMTsgb2JqLmxlbmd0aCA9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gMX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHt0aHJvdyAiZXJyb3IifX07IG9iai5wb3AoKSA9PT0gIiwiLiBBY3R1YWw6ICcgKyAocG9wKSk7CiAgfQp9CmNhdGNoIChlKSB7CiAgaWYgKGUgPT09ICJlcnJvciIpIHsKICAgICRFUlJPUignIzQuMjogb2JqWzBdID0gLTE7IG9iai5sZW5ndGggPSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIDF9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7dGhyb3cgImVycm9yIn19OyBvYmoucG9wKCkgbm90IHRocm93ICJlcnJvciInKTsKICB9IGVsc2UgewogICAgJEVSUk9SKCcjNC4zOiBvYmpbMF0gPSAtMTsgb2JqLmxlbmd0aCA9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gMX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHt0aHJvdyAiZXJyb3IifX07IG9iai5wb3AoKSBub3QgdGhyb3cgRXJyb3IuIEFjdHVhbDogJyArIChlKSk7CiAgfQp9CgovL0NIRUNLIzUKb2JqWzBdID0gLTE7Cm9iai5sZW5ndGggPSB7dG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiAwfX07CnZhciBwb3AgPSBvYmoucG9wKCk7CmlmIChwb3AgIT09IHVuZGVmaW5lZCkgewogICRFUlJPUignIzU6IG9ialswXSA9IC0xOyBvYmoubGVuZ3RoID0ge3RvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gMH19ICBvYmoucG9wKCkgPT09IHVuZGVmaW5lZC4gQWN0dWFsOiAnICsgKHBvcCkpOwp9CgovL0NIRUNLIzYKb2JqWzBdID0gLTE7Cm9iai5sZW5ndGggPSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIHt9fSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiAwfX0KdmFyIHBvcCA9IG9iai5wb3AoKTsKaWYgKHBvcCAhPT0gdW5kZWZpbmVkKSB7CiAgJEVSUk9SKCcjNjogb2JqWzBdID0gLTE7IG9iai5sZW5ndGggPSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIHt9fSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiAwfX0gIG9iai5wb3AoKSA9PT0gdW5kZWZpbmVkLiBBY3R1YWw6ICcgKyAocG9wKSk7Cn0KCi8vQ0hFQ0sjNwp0cnkgewogIG9ialswXSA9IC0xOwogIG9iai5sZW5ndGggPSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7dGhyb3cgImVycm9yIn0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gMH19OyAgCiAgdmFyIHBvcCA9IG9iai5wb3AoKTsKICAkRVJST1IoJyM3LjE6IG9ialswXSA9IC0xOyBvYmoubGVuZ3RoID0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3Rocm93ICJlcnJvciJ9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIDB9fTsgb2JqLnBvcCgpIHRocm93ICJlcnJvciIuIEFjdHVhbDogJyArIChwb3ApKTsKfSAgCmNhdGNoIChlKSB7CiAgaWYgKGUgIT09ICJlcnJvciIpIHsKICAgICRFUlJPUignIzcuMjogb2JqWzBdID0gLTE7IG9iai5sZW5ndGggPSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7dGhyb3cgImVycm9yIn0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gMH19OyBvYmoucG9wKCkgdGhyb3cgImVycm9yIi4gQWN0dWFsOiAnICsgKGUpKTsKICB9IAp9CgovL0NIRUNLIzgKdHJ5IHsKICBvYmpbMF0gPSAtMTsKICBvYmoubGVuZ3RoID0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiB7fX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4ge319fTsKICB2YXIgcG9wID0gb2JqLnBvcCgpOwogICRFUlJPUignIzguMTogb2JqWzBdID0gLTE7IG9iai5sZW5ndGggPSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIHt9fSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiB7fX19ICBvYmoucG9wKCkgdGhyb3cgVHlwZUVycm9yLiBBY3R1YWw6ICcgKyAocG9wKSk7Cn0gIApjYXRjaCAoZSkgewogIGlmICgoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikgIT09IHRydWUpIHsKICAgICRFUlJPUignIzguMjogb2JqWzBdID0gLTE7IG9iai5sZW5ndGggPSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIHt9fSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiB7fX19ICBvYmoucG9wKCkgdGhyb3cgVHlwZUVycm9yLiBBY3R1YWw6ICcgKyAoZSkpOwogIH0gCn0KCg==","commentary":"The pop function is intentionally generic.\nIt does not require that its this value be an Array object","description":"Operator use ToNumber from length.\nIf Type(value) is Object, evaluate ToPrimitive(value, Number)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.6/S15.4.4.6_A2_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBDaGVjayBUb1VpbnQzMihsZW5ndGgpIGZvciBub24gQXJyYXkgb2JqZWN0cwogKgogKiBAcGF0aCBjaDE1LzE1LjQvMTUuNC40LzE1LjQuNC42L1MxNS40LjQuNl9BM19UMS5qcwogKiBAZGVzY3JpcHRpb24gbGVuZ3RoID0gNDI5NDk2NzI5NgogKi8KCnZhciBvYmogPSB7fTsKb2JqLnBvcCA9IEFycmF5LnByb3RvdHlwZS5wb3A7Cm9ialswXSA9ICJ4IjsKb2JqWzQyOTQ5NjcyOTVdID0gInkiOwpvYmoubGVuZ3RoID0gNDI5NDk2NzI5NjsKCi8vQ0hFQ0sjMQp2YXIgcG9wID0gb2JqLnBvcCgpOwppZiAocG9wICE9PSB1bmRlZmluZWQpIHsKICAkRVJST1IoJyMxOiB2YXIgb2JqID0ge307IG9iai5wb3AgPSBBcnJheS5wcm90b3R5cGUucG9wOyBvYmpbMF0gPSAieCI7IG9ials0Mjk0OTY3Mjk1XSA9ICJ5Ijsgb2JqLmxlbmd0aCA9IDQyOTQ5NjcyOTY7IG9iai5wb3AoKSA9PT0gdW5lZGZpbmVkLiBBY3R1YWw6ICcgKyAocG9wKSk7Cn0KCi8vQ0hFQ0sjMgppZiAob2JqLmxlbmd0aCAhPT0gMCkgewogICRFUlJPUignIzI6IHZhciBvYmogPSB7fTsgb2JqLnBvcCA9IEFycmF5LnByb3RvdHlwZS5wb3A7IG9ialswXSA9ICJ4Ijsgb2JqWzQyOTQ5NjcyOTVdID0gInkiOyBvYmoubGVuZ3RoID0gNDI5NDk2NzI5Njsgb2JqLnBvcCgpOyBvYmoubGVuZ3RoID09PSAwLiBBY3R1YWw6ICcgKyAob2JqLmxlbmd0aCkpOwp9CgovL0NIRUNLIzMKaWYgKG9ialswXSAhPT0gIngiKSB7CiAgICRFUlJPUignIzM6IHZhciBvYmogPSB7fTsgb2JqLnBvcCA9IEFycmF5LnByb3RvdHlwZS5wb3A7IG9ialswXSA9ICJ4Ijsgb2JqWzQyOTQ5NjcyOTVdID0gInkiOyBvYmoubGVuZ3RoID0gNDI5NDk2NzI5Njsgb2JqLnBvcCgpOyBvYmpbMF0gPT09ICJ4Ii4gQWN0dWFsOiAnICsgKG9ialswXSkpOwp9ICAKCi8vQ0hFQ0sjNAppZiAob2JqWzQyOTQ5NjcyOTVdICE9PSAieSIpIHsKICAgJEVSUk9SKCcjNDogdmFyIG9iaiA9IHt9OyBvYmoucG9wID0gQXJyYXkucHJvdG90eXBlLnBvcDsgb2JqWzBdID0gIngiOyBvYmpbNDI5NDk2NzI5NV0gPSAieSI7IG9iai5sZW5ndGggPSA0Mjk0OTY3Mjk2OyBvYmoucG9wKCk7IG9ials0Mjk0OTY3Mjk1XSA9PT0gInkiLiBBY3R1YWw6ICcgKyAob2JqWzQyOTQ5NjcyOTVdKSk7Cn0gIAoK","commentary":"Check ToUint32(length) for non Array objects","description":"length = 4294967296","path":"TestCases/ch15/15.4/15.4.4/15.4.4.6/S15.4.4.6_A3_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBDaGVjayBUb1VpbnQzMihsZW5ndGgpIGZvciBub24gQXJyYXkgb2JqZWN0cwogKgogKiBAcGF0aCBjaDE1LzE1LjQvMTUuNC40LzE1LjQuNC42L1MxNS40LjQuNl9BM19UMi5qcwogKiBAZGVzY3JpcHRpb24gbGVuZ3RoID0gNDI5NDk2NzI5NwogKi8KCnZhciBvYmogPSB7fTsKb2JqLnBvcCA9IEFycmF5LnByb3RvdHlwZS5wb3A7Cm9ialswXSA9ICJ4IjsKb2JqWzQyOTQ5NjcyOTZdID0gInkiOwpvYmoubGVuZ3RoID0gNDI5NDk2NzI5NzsKCi8vQ0hFQ0sjMQp2YXIgcG9wID0gb2JqLnBvcCgpOwppZiAocG9wICE9PSAieCIpIHsKICAkRVJST1IoJyMxOiB2YXIgb2JqID0ge307IG9iai5wb3AgPSBBcnJheS5wcm90b3R5cGUucG9wOyBvYmpbMF0gPSAieCI7IG9ials0Mjk0OTY3Mjk2XSA9ICJ5Ijsgb2JqLmxlbmd0aCA9IDQyOTQ5NjcyOTc7IG9iai5wb3AoKSA9PT0gIngiLiBBY3R1YWw6ICcgKyAocG9wKSk7Cn0KCi8vQ0hFQ0sjMgppZiAob2JqLmxlbmd0aCAhPT0gMCkgewogICRFUlJPUignIzI6IHZhciBvYmogPSB7fTsgb2JqLnBvcCA9IEFycmF5LnByb3RvdHlwZS5wb3A7IG9ialswXSA9ICJ4Ijsgb2JqWzQyOTQ5NjcyOTZdID0gInkiOyBvYmoubGVuZ3RoID0gNDI5NDk2NzI5Nzsgb2JqLnBvcCgpOyBvYmoubGVuZ3RoID09PSAwLiBBY3R1YWw6ICcgKyAob2JqLmxlbmd0aCkpOwp9CgovL0NIRUNLIzMKaWYgKG9ialswXSAhPT0gdW5kZWZpbmVkKSB7CiAgICRFUlJPUignIzM6IHZhciBvYmogPSB7fTsgb2JqLnBvcCA9IEFycmF5LnByb3RvdHlwZS5wb3A7IG9ialswXSA9ICJ4Ijsgb2JqWzQyOTQ5NjcyOTZdID0gInkiOyBvYmoubGVuZ3RoID0gNDI5NDk2NzI5Nzsgb2JqLnBvcCgpOyBvYmpbMF0gPT09IHVuZGVmaW5lZC4gQWN0dWFsOiAnICsgKG9ialswXSkpOwp9CgovL0NIRUNLIzQKaWYgKG9ials0Mjk0OTY3Mjk2XSAhPT0gInkiKSB7CiAgICRFUlJPUignIzQ6IHZhciBvYmogPSB7fTsgb2JqLnBvcCA9IEFycmF5LnByb3RvdHlwZS5wb3A7IG9ialswXSA9ICJ4Ijsgb2JqWzQyOTQ5NjcyOTZdID0gInkiOyBvYmoubGVuZ3RoID0gNDI5NDk2NzI5Nzsgb2JqLnBvcCgpOyBvYmpbNDI5NDk2NzI5Nl0gPT09ICJ5Ii4gQWN0dWFsOiAnICsgKG9ials0Mjk0OTY3Mjk2XSkpOwp9ICAKCg==","commentary":"Check ToUint32(length) for non Array objects","description":"length = 4294967297","path":"TestCases/ch15/15.4/15.4.4/15.4.4.6/S15.4.4.6_A3_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBDaGVjayBUb1VpbnQzMihsZW5ndGgpIGZvciBub24gQXJyYXkgb2JqZWN0cwogKgogKiBAcGF0aCBjaDE1LzE1LjQvMTUuNC40LzE1LjQuNC42L1MxNS40LjQuNl9BM19UMy5qcwogKiBAZGVzY3JpcHRpb24gbGVuZ3RoID0gLTEKICovCgp2YXIgb2JqID0ge307Cm9iai5wb3AgPSBBcnJheS5wcm90b3R5cGUucG9wOwpvYmpbNDI5NDk2NzI5NF0gPSAieCI7Cm9iai5sZW5ndGggPSAtMTsKCi8vQ0hFQ0sjMQp2YXIgcG9wID0gb2JqLnBvcCgpOwppZiAocG9wICE9PSAieCIpIHsKICAkRVJST1IoJyMxOiB2YXIgb2JqID0ge307IG9iai5wb3AgPSBBcnJheS5wcm90b3R5cGUucG9wOyBvYmpbNDI5NDk2NzI5NF0gPSAieCI7IG9iai5sZW5ndGggPSAtMTsgb2JqLnBvcCgpID09PSAieCIuIEFjdHVhbDogJyArIChwb3ApKTsKfQoKLy9DSEVDSyMyCmlmIChvYmoubGVuZ3RoICE9PSA0Mjk0OTY3Mjk0KSB7CiAgJEVSUk9SKCcjMjogdmFyIG9iaiA9IHt9OyBvYmoucG9wID0gQXJyYXkucHJvdG90eXBlLnBvcDsgb2JqWzQyOTQ5NjcyOTRdID0gIngiOyBvYmoubGVuZ3RoID0gLTE7IG9iai5wb3AoKTsgb2JqLmxlbmd0aCA9PT0gNDI5NDk2NzI5NC4gQWN0dWFsOiAnICsgKG9iai5sZW5ndGgpKTsKfQoKLy9DSEVDSyMzCmlmIChvYmpbNDI5NDk2NzI5NF0gIT09IHVuZGVmaW5lZCkgewogICAkRVJST1IoJyMzOiB2YXIgb2JqID0ge307IG9iai5wb3AgPSBBcnJheS5wcm90b3R5cGUucG9wOyBvYmpbNDI5NDk2NzI5NF0gPSAieCI7IG9iai5sZW5ndGggPSAtMTsgb2JqLnBvcCgpOyBvYmpbNDI5NDk2NzI5NF0gPT09IHVuZGVmaW5lZC4gQWN0dWFsOiAnICsgKG9ials0Mjk0OTY3Mjk0XSkpOwp9ICAKCg==","commentary":"Check ToUint32(length) for non Array objects","description":"length = -1","path":"TestCases/ch15/15.4/15.4.4/15.4.4.6/S15.4.4.6_A3_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBbW0dldF1dLCBbW0RlbGV0ZV1dIGZyb20gbm90IGFuIGluaGVyaXRlZCBwcm9wZXJ0eQogKgogKiBAcGF0aCBjaDE1LzE1LjQvMTUuNC40LzE1LjQuNC42L1MxNS40LjQuNl9BNF9UMS5qcwogKiBAZGVzY3JpcHRpb24gW1tQcm90b3R5cGVdXSBvZiBBcnJheSBpbnN0YW5jZSBpcyBBcnJheS5wcm90b3R5cGUsIFtbUHJvdG90eXBlXSBvZiBBcnJheS5wcm90b3R5cGUgaXMgT2JqZWN0LnByb3RvdHlwZQogKi8KCkFycmF5LnByb3RvdHlwZVsxXSA9IDE7CnZhciB4ID0gWzBdOwp4Lmxlbmd0aCA9IDI7CgovL0NIRUNLIzEKdmFyIHBvcCA9IHgucG9wKCk7CmlmIChwb3AgIT09IDEpIHsgIAogICRFUlJPUignIzE6IEFycmF5LnByb3RvdHlwZVsxXSA9IDE7IHggPSBbMF07IHgubGVuZ3RoID0gMjsgeC5wb3AoKSA9PT0gMS4gQWN0dWFsOiAnICsgKHBvcCkpOyAgICAKfQoKLy9DSEVDSyMyCmlmICh4WzFdICE9PSAxKSB7ICAKICAkRVJST1IoJyMyOiBBcnJheS5wcm90b3R5cGVbMV0gPSAxOyB4ID0gWzBdOyB4Lmxlbmd0aCA9IDI7IHgucG9wKCk7IHhbMV0gPT09IDEuIEFjdHVhbDogJyArICh4WzFdKSk7ICAgIAp9CgpPYmplY3QucHJvdG90eXBlWzFdID0gMTsKT2JqZWN0LnByb3RvdHlwZS5sZW5ndGggPSAyOwpPYmplY3QucHJvdG90eXBlLnBvcCA9IEFycmF5LnByb3RvdHlwZS5wb3A7CnggPSB7MDowfTsKCi8vQ0hFQ0sjMwp2YXIgcG9wID0geC5wb3AoKTsKaWYgKHBvcCAhPT0gMSkgeyAgCiAgJEVSUk9SKCcjMzogT2JqZWN0LnByb3RvdHlwZVsxXSA9IDE7IE9iamVjdC5wcm90b3R5cGUubGVuZ3RoID0gMjsgT2JqZWN0LnByb3RvdHlwZS5wb3AgPSBBcnJheS5wcm90b3R5cGUucG9wOyB4ID0gezA6MH07IHgucG9wKCkgPT09IDEuIEFjdHVhbDogJyArIChwb3ApKTsgICAgCn0KCi8vQ0hFQ0sjNAppZiAoeFsxXSAhPT0gMSkgeyAgCiAgJEVSUk9SKCcjNDogT2JqZWN0LnByb3RvdHlwZVsxXSA9IDE7IE9iamVjdC5wcm90b3R5cGUubGVuZ3RoID0gMjsgT2JqZWN0LnByb3RvdHlwZS5wb3AgPSBBcnJheS5wcm90b3R5cGUucG9wOyB4ID0gezA6MH07IHgucG9wKCk7IHhbMV0gPT09IDEuIEFjdHVhbDogJyArICh4WzFdKSk7ICAgIAp9CgovL0NIRUNLIzYKaWYgKHgubGVuZ3RoICE9PSAxKSB7ICAKICAkRVJST1IoJyM2OiBPYmplY3QucHJvdG90eXBlWzFdID0gMTsgT2JqZWN0LnByb3RvdHlwZS5sZW5ndGggPSAyOyBPYmplY3QucHJvdG90eXBlLnBvcCA9IEFycmF5LnByb3RvdHlwZS5wb3A7IHggPSB7MDowfTsgeC5wb3AoKTsgeC5sZW5ndGggPT09IDEuIEFjdHVhbDogJyArICh4Lmxlbmd0aCkpOyAgICAKfQoKLy9DSEVDSyM3CmRlbGV0ZSB4Lmxlbmd0aDsKaWYgKHgubGVuZ3RoICE9PSAyKSB7ICAKICAkRVJST1IoJyM3OiBPYmplY3QucHJvdG90eXBlWzFdID0gMTsgT2JqZWN0LnByb3RvdHlwZS5sZW5ndGggPSAyOyBPYmplY3QucHJvdG90eXBlLnBvcCA9IEFycmF5LnByb3RvdHlwZS5wb3A7IHggPSB7MDowfTsgeC5wb3AoKTsgZGVsZXRlIHg7IHgubGVuZ3RoID09PSAyLiBBY3R1YWw6ICcgKyAoeC5sZW5ndGgpKTsgICAgCn0KCg==","commentary":"[[Get]], [[Delete]] from not an inherited property","description":"[[Prototype]] of Array instance is Array.prototype, [[Prototype] of Array.prototype is Object.prototype","path":"TestCases/ch15/15.4/15.4.4/15.4.4.6/S15.4.4.6_A4_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBbW0dldF1dLCBbW0RlbGV0ZV1dIGZyb20gbm90IGFuIGluaGVyaXRlZCBwcm9wZXJ0eQogKgogKiBAcGF0aCBjaDE1LzE1LjQvMTUuNC40LzE1LjQuNC42L1MxNS40LjQuNl9BNF9UMi5qcwogKiBAZGVzY3JpcHRpb24gW1tQcm90b3R5cGVdXSBvZiBBcnJheSBpbnN0YW5jZSBpcyBBcnJheS5wcm90b3R5cGUsIFtbUHJvdG90eXBlXSBvZiBBcnJheS5wcm90b3R5cGUgaXMgT2JqZWN0LnByb3RvdHlwZQogKi8KCkFycmF5LnByb3RvdHlwZVsxXSA9IC0xOwp2YXIgeCA9IFswLDFdOwp4Lmxlbmd0aCA9IDI7CgovL0NIRUNLIzEKdmFyIHBvcCA9IHgucG9wKCk7CmlmIChwb3AgIT09IDEpIHsgIAogICRFUlJPUignIzE6IEFycmF5LnByb3RvdHlwZVsxXSA9IC0xOyB4ID0gWzAsMV07IHgubGVuZ3RoID0gMjsgeC5wb3AoKSA9PT0gMS4gQWN0dWFsOiAnICsgKHBvcCkpOyAgICAKfQoKLy9DSEVDSyMyCmlmICh4WzFdICE9PSAtMSkgeyAgCiAgJEVSUk9SKCcjMjogQXJyYXkucHJvdG90eXBlWzFdID0gLTE7IHggPSBbMCwxXTsgeC5sZW5ndGggPSAyOyB4LnBvcCgpOyB4WzFdID09PSAtMS4gQWN0dWFsOiAnICsgKHhbMV0pKTsgICAgCn0KCk9iamVjdC5wcm90b3R5cGVbMV0gPSAtMTsKT2JqZWN0LnByb3RvdHlwZS5sZW5ndGggPSAyOwpPYmplY3QucHJvdG90eXBlLnBvcCA9IEFycmF5LnByb3RvdHlwZS5wb3A7CnggPSB7MDowLDE6MX07CgovL0NIRUNLIzMKdmFyIHBvcCA9IHgucG9wKCk7CmlmIChwb3AgIT09IDEpIHsgIAogICRFUlJPUignIzM6IE9iamVjdC5wcm90b3R5cGVbMV0gPSAtMTsgT2JqZWN0LnByb3RvdHlwZS5sZW5ndGggPSAyOyBPYmplY3QucHJvdG90eXBlLnBvcCA9IEFycmF5LnByb3RvdHlwZS5wb3A7IHggPSB7MDowLDE6MX07IHgucG9wKCkgPT09IDEuIEFjdHVhbDogJyArIChwb3ApKTsgICAgCn0KCi8vQ0hFQ0sjNAppZiAoeFsxXSAhPT0gLTEpIHsgIAogICRFUlJPUignIzQ6IE9iamVjdC5wcm90b3R5cGVbMV0gPSAtMTsgT2JqZWN0LnByb3RvdHlwZS5sZW5ndGggPSAyOyBPYmplY3QucHJvdG90eXBlLnBvcCA9IEFycmF5LnByb3RvdHlwZS5wb3A7IHggPSB7MDowLDE6MX07IHgucG9wKCk7IHhbMV0gPT09IC0xLiBBY3R1YWw6ICcgKyAoeFsxXSkpOyAgICAKfQoKLy9DSEVDSyM2CmlmICh4Lmxlbmd0aCAhPT0gMSkgeyAgCiAgJEVSUk9SKCcjNjogT2JqZWN0LnByb3RvdHlwZVsxXSA9IC0xOyBPYmplY3QucHJvdG90eXBlLmxlbmd0aCA9IDI7IE9iamVjdC5wcm90b3R5cGUucG9wID0gQXJyYXkucHJvdG90eXBlLnBvcDsgeCA9IHswOjAsMToxfTsgeC5wb3AoKTsgeC5sZW5ndGggPT09IDEuIEFjdHVhbDogJyArICh4Lmxlbmd0aCkpOyAgICAKfQoKLy9DSEVDSyM3CmRlbGV0ZSB4Lmxlbmd0aDsKaWYgKHgubGVuZ3RoICE9PSAyKSB7ICAKICAkRVJST1IoJyM3OiBPYmplY3QucHJvdG90eXBlWzFdID0gLTE7IE9iamVjdC5wcm90b3R5cGUubGVuZ3RoID0gMjsgT2JqZWN0LnByb3RvdHlwZS5wb3AgPSBBcnJheS5wcm90b3R5cGUucG9wOyB4ID0gezA6MCwxOjF9OyB4LnBvcCgpOyBkZWxldGUgeDsgeC5sZW5ndGggPT09IDIuIEFjdHVhbDogJyArICh4Lmxlbmd0aCkpOyAgICAKfQoK","commentary":"[[Get]], [[Delete]] from not an inherited property","description":"[[Prototype]] of Array instance is Array.prototype, [[Prototype] of Array.prototype is Object.prototype","path":"TestCases/ch15/15.4/15.4.4/15.4.4.6/S15.4.4.6_A4_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgbGVuZ3RoIHByb3BlcnR5IG9mIHBvcCBoYXMgdGhlIGF0dHJpYnV0ZSBEb250RW51bQogKgogKiBAcGF0aCBjaDE1LzE1LjQvMTUuNC40LzE1LjQuNC42L1MxNS40LjQuNl9BNS4xLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyB1c2UgcHJvcGVydHlJc0VudW1lcmFibGUsIGZvci1pbgogKi8KCi8vQ0hFQ0sjMQppZiAoQXJyYXkucHJvdG90eXBlLnBvcC5wcm9wZXJ0eUlzRW51bWVyYWJsZSgnbGVuZ3RoJykgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjMTogQXJyYXkucHJvdG90eXBlLnBvcC5wcm9wZXJ0eUlzRW51bWVyYWJsZShcJ2xlbmd0aFwnKSA9PT0gZmFsc2UuIEFjdHVhbDogJyArIChBcnJheS5wcm90b3R5cGUucG9wLnByb3BlcnR5SXNFbnVtZXJhYmxlKCdsZW5ndGgnKSkpOwp9CgovL0NIRUNLIzIKdmFyIHJlc3VsdCA9IHRydWU7CmZvciAodmFyIHAgaW4gQXJyYXkucG9wKXsKICBpZiAocCA9PT0gImxlbmd0aCIpIHsKICAgIHJlc3VsdCA9IGZhbHNlOwogIH0gIAp9CgppZiAocmVzdWx0ICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMjogcmVzdWx0ID0gdHJ1ZTsgZm9yIChwIGluIEFycmF5LnBvcCkgeyBpZiAocCA9PT0gImxlbmd0aCIpIHJlc3VsdCA9IGZhbHNlOyB9ICByZXN1bHQgPT09IHRydWU7Jyk7Cn0KCgo=","commentary":"The length property of pop has the attribute DontEnum","description":"Checking use propertyIsEnumerable, for-in","path":"TestCases/ch15/15.4/15.4.4/15.4.4.6/S15.4.4.6_A5.1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgbGVuZ3RoIHByb3BlcnR5IG9mIHBvcCBoYXMgdGhlIGF0dHJpYnV0ZSBEb250RGVsZXRlCiAqCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjYvUzE1LjQuNC42X0E1LjIuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIHVzZSBoYXNPd25Qcm9wZXJ0eSwgZGVsZXRlCiAqIEBub1N0cmljdAogKi8KCi8vQ0hFQ0sjMQppZiAoQXJyYXkucHJvdG90eXBlLnBvcC5oYXNPd25Qcm9wZXJ0eSgnbGVuZ3RoJykgIT09IHRydWUpIHsKICAkRkFJTCgnIzE6IEFycmF5LnByb3RvdHlwZS5wb3AuaGFzT3duUHJvcGVydHkoXCdsZW5ndGhcJykgPT09IHRydWUuIEFjdHVhbDogJyArIChBcnJheS5wcm90b3R5cGUucG9wLmhhc093blByb3BlcnR5KCdsZW5ndGgnKSkpOwp9CgpkZWxldGUgQXJyYXkucHJvdG90eXBlLnBvcC5sZW5ndGg7CgovL0NIRUNLIzIKaWYgKEFycmF5LnByb3RvdHlwZS5wb3AuaGFzT3duUHJvcGVydHkoJ2xlbmd0aCcpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMjogZGVsZXRlIEFycmF5LnByb3RvdHlwZS5wb3AubGVuZ3RoOyBBcnJheS5wcm90b3R5cGUucG9wLmhhc093blByb3BlcnR5KFwnbGVuZ3RoXCcpID09PSB0cnVlLiBBY3R1YWw6ICcgKyAoQXJyYXkucHJvdG90eXBlLnBvcC5oYXNPd25Qcm9wZXJ0eSgnbGVuZ3RoJykpKTsKfQoKLy9DSEVDSyMzCmlmIChBcnJheS5wcm90b3R5cGUucG9wLmxlbmd0aCA9PT0gdW5kZWZpbmVkKSB7CiAgJEVSUk9SKCcjMzogZGVsZXRlIEFycmF5LnByb3RvdHlwZS5wb3AubGVuZ3RoOyBBcnJheS5wcm90b3R5cGUucG9wLmxlbmd0aCAhPT0gdW5kZWZpbmVkJyk7Cn0KCgoK","commentary":"The length property of pop has the attribute DontDelete","description":"Checking use hasOwnProperty, delete","noStrict":"","path":"TestCases/ch15/15.4/15.4.4/15.4.4.6/S15.4.4.6_A5.2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgbGVuZ3RoIHByb3BlcnR5IG9mIHBvcCBoYXMgdGhlIGF0dHJpYnV0ZSBSZWFkT25seQogKgogKiBAcGF0aCBjaDE1LzE1LjQvMTUuNC40LzE1LjQuNC42L1MxNS40LjQuNl9BNS4zLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiB2YXJ5aW5nIHRoZSBsZW5ndGggcHJvcGVydHkgZmFpbHMKICogQG5vU3RyaWN0CiAqLwoKLy9DSEVDSyMxCnZhciB4ID0gQXJyYXkucHJvdG90eXBlLnBvcC5sZW5ndGg7CkFycmF5LnByb3RvdHlwZS5wb3AubGVuZ3RoID0gSW5maW5pdHk7CmlmIChBcnJheS5wcm90b3R5cGUucG9wLmxlbmd0aCAhPT0geCkgewogICRFUlJPUignIzE6IHggPSBBcnJheS5wcm90b3R5cGUucG9wLmxlbmd0aDsgQXJyYXkucHJvdG90eXBlLnBvcC5sZW5ndGggPSBJbmZpbml0eTsgQXJyYXkucHJvdG90eXBlLnBvcC5sZW5ndGggPT09IHguIEFjdHVhbDogJyArIChBcnJheS5wcm90b3R5cGUucG9wLmxlbmd0aCkpOwp9CgoK","commentary":"The length property of pop has the attribute ReadOnly","description":"Checking if varying the length property fails","noStrict":"","path":"TestCases/ch15/15.4/15.4.4/15.4.4.6/S15.4.4.6_A5.3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgbGVuZ3RoIHByb3BlcnR5IG9mIHBvcCBpcyAwCiAqCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjYvUzE1LjQuNC42X0E1LjQuanMKICogQGRlc2NyaXB0aW9uIHBvcC5sZW5ndGggPT09IDEKICovCgovL0NIRUNLIzEKaWYgKEFycmF5LnByb3RvdHlwZS5wb3AubGVuZ3RoICE9PSAwKSB7CiAgJEVSUk9SKCcjMTogQXJyYXkucHJvdG90eXBlLnBvcC5sZW5ndGggPT09IDAuIEFjdHVhbDogJyArIChBcnJheS5wcm90b3R5cGUucG9wLmxlbmd0aCkpOwp9CgoK","commentary":"The length property of pop is 0","description":"pop.length === 1","path":"TestCases/ch15/15.4/15.4.4/15.4.4.6/S15.4.4.6_A5.4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcG9wIHByb3BlcnR5IG9mIEFycmF5IGhhcyB0aGUgYXR0cmlidXRlIERvbnRFbnVtCiAqCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjYvUzE1LjQuNC42X0E1LjUuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIHVzZSBwcm9wZXJ0eUlzRW51bWVyYWJsZSwgZm9yLWluCiAqLwoKLy9DSEVDSyMxCmlmIChBcnJheS5wcm9wZXJ0eUlzRW51bWVyYWJsZSgncG9wJykgIT09IGZhbHNlKSB7CiAgJEVSUk9SKCcjMTogQXJyYXkucHJvcGVydHlJc0VudW1lcmFibGUoXCdwb3BcJykgPT09IGZhbHNlLiBBY3R1YWw6ICcgKyAoQXJyYXkucHJvcGVydHlJc0VudW1lcmFibGUoJ3BvcCcpKSk7Cn0KCi8vQ0hFQ0sjMgp2YXIgcmVzdWx0ID0gdHJ1ZTsKZm9yICh2YXIgcCBpbiBBcnJheSl7CiAgaWYgKHAgPT09ICJwb3AiKSB7CiAgICByZXN1bHQgPSBmYWxzZTsKICB9ICAKfQoKaWYgKHJlc3VsdCAhPT0gdHJ1ZSkgewogICRFUlJPUignIzI6IHJlc3VsdCA9IHRydWU7IGZvciAocCBpbiBBcnJheSkgeyBpZiAocCA9PT0gInBvcCIpIHJlc3VsdCA9IGZhbHNlOyB9ICByZXN1bHQgPT09IHRydWU7Jyk7Cn0KCgo=","commentary":"The pop property of Array has the attribute DontEnum","description":"Checking use propertyIsEnumerable, for-in","path":"TestCases/ch15/15.4/15.4.4/15.4.4.6/S15.4.4.6_A5.5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcG9wIHByb3BlcnR5IG9mIEFycmF5IGhhcyBub3QgcHJvdG90eXBlIHByb3BlcnR5CiAqCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjYvUzE1LjQuNC42X0E1LjYuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIEFycmF5LnByb3RvdHlwZS5wb3AucHJvdG90eXBlCiAqLwoKLy9DSEVDSyMxCmlmIChBcnJheS5wcm90b3R5cGUucG9wLnByb3RvdHlwZSAhPT0gdW5kZWZpbmVkKSB7CiAgJEVSUk9SKCcjMTogQXJyYXkucHJvdG90eXBlLnBvcC5wcm90b3R5cGUgPT09IHVuZGVmaW5lZC4gQWN0dWFsOiAnICsgKEFycmF5LnByb3RvdHlwZS5wb3AucHJvdG90eXBlKSk7Cn0KCg==","commentary":"The pop property of Array has not prototype property","description":"Checking Array.prototype.pop.prototype","path":"TestCases/ch15/15.4/15.4.4/15.4.4.6/S15.4.4.6_A5.6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcG9wIHByb3BlcnR5IG9mIEFycmF5IGNhbid0IGJlIHVzZWQgYXMgY29uc3RydWN0b3IKICoKICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuNi9TMTUuNC40LjZfQTUuNy5qcwogKiBAZGVzY3JpcHRpb24gSWYgcHJvcGVydHkgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBpbnRlcm5hbCBbW0NvbnN0cnVjdF1dIG1ldGhvZCwgdGhyb3cgYSBUeXBlRXJyb3IgZXhjZXB0aW9uCiAqLwoKLy9DSEVDSyMxCgp0cnkgewogIG5ldyBBcnJheS5wcm90b3R5cGUucG9wKCk7CiAgJEVSUk9SKCcjMS4xOiBuZXcgQXJyYXkucHJvdG90eXBlLnBvcCgpIHRocm93IFR5cGVFcnJvci4gQWN0dWFsOiAnICsgKG5ldyBBcnJheS5wcm90b3R5cGUucG9wKCkpKTsKfSBjYXRjaCAoZSkgewogIGlmICgoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikgIT09IHRydWUpIHsKICAgICRFUlJPUignIzEuMjogbmV3IEFycmF5LnByb3RvdHlwZS5wb3AoKSB0aHJvdyBUeXBlRXJyb3IuIEFjdHVhbDogJyArIChlKSk7CiAgfQp9Cgo=","commentary":"The pop property of Array can't be used as constructor","description":"If property does not implement the internal [[Construct]] method, throw a TypeError exception","path":"TestCases/ch15/15.4/15.4.4/15.4.4.6/S15.4.4.6_A5.7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgYXJndW1lbnRzIGFyZSBhcHBlbmRlZCB0byB0aGUgZW5kIG9mIHRoZSBhcnJheSwgaW4KICogdGhlIG9yZGVyIGluIHdoaWNoIHRoZXkgYXBwZWFyLiBUaGUgbmV3IGxlbmd0aCBvZiB0aGUgYXJyYXkgaXMgcmV0dXJuZWQKICogYXMgdGhlIHJlc3VsdCBvZiB0aGUgY2FsbAogKgogKiBAcGF0aCBjaDE1LzE1LjQvMTUuNC40LzE1LjQuNC43L1MxNS40LjQuN19BMV9UMS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgY2FzZSB3aGVuIHB1c2ggaXMgZ2l2ZW4gbm8gYXJndW1lbnRzIG9yIG9uZSBhcmd1bWVudAogKi8KCi8vQ0hFQ0sjMQp2YXIgeCA9IG5ldyBBcnJheSgpOwp2YXIgcHVzaCA9IHgucHVzaCgxKTsKaWYgKHB1c2ggIT09IDEpIHsKICAkRVJST1IoJyMxOiB4ID0gbmV3IEFycmF5KCk7IHgucHVzaCgxKSA9PT0gMS4gQWN0dWFsOiAnICsgKHB1c2gpKTsKfSAgCgovL0NIRUNLIzIKaWYgKHhbMF0gIT09IDEpIHsKICAkRVJST1IoJyMyOiB4ID0gbmV3IEFycmF5KCk7IHgucHVzaCgxKTsgeFswXSA9PT0gMS4gQWN0dWFsOiAnICsgKHhbMF0pKTsKfQoKLy9DSEVDSyMzCnZhciBwdXNoID0geC5wdXNoKCk7CmlmIChwdXNoICE9PSAxKSB7CiAgJEVSUk9SKCcjMzogeCA9IG5ldyBBcnJheSgpOyB4LnB1c2goMSk7IHgucHVzaCgpID09PSAxLiBBY3R1YWw6ICcgKyAocHVzaCkpOwp9CgovL0NIRUNLIzQKaWYgKHhbMV0gIT09IHVuZGVmaW5lZCkgewogICRFUlJPUignIzQ6IHggPSBuZXcgQXJyYXkoKTsgeC5wdXNoKDEpOyB4LnB1c2goKTsgeFsxXSA9PT0gdW5lZGZpbmVkLiBBY3R1YWw6ICcgKyAoeFsxXSkpOwp9CgovL0NIRUNLIzUKdmFyIHB1c2ggPSB4LnB1c2goLTEpOwppZiAocHVzaCAhPT0gMikgewogICRFUlJPUignIzU6IHggPSBuZXcgQXJyYXkoKTsgeC5wdXNoKDEpOyB4LnB1c2goKTsgeC5wdXNoKC0xKSA9PT0gMi4gQWN0dWFsOiAnICsgKHB1c2gpKTsKfQoKLy9DSEVDSyM2CmlmICh4WzFdICE9PSAtMSkgewogICRFUlJPUignIzY6IHggPSBuZXcgQXJyYXkoKTsgeC5wdXNoKDEpOyB4LnB1c2goLTEpOyB4WzFdID09PSAtMS4gQWN0dWFsOiAnICsgKHhbMV0pKTsKfQoKLy9DSEVDSyM3CmlmICh4Lmxlbmd0aCAhPT0gMikgewogICRFUlJPUignIzc6IHggPSBuZXcgQXJyYXkoKTsgeC5wdXNoKDEpOyB4LnB1c2goKTsgeC5wdXNoKC0xKTsgeC5sZW5ndGggPT09IDIuIEFjdHVhbDogJyArICh4Lmxlbmd0aCkpOwp9IAoK","commentary":"The arguments are appended to the end of the array, in\nthe order in which they appear. The new length of the array is returned\nas the result of the call","description":"Checking case when push is given no arguments or one argument","path":"TestCases/ch15/15.4/15.4.4/15.4.4.7/S15.4.4.7_A1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgYXJndW1lbnRzIGFyZSBhcHBlbmRlZCB0byB0aGUgZW5kIG9mIHRoZSBhcnJheSwgaW4KICogdGhlIG9yZGVyIGluIHdoaWNoIHRoZXkgYXBwZWFyLiBUaGUgbmV3IGxlbmd0aCBvZiB0aGUgYXJyYXkgaXMgcmV0dXJuZWQKICogYXMgdGhlIHJlc3VsdCBvZiB0aGUgY2FsbAogKgogKiBAcGF0aCBjaDE1LzE1LjQvMTUuNC40LzE1LjQuNC43L1MxNS40LjQuN19BMV9UMi5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgY2FzZSB3aGVuIHB1c2ggaXMgZ2l2ZW4gbWFueSBhcmd1bWVudHMKICovCgovL0NIRUNLIzEKdmFyIHggPSBbXTsKaWYgKHgubGVuZ3RoICE9PSAwKSB7CiAgJEVSUk9SKCcjMTogeCA9IFtdOyB4Lmxlbmd0aCA9PT0gMC4gQWN0dWFsOiAnICsgKHgubGVuZ3RoKSk7Cn0KCi8vQ0hFQ0sjMgp4WzBdID0gMDsKdmFyIHB1c2ggPSB4LnB1c2godHJ1ZSwgTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZLCAiTmFOIiwgIjEiLCAtMSk7CmlmIChwdXNoICE9PSA2KSB7CiAgJEVSUk9SKCcjMjogeCA9IFtdOyB4WzBdID0gMDsgeC5wdXNoKHRydWUsIE51bWJlci5QT1NJVElWRV9JTkZJTklUWSwgIk5hTiIsICIxIiwgLTEpID09PSA2LiBBY3R1YWw6ICcgKyAocHVzaCkpOwp9ICAKCi8vQ0hFQ0sjMwppZiAoeFswXSAhPT0gMCkgewogICRFUlJPUignIzM6IHggPSBbXTsgeFswXSA9IDA7IHgucHVzaCh0cnVlLCBOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFksICJOYU4iLCAiMSIsIC0xKTsgeFswXSA9PT0gMC4gQWN0dWFsOiAnICsgKHhbMF0pKTsKfQoKLy9DSEVDSyM0CmlmICh4WzFdICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjNDogeCA9IFtdOyB4WzBdID0gMDsgeC5wdXNoKHRydWUsIE51bWJlci5QT1NJVElWRV9JTkZJTklUWSwgIk5hTiIsICIxIiwgLTEpOyB4WzFdID09PSB0cnVlLiBBY3R1YWw6ICcgKyAoeFsxXSkpOwp9CgovL0NIRUNLIzUKaWYgKHhbMl0gIT09IE51bWJlci5QT1NJVElWRV9JTkZJTklUWSkgewogICRFUlJPUignIzU6IHggPSBbXTsgeFswXSA9IDA7IHgucHVzaCh0cnVlLCBOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFksICJOYU4iLCAiMSIsIC0xKTsgeFsyXSA9PT0gTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZLiBBY3R1YWw6ICcgKyAoeFsyXSkpOwp9ICAKCi8vQ0hFQ0sjNgppZiAoeFszXSAhPT0gIk5hTiIpIHsKICAkRVJST1IoJyM2OiB4ID0gW107IHhbMF0gPSAwOyB4LnB1c2godHJ1ZSwgTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZLCAiTmFOIiwgIjEiLCAtMSk7IHhbM10gPT09ICJOYU4iLiBBY3R1YWw6ICcgKyAoeFszXSkpOwp9IAoKLy9DSEVDSyM3CmlmICh4WzRdICE9PSAiMSIpIHsKICAkRVJST1IoJyM3OiB4ID0gW107IHhbMF0gPSAwOyB4LnB1c2godHJ1ZSwgTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZLCAiTmFOIiwgIjEiLCAtMSk7IHhbNF0gPT09ICIxIi4gQWN0dWFsOiAnICsgKHhbNF0pKTsKfQoKLy9DSEVDSyM4CmlmICh4WzVdICE9PSAtMSkgewogICRFUlJPUignIzg6IHggPSBbXTsgeFswXSA9IDA7IHgucHVzaCh0cnVlLCBOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFksICJOYU4iLCAiMSIsIC0xKTsgeFs1XSA9PT0gLTEuIEFjdHVhbDogJyArICh4WzVdKSk7Cn0KCi8vQ0hFQ0sjOQppZiAoeC5sZW5ndGggIT09IDYpIHsKICAkRVJST1IoJyM5OiB4ID0gW107IHhbMF0gPSAwOyB4LnB1c2godHJ1ZSwgTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZLCAiTmFOIiwgIjEiLCAtMSk7IHgubGVuZ3RoID09PSA2LiBBY3R1YWw6ICcgKyAoeC5sZW5ndGgpKTsKfQoK","commentary":"The arguments are appended to the end of the array, in\nthe order in which they appear. The new length of the array is returned\nas the result of the call","description":"Checking case when push is given many arguments","path":"TestCases/ch15/15.4/15.4.4/15.4.4.7/S15.4.4.7_A1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHVzaCBmdW5jdGlvbiBpcyBpbnRlbnRpb25hbGx5IGdlbmVyaWMuCiAqIEl0IGRvZXMgbm90IHJlcXVpcmUgdGhhdCBpdHMgdGhpcyB2YWx1ZSBiZSBhbiBBcnJheSBvYmplY3QKICoKICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuNy9TMTUuNC40LjdfQTJfVDEuanMKICogQGRlc2NyaXB0aW9uIFRoZSBhcmd1bWVudHMgYXJlIGFwcGVuZGVkIHRvIHRoZSBlbmQgb2YgdGhlIGFycmF5LCBpbgogKiB0aGUgb3JkZXIgaW4gd2hpY2ggdGhleSBhcHBlYXIuIFRoZSBuZXcgbGVuZ3RoIG9mIHRoZSBhcnJheSBpcyByZXR1cm5lZAogKiBhcyB0aGUgcmVzdWx0IG9mIHRoZSBjYWxsCiAqLwoKdmFyIG9iaiA9IHt9OwpvYmoucHVzaCA9IEFycmF5LnByb3RvdHlwZS5wdXNoOwoKaWYgKG9iai5sZW5ndGggIT09IHVuZGVmaW5lZCkgewogICRFUlJPUignIzA6IHZhciBvYmogPSB7fTsgb2JqLmxlbmd0aCA9PT0gdW5kZWZpbmVkLiBBY3R1YWw6ICcgKyAob2JqLmxlbmd0aCkpOwp9IGVsc2UgewogICAgLy9DSEVDSyMxICAKICAgIHZhciBwdXNoID0gb2JqLnB1c2goLTEpOwppZiAocHVzaCAhPT0gMSkgewogICAgICAkRVJST1IoJyMxOiB2YXIgb2JqID0ge307IG9iai5wdXNoID0gQXJyYXkucHJvdG90eXBlLnB1c2g7IG9iai5wdXNoKC0xKSA9PT0gMS4gQWN0dWFsOiAnICsgKHB1c2gpKTsKICAgIH0KICAgIC8vQ0hFQ0sjMgogICAgaWYgKG9iai5sZW5ndGggIT09IDEpIHsKICAgICAgJEVSUk9SKCcjMjogdmFyIG9iaiA9IHt9OyBvYmoucHVzaCA9IEFycmF5LnByb3RvdHlwZS5wdXNoOyBvYmoucHVzaCgtMSk7IG9iai5sZW5ndGggPT09IDEuIEFjdHVhbDogJyArIChvYmoubGVuZ3RoKSk7CiAgICB9CiAgICAvL0NIRUNLIzMKICAgIGlmIChvYmpbIjAiXSAhPT0gLTEpIHsKICAgICAgJEVSUk9SKCcjMzogdmFyIG9iaiA9IHt9OyBvYmoucHVzaCA9IEFycmF5LnByb3RvdHlwZS5wdXNoOyBvYmoucHVzaCgtMSk7IG9ialsiMCJdID09PSAtMS4gQWN0dWFsOiAnICsgKG9ialsiMCJdKSk7CiAgICB9Cn0gCgovL0NIRUNLIzQKb2JqLmxlbmd0aCA9IHVuZGVmaW5lZDsKdmFyIHB1c2ggPSBvYmoucHVzaCgtNCk7CmlmIChwdXNoICE9PSAxKSB7CiAgJEVSUk9SKCcjNDogdmFyIG9iaiA9IHt9OyBvYmoubGVuZ3RoID0gdW5kZWZpbmVkOyBvYmoucHVzaCA9IEFycmF5LnByb3RvdHlwZS5wdXNoOyBvYmoucHVzaCgtNCkgPT09IDEuIEFjdHVhbDogJyArIChwdXNoKSk7Cn0gCgovL0NIRUNLIzUKaWYgKG9iai5sZW5ndGggIT09IDEpIHsKICAkRVJST1IoJyM1OiB2YXIgb2JqID0ge307IG9iai5sZW5ndGggPSB1bmRlZmluZWQ7IG9iai5wdXNoID0gQXJyYXkucHJvdG90eXBlLnB1c2g7IG9iai5wdXNoKC00KTsgb2JqLmxlbmd0aCA9PT0gMS4gQWN0dWFsOiAnICsgKG9iai5sZW5ndGgpKTsKfQoKLy9DSEVDSyM2CmlmIChvYmpbIjAiXSAhPT0gLTQpIHsKICAkRVJST1IoJyM2OiB2YXIgb2JqID0ge307IG9iai5sZW5ndGggPSB1bmRlZmluZWQ7IG9iai5wdXNoID0gQXJyYXkucHJvdG90eXBlLnB1c2g7IG9iai5wdXNoKC00KTsgb2JqWyIwIl0gPT09IC00LiBBY3R1YWw6ICcgKyAob2JqWyIwIl0pKTsKfQoKLy9DSEVDSyM3Cm9iai5sZW5ndGggPSBudWxsCnZhciBwdXNoID0gb2JqLnB1c2goLTcpOwppZiAocHVzaCAhPT0gMSkgewogICRFUlJPUignIzc6IHZhciBvYmogPSB7fTsgb2JqLmxlbmd0aCA9IG51bGw7IG9iai5wdXNoID0gQXJyYXkucHJvdG90eXBlLnB1c2g7IG9iai5wdXNoKC03KSA9PT0gMS4gQWN0dWFsOiAnICsgKHB1c2gpKTsKfSAKCi8vQ0hFQ0sjOAppZiAob2JqLmxlbmd0aCAhPT0gMSkgewogICRFUlJPUignIzg6IHZhciBvYmogPSB7fTsgb2JqLmxlbmd0aCA9IG51bGw7IG9iai5wdXNoID0gQXJyYXkucHJvdG90eXBlLnB1c2g7IG9iai5wdXNoKC03KTsgb2JqLmxlbmd0aCA9PT0gMS4gQWN0dWFsOiAnICsgKG9iai5sZW5ndGgpKTsKfQoKLy9DSEVDSyM5CmlmIChvYmpbIjAiXSAhPT0gLTcpIHsKICAkRVJST1IoJyM5OiB2YXIgb2JqID0ge307IG9iai5sZW5ndGggPSBudWxsOyBvYmoucHVzaCA9IEFycmF5LnByb3RvdHlwZS5wdXNoOyBvYmoucHVzaCgtNyk7IG9ialsiMCJdID09PSAtNy4gQWN0dWFsOiAnICsgKG9ialsiMCJdKSk7Cn0KCg==","commentary":"The push function is intentionally generic.\nIt does not require that its this value be an Array object","description":"The arguments are appended to the end of the array, in\nthe order in which they appear. The new length of the array is returned\nas the result of the call","path":"TestCases/ch15/15.4/15.4.4/15.4.4.7/S15.4.4.7_A2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHVzaCBmdW5jdGlvbiBpcyBpbnRlbnRpb25hbGx5IGdlbmVyaWMuCiAqIEl0IGRvZXMgbm90IHJlcXVpcmUgdGhhdCBpdHMgdGhpcyB2YWx1ZSBiZSBhbiBBcnJheSBvYmplY3QKICoKICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuNy9TMTUuNC40LjdfQTJfVDIuanMKICogQGRlc2NyaXB0aW9uIFRoZSBhcmd1bWVudHMgYXJlIGFwcGVuZGVkIHRvIHRoZSBlbmQgb2YgdGhlIGFycmF5LCBpbgogKiB0aGUgb3JkZXIgaW4gd2hpY2ggdGhleSBhcHBlYXIuIFRoZSBuZXcgbGVuZ3RoIG9mIHRoZSBhcnJheSBpcyByZXR1cm5lZAogKiBhcyB0aGUgcmVzdWx0IG9mIHRoZSBjYWxsCiAqLwoKdmFyIG9iaiA9IHt9OwpvYmoucHVzaCA9IEFycmF5LnByb3RvdHlwZS5wdXNoOwoKLy9DSEVDSyMxCm9iai5sZW5ndGggPSBOYU47CnZhciBwdXNoID0gb2JqLnB1c2goLTEpOwppZiAocHVzaCAhPT0gMSkgewogICRFUlJPUignIzE6IHZhciBvYmogPSB7fTsgb2JqLmxlbmd0aCA9IE5hTjsgb2JqLnB1c2ggPSBBcnJheS5wcm90b3R5cGUucHVzaDsgb2JqLnB1c2goLTEpID09PSAxLiBBY3R1YWw6ICcgKyAocHVzaCkpOwp9CgovL0NIRUNLIzIKaWYgKG9iai5sZW5ndGggIT09IDEpIHsKICAkRVJST1IoJyMyOiB2YXIgb2JqID0ge307IG9iai5sZW5ndGggPSBOYU47IG9iai5wdXNoID0gQXJyYXkucHJvdG90eXBlLnB1c2g7IG9iai5wdXNoKC0xKTsgb2JqLmxlbmd0aCA9PT0gMS4gQWN0dWFsOiAnICsgKG9iai5sZW5ndGgpKTsKfQoKLy9DSEVDSyMzCmlmIChvYmpbIjAiXSAhPT0gLTEpIHsKICAkRVJST1IoJyMzOiB2YXIgb2JqID0ge307IG9iai5sZW5ndGggPSBOYU47IG9iai5wdXNoID0gQXJyYXkucHJvdG90eXBlLnB1c2g7IG9iai5wdXNoKC0xKTsgb2JqWyIwIl0gPT09IC0xLiBBY3R1YWw6ICcgKyAob2JqWyIwIl0pKTsKfQoKLy9DSEVDSyM0Cm9iai5sZW5ndGggPSBOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFk7CnZhciBwdXNoID0gb2JqLnB1c2goLTQpOwppZiAocHVzaCAhPT0gMSkgewogICRFUlJPUignIzQ6IHZhciBvYmogPSB7fTsgb2JqLmxlbmd0aCA9IE51bWJlci5QT1NJVElWRV9JTkZJTklUWTsgb2JqLnB1c2ggPSBBcnJheS5wcm90b3R5cGUucHVzaDsgb2JqLnB1c2goLTQpID09PSAxLiBBY3R1YWw6ICcgKyAocHVzaCkpOwp9CgovL0NIRUNLIzUKaWYgKG9iai5sZW5ndGggIT09IDEpIHsKICAkRVJST1IoJyM2OiB2YXIgb2JqID0ge307IG9iai5sZW5ndGggPSBOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFk7IG9iai5wdXNoID0gQXJyYXkucHJvdG90eXBlLnB1c2g7IG9iai5wdXNoKC00KTsgb2JqLmxlbmd0aCA9PT0gMS4gQWN0dWFsOiAnICsgKG9iai5sZW5ndGgpKTsKfQoKLy9DSEVDSyM2CmlmIChvYmpbIjAiXSAhPT0gLTQpIHsKICAkRVJST1IoJyM2OiB2YXIgb2JqID0ge307IG9iai5sZW5ndGggPSBOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFk7IG9iai5wdXNoID0gQXJyYXkucHJvdG90eXBlLnB1c2g7IG9iai5wdXNoKC00KTsgb2JqWyIwIl0gPT09IC00LiBBY3R1YWw6ICcgKyAob2JqWyIwIl0pKTsKfQoKLy9DSEVDSyM3Cm9iai5sZW5ndGggPSBOdW1iZXIuTkVHQVRJVkVfSU5GSU5JVFk7CnZhciBwdXNoID0gb2JqLnB1c2goLTcpOwppZiAocHVzaCAhPT0gMSkgewogICRFUlJPUignIzc6IHZhciBvYmogPSB7fTsgb2JqLmxlbmd0aCA9IE51bWJlci5ORUdBVElWRV9JTkZJTklUWTsgb2JqLnB1c2ggPSBBcnJheS5wcm90b3R5cGUucHVzaDsgb2JqLnB1c2goLTcpID09PSAxLiBBY3R1YWw6ICcgKyAocHVzaCkpOwp9CgovL0NIRUNLIzgKaWYgKG9iai5sZW5ndGggIT09IDEpIHsKICAkRVJST1IoJyM4OiB2YXIgb2JqID0ge307IG9iai5sZW5ndGggPSBOdW1iZXIuTkVHQVRJVkVfSU5GSU5JVFk7IG9iai5wdXNoID0gQXJyYXkucHJvdG90eXBlLnB1c2g7IG9iai5wdXNoKC03KTsgb2JqLmxlbmd0aCA9PT0gMS4gQWN0dWFsOiAnICsgKG9iai5sZW5ndGgpKTsKfQoKLy9DSEVDSyM5CmlmIChvYmpbIjAiXSAhPT0gLTcpIHsKICAkRVJST1IoJyM5OiB2YXIgb2JqID0ge307IG9iai5sZW5ndGggPSBOdW1iZXIuTkVHQVRJVkVfSU5GSU5JVFk7IG9iai5wdXNoID0gQXJyYXkucHJvdG90eXBlLnB1c2g7IG9iai5wdXNoKC03KTsgb2JqWyIwIl0gPT09IC03LiBBY3R1YWw6ICcgKyAob2JqWyIwIl0pKTsKfQoKLy9DSEVDSyMxMApvYmoubGVuZ3RoID0gMC41Owp2YXIgcHVzaCA9IG9iai5wdXNoKC0xMCk7CmlmIChwdXNoICE9PSAxKSB7CiAgJEVSUk9SKCcjMTA6IHZhciBvYmogPSB7fTsgb2JqLmxlbmd0aCA9IDAuNTsgb2JqLnB1c2ggPSBBcnJheS5wcm90b3R5cGUucHVzaDsgb2JqLnB1c2goLTEwKSA9PT0gMS4gQWN0dWFsOiAnICsgKHB1c2gpKTsKfQoKLy9DSEVDSyMxMQppZiAob2JqLmxlbmd0aCAhPT0gMSkgewogICRFUlJPUignIzExOiB2YXIgb2JqID0ge307IG9iai5sZW5ndGggPSAwLjU7IG9iai5wdXNoID0gQXJyYXkucHJvdG90eXBlLnB1c2g7IG9iai5wdXNoKC0xMCk7IG9iai5sZW5ndGggPT09IDEuIEFjdHVhbDogJyArIChvYmoubGVuZ3RoKSk7Cn0gCgovL0NIRUNLIzEyCmlmIChvYmpbIjAiXSAhPT0gLTEwKSB7CiAgJEVSUk9SKCcjMTI6IHZhciBvYmogPSB7fTsgb2JqLmxlbmd0aCA9IDAuNTsgb2JqLnB1c2ggPSBBcnJheS5wcm90b3R5cGUucHVzaDsgb2JqLnB1c2goLTEwKTsgb2JqWyIwIl0gPT09IC0xMC4gQWN0dWFsOiAnICsgKG9ialsiMCJdKSk7Cn0KCi8vQ0hFQ0sjMTMKb2JqLmxlbmd0aCA9IDEuNTsKdmFyIHB1c2ggPSBvYmoucHVzaCgtMTMpOwppZiAocHVzaCAhPT0gMikgewogICRFUlJPUignIzEzOiB2YXIgb2JqID0ge307IG9iai5sZW5ndGggPSAxLjU7IG9iai5wdXNoID0gQXJyYXkucHJvdG90eXBlLnB1c2g7IG9iai5wdXNoKC0xMykgPT09IDIuIEFjdHVhbDogJyArIChwdXNoKSk7Cn0KCi8vQ0hFQ0sjMTQKaWYgKG9iai5sZW5ndGggIT09IDIpIHsKICAkRVJST1IoJyMxNDogdmFyIG9iaiA9IHt9OyBvYmoubGVuZ3RoID0gMS41OyBvYmoucHVzaCA9IEFycmF5LnByb3RvdHlwZS5wdXNoOyBvYmoucHVzaCgtMTMpOyBvYmoubGVuZ3RoID09PSAyLiBBY3R1YWw6ICcgKyAob2JqLmxlbmd0aCkpOwp9IAoKLy9DSEVDSyMxNQppZiAob2JqWyIxIl0gIT09IC0xMykgewogICRFUlJPUignIzE1OiB2YXIgb2JqID0ge307IG9iai5sZW5ndGggPSAxLjU7IG9iai5wdXNoID0gQXJyYXkucHJvdG90eXBlLnB1c2g7IG9iai5wdXNoKC0xMyk7IG9ialsiMSJdID09PSAtMTMuIEFjdHVhbDogJyArIChvYmpbIjEiXSkpOwp9CgovL0NIRUNLIzE2Cm9iai5sZW5ndGggPSBuZXcgTnVtYmVyKDApOwp2YXIgcHVzaCA9IG9iai5wdXNoKC0xNik7CmlmIChwdXNoICE9PSAxKSB7CiAgJEVSUk9SKCcjMTY6IHZhciBvYmogPSB7fTsgb2JqLmxlbmd0aCA9IG5ldyBOdW1iZXIoMCk7IG9iai5wdXNoID0gQXJyYXkucHJvdG90eXBlLnB1c2g7IG9iai5wdXNoKC0xNikgPT09IDEuIEFjdHVhbDogJyArIChwdXNoKSk7Cn0KCi8vQ0hFQ0sjMTcKaWYgKG9iai5sZW5ndGggIT09IDEpIHsKICAkRVJST1IoJyMxNzogdmFyIG9iaiA9IHt9OyBvYmoubGVuZ3RoID0gbmV3IE51bWJlcigwKTsgb2JqLnB1c2ggPSBBcnJheS5wcm90b3R5cGUucHVzaDsgb2JqLnB1c2goLTE2KTsgb2JqLmxlbmd0aCA9PT0gMS4gQWN0dWFsOiAnICsgKG9iai5sZW5ndGgpKTsKfQoKLy9DSEVDSyMxOAppZiAob2JqWyIwIl0gIT09IC0xNikgewogICRFUlJPUignIzE4OiB2YXIgb2JqID0ge307IG9iai5sZW5ndGggPSBuZXcgTnVtYmVyKDApOyBvYmoucHVzaCA9IEFycmF5LnByb3RvdHlwZS5wdXNoOyBvYmoucHVzaCgtMTYpOyBvYmpbIjAiXSA9PT0gLTE2LiBBY3R1YWw6ICcgKyAob2JqWyIwIl0pKTsKfSAgIAoK","commentary":"The push function is intentionally generic.\nIt does not require that its this value be an Array object","description":"The arguments are appended to the end of the array, in\nthe order in which they appear. The new length of the array is returned\nas the result of the call","path":"TestCases/ch15/15.4/15.4.4/15.4.4.7/S15.4.4.7_A2_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHVzaCBmdW5jdGlvbiBpcyBpbnRlbnRpb25hbGx5IGdlbmVyaWMuCiAqIEl0IGRvZXMgbm90IHJlcXVpcmUgdGhhdCBpdHMgdGhpcyB2YWx1ZSBiZSBhbiBBcnJheSBvYmplY3QKICoKICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuNy9TMTUuNC40LjdfQTJfVDMuanMKICogQGRlc2NyaXB0aW9uIE9wZXJhdG9yIHVzZSBUb051bWJlciBmcm9tIGxlbmd0aC4KICogSWYgVHlwZSh2YWx1ZSkgaXMgT2JqZWN0LCBldmFsdWF0ZSBUb1ByaW1pdGl2ZSh2YWx1ZSwgTnVtYmVyKQogKi8KCnZhciBvYmogPSB7fTsKb2JqLnB1c2ggPSBBcnJheS5wcm90b3R5cGUucHVzaDsKCi8vQ0hFQ0sjMQpvYmoubGVuZ3RoID0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAzfX07CnZhciBwdXNoID0gb2JqLnB1c2goKTsKaWYgKHB1c2ggIT09IDMpIHsKICAkRVJST1IoJyMxOiAgb2JqLmxlbmd0aCA9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gM319ICBvYmoucHVzaCgpID09PSAzLiBBY3R1YWw6ICcgKyAocHVzaCkpOwp9CgovL0NIRUNLIzIKb2JqLmxlbmd0aCA9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gM30sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gMX19Owp2YXIgcHVzaCA9IG9iai5wdXNoKCk7CmlmIChwdXNoICE9PSAzKSB7CiAgJEVSUk9SKCcjMDogIG9iai5sZW5ndGggPSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIDN9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIDF9fSAgb2JqLnB1c2goKSA9PT0gMy4gQWN0dWFsOiAnICsgKHB1c2gpKTsKfSAKCi8vQ0hFQ0sjMwpvYmoubGVuZ3RoID0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAzfSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiB7fX19Owp2YXIgcHVzaCA9IG9iai5wdXNoKCk7CmlmIChwdXNoICE9PSAzKSB7CiAgJEVSUk9SKCcjMTogIG9iai5sZW5ndGggPSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIDN9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIHt9fX0gIG9iai5wdXNoKCkgPT09IDMuIEFjdHVhbDogJyArIChwdXNoKSk7Cn0KCi8vQ0hFQ0sjNAp0cnkgeyAgCiAgCiAgb2JqLmxlbmd0aCA9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gM30sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHt0aHJvdyAiZXJyb3IifX07ICAKICB2YXIgcHVzaCA9IG9iai5wdXNoKCk7CmlmIChwdXNoICE9PSAzKSB7CiAgICAkRVJST1IoJyM0LjE6ICBvYmoubGVuZ3RoID0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAzfSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3Rocm93ICJlcnJvciJ9fTsgb2JqLnB1c2goKSA9PT0gIiwiLiBBY3R1YWw6ICcgKyAocHVzaCkpOwogIH0KfQpjYXRjaCAoZSkgewogIGlmIChlID09PSAiZXJyb3IiKSB7CiAgICAkRVJST1IoJyM0LjI6ICBvYmoubGVuZ3RoID0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAzfSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3Rocm93ICJlcnJvciJ9fTsgb2JqLnB1c2goKSBub3QgdGhyb3cgImVycm9yIicpOwogIH0gZWxzZSB7CiAgICAkRVJST1IoJyM0LjM6ICBvYmoubGVuZ3RoID0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAzfSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3Rocm93ICJlcnJvciJ9fTsgb2JqLnB1c2goKSBub3QgdGhyb3cgRXJyb3IuIEFjdHVhbDogJyArIChlKSk7CiAgfQp9CgovL0NIRUNLIzUKb2JqLmxlbmd0aCA9IHt0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIDF9fTsKdmFyIHB1c2ggPSBvYmoucHVzaCgpOwppZiAocHVzaCAhPT0gMSkgewogICRFUlJPUignIzU6ICBvYmoubGVuZ3RoID0ge3RvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gMX19ICBvYmoucHVzaCgpID09PSAxLiBBY3R1YWw6ICcgKyAocHVzaCkpOwp9CgovL0NIRUNLIzYKb2JqLmxlbmd0aCA9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4ge319LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIDF9fQp2YXIgcHVzaCA9IG9iai5wdXNoKCk7CmlmIChwdXNoICE9PSAxKSB7CiAgJEVSUk9SKCcjNjogIG9iai5sZW5ndGggPSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIHt9fSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiAxfX0gIG9iai5wdXNoKCkgPT09IDEuIEFjdHVhbDogJyArIChwdXNoKSk7Cn0KCi8vQ0hFQ0sjNwp0cnkgewogIAogIG9iai5sZW5ndGggPSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7dGhyb3cgImVycm9yIn0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gMX19OyAgCiAgdmFyIHB1c2ggPSBvYmoucHVzaCgpOwogICRFUlJPUignIzcuMTogIG9iai5sZW5ndGggPSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7dGhyb3cgImVycm9yIn0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gMX19OyBvYmoucHVzaCgpIHRocm93ICJlcnJvciIuIEFjdHVhbDogJyArIChwdXNoKSk7Cn0gIApjYXRjaCAoZSkgewogIGlmIChlICE9PSAiZXJyb3IiKSB7CiAgICAkRVJST1IoJyM3LjI6ICBvYmoubGVuZ3RoID0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3Rocm93ICJlcnJvciJ9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIDF9fTsgb2JqLnB1c2goKSB0aHJvdyAiZXJyb3IiLiBBY3R1YWw6ICcgKyAoZSkpOwogIH0gCn0KCi8vQ0hFQ0sjOAp0cnkgewogIAogIG9iai5sZW5ndGggPSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIHt9fSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiB7fX19OwogIHZhciBwdXNoID0gb2JqLnB1c2goKTsKICAkRVJST1IoJyM4LjE6ICBvYmoubGVuZ3RoID0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiB7fX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4ge319fSAgb2JqLnB1c2goKSB0aHJvdyBUeXBlRXJyb3IuIEFjdHVhbDogJyArIChwdXNoKSk7Cn0gIApjYXRjaCAoZSkgewogIGlmICgoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikgIT09IHRydWUpIHsKICAgICRFUlJPUignIzguMjogIG9iai5sZW5ndGggPSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIHt9fSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiB7fX19ICBvYmoucHVzaCgpIHRocm93IFR5cGVFcnJvci4gQWN0dWFsOiAnICsgKGUpKTsKICB9IAp9Cgo=","commentary":"The push function is intentionally generic.\nIt does not require that its this value be an Array object","description":"Operator use ToNumber from length.\nIf Type(value) is Object, evaluate ToPrimitive(value, Number)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.7/S15.4.4.7_A2_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBDaGVjayBUb1VpbnQzMihsZW5ndGgpIGZvciBBcnJheSBvYmplY3QKICoKICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuNy9TMTUuNC40LjdfQTMuanMKICogQGRlc2NyaXB0aW9uIElmIFRvVWludDMyKGxlbmd0aCkgIT09IGxlbmd0aCwgdGhyb3cgUmFuZ2VFcnJvcgogKi8KCnZhciB4ID0gW107CngubGVuZ3RoID0gNDI5NDk2NzI5NTsKCi8vQ0hFQ0sjMQp2YXIgcHVzaCA9IHgucHVzaCgpOwppZiAocHVzaCAhPT0gNDI5NDk2NzI5NSkgewogICRFUlJPUignIzE6IHggPSBbXTsgeC5sZW5ndGggPSA0Mjk0OTY3Mjk1OyB4LnB1c2goKSA9PT0gNDI5NDk2NzI5NS4gQWN0dWFsOiAnICsgKHB1c2gpKTsKfQoKLy9DSEVDSyMyCnRyeSB7CiAgeC5wdXNoKCJ4Iik7CiAgJEVSUk9SKCcjMi4xOiB4ID0gW107IHgubGVuZ3RoID0gNDI5NDk2NzI5NTsgeC5wdXNoKCJ4IikgdGhyb3cgUmFuZ2VFcnJvci4gQWN0dWFsOiAnICsgKHB1c2gpKTsKfSBjYXRjaChlKSB7CiAgaWYgKChlIGluc3RhbmNlb2YgUmFuZ2VFcnJvcikgIT09IHRydWUpIHsKICAgICRFUlJPUignIzIuMjogeCA9IFtdOyB4Lmxlbmd0aCA9IDQyOTQ5NjcyOTU7IHgucHVzaCgieCIpIHRocm93IFJhbmdlRXJyb3IuIEFjdHVhbDogJyArIChlKSk7CiAgfQp9CgovL0NIRUNLIzMKaWYgKHhbNDI5NDk2NzI5NV0gIT09ICJ4IikgewogICAkRVJST1IoJyMzOiB4ID0gW107IHgubGVuZ3RoID0gNDI5NDk2NzI5NTsgdHJ5IHt4LnB1c2goIngiKX1jYXRjaChlKXt9OyB4WzQyOTQ5NjcyOTVdID09PSAieCIuIEFjdHVhbDogJyArICh4WzQyOTQ5NjcyOTVdKSk7Cn0KCi8vQ0hFQ0sjNAppZiAoeC5sZW5ndGggIT09IDQyOTQ5NjcyOTUpIHsKICAgJEVSUk9SKCcjNDogeCA9IFtdOyB4Lmxlbmd0aCA9IDQyOTQ5NjcyOTU7IHRyeSB7eC5wdXNoKCJ4Iil9Y2F0Y2goZSl7fTsgeC5sZW5ndGggPT09IDQyOTQ5NjcyOTUuIEFjdHVhbDogJyArICh4Lmxlbmd0aCkpOwp9Cgo=","commentary":"Check ToUint32(length) for Array object","description":"If ToUint32(length) !== length, throw RangeError","path":"TestCases/ch15/15.4/15.4.4/15.4.4.7/S15.4.4.7_A3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBDaGVjayBUb1VpbnQzMihsZW5ndGgpIGZvciBub24gQXJyYXkgb2JqZWN0cwogKgogKiBAcGF0aCBjaDE1LzE1LjQvMTUuNC40LzE1LjQuNC43L1MxNS40LjQuN19BNF9UMS5qcwogKiBAZGVzY3JpcHRpb24gbGVuZ3RoID0gNDI5NDk2NzI5NgogKi8KCnZhciBvYmogPSB7fTsKb2JqLnB1c2ggPSBBcnJheS5wcm90b3R5cGUucHVzaDsKb2JqLmxlbmd0aCA9IDQyOTQ5NjcyOTY7CgovL0NIRUNLIzEKdmFyIHB1c2ggPSBvYmoucHVzaCgieCIsICJ5IiwgInoiKTsKaWYgKHB1c2ggIT09IDMpIHsKICAkRVJST1IoJyMxOiB2YXIgb2JqID0ge307IG9iai5wdXNoID0gQXJyYXkucHJvdG90eXBlLnB1c2g7IG9iai5sZW5ndGggPSA0Mjk0OTY3Mjk2OyBvYmoucHVzaCgieCIsICJ5IiwgInoiKSA9PT0gMy4gQWN0dWFsOiAnICsgKHB1c2gpKTsKfQoKLy9DSEVDSyMyCmlmIChvYmoubGVuZ3RoICE9PSAzKSB7CiAgJEVSUk9SKCcjMjogdmFyIG9iaiA9IHt9OyBvYmoucHVzaCA9IEFycmF5LnByb3RvdHlwZS5wdXNoOyBvYmoubGVuZ3RoID0gNDI5NDk2NzI5Njsgb2JqLnB1c2goIngiLCAieSIsICJ6Iik7IG9iai5sZW5ndGggPT09IDMuIEFjdHVhbDogJyArIChvYmoubGVuZ3RoKSk7Cn0KCi8vQ0hFQ0sjMwppZiAob2JqWzBdICE9PSAieCIpIHsKICAgJEVSUk9SKCcjMzogdmFyIG9iaiA9IHt9OyBvYmoucHVzaCA9IEFycmF5LnByb3RvdHlwZS5wdXNoOyBvYmoubGVuZ3RoID0gNDI5NDk2NzI5Njsgb2JqLnB1c2goIngiLCAieSIsICJ6Iik7IG9ialswXSA9PT0gIngiLiBBY3R1YWw6ICcgKyAob2JqWzBdKSk7Cn0KCi8vQ0hFQ0sjNAppZiAob2JqWzFdICE9PSAieSIpIHsKICAgJEVSUk9SKCcjNDogdmFyIG9iaiA9IHt9OyBvYmoucHVzaCA9IEFycmF5LnByb3RvdHlwZS5wdXNoOyBvYmoubGVuZ3RoID0gNDI5NDk2NzI5Njsgb2JqLnB1c2goIngiLCAieSIsICJ6Iik7IG9ialsxXSA9PT0gInkiLiBBY3R1YWw6ICcgKyAob2JqWzFdKSk7Cn0gIAoKLy9DSEVDSyM1CmlmIChvYmpbMl0gIT09ICJ6IikgewogICAkRVJST1IoJyM1OiB2YXIgb2JqID0ge307IG9iai5wdXNoID0gQXJyYXkucHJvdG90eXBlLnB1c2g7IG9iai5sZW5ndGggPSA0Mjk0OTY3Mjk2OyBvYmoucHVzaCgieCIsICJ5IiwgInoiKTsgb2JqWzJdID09PSAieiIuIEFjdHVhbDogJyArIChvYmpbMl0pKTsKfSAKCnZhciBvYmogPSB7fTsKb2JqLnB1c2ggPSBBcnJheS5wcm90b3R5cGUucHVzaDsKb2JqLmxlbmd0aCA9IDQyOTQ5NjcyOTY7CgovL0NIRUNLIzYKdmFyIHB1c2ggPSBvYmoucHVzaCgpOwppZiAocHVzaCAhPT0gMCkgewogICRFUlJPUignIzY6IHZhciBvYmogPSB7fTsgb2JqLnB1c2ggPSBBcnJheS5wcm90b3R5cGUucHVzaDsgb2JqLmxlbmd0aCA9IDQyOTQ5NjcyOTY7IG9iai5wdXNoKCkgPT09IDAuIEFjdHVhbDogJyArIChwdXNoKSk7Cn0KCi8vQ0hFQ0sjNwppZiAob2JqLmxlbmd0aCAhPT0gMCkgewogICRFUlJPUignIzc6IHZhciBvYmogPSB7fTsgb2JqLnB1c2ggPSBBcnJheS5wcm90b3R5cGUucHVzaDsgb2JqLmxlbmd0aCA9IDQyOTQ5NjcyOTY7IG9iai5wdXNoKCk7IG9iai5sZW5ndGggPT09IDAuIEFjdHVhbDogJyArIChvYmoubGVuZ3RoKSk7Cn0gCgo=","commentary":"Check ToUint32(length) for non Array objects","description":"length = 4294967296","path":"TestCases/ch15/15.4/15.4.4/15.4.4.7/S15.4.4.7_A4_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBDaGVjayBUb1VpbnQzMihsZW5ndGgpIGZvciBub24gQXJyYXkgb2JqZWN0cwogKgogKiBAcGF0aCBjaDE1LzE1LjQvMTUuNC40LzE1LjQuNC43L1MxNS40LjQuN19BNF9UMi5qcwogKiBAZGVzY3JpcHRpb24gbGVuZ3RoID0gNDI5NDk2NzI5NQogKi8KCnZhciBvYmogPSB7fTsKb2JqLnB1c2ggPSBBcnJheS5wcm90b3R5cGUucHVzaDsKb2JqLmxlbmd0aCA9IDQyOTQ5NjcyOTU7CgovL0NIRUNLIzEKdmFyIHB1c2ggPSBvYmoucHVzaCgieCIsICJ5IiwgInoiKTsKaWYgKHB1c2ggIT09IDQyOTQ5NjcyOTgpIHsKICAkRVJST1IoJyMxOiB2YXIgb2JqID0ge307IG9iai5wdXNoID0gQXJyYXkucHJvdG90eXBlLnB1c2g7IG9iai5sZW5ndGggPSA0Mjk0OTY3Mjk1OyBvYmoucHVzaCgieCIsICJ5IiwgInoiKSA9PT0gNDI5NDk2NzI5OC4gQWN0dWFsOiAnICsgKHB1c2gpKTsKfQoKLy9DSEVDSyMyCmlmIChvYmoubGVuZ3RoICE9PSA0Mjk0OTY3Mjk4KSB7CiAgJEVSUk9SKCcjMjogdmFyIG9iaiA9IHt9OyBvYmoucHVzaCA9IEFycmF5LnByb3RvdHlwZS5wdXNoOyBvYmoubGVuZ3RoID0gNDI5NDk2NzI5NTsgb2JqLnB1c2goIngiLCAieSIsICJ6Iik7IG9iai5sZW5ndGggPT09IDQyOTQ5NjcyOTguIEFjdHVhbDogJyArIChvYmoubGVuZ3RoKSk7Cn0KCi8vQ0hFQ0sjMwppZiAob2JqWzQyOTQ5NjcyOTVdICE9PSAieCIpIHsKICAgJEVSUk9SKCcjMzogdmFyIG9iaiA9IHt9OyBvYmoucHVzaCA9IEFycmF5LnByb3RvdHlwZS5wdXNoOyBvYmoubGVuZ3RoID0gNDI5NDk2NzI5NTsgb2JqLnB1c2goIngiLCAieSIsICJ6Iik7IG9ials0Mjk0OTY3Mjk1XSA9PT0gIngiLiBBY3R1YWw6ICcgKyAob2JqWzQyOTQ5NjcyOTVdKSk7Cn0KCi8vQ0hFQ0sjNAppZiAob2JqWzQyOTQ5NjcyOTZdICE9PSAieSIpIHsKICAgJEVSUk9SKCcjNDogdmFyIG9iaiA9IHt9OyBvYmoucHVzaCA9IEFycmF5LnByb3RvdHlwZS5wdXNoOyBvYmoubGVuZ3RoID0gNDI5NDk2NzI5NTsgb2JqLnB1c2goIngiLCAieSIsICJ6Iik7IG9ials0Mjk0OTY3Mjk2XSA9PT0gInkiLiBBY3R1YWw6ICcgKyAob2JqWzQyOTQ5NjcyOTZdKSk7Cn0gIAoKLy9DSEVDSyM1CmlmIChvYmpbNDI5NDk2NzI5N10gIT09ICJ6IikgewogICAkRVJST1IoJyM1OiB2YXIgb2JqID0ge307IG9iai5wdXNoID0gQXJyYXkucHJvdG90eXBlLnB1c2g7IG9iai5sZW5ndGggPSA0Mjk0OTY3Mjk1OyBvYmoucHVzaCgieCIsICJ5IiwgInoiKTsgb2JqWzQyOTQ5NjcyOTddID09PSAieiIuIEFjdHVhbDogJyArIChvYmpbNDI5NDk2NzI5N10pKTsKfSAgICAKCg==","commentary":"Check ToUint32(length) for non Array objects","description":"length = 4294967295","path":"TestCases/ch15/15.4/15.4.4/15.4.4.7/S15.4.4.7_A4_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBDaGVjayBUb1VpbnQzMihsZW5ndGgpIGZvciBub24gQXJyYXkgb2JqZWN0cwogKgogKiBAcGF0aCBjaDE1LzE1LjQvMTUuNC40LzE1LjQuNC43L1MxNS40LjQuN19BNF9UMy5qcwogKiBAZGVzY3JpcHRpb24gbGVuZ3RoID0gLTEKICovCgp2YXIgb2JqID0ge307Cm9iai5wdXNoID0gQXJyYXkucHJvdG90eXBlLnB1c2g7Cm9iai5sZW5ndGggPSAtMTsKCi8vQ0hFQ0sjMQp2YXIgcHVzaCA9IG9iai5wdXNoKCJ4IiwgInkiLCAieiIpOwppZiAocHVzaCAhPT0gNDI5NDk2NzI5OCkgewogICRFUlJPUignIzE6IHZhciBvYmogPSB7fTsgb2JqLnB1c2ggPSBBcnJheS5wcm90b3R5cGUucHVzaDsgb2JqLmxlbmd0aCA9IC0xOyBvYmoucHVzaCgieCIsICJ5IiwgInoiKSA9PT0gNDI5NDk2NzI5OC4gQWN0dWFsOiAnICsgKHB1c2gpKTsKfQoKLy9DSEVDSyMyCmlmIChvYmoubGVuZ3RoICE9PSA0Mjk0OTY3Mjk4KSB7CiAgJEVSUk9SKCcjMjogdmFyIG9iaiA9IHt9OyBvYmoucHVzaCA9IEFycmF5LnByb3RvdHlwZS5wdXNoOyBvYmoubGVuZ3RoID0gLTE7IG9iai5wdXNoKCJ4IiwgInkiLCAieiIpOyBvYmoubGVuZ3RoID09PSA0Mjk0OTY3Mjk4LiBBY3R1YWw6ICcgKyAob2JqLmxlbmd0aCkpOwp9CgovL0NIRUNLIzMKaWYgKG9ials0Mjk0OTY3Mjk1XSAhPT0gIngiKSB7CiAgICRFUlJPUignIzM6IHZhciBvYmogPSB7fTsgb2JqLnB1c2ggPSBBcnJheS5wcm90b3R5cGUucHVzaDsgb2JqLmxlbmd0aCA9IC0xOyBvYmoucHVzaCgieCIsICJ5IiwgInoiKTsgb2JqWzQyOTQ5NjcyOTVdID09PSAieCIuIEFjdHVhbDogJyArIChvYmpbNDI5NDk2NzI5NV0pKTsKfQoKLy9DSEVDSyM0CmlmIChvYmpbNDI5NDk2NzI5Nl0gIT09ICJ5IikgewogICAkRVJST1IoJyM0OiB2YXIgb2JqID0ge307IG9iai5wdXNoID0gQXJyYXkucHJvdG90eXBlLnB1c2g7IG9iai5sZW5ndGggPSAtMTsgb2JqLnB1c2goIngiLCAieSIsICJ6Iik7IG9ials0Mjk0OTY3Mjk2XSA9PT0gInkiLiBBY3R1YWw6ICcgKyAob2JqWzQyOTQ5NjcyOTZdKSk7Cn0gIAoKLy9DSEVDSyM1CmlmIChvYmpbNDI5NDk2NzI5N10gIT09ICJ6IikgewogICAkRVJST1IoJyM1OiB2YXIgb2JqID0ge307IG9iai5wdXNoID0gQXJyYXkucHJvdG90eXBlLnB1c2g7IG9iai5sZW5ndGggPSAtMTsgb2JqLnB1c2goIngiLCAieSIsICJ6Iik7IG9ials0Mjk0OTY3Mjk3XSA9PT0gInoiLiBBY3R1YWw6ICcgKyAob2JqWzQyOTQ5NjcyOTddKSk7Cn0gIAoK","commentary":"Check ToUint32(length) for non Array objects","description":"length = -1","path":"TestCases/ch15/15.4/15.4.4/15.4.4.7/S15.4.4.7_A4_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBbW0dldF1dIGZyb20gbm90IGFuIGluaGVyaXRlZCBwcm9wZXJ0eQogKgogKiBAcGF0aCBjaDE1LzE1LjQvMTUuNC40LzE1LjQuNC43L1MxNS40LjQuN19BNV9UMS5qcwogKiBAZGVzY3JpcHRpb24gW1tQcm90b3R5cGVdXSBvZiBBcnJheSBpbnN0YW5jZSBpcyBBcnJheS5wcm90b3R5cGUsIFtbUHJvdG90eXBlXSBvZiBBcnJheS5wcm90b3R5cGUgaXMgT2JqZWN0LnByb3RvdHlwZQogKi8KCk9iamVjdC5wcm90b3R5cGVbMV0gPSAtMTsKT2JqZWN0LnByb3RvdHlwZS5sZW5ndGggPSAxOwpPYmplY3QucHJvdG90eXBlLnB1c2ggPSBBcnJheS5wcm90b3R5cGUucHVzaDsKdmFyIHggPSB7MDowfTsKCi8vQ0hFQ0sjMQp2YXIgcHVzaCA9IHgucHVzaCgxKTsKaWYgKHB1c2ggIT09IDIpIHsgIAogICRFUlJPUignIzE6IE9iamVjdC5wcm90b3R5cGVbMV0gPSAxOyBPYmplY3QucHJvdG90eXBlLmxlbmd0aCA9IC0xOyBPYmplY3QucHJvdG90eXBlLnB1c2ggPSBBcnJheS5wcm90b3R5cGUucHVzaDsgeCA9IHswOjB9OyB4LnB1c2goMSkgPT09IDIuIEFjdHVhbDogJyArIChwdXNoKSk7ICAgIAp9CgovL0NIRUNLIzIKaWYgKHgubGVuZ3RoICE9PSAyKSB7ICAKICAkRVJST1IoJyMyOiBPYmplY3QucHJvdG90eXBlWzFdID0gMTsgT2JqZWN0LnByb3RvdHlwZS5sZW5ndGggPSAtMTsgT2JqZWN0LnByb3RvdHlwZS5wdXNoID0gQXJyYXkucHJvdG90eXBlLnB1c2g7IHggPSB7MDowfTsgeC5wdXNoKDEpOyB4Lmxlbmd0aCA9PT0gMi4gQWN0dWFsOiAnICsgKHgubGVuZ3RoKSk7ICAgIAp9CgovL0NIRUNLIzMKaWYgKHhbMV0gIT09IDEpIHsgIAogICRFUlJPUignIzM6IE9iamVjdC5wcm90b3R5cGVbMV0gPSAxOyBPYmplY3QucHJvdG90eXBlLmxlbmd0aCA9IC0xOyBPYmplY3QucHJvdG90eXBlLnB1c2ggPSBBcnJheS5wcm90b3R5cGUucHVzaDsgeCA9IHswOjB9OyB4LnB1c2goMSk7IHhbMV0gPT09IDEuIEFjdHVhbDogJyArICh4WzFdKSk7ICAgIAp9CgovL0NIRUNLIzQKZGVsZXRlIHhbMV07CmlmICh4WzFdICE9PSAtMSkgeyAgCiAgJEVSUk9SKCcjNDogT2JqZWN0LnByb3RvdHlwZVsxXSA9IDE7IE9iamVjdC5wcm90b3R5cGUubGVuZ3RoID0gLTE7IE9iamVjdC5wcm90b3R5cGUucHVzaCA9IEFycmF5LnByb3RvdHlwZS5wdXNoOyB4ID0gezA6MH07IHgucHVzaCgxKTsgZGVsZXRlIHhbMV07IHhbMV0gPT09IC0xLiBBY3R1YWw6ICcgKyAoeFsxXSkpOyAgICAKfQoKLy9DSEVDSyM1CmRlbGV0ZSB4Lmxlbmd0aDsKaWYgKHgubGVuZ3RoICE9PSAxKSB7ICAKICAkRVJST1IoJyM1OiBPYmplY3QucHJvdG90eXBlWzFdID0gMTsgT2JqZWN0LnByb3RvdHlwZS5sZW5ndGggPSAtMTsgT2JqZWN0LnByb3RvdHlwZS5wdXNoID0gQXJyYXkucHJvdG90eXBlLnB1c2g7IHggPSB7MDowfTsgZGVsZXRlIHg7IHgucHVzaCgxKTsgeC5sZW5ndGggPT09IDEuIEFjdHVhbDogJyArICh4Lmxlbmd0aCkpOyAgICAKfQoKCg==","commentary":"[[Get]] from not an inherited property","description":"[[Prototype]] of Array instance is Array.prototype, [[Prototype] of Array.prototype is Object.prototype","path":"TestCases/ch15/15.4/15.4.4/15.4.4.7/S15.4.4.7_A5_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgbGVuZ3RoIHByb3BlcnR5IG9mIHB1c2ggaGFzIHRoZSBhdHRyaWJ1dGUgRG9udEVudW0KICoKICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuNy9TMTUuNC40LjdfQTYuMS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgdXNlIHByb3BlcnR5SXNFbnVtZXJhYmxlLCBmb3ItaW4KICovCgovL0NIRUNLIzEKaWYgKEFycmF5LnByb3RvdHlwZS5wdXNoLnByb3BlcnR5SXNFbnVtZXJhYmxlKCdsZW5ndGgnKSAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyMxOiBBcnJheS5wcm90b3R5cGUucHVzaC5wcm9wZXJ0eUlzRW51bWVyYWJsZShcJ2xlbmd0aFwnKSA9PT0gZmFsc2UuIEFjdHVhbDogJyArIChBcnJheS5wcm90b3R5cGUucHVzaC5wcm9wZXJ0eUlzRW51bWVyYWJsZSgnbGVuZ3RoJykpKTsKfQoKLy9DSEVDSyMyCnZhciByZXN1bHQgPSB0cnVlOwpmb3IgKHZhciBwIGluIEFycmF5LnB1c2gpewogIGlmIChwID09PSAibGVuZ3RoIikgewogICAgcmVzdWx0ID0gZmFsc2U7CiAgfSAgCn0KCmlmIChyZXN1bHQgIT09IHRydWUpIHsKICAkRVJST1IoJyMyOiByZXN1bHQgPSB0cnVlOyBmb3IgKHAgaW4gQXJyYXkucHVzaCkgeyBpZiAocCA9PT0gImxlbmd0aCIpIHJlc3VsdCA9IGZhbHNlOyB9ICByZXN1bHQgPT09IHRydWU7Jyk7Cn0KCgo=","commentary":"The length property of push has the attribute DontEnum","description":"Checking use propertyIsEnumerable, for-in","path":"TestCases/ch15/15.4/15.4.4/15.4.4.7/S15.4.4.7_A6.1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgbGVuZ3RoIHByb3BlcnR5IG9mIHB1c2ggaGFzIHRoZSBhdHRyaWJ1dGUgRG9udERlbGV0ZQogKgogKiBAcGF0aCBjaDE1LzE1LjQvMTUuNC40LzE1LjQuNC43L1MxNS40LjQuN19BNi4yLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyB1c2UgaGFzT3duUHJvcGVydHksIGRlbGV0ZQogKiBAbm9TdHJpY3QKICovCgovL0NIRUNLIzEKaWYgKEFycmF5LnByb3RvdHlwZS5wdXNoLmhhc093blByb3BlcnR5KCdsZW5ndGgnKSAhPT0gdHJ1ZSkgewogICRGQUlMKCcjMTogQXJyYXkucHJvdG90eXBlLnB1c2guaGFzT3duUHJvcGVydHkoXCdsZW5ndGhcJykgPT09IHRydWUuIEFjdHVhbDogJyArIChBcnJheS5wcm90b3R5cGUucHVzaC5oYXNPd25Qcm9wZXJ0eSgnbGVuZ3RoJykpKTsKfQoKZGVsZXRlIEFycmF5LnByb3RvdHlwZS5wdXNoLmxlbmd0aDsKCi8vQ0hFQ0sjMgppZiAoQXJyYXkucHJvdG90eXBlLnB1c2guaGFzT3duUHJvcGVydHkoJ2xlbmd0aCcpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMjogZGVsZXRlIEFycmF5LnByb3RvdHlwZS5wdXNoLmxlbmd0aDsgQXJyYXkucHJvdG90eXBlLnB1c2guaGFzT3duUHJvcGVydHkoXCdsZW5ndGhcJykgPT09IHRydWUuIEFjdHVhbDogJyArIChBcnJheS5wcm90b3R5cGUucHVzaC5oYXNPd25Qcm9wZXJ0eSgnbGVuZ3RoJykpKTsKfQoKLy9DSEVDSyMzCmlmIChBcnJheS5wcm90b3R5cGUucHVzaC5sZW5ndGggPT09IHVuZGVmaW5lZCkgewogICRFUlJPUignIzM6IGRlbGV0ZSBBcnJheS5wcm90b3R5cGUucHVzaC5sZW5ndGg7IEFycmF5LnByb3RvdHlwZS5wdXNoLmxlbmd0aCAhPT0gdW5kZWZpbmVkJyk7Cn0KCgoK","commentary":"The length property of push has the attribute DontDelete","description":"Checking use hasOwnProperty, delete","noStrict":"","path":"TestCases/ch15/15.4/15.4.4/15.4.4.7/S15.4.4.7_A6.2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgbGVuZ3RoIHByb3BlcnR5IG9mIHB1c2ggaGFzIHRoZSBhdHRyaWJ1dGUgUmVhZE9ubHkKICoKICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuNy9TMTUuNC40LjdfQTYuMy5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgaWYgdmFyeWluZyB0aGUgbGVuZ3RoIHByb3BlcnR5IGZhaWxzCiAqIEBub1N0cmljdAogKi8KCi8vQ0hFQ0sjMQp2YXIgeCA9IEFycmF5LnByb3RvdHlwZS5wdXNoLmxlbmd0aDsKQXJyYXkucHJvdG90eXBlLnB1c2gubGVuZ3RoID0gSW5maW5pdHk7CmlmIChBcnJheS5wcm90b3R5cGUucHVzaC5sZW5ndGggIT09IHgpIHsKICAkRVJST1IoJyMxOiB4ID0gQXJyYXkucHJvdG90eXBlLnB1c2gubGVuZ3RoOyBBcnJheS5wcm90b3R5cGUucHVzaC5sZW5ndGggPSBJbmZpbml0eTsgQXJyYXkucHJvdG90eXBlLnB1c2gubGVuZ3RoID09PSB4LiBBY3R1YWw6ICcgKyAoQXJyYXkucHJvdG90eXBlLnB1c2gubGVuZ3RoKSk7Cn0KCgo=","commentary":"The length property of push has the attribute ReadOnly","description":"Checking if varying the length property fails","noStrict":"","path":"TestCases/ch15/15.4/15.4.4/15.4.4.7/S15.4.4.7_A6.3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgbGVuZ3RoIHByb3BlcnR5IG9mIHB1c2ggaXMgMQogKgogKiBAcGF0aCBjaDE1LzE1LjQvMTUuNC40LzE1LjQuNC43L1MxNS40LjQuN19BNi40LmpzCiAqIEBkZXNjcmlwdGlvbiBwdXNoLmxlbmd0aCA9PT0gMQogKi8KCi8vQ0hFQ0sjMQppZiAoQXJyYXkucHJvdG90eXBlLnB1c2gubGVuZ3RoICE9PSAxKSB7CiAgJEVSUk9SKCcjMTogQXJyYXkucHJvdG90eXBlLnB1c2gubGVuZ3RoID09PSAxLiBBY3R1YWw6ICcgKyAoQXJyYXkucHJvdG90eXBlLnB1c2gubGVuZ3RoKSk7Cn0KCgo=","commentary":"The length property of push is 1","description":"push.length === 1","path":"TestCases/ch15/15.4/15.4.4/15.4.4.7/S15.4.4.7_A6.4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHVzaCBwcm9wZXJ0eSBvZiBBcnJheSBoYXMgdGhlIGF0dHJpYnV0ZSBEb250RW51bQogKgogKiBAcGF0aCBjaDE1LzE1LjQvMTUuNC40LzE1LjQuNC43L1MxNS40LjQuN19BNi41LmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyB1c2UgcHJvcGVydHlJc0VudW1lcmFibGUsIGZvci1pbgogKi8KCi8vQ0hFQ0sjMQppZiAoQXJyYXkucHJvcGVydHlJc0VudW1lcmFibGUoJ3B1c2gnKSAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyMxOiBBcnJheS5wcm9wZXJ0eUlzRW51bWVyYWJsZShcJ3B1c2hcJykgPT09IGZhbHNlLiBBY3R1YWw6ICcgKyAoQXJyYXkucHJvcGVydHlJc0VudW1lcmFibGUoJ3B1c2gnKSkpOwp9CgovL0NIRUNLIzIKdmFyIHJlc3VsdCA9IHRydWU7CmZvciAodmFyIHAgaW4gQXJyYXkpewogIGlmIChwID09PSAicHVzaCIpIHsKICAgIHJlc3VsdCA9IGZhbHNlOwogIH0gIAp9CgppZiAocmVzdWx0ICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMjogcmVzdWx0ID0gdHJ1ZTsgZm9yIChwIGluIEFycmF5KSB7IGlmIChwID09PSAicHVzaCIpIHJlc3VsdCA9IGZhbHNlOyB9ICByZXN1bHQgPT09IHRydWU7Jyk7Cn0KCgo=","commentary":"The push property of Array has the attribute DontEnum","description":"Checking use propertyIsEnumerable, for-in","path":"TestCases/ch15/15.4/15.4.4/15.4.4.7/S15.4.4.7_A6.5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHVzaCBwcm9wZXJ0eSBvZiBBcnJheSBoYXMgbm90IHByb3RvdHlwZSBwcm9wZXJ0eQogKgogKiBAcGF0aCBjaDE1LzE1LjQvMTUuNC40LzE1LjQuNC43L1MxNS40LjQuN19BNi42LmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBBcnJheS5wcm90b3R5cGUucHVzaC5wcm90b3R5cGUKICovCgovL0NIRUNLIzEKaWYgKEFycmF5LnByb3RvdHlwZS5wdXNoLnByb3RvdHlwZSAhPT0gdW5kZWZpbmVkKSB7CiAgJEVSUk9SKCcjMTogQXJyYXkucHJvdG90eXBlLnB1c2gucHJvdG90eXBlID09PSB1bmRlZmluZWQuIEFjdHVhbDogJyArIChBcnJheS5wcm90b3R5cGUucHVzaC5wcm90b3R5cGUpKTsKfQoK","commentary":"The push property of Array has not prototype property","description":"Checking Array.prototype.push.prototype","path":"TestCases/ch15/15.4/15.4.4/15.4.4.7/S15.4.4.7_A6.6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcHVzaCBwcm9wZXJ0eSBvZiBBcnJheSBjYW4ndCBiZSB1c2VkIGFzIGNvbnN0cnVjdG9yCiAqCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjcvUzE1LjQuNC43X0E2LjcuanMKICogQGRlc2NyaXB0aW9uIElmIHByb3BlcnR5IGRvZXMgbm90IGltcGxlbWVudCB0aGUgaW50ZXJuYWwgW1tDb25zdHJ1Y3RdXSBtZXRob2QsIHRocm93IGEgVHlwZUVycm9yIGV4Y2VwdGlvbgogKi8KCi8vQ0hFQ0sjMQoKdHJ5IHsKICBuZXcgQXJyYXkucHJvdG90eXBlLnB1c2goKTsKICAkRVJST1IoJyMxLjE6IG5ldyBBcnJheS5wcm90b3R5cGUucHVzaCgpIHRocm93IFR5cGVFcnJvci4gQWN0dWFsOiAnICsgKG5ldyBBcnJheS5wcm90b3R5cGUucHVzaCgpKSk7Cn0gY2F0Y2ggKGUpIHsKICBpZiAoKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpICE9PSB0cnVlKSB7CiAgICAkRVJST1IoJyMxLjI6IG5ldyBBcnJheS5wcm90b3R5cGUucHVzaCgpIHRocm93IFR5cGVFcnJvci4gQWN0dWFsOiAnICsgKGUpKTsKICB9Cn0KCg==","commentary":"The push property of Array can't be used as constructor","description":"If property does not implement the internal [[Construct]] method, throw a TypeError exception","path":"TestCases/ch15/15.4/15.4.4/15.4.4.7/S15.4.4.7_A6.7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgZWxlbWVudHMgb2YgdGhlIGFycmF5IGFyZSByZWFycmFuZ2VkIHNvIGFzIHRvIHJldmVyc2UgdGhlaXIgb3JkZXIuCiAqIFRoZSBvYmplY3QgaXMgcmV0dXJuZWQgYXMgdGhlIHJlc3VsdCBvZiB0aGUgY2FsbAogKgogKiBAcGF0aCBjaDE1LzE1LjQvMTUuNC40LzE1LjQuNC44L1MxNS40LjQuOF9BMV9UMS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgY2FzZSB3aGVuIHJldmVyc2UgaXMgZ2l2ZW4gbm8gYXJndW1lbnRzIG9yIG9uZSBhcmd1bWVudAogKi8KCi8vQ0hFQ0sjMQp2YXIgeCA9IFtdOwp2YXIgcmV2ZXJzZSA9IHgucmV2ZXJzZSgpOwppZiAocmV2ZXJzZSAhPT0geCkgewogICRFUlJPUignIzE6IHggPSBbXTsgeC5yZXZlcnNlKCkgPT09IHguIEFjdHVhbDogJyArIChyZXZlcnNlKSk7Cn0gIAoKLy9DSEVDSyMyCnggPSBbXTsKeFswXSA9IDE7CnZhciByZXZlcnNlID0geC5yZXZlcnNlKCk7CmlmIChyZXZlcnNlICE9PSB4KSB7CiAgJEVSUk9SKCcjMjogeCA9IFtdOyB4WzBdID0gMTsgeC5yZXZlcnNlKCkgPT09IHguIEFjdHVhbDogJyArIChyZXZlcnNlKSk7Cn0KCi8vQ0hFQ0sjMwp4ID0gbmV3IEFycmF5KDEsMik7CnZhciByZXZlcnNlID0geC5yZXZlcnNlKCk7CmlmIChyZXZlcnNlICE9PSB4KSB7CiAgJEVSUk9SKCcjMzogeCA9IG5ldyBBcnJheSgxLDIpOyB4LnJldmVyc2UoKSA9PT0geC4gQWN0dWFsOiAnICsgKHJldmVyc2UpKTsKfQoKLy9DSEVDSyM0CmlmICh4WzBdICE9PSAyKSB7CiAgJEVSUk9SKCcjNDogeCA9IG5ldyBBcnJheSgxLDIpOyB4LnJldmVyc2UoKTsgeFswXSA9PT0gMi4gQWN0dWFsOiAnICsgKHhbMF0pKTsKfQoKLy9DSEVDSyM1CmlmICh4WzFdICE9PSAxKSB7CiAgJEVSUk9SKCcjNTogeCA9IG5ldyBBcnJheSgxLDIpOyB4LnJldmVyc2UoKTsgeFsxXSA9PT0gMS4gQWN0dWFsOiAnICsgKHhbMV0pKTsKfSAKCi8vQ0hFQ0sjNgppZiAoeC5sZW5ndGggIT09IDIpIHsKICAkRVJST1IoJyM2OiB4ID0gbmV3IEFycmF5KDEsMik7IHgucmV2ZXJzZSgpOyB4Lmxlbmd0aCA9PT0gMi4gQWN0dWFsOiAnICsgKHgubGVuZ3RoKSk7Cn0gICAgICAgICAgICAgIAoK","commentary":"The elements of the array are rearranged so as to reverse their order.\nThe object is returned as the result of the call","description":"Checking case when reverse is given no arguments or one argument","path":"TestCases/ch15/15.4/15.4.4/15.4.4.8/S15.4.4.8_A1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgZWxlbWVudHMgb2YgdGhlIGFycmF5IGFyZSByZWFycmFuZ2VkIHNvIGFzIHRvIHJldmVyc2UgdGhlaXIgb3JkZXIuCiAqIFRoZSBvYmplY3QgaXMgcmV0dXJuZWQgYXMgdGhlIHJlc3VsdCBvZiB0aGUgY2FsbAogKgogKiBAcGF0aCBjaDE1LzE1LjQvMTUuNC40LzE1LjQuNC44L1MxNS40LjQuOF9BMV9UMi5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgdGhpcyBhbGdvcml0aG0sIGVsZW1lbnRzIGFyZSBvYmplY3RzIGFuZCBwcmltaXRpdmVzCiAqLwoKLy9DSEVDSyMxCnZhciB4ID0gW107CnhbMF0gPSB0cnVlOwp4WzJdID0gSW5maW5pdHk7CnhbNF0gPSB1bmRlZmluZWQ7CnhbNV0gPSB1bmRlZmluZWQ7CnhbOF0gPSAiTmFOIjsKeFs5XSA9ICItMSI7Cgp2YXIgcmV2ZXJzZSA9IHgucmV2ZXJzZSgpOwppZiAocmV2ZXJzZSAhPT0geCkgewogICRFUlJPUignIzE6IHggPSBbXTsgeFswXSA9IHRydWU7IHhbMl0gPSBJbmZpbml0eTsgeFs0XSA9IHVuZGVmaW5lZDsgeFs1XSA9IHVuZGVmaW5lZDsgeFs4XSA9ICJOYU4iOyB4WzldID0gIi0xIjsgeC5yZXZlcnNlKCkgPT09IHguIEFjdHVhbDogJyArIChyZXZlcnNlKSk7Cn0KCi8vQ0hFQ0sjMgppZiAoeFswXSAhPT0gIi0xIikgewogICAkRVJST1IoJyMyOiB4ID0gW107IHhbMF0gPSB0cnVlOyB4WzJdID0gSW5maW5pdHk7IHhbNF0gPSB1bmRlZmluZWQ7IHhbNV0gPSB1bmRlZmluZWQ7IHhbOF0gPSAiTmFOIjsgeFs5XSA9ICItMSI7IHgucmV2ZXJzZSgpOyB4WzBdID09PSAiLTEiLiBBY3R1YWw6ICcgKyAoeFswXSkpOwp9CgovL0NIRUNLIzMKaWYgKHhbMV0gIT09ICJOYU4iKSB7CiAgICRFUlJPUignIzM6IHggPSBbXTsgeFswXSA9IHRydWU7IHhbMl0gPSBJbmZpbml0eTsgeFs0XSA9IHVuZGVmaW5lZDsgeFs1XSA9IHVuZGVmaW5lZDsgeFs4XSA9ICJOYU4iOyB4WzldID0gIi0xIjsgeC5yZXZlcnNlKCk7IHhbMV0gPT09ICJOYU4iLiBBY3R1YWw6ICcgKyAoeFsxXSkpOwp9ICAgIAoKLy9DSEVDSyM0CmlmICh4WzJdICE9PSB1bmRlZmluZWQpIHsKICAgJEVSUk9SKCcjNDogeCA9IFtdOyB4WzBdID0gdHJ1ZTsgeFsyXSA9IEluZmluaXR5OyB4WzRdID0gdW5kZWZpbmVkOyB4WzVdID0gdW5kZWZpbmVkOyB4WzhdID0gIk5hTiI7IHhbOV0gPSAiLTEiOyB4LnJldmVyc2UoKTsgeFsyXSA9PT0gdW5kZWZpbmVkLiBBY3R1YWw6ICcgKyAoeFsyXSkpOwp9CgovL0NIRUNLIzUKaWYgKHhbM10gIT09IHVuZGVmaW5lZCkgewogICAkRVJST1IoJyM1OiB4ID0gW107IHhbMF0gPSB0cnVlOyB4WzJdID0gSW5maW5pdHk7IHhbNF0gPSB1bmRlZmluZWQ7IHhbNV0gPSB1bmRlZmluZWQ7IHhbOF0gPSAiTmFOIjsgeFs5XSA9ICItMSI7IHgucmV2ZXJzZSgpOyB4WzNdID09PSB1bmRlZmluZWQuIEFjdHVhbDogJyArICh4WzNdKSk7Cn0gICAgCgovL0NIRUNLIzYKaWYgKHhbNF0gIT09IHVuZGVmaW5lZCkgewogICAkRVJST1IoJyM2OiB4ID0gW107IHhbMF0gPSB0cnVlOyB4WzJdID0gSW5maW5pdHk7IHhbNF0gPSB1bmRlZmluZWQ7IHhbNV0gPSB1bmRlZmluZWQ7IHhbOF0gPSAiTmFOIjsgeFs5XSA9ICItMSI7IHgucmV2ZXJzZSgpOyB4WzRdID09PSB1bmRlZmluZWQuIEFjdHVhbDogJyArICh4WzRdKSk7Cn0KCi8vQ0hFQ0sjNwppZiAoeFs1XSAhPT0gdW5kZWZpbmVkKSB7CiAgICRFUlJPUignIzc6IHggPSBbXTsgeFswXSA9IHRydWU7IHhbMl0gPSBJbmZpbml0eTsgeFs0XSA9IHVuZGVmaW5lZDsgeFs1XSA9IHVuZGVmaW5lZDsgeFs4XSA9ICJOYU4iOyB4WzldID0gIi0xIjsgeC5yZXZlcnNlKCk7IHhbNV0gPT09IHVuZGVmaW5lZC4gQWN0dWFsOiAnICsgKHhbNV0pKTsKfQoKLy9DSEVDSyM4CmlmICh4WzZdICE9PSB1bmRlZmluZWQpIHsKICAgJEVSUk9SKCcjODogeCA9IFtdOyB4WzBdID0gdHJ1ZTsgeFsyXSA9IEluZmluaXR5OyB4WzRdID0gdW5kZWZpbmVkOyB4WzVdID0gdW5kZWZpbmVkOyB4WzhdID0gIk5hTiI7IHhbOV0gPSAiLTEiOyB4LnJldmVyc2UoKTsgeFs2XSA9PT0gdW5kZWZpbmVkLiBBY3R1YWw6ICcgKyAoeFs2XSkpOwp9ICAgICAgCgovL0NIRUNLIzkKaWYgKHhbN10gIT09IEluZmluaXR5KSB7CiAgICRFUlJPUignIzk6IHggPSBbXTsgeFswXSA9IHRydWU7IHhbMl0gPSBJbmZpbml0eTsgeFs0XSA9IHVuZGVmaW5lZDsgeFs1XSA9IHVuZGVmaW5lZDsgeFs4XSA9ICJOYU4iOyB4WzldID0gIi0xIjsgeC5yZXZlcnNlKCk7IHhbN10gPT09IEluZmluaXR5LiBBY3R1YWw6ICcgKyAoeFs3XSkpOwp9CgovL0NIRUNLIzEwCmlmICh4WzhdICE9PSB1bmRlZmluZWQpIHsKICAgJEVSUk9SKCcjMTA6IHggPSBbXTsgeFswXSA9IHRydWU7IHhbMl0gPSBJbmZpbml0eTsgeFs0XSA9IHVuZGVmaW5lZDsgeFs1XSA9IHVuZGVmaW5lZDsgeFs4XSA9ICJOYU4iOyB4WzldID0gIi0xIjsgeC5yZXZlcnNlKCk7IHhbOF0gPT09IHVuZGVmaW5lZC4gQWN0dWFsOiAnICsgKHhbOF0pKTsKfQoKLy9DSEVDSyMxMQppZiAoeFs5XSAhPT0gdHJ1ZSkgewogICAkRVJST1IoJyMxMTogeCA9IFtdOyB4WzBdID0gdHJ1ZTsgeFsyXSA9IEluZmluaXR5OyB4WzRdID0gdW5kZWZpbmVkOyB4WzVdID0gdW5kZWZpbmVkOyB4WzhdID0gIk5hTiI7IHhbOV0gPSAiLTEiOyB4LnJldmVyc2UoKTsgeFs5XSA9PT0gdHJ1ZS4gQWN0dWFsOiAnICsgKHhbOV0pKTsKfSAgIAoKeC5sZW5ndGggPSA5OwoKdmFyIHJldmVyc2UgPSB4LnJldmVyc2UoKTsKaWYgKHJldmVyc2UgIT09IHgpIHsKICAkRVJST1IoJyMxOiB4ID0gW107IHhbMF0gPSB0cnVlOyB4WzJdID0gSW5maW5pdHk7IHhbNF0gPSB1bmRlZmluZWQ7IHhbNV0gPSB1bmRlZmluZWQ7IHhbOF0gPSAiTmFOIjsgeFs5XSA9ICItMSI7IHgucmV2ZXJzZSgpOyB4Lmxlbmd0aCA9IDk7IHgucmV2ZXJzZSgpID09PSB4LiBBY3R1YWw6ICcgKyAocmV2ZXJzZSkpOwp9CgovL0NIRUNLIzEyCmlmICh4WzBdICE9PSB1bmRlZmluZWQpIHsKICAgJEVSUk9SKCcjMTI6IHggPSBbXTsgeFswXSA9IHRydWU7IHhbMl0gPSBJbmZpbml0eTsgeFs0XSA9IHVuZGVmaW5lZDsgeFs1XSA9IHVuZGVmaW5lZDsgeFs4XSA9ICJOYU4iOyB4WzldID0gIi0xIjsgeC5yZXZlcnNlKCk7IHgubGVuZ3RoID0gOTsgeC5yZXZlcnNlKCk7IHhbMF0gPT09IHVuZGVmaW5lZC4gQWN0dWFsOiAnICsgKHhbMF0pKTsKfQoKLy9DSEVDSyMxMwppZiAoeFsxXSAhPT0gSW5maW5pdHkpIHsKICAgJEVSUk9SKCcjMTM6IHggPSBbXTsgeFswXSA9IHRydWU7IHhbMl0gPSBJbmZpbml0eTsgeFs0XSA9IHVuZGVmaW5lZDsgeFs1XSA9IHVuZGVmaW5lZDsgeFs4XSA9ICJOYU4iOyB4WzldID0gIi0xIjsgeC5yZXZlcnNlKCk7IHgubGVuZ3RoID0gOTsgeC5yZXZlcnNlKCk7IHhbMV0gPT09IEluZmluaXR5LiBBY3R1YWw6ICcgKyAoeFsxXSkpOwp9ICAgIAoKLy9DSEVDSyMxNAppZiAoeFsyXSAhPT0gdW5kZWZpbmVkKSB7CiAgICRFUlJPUignIzE0OiB4ID0gW107IHhbMF0gPSB0cnVlOyB4WzJdID0gSW5maW5pdHk7IHhbNF0gPSB1bmRlZmluZWQ7IHhbNV0gPSB1bmRlZmluZWQ7IHhbOF0gPSAiTmFOIjsgeFs5XSA9ICItMSI7IHgucmV2ZXJzZSgpOyB4Lmxlbmd0aCA9IDk7IHgucmV2ZXJzZSgpOyB4WzJdID09PSB1bmRlZmluZWQuIEFjdHVhbDogJyArICh4WzJdKSk7Cn0KCi8vQ0hFQ0sjMTUKaWYgKHhbM10gIT09IHVuZGVmaW5lZCkgewogICAkRVJST1IoJyMxNTogeCA9IFtdOyB4WzBdID0gdHJ1ZTsgeFsyXSA9IEluZmluaXR5OyB4WzRdID0gdW5kZWZpbmVkOyB4WzVdID0gdW5kZWZpbmVkOyB4WzhdID0gIk5hTiI7IHhbOV0gPSAiLTEiOyB4LnJldmVyc2UoKTsgeC5sZW5ndGggPSA5OyB4LnJldmVyc2UoKTsgeFszXSA9PT0gdW5kZWZpbmVkLiBBY3R1YWw6ICcgKyAoeFszXSkpOwp9ICAgIAoKLy9DSEVDSyMxNgppZiAoeFs0XSAhPT0gdW5kZWZpbmVkKSB7CiAgICRFUlJPUignIzE2OiB4ID0gW107IHhbMF0gPSB0cnVlOyB4WzJdID0gSW5maW5pdHk7IHhbNF0gPSB1bmRlZmluZWQ7IHhbNV0gPSB1bmRlZmluZWQ7IHhbOF0gPSAiTmFOIjsgeFs5XSA9ICItMSI7IHgucmV2ZXJzZSgpOyB4Lmxlbmd0aCA9IDk7IHgucmV2ZXJzZSgpOyB4WzRdID09PSB1bmRlZmluZWQuIEFjdHVhbDogJyArICh4WzRdKSk7Cn0KCi8vQ0hFQ0sjMTcKaWYgKHhbNV0gIT09IHVuZGVmaW5lZCkgewogICAkRVJST1IoJyMxNzogeCA9IFtdOyB4WzBdID0gdHJ1ZTsgeFsyXSA9IEluZmluaXR5OyB4WzRdID0gdW5kZWZpbmVkOyB4WzVdID0gdW5kZWZpbmVkOyB4WzhdID0gIk5hTiI7IHhbOV0gPSAiLTEiOyB4LnJldmVyc2UoKTsgeC5sZW5ndGggPSA5OyB4LnJldmVyc2UoKTsgeFs1XSA9PT0gdW5kZWZpbmVkLiBBY3R1YWw6ICcgKyAoeFs1XSkpOwp9CgovL0NIRUNLIzE4CmlmICh4WzZdICE9PSB1bmRlZmluZWQpIHsKICAgJEVSUk9SKCcjMTg6IHggPSBbXTsgeFswXSA9IHRydWU7IHhbMl0gPSBJbmZpbml0eTsgeFs0XSA9IHVuZGVmaW5lZDsgeFs1XSA9IHVuZGVmaW5lZDsgeFs4XSA9ICJOYU4iOyB4WzldID0gIi0xIjsgeC5yZXZlcnNlKCk7IHgubGVuZ3RoID0gOTsgeC5yZXZlcnNlKCk7IHhbNl0gPT09IHVuZGVmaW5lZC4gQWN0dWFsOiAnICsgKHhbNl0pKTsKfSAgICAgIAoKLy9DSEVDSyMxOQppZiAoeFs3XSAhPT0gIk5hTiIpIHsKICAgJEVSUk9SKCcjMTk6IHggPSBbXTsgeFswXSA9IHRydWU7IHhbMl0gPSBJbmZpbml0eTsgeFs0XSA9IHVuZGVmaW5lZDsgeFs1XSA9IHVuZGVmaW5lZDsgeFs4XSA9ICJOYU4iOyB4WzldID0gIi0xIjsgeC5yZXZlcnNlKCk7IHgubGVuZ3RoID0gOTsgeC5yZXZlcnNlKCk7IHhbN10gPT09ICJOYU4iLiBBY3R1YWw6ICcgKyAoeFs3XSkpOwp9CgovL0NIRUNLIzIwCmlmICh4WzhdICE9PSAiLTEiKSB7CiAgICRFUlJPUignIzIwOiB4ID0gW107IHhbMF0gPSB0cnVlOyB4WzJdID0gSW5maW5pdHk7IHhbNF0gPSB1bmRlZmluZWQ7IHhbNV0gPSB1bmRlZmluZWQ7IHhbOF0gPSAiTmFOIjsgeFs5XSA9ICItMSI7IHgucmV2ZXJzZSgpOyB4Lmxlbmd0aCA9IDk7IHgucmV2ZXJzZSgpOyB4WzhdID09PSAiLTEiLiBBY3R1YWw6ICcgKyAoeFs4XSkpOwp9CiAgICAKCg==","commentary":"The elements of the array are rearranged so as to reverse their order.\nThe object is returned as the result of the call","description":"Checking this algorithm, elements are objects and primitives","path":"TestCases/ch15/15.4/15.4.4/15.4.4.8/S15.4.4.8_A1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcmV2ZXJzZSBmdW5jdGlvbiBpcyBpbnRlbnRpb25hbGx5IGdlbmVyaWMuCiAqIEl0IGRvZXMgbm90IHJlcXVpcmUgdGhhdCBpdHMgdGhpcyB2YWx1ZSBiZSBhbiBBcnJheSBvYmplY3QKICoKICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuOC9TMTUuNC40LjhfQTJfVDEuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIHRoaXMgZm9yIE9iamVjdCBvYmplY3QsIGVsZW1lbnRzIGFyZSBvYmplY3RzIGFuZCBwcmltaXRpdmVzLCBsZW5ndGggaXMgaW50ZWdlcgogKi8KCi8vQ0hFQ0sjMQp2YXIgb2JqID0ge307Cm9iai5sZW5ndGggPSAxMDsKb2JqLnJldmVyc2UgPSBBcnJheS5wcm90b3R5cGUucmV2ZXJzZTsKCm9ialswXSA9IHRydWU7Cm9ialsyXSA9IEluZmluaXR5OwpvYmpbNF0gPSB1bmRlZmluZWQ7Cm9ials1XSA9IHVuZGVmaW5lZDsKb2JqWzhdID0gIk5hTiI7Cm9ials5XSA9ICItMSI7Cgp2YXIgcmV2ZXJzZSA9IG9iai5yZXZlcnNlKCk7CmlmIChyZXZlcnNlICE9PSBvYmopIHsKICAkRVJST1IoJyMxOiB2YXIgb2JqID0ge307IG9iai5yZXZlcnNlID0gQXJyYXkucHJvdG90eXBlLnJldmVyc2U7IG9iai5sZW5ndGggPSAxMDsgb2JqWzBdID0gdHJ1ZTsgb2JqWzJdID0gSW5maW5pdHk7IG9ials0XSA9IHVuZGVmaW5lZDsgb2JqWzVdID0gdW5kZWZpbmVkOyBvYmpbOF0gPSAiTmFOIjsgb2JqWzldID0gIi0xIjsgb2JqLnJldmVyc2UoKSA9PT0gb2JqLiBBY3R1YWw6ICcgKyAocmV2ZXJzZSkpOwp9CgovL0NIRUNLIzIKaWYgKG9ialswXSAhPT0gIi0xIikgewogICAkRVJST1IoJyMyOiB2YXIgb2JqID0ge307IG9iai5yZXZlcnNlID0gQXJyYXkucHJvdG90eXBlLnJldmVyc2U7IG9iai5sZW5ndGggPSAxMDsgb2JqWzBdID0gdHJ1ZTsgb2JqWzJdID0gSW5maW5pdHk7IG9ials0XSA9IHVuZGVmaW5lZDsgb2JqWzVdID0gdW5kZWZpbmVkOyBvYmpbOF0gPSAiTmFOIjsgb2JqWzldID0gIi0xIjsgb2JqLnJldmVyc2UoKTsgb2JqWzBdID09PSAiLTEiLiBBY3R1YWw6ICcgKyAob2JqWzBdKSk7Cn0KCi8vQ0hFQ0sjMwppZiAob2JqWzFdICE9PSAiTmFOIikgewogICAkRVJST1IoJyMzOiB2YXIgb2JqID0ge307IG9iai5yZXZlcnNlID0gQXJyYXkucHJvdG90eXBlLnJldmVyc2U7IG9iai5sZW5ndGggPSAxMDsgb2JqWzBdID0gdHJ1ZTsgb2JqWzJdID0gSW5maW5pdHk7IG9ials0XSA9IHVuZGVmaW5lZDsgb2JqWzVdID0gdW5kZWZpbmVkOyBvYmpbOF0gPSAiTmFOIjsgb2JqWzldID0gIi0xIjsgb2JqLnJldmVyc2UoKTsgb2JqWzFdID09PSAiTmFOIi4gQWN0dWFsOiAnICsgKG9ialsxXSkpOwp9ICAgIAoKLy9DSEVDSyM0CmlmIChvYmpbMl0gIT09IHVuZGVmaW5lZCkgewogICAkRVJST1IoJyM0OiB2YXIgb2JqID0ge307IG9iai5yZXZlcnNlID0gQXJyYXkucHJvdG90eXBlLnJldmVyc2U7IG9iai5sZW5ndGggPSAxMDsgb2JqWzBdID0gdHJ1ZTsgb2JqWzJdID0gSW5maW5pdHk7IG9ials0XSA9IHVuZGVmaW5lZDsgb2JqWzVdID0gdW5kZWZpbmVkOyBvYmpbOF0gPSAiTmFOIjsgb2JqWzldID0gIi0xIjsgb2JqLnJldmVyc2UoKTsgb2JqWzJdID09PSB1bmRlZmluZWQuIEFjdHVhbDogJyArIChvYmpbMl0pKTsKfQoKLy9DSEVDSyM1CmlmIChvYmpbM10gIT09IHVuZGVmaW5lZCkgewogICAkRVJST1IoJyM1OiB2YXIgb2JqID0ge307IG9iai5yZXZlcnNlID0gQXJyYXkucHJvdG90eXBlLnJldmVyc2U7IG9iai5sZW5ndGggPSAxMDsgb2JqWzBdID0gdHJ1ZTsgb2JqWzJdID0gSW5maW5pdHk7IG9ials0XSA9IHVuZGVmaW5lZDsgb2JqWzVdID0gdW5kZWZpbmVkOyBvYmpbOF0gPSAiTmFOIjsgb2JqWzldID0gIi0xIjsgb2JqLnJldmVyc2UoKTsgb2JqWzNdID09PSB1bmRlZmluZWQuIEFjdHVhbDogJyArIChvYmpbM10pKTsKfSAgICAKCi8vQ0hFQ0sjNgppZiAob2JqWzRdICE9PSB1bmRlZmluZWQpIHsKICAgJEVSUk9SKCcjNjogdmFyIG9iaiA9IHt9OyBvYmoucmV2ZXJzZSA9IEFycmF5LnByb3RvdHlwZS5yZXZlcnNlOyBvYmoubGVuZ3RoID0gMTA7IG9ialswXSA9IHRydWU7IG9ialsyXSA9IEluZmluaXR5OyBvYmpbNF0gPSB1bmRlZmluZWQ7IG9ials1XSA9IHVuZGVmaW5lZDsgb2JqWzhdID0gIk5hTiI7IG9ials5XSA9ICItMSI7IG9iai5yZXZlcnNlKCk7IG9ials0XSA9PT0gdW5kZWZpbmVkLiBBY3R1YWw6ICcgKyAob2JqWzRdKSk7Cn0KCi8vQ0hFQ0sjNwppZiAob2JqWzVdICE9PSB1bmRlZmluZWQpIHsKICAgJEVSUk9SKCcjNzogdmFyIG9iaiA9IHt9OyBvYmoucmV2ZXJzZSA9IEFycmF5LnByb3RvdHlwZS5yZXZlcnNlOyBvYmoubGVuZ3RoID0gMTA7IG9ialswXSA9IHRydWU7IG9ialsyXSA9IEluZmluaXR5OyBvYmpbNF0gPSB1bmRlZmluZWQ7IG9ials1XSA9IHVuZGVmaW5lZDsgb2JqWzhdID0gIk5hTiI7IG9ials5XSA9ICItMSI7IG9iai5yZXZlcnNlKCk7IG9ials1XSA9PT0gdW5kZWZpbmVkLiBBY3R1YWw6ICcgKyAob2JqWzVdKSk7Cn0KCi8vQ0hFQ0sjOAppZiAob2JqWzZdICE9PSB1bmRlZmluZWQpIHsKICAgJEVSUk9SKCcjODogdmFyIG9iaiA9IHt9OyBvYmoucmV2ZXJzZSA9IEFycmF5LnByb3RvdHlwZS5yZXZlcnNlOyBvYmoubGVuZ3RoID0gMTA7IG9ialswXSA9IHRydWU7IG9ialsyXSA9IEluZmluaXR5OyBvYmpbNF0gPSB1bmRlZmluZWQ7IG9ials1XSA9IHVuZGVmaW5lZDsgb2JqWzhdID0gIk5hTiI7IG9ials5XSA9ICItMSI7IG9iai5yZXZlcnNlKCk7IG9ials2XSA9PT0gdW5kZWZpbmVkLiBBY3R1YWw6ICcgKyAob2JqWzZdKSk7Cn0gICAgICAKCi8vQ0hFQ0sjOQppZiAob2JqWzddICE9PSBJbmZpbml0eSkgewogICAkRVJST1IoJyM5OiB2YXIgb2JqID0ge307IG9iai5yZXZlcnNlID0gQXJyYXkucHJvdG90eXBlLnJldmVyc2U7IG9iai5sZW5ndGggPSAxMDsgb2JqWzBdID0gdHJ1ZTsgb2JqWzJdID0gSW5maW5pdHk7IG9ials0XSA9IHVuZGVmaW5lZDsgb2JqWzVdID0gdW5kZWZpbmVkOyBvYmpbOF0gPSAiTmFOIjsgb2JqWzldID0gIi0xIjsgb2JqLnJldmVyc2UoKTsgb2JqWzddID09PSBJbmZpbml0eS4gQWN0dWFsOiAnICsgKG9ials3XSkpOwp9CgovL0NIRUNLIzEwCmlmIChvYmpbOF0gIT09IHVuZGVmaW5lZCkgewogICAkRVJST1IoJyMxMDogdmFyIG9iaiA9IHt9OyBvYmoucmV2ZXJzZSA9IEFycmF5LnByb3RvdHlwZS5yZXZlcnNlOyBvYmoubGVuZ3RoID0gMTA7IG9ialswXSA9IHRydWU7IG9ialsyXSA9IEluZmluaXR5OyBvYmpbNF0gPSB1bmRlZmluZWQ7IG9ials1XSA9IHVuZGVmaW5lZDsgb2JqWzhdID0gIk5hTiI7IG9ials5XSA9ICItMSI7IG9iai5yZXZlcnNlKCk7IG9ials4XSA9PT0gdW5kZWZpbmVkLiBBY3R1YWw6ICcgKyAob2JqWzhdKSk7Cn0KCi8vQ0hFQ0sjMTEKaWYgKG9ials5XSAhPT0gdHJ1ZSkgewogICAkRVJST1IoJyMxMTogdmFyIG9iaiA9IHt9OyBvYmoucmV2ZXJzZSA9IEFycmF5LnByb3RvdHlwZS5yZXZlcnNlOyBvYmoubGVuZ3RoID0gMTA7IG9ialswXSA9IHRydWU7IG9ialsyXSA9IEluZmluaXR5OyBvYmpbNF0gPSB1bmRlZmluZWQ7IG9ials1XSA9IHVuZGVmaW5lZDsgb2JqWzhdID0gIk5hTiI7IG9ials5XSA9ICItMSI7IG9iai5yZXZlcnNlKCk7IG9ials5XSA9PT0gdHJ1ZS4gQWN0dWFsOiAnICsgKG9ials5XSkpOwp9ICAgCgpvYmoubGVuZ3RoID0gOTsKCnZhciByZXZlcnNlID0gb2JqLnJldmVyc2UoKTsKaWYgKHJldmVyc2UgIT09IG9iaikgewogICRFUlJPUignIzE6IHZhciBvYmogPSB7fTsgb2JqLnJldmVyc2UgPSBBcnJheS5wcm90b3R5cGUucmV2ZXJzZTsgb2JqLmxlbmd0aCA9IDEwOyBvYmpbMF0gPSB0cnVlOyBvYmpbMl0gPSBJbmZpbml0eTsgb2JqWzRdID0gdW5kZWZpbmVkOyBvYmpbNV0gPSB1bmRlZmluZWQ7IG9ials4XSA9ICJOYU4iOyBvYmpbOV0gPSAiLTEiOyBvYmoucmV2ZXJzZSgpOyBvYmoubGVuZ3RoID0gOTsgb2JqLnJldmVyc2UoKSA9PT0gb2JqLiBBY3R1YWw6ICcgKyAocmV2ZXJzZSkpOwp9CgovL0NIRUNLIzEyCmlmIChvYmpbMF0gIT09IHVuZGVmaW5lZCkgewogICAkRVJST1IoJyMxMjogdmFyIG9iaiA9IHt9OyBvYmoucmV2ZXJzZSA9IEFycmF5LnByb3RvdHlwZS5yZXZlcnNlOyBvYmoubGVuZ3RoID0gMTA7IG9ialswXSA9IHRydWU7IG9ialsyXSA9IEluZmluaXR5OyBvYmpbNF0gPSB1bmRlZmluZWQ7IG9ials1XSA9IHVuZGVmaW5lZDsgb2JqWzhdID0gIk5hTiI7IG9ials5XSA9ICItMSI7IG9iai5yZXZlcnNlKCk7IG9iai5sZW5ndGggPSA5OyBvYmoucmV2ZXJzZSgpOyBvYmpbMF0gPT09IHVuZGVmaW5lZC4gQWN0dWFsOiAnICsgKG9ialswXSkpOwp9CgovL0NIRUNLIzEzCmlmIChvYmpbMV0gIT09IEluZmluaXR5KSB7CiAgICRFUlJPUignIzEzOiB2YXIgb2JqID0ge307IG9iai5yZXZlcnNlID0gQXJyYXkucHJvdG90eXBlLnJldmVyc2U7IG9iai5sZW5ndGggPSAxMDsgb2JqWzBdID0gdHJ1ZTsgb2JqWzJdID0gSW5maW5pdHk7IG9ials0XSA9IHVuZGVmaW5lZDsgb2JqWzVdID0gdW5kZWZpbmVkOyBvYmpbOF0gPSAiTmFOIjsgb2JqWzldID0gIi0xIjsgb2JqLnJldmVyc2UoKTsgb2JqLmxlbmd0aCA9IDk7IG9iai5yZXZlcnNlKCk7IG9ialsxXSA9PT0gSW5maW5pdHkuIEFjdHVhbDogJyArIChvYmpbMV0pKTsKfSAgICAKCi8vQ0hFQ0sjMTQKaWYgKG9ialsyXSAhPT0gdW5kZWZpbmVkKSB7CiAgICRFUlJPUignIzE0OiB2YXIgb2JqID0ge307IG9iai5yZXZlcnNlID0gQXJyYXkucHJvdG90eXBlLnJldmVyc2U7IG9iai5sZW5ndGggPSAxMDsgb2JqWzBdID0gdHJ1ZTsgb2JqWzJdID0gSW5maW5pdHk7IG9ials0XSA9IHVuZGVmaW5lZDsgb2JqWzVdID0gdW5kZWZpbmVkOyBvYmpbOF0gPSAiTmFOIjsgb2JqWzldID0gIi0xIjsgb2JqLnJldmVyc2UoKTsgb2JqLmxlbmd0aCA9IDk7IG9iai5yZXZlcnNlKCk7IG9ialsyXSA9PT0gdW5kZWZpbmVkLiBBY3R1YWw6ICcgKyAob2JqWzJdKSk7Cn0KCi8vQ0hFQ0sjMTUKaWYgKG9ialszXSAhPT0gdW5kZWZpbmVkKSB7CiAgICRFUlJPUignIzE1OiB2YXIgb2JqID0ge307IG9iai5yZXZlcnNlID0gQXJyYXkucHJvdG90eXBlLnJldmVyc2U7IG9iai5sZW5ndGggPSAxMDsgb2JqWzBdID0gdHJ1ZTsgb2JqWzJdID0gSW5maW5pdHk7IG9ials0XSA9IHVuZGVmaW5lZDsgb2JqWzVdID0gdW5kZWZpbmVkOyBvYmpbOF0gPSAiTmFOIjsgb2JqWzldID0gIi0xIjsgb2JqLnJldmVyc2UoKTsgb2JqLmxlbmd0aCA9IDk7IG9iai5yZXZlcnNlKCk7IG9ialszXSA9PT0gdW5kZWZpbmVkLiBBY3R1YWw6ICcgKyAob2JqWzNdKSk7Cn0gICAgCgovL0NIRUNLIzE2CmlmIChvYmpbNF0gIT09IHVuZGVmaW5lZCkgewogICAkRVJST1IoJyMxNjogdmFyIG9iaiA9IHt9OyBvYmoucmV2ZXJzZSA9IEFycmF5LnByb3RvdHlwZS5yZXZlcnNlOyBvYmoubGVuZ3RoID0gMTA7IG9ialswXSA9IHRydWU7IG9ialsyXSA9IEluZmluaXR5OyBvYmpbNF0gPSB1bmRlZmluZWQ7IG9ials1XSA9IHVuZGVmaW5lZDsgb2JqWzhdID0gIk5hTiI7IG9ials5XSA9ICItMSI7IG9iai5yZXZlcnNlKCk7IG9iai5sZW5ndGggPSA5OyBvYmoucmV2ZXJzZSgpOyBvYmpbNF0gPT09IHVuZGVmaW5lZC4gQWN0dWFsOiAnICsgKG9ials0XSkpOwp9CgovL0NIRUNLIzE3CmlmIChvYmpbNV0gIT09IHVuZGVmaW5lZCkgewogICAkRVJST1IoJyMxNzogdmFyIG9iaiA9IHt9OyBvYmoucmV2ZXJzZSA9IEFycmF5LnByb3RvdHlwZS5yZXZlcnNlOyBvYmoubGVuZ3RoID0gMTA7IG9ialswXSA9IHRydWU7IG9ialsyXSA9IEluZmluaXR5OyBvYmpbNF0gPSB1bmRlZmluZWQ7IG9ials1XSA9IHVuZGVmaW5lZDsgb2JqWzhdID0gIk5hTiI7IG9ials5XSA9ICItMSI7IG9iai5yZXZlcnNlKCk7IG9iai5sZW5ndGggPSA5OyBvYmoucmV2ZXJzZSgpOyBvYmpbNV0gPT09IHVuZGVmaW5lZC4gQWN0dWFsOiAnICsgKG9ials1XSkpOwp9CgovL0NIRUNLIzE4CmlmIChvYmpbNl0gIT09IHVuZGVmaW5lZCkgewogICAkRVJST1IoJyMxODogdmFyIG9iaiA9IHt9OyBvYmoucmV2ZXJzZSA9IEFycmF5LnByb3RvdHlwZS5yZXZlcnNlOyBvYmoubGVuZ3RoID0gMTA7IG9ialswXSA9IHRydWU7IG9ialsyXSA9IEluZmluaXR5OyBvYmpbNF0gPSB1bmRlZmluZWQ7IG9ials1XSA9IHVuZGVmaW5lZDsgb2JqWzhdID0gIk5hTiI7IG9ials5XSA9ICItMSI7IG9iai5yZXZlcnNlKCk7IG9iai5sZW5ndGggPSA5OyBvYmoucmV2ZXJzZSgpOyBvYmpbNl0gPT09IHVuZGVmaW5lZC4gQWN0dWFsOiAnICsgKG9ials2XSkpOwp9ICAgICAgCgovL0NIRUNLIzE5CmlmIChvYmpbN10gIT09ICJOYU4iKSB7CiAgICRFUlJPUignIzE5OiB2YXIgb2JqID0ge307IG9iai5yZXZlcnNlID0gQXJyYXkucHJvdG90eXBlLnJldmVyc2U7IG9iai5sZW5ndGggPSAxMDsgb2JqWzBdID0gdHJ1ZTsgb2JqWzJdID0gSW5maW5pdHk7IG9ials0XSA9IHVuZGVmaW5lZDsgb2JqWzVdID0gdW5kZWZpbmVkOyBvYmpbOF0gPSAiTmFOIjsgb2JqWzldID0gIi0xIjsgb2JqLnJldmVyc2UoKTsgb2JqLmxlbmd0aCA9IDk7IG9iai5yZXZlcnNlKCk7IG9ials3XSA9PT0gIk5hTiIuIEFjdHVhbDogJyArIChvYmpbN10pKTsKfQoKLy9DSEVDSyMyMAppZiAob2JqWzhdICE9PSAiLTEiKSB7CiAgICRFUlJPUignIzIwOiB2YXIgb2JqID0ge307IG9iai5yZXZlcnNlID0gQXJyYXkucHJvdG90eXBlLnJldmVyc2U7IG9iai5sZW5ndGggPSAxMDsgb2JqWzBdID0gdHJ1ZTsgb2JqWzJdID0gSW5maW5pdHk7IG9ials0XSA9IHVuZGVmaW5lZDsgb2JqWzVdID0gdW5kZWZpbmVkOyBvYmpbOF0gPSAiTmFOIjsgb2JqWzldID0gIi0xIjsgb2JqLnJldmVyc2UoKTsgb2JqLmxlbmd0aCA9IDk7IG9iai5yZXZlcnNlKCk7IG9ials4XSA9PT0gIi0xIi4gQWN0dWFsOiAnICsgKG9ials4XSkpOwp9Cgo=","commentary":"The reverse function is intentionally generic.\nIt does not require that its this value be an Array object","description":"Checking this for Object object, elements are objects and primitives, length is integer","path":"TestCases/ch15/15.4/15.4.4/15.4.4.8/S15.4.4.8_A2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcmV2ZXJzZSBmdW5jdGlvbiBpcyBpbnRlbnRpb25hbGx5IGdlbmVyaWMuCiAqIEl0IGRvZXMgbm90IHJlcXVpcmUgdGhhdCBpdHMgdGhpcyB2YWx1ZSBiZSBhbiBBcnJheSBvYmplY3QKICoKICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuOC9TMTUuNC40LjhfQTJfVDIuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIHRoaXMgZm9yIE9iamVjdCBvYmplY3QsIGVsZW1lbnRzIGFyZSBvYmplY3RzIGFuZCBwcmltaXRpdmVzLCBsZW5ndGggaXMgbm90IGludGVnZXIKICovCgovL0NIRUNLIzEKdmFyIG9iaiA9IHt9OwpvYmoubGVuZ3RoID0gMTAuNTsKb2JqLnJldmVyc2UgPSBBcnJheS5wcm90b3R5cGUucmV2ZXJzZTsKCm9ialswXSA9IHRydWU7Cm9ialsyXSA9IEluZmluaXR5OwpvYmpbNF0gPSB1bmRlZmluZWQ7Cm9ials1XSA9IHVuZGVmaW5lZDsKb2JqWzhdID0gIk5hTiI7Cm9ials5XSA9ICItMSI7Cgp2YXIgcmV2ZXJzZSA9IG9iai5yZXZlcnNlKCk7CmlmIChyZXZlcnNlICE9PSBvYmopIHsKICAkRVJST1IoJyMxOiB2YXIgb2JqID0ge307IG9iai5yZXZlcnNlID0gQXJyYXkucHJvdG90eXBlLnJldmVyc2U7IG9iai5sZW5ndGggPSAxMC41OyBvYmpbMF0gPSB0cnVlOyBvYmpbMl0gPSBJbmZpbml0eTsgb2JqWzRdID0gdW5kZWZpbmVkOyBvYmpbNV0gPSB1bmRlZmluZWQ7IG9ials4XSA9ICJOYU4iOyBvYmpbOV0gPSAiLTEiOyBvYmoucmV2ZXJzZSgpID09PSBvYmouIEFjdHVhbDogJyArIChyZXZlcnNlKSk7Cn0KCi8vQ0hFQ0sjMgppZiAob2JqWzBdICE9PSAiLTEiKSB7CiAgICRFUlJPUignIzI6IHZhciBvYmogPSB7fTsgb2JqLnJldmVyc2UgPSBBcnJheS5wcm90b3R5cGUucmV2ZXJzZTsgb2JqLmxlbmd0aCA9IDEwLjU7IG9ialswXSA9IHRydWU7IG9ialsyXSA9IEluZmluaXR5OyBvYmpbNF0gPSB1bmRlZmluZWQ7IG9ials1XSA9IHVuZGVmaW5lZDsgb2JqWzhdID0gIk5hTiI7IG9ials5XSA9ICItMSI7IG9iai5yZXZlcnNlKCk7IG9ialswXSA9PT0gIi0xIi4gQWN0dWFsOiAnICsgKG9ialswXSkpOwp9CgovL0NIRUNLIzMKaWYgKG9ialsxXSAhPT0gIk5hTiIpIHsKICAgJEVSUk9SKCcjMzogdmFyIG9iaiA9IHt9OyBvYmoucmV2ZXJzZSA9IEFycmF5LnByb3RvdHlwZS5yZXZlcnNlOyBvYmoubGVuZ3RoID0gMTAuNTsgb2JqWzBdID0gdHJ1ZTsgb2JqWzJdID0gSW5maW5pdHk7IG9ials0XSA9IHVuZGVmaW5lZDsgb2JqWzVdID0gdW5kZWZpbmVkOyBvYmpbOF0gPSAiTmFOIjsgb2JqWzldID0gIi0xIjsgb2JqLnJldmVyc2UoKTsgb2JqWzFdID09PSAiTmFOIi4gQWN0dWFsOiAnICsgKG9ialsxXSkpOwp9ICAgIAoKLy9DSEVDSyM0CmlmIChvYmpbMl0gIT09IHVuZGVmaW5lZCkgewogICAkRVJST1IoJyM0OiB2YXIgb2JqID0ge307IG9iai5yZXZlcnNlID0gQXJyYXkucHJvdG90eXBlLnJldmVyc2U7IG9iai5sZW5ndGggPSAxMC41OyBvYmpbMF0gPSB0cnVlOyBvYmpbMl0gPSBJbmZpbml0eTsgb2JqWzRdID0gdW5kZWZpbmVkOyBvYmpbNV0gPSB1bmRlZmluZWQ7IG9ials4XSA9ICJOYU4iOyBvYmpbOV0gPSAiLTEiOyBvYmoucmV2ZXJzZSgpOyBvYmpbMl0gPT09IHVuZGVmaW5lZC4gQWN0dWFsOiAnICsgKG9ialsyXSkpOwp9CgovL0NIRUNLIzUKaWYgKG9ialszXSAhPT0gdW5kZWZpbmVkKSB7CiAgICRFUlJPUignIzU6IHZhciBvYmogPSB7fTsgb2JqLnJldmVyc2UgPSBBcnJheS5wcm90b3R5cGUucmV2ZXJzZTsgb2JqLmxlbmd0aCA9IDEwLjU7IG9ialswXSA9IHRydWU7IG9ialsyXSA9IEluZmluaXR5OyBvYmpbNF0gPSB1bmRlZmluZWQ7IG9ials1XSA9IHVuZGVmaW5lZDsgb2JqWzhdID0gIk5hTiI7IG9ials5XSA9ICItMSI7IG9iai5yZXZlcnNlKCk7IG9ialszXSA9PT0gdW5kZWZpbmVkLiBBY3R1YWw6ICcgKyAob2JqWzNdKSk7Cn0gICAgCgovL0NIRUNLIzYKaWYgKG9ials0XSAhPT0gdW5kZWZpbmVkKSB7CiAgICRFUlJPUignIzY6IHZhciBvYmogPSB7fTsgb2JqLnJldmVyc2UgPSBBcnJheS5wcm90b3R5cGUucmV2ZXJzZTsgb2JqLmxlbmd0aCA9IDEwLjU7IG9ialswXSA9IHRydWU7IG9ialsyXSA9IEluZmluaXR5OyBvYmpbNF0gPSB1bmRlZmluZWQ7IG9ials1XSA9IHVuZGVmaW5lZDsgb2JqWzhdID0gIk5hTiI7IG9ials5XSA9ICItMSI7IG9iai5yZXZlcnNlKCk7IG9ials0XSA9PT0gdW5kZWZpbmVkLiBBY3R1YWw6ICcgKyAob2JqWzRdKSk7Cn0KCi8vQ0hFQ0sjNwppZiAob2JqWzVdICE9PSB1bmRlZmluZWQpIHsKICAgJEVSUk9SKCcjNzogdmFyIG9iaiA9IHt9OyBvYmoucmV2ZXJzZSA9IEFycmF5LnByb3RvdHlwZS5yZXZlcnNlOyBvYmoubGVuZ3RoID0gMTAuNTsgb2JqWzBdID0gdHJ1ZTsgb2JqWzJdID0gSW5maW5pdHk7IG9ials0XSA9IHVuZGVmaW5lZDsgb2JqWzVdID0gdW5kZWZpbmVkOyBvYmpbOF0gPSAiTmFOIjsgb2JqWzldID0gIi0xIjsgb2JqLnJldmVyc2UoKTsgb2JqWzVdID09PSB1bmRlZmluZWQuIEFjdHVhbDogJyArIChvYmpbNV0pKTsKfQoKLy9DSEVDSyM4CmlmIChvYmpbNl0gIT09IHVuZGVmaW5lZCkgewogICAkRVJST1IoJyM4OiB2YXIgb2JqID0ge307IG9iai5yZXZlcnNlID0gQXJyYXkucHJvdG90eXBlLnJldmVyc2U7IG9iai5sZW5ndGggPSAxMC41OyBvYmpbMF0gPSB0cnVlOyBvYmpbMl0gPSBJbmZpbml0eTsgb2JqWzRdID0gdW5kZWZpbmVkOyBvYmpbNV0gPSB1bmRlZmluZWQ7IG9ials4XSA9ICJOYU4iOyBvYmpbOV0gPSAiLTEiOyBvYmoucmV2ZXJzZSgpOyBvYmpbNl0gPT09IHVuZGVmaW5lZC4gQWN0dWFsOiAnICsgKG9ials2XSkpOwp9ICAgICAgCgovL0NIRUNLIzkKaWYgKG9ials3XSAhPT0gSW5maW5pdHkpIHsKICAgJEVSUk9SKCcjOTogdmFyIG9iaiA9IHt9OyBvYmoucmV2ZXJzZSA9IEFycmF5LnByb3RvdHlwZS5yZXZlcnNlOyBvYmoubGVuZ3RoID0gMTAuNTsgb2JqWzBdID0gdHJ1ZTsgb2JqWzJdID0gSW5maW5pdHk7IG9ials0XSA9IHVuZGVmaW5lZDsgb2JqWzVdID0gdW5kZWZpbmVkOyBvYmpbOF0gPSAiTmFOIjsgb2JqWzldID0gIi0xIjsgb2JqLnJldmVyc2UoKTsgb2JqWzddID09PSBJbmZpbml0eS4gQWN0dWFsOiAnICsgKG9ials3XSkpOwp9CgovL0NIRUNLIzEwCmlmIChvYmpbOF0gIT09IHVuZGVmaW5lZCkgewogICAkRVJST1IoJyMxMDogdmFyIG9iaiA9IHt9OyBvYmoucmV2ZXJzZSA9IEFycmF5LnByb3RvdHlwZS5yZXZlcnNlOyBvYmoubGVuZ3RoID0gMTAuNTsgb2JqWzBdID0gdHJ1ZTsgb2JqWzJdID0gSW5maW5pdHk7IG9ials0XSA9IHVuZGVmaW5lZDsgb2JqWzVdID0gdW5kZWZpbmVkOyBvYmpbOF0gPSAiTmFOIjsgb2JqWzldID0gIi0xIjsgb2JqLnJldmVyc2UoKTsgb2JqWzhdID09PSB1bmRlZmluZWQuIEFjdHVhbDogJyArIChvYmpbOF0pKTsKfQoKLy9DSEVDSyMxMQppZiAob2JqWzldICE9PSB0cnVlKSB7CiAgICRFUlJPUignIzExOiB2YXIgb2JqID0ge307IG9iai5yZXZlcnNlID0gQXJyYXkucHJvdG90eXBlLnJldmVyc2U7IG9iai5sZW5ndGggPSAxMC41OyBvYmpbMF0gPSB0cnVlOyBvYmpbMl0gPSBJbmZpbml0eTsgb2JqWzRdID0gdW5kZWZpbmVkOyBvYmpbNV0gPSB1bmRlZmluZWQ7IG9ials4XSA9ICJOYU4iOyBvYmpbOV0gPSAiLTEiOyBvYmoucmV2ZXJzZSgpOyBvYmpbOV0gPT09IHRydWUuIEFjdHVhbDogJyArIChvYmpbOV0pKTsKfSAgIAoKb2JqLmxlbmd0aCA9IG5ldyBOdW1iZXIoOS41KTsKCnZhciByZXZlcnNlID0gb2JqLnJldmVyc2UoKTsKaWYgKHJldmVyc2UgIT09IG9iaikgewogICRFUlJPUignIzE6IHZhciBvYmogPSB7fTsgb2JqLnJldmVyc2UgPSBBcnJheS5wcm90b3R5cGUucmV2ZXJzZTsgb2JqLmxlbmd0aCA9IDEwLjU7IG9ialswXSA9IHRydWU7IG9ialsyXSA9IEluZmluaXR5OyBvYmpbNF0gPSB1bmRlZmluZWQ7IG9ials1XSA9IHVuZGVmaW5lZDsgb2JqWzhdID0gIk5hTiI7IG9ials5XSA9ICItMSI7IG9iai5yZXZlcnNlKCk7IG9iai5sZW5ndGggPSBuZXcgTnVtYmVyKDkuNSk7IG9iai5yZXZlcnNlKCkgPT09IG9iai4gQWN0dWFsOiAnICsgKHJldmVyc2UpKTsKfQoKLy9DSEVDSyMxMgppZiAob2JqWzBdICE9PSB1bmRlZmluZWQpIHsKICAgJEVSUk9SKCcjMTI6IHZhciBvYmogPSB7fTsgb2JqLnJldmVyc2UgPSBBcnJheS5wcm90b3R5cGUucmV2ZXJzZTsgb2JqLmxlbmd0aCA9IDEwLjU7IG9ialswXSA9IHRydWU7IG9ialsyXSA9IEluZmluaXR5OyBvYmpbNF0gPSB1bmRlZmluZWQ7IG9ials1XSA9IHVuZGVmaW5lZDsgb2JqWzhdID0gIk5hTiI7IG9ials5XSA9ICItMSI7IG9iai5yZXZlcnNlKCk7IG9iai5sZW5ndGggPSBuZXcgTnVtYmVyKDkuNSk7IG9iai5yZXZlcnNlKCk7IG9ialswXSA9PT0gdW5kZWZpbmVkLiBBY3R1YWw6ICcgKyAob2JqWzBdKSk7Cn0KCi8vQ0hFQ0sjMTMKaWYgKG9ialsxXSAhPT0gSW5maW5pdHkpIHsKICAgJEVSUk9SKCcjMTM6IHZhciBvYmogPSB7fTsgb2JqLnJldmVyc2UgPSBBcnJheS5wcm90b3R5cGUucmV2ZXJzZTsgb2JqLmxlbmd0aCA9IDEwLjU7IG9ialswXSA9IHRydWU7IG9ialsyXSA9IEluZmluaXR5OyBvYmpbNF0gPSB1bmRlZmluZWQ7IG9ials1XSA9IHVuZGVmaW5lZDsgb2JqWzhdID0gIk5hTiI7IG9ials5XSA9ICItMSI7IG9iai5yZXZlcnNlKCk7IG9iai5sZW5ndGggPSBuZXcgTnVtYmVyKDkuNSk7IG9iai5yZXZlcnNlKCk7IG9ialsxXSA9PT0gSW5maW5pdHkuIEFjdHVhbDogJyArIChvYmpbMV0pKTsKfSAgICAKCi8vQ0hFQ0sjMTQKaWYgKG9ialsyXSAhPT0gdW5kZWZpbmVkKSB7CiAgICRFUlJPUignIzE0OiB2YXIgb2JqID0ge307IG9iai5yZXZlcnNlID0gQXJyYXkucHJvdG90eXBlLnJldmVyc2U7IG9iai5sZW5ndGggPSAxMC41OyBvYmpbMF0gPSB0cnVlOyBvYmpbMl0gPSBJbmZpbml0eTsgb2JqWzRdID0gdW5kZWZpbmVkOyBvYmpbNV0gPSB1bmRlZmluZWQ7IG9ials4XSA9ICJOYU4iOyBvYmpbOV0gPSAiLTEiOyBvYmoucmV2ZXJzZSgpOyBvYmoubGVuZ3RoID0gbmV3IE51bWJlcig5LjUpOyBvYmoucmV2ZXJzZSgpOyBvYmpbMl0gPT09IHVuZGVmaW5lZC4gQWN0dWFsOiAnICsgKG9ialsyXSkpOwp9CgovL0NIRUNLIzE1CmlmIChvYmpbM10gIT09IHVuZGVmaW5lZCkgewogICAkRVJST1IoJyMxNTogdmFyIG9iaiA9IHt9OyBvYmoucmV2ZXJzZSA9IEFycmF5LnByb3RvdHlwZS5yZXZlcnNlOyBvYmoubGVuZ3RoID0gMTAuNTsgb2JqWzBdID0gdHJ1ZTsgb2JqWzJdID0gSW5maW5pdHk7IG9ials0XSA9IHVuZGVmaW5lZDsgb2JqWzVdID0gdW5kZWZpbmVkOyBvYmpbOF0gPSAiTmFOIjsgb2JqWzldID0gIi0xIjsgb2JqLnJldmVyc2UoKTsgb2JqLmxlbmd0aCA9IG5ldyBOdW1iZXIoOS41KTsgb2JqLnJldmVyc2UoKTsgb2JqWzNdID09PSB1bmRlZmluZWQuIEFjdHVhbDogJyArIChvYmpbM10pKTsKfSAgICAKCi8vQ0hFQ0sjMTYKaWYgKG9ials0XSAhPT0gdW5kZWZpbmVkKSB7CiAgICRFUlJPUignIzE2OiB2YXIgb2JqID0ge307IG9iai5yZXZlcnNlID0gQXJyYXkucHJvdG90eXBlLnJldmVyc2U7IG9iai5sZW5ndGggPSAxMC41OyBvYmpbMF0gPSB0cnVlOyBvYmpbMl0gPSBJbmZpbml0eTsgb2JqWzRdID0gdW5kZWZpbmVkOyBvYmpbNV0gPSB1bmRlZmluZWQ7IG9ials4XSA9ICJOYU4iOyBvYmpbOV0gPSAiLTEiOyBvYmoucmV2ZXJzZSgpOyBvYmoubGVuZ3RoID0gbmV3IE51bWJlcig5LjUpOyBvYmoucmV2ZXJzZSgpOyBvYmpbNF0gPT09IHVuZGVmaW5lZC4gQWN0dWFsOiAnICsgKG9ials0XSkpOwp9CgovL0NIRUNLIzE3CmlmIChvYmpbNV0gIT09IHVuZGVmaW5lZCkgewogICAkRVJST1IoJyMxNzogdmFyIG9iaiA9IHt9OyBvYmoucmV2ZXJzZSA9IEFycmF5LnByb3RvdHlwZS5yZXZlcnNlOyBvYmoubGVuZ3RoID0gMTAuNTsgb2JqWzBdID0gdHJ1ZTsgb2JqWzJdID0gSW5maW5pdHk7IG9ials0XSA9IHVuZGVmaW5lZDsgb2JqWzVdID0gdW5kZWZpbmVkOyBvYmpbOF0gPSAiTmFOIjsgb2JqWzldID0gIi0xIjsgb2JqLnJldmVyc2UoKTsgb2JqLmxlbmd0aCA9IG5ldyBOdW1iZXIoOS41KTsgb2JqLnJldmVyc2UoKTsgb2JqWzVdID09PSB1bmRlZmluZWQuIEFjdHVhbDogJyArIChvYmpbNV0pKTsKfQoKLy9DSEVDSyMxOAppZiAob2JqWzZdICE9PSB1bmRlZmluZWQpIHsKICAgJEVSUk9SKCcjMTg6IHZhciBvYmogPSB7fTsgb2JqLnJldmVyc2UgPSBBcnJheS5wcm90b3R5cGUucmV2ZXJzZTsgb2JqLmxlbmd0aCA9IDEwLjU7IG9ialswXSA9IHRydWU7IG9ialsyXSA9IEluZmluaXR5OyBvYmpbNF0gPSB1bmRlZmluZWQ7IG9ials1XSA9IHVuZGVmaW5lZDsgb2JqWzhdID0gIk5hTiI7IG9ials5XSA9ICItMSI7IG9iai5yZXZlcnNlKCk7IG9iai5sZW5ndGggPSBuZXcgTnVtYmVyKDkuNSk7IG9iai5yZXZlcnNlKCk7IG9ials2XSA9PT0gdW5kZWZpbmVkLiBBY3R1YWw6ICcgKyAob2JqWzZdKSk7Cn0gICAgICAKCi8vQ0hFQ0sjMTkKaWYgKG9ials3XSAhPT0gIk5hTiIpIHsKICAgJEVSUk9SKCcjMTk6IHZhciBvYmogPSB7fTsgb2JqLnJldmVyc2UgPSBBcnJheS5wcm90b3R5cGUucmV2ZXJzZTsgb2JqLmxlbmd0aCA9IDEwLjU7IG9ialswXSA9IHRydWU7IG9ialsyXSA9IEluZmluaXR5OyBvYmpbNF0gPSB1bmRlZmluZWQ7IG9ials1XSA9IHVuZGVmaW5lZDsgb2JqWzhdID0gIk5hTiI7IG9ials5XSA9ICItMSI7IG9iai5yZXZlcnNlKCk7IG9iai5sZW5ndGggPSBuZXcgTnVtYmVyKDkuNSk7IG9iai5yZXZlcnNlKCk7IG9ials3XSA9PT0gIk5hTiIuIEFjdHVhbDogJyArIChvYmpbN10pKTsKfQoKLy9DSEVDSyMyMAppZiAob2JqWzhdICE9PSAiLTEiKSB7CiAgICRFUlJPUignIzIwOiB2YXIgb2JqID0ge307IG9iai5yZXZlcnNlID0gQXJyYXkucHJvdG90eXBlLnJldmVyc2U7IG9iai5sZW5ndGggPSAxMC41OyBvYmpbMF0gPSB0cnVlOyBvYmpbMl0gPSBJbmZpbml0eTsgb2JqWzRdID0gdW5kZWZpbmVkOyBvYmpbNV0gPSB1bmRlZmluZWQ7IG9ials4XSA9ICJOYU4iOyBvYmpbOV0gPSAiLTEiOyBvYmoucmV2ZXJzZSgpOyBvYmoubGVuZ3RoID0gbmV3IE51bWJlcig5LjUpOyBvYmoucmV2ZXJzZSgpOyBvYmpbOF0gPT09ICItMSIuIEFjdHVhbDogJyArIChvYmpbOF0pKTsKfQoK","commentary":"The reverse function is intentionally generic.\nIt does not require that its this value be an Array object","description":"Checking this for Object object, elements are objects and primitives, length is not integer","path":"TestCases/ch15/15.4/15.4.4/15.4.4.8/S15.4.4.8_A2_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcmV2ZXJzZSBmdW5jdGlvbiBpcyBpbnRlbnRpb25hbGx5IGdlbmVyaWMuCiAqIEl0IGRvZXMgbm90IHJlcXVpcmUgdGhhdCBpdHMgdGhpcyB2YWx1ZSBiZSBhbiBBcnJheSBvYmplY3QKICoKICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuOC9TMTUuNC40LjhfQTJfVDMuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIHRoaXMgZm9yIE9iamVjdCBvYmplY3QsIGVsZW1lbnRzIGFyZSBvYmplY3RzIGFuZCBwcmltaXRpdmVzLCBsZW5ndGggaXMgc3RyaW5nCiAqLwoKLy9DSEVDSyMxCnZhciBvYmogPSB7fTsKb2JqLmxlbmd0aCA9ICIxMCI7Cm9iai5yZXZlcnNlID0gQXJyYXkucHJvdG90eXBlLnJldmVyc2U7CgpvYmpbMF0gPSB0cnVlOwpvYmpbMl0gPSBJbmZpbml0eTsKb2JqWzRdID0gdW5kZWZpbmVkOwpvYmpbNV0gPSB1bmRlZmluZWQ7Cm9ials4XSA9ICJOYU4iOwpvYmpbOV0gPSAiLTEiOwoKdmFyIHJldmVyc2UgPSBvYmoucmV2ZXJzZSgpOwppZiAocmV2ZXJzZSAhPT0gb2JqKSB7CiAgJEVSUk9SKCcjMTogdmFyIG9iaiA9IHt9OyBvYmoucmV2ZXJzZSA9IEFycmF5LnByb3RvdHlwZS5yZXZlcnNlOyBvYmoubGVuZ3RoID0gIjEwIjsgb2JqWzBdID0gdHJ1ZTsgb2JqWzJdID0gSW5maW5pdHk7IG9ials0XSA9IHVuZGVmaW5lZDsgb2JqWzVdID0gdW5kZWZpbmVkOyBvYmpbOF0gPSAiTmFOIjsgb2JqWzldID0gIi0xIjsgb2JqLnJldmVyc2UoKSA9PT0gb2JqLiBBY3R1YWw6ICcgKyAocmV2ZXJzZSkpOwp9CgovL0NIRUNLIzIKaWYgKG9ialswXSAhPT0gIi0xIikgewogICAkRVJST1IoJyMyOiB2YXIgb2JqID0ge307IG9iai5yZXZlcnNlID0gQXJyYXkucHJvdG90eXBlLnJldmVyc2U7IG9iai5sZW5ndGggPSAiMTAiOyBvYmpbMF0gPSB0cnVlOyBvYmpbMl0gPSBJbmZpbml0eTsgb2JqWzRdID0gdW5kZWZpbmVkOyBvYmpbNV0gPSB1bmRlZmluZWQ7IG9ials4XSA9ICJOYU4iOyBvYmpbOV0gPSAiLTEiOyBvYmoucmV2ZXJzZSgpOyBvYmpbMF0gPT09ICItMSIuIEFjdHVhbDogJyArIChvYmpbMF0pKTsKfQoKLy9DSEVDSyMzCmlmIChvYmpbMV0gIT09ICJOYU4iKSB7CiAgICRFUlJPUignIzM6IHZhciBvYmogPSB7fTsgb2JqLnJldmVyc2UgPSBBcnJheS5wcm90b3R5cGUucmV2ZXJzZTsgb2JqLmxlbmd0aCA9ICIxMCI7IG9ialswXSA9IHRydWU7IG9ialsyXSA9IEluZmluaXR5OyBvYmpbNF0gPSB1bmRlZmluZWQ7IG9ials1XSA9IHVuZGVmaW5lZDsgb2JqWzhdID0gIk5hTiI7IG9ials5XSA9ICItMSI7IG9iai5yZXZlcnNlKCk7IG9ialsxXSA9PT0gIk5hTiIuIEFjdHVhbDogJyArIChvYmpbMV0pKTsKfSAgICAKCi8vQ0hFQ0sjNAppZiAob2JqWzJdICE9PSB1bmRlZmluZWQpIHsKICAgJEVSUk9SKCcjNDogdmFyIG9iaiA9IHt9OyBvYmoucmV2ZXJzZSA9IEFycmF5LnByb3RvdHlwZS5yZXZlcnNlOyBvYmoubGVuZ3RoID0gIjEwIjsgb2JqWzBdID0gdHJ1ZTsgb2JqWzJdID0gSW5maW5pdHk7IG9ials0XSA9IHVuZGVmaW5lZDsgb2JqWzVdID0gdW5kZWZpbmVkOyBvYmpbOF0gPSAiTmFOIjsgb2JqWzldID0gIi0xIjsgb2JqLnJldmVyc2UoKTsgb2JqWzJdID09PSB1bmRlZmluZWQuIEFjdHVhbDogJyArIChvYmpbMl0pKTsKfQoKLy9DSEVDSyM1CmlmIChvYmpbM10gIT09IHVuZGVmaW5lZCkgewogICAkRVJST1IoJyM1OiB2YXIgb2JqID0ge307IG9iai5yZXZlcnNlID0gQXJyYXkucHJvdG90eXBlLnJldmVyc2U7IG9iai5sZW5ndGggPSAiMTAiOyBvYmpbMF0gPSB0cnVlOyBvYmpbMl0gPSBJbmZpbml0eTsgb2JqWzRdID0gdW5kZWZpbmVkOyBvYmpbNV0gPSB1bmRlZmluZWQ7IG9ials4XSA9ICJOYU4iOyBvYmpbOV0gPSAiLTEiOyBvYmoucmV2ZXJzZSgpOyBvYmpbM10gPT09IHVuZGVmaW5lZC4gQWN0dWFsOiAnICsgKG9ialszXSkpOwp9ICAgIAoKLy9DSEVDSyM2CmlmIChvYmpbNF0gIT09IHVuZGVmaW5lZCkgewogICAkRVJST1IoJyM2OiB2YXIgb2JqID0ge307IG9iai5yZXZlcnNlID0gQXJyYXkucHJvdG90eXBlLnJldmVyc2U7IG9iai5sZW5ndGggPSAiMTAiOyBvYmpbMF0gPSB0cnVlOyBvYmpbMl0gPSBJbmZpbml0eTsgb2JqWzRdID0gdW5kZWZpbmVkOyBvYmpbNV0gPSB1bmRlZmluZWQ7IG9ials4XSA9ICJOYU4iOyBvYmpbOV0gPSAiLTEiOyBvYmoucmV2ZXJzZSgpOyBvYmpbNF0gPT09IHVuZGVmaW5lZC4gQWN0dWFsOiAnICsgKG9ials0XSkpOwp9CgovL0NIRUNLIzcKaWYgKG9ials1XSAhPT0gdW5kZWZpbmVkKSB7CiAgICRFUlJPUignIzc6IHZhciBvYmogPSB7fTsgb2JqLnJldmVyc2UgPSBBcnJheS5wcm90b3R5cGUucmV2ZXJzZTsgb2JqLmxlbmd0aCA9ICIxMCI7IG9ialswXSA9IHRydWU7IG9ialsyXSA9IEluZmluaXR5OyBvYmpbNF0gPSB1bmRlZmluZWQ7IG9ials1XSA9IHVuZGVmaW5lZDsgb2JqWzhdID0gIk5hTiI7IG9ials5XSA9ICItMSI7IG9iai5yZXZlcnNlKCk7IG9ials1XSA9PT0gdW5kZWZpbmVkLiBBY3R1YWw6ICcgKyAob2JqWzVdKSk7Cn0KCi8vQ0hFQ0sjOAppZiAob2JqWzZdICE9PSB1bmRlZmluZWQpIHsKICAgJEVSUk9SKCcjODogdmFyIG9iaiA9IHt9OyBvYmoucmV2ZXJzZSA9IEFycmF5LnByb3RvdHlwZS5yZXZlcnNlOyBvYmoubGVuZ3RoID0gIjEwIjsgb2JqWzBdID0gdHJ1ZTsgb2JqWzJdID0gSW5maW5pdHk7IG9ials0XSA9IHVuZGVmaW5lZDsgb2JqWzVdID0gdW5kZWZpbmVkOyBvYmpbOF0gPSAiTmFOIjsgb2JqWzldID0gIi0xIjsgb2JqLnJldmVyc2UoKTsgb2JqWzZdID09PSB1bmRlZmluZWQuIEFjdHVhbDogJyArIChvYmpbNl0pKTsKfSAgICAgIAoKLy9DSEVDSyM5CmlmIChvYmpbN10gIT09IEluZmluaXR5KSB7CiAgICRFUlJPUignIzk6IHZhciBvYmogPSB7fTsgb2JqLnJldmVyc2UgPSBBcnJheS5wcm90b3R5cGUucmV2ZXJzZTsgb2JqLmxlbmd0aCA9ICIxMCI7IG9ialswXSA9IHRydWU7IG9ialsyXSA9IEluZmluaXR5OyBvYmpbNF0gPSB1bmRlZmluZWQ7IG9ials1XSA9IHVuZGVmaW5lZDsgb2JqWzhdID0gIk5hTiI7IG9ials5XSA9ICItMSI7IG9iai5yZXZlcnNlKCk7IG9ials3XSA9PT0gSW5maW5pdHkuIEFjdHVhbDogJyArIChvYmpbN10pKTsKfQoKLy9DSEVDSyMxMAppZiAob2JqWzhdICE9PSB1bmRlZmluZWQpIHsKICAgJEVSUk9SKCcjMTA6IHZhciBvYmogPSB7fTsgb2JqLnJldmVyc2UgPSBBcnJheS5wcm90b3R5cGUucmV2ZXJzZTsgb2JqLmxlbmd0aCA9ICIxMCI7IG9ialswXSA9IHRydWU7IG9ialsyXSA9IEluZmluaXR5OyBvYmpbNF0gPSB1bmRlZmluZWQ7IG9ials1XSA9IHVuZGVmaW5lZDsgb2JqWzhdID0gIk5hTiI7IG9ials5XSA9ICItMSI7IG9iai5yZXZlcnNlKCk7IG9ials4XSA9PT0gdW5kZWZpbmVkLiBBY3R1YWw6ICcgKyAob2JqWzhdKSk7Cn0KCi8vQ0hFQ0sjMTEKaWYgKG9ials5XSAhPT0gdHJ1ZSkgewogICAkRVJST1IoJyMxMTogdmFyIG9iaiA9IHt9OyBvYmoucmV2ZXJzZSA9IEFycmF5LnByb3RvdHlwZS5yZXZlcnNlOyBvYmoubGVuZ3RoID0gIjEwIjsgb2JqWzBdID0gdHJ1ZTsgb2JqWzJdID0gSW5maW5pdHk7IG9ials0XSA9IHVuZGVmaW5lZDsgb2JqWzVdID0gdW5kZWZpbmVkOyBvYmpbOF0gPSAiTmFOIjsgb2JqWzldID0gIi0xIjsgb2JqLnJldmVyc2UoKTsgb2JqWzldID09PSB0cnVlLiBBY3R1YWw6ICcgKyAob2JqWzldKSk7Cn0gICAKCm9iai5sZW5ndGggPSBuZXcgU3RyaW5nKCI5Iik7Cgp2YXIgcmV2ZXJzZSA9IG9iai5yZXZlcnNlKCk7CmlmIChyZXZlcnNlICE9PSBvYmopIHsKICAkRVJST1IoJyMxOiB2YXIgb2JqID0ge307IG9iai5yZXZlcnNlID0gQXJyYXkucHJvdG90eXBlLnJldmVyc2U7IG9iai5sZW5ndGggPSAiMTAiOyBvYmpbMF0gPSB0cnVlOyBvYmpbMl0gPSBJbmZpbml0eTsgb2JqWzRdID0gdW5kZWZpbmVkOyBvYmpbNV0gPSB1bmRlZmluZWQ7IG9ials4XSA9ICJOYU4iOyBvYmpbOV0gPSAiLTEiOyBvYmoucmV2ZXJzZSgpOyBvYmoubGVuZ3RoID0gbmV3IFN0cmluZygiOSIpOyBvYmoucmV2ZXJzZSgpID09PSBvYmouIEFjdHVhbDogJyArIChyZXZlcnNlKSk7Cn0KCi8vQ0hFQ0sjMTIKaWYgKG9ialswXSAhPT0gdW5kZWZpbmVkKSB7CiAgICRFUlJPUignIzEyOiB2YXIgb2JqID0ge307IG9iai5yZXZlcnNlID0gQXJyYXkucHJvdG90eXBlLnJldmVyc2U7IG9iai5sZW5ndGggPSAiMTAiOyBvYmpbMF0gPSB0cnVlOyBvYmpbMl0gPSBJbmZpbml0eTsgb2JqWzRdID0gdW5kZWZpbmVkOyBvYmpbNV0gPSB1bmRlZmluZWQ7IG9ials4XSA9ICJOYU4iOyBvYmpbOV0gPSAiLTEiOyBvYmoucmV2ZXJzZSgpOyBvYmoubGVuZ3RoID0gbmV3IFN0cmluZygiOSIpOyBvYmoucmV2ZXJzZSgpOyBvYmpbMF0gPT09IHVuZGVmaW5lZC4gQWN0dWFsOiAnICsgKG9ialswXSkpOwp9CgovL0NIRUNLIzEzCmlmIChvYmpbMV0gIT09IEluZmluaXR5KSB7CiAgICRFUlJPUignIzEzOiB2YXIgb2JqID0ge307IG9iai5yZXZlcnNlID0gQXJyYXkucHJvdG90eXBlLnJldmVyc2U7IG9iai5sZW5ndGggPSAiMTAiOyBvYmpbMF0gPSB0cnVlOyBvYmpbMl0gPSBJbmZpbml0eTsgb2JqWzRdID0gdW5kZWZpbmVkOyBvYmpbNV0gPSB1bmRlZmluZWQ7IG9ials4XSA9ICJOYU4iOyBvYmpbOV0gPSAiLTEiOyBvYmoucmV2ZXJzZSgpOyBvYmoubGVuZ3RoID0gbmV3IFN0cmluZygiOSIpOyBvYmoucmV2ZXJzZSgpOyBvYmpbMV0gPT09IEluZmluaXR5LiBBY3R1YWw6ICcgKyAob2JqWzFdKSk7Cn0gICAgCgovL0NIRUNLIzE0CmlmIChvYmpbMl0gIT09IHVuZGVmaW5lZCkgewogICAkRVJST1IoJyMxNDogdmFyIG9iaiA9IHt9OyBvYmoucmV2ZXJzZSA9IEFycmF5LnByb3RvdHlwZS5yZXZlcnNlOyBvYmoubGVuZ3RoID0gIjEwIjsgb2JqWzBdID0gdHJ1ZTsgb2JqWzJdID0gSW5maW5pdHk7IG9ials0XSA9IHVuZGVmaW5lZDsgb2JqWzVdID0gdW5kZWZpbmVkOyBvYmpbOF0gPSAiTmFOIjsgb2JqWzldID0gIi0xIjsgb2JqLnJldmVyc2UoKTsgb2JqLmxlbmd0aCA9IG5ldyBTdHJpbmcoIjkiKTsgb2JqLnJldmVyc2UoKTsgb2JqWzJdID09PSB1bmRlZmluZWQuIEFjdHVhbDogJyArIChvYmpbMl0pKTsKfQoKLy9DSEVDSyMxNQppZiAob2JqWzNdICE9PSB1bmRlZmluZWQpIHsKICAgJEVSUk9SKCcjMTU6IHZhciBvYmogPSB7fTsgb2JqLnJldmVyc2UgPSBBcnJheS5wcm90b3R5cGUucmV2ZXJzZTsgb2JqLmxlbmd0aCA9ICIxMCI7IG9ialswXSA9IHRydWU7IG9ialsyXSA9IEluZmluaXR5OyBvYmpbNF0gPSB1bmRlZmluZWQ7IG9ials1XSA9IHVuZGVmaW5lZDsgb2JqWzhdID0gIk5hTiI7IG9ials5XSA9ICItMSI7IG9iai5yZXZlcnNlKCk7IG9iai5sZW5ndGggPSBuZXcgU3RyaW5nKCI5Iik7IG9iai5yZXZlcnNlKCk7IG9ialszXSA9PT0gdW5kZWZpbmVkLiBBY3R1YWw6ICcgKyAob2JqWzNdKSk7Cn0gICAgCgovL0NIRUNLIzE2CmlmIChvYmpbNF0gIT09IHVuZGVmaW5lZCkgewogICAkRVJST1IoJyMxNjogdmFyIG9iaiA9IHt9OyBvYmoucmV2ZXJzZSA9IEFycmF5LnByb3RvdHlwZS5yZXZlcnNlOyBvYmoubGVuZ3RoID0gIjEwIjsgb2JqWzBdID0gdHJ1ZTsgb2JqWzJdID0gSW5maW5pdHk7IG9ials0XSA9IHVuZGVmaW5lZDsgb2JqWzVdID0gdW5kZWZpbmVkOyBvYmpbOF0gPSAiTmFOIjsgb2JqWzldID0gIi0xIjsgb2JqLnJldmVyc2UoKTsgb2JqLmxlbmd0aCA9IG5ldyBTdHJpbmcoIjkiKTsgb2JqLnJldmVyc2UoKTsgb2JqWzRdID09PSB1bmRlZmluZWQuIEFjdHVhbDogJyArIChvYmpbNF0pKTsKfQoKLy9DSEVDSyMxNwppZiAob2JqWzVdICE9PSB1bmRlZmluZWQpIHsKICAgJEVSUk9SKCcjMTc6IHZhciBvYmogPSB7fTsgb2JqLnJldmVyc2UgPSBBcnJheS5wcm90b3R5cGUucmV2ZXJzZTsgb2JqLmxlbmd0aCA9ICIxMCI7IG9ialswXSA9IHRydWU7IG9ialsyXSA9IEluZmluaXR5OyBvYmpbNF0gPSB1bmRlZmluZWQ7IG9ials1XSA9IHVuZGVmaW5lZDsgb2JqWzhdID0gIk5hTiI7IG9ials5XSA9ICItMSI7IG9iai5yZXZlcnNlKCk7IG9iai5sZW5ndGggPSBuZXcgU3RyaW5nKCI5Iik7IG9iai5yZXZlcnNlKCk7IG9ials1XSA9PT0gdW5kZWZpbmVkLiBBY3R1YWw6ICcgKyAob2JqWzVdKSk7Cn0KCi8vQ0hFQ0sjMTgKaWYgKG9ials2XSAhPT0gdW5kZWZpbmVkKSB7CiAgICRFUlJPUignIzE4OiB2YXIgb2JqID0ge307IG9iai5yZXZlcnNlID0gQXJyYXkucHJvdG90eXBlLnJldmVyc2U7IG9iai5sZW5ndGggPSAiMTAiOyBvYmpbMF0gPSB0cnVlOyBvYmpbMl0gPSBJbmZpbml0eTsgb2JqWzRdID0gdW5kZWZpbmVkOyBvYmpbNV0gPSB1bmRlZmluZWQ7IG9ials4XSA9ICJOYU4iOyBvYmpbOV0gPSAiLTEiOyBvYmoucmV2ZXJzZSgpOyBvYmoubGVuZ3RoID0gbmV3IFN0cmluZygiOSIpOyBvYmoucmV2ZXJzZSgpOyBvYmpbNl0gPT09IHVuZGVmaW5lZC4gQWN0dWFsOiAnICsgKG9ials2XSkpOwp9ICAgICAgCgovL0NIRUNLIzE5CmlmIChvYmpbN10gIT09ICJOYU4iKSB7CiAgICRFUlJPUignIzE5OiB2YXIgb2JqID0ge307IG9iai5yZXZlcnNlID0gQXJyYXkucHJvdG90eXBlLnJldmVyc2U7IG9iai5sZW5ndGggPSAiMTAiOyBvYmpbMF0gPSB0cnVlOyBvYmpbMl0gPSBJbmZpbml0eTsgb2JqWzRdID0gdW5kZWZpbmVkOyBvYmpbNV0gPSB1bmRlZmluZWQ7IG9ials4XSA9ICJOYU4iOyBvYmpbOV0gPSAiLTEiOyBvYmoucmV2ZXJzZSgpOyBvYmoubGVuZ3RoID0gbmV3IFN0cmluZygiOSIpOyBvYmoucmV2ZXJzZSgpOyBvYmpbN10gPT09ICJOYU4iLiBBY3R1YWw6ICcgKyAob2JqWzddKSk7Cn0KCi8vQ0hFQ0sjMjAKaWYgKG9ials4XSAhPT0gIi0xIikgewogICAkRVJST1IoJyMyMDogdmFyIG9iaiA9IHt9OyBvYmoucmV2ZXJzZSA9IEFycmF5LnByb3RvdHlwZS5yZXZlcnNlOyBvYmoubGVuZ3RoID0gIjEwIjsgb2JqWzBdID0gdHJ1ZTsgb2JqWzJdID0gSW5maW5pdHk7IG9ials0XSA9IHVuZGVmaW5lZDsgb2JqWzVdID0gdW5kZWZpbmVkOyBvYmpbOF0gPSAiTmFOIjsgb2JqWzldID0gIi0xIjsgb2JqLnJldmVyc2UoKTsgb2JqLmxlbmd0aCA9IG5ldyBTdHJpbmcoIjkiKTsgb2JqLnJldmVyc2UoKTsgb2JqWzhdID09PSAiLTEiLiBBY3R1YWw6ICcgKyAob2JqWzhdKSk7Cn0KCg==","commentary":"The reverse function is intentionally generic.\nIt does not require that its this value be an Array object","description":"Checking this for Object object, elements are objects and primitives, length is string","path":"TestCases/ch15/15.4/15.4.4/15.4.4.8/S15.4.4.8_A2_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBDaGVjayBUb1VpbnQzMihsZW5ndGgpIGZvciBub24gQXJyYXkgb2JqZWN0cwogKgogKiBAcGF0aCBjaDE1LzE1LjQvMTUuNC40LzE1LjQuNC44L1MxNS40LjQuOF9BM19UMS5qcwogKiBAZGVzY3JpcHRpb24gbGVuZ3RoID0gNDI5NDk2NzI5NgogKi8KCnZhciBvYmogPSB7fTsKb2JqLnJldmVyc2UgPSBBcnJheS5wcm90b3R5cGUucmV2ZXJzZTsKb2JqWzBdID0gIngiOwpvYmpbNDI5NDk2NzI5NV0gPSAieSI7Cm9iai5sZW5ndGggPSA0Mjk0OTY3Mjk2OwoKLy9DSEVDSyMxCnZhciByZXZlcnNlID0gb2JqLnJldmVyc2UoKTsKaWYgKHJldmVyc2UgIT09IG9iaikgewogICRFUlJPUignIzE6IHZhciBvYmogPSB7fTsgb2JqLnJldmVyc2UgPSBBcnJheS5wcm90b3R5cGUucmV2ZXJzZTsgb2JqWzBdID0gIngiOyBvYmpbNDI5NDk2NzI5NV0gPSAieSI7IG9iai5sZW5ndGggPSA0Mjk0OTY3Mjk2OyBvYmoucmV2ZXJzZSgpID09PSBvYmouIEFjdHVhbDogJyArIChyZXZlcnNlKSk7Cn0KCi8vQ0hFQ0sjMgppZiAob2JqLmxlbmd0aCAhPT0gNDI5NDk2NzI5NikgewogICRFUlJPUignIzI6IHZhciBvYmogPSB7fTsgb2JqLnJldmVyc2UgPSBBcnJheS5wcm90b3R5cGUucmV2ZXJzZTsgb2JqWzBdID0gIngiOyBvYmpbNDI5NDk2NzI5NV0gPSAieSI7IG9iai5sZW5ndGggPSA0Mjk0OTY3Mjk2OyBvYmoucmV2ZXJzZSgpOyBvYmoubGVuZ3RoID09PSA0Mjk0OTY3Mjk2LiBBY3R1YWw6ICcgKyAob2JqLmxlbmd0aCkpOwp9CgovL0NIRUNLIzMKaWYgKG9ialswXSAhPT0gIngiKSB7CiAgJEVSUk9SKCcjMzogdmFyIG9iaiA9IHt9OyBvYmoucmV2ZXJzZSA9IEFycmF5LnByb3RvdHlwZS5yZXZlcnNlOyBvYmpbMF0gPSAieCI7IG9ials0Mjk0OTY3Mjk1XSA9ICJ5Ijsgb2JqLmxlbmd0aCA9IDQyOTQ5NjcyOTY7IG9iai5yZXZlcnNlKCk7IG9ialswXSA9PSAieCInKTsKfQoKLy9DSEVDSyM0CmlmIChvYmpbNDI5NDk2NzI5NV0gIT09ICJ5IikgewogICRFUlJPUignIzQ6IHZhciBvYmogPSB7fTsgb2JqLnJldmVyc2UgPSBBcnJheS5wcm90b3R5cGUucmV2ZXJzZTsgb2JqW10gPSAieCI7IG9ials0Mjk0OTY3Mjk1XSA9ICJ5Ijsgb2JqLmxlbmd0aCA9IDQyOTQ5NjcyOTY7IG9iai5yZXZlcnNlKCk7IG9ials0Mjk0OTY3Mjk1XSA9PSAieSInKTsKfQoK","commentary":"Check ToUint32(length) for non Array objects","description":"length = 4294967296","path":"TestCases/ch15/15.4/15.4.4/15.4.4.8/S15.4.4.8_A3_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBDaGVjayBUb1VpbnQzMihsZW5ndGgpIGZvciBub24gQXJyYXkgb2JqZWN0cwogKgogKiBAcGF0aCBjaDE1LzE1LjQvMTUuNC40LzE1LjQuNC44L1MxNS40LjQuOF9BM19UMi5qcwogKiBAZGVzY3JpcHRpb24gbGVuZ3RoID0gNDI5NDk2NzI5OAogKi8KCnZhciBvYmogPSB7fTsKb2JqLnJldmVyc2UgPSBBcnJheS5wcm90b3R5cGUucmV2ZXJzZTsKb2JqWzBdID0gIngiOwpvYmpbMV0gPSAieSI7Cm9ials0Mjk0OTY3Mjk3XSA9ICJ6IjsKb2JqLmxlbmd0aCA9IDQyOTQ5NjcyOTg7CgovL0NIRUNLIzEKdmFyIHJldmVyc2UgPSBvYmoucmV2ZXJzZSgpOwppZiAocmV2ZXJzZSAhPT0gb2JqKSB7CiAgJEVSUk9SKCcjMTogdmFyIG9iaiA9IHt9OyBvYmoucmV2ZXJzZSA9IEFycmF5LnByb3RvdHlwZS5yZXZlcnNlOyBvYmpbMF0gPSAieCI7IG9ialsxXSA9ICJ5Ijsgb2JqWzQyOTQ5NjcyOTddID0gInoiOyBvYmoubGVuZ3RoID0gNDI5NDk2NzI5ODsgb2JqLnJldmVyc2UoKSA9PT0gb2JqLiBBY3R1YWw6ICcgKyAocmV2ZXJzZSkpOwp9CgovL0NIRUNLIzIKaWYgKG9iai5sZW5ndGggIT09IDQyOTQ5NjcyOTgpIHsKICAkRVJST1IoJyMyOiB2YXIgb2JqID0ge307IG9iai5yZXZlcnNlID0gQXJyYXkucHJvdG90eXBlLnJldmVyc2U7IG9ialswXSA9ICJ4Ijsgb2JqWzFdID0gInkiOyBvYmpbNDI5NDk2NzI5N10gPSAieiI7IG9iai5sZW5ndGggPSA0Mjk0OTY3Mjk4OyBvYmoucmV2ZXJzZSgpOyBvYmoubGVuZ3RoID09PSA0Mjk0OTY3Mjk4LiBBY3R1YWw6ICcgKyAob2JqLmxlbmd0aCkpOwp9CgovL0NIRUNLIzMKaWYgKG9ialswXSAhPT0gInkiKSB7CiAgJEVSUk9SKCcjMzogdmFyIG9iaiA9IHt9OyBvYmoucmV2ZXJzZSA9IEFycmF5LnByb3RvdHlwZS5yZXZlcnNlOyBvYmpbMF0gPSAieCI7IG9ialsxXSA9ICJ5Ijsgb2JqWzQyOTQ5NjcyOTddID0gInoiOyBvYmoubGVuZ3RoID0gNDI5NDk2NzI5ODsgb2JqLnJldmVyc2UoKTsgb2JqWzBdID09PSAieSIuIEFjdHVhbDogJyArIChvYmpbMF0pKTsKfSAgIAoKLy9DSEVDSyM0CmlmIChvYmpbMV0gIT09ICJ4IikgewogICRFUlJPUignIzQ6IHZhciBvYmogPSB7fTsgb2JqLnJldmVyc2UgPSBBcnJheS5wcm90b3R5cGUucmV2ZXJzZTsgb2JqWzBdID0gIngiOyBvYmpbMV0gPSAieSI7IG9ials0Mjk0OTY3Mjk3XSA9ICJ6Ijsgb2JqLmxlbmd0aCA9IDQyOTQ5NjcyOTg7IG9iai5yZXZlcnNlKCk7IG9ialsxXSA9PT0gIngiLiBBY3R1YWw6ICcgKyAob2JqWzFdKSk7Cn0gCgovL0NIRUNLIzUKaWYgKG9ials0Mjk0OTY3Mjk3XSAhPT0gInoiKSB7CiAgJEVSUk9SKCcjNTogdmFyIG9iaiA9IHt9OyBvYmoucmV2ZXJzZSA9IEFycmF5LnByb3RvdHlwZS5yZXZlcnNlOyBvYmpbMF0gPSAieCI7IG9ialsxXSA9ICJ5Ijsgb2JqWzQyOTQ5NjcyOTddID0gInoiOyBvYmoubGVuZ3RoID0gNDI5NDk2NzI5ODsgb2JqLnJldmVyc2UoKTsgb2JqWzQyOTQ5NjcyOTddID09PSAieiIuIEFjdHVhbDogJyArIChvYmpbNDI5NDk2NzI5N10pKTsKfSAKCg==","commentary":"Check ToUint32(length) for non Array objects","description":"length = 4294967298","path":"TestCases/ch15/15.4/15.4.4/15.4.4.8/S15.4.4.8_A3_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBDaGVjayBUb1VpbnQzMihsZW5ndGgpIGZvciBub24gQXJyYXkgb2JqZWN0cwogKgogKiBAcGF0aCBjaDE1LzE1LjQvMTUuNC40LzE1LjQuNC44L1MxNS40LjQuOF9BM19UMy5qcwogKiBAZGVzY3JpcHRpb24gbGVuZ3RoID0gLTQyOTQ5NjcyOTQKICovCgp2YXIgb2JqID0ge307Cm9iai5yZXZlcnNlID0gQXJyYXkucHJvdG90eXBlLnJldmVyc2U7Cm9ialswXSA9ICJ4IjsKb2JqWzFdID0gInkiOwpvYmpbMl0gPSAieiI7Cm9iai5sZW5ndGggPSAtNDI5NDk2NzI5NDsKCi8vQ0hFQ0sjMQp2YXIgcmV2ZXJzZSA9IG9iai5yZXZlcnNlKCk7CmlmIChyZXZlcnNlICE9PSBvYmopIHsKICAkRVJST1IoJyMxOiB2YXIgb2JqID0ge307IG9iai5yZXZlcnNlID0gQXJyYXkucHJvdG90eXBlLnJldmVyc2U7IG9ialswXSA9ICJ4Ijsgb2JqWzFdID0gInkiOyBvYmpbMl0gPSAieiI7IG9iai5sZW5ndGggPSAtNDI5NDk2NzI5NDsgb2JqLnJldmVyc2UoKSA9PT0gb2JqLiBBY3R1YWw6ICcgKyAocmV2ZXJzZSkpOwp9CgovL0NIRUNLIzIKaWYgKG9iai5sZW5ndGggIT09IC00Mjk0OTY3Mjk0KSB7CiAgJEVSUk9SKCcjMjogdmFyIG9iaiA9IHt9OyBvYmoucmV2ZXJzZSA9IEFycmF5LnByb3RvdHlwZS5yZXZlcnNlOyBvYmpbMF0gPSAieCI7IG9ialsxXSA9ICJ5Ijsgb2JqWzJdID0gInoiOyBvYmoubGVuZ3RoID0gLTQyOTQ5NjcyOTQ7IG9iai5yZXZlcnNlKCk7IG9iai5sZW5ndGggPT09IC00Mjk0OTY3Mjk0LiBBY3R1YWw6ICcgKyAob2JqLmxlbmd0aCkpOwp9CgovL0NIRUNLIzMKaWYgKG9ialswXSAhPT0gInkiKSB7CiAgJEVSUk9SKCcjMzogdmFyIG9iaiA9IHt9OyBvYmoucmV2ZXJzZSA9IEFycmF5LnByb3RvdHlwZS5yZXZlcnNlOyBvYmpbMF0gPSAieCI7IG9ialsxXSA9ICJ5Ijsgb2JqWzJdID0gInoiOyBvYmoubGVuZ3RoID0gLTQyOTQ5NjcyOTQ7IG9iai5yZXZlcnNlKCk7IG9ialswXSA9PT0gInkiLiBBY3R1YWw6ICcgKyAob2JqWzBdKSk7Cn0gICAKCi8vQ0hFQ0sjNAppZiAob2JqWzFdICE9PSAieCIpIHsKICAkRVJST1IoJyM0OiB2YXIgb2JqID0ge307IG9iai5yZXZlcnNlID0gQXJyYXkucHJvdG90eXBlLnJldmVyc2U7IG9ialswXSA9ICJ4Ijsgb2JqWzFdID0gInkiOyBvYmpbMl0gPSAieiI7IG9iai5sZW5ndGggPSAtNDI5NDk2NzI5NDsgb2JqLnJldmVyc2UoKTsgb2JqWzFdID09PSAieCIuIEFjdHVhbDogJyArIChvYmpbMV0pKTsKfSAKCi8vQ0hFQ0sjNQppZiAob2JqWzJdICE9PSAieiIpIHsKICAkRVJST1IoJyM1OiB2YXIgb2JqID0ge307IG9iai5yZXZlcnNlID0gQXJyYXkucHJvdG90eXBlLnJldmVyc2U7IG9ialswXSA9ICJ4Ijsgb2JqWzFdID0gInkiOyBvYmpbMl0gPSAieiI7IG9iai5sZW5ndGggPSAtNDI5NDk2NzI5NDsgb2JqLnJldmVyc2UoKTsgb2JqWzJdID09PSAieiIuIEFjdHVhbDogJyArIChvYmpbMl0pKTsKfSAgCgo=","commentary":"Check ToUint32(length) for non Array objects","description":"length = -4294967294","path":"TestCases/ch15/15.4/15.4.4/15.4.4.8/S15.4.4.8_A3_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBbW0dldF1dLCBbW0RlbGV0ZV1dIGZyb20gbm90IGFuIGluaGVyaXRlZCBwcm9wZXJ0eQogKgogKiBAcGF0aCBjaDE1LzE1LjQvMTUuNC40LzE1LjQuNC44L1MxNS40LjQuOF9BNF9UMS5qcwogKiBAZGVzY3JpcHRpb24gW1tQcm90b3R5cGVdXSBvZiBBcnJheSBpbnN0YW5jZSBpcyBBcnJheS5wcm90b3R5cGUsIFtbUHJvdG90eXBlXSBvZiBBcnJheS5wcm90b3R5cGUgaXMgT2JqZWN0LnByb3RvdHlwZQogKi8KCkFycmF5LnByb3RvdHlwZVsxXSA9IDE7CnZhciB4ID0gWzBdOwp4Lmxlbmd0aCA9IDI7CngucmV2ZXJzZSgpOwoKLy9DSEVDSyMxCmlmICh4WzBdICE9PSAxKSB7ICAKICAkRVJST1IoJyMxOiBBcnJheS5wcm90b3R5cGVbMV0gPSAxOyB4ID0gWzBdOyB4Lmxlbmd0aCA9IDI7IHgucmV2ZXJzZSgpOyB4WzBdID09PSAxLiBBY3R1YWw6ICcgKyAoeFswXSkpOyAgICAKfQoKLy9DSEVDSyMyCmlmICh4WzFdICE9PSAwKSB7ICAKICAkRVJST1IoJyMyOiBBcnJheS5wcm90b3R5cGVbMV0gPSAxOyB4ID0gWzBdOyB4Lmxlbmd0aCA9IDI7IHgucmV2ZXJzZSgpOyB4WzFdID09PSAwLiBBY3R1YWw6ICcgKyAoeFsxXSkpOyAgICAKfQoKeC5sZW5ndGggPSAwOwoKLy9DSEVDSyMzCmlmICh4WzBdICE9PSB1bmRlZmluZWQpIHsgIAogICRFUlJPUignIzM6IEFycmF5LnByb3RvdHlwZVsxXSA9IDE7IHggPSBbMF07IHgubGVuZ3RoID0gMjsgeC5yZXZlcnNlKCk7IHgubGVuZ3RoID0gMDsgeFswXSA9PT0gdW5kZWZpbmVkLiBBY3R1YWw6ICcgKyAoeFswXSkpOyAgICAKfQoKLy9DSEVDSyM0CmlmICh4WzFdICE9PSAxKSB7ICAKICAkRVJST1IoJyM0OiBBcnJheS5wcm90b3R5cGVbMV0gPSAxOyB4ID0gWzBdOyB4Lmxlbmd0aCA9IDI7IHgucmV2ZXJzZSgpOyB4Lmxlbmd0aCA9IDA7IHhbMV0gPT09IDEuIEFjdHVhbDogJyArICh4WzFdKSk7ICAgIAp9CgpPYmplY3QucHJvdG90eXBlWzFdID0gMTsKT2JqZWN0LnByb3RvdHlwZS5sZW5ndGggPSAyOwpPYmplY3QucHJvdG90eXBlLnJldmVyc2UgPSBBcnJheS5wcm90b3R5cGUucmV2ZXJzZTsKeCA9IHswOjB9Owp4LnJldmVyc2UoKTsKCi8vQ0hFQ0sjNQppZiAoeFswXSAhPT0gMSkgeyAgCiAgJEVSUk9SKCcjNTogT2JqZWN0LnByb3RvdHlwZVsxXSA9IDE7IE9iamVjdC5wcm90b3R5cGUubGVuZ3RoID0gMjsgT2JqZWN0LnByb3RvdHlwZS5yZXZlcnNlID0gQXJyYXkucHJvdG90eXBlLnJldmVyc2U7IHggPSB7MDowfTsgeC5yZXZlcnNlKCk7IHhbMF0gPT09IDAuIEFjdHVhbDogJyArICh4WzBdKSk7ICAgIAp9CgovL0NIRUNLIzYKaWYgKHhbMV0gIT09IDApIHsgIAogICRFUlJPUignIzY6IE9iamVjdC5wcm90b3R5cGVbMV0gPSAxOyBPYmplY3QucHJvdG90eXBlLmxlbmd0aCA9IDI7IE9iamVjdC5wcm90b3R5cGUucmV2ZXJzZSA9IEFycmF5LnByb3RvdHlwZS5yZXZlcnNlOyB4ID0gezA6MH07IHgucmV2ZXJzZSgpOyB4WzFdID09PSAwLiBBY3R1YWw6ICcgKyAoeFsxXSkpOyAgICAKfQoKZGVsZXRlIHhbMF07CmRlbGV0ZSB4WzFdOwoKLy9DSEVDSyM3CmlmICh4WzBdICE9PSB1bmRlZmluZWQpIHsgIAogICRFUlJPUignIzc6IE9iamVjdC5wcm90b3R5cGVbMV0gPSAxOyBPYmplY3QucHJvdG90eXBlLmxlbmd0aCA9IDI7IE9iamVjdC5wcm90b3R5cGUucmV2ZXJzZSA9IEFycmF5LnByb3RvdHlwZS5yZXZlcnNlOyB4ID0gezA6MH07IHgucmV2ZXJzZSgpOyBkZWxldGUgeFswXTsgZGVsZXRlIHhbMV07IHhbMF0gPT09IHVuZGVmaW5lZC4gQWN0dWFsOiAnICsgKHhbMF0pKTsgICAgCn0KCi8vQ0hFQ0sjOAppZiAoeFsxXSAhPT0gMSkgeyAgCiAgJEVSUk9SKCcjODogT2JqZWN0LnByb3RvdHlwZVsxXSA9IDE7IE9iamVjdC5wcm90b3R5cGUubGVuZ3RoID0gMjsgT2JqZWN0LnByb3RvdHlwZS5yZXZlcnNlID0gQXJyYXkucHJvdG90eXBlLnJldmVyc2U7IHggPSB7MDowfTsgeC5yZXZlcnNlKCk7IGRlbGV0ZSB4WzBdOyBkZWxldGUgeFsxXTsgeFsxXSA9PT0gMS4gQWN0dWFsOiAnICsgKHhbMV0pKTsgICAgCn0KCg==","commentary":"[[Get]], [[Delete]] from not an inherited property","description":"[[Prototype]] of Array instance is Array.prototype, [[Prototype] of Array.prototype is Object.prototype","path":"TestCases/ch15/15.4/15.4.4/15.4.4.8/S15.4.4.8_A4_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBbW0dldF1dLCBbW0RlbGV0ZV1dIGZyb20gbm90IGFuIGluaGVyaXRlZCBwcm9wZXJ0eQogKgogKiBAcGF0aCBjaDE1LzE1LjQvMTUuNC40LzE1LjQuNC44L1MxNS40LjQuOF9BNF9UMi5qcwogKiBAZGVzY3JpcHRpb24gW1tQcm90b3R5cGVdXSBvZiBBcnJheSBpbnN0YW5jZSBpcyBBcnJheS5wcm90b3R5cGUsIFtbUHJvdG90eXBlXSBvZiBBcnJheS5wcm90b3R5cGUgaXMgT2JqZWN0LnByb3RvdHlwZQogKi8KCkFycmF5LnByb3RvdHlwZVsxXSA9IC0xOwp2YXIgeCA9IFswLDFdOwp4Lmxlbmd0aCA9IDI7CngucmV2ZXJzZSgpOwoKLy9DSEVDSyMxCmlmICh4WzBdICE9PSAxKSB7ICAKICAkRVJST1IoJyMxOiBBcnJheS5wcm90b3R5cGVbMV0gPSAtMTsgeCA9IFswLDFdOyB4Lmxlbmd0aCA9IDI7IHgucmV2ZXJzZSgpOyB4WzBdID09PSAxLiBBY3R1YWw6ICcgKyAoeFswXSkpOyAgICAKfQoKLy9DSEVDSyMyCmlmICh4WzFdICE9PSAwKSB7ICAKICAkRVJST1IoJyMyOiBBcnJheS5wcm90b3R5cGVbMV0gPSAtMTsgeCA9IFswLDFdOyB4Lmxlbmd0aCA9IDI7IHgucmV2ZXJzZSgpOyB4WzFdID09PSAwLiBBY3R1YWw6ICcgKyAoeFsxXSkpOyAgICAKfQoKeC5sZW5ndGggPSAwOwoKLy9DSEVDSyMzCmlmICh4WzBdICE9PSB1bmRlZmluZWQpIHsgIAogICRFUlJPUignIzM6IEFycmF5LnByb3RvdHlwZVsxXSA9IC0xOyB4ID0gWzAsMV07IHgubGVuZ3RoID0gMjsgeC5yZXZlcnNlKCk7IHgubGVuZ3RoID0gMDsgeFswXSA9PT0gdW5kZWZpbmVkLiBBY3R1YWw6ICcgKyAoeFswXSkpOyAgICAKfQoKLy9DSEVDSyM0CmlmICh4WzFdICE9PSAtMSkgeyAgCiAgJEVSUk9SKCcjNDogQXJyYXkucHJvdG90eXBlWzFdID0gLTE7IHggPSBbMCwxXTsgeC5sZW5ndGggPSAyOyB4LnJldmVyc2UoKTsgeC5sZW5ndGggPSAwOyB4WzFdID09PSAtMS4gQWN0dWFsOiAnICsgKHhbMV0pKTsgICAgCn0KCk9iamVjdC5wcm90b3R5cGVbMV0gPSAtMTsKT2JqZWN0LnByb3RvdHlwZS5sZW5ndGggPSAyOwpPYmplY3QucHJvdG90eXBlLnJldmVyc2UgPSBBcnJheS5wcm90b3R5cGUucmV2ZXJzZTsKeCA9IHswOjAsMToxfTsKeC5yZXZlcnNlKCk7CgovL0NIRUNLIzUKaWYgKHhbMF0gIT09IDEpIHsgIAogICRFUlJPUignIzU6IE9iamVjdC5wcm90b3R5cGVbMV0gPSAtMTsgT2JqZWN0LnByb3RvdHlwZS5sZW5ndGggPSAyOyBPYmplY3QucHJvdG90eXBlLnJldmVyc2UgPSBBcnJheS5wcm90b3R5cGUucmV2ZXJzZTsgeCA9IHswOjAsMToxfTsgeC5yZXZlcnNlKCk7IHhbMF0gPT09IDAuIEFjdHVhbDogJyArICh4WzBdKSk7ICAgIAp9CgovL0NIRUNLIzYKaWYgKHhbMV0gIT09IDApIHsgIAogICRFUlJPUignIzY6IE9iamVjdC5wcm90b3R5cGVbMV0gPSAtMTsgT2JqZWN0LnByb3RvdHlwZS5sZW5ndGggPSAyOyBPYmplY3QucHJvdG90eXBlLnJldmVyc2UgPSBBcnJheS5wcm90b3R5cGUucmV2ZXJzZTsgeCA9IHswOjAsMToxfTsgeC5yZXZlcnNlKCk7IHhbMV0gPT09IDAuIEFjdHVhbDogJyArICh4WzFdKSk7ICAgIAp9CgpkZWxldGUgeFswXTsKZGVsZXRlIHhbMV07CgovL0NIRUNLIzcKaWYgKHhbMF0gIT09IHVuZGVmaW5lZCkgeyAgCiAgJEVSUk9SKCcjNzogT2JqZWN0LnByb3RvdHlwZVsxXSA9IC0xOyBPYmplY3QucHJvdG90eXBlLmxlbmd0aCA9IDI7IE9iamVjdC5wcm90b3R5cGUucmV2ZXJzZSA9IEFycmF5LnByb3RvdHlwZS5yZXZlcnNlOyB4ID0gezA6MCwxOjF9OyB4LnJldmVyc2UoKTsgZGVsZXRlIHhbMF07IGRlbGV0ZSB4WzFdOyB4WzBdID09PSB1bmRlZmluZWQuIEFjdHVhbDogJyArICh4WzBdKSk7ICAgIAp9CgovL0NIRUNLIzgKaWYgKHhbMV0gIT09IC0xKSB7ICAKICAkRVJST1IoJyM4OiBPYmplY3QucHJvdG90eXBlWzFdID0gLTE7IE9iamVjdC5wcm90b3R5cGUubGVuZ3RoID0gMjsgT2JqZWN0LnByb3RvdHlwZS5yZXZlcnNlID0gQXJyYXkucHJvdG90eXBlLnJldmVyc2U7IHggPSB7MDowLDE6MX07IHgucmV2ZXJzZSgpOyBkZWxldGUgeFswXTsgZGVsZXRlIHhbMV07IHhbMV0gPT09IC0xLiBBY3R1YWw6ICcgKyAoeFsxXSkpOyAgICAKfQoK","commentary":"[[Get]], [[Delete]] from not an inherited property","description":"[[Prototype]] of Array instance is Array.prototype, [[Prototype] of Array.prototype is Object.prototype","path":"TestCases/ch15/15.4/15.4.4/15.4.4.8/S15.4.4.8_A4_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgbGVuZ3RoIHByb3BlcnR5IG9mIHJldmVyc2UgaGFzIHRoZSBhdHRyaWJ1dGUgRG9udEVudW0KICoKICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuOC9TMTUuNC40LjhfQTUuMS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgdXNlIHByb3BlcnR5SXNFbnVtZXJhYmxlLCBmb3ItaW4KICovCgovL0NIRUNLIzEKaWYgKEFycmF5LnByb3RvdHlwZS5yZXZlcnNlLnByb3BlcnR5SXNFbnVtZXJhYmxlKCdsZW5ndGgnKSAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyMxOiBBcnJheS5wcm90b3R5cGUucmV2ZXJzZS5wcm9wZXJ0eUlzRW51bWVyYWJsZShcJ2xlbmd0aFwnKSA9PT0gZmFsc2UuIEFjdHVhbDogJyArIChBcnJheS5wcm90b3R5cGUucmV2ZXJzZS5wcm9wZXJ0eUlzRW51bWVyYWJsZSgnbGVuZ3RoJykpKTsKfQoKLy9DSEVDSyMyCnZhciByZXN1bHQgPSB0cnVlOwpmb3IgKHAgaW4gQXJyYXkucmV2ZXJzZSl7CiAgaWYgKHAgPT09ICJsZW5ndGgiKSB7CiAgICB2YXIgcmVzdWx0ID0gZmFsc2U7CiAgfSAgCn0KCmlmIChyZXN1bHQgIT09IHRydWUpIHsKICAkRVJST1IoJyMyOiByZXN1bHQgPSB0cnVlOyBmb3IgKHAgaW4gQXJyYXkucmV2ZXJzZSkgeyBpZiAocCA9PT0gImxlbmd0aCIpIHJlc3VsdCA9IGZhbHNlOyB9ICByZXN1bHQgPT09IHRydWU7Jyk7Cn0KCgo=","commentary":"The length property of reverse has the attribute DontEnum","description":"Checking use propertyIsEnumerable, for-in","path":"TestCases/ch15/15.4/15.4.4/15.4.4.8/S15.4.4.8_A5.1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgbGVuZ3RoIHByb3BlcnR5IG9mIHJldmVyc2UgaGFzIHRoZSBhdHRyaWJ1dGUgRG9udERlbGV0ZQogKgogKiBAcGF0aCBjaDE1LzE1LjQvMTUuNC40LzE1LjQuNC44L1MxNS40LjQuOF9BNS4yLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyB1c2UgaGFzT3duUHJvcGVydHksIGRlbGV0ZQogKiBAbm9TdHJpY3QKICovCgovL0NIRUNLIzEKaWYgKEFycmF5LnByb3RvdHlwZS5yZXZlcnNlLmhhc093blByb3BlcnR5KCdsZW5ndGgnKSAhPT0gdHJ1ZSkgewogICRGQUlMKCcjMTogQXJyYXkucHJvdG90eXBlLnJldmVyc2UuaGFzT3duUHJvcGVydHkoXCdsZW5ndGhcJykgPT09IHRydWUuIEFjdHVhbDogJyArIChBcnJheS5wcm90b3R5cGUucmV2ZXJzZS5oYXNPd25Qcm9wZXJ0eSgnbGVuZ3RoJykpKTsKfQoKZGVsZXRlIEFycmF5LnByb3RvdHlwZS5yZXZlcnNlLmxlbmd0aDsKCi8vQ0hFQ0sjMgppZiAoQXJyYXkucHJvdG90eXBlLnJldmVyc2UuaGFzT3duUHJvcGVydHkoJ2xlbmd0aCcpICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMjogZGVsZXRlIEFycmF5LnByb3RvdHlwZS5yZXZlcnNlLmxlbmd0aDsgQXJyYXkucHJvdG90eXBlLnJldmVyc2UuaGFzT3duUHJvcGVydHkoXCdsZW5ndGhcJykgPT09IHRydWUuIEFjdHVhbDogJyArIChBcnJheS5wcm90b3R5cGUucmV2ZXJzZS5oYXNPd25Qcm9wZXJ0eSgnbGVuZ3RoJykpKTsKfQoKLy9DSEVDSyMzCmlmIChBcnJheS5wcm90b3R5cGUucmV2ZXJzZS5sZW5ndGggPT09IHVuZGVmaW5lZCkgewogICRFUlJPUignIzM6IGRlbGV0ZSBBcnJheS5wcm90b3R5cGUucmV2ZXJzZS5sZW5ndGg7IEFycmF5LnByb3RvdHlwZS5yZXZlcnNlLmxlbmd0aCAhPT0gdW5kZWZpbmVkJyk7Cn0KCgoK","commentary":"The length property of reverse has the attribute DontDelete","description":"Checking use hasOwnProperty, delete","noStrict":"","path":"TestCases/ch15/15.4/15.4.4/15.4.4.8/S15.4.4.8_A5.2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgbGVuZ3RoIHByb3BlcnR5IG9mIHJldmVyc2UgaGFzIHRoZSBhdHRyaWJ1dGUgUmVhZE9ubHkKICoKICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuOC9TMTUuNC40LjhfQTUuMy5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgaWYgdmFyeWluZyB0aGUgbGVuZ3RoIHByb3BlcnR5IGZhaWxzCiAqIEBub1N0cmljdAogKi8KCi8vQ0hFQ0sjMQp2YXIgeCA9IEFycmF5LnByb3RvdHlwZS5yZXZlcnNlLmxlbmd0aDsKQXJyYXkucHJvdG90eXBlLnJldmVyc2UubGVuZ3RoID0gSW5maW5pdHk7CmlmIChBcnJheS5wcm90b3R5cGUucmV2ZXJzZS5sZW5ndGggIT09IHgpIHsKICAkRVJST1IoJyMxOiB4ID0gQXJyYXkucHJvdG90eXBlLnJldmVyc2UubGVuZ3RoOyBBcnJheS5wcm90b3R5cGUucmV2ZXJzZS5sZW5ndGggPSBJbmZpbml0eTsgQXJyYXkucHJvdG90eXBlLnJldmVyc2UubGVuZ3RoID09PSB4LiBBY3R1YWw6ICcgKyAoQXJyYXkucHJvdG90eXBlLnJldmVyc2UubGVuZ3RoKSk7Cn0KCgo=","commentary":"The length property of reverse has the attribute ReadOnly","description":"Checking if varying the length property fails","noStrict":"","path":"TestCases/ch15/15.4/15.4.4/15.4.4.8/S15.4.4.8_A5.3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgbGVuZ3RoIHByb3BlcnR5IG9mIHJldmVyc2UgaXMgMAogKgogKiBAcGF0aCBjaDE1LzE1LjQvMTUuNC40LzE1LjQuNC44L1MxNS40LjQuOF9BNS40LmpzCiAqIEBkZXNjcmlwdGlvbiByZXZlcnNlLmxlbmd0aCA9PT0gMQogKi8KCi8vQ0hFQ0sjMQppZiAoQXJyYXkucHJvdG90eXBlLnJldmVyc2UubGVuZ3RoICE9PSAwKSB7CiAgJEVSUk9SKCcjMTogQXJyYXkucHJvdG90eXBlLnJldmVyc2UubGVuZ3RoID09PSAwLiBBY3R1YWw6ICcgKyAoQXJyYXkucHJvdG90eXBlLnJldmVyc2UubGVuZ3RoKSk7Cn0KCgo=","commentary":"The length property of reverse is 0","description":"reverse.length === 1","path":"TestCases/ch15/15.4/15.4.4/15.4.4.8/S15.4.4.8_A5.4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcmV2ZXJzZSBwcm9wZXJ0eSBvZiBBcnJheSBoYXMgdGhlIGF0dHJpYnV0ZSBEb250RW51bQogKgogKiBAcGF0aCBjaDE1LzE1LjQvMTUuNC40LzE1LjQuNC44L1MxNS40LjQuOF9BNS41LmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyB1c2UgcHJvcGVydHlJc0VudW1lcmFibGUsIGZvci1pbgogKi8KCi8vQ0hFQ0sjMQppZiAoQXJyYXkucHJvcGVydHlJc0VudW1lcmFibGUoJ3JldmVyc2UnKSAhPT0gZmFsc2UpIHsKICAkRVJST1IoJyMxOiBBcnJheS5wcm9wZXJ0eUlzRW51bWVyYWJsZShcJ3JldmVyc2VcJykgPT09IGZhbHNlLiBBY3R1YWw6ICcgKyAoQXJyYXkucHJvcGVydHlJc0VudW1lcmFibGUoJ3JldmVyc2UnKSkpOwp9CgovL0NIRUNLIzIKdmFyIHJlc3VsdCA9IHRydWU7CmZvciAodmFyIHAgaW4gQXJyYXkpewogIGlmIChwID09PSAicmV2ZXJzZSIpIHsKICAgIHJlc3VsdCA9IGZhbHNlOwogIH0gIAp9CgppZiAocmVzdWx0ICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMjogcmVzdWx0ID0gdHJ1ZTsgZm9yIChwIGluIEFycmF5KSB7IGlmIChwID09PSAicmV2ZXJzZSIpIHJlc3VsdCA9IGZhbHNlOyB9ICByZXN1bHQgPT09IHRydWU7Jyk7Cn0KCgo=","commentary":"The reverse property of Array has the attribute DontEnum","description":"Checking use propertyIsEnumerable, for-in","path":"TestCases/ch15/15.4/15.4.4/15.4.4.8/S15.4.4.8_A5.5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcmV2ZXJzZSBwcm9wZXJ0eSBvZiBBcnJheSBoYXMgbm90IHByb3RvdHlwZSBwcm9wZXJ0eQogKgogKiBAcGF0aCBjaDE1LzE1LjQvMTUuNC40LzE1LjQuNC44L1MxNS40LjQuOF9BNS42LmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBBcnJheS5wcm90b3R5cGUucmV2ZXJzZS5wcm90b3R5cGUKICovCgovL0NIRUNLIzEKaWYgKEFycmF5LnByb3RvdHlwZS5yZXZlcnNlLnByb3RvdHlwZSAhPT0gdW5kZWZpbmVkKSB7CiAgJEVSUk9SKCcjMTogQXJyYXkucHJvdG90eXBlLnJldmVyc2UucHJvdG90eXBlID09PSB1bmRlZmluZWQuIEFjdHVhbDogJyArIChBcnJheS5wcm90b3R5cGUucmV2ZXJzZS5wcm90b3R5cGUpKTsKfQoK","commentary":"The reverse property of Array has not prototype property","description":"Checking Array.prototype.reverse.prototype","path":"TestCases/ch15/15.4/15.4.4/15.4.4.8/S15.4.4.8_A5.6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgcmV2ZXJzZSBwcm9wZXJ0eSBvZiBBcnJheSBjYW4ndCBiZSB1c2VkIGFzIGNvbnN0cnVjdG9yCiAqCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjgvUzE1LjQuNC44X0E1LjcuanMKICogQGRlc2NyaXB0aW9uIElmIHByb3BlcnR5IGRvZXMgbm90IGltcGxlbWVudCB0aGUgaW50ZXJuYWwgW1tDb25zdHJ1Y3RdXSBtZXRob2QsIHRocm93IGEgVHlwZUVycm9yIGV4Y2VwdGlvbgogKi8KCi8vQ0hFQ0sjMQoKdHJ5IHsKICBuZXcgQXJyYXkucHJvdG90eXBlLnJldmVyc2UoKTsKICAkRVJST1IoJyMxLjE6IG5ldyBBcnJheS5wcm90b3R5cGUucmV2ZXJzZSgpIHRocm93IFR5cGVFcnJvci4gQWN0dWFsOiAnICsgKG5ldyBBcnJheS5wcm90b3R5cGUucmV2ZXJzZSgpKSk7Cn0gY2F0Y2ggKGUpIHsKICBpZiAoKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpICE9PSB0cnVlKSB7CiAgICAkRVJST1IoJyMxLjI6IG5ldyBBcnJheS5wcm90b3R5cGUucmV2ZXJzZSgpIHRocm93IFR5cGVFcnJvci4gQWN0dWFsOiAnICsgKGUpKTsKICB9Cn0KCg==","commentary":"The reverse property of Array can't be used as constructor","description":"If property does not implement the internal [[Construct]] method, throw a TypeError exception","path":"TestCases/ch15/15.4/15.4.4/15.4.4.8/S15.4.4.8_A5.7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBsZW5ndGggZXF1YWwgemVybywgY2FsbCB0aGUgW1tQdXRdXSBtZXRob2Qgb2YgdGhpcyBvYmplY3QKICogd2l0aCBhcmd1bWVudHMgImxlbmd0aCIgYW5kIDAgYW5kIHJldHVybiB1bmRlZmluZWQKICoKICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuOS9TMTUuNC40LjlfQTEuMV9UMS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgdGhpcyBhbGdvcml0aG0KICovCgovL0NIRUNLIzEKdmFyIHggPSBuZXcgQXJyYXkoKTsKdmFyIHNoaWZ0ID0geC5zaGlmdCgpOwppZiAoc2hpZnQgIT09IHVuZGVmaW5lZCkgewogICRFUlJPUignIzE6IHZhciB4ID0gbmV3IEFycmF5KCk7IHguc2hpZnQoKSA9PT0gdW5kZWZpbmVkLiBBY3R1YWw6ICcgKyAoc2hpZnQpKTsKfSAgCgovL0NIRUNLIzIKaWYgKHgubGVuZ3RoICE9PSAwKSB7CiAgJEVSUk9SKCcjMjogdmFyIHggPSBuZXcgQXJyYXkoKTsgeC5zaGlmdCgpOyB4Lmxlbmd0aCA9PT0gMC4gQWN0dWFsOiAnICsgKHgubGVuZ3RoKSk7Cn0gIAoKLy9DSEVDSyMzCnZhciB4ID0gQXJyYXkoMSwyLDMpOwp4Lmxlbmd0aCA9IDA7CnZhciBzaGlmdCA9IHguc2hpZnQoKTsKaWYgKHNoaWZ0ICE9PSB1bmRlZmluZWQpIHsKICAkRVJST1IoJyMyOiB2YXIgeCA9IEFycmF5KDEsMiwzKTsgeC5sZW5ndGggPSAwOyB4LnNoaWZ0KCkgPT09IHVuZGVmaW5lZC4gQWN0dWFsOiAnICsgKHNoaWZ0KSk7Cn0gCgovL0NIRUNLIzQKaWYgKHgubGVuZ3RoICE9PSAwKSB7CiAgJEVSUk9SKCcjNDogdmFyIHggPSBuZXcgQXJyYXkoMSwyLDMpOyB4Lmxlbmd0aCA9IDA7IHguc2hpZnQoKTsgeC5sZW5ndGggPT09IDAuIEFjdHVhbDogJyArICh4Lmxlbmd0aCkpOwp9ICAKCg==","commentary":"If length equal zero, call the [[Put]] method of this object\nwith arguments \"length\" and 0 and return undefined","description":"Checking this algorithm","path":"TestCases/ch15/15.4/15.4.4/15.4.4.9/S15.4.4.9_A1.1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgZmlyc3QgZWxlbWVudCBvZiB0aGUgYXJyYXkgaXMgcmVtb3ZlZCBmcm9tIHRoZSBhcnJheSBhbmQKICogcmV0dXJuZWQKICoKICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuOS9TMTUuNC40LjlfQTEuMl9UMS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgdGhpcyB1c2UgbmV3IEFycmF5KCkgYW5kIFtdCiAqLwoKLy9DSEVDSyMxCnZhciB4ID0gbmV3IEFycmF5KDAsMSwyLDMpOwp2YXIgc2hpZnQgPSB4LnNoaWZ0KCk7CmlmIChzaGlmdCAhPT0gMCkgewogICRFUlJPUignIzE6IHggPSBuZXcgQXJyYXkoMCwxLDIsMyk7IHguc2hpZnQoKSA9PT0gMC4gQWN0dWFsOiAnICsgKHNoaWZ0KSk7Cn0KCi8vQ0hFQ0sjMgppZiAoeC5sZW5ndGggIT09IDMpIHsKICAkRVJST1IoJyMyOiB4ID0gbmV3IEFycmF5KDAsMSwyLDMpOyB4LnNoaWZ0KCk7IHgubGVuZ3RoID09IDMnKTsKfQoKLy9DSEVDSyMzCmlmICh4WzBdICE9PSAxKSB7CiAgJEVSUk9SKCcjMzogeCA9IG5ldyBBcnJheSgwLDEsMiwzKTsgeC5zaGlmdCgpOyB4WzBdID09IDEnKTsKfQoKLy9DSEVDSyM0CmlmICh4WzFdICE9PSAyKSB7CiAgJEVSUk9SKCcjNDogeCA9IG5ldyBBcnJheSgwLDEsMiwzKTsgeC5zaGlmdCgpOyB4WzFdID09IDInKTsKfQoKLy9DSEVDSyM1CnggPSBbXTsKeFswXSA9IDA7CnhbM10gPSAzOwp2YXIgc2hpZnQgPSB4LnNoaWZ0KCk7CmlmIChzaGlmdCAhPT0gMCkgewogICRFUlJPUignIzU6IHggPSBbXTsgeFswXSA9IDA7IHhbM10gPSAzOyB4LnNoaWZ0KCkgPT09IDAuIEFjdHVhbDogJyArIChzaGlmdCkpOwp9CgovL0NIRUNLIzYKaWYgKHgubGVuZ3RoICE9PSAzKSB7CiAgJEVSUk9SKCcjNjogeCA9IFtdOyB4WzBdID0gMDsgeFszXSA9IDM7IHguc2hpZnQoKTsgeC5sZW5ndGggPT0gMycpOwp9CgovL0NIRUNLIzcKaWYgKHhbMF0gIT09IHVuZGVmaW5lZCkgewogICRFUlJPUignIzc6IHggPSBbXTsgeFswXSA9IDA7IHhbM10gPSAzOyB4LnNoaWZ0KCk7IHhbMF0gPT0gdW5kZWZpbmVkJyk7Cn0KCi8vQ0hFQ0sjOAppZiAoeFsxMl0gIT09IHVuZGVmaW5lZCkgewogICRFUlJPUignIzg6IHggPSBbXTsgeFswXSA9IDA7IHhbM10gPSAzOyB4LnNoaWZ0KCk7IHhbMV0gPT0gdW5kZWZpbmVkJyk7Cn0KCi8vQ0hFQ0sjOQp4Lmxlbmd0aCA9IDE7CnZhciBzaGlmdCA9IHguc2hpZnQoKTsKaWYgKHNoaWZ0ICE9PSB1bmRlZmluZWQpIHsKICAkRVJST1IoJyM5OiB4ID0gW107IHhbMF0gPSAwOyB4WzNdID0gMzsgeC5zaGlmdCgpOyB4Lmxlbmd0aCA9IDE7IHguc2hpZnQoKSA9PT0gdW5kZWZpbmVkLiBBY3R1YWw6ICcgKyAoc2hpZnQpKTsKfQoKLy9DSEVDSyMxMAppZiAoeC5sZW5ndGggIT09IDApIHsKICAkRVJST1IoJyMxMDogeCA9IFtdOyB4WzBdID0gMDsgeFszXSA9IDM7IHguc2hpZnQoKTsgeC5sZW5ndGggPSAxOyB4LnNoaWZ0KCk7IHgubGVuZ3RoID09PSAwLiBBY3R1YWw6ICcgKyAoeC5sZW5ndGgpKTsKfQoK","commentary":"The first element of the array is removed from the array and\nreturned","description":"Checking this use new Array() and []","path":"TestCases/ch15/15.4/15.4.4/15.4.4.9/S15.4.4.9_A1.2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgc2hpZnQgZnVuY3Rpb24gaXMgaW50ZW50aW9uYWxseSBnZW5lcmljLgogKiBJdCBkb2VzIG5vdCByZXF1aXJlIHRoYXQgaXRzIHRoaXMgdmFsdWUgYmUgYW4gQXJyYXkgb2JqZWN0CiAqCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjkvUzE1LjQuNC45X0EyX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBJZiBUb1VpbnQzMihsZW5ndGgpIGVxdWFsIHplcm8sIGNhbGwgdGhlIFtbUHV0XV0gbWV0aG9kCiAqIG9mIHRoaXMgb2JqZWN0IHdpdGggYXJndW1lbnRzICJsZW5ndGgiIGFuZCAwIGFuZCByZXR1cm4gdW5kZWZpbmVkCiAqLwoKdmFyIG9iaiA9IHt9OwpvYmouc2hpZnQgPSBBcnJheS5wcm90b3R5cGUuc2hpZnQ7CgppZiAob2JqLmxlbmd0aCAhPT0gdW5kZWZpbmVkKSB7CiAgJEVSUk9SKCcjMDogdmFyIG9iaiA9IHt9OyBvYmoubGVuZ3RoID09PSB1bmRlZmluZWQuIEFjdHVhbDogJyArIChvYmoubGVuZ3RoKSk7Cn0gZWxzZSB7CiAgICAvL0NIRUNLIzEgIAogICAgdmFyIHNoaWZ0ID0gb2JqLnNoaWZ0KCk7CmlmIChzaGlmdCAhPT0gdW5kZWZpbmVkKSB7CiAgICAgICRFUlJPUignIzE6IHZhciBvYmogPSB7fTsgb2JqLnNoaWZ0ID0gQXJyYXkucHJvdG90eXBlLnNoaWZ0OyBvYmouc2hpZnQoKSA9PT0gdW5kZWZpbmVkLiBBY3R1YWw6ICcgKyAoc2hpZnQpKTsKICAgIH0KICAgIC8vQ0hFQ0sjMgogICAgaWYgKG9iai5sZW5ndGggIT09IDApIHsKICAgICAgJEVSUk9SKCcjMjogdmFyIG9iaiA9IHt9OyBvYmouc2hpZnQgPSBBcnJheS5wcm90b3R5cGUuc2hpZnQ7IG9iai5zaGlmdCgpOyBvYmoubGVuZ3RoID09PSAwLiBBY3R1YWw6ICcgKyAob2JqLmxlbmd0aCkpOwogICAgfQp9ICAgIAoKLy9DSEVDSyMzCm9iai5sZW5ndGggPSB1bmRlZmluZWQ7CnZhciBzaGlmdCA9IG9iai5zaGlmdCgpOwppZiAoc2hpZnQgIT09IHVuZGVmaW5lZCkgewogICRFUlJPUignIzM6IHZhciBvYmogPSB7fTsgb2JqLmxlbmd0aCA9IHVuZGVmaW5lZDsgb2JqLnNoaWZ0ID0gQXJyYXkucHJvdG90eXBlLnNoaWZ0OyBvYmouc2hpZnQoKSA9PT0gdW5kZWZpbmVkLiBBY3R1YWw6ICcgKyAoc2hpZnQpKTsKfSAKCi8vQ0hFQ0sjNAppZiAob2JqLmxlbmd0aCAhPT0gMCkgewogICRFUlJPUignIzQ6IHZhciBvYmogPSB7fTsgb2JqLmxlbmd0aCA9IHVuZGVmaW5lZDsgb2JqLnNoaWZ0ID0gQXJyYXkucHJvdG90eXBlLnNoaWZ0OyBvYmouc2hpZnQoKTsgb2JqLmxlbmd0aCA9PT0gMC4gQWN0dWFsOiAnICsgKG9iai5sZW5ndGgpKTsKfQoKLy9DSEVDSyM1Cm9iai5sZW5ndGggPSBudWxsCnZhciBzaGlmdCA9IG9iai5zaGlmdCgpOwppZiAoc2hpZnQgIT09IHVuZGVmaW5lZCkgewogICRFUlJPUignIzU6IHZhciBvYmogPSB7fTsgb2JqLmxlbmd0aCA9IG51bGw7IG9iai5zaGlmdCA9IEFycmF5LnByb3RvdHlwZS5zaGlmdDsgb2JqLnNoaWZ0KCkgPT09IHVuZGVmaW5lZC4gQWN0dWFsOiAnICsgKHNoaWZ0KSk7Cn0gCgovL0NIRUNLIzYKaWYgKG9iai5sZW5ndGggIT09IDApIHsKICAkRVJST1IoJyM2OiB2YXIgb2JqID0ge307IG9iai5sZW5ndGggPSBudWxsOyBvYmouc2hpZnQgPSBBcnJheS5wcm90b3R5cGUuc2hpZnQ7IG9iai5zaGlmdCgpOyBvYmoubGVuZ3RoID09PSAwLiBBY3R1YWw6ICcgKyAob2JqLmxlbmd0aCkpOwp9Cgo=","commentary":"The shift function is intentionally generic.\nIt does not require that its this value be an Array object","description":"If ToUint32(length) equal zero, call the [[Put]] method\nof this object with arguments \"length\" and 0 and return undefined","path":"TestCases/ch15/15.4/15.4.4/15.4.4.9/S15.4.4.9_A2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgc2hpZnQgZnVuY3Rpb24gaXMgaW50ZW50aW9uYWxseSBnZW5lcmljLgogKiBJdCBkb2VzIG5vdCByZXF1aXJlIHRoYXQgaXRzIHRoaXMgdmFsdWUgYmUgYW4gQXJyYXkgb2JqZWN0CiAqCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjkvUzE1LjQuNC45X0EyX1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBJZiBUb1VpbnQzMihsZW5ndGgpIGVxdWFsIHplcm8sIGNhbGwgdGhlIFtbUHV0XV0gbWV0aG9kCiAqIG9mIHRoaXMgb2JqZWN0IHdpdGggYXJndW1lbnRzICJsZW5ndGgiIGFuZCAwIGFuZCByZXR1cm4gdW5kZWZpbmVkCiAqLwoKdmFyIG9iaiA9IHt9OwpvYmouc2hpZnQgPSBBcnJheS5wcm90b3R5cGUuc2hpZnQ7CgovL0NIRUNLIzEKb2JqLmxlbmd0aCA9IE5hTjsKdmFyIHNoaWZ0ID0gb2JqLnNoaWZ0KCk7CmlmIChzaGlmdCAhPT0gdW5kZWZpbmVkKSB7CiAgJEVSUk9SKCcjMTogdmFyIG9iaiA9IHt9OyBvYmoubGVuZ3RoID0gTmFOOyBvYmouc2hpZnQgPSBBcnJheS5wcm90b3R5cGUuc2hpZnQ7IG9iai5zaGlmdCgpID09PSB1bmRlZmluZWQuIEFjdHVhbDogJyArIChzaGlmdCkpOwp9CgovL0NIRUNLIzIKaWYgKG9iai5sZW5ndGggIT09IDApIHsKICAkRVJST1IoJyMyOiB2YXIgb2JqID0ge307IG9iai5sZW5ndGggPSBOYU47IG9iai5zaGlmdCA9IEFycmF5LnByb3RvdHlwZS5zaGlmdDsgb2JqLnNoaWZ0KCk7IG9iai5sZW5ndGggPT09IDAuIEFjdHVhbDogJyArIChvYmoubGVuZ3RoKSk7Cn0KCi8vQ0hFQ0sjMwpvYmoubGVuZ3RoID0gTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZOwp2YXIgc2hpZnQgPSBvYmouc2hpZnQoKTsKaWYgKHNoaWZ0ICE9PSB1bmRlZmluZWQpIHsKICAkRVJST1IoJyMzOiB2YXIgb2JqID0ge307IG9iai5sZW5ndGggPSBOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFk7IG9iai5zaGlmdCA9IEFycmF5LnByb3RvdHlwZS5zaGlmdDsgb2JqLnNoaWZ0KCkgPT09IHVuZGVmaW5lZC4gQWN0dWFsOiAnICsgKHNoaWZ0KSk7Cn0KCi8vQ0hFQ0sjNAppZiAob2JqLmxlbmd0aCAhPT0gMCkgewogICRFUlJPUignIzQ6IHZhciBvYmogPSB7fTsgb2JqLmxlbmd0aCA9IE51bWJlci5QT1NJVElWRV9JTkZJTklUWTsgb2JqLnNoaWZ0ID0gQXJyYXkucHJvdG90eXBlLnNoaWZ0OyBvYmouc2hpZnQoKTsgb2JqLmxlbmd0aCA9PT0gMC4gQWN0dWFsOiAnICsgKG9iai5sZW5ndGgpKTsKfQoKLy9DSEVDSyM1Cm9iai5sZW5ndGggPSBOdW1iZXIuTkVHQVRJVkVfSU5GSU5JVFk7CnZhciBzaGlmdCA9IG9iai5zaGlmdCgpOwppZiAoc2hpZnQgIT09IHVuZGVmaW5lZCkgewogICRFUlJPUignIzU6IHZhciBvYmogPSB7fTsgb2JqLmxlbmd0aCA9IE51bWJlci5ORUdBVElWRV9JTkZJTklUWTsgb2JqLnNoaWZ0ID0gQXJyYXkucHJvdG90eXBlLnNoaWZ0OyBvYmouc2hpZnQoKSA9PT0gdW5kZWZpbmVkLiBBY3R1YWw6ICcgKyAoc2hpZnQpKTsKfQoKLy9DSEVDSyM2CmlmIChvYmoubGVuZ3RoICE9PSAwKSB7CiAgJEVSUk9SKCcjNjogdmFyIG9iaiA9IHt9OyBvYmoubGVuZ3RoID0gTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZOyBvYmouc2hpZnQgPSBBcnJheS5wcm90b3R5cGUuc2hpZnQ7IG9iai5zaGlmdCgpOyBvYmoubGVuZ3RoID09PSAwLiBBY3R1YWw6ICcgKyAob2JqLmxlbmd0aCkpOwp9CgovL0NIRUNLIzcKb2JqLmxlbmd0aCA9IC0wOwp2YXIgc2hpZnQgPSBvYmouc2hpZnQoKTsKaWYgKHNoaWZ0ICE9PSB1bmRlZmluZWQpIHsKICAkRVJST1IoJyM3OiB2YXIgb2JqID0ge307IG9iai5sZW5ndGggPSAtMDsgb2JqLnNoaWZ0ID0gQXJyYXkucHJvdG90eXBlLnNoaWZ0OyBvYmouc2hpZnQoKSA9PT0gdW5kZWZpbmVkLiBBY3R1YWw6ICcgKyAoc2hpZnQpKTsKfSAgICAKCi8vQ0hFQ0sjOAppZiAob2JqLmxlbmd0aCAhPT0gMCkgewogICRFUlJPUignIzg6IHZhciBvYmogPSB7fTsgb2JqLmxlbmd0aCA9IC0wOyBvYmouc2hpZnQgPSBBcnJheS5wcm90b3R5cGUuc2hpZnQ7IG9iai5zaGlmdCgpOyBvYmoubGVuZ3RoID09PSAwLiBBY3R1YWw6ICcgKyAob2JqLmxlbmd0aCkpOwp9IGVsc2UgewogIGlmICgxL29iai5sZW5ndGggIT09IE51bWJlci5QT1NJVElWRV9JTkZJTklUWSkgewogICAgJEVSUk9SKCcjODogdmFyIG9iaiA9IHt9OyBvYmoubGVuZ3RoID0gLTA7IG9iai5zaGlmdCA9IEFycmF5LnByb3RvdHlwZS5zaGlmdDsgb2JqLnNoaWZ0KCk7IG9iai5sZW5ndGggPT09ICswLiBBY3R1YWw6ICcgKyAob2JqLmxlbmd0aCkpOwogIH0gIAp9ICAgCgovL0NIRUNLIzkKb2JqLmxlbmd0aCA9IDAuNTsKdmFyIHNoaWZ0ID0gb2JqLnNoaWZ0KCk7CmlmIChzaGlmdCAhPT0gdW5kZWZpbmVkKSB7CiAgJEVSUk9SKCcjOTogdmFyIG9iaiA9IHt9OyBvYmoubGVuZ3RoID0gMC41OyBvYmouc2hpZnQgPSBBcnJheS5wcm90b3R5cGUuc2hpZnQ7IG9iai5zaGlmdCgpID09PSB1bmRlZmluZWQuIEFjdHVhbDogJyArIChzaGlmdCkpOwp9CgovL0NIRUNLIzEwCmlmIChvYmoubGVuZ3RoICE9PSAwKSB7CiAgJEVSUk9SKCcjMTA6IHZhciBvYmogPSB7fTsgb2JqLmxlbmd0aCA9IDAuNTsgb2JqLnNoaWZ0ID0gQXJyYXkucHJvdG90eXBlLnNoaWZ0OyBvYmouc2hpZnQoKTsgb2JqLmxlbmd0aCA9PT0gMC4gQWN0dWFsOiAnICsgKG9iai5sZW5ndGgpKTsKfSAKCi8vQ0hFQ0sjMTEKb2JqLmxlbmd0aCA9IG5ldyBOdW1iZXIoMCk7CnZhciBzaGlmdCA9IG9iai5zaGlmdCgpOwppZiAoc2hpZnQgIT09IHVuZGVmaW5lZCkgewogICRFUlJPUignIzExOiB2YXIgb2JqID0ge307IG9iai5sZW5ndGggPSBuZXcgTnVtYmVyKDApOyBvYmouc2hpZnQgPSBBcnJheS5wcm90b3R5cGUuc2hpZnQ7IG9iai5zaGlmdCgpID09PSB1bmRlZmluZWQuIEFjdHVhbDogJyArIChzaGlmdCkpOwp9CgovL0NIRUNLIzEyCmlmIChvYmoubGVuZ3RoICE9PSAwKSB7CiAgJEVSUk9SKCcjMTI6IHZhciBvYmogPSB7fTsgb2JqLmxlbmd0aCA9IG5ldyBOdW1iZXIoMCk7IG9iai5zaGlmdCA9IEFycmF5LnByb3RvdHlwZS5zaGlmdDsgb2JqLnNoaWZ0KCk7IG9iai5sZW5ndGggPT09IDAuIEFjdHVhbDogJyArIChvYmoubGVuZ3RoKSk7Cn0KCg==","commentary":"The shift function is intentionally generic.\nIt does not require that its this value be an Array object","description":"If ToUint32(length) equal zero, call the [[Put]] method\nof this object with arguments \"length\" and 0 and return undefined","path":"TestCases/ch15/15.4/15.4.4/15.4.4.9/S15.4.4.9_A2_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgc2hpZnQgZnVuY3Rpb24gaXMgaW50ZW50aW9uYWxseSBnZW5lcmljLgogKiBJdCBkb2VzIG5vdCByZXF1aXJlIHRoYXQgaXRzIHRoaXMgdmFsdWUgYmUgYW4gQXJyYXkgb2JqZWN0CiAqCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjkvUzE1LjQuNC45X0EyX1QzLmpzCiAqIEBkZXNjcmlwdGlvbiBUaGUgZmlyc3QgZWxlbWVudCBvZiB0aGUgYXJyYXkgaXMgcmVtb3ZlZCBmcm9tIHRoZSBhcnJheSBhbmQKICogcmV0dXJuZWQKICovCgp2YXIgb2JqID0ge307Cm9iai5zaGlmdCA9IEFycmF5LnByb3RvdHlwZS5zaGlmdDsKCi8vQ0hFQ0sjMQpvYmoubGVuZ3RoID0gMi41Owp2YXIgc2hpZnQgPSBvYmouc2hpZnQoKTsKaWYgKHNoaWZ0ICE9PSB1bmRlZmluZWQpIHsKICAkRVJST1IoJyMxOiB2YXIgb2JqID0ge307IG9iai5sZW5ndGggPSAyLjU7IG9iai5zaGlmdCA9IEFycmF5LnByb3RvdHlwZS5zaGlmdDsgb2JqLnNoaWZ0KCkgPT09IHVuZGVmaW5lZC4gQWN0dWFsOiAnICsgKHNoaWZ0KSk7Cn0KCi8vQ0hFQ0sjMgppZiAob2JqLmxlbmd0aCAhPT0gMSkgewogICRFUlJPUignIzI6IHZhciBvYmogPSB7fTsgb2JqLmxlbmd0aCA9IDIuNTsgb2JqLnNoaWZ0ID0gQXJyYXkucHJvdG90eXBlLnNoaWZ0OyBvYmouc2hpZnQoKTsgb2JqLmxlbmd0aCA9PT0gMS4gQWN0dWFsOiAnICsgKG9iai5sZW5ndGgpKTsKfSAKCi8vQ0hFQ0sjMwpvYmoubGVuZ3RoID0gbmV3IE51bWJlcigyKTsKdmFyIHNoaWZ0ID0gb2JqLnNoaWZ0KCk7CmlmIChzaGlmdCAhPT0gdW5kZWZpbmVkKSB7CiAgJEVSUk9SKCcjMTE6IHZhciBvYmogPSB7fTsgb2JqLmxlbmd0aCA9IG5ldyBOdW1iZXIoMik7IG9iai5zaGlmdCA9IEFycmF5LnByb3RvdHlwZS5zaGlmdDsgb2JqLnNoaWZ0KCkgPT09IHVuZGVmaW5lZC4gQWN0dWFsOiAnICsgKHNoaWZ0KSk7Cn0KCi8vQ0hFQ0sjMwppZiAob2JqLmxlbmd0aCAhPT0gMSkgewogICRFUlJPUignIzEyOiB2YXIgb2JqID0ge307IG9iai5sZW5ndGggPSBuZXcgTnVtYmVyKDIpOyBvYmouc2hpZnQgPSBBcnJheS5wcm90b3R5cGUuc2hpZnQ7IG9iai5zaGlmdCgpOyBvYmoubGVuZ3RoID09PSAxLiBBY3R1YWw6ICcgKyAob2JqLmxlbmd0aCkpOwp9IAoK","commentary":"The shift function is intentionally generic.\nIt does not require that its this value be an Array object","description":"The first element of the array is removed from the array and\nreturned","path":"TestCases/ch15/15.4/15.4.4/15.4.4.9/S15.4.4.9_A2_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgc2hpZnQgZnVuY3Rpb24gaXMgaW50ZW50aW9uYWxseSBnZW5lcmljLgogKiBJdCBkb2VzIG5vdCByZXF1aXJlIHRoYXQgaXRzIHRoaXMgdmFsdWUgYmUgYW4gQXJyYXkgb2JqZWN0CiAqCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjkvUzE1LjQuNC45X0EyX1Q0LmpzCiAqIEBkZXNjcmlwdGlvbiBUaGUgZmlyc3QgZWxlbWVudCBvZiB0aGUgYXJyYXkgaXMgcmVtb3ZlZCBmcm9tIHRoZSBhcnJheSBhbmQKICogcmV0dXJuZWQKICovCgp2YXIgb2JqID0ge307Cm9ialsiMCJdID0gMDsKb2JqWyIzIl0gPSAzOwpvYmouc2hpZnQgPSBBcnJheS5wcm90b3R5cGUuc2hpZnQ7CgovL0NIRUNLIzEKb2JqLmxlbmd0aCA9IDQ7CnZhciBzaGlmdCA9IG9iai5zaGlmdCgpOwppZiAoc2hpZnQgIT09IDApIHsKICAkRVJST1IoJyMxOiB2YXIgb2JqID0ge307IG9ialsiMCJdID0gMDsgb2JqWyIzIl0gPSAzOyBvYmoubGVuZ3RoID0gNDsgb2JqLnNoaWZ0ID0gQXJyYXkucHJvdG90eXBlLnNoaWZ0OyBvYmouc2hpZnQoKSA9PT0gMC4gQWN0dWFsOiAnICsgKHNoaWZ0KSk7Cn0gCgovL0NIRUNLIzIKaWYgKG9iai5sZW5ndGggIT09IDMpIHsKICAkRVJST1IoJyMyOiB2YXIgb2JqID0ge307IG9ialsiMCJdID0gMDsgb2JqWyIzIl0gPSAzOyBvYmoubGVuZ3RoID0gNDsgb2JqLnNoaWZ0ID0gQXJyYXkucHJvdG90eXBlLnNoaWZ0OyBvYmouc2hpZnQoKTsgb2JqLmxlbmd0aCA9PT0gMy4gQWN0dWFsOiAnICsgKG9iai5sZW5ndGgpKTsKfQoKLy9DSEVDSyMzCnZhciBzaGlmdCA9IG9iai5zaGlmdCgpOwppZiAoc2hpZnQgIT09IHVuZGVmaW5lZCkgewogICRFUlJPUignIzM6IHZhciBvYmogPSB7fTsgb2JqWyIwIl0gPSAwOyBvYmpbIjMiXSA9IDM7IG9iai5sZW5ndGggPSA0OyBvYmouc2hpZnQgPSBBcnJheS5wcm90b3R5cGUuc2hpZnQ7IG9iai5zaGlmdCgpOyBvYmouc2hpZnQoKSA9PT0gdW5kZWZpbmVkLiBBY3R1YWw6ICcgKyAoc2hpZnQpKTsKfSAKCi8vQ0hFQ0sjNAppZiAob2JqLmxlbmd0aCAhPT0gMikgewogICRFUlJPUignIzQ6IHZhciBvYmogPSB7fTsgb2JqWyIwIl0gPSAwOyBvYmpbIjMiXSA9IDM7IG9iai5sZW5ndGggPSA0OyBvYmouc2hpZnQgPSBBcnJheS5wcm90b3R5cGUuc2hpZnQ7IG9iai5zaGlmdCgpOyBvYmouc2hpZnQoKTsgb2JqLmxlbmd0aCA9PT0gMi4gQWN0dWFsOiAnICsgKG9iai5sZW5ndGgpKTsKfQoKLy9DSEVDSyM1Cm9iai5sZW5ndGggPSAxOwp2YXIgc2hpZnQgPSBvYmouc2hpZnQoKTsKaWYgKHNoaWZ0ICE9PSB1bmRlZmluZWQpIHsKICAkRVJST1IoJyM1OiB2YXIgb2JqID0ge307IG9ialsiMCJdID0gMDsgb2JqWyIzIl0gPSAzOyBvYmoubGVuZ3RoID0gNDsgb2JqLnNoaWZ0ID0gQXJyYXkucHJvdG90eXBlLnNoaWZ0OyBvYmouc2hpZnQoKTsgb2JqLnNoaWZ0KCk7IG9iai5sZW5ndGggPSAxOyBvYmouc2hpZnQoKSA9PT0gdW5kZWZpbmVkLiBBY3R1YWw6ICcgKyAoc2hpZnQpKTsKfSAKCi8vQ0hFQ0sjNgppZiAob2JqLmxlbmd0aCAhPT0gMCkgewogICRFUlJPUignIzY6IHZhciBvYmogPSB7fTsgb2JqWyIwIl0gPSAwOyBvYmpbIjMiXSA9IDM7IG9iai5sZW5ndGggPSA0OyBvYmouc2hpZnQgPSBBcnJheS5wcm90b3R5cGUuc2hpZnQ7IG9iai5zaGlmdCgpOyBvYmouc2hpZnQoKTsgb2JqLmxlbmd0aCA9IDE7IG9iai5zaGlmdCgpOyBvYmoubGVuZ3RoID09PSAwLiBBY3R1YWw6ICcgKyAob2JqLmxlbmd0aCkpOwp9Cgo=","commentary":"The shift function is intentionally generic.\nIt does not require that its this value be an Array object","description":"The first element of the array is removed from the array and\nreturned","path":"TestCases/ch15/15.4/15.4.4/15.4.4.9/S15.4.4.9_A2_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgc2hpZnQgZnVuY3Rpb24gaXMgaW50ZW50aW9uYWxseSBnZW5lcmljLgogKiBJdCBkb2VzIG5vdCByZXF1aXJlIHRoYXQgaXRzIHRoaXMgdmFsdWUgYmUgYW4gQXJyYXkgb2JqZWN0CiAqCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjkvUzE1LjQuNC45X0EyX1Q1LmpzCiAqIEBkZXNjcmlwdGlvbiBPcGVyYXRvciB1c2UgVG9OdW1iZXIgZnJvbSBsZW5ndGguCiAqIElmIFR5cGUodmFsdWUpIGlzIE9iamVjdCwgZXZhbHVhdGUgVG9QcmltaXRpdmUodmFsdWUsIE51bWJlcikKICovCgp2YXIgb2JqID0ge307Cm9iai5zaGlmdCA9IEFycmF5LnByb3RvdHlwZS5zaGlmdDsKCi8vQ0hFQ0sjMQpvYmpbMF0gPSAtMTsKb2JqLmxlbmd0aCA9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gMX19Owp2YXIgc2hpZnQgPSBvYmouc2hpZnQoKTsKaWYgKHNoaWZ0ICE9PSAtMSkgewogICRFUlJPUignIzE6IG9ialswXSA9IC0xOyBvYmoubGVuZ3RoID0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAxfX0gIG9iai5zaGlmdCgpID09PSAtMS4gQWN0dWFsOiAnICsgKHNoaWZ0KSk7Cn0KCi8vQ0hFQ0sjMgpvYmpbMF0gPSAtMTsKb2JqLmxlbmd0aCA9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gMX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gMH19Owp2YXIgc2hpZnQgPSBvYmouc2hpZnQoKTsKaWYgKHNoaWZ0ICE9PSAtMSkgewogICRFUlJPUignIzA6IG9ialswXSA9IC0xOyBvYmoubGVuZ3RoID0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAxfSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiAwfX0gIG9iai5zaGlmdCgpID09PSAtMS4gQWN0dWFsOiAnICsgKHNoaWZ0KSk7Cn0gCgovL0NIRUNLIzMKb2JqWzBdID0gLTE7Cm9iai5sZW5ndGggPSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIDF9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIHt9fX07CnZhciBzaGlmdCA9IG9iai5zaGlmdCgpOwppZiAoc2hpZnQgIT09IC0xKSB7CiAgJEVSUk9SKCcjMzogb2JqWzBdID0gLTE7IG9iai5sZW5ndGggPSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIDF9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIHt9fX0gIG9iai5zaGlmdCgpID09PSAtMS4gQWN0dWFsOiAnICsgKHNoaWZ0KSk7Cn0KCi8vQ0hFQ0sjNAp0cnkgeyAgCiAgb2JqWzBdID0gLTE7CiAgb2JqLmxlbmd0aCA9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gMX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHt0aHJvdyAiZXJyb3IifX07ICAKICB2YXIgc2hpZnQgPSBvYmouc2hpZnQoKTsKaWYgKHNoaWZ0ICE9PSAtMSkgewogICAgJEVSUk9SKCcjNC4xOiBvYmpbMF0gPSAtMTsgb2JqLmxlbmd0aCA9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gMX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHt0aHJvdyAiZXJyb3IifX07IG9iai5zaGlmdCgpID09PSAiLCIuIEFjdHVhbDogJyArIChzaGlmdCkpOwogIH0KfQpjYXRjaCAoZSkgewogIGlmIChlID09PSAiZXJyb3IiKSB7CiAgICAkRVJST1IoJyM0LjI6IG9ialswXSA9IC0xOyBvYmoubGVuZ3RoID0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAxfSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3Rocm93ICJlcnJvciJ9fTsgb2JqLnNoaWZ0KCkgbm90IHRocm93ICJlcnJvciInKTsKICB9IGVsc2UgewogICAgJEVSUk9SKCcjNC4zOiBvYmpbMF0gPSAtMTsgb2JqLmxlbmd0aCA9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gMX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHt0aHJvdyAiZXJyb3IifX07IG9iai5zaGlmdCgpIG5vdCB0aHJvdyBFcnJvci4gQWN0dWFsOiAnICsgKGUpKTsKICB9Cn0KCi8vQ0hFQ0sjNQpvYmpbMF0gPSAtMTsKb2JqLmxlbmd0aCA9IHt0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIDB9fTsKdmFyIHNoaWZ0ID0gb2JqLnNoaWZ0KCk7CmlmIChzaGlmdCAhPT0gdW5kZWZpbmVkKSB7CiAgJEVSUk9SKCcjNTogb2JqWzBdID0gLTE7IG9iai5sZW5ndGggPSB7dG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiAwfX0gIG9iai5zaGlmdCgpID09PSB1bmRlZmluZWQuIEFjdHVhbDogJyArIChzaGlmdCkpOwp9CgovL0NIRUNLIzYKb2JqWzBdID0gLTE7Cm9iai5sZW5ndGggPSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIHt9fSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiAwfX0KdmFyIHNoaWZ0ID0gb2JqLnNoaWZ0KCk7CmlmIChzaGlmdCAhPT0gdW5kZWZpbmVkKSB7CiAgJEVSUk9SKCcjNjogb2JqWzBdID0gLTE7IG9iai5sZW5ndGggPSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIHt9fSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiAwfX0gIG9iai5zaGlmdCgpID09PSB1bmRlZmluZWQuIEFjdHVhbDogJyArIChzaGlmdCkpOwp9CgovL0NIRUNLIzcKdHJ5IHsKICBvYmpbMF0gPSAtMTsKICBvYmoubGVuZ3RoID0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3Rocm93ICJlcnJvciJ9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7cmV0dXJuIDB9fTsgIAogIHZhciBzaGlmdCA9IG9iai5zaGlmdCgpOwogICRFUlJPUignIzcuMTogb2JqWzBdID0gLTE7IG9iai5sZW5ndGggPSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7dGhyb3cgImVycm9yIn0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gMH19OyBvYmouc2hpZnQoKSB0aHJvdyAiZXJyb3IiLiBBY3R1YWw6ICcgKyAoc2hpZnQpKTsKfSAgCmNhdGNoIChlKSB7CiAgaWYgKGUgIT09ICJlcnJvciIpIHsKICAgICRFUlJPUignIzcuMjogb2JqWzBdID0gLTE7IG9iai5sZW5ndGggPSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7dGhyb3cgImVycm9yIn0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gMH19OyBvYmouc2hpZnQoKSB0aHJvdyAiZXJyb3IiLiBBY3R1YWw6ICcgKyAoZSkpOwogIH0gCn0KCi8vQ0hFQ0sjOAp0cnkgewogIG9ialswXSA9IC0xOwogIG9iai5sZW5ndGggPSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIHt9fSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiB7fX19OwogIHZhciBzaGlmdCA9IG9iai5zaGlmdCgpOwogICRFUlJPUignIzguMTogb2JqWzBdID0gLTE7IG9iai5sZW5ndGggPSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIHt9fSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiB7fX19ICBvYmouc2hpZnQoKSB0aHJvdyBUeXBlRXJyb3IuIEFjdHVhbDogJyArIChzaGlmdCkpOwp9ICAKY2F0Y2ggKGUpIHsKICBpZiAoKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpICE9PSB0cnVlKSB7CiAgICAkRVJST1IoJyM4LjI6IG9ialswXSA9IC0xOyBvYmoubGVuZ3RoID0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiB7fX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4ge319fSAgb2JqLnNoaWZ0KCkgdGhyb3cgVHlwZUVycm9yLiBBY3R1YWw6ICcgKyAoZSkpOwogIH0gCn0KCg==","commentary":"The shift function is intentionally generic.\nIt does not require that its this value be an Array object","description":"Operator use ToNumber from length.\nIf Type(value) is Object, evaluate ToPrimitive(value, Number)","path":"TestCases/ch15/15.4/15.4.4/15.4.4.9/S15.4.4.9_A2_T5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBDaGVjayBUb1VpbnQzMihsZW5ndGgpIGZvciBub24gQXJyYXkgb2JqZWN0cwogKgogKiBAcGF0aCBjaDE1LzE1LjQvMTUuNC40LzE1LjQuNC45L1MxNS40LjQuOV9BM19UMS5qcwogKiBAZGVzY3JpcHRpb24gbGVuZ3RoIGlzIGFyYml0cmFyaWx5CiAqLwoKdmFyIG9iaiA9IHt9OwpvYmouc2hpZnQgPSBBcnJheS5wcm90b3R5cGUuc2hpZnQ7Cm9ialswXSA9ICJ4IjsKb2JqWzQyOTQ5NjcyOTVdID0gInkiOwpvYmoubGVuZ3RoID0gNDI5NDk2NzI5NjsKCi8vQ0hFQ0sjMQp2YXIgc2hpZnQgPSBvYmouc2hpZnQoKTsKaWYgKHNoaWZ0ICE9PSB1bmRlZmluZWQpIHsKICAkRVJST1IoJyMxOiB2YXIgb2JqID0ge307IG9iai5zaGlmdCA9IEFycmF5LnByb3RvdHlwZS5zaGlmdDsgb2JqWzBdID0gIngiOyBvYmpbNDI5NDk2NzI5NV0gPSAieSI7IG9iai5sZW5ndGggPSA0Mjk0OTY3Mjk2OyBvYmouc2hpZnQoKSA9PT0gdW5lZGZpbmVkLiBBY3R1YWw6ICcgKyAoc2hpZnQpKTsKfQoKLy9DSEVDSyMyCmlmIChvYmoubGVuZ3RoICE9PSAwKSB7CiAgJEVSUk9SKCcjMjogdmFyIG9iaiA9IHt9OyBvYmouc2hpZnQgPSBBcnJheS5wcm90b3R5cGUuc2hpZnQ7IG9ialswXSA9ICJ4Ijsgb2JqWzQyOTQ5NjcyOTVdID0gInkiOyBvYmoubGVuZ3RoID0gNDI5NDk2NzI5Njsgb2JqLnNoaWZ0KCk7IG9iai5sZW5ndGggPT09IDAuIEFjdHVhbDogJyArIChvYmoubGVuZ3RoKSk7Cn0KCi8vQ0hFQ0sjMwppZiAob2JqWzBdICE9PSAieCIpIHsKICAgJEVSUk9SKCcjMzogdmFyIG9iaiA9IHt9OyBvYmouc2hpZnQgPSBBcnJheS5wcm90b3R5cGUuc2hpZnQ7IG9ialswXSA9ICJ4Ijsgb2JqWzQyOTQ5NjcyOTVdID0gInkiOyBvYmoubGVuZ3RoID0gNDI5NDk2NzI5Njsgb2JqLnNoaWZ0KCk7IG9ialswXSA9PT0gIngiLiBBY3R1YWw6ICcgKyAob2JqWzBdKSk7Cn0gIAoKLy9DSEVDSyM0CmlmIChvYmpbNDI5NDk2NzI5NV0gIT09ICJ5IikgewogICAkRVJST1IoJyM0OiB2YXIgb2JqID0ge307IG9iai5zaGlmdCA9IEFycmF5LnByb3RvdHlwZS5zaGlmdDsgb2JqWzBdID0gIngiOyBvYmpbNDI5NDk2NzI5NV0gPSAieSI7IG9iai5sZW5ndGggPSA0Mjk0OTY3Mjk2OyBvYmouc2hpZnQoKTsgb2JqWzQyOTQ5NjcyOTVdID09PSAieSIuIEFjdHVhbDogJyArIChvYmpbNDI5NDk2NzI5NV0pKTsKfSAgCgo=","commentary":"Check ToUint32(length) for non Array objects","description":"length is arbitrarily","path":"TestCases/ch15/15.4/15.4.4/15.4.4.9/S15.4.4.9_A3_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBDaGVjayBUb1VpbnQzMihsZW5ndGgpIGZvciBub24gQXJyYXkgb2JqZWN0cwogKgogKiBAcGF0aCBjaDE1LzE1LjQvMTUuNC40LzE1LjQuNC45L1MxNS40LjQuOV9BM19UMi5qcwogKiBAZGVzY3JpcHRpb24gbGVuZ3RoIGlzIGFyYml0cmFyaWx5CiAqLwoKdmFyIG9iaiA9IHt9OwpvYmouc2hpZnQgPSBBcnJheS5wcm90b3R5cGUuc2hpZnQ7Cm9ialswXSA9ICJ4IjsKb2JqWzFdID0gInkiOwpvYmpbNDI5NDk2NzI5Nl0gPSAieiI7Cm9iai5sZW5ndGggPSA0Mjk0OTY3Mjk3OwoKLy9DSEVDSyMxCnZhciBzaGlmdCA9IG9iai5zaGlmdCgpOwppZiAoc2hpZnQgIT09ICJ4IikgewogICRFUlJPUignIzE6IHZhciBvYmogPSB7fTsgb2JqLnNoaWZ0ID0gQXJyYXkucHJvdG90eXBlLnNoaWZ0OyBvYmpbMF0gPSAieCI7IG9ialsxXSA9ICJ5Ijsgb2JqWzQyOTQ5NjcyOTZdID0gInoiOyBvYmoubGVuZ3RoID0gNDI5NDk2NzI5Nzsgb2JqLnNoaWZ0KCkgPT09ICJ4Ii4gQWN0dWFsOiAnICsgKHNoaWZ0KSk7Cn0KCi8vQ0hFQ0sjMgppZiAob2JqLmxlbmd0aCAhPT0gMCkgewogICRFUlJPUignIzI6IHZhciBvYmogPSB7fTsgb2JqLnNoaWZ0ID0gQXJyYXkucHJvdG90eXBlLnNoaWZ0OyBvYmpbMF0gPSAieCI7IG9ialsxXSA9ICJ5Ijsgb2JqWzQyOTQ5NjcyOTZdID0gInoiOyBvYmoubGVuZ3RoID0gNDI5NDk2NzI5Nzsgb2JqLnNoaWZ0KCk7IG9iai5sZW5ndGggPT09IDAuIEFjdHVhbDogJyArIChvYmoubGVuZ3RoKSk7Cn0KCi8vQ0hFQ0sjMwppZiAob2JqWzBdICE9PSB1bmRlZmluZWQpIHsKICAgJEVSUk9SKCcjMzogdmFyIG9iaiA9IHt9OyBvYmouc2hpZnQgPSBBcnJheS5wcm90b3R5cGUuc2hpZnQ7IG9ialswXSA9ICJ4Ijsgb2JqWzFdID0gInkiOyBvYmpbNDI5NDk2NzI5Nl0gPSAieiI7IG9iai5sZW5ndGggPSA0Mjk0OTY3Mjk3OyBvYmouc2hpZnQoKTsgb2JqWzBdID09PSB1bmRlZmluZWQuIEFjdHVhbDogJyArIChvYmpbMF0pKTsKfQoKLy9DSEVDSyM0CmlmIChvYmpbMV0gIT09ICJ5IikgewogICAkRVJST1IoJyM0OiB2YXIgb2JqID0ge307IG9iai5zaGlmdCA9IEFycmF5LnByb3RvdHlwZS5zaGlmdDsgb2JqWzBdID0gIngiOyBvYmpbMV0gPSAieSI7IG9ials0Mjk0OTY3Mjk2XSA9ICJ6Ijsgb2JqLmxlbmd0aCA9IDQyOTQ5NjcyOTc7IG9iai5zaGlmdCgpOyBvYmpbMV0gPT09ICJ5Ii4gQWN0dWFsOiAnICsgKG9ialsxXSkpOwp9CgovL0NIRUNLIzQKaWYgKG9ials0Mjk0OTY3Mjk2XSAhPT0gInoiKSB7CiAgICRFUlJPUignIzQ6IHZhciBvYmogPSB7fTsgb2JqLnNoaWZ0ID0gQXJyYXkucHJvdG90eXBlLnNoaWZ0OyBvYmpbMF0gPSAieCI7IG9ialsxXSA9ICJ5Ijsgb2JqWzQyOTQ5NjcyOTZdID0gInoiOyBvYmoubGVuZ3RoID0gNDI5NDk2NzI5Nzsgb2JqLnNoaWZ0KCk7IG9ials0Mjk0OTY3Mjk2XSA9PT0gInoiLiBBY3R1YWw6ICcgKyAob2JqWzQyOTQ5NjcyOTZdKSk7Cn0gIAoK","commentary":"Check ToUint32(length) for non Array objects","description":"length is arbitrarily","path":"TestCases/ch15/15.4/15.4.4/15.4.4.9/S15.4.4.9_A3_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBDaGVjayBUb1VpbnQzMihsZW5ndGgpIGZvciBub24gQXJyYXkgb2JqZWN0cwogKgogKiBAcGF0aCBjaDE1LzE1LjQvMTUuNC40LzE1LjQuNC45L1MxNS40LjQuOV9BM19UMy5qcwogKiBAZGVzY3JpcHRpb24gbGVuZ3RoIGlzIGFyYml0cmFyaWx5CiAqLwoKdmFyIG9iaiA9IHt9OwpvYmouc2hpZnQgPSBBcnJheS5wcm90b3R5cGUuc2hpZnQ7Cm9ialswXSA9ICJ4IjsKb2JqWzFdID0gInkiOwpvYmoubGVuZ3RoID0gLTQyOTQ5NjcyOTQ7CgovL0NIRUNLIzEKdmFyIHNoaWZ0ID0gb2JqLnNoaWZ0KCk7CmlmIChzaGlmdCAhPT0gIngiKSB7CiAgJEVSUk9SKCcjMTogdmFyIG9iaiA9IHt9OyBvYmouc2hpZnQgPSBBcnJheS5wcm90b3R5cGUuc2hpZnQ7IG9ialswXSA9ICJ4Ijsgb2JqWzFdID0gInkiOyBvYmoubGVuZ3RoID0gLTQyOTQ5NjcyOTQ7IG9iai5zaGlmdCgpID09PSAieCIuIEFjdHVhbDogJyArIChzaGlmdCkpOwp9CgovL0NIRUNLIzIKaWYgKG9iai5sZW5ndGggIT09IDEpIHsKICAkRVJST1IoJyMyOiB2YXIgb2JqID0ge307IG9iai5zaGlmdCA9IEFycmF5LnByb3RvdHlwZS5zaGlmdDsgb2JqWzBdID0gIngiOyBvYmpbMV0gPSAieSI7IG9iai5sZW5ndGggPSAtNDI5NDk2NzI5NDsgb2JqLnNoaWZ0KCk7IG9iai5sZW5ndGggPT09IDEuIEFjdHVhbDogJyArIChvYmoubGVuZ3RoKSk7Cn0KCi8vQ0hFQ0sjMwppZiAob2JqWzBdICE9PSAieSIpIHsKICAgJEVSUk9SKCcjMzogdmFyIG9iaiA9IHt9OyBvYmouc2hpZnQgPSBBcnJheS5wcm90b3R5cGUuc2hpZnQ7IG9ialswXSA9ICJ4Ijsgb2JqWzFdID0gInkiOyBvYmoubGVuZ3RoID0gLTQyOTQ5NjcyOTQ7IG9iai5zaGlmdCgpOyBvYmpbMF0gPT09ICJ5Ii4gQWN0dWFsOiAnICsgKG9ialswXSkpOwp9CgovL0NIRUNLIzQKaWYgKG9ialsxXSAhPT0gdW5kZWZpbmVkKSB7CiAgICRFUlJPUignIzQ6IHZhciBvYmogPSB7fTsgb2JqLnNoaWZ0ID0gQXJyYXkucHJvdG90eXBlLnNoaWZ0OyBvYmpbMF0gPSAieCIgb2JqWzFdID0gInkiOyBvYmoubGVuZ3RoID0gLTQyOTQ5NjcyOTQ7IG9iai5zaGlmdCgpOyBvYmpbMV0gPT09IHVuZGVmaW5lZC4gQWN0dWFsOiAnICsgKG9ialsxXSkpOwp9ICAgIAoK","commentary":"Check ToUint32(length) for non Array objects","description":"length is arbitrarily","path":"TestCases/ch15/15.4/15.4.4/15.4.4.9/S15.4.4.9_A3_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBbW0dldF1dLCBbW0RlbGV0ZV1dIGZyb20gbm90IGFuIGluaGVyaXRlZCBwcm9wZXJ0eQogKgogKiBAcGF0aCBjaDE1LzE1LjQvMTUuNC40LzE1LjQuNC45L1MxNS40LjQuOV9BNF9UMS5qcwogKiBAZGVzY3JpcHRpb24gW1tQcm90b3R5cGVdXSBvZiBBcnJheSBpbnN0YW5jZSBpcyBBcnJheS5wcm90b3R5cGUsIFtbUHJvdG90eXBlXSBvZiBBcnJheS5wcm90b3R5cGUgaXMgT2JqZWN0LnByb3RvdHlwZQogKi8KCkFycmF5LnByb3RvdHlwZVsxXSA9IDE7CnZhciB4ID0gWzBdOwp4Lmxlbmd0aCA9IDI7CgovL0NIRUNLIzEKdmFyIHNoaWZ0ID0geC5zaGlmdCgpOwppZiAoc2hpZnQgIT09IDApIHsgIAogICRFUlJPUignIzE6IEFycmF5LnByb3RvdHlwZVsxXSA9IDE7IHggPSBbMF07IHgubGVuZ3RoID0gMjsgeC5zaGlmdCgpID09PSAwLiBBY3R1YWw6ICcgKyAoc2hpZnQpKTsgICAgCn0KCi8vQ0hFQ0sjMgppZiAoeFswXSAhPT0gMSkgeyAgCiAgJEVSUk9SKCcjMjogQXJyYXkucHJvdG90eXBlWzFdID0gMTsgeCA9IFswXTsgeC5sZW5ndGggPSAyOyB4LnNoaWZ0KCk7IHhbMF0gPT09IDEuIEFjdHVhbDogJyArICh4WzBdKSk7ICAgIAp9CgovL0NIRUNLIzMKaWYgKHhbMV0gIT09IDEpIHsgIAogICRFUlJPUignIzM6IEFycmF5LnByb3RvdHlwZVsxXSA9IDE7IHggPSBbMF07IHgubGVuZ3RoID0gMjsgeC5zaGlmdCgpOyB4WzFdID09PSAxLiBBY3R1YWw6ICcgKyAoeFsxXSkpOyAgICAKfQoKT2JqZWN0LnByb3RvdHlwZVsxXSA9IDE7Ck9iamVjdC5wcm90b3R5cGUubGVuZ3RoID0gMjsKT2JqZWN0LnByb3RvdHlwZS5zaGlmdCA9IEFycmF5LnByb3RvdHlwZS5zaGlmdDsKeCA9IHswOjB9OwoKLy9DSEVDSyM0CnZhciBzaGlmdCA9IHguc2hpZnQoKTsKaWYgKHNoaWZ0ICE9PSAwKSB7ICAKICAkRVJST1IoJyM0OiBPYmplY3QucHJvdG90eXBlWzFdID0gMTsgT2JqZWN0LnByb3RvdHlwZS5sZW5ndGggPSAyOyBPYmplY3QucHJvdG90eXBlLnNoaWZ0ID0gQXJyYXkucHJvdG90eXBlLnNoaWZ0OyB4ID0gezA6MH07IHguc2hpZnQoKSA9PT0gMC4gQWN0dWFsOiAnICsgKHNoaWZ0KSk7ICAgIAp9CgovL0NIRUNLIzUKaWYgKHhbMF0gIT09IDEpIHsgIAogICRFUlJPUignIzU6IE9iamVjdC5wcm90b3R5cGVbMV0gPSAxOyBPYmplY3QucHJvdG90eXBlLmxlbmd0aCA9IDI7IE9iamVjdC5wcm90b3R5cGUuc2hpZnQgPSBBcnJheS5wcm90b3R5cGUuc2hpZnQ7IHggPSB7MDowfTsgeC5zaGlmdCgpOyB4WzBdID09PSAxLiBBY3R1YWw6ICcgKyAoeFswXSkpOyAgICAKfQoKLy9DSEVDSyM2CmlmICh4WzFdICE9PSAxKSB7ICAKICAkRVJST1IoJyM2OiBPYmplY3QucHJvdG90eXBlWzFdID0gMTsgT2JqZWN0LnByb3RvdHlwZS5sZW5ndGggPSAyOyBPYmplY3QucHJvdG90eXBlLnNoaWZ0ID0gQXJyYXkucHJvdG90eXBlLnNoaWZ0OyB4ID0gezA6MH07IHguc2hpZnQoKTsgeFsxXSA9PT0gMS4gQWN0dWFsOiAnICsgKHhbMV0pKTsgICAgCn0KCi8vQ0hFQ0sjNwppZiAoeC5sZW5ndGggIT09IDEpIHsgIAogICRFUlJPUignIzc6IE9iamVjdC5wcm90b3R5cGVbMV0gPSAxOyBPYmplY3QucHJvdG90eXBlLmxlbmd0aCA9IDI7IE9iamVjdC5wcm90b3R5cGUuc2hpZnQgPSBBcnJheS5wcm90b3R5cGUuc2hpZnQ7IHggPSB7MDowfTsgeC5zaGlmdCgpOyB4Lmxlbmd0aCA9PT0gMS4gQWN0dWFsOiAnICsgKHgubGVuZ3RoKSk7ICAgIAp9CgovL0NIRUNLIzgKZGVsZXRlIHgubGVuZ3RoOwppZiAoeC5sZW5ndGggIT09IDIpIHsgIAogICRFUlJPUignIzg6IE9iamVjdC5wcm90b3R5cGVbMV0gPSAxOyBPYmplY3QucHJvdG90eXBlLmxlbmd0aCA9IDI7IE9iamVjdC5wcm90b3R5cGUuc2hpZnQgPSBBcnJheS5wcm90b3R5cGUuc2hpZnQ7IHggPSB7MDowfTsgeC5zaGlmdCgpOyBkZWxldGUgeDsgeC5sZW5ndGggPT09IDIuIEFjdHVhbDogJyArICh4Lmxlbmd0aCkpOyAgICAKfQoK","commentary":"[[Get]], [[Delete]] from not an inherited property","description":"[[Prototype]] of Array instance is Array.prototype, [[Prototype] of Array.prototype is Object.prototype","path":"TestCases/ch15/15.4/15.4.4/15.4.4.9/S15.4.4.9_A4_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBbW0dldF1dLCBbW0RlbGV0ZV1dIGZyb20gbm90IGFuIGluaGVyaXRlZCBwcm9wZXJ0eQogKgogKiBAcGF0aCBjaDE1LzE1LjQvMTUuNC40LzE1LjQuNC45L1MxNS40LjQuOV9BNF9UMi5qcwogKiBAZGVzY3JpcHRpb24gW1tQcm90b3R5cGVdXSBvZiBBcnJheSBpbnN0YW5jZSBpcyBBcnJheS5wcm90b3R5cGUsIFtbUHJvdG90eXBlXSBvZiBBcnJheS5wcm90b3R5cGUgaXMgT2JqZWN0LnByb3RvdHlwZQogKi8KCkFycmF5LnByb3RvdHlwZVsxXSA9IC0xOwp2YXIgeCA9IFswLDFdOwp4Lmxlbmd0aCA9IDI7CgovL0NIRUNLIzEKdmFyIHNoaWZ0ID0geC5zaGlmdCgpOwppZiAoc2hpZnQgIT09IDApIHsgIAogICRFUlJPUignIzE6IEFycmF5LnByb3RvdHlwZVsxXSA9IC0xOyB4ID0gWzAsMV07IHgubGVuZ3RoID0gMjsgeC5zaGlmdCgpID09PSAwLiBBY3R1YWw6ICcgKyAoc2hpZnQpKTsgICAgCn0KCi8vQ0hFQ0sjMgppZiAoeFswXSAhPT0gMSkgeyAgCiAgJEVSUk9SKCcjMjogQXJyYXkucHJvdG90eXBlWzFdID0gLTE7IHggPSBbMCwxXTsgeC5sZW5ndGggPSAyOyB4LnNoaWZ0KCk7IHhbMF0gPT09IDEuIEFjdHVhbDogJyArICh4WzBdKSk7ICAgIAp9CgovL0NIRUNLIzMKaWYgKHhbMV0gIT09IC0xKSB7ICAKICAkRVJST1IoJyMzOiBBcnJheS5wcm90b3R5cGVbMV0gPSAtMTsgeCA9IFswLDFdOyB4Lmxlbmd0aCA9IDI7IHguc2hpZnQoKTsgeFsxXSA9PT0gLTEuIEFjdHVhbDogJyArICh4WzFdKSk7ICAgIAp9CgpPYmplY3QucHJvdG90eXBlWzFdID0gLTE7Ck9iamVjdC5wcm90b3R5cGUubGVuZ3RoID0gMjsKT2JqZWN0LnByb3RvdHlwZS5zaGlmdCA9IEFycmF5LnByb3RvdHlwZS5zaGlmdDsKeCA9IHswOjAsMToxfTsKCi8vQ0hFQ0sjNAp2YXIgc2hpZnQgPSB4LnNoaWZ0KCk7CmlmIChzaGlmdCAhPT0gMCkgeyAgCiAgJEVSUk9SKCcjNDogT2JqZWN0LnByb3RvdHlwZVsxXSA9IC0xOyBPYmplY3QucHJvdG90eXBlLmxlbmd0aCA9IDI7IE9iamVjdC5wcm90b3R5cGUuc2hpZnQgPSBBcnJheS5wcm90b3R5cGUuc2hpZnQ7IHggPSB7MDowLDE6MX07IHguc2hpZnQoKSA9PT0gMC4gQWN0dWFsOiAnICsgKHNoaWZ0KSk7ICAgIAp9CgovL0NIRUNLIzUKaWYgKHhbMF0gIT09IDEpIHsgIAogICRFUlJPUignIzU6IE9iamVjdC5wcm90b3R5cGVbMV0gPSAtMTsgT2JqZWN0LnByb3RvdHlwZS5sZW5ndGggPSAyOyBPYmplY3QucHJvdG90eXBlLnNoaWZ0ID0gQXJyYXkucHJvdG90eXBlLnNoaWZ0OyB4ID0gezA6MCwxOjF9OyB4LnNoaWZ0KCk7IHhbMF0gPT09IDEuIEFjdHVhbDogJyArICh4WzBdKSk7ICAgIAp9CgovL0NIRUNLIzYKaWYgKHhbMV0gIT09IC0xKSB7ICAKICAkRVJST1IoJyM2OiBPYmplY3QucHJvdG90eXBlWzFdID0gLTE7IE9iamVjdC5wcm90b3R5cGUubGVuZ3RoID0gMjsgT2JqZWN0LnByb3RvdHlwZS5zaGlmdCA9IEFycmF5LnByb3RvdHlwZS5zaGlmdDsgeCA9IHswOjAsMToxfTsgeC5zaGlmdCgpOyB4WzFdID09PSAtMS4gQWN0dWFsOiAnICsgKHhbMV0pKTsgICAgCn0KCi8vQ0hFQ0sjNwppZiAoeC5sZW5ndGggIT09IDEpIHsgIAogICRFUlJPUignIzc6IE9iamVjdC5wcm90b3R5cGVbMV0gPSAtMTsgT2JqZWN0LnByb3RvdHlwZS5sZW5ndGggPSAyOyBPYmplY3QucHJvdG90eXBlLnNoaWZ0ID0gQXJyYXkucHJvdG90eXBlLnNoaWZ0OyB4ID0gezA6MCwxOjF9OyB4LnNoaWZ0KCk7IHgubGVuZ3RoID09PSAxLiBBY3R1YWw6ICcgKyAoeC5sZW5ndGgpKTsgICAgCn0KCi8vQ0hFQ0sjOApkZWxldGUgeC5sZW5ndGg7CmlmICh4Lmxlbmd0aCAhPT0gMikgeyAgCiAgJEVSUk9SKCcjODogT2JqZWN0LnByb3RvdHlwZVsxXSA9IC0xOyBPYmplY3QucHJvdG90eXBlLmxlbmd0aCA9IDI7IE9iamVjdC5wcm90b3R5cGUuc2hpZnQgPSBBcnJheS5wcm90b3R5cGUuc2hpZnQ7IHggPSB7MDowLDE6MX07IHguc2hpZnQoKTsgZGVsZXRlIHg7IHgubGVuZ3RoID09PSAyLiBBY3R1YWw6ICcgKyAoeC5sZW5ndGgpKTsgICAgCn0KCg==","commentary":"[[Get]], [[Delete]] from not an inherited property","description":"[[Prototype]] of Array instance is Array.prototype, [[Prototype] of Array.prototype is Object.prototype","path":"TestCases/ch15/15.4/15.4.4/15.4.4.9/S15.4.4.9_A4_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgbGVuZ3RoIHByb3BlcnR5IG9mIHNoaWZ0IGhhcyB0aGUgYXR0cmlidXRlIERvbnRFbnVtCiAqCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjkvUzE1LjQuNC45X0E1LjEuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIHVzZSBwcm9wZXJ0eUlzRW51bWVyYWJsZSwgZm9yLWluCiAqLwoKLy9DSEVDSyMxCmlmIChBcnJheS5wcm90b3R5cGUuc2hpZnQucHJvcGVydHlJc0VudW1lcmFibGUoJ2xlbmd0aCcpICE9PSBmYWxzZSkgewogICRFUlJPUignIzE6IEFycmF5LnByb3RvdHlwZS5zaGlmdC5wcm9wZXJ0eUlzRW51bWVyYWJsZShcJ2xlbmd0aFwnKSA9PT0gZmFsc2UuIEFjdHVhbDogJyArIChBcnJheS5wcm90b3R5cGUuc2hpZnQucHJvcGVydHlJc0VudW1lcmFibGUoJ2xlbmd0aCcpKSk7Cn0KCi8vQ0hFQ0sjMgp2YXIgcmVzdWx0ID0gdHJ1ZTsKZm9yICh2YXIgcCBpbiBBcnJheS5zaGlmdCl7CiAgaWYgKHAgPT09ICJsZW5ndGgiKSB7CiAgICByZXN1bHQgPSBmYWxzZTsKfSAgCn0KCmlmIChyZXN1bHQgIT09IHRydWUpIHsKICAkRVJST1IoJyMyOiByZXN1bHQgPSB0cnVlOyBmb3IgKHAgaW4gQXJyYXkuc2hpZnQpIHsgaWYgKHAgPT09ICJsZW5ndGgiKSByZXN1bHQgPSBmYWxzZTsgfSAgcmVzdWx0ID09PSB0cnVlOycpOwp9CgoK","commentary":"The length property of shift has the attribute DontEnum","description":"Checking use propertyIsEnumerable, for-in","path":"TestCases/ch15/15.4/15.4.4/15.4.4.9/S15.4.4.9_A5.1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgbGVuZ3RoIHByb3BlcnR5IG9mIHNoaWZ0IGhhcyB0aGUgYXR0cmlidXRlIERvbnREZWxldGUKICoKICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuOS9TMTUuNC40LjlfQTUuMi5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgdXNlIGhhc093blByb3BlcnR5LCBkZWxldGUKICovCgovL0NIRUNLIzEKaWYgKEFycmF5LnByb3RvdHlwZS5zaGlmdC5oYXNPd25Qcm9wZXJ0eSgnbGVuZ3RoJykgIT09IHRydWUpIHsKICAkRkFJTCgnIzE6IEFycmF5LnByb3RvdHlwZS5zaGlmdC5oYXNPd25Qcm9wZXJ0eShcJ2xlbmd0aFwnKSA9PT0gdHJ1ZS4gQWN0dWFsOiAnICsgKEFycmF5LnByb3RvdHlwZS5zaGlmdC5oYXNPd25Qcm9wZXJ0eSgnbGVuZ3RoJykpKTsKfQoKZGVsZXRlIEFycmF5LnByb3RvdHlwZS5zaGlmdC5sZW5ndGg7CgovL0NIRUNLIzIKaWYgKEFycmF5LnByb3RvdHlwZS5zaGlmdC5oYXNPd25Qcm9wZXJ0eSgnbGVuZ3RoJykgIT09IHRydWUpIHsKICAkRVJST1IoJyMyOiBkZWxldGUgQXJyYXkucHJvdG90eXBlLnNoaWZ0Lmxlbmd0aDsgQXJyYXkucHJvdG90eXBlLnNoaWZ0Lmhhc093blByb3BlcnR5KFwnbGVuZ3RoXCcpID09PSB0cnVlLiBBY3R1YWw6ICcgKyAoQXJyYXkucHJvdG90eXBlLnNoaWZ0Lmhhc093blByb3BlcnR5KCdsZW5ndGgnKSkpOwp9CgovL0NIRUNLIzMKaWYgKEFycmF5LnByb3RvdHlwZS5zaGlmdC5sZW5ndGggPT09IHVuZGVmaW5lZCkgewogICRFUlJPUignIzM6IGRlbGV0ZSBBcnJheS5wcm90b3R5cGUuc2hpZnQubGVuZ3RoOyBBcnJheS5wcm90b3R5cGUuc2hpZnQubGVuZ3RoICE9PSB1bmRlZmluZWQnKTsKfQoKCgo=","commentary":"The length property of shift has the attribute DontDelete","description":"Checking use hasOwnProperty, delete","path":"TestCases/ch15/15.4/15.4.4/15.4.4.9/S15.4.4.9_A5.2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgbGVuZ3RoIHByb3BlcnR5IG9mIHNoaWZ0IGhhcyB0aGUgYXR0cmlidXRlIFJlYWRPbmx5CiAqCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjQvMTUuNC40LjkvUzE1LjQuNC45X0E1LjMuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIHZhcnlpbmcgdGhlIGxlbmd0aCBwcm9wZXJ0eSBmYWlscwogKiBAbm9TdHJpY3QKICovCgovL0NIRUNLIzEKdmFyIHggPSBBcnJheS5wcm90b3R5cGUuc2hpZnQubGVuZ3RoOwpBcnJheS5wcm90b3R5cGUuc2hpZnQubGVuZ3RoID0gSW5maW5pdHk7CmlmIChBcnJheS5wcm90b3R5cGUuc2hpZnQubGVuZ3RoICE9PSB4KSB7CiAgJEVSUk9SKCcjMTogeCA9IEFycmF5LnByb3RvdHlwZS5zaGlmdC5sZW5ndGg7IEFycmF5LnByb3RvdHlwZS5zaGlmdC5sZW5ndGggPSBJbmZpbml0eTsgQXJyYXkucHJvdG90eXBlLnNoaWZ0Lmxlbmd0aCA9PT0geC4gQWN0dWFsOiAnICsgKEFycmF5LnByb3RvdHlwZS5zaGlmdC5sZW5ndGgpKTsKfQoKCg==","commentary":"The length property of shift has the attribute ReadOnly","description":"Checking if varying the length property fails","noStrict":"","path":"TestCases/ch15/15.4/15.4.4/15.4.4.9/S15.4.4.9_A5.3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgbGVuZ3RoIHByb3BlcnR5IG9mIHNoaWZ0IGlzIDAKICoKICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuOS9TMTUuNC40LjlfQTUuNC5qcwogKiBAZGVzY3JpcHRpb24gc2hpZnQubGVuZ3RoID09PSAxCiAqLwoKLy9DSEVDSyMxCmlmIChBcnJheS5wcm90b3R5cGUuc2hpZnQubGVuZ3RoICE9PSAwKSB7CiAgJEVSUk9SKCcjMTogQXJyYXkucHJvdG90eXBlLnNoaWZ0Lmxlbmd0aCA9PT0gMC4gQWN0dWFsOiAnICsgKEFycmF5LnByb3RvdHlwZS5zaGlmdC5sZW5ndGgpKTsKfQoKCg==","commentary":"The length property of shift is 0","description":"shift.length === 1","path":"TestCases/ch15/15.4/15.4.4/15.4.4.9/S15.4.4.9_A5.4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgc2hpZnQgcHJvcGVydHkgb2YgQXJyYXkgaGFzIHRoZSBhdHRyaWJ1dGUgRG9udEVudW0KICoKICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuOS9TMTUuNC40LjlfQTUuNS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgdXNlIHByb3BlcnR5SXNFbnVtZXJhYmxlLCBmb3ItaW4KICovCgovL0NIRUNLIzEKaWYgKEFycmF5LnByb3BlcnR5SXNFbnVtZXJhYmxlKCdzaGlmdCcpICE9PSBmYWxzZSkgewogICRFUlJPUignIzE6IEFycmF5LnByb3BlcnR5SXNFbnVtZXJhYmxlKFwnc2hpZnRcJykgPT09IGZhbHNlLiBBY3R1YWw6ICcgKyAoQXJyYXkucHJvcGVydHlJc0VudW1lcmFibGUoJ3NoaWZ0JykpKTsKfQoKLy9DSEVDSyMyCnZhciByZXN1bHQgPSB0cnVlOwpmb3IgKHZhciBwIGluIEFycmF5KXsKICBpZiAocCA9PT0gInNoaWZ0IikgewogICAgcmVzdWx0ID0gZmFsc2U7Cn0gIAp9CgppZiAocmVzdWx0ICE9PSB0cnVlKSB7CiAgJEVSUk9SKCcjMjogcmVzdWx0ID0gdHJ1ZTsgZm9yIChwIGluIEFycmF5KSB7IGlmIChwID09PSAic2hpZnQiKSByZXN1bHQgPSBmYWxzZTsgfSAgcmVzdWx0ID09PSB0cnVlOycpOwp9CgoK","commentary":"The shift property of Array has the attribute DontEnum","description":"Checking use propertyIsEnumerable, for-in","path":"TestCases/ch15/15.4/15.4.4/15.4.4.9/S15.4.4.9_A5.5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgc2hpZnQgcHJvcGVydHkgb2YgQXJyYXkgaGFzIG5vdCBwcm90b3R5cGUgcHJvcGVydHkKICoKICogQHBhdGggY2gxNS8xNS40LzE1LjQuNC8xNS40LjQuOS9TMTUuNC40LjlfQTUuNi5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgQXJyYXkucHJvdG90eXBlLnNoaWZ0LnByb3RvdHlwZQogKi8KCi8vQ0hFQ0sjMQppZiAoQXJyYXkucHJvdG90eXBlLnNoaWZ0LnByb3RvdHlwZSAhPT0gdW5kZWZpbmVkKSB7CiAgJEVSUk9SKCcjMTogQXJyYXkucHJvdG90eXBlLnNoaWZ0LnByb3RvdHlwZSA9PT0gdW5kZWZpbmVkLiBBY3R1YWw6ICcgKyAoQXJyYXkucHJvdG90eXBlLnNoaWZ0LnByb3RvdHlwZSkpOwp9Cgo=","commentary":"The shift property of Array has not prototype property","description":"Checking Array.prototype.shift.prototype","path":"TestCases/ch15/15.4/15.4.4/15.4.4.9/S15.4.4.9_A5.6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgc2hpZnQgcHJvcGVydHkgb2YgQXJyYXkgY2FuJ3QgYmUgdXNlZCBhcyBjb25zdHJ1Y3RvcgogKgogKiBAcGF0aCBjaDE1LzE1LjQvMTUuNC40LzE1LjQuNC45L1MxNS40LjQuOV9BNS43LmpzCiAqIEBkZXNjcmlwdGlvbiBJZiBwcm9wZXJ0eSBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGludGVybmFsIFtbQ29uc3RydWN0XV0gbWV0aG9kLCB0aHJvdyBhIFR5cGVFcnJvciBleGNlcHRpb24KICovCgovL0NIRUNLIzEKCnRyeSB7CiAgbmV3IEFycmF5LnByb3RvdHlwZS5zaGlmdCgpOwogICRFUlJPUignIzEuMTogbmV3IEFycmF5LnByb3RvdHlwZS5zaGlmdCgpIHRocm93IFR5cGVFcnJvci4gQWN0dWFsOiAnICsgKG5ldyBBcnJheS5wcm90b3R5cGUuc2hpZnQoKSkpOwp9IGNhdGNoIChlKSB7CiAgaWYgKChlIGluc3RhbmNlb2YgVHlwZUVycm9yKSAhPT0gdHJ1ZSkgewogICAgJEVSUk9SKCcjMS4yOiBuZXcgQXJyYXkucHJvdG90eXBlLnNoaWZ0KCkgdGhyb3cgVHlwZUVycm9yLiBBY3R1YWw6ICcgKyAoZSkpOwogIH0KfQoK","commentary":"The shift property of Array can't be used as constructor","description":"If property does not implement the internal [[Construct]] method, throw a TypeError exception","path":"TestCases/ch15/15.4/15.4.4/15.4.4.9/S15.4.4.9_A5.7.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNS8xNS40LjUtMS5qcw0KICogQGRlc2NyaXB0aW9uIEFycmF5IGluc3RhbmNlcyBoYXZlIFtbQ2xhc3NdXSBzZXQgdG8gJ0FycmF5Jw0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBhID0gW107DQogIHZhciBzID0gT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKGEpOw0KICBpZiAocyA9PT0gJ1tvYmplY3QgQXJyYXldJykgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Array instances have [[Class]] set to 'Array'","path":"TestCases/ch15/15.4/15.4.5/15.4.5-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNS8xNS40LjUuMS8xNS40LjUuMS0zLmQtMS5qcw0KICogQGRlc2NyaXB0aW9uIFRocm93IFJhbmdlRXJyb3IgaWYgYXR0ZW1wdCB0byBzZXQgYXJyYXkgbGVuZ3RoIHByb3BlcnR5IHRvIDQyOTQ5NjcyOTYgKDIqKjMyKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHRyeSB7DQogICAgICBbXS5sZW5ndGggPSA0Mjk0OTY3Mjk2IDsNCiAgfSBjYXRjaCAoZSkgew0KCWlmIChlIGluc3RhbmNlb2YgUmFuZ2VFcnJvcikgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Throw RangeError if attempt to set array length property to 4294967296 (2**32)","path":"TestCases/ch15/15.4/15.4.5/15.4.5.1/15.4.5.1-3.d-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNS8xNS40LjUuMS8xNS40LjUuMS0zLmQtMi5qcw0KICogQGRlc2NyaXB0aW9uIFRocm93IFJhbmdlRXJyb3IgaWYgYXR0ZW1wdCB0byBzZXQgYXJyYXkgbGVuZ3RoIHByb3BlcnR5IHRvIDQyOTQ5NjcyOTcgKDErMioqMzIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdHJ5IHsNCiAgICAgIFtdLmxlbmd0aCA9IDQyOTQ5NjcyOTcgOw0KICB9IGNhdGNoIChlKSB7DQoJaWYgKGUgaW5zdGFuY2VvZiBSYW5nZUVycm9yKSByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Throw RangeError if attempt to set array length property to 4294967297 (1+2**32)","path":"TestCases/ch15/15.4/15.4.5/15.4.5.1/15.4.5.1-3.d-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNS8xNS40LjUuMS8xNS40LjUuMS0zLmQtMy5qcw0KICogQGRlc2NyaXB0aW9uIFNldCBhcnJheSBsZW5ndGggcHJvcGVydHkgdG8gbWF4IHZhbHVlIDQyOTQ5NjcyOTUgKDIqKjMyLTEsKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7ICANCiAgdmFyIGEgPVtdOw0KICBhLmxlbmd0aCA9IDQyOTQ5NjcyOTUgOw0KICByZXR1cm4gYS5sZW5ndGg9PT00Mjk0OTY3Mjk1IDsNCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"Set array length property to max value 4294967295 (2**32-1,)","path":"TestCases/ch15/15.4/15.4.5/15.4.5.1/15.4.5.1-3.d-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNS8xNS40LjUuMS8xNS40LjUuMS01LTEuanMNCiAqIEBkZXNjcmlwdGlvbiBEZWZpbmluZyBhIHByb3BlcnR5IG5hbWVkIDQyOTQ5NjcyOTUgKDIqKjMyLTEpKG5vdCBhbiBhcnJheSBlbGVtZW50KQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7ICANCiAgdmFyIGEgPVtdOw0KICBhWzQyOTQ5NjcyOTVdID0gIm5vdCBhbiBhcnJheSBlbGVtZW50IiA7DQogIHJldHVybiBhWzQyOTQ5NjcyOTVdID09PSAibm90IGFuIGFycmF5IGVsZW1lbnQiOw0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"Defining a property named 4294967295 (2**32-1)(not an array element)","path":"TestCases/ch15/15.4/15.4.5/15.4.5.1/15.4.5.1-5-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS40LzE1LjQuNS8xNS40LjUuMS8xNS40LjUuMS01LTIuanMNCiAqIEBkZXNjcmlwdGlvbiBEZWZpbmluZyBhIHByb3BlcnR5IG5hbWVkIDQyOTQ5NjcyOTUgKDIqKjMyLTEpIGRvZXNuJ3QgY2hhbmdlIGxlbmd0aCBvZiB0aGUgYXJyYXkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgeyAgDQogIHZhciBhID1bMCwxLDJdOw0KICBhWzQyOTQ5NjcyOTVdID0gIm5vdCBhbiBhcnJheSBlbGVtZW50IiA7DQogIHJldHVybiBhLmxlbmd0aD09PTM7DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"Defining a property named 4294967295 (2**32-1) doesn't change length of the array","path":"TestCases/ch15/15.4/15.4.5/15.4.5.1/15.4.5.1-5-2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBUb1VpbnQzMihsZW5ndGgpICE9PSBUb051bWJlcihsZW5ndGgpLCB0aHJvdyBSYW5nZUVycm9yCiAqCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjUvMTUuNC41LjEvUzE1LjQuNS4xX0ExLjFfVDEuanMKICogQGRlc2NyaXB0aW9uIGxlbmd0aCBpbiBbNDI5NDk2NzI5NiwgLTEsIDEuNV0KICovCgovL0NIRUNLIzEKdHJ5IHsKICB2YXIgeCA9IFtdOwogIHgubGVuZ3RoID0gNDI5NDk2NzI5NjsKICAkRVJST1IoJyMxLjE6IHggPSBbXTsgeC5sZW5ndGggPSA0Mjk0OTY3Mjk2IHRocm93IFJhbmdlRXJyb3IuIEFjdHVhbDogeC5sZW5ndGggPT09ICcgKyAoeC5sZW5ndGgpKTsKfSBjYXRjaChlKSB7ICAgIAogIGlmICgoZSBpbnN0YW5jZW9mIFJhbmdlRXJyb3IpICE9PSB0cnVlKSB7CiAgICAkRVJST1IoJyMxLjI6IHggPSBbXTsgeC5sZW5ndGggPSA0Mjk0OTY3Mjk2IHRocm93IFJhbmdlRXJyb3IuIEFjdHVhbDogJyArIChlKSk7CiAgfSAgICAKfQoKLy9DSEVDSyMyCnRyeSB7CiAgeCA9IFtdOwogIHgubGVuZ3RoID0gLTE7CiAgJEVSUk9SKCcjMi4xOiB4ID0gW107IHgubGVuZ3RoID0gLTEgdGhyb3cgUmFuZ2VFcnJvci4gQWN0dWFsOiB4Lmxlbmd0aCA9PT0gJyArICh4Lmxlbmd0aCkpOwp9IGNhdGNoKGUpIHsgICAgCiAgaWYgKChlIGluc3RhbmNlb2YgUmFuZ2VFcnJvcikgIT09IHRydWUpIHsKICAgICRFUlJPUignIzIuMjogeCA9IFtdOyB4Lmxlbmd0aCA9IC0xIHRocm93IFJhbmdlRXJyb3IuIEFjdHVhbDogJyArIChlKSk7CiAgfSAgICAKfQoKLy9DSEVDSyMzCnRyeSB7CiAgeCA9IFtdOwogIHgubGVuZ3RoID0gMS41OwogICRFUlJPUignIzMuMTogeCA9IFtdOyB4Lmxlbmd0aCA9IDEuNSB0aHJvdyBSYW5nZUVycm9yLiBBY3R1YWw6IHgubGVuZ3RoID09PSAnICsgKHgubGVuZ3RoKSk7Cn0gY2F0Y2goZSkgeyAgICAKICBpZiAoKGUgaW5zdGFuY2VvZiBSYW5nZUVycm9yKSAhPT0gdHJ1ZSkgewogICAgJEVSUk9SKCcjMy4yOiB4ID0gW107IHgubGVuZ3RoID0gMS41IHRocm93IFJhbmdlRXJyb3IuIEFjdHVhbDogJyArIChlKSk7CiAgfSAgICAKfQoK","commentary":"If ToUint32(length) !== ToNumber(length), throw RangeError","description":"length in [4294967296, -1, 1.5]","path":"TestCases/ch15/15.4/15.4.5/15.4.5.1/S15.4.5.1_A1.1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBUb1VpbnQzMihsZW5ndGgpICE9PSBUb051bWJlcihsZW5ndGgpLCB0aHJvdyBSYW5nZUVycm9yCiAqCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjUvMTUuNC41LjEvUzE1LjQuNS4xX0ExLjFfVDIuanMKICogQGRlc2NyaXB0aW9uIGxlbmd0aCBpbiBbTmFOLCBJbmZpbml0eSwgLUluZmluaXR5LCB1bmRlZmluZWRdCiAqLwoKLy9DSEVDSyMxCnRyeSB7CiAgdmFyIHggPSBbXTsKICB4Lmxlbmd0aCA9IE5hTjsKICAkRVJST1IoJyMxLjE6IHggPSBbXTsgeC5sZW5ndGggPSBOYU4gdGhyb3cgUmFuZ2VFcnJvci4gQWN0dWFsOiB4Lmxlbmd0aCA9PT0gJyArICh4Lmxlbmd0aCkpOwp9IGNhdGNoKGUpIHsgICAgCiAgaWYgKChlIGluc3RhbmNlb2YgUmFuZ2VFcnJvcikgIT09IHRydWUpIHsKICAgICRFUlJPUignIzEuMjogeCA9IFtdOyB4Lmxlbmd0aCA9IE5hTiB0aHJvdyBSYW5nZUVycm9yLiBBY3R1YWw6ICcgKyAoZSkpOwogIH0gICAgCn0KCi8vQ0hFQ0sjMgp0cnkgewogIHggPSBbXTsKICB4Lmxlbmd0aCA9IE51bWJlci5QT1NJVElWRV9JTkZJTklUWTsKICAkRVJST1IoJyMyLjE6IHggPSBbXTsgeC5sZW5ndGggPSBOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkgdGhyb3cgUmFuZ2VFcnJvci4gQWN0dWFsOiB4Lmxlbmd0aCA9PT0gJyArICh4Lmxlbmd0aCkpOwp9IGNhdGNoKGUpIHsgICAgCiAgaWYgKChlIGluc3RhbmNlb2YgUmFuZ2VFcnJvcikgIT09IHRydWUpIHsKICAgICRFUlJPUignIzIuMjogeCA9IFtdOyB4Lmxlbmd0aCA9IE51bWJlci5QT1NJVElWRV9JTkZJTklUWSB0aHJvdyBSYW5nZUVycm9yLiBBY3R1YWw6ICcgKyAoZSkpOwogIH0gICAgCn0KCi8vQ0hFQ0sjMwp0cnkgewogIHggPSBbXTsKICB4Lmxlbmd0aCA9IE51bWJlci5ORUdBVElWRV9JTkZJTklUWTsKICAkRVJST1IoJyMzLjE6IHggPSBbXTsgeC5sZW5ndGggPSBOdW1iZXIuTkVHQVRJVkVfSU5GSU5JVFkgdGhyb3cgUmFuZ2VFcnJvci4gQWN0dWFsOiB4Lmxlbmd0aCA9PT0gJyArICh4Lmxlbmd0aCkpOwp9IGNhdGNoKGUpIHsgICAgCiAgaWYgKChlIGluc3RhbmNlb2YgUmFuZ2VFcnJvcikgIT09IHRydWUpIHsKICAgICRFUlJPUignIzMuMjogeCA9IFtdOyB4Lmxlbmd0aCA9IE51bWJlci5ORUdBVElWRV9JTkZJTklUWSB0aHJvdyBSYW5nZUVycm9yLiBBY3R1YWw6ICcgKyAoZSkpOwogIH0gICAgCn0KCi8vQ0hFQ0sjNAp0cnkgewogIHggPSBbXTsKICB4Lmxlbmd0aCA9IHVuZGVmaW5lZDsKICAkRVJST1IoJyM0LjE6IHggPSBbXTsgeC5sZW5ndGggPSB1bmRlZmluZWQgdGhyb3cgUmFuZ2VFcnJvci4gQWN0dWFsOiB4Lmxlbmd0aCA9PT0gJyArICh4Lmxlbmd0aCkpOwp9IGNhdGNoKGUpIHsgICAgCiAgaWYgKChlIGluc3RhbmNlb2YgUmFuZ2VFcnJvcikgIT09IHRydWUpIHsKICAgICRFUlJPUignIzQuMjogeCA9IFtdOyB4Lmxlbmd0aCA9IHVuZGVmaW5lZCB0aHJvdyBSYW5nZUVycm9yLiBBY3R1YWw6ICcgKyAoZSkpOwogIH0gICAgCn0KCg==","commentary":"If ToUint32(length) !== ToNumber(length), throw RangeError","description":"length in [NaN, Infinity, -Infinity, undefined]","path":"TestCases/ch15/15.4/15.4.5/15.4.5.1/S15.4.5.1_A1.1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBGb3IgZXZlcnkgaW50ZWdlciBrIHRoYXQgaXMgbGVzcyB0aGFuIHRoZSB2YWx1ZSBvZgogKiB0aGUgbGVuZ3RoIHByb3BlcnR5IG9mIEEgYnV0IG5vdCBsZXNzIHRoYW4gVG9VaW50MzIobGVuZ3RoKSwKICogaWYgQSBpdHNlbGYgaGFzIGEgcHJvcGVydHkgKG5vdCBhbiBpbmhlcml0ZWQgcHJvcGVydHkpIG5hbWVkIFRvU3RyaW5nKGspLAogKiB0aGVuIGRlbGV0ZSB0aGF0IHByb3BlcnR5CiAqCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjUvMTUuNC41LjEvUzE1LjQuNS4xX0ExLjJfVDEuanMKICogQGRlc2NyaXB0aW9uIENoYW5nZSBsZW5ndGggb2YgYXJyYXkKICovCgovL0NIRUNLIzEKdmFyIHggPSBbMCwsMiwsNF07CngubGVuZ3RoID0gNDsKaWYgKHhbNF0gIT09IHVuZGVmaW5lZCkgeyAgCiAgJEVSUk9SKCcjMTogeCA9IFswLCwyLCw0XTsgeC5sZW5ndGggPSA0OyB4WzRdID09PSB1bmRlZmluZWQuIEFjdHVhbDogJyArICh4WzRdKSk7ICAgIAp9CgovL0NIRUNLIzIKeC5sZW5ndGggPSAzOwppZiAoeFszXSAhPT0gdW5kZWZpbmVkKSB7ICAKICAkRVJST1IoJyMyOiB4ID0gWzAsLDIsLDRdOyB4Lmxlbmd0aCA9IDQ7IHgubGVuZ3RoID0gMzsgeFszXSA9PT0gdW5kZWZpbmVkLiBBY3R1YWw6ICcgKyAoeFszXSkpOyAgICAKfQoKLy9DSEVDSyMzCmlmICh4WzJdICE9PSAyKSB7ICAKICAkRVJST1IoJyMzOiB4ID0gWzAsLDIsLDRdOyB4Lmxlbmd0aCA9IDQ7IHgubGVuZ3RoID0gMzsgeFsyXSA9PT0gMi4gQWN0dWFsOiAnICsgKHhbMl0pKTsgICAgCn0KCg==","commentary":"For every integer k that is less than the value of\nthe length property of A but not less than ToUint32(length),\nif A itself has a property (not an inherited property) named ToString(k),\nthen delete that property","description":"Change length of array","path":"TestCases/ch15/15.4/15.4.5/15.4.5.1/S15.4.5.1_A1.2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBGb3IgZXZlcnkgaW50ZWdlciBrIHRoYXQgaXMgbGVzcyB0aGFuIHRoZSB2YWx1ZSBvZgogKiB0aGUgbGVuZ3RoIHByb3BlcnR5IG9mIEEgYnV0IG5vdCBsZXNzIHRoYW4gVG9VaW50MzIobGVuZ3RoKSwKICogaWYgQSBpdHNlbGYgaGFzIGEgcHJvcGVydHkgKG5vdCBhbiBpbmhlcml0ZWQgcHJvcGVydHkpIG5hbWVkIFRvU3RyaW5nKGspLAogKiB0aGVuIGRlbGV0ZSB0aGF0IHByb3BlcnR5CiAqCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjUvMTUuNC41LjEvUzE1LjQuNS4xX0ExLjJfVDIuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGFuIGluaGVyaXRlZCBwcm9wZXJ0eQogKi8KCi8vQ0hFQ0sjMQpBcnJheS5wcm90b3R5cGVbMl0gPSAtMTsKdmFyIHggPSBbMCwxLDJdOwppZiAoeFsyXSAhPT0gMikgeyAgCiAgJEVSUk9SKCcjMTogQXJyYXkucHJvdG90eXBlWzJdID0gLTE7IHggPSBbMCwxLDNdOyB4WzJdID09PSAyLiBBY3R1YWw6ICcgKyAoeFsyXSkpOyAgICAKfQoKLy9DSEVDSyMyCngubGVuZ3RoID0gMjsKaWYgKHhbMl0gIT09IC0xKSB7ICAKICAkRVJST1IoJyMyOiBBcnJheS5wcm90b3R5cGVbMl0gPSAtMTsgeCA9IFswLDEsM107IHgubGVuZ3RoID0gMjsgeFsyXSA9PT0gLTEuIEFjdHVhbDogJyArICh4WzJdKSk7ICAgIAp9Cgo=","commentary":"For every integer k that is less than the value of\nthe length property of A but not less than ToUint32(length),\nif A itself has a property (not an inherited property) named ToString(k),\nthen delete that property","description":"Checking an inherited property","path":"TestCases/ch15/15.4/15.4.5/15.4.5.1/S15.4.5.1_A1.2_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBGb3IgZXZlcnkgaW50ZWdlciBrIHRoYXQgaXMgbGVzcyB0aGFuIHRoZSB2YWx1ZSBvZgogKiB0aGUgbGVuZ3RoIHByb3BlcnR5IG9mIEEgYnV0IG5vdCBsZXNzIHRoYW4gVG9VaW50MzIobGVuZ3RoKSwKICogaWYgQSBpdHNlbGYgaGFzIGEgcHJvcGVydHkgKG5vdCBhbiBpbmhlcml0ZWQgcHJvcGVydHkpIG5hbWVkIFRvU3RyaW5nKGspLAogKiB0aGVuIGRlbGV0ZSB0aGF0IHByb3BlcnR5CiAqCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjUvMTUuNC41LjEvUzE1LjQuNS4xX0ExLjJfVDMuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGFuIGluaGVyaXRlZCBwcm9wZXJ0eQogKi8KCi8vQ0hFQ0sjMQpBcnJheS5wcm90b3R5cGVbMl0gPSAyOwp2YXIgeCA9IFswLDFdOwp4Lmxlbmd0aCA9IDM7CmlmICh4Lmhhc093blByb3BlcnR5KCcyJykgIT09IGZhbHNlKSB7ICAKICAkRVJST1IoJyMxOiBBcnJheS5wcm90b3R5cGVbMl0gPSAyOyB4ID0gWzAsMV07IHgubGVuZ3RoID0gMzsgeC5oYXNPd25Qcm9wZXJ0eShcJzJcJykgPT09IGZhbHNlLiBBY3R1YWw6ICcgKyAoeC5oYXNPd25Qcm9wZXJ0eSgnMicpKSk7ICAgIAp9CgovL0NIRUNLIzIKeC5sZW5ndGggPSAyOwppZiAoeFsyXSAhPT0gMikgeyAgCiAgJEVSUk9SKCcjMjogQXJyYXkucHJvdG90eXBlWzJdID0gMjsgeCA9IFswLDFdOyB4Lmxlbmd0aCA9IDM7IHgubGVuZ3RoID0gMjsgeFsyXSA9PT0gMi4gQWN0dWFsOiAnICsgKHhbMl0pKTsgICAgCn0KCg==","commentary":"For every integer k that is less than the value of\nthe length property of A but not less than ToUint32(length),\nif A itself has a property (not an inherited property) named ToString(k),\nthen delete that property","description":"Checking an inherited property","path":"TestCases/ch15/15.4/15.4.5/15.4.5.1/S15.4.5.1_A1.2_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTZXQgdGhlIHZhbHVlIG9mIHByb3BlcnR5IGxlbmd0aCBvZiBBIHRvIFVpbnQzMihsZW5ndGgpCiAqCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjUvMTUuNC41LjEvUzE1LjQuNS4xX0ExLjNfVDEuanMKICogQGRlc2NyaXB0aW9uIGxlbmd0aCBpcyBvYmplY3Qgb3IgcHJpbWl0dmUKICovCgovL0NIRUNLIzEKdmFyIHggPSBbXTsKeC5sZW5ndGggPSB0cnVlOwppZiAoeC5sZW5ndGggIT09IDEpIHsgIAogICRFUlJPUignIzE6IHggPSBbXTsgeC5sZW5ndGggPSB0cnVlOyB4Lmxlbmd0aCA9PT0gMS4gQWN0dWFsOiAnICsgKHgubGVuZ3RoKSk7ICAgIAp9CgovL0NIRUNLIzIKeCA9IFswXTsKeC5sZW5ndGggPSBudWxsOwppZiAoeC5sZW5ndGggIT09IDApIHsgIAogICRFUlJPUignIzI6IHggPSBbMF07IHgubGVuZ3RoID0gbnVsbDsgeC5sZW5ndGggPT09IDAuIEFjdHVhbDogJyArICh4Lmxlbmd0aCkpOyAgICAKfQoKLy9DSEVDSyMzCnggPSBbMF07CngubGVuZ3RoID0gbmV3IEJvb2xlYW4oZmFsc2UpOwppZiAoeC5sZW5ndGggIT09IDApIHsgIAogICRFUlJPUignIzM6IHggPSBbMF07IHgubGVuZ3RoID0gbmV3IEJvb2xlYW4oZmFsc2UpOyB4Lmxlbmd0aCA9PT0gMC4gQWN0dWFsOiAnICsgKHgubGVuZ3RoKSk7ICAgIAp9CgovL0NIRUNLIzQKeCA9IFtdOwp4Lmxlbmd0aCA9IG5ldyBOdW1iZXIoMSk7CmlmICh4Lmxlbmd0aCAhPT0gMSkgeyAgCiAgJEVSUk9SKCcjNDogeCA9IFtdOyB4Lmxlbmd0aCA9IG5ldyBOdW1iZXIoMSk7IHgubGVuZ3RoID09PSAxLiBBY3R1YWw6ICcgKyAoeC5sZW5ndGgpKTsgICAgCn0KCi8vQ0hFQ0sjNQp4ID0gW107CngubGVuZ3RoID0gIjEiOwppZiAoeC5sZW5ndGggIT09IDEpIHsgIAogICRFUlJPUignIzU6IHggPSBbXTsgeC5sZW5ndGggPSAiMSI7IHgubGVuZ3RoID09PSAxLiBBY3R1YWw6ICcgKyAoeC5sZW5ndGgpKTsgICAgCn0KCi8vQ0hFQ0sjNgp4ID0gW107CngubGVuZ3RoID0gbmV3IFN0cmluZygiMSIpOwppZiAoeC5sZW5ndGggIT09IDEpIHsgIAogICRFUlJPUignIzY6IHggPSBbXTsgeC5sZW5ndGggPSBuZXcgU3RyaW5nKCIxIik7IHgubGVuZ3RoID09PSAxLiBBY3R1YWw6ICcgKyAoeC5sZW5ndGgpKTsgICAgCn0KCg==","commentary":"Set the value of property length of A to Uint32(length)","description":"length is object or primitve","path":"TestCases/ch15/15.4/15.4.5/15.4.5.1/S15.4.5.1_A1.3_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTZXQgdGhlIHZhbHVlIG9mIHByb3BlcnR5IGxlbmd0aCBvZiBBIHRvIFVpbnQzMihsZW5ndGgpCiAqCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjUvMTUuNC41LjEvUzE1LjQuNS4xX0ExLjNfVDIuanMKICogQGRlc2NyaXB0aW9uIFVpbnQzMiB1c2UgVG9OdW1iZXIgYW5kIFRvUHJpbWl0dmUKICovCgovL0NIRUNLIzEKdmFyIHggPSBbXTsKeC5sZW5ndGggPSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIDJ9fTsKaWYgKHgubGVuZ3RoICE9PSAyKSB7CiAgJEVSUk9SKCcjMTogeCA9IFtdOyB4Lmxlbmd0aCA9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gMn19OyAgeC5sZW5ndGggPT09IDIuIEFjdHVhbDogJyArICh4Lmxlbmd0aCkpOwp9CgovL0NIRUNLIzIKeCA9IFtdOwp4Lmxlbmd0aCA9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gMn0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gMX19OwppZiAoeC5sZW5ndGggIT09IDIpIHsKICAkRVJST1IoJyMwOiB4ID0gW107IHgubGVuZ3RoID0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAyfSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiAxfX07ICB4Lmxlbmd0aCA9PT0gMi4gQWN0dWFsOiAnICsgKHgubGVuZ3RoKSk7Cn0gCgovL0NIRUNLIzMKeCA9IFtdOwp4Lmxlbmd0aCA9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gMn0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4ge319fTsKaWYgKHgubGVuZ3RoICE9PSAyKSB7CiAgJEVSUk9SKCcjMzogeCA9IFtdOyB4Lmxlbmd0aCA9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHtyZXR1cm4gMn0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4ge319fTsgIHgubGVuZ3RoID09PSAyLiBBY3R1YWw6ICcgKyAoeC5sZW5ndGgpKTsKfQoKLy9DSEVDSyM0CnRyeSB7ICAKICB4ID0gW107CiAgeC5sZW5ndGggPSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIDJ9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7dGhyb3cgImVycm9yIn19OyAgCiAgaWYgKHgubGVuZ3RoICE9PSAyKSB7CiAgICAkRVJST1IoJyM0LjE6IHggPSBbXTsgeC5sZW5ndGggPSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIDJ9LCB0b1N0cmluZzogZnVuY3Rpb24oKSB7dGhyb3cgImVycm9yIn19OyB4Lmxlbmd0aCA9PT0gIiwiLiBBY3R1YWw6ICcgKyAoeC5sZW5ndGgpKTsKICB9Cn0KY2F0Y2ggKGUpIHsKICBpZiAoZSA9PT0gImVycm9yIikgewogICAgJEVSUk9SKCcjNC4yOiB4ID0gW107IHgubGVuZ3RoID0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAyfSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3Rocm93ICJlcnJvciJ9fTsgeC5sZW5ndGggbm90IHRocm93ICJlcnJvciInKTsKICB9IGVsc2UgewogICAgJEVSUk9SKCcjNC4zOiB4ID0gW107IHgubGVuZ3RoID0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiAyfSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3Rocm93ICJlcnJvciJ9fTsgeC5sZW5ndGggbm90IHRocm93IEVycm9yLiBBY3R1YWw6ICcgKyAoZSkpOwogIH0KfQoKLy9DSEVDSyM1CnggPSBbXTsKeC5sZW5ndGggPSB7dG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiAxfX07CmlmICh4Lmxlbmd0aCAhPT0gMSkgewogICRFUlJPUignIzU6IHggPSBbXTsgeC5sZW5ndGggPSB7dG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiAxfX07ICB4Lmxlbmd0aCA9PT0gMS4gQWN0dWFsOiAnICsgKHgubGVuZ3RoKSk7Cn0KCi8vQ0hFQ0sjNgp4ID0gW107CngubGVuZ3RoID0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiB7fX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gMX19CmlmICh4Lmxlbmd0aCAhPT0gMSkgewogICRFUlJPUignIzY6IHggPSBbXTsgeC5sZW5ndGggPSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIHt9fSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiAxfX07ICB4Lmxlbmd0aCA9PT0gMS4gQWN0dWFsOiAnICsgKHgubGVuZ3RoKSk7Cn0KCi8vQ0hFQ0sjNwp0cnkgewogIHggPSBbXTsKICB4Lmxlbmd0aCA9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHt0aHJvdyAiZXJyb3IifSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiAxfX07ICAKICB4Lmxlbmd0aDsKICAkRVJST1IoJyM3LjE6IHggPSBbXTsgeC5sZW5ndGggPSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7dGhyb3cgImVycm9yIn0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4gMX19OyB4Lmxlbmd0aCB0aHJvdyAiZXJyb3IiLiBBY3R1YWw6ICcgKyAoeC5sZW5ndGgpKTsKfSAgCmNhdGNoIChlKSB7CiAgaWYgKGUgIT09ICJlcnJvciIpIHsKICAgICRFUlJPUignIzcuMjogeCA9IFtdOyB4Lmxlbmd0aCA9IHt2YWx1ZU9mOiBmdW5jdGlvbigpIHt0aHJvdyAiZXJyb3IifSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiAxfX07IHgubGVuZ3RoIHRocm93ICJlcnJvciIuIEFjdHVhbDogJyArIChlKSk7CiAgfSAKfQoKLy9DSEVDSyM4CnRyeSB7CiAgeCA9IFtdOwogIHgubGVuZ3RoID0ge3ZhbHVlT2Y6IGZ1bmN0aW9uKCkge3JldHVybiB7fX0sIHRvU3RyaW5nOiBmdW5jdGlvbigpIHtyZXR1cm4ge319fTsKICB4Lmxlbmd0aDsKICAkRVJST1IoJyM4LjE6IHggPSBbXTsgeC5sZW5ndGggPSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIHt9fSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiB7fX19ICB4Lmxlbmd0aCB0aHJvdyBUeXBlRXJyb3IuIEFjdHVhbDogJyArICh4Lmxlbmd0aCkpOwp9ICAKY2F0Y2ggKGUpIHsKICBpZiAoKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpICE9PSB0cnVlKSB7CiAgICAkRVJST1IoJyM4LjI6IHggPSBbXTsgeC5sZW5ndGggPSB7dmFsdWVPZjogZnVuY3Rpb24oKSB7cmV0dXJuIHt9fSwgdG9TdHJpbmc6IGZ1bmN0aW9uKCkge3JldHVybiB7fX19ICB4Lmxlbmd0aCB0aHJvdyBUeXBlRXJyb3IuIEFjdHVhbDogJyArIChlKSk7CiAgfSAKfQoK","commentary":"Set the value of property length of A to Uint32(length)","description":"Uint32 use ToNumber and ToPrimitve","path":"TestCases/ch15/15.4/15.4.5/15.4.5.1/S15.4.5.1_A1.3_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBQIGlzIG5vdCBhbiBhcnJheSBpbmRleCwgcmV0dXJuCiAqIChDcmVhdGUgYSBwcm9wZXJ0eSB3aXRoIG5hbWUgUCwgc2V0IGl0cyB2YWx1ZSB0byBWIGFuZCBnaXZlIGl0IGVtcHR5IGF0dHJpYnV0ZXMpCiAqCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjUvMTUuNC41LjEvUzE1LjQuNS4xX0EyLjFfVDEuanMKICogQGRlc2NyaXB0aW9uIFAgaW4gWzQyOTQ5NjcyOTUsIC0xLCB0cnVlXQogKi8KCi8vQ0hFQ0sjMQp2YXIgeCA9IFtdOwp4WzQyOTQ5NjcyOTVdID0gMTsKaWYgKHgubGVuZ3RoICE9PSAwKSB7ICAKICAkRVJST1IoJyMxLjE6IHggPSBbXTsgeFs0Mjk0OTY3Mjk1XSA9IDE7IHgubGVuZ3RoID09PSAwLiBBY3R1YWw6ICcgKyAoeC5sZW5ndGgpKTsgICAgCn0KCmlmICh4WzQyOTQ5NjcyOTVdICE9PSAxKSB7ICAKICAkRVJST1IoJyMxLjI6IHggPSBbXTsgeFs0Mjk0OTY3Mjk1XSA9IDE7IHhbNDI5NDk2NzI5NV0gPT09IDEuIEFjdHVhbDogJyArICh4WzQyOTQ5NjcyOTVdKSk7ICAgIAp9CgovL0NIRUNLIzIKeCA9IFtdOwp4Wy0xXSA9IDE7CmlmICh4Lmxlbmd0aCAhPT0gMCkgeyAgCiAgJEVSUk9SKCcjMi4xOiB4ID0gW107IHhbLTFdID0gMTsgeC5sZW5ndGggPT09IDAuIEFjdHVhbDogJyArICh4Lmxlbmd0aCkpOyAgICAKfQoKaWYgKHhbLTFdICE9PSAxKSB7ICAKICAkRVJST1IoJyMyLjI6IHggPSBbXTsgeFstMV0gPSAxOyB4Wy0xXSA9PT0gMS4gQWN0dWFsOiAnICsgKHhbLTFdKSk7ICAgIAp9CgovL0NIRUNLIzMKeCA9IFtdOwp4W3RydWVdID0gMTsKaWYgKHgubGVuZ3RoICE9PSAwKSB7ICAKICAkRVJST1IoJyMzLjE6IHggPSBbXTsgeFt0cnVlXSA9IDE7IHgubGVuZ3RoID09PSAwLiBBY3R1YWw6ICcgKyAoeC5sZW5ndGgpKTsgICAgCn0KCmlmICh4W3RydWVdICE9PSAxKSB7ICAKICAkRVJST1IoJyMzLjI6IHggPSBbXTsgeFt0cnVlXSA9IDE7IHhbdHJ1ZV0gPT09IDEuIEFjdHVhbDogJyArICh4W3RydWVdKSk7ICAgIAp9Cgo=","commentary":"If P is not an array index, return\n(Create a property with name P, set its value to V and give it empty attributes)","description":"P in [4294967295, -1, true]","path":"TestCases/ch15/15.4/15.4.5/15.4.5.1/S15.4.5.1_A2.1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBUb1VpbnQzMihQKSBpcyBsZXNzIHRoYW4gdGhlIHZhbHVlIG9mCiAqIHRoZSBsZW5ndGggcHJvcGVydHkgb2YgQSwgdGhlbiByZXR1cm4KICoKICogQHBhdGggY2gxNS8xNS40LzE1LjQuNS8xNS40LjUuMS9TMTUuNC41LjFfQTIuMl9UMS5qcwogKiBAZGVzY3JpcHRpb24gbGVuZ3RoID09PSAxMDAsIFAgaW4gWzAsIDk4LCA5OV0KICovCgovL0NIRUNLIzEKdmFyIHggPSBBcnJheSgxMDApOwp4WzBdID0gMTsKaWYgKHgubGVuZ3RoICE9PSAxMDApIHsgIAogICRFUlJPUignIzE6IHggPSBBcnJheSgxMDApOyB4WzBdID0gMTsgeC5sZW5ndGggPT09IDEwMC4gQWN0dWFsOiAnICsgKHgubGVuZ3RoKSk7ICAgIAp9CgovL0NIRUNLIzIKeFs5OF0gPSAxOwppZiAoeC5sZW5ndGggIT09IDEwMCkgeyAgCiAgJEVSUk9SKCcjMjogeCA9IEFycmF5KDEwMCk7IHhbMF0gPSAxOyB4Wzk4XSA9IDE7IHgubGVuZ3RoID09PSAxMDAuIEFjdHVhbDogJyArICh4Lmxlbmd0aCkpOyAgICAKfQoKLy9DSEVDSyMzCnhbOTldID0gMTsKaWYgKHgubGVuZ3RoICE9PSAxMDApIHsgIAogICRFUlJPUignIzM6IHggPSBBcnJheSgxMDApOyB4WzBdID0gMTsgeFs5OF0gPSAxOyB4Wzk5XSA9IDE7IHgubGVuZ3RoID09PSAxMDAuIEFjdHVhbDogJyArICh4Lmxlbmd0aCkpOyAgICAKfQoK","commentary":"If ToUint32(P) is less than the value of\nthe length property of A, then return","description":"length === 100, P in [0, 98, 99]","path":"TestCases/ch15/15.4/15.4.5/15.4.5.1/S15.4.5.1_A2.2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBUb1VpbnQzMihQKSBpcyBsZXNzIHRoYW4gdGhlIHZhbHVlIG9mCiAqIHRoZSBsZW5ndGggcHJvcGVydHkgb2YgQSwgY2hhbmdlIChvciBzZXQpIGxlbmd0aCB0byBUb1VpbnQzMihQKSsxCiAqCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjUvMTUuNC41LjEvUzE1LjQuNS4xX0EyLjNfVDEuanMKICogQGRlc2NyaXB0aW9uIGxlbmd0aCA9IDEwMCwgUCBpbiBbMTAwLCAxOTldCiAqLwoKLy9DSEVDSyMxCnZhciB4ID0gQXJyYXkoMTAwKTsKeFsxMDBdID0gMTsKaWYgKHgubGVuZ3RoICE9PSAxMDEpIHsgIAogICRFUlJPUignIzE6IHggPSBBcnJheSgxMDApOyB4WzEwMF0gPSAxOyB4Lmxlbmd0aCA9PT0gMTAxLiBBY3R1YWw6ICcgKyAoeC5sZW5ndGgpKTsgICAgCn0KCi8vQ0hFQ0sjMgp4WzE5OV0gPSAxOwppZiAoeC5sZW5ndGggIT09IDIwMCkgeyAgCiAgJEVSUk9SKCcjMjogeCA9IEFycmF5KDEwMCk7IHhbMTAwXSA9IDE7IHhbMTk5XSA9IDE7IHgubGVuZ3RoID09PSAxMDAuIEFjdHVhbDogJyArICh4Lmxlbmd0aCkpOyAgICAKfQoK","commentary":"If ToUint32(P) is less than the value of\nthe length property of A, change (or set) length to ToUint32(P)+1","description":"length = 100, P in [100, 199]","path":"TestCases/ch15/15.4/15.4.5/15.4.5.1/S15.4.5.1_A2.3_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBFdmVyeSBBcnJheSBvYmplY3QgaGFzIGEgbGVuZ3RoIHByb3BlcnR5IHdob3NlIHZhbHVlIGlzCiAqIGFsd2F5cyBhIG5vbm5lZ2F0aXZlIGludGVnZXIgbGVzcyB0aGFuIDJeMzIuIFRoZSB2YWx1ZSBvZiB0aGUgbGVuZ3RoIHByb3BlcnR5IGlzCiAqIG51bWVyaWNhbGx5IGdyZWF0ZXIgdGhhbiB0aGUgbmFtZSBvZiBldmVyeSBwcm9wZXJ0eSB3aG9zZSBuYW1lIGlzIGFuIGFycmF5IGluZGV4CiAqCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjUvMTUuNC41LjIvUzE1LjQuNS4yX0ExX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBib3VuZGFyeSBwb2ludHMKICovCgovL0NIRUNLIzEKdmFyIHggPSBbXTsKaWYgKHgubGVuZ3RoICE9PSAwKSB7ICAKICAkRVJST1IoJyMxOiB4ID0gW107IHgubGVuZ3RoID09PSAwLiBBY3R1YWw6ICcgKyAoeC5sZW5ndGgpKTsgICAgCn0KCi8vQ0hFQ0sjMgp4WzBdID0gMTsKaWYgKHgubGVuZ3RoICE9PSAxKSB7ICAgICAgCiAgJEVSUk9SKCcjMjogeCA9IFtdOyB4WzFdID0gMTsgeC5sZW5ndGggPT09IDEuIEFjdHVhbDogJyArICh4Lmxlbmd0aCkpOwp9CgovL0NIRUNLIzMKeFsxXSA9IDE7CmlmICh4Lmxlbmd0aCAhPT0gMikgeyAgICAgIAogICRFUlJPUignIzM6IHggPSBbXTsgeFswXSA9IDE7IHhbMV0gPSAxOyB4Lmxlbmd0aCA9PT0gMi4gQWN0dWFsOiAnICsgKHgubGVuZ3RoKSk7Cn0KCi8vQ0hFQ0sjNAp4WzIxNDc0ODM2NDhdID0gMTsKaWYgKHgubGVuZ3RoICE9PSAyMTQ3NDgzNjQ5KSB7ICAgICAgCiAgJEVSUk9SKCcjNDogeCA9IFtdOyB4WzBdID0gMTsgeFsxXSA9IDE7IHhbMjE0NzQ4MzY0OF0gPSAxOyB4Lmxlbmd0aCA9PT0gMjE0NzQ4MzY0OS4gQWN0dWFsOiAnICsgKHgubGVuZ3RoKSk7Cn0KCi8vQ0hFQ0sjNQp4WzQyOTQ5NjcyOTRdID0gMTsKaWYgKHgubGVuZ3RoICE9PSA0Mjk0OTY3Mjk1KSB7ICAgICAgCiAgJEVSUk9SKCcjNTogeCA9IFtdOyB4WzBdID0gMTsgeFsxXSA9IDE7IHhbMjE0NzQ4MzY0OF0gPSAxOyB4WzQyOTQ5NjcyOTU0XSA9IDE7IHgubGVuZ3RoID09PSA0Mjk0OTY3Mjk1LiBBY3R1YWw6ICcgKyAoeC5sZW5ndGgpKTsKfQoK","commentary":"Every Array object has a length property whose value is\nalways a nonnegative integer less than 2^32. The value of the length property is\nnumerically greater than the name of every property whose name is an array index","description":"Checking boundary points","path":"TestCases/ch15/15.4/15.4.5/15.4.5.2/S15.4.5.2_A1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBFdmVyeSBBcnJheSBvYmplY3QgaGFzIGEgbGVuZ3RoIHByb3BlcnR5IHdob3NlIHZhbHVlIGlzCiAqIGFsd2F5cyBhIG5vbm5lZ2F0aXZlIGludGVnZXIgbGVzcyB0aGFuIDJeMzIuIFRoZSB2YWx1ZSBvZiB0aGUgbGVuZ3RoIHByb3BlcnR5IGlzCiAqIG51bWVyaWNhbGx5IGdyZWF0ZXIgdGhhbiB0aGUgbmFtZSBvZiBldmVyeSBwcm9wZXJ0eSB3aG9zZSBuYW1lIGlzIGFuIGFycmF5IGluZGV4CiAqCiAqIEBwYXRoIGNoMTUvMTUuNC8xNS40LjUvMTUuNC41LjIvUzE1LjQuNS4yX0ExX1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBQID0gIjJeMzIgLSAxIiBpcyBub3QgaW5kZXggYXJyYXkKICovCgovL0NIRUNLIzEKdmFyIHggPSBbXTsKeFs0Mjk0OTY3Mjk1XSA9IDE7CmlmICh4Lmxlbmd0aCAhPT0gMCkgeyAgCiAgJEVSUk9SKCcjMTogeCA9IFtdOyB4WzQyOTQ5NjcyOTVdID0gMTsgeC5sZW5ndGggPT09IDAuIEFjdHVhbDogJyArICh4Lmxlbmd0aCkpOyAgICAKfQoKLy9DSEVDSyMyCnZhciB5ID1bXTsKeVsxXSA9IDE7CnlbNDI5NDk2NzI5NV0gPSAxOwppZiAoeS5sZW5ndGggIT09IDIpIHsgICAgICAKICAkRVJST1IoJyMyOiB5ID0gW107IHlbMV0gPSAxOyB5WzQyOTQ5NjcyOTVdID0gMTsgeS5sZW5ndGggPT09IDIuIEFjdHVhbDogJyArICh5Lmxlbmd0aCkpOwp9Cgo=","commentary":"Every Array object has a length property whose value is\nalways a nonnegative integer less than 2^32. The value of the length property is\nnumerically greater than the name of every property whose name is an array index","description":"P = \"2^32 - 1\" is not index array","path":"TestCases/ch15/15.4/15.4.5/15.4.5.2/S15.4.5.2_A1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBhIHByb3BlcnR5IGlzIGFkZGVkIHdob3NlIG5hbWUgaXMgYW4gYXJyYXkgaW5kZXgsCiAqIHRoZSBsZW5ndGggcHJvcGVydHkgaXMgY2hhbmdlZAogKgogKiBAcGF0aCBjaDE1LzE1LjQvMTUuNC41LzE1LjQuNS4yL1MxNS40LjUuMl9BMl9UMS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgbGVuZ3RoIHByb3BlcnR5CiAqLwoKLy9DSEVDSyMxCnZhciB4ID0gW107CmlmICh4Lmxlbmd0aCAhPT0gMCkgeyAgCiAgJEVSUk9SKCcjMTogeCA9IFtdOyB4Lmxlbmd0aCA9PT0gMC4gQWN0dWFsOiAnICsgKHgubGVuZ3RoKSk7ICAgIAp9CgovL0NIRUNLIzIKeFswXSA9IDE7CmlmICh4Lmxlbmd0aCAhPT0gMSkgeyAgICAgIAogICRFUlJPUignIzI6IHggPSBbXTsgeFsxXSA9IDE7IHgubGVuZ3RoID09PSAxLiBBY3R1YWw6ICcgKyAoeC5sZW5ndGgpKTsKfQoKLy9DSEVDSyMzCnhbMV0gPSAxOwppZiAoeC5sZW5ndGggIT09IDIpIHsgICAgICAKICAkRVJST1IoJyMzOiB4ID0gW107IHhbMF0gPSAxOyB4WzFdID0gMTsgeC5sZW5ndGggPT09IDIuIEFjdHVhbDogJyArICh4Lmxlbmd0aCkpOwp9CgovL0NIRUNLIzQKeFs5XSA9IDE7CmlmICh4Lmxlbmd0aCAhPT0gMTApIHsgICAgICAKICAkRVJST1IoJyM0OiB4ID0gW107IHhbMF0gPSAxOyB4WzFdID0gMTsgeFs5XSA9IDE7IHgubGVuZ3RoID09PSAxMC4gQWN0dWFsOiAnICsgKHgubGVuZ3RoKSk7Cn0KCg==","commentary":"If a property is added whose name is an array index,\nthe length property is changed","description":"Checking length property","path":"TestCases/ch15/15.4/15.4.5/15.4.5.2/S15.4.5.2_A2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB0aGUgbGVuZ3RoIHByb3BlcnR5IGlzIGNoYW5nZWQsIGV2ZXJ5IHByb3BlcnR5IHdob3NlIG5hbWUKICogaXMgYW4gYXJyYXkgaW5kZXggd2hvc2UgdmFsdWUgaXMgbm90IHNtYWxsZXIgdGhhbiB0aGUgbmV3IGxlbmd0aCBpcyBhdXRvbWF0aWNhbGx5IGRlbGV0ZWQKICoKICogQHBhdGggY2gxNS8xNS40LzE1LjQuNS8xNS40LjUuMi9TMTUuNC41LjJfQTNfVDEuanMKICogQGRlc2NyaXB0aW9uIElmIG5ldyBsZW5ndGggZ3JlYXRlciB0aGFuIHRoZSBuYW1lIG9mIGV2ZXJ5IHByb3BlcnR5IHdob3NlIG5hbWUKICogaXMgYW4gYXJyYXkgaW5kZXgKICovCgovL0NIRUNLIzEKdmFyIHggPSBbXTsKeC5sZW5ndGggPSAxOwppZiAoeC5sZW5ndGggIT09IDEpIHsgIAogICRFUlJPUignIzE6IHggPSBbXTsgeC5sZW5ndGggPSAxOyB4Lmxlbmd0aCA9PT0gMS4gQWN0dWFsOiAnICsgKHgubGVuZ3RoKSk7ICAgIAp9CgovL0NIRUNLIzIKeFs1XSA9IDE7CngubGVuZ3RoID0gMTA7CmlmICh4Lmxlbmd0aCAhPT0gMTApIHsgICAgICAKICAkRVJST1IoJyMyOiB4ID0gW107IHgubGVuZ3RoID0gMTsgeFs1XSA9IDE7IHgubGVuZ3RoID0gMTA7IHgubGVuZ3RoID09PSAxMC4gQWN0dWFsOiAnICsgKHgubGVuZ3RoKSk7Cn0KCi8vQ0hFQ0sjMwppZiAoeFs1XSAhPT0gMSkgeyAgICAgIAogICRFUlJPUignIzM6IHggPSBbXTsgeC5sZW5ndGggPSAxOyB4WzVdID0gMTsgeC5sZW5ndGggPSAxMDsgeFs1XSA9IDEnKTsKfQoK","commentary":"If the length property is changed, every property whose name\nis an array index whose value is not smaller than the new length is automatically deleted","description":"If new length greater than the name of every property whose name\nis an array index","path":"TestCases/ch15/15.4/15.4.5/15.4.5.2/S15.4.5.2_A3_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB0aGUgbGVuZ3RoIHByb3BlcnR5IGlzIGNoYW5nZWQsIGV2ZXJ5IHByb3BlcnR5IHdob3NlIG5hbWUKICogaXMgYW4gYXJyYXkgaW5kZXggd2hvc2UgdmFsdWUgaXMgbm90IHNtYWxsZXIgdGhhbiB0aGUgbmV3IGxlbmd0aCBpcyBhdXRvbWF0aWNhbGx5IGRlbGV0ZWQKICoKICogQHBhdGggY2gxNS8xNS40LzE1LjQuNS8xNS40LjUuMi9TMTUuNC41LjJfQTNfVDIuanMKICogQGRlc2NyaXB0aW9uIElmIG5ldyBsZW5ndGggZ3JlYXRlciB0aGFuIHRoZSBuYW1lIG9mIGV2ZXJ5IHByb3BlcnR5IHdob3NlIG5hbWUKICogaXMgYW4gYXJyYXkgaW5kZXgKICovCgovL0NIRUNLIzEKdmFyIHggPSBbXTsKeFsxXSA9IDE7CnhbM10gPSAzOwp4WzVdID0gNTsKeC5sZW5ndGggPSA0OwppZiAoeC5sZW5ndGggIT09IDQpIHsgIAogICRFUlJPUignIzE6IHggPSBbXTsgeFsxXSA9IDE7IHhbM10gPSAzOyB4WzVdID0gNTsgeC5sZW5ndGggPSA0OyB4Lmxlbmd0aCA9PT0gNC4gQWN0dWFsOiAnICsgKHgubGVuZ3RoKSk7ICAgIAp9CgovL0NIRUNLIzIKaWYgKHhbNV0gIT09IHVuZGVmaW5lZCkgeyAgICAgIAogICRFUlJPUignIzI6IHggPSBbXTsgeFsxXSA9IDE7IHhbM10gPSAzOyB4WzVdID0gNTsgeC5sZW5ndGggPSA0OyB4WzVdID09PSB1bmRlZmluZWQuIEFjdHVhbDogJyArICh4WzVdKSk7Cn0KCi8vQ0hFQ0sjMwppZiAoeFszXSAhPT0gMykgeyAgICAgIAogICRFUlJPUignIzM6IHggPSBbXTsgeFsxXSA9IDE7IHhbM10gPSAzOyB4WzVdID0gNTsgeC5sZW5ndGggPSA0OyB4WzNdID09PSAzLiBBY3R1YWw6ICcgKyAoeFszXSkpOwp9CgovL0NIRUNLIzQKeC5sZW5ndGggPSBuZXcgTnVtYmVyKDYpOwppZiAoeFs1XSAhPT0gdW5kZWZpbmVkKSB7ICAgICAgCiAgJEVSUk9SKCcjNDogeCA9IFtdOyB4WzFdID0gMTsgeFszXSA9IDM7IHhbNV0gPSA1OyB4Lmxlbmd0aCA9IDQ7IHgubGVuZ3RoID0gbmV3IE51bWJlcig2KTsgeFs1XSA9PT0gdW5kZWZpbmVkLiBBY3R1YWw6ICcgKyAoeFs1XSkpOwp9CgovL0NIRUNLIzUKeC5sZW5ndGggPSAwOwppZiAoeFswXSAhPT0gdW5kZWZpbmVkKSB7ICAgICAgCiAgJEVSUk9SKCcjNTogeCA9IFtdOyB4WzFdID0gMTsgeFszXSA9IDM7IHhbNV0gPSA1OyB4Lmxlbmd0aCA9IDQ7IHgubGVuZ3RoID0gbmV3IE51bWJlcig2KTsgeC5sZW5ndGggPSAwOyB4WzBdID09PSB1bmRlZmluZWQuIEFjdHVhbDogJyArICh4WzBdKSk7Cn0KCi8vQ0hFQ0sjNgp4Lmxlbmd0aCA9IDE7CmlmICh4WzFdICE9PSB1bmRlZmluZWQpIHsgICAgICAKICAkRVJST1IoJyM2OiB4ID0gW107IHhbMV0gPSAxOyB4WzNdID0gMzsgeFs1XSA9IDU7IHgubGVuZ3RoID0gNDsgeC5sZW5ndGggPSBuZXcgTnVtYmVyKDYpOyB4Lmxlbmd0aCA9IDA7IHgubGVuZ3RoID0gMTsgeFsxXSA9PT0gdW5kZWZpbmVkLiBBY3R1YWw6ICcgKyAoeFsxXSkpOwp9Cgo=","commentary":"If the length property is changed, every property whose name\nis an array index whose value is not smaller than the new length is automatically deleted","description":"If new length greater than the name of every property whose name\nis an array index","path":"TestCases/ch15/15.4/15.4.5/15.4.5.2/S15.4.5.2_A3_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB0aGUgbGVuZ3RoIHByb3BlcnR5IGlzIGNoYW5nZWQsIGV2ZXJ5IHByb3BlcnR5IHdob3NlIG5hbWUKICogaXMgYW4gYXJyYXkgaW5kZXggd2hvc2UgdmFsdWUgaXMgbm90IHNtYWxsZXIgdGhhbiB0aGUgbmV3IGxlbmd0aCBpcyBhdXRvbWF0aWNhbGx5IGRlbGV0ZWQKICoKICogQHBhdGggY2gxNS8xNS40LzE1LjQuNS8xNS40LjUuMi9TMTUuNC41LjJfQTNfVDMuanMKICogQGRlc2NyaXB0aW9uIFtbUHV0XV0gKGxlbmd0aCwgNDI5NDk2NzI5NikKICovCgovL0NIRUNLIzEKdmFyIHggPSBbXTsKeC5sZW5ndGggPSA0Mjk0OTY3Mjk1OwppZiAoeC5sZW5ndGggIT09IDQyOTQ5NjcyOTUpIHsgIAogICRFUlJPUignIzE6IHggPSBbXTsgeC5sZW5ndGggPSA0Mjk0OTY3Mjk1OyB4Lmxlbmd0aCA9PT0gNDI5NDk2NzI5NScpOyAgICAKfQoKLy9DSEVDSyMyCnRyeSB7CiAgeCA9IFtdOwogIHgubGVuZ3RoID0gNDI5NDk2NzI5NjsKICAkRVJST1IoJyMyLjE6IHggPSBbXTsgeC5sZW5ndGggPSA0Mjk0OTY3Mjk2IHRocm93IFJhbmdlRXJyb3IuIEFjdHVhbDogeC5sZW5ndGggPT09ICcgKyAoeC5sZW5ndGgpKTsKfSBjYXRjaChlKSB7ICAgIAogIGlmICgoZSBpbnN0YW5jZW9mIFJhbmdlRXJyb3IpICE9PSB0cnVlKSB7CiAgICAkRVJST1IoJyMyLjI6IHggPSBbXTsgeC5sZW5ndGggPSA0Mjk0OTY3Mjk2IHRocm93IFJhbmdlRXJyb3IuIEFjdHVhbDogJyArIChlKSk7CiAgfSAgICAKfQoK","commentary":"If the length property is changed, every property whose name\nis an array index whose value is not smaller than the new length is automatically deleted","description":"[[Put]] (length, 4294967296)","path":"TestCases/ch15/15.4/15.4.5/15.4.5.2/S15.4.5.2_A3_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB0aGUgbGVuZ3RoIHByb3BlcnR5IGlzIGNoYW5nZWQsIGV2ZXJ5IHByb3BlcnR5IHdob3NlIG5hbWUKICogaXMgYW4gYXJyYXkgaW5kZXggd2hvc2UgdmFsdWUgaXMgbm90IHNtYWxsZXIgdGhhbiB0aGUgbmV3IGxlbmd0aCBpcyBhdXRvbWF0aWNhbGx5IGRlbGV0ZWQKICoKICogQHBhdGggY2gxNS8xNS40LzE1LjQuNS8xNS40LjUuMi9TMTUuNC41LjJfQTNfVDQuanMKICogQGRlc2NyaXB0aW9uIElmIG5ldyBsZW5ndGggZ3JlYXRlciB0aGFuIHRoZSBuYW1lIG9mIGV2ZXJ5IHByb3BlcnR5IHdob3NlIG5hbWUKICogaXMgYW4gYXJyYXkgaW5kZXgKICovCgovL0NIRUNLIzEKdmFyIHggPSBbMCwxLDJdOyAKeFs0Mjk0OTY3Mjk0XSA9IDQyOTQ5NjcyOTQ7IAp4Lmxlbmd0aCA9IDI7CgovL0NIRUNLIzEKaWYgKHhbMF0gIT09IDApIHsgIAogICRFUlJPUignIzE6IHggPSBbMCwxLDJdOyB4WzQyOTQ5NjcyOTRdID0gNDI5NDk2NzI5NDsgeC5sZW5ndGggPSAyOyB4WzBdID09PSAwLiBBY3R1YWw6ICcgKyAoeFswXSkpOyAgICAKfQoKLy9DSEVDSyMyCmlmICh4WzFdICE9PSAxKSB7ICAKICAkRVJST1IoJyMyOiB4ID0gWzAsMSwyXTsgeFs0Mjk0OTY3Mjk0XSA9IDQyOTQ5NjcyOTQ7IHgubGVuZ3RoID0gMjsgeFsxXSA9PT0gMS4gQWN0dWFsOiAnICsgKHhbMV0pKTsgICAgCn0KCi8vQ0hFQ0sjMwppZiAoeFsyXSAhPT0gdW5kZWZpbmVkKSB7ICAKICAkRVJST1IoJyMzOiB4ID0gWzAsMSwyXTsgeFs0Mjk0OTY3Mjk0XSA9IDQyOTQ5NjcyOTQ7IHgubGVuZ3RoID0gMjsgeFsyXSA9PT0gdW5kZWZpbmVkLiBBY3R1YWw6ICcgKyAoeFsyXSkpOyAgICAKfQoKLy9DSEVDSyM0CmlmICh4WzQyOTQ5NjcyOTRdICE9PSB1bmRlZmluZWQpIHsgIAogICRFUlJPUignIzQ6IHggPSBbMCwxLDJdOyB4WzQyOTQ5NjcyOTRdID0gNDI5NDk2NzI5NDsgeC5sZW5ndGggPSAyOyB4WzQyOTQ5NjcyOTRdID09PSB1bmRlZmluZWQuIEFjdHVhbDogJyArICh4WzQyOTQ5NjcyOTRdKSk7ICAgIAp9CgoK","commentary":"If the length property is changed, every property whose name\nis an array index whose value is not smaller than the new length is automatically deleted","description":"If new length greater than the name of every property whose name\nis an array index","path":"TestCases/ch15/15.4/15.4.5/15.4.5.2/S15.4.5.2_A3_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuIFN0cmluZyBpcyBjYWxsZWQgYXMgYSBmdW5jdGlvbiByYXRoZXIgdGhhbiBhcyBhIGNvbnN0cnVjdG9yLCBpdCBwZXJmb3JtcyBhIHR5cGUgY29udmVyc2lvbgogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS4xL1MxNS41LjEuMV9BMV9UMS5qcwogKiBAZGVzY3JpcHRpb24gQ2FsbCBTdHJpbmcoZnVuY3Rpb24oKXt9KCkpCiAqLwoKdmFyIF9fc3RyID0gU3RyaW5nKGZ1bmN0aW9uKCl7fSgpKTsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKHR5cGVvZiBfX3N0ciAhPT0gInN0cmluZyIpIHsKICAkRVJST1IoJyMxOiBfX3N0ciA9IFN0cmluZyhmdW5jdGlvbigpe30oKSk7IHR5cGVvZiBfX3N0ciA9PT0gInN0cmluZyIuIEFjdHVhbDogdHlwZW9mIF9fc3RyID09PScrdHlwZW9mIF9fc3RyICk7IAp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMgppZiAoX19zdHIgIT09ICJ1bmRlZmluZWQiKSB7CiAgJEVSUk9SKCcjMjogX19zdHIgPSBTdHJpbmcoZnVuY3Rpb24oKXt9KCkpOyBfX3N0ciA9PT0gInVuZGVmaW5lZCIuIEFjdHVhbDogX19zdHIgPT09JytfX3N0ciApOyAKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"When String is called as a function rather than as a constructor, it performs a type conversion","description":"Call String(function(){}())","path":"TestCases/ch15/15.5/15.5.1/S15.5.1.1_A1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuIFN0cmluZyBpcyBjYWxsZWQgYXMgYSBmdW5jdGlvbiByYXRoZXIgdGhhbiBhcyBhIGNvbnN0cnVjdG9yLCBpdCBwZXJmb3JtcyBhIHR5cGUgY29udmVyc2lvbgogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS4xL1MxNS41LjEuMV9BMV9UMTAuanMKICogQGRlc2NyaXB0aW9uIENhbGwgU3RyaW5nKDEpIGFuZCBTdHJpbmcoLTEpCiAqLwoKdmFyIF9fc3RyID0gU3RyaW5nKDEpOwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAodHlwZW9mIF9fc3RyICE9PSAic3RyaW5nIikgewogICRFUlJPUignIzE6IF9fc3RyID0gU3RyaW5nKDEpOyB0eXBlb2YgX19zdHIgPT09ICJzdHJpbmciLiBBY3R1YWw6IHR5cGVvZiBfX3N0ciA9PT0nK3R5cGVvZiBfX3N0ciApOyAKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzIKaWYgKF9fc3RyICE9PSAiMSIpIHsKICAkRVJST1IoJyMyOiBfX3N0ciA9IFN0cmluZygxKTsgX19zdHIgPT09ICIxIi4gQWN0dWFsOiBfX3N0ciA9PT0nK19fc3RyICk7IAp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKX19zdHIgPSBTdHJpbmcoLTEpOwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAodHlwZW9mIF9fc3RyICE9PSAic3RyaW5nIikgewogICRFUlJPUignIzM6IF9fc3RyID0gU3RyaW5nKC0xKTsgdHlwZW9mIF9fc3RyID09PSAic3RyaW5nIi4gQWN0dWFsOiB0eXBlb2YgX19zdHIgPT09Jyt0eXBlb2YgX19zdHIgKTsgCn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMyCmlmIChfX3N0ciAhPT0gIi0xIikgewogICRFUlJPUignIzQ6IF9fc3RyID0gU3RyaW5nKC0xKTsgX19zdHIgPT09ICItMSIuIEFjdHVhbDogX19zdHIgPT09JytfX3N0ciApOyAKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"When String is called as a function rather than as a constructor, it performs a type conversion","description":"Call String(1) and String(-1)","path":"TestCases/ch15/15.5/15.5.1/S15.5.1.1_A1_T10.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuIFN0cmluZyBpcyBjYWxsZWQgYXMgYSBmdW5jdGlvbiByYXRoZXIgdGhhbiBhcyBhIGNvbnN0cnVjdG9yLCBpdCBwZXJmb3JtcyBhIHR5cGUgY29udmVyc2lvbgogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS4xL1MxNS41LjEuMV9BMV9UMTEuanMKICogQGRlc2NyaXB0aW9uIENhbGwgU3RyaW5nKDEvMCkgYW5kIFN0cmluZygtMS8wKSwgYW5kIGNhbGwgd2l0aCArLy1JbmZpbml0eQogKi8KCnZhciBfX3N0ciA9IFN0cmluZygxLzApOwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAodHlwZW9mIF9fc3RyICE9PSAic3RyaW5nIikgewogICRFUlJPUignIzE6IF9fc3RyID0gU3RyaW5nKDEvMCk7IHR5cGVvZiBfX3N0ciA9PT0gInN0cmluZyIuIEFjdHVhbDogdHlwZW9mIF9fc3RyID09PScrdHlwZW9mIF9fc3RyICk7IAp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMgppZiAoX19zdHIgIT09ICJJbmZpbml0eSIpIHsKICAkRVJST1IoJyMyOiBfX3N0ciA9IFN0cmluZygxLzApOyBfX3N0ciA9PT0gIkluZmluaXR5Ii4gQWN0dWFsOiBfX3N0ciA9PT0nK19fc3RyICk7IAp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKX19zdHIgPSBTdHJpbmcoLTEvMCk7CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMzCmlmICh0eXBlb2YgX19zdHIgIT09ICJzdHJpbmciKSB7CiAgJEVSUk9SKCcjMzogX19zdHIgPSBTdHJpbmcoLTEvMCk7IHR5cGVvZiBfX3N0ciA9PT0gInN0cmluZyIuIEFjdHVhbDogdHlwZW9mIF9fc3RyID09PScrdHlwZW9mIF9fc3RyICk7IAp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjNAppZiAoX19zdHIgIT09ICItSW5maW5pdHkiKSB7CiAgJEVSUk9SKCcjNDogX19zdHIgPSBTdHJpbmcoLTEvMCk7IF9fc3RyID09PSAiLUluZmluaXR5Ii4gQWN0dWFsOiBfX3N0ciA9PT0nK19fc3RyICk7IAp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKX19zdHIgPSBTdHJpbmcoSW5maW5pdHkpOwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjNQppZiAodHlwZW9mIF9fc3RyICE9PSAic3RyaW5nIikgewogICRFUlJPUignIzU6IF9fc3RyID0gU3RyaW5nKEluZmluaXR5KTsgdHlwZW9mIF9fc3RyID09PSAic3RyaW5nIi4gQWN0dWFsOiB0eXBlb2YgX19zdHIgPT09Jyt0eXBlb2YgX19zdHIgKTsgCn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyM2CmlmIChfX3N0ciAhPT0gIkluZmluaXR5IikgewogICRFUlJPUignIzY6IF9fc3RyID0gU3RyaW5nKEluZmluaXR5KTsgX19zdHIgPT09ICJJbmZpbml0eSIuIEFjdHVhbDogX19zdHIgPT09JytfX3N0ciApOyAKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCl9fc3RyID0gU3RyaW5nKC1JbmZpbml0eSk7CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyM3CmlmICh0eXBlb2YgX19zdHIgIT09ICJzdHJpbmciKSB7CiAgJEVSUk9SKCcjNzogX19zdHIgPSBTdHJpbmcoLUluZmluaXR5KTsgdHlwZW9mIF9fc3RyID09PSAic3RyaW5nIi4gQWN0dWFsOiB0eXBlb2YgX19zdHIgPT09Jyt0eXBlb2YgX19zdHIgKTsgCn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyM4CmlmIChfX3N0ciAhPT0gIi1JbmZpbml0eSIpIHsKICAkRVJST1IoJyM4OiBfX3N0ciA9IFN0cmluZygtSW5maW5pdHkpOyBfX3N0ciA9PT0gIi1JbmZpbml0eSIuIEFjdHVhbDogX19zdHIgPT09JytfX3N0ciApOyAKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCl9fc3RyID0gU3RyaW5nKE51bWJlci5QT1NJVElWRV9JTkZJTklUWSk7CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyM5CmlmICh0eXBlb2YgX19zdHIgIT09ICJzdHJpbmciKSB7CiAgJEVSUk9SKCcjOTogX19zdHIgPSBTdHJpbmcoTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZKTsgdHlwZW9mIF9fc3RyID09PSAic3RyaW5nIi4gQWN0dWFsOiB0eXBlb2YgX19zdHIgPT09Jyt0eXBlb2YgX19zdHIgKTsgCn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxMAppZiAoX19zdHIgIT09ICJJbmZpbml0eSIpIHsKICAkRVJST1IoJyMxMDogX19zdHIgPSBTdHJpbmcoTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZKTsgX19zdHIgPT09ICJJbmZpbml0eSIuIEFjdHVhbDogX19zdHIgPT09JytfX3N0ciApOyAKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCl9fc3RyID0gU3RyaW5nKE51bWJlci5ORUdBVElWRV9JTkZJTklUWSk7CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxMQppZiAodHlwZW9mIF9fc3RyICE9PSAic3RyaW5nIikgewogICRFUlJPUignIzExOiBfX3N0ciA9IFN0cmluZyhOdW1iZXIuTkVHQVRJVkVfSU5GSU5JVFkpOyB0eXBlb2YgX19zdHIgPT09ICJzdHJpbmciLiBBY3R1YWw6IHR5cGVvZiBfX3N0ciA9PT0nK3R5cGVvZiBfX3N0ciApOyAKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEyCmlmIChfX3N0ciAhPT0gIi1JbmZpbml0eSIpIHsKICAkRVJST1IoJyMxMjogX19zdHIgPSBTdHJpbmcoTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZKTsgX19zdHIgPT09ICItSW5maW5pdHkiLiBBY3R1YWw6IF9fc3RyID09PScrX19zdHIgKTsgCn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"When String is called as a function rather than as a constructor, it performs a type conversion","description":"Call String(1/0) and String(-1/0), and call with +/-Infinity","path":"TestCases/ch15/15.5/15.5.1/S15.5.1.1_A1_T11.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuIFN0cmluZyBpcyBjYWxsZWQgYXMgYSBmdW5jdGlvbiByYXRoZXIgdGhhbiBhcyBhIGNvbnN0cnVjdG9yLCBpdCBwZXJmb3JtcyBhIHR5cGUgY29udmVyc2lvbgogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS4xL1MxNS41LjEuMV9BMV9UMTIuanMKICogQGRlc2NyaXB0aW9uIENhbGwgU3RyaW5nKDEvImEiKSwgU3RyaW5nKCJiIiogbnVsbCkgYW5kIFN0cmluZyhOdW1iZXIuTmFOKQogKi8KCnZhciBfX3N0ciA9IFN0cmluZygxLyJhIik7CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmICh0eXBlb2YgX19zdHIgIT09ICJzdHJpbmciKSB7CiAgJEVSUk9SKCcjMTogX19zdHIgPSBTdHJpbmcoMS8iYSIpOyB0eXBlb2YgX19zdHIgPT09ICJzdHJpbmciLiBBY3R1YWw6IHR5cGVvZiBfX3N0ciA9PT0nK3R5cGVvZiBfX3N0ciApOyAKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzIKaWYgKF9fc3RyICE9PSAiTmFOIikgewogICRFUlJPUignIzI6IF9fc3RyID0gU3RyaW5nKDEvImEiKTsgX19zdHIgPT09ICJOYU4iLiBBY3R1YWw6IF9fc3RyID09PScrX19zdHIgKTsgCn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgpfX3N0ciA9IFN0cmluZygiYiIqbnVsbCk7CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMzCmlmICh0eXBlb2YgX19zdHIgIT09ICJzdHJpbmciKSB7CiAgJEVSUk9SKCcjMzogX19zdHIgPSBTdHJpbmcoImIiKm51bGwpOyB0eXBlb2YgX19zdHIgPT09ICJzdHJpbmciLiBBY3R1YWw6IHR5cGVvZiBfX3N0ciA9PT0nK3R5cGVvZiBfX3N0ciApOyAKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzQKaWYgKF9fc3RyICE9PSAiTmFOIikgewogICRFUlJPUignIzQ6IF9fc3RyID0gU3RyaW5nKCJiIipudWxsKTsgX19zdHIgPT09ICJOYU4iLiBBY3R1YWw6IF9fc3RyID09PScrX19zdHIgKTsgCn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgpfX3N0ciA9IFN0cmluZyhOdW1iZXIuTmFOKTsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzUKaWYgKHR5cGVvZiBfX3N0ciAhPT0gInN0cmluZyIpIHsKICAkRVJST1IoJyM1OiBfX3N0ciA9IFN0cmluZyhOdW1iZXIuTmFOKTsgdHlwZW9mIF9fc3RyID09PSAic3RyaW5nIi4gQWN0dWFsOiB0eXBlb2YgX19zdHIgPT09Jyt0eXBlb2YgX19zdHIgKTsgCn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyM2CmlmIChfX3N0ciAhPT0gIk5hTiIpIHsKICAkRVJST1IoJyM2OiBfX3N0ciA9IFN0cmluZyhOdW1iZXIuTmFOKTsgX19zdHIgPT09ICJOYU4iLiBBY3R1YWw6IF9fc3RyID09PScrX19zdHIgKTsgCn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"When String is called as a function rather than as a constructor, it performs a type conversion","description":"Call String(1/\"a\"), String(\"b\"* null) and String(Number.NaN)","path":"TestCases/ch15/15.5/15.5.1/S15.5.1.1_A1_T12.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuIFN0cmluZyBpcyBjYWxsZWQgYXMgYSBmdW5jdGlvbiByYXRoZXIgdGhhbiBhcyBhIGNvbnN0cnVjdG9yLCBpdCBwZXJmb3JtcyBhIHR5cGUgY29udmVyc2lvbgogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS4xL1MxNS41LjEuMV9BMV9UMTMuanMKICogQGRlc2NyaXB0aW9uIENhbGwgU3RyaW5nKHRydWUpIGFuZCBTdHJpbmcoZmFsc2UpCiAqLwoKdmFyIF9fc3RyID0gU3RyaW5nKHRydWUpOwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAodHlwZW9mIF9fc3RyICE9PSAic3RyaW5nIikgewogICRFUlJPUignIzE6IF9fc3RyID0gU3RyaW5nKHRydWUpOyB0eXBlb2YgX19zdHIgPT09ICJzdHJpbmciLiBBY3R1YWw6IHR5cGVvZiBfX3N0ciA9PT0nK3R5cGVvZiBfX3N0ciApOyAKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzIKaWYgKF9fc3RyICE9PSAidHJ1ZSIpIHsKICAkRVJST1IoJyMyOiBfX3N0ciA9IFN0cmluZyh0cnVlKTsgX19zdHIgPT09ICJ0cnVlIi4gQWN0dWFsOiBfX3N0ciA9PT0nK19fc3RyICk7IAp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKX19zdHIgPSBTdHJpbmcoZmFsc2UpOwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMwppZiAodHlwZW9mIF9fc3RyICE9PSAic3RyaW5nIikgewogICRFUlJPUignIzM6IF9fc3RyID0gU3RyaW5nKGZhbHNlKTsgdHlwZW9mIF9fc3RyID09PSAic3RyaW5nIi4gQWN0dWFsOiB0eXBlb2YgX19zdHIgPT09Jyt0eXBlb2YgX19zdHIgKTsgCn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyM0CmlmIChfX3N0ciAhPT0gImZhbHNlIikgewogICRFUlJPUignIzQ6IF9fc3RyID0gU3RyaW5nKGZhbHNlKTsgX19zdHIgPT09ICJmYWxzZSIuIEFjdHVhbDogX19zdHIgPT09JytfX3N0ciApOyAKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCl9fc3RyID0gU3RyaW5nKEJvb2xlYW4odHJ1ZSkpOwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjNQppZiAodHlwZW9mIF9fc3RyICE9PSAic3RyaW5nIikgewogICRFUlJPUignIzU6IF9fc3RyID0gU3RyaW5nKEJvb2xlYW4odHJ1ZSkpOyB0eXBlb2YgX19zdHIgPT09ICJzdHJpbmciLiBBY3R1YWw6IHR5cGVvZiBfX3N0ciA9PT0nK3R5cGVvZiBfX3N0ciApOyAKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzYKaWYgKF9fc3RyICE9PSAidHJ1ZSIpIHsKICAkRVJST1IoJyM2OiBfX3N0ciA9IFN0cmluZyhCb29sZWFuKHRydWUpKTsgX19zdHIgPT09ICJ0cnVlIi4gQWN0dWFsOiBfX3N0ciA9PT0nK19fc3RyICk7IAp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKX19zdHIgPSBTdHJpbmcoQm9vbGVhbihmYWxzZSkpOwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjNwppZiAodHlwZW9mIF9fc3RyICE9PSAic3RyaW5nIikgewogICRFUlJPUignIzc6IF9fc3RyID0gU3RyaW5nKEJvb2xlYW4oZmFsc2UpKTsgdHlwZW9mIF9fc3RyID09PSAic3RyaW5nIi4gQWN0dWFsOiB0eXBlb2YgX19zdHIgPT09Jyt0eXBlb2YgX19zdHIgKTsgCn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyM4CmlmIChfX3N0ciAhPT0gImZhbHNlIikgewogICRFUlJPUignIzg6IF9fc3RyID0gU3RyaW5nKEJvb2xlYW4oZmFsc2UpKTsgX19zdHIgPT09ICJmYWxzZSIuIEFjdHVhbDogX19zdHIgPT09JytfX3N0ciApOyAKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"When String is called as a function rather than as a constructor, it performs a type conversion","description":"Call String(true) and String(false)","path":"TestCases/ch15/15.5/15.5.1/S15.5.1.1_A1_T13.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuIFN0cmluZyBpcyBjYWxsZWQgYXMgYSBmdW5jdGlvbiByYXRoZXIgdGhhbiBhcyBhIGNvbnN0cnVjdG9yLCBpdCBwZXJmb3JtcyBhIHR5cGUgY29udmVyc2lvbgogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS4xL1MxNS41LjEuMV9BMV9UMTQuanMKICogQGRlc2NyaXB0aW9uIENhbGwgU3RyaW5nKDApIGFuZCBTdHJpbmcoLTApCiAqLwoKdmFyIF9fc3RyID0gU3RyaW5nKDApOwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAodHlwZW9mIF9fc3RyICE9PSAic3RyaW5nIikgewogICRFUlJPUignIzE6IF9fc3RyID0gU3RyaW5nKDApOyB0eXBlb2YgX19zdHIgPT09ICJzdHJpbmciLiBBY3R1YWw6IHR5cGVvZiBfX3N0ciA9PT0nK3R5cGVvZiBfX3N0ciApOyAKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzIKaWYgKF9fc3RyICE9PSAiMCIpIHsKICAkRVJST1IoJyMyOiBfX3N0ciA9IFN0cmluZygwKTsgX19zdHIgPT09ICIwIi4gQWN0dWFsOiBfX3N0ciA9PT0nK19fc3RyICk7IAp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKX19zdHIgPSBTdHJpbmcoLTApOwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAodHlwZW9mIF9fc3RyICE9PSAic3RyaW5nIikgewogICRFUlJPUignIzM6IF9fc3RyID0gU3RyaW5nKC0wKTsgdHlwZW9mIF9fc3RyID09PSAic3RyaW5nIi4gQWN0dWFsOiB0eXBlb2YgX19zdHIgPT09Jyt0eXBlb2YgX19zdHIgKTsgCn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMyCmlmIChfX3N0ciAhPT0gIjAiKSB7CiAgJEVSUk9SKCcjNDogX19zdHIgPSBTdHJpbmcoLTApOyBfX3N0ciA9PT0gIjAiLiBBY3R1YWw6IF9fc3RyID09PScrX19zdHIgKTsgCn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"When String is called as a function rather than as a constructor, it performs a type conversion","description":"Call String(0) and String(-0)","path":"TestCases/ch15/15.5/15.5.1/S15.5.1.1_A1_T14.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuIFN0cmluZyBpcyBjYWxsZWQgYXMgYSBmdW5jdGlvbiByYXRoZXIgdGhhbiBhcyBhIGNvbnN0cnVjdG9yLCBpdCBwZXJmb3JtcyBhIHR5cGUgY29udmVyc2lvbgogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS4xL1MxNS41LjEuMV9BMV9UMTUuanMKICogQGRlc2NyaXB0aW9uIENhbGwgU3RyaW5nKHN0cmluZ19vYmplY3QpCiAqLwoKdmFyIF9fb2JqX19zdHIgPSAiY2FwcyI7CgovL19fb2JqX19zdHIucHJvcD0xOwoKdmFyIF9fc3RyID0gU3RyaW5nKF9fb2JqX19zdHIpOwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAoX19zdHIgIT09IF9fb2JqX19zdHIpIHsKICAkRVJST1IoJyMxOiBfX29ial9fc3RyID0gImNhcHMiOyBfX3N0ciA9IFN0cmluZyhfX29ial9fc3RyKTsgX19zdHIgPT09IF9fb2JqX19zdHIuIEFjdHVhbDogX19zdHIgPT09JytfX3N0ciApOyAKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"When String is called as a function rather than as a constructor, it performs a type conversion","description":"Call String(string_object)","path":"TestCases/ch15/15.5/15.5.1/S15.5.1.1_A1_T15.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuIFN0cmluZyBpcyBjYWxsZWQgYXMgYSBmdW5jdGlvbiByYXRoZXIgdGhhbiBhcyBhIGNvbnN0cnVjdG9yLCBpdCBwZXJmb3JtcyBhIHR5cGUgY29udmVyc2lvbgogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS4xL1MxNS41LjEuMV9BMV9UMTYuanMKICogQGRlc2NyaXB0aW9uIENhbGwgU3RyaW5nKCkgd2l0aCAuMTIzNDUgYW5kIGFuYWxvZ291cyBudW1iZXJzCiAqLwoKdmFyIF9fc3RyID0gU3RyaW5nKC4xMjM0NSk7CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmICh0eXBlb2YgX19zdHIgIT09ICJzdHJpbmciKSB7CiAgJEVSUk9SKCcjMTogX19zdHIgPSBTdHJpbmcoLjEyMzQ1KTsgdHlwZW9mIF9fc3RyID09PSAic3RyaW5nIi4gQWN0dWFsOiB0eXBlb2YgX19zdHIgPT09Jyt0eXBlb2YgX19zdHIgKTsgCn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMyCmlmIChfX3N0ciAhPT0gIjAuMTIzNDUiKSB7CiAgJEVSUk9SKCcjMjogX19zdHIgPSBTdHJpbmcoLjEyMzQ1KTsgX19zdHIgPT09ICIwLjEyMzQ1Ii4gQWN0dWFsOiBfX3N0ciA9PT0nK19fc3RyICk7IAp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKX19zdHIgPSBTdHJpbmcoLjAxMjM0NSk7CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMzCmlmICh0eXBlb2YgX19zdHIgIT09ICJzdHJpbmciKSB7CiAgJEVSUk9SKCcjMzogX19zdHIgPSBTdHJpbmcoLjAxMjM0NSk7IHR5cGVvZiBfX3N0ciA9PT0gInN0cmluZyIuIEFjdHVhbDogdHlwZW9mIF9fc3RyID09PScrdHlwZW9mIF9fc3RyICk7IAp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjNAppZiAoX19zdHIgIT09ICIwLjAxMjM0NSIpIHsKICAkRVJST1IoJyM0OiBfX3N0ciA9IFN0cmluZyguMDEyMzQ1KTsgX19zdHIgPT09ICIwLjAxMjM0NSIuIEFjdHVhbDogX19zdHIgPT09JytfX3N0ciApOyAKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCl9fc3RyID0gU3RyaW5nKC4wMDEyMzQ1KTsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzUKaWYgKHR5cGVvZiBfX3N0ciAhPT0gInN0cmluZyIpIHsKICAkRVJST1IoJyM1OiBfX3N0ciA9IFN0cmluZyguMDAxMjM0NSk7IHR5cGVvZiBfX3N0ciA9PT0gInN0cmluZyIuIEFjdHVhbDogdHlwZW9mIF9fc3RyID09PScrdHlwZW9mIF9fc3RyICk7IAp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjNgppZiAoX19zdHIgIT09ICIwLjAwMTIzNDUiKSB7CiAgJEVSUk9SKCcjNjogX19zdHIgPSBTdHJpbmcoLjAwMTIzNDUpOyBfX3N0ciA9PT0gIjAuMDAxMjM0NSIuIEFjdHVhbDogX19zdHIgPT09JytfX3N0ciApOyAKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCl9fc3RyID0gU3RyaW5nKC4wMDAwMDAxMjM0NSk7CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyM3CmlmICh0eXBlb2YgX19zdHIgIT09ICJzdHJpbmciKSB7CiAgJEVSUk9SKCcjNzogX19zdHIgPSBTdHJpbmcoLjAwMDAwMDEyMzQ1KTsgdHlwZW9mIF9fc3RyID09PSAic3RyaW5nIi4gQWN0dWFsOiB0eXBlb2YgX19zdHIgPT09Jyt0eXBlb2YgX19zdHIgKTsgCn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyM4CmlmIChfX3N0ciAhPT0gIjEuMjM0NWUtNyIpIHsKICAkRVJST1IoJyM4OiBfX3N0ciA9IFN0cmluZyguMDAwMDAwMTIzNDUpOyBfX3N0ciA9PT0gIjEuMjM0NWUtNyIuIEFjdHVhbDogX19zdHIgPT09JytfX3N0ciApOyAKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"When String is called as a function rather than as a constructor, it performs a type conversion","description":"Call String() with .12345 and analogous numbers","path":"TestCases/ch15/15.5/15.5.1/S15.5.1.1_A1_T16.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuIFN0cmluZyBpcyBjYWxsZWQgYXMgYSBmdW5jdGlvbiByYXRoZXIgdGhhbiBhcyBhIGNvbnN0cnVjdG9yLCBpdCBwZXJmb3JtcyBhIHR5cGUgY29udmVyc2lvbgogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS4xL1MxNS41LjEuMV9BMV9UMTcuanMKICogQGRlc2NyaXB0aW9uIENhbGwgU3RyaW5nKCkgd2l0aCBudW1iZXJzIHRoYXQgaGF2ZSBtb3JlIHRoYW4gMSBzaWduaWZpY2FudCBkaWdpdCBhZnRlciBwb2ludAogKi8KCnZhciBfX3N0ciA9IFN0cmluZygxLjIzNDUpOwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAodHlwZW9mIF9fc3RyICE9PSAic3RyaW5nIikgewogICRFUlJPUignIzE6IF9fc3RyID0gU3RyaW5nKDEuMjM0NSk7IHR5cGVvZiBfX3N0ciA9PT0gInN0cmluZyIuIEFjdHVhbDogdHlwZW9mIF9fc3RyID09PScrdHlwZW9mIF9fc3RyICk7IAp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMgppZiAoX19zdHIgIT09ICIxLjIzNDUiKSB7CiAgJEVSUk9SKCcjMjogX19zdHIgPSBTdHJpbmcoMS4yMzQ1KTsgX19zdHIgPT09ICIxLjIzNDUiLiBBY3R1YWw6IF9fc3RyID09PScrX19zdHIgKTsgCn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgpfX3N0ciA9IFN0cmluZygxLjIzNDU2Nzg5MCk7CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMzCmlmICh0eXBlb2YgX19zdHIgIT09ICJzdHJpbmciKSB7CiAgJEVSUk9SKCcjMzogX19zdHIgPSBTdHJpbmcoMS4yMzQ1Njc4OTApOyB0eXBlb2YgX19zdHIgPT09ICJzdHJpbmciLiBBY3R1YWw6IHR5cGVvZiBfX3N0ciA9PT0nK3R5cGVvZiBfX3N0ciApOyAKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzQKaWYgKF9fc3RyICE9PSAiMS4yMzQ1Njc4OSIpIHsKICAkRVJST1IoJyM0OiBfX3N0ciA9IFN0cmluZygxLjIzNDU2Nzg5MCk7IF9fc3RyID09PSAiMS4yMzQ1Njc4OSIuIEFjdHVhbDogX19zdHIgPT09JytfX3N0ciApOyAKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCl9fc3RyID0gU3RyaW5nKDEuMjM0NTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwKTsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzUKaWYgKHR5cGVvZiBfX3N0ciAhPT0gInN0cmluZyIpIHsKICAkRVJST1IoJyM1OiBfX3N0ciA9IFN0cmluZygxLjIzNDUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMCk7IHR5cGVvZiBfX3N0ciA9PT0gInN0cmluZyIuIEFjdHVhbDogdHlwZW9mIF9fc3RyID09PScrdHlwZW9mIF9fc3RyICk7IAp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjNgppZiAoX19zdHIgIT09ICIxLjIzNDUiKSB7CiAgJEVSUk9SKCcjNjogX19zdHIgPSBTdHJpbmcoMS4yMzQ1MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDApOyBfX3N0ciA9PT0gIjEuMjM0NSIuIEFjdHVhbDogX19zdHIgPT09JytfX3N0ciApOyAKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"When String is called as a function rather than as a constructor, it performs a type conversion","description":"Call String() with numbers that have more than 1 significant digit after point","path":"TestCases/ch15/15.5/15.5.1/S15.5.1.1_A1_T17.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuIFN0cmluZyBpcyBjYWxsZWQgYXMgYSBmdW5jdGlvbiByYXRoZXIgdGhhbiBhcyBhIGNvbnN0cnVjdG9yLCBpdCBwZXJmb3JtcyBhIHR5cGUgY29udmVyc2lvbgogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS4xL1MxNS41LjEuMV9BMV9UMTguanMKICogQGRlc2NyaXB0aW9uIENhbGwgU3RyaW5nKCkgd2l0aCBudW1iZXJzIHRoYXQgaGF2ZSBtb3JlIHRoYW4gMSBzaWduaWZpY2FudCBkaWdpdAogKi8KCl9fc3RyID0gU3RyaW5nKDEwMDAwMDAwMDAwMDAwMDAwMDAwMDApOyAgCiAgICAgCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKHR5cGVvZiBfX3N0ciAhPT0gInN0cmluZyIpIHsKICAkRVJST1IoJyMxOiBfX3N0ciA9IFN0cmluZygxMDAwMDAwMDAwMDAwMDAwMDAwMDAwKTsgdHlwZW9mIF9fc3RyID09PSAic3RyaW5nIi4gQWN0dWFsOiB0eXBlb2YgX19zdHIgPT09Jyt0eXBlb2YgX19zdHIgKTsgCn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMyCmlmIChfX3N0ciAhPT0gIjFlKzIxIikgewogICRFUlJPUignIzI6IF9fc3RyID0gU3RyaW5nKDEwMDAwMDAwMDAwMDAwMDAwMDAwMDApOyBfX3N0ciA9PT0gIjFlKzIxIi4gQWN0dWFsOiBfX3N0ciA9PT0nK19fc3RyICk7IAp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKX19zdHIgPSBTdHJpbmcoMTAwMDAwMDAwMDAwMDAwMDAwMDAwMDApOwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMwppZiAodHlwZW9mIF9fc3RyICE9PSAic3RyaW5nIikgewogICRFUlJPUignIzM6IF9fc3RyID0gU3RyaW5nKDEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwKTsgdHlwZW9mIF9fc3RyID09PSAic3RyaW5nIi4gQWN0dWFsOiB0eXBlb2YgX19zdHIgPT09Jyt0eXBlb2YgX19zdHIgKTsgCn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyM0CmlmIChfX3N0ciAhPT0gIjFlKzIyIikgewogICRFUlJPUignIzQ6IF9fc3RyID0gU3RyaW5nKDEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwKTsgX19zdHIgPT09ICIxZSsyMiIuIEFjdHVhbDogX19zdHIgPT09JytfX3N0ciApOyAKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"When String is called as a function rather than as a constructor, it performs a type conversion","description":"Call String() with numbers that have more than 1 significant digit","path":"TestCases/ch15/15.5/15.5.1/S15.5.1.1_A1_T18.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuIFN0cmluZyBpcyBjYWxsZWQgYXMgYSBmdW5jdGlvbiByYXRoZXIgdGhhbiBhcyBhIGNvbnN0cnVjdG9yLCBpdCBwZXJmb3JtcyBhIHR5cGUgY29udmVyc2lvbgogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS4xL1MxNS41LjEuMV9BMV9UMTkuanMKICogQGRlc2NyaXB0aW9uIENhbGwgU3RyaW5nKCkgd2l0aCBBcnJheSBvZiBudW1iZXJzCiAqLwoKdmFyIF9fc3RyID0gU3RyaW5nKG5ldyBBcnJheSgxLDIsMykpOwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAodHlwZW9mIF9fc3RyICE9PSAic3RyaW5nIikgewogICRFUlJPUignIzE6IF9fc3RyID0gU3RyaW5nKG5ldyBBcnJheSgxLDIsMykpOyB0eXBlb2YgX19zdHIgPT09ICJzdHJpbmciLiBBY3R1YWw6IHR5cGVvZiBfX3N0ciA9PT0nK3R5cGVvZiBfX3N0ciApOyAKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzIKaWYgKF9fc3RyICE9PSAiMSwyLDMiKSB7CiAgJEVSUk9SKCcjMjogX19zdHIgPSBTdHJpbmcobmV3IEFycmF5KDEsMiwzKSk7IF9fc3RyID09PSAiMSwyLDMiLiBBY3R1YWw6IF9fc3RyID09PScrX19zdHIgKTsgCn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"When String is called as a function rather than as a constructor, it performs a type conversion","description":"Call String() with Array of numbers","path":"TestCases/ch15/15.5/15.5.1/S15.5.1.1_A1_T19.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuIFN0cmluZyBpcyBjYWxsZWQgYXMgYSBmdW5jdGlvbiByYXRoZXIgdGhhbiBhcyBhIGNvbnN0cnVjdG9yLCBpdCBwZXJmb3JtcyBhIHR5cGUgY29udmVyc2lvbgogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS4xL1MxNS41LjEuMV9BMV9UMi5qcwogKiBAZGVzY3JpcHRpb24gQ2FsbCBTdHJpbmcobnVsbCkKICovCgp2YXIgX19zdHIgPSBTdHJpbmcobnVsbCk7CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmICh0eXBlb2YgX19zdHIgIT09ICJzdHJpbmciKSB7CiAgJEVSUk9SKCcjMTogX19zdHIgPSBTdHJpbmcobnVsbCk7IHR5cGVvZiBfX3N0ciA9PT0gInN0cmluZyIuIEFjdHVhbDogdHlwZW9mIF9fc3RyID09PScrdHlwZW9mIF9fc3RyICk7IAp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMgppZiAoX19zdHIgIT09ICJudWxsIikgewogICRFUlJPUignIzI6IF9fc3RyID0gU3RyaW5nKG51bGwpOyBfX3N0ciA9PT0gIm51bGwiLiBBY3R1YWw6IF9fc3RyID09PScrX19zdHIgKTsgCn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"When String is called as a function rather than as a constructor, it performs a type conversion","description":"Call String(null)","path":"TestCases/ch15/15.5/15.5.1/S15.5.1.1_A1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuIFN0cmluZyBpcyBjYWxsZWQgYXMgYSBmdW5jdGlvbiByYXRoZXIgdGhhbiBhcyBhIGNvbnN0cnVjdG9yLCBpdCBwZXJmb3JtcyBhIHR5cGUgY29udmVyc2lvbgogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS4xL1MxNS41LjEuMV9BMV9UMy5qcwogKiBAZGVzY3JpcHRpb24gQ2FsbCBTdHJpbmcodm9pZCAwKQogKi8KCnZhciBfX3N0ciA9IFN0cmluZyh2b2lkIDApOwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAodHlwZW9mIF9fc3RyICE9PSAic3RyaW5nIikgewogICRFUlJPUignIzE6IF9fc3RyID0gU3RyaW5nKHZvaWQgMCk7IHR5cGVvZiBfX3N0ciA9PT0gInN0cmluZyIuIEFjdHVhbDogdHlwZW9mIF9fc3RyID09PScrdHlwZW9mIF9fc3RyICk7IAp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMgppZiAoX19zdHIgIT09ICJ1bmRlZmluZWQiKSB7CiAgJEVSUk9SKCcjMjogX19zdHIgPSBTdHJpbmcodm9pZCAwKTsgX19zdHIgPT09ICJ1bmRlZmluZWQiLiBBY3R1YWw6IF9fc3RyID09PScrX19zdHIgKTsgCn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"When String is called as a function rather than as a constructor, it performs a type conversion","description":"Call String(void 0)","path":"TestCases/ch15/15.5/15.5.1/S15.5.1.1_A1_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuIFN0cmluZyBpcyBjYWxsZWQgYXMgYSBmdW5jdGlvbiByYXRoZXIgdGhhbiBhcyBhIGNvbnN0cnVjdG9yLCBpdCBwZXJmb3JtcyBhIHR5cGUgY29udmVyc2lvbgogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS4xL1MxNS41LjEuMV9BMV9UNC5qcwogKiBAZGVzY3JpcHRpb24gQ2FsbCBTdHJpbmcodW5kZWZpbmVkKQogKi8KCnZhciBfX3N0ciA9IFN0cmluZyh1bmRlZmluZWQpOwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAodHlwZW9mIF9fc3RyICE9PSAic3RyaW5nIikgewogICRFUlJPUignIzE6IF9fc3RyID0gU3RyaW5nKHVuZGVmaW5lZCk7IHR5cGVvZiBfX3N0ciA9PT0gInN0cmluZyIuIEFjdHVhbDogdHlwZW9mIF9fc3RyID09PScrdHlwZW9mIF9fc3RyICk7IAp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMgppZiAoX19zdHIgIT09ICJ1bmRlZmluZWQiKSB7CiAgJEVSUk9SKCcjMjogX19zdHIgPSBTdHJpbmcodW5kZWZpbmVkKTsgX19zdHIgPT09ICJ1bmRlZmluZWQiLiBBY3R1YWw6IF9fc3RyID09PScrX19zdHIgKTsgCn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"When String is called as a function rather than as a constructor, it performs a type conversion","description":"Call String(undefined)","path":"TestCases/ch15/15.5/15.5.1/S15.5.1.1_A1_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuIFN0cmluZyBpcyBjYWxsZWQgYXMgYSBmdW5jdGlvbiByYXRoZXIgdGhhbiBhcyBhIGNvbnN0cnVjdG9yLCBpdCBwZXJmb3JtcyBhIHR5cGUgY29udmVyc2lvbgogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS4xL1MxNS41LjEuMV9BMV9UNS5qcwogKiBAZGVzY3JpcHRpb24gQ2FsbCBTdHJpbmcoeCksIHdoZXJlIHggaXMgdW5kZWZpbmVkIHZhcmlhYmxlCiAqLwoKdmFyIF9fc3RyID0gU3RyaW5nKHgpOwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAodHlwZW9mIF9fc3RyICE9PSAic3RyaW5nIikgewogICRFUlJPUignIzE6IHZhciB4OyBfX3N0ciA9IFN0cmluZyh4KTsgdHlwZW9mIF9fc3RyID09PSAic3RyaW5nIi4gQWN0dWFsOiB0eXBlb2YgX19zdHIgPT09Jyt0eXBlb2YgX19zdHIgKTsgCn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMyCmlmIChfX3N0ciAhPT0gInVuZGVmaW5lZCIpIHsKICAkRVJST1IoJyMyOiB2YXIgeDsgX19zdHIgPSBTdHJpbmcoeCk7IF9fc3RyID09PSAidW5kZWZpbmVkIi4gQWN0dWFsOiBfX3N0ciA9PT0nK19fc3RyICk7IAp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKdmFyIHg7Cgo=","commentary":"When String is called as a function rather than as a constructor, it performs a type conversion","description":"Call String(x), where x is undefined variable","path":"TestCases/ch15/15.5/15.5.1/S15.5.1.1_A1_T5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuIFN0cmluZyBpcyBjYWxsZWQgYXMgYSBmdW5jdGlvbiByYXRoZXIgdGhhbiBhcyBhIGNvbnN0cnVjdG9yLCBpdCBwZXJmb3JtcyBhIHR5cGUgY29udmVyc2lvbgogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS4xL1MxNS41LjEuMV9BMV9UNi5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgYnkgdXNpbmcgZXZhbCwgQ2FsbCBTdHJpbmcoZXZhbCgpKTsKICovCgp2YXIgX19zdHIgPSBTdHJpbmcoZXZhbCgpKTsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKHR5cGVvZiBfX3N0ciAhPT0gInN0cmluZyIpIHsKICAkRVJST1IoJyMxOiBfX3N0ciA9IFN0cmluZyhldmFsKCkpOyB0eXBlb2YgX19zdHIgPT09ICJzdHJpbmciLiBBY3R1YWw6IHR5cGVvZiBfX3N0ciA9PT0nK3R5cGVvZiBfX3N0ciApOyAKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzIKaWYgKF9fc3RyICE9PSAidW5kZWZpbmVkIikgewogICRFUlJPUignIzI6IF9fc3RyID0gU3RyaW5nKGV2YWwoKSk7IF9fc3RyID09PSAidW5kZWZpbmVkIi4gQWN0dWFsOiBfX3N0ciA9PT0nK19fc3RyICk7IAp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"When String is called as a function rather than as a constructor, it performs a type conversion","description":"Checking by using eval, Call String(eval())","path":"TestCases/ch15/15.5/15.5.1/S15.5.1.1_A1_T6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuIFN0cmluZyBpcyBjYWxsZWQgYXMgYSBmdW5jdGlvbiByYXRoZXIgdGhhbiBhcyBhIGNvbnN0cnVjdG9yLCBpdCBwZXJmb3JtcyBhIHR5cGUgY29udmVyc2lvbgogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS4xL1MxNS41LjEuMV9BMV9UNy5qcwogKiBAZGVzY3JpcHRpb24gQ2FsbCBTdHJpbmcoe30pCiAqLwoKdmFyIF9fc3RyID0gU3RyaW5nKHt9KTsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKHR5cGVvZiBfX3N0ciAhPT0gInN0cmluZyIpIHsKICAkRVJST1IoJyMxOiBfX3N0ciA9IFN0cmluZyh7fSk7IHR5cGVvZiBfX3N0ciA9PT0gInN0cmluZyIuIEFjdHVhbDogdHlwZW9mIF9fc3RyID09PScrdHlwZW9mIF9fc3RyICk7IAp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMgppZiAoX19zdHIgIT09ICJbb2JqZWN0ICIrIk9iamVjdCIrIl0iKSB7CiAgJEVSUk9SKCcjMjogX19zdHIgPSBTdHJpbmcoe30pOyBfX3N0ciA9PT0gIltvYmplY3QgT2JqZWN0XSIuIEFjdHVhbDogX19zdHIgPT09JytfX3N0ciApOyAKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"When String is called as a function rather than as a constructor, it performs a type conversion","description":"Call String({})","path":"TestCases/ch15/15.5/15.5.1/S15.5.1.1_A1_T7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuIFN0cmluZyBpcyBjYWxsZWQgYXMgYSBmdW5jdGlvbiByYXRoZXIgdGhhbiBhcyBhIGNvbnN0cnVjdG9yLCBpdCBwZXJmb3JtcyBhIHR5cGUgY29udmVyc2lvbgogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS4xL1MxNS41LjEuMV9BMV9UOC5qcwogKiBAZGVzY3JpcHRpb24gQ2FsbCBTdHJpbmcobmV3IEFycmF5KQogKi8KCnZhciBfX29sZF9fQXJyYXlfX3Byb3RvdHlwZV9fdG9TdHJpbmcgPSBBcnJheS5wcm90b3R5cGUudG9TdHJpbmc7CgpBcnJheS5wcm90b3R5cGUudG9TdHJpbmc9ZnVuY3Rpb24oKXtyZXR1cm4gIl9fQVJSQVlfXyI7fTsKCnZhciBfX3N0ciA9IFN0cmluZyhuZXcgQXJyYXkpOwoKLy8gcmVzdG9yZSBvbGQgdG9TdHJpbmcgbWV0aG9kIGp1c3QgaW4gY2FzZQpBcnJheS5wcm90b3R5cGUudG9TdHJpbmc9X19vbGRfX0FycmF5X19wcm90b3R5cGVfX3RvU3RyaW5nOwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAodHlwZW9mIF9fc3RyICE9PSAic3RyaW5nIikgewogICRFUlJPUignIzE6IF9fc3RyID0gU3RyaW5nKG5ldyBBcnJheSk7IHR5cGVvZiBfX3N0ciA9PT0gInN0cmluZyIuIEFjdHVhbDogdHlwZW9mIF9fc3RyID09PScrdHlwZW9mIF9fc3RyICk7IAp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMgppZiAoX19zdHIgIT09ICJfX0FSUkFZX18iKSB7CiAgJEVSUk9SKCcjMjogQXJyYXkucHJvdG90eXBlLnRvU3RyaW5nPWZ1bmN0aW9uKCl7cmV0dXJuICJfX0FSUkFZX18iO307IF9fc3RyID0gU3RyaW5nKG5ldyBBcnJheSk7IF9fc3RyID09PSAiX19BUlJBWV9fIi4gQWN0dWFsOiBfX3N0ciA9PT0nK19fc3RyICk7IAp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"When String is called as a function rather than as a constructor, it performs a type conversion","description":"Call String(new Array)","path":"TestCases/ch15/15.5/15.5.1/S15.5.1.1_A1_T8.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuIFN0cmluZyBpcyBjYWxsZWQgYXMgYSBmdW5jdGlvbiByYXRoZXIgdGhhbiBhcyBhIGNvbnN0cnVjdG9yLCBpdCBwZXJmb3JtcyBhIHR5cGUgY29udmVyc2lvbgogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS4xL1MxNS41LjEuMV9BMV9UOS5qcwogKiBAZGVzY3JpcHRpb24gQ2FsbCBTdHJpbmcodGhpcykKICovCgp2YXIgdG9TdHJpbmc9ZnVuY3Rpb24oKXtyZXR1cm4gIl9fVEhJU19fIjt9OwoKdmFyIF9fc3RyID0gU3RyaW5nKHRoaXMpOwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAodHlwZW9mIF9fc3RyICE9PSAic3RyaW5nIikgewogICRFUlJPUignIzE6IF9fc3RyID0gU3RyaW5nKHRoaXMpOyB0eXBlb2YgX19zdHIgPT09ICJzdHJpbmciLiBBY3R1YWw6IHR5cGVvZiBfX3N0ciA9PT0nK3R5cGVvZiBfX3N0ciApOyAKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzIKaWYgKF9fc3RyICE9PSAiX19USElTX18iKSB7CiAgJEVSUk9SKCcjMjogdG9TdHJpbmc9ZnVuY3Rpb24oKXtyZXR1cm4gIl9fVEhJU19fIjt9OyBfX3N0ciA9IFN0cmluZyh0aGlzKTsgX19zdHIgPT09ICJfX1RISVNfXyIuIEFjdHVhbDogX19zdHIgPT09JytfX3N0ciApOyAKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"When String is called as a function rather than as a constructor, it performs a type conversion","description":"Call String(this)","path":"TestCases/ch15/15.5/15.5.1/S15.5.1.1_A1_T9.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiB2YWx1ZSBpcyBub3Qgc3VwcGxpZWQsIHRoZSBlbXB0eSBzdHJpbmcgIiIgaXMgcmV0dXJuZWQKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuMS9TMTUuNS4xLjFfQTJfVDEuanMKICogQGRlc2NyaXB0aW9uIENhbGwgU3RyaW5nKCkKICovCgp2YXIgX19zdHIgPSBTdHJpbmcoKTsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKHR5cGVvZiBfX3N0ciAhPT0gInN0cmluZyIpIHsKICAkRVJST1IoJyMxOiBfX3N0ciA9IFN0cmluZygpOyB0eXBlb2YgX19zdHIgPT09ICJzdHJpbmciLiBBY3R1YWw6IHR5cGVvZiBfX3N0ciA9PT0nK3R5cGVvZiBfX3N0ciApOyAKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzIKaWYgKF9fc3RyICE9PSAiIikgewogICRFUlJPUignIzI6IF9fc3RyID0gU3RyaW5nKCk7IF9fc3RyID09PSAiIi4gQWN0dWFsOiBfX3N0ciA9PT0nK19fc3RyICk7IAp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"If value is not supplied, the empty string \"\" is returned","description":"Call String()","path":"TestCases/ch15/15.5/15.5.1/S15.5.1.1_A2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuICJTdHJpbmciIGlzIGNhbGxlZCBhcyBwYXJ0IG9mIGEgbmV3IGV4cHJlc3Npb24sIGl0IGlzIGEgY29uc3RydWN0b3I6IGl0IGluaXRpYWxpc2VzIHRoZSBuZXdseSBjcmVhdGVkIG9iamVjdCBhbmQKICogVGhlIFtbVmFsdWVdXSBwcm9wZXJ0eSBvZiB0aGUgbmV3bHkgY29uc3RydWN0ZWQgb2JqZWN0IGlzIHNldCB0byBUb1N0cmluZyh2YWx1ZSksIG9yIHRvIHRoZSBlbXB0eSBzdHJpbmcgaWYgdmFsdWUgaXMgbm90IHN1cHBsaWVkCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjIvUzE1LjUuMi4xX0ExX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBDcmVhdGluZyBzdHJpbmcgb2JqZWN0IHdpdGggZXhwcmVzc2lvbiAibmV3IFN0cmluZyIKICovCgp2YXIgX19zdHIgPSBuZXcgU3RyaW5nOwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAodHlwZW9mIF9fc3RyICE9PSAib2JqZWN0IikgewogICRFUlJPUignIzE6IF9fc3RyID0gbmV3IFN0cmluZzsgdHlwZW9mIF9fc3RyID09PSAib2JqZWN0Ii4gQWN0dWFsOiB0eXBlb2YgX19zdHIgPT09Jyt0eXBlb2YgX19zdHIgKTsgCn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxLjUKaWYgKF9fc3RyLmNvbnN0cnVjdG9yICE9PSBTdHJpbmcpIHsKICAkRVJST1IoJyMxLjU6IF9fc3RyID0gbmV3IFN0cmluZzsgX19zdHIuY29uc3RydWN0b3IgPT09IFN0cmluZy4gQWN0dWFsOiBfX3N0ci5jb25zdHJ1Y3RvciA9PT0nK19fc3RyLmNvbnN0cnVjdG9yICk7IAp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMgppZiAoX19zdHIgIT0gIiIpIHsKICAkRVJST1IoJyMyOiBfX3N0ciA9IG5ldyBTdHJpbmc7IF9fc3RyID09ICIiLiBBY3R1YWw6IF9fc3RyID09JytfX3N0cik7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMzCmlmICggX19zdHIgPT09ICIiKSB7CiAgJEVSUk9SKCcjMzogX19zdHIgPSBuZXcgU3RyaW5nOyBfX3N0ciAhPT0gIiInKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"When \"String\" is called as part of a new expression, it is a constructor: it initialises the newly created object and\nThe [[Value]] property of the newly constructed object is set to ToString(value), or to the empty string if value is not supplied","description":"Creating string object with expression \"new String\"","path":"TestCases/ch15/15.5/15.5.2/S15.5.2.1_A1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuICJTdHJpbmciIGlzIGNhbGxlZCBhcyBwYXJ0IG9mIGEgbmV3IGV4cHJlc3Npb24sIGl0IGlzIGEgY29uc3RydWN0b3I6IGl0IGluaXRpYWxpc2VzIHRoZSBuZXdseSBjcmVhdGVkIG9iamVjdCBhbmQKICogVGhlIFtbVmFsdWVdXSBwcm9wZXJ0eSBvZiB0aGUgbmV3bHkgY29uc3RydWN0ZWQgb2JqZWN0IGlzIHNldCB0byBUb1N0cmluZyh2YWx1ZSksIG9yIHRvIHRoZSBlbXB0eSBzdHJpbmcgaWYgdmFsdWUgaXMgbm90IHN1cHBsaWVkCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjIvUzE1LjUuMi4xX0ExX1QxMC5qcwogKiBAZGVzY3JpcHRpb24gQ3JlYXRpbmcgc3RyaW5nIG9iamVjdCB3aXRoICJuZXcgU3RyaW5nKGZ1bmN0aW9uIG9iamVjdCkiIGFzIHRoZSBmdW5jdGlvbiBvYmplY3QncyBwcm90b3R5cGUudG9TdHJpbmcgcHJvcGVydHkgd2FzIGNoYW5nZWQKICovCgpmdW5jdGlvbiBfX0ZBQ1RPUlkoKXt9OwoKX19GQUNUT1JZLnByb3RvdHlwZS50b1N0cmluZz1mdW5jdGlvbigpe3JldHVybiAidG9zdHIifTsKCnZhciBfX29iaiA9IG5ldyBfX0ZBQ1RPUlk7Cgp2YXIgX19zdHIgPSBuZXcgU3RyaW5nKF9fb2JqKTsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKHR5cGVvZiBfX3N0ciAhPT0gIm9iamVjdCIpIHsKICAkRVJST1IoJyMxOiBfX3N0ciA9IG5ldyBTdHJpbmcoX19vYmopOyB0eXBlb2YgX19zdHIgPT09ICJvYmplY3QiLiBBY3R1YWw6IHR5cGVvZiBfX3N0ciA9PT0nK3R5cGVvZiBfX3N0ciApOyAKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEuNQppZiAoX19zdHIuY29uc3RydWN0b3IgIT09IFN0cmluZykgewogICRFUlJPUignIzEuNTogX19zdHIgPSBuZXcgU3RyaW5nKF9fb2JqKTsgX19zdHIuY29uc3RydWN0b3IgPT09IFN0cmluZy4gQWN0dWFsOiBfX3N0ci5jb25zdHJ1Y3RvciA9PT0nK19fc3RyLmNvbnN0cnVjdG9yICk7IAp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMgppZiAoX19zdHIgIT0gInRvc3RyIikgewogICRFUlJPUignIzI6IF9fc3RyID0gbmV3IFN0cmluZyhfX29iaik7IF9fc3RyID09InRvc3RyIi4gQWN0dWFsOiBfX3N0ciA9PScrX19zdHIgKTsgCn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"When \"String\" is called as part of a new expression, it is a constructor: it initialises the newly created object and\nThe [[Value]] property of the newly constructed object is set to ToString(value), or to the empty string if value is not supplied","description":"Creating string object with \"new String(function object)\" as the function object's prototype.toString property was changed","path":"TestCases/ch15/15.5/15.5.2/S15.5.2.1_A1_T10.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuICJTdHJpbmciIGlzIGNhbGxlZCBhcyBwYXJ0IG9mIGEgbmV3IGV4cHJlc3Npb24sIGl0IGlzIGEgY29uc3RydWN0b3I6IGl0IGluaXRpYWxpc2VzIHRoZSBuZXdseSBjcmVhdGVkIG9iamVjdCBhbmQKICogVGhlIFtbVmFsdWVdXSBwcm9wZXJ0eSBvZiB0aGUgbmV3bHkgY29uc3RydWN0ZWQgb2JqZWN0IGlzIHNldCB0byBUb1N0cmluZyh2YWx1ZSksIG9yIHRvIHRoZSBlbXB0eSBzdHJpbmcgaWYgdmFsdWUgaXMgbm90IHN1cHBsaWVkCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjIvUzE1LjUuMi4xX0ExX1QxMS5qcwogKiBAZGVzY3JpcHRpb24gQ3JlYXRpbmcgc3RyaW5nIG9iamVjdCB3aXRoICJuZXcgU3RyaW5nKGZ1bmN0aW9uIG9iamVjdCkiIGFmdGVyIGNoYW5naW5nIGZ1bmN0aW9uIG9iamVjdCdzIHZhbHVlT2YgYW5kIHRvU3RyaW5nIHByb3BlcnRpZXMKICovCgpmdW5jdGlvbiBfX29iaigpe307CgpfX29iai52YWx1ZU9mPWZ1bmN0aW9uKCl7cmV0dXJuIHRydWU7fTsKCl9fb2JqLnRvU3RyaW5nPWZ1bmN0aW9uKCl7cmV0dXJuIHt9O307Cgp2YXIgX19zdHIgPSBuZXcgU3RyaW5nKF9fb2JqKTsKCgoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAodHlwZW9mIF9fc3RyICE9PSAib2JqZWN0IikgewogICRFUlJPUignIzE6IGZ1bmN0aW9uIF9fb2JqKCl7fTsgX19zdHIgPSBuZXcgU3RyaW5nKF9fb2JqKTsgdHlwZW9mIF9fc3RyID09PSAib2JqZWN0Ii4gQWN0dWFsOiB0eXBlb2YgX19zdHIgPT09Jyt0eXBlb2YgX19zdHIgKTsgCn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxLjUKaWYgKF9fc3RyLmNvbnN0cnVjdG9yICE9PSBTdHJpbmcpIHsKICAkRVJST1IoJyMxLjU6IF9fc3RyID0gbmV3IFN0cmluZyhfX29iaik7IF9fc3RyLmNvbnN0cnVjdG9yID09PSBTdHJpbmcuIEFjdHVhbDogX19zdHIuY29uc3RydWN0b3IgPT09JytfX3N0ci5jb25zdHJ1Y3RvciApOyAKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzIKaWYgKF9fc3RyICE9InRydWUiKSB7CiAgJEVSUk9SKCcjMjogZnVuY3Rpb24gX19vYmooKXt9OyBfX3N0ciA9IG5ldyBTdHJpbmcoX19vYmopOyBfX3N0ciA9PSJ0cnVlIi4gQWN0dWFsOiBfX3N0ciA9PScrX19zdHIgKTsgCn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"When \"String\" is called as part of a new expression, it is a constructor: it initialises the newly created object and\nThe [[Value]] property of the newly constructed object is set to ToString(value), or to the empty string if value is not supplied","description":"Creating string object with \"new String(function object)\" after changing function object's valueOf and toString properties","path":"TestCases/ch15/15.5/15.5.2/S15.5.2.1_A1_T11.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuICJTdHJpbmciIGlzIGNhbGxlZCBhcyBwYXJ0IG9mIGEgbmV3IGV4cHJlc3Npb24sIGl0IGlzIGEgY29uc3RydWN0b3I6IGl0IGluaXRpYWxpc2VzIHRoZSBuZXdseSBjcmVhdGVkIG9iamVjdCBhbmQKICogVGhlIFtbVmFsdWVdXSBwcm9wZXJ0eSBvZiB0aGUgbmV3bHkgY29uc3RydWN0ZWQgb2JqZWN0IGlzIHNldCB0byBUb1N0cmluZyh2YWx1ZSksIG9yIHRvIHRoZSBlbXB0eSBzdHJpbmcgaWYgdmFsdWUgaXMgbm90IHN1cHBsaWVkCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjIvUzE1LjUuMi4xX0ExX1QxMi5qcwogKiBAZGVzY3JpcHRpb24gQ3JlYXRpbmcgc3RyaW5nIG9iamVjdCB3aXRoICJuZXcgU3RyaW5nKGZ1bmN0aW9uIG9iamVjdCkiLCBhZnRlciBjaGFuZ2luZyB0aGUgZnVuY3Rpb24gb2JqZWN0IHRvU3RyaW5nIHByb3BlcnR5LCB3aGljaCBjYXVzZXMgZXhjZXB0aW9uIHRocm93CiAqLwoKdmFyIF9fb2JqID0ge3RvU3RyaW5nOmZ1bmN0aW9uKCl7dGhyb3cgImludG9zdHIifX07CgpfX29iai52YWx1ZU9mPWZ1bmN0aW9uKCl7cmV0dXJuIHRydWV9OwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQp0cnkgewogIHZhciBfX3N0ciA9IG5ldyBTdHJpbmcoX19vYmopOwogICRFUlJPUignIzE6IHZhciBfX29iaiA9IHt0b1N0cmluZzpmdW5jdGlvbigpe3Rocm93ICJpbnRvc3RyIn19OyBfX3N0ciA9IG5ldyBTdHJpbmcoX19vYmopIGxlYWQgdGhyb3dpbmcgZXhjZXB0aW9uJyk7Cn0gY2F0Y2ggKGUpIHsKICBpZiAoZSE9PSJpbnRvc3RyIikgewogICAgJEVSUk9SKCcjMS4xOiBlPT09ImludG9zdHIiLiBBY3R1YWw6IGU9PT0nK2UpOyAKICB9Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgoKCg==","commentary":"When \"String\" is called as part of a new expression, it is a constructor: it initialises the newly created object and\nThe [[Value]] property of the newly constructed object is set to ToString(value), or to the empty string if value is not supplied","description":"Creating string object with \"new String(function object)\", after changing the function object toString property, which causes exception throw","path":"TestCases/ch15/15.5/15.5.2/S15.5.2.1_A1_T12.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuICJTdHJpbmciIGlzIGNhbGxlZCBhcyBwYXJ0IG9mIGEgbmV3IGV4cHJlc3Npb24sIGl0IGlzIGEgY29uc3RydWN0b3I6IGl0IGluaXRpYWxpc2VzIHRoZSBuZXdseSBjcmVhdGVkIG9iamVjdCBhbmQKICogVGhlIFtbVmFsdWVdXSBwcm9wZXJ0eSBvZiB0aGUgbmV3bHkgY29uc3RydWN0ZWQgb2JqZWN0IGlzIHNldCB0byBUb1N0cmluZyh2YWx1ZSksIG9yIHRvIHRoZSBlbXB0eSBzdHJpbmcgaWYgdmFsdWUgaXMgbm90IHN1cHBsaWVkCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjIvUzE1LjUuMi4xX0ExX1QxMy5qcwogKiBAZGVzY3JpcHRpb24gQ3JlYXRpbmcgc3RyaW5nIG9iamVjdCB3aXRoICJuZXcgU3RyaW5nKGZ1bmN0aW9uIG9iamVjdCkiIGFmdGVyIGNoYW5naW5nIGZ1bmN0aW9uIG9iamVjdCdzIHZhbHVlT2YgcHJvcGVydHksIHdoaWNoIGNhdXNlcyBleGNlcHRpb24gdGhyb3cKICovCgp2YXIgX19vYmogPSB7dG9TdHJpbmc6ZnVuY3Rpb24oKXtyZXR1cm4gZjsgZnVuY3Rpb24gZigpe319fTsKCl9fb2JqLnZhbHVlT2Y9ZnVuY3Rpb24oKXt0aHJvdyAiaW52YWx1ZW9mIn07CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCnRyeSB7CiAgdmFyIF9fc3RyID0gbmV3IFN0cmluZyhfX29iaik7CiAgJEVSUk9SKCcjMTogX19vYmoudmFsdWVPZj1mdW5jdGlvbigpe3Rocm93ICJpbnZhbHVlb2YifTsgX19zdHIgPSBuZXcgU3RyaW5nKF9fb2JqKSBsZWFkIHRocm93aW5nIGV4Y2VwdGlvbicpOwp9IGNhdGNoIChlKSB7CiAgaWYgKGUhPT0iaW52YWx1ZW9mIikgewogICAgJEVSUk9SKCcjMS4xOiBlPT09ImludmFsdWVvZiIuIEFjdHVhbDogZT09PScrZSk7IAogIH0KfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCgoK","commentary":"When \"String\" is called as part of a new expression, it is a constructor: it initialises the newly created object and\nThe [[Value]] property of the newly constructed object is set to ToString(value), or to the empty string if value is not supplied","description":"Creating string object with \"new String(function object)\" after changing function object's valueOf property, which causes exception throw","path":"TestCases/ch15/15.5/15.5.2/S15.5.2.1_A1_T13.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuICJTdHJpbmciIGlzIGNhbGxlZCBhcyBwYXJ0IG9mIGEgbmV3IGV4cHJlc3Npb24sIGl0IGlzIGEgY29uc3RydWN0b3I6IGl0IGluaXRpYWxpc2VzIHRoZSBuZXdseSBjcmVhdGVkIG9iamVjdCBhbmQKICogVGhlIFtbVmFsdWVdXSBwcm9wZXJ0eSBvZiB0aGUgbmV3bHkgY29uc3RydWN0ZWQgb2JqZWN0IGlzIHNldCB0byBUb1N0cmluZyh2YWx1ZSksIG9yIHRvIHRoZSBlbXB0eSBzdHJpbmcgaWYgdmFsdWUgaXMgbm90IHN1cHBsaWVkCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjIvUzE1LjUuMi4xX0ExX1QxNi5qcwogKiBAZGVzY3JpcHRpb24gQ3JlYXRpbmcgc3RyaW5nIG9iamVjdCB3aXRoICJuZXcgU3RyaW5nKCkiIGluaXRpYWxpemVkIHdpdGggLjEyMzQ1IGFuZCBvdGhlciBudW1iZXJzCiAqLwoKX19zdHIgPW5ldyBTdHJpbmcoLjEyMzQ1KTsKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAodHlwZW9mIF9fc3RyICE9PSAib2JqZWN0IikgewogICRFUlJPUignIzE6IF9fc3RyID1uZXcgU3RyaW5nKC4xMjM0NSk7IHR5cGVvZiBfX3N0ciA9PT0gIm9iamVjdCIuIEFjdHVhbDogdHlwZW9mIF9fc3RyID09PScrdHlwZW9mIF9fc3RyICk7IAp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMS41CmlmIChfX3N0ci5jb25zdHJ1Y3RvciAhPT0gU3RyaW5nKSB7CiAgJEVSUk9SKCcjMS41OiBfX3N0ciA9bmV3IFN0cmluZyguMTIzNDUpOyBfX3N0ci5jb25zdHJ1Y3RvciA9PT0gU3RyaW5nLiBBY3R1YWw6IF9fc3RyLmNvbnN0cnVjdG9yID09PScrX19zdHIuY29uc3RydWN0b3IgKTsgCn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMyCmlmIChfX3N0ciAhPSIwLjEyMzQ1IikgewogICRFUlJPUignIzI6IF9fc3RyID1uZXcgU3RyaW5nKC4xMjM0NSk7IF9fc3RyID09IjAuMTIzNDUiLiBBY3R1YWw6IF9fc3RyID09JytfX3N0ciApOyAKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCl9fc3RyID1uZXcgIFN0cmluZyguMDEyMzQ1KTsKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMwppZiAodHlwZW9mIF9fc3RyICE9PSAib2JqZWN0IikgewogICRFUlJPUignIzM6IF9fc3RyID1uZXcgIFN0cmluZyguMDEyMzQ1KTsgdHlwZW9mIF9fc3RyID09PSAib2JqZWN0Ii4gQWN0dWFsOiB0eXBlb2YgX19zdHIgPT09Jyt0eXBlb2YgX19zdHIgKTsgCn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMyLjUKaWYgKF9fc3RyLmNvbnN0cnVjdG9yICE9PSBTdHJpbmcpIHsKICAkRVJST1IoJyMzLjU6IF9fc3RyID1uZXcgIFN0cmluZyguMDEyMzQ1KTsgX19zdHIuY29uc3RydWN0b3IgPT09IFN0cmluZy4gQWN0dWFsOiBfX3N0ci5jb25zdHJ1Y3RvciA9PT0nK19fc3RyLmNvbnN0cnVjdG9yICk7IAp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjNAppZiAoX19zdHIgIT0iMC4wMTIzNDUiKSB7CiAgJEVSUk9SKCcjNDogX19zdHIgPW5ldyAgU3RyaW5nKC4wMTIzNDUpOyBfX3N0ciA9PSIwLjAxMjM0NSIuIEFjdHVhbDogX19zdHIgPT0nK19fc3RyICk7IAp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKX19zdHIgPW5ldyAgU3RyaW5nKC4wMDEyMzQ1KTsKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjNQppZiAodHlwZW9mIF9fc3RyICE9PSAib2JqZWN0IikgewogICRFUlJPUignIzU6IF9fc3RyID1uZXcgIFN0cmluZyguMDAxMjM0NSk7IHR5cGVvZiBfX3N0ciA9PT0gIm9iamVjdCIuIEFjdHVhbDogdHlwZW9mIF9fc3RyID09PScrdHlwZW9mIF9fc3RyICk7IAp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjNS41CmlmIChfX3N0ci5jb25zdHJ1Y3RvciAhPT0gU3RyaW5nKSB7CiAgJEVSUk9SKCcjNS41OiBfX3N0ciA9bmV3ICBTdHJpbmcoLjAwMTIzNDUpOyBfX3N0ci5jb25zdHJ1Y3RvciA9PT0gU3RyaW5nLiBBY3R1YWw6IF9fc3RyLmNvbnN0cnVjdG9yID09PScrX19zdHIuY29uc3RydWN0b3IgKTsgCn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyM2CmlmIChfX3N0ciAhPSIwLjAwMTIzNDUiKSB7CiAgJEVSUk9SKCcjNjogX19zdHIgPW5ldyAgU3RyaW5nKC4wMDEyMzQ1KTsgX19zdHIgPT0iMC4wMDEyMzQ1Ii4gQWN0dWFsOiBfX3N0ciA9PScrX19zdHIgKTsgCn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgpfX3N0ciA9bmV3ICBTdHJpbmcoLjAwMDAwMDEyMzQ1KTsKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjNwppZiAodHlwZW9mIF9fc3RyICE9PSAib2JqZWN0IikgewogICRFUlJPUignIzc6IF9fc3RyID1uZXcgIFN0cmluZyguMDAwMDAwMTIzNDUpOyB0eXBlb2YgX19zdHIgPT09ICJvYmplY3QiLiBBY3R1YWw6IHR5cGVvZiBfX3N0ciA9PT0nK3R5cGVvZiBfX3N0ciApOyAKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzcuNQppZiAoX19zdHIuY29uc3RydWN0b3IgIT09IFN0cmluZykgewogICRFUlJPUignIzcuNTogX19zdHIgPW5ldyAgU3RyaW5nKC4wMDAwMDAxMjM0NSk7IF9fc3RyLmNvbnN0cnVjdG9yID09PSBTdHJpbmcuIEFjdHVhbDogX19zdHIuY29uc3RydWN0b3IgPT09JytfX3N0ci5jb25zdHJ1Y3RvciApOyAKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzgKaWYgKF9fc3RyICE9IjEuMjM0NWUtNyIpIHsKICAkRVJST1IoJyM4OiBfX3N0ciA9bmV3ICBTdHJpbmcoLjAwMDAwMDEyMzQ1KTsgX19zdHIgPT0iMS4yMzQ1ZS03Ii4gQWN0dWFsOiBfX3N0ciA9PScrX19zdHIgKTsgCn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"When \"String\" is called as part of a new expression, it is a constructor: it initialises the newly created object and\nThe [[Value]] property of the newly constructed object is set to ToString(value), or to the empty string if value is not supplied","description":"Creating string object with \"new String()\" initialized with .12345 and other numbers","path":"TestCases/ch15/15.5/15.5.2/S15.5.2.1_A1_T16.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuICJTdHJpbmciIGlzIGNhbGxlZCBhcyBwYXJ0IG9mIGEgbmV3IGV4cHJlc3Npb24sIGl0IGlzIGEgY29uc3RydWN0b3I6IGl0IGluaXRpYWxpc2VzIHRoZSBuZXdseSBjcmVhdGVkIG9iamVjdCBhbmQKICogVGhlIFtbVmFsdWVdXSBwcm9wZXJ0eSBvZiB0aGUgbmV3bHkgY29uc3RydWN0ZWQgb2JqZWN0IGlzIHNldCB0byBUb1N0cmluZyh2YWx1ZSksIG9yIHRvIHRoZSBlbXB0eSBzdHJpbmcgaWYgdmFsdWUgaXMgbm90IHN1cHBsaWVkCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjIvUzE1LjUuMi4xX0ExX1QxNy5qcwogKiBAZGVzY3JpcHRpb24gQ3JlYXRpbmcgc3RyaW5nIG9iamVjdCB3aXRoICJuZXcgU3RyaW5nKCkiIGluaXRpYWxpemVkIHdpdGggbnVtYmVycyB0aGF0IGhhdmUgbW9yZSB0aGFuIDEgc2lnbmlmaWNhbnQgZGlnaXQgZm9sbG93aW5nIHRoZSBwb2ludAogKi8KCnZhciBfX3N0ciA9IG5ldyBTdHJpbmcoMS4yMzQ1KTsKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAodHlwZW9mIF9fc3RyICE9PSAib2JqZWN0IikgewogICRFUlJPUignIzE6IF9fc3RyID0gbmV3IFN0cmluZygxLjIzNDUpOyB0eXBlb2YgX19zdHIgPT09ICJvYmplY3QiLiBBY3R1YWw6IHR5cGVvZiBfX3N0ciA9PT0nK3R5cGVvZiBfX3N0ciApOyAKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEuNQppZiAoX19zdHIuY29uc3RydWN0b3IgIT09IFN0cmluZykgewogICRFUlJPUignIzEuNTogX19zdHIgPSBuZXcgU3RyaW5nKDEuMjM0NSk7IF9fc3RyLmNvbnN0cnVjdG9yID09PSBTdHJpbmcuIEFjdHVhbDogX19zdHIuY29uc3RydWN0b3IgPT09JytfX3N0ci5jb25zdHJ1Y3RvciApOyAKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzIKaWYgKF9fc3RyICE9IjEuMjM0NSIpIHsKICAkRVJST1IoJyMyOiBfX3N0ciA9IG5ldyBTdHJpbmcoMS4yMzQ1KTsgX19zdHIgPT0iMS4yMzQ1Ii4gQWN0dWFsOiBfX3N0ciA9PScrX19zdHIgKTsgCn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgpfX3N0ciA9IG5ldyBTdHJpbmcoMS4yMzQ1Njc4OTApOwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMzCmlmICh0eXBlb2YgX19zdHIgIT09ICJvYmplY3QiKSB7CiAgJEVSUk9SKCcjMzogX19zdHIgPSBuZXcgU3RyaW5nKDEuMjM0NTY3ODkwKTsgdHlwZW9mIF9fc3RyID09PSAib2JqZWN0Ii4gQWN0dWFsOiB0eXBlb2YgX19zdHIgPT09Jyt0eXBlb2YgX19zdHIgKTsgCn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMzLjUKaWYgKF9fc3RyLmNvbnN0cnVjdG9yICE9PSBTdHJpbmcpIHsKICAkRVJST1IoJyMzLjU6IF9fc3RyID0gbmV3IFN0cmluZygxLjIzNDU2Nzg5MCk7IF9fc3RyLmNvbnN0cnVjdG9yID09PSBTdHJpbmcuIEFjdHVhbDogX19zdHIuY29uc3RydWN0b3IgPT09JytfX3N0ci5jb25zdHJ1Y3RvciApOyAKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzQKaWYgKF9fc3RyICE9IjEuMjM0NTY3ODkiKSB7CiAgJEVSUk9SKCcjNDogX19zdHIgPSBuZXcgU3RyaW5nKDEuMjM0NTY3ODkwKTsgX19zdHIgPT0iMS4yMzQ1Njc4OSIuIEFjdHVhbDogX19zdHIgPT0nK19fc3RyICk7IAp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKX19zdHIgPSBuZXcgU3RyaW5nKDEuMjM0NTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwKTsKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjNQppZiAodHlwZW9mIF9fc3RyICE9PSAib2JqZWN0IikgewogICRFUlJPUignIzU6IF9fc3RyID0gbmV3IFN0cmluZygxLjIzNDUwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMCk7IHR5cGVvZiBfX3N0ciA9PT0gIm9iamVjdCIuIEFjdHVhbDogdHlwZW9mIF9fc3RyID09PScrdHlwZW9mIF9fc3RyICk7IAp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjNS41CmlmIChfX3N0ci5jb25zdHJ1Y3RvciAhPT0gU3RyaW5nKSB7CiAgJEVSUk9SKCcjNS41OiBfX3N0ciA9IG5ldyBTdHJpbmcoMS4yMzQ1MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDApOyBfX3N0ci5jb25zdHJ1Y3RvciA9PT0gU3RyaW5nLiBBY3R1YWw6IF9fc3RyLmNvbnN0cnVjdG9yID09PScrX19zdHIuY29uc3RydWN0b3IgKTsgCn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyM2CmlmIChfX3N0ciAhPSIxLjIzNDUiKSB7CiAgJEVSUk9SKCcjNjogX19zdHIgPSBuZXcgU3RyaW5nKDEuMjM0NTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwKTsgX19zdHIgPT0iMS4yMzQ1Ii4gQWN0dWFsOiBfX3N0ciA9PScrX19zdHIgKTsgCn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"When \"String\" is called as part of a new expression, it is a constructor: it initialises the newly created object and\nThe [[Value]] property of the newly constructed object is set to ToString(value), or to the empty string if value is not supplied","description":"Creating string object with \"new String()\" initialized with numbers that have more than 1 significant digit following the point","path":"TestCases/ch15/15.5/15.5.2/S15.5.2.1_A1_T17.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuICJTdHJpbmciIGlzIGNhbGxlZCBhcyBwYXJ0IG9mIGEgbmV3IGV4cHJlc3Npb24sIGl0IGlzIGEgY29uc3RydWN0b3I6IGl0IGluaXRpYWxpc2VzIHRoZSBuZXdseSBjcmVhdGVkIG9iamVjdCBhbmQKICogVGhlIFtbVmFsdWVdXSBwcm9wZXJ0eSBvZiB0aGUgbmV3bHkgY29uc3RydWN0ZWQgb2JqZWN0IGlzIHNldCB0byBUb1N0cmluZyh2YWx1ZSksIG9yIHRvIHRoZSBlbXB0eSBzdHJpbmcgaWYgdmFsdWUgaXMgbm90IHN1cHBsaWVkCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjIvUzE1LjUuMi4xX0ExX1QxOC5qcwogKiBAZGVzY3JpcHRpb24gQ3JlYXRlIHN0cmluZyBvYmplY3Qgd2l0aCAibmV3IFN0cmluZygpIiBpbml0aWFsaXplZCB3aXRoIG51bWJlcnMgdGhhdCBoYXZlIG1vcmUgdGhhbiAxIHNpZ25pZmljYW50IGRpZ2l0CiAqLwoKdmFyIF9fc3RyID0gbmV3IFN0cmluZygxMDAwMDAwMDAwMDAwMDAwMDAwMDAwKTsKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAodHlwZW9mIF9fc3RyICE9PSAib2JqZWN0IikgewogICRFUlJPUignIzE6IF9fc3RyID0gbmV3IFN0cmluZygxMDAwMDAwMDAwMDAwMDAwMDAwMDAwKTsgdHlwZW9mIF9fc3RyID09PSAib2JqZWN0Ii4gQWN0dWFsOiB0eXBlb2YgX19zdHIgPT09Jyt0eXBlb2YgX19zdHIgKTsgCn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxLjUKaWYgKF9fc3RyLmNvbnN0cnVjdG9yICE9PSBTdHJpbmcpIHsKICAkRVJST1IoJyMxLjU6IF9fc3RyID0gbmV3IFN0cmluZygxMDAwMDAwMDAwMDAwMDAwMDAwMDAwKTsgX19zdHIuY29uc3RydWN0b3IgPT09IFN0cmluZy4gQWN0dWFsOiBfX3N0ci5jb25zdHJ1Y3RvciA9PT0nK19fc3RyLmNvbnN0cnVjdG9yICk7IAp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMgppZiAoX19zdHIgIT0iMWUrMjEiKSB7CiAgJEVSUk9SKCcjMjogX19zdHIgPSBuZXcgU3RyaW5nKDEwMDAwMDAwMDAwMDAwMDAwMDAwMDApOyBfX3N0ciA9PSIxZSsyMSIuIEFjdHVhbDogX19zdHIgPT0nK19fc3RyICk7IAp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKX19zdHIgPSBuZXcgU3RyaW5nKDEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwKTsKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMwppZiAodHlwZW9mIF9fc3RyICE9PSAib2JqZWN0IikgewogICRFUlJPUignIzM6IF9fc3RyID0gbmV3IFN0cmluZygxMDAwMDAwMDAwMDAwMDAwMDAwMDAwMCk7IHR5cGVvZiBfX3N0ciA9PT0gIm9iamVjdCIuIEFjdHVhbDogdHlwZW9mIF9fc3RyID09PScrdHlwZW9mIF9fc3RyICk7IAp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMy41CmlmIChfX3N0ci5jb25zdHJ1Y3RvciAhPT0gU3RyaW5nKSB7CiAgJEVSUk9SKCcjMy41OiBfX3N0ciA9IG5ldyBTdHJpbmcoMTAwMDAwMDAwMDAwMDAwMDAwMDAwMDApOyBfX3N0ci5jb25zdHJ1Y3RvciA9PT0gU3RyaW5nLiBBY3R1YWw6IF9fc3RyLmNvbnN0cnVjdG9yID09PScrX19zdHIuY29uc3RydWN0b3IgKTsgCn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyM0CmlmIChfX3N0ciAhPSIxZSsyMiIpIHsKICAkRVJST1IoJyM0OiBfX3N0ciA9IG5ldyBTdHJpbmcoMTAwMDAwMDAwMDAwMDAwMDAwMDAwMDApOyBfX3N0ciA9PSIxZSsyMiIuIEFjdHVhbDogX19zdHIgPT0nK19fc3RyICk7IAp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"When \"String\" is called as part of a new expression, it is a constructor: it initialises the newly created object and\nThe [[Value]] property of the newly constructed object is set to ToString(value), or to the empty string if value is not supplied","description":"Create string object with \"new String()\" initialized with numbers that have more than 1 significant digit","path":"TestCases/ch15/15.5/15.5.2/S15.5.2.1_A1_T18.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuICJTdHJpbmciIGlzIGNhbGxlZCBhcyBwYXJ0IG9mIGEgbmV3IGV4cHJlc3Npb24sIGl0IGlzIGEgY29uc3RydWN0b3I6IGl0IGluaXRpYWxpc2VzIHRoZSBuZXdseSBjcmVhdGVkIG9iamVjdCBhbmQKICogVGhlIFtbVmFsdWVdXSBwcm9wZXJ0eSBvZiB0aGUgbmV3bHkgY29uc3RydWN0ZWQgb2JqZWN0IGlzIHNldCB0byBUb1N0cmluZyh2YWx1ZSksIG9yIHRvIHRoZSBlbXB0eSBzdHJpbmcgaWYgdmFsdWUgaXMgbm90IHN1cHBsaWVkCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjIvUzE1LjUuMi4xX0ExX1QxOS5qcwogKiBAZGVzY3JpcHRpb24gQ3JlYXRpbmcgc3RyaW5nIG9iamVjdCB3aXRoICJuZXcgU3RyaW5nKCkiIGluaXRpYWxpemVkIHdpdGggQXJyYXkgb2YgbnVtYmVycwogKi8KCnZhciBfX3N0ciA9IG5ldyBTdHJpbmcobmV3IEFycmF5KDEsMiwzKSk7Ci8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKHR5cGVvZiBfX3N0ciAhPT0gIm9iamVjdCIpIHsKICAkRVJST1IoJyMxOiBfX3N0ciA9IG5ldyBTdHJpbmcobmV3IEFycmF5KDEsMiwzKSk7IHR5cGVvZiBfX3N0ciA9PT0gIm9iamVjdCIuIEFjdHVhbDogdHlwZW9mIF9fc3RyID09PScrdHlwZW9mIF9fc3RyICk7IAp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMS41CmlmIChfX3N0ci5jb25zdHJ1Y3RvciAhPT0gU3RyaW5nKSB7CiAgJEVSUk9SKCcjMS41OiBfX3N0ciA9IG5ldyBTdHJpbmcobmV3IEFycmF5KDEsMiwzKSk7IF9fc3RyLmNvbnN0cnVjdG9yID09PSBTdHJpbmcuIEFjdHVhbDogX19zdHIuY29uc3RydWN0b3IgPT09JytfX3N0ci5jb25zdHJ1Y3RvciApOyAKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzIKaWYgKF9fc3RyICE9IjEsMiwzIikgewogICRFUlJPUignIzI6IF9fc3RyID0gbmV3IFN0cmluZyhuZXcgQXJyYXkoMSwyLDMpKTsgX19zdHIgPT0iMSwyLDMiLiBBY3R1YWw6IF9fc3RyID09JytfX3N0ciApOyAKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"When \"String\" is called as part of a new expression, it is a constructor: it initialises the newly created object and\nThe [[Value]] property of the newly constructed object is set to ToString(value), or to the empty string if value is not supplied","description":"Creating string object with \"new String()\" initialized with Array of numbers","path":"TestCases/ch15/15.5/15.5.2/S15.5.2.1_A1_T19.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuICJTdHJpbmciIGlzIGNhbGxlZCBhcyBwYXJ0IG9mIGEgbmV3IGV4cHJlc3Npb24sIGl0IGlzIGEgY29uc3RydWN0b3I6IGl0IGluaXRpYWxpc2VzIHRoZSBuZXdseSBjcmVhdGVkIG9iamVjdCBhbmQKICogVGhlIFtbVmFsdWVdXSBwcm9wZXJ0eSBvZiB0aGUgbmV3bHkgY29uc3RydWN0ZWQgb2JqZWN0IGlzIHNldCB0byBUb1N0cmluZyh2YWx1ZSksIG9yIHRvIHRoZSBlbXB0eSBzdHJpbmcgaWYgdmFsdWUgaXMgbm90IHN1cHBsaWVkCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjIvUzE1LjUuMi4xX0ExX1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBDcmVhdGluZyBzdHJpbmcgb2JqZWN0IHdpdGggIm5ldyBTdHJpbmcoKSIKICovCgp2YXIgX19zdHIgPSBuZXcgU3RyaW5nKCk7CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmICh0eXBlb2YgX19zdHIgIT09ICJvYmplY3QiKSB7CiAgJEVSUk9SKCcjMTogX19zdHIgPSBuZXcgU3RyaW5nKCk7IHR5cGVvZiBfX3N0ciA9PT0gIm9iamVjdCIuIEFjdHVhbDogdHlwZW9mIF9fc3RyID09PScrdHlwZW9mIF9fc3RyICk7IAp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMS41CmlmIChfX3N0ci5jb25zdHJ1Y3RvciAhPT0gU3RyaW5nKSB7CiAgJEVSUk9SKCcjMS41OiBfX3N0ciA9IG5ldyBTdHJpbmcoKTsgX19zdHIuY29uc3RydWN0b3IgPT09IFN0cmluZy4gQWN0dWFsOiBfX3N0ci5jb25zdHJ1Y3RvciA9PT0nK19fc3RyLmNvbnN0cnVjdG9yICk7IAp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMgppZiAoX19zdHIgIT0iIikgewogICRFUlJPUignIzI6IF9fc3RyID0gbmV3IFN0cmluZygpOyBfX3N0ciA9PSIiLiBBY3R1YWw6IF9fc3RyID09JytfX3N0ciApOyAKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzMKaWYgKCBfX3N0ciA9PT0gIiIpIHsKICAkRVJST1IoJyMzOiBfX3N0ciA9IG5ldyBTdHJpbmcoKTsgX19zdHIgIT09ICIiJyk7IAp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"When \"String\" is called as part of a new expression, it is a constructor: it initialises the newly created object and\nThe [[Value]] property of the newly constructed object is set to ToString(value), or to the empty string if value is not supplied","description":"Creating string object with \"new String()\"","path":"TestCases/ch15/15.5/15.5.2/S15.5.2.1_A1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuICJTdHJpbmciIGlzIGNhbGxlZCBhcyBwYXJ0IG9mIGEgbmV3IGV4cHJlc3Npb24sIGl0IGlzIGEgY29uc3RydWN0b3I6IGl0IGluaXRpYWxpc2VzIHRoZSBuZXdseSBjcmVhdGVkIG9iamVjdCBhbmQKICogVGhlIFtbVmFsdWVdXSBwcm9wZXJ0eSBvZiB0aGUgbmV3bHkgY29uc3RydWN0ZWQgb2JqZWN0IGlzIHNldCB0byBUb1N0cmluZyh2YWx1ZSksIG9yIHRvIHRoZSBlbXB0eSBzdHJpbmcgaWYgdmFsdWUgaXMgbm90IHN1cHBsaWVkCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjIvUzE1LjUuMi4xX0ExX1QzLmpzCiAqIEBkZXNjcmlwdGlvbiBDcmVhdGluZyBzdHJpbmcgb2JqZWN0IHdpdGggIm5ldyBTdHJpbmcoIiIpIgogKi8KCnZhciBfX3N0ciA9IG5ldyBTdHJpbmcoIiIpOwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAodHlwZW9mIF9fc3RyICE9PSAib2JqZWN0IikgewogICRFUlJPUignIzE6IF9fc3RyID0gbmV3IFN0cmluZygiIik7IHR5cGVvZiBfX3N0ciA9PT0gIm9iamVjdCIuIEFjdHVhbDogdHlwZW9mIF9fc3RyID09PScrdHlwZW9mIF9fc3RyICk7IAp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMS41CmlmIChfX3N0ci5jb25zdHJ1Y3RvciAhPT0gU3RyaW5nKSB7CiAgJEVSUk9SKCcjMS41OiBfX3N0ciA9IG5ldyBTdHJpbmcoIiIpOyBfX3N0ci5jb25zdHJ1Y3RvciA9PT0gU3RyaW5nLiBBY3R1YWw6IF9fc3RyLmNvbnN0cnVjdG9yID09PScrX19zdHIuY29uc3RydWN0b3IgKTsgCn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMyCmlmIChfX3N0ciAhPSIiKSB7CiAgJEVSUk9SKCcjMjogX19zdHIgPSBuZXcgU3RyaW5nKCIiKTsgX19zdHIgPT0iIi4gQWN0dWFsOiBfX3N0ciA9PScrX19zdHIgKTsgCn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMzCmlmICggX19zdHIgPT09ICIiKSB7CiAgJEVSUk9SKCcjMzogX19zdHIgPSBuZXcgU3RyaW5nKCIiKTsgX19zdHIgIT09ICIiJyk7IAp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"When \"String\" is called as part of a new expression, it is a constructor: it initialises the newly created object and\nThe [[Value]] property of the newly constructed object is set to ToString(value), or to the empty string if value is not supplied","description":"Creating string object with \"new String(\"\")\"","path":"TestCases/ch15/15.5/15.5.2/S15.5.2.1_A1_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuICJTdHJpbmciIGlzIGNhbGxlZCBhcyBwYXJ0IG9mIGEgbmV3IGV4cHJlc3Npb24sIGl0IGlzIGEgY29uc3RydWN0b3I6IGl0IGluaXRpYWxpc2VzIHRoZSBuZXdseSBjcmVhdGVkIG9iamVjdCBhbmQKICogVGhlIFtbVmFsdWVdXSBwcm9wZXJ0eSBvZiB0aGUgbmV3bHkgY29uc3RydWN0ZWQgb2JqZWN0IGlzIHNldCB0byBUb1N0cmluZyh2YWx1ZSksIG9yIHRvIHRoZSBlbXB0eSBzdHJpbmcgaWYgdmFsdWUgaXMgbm90IHN1cHBsaWVkCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjIvUzE1LjUuMi4xX0ExX1Q0LmpzCiAqIEBkZXNjcmlwdGlvbiBDcmVhdGUgc3RyaW5nIG9iamVjdCB3aXRoICJuZXcgU3RyaW5nKDEuMCkiCiAqLwoKdmFyIF9fc3RyID0gbmV3IFN0cmluZygxLjApOwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAodHlwZW9mIF9fc3RyICE9PSAib2JqZWN0IikgewogICRFUlJPUignIzE6IF9fc3RyID0gbmV3IFN0cmluZygxLjApOyB0eXBlb2YgX19zdHIgPT09ICJvYmplY3QiLiBBY3R1YWw6IHR5cGVvZiBfX3N0ciA9PT0nK3R5cGVvZiBfX3N0ciApOyAKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEuNQppZiAoX19zdHIuY29uc3RydWN0b3IgIT09IFN0cmluZykgewogICRFUlJPUignIzEuNTogX19zdHIgPSBuZXcgU3RyaW5nKDEuMCk7IF9fc3RyLmNvbnN0cnVjdG9yID09PSBTdHJpbmcuIEFjdHVhbDogX19zdHIuY29uc3RydWN0b3IgPT09JytfX3N0ci5jb25zdHJ1Y3RvciApOyAKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzIKaWYgKF9fc3RyICE9MS4wKyIiKSB7CiAgJEVSUk9SKCcjMjogX19zdHIgPSBuZXcgU3RyaW5nKDEuMCk7IF9fc3RyID09MS4wKyIiLiBBY3R1YWw6IF9fc3RyID09JytfX3N0ciApOyAKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"When \"String\" is called as part of a new expression, it is a constructor: it initialises the newly created object and\nThe [[Value]] property of the newly constructed object is set to ToString(value), or to the empty string if value is not supplied","description":"Create string object with \"new String(1.0)\"","path":"TestCases/ch15/15.5/15.5.2/S15.5.2.1_A1_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuICJTdHJpbmciIGlzIGNhbGxlZCBhcyBwYXJ0IG9mIGEgbmV3IGV4cHJlc3Npb24sIGl0IGlzIGEgY29uc3RydWN0b3I6IGl0IGluaXRpYWxpc2VzIHRoZSBuZXdseSBjcmVhdGVkIG9iamVjdCBhbmQKICogVGhlIFtbVmFsdWVdXSBwcm9wZXJ0eSBvZiB0aGUgbmV3bHkgY29uc3RydWN0ZWQgb2JqZWN0IGlzIHNldCB0byBUb1N0cmluZyh2YWx1ZSksIG9yIHRvIHRoZSBlbXB0eSBzdHJpbmcgaWYgdmFsdWUgaXMgbm90IHN1cHBsaWVkCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjIvUzE1LjUuMi4xX0ExX1Q1LmpzCiAqIEBkZXNjcmlwdGlvbiBDcmVhdGluZyBzdHJpbmcgb2JqZWN0IHdpdGggIm5ldyBTdHJpbmcoTmFOKSIKICovCgp2YXIgX19zdHIgPSBuZXcgU3RyaW5nKE5hTik7CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmICh0eXBlb2YgX19zdHIgIT09ICJvYmplY3QiKSB7CiAgJEVSUk9SKCcjMTogX19zdHIgPSBuZXcgU3RyaW5nKE5hTik7IHR5cGVvZiBfX3N0ciA9PT0gIm9iamVjdCIuIEFjdHVhbDogdHlwZW9mIF9fc3RyID09PScrdHlwZW9mIF9fc3RyICk7IAp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMS41CmlmIChfX3N0ci5jb25zdHJ1Y3RvciAhPT0gU3RyaW5nKSB7CiAgJEVSUk9SKCcjMS41OiBfX3N0ciA9IG5ldyBTdHJpbmcoTmFOKTsgX19zdHIuY29uc3RydWN0b3IgPT09IFN0cmluZy4gQWN0dWFsOiBfX3N0ci5jb25zdHJ1Y3RvciA9PT0nK19fc3RyLmNvbnN0cnVjdG9yICk7IAp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMgppZiAoX19zdHIgIT0oMS8icyIpKyIiKSB7CiAgJEVSUk9SKCcjMjogX19zdHIgPSBuZXcgU3RyaW5nKE5hTik7IF9fc3RyID09KDEvInMiKSsiIi4gQWN0dWFsOiBfX3N0ciA9PScrX19zdHIgKTsgCn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"When \"String\" is called as part of a new expression, it is a constructor: it initialises the newly created object and\nThe [[Value]] property of the newly constructed object is set to ToString(value), or to the empty string if value is not supplied","description":"Creating string object with \"new String(NaN)\"","path":"TestCases/ch15/15.5/15.5.2/S15.5.2.1_A1_T5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuICJTdHJpbmciIGlzIGNhbGxlZCBhcyBwYXJ0IG9mIGEgbmV3IGV4cHJlc3Npb24sIGl0IGlzIGEgY29uc3RydWN0b3I6IGl0IGluaXRpYWxpc2VzIHRoZSBuZXdseSBjcmVhdGVkIG9iamVjdCBhbmQKICogVGhlIFtbVmFsdWVdXSBwcm9wZXJ0eSBvZiB0aGUgbmV3bHkgY29uc3RydWN0ZWQgb2JqZWN0IGlzIHNldCB0byBUb1N0cmluZyh2YWx1ZSksIG9yIHRvIHRoZSBlbXB0eSBzdHJpbmcgaWYgdmFsdWUgaXMgbm90IHN1cHBsaWVkCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjIvUzE1LjUuMi4xX0ExX1Q2LmpzCiAqIEBkZXNjcmlwdGlvbiBDcmVhdGluZyBzdHJpbmcgb2JqZWN0IHdpdGggIm5ldyBTdHJpbmcoZmFsc2UpIgogKi8KCnZhciBfX3N0ciA9IG5ldyBTdHJpbmcoZmFsc2UpOwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAodHlwZW9mIF9fc3RyICE9PSAib2JqZWN0IikgewogICRFUlJPUignIzE6IF9fc3RyID0gbmV3IFN0cmluZyhmYWxzZSk7IHR5cGVvZiBfX3N0ciA9PT0gIm9iamVjdCIuIEFjdHVhbDogdHlwZW9mIF9fc3RyID09PScrdHlwZW9mIF9fc3RyICk7IAp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMS41CmlmIChfX3N0ci5jb25zdHJ1Y3RvciAhPT0gU3RyaW5nKSB7CiAgJEVSUk9SKCcjMS41OiBfX3N0ciA9IG5ldyBTdHJpbmcoZmFsc2UpOyBfX3N0ci5jb25zdHJ1Y3RvciA9PT0gU3RyaW5nLiBBY3R1YWw6IF9fc3RyLmNvbnN0cnVjdG9yID09PScrX19zdHIuY29uc3RydWN0b3IgKTsgCn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMyCmlmIChfX3N0ciAhPWZhbHNlKyIiKSB7CiAgJEVSUk9SKCcjMjogX19zdHIgPSBuZXcgU3RyaW5nKGZhbHNlKTsgX19zdHIgPT1mYWxzZSsiIi4gQWN0dWFsOiBfX3N0ciA9PScrX19zdHIgKTsgCn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"When \"String\" is called as part of a new expression, it is a constructor: it initialises the newly created object and\nThe [[Value]] property of the newly constructed object is set to ToString(value), or to the empty string if value is not supplied","description":"Creating string object with \"new String(false)\"","path":"TestCases/ch15/15.5/15.5.2/S15.5.2.1_A1_T6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuICJTdHJpbmciIGlzIGNhbGxlZCBhcyBwYXJ0IG9mIGEgbmV3IGV4cHJlc3Npb24sIGl0IGlzIGEgY29uc3RydWN0b3I6IGl0IGluaXRpYWxpc2VzIHRoZSBuZXdseSBjcmVhdGVkIG9iamVjdCBhbmQKICogVGhlIFtbVmFsdWVdXSBwcm9wZXJ0eSBvZiB0aGUgbmV3bHkgY29uc3RydWN0ZWQgb2JqZWN0IGlzIHNldCB0byBUb1N0cmluZyh2YWx1ZSksIG9yIHRvIHRoZSBlbXB0eSBzdHJpbmcgaWYgdmFsdWUgaXMgbm90IHN1cHBsaWVkCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjIvUzE1LjUuMi4xX0ExX1Q3LmpzCiAqIEBkZXNjcmlwdGlvbiBDcmVhdGluZyBzdHJpbmcgb2JqZWN0IHdpdGggIm5ldyBTdHJpbmcoe30pIgogKi8KCnZhciBfX3N0b3JlZF9fT2JqZWN0X19wcm90b3R5cGVfX3RvU3RyaW5nID0gT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZzsKCk9iamVjdC5wcm90b3R5cGUudG9TdHJpbmc9ZnVuY3Rpb24oKXtyZXR1cm4gIlNISUZURUQifTsKCnZhciBfX3N0ciA9IG5ldyBTdHJpbmcoe30pOwoKT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZyA9IF9fc3RvcmVkX19PYmplY3RfX3Byb3RvdHlwZV9fdG9TdHJpbmc7CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmICh0eXBlb2YgX19zdHIgIT09ICJvYmplY3QiKSB7CiAgJEVSUk9SKCcjMTogX19zdHIgPSBuZXcgU3RyaW5nKHt9KTsgdHlwZW9mIF9fc3RyID09PSAib2JqZWN0Ii4gQWN0dWFsOiB0eXBlb2YgX19zdHIgPT09Jyt0eXBlb2YgX19zdHIgKTsgCn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxLjUKaWYgKF9fc3RyLmNvbnN0cnVjdG9yICE9PSBTdHJpbmcpIHsKICAkRVJST1IoJyMxLjU6IF9fc3RyID0gbmV3IFN0cmluZyh7fSk7IF9fc3RyLmNvbnN0cnVjdG9yID09PSBTdHJpbmcuIEFjdHVhbDogX19zdHIuY29uc3RydWN0b3IgPT09JytfX3N0ci5jb25zdHJ1Y3RvciApOyAKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzIKaWYgKF9fc3RyICE9IlNISUZURUQiKSB7CiAgJEVSUk9SKCcjMjogT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZz1mdW5jdGlvbigpe3JldHVybiAiU0hJRlRFRCJ9OyBfX3N0ciA9IG5ldyBTdHJpbmcoe30pOyBfX3N0ciA9PSJTSElGVEVEIi4gQWN0dWFsOiBfX3N0ciA9PScrX19zdHIgKTsgCn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"When \"String\" is called as part of a new expression, it is a constructor: it initialises the newly created object and\nThe [[Value]] property of the newly constructed object is set to ToString(value), or to the empty string if value is not supplied","description":"Creating string object with \"new String({})\"","path":"TestCases/ch15/15.5/15.5.2/S15.5.2.1_A1_T7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuICJTdHJpbmciIGlzIGNhbGxlZCBhcyBwYXJ0IG9mIGEgbmV3IGV4cHJlc3Npb24sIGl0IGlzIGEgY29uc3RydWN0b3I6IGl0IGluaXRpYWxpc2VzIHRoZSBuZXdseSBjcmVhdGVkIG9iamVjdCBhbmQKICogVGhlIFtbVmFsdWVdXSBwcm9wZXJ0eSBvZiB0aGUgbmV3bHkgY29uc3RydWN0ZWQgb2JqZWN0IGlzIHNldCB0byBUb1N0cmluZyh2YWx1ZSksIG9yIHRvIHRoZSBlbXB0eSBzdHJpbmcgaWYgdmFsdWUgaXMgbm90IHN1cHBsaWVkCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjIvUzE1LjUuMi4xX0ExX1Q4LmpzCiAqIEBkZXNjcmlwdGlvbiBDcmVhdGluZyBzdHJpbmcgb2JqZWN0IHdpdGggIm5ldyBTdHJpbmcoZnVuY3Rpb24oKXt9KSIKICovCgp2YXIgX19zdG9yZWRfX0Z1bmN0aW9uX19wcm90b3R5cGVfX3RvU3RyaW5nID0gRnVuY3Rpb24ucHJvdG90eXBlLnRvU3RyaW5nOwoKRnVuY3Rpb24ucHJvdG90eXBlLnRvU3RyaW5nPWZ1bmN0aW9uKCl7cmV0dXJuICJTSElGVEVEIn07Cgp2YXIgX19zdHIgPSBuZXcgU3RyaW5nKGZ1bmN0aW9uKCl7fSk7CgpGdW5jdGlvbi5wcm90b3R5cGUudG9TdHJpbmcgPSBfX3N0b3JlZF9fRnVuY3Rpb25fX3Byb3RvdHlwZV9fdG9TdHJpbmc7CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmICh0eXBlb2YgX19zdHIgIT09ICJvYmplY3QiKSB7CiAgJEVSUk9SKCcjMTogX19zdHIgPSBuZXcgU3RyaW5nKGZ1bmN0aW9uKCl7fSk7IHR5cGVvZiBfX3N0ciA9PT0gIm9iamVjdCIuIEFjdHVhbDogdHlwZW9mIF9fc3RyID09PScrdHlwZW9mIF9fc3RyICk7IAp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMS41CmlmIChfX3N0ci5jb25zdHJ1Y3RvciAhPT0gU3RyaW5nKSB7CiAgJEVSUk9SKCcjMS41OiBfX3N0ciA9IG5ldyBTdHJpbmcoZnVuY3Rpb24oKXt9KTsgX19zdHIuY29uc3RydWN0b3IgPT09IFN0cmluZy4gQWN0dWFsOiBfX3N0ci5jb25zdHJ1Y3RvciA9PT0nK19fc3RyLmNvbnN0cnVjdG9yICk7IAp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMgppZiAoX19zdHIgIT0iU0hJRlRFRCIpIHsKICAkRVJST1IoJyMyOiBGdW5jdGlvbi5wcm90b3R5cGUudG9TdHJpbmc9ZnVuY3Rpb24oKXtyZXR1cm4gIlNISUZURUQifTsgX19zdHIgPSBuZXcgU3RyaW5nKGZ1bmN0aW9uKCl7fSk7IF9fc3RyID09IlNISUZURUQiLiBBY3R1YWw6IF9fc3RyID09JytfX3N0ciApOyAKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"When \"String\" is called as part of a new expression, it is a constructor: it initialises the newly created object and\nThe [[Value]] property of the newly constructed object is set to ToString(value), or to the empty string if value is not supplied","description":"Creating string object with \"new String(function(){})\"","path":"TestCases/ch15/15.5/15.5.2/S15.5.2.1_A1_T8.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuICJTdHJpbmciIGlzIGNhbGxlZCBhcyBwYXJ0IG9mIGEgbmV3IGV4cHJlc3Npb24sIGl0IGlzIGEgY29uc3RydWN0b3I6IGl0IGluaXRpYWxpc2VzIHRoZSBuZXdseSBjcmVhdGVkIG9iamVjdCBhbmQKICogVGhlIFtbVmFsdWVdXSBwcm9wZXJ0eSBvZiB0aGUgbmV3bHkgY29uc3RydWN0ZWQgb2JqZWN0IGlzIHNldCB0byBUb1N0cmluZyh2YWx1ZSksIG9yIHRvIHRoZSBlbXB0eSBzdHJpbmcgaWYgdmFsdWUgaXMgbm90IHN1cHBsaWVkCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjIvUzE1LjUuMi4xX0ExX1Q5LmpzCiAqIEBkZXNjcmlwdGlvbiBDcmVhdGluZyBzdHJpbmcgb2JqZWN0IHdpdGggIm5ldyBTdHJpbmcoZnVuY3Rpb24oKXtyZXR1cm4gWzEsMiwzXX0oKSkiCiAqLwoKdmFyIF9fc3RyID0gbmV3IFN0cmluZyhmdW5jdGlvbigpe3JldHVybiBbMSwyLDNdfSgpKTsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKHR5cGVvZiBfX3N0ciAhPT0gIm9iamVjdCIpIHsKICAkRVJST1IoJyMxOiBfX3N0ciA9IG5ldyBTdHJpbmcoZnVuY3Rpb24oKXtyZXR1cm4gWzEsMiwzXX0oKSk7IHR5cGVvZiBfX3N0ciA9PT0gIm9iamVjdCIuIEFjdHVhbDogdHlwZW9mIF9fc3RyID09PScrdHlwZW9mIF9fc3RyICk7IAp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMS41CmlmIChfX3N0ci5jb25zdHJ1Y3RvciAhPT0gU3RyaW5nKSB7CiAgJEVSUk9SKCcjMS41OiBfX3N0ciA9IG5ldyBTdHJpbmcoZnVuY3Rpb24oKXtyZXR1cm4gWzEsMiwzXX0oKSk7IF9fc3RyLmNvbnN0cnVjdG9yID09PSBTdHJpbmcuIEFjdHVhbDogX19zdHIuY29uc3RydWN0b3IgPT09JytfX3N0ci5jb25zdHJ1Y3RvciApOyAKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzIKaWYgKF9fc3RyICE9IjEsMiwzIikgewogICRFUlJPUignIzI6IF9fc3RyID0gbmV3IFN0cmluZyhmdW5jdGlvbigpe3JldHVybiBbMSwyLDNdfSgpKTsgX19zdHIgPT0iMSwyLDMiLiBBY3R1YWw6IF9fc3RyID09JytfX3N0ciApOyAKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"When \"String\" is called as part of a new expression, it is a constructor: it initialises the newly created object and\nThe [[Value]] property of the newly constructed object is set to ToString(value), or to the empty string if value is not supplied","description":"Creating string object with \"new String(function(){return [1,2,3]}())\"","path":"TestCases/ch15/15.5/15.5.2/S15.5.2.1_A1_T9.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgW1tQcm90b3R5cGVdXSBwcm9wZXJ0eSBvZiB0aGUgbmV3bHkgY29uc3RydWN0ZWQgb2JqZWN0IGlzIHNldCB0byB0aGUgb3JpZ2luYWwgU3RyaW5nIHByb3RvdHlwZSBvYmplY3QKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuMi9TMTUuNS4yLjFfQTJfVDEuanMKICogQGRlc2NyaXB0aW9uIENyZWF0aW5nIHN0cmluZyBvYmplY3Qgd2l0aCAibmV3IFN0cmluZyhzdHJpbmcpIiB0byBjaGVjayBwcm90b3R5cGUKICovCgp2YXIgX19zdHJfX29iaiA9IG5ldyBTdHJpbmcoImFiYmEiKTsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKCEoU3RyaW5nLnByb3RvdHlwZS5pc1Byb3RvdHlwZU9mKF9fc3RyX19vYmopKSkgewogICRFUlJPUignIzE6IHZhciBfX3N0cl9fb2JqID0gbmV3IFN0cmluZygiYWJiYSIpOyBTdHJpbmcucHJvdG90eXBlLmlzUHJvdG90eXBlT2YoX19zdHJfX29iaik9PT10cnVlJyk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgoKCg==","commentary":"The [[Prototype]] property of the newly constructed object is set to the original String prototype object","description":"Creating string object with \"new String(string)\" to check prototype","path":"TestCases/ch15/15.5/15.5.2/S15.5.2.1_A2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgW1tQcm90b3R5cGVdXSBwcm9wZXJ0eSBvZiB0aGUgbmV3bHkgY29uc3RydWN0ZWQgb2JqZWN0IGlzIHNldCB0byB0aGUgb3JpZ2luYWwgU3RyaW5nIHByb3RvdHlwZSBvYmplY3QKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuMi9TMTUuNS4yLjFfQTJfVDIuanMKICogQGRlc2NyaXB0aW9uIENyZWF0aW5nIHN0cmluZyBvYmplY3Qgd2l0aCAibmV3IFN0cmluZyhzdHJpbmcpIiBhZGRpbmcgY3VzdG9tIHByb3BlcnR5CiAqLwoKdmFyIF9fc3RyX19vYmogPSBuZXcgU3RyaW5nKCJzaG9ja2luZyBibHVlIik7CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmIChfX3N0cl9fb2JqWyJfX2N1c3RvbV9fcHJvcCJdIT09dW5kZWZpbmVkKSB7CiAgJEVSUk9SKCcjMTogdmFyIF9fc3RyX19vYmogPSBuZXcgU3RyaW5nKCJzaG9ja2luZyBibHVlIik7IF9fc3RyX19vYmpbIl9fY3VzdG9tX19wcm9wIl09PT11bmRlZmluZWQuIEFjdHVhbDogX19zdHJfX29ialsiX19jdXN0b21fX3Byb3AiXT09PScrX19zdHJfX29ialsiX19jdXN0b21fX3Byb3AiXSk7IAp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKU3RyaW5nLnByb3RvdHlwZS5fX2N1c3RvbV9fcHJvcCA9ICJib3IiOwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMgppZiAoX19zdHJfX29ialsiX19jdXN0b21fX3Byb3AiXSE9PSJib3IiKSB7CiAgJEVSUk9SKCcjMjogdmFyIF9fc3RyX19vYmogPSBuZXcgU3RyaW5nKCJzaG9ja2luZyBibHVlIik7IFN0cmluZy5wcm90b3R5cGUuX19jdXN0b21fX3Byb3AgPSAiYm9yIjsgX19zdHJfX29ialsiX19jdXN0b21fX3Byb3AiXT09PSJib3IiLiBBY3R1YWw6IF9fc3RyX19vYmpbIl9fY3VzdG9tX19wcm9wIl09PT0nK19fc3RyX19vYmpbIl9fY3VzdG9tX19wcm9wIl0pOyAKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCgoK","commentary":"The [[Prototype]] property of the newly constructed object is set to the original String prototype object","description":"Creating string object with \"new String(string)\" adding custom property","path":"TestCases/ch15/15.5/15.5.2/S15.5.2.1_A2_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgW1tDbGFzc11dIHByb3BlcnR5IG9mIHRoZSBuZXdseSBjb25zdHJ1Y3RlZCBvYmplY3QgaXMgc2V0IHRvICJTdHJpbmciCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjIvUzE1LjUuMi4xX0EzLmpzCiAqIEBkZXNjcmlwdGlvbiBDcmVhdGluZyBzdHJpbmcgb2JqZWN0IHdpdGggIm5ldyBTdHJpbmcoc3RyaW5nKSIgYW5kIGNoYW5naW5nIHRvU3RyaW5nIHByb3BlcnR5IHRvIE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcKICovCgp2YXIgX19zdHJfX29iaiA9IG5ldyBTdHJpbmcoInNlYW1haWQiKTsKCl9fc3RyX19vYmoudG9TdHJpbmcgPSBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nOwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAoX19zdHJfX29iai50b1N0cmluZygpICE9PSAiW29iamVjdCAiKyJTdHJpbmciKyJdIikgewogICRFUlJPUignIzE6IHZhciBfX3N0cl9fb2JqID0gbmV3IFN0cmluZygic2VhbWFpZCIpOyBfX3N0cl9fb2JqLnRvU3RyaW5nID0gT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZzsgX19zdHJfX29iai50b1N0cmluZygpID09PSAiW29iamVjdCBTdHJpbmddIi4gQWN0dWFsOiBfX3N0cl9fb2JqLnRvU3RyaW5nKCkgPT09JytfX3N0cl9fb2JqLnRvU3RyaW5nKCkgKTsgCn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgoK","commentary":"The [[Class]] property of the newly constructed object is set to \"String\"","description":"Creating string object with \"new String(string)\" and changing toString property to Object.prototype.toString","path":"TestCases/ch15/15.5/15.5.2/S15.5.2.1_A3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgU3RyaW5nIGhhcyBwcm9wZXJ0eSBwcm90b3R5cGUKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuMy9TMTUuNS4zLjFfQTEuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIFN0cmluZy5oYXNPd25Qcm9wZXJ0eSgncHJvdG90eXBlJykKICovCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmICghKFN0cmluZy5oYXNPd25Qcm9wZXJ0eSgncHJvdG90eXBlJykpKSB7CiAgJEVSUk9SKCcjMTogU3RyaW5nLmhhc093blByb3BlcnR5KFwncHJvdG90eXBlXCcpIHJldHVybiB0cnVlLiBBY3R1YWw6ICcrU3RyaW5nLmhhc093blByb3BlcnR5KCdwcm90b3R5cGUnKSk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgoK","commentary":"The String has property prototype","description":"Checking String.hasOwnProperty('prototype')","path":"TestCases/ch15/15.5/15.5.3/S15.5.3.1_A1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgU3RyaW5nLnByb3RvdHlwZSBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZSBEb250RW51bQogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS4zL1MxNS41LjMuMV9BMi5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgaWYgZW51bWVyYXRpbmcgdGhlIFN0cmluZy5wcm90b3R5cGUgcHJvcGVydHkgZmFpbHMKICovCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMwCmlmICghKFN0cmluZy5oYXNPd25Qcm9wZXJ0eSgncHJvdG90eXBlJykpKSB7CiAgJEZBSUwoJyMwOiBTdHJpbmcuaGFzT3duUHJvcGVydHkoXCdwcm90b3R5cGVcJykgcmV0dXJuIHRydWUuIEFjdHVhbDogJytTdHJpbmcuaGFzT3duUHJvcGVydHkoJ3Byb3RvdHlwZScpKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy8gQ0hFQ0sjMQppZiAoU3RyaW5nLnByb3BlcnR5SXNFbnVtZXJhYmxlKCdwcm90b3R5cGUnKSkgewogICRFUlJPUignIzE6IFN0cmluZy5wcm9wZXJ0eUlzRW51bWVyYWJsZShcJ3Byb3RvdHlwZVwnKSByZXR1cm4gZmFsc2UuIEFjdHVhbDogJytTdHJpbmcucHJvcGVydHlJc0VudW1lcmFibGUoJ3Byb3RvdHlwZScpKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy8gQ0hFQ0sjMgp2YXIgY291bnQ9MDsKCmZvciAocCBpbiBTdHJpbmcpewogIGlmIChwPT09InByb3RvdHlwZSIpIGNvdW50Kys7Cn0KCmlmIChjb3VudCAhPT0gMCkgewogICRFUlJPUignIzI6IGNvdW50PTA7IGZvciAocCBpbiBTdHJpbmcpeyBpZiAocD09PSJwcm90b3R5cGUiKSBjb3VudCsrO307IGNvdW50ID09PSAwLiBBY3R1YWw6IGNvdW50ID09PScrY291bnQgKTsgCn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"The String.prototype property has the attribute DontEnum","description":"Checking if enumerating the String.prototype property fails","path":"TestCases/ch15/15.5/15.5.3/S15.5.3.1_A2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgU3RyaW5nLnByb3RvdHlwZSBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZSBEb250RGVsZXRlCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjMvUzE1LjUuMy4xX0EzLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiBkZWxldGluZyB0aGUgU3RyaW5nLnByb3RvdHlwZSBwcm9wZXJ0eSBmYWlscwogKi8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKCEoU3RyaW5nLmhhc093blByb3BlcnR5KCdwcm90b3R5cGUnKSkpIHsKICAkRkFJTCgnIzE6IFN0cmluZy5oYXNPd25Qcm9wZXJ0eShcJ3Byb3RvdHlwZVwnKSByZXR1cm4gdHJ1ZS4gQWN0dWFsOiAnK1N0cmluZy5oYXNPd25Qcm9wZXJ0eSgncHJvdG90eXBlJykpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKZGVsZXRlIFN0cmluZy5wcm90b3R5cGU7CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMyCmlmICghKFN0cmluZy5oYXNPd25Qcm9wZXJ0eSgncHJvdG90eXBlJykpKSB7CiAgJEVSUk9SKCcjMjogZGVsZXRlIFN0cmluZy5wcm90b3R5cGU7IFN0cmluZy5oYXNPd25Qcm9wZXJ0eShcJ3Byb3RvdHlwZVwnKSByZXR1cm4gdHJ1ZS4gQWN0dWFsOiAnK1N0cmluZy5oYXNPd25Qcm9wZXJ0eSgncHJvdG90eXBlJykpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"The String.prototype property has the attribute DontDelete","description":"Checking if deleting the String.prototype property fails","path":"TestCases/ch15/15.5/15.5.3/S15.5.3.1_A3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgU3RyaW5nLnByb3RvdHlwZSBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZSBSZWFkT25seQogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS4zL1MxNS41LjMuMV9BNC5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgaWYgdmFyeWluZyB0aGUgU3RyaW5nLnByb3RvdHlwZSBwcm9wZXJ0eSBmYWlscwogKi8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKCEoU3RyaW5nLmhhc093blByb3BlcnR5KCdwcm90b3R5cGUnKSkpIHsKICAkRkFJTCgnIzE6IFN0cmluZy5oYXNPd25Qcm9wZXJ0eShcJ3Byb3RvdHlwZVwnKSByZXR1cm4gdHJ1ZS4gQWN0dWFsOiAnK1N0cmluZy5oYXNPd25Qcm9wZXJ0eSgncHJvdG90eXBlJykpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKdmFyIF9fb2JqID0gU3RyaW5nLnByb3RvdHlwZTsKClN0cmluZy5wcm90b3R5cGUgPSBmdW5jdGlvbigpe3JldHVybiAic2hpZnRlZCI7fTsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzIKaWYgKFN0cmluZy5wcm90b3R5cGUgIT09IF9fb2JqKSB7CiAgJEVSUk9SKCcjMjogX19vYmogPSBTdHJpbmcucHJvdG90eXBlOyBTdHJpbmcucHJvdG90eXBlID0gZnVuY3Rpb24oKXtyZXR1cm4gInNoaWZ0ZWQiO307IFN0cmluZy5wcm90b3R5cGUgPT09IF9fb2JqLiBBY3R1YWw6IFN0cmluZy5wcm90b3R5cGUgPT09JytTdHJpbmcucHJvdG90eXBlICk7IAp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"The String.prototype property has the attribute ReadOnly","description":"Checking if varying the String.prototype property fails","path":"TestCases/ch15/15.5/15.5.3/S15.5.3.1_A4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgbGVuZ3RoIHByb3BlcnR5IG9mIHRoZSBmcm9tQ2hhckNvZGUgZnVuY3Rpb24gaXMgMQogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS4zL1MxNS41LjMuMl9BMS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgU3RyaW5nLmZyb21DaGFyQ29kZS5sZW5ndGgKICovCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmICh0eXBlb2YgU3RyaW5nLmZyb21DaGFyQ29kZSAhPT0gImZ1bmN0aW9uIikgewogICRFUlJPUignIzE6IHR5cGVvZiBTdHJpbmcuZnJvbUNoYXJDb2RlID09PSAiZnVuY3Rpb24iLiBBY3R1YWw6IHR5cGVvZiBTdHJpbmcuZnJvbUNoYXJDb2RlID09PScrdHlwZW9mIFN0cmluZy5mcm9tQ2hhckNvZGUgKTsgCn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMyCmlmICghKFN0cmluZy5oYXNPd25Qcm9wZXJ0eSgiZnJvbUNoYXJDb2RlIikpKSB7CiAgJEVSUk9SKCcjMjogU3RyaW5nLmhhc093blByb3BlcnR5KCJmcm9tQ2hhckNvZGUiKSByZXR1cm4gdHJ1ZS4gQWN0dWFsOiAnK1N0cmluZy5oYXNPd25Qcm9wZXJ0eSgiZnJvbUNoYXJDb2RlIikpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMwppZiAoU3RyaW5nLmZyb21DaGFyQ29kZS5sZW5ndGggIT09IDEpIHsKICAkRVJST1IoJyMzOiBTdHJpbmcuZnJvbUNoYXJDb2RlLmxlbmd0aCA9PT0gMS4gQWN0dWFsOiBTdHJpbmcuZnJvbUNoYXJDb2RlLmxlbmd0aCA9PT0nK1N0cmluZy5mcm9tQ2hhckNvZGUubGVuZ3RoICk7IAp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKCg==","commentary":"The length property of the fromCharCode function is 1","description":"Checking String.fromCharCode.length","path":"TestCases/ch15/15.5/15.5.3/S15.5.3.2_A1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcuZnJvbUNoYXJDb2RlICgpIHJldHVybnMgZW1wdHkgc3RyaW5nCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjMvUzE1LjUuMy4yX0EyLmpzCiAqIEBkZXNjcmlwdGlvbiBDYWxsIFN0cmluZy5mcm9tQ2hhckNvZGUoKQogKi8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKFN0cmluZy5mcm9tQ2hhckNvZGUoKSAhPT0gIiIpIHsKICAkRVJST1IoJyMxOiBTdHJpbmcuZnJvbUNoYXJDb2RlICgpIHJldHVybnMgZW1wdHkgc3RyaW5nLiBBY3R1YWw6ICcrU3RyaW5nLmZyb21DaGFyQ29kZSgpKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCgo=","commentary":"String.fromCharCode () returns empty string","description":"Call String.fromCharCode()","path":"TestCases/ch15/15.5/15.5.3/S15.5.3.2_A2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcuZnJvbUNoYXJDb2RlICggWyBjaGFyMCBbICwgY2hhcjEgWyAsIC4uLiBdIF0gXSApCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjMvUzE1LjUuMy4yX0EzX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBDYWxsIFN0cmluZy5mcm9tQ2hhckNvZGUoNjUsNjYsNjYsNjUpCiAqLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAoU3RyaW5nLmZyb21DaGFyQ29kZSg2NSw2Niw2Niw2NSkgIT09ICJBQkJBIikgewogICRFUlJPUignIzE6IFN0cmluZy5mcm9tQ2hhckNvZGUoNjUsNjYsNjYsNjUpID09PSAiQUJCQSIuIEFjdHVhbDogU3RyaW5nLmZyb21DaGFyQ29kZSg2NSw2Niw2Niw2NSkgPT09JytTdHJpbmcuZnJvbUNoYXJDb2RlKDY1LDY2LDY2LDY1KSApOyAKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCgo=","commentary":"String.fromCharCode ( [ char0 [ , char1 [ , ... ] ] ] )","description":"Call String.fromCharCode(65,66,66,65)","path":"TestCases/ch15/15.5/15.5.3/S15.5.3.2_A3_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcuZnJvbUNoYXJDb2RlICggWyBjaGFyMCBbICwgY2hhcjEgWyAsIC4uLiBdIF0gXSApCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjMvUzE1LjUuMy4yX0EzX1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBDcmVhdGUgZnVuY3Rpb24gdmFyaWFibGUsIHRoYXQgZXF1YWwgU3RyaW5nLmZyb21DaGFyQ29kZSwgZGVsZXRlIG9yaWdpbmFsIFN0cmluZy5mcm9tQ2hhckNvZGUgYW5kIHVzZSBjcmVhdGVkIHZhcmlhYmxlCiAqLwoKdmFyIF9fZmNjX19mdW5jID0gU3RyaW5nLmZyb21DaGFyQ29kZTsKCmRlbGV0ZSBTdHJpbmcuZnJvbUNoYXJDb2RlOwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAoX19mY2NfX2Z1bmMoNjUsNjYsNjYsNjUpICE9PSAiQUJCQSIpIHsKICAkRVJST1IoJyMxOiBfX2ZjY19fZnVuYyA9IFN0cmluZy5mcm9tQ2hhckNvZGU7IGRlbGV0ZSBTdHJpbmcuZnJvbUNoYXJDb2RlOyBfX2ZjY19fZnVuYyg2NSw2Niw2Niw2NSkgPT09ICJBQkJBIi4gQWN0dWFsOiBfX2ZjY19fZnVuYyg2NSw2Niw2Niw2NSkgPT09JytfX2ZjY19fZnVuYyg2NSw2Niw2Niw2NSkgKTsgCn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgoK","commentary":"String.fromCharCode ( [ char0 [ , char1 [ , ... ] ] ] )","description":"Create function variable, that equal String.fromCharCode, delete original String.fromCharCode and use created variable","path":"TestCases/ch15/15.5/15.5.3/S15.5.3.2_A3_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcuZnJvbUNoYXJDb2RlIGhhcyBub3QgW1tjb25zdHJ1Y3RdXSBtZXRob2QKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuMy9TMTUuNS4zLjJfQTQuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIGNyZWF0aW5nICJuZXcgU3RyaW5nLmZyb21DaGFyQ29kZSIgZmFpbHMKICovCgp2YXIgX19mY2NfX2Z1bmMgPSBTdHJpbmcuZnJvbUNoYXJDb2RlOwoKZGVsZXRlIFN0cmluZy5mcm9tQ2hhckNvZGU7CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCnRyeSB7CiAgdmFyIF9fb2JqID0gbmV3IF9fZmNjX19mdW5jKDY1LDY2LDY2LDY1KTsKICAkRkFJTCgnIzE6IF9fZmNjX19mdW5jID0gU3RyaW5nLmZyb21DaGFyQ29kZTsgdmFyIF9fb2JqID0gbmV3IF9fZmNjX19mdW5jKDY1LDY2LDY2LDY1KSBsZWFkIHRvIHRocm93aW5nIGV4Y2VwdGlvbicpOw0KfSBjYXRjaCAoZSkgew0KICAgIGlmIChlIGluc3RhbmNlb2YgVGVzdDI2MkVycm9yKSB0aHJvdyBlOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"String.fromCharCode has not [[construct]] method","description":"Checking if creating \"new String.fromCharCode\" fails","path":"TestCases/ch15/15.5/15.5.3/S15.5.3.2_A4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcgaGFzIGxlbmd0aCBwcm9wZXJ0eSB3aG9zZSB2YWx1ZSBpcyAxCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjMvUzE1LjUuM19BMS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgU3RyaW5nLmxlbmd0aAogKi8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovLyBDSEVDSyMKaWYgKFN0cmluZy5sZW5ndGggIT09IDEpIHsKICAkRVJST1IoJ1N0cmluZyBoYXMgbGVuZ3RoIHByb3BlcnR5IHdob3NlIHZhbHVlIGlzIDEuIEFjdHVhbDogU3RyaW5nLmxlbmd0aD09PScrU3RyaW5nLmxlbmd0aCk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"String has length property whose value is 1","description":"Checking String.length","path":"TestCases/ch15/15.5/15.5.3/S15.5.3_A1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgdmFsdWUgb2YgdGhlIGludGVybmFsIFtbUHJvdG90eXBlXV0gcHJvcGVydHkgb2YgdGhlIFN0cmluZyBjb25zdHJ1Y3RvciBpcyB0aGUgRnVuY3Rpb24gcHJvdG90eXBlIG9iamVjdAogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS4zL1MxNS41LjNfQTJfVDEuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIEZ1bmN0aW9uLnByb3RvdHlwZS5pc1Byb3RvdHlwZU9mKFN0cmluZykKICovCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy8gQ0hFQ0sjCmlmICghKEZ1bmN0aW9uLnByb3RvdHlwZS5pc1Byb3RvdHlwZU9mKFN0cmluZykpKSB7CiAgJEVSUk9SKCcjMTogRnVuY3Rpb24ucHJvdG90eXBlLmlzUHJvdG90eXBlT2YoU3RyaW5nKSByZXR1cm4gdHJ1ZS4gQWN0dWFsOiAnK0Z1bmN0aW9uLnByb3RvdHlwZS5pc1Byb3RvdHlwZU9mKFN0cmluZykpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"The value of the internal [[Prototype]] property of the String constructor is the Function prototype object","description":"Checking Function.prototype.isPrototypeOf(String)","path":"TestCases/ch15/15.5/15.5.3/S15.5.3_A2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgdmFsdWUgb2YgdGhlIGludGVybmFsIFtbUHJvdG90eXBlXV0gcHJvcGVydHkgb2YgdGhlIFN0cmluZyBjb25zdHJ1Y3RvciBpcyB0aGUgRnVuY3Rpb24gcHJvdG90eXBlIG9iamVjdAogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS4zL1MxNS41LjNfQTJfVDIuanMKICogQGRlc2NyaXB0aW9uIEFkZCBjdXN0b20gcHJvcGVydHkgdG8gRnVuY3Rpb24ucHJvdG90eXBlIGFuZCBjaGVjayBpdCBhdCBTdHJpbmcKICovCgpGdW5jdGlvbi5wcm90b3R5cGUuaW5kaWNhdG9yID0gMTsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovLyBDSEVDSyMKaWYgKFN0cmluZy5pbmRpY2F0b3IgIT09IDEpIHsKICAkRVJST1IoJyMxOiBGdW5jdGlvbi5wcm90b3R5cGUuaW5kaWNhdG9yID0gMTsgU3RyaW5nLmluZGljYXRvciA9PT0gMS4gQWN0dWFsOiBTdHJpbmcuaW5kaWNhdG9yID09PScrU3RyaW5nLmluZGljYXRvciApOyAKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"The value of the internal [[Prototype]] property of the String constructor is the Function prototype object","description":"Add custom property to Function.prototype and check it at String","path":"TestCases/ch15/15.5/15.5.3/S15.5.3_A2_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgaW5pdGlhbCB2YWx1ZSBvZiBTdHJpbmcucHJvdG90eXBlLmNvbnN0cnVjdG9yIGlzIHRoZSBidWlsdC1pbiBTdHJpbmcgY29uc3RydWN0b3IKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC9TMTUuNS40LjFfQTFfVDEuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIFN0cmluZy5wcm90b3R5cGUuY29uc3RydWN0b3IKICovCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmIChTdHJpbmcucHJvdG90eXBlLmNvbnN0cnVjdG9yICE9PSBTdHJpbmcpIHsKICAkRVJST1IoJyMxOiBTdHJpbmcucHJvdG90eXBlLmNvbnN0cnVjdG9yID09PSBTdHJpbmcuIEFjdHVhbDogU3RyaW5nLnByb3RvdHlwZS5jb25zdHJ1Y3RvciA9PT0nK1N0cmluZy5wcm90b3R5cGUuY29uc3RydWN0b3IgKTsgCn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"The initial value of String.prototype.constructor is the built-in String constructor","description":"Checking String.prototype.constructor","path":"TestCases/ch15/15.5/15.5.4/S15.5.4.1_A1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgaW5pdGlhbCB2YWx1ZSBvZiBTdHJpbmcucHJvdG90eXBlLmNvbnN0cnVjdG9yIGlzIHRoZSBidWlsdC1pbiBTdHJpbmcgY29uc3RydWN0b3IKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC9TMTUuNS40LjFfQTFfVDIuanMKICogQGRlc2NyaXB0aW9uIENyZWF0ZSBuZXcgU3RyaW5nLnByb3RvdHlwZS5jb25zdHJ1Y3RvciBvYmplY3QgYW5kIGNoZWNrIGl0CiAqLwoKdmFyIF9fY29uc3RyID0gU3RyaW5nLnByb3RvdHlwZS5jb25zdHJ1Y3RvcjsKCnZhciBfX2luc3RhbmNlID0gbmV3IF9fY29uc3RyKCJjaG9vc2luZyBvbmUiKTsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovLyBDSEVDSyMwCmlmIChfX2luc3RhbmNlICE9ImNob29zaW5nIG9uZSIpIHsKICAkRVJST1IoJyMwOiBfX2NvbnN0ciA9IFN0cmluZy5wcm90b3R5cGUuY29uc3RydWN0b3I7IF9faW5zdGFuY2UgPSBuZXcgX19jb25zdHIoImNob29zaW5nIG9uZSIpOyBfX2luc3RhbmNlID09ImNob29zaW5nIG9uZSIuIEFjdHVhbDogX19pbnN0YW5jZSA9PScrX19pbnN0YW5jZSApOyAKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovLyBDSEVDSyMxCmlmIChfX2luc3RhbmNlLmNvbnN0cnVjdG9yICE9PSBTdHJpbmcpIHsKICAkRVJST1IoJyMxOiBfX2NvbnN0ciA9IFN0cmluZy5wcm90b3R5cGUuY29uc3RydWN0b3I7IF9faW5zdGFuY2UgPSBuZXcgX19jb25zdHIoImNob29zaW5nIG9uZSIpOyBfX2luc3RhbmNlLmNvbnN0cnVjdG9yID09PSBTdHJpbmcuIEFjdHVhbDogX19pbnN0YW5jZS5jb25zdHJ1Y3RvciA9PT0nK19faW5zdGFuY2UuY29uc3RydWN0b3IgKTsgCn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy8gQ0hFQ0sjMgppZiAoIShTdHJpbmcucHJvdG90eXBlLmlzUHJvdG90eXBlT2YoX19pbnN0YW5jZSkpKSB7CiAgJEVSUk9SKCcjMjogX19jb25zdHIgPSBTdHJpbmcucHJvdG90eXBlLmNvbnN0cnVjdG9yOyBfX2luc3RhbmNlID0gbmV3IF9fY29uc3RyKCJjaG9vc2luZyBvbmUiKTsgU3RyaW5nLnByb3RvdHlwZS5pc1Byb3RvdHlwZU9mKF9faW5zdGFuY2UpIHJldHVybiB0cnVlLiBBY3R1YWw6ICcrU3RyaW5nLnByb3RvdHlwZS5pc1Byb3RvdHlwZU9mKF9faW5zdGFuY2UpKTsgCn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy8gQ0hFQ0sjMwp2YXIgX190b19zdHJpbmdfcmVzdWx0ID0gJ1tvYmplY3QgJysgJ1N0cmluZycgKyddJzsKCmRlbGV0ZSBTdHJpbmcucHJvdG90eXBlLnRvU3RyaW5nOwoKaWYgKF9faW5zdGFuY2UudG9TdHJpbmcoKSAhPT0gX190b19zdHJpbmdfcmVzdWx0KSB7CiAgJEVSUk9SKCcjMzogX19jb25zdHIgPSBTdHJpbmcucHJvdG90eXBlLmNvbnN0cnVjdG9yOyBfX2luc3RhbmNlID0gbmV3IF9fY29uc3RyKCJjaG9vc2luZyBvbmUiKTsgZGVsZXRlIFN0cmluZy5wcm90b3R5cGUudG9TdHJpbmc7IF9faW5zdGFuY2UudG9TdHJpbmcoKSA9PT0gX190b19zdHJpbmdfcmVzdWx0LiBBY3R1YWw6IF9faW5zdGFuY2UudG9TdHJpbmcoKSA9PT0nK19faW5zdGFuY2UudG9TdHJpbmcoKSsnIF9fdG9fc3RyaW5nX3Jlc3VsdCA9PT0nK19fdG9fc3RyaW5nX3Jlc3VsdCApOyAKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"The initial value of String.prototype.constructor is the built-in String constructor","description":"Create new String.prototype.constructor object and check it","path":"TestCases/ch15/15.5/15.5.4/S15.5.4.1_A1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnRvU3RyaW5nKCkgcmV0dXJucyB0aGlzIHN0cmluZyB2YWx1ZQogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS40L1MxNS41LjQuMl9BMV9UMS5qcwogKiBAZGVzY3JpcHRpb24gQ3JlYXRlIG5ldyBTdHJpbmcobnVtYmVyKSBhbmQgY2hlY2sgaXRgcyBtZXRob2QgdG9TdHJpbmcoKQogKi8KCnZhciBfX3N0cmluZ19fb2JqID0gbmV3IFN0cmluZygxKTsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIwppZiAoX19zdHJpbmdfX29iai50b1N0cmluZygpICE9PSAiIisxKSB7CiAgJEVSUk9SKCcjMTogX19zdHJpbmdfX29iaiA9IG5ldyBTdHJpbmcoMSk7IF9fc3RyaW5nX19vYmoudG9TdHJpbmcoKSA9PT0gIiIrMS4gQWN0dWFsOiBfX3N0cmluZ19fb2JqLnRvU3RyaW5nKCkgPT09JytfX3N0cmluZ19fb2JqLnRvU3RyaW5nKCkgKTsgCn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"String.prototype.toString() returns this string value","description":"Create new String(number) and check it`s method toString()","path":"TestCases/ch15/15.5/15.5.4/S15.5.4.2_A1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnRvU3RyaW5nKCkgcmV0dXJucyB0aGlzIHN0cmluZyB2YWx1ZQogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS40L1MxNS41LjQuMl9BMV9UMi5qcwogKiBAZGVzY3JpcHRpb24gQ3JlYXRlIG5ldyBTdHJpbmcoYm9vbGVhbikgYW5kIGNoZWNrIGl0YHMgbWV0aG9kIHRvU3RyaW5nKCkKICovCgp2YXIgX19zdHJpbmdfX29iaiA9IG5ldyBTdHJpbmcodHJ1ZSk7CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMKaWYgKF9fc3RyaW5nX19vYmoudG9TdHJpbmcoKSAhPT0gIiIrdHJ1ZSkgewogICRFUlJPUignIzE6IF9fc3RyaW5nX19vYmogPSBuZXcgU3RyaW5nKHRydWUpOyBfX3N0cmluZ19fb2JqLnRvU3RyaW5nKCkgPT09ICIiK3RydWUuIEFjdHVhbDogX19zdHJpbmdfX29iai50b1N0cmluZygpID09PScrX19zdHJpbmdfX29iai50b1N0cmluZygpICk7IAp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"String.prototype.toString() returns this string value","description":"Create new String(boolean) and check it`s method toString()","path":"TestCases/ch15/15.5/15.5.4/S15.5.4.2_A1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnRvU3RyaW5nKCkgcmV0dXJucyB0aGlzIHN0cmluZyB2YWx1ZQogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS40L1MxNS41LjQuMl9BMV9UMy5qcwogKiBAZGVzY3JpcHRpb24gQ3JlYXRlIG5ldyBTdHJpbmcoc3RyaW5nKSBhbmQgY2hlY2sgaXRgcyBtZXRob2QgdG9TdHJpbmcoKQogKi8KCnZhciBfX3N0cmluZ19fb2JqID0gbmV3IFN0cmluZygibWV0YWwiKTsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIwppZiAoX19zdHJpbmdfX29iai50b1N0cmluZygpICE9PSAibWV0YWwiKSB7CiAgJEVSUk9SKCcjMTogX19zdHJpbmdfX29iaiA9IG5ldyBTdHJpbmcoIm1ldGFsIik7IF9fc3RyaW5nX19vYmoudG9TdHJpbmcoKSA9PT0gIm1ldGFsIi4gQWN0dWFsOiBfX3N0cmluZ19fb2JqLnRvU3RyaW5nKCkgPT09JytfX3N0cmluZ19fb2JqLnRvU3RyaW5nKCkgKTsgCn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"String.prototype.toString() returns this string value","description":"Create new String(string) and check it`s method toString()","path":"TestCases/ch15/15.5/15.5.4/S15.5.4.2_A1_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnRvU3RyaW5nKCkgcmV0dXJucyB0aGlzIHN0cmluZyB2YWx1ZQogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS40L1MxNS41LjQuMl9BMV9UNC5qcwogKiBAZGVzY3JpcHRpb24gQ3JlYXRlIG5ldyBTdHJpbmcoZnVuY3Rpb24oKXt9KCkpIGFuZCBjaGVjayBpdGBzIG1ldGhvZCB0b1N0cmluZygpCiAqLwoKdmFyIF9fc3RyaW5nX19vYmogPSBuZXcgU3RyaW5nKGZ1bmN0aW9uKCl7fSgpKTsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIwppZiAoX19zdHJpbmdfX29iai50b1N0cmluZygpICE9PSAidW5kZWZpbmVkIikgewogICRFUlJPUignIzE6IF9fc3RyaW5nX19vYmogPSBuZXcgU3RyaW5nKGZ1bmN0aW9uKCl7fSgpKTsgX19zdHJpbmdfX29iai50b1N0cmluZygpID09PSAidW5kZWZpbmVkIi4gQWN0dWFsOiBfX3N0cmluZ19fb2JqLnRvU3RyaW5nKCkgPT09JytfX3N0cmluZ19fb2JqLnRvU3RyaW5nKCkgKTsgCn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"String.prototype.toString() returns this string value","description":"Create new String(function(){}()) and check it`s method toString()","path":"TestCases/ch15/15.5/15.5.4/S15.5.4.2_A1_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgdG9TdHJpbmcgZnVuY3Rpb24gaXMgbm90IGdlbmVyaWM7IGl0IHRocm93cyBhIFR5cGVFcnJvciBleGNlcHRpb24gaWYgaXRzIHRoaXMgdmFsdWUgaXMgbm90IGEgU3RyaW5nIG9iamVjdC4gVGhlcmVmb3JlLCBpdCBjYW5ub3QgYmUgdHJhbnNmZXJyZWQgdG8gb3RoZXIga2luZHMgb2Ygb2JqZWN0cyBmb3IgdXNlIGFzIGEgbWV0aG9kCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvUzE1LjUuNC4yX0EyX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiBjcmVhdGluZyB2YXJpYWJsZSBTdHJpbmcucHJvdG90eXBlLnRvU3RyaW5nIGZhaWxzCiAqLwoKdmFyIF9fdG9TdHJpbmcgPSBTdHJpbmcucHJvdG90eXBlLnRvU3RyaW5nOwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAodHlwZW9mIF9fdG9TdHJpbmcgIT09ICJmdW5jdGlvbiIpIHsKICAkRVJST1IoJyMxOiBfX3RvU3RyaW5nID0gU3RyaW5nLnByb3RvdHlwZS50b1N0cmluZzsgdHlwZW9mIF9fdG9TdHJpbmcgPT09ICJmdW5jdGlvbiIuIEFjdHVhbDogdHlwZW9mIF9fdG9TdHJpbmcgPT09Jyt0eXBlb2YgX190b1N0cmluZyApOyAKfQoKLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMyCnRyeSB7CiAgdmFyIHggPSBfX3RvU3RyaW5nKCk7CiAgJEZBSUwoJyMyOiAiX190b1N0cmluZyA9IFN0cmluZy5wcm90b3R5cGUudG9TdHJpbmc7IHZhciB4ID0gX190b1N0cmluZygpOyIgbGVhZCB0byB0aHJvd2luZyBleGNlcHRpb24nKTsKfSBjYXRjaCAoZSkgewogIGlmICghKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpKSB7CiAgICAkRVJST1IoJyMyLjE6ICJfX3RvU3RyaW5nID0gU3RyaW5nLnByb3RvdHlwZS50b1N0cmluZzsgdmFyIHggPSBfX3RvU3RyaW5nKCk7IiBsZWFkIHRvIHRocm93aW5nIGV4Y2VwdGlvbi4gRXhjZXB0aW9uIGlzIGluc3RhbmNlIG9mIFR5cGVFcnJvci4gQWN0dWFsOiBleGNlcHRpb24gaXMgJytlKTsKICB9Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"The toString function is not generic; it throws a TypeError exception if its this value is not a String object. Therefore, it cannot be transferred to other kinds of objects for use as a method","description":"Checking if creating variable String.prototype.toString fails","path":"TestCases/ch15/15.5/15.5.4/S15.5.4.2_A2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgdG9TdHJpbmcgZnVuY3Rpb24gaXMgbm90IGdlbmVyaWM7IGl0IHRocm93cyBhIFR5cGVFcnJvciBleGNlcHRpb24gaWYgaXRzIHRoaXMgdmFsdWUgaXMgbm90IGEgU3RyaW5nIG9iamVjdC4gVGhlcmVmb3JlLCBpdCBjYW5ub3QgYmUgdHJhbnNmZXJyZWQgdG8gb3RoZXIga2luZHMgb2Ygb2JqZWN0cyBmb3IgdXNlIGFzIGEgbWV0aG9kCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvUzE1LjUuNC4yX0EyX1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiBjcmVhdGluZyB0aGUgb2JqZWN0IFN0cmluZy5wcm90b3R5cGUudG9TdHJpbmcgZmFpbHMKICovCgp2YXIgX19vYmo9e3RvU3RyaW5nIDogU3RyaW5nLnByb3RvdHlwZS50b1N0cmluZ307CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmICh0eXBlb2YgX19vYmpbInRvU3RyaW5nIl0gIT09ICJmdW5jdGlvbiIpIHsKICAkRVJST1IoJyMxOiB2YXIgX19vYmo9e3RvU3RyaW5nIDogU3RyaW5nLnByb3RvdHlwZS50b1N0cmluZ307IHR5cGVvZiBfX29ialsidG9TdHJpbmciXSA9PT0gImZ1bmN0aW9uIi4gQWN0dWFsOiB0eXBlb2YgX19vYmpbInRvU3RyaW5nIl0gPT09Jyt0eXBlb2YgX19vYmpbInRvU3RyaW5nIl0gKTsgCn0KCi8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMgp0cnkgewogIHZhciB4ID0gKF9fb2JqID09IDEpOwogICRGQUlMKCcjMjogInZhciB4ID0gKF9fb2JqID09IDEpIiBsZWFkIHRvIHRocm93aW5nIGV4Y2VwdGlvbicpOwp9IGNhdGNoIChlKSB7CiAgaWYgKCEoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikpIHsKICAgICRFUlJPUignIzIuMTogRXhjZXB0aW9uIGlzIGluc3RhbmNlIG9mIFR5cGVFcnJvci4gQWN0dWFsOiBleGNlcHRpb24gaXMgJytlKTsKICB9Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"The toString function is not generic; it throws a TypeError exception if its this value is not a String object. Therefore, it cannot be transferred to other kinds of objects for use as a method","description":"Checking if creating the object String.prototype.toString fails","path":"TestCases/ch15/15.5/15.5.4/S15.5.4.2_A2_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnRvU3RyaW5nKCkgaXMgZXF1YWwgU3RyaW5nLnByb3RvdHlwZS52YWx1ZU9mKCkKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC9TMTUuNS40LjJfQTNfVDEuanMKICogQGRlc2NyaXB0aW9uIENyZWF0ZSBuZXcgU3RyaW5nKCkgd2l0aCB2YXJpb3VzIGFyZ3VtZW50cyBhbmQgY29tcGFyZSByZXR1cm5lZCByZXN1bHRzIG9mIHRvU3RyaW5nKCkgYW5kIHZhbHVlT2YoKQogKi8KCi8vQ0hFQ0sjMQp2YXIgc3RyID0gbmV3IFN0cmluZygpOwppZighKHN0ci52YWx1ZU9mKCkgPT0gc3RyLnRvU3RyaW5nKCkpKQogICRFUlJPUignIzE6IHN0ciA9IG5ldyBTdHJpbmcoKSxzdHIudmFsdWVPZigpID09IHN0ci50b1N0cmluZygpJyk7CgovL0NIRUNLIzIKc3RyID0gbmV3IFN0cmluZyh0cnVlKTsKaWYoIShzdHIudmFsdWVPZigpID09IHN0ci50b1N0cmluZygpKSkKICAkRVJST1IoJyMyOiBzdHIgPSBuZXcgU3RyaW5nKHRydWUpLHN0ci52YWx1ZU9mKCkgPT0gc3RyLnRvU3RyaW5nKCknKTsKCi8vQ0hFQ0sjMwpzdHIgPSBuZXcgU3RyaW5nKGZhbHNlKTsKaWYoIShzdHIudmFsdWVPZigpID09IHN0ci50b1N0cmluZygpKSkKICAkRVJST1IoJyMzOiBzdHIgPSBuZXcgU3RyaW5nKGZhbHNlKSxzdHIudmFsdWVPZigpID09IHN0ci50b1N0cmluZygpJyk7CgovL0NIRUNLIzQKc3RyID0gbmV3IFN0cmluZyhNYXRoLlBJKTsKaWYoIShzdHIudmFsdWVPZigpID09IHN0ci50b1N0cmluZygpKSkKICAkRVJST1IoJyM0OiBzdHIgPSBuZXcgU3RyaW5nKE1hdGguUEkpLHN0ci52YWx1ZU9mKCkgPT0gc3RyLnRvU3RyaW5nKCknKTsKCg==","commentary":"String.prototype.toString() is equal String.prototype.valueOf()","description":"Create new String() with various arguments and compare returned results of toString() and valueOf()","path":"TestCases/ch15/15.5/15.5.4/S15.5.4.2_A3_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnRvU3RyaW5nIGhhdmUgbGVuZ3RoIHByb3BlcnR5IGFuZCBpdCBpcyBlcXVhbCAwCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvUzE1LjUuNC4yX0E0X1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBTdHJpbmcucHJvdG90eXBlLnRvU3RyaW5nLmxlbmd0aCBwcm9wZXJ0eQogKi8KCi8vQ0hFQ0sjMQppZiAoU3RyaW5nLnByb3RvdHlwZS50b1N0cmluZy5oYXNPd25Qcm9wZXJ0eSgnbGVuZ3RoJykhPT10cnVlKXsKICAkRVJST1IoJyMxOiBTdHJpbmcucHJvdG90eXBlLnRvU3RyaW5nLmhhc093blByb3BlcnR5KFwnbGVuZ3RoXCcpPT09dHJ1ZS4gQWN0dWFsOiAnK1N0cmluZy5wcm90b3R5cGUudG9TdHJpbmcuaGFzT3duUHJvcGVydHkoJ2xlbmd0aCcpKTsgCn0KZWxzZXsKLy9DSEVDSyMyCmlmIChTdHJpbmcucHJvdG90eXBlLnRvU3RyaW5nLmxlbmd0aCE9PTApCiAgJEVSUk9SKCcjMjogU3RyaW5nLnByb3RvdHlwZS50b1N0cmluZy5sZW5ndGg9PT0wLiBBY3R1YWw6IFN0cmluZy5wcm90b3R5cGUudG9TdHJpbmcubGVuZ3RoPT09JytTdHJpbmcucHJvdG90eXBlLnRvU3RyaW5nLmxlbmd0aCk7IAp9Cgo=","commentary":"String.prototype.toString have length property and it is equal 0","description":"Checking String.prototype.toString.length property","path":"TestCases/ch15/15.5/15.5.4/S15.5.4.2_A4_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnZhbHVlT2YoKSByZXR1cm5zIHRoaXMgc3RyaW5nIHZhbHVlCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvUzE1LjUuNC4zX0ExX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBDcmVhdGUgU3RyaW5nIG9iamVjdCBhcyBuZXcgU3RyaW5nKDEpIGFuZCBjaGVjayBpdGBzIHZhbHVlT2YoKQogKi8KCnZhciBfX3N0cmluZ19fb2JqID0gbmV3IFN0cmluZygxKTsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIwppZiAoX19zdHJpbmdfX29iai52YWx1ZU9mKCkgIT09ICIiKzEpIHsKICAkRVJST1IoJyMxOiBfX3N0cmluZ19fb2JqID0gbmV3IFN0cmluZygxKTsgX19zdHJpbmdfX29iai52YWx1ZU9mKCkgPT09ICIiKzEuIEFjdHVhbDogX19zdHJpbmdfX29iai52YWx1ZU9mKCkgPT09JytfX3N0cmluZ19fb2JqLnZhbHVlT2YoKSApOyAKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"String.prototype.valueOf() returns this string value","description":"Create String object as new String(1) and check it`s valueOf()","path":"TestCases/ch15/15.5/15.5.4/S15.5.4.3_A1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnZhbHVlT2YoKSByZXR1cm5zIHRoaXMgc3RyaW5nIHZhbHVlCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvUzE1LjUuNC4zX0ExX1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBDcmVhdGUgU3RyaW5nIG9iamVjdCBhcyBuZXcgU3RyaW5nKHRydWUpIGFuZCBjaGVjayBpdGBzIHZhbHVlT2YoKQogKi8KCnZhciBfX3N0cmluZ19fb2JqID0gbmV3IFN0cmluZyh0cnVlKTsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIwppZiAoX19zdHJpbmdfX29iai52YWx1ZU9mKCkgIT09ICIiK3RydWUpIHsKICAkRVJST1IoJyMxOiBfX3N0cmluZ19fb2JqID0gbmV3IFN0cmluZyh0cnVlKTsgX19zdHJpbmdfX29iai52YWx1ZU9mKCkgPT09ICIiK3RydWUuIEFjdHVhbDogX19zdHJpbmdfX29iai52YWx1ZU9mKCkgPT09JytfX3N0cmluZ19fb2JqLnZhbHVlT2YoKSApOyAKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"String.prototype.valueOf() returns this string value","description":"Create String object as new String(true) and check it`s valueOf()","path":"TestCases/ch15/15.5/15.5.4/S15.5.4.3_A1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnZhbHVlT2YoKSByZXR1cm5zIHRoaXMgc3RyaW5nIHZhbHVlCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvUzE1LjUuNC4zX0ExX1QzLmpzCiAqIEBkZXNjcmlwdGlvbiBDcmVhdGUgU3RyaW5nIG9iamVjdCBhcyBuZXcgU3RyaW5nKHN0cmluZykgYW5kIGNoZWNrIGl0YHMgdmFsdWVPZigpCiAqLwoKdmFyIF9fc3RyaW5nX19vYmogPSBuZXcgU3RyaW5nKCJtZXRhbCIpOwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjCmlmIChfX3N0cmluZ19fb2JqLnZhbHVlT2YoKSAhPT0gIm1ldGFsIikgewogICRFUlJPUignIzE6IF9fc3RyaW5nX19vYmogPSBuZXcgU3RyaW5nKCJtZXRhbCIpOyBfX3N0cmluZ19fb2JqLnZhbHVlT2YoKSA9PT0gIm1ldGFsIi4gQWN0dWFsOiBfX3N0cmluZ19fb2JqLnZhbHVlT2YoKSA9PT0nK19fc3RyaW5nX19vYmoudmFsdWVPZigpICk7IAp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"String.prototype.valueOf() returns this string value","description":"Create String object as new String(string) and check it`s valueOf()","path":"TestCases/ch15/15.5/15.5.4/S15.5.4.3_A1_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnZhbHVlT2YoKSByZXR1cm5zIHRoaXMgc3RyaW5nIHZhbHVlCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvUzE1LjUuNC4zX0ExX1Q0LmpzCiAqIEBkZXNjcmlwdGlvbiBDcmVhdGUgU3RyaW5nIG9iamVjdCBhcyBuZXcgU3RyaW5nKGZ1bmN0aW9uKCl7fSgpKSBhbmQgY2hlY2sgaXRgcyB2YWx1ZU9mKCkKICovCgp2YXIgX19zdHJpbmdfX29iaiA9IG5ldyBTdHJpbmcoZnVuY3Rpb24oKXt9KCkpOwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjCmlmIChfX3N0cmluZ19fb2JqLnZhbHVlT2YoKSAhPT0gInVuZGVmaW5lZCIpIHsKICAkRVJST1IoJyMxOiBfX3N0cmluZ19fb2JqID0gbmV3IFN0cmluZyhmdW5jdGlvbigpe30oKSk7IF9fc3RyaW5nX19vYmoudmFsdWVPZigpID09PSAidW5kZWZpbmVkIi4gQWN0dWFsOiBfX3N0cmluZ19fb2JqLnZhbHVlT2YoKSA9PT0nK19fc3RyaW5nX19vYmoudmFsdWVPZigpICk7IAp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"String.prototype.valueOf() returns this string value","description":"Create String object as new String(function(){}()) and check it`s valueOf()","path":"TestCases/ch15/15.5/15.5.4/S15.5.4.3_A1_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgdmFsdWVPZiBmdW5jdGlvbiBpcyBub3QgZ2VuZXJpYzsgaXQgdGhyb3dzIGEgVHlwZUVycm9yIGV4Y2VwdGlvbiBpZiBpdHMgdGhpcyB2YWx1ZSBpcyBub3QgYSBTdHJpbmcgb2JqZWN0LgogKiBUaGVyZWZvcmUsIGl0IGNhbm5vdCBiZSB0cmFuc2ZlcnJlZCB0byBvdGhlciBraW5kcyBvZiBvYmplY3RzIGZvciB1c2UgYXMgYSBtZXRob2QKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC9TMTUuNS40LjNfQTJfVDEuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIGNyZWF0aW5nIHZhcmlhYmxlIFN0cmluZy5wcm90b3R5cGUudmFsdWVPZiBmYWlscwogKi8KCnZhciBfX3ZhbHVlT2YgPSBTdHJpbmcucHJvdG90eXBlLnZhbHVlT2Y7CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmICh0eXBlb2YgX192YWx1ZU9mICE9PSAiZnVuY3Rpb24iKSB7CiAgJEVSUk9SKCcjMTogX192YWx1ZU9mID0gU3RyaW5nLnByb3RvdHlwZS52YWx1ZU9mOyB0eXBlb2YgX192YWx1ZU9mID09PSAiZnVuY3Rpb24iLiBBY3R1YWw6IHR5cGVvZiBfX3ZhbHVlT2YgPT09Jyt0eXBlb2YgX192YWx1ZU9mICk7IAp9CgovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzIKdHJ5IHsKICB2YXIgeCA9IF9fdmFsdWVPZigpOwogICRGQUlMKCcjMjogIl9fdmFsdWVPZiA9IFN0cmluZy5wcm90b3R5cGUudmFsdWVPZjsgdmFyIHggPSBfX3ZhbHVlT2YoKSIgbGVhZCB0byB0aHJvd2luZyBleGNlcHRpb24nKTsKfSBjYXRjaCAoZSkgewogIGlmICghKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpKSB7CiAgICAkRVJST1IoJyMyLjE6IEV4Y2VwdGlvbiBpcyBpbnN0YW5jZSBvZiBUeXBlRXJyb3IuIEFjdHVhbDogZXhjZXB0aW9uIGlzICcrZSk7CiAgfQp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"The valueOf function is not generic; it throws a TypeError exception if its this value is not a String object.\nTherefore, it cannot be transferred to other kinds of objects for use as a method","description":"Checking if creating variable String.prototype.valueOf fails","path":"TestCases/ch15/15.5/15.5.4/S15.5.4.3_A2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgdmFsdWVPZiBmdW5jdGlvbiBpcyBub3QgZ2VuZXJpYzsgaXQgdGhyb3dzIGEgVHlwZUVycm9yIGV4Y2VwdGlvbiBpZiBpdHMgdGhpcyB2YWx1ZSBpcyBub3QgYSBTdHJpbmcgb2JqZWN0LgogKiBUaGVyZWZvcmUsIGl0IGNhbm5vdCBiZSB0cmFuc2ZlcnJlZCB0byBvdGhlciBraW5kcyBvZiBvYmplY3RzIGZvciB1c2UgYXMgYSBtZXRob2QKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC9TMTUuNS40LjNfQTJfVDIuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIGNyZWF0aW5nIHRoZSBvYmplY3QgU3RyaW5nLnByb3RvdHlwZS52YWx1ZU9mIGZhaWxzCiAqLwoKdmFyIF9fb2JqPXt2YWx1ZU9mIDogU3RyaW5nLnByb3RvdHlwZS52YWx1ZU9mfTsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKHR5cGVvZiBfX29ialsidmFsdWVPZiJdICE9PSAiZnVuY3Rpb24iKSB7CiAgJEVSUk9SKCcjMTogdmFyIF9fb2JqPXt2YWx1ZU9mIDogU3RyaW5nLnByb3RvdHlwZS52YWx1ZU9mfTsgdHlwZW9mIF9fb2JqWyJ2YWx1ZU9mIl0gPT09ICJmdW5jdGlvbiIuIEFjdHVhbDogdHlwZW9mIF9fb2JqWyJ2YWx1ZU9mIl0gPT09Jyt0eXBlb2YgX19vYmpbInZhbHVlT2YiXSApOyAKfQoKLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMyCnRyeSB7CiAgdmFyIHggPSAoX19vYmogPT0gMSk7CiAgJEZBSUwoJyMyOiAidmFyIF9fb2JqPXt2YWx1ZU9mIDogU3RyaW5nLnByb3RvdHlwZS52YWx1ZU9mfTsgdmFyIHggPSAoX19vYmogPT0gMSkiIGxlYWQgdG8gdGhyb3dpbmcgZXhjZXB0aW9uJyk7Cn0gY2F0Y2ggKGUpIHsKICBpZiAoIShlIGluc3RhbmNlb2YgVHlwZUVycm9yKSkgewogICAgJEVSUk9SKCcjMi4xOiBFeGNlcHRpb24gaXMgaW5zdGFuY2Ugb2YgVHlwZUVycm9yLiBBY3R1YWw6IGV4Y2VwdGlvbiBpcyAnK2UpOwogIH0KfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"The valueOf function is not generic; it throws a TypeError exception if its this value is not a String object.\nTherefore, it cannot be transferred to other kinds of objects for use as a method","description":"Checking if creating the object String.prototype.valueOf fails","path":"TestCases/ch15/15.5/15.5.4/S15.5.4.3_A2_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgU3RyaW5nIHByb3RvdHlwZSBvYmplY3QgaXMgaXRzZWxmIGEgU3RyaW5nIG9iamVjdCAoaXRzIFtbQ2xhc3NdXSBpcyAiU3RyaW5nIikKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC9TMTUuNS40X0ExLmpzCiAqIEBkZXNjcmlwdGlvbiBmaXJzdCB3ZSBkZWxldGUgU3RyaW5nLnByb3RvdHlwZS50b1N0cmluZyBjYXVzZSBpdCBvdmVycmlkZXMgT2JqZWN0IHByb3RvdHlwZSB0b1N0cmluZy4KICogT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZyByZXR1cm5zIFtvYmplY3QrW1tjbGFzc11dK10KICovCgpkZWxldGUgU3RyaW5nLnByb3RvdHlwZS50b1N0cmluZzsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKFN0cmluZy5wcm90b3R5cGUudG9TdHJpbmcoKSAhPT0gIltvYmplY3QgIisiU3RyaW5nIisiXSIpIHsKICAkRVJST1IoJyMxOiBkZWxldGUgU3RyaW5nLnByb3RvdHlwZS50b1N0cmluZzsgU3RyaW5nLnByb3RvdHlwZS50b1N0cmluZygpID09PSAiW29iamVjdCAiKyJTdHJpbmciKyJdIi4gQWN0dWFsOiBTdHJpbmcucHJvdG90eXBlLnRvU3RyaW5nKCkgPT09JytTdHJpbmcucHJvdG90eXBlLnRvU3RyaW5nKCkgKTsgCn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"The String prototype object is itself a String object (its [[Class]] is \"String\")","description":"first we delete String.prototype.toString cause it overrides Object prototype toString.\nObject.prototype.toString returns [object+[[class]]+]","path":"TestCases/ch15/15.5/15.5.4/S15.5.4_A1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgU3RyaW5nIHByb3RvdHlwZSBvYmplY3QgaXMgaXRzZWxmIGEgU3RyaW5nIG9iamVjdCB3aG9zZSB2YWx1ZSBpcyBhbiBlbXB0eSBzdHJpbmcKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC9TMTUuNS40X0EyLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBTdHJpbmcucHJvdG90eXBlCiAqLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAoU3RyaW5nLnByb3RvdHlwZSAhPSIiKSB7CiAgJEVSUk9SKCcjMTogU3RyaW5nLnByb3RvdHlwZSA9PSIiLiBBY3R1YWw6IFN0cmluZy5wcm90b3R5cGUgPT0nK1N0cmluZy5wcm90b3R5cGUgKTsgCn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"The String prototype object is itself a String object whose value is an empty string","description":"Checking String.prototype","path":"TestCases/ch15/15.5/15.5.4/S15.5.4_A2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgdmFsdWUgb2YgdGhlIGludGVybmFsIFtbUHJvdG90eXBlXV0gcHJvcGVydHkgb2YgdGhlIFN0cmluZyBwcm90b3R5cGUgb2JqZWN0IGlzIHRoZSBPYmplY3QgcHJvdG90eXBlIG9iamVjdCAoMTUuMi4zLjEpCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvUzE1LjUuNF9BMy5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgT2JqZWN0LnByb3RvdHlwZS5pc1Byb3RvdHlwZU9mKFN0cmluZy5wcm90b3R5cGUpCiAqLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAoIShPYmplY3QucHJvdG90eXBlLmlzUHJvdG90eXBlT2YoU3RyaW5nLnByb3RvdHlwZSkpKSB7CiAgJEVSUk9SKCcjMTogT2JqZWN0LnByb3RvdHlwZS5pc1Byb3RvdHlwZU9mKFN0cmluZy5wcm90b3R5cGUpIHJldHVybiB0cnVlLiBBY3R1YWw6ICcrT2JqZWN0LnByb3RvdHlwZS5pc1Byb3RvdHlwZU9mKFN0cmluZy5wcm90b3R5cGUpKTsgCn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgpkZWxldGUgU3RyaW5nLnByb3RvdHlwZS50b1N0cmluZzsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzIKaWYgKFN0cmluZy5wcm90b3R5cGUudG9TdHJpbmcoKSAhPSAiW29iamVjdCAiKyJTdHJpbmciKyJdIikgewogICRFUlJPUignIzI6IGRlbGV0ZSBTdHJpbmcucHJvdG90eXBlLnRvU3RyaW5nOyBTdHJpbmcucHJvdG90eXBlLnRvU3RyaW5nKCkgPT0gIltvYmplY3QgIisiU3RyaW5nIisiXSIuIEFjdHVhbDogU3RyaW5nLnByb3RvdHlwZS50b1N0cmluZygpID09JytTdHJpbmcucHJvdG90eXBlLnRvU3RyaW5nKCkgKTsgCn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"The value of the internal [[Prototype]] property of the String prototype object is the Object prototype object (15.2.3.1)","description":"Checking Object.prototype.isPrototypeOf(String.prototype)","path":"TestCases/ch15/15.5/15.5.4/S15.5.4_A3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgU3RyaW5nLnByb3RvdHlwZS5tYXRjaC5sZW5ndGggcHJvcGVydHkgaGFzIHRoZSBhdHRyaWJ1dGUgUmVhZE9ubHkKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuMTAvUzE1LjUuNC4xMF9BMTAuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIHZhcnlpbmcgdGhlIFN0cmluZy5wcm90b3R5cGUubWF0Y2gubGVuZ3RoIHByb3BlcnR5IGZhaWxzCiAqLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAoIShTdHJpbmcucHJvdG90eXBlLm1hdGNoLmhhc093blByb3BlcnR5KCdsZW5ndGgnKSkpIHsKICAkRkFJTCgnIzE6IFN0cmluZy5wcm90b3R5cGUubWF0Y2guaGFzT3duUHJvcGVydHkoXCdsZW5ndGhcJykgcmV0dXJuIHRydWUuIEFjdHVhbDogJytTdHJpbmcucHJvdG90eXBlLm1hdGNoLmhhc093blByb3BlcnR5KCdsZW5ndGgnKSk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgp2YXIgX19vYmogPSBTdHJpbmcucHJvdG90eXBlLm1hdGNoLmxlbmd0aDsKClN0cmluZy5wcm90b3R5cGUubWF0Y2gubGVuZ3RoID0gZnVuY3Rpb24oKXtyZXR1cm4gInNoaWZ0ZWQiO307CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMyCmlmIChTdHJpbmcucHJvdG90eXBlLm1hdGNoLmxlbmd0aCAhPT0gX19vYmopIHsKICAkRVJST1IoJyMyOiBfX29iaiA9IFN0cmluZy5wcm90b3R5cGUubWF0Y2gubGVuZ3RoOyBTdHJpbmcucHJvdG90eXBlLm1hdGNoLmxlbmd0aCA9IGZ1bmN0aW9uKCl7cmV0dXJuICJzaGlmdGVkIjt9OyBTdHJpbmcucHJvdG90eXBlLm1hdGNoLmxlbmd0aCA9PT0gX19vYmouIEFjdHVhbDogJytTdHJpbmcucHJvdG90eXBlLm1hdGNoLmxlbmd0aCApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"The String.prototype.match.length property has the attribute ReadOnly","description":"Checking if varying the String.prototype.match.length property fails","path":"TestCases/ch15/15.5/15.5.4/15.5.4.10/S15.5.4.10_A10.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgbGVuZ3RoIHByb3BlcnR5IG9mIHRoZSBtYXRjaCBtZXRob2QgaXMgMQogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS40LzE1LjUuNC4xMC9TMTUuNS40LjEwX0ExMS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgU3RyaW5nLnByb3RvdHlwZS5tYXRjaC5sZW5ndGgKICovCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmICghKFN0cmluZy5wcm90b3R5cGUubWF0Y2guaGFzT3duUHJvcGVydHkoImxlbmd0aCIpKSkgewogICRFUlJPUignIzE6IFN0cmluZy5wcm90b3R5cGUubWF0Y2guaGFzT3duUHJvcGVydHkoImxlbmd0aCIpIHJldHVybiB0cnVlLiBBY3R1YWw6ICcrU3RyaW5nLnByb3RvdHlwZS5tYXRjaC5oYXNPd25Qcm9wZXJ0eSgibGVuZ3RoIikpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMgppZiAoU3RyaW5nLnByb3RvdHlwZS5tYXRjaC5sZW5ndGggIT09IDEpIHsKICAkRVJST1IoJyMyOiBTdHJpbmcucHJvdG90eXBlLm1hdGNoLmxlbmd0aCA9PT0gMS4gQWN0dWFsOiAnK1N0cmluZy5wcm90b3R5cGUubWF0Y2gubGVuZ3RoICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"The length property of the match method is 1","description":"Checking String.prototype.match.length","path":"TestCases/ch15/15.5/15.5.4/15.5.4.10/S15.5.4.10_A11.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLm1hdGNoIChyZWdleHApCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjEwL1MxNS41LjQuMTBfQTFfVDEuanMKICogQGRlc2NyaXB0aW9uIEFyZ3VtZW50cyBpcyB0cnVlLCBhbmQgaW5zdGFuY2UgaXMgb2JqZWN0CiAqLwoKdmFyIF9faW5zdGFuY2UgPSBuZXcgT2JqZWN0KHRydWUpOwoKX19pbnN0YW5jZS5tYXRjaCA9IFN0cmluZy5wcm90b3R5cGUubWF0Y2g7CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmIChfX2luc3RhbmNlLm1hdGNoKHRydWUpWzBdICE9PSAidHJ1ZSIpIHsKICAkRVJST1IoJyMxOiBfX2luc3RhbmNlID0gbmV3IE9iamVjdCh0cnVlKTsgX19pbnN0YW5jZS5tYXRjaCA9IFN0cmluZy5wcm90b3R5cGUubWF0Y2g7ICBfX2luc3RhbmNlLm1hdGNoKHRydWUpWzBdID09PSAidHJ1ZSIuIEFjdHVhbDogJytfX2luc3RhbmNlLm1hdGNoKHRydWUpWzBdICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"String.prototype.match (regexp)","description":"Arguments is true, and instance is object","path":"TestCases/ch15/15.5/15.5.4/15.5.4.10/S15.5.4.10_A1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLm1hdGNoIChyZWdleHApCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjEwL1MxNS41LjQuMTBfQTFfVDEwLmpzCiAqIEBkZXNjcmlwdGlvbiBDYWxsIG1hdGNoIChyZWdleHApIGZ1bmN0aW9uIHdpdGggb2JqZWN0IGFyZ3VtZW50CiAqLwoKdmFyIF9fb2JqID0ge3RvU3RyaW5nOmZ1bmN0aW9uKCl7cmV0dXJuICJcdTAwNDFCIjt9fQp2YXIgX19zdHIgPSAiQUJCXHUwMDQxQkFCQUIiOwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQp3aXRoKF9fc3RyKXsKICAgIGlmIChtYXRjaChfX29iailbMF0gIT09IkFCIikgewogICAgICAkRVJST1IoJyMxOiB2YXIgeDsgdmFyIF9fb2JqID0ge3RvU3RyaW5nOmZ1bmN0aW9uKCl7cmV0dXJuICJcdTAwNDFCIjt9fTsgdmFyIF9fc3RyID0gIkFCQlx1MDA0MUJBQkFCIjsgbWF0Y2goX19vYmopWzBdID09PSJBQiIuIEFjdHVhbDogJyttYXRjaChfX29iailbMF0gKTsKICAgIH0KfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCnZhciB4OwoK","commentary":"String.prototype.match (regexp)","description":"Call match (regexp) function with object argument","path":"TestCases/ch15/15.5/15.5.4/15.5.4.10/S15.5.4.10_A1_T10.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLm1hdGNoIChyZWdleHApCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjEwL1MxNS41LjQuMTBfQTFfVDExLmpzCiAqIEBkZXNjcmlwdGlvbiBPdmVycmlkZSB0b1N0cmluZyBmdW5jdGlvbiwgdG9TdHJpbmcgdGhyb3cgZXhjZXB0aW9uLCB0aGVuIGNhbGwgbWF0Y2ggKHJlZ2V4cCkgZnVuY3Rpb24gd2l0aCB0aGlzIG9iamVjdCBhcyBhcmd1bWVudAogKi8KCnZhciBfX29iaiA9IHt0b1N0cmluZzpmdW5jdGlvbigpe3Rocm93ICJpbnRvc3RyIjt9fQp2YXIgX19zdHIgPSB7c3RyX186IkFCQlx1MDA0MUJBQkFCIn07CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCndpdGgoX19zdHIpewogICAgd2l0aChzdHJfXyl7CiAgICAgICAgdHJ5IHsKICAgICAgICAgIHZhciB4ID0gbWF0Y2goX19vYmopOwogICAgICAgICAgJEZBSUwoJyMxOiAidmFyIHggPSBtYXRjaChfX29iaikiIGxlYWQgdG8gdGhyb3dpbmcgZXhjZXB0aW9uJyk7CiAgICAgICAgfSBjYXRjaCAoZSkgewogICAgICAgICAgaWYgKGUhPT0iaW50b3N0ciIpIHsKICAgICAgICAgICAgJEVSUk9SKCcjMS4xOiBFeGNlcHRpb24gPT09ICJpbnRvc3RyIi4gQWN0dWFsOiAnK2UpOwogICAgICAgICAgfQogICAgICAgIH0KICAgIH0KfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"String.prototype.match (regexp)","description":"Override toString function, toString throw exception, then call match (regexp) function with this object as argument","path":"TestCases/ch15/15.5/15.5.4/15.5.4.10/S15.5.4.10_A1_T11.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLm1hdGNoIChyZWdleHApCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjEwL1MxNS41LjQuMTBfQTFfVDEyLmpzCiAqIEBkZXNjcmlwdGlvbiBPdmVycmlkZSB0b1N0cmluZyBhbmQgdmFsdWVPZiBmdW5jdGlvbnMsIHZhbHVlT2YgdGhyb3cgZXhjZXB0aW9uLCB0aGVuIGNhbGwgbWF0Y2ggKHJlZ2V4cCkgZnVuY3Rpb24gd2l0aCB0aGlzIG9iamVjdCBhcyBhcmd1bWVudAogKi8KCnZhciBfX29iaiA9IHt0b1N0cmluZzpmdW5jdGlvbigpe3JldHVybiB7fTt9LHZhbHVlT2Y6ZnVuY3Rpb24oKXt0aHJvdyAiaW50b3N0ciI7fX0KdmFyIF9fc3RyID0gbmV3IFN0cmluZygiQUJCXHUwMDQxQkFCQUIiKTsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKd2l0aChfX3N0cil7CiAgICB0cnkgewogICAgICB2YXIgeCA9IG1hdGNoKF9fb2JqKTsKICAgICAgJEZBSUwoJyMxOiAidmFyIHggPSBtYXRjaChfX29iaikiIGxlYWQgdG8gdGhyb3dpbmcgZXhjZXB0aW9uJyk7CiAgICB9IGNhdGNoIChlKSB7CiAgICAgIGlmIChlIT09ImludG9zdHIiKSB7CiAgICAgICAgJEVSUk9SKCcjMS4xOiBFeGNlcHRpb24gPT09ICJpbnRvc3RyIi4gQWN0dWFsOiAnK2UpOwogICAgICB9CiAgICB9Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"String.prototype.match (regexp)","description":"Override toString and valueOf functions, valueOf throw exception, then call match (regexp) function with this object as argument","path":"TestCases/ch15/15.5/15.5.4/15.5.4.10/S15.5.4.10_A1_T12.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLm1hdGNoIChyZWdleHApCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjEwL1MxNS41LjQuMTBfQTFfVDEzLmpzCiAqIEBkZXNjcmlwdGlvbiBPdmVycmlkZSB0b1N0cmluZyBhbmQgdmFsdWVPZiBmdW5jdGlvbnMsIHRoZW4gY2FsbCBtYXRjaCAocmVnZXhwKSBmdW5jdGlvbiB3aXRoIHRoaXMgb2JqZWN0IGFzIGFyZ3VtZW50CiAqLwoKdmFyIF9fb2JqID0ge3RvU3RyaW5nOmZ1bmN0aW9uKCl7cmV0dXJuIHt9O30sdmFsdWVPZjpmdW5jdGlvbigpe3JldHVybiAxO319CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmICgiQUJCXHUwMDQxQlx1MDAzMUFCQUJcdTAwMzFCQkFBIi5tYXRjaChfX29iailbMF0gIT09IjEiKSB7CiAgJEVSUk9SKCcjMTogdmFyIF9fb2JqID0ge3RvU3RyaW5nOmZ1bmN0aW9uKCl7cmV0dXJuIHt9O30sdmFsdWVPZjpmdW5jdGlvbigpe3JldHVybiAxO319OyAiQUJCXFx1MDA0MUJcXHUwMDMxQUJBQlxcdTAwMzFCQkFBIi5tYXRjaChfX29iailbMF0gPT09IjEiLiBBY3R1YWw6ICcrKCJBQkJcdTAwNDFCXHUwMDMxQUJBQlx1MDAzMUJCQUEiLm1hdGNoKF9fb2JqKVswXSkgKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzMKaWYgKCJBQkJcdTAwNDFCXHUwMDMxQUJBQlx1MDAzMUJCQUEiLm1hdGNoKF9fb2JqKS5sZW5ndGggIT09IDEpIHsKICAkRVJST1IoJyMzOiB2YXIgX19vYmogPSB7dG9TdHJpbmc6ZnVuY3Rpb24oKXtyZXR1cm4ge307fSx2YWx1ZU9mOmZ1bmN0aW9uKCl7cmV0dXJuIDE7fX07ICJBQkJcXHUwMDQxQlxcdTAwMzFBQkFCXFx1MDAzMUJCQUEiLm1hdGNoKF9fb2JqKS5sZW5ndGggPT09IDEuIEFjdHVhbDogJysoIkFCQlx1MDA0MUJcdTAwMzFBQkFCXHUwMDMxQkJBQSIubWF0Y2goX19vYmopLmxlbmd0aCkgKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"String.prototype.match (regexp)","description":"Override toString and valueOf functions, then call match (regexp) function with this object as argument","path":"TestCases/ch15/15.5/15.5.4/15.5.4.10/S15.5.4.10_A1_T13.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLm1hdGNoIChyZWdleHApCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjEwL1MxNS41LjQuMTBfQTFfVDE0LmpzCiAqIEBkZXNjcmlwdGlvbiBDYWxsIG1hdGNoIChyZWdleHApIGZ1bmN0aW9uIHdpdGggUmVnRXhwIG9iamVjdCBhcyBhcmd1bWVudCBmcm9tIHN0cmluZwogKi8KCnZhciBfX3JlZyA9IG5ldyBSZWdFeHAoIjc3Iik7CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmICgiQUJCXHUwMDQxQkFCQUJcdTAwMzdcdTAwMzdCQkFBIi5tYXRjaChfX3JlZylbMF0gIT09ICI3NyIpIHsKICAkRVJST1IoJyMxOiB2YXIgX19yZWcgPSBuZXcgUmVnRXhwKCI3NyIpOyAiQUJCXFx1MDA0MUJBQkFCXFx1MDAzN1xcdTAwMzdCQkFBIi5tYXRjaChfX3JlZylbMF0gPT09ICI3NyIuIEFjdHVhbDogJysoIkFCQlx1MDA0MUJBQkFCXHUwMDM3XHUwMDM3QkJBQSIubWF0Y2goX19yZWcpWzBdKSApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"String.prototype.match (regexp)","description":"Call match (regexp) function with RegExp object as argument from string","path":"TestCases/ch15/15.5/15.5.4/15.5.4.10/S15.5.4.10_A1_T14.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLm1hdGNoIChyZWdleHApCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjEwL1MxNS41LjQuMTBfQTFfVDIuanMKICogQGRlc2NyaXB0aW9uIEFyZ3VtZW50IGlzIGZ1bmN0aW9uIHRoYXQgcmV0dXJuIGJvb2xlYW4sIGFuZCBpbnN0YW5jZSBpcyBCb29sZWFuIG9iamVjdAogKi8KCnZhciBfX2luc3RhbmNlID0gbmV3IEJvb2xlYW47CgpfX2luc3RhbmNlLm1hdGNoID0gU3RyaW5nLnByb3RvdHlwZS5tYXRjaDsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKF9faW5zdGFuY2UubWF0Y2goZnVuY3Rpb24oKXtyZXR1cm4gZmFsc2U7fSgpKVswXSAhPT0gImZhbHNlIikgewogICRFUlJPUignIzE6IF9faW5zdGFuY2UgPSBuZXcgQm9vbGVhbjsgX19pbnN0YW5jZS5tYXRjaCA9IFN0cmluZy5wcm90b3R5cGUubWF0Y2g7ICBfX2luc3RhbmNlLm1hdGNoKGZ1bmN0aW9uKCl7cmV0dXJuIGZhbHNlO30oKSlbMF0gPT09ICJmYWxzZSIuIEFjdHVhbDogJytfX2luc3RhbmNlLm1hdGNoKGZ1bmN0aW9uKCl7cmV0dXJuIGZhbHNlO30oKSlbMF0gKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"String.prototype.match (regexp)","description":"Argument is function that return boolean, and instance is Boolean object","path":"TestCases/ch15/15.5/15.5.4/15.5.4.10/S15.5.4.10_A1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLm1hdGNoIChyZWdleHApCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjEwL1MxNS41LjQuMTBfQTFfVDMuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGJ5IHVzaW5nIGV2YWwKICovCgp2YXIgbWF0Y2ggPSBTdHJpbmcucHJvdG90eXBlLm1hdGNoLmJpbmQoZm5HbG9iYWxPYmplY3QoKSk7Cgp0cnkgewogICAgZm5HbG9iYWxPYmplY3QoKS50b1N0cmluZyA9IE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmc7Cn0gY2F0Y2ggKGUpIHsgOyB9CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmICgoZm5HbG9iYWxPYmplY3QoKS50b1N0cmluZyA9PT0gT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZykgICYmIC8vRW5zdXJlIHdlIGNvdWxkIG92ZXJ3cml0ZSBnbG9iYWwgb2JqJ3MgdG9TdHJpbmcKICAgIChtYXRjaChldmFsKCJcImJqXCIiKSlbMF0gIT09ICJiaiIpKSB7CiAgJEVSUk9SKCcjMTogbWF0Y2ggPSBTdHJpbmcucHJvdG90eXBlLm1hdGNoLmJpbmQodGhpcyk7IG1hdGNoKGV2YWwoIlxcImJqXFwiIikpWzBdID09PSAiYmoiLiBBY3R1YWw6ICcrbWF0Y2goZXZhbCgiXCJialwiIikpWzBdICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"String.prototype.match (regexp)","description":"Checking by using eval","path":"TestCases/ch15/15.5/15.5.4/15.5.4.10/S15.5.4.10_A1_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLm1hdGNoIChyZWdleHApCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjEwL1MxNS41LjQuMTBfQTFfVDQuanMKICogQGRlc2NyaXB0aW9uIENhbGwgbWF0Y2ggKHJlZ2V4cCkgZnVuY3Rpb24gd2l0aG91dCBhcmd1bWVudHMgb2Ygc3RyaW5nCiAqLwoKdmFyIF9fbWF0Y2hlZCA9ICIiLm1hdGNoKCk7Cgp2YXIgX19leHBlY3RlZCA9IFJlZ0V4cCgpLmV4ZWMoIiIpOyAKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKF9fbWF0Y2hlZC5sZW5ndGggIT09IF9fZXhwZWN0ZWQubGVuZ3RoKSB7CiAgJEVSUk9SKCcjMTogX19tYXRjaGVkID0gIiIubWF0Y2goKTsgX19leHBlY3RlZCA9IFJlZ0V4cCgpLmV4ZWMoIiIpOyBfX21hdGNoZWQubGVuZ3RoID09PSBfX2V4cGVjdGVkLmxlbmd0aC4gQWN0dWFsOiAnK19fbWF0Y2hlZC5sZW5ndGggKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzIKaWYgKF9fbWF0Y2hlZC5pbmRleCAhPT0gX19leHBlY3RlZC5pbmRleCkgewogICRFUlJPUignIzI6IF9fbWF0Y2hlZCA9ICIiLm1hdGNoKCk7IF9fZXhwZWN0ZWQgPSBSZWdFeHAoKS5leGVjKCIiKTsgX19tYXRjaGVkLmluZGV4ID09PSBfX2V4cGVjdGVkLmluZGV4LiBBY3R1YWw6ICcrX19tYXRjaGVkLmluZGV4ICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMzCmlmIChfX21hdGNoZWQuaW5wdXQgIT09IF9fZXhwZWN0ZWQuaW5wdXQpIHsKICAkRVJST1IoJyMzOiBfX21hdGNoZWQgPSAiIi5tYXRjaCgpOyBfX2V4cGVjdGVkID0gUmVnRXhwKCkuZXhlYygiIik7IF9fbWF0Y2hlZC5pbnB1dCA9PT0gX19leHBlY3RlZC5pbnB1dC4gQWN0dWFsOiAnK19fbWF0Y2hlZC5pbnB1dCApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjNApmb3IodmFyIGluZGV4PTA7IGluZGV4PF9fZXhwZWN0ZWQubGVuZ3RoOyBpbmRleCsrKSB7CiAgaWYgKF9fbWF0Y2hlZFtpbmRleF0hPT1fX2V4cGVjdGVkW2luZGV4XSkgewogICAgJEVSUk9SKCcjNC4nK2luZGV4Kyc6IF9fbWF0Y2hlZCA9ICIiLm1hdGNoKCk7IF9fZXhwZWN0ZWQgPSBSZWdFeHAoKS5leGVjKCIiKTsgX19tYXRjaGVkWycraW5kZXgrJ109PT1fX2V4cGVjdGVkWycraW5kZXgrJ10uIEFjdHVhbDogJytfX21hdGNoZWRbaW5kZXhdKTsKICB9Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"String.prototype.match (regexp)","description":"Call match (regexp) function without arguments of string","path":"TestCases/ch15/15.5/15.5.4/15.5.4.10/S15.5.4.10_A1_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLm1hdGNoIChyZWdleHApCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjEwL1MxNS41LjQuMTBfQTFfVDUuanMKICogQGRlc2NyaXB0aW9uIENhbGwgbWF0Y2ggKHJlZ2V4cCkgZnVuY3Rpb24gd2l0aCBudWxsIGFyZ3VtZW50IG9mIGZ1bmN0aW9uIG9iamVjdAogKi8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKLy9zaW5jZSBUb1N0cmluZyhudWxsKSBldmFsdWF0ZXMgdG8gIm51bGwiIG1hdGNoKG51bGwpIGV2YWx1YXRlcyB0byBtYXRjaCgibnVsbCIpCmlmIChmdW5jdGlvbigpe3JldHVybiAiZ251bGx1bmEifSgpLm1hdGNoKG51bGwpWzBdICE9PSAibnVsbCIpIHsKICAkRVJST1IoJyMxOiBmdW5jdGlvbigpe3JldHVybiAiZ251bGx1bmEifSgpLm1hdGNoKG51bGwpWzBdID09PSAibnVsbCIuIEFjdHVhbDogJytmdW5jdGlvbigpe3JldHVybiAiZ251bGx1bmEifSgpLm1hdGNoKG51bGwpWzBdICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"String.prototype.match (regexp)","description":"Call match (regexp) function with null argument of function object","path":"TestCases/ch15/15.5/15.5.4/15.5.4.10/S15.5.4.10_A1_T5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLm1hdGNoIChyZWdleHApCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjEwL1MxNS41LjQuMTBfQTFfVDYuanMKICogQGRlc2NyaXB0aW9uIENhbGwgbWF0Y2ggKHJlZ2V4cCkgZnVuY3Rpb24gd2l0aCB4IGFyZ3VtZW50IG9mIG5ldyBTdHJpbmcgb2JqZWN0LCB3aGVyZSB4IGlzIHVuZGVmaW5lZCB2YXJpYWJsZQogKi8KCnZhciBfX21hdGNoZWQgPSBuZXcgU3RyaW5nKCJ1bmRlZmluZWQiKS5tYXRjaCh4KTsKCnZhciBfX2V4cGVjdGVkID0gUmVnRXhwKHgpLmV4ZWMoInVuZGVmaW5lZCIpOyAKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKF9fbWF0Y2hlZC5sZW5ndGggIT09IF9fZXhwZWN0ZWQubGVuZ3RoKSB7CiAgJEVSUk9SKCcjMTogX19tYXRjaGVkID0gbmV3IFN0cmluZygidW5kZWZpbmVkIikubWF0Y2goeCk7IF9fZXhwZWN0ZWQgPSBSZWdFeHAoeCkuZXhlYygidW5kZWZpbmVkIik7IF9fbWF0Y2hlZC5sZW5ndGggPT09IF9fZXhwZWN0ZWQubGVuZ3RoLiBBY3R1YWw6ICcrX19tYXRjaGVkLmxlbmd0aCApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMgppZiAoX19tYXRjaGVkLmluZGV4ICE9PSBfX2V4cGVjdGVkLmluZGV4KSB7CiAgJEVSUk9SKCcjMjogX19tYXRjaGVkID0gbmV3IFN0cmluZygidW5kZWZpbmVkIikubWF0Y2goeCk7IF9fZXhwZWN0ZWQgPSBSZWdFeHAoeCkuZXhlYygidW5kZWZpbmVkIik7IF9fbWF0Y2hlZC5pbmRleCA9PT0gX19leHBlY3RlZC5pbmRleC4gQWN0dWFsOiAnK19fbWF0Y2hlZC5pbmRleCApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMwppZiAoX19tYXRjaGVkLmlucHV0ICE9PSBfX2V4cGVjdGVkLmlucHV0KSB7CiAgJEVSUk9SKCcjMzogX19tYXRjaGVkID0gbmV3IFN0cmluZygidW5kZWZpbmVkIikubWF0Y2goeCk7IF9fZXhwZWN0ZWQgPSBSZWdFeHAoeCkuZXhlYygidW5kZWZpbmVkIik7IF9fbWF0Y2hlZC5pbnB1dCA9PT0gX19leHBlY3RlZC5pbnB1dC4gQWN0dWFsOiAnK19fbWF0Y2hlZC5pbnB1dCApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjNApmb3IodmFyIGluZGV4PTA7IGluZGV4PF9fZXhwZWN0ZWQubGVuZ3RoOyBpbmRleCsrKSB7CiAgaWYgKF9fbWF0Y2hlZFtpbmRleF0hPT1fX2V4cGVjdGVkW2luZGV4XSkgewogICAgJEVSUk9SKCcjNC4nK2luZGV4Kyc6IF9fbWF0Y2hlZCA9IG5ldyBTdHJpbmcoInVuZGVmaW5lZCIpLm1hdGNoKHgpOyBfX2V4cGVjdGVkID0gUmVnRXhwKHgpLmV4ZWMoInVuZGVmaW5lZCIpOyBfX21hdGNoZWRbJytpbmRleCsnXT09PV9fZXhwZWN0ZWRbJytpbmRleCsnXS4gQWN0dWFsOiAnK19fbWF0Y2hlZFtpbmRleF0pOwogIH0KfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCnZhciB4OwoKCg==","commentary":"String.prototype.match (regexp)","description":"Call match (regexp) function with x argument of new String object, where x is undefined variable","path":"TestCases/ch15/15.5/15.5.4/15.5.4.10/S15.5.4.10_A1_T6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLm1hdGNoIChyZWdleHApCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjEwL1MxNS41LjQuMTBfQTFfVDcuanMKICogQGRlc2NyaXB0aW9uIENhbGwgbWF0Y2ggKHJlZ2V4cCkgZnVuY3Rpb24gd2l0aCB1bmRlZmluZWQgYXJndW1lbnQgb2Ygc3RyaW5nIG9iamVjdAogKi8KCnZhciBfX21hdGNoZWQgPSBTdHJpbmcoInVuZGVmaW5lZCIpLm1hdGNoKHVuZGVmaW5lZCk7Cgp2YXIgX19leHBlY3RlZCA9IFJlZ0V4cCh1bmRlZmluZWQpLmV4ZWMoInVuZGVmaW5lZCIpOyAKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKF9fbWF0Y2hlZC5sZW5ndGggIT09IF9fZXhwZWN0ZWQubGVuZ3RoKSB7CiAgJEVSUk9SKCcjMTogX19tYXRjaGVkID0gU3RyaW5nKCJ1bmRlZmluZWQiKS5tYXRjaCh1bmRlZmluZWQpOyBfX2V4cGVjdGVkID0gUmVnRXhwKHVuZGVmaW5lZCkuZXhlYygidW5kZWZpbmVkIik7IF9fbWF0Y2hlZC5sZW5ndGggPT09IF9fZXhwZWN0ZWQubGVuZ3RoLiBBY3R1YWw6ICcrX19tYXRjaGVkLmxlbmd0aCApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMgppZiAoX19tYXRjaGVkLmluZGV4ICE9PSBfX2V4cGVjdGVkLmluZGV4KSB7CiAgJEVSUk9SKCcjMjogX19tYXRjaGVkID0gU3RyaW5nKCJ1bmRlZmluZWQiKS5tYXRjaCh1bmRlZmluZWQpOyBfX2V4cGVjdGVkID0gUmVnRXhwKHVuZGVmaW5lZCkuZXhlYygidW5kZWZpbmVkIik7IF9fbWF0Y2hlZC5pbmRleCA9PT0gX19leHBlY3RlZC5pbmRleC4gQWN0dWFsOiAnK19fbWF0Y2hlZC5pbmRleCApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMwppZiAoX19tYXRjaGVkLmlucHV0ICE9PSBfX2V4cGVjdGVkLmlucHV0KSB7CiAgJEVSUk9SKCcjMzogX19tYXRjaGVkID0gU3RyaW5nKCJ1bmRlZmluZWQiKS5tYXRjaCh1bmRlZmluZWQpOyBfX2V4cGVjdGVkID0gUmVnRXhwKHVuZGVmaW5lZCkuZXhlYygidW5kZWZpbmVkIik7IF9fbWF0Y2hlZC5pbnB1dCA9PT0gX19leHBlY3RlZC5pbnB1dC4gQWN0dWFsOiAnK19fbWF0Y2hlZC5pbnB1dCApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjNApmb3IodmFyIGluZGV4PTA7IGluZGV4PF9fZXhwZWN0ZWQubGVuZ3RoOyBpbmRleCsrKSB7CiAgaWYgKF9fbWF0Y2hlZFtpbmRleF0hPT1fX2V4cGVjdGVkW2luZGV4XSkgewogICAgJEVSUk9SKCcjNC4nK2luZGV4Kyc6IF9fbWF0Y2hlZCA9IFN0cmluZygidW5kZWZpbmVkIikubWF0Y2godW5kZWZpbmVkKTsgX19leHBlY3RlZCA9IFJlZ0V4cCh1bmRlZmluZWQpLmV4ZWMoInVuZGVmaW5lZCIpOyBfX21hdGNoZWRbJytpbmRleCsnXT09PV9fZXhwZWN0ZWRbJytpbmRleCsnXS4gQWN0dWFsOiAnK19fbWF0Y2hlZFtpbmRleF0pOwogIH0KfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"String.prototype.match (regexp)","description":"Call match (regexp) function with undefined argument of string object","path":"TestCases/ch15/15.5/15.5.4/15.5.4.10/S15.5.4.10_A1_T7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLm1hdGNoIChyZWdleHApCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjEwL1MxNS41LjQuMTBfQTFfVDguanMKICogQGRlc2NyaXB0aW9uIENhbGwgbWF0Y2ggKHJlZ2V4cCkgZnVuY3Rpb24gd2l0aCB2b2lkIDAgYXJndW1lbnQgb2Ygc3RyaW5nIG9iamVjdDsKICovCgp2YXIgX19vYmogPSB7dG9TdHJpbmc6ZnVuY3Rpb24oKXt9fTsKCnZhciBfX21hdGNoZWQgPSBTdHJpbmcoX19vYmopLm1hdGNoKHZvaWQgMCk7Cgp2YXIgX19leHBlY3RlZCA9IFJlZ0V4cCh2b2lkIDApLmV4ZWMoInVuZGVmaW5lZCIpOyAKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKF9fbWF0Y2hlZC5sZW5ndGggIT09IF9fZXhwZWN0ZWQubGVuZ3RoKSB7CiAgJEVSUk9SKCcjMTogX19vYmogPSB7dG9TdHJpbmc6ZnVuY3Rpb24oKXt9fTsgX19tYXRjaGVkID0gU3RyaW5nKF9fb2JqKS5tYXRjaCh2b2lkIDApOyBfX2V4cGVjdGVkID0gUmVnRXhwKHZvaWQgMCkuZXhlYygidW5kZWZpbmVkIik7IF9fbWF0Y2hlZC5sZW5ndGggPT09IF9fZXhwZWN0ZWQubGVuZ3RoLiBBY3R1YWw6ICcrX19tYXRjaGVkLmxlbmd0aCApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMgppZiAoX19tYXRjaGVkLmluZGV4ICE9PSBfX2V4cGVjdGVkLmluZGV4KSB7CiAgJEVSUk9SKCcjMjogX19vYmogPSB7dG9TdHJpbmc6ZnVuY3Rpb24oKXt9fTsgX19tYXRjaGVkID0gU3RyaW5nKF9fb2JqKS5tYXRjaCh2b2lkIDApOyBfX2V4cGVjdGVkID0gUmVnRXhwKHZvaWQgMCkuZXhlYygidW5kZWZpbmVkIik7IF9fbWF0Y2hlZC5pbmRleCA9PT0gX19leHBlY3RlZC5pbmRleC4gQWN0dWFsOiAnK19fbWF0Y2hlZC5pbmRleCApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMwppZiAoX19tYXRjaGVkLmlucHV0ICE9PSBfX2V4cGVjdGVkLmlucHV0KSB7CiAgJEVSUk9SKCcjMzogX19vYmogPSB7dG9TdHJpbmc6ZnVuY3Rpb24oKXt9fTsgX19tYXRjaGVkID0gU3RyaW5nKF9fb2JqKS5tYXRjaCh2b2lkIDApOyBfX2V4cGVjdGVkID0gUmVnRXhwKHZvaWQgMCkuZXhlYygidW5kZWZpbmVkIik7IF9fbWF0Y2hlZC5pbnB1dCA9PT0gX19leHBlY3RlZC5pbnB1dC4gQWN0dWFsOiAnK19fbWF0Y2hlZC5pbnB1dCApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjNApmb3IodmFyIGluZGV4PTA7IGluZGV4PF9fZXhwZWN0ZWQubGVuZ3RoOyBpbmRleCsrKSB7CiAgaWYgKF9fbWF0Y2hlZFtpbmRleF0hPT1fX2V4cGVjdGVkW2luZGV4XSkgewogICAgJEVSUk9SKCcjNC4nK2luZGV4Kyc6IF9fb2JqID0ge3RvU3RyaW5nOmZ1bmN0aW9uKCl7fX07IF9fbWF0Y2hlZCA9IFN0cmluZyhfX29iaikubWF0Y2godm9pZCAwKTsgX19leHBlY3RlZCA9IFJlZ0V4cCh2b2lkIDApLmV4ZWMoInVuZGVmaW5lZCIpOyBfX21hdGNoZWRbJytpbmRleCsnXT09PV9fZXhwZWN0ZWRbJytpbmRleCsnXS4gQWN0dWFsOiAnK19fbWF0Y2hlZFtpbmRleF0pOwogIH0KfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"String.prototype.match (regexp)","description":"Call match (regexp) function with void 0 argument of string object","path":"TestCases/ch15/15.5/15.5.4/15.5.4.10/S15.5.4.10_A1_T8.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLm1hdGNoIChyZWdleHApCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjEwL1MxNS41LjQuMTBfQTFfVDkuanMKICogQGRlc2NyaXB0aW9uIENhbGwgbWF0Y2ggKHJlZ2V4cCkgZnVuY3Rpb24gd2l0aCBmdW5jdGlvbigpe30oKSBhcmd1bWVudCBvZiBzdHJpbmcgb2JqZWN0CiAqLwoKdmFyIF9fb2JqID0gewogICAgdmFsdWVPZjpmdW5jdGlvbigpe30sCiAgICB0b1N0cmluZzp2b2lkIDAKfTsKCnZhciBfX21hdGNoZWQgPSBuZXcgU3RyaW5nKF9fb2JqKS5tYXRjaChmdW5jdGlvbigpe30oKSk7Cgp2YXIgX19leHBlY3RlZCA9IFJlZ0V4cCh1bmRlZmluZWQpLmV4ZWMoInVuZGVmaW5lZCIpOyAKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKF9fbWF0Y2hlZC5sZW5ndGggIT09IF9fZXhwZWN0ZWQubGVuZ3RoKSB7CiAgJEVSUk9SKCcjMTogX19vYmogPSB7dmFsdWVPZjpmdW5jdGlvbigpe30sIHRvU3RyaW5nOnZvaWQgMH07IF9fbWF0Y2hlZCA9IG5ldyBTdHJpbmcoX19vYmopLm1hdGNoKGZ1bmN0aW9uKCl7fSgpKTsgX19leHBlY3RlZCA9IFJlZ0V4cCh1bmRlZmluZWQpLmV4ZWMoInVuZGVmaW5lZCIpOyBfX21hdGNoZWQubGVuZ3RoID09PSBfX2V4cGVjdGVkLmxlbmd0aC4gQWN0dWFsOiAnK19fbWF0Y2hlZC5sZW5ndGggKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzIKaWYgKF9fbWF0Y2hlZC5pbmRleCAhPT0gX19leHBlY3RlZC5pbmRleCkgewogICRFUlJPUignIzI6IF9fb2JqID0ge3ZhbHVlT2Y6ZnVuY3Rpb24oKXt9LCB0b1N0cmluZzp2b2lkIDB9OyBfX21hdGNoZWQgPSBuZXcgU3RyaW5nKF9fb2JqKS5tYXRjaChmdW5jdGlvbigpe30oKSk7IF9fZXhwZWN0ZWQgPSBSZWdFeHAodW5kZWZpbmVkKS5leGVjKCJ1bmRlZmluZWQiKTsgX19tYXRjaGVkLmluZGV4ID09PSBfX2V4cGVjdGVkLmluZGV4LiBBY3R1YWw6ICcrX19tYXRjaGVkLmluZGV4ICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMzCmlmIChfX21hdGNoZWQuaW5wdXQgIT09IF9fZXhwZWN0ZWQuaW5wdXQpIHsKICAkRVJST1IoJyMzOiBfX29iaiA9IHt2YWx1ZU9mOmZ1bmN0aW9uKCl7fSwgdG9TdHJpbmc6dm9pZCAwfTsgX19tYXRjaGVkID0gbmV3IFN0cmluZyhfX29iaikubWF0Y2goZnVuY3Rpb24oKXt9KCkpOyBfX2V4cGVjdGVkID0gUmVnRXhwKHVuZGVmaW5lZCkuZXhlYygidW5kZWZpbmVkIik7IF9fbWF0Y2hlZC5pbnB1dCA9PT0gX19leHBlY3RlZC5pbnB1dC4gQWN0dWFsOiAnK19fbWF0Y2hlZC5pbnB1dCApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjNApmb3IodmFyIGluZGV4PTA7IGluZGV4PF9fZXhwZWN0ZWQubGVuZ3RoOyBpbmRleCsrKSB7CiAgaWYgKF9fbWF0Y2hlZFtpbmRleF0hPT1fX2V4cGVjdGVkW2luZGV4XSkgewogICAgJEVSUk9SKCcjNC4nK2luZGV4Kyc6IF9fb2JqID0ge3ZhbHVlT2Y6ZnVuY3Rpb24oKXt9LCB0b1N0cmluZzp2b2lkIDB9OyBfX21hdGNoZWQgPSBuZXcgU3RyaW5nKF9fb2JqKS5tYXRjaChmdW5jdGlvbigpe30oKSk7IF9fZXhwZWN0ZWQgPSBSZWdFeHAodW5kZWZpbmVkKS5leGVjKCJ1bmRlZmluZWQiKTsgX19tYXRjaGVkWycraW5kZXgrJ109PT1fX2V4cGVjdGVkWycraW5kZXgrJ10uIEFjdHVhbDogJytfX21hdGNoZWRbaW5kZXhdKTsKICB9Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"String.prototype.match (regexp)","description":"Call match (regexp) function with function(){}() argument of string object","path":"TestCases/ch15/15.5/15.5.4/15.5.4.10/S15.5.4.10_A1_T9.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBtYXRjaCByZXR1cm5zIGFycmF5IGFzIHNwZWNpZmllZCBpbiAxNS4xMC42LjIKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuMTAvUzE1LjUuNC4xMF9BMl9UMS5qcwogKiBAZGVzY3JpcHRpb24gUmVndWxhciBleHByZXNzaW9uIGlzIDMKICovCgp2YXIgX19zdHJpbmcgPSAiMTIzNDU2Nzg5MCI7CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmIChfX3N0cmluZy5tYXRjaCgzKVswXSE9PSAiMyIpIHsKICAkRVJST1IoJyMxOiBfX3N0cmluZyA9ICIxMjM0NTY3ODkwIjsgX19zdHJpbmcubWF0Y2goMylbMF09PT0gIjMiLiBBY3R1YWw6ICcrX19zdHJpbmcubWF0Y2goMylbMF0pOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMgppZiAoX19zdHJpbmcubWF0Y2goMykubGVuZ3RoICE9PTEpIHsKICAkRVJST1IoJyMyOiBfX3N0cmluZyA9ICIxMjM0NTY3ODkwIjsgX19zdHJpbmcubWF0Y2goMykubGVuZ3RoID09PTEuIEFjdHVhbDogJytfX3N0cmluZy5tYXRjaCgzKS5sZW5ndGggKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzMKaWYgKF9fc3RyaW5nLm1hdGNoKDMpLmluZGV4ICE9PTIpIHsKICAkRVJST1IoJyMzOiBfX3N0cmluZyA9ICIxMjM0NTY3ODkwIjsgX19zdHJpbmcubWF0Y2goMykuaW5kZXggPT09Mi4gQWN0dWFsOiAnK19fc3RyaW5nLm1hdGNoKDMpLmluZGV4ICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyM0CmlmIChfX3N0cmluZy5tYXRjaCgzKS5pbnB1dCAhPT1fX3N0cmluZykgewogICRFUlJPUignIzQ6IF9fc3RyaW5nID0gIjEyMzQ1Njc4OTAiOyBfX3N0cmluZy5tYXRjaCgzKS5pbnB1dCA9PT1fX3N0cmluZy4gQWN0dWFsOiAnK19fc3RyaW5nLm1hdGNoKDMpLmlucHV0ICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"match returns array as specified in 15.10.6.2","description":"Regular expression is 3","path":"TestCases/ch15/15.5/15.5.4/15.5.4.10/S15.5.4.10_A2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBtYXRjaCByZXR1cm5zIGFycmF5IGFzIHNwZWNpZmllZCBpbiAxNS4xMC42LjIKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuMTAvUzE1LjUuNC4xMF9BMl9UMTAuanMKICogQGRlc2NyaXB0aW9uIFJlZ3VsYXIgZXhwcmVzc2lvbiBpcyAvKFtcZF17NX0pKFstXCBdP1tcZF17NH0pPyQvLiBMYXN0IG1hdGNoIGlzIHVuZGVmaW5lZC4KICogQW5kIHJlZ3VsYXIgZXhwcmVzc2lvbiBvYmplY3QgaGF2ZSBwcm9wZXJ0eSBsYXN0SW5kZXggPSB0ZXN0ZWRfc3RyaW5nLmxhc3RJbmRleE9mKCIwIikKICovCgp2YXIgX19zdHJpbmcgPSAiQm9zdG9uLCBNQSAwMjEzNCI7Cgp2YXIgX19tYXRjaGVzPVsiMDIxMzQiLCAiMDIxMzQiLCB1bmRlZmluZWRdOwoKdmFyIF9fcmUgPSAvKFtcZF17NX0pKFstXCBdP1tcZF17NH0pPyQvOwoKX19yZS5sYXN0SW5kZXggPSBfX3N0cmluZy5sYXN0SW5kZXhPZigiMCIpOwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAoX19zdHJpbmcubWF0Y2goX19yZSkubGVuZ3RoIT09IDMpIHsKICAkRVJST1IoJyMxOiBfX3N0cmluZy5tYXRjaChfX3JlKS5sZW5ndGg9PT0gMy4gQWN0dWFsOiAnK19fc3RyaW5nLm1hdGNoKF9fcmUpLmxlbmd0aCk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMyCmlmIChfX3N0cmluZy5tYXRjaChfX3JlKS5pbmRleCAhPT1fX3N0cmluZy5sYXN0SW5kZXhPZigiMCIpKSB7CiAgJEVSUk9SKCcjMjogX19zdHJpbmcubWF0Y2goX19yZSkuaW5kZXggPT09X19zdHJpbmcubGFzdEluZGV4T2YoIjAiKS4gQWN0dWFsOiAnK19fc3RyaW5nLm1hdGNoKF9fcmUpLmluZGV4ICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMzCmZvcih2YXIgbWk9MDsgbWk8X19tYXRjaGVzLmxlbmd0aDsgbWkrKykgewogIGlmIChfX3N0cmluZy5tYXRjaChfX3JlKVttaV0hPT1fX21hdGNoZXNbbWldKSB7CiAgICAkRVJST1IoJyMzLicrbWkrJzogX19zdHJpbmcubWF0Y2goX19yZSlbJyttaSsnXT09PV9fbWF0Y2hlc1snK21pKyddLiBBY3R1YWw6ICcrX19zdHJpbmcubWF0Y2goX19yZSlbbWldKTsKICB9Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"match returns array as specified in 15.10.6.2","description":"Regular expression is /([\\d]{5})([-\\ ]?[\\d]{4})?$/. Last match is undefined.\nAnd regular expression object have property lastIndex = tested_string.lastIndexOf(\"0\")","path":"TestCases/ch15/15.5/15.5.4/15.5.4.10/S15.5.4.10_A2_T10.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBtYXRjaCByZXR1cm5zIGFycmF5IGFzIHNwZWNpZmllZCBpbiAxNS4xMC42LjIKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuMTAvUzE1LjUuNC4xMF9BMl9UMTEuanMKICogQGRlc2NyaXB0aW9uIFJlZ3VsYXIgZXhwcmVzc2lvbiBpcyAvKFtcZF17NX0pKFstXCBdP1tcZF17NH0pPyQvLiBMYXN0IG1hdGNoIGlzIHVuZGVmaW5lZC4KICogQW5kIHJlZ3VsYXIgZXhwcmVzc2lvbiBvYmplY3QgaGF2ZSBwcm9wZXJ0eSBsYXN0SW5kZXggPSB0ZXN0ZWRfc3RyaW5nLmxhc3RJbmRleE9mKCIwIikrMQogKi8KCnZhciBfX3N0cmluZyA9ICJCb3N0b24sIE1BIDAyMTM0IjsKCnZhciBfX21hdGNoZXM9WyIwMjEzNCIsICIwMjEzNCIsIHVuZGVmaW5lZF07Cgp2YXIgX19yZSA9IC8oW1xkXXs1fSkoWy1cIF0/W1xkXXs0fSk/JC87CgpfX3JlLmxhc3RJbmRleCA9IF9fc3RyaW5nLmxhc3RJbmRleE9mKCIwIikrMTsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKF9fc3RyaW5nLm1hdGNoKF9fcmUpLmxlbmd0aCE9PSAzKSB7CiAgJEVSUk9SKCcjMTogX19zdHJpbmcubWF0Y2goX19yZSkubGVuZ3RoPT09IDMuIEFjdHVhbDogJytfX3N0cmluZy5tYXRjaChfX3JlKS5sZW5ndGgpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMgppZiAoX19zdHJpbmcubWF0Y2goX19yZSkuaW5kZXggIT09X19zdHJpbmcubGFzdEluZGV4T2YoIjAiKSkgewogICRFUlJPUignIzI6IF9fc3RyaW5nLm1hdGNoKF9fcmUpLmluZGV4ID09PV9fc3RyaW5nLmxhc3RJbmRleE9mKCIwIikuIEFjdHVhbDogJytfX3N0cmluZy5tYXRjaChfX3JlKS5pbmRleCApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMwpmb3IodmFyIG1pPTA7IG1pPF9fbWF0Y2hlcy5sZW5ndGg7IG1pKyspIHsKICBpZiAoX19zdHJpbmcubWF0Y2goX19yZSlbbWldIT09X19tYXRjaGVzW21pXSkgewogICAgJEVSUk9SKCcjMy4nK21pKyc6IF9fc3RyaW5nLm1hdGNoKF9fcmUpWycrbWkrJ109PT1fX21hdGNoZXNbJyttaSsnXS4gQWN0dWFsOiAnK19fc3RyaW5nLm1hdGNoKF9fcmUpW21pXSk7CiAgfQp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"match returns array as specified in 15.10.6.2","description":"Regular expression is /([\\d]{5})([-\\ ]?[\\d]{4})?$/. Last match is undefined.\nAnd regular expression object have property lastIndex = tested_string.lastIndexOf(\"0\")+1","path":"TestCases/ch15/15.5/15.5.4/15.5.4.10/S15.5.4.10_A2_T11.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBtYXRjaCByZXR1cm5zIGFycmF5IGFzIHNwZWNpZmllZCBpbiAxNS4xMC42LjIKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuMTAvUzE1LjUuNC4xMF9BMl9UMTIuanMKICogQGRlc2NyaXB0aW9uIFJlZ3VsYXIgZXhwcmVzc2lvbiBpcyB2YXJpYWJsZSB0aGF0IGhhdmUgdmFsdWUgLyhbXGRdezV9KShbLVwgXT9bXGRdezR9KT8kL2cKICovCgp2YXIgX19tYXRjaGVzPVsiMDIxMzQiXTsKCnZhciBfX3N0cmluZyA9ICJCb3N0b24sIE1BIDAyMTM0IjsKCnZhciBfX3JlID0gLyhbXGRdezV9KShbLVwgXT9bXGRdezR9KT8kL2c7CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmIChfX3N0cmluZy5tYXRjaChfX3JlKS5sZW5ndGghPT0gX19tYXRjaGVzLmxlbmd0aCkgewogICRFUlJPUignIzE6IF9fc3RyaW5nLm1hdGNoKF9fcmUpLmxlbmd0aD09PSBfX21hdGNoZXMubGVuZ3RoLiBBY3R1YWw6ICcrX19zdHJpbmcubWF0Y2goX19yZSkubGVuZ3RoKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzIKaWYgKF9fc3RyaW5nLm1hdGNoKF9fcmUpWzBdIT09X19tYXRjaGVzWzBdKSB7CiAgJEVSUk9SKCcjMjogX19zdHJpbmcubWF0Y2goX19yZSlbMF09PT1fX21hdGNoZXNbMF0uIEFjdHVhbDogJytfX3N0cmluZy5tYXRjaChfX3JlKVswXSk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"match returns array as specified in 15.10.6.2","description":"Regular expression is variable that have value /([\\d]{5})([-\\ ]?[\\d]{4})?$/g","path":"TestCases/ch15/15.5/15.5.4/15.5.4.10/S15.5.4.10_A2_T12.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBtYXRjaCByZXR1cm5zIGFycmF5IGFzIHNwZWNpZmllZCBpbiAxNS4xMC42LjIKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuMTAvUzE1LjUuNC4xMF9BMl9UMTMuanMKICogQGRlc2NyaXB0aW9uIFJlZ3VsYXIgZXhwcmVzc2lvbiBpcyAvKFtcZF17NX0pKFstXCBdP1tcZF17NH0pPyQvZy4KICogQW5kIHJlZ3VsYXIgZXhwcmVzc2lvbiBvYmplY3QgaGF2ZSBwcm9wZXJ0eSBsYXN0SW5kZXggPSAwCiAqLwoKdmFyIF9fbWF0Y2hlcz1bIjAyMTM0Il07Cgp2YXIgX19yZSA9IC8oW1xkXXs1fSkoWy1cIF0/W1xkXXs0fSk/JC9nOwpfX3JlLmxhc3RJbmRleCA9IDA7Cgp2YXIgX19zdHJpbmcgPSAiQm9zdG9uLCBNQSAwMjEzNCI7CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmIChfX3N0cmluZy5tYXRjaChfX3JlKS5sZW5ndGghPT0gX19tYXRjaGVzLmxlbmd0aCkgewogICRFUlJPUignIzE6IF9fc3RyaW5nLm1hdGNoKF9fcmUpLmxlbmd0aD09PSBfX21hdGNoZXMubGVuZ3RoLiBBY3R1YWw6ICcrX19zdHJpbmcubWF0Y2goX19yZSkubGVuZ3RoKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzMKaWYgKF9fc3RyaW5nLm1hdGNoKF9fcmUpWzBdIT09X19tYXRjaGVzWzBdKSB7CiAgJEVSUk9SKCcjMzogX19zdHJpbmcubWF0Y2goX19yZSlbMF09PT1fX21hdGNoZXNbMF0uIEFjdHVhbDogJytfX3N0cmluZy5tYXRjaChfX3JlKVswXSk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"match returns array as specified in 15.10.6.2","description":"Regular expression is /([\\d]{5})([-\\ ]?[\\d]{4})?$/g.\nAnd regular expression object have property lastIndex = 0","path":"TestCases/ch15/15.5/15.5.4/15.5.4.10/S15.5.4.10_A2_T13.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBtYXRjaCByZXR1cm5zIGFycmF5IGFzIHNwZWNpZmllZCBpbiAxNS4xMC42LjIKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuMTAvUzE1LjUuNC4xMF9BMl9UMTQuanMKICogQGRlc2NyaXB0aW9uIFJlZ3VsYXIgZXhwcmVzc2lvbiBpcyAvKFtcZF17NX0pKFstXCBdP1tcZF17NH0pPyQvZy4KICogQW5kIHJlZ3VsYXIgZXhwcmVzc2lvbiBvYmplY3QgaGF2ZSBwcm9wZXJ0eSBsYXN0SW5kZXggPSB0ZXN0ZWRfc3RyaW5nLmxlbmd0aAogKi8KCnZhciBfX3N0cmluZyA9ICJCb3N0b24sIE1BIDAyMTM0IjsKCnZhciBfX21hdGNoZXM9WyIwMjEzNCJdOwoKdmFyIF9fcmUgPSAvKFtcZF17NX0pKFstXCBdP1tcZF17NH0pPyQvZzsKCl9fcmUubGFzdEluZGV4ID0gX19zdHJpbmcubGVuZ3RoOwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAoX19zdHJpbmcubWF0Y2goX19yZSkubGVuZ3RoIT09IF9fbWF0Y2hlcy5sZW5ndGgpIHsKICAkRVJST1IoJyMxOiBfX3N0cmluZy5tYXRjaChfX3JlKS5sZW5ndGg9PT0gX19tYXRjaGVzLmxlbmd0aC4gQWN0dWFsOiAnK19fc3RyaW5nLm1hdGNoKF9fcmUpLmxlbmd0aCk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMzCmlmIChfX3N0cmluZy5tYXRjaChfX3JlKVswXSE9PV9fbWF0Y2hlc1swXSkgewogICRFUlJPUignIzM6IF9fc3RyaW5nLm1hdGNoKF9fcmUpWzBdPT09X19tYXRjaGVzWzBdLiBBY3R1YWw6ICcrX19zdHJpbmcubWF0Y2goX19yZSlbMF0pOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"match returns array as specified in 15.10.6.2","description":"Regular expression is /([\\d]{5})([-\\ ]?[\\d]{4})?$/g.\nAnd regular expression object have property lastIndex = tested_string.length","path":"TestCases/ch15/15.5/15.5.4/15.5.4.10/S15.5.4.10_A2_T14.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBtYXRjaCByZXR1cm5zIGFycmF5IGFzIHNwZWNpZmllZCBpbiAxNS4xMC42LjIKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuMTAvUzE1LjUuNC4xMF9BMl9UMTUuanMKICogQGRlc2NyaXB0aW9uIFJlZ3VsYXIgZXhwcmVzc2lvbiBpcyAvKFtcZF17NX0pKFstXCBdP1tcZF17NH0pPyQvLgogKiBBbmQgcmVndWxhciBleHByZXNzaW9uIG9iamVjdCBoYXZlIHByb3BlcnR5IGxhc3RJbmRleCA9IHRlc3RlZF9zdHJpbmcubGFzdEluZGV4T2YoIjAiKQogKi8KCnZhciBfX3N0cmluZyA9ICJCb3N0b24sIE1BIDAyMTM0IjsKCnZhciBfX21hdGNoZXM9WyIwMjEzNCJdOwoKdmFyIF9fcmUgPSAvKFtcZF17NX0pKFstXCBdP1tcZF17NH0pPyQvZzsKCl9fcmUubGFzdEluZGV4ID0gX19zdHJpbmcubGFzdEluZGV4T2YoIjAiKTsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKF9fc3RyaW5nLm1hdGNoKF9fcmUpLmxlbmd0aCE9PSBfX21hdGNoZXMubGVuZ3RoKSB7CiAgJEVSUk9SKCcjMTogX19zdHJpbmcubWF0Y2goX19yZSkubGVuZ3RoPT09IF9fbWF0Y2hlcy5sZW5ndGguIEFjdHVhbDogJytfX3N0cmluZy5tYXRjaChfX3JlKS5sZW5ndGgpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMwppZiAoX19zdHJpbmcubWF0Y2goX19yZSlbMF0hPT1fX21hdGNoZXNbMF0pIHsKICAkRVJST1IoJyMzOiBfX3N0cmluZy5tYXRjaChfX3JlKVswXT09PV9fbWF0Y2hlc1swXS4gQWN0dWFsOiAnK19fc3RyaW5nLm1hdGNoKF9fcmUpWzBdKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"match returns array as specified in 15.10.6.2","description":"Regular expression is /([\\d]{5})([-\\ ]?[\\d]{4})?$/.\nAnd regular expression object have property lastIndex = tested_string.lastIndexOf(\"0\")","path":"TestCases/ch15/15.5/15.5.4/15.5.4.10/S15.5.4.10_A2_T15.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBtYXRjaCByZXR1cm5zIGFycmF5IGFzIHNwZWNpZmllZCBpbiAxNS4xMC42LjIKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuMTAvUzE1LjUuNC4xMF9BMl9UMTYuanMKICogQGRlc2NyaXB0aW9uIFJlZ3VsYXIgZXhwcmVzc2lvbiBpcyAvKFtcZF17NX0pKFstXCBdP1tcZF17NH0pPyQvLgogKiBBbmQgcmVndWxhciBleHByZXNzaW9uIG9iamVjdCBoYXZlIHByb3BlcnR5IGxhc3RJbmRleCA9IHRlc3RlZF9zdHJpbmcubGFzdEluZGV4T2YoIjAiKSsxCiAqLwoKdmFyIF9fc3RyaW5nID0gIkJvc3RvbiwgTUEgMDIxMzQiOwoKdmFyIF9fbWF0Y2hlcz1bIjAyMTM0Il07Cgp2YXIgX19yZSA9IC8oW1xkXXs1fSkoWy1cIF0/W1xkXXs0fSk/JC9nOwoKX19yZS5sYXN0SW5kZXggPSBfX3N0cmluZy5sYXN0SW5kZXhPZigiMCIpKzE7CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmIChfX3N0cmluZy5tYXRjaChfX3JlKS5sZW5ndGghPT0gX19tYXRjaGVzLmxlbmd0aCkgewogICRFUlJPUignIzE6IF9fc3RyaW5nLm1hdGNoKF9fcmUpLmxlbmd0aD09PSBfX21hdGNoZXMubGVuZ3RoLiBBY3R1YWw6ICcrX19zdHJpbmcubWF0Y2goX19yZSkubGVuZ3RoKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzMKaWYgKF9fc3RyaW5nLm1hdGNoKF9fcmUpWzBdIT09X19tYXRjaGVzWzBdKSB7CiAgJEVSUk9SKCcjMzogX19zdHJpbmcubWF0Y2goX19yZSlbMF09PT1fX21hdGNoZXNbMF0uIEFjdHVhbDogJytfX3N0cmluZy5tYXRjaChfX3JlKVswXSk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"match returns array as specified in 15.10.6.2","description":"Regular expression is /([\\d]{5})([-\\ ]?[\\d]{4})?$/.\nAnd regular expression object have property lastIndex = tested_string.lastIndexOf(\"0\")+1","path":"TestCases/ch15/15.5/15.5.4/15.5.4.10/S15.5.4.10_A2_T16.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBtYXRjaCByZXR1cm5zIGFycmF5IGFzIHNwZWNpZmllZCBpbiAxNS4xMC42LjIKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuMTAvUzE1LjUuNC4xMF9BMl9UMTcuanMKICogQGRlc2NyaXB0aW9uIFJlZ3VsYXIgZXhwcmVzc2lvbiBpcyAvMC4vCiAqLwoKdmFyIF9fcmUgPSAvMC4vOwoKdmFyIF9fbnVtID0gMTAyMDMwNDA1MDYwNzA4MDkwMDA7CgpOdW1iZXIucHJvdG90eXBlLm1hdGNoID0gU3RyaW5nLnByb3RvdHlwZS5tYXRjaDsKCi8vX19tYXRjaGVzID0gWyIwMiJdOwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAoX19udW0ubWF0Y2goX19yZSlbMF0hPT0gIjAyIikgewogICRFUlJPUignIzE6IF9fbnVtLm1hdGNoKF9fcmUpWzBdPT09ICIwMiIuIEFjdHVhbDogJytfX251bS5tYXRjaChfX3JlKVswXSk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMyCmlmIChfX251bS5tYXRjaChfX3JlKS5sZW5ndGggIT09MSkgewogICRFUlJPUignIzI6IF9fbnVtLm1hdGNoKF9fcmUpLmxlbmd0aCA9PT0xLiBBY3R1YWw6ICcrX19udW0ubWF0Y2goX19yZSkubGVuZ3RoICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMzCmlmIChfX251bS5tYXRjaChfX3JlKS5pbmRleCAhPT0xKSB7CiAgJEVSUk9SKCcjMzogX19udW0ubWF0Y2goX19yZSkuaW5kZXggPT09MS4gQWN0dWFsOiAnK19fbnVtLm1hdGNoKF9fcmUpLmluZGV4ICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyM0CmlmIChfX251bS5tYXRjaChfX3JlKS5pbnB1dCAhPT1TdHJpbmcoX19udW0pKSB7CiAgJEVSUk9SKCcjNDogX19udW0ubWF0Y2goX19yZSkuaW5wdXQgPT09U3RyaW5nKF9fbnVtKS4gQWN0dWFsOiAnK19fbnVtLm1hdGNoKF9fcmUpLmlucHV0ICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"match returns array as specified in 15.10.6.2","description":"Regular expression is /0./","path":"TestCases/ch15/15.5/15.5.4/15.5.4.10/S15.5.4.10_A2_T17.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBtYXRjaCByZXR1cm5zIGFycmF5IGFzIHNwZWNpZmllZCBpbiAxNS4xMC42LjIKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuMTAvUzE1LjUuNC4xMF9BMl9UMTguanMKICogQGRlc2NyaXB0aW9uIFJlZ3VsYXIgZXhwcmVzc2lvbiBpcyAvMC4vLgogKiBBbmQgcmVndWxhciBleHByZXNzaW9uIG9iamVjdCBoYXZlIHByb3BlcnR5IGxhc3RJbmRleCA9IDAKICovCgp2YXIgX19yZSA9IC8wLi87CgpfX3JlLmxhc3RJbmRleCA9IDA7Cgp2YXIgX19udW0gPSAxMDIwMzA0MDUwNjA3MDgwOTAwMDsKCk51bWJlci5wcm90b3R5cGUubWF0Y2ggPSBTdHJpbmcucHJvdG90eXBlLm1hdGNoOwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAoX19udW0ubWF0Y2goX19yZSlbMF0hPT0gIjAyIikgewogICRFUlJPUignIzE6IF9fbnVtLm1hdGNoKF9fcmUpWzBdPT09ICIwMiIuIEFjdHVhbDogJytfX251bS5tYXRjaChfX3JlKVswXSk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMyCmlmIChfX251bS5tYXRjaChfX3JlKS5sZW5ndGggIT09MSkgewogICRFUlJPUignIzI6IF9fbnVtLm1hdGNoKF9fcmUpLmxlbmd0aCA9PT0xLiBBY3R1YWw6ICcrX19udW0ubWF0Y2goX19yZSkubGVuZ3RoICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMzCmlmIChfX251bS5tYXRjaChfX3JlKS5pbmRleCAhPT0xKSB7CiAgJEVSUk9SKCcjMzogX19udW0ubWF0Y2goX19yZSkuaW5kZXggPT09MS4gQWN0dWFsOiAnK19fbnVtLm1hdGNoKF9fcmUpLmluZGV4ICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyM0CmlmIChfX251bS5tYXRjaChfX3JlKS5pbnB1dCAhPT1TdHJpbmcoX19udW0pKSB7CiAgJEVSUk9SKCcjNDogX19udW0ubWF0Y2goX19yZSkuaW5wdXQgPT09U3RyaW5nKF9fbnVtKS4gQWN0dWFsOiAnK19fbnVtLm1hdGNoKF9fcmUpLmlucHV0ICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"match returns array as specified in 15.10.6.2","description":"Regular expression is /0./.\nAnd regular expression object have property lastIndex = 0","path":"TestCases/ch15/15.5/15.5.4/15.5.4.10/S15.5.4.10_A2_T18.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBtYXRjaCByZXR1cm5zIGFycmF5IGFzIHNwZWNpZmllZCBpbiAxNS4xMC42LjIKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuMTAvUzE1LjUuNC4xMF9BMl9UMi5qcwogKiBAZGVzY3JpcHRpb24gUmVndWxhciBleHByZXNzaW9uIGlzIC8zNC9nCiAqLwoKdmFyIF9fbWF0Y2hlcz1bIjM0IiwiMzQiLCIzNCJdOwoKdmFyIF9fc3RyaW5nID0gIjM0MzQ0MzQ0NCI7CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmIChfX3N0cmluZy5tYXRjaCgvMzQvZykubGVuZ3RoIT09IDMpIHsKICAkRVJST1IoJyMxOiBfX3N0cmluZyA9ICIzNDM0NDM0NDQiOyBfX3N0cmluZy5tYXRjaCgvMzQvZykubGVuZ3RoPT09IDMuIEFjdHVhbDogJytfX3N0cmluZy5tYXRjaCgvMzQvZykubGVuZ3RoKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzIKZm9yKHZhciBtaT0wOyBtaTxfX21hdGNoZXMubGVuZ3RoOyBtaSsrKSB7CiAgaWYgKF9fc3RyaW5nLm1hdGNoKC8zNC9nKVttaV0hPT1fX21hdGNoZXNbbWldKSB7CiAgICAkRVJST1IoJyMyLicrbWkrJzogX19tYXRjaGVzPVsiMzQiLCIzNCIsIjM0Il07IF9fc3RyaW5nID0gIjM0MzQ0MzQ0NCI7IF9fc3RyaW5nLm1hdGNoKC8zNC9nKVsnK21pKyddPT09X19tYXRjaGVzWycrbWkrJ10uIEFjdHVhbDogJytfX3N0cmluZy5tYXRjaCgvMzQvZylbbWldKTsKICB9Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"match returns array as specified in 15.10.6.2","description":"Regular expression is /34/g","path":"TestCases/ch15/15.5/15.5.4/15.5.4.10/S15.5.4.10_A2_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBtYXRjaCByZXR1cm5zIGFycmF5IGFzIHNwZWNpZmllZCBpbiAxNS4xMC42LjIKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuMTAvUzE1LjUuNC4xMF9BMl9UMy5qcwogKiBAZGVzY3JpcHRpb24gUmVndWxhciBleHByZXNzaW9uIGlzIC9cZHsxfS9nCiAqLwoKdmFyIF9fbWF0Y2hlcz1bIjEiLCAiMiIsICIzIiwgIjQiLCAiNSIsICI2IiwgIjciLCAiOCIsICI5IiwgIjAiXTsKCnZhciBfX3N0cmluZyA9ICIxMjM0NTZhYmNkZTc4OTAiOwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAoX19zdHJpbmcubWF0Y2goL1xkezF9L2cpLmxlbmd0aCE9PSAxMCkgewogICRFUlJPUignIzE6IF9fc3RyaW5nID0gIjEyMzQ1NmFiY2RlNzg5MCI7IF9fc3RyaW5nLm1hdGNoKC9cXGR7MX0vZykubGVuZ3RoPT09IDEwLiBBY3R1YWw6ICcrX19zdHJpbmcubWF0Y2goL1xkezF9L2cpLmxlbmd0aCk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMyCmZvcih2YXIgbWk9MDsgbWk8X19tYXRjaGVzLmxlbmd0aDsgbWkrKykgewogIGlmIChfX3N0cmluZy5tYXRjaCgvXGR7MX0vZylbbWldIT09X19tYXRjaGVzW21pXSkgewogICAgJEVSUk9SKCcjMi4nK21pKyc6IF9fbWF0Y2hlcz1bIjEiLCAiMiIsICIzIiwgIjQiLCAiNSIsICI2IiwgIjciLCAiOCIsICI5IiwgIjAiXTsgX19zdHJpbmcgPSAiMTIzNDU2YWJjZGU3ODkwIjsgX19zdHJpbmcubWF0Y2goL1xcZHsxfS9nKVsnK21pKyddPT09X19tYXRjaGVzWycrbWkrJ10uIEFjdHVhbDogJytfX3N0cmluZy5tYXRjaCgvXGR7MX0vZylbbWldKTsKICB9Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"match returns array as specified in 15.10.6.2","description":"Regular expression is /\\d{1}/g","path":"TestCases/ch15/15.5/15.5.4/15.5.4.10/S15.5.4.10_A2_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBtYXRjaCByZXR1cm5zIGFycmF5IGFzIHNwZWNpZmllZCBpbiAxNS4xMC42LjIKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuMTAvUzE1LjUuNC4xMF9BMl9UNC5qcwogKiBAZGVzY3JpcHRpb24gUmVndWxhciBleHByZXNzaW9uIGlzIC9cZHsyfS9nCiAqLwoKdmFyIF9fbWF0Y2hlcz1bIjEyIiwgIjM0IiwgIjU2IiwgIjc4IiwgIjkwIl07Cgp2YXIgX19zdHJpbmcgPSAiMTIzNDU2YWJjZGU3ODkwIjsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKF9fc3RyaW5nLm1hdGNoKC9cZHsyfS9nKS5sZW5ndGghPT0gNSkgewogICRFUlJPUignIzE6IF9fc3RyaW5nID0gIjEyMzQ1NmFiY2RlNzg5MCI7IF9fc3RyaW5nLm1hdGNoKC9cXGR7Mn0vZykubGVuZ3RoPT09IDUuIEFjdHVhbDogJytfX3N0cmluZy5tYXRjaCgvXGR7Mn0vZykubGVuZ3RoKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzIKZm9yKHZhciBtaT0wOyBtaTxfX21hdGNoZXMubGVuZ3RoOyBtaSsrKSB7CiAgaWYgKF9fc3RyaW5nLm1hdGNoKC9cZHsyfS9nKVttaV0hPT1fX21hdGNoZXNbbWldKSB7CiAgICAkRVJST1IoJyMyLicrbWkrJzogX19tYXRjaGVzPVsiMTIiLCAiMzQiLCAiNTYiLCAiNzgiLCAiOTAiXTsgX19zdHJpbmcgPSAiMTIzNDU2YWJjZGU3ODkwIjsgX19zdHJpbmcubWF0Y2goL1xcZHsyfS9nKVsnK21pKyddPT09X19tYXRjaGVzWycrbWkrJ10uIEFjdHVhbDogJytfX3N0cmluZy5tYXRjaCgvXGR7Mn0vZylbbWldKTsKICB9Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"match returns array as specified in 15.10.6.2","description":"Regular expression is /\\d{2}/g","path":"TestCases/ch15/15.5/15.5.4/15.5.4.10/S15.5.4.10_A2_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBtYXRjaCByZXR1cm5zIGFycmF5IGFzIHNwZWNpZmllZCBpbiAxNS4xMC42LjIKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuMTAvUzE1LjUuNC4xMF9BMl9UNS5qcwogKiBAZGVzY3JpcHRpb24gUmVndWxhciBleHByZXNzaW9uIGlzIC9cRHsyfS9nCiAqLwoKdmFyIF9fbWF0Y2hlcz1bImFiIiwgImNkIl07Cgp2YXIgX19zdHJpbmcgPSAiMTIzNDU2YWJjZGU3ODkwIjsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKF9fc3RyaW5nLm1hdGNoKC9cRHsyfS9nKS5sZW5ndGghPT0gMikgewogICRFUlJPUignIzE6IF9fc3RyaW5nID0gIjEyMzQ1NmFiY2RlNzg5MCI7IF9fc3RyaW5nLm1hdGNoKC9cXER7Mn0vZykubGVuZ3RoPT09IDIuIEFjdHVhbDogJytfX3N0cmluZy5tYXRjaCgvXER7Mn0vZykubGVuZ3RoKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzIKZm9yKHZhciBtaT0wOyBtaTxfX21hdGNoZXMubGVuZ3RoOyBtaSsrKSB7CiAgaWYgKF9fc3RyaW5nLm1hdGNoKC9cRHsyfS9nKVttaV0hPT1fX21hdGNoZXNbbWldKSB7CiAgICAkRVJST1IoJyMyLicrbWkrJzogX19tYXRjaGVzPVsiYWIiLCAiY2QiXTsgX19zdHJpbmcgPSAiMTIzNDU2YWJjZGU3ODkwIjsgX19zdHJpbmcubWF0Y2goL1xcRHsyfS9nKVsnK21pKyddPT09X19tYXRjaGVzWycrbWkrJ10uIEFjdHVhbDogJytfX3N0cmluZy5tYXRjaCgvXER7Mn0vZylbbWldKTsKICB9Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"match returns array as specified in 15.10.6.2","description":"Regular expression is /\\D{2}/g","path":"TestCases/ch15/15.5/15.5.4/15.5.4.10/S15.5.4.10_A2_T5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBtYXRjaCByZXR1cm5zIGFycmF5IGFzIHNwZWNpZmllZCBpbiAxNS4xMC42LjIKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuMTAvUzE1LjUuNC4xMF9BMl9UNi5qcwogKiBAZGVzY3JpcHRpb24gUmVndWxhciBleHByZXNzaW9uIGlzIC8oW1xkXXs1fSkoWy1cIF0/W1xkXXs0fSk/JC8uIExhc3QgbWF0Y2ggaXMgdm9pZCAwCiAqLwoKdmFyIF9fc3RyaW5nID0gIkJvc3RvbiwgTWFzcy4gMDIxMzQiOwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAoX19zdHJpbmcubWF0Y2goLyhbXGRdezV9KShbLVwgXT9bXGRdezR9KT8kLylbMF0hPT0gIjAyMTM0IikgewogICRFUlJPUignIzE6IF9fc3RyaW5nID0gIkJvc3RvbiwgTWFzcy4gMDIxMzQiOyBfX3N0cmluZy5tYXRjaCgvKFtcXGRdezV9KShbLVxcIF0/W1xcZF17NH0pPyQvKVswXT09PSAiMDIxMzQiLiBBY3R1YWw6ICcrX19zdHJpbmcubWF0Y2goLyhbXGRdezV9KShbLVwgXT9bXGRdezR9KT8kLylbMF0pOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMgppZiAoX19zdHJpbmcubWF0Y2goLyhbXGRdezV9KShbLVwgXT9bXGRdezR9KT8kLylbMV0hPT0gIjAyMTM0IikgewogICRFUlJPUignIzI6IF9fc3RyaW5nID0gIkJvc3RvbiwgTWFzcy4gMDIxMzQiOyBfX3N0cmluZy5tYXRjaCgvKFtcXGRdezV9KShbLVxcIF0/W1xcZF17NH0pPyQvKVsxXT09PSAiMDIxMzQiLiBBY3R1YWw6ICcrX19zdHJpbmcubWF0Y2goLyhbXGRdezV9KShbLVwgXT9bXGRdezR9KT8kLylbMV0pOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMwppZiAoX19zdHJpbmcubWF0Y2goLyhbXGRdezV9KShbLVwgXT9bXGRdezR9KT8kLylbMl0hPT0gdm9pZCAwKSB7CiAgJEVSUk9SKCcjMzogX19zdHJpbmcgPSAiQm9zdG9uLCBNYXNzLiAwMjEzNCI7IF9fc3RyaW5nLm1hdGNoKC8oW1xcZF17NX0pKFstXFwgXT9bXFxkXXs0fSk/JC8pWzJdPT09IHZvaWQgMC4gQWN0dWFsOiAnK19fc3RyaW5nLm1hdGNoKC8oW1xkXXs1fSkoWy1cIF0/W1xkXXs0fSk/JC8pWzJdKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzQKaWYgKF9fc3RyaW5nLm1hdGNoKC8oW1xkXXs1fSkoWy1cIF0/W1xkXXs0fSk/JC8pLmxlbmd0aCAhPT0zKSB7CiAgJEVSUk9SKCcjNDogX19zdHJpbmcgPSAiQm9zdG9uLCBNYXNzLiAwMjEzNCI7IF9fc3RyaW5nLm1hdGNoKC8oW1xcZF17NX0pKFstXFwgXT9bXFxkXXs0fSk/JC8pLmxlbmd0aCA9PT0zLiBBY3R1YWw6ICcrX19zdHJpbmcubWF0Y2goLyhbXGRdezV9KShbLVwgXT9bXGRdezR9KT8kLykubGVuZ3RoICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyM1CmlmIChfX3N0cmluZy5tYXRjaCgvKFtcZF17NX0pKFstXCBdP1tcZF17NH0pPyQvKS5pbmRleCAhPT0xNCkgewogICRFUlJPUignIzU6IF9fc3RyaW5nID0gIkJvc3RvbiwgTWFzcy4gMDIxMzQiOyBfX3N0cmluZy5tYXRjaCgvKFtcXGRdezV9KShbLVxcIF0/W1xcZF17NH0pPyQvKS5pbmRleCA9PT0xNC4gQWN0dWFsOiAnK19fc3RyaW5nLm1hdGNoKC8oW1xkXXs1fSkoWy1cIF0/W1xkXXs0fSk/JC8pLmluZGV4ICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyM2CmlmIChfX3N0cmluZy5tYXRjaCgvKFtcZF17NX0pKFstXCBdP1tcZF17NH0pPyQvKS5pbnB1dCAhPT1fX3N0cmluZykgewogICRFUlJPUignIzY6IF9fc3RyaW5nID0gIkJvc3RvbiwgTWFzcy4gMDIxMzQiOyBfX3N0cmluZy5tYXRjaCgvKFtcXGRdezV9KShbLVxcIF0/W1xcZF17NH0pPyQvKS5pbnB1dCA9PT1fX3N0cmluZy4gQWN0dWFsOiAnK19fc3RyaW5nLm1hdGNoKC8oW1xkXXs1fSkoWy1cIF0/W1xkXXs0fSk/JC8pLmlucHV0ICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"match returns array as specified in 15.10.6.2","description":"Regular expression is /([\\d]{5})([-\\ ]?[\\d]{4})?$/. Last match is void 0","path":"TestCases/ch15/15.5/15.5.4/15.5.4.10/S15.5.4.10_A2_T6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBtYXRjaCByZXR1cm5zIGFycmF5IGFzIHNwZWNpZmllZCBpbiAxNS4xMC42LjIKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuMTAvUzE1LjUuNC4xMF9BMl9UNy5qcwogKiBAZGVzY3JpcHRpb24gUmVndWxhciBleHByZXNzaW9uIGlzIC8oW1xkXXs1fSkoWy1cIF0/W1xkXXs0fSk/JC9nCiAqLwoKdmFyIF9fbWF0Y2hlcz1bIjAyMTM0Il07Cgp2YXIgX19zdHJpbmcgPSAiQm9zdG9uLCBNYXNzLiAwMjEzNCI7CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmIChfX3N0cmluZy5tYXRjaCgvKFtcZF17NX0pKFstXCBdP1tcZF17NH0pPyQvZykubGVuZ3RoIT09IDEpIHsKICAkRVJST1IoJyMxOiBfX3N0cmluZyA9ICJCb3N0b24sIE1hc3MuIDAyMTM0IjsgX19zdHJpbmcubWF0Y2goLyhbXFxkXXs1fSkoWy1cXCBdP1tcXGRdezR9KT8kL2cpLmxlbmd0aD09PSAxLiBBY3R1YWw6ICcrX19zdHJpbmcubWF0Y2goLyhbXGRdezV9KShbLVwgXT9bXGRdezR9KT8kL2cpLmxlbmd0aCk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMyCmlmIChfX3N0cmluZy5tYXRjaCgvKFtcZF17NX0pKFstXCBdP1tcZF17NH0pPyQvZylbMF0hPT1fX21hdGNoZXNbMF0pIHsKICAkRVJST1IoJyMyOiBfX21hdGNoZXM9WyIwMjEzNCJdOyBfX3N0cmluZyA9ICJCb3N0b24sIE1hc3MuIDAyMTM0IjsgX19zdHJpbmcubWF0Y2goLyhbXFxkXXs1fSkoWy1cXCBdP1tcXGRdezR9KT8kL2cpWzBdPT09X19tYXRjaGVzWzBdLiBBY3R1YWw6ICcrX19zdHJpbmcubWF0Y2goLyhbXGRdezV9KShbLVwgXT9bXGRdezR9KT8kL2cpWzBdKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"match returns array as specified in 15.10.6.2","description":"Regular expression is /([\\d]{5})([-\\ ]?[\\d]{4})?$/g","path":"TestCases/ch15/15.5/15.5.4/15.5.4.10/S15.5.4.10_A2_T7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBtYXRjaCByZXR1cm5zIGFycmF5IGFzIHNwZWNpZmllZCBpbiAxNS4xMC42LjIKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuMTAvUzE1LjUuNC4xMF9BMl9UOC5qcwogKiBAZGVzY3JpcHRpb24gUmVndWxhciBleHByZXNzaW9uIGlzIC8oW1xkXXs1fSkoWy1cIF0/W1xkXXs0fSk/JC8uIExhc3QgbWF0Y2ggaXMgdW5kZWZpbmVkLgogKiBBbmQgcmVndWxhciBleHByZXNzaW9uIG9iamVjdCBoYXZlIHByb3BlcnR5IGxhc3RJbmRleCA9IDAKICovCgp2YXIgX19tYXRjaGVzPVsiMDIxMzQiLCAiMDIxMzQiLCB1bmRlZmluZWRdOwoKdmFyIF9fcmUgPSAvKFtcZF17NX0pKFstXCBdP1tcZF17NH0pPyQvOwpfX3JlLmxhc3RJbmRleCA9IDA7Cgp2YXIgX19zdHJpbmcgPSAiQm9zdG9uLCBNQSAwMjEzNCI7CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmIChfX3N0cmluZy5tYXRjaChfX3JlKS5sZW5ndGghPT0gMykgewogICRFUlJPUignIzE6IF9fc3RyaW5nID0gIkJvc3RvbiwgTUEgMDIxMzQiOyBfX3JlID0gLyhbXGRdezV9KShbLVwgXT9bXGRdezR9KT8kLzsgX19zdHJpbmcubWF0Y2goX19yZSkubGVuZ3RoPT09IDMuIEFjdHVhbDogJytfX3N0cmluZy5tYXRjaChfX3JlKS5sZW5ndGgpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMgppZiAoX19zdHJpbmcubWF0Y2goX19yZSkuaW5kZXggIT09X19zdHJpbmcubGFzdEluZGV4T2YoIjAiKSkgewogICRFUlJPUignIzI6IF9fc3RyaW5nID0gIkJvc3RvbiwgTUEgMDIxMzQiOyBfX3JlID0gLyhbXGRdezV9KShbLVwgXT9bXGRdezR9KT8kLzsgX19yZS5sYXN0SW5kZXggPSAwOyBfX3N0cmluZy5tYXRjaChfX3JlKS5pbmRleCA9PT1fX3N0cmluZy5sYXN0SW5kZXhPZigiMCIpLiBBY3R1YWw6ICcrX19zdHJpbmcubWF0Y2goX19yZSkuaW5kZXggKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzMKZm9yKHZhciBtaT0wOyBtaTxfX21hdGNoZXMubGVuZ3RoOyBtaSsrKSB7CiAgaWYgKF9fc3RyaW5nLm1hdGNoKF9fcmUpW21pXSE9PV9fbWF0Y2hlc1ttaV0pIHsKICAgICRFUlJPUignIzMuJyttaSsnOiBfX3N0cmluZyA9ICJCb3N0b24sIE1BIDAyMTM0IjsgX19yZSA9IC8oW1xkXXs1fSkoWy1cIF0/W1xkXXs0fSk/JC87IF9fbWF0Y2hlcz1bIjAyMTM0IiwgIjAyMTM0IiwgdW5kZWZpbmVkXTsgX19zdHJpbmcubWF0Y2goX19yZSlbJyttaSsnXT09PV9fbWF0Y2hlc1snK21pKyddLiBBY3R1YWw6ICcrX19zdHJpbmcubWF0Y2goX19yZSlbbWldKTsKICB9Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"match returns array as specified in 15.10.6.2","description":"Regular expression is /([\\d]{5})([-\\ ]?[\\d]{4})?$/. Last match is undefined.\nAnd regular expression object have property lastIndex = 0","path":"TestCases/ch15/15.5/15.5.4/15.5.4.10/S15.5.4.10_A2_T8.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBtYXRjaCByZXR1cm5zIGFycmF5IGFzIHNwZWNpZmllZCBpbiAxNS4xMC42LjIKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuMTAvUzE1LjUuNC4xMF9BMl9UOS5qcwogKiBAZGVzY3JpcHRpb24gUmVndWxhciBleHByZXNzaW9uIGlzIC8oW1xkXXs1fSkoWy1cIF0/W1xkXXs0fSk/JC8uIExhc3QgbWF0Y2ggaXMgdW5kZWZpbmVkLgogKiBBbmQgcmVndWxhciBleHByZXNzaW9uIG9iamVjdCBoYXZlIHByb3BlcnR5IGxhc3RJbmRleCA9IHRlc3RlZF9zdHJpbmcubGVuZ3RoCiAqLwoKdmFyIF9fc3RyaW5nID0gIkJvc3RvbiwgTUEgMDIxMzQiOwoKdmFyIF9fbWF0Y2hlcz1bIjAyMTM0IiwgIjAyMTM0IiwgdW5kZWZpbmVkXTsKCnZhciBfX3JlID0gLyhbXGRdezV9KShbLVwgXT9bXGRdezR9KT8kLzsKCl9fcmUubGFzdEluZGV4ID0gX19zdHJpbmcubGVuZ3RoOwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAoX19zdHJpbmcubWF0Y2goX19yZSkubGVuZ3RoIT09IDMpIHsKICAkRVJST1IoJyMxOiBfX3N0cmluZyA9ICJCb3N0b24sIE1BIDAyMTM0IjsgX19yZSA9IC8oW1xkXXs1fSkoWy1cIF0/W1xkXXs0fSk/JC87IF9fc3RyaW5nLm1hdGNoKF9fcmUpLmxlbmd0aD09PSAzLiBBY3R1YWw6ICcrX19zdHJpbmcubWF0Y2goX19yZSkubGVuZ3RoKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzIKaWYgKF9fc3RyaW5nLm1hdGNoKF9fcmUpLmluZGV4ICE9PV9fc3RyaW5nLmxhc3RJbmRleE9mKCIwIikpIHsKICAkRVJST1IoJyMyOiBfX3N0cmluZyA9ICJCb3N0b24sIE1BIDAyMTM0IjsgX19yZSA9IC8oW1xkXXs1fSkoWy1cIF0/W1xkXXs0fSk/JC87IF9fcmUubGFzdEluZGV4ID0gX19zdHJpbmcubGVuZ3RoOyBfX3N0cmluZy5tYXRjaChfX3JlKS5pbmRleCA9PT1fX3N0cmluZy5sYXN0SW5kZXhPZigiMCIpLiBBY3R1YWw6ICcrX19zdHJpbmcubWF0Y2goX19yZSkuaW5kZXggKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzMKZm9yKHZhciBtaT0wOyBtaTxfX21hdGNoZXMubGVuZ3RoOyBtaSsrKSB7CiAgaWYgKF9fc3RyaW5nLm1hdGNoKF9fcmUpW21pXSE9PV9fbWF0Y2hlc1ttaV0pIHsKICAgICRFUlJPUignIzMuJyttaSsnOiBfX3N0cmluZyA9ICJCb3N0b24sIE1BIDAyMTM0IjsgX19yZSA9IC8oW1xkXXs1fSkoWy1cIF0/W1xkXXs0fSk/JC87IF9fbWF0Y2hlcz1bIjAyMTM0IiwgIjAyMTM0IiwgdW5kZWZpbmVkXTsgX19zdHJpbmcubWF0Y2goX19yZSlbJyttaSsnXT09PV9fbWF0Y2hlc1snK21pKyddLiBBY3R1YWw6ICcrX19zdHJpbmcubWF0Y2goX19yZSlbbWldKTsKICB9Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"match returns array as specified in 15.10.6.2","description":"Regular expression is /([\\d]{5})([-\\ ]?[\\d]{4})?$/. Last match is undefined.\nAnd regular expression object have property lastIndex = tested_string.length","path":"TestCases/ch15/15.5/15.5.4/15.5.4.10/S15.5.4.10_A2_T9.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLm1hdGNoIGhhcyBub3QgcHJvdG90eXBlIHByb3BlcnR5CiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjEwL1MxNS41LjQuMTBfQTYuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIFN0cmluZy5wcm90b3R5cGUubWF0Y2gucHJvdG90eXBlCiAqLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAoU3RyaW5nLnByb3RvdHlwZS5tYXRjaC5wcm90b3R5cGUgIT09IHVuZGVmaW5lZCkgewogICRFUlJPUignIzE6IFN0cmluZy5wcm90b3R5cGUubWF0Y2gucHJvdG90eXBlID09PSB1bmRlZmluZWQuIEFjdHVhbDogJytTdHJpbmcucHJvdG90eXBlLm1hdGNoLnByb3RvdHlwZSApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"String.prototype.match has not prototype property","description":"Checking String.prototype.match.prototype","path":"TestCases/ch15/15.5/15.5.4/15.5.4.10/S15.5.4.10_A6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLm1hdGNoIGNhbid0IGJlIHVzZWQgYXMgY29uc3RydWN0b3IKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuMTAvUzE1LjUuNC4xMF9BNy5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgaWYgY3JlYXRpbmcgIlN0cmluZy5wcm90b3R5cGUubWF0Y2ggb2JqZWN0IiBmYWlscwogKi8KCnZhciBfX0ZBQ1RPUlkgPSBTdHJpbmcucHJvdG90eXBlLm1hdGNoOwoKdHJ5IHsKICB2YXIgX19pbnN0YW5jZSA9IG5ldyBfX0ZBQ1RPUlk7CiAgJEZBSUwoJyMxOiBfX0ZBQ1RPUlkgPSBTdHJpbmcucHJvdG90eXBlLm1hdGNoOyBfX0ZBQ1RPUlkgPSBTdHJpbmcucHJvdG90eXBlLm1hdGNoOyBfX2luc3RhbmNlID0gbmV3IF9fRkFDVE9SWSBsZWFkIHRvIHRocm93aW5nIGV4Y2VwdGlvbicpOw0KfSBjYXRjaCAoZSkgew0KICAgIGlmIChlIGluc3RhbmNlb2YgVGVzdDI2MkVycm9yKSB0aHJvdyBlOwp9Cgo=","commentary":"String.prototype.match can't be used as constructor","description":"Checking if creating \"String.prototype.match object\" fails","path":"TestCases/ch15/15.5/15.5.4/15.5.4.10/S15.5.4.10_A7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgU3RyaW5nLnByb3RvdHlwZS5tYXRjaC5sZW5ndGggcHJvcGVydHkgaGFzIHRoZSBhdHRyaWJ1dGUgRG9udEVudW0KICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuMTAvUzE1LjUuNC4xMF9BOC5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgaWYgZW51bWVyYXRpbmcgdGhlIFN0cmluZy5wcm90b3R5cGUubWF0Y2gubGVuZ3RoIHByb3BlcnR5IGZhaWxzCiAqLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMAppZiAoIShTdHJpbmcucHJvdG90eXBlLm1hdGNoLmhhc093blByb3BlcnR5KCdsZW5ndGgnKSkpIHsKICAkRkFJTCgnIzA6IFN0cmluZy5wcm90b3R5cGUubWF0Y2guaGFzT3duUHJvcGVydHkoXCdsZW5ndGhcJykgcmV0dXJuIHRydWUuIEFjdHVhbDogJytTdHJpbmcucHJvdG90eXBlLm1hdGNoLmhhc093blByb3BlcnR5KCdsZW5ndGgnKSk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vIENIRUNLIzEKaWYgKFN0cmluZy5wcm90b3R5cGUubWF0Y2gucHJvcGVydHlJc0VudW1lcmFibGUoJ2xlbmd0aCcpKSB7CiAgJEVSUk9SKCcjMTogU3RyaW5nLnByb3RvdHlwZS5tYXRjaC5wcm9wZXJ0eUlzRW51bWVyYWJsZShcJ2xlbmd0aFwnKSByZXR1cm4gZmFsc2UnKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovLyBDSEVDSyMyCnZhciBjb3VudD0wOwoKZm9yIChwIGluIFN0cmluZy5wcm90b3R5cGUubWF0Y2gpewogIGlmIChwPT09Imxlbmd0aCIpIGNvdW50Kys7Cn0KCmlmIChjb3VudCAhPT0gMCkgewogICRFUlJPUignIzI6IGNvdW50PTA7IGZvciAocCBpbiBTdHJpbmcucHJvdG90eXBlLm1hdGNoKXtpZiAocD09PSJsZW5ndGgiKSBjb3VudCsrO307IGNvdW50ID09PSAwLiBBY3R1YWw6ICcrY291bnQgKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"The String.prototype.match.length property has the attribute DontEnum","description":"Checking if enumerating the String.prototype.match.length property fails","path":"TestCases/ch15/15.5/15.5.4/15.5.4.10/S15.5.4.10_A8.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgU3RyaW5nLnByb3RvdHlwZS5tYXRjaC5sZW5ndGggcHJvcGVydHkgaGFzIHRoZSBhdHRyaWJ1dGUgRG9udERlbGV0ZQogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS40LzE1LjUuNC4xMC9TMTUuNS40LjEwX0E5LmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiBkZWxldGluZyB0aGUgU3RyaW5nLnByb3RvdHlwZS5tYXRjaC5sZW5ndGggcHJvcGVydHkgZmFpbHMKICovCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMwCmlmICghKFN0cmluZy5wcm90b3R5cGUubWF0Y2guaGFzT3duUHJvcGVydHkoJ2xlbmd0aCcpKSkgewogICRGQUlMKCcjMDogU3RyaW5nLnByb3RvdHlwZS5tYXRjaC5oYXNPd25Qcm9wZXJ0eShcJ2xlbmd0aFwnKSByZXR1cm4gdHJ1ZS4gQWN0dWFsOiAnK1N0cmluZy5wcm90b3R5cGUubWF0Y2guaGFzT3duUHJvcGVydHkoJ2xlbmd0aCcpKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKGRlbGV0ZSBTdHJpbmcucHJvdG90eXBlLm1hdGNoLmxlbmd0aCkgewogICRFUlJPUignIzE6IGRlbGV0ZSBTdHJpbmcucHJvdG90eXBlLm1hdGNoLmxlbmd0aCByZXR1cm4gZmFsc2UnKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzIKaWYgKCEoU3RyaW5nLnByb3RvdHlwZS5tYXRjaC5oYXNPd25Qcm9wZXJ0eSgnbGVuZ3RoJykpKSB7CiAgJEZBSUwoJyMyOiBkZWxldGUgU3RyaW5nLnByb3RvdHlwZS5tYXRjaC5sZW5ndGg7IFN0cmluZy5wcm90b3R5cGUubWF0Y2guaGFzT3duUHJvcGVydHkoXCdsZW5ndGhcJykgcmV0dXJuIHRydWUuIEFjdHVhbDogJytTdHJpbmcucHJvdG90eXBlLm1hdGNoLmhhc093blByb3BlcnR5KCdsZW5ndGgnKSk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"The String.prototype.match.length property has the attribute DontDelete","description":"Checking if deleting the String.prototype.match.length property fails","path":"TestCases/ch15/15.5/15.5.4/15.5.4.10/S15.5.4.10_A9.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuMTEvMTUuNS40LjExLTEuanMNCiAqIEBkZXNjcmlwdGlvbiAndGhpcycgb2JqZWN0IHVzZWQgYnkgdGhlIHJlcGxhY2VWYWx1ZSBmdW5jdGlvbiBvZiBhIFN0cmluZy5wcm90b3R5cGUucmVwbGFjZSBpbnZvY2F0aW9uDQogKi8NCg0KDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciByZXRWYWwgPSAneCcucmVwbGFjZSgveC8sIA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgZnVuY3Rpb24oKSB7IA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICh0aGlzPT09Zm5HbG9iYWxPYmplY3QoKSkgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gJ3knOw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiAneic7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgfSk7DQogIHJldHVybiByZXRWYWw9PT0neSc7DQp9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7","commentary":"","description":"'this' object used by the replaceValue function of a String.prototype.replace invocation","path":"TestCases/ch15/15.5/15.5.4/15.5.4.11/15.5.4.11-1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgU3RyaW5nLnByb3RvdHlwZS5yZXBsYWNlLmxlbmd0aCBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZSBSZWFkT25seQogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS40LzE1LjUuNC4xMS9TMTUuNS40LjExX0ExMC5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgaWYgdmFyeWluZyB0aGUgU3RyaW5nLnByb3RvdHlwZS5yZXBsYWNlLmxlbmd0aCBwcm9wZXJ0eSBmYWlscwogKi8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKCEoU3RyaW5nLnByb3RvdHlwZS5yZXBsYWNlLmhhc093blByb3BlcnR5KCdsZW5ndGgnKSkpIHsKICAkRkFJTCgnIzE6IFN0cmluZy5wcm90b3R5cGUucmVwbGFjZS5oYXNPd25Qcm9wZXJ0eShcJ2xlbmd0aFwnKSByZXR1cm4gdHJ1ZS4gQWN0dWFsOiAnK1N0cmluZy5wcm90b3R5cGUucmVwbGFjZS5oYXNPd25Qcm9wZXJ0eSgnbGVuZ3RoJykpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKdmFyIF9fb2JqID0gU3RyaW5nLnByb3RvdHlwZS5yZXBsYWNlLmxlbmd0aDsKClN0cmluZy5wcm90b3R5cGUucmVwbGFjZS5sZW5ndGggPSBmdW5jdGlvbigpe3JldHVybiAic2hpZnRlZCI7fTsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzIKaWYgKFN0cmluZy5wcm90b3R5cGUucmVwbGFjZS5sZW5ndGggIT09IF9fb2JqKSB7CiAgJEVSUk9SKCcjMjogX19vYmogPSBTdHJpbmcucHJvdG90eXBlLnJlcGxhY2UubGVuZ3RoOyBTdHJpbmcucHJvdG90eXBlLnJlcGxhY2UubGVuZ3RoID0gZnVuY3Rpb24oKXtyZXR1cm4gInNoaWZ0ZWQiO307IFN0cmluZy5wcm90b3R5cGUucmVwbGFjZS5sZW5ndGggPT09IF9fb2JqLiBBY3R1YWw6ICcrU3RyaW5nLnByb3RvdHlwZS5yZXBsYWNlLmxlbmd0aCApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"The String.prototype.replace.length property has the attribute ReadOnly","description":"Checking if varying the String.prototype.replace.length property fails","path":"TestCases/ch15/15.5/15.5.4/15.5.4.11/S15.5.4.11_A10.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgbGVuZ3RoIHByb3BlcnR5IG9mIHRoZSByZXBsYWNlIG1ldGhvZCBpcyAyCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjExL1MxNS41LjQuMTFfQTExLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBTdHJpbmcucHJvdG90eXBlLnJlcGxhY2UubGVuZ3RoCiAqLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAoIShTdHJpbmcucHJvdG90eXBlLnJlcGxhY2UuaGFzT3duUHJvcGVydHkoImxlbmd0aCIpKSkgewogICRFUlJPUignIzE6IFN0cmluZy5wcm90b3R5cGUucmVwbGFjZS5oYXNPd25Qcm9wZXJ0eSgibGVuZ3RoIikgcmV0dXJuIHRydWUuIEFjdHVhbDogJytTdHJpbmcucHJvdG90eXBlLnJlcGxhY2UuaGFzT3duUHJvcGVydHkoImxlbmd0aCIpKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzIKaWYgKFN0cmluZy5wcm90b3R5cGUucmVwbGFjZS5sZW5ndGggIT09IDIpIHsKICAkRVJST1IoJyMyOiBTdHJpbmcucHJvdG90eXBlLnJlcGxhY2UubGVuZ3RoID09PSAyLiBBY3R1YWw6ICcrU3RyaW5nLnByb3RvdHlwZS5yZXBsYWNlLmxlbmd0aCApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"The length property of the replace method is 2","description":"Checking String.prototype.replace.length","path":"TestCases/ch15/15.5/15.5.4/15.5.4.11/S15.5.4.11_A11.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMTEgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBDYWxsIHJlcGxhY2VWYWx1ZSBwYXNzaW5nIHVuZGVmaW5lZCBhcyB0aGUgdGhpcyB2YWx1ZQogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS40LzE1LjUuNC4xMS9TMTUuNS40LjExX0ExMi5qcwogKiBAZGVzY3JpcHRpb24gcmVwbGFjZVZhbHVlIHRlc3RzIHRoYXQgaXRzIHRoaXMgdmFsdWUgaXMgdW5kZWZpbmVkCiAqIEBvbmx5U3RyaWN0CiAqLwoKdmFyIGdsb2JhbCA9IHRoaXM7Cid4Jy5yZXBsYWNlKC94LywgZnVuY3Rpb24oKSB7CiAgInVzZSBzdHJpY3QiOwoKICBpZiAodGhpcyA9PT0gZ2xvYmFsKSB7CiAgICAkRkFJTCgnIzE6IFN0cmluZyByZXBsYWNlIGxlYWtzIGdsb2JhbCcpOwogIH0KICBpZiAodGhpcyAhPT0gdW5kZWZpbmVkKSB7CiAgICAkRkFJTCgnIzI6IHJlcGxhY2VWYWx1ZSBzaG91bGQgYmUgY2FsbGVkIHdpdGggdGhpcz09PXVuZGVmaW5lZC4gJyArCiAgICAgICAgICAnQWN0dWFsOiAnICsgdGhpcyk7CiAgfQogIHJldHVybiAneSc7Cn0pOwoK","commentary":"Call replaceValue passing undefined as the this value","description":"replaceValue tests that its this value is undefined","onlyStrict":"","path":"TestCases/ch15/15.5/15.5.4/15.5.4.11/S15.5.4.11_A12.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnJlcGxhY2UgKHNlYXJjaFZhbHVlLCByZXBsYWNlVmFsdWUpCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjExL1MxNS41LjQuMTFfQTFfVDEuanMKICogQGRlc2NyaXB0aW9uIEFyZ3VtZW50cyBhcmUgdHJ1ZSBhbmQgMSwgYW5kIGluc3RhbmNlIGlzIG9iamVjdAogKi8KCnZhciBfX2luc3RhbmNlID0gbmV3IE9iamVjdCh0cnVlKTsKCl9faW5zdGFuY2UucmVwbGFjZSA9IFN0cmluZy5wcm90b3R5cGUucmVwbGFjZTsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKF9faW5zdGFuY2UucmVwbGFjZSh0cnVlLCAxKSAhPT0gIjEiKSB7CiAgJEVSUk9SKCcjMTogX19pbnN0YW5jZSA9IG5ldyBPYmplY3QodHJ1ZSk7IF9faW5zdGFuY2UucmVwbGFjZSA9IFN0cmluZy5wcm90b3R5cGUucmVwbGFjZTsgIF9faW5zdGFuY2UucmVwbGFjZSh0cnVlLCAxKSA9PT0gIjEiLiBBY3R1YWw6ICcrX19pbnN0YW5jZS5yZXBsYWNlKHRydWUsIDEpICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"String.prototype.replace (searchValue, replaceValue)","description":"Arguments are true and 1, and instance is object","path":"TestCases/ch15/15.5/15.5.4/15.5.4.11/S15.5.4.11_A1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnJlcGxhY2UgKHNlYXJjaFZhbHVlLCByZXBsYWNlVmFsdWUpCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjExL1MxNS41LjQuMTFfQTFfVDEwLmpzCiAqIEBkZXNjcmlwdGlvbiBDYWxsIHJlcGxhY2UgKHNlYXJjaFZhbHVlLCByZXBsYWNlVmFsdWUpIGZ1bmN0aW9uIHdpdGggb2JqZWN0IGFuZCBmdW5jdGlvbiBhcmd1bWVudHMgb2Ygc3RyaW5nLiBPYmplY3QgaGF2ZSBvdmVycmlkZWQgdG9TdHJpbmcgZnVuY3Rpb24KICovCgp2YXIgX19vYmogPSB7dG9TdHJpbmc6ZnVuY3Rpb24oKXtyZXR1cm4gIlx1MDA0MUIiO319OwoKdmFyIF9fc3RyID0gIkFCQlx1MDA0MUJBQkFCIjsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKd2l0aChfX3N0cil7CiAgICBpZiAocmVwbGFjZShfX29iaiwgZnVuY3Rpb24oKXtyZXR1cm4geDt9KSAhPT0gInVuZGVmaW5lZEJBQkFCQUIiKSB7CiAgICAgICRFUlJPUignIzE6IHZhciB4OyB2YXIgX19vYmogPSB7dG9TdHJpbmc6ZnVuY3Rpb24oKXtyZXR1cm4gIlx1MDA0MUIiO319OyB2YXIgX19zdHIgPSAiQUJCXHUwMDQxQkFCQUIiOyByZXBsYWNlKF9fb2JqLCBmdW5jdGlvbigpe3JldHVybiB4O30pID09PSAidW5kZWZpbmVkQkFCQUJBQiIuIEFjdHVhbDogJytyZXBsYWNlKF9fb2JqLCBmdW5jdGlvbigpe3JldHVybiB4O30pICk7CiAgICB9Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgp2YXIgeDsKCg==","commentary":"String.prototype.replace (searchValue, replaceValue)","description":"Call replace (searchValue, replaceValue) function with object and function arguments of string. Object have overrided toString function","path":"TestCases/ch15/15.5/15.5.4/15.5.4.11/S15.5.4.11_A1_T10.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnJlcGxhY2UgKHNlYXJjaFZhbHVlLCByZXBsYWNlVmFsdWUpCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjExL1MxNS41LjQuMTFfQTFfVDExLmpzCiAqIEBkZXNjcmlwdGlvbiBDYWxsIHJlcGxhY2UgKHNlYXJjaFZhbHVlLCByZXBsYWNlVmFsdWUpIGZ1bmN0aW9uIHdpdGggb2JqZWN0cyBhcmd1bWVudHMgb2Ygc3RyaW5nIG9iamVjdC4gT2JqZWN0cyBoYXZlIG92ZXJyaWRlZCB0b1N0cmluZyBmdW5jdGlvbiwgdGhhdCB0aHJvdyBleGNlcHRpb24KICovCgp2YXIgX19vYmogPSB7dG9TdHJpbmc6ZnVuY3Rpb24oKXt0aHJvdyAiaW5zZWFyY2hWYWx1ZSI7fX07CnZhciBfX29iajIgPSB7dG9TdHJpbmc6ZnVuY3Rpb24oKXt0aHJvdyAiaW5yZXBsYWNlVmFsdWUiO319Owp2YXIgX19zdHIgPSB7c3RyX186IkFCQlx1MDA0MUJBQkFCIn07CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCndpdGgoX19zdHIpewogICAgd2l0aChzdHJfXyl7CiAgICAgICAgdHJ5IHsKICAgICAgICAgIHZhciB4ID0gcmVwbGFjZShfX29iaixfX29iajIpOwogICAgICAgICAgJEZBSUwoJyMxOiAidmFyIHggPSByZXBsYWNlKF9fb2JqLF9fb2JqMikiIGxlYWQgdG8gdGhyb3dpbmcgZXhjZXB0aW9uJyk7CiAgICAgICAgfSBjYXRjaCAoZSkgewogICAgICAgICAgaWYgKGUhPT0iaW5zZWFyY2hWYWx1ZSIpIHsKICAgICAgICAgICAgJEVSUk9SKCcjMS4xOiBFeGNlcHRpb24gPT09ICJpbnNlYXJjaFZhbHVlIi4gQWN0dWFsOiAnK2UpOwogICAgICAgICAgfQogICAgICAgIH0KICAgIH0KfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"String.prototype.replace (searchValue, replaceValue)","description":"Call replace (searchValue, replaceValue) function with objects arguments of string object. Objects have overrided toString function, that throw exception","path":"TestCases/ch15/15.5/15.5.4/15.5.4.11/S15.5.4.11_A1_T11.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnJlcGxhY2UgKHNlYXJjaFZhbHVlLCByZXBsYWNlVmFsdWUpCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjExL1MxNS41LjQuMTFfQTFfVDEyLmpzCiAqIEBkZXNjcmlwdGlvbiBDYWxsIHJlcGxhY2UgKHNlYXJjaFZhbHVlLCByZXBsYWNlVmFsdWUpIGZ1bmN0aW9uIHdpdGggb2JqZWN0cyBhcmd1bWVudHMgb2YgU3RyaW5nIG9iamVjdC4KICogRmlyc3Qgb2JqZWN0cyBoYXZlIG92ZXJyaWRlZCB0b1N0cmluZyBhbmQgdmFsdWVPZiBmdW5jdGlvbnMsIHZhbHVlT2YgdGhyb3cgZXhjZXB0aW9uLgogKiBTZWNvbmQgb2JqZWN0cyBoYXZlIG92ZXJyaWRlZCB0b1N0cmluZyBmdW5jdGlvbiwgdGhhdCB0aHJvdyBleGNlcHRpb24KICovCgp2YXIgX19vYmogPSB7dG9TdHJpbmc6ZnVuY3Rpb24oKXtyZXR1cm4ge307fSwgdmFsdWVPZjpmdW5jdGlvbigpe3Rocm93ICJpbnNlYXJjaFZhbHVlIjt9fTsKdmFyIF9fb2JqMiA9IHt0b1N0cmluZzpmdW5jdGlvbigpe3Rocm93ICJpbnJlcGxhY2VWYWx1ZSI7fX07CnZhciBfX3N0ciA9IG5ldyBTdHJpbmcoIkFCQlx1MDA0MUJBQkFCIik7CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCndpdGgoX19zdHIpewogICAgdHJ5IHsKICAgICAgdmFyIHggPSByZXBsYWNlKF9fb2JqLCBfX29iajIpOwogICAgICAkRkFJTCgnIzE6ICJ2YXIgeCA9IHJlcGxhY2UoX19vYmosX19vYmoyKSIgbGVhZCB0byB0aHJvd2luZyBleGNlcHRpb24nKTsKICAgIH0gY2F0Y2ggKGUpIHsKICAgICAgaWYgKGUhPT0iaW5zZWFyY2hWYWx1ZSIpIHsKICAgICAgICAkRVJST1IoJyMxLjE6IEV4Y2VwdGlvbiA9PT0gImluc2VhcmNoVmFsdWUiLiBBY3R1YWw6ICcrZSk7CiAgICAgIH0KICAgIH0KfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"String.prototype.replace (searchValue, replaceValue)","description":"Call replace (searchValue, replaceValue) function with objects arguments of String object.\nFirst objects have overrided toString and valueOf functions, valueOf throw exception.\nSecond objects have overrided toString function, that throw exception","path":"TestCases/ch15/15.5/15.5.4/15.5.4.11/S15.5.4.11_A1_T12.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnJlcGxhY2UgKHNlYXJjaFZhbHVlLCByZXBsYWNlVmFsdWUpCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjExL1MxNS41LjQuMTFfQTFfVDEzLmpzCiAqIEBkZXNjcmlwdGlvbiBDYWxsIHJlcGxhY2UgKHNlYXJjaFZhbHVlLCByZXBsYWNlVmFsdWUpIGZ1bmN0aW9uIHdpdGggb2JqZWN0cyBhcmd1bWVudHMgb2Ygc3RyaW5nLgogKiBGaXJzdCBvYmplY3RzIGhhdmUgb3ZlcnJpZGVkIHRvU3RyaW5nIGFuZCB2YWx1ZU9mIGZ1bmN0aW9ucy4KICogU2Vjb25kIG9iamVjdHMgaGF2ZSBvdmVycmlkZWQgdG9TdHJpbmcgZnVuY3Rpb24sIHRoYXQgdGhyb3cgZXhjZXB0aW9uCiAqLwoKdmFyIF9fb2JqID0ge3RvU3RyaW5nOmZ1bmN0aW9uKCl7cmV0dXJuIHt9O30sIHZhbHVlT2Y6ZnVuY3Rpb24oKXtyZXR1cm4gMTt9fTsKdmFyIF9fb2JqMiA9IHt0b1N0cmluZzpmdW5jdGlvbigpe3Rocm93ICJpbnJlcGxhY2VWYWx1ZSI7fX07CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCnRyeSB7CiAgICB2YXIgeCA9ICJBQkJcdTAwNDFCQUJBQlx1MDAzMUJCQUEiLnJlcGxhY2UoX19vYmosIF9fb2JqMik7CiAgICAkRkFJTCgnIzE6IHZhciB4ID0gIkFCQlxcdTAwNDFCQUJBQlxcdTAwMzFCQkFBIi5yZXBsYWNlKF9fb2JqLF9fb2JqMikgbGVhZCB0byB0aHJvd2luZyBleGNlcHRpb24nKTsKfSBjYXRjaCAoZSkgewogICAgaWYgKGUhPT0iaW5yZXBsYWNlVmFsdWUiKSB7CiAgICAgICAgJEVSUk9SKCcjMS4xOiBFeGNlcHRpb24gPT09ICJpbnJlcGxhY2VWYWx1ZSIuIEFjdHVhbDogJytlKTsKICAgIH0KfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCgo=","commentary":"String.prototype.replace (searchValue, replaceValue)","description":"Call replace (searchValue, replaceValue) function with objects arguments of string.\nFirst objects have overrided toString and valueOf functions.\nSecond objects have overrided toString function, that throw exception","path":"TestCases/ch15/15.5/15.5.4/15.5.4.11/S15.5.4.11_A1_T13.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnJlcGxhY2UgKHNlYXJjaFZhbHVlLCByZXBsYWNlVmFsdWUpCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjExL1MxNS41LjQuMTFfQTFfVDE0LmpzCiAqIEBkZXNjcmlwdGlvbiBJbnN0YW5jZSBpcyBzdHJpbmcsIHNlYXJjaFZhbHVlIGlzIHJlZ3VsYXIgZXhwcmVzc2lvbgogKi8KCnZhciBfX3JlZyA9IG5ldyBSZWdFeHAoIjc3Iik7CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmICgiQUJCXHUwMDQxQkFCQUJcdTAwMzdcdTAwMzdCQkFBIi5yZXBsYWNlKF9fcmVnLCAxKSAhPT0gIkFCQkFCQUJBQlx1MDAzMUJCQUEiKSB7CiAgJEVSUk9SKCcjMTogdmFyIF9fcmVnID0gbmV3IFJlZ0V4cCgiNzciKTsgIkFCQlxcdTAwNDFCQUJBQlxcdTAwMzdcXHUwMDM3QkJBQSIucmVwbGFjZShfX3JlZywgMSkgPT09ICJBQkJBQkFCQUJcXHUwMDMxQkJBQSIuIEFjdHVhbDogJysoIkFCQlx1MDA0MUJBQkFCXHUwMDM3XHUwMDM3QkJBQSIucmVwbGFjZShfX3JlZywgMSkpICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"String.prototype.replace (searchValue, replaceValue)","description":"Instance is string, searchValue is regular expression","path":"TestCases/ch15/15.5/15.5.4/15.5.4.11/S15.5.4.11_A1_T14.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnJlcGxhY2UgKHNlYXJjaFZhbHVlLCByZXBsYWNlVmFsdWUpCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjExL1MxNS41LjQuMTFfQTFfVDE1LmpzCiAqIEBkZXNjcmlwdGlvbiBJbnN0YW5jZSBpcyBPYmplY3QsIHNlYXJjaFZhbHVlIGlzIHJlZ3VsYXIgZXhwcmVzc2lvbgogKi8KCnZhciBfX29iaiA9IHt0b1N0cmluZzpmdW5jdGlvbigpe3JldHVybiAvNzcvfX07Cgp2YXIgX19pbnN0YW5jZSA9IG5ldyBPYmplY3QoMTEwMC4wMDc3NzAwMSk7CgpPYmplY3QucHJvdG90eXBlLnJlcGxhY2UgPSBTdHJpbmcucHJvdG90eXBlLnJlcGxhY2U7CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCnRyeSB7CiAgdmFyIHggPSBfX2luc3RhbmNlLnJlcGxhY2UoX19vYmosIDEpID09PSAiMTEwMC4wMDE3MDAxIjsKICAgICRGQUlMKCcjMS4wOiB4ID0gX19pbnN0YW5jZS5yZXBsYWNlKF9fb2JqLCAxKSA9PT0gIjExMDAuMDAxNzAwMSIgbGVhZCB0byB0aHJvd2luZyBleGNlcHRpb24nKTsKfSBjYXRjaCAoZSkgewogIGlmICghKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpKSB7CiAgICAkRVJST1IoJyMxLjE6IEV4Y2VwdGlvbiBpcyBpbnN0YW5jZSBvZiBUeXBlRXJyb3IuIEFjdHVhbDogJytlKTsKICB9Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"String.prototype.replace (searchValue, replaceValue)","description":"Instance is Object, searchValue is regular expression","path":"TestCases/ch15/15.5/15.5.4/15.5.4.11/S15.5.4.11_A1_T15.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnJlcGxhY2UgKHNlYXJjaFZhbHVlLCByZXBsYWNlVmFsdWUpCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjExL1MxNS41LjQuMTFfQTFfVDE2LmpzCiAqIEBkZXNjcmlwdGlvbiBJbnN0YW5jZSBpcyBOdW1iZXIsIHNlYXJjaFZhbHVlIGlzIHJlZ3VsYXIgZXhwcmVzc2lvbgogKi8KCnZhciBfX3JlID0gLzc3LzsKCnZhciBfX2luc3RhbmNlID0gbmV3IE51bWJlcigxMTAwLjAwNzc3MDAxKTsKCk51bWJlci5wcm90b3R5cGUucmVwbGFjZSA9IFN0cmluZy5wcm90b3R5cGUucmVwbGFjZTsKCnZhciBfX29iaiA9IHt0b1N0cmluZzpmdW5jdGlvbigpe3JldHVybiBmdW5jdGlvbihhMSxhMixhMyl7cmV0dXJuIGEyKyJ6In07fX0KLy9fX29iaiA9IGZ1bmN0aW9uKGExLGEyLGEzKXtyZXR1cm4gYTIrInoifTsKCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCnRyeSB7CiAgdmFyIHggPSBfX2luc3RhbmNlLnJlcGxhY2UoX19yZSwgX19vYmopID09PSAiMTEwMC4wMDd6NzAwMSI7CiAgJEZBSUwoJyMxLjA6IHggPSBfX2luc3RhbmNlLnJlcGxhY2UoX19vYmosIDEpID09PSAiMTEwMC4wMDd6NzAwMSIgbGVhZCB0byB0aHJvd2luZyBleGNlcHRpb24nKTsKfSBjYXRjaCAoZSkgewogIGlmICghKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpKSB7CiAgICAkRVJST1IoJyMxLjE6IEV4Y2VwdGlvbiBpcyBpbnN0YW5jZSBvZiBUeXBlRXJyb3IuIEFjdHVhbDogJytlKTsKICB9Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"String.prototype.replace (searchValue, replaceValue)","description":"Instance is Number, searchValue is regular expression","path":"TestCases/ch15/15.5/15.5.4/15.5.4.11/S15.5.4.11_A1_T16.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnJlcGxhY2UgKHNlYXJjaFZhbHVlLCByZXBsYWNlVmFsdWUpCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjExL1MxNS41LjQuMTFfQTFfVDE3LmpzCiAqIEBkZXNjcmlwdGlvbiBJbnN0YW5jZSBpcyBTdHJpbmcgb2JqZWN0LCBzZWFyY2hWYWx1ZSBpcyByZWd1bGFyIGV4cHJlc3Npb24KICovCgp2YXIgX19yZSA9IG5ldyBSZWdFeHAoeCwiZyIpOwoKdmFyIF9faW5zdGFuY2UgPSBTdHJpbmcoImFzZGYiKTsKCnZhciBfX3N0ciA9ICIxIjsKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAoX19pbnN0YW5jZS5yZXBsYWNlKF9fcmUsIF9fc3RyKSAhPT0gIjFhMXMxZDFmMSIpIHsKICAkRVJST1IoJyMxOiB2YXIgeDsgdmFyIF9fcmUgPSBuZXcgUmVnRXhwKHgsImciKTsgX19pbnN0YW5jZSA9IFN0cmluZygiYXNkZiIpOyBfX3N0ciA9ICIxIjsgX19pbnN0YW5jZS5yZXBsYWNlKF9fcmUsIF9fc3RyKSA9PT0gIjFhMXMxZDFmMSIuIEFjdHVhbDogJytfX2luc3RhbmNlLnJlcGxhY2UoX19yZSwgX19zdHIpICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgp2YXIgeDsKCg==","commentary":"String.prototype.replace (searchValue, replaceValue)","description":"Instance is String object, searchValue is regular expression","path":"TestCases/ch15/15.5/15.5.4/15.5.4.11/S15.5.4.11_A1_T17.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnJlcGxhY2UgKHNlYXJjaFZhbHVlLCByZXBsYWNlVmFsdWUpCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjExL1MxNS41LjQuMTFfQTFfVDIuanMKICogQGRlc2NyaXB0aW9uIEFyZ3VtZW50IGlzIGZ1bmN0aW9uIHRoYXQgcmV0dXJuIGJvb2xlYW4sIGFuZCBpbnN0YW5jZSBpcyBCb29sZWFuIG9iamVjdAogKi8KCnZhciBfX2luc3RhbmNlID0gbmV3IEJvb2xlYW47CgpfX2luc3RhbmNlLnJlcGxhY2UgPSBTdHJpbmcucHJvdG90eXBlLnJlcGxhY2U7CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmIChfX2luc3RhbmNlLnJlcGxhY2UoZnVuY3Rpb24oKXtyZXR1cm4gZmFsc2U7fSgpLHgpICE9PSAidW5kZWZpbmVkIikgewogICRFUlJPUignIzE6IHZhciB4OyBfX2luc3RhbmNlID0gbmV3IEJvb2xlYW47IF9faW5zdGFuY2UucmVwbGFjZSA9IFN0cmluZy5wcm90b3R5cGUucmVwbGFjZTsgIF9faW5zdGFuY2UucmVwbGFjZShmdW5jdGlvbigpe3JldHVybiBmYWxzZTt9KCkseCkgPT09ICJ1bmRlZmluZWQiLiBBY3R1YWw6ICcrX19pbnN0YW5jZS5yZXBsYWNlKGZ1bmN0aW9uKCl7cmV0dXJuIGZhbHNlO30oKSx4KSApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKdmFyIHg7Cgo=","commentary":"String.prototype.replace (searchValue, replaceValue)","description":"Argument is function that return boolean, and instance is Boolean object","path":"TestCases/ch15/15.5/15.5.4/15.5.4.11/S15.5.4.11_A1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnJlcGxhY2UgKHNlYXJjaFZhbHVlLCByZXBsYWNlVmFsdWUpCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjExL1MxNS41LjQuMTFfQTFfVDQuanMKICogQGRlc2NyaXB0aW9uIENhbGwgcmVwbGFjZSAoc2VhcmNoVmFsdWUsIHJlcGxhY2VWYWx1ZSkgZnVuY3Rpb24gd2l0aCBudWxsIGFuZCBmdW5jdGlvbihhMSxhMixhMyl7cmV0dXJuIGEyKyIiO30gYXJndW1lbnRzIG9mIGZ1bmN0aW9uIG9iamVjdAogKi8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKGZ1bmN0aW9uKCl7cmV0dXJuICJnbnVsbHVuYSJ9KCkucmVwbGFjZShudWxsLGZ1bmN0aW9uKGExLGEyLGEzKXtyZXR1cm4gYTIrIiI7fSkgIT09ICJnMXVuYSIpIHsKICAkRVJST1IoJyMxOiBmdW5jdGlvbigpe3JldHVybiAiZ251bGx1bmEifSgpLnJlcGxhY2UobnVsbCxmdW5jdGlvbihhMSxhMixhMyl7cmV0dXJuIGEyKyIiO30pID09PSAiZzF1bmEiLiBBY3R1YWw6ICcrZnVuY3Rpb24oKXtyZXR1cm4gImdudWxsdW5hIn0oKS5yZXBsYWNlKG51bGwsZnVuY3Rpb24oYTEsYTIsYTMpe3JldHVybiBhMisiIjt9KSApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"String.prototype.replace (searchValue, replaceValue)","description":"Call replace (searchValue, replaceValue) function with null and function(a1,a2,a3){return a2+\"\";} arguments of function object","path":"TestCases/ch15/15.5/15.5.4/15.5.4.11/S15.5.4.11_A1_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnJlcGxhY2UgKHNlYXJjaFZhbHVlLCByZXBsYWNlVmFsdWUpCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjExL1MxNS41LjQuMTFfQTFfVDUuanMKICogQGRlc2NyaXB0aW9uIENhbGwgcmVwbGFjZSAoc2VhcmNoVmFsdWUsIHJlcGxhY2VWYWx1ZSkgZnVuY3Rpb24gd2l0aCBudWxsIGFuZCBGdW5jdGlvbigpIGFyZ3VtZW50cyBvZiBmdW5jdGlvbiBvYmplY3QKICovCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmIChmdW5jdGlvbigpe3JldHVybiAiZ251bGx1bmEifSgpLnJlcGxhY2UobnVsbCwgRnVuY3Rpb24oKSkgIT09ICJndW5kZWZpbmVkdW5hIikgewogICRFUlJPUignIzE6IGZ1bmN0aW9uKCl7cmV0dXJuICJnbnVsbHVuYSJ9KCkucmVwbGFjZShudWxsLCBGdW5jdGlvbigpKSA9PT0gImd1bmRlZmluZWR1bmEiLiBBY3R1YWw6ICcrZnVuY3Rpb24oKXtyZXR1cm4gImdudWxsdW5hIn0oKS5yZXBsYWNlKG51bGwsIEZ1bmN0aW9uKCkpICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"String.prototype.replace (searchValue, replaceValue)","description":"Call replace (searchValue, replaceValue) function with null and Function() arguments of function object","path":"TestCases/ch15/15.5/15.5.4/15.5.4.11/S15.5.4.11_A1_T5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnJlcGxhY2UgKHNlYXJjaFZhbHVlLCByZXBsYWNlVmFsdWUpCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjExL1MxNS41LjQuMTFfQTFfVDYuanMKICogQGRlc2NyaXB0aW9uIENhbGwgcmVwbGFjZSAoc2VhcmNoVmFsdWUsIHJlcGxhY2VWYWx1ZSkgZnVuY3Rpb24gd2l0aCB4IGFuZCBGdW5jdGlvbigicmV0dXJuIGFyZ3VtZW50c1sxXSs0MjsiKSBhcmd1bWVudHMgb2YgbmV3IFN0cmluZyBvYmplY3QuIHggaXMgdW5kZWZpbmVkIHZhcmlhYmxlCiAqLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAobmV3IFN0cmluZygidW5kZWZpbmVkIikucmVwbGFjZSh4LEZ1bmN0aW9uKCJyZXR1cm4gYXJndW1lbnRzWzFdKzQyOyIpKSAhPT0gIjQyIikgewogICRFUlJPUignIzE6IHZhciB4OyBuZXcgU3RyaW5nKCJ1bmRlZmluZWQiKS5yZXBsYWNlKHgsRnVuY3Rpb24oInJldHVybiBhcmd1bWVudHNbMV0rNDI7IikpID09PSAiNDIiLiBBY3R1YWw6ICcrbmV3IFN0cmluZygidW5kZWZpbmVkIikucmVwbGFjZSh4LEZ1bmN0aW9uKCJyZXR1cm4gYXJndW1lbnRzWzFdKzQyOyIpKSApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKdmFyIHg7Cgo=","commentary":"String.prototype.replace (searchValue, replaceValue)","description":"Call replace (searchValue, replaceValue) function with x and Function(\"return arguments[1]+42;\") arguments of new String object. x is undefined variable","path":"TestCases/ch15/15.5/15.5.4/15.5.4.11/S15.5.4.11_A1_T6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnJlcGxhY2UgKHNlYXJjaFZhbHVlLCByZXBsYWNlVmFsdWUpCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjExL1MxNS41LjQuMTFfQTFfVDcuanMKICogQGRlc2NyaXB0aW9uIENhbGwgcmVwbGFjZSAoc2VhcmNoVmFsdWUsIHJlcGxhY2VWYWx1ZSkgZnVuY3Rpb24gd2l0aCBzdHJpbmcgYW5kIHVuZGVmaW5lZCBhcmd1bWVudHMgb2YgU3RyaW5nIG9iamVjdAogKi8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKFN0cmluZyh2b2lkIDApLnJlcGxhY2UoImUiLHVuZGVmaW5lZCkgIT09ICJ1bmR1bmRlZmluZWRmaW5lZCIpIHsKICAkRVJST1IoJyMxOiBTdHJpbmcodm9pZCAwKS5yZXBsYWNlKCJlIix1bmRlZmluZWQpID09PSAidW5kdW5kZWZpbmVkZmluZWQiLiBBY3R1YWw6ICcrU3RyaW5nKHZvaWQgMCkucmVwbGFjZSgiZSIsdW5kZWZpbmVkKSApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"String.prototype.replace (searchValue, replaceValue)","description":"Call replace (searchValue, replaceValue) function with string and undefined arguments of String object","path":"TestCases/ch15/15.5/15.5.4/15.5.4.11/S15.5.4.11_A1_T7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnJlcGxhY2UgKHNlYXJjaFZhbHVlLCByZXBsYWNlVmFsdWUpCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjExL1MxNS41LjQuMTFfQTFfVDguanMKICogQGRlc2NyaXB0aW9uIENhbGwgcmVwbGFjZSAoc2VhcmNoVmFsdWUsIHJlcGxhY2VWYWx1ZSkgZnVuY3Rpb24gd2l0aCByZWd1bGFyIGV4cHJlc3Npb24gYW5kIHZvaWQgMCBhcmd1bWVudHMgb2YgU3RyaW5nIG9iamVjdAogKi8KCnZhciBfX29iaiA9IHt0b1N0cmluZzpmdW5jdGlvbigpe319OwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAoU3RyaW5nKF9fb2JqKS5yZXBsYWNlKC9lL2csdm9pZCAwKSAhPT0gInVuZHVuZGVmaW5lZGZpbnVuZGVmaW5lZGQiKSB7CiAgJEVSUk9SKCcjMTogX19vYmogPSB7dG9TdHJpbmc6ZnVuY3Rpb24oKXt9fTsgU3RyaW5nKF9fb2JqKS5yZXBsYWNlKC9lL2csdm9pZCAwKSA9PT0gInVuZHVuZGVmaW5lZGZpbnVuZGVmaW5lZGQiLiBBY3R1YWw6ICcrU3RyaW5nKF9fb2JqKS5yZXBsYWNlKC9lL2csdm9pZCAwKSApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"String.prototype.replace (searchValue, replaceValue)","description":"Call replace (searchValue, replaceValue) function with regular expression and void 0 arguments of String object","path":"TestCases/ch15/15.5/15.5.4/15.5.4.11/S15.5.4.11_A1_T8.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnJlcGxhY2UgKHNlYXJjaFZhbHVlLCByZXBsYWNlVmFsdWUpCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjExL1MxNS41LjQuMTFfQTFfVDkuanMKICogQGRlc2NyaXB0aW9uIENhbGwgcmVwbGFjZSAoc2VhcmNoVmFsdWUsIHJlcGxhY2VWYWx1ZSkgZnVuY3Rpb24gd2l0aCBmdW5jdGlvbnMgYXJndW1lbnRzIG9mIG5ldyBTdHJpbmcgb2JqZWN0CiAqLwoKdmFyIF9fb2JqID0gewogICAgdmFsdWVPZjpmdW5jdGlvbigpe30sCiAgICB0b1N0cmluZzp2b2lkIDAKfTsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKG5ldyBTdHJpbmcoX19vYmopLnJlcGxhY2UoZnVuY3Rpb24oKXt9KCksX19mdW5jKSAhPT0gInVuZGVmaW5lZDB1bmRlZmluZWQiKSB7CiAgJEVSUk9SKCcjMTogX19vYmogPSB7dmFsdWVPZjpmdW5jdGlvbigpe30sIHRvU3RyaW5nOnZvaWQgMH07IGZ1bmN0aW9uIF9fZnVuYyhhMSxhMixhMyl7cmV0dXJuIGExK2EyK2EzO307IG5ldyBTdHJpbmcoX19vYmopLnJlcGxhY2UoZnVuY3Rpb24oKXt9KCksX19mdW5jKSA9PT0gInVuZGVmaW5lZDB1bmRlZmluZWQiLiBBY3R1YWw6ICcrbmV3IFN0cmluZyhfX29iaikucmVwbGFjZShmdW5jdGlvbigpe30oKSxfX2Z1bmMpICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgpmdW5jdGlvbiBfX2Z1bmMoYTEsYTIsYTMpe3JldHVybiBhMSthMithMzt9OwoK","commentary":"String.prototype.replace (searchValue, replaceValue)","description":"Call replace (searchValue, replaceValue) function with functions arguments of new String object","path":"TestCases/ch15/15.5/15.5.4/15.5.4.11/S15.5.4.11_A1_T9.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgJCByZXBsYWNlbWVudHMgYXJlIGRvbmUgbGVmdC10by1yaWdodCwgYW5kLCBvbmNlIHN1Y2ggYXJlIHBsYWNlbWVudCBpcyBwZXJmb3JtZWQsIHRoZSBuZXcKICogcmVwbGFjZW1lbnQgdGV4dCBpcyBub3Qgc3ViamVjdCB0byBmdXJ0aGVyIHJlcGxhY2VtZW50cwogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS40LzE1LjUuNC4xMS9TMTUuNS40LjExX0EyX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBEb25gdCB1c2UgJCBpbiByZXBsYWNlVmFsdWUsIHNlYXJjaFZhbHVlIGlzIHJlZ3VsYXIgZXhwcmVzc2lvbiAvc2gvZwogKi8KCnZhciBfX3N0ciA9ICdTaGUgc2VsbHMgc2Vhc2hlbGxzIGJ5IHRoZSBzZWFzaG9yZS4nOwp2YXIgX19yZSA9IC9zaC9nOwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAoX19zdHIucmVwbGFjZShfX3JlLCdzY2gnKSE9PSdTaGUgc2VsbHMgc2Vhc2NoZWxscyBieSB0aGUgc2Vhc2Nob3JlLicpIHsKICAkRVJST1IoJyMxOiB2YXIgX19zdHIgPSBcJ1NoZSBzZWxscyBzZWFzaGVsbHMgYnkgdGhlIHNlYXNob3JlLlwnOyB2YXIgX19yZSA9IC9zaC9nOyBfX3N0ci5yZXBsYWNlKF9fcmUsXCdzY2hcJyk9PT1cJ1NoZSBzZWxscyBzZWFzY2hlbGxzIGJ5IHRoZSBzZWFzY2hvcmUuXCcuIEFjdHVhbDogJytfX3N0ci5yZXBsYWNlKF9fcmUsJ3NjaCcpKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"The $ replacements are done left-to-right, and, once such are placement is performed, the new\nreplacement text is not subject to further replacements","description":"Don`t use $ in replaceValue, searchValue is regular expression /sh/g","path":"TestCases/ch15/15.5/15.5.4/15.5.4.11/S15.5.4.11_A2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgJCByZXBsYWNlbWVudHMgYXJlIGRvbmUgbGVmdC10by1yaWdodCwgYW5kLCBvbmNlIHN1Y2ggYXJlIHBsYWNlbWVudCBpcyBwZXJmb3JtZWQsIHRoZSBuZXcKICogcmVwbGFjZW1lbnQgdGV4dCBpcyBub3Qgc3ViamVjdCB0byBmdXJ0aGVyIHJlcGxhY2VtZW50cwogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS40LzE1LjUuNC4xMS9TMTUuNS40LjExX0EyX1QxMC5qcwogKiBAZGVzY3JpcHRpb24gVXNlICQnIGluIHJlcGxhY2VWYWx1ZSwgc2VhcmNoVmFsdWUgaXMgcmVndWxhciBleHByZXNzaW9uIC9zaC8KICovCgp2YXIgX19zdHIgPSAnU2hlIHNlbGxzIHNlYXNoZWxscyBieSB0aGUgc2Vhc2hvcmUuJzsKdmFyIF9fcmUgPSAvc2gvOwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAoX19zdHIucmVwbGFjZShfX3JlLCAiJCciICsgJ3NjaCcpIT09J1NoZSBzZWxscyBzZWFlbGxzIGJ5IHRoZSBzZWFzaG9yZS5zY2hlbGxzIGJ5IHRoZSBzZWFzaG9yZS4nKSB7CiAgJEVSUk9SKCcjMTogdmFyIF9fc3RyID0gXCdTaGUgc2VsbHMgc2Vhc2hlbGxzIGJ5IHRoZSBzZWFzaG9yZS5cJzsgdmFyIF9fcmUgPSAvc2gvOyBfX3N0ci5yZXBsYWNlKF9fcmUsICIkXCciICsgXCdzY2hcJyk9PT1cJ1NoZSBzZWxscyBzZWFlbGxzIGJ5IHRoZSBzZWFzaG9yZS5zY2hlbGxzIGJ5IHRoZSBzZWFzaG9yZS5cJy4gQWN0dWFsOiAnK19fc3RyLnJlcGxhY2UoX19yZSwgIiQnIiArICdzY2gnKSk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"The $ replacements are done left-to-right, and, once such are placement is performed, the new\nreplacement text is not subject to further replacements","description":"Use $' in replaceValue, searchValue is regular expression /sh/","path":"TestCases/ch15/15.5/15.5.4/15.5.4.11/S15.5.4.11_A2_T10.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgJCByZXBsYWNlbWVudHMgYXJlIGRvbmUgbGVmdC10by1yaWdodCwgYW5kLCBvbmNlIHN1Y2ggYXJlIHBsYWNlbWVudCBpcyBwZXJmb3JtZWQsIHRoZSBuZXcKICogcmVwbGFjZW1lbnQgdGV4dCBpcyBub3Qgc3ViamVjdCB0byBmdXJ0aGVyIHJlcGxhY2VtZW50cwogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS40LzE1LjUuNC4xMS9TMTUuNS40LjExX0EyX1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBVc2UgJCQgaW4gcmVwbGFjZVZhbHVlLCBzZWFyY2hWYWx1ZSBpcyByZWd1bGFyIGV4cHJlc3Npb24gL3NoL2cKICovCgp2YXIgX19zdHIgPSAnU2hlIHNlbGxzIHNlYXNoZWxscyBieSB0aGUgc2Vhc2hvcmUuJzsKdmFyIF9fcmUgPSAvc2gvZzsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKF9fc3RyLnJlcGxhY2UoX19yZSwiJCQiICsgJ3NjaCcpIT09J1NoZSBzZWxscyBzZWEkc2NoZWxscyBieSB0aGUgc2VhJHNjaG9yZS4nKSB7CiAgJEVSUk9SKCcjMTogdmFyIF9fc3RyID0gXCdTaGUgc2VsbHMgc2Vhc2hlbGxzIGJ5IHRoZSBzZWFzaG9yZS5cJzsgdmFyIF9fcmUgPSAvc2gvZzsgX19zdHIucmVwbGFjZShfX3JlLCIkJCIgKyBcJ3NjaFwnKT09PVwnU2hlIHNlbGxzIHNlYSRzY2hlbGxzIGJ5IHRoZSBzZWEkc2Nob3JlLlwnLiBBY3R1YWw6ICcrX19zdHIucmVwbGFjZShfX3JlLCIkJCIgKyAnc2NoJykpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"The $ replacements are done left-to-right, and, once such are placement is performed, the new\nreplacement text is not subject to further replacements","description":"Use $$ in replaceValue, searchValue is regular expression /sh/g","path":"TestCases/ch15/15.5/15.5.4/15.5.4.11/S15.5.4.11_A2_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgJCByZXBsYWNlbWVudHMgYXJlIGRvbmUgbGVmdC10by1yaWdodCwgYW5kLCBvbmNlIHN1Y2ggYXJlIHBsYWNlbWVudCBpcyBwZXJmb3JtZWQsIHRoZSBuZXcKICogcmVwbGFjZW1lbnQgdGV4dCBpcyBub3Qgc3ViamVjdCB0byBmdXJ0aGVyIHJlcGxhY2VtZW50cwogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS40LzE1LjUuNC4xMS9TMTUuNS40LjExX0EyX1QzLmpzCiAqIEBkZXNjcmlwdGlvbiBVc2UgJCYgaW4gcmVwbGFjZVZhbHVlLCBzZWFyY2hWYWx1ZSBpcyByZWd1bGFyIGV4cHJlc3Npb24gL3NoL2cKICovCgp2YXIgX19zdHIgPSAnU2hlIHNlbGxzIHNlYXNoZWxscyBieSB0aGUgc2Vhc2hvcmUuJzsKdmFyIF9fcmUgPSAvc2gvZzsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKF9fc3RyLnJlcGxhY2UoX19yZSwiJCYiICsgJ3NjaCcpIT09J1NoZSBzZWxscyBzZWFzaHNjaGVsbHMgYnkgdGhlIHNlYXNoc2Nob3JlLicpIHsKICAkRVJST1IoJyMxOiB2YXIgX19zdHIgPSBcJ1NoZSBzZWxscyBzZWFzaGVsbHMgYnkgdGhlIHNlYXNob3JlLlwnOyB2YXIgX19yZSA9IC9zaC9nOyBfX3N0ci5yZXBsYWNlKF9fcmUsIiQmIiArIFwnc2NoXCcpPT09XCdTaGUgc2VsbHMgc2Vhc2hzY2hlbGxzIGJ5IHRoZSBzZWFzaHNjaG9yZS5cJy4gQWN0dWFsOiAnK19fc3RyLnJlcGxhY2UoX19yZSwiJCYiICsgJ3NjaCcpKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"The $ replacements are done left-to-right, and, once such are placement is performed, the new\nreplacement text is not subject to further replacements","description":"Use $& in replaceValue, searchValue is regular expression /sh/g","path":"TestCases/ch15/15.5/15.5.4/15.5.4.11/S15.5.4.11_A2_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgJCByZXBsYWNlbWVudHMgYXJlIGRvbmUgbGVmdC10by1yaWdodCwgYW5kLCBvbmNlIHN1Y2ggYXJlIHBsYWNlbWVudCBpcyBwZXJmb3JtZWQsIHRoZSBuZXcKICogcmVwbGFjZW1lbnQgdGV4dCBpcyBub3Qgc3ViamVjdCB0byBmdXJ0aGVyIHJlcGxhY2VtZW50cwogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS40LzE1LjUuNC4xMS9TMTUuNS40LjExX0EyX1Q0LmpzCiAqIEBkZXNjcmlwdGlvbiBVc2UgJGAgaW4gcmVwbGFjZVZhbHVlLCBzZWFyY2hWYWx1ZSBpcyByZWd1bGFyIGV4cHJlc3Npb24gL3NoL2cKICovCgp2YXIgX19zdHIgPSAnU2hlIHNlbGxzIHNlYXNoZWxscyBieSB0aGUgc2Vhc2hvcmUuJzsKdmFyIF9fcmUgPSAvc2gvZzsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKF9fc3RyLnJlcGxhY2UoX19yZSwgIiRgIiArICdzY2gnKSE9PSdTaGUgc2VsbHMgc2VhU2hlIHNlbGxzIHNlYXNjaGVsbHMgYnkgdGhlIHNlYVNoZSBzZWxscyBzZWFzaGVsbHMgYnkgdGhlIHNlYXNjaG9yZS4nKSB7CiAgJEVSUk9SKCcjMTogdmFyIF9fc3RyID0gXCdTaGUgc2VsbHMgc2Vhc2hlbGxzIGJ5IHRoZSBzZWFzaG9yZS5cJzsgdmFyIF9fcmUgPSAvc2gvZzsgX19zdHIucmVwbGFjZShfX3JlLCAiJGAiICsgXCdzY2hcJyk9PT1cJ1NoZSBzZWxscyBzZWFTaGUgc2VsbHMgc2Vhc2NoZWxscyBieSB0aGUgc2VhU2hlIHNlbGxzIHNlYXNoZWxscyBieSB0aGUgc2Vhc2Nob3JlLlwnLiBBY3R1YWw6ICcrX19zdHIucmVwbGFjZShfX3JlLCAiJGAiICsgJ3NjaCcpKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"The $ replacements are done left-to-right, and, once such are placement is performed, the new\nreplacement text is not subject to further replacements","description":"Use $` in replaceValue, searchValue is regular expression /sh/g","path":"TestCases/ch15/15.5/15.5.4/15.5.4.11/S15.5.4.11_A2_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgJCByZXBsYWNlbWVudHMgYXJlIGRvbmUgbGVmdC10by1yaWdodCwgYW5kLCBvbmNlIHN1Y2ggYXJlIHBsYWNlbWVudCBpcyBwZXJmb3JtZWQsIHRoZSBuZXcKICogcmVwbGFjZW1lbnQgdGV4dCBpcyBub3Qgc3ViamVjdCB0byBmdXJ0aGVyIHJlcGxhY2VtZW50cwogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS40LzE1LjUuNC4xMS9TMTUuNS40LjExX0EyX1Q1LmpzCiAqIEBkZXNjcmlwdGlvbiBVc2UgJCcgaW4gcmVwbGFjZVZhbHVlLCBzZWFyY2hWYWx1ZSBpcyByZWd1bGFyIGV4cHJlc3Npb24gL3NoL2cKICovCgp2YXIgX19zdHIgPSAnU2hlIHNlbGxzIHNlYXNoZWxscyBieSB0aGUgc2Vhc2hvcmUuJzsKdmFyIF9fcmUgPSAvc2gvZzsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKF9fc3RyLnJlcGxhY2UoX19yZSwgIiQnIiArICdzY2gnKSE9PSdTaGUgc2VsbHMgc2VhZWxscyBieSB0aGUgc2Vhc2hvcmUuc2NoZWxscyBieSB0aGUgc2Vhb3JlLnNjaG9yZS4nKSB7CiAgJEVSUk9SKCcjMTogdmFyIF9fc3RyID0gXCdTaGUgc2VsbHMgc2Vhc2hlbGxzIGJ5IHRoZSBzZWFzaG9yZS5cJzsgdmFyIF9fcmUgPSAvc2gvZzsgX19zdHIucmVwbGFjZShfX3JlLCAiJFwnIiArIFwnc2NoXCcpPT09XCdTaGUgc2VsbHMgc2VhZWxscyBieSB0aGUgc2Vhc2hvcmUuc2NoZWxscyBieSB0aGUgc2Vhb3JlLnNjaG9yZS5cJy4gQWN0dWFsOiAnK19fc3RyLnJlcGxhY2UoX19yZSwgIiQnIiArICdzY2gnKSk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"The $ replacements are done left-to-right, and, once such are placement is performed, the new\nreplacement text is not subject to further replacements","description":"Use $' in replaceValue, searchValue is regular expression /sh/g","path":"TestCases/ch15/15.5/15.5.4/15.5.4.11/S15.5.4.11_A2_T5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgJCByZXBsYWNlbWVudHMgYXJlIGRvbmUgbGVmdC10by1yaWdodCwgYW5kLCBvbmNlIHN1Y2ggYXJlIHBsYWNlbWVudCBpcyBwZXJmb3JtZWQsIHRoZSBuZXcKICogcmVwbGFjZW1lbnQgdGV4dCBpcyBub3Qgc3ViamVjdCB0byBmdXJ0aGVyIHJlcGxhY2VtZW50cwogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS40LzE1LjUuNC4xMS9TMTUuNS40LjExX0EyX1Q2LmpzCiAqIEBkZXNjcmlwdGlvbiBEb25gdCB1c2UgJCBpbiByZXBsYWNlVmFsdWUsIHNlYXJjaFZhbHVlIGlzIHJlZ3VsYXIgZXhwcmVzc2lvbiAvc2gvCiAqLwoKdmFyIF9fc3RyID0gJ1NoZSBzZWxscyBzZWFzaGVsbHMgYnkgdGhlIHNlYXNob3JlLic7CnZhciBfX3JlID0gL3NoLzsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKF9fc3RyLnJlcGxhY2UoX19yZSwgJ3NjaCcpIT09J1NoZSBzZWxscyBzZWFzY2hlbGxzIGJ5IHRoZSBzZWFzaG9yZS4nKSB7CiAgJEVSUk9SKCcjMTogdmFyIF9fc3RyID0gXCdTaGUgc2VsbHMgc2Vhc2hlbGxzIGJ5IHRoZSBzZWFzaG9yZS5cJzsgdmFyIF9fcmUgPSAvc2gvOyBfX3N0ci5yZXBsYWNlKF9fcmUsIFwnc2NoXCcpPT09XCdTaGUgc2VsbHMgc2Vhc2NoZWxscyBieSB0aGUgc2Vhc2hvcmUuXCcuIEFjdHVhbDogJytfX3N0ci5yZXBsYWNlKF9fcmUsICdzY2gnKSk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"The $ replacements are done left-to-right, and, once such are placement is performed, the new\nreplacement text is not subject to further replacements","description":"Don`t use $ in replaceValue, searchValue is regular expression /sh/","path":"TestCases/ch15/15.5/15.5.4/15.5.4.11/S15.5.4.11_A2_T6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgJCByZXBsYWNlbWVudHMgYXJlIGRvbmUgbGVmdC10by1yaWdodCwgYW5kLCBvbmNlIHN1Y2ggYXJlIHBsYWNlbWVudCBpcyBwZXJmb3JtZWQsIHRoZSBuZXcKICogcmVwbGFjZW1lbnQgdGV4dCBpcyBub3Qgc3ViamVjdCB0byBmdXJ0aGVyIHJlcGxhY2VtZW50cwogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS40LzE1LjUuNC4xMS9TMTUuNS40LjExX0EyX1Q3LmpzCiAqIEBkZXNjcmlwdGlvbiBVc2UgJCQgaW4gcmVwbGFjZVZhbHVlLCBzZWFyY2hWYWx1ZSBpcyByZWd1bGFyIGV4cHJlc3Npb24gL3NoLwogKi8KCnZhciBfX3N0ciA9ICdTaGUgc2VsbHMgc2Vhc2hlbGxzIGJ5IHRoZSBzZWFzaG9yZS4nOwp2YXIgX19yZSA9IC9zaC87CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmIChfX3N0ci5yZXBsYWNlKF9fcmUsICIkJCIgKyAnc2NoJykhPT0nU2hlIHNlbGxzIHNlYSRzY2hlbGxzIGJ5IHRoZSBzZWFzaG9yZS4nKSB7CiAgJEVSUk9SKCcjMTogdmFyIF9fc3RyID0gXCdTaGUgc2VsbHMgc2Vhc2hlbGxzIGJ5IHRoZSBzZWFzaG9yZS5cJzsgdmFyIF9fcmUgPSAvc2gvOyBfX3N0ci5yZXBsYWNlKF9fcmUsICIkJCIgKyBcJ3NjaFwnKT09PVwnU2hlIHNlbGxzIHNlYSRzY2hlbGxzIGJ5IHRoZSBzZWFzaG9yZS5cJy4gQWN0dWFsOiAnK19fc3RyLnJlcGxhY2UoX19yZSwgIiQkIiArICdzY2gnKSk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"The $ replacements are done left-to-right, and, once such are placement is performed, the new\nreplacement text is not subject to further replacements","description":"Use $$ in replaceValue, searchValue is regular expression /sh/","path":"TestCases/ch15/15.5/15.5.4/15.5.4.11/S15.5.4.11_A2_T7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgJCByZXBsYWNlbWVudHMgYXJlIGRvbmUgbGVmdC10by1yaWdodCwgYW5kLCBvbmNlIHN1Y2ggYXJlIHBsYWNlbWVudCBpcyBwZXJmb3JtZWQsIHRoZSBuZXcKICogcmVwbGFjZW1lbnQgdGV4dCBpcyBub3Qgc3ViamVjdCB0byBmdXJ0aGVyIHJlcGxhY2VtZW50cwogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS40LzE1LjUuNC4xMS9TMTUuNS40LjExX0EyX1Q4LmpzCiAqIEBkZXNjcmlwdGlvbiBVc2UgJCYgaW4gcmVwbGFjZVZhbHVlLCBzZWFyY2hWYWx1ZSBpcyByZWd1bGFyIGV4cHJlc3Npb24gL3NoLwogKi8KCnZhciBfX3N0ciA9ICdTaGUgc2VsbHMgc2Vhc2hlbGxzIGJ5IHRoZSBzZWFzaG9yZS4nOwp2YXIgX19yZSA9IC9zaC87CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmIChfX3N0ci5yZXBsYWNlKF9fcmUsICIkJiIgKyAnc2NoJykhPT0nU2hlIHNlbGxzIHNlYXNoc2NoZWxscyBieSB0aGUgc2Vhc2hvcmUuJykgewogICRFUlJPUignIzE6IHZhciBfX3N0ciA9IFwnU2hlIHNlbGxzIHNlYXNoZWxscyBieSB0aGUgc2Vhc2hvcmUuXCc7IHZhciBfX3JlID0gL3NoLzsgX19zdHIucmVwbGFjZShfX3JlLCAiJCYiICsgXCdzY2hcJyk9PT1cJ1NoZSBzZWxscyBzZWFzaHNjaGVsbHMgYnkgdGhlIHNlYXNob3JlLlwnLiBBY3R1YWw6ICcrX19zdHIucmVwbGFjZShfX3JlLCAiJCYiICsgJ3NjaCcpKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"The $ replacements are done left-to-right, and, once such are placement is performed, the new\nreplacement text is not subject to further replacements","description":"Use $& in replaceValue, searchValue is regular expression /sh/","path":"TestCases/ch15/15.5/15.5.4/15.5.4.11/S15.5.4.11_A2_T8.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgJCByZXBsYWNlbWVudHMgYXJlIGRvbmUgbGVmdC10by1yaWdodCwgYW5kLCBvbmNlIHN1Y2ggYXJlIHBsYWNlbWVudCBpcyBwZXJmb3JtZWQsIHRoZSBuZXcKICogcmVwbGFjZW1lbnQgdGV4dCBpcyBub3Qgc3ViamVjdCB0byBmdXJ0aGVyIHJlcGxhY2VtZW50cwogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS40LzE1LjUuNC4xMS9TMTUuNS40LjExX0EyX1Q5LmpzCiAqIEBkZXNjcmlwdGlvbiBVc2UgJGAgaW4gcmVwbGFjZVZhbHVlLCBzZWFyY2hWYWx1ZSBpcyByZWd1bGFyIGV4cHJlc3Npb24gL3NoLwogKi8KCnZhciBfX3N0ciA9ICdTaGUgc2VsbHMgc2Vhc2hlbGxzIGJ5IHRoZSBzZWFzaG9yZS4nOwp2YXIgX19yZSA9IC9zaC87CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmIChfX3N0ci5yZXBsYWNlKF9fcmUsICIkYCIgKyAnc2NoJykhPT0nU2hlIHNlbGxzIHNlYVNoZSBzZWxscyBzZWFzY2hlbGxzIGJ5IHRoZSBzZWFzaG9yZS4nKSB7CiAgJEVSUk9SKCcjMTogdmFyIF9fc3RyID0gXCdTaGUgc2VsbHMgc2Vhc2hlbGxzIGJ5IHRoZSBzZWFzaG9yZS5cJzsgdmFyIF9fcmUgPSAvc2gvOyBfX3N0ci5yZXBsYWNlKF9fcmUsICIkYCIgKyBcJ3NjaFwnKT09PVwnU2hlIHNlbGxzIHNlYVNoZSBzZWxscyBzZWFzY2hlbGxzIGJ5IHRoZSBzZWFzaG9yZS5cJy4gQWN0dWFsOiAnK19fc3RyLnJlcGxhY2UoX19yZSwgIiRgIiArICdzY2gnKSk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"The $ replacements are done left-to-right, and, once such are placement is performed, the new\nreplacement text is not subject to further replacements","description":"Use $` in replaceValue, searchValue is regular expression /sh/","path":"TestCases/ch15/15.5/15.5.4/15.5.4.11/S15.5.4.11_A2_T9.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiByZXBsYWNlIHdpdGggcmVnZXhwIC8odWlkPSkoXGQrKS8gcmV0dXJucwogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS40LzE1LjUuNC4xMS9TMTUuNS40LjExX0EzX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiByZXBsYWNlVmFsdWUgaXMgIiQxMSIgKyAxNQogKi8KCnZhciBfX3N0ciA9ICd1aWQ9MzEnOwp2YXIgX19yZSA9IC8odWlkPSkoXGQrKS87CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmIChfX3N0ci5yZXBsYWNlKF9fcmUsICIkMTEiICsgMTUpIT09J3VpZD0xMTUnKSB7CiAgJEVSUk9SKCcjMTogdmFyIF9fc3RyID0gXCd1aWQ9MzFcJzsgdmFyIF9fcmUgPSAvKHVpZD0pKFxkKykvOyBfX3N0ci5yZXBsYWNlKF9fcmUsICIkMTEiICsgMTUpPT09XCd1aWQ9MTE1XCcuIEFjdHVhbDogJytfX3N0ci5yZXBsYWNlKF9fcmUsICIkMTEiICsgMTUpKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"replace with regexp /(uid=)(\\d+)/ returns","description":"replaceValue is \"$11\" + 15","path":"TestCases/ch15/15.5/15.5.4/15.5.4.11/S15.5.4.11_A3_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiByZXBsYWNlIHdpdGggcmVnZXhwIC8odWlkPSkoXGQrKS8gcmV0dXJucwogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS40LzE1LjUuNC4xMS9TMTUuNS40LjExX0EzX1QyLmpzCiAqIEBkZXNjcmlwdGlvbiByZXBsYWNlVmFsdWUgaXMgIiQxMSIgKyAnMTUnCiAqLwoKdmFyIF9fc3RyID0gJ3VpZD0zMSc7CnZhciBfX3JlID0gLyh1aWQ9KShcZCspLzsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKF9fc3RyLnJlcGxhY2UoX19yZSwgIiQxMSIgKyAnMTUnKSE9PSd1aWQ9MTE1JykgewogICRFUlJPUignIzE6IHZhciBfX3N0ciA9IFwndWlkPTMxXCc7IHZhciBfX3JlID0gLyh1aWQ9KShcZCspLzsgX19zdHIucmVwbGFjZShfX3JlLCAiJDExIiArIFwnMTVcJyk9PT1cJ3VpZD0xMTVcJy4gQWN0dWFsOiAnK19fc3RyLnJlcGxhY2UoX19yZSwgIiQxMSIgKyAnMTUnKSk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"replace with regexp /(uid=)(\\d+)/ returns","description":"replaceValue is \"$11\" + '15'","path":"TestCases/ch15/15.5/15.5.4/15.5.4.11/S15.5.4.11_A3_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiByZXBsYWNlIHdpdGggcmVnZXhwIC8odWlkPSkoXGQrKS8gcmV0dXJucwogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS40LzE1LjUuNC4xMS9TMTUuNS40LjExX0EzX1QzLmpzCiAqIEBkZXNjcmlwdGlvbiByZXBsYWNlVmFsdWUgaXMgIiQxMSIgKyAnQTE1JwogKi8KCnZhciBfX3N0ciA9ICd1aWQ9MzEnOwp2YXIgX19yZSA9IC8odWlkPSkoXGQrKS87CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmIChfX3N0ci5yZXBsYWNlKF9fcmUsICIkMTEiICsgJ0ExNScpIT09J3VpZD0xQTE1JyApIHsKICAkRVJST1IoJyMxOiB2YXIgX19zdHIgPSBcJ3VpZD0zMVwnOyB2YXIgX19yZSA9IC8odWlkPSkoXGQrKS87IF9fc3RyLnJlcGxhY2UoX19yZSwgIiQxMSIgKyBcJ0ExNVwnKT09PVwndWlkPTFBMTVcJyAuIEFjdHVhbDogJytfX3N0ci5yZXBsYWNlKF9fcmUsICIkMTEiICsgJ0ExNScpKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"replace with regexp /(uid=)(\\d+)/ returns","description":"replaceValue is \"$11\" + 'A15'","path":"TestCases/ch15/15.5/15.5.4/15.5.4.11/S15.5.4.11_A3_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiByZXBsYWNlIHdpdGggcmVnZXhwIC8oW2Etel0rKShbMC05XSspLyBhbmQgcmVwbGFjZSBmdW5jdGlvbiByZXR1cm5zCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjExL1MxNS41LjQuMTFfQTRfVDEuanMKICogQGRlc2NyaXB0aW9uIHNlYXJjaFZhbHVlIGlzIC8oW2Etel0rKShbMC05XSspLwogKi8KCnZhciBfX3N0ciA9ICJhYmMxMiBkZWYzNCI7CnZhciBfX3BhdHRlcm4gPSAvKFthLXpdKykoWzAtOV0rKS87CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmIChfX3N0ci5yZXBsYWNlKF9fcGF0dGVybiwgX19yZXBsRk4pIT09JzEyYWJjIGRlZjM0JykgewogICRFUlJPUignIzE6IHZhciBfX3N0ciA9ICJhYmMxMiBkZWYzNCI7IHZhciBfX3BhdHRlcm4gPSAvKFthLXpdKykoWzAtOV0rKS87IGZ1bmN0aW9uIF9fcmVwbEZOKCkge3JldHVybiBhcmd1bWVudHNbMl0gKyBhcmd1bWVudHNbMV07fTsgX19zdHIucmVwbGFjZShfX3BhdHRlcm4sIF9fcmVwbEZOKT09PVwnMTJhYmMgZGVmMzRcJy4gQWN0dWFsOiAnK19fc3RyLnJlcGxhY2UoX19wYXR0ZXJuLCBfX3JlcGxGTikpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwogICAgCmZ1bmN0aW9uIF9fcmVwbEZOKCkgewogICAgcmV0dXJuIGFyZ3VtZW50c1syXSArIGFyZ3VtZW50c1sxXTsKfQoK","commentary":"replace with regexp /([a-z]+)([0-9]+)/ and replace function returns","description":"searchValue is /([a-z]+)([0-9]+)/","path":"TestCases/ch15/15.5/15.5.4/15.5.4.11/S15.5.4.11_A4_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiByZXBsYWNlIHdpdGggcmVnZXhwIC8oW2Etel0rKShbMC05XSspLyBhbmQgcmVwbGFjZSBmdW5jdGlvbiByZXR1cm5zCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjExL1MxNS41LjQuMTFfQTRfVDIuanMKICogQGRlc2NyaXB0aW9uIHNlYXJjaFZhbHVlIGlzIC8oW2Etel0rKShbMC05XSspL2cKICovCgp2YXIgX19zdHIgPSAiYWJjMTIgZGVmMzQiOwp2YXIgX19wYXR0ZXJuID0gLyhbYS16XSspKFswLTldKykvZzsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKF9fc3RyLnJlcGxhY2UoX19wYXR0ZXJuLCBfX3JlcGxGTikhPT0nMTJhYmMgMzRkZWYnKSB7CiAgJEVSUk9SKCcjMTogdmFyIF9fc3RyID0gImFiYzEyIGRlZjM0IjsgdmFyIF9fcGF0dGVybiA9IC8oW2Etel0rKShbMC05XSspL2c7IGZ1bmN0aW9uIF9fcmVwbEZOKCkge3JldHVybiBhcmd1bWVudHNbMl0gKyBhcmd1bWVudHNbMV07fTsgX19zdHIucmVwbGFjZShfX3BhdHRlcm4sIF9fcmVwbEZOKT09PVwnMTJhYmMgMzRkZWZcJy4gQWN0dWFsOiAnK19fc3RyLnJlcGxhY2UoX19wYXR0ZXJuLCBfX3JlcGxGTikpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwogICAgCmZ1bmN0aW9uIF9fcmVwbEZOKCkgewogICAgcmV0dXJuIGFyZ3VtZW50c1syXSArIGFyZ3VtZW50c1sxXTsKfQoK","commentary":"replace with regexp /([a-z]+)([0-9]+)/ and replace function returns","description":"searchValue is /([a-z]+)([0-9]+)/g","path":"TestCases/ch15/15.5/15.5.4/15.5.4.11/S15.5.4.11_A4_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiByZXBsYWNlIHdpdGggcmVnZXhwIC8oW2Etel0rKShbMC05XSspLyBhbmQgcmVwbGFjZSBmdW5jdGlvbiByZXR1cm5zCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjExL1MxNS41LjQuMTFfQTRfVDMuanMKICogQGRlc2NyaXB0aW9uIHNlYXJjaFZhbHVlIGlzIC8oW2Etel0rKShbMC05XSspL2kKICovCgp2YXIgX19zdHIgPSAiYUJjMTIgZGVmMzQiOwp2YXIgX19wYXR0ZXJuID0gLyhbYS16XSspKFswLTldKykvaTsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKF9fc3RyLnJlcGxhY2UoX19wYXR0ZXJuLCBfX3JlcGxGTikhPT0nMTJhQmMgZGVmMzQnKSB7CiAgJEVSUk9SKCcjMTogdmFyIF9fc3RyID0gImFCYzEyIGRlZjM0IjsgdmFyIF9fcGF0dGVybiA9IC8oW2Etel0rKShbMC05XSspL2k7IGZ1bmN0aW9uIF9fcmVwbEZOKCkge3JldHVybiBhcmd1bWVudHNbMl0gKyBhcmd1bWVudHNbMV07fTsgX19zdHIucmVwbGFjZShfX3BhdHRlcm4sIF9fcmVwbEZOKT09PVwnMTJhQmMgZGVmMzRcJy4gQWN0dWFsOiAnK19fc3RyLnJlcGxhY2UoX19wYXR0ZXJuLCBfX3JlcGxGTikpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwogICAgCmZ1bmN0aW9uIF9fcmVwbEZOKCkgewogICAgcmV0dXJuIGFyZ3VtZW50c1syXSArIGFyZ3VtZW50c1sxXTsKfQoK","commentary":"replace with regexp /([a-z]+)([0-9]+)/ and replace function returns","description":"searchValue is /([a-z]+)([0-9]+)/i","path":"TestCases/ch15/15.5/15.5.4/15.5.4.11/S15.5.4.11_A4_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiByZXBsYWNlIHdpdGggcmVnZXhwIC8oW2Etel0rKShbMC05XSspLyBhbmQgcmVwbGFjZSBmdW5jdGlvbiByZXR1cm5zCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjExL1MxNS41LjQuMTFfQTRfVDQuanMKICogQGRlc2NyaXB0aW9uIHNlYXJjaFZhbHVlIGlzIC8oW2Etel0rKShbMC05XSspL2lnCiAqLwoKdmFyIF9fc3RyID0gImFCYzEyIGRFZjM0IjsKdmFyIF9fcGF0dGVybiA9IC8oW2Etel0rKShbMC05XSspL2lnOwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAoX19zdHIucmVwbGFjZShfX3BhdHRlcm4sIF9fcmVwbEZOKSE9PScxMmFCYyAzNGRFZicpIHsKICAkRVJST1IoJyMxOiB2YXIgX19zdHIgPSAiYUJjMTIgZEVmMzQiOyB2YXIgX19wYXR0ZXJuID0gLyhbYS16XSspKFswLTldKykvaWc7IGZ1bmN0aW9uIF9fcmVwbEZOKCkge3JldHVybiBhcmd1bWVudHNbMl0gKyBhcmd1bWVudHNbMV07fTsgX19zdHIucmVwbGFjZShfX3BhdHRlcm4sIF9fcmVwbEZOKT09PVwnMTJhQmMgMzRkRWZcJy4gQWN0dWFsOiAnK19fc3RyLnJlcGxhY2UoX19wYXR0ZXJuLCBfX3JlcGxGTikpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwogICAgCmZ1bmN0aW9uIF9fcmVwbEZOKCkgewogICAgcmV0dXJuIGFyZ3VtZW50c1syXSArIGFyZ3VtZW50c1sxXTsKfQoK","commentary":"replace with regexp /([a-z]+)([0-9]+)/ and replace function returns","description":"searchValue is /([a-z]+)([0-9]+)/ig","path":"TestCases/ch15/15.5/15.5.4/15.5.4.11/S15.5.4.11_A4_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBVc2UgcmVwbGFjZSB3aXRoIHJlZ2V4cCBhcyBzZWFyY2hWYWx1ZSBhbmQgdXNlICQgaW4gcmVwbGFjZVZhbHVlCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjExL1MxNS41LjQuMTFfQTVfVDEuanMKICogQGRlc2NyaXB0aW9uIHNlYXJjaFZhbHVlIGlzICByZWdleHAgL14oYSspXDEqLFwxKyQvIGFuZCByZXBsYWNlVmFsdWUgaXMgIiQxIgogKi8KCnZhciBfX3N0ciA9ICJhYWFhYWFhYWFhLGFhYWFhYWFhYWFhYWFhYSI7CnZhciBfX3BhdHRlcm4gPSAvXihhKylcMSosXDErJC87CnZhciBfX3JlcGwgPSAiJDEiOwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAoX19zdHIucmVwbGFjZShfX3BhdHRlcm4sIF9fcmVwbCkhPT0nYWFhYWEnKSB7CiAgJEVSUk9SKCcjMTogdmFyIF9fc3RyID0gImFhYWFhYWFhYWEsYWFhYWFhYWFhYWFhYWFhIjsgdmFyIF9fcGF0dGVybiA9IC9eKGErKVwxKixcMSskLzsgdmFyIF9fcmVwbCA9ICIkMSI7IF9fc3RyLnJlcGxhY2UoX19wYXR0ZXJuLCBfX3JlcGwpPT09XCdhYWFhYVwnLiBBY3R1YWw6ICcrX19zdHIucmVwbGFjZShfX3BhdHRlcm4sIF9fcmVwbCkpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"Use replace with regexp as searchValue and use $ in replaceValue","description":"searchValue is regexp /^(a+)\\1*,\\1+$/ and replaceValue is \"$1\"","path":"TestCases/ch15/15.5/15.5.4/15.5.4.11/S15.5.4.11_A5_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnJlcGxhY2UgaGFzIG5vdCBwcm90b3R5cGUgcHJvcGVydHkKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuMTEvUzE1LjUuNC4xMV9BNi5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgU3RyaW5nLnByb3RvdHlwZS5yZXBsYWNlLnByb3RvdHlwZTsKICovCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmIChTdHJpbmcucHJvdG90eXBlLnJlcGxhY2UucHJvdG90eXBlICE9PSB1bmRlZmluZWQpIHsKICAkRVJST1IoJyMxOiBTdHJpbmcucHJvdG90eXBlLnJlcGxhY2UucHJvdG90eXBlID09PSB1bmRlZmluZWQuIEFjdHVhbDogJytTdHJpbmcucHJvdG90eXBlLnJlcGxhY2UucHJvdG90eXBlICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"String.prototype.replace has not prototype property","description":"Checking String.prototype.replace.prototype","path":"TestCases/ch15/15.5/15.5.4/15.5.4.11/S15.5.4.11_A6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnJlcGxhY2UgY2FuJ3QgYmUgdXNlZCBhcyBjb25zdHJ1Y3RvcgogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS40LzE1LjUuNC4xMS9TMTUuNS40LjExX0E3LmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiBjcmVhdGluZyB0aGUgU3RyaW5nLnByb3RvdHlwZS5yZXBsYWNlIG9iamVjdCBmYWlscwogKi8KCnZhciBfX0ZBQ1RPUlkgPSBTdHJpbmcucHJvdG90eXBlLnJlcGxhY2U7Cgp0cnkgewogIHZhciBfX2luc3RhbmNlID0gbmV3IF9fRkFDVE9SWTsKICAkRkFJTCgnIzE6IF9fRkFDVE9SWSA9IFN0cmluZy5wcm90b3R5cGUucmVwbGFjZTsgIl9faW5zdGFuY2UgPSBuZXcgX19GQUNUT1JZIiBsZWFkIHRvIHRocm93aW5nIGV4Y2VwdGlvbicpOw0KfSBjYXRjaCAoZSkgew0KICAgIGlmIChlIGluc3RhbmNlb2YgVGVzdDI2MkVycm9yKSB0aHJvdyBlOwp9Cgo=","commentary":"String.prototype.replace can't be used as constructor","description":"Checking if creating the String.prototype.replace object fails","path":"TestCases/ch15/15.5/15.5.4/15.5.4.11/S15.5.4.11_A7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgU3RyaW5nLnByb3RvdHlwZS5yZXBsYWNlLmxlbmd0aCBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZSBEb250RW51bQogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS40LzE1LjUuNC4xMS9TMTUuNS40LjExX0E4LmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiBlbnVtZXJhdGluZyB0aGUgU3RyaW5nLnByb3RvdHlwZS5yZXBsYWNlLmxlbmd0aCBwcm9wZXJ0eSBmYWlscwogKi8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzAKaWYgKCEoU3RyaW5nLnByb3RvdHlwZS5yZXBsYWNlLmhhc093blByb3BlcnR5KCdsZW5ndGgnKSkpIHsKICAkRkFJTCgnIzA6IFN0cmluZy5wcm90b3R5cGUucmVwbGFjZS5oYXNPd25Qcm9wZXJ0eShcJ2xlbmd0aFwnKSByZXR1cm4gdHJ1ZS4gQWN0dWFsOiAnK1N0cmluZy5wcm90b3R5cGUucmVwbGFjZS5oYXNPd25Qcm9wZXJ0eSgnbGVuZ3RoJykpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovLyBDSEVDSyMxCmlmIChTdHJpbmcucHJvdG90eXBlLnJlcGxhY2UucHJvcGVydHlJc0VudW1lcmFibGUoJ2xlbmd0aCcpKSB7CiAgJEVSUk9SKCcjMTogU3RyaW5nLnByb3RvdHlwZS5yZXBsYWNlLnByb3BlcnR5SXNFbnVtZXJhYmxlKFwnbGVuZ3RoXCcpIHJldHVybiBmYWxzZScpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vIENIRUNLIzIKY291bnQ9MDsKCmZvciAocCBpbiBTdHJpbmcucHJvdG90eXBlLnJlcGxhY2UpewogIGlmIChwPT09Imxlbmd0aCIpIGNvdW50Kys7Cn0KCmlmIChjb3VudCAhPT0gMCkgewogICRFUlJPUignIzI6IGNvdW50PTA7IGZvciAocCBpbiBTdHJpbmcucHJvdG90eXBlLnJlcGxhY2Upe2lmIChwPT09Imxlbmd0aCIpIGNvdW50Kys7fSBjb3VudCA9PT0gMC4gQWN0dWFsOiAnK2NvdW50ICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"The String.prototype.replace.length property has the attribute DontEnum","description":"Checking if enumerating the String.prototype.replace.length property fails","path":"TestCases/ch15/15.5/15.5.4/15.5.4.11/S15.5.4.11_A8.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgU3RyaW5nLnByb3RvdHlwZS5yZXBsYWNlLmxlbmd0aCBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZSBEb250RGVsZXRlCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjExL1MxNS41LjQuMTFfQTkuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIGRlbGV0aW5nIHRoZSBTdHJpbmcucHJvdG90eXBlLnJlcGxhY2UubGVuZ3RoIHByb3BlcnR5IGZhaWxzCiAqLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMAppZiAoIShTdHJpbmcucHJvdG90eXBlLnJlcGxhY2UuaGFzT3duUHJvcGVydHkoJ2xlbmd0aCcpKSkgewogICRGQUlMKCcjMDogU3RyaW5nLnByb3RvdHlwZS5yZXBsYWNlLmhhc093blByb3BlcnR5KFwnbGVuZ3RoXCcpIHJldHVybiB0cnVlLiBBY3R1YWw6ICcrU3RyaW5nLnByb3RvdHlwZS5yZXBsYWNlLmhhc093blByb3BlcnR5KCdsZW5ndGgnKSk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmIChkZWxldGUgU3RyaW5nLnByb3RvdHlwZS5yZXBsYWNlLmxlbmd0aCkgewogICRFUlJPUignIzE6IGRlbGV0ZSBTdHJpbmcucHJvdG90eXBlLnJlcGxhY2UubGVuZ3RoIHJldHVybiBmYWxzZScpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMgppZiAoIShTdHJpbmcucHJvdG90eXBlLnJlcGxhY2UuaGFzT3duUHJvcGVydHkoJ2xlbmd0aCcpKSkgewogICRGQUlMKCcjMjogZGVsZXRlIFN0cmluZy5wcm90b3R5cGUucmVwbGFjZS5sZW5ndGg7IFN0cmluZy5wcm90b3R5cGUucmVwbGFjZS5oYXNPd25Qcm9wZXJ0eShcJ2xlbmd0aFwnKSByZXR1cm4gdHJ1ZS4gQWN0dWFsOiAnK1N0cmluZy5wcm90b3R5cGUucmVwbGFjZS5oYXNPd25Qcm9wZXJ0eSgnbGVuZ3RoJykpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"The String.prototype.replace.length property has the attribute DontDelete","description":"Checking if deleting the String.prototype.replace.length property fails","path":"TestCases/ch15/15.5/15.5.4/15.5.4.11/S15.5.4.11_A9.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnNlYXJjaCAocmVnZXhwKSB3aXRob3V0IGFyZ3VtZW50cyBiZWhhdmVzIGxpa2Ugd2l0aCBhcmd1bWVudCAidW5kZWZpbmVkIgogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS40LzE1LjUuNC4xMi9TMTUuNS40LjEyX0ExLjFfVDEuanMKICogQGRlc2NyaXB0aW9uIENhbGwgc2VhcmNoKCkgaXMgdGhlIHNhbWUgc2VhcmNoKHVuZGVmaW5lZCkKICovCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCnZhciB4ID0gIiIuc2VhcmNoKCk7Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"String.prototype.search (regexp) without arguments behaves like with argument \"undefined\"","description":"Call search() is the same search(undefined)","path":"TestCases/ch15/15.5/15.5.4/15.5.4.12/S15.5.4.12_A1.1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgU3RyaW5nLnByb3RvdHlwZS5zZWFyY2gubGVuZ3RoIHByb3BlcnR5IGhhcyB0aGUgYXR0cmlidXRlIFJlYWRPbmx5CiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjEyL1MxNS41LjQuMTJfQTEwLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiB2YXJ5aW5nIHRoZSBTdHJpbmcucHJvdG90eXBlLnNlYXJjaC5sZW5ndGggcHJvcGVydHkgZmFpbHMKICovCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmICghKFN0cmluZy5wcm90b3R5cGUuc2VhcmNoLmhhc093blByb3BlcnR5KCdsZW5ndGgnKSkpIHsKICAkRkFJTCgnIzE6IFN0cmluZy5wcm90b3R5cGUuc2VhcmNoLmhhc093blByb3BlcnR5KFwnbGVuZ3RoXCcpIHJldHVybiB0cnVlLiBBY3R1YWw6ICcrU3RyaW5nLnByb3RvdHlwZS5zZWFyY2guaGFzT3duUHJvcGVydHkoJ2xlbmd0aCcpKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCnZhciBfX29iaiA9IFN0cmluZy5wcm90b3R5cGUuc2VhcmNoLmxlbmd0aDsKClN0cmluZy5wcm90b3R5cGUuc2VhcmNoLmxlbmd0aCA9IGZ1bmN0aW9uKCl7cmV0dXJuICJzaGlmdGVkIjt9OwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMgppZiAoU3RyaW5nLnByb3RvdHlwZS5zZWFyY2gubGVuZ3RoICE9PSBfX29iaikgewogICRFUlJPUignIzI6IF9fb2JqID0gU3RyaW5nLnByb3RvdHlwZS5zZWFyY2gubGVuZ3RoOyBTdHJpbmcucHJvdG90eXBlLnNlYXJjaC5sZW5ndGggPSBmdW5jdGlvbigpe3JldHVybiAic2hpZnRlZCI7fTsgU3RyaW5nLnByb3RvdHlwZS5zZWFyY2gubGVuZ3RoID09PSBfX29iai4gQWN0dWFsOiAnK1N0cmluZy5wcm90b3R5cGUuc2VhcmNoLmxlbmd0aCApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"The String.prototype.search.length property has the attribute ReadOnly","description":"Checking if varying the String.prototype.search.length property fails","path":"TestCases/ch15/15.5/15.5.4/15.5.4.12/S15.5.4.12_A10.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgbGVuZ3RoIHByb3BlcnR5IG9mIHRoZSBzZWFyY2ggbWV0aG9kIGlzIDEKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuMTIvUzE1LjUuNC4xMl9BMTEuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIFN0cmluZy5wcm90b3R5cGUuc2VhcmNoLmxlbmd0aAogKi8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKCEoU3RyaW5nLnByb3RvdHlwZS5zZWFyY2guaGFzT3duUHJvcGVydHkoImxlbmd0aCIpKSkgewogICRFUlJPUignIzE6IFN0cmluZy5wcm90b3R5cGUuc2VhcmNoLmhhc093blByb3BlcnR5KCJsZW5ndGgiKSByZXR1cm4gdHJ1ZS4gQWN0dWFsOiAnK1N0cmluZy5wcm90b3R5cGUuc2VhcmNoLmhhc093blByb3BlcnR5KCJsZW5ndGgiKSk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMyCmlmIChTdHJpbmcucHJvdG90eXBlLnNlYXJjaC5sZW5ndGggIT09IDEpIHsKICAkRVJST1IoJyMyOiBTdHJpbmcucHJvdG90eXBlLnNlYXJjaC5sZW5ndGggPT09IDEuIEFjdHVhbDogJytTdHJpbmcucHJvdG90eXBlLnNlYXJjaC5sZW5ndGggKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"The length property of the search method is 1","description":"Checking String.prototype.search.length","path":"TestCases/ch15/15.5/15.5.4/15.5.4.12/S15.5.4.12_A11.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnNlYXJjaCAocmVnZXhwKQogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS40LzE1LjUuNC4xMi9TMTUuNS40LjEyX0ExX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBBcmd1bWVudCBpcyB0cnVlLCBhbmQgaW5zdGFuY2UgaXMgb2JqZWN0CiAqLwoKdmFyIF9faW5zdGFuY2UgPSBuZXcgT2JqZWN0KHRydWUpOwoKX19pbnN0YW5jZS5zZWFyY2ggPSBTdHJpbmcucHJvdG90eXBlLnNlYXJjaDsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKF9faW5zdGFuY2Uuc2VhcmNoKHRydWUpICE9PSAwKSB7CiAgJEVSUk9SKCcjMTogX19pbnN0YW5jZSA9IG5ldyBPYmplY3QodHJ1ZSk7IF9faW5zdGFuY2Uuc2VhcmNoID0gU3RyaW5nLnByb3RvdHlwZS5zZWFyY2g7ICBfX2luc3RhbmNlLnNlYXJjaCh0cnVlKSA9PT0gMC4gQWN0dWFsOiAnK19faW5zdGFuY2Uuc2VhcmNoKHRydWUpICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"String.prototype.search (regexp)","description":"Argument is true, and instance is object","path":"TestCases/ch15/15.5/15.5.4/15.5.4.12/S15.5.4.12_A1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnNlYXJjaCAocmVnZXhwKQogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS40LzE1LjUuNC4xMi9TMTUuNS40LjEyX0ExX1QxMC5qcwogKiBAZGVzY3JpcHRpb24gQXJndW1lbnQgaXMgb2JqZWN0LCBhbmQgaW5zdGFuY2UgaXMgc3RyaW5nLgogKiBPYmplY3Qgd2l0aCBvdmVycmlkZWQgdG9TdHJpbmcgZnVuY3Rpb24KICovCgp2YXIgX19vYmogPSB7dG9TdHJpbmc6ZnVuY3Rpb24oKXtyZXR1cm4gIlx1MDA0MUIiO319Owp2YXIgX19zdHIgPSAic3NBQkJcdTAwNDFCQUJBQiI7CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCndpdGgoX19zdHIpewogIGlmIChzZWFyY2goX19vYmopICE9PTIpIHsKICAgICRFUlJPUignIzE6IHZhciBfX29iaiA9IHt0b1N0cmluZzpmdW5jdGlvbigpe3JldHVybiAiXHUwMDQxQiI7fX07IHZhciBfX3N0ciA9ICJzc0FCQlx1MDA0MUJBQkFCIjsgc2VhcmNoKF9fb2JqKSA9PT0yLiBBY3R1YWw6ICcrc2VhcmNoKF9fb2JqKSApOwogIH0KfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCnZhciB4OwoK","commentary":"String.prototype.search (regexp)","description":"Argument is object, and instance is string.\nObject with overrided toString function","path":"TestCases/ch15/15.5/15.5.4/15.5.4.12/S15.5.4.12_A1_T10.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnNlYXJjaCAocmVnZXhwKQogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS40LzE1LjUuNC4xMi9TMTUuNS40LjEyX0ExX1QxMS5qcwogKiBAZGVzY3JpcHRpb24gQXJndW1lbnQgaXMgb2JqZWN0LCBhbmQgaW5zdGFuY2UgaXMgc3RyaW5nLgogKiBPYmplY3Qgd2l0aCBvdmVycmlkZWQgdG9TdHJpbmcgZnVuY3Rpb24sIHRoYXQgdGhyb3cgZXhjZXB0aW9uCiAqLwoKdmFyIF9fb2JqID0ge3RvU3RyaW5nOmZ1bmN0aW9uKCl7dGhyb3cgImludG9zdHIiO319CnZhciBfX3N0ciA9IHtzdHJfXzoiQUJCXHUwMDQxQkFCQUIifTsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKd2l0aChfX3N0cil7CiAgd2l0aChzdHJfXyl7CiAgICB0cnkgewogICAgICB2YXIgeCA9IHNlYXJjaChfX29iaik7CiAgICAgICRGQUlMKCcjMTogdmFyIHggPSBzZWFyY2goX19vYmopIGxlYWQgdG8gdGhyb3dpbmcgZXhjZXB0aW9uJyk7CiAgICB9IGNhdGNoIChlKSB7CiAgICAgIGlmIChlIT09ImludG9zdHIiKSB7CiAgICAgICAgJEVSUk9SKCcjMS4xOiBFeGNlcHRpb24gPT09ICJpbnRvc3RyIi4gQWN0dWFsOiAnK2UpOwogICAgICB9CiAgICB9CiAgfQp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"String.prototype.search (regexp)","description":"Argument is object, and instance is string.\nObject with overrided toString function, that throw exception","path":"TestCases/ch15/15.5/15.5.4/15.5.4.12/S15.5.4.12_A1_T11.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnNlYXJjaCAocmVnZXhwKQogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS40LzE1LjUuNC4xMi9TMTUuNS40LjEyX0ExX1QxMi5qcwogKiBAZGVzY3JpcHRpb24gQXJndW1lbnQgaXMgb2JqZWN0LCBhbmQgaW5zdGFuY2UgaXMgc3RyaW5nLgogKiBPYmplY3Qgd2l0aCBvdmVycmlkZWQgdG9TdHJpbmcgYW5kIHZhbHVlT2YgZnVuY3Rpb25zLCB2YWx1ZU9mIHRocm93IGV4Y2VwdGlvbgogKi8KCnZhciBfX29iaiA9IHt0b1N0cmluZzpmdW5jdGlvbigpe3JldHVybiB7fTt9LHZhbHVlT2Y6ZnVuY3Rpb24oKXt0aHJvdyAiaW50b3N0ciI7fX0KdmFyIF9fc3RyID0gbmV3IFN0cmluZygiQUJCXHUwMDQxQkFCQUIiKTsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKd2l0aChfX3N0cil7CiAgICB0cnkgewogICAgICB2YXIgeCA9IHNlYXJjaChfX29iaik7CiAgICAgICRGQUlMKCcjMTogdmFyIHggPSBzZWFyY2goX19vYmopIGxlYWQgdG8gdGhyb3dpbmcgZXhjZXB0aW9uJyk7CiAgICB9IGNhdGNoIChlKSB7CiAgICAgIGlmIChlIT09ImludG9zdHIiKSB7CiAgICAgICAgJEVSUk9SKCcjMS4xOiBFeGNlcHRpb24gPT09ICJpbnRvc3RyIi4gQWN0dWFsOiAnK2UpOwogICAgICB9CiAgICB9Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"String.prototype.search (regexp)","description":"Argument is object, and instance is string.\nObject with overrided toString and valueOf functions, valueOf throw exception","path":"TestCases/ch15/15.5/15.5.4/15.5.4.12/S15.5.4.12_A1_T12.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnNlYXJjaCAocmVnZXhwKQogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS40LzE1LjUuNC4xMi9TMTUuNS40LjEyX0ExX1QxMy5qcwogKiBAZGVzY3JpcHRpb24gQXJndW1lbnQgaXMgb2JqZWN0LCBhbmQgaW5zdGFuY2UgaXMgc3RyaW5nLgogKiBPYmplY3Qgd2l0aCBvdmVycmlkZWQgdG9TdHJpbmcgYW5kIHZhbHVlT2YgZnVuY3Rpb25zCiAqLwoKdmFyIF9fb2JqID0ge3RvU3RyaW5nOmZ1bmN0aW9uKCl7cmV0dXJuIHt9O30sdmFsdWVPZjpmdW5jdGlvbigpe3JldHVybiAxO319CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmICgiQUJCXHUwMDQxQlx1MDAzMUFCQUJcdTAwMzFCQkFBIi5zZWFyY2goX19vYmopICE9PTUpIHsKICAkRVJST1IoJyMxOiB2YXIgX19vYmogPSB7dG9TdHJpbmc6ZnVuY3Rpb24oKXtyZXR1cm4ge307fSx2YWx1ZU9mOmZ1bmN0aW9uKCl7cmV0dXJuIDE7fX07ICJBQkJcXHUwMDQxQlxcdTAwMzFBQkFCXFx1MDAzMUJCQUEiLnNlYXJjaChfX29iaikgPT09NS4gQWN0dWFsOiAnKygiQUJCXHUwMDQxQlx1MDAzMUFCQUJcdTAwMzFCQkFBIi5zZWFyY2goX19vYmopKSApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"String.prototype.search (regexp)","description":"Argument is object, and instance is string.\nObject with overrided toString and valueOf functions","path":"TestCases/ch15/15.5/15.5.4/15.5.4.12/S15.5.4.12_A1_T13.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnNlYXJjaCAocmVnZXhwKQogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS40LzE1LjUuNC4xMi9TMTUuNS40LjEyX0ExX1QxNC5qcwogKiBAZGVzY3JpcHRpb24gSW5zdGFuY2UgaXMgc3RyaW5nLCBhcmd1bWVudCBpcyByZWd1bGFyIGV4cHJlc3Npb24KICovCgp2YXIgX19yZWcgPSBuZXcgUmVnRXhwKCI3NyIpOwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAoIkFCQlx1MDA0MUJBQkFCXHUwMDM3XHUwMDM3QkJBQSIuc2VhcmNoKF9fcmVnKSAhPT0gOSkgewogICRFUlJPUignIzE6IHZhciBfX3JlZyA9IG5ldyBSZWdFeHAoIjc3Iik7ICJBQkJcXHUwMDQxQkFCQUJcXHUwMDM3XFx1MDAzN0JCQUEiLnNlYXJjaChfX3JlZykgPT09IDkuIEFjdHVhbDogJysoIkFCQlx1MDA0MUJBQkFCXHUwMDM3XHUwMDM3QkJBQSIuc2VhcmNoKF9fcmVnKSkgKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"String.prototype.search (regexp)","description":"Instance is string, argument is regular expression","path":"TestCases/ch15/15.5/15.5.4/15.5.4.12/S15.5.4.12_A1_T14.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnNlYXJjaCAocmVnZXhwKQogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS40LzE1LjUuNC4xMi9TMTUuNS40LjEyX0ExX1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBBcmd1bWVudCBpcyBmdW5jdGlvbiBjYWxsLCBhbmQgaW5zdGFuY2UgaXMgQm9vbGVhbgogKi8KCnZhciBfX2luc3RhbmNlID0gbmV3IEJvb2xlYW47CgpfX2luc3RhbmNlLnNlYXJjaCA9IFN0cmluZy5wcm90b3R5cGUuc2VhcmNoOwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAoX19pbnN0YW5jZS5zZWFyY2goZnVuY3Rpb24oKXtyZXR1cm4gZmFsc2U7fSgpKSAhPT0gMCkgewogICRFUlJPUignIzE6IF9faW5zdGFuY2UgPSBuZXcgQm9vbGVhbjsgX19pbnN0YW5jZS5zZWFyY2ggPSBTdHJpbmcucHJvdG90eXBlLnNlYXJjaDsgIF9faW5zdGFuY2Uuc2VhcmNoKGZ1bmN0aW9uKCl7cmV0dXJuIGZhbHNlO30oKSkgPT09IDAuIEFjdHVhbDogJytfX2luc3RhbmNlLnNlYXJjaChmdW5jdGlvbigpe3JldHVybiBmYWxzZTt9KCkpICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"String.prototype.search (regexp)","description":"Argument is function call, and instance is Boolean","path":"TestCases/ch15/15.5/15.5.4/15.5.4.12/S15.5.4.12_A1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnNlYXJjaCAocmVnZXhwKQogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS40LzE1LjUuNC4xMi9TMTUuNS40LjEyX0ExX1Q0LmpzCiAqIEBkZXNjcmlwdGlvbiBDYWxsIHNlYXJjaCAocmVnZXhwKSB3aXRob3V0IGFyZ3VtZW50cwogKi8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKLy9zaW5jZSBUb1N0cmluZygpIGV2YWx1YXRlcyB0byAiIiBzZWFyY2goKSBldmFsdWF0ZXMgdG8gc2VhcmNoKCIiKQppZiAoIiIuc2VhcmNoKCkgIT09IDApIHsKICAkRVJST1IoJyMxOiAiIi5zZWFyY2goKSA9PT0gMC4gQWN0dWFsOiAnKygiIi5zZWFyY2goKSkgKTsKfQoKaWYgKCItLXVuZGVmaW5lZC0tIi5zZWFyY2goKSAhPSAwKSB7CiAgJEVSUk9SKCcjMTogIi0tdW5kZWZpbmVkLS0iLnNlYXJjaCgpID09PSAwLiBBY3R1YWw6ICcrKCItLXVuZGVmaW5lZC0tIi5zZWFyY2goKSkgKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"String.prototype.search (regexp)","description":"Call search (regexp) without arguments","path":"TestCases/ch15/15.5/15.5.4/15.5.4.12/S15.5.4.12_A1_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnNlYXJjaCAocmVnZXhwKQogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS40LzE1LjUuNC4xMi9TMTUuNS40LjEyX0ExX1Q1LmpzCiAqIEBkZXNjcmlwdGlvbiBBcmd1bWVudCBpcyBudWxsLCBhbmQgaW5zdGFuY2UgaXMgZnVuY3Rpb24gY2FsbCwgdGhhdCByZXR1cm4gc3RyaW5nCiAqLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQovL3NpbmNlIFRvU3RyaW5nKG51bGwpIGV2YWx1YXRlcyB0byAibnVsbCIgc2VhcmNoKG51bGwpIGV2YWx1YXRlcyB0byBzZWFyY2goIm51bGwiKQppZiAoZnVuY3Rpb24oKXtyZXR1cm4gImdudWxsdW5hIn0oKS5zZWFyY2gobnVsbCkgIT09IDEpIHsKICAkRVJST1IoJyMxOiBmdW5jdGlvbigpe3JldHVybiAiZ251bGx1bmEifSgpLnNlYXJjaChudWxsKSA9PT0gMS4gQWN0dWFsOiAnK2Z1bmN0aW9uKCl7cmV0dXJuICJnbnVsbHVuYSJ9KCkuc2VhcmNoKG51bGwpICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"String.prototype.search (regexp)","description":"Argument is null, and instance is function call, that return string","path":"TestCases/ch15/15.5/15.5.4/15.5.4.12/S15.5.4.12_A1_T5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnNlYXJjaCAocmVnZXhwKQogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS40LzE1LjUuNC4xMi9TMTUuNS40LjEyX0ExX1Q2LmpzCiAqIEBkZXNjcmlwdGlvbiBBcmd1bWVudCBpcyB4LCBhbmQgaW5zdGFuY2UgaXMgbmV3IFN0cmluZywgeCBpcyB1bmRlZmluZWQgdmFyaWFibGUKICovCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCi8vc2luY2UgVG9TdHJpbmcodW5kZWZpbmVkKSBldmFsdWF0ZXMgdG8gInVuZGVmaW5lZCIgc2VhcmNoKHVuZGVmaW5lZCkgZXZhbHVhdGVzIHRvIHNlYXJjaCgidW5kZWZpbmVkIikKaWYgKG5ldyBTdHJpbmcoInVuZGVmaW5lZCIpLnNlYXJjaCh4KSAhPT0gMCkgewogICRFUlJPUignIzE6IHZhciB4OyBuZXcgU3RyaW5nKCJ1bmRlZmluZWQiKS5zZWFyY2goeCkgPT09IDAuIEFjdHVhbDogJytuZXcgU3RyaW5nKCJ1bmRlZmluZWQiKS5zZWFyY2goeCkgKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCnZhciB4OwoK","commentary":"String.prototype.search (regexp)","description":"Argument is x, and instance is new String, x is undefined variable","path":"TestCases/ch15/15.5/15.5.4/15.5.4.12/S15.5.4.12_A1_T6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnNlYXJjaCAocmVnZXhwKQogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS40LzE1LjUuNC4xMi9TMTUuNS40LjEyX0ExX1Q3LmpzCiAqIEBkZXNjcmlwdGlvbiBBcmd1bWVudCBpcyB1bmRlZmluZWQsIGFuZCBpbnN0YW5jZSBpcyBuZXcgU3RyaW5nCiAqLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQovL3NpbmNlIFRvU3RyaW5nKHVuZGVmaW5lZCkgZXZhbHVhdGVzIHRvICJ1bmRlZmluZWQiIHNlYXJjaCh1bmRlZmluZWQpIGV2YWx1YXRlcyB0byBzZWFyY2goInVuZGVmaW5lZCIpCmlmIChTdHJpbmcoInVuZGVmaW5lZCIpLnNlYXJjaCh1bmRlZmluZWQpICE9PSAwKSB7CiAgJEVSUk9SKCcjMTogU3RyaW5nKCJ1bmRlZmluZWQiKS5zZWFyY2godW5kZWZpbmVkKSA9PT0gMC4gQWN0dWFsOiAnK1N0cmluZygidW5kZWZpbmVkIikuc2VhcmNoKHVuZGVmaW5lZCkgKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"String.prototype.search (regexp)","description":"Argument is undefined, and instance is new String","path":"TestCases/ch15/15.5/15.5.4/15.5.4.12/S15.5.4.12_A1_T7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnNlYXJjaCAocmVnZXhwKQogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS40LzE1LjUuNC4xMi9TMTUuNS40LjEyX0ExX1Q4LmpzCiAqIEBkZXNjcmlwdGlvbiBBcmd1bWVudCBpcyB2b2lkIDAsIGFuZCBpbnN0YW5jZSBpcyBTdHJpbmcgb2JqZWN0IHdpdGggb3ZlcnJpZGVkIHRvU3RyaW5nIGZ1bmN0aW9uCiAqLwoKdmFyIF9fb2JqID0ge3RvU3RyaW5nOmZ1bmN0aW9uKCl7fX07CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCi8vc2luY2UgVG9TdHJpbmcodm9pZCAwKSBldmFsdWF0ZXMgdG8gInVuZGVmaW5lZCIgc2VhcmNoKHZvaWQgMCkgZXZhbHVhdGVzIHRvIHNlYXJjaCgidW5kZWZpbmVkIikKaWYgKFN0cmluZyhfX29iaikuc2VhcmNoKHZvaWQgMCkgIT09IDApIHsKICAkRVJST1IoJyMxOiBfX29iaiA9IHt0b1N0cmluZzpmdW5jdGlvbigpe319OyBTdHJpbmcoX19vYmopLnNlYXJjaCh2b2lkIDApID09PSAwLiBBY3R1YWw6ICcrU3RyaW5nKF9fb2JqKS5zZWFyY2godm9pZCAwKSApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"String.prototype.search (regexp)","description":"Argument is void 0, and instance is String object with overrided toString function","path":"TestCases/ch15/15.5/15.5.4/15.5.4.12/S15.5.4.12_A1_T8.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnNlYXJjaCAocmVnZXhwKQogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS40LzE1LjUuNC4xMi9TMTUuNS40LjEyX0ExX1Q5LmpzCiAqIEBkZXNjcmlwdGlvbiBBcmd1bWVudCBpcyBmdW5jdGlvbiBjYWxsLCBhbmQgaW5zdGFuY2UgaXMgU3RyaW5nIG9iamVjdCB3aXRoIG92ZXJyaWRlZCB0b1N0cmluZyBhbmQgdmFsdWVPZiBmdW5jdGlvbnMKICovCgp2YXIgX19vYmogPSB7CiAgICB2YWx1ZU9mOmZ1bmN0aW9uKCl7fSwKICAgIHRvU3RyaW5nOnZvaWQgMAp9OwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQovL3NpbmNlIFRvU3RyaW5nKHVuZGVmaW5lZCkgZXZhbHVhdGVzIHRvICJ1bmRlZmluZWQiIHNlYXJjaCh1bmRlZmluZWQpIGV2YWx1YXRlcyB0byBzZWFyY2goInVuZGVmaW5lZCIpCmlmIChuZXcgU3RyaW5nKF9fb2JqKS5zZWFyY2goZnVuY3Rpb24oKXt9KCkpICE9PSAwKSB7CiAgJEVSUk9SKCcjMTogX19vYmogPSB7dmFsdWVPZjpmdW5jdGlvbigpe30sIHRvU3RyaW5nOnZvaWQgMH07IG5ldyBTdHJpbmcoX19vYmopLnNlYXJjaChmdW5jdGlvbigpe30oKSkgPT09IDAuIEFjdHVhbDogJytuZXcgU3RyaW5nKF9fb2JqKS5zZWFyY2goZnVuY3Rpb24oKXt9KCkpICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"String.prototype.search (regexp)","description":"Argument is function call, and instance is String object with overrided toString and valueOf functions","path":"TestCases/ch15/15.5/15.5.4/15.5.4.12/S15.5.4.12_A1_T9.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnNlYXJjaCAocmVnZXhwKSByZXR1cm5zIC4uLgogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS40LzE1LjUuNC4xMi9TMTUuNS40LjEyX0EyX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBTaW1wbGUgc2VhcmNoIHN1YnN0cmluZyBpbnNpZGUgc3RyaW5nCiAqLwoKdmFyIGFTdHJpbmcgPSBuZXcgU3RyaW5nKCJ0ZXN0IHN0cmluZyIpOwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAoYVN0cmluZy5zZWFyY2goInN0cmluZyIpIT09IDUpIHsKICAkRVJST1IoJyMxOiB2YXIgYVN0cmluZyA9IG5ldyBTdHJpbmcoInRlc3Qgc3RyaW5nIik7IGFTdHJpbmcuc2VhcmNoKCJzdHJpbmciKT09PSA1LiBBY3R1YWw6ICcrYVN0cmluZy5zZWFyY2goInN0cmluZyIpKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"String.prototype.search (regexp) returns ...","description":"Simple search substring inside string","path":"TestCases/ch15/15.5/15.5.4/15.5.4.12/S15.5.4.12_A2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnNlYXJjaCAocmVnZXhwKSByZXR1cm5zIC4uLgogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS40LzE1LjUuNC4xMi9TMTUuNS40LjEyX0EyX1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBjYXNlIHNlbnNpdGl2ZSBvZiBzZWFyY2gsIGFyZ3VtZW50IGlzIHN0cmluZwogKi8KCnZhciBhU3RyaW5nID0gbmV3IFN0cmluZygidGVzdCBzdHJpbmciKTsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKGFTdHJpbmcuc2VhcmNoKCJTdHJpbmciKSE9PSAtMSkgewogICRFUlJPUignIzE6IHZhciBhU3RyaW5nID0gbmV3IFN0cmluZygidGVzdCBzdHJpbmciKTsgYVN0cmluZy5zZWFyY2goIlN0cmluZyIpPT09IC0xLiBBY3R1YWw6ICcrYVN0cmluZy5zZWFyY2goIlN0cmluZyIpKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"String.prototype.search (regexp) returns ...","description":"Checking case sensitive of search, argument is string","path":"TestCases/ch15/15.5/15.5.4/15.5.4.12/S15.5.4.12_A2_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnNlYXJjaCAocmVnZXhwKSByZXR1cm5zIC4uLgogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS40LzE1LjUuNC4xMi9TMTUuNS40LjEyX0EyX1QzLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBkaXNhYmxpbmcgb2YgY2FzZSBzZW5zaXRpdmUgb2Ygc2VhcmNoLCBhcmd1bWVudCBpcyBSZWdFeHAKICovCgp2YXIgYVN0cmluZyA9IG5ldyBTdHJpbmcoInRlc3Qgc3RyaW5nIik7CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmIChhU3RyaW5nLnNlYXJjaCgvU3RyaW5nL2kpIT09IDUpIHsKICAkRVJST1IoJyMxOiB2YXIgYVN0cmluZyA9IG5ldyBTdHJpbmcoInRlc3Qgc3RyaW5nIik7IGFTdHJpbmcuc2VhcmNoKC9TdHJpbmcvaSk9PT0gNS4gQWN0dWFsOiAnK2FTdHJpbmcuc2VhcmNoKC9TdHJpbmcvaSkpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"String.prototype.search (regexp) returns ...","description":"Checking disabling of case sensitive of search, argument is RegExp","path":"TestCases/ch15/15.5/15.5.4/15.5.4.12/S15.5.4.12_A2_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnNlYXJjaCAocmVnZXhwKSByZXR1cm5zIC4uLgogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS40LzE1LjUuNC4xMi9TMTUuNS40LjEyX0EyX1Q0LmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBjYXNlIHNlbnNpdGl2ZSBvZiBzZWFyY2gsIGFyZ3VtZW50IGlzIFJlZ0V4cCB3aXRoIHVwcGVyY2FzZSBzeW1ib2xzCiAqLwoKdmFyIGJTdHJpbmcgPSBuZXcgU3RyaW5nKCJvbmUgdHdvIHRocmVlIGZvdXIgZml2ZSIpOwp2YXIgcmVnRXhwID0gL0ZvdXIvOwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAoYlN0cmluZy5zZWFyY2gocmVnRXhwKSE9PSAtMSkgewogICRFUlJPUignIzE6IHZhciBiU3RyaW5nID0gbmV3IFN0cmluZygib25lIHR3byB0aHJlZSBmb3VyIGZpdmUiKTsgdmFyIHJlZ0V4cCA9IC9Gb3VyLzsgYlN0cmluZy5zZWFyY2gocmVnRXhwKT09PSAtMS4gQWN0dWFsOiAnK2JTdHJpbmcuc2VhcmNoKHJlZ0V4cCkpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"String.prototype.search (regexp) returns ...","description":"Checking case sensitive of search, argument is RegExp with uppercase symbols","path":"TestCases/ch15/15.5/15.5.4/15.5.4.12/S15.5.4.12_A2_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnNlYXJjaCAocmVnZXhwKSByZXR1cm5zIC4uLgogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS40LzE1LjUuNC4xMi9TMTUuNS40LjEyX0EyX1Q1LmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBjYXNlIHNlbnNpdGl2ZSBvZiBzZWFyY2gsIGFyZ3VtZW50IGlzIFJlZ0V4cCB3aXRob3V0IHVwcGVyY2FzZSBzeW1ib2xzCiAqLwoKdmFyIGJTdHJpbmcgPSBuZXcgU3RyaW5nKCJvbmUgdHdvIHRocmVlIGZvdXIgZml2ZSIpOwp2YXIgcmVnRXhwID0gL2ZvdXIvOwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAoYlN0cmluZy5zZWFyY2gocmVnRXhwKSE9PSAxNCkgewogICRFUlJPUignIzE6IHZhciBiU3RyaW5nID0gbmV3IFN0cmluZygib25lIHR3byB0aHJlZSBmb3VyIGZpdmUiKTsgdmFyIHJlZ0V4cCA9IC9mb3VyLzsgYlN0cmluZy5zZWFyY2gocmVnRXhwKT09PSAxNC4gQWN0dWFsOiAnK2JTdHJpbmcuc2VhcmNoKHJlZ0V4cCkpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"String.prototype.search (regexp) returns ...","description":"Checking case sensitive of search, argument is RegExp without uppercase symbols","path":"TestCases/ch15/15.5/15.5.4/15.5.4.12/S15.5.4.12_A2_T5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnNlYXJjaCAocmVnZXhwKSByZXR1cm5zIC4uLgogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS40LzE1LjUuNC4xMi9TMTUuNS40LjEyX0EyX1Q2LmpzCiAqIEBkZXNjcmlwdGlvbiBTZWFyY2hpbmcgdGhlIG5vbi1leGlzdGVudCAibm90ZXhpc3QiIHN1YnN0cmluZwogKi8KCnZhciBhU3RyaW5nID0gbmV3IFN0cmluZygidGVzdCBzdHJpbmciKTsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKGFTdHJpbmcuc2VhcmNoKCJub3RleGlzdCIpIT09IC0xKSB7CiAgJEVSUk9SKCcjMTogdmFyIGFTdHJpbmcgPSBuZXcgU3RyaW5nKCJ0ZXN0IHN0cmluZyIpOyBhU3RyaW5nLnNlYXJjaCgibm90ZXhpc3QiKT09PSAtMS4gQWN0dWFsOiAnK2FTdHJpbmcuc2VhcmNoKCJub3RleGlzdCIpKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"String.prototype.search (regexp) returns ...","description":"Searching the non-existent \"notexist\" substring","path":"TestCases/ch15/15.5/15.5.4/15.5.4.12/S15.5.4.12_A2_T6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnNlYXJjaCAocmVnZXhwKSByZXR1cm5zIC4uLgogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS40LzE1LjUuNC4xMi9TMTUuNS40LjEyX0EyX1Q3LmpzCiAqIEBkZXNjcmlwdGlvbiBTaW1wbGUgc2VhcmNoIHNlbnRlbmNlIGluc2lkZSBzdHJpbmcKICovCgp2YXIgYVN0cmluZyA9IG5ldyBTdHJpbmcoInRlc3Qgc3RyaW5nIHByb2JlIik7CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmIChhU3RyaW5nLnNlYXJjaCgic3RyaW5nIHBybyIpIT09IDUpIHsKICAkRVJST1IoJyMxOiB2YXIgYVN0cmluZyA9IG5ldyBTdHJpbmcoInRlc3Qgc3RyaW5nIHByb2JlIik7IGFTdHJpbmcuc2VhcmNoKCJzdHJpbmcgcHJvIik9PT0gNS4gQWN0dWFsOiAnK2FTdHJpbmcuc2VhcmNoKCJzdHJpbmcgcHJvIikpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"String.prototype.search (regexp) returns ...","description":"Simple search sentence inside string","path":"TestCases/ch15/15.5/15.5.4/15.5.4.12/S15.5.4.12_A2_T7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnNlYXJjaCAocmVnZXhwKSBpZ25vcmVzIGdsb2JhbCBwcm9wZXJ0aWVzIG9mIHJlZ2V4cAogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS40LzE1LjUuNC4xMi9TMTUuNS40LjEyX0EzX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyByZXN1bHRzIG9mIHNlYXJjaCByZWdleHAgd2l0aCBhbmQgd2l0aG91dCBnbG9iYWwgcHJvcGVydGllcwogKi8KCnZhciBhU3RyaW5nID0gbmV3IFN0cmluZygicG93ZXIgb2YgdGhlIHBvd2VyIG9mIHRoZSBwb3dlciBvZiB0aGUgcG93ZXIgb2YgdGhlIHBvd2VyIG9mIHRoZSBwb3dlciBvZiB0aGUgZ3JlYXQgc3dvcmQiKTsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKGFTdHJpbmcuc2VhcmNoKC90aGUvKSE9PSBhU3RyaW5nLnNlYXJjaCgvdGhlL2cpKSB7CiAgJEVSUk9SKCcjMTogdmFyIGFTdHJpbmcgPSBuZXcgU3RyaW5nKCJwb3dlciBvZiB0aGUgcG93ZXIgb2YgdGhlIHBvd2VyIG9mIHRoZSBwb3dlciBvZiB0aGUgcG93ZXIgb2YgdGhlIHBvd2VyIG9mIHRoZSBncmVhdCBzd29yZCIpOyBhU3RyaW5nLnNlYXJjaCgvdGhlLyk9PT0gYVN0cmluZy5zZWFyY2goL3RoZS9nKS4gQWN0dWFsOiAnK2FTdHJpbmcuc2VhcmNoKC90aGUvKSk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"String.prototype.search (regexp) ignores global properties of regexp","description":"Checking results of search regexp with and without global properties","path":"TestCases/ch15/15.5/15.5.4/15.5.4.12/S15.5.4.12_A3_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnNlYXJjaCAocmVnZXhwKSBpZ25vcmVzIGdsb2JhbCBwcm9wZXJ0aWVzIG9mIHJlZ2V4cAogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS40LzE1LjUuNC4xMi9TMTUuNS40LjEyX0EzX1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyByZXN1bHRzIG9mIHNlYXJjaCByZWdleHAgd2l0aCBhbmQgd2l0aG91dCBnbG9iYWwgcHJvcGVydGllcy4gVW5pY29kZSBzeW1ib2xzIHVzZWQKICovCgp2YXIgYVN0cmluZyA9IG5ldyBTdHJpbmcoInBvd2VyIFx1MDA2Rlx1MDA2NiB0aGUgcG93ZXIgb2YgdGhlIHBvd2VyIFx1MDA2Rlx1MDA2NiB0aGUgcG93ZXIgb2YgdGhlIHBvd2VyIFx1MDA2Rlx1MDA2NiB0aGUgcG93ZXIgb2YgdGhlIGdyZWF0IHN3b3JkIik7CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmIChhU3RyaW5nLnNlYXJjaCgvb2YvKSE9PSBhU3RyaW5nLnNlYXJjaCgvb2YvZykpIHsKICAkRVJST1IoJyMxOiB2YXIgYVN0cmluZyA9IG5ldyBTdHJpbmcoInBvd2VyIFxcdTAwNkZcXHUwMDY2IHRoZSBwb3dlciBvZiB0aGUgcG93ZXIgXFx1MDA2RlxcdTAwNjYgdGhlIHBvd2VyIG9mIHRoZSBwb3dlciBcXHUwMDZGXFx1MDA2NiB0aGUgcG93ZXIgb2YgdGhlIGdyZWF0IHN3b3JkIik7IGFTdHJpbmcuc2VhcmNoKC9vZi8pPT09IGFTdHJpbmcuc2VhcmNoKC9vZi9nKS4gQWN0dWFsOiAnK2FTdHJpbmcuc2VhcmNoKC9vZi8pKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"String.prototype.search (regexp) ignores global properties of regexp","description":"Checking results of search regexp with and without global properties. Unicode symbols used","path":"TestCases/ch15/15.5/15.5.4/15.5.4.12/S15.5.4.12_A3_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnNlYXJjaCBoYXMgbm90IHByb3RvdHlwZSBwcm9wZXJ0eQogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS40LzE1LjUuNC4xMi9TMTUuNS40LjEyX0E2LmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBTdHJpbmcucHJvdG90eXBlLnNlYXJjaC5wcm90b3R5cGUKICovCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmIChTdHJpbmcucHJvdG90eXBlLnNlYXJjaC5wcm90b3R5cGUgIT09IHVuZGVmaW5lZCkgewogICRFUlJPUignIzE6IFN0cmluZy5wcm90b3R5cGUuc2VhcmNoLnByb3RvdHlwZSA9PT0gdW5kZWZpbmVkLiBBY3R1YWw6ICcrU3RyaW5nLnByb3RvdHlwZS5zZWFyY2gucHJvdG90eXBlICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"String.prototype.search has not prototype property","description":"Checking String.prototype.search.prototype","path":"TestCases/ch15/15.5/15.5.4/15.5.4.12/S15.5.4.12_A6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnNlYXJjaCBjYW4ndCBiZSB1c2VkIGFzIGNvbnN0cnVjdG9yCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjEyL1MxNS41LjQuMTJfQTcuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIGNyZWF0aW5nIHRoZSBTdHJpbmcucHJvdG90eXBlLnNlYXJjaCBvYmplY3QgZmFpbHMKICovCgp2YXIgX19GQUNUT1JZID0gU3RyaW5nLnByb3RvdHlwZS5zZWFyY2g7Cgp0cnkgewogIHZhciBfX2luc3RhbmNlID0gbmV3IF9fRkFDVE9SWTsKICAkRkFJTCgnIzE6IF9fRkFDVE9SWSA9IFN0cmluZy5wcm90b3R5cGUuc2VhcmNoOyAiX19pbnN0YW5jZSA9IG5ldyBfX0ZBQ1RPUlkiIGxlYWQgdG8gdGhyb3dpbmcgZXhjZXB0aW9uJyk7Cn0gY2F0Y2ggKGUpIHsKICBpZiAoKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpICE9PSB0cnVlKSB7CiAgICAkRVJST1IoJyMxLjE6IF9fRkFDVE9SWSA9IFN0cmluZy5wcm90b3R5cGUuc2VhcmNoOyAiX19pbnN0YW5jZSA9IG5ldyBfX0ZBQ1RPUlkiIHRocm93IGEgVHlwZUVycm9yLiBBY3R1YWw6ICcgKyAoZSkpOyAgCiAgfQogICRQUklOVChlKTsKfQoK","commentary":"String.prototype.search can't be used as constructor","description":"Checking if creating the String.prototype.search object fails","path":"TestCases/ch15/15.5/15.5.4/15.5.4.12/S15.5.4.12_A7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgU3RyaW5nLnByb3RvdHlwZS5zZWFyY2gubGVuZ3RoIHByb3BlcnR5IGhhcyB0aGUgYXR0cmlidXRlIERvbnRFbnVtCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjEyL1MxNS41LjQuMTJfQTguanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIGVudW1lcmF0aW5nIHRoZSBTdHJpbmcucHJvdG90eXBlLnNlYXJjaC5sZW5ndGggcHJvcGVydHkgZmFpbHMKICovCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMwCmlmICghKFN0cmluZy5wcm90b3R5cGUuc2VhcmNoLmhhc093blByb3BlcnR5KCdsZW5ndGgnKSkpIHsKICAkRkFJTCgnIzA6IFN0cmluZy5wcm90b3R5cGUuc2VhcmNoLmhhc093blByb3BlcnR5KFwnbGVuZ3RoXCcpIHJldHVybiB0cnVlLiBBY3R1YWw6ICcrU3RyaW5nLnByb3RvdHlwZS5zZWFyY2guaGFzT3duUHJvcGVydHkoJ2xlbmd0aCcpKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy8gQ0hFQ0sjMQppZiAoU3RyaW5nLnByb3RvdHlwZS5zZWFyY2gucHJvcGVydHlJc0VudW1lcmFibGUoJ2xlbmd0aCcpKSB7CiAgJEVSUk9SKCcjMTogU3RyaW5nLnByb3RvdHlwZS5zZWFyY2gucHJvcGVydHlJc0VudW1lcmFibGUoXCdsZW5ndGhcJykgcmV0dXJuIGZhbHNlJyk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy8gQ0hFQ0sjMgp2YXIgY291bnQ9MDsKCmZvciAocCBpbiBTdHJpbmcucHJvdG90eXBlLnNlYXJjaCl7CiAgaWYgKHA9PT0ibGVuZ3RoIikgY291bnQrKzsKfQoKaWYgKGNvdW50ICE9PSAwKSB7CiAgJEVSUk9SKCcjMjogY291bnQ9MDsgZm9yIChwIGluIFN0cmluZy5wcm90b3R5cGUuc2VhcmNoKXtpZiAocD09PSJsZW5ndGgiKSBjb3VudCsrO307IGNvdW50ID09PSAwLiBBY3R1YWw6ICcrY291bnQgKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"The String.prototype.search.length property has the attribute DontEnum","description":"Checking if enumerating the String.prototype.search.length property fails","path":"TestCases/ch15/15.5/15.5.4/15.5.4.12/S15.5.4.12_A8.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgU3RyaW5nLnByb3RvdHlwZS5zZWFyY2gubGVuZ3RoIHByb3BlcnR5IGhhcyB0aGUgYXR0cmlidXRlIERvbnREZWxldGUKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuMTIvUzE1LjUuNC4xMl9BOS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgaWYgZGVsZXRpbmcgdGhlIFN0cmluZy5wcm90b3R5cGUuc2VhcmNoLmxlbmd0aCBwcm9wZXJ0eSBmYWlscwogKi8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzAKaWYgKCEoU3RyaW5nLnByb3RvdHlwZS5zZWFyY2guaGFzT3duUHJvcGVydHkoJ2xlbmd0aCcpKSkgewogICRGQUlMKCcjMDogU3RyaW5nLnByb3RvdHlwZS5zZWFyY2guaGFzT3duUHJvcGVydHkoXCdsZW5ndGhcJykgcmV0dXJuIHRydWUuIEFjdHVhbDogJytTdHJpbmcucHJvdG90eXBlLnNlYXJjaC5oYXNPd25Qcm9wZXJ0eSgnbGVuZ3RoJykpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAoZGVsZXRlIFN0cmluZy5wcm90b3R5cGUuc2VhcmNoLmxlbmd0aCkgewogICRFUlJPUignIzE6IGRlbGV0ZSBTdHJpbmcucHJvdG90eXBlLnNlYXJjaC5sZW5ndGggcmV0dXJuIGZhbHNlJyk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMyCmlmICghKFN0cmluZy5wcm90b3R5cGUuc2VhcmNoLmhhc093blByb3BlcnR5KCdsZW5ndGgnKSkpIHsKICAkRkFJTCgnIzI6IGRlbGV0ZSBTdHJpbmcucHJvdG90eXBlLnNlYXJjaC5sZW5ndGg7IFN0cmluZy5wcm90b3R5cGUuc2VhcmNoLmhhc093blByb3BlcnR5KFwnbGVuZ3RoXCcpIHJldHVybiB0cnVlLiBBY3R1YWw6ICcrU3RyaW5nLnByb3RvdHlwZS5zZWFyY2guaGFzT3duUHJvcGVydHkoJ2xlbmd0aCcpKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"The String.prototype.search.length property has the attribute DontDelete","description":"Checking if deleting the String.prototype.search.length property fails","path":"TestCases/ch15/15.5/15.5.4/15.5.4.12/S15.5.4.12_A9.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgU3RyaW5nLnByb3RvdHlwZS5zbGljZS5sZW5ndGggcHJvcGVydHkgaGFzIHRoZSBhdHRyaWJ1dGUgUmVhZE9ubHkKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuMTMvUzE1LjUuNC4xM19BMTAuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIHZhcnlpbmcgdGhlIFN0cmluZy5wcm90b3R5cGUuc2xpY2UubGVuZ3RoIHByb3BlcnR5IGZhaWxzCiAqLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAoIShTdHJpbmcucHJvdG90eXBlLnNsaWNlLmhhc093blByb3BlcnR5KCdsZW5ndGgnKSkpIHsKICAkRkFJTCgnIzE6IFN0cmluZy5wcm90b3R5cGUuc2xpY2UuaGFzT3duUHJvcGVydHkoXCdsZW5ndGhcJykgcmV0dXJuIHRydWUuIEFjdHVhbDogJytTdHJpbmcucHJvdG90eXBlLnNsaWNlLmhhc093blByb3BlcnR5KCdsZW5ndGgnKSk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgp2YXIgX19vYmogPSBTdHJpbmcucHJvdG90eXBlLnNsaWNlLmxlbmd0aDsKClN0cmluZy5wcm90b3R5cGUuc2xpY2UubGVuZ3RoID0gZnVuY3Rpb24oKXtyZXR1cm4gInNoaWZ0ZWQiO307CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMyCmlmIChTdHJpbmcucHJvdG90eXBlLnNsaWNlLmxlbmd0aCAhPT0gX19vYmopIHsKICAkRVJST1IoJyMyOiBfX29iaiA9IFN0cmluZy5wcm90b3R5cGUuc2xpY2UubGVuZ3RoOyBTdHJpbmcucHJvdG90eXBlLnNsaWNlLmxlbmd0aCA9IGZ1bmN0aW9uKCl7cmV0dXJuICJzaGlmdGVkIjt9OyBTdHJpbmcucHJvdG90eXBlLnNsaWNlLmxlbmd0aCA9PT0gX19vYmouIEFjdHVhbDogJytTdHJpbmcucHJvdG90eXBlLnNsaWNlLmxlbmd0aCApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"The String.prototype.slice.length property has the attribute ReadOnly","description":"Checking if varying the String.prototype.slice.length property fails","path":"TestCases/ch15/15.5/15.5.4/15.5.4.13/S15.5.4.13_A10.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgbGVuZ3RoIHByb3BlcnR5IG9mIHRoZSBzbGljZSBtZXRob2QgaXMgMgogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS40LzE1LjUuNC4xMy9TMTUuNS40LjEzX0ExMS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgU3RyaW5nLnByb3RvdHlwZS5zbGljZS5sZW5ndGgKICovCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmICghKFN0cmluZy5wcm90b3R5cGUuc2xpY2UuaGFzT3duUHJvcGVydHkoImxlbmd0aCIpKSkgewogICRFUlJPUignIzE6IFN0cmluZy5wcm90b3R5cGUuc2xpY2UuaGFzT3duUHJvcGVydHkoImxlbmd0aCIpIHJldHVybiB0cnVlLiBBY3R1YWw6ICcrU3RyaW5nLnByb3RvdHlwZS5zbGljZS5oYXNPd25Qcm9wZXJ0eSgibGVuZ3RoIikpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMgppZiAoU3RyaW5nLnByb3RvdHlwZS5zbGljZS5sZW5ndGggIT09IDIpIHsKICAkRVJST1IoJyMyOiBTdHJpbmcucHJvdG90eXBlLnNsaWNlLmxlbmd0aCA9PT0gMi4gQWN0dWFsOiAnK1N0cmluZy5wcm90b3R5cGUuc2xpY2UubGVuZ3RoICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"The length property of the slice method is 2","description":"Checking String.prototype.slice.length","path":"TestCases/ch15/15.5/15.5.4/15.5.4.13/S15.5.4.13_A11.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnNsaWNlIChzdGFydCwgZW5kKQogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS40LzE1LjUuNC4xMy9TMTUuNS40LjEzX0ExX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBBcmd1bWVudHMgYXJlIGZhbHNlIGFuZCB0cnVlLCBhbmQgaW5zdGFuY2UgaXMgb2JqZWN0CiAqLwoKdmFyIF9faW5zdGFuY2UgPSBuZXcgT2JqZWN0KHRydWUpOwoKX19pbnN0YW5jZS5zbGljZSA9IFN0cmluZy5wcm90b3R5cGUuc2xpY2U7CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmIChfX2luc3RhbmNlLnNsaWNlKGZhbHNlLCB0cnVlKSAhPT0gInQiKSB7CiAgJEVSUk9SKCcjMTogX19pbnN0YW5jZSA9IG5ldyBPYmplY3QodHJ1ZSk7IF9faW5zdGFuY2Uuc2xpY2UgPSBTdHJpbmcucHJvdG90eXBlLnNsaWNlOyAgX19pbnN0YW5jZS5zbGljZShmYWxzZSwgdHJ1ZSkgPT09ICJ0Ii4gQWN0dWFsOiAnK19faW5zdGFuY2Uuc2xpY2UoZmFsc2UsIHRydWUpICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"String.prototype.slice (start, end)","description":"Arguments are false and true, and instance is object","path":"TestCases/ch15/15.5/15.5.4/15.5.4.13/S15.5.4.13_A1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnNsaWNlIChzdGFydCwgZW5kKQogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS40LzE1LjUuNC4xMy9TMTUuNS40LjEzX0ExX1QxMC5qcwogKiBAZGVzY3JpcHRpb24gQXJndW1lbnRzIGFyZSBvYmplY3QgYW5kIGZ1bmN0aW9uIGNhbGwsIGFuZCBpbnN0YW5jZSBpcyBTdHJpbmcsIG9iamVjdCBoYXZlIG92ZXJyaWRlZCB2YWx1ZU9mIGZ1bmN0aW9uCiAqLwoKdmFyIF9fb2JqID0ge3ZhbHVlT2Y6ZnVuY3Rpb24oKXtyZXR1cm4gMjt9fTsKCnZhciBfX3N0ciA9ICJcdTAwMzVBQkJCQUJBQiI7CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCndpdGgoX19zdHIpewogICAgaWYgKHNsaWNlKF9fb2JqLCBmdW5jdGlvbigpe3JldHVybiBzbGljZSgwLDEpO30oKSkgIT09ICJCQkIiKSB7CiAgICAgICRFUlJPUignIzE6IHZhciB4OyB2YXIgX19vYmogPSB7dmFsdWVPZjpmdW5jdGlvbigpe3JldHVybiAyO319OyB2YXIgX19zdHIgPSAiXHUwMDM1QUJCQkFCQUIiOyBzbGljZShfX29iaiwgZnVuY3Rpb24oKXtyZXR1cm4gc2xpY2UoMCwxKTt9KCkpID09PSAiQkJCIi4gQWN0dWFsOiAnK3NsaWNlKF9fb2JqLCBmdW5jdGlvbigpe3JldHVybiBzbGljZSgwLDEpO30oKSkgKTsKICAgIH0KfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCnZhciB4OwoK","commentary":"String.prototype.slice (start, end)","description":"Arguments are object and function call, and instance is String, object have overrided valueOf function","path":"TestCases/ch15/15.5/15.5.4/15.5.4.13/S15.5.4.13_A1_T10.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnNsaWNlIChzdGFydCwgZW5kKQogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS40LzE1LjUuNC4xMy9TMTUuNS40LjEzX0ExX1QxMS5qcwogKiBAZGVzY3JpcHRpb24gQXJndW1lbnRzIGFyZSBvYmplY3RzLCBhbmQgaW5zdGFuY2UgaXMgc3RyaW5nLCBvYmplY3RzIGhhdmUgb3ZlcnJpZGVkIHZhbHVlT2YgZnVuY3Rpb24sIHRoYXQgcmV0dXJuIGV4Y2VwdGlvbgogKi8KCnZhciBfX29iaiA9IHt2YWx1ZU9mOmZ1bmN0aW9uKCl7dGhyb3cgImluc3RhcnQiO319Owp2YXIgX19vYmoyID0ge3ZhbHVlT2Y6ZnVuY3Rpb24oKXt0aHJvdyAiaW5lbmQiO319Owp2YXIgX19zdHIgPSB7c3RyX186IkFCQlx1MDA0MUJBQkFCIn07CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCndpdGgoX19zdHIpewogICAgd2l0aChzdHJfXyl7CiAgICAgICAgdHJ5IHsKICAgICAgICAgIHZhciB4ID0gc2xpY2UoX19vYmosX19vYmoyKTsKICAgICAgICAgICRGQUlMKCcjMTogInZhciB4ID0gc2xpY2UoX19vYmosX19vYmoyKSIgbGVhZCB0byB0aHJvd2luZyBleGNlcHRpb24nKTsKICAgICAgICB9IGNhdGNoIChlKSB7CiAgICAgICAgICBpZiAoZSE9PSJpbnN0YXJ0IikgewogICAgICAgICAgICAkRVJST1IoJyMxLjE6IEV4Y2VwdGlvbiA9PT0gImluc3RhcnQiLiBBY3R1YWw6ICcrZSk7CiAgICAgICAgICB9CiAgICAgICAgfQogICAgfQp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"String.prototype.slice (start, end)","description":"Arguments are objects, and instance is string, objects have overrided valueOf function, that return exception","path":"TestCases/ch15/15.5/15.5.4/15.5.4.13/S15.5.4.13_A1_T11.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnNsaWNlIChzdGFydCwgZW5kKQogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS40LzE1LjUuNC4xMy9TMTUuNS40LjEzX0ExX1QxMi5qcwogKiBAZGVzY3JpcHRpb24gQXJndW1lbnRzIGFyZSBvYmplY3RzLCBhbmQgaW5zdGFuY2UgaXMgc3RyaW5nLgogKiBGaXJzdCBvYmplY3QgaGF2ZSBvdmVycmlkZWQgdmFsdWVPZiBmdW5jdGlvbiBhbmQgdG9TdHJpbmcgZnVuY3Rpb24sIHRoYXQgcmV0dXJuIGV4Y2VwdGlvbi4KICogU2Vjb25kIG9iamVjdCBoYXZlIG92ZXJyaWRlZCB2YWx1ZU9mIGZ1bmN0aW9uLCB0aGF0IHJldHVybiBleGNlcHRpb24KICovCgp2YXIgX19vYmogPSB7dmFsdWVPZjpmdW5jdGlvbigpe3JldHVybiB7fTt9LCB0b1N0cmluZzpmdW5jdGlvbigpe3Rocm93ICJpbnN0YXJ0Ijt9fTsKdmFyIF9fb2JqMiA9IHt2YWx1ZU9mOmZ1bmN0aW9uKCl7dGhyb3cgImluZW5kIjt9fTsKdmFyIF9fc3RyID0gbmV3IFN0cmluZygiQUJCXHUwMDQxQkFCQUIiKTsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKd2l0aChfX3N0cil7CiAgICB0cnkgewogICAgICB2YXIgeCA9IHNsaWNlKF9fb2JqLCBfX29iajIpOwogICAgICAkRkFJTCgnIzE6ICJ2YXIgeCA9IHNsaWNlKF9fb2JqLF9fb2JqMikiIGxlYWQgdG8gdGhyb3dpbmcgZXhjZXB0aW9uJyk7CiAgICB9IGNhdGNoIChlKSB7CiAgICAgIGlmIChlIT09Imluc3RhcnQiKSB7CiAgICAgICAgJEVSUk9SKCcjMS4xOiBFeGNlcHRpb24gPT09ICJpbnN0YXJ0Ii4gQWN0dWFsOiAnK2UpOwogICAgICB9CiAgICB9Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"String.prototype.slice (start, end)","description":"Arguments are objects, and instance is string.\nFirst object have overrided valueOf function and toString function, that return exception.\nSecond object have overrided valueOf function, that return exception","path":"TestCases/ch15/15.5/15.5.4/15.5.4.13/S15.5.4.13_A1_T12.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnNsaWNlIChzdGFydCwgZW5kKQogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS40LzE1LjUuNC4xMy9TMTUuNS40LjEzX0ExX1QxMy5qcwogKiBAZGVzY3JpcHRpb24gQXJndW1lbnRzIGFyZSBvYmplY3RzLCBhbmQgaW5zdGFuY2UgaXMgc3RyaW5nLgogKiBGaXJzdCBvYmplY3QgaGF2ZSBvdmVycmlkZWQgdmFsdWVPZiBhbmQgdG9TdHJpbmcgZnVuY3Rpb25zLgogKiBTZWNvbmQgb2JqZWN0IGhhdmUgb3ZlcnJpZGVkIHRvU3RyaW5nIGZ1bmN0aW9uLCB0aGF0IHJldHVybiBleGNlcHRpb24KICovCgp2YXIgX19vYmogPSB7dmFsdWVPZjpmdW5jdGlvbigpe3JldHVybiB7fTt9LCB0b1N0cmluZzpmdW5jdGlvbigpe3JldHVybiAxO319Owp2YXIgX19vYmoyID0ge3RvU3RyaW5nOmZ1bmN0aW9uKCl7dGhyb3cgImluZW5kIjt9fTsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKdHJ5IHsKICAgIHZhciB4ID0gIkFCQlx1MDA0MUJBQkFCXHUwMDMxQkJBQSIuc2xpY2UoX19vYmosIF9fb2JqMik7CiAgICAkRkFJTCgnIzE6ICJ2YXIgeCA9IHNsaWNlKF9fb2JqLF9fb2JqMikiIGxlYWQgdG8gdGhyb3dpbmcgZXhjZXB0aW9uJyk7Cn0gY2F0Y2ggKGUpIHsKICAgIGlmIChlIT09ImluZW5kIikgewogICAgICAgICRFUlJPUignIzEuMTogRXhjZXB0aW9uID09PSAiaW5lbmQiLiBBY3R1YWw6ICcrZSk7CiAgICB9Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgoK","commentary":"String.prototype.slice (start, end)","description":"Arguments are objects, and instance is string.\nFirst object have overrided valueOf and toString functions.\nSecond object have overrided toString function, that return exception","path":"TestCases/ch15/15.5/15.5.4/15.5.4.13/S15.5.4.13_A1_T13.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnNsaWNlIChzdGFydCwgZW5kKQogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS40LzE1LjUuNC4xMy9TMTUuNS40LjEzX0ExX1QxNC5qcwogKiBAZGVzY3JpcHRpb24gVXNlZCBvbmUgYXJndW1lbnQsIHRoYXQgaXMgZnVuY3Rpb24oKXt9KCkuIEluc3RhbmNlIGlzIHN0cmluZwogKi8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKCJyZXBvcnQiLnNsaWNlKGZ1bmN0aW9uKCl7fSgpKSAhPT0gInJlcG9ydCIpIHsKICAkRVJST1IoJyMxOiAicmVwb3J0Ii5zbGljZShmdW5jdGlvbigpe30oKSkgPT09ICJyZXBvcnQiLiBBY3R1YWw6ICcrInJlcG9ydCIuc2xpY2UoZnVuY3Rpb24oKXt9KCkpICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"String.prototype.slice (start, end)","description":"Used one argument, that is function(){}(). Instance is string","path":"TestCases/ch15/15.5/15.5.4/15.5.4.13/S15.5.4.13_A1_T14.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnNsaWNlIChzdGFydCwgZW5kKQogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS40LzE1LjUuNC4xMy9TMTUuNS40LjEzX0ExX1QxNS5qcwogKiBAZGVzY3JpcHRpb24gQ2FsbCBzbGljZSB3aXRob3V0IGFyZ3VtZW50cy4gSW5zdGFuY2UgaXMgTnVtYmVyIHdpdGggcHJvdG90eXBlLnNsaWNlID0gU3RyaW5nLnByb3RvdHlwZS5zbGljZQogKi8KCnZhciBfX251bSA9IDExLjAwMTAwMjsKCk51bWJlci5wcm90b3R5cGUuc2xpY2UgPSBTdHJpbmcucHJvdG90eXBlLnNsaWNlOwoKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKF9fbnVtLnNsaWNlKCkhPT0iMTEuMDAxMDAyIikgewogICRFUlJPUignIzE6IHZhciBfX251bSA9IDExLjAwMTAwMjsgTnVtYmVyLnByb3RvdHlwZS5zbGljZSA9IFN0cmluZy5wcm90b3R5cGUuc2xpY2U7IF9fbnVtLnNsaWNlKCk9PT0iMTEuMDAxMDAyIi4gQWN0dWFsOiAnK19fbnVtLnNsaWNlKCkpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"String.prototype.slice (start, end)","description":"Call slice without arguments. Instance is Number with prototype.slice = String.prototype.slice","path":"TestCases/ch15/15.5/15.5.4/15.5.4.13/S15.5.4.13_A1_T15.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnNsaWNlIChzdGFydCwgZW5kKQogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS40LzE1LjUuNC4xMy9TMTUuNS40LjEzX0ExX1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBBcmd1bWVudHMgYXJlIGZ1bmN0aW9uIGNhbGwgYW5kIHgsIGFuZCBpbnN0YW5jZSBpcyBCb29sZWFuLiB4IGlzIHVuZGVmaW5lZCB2YXJpYWJsZQogKi8KCnZhciBfX2luc3RhbmNlID0gbmV3IEJvb2xlYW47CgpfX2luc3RhbmNlLnNsaWNlID0gU3RyaW5nLnByb3RvdHlwZS5zbGljZTsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKF9faW5zdGFuY2Uuc2xpY2UoZnVuY3Rpb24oKXtyZXR1cm4gdHJ1ZTt9KCkseCkgIT09ICJhbHNlIikgewogICRFUlJPUignIzE6IHZhciB4OyBfX2luc3RhbmNlID0gbmV3IEJvb2xlYW47IF9faW5zdGFuY2Uuc2xpY2UgPSBTdHJpbmcucHJvdG90eXBlLnNsaWNlOyAgX19pbnN0YW5jZS5zbGljZShmdW5jdGlvbigpe3JldHVybiB0cnVlO30oKSx4KSA9PT0gImFsc2UiLiBBY3R1YWw6ICcrX19pbnN0YW5jZS5zbGljZShmdW5jdGlvbigpe3JldHVybiB0cnVlO30oKSx4KSApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKdmFyIHg7Cgo=","commentary":"String.prototype.slice (start, end)","description":"Arguments are function call and x, and instance is Boolean. x is undefined variable","path":"TestCases/ch15/15.5/15.5.4/15.5.4.13/S15.5.4.13_A1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnNsaWNlIChzdGFydCwgZW5kKQogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS40LzE1LjUuNC4xMy9TMTUuNS40LjEzX0ExX1Q0LmpzCiAqIEBkZXNjcmlwdGlvbiBBcmd1bWVudHMgYXJlIG51bGwgYW5kIG51bWJlciwgYW5kIGluc3RhbmNlIGlzIGZ1bmN0aW9uIGNhbGwsIHRoYXQgcmV0dXJuZWQgc3RyaW5nCiAqLwoKLy9zaW5jZSBUb0ludGVnZXIobnVsbCkgeWVsZHMgMAovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmIChmdW5jdGlvbigpe3JldHVybiAiZ251bGx1bmEifSgpLnNsaWNlKG51bGwsIC0zKSAhPT0gImdudWxsIikgewogICRFUlJPUignIzE6IGZ1bmN0aW9uKCl7cmV0dXJuICJnbnVsbHVuYSJ9KCkuc2xpY2UobnVsbCwgLTMpID09PSAiZ251bGwiLiBBY3R1YWw6ICcrZnVuY3Rpb24oKXtyZXR1cm4gImdudWxsdW5hIn0oKS5zbGljZShudWxsLCAtMykgKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"String.prototype.slice (start, end)","description":"Arguments are null and number, and instance is function call, that returned string","path":"TestCases/ch15/15.5/15.5.4/15.5.4.13/S15.5.4.13_A1_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnNsaWNlIChzdGFydCwgZW5kKQogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS40LzE1LjUuNC4xMy9TMTUuNS40LjEzX0ExX1Q1LmpzCiAqIEBkZXNjcmlwdGlvbiBBcmd1bWVudHMgYXJlIG51bGwgYW5kIGNhbGwgb3RoZXIgc2xpY2Uoc3RhcnQsIGVuZCksIGFuZCBpbnN0YW5jZSBpcyBmdW5jdGlvbiBvYmplY3QsIHRoYXQgaGF2ZSBvdmVycmlkZWQgdmFsdWVPZiBhbmQgdG9TdHJpbmcgZnVuY3Rpb25zCiAqLwoKX19mdW5jLnZhbHVlT2Y9ZnVuY3Rpb24oKXtyZXR1cm4gImdudWxsdW5hIn07Cl9fZnVuYy50b1N0cmluZz1mdW5jdGlvbigpe3JldHVybiBfX2Z1bmM7fTsKCkZ1bmN0aW9uLnByb3RvdHlwZS5zbGljZT1TdHJpbmcucHJvdG90eXBlLnNsaWNlOwoKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKF9fZnVuYy5zbGljZShudWxsLCBGdW5jdGlvbigpLnNsaWNlKF9fZnVuYyw1KS5sZW5ndGgpICE9PSAiZ251bGwiKSB7CiAgJEVSUk9SKCcjMTogX19mdW5jLnNsaWNlKG51bGwsIEZ1bmN0aW9uKCkuc2xpY2UoX19mdW5jLDUpLmxlbmd0aCkgPT09ICJnbnVsbCIuIEFjdHVhbDogJytfX2Z1bmMuc2xpY2UobnVsbCwgRnVuY3Rpb24oKS5zbGljZShfX2Z1bmMsNSkubGVuZ3RoKSApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKZnVuY3Rpb24gX19mdW5jKCl7fTsKCg==","commentary":"String.prototype.slice (start, end)","description":"Arguments are null and call other slice(start, end), and instance is function object, that have overrided valueOf and toString functions","path":"TestCases/ch15/15.5/15.5.4/15.5.4.13/S15.5.4.13_A1_T5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnNsaWNlIChzdGFydCwgZW5kKQogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS40LzE1LjUuNC4xMy9TMTUuNS40LjEzX0ExX1Q2LmpzCiAqIEBkZXNjcmlwdGlvbiBBcmd1bWVudHMgYXJlIHggYW5kIG51bWJlciwgYW5kIGluc3RhbmNlIGlzIG5ldyBTdHJpbmcsIHggaXMgdW5kZWZpbmVkIHZhcmlhYmxlCiAqLwoKLy9zaW5jZSBUb0ludGVnZXIodW5kZWZpbmVkIHllbGRzIDApCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKG5ldyBTdHJpbmcoInVuZGVmaW5lZCIpLnNsaWNlKHgsMykgIT09ICJ1bmQiKSB7CiAgJEVSUk9SKCcjMTogdmFyIHg7IG5ldyBTdHJpbmcoInVuZGVmaW5lZCIpLnNsaWNlKHgsMykgPT09ICJ1bmQiLiBBY3R1YWw6ICcrbmV3IFN0cmluZygidW5kZWZpbmVkIikuc2xpY2UoeCwzKSApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKdmFyIHg7Cgo=","commentary":"String.prototype.slice (start, end)","description":"Arguments are x and number, and instance is new String, x is undefined variable","path":"TestCases/ch15/15.5/15.5.4/15.5.4.13/S15.5.4.13_A1_T6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnNsaWNlIChzdGFydCwgZW5kKQogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS40LzE1LjUuNC4xMy9TMTUuNS40LjEzX0ExX1Q3LmpzCiAqIEBkZXNjcmlwdGlvbiBBcmd1bWVudHMgYXJlIHN5bWJvbCBhbmQgdW5kZWZpbmVkLCBhbmQgaW5zdGFuY2UgaXMgU3RyaW5nCiAqLwoKLy9zaW5jZSBUb0ludGVnZXIoImUiKSB5ZWxkcyAwCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKFN0cmluZyh2b2lkIDApLnNsaWNlKCJlIix1bmRlZmluZWQpICE9PSAidW5kZWZpbmVkIikgewogICRFUlJPUignIzE6IFN0cmluZyh2b2lkIDApLnNsaWNlKCJlIix1bmRlZmluZWQpID09PSAidW5kZWZpbmVkIi4gQWN0dWFsOiAnK1N0cmluZyh2b2lkIDApLnNsaWNlKCJlIix1bmRlZmluZWQpICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"String.prototype.slice (start, end)","description":"Arguments are symbol and undefined, and instance is String","path":"TestCases/ch15/15.5/15.5.4/15.5.4.13/S15.5.4.13_A1_T7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnNsaWNlIChzdGFydCwgZW5kKQogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS40LzE1LjUuNC4xMy9TMTUuNS40LjEzX0ExX1Q4LmpzCiAqIEBkZXNjcmlwdGlvbiBBcmd1bWVudHMgYXJlIG5lZ2F0aXZlIG51bWJlciBhbmQgdm9pZCAwLCBhbmQgaW5zdGFuY2UgaXMgU3RyaW5nKG9iamVjdCksIG9iamVjdCBoYXZlIG92ZXJyaWRlZCB0b1N0cmluZyBmdW5jdGlvbgogKi8KCl9fb2JqID0ge3RvU3RyaW5nOmZ1bmN0aW9uKCl7fX07CgovL3NpbmNlIHZvaWQgMCB5ZWxkcyAwCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKFN0cmluZyhfX29iaikuc2xpY2UoLTQsdm9pZCAwKSAhPT0gImluZWQiKSB7CiAgJEVSUk9SKCcjMTogX19vYmogPSB7dG9TdHJpbmc6ZnVuY3Rpb24oKXt9fTsgU3RyaW5nKF9fb2JqKS5zbGljZSgtNCx2b2lkIDApID09PSAiaW5lZCIuIEFjdHVhbDogJytTdHJpbmcoX19vYmopLnNsaWNlKC00LHZvaWQgMCkgKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"String.prototype.slice (start, end)","description":"Arguments are negative number and void 0, and instance is String(object), object have overrided toString function","path":"TestCases/ch15/15.5/15.5.4/15.5.4.13/S15.5.4.13_A1_T8.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnNsaWNlIChzdGFydCwgZW5kKQogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS40LzE1LjUuNC4xMy9TMTUuNS40LjEzX0ExX1Q5LmpzCiAqIEBkZXNjcmlwdGlvbiBBcmd1bWVudHMgYXJlIHVuZGVmaW5lZCBhbmQgb2JqZWN0LCBhbmQgaW5zdGFuY2UgaXMgU3RyaW5nKG9iamVjdCksIG9iamVjdCBoYXZlIG92ZXJyaWRlZCB2YWx1ZU9mIGFuZCB0b1N0cmluZyBmdW5jdGlvbnMKICovCgp2YXIgX19vYmogPSB7CiAgICB2YWx1ZU9mOmZ1bmN0aW9uKCl7fSwKICAgIHRvU3RyaW5nOnZvaWQgMAp9OwoKLy9zaW5jZSBUb0ludGVnZXIodW5kZWZpbmVkKSB5ZWxkcyAwCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKG5ldyBTdHJpbmcoX19vYmopLnNsaWNlKC8qKGZ1bmN0aW9uKCl7fSkoKSovdW5kZWZpbmVkLF9fb2JqKSAhPT0gIiIpIHsKICAkRVJST1IoJyMxOiBfX29iaiA9IHt2YWx1ZU9mOmZ1bmN0aW9uKCl7fSwgdG9TdHJpbmc6dm9pZCAwfTsgbmV3IFN0cmluZyhfX29iaikuc2xpY2UoLy8qKGZ1bmN0aW9uKCl7fSkoKSovL3VuZGVmaW5lZCxfX29iaikgPT09ICIiLiBBY3R1YWw6ICcrbmV3IFN0cmluZyhfX29iaikuc2xpY2UoLyooZnVuY3Rpb24oKXt9KSgpKi91bmRlZmluZWQsX19vYmopICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"String.prototype.slice (start, end)","description":"Arguments are undefined and object, and instance is String(object), object have overrided valueOf and toString functions","path":"TestCases/ch15/15.5/15.5.4/15.5.4.13/S15.5.4.13_A1_T9.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnNsaWNlIChzdGFydCwgZW5kKSByZXR1cm5zIGEgc3RyaW5nIHZhbHVlKG5vdCBvYmplY3QpCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjEzL1MxNS41LjQuMTNfQTJfVDEuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIHR5cGUgb2Ygc2xpY2UoKQogKi8KCnZhciBfX3N0cmluZyA9IG5ldyBTdHJpbmcoInRoaXMgaXMgYSBzdHJpbmcgb2JqZWN0Iik7CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmICh0eXBlb2YgX19zdHJpbmcuc2xpY2UoKSAhPT0gInN0cmluZyIpIHsKICAkRVJST1IoJyMxOiBfX3N0cmluZyA9IG5ldyBTdHJpbmcoInRoaXMgaXMgYSBzdHJpbmcgb2JqZWN0Iik7IHR5cGVvZiBfX3N0cmluZy5zbGljZSgpID09PSAic3RyaW5nIi4gQWN0dWFsOiAnK3R5cGVvZiBfX3N0cmluZy5zbGljZSgpICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"String.prototype.slice (start, end) returns a string value(not object)","description":"Checking type of slice()","path":"TestCases/ch15/15.5/15.5.4/15.5.4.13/S15.5.4.13_A2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnNsaWNlIChzdGFydCwgZW5kKSByZXR1cm5zIGEgc3RyaW5nIHZhbHVlKG5vdCBvYmplY3QpCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjEzL1MxNS41LjQuMTNfQTJfVDIuanMKICogQGRlc2NyaXB0aW9uIHN0YXJ0IGlzIE5hTiwgZW5kIGlzIEluZmluaXR5CiAqLwoKdmFyIF9fc3RyaW5nID0gbmV3IFN0cmluZygndGhpcyBpcyBhIHN0cmluZyBvYmplY3QnKTsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKF9fc3RyaW5nLnNsaWNlKE5hTiwgSW5maW5pdHkpICE9PSAidGhpcyBpcyBhIHN0cmluZyBvYmplY3QiKSB7CiAgJEVSUk9SKCcjMTogX19zdHJpbmcgPSBuZXcgU3RyaW5nKFwndGhpcyBpcyBhIHN0cmluZyBvYmplY3RcJyk7IF9fc3RyaW5nLnNsaWNlKE5hTiwgSW5maW5pdHkpID09PSAidGhpcyBpcyBhIHN0cmluZyBvYmplY3QiLiBBY3R1YWw6ICcrX19zdHJpbmcuc2xpY2UoTmFOLCBJbmZpbml0eSkgKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"String.prototype.slice (start, end) returns a string value(not object)","description":"start is NaN, end is Infinity","path":"TestCases/ch15/15.5/15.5.4/15.5.4.13/S15.5.4.13_A2_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnNsaWNlIChzdGFydCwgZW5kKSByZXR1cm5zIGEgc3RyaW5nIHZhbHVlKG5vdCBvYmplY3QpCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjEzL1MxNS41LjQuMTNfQTJfVDMuanMKICogQGRlc2NyaXB0aW9uIENhbGwgc2xpY2UgZnJvbSBlbXB0eSBTdHJpbmcgb2JqZWN0CiAqLwoKdmFyIF9fc3RyaW5nID0gbmV3IFN0cmluZygiIik7CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmIChfX3N0cmluZy5zbGljZSgxLDApICE9PSAiIikgewogICRFUlJPUignIzE6IF9fc3RyaW5nID0gbmV3IFN0cmluZygiIik7IF9fc3RyaW5nLnNsaWNlKDEsMCkgPT09ICIiLiBBY3R1YWw6ICcrX19zdHJpbmcuc2xpY2UoMSwwKSApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"String.prototype.slice (start, end) returns a string value(not object)","description":"Call slice from empty String object","path":"TestCases/ch15/15.5/15.5.4/15.5.4.13/S15.5.4.13_A2_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnNsaWNlIChzdGFydCwgZW5kKSByZXR1cm5zIGEgc3RyaW5nIHZhbHVlKG5vdCBvYmplY3QpCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjEzL1MxNS41LjQuMTNfQTJfVDQuanMKICogQGRlc2NyaXB0aW9uIHN0YXJ0IGlzIEluZmluaXR5LCBlbmQgaXMgTmFOCiAqLwoKdmFyIF9fc3RyaW5nID0gbmV3IFN0cmluZygidGhpcyBpcyBhIHN0cmluZyBvYmplY3QiKTsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKF9fc3RyaW5nLnNsaWNlKEluZmluaXR5LCBOYU4pICE9PSAiIikgewogICRFUlJPUignIzE6IF9fc3RyaW5nID0gbmV3IFN0cmluZygidGhpcyBpcyBhIHN0cmluZyBvYmplY3QiKTsgX19zdHJpbmcuc2xpY2UoSW5maW5pdHksIE5hTikgPT09ICIiLiBBY3R1YWw6ICcrX19zdHJpbmcuc2xpY2UoSW5maW5pdHksIE5hTikgKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"String.prototype.slice (start, end) returns a string value(not object)","description":"start is Infinity, end is NaN","path":"TestCases/ch15/15.5/15.5.4/15.5.4.13/S15.5.4.13_A2_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnNsaWNlIChzdGFydCwgZW5kKSByZXR1cm5zIGEgc3RyaW5nIHZhbHVlKG5vdCBvYmplY3QpCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjEzL1MxNS41LjQuMTNfQTJfVDUuanMKICogQGRlc2NyaXB0aW9uIHN0YXJ0IGlzIEluZmluaXR5LCBlbmQgaXMgSW5maW5pdHkKICovCgp2YXIgX19zdHJpbmcgPSBuZXcgU3RyaW5nKCJ0aGlzIGlzIGEgc3RyaW5nIG9iamVjdCIpOwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAoX19zdHJpbmcuc2xpY2UoSW5maW5pdHksIEluZmluaXR5KSAhPT0gIiIpIHsKICAkRVJST1IoJyMxOiBfX3N0cmluZyA9IG5ldyBTdHJpbmcoInRoaXMgaXMgYSBzdHJpbmcgb2JqZWN0Iik7IF9fc3RyaW5nLnNsaWNlKEluZmluaXR5LCBJbmZpbml0eSkgPT09ICIiLiBBY3R1YWw6ICcrX19zdHJpbmcuc2xpY2UoSW5maW5pdHksIEluZmluaXR5KSApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"String.prototype.slice (start, end) returns a string value(not object)","description":"start is Infinity, end is Infinity","path":"TestCases/ch15/15.5/15.5.4/15.5.4.13/S15.5.4.13_A2_T5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnNsaWNlIChzdGFydCwgZW5kKSByZXR1cm5zIGEgc3RyaW5nIHZhbHVlKG5vdCBvYmplY3QpCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjEzL1MxNS41LjQuMTNfQTJfVDYuanMKICogQGRlc2NyaXB0aW9uIHN0YXJ0IGlzIG5lZ2F0aXZlIGZsb2F0IG51bWJlciwgZW5kIGlzIDAKICovCgp2YXIgX19zdHJpbmcgPSBuZXcgU3RyaW5nKCJ0aGlzIGlzIGEgc3RyaW5nIG9iamVjdCIpOwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAoX19zdHJpbmcuc2xpY2UoLTAuMDEsMCkgIT09ICIiKSB7CiAgJEVSUk9SKCcjMTogX19zdHJpbmcgPSBuZXcgU3RyaW5nKCJ0aGlzIGlzIGEgc3RyaW5nIG9iamVjdCIpOyBfX3N0cmluZy5zbGljZSgtMC4wMSwwKSA9PT0gIiIuIEFjdHVhbDogJytfX3N0cmluZy5zbGljZSgtMC4wMSwwKSApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"String.prototype.slice (start, end) returns a string value(not object)","description":"start is negative float number, end is 0","path":"TestCases/ch15/15.5/15.5.4/15.5.4.13/S15.5.4.13_A2_T6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnNsaWNlIChzdGFydCwgZW5kKSByZXR1cm5zIGEgc3RyaW5nIHZhbHVlKG5vdCBvYmplY3QpCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjEzL1MxNS41LjQuMTNfQTJfVDcuanMKICogQGRlc2NyaXB0aW9uIHN0YXJ0IGlzIHRlc3RlZF9zdHJpbmcubGVuZ3RoLCBlbmQgaXMgdGVzdGVkX3N0cmluZy5sZW5ndGgKICovCgp2YXIgX19zdHJpbmcgPSBuZXcgU3RyaW5nKCJ0aGlzIGlzIGEgc3RyaW5nIG9iamVjdCIpOwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAoX19zdHJpbmcuc2xpY2UoX19zdHJpbmcubGVuZ3RoLCBfX3N0cmluZy5sZW5ndGgpICE9PSAiIikgewogICRFUlJPUignIzE6IF9fc3RyaW5nID0gbmV3IFN0cmluZygidGhpcyBpcyBhIHN0cmluZyBvYmplY3QiKTsgX19zdHJpbmcuc2xpY2UoX19zdHJpbmcubGVuZ3RoLCBfX3N0cmluZy5sZW5ndGgpID09PSAiIi4gQWN0dWFsOiAnK19fc3RyaW5nLnNsaWNlKF9fc3RyaW5nLmxlbmd0aCwgX19zdHJpbmcubGVuZ3RoKSApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"String.prototype.slice (start, end) returns a string value(not object)","description":"start is tested_string.length, end is tested_string.length","path":"TestCases/ch15/15.5/15.5.4/15.5.4.13/S15.5.4.13_A2_T7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnNsaWNlIChzdGFydCwgZW5kKSByZXR1cm5zIGEgc3RyaW5nIHZhbHVlKG5vdCBvYmplY3QpCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjEzL1MxNS41LjQuMTNfQTJfVDguanMKICogQGRlc2NyaXB0aW9uIHN0YXJ0IGlzIHRlc3RlZF9zdHJpbmcubGVuZ3RoKzEsIGVuZCBpcyAwCiAqLwoKdmFyIF9fc3RyaW5nID0gbmV3IFN0cmluZygidGhpcyBpcyBhIHN0cmluZyBvYmplY3QiKTsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKF9fc3RyaW5nLnNsaWNlKF9fc3RyaW5nLmxlbmd0aCsxLCAwKSAhPT0gIiIpIHsKICAkRVJST1IoJyMxOiBfX3N0cmluZyA9IG5ldyBTdHJpbmcoInRoaXMgaXMgYSBzdHJpbmcgb2JqZWN0Iik7IF9fc3RyaW5nLnNsaWNlKF9fc3RyaW5nLmxlbmd0aCsxLCAwKSA9PT0gIiIuIEFjdHVhbDogJytfX3N0cmluZy5zbGljZShfX3N0cmluZy5sZW5ndGgrMSwgMCkgKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"String.prototype.slice (start, end) returns a string value(not object)","description":"start is tested_string.length+1, end is 0","path":"TestCases/ch15/15.5/15.5.4/15.5.4.13/S15.5.4.13_A2_T8.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnNsaWNlIChzdGFydCwgZW5kKSByZXR1cm5zIGEgc3RyaW5nIHZhbHVlKG5vdCBvYmplY3QpCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjEzL1MxNS41LjQuMTNfQTJfVDkuanMKICogQGRlc2NyaXB0aW9uIHN0YXJ0IGlzIC1JbmZpbml0eSwgZW5kIGlzIC1JbmZpbml0eQogKi8KCnZhciBfX3N0cmluZyA9IG5ldyBTdHJpbmcoInRoaXMgaXMgYSBzdHJpbmcgb2JqZWN0Iik7CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmIChfX3N0cmluZy5zbGljZSgtSW5maW5pdHksIC1JbmZpbml0eSkgIT09ICIiKSB7CiAgJEVSUk9SKCcjMTogX19zdHJpbmcgPSBuZXcgU3RyaW5nKCJ0aGlzIGlzIGEgc3RyaW5nIG9iamVjdCIpOyBfX3N0cmluZy5zbGljZSgtSW5maW5pdHksIC1JbmZpbml0eSkgPT09ICIiLiBBY3R1YWw6ICcrX19zdHJpbmcuc2xpY2UoLUluZmluaXR5LCAtSW5maW5pdHkpICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"String.prototype.slice (start, end) returns a string value(not object)","description":"start is -Infinity, end is -Infinity","path":"TestCases/ch15/15.5/15.5.4/15.5.4.13/S15.5.4.13_A2_T9.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnNsaWNlIChzdGFydCwgZW5kKSBjYW4gYmUgYXBwbGllZCB0byBvYmplY3QgaW5zdGFuY2VzCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjEzL1MxNS41LjQuMTNfQTNfVDEuanMKICogQGRlc2NyaXB0aW9uIEFwcGx5IFN0cmluZy5wcm90b3R5cGUuc2xpY2UgdG8gT2JqZWN0IGluc3RhbmNlCiAqLwoKdmFyIF9faW5zdGFuY2UgPSBuZXcgT2JqZWN0KCk7CgpfX2luc3RhbmNlLnNsaWNlID0gU3RyaW5nLnByb3RvdHlwZS5zbGljZTsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKF9faW5zdGFuY2Uuc2xpY2UoMCw4KSAhPT0gIltvYmplY3QgIikgewogICRFUlJPUignIzE6IF9faW5zdGFuY2UgPSBuZXcgT2JqZWN0KCk7IF9faW5zdGFuY2Uuc2xpY2UgPSBTdHJpbmcucHJvdG90eXBlLnNsaWNlOyBfX2luc3RhbmNlLnNsaWNlKDAsOCkgPT09ICJbb2JqZWN0ICIuIEFjdHVhbDogJytfX2luc3RhbmNlLnNsaWNlKDAsOCkgKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"String.prototype.slice (start, end) can be applied to object instances","description":"Apply String.prototype.slice to Object instance","path":"TestCases/ch15/15.5/15.5.4/15.5.4.13/S15.5.4.13_A3_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnNsaWNlIChzdGFydCwgZW5kKSBjYW4gYmUgYXBwbGllZCB0byBvYmplY3QgaW5zdGFuY2VzCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjEzL1MxNS41LjQuMTNfQTNfVDIuanMKICogQGRlc2NyaXB0aW9uIEFwcGx5IFN0cmluZy5wcm90b3R5cGUuc2xpY2UgdG8gT2JqZWN0IGluc3RhbmNlLCB1c2Ugb3RoZXIgdmFsdWUgZm9yIHN0YXJ0IGFuZCBlbmQgdmFsdWVzCiAqLwoKdmFyIF9faW5zdGFuY2UgPSBuZXcgT2JqZWN0KCk7CgpfX2luc3RhbmNlLnNsaWNlID0gU3RyaW5nLnByb3RvdHlwZS5zbGljZTsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKF9faW5zdGFuY2Uuc2xpY2UoOCxfX2luc3RhbmNlLnRvU3RyaW5nKCkubGVuZ3RoKSAhPT0gIk9iamVjdF0iKSB7CiAgJEVSUk9SKCcjMTogX19pbnN0YW5jZSA9IG5ldyBPYmplY3QoKTsgX19pbnN0YW5jZS5zbGljZSA9IFN0cmluZy5wcm90b3R5cGUuc2xpY2U7IF9faW5zdGFuY2Uuc2xpY2UoOCxfX2luc3RhbmNlLnRvU3RyaW5nKCkubGVuZ3RoKSA9PT0gIk9iamVjdF0iLiBBY3R1YWw6ICcrX19pbnN0YW5jZS5zbGljZSg4LF9faW5zdGFuY2UudG9TdHJpbmcoKS5sZW5ndGgpICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"String.prototype.slice (start, end) can be applied to object instances","description":"Apply String.prototype.slice to Object instance, use other value for start and end values","path":"TestCases/ch15/15.5/15.5.4/15.5.4.13/S15.5.4.13_A3_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnNsaWNlIChzdGFydCwgZW5kKSBjYW4gYmUgYXBwbGllZCB0byBvYmplY3QgaW5zdGFuY2VzCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjEzL1MxNS41LjQuMTNfQTNfVDMuanMKICogQGRlc2NyaXB0aW9uIEFwcGx5IFN0cmluZy5wcm90b3R5cGUuc2xpY2UgdG8gT2JqZWN0IGluc3RhbmNlLCBhbmQgY2FsbCBpbnN0YW5jZS5zbGljZSguLi4pLnNsaWNlKC4uLikKICovCgp2YXIgX19pbnN0YW5jZSA9IHsgdG9TdHJpbmc6IGZ1bmN0aW9uKCkgeyByZXR1cm4gImZ1bmN0aW9uKCl7fSI7fSB9OwoKX19pbnN0YW5jZS5zbGljZSA9IFN0cmluZy5wcm90b3R5cGUuc2xpY2U7CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmIChfX2luc3RhbmNlLnNsaWNlKC1JbmZpbml0eSw4KS5zbGljZSgxLEluZmluaXR5KSAhPT0gInVuY3Rpb24iKSB7CiAgJEVSUk9SKCcjMTogX19pbnN0YW5jZSA9IGZ1bmN0aW9uKCl7fTsgX19pbnN0YW5jZS5zbGljZSA9IFN0cmluZy5wcm90b3R5cGUuc2xpY2U7IF9faW5zdGFuY2Uuc2xpY2UoLUluZmluaXR5LDgpLnNsaWNlKDEsSW5maW5pdHkpID09PSAidW5jdGlvbiIuIEFjdHVhbDogJytfX2luc3RhbmNlLnNsaWNlKC1JbmZpbml0eSw4KS5zbGljZSgxLEluZmluaXR5KSApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"String.prototype.slice (start, end) can be applied to object instances","description":"Apply String.prototype.slice to Object instance, and call instance.slice(...).slice(...)","path":"TestCases/ch15/15.5/15.5.4/15.5.4.13/S15.5.4.13_A3_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnNsaWNlIChzdGFydCwgZW5kKSBjYW4gYmUgYXBwbGllZCB0byBvYmplY3QgaW5zdGFuY2VzCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjEzL1MxNS41LjQuMTNfQTNfVDQuanMKICogQGRlc2NyaXB0aW9uIENoZWNrbmlnIGlmIGFwcGx5aW5nIFN0cmluZy5wcm90b3R5cGUuc2xpY2UgdG8gRnVuY3Rpb24gb2JqZWN0IGluc3RhbmNlIHBhc3NlcwogKi8KCl9fRkFDVE9SWS5wcm90b3R5cGUudG9TdHJpbmcgPSBmdW5jdGlvbigpIHsgcmV0dXJuIHRoaXMudmFsdWUrJyc7IH07Cgp2YXIgX19pbnN0YW5jZSA9IG5ldyBfX0ZBQ1RPUlkodm9pZCAwKTsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKF9faW5zdGFuY2Uuc2xpY2UoMCwxMDApICE9PSAidW5kZWZpbmVkIikgewogICRFUlJPUignIzE6IF9faW5zdGFuY2Uuc2xpY2UoMCwxMDApID09PSAidW5kZWZpbmVkIi4gQWN0dWFsOiAnK19faW5zdGFuY2Uuc2xpY2UoMCwxMDApICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgpmdW5jdGlvbiBfX0ZBQ1RPUlkoIHZhbHVlICkgewogICAgdGhpcy52YWx1ZSA9IHZhbHVlLAogICAgdGhpcy5zbGljZT0gU3RyaW5nLnByb3RvdHlwZS5zbGljZTsKICAgIC8vdGhpcy5zdWJzdHJpbmcgPSBTdHJpbmcucHJvdG90eXBlLnN1YnN0cmluZzsKfQoK","commentary":"String.prototype.slice (start, end) can be applied to object instances","description":"Checknig if applying String.prototype.slice to Function object instance passes","path":"TestCases/ch15/15.5/15.5.4/15.5.4.13/S15.5.4.13_A3_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnNsaWNlIGhhcyBub3QgcHJvdG90eXBlIHByb3BlcnR5CiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjEzL1MxNS41LjQuMTNfQTYuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIFN0cmluZy5wcm90b3R5cGUuc2xpY2UucHJvdG90eXBlCiAqLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAoU3RyaW5nLnByb3RvdHlwZS5zbGljZS5wcm90b3R5cGUgIT09IHVuZGVmaW5lZCkgewogICRFUlJPUignIzE6IFN0cmluZy5wcm90b3R5cGUuc2xpY2UucHJvdG90eXBlID09PSB1bmRlZmluZWQuIEFjdHVhbDogJytTdHJpbmcucHJvdG90eXBlLnNsaWNlLnByb3RvdHlwZSApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"String.prototype.slice has not prototype property","description":"Checking String.prototype.slice.prototype","path":"TestCases/ch15/15.5/15.5.4/15.5.4.13/S15.5.4.13_A6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnNsaWNlIGNhbid0IGJlIHVzZWQgYXMgY29uc3RydWN0b3IKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuMTMvUzE1LjUuNC4xM19BNy5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgaWYgY3JlYXRpbmcgdGhlIFN0cmluZy5wcm90b3R5cGUuc2xpY2Ugb2JqZWN0IGZhaWxzCiAqLwoKdmFyIF9fRkFDVE9SWSA9IFN0cmluZy5wcm90b3R5cGUuc2xpY2U7Cgp0cnkgewogIHZhciBfX2luc3RhbmNlID0gbmV3IF9fRkFDVE9SWTsKICAkRkFJTCgnIzE6IF9fRkFDVE9SWSA9IFN0cmluZy5wcm90b3R5cGUuc2xpY2U7ICJfX2luc3RhbmNlID0gbmV3IF9fRkFDVE9SWSIgbGVhZCB0byB0aHJvd2luZyBleGNlcHRpb24nKTsKfSBjYXRjaCAoZSkgewogICRQUklOVChlKTsKfQoK","commentary":"String.prototype.slice can't be used as constructor","description":"Checking if creating the String.prototype.slice object fails","path":"TestCases/ch15/15.5/15.5.4/15.5.4.13/S15.5.4.13_A7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgU3RyaW5nLnByb3RvdHlwZS5zbGljZS5sZW5ndGggcHJvcGVydHkgaGFzIHRoZSBhdHRyaWJ1dGUgRG9udEVudW0KICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuMTMvUzE1LjUuNC4xM19BOC5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgaWYgZW51bWVyYXRpbmcgdGhlIFN0cmluZy5wcm90b3R5cGUuc2xpY2UubGVuZ3RoIHByb3BlcnR5IGZhaWxzCiAqLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMAppZiAoIShTdHJpbmcucHJvdG90eXBlLnNsaWNlLmhhc093blByb3BlcnR5KCdsZW5ndGgnKSkpIHsKICAkRkFJTCgnIzA6IFN0cmluZy5wcm90b3R5cGUuc2xpY2UuaGFzT3duUHJvcGVydHkoXCdsZW5ndGhcJykgcmV0dXJuIHRydWUuIEFjdHVhbDogJytTdHJpbmcucHJvdG90eXBlLnNsaWNlLmhhc093blByb3BlcnR5KCdsZW5ndGgnKSk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vIENIRUNLIzEKaWYgKFN0cmluZy5wcm90b3R5cGUuc2xpY2UucHJvcGVydHlJc0VudW1lcmFibGUoJ2xlbmd0aCcpKSB7CiAgJEVSUk9SKCcjMTogU3RyaW5nLnByb3RvdHlwZS5zbGljZS5wcm9wZXJ0eUlzRW51bWVyYWJsZShcJ2xlbmd0aFwnKSByZXR1cm4gZmFsc2UnKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovLyBDSEVDSyMyCnZhciBjb3VudD0wOwoKZm9yIChwIGluIFN0cmluZy5wcm90b3R5cGUuc2xpY2UpewogIGlmIChwPT09Imxlbmd0aCIpIGNvdW50Kys7Cn0KCmlmIChjb3VudCAhPT0gMCkgewogICRFUlJPUignIzI6IGNvdW50PTA7IGZvciAocCBpbiBTdHJpbmcucHJvdG90eXBlLnNsaWNlKXtpZiAocD09PSJsZW5ndGgiKSBjb3VudCsrO307IGNvdW50ID09PSAwLiBBY3R1YWw6ICcrY291bnQgKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"The String.prototype.slice.length property has the attribute DontEnum","description":"Checking if enumerating the String.prototype.slice.length property fails","path":"TestCases/ch15/15.5/15.5.4/15.5.4.13/S15.5.4.13_A8.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgU3RyaW5nLnByb3RvdHlwZS5zbGljZS5sZW5ndGggcHJvcGVydHkgaGFzIHRoZSBhdHRyaWJ1dGUgRG9udERlbGV0ZQogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS40LzE1LjUuNC4xMy9TMTUuNS40LjEzX0E5LmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiBkZWxldGluZyB0aGUgU3RyaW5nLnByb3RvdHlwZS5zbGljZS5sZW5ndGggcHJvcGVydHkgZmFpbHMKICovCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMwCmlmICghKFN0cmluZy5wcm90b3R5cGUuc2xpY2UuaGFzT3duUHJvcGVydHkoJ2xlbmd0aCcpKSkgewogICRGQUlMKCcjMDogU3RyaW5nLnByb3RvdHlwZS5zbGljZS5oYXNPd25Qcm9wZXJ0eShcJ2xlbmd0aFwnKSByZXR1cm4gdHJ1ZS4gQWN0dWFsOiAnK1N0cmluZy5wcm90b3R5cGUuc2xpY2UuaGFzT3duUHJvcGVydHkoJ2xlbmd0aCcpKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKGRlbGV0ZSBTdHJpbmcucHJvdG90eXBlLnNsaWNlLmxlbmd0aCkgewogICRFUlJPUignIzE6IGRlbGV0ZSBTdHJpbmcucHJvdG90eXBlLnNsaWNlLmxlbmd0aCByZXR1cm4gZmFsc2UnKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzIKaWYgKCEoU3RyaW5nLnByb3RvdHlwZS5zbGljZS5oYXNPd25Qcm9wZXJ0eSgnbGVuZ3RoJykpKSB7CiAgJEZBSUwoJyMyOiBkZWxldGUgU3RyaW5nLnByb3RvdHlwZS5zbGljZS5sZW5ndGg7IFN0cmluZy5wcm90b3R5cGUuc2xpY2UuaGFzT3duUHJvcGVydHkoXCdsZW5ndGhcJykgcmV0dXJuIHRydWUuIEFjdHVhbDogJytTdHJpbmcucHJvdG90eXBlLnNsaWNlLmhhc093blByb3BlcnR5KCdsZW5ndGgnKSk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"The String.prototype.slice.length property has the attribute DontDelete","description":"Checking if deleting the String.prototype.slice.length property fails","path":"TestCases/ch15/15.5/15.5.4/15.5.4.13/S15.5.4.13_A9.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgU3RyaW5nLnByb3RvdHlwZS5zcGxpdC5sZW5ndGggcHJvcGVydHkgaGFzIHRoZSBhdHRyaWJ1dGUgUmVhZE9ubHkKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuMTQvUzE1LjUuNC4xNF9BMTAuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIHZhcnlpbmcgdGhlIFN0cmluZy5wcm90b3R5cGUuc3BsaXQubGVuZ3RoIHByb3BlcnR5IGZhaWxzCiAqLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAoIShTdHJpbmcucHJvdG90eXBlLnNwbGl0Lmhhc093blByb3BlcnR5KCdsZW5ndGgnKSkpIHsKICAkRkFJTCgnIzE6IFN0cmluZy5wcm90b3R5cGUuc3BsaXQuaGFzT3duUHJvcGVydHkoXCdsZW5ndGhcJykgcmV0dXJuIHRydWUuIEFjdHVhbDogJytTdHJpbmcucHJvdG90eXBlLnNwbGl0Lmhhc093blByb3BlcnR5KCdsZW5ndGgnKSk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgp2YXIgX19vYmogPSBTdHJpbmcucHJvdG90eXBlLnNwbGl0Lmxlbmd0aDsKClN0cmluZy5wcm90b3R5cGUuc3BsaXQubGVuZ3RoID0gZnVuY3Rpb24oKXtyZXR1cm4gInNoaWZ0ZWQiO307CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMyCmlmIChTdHJpbmcucHJvdG90eXBlLnNwbGl0Lmxlbmd0aCAhPT0gX19vYmopIHsKICAkRVJST1IoJyMyOiBfX29iaiA9IFN0cmluZy5wcm90b3R5cGUuc3BsaXQubGVuZ3RoOyBTdHJpbmcucHJvdG90eXBlLnNwbGl0Lmxlbmd0aCA9IGZ1bmN0aW9uKCl7cmV0dXJuICJzaGlmdGVkIjt9OyBTdHJpbmcucHJvdG90eXBlLnNwbGl0Lmxlbmd0aCA9PT0gX19vYmouIEFjdHVhbDogJytTdHJpbmcucHJvdG90eXBlLnNwbGl0Lmxlbmd0aCApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"The String.prototype.split.length property has the attribute ReadOnly","description":"Checking if varying the String.prototype.split.length property fails","path":"TestCases/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A10.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgbGVuZ3RoIHByb3BlcnR5IG9mIHRoZSBzcGxpdCBtZXRob2QgaXMgMgogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS40LzE1LjUuNC4xNC9TMTUuNS40LjE0X0ExMS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgU3RyaW5nLnByb3RvdHlwZS5zcGxpdC5sZW5ndGgKICovCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmICghKFN0cmluZy5wcm90b3R5cGUuc3BsaXQuaGFzT3duUHJvcGVydHkoImxlbmd0aCIpKSkgewogICRFUlJPUignIzE6IFN0cmluZy5wcm90b3R5cGUuc3BsaXQuaGFzT3duUHJvcGVydHkoImxlbmd0aCIpIHJldHVybiB0cnVlLiBBY3R1YWw6ICcrU3RyaW5nLnByb3RvdHlwZS5zcGxpdC5oYXNPd25Qcm9wZXJ0eSgibGVuZ3RoIikpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMgppZiAoU3RyaW5nLnByb3RvdHlwZS5zcGxpdC5sZW5ndGggIT09IDIpIHsKICAkRVJST1IoJyMyOiBTdHJpbmcucHJvdG90eXBlLnNwbGl0Lmxlbmd0aCA9PT0gMi4gQWN0dWFsOiAnK1N0cmluZy5wcm90b3R5cGUuc3BsaXQubGVuZ3RoICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"The length property of the split method is 2","description":"Checking String.prototype.split.length","path":"TestCases/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A11.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnNwbGl0KHNlcGFyYXRvciwgbGltaXQpOgogKiBpKSBjYW4gYmUgdHJhbnNmZXJyZWQgdG8gb3RoZXIga2luZHMgb2Ygb2JqZWN0cyBmb3IgdXNlIGFzIGEgbWV0aG9kLgogKiBzZXBhcmF0b3IgYW5kIGxpbWl0IGNhbiBiZSBhbnkga2luZHMgb2Ygb2JqZWN0IHNpbmNlOgogKiBpaSkgaWYgc2VwYXJhdG9yIGlzIG5vdCBSZWdFeHAgVG9TdHJpbmcoc2VwYXJhdG9yKSBwZXJmb3JtcyBhbmQKICogaWlpKSBUb0ludGVnZXIobGltaXQpIHBlcmZvcm1zCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjE0L1MxNS41LjQuMTRfQTFfVDEuanMKICogQGRlc2NyaXB0aW9uIEFyZ3VtZW50cyBhcmUgZmFsc2UgYW5kIHRydWUsIGFuZCBpbnN0YW5jZSBpcyBvYmplY3QKICovCgp2YXIgX19pbnN0YW5jZSA9IG5ldyBPYmplY3QodHJ1ZSk7CgpfX2luc3RhbmNlLnNwbGl0ID0gU3RyaW5nLnByb3RvdHlwZS5zcGxpdDsKCnZhciBfX3NwbGl0ID0gX19pbnN0YW5jZS5zcGxpdCh0cnVlLCBmYWxzZSk7CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmICh0eXBlb2YgX19zcGxpdCAhPT0gIm9iamVjdCIpIHsKICAkRVJST1IoJyMxOiBfX2luc3RhbmNlID0gbmV3IE9iamVjdCh0cnVlKTsgX19pbnN0YW5jZS5zcGxpdCA9IFN0cmluZy5wcm90b3R5cGUuc3BsaXQ7IF9fc3BsaXQgPSBfX2luc3RhbmNlLnNwbGl0KHRydWUsIGZhbHNlKTsgdHlwZW9mIF9fc3BsaXQgPT09ICJvYmplY3QiLiBBY3R1YWw6ICcrdHlwZW9mIF9fc3BsaXQgKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzIKaWYgKF9fc3BsaXQuY29uc3RydWN0b3IgIT09IEFycmF5KSB7CiAgJEVSUk9SKCcjMjogX19pbnN0YW5jZSA9IG5ldyBPYmplY3QodHJ1ZSk7IF9faW5zdGFuY2Uuc3BsaXQgPSBTdHJpbmcucHJvdG90eXBlLnNwbGl0OyBfX3NwbGl0ID0gX19pbnN0YW5jZS5zcGxpdCh0cnVlLCBmYWxzZSk7IF9fc3BsaXQuY29uc3RydWN0b3IgPT09IEFycmF5LiBBY3R1YWw6ICcrX19zcGxpdC5jb25zdHJ1Y3RvciApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMwppZiAoX19zcGxpdC5sZW5ndGggIT09IDApIHsKICAkRVJST1IoJyMzOiBfX2luc3RhbmNlID0gbmV3IE9iamVjdCh0cnVlKTsgX19pbnN0YW5jZS5zcGxpdCA9IFN0cmluZy5wcm90b3R5cGUuc3BsaXQ7IF9fc3BsaXQgPSBfX2luc3RhbmNlLnNwbGl0KHRydWUsIGZhbHNlKTsgX19zcGxpdC5sZW5ndGggPT09IDAuIEFjdHVhbDogJytfX3NwbGl0Lmxlbmd0aCApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"String.prototype.split(separator, limit):\ni) can be transferred to other kinds of objects for use as a method.\nseparator and limit can be any kinds of object since:\nii) if separator is not RegExp ToString(separator) performs and\niii) ToInteger(limit) performs","description":"Arguments are false and true, and instance is object","path":"TestCases/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnNwbGl0KHNlcGFyYXRvciwgbGltaXQpOgogKiBpKSBjYW4gYmUgdHJhbnNmZXJyZWQgdG8gb3RoZXIga2luZHMgb2Ygb2JqZWN0cyBmb3IgdXNlIGFzIGEgbWV0aG9kLgogKiBzZXBhcmF0b3IgYW5kIGxpbWl0IGNhbiBiZSBhbnkga2luZHMgb2Ygb2JqZWN0IHNpbmNlOgogKiBpaSkgaWYgc2VwYXJhdG9yIGlzIG5vdCBSZWdFeHAgVG9TdHJpbmcoc2VwYXJhdG9yKSBwZXJmb3JtcyBhbmQKICogaWlpKSBUb0ludGVnZXIobGltaXQpIHBlcmZvcm1zCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjE0L1MxNS41LjQuMTRfQTFfVDEwLmpzCiAqIEBkZXNjcmlwdGlvbiBBcmd1bWVudHMgYXJlIG9iamVjdHMsIGFuZCBpbnN0YW5jZSBpcyBzdHJpbmcuCiAqIEZpcnN0IG9iamVjdCBoYXZlIG92ZXJyaWRlZCB0b1N0cmluZyBmdW5jdGlvbi4KICogU2Vjb25kIG9iamVjdCBoYXZlIG92ZXJyaWRlZCB2YWx1ZU9mIGZ1bmN0aW9uCiAqLwoKdmFyIF9fb2JqID0ge3RvU3RyaW5nOmZ1bmN0aW9uKCl7cmV0dXJuICJcdTAwNDJCIjt9fQp2YXIgX19vYmoyID0ge3ZhbHVlT2Y6ZnVuY3Rpb24oKXtyZXR1cm4gdHJ1ZTt9fQp2YXIgX19zdHIgPSAiQUJCXHUwMDQxQkFCQUIiOwoKd2l0aChfX3N0cil7CiAgICBfX3NwbGl0ID0gc3BsaXQoX19vYmosIF9fb2JqMik7Cn0KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKHR5cGVvZiBfX3NwbGl0ICE9PSAib2JqZWN0IikgewogICRFUlJPUignIzE6IHZhciBfX29iaiA9IHt0b1N0cmluZzpmdW5jdGlvbigpe3JldHVybiAidTAwNDJCIjt9fTsgdmFyIF9fb2JqMiA9IHt2YWx1ZU9mOmZ1bmN0aW9uKCl7cmV0dXJuIHRydWU7fX07IHZhciBfX3N0ciA9ICJBQkJ1MDA0MUJBQkFCIjsgd2l0aChfX3N0cil7X19zcGxpdCA9IHNwbGl0KF9fb2JqLCBfX29iajIpO307IHR5cGVvZiBfX3NwbGl0ID09PSAib2JqZWN0Ii4gQWN0dWFsOiAnK3R5cGVvZiBfX3NwbGl0ICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMyCmlmIChfX3NwbGl0LmNvbnN0cnVjdG9yICE9PSBBcnJheSkgewogICRFUlJPUignIzI6IHZhciBfX29iaiA9IHt0b1N0cmluZzpmdW5jdGlvbigpe3JldHVybiAidTAwNDJCIjt9fTsgdmFyIF9fb2JqMiA9IHt2YWx1ZU9mOmZ1bmN0aW9uKCl7cmV0dXJuIHRydWU7fX07IHZhciBfX3N0ciA9ICJBQkJ1MDA0MUJBQkFCIjsgd2l0aChfX3N0cil7X19zcGxpdCA9IHNwbGl0KF9fb2JqLCBfX29iajIpO307IF9fc3BsaXQuY29uc3RydWN0b3IgPT09IEFycmF5LiBBY3R1YWw6ICcrX19zcGxpdC5jb25zdHJ1Y3RvciApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMwppZiAoX19zcGxpdC5sZW5ndGggIT09IDEpIHsKICAkRVJST1IoJyMzOiB2YXIgX19vYmogPSB7dG9TdHJpbmc6ZnVuY3Rpb24oKXtyZXR1cm4gInUwMDQyQiI7fX07IHZhciBfX29iajIgPSB7dmFsdWVPZjpmdW5jdGlvbigpe3JldHVybiB0cnVlO319OyB2YXIgX19zdHIgPSAiQUJCdTAwNDFCQUJBQiI7IHdpdGgoX19zdHIpe19fc3BsaXQgPSBzcGxpdChfX29iaiwgX19vYmoyKTt9OyBfX3NwbGl0Lmxlbmd0aCA9PT0gMS4gQWN0dWFsOiAnK19fc3BsaXQubGVuZ3RoICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyM0CmlmIChfX3NwbGl0WzBdICE9PSAiQSIpIHsKICAkRVJST1IoJyM0OiB2YXIgX19vYmogPSB7dG9TdHJpbmc6ZnVuY3Rpb24oKXtyZXR1cm4gInUwMDQyQiI7fX07IHZhciBfX29iajIgPSB7dmFsdWVPZjpmdW5jdGlvbigpe3JldHVybiB0cnVlO319OyB2YXIgX19zdHIgPSAiQUJCdTAwNDFCQUJBQiI7IHdpdGgoX19zdHIpe19fc3BsaXQgPSBzcGxpdChfX29iaiwgX19vYmoyKTt9OyBfX3NwbGl0WzBdID09PSAiQSIuIEFjdHVhbDogJytfX3NwbGl0WzBdICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"String.prototype.split(separator, limit):\ni) can be transferred to other kinds of objects for use as a method.\nseparator and limit can be any kinds of object since:\nii) if separator is not RegExp ToString(separator) performs and\niii) ToInteger(limit) performs","description":"Arguments are objects, and instance is string.\nFirst object have overrided toString function.\nSecond object have overrided valueOf function","path":"TestCases/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A1_T10.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnNwbGl0KHNlcGFyYXRvciwgbGltaXQpOgogKiBpKSBjYW4gYmUgdHJhbnNmZXJyZWQgdG8gb3RoZXIga2luZHMgb2Ygb2JqZWN0cyBmb3IgdXNlIGFzIGEgbWV0aG9kLgogKiBzZXBhcmF0b3IgYW5kIGxpbWl0IGNhbiBiZSBhbnkga2luZHMgb2Ygb2JqZWN0IHNpbmNlOgogKiBpaSkgaWYgc2VwYXJhdG9yIGlzIG5vdCBSZWdFeHAgVG9TdHJpbmcoc2VwYXJhdG9yKSBwZXJmb3JtcyBhbmQKICogaWlpKSBUb0ludGVnZXIobGltaXQpIHBlcmZvcm1zCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjE0L1MxNS41LjQuMTRfQTFfVDExLmpzCiAqIEBkZXNjcmlwdGlvbiBBcmd1bWVudHMgYXJlIG9iamVjdHMsIGFuZCBpbnN0YW5jZSBpcyBzdHJpbmcuCiAqIEZpcnN0IG9iamVjdCBoYXZlIG92ZXJyaWRlZCB0b1N0cmluZyBmdW5jdGlvbi4KICogU2Vjb25kIG9iamVjdCBoYXZlIG92ZXJyaWRlZCB2YWx1ZU9mIGZ1bmN0aW9uLCB0aGF0IHRocm93IGV4Y2VwdGlvbgogKi8KCnZhciBfX29iaiA9IHt0b1N0cmluZzpmdW5jdGlvbigpe3JldHVybiAiXHUwMDQxQiI7fX0KdmFyIF9fb2JqMiA9IHt2YWx1ZU9mOmZ1bmN0aW9uKCl7dGhyb3cgImludG9pbnRlZ2VyIjt9fQp2YXIgX19zdHIgPSB7c3RyX186IkFCQlx1MDA0MUJBQkFCIn07CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCndpdGgoX19zdHIpewogICAgd2l0aChzdHJfXyl7CiAgICAgICAgdHJ5IHsKICAgICAgICAgIHZhciB4ID0gc3BsaXQoX19vYmosIF9fb2JqMik7CiAgICAgICAgICAkRkFJTCgnIzE6ICJ2YXIgeCA9IHNwbGl0KF9fb2JqLCBfX29iajIpIiBsZWFkIHRvIHRocm93aW5nIGV4Y2VwdGlvbicpOwogICAgICAgIH0gY2F0Y2ggKGUpIHsKICAgICAgICAgIGlmIChlIT09ImludG9pbnRlZ2VyIikgewogICAgICAgICAgICAkRVJST1IoJyMxLjE6IEV4Y2VwdGlvbiA9PT0gImludG9pbnRlZ2VyIi4gQWN0dWFsOiAnK2UpOwogICAgICAgICAgfQogICAgICAgIH0KICAgIH0KfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"String.prototype.split(separator, limit):\ni) can be transferred to other kinds of objects for use as a method.\nseparator and limit can be any kinds of object since:\nii) if separator is not RegExp ToString(separator) performs and\niii) ToInteger(limit) performs","description":"Arguments are objects, and instance is string.\nFirst object have overrided toString function.\nSecond object have overrided valueOf function, that throw exception","path":"TestCases/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A1_T11.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnNwbGl0KHNlcGFyYXRvciwgbGltaXQpOgogKiBpKSBjYW4gYmUgdHJhbnNmZXJyZWQgdG8gb3RoZXIga2luZHMgb2Ygb2JqZWN0cyBmb3IgdXNlIGFzIGEgbWV0aG9kLgogKiBzZXBhcmF0b3IgYW5kIGxpbWl0IGNhbiBiZSBhbnkga2luZHMgb2Ygb2JqZWN0IHNpbmNlOgogKiBpaSkgaWYgc2VwYXJhdG9yIGlzIG5vdCBSZWdFeHAgVG9TdHJpbmcoc2VwYXJhdG9yKSBwZXJmb3JtcyBhbmQKICogaWlpKSBUb0ludGVnZXIobGltaXQpIHBlcmZvcm1zCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjE0L1MxNS41LjQuMTRfQTFfVDEyLmpzCiAqIEBkZXNjcmlwdGlvbiBBcmd1bWVudHMgYXJlIG9iamVjdHMsIGFuZCBpbnN0YW5jZSBpcyBzdHJpbmcuCiAqIEZpcnN0IG9iamVjdCBoYXZlIG92ZXJyaWRlZCB0b1N0cmluZyBmdW5jdGlvbi4KICogU2Vjb25kIG9iamVjdCBoYXZlIG92ZXJyaWRlZCB2YWx1ZU9mIGZ1bmN0aW9uIGFuZCB0b1N0cmluZyBmdW5jdGlvbiwgdGhhdCB0aHJvdyBleGNlcHRpb24KICovCgp2YXIgX19vYmogPSB7dG9TdHJpbmc6ZnVuY3Rpb24oKXtyZXR1cm4gIlx1MDA0MUIiO319CnZhciBfX29iajIgPSB7dmFsdWVPZjpmdW5jdGlvbigpe3JldHVybiB7fTt9LHRvU3RyaW5nOmZ1bmN0aW9uKCl7dGhyb3cgImludG9pbnRlZ2VyIjt9fQp2YXIgX19zdHIgPSBuZXcgU3RyaW5nKCJBQkJcdTAwNDFCQUJBQiIpOwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQp3aXRoKF9fc3RyKXsKICAgIHRyeSB7CiAgICAgIHZhciB4ID0gc3BsaXQoX19vYmosIF9fb2JqMik7CiAgICAgICRGQUlMKCcjMTogInZhciB4ID0gc3BsaXQoX19vYmosIF9fb2JqMikiIGxlYWQgdG8gdGhyb3dpbmcgZXhjZXB0aW9uJyk7CiAgICB9IGNhdGNoIChlKSB7CiAgICAgIGlmIChlIT09ImludG9pbnRlZ2VyIikgewogICAgICAgICRFUlJPUignIzEuMTogRXhjZXB0aW9uID09PSAiaW50b2ludGVnZXIiLiBBY3R1YWw6ICcrZSk7CiAgICAgIH0KICAgIH0KfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"String.prototype.split(separator, limit):\ni) can be transferred to other kinds of objects for use as a method.\nseparator and limit can be any kinds of object since:\nii) if separator is not RegExp ToString(separator) performs and\niii) ToInteger(limit) performs","description":"Arguments are objects, and instance is string.\nFirst object have overrided toString function.\nSecond object have overrided valueOf function and toString function, that throw exception","path":"TestCases/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A1_T12.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnNwbGl0KHNlcGFyYXRvciwgbGltaXQpOgogKiBpKSBjYW4gYmUgdHJhbnNmZXJyZWQgdG8gb3RoZXIga2luZHMgb2Ygb2JqZWN0cyBmb3IgdXNlIGFzIGEgbWV0aG9kLgogKiBzZXBhcmF0b3IgYW5kIGxpbWl0IGNhbiBiZSBhbnkga2luZHMgb2Ygb2JqZWN0IHNpbmNlOgogKiBpaSkgaWYgc2VwYXJhdG9yIGlzIG5vdCBSZWdFeHAgVG9TdHJpbmcoc2VwYXJhdG9yKSBwZXJmb3JtcyBhbmQKICogaWlpKSBUb0ludGVnZXIobGltaXQpIHBlcmZvcm1zCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjE0L1MxNS41LjQuMTRfQTFfVDEzLmpzCiAqIEBkZXNjcmlwdGlvbiBBcmd1bWVudHMgYXJlIG9iamVjdHMsIGFuZCBpbnN0YW5jZSBpcyBzdHJpbmcuCiAqIEZpcnN0IG9iamVjdCBoYXZlIG92ZXJyaWRlZCB0b1N0cmluZyBmdW5jdGlvbi4KICogU2Vjb25kIG9iamVjdCBoYXZlIG92ZXJyaWRlZCB2YWx1ZU9mIGFuZCB0b1N0cmluZyBmdW5jdGlvbnMKICovCgp2YXIgX19vYmogPSB7dG9TdHJpbmc6ZnVuY3Rpb24oKXtyZXR1cm4gIlx1MDA0Mlx1MDA0MiI7fX0KdmFyIF9fb2JqMiA9IHt2YWx1ZU9mOmZ1bmN0aW9uKCl7cmV0dXJuIHt9O30sdG9TdHJpbmc6ZnVuY3Rpb24oKXtyZXR1cm4gIjIiO319Cgp2YXIgX19zcGxpdCA9ICJBQkJcdTAwNDFCQUJBQlx1MDA0MmNjXl5cdTAwNDJCdnYlJUJcdTAwNDJ4eHgiLnNwbGl0KF9fb2JqLCBfX29iajIpOwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAodHlwZW9mIF9fc3BsaXQgIT09ICJvYmplY3QiKSB7CiAgJEVSUk9SKCcjMTogdmFyIF9fb2JqID0ge3RvU3RyaW5nOmZ1bmN0aW9uKCl7cmV0dXJuICJ1MDA0MnUwMDQyIjt9fTsgdmFyIF9fb2JqMiA9IHt2YWx1ZU9mOmZ1bmN0aW9uKCl7cmV0dXJuIHt9O30sdG9TdHJpbmc6ZnVuY3Rpb24oKXtyZXR1cm4gIjIiO319OyBfX3NwbGl0ID0gIkFCQnUwMDQxQkFCQUJ1MDA0MmNjXl51MDA0MkJ2diUlQnUwMDQyeHh4Ii5zcGxpdChfX29iaiwgX19vYmoyKTsgdHlwZW9mIF9fc3BsaXQgPT09ICJvYmplY3QiLiBBY3R1YWw6ICcrdHlwZW9mIF9fc3BsaXQgKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzIKaWYgKF9fc3BsaXQuY29uc3RydWN0b3IgIT09IEFycmF5KSB7CiAgJEVSUk9SKCcjMjogdmFyIF9fb2JqID0ge3RvU3RyaW5nOmZ1bmN0aW9uKCl7cmV0dXJuICJ1MDA0MnUwMDQyIjt9fTsgdmFyIF9fb2JqMiA9IHt2YWx1ZU9mOmZ1bmN0aW9uKCl7cmV0dXJuIHt9O30sdG9TdHJpbmc6ZnVuY3Rpb24oKXtyZXR1cm4gIjIiO319OyBfX3NwbGl0ID0gIkFCQnUwMDQxQkFCQUJ1MDA0MmNjXl51MDA0MkJ2diUlQnUwMDQyeHh4Ii5zcGxpdChfX29iaiwgX19vYmoyKTsgX19zcGxpdC5jb25zdHJ1Y3RvciA9PT0gQXJyYXkuIEFjdHVhbDogJytfX3NwbGl0LmNvbnN0cnVjdG9yICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMzCmlmIChfX3NwbGl0Lmxlbmd0aCAhPT0gMikgewogICRFUlJPUignIzM6IHZhciBfX29iaiA9IHt0b1N0cmluZzpmdW5jdGlvbigpe3JldHVybiAidTAwNDJ1MDA0MiI7fX07IHZhciBfX29iajIgPSB7dmFsdWVPZjpmdW5jdGlvbigpe3JldHVybiB7fTt9LHRvU3RyaW5nOmZ1bmN0aW9uKCl7cmV0dXJuICIyIjt9fTsgX19zcGxpdCA9ICJBQkJ1MDA0MUJBQkFCdTAwNDJjY15edTAwNDJCdnYlJUJ1MDA0Mnh4eCIuc3BsaXQoX19vYmosIF9fb2JqMik7IF9fc3BsaXQubGVuZ3RoID09PSAyLiBBY3R1YWw6ICcrX19zcGxpdC5sZW5ndGggKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzQKaWYgKF9fc3BsaXRbMF0gIT09ICJBIikgewogICRFUlJPUignIzQ6IHZhciBfX29iaiA9IHt0b1N0cmluZzpmdW5jdGlvbigpe3JldHVybiAidTAwNDJ1MDA0MiI7fX07IHZhciBfX29iajIgPSB7dmFsdWVPZjpmdW5jdGlvbigpe3JldHVybiB7fTt9LHRvU3RyaW5nOmZ1bmN0aW9uKCl7cmV0dXJuICIyIjt9fTsgX19zcGxpdCA9ICJBQkJ1MDA0MUJBQkFCdTAwNDJjY15edTAwNDJCdnYlJUJ1MDA0Mnh4eCIuc3BsaXQoX19vYmosIF9fb2JqMik7IF9fc3BsaXRbMF0gPT09ICJBIi4gQWN0dWFsOiAnK19fc3BsaXRbMF0gKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzUKaWYgKF9fc3BsaXRbMV0gIT09ICJBQkFCQSIpIHsKICAkRVJST1IoJyM1OiB2YXIgX19vYmogPSB7dG9TdHJpbmc6ZnVuY3Rpb24oKXtyZXR1cm4gInUwMDQydTAwNDIiO319OyB2YXIgX19vYmoyID0ge3ZhbHVlT2Y6ZnVuY3Rpb24oKXtyZXR1cm4ge307fSx0b1N0cmluZzpmdW5jdGlvbigpe3JldHVybiAiMiI7fX07IF9fc3BsaXQgPSAiQUJCdTAwNDFCQUJBQnUwMDQyY2NeXnUwMDQyQnZ2JSVCdTAwNDJ4eHgiLnNwbGl0KF9fb2JqLCBfX29iajIpOyBfX3NwbGl0WzFdID09PSAiQUJBQkEiLiBBY3R1YWw6ICcrX19zcGxpdFsxXSApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"String.prototype.split(separator, limit):\ni) can be transferred to other kinds of objects for use as a method.\nseparator and limit can be any kinds of object since:\nii) if separator is not RegExp ToString(separator) performs and\niii) ToInteger(limit) performs","description":"Arguments are objects, and instance is string.\nFirst object have overrided toString function.\nSecond object have overrided valueOf and toString functions","path":"TestCases/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A1_T13.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnNwbGl0KHNlcGFyYXRvciwgbGltaXQpOgogKiBpKSBjYW4gYmUgdHJhbnNmZXJyZWQgdG8gb3RoZXIga2luZHMgb2Ygb2JqZWN0cyBmb3IgdXNlIGFzIGEgbWV0aG9kLgogKiBzZXBhcmF0b3IgYW5kIGxpbWl0IGNhbiBiZSBhbnkga2luZHMgb2Ygb2JqZWN0IHNpbmNlOgogKiBpaSkgaWYgc2VwYXJhdG9yIGlzIG5vdCBSZWdFeHAgVG9TdHJpbmcoc2VwYXJhdG9yKSBwZXJmb3JtcyBhbmQKICogaWlpKSBUb0ludGVnZXIobGltaXQpIHBlcmZvcm1zCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjE0L1MxNS41LjQuMTRfQTFfVDE0LmpzCiAqIEBkZXNjcmlwdGlvbiBBcmd1bWVudHMgYXJlIG9iamVjdHMsIGFuZCBpbnN0YW5jZSBpcyBzdHJpbmcuCiAqIEZpcnN0IG9iamVjdCBoYXZlIG92ZXJyaWRlZCB0b1N0cmluZyBmdW5jdGlvbiwgdGhhdCB0aHJvdyBleGNlcHRpb24uCiAqIFNlY29uZCBvYmplY3QgaGF2ZSBvdmVycmlkZWQgdmFsdWVPZiBmdW5jdGlvbiwgdGhhdCB0aHJvdyBleGNlcHRpb24KICovCgp2YXIgX19vYmogPSB7dG9TdHJpbmc6ZnVuY3Rpb24oKXt0aHJvdyAiaW50b3N0ciI7fX07CnZhciBfX29iajIgPSB7dmFsdWVPZjpmdW5jdGlvbigpe3Rocm93ICJpbnRvaW50Ijt9fTsKdmFyIF9faW5zdGFuY2UgPSBuZXcgTnVtYmVyKDEwMDAxLjEwMDAxKTsKTnVtYmVyLnByb3RvdHlwZS5zcGxpdD1TdHJpbmcucHJvdG90eXBlLnNwbGl0OwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQp3aXRoKF9faW5zdGFuY2UpewogICAgdHJ5IHsKICAgICAgdmFyIHggPSBzcGxpdChfX29iaiwgX19vYmoyKTsKICAgICAgJEZBSUwoJyMxOiAidmFyIHggPSBzcGxpdChfX29iaiwgX19vYmoyKSIgbGVhZCB0byB0aHJvd2luZyBleGNlcHRpb24nKTsKICAgIH0gY2F0Y2ggKGUpIHsKICAgICAgaWYgKGUhPT0iaW50b2ludCIpIHsKICAgICAgICAkRVJST1IoJyMxLjE6IEV4Y2VwdGlvbiA9PT0gImludG9pbnQiLiBBY3R1YWw6ICcrZSk7CiAgICAgIH0KICAgIH0KfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"String.prototype.split(separator, limit):\ni) can be transferred to other kinds of objects for use as a method.\nseparator and limit can be any kinds of object since:\nii) if separator is not RegExp ToString(separator) performs and\niii) ToInteger(limit) performs","description":"Arguments are objects, and instance is string.\nFirst object have overrided toString function, that throw exception.\nSecond object have overrided valueOf function, that throw exception","path":"TestCases/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A1_T14.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnNwbGl0KHNlcGFyYXRvciwgbGltaXQpOgogKiBpKSBjYW4gYmUgdHJhbnNmZXJyZWQgdG8gb3RoZXIga2luZHMgb2Ygb2JqZWN0cyBmb3IgdXNlIGFzIGEgbWV0aG9kLgogKiBzZXBhcmF0b3IgYW5kIGxpbWl0IGNhbiBiZSBhbnkga2luZHMgb2Ygb2JqZWN0IHNpbmNlOgogKiBpaSkgaWYgc2VwYXJhdG9yIGlzIG5vdCBSZWdFeHAgVG9TdHJpbmcoc2VwYXJhdG9yKSBwZXJmb3JtcyBhbmQKICogaWlpKSBUb0ludGVnZXIobGltaXQpIHBlcmZvcm1zCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjE0L1MxNS41LjQuMTRfQTFfVDE1LmpzCiAqIEBkZXNjcmlwdGlvbiBBcmd1bWVudHMgYXJlIG9iamVjdHMsIGFuZCBpbnN0YW5jZSBpcyBzdHJpbmcuCiAqIEZpcnN0IG9iamVjdCBoYXZlIG92ZXJyaWRlZCB0b1N0cmluZyBmdW5jdGlvbiBhbmQgdmFsdWVPZiBmdW5jdGlvbiwgdGhhdCB0aHJvdyBleGNlcHRpb24uCiAqIFNlY29uZCBvYmplY3QgaGF2ZSBvdmVycmlkZWQgdmFsdWVPZiBmdW5jdGlvbiwgdGhhdCB0aHJvdyBleGNlcHRpb24KICovCgp2YXIgX19vYmogPSB7dG9TdHJpbmc6ZnVuY3Rpb24oKXtyZXR1cm4ge307fSx2YWx1ZU9mOmZ1bmN0aW9uKCl7dGhyb3cgImludG9zdHIiO319OwoKdmFyIF9fb2JqMiA9IHt2YWx1ZU9mOmZ1bmN0aW9uKCl7dGhyb3cgImludG9pbnRlZ2VyIjt9fTsKCl9fRkFDVE9SWS5wcm90b3R5cGUuc3BsaXQgPSBTdHJpbmcucHJvdG90eXBlLnNwbGl0OwoKdmFyIF9faW5zdGFuY2UgPSBuZXcgX19GQUNUT1JZKHZvaWQgMCk7CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCnRyeSB7CiAgdmFyIHggPSBfX2luc3RhbmNlLnNwbGl0KF9fb2JqLCBfX29iajIpOwogICRGQUlMKCcjMTogInZhciB4ID0gX19pbnN0YW5jZS5zcGxpdChfX29iaiwgX19vYmoyKSIgbGVhZCB0byB0aHJvd2luZyBleGNlcHRpb24nKTsKfSBjYXRjaCAoZSkgewogIGlmIChlIT09ImludG9pbnRlZ2VyIikgewogICAgJEVSUk9SKCcjMS4xOiBFeGNlcHRpb24gPT09ICJpbnRvaW50ZWdlciIuIEFjdHVhbDogJytlKTsKICB9Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgpmdW5jdGlvbiBfX0ZBQ1RPUlkoIHZhbHVlICkgewogICAgdGhpcy52YWx1ZSA9IHZhbHVlOwogICAgdGhpcy50b1N0cmluZyA9IGZ1bmN0aW9uKCkgeyByZXR1cm4gbmV3IE51bWJlcjsgfTsKICAgIHRoaXMudmFsdWVPZj1mdW5jdGlvbigpe3JldHVybiB0aGlzLnZhbHVlKyIifTsKfQoK","commentary":"String.prototype.split(separator, limit):\ni) can be transferred to other kinds of objects for use as a method.\nseparator and limit can be any kinds of object since:\nii) if separator is not RegExp ToString(separator) performs and\niii) ToInteger(limit) performs","description":"Arguments are objects, and instance is string.\nFirst object have overrided toString function and valueOf function, that throw exception.\nSecond object have overrided valueOf function, that throw exception","path":"TestCases/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A1_T15.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnNwbGl0KHNlcGFyYXRvciwgbGltaXQpOgogKiBpKSBjYW4gYmUgdHJhbnNmZXJyZWQgdG8gb3RoZXIga2luZHMgb2Ygb2JqZWN0cyBmb3IgdXNlIGFzIGEgbWV0aG9kLgogKiBzZXBhcmF0b3IgYW5kIGxpbWl0IGNhbiBiZSBhbnkga2luZHMgb2Ygb2JqZWN0IHNpbmNlOgogKiBpaSkgaWYgc2VwYXJhdG9yIGlzIG5vdCBSZWdFeHAgVG9TdHJpbmcoc2VwYXJhdG9yKSBwZXJmb3JtcyBhbmQKICogaWlpKSBUb0ludGVnZXIobGltaXQpIHBlcmZvcm1zCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjE0L1MxNS41LjQuMTRfQTFfVDE2LmpzCiAqIEBkZXNjcmlwdGlvbiBBcmd1bWVudCBpcyBvYmplY3QsIGFuZCBpbnN0YW5jZSBpcyBOdW1iZXIuCiAqIE9iamVjdCBoYXZlIG92ZXJyaWRlZCB0b1N0cmluZyBmdW5jdGlvbiwgdGhhdCByZXR1cm4gcmVnZXhwCiAqLwoKdmFyIF9fb2JqID0ge3RvU3RyaW5nOmZ1bmN0aW9uKCl7cmV0dXJuIC9cdTAwMzdcdTAwMzcvZzt9fTsKCk51bWJlci5wcm90b3R5cGUuc3BsaXQ9U3RyaW5nLnByb3RvdHlwZS5zcGxpdDsKCnRyeSB7CiAgdmFyIF9fc3BsaXQgPSA2Nzc2NzY3Njc3LjAwNjc3MTEyMjY3NzU1NS5zcGxpdChfX29iaik7CiAgJEZBSUwoJyMxOiAiX19zcGxpdCA9IDY3NzY3Njc2NzcuMDA2NzcxMTIyNjc3NTU1LnNwbGl0KF9fb2JqKSIgbGVhZCB0byB0aHJvd2luZyBleGNlcHRpb24nKTsKfSBjYXRjaCAoZSkgewogIGlmICghKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpKSB7CiAgICAkRVJST1IoJyMxLjE6IEV4Y2VwdGlvbiBpcyBpbnN0YW5jZSBvZiBUeXBlRXJyb3IuIEFjdHVhbDogJytlKTsKICB9Cn0KCg==","commentary":"String.prototype.split(separator, limit):\ni) can be transferred to other kinds of objects for use as a method.\nseparator and limit can be any kinds of object since:\nii) if separator is not RegExp ToString(separator) performs and\niii) ToInteger(limit) performs","description":"Argument is object, and instance is Number.\nObject have overrided toString function, that return regexp","path":"TestCases/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A1_T16.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnNwbGl0KHNlcGFyYXRvciwgbGltaXQpOgogKiBpKSBjYW4gYmUgdHJhbnNmZXJyZWQgdG8gb3RoZXIga2luZHMgb2Ygb2JqZWN0cyBmb3IgdXNlIGFzIGEgbWV0aG9kLgogKiBzZXBhcmF0b3IgYW5kIGxpbWl0IGNhbiBiZSBhbnkga2luZHMgb2Ygb2JqZWN0IHNpbmNlOgogKiBpaSkgaWYgc2VwYXJhdG9yIGlzIG5vdCBSZWdFeHAgVG9TdHJpbmcoc2VwYXJhdG9yKSBwZXJmb3JtcyBhbmQKICogaWlpKSBUb0ludGVnZXIobGltaXQpIHBlcmZvcm1zCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjE0L1MxNS41LjQuMTRfQTFfVDE3LmpzCiAqIEBkZXNjcmlwdGlvbiBBcmd1bWVudCBpcyByZWdleHAsIGFuZCBpbnN0YW5jZSBpcyBOdW1iZXIKICovCgp2YXIgX19yZSA9IC9cdTAwMzdcdTAwMzcvZzsKCk51bWJlci5wcm90b3R5cGUuc3BsaXQ9U3RyaW5nLnByb3RvdHlwZS5zcGxpdDsKCl9fc3BsaXQgPSA2Nzc2NzY3Njc3LjAwNjc3MTEyMjY3NzU1NS5zcGxpdChfX3JlKTsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKHR5cGVvZiBfX3NwbGl0ICE9PSAib2JqZWN0IikgewogICRFUlJPUignIzE6IHZhciBfX3JlID0gL3UwMDM3dTAwMzcvZzsgTnVtYmVyLnByb3RvdHlwZS5zcGxpdD1TdHJpbmcucHJvdG90eXBlLnNwbGl0OyBfX3NwbGl0ID0gNjc3Njc2NzY3Ny4wMDY3NzExMjI2Nzc1NTUuc3BsaXQoX19yZSk7IHR5cGVvZiBfX3NwbGl0ID09PSAib2JqZWN0Ii4gQWN0dWFsOiAnK3R5cGVvZiBfX3NwbGl0ICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMyCmlmIChfX3NwbGl0LmNvbnN0cnVjdG9yICE9PSBBcnJheSkgewogICRFUlJPUignIzI6IHZhciBfX3JlID0gL3UwMDM3dTAwMzcvZzsgTnVtYmVyLnByb3RvdHlwZS5zcGxpdD1TdHJpbmcucHJvdG90eXBlLnNwbGl0OyBfX3NwbGl0ID0gNjc3Njc2NzY3Ny4wMDY3NzExMjI2Nzc1NTUuc3BsaXQoX19yZSk7IF9fc3BsaXQuY29uc3RydWN0b3IgPT09IEFycmF5LiBBY3R1YWw6ICcrX19zcGxpdC5jb25zdHJ1Y3RvciApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMwppZiAoX19zcGxpdC5sZW5ndGggIT09IDQpIHsKICAkRVJST1IoJyMzOiB2YXIgX19yZSA9IC91MDAzN3UwMDM3L2c7IE51bWJlci5wcm90b3R5cGUuc3BsaXQ9U3RyaW5nLnByb3RvdHlwZS5zcGxpdDsgX19zcGxpdCA9IDY3NzY3Njc2NzcuMDA2NzcxMTIyNjc3NTU1LnNwbGl0KF9fcmUpOyBfX3NwbGl0Lmxlbmd0aCA9PT0gNC4gQWN0dWFsOiAnK19fc3BsaXQubGVuZ3RoICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyM0CmlmIChfX3NwbGl0WzBdICE9PSAiNiIpIHsKICAkRVJST1IoJyM0OiB2YXIgX19yZSA9IC91MDAzN3UwMDM3L2c7IE51bWJlci5wcm90b3R5cGUuc3BsaXQ9U3RyaW5nLnByb3RvdHlwZS5zcGxpdDsgX19zcGxpdCA9IDY3NzY3Njc2NzcuMDA2NzcxMTIyNjc3NTU1LnNwbGl0KF9fcmUpOyBfX3NwbGl0WzBdID09PSAiNiIuIEFjdHVhbDogJytfX3NwbGl0WzBdICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyM1CmlmIChfX3NwbGl0WzFdICE9PSAiNjc2NzYiKSB7CiAgJEVSUk9SKCcjNTogdmFyIF9fcmUgPSAvdTAwMzd1MDAzNy9nOyBOdW1iZXIucHJvdG90eXBlLnNwbGl0PVN0cmluZy5wcm90b3R5cGUuc3BsaXQ7IF9fc3BsaXQgPSA2Nzc2NzY3Njc3LjAwNjc3MTEyMjY3NzU1NS5zcGxpdChfX3JlKTsgX19zcGxpdFsxXSA9PT0gIjY3Njc2Ii4gQWN0dWFsOiAnK19fc3BsaXRbMV0gKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzYKaWYgKF9fc3BsaXRbMl0gIT09ICIuMDA2IikgewogICRFUlJPUignIzY6IHZhciBfX3JlID0gL3UwMDM3dTAwMzcvZzsgTnVtYmVyLnByb3RvdHlwZS5zcGxpdD1TdHJpbmcucHJvdG90eXBlLnNwbGl0OyBfX3NwbGl0ID0gNjc3Njc2NzY3Ny4wMDY3NzExMjI2Nzc1NTUuc3BsaXQoX19yZSk7IF9fc3BsaXRbMl0gPT09ICIuMDA2Ii4gQWN0dWFsOiAnK19fc3BsaXRbMl0gKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzcKaWYgKF9fc3BsaXRbM10gIT09ICIxIikgewogICRFUlJPUignIzc6IHZhciBfX3JlID0gL3UwMDM3dTAwMzcvZzsgTnVtYmVyLnByb3RvdHlwZS5zcGxpdD1TdHJpbmcucHJvdG90eXBlLnNwbGl0OyBfX3NwbGl0ID0gNjc3Njc2NzY3Ny4wMDY3NzExMjI2Nzc1NTUuc3BsaXQoX19yZSk7IF9fc3BsaXRbM10gPT09ICIxIi4gQWN0dWFsOiAnK19fc3BsaXRbM10gKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"String.prototype.split(separator, limit):\ni) can be transferred to other kinds of objects for use as a method.\nseparator and limit can be any kinds of object since:\nii) if separator is not RegExp ToString(separator) performs and\niii) ToInteger(limit) performs","description":"Argument is regexp, and instance is Number","path":"TestCases/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A1_T17.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnNwbGl0KHNlcGFyYXRvciwgbGltaXQpOgogKiBpKSBjYW4gYmUgdHJhbnNmZXJyZWQgdG8gb3RoZXIga2luZHMgb2Ygb2JqZWN0cyBmb3IgdXNlIGFzIGEgbWV0aG9kLgogKiBzZXBhcmF0b3IgYW5kIGxpbWl0IGNhbiBiZSBhbnkga2luZHMgb2Ygb2JqZWN0IHNpbmNlOgogKiBpaSkgaWYgc2VwYXJhdG9yIGlzIG5vdCBSZWdFeHAgVG9TdHJpbmcoc2VwYXJhdG9yKSBwZXJmb3JtcyBhbmQKICogaWlpKSBUb0ludGVnZXIobGltaXQpIHBlcmZvcm1zCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjE0L1MxNS41LjQuMTRfQTFfVDE4LmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBieSB1c2luZyBldmFsCiAqLwoKdmFyIF9fcmUgPSAgbmV3IFJlZ0V4cCgiMDAiKTsKCk51bWJlci5wcm90b3R5cGUuc3BsaXQ9U3RyaW5nLnByb3RvdHlwZS5zcGxpdDsKCnZhciBfX3NwbGl0ID0gNjc3Njc2NzY3Ny4wMDY3NzExMjI2Nzc1NTUuc3BsaXQoX19yZSwgZXZhbCgiXCIxXCIiKSk7CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmICh0eXBlb2YgX19zcGxpdCAhPT0gIm9iamVjdCIpIHsKICAkRVJST1IoJyMxOiB2YXIgX19yZSA9ICBuZXcgUmVnRXhwKCIwMCIpOyBOdW1iZXIucHJvdG90eXBlLnNwbGl0PVN0cmluZy5wcm90b3R5cGUuc3BsaXQ7IF9fc3BsaXQgPSA2Nzc2NzY3Njc3LjAwNjc3MTEyMjY3NzU1NS5zcGxpdChfX3JlLCBldmFsKCIiMSIiKSk7IHR5cGVvZiBfX3NwbGl0ID09PSAib2JqZWN0Ii4gQWN0dWFsOiAnK3R5cGVvZiBfX3NwbGl0ICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMyCmlmIChfX3NwbGl0LmNvbnN0cnVjdG9yICE9PSBBcnJheSkgewogICRFUlJPUignIzI6IHZhciBfX3JlID0gIG5ldyBSZWdFeHAoIjAwIik7IE51bWJlci5wcm90b3R5cGUuc3BsaXQ9U3RyaW5nLnByb3RvdHlwZS5zcGxpdDsgX19zcGxpdCA9IDY3NzY3Njc2NzcuMDA2NzcxMTIyNjc3NTU1LnNwbGl0KF9fcmUsIGV2YWwoIiIxIiIpKTsgX19zcGxpdC5jb25zdHJ1Y3RvciA9PT0gQXJyYXkuIEFjdHVhbDogJytfX3NwbGl0LmNvbnN0cnVjdG9yICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMzCmlmIChfX3NwbGl0Lmxlbmd0aCAhPT0gMSkgewogICRFUlJPUignIzM6IHZhciBfX3JlID0gIG5ldyBSZWdFeHAoIjAwIik7IE51bWJlci5wcm90b3R5cGUuc3BsaXQ9U3RyaW5nLnByb3RvdHlwZS5zcGxpdDsgX19zcGxpdCA9IDY3NzY3Njc2NzcuMDA2NzcxMTIyNjc3NTU1LnNwbGl0KF9fcmUsIGV2YWwoIiIxIiIpKTsgX19zcGxpdC5sZW5ndGggPT09IDEuIEFjdHVhbDogJytfX3NwbGl0Lmxlbmd0aCApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMwppZiAoX19zcGxpdFswXSAhPT0gIjY3NzY3Njc2NzcuIikgewogICRFUlJPUignIzM6IHZhciBfX3JlID0gIG5ldyBSZWdFeHAoIjAwIik7IE51bWJlci5wcm90b3R5cGUuc3BsaXQ9U3RyaW5nLnByb3RvdHlwZS5zcGxpdDsgX19zcGxpdCA9IDY3NzY3Njc2NzcuMDA2NzcxMTIyNjc3NTU1LnNwbGl0KF9fcmUsIGV2YWwoIiIxIiIpKTsgX19zcGxpdFswXSA9PT0gIjY3NzY3Njc2NzcuIi4gQWN0dWFsOiAnK19fc3BsaXRbMF0gKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"String.prototype.split(separator, limit):\ni) can be transferred to other kinds of objects for use as a method.\nseparator and limit can be any kinds of object since:\nii) if separator is not RegExp ToString(separator) performs and\niii) ToInteger(limit) performs","description":"Checking by using eval","path":"TestCases/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A1_T18.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnNwbGl0KHNlcGFyYXRvciwgbGltaXQpOgogKiBpKSBjYW4gYmUgdHJhbnNmZXJyZWQgdG8gb3RoZXIga2luZHMgb2Ygb2JqZWN0cyBmb3IgdXNlIGFzIGEgbWV0aG9kLgogKiBzZXBhcmF0b3IgYW5kIGxpbWl0IGNhbiBiZSBhbnkga2luZHMgb2Ygb2JqZWN0IHNpbmNlOgogKiBpaSkgaWYgc2VwYXJhdG9yIGlzIG5vdCBSZWdFeHAgVG9TdHJpbmcoc2VwYXJhdG9yKSBwZXJmb3JtcyBhbmQKICogaWlpKSBUb0ludGVnZXIobGltaXQpIHBlcmZvcm1zCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjE0L1MxNS41LjQuMTRfQTFfVDIuanMKICogQGRlc2NyaXB0aW9uIEFyZ3VtZW50cyBhcmUgYm9vbGVhbiBleHByZXNzaW9uLCBmdW5jdGlvbiBjYWxsIGFuZCBudWxsLCBhbmQgaW5zdGFuY2UgaXMgQm9vbGVhbgogKi8KCnZhciBfX2luc3RhbmNlID0gbmV3IEJvb2xlYW47CgpfX2luc3RhbmNlLnNwbGl0ID0gU3RyaW5nLnByb3RvdHlwZS5zcGxpdDsKCnZhciBfX3NwbGl0ID0gX19pbnN0YW5jZS5zcGxpdCgiQSIhPT0iXHUwMDQxIiwgZnVuY3Rpb24oKXtyZXR1cm4gMDt9KCksbnVsbCk7CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmICh0eXBlb2YgX19zcGxpdCAhPT0gIm9iamVjdCIpIHsKICAkRVJST1IoJyMxOiBfX2luc3RhbmNlID0gbmV3IEJvb2xlYW47IF9faW5zdGFuY2Uuc3BsaXQgPSBTdHJpbmcucHJvdG90eXBlLnNwbGl0OyBfX3NwbGl0ID0gX19pbnN0YW5jZS5zcGxpdCgiQSIhPT0idTAwNDEiLCBmdW5jdGlvbigpe3JldHVybiAwO30oKSxudWxsKTsgdHlwZW9mIF9fc3BsaXQgPT09ICJvYmplY3QiLiBBY3R1YWw6ICcrdHlwZW9mIF9fc3BsaXQgKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzIKaWYgKF9fc3BsaXQuY29uc3RydWN0b3IgIT09IEFycmF5KSB7CiAgJEVSUk9SKCcjMjogX19pbnN0YW5jZSA9IG5ldyBCb29sZWFuOyBfX2luc3RhbmNlLnNwbGl0ID0gU3RyaW5nLnByb3RvdHlwZS5zcGxpdDsgX19zcGxpdCA9IF9faW5zdGFuY2Uuc3BsaXQoIkEiIT09InUwMDQxIiwgZnVuY3Rpb24oKXtyZXR1cm4gMDt9KCksbnVsbCk7IF9fc3BsaXQuY29uc3RydWN0b3IgPT09IEFycmF5LiBBY3R1YWw6ICcrX19zcGxpdC5jb25zdHJ1Y3RvciApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMwppZiAoX19zcGxpdC5sZW5ndGggIT09IDApIHsKICAkRVJST1IoJyMzOiBfX2luc3RhbmNlID0gbmV3IEJvb2xlYW47IF9faW5zdGFuY2Uuc3BsaXQgPSBTdHJpbmcucHJvdG90eXBlLnNwbGl0OyBfX3NwbGl0ID0gX19pbnN0YW5jZS5zcGxpdCgiQSIhPT0idTAwNDEiLCBmdW5jdGlvbigpe3JldHVybiAwO30oKSxudWxsKTsgX19zcGxpdC5sZW5ndGggPT09IDAuIEFjdHVhbDogJytfX3NwbGl0Lmxlbmd0aCApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"String.prototype.split(separator, limit):\ni) can be transferred to other kinds of objects for use as a method.\nseparator and limit can be any kinds of object since:\nii) if separator is not RegExp ToString(separator) performs and\niii) ToInteger(limit) performs","description":"Arguments are boolean expression, function call and null, and instance is Boolean","path":"TestCases/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnNwbGl0KHNlcGFyYXRvciwgbGltaXQpOgogKiBpKSBjYW4gYmUgdHJhbnNmZXJyZWQgdG8gb3RoZXIga2luZHMgb2Ygb2JqZWN0cyBmb3IgdXNlIGFzIGEgbWV0aG9kLgogKiBzZXBhcmF0b3IgYW5kIGxpbWl0IGNhbiBiZSBhbnkga2luZHMgb2Ygb2JqZWN0IHNpbmNlOgogKiBpaSkgaWYgc2VwYXJhdG9yIGlzIG5vdCBSZWdFeHAgVG9TdHJpbmcoc2VwYXJhdG9yKSBwZXJmb3JtcyBhbmQKICogaWlpKSBUb0ludGVnZXIobGltaXQpIHBlcmZvcm1zCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjE0L1MxNS41LjQuMTRfQTFfVDMuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGJ5IHVzaW5nIGV2YWwKICovCgp2YXIgc3BsaXQgPSBTdHJpbmcucHJvdG90eXBlLnNwbGl0LmJpbmQodGhpcyk7Cgp2YXIgX19vYmpfX2xpbSA9IHt2YWx1ZU9mOmZ1bmN0aW9uKCl7cmV0dXJuIDU7fX07Cgp0cnkgewogICAgdG9TdHJpbmcgPSBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nOwp9IGNhdGNoKGUpIHsgOyB9CgovL0NoZWNrcyBhcmUgb25seSB2YWxpZCBpZiB3ZSBjYW4gb3ZlcndyaXRlIHRoZSBnbG9iYWwgb2JqZWN0J3MgdG9TdHJpbmcgbWV0aG9kCi8vKHdoaWNoIEVTNSBkb2Vzbid0IGV2ZW4gcmVxdWlyZSB0byBleGlzdCkKaWYgKHRvU3RyaW5nPT09T2JqZWN0LnByb3RvdHlwZS50b1N0cmluZykgewogICAgdmFyIF9fY2xhc3NfXyA9IHRvU3RyaW5nKCk7CgogICAgdmFyIF9fc3BsaXQgPSBzcGxpdChldmFsKCJcIltcIiIpLF9fb2JqX19saW0pOwoKICAgIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwogICAgLy9DSEVDSyMxCiAgICBpZiAodHlwZW9mIF9fc3BsaXQgIT09ICJvYmplY3QiKSB7CiAgICAgICAgJEVSUk9SKCcjMTogdHlwZW9mIF9fc3BsaXQgPT09ICJvYmplY3QiLiBBY3R1YWw6ICcrdHlwZW9mIF9fc3BsaXQgKTsKICAgIH0KICAgIC8vCiAgICAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KICAgIAogICAgLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCiAgICAvL0NIRUNLIzIKICAgIGlmIChfX3NwbGl0LmNvbnN0cnVjdG9yICE9PSBBcnJheSkgewogICAgICAgICRFUlJPUignIzI6IF9fc3BsaXQuY29uc3RydWN0b3IgPT09IEFycmF5LiBBY3R1YWw6ICcrX19zcGxpdC5jb25zdHJ1Y3RvciApOwogICAgfQogICAgLy8KICAgIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwogICAgCiAgICAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KICAgIC8vQ0hFQ0sjMwogICAgaWYgKF9fc3BsaXQubGVuZ3RoICE9PSAyKSB7CiAgICAgICAgJEVSUk9SKCcjMzogX19zcGxpdC5sZW5ndGggPT09IDIuIEFjdHVhbDogJytfX3NwbGl0Lmxlbmd0aCApOwogICAgfQogICAgLy8KICAgIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwogICAgCiAgICAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KICAgIC8vQ0hFQ0sjMwogICAgaWYgKF9fc3BsaXRbMV0uc3Vic3RyaW5nKDAsNikgIT09ICJvYmplY3QiKSB7CiAgICAgICAgJEVSUk9SKCcjNDogX19zcGxpdFsxXS5zdWJzdHJpbmcoMCw2KSA9PT0gIm9iamVjdCIuIEFjdHVhbDogJytfX3NwbGl0WzFdLnN1YnN0cmluZygwLDYpICk7CiAgICB9CiAgICAvLwogICAgLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCn0K","commentary":"String.prototype.split(separator, limit):\ni) can be transferred to other kinds of objects for use as a method.\nseparator and limit can be any kinds of object since:\nii) if separator is not RegExp ToString(separator) performs and\niii) ToInteger(limit) performs","description":"Checking by using eval","path":"TestCases/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A1_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnNwbGl0KHNlcGFyYXRvciwgbGltaXQpOgogKiBpKSBjYW4gYmUgdHJhbnNmZXJyZWQgdG8gb3RoZXIga2luZHMgb2Ygb2JqZWN0cyBmb3IgdXNlIGFzIGEgbWV0aG9kLgogKiBzZXBhcmF0b3IgYW5kIGxpbWl0IGNhbiBiZSBhbnkga2luZHMgb2Ygb2JqZWN0IHNpbmNlOgogKiBpaSkgaWYgc2VwYXJhdG9yIGlzIG5vdCBSZWdFeHAgVG9TdHJpbmcoc2VwYXJhdG9yKSBwZXJmb3JtcyBhbmQKICogaWlpKSBUb0ludGVnZXIobGltaXQpIHBlcmZvcm1zCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjE0L1MxNS41LjQuMTRfQTFfVDQuanMKICogQGRlc2NyaXB0aW9uIENhbGwgc3BsaXQgd2l0aG91dCBhcmd1bWVudHMsIGFuZCBpbnN0YW5jZSBpcyBlbXB0eSBzdHJpbmcKICovCgovL3NpbmNlIFRvU3RyaW5nKCkgZXZhbHVhdGVzIHRvICIiIHNwbGl0KCkgZXZhbHVhdGVzIHRvIHNwbGl0KCIiLDApCnZhciBfX3NwbGl0ID0gIiIuc3BsaXQoKTsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKHR5cGVvZiBfX3NwbGl0ICE9PSAib2JqZWN0IikgewogICRFUlJPUignIzE6IF9fc3BsaXQgPSAiIi5zcGxpdCgpOyB0eXBlb2YgX19zcGxpdCA9PT0gIm9iamVjdCIuIEFjdHVhbDogJyt0eXBlb2YgX19zcGxpdCApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMgppZiAoX19zcGxpdC5jb25zdHJ1Y3RvciAhPT0gQXJyYXkpIHsKICAkRVJST1IoJyMyOiBfX3NwbGl0ID0gIiIuc3BsaXQoKTsgX19zcGxpdC5jb25zdHJ1Y3RvciA9PT0gQXJyYXkuIEFjdHVhbDogJytfX3NwbGl0LmNvbnN0cnVjdG9yICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMzCmlmIChfX3NwbGl0Lmxlbmd0aCAhPT0gMSkgewogICRFUlJPUignIzM6IF9fc3BsaXQgPSAiIi5zcGxpdCgpOyBfX3NwbGl0Lmxlbmd0aCA9PT0gMS4gQWN0dWFsOiAnK19fc3BsaXQubGVuZ3RoICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyM0CmlmIChfX3NwbGl0WzBdICE9PSAiIikgewogICRFUlJPUignIzQ6IF9fc3BsaXQgPSAiIi5zcGxpdCgpOyBfX3NwbGl0WzBdID09PSAiIi4gQWN0dWFsOiAnK19fc3BsaXRbMF0gKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"String.prototype.split(separator, limit):\ni) can be transferred to other kinds of objects for use as a method.\nseparator and limit can be any kinds of object since:\nii) if separator is not RegExp ToString(separator) performs and\niii) ToInteger(limit) performs","description":"Call split without arguments, and instance is empty string","path":"TestCases/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A1_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnNwbGl0KHNlcGFyYXRvciwgbGltaXQpOgogKiBpKSBjYW4gYmUgdHJhbnNmZXJyZWQgdG8gb3RoZXIga2luZHMgb2Ygb2JqZWN0cyBmb3IgdXNlIGFzIGEgbWV0aG9kLgogKiBzZXBhcmF0b3IgYW5kIGxpbWl0IGNhbiBiZSBhbnkga2luZHMgb2Ygb2JqZWN0IHNpbmNlOgogKiBpaSkgaWYgc2VwYXJhdG9yIGlzIG5vdCBSZWdFeHAgVG9TdHJpbmcoc2VwYXJhdG9yKSBwZXJmb3JtcyBhbmQKICogaWlpKSBUb0ludGVnZXIobGltaXQpIHBlcmZvcm1zCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjE0L1MxNS41LjQuMTRfQTFfVDUuanMKICogQGRlc2NyaXB0aW9uIEFyZ3VtZW50IGlzIG51bGwsIGFuZCBpbnN0YW5jZSBpcyBmdW5jdGlvbiBjYWxsIHRoYXQgcmV0dXJuZWQgc3RyaW5nCiAqLwoKLy9zaW5jZSBUb1N0cmluZyhudWxsKSBldmFsdWF0ZXMgdG8gIm51bGwiIHNwbGl0KG51bGwpIGV2YWx1YXRlcyB0byBzcGxpdCgibnVsbCIsMCkKdmFyIF9fc3BsaXQgPSBmdW5jdGlvbigpe3JldHVybiAiZ251bGx1bmEifSgpLnNwbGl0KG51bGwpOwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAodHlwZW9mIF9fc3BsaXQgIT09ICJvYmplY3QiKSB7CiAgJEVSUk9SKCcjMTogX19zcGxpdCA9IGZ1bmN0aW9uKCl7cmV0dXJuICJnbnVsbHVuYSJ9KCkuc3BsaXQobnVsbCk7IHR5cGVvZiBfX3NwbGl0ID09PSAib2JqZWN0Ii4gQWN0dWFsOiAnK3R5cGVvZiBfX3NwbGl0ICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMyCmlmIChfX3NwbGl0LmNvbnN0cnVjdG9yICE9PSBBcnJheSkgewogICRFUlJPUignIzI6IF9fc3BsaXQgPSBmdW5jdGlvbigpe3JldHVybiAiZ251bGx1bmEifSgpLnNwbGl0KG51bGwpOyBfX3NwbGl0LmNvbnN0cnVjdG9yID09PSBBcnJheS4gQWN0dWFsOiAnK19fc3BsaXQuY29uc3RydWN0b3IgKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzMKaWYgKF9fc3BsaXQubGVuZ3RoICE9PSAyKSB7CiAgJEVSUk9SKCcjMzogX19zcGxpdCA9IGZ1bmN0aW9uKCl7cmV0dXJuICJnbnVsbHVuYSJ9KCkuc3BsaXQobnVsbCk7IF9fc3BsaXQubGVuZ3RoID09PSAyLiBBY3R1YWw6ICcrX19zcGxpdC5sZW5ndGggKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzQKaWYgKF9fc3BsaXRbMF0gIT09ICJnIikgewogICRFUlJPUignIzQ6IF9fc3BsaXQgPSBmdW5jdGlvbigpe3JldHVybiAiZ251bGx1bmEifSgpLnNwbGl0KG51bGwpOyBfX3NwbGl0WzBdID09PSAiZyIuIEFjdHVhbDogJytfX3NwbGl0WzBdICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyM1CmlmIChfX3NwbGl0WzFdICE9PSAidW5hIikgewogICRFUlJPUignIzU6IF9fc3BsaXQgPSBmdW5jdGlvbigpe3JldHVybiAiZ251bGx1bmEifSgpLnNwbGl0KG51bGwpOyBfX3NwbGl0WzFdID09PSAidW5hIi4gQWN0dWFsOiAnK19fc3BsaXRbMV0gKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"String.prototype.split(separator, limit):\ni) can be transferred to other kinds of objects for use as a method.\nseparator and limit can be any kinds of object since:\nii) if separator is not RegExp ToString(separator) performs and\niii) ToInteger(limit) performs","description":"Argument is null, and instance is function call that returned string","path":"TestCases/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A1_T5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnNwbGl0KHNlcGFyYXRvciwgbGltaXQpOgogKiBpKSBjYW4gYmUgdHJhbnNmZXJyZWQgdG8gb3RoZXIga2luZHMgb2Ygb2JqZWN0cyBmb3IgdXNlIGFzIGEgbWV0aG9kLgogKiBzZXBhcmF0b3IgYW5kIGxpbWl0IGNhbiBiZSBhbnkga2luZHMgb2Ygb2JqZWN0IHNpbmNlOgogKiBpaSkgaWYgc2VwYXJhdG9yIGlzIG5vdCBSZWdFeHAgVG9TdHJpbmcoc2VwYXJhdG9yKSBwZXJmb3JtcyBhbmQKICogaWlpKSBUb0ludGVnZXIobGltaXQpIHBlcmZvcm1zCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjE0L1MxNS41LjQuMTRfQTFfVDYuanMKICogQGRlc2NyaXB0aW9uIEFyZ3VtZW50IGlzIHgsIGFuZCBpbnN0YW5jZSBpcyBuZXcgU3RyaW5nLiB4IGlzIHVuZGVmaW5lZCB2YXJpYWJsZQogKi8KCi8vc2luY2UgVG9TdHJpbmcodW5kZWZpbmVkKSBldmFsdWF0ZXMgdG8gIiIgc3BsaXQodW5kZWZpbmVkKSBldmFsdWF0ZXMgdG8gc3BsaXQoIiIsMCkKdmFyIF9fc3BsaXQgPSBuZXcgU3RyaW5nKCIxdW5kZWZpbmVkIikuc3BsaXQoeCk7CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmICh0eXBlb2YgX19zcGxpdCAhPT0gIm9iamVjdCIpIHsKICAkRVJST1IoJyMxOiB2YXIgeDsgX19zcGxpdCA9IG5ldyBTdHJpbmcoIjF1bmRlZmluZWQiKS5zcGxpdCh4KTsgdHlwZW9mIF9fc3BsaXQgPT09ICJvYmplY3QiLiBBY3R1YWw6ICcrdHlwZW9mIF9fc3BsaXQgKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzIKaWYgKF9fc3BsaXQuY29uc3RydWN0b3IgIT09IEFycmF5KSB7CiAgJEVSUk9SKCcjMjogdmFyIHg7IF9fc3BsaXQgPSBuZXcgU3RyaW5nKCIxdW5kZWZpbmVkIikuc3BsaXQoeCk7IF9fc3BsaXQuY29uc3RydWN0b3IgPT09IEFycmF5LiBBY3R1YWw6ICcrX19zcGxpdC5jb25zdHJ1Y3RvciApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMwppZiAoX19zcGxpdC5sZW5ndGggIT09IDEpIHsKICAkRVJST1IoJyMzOiB2YXIgeDsgX19zcGxpdCA9IG5ldyBTdHJpbmcoIjF1bmRlZmluZWQiKS5zcGxpdCh4KTsgX19zcGxpdC5sZW5ndGggPT09IDEuIEFjdHVhbDogJytfX3NwbGl0Lmxlbmd0aCApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjNAppZiAoX19zcGxpdFswXSAhPT0gIjF1bmRlZmluZWQiKSB7CiAgJEVSUk9SKCcjNDogdmFyIHg7IF9fc3BsaXQgPSBuZXcgU3RyaW5nKCIxdW5kZWZpbmVkIikuc3BsaXQoeCk7IF9fc3BsaXRbMF0gPT09ICIxdW5kZWZpbmVkIi4gQWN0dWFsOiAnK19fc3BsaXRbMF0gKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCnZhciB4OwoK","commentary":"String.prototype.split(separator, limit):\ni) can be transferred to other kinds of objects for use as a method.\nseparator and limit can be any kinds of object since:\nii) if separator is not RegExp ToString(separator) performs and\niii) ToInteger(limit) performs","description":"Argument is x, and instance is new String. x is undefined variable","path":"TestCases/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A1_T6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnNwbGl0KHNlcGFyYXRvciwgbGltaXQpOgogKiBpKSBjYW4gYmUgdHJhbnNmZXJyZWQgdG8gb3RoZXIga2luZHMgb2Ygb2JqZWN0cyBmb3IgdXNlIGFzIGEgbWV0aG9kLgogKiBzZXBhcmF0b3IgYW5kIGxpbWl0IGNhbiBiZSBhbnkga2luZHMgb2Ygb2JqZWN0IHNpbmNlOgogKiBpaSkgaWYgc2VwYXJhdG9yIGlzIG5vdCBSZWdFeHAgVG9TdHJpbmcoc2VwYXJhdG9yKSBwZXJmb3JtcyBhbmQKICogaWlpKSBUb0ludGVnZXIobGltaXQpIHBlcmZvcm1zCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjE0L1MxNS41LjQuMTRfQTFfVDcuanMKICogQGRlc2NyaXB0aW9uIEFyZ3VtZW50IGlzIHVuZGVmaW5lZCwgYW5kIGluc3RhbmNlIGlzIFN0cmluZwogKi8KCnZhciBfX3NwbGl0ID0gU3RyaW5nKCJ1bmRlZmluZWRkIikuc3BsaXQodW5kZWZpbmVkKTsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKHR5cGVvZiBfX3NwbGl0ICE9PSAib2JqZWN0IikgewogICRFUlJPUignIzE6IF9fc3BsaXQgPSBTdHJpbmcoInVuZGVmaW5lZGQiKS5zcGxpdCh1bmRlZmluZWQpOyB0eXBlb2YgX19zcGxpdCA9PT0gIm9iamVjdCIuIEFjdHVhbDogJyt0eXBlb2YgX19zcGxpdCApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMgppZiAoX19zcGxpdC5jb25zdHJ1Y3RvciAhPT0gQXJyYXkpIHsKICAkRVJST1IoJyMyOiBfX3NwbGl0ID0gU3RyaW5nKCJ1bmRlZmluZWRkIikuc3BsaXQodW5kZWZpbmVkKTsgX19zcGxpdC5jb25zdHJ1Y3RvciA9PT0gQXJyYXkuIEFjdHVhbDogJytfX3NwbGl0LmNvbnN0cnVjdG9yICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMzCmlmIChfX3NwbGl0Lmxlbmd0aCAhPT0gMSkgewogICRFUlJPUignIzM6IF9fc3BsaXQgPSBTdHJpbmcoInVuZGVmaW5lZGQiKS5zcGxpdCh1bmRlZmluZWQpOyBfX3NwbGl0Lmxlbmd0aCA9PT0gMS4gQWN0dWFsOiAnK19fc3BsaXQubGVuZ3RoICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyM0CmlmIChfX3NwbGl0WzBdICE9PSAidW5kZWZpbmVkZCIpIHsKICAkRVJST1IoJyM0OiBfX3NwbGl0ID0gU3RyaW5nKCJ1bmRlZmluZWRkIikuc3BsaXQodW5kZWZpbmVkKTsgX19zcGxpdFswXSA9PT0gInVuZGVmaW5lZGQiLiBBY3R1YWw6ICcrX19zcGxpdFswXSApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwo=","commentary":"String.prototype.split(separator, limit):\ni) can be transferred to other kinds of objects for use as a method.\nseparator and limit can be any kinds of object since:\nii) if separator is not RegExp ToString(separator) performs and\niii) ToInteger(limit) performs","description":"Argument is undefined, and instance is String","path":"TestCases/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A1_T7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnNwbGl0KHNlcGFyYXRvciwgbGltaXQpOgogKiBpKSBjYW4gYmUgdHJhbnNmZXJyZWQgdG8gb3RoZXIga2luZHMgb2Ygb2JqZWN0cyBmb3IgdXNlIGFzIGEgbWV0aG9kLgogKiBzZXBhcmF0b3IgYW5kIGxpbWl0IGNhbiBiZSBhbnkga2luZHMgb2Ygb2JqZWN0IHNpbmNlOgogKiBpaSkgaWYgc2VwYXJhdG9yIGlzIG5vdCBSZWdFeHAgVG9TdHJpbmcoc2VwYXJhdG9yKSBwZXJmb3JtcyBhbmQKICogaWlpKSBUb0ludGVnZXIobGltaXQpIHBlcmZvcm1zCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjE0L1MxNS41LjQuMTRfQTFfVDguanMKICogQGRlc2NyaXB0aW9uIEFyZ3VtZW50IGlzIHZvaWQgMCwgYW5kIGluc3RhbmNlIGlzIFN0cmluZyhvYmplY3QpLCBvYmplY3QgaGF2ZSBvdmVycmlkZWQgdG9TdHJpbmcgZnVuY3Rpb24KICovCgp2YXIgX19vYmogPSB7dG9TdHJpbmc6ZnVuY3Rpb24oKXt9fTsKCnZhciBfX3NwbGl0ID0gU3RyaW5nKF9fb2JqKS5zcGxpdCh2b2lkIDApOwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAodHlwZW9mIF9fc3BsaXQgIT09ICJvYmplY3QiKSB7CiAgJEVSUk9SKCcjMTogX19vYmogPSB7dG9TdHJpbmc6ZnVuY3Rpb24oKXt9fTsgX19zcGxpdCA9IFN0cmluZyhfX29iaikuc3BsaXQodm9pZCAwKTsgdHlwZW9mIF9fc3BsaXQgPT09ICJvYmplY3QiLiBBY3R1YWw6ICcrdHlwZW9mIF9fc3BsaXQgKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzIKaWYgKF9fc3BsaXQuY29uc3RydWN0b3IgIT09IEFycmF5KSB7CiAgJEVSUk9SKCcjMjogX19vYmogPSB7dG9TdHJpbmc6ZnVuY3Rpb24oKXt9fTsgX19zcGxpdCA9IFN0cmluZyhfX29iaikuc3BsaXQodm9pZCAwKTsgX19zcGxpdC5jb25zdHJ1Y3RvciA9PT0gQXJyYXkuIEFjdHVhbDogJytfX3NwbGl0LmNvbnN0cnVjdG9yICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMzCmlmIChfX3NwbGl0Lmxlbmd0aCAhPT0gMSkgewogICRFUlJPUignIzM6IF9fb2JqID0ge3RvU3RyaW5nOmZ1bmN0aW9uKCl7fX07IF9fc3BsaXQgPSBTdHJpbmcoX19vYmopLnNwbGl0KHZvaWQgMCk7IF9fc3BsaXQubGVuZ3RoID09PSAxLiBBY3R1YWw6ICcrX19zcGxpdC5sZW5ndGggKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzQKaWYgKF9fc3BsaXRbMF0gIT09ICJ1bmRlZmluZWQiKSB7CiAgJEVSUk9SKCcjNDogX19vYmogPSB7dG9TdHJpbmc6ZnVuY3Rpb24oKXt9fTsgX19zcGxpdCA9IFN0cmluZyhfX29iaikuc3BsaXQodm9pZCAwKTsgX19zcGxpdFswXSAhPT0gInVuZGVmaW5lZCIuIEFjdHVhbDogJytfX3NwbGl0WzBdKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8K","commentary":"String.prototype.split(separator, limit):\ni) can be transferred to other kinds of objects for use as a method.\nseparator and limit can be any kinds of object since:\nii) if separator is not RegExp ToString(separator) performs and\niii) ToInteger(limit) performs","description":"Argument is void 0, and instance is String(object), object have overrided toString function","path":"TestCases/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A1_T8.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnNwbGl0KHNlcGFyYXRvciwgbGltaXQpOgogKiBpKSBjYW4gYmUgdHJhbnNmZXJyZWQgdG8gb3RoZXIga2luZHMgb2Ygb2JqZWN0cyBmb3IgdXNlIGFzIGEgbWV0aG9kLgogKiBzZXBhcmF0b3IgYW5kIGxpbWl0IGNhbiBiZSBhbnkga2luZHMgb2Ygb2JqZWN0IHNpbmNlOgogKiBpaSkgaWYgc2VwYXJhdG9yIGlzIG5vdCBSZWdFeHAgVG9TdHJpbmcoc2VwYXJhdG9yKSBwZXJmb3JtcyBhbmQKICogaWlpKSBUb0ludGVnZXIobGltaXQpIHBlcmZvcm1zCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjE0L1MxNS41LjQuMTRfQTFfVDkuanMKICogQGRlc2NyaXB0aW9uIEFyZ3VtZW50IGlzIGZ1bmN0aW9uKCl7fSgpLCBhbmQgaW5zdGFuY2UgaXMgU3RyaW5nKG9iamVjdCksIG9iamVjdCBoYXZlIG92ZXJyaWRlZCB0b1N0cmluZyBhbmQgdmFsdWVPZiBmdW5jdGlvbnMKICovCgp2YXIgX19vYmogPSB7CiAgICB2YWx1ZU9mOmZ1bmN0aW9uKCl7fSwKICAgIHRvU3RyaW5nOnZvaWQgMAp9OwoKLy9zaW5jZSBUb1N0cmluZyh1bmRlZmluZWQpIGV2YWx1YXRlcyB0byAidW5kZWZpbmVkIgp2YXIgX19zcGxpdCA9IG5ldyBTdHJpbmcoX19vYmopLnNwbGl0KGZ1bmN0aW9uKCl7fSgpKTsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKHR5cGVvZiBfX3NwbGl0ICE9PSAib2JqZWN0IikgewogICRFUlJPUignIzE6IF9fb2JqID0ge3ZhbHVlT2Y6ZnVuY3Rpb24oKXt9LCB0b1N0cmluZzp2b2lkIDB9OyBfX3NwbGl0ID0gbmV3IFN0cmluZyhfX29iaikuc3BsaXQoZnVuY3Rpb24oKXt9KCkpOyB0eXBlb2YgX19zcGxpdCA9PT0gIm9iamVjdCIuIEFjdHVhbDogJyt0eXBlb2YgX19zcGxpdCApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMgppZiAoX19zcGxpdC5jb25zdHJ1Y3RvciAhPT0gQXJyYXkpIHsKICAkRVJST1IoJyMyOiBfX29iaiA9IHt2YWx1ZU9mOmZ1bmN0aW9uKCl7fSwgdG9TdHJpbmc6dm9pZCAwfTsgX19zcGxpdCA9IG5ldyBTdHJpbmcoX19vYmopLnNwbGl0KGZ1bmN0aW9uKCl7fSgpKTsgX19zcGxpdC5jb25zdHJ1Y3RvciA9PT0gQXJyYXkuIEFjdHVhbDogJytfX3NwbGl0LmNvbnN0cnVjdG9yICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMzCmlmIChfX3NwbGl0Lmxlbmd0aCAhPT0gMSkgewogICRFUlJPUignIzM6IF9fb2JqID0ge3ZhbHVlT2Y6ZnVuY3Rpb24oKXt9LCB0b1N0cmluZzp2b2lkIDB9OyBfX3NwbGl0ID0gbmV3IFN0cmluZyhfX29iaikuc3BsaXQoZnVuY3Rpb24oKXt9KCkpOyBfX3NwbGl0Lmxlbmd0aCA9PT0gMS4gQWN0dWFsOiAnK19fc3BsaXQubGVuZ3RoICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyM0CmlmIChfX3NwbGl0WzBdICE9PSAidW5kZWZpbmVkIikgewogICRFUlJPUignIzQ6IF9fb2JqID0ge3ZhbHVlT2Y6ZnVuY3Rpb24oKXt9LCB0b1N0cmluZzp2b2lkIDB9OyBfX3NwbGl0ID0gbmV3IFN0cmluZyhfX29iaikuc3BsaXQoZnVuY3Rpb24oKXt9KCkpOyBfX3NwbGl0WzBdICE9PSAidW5kZWZpbmVkIi4gQWN0dWFsOiAnK19fc3BsaXRbMF0pOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"String.prototype.split(separator, limit):\ni) can be transferred to other kinds of objects for use as a method.\nseparator and limit can be any kinds of object since:\nii) if separator is not RegExp ToString(separator) performs and\niii) ToInteger(limit) performs","description":"Argument is function(){}(), and instance is String(object), object have overrided toString and valueOf functions","path":"TestCases/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A1_T9.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnNwbGl0IChzZXBhcmF0b3IsIGxpbWl0KSByZXR1cm5zIGFuIEFycmF5IG9iamVjdCBpbnRvIHdoaWNoIHN1YnN0cmluZ3Mgb2YgdGhlIHJlc3VsdCBvZiBjb252ZXJ0aW5nIHRoaXMgb2JqZWN0IHRvIGEgc3RyaW5nIGhhdmUKICogYmVlbiBzdG9yZWQuIFRoZSBzdWJzdHJpbmdzIGFyZSBkZXRlcm1pbmVkIGJ5IHNlYXJjaGluZyBmcm9tIGxlZnQgdG8gcmlnaHQgZm9yIG9jY3VycmVuY2VzIG9mCiAqIHNlcGFyYXRvcjsgdGhlc2Ugb2NjdXJyZW5jZXMgYXJlIG5vdCBwYXJ0IG9mIGFueSBzdWJzdHJpbmcgaW4gdGhlIHJldHVybmVkIGFycmF5LCBidXQgc2VydmUgdG8gZGl2aWRlIHVwCiAqIHRoZSBzdHJpbmcgdmFsdWUuIFRoZSB2YWx1ZSBvZiBzZXBhcmF0b3IgbWF5IGJlIGEgc3RyaW5nIG9mIGFueSBsZW5ndGggb3IgaXQgbWF5IGJlIGEgUmVnRXhwIG9iamVjdAogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS40LzE1LjUuNC4xNC9TMTUuNS40LjE0X0EyX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBDYWxsIHNwbGl0KCIsIiksIGluc3RhbmNlIGlzIFN0cmluZygib25lLHR3byx0aHJlZSxmb3VyLGZpdmUiKQogKi8KCnZhciBfX3N0cmluZyA9IG5ldyBTdHJpbmcoIm9uZSx0d28sdGhyZWUsZm91cixmaXZlIik7Cgp2YXIgX19zcGxpdCA9IF9fc3RyaW5nLnNwbGl0KCIsIik7CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmIChfX3NwbGl0LmNvbnN0cnVjdG9yICE9PSBBcnJheSkgewogICRFUlJPUignIzE6IHZhciBfX3N0cmluZyA9IG5ldyBTdHJpbmcoIm9uZSx0d28sdGhyZWUsZm91cixmaXZlIik7IF9fc3BsaXQgPSBfX3N0cmluZy5zcGxpdCgiLCIpOyBfX3NwbGl0LmNvbnN0cnVjdG9yID09PSBBcnJheS4gQWN0dWFsOiAnK19fc3BsaXQuY29uc3RydWN0b3IgKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzIKaWYgKF9fc3BsaXQubGVuZ3RoICE9PSA1KSB7CiAgJEVSUk9SKCcjMjogdmFyIF9fc3RyaW5nID0gbmV3IFN0cmluZygib25lLHR3byx0aHJlZSxmb3VyLGZpdmUiKTsgX19zcGxpdCA9IF9fc3RyaW5nLnNwbGl0KCIsIik7IF9fc3BsaXQubGVuZ3RoID09PSA1LiBBY3R1YWw6ICcrX19zcGxpdC5sZW5ndGggKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzMKaWYgKF9fc3BsaXRbMF0gIT09ICJvbmUiKSB7CiAgJEVSUk9SKCcjMzogdmFyIF9fc3RyaW5nID0gbmV3IFN0cmluZygib25lLHR3byx0aHJlZSxmb3VyLGZpdmUiKTsgX19zcGxpdCA9IF9fc3RyaW5nLnNwbGl0KCIsIik7IF9fc3BsaXRbMF0gPT09ICJvbmUiLiBBY3R1YWw6ICcrX19zcGxpdFswXSApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjNAppZiAoX19zcGxpdFsxXSAhPT0gInR3byIpIHsKICAkRVJST1IoJyM0OiB2YXIgX19zdHJpbmcgPSBuZXcgU3RyaW5nKCJvbmUsdHdvLHRocmVlLGZvdXIsZml2ZSIpOyBfX3NwbGl0ID0gX19zdHJpbmcuc3BsaXQoIiwiKTsgX19zcGxpdFsxXSA9PT0gInR3byIuIEFjdHVhbDogJytfX3NwbGl0WzFdICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyM1CmlmIChfX3NwbGl0WzJdICE9PSAidGhyZWUiKSB7CiAgJEVSUk9SKCcjNTogdmFyIF9fc3RyaW5nID0gbmV3IFN0cmluZygib25lLHR3byx0aHJlZSxmb3VyLGZpdmUiKTsgX19zcGxpdCA9IF9fc3RyaW5nLnNwbGl0KCIsIik7IF9fc3BsaXRbMl0gPT09ICJ0aHJlZSIuIEFjdHVhbDogJytfX3NwbGl0WzJdICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyM2CmlmIChfX3NwbGl0WzNdICE9PSAiZm91ciIpIHsKICAkRVJST1IoJyM2OiB2YXIgX19zdHJpbmcgPSBuZXcgU3RyaW5nKCJvbmUsdHdvLHRocmVlLGZvdXIsZml2ZSIpOyBfX3NwbGl0ID0gX19zdHJpbmcuc3BsaXQoIiwiKTsgX19zcGxpdFszXSA9PT0gImZvdXIiLiBBY3R1YWw6ICcrX19zcGxpdFszXSApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjNwppZiAoX19zcGxpdFs0XSAhPT0gImZpdmUiKSB7CiAgJEVSUk9SKCcjNzogdmFyIF9fc3RyaW5nID0gbmV3IFN0cmluZygib25lLHR3byx0aHJlZSxmb3VyLGZpdmUiKTsgX19zcGxpdCA9IF9fc3RyaW5nLnNwbGl0KCIsIik7IF9fc3BsaXRbNF0gPT09ICJmaXZlIi4gQWN0dWFsOiAnK19fc3BsaXRbNF0gKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"String.prototype.split (separator, limit) returns an Array object into which substrings of the result of converting this object to a string have\nbeen stored. The substrings are determined by searching from left to right for occurrences of\nseparator; these occurrences are not part of any substring in the returned array, but serve to divide up\nthe string value. The value of separator may be a string of any length or it may be a RegExp object","description":"Call split(\",\"), instance is String(\"one,two,three,four,five\")","path":"TestCases/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnNwbGl0IChzZXBhcmF0b3IsIGxpbWl0KSByZXR1cm5zIGFuIEFycmF5IG9iamVjdCBpbnRvIHdoaWNoIHN1YnN0cmluZ3Mgb2YgdGhlIHJlc3VsdCBvZiBjb252ZXJ0aW5nIHRoaXMgb2JqZWN0IHRvIGEgc3RyaW5nIGhhdmUKICogYmVlbiBzdG9yZWQuIFRoZSBzdWJzdHJpbmdzIGFyZSBkZXRlcm1pbmVkIGJ5IHNlYXJjaGluZyBmcm9tIGxlZnQgdG8gcmlnaHQgZm9yIG9jY3VycmVuY2VzIG9mCiAqIHNlcGFyYXRvcjsgdGhlc2Ugb2NjdXJyZW5jZXMgYXJlIG5vdCBwYXJ0IG9mIGFueSBzdWJzdHJpbmcgaW4gdGhlIHJldHVybmVkIGFycmF5LCBidXQgc2VydmUgdG8gZGl2aWRlIHVwCiAqIHRoZSBzdHJpbmcgdmFsdWUuIFRoZSB2YWx1ZSBvZiBzZXBhcmF0b3IgbWF5IGJlIGEgc3RyaW5nIG9mIGFueSBsZW5ndGggb3IgaXQgbWF5IGJlIGEgUmVnRXhwIG9iamVjdAogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS40LzE1LjUuNC4xNC9TMTUuNS40LjE0X0EyX1QxMC5qcwogKiBAZGVzY3JpcHRpb24gQ2FsbCBzcGxpdCgxMjMpLCBpbnN0YW5jZSBpcyAidGhpczEyM2lzMTIzYTEyM3N0cmluZzEyM29iamVjdCIKICovCgp2YXIgX19zdHJpbmcgPSAidGhpczEyM2lzMTIzYTEyM3N0cmluZzEyM29iamVjdCI7CnZhciBfX2V4cGVjdGVkID0gWyJ0aGlzIiwgImlzIiwgImEiLCAic3RyaW5nIiwgIm9iamVjdCJdOwoKdmFyIF9fc3BsaXQgPSBfX3N0cmluZy5zcGxpdCgxMjMpOwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAoX19zcGxpdC5jb25zdHJ1Y3RvciAhPT0gQXJyYXkpIHsKICAkRVJST1IoJyMxOiB2YXIgX19zdHJpbmcgPSAidGhpczEyM2lzMTIzYTEyM3N0cmluZzEyM29iamVjdCI7IHZhciBfX2V4cGVjdGVkID0gWyJ0aGlzIiwgImlzIiwgImEiLCAic3RyaW5nIiwgIm9iamVjdCJdOyBfX3NwbGl0ID0gX19zdHJpbmcuc3BsaXQoMTIzKTsgX19zcGxpdC5jb25zdHJ1Y3RvciA9PT0gQXJyYXkuIEFjdHVhbDogJytfX3NwbGl0LmNvbnN0cnVjdG9yICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMyCmlmIChfX3NwbGl0Lmxlbmd0aCAhPT0gX19leHBlY3RlZC5sZW5ndGgpIHsKICAkRVJST1IoJyMyOiB2YXIgX19zdHJpbmcgPSAidGhpczEyM2lzMTIzYTEyM3N0cmluZzEyM29iamVjdCI7IHZhciBfX2V4cGVjdGVkID0gWyJ0aGlzIiwgImlzIiwgImEiLCAic3RyaW5nIiwgIm9iamVjdCJdOyBfX3NwbGl0ID0gX19zdHJpbmcuc3BsaXQoMTIzKTsgX19zcGxpdC5sZW5ndGggPT09IF9fZXhwZWN0ZWQubGVuZ3RoLiBBY3R1YWw6ICcrX19zcGxpdC5sZW5ndGggKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzMKZm9yICggdmFyIGkgPSAwOyBpIDwgX19leHBlY3RlZC5sZW5ndGg7IGkrKyApIHsKICAgIGlmIChfX2V4cGVjdGVkW2ldIT09X19zcGxpdFtpXSkgewogICAgICAkRVJST1IoJyMzLicraSsnOiB2YXIgX19zdHJpbmcgPSAidGhpczEyM2lzMTIzYTEyM3N0cmluZzEyM29iamVjdCI7IHZhciBfX2V4cGVjdGVkID0gWyJ0aGlzIiwgImlzIiwgImEiLCAic3RyaW5nIiwgIm9iamVjdCJdOyBfX3NwbGl0ID0gX19zdHJpbmcuc3BsaXQoMTIzKTsgX19leHBlY3RlZFsnK2krJ109PT1fX3NwbGl0WycraSsnXS4gQWN0dWFsOiAnK19fZXhwZWN0ZWRbaV0pOwogICAgfQp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKCg==","commentary":"String.prototype.split (separator, limit) returns an Array object into which substrings of the result of converting this object to a string have\nbeen stored. The substrings are determined by searching from left to right for occurrences of\nseparator; these occurrences are not part of any substring in the returned array, but serve to divide up\nthe string value. The value of separator may be a string of any length or it may be a RegExp object","description":"Call split(123), instance is \"this123is123a123string123object\"","path":"TestCases/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A2_T10.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnNwbGl0IChzZXBhcmF0b3IsIGxpbWl0KSByZXR1cm5zIGFuIEFycmF5IG9iamVjdCBpbnRvIHdoaWNoIHN1YnN0cmluZ3Mgb2YgdGhlIHJlc3VsdCBvZiBjb252ZXJ0aW5nIHRoaXMgb2JqZWN0IHRvIGEgc3RyaW5nIGhhdmUKICogYmVlbiBzdG9yZWQuIFRoZSBzdWJzdHJpbmdzIGFyZSBkZXRlcm1pbmVkIGJ5IHNlYXJjaGluZyBmcm9tIGxlZnQgdG8gcmlnaHQgZm9yIG9jY3VycmVuY2VzIG9mCiAqIHNlcGFyYXRvcjsgdGhlc2Ugb2NjdXJyZW5jZXMgYXJlIG5vdCBwYXJ0IG9mIGFueSBzdWJzdHJpbmcgaW4gdGhlIHJldHVybmVkIGFycmF5LCBidXQgc2VydmUgdG8gZGl2aWRlIHVwCiAqIHRoZSBzdHJpbmcgdmFsdWUuIFRoZSB2YWx1ZSBvZiBzZXBhcmF0b3IgbWF5IGJlIGEgc3RyaW5nIG9mIGFueSBsZW5ndGggb3IgaXQgbWF5IGJlIGEgUmVnRXhwIG9iamVjdAogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS40LzE1LjUuNC4xNC9TMTUuNS40LjE0X0EyX1QxMS5qcwogKiBAZGVzY3JpcHRpb24gQ2FsbCBzcGxpdCgiOiIpLCBpbnN0YW5jZSBpcyBTdHJpbmcoIm9uZS0xLHR3by0yLGZvdXItNCIpCiAqLwoKdmFyIF9fc3RyaW5nID0gbmV3IFN0cmluZygib25lLTEsdHdvLTIsZm91ci00Iik7Cgp2YXIgX19zcGxpdCA9IF9fc3RyaW5nLnNwbGl0KCI6Iik7CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmIChfX3NwbGl0LmNvbnN0cnVjdG9yICE9PSBBcnJheSkgewogICRFUlJPUignIzE6IHZhciBfX3N0cmluZyA9IG5ldyBTdHJpbmcoIm9uZS0xLHR3by0yLGZvdXItNCIpOyBfX3NwbGl0ID0gX19zdHJpbmcuc3BsaXQoIjoiKTsgX19zcGxpdC5jb25zdHJ1Y3RvciA9PT0gQXJyYXkuIEFjdHVhbDogJytfX3NwbGl0LmNvbnN0cnVjdG9yICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMyCmlmIChfX3NwbGl0Lmxlbmd0aCAhPT0gMSkgewogICRFUlJPUignIzI6IHZhciBfX3N0cmluZyA9IG5ldyBTdHJpbmcoIm9uZS0xLHR3by0yLGZvdXItNCIpOyBfX3NwbGl0ID0gX19zdHJpbmcuc3BsaXQoIjoiKTsgX19zcGxpdC5sZW5ndGggPT09IDEuIEFjdHVhbDogJytfX3NwbGl0Lmxlbmd0aCApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMwppZiAoX19zcGxpdFswXSAhPT0gIm9uZS0xLHR3by0yLGZvdXItNCIpIHsKICAkRVJST1IoJyMzOiB2YXIgX19zdHJpbmcgPSBuZXcgU3RyaW5nKCJvbmUtMSx0d28tMixmb3VyLTQiKTsgX19zcGxpdCA9IF9fc3RyaW5nLnNwbGl0KCI6Iik7IF9fc3BsaXRbMF0gPT09ICJvbmUtMSx0d28tMixmb3VyLTQiLiBBY3R1YWw6ICcrX19zcGxpdFswXSApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"String.prototype.split (separator, limit) returns an Array object into which substrings of the result of converting this object to a string have\nbeen stored. The substrings are determined by searching from left to right for occurrences of\nseparator; these occurrences are not part of any substring in the returned array, but serve to divide up\nthe string value. The value of separator may be a string of any length or it may be a RegExp object","description":"Call split(\":\"), instance is String(\"one-1,two-2,four-4\")","path":"TestCases/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A2_T11.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnNwbGl0IChzZXBhcmF0b3IsIGxpbWl0KSByZXR1cm5zIGFuIEFycmF5IG9iamVjdCBpbnRvIHdoaWNoIHN1YnN0cmluZ3Mgb2YgdGhlIHJlc3VsdCBvZiBjb252ZXJ0aW5nIHRoaXMgb2JqZWN0IHRvIGEgc3RyaW5nIGhhdmUKICogYmVlbiBzdG9yZWQuIFRoZSBzdWJzdHJpbmdzIGFyZSBkZXRlcm1pbmVkIGJ5IHNlYXJjaGluZyBmcm9tIGxlZnQgdG8gcmlnaHQgZm9yIG9jY3VycmVuY2VzIG9mCiAqIHNlcGFyYXRvcjsgdGhlc2Ugb2NjdXJyZW5jZXMgYXJlIG5vdCBwYXJ0IG9mIGFueSBzdWJzdHJpbmcgaW4gdGhlIHJldHVybmVkIGFycmF5LCBidXQgc2VydmUgdG8gZGl2aWRlIHVwCiAqIHRoZSBzdHJpbmcgdmFsdWUuIFRoZSB2YWx1ZSBvZiBzZXBhcmF0b3IgbWF5IGJlIGEgc3RyaW5nIG9mIGFueSBsZW5ndGggb3IgaXQgbWF5IGJlIGEgUmVnRXhwIG9iamVjdAogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS40LzE1LjUuNC4xNC9TMTUuNS40LjE0X0EyX1QxMi5qcwogKiBAZGVzY3JpcHRpb24gQ2FsbCBzcGxpdCgici00MiIpLCBpbnN0YW5jZSBpcyBTdHJpbmcoIm9uZS0xIHR3by0yIGZvdXItNCIpCiAqLwoKdmFyIF9fc3RyaW5nID0gbmV3IFN0cmluZygib25lLTEgdHdvLTIgZm91ci00Iik7Cgp2YXIgX19zcGxpdCA9IF9fc3RyaW5nLnNwbGl0KCJyLTQyIik7CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmIChfX3NwbGl0LmNvbnN0cnVjdG9yICE9PSBBcnJheSkgewogICRFUlJPUignIzE6IHZhciBfX3N0cmluZyA9IG5ldyBTdHJpbmcoIm9uZS0xIHR3by0yIGZvdXItNCIpOyBfX3NwbGl0ID0gX19zdHJpbmcuc3BsaXQoInItNDIiKTsgX19zcGxpdC5jb25zdHJ1Y3RvciA9PT0gQXJyYXkuIEFjdHVhbDogJytfX3NwbGl0LmNvbnN0cnVjdG9yICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMyCmlmIChfX3NwbGl0Lmxlbmd0aCAhPT0gMSkgewogICRFUlJPUignIzI6IHZhciBfX3N0cmluZyA9IG5ldyBTdHJpbmcoIm9uZS0xIHR3by0yIGZvdXItNCIpOyBfX3NwbGl0ID0gX19zdHJpbmcuc3BsaXQoInItNDIiKTsgX19zcGxpdC5sZW5ndGggPT09IDEuIEFjdHVhbDogJytfX3NwbGl0Lmxlbmd0aCApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMwppZiAoX19zcGxpdFswXSAhPT0gIm9uZS0xIHR3by0yIGZvdXItNCIpIHsKICAkRVJST1IoJyMzOiB2YXIgX19zdHJpbmcgPSBuZXcgU3RyaW5nKCJvbmUtMSB0d28tMiBmb3VyLTQiKTsgX19zcGxpdCA9IF9fc3RyaW5nLnNwbGl0KCJyLTQyIik7IF9fc3BsaXRbMF0gPT09ICJvbmUtMSB0d28tMiBmb3VyLTQiLiBBY3R1YWw6ICcrX19zcGxpdFswXSApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"String.prototype.split (separator, limit) returns an Array object into which substrings of the result of converting this object to a string have\nbeen stored. The substrings are determined by searching from left to right for occurrences of\nseparator; these occurrences are not part of any substring in the returned array, but serve to divide up\nthe string value. The value of separator may be a string of any length or it may be a RegExp object","description":"Call split(\"r-42\"), instance is String(\"one-1 two-2 four-4\")","path":"TestCases/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A2_T12.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnNwbGl0IChzZXBhcmF0b3IsIGxpbWl0KSByZXR1cm5zIGFuIEFycmF5IG9iamVjdCBpbnRvIHdoaWNoIHN1YnN0cmluZ3Mgb2YgdGhlIHJlc3VsdCBvZiBjb252ZXJ0aW5nIHRoaXMgb2JqZWN0IHRvIGEgc3RyaW5nIGhhdmUKICogYmVlbiBzdG9yZWQuIFRoZSBzdWJzdHJpbmdzIGFyZSBkZXRlcm1pbmVkIGJ5IHNlYXJjaGluZyBmcm9tIGxlZnQgdG8gcmlnaHQgZm9yIG9jY3VycmVuY2VzIG9mCiAqIHNlcGFyYXRvcjsgdGhlc2Ugb2NjdXJyZW5jZXMgYXJlIG5vdCBwYXJ0IG9mIGFueSBzdWJzdHJpbmcgaW4gdGhlIHJldHVybmVkIGFycmF5LCBidXQgc2VydmUgdG8gZGl2aWRlIHVwCiAqIHRoZSBzdHJpbmcgdmFsdWUuIFRoZSB2YWx1ZSBvZiBzZXBhcmF0b3IgbWF5IGJlIGEgc3RyaW5nIG9mIGFueSBsZW5ndGggb3IgaXQgbWF5IGJlIGEgUmVnRXhwIG9iamVjdAogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS40LzE1LjUuNC4xNC9TMTUuNS40LjE0X0EyX1QxMy5qcwogKiBAZGVzY3JpcHRpb24gQ2FsbCBzcGxpdCgiLTQiKSwgaW5zdGFuY2UgaXMgU3RyaW5nKCJvbmUtMSB0d28tMiBmb3VyLTQiKQogKi8KCnZhciBfX3N0cmluZyA9IG5ldyBTdHJpbmcoIm9uZS0xIHR3by0yIGZvdXItNCIpOwoKdmFyIF9fc3BsaXQgPSBfX3N0cmluZy5zcGxpdCgiLTQiKTsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKF9fc3BsaXQuY29uc3RydWN0b3IgIT09IEFycmF5KSB7CiAgJEVSUk9SKCcjMTogdmFyIF9fc3RyaW5nID0gbmV3IFN0cmluZygib25lLTEgdHdvLTIgZm91ci00Iik7IF9fc3BsaXQgPSBfX3N0cmluZy5zcGxpdCgiLTQiKTsgX19zcGxpdC5jb25zdHJ1Y3RvciA9PT0gQXJyYXkuIEFjdHVhbDogJytfX3NwbGl0LmNvbnN0cnVjdG9yICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMyCmlmIChfX3NwbGl0Lmxlbmd0aCAhPT0gMikgewogICRFUlJPUignIzI6IHZhciBfX3N0cmluZyA9IG5ldyBTdHJpbmcoIm9uZS0xIHR3by0yIGZvdXItNCIpOyBfX3NwbGl0ID0gX19zdHJpbmcuc3BsaXQoIi00Iik7IF9fc3BsaXQubGVuZ3RoID09PSAyLiBBY3R1YWw6ICcrX19zcGxpdC5sZW5ndGggKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzMKaWYgKF9fc3BsaXRbMF0gIT09ICJvbmUtMSB0d28tMiBmb3VyIikgewogICRFUlJPUignIzM6IHZhciBfX3N0cmluZyA9IG5ldyBTdHJpbmcoIm9uZS0xIHR3by0yIGZvdXItNCIpOyBfX3NwbGl0ID0gX19zdHJpbmcuc3BsaXQoIi00Iik7IF9fc3BsaXRbMF0gPT09ICJvbmUtMSB0d28tMiBmb3VyIi4gQWN0dWFsOiAnK19fc3BsaXRbMF0pOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjNAppZiAoX19zcGxpdFsxXSAhPT0gIiIpIHsKICAkRVJST1IoJyMzOiB2YXIgX19zdHJpbmcgPSBuZXcgU3RyaW5nKCJvbmUtMSB0d28tMiBmb3VyLTQiKTsgX19zcGxpdCA9IF9fc3RyaW5nLnNwbGl0KCItNCIpOyBfX3NwbGl0WzFdID09PSAiIi4gQWN0dWFsOiAnK19fc3BsaXRbMV0gKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"String.prototype.split (separator, limit) returns an Array object into which substrings of the result of converting this object to a string have\nbeen stored. The substrings are determined by searching from left to right for occurrences of\nseparator; these occurrences are not part of any substring in the returned array, but serve to divide up\nthe string value. The value of separator may be a string of any length or it may be a RegExp object","description":"Call split(\"-4\"), instance is String(\"one-1 two-2 four-4\")","path":"TestCases/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A2_T13.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnNwbGl0IChzZXBhcmF0b3IsIGxpbWl0KSByZXR1cm5zIGFuIEFycmF5IG9iamVjdCBpbnRvIHdoaWNoIHN1YnN0cmluZ3Mgb2YgdGhlIHJlc3VsdCBvZiBjb252ZXJ0aW5nIHRoaXMgb2JqZWN0IHRvIGEgc3RyaW5nIGhhdmUKICogYmVlbiBzdG9yZWQuIFRoZSBzdWJzdHJpbmdzIGFyZSBkZXRlcm1pbmVkIGJ5IHNlYXJjaGluZyBmcm9tIGxlZnQgdG8gcmlnaHQgZm9yIG9jY3VycmVuY2VzIG9mCiAqIHNlcGFyYXRvcjsgdGhlc2Ugb2NjdXJyZW5jZXMgYXJlIG5vdCBwYXJ0IG9mIGFueSBzdWJzdHJpbmcgaW4gdGhlIHJldHVybmVkIGFycmF5LCBidXQgc2VydmUgdG8gZGl2aWRlIHVwCiAqIHRoZSBzdHJpbmcgdmFsdWUuIFRoZSB2YWx1ZSBvZiBzZXBhcmF0b3IgbWF5IGJlIGEgc3RyaW5nIG9mIGFueSBsZW5ndGggb3IgaXQgbWF5IGJlIGEgUmVnRXhwIG9iamVjdAogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS40LzE1LjUuNC4xNC9TMTUuNS40LjE0X0EyX1QxNC5qcwogKiBAZGVzY3JpcHRpb24gQ2FsbCBzcGxpdCgib24iKSwgaW5zdGFuY2UgaXMgU3RyaW5nKCJvbmUtMSB0d28tMiBmb3VyLTQiKQogKi8KCnZhciBfX3N0cmluZyA9IG5ldyBTdHJpbmcoIm9uZS0xIHR3by0yIGZvdXItNCIpOwoKdmFyIF9fc3BsaXQgPSBfX3N0cmluZy5zcGxpdCgib24iKTsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKF9fc3BsaXQuY29uc3RydWN0b3IgIT09IEFycmF5KSB7CiAgJEVSUk9SKCcjMTogdmFyIF9fc3RyaW5nID0gbmV3IFN0cmluZygib25lLTEgdHdvLTIgZm91ci00Iik7IF9fc3BsaXQgPSBfX3N0cmluZy5zcGxpdCgib24iKTsgX19zcGxpdC5jb25zdHJ1Y3RvciA9PT0gQXJyYXkuIEFjdHVhbDogJytfX3NwbGl0LmNvbnN0cnVjdG9yICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMyCmlmIChfX3NwbGl0Lmxlbmd0aCAhPT0gMikgewogICRFUlJPUignIzI6IHZhciBfX3N0cmluZyA9IG5ldyBTdHJpbmcoIm9uZS0xIHR3by0yIGZvdXItNCIpOyBfX3NwbGl0ID0gX19zdHJpbmcuc3BsaXQoIm9uIik7IF9fc3BsaXQubGVuZ3RoID09PSAyLiBBY3R1YWw6ICcrX19zcGxpdC5sZW5ndGggKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzMKaWYgKF9fc3BsaXRbMF0gIT09ICIiKSB7CiAgJEVSUk9SKCcjMzogdmFyIF9fc3RyaW5nID0gbmV3IFN0cmluZygib25lLTEgdHdvLTIgZm91ci00Iik7IF9fc3BsaXQgPSBfX3N0cmluZy5zcGxpdCgib24iKTsgX19zcGxpdFswXSA9PT0gIiIuIEFjdHVhbDogJytfX3NwbGl0WzBdKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzQKaWYgKF9fc3BsaXRbMV0gIT09ICJlLTEgdHdvLTIgZm91ci00IikgewogICRFUlJPUignIzQ6IHZhciBfX3N0cmluZyA9IG5ldyBTdHJpbmcoIm9uZS0xIHR3by0yIGZvdXItNCIpOyBfX3NwbGl0ID0gX19zdHJpbmcuc3BsaXQoIm9uIik7IF9fc3BsaXRbMV0gPT09ICJlLTEgdHdvLTIgZm91ci00Ii4gQWN0dWFsOiAnK19fc3BsaXRbMV0gKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"String.prototype.split (separator, limit) returns an Array object into which substrings of the result of converting this object to a string have\nbeen stored. The substrings are determined by searching from left to right for occurrences of\nseparator; these occurrences are not part of any substring in the returned array, but serve to divide up\nthe string value. The value of separator may be a string of any length or it may be a RegExp object","description":"Call split(\"on\"), instance is String(\"one-1 two-2 four-4\")","path":"TestCases/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A2_T14.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnNwbGl0IChzZXBhcmF0b3IsIGxpbWl0KSByZXR1cm5zIGFuIEFycmF5IG9iamVjdCBpbnRvIHdoaWNoIHN1YnN0cmluZ3Mgb2YgdGhlIHJlc3VsdCBvZiBjb252ZXJ0aW5nIHRoaXMgb2JqZWN0IHRvIGEgc3RyaW5nIGhhdmUKICogYmVlbiBzdG9yZWQuIFRoZSBzdWJzdHJpbmdzIGFyZSBkZXRlcm1pbmVkIGJ5IHNlYXJjaGluZyBmcm9tIGxlZnQgdG8gcmlnaHQgZm9yIG9jY3VycmVuY2VzIG9mCiAqIHNlcGFyYXRvcjsgdGhlc2Ugb2NjdXJyZW5jZXMgYXJlIG5vdCBwYXJ0IG9mIGFueSBzdWJzdHJpbmcgaW4gdGhlIHJldHVybmVkIGFycmF5LCBidXQgc2VydmUgdG8gZGl2aWRlIHVwCiAqIHRoZSBzdHJpbmcgdmFsdWUuIFRoZSB2YWx1ZSBvZiBzZXBhcmF0b3IgbWF5IGJlIGEgc3RyaW5nIG9mIGFueSBsZW5ndGggb3IgaXQgbWF5IGJlIGEgUmVnRXhwIG9iamVjdAogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS40LzE1LjUuNC4xNC9TMTUuNS40LjE0X0EyX1QxNS5qcwogKiBAZGVzY3JpcHRpb24gQ2FsbCBzcGxpdCgiIiksIGluc3RhbmNlIGlzIGVtcHR5IFN0cmluZyBvYmplY3QKICovCgp2YXIgX19zdHJpbmcgPSBuZXcgU3RyaW5nKCk7Cgp2YXIgX19zcGxpdCA9IF9fc3RyaW5nLnNwbGl0KCIiKTsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKF9fc3BsaXQuY29uc3RydWN0b3IgIT09IEFycmF5KSB7CiAgJEVSUk9SKCcjMTogdmFyIF9fc3RyaW5nID0gbmV3IFN0cmluZygpOyBfX3NwbGl0ID0gX19zdHJpbmcuc3BsaXQoIiIpOyBfX3NwbGl0LmNvbnN0cnVjdG9yID09PSBBcnJheS4gQWN0dWFsOiAnK19fc3BsaXQuY29uc3RydWN0b3IgKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzIKaWYgKF9fc3BsaXQubGVuZ3RoICE9PSAwKSB7CiAgJEVSUk9SKCcjMjogdmFyIF9fc3RyaW5nID0gbmV3IFN0cmluZygpOyBfX3NwbGl0ID0gX19zdHJpbmcuc3BsaXQoIiIpOyBfX3NwbGl0Lmxlbmd0aCA9PT0gMC4gQWN0dWFsOiAnK19fc3BsaXQubGVuZ3RoICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMzCmlmIChfX3NwbGl0WzBdICE9PSB1bmRlZmluZWQpIHsKICAkRVJST1IoJyMzOiB2YXIgX19zdHJpbmcgPSBuZXcgU3RyaW5nKCk7IF9fc3BsaXQgPSBfX3N0cmluZy5zcGxpdCgiIik7IF9fc3BsaXRbMF0gPT09IHVuZGVmaW5lZC4gQWN0dWFsOiAnK19fc3BsaXRbMF0gKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"String.prototype.split (separator, limit) returns an Array object into which substrings of the result of converting this object to a string have\nbeen stored. The substrings are determined by searching from left to right for occurrences of\nseparator; these occurrences are not part of any substring in the returned array, but serve to divide up\nthe string value. The value of separator may be a string of any length or it may be a RegExp object","description":"Call split(\"\"), instance is empty String object","path":"TestCases/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A2_T15.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnNwbGl0IChzZXBhcmF0b3IsIGxpbWl0KSByZXR1cm5zIGFuIEFycmF5IG9iamVjdCBpbnRvIHdoaWNoIHN1YnN0cmluZ3Mgb2YgdGhlIHJlc3VsdCBvZiBjb252ZXJ0aW5nIHRoaXMgb2JqZWN0IHRvIGEgc3RyaW5nIGhhdmUKICogYmVlbiBzdG9yZWQuIFRoZSBzdWJzdHJpbmdzIGFyZSBkZXRlcm1pbmVkIGJ5IHNlYXJjaGluZyBmcm9tIGxlZnQgdG8gcmlnaHQgZm9yIG9jY3VycmVuY2VzIG9mCiAqIHNlcGFyYXRvcjsgdGhlc2Ugb2NjdXJyZW5jZXMgYXJlIG5vdCBwYXJ0IG9mIGFueSBzdWJzdHJpbmcgaW4gdGhlIHJldHVybmVkIGFycmF5LCBidXQgc2VydmUgdG8gZGl2aWRlIHVwCiAqIHRoZSBzdHJpbmcgdmFsdWUuIFRoZSB2YWx1ZSBvZiBzZXBhcmF0b3IgbWF5IGJlIGEgc3RyaW5nIG9mIGFueSBsZW5ndGggb3IgaXQgbWF5IGJlIGEgUmVnRXhwIG9iamVjdAogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS40LzE1LjUuNC4xNC9TMTUuNS40LjE0X0EyX1QxNi5qcwogKiBAZGVzY3JpcHRpb24gQ2FsbCBzcGxpdCgiICIpLCBpbnN0YW5jZSBpcyBlbXB0eSBTdHJpbmcgb2JqZWN0CiAqLwoKdmFyIF9fc3RyaW5nID0gbmV3IFN0cmluZygpOwoKdmFyIF9fc3BsaXQgPSBfX3N0cmluZy5zcGxpdCgiICIpOwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAoX19zcGxpdC5jb25zdHJ1Y3RvciAhPT0gQXJyYXkpIHsKICAkRVJST1IoJyMxOiB2YXIgX19zdHJpbmcgPSBuZXcgU3RyaW5nKCk7IF9fc3BsaXQgPSBfX3N0cmluZy5zcGxpdCgiICIpOyBfX3NwbGl0LmNvbnN0cnVjdG9yID09PSBBcnJheS4gQWN0dWFsOiAnK19fc3BsaXQuY29uc3RydWN0b3IgKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzIKaWYgKF9fc3BsaXQubGVuZ3RoICE9PSAxKSB7CiAgJEVSUk9SKCcjMjogdmFyIF9fc3RyaW5nID0gbmV3IFN0cmluZygpOyBfX3NwbGl0ID0gX19zdHJpbmcuc3BsaXQoIiAiKTsgX19zcGxpdC5sZW5ndGggPT09IDEuIEFjdHVhbDogJytfX3NwbGl0Lmxlbmd0aCApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMwppZiAoX19zcGxpdFswXSAhPT0gIiIpIHsKICAkRVJST1IoJyMzOiB2YXIgX19zdHJpbmcgPSBuZXcgU3RyaW5nKCk7IF9fc3BsaXQgPSBfX3N0cmluZy5zcGxpdCgiICIpOyBfX3NwbGl0WzBdID09PSAiIi4gQWN0dWFsOiAnK19fc3BsaXRbMF0gKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"String.prototype.split (separator, limit) returns an Array object into which substrings of the result of converting this object to a string have\nbeen stored. The substrings are determined by searching from left to right for occurrences of\nseparator; these occurrences are not part of any substring in the returned array, but serve to divide up\nthe string value. The value of separator may be a string of any length or it may be a RegExp object","description":"Call split(\" \"), instance is empty String object","path":"TestCases/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A2_T16.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnNwbGl0IChzZXBhcmF0b3IsIGxpbWl0KSByZXR1cm5zIGFuIEFycmF5IG9iamVjdCBpbnRvIHdoaWNoIHN1YnN0cmluZ3Mgb2YgdGhlIHJlc3VsdCBvZiBjb252ZXJ0aW5nIHRoaXMgb2JqZWN0IHRvIGEgc3RyaW5nIGhhdmUKICogYmVlbiBzdG9yZWQuIFRoZSBzdWJzdHJpbmdzIGFyZSBkZXRlcm1pbmVkIGJ5IHNlYXJjaGluZyBmcm9tIGxlZnQgdG8gcmlnaHQgZm9yIG9jY3VycmVuY2VzIG9mCiAqIHNlcGFyYXRvcjsgdGhlc2Ugb2NjdXJyZW5jZXMgYXJlIG5vdCBwYXJ0IG9mIGFueSBzdWJzdHJpbmcgaW4gdGhlIHJldHVybmVkIGFycmF5LCBidXQgc2VydmUgdG8gZGl2aWRlIHVwCiAqIHRoZSBzdHJpbmcgdmFsdWUuIFRoZSB2YWx1ZSBvZiBzZXBhcmF0b3IgbWF5IGJlIGEgc3RyaW5nIG9mIGFueSBsZW5ndGggb3IgaXQgbWF5IGJlIGEgUmVnRXhwIG9iamVjdAogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS40LzE1LjUuNC4xNC9TMTUuNS40LjE0X0EyX1QxNy5qcwogKiBAZGVzY3JpcHRpb24gQ2FsbCBzcGxpdCgiIiksIGluc3RhbmNlIGlzIFN0cmluZygiICIpCiAqLwoKdmFyIF9fc3RyaW5nID0gbmV3IFN0cmluZygiICIpOwoKdmFyIF9fc3BsaXQgPSBfX3N0cmluZy5zcGxpdCgiIik7CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmIChfX3NwbGl0LmNvbnN0cnVjdG9yICE9PSBBcnJheSkgewogICRFUlJPUignIzE6IHZhciBfX3N0cmluZyA9IG5ldyBTdHJpbmcoIiAiKTsgX19zcGxpdCA9IF9fc3RyaW5nLnNwbGl0KCIiKTsgX19zcGxpdC5jb25zdHJ1Y3RvciA9PT0gQXJyYXkuIEFjdHVhbDogJytfX3NwbGl0LmNvbnN0cnVjdG9yICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMyCmlmIChfX3NwbGl0Lmxlbmd0aCAhPT0gMSkgewogICRFUlJPUignIzI6IHZhciBfX3N0cmluZyA9IG5ldyBTdHJpbmcoIiAiKTsgX19zcGxpdCA9IF9fc3RyaW5nLnNwbGl0KCIiKTsgX19zcGxpdC5sZW5ndGggPT09IDEuIEFjdHVhbDogJytfX3NwbGl0Lmxlbmd0aCApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMwppZiAoX19zcGxpdFswXSAhPT0gIiAiKSB7CiAgJEVSUk9SKCcjMzogdmFyIF9fc3RyaW5nID0gbmV3IFN0cmluZygiICIpOyBfX3NwbGl0ID0gX19zdHJpbmcuc3BsaXQoIiIpOyBfX3NwbGl0WzBdID09PSAiICIuIEFjdHVhbDogJytfX3NwbGl0WzBdICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"String.prototype.split (separator, limit) returns an Array object into which substrings of the result of converting this object to a string have\nbeen stored. The substrings are determined by searching from left to right for occurrences of\nseparator; these occurrences are not part of any substring in the returned array, but serve to divide up\nthe string value. The value of separator may be a string of any length or it may be a RegExp object","description":"Call split(\"\"), instance is String(\" \")","path":"TestCases/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A2_T17.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnNwbGl0IChzZXBhcmF0b3IsIGxpbWl0KSByZXR1cm5zIGFuIEFycmF5IG9iamVjdCBpbnRvIHdoaWNoIHN1YnN0cmluZ3Mgb2YgdGhlIHJlc3VsdCBvZiBjb252ZXJ0aW5nIHRoaXMgb2JqZWN0IHRvIGEgc3RyaW5nIGhhdmUKICogYmVlbiBzdG9yZWQuIFRoZSBzdWJzdHJpbmdzIGFyZSBkZXRlcm1pbmVkIGJ5IHNlYXJjaGluZyBmcm9tIGxlZnQgdG8gcmlnaHQgZm9yIG9jY3VycmVuY2VzIG9mCiAqIHNlcGFyYXRvcjsgdGhlc2Ugb2NjdXJyZW5jZXMgYXJlIG5vdCBwYXJ0IG9mIGFueSBzdWJzdHJpbmcgaW4gdGhlIHJldHVybmVkIGFycmF5LCBidXQgc2VydmUgdG8gZGl2aWRlIHVwCiAqIHRoZSBzdHJpbmcgdmFsdWUuIFRoZSB2YWx1ZSBvZiBzZXBhcmF0b3IgbWF5IGJlIGEgc3RyaW5nIG9mIGFueSBsZW5ndGggb3IgaXQgbWF5IGJlIGEgUmVnRXhwIG9iamVjdAogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS40LzE1LjUuNC4xNC9TMTUuNS40LjE0X0EyX1QxOC5qcwogKiBAZGVzY3JpcHRpb24gQ2FsbCBzcGxpdCgiICIpLCBpbnN0YW5jZSBpcyBTdHJpbmcoIiAiKQogKi8KCnZhciBfX3N0cmluZyA9IG5ldyBTdHJpbmcoIiAiKTsKCnZhciBfX3NwbGl0ID0gX19zdHJpbmcuc3BsaXQoIiAiKTsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKF9fc3BsaXQuY29uc3RydWN0b3IgIT09IEFycmF5KSB7CiAgJEVSUk9SKCcjMTogdmFyIF9fc3RyaW5nID0gbmV3IFN0cmluZygiICIpOyBfX3NwbGl0ID0gX19zdHJpbmcuc3BsaXQoIiAiKTsgX19zcGxpdC5jb25zdHJ1Y3RvciA9PT0gQXJyYXkuIEFjdHVhbDogJytfX3NwbGl0LmNvbnN0cnVjdG9yICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMyCmlmIChfX3NwbGl0Lmxlbmd0aCAhPT0gMikgewogICRFUlJPUignIzI6IHZhciBfX3N0cmluZyA9IG5ldyBTdHJpbmcoIiAiKTsgX19zcGxpdCA9IF9fc3RyaW5nLnNwbGl0KCIgIik7IF9fc3BsaXQubGVuZ3RoID09PSAyLiBBY3R1YWw6ICcrX19zcGxpdC5sZW5ndGggKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzMKaWYgKF9fc3BsaXRbMF0gIT09ICIiKSB7CiAgJEVSUk9SKCcjMzogdmFyIF9fc3RyaW5nID0gbmV3IFN0cmluZygiICIpOyBfX3NwbGl0ID0gX19zdHJpbmcuc3BsaXQoIiAiKTsgX19zcGxpdFswXSA9PT0gIiIuIEFjdHVhbDogJytfX3NwbGl0WzBdKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzQKaWYgKF9fc3BsaXRbMV0gIT09ICIiKSB7CiAgJEVSUk9SKCcjNDogdmFyIF9fc3RyaW5nID0gbmV3IFN0cmluZygiICIpOyBfX3NwbGl0ID0gX19zdHJpbmcuc3BsaXQoIiAiKTsgX19zcGxpdFsxXSA9PT0gIiIuIEFjdHVhbDogJytfX3NwbGl0WzFdICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"String.prototype.split (separator, limit) returns an Array object into which substrings of the result of converting this object to a string have\nbeen stored. The substrings are determined by searching from left to right for occurrences of\nseparator; these occurrences are not part of any substring in the returned array, but serve to divide up\nthe string value. The value of separator may be a string of any length or it may be a RegExp object","description":"Call split(\" \"), instance is String(\" \")","path":"TestCases/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A2_T18.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnNwbGl0IChzZXBhcmF0b3IsIGxpbWl0KSByZXR1cm5zIGFuIEFycmF5IG9iamVjdCBpbnRvIHdoaWNoIHN1YnN0cmluZ3Mgb2YgdGhlIHJlc3VsdCBvZiBjb252ZXJ0aW5nIHRoaXMgb2JqZWN0IHRvIGEgc3RyaW5nIGhhdmUKICogYmVlbiBzdG9yZWQuIFRoZSBzdWJzdHJpbmdzIGFyZSBkZXRlcm1pbmVkIGJ5IHNlYXJjaGluZyBmcm9tIGxlZnQgdG8gcmlnaHQgZm9yIG9jY3VycmVuY2VzIG9mCiAqIHNlcGFyYXRvcjsgdGhlc2Ugb2NjdXJyZW5jZXMgYXJlIG5vdCBwYXJ0IG9mIGFueSBzdWJzdHJpbmcgaW4gdGhlIHJldHVybmVkIGFycmF5LCBidXQgc2VydmUgdG8gZGl2aWRlIHVwCiAqIHRoZSBzdHJpbmcgdmFsdWUuIFRoZSB2YWx1ZSBvZiBzZXBhcmF0b3IgbWF5IGJlIGEgc3RyaW5nIG9mIGFueSBsZW5ndGggb3IgaXQgbWF5IGJlIGEgUmVnRXhwIG9iamVjdAogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS40LzE1LjUuNC4xNC9TMTUuNS40LjE0X0EyX1QxOS5qcwogKiBAZGVzY3JpcHRpb24gQ2FsbCBzcGxpdCgieCIpLCBpbnN0YW5jZSBpcyBlbXB0eSBzdHJpbmcKICovCgp2YXIgX19zdHJpbmcgPSAiIjsKCnZhciBfX3NwbGl0ID0gX19zdHJpbmcuc3BsaXQoIngiKTsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKF9fc3BsaXQuY29uc3RydWN0b3IgIT09IEFycmF5KSB7CiAgJEVSUk9SKCcjMTogdmFyIF9fc3RyaW5nID0gIiI7IF9fc3BsaXQgPSBfX3N0cmluZy5zcGxpdCgieCIpOyBfX3NwbGl0LmNvbnN0cnVjdG9yID09PSBBcnJheS4gQWN0dWFsOiAnK19fc3BsaXQuY29uc3RydWN0b3IgKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzIKaWYgKF9fc3BsaXQubGVuZ3RoICE9PSAxKSB7CiAgJEVSUk9SKCcjMjogdmFyIF9fc3RyaW5nID0gIiI7IF9fc3BsaXQgPSBfX3N0cmluZy5zcGxpdCgieCIpOyBfX3NwbGl0Lmxlbmd0aCA9PT0gMS4gQWN0dWFsOiAnK19fc3BsaXQubGVuZ3RoICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMzCmlmIChfX3NwbGl0WzBdICE9PSAiIikgewogICRFUlJPUignIzM6IHZhciBfX3N0cmluZyA9ICIiOyBfX3NwbGl0ID0gX19zdHJpbmcuc3BsaXQoIngiKTsgX19zcGxpdFswXSA9PT0gIiIuIEFjdHVhbDogJytfX3NwbGl0WzBdICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"String.prototype.split (separator, limit) returns an Array object into which substrings of the result of converting this object to a string have\nbeen stored. The substrings are determined by searching from left to right for occurrences of\nseparator; these occurrences are not part of any substring in the returned array, but serve to divide up\nthe string value. The value of separator may be a string of any length or it may be a RegExp object","description":"Call split(\"x\"), instance is empty string","path":"TestCases/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A2_T19.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnNwbGl0IChzZXBhcmF0b3IsIGxpbWl0KSByZXR1cm5zIGFuIEFycmF5IG9iamVjdCBpbnRvIHdoaWNoIHN1YnN0cmluZ3Mgb2YgdGhlIHJlc3VsdCBvZiBjb252ZXJ0aW5nIHRoaXMgb2JqZWN0IHRvIGEgc3RyaW5nIGhhdmUKICogYmVlbiBzdG9yZWQuIFRoZSBzdWJzdHJpbmdzIGFyZSBkZXRlcm1pbmVkIGJ5IHNlYXJjaGluZyBmcm9tIGxlZnQgdG8gcmlnaHQgZm9yIG9jY3VycmVuY2VzIG9mCiAqIHNlcGFyYXRvcjsgdGhlc2Ugb2NjdXJyZW5jZXMgYXJlIG5vdCBwYXJ0IG9mIGFueSBzdWJzdHJpbmcgaW4gdGhlIHJldHVybmVkIGFycmF5LCBidXQgc2VydmUgdG8gZGl2aWRlIHVwCiAqIHRoZSBzdHJpbmcgdmFsdWUuIFRoZSB2YWx1ZSBvZiBzZXBhcmF0b3IgbWF5IGJlIGEgc3RyaW5nIG9mIGFueSBsZW5ndGggb3IgaXQgbWF5IGJlIGEgUmVnRXhwIG9iamVjdAogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS40LzE1LjUuNC4xNC9TMTUuNS40LjE0X0EyX1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBDYWxsIHNwbGl0KCIgIiksIGluc3RhbmNlIGlzIFN0cmluZygib25lIHR3byB0aHJlZSBmb3VyIGZpdmUiKQogKi8KCnZhciBfX3N0cmluZyA9IG5ldyBTdHJpbmcoIm9uZSB0d28gdGhyZWUgZm91ciBmaXZlIik7Cgp2YXIgX19zcGxpdCA9IF9fc3RyaW5nLnNwbGl0KCIgIik7CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmIChfX3NwbGl0LmNvbnN0cnVjdG9yICE9PSBBcnJheSkgewogICRFUlJPUignIzE6IHZhciBfX3N0cmluZyA9IG5ldyBTdHJpbmcoIm9uZSB0d28gdGhyZWUgZm91ciBmaXZlIik7IF9fc3BsaXQgPSBfX3N0cmluZy5zcGxpdCgiICIpOyBfX3NwbGl0LmNvbnN0cnVjdG9yID09PSBBcnJheS4gQWN0dWFsOiAnK19fc3BsaXQuY29uc3RydWN0b3IgKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzIKaWYgKF9fc3BsaXQubGVuZ3RoICE9PSA1KSB7CiAgJEVSUk9SKCcjMjogdmFyIF9fc3RyaW5nID0gbmV3IFN0cmluZygib25lIHR3byB0aHJlZSBmb3VyIGZpdmUiKTsgX19zcGxpdCA9IF9fc3RyaW5nLnNwbGl0KCIgIik7IF9fc3BsaXQubGVuZ3RoID09PSA1LiBBY3R1YWw6ICcrX19zcGxpdC5sZW5ndGggKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzMKaWYgKF9fc3BsaXRbMF0gIT09ICJvbmUiKSB7CiAgJEVSUk9SKCcjMzogdmFyIF9fc3RyaW5nID0gbmV3IFN0cmluZygib25lIHR3byB0aHJlZSBmb3VyIGZpdmUiKTsgX19zcGxpdCA9IF9fc3RyaW5nLnNwbGl0KCIgIik7IF9fc3BsaXRbMF0gPT09ICJvbmUiLiBBY3R1YWw6ICcrX19zcGxpdFswXSApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjNAppZiAoX19zcGxpdFsxXSAhPT0gInR3byIpIHsKICAkRVJST1IoJyM0OiB2YXIgX19zdHJpbmcgPSBuZXcgU3RyaW5nKCJvbmUgdHdvIHRocmVlIGZvdXIgZml2ZSIpOyBfX3NwbGl0ID0gX19zdHJpbmcuc3BsaXQoIiAiKTsgX19zcGxpdFsxXSA9PT0gInR3byIuIEFjdHVhbDogJytfX3NwbGl0WzFdICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyM1CmlmIChfX3NwbGl0WzJdICE9PSAidGhyZWUiKSB7CiAgJEVSUk9SKCcjNTogdmFyIF9fc3RyaW5nID0gbmV3IFN0cmluZygib25lIHR3byB0aHJlZSBmb3VyIGZpdmUiKTsgX19zcGxpdCA9IF9fc3RyaW5nLnNwbGl0KCIgIik7IF9fc3BsaXRbMl0gPT09ICJ0aHJlZSIuIEFjdHVhbDogJytfX3NwbGl0WzJdICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyM2CmlmIChfX3NwbGl0WzNdICE9PSAiZm91ciIpIHsKICAkRVJST1IoJyM2OiB2YXIgX19zdHJpbmcgPSBuZXcgU3RyaW5nKCJvbmUgdHdvIHRocmVlIGZvdXIgZml2ZSIpOyBfX3NwbGl0ID0gX19zdHJpbmcuc3BsaXQoIiAiKTsgX19zcGxpdFszXSA9PT0gImZvdXIiLiBBY3R1YWw6ICcrX19zcGxpdFszXSApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjNwppZiAoX19zcGxpdFs0XSAhPT0gImZpdmUiKSB7CiAgJEVSUk9SKCcjNzogdmFyIF9fc3RyaW5nID0gbmV3IFN0cmluZygib25lIHR3byB0aHJlZSBmb3VyIGZpdmUiKTsgX19zcGxpdCA9IF9fc3RyaW5nLnNwbGl0KCIgIik7IF9fc3BsaXRbNF0gPT09ICJmaXZlIi4gQWN0dWFsOiAnK19fc3BsaXRbNF0gKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"String.prototype.split (separator, limit) returns an Array object into which substrings of the result of converting this object to a string have\nbeen stored. The substrings are determined by searching from left to right for occurrences of\nseparator; these occurrences are not part of any substring in the returned array, but serve to divide up\nthe string value. The value of separator may be a string of any length or it may be a RegExp object","description":"Call split(\" \"), instance is String(\"one two three four five\")","path":"TestCases/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A2_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnNwbGl0IChzZXBhcmF0b3IsIGxpbWl0KSByZXR1cm5zIGFuIEFycmF5IG9iamVjdCBpbnRvIHdoaWNoIHN1YnN0cmluZ3Mgb2YgdGhlIHJlc3VsdCBvZiBjb252ZXJ0aW5nIHRoaXMgb2JqZWN0IHRvIGEgc3RyaW5nIGhhdmUKICogYmVlbiBzdG9yZWQuIFRoZSBzdWJzdHJpbmdzIGFyZSBkZXRlcm1pbmVkIGJ5IHNlYXJjaGluZyBmcm9tIGxlZnQgdG8gcmlnaHQgZm9yIG9jY3VycmVuY2VzIG9mCiAqIHNlcGFyYXRvcjsgdGhlc2Ugb2NjdXJyZW5jZXMgYXJlIG5vdCBwYXJ0IG9mIGFueSBzdWJzdHJpbmcgaW4gdGhlIHJldHVybmVkIGFycmF5LCBidXQgc2VydmUgdG8gZGl2aWRlIHVwCiAqIHRoZSBzdHJpbmcgdmFsdWUuIFRoZSB2YWx1ZSBvZiBzZXBhcmF0b3IgbWF5IGJlIGEgc3RyaW5nIG9mIGFueSBsZW5ndGggb3IgaXQgbWF5IGJlIGEgUmVnRXhwIG9iamVjdAogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS40LzE1LjUuNC4xNC9TMTUuNS40LjE0X0EyX1QyMC5qcwogKiBAZGVzY3JpcHRpb24gQ2FsbCBzcGxpdChuZXcgUmVnRXhwKQogKi8KCnZhciBfX3N0cmluZyA9IG5ldyBTdHJpbmcoIm9uZS0xIHR3by0yIHRocmVlLTMiKTsKCnZhciBfX3NwbGl0ID0gX19zdHJpbmcuc3BsaXQobmV3IFJlZ0V4cCk7CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmIChfX3NwbGl0LmNvbnN0cnVjdG9yICE9PSBBcnJheSkgewogICRFUlJPUignIzE6IHZhciBfX3N0cmluZyA9IG5ldyBTdHJpbmcoIm9uZS0xIHR3by0yIHRocmVlLTMiKTsgX19zcGxpdCA9IF9fc3RyaW5nLnNwbGl0KG5ldyBSZWdFeHApOyBfX3NwbGl0LmNvbnN0cnVjdG9yID09PSBBcnJheS4gQWN0dWFsOiAnK19fc3BsaXQuY29uc3RydWN0b3IgKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzIKaWYgKF9fc3BsaXQubGVuZ3RoICE9PSBfX3N0cmluZy5sZW5ndGgpIHsKICAkRVJST1IoJyMyOiB2YXIgX19zdHJpbmcgPSBuZXcgU3RyaW5nKCJvbmUtMSB0d28tMiB0aHJlZS0zIik7IF9fc3BsaXQgPSBfX3N0cmluZy5zcGxpdChuZXcgUmVnRXhwKTsgX19zcGxpdC5sZW5ndGggPT09IF9fc3RyaW5nLmxlbmd0aC4gQWN0dWFsOiAnK19fc3BsaXQubGVuZ3RoICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMzCmZvciAoIHZhciBpID0gMDsgaSA8IF9fc3RyaW5nLmxlbmd0aDsgaSsrICkgewogICAgaWYgKF9fc3RyaW5nLmNoYXJBdChpKSE9PV9fc3BsaXRbaV0pIHsKICAgICAgJEVSUk9SKCcjMy4nK2krJzogdmFyIF9fc3RyaW5nID0gbmV3IFN0cmluZygib25lLTEgdHdvLTIgdGhyZWUtMyIpOyBfX3NwbGl0ID0gX19zdHJpbmcuc3BsaXQobmV3IFJlZ0V4cCk7IF9fc3RyaW5nLmNoYXJBdCgnK2krJyk9PT1fX3NwbGl0WycraSsnXS4gQWN0dWFsOiAnK19fc3RyaW5nLmNoYXJBdChpKSk7CiAgICB9Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgoK","commentary":"String.prototype.split (separator, limit) returns an Array object into which substrings of the result of converting this object to a string have\nbeen stored. The substrings are determined by searching from left to right for occurrences of\nseparator; these occurrences are not part of any substring in the returned array, but serve to divide up\nthe string value. The value of separator may be a string of any length or it may be a RegExp object","description":"Call split(new RegExp)","path":"TestCases/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A2_T20.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnNwbGl0IChzZXBhcmF0b3IsIGxpbWl0KSByZXR1cm5zIGFuIEFycmF5IG9iamVjdCBpbnRvIHdoaWNoIHN1YnN0cmluZ3Mgb2YgdGhlIHJlc3VsdCBvZiBjb252ZXJ0aW5nIHRoaXMgb2JqZWN0IHRvIGEgc3RyaW5nIGhhdmUKICogYmVlbiBzdG9yZWQuIFRoZSBzdWJzdHJpbmdzIGFyZSBkZXRlcm1pbmVkIGJ5IHNlYXJjaGluZyBmcm9tIGxlZnQgdG8gcmlnaHQgZm9yIG9jY3VycmVuY2VzIG9mCiAqIHNlcGFyYXRvcjsgdGhlc2Ugb2NjdXJyZW5jZXMgYXJlIG5vdCBwYXJ0IG9mIGFueSBzdWJzdHJpbmcgaW4gdGhlIHJldHVybmVkIGFycmF5LCBidXQgc2VydmUgdG8gZGl2aWRlIHVwCiAqIHRoZSBzdHJpbmcgdmFsdWUuIFRoZSB2YWx1ZSBvZiBzZXBhcmF0b3IgbWF5IGJlIGEgc3RyaW5nIG9mIGFueSBsZW5ndGggb3IgaXQgbWF5IGJlIGEgUmVnRXhwIG9iamVjdAogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS40LzE1LjUuNC4xNC9TMTUuNS40LjE0X0EyX1QyMS5qcwogKiBAZGVzY3JpcHRpb24gQ2FsbCBzcGxpdCgibGwiKSwgaW5zdGFuY2UgaXMgU3RyaW5nKCJoZWxsbyIpCiAqLwoKdmFyIF9fc3RyaW5nID0gbmV3IFN0cmluZygiaGVsbG8iKTsKCnZhciBfX3NwbGl0ID0gX19zdHJpbmcuc3BsaXQoImxsIik7CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmIChfX3NwbGl0LmNvbnN0cnVjdG9yICE9PSBBcnJheSkgewogICRFUlJPUignIzE6IHZhciBfX3N0cmluZyA9IG5ldyBTdHJpbmcoImhlbGxvIik7IF9fc3BsaXQgPSBfX3N0cmluZy5zcGxpdCgibGwiKTsgX19zcGxpdC5jb25zdHJ1Y3RvciA9PT0gQXJyYXkuIEFjdHVhbDogJytfX3NwbGl0LmNvbnN0cnVjdG9yICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMyCmlmIChfX3NwbGl0Lmxlbmd0aCAhPT0gMikgewogICRFUlJPUignIzI6IHZhciBfX3N0cmluZyA9IG5ldyBTdHJpbmcoImhlbGxvIik7IF9fc3BsaXQgPSBfX3N0cmluZy5zcGxpdCgibGwiKTsgX19zcGxpdC5sZW5ndGggPT09IDIuIEFjdHVhbDogJytfX3NwbGl0Lmxlbmd0aCApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMwppZiAoX19zcGxpdFswXSAhPT0gImhlIikgewogICRFUlJPUignIzM6IHZhciBfX3N0cmluZyA9IG5ldyBTdHJpbmcoImhlbGxvIik7IF9fc3BsaXQgPSBfX3N0cmluZy5zcGxpdCgibGwiKTsgX19zcGxpdFswXSA9PT0gImhlIi4gQWN0dWFsOiAnK19fc3BsaXRbMF0pOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjNAppZiAoX19zcGxpdFsxXSAhPT0gIm8iKSB7CiAgJEVSUk9SKCcjNDogdmFyIF9fc3RyaW5nID0gbmV3IFN0cmluZygiaGVsbG8iKTsgX19zcGxpdCA9IF9fc3RyaW5nLnNwbGl0KCJsbCIpOyBfX3NwbGl0WzFdID09PSAibyIuIEFjdHVhbDogJytfX3NwbGl0WzFdICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgoK","commentary":"String.prototype.split (separator, limit) returns an Array object into which substrings of the result of converting this object to a string have\nbeen stored. The substrings are determined by searching from left to right for occurrences of\nseparator; these occurrences are not part of any substring in the returned array, but serve to divide up\nthe string value. The value of separator may be a string of any length or it may be a RegExp object","description":"Call split(\"ll\"), instance is String(\"hello\")","path":"TestCases/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A2_T21.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnNwbGl0IChzZXBhcmF0b3IsIGxpbWl0KSByZXR1cm5zIGFuIEFycmF5IG9iamVjdCBpbnRvIHdoaWNoIHN1YnN0cmluZ3Mgb2YgdGhlIHJlc3VsdCBvZiBjb252ZXJ0aW5nIHRoaXMgb2JqZWN0IHRvIGEgc3RyaW5nIGhhdmUKICogYmVlbiBzdG9yZWQuIFRoZSBzdWJzdHJpbmdzIGFyZSBkZXRlcm1pbmVkIGJ5IHNlYXJjaGluZyBmcm9tIGxlZnQgdG8gcmlnaHQgZm9yIG9jY3VycmVuY2VzIG9mCiAqIHNlcGFyYXRvcjsgdGhlc2Ugb2NjdXJyZW5jZXMgYXJlIG5vdCBwYXJ0IG9mIGFueSBzdWJzdHJpbmcgaW4gdGhlIHJldHVybmVkIGFycmF5LCBidXQgc2VydmUgdG8gZGl2aWRlIHVwCiAqIHRoZSBzdHJpbmcgdmFsdWUuIFRoZSB2YWx1ZSBvZiBzZXBhcmF0b3IgbWF5IGJlIGEgc3RyaW5nIG9mIGFueSBsZW5ndGggb3IgaXQgbWF5IGJlIGEgUmVnRXhwIG9iamVjdAogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS40LzE1LjUuNC4xNC9TMTUuNS40LjE0X0EyX1QyMi5qcwogKiBAZGVzY3JpcHRpb24gQ2FsbCBzcGxpdCgibCIpLCBpbnN0YW5jZSBpcyBTdHJpbmcoImhlbGxvIikKICovCgp2YXIgX19zdHJpbmcgPSBuZXcgU3RyaW5nKCJoZWxsbyIpOwoKdmFyIF9fc3BsaXQgPSBfX3N0cmluZy5zcGxpdCgibCIpOwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAoX19zcGxpdC5jb25zdHJ1Y3RvciAhPT0gQXJyYXkpIHsKICAkRVJST1IoJyMxOiB2YXIgX19zdHJpbmcgPSBuZXcgU3RyaW5nKCJoZWxsbyIpOyBfX3NwbGl0ID0gX19zdHJpbmcuc3BsaXQoImwiKTsgX19zcGxpdC5jb25zdHJ1Y3RvciA9PT0gQXJyYXkuIEFjdHVhbDogJytfX3NwbGl0LmNvbnN0cnVjdG9yICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMyCmlmIChfX3NwbGl0Lmxlbmd0aCAhPT0gMykgewogICRFUlJPUignIzI6IHZhciBfX3N0cmluZyA9IG5ldyBTdHJpbmcoImhlbGxvIik7IF9fc3BsaXQgPSBfX3N0cmluZy5zcGxpdCgibCIpOyBfX3NwbGl0Lmxlbmd0aCA9PT0gMy4gQWN0dWFsOiAnK19fc3BsaXQubGVuZ3RoICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMzCmlmIChfX3NwbGl0WzBdICE9PSAiaGUiKSB7CiAgJEVSUk9SKCcjMzogdmFyIF9fc3RyaW5nID0gbmV3IFN0cmluZygiaGVsbG8iKTsgX19zcGxpdCA9IF9fc3RyaW5nLnNwbGl0KCJsIik7IF9fc3BsaXRbMF0gPT09ICJoZSIuIEFjdHVhbDogJytfX3NwbGl0WzBdKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzQKaWYgKF9fc3BsaXRbMV0gIT09ICIiKSB7CiAgJEVSUk9SKCcjNDogdmFyIF9fc3RyaW5nID0gbmV3IFN0cmluZygiaGVsbG8iKTsgX19zcGxpdCA9IF9fc3RyaW5nLnNwbGl0KCJsIik7IF9fc3BsaXRbMV0gPT09ICIiLiBBY3R1YWw6ICcrX19zcGxpdFsxXSk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyM1CmlmIChfX3NwbGl0WzJdICE9PSAibyIpIHsKICAkRVJST1IoJyM1OiB2YXIgX19zdHJpbmcgPSBuZXcgU3RyaW5nKCJoZWxsbyIpOyBfX3NwbGl0ID0gX19zdHJpbmcuc3BsaXQoImwiKTsgX19zcGxpdFsyXSA9PT0gIm8iLiBBY3R1YWw6ICcrX19zcGxpdFsyXSApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKCg==","commentary":"String.prototype.split (separator, limit) returns an Array object into which substrings of the result of converting this object to a string have\nbeen stored. The substrings are determined by searching from left to right for occurrences of\nseparator; these occurrences are not part of any substring in the returned array, but serve to divide up\nthe string value. The value of separator may be a string of any length or it may be a RegExp object","description":"Call split(\"l\"), instance is String(\"hello\")","path":"TestCases/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A2_T22.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnNwbGl0IChzZXBhcmF0b3IsIGxpbWl0KSByZXR1cm5zIGFuIEFycmF5IG9iamVjdCBpbnRvIHdoaWNoIHN1YnN0cmluZ3Mgb2YgdGhlIHJlc3VsdCBvZiBjb252ZXJ0aW5nIHRoaXMgb2JqZWN0IHRvIGEgc3RyaW5nIGhhdmUKICogYmVlbiBzdG9yZWQuIFRoZSBzdWJzdHJpbmdzIGFyZSBkZXRlcm1pbmVkIGJ5IHNlYXJjaGluZyBmcm9tIGxlZnQgdG8gcmlnaHQgZm9yIG9jY3VycmVuY2VzIG9mCiAqIHNlcGFyYXRvcjsgdGhlc2Ugb2NjdXJyZW5jZXMgYXJlIG5vdCBwYXJ0IG9mIGFueSBzdWJzdHJpbmcgaW4gdGhlIHJldHVybmVkIGFycmF5LCBidXQgc2VydmUgdG8gZGl2aWRlIHVwCiAqIHRoZSBzdHJpbmcgdmFsdWUuIFRoZSB2YWx1ZSBvZiBzZXBhcmF0b3IgbWF5IGJlIGEgc3RyaW5nIG9mIGFueSBsZW5ndGggb3IgaXQgbWF5IGJlIGEgUmVnRXhwIG9iamVjdAogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS40LzE1LjUuNC4xNC9TMTUuNS40LjE0X0EyX1QyMy5qcwogKiBAZGVzY3JpcHRpb24gQ2FsbCBzcGxpdCgieCIpLCBpbnN0YW5jZSBpcyBTdHJpbmcoImhlbGxvIikKICovCgp2YXIgX19zdHJpbmcgPSBuZXcgU3RyaW5nKCJoZWxsbyIpOwoKdmFyIF9fc3BsaXQgPSBfX3N0cmluZy5zcGxpdCgieCIpOwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAoX19zcGxpdC5jb25zdHJ1Y3RvciAhPT0gQXJyYXkpIHsKICAkRVJST1IoJyMxOiB2YXIgX19zdHJpbmcgPSBuZXcgU3RyaW5nKCJoZWxsbyIpOyBfX3NwbGl0ID0gX19zdHJpbmcuc3BsaXQoIngiKTsgX19zcGxpdC5jb25zdHJ1Y3RvciA9PT0gQXJyYXkuIEFjdHVhbDogJytfX3NwbGl0LmNvbnN0cnVjdG9yICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMyCmlmIChfX3NwbGl0Lmxlbmd0aCAhPT0gMSkgewogICRFUlJPUignIzI6IHZhciBfX3N0cmluZyA9IG5ldyBTdHJpbmcoImhlbGxvIik7IF9fc3BsaXQgPSBfX3N0cmluZy5zcGxpdCgieCIpOyBfX3NwbGl0Lmxlbmd0aCA9PT0gMS4gQWN0dWFsOiAnK19fc3BsaXQubGVuZ3RoICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMzCmlmIChfX3NwbGl0WzBdICE9PSAiaGVsbG8iKSB7CiAgJEVSUk9SKCcjMzogdmFyIF9fc3RyaW5nID0gbmV3IFN0cmluZygiaGVsbG8iKTsgX19zcGxpdCA9IF9fc3RyaW5nLnNwbGl0KCJ4Iik7IF9fc3BsaXRbMF0gPT09ICJoZWxsbyIuIEFjdHVhbDogJytfX3NwbGl0WzBdICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgoK","commentary":"String.prototype.split (separator, limit) returns an Array object into which substrings of the result of converting this object to a string have\nbeen stored. The substrings are determined by searching from left to right for occurrences of\nseparator; these occurrences are not part of any substring in the returned array, but serve to divide up\nthe string value. The value of separator may be a string of any length or it may be a RegExp object","description":"Call split(\"x\"), instance is String(\"hello\")","path":"TestCases/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A2_T23.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnNwbGl0IChzZXBhcmF0b3IsIGxpbWl0KSByZXR1cm5zIGFuIEFycmF5IG9iamVjdCBpbnRvIHdoaWNoIHN1YnN0cmluZ3Mgb2YgdGhlIHJlc3VsdCBvZiBjb252ZXJ0aW5nIHRoaXMgb2JqZWN0IHRvIGEgc3RyaW5nIGhhdmUKICogYmVlbiBzdG9yZWQuIFRoZSBzdWJzdHJpbmdzIGFyZSBkZXRlcm1pbmVkIGJ5IHNlYXJjaGluZyBmcm9tIGxlZnQgdG8gcmlnaHQgZm9yIG9jY3VycmVuY2VzIG9mCiAqIHNlcGFyYXRvcjsgdGhlc2Ugb2NjdXJyZW5jZXMgYXJlIG5vdCBwYXJ0IG9mIGFueSBzdWJzdHJpbmcgaW4gdGhlIHJldHVybmVkIGFycmF5LCBidXQgc2VydmUgdG8gZGl2aWRlIHVwCiAqIHRoZSBzdHJpbmcgdmFsdWUuIFRoZSB2YWx1ZSBvZiBzZXBhcmF0b3IgbWF5IGJlIGEgc3RyaW5nIG9mIGFueSBsZW5ndGggb3IgaXQgbWF5IGJlIGEgUmVnRXhwIG9iamVjdAogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS40LzE1LjUuNC4xNC9TMTUuNS40LjE0X0EyX1QyNC5qcwogKiBAZGVzY3JpcHRpb24gQ2FsbCBzcGxpdCgiaCIpLCBpbnN0YW5jZSBpcyBTdHJpbmcoImhlbGxvIikKICovCgp2YXIgX19zdHJpbmcgPSBuZXcgU3RyaW5nKCJoZWxsbyIpOwoKdmFyIF9fc3BsaXQgPSBfX3N0cmluZy5zcGxpdCgiaCIpOwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAoX19zcGxpdC5jb25zdHJ1Y3RvciAhPT0gQXJyYXkpIHsKICAkRVJST1IoJyMxOiB2YXIgX19zdHJpbmcgPSBuZXcgU3RyaW5nKCJoZWxsbyIpOyBfX3NwbGl0ID0gX19zdHJpbmcuc3BsaXQoImgiKTsgX19zcGxpdC5jb25zdHJ1Y3RvciA9PT0gQXJyYXkuIEFjdHVhbDogJytfX3NwbGl0LmNvbnN0cnVjdG9yICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMyCmlmIChfX3NwbGl0Lmxlbmd0aCAhPT0gMikgewogICRFUlJPUignIzI6IHZhciBfX3N0cmluZyA9IG5ldyBTdHJpbmcoImhlbGxvIik7IF9fc3BsaXQgPSBfX3N0cmluZy5zcGxpdCgiaCIpOyBfX3NwbGl0Lmxlbmd0aCA9PT0gMi4gQWN0dWFsOiAnK19fc3BsaXQubGVuZ3RoICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMzCmlmIChfX3NwbGl0WzBdICE9PSAiIikgewogICRFUlJPUignIzM6IHZhciBfX3N0cmluZyA9IG5ldyBTdHJpbmcoImhlbGxvIik7IF9fc3BsaXQgPSBfX3N0cmluZy5zcGxpdCgiaCIpOyBfX3NwbGl0WzBdID09PSAiIi4gQWN0dWFsOiAnK19fc3BsaXRbMF0pOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjNAppZiAoX19zcGxpdFsxXSAhPT0gImVsbG8iKSB7CiAgJEVSUk9SKCcjNDogdmFyIF9fc3RyaW5nID0gbmV3IFN0cmluZygiaGVsbG8iKTsgX19zcGxpdCA9IF9fc3RyaW5nLnNwbGl0KCJoIik7IF9fc3BsaXRbMV0gPT09ICJlbGxvIi4gQWN0dWFsOiAnK19fc3BsaXRbMV0gKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCgo=","commentary":"String.prototype.split (separator, limit) returns an Array object into which substrings of the result of converting this object to a string have\nbeen stored. The substrings are determined by searching from left to right for occurrences of\nseparator; these occurrences are not part of any substring in the returned array, but serve to divide up\nthe string value. The value of separator may be a string of any length or it may be a RegExp object","description":"Call split(\"h\"), instance is String(\"hello\")","path":"TestCases/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A2_T24.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnNwbGl0IChzZXBhcmF0b3IsIGxpbWl0KSByZXR1cm5zIGFuIEFycmF5IG9iamVjdCBpbnRvIHdoaWNoIHN1YnN0cmluZ3Mgb2YgdGhlIHJlc3VsdCBvZiBjb252ZXJ0aW5nIHRoaXMgb2JqZWN0IHRvIGEgc3RyaW5nIGhhdmUKICogYmVlbiBzdG9yZWQuIFRoZSBzdWJzdHJpbmdzIGFyZSBkZXRlcm1pbmVkIGJ5IHNlYXJjaGluZyBmcm9tIGxlZnQgdG8gcmlnaHQgZm9yIG9jY3VycmVuY2VzIG9mCiAqIHNlcGFyYXRvcjsgdGhlc2Ugb2NjdXJyZW5jZXMgYXJlIG5vdCBwYXJ0IG9mIGFueSBzdWJzdHJpbmcgaW4gdGhlIHJldHVybmVkIGFycmF5LCBidXQgc2VydmUgdG8gZGl2aWRlIHVwCiAqIHRoZSBzdHJpbmcgdmFsdWUuIFRoZSB2YWx1ZSBvZiBzZXBhcmF0b3IgbWF5IGJlIGEgc3RyaW5nIG9mIGFueSBsZW5ndGggb3IgaXQgbWF5IGJlIGEgUmVnRXhwIG9iamVjdAogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS40LzE1LjUuNC4xNC9TMTUuNS40LjE0X0EyX1QyNS5qcwogKiBAZGVzY3JpcHRpb24gQ2FsbCBzcGxpdCgibyIpLCBpbnN0YW5jZSBpcyBTdHJpbmcoImhlbGxvIikKICovCgp2YXIgX19zdHJpbmcgPSBuZXcgU3RyaW5nKCJoZWxsbyIpOwoKdmFyIF9fc3BsaXQgPSBfX3N0cmluZy5zcGxpdCgibyIpOwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAoX19zcGxpdC5jb25zdHJ1Y3RvciAhPT0gQXJyYXkpIHsKICAkRVJST1IoJyMxOiB2YXIgX19zdHJpbmcgPSBuZXcgU3RyaW5nKCJoZWxsbyIpOyBfX3NwbGl0ID0gX19zdHJpbmcuc3BsaXQoIm8iKTsgX19zcGxpdC5jb25zdHJ1Y3RvciA9PT0gQXJyYXkuIEFjdHVhbDogJytfX3NwbGl0LmNvbnN0cnVjdG9yICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMyCmlmIChfX3NwbGl0Lmxlbmd0aCAhPT0gMikgewogICRFUlJPUignIzI6IHZhciBfX3N0cmluZyA9IG5ldyBTdHJpbmcoImhlbGxvIik7IF9fc3BsaXQgPSBfX3N0cmluZy5zcGxpdCgibyIpOyBfX3NwbGl0Lmxlbmd0aCA9PT0gMi4gQWN0dWFsOiAnK19fc3BsaXQubGVuZ3RoICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMzCmlmIChfX3NwbGl0WzBdICE9PSAiaGVsbCIpIHsKICAkRVJST1IoJyMzOiB2YXIgX19zdHJpbmcgPSBuZXcgU3RyaW5nKCJoZWxsbyIpOyBfX3NwbGl0ID0gX19zdHJpbmcuc3BsaXQoIm8iKTsgX19zcGxpdFswXSA9PT0gImhlbGwiLiBBY3R1YWw6ICcrX19zcGxpdFswXSk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyM0CmlmIChfX3NwbGl0WzFdICE9PSAiIikgewogICRFUlJPUignIzQ6IHZhciBfX3N0cmluZyA9IG5ldyBTdHJpbmcoImhlbGxvIik7IF9fc3BsaXQgPSBfX3N0cmluZy5zcGxpdCgibyIpOyBfX3NwbGl0WzFdID09PSAiIi4gQWN0dWFsOiAnK19fc3BsaXRbMV0pOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"String.prototype.split (separator, limit) returns an Array object into which substrings of the result of converting this object to a string have\nbeen stored. The substrings are determined by searching from left to right for occurrences of\nseparator; these occurrences are not part of any substring in the returned array, but serve to divide up\nthe string value. The value of separator may be a string of any length or it may be a RegExp object","description":"Call split(\"o\"), instance is String(\"hello\")","path":"TestCases/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A2_T25.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnNwbGl0IChzZXBhcmF0b3IsIGxpbWl0KSByZXR1cm5zIGFuIEFycmF5IG9iamVjdCBpbnRvIHdoaWNoIHN1YnN0cmluZ3Mgb2YgdGhlIHJlc3VsdCBvZiBjb252ZXJ0aW5nIHRoaXMgb2JqZWN0IHRvIGEgc3RyaW5nIGhhdmUKICogYmVlbiBzdG9yZWQuIFRoZSBzdWJzdHJpbmdzIGFyZSBkZXRlcm1pbmVkIGJ5IHNlYXJjaGluZyBmcm9tIGxlZnQgdG8gcmlnaHQgZm9yIG9jY3VycmVuY2VzIG9mCiAqIHNlcGFyYXRvcjsgdGhlc2Ugb2NjdXJyZW5jZXMgYXJlIG5vdCBwYXJ0IG9mIGFueSBzdWJzdHJpbmcgaW4gdGhlIHJldHVybmVkIGFycmF5LCBidXQgc2VydmUgdG8gZGl2aWRlIHVwCiAqIHRoZSBzdHJpbmcgdmFsdWUuIFRoZSB2YWx1ZSBvZiBzZXBhcmF0b3IgbWF5IGJlIGEgc3RyaW5nIG9mIGFueSBsZW5ndGggb3IgaXQgbWF5IGJlIGEgUmVnRXhwIG9iamVjdAogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS40LzE1LjUuNC4xNC9TMTUuNS40LjE0X0EyX1QyNi5qcwogKiBAZGVzY3JpcHRpb24gQ2FsbCBzcGxpdCgiaGVsbG8iKSwgaW5zdGFuY2UgaXMgU3RyaW5nKCJoZWxsbyIpCiAqLwoKdmFyIF9fc3RyaW5nID0gbmV3IFN0cmluZygiaGVsbG8iKTsKCnZhciBfX3NwbGl0ID0gX19zdHJpbmcuc3BsaXQoImhlbGxvIik7CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmIChfX3NwbGl0LmNvbnN0cnVjdG9yICE9PSBBcnJheSkgewogICRFUlJPUignIzE6IHZhciBfX3N0cmluZyA9IG5ldyBTdHJpbmcoImhlbGxvIik7IF9fc3BsaXQgPSBfX3N0cmluZy5zcGxpdCgiaGVsbG8iKTsgX19zcGxpdC5jb25zdHJ1Y3RvciA9PT0gQXJyYXkuIEFjdHVhbDogJytfX3NwbGl0LmNvbnN0cnVjdG9yICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMyCmlmIChfX3NwbGl0Lmxlbmd0aCAhPT0gMikgewogICRFUlJPUignIzI6IHZhciBfX3N0cmluZyA9IG5ldyBTdHJpbmcoImhlbGxvIik7IF9fc3BsaXQgPSBfX3N0cmluZy5zcGxpdCgiaGVsbG8iKTsgX19zcGxpdC5sZW5ndGggPT09IDIuIEFjdHVhbDogJytfX3NwbGl0Lmxlbmd0aCApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMwppZiAoX19zcGxpdFswXSAhPT0gIiIpIHsKICAkRVJST1IoJyMzOiB2YXIgX19zdHJpbmcgPSBuZXcgU3RyaW5nKCJoZWxsbyIpOyBfX3NwbGl0ID0gX19zdHJpbmcuc3BsaXQoImhlbGxvIik7IF9fc3BsaXRbMF0gPT09ICIiLiBBY3R1YWw6ICcrX19zcGxpdFswXSk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyM0CmlmIChfX3NwbGl0WzFdICE9PSAiIikgewogICRFUlJPUignIzQ6IHZhciBfX3N0cmluZyA9IG5ldyBTdHJpbmcoImhlbGxvIik7IF9fc3BsaXQgPSBfX3N0cmluZy5zcGxpdCgiaGVsbG8iKTsgX19zcGxpdFsxXSA9PT0gIiIuIEFjdHVhbDogJytfX3NwbGl0WzFdICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"String.prototype.split (separator, limit) returns an Array object into which substrings of the result of converting this object to a string have\nbeen stored. The substrings are determined by searching from left to right for occurrences of\nseparator; these occurrences are not part of any substring in the returned array, but serve to divide up\nthe string value. The value of separator may be a string of any length or it may be a RegExp object","description":"Call split(\"hello\"), instance is String(\"hello\")","path":"TestCases/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A2_T26.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnNwbGl0IChzZXBhcmF0b3IsIGxpbWl0KSByZXR1cm5zIGFuIEFycmF5IG9iamVjdCBpbnRvIHdoaWNoIHN1YnN0cmluZ3Mgb2YgdGhlIHJlc3VsdCBvZiBjb252ZXJ0aW5nIHRoaXMgb2JqZWN0IHRvIGEgc3RyaW5nIGhhdmUKICogYmVlbiBzdG9yZWQuIFRoZSBzdWJzdHJpbmdzIGFyZSBkZXRlcm1pbmVkIGJ5IHNlYXJjaGluZyBmcm9tIGxlZnQgdG8gcmlnaHQgZm9yIG9jY3VycmVuY2VzIG9mCiAqIHNlcGFyYXRvcjsgdGhlc2Ugb2NjdXJyZW5jZXMgYXJlIG5vdCBwYXJ0IG9mIGFueSBzdWJzdHJpbmcgaW4gdGhlIHJldHVybmVkIGFycmF5LCBidXQgc2VydmUgdG8gZGl2aWRlIHVwCiAqIHRoZSBzdHJpbmcgdmFsdWUuIFRoZSB2YWx1ZSBvZiBzZXBhcmF0b3IgbWF5IGJlIGEgc3RyaW5nIG9mIGFueSBsZW5ndGggb3IgaXQgbWF5IGJlIGEgUmVnRXhwIG9iamVjdAogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS40LzE1LjUuNC4xNC9TMTUuNS40LjE0X0EyX1QyNy5qcwogKiBAZGVzY3JpcHRpb24gQ2FsbCBzcGxpdCh1bmRlZmluZWQpLCBpbnN0YW5jZSBpcyBTdHJpbmcoImhlbGxvIikKICovCgp2YXIgX19zdHJpbmcgPSBuZXcgU3RyaW5nKCJoZWxsbyIpOwoKdmFyIF9fc3BsaXQgPSBfX3N0cmluZy5zcGxpdCh1bmRlZmluZWQpOwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAoX19zcGxpdC5jb25zdHJ1Y3RvciAhPT0gQXJyYXkpIHsKICAkRVJST1IoJyMxOiB2YXIgX19zdHJpbmcgPSBuZXcgU3RyaW5nKCJoZWxsbyIpOyBfX3NwbGl0ID0gX19zdHJpbmcuc3BsaXQodW5kZWZpbmVkKTsgX19zcGxpdC5jb25zdHJ1Y3RvciA9PT0gQXJyYXkuIEFjdHVhbDogJytfX3NwbGl0LmNvbnN0cnVjdG9yICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMyCmlmIChfX3NwbGl0Lmxlbmd0aCAhPT0gMSkgewogICRFUlJPUignIzI6IHZhciBfX3N0cmluZyA9IG5ldyBTdHJpbmcoImhlbGxvIik7IF9fc3BsaXQgPSBfX3N0cmluZy5zcGxpdCh1bmRlZmluZWQpOyBfX3NwbGl0Lmxlbmd0aCA9PT0gMS4gQWN0dWFsOiAnK19fc3BsaXQubGVuZ3RoICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMzCmlmIChfX3NwbGl0WzBdICE9PSAiaGVsbG8iKSB7CiAgJEVSUk9SKCcjMzogdmFyIF9fc3RyaW5nID0gbmV3IFN0cmluZygiaGVsbG8iKTsgX19zcGxpdCA9IF9fc3RyaW5nLnNwbGl0KHVuZGVmaW5lZCk7IF9fc3BsaXRbMF0gPT09ICJoZWxsbyIuIEFjdHVhbDogJytfX3NwbGl0WzBdICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgoK","commentary":"String.prototype.split (separator, limit) returns an Array object into which substrings of the result of converting this object to a string have\nbeen stored. The substrings are determined by searching from left to right for occurrences of\nseparator; these occurrences are not part of any substring in the returned array, but serve to divide up\nthe string value. The value of separator may be a string of any length or it may be a RegExp object","description":"Call split(undefined), instance is String(\"hello\")","path":"TestCases/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A2_T27.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnNwbGl0IChzZXBhcmF0b3IsIGxpbWl0KSByZXR1cm5zIGFuIEFycmF5IG9iamVjdCBpbnRvIHdoaWNoIHN1YnN0cmluZ3Mgb2YgdGhlIHJlc3VsdCBvZiBjb252ZXJ0aW5nIHRoaXMgb2JqZWN0IHRvIGEgc3RyaW5nIGhhdmUKICogYmVlbiBzdG9yZWQuIFRoZSBzdWJzdHJpbmdzIGFyZSBkZXRlcm1pbmVkIGJ5IHNlYXJjaGluZyBmcm9tIGxlZnQgdG8gcmlnaHQgZm9yIG9jY3VycmVuY2VzIG9mCiAqIHNlcGFyYXRvcjsgdGhlc2Ugb2NjdXJyZW5jZXMgYXJlIG5vdCBwYXJ0IG9mIGFueSBzdWJzdHJpbmcgaW4gdGhlIHJldHVybmVkIGFycmF5LCBidXQgc2VydmUgdG8gZGl2aWRlIHVwCiAqIHRoZSBzdHJpbmcgdmFsdWUuIFRoZSB2YWx1ZSBvZiBzZXBhcmF0b3IgbWF5IGJlIGEgc3RyaW5nIG9mIGFueSBsZW5ndGggb3IgaXQgbWF5IGJlIGEgUmVnRXhwIG9iamVjdAogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS40LzE1LjUuNC4xNC9TMTUuNS40LjE0X0EyX1QyOC5qcwogKiBAZGVzY3JpcHRpb24gQ2FsbCBzcGxpdCgiaGVsbG90aGVyZSIpLCBpbnN0YW5jZSBpcyBTdHJpbmcoImhlbGxvIikKICovCgp2YXIgX19zdHJpbmcgPSBuZXcgU3RyaW5nKCJoZWxsbyIpOwoKdmFyIF9fc3BsaXQgPSBfX3N0cmluZy5zcGxpdCgiaGVsbG90aGVyZSIpOwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAoX19zcGxpdC5jb25zdHJ1Y3RvciAhPT0gQXJyYXkpIHsKICAkRVJST1IoJyMxOiB2YXIgX19zdHJpbmcgPSBuZXcgU3RyaW5nKCJoZWxsbyIpOyBfX3NwbGl0ID0gX19zdHJpbmcuc3BsaXQoImhlbGxvdGhlcmUiKTsgX19zcGxpdC5jb25zdHJ1Y3RvciA9PT0gQXJyYXkuIEFjdHVhbDogJytfX3NwbGl0LmNvbnN0cnVjdG9yICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMyCmlmIChfX3NwbGl0Lmxlbmd0aCAhPT0gMSkgewogICRFUlJPUignIzI6IHZhciBfX3N0cmluZyA9IG5ldyBTdHJpbmcoImhlbGxvIik7IF9fc3BsaXQgPSBfX3N0cmluZy5zcGxpdCgiaGVsbG90aGVyZSIpOyBfX3NwbGl0Lmxlbmd0aCA9PT0gMS4gQWN0dWFsOiAnK19fc3BsaXQubGVuZ3RoICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMzCmlmIChfX3NwbGl0WzBdICE9PSAiaGVsbG8iKSB7CiAgJEVSUk9SKCcjMzogdmFyIF9fc3RyaW5nID0gbmV3IFN0cmluZygiaGVsbG8iKTsgX19zcGxpdCA9IF9fc3RyaW5nLnNwbGl0KCJoZWxsb3RoZXJlIik7IF9fc3BsaXRbMF0gPT09ICJoZWxsbyIuIEFjdHVhbDogJytfX3NwbGl0WzBdICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgoK","commentary":"String.prototype.split (separator, limit) returns an Array object into which substrings of the result of converting this object to a string have\nbeen stored. The substrings are determined by searching from left to right for occurrences of\nseparator; these occurrences are not part of any substring in the returned array, but serve to divide up\nthe string value. The value of separator may be a string of any length or it may be a RegExp object","description":"Call split(\"hellothere\"), instance is String(\"hello\")","path":"TestCases/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A2_T28.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnNwbGl0IChzZXBhcmF0b3IsIGxpbWl0KSByZXR1cm5zIGFuIEFycmF5IG9iamVjdCBpbnRvIHdoaWNoIHN1YnN0cmluZ3Mgb2YgdGhlIHJlc3VsdCBvZiBjb252ZXJ0aW5nIHRoaXMgb2JqZWN0IHRvIGEgc3RyaW5nIGhhdmUKICogYmVlbiBzdG9yZWQuIFRoZSBzdWJzdHJpbmdzIGFyZSBkZXRlcm1pbmVkIGJ5IHNlYXJjaGluZyBmcm9tIGxlZnQgdG8gcmlnaHQgZm9yIG9jY3VycmVuY2VzIG9mCiAqIHNlcGFyYXRvcjsgdGhlc2Ugb2NjdXJyZW5jZXMgYXJlIG5vdCBwYXJ0IG9mIGFueSBzdWJzdHJpbmcgaW4gdGhlIHJldHVybmVkIGFycmF5LCBidXQgc2VydmUgdG8gZGl2aWRlIHVwCiAqIHRoZSBzdHJpbmcgdmFsdWUuIFRoZSB2YWx1ZSBvZiBzZXBhcmF0b3IgbWF5IGJlIGEgc3RyaW5nIG9mIGFueSBsZW5ndGggb3IgaXQgbWF5IGJlIGEgUmVnRXhwIG9iamVjdAogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS40LzE1LjUuNC4xNC9TMTUuNS40LjE0X0EyX1QyOS5qcwogKiBAZGVzY3JpcHRpb24gQ2FsbCBzcGxpdCgxKSwgaW5zdGFuY2UgaXMgTnVtYmVyCiAqLwoKdmFyIF9faW5zdGFuY2UgPSBuZXcgTnVtYmVyKDEwMDExMTEyMjEzMzE0NDE1NSk7CgpOdW1iZXIucHJvdG90eXBlLnNwbGl0ID0gU3RyaW5nLnByb3RvdHlwZS5zcGxpdDsKCnZhciBfX3NwbGl0ID0gX19pbnN0YW5jZS5zcGxpdCgxKTsKCnZhciBfX2V4cGVjdGVkID0gWyIiLCIwMCIsIiIsIiIsIiIsIjIyIiwiMzMiLCI0NCIsIjYwIl07CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmIChfX3NwbGl0LmNvbnN0cnVjdG9yICE9PSBBcnJheSkgewogICRFUlJPUignIzE6IF9fc3BsaXQuY29uc3RydWN0b3IgPT09IEFycmF5LiBBY3R1YWw6ICcrX19zcGxpdC5jb25zdHJ1Y3RvciApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMgppZiAoX19zcGxpdC5sZW5ndGggIT09IF9fZXhwZWN0ZWQubGVuZ3RoKSB7CiAgJEVSUk9SKCcjMjogX19zcGxpdC5sZW5ndGggPT09IF9fZXhwZWN0ZWQubGVuZ3RoLiBBY3R1YWw6ICcrX19zcGxpdC5sZW5ndGggKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzMKZm9yKHZhciBpbmRleD0wOyBpbmRleDxfX2V4cGVjdGVkLmxlbmd0aDsgaW5kZXgrKykgewogIGlmIChfX3NwbGl0W2luZGV4XSAhPT0gX19leHBlY3RlZFtpbmRleF0pIHsKICAgICAkRVJST1IoJyMzLicraW5kZXgrJzogX19zcGxpdFsnK2luZGV4KyddID09PSAnK19fZXhwZWN0ZWRbaW5kZXhdKycuIEFjdHVhbDogJytfX3NwbGl0W2luZGV4XSApOwogICAgfQp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKCg==","commentary":"String.prototype.split (separator, limit) returns an Array object into which substrings of the result of converting this object to a string have\nbeen stored. The substrings are determined by searching from left to right for occurrences of\nseparator; these occurrences are not part of any substring in the returned array, but serve to divide up\nthe string value. The value of separator may be a string of any length or it may be a RegExp object","description":"Call split(1), instance is Number","path":"TestCases/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A2_T29.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnNwbGl0IChzZXBhcmF0b3IsIGxpbWl0KSByZXR1cm5zIGFuIEFycmF5IG9iamVjdCBpbnRvIHdoaWNoIHN1YnN0cmluZ3Mgb2YgdGhlIHJlc3VsdCBvZiBjb252ZXJ0aW5nIHRoaXMgb2JqZWN0IHRvIGEgc3RyaW5nIGhhdmUKICogYmVlbiBzdG9yZWQuIFRoZSBzdWJzdHJpbmdzIGFyZSBkZXRlcm1pbmVkIGJ5IHNlYXJjaGluZyBmcm9tIGxlZnQgdG8gcmlnaHQgZm9yIG9jY3VycmVuY2VzIG9mCiAqIHNlcGFyYXRvcjsgdGhlc2Ugb2NjdXJyZW5jZXMgYXJlIG5vdCBwYXJ0IG9mIGFueSBzdWJzdHJpbmcgaW4gdGhlIHJldHVybmVkIGFycmF5LCBidXQgc2VydmUgdG8gZGl2aWRlIHVwCiAqIHRoZSBzdHJpbmcgdmFsdWUuIFRoZSB2YWx1ZSBvZiBzZXBhcmF0b3IgbWF5IGJlIGEgc3RyaW5nIG9mIGFueSBsZW5ndGggb3IgaXQgbWF5IGJlIGEgUmVnRXhwIG9iamVjdAogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS40LzE1LjUuNC4xNC9TMTUuNS40LjE0X0EyX1QzLmpzCiAqIEBkZXNjcmlwdGlvbiBDYWxsIHNwbGl0KC8gLywyKSwgaW5zdGFuY2UgaXMgU3RyaW5nKCJvbmUgdHdvIHRocmVlIGZvdXIgZml2ZSIpCiAqLwoKdmFyIF9fc3RyaW5nID0gbmV3IFN0cmluZygib25lIHR3byB0aHJlZSBmb3VyIGZpdmUiKTsKCnZhciBfX3NwbGl0ID0gX19zdHJpbmcuc3BsaXQoLyAvLDIpOwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAoX19zcGxpdC5jb25zdHJ1Y3RvciAhPT0gQXJyYXkpIHsKICAkRVJST1IoJyMxOiB2YXIgX19zdHJpbmcgPSBuZXcgU3RyaW5nKCJvbmUgdHdvIHRocmVlIGZvdXIgZml2ZSIpOyBfX3NwbGl0ID0gX19zdHJpbmcuc3BsaXQoLyAvLDIpOyBfX3NwbGl0LmNvbnN0cnVjdG9yID09PSBBcnJheS4gQWN0dWFsOiAnK19fc3BsaXQuY29uc3RydWN0b3IgKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzIKaWYgKF9fc3BsaXQubGVuZ3RoICE9PSAyKSB7CiAgJEVSUk9SKCcjMjogdmFyIF9fc3RyaW5nID0gbmV3IFN0cmluZygib25lIHR3byB0aHJlZSBmb3VyIGZpdmUiKTsgX19zcGxpdCA9IF9fc3RyaW5nLnNwbGl0KC8gLywyKTsgX19zcGxpdC5sZW5ndGggPT09IDIuIEFjdHVhbDogJytfX3NwbGl0Lmxlbmd0aCApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMwppZiAoX19zcGxpdFswXSAhPT0gIm9uZSIpIHsKICAkRVJST1IoJyMzOiB2YXIgX19zdHJpbmcgPSBuZXcgU3RyaW5nKCJvbmUgdHdvIHRocmVlIGZvdXIgZml2ZSIpOyBfX3NwbGl0ID0gX19zdHJpbmcuc3BsaXQoLyAvLDIpOyBfX3NwbGl0WzBdID09PSAib25lIi4gQWN0dWFsOiAnK19fc3BsaXRbMF0gKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzQKaWYgKF9fc3BsaXRbMV0gIT09ICJ0d28iKSB7CiAgJEVSUk9SKCcjNDogdmFyIF9fc3RyaW5nID0gbmV3IFN0cmluZygib25lIHR3byB0aHJlZSBmb3VyIGZpdmUiKTsgX19zcGxpdCA9IF9fc3RyaW5nLnNwbGl0KC8gLywyKTsgX19zcGxpdFsxXSA9PT0gInR3byIuIEFjdHVhbDogJytfX3NwbGl0WzFdICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"String.prototype.split (separator, limit) returns an Array object into which substrings of the result of converting this object to a string have\nbeen stored. The substrings are determined by searching from left to right for occurrences of\nseparator; these occurrences are not part of any substring in the returned array, but serve to divide up\nthe string value. The value of separator may be a string of any length or it may be a RegExp object","description":"Call split(/ /,2), instance is String(\"one two three four five\")","path":"TestCases/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A2_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnNwbGl0IChzZXBhcmF0b3IsIGxpbWl0KSByZXR1cm5zIGFuIEFycmF5IG9iamVjdCBpbnRvIHdoaWNoIHN1YnN0cmluZ3Mgb2YgdGhlIHJlc3VsdCBvZiBjb252ZXJ0aW5nIHRoaXMgb2JqZWN0IHRvIGEgc3RyaW5nIGhhdmUKICogYmVlbiBzdG9yZWQuIFRoZSBzdWJzdHJpbmdzIGFyZSBkZXRlcm1pbmVkIGJ5IHNlYXJjaGluZyBmcm9tIGxlZnQgdG8gcmlnaHQgZm9yIG9jY3VycmVuY2VzIG9mCiAqIHNlcGFyYXRvcjsgdGhlc2Ugb2NjdXJyZW5jZXMgYXJlIG5vdCBwYXJ0IG9mIGFueSBzdWJzdHJpbmcgaW4gdGhlIHJldHVybmVkIGFycmF5LCBidXQgc2VydmUgdG8gZGl2aWRlIHVwCiAqIHRoZSBzdHJpbmcgdmFsdWUuIFRoZSB2YWx1ZSBvZiBzZXBhcmF0b3IgbWF5IGJlIGEgc3RyaW5nIG9mIGFueSBsZW5ndGggb3IgaXQgbWF5IGJlIGEgUmVnRXhwIG9iamVjdAogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS40LzE1LjUuNC4xNC9TMTUuNS40LjE0X0EyX1QzMC5qcwogKiBAZGVzY3JpcHRpb24gQ2FsbCBzcGxpdCgxLDEpLCBpbnN0YW5jZSBpcyBOdW1iZXIKICovCgp2YXIgX19pbnN0YW5jZSA9IG5ldyBOdW1iZXIoMTAwMTExMTIyMTMzMTQ0MTU1KTsKCk51bWJlci5wcm90b3R5cGUuc3BsaXQgPSBTdHJpbmcucHJvdG90eXBlLnNwbGl0OwoKdmFyIF9fc3BsaXQgPSBfX2luc3RhbmNlLnNwbGl0KDEsMSk7Cgp2YXIgX19leHBlY3RlZCA9IFsiIl07CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmIChfX3NwbGl0LmNvbnN0cnVjdG9yICE9PSBBcnJheSkgewogICRFUlJPUignIzE6IF9fc3BsaXQuY29uc3RydWN0b3IgPT09IEFycmF5LiBBY3R1YWw6ICcrX19zcGxpdC5jb25zdHJ1Y3RvciApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMgppZiAoX19zcGxpdC5sZW5ndGggIT09IF9fZXhwZWN0ZWQubGVuZ3RoKSB7CiAgJEVSUk9SKCcjMjogX19zcGxpdC5sZW5ndGggPT09IF9fZXhwZWN0ZWQubGVuZ3RoLiBBY3R1YWw6ICcrX19zcGxpdC5sZW5ndGggKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzMKaWYgKF9fc3BsaXRbMF0gIT09IF9fZXhwZWN0ZWRbMF0pIHsKICAkRVJST1IoJyMzOiBfX3NwbGl0WzBdID09PSAnK19fZXhwZWN0ZWRbMF0rJy4gQWN0dWFsOiAnK19fc3BsaXRbaW5kZXhdICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgoK","commentary":"String.prototype.split (separator, limit) returns an Array object into which substrings of the result of converting this object to a string have\nbeen stored. The substrings are determined by searching from left to right for occurrences of\nseparator; these occurrences are not part of any substring in the returned array, but serve to divide up\nthe string value. The value of separator may be a string of any length or it may be a RegExp object","description":"Call split(1,1), instance is Number","path":"TestCases/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A2_T30.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnNwbGl0IChzZXBhcmF0b3IsIGxpbWl0KSByZXR1cm5zIGFuIEFycmF5IG9iamVjdCBpbnRvIHdoaWNoIHN1YnN0cmluZ3Mgb2YgdGhlIHJlc3VsdCBvZiBjb252ZXJ0aW5nIHRoaXMgb2JqZWN0IHRvIGEgc3RyaW5nIGhhdmUKICogYmVlbiBzdG9yZWQuIFRoZSBzdWJzdHJpbmdzIGFyZSBkZXRlcm1pbmVkIGJ5IHNlYXJjaGluZyBmcm9tIGxlZnQgdG8gcmlnaHQgZm9yIG9jY3VycmVuY2VzIG9mCiAqIHNlcGFyYXRvcjsgdGhlc2Ugb2NjdXJyZW5jZXMgYXJlIG5vdCBwYXJ0IG9mIGFueSBzdWJzdHJpbmcgaW4gdGhlIHJldHVybmVkIGFycmF5LCBidXQgc2VydmUgdG8gZGl2aWRlIHVwCiAqIHRoZSBzdHJpbmcgdmFsdWUuIFRoZSB2YWx1ZSBvZiBzZXBhcmF0b3IgbWF5IGJlIGEgc3RyaW5nIG9mIGFueSBsZW5ndGggb3IgaXQgbWF5IGJlIGEgUmVnRXhwIG9iamVjdAogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS40LzE1LjUuNC4xNC9TMTUuNS40LjE0X0EyX1QzMS5qcwogKiBAZGVzY3JpcHRpb24gQ2FsbCBzcGxpdCgxLDIpLCBpbnN0YW5jZSBpcyBOdW1iZXIKICovCgp2YXIgX19pbnN0YW5jZSA9IG5ldyBOdW1iZXIoMTAwMTExMTIyMTMzMTQ0MTU1KTsKCk51bWJlci5wcm90b3R5cGUuc3BsaXQgPSBTdHJpbmcucHJvdG90eXBlLnNwbGl0OwoKdmFyIF9fc3BsaXQgPSBfX2luc3RhbmNlLnNwbGl0KDEsMik7Cgp2YXIgX19leHBlY3RlZCA9IFsiIiwiMDAiXTsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKF9fc3BsaXQuY29uc3RydWN0b3IgIT09IEFycmF5KSB7CiAgJEVSUk9SKCcjMTogX19zcGxpdC5jb25zdHJ1Y3RvciA9PT0gQXJyYXkuIEFjdHVhbDogJytfX3NwbGl0LmNvbnN0cnVjdG9yICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMyCmlmIChfX3NwbGl0Lmxlbmd0aCAhPT0gX19leHBlY3RlZC5sZW5ndGgpIHsKICAkRVJST1IoJyMyOiBfX3NwbGl0Lmxlbmd0aCA9PT0gX19leHBlY3RlZC5sZW5ndGguIEFjdHVhbDogJytfX3NwbGl0Lmxlbmd0aCApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMwpmb3IodmFyIGluZGV4PTA7IGluZGV4PF9fZXhwZWN0ZWQubGVuZ3RoOyBpbmRleCsrKSB7CiAgaWYgKF9fc3BsaXRbaW5kZXhdICE9PSBfX2V4cGVjdGVkW2luZGV4XSkgewogICAgICRFUlJPUignIzMuJytpbmRleCsnOiBfX3NwbGl0W2luZGV4XSA9PT0gJytfX2V4cGVjdGVkW2luZGV4XSsnLiBBY3R1YWw6ICcrX19zcGxpdFtpbmRleF0gKTsKICAgIH0KfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCgo=","commentary":"String.prototype.split (separator, limit) returns an Array object into which substrings of the result of converting this object to a string have\nbeen stored. The substrings are determined by searching from left to right for occurrences of\nseparator; these occurrences are not part of any substring in the returned array, but serve to divide up\nthe string value. The value of separator may be a string of any length or it may be a RegExp object","description":"Call split(1,2), instance is Number","path":"TestCases/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A2_T31.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnNwbGl0IChzZXBhcmF0b3IsIGxpbWl0KSByZXR1cm5zIGFuIEFycmF5IG9iamVjdCBpbnRvIHdoaWNoIHN1YnN0cmluZ3Mgb2YgdGhlIHJlc3VsdCBvZiBjb252ZXJ0aW5nIHRoaXMgb2JqZWN0IHRvIGEgc3RyaW5nIGhhdmUKICogYmVlbiBzdG9yZWQuIFRoZSBzdWJzdHJpbmdzIGFyZSBkZXRlcm1pbmVkIGJ5IHNlYXJjaGluZyBmcm9tIGxlZnQgdG8gcmlnaHQgZm9yIG9jY3VycmVuY2VzIG9mCiAqIHNlcGFyYXRvcjsgdGhlc2Ugb2NjdXJyZW5jZXMgYXJlIG5vdCBwYXJ0IG9mIGFueSBzdWJzdHJpbmcgaW4gdGhlIHJldHVybmVkIGFycmF5LCBidXQgc2VydmUgdG8gZGl2aWRlIHVwCiAqIHRoZSBzdHJpbmcgdmFsdWUuIFRoZSB2YWx1ZSBvZiBzZXBhcmF0b3IgbWF5IGJlIGEgc3RyaW5nIG9mIGFueSBsZW5ndGggb3IgaXQgbWF5IGJlIGEgUmVnRXhwIG9iamVjdAogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS40LzE1LjUuNC4xNC9TMTUuNS40LjE0X0EyX1QzMi5qcwogKiBAZGVzY3JpcHRpb24gQ2FsbCBzcGxpdCgxLDApLCBpbnN0YW5jZSBpcyBOdW1iZXIKICovCgp2YXIgX19pbnN0YW5jZSA9IG5ldyBOdW1iZXIoMTAwMTExMTIyMTMzMTQ0MTU1KTsKCk51bWJlci5wcm90b3R5cGUuc3BsaXQgPSBTdHJpbmcucHJvdG90eXBlLnNwbGl0OwoKdmFyIF9fc3BsaXQgPSBfX2luc3RhbmNlLnNwbGl0KDEsMCk7Cgp2YXIgX19leHBlY3RlZCA9IFtdOwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAoX19zcGxpdC5jb25zdHJ1Y3RvciAhPT0gQXJyYXkpIHsKICAkRVJST1IoJyMxOiBfX3NwbGl0LmNvbnN0cnVjdG9yID09PSBBcnJheS4gQWN0dWFsOiAnK19fc3BsaXQuY29uc3RydWN0b3IgKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzIKaWYgKF9fc3BsaXQubGVuZ3RoICE9PSBfX2V4cGVjdGVkLmxlbmd0aCkgewogICRFUlJPUignIzI6IF9fc3BsaXQubGVuZ3RoID09PSBfX2V4cGVjdGVkLmxlbmd0aC4gQWN0dWFsOiAnK19fc3BsaXQubGVuZ3RoICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMzCmlmIChfX3NwbGl0WzBdICE9PSBfX2V4cGVjdGVkWzBdKSB7CiAgJEVSUk9SKCcjMzogX19zcGxpdFswXSA9PT0gJytfX2V4cGVjdGVkWzBdKycuIEFjdHVhbDogJytfX3NwbGl0W2luZGV4XSApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKCg==","commentary":"String.prototype.split (separator, limit) returns an Array object into which substrings of the result of converting this object to a string have\nbeen stored. The substrings are determined by searching from left to right for occurrences of\nseparator; these occurrences are not part of any substring in the returned array, but serve to divide up\nthe string value. The value of separator may be a string of any length or it may be a RegExp object","description":"Call split(1,0), instance is Number","path":"TestCases/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A2_T32.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnNwbGl0IChzZXBhcmF0b3IsIGxpbWl0KSByZXR1cm5zIGFuIEFycmF5IG9iamVjdCBpbnRvIHdoaWNoIHN1YnN0cmluZ3Mgb2YgdGhlIHJlc3VsdCBvZiBjb252ZXJ0aW5nIHRoaXMgb2JqZWN0IHRvIGEgc3RyaW5nIGhhdmUKICogYmVlbiBzdG9yZWQuIFRoZSBzdWJzdHJpbmdzIGFyZSBkZXRlcm1pbmVkIGJ5IHNlYXJjaGluZyBmcm9tIGxlZnQgdG8gcmlnaHQgZm9yIG9jY3VycmVuY2VzIG9mCiAqIHNlcGFyYXRvcjsgdGhlc2Ugb2NjdXJyZW5jZXMgYXJlIG5vdCBwYXJ0IG9mIGFueSBzdWJzdHJpbmcgaW4gdGhlIHJldHVybmVkIGFycmF5LCBidXQgc2VydmUgdG8gZGl2aWRlIHVwCiAqIHRoZSBzdHJpbmcgdmFsdWUuIFRoZSB2YWx1ZSBvZiBzZXBhcmF0b3IgbWF5IGJlIGEgc3RyaW5nIG9mIGFueSBsZW5ndGggb3IgaXQgbWF5IGJlIGEgUmVnRXhwIG9iamVjdAogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS40LzE1LjUuNC4xNC9TMTUuNS40LjE0X0EyX1QzMy5qcwogKiBAZGVzY3JpcHRpb24gQ2FsbCBzcGxpdCgxLDEwMCksIGluc3RhbmNlIGlzIE51bWJlcgogKi8KCnZhciBfX2luc3RhbmNlID0gbmV3IE51bWJlcigxMDAxMTExMjIxMzMxNDQxNTUpOwoKTnVtYmVyLnByb3RvdHlwZS5zcGxpdCA9IFN0cmluZy5wcm90b3R5cGUuc3BsaXQ7Cgp2YXIgX19zcGxpdCA9IF9faW5zdGFuY2Uuc3BsaXQoMSwxMDApOwoKdmFyIF9fZXhwZWN0ZWQgPSBbIiIsIjAwIiwiIiwiIiwiIiwiMjIiLCIzMyIsIjQ0IiwiNjAiXTsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKF9fc3BsaXQuY29uc3RydWN0b3IgIT09IEFycmF5KSB7CiAgJEVSUk9SKCcjMTogX19zcGxpdC5jb25zdHJ1Y3RvciA9PT0gQXJyYXkuIEFjdHVhbDogJytfX3NwbGl0LmNvbnN0cnVjdG9yICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMyCmlmIChfX3NwbGl0Lmxlbmd0aCAhPT0gX19leHBlY3RlZC5sZW5ndGgpIHsKICAkRVJST1IoJyMyOiBfX3NwbGl0Lmxlbmd0aCA9PT0gX19leHBlY3RlZC5sZW5ndGguIEFjdHVhbDogJytfX3NwbGl0Lmxlbmd0aCApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMwpmb3IodmFyIGluZGV4PTA7IGluZGV4PF9fZXhwZWN0ZWQubGVuZ3RoOyBpbmRleCsrKSB7CiAgaWYgKF9fc3BsaXRbaW5kZXhdICE9PSBfX2V4cGVjdGVkW2luZGV4XSkgewogICAgICRFUlJPUignIzMuJytpbmRleCsnOiBfX3NwbGl0W2luZGV4XSA9PT0gJytfX2V4cGVjdGVkW2luZGV4XSsnLiBBY3R1YWw6ICcrX19zcGxpdFtpbmRleF0gKTsKICAgIH0KfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCgo=","commentary":"String.prototype.split (separator, limit) returns an Array object into which substrings of the result of converting this object to a string have\nbeen stored. The substrings are determined by searching from left to right for occurrences of\nseparator; these occurrences are not part of any substring in the returned array, but serve to divide up\nthe string value. The value of separator may be a string of any length or it may be a RegExp object","description":"Call split(1,100), instance is Number","path":"TestCases/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A2_T33.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnNwbGl0IChzZXBhcmF0b3IsIGxpbWl0KSByZXR1cm5zIGFuIEFycmF5IG9iamVjdCBpbnRvIHdoaWNoIHN1YnN0cmluZ3Mgb2YgdGhlIHJlc3VsdCBvZiBjb252ZXJ0aW5nIHRoaXMgb2JqZWN0IHRvIGEgc3RyaW5nIGhhdmUKICogYmVlbiBzdG9yZWQuIFRoZSBzdWJzdHJpbmdzIGFyZSBkZXRlcm1pbmVkIGJ5IHNlYXJjaGluZyBmcm9tIGxlZnQgdG8gcmlnaHQgZm9yIG9jY3VycmVuY2VzIG9mCiAqIHNlcGFyYXRvcjsgdGhlc2Ugb2NjdXJyZW5jZXMgYXJlIG5vdCBwYXJ0IG9mIGFueSBzdWJzdHJpbmcgaW4gdGhlIHJldHVybmVkIGFycmF5LCBidXQgc2VydmUgdG8gZGl2aWRlIHVwCiAqIHRoZSBzdHJpbmcgdmFsdWUuIFRoZSB2YWx1ZSBvZiBzZXBhcmF0b3IgbWF5IGJlIGEgc3RyaW5nIG9mIGFueSBsZW5ndGggb3IgaXQgbWF5IGJlIGEgUmVnRXhwIG9iamVjdAogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS40LzE1LjUuNC4xNC9TMTUuNS40LjE0X0EyX1QzNC5qcwogKiBAZGVzY3JpcHRpb24gQ2FsbCBzcGxpdCgxLHZvaWQgMCksIGluc3RhbmNlIGlzIE51bWJlcgogKi8KCnZhciBfX2luc3RhbmNlID0gbmV3IE51bWJlcigxMDAxMTExMjIxMzMxNDQxNTUpOwoKTnVtYmVyLnByb3RvdHlwZS5zcGxpdCA9IFN0cmluZy5wcm90b3R5cGUuc3BsaXQ7Cgp2YXIgX19zcGxpdCA9IF9faW5zdGFuY2Uuc3BsaXQoMSx2b2lkIDApOwoKdmFyIF9fZXhwZWN0ZWQgPSBbIiIsIjAwIiwiIiwiIiwiIiwiMjIiLCIzMyIsIjQ0IiwiNjAiXTsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKF9fc3BsaXQuY29uc3RydWN0b3IgIT09IEFycmF5KSB7CiAgJEVSUk9SKCcjMTogX19zcGxpdC5jb25zdHJ1Y3RvciA9PT0gQXJyYXkuIEFjdHVhbDogJytfX3NwbGl0LmNvbnN0cnVjdG9yICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMyCmlmIChfX3NwbGl0Lmxlbmd0aCAhPT0gX19leHBlY3RlZC5sZW5ndGgpIHsKICAkRVJST1IoJyMyOiBfX3NwbGl0Lmxlbmd0aCA9PT0gX19leHBlY3RlZC5sZW5ndGguIEFjdHVhbDogJytfX3NwbGl0Lmxlbmd0aCApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMwpmb3IodmFyIGluZGV4PTA7IGluZGV4PF9fZXhwZWN0ZWQubGVuZ3RoOyBpbmRleCsrKSB7CiAgaWYgKF9fc3BsaXRbaW5kZXhdICE9PSBfX2V4cGVjdGVkW2luZGV4XSkgewogICAgICRFUlJPUignIzM6IF9fc3BsaXRbaW5kZXhdID09PSBfX2V4cGVjdGVkW2luZGV4XS4gQWN0dWFsOiAnK19fc3BsaXRbaW5kZXhdICk7CiAgICB9Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgoK","commentary":"String.prototype.split (separator, limit) returns an Array object into which substrings of the result of converting this object to a string have\nbeen stored. The substrings are determined by searching from left to right for occurrences of\nseparator; these occurrences are not part of any substring in the returned array, but serve to divide up\nthe string value. The value of separator may be a string of any length or it may be a RegExp object","description":"Call split(1,void 0), instance is Number","path":"TestCases/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A2_T34.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnNwbGl0IChzZXBhcmF0b3IsIGxpbWl0KSByZXR1cm5zIGFuIEFycmF5IG9iamVjdCBpbnRvIHdoaWNoIHN1YnN0cmluZ3Mgb2YgdGhlIHJlc3VsdCBvZiBjb252ZXJ0aW5nIHRoaXMgb2JqZWN0IHRvIGEgc3RyaW5nIGhhdmUKICogYmVlbiBzdG9yZWQuIFRoZSBzdWJzdHJpbmdzIGFyZSBkZXRlcm1pbmVkIGJ5IHNlYXJjaGluZyBmcm9tIGxlZnQgdG8gcmlnaHQgZm9yIG9jY3VycmVuY2VzIG9mCiAqIHNlcGFyYXRvcjsgdGhlc2Ugb2NjdXJyZW5jZXMgYXJlIG5vdCBwYXJ0IG9mIGFueSBzdWJzdHJpbmcgaW4gdGhlIHJldHVybmVkIGFycmF5LCBidXQgc2VydmUgdG8gZGl2aWRlIHVwCiAqIHRoZSBzdHJpbmcgdmFsdWUuIFRoZSB2YWx1ZSBvZiBzZXBhcmF0b3IgbWF5IGJlIGEgc3RyaW5nIG9mIGFueSBsZW5ndGggb3IgaXQgbWF5IGJlIGEgUmVnRXhwIG9iamVjdAogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS40LzE1LjUuNC4xNC9TMTUuNS40LjE0X0EyX1QzNS5qcwogKiBAZGVzY3JpcHRpb24gQ2FsbCBzcGxpdCgxLCBNYXRoLnBvdygyLDMyKS0xKSwgaW5zdGFuY2UgaXMgTnVtYmVyCiAqLwoKdmFyIF9faW5zdGFuY2UgPSBuZXcgTnVtYmVyKDEwMDExMTEyMjEzMzE0NDE1NSk7CgpOdW1iZXIucHJvdG90eXBlLnNwbGl0ID0gU3RyaW5nLnByb3RvdHlwZS5zcGxpdDsKCnZhciBfX3NwbGl0ID0gX19pbnN0YW5jZS5zcGxpdCgxLCBNYXRoLnBvdygyLDMyKS0xKTsKCnZhciBfX2V4cGVjdGVkID0gWyIiLCIwMCIsIiIsIiIsIiIsIjIyIiwiMzMiLCI0NCIsIjYwIl07CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmIChfX3NwbGl0LmNvbnN0cnVjdG9yICE9PSBBcnJheSkgewogICRFUlJPUignIzE6IF9fc3BsaXQuY29uc3RydWN0b3IgPT09IEFycmF5LiBBY3R1YWw6ICcrX19zcGxpdC5jb25zdHJ1Y3RvciApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMgppZiAoX19zcGxpdC5sZW5ndGggIT09IF9fZXhwZWN0ZWQubGVuZ3RoKSB7CiAgJEVSUk9SKCcjMjogX19zcGxpdC5sZW5ndGggPT09IF9fZXhwZWN0ZWQubGVuZ3RoLiBBY3R1YWw6ICcrX19zcGxpdC5sZW5ndGggKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzMKZm9yKHZhciBpbmRleD0wOyBpbmRleDxfX2V4cGVjdGVkLmxlbmd0aDsgaW5kZXgrKykgewogIGlmIChfX3NwbGl0W2luZGV4XSAhPT0gX19leHBlY3RlZFtpbmRleF0pIHsKICAgICAkRVJST1IoJyMzLicraW5kZXgrJzogX19zcGxpdFtpbmRleF0gPT09ICcrX19leHBlY3RlZFtpbmRleF0rJy4gQWN0dWFsOiAnK19fc3BsaXRbaW5kZXhdICk7CiAgICB9Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgoK","commentary":"String.prototype.split (separator, limit) returns an Array object into which substrings of the result of converting this object to a string have\nbeen stored. The substrings are determined by searching from left to right for occurrences of\nseparator; these occurrences are not part of any substring in the returned array, but serve to divide up\nthe string value. The value of separator may be a string of any length or it may be a RegExp object","description":"Call split(1, Math.pow(2,32)-1), instance is Number","path":"TestCases/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A2_T35.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnNwbGl0IChzZXBhcmF0b3IsIGxpbWl0KSByZXR1cm5zIGFuIEFycmF5IG9iamVjdCBpbnRvIHdoaWNoIHN1YnN0cmluZ3Mgb2YgdGhlIHJlc3VsdCBvZiBjb252ZXJ0aW5nIHRoaXMgb2JqZWN0IHRvIGEgc3RyaW5nIGhhdmUKICogYmVlbiBzdG9yZWQuIFRoZSBzdWJzdHJpbmdzIGFyZSBkZXRlcm1pbmVkIGJ5IHNlYXJjaGluZyBmcm9tIGxlZnQgdG8gcmlnaHQgZm9yIG9jY3VycmVuY2VzIG9mCiAqIHNlcGFyYXRvcjsgdGhlc2Ugb2NjdXJyZW5jZXMgYXJlIG5vdCBwYXJ0IG9mIGFueSBzdWJzdHJpbmcgaW4gdGhlIHJldHVybmVkIGFycmF5LCBidXQgc2VydmUgdG8gZGl2aWRlIHVwCiAqIHRoZSBzdHJpbmcgdmFsdWUuIFRoZSB2YWx1ZSBvZiBzZXBhcmF0b3IgbWF5IGJlIGEgc3RyaW5nIG9mIGFueSBsZW5ndGggb3IgaXQgbWF5IGJlIGEgUmVnRXhwIG9iamVjdAogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS40LzE1LjUuNC4xNC9TMTUuNS40LjE0X0EyX1QzNi5qcwogKiBAZGVzY3JpcHRpb24gQ2FsbCBzcGxpdCgxLCJib28iKSwgaW5zdGFuY2UgaXMgTnVtYmVyCiAqLwoKdmFyIF9faW5zdGFuY2UgPSBuZXcgTnVtYmVyKDEwMDExMTEyMjEzMzE0NDE1NSk7CgpOdW1iZXIucHJvdG90eXBlLnNwbGl0ID0gU3RyaW5nLnByb3RvdHlwZS5zcGxpdDsKCnZhciBfX3NwbGl0ID0gX19pbnN0YW5jZS5zcGxpdCgxLCAiYm9vIik7Cgp2YXIgX19leHBlY3RlZCA9IFtdOwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAoX19zcGxpdC5jb25zdHJ1Y3RvciAhPT0gQXJyYXkpIHsKICAkRVJST1IoJyMxOiBfX3NwbGl0LmNvbnN0cnVjdG9yID09PSBBcnJheS4gQWN0dWFsOiAnK19fc3BsaXQuY29uc3RydWN0b3IgKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzIKaWYgKF9fc3BsaXQubGVuZ3RoICE9PSBfX2V4cGVjdGVkLmxlbmd0aCkgewogICRFUlJPUignIzI6IF9fc3BsaXQubGVuZ3RoID09PSBfX2V4cGVjdGVkLmxlbmd0aC4gQWN0dWFsOiAnK19fc3BsaXQubGVuZ3RoICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMzCmlmIChfX3NwbGl0WzBdICE9PSBfX2V4cGVjdGVkWzBdKSB7CiAgJEVSUk9SKCcjMzogX19zcGxpdFswXSA9PT0gJytfX2V4cGVjdGVkWzBdKycuIEFjdHVhbDogJytfX3NwbGl0W2luZGV4XSApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKCg==","commentary":"String.prototype.split (separator, limit) returns an Array object into which substrings of the result of converting this object to a string have\nbeen stored. The substrings are determined by searching from left to right for occurrences of\nseparator; these occurrences are not part of any substring in the returned array, but serve to divide up\nthe string value. The value of separator may be a string of any length or it may be a RegExp object","description":"Call split(1,\"boo\"), instance is Number","path":"TestCases/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A2_T36.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnNwbGl0IChzZXBhcmF0b3IsIGxpbWl0KSByZXR1cm5zIGFuIEFycmF5IG9iamVjdCBpbnRvIHdoaWNoIHN1YnN0cmluZ3Mgb2YgdGhlIHJlc3VsdCBvZiBjb252ZXJ0aW5nIHRoaXMgb2JqZWN0IHRvIGEgc3RyaW5nIGhhdmUKICogYmVlbiBzdG9yZWQuIFRoZSBzdWJzdHJpbmdzIGFyZSBkZXRlcm1pbmVkIGJ5IHNlYXJjaGluZyBmcm9tIGxlZnQgdG8gcmlnaHQgZm9yIG9jY3VycmVuY2VzIG9mCiAqIHNlcGFyYXRvcjsgdGhlc2Ugb2NjdXJyZW5jZXMgYXJlIG5vdCBwYXJ0IG9mIGFueSBzdWJzdHJpbmcgaW4gdGhlIHJldHVybmVkIGFycmF5LCBidXQgc2VydmUgdG8gZGl2aWRlIHVwCiAqIHRoZSBzdHJpbmcgdmFsdWUuIFRoZSB2YWx1ZSBvZiBzZXBhcmF0b3IgbWF5IGJlIGEgc3RyaW5nIG9mIGFueSBsZW5ndGggb3IgaXQgbWF5IGJlIGEgUmVnRXhwIG9iamVjdAogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS40LzE1LjUuNC4xNC9TMTUuNS40LjE0X0EyX1QzNy5qcwogKiBAZGVzY3JpcHRpb24gQ2FsbCBzcGxpdCgxLC1NYXRoLnBvdygyLDMyKSsxKSwgaW5zdGFuY2UgaXMgTnVtYmVyCiAqLwoKdmFyIF9faW5zdGFuY2UgPSBuZXcgTnVtYmVyKDEwMDExMTEyMjEzMzE0NDE1NSk7CgpOdW1iZXIucHJvdG90eXBlLnNwbGl0ID0gU3RyaW5nLnByb3RvdHlwZS5zcGxpdDsKCnZhciBfX3NwbGl0ID0gX19pbnN0YW5jZS5zcGxpdCgxLCAtTWF0aC5wb3coMiwzMikrMSk7Cgp2YXIgX19leHBlY3RlZCA9IFsiIl07CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmIChfX3NwbGl0LmNvbnN0cnVjdG9yICE9PSBBcnJheSkgewogICRFUlJPUignIzE6IF9fc3BsaXQuY29uc3RydWN0b3IgPT09IEFycmF5LiBBY3R1YWw6ICcrX19zcGxpdC5jb25zdHJ1Y3RvciApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMgppZiAoX19zcGxpdC5sZW5ndGggIT09IF9fZXhwZWN0ZWQubGVuZ3RoKSB7CiAgJEVSUk9SKCcjMjogX19zcGxpdC5sZW5ndGggPT09IF9fZXhwZWN0ZWQubGVuZ3RoLiBBY3R1YWw6ICcrX19zcGxpdC5sZW5ndGggKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzMKaWYgKF9fc3BsaXRbMF0gIT09IF9fZXhwZWN0ZWRbMF0pIHsKICAkRVJST1IoJyMzOiBfX3NwbGl0WzBdID09PSAnK19fZXhwZWN0ZWRbMF0rJy4gQWN0dWFsOiAnK19fc3BsaXRbaW5kZXhdICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgoK","commentary":"String.prototype.split (separator, limit) returns an Array object into which substrings of the result of converting this object to a string have\nbeen stored. The substrings are determined by searching from left to right for occurrences of\nseparator; these occurrences are not part of any substring in the returned array, but serve to divide up\nthe string value. The value of separator may be a string of any length or it may be a RegExp object","description":"Call split(1,-Math.pow(2,32)+1), instance is Number","path":"TestCases/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A2_T37.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnNwbGl0IChzZXBhcmF0b3IsIGxpbWl0KSByZXR1cm5zIGFuIEFycmF5IG9iamVjdCBpbnRvIHdoaWNoIHN1YnN0cmluZ3Mgb2YgdGhlIHJlc3VsdCBvZiBjb252ZXJ0aW5nIHRoaXMgb2JqZWN0IHRvIGEgc3RyaW5nIGhhdmUKICogYmVlbiBzdG9yZWQuIFRoZSBzdWJzdHJpbmdzIGFyZSBkZXRlcm1pbmVkIGJ5IHNlYXJjaGluZyBmcm9tIGxlZnQgdG8gcmlnaHQgZm9yIG9jY3VycmVuY2VzIG9mCiAqIHNlcGFyYXRvcjsgdGhlc2Ugb2NjdXJyZW5jZXMgYXJlIG5vdCBwYXJ0IG9mIGFueSBzdWJzdHJpbmcgaW4gdGhlIHJldHVybmVkIGFycmF5LCBidXQgc2VydmUgdG8gZGl2aWRlIHVwCiAqIHRoZSBzdHJpbmcgdmFsdWUuIFRoZSB2YWx1ZSBvZiBzZXBhcmF0b3IgbWF5IGJlIGEgc3RyaW5nIG9mIGFueSBsZW5ndGggb3IgaXQgbWF5IGJlIGEgUmVnRXhwIG9iamVjdAogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS40LzE1LjUuNC4xNC9TMTUuNS40LjE0X0EyX1QzOC5qcwogKiBAZGVzY3JpcHRpb24gQ2FsbCBzcGxpdCgibCIsTmFOKSwgaW5zdGFuY2UgaXMgU3RyaW5nKCJoZWxsbyIpCiAqLwoKdmFyIF9faW5zdGFuY2UgPSBuZXcgU3RyaW5nKCJoZWxsbyIpOwoKdmFyIF9fc3BsaXQgPSBfX2luc3RhbmNlLnNwbGl0KCJsIiwgTmFOKTsKCnZhciBfX2V4cGVjdGVkID0gW107CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmIChfX3NwbGl0LmNvbnN0cnVjdG9yICE9PSBBcnJheSkgewogICRFUlJPUignIzE6IHZhciBfX2luc3RhbmNlID0gbmV3IFN0cmluZygiaGVsbG8iKTsgX19zcGxpdCA9IF9faW5zdGFuY2Uuc3BsaXQoImwiLCBOYU4pOyBfX2V4cGVjdGVkID0gW107IF9fc3BsaXQuY29uc3RydWN0b3IgPT09IEFycmF5LiBBY3R1YWw6ICcrX19zcGxpdC5jb25zdHJ1Y3RvciApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMgppZiAoX19zcGxpdC5sZW5ndGggIT09IF9fZXhwZWN0ZWQubGVuZ3RoKSB7CiAgJEVSUk9SKCcjMjogdmFyIF9faW5zdGFuY2UgPSBuZXcgU3RyaW5nKCJoZWxsbyIpOyBfX3NwbGl0ID0gX19pbnN0YW5jZS5zcGxpdCgibCIsIE5hTik7IF9fZXhwZWN0ZWQgPSBbXTsgX19zcGxpdC5sZW5ndGggPT09IF9fZXhwZWN0ZWQubGVuZ3RoLiBBY3R1YWw6ICcrX19zcGxpdC5sZW5ndGggKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzMKaWYgKF9fc3BsaXRbMF0gIT09IF9fZXhwZWN0ZWRbMF0pIHsKICAkRVJST1IoJyMzOiB2YXIgX19pbnN0YW5jZSA9IG5ldyBTdHJpbmcoImhlbGxvIik7IF9fc3BsaXQgPSBfX2luc3RhbmNlLnNwbGl0KCJsIiwgTmFOKTsgX19leHBlY3RlZCA9IFtdOyBfX3NwbGl0WzBdID09PSAnK19fZXhwZWN0ZWRbMF0rJy4gQWN0dWFsOiAnK19fc3BsaXRbaW5kZXhdICk7Cn0KLy8KCg==","commentary":"String.prototype.split (separator, limit) returns an Array object into which substrings of the result of converting this object to a string have\nbeen stored. The substrings are determined by searching from left to right for occurrences of\nseparator; these occurrences are not part of any substring in the returned array, but serve to divide up\nthe string value. The value of separator may be a string of any length or it may be a RegExp object","description":"Call split(\"l\",NaN), instance is String(\"hello\")","path":"TestCases/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A2_T38.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnNwbGl0IChzZXBhcmF0b3IsIGxpbWl0KSByZXR1cm5zIGFuIEFycmF5IG9iamVjdCBpbnRvIHdoaWNoIHN1YnN0cmluZ3Mgb2YgdGhlIHJlc3VsdCBvZiBjb252ZXJ0aW5nIHRoaXMgb2JqZWN0IHRvIGEgc3RyaW5nIGhhdmUKICogYmVlbiBzdG9yZWQuIFRoZSBzdWJzdHJpbmdzIGFyZSBkZXRlcm1pbmVkIGJ5IHNlYXJjaGluZyBmcm9tIGxlZnQgdG8gcmlnaHQgZm9yIG9jY3VycmVuY2VzIG9mCiAqIHNlcGFyYXRvcjsgdGhlc2Ugb2NjdXJyZW5jZXMgYXJlIG5vdCBwYXJ0IG9mIGFueSBzdWJzdHJpbmcgaW4gdGhlIHJldHVybmVkIGFycmF5LCBidXQgc2VydmUgdG8gZGl2aWRlIHVwCiAqIHRoZSBzdHJpbmcgdmFsdWUuIFRoZSB2YWx1ZSBvZiBzZXBhcmF0b3IgbWF5IGJlIGEgc3RyaW5nIG9mIGFueSBsZW5ndGggb3IgaXQgbWF5IGJlIGEgUmVnRXhwIG9iamVjdAogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS40LzE1LjUuNC4xNC9TMTUuNS40LjE0X0EyX1QzOS5qcwogKiBAZGVzY3JpcHRpb24gQ2FsbCBzcGxpdCgibCIsMCksIGluc3RhbmNlIGlzIFN0cmluZygiaGVsbG8iKQogKi8KCnZhciBfX2luc3RhbmNlID0gbmV3IFN0cmluZygiaGVsbG8iKTsKCnZhciBfX3NwbGl0ID0gX19pbnN0YW5jZS5zcGxpdCgibCIsIDApOwoKdmFyIF9fZXhwZWN0ZWQgPSBbXTsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKF9fc3BsaXQuY29uc3RydWN0b3IgIT09IEFycmF5KSB7CiAgJEVSUk9SKCcjMTogdmFyIF9faW5zdGFuY2UgPSBuZXcgU3RyaW5nKCJoZWxsbyIpOyBfX3NwbGl0ID0gX19pbnN0YW5jZS5zcGxpdCgibCIsIDApOyBfX2V4cGVjdGVkID0gW107IF9fc3BsaXQuY29uc3RydWN0b3IgPT09IEFycmF5LiBBY3R1YWw6ICcrX19zcGxpdC5jb25zdHJ1Y3RvciApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMgppZiAoX19zcGxpdC5sZW5ndGggIT09IF9fZXhwZWN0ZWQubGVuZ3RoKSB7CiAgJEVSUk9SKCcjMjogdmFyIF9faW5zdGFuY2UgPSBuZXcgU3RyaW5nKCJoZWxsbyIpOyBfX3NwbGl0ID0gX19pbnN0YW5jZS5zcGxpdCgibCIsIDApOyBfX2V4cGVjdGVkID0gW107IF9fc3BsaXQubGVuZ3RoID09PSBfX2V4cGVjdGVkLmxlbmd0aC4gQWN0dWFsOiAnK19fc3BsaXQubGVuZ3RoICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMzCmlmIChfX3NwbGl0WzBdICE9PSBfX2V4cGVjdGVkWzBdKSB7CiAgJEVSUk9SKCcjMzogdmFyIF9faW5zdGFuY2UgPSBuZXcgU3RyaW5nKCJoZWxsbyIpOyBfX3NwbGl0ID0gX19pbnN0YW5jZS5zcGxpdCgibCIsIDApOyBfX2V4cGVjdGVkID0gW107IF9fc3BsaXRbMF0gPT09ICcrX19leHBlY3RlZFswXSsnLiBBY3R1YWw6ICcrX19zcGxpdFtpbmRleF0gKTsKfQovLwoK","commentary":"String.prototype.split (separator, limit) returns an Array object into which substrings of the result of converting this object to a string have\nbeen stored. The substrings are determined by searching from left to right for occurrences of\nseparator; these occurrences are not part of any substring in the returned array, but serve to divide up\nthe string value. The value of separator may be a string of any length or it may be a RegExp object","description":"Call split(\"l\",0), instance is String(\"hello\")","path":"TestCases/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A2_T39.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnNwbGl0IChzZXBhcmF0b3IsIGxpbWl0KSByZXR1cm5zIGFuIEFycmF5IG9iamVjdCBpbnRvIHdoaWNoIHN1YnN0cmluZ3Mgb2YgdGhlIHJlc3VsdCBvZiBjb252ZXJ0aW5nIHRoaXMgb2JqZWN0IHRvIGEgc3RyaW5nIGhhdmUKICogYmVlbiBzdG9yZWQuIFRoZSBzdWJzdHJpbmdzIGFyZSBkZXRlcm1pbmVkIGJ5IHNlYXJjaGluZyBmcm9tIGxlZnQgdG8gcmlnaHQgZm9yIG9jY3VycmVuY2VzIG9mCiAqIHNlcGFyYXRvcjsgdGhlc2Ugb2NjdXJyZW5jZXMgYXJlIG5vdCBwYXJ0IG9mIGFueSBzdWJzdHJpbmcgaW4gdGhlIHJldHVybmVkIGFycmF5LCBidXQgc2VydmUgdG8gZGl2aWRlIHVwCiAqIHRoZSBzdHJpbmcgdmFsdWUuIFRoZSB2YWx1ZSBvZiBzZXBhcmF0b3IgbWF5IGJlIGEgc3RyaW5nIG9mIGFueSBsZW5ndGggb3IgaXQgbWF5IGJlIGEgUmVnRXhwIG9iamVjdAogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS40LzE1LjUuNC4xNC9TMTUuNS40LjE0X0EyX1Q0LmpzCiAqIEBkZXNjcmlwdGlvbiBDYWxsIHNwbGl0KCIiKSwgaW5zdGFuY2UgaXMgU3RyaW5nKCJvbmUgdHdvIHRocmVlIikKICovCgp2YXIgX19zdHJpbmcgPSBuZXcgU3RyaW5nKCJvbmUgdHdvIHRocmVlIik7Cgp2YXIgX19zcGxpdCA9IF9fc3RyaW5nLnNwbGl0KCIiKTsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKF9fc3BsaXQuY29uc3RydWN0b3IgIT09IEFycmF5KSB7CiAgJEVSUk9SKCcjMTogdmFyIF9fc3RyaW5nID0gbmV3IFN0cmluZygib25lIHR3byB0aHJlZSIpOyBfX3NwbGl0ID0gX19zdHJpbmcuc3BsaXQoIiIpOyBfX3NwbGl0LmNvbnN0cnVjdG9yID09PSBBcnJheS4gQWN0dWFsOiAnK19fc3BsaXQuY29uc3RydWN0b3IgKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzIKaWYgKF9fc3BsaXQubGVuZ3RoICE9PSBfX3N0cmluZy5sZW5ndGgpIHsKICAkRVJST1IoJyMyOiB2YXIgX19zdHJpbmcgPSBuZXcgU3RyaW5nKCJvbmUgdHdvIHRocmVlIik7IF9fc3BsaXQgPSBfX3N0cmluZy5zcGxpdCgiIik7IF9fc3BsaXQubGVuZ3RoID09PSBfX3N0cmluZy5sZW5ndGguIEFjdHVhbDogJytfX3NwbGl0Lmxlbmd0aCApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMwppZiAoX19zcGxpdFswXSAhPT0gIm8iKSB7CiAgJEVSUk9SKCcjMzogdmFyIF9fc3RyaW5nID0gbmV3IFN0cmluZygib25lIHR3byB0aHJlZSIpOyBfX3NwbGl0ID0gX19zdHJpbmcuc3BsaXQoIiIpOyBfX3NwbGl0WzBdID09PSAibyIuIEFjdHVhbDogJytfX3NwbGl0WzBdICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyM0CmlmIChfX3NwbGl0WzFdICE9PSAibiIpIHsKICAkRVJST1IoJyM0OiB2YXIgX19zdHJpbmcgPSBuZXcgU3RyaW5nKCJvbmUgdHdvIHRocmVlIik7IF9fc3BsaXQgPSBfX3N0cmluZy5zcGxpdCgiIik7IF9fc3BsaXRbMV0gPT09ICJuIi4gQWN0dWFsOiAnK19fc3BsaXRbMV0gKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzUKaWYgKF9fc3BsaXRbMTFdICE9PSAiZSIpIHsKICAkRVJST1IoJyM1OiB2YXIgX19zdHJpbmcgPSBuZXcgU3RyaW5nKCJvbmUgdHdvIHRocmVlIik7IF9fc3BsaXQgPSBfX3N0cmluZy5zcGxpdCgiIik7IF9fc3BsaXRbMTFdID09PSAiZSIuIEFjdHVhbDogJytfX3NwbGl0WzExXSApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjNgppZiAoX19zcGxpdFsxMl0gIT09ICJlIikgewogICRFUlJPUignIzY6IHZhciBfX3N0cmluZyA9IG5ldyBTdHJpbmcoIm9uZSB0d28gdGhyZWUiKTsgX19zcGxpdCA9IF9fc3RyaW5nLnNwbGl0KCIiKTsgX19zcGxpdFsxMl0gPT09ICJlIi4gQWN0dWFsOiAnK19fc3BsaXRbMTJdICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"String.prototype.split (separator, limit) returns an Array object into which substrings of the result of converting this object to a string have\nbeen stored. The substrings are determined by searching from left to right for occurrences of\nseparator; these occurrences are not part of any substring in the returned array, but serve to divide up\nthe string value. The value of separator may be a string of any length or it may be a RegExp object","description":"Call split(\"\"), instance is String(\"one two three\")","path":"TestCases/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A2_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnNwbGl0IChzZXBhcmF0b3IsIGxpbWl0KSByZXR1cm5zIGFuIEFycmF5IG9iamVjdCBpbnRvIHdoaWNoIHN1YnN0cmluZ3Mgb2YgdGhlIHJlc3VsdCBvZiBjb252ZXJ0aW5nIHRoaXMgb2JqZWN0IHRvIGEgc3RyaW5nIGhhdmUKICogYmVlbiBzdG9yZWQuIFRoZSBzdWJzdHJpbmdzIGFyZSBkZXRlcm1pbmVkIGJ5IHNlYXJjaGluZyBmcm9tIGxlZnQgdG8gcmlnaHQgZm9yIG9jY3VycmVuY2VzIG9mCiAqIHNlcGFyYXRvcjsgdGhlc2Ugb2NjdXJyZW5jZXMgYXJlIG5vdCBwYXJ0IG9mIGFueSBzdWJzdHJpbmcgaW4gdGhlIHJldHVybmVkIGFycmF5LCBidXQgc2VydmUgdG8gZGl2aWRlIHVwCiAqIHRoZSBzdHJpbmcgdmFsdWUuIFRoZSB2YWx1ZSBvZiBzZXBhcmF0b3IgbWF5IGJlIGEgc3RyaW5nIG9mIGFueSBsZW5ndGggb3IgaXQgbWF5IGJlIGEgUmVnRXhwIG9iamVjdAogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS40LzE1LjUuNC4xNC9TMTUuNS40LjE0X0EyX1Q0MC5qcwogKiBAZGVzY3JpcHRpb24gQ2FsbCBzcGxpdCgibCIsMSksIGluc3RhbmNlIGlzIFN0cmluZygiaGVsbG8iKQogKi8KCnZhciBfX2luc3RhbmNlID0gbmV3IFN0cmluZygiaGVsbG8iKTsKCnZhciBfX3NwbGl0ID0gX19pbnN0YW5jZS5zcGxpdCgibCIsIDEpOwoKdmFyIF9fZXhwZWN0ZWQgPSBbImhlIl07CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmIChfX3NwbGl0LmNvbnN0cnVjdG9yICE9PSBBcnJheSkgewogICRFUlJPUignIzE6IHZhciBfX2luc3RhbmNlID0gbmV3IFN0cmluZygiaGVsbG8iKTsgX19zcGxpdCA9IF9faW5zdGFuY2Uuc3BsaXQoImwiLCAxKTsgX19leHBlY3RlZCA9IFsiaGUiXTsgX19zcGxpdC5jb25zdHJ1Y3RvciA9PT0gQXJyYXkuIEFjdHVhbDogJytfX3NwbGl0LmNvbnN0cnVjdG9yICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMyCmlmIChfX3NwbGl0Lmxlbmd0aCAhPT0gX19leHBlY3RlZC5sZW5ndGgpIHsKICAkRVJST1IoJyMyOiB2YXIgX19pbnN0YW5jZSA9IG5ldyBTdHJpbmcoImhlbGxvIik7IF9fc3BsaXQgPSBfX2luc3RhbmNlLnNwbGl0KCJsIiwgMSk7IF9fZXhwZWN0ZWQgPSBbImhlIl07IF9fc3BsaXQubGVuZ3RoID09PSBfX2V4cGVjdGVkLmxlbmd0aC4gQWN0dWFsOiAnK19fc3BsaXQubGVuZ3RoICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMzCmlmIChfX3NwbGl0WzBdICE9PSBfX2V4cGVjdGVkWzBdKSB7CiAgJEVSUk9SKCcjMzogdmFyIF9faW5zdGFuY2UgPSBuZXcgU3RyaW5nKCJoZWxsbyIpOyBfX3NwbGl0ID0gX19pbnN0YW5jZS5zcGxpdCgibCIsIDEpOyBfX2V4cGVjdGVkID0gWyJoZSJdOyBfX3NwbGl0WzBdID09PSAnK19fZXhwZWN0ZWRbMF0rJy4gQWN0dWFsOiAnK19fc3BsaXRbaW5kZXhdICk7Cn0KLy8KCg==","commentary":"String.prototype.split (separator, limit) returns an Array object into which substrings of the result of converting this object to a string have\nbeen stored. The substrings are determined by searching from left to right for occurrences of\nseparator; these occurrences are not part of any substring in the returned array, but serve to divide up\nthe string value. The value of separator may be a string of any length or it may be a RegExp object","description":"Call split(\"l\",1), instance is String(\"hello\")","path":"TestCases/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A2_T40.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnNwbGl0IChzZXBhcmF0b3IsIGxpbWl0KSByZXR1cm5zIGFuIEFycmF5IG9iamVjdCBpbnRvIHdoaWNoIHN1YnN0cmluZ3Mgb2YgdGhlIHJlc3VsdCBvZiBjb252ZXJ0aW5nIHRoaXMgb2JqZWN0IHRvIGEgc3RyaW5nIGhhdmUKICogYmVlbiBzdG9yZWQuIFRoZSBzdWJzdHJpbmdzIGFyZSBkZXRlcm1pbmVkIGJ5IHNlYXJjaGluZyBmcm9tIGxlZnQgdG8gcmlnaHQgZm9yIG9jY3VycmVuY2VzIG9mCiAqIHNlcGFyYXRvcjsgdGhlc2Ugb2NjdXJyZW5jZXMgYXJlIG5vdCBwYXJ0IG9mIGFueSBzdWJzdHJpbmcgaW4gdGhlIHJldHVybmVkIGFycmF5LCBidXQgc2VydmUgdG8gZGl2aWRlIHVwCiAqIHRoZSBzdHJpbmcgdmFsdWUuIFRoZSB2YWx1ZSBvZiBzZXBhcmF0b3IgbWF5IGJlIGEgc3RyaW5nIG9mIGFueSBsZW5ndGggb3IgaXQgbWF5IGJlIGEgUmVnRXhwIG9iamVjdAogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS40LzE1LjUuNC4xNC9TMTUuNS40LjE0X0EyX1Q0MS5qcwogKiBAZGVzY3JpcHRpb24gQ2FsbCBzcGxpdCgibCIsMiksIGluc3RhbmNlIGlzIFN0cmluZygiaGVsbG8iKQogKi8KCnZhciBfX2luc3RhbmNlID0gbmV3IFN0cmluZygiaGVsbG8iKTsKCnZhciBfX3NwbGl0ID0gX19pbnN0YW5jZS5zcGxpdCgibCIsIDIpOwoKdmFyIF9fZXhwZWN0ZWQgPSBbImhlIiwiIl07CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmIChfX3NwbGl0LmNvbnN0cnVjdG9yICE9PSBBcnJheSkgewogICRFUlJPUignIzE6IHZhciBfX2luc3RhbmNlID0gbmV3IFN0cmluZygiaGVsbG8iKTsgX19zcGxpdCA9IF9faW5zdGFuY2Uuc3BsaXQoImwiLCAyKTsgX19leHBlY3RlZCA9IFsiaGUiLCIiXTsgX19zcGxpdC5jb25zdHJ1Y3RvciA9PT0gQXJyYXkuIEFjdHVhbDogJytfX3NwbGl0LmNvbnN0cnVjdG9yICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMyCmlmIChfX3NwbGl0Lmxlbmd0aCAhPT0gX19leHBlY3RlZC5sZW5ndGgpIHsKICAkRVJST1IoJyMyOiB2YXIgX19pbnN0YW5jZSA9IG5ldyBTdHJpbmcoImhlbGxvIik7IF9fc3BsaXQgPSBfX2luc3RhbmNlLnNwbGl0KCJsIiwgMik7IF9fZXhwZWN0ZWQgPSBbImhlIiwiIl07IF9fc3BsaXQubGVuZ3RoID09PSBfX2V4cGVjdGVkLmxlbmd0aC4gQWN0dWFsOiAnK19fc3BsaXQubGVuZ3RoICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMzCmZvcih2YXIgaW5kZXg9MDsgaW5kZXg8X19leHBlY3RlZC5sZW5ndGg7IGluZGV4KyspIHsKICBpZiAoX19zcGxpdFtpbmRleF0gIT09IF9fZXhwZWN0ZWRbaW5kZXhdKSB7CiAgICAgJEVSUk9SKCcjMy4nK2luZGV4Kyc6IHZhciBfX2luc3RhbmNlID0gbmV3IFN0cmluZygiaGVsbG8iKTsgX19zcGxpdCA9IF9faW5zdGFuY2Uuc3BsaXQoImwiLCAyKTsgX19leHBlY3RlZCA9IFsiaGUiLCIiXTsgX19zcGxpdFtpbmRleF0gPT09ICcrX19leHBlY3RlZFtpbmRleF0rJy4gQWN0dWFsOiAnK19fc3BsaXRbaW5kZXhdICk7CiAgICB9Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgoK","commentary":"String.prototype.split (separator, limit) returns an Array object into which substrings of the result of converting this object to a string have\nbeen stored. The substrings are determined by searching from left to right for occurrences of\nseparator; these occurrences are not part of any substring in the returned array, but serve to divide up\nthe string value. The value of separator may be a string of any length or it may be a RegExp object","description":"Call split(\"l\",2), instance is String(\"hello\")","path":"TestCases/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A2_T41.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnNwbGl0IChzZXBhcmF0b3IsIGxpbWl0KSByZXR1cm5zIGFuIEFycmF5IG9iamVjdCBpbnRvIHdoaWNoIHN1YnN0cmluZ3Mgb2YgdGhlIHJlc3VsdCBvZiBjb252ZXJ0aW5nIHRoaXMgb2JqZWN0IHRvIGEgc3RyaW5nIGhhdmUKICogYmVlbiBzdG9yZWQuIFRoZSBzdWJzdHJpbmdzIGFyZSBkZXRlcm1pbmVkIGJ5IHNlYXJjaGluZyBmcm9tIGxlZnQgdG8gcmlnaHQgZm9yIG9jY3VycmVuY2VzIG9mCiAqIHNlcGFyYXRvcjsgdGhlc2Ugb2NjdXJyZW5jZXMgYXJlIG5vdCBwYXJ0IG9mIGFueSBzdWJzdHJpbmcgaW4gdGhlIHJldHVybmVkIGFycmF5LCBidXQgc2VydmUgdG8gZGl2aWRlIHVwCiAqIHRoZSBzdHJpbmcgdmFsdWUuIFRoZSB2YWx1ZSBvZiBzZXBhcmF0b3IgbWF5IGJlIGEgc3RyaW5nIG9mIGFueSBsZW5ndGggb3IgaXQgbWF5IGJlIGEgUmVnRXhwIG9iamVjdAogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS40LzE1LjUuNC4xNC9TMTUuNS40LjE0X0EyX1Q0Mi5qcwogKiBAZGVzY3JpcHRpb24gQ2FsbCBzcGxpdCgibCIsMyksIGluc3RhbmNlIGlzIFN0cmluZygiaGVsbG8iKQogKi8KCnZhciBfX2luc3RhbmNlID0gbmV3IFN0cmluZygiaGVsbG8iKTsKCnZhciBfX3NwbGl0ID0gX19pbnN0YW5jZS5zcGxpdCgibCIsIDMpOwoKdmFyIF9fZXhwZWN0ZWQgPSBbImhlIiwiIiwibyJdOwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAoX19zcGxpdC5jb25zdHJ1Y3RvciAhPT0gQXJyYXkpIHsKICAkRVJST1IoJyMxOiB2YXIgX19pbnN0YW5jZSA9IG5ldyBTdHJpbmcoImhlbGxvIik7IF9fc3BsaXQgPSBfX2luc3RhbmNlLnNwbGl0KCJsIiwgMyk7IF9fZXhwZWN0ZWQgPSBbImhlIiwiIiwibyJdOyBfX3NwbGl0LmNvbnN0cnVjdG9yID09PSBBcnJheS4gQWN0dWFsOiAnK19fc3BsaXQuY29uc3RydWN0b3IgKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzIKaWYgKF9fc3BsaXQubGVuZ3RoICE9PSBfX2V4cGVjdGVkLmxlbmd0aCkgewogICRFUlJPUignIzI6IHZhciBfX2luc3RhbmNlID0gbmV3IFN0cmluZygiaGVsbG8iKTsgX19zcGxpdCA9IF9faW5zdGFuY2Uuc3BsaXQoImwiLCAzKTsgX19leHBlY3RlZCA9IFsiaGUiLCIiLCJvIl07IF9fc3BsaXQubGVuZ3RoID09PSBfX2V4cGVjdGVkLmxlbmd0aC4gQWN0dWFsOiAnK19fc3BsaXQubGVuZ3RoICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMzCmZvcih2YXIgaW5kZXg9MDsgaW5kZXg8X19leHBlY3RlZC5sZW5ndGg7IGluZGV4KyspIHsKICBpZiAoX19zcGxpdFtpbmRleF0gIT09IF9fZXhwZWN0ZWRbaW5kZXhdKSB7CiAgICAgJEVSUk9SKCcjMy4nK2luZGV4Kyc6IHZhciBfX2luc3RhbmNlID0gbmV3IFN0cmluZygiaGVsbG8iKTsgX19zcGxpdCA9IF9faW5zdGFuY2Uuc3BsaXQoImwiLCAzKTsgX19leHBlY3RlZCA9IFsiaGUiLCIiLCJvIl07IF9fc3BsaXRbaW5kZXhdID09PSAnK19fZXhwZWN0ZWRbaW5kZXhdKycuIEFjdHVhbDogJytfX3NwbGl0W2luZGV4XSApOwogICAgfQp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKCg==","commentary":"String.prototype.split (separator, limit) returns an Array object into which substrings of the result of converting this object to a string have\nbeen stored. The substrings are determined by searching from left to right for occurrences of\nseparator; these occurrences are not part of any substring in the returned array, but serve to divide up\nthe string value. The value of separator may be a string of any length or it may be a RegExp object","description":"Call split(\"l\",3), instance is String(\"hello\")","path":"TestCases/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A2_T42.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnNwbGl0IChzZXBhcmF0b3IsIGxpbWl0KSByZXR1cm5zIGFuIEFycmF5IG9iamVjdCBpbnRvIHdoaWNoIHN1YnN0cmluZ3Mgb2YgdGhlIHJlc3VsdCBvZiBjb252ZXJ0aW5nIHRoaXMgb2JqZWN0IHRvIGEgc3RyaW5nIGhhdmUKICogYmVlbiBzdG9yZWQuIFRoZSBzdWJzdHJpbmdzIGFyZSBkZXRlcm1pbmVkIGJ5IHNlYXJjaGluZyBmcm9tIGxlZnQgdG8gcmlnaHQgZm9yIG9jY3VycmVuY2VzIG9mCiAqIHNlcGFyYXRvcjsgdGhlc2Ugb2NjdXJyZW5jZXMgYXJlIG5vdCBwYXJ0IG9mIGFueSBzdWJzdHJpbmcgaW4gdGhlIHJldHVybmVkIGFycmF5LCBidXQgc2VydmUgdG8gZGl2aWRlIHVwCiAqIHRoZSBzdHJpbmcgdmFsdWUuIFRoZSB2YWx1ZSBvZiBzZXBhcmF0b3IgbWF5IGJlIGEgc3RyaW5nIG9mIGFueSBsZW5ndGggb3IgaXQgbWF5IGJlIGEgUmVnRXhwIG9iamVjdAogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS40LzE1LjUuNC4xNC9TMTUuNS40LjE0X0EyX1Q0My5qcwogKiBAZGVzY3JpcHRpb24gQ2FsbCBzcGxpdCgibCIsNCksIGluc3RhbmNlIGlzIFN0cmluZygiaGVsbG8iKQogKi8KCnZhciBfX2luc3RhbmNlID0gbmV3IFN0cmluZygiaGVsbG8iKTsKCnZhciBfX3NwbGl0ID0gX19pbnN0YW5jZS5zcGxpdCgibCIsIDQpOwoKdmFyIF9fZXhwZWN0ZWQgPSBbImhlIiwiIiwibyJdOwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAoX19zcGxpdC5jb25zdHJ1Y3RvciAhPT0gQXJyYXkpIHsKICAkRVJST1IoJyMxOiB2YXIgX19pbnN0YW5jZSA9IG5ldyBTdHJpbmcoImhlbGxvIik7IF9fc3BsaXQgPSBfX2luc3RhbmNlLnNwbGl0KCJsIiwgNCk7IF9fZXhwZWN0ZWQgPSBbImhlIiwiIiwibyJdOyBfX3NwbGl0LmNvbnN0cnVjdG9yID09PSBBcnJheS4gQWN0dWFsOiAnK19fc3BsaXQuY29uc3RydWN0b3IgKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzIKaWYgKF9fc3BsaXQubGVuZ3RoICE9PSBfX2V4cGVjdGVkLmxlbmd0aCkgewogICRFUlJPUignIzI6IHZhciBfX2luc3RhbmNlID0gbmV3IFN0cmluZygiaGVsbG8iKTsgX19zcGxpdCA9IF9faW5zdGFuY2Uuc3BsaXQoImwiLCA0KTsgX19leHBlY3RlZCA9IFsiaGUiLCIiLCJvIl07IF9fc3BsaXQubGVuZ3RoID09PSBfX2V4cGVjdGVkLmxlbmd0aC4gQWN0dWFsOiAnK19fc3BsaXQubGVuZ3RoICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMzCmZvcih2YXIgaW5kZXg9MDsgaW5kZXg8X19leHBlY3RlZC5sZW5ndGg7IGluZGV4KyspIHsKICBpZiAoX19zcGxpdFtpbmRleF0gIT09IF9fZXhwZWN0ZWRbaW5kZXhdKSB7CiAgICAgJEVSUk9SKCcjMy4nK2luZGV4Kyc6IHZhciBfX2luc3RhbmNlID0gbmV3IFN0cmluZygiaGVsbG8iKTsgX19zcGxpdCA9IF9faW5zdGFuY2Uuc3BsaXQoImwiLCA0KTsgX19leHBlY3RlZCA9IFsiaGUiLCIiLCJvIl07IF9fc3BsaXRbaW5kZXhdID09PSAnK19fZXhwZWN0ZWRbaW5kZXhdKycuIEFjdHVhbDogJytfX3NwbGl0W2luZGV4XSApOwogICAgfQp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKCg==","commentary":"String.prototype.split (separator, limit) returns an Array object into which substrings of the result of converting this object to a string have\nbeen stored. The substrings are determined by searching from left to right for occurrences of\nseparator; these occurrences are not part of any substring in the returned array, but serve to divide up\nthe string value. The value of separator may be a string of any length or it may be a RegExp object","description":"Call split(\"l\",4), instance is String(\"hello\")","path":"TestCases/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A2_T43.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnNwbGl0IChzZXBhcmF0b3IsIGxpbWl0KSByZXR1cm5zIGFuIEFycmF5IG9iamVjdCBpbnRvIHdoaWNoIHN1YnN0cmluZ3Mgb2YgdGhlIHJlc3VsdCBvZiBjb252ZXJ0aW5nIHRoaXMgb2JqZWN0IHRvIGEgc3RyaW5nIGhhdmUKICogYmVlbiBzdG9yZWQuIFRoZSBzdWJzdHJpbmdzIGFyZSBkZXRlcm1pbmVkIGJ5IHNlYXJjaGluZyBmcm9tIGxlZnQgdG8gcmlnaHQgZm9yIG9jY3VycmVuY2VzIG9mCiAqIHNlcGFyYXRvcjsgdGhlc2Ugb2NjdXJyZW5jZXMgYXJlIG5vdCBwYXJ0IG9mIGFueSBzdWJzdHJpbmcgaW4gdGhlIHJldHVybmVkIGFycmF5LCBidXQgc2VydmUgdG8gZGl2aWRlIHVwCiAqIHRoZSBzdHJpbmcgdmFsdWUuIFRoZSB2YWx1ZSBvZiBzZXBhcmF0b3IgbWF5IGJlIGEgc3RyaW5nIG9mIGFueSBsZW5ndGggb3IgaXQgbWF5IGJlIGEgUmVnRXhwIG9iamVjdAogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS40LzE1LjUuNC4xNC9TMTUuNS40LjE0X0EyX1Q1LmpzCiAqIEBkZXNjcmlwdGlvbiBDYWxsIHNwbGl0KC8sLyksIGluc3RhbmNlIGlzIFN0cmluZygib25lLTEsdHdvLTIsZm91ci00IikKICovCgp2YXIgX19zdHJpbmcgPSBuZXcgU3RyaW5nKCJvbmUtMSx0d28tMixmb3VyLTQiKTsKCnZhciBfX3NwbGl0ID0gX19zdHJpbmcuc3BsaXQoLywvKTsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKF9fc3BsaXQuY29uc3RydWN0b3IgIT09IEFycmF5KSB7CiAgJEVSUk9SKCcjMTogdmFyIF9fc3RyaW5nID0gbmV3IFN0cmluZygib25lLTEsdHdvLTIsZm91ci00Iik7IF9fc3BsaXQgPSBfX3N0cmluZy5zcGxpdCgvLC8pOyBfX3NwbGl0LmNvbnN0cnVjdG9yID09PSBBcnJheS4gQWN0dWFsOiAnK19fc3BsaXQuY29uc3RydWN0b3IgKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzIKaWYgKF9fc3BsaXQubGVuZ3RoICE9PSAzKSB7CiAgJEVSUk9SKCcjMjogdmFyIF9fc3RyaW5nID0gbmV3IFN0cmluZygib25lLTEsdHdvLTIsZm91ci00Iik7IF9fc3BsaXQgPSBfX3N0cmluZy5zcGxpdCgvLC8pOyBfX3NwbGl0Lmxlbmd0aCA9PT0gMy4gQWN0dWFsOiAnK19fc3BsaXQubGVuZ3RoICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMzCmlmIChfX3NwbGl0WzBdICE9PSAib25lLTEiKSB7CiAgJEVSUk9SKCcjMzogdmFyIF9fc3RyaW5nID0gbmV3IFN0cmluZygib25lLTEsdHdvLTIsZm91ci00Iik7IF9fc3BsaXQgPSBfX3N0cmluZy5zcGxpdCgvLC8pOyBfX3NwbGl0WzBdID09PSAib25lLTEiLiBBY3R1YWw6ICcrX19zcGxpdFswXSApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjNAppZiAoX19zcGxpdFsxXSAhPT0gInR3by0yIikgewogICRFUlJPUignIzQ6IHZhciBfX3N0cmluZyA9IG5ldyBTdHJpbmcoIm9uZS0xLHR3by0yLGZvdXItNCIpOyBfX3NwbGl0ID0gX19zdHJpbmcuc3BsaXQoLywvKTsgX19zcGxpdFsxXSA9PT0gInR3by0yIi4gQWN0dWFsOiAnK19fc3BsaXRbMV0gKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzUKaWYgKF9fc3BsaXRbMl0gIT09ICJmb3VyLTQiKSB7CiAgJEVSUk9SKCcjNTogdmFyIF9fc3RyaW5nID0gbmV3IFN0cmluZygib25lLTEsdHdvLTIsZm91ci00Iik7IF9fc3BsaXQgPSBfX3N0cmluZy5zcGxpdCgvLC8pOyBfX3NwbGl0WzJdID09PSAiZm91ci00Ii4gQWN0dWFsOiAnK19fc3BsaXRbMl0gKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"String.prototype.split (separator, limit) returns an Array object into which substrings of the result of converting this object to a string have\nbeen stored. The substrings are determined by searching from left to right for occurrences of\nseparator; these occurrences are not part of any substring in the returned array, but serve to divide up\nthe string value. The value of separator may be a string of any length or it may be a RegExp object","description":"Call split(/,/), instance is String(\"one-1,two-2,four-4\")","path":"TestCases/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A2_T5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnNwbGl0IChzZXBhcmF0b3IsIGxpbWl0KSByZXR1cm5zIGFuIEFycmF5IG9iamVjdCBpbnRvIHdoaWNoIHN1YnN0cmluZ3Mgb2YgdGhlIHJlc3VsdCBvZiBjb252ZXJ0aW5nIHRoaXMgb2JqZWN0IHRvIGEgc3RyaW5nIGhhdmUKICogYmVlbiBzdG9yZWQuIFRoZSBzdWJzdHJpbmdzIGFyZSBkZXRlcm1pbmVkIGJ5IHNlYXJjaGluZyBmcm9tIGxlZnQgdG8gcmlnaHQgZm9yIG9jY3VycmVuY2VzIG9mCiAqIHNlcGFyYXRvcjsgdGhlc2Ugb2NjdXJyZW5jZXMgYXJlIG5vdCBwYXJ0IG9mIGFueSBzdWJzdHJpbmcgaW4gdGhlIHJldHVybmVkIGFycmF5LCBidXQgc2VydmUgdG8gZGl2aWRlIHVwCiAqIHRoZSBzdHJpbmcgdmFsdWUuIFRoZSB2YWx1ZSBvZiBzZXBhcmF0b3IgbWF5IGJlIGEgc3RyaW5nIG9mIGFueSBsZW5ndGggb3IgaXQgbWF5IGJlIGEgUmVnRXhwIG9iamVjdAogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS40LzE1LjUuNC4xNC9TMTUuNS40LjE0X0EyX1Q2LmpzCiAqIEBkZXNjcmlwdGlvbiBDYWxsIHNwbGl0KCcnKSwgaW5zdGFuY2UgaXMgU3RyaW5nKCJvbmUtMSB0d28tMiBmb3VyLTQiKQogKi8KCnZhciBfX3N0cmluZyA9IG5ldyBTdHJpbmcoIm9uZS0xIHR3by0yIHRocmVlLTMiKTsKCnZhciBfX3NwbGl0ID0gX19zdHJpbmcuc3BsaXQoJycpOwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAoX19zcGxpdC5jb25zdHJ1Y3RvciAhPT0gQXJyYXkpIHsKICAkRVJST1IoJyMxOiB2YXIgX19zdHJpbmcgPSBuZXcgU3RyaW5nKCJvbmUtMSB0d28tMiB0aHJlZS0zIik7IF9fc3BsaXQgPSBfX3N0cmluZy5zcGxpdChcJ1wnKTsgX19zcGxpdC5jb25zdHJ1Y3RvciA9PT0gQXJyYXkuIEFjdHVhbDogJytfX3NwbGl0LmNvbnN0cnVjdG9yICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMyCmlmIChfX3NwbGl0Lmxlbmd0aCAhPT0gX19zdHJpbmcubGVuZ3RoKSB7CiAgJEVSUk9SKCcjMjogdmFyIF9fc3RyaW5nID0gbmV3IFN0cmluZygib25lLTEgdHdvLTIgdGhyZWUtMyIpOyBfX3NwbGl0ID0gX19zdHJpbmcuc3BsaXQoXCdcJyk7IF9fc3BsaXQubGVuZ3RoID09PSBfX3N0cmluZy5sZW5ndGguIEFjdHVhbDogJytfX3NwbGl0Lmxlbmd0aCApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMwpmb3IgKCB2YXIgaSA9IDA7IGkgPCBfX3N0cmluZy5sZW5ndGg7IGkrKyApIHsKICAgIGlmIChfX3NwbGl0W2ldIT09X19zdHJpbmcuY2hhckF0KGkpKSB7CiAgICAgICRFUlJPUignIzMuJytpKyc6IHZhciBfX3N0cmluZyA9IG5ldyBTdHJpbmcoIm9uZS0xIHR3by0yIHRocmVlLTMiKTsgX19zcGxpdCA9IF9fc3RyaW5nLnNwbGl0KFwnXCcpOyBfX3NwbGl0WycraSsnXT09PV9fc3RyaW5nLmNoYXJBdCgnK2krJykuIEFjdHVhbDogJytfX3NwbGl0W2ldKTsKICAgIH0KfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCgo=","commentary":"String.prototype.split (separator, limit) returns an Array object into which substrings of the result of converting this object to a string have\nbeen stored. The substrings are determined by searching from left to right for occurrences of\nseparator; these occurrences are not part of any substring in the returned array, but serve to divide up\nthe string value. The value of separator may be a string of any length or it may be a RegExp object","description":"Call split(''), instance is String(\"one-1 two-2 four-4\")","path":"TestCases/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A2_T6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnNwbGl0IChzZXBhcmF0b3IsIGxpbWl0KSByZXR1cm5zIGFuIEFycmF5IG9iamVjdCBpbnRvIHdoaWNoIHN1YnN0cmluZ3Mgb2YgdGhlIHJlc3VsdCBvZiBjb252ZXJ0aW5nIHRoaXMgb2JqZWN0IHRvIGEgc3RyaW5nIGhhdmUKICogYmVlbiBzdG9yZWQuIFRoZSBzdWJzdHJpbmdzIGFyZSBkZXRlcm1pbmVkIGJ5IHNlYXJjaGluZyBmcm9tIGxlZnQgdG8gcmlnaHQgZm9yIG9jY3VycmVuY2VzIG9mCiAqIHNlcGFyYXRvcjsgdGhlc2Ugb2NjdXJyZW5jZXMgYXJlIG5vdCBwYXJ0IG9mIGFueSBzdWJzdHJpbmcgaW4gdGhlIHJldHVybmVkIGFycmF5LCBidXQgc2VydmUgdG8gZGl2aWRlIHVwCiAqIHRoZSBzdHJpbmcgdmFsdWUuIFRoZSB2YWx1ZSBvZiBzZXBhcmF0b3IgbWF5IGJlIGEgc3RyaW5nIG9mIGFueSBsZW5ndGggb3IgaXQgbWF5IGJlIGEgUmVnRXhwIG9iamVjdAogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS40LzE1LjUuNC4xNC9TMTUuNS40LjE0X0EyX1Q3LmpzCiAqIEBkZXNjcmlwdGlvbiBDYWxsIHNwbGl0KHZvaWQgMCksIGluc3RhbmNlIGlzICJ0aGlzdW5kZWZpbmVkaXN1bmRlZmluZWRhdW5kZWZpbmVkc3RyaW5ndW5kZWZpbmVkb2JqZWN0IgogKi8KCnZhciBfX3N0cmluZyA9ICJ0aGlzdW5kZWZpbmVkaXN1bmRlZmluZWRhdW5kZWZpbmVkc3RyaW5ndW5kZWZpbmVkb2JqZWN0IjsKdmFyIF9fZXhwZWN0ZWQgPSBbX19zdHJpbmddOwoKdmFyIF9fc3BsaXQgPSBfX3N0cmluZy5zcGxpdCh2b2lkIDApOwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAoX19zcGxpdC5jb25zdHJ1Y3RvciAhPT0gQXJyYXkpIHsKICAkRVJST1IoJyMxOiB2YXIgX19zdHJpbmcgPSAidGhpc3VuZGVmaW5lZGlzdW5kZWZpbmVkYXVuZGVmaW5lZHN0cmluZ3VuZGVmaW5lZG9iamVjdCI7IHZhciBfX2V4cGVjdGVkID0gWyJ0aGlzdW5kZWZpbmVkaXN1bmRlZmluZWRhdW5kZWZpbmVkc3RyaW5ndW5kZWZpbmVkb2JqZWN0Il07IF9fc3BsaXQgPSBfX3N0cmluZy5zcGxpdCh2b2lkIDApOyBfX3NwbGl0LmNvbnN0cnVjdG9yID09PSBBcnJheS4gQWN0dWFsOiAnK19fc3BsaXQuY29uc3RydWN0b3IgKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzIKaWYgKF9fc3BsaXQubGVuZ3RoICE9PSBfX2V4cGVjdGVkLmxlbmd0aCkgewogICRFUlJPUignIzI6IHZhciBfX3N0cmluZyA9ICJ0aGlzdW5kZWZpbmVkaXN1bmRlZmluZWRhdW5kZWZpbmVkc3RyaW5ndW5kZWZpbmVkb2JqZWN0IjsgdmFyIF9fZXhwZWN0ZWQgPSBbInRoaXN1bmRlZmluZWRpc3VuZGVmaW5lZGF1bmRlZmluZWRzdHJpbmd1bmRlZmluZWRvYmplY3QiXTsgX19zcGxpdCA9IF9fc3RyaW5nLnNwbGl0KHZvaWQgMCk7IF9fc3BsaXQubGVuZ3RoID09PSBfX2V4cGVjdGVkLmxlbmd0aC4gQWN0dWFsOiAnK19fc3BsaXQubGVuZ3RoICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMzCmZvciAoIHZhciBpID0gMDsgaSA8IF9fZXhwZWN0ZWQubGVuZ3RoOyBpKysgKSB7CiAgICBpZiAoX19leHBlY3RlZFtpXSE9PV9fc3BsaXRbaV0pIHsKICAgICAgJEVSUk9SKCcjMy4nK2krJzogdmFyIF9fc3RyaW5nID0gInRoaXN1bmRlZmluZWRpc3VuZGVmaW5lZGF1bmRlZmluZWRzdHJpbmd1bmRlZmluZWRvYmplY3QiOyB2YXIgX19leHBlY3RlZCA9IFsidGhpc3VuZGVmaW5lZGlzdW5kZWZpbmVkYXVuZGVmaW5lZHN0cmluZ3VuZGVmaW5lZG9iamVjdCJdOyBfX3NwbGl0ID0gX19zdHJpbmcuc3BsaXQodm9pZCAwKTsgX19leHBlY3RlZFsnK2krJ109PT0nK19fc3BsaXRbaV0rJy4gQWN0dWFsOiAnK19fZXhwZWN0ZWRbaV0pOwogICAgfQp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKCg==","commentary":"String.prototype.split (separator, limit) returns an Array object into which substrings of the result of converting this object to a string have\nbeen stored. The substrings are determined by searching from left to right for occurrences of\nseparator; these occurrences are not part of any substring in the returned array, but serve to divide up\nthe string value. The value of separator may be a string of any length or it may be a RegExp object","description":"Call split(void 0), instance is \"thisundefinedisundefinedaundefinedstringundefinedobject\"","path":"TestCases/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A2_T7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnNwbGl0IChzZXBhcmF0b3IsIGxpbWl0KSByZXR1cm5zIGFuIEFycmF5IG9iamVjdCBpbnRvIHdoaWNoIHN1YnN0cmluZ3Mgb2YgdGhlIHJlc3VsdCBvZiBjb252ZXJ0aW5nIHRoaXMgb2JqZWN0IHRvIGEgc3RyaW5nIGhhdmUKICogYmVlbiBzdG9yZWQuIFRoZSBzdWJzdHJpbmdzIGFyZSBkZXRlcm1pbmVkIGJ5IHNlYXJjaGluZyBmcm9tIGxlZnQgdG8gcmlnaHQgZm9yIG9jY3VycmVuY2VzIG9mCiAqIHNlcGFyYXRvcjsgdGhlc2Ugb2NjdXJyZW5jZXMgYXJlIG5vdCBwYXJ0IG9mIGFueSBzdWJzdHJpbmcgaW4gdGhlIHJldHVybmVkIGFycmF5LCBidXQgc2VydmUgdG8gZGl2aWRlIHVwCiAqIHRoZSBzdHJpbmcgdmFsdWUuIFRoZSB2YWx1ZSBvZiBzZXBhcmF0b3IgbWF5IGJlIGEgc3RyaW5nIG9mIGFueSBsZW5ndGggb3IgaXQgbWF5IGJlIGEgUmVnRXhwIG9iamVjdAogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS40LzE1LjUuNC4xNC9TMTUuNS40LjE0X0EyX1Q4LmpzCiAqIEBkZXNjcmlwdGlvbiBDYWxsIHNwbGl0KG51bGwpLCBpbnN0YW5jZSBpcyAidGhpc251bGxpc251bGxhbnVsbHN0cmluZ251bGxvYmplY3QiCiAqLwoKdmFyIF9fc3RyaW5nID0gInRoaXNudWxsaXNudWxsYW51bGxzdHJpbmdudWxsb2JqZWN0IjsKdmFyIF9fZXhwZWN0ZWQgPSBbInRoaXMiLCAiaXMiLCAiYSIsICJzdHJpbmciLCAib2JqZWN0Il07Cgp2YXIgX19zcGxpdCA9IF9fc3RyaW5nLnNwbGl0KG51bGwpOwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAoX19zcGxpdC5jb25zdHJ1Y3RvciAhPT0gQXJyYXkpIHsKICAkRVJST1IoJyMxOiB2YXIgX19zdHJpbmcgPSAidGhpc251bGxpc251bGxhbnVsbHN0cmluZ251bGxvYmplY3QiOyB2YXIgX19leHBlY3RlZCA9IFsidGhpcyIsICJpcyIsICJhIiwgInN0cmluZyIsICJvYmplY3QiXTsgX19zcGxpdCA9IF9fc3RyaW5nLnNwbGl0KG51bGwpOyBfX3NwbGl0LmNvbnN0cnVjdG9yID09PSBBcnJheS4gQWN0dWFsOiAnK19fc3BsaXQuY29uc3RydWN0b3IgKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzIKaWYgKF9fc3BsaXQubGVuZ3RoICE9PSBfX2V4cGVjdGVkLmxlbmd0aCkgewogICRFUlJPUignIzI6IHZhciBfX3N0cmluZyA9ICJ0aGlzbnVsbGlzbnVsbGFudWxsc3RyaW5nbnVsbG9iamVjdCI7IHZhciBfX2V4cGVjdGVkID0gWyJ0aGlzIiwgImlzIiwgImEiLCAic3RyaW5nIiwgIm9iamVjdCJdOyBfX3NwbGl0ID0gX19zdHJpbmcuc3BsaXQobnVsbCk7IF9fc3BsaXQubGVuZ3RoID09PSBfX2V4cGVjdGVkLmxlbmd0aC4gQWN0dWFsOiAnK19fc3BsaXQubGVuZ3RoICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMzCmZvciAoIHZhciBpID0gMDsgaSA8IF9fZXhwZWN0ZWQubGVuZ3RoOyBpKysgKSB7CiAgICBpZiAoX19leHBlY3RlZFtpXSE9PV9fc3BsaXRbaV0pIHsKICAgICAgJEVSUk9SKCcjMy4nK2krJzogdmFyIF9fc3RyaW5nID0gInRoaXNudWxsaXNudWxsYW51bGxzdHJpbmdudWxsb2JqZWN0IjsgdmFyIF9fZXhwZWN0ZWQgPSBbInRoaXMiLCAiaXMiLCAiYSIsICJzdHJpbmciLCAib2JqZWN0Il07IF9fc3BsaXQgPSBfX3N0cmluZy5zcGxpdChudWxsKTsgX19leHBlY3RlZFsnK2krJ109PT0nK19fc3BsaXRbaV0rJy4gQWN0dWFsOiAnK19fZXhwZWN0ZWRbaV0pOwogICAgfQp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKCg==","commentary":"String.prototype.split (separator, limit) returns an Array object into which substrings of the result of converting this object to a string have\nbeen stored. The substrings are determined by searching from left to right for occurrences of\nseparator; these occurrences are not part of any substring in the returned array, but serve to divide up\nthe string value. The value of separator may be a string of any length or it may be a RegExp object","description":"Call split(null), instance is \"thisnullisnullanullstringnullobject\"","path":"TestCases/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A2_T8.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnNwbGl0IChzZXBhcmF0b3IsIGxpbWl0KSByZXR1cm5zIGFuIEFycmF5IG9iamVjdCBpbnRvIHdoaWNoIHN1YnN0cmluZ3Mgb2YgdGhlIHJlc3VsdCBvZiBjb252ZXJ0aW5nIHRoaXMgb2JqZWN0IHRvIGEgc3RyaW5nIGhhdmUKICogYmVlbiBzdG9yZWQuIFRoZSBzdWJzdHJpbmdzIGFyZSBkZXRlcm1pbmVkIGJ5IHNlYXJjaGluZyBmcm9tIGxlZnQgdG8gcmlnaHQgZm9yIG9jY3VycmVuY2VzIG9mCiAqIHNlcGFyYXRvcjsgdGhlc2Ugb2NjdXJyZW5jZXMgYXJlIG5vdCBwYXJ0IG9mIGFueSBzdWJzdHJpbmcgaW4gdGhlIHJldHVybmVkIGFycmF5LCBidXQgc2VydmUgdG8gZGl2aWRlIHVwCiAqIHRoZSBzdHJpbmcgdmFsdWUuIFRoZSB2YWx1ZSBvZiBzZXBhcmF0b3IgbWF5IGJlIGEgc3RyaW5nIG9mIGFueSBsZW5ndGggb3IgaXQgbWF5IGJlIGEgUmVnRXhwIG9iamVjdAogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS40LzE1LjUuNC4xNC9TMTUuNS40LjE0X0EyX1Q5LmpzCiAqIEBkZXNjcmlwdGlvbiBDYWxsIHNwbGl0KHRydWUpLCBpbnN0YW5jZSBpcyAidGhpc3RydWVpc3RydWVhdHJ1ZXN0cmluZ3RydWVvYmplY3QiCiAqLwoKdmFyIF9fc3RyaW5nID0gInRoaXN0cnVlaXN0cnVlYXRydWVzdHJpbmd0cnVlb2JqZWN0IjsKdmFyIF9fZXhwZWN0ZWQgPSBbInRoaXMiLCAiaXMiLCAiYSIsICJzdHJpbmciLCAib2JqZWN0Il07Cgp2YXIgX19zcGxpdCA9IF9fc3RyaW5nLnNwbGl0KHRydWUpOwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAoX19zcGxpdC5jb25zdHJ1Y3RvciAhPT0gQXJyYXkpIHsKICAkRVJST1IoJyMxOiB2YXIgX19zdHJpbmcgPSAidGhpc3RydWVpc3RydWVhdHJ1ZXN0cmluZ3RydWVvYmplY3QiOyB2YXIgX19leHBlY3RlZCA9IFsidGhpcyIsICJpcyIsICJhIiwgInN0cmluZyIsICJvYmplY3QiXTsgX19zcGxpdCA9IF9fc3RyaW5nLnNwbGl0KHRydWUpOyBfX3NwbGl0LmNvbnN0cnVjdG9yID09PSBBcnJheS4gQWN0dWFsOiAnK19fc3BsaXQuY29uc3RydWN0b3IgKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzIKaWYgKF9fc3BsaXQubGVuZ3RoICE9PSBfX2V4cGVjdGVkLmxlbmd0aCkgewogICRFUlJPUignIzI6IHZhciBfX3N0cmluZyA9ICJ0aGlzdHJ1ZWlzdHJ1ZWF0cnVlc3RyaW5ndHJ1ZW9iamVjdCI7IHZhciBfX2V4cGVjdGVkID0gWyJ0aGlzIiwgImlzIiwgImEiLCAic3RyaW5nIiwgIm9iamVjdCJdOyBfX3NwbGl0ID0gX19zdHJpbmcuc3BsaXQodHJ1ZSk7IF9fc3BsaXQubGVuZ3RoID09PSBfX2V4cGVjdGVkLmxlbmd0aC4gQWN0dWFsOiAnK19fc3BsaXQubGVuZ3RoICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMzCmZvciAoIHZhciBpID0gMDsgaSA8IF9fZXhwZWN0ZWQubGVuZ3RoOyBpKysgKSB7CiAgICBpZiAoX19leHBlY3RlZFtpXSE9PV9fc3BsaXRbaV0pIHsKICAgICAgJEVSUk9SKCcjMy4nK2krJzogdmFyIF9fc3RyaW5nID0gInRoaXN0cnVlaXN0cnVlYXRydWVzdHJpbmd0cnVlb2JqZWN0IjsgdmFyIF9fZXhwZWN0ZWQgPSBbInRoaXMiLCAiaXMiLCAiYSIsICJzdHJpbmciLCAib2JqZWN0Il07IF9fc3BsaXQgPSBfX3N0cmluZy5zcGxpdCh0cnVlKTsgX19leHBlY3RlZFsnK2krJ109PT0nK19fc3BsaXRbaV0rJy4gQWN0dWFsOiAnK19fZXhwZWN0ZWRbaV0pOwogICAgfQp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKCg==","commentary":"String.prototype.split (separator, limit) returns an Array object into which substrings of the result of converting this object to a string have\nbeen stored. The substrings are determined by searching from left to right for occurrences of\nseparator; these occurrences are not part of any substring in the returned array, but serve to divide up\nthe string value. The value of separator may be a string of any length or it may be a RegExp object","description":"Call split(true), instance is \"thistrueistrueatruestringtrueobject\"","path":"TestCases/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A2_T9.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnNwbGl0KCkgcmV0dXJucyBhbiBBcnJheSBvYmplY3Qgd2l0aDoKICogIGkpIGxlbmd0aCBlcXVhbGVkIHRvIDEsCiAqIGlpKSBbW0dldF1dKDApIGVxdWFsZWQgdG8gdGhlIHJlc3VsdCBvZiBjb252ZXJ0aW5nIHRoaXMgb2JqZWN0IHRvIGEgc3RyaW5nCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjE0L1MxNS41LjQuMTRfQTNfVDEuanMKICogQGRlc2NyaXB0aW9uIEluc3RhbmNlIGlzIFN0cmluZygib25lLHR3byx0aHJlZSxmb3VyLGZpdmUiKQogKi8KCnZhciBfX3N0cmluZyA9IG5ldyBTdHJpbmcoIm9uZSx0d28sdGhyZWUsZm91cixmaXZlIik7Cgp2YXIgX19zcGxpdCA9IF9fc3RyaW5nLnNwbGl0KCk7CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmIChfX3NwbGl0LmNvbnN0cnVjdG9yICE9PSBBcnJheSkgewogICRFUlJPUignIzE6IHZhciBfX3N0cmluZyA9IG5ldyBTdHJpbmcoIm9uZSx0d28sdGhyZWUsZm91cixmaXZlIik7IF9fc3BsaXQgPSBfX3N0cmluZy5zcGxpdCgpOyBfX3NwbGl0LmNvbnN0cnVjdG9yID09PSBBcnJheS4gQWN0dWFsOiAnK19fc3BsaXQuY29uc3RydWN0b3IgKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzIKaWYgKF9fc3BsaXQubGVuZ3RoICE9PSAxKSB7CiAgJEVSUk9SKCcjMjogdmFyIF9fc3RyaW5nID0gbmV3IFN0cmluZygib25lLHR3byx0aHJlZSxmb3VyLGZpdmUiKTsgX19zcGxpdCA9IF9fc3RyaW5nLnNwbGl0KCk7IF9fc3BsaXQubGVuZ3RoID09PSAxLiBBY3R1YWw6ICcrX19zcGxpdC5sZW5ndGggKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzMKaWYgKF9fc3BsaXRbMF0gIT09ICJvbmUsdHdvLHRocmVlLGZvdXIsZml2ZSIpIHsKICAkRVJST1IoJyMzOiB2YXIgX19zdHJpbmcgPSBuZXcgU3RyaW5nKCJvbmUsdHdvLHRocmVlLGZvdXIsZml2ZSIpOyBfX3NwbGl0ID0gX19zdHJpbmcuc3BsaXQoKTsgX19zcGxpdFswXSA9PT0gIm9uZSx0d28sdGhyZWUsZm91cixmaXZlIi4gQWN0dWFsOiAnK19fc3BsaXRbMF0gKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"String.prototype.split() returns an Array object with:\n i) length equaled to 1,\nii) [[Get]](0) equaled to the result of converting this object to a string","description":"Instance is String(\"one,two,three,four,five\")","path":"TestCases/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A3_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnNwbGl0KCkgcmV0dXJucyBhbiBBcnJheSBvYmplY3Qgd2l0aDoKICogIGkpIGxlbmd0aCBlcXVhbGVkIHRvIDEsCiAqIGlpKSBbW0dldF1dKDApIGVxdWFsZWQgdG8gdGhlIHJlc3VsdCBvZiBjb252ZXJ0aW5nIHRoaXMgb2JqZWN0IHRvIGEgc3RyaW5nCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjE0L1MxNS41LjQuMTRfQTNfVDEwLmpzCiAqIEBkZXNjcmlwdGlvbiBJbnN0YW5jZSBpcyBuZXcgU3RyaW5nCiAqLwoKdmFyIF9fc3RyaW5nID0gbmV3IFN0cmluZzsKCnZhciBfX3NwbGl0ID0gX19zdHJpbmcuc3BsaXQoKTsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKF9fc3BsaXQuY29uc3RydWN0b3IgIT09IEFycmF5KSB7CiAgJEVSUk9SKCcjMTogdmFyIF9fc3RyaW5nID0gbmV3IFN0cmluZzsgX19zcGxpdCA9IF9fc3RyaW5nLnNwbGl0KCk7IF9fc3BsaXQuY29uc3RydWN0b3IgPT09IEFycmF5LiBBY3R1YWw6ICcrX19zcGxpdC5jb25zdHJ1Y3RvciApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMgppZiAoX19zcGxpdC5sZW5ndGggIT09IDEpIHsKICAkRVJST1IoJyMyOiB2YXIgX19zdHJpbmcgPSBuZXcgU3RyaW5nOyBfX3NwbGl0ID0gX19zdHJpbmcuc3BsaXQoKTsgX19zcGxpdC5sZW5ndGggPT09IDEuIEFjdHVhbDogJytfX3NwbGl0Lmxlbmd0aCApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMwppZiAoX19zcGxpdFswXSAhPT0gIiIpIHsKICAkRVJST1IoJyMzOiB2YXIgX19zdHJpbmcgPSBuZXcgU3RyaW5nOyBfX3NwbGl0ID0gX19zdHJpbmcuc3BsaXQoKTsgX19zcGxpdFswXSA9PT0gIiIuIEFjdHVhbDogJytfX3NwbGl0WzBdICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"String.prototype.split() returns an Array object with:\n i) length equaled to 1,\nii) [[Get]](0) equaled to the result of converting this object to a string","description":"Instance is new String","path":"TestCases/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A3_T10.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnNwbGl0KCkgcmV0dXJucyBhbiBBcnJheSBvYmplY3Qgd2l0aDoKICogIGkpIGxlbmd0aCBlcXVhbGVkIHRvIDEsCiAqIGlpKSBbW0dldF1dKDApIGVxdWFsZWQgdG8gdGhlIHJlc3VsdCBvZiBjb252ZXJ0aW5nIHRoaXMgb2JqZWN0IHRvIGEgc3RyaW5nCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjE0L1MxNS41LjQuMTRfQTNfVDExLmpzCiAqIEBkZXNjcmlwdGlvbiBJbnN0YW5jZSBpcyBTdHJpbmcoIiAiKQogKi8KCnZhciBfX3N0cmluZyA9IG5ldyBTdHJpbmcoIiAiKTsKCnZhciBfX3NwbGl0ID0gX19zdHJpbmcuc3BsaXQoKTsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKF9fc3BsaXQuY29uc3RydWN0b3IgIT09IEFycmF5KSB7CiAgJEVSUk9SKCcjMTogdmFyIF9fc3RyaW5nID0gbmV3IFN0cmluZygiICIpOyBfX3NwbGl0ID0gX19zdHJpbmcuc3BsaXQoKTsgX19zcGxpdC5jb25zdHJ1Y3RvciA9PT0gQXJyYXkuIEFjdHVhbDogJytfX3NwbGl0LmNvbnN0cnVjdG9yICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMyCmlmIChfX3NwbGl0Lmxlbmd0aCAhPT0gMSkgewogICRFUlJPUignIzI6IHZhciBfX3N0cmluZyA9IG5ldyBTdHJpbmcoIiAiKTsgX19zcGxpdCA9IF9fc3RyaW5nLnNwbGl0KCk7IF9fc3BsaXQubGVuZ3RoID09PSAxLiBBY3R1YWw6ICcrX19zcGxpdC5sZW5ndGggKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzMKaWYgKF9fc3BsaXRbMF0gIT09ICIgIikgewogICRFUlJPUignIzM6IHZhciBfX3N0cmluZyA9IG5ldyBTdHJpbmcoIiAiKTsgX19zcGxpdCA9IF9fc3RyaW5nLnNwbGl0KCk7IF9fc3BsaXRbMF0gPT09ICIgIi4gQWN0dWFsOiAnK19fc3BsaXRbMF0gKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"String.prototype.split() returns an Array object with:\n i) length equaled to 1,\nii) [[Get]](0) equaled to the result of converting this object to a string","description":"Instance is String(\" \")","path":"TestCases/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A3_T11.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnNwbGl0KCkgcmV0dXJucyBhbiBBcnJheSBvYmplY3Qgd2l0aDoKICogIGkpIGxlbmd0aCBlcXVhbGVkIHRvIDEsCiAqIGlpKSBbW0dldF1dKDApIGVxdWFsZWQgdG8gdGhlIHJlc3VsdCBvZiBjb252ZXJ0aW5nIHRoaXMgb2JqZWN0IHRvIGEgc3RyaW5nCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjE0L1MxNS41LjQuMTRfQTNfVDIuanMKICogQGRlc2NyaXB0aW9uIEluc3RhbmNlIGlzIE9iamVjdCgpCiAqLwoKdmFyIF9faW5zdGFuY2UgPSBuZXcgT2JqZWN0KCk7CgpfX2luc3RhbmNlLnNwbGl0ID0gU3RyaW5nLnByb3RvdHlwZS5zcGxpdDsKCnZhciBfX3NwbGl0ID0gX19pbnN0YW5jZS5zcGxpdCgpOwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAoX19zcGxpdC5jb25zdHJ1Y3RvciAhPT0gQXJyYXkpIHsKICAkRVJST1IoJyMxOiB2YXIgX19pbnN0YW5jZSA9IG5ldyBPYmplY3QoKTsgX19pbnN0YW5jZS5zcGxpdCA9IFN0cmluZy5wcm90b3R5cGUuc3BsaXQ7IF9fc3BsaXQgPSBfX2luc3RhbmNlLnNwbGl0KCk7IF9fc3BsaXQuY29uc3RydWN0b3IgPT09IEFycmF5LiBBY3R1YWw6ICcrX19zcGxpdC5jb25zdHJ1Y3RvciApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMgppZiAoX19zcGxpdC5sZW5ndGggIT09IDEpIHsKICAkRVJST1IoJyMyOiB2YXIgX19pbnN0YW5jZSA9IG5ldyBPYmplY3QoKTsgX19pbnN0YW5jZS5zcGxpdCA9IFN0cmluZy5wcm90b3R5cGUuc3BsaXQ7IF9fc3BsaXQgPSBfX2luc3RhbmNlLnNwbGl0KCk7IF9fc3BsaXQubGVuZ3RoID09PSAxLiBBY3R1YWw6ICcrX19zcGxpdC5sZW5ndGggKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzMKaWYgKF9fc3BsaXRbMF0gIT09ICJbb2JqZWN0IE9iamVjdF0iKSB7CiAgJEVSUk9SKCcjMzogdmFyIF9faW5zdGFuY2UgPSBuZXcgT2JqZWN0KCk7IF9faW5zdGFuY2Uuc3BsaXQgPSBTdHJpbmcucHJvdG90eXBlLnNwbGl0OyBfX3NwbGl0ID0gX19pbnN0YW5jZS5zcGxpdCgpOyBfX3NwbGl0WzBdID09PSAiW29iamVjdCBPYmplY3RdIi4gQWN0dWFsOiAnK19fc3BsaXRbMF0gKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"String.prototype.split() returns an Array object with:\n i) length equaled to 1,\nii) [[Get]](0) equaled to the result of converting this object to a string","description":"Instance is Object()","path":"TestCases/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A3_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnNwbGl0KCkgcmV0dXJucyBhbiBBcnJheSBvYmplY3Qgd2l0aDoKICogIGkpIGxlbmd0aCBlcXVhbGVkIHRvIDEsCiAqIGlpKSBbW0dldF1dKDApIGVxdWFsZWQgdG8gdGhlIHJlc3VsdCBvZiBjb252ZXJ0aW5nIHRoaXMgb2JqZWN0IHRvIGEgc3RyaW5nCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjE0L1MxNS41LjQuMTRfQTNfVDMuanMKICogQGRlc2NyaXB0aW9uIEluc3RhbmNlIGlzIGZ1bmN0aW9uKCl7fQogKi8KCnZhciBfX2luc3RhbmNlID0geyB0b1N0cmluZzogZnVuY3Rpb24oKSB7IHJldHVybiAiZnVuY3Rpb24oKXt9Ijt9IH07CgpfX2luc3RhbmNlLnNwbGl0ID0gU3RyaW5nLnByb3RvdHlwZS5zcGxpdDsKCnZhciBfX3NwbGl0ID0gX19pbnN0YW5jZS5zcGxpdCgpOwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAoX19zcGxpdC5jb25zdHJ1Y3RvciAhPT0gQXJyYXkpIHsKICAkRVJST1IoJyMxOiB2YXIgX19pbnN0YW5jZSA9IGZ1bmN0aW9uKCl7fTsgX19pbnN0YW5jZS5zcGxpdCA9IFN0cmluZy5wcm90b3R5cGUuc3BsaXQ7IF9fc3BsaXQgPSBfX2luc3RhbmNlLnNwbGl0KCk7IF9fc3BsaXQuY29uc3RydWN0b3IgPT09IEFycmF5LiBBY3R1YWw6ICcrX19zcGxpdC5jb25zdHJ1Y3RvciApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMgppZiAoX19zcGxpdC5sZW5ndGggIT09IDEpIHsKICAkRVJST1IoJyMyOiB2YXIgX19pbnN0YW5jZSA9IGZ1bmN0aW9uKCl7fTsgX19pbnN0YW5jZS5zcGxpdCA9IFN0cmluZy5wcm90b3R5cGUuc3BsaXQ7IF9fc3BsaXQgPSBfX2luc3RhbmNlLnNwbGl0KCk7IF9fc3BsaXQubGVuZ3RoID09PSAxLiBBY3R1YWw6ICcrX19zcGxpdC5sZW5ndGggKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzMKaWYgKF9fc3BsaXRbMF0uc3Vic3RyaW5nKDAsOCkgIT09ICJmdW5jdGlvbiIpIHsKICAkRVJST1IoJyMzOiB2YXIgX19pbnN0YW5jZSA9IGZ1bmN0aW9uKCl7fTsgX19pbnN0YW5jZS5zcGxpdCA9IFN0cmluZy5wcm90b3R5cGUuc3BsaXQ7IF9fc3BsaXQgPSBfX2luc3RhbmNlLnNwbGl0KCk7IF9fc3BsaXRbMF0uc3Vic3RyaW5nKDAsOCkgPT09ICJmdW5jdGlvbiIuIEFjdHVhbDogJytfX3NwbGl0WzBdLnN1YnN0cmluZygwLDgpICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"String.prototype.split() returns an Array object with:\n i) length equaled to 1,\nii) [[Get]](0) equaled to the result of converting this object to a string","description":"Instance is function(){}","path":"TestCases/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A3_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnNwbGl0KCkgcmV0dXJucyBhbiBBcnJheSBvYmplY3Qgd2l0aDoKICogIGkpIGxlbmd0aCBlcXVhbGVkIHRvIDEsCiAqIGlpKSBbW0dldF1dKDApIGVxdWFsZWQgdG8gdGhlIHJlc3VsdCBvZiBjb252ZXJ0aW5nIHRoaXMgb2JqZWN0IHRvIGEgc3RyaW5nCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjE0L1MxNS41LjQuMTRfQTNfVDQuanMKICogQGRlc2NyaXB0aW9uIEluc3RhbmNlIGlzIE51bWJlcihOYU4pCiAqLwoKdmFyIF9faW5zdGFuY2UgPSBuZXcgTnVtYmVyKE5hTik7CgpfX2luc3RhbmNlLnNwbGl0ID0gU3RyaW5nLnByb3RvdHlwZS5zcGxpdDsKCnZhciBfX3NwbGl0ID0gX19pbnN0YW5jZS5zcGxpdCgpOwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAoX19zcGxpdC5jb25zdHJ1Y3RvciAhPT0gQXJyYXkpIHsKICAkRVJST1IoJyMxOiB2YXIgX19pbnN0YW5jZSA9IG5ldyBOdW1iZXIoTmFOKTsgX19pbnN0YW5jZS5zcGxpdCA9IFN0cmluZy5wcm90b3R5cGUuc3BsaXQ7IF9fc3BsaXQgPSBfX2luc3RhbmNlLnNwbGl0KCk7IF9fc3BsaXQuY29uc3RydWN0b3IgPT09IEFycmF5LiBBY3R1YWw6ICcrX19zcGxpdC5jb25zdHJ1Y3RvciApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMgppZiAoX19zcGxpdC5sZW5ndGggIT09IDEpIHsKICAkRVJST1IoJyMyOiB2YXIgX19pbnN0YW5jZSA9IG5ldyBOdW1iZXIoTmFOKTsgX19pbnN0YW5jZS5zcGxpdCA9IFN0cmluZy5wcm90b3R5cGUuc3BsaXQ7IF9fc3BsaXQgPSBfX2luc3RhbmNlLnNwbGl0KCk7IF9fc3BsaXQubGVuZ3RoID09PSAxLiBBY3R1YWw6ICcrX19zcGxpdC5sZW5ndGggKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzMKaWYgKF9fc3BsaXRbMF0gIT09ICJOYU4iKSB7CiAgJEVSUk9SKCcjMzogdmFyIF9faW5zdGFuY2UgPSBuZXcgTnVtYmVyKE5hTik7IF9faW5zdGFuY2Uuc3BsaXQgPSBTdHJpbmcucHJvdG90eXBlLnNwbGl0OyBfX3NwbGl0ID0gX19pbnN0YW5jZS5zcGxpdCgpOyBfX3NwbGl0WzBdID09PSAiTmFOIi4gQWN0dWFsOiAnK19fc3BsaXRbMF0gKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"String.prototype.split() returns an Array object with:\n i) length equaled to 1,\nii) [[Get]](0) equaled to the result of converting this object to a string","description":"Instance is Number(NaN)","path":"TestCases/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A3_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnNwbGl0KCkgcmV0dXJucyBhbiBBcnJheSBvYmplY3Qgd2l0aDoKICogIGkpIGxlbmd0aCBlcXVhbGVkIHRvIDEsCiAqIGlpKSBbW0dldF1dKDApIGVxdWFsZWQgdG8gdGhlIHJlc3VsdCBvZiBjb252ZXJ0aW5nIHRoaXMgb2JqZWN0IHRvIGEgc3RyaW5nCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjE0L1MxNS41LjQuMTRfQTNfVDUuanMKICogQGRlc2NyaXB0aW9uIEluc3RhbmNlIGlzIE51bWJlcigtMTIzNDU2Nzg5MCkKICovCgp2YXIgX19pbnN0YW5jZSA9IG5ldyBOdW1iZXIoLTEyMzQ1Njc4OTApOwoKX19pbnN0YW5jZS5zcGxpdCA9IFN0cmluZy5wcm90b3R5cGUuc3BsaXQ7Cgp2YXIgX19zcGxpdCA9IF9faW5zdGFuY2Uuc3BsaXQoKTsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKF9fc3BsaXQuY29uc3RydWN0b3IgIT09IEFycmF5KSB7CiAgJEVSUk9SKCcjMTogdmFyIF9faW5zdGFuY2UgPSBuZXcgTnVtYmVyKC0xMjM0NTY3ODkwKTsgX19pbnN0YW5jZS5zcGxpdCA9IFN0cmluZy5wcm90b3R5cGUuc3BsaXQ7IF9fc3BsaXQgPSBfX2luc3RhbmNlLnNwbGl0KCk7IF9fc3BsaXQuY29uc3RydWN0b3IgPT09IEFycmF5LiBBY3R1YWw6ICcrX19zcGxpdC5jb25zdHJ1Y3RvciApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMgppZiAoX19zcGxpdC5sZW5ndGggIT09IDEpIHsKICAkRVJST1IoJyMyOiB2YXIgX19pbnN0YW5jZSA9IG5ldyBOdW1iZXIoLTEyMzQ1Njc4OTApOyBfX2luc3RhbmNlLnNwbGl0ID0gU3RyaW5nLnByb3RvdHlwZS5zcGxpdDsgX19zcGxpdCA9IF9faW5zdGFuY2Uuc3BsaXQoKTsgX19zcGxpdC5sZW5ndGggPT09IDEuIEFjdHVhbDogJytfX3NwbGl0Lmxlbmd0aCApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMwppZiAoX19zcGxpdFswXSAhPT0gIi0xMjM0NTY3ODkwIikgewogICRFUlJPUignIzM6IHZhciBfX2luc3RhbmNlID0gbmV3IE51bWJlcigtMTIzNDU2Nzg5MCk7IF9faW5zdGFuY2Uuc3BsaXQgPSBTdHJpbmcucHJvdG90eXBlLnNwbGl0OyBfX3NwbGl0ID0gX19pbnN0YW5jZS5zcGxpdCgpOyBfX3NwbGl0WzBdID09PSAiLTEyMzQ1Njc4OTAiLiBBY3R1YWw6ICcrX19zcGxpdFswXSApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"String.prototype.split() returns an Array object with:\n i) length equaled to 1,\nii) [[Get]](0) equaled to the result of converting this object to a string","description":"Instance is Number(-1234567890)","path":"TestCases/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A3_T5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnNwbGl0KCkgcmV0dXJucyBhbiBBcnJheSBvYmplY3Qgd2l0aDoKICogIGkpIGxlbmd0aCBlcXVhbGVkIHRvIDEsCiAqIGlpKSBbW0dldF1dKDApIGVxdWFsZWQgdG8gdGhlIHJlc3VsdCBvZiBjb252ZXJ0aW5nIHRoaXMgb2JqZWN0IHRvIGEgc3RyaW5nCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjE0L1MxNS41LjQuMTRfQTNfVDYuanMKICogQGRlc2NyaXB0aW9uIEluc3RhbmNlIGlzIE51bWJlcigtMWUyMSkKICovCgp2YXIgX19pbnN0YW5jZSA9IG5ldyBOdW1iZXIoLTFlMjEpOwoKX19pbnN0YW5jZS5zcGxpdCA9IFN0cmluZy5wcm90b3R5cGUuc3BsaXQ7Cgp2YXIgX19zcGxpdCA9IF9faW5zdGFuY2Uuc3BsaXQoKTsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKF9fc3BsaXQuY29uc3RydWN0b3IgIT09IEFycmF5KSB7CiAgJEVSUk9SKCcjMTogdmFyIF9faW5zdGFuY2UgPSBuZXcgTnVtYmVyKC0xZTIxKTsgX19pbnN0YW5jZS5zcGxpdCA9IFN0cmluZy5wcm90b3R5cGUuc3BsaXQ7IF9fc3BsaXQgPSBfX2luc3RhbmNlLnNwbGl0KCk7IF9fc3BsaXQuY29uc3RydWN0b3IgPT09IEFycmF5LiBBY3R1YWw6ICcrX19zcGxpdC5jb25zdHJ1Y3RvciApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMgppZiAoX19zcGxpdC5sZW5ndGggIT09IDEpIHsKICAkRVJST1IoJyMyOiB2YXIgX19pbnN0YW5jZSA9IG5ldyBOdW1iZXIoLTFlMjEpOyBfX2luc3RhbmNlLnNwbGl0ID0gU3RyaW5nLnByb3RvdHlwZS5zcGxpdDsgX19zcGxpdCA9IF9faW5zdGFuY2Uuc3BsaXQoKTsgX19zcGxpdC5sZW5ndGggPT09IDEuIEFjdHVhbDogJytfX3NwbGl0Lmxlbmd0aCApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMwppZiAoX19zcGxpdFswXSAhPT0gX19pbnN0YW5jZS50b1N0cmluZygpKSB7CiAgJEVSUk9SKCcjMzogdmFyIF9faW5zdGFuY2UgPSBuZXcgTnVtYmVyKC0xZTIxKTsgX19pbnN0YW5jZS5zcGxpdCA9IFN0cmluZy5wcm90b3R5cGUuc3BsaXQ7IF9fc3BsaXQgPSBfX2luc3RhbmNlLnNwbGl0KCk7IF9fc3BsaXRbMF0gPT09IF9faW5zdGFuY2UudG9TdHJpbmcoKS4gQWN0dWFsOiAnK19fc3BsaXRbMF0gKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"String.prototype.split() returns an Array object with:\n i) length equaled to 1,\nii) [[Get]](0) equaled to the result of converting this object to a string","description":"Instance is Number(-1e21)","path":"TestCases/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A3_T6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnNwbGl0KCkgcmV0dXJucyBhbiBBcnJheSBvYmplY3Qgd2l0aDoKICogIGkpIGxlbmd0aCBlcXVhbGVkIHRvIDEsCiAqIGlpKSBbW0dldF1dKDApIGVxdWFsZWQgdG8gdGhlIHJlc3VsdCBvZiBjb252ZXJ0aW5nIHRoaXMgb2JqZWN0IHRvIGEgc3RyaW5nCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjE0L1MxNS41LjQuMTRfQTNfVDcuanMKICogQGRlc2NyaXB0aW9uIEluc3RhbmNlIGlzIE1hdGgKICovCgp2YXIgX19pbnN0YW5jZSA9IE1hdGg7CgpfX2luc3RhbmNlLnNwbGl0ID0gU3RyaW5nLnByb3RvdHlwZS5zcGxpdDsKCnZhciBfX3NwbGl0ID0gX19pbnN0YW5jZS5zcGxpdCgpOwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAoX19zcGxpdC5jb25zdHJ1Y3RvciAhPT0gQXJyYXkpIHsKICAkRVJST1IoJyMxOiB2YXIgX19pbnN0YW5jZSA9IE1hdGg7IF9faW5zdGFuY2Uuc3BsaXQgPSBTdHJpbmcucHJvdG90eXBlLnNwbGl0OyBfX3NwbGl0ID0gX19pbnN0YW5jZS5zcGxpdCgpOyBfX3NwbGl0LmNvbnN0cnVjdG9yID09PSBBcnJheS4gQWN0dWFsOiAnK19fc3BsaXQuY29uc3RydWN0b3IgKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzIKaWYgKF9fc3BsaXQubGVuZ3RoICE9PSAxKSB7CiAgJEVSUk9SKCcjMjogdmFyIF9faW5zdGFuY2UgPSBNYXRoOyBfX2luc3RhbmNlLnNwbGl0ID0gU3RyaW5nLnByb3RvdHlwZS5zcGxpdDsgX19zcGxpdCA9IF9faW5zdGFuY2Uuc3BsaXQoKTsgX19zcGxpdC5sZW5ndGggPT09IDEuIEFjdHVhbDogJytfX3NwbGl0Lmxlbmd0aCApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMwppZiAoX19zcGxpdFswXSAhPT0gIltvYmplY3QgTWF0aF0iKSB7CiAgJEVSUk9SKCcjMzogdmFyIF9faW5zdGFuY2UgPSBNYXRoOyBfX2luc3RhbmNlLnNwbGl0ID0gU3RyaW5nLnByb3RvdHlwZS5zcGxpdDsgX19zcGxpdCA9IF9faW5zdGFuY2Uuc3BsaXQoKTsgX19zcGxpdFswXSA9PT0gIltvYmplY3QgTWF0aF0iLiBBY3R1YWw6ICcrX19zcGxpdFswXSApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"String.prototype.split() returns an Array object with:\n i) length equaled to 1,\nii) [[Get]](0) equaled to the result of converting this object to a string","description":"Instance is Math","path":"TestCases/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A3_T7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnNwbGl0KCkgcmV0dXJucyBhbiBBcnJheSBvYmplY3Qgd2l0aDoKICogIGkpIGxlbmd0aCBlcXVhbGVkIHRvIDEsCiAqIGlpKSBbW0dldF1dKDApIGVxdWFsZWQgdG8gdGhlIHJlc3VsdCBvZiBjb252ZXJ0aW5nIHRoaXMgb2JqZWN0IHRvIGEgc3RyaW5nCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjE0L1MxNS41LjQuMTRfQTNfVDguanMKICogQGRlc2NyaXB0aW9uIEluc3RhbmNlIGlzIEFycmF5KDEsMiwzLDQsNSkKICovCgp2YXIgX19pbnN0YW5jZSA9IG5ldyBBcnJheSgxLDIsMyw0LDUpOwoKX19pbnN0YW5jZS5zcGxpdCA9IFN0cmluZy5wcm90b3R5cGUuc3BsaXQ7Cgp2YXIgX19zcGxpdCA9IF9faW5zdGFuY2Uuc3BsaXQoKTsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKF9fc3BsaXQuY29uc3RydWN0b3IgIT09IEFycmF5KSB7CiAgJEVSUk9SKCcjMTogdmFyIF9faW5zdGFuY2UgPSBuZXcgQXJyYXkoMSwyLDMsNCw1KTsgX19pbnN0YW5jZS5zcGxpdCA9IFN0cmluZy5wcm90b3R5cGUuc3BsaXQ7IF9fc3BsaXQgPSBfX2luc3RhbmNlLnNwbGl0KCk7IF9fc3BsaXQuY29uc3RydWN0b3IgPT09IEFycmF5LiBBY3R1YWw6ICcrX19zcGxpdC5jb25zdHJ1Y3RvciApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMgppZiAoX19zcGxpdC5sZW5ndGggIT09IDEpIHsKICAkRVJST1IoJyMyOiB2YXIgX19pbnN0YW5jZSA9IG5ldyBBcnJheSgxLDIsMyw0LDUpOyBfX2luc3RhbmNlLnNwbGl0ID0gU3RyaW5nLnByb3RvdHlwZS5zcGxpdDsgX19zcGxpdCA9IF9faW5zdGFuY2Uuc3BsaXQoKTsgX19zcGxpdC5sZW5ndGggPT09IDEuIEFjdHVhbDogJytfX3NwbGl0Lmxlbmd0aCApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMwppZiAoX19zcGxpdFswXSAhPT0gIjEsMiwzLDQsNSIpIHsKICAkRVJST1IoJyMzOiB2YXIgX19pbnN0YW5jZSA9IG5ldyBBcnJheSgxLDIsMyw0LDUpOyBfX2luc3RhbmNlLnNwbGl0ID0gU3RyaW5nLnByb3RvdHlwZS5zcGxpdDsgX19zcGxpdCA9IF9faW5zdGFuY2Uuc3BsaXQoKTsgX19zcGxpdFswXSA9PT0gIjEsMiwzLDQsNSIuIEFjdHVhbDogJytfX3NwbGl0WzBdICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"String.prototype.split() returns an Array object with:\n i) length equaled to 1,\nii) [[Get]](0) equaled to the result of converting this object to a string","description":"Instance is Array(1,2,3,4,5)","path":"TestCases/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A3_T8.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnNwbGl0KCkgcmV0dXJucyBhbiBBcnJheSBvYmplY3Qgd2l0aDoKICogIGkpIGxlbmd0aCBlcXVhbGVkIHRvIDEsCiAqIGlpKSBbW0dldF1dKDApIGVxdWFsZWQgdG8gdGhlIHJlc3VsdCBvZiBjb252ZXJ0aW5nIHRoaXMgb2JqZWN0IHRvIGEgc3RyaW5nCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjE0L1MxNS41LjQuMTRfQTNfVDkuanMKICogQGRlc2NyaXB0aW9uIEluc3RhbmNlIGlzIEJvb2xlYW4KICovCgp2YXIgX19pbnN0YW5jZSA9IG5ldyBCb29sZWFuOwoKX19pbnN0YW5jZS5zcGxpdCA9IFN0cmluZy5wcm90b3R5cGUuc3BsaXQ7Cgp2YXIgX19zcGxpdCA9IF9faW5zdGFuY2Uuc3BsaXQoKTsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKF9fc3BsaXQuY29uc3RydWN0b3IgIT09IEFycmF5KSB7CiAgJEVSUk9SKCcjMTogdmFyIF9faW5zdGFuY2UgPSBuZXcgQm9vbGVhbjsgX19pbnN0YW5jZS5zcGxpdCA9IFN0cmluZy5wcm90b3R5cGUuc3BsaXQ7IF9fc3BsaXQgPSBfX2luc3RhbmNlLnNwbGl0KCk7IF9fc3BsaXQuY29uc3RydWN0b3IgPT09IEFycmF5LiBBY3R1YWw6ICcrX19zcGxpdC5jb25zdHJ1Y3RvciApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMgppZiAoX19zcGxpdC5sZW5ndGggIT09IDEpIHsKICAkRVJST1IoJyMyOiB2YXIgX19pbnN0YW5jZSA9IG5ldyBCb29sZWFuOyBfX2luc3RhbmNlLnNwbGl0ID0gU3RyaW5nLnByb3RvdHlwZS5zcGxpdDsgX19zcGxpdCA9IF9faW5zdGFuY2Uuc3BsaXQoKTsgX19zcGxpdC5sZW5ndGggPT09IDEuIEFjdHVhbDogJytfX3NwbGl0Lmxlbmd0aCApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMwppZiAoX19zcGxpdFswXSAhPT0gImZhbHNlIikgewogICRFUlJPUignIzM6IHZhciBfX2luc3RhbmNlID0gbmV3IEJvb2xlYW47IF9faW5zdGFuY2Uuc3BsaXQgPSBTdHJpbmcucHJvdG90eXBlLnNwbGl0OyBfX3NwbGl0ID0gX19pbnN0YW5jZS5zcGxpdCgpOyBfX3NwbGl0WzBdID09PSAiZmFsc2UiLiBBY3R1YWw6ICcrX19zcGxpdFswXSApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"String.prototype.split() returns an Array object with:\n i) length equaled to 1,\nii) [[Get]](0) equaled to the result of converting this object to a string","description":"Instance is Boolean","path":"TestCases/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A3_T9.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnNwbGl0IChzZXBhcmF0b3IsIGxpbWl0KSByZXR1cm5zIGFuIEFycmF5IG9iamVjdCBpbnRvIHdoaWNoIHN1YnN0cmluZ3Mgb2YgdGhlIHJlc3VsdCBvZiBjb252ZXJ0aW5nIHRoaXMgb2JqZWN0IHRvIGEgc3RyaW5nIGhhdmUKICogYmVlbiBzdG9yZWQuIElmIHNlcGFyYXRvciBpcyBhIHJlZ3VsYXIgZXhwcmVzc2lvbiB0aGVuCiAqIGluc2lkZSBvZiBTcGxpdE1hdGNoIGhlbHBlciB0aGUgW1tNYXRjaF1dIG1ldGhvZCBvZiBSIGlzIGNhbGxlZCBnaXZpbmcgaXQgdGhlIGFyZ3VtZW50cyBjb3JyZXNwb25kaW5nCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjE0L1MxNS41LjQuMTRfQTRfVDEuanMKICogQGRlc2NyaXB0aW9uIEFyZ3VtZW50IGlzIHJlZ2V4cCAvbC8sIGFuZCBpbnN0YW5jZSBpcyBTdHJpbmcoImhlbGxvIikKICovCgp2YXIgX19zdHJpbmcgPSBuZXcgU3RyaW5nKCJoZWxsbyIpOwoKdmFyIF9fcmUgPSAvbC87Cgp2YXIgX19zcGxpdCA9IF9fc3RyaW5nLnNwbGl0KF9fcmUpOwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAoX19zcGxpdC5jb25zdHJ1Y3RvciAhPT0gQXJyYXkpIHsKICAkRVJST1IoJyMxOiB2YXIgX19zdHJpbmcgPSBuZXcgU3RyaW5nKCJoZWxsbyIpOyB2YXIgX19yZSA9IC9sLzsgX19zcGxpdCA9IF9fc3RyaW5nLnNwbGl0KF9fcmUpOyBfX3NwbGl0LmNvbnN0cnVjdG9yID09PSBBcnJheS4gQWN0dWFsOiAnK19fc3BsaXQuY29uc3RydWN0b3IgKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzIKaWYgKF9fc3BsaXQubGVuZ3RoICE9PSAzKSB7CiAgJEVSUk9SKCcjMjogdmFyIF9fc3RyaW5nID0gbmV3IFN0cmluZygiaGVsbG8iKTsgdmFyIF9fcmUgPSAvbC87IF9fc3BsaXQgPSBfX3N0cmluZy5zcGxpdChfX3JlKTsgX19zcGxpdC5sZW5ndGggPT09IDMuIEFjdHVhbDogJytfX3NwbGl0Lmxlbmd0aCApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMwppZiAoX19zcGxpdFswXSAhPT0gImhlIikgewogICRFUlJPUignIzM6IHZhciBfX3N0cmluZyA9IG5ldyBTdHJpbmcoImhlbGxvIik7IHZhciBfX3JlID0gL2wvOyBfX3NwbGl0ID0gX19zdHJpbmcuc3BsaXQoX19yZSk7IF9fc3BsaXRbMF0gPT09ICJoZSIuIEFjdHVhbDogJytfX3NwbGl0WzBdKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzQKaWYgKF9fc3BsaXRbMV0gIT09ICIiKSB7CiAgJEVSUk9SKCcjNDogdmFyIF9fc3RyaW5nID0gbmV3IFN0cmluZygiaGVsbG8iKTsgdmFyIF9fcmUgPSAvbC87IF9fc3BsaXQgPSBfX3N0cmluZy5zcGxpdChfX3JlKTsgX19zcGxpdFsxXSA9PT0gIiIuIEFjdHVhbDogJytfX3NwbGl0WzFdKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzUKaWYgKF9fc3BsaXRbMl0gIT09ICJvIikgewogICRFUlJPUignIzU6IHZhciBfX3N0cmluZyA9IG5ldyBTdHJpbmcoImhlbGxvIik7IHZhciBfX3JlID0gL2wvOyBfX3NwbGl0ID0gX19zdHJpbmcuc3BsaXQoX19yZSk7IF9fc3BsaXRbMl0gPT09ICJvIi4gQWN0dWFsOiAnK19fc3BsaXRbMl0gKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"String.prototype.split (separator, limit) returns an Array object into which substrings of the result of converting this object to a string have\nbeen stored. If separator is a regular expression then\ninside of SplitMatch helper the [[Match]] method of R is called giving it the arguments corresponding","description":"Argument is regexp /l/, and instance is String(\"hello\")","path":"TestCases/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A4_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnNwbGl0IChzZXBhcmF0b3IsIGxpbWl0KSByZXR1cm5zIGFuIEFycmF5IG9iamVjdCBpbnRvIHdoaWNoIHN1YnN0cmluZ3Mgb2YgdGhlIHJlc3VsdCBvZiBjb252ZXJ0aW5nIHRoaXMgb2JqZWN0IHRvIGEgc3RyaW5nIGhhdmUKICogYmVlbiBzdG9yZWQuIElmIHNlcGFyYXRvciBpcyBhIHJlZ3VsYXIgZXhwcmVzc2lvbiB0aGVuCiAqIGluc2lkZSBvZiBTcGxpdE1hdGNoIGhlbHBlciB0aGUgW1tNYXRjaF1dIG1ldGhvZCBvZiBSIGlzIGNhbGxlZCBnaXZpbmcgaXQgdGhlIGFyZ3VtZW50cyBjb3JyZXNwb25kaW5nCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjE0L1MxNS41LjQuMTRfQTRfVDEwLmpzCiAqIEBkZXNjcmlwdGlvbiBBcmd1bWVudCBpcyBuZXcgUmVnRXhwLCBhbmQgaW5zdGFuY2UgaXMgU3RyaW5nKCJoZWxsbyIpCiAqLwoKdmFyIF9fc3RyaW5nID0gbmV3IFN0cmluZygiaGVsbG8iKTsKCnZhciBfX3JlID0gbmV3IFJlZ0V4cDsKCnZhciBfX3NwbGl0ID0gX19zdHJpbmcuc3BsaXQoX19yZSk7Cgp2YXIgX19leHBlY3RlZCA9IFsiaCIsImUiLCJsIiwibCIsIm8iXTsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKF9fc3BsaXQuY29uc3RydWN0b3IgIT09IEFycmF5KSB7CiAgJEVSUk9SKCcjMTogX19zcGxpdC5jb25zdHJ1Y3RvciA9PT0gQXJyYXkuIEFjdHVhbDogJytfX3NwbGl0LmNvbnN0cnVjdG9yICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMyCmlmIChfX3NwbGl0Lmxlbmd0aCAhPT0gX19leHBlY3RlZC5sZW5ndGgpIHsKICAkRVJST1IoJyMyOiBfX3NwbGl0Lmxlbmd0aCA9PT0gX19leHBlY3RlZC5sZW5ndGguIEFjdHVhbDogJytfX3NwbGl0Lmxlbmd0aCApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMwpmb3IodmFyIGluZGV4PTA7IGluZGV4PF9fZXhwZWN0ZWQubGVuZ3RoOyBpbmRleCsrKSB7CiAgaWYgKF9fc3BsaXRbaW5kZXhdICE9PSBfX2V4cGVjdGVkW2luZGV4XSkgewogICAgJEVSUk9SKCcjMy4nK2luZGV4Kyc6IF9fc3BsaXRbJytpbmRleCsnXSA9PT0gJytfX2V4cGVjdGVkW2luZGV4XSsnLiBBY3R1YWw6ICcrX19zcGxpdFtpbmRleF0gKTsKICB9Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"String.prototype.split (separator, limit) returns an Array object into which substrings of the result of converting this object to a string have\nbeen stored. If separator is a regular expression then\ninside of SplitMatch helper the [[Match]] method of R is called giving it the arguments corresponding","description":"Argument is new RegExp, and instance is String(\"hello\")","path":"TestCases/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A4_T10.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnNwbGl0IChzZXBhcmF0b3IsIGxpbWl0KSByZXR1cm5zIGFuIEFycmF5IG9iamVjdCBpbnRvIHdoaWNoIHN1YnN0cmluZ3Mgb2YgdGhlIHJlc3VsdCBvZiBjb252ZXJ0aW5nIHRoaXMgb2JqZWN0IHRvIGEgc3RyaW5nIGhhdmUKICogYmVlbiBzdG9yZWQuIElmIHNlcGFyYXRvciBpcyBhIHJlZ3VsYXIgZXhwcmVzc2lvbiB0aGVuCiAqIGluc2lkZSBvZiBTcGxpdE1hdGNoIGhlbHBlciB0aGUgW1tNYXRjaF1dIG1ldGhvZCBvZiBSIGlzIGNhbGxlZCBnaXZpbmcgaXQgdGhlIGFyZ3VtZW50cyBjb3JyZXNwb25kaW5nCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjE0L1MxNS41LjQuMTRfQTRfVDExLmpzCiAqIEBkZXNjcmlwdGlvbiBBcmd1bWVudHMgYXJlIG5ldyBSZWdFeHAgYW5kIDAsIGFuZCBpbnN0YW5jZSBpcyBTdHJpbmcoImhlbGxvIikKICovCgp2YXIgX19zdHJpbmcgPSBuZXcgU3RyaW5nKCJoZWxsbyIpOwoKdmFyIF9fcmUgPSBuZXcgUmVnRXhwOwoKdmFyIF9fc3BsaXQgPSBfX3N0cmluZy5zcGxpdChfX3JlLCAwKTsKCnZhciBfX2V4cGVjdGVkID0gW107CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmIChfX3NwbGl0LmNvbnN0cnVjdG9yICE9PSBBcnJheSkgewogICRFUlJPUignIzE6IF9fc3BsaXQuY29uc3RydWN0b3IgPT09IEFycmF5LiBBY3R1YWw6ICcrX19zcGxpdC5jb25zdHJ1Y3RvciApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMgppZiAoX19zcGxpdC5sZW5ndGggIT09IF9fZXhwZWN0ZWQubGVuZ3RoKSB7CiAgJEVSUk9SKCcjMjogX19zcGxpdC5sZW5ndGggPT09IF9fZXhwZWN0ZWQubGVuZ3RoLiBBY3R1YWw6ICcrX19zcGxpdC5sZW5ndGggKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzMKaWYgKF9fc3BsaXRbMF0gIT09IF9fZXhwZWN0ZWRbMF0pIHsKICAkRVJST1IoJyMzOiBfX3NwbGl0WzBdID09PSAnK19fZXhwZWN0ZWRbMF0rJy4gQWN0dWFsOiAnK19fc3BsaXRbaW5kZXhdICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"String.prototype.split (separator, limit) returns an Array object into which substrings of the result of converting this object to a string have\nbeen stored. If separator is a regular expression then\ninside of SplitMatch helper the [[Match]] method of R is called giving it the arguments corresponding","description":"Arguments are new RegExp and 0, and instance is String(\"hello\")","path":"TestCases/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A4_T11.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnNwbGl0IChzZXBhcmF0b3IsIGxpbWl0KSByZXR1cm5zIGFuIEFycmF5IG9iamVjdCBpbnRvIHdoaWNoIHN1YnN0cmluZ3Mgb2YgdGhlIHJlc3VsdCBvZiBjb252ZXJ0aW5nIHRoaXMgb2JqZWN0IHRvIGEgc3RyaW5nIGhhdmUKICogYmVlbiBzdG9yZWQuIElmIHNlcGFyYXRvciBpcyBhIHJlZ3VsYXIgZXhwcmVzc2lvbiB0aGVuCiAqIGluc2lkZSBvZiBTcGxpdE1hdGNoIGhlbHBlciB0aGUgW1tNYXRjaF1dIG1ldGhvZCBvZiBSIGlzIGNhbGxlZCBnaXZpbmcgaXQgdGhlIGFyZ3VtZW50cyBjb3JyZXNwb25kaW5nCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjE0L1MxNS41LjQuMTRfQTRfVDEyLmpzCiAqIEBkZXNjcmlwdGlvbiBBcmd1bWVudHMgYXJlIG5ldyBSZWdFeHAgYW5kIDEsIGFuZCBpbnN0YW5jZSBpcyBTdHJpbmcoImhlbGxvIikKICovCgp2YXIgX19zdHJpbmcgPSBuZXcgU3RyaW5nKCJoZWxsbyIpOwoKdmFyIF9fcmUgPSBuZXcgUmVnRXhwOwoKdmFyIF9fc3BsaXQgPSBfX3N0cmluZy5zcGxpdChfX3JlLCAxKTsKCnZhciBfX2V4cGVjdGVkID0gWyJoIl07CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmIChfX3NwbGl0LmNvbnN0cnVjdG9yICE9PSBBcnJheSkgewogICRFUlJPUignIzE6IF9fc3BsaXQuY29uc3RydWN0b3IgPT09IEFycmF5LiBBY3R1YWw6ICcrX19zcGxpdC5jb25zdHJ1Y3RvciApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMgppZiAoX19zcGxpdC5sZW5ndGggIT09IF9fZXhwZWN0ZWQubGVuZ3RoKSB7CiAgJEVSUk9SKCcjMjogX19zcGxpdC5sZW5ndGggPT09IF9fZXhwZWN0ZWQubGVuZ3RoLiBBY3R1YWw6ICcrX19zcGxpdC5sZW5ndGggKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzMKaWYgKF9fc3BsaXRbMF0gIT09IF9fZXhwZWN0ZWRbMF0pIHsKICAkRVJST1IoJyMzOiBfX3NwbGl0WzBdID09PSAnK19fZXhwZWN0ZWRbMF0rJy4gQWN0dWFsOiAnK19fc3BsaXRbMF0gKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"String.prototype.split (separator, limit) returns an Array object into which substrings of the result of converting this object to a string have\nbeen stored. If separator is a regular expression then\ninside of SplitMatch helper the [[Match]] method of R is called giving it the arguments corresponding","description":"Arguments are new RegExp and 1, and instance is String(\"hello\")","path":"TestCases/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A4_T12.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnNwbGl0IChzZXBhcmF0b3IsIGxpbWl0KSByZXR1cm5zIGFuIEFycmF5IG9iamVjdCBpbnRvIHdoaWNoIHN1YnN0cmluZ3Mgb2YgdGhlIHJlc3VsdCBvZiBjb252ZXJ0aW5nIHRoaXMgb2JqZWN0IHRvIGEgc3RyaW5nIGhhdmUKICogYmVlbiBzdG9yZWQuIElmIHNlcGFyYXRvciBpcyBhIHJlZ3VsYXIgZXhwcmVzc2lvbiB0aGVuCiAqIGluc2lkZSBvZiBTcGxpdE1hdGNoIGhlbHBlciB0aGUgW1tNYXRjaF1dIG1ldGhvZCBvZiBSIGlzIGNhbGxlZCBnaXZpbmcgaXQgdGhlIGFyZ3VtZW50cyBjb3JyZXNwb25kaW5nCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjE0L1MxNS41LjQuMTRfQTRfVDEzLmpzCiAqIEBkZXNjcmlwdGlvbiBBcmd1bWVudHMgYXJlIG5ldyBSZWdFeHAgYW5kIDIsIGFuZCBpbnN0YW5jZSBpcyBTdHJpbmcoImhlbGxvIikKICovCgp2YXIgX19zdHJpbmcgPSBuZXcgU3RyaW5nKCJoZWxsbyIpOwoKdmFyIF9fcmUgPSBuZXcgUmVnRXhwOwoKdmFyIF9fc3BsaXQgPSBfX3N0cmluZy5zcGxpdChfX3JlLCAyKTsKCnZhciBfX2V4cGVjdGVkID0gWyJoIiwgImUiXTsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKF9fc3BsaXQuY29uc3RydWN0b3IgIT09IEFycmF5KSB7CiAgJEVSUk9SKCcjMTogX19zcGxpdC5jb25zdHJ1Y3RvciA9PT0gQXJyYXkuIEFjdHVhbDogJytfX3NwbGl0LmNvbnN0cnVjdG9yICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMyCmlmIChfX3NwbGl0Lmxlbmd0aCAhPT0gX19leHBlY3RlZC5sZW5ndGgpIHsKICAkRVJST1IoJyMyOiBfX3NwbGl0Lmxlbmd0aCA9PT0gX19leHBlY3RlZC5sZW5ndGguIEFjdHVhbDogJytfX3NwbGl0Lmxlbmd0aCApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMwpmb3IodmFyIGluZGV4PTA7IGluZGV4PF9fZXhwZWN0ZWQubGVuZ3RoOyBpbmRleCsrKSB7CiAgaWYgKF9fc3BsaXRbaW5kZXhdICE9PSBfX2V4cGVjdGVkW2luZGV4XSkgewogICAgJEVSUk9SKCcjMy4nK2luZGV4Kyc6IF9fc3BsaXRbJytpbmRleCsnXSA9PT0gJytfX2V4cGVjdGVkW2luZGV4XSsnLiBBY3R1YWw6ICcrX19zcGxpdFtpbmRleF0gKTsKICB9Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"String.prototype.split (separator, limit) returns an Array object into which substrings of the result of converting this object to a string have\nbeen stored. If separator is a regular expression then\ninside of SplitMatch helper the [[Match]] method of R is called giving it the arguments corresponding","description":"Arguments are new RegExp and 2, and instance is String(\"hello\")","path":"TestCases/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A4_T13.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnNwbGl0IChzZXBhcmF0b3IsIGxpbWl0KSByZXR1cm5zIGFuIEFycmF5IG9iamVjdCBpbnRvIHdoaWNoIHN1YnN0cmluZ3Mgb2YgdGhlIHJlc3VsdCBvZiBjb252ZXJ0aW5nIHRoaXMgb2JqZWN0IHRvIGEgc3RyaW5nIGhhdmUKICogYmVlbiBzdG9yZWQuIElmIHNlcGFyYXRvciBpcyBhIHJlZ3VsYXIgZXhwcmVzc2lvbiB0aGVuCiAqIGluc2lkZSBvZiBTcGxpdE1hdGNoIGhlbHBlciB0aGUgW1tNYXRjaF1dIG1ldGhvZCBvZiBSIGlzIGNhbGxlZCBnaXZpbmcgaXQgdGhlIGFyZ3VtZW50cyBjb3JyZXNwb25kaW5nCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjE0L1MxNS41LjQuMTRfQTRfVDE0LmpzCiAqIEBkZXNjcmlwdGlvbiBBcmd1bWVudHMgYXJlIG5ldyBSZWdFeHAgYW5kIDMsIGFuZCBpbnN0YW5jZSBpcyBTdHJpbmcoImhlbGxvIikKICovCgp2YXIgX19zdHJpbmcgPSBuZXcgU3RyaW5nKCJoZWxsbyIpOwoKdmFyIF9fcmUgPSBuZXcgUmVnRXhwOwoKdmFyIF9fc3BsaXQgPSBfX3N0cmluZy5zcGxpdChfX3JlLCAzKTsKCnZhciBfX2V4cGVjdGVkID0gWyJoIiwgImUiLCAibCJdOwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAoX19zcGxpdC5jb25zdHJ1Y3RvciAhPT0gQXJyYXkpIHsKICAkRVJST1IoJyMxOiBfX3NwbGl0LmNvbnN0cnVjdG9yID09PSBBcnJheS4gQWN0dWFsOiAnK19fc3BsaXQuY29uc3RydWN0b3IgKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzIKaWYgKF9fc3BsaXQubGVuZ3RoICE9PSBfX2V4cGVjdGVkLmxlbmd0aCkgewogICRFUlJPUignIzI6IF9fc3BsaXQubGVuZ3RoID09PSBfX2V4cGVjdGVkLmxlbmd0aC4gQWN0dWFsOiAnK19fc3BsaXQubGVuZ3RoICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMzCmZvcih2YXIgaW5kZXg9MDsgaW5kZXg8X19leHBlY3RlZC5sZW5ndGg7IGluZGV4KyspIHsKICBpZiAoX19zcGxpdFtpbmRleF0gIT09IF9fZXhwZWN0ZWRbaW5kZXhdKSB7CiAgICAkRVJST1IoJyMzLicraW5kZXgrJzogX19zcGxpdFsnK2luZGV4KyddID09PSAnK19fZXhwZWN0ZWRbaW5kZXhdKycuIEFjdHVhbDogJytfX3NwbGl0W2luZGV4XSApOwogIH0KfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"String.prototype.split (separator, limit) returns an Array object into which substrings of the result of converting this object to a string have\nbeen stored. If separator is a regular expression then\ninside of SplitMatch helper the [[Match]] method of R is called giving it the arguments corresponding","description":"Arguments are new RegExp and 3, and instance is String(\"hello\")","path":"TestCases/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A4_T14.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnNwbGl0IChzZXBhcmF0b3IsIGxpbWl0KSByZXR1cm5zIGFuIEFycmF5IG9iamVjdCBpbnRvIHdoaWNoIHN1YnN0cmluZ3Mgb2YgdGhlIHJlc3VsdCBvZiBjb252ZXJ0aW5nIHRoaXMgb2JqZWN0IHRvIGEgc3RyaW5nIGhhdmUKICogYmVlbiBzdG9yZWQuIElmIHNlcGFyYXRvciBpcyBhIHJlZ3VsYXIgZXhwcmVzc2lvbiB0aGVuCiAqIGluc2lkZSBvZiBTcGxpdE1hdGNoIGhlbHBlciB0aGUgW1tNYXRjaF1dIG1ldGhvZCBvZiBSIGlzIGNhbGxlZCBnaXZpbmcgaXQgdGhlIGFyZ3VtZW50cyBjb3JyZXNwb25kaW5nCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjE0L1MxNS41LjQuMTRfQTRfVDE1LmpzCiAqIEBkZXNjcmlwdGlvbiBBcmd1bWVudHMgYXJlIG5ldyBSZWdFeHAgYW5kIDQsIGFuZCBpbnN0YW5jZSBpcyBTdHJpbmcoImhlbGxvIikKICovCgp2YXIgX19zdHJpbmcgPSBuZXcgU3RyaW5nKCJoZWxsbyIpOwoKdmFyIF9fcmUgPSBuZXcgUmVnRXhwOwoKdmFyIF9fc3BsaXQgPSBfX3N0cmluZy5zcGxpdChfX3JlLCA0KTsKCnZhciBfX2V4cGVjdGVkID0gWyJoIiwgImUiLCAibCIgLCJsIl07CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmIChfX3NwbGl0LmNvbnN0cnVjdG9yICE9PSBBcnJheSkgewogICRFUlJPUignIzE6IF9fc3BsaXQuY29uc3RydWN0b3IgPT09IEFycmF5LiBBY3R1YWw6ICcrX19zcGxpdC5jb25zdHJ1Y3RvciApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMgppZiAoX19zcGxpdC5sZW5ndGggIT09IF9fZXhwZWN0ZWQubGVuZ3RoKSB7CiAgJEVSUk9SKCcjMjogX19zcGxpdC5sZW5ndGggPT09IF9fZXhwZWN0ZWQubGVuZ3RoLiBBY3R1YWw6ICcrX19zcGxpdC5sZW5ndGggKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzMKZm9yKHZhciBpbmRleD0wOyBpbmRleDxfX2V4cGVjdGVkLmxlbmd0aDsgaW5kZXgrKykgewogIGlmIChfX3NwbGl0W2luZGV4XSAhPT0gX19leHBlY3RlZFtpbmRleF0pIHsKICAgICRFUlJPUignIzMuJytpbmRleCsnOiBfX3NwbGl0WycraW5kZXgrJ10gPT09ICcrX19leHBlY3RlZFtpbmRleF0rJy4gQWN0dWFsOiAnK19fc3BsaXRbaW5kZXhdICk7CiAgfQp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"String.prototype.split (separator, limit) returns an Array object into which substrings of the result of converting this object to a string have\nbeen stored. If separator is a regular expression then\ninside of SplitMatch helper the [[Match]] method of R is called giving it the arguments corresponding","description":"Arguments are new RegExp and 4, and instance is String(\"hello\")","path":"TestCases/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A4_T15.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnNwbGl0IChzZXBhcmF0b3IsIGxpbWl0KSByZXR1cm5zIGFuIEFycmF5IG9iamVjdCBpbnRvIHdoaWNoIHN1YnN0cmluZ3Mgb2YgdGhlIHJlc3VsdCBvZiBjb252ZXJ0aW5nIHRoaXMgb2JqZWN0IHRvIGEgc3RyaW5nIGhhdmUKICogYmVlbiBzdG9yZWQuIElmIHNlcGFyYXRvciBpcyBhIHJlZ3VsYXIgZXhwcmVzc2lvbiB0aGVuCiAqIGluc2lkZSBvZiBTcGxpdE1hdGNoIGhlbHBlciB0aGUgW1tNYXRjaF1dIG1ldGhvZCBvZiBSIGlzIGNhbGxlZCBnaXZpbmcgaXQgdGhlIGFyZ3VtZW50cyBjb3JyZXNwb25kaW5nCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjE0L1MxNS41LjQuMTRfQTRfVDE2LmpzCiAqIEBkZXNjcmlwdGlvbiBBcmd1bWVudHMgYXJlIG5ldyBSZWdFeHAgYW5kIHZvaWQgMCwgYW5kIGluc3RhbmNlIGlzIFN0cmluZygiaGVsbG8iKQogKi8KCnZhciBfX3N0cmluZyA9IG5ldyBTdHJpbmcoImhlbGxvIik7Cgp2YXIgX19yZSA9IG5ldyBSZWdFeHA7Cgp2YXIgX19zcGxpdCA9IF9fc3RyaW5nLnNwbGl0KF9fcmUsIHZvaWQgMCk7Cgp2YXIgX19leHBlY3RlZCA9IFsiaCIsICJlIiwgImwiLCAibCIsICJvIl07CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmIChfX3NwbGl0LmNvbnN0cnVjdG9yICE9PSBBcnJheSkgewogICRFUlJPUignIzE6IF9fc3BsaXQuY29uc3RydWN0b3IgPT09IEFycmF5LiBBY3R1YWw6ICcrX19zcGxpdC5jb25zdHJ1Y3RvciApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMgppZiAoX19zcGxpdC5sZW5ndGggIT09IF9fZXhwZWN0ZWQubGVuZ3RoKSB7CiAgJEVSUk9SKCcjMjogX19zcGxpdC5sZW5ndGggPT09IF9fZXhwZWN0ZWQubGVuZ3RoLiBBY3R1YWw6ICcrX19zcGxpdC5sZW5ndGggKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzMKZm9yKHZhciBpbmRleD0wOyBpbmRleDxfX2V4cGVjdGVkLmxlbmd0aDsgaW5kZXgrKykgewogIGlmIChfX3NwbGl0W2luZGV4XSAhPT0gX19leHBlY3RlZFtpbmRleF0pIHsKICAgICRFUlJPUignIzMuJytpbmRleCsnOiBfX3NwbGl0WycraW5kZXgrJ10gPT09ICcrX19leHBlY3RlZFtpbmRleF0rJy4gQWN0dWFsOiAnK19fc3BsaXRbaW5kZXhdICk7CiAgfQp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"String.prototype.split (separator, limit) returns an Array object into which substrings of the result of converting this object to a string have\nbeen stored. If separator is a regular expression then\ninside of SplitMatch helper the [[Match]] method of R is called giving it the arguments corresponding","description":"Arguments are new RegExp and void 0, and instance is String(\"hello\")","path":"TestCases/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A4_T16.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnNwbGl0IChzZXBhcmF0b3IsIGxpbWl0KSByZXR1cm5zIGFuIEFycmF5IG9iamVjdCBpbnRvIHdoaWNoIHN1YnN0cmluZ3Mgb2YgdGhlIHJlc3VsdCBvZiBjb252ZXJ0aW5nIHRoaXMgb2JqZWN0IHRvIGEgc3RyaW5nIGhhdmUKICogYmVlbiBzdG9yZWQuIElmIHNlcGFyYXRvciBpcyBhIHJlZ3VsYXIgZXhwcmVzc2lvbiB0aGVuCiAqIGluc2lkZSBvZiBTcGxpdE1hdGNoIGhlbHBlciB0aGUgW1tNYXRjaF1dIG1ldGhvZCBvZiBSIGlzIGNhbGxlZCBnaXZpbmcgaXQgdGhlIGFyZ3VtZW50cyBjb3JyZXNwb25kaW5nCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjE0L1MxNS41LjQuMTRfQTRfVDE3LmpzCiAqIEBkZXNjcmlwdGlvbiBBcmd1bWVudHMgYXJlIG5ldyBSZWdFeHAgYW5kIHVuZGVmaW5lZCwgYW5kIGluc3RhbmNlIGlzIFN0cmluZygiaGVsbG8iKQogKi8KCnZhciBfX3N0cmluZyA9IG5ldyBTdHJpbmcoImhlbGxvIik7Cgp2YXIgX19yZSA9IG5ldyBSZWdFeHA7Cgp2YXIgX19zcGxpdCA9IF9fc3RyaW5nLnNwbGl0KF9fcmUsIHVuZGVmaW5lZCk7Cgp2YXIgX19leHBlY3RlZCA9IFsiaCIsICJlIiwgImwiLCAibCIsICJvIl07CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmIChfX3NwbGl0LmNvbnN0cnVjdG9yICE9PSBBcnJheSkgewogICRFUlJPUignIzE6IF9fc3BsaXQuY29uc3RydWN0b3IgPT09IEFycmF5LiBBY3R1YWw6ICcrX19zcGxpdC5jb25zdHJ1Y3RvciApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMgppZiAoX19zcGxpdC5sZW5ndGggIT09IF9fZXhwZWN0ZWQubGVuZ3RoKSB7CiAgJEVSUk9SKCcjMjogX19zcGxpdC5sZW5ndGggPT09IF9fZXhwZWN0ZWQubGVuZ3RoLiBBY3R1YWw6ICcrX19zcGxpdC5sZW5ndGggKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzMKZm9yKHZhciBpbmRleD0wOyBpbmRleDxfX2V4cGVjdGVkLmxlbmd0aDsgaW5kZXgrKykgewogIGlmIChfX3NwbGl0W2luZGV4XSAhPT0gX19leHBlY3RlZFtpbmRleF0pIHsKICAgICRFUlJPUignIzMuJytpbmRleCsnOiBfX3NwbGl0WycraW5kZXgrJ10gPT09ICcrX19leHBlY3RlZFtpbmRleF0rJy4gQWN0dWFsOiAnK19fc3BsaXRbaW5kZXhdICk7CiAgfQp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"String.prototype.split (separator, limit) returns an Array object into which substrings of the result of converting this object to a string have\nbeen stored. If separator is a regular expression then\ninside of SplitMatch helper the [[Match]] method of R is called giving it the arguments corresponding","description":"Arguments are new RegExp and undefined, and instance is String(\"hello\")","path":"TestCases/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A4_T17.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnNwbGl0IChzZXBhcmF0b3IsIGxpbWl0KSByZXR1cm5zIGFuIEFycmF5IG9iamVjdCBpbnRvIHdoaWNoIHN1YnN0cmluZ3Mgb2YgdGhlIHJlc3VsdCBvZiBjb252ZXJ0aW5nIHRoaXMgb2JqZWN0IHRvIGEgc3RyaW5nIGhhdmUKICogYmVlbiBzdG9yZWQuIElmIHNlcGFyYXRvciBpcyBhIHJlZ3VsYXIgZXhwcmVzc2lvbiB0aGVuCiAqIGluc2lkZSBvZiBTcGxpdE1hdGNoIGhlbHBlciB0aGUgW1tNYXRjaF1dIG1ldGhvZCBvZiBSIGlzIGNhbGxlZCBnaXZpbmcgaXQgdGhlIGFyZ3VtZW50cyBjb3JyZXNwb25kaW5nCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjE0L1MxNS41LjQuMTRfQTRfVDE4LmpzCiAqIEBkZXNjcmlwdGlvbiBBcmd1bWVudHMgYXJlIG5ldyBSZWdFeHAgYW5kICJoaSIsIGFuZCBpbnN0YW5jZSBpcyBTdHJpbmcoImhlbGxvIikKICovCgp2YXIgX19zdHJpbmcgPSBuZXcgU3RyaW5nKCJoZWxsbyIpOwoKdmFyIF9fcmUgPSBuZXcgUmVnRXhwOwoKdmFyIF9fc3BsaXQgPSBfX3N0cmluZy5zcGxpdChfX3JlLCAiaGkiKTsKCnZhciBfX2V4cGVjdGVkID0gW107CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmIChfX3NwbGl0LmNvbnN0cnVjdG9yICE9PSBBcnJheSkgewogICRFUlJPUignIzE6IF9fc3BsaXQuY29uc3RydWN0b3IgPT09IEFycmF5LiBBY3R1YWw6ICcrX19zcGxpdC5jb25zdHJ1Y3RvciApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMgppZiAoX19zcGxpdC5sZW5ndGggIT09IF9fZXhwZWN0ZWQubGVuZ3RoKSB7CiAgJEVSUk9SKCcjMjogX19zcGxpdC5sZW5ndGggPT09IF9fZXhwZWN0ZWQubGVuZ3RoLiBBY3R1YWw6ICcrX19zcGxpdC5sZW5ndGggKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzMKZm9yKHZhciBpbmRleD0wOyBpbmRleDxfX2V4cGVjdGVkLmxlbmd0aDsgaW5kZXgrKykgewogIGlmIChfX3NwbGl0W2luZGV4XSAhPT0gX19leHBlY3RlZFtpbmRleF0pIHsKICAgICRFUlJPUignIzMuJytpbmRleCsnOiBfX3NwbGl0WycraW5kZXgrJ10gPT09ICcrX19leHBlY3RlZFtpbmRleF0rJy4gQWN0dWFsOiAnK19fc3BsaXRbaW5kZXhdICk7CiAgfQp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"String.prototype.split (separator, limit) returns an Array object into which substrings of the result of converting this object to a string have\nbeen stored. If separator is a regular expression then\ninside of SplitMatch helper the [[Match]] method of R is called giving it the arguments corresponding","description":"Arguments are new RegExp and \"hi\", and instance is String(\"hello\")","path":"TestCases/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A4_T18.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnNwbGl0IChzZXBhcmF0b3IsIGxpbWl0KSByZXR1cm5zIGFuIEFycmF5IG9iamVjdCBpbnRvIHdoaWNoIHN1YnN0cmluZ3Mgb2YgdGhlIHJlc3VsdCBvZiBjb252ZXJ0aW5nIHRoaXMgb2JqZWN0IHRvIGEgc3RyaW5nIGhhdmUKICogYmVlbiBzdG9yZWQuIElmIHNlcGFyYXRvciBpcyBhIHJlZ3VsYXIgZXhwcmVzc2lvbiB0aGVuCiAqIGluc2lkZSBvZiBTcGxpdE1hdGNoIGhlbHBlciB0aGUgW1tNYXRjaF1dIG1ldGhvZCBvZiBSIGlzIGNhbGxlZCBnaXZpbmcgaXQgdGhlIGFyZ3VtZW50cyBjb3JyZXNwb25kaW5nCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjE0L1MxNS41LjQuMTRfQTRfVDE5LmpzCiAqIEBkZXNjcmlwdGlvbiBBcmd1bWVudCBpcyByZWdleHAgL1xzLywgYW5kIGluc3RhbmNlIGlzIFN0cmluZygiYSBiIGMgZGUgZiIpCiAqLwoKdmFyIF9fc3RyaW5nID0gbmV3IFN0cmluZygiYSBiIGMgZGUgZiIpOwoKdmFyIF9fcmUgPSAvXHMvOwoKdmFyIF9fc3BsaXQgPSBfX3N0cmluZy5zcGxpdChfX3JlKTsKCnZhciBfX2V4cGVjdGVkID0gWyJhIiwiYiIsImMiLCJkZSIsImYiXTsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKF9fc3BsaXQuY29uc3RydWN0b3IgIT09IEFycmF5KSB7CiAgJEVSUk9SKCcjMTogX19zcGxpdC5jb25zdHJ1Y3RvciA9PT0gQXJyYXkuIEFjdHVhbDogJytfX3NwbGl0LmNvbnN0cnVjdG9yICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMyCmlmIChfX3NwbGl0Lmxlbmd0aCAhPT0gX19leHBlY3RlZC5sZW5ndGgpIHsKICAkRVJST1IoJyMyOiBfX3NwbGl0Lmxlbmd0aCA9PT0gX19leHBlY3RlZC5sZW5ndGguIEFjdHVhbDogJytfX3NwbGl0Lmxlbmd0aCApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMwpmb3IodmFyIGluZGV4PTA7IGluZGV4PF9fZXhwZWN0ZWQubGVuZ3RoOyBpbmRleCsrKSB7CiAgaWYgKF9fc3BsaXRbaW5kZXhdICE9PSBfX2V4cGVjdGVkW2luZGV4XSkgewogICAgJEVSUk9SKCcjMy4nK2luZGV4Kyc6IF9fc3BsaXRbJytpbmRleCsnXSA9PT0gJytfX2V4cGVjdGVkW2luZGV4XSsnLiBBY3R1YWw6ICcrX19zcGxpdFtpbmRleF0gKTsKICB9Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"String.prototype.split (separator, limit) returns an Array object into which substrings of the result of converting this object to a string have\nbeen stored. If separator is a regular expression then\ninside of SplitMatch helper the [[Match]] method of R is called giving it the arguments corresponding","description":"Argument is regexp /\\s/, and instance is String(\"a b c de f\")","path":"TestCases/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A4_T19.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnNwbGl0IChzZXBhcmF0b3IsIGxpbWl0KSByZXR1cm5zIGFuIEFycmF5IG9iamVjdCBpbnRvIHdoaWNoIHN1YnN0cmluZ3Mgb2YgdGhlIHJlc3VsdCBvZiBjb252ZXJ0aW5nIHRoaXMgb2JqZWN0IHRvIGEgc3RyaW5nIGhhdmUKICogYmVlbiBzdG9yZWQuIElmIHNlcGFyYXRvciBpcyBhIHJlZ3VsYXIgZXhwcmVzc2lvbiB0aGVuCiAqIGluc2lkZSBvZiBTcGxpdE1hdGNoIGhlbHBlciB0aGUgW1tNYXRjaF1dIG1ldGhvZCBvZiBSIGlzIGNhbGxlZCBnaXZpbmcgaXQgdGhlIGFyZ3VtZW50cyBjb3JyZXNwb25kaW5nCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjE0L1MxNS41LjQuMTRfQTRfVDIuanMKICogQGRlc2NyaXB0aW9uIEFyZ3VtZW50cyBhcmUgcmVnZXhwIC9sLyBhbmQgMCwgYW5kIGluc3RhbmNlIGlzIFN0cmluZygiaGVsbG8iKQogKi8KCnZhciBfX3N0cmluZyA9IG5ldyBTdHJpbmcoImhlbGxvIik7Cgp2YXIgX19yZSA9IC9sLzsKCnZhciBfX3NwbGl0ID0gX19zdHJpbmcuc3BsaXQoX19yZSwwKTsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKF9fc3BsaXQuY29uc3RydWN0b3IgIT09IEFycmF5KSB7CiAgJEVSUk9SKCcjMTogdmFyIF9fc3RyaW5nID0gbmV3IFN0cmluZygiaGVsbG8iKTsgdmFyIF9fcmUgPSAvbC87IF9fc3BsaXQgPSBfX3N0cmluZy5zcGxpdChfX3JlLDApOyBfX3NwbGl0LmNvbnN0cnVjdG9yID09PSBBcnJheS4gQWN0dWFsOiAnK19fc3BsaXQuY29uc3RydWN0b3IgKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzIKaWYgKF9fc3BsaXQubGVuZ3RoICE9PSAwKSB7CiAgJEVSUk9SKCcjMjogdmFyIF9fc3RyaW5nID0gbmV3IFN0cmluZygiaGVsbG8iKTsgdmFyIF9fcmUgPSAvbC87IF9fc3BsaXQgPSBfX3N0cmluZy5zcGxpdChfX3JlLDApOyBfX3NwbGl0Lmxlbmd0aCA9PT0gMC4gQWN0dWFsOiAnK19fc3BsaXQubGVuZ3RoICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"String.prototype.split (separator, limit) returns an Array object into which substrings of the result of converting this object to a string have\nbeen stored. If separator is a regular expression then\ninside of SplitMatch helper the [[Match]] method of R is called giving it the arguments corresponding","description":"Arguments are regexp /l/ and 0, and instance is String(\"hello\")","path":"TestCases/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A4_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnNwbGl0IChzZXBhcmF0b3IsIGxpbWl0KSByZXR1cm5zIGFuIEFycmF5IG9iamVjdCBpbnRvIHdoaWNoIHN1YnN0cmluZ3Mgb2YgdGhlIHJlc3VsdCBvZiBjb252ZXJ0aW5nIHRoaXMgb2JqZWN0IHRvIGEgc3RyaW5nIGhhdmUKICogYmVlbiBzdG9yZWQuIElmIHNlcGFyYXRvciBpcyBhIHJlZ3VsYXIgZXhwcmVzc2lvbiB0aGVuCiAqIGluc2lkZSBvZiBTcGxpdE1hdGNoIGhlbHBlciB0aGUgW1tNYXRjaF1dIG1ldGhvZCBvZiBSIGlzIGNhbGxlZCBnaXZpbmcgaXQgdGhlIGFyZ3VtZW50cyBjb3JyZXNwb25kaW5nCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjE0L1MxNS41LjQuMTRfQTRfVDIwLmpzCiAqIEBkZXNjcmlwdGlvbiBBcmd1bWVudHMgYXJlIHJlZ2V4cCAvXHMvIGFuZCAzLCBhbmQgaW5zdGFuY2UgaXMgU3RyaW5nKCJhIGIgYyBkZSBmIikKICovCgp2YXIgX19zdHJpbmcgPSBuZXcgU3RyaW5nKCJhIGIgYyBkZSBmIik7Cgp2YXIgX19yZSA9IC9ccy87Cgp2YXIgX19zcGxpdCA9IF9fc3RyaW5nLnNwbGl0KF9fcmUsMyk7Cgp2YXIgX19leHBlY3RlZCA9IFsiYSIsImIiLCJjIl07CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmIChfX3NwbGl0LmNvbnN0cnVjdG9yICE9PSBBcnJheSkgewogICRFUlJPUignIzE6IF9fc3BsaXQuY29uc3RydWN0b3IgPT09IEFycmF5LiBBY3R1YWw6ICcrX19zcGxpdC5jb25zdHJ1Y3RvciApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMgppZiAoX19zcGxpdC5sZW5ndGggIT09IF9fZXhwZWN0ZWQubGVuZ3RoKSB7CiAgJEVSUk9SKCcjMjogX19zcGxpdC5sZW5ndGggPT09IF9fZXhwZWN0ZWQubGVuZ3RoLiBBY3R1YWw6ICcrX19zcGxpdC5sZW5ndGggKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzMKZm9yKHZhciBpbmRleD0wOyBpbmRleDxfX2V4cGVjdGVkLmxlbmd0aDsgaW5kZXgrKykgewogIGlmIChfX3NwbGl0W2luZGV4XSAhPT0gX19leHBlY3RlZFtpbmRleF0pIHsKICAgICRFUlJPUignIzMuJytpbmRleCsnOiBfX3NwbGl0WycraW5kZXgrJ10gPT09ICcrX19leHBlY3RlZFtpbmRleF0rJy4gQWN0dWFsOiAnK19fc3BsaXRbaW5kZXhdICk7CiAgfQp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"String.prototype.split (separator, limit) returns an Array object into which substrings of the result of converting this object to a string have\nbeen stored. If separator is a regular expression then\ninside of SplitMatch helper the [[Match]] method of R is called giving it the arguments corresponding","description":"Arguments are regexp /\\s/ and 3, and instance is String(\"a b c de f\")","path":"TestCases/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A4_T20.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnNwbGl0IChzZXBhcmF0b3IsIGxpbWl0KSByZXR1cm5zIGFuIEFycmF5IG9iamVjdCBpbnRvIHdoaWNoIHN1YnN0cmluZ3Mgb2YgdGhlIHJlc3VsdCBvZiBjb252ZXJ0aW5nIHRoaXMgb2JqZWN0IHRvIGEgc3RyaW5nIGhhdmUKICogYmVlbiBzdG9yZWQuIElmIHNlcGFyYXRvciBpcyBhIHJlZ3VsYXIgZXhwcmVzc2lvbiB0aGVuCiAqIGluc2lkZSBvZiBTcGxpdE1hdGNoIGhlbHBlciB0aGUgW1tNYXRjaF1dIG1ldGhvZCBvZiBSIGlzIGNhbGxlZCBnaXZpbmcgaXQgdGhlIGFyZ3VtZW50cyBjb3JyZXNwb25kaW5nCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjE0L1MxNS41LjQuMTRfQTRfVDIxLmpzCiAqIEBkZXNjcmlwdGlvbiBBcmd1bWVudCBpcyByZWdleHAgL1xYLywgYW5kIGluc3RhbmNlIGlzIFN0cmluZygiYSBiIGMgZGUgZiIpCiAqLwoKdmFyIF9fc3RyaW5nID0gbmV3IFN0cmluZygiYSBiIGMgZGUgZiIpOwoKdmFyIF9fcmUgPSAvWC87Cgp2YXIgX19zcGxpdCA9IF9fc3RyaW5nLnNwbGl0KF9fcmUpOwoKdmFyIF9fZXhwZWN0ZWQgPSBbImEgYiBjIGRlIGYiXTsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKF9fc3BsaXQuY29uc3RydWN0b3IgIT09IEFycmF5KSB7CiAgJEVSUk9SKCcjMTogX19zcGxpdC5jb25zdHJ1Y3RvciA9PT0gQXJyYXkuIEFjdHVhbDogJytfX3NwbGl0LmNvbnN0cnVjdG9yICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMyCmlmIChfX3NwbGl0Lmxlbmd0aCAhPT0gX19leHBlY3RlZC5sZW5ndGgpIHsKICAkRVJST1IoJyMyOiBfX3NwbGl0Lmxlbmd0aCA9PT0gX19leHBlY3RlZC5sZW5ndGguIEFjdHVhbDogJytfX3NwbGl0Lmxlbmd0aCApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMwppZiAoX19zcGxpdFswXSAhPT0gX19leHBlY3RlZFswXSkgewogICRFUlJPUignIzM6IF9fc3BsaXRbMF0gPT09ICcrX19leHBlY3RlZFswXSsnLiBBY3R1YWw6ICcrX19zcGxpdFtpbmRleF0gKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"String.prototype.split (separator, limit) returns an Array object into which substrings of the result of converting this object to a string have\nbeen stored. If separator is a regular expression then\ninside of SplitMatch helper the [[Match]] method of R is called giving it the arguments corresponding","description":"Argument is regexp /\\X/, and instance is String(\"a b c de f\")","path":"TestCases/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A4_T21.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnNwbGl0IChzZXBhcmF0b3IsIGxpbWl0KSByZXR1cm5zIGFuIEFycmF5IG9iamVjdCBpbnRvIHdoaWNoIHN1YnN0cmluZ3Mgb2YgdGhlIHJlc3VsdCBvZiBjb252ZXJ0aW5nIHRoaXMgb2JqZWN0IHRvIGEgc3RyaW5nIGhhdmUKICogYmVlbiBzdG9yZWQuIElmIHNlcGFyYXRvciBpcyBhIHJlZ3VsYXIgZXhwcmVzc2lvbiB0aGVuCiAqIGluc2lkZSBvZiBTcGxpdE1hdGNoIGhlbHBlciB0aGUgW1tNYXRjaF1dIG1ldGhvZCBvZiBSIGlzIGNhbGxlZCBnaXZpbmcgaXQgdGhlIGFyZ3VtZW50cyBjb3JyZXNwb25kaW5nCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjE0L1MxNS41LjQuMTRfQTRfVDIyLmpzCiAqIEBkZXNjcmlwdGlvbiBBcmd1bWVudCBpcyByZWdleHAgL1xkKy8sIGFuZCBpbnN0YW5jZSBpcyBTdHJpbmcoImRmZTIzaXUgMzQgPSs2NS0tIikKICovCgp2YXIgX19zdHJpbmcgPSBuZXcgU3RyaW5nKCJkZmUyM2l1IDM0ID0rNjUtLSIpOwoKdmFyIF9fcmUgPSAvXGQrLzsKCnZhciBfX3NwbGl0ID0gX19zdHJpbmcuc3BsaXQoX19yZSk7Cgp2YXIgX19leHBlY3RlZCA9IFsiZGZlIiwiaXUgIiwiID0rIiwiLS0iXTsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKF9fc3BsaXQuY29uc3RydWN0b3IgIT09IEFycmF5KSB7CiAgJEVSUk9SKCcjMTogX19zcGxpdC5jb25zdHJ1Y3RvciA9PT0gQXJyYXkuIEFjdHVhbDogJytfX3NwbGl0LmNvbnN0cnVjdG9yICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMyCmlmIChfX3NwbGl0Lmxlbmd0aCAhPT0gX19leHBlY3RlZC5sZW5ndGgpIHsKICAkRVJST1IoJyMyOiBfX3NwbGl0Lmxlbmd0aCA9PT0gX19leHBlY3RlZC5sZW5ndGguIEFjdHVhbDogJytfX3NwbGl0Lmxlbmd0aCApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMwpmb3IodmFyIGluZGV4PTA7IGluZGV4PF9fZXhwZWN0ZWQubGVuZ3RoOyBpbmRleCsrKSB7CiAgaWYgKF9fc3BsaXRbaW5kZXhdICE9PSBfX2V4cGVjdGVkW2luZGV4XSkgewogICAgJEVSUk9SKCcjMy4nK2luZGV4Kyc6IF9fc3BsaXRbJytpbmRleCsnXSA9PT0gJytfX2V4cGVjdGVkW2luZGV4XSsnLiBBY3R1YWw6ICcrX19zcGxpdFtpbmRleF0gKTsKICB9Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"String.prototype.split (separator, limit) returns an Array object into which substrings of the result of converting this object to a string have\nbeen stored. If separator is a regular expression then\ninside of SplitMatch helper the [[Match]] method of R is called giving it the arguments corresponding","description":"Argument is regexp /\\d+/, and instance is String(\"dfe23iu 34 =+65--\")","path":"TestCases/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A4_T22.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnNwbGl0IChzZXBhcmF0b3IsIGxpbWl0KSByZXR1cm5zIGFuIEFycmF5IG9iamVjdCBpbnRvIHdoaWNoIHN1YnN0cmluZ3Mgb2YgdGhlIHJlc3VsdCBvZiBjb252ZXJ0aW5nIHRoaXMgb2JqZWN0IHRvIGEgc3RyaW5nIGhhdmUKICogYmVlbiBzdG9yZWQuIElmIHNlcGFyYXRvciBpcyBhIHJlZ3VsYXIgZXhwcmVzc2lvbiB0aGVuCiAqIGluc2lkZSBvZiBTcGxpdE1hdGNoIGhlbHBlciB0aGUgW1tNYXRjaF1dIG1ldGhvZCBvZiBSIGlzIGNhbGxlZCBnaXZpbmcgaXQgdGhlIGFyZ3VtZW50cyBjb3JyZXNwb25kaW5nCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjE0L1MxNS41LjQuMTRfQTRfVDIzLmpzCiAqIEBkZXNjcmlwdGlvbiBBcmd1bWVudCBpcyByZWdleHAgUmVnRXhwKCdcXGQrJyksIGFuZCBpbnN0YW5jZSBpcyBTdHJpbmcoImRmZTIzaXUgMzQgPSs2NS0tIikKICovCgp2YXIgX19zdHJpbmcgPSBuZXcgU3RyaW5nKCJkZmUyM2l1IDM0ID0rNjUtLSIpOwoKdmFyIF9fcmUgPSBuZXcgUmVnRXhwKCdcXGQrJyk7Cgp2YXIgX19zcGxpdCA9IF9fc3RyaW5nLnNwbGl0KF9fcmUpOwoKdmFyIF9fZXhwZWN0ZWQgPSBbImRmZSIsIml1ICIsIiA9KyIsIi0tIl07CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmIChfX3NwbGl0LmNvbnN0cnVjdG9yICE9PSBBcnJheSkgewogICRFUlJPUignIzE6IF9fc3BsaXQuY29uc3RydWN0b3IgPT09IEFycmF5LiBBY3R1YWw6ICcrX19zcGxpdC5jb25zdHJ1Y3RvciApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMgppZiAoX19zcGxpdC5sZW5ndGggIT09IF9fZXhwZWN0ZWQubGVuZ3RoKSB7CiAgJEVSUk9SKCcjMjogX19zcGxpdC5sZW5ndGggPT09IF9fZXhwZWN0ZWQubGVuZ3RoLiBBY3R1YWw6ICcrX19zcGxpdC5sZW5ndGggKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzMKZm9yKHZhciBpbmRleD0wOyBpbmRleDxfX2V4cGVjdGVkLmxlbmd0aDsgaW5kZXgrKykgewogIGlmIChfX3NwbGl0W2luZGV4XSAhPT0gX19leHBlY3RlZFtpbmRleF0pIHsKICAgICRFUlJPUignIzMuJytpbmRleCsnOiBfX3NwbGl0WycraW5kZXgrJ10gPT09ICcrX19leHBlY3RlZFtpbmRleF0rJy4gQWN0dWFsOiAnK19fc3BsaXRbaW5kZXhdICk7CiAgfQp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"String.prototype.split (separator, limit) returns an Array object into which substrings of the result of converting this object to a string have\nbeen stored. If separator is a regular expression then\ninside of SplitMatch helper the [[Match]] method of R is called giving it the arguments corresponding","description":"Argument is regexp RegExp('\\\\d+'), and instance is String(\"dfe23iu 34 =+65--\")","path":"TestCases/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A4_T23.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnNwbGl0IChzZXBhcmF0b3IsIGxpbWl0KSByZXR1cm5zIGFuIEFycmF5IG9iamVjdCBpbnRvIHdoaWNoIHN1YnN0cmluZ3Mgb2YgdGhlIHJlc3VsdCBvZiBjb252ZXJ0aW5nIHRoaXMgb2JqZWN0IHRvIGEgc3RyaW5nIGhhdmUKICogYmVlbiBzdG9yZWQuIElmIHNlcGFyYXRvciBpcyBhIHJlZ3VsYXIgZXhwcmVzc2lvbiB0aGVuCiAqIGluc2lkZSBvZiBTcGxpdE1hdGNoIGhlbHBlciB0aGUgW1tNYXRjaF1dIG1ldGhvZCBvZiBSIGlzIGNhbGxlZCBnaXZpbmcgaXQgdGhlIGFyZ3VtZW50cyBjb3JyZXNwb25kaW5nCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjE0L1MxNS41LjQuMTRfQTRfVDI0LmpzCiAqIEBkZXNjcmlwdGlvbiBBcmd1bWVudCBpcyByZWdleHAgL1thLXpdLywgYW5kIGluc3RhbmNlIGlzIFN0cmluZygiYWJjIikKICovCgp2YXIgX19zdHJpbmcgPSBuZXcgU3RyaW5nKCJhYmMiKTsKCnZhciBfX3JlID0gL1thLXpdLzsKCnZhciBfX3NwbGl0ID0gX19zdHJpbmcuc3BsaXQoX19yZSk7Cgp2YXIgX19leHBlY3RlZCA9IFsiIiwiIiwiIiwiIl07CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmIChfX3NwbGl0LmNvbnN0cnVjdG9yICE9PSBBcnJheSkgewogICRFUlJPUignIzE6IF9fc3BsaXQuY29uc3RydWN0b3IgPT09IEFycmF5LiBBY3R1YWw6ICcrX19zcGxpdC5jb25zdHJ1Y3RvciApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMgppZiAoX19zcGxpdC5sZW5ndGggIT09IF9fZXhwZWN0ZWQubGVuZ3RoKSB7CiAgJEVSUk9SKCcjMjogX19zcGxpdC5sZW5ndGggPT09IF9fZXhwZWN0ZWQubGVuZ3RoLiBBY3R1YWw6ICcrX19zcGxpdC5sZW5ndGggKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzMKZm9yKHZhciBpbmRleD0wOyBpbmRleDxfX2V4cGVjdGVkLmxlbmd0aDsgaW5kZXgrKykgewogIGlmIChfX3NwbGl0W2luZGV4XSAhPT0gX19leHBlY3RlZFtpbmRleF0pIHsKICAgICRFUlJPUignIzMuJytpbmRleCsnOiBfX3NwbGl0WycraW5kZXgrJ10gPT09ICcrX19leHBlY3RlZFtpbmRleF0rJy4gQWN0dWFsOiAnK19fc3BsaXRbaW5kZXhdICk7CiAgfQp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"String.prototype.split (separator, limit) returns an Array object into which substrings of the result of converting this object to a string have\nbeen stored. If separator is a regular expression then\ninside of SplitMatch helper the [[Match]] method of R is called giving it the arguments corresponding","description":"Argument is regexp /[a-z]/, and instance is String(\"abc\")","path":"TestCases/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A4_T24.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnNwbGl0IChzZXBhcmF0b3IsIGxpbWl0KSByZXR1cm5zIGFuIEFycmF5IG9iamVjdCBpbnRvIHdoaWNoIHN1YnN0cmluZ3Mgb2YgdGhlIHJlc3VsdCBvZiBjb252ZXJ0aW5nIHRoaXMgb2JqZWN0IHRvIGEgc3RyaW5nIGhhdmUKICogYmVlbiBzdG9yZWQuIElmIHNlcGFyYXRvciBpcyBhIHJlZ3VsYXIgZXhwcmVzc2lvbiB0aGVuCiAqIGluc2lkZSBvZiBTcGxpdE1hdGNoIGhlbHBlciB0aGUgW1tNYXRjaF1dIG1ldGhvZCBvZiBSIGlzIGNhbGxlZCBnaXZpbmcgaXQgdGhlIGFyZ3VtZW50cyBjb3JyZXNwb25kaW5nCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjE0L1MxNS41LjQuMTRfQTRfVDI1LmpzCiAqIEBkZXNjcmlwdGlvbiBBcmd1bWVudCBpcyBSZWdFeHAoJ1thLXpdJyksIGFuZCBpbnN0YW5jZSBpcyBTdHJpbmcoImFiYyIpCiAqLwoKdmFyIF9fc3RyaW5nID0gbmV3IFN0cmluZygiYWJjIik7Cgp2YXIgX19yZSA9IG5ldyBSZWdFeHAoJ1thLXpdJyk7Cgp2YXIgX19zcGxpdCA9IF9fc3RyaW5nLnNwbGl0KF9fcmUpOwoKdmFyIF9fZXhwZWN0ZWQgPSBbIiIsIiIsIiIsIiJdOwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAoX19zcGxpdC5jb25zdHJ1Y3RvciAhPT0gQXJyYXkpIHsKICAkRVJST1IoJyMxOiBfX3NwbGl0LmNvbnN0cnVjdG9yID09PSBBcnJheS4gQWN0dWFsOiAnK19fc3BsaXQuY29uc3RydWN0b3IgKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzIKaWYgKF9fc3BsaXQubGVuZ3RoICE9PSBfX2V4cGVjdGVkLmxlbmd0aCkgewogICRFUlJPUignIzI6IF9fc3BsaXQubGVuZ3RoID09PSBfX2V4cGVjdGVkLmxlbmd0aC4gQWN0dWFsOiAnK19fc3BsaXQubGVuZ3RoICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMzCmZvcih2YXIgaW5kZXg9MDsgaW5kZXg8X19leHBlY3RlZC5sZW5ndGg7IGluZGV4KyspIHsKICBpZiAoX19zcGxpdFtpbmRleF0gIT09IF9fZXhwZWN0ZWRbaW5kZXhdKSB7CiAgICAkRVJST1IoJyMzLicraW5kZXgrJzogX19zcGxpdFsnK2luZGV4KyddID09PSAnK19fZXhwZWN0ZWRbaW5kZXhdKycuIEFjdHVhbDogJytfX3NwbGl0W2luZGV4XSApOwogIH0KfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"String.prototype.split (separator, limit) returns an Array object into which substrings of the result of converting this object to a string have\nbeen stored. If separator is a regular expression then\ninside of SplitMatch helper the [[Match]] method of R is called giving it the arguments corresponding","description":"Argument is RegExp('[a-z]'), and instance is String(\"abc\")","path":"TestCases/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A4_T25.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnNwbGl0IChzZXBhcmF0b3IsIGxpbWl0KSByZXR1cm5zIGFuIEFycmF5IG9iamVjdCBpbnRvIHdoaWNoIHN1YnN0cmluZ3Mgb2YgdGhlIHJlc3VsdCBvZiBjb252ZXJ0aW5nIHRoaXMgb2JqZWN0IHRvIGEgc3RyaW5nIGhhdmUKICogYmVlbiBzdG9yZWQuIElmIHNlcGFyYXRvciBpcyBhIHJlZ3VsYXIgZXhwcmVzc2lvbiB0aGVuCiAqIGluc2lkZSBvZiBTcGxpdE1hdGNoIGhlbHBlciB0aGUgW1tNYXRjaF1dIG1ldGhvZCBvZiBSIGlzIGNhbGxlZCBnaXZpbmcgaXQgdGhlIGFyZ3VtZW50cyBjb3JyZXNwb25kaW5nCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjE0L1MxNS41LjQuMTRfQTRfVDMuanMKICogQGRlc2NyaXB0aW9uIEFyZ3VtZW50cyBhcmUgcmVnZXhwIC9sLyBhbmQgMSwgYW5kIGluc3RhbmNlIGlzIFN0cmluZygiaGVsbG8iKQogKi8KCnZhciBfX3N0cmluZyA9IG5ldyBTdHJpbmcoImhlbGxvIik7Cgp2YXIgX19yZSA9IC9sLzsKCnZhciBfX3NwbGl0ID0gX19zdHJpbmcuc3BsaXQoX19yZSwxKTsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKF9fc3BsaXQuY29uc3RydWN0b3IgIT09IEFycmF5KSB7CiAgJEVSUk9SKCcjMTogdmFyIF9fc3RyaW5nID0gbmV3IFN0cmluZygiaGVsbG8iKTsgdmFyIF9fcmUgPSAvbC87IF9fc3BsaXQgPSBfX3N0cmluZy5zcGxpdChfX3JlLDEpOyBfX3NwbGl0LmNvbnN0cnVjdG9yID09PSBBcnJheS4gQWN0dWFsOiAnK19fc3BsaXQuY29uc3RydWN0b3IgKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzIKaWYgKF9fc3BsaXQubGVuZ3RoICE9PSAxKSB7CiAgJEVSUk9SKCcjMjogdmFyIF9fc3RyaW5nID0gbmV3IFN0cmluZygiaGVsbG8iKTsgdmFyIF9fcmUgPSAvbC87IF9fc3BsaXQgPSBfX3N0cmluZy5zcGxpdChfX3JlLDEpOyBfX3NwbGl0Lmxlbmd0aCA9PT0gMS4gQWN0dWFsOiAnK19fc3BsaXQubGVuZ3RoICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMzCmlmIChfX3NwbGl0WzBdICE9PSAiaGUiKSB7CiAgJEVSUk9SKCcjMzogdmFyIF9fc3RyaW5nID0gbmV3IFN0cmluZygiaGVsbG8iKTsgdmFyIF9fcmUgPSAvbC87IF9fc3BsaXQgPSBfX3N0cmluZy5zcGxpdChfX3JlLDEpOyBfX3NwbGl0WzBdID09PSAiaGUiLiBBY3R1YWw6ICcrX19zcGxpdFswXSApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"String.prototype.split (separator, limit) returns an Array object into which substrings of the result of converting this object to a string have\nbeen stored. If separator is a regular expression then\ninside of SplitMatch helper the [[Match]] method of R is called giving it the arguments corresponding","description":"Arguments are regexp /l/ and 1, and instance is String(\"hello\")","path":"TestCases/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A4_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnNwbGl0IChzZXBhcmF0b3IsIGxpbWl0KSByZXR1cm5zIGFuIEFycmF5IG9iamVjdCBpbnRvIHdoaWNoIHN1YnN0cmluZ3Mgb2YgdGhlIHJlc3VsdCBvZiBjb252ZXJ0aW5nIHRoaXMgb2JqZWN0IHRvIGEgc3RyaW5nIGhhdmUKICogYmVlbiBzdG9yZWQuIElmIHNlcGFyYXRvciBpcyBhIHJlZ3VsYXIgZXhwcmVzc2lvbiB0aGVuCiAqIGluc2lkZSBvZiBTcGxpdE1hdGNoIGhlbHBlciB0aGUgW1tNYXRjaF1dIG1ldGhvZCBvZiBSIGlzIGNhbGxlZCBnaXZpbmcgaXQgdGhlIGFyZ3VtZW50cyBjb3JyZXNwb25kaW5nCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjE0L1MxNS41LjQuMTRfQTRfVDQuanMKICogQGRlc2NyaXB0aW9uIEFyZ3VtZW50cyBhcmUgcmVnZXhwIC9sLyBhbmQgMiwgYW5kIGluc3RhbmNlIGlzIFN0cmluZygiaGVsbG8iKQogKi8KCnZhciBfX3N0cmluZyA9IG5ldyBTdHJpbmcoImhlbGxvIik7Cgp2YXIgX19yZSA9IC9sLzsKCnZhciBfX3NwbGl0ID0gX19zdHJpbmcuc3BsaXQoX19yZSwyKTsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKF9fc3BsaXQuY29uc3RydWN0b3IgIT09IEFycmF5KSB7CiAgJEVSUk9SKCcjMTogdmFyIF9fc3RyaW5nID0gbmV3IFN0cmluZygiaGVsbG8iKTsgdmFyIF9fcmUgPSAvbC87IF9fc3BsaXQgPSBfX3N0cmluZy5zcGxpdChfX3JlLDIpOyBfX3NwbGl0LmNvbnN0cnVjdG9yID09PSBBcnJheS4gQWN0dWFsOiAnK19fc3BsaXQuY29uc3RydWN0b3IgKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzIKaWYgKF9fc3BsaXQubGVuZ3RoICE9PSAyKSB7CiAgJEVSUk9SKCcjMjogdmFyIF9fc3RyaW5nID0gbmV3IFN0cmluZygiaGVsbG8iKTsgdmFyIF9fcmUgPSAvbC87IF9fc3BsaXQgPSBfX3N0cmluZy5zcGxpdChfX3JlLDIpOyBfX3NwbGl0Lmxlbmd0aCA9PT0gMi4gQWN0dWFsOiAnK19fc3BsaXQubGVuZ3RoICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMzCmlmIChfX3NwbGl0WzBdICE9PSAiaGUiKSB7CiAgJEVSUk9SKCcjMzogdmFyIF9fc3RyaW5nID0gbmV3IFN0cmluZygiaGVsbG8iKTsgdmFyIF9fcmUgPSAvbC87IF9fc3BsaXQgPSBfX3N0cmluZy5zcGxpdChfX3JlLDIpOyBfX3NwbGl0WzBdID09PSAiaGUiLiBBY3R1YWw6ICcrX19zcGxpdFswXSk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyM0CmlmIChfX3NwbGl0WzFdICE9PSAiIikgewogICRFUlJPUignIzQ6IHZhciBfX3N0cmluZyA9IG5ldyBTdHJpbmcoImhlbGxvIik7IHZhciBfX3JlID0gL2wvOyBfX3NwbGl0ID0gX19zdHJpbmcuc3BsaXQoX19yZSwyKTsgX19zcGxpdFsxXSA9PT0gIiIuIEFjdHVhbDogJytfX3NwbGl0WzFdICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"String.prototype.split (separator, limit) returns an Array object into which substrings of the result of converting this object to a string have\nbeen stored. If separator is a regular expression then\ninside of SplitMatch helper the [[Match]] method of R is called giving it the arguments corresponding","description":"Arguments are regexp /l/ and 2, and instance is String(\"hello\")","path":"TestCases/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A4_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnNwbGl0IChzZXBhcmF0b3IsIGxpbWl0KSByZXR1cm5zIGFuIEFycmF5IG9iamVjdCBpbnRvIHdoaWNoIHN1YnN0cmluZ3Mgb2YgdGhlIHJlc3VsdCBvZiBjb252ZXJ0aW5nIHRoaXMgb2JqZWN0IHRvIGEgc3RyaW5nIGhhdmUKICogYmVlbiBzdG9yZWQuIElmIHNlcGFyYXRvciBpcyBhIHJlZ3VsYXIgZXhwcmVzc2lvbiB0aGVuCiAqIGluc2lkZSBvZiBTcGxpdE1hdGNoIGhlbHBlciB0aGUgW1tNYXRjaF1dIG1ldGhvZCBvZiBSIGlzIGNhbGxlZCBnaXZpbmcgaXQgdGhlIGFyZ3VtZW50cyBjb3JyZXNwb25kaW5nCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjE0L1MxNS41LjQuMTRfQTRfVDUuanMKICogQGRlc2NyaXB0aW9uIEFyZ3VtZW50cyBhcmUgcmVnZXhwIC9sLyBhbmQgMywgYW5kIGluc3RhbmNlIGlzIFN0cmluZygiaGVsbG8iKQogKi8KCnZhciBfX3N0cmluZyA9IG5ldyBTdHJpbmcoImhlbGxvIik7Cgp2YXIgX19yZSA9IC9sLzsKCnZhciBfX3NwbGl0ID0gX19zdHJpbmcuc3BsaXQoX19yZSwzKTsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKF9fc3BsaXQuY29uc3RydWN0b3IgIT09IEFycmF5KSB7CiAgJEVSUk9SKCcjMTogdmFyIF9fc3RyaW5nID0gbmV3IFN0cmluZygiaGVsbG8iKTsgdmFyIF9fcmUgPSAvbC87IF9fc3BsaXQgPSBfX3N0cmluZy5zcGxpdChfX3JlLDMpOyBfX3NwbGl0LmNvbnN0cnVjdG9yID09PSBBcnJheS4gQWN0dWFsOiAnK19fc3BsaXQuY29uc3RydWN0b3IgKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzIKaWYgKF9fc3BsaXQubGVuZ3RoICE9PSAzKSB7CiAgJEVSUk9SKCcjMjogdmFyIF9fc3RyaW5nID0gbmV3IFN0cmluZygiaGVsbG8iKTsgdmFyIF9fcmUgPSAvbC87IF9fc3BsaXQgPSBfX3N0cmluZy5zcGxpdChfX3JlLDMpOyBfX3NwbGl0Lmxlbmd0aCA9PT0gMy4gQWN0dWFsOiAnK19fc3BsaXQubGVuZ3RoICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMzCmlmIChfX3NwbGl0WzBdICE9PSAiaGUiKSB7CiAgJEVSUk9SKCcjMzogdmFyIF9fc3RyaW5nID0gbmV3IFN0cmluZygiaGVsbG8iKTsgdmFyIF9fcmUgPSAvbC87IF9fc3BsaXQgPSBfX3N0cmluZy5zcGxpdChfX3JlLDMpOyBfX3NwbGl0WzBdID09PSAiaGUiLiBBY3R1YWw6ICcrX19zcGxpdFswXSk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyM0CmlmIChfX3NwbGl0WzFdICE9PSAiIikgewogICRFUlJPUignIzQ6IHZhciBfX3N0cmluZyA9IG5ldyBTdHJpbmcoImhlbGxvIik7IHZhciBfX3JlID0gL2wvOyBfX3NwbGl0ID0gX19zdHJpbmcuc3BsaXQoX19yZSwzKTsgX19zcGxpdFsxXSA9PT0gIiIuIEFjdHVhbDogJytfX3NwbGl0WzFdKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzUKaWYgKF9fc3BsaXRbMl0gIT09ICJvIikgewogICRFUlJPUignIzU6IHZhciBfX3N0cmluZyA9IG5ldyBTdHJpbmcoImhlbGxvIik7IHZhciBfX3JlID0gL2wvOyBfX3NwbGl0ID0gX19zdHJpbmcuc3BsaXQoX19yZSwzKTsgX19zcGxpdFsyXSA9PT0gIm8iLiBBY3R1YWw6ICcrX19zcGxpdFsyXSApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"String.prototype.split (separator, limit) returns an Array object into which substrings of the result of converting this object to a string have\nbeen stored. If separator is a regular expression then\ninside of SplitMatch helper the [[Match]] method of R is called giving it the arguments corresponding","description":"Arguments are regexp /l/ and 3, and instance is String(\"hello\")","path":"TestCases/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A4_T5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnNwbGl0IChzZXBhcmF0b3IsIGxpbWl0KSByZXR1cm5zIGFuIEFycmF5IG9iamVjdCBpbnRvIHdoaWNoIHN1YnN0cmluZ3Mgb2YgdGhlIHJlc3VsdCBvZiBjb252ZXJ0aW5nIHRoaXMgb2JqZWN0IHRvIGEgc3RyaW5nIGhhdmUKICogYmVlbiBzdG9yZWQuIElmIHNlcGFyYXRvciBpcyBhIHJlZ3VsYXIgZXhwcmVzc2lvbiB0aGVuCiAqIGluc2lkZSBvZiBTcGxpdE1hdGNoIGhlbHBlciB0aGUgW1tNYXRjaF1dIG1ldGhvZCBvZiBSIGlzIGNhbGxlZCBnaXZpbmcgaXQgdGhlIGFyZ3VtZW50cyBjb3JyZXNwb25kaW5nCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjE0L1MxNS41LjQuMTRfQTRfVDYuanMKICogQGRlc2NyaXB0aW9uIEFyZ3VtZW50cyBhcmUgcmVnZXhwIC9sLyBhbmQgNCwgYW5kIGluc3RhbmNlIGlzIFN0cmluZygiaGVsbG8iKQogKi8KCnZhciBfX3N0cmluZyA9IG5ldyBTdHJpbmcoImhlbGxvIik7Cgp2YXIgX19yZSA9IC9sLzsKCnZhciBfX3NwbGl0ID0gX19zdHJpbmcuc3BsaXQoX19yZSw0KTsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKF9fc3BsaXQuY29uc3RydWN0b3IgIT09IEFycmF5KSB7CiAgJEVSUk9SKCcjMTogdmFyIF9fc3RyaW5nID0gbmV3IFN0cmluZygiaGVsbG8iKTsgdmFyIF9fcmUgPSAvbC87IF9fc3BsaXQgPSBfX3N0cmluZy5zcGxpdChfX3JlLDQpOyBfX3NwbGl0LmNvbnN0cnVjdG9yID09PSBBcnJheS4gQWN0dWFsOiAnK19fc3BsaXQuY29uc3RydWN0b3IgKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzIKaWYgKF9fc3BsaXQubGVuZ3RoICE9PSAzKSB7CiAgJEVSUk9SKCcjMjogdmFyIF9fc3RyaW5nID0gbmV3IFN0cmluZygiaGVsbG8iKTsgdmFyIF9fcmUgPSAvbC87IF9fc3BsaXQgPSBfX3N0cmluZy5zcGxpdChfX3JlLDQpOyBfX3NwbGl0Lmxlbmd0aCA9PT0gMy4gQWN0dWFsOiAnK19fc3BsaXQubGVuZ3RoICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMzCmlmIChfX3NwbGl0WzBdICE9PSAiaGUiKSB7CiAgJEVSUk9SKCcjMzogdmFyIF9fc3RyaW5nID0gbmV3IFN0cmluZygiaGVsbG8iKTsgdmFyIF9fcmUgPSAvbC87IF9fc3BsaXQgPSBfX3N0cmluZy5zcGxpdChfX3JlLDQpOyBfX3NwbGl0WzBdID09PSAiaGUiLiBBY3R1YWw6ICcrX19zcGxpdFswXSk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyM0CmlmIChfX3NwbGl0WzFdICE9PSAiIikgewogICRFUlJPUignIzQ6IHZhciBfX3N0cmluZyA9IG5ldyBTdHJpbmcoImhlbGxvIik7IHZhciBfX3JlID0gL2wvOyBfX3NwbGl0ID0gX19zdHJpbmcuc3BsaXQoX19yZSw0KTsgX19zcGxpdFsxXSA9PT0gIiIuIEFjdHVhbDogJytfX3NwbGl0WzFdKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzUKaWYgKF9fc3BsaXRbMl0gIT09ICJvIikgewogICRFUlJPUignIzU6IHZhciBfX3N0cmluZyA9IG5ldyBTdHJpbmcoImhlbGxvIik7IHZhciBfX3JlID0gL2wvOyBfX3NwbGl0ID0gX19zdHJpbmcuc3BsaXQoX19yZSw0KTsgX19zcGxpdFsyXSA9PT0gIm8iLiBBY3R1YWw6ICcrX19zcGxpdFsyXSApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"String.prototype.split (separator, limit) returns an Array object into which substrings of the result of converting this object to a string have\nbeen stored. If separator is a regular expression then\ninside of SplitMatch helper the [[Match]] method of R is called giving it the arguments corresponding","description":"Arguments are regexp /l/ and 4, and instance is String(\"hello\")","path":"TestCases/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A4_T6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnNwbGl0IChzZXBhcmF0b3IsIGxpbWl0KSByZXR1cm5zIGFuIEFycmF5IG9iamVjdCBpbnRvIHdoaWNoIHN1YnN0cmluZ3Mgb2YgdGhlIHJlc3VsdCBvZiBjb252ZXJ0aW5nIHRoaXMgb2JqZWN0IHRvIGEgc3RyaW5nIGhhdmUKICogYmVlbiBzdG9yZWQuIElmIHNlcGFyYXRvciBpcyBhIHJlZ3VsYXIgZXhwcmVzc2lvbiB0aGVuCiAqIGluc2lkZSBvZiBTcGxpdE1hdGNoIGhlbHBlciB0aGUgW1tNYXRjaF1dIG1ldGhvZCBvZiBSIGlzIGNhbGxlZCBnaXZpbmcgaXQgdGhlIGFyZ3VtZW50cyBjb3JyZXNwb25kaW5nCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjE0L1MxNS41LjQuMTRfQTRfVDcuanMKICogQGRlc2NyaXB0aW9uIEFyZ3VtZW50cyBhcmUgcmVnZXhwIC9sLyBhbmQgdm9pZCAwLCBhbmQgaW5zdGFuY2UgaXMgU3RyaW5nKCJoZWxsbyIpCiAqLwoKdmFyIF9fc3RyaW5nID0gbmV3IFN0cmluZygiaGVsbG8iKTsKCnZhciBfX3JlID0gL2wvOwoKdmFyIF9fc3BsaXQgPSBfX3N0cmluZy5zcGxpdChfX3JlLCB2b2lkIDApOwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAoX19zcGxpdC5jb25zdHJ1Y3RvciAhPT0gQXJyYXkpIHsKICAkRVJST1IoJyMxOiB2YXIgX19zdHJpbmcgPSBuZXcgU3RyaW5nKCJoZWxsbyIpOyB2YXIgX19yZSA9IC9sLzsgX19zcGxpdCA9IF9fc3RyaW5nLnNwbGl0KF9fcmUsIHZvaWQgMCk7IF9fc3BsaXQuY29uc3RydWN0b3IgPT09IEFycmF5LiBBY3R1YWw6ICcrX19zcGxpdC5jb25zdHJ1Y3RvciApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMgppZiAoX19zcGxpdC5sZW5ndGggIT09IDMpIHsKICAkRVJST1IoJyMyOiB2YXIgX19zdHJpbmcgPSBuZXcgU3RyaW5nKCJoZWxsbyIpOyB2YXIgX19yZSA9IC9sLzsgX19zcGxpdCA9IF9fc3RyaW5nLnNwbGl0KF9fcmUsIHZvaWQgMCk7IF9fc3BsaXQubGVuZ3RoID09PSAzLiBBY3R1YWw6ICcrX19zcGxpdC5sZW5ndGggKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzMKaWYgKF9fc3BsaXRbMF0gIT09ICJoZSIpIHsKICAkRVJST1IoJyMzOiB2YXIgX19zdHJpbmcgPSBuZXcgU3RyaW5nKCJoZWxsbyIpOyB2YXIgX19yZSA9IC9sLzsgX19zcGxpdCA9IF9fc3RyaW5nLnNwbGl0KF9fcmUsIHZvaWQgMCk7IF9fc3BsaXRbMF0gPT09ICJoZSIuIEFjdHVhbDogJytfX3NwbGl0WzBdKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzQKaWYgKF9fc3BsaXRbMV0gIT09ICIiKSB7CiAgJEVSUk9SKCcjNDogdmFyIF9fc3RyaW5nID0gbmV3IFN0cmluZygiaGVsbG8iKTsgdmFyIF9fcmUgPSAvbC87IF9fc3BsaXQgPSBfX3N0cmluZy5zcGxpdChfX3JlLCB2b2lkIDApOyBfX3NwbGl0WzFdID09PSAiIi4gQWN0dWFsOiAnK19fc3BsaXRbMV0pOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjNQppZiAoX19zcGxpdFsyXSAhPT0gIm8iKSB7CiAgJEVSUk9SKCcjNTogdmFyIF9fc3RyaW5nID0gbmV3IFN0cmluZygiaGVsbG8iKTsgdmFyIF9fcmUgPSAvbC87IF9fc3BsaXQgPSBfX3N0cmluZy5zcGxpdChfX3JlLCB2b2lkIDApOyBfX3NwbGl0WzJdID09PSAibyIuIEFjdHVhbDogJytfX3NwbGl0WzJdICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"String.prototype.split (separator, limit) returns an Array object into which substrings of the result of converting this object to a string have\nbeen stored. If separator is a regular expression then\ninside of SplitMatch helper the [[Match]] method of R is called giving it the arguments corresponding","description":"Arguments are regexp /l/ and void 0, and instance is String(\"hello\")","path":"TestCases/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A4_T7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnNwbGl0IChzZXBhcmF0b3IsIGxpbWl0KSByZXR1cm5zIGFuIEFycmF5IG9iamVjdCBpbnRvIHdoaWNoIHN1YnN0cmluZ3Mgb2YgdGhlIHJlc3VsdCBvZiBjb252ZXJ0aW5nIHRoaXMgb2JqZWN0IHRvIGEgc3RyaW5nIGhhdmUKICogYmVlbiBzdG9yZWQuIElmIHNlcGFyYXRvciBpcyBhIHJlZ3VsYXIgZXhwcmVzc2lvbiB0aGVuCiAqIGluc2lkZSBvZiBTcGxpdE1hdGNoIGhlbHBlciB0aGUgW1tNYXRjaF1dIG1ldGhvZCBvZiBSIGlzIGNhbGxlZCBnaXZpbmcgaXQgdGhlIGFyZ3VtZW50cyBjb3JyZXNwb25kaW5nCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjE0L1MxNS41LjQuMTRfQTRfVDguanMKICogQGRlc2NyaXB0aW9uIEFyZ3VtZW50cyBhcmUgcmVnZXhwIC9sLyBhbmQgImhpIiwgYW5kIGluc3RhbmNlIGlzIFN0cmluZygiaGVsbG8iKQogKi8KCnZhciBfX3N0cmluZyA9IG5ldyBTdHJpbmcoImhlbGxvIik7Cgp2YXIgX19yZSA9IC9sLzsKCnZhciBfX3NwbGl0ID0gX19zdHJpbmcuc3BsaXQoX19yZSwgImhpIik7CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmIChfX3NwbGl0LmNvbnN0cnVjdG9yICE9PSBBcnJheSkgewogICRFUlJPUignIzE6IHZhciBfX3N0cmluZyA9IG5ldyBTdHJpbmcoImhlbGxvIik7IHZhciBfX3JlID0gL2wvOyBfX3NwbGl0ID0gX19zdHJpbmcuc3BsaXQoX19yZSwgImhpIik7IF9fc3BsaXQuY29uc3RydWN0b3IgPT09IEFycmF5LiBBY3R1YWw6ICcrX19zcGxpdC5jb25zdHJ1Y3RvciApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMgppZiAoX19zcGxpdC5sZW5ndGggIT09IDApIHsKICAkRVJST1IoJyMyOiB2YXIgX19zdHJpbmcgPSBuZXcgU3RyaW5nKCJoZWxsbyIpOyB2YXIgX19yZSA9IC9sLzsgX19zcGxpdCA9IF9fc3RyaW5nLnNwbGl0KF9fcmUsICJoaSIpOyBfX3NwbGl0Lmxlbmd0aCA9PT0gMC4gQWN0dWFsOiAnK19fc3BsaXQubGVuZ3RoICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"String.prototype.split (separator, limit) returns an Array object into which substrings of the result of converting this object to a string have\nbeen stored. If separator is a regular expression then\ninside of SplitMatch helper the [[Match]] method of R is called giving it the arguments corresponding","description":"Arguments are regexp /l/ and \"hi\", and instance is String(\"hello\")","path":"TestCases/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A4_T8.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnNwbGl0IChzZXBhcmF0b3IsIGxpbWl0KSByZXR1cm5zIGFuIEFycmF5IG9iamVjdCBpbnRvIHdoaWNoIHN1YnN0cmluZ3Mgb2YgdGhlIHJlc3VsdCBvZiBjb252ZXJ0aW5nIHRoaXMgb2JqZWN0IHRvIGEgc3RyaW5nIGhhdmUKICogYmVlbiBzdG9yZWQuIElmIHNlcGFyYXRvciBpcyBhIHJlZ3VsYXIgZXhwcmVzc2lvbiB0aGVuCiAqIGluc2lkZSBvZiBTcGxpdE1hdGNoIGhlbHBlciB0aGUgW1tNYXRjaF1dIG1ldGhvZCBvZiBSIGlzIGNhbGxlZCBnaXZpbmcgaXQgdGhlIGFyZ3VtZW50cyBjb3JyZXNwb25kaW5nCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjE0L1MxNS41LjQuMTRfQTRfVDkuanMKICogQGRlc2NyaXB0aW9uIEFyZ3VtZW50cyBhcmUgcmVnZXhwIC9sLyBhbmQgdW5kZWZpbmVkLCBhbmQgaW5zdGFuY2UgaXMgU3RyaW5nKCJoZWxsbyIpCiAqLwoKdmFyIF9fc3RyaW5nID0gbmV3IFN0cmluZygiaGVsbG8iKTsKCnZhciBfX3JlID0gL2wvOwoKdmFyIF9fc3BsaXQgPSBfX3N0cmluZy5zcGxpdChfX3JlLCB1bmRlZmluZWQpOwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAoX19zcGxpdC5jb25zdHJ1Y3RvciAhPT0gQXJyYXkpIHsKICAkRVJST1IoJyMxOiB2YXIgX19zdHJpbmcgPSBuZXcgU3RyaW5nKCJoZWxsbyIpOyB2YXIgX19yZSA9IC9sLzsgX19zcGxpdCA9IF9fc3RyaW5nLnNwbGl0KF9fcmUsIHVuZGVmaW5lZCk7IF9fc3BsaXQuY29uc3RydWN0b3IgPT09IEFycmF5LiBBY3R1YWw6ICcrX19zcGxpdC5jb25zdHJ1Y3RvciApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMgppZiAoX19zcGxpdC5sZW5ndGggIT09IDMpIHsKICAkRVJST1IoJyMyOiB2YXIgX19zdHJpbmcgPSBuZXcgU3RyaW5nKCJoZWxsbyIpOyB2YXIgX19yZSA9IC9sLzsgX19zcGxpdCA9IF9fc3RyaW5nLnNwbGl0KF9fcmUsIHVuZGVmaW5lZCk7IF9fc3BsaXQubGVuZ3RoID09PSAzLiBBY3R1YWw6ICcrX19zcGxpdC5sZW5ndGggKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzMKaWYgKF9fc3BsaXRbMF0gIT09ICJoZSIpIHsKICAkRVJST1IoJyMzOiB2YXIgX19zdHJpbmcgPSBuZXcgU3RyaW5nKCJoZWxsbyIpOyB2YXIgX19yZSA9IC9sLzsgX19zcGxpdCA9IF9fc3RyaW5nLnNwbGl0KF9fcmUsIHVuZGVmaW5lZCk7IF9fc3BsaXRbMF0gPT09ICJoZSIuIEFjdHVhbDogJytfX3NwbGl0WzBdKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzQKaWYgKF9fc3BsaXRbMV0gIT09ICIiKSB7CiAgJEVSUk9SKCcjNDogdmFyIF9fc3RyaW5nID0gbmV3IFN0cmluZygiaGVsbG8iKTsgdmFyIF9fcmUgPSAvbC87IF9fc3BsaXQgPSBfX3N0cmluZy5zcGxpdChfX3JlLCB1bmRlZmluZWQpOyBfX3NwbGl0WzFdID09PSAiIi4gQWN0dWFsOiAnK19fc3BsaXRbMV0pOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjNQppZiAoX19zcGxpdFsyXSAhPT0gIm8iKSB7CiAgJEVSUk9SKCcjNTogdmFyIF9fc3RyaW5nID0gbmV3IFN0cmluZygiaGVsbG8iKTsgdmFyIF9fcmUgPSAvbC87IF9fc3BsaXQgPSBfX3N0cmluZy5zcGxpdChfX3JlLCB1bmRlZmluZWQpOyBfX3NwbGl0WzJdID09PSAibyIuIEFjdHVhbDogJytfX3NwbGl0WzJdICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"String.prototype.split (separator, limit) returns an Array object into which substrings of the result of converting this object to a string have\nbeen stored. If separator is a regular expression then\ninside of SplitMatch helper the [[Match]] method of R is called giving it the arguments corresponding","description":"Arguments are regexp /l/ and undefined, and instance is String(\"hello\")","path":"TestCases/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A4_T9.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnNwbGl0IGhhcyBub3QgcHJvdG90eXBlIHByb3BlcnR5CiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjE0L1MxNS41LjQuMTRfQTYuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIFN0cmluZy5wcm90b3R5cGUuc3BsaXQucHJvdG90eXBlCiAqLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAoU3RyaW5nLnByb3RvdHlwZS5zcGxpdC5wcm90b3R5cGUgIT09IHVuZGVmaW5lZCkgewogICRFUlJPUignIzE6IFN0cmluZy5wcm90b3R5cGUuc3BsaXQucHJvdG90eXBlID09PSB1bmRlZmluZWQuIEFjdHVhbDogJytTdHJpbmcucHJvdG90eXBlLnNwbGl0LnByb3RvdHlwZSApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"String.prototype.split has not prototype property","description":"Checking String.prototype.split.prototype","path":"TestCases/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnNwbGl0IGNhbid0IGJlIHVzZWQgYXMgY29uc3RydWN0b3IKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuMTQvUzE1LjUuNC4xNF9BNy5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgaWYgY3JlYXRpbmcgdGhlIFN0cmluZy5wcm90b3R5cGUuc3BsaXQgb2JqZWN0IGZhaWxzCiAqLwoKdmFyIF9fRkFDVE9SWSA9IFN0cmluZy5wcm90b3R5cGUuc3BsaXQ7Cgp0cnkgewogIHZhciBfX2luc3RhbmNlID0gbmV3IF9fRkFDVE9SWTsKICAkRkFJTCgnIzE6IF9fRkFDVE9SWSA9IFN0cmluZy5wcm90b3R5cGUuc3BsaXQ7ICJfX2luc3RhbmNlID0gbmV3IF9fRkFDVE9SWSIgbGVhZCB0byB0aHJvd2luZyBleGNlcHRpb24nKTsNCn0gY2F0Y2ggKGUpIHsNCiAgICBpZiAoZSBpbnN0YW5jZW9mIFRlc3QyNjJFcnJvcikgdGhyb3cgZTsKfQoK","commentary":"String.prototype.split can't be used as constructor","description":"Checking if creating the String.prototype.split object fails","path":"TestCases/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgU3RyaW5nLnByb3RvdHlwZS5zcGxpdC5sZW5ndGggcHJvcGVydHkgaGFzIHRoZSBhdHRyaWJ1dGUgRG9udEVudW0KICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuMTQvUzE1LjUuNC4xNF9BOC5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgaWYgZW51bWVyYXRpbmcgdGhlIFN0cmluZy5wcm90b3R5cGUuc3BsaXQubGVuZ3RoIHByb3BlcnR5IGZhaWxzCiAqLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMAppZiAoIShTdHJpbmcucHJvdG90eXBlLnNwbGl0Lmhhc093blByb3BlcnR5KCdsZW5ndGgnKSkpIHsKICAkRkFJTCgnIzA6IFN0cmluZy5wcm90b3R5cGUuc3BsaXQuaGFzT3duUHJvcGVydHkoXCdsZW5ndGhcJykgcmV0dXJuIHRydWUuIEFjdHVhbDogJytTdHJpbmcucHJvdG90eXBlLnNwbGl0Lmhhc093blByb3BlcnR5KCdsZW5ndGgnKSk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vIENIRUNLIzEKaWYgKFN0cmluZy5wcm90b3R5cGUuc3BsaXQucHJvcGVydHlJc0VudW1lcmFibGUoJ2xlbmd0aCcpKSB7CiAgJEVSUk9SKCcjMTogU3RyaW5nLnByb3RvdHlwZS5zcGxpdC5wcm9wZXJ0eUlzRW51bWVyYWJsZShcJ2xlbmd0aFwnKSByZXR1cm4gZmFsc2UnKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovLyBDSEVDSyMyCnZhciBjb3VudD0wOwoKZm9yIChwIGluIFN0cmluZy5wcm90b3R5cGUuc3BsaXQpewogIGlmIChwPT09Imxlbmd0aCIpIGNvdW50Kys7Cn0KCmlmIChjb3VudCAhPT0gMCkgewogICRFUlJPUignIzI6IGNvdW50PTA7IGZvciAocCBpbiBTdHJpbmcucHJvdG90eXBlLnNwbGl0KXtpZiAocD09PSJsZW5ndGgiKSBjb3VudCsrO307IGNvdW50ID09PSAwLiBBY3R1YWw6ICcrY291bnQgKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"The String.prototype.split.length property has the attribute DontEnum","description":"Checking if enumerating the String.prototype.split.length property fails","path":"TestCases/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A8.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgU3RyaW5nLnByb3RvdHlwZS5zcGxpdC5sZW5ndGggcHJvcGVydHkgaGFzIHRoZSBhdHRyaWJ1dGUgRG9udERlbGV0ZQogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS40LzE1LjUuNC4xNC9TMTUuNS40LjE0X0E5LmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiBkZWxldGluZyB0aGUgU3RyaW5nLnByb3RvdHlwZS5zcGxpdC5sZW5ndGggcHJvcGVydHkgZmFpbHMKICovCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMwCmlmICghKFN0cmluZy5wcm90b3R5cGUuc3BsaXQuaGFzT3duUHJvcGVydHkoJ2xlbmd0aCcpKSkgewogICRGQUlMKCcjMDogU3RyaW5nLnByb3RvdHlwZS5zcGxpdC5oYXNPd25Qcm9wZXJ0eShcJ2xlbmd0aFwnKSByZXR1cm4gdHJ1ZS4gQWN0dWFsOiAnK1N0cmluZy5wcm90b3R5cGUuc3BsaXQuaGFzT3duUHJvcGVydHkoJ2xlbmd0aCcpKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKGRlbGV0ZSBTdHJpbmcucHJvdG90eXBlLnNwbGl0Lmxlbmd0aCkgewogICRFUlJPUignIzE6IGRlbGV0ZSBTdHJpbmcucHJvdG90eXBlLnNwbGl0Lmxlbmd0aCByZXR1cm4gZmFsc2UnKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzIKaWYgKCEoU3RyaW5nLnByb3RvdHlwZS5zcGxpdC5oYXNPd25Qcm9wZXJ0eSgnbGVuZ3RoJykpKSB7CiAgJEZBSUwoJyMyOiBkZWxldGUgU3RyaW5nLnByb3RvdHlwZS5zcGxpdC5sZW5ndGg7IFN0cmluZy5wcm90b3R5cGUuc3BsaXQuaGFzT3duUHJvcGVydHkoXCdsZW5ndGhcJykgcmV0dXJuIHRydWUuIEFjdHVhbDogJytTdHJpbmcucHJvdG90eXBlLnNwbGl0Lmhhc093blByb3BlcnR5KCdsZW5ndGgnKSk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"The String.prototype.split.length property has the attribute DontDelete","description":"Checking if deleting the String.prototype.split.length property fails","path":"TestCases/ch15/15.5/15.5.4/15.5.4.14/S15.5.4.14_A9.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgU3RyaW5nLnByb3RvdHlwZS5zdWJzdHJpbmcubGVuZ3RoIHByb3BlcnR5IGhhcyB0aGUgYXR0cmlidXRlIFJlYWRPbmx5CiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjE1L1MxNS41LjQuMTVfQTEwLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiB2YXJ5aW5nIHRoZSBTdHJpbmcucHJvdG90eXBlLnN1YnN0cmluZy5sZW5ndGggcHJvcGVydHkgZmFpbHMKICovCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmICghKFN0cmluZy5wcm90b3R5cGUuc3Vic3RyaW5nLmhhc093blByb3BlcnR5KCdsZW5ndGgnKSkpIHsKICAkRkFJTCgnIzE6IFN0cmluZy5wcm90b3R5cGUuc3Vic3RyaW5nLmhhc093blByb3BlcnR5KFwnbGVuZ3RoXCcpIHJldHVybiB0cnVlLiBBY3R1YWw6ICcrU3RyaW5nLnByb3RvdHlwZS5zdWJzdHJpbmcuaGFzT3duUHJvcGVydHkoJ2xlbmd0aCcpKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCnZhciBfX29iaiA9IFN0cmluZy5wcm90b3R5cGUuc3Vic3RyaW5nLmxlbmd0aDsKClN0cmluZy5wcm90b3R5cGUuc3Vic3RyaW5nLmxlbmd0aCA9IGZ1bmN0aW9uKCl7cmV0dXJuICJzaGlmdGVkIjt9OwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMgppZiAoU3RyaW5nLnByb3RvdHlwZS5zdWJzdHJpbmcubGVuZ3RoICE9PSBfX29iaikgewogICRFUlJPUignIzI6IF9fb2JqID0gU3RyaW5nLnByb3RvdHlwZS5zdWJzdHJpbmcubGVuZ3RoOyBTdHJpbmcucHJvdG90eXBlLnN1YnN0cmluZy5sZW5ndGggPSBmdW5jdGlvbigpe3JldHVybiAic2hpZnRlZCI7fTsgU3RyaW5nLnByb3RvdHlwZS5zdWJzdHJpbmcubGVuZ3RoID09PSBfX29iai4gQWN0dWFsOiAnK1N0cmluZy5wcm90b3R5cGUuc3Vic3RyaW5nLmxlbmd0aCApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"The String.prototype.substring.length property has the attribute ReadOnly","description":"Checking if varying the String.prototype.substring.length property fails","path":"TestCases/ch15/15.5/15.5.4/15.5.4.15/S15.5.4.15_A10.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgbGVuZ3RoIHByb3BlcnR5IG9mIHRoZSBzdWJzdHJpbmcgbWV0aG9kIGlzIDIKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuMTUvUzE1LjUuNC4xNV9BMTEuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIFN0cmluZy5wcm90b3R5cGUuc3Vic3RyaW5nLmxlbmd0aAogKi8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKCEoU3RyaW5nLnByb3RvdHlwZS5zdWJzdHJpbmcuaGFzT3duUHJvcGVydHkoImxlbmd0aCIpKSkgewogICRFUlJPUignIzE6IFN0cmluZy5wcm90b3R5cGUuc3Vic3RyaW5nLmhhc093blByb3BlcnR5KCJsZW5ndGgiKSByZXR1cm4gdHJ1ZS4gQWN0dWFsOiAnK1N0cmluZy5wcm90b3R5cGUuc3Vic3RyaW5nLmhhc093blByb3BlcnR5KCJsZW5ndGgiKSk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMyCmlmIChTdHJpbmcucHJvdG90eXBlLnN1YnN0cmluZy5sZW5ndGggIT09IDIpIHsKICAkRVJST1IoJyMyOiBTdHJpbmcucHJvdG90eXBlLnN1YnN0cmluZy5sZW5ndGggPT09IDIuIEFjdHVhbDogJytTdHJpbmcucHJvdG90eXBlLnN1YnN0cmluZy5sZW5ndGggKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"The length property of the substring method is 2","description":"Checking String.prototype.substring.length","path":"TestCases/ch15/15.5/15.5.4/15.5.4.15/S15.5.4.15_A11.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnN1YnN0cmluZyAoc3RhcnQsIGVuZCkKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuMTUvUzE1LjUuNC4xNV9BMV9UMS5qcwogKiBAZGVzY3JpcHRpb24gQXJndW1lbnRzIGFyZSBmYWxzZSBhbmQgdHJ1ZSwgYW5kIGluc3RhbmNlIGlzIG9iamVjdAogKi8KCnZhciBfX2luc3RhbmNlID0gbmV3IE9iamVjdCh0cnVlKTsKCl9faW5zdGFuY2Uuc3Vic3RyaW5nID0gU3RyaW5nLnByb3RvdHlwZS5zdWJzdHJpbmc7CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmIChfX2luc3RhbmNlLnN1YnN0cmluZyhmYWxzZSwgdHJ1ZSkgIT09ICJ0IikgewogICRFUlJPUignIzE6IF9faW5zdGFuY2UgPSBuZXcgT2JqZWN0KHRydWUpOyBfX2luc3RhbmNlLnN1YnN0cmluZyA9IFN0cmluZy5wcm90b3R5cGUuc3Vic3RyaW5nOyAgX19pbnN0YW5jZS5zdWJzdHJpbmcoZmFsc2UsIHRydWUpID09PSAidCIuIEFjdHVhbDogJytfX2luc3RhbmNlLnN1YnN0cmluZyhmYWxzZSwgdHJ1ZSkgKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"String.prototype.substring (start, end)","description":"Arguments are false and true, and instance is object","path":"TestCases/ch15/15.5/15.5.4/15.5.4.15/S15.5.4.15_A1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnN1YnN0cmluZyAoc3RhcnQsIGVuZCkKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuMTUvUzE1LjUuNC4xNV9BMV9UMTAuanMKICogQGRlc2NyaXB0aW9uIEFyZ3VtZW50cyBhcmUgb2JqZWN0IGFuZCBmdW5jdGlvbiBjYWxsLCBhbmQgaW5zdGFuY2UgaXMgU3RyaW5nLCBvYmplY3QgaGF2ZSBvdmVycmlkZWQgdmFsdWVPZiBmdW5jdGlvbgogKi8KCnZhciBfX29iaiA9IHt2YWx1ZU9mOmZ1bmN0aW9uKCl7cmV0dXJuIDI7fX07Cgp2YXIgX19zdHIgPSAiXHUwMDM1QUJCQkFCQUIiOwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQp3aXRoKF9fc3RyKXsKICAgIGlmIChzdWJzdHJpbmcoX19vYmosIGZ1bmN0aW9uKCl7cmV0dXJuIHN1YnN0cmluZygwLDEpO30oKSkgIT09ICJCQkIiKSB7CiAgICAgICRFUlJPUignIzE6IHZhciBfX29iaiA9IHt2YWx1ZU9mOmZ1bmN0aW9uKCl7cmV0dXJuIDI7fX07IHZhciBfX3N0ciA9ICJcdTAwMzVBQkJCQUJBQiI7IHN1YnN0cmluZyhfX29iaiwgZnVuY3Rpb24oKXtyZXR1cm4gc3Vic3RyaW5nKDAsMSk7fSgpKSA9PT0gIkJCQiIuIEFjdHVhbDogJytzdWJzdHJpbmcoX19vYmosIGZ1bmN0aW9uKCl7cmV0dXJuIHN1YnN0cmluZygwLDEpO30oKSkgKTsKICAgIH0KfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCnZhciB4OwoK","commentary":"String.prototype.substring (start, end)","description":"Arguments are object and function call, and instance is String, object have overrided valueOf function","path":"TestCases/ch15/15.5/15.5.4/15.5.4.15/S15.5.4.15_A1_T10.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnN1YnN0cmluZyAoc3RhcnQsIGVuZCkKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuMTUvUzE1LjUuNC4xNV9BMV9UMTEuanMKICogQGRlc2NyaXB0aW9uIEFyZ3VtZW50cyBhcmUgb2JqZWN0cywgYW5kIGluc3RhbmNlIGlzIHN0cmluZywgb2JqZWN0cyBoYXZlIG92ZXJyaWRlZCB2YWx1ZU9mIGZ1bmN0aW9uLCB0aGF0IHJldHVybiBleGNlcHRpb24KICovCgp2YXIgX19vYmogPSB7dmFsdWVPZjpmdW5jdGlvbigpe3Rocm93ICJpbnN0YXJ0Ijt9fTsKdmFyIF9fb2JqMiA9IHt2YWx1ZU9mOmZ1bmN0aW9uKCl7dGhyb3cgImluZW5kIjt9fTsKdmFyIF9fc3RyID0ge3N0cl9fOiJBQkJcdTAwNDFCQUJBQiJ9OwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQp3aXRoKF9fc3RyKXsKICAgIHdpdGgoc3RyX18pewogICAgICAgIHRyeSB7CiAgICAgICAgICB2YXIgeCA9IHN1YnN0cmluZyhfX29iaixfX29iajIpOwogICAgICAgICAgJEZBSUwoJyMxOiAidmFyIHggPSBzdWJzdHJpbmcoX19vYmosX19vYmoyKSIgbGVhZCB0byB0aHJvdyBleGNlcHRpb24nKTsKICAgICAgICB9IGNhdGNoIChlKSB7CiAgICAgICAgICBpZiAoZSE9PSJpbnN0YXJ0IikgewogICAgICAgICAgICAkRVJST1IoJyMxLjE6IEV4Y2VwdGlvbiA9PT0gImluc3RhcnQiLiBBY3R1YWw6ICcrZSk7CiAgICAgICAgICB9CiAgICAgICAgfQogICAgfQp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"String.prototype.substring (start, end)","description":"Arguments are objects, and instance is string, objects have overrided valueOf function, that return exception","path":"TestCases/ch15/15.5/15.5.4/15.5.4.15/S15.5.4.15_A1_T11.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnN1YnN0cmluZyAoc3RhcnQsIGVuZCkKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuMTUvUzE1LjUuNC4xNV9BMV9UMTIuanMKICogQGRlc2NyaXB0aW9uIEFyZ3VtZW50cyBhcmUgb2JqZWN0cywgYW5kIGluc3RhbmNlIGlzIHN0cmluZy4KICogRmlyc3Qgb2JqZWN0IGhhdmUgb3ZlcnJpZGVkIHZhbHVlT2YgZnVuY3Rpb24gYW5kIHRvU3RyaW5nIGZ1bmN0aW9uLCB0aGF0IHJldHVybiBleGNlcHRpb24uCiAqIFNlY29uZCBvYmplY3QgaGF2ZSBvdmVycmlkZWQgdmFsdWVPZiBmdW5jdGlvbiwgdGhhdCByZXR1cm4gZXhjZXB0aW9uCiAqLwoKdmFyIF9fb2JqID0ge3ZhbHVlT2Y6ZnVuY3Rpb24oKXtyZXR1cm4ge307fSwgdG9TdHJpbmc6ZnVuY3Rpb24oKXt0aHJvdyAiaW5zdGFydCI7fX07CnZhciBfX29iajIgPSB7dmFsdWVPZjpmdW5jdGlvbigpe3Rocm93ICJpbmVuZCI7fX07CnZhciBfX3N0ciA9IG5ldyBTdHJpbmcoIkFCQlx1MDA0MUJBQkFCIik7CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCndpdGgoX19zdHIpewogICAgdHJ5IHsKICAgICAgdmFyIHggPSBzdWJzdHJpbmcoX19vYmosIF9fb2JqMik7CiAgICAgICRGQUlMKCcjMTogInZhciB4ID0gc3Vic3RyaW5nKF9fb2JqLF9fb2JqMikiIGxlYWQgdG8gdGhyb3cgZXhjZXB0aW9uJyk7CiAgICB9IGNhdGNoIChlKSB7CiAgICAgIGlmIChlIT09Imluc3RhcnQiKSB7CiAgICAgICAgJEVSUk9SKCcjMS4xOiBFeGNlcHRpb24gPT09Imluc3RhcnQiLiBBY3R1YWw6ICcrZSk7CiAgICAgIH0KICAgIH0KfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"String.prototype.substring (start, end)","description":"Arguments are objects, and instance is string.\nFirst object have overrided valueOf function and toString function, that return exception.\nSecond object have overrided valueOf function, that return exception","path":"TestCases/ch15/15.5/15.5.4/15.5.4.15/S15.5.4.15_A1_T12.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnN1YnN0cmluZyAoc3RhcnQsIGVuZCkKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuMTUvUzE1LjUuNC4xNV9BMV9UMTMuanMKICogQGRlc2NyaXB0aW9uIEFyZ3VtZW50cyBhcmUgb2JqZWN0cywgYW5kIGluc3RhbmNlIGlzIHN0cmluZy4KICogRmlyc3Qgb2JqZWN0IGhhdmUgb3ZlcnJpZGVkIHZhbHVlT2YgYW5kIHRvU3RyaW5nIGZ1bmN0aW9ucy4KICogU2Vjb25kIG9iamVjdCBoYXZlIG92ZXJyaWRlZCB0b1N0cmluZyBmdW5jdGlvbiwgdGhhdCByZXR1cm4gZXhjZXB0aW9uCiAqLwoKdmFyIF9fb2JqID0ge3ZhbHVlT2Y6ZnVuY3Rpb24oKXtyZXR1cm4ge307fSwgdG9TdHJpbmc6ZnVuY3Rpb24oKXtyZXR1cm4gMTt9fTsKdmFyIF9fb2JqMiA9IHt0b1N0cmluZzpmdW5jdGlvbigpe3Rocm93ICJpbmVuZCI7fX07CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCnRyeSB7CiAgICB2YXIgeCA9ICJBQkJcdTAwNDFCQUJBQlx1MDAzMUJCQUEiLnN1YnN0cmluZyhfX29iaiwgX19vYmoyKTsKICAgICRGQUlMKCcjMTogdmFyIHggPSAiQUJCXFx1MDA0MUJBQkFCXFx1MDAzMUJCQUEiLnN1YnN0cmluZyhfX29iaixfX29iajIpIGxlYWQgdG8gdGhyb3cgZXhjZXB0aW9uJyk7Cn0gY2F0Y2ggKGUpIHsKICAgIGlmIChlIT09ImluZW5kIikgewogICAgICAgICRFUlJPUignIzEuMTogRXhjZXB0aW9uID09PSAiaW5lbmQiLiBBY3R1YWw6ICcrZSk7CiAgICB9Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgoK","commentary":"String.prototype.substring (start, end)","description":"Arguments are objects, and instance is string.\nFirst object have overrided valueOf and toString functions.\nSecond object have overrided toString function, that return exception","path":"TestCases/ch15/15.5/15.5.4/15.5.4.15/S15.5.4.15_A1_T13.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnN1YnN0cmluZyAoc3RhcnQsIGVuZCkKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuMTUvUzE1LjUuNC4xNV9BMV9UMTQuanMKICogQGRlc2NyaXB0aW9uIFVzZWQgb25lIGFyZ3VtZW50LCB0aGF0IGlzIGZ1bmN0aW9uKCl7fSgpLiBJbnN0YW5jZSBpcyBzdHJpbmcKICovCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmICgicmVwb3J0Ii5zdWJzdHJpbmcoZnVuY3Rpb24oKXt9KCkpICE9PSAicmVwb3J0IikgewogICRFUlJPUignIzE6ICJyZXBvcnQiLnN1YnN0cmluZyhmdW5jdGlvbigpe30oKSkgPT09ICJyZXBvcnQiLiBBY3R1YWw6ICcrInJlcG9ydCIuc3Vic3RyaW5nKGZ1bmN0aW9uKCl7fSgpKSApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"String.prototype.substring (start, end)","description":"Used one argument, that is function(){}(). Instance is string","path":"TestCases/ch15/15.5/15.5.4/15.5.4.15/S15.5.4.15_A1_T14.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnN1YnN0cmluZyAoc3RhcnQsIGVuZCkKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuMTUvUzE1LjUuNC4xNV9BMV9UMTUuanMKICogQGRlc2NyaXB0aW9uIENhbGwgc3Vic3RyaW5nIHdpdGhvdXQgYXJndW1lbnRzLiBJbnN0YW5jZSBpcyBOdW1iZXIgd2l0aCBwcm90b3R5cGUuc3Vic3RyaW5nID0gU3RyaW5nLnByb3RvdHlwZS5zdWJzdHJpbmcKICovCgp2YXIgX19udW0gPSAxMS4wMDEwMDI7CgpOdW1iZXIucHJvdG90eXBlLnN1YnN0cmluZyA9IFN0cmluZy5wcm90b3R5cGUuc3Vic3RyaW5nOwoKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKF9fbnVtLnN1YnN0cmluZygpIT09IjExLjAwMTAwMiIpIHsKICAkRVJST1IoJyMxOiB2YXIgX19udW0gPSAxMS4wMDEwMDI7IE51bWJlci5wcm90b3R5cGUuc3Vic3RyaW5nID0gU3RyaW5nLnByb3RvdHlwZS5zdWJzdHJpbmc7IF9fbnVtLnN1YnN0cmluZygpPT09IjExLjAwMTAwMiIuIEFjdHVhbDogJytfX251bS5zdWJzdHJpbmcoKSk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"String.prototype.substring (start, end)","description":"Call substring without arguments. Instance is Number with prototype.substring = String.prototype.substring","path":"TestCases/ch15/15.5/15.5.4/15.5.4.15/S15.5.4.15_A1_T15.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnN1YnN0cmluZyAoc3RhcnQsIGVuZCkKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuMTUvUzE1LjUuNC4xNV9BMV9UMi5qcwogKiBAZGVzY3JpcHRpb24gQXJndW1lbnRzIGFyZSBmdW5jdGlvbiBjYWxsIGFuZCB4LCBhbmQgaW5zdGFuY2UgaXMgQm9vbGVhbi4geCBpcyB1bmRlZmluZWQgdmFyaWFibGUKICovCgp2YXIgX19pbnN0YW5jZSA9IG5ldyBCb29sZWFuOwoKX19pbnN0YW5jZS5zdWJzdHJpbmcgPSBTdHJpbmcucHJvdG90eXBlLnN1YnN0cmluZzsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKF9faW5zdGFuY2Uuc3Vic3RyaW5nKGZ1bmN0aW9uKCl7cmV0dXJuIHRydWU7fSgpLHgpICE9PSAiYWxzZSIpIHsKICAkRVJST1IoJyMxOiB2YXIgeDsgX19pbnN0YW5jZSA9IG5ldyBCb29sZWFuOyBfX2luc3RhbmNlLnN1YnN0cmluZyA9IFN0cmluZy5wcm90b3R5cGUuc3Vic3RyaW5nOyAgX19pbnN0YW5jZS5zdWJzdHJpbmcoZnVuY3Rpb24oKXtyZXR1cm4gdHJ1ZTt9KCkseCkgPT09ICJhbHNlIi4gQWN0dWFsOiAnK19faW5zdGFuY2Uuc3Vic3RyaW5nKGZ1bmN0aW9uKCl7cmV0dXJuIHRydWU7fSgpLHgpICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgp2YXIgeDsKCg==","commentary":"String.prototype.substring (start, end)","description":"Arguments are function call and x, and instance is Boolean. x is undefined variable","path":"TestCases/ch15/15.5/15.5.4/15.5.4.15/S15.5.4.15_A1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnN1YnN0cmluZyAoc3RhcnQsIGVuZCkKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuMTUvUzE1LjUuNC4xNV9BMV9UNC5qcwogKiBAZGVzY3JpcHRpb24gQXJndW1lbnRzIGFyZSBudWxsIGFuZCBudW1iZXIsIGFuZCBpbnN0YW5jZSBpcyBmdW5jdGlvbiBjYWxsLCB0aGF0IHJldHVybmVkIHN0cmluZwogKi8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKGZ1bmN0aW9uKCl7cmV0dXJuICJnbnVsbHVuYSJ9KCkuc3Vic3RyaW5nKG51bGwsIC0zKSAhPT0gIiIpIHsKICAkRVJST1IoJyMxOiBmdW5jdGlvbigpe3JldHVybiAiZ251bGx1bmEifSgpLnN1YnN0cmluZyhudWxsLCAtMykgPT09ICIiLiBBY3R1YWw6ICcrZnVuY3Rpb24oKXtyZXR1cm4gImdudWxsdW5hIn0oKS5zdWJzdHJpbmcobnVsbCwgLTMpICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"String.prototype.substring (start, end)","description":"Arguments are null and number, and instance is function call, that returned string","path":"TestCases/ch15/15.5/15.5.4/15.5.4.15/S15.5.4.15_A1_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnN1YnN0cmluZyAoc3RhcnQsIGVuZCkKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuMTUvUzE1LjUuNC4xNV9BMV9UNS5qcwogKiBAZGVzY3JpcHRpb24gQXJndW1lbnRzIGFyZSBudWxsIGFuZCBGdW5jdGlvbigpLCBhbmQgaW5zdGFuY2UgaXMgZnVuY3Rpb24gb2JqZWN0LCB0aGF0IGhhdmUgb3ZlcnJpZGVkIHZhbHVlT2YgZnVuY3Rpb24KICovCgpfX2Z1bmMudmFsdWVPZj1mdW5jdGlvbigpe3JldHVybiAiZ251bGx1bmEifTsKCkZ1bmN0aW9uLnByb3RvdHlwZS5zdWJzdHJpbmc9U3RyaW5nLnByb3RvdHlwZS5zdWJzdHJpbmc7CgoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAoX19mdW5jLnN1YnN0cmluZyhudWxsLCBGdW5jdGlvbigpKSAhPT0gIiIpIHsKICAkRVJST1IoJyMxOiBfX2Z1bmMudmFsdWVPZj1mdW5jdGlvbigpe3JldHVybiAiZ251bGx1bmEifTsgRnVuY3Rpb24ucHJvdG90eXBlLnN1YnN0cmluZz1TdHJpbmcucHJvdG90eXBlLnN1YnN0cmluZzsgZnVuY3Rpb24gX19mdW5jKCl7fTsgX19mdW5jLnN1YnN0cmluZyhudWxsLCBGdW5jdGlvbigpKSA9PT0gIiIuIEFjdHVhbDogJytfX2Z1bmMuc3Vic3RyaW5nKG51bGwsIEZ1bmN0aW9uKCkpICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgpmdW5jdGlvbiBfX2Z1bmMoKXt9OwoK","commentary":"String.prototype.substring (start, end)","description":"Arguments are null and Function(), and instance is function object, that have overrided valueOf function","path":"TestCases/ch15/15.5/15.5.4/15.5.4.15/S15.5.4.15_A1_T5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnN1YnN0cmluZyAoc3RhcnQsIGVuZCkKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuMTUvUzE1LjUuNC4xNV9BMV9UNi5qcwogKiBAZGVzY3JpcHRpb24gQXJndW1lbnRzIGFyZSB4IGFuZCBudW1iZXIsIGFuZCBpbnN0YW5jZSBpcyBuZXcgU3RyaW5nLCB4IGlzIHVuZGVmaW5lZCB2YXJpYWJsZQogKi8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKG5ldyBTdHJpbmcoInVuZGVmaW5lZCIpLnN1YnN0cmluZyh4LDMpICE9PSAidW5kIikgewogICRFUlJPUignIzE6IHZhciB4OyBuZXcgU3RyaW5nKCJ1bmRlZmluZWQiKS5zdWJzdHJpbmcoeCwzKSA9PT0gInVuZCIuIEFjdHVhbDogJytuZXcgU3RyaW5nKCJ1bmRlZmluZWQiKS5zdWJzdHJpbmcoeCwzKSApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKdmFyIHg7Cgo=","commentary":"String.prototype.substring (start, end)","description":"Arguments are x and number, and instance is new String, x is undefined variable","path":"TestCases/ch15/15.5/15.5.4/15.5.4.15/S15.5.4.15_A1_T6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnN1YnN0cmluZyAoc3RhcnQsIGVuZCkKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuMTUvUzE1LjUuNC4xNV9BMV9UNy5qcwogKiBAZGVzY3JpcHRpb24gQXJndW1lbnRzIGFyZSBzeW1ib2wgYW5kIHVuZGVmaW5lZCwgYW5kIGluc3RhbmNlIGlzIFN0cmluZwogKi8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKFN0cmluZyh2b2lkIDApLnN1YnN0cmluZygiZSIsdW5kZWZpbmVkKSAhPT0gInVuZGVmaW5lZCIpIHsKICAkRVJST1IoJyMxOiBTdHJpbmcodm9pZCAwKS5zdWJzdHJpbmcoImUiLHVuZGVmaW5lZCkgPT09ICJ1bmRlZmluZWQiLiBBY3R1YWw6ICcrU3RyaW5nKHZvaWQgMCkuc3Vic3RyaW5nKCJlIix1bmRlZmluZWQpICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"String.prototype.substring (start, end)","description":"Arguments are symbol and undefined, and instance is String","path":"TestCases/ch15/15.5/15.5.4/15.5.4.15/S15.5.4.15_A1_T7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnN1YnN0cmluZyAoc3RhcnQsIGVuZCkKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuMTUvUzE1LjUuNC4xNV9BMV9UOC5qcwogKiBAZGVzY3JpcHRpb24gQXJndW1lbnRzIGFyZSBuZWdhdGl2ZSBudW1iZXIgYW5kIHZvaWQgMCwgYW5kIGluc3RhbmNlIGlzIFN0cmluZyhvYmplY3QpLCBvYmplY3QgaGF2ZSBvdmVycmlkZWQgdG9TdHJpbmcgZnVuY3Rpb24KICovCgp2YXIgX19vYmogPSB7dG9TdHJpbmc6ZnVuY3Rpb24oKXt9fTsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKFN0cmluZyhfX29iaikuc3Vic3RyaW5nKC00LHZvaWQgMCkgIT09ICJ1bmRlZmluZWQiKSB7CiAgJEVSUk9SKCcjMTogX19vYmogPSB7dG9TdHJpbmc6ZnVuY3Rpb24oKXt9fTsgU3RyaW5nKF9fb2JqKS5zdWJzdHJpbmcoLTQsdm9pZCAwKSA9PT0gInVuZGVmaW5lZCIuIEFjdHVhbDogJytTdHJpbmcoX19vYmopLnN1YnN0cmluZygtNCx2b2lkIDApICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"String.prototype.substring (start, end)","description":"Arguments are negative number and void 0, and instance is String(object), object have overrided toString function","path":"TestCases/ch15/15.5/15.5.4/15.5.4.15/S15.5.4.15_A1_T8.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnN1YnN0cmluZyAoc3RhcnQsIGVuZCkKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuMTUvUzE1LjUuNC4xNV9BMV9UOS5qcwogKiBAZGVzY3JpcHRpb24gQXJndW1lbnRzIGFyZSB1bmRlZmluZWQgYW5kIG9iamVjdCwgYW5kIGluc3RhbmNlIGlzIG5ldyBTdHJpbmcob2JqZWN0KSwgb2JqZWN0IGhhdmUgb3ZlcnJpZGVkIHZhbHVlT2YgYW5kIHRvU3RyaW5nIGZ1bmN0aW9ucwogKi8KCnZhciBfX29iaiA9IHsKICAgIHZhbHVlT2Y6ZnVuY3Rpb24oKXt9LAogICAgdG9TdHJpbmc6dm9pZCAwCn07CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmIChuZXcgU3RyaW5nKF9fb2JqKS5zdWJzdHJpbmcoLyooZnVuY3Rpb24oKXt9KSgpKi91bmRlZmluZWQsdW5kZWZpbmVkKSAhPT0gInVuZGVmaW5lZCIpIHsKICAkRVJST1IoJyMxOiBfX29iaiA9IHt2YWx1ZU9mOmZ1bmN0aW9uKCl7fSwgdG9TdHJpbmc6dm9pZCAwfTsgbmV3IFN0cmluZyhfX29iaikuc3Vic3RyaW5nKC8qKGZ1bmN0aW9uKCl7fSkoKSovdW5kZWZpbmVkLHVuZGVmaW5lZCkgPT09ICJ1bmRlZmluZWQiLiBBY3R1YWw6ICcrbmV3IFN0cmluZyhfX29iaikuc3Vic3RyaW5nKC8qKGZ1bmN0aW9uKCl7fSkoKSovdW5kZWZpbmVkLHVuZGVmaW5lZCkgKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"String.prototype.substring (start, end)","description":"Arguments are undefined and object, and instance is new String(object), object have overrided valueOf and toString functions","path":"TestCases/ch15/15.5/15.5.4/15.5.4.15/S15.5.4.15_A1_T9.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnN1YnN0cmluZyAoc3RhcnQsIGVuZCkgcmV0dXJucyBhIHN0cmluZyB2YWx1ZShub3Qgb2JqZWN0KQogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS40LzE1LjUuNC4xNS9TMTUuNS40LjE1X0EyX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyB0eXBlIG9mIHN1YnN0cmluZygpCiAqLwoKdmFyIF9fc3RyaW5nID0gbmV3IFN0cmluZygidGhpcyBpcyBhIHN0cmluZyBvYmplY3QiKTsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKHR5cGVvZiBfX3N0cmluZy5zdWJzdHJpbmcoKSAhPT0gInN0cmluZyIpIHsKICAkRVJST1IoJyMxOiBfX3N0cmluZyA9IG5ldyBTdHJpbmcoInRoaXMgaXMgYSBzdHJpbmcgb2JqZWN0Iik7IHR5cGVvZiBfX3N0cmluZy5zdWJzdHJpbmcoKSA9PT0gInN0cmluZyIuIEFjdHVhbDogJyt0eXBlb2YgX19zdHJpbmcuc3Vic3RyaW5nKCkgKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"String.prototype.substring (start, end) returns a string value(not object)","description":"Checking type of substring()","path":"TestCases/ch15/15.5/15.5.4/15.5.4.15/S15.5.4.15_A2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnN1YnN0cmluZyAoc3RhcnQsIGVuZCkgcmV0dXJucyBhIHN0cmluZyB2YWx1ZShub3Qgb2JqZWN0KQogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS40LzE1LjUuNC4xNS9TMTUuNS40LjE1X0EyX1QxMC5qcwogKiBAZGVzY3JpcHRpb24gc3RhcnQgaXMgMCwgZW5kIGlzIDgKICovCgp2YXIgX19zdHJpbmcgPSBuZXcgU3RyaW5nKCJ0aGlzX2lzX2Ffc3RyaW5nIG9iamVjdCIpOwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAoX19zdHJpbmcuc3Vic3RyaW5nKDAsOCkgIT09ICJ0aGlzX2lzXyIpIHsKICAkRVJST1IoJyMxOiBfX3N0cmluZyA9IG5ldyBTdHJpbmcoInRoaXNfaXNfYV9zdHJpbmcgb2JqZWN0Iik7IF9fc3RyaW5nLnN1YnN0cmluZygwLDgpID09PSAidGhpc19pc18iLiBBY3R1YWw6ICcrX19zdHJpbmcuc3Vic3RyaW5nKDAsOCkgKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"String.prototype.substring (start, end) returns a string value(not object)","description":"start is 0, end is 8","path":"TestCases/ch15/15.5/15.5.4/15.5.4.15/S15.5.4.15_A2_T10.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnN1YnN0cmluZyAoc3RhcnQsIGVuZCkgcmV0dXJucyBhIHN0cmluZyB2YWx1ZShub3Qgb2JqZWN0KQogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS40LzE1LjUuNC4xNS9TMTUuNS40LjE1X0EyX1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBzdGFydCBpcyBOYU4sIGVuZCBpcyBJbmZpbml0eQogKi8KCnZhciBfX3N0cmluZyA9IG5ldyBTdHJpbmcoJ3RoaXMgaXMgYSBzdHJpbmcgb2JqZWN0Jyk7CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmIChfX3N0cmluZy5zdWJzdHJpbmcoTmFOLCBJbmZpbml0eSkgIT09ICJ0aGlzIGlzIGEgc3RyaW5nIG9iamVjdCIpIHsKICAkRVJST1IoJyMxOiBfX3N0cmluZyA9IG5ldyBTdHJpbmcoXCd0aGlzIGlzIGEgc3RyaW5nIG9iamVjdFwnKTsgX19zdHJpbmcuc3Vic3RyaW5nKE5hTiwgSW5maW5pdHkpID09PSAidGhpcyBpcyBhIHN0cmluZyBvYmplY3QiLiBBY3R1YWw6ICcrX19zdHJpbmcuc3Vic3RyaW5nKE5hTiwgSW5maW5pdHkpICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"String.prototype.substring (start, end) returns a string value(not object)","description":"start is NaN, end is Infinity","path":"TestCases/ch15/15.5/15.5.4/15.5.4.15/S15.5.4.15_A2_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnN1YnN0cmluZyAoc3RhcnQsIGVuZCkgcmV0dXJucyBhIHN0cmluZyB2YWx1ZShub3Qgb2JqZWN0KQogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS40LzE1LjUuNC4xNS9TMTUuNS40LjE1X0EyX1QzLmpzCiAqIEBkZXNjcmlwdGlvbiBDYWxsIHN1YnN0cmluZyBmcm9tIGVtcHR5IFN0cmluZyBvYmplY3QKICovCgp2YXIgX19zdHJpbmcgPSBuZXcgU3RyaW5nKCIiKTsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKF9fc3RyaW5nLnN1YnN0cmluZygxLDApICE9PSAiIikgewogICRFUlJPUignIzE6IF9fc3RyaW5nID0gbmV3IFN0cmluZygiIik7IF9fc3RyaW5nLnN1YnN0cmluZygxLDApID09PSAiIi4gQWN0dWFsOiAnK19fc3RyaW5nLnN1YnN0cmluZygxLDApICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"String.prototype.substring (start, end) returns a string value(not object)","description":"Call substring from empty String object","path":"TestCases/ch15/15.5/15.5.4/15.5.4.15/S15.5.4.15_A2_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnN1YnN0cmluZyAoc3RhcnQsIGVuZCkgcmV0dXJucyBhIHN0cmluZyB2YWx1ZShub3Qgb2JqZWN0KQogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS40LzE1LjUuNC4xNS9TMTUuNS40LjE1X0EyX1Q0LmpzCiAqIEBkZXNjcmlwdGlvbiBzdGFydCBpcyBJbmZpbml0eSwgZW5kIGlzIE5hTgogKi8KCnZhciBfX3N0cmluZyA9IG5ldyBTdHJpbmcoInRoaXMgaXMgYSBzdHJpbmcgb2JqZWN0Iik7CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmIChfX3N0cmluZy5zdWJzdHJpbmcoSW5maW5pdHksIE5hTikgIT09ICJ0aGlzIGlzIGEgc3RyaW5nIG9iamVjdCIpIHsKICAkRVJST1IoJyMxOiBfX3N0cmluZyA9IG5ldyBTdHJpbmcoInRoaXMgaXMgYSBzdHJpbmcgb2JqZWN0Iik7IF9fc3RyaW5nLnN1YnN0cmluZyhJbmZpbml0eSwgTmFOKSA9PT0gInRoaXMgaXMgYSBzdHJpbmcgb2JqZWN0Ii4gQWN0dWFsOiAnK19fc3RyaW5nLnN1YnN0cmluZyhJbmZpbml0eSwgTmFOKSApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"String.prototype.substring (start, end) returns a string value(not object)","description":"start is Infinity, end is NaN","path":"TestCases/ch15/15.5/15.5.4/15.5.4.15/S15.5.4.15_A2_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnN1YnN0cmluZyAoc3RhcnQsIGVuZCkgcmV0dXJucyBhIHN0cmluZyB2YWx1ZShub3Qgb2JqZWN0KQogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS40LzE1LjUuNC4xNS9TMTUuNS40LjE1X0EyX1Q1LmpzCiAqIEBkZXNjcmlwdGlvbiBzdGFydCBpcyBJbmZpbml0eSwgZW5kIGlzIEluZmluaXR5CiAqLwoKdmFyIF9fc3RyaW5nID0gbmV3IFN0cmluZygidGhpcyBpcyBhIHN0cmluZyBvYmplY3QiKTsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKF9fc3RyaW5nLnN1YnN0cmluZyhJbmZpbml0eSwgSW5maW5pdHkpICE9PSAiIikgewogICRFUlJPUignIzE6IF9fc3RyaW5nID0gbmV3IFN0cmluZygidGhpcyBpcyBhIHN0cmluZyBvYmplY3QiKTsgX19zdHJpbmcuc3Vic3RyaW5nKEluZmluaXR5LCBJbmZpbml0eSkgPT09ICIiLiBBY3R1YWw6ICcrX19zdHJpbmcuc3Vic3RyaW5nKEluZmluaXR5LCBJbmZpbml0eSkgKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"String.prototype.substring (start, end) returns a string value(not object)","description":"start is Infinity, end is Infinity","path":"TestCases/ch15/15.5/15.5.4/15.5.4.15/S15.5.4.15_A2_T5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnN1YnN0cmluZyAoc3RhcnQsIGVuZCkgcmV0dXJucyBhIHN0cmluZyB2YWx1ZShub3Qgb2JqZWN0KQogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS40LzE1LjUuNC4xNS9TMTUuNS40LjE1X0EyX1Q2LmpzCiAqIEBkZXNjcmlwdGlvbiBzdGFydCBpcyBuZWdhdGl2ZSBmbG9hdCBudW1iZXIsIGVuZCBpcyAwCiAqLwoKdmFyIF9fc3RyaW5nID0gbmV3IFN0cmluZygidGhpcyBpcyBhIHN0cmluZyBvYmplY3QiKTsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKF9fc3RyaW5nLnN1YnN0cmluZygtMC4wMSwwKSAhPT0gIiIpIHsKICAkRVJST1IoJyMxOiBfX3N0cmluZyA9IG5ldyBTdHJpbmcoInRoaXMgaXMgYSBzdHJpbmcgb2JqZWN0Iik7IF9fc3RyaW5nLnN1YnN0cmluZygtMC4wMSwwKSA9PT0gIiIuIEFjdHVhbDogJytfX3N0cmluZy5zdWJzdHJpbmcoLTAuMDEsMCkgKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"String.prototype.substring (start, end) returns a string value(not object)","description":"start is negative float number, end is 0","path":"TestCases/ch15/15.5/15.5.4/15.5.4.15/S15.5.4.15_A2_T6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnN1YnN0cmluZyAoc3RhcnQsIGVuZCkgcmV0dXJucyBhIHN0cmluZyB2YWx1ZShub3Qgb2JqZWN0KQogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS40LzE1LjUuNC4xNS9TMTUuNS40LjE1X0EyX1Q3LmpzCiAqIEBkZXNjcmlwdGlvbiBzdGFydCBpcyB0ZXN0ZWRfc3RyaW5nLmxlbmd0aCwgZW5kIGlzIHRlc3RlZF9zdHJpbmcubGVuZ3RoCiAqLwoKdmFyIF9fc3RyaW5nID0gbmV3IFN0cmluZygidGhpcyBpcyBhIHN0cmluZyBvYmplY3QiKTsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKF9fc3RyaW5nLnN1YnN0cmluZyhfX3N0cmluZy5sZW5ndGgsIF9fc3RyaW5nLmxlbmd0aCkgIT09ICIiKSB7CiAgJEVSUk9SKCcjMTogX19zdHJpbmcgPSBuZXcgU3RyaW5nKCJ0aGlzIGlzIGEgc3RyaW5nIG9iamVjdCIpOyBfX3N0cmluZy5zdWJzdHJpbmcoX19zdHJpbmcubGVuZ3RoLCBfX3N0cmluZy5sZW5ndGgpID09PSAiIi4gQWN0dWFsOiAnK19fc3RyaW5nLnN1YnN0cmluZyhfX3N0cmluZy5sZW5ndGgsIF9fc3RyaW5nLmxlbmd0aCkgKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"String.prototype.substring (start, end) returns a string value(not object)","description":"start is tested_string.length, end is tested_string.length","path":"TestCases/ch15/15.5/15.5.4/15.5.4.15/S15.5.4.15_A2_T7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnN1YnN0cmluZyAoc3RhcnQsIGVuZCkgcmV0dXJucyBhIHN0cmluZyB2YWx1ZShub3Qgb2JqZWN0KQogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS40LzE1LjUuNC4xNS9TMTUuNS40LjE1X0EyX1Q4LmpzCiAqIEBkZXNjcmlwdGlvbiBzdGFydCBpcyB0ZXN0ZWRfc3RyaW5nLmxlbmd0aCsxLCBlbmQgaXMgMAogKi8KCnZhciBfX3N0cmluZyA9IG5ldyBTdHJpbmcoInRoaXMgaXMgYSBzdHJpbmcgb2JqZWN0Iik7CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmIChfX3N0cmluZy5zdWJzdHJpbmcoX19zdHJpbmcubGVuZ3RoKzEsIDApICE9PSAidGhpcyBpcyBhIHN0cmluZyBvYmplY3QiKSB7CiAgJEVSUk9SKCcjMTogX19zdHJpbmcgPSBuZXcgU3RyaW5nKCJ0aGlzIGlzIGEgc3RyaW5nIG9iamVjdCIpOyBfX3N0cmluZy5zdWJzdHJpbmcoX19zdHJpbmcubGVuZ3RoKzEsIDApID09PSAidGhpcyBpcyBhIHN0cmluZyBvYmplY3QiLiBBY3R1YWw6ICcrX19zdHJpbmcuc3Vic3RyaW5nKF9fc3RyaW5nLmxlbmd0aCsxLCAwKSApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"String.prototype.substring (start, end) returns a string value(not object)","description":"start is tested_string.length+1, end is 0","path":"TestCases/ch15/15.5/15.5.4/15.5.4.15/S15.5.4.15_A2_T8.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnN1YnN0cmluZyAoc3RhcnQsIGVuZCkgcmV0dXJucyBhIHN0cmluZyB2YWx1ZShub3Qgb2JqZWN0KQogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS40LzE1LjUuNC4xNS9TMTUuNS40LjE1X0EyX1Q5LmpzCiAqIEBkZXNjcmlwdGlvbiBzdGFydCBpcyAtSW5maW5pdHksIGVuZCBpcyAtSW5maW5pdHkKICovCgp2YXIgX19zdHJpbmcgPSBuZXcgU3RyaW5nKCJ0aGlzIGlzIGEgc3RyaW5nIG9iamVjdCIpOwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAoX19zdHJpbmcuc3Vic3RyaW5nKC1JbmZpbml0eSwgLUluZmluaXR5KSAhPT0gIiIpIHsKICAkRVJST1IoJyMxOiBfX3N0cmluZyA9IG5ldyBTdHJpbmcoInRoaXMgaXMgYSBzdHJpbmcgb2JqZWN0Iik7IF9fc3RyaW5nLnN1YnN0cmluZygtSW5maW5pdHksIC1JbmZpbml0eSkgPT09ICIiLiBBY3R1YWw6ICcrX19zdHJpbmcuc3Vic3RyaW5nKC1JbmZpbml0eSwgLUluZmluaXR5KSApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"String.prototype.substring (start, end) returns a string value(not object)","description":"start is -Infinity, end is -Infinity","path":"TestCases/ch15/15.5/15.5.4/15.5.4.15/S15.5.4.15_A2_T9.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnN1YnN0cmluZyAoc3RhcnQsIGVuZCkgY2FuIGJlIGFwcGxpZWQgdG8gbm9uIFN0cmluZyBvYmplY3QgaW5zdGFuY2UgYW5kCiAqIHJldHVybnMgYSBzdHJpbmcgdmFsdWUobm90IG9iamVjdCkKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuMTUvUzE1LjUuNC4xNV9BM19UMS5qcwogKiBAZGVzY3JpcHRpb24gQXBwbHkgU3RyaW5nLnByb3RvdHlwZS5zdWJzdHJpbmcgdG8gQXJyYXkgaW5zdGFuY2UuIFN0YXJ0IGlzIEluZmluaXR5LCBlbmQgaXMgLUluZmluaXR5CiAqLwoKdmFyIF9faW5zdGFuY2UgPSBuZXcgQXJyYXkoMSwyLDMsNCw1KTsgCl9faW5zdGFuY2Uuc3Vic3RyaW5nID0gU3RyaW5nLnByb3RvdHlwZS5zdWJzdHJpbmc7CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmIChfX2luc3RhbmNlLnN1YnN0cmluZyhJbmZpbml0eSwtSW5maW5pdHkpICE9PSAiMSwyLDMsNCw1IikgewogICRFUlJPUignIzE6IF9faW5zdGFuY2UgPSBuZXcgQXJyYXkoMSwyLDMsNCw1KTsgX19pbnN0YW5jZS5zdWJzdHJpbmcgPSBTdHJpbmcucHJvdG90eXBlLnN1YnN0cmluZzsgX19pbnN0YW5jZS5zdWJzdHJpbmcoSW5maW5pdHksLUluZmluaXR5KSA9PT0gIjEsMiwzLDQsNSIuIEFjdHVhbDogJytfX2luc3RhbmNlLnN1YnN0cmluZyhJbmZpbml0eSwtSW5maW5pdHkpICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"String.prototype.substring (start, end) can be applied to non String object instance and\nreturns a string value(not object)","description":"Apply String.prototype.substring to Array instance. Start is Infinity, end is -Infinity","path":"TestCases/ch15/15.5/15.5.4/15.5.4.15/S15.5.4.15_A3_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnN1YnN0cmluZyAoc3RhcnQsIGVuZCkgY2FuIGJlIGFwcGxpZWQgdG8gbm9uIFN0cmluZyBvYmplY3QgaW5zdGFuY2UgYW5kCiAqIHJldHVybnMgYSBzdHJpbmcgdmFsdWUobm90IG9iamVjdCkKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuMTUvUzE1LjUuNC4xNV9BM19UMTAuanMKICogQGRlc2NyaXB0aW9uIENoZWNrbmlnIGlmIGFwcGx5aW5nIFN0cmluZy5wcm90b3R5cGUuc3Vic3RyaW5nIHRvIEZ1bmN0aW9uIG9iamVjdCBpbnN0YW5jZSBwYXNzZXMKICovCgpfX0ZBQ1RPUlkucHJvdG90eXBlLnN1YnN0cmluZyA9IFN0cmluZy5wcm90b3R5cGUuc3Vic3RyaW5nOwoKdmFyIF9faW5zdGFuY2UgPSBuZXcgX19GQUNUT1JZKHZvaWQgMCk7CiAKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAoX19pbnN0YW5jZS5zdWJzdHJpbmcoMCwgMTAwKSAhPT0gInVuZGVmaW5lZCIpIHsKICAkRVJST1IoJyMxOiBfX2luc3RhbmNlLnN1YnN0cmluZygwLCAxMDApID09PSAidW5kZWZpbmVkIi4gQWN0dWFsOiAnK19faW5zdGFuY2Uuc3Vic3RyaW5nKDAsIDEwMCkgKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCmZ1bmN0aW9uIF9fRkFDVE9SWSggdmFsdWUgKSB7CiAgICB0aGlzLnZhbHVlID0gdmFsdWU7CiAgICB0aGlzLnRvU3RyaW5nID0gZnVuY3Rpb24oKSB7IHJldHVybiB0aGlzLnZhbHVlKycnOyB9Cn0KCg==","commentary":"String.prototype.substring (start, end) can be applied to non String object instance and\nreturns a string value(not object)","description":"Checknig if applying String.prototype.substring to Function object instance passes","path":"TestCases/ch15/15.5/15.5.4/15.5.4.15/S15.5.4.15_A3_T10.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnN1YnN0cmluZyAoc3RhcnQsIGVuZCkgY2FuIGJlIGFwcGxpZWQgdG8gbm9uIFN0cmluZyBvYmplY3QgaW5zdGFuY2UgYW5kCiAqIHJldHVybnMgYSBzdHJpbmcgdmFsdWUobm90IG9iamVjdCkKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuMTUvUzE1LjUuNC4xNV9BM19UMTEuanMKICogQGRlc2NyaXB0aW9uIEFwcGx5IFN0cmluZy5wcm90b3R5cGUuc3Vic3RyaW5nIHRvIEJvb2xlYW4gaW5zdGFuY2UuIFN0YXJ0IGlzIG5ldyBBcnJheSgpLCBlbmQgaXMgbmV3IEJvb2xlYW4oMSkKICovCgp2YXIgX19pbnN0YW5jZSA9IG5ldyBCb29sZWFuKCk7CiAKX19pbnN0YW5jZS5zdWJzdHJpbmcgPSBTdHJpbmcucHJvdG90eXBlLnN1YnN0cmluZzsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKF9faW5zdGFuY2Uuc3Vic3RyaW5nKG5ldyBBcnJheSgpLCBuZXcgQm9vbGVhbigxKSkgIT09ICJmIikgewogICRFUlJPUignIzE6IF9faW5zdGFuY2UgPSBuZXcgQm9vbGVhbigpOyBfX2luc3RhbmNlLnN1YnN0cmluZyA9IFN0cmluZy5wcm90b3R5cGUuc3Vic3RyaW5nOyAgX19pbnN0YW5jZS5zdWJzdHJpbmcobmV3IEFycmF5KCksIG5ldyBCb29sZWFuKDEpKSA9PT0gImYiLiBBY3R1YWw6ICcrX19pbnN0YW5jZS5zdWJzdHJpbmcobmV3IEFycmF5KCksIG5ldyBCb29sZWFuKDEpKSApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"String.prototype.substring (start, end) can be applied to non String object instance and\nreturns a string value(not object)","description":"Apply String.prototype.substring to Boolean instance. Start is new Array(), end is new Boolean(1)","path":"TestCases/ch15/15.5/15.5.4/15.5.4.15/S15.5.4.15_A3_T11.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnN1YnN0cmluZyAoc3RhcnQsIGVuZCkgY2FuIGJlIGFwcGxpZWQgdG8gbm9uIFN0cmluZyBvYmplY3QgaW5zdGFuY2UgYW5kCiAqIHJldHVybnMgYSBzdHJpbmcgdmFsdWUobm90IG9iamVjdCkKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuMTUvUzE1LjUuNC4xNV9BM19UMi5qcwogKiBAZGVzY3JpcHRpb24gQXBwbHkgU3RyaW5nLnByb3RvdHlwZS5zdWJzdHJpbmcgdG8gQXJyYXkgaW5zdGFuY2UuIFN0YXJ0IGlzIDksIGVuZCBpcyAtSW5maW5pdHkKICovCgp2YXIgX19pbnN0YW5jZSA9IG5ldyBBcnJheSgxLDIsMyw0LDUpOyAKX19pbnN0YW5jZS5zdWJzdHJpbmcgPSBTdHJpbmcucHJvdG90eXBlLnN1YnN0cmluZzsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKF9faW5zdGFuY2Uuc3Vic3RyaW5nKDksLUluZmluaXR5KSAhPT0gIjEsMiwzLDQsNSIpIHsKICAkRVJST1IoJyMxOiBfX2luc3RhbmNlID0gbmV3IEFycmF5KDEsMiwzLDQsNSk7IF9faW5zdGFuY2Uuc3Vic3RyaW5nID0gU3RyaW5nLnByb3RvdHlwZS5zdWJzdHJpbmc7IF9faW5zdGFuY2Uuc3Vic3RyaW5nKDksLUluZmluaXR5KSA9PT0gIjEsMiwzLDQsNSIuIEFjdHVhbDogJytfX2luc3RhbmNlLnN1YnN0cmluZyg5LC1JbmZpbml0eSkgKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"String.prototype.substring (start, end) can be applied to non String object instance and\nreturns a string value(not object)","description":"Apply String.prototype.substring to Array instance. Start is 9, end is -Infinity","path":"TestCases/ch15/15.5/15.5.4/15.5.4.15/S15.5.4.15_A3_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnN1YnN0cmluZyAoc3RhcnQsIGVuZCkgY2FuIGJlIGFwcGxpZWQgdG8gbm9uIFN0cmluZyBvYmplY3QgaW5zdGFuY2UgYW5kCiAqIHJldHVybnMgYSBzdHJpbmcgdmFsdWUobm90IG9iamVjdCkKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuMTUvUzE1LjUuNC4xNV9BM19UMy5qcwogKiBAZGVzY3JpcHRpb24gQXBwbHkgU3RyaW5nLnByb3RvdHlwZS5zdWJzdHJpbmcgdG8gQXJyYXkgaW5zdGFuY2UuIFN0YXJ0IGlzIHRydWUsIGVuZCBpcyBmYWxzZQogKi8KCnZhciBfX2luc3RhbmNlID0gbmV3IEFycmF5KDEsMiwzLDQsNSk7IApfX2luc3RhbmNlLnN1YnN0cmluZyA9IFN0cmluZy5wcm90b3R5cGUuc3Vic3RyaW5nOwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAoX19pbnN0YW5jZS5zdWJzdHJpbmcodHJ1ZSwgZmFsc2UpICE9PSAiMSIpIHsKICAkRVJST1IoJyMxOiBfX2luc3RhbmNlID0gbmV3IEFycmF5KDEsMiwzLDQsNSk7IF9faW5zdGFuY2Uuc3Vic3RyaW5nID0gU3RyaW5nLnByb3RvdHlwZS5zdWJzdHJpbmc7IF9faW5zdGFuY2Uuc3Vic3RyaW5nKHRydWUsIGZhbHNlKSA9PT0gIjEiLiBBY3R1YWw6ICcrX19pbnN0YW5jZS5zdWJzdHJpbmcodHJ1ZSwgZmFsc2UpICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"String.prototype.substring (start, end) can be applied to non String object instance and\nreturns a string value(not object)","description":"Apply String.prototype.substring to Array instance. Start is true, end is false","path":"TestCases/ch15/15.5/15.5.4/15.5.4.15/S15.5.4.15_A3_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnN1YnN0cmluZyAoc3RhcnQsIGVuZCkgY2FuIGJlIGFwcGxpZWQgdG8gbm9uIFN0cmluZyBvYmplY3QgaW5zdGFuY2UgYW5kCiAqIHJldHVybnMgYSBzdHJpbmcgdmFsdWUobm90IG9iamVjdCkKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuMTUvUzE1LjUuNC4xNV9BM19UNC5qcwogKiBAZGVzY3JpcHRpb24gQXBwbHkgU3RyaW5nLnByb3RvdHlwZS5zdWJzdHJpbmcgdG8gQXJyYXkgaW5zdGFuY2UuIFN0YXJ0IGlzICc0JywgZW5kIGlzICc1JwogKi8KCnZhciBfX2luc3RhbmNlID0gbmV3IEFycmF5KDEsMiwzLDQsNSk7IApfX2luc3RhbmNlLnN1YnN0cmluZyA9IFN0cmluZy5wcm90b3R5cGUuc3Vic3RyaW5nOwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAoX19pbnN0YW5jZS5zdWJzdHJpbmcoJzQnLCAnNScpICE9PSAiMyIpIHsKICAkRVJST1IoJyMxOiBfX2luc3RhbmNlID0gbmV3IEFycmF5KDEsMiwzLDQsNSk7IF9faW5zdGFuY2Uuc3Vic3RyaW5nID0gU3RyaW5nLnByb3RvdHlwZS5zdWJzdHJpbmc7IF9faW5zdGFuY2Uuc3Vic3RyaW5nKFwnNFwnLCBcJzVcJykgPT09ICIzIi4gQWN0dWFsOiAnK19faW5zdGFuY2Uuc3Vic3RyaW5nKCc0JywgJzUnKSApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"String.prototype.substring (start, end) can be applied to non String object instance and\nreturns a string value(not object)","description":"Apply String.prototype.substring to Array instance. Start is '4', end is '5'","path":"TestCases/ch15/15.5/15.5.4/15.5.4.15/S15.5.4.15_A3_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnN1YnN0cmluZyAoc3RhcnQsIGVuZCkgY2FuIGJlIGFwcGxpZWQgdG8gbm9uIFN0cmluZyBvYmplY3QgaW5zdGFuY2UgYW5kCiAqIHJldHVybnMgYSBzdHJpbmcgdmFsdWUobm90IG9iamVjdCkKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuMTUvUzE1LjUuNC4xNV9BM19UNS5qcwogKiBAZGVzY3JpcHRpb24gQXBwbHkgU3RyaW5nLnByb3RvdHlwZS5zdWJzdHJpbmcgdG8gT2JqZWN0IGluc3RhbmNlLiBTdGFydCBpcyA4LCBlbmQgaXMgMAogKi8KCnZhciBfX2luc3RhbmNlID0gbmV3IE9iamVjdCgpOyAKX19pbnN0YW5jZS5zdWJzdHJpbmcgPSBTdHJpbmcucHJvdG90eXBlLnN1YnN0cmluZzsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKF9faW5zdGFuY2Uuc3Vic3RyaW5nKDgsMCkgIT09ICJbb2JqZWN0ICIpIHsKICAkRVJST1IoJyMxOiBfX2luc3RhbmNlID0gbmV3IE9iamVjdCgpOyBfX2luc3RhbmNlLnN1YnN0cmluZyA9IFN0cmluZy5wcm90b3R5cGUuc3Vic3RyaW5nOyBfX2luc3RhbmNlLnN1YnN0cmluZyg4LDApID09PSAiW29iamVjdCAiLiBBY3R1YWw6ICcrX19pbnN0YW5jZS5zdWJzdHJpbmcoOCwwKSApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"String.prototype.substring (start, end) can be applied to non String object instance and\nreturns a string value(not object)","description":"Apply String.prototype.substring to Object instance. Start is 8, end is 0","path":"TestCases/ch15/15.5/15.5.4/15.5.4.15/S15.5.4.15_A3_T5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnN1YnN0cmluZyAoc3RhcnQsIGVuZCkgY2FuIGJlIGFwcGxpZWQgdG8gbm9uIFN0cmluZyBvYmplY3QgaW5zdGFuY2UgYW5kCiAqIHJldHVybnMgYSBzdHJpbmcgdmFsdWUobm90IG9iamVjdCkKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuMTUvUzE1LjUuNC4xNV9BM19UNi5qcwogKiBAZGVzY3JpcHRpb24gQXBwbHkgU3RyaW5nLnByb3RvdHlwZS5zdWJzdHJpbmcgdG8gT2JqZWN0IGluc3RhbmNlLiBTdGFydCBpcyA4LCBlbmQgaXMgbGVuZ3RoIG9mIG9iamVjdC50b1N0cmluZwogKi8KCnZhciBfX2luc3RhbmNlID0gbmV3IE9iamVjdCgpOyAKX19pbnN0YW5jZS5zdWJzdHJpbmcgPSBTdHJpbmcucHJvdG90eXBlLnN1YnN0cmluZzsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKF9faW5zdGFuY2Uuc3Vic3RyaW5nKDgsIF9faW5zdGFuY2UudG9TdHJpbmcoKS5sZW5ndGgpICE9PSAiT2JqZWN0XSIpIHsKICAkRVJST1IoJyMxOiBfX2luc3RhbmNlID0gbmV3IE9iamVjdCgpOyBfX2luc3RhbmNlLnN1YnN0cmluZyA9IFN0cmluZy5wcm90b3R5cGUuc3Vic3RyaW5nOyBfX2luc3RhbmNlLnN1YnN0cmluZyg4LCBfX2luc3RhbmNlLnRvU3RyaW5nKCkubGVuZ3RoKSA9PT0gIk9iamVjdF0iLiBBY3R1YWw6ICcrX19pbnN0YW5jZS5zdWJzdHJpbmcoOCwgX19pbnN0YW5jZS50b1N0cmluZygpLmxlbmd0aCkgKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"String.prototype.substring (start, end) can be applied to non String object instance and\nreturns a string value(not object)","description":"Apply String.prototype.substring to Object instance. Start is 8, end is length of object.toString","path":"TestCases/ch15/15.5/15.5.4/15.5.4.15/S15.5.4.15_A3_T6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnN1YnN0cmluZyAoc3RhcnQsIGVuZCkgY2FuIGJlIGFwcGxpZWQgdG8gbm9uIFN0cmluZyBvYmplY3QgaW5zdGFuY2UgYW5kCiAqIHJldHVybnMgYSBzdHJpbmcgdmFsdWUobm90IG9iamVjdCkKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuMTUvUzE1LjUuNC4xNV9BM19UNy5qcwogKiBAZGVzY3JpcHRpb24gQXBwbHkgU3RyaW5nLnByb3RvdHlwZS5zdWJzdHJpbmcgdG8gT2JqZWN0IGluc3RhbmNlLiBDYWxsIGluc3RhbmNlLnN1YnN0cmluZyguLi4pLnN1YnN0cmluZyguLi4pCiAqLwoKdmFyIF9faW5zdGFuY2UgPSB7IHRvU3RyaW5nOiBmdW5jdGlvbigpIHsgcmV0dXJuICJmdW5jdGlvbigpe30iO30gfTsKIApfX2luc3RhbmNlLnN1YnN0cmluZyA9IFN0cmluZy5wcm90b3R5cGUuc3Vic3RyaW5nOwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAoX19pbnN0YW5jZS5zdWJzdHJpbmcoLUluZmluaXR5LDgpICE9PSAiZnVuY3Rpb24iKSB7CiAgJEVSUk9SKCcjMTogX19pbnN0YW5jZSA9IGZ1bmN0aW9uKCl7fTsgX19pbnN0YW5jZS5zdWJzdHJpbmcgPSBTdHJpbmcucHJvdG90eXBlLnN1YnN0cmluZzsgIF9faW5zdGFuY2Uuc3Vic3RyaW5nKC1JbmZpbml0eSw4KSA9PT0gImZ1bmN0aW9uIi4gQWN0dWFsOiAnK19faW5zdGFuY2Uuc3Vic3RyaW5nKDgsSW5maW5pdHkpLnN1YnN0cmluZygtSW5maW5pdHksMSkgKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"String.prototype.substring (start, end) can be applied to non String object instance and\nreturns a string value(not object)","description":"Apply String.prototype.substring to Object instance. Call instance.substring(...).substring(...)","path":"TestCases/ch15/15.5/15.5.4/15.5.4.15/S15.5.4.15_A3_T7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnN1YnN0cmluZyAoc3RhcnQsIGVuZCkgY2FuIGJlIGFwcGxpZWQgdG8gbm9uIFN0cmluZyBvYmplY3QgaW5zdGFuY2UgYW5kCiAqIHJldHVybnMgYSBzdHJpbmcgdmFsdWUobm90IG9iamVjdCkKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuMTUvUzE1LjUuNC4xNV9BM19UOC5qcwogKiBAZGVzY3JpcHRpb24gQXBwbHkgU3RyaW5nLnByb3RvdHlwZS5zdWJzdHJpbmcgdG8gTnVtYmVyIGluc3RhbmNlLiBTdGFydCBpcyBJbmZpbml0eSwgZW5kIGlzIE5hTgogKi8KCnZhciBfX2luc3RhbmNlID0gbmV3IE51bWJlcihOYU4pOwogCl9faW5zdGFuY2Uuc3Vic3RyaW5nID0gU3RyaW5nLnByb3RvdHlwZS5zdWJzdHJpbmc7CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmIChfX2luc3RhbmNlLnN1YnN0cmluZyhJbmZpbml0eSwgTmFOKSAhPT0gIk5hTiIpIHsKICAkRVJST1IoJyMxOiBfX2luc3RhbmNlID0gbmV3IE51bWJlcihOYU4pOyBfX2luc3RhbmNlLnN1YnN0cmluZyA9IFN0cmluZy5wcm90b3R5cGUuc3Vic3RyaW5nOyAgX19pbnN0YW5jZS5zdWJzdHJpbmcoSW5maW5pdHksIE5hTikgPT09ICJOYU4iLiBBY3R1YWw6ICcrX19pbnN0YW5jZS5zdWJzdHJpbmcoSW5maW5pdHksIE5hTikgKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"String.prototype.substring (start, end) can be applied to non String object instance and\nreturns a string value(not object)","description":"Apply String.prototype.substring to Number instance. Start is Infinity, end is NaN","path":"TestCases/ch15/15.5/15.5.4/15.5.4.15/S15.5.4.15_A3_T8.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnN1YnN0cmluZyAoc3RhcnQsIGVuZCkgY2FuIGJlIGFwcGxpZWQgdG8gbm9uIFN0cmluZyBvYmplY3QgaW5zdGFuY2UgYW5kCiAqIHJldHVybnMgYSBzdHJpbmcgdmFsdWUobm90IG9iamVjdCkKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuMTUvUzE1LjUuNC4xNV9BM19UOS5qcwogKiBAZGVzY3JpcHRpb24gQXBwbHkgU3RyaW5nLnByb3RvdHlwZS5zdWJzdHJpbmcgdG8gTWF0aCBpbnN0YW5jZS4gU3RhcnQgaXMgTWF0aC5QSSwgZW5kIGlzIC0xMAogKi8KCnZhciBfX2luc3RhbmNlID0gTWF0aDsKIApfX2luc3RhbmNlLnN1YnN0cmluZyA9IFN0cmluZy5wcm90b3R5cGUuc3Vic3RyaW5nOwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAoX19pbnN0YW5jZS5zdWJzdHJpbmcoTWF0aC5QSSwgLTEwKSAhPT0gIltvYiIpIHsKICAkRVJST1IoJyMxOiBfX2luc3RhbmNlID0gTWF0aDsgX19pbnN0YW5jZS5zdWJzdHJpbmcgPSBTdHJpbmcucHJvdG90eXBlLnN1YnN0cmluZzsgIF9faW5zdGFuY2Uuc3Vic3RyaW5nKE1hdGguUEksIC0xMCkgPT09ICJbb2IiLiBBY3R1YWw6ICcrX19pbnN0YW5jZS5zdWJzdHJpbmcoTWF0aC5QSSwgLTEwKSApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"String.prototype.substring (start, end) can be applied to non String object instance and\nreturns a string value(not object)","description":"Apply String.prototype.substring to Math instance. Start is Math.PI, end is -10","path":"TestCases/ch15/15.5/15.5.4/15.5.4.15/S15.5.4.15_A3_T9.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnN1YnN0cmluZyBoYXMgbm90IHByb3RvdHlwZSBwcm9wZXJ0eQogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS40LzE1LjUuNC4xNS9TMTUuNS40LjE1X0E2LmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBTdHJpbmcucHJvdG90eXBlLnN1YnN0cmluZy5wcm90b3R5cGUKICovCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmIChTdHJpbmcucHJvdG90eXBlLnN1YnN0cmluZy5wcm90b3R5cGUgIT09IHVuZGVmaW5lZCkgewogICRFUlJPUignIzE6IFN0cmluZy5wcm90b3R5cGUuc3Vic3RyaW5nLnByb3RvdHlwZSA9PT0gdW5kZWZpbmVkLiBBY3R1YWw6ICcrU3RyaW5nLnByb3RvdHlwZS5zdWJzdHJpbmcucHJvdG90eXBlICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"String.prototype.substring has not prototype property","description":"Checking String.prototype.substring.prototype","path":"TestCases/ch15/15.5/15.5.4/15.5.4.15/S15.5.4.15_A6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnN1YnN0cmluZyBjYW4ndCBiZSB1c2VkIGFzIGNvbnN0cnVjdG9yCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjE1L1MxNS41LjQuMTVfQTcuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIGNyZWF0aW5nIHRoZSBTdHJpbmcucHJvdG90eXBlLnN1YnN0cmluZyBvYmplY3QgZmFpbHMKICovCgp2YXIgX19GQUNUT1JZID0gU3RyaW5nLnByb3RvdHlwZS5zdWJzdHJpbmc7Cgp0cnkgewogIHZhciBfX2luc3RhbmNlID0gbmV3IF9fRkFDVE9SWTsKICAkRkFJTCgnIzE6IF9fRkFDVE9SWSA9IFN0cmluZy5wcm90b3R5cGUuc3Vic3RyaW5nOyAiX19pbnN0YW5jZSA9IG5ldyBfX0ZBQ1RPUlkiIGxlYWQgdG8gdGhyb3dpbmcgZXhjZXB0aW9uJyk7Cn0gY2F0Y2ggKGUpIHsKICBpZiAoKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpICE9PSB0cnVlKSB7CiAgICAkRVJST1IoJyMxLjI6IHVuZGVmaW5lZCA9IDEgdGhyb3cgYSBUeXBlRXJyb3IuIEFjdHVhbDogJyArIChlKSk7ICAKICB9CiAgJFBSSU5UKGUpOwp9Cgo=","commentary":"String.prototype.substring can't be used as constructor","description":"Checking if creating the String.prototype.substring object fails","path":"TestCases/ch15/15.5/15.5.4/15.5.4.15/S15.5.4.15_A7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgU3RyaW5nLnByb3RvdHlwZS5zdWJzdHJpbmcubGVuZ3RoIHByb3BlcnR5IGhhcyB0aGUgYXR0cmlidXRlIERvbnRFbnVtCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjE1L1MxNS41LjQuMTVfQTguanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIGVudW1lcmF0aW5nIHRoZSBTdHJpbmcucHJvdG90eXBlLnN1YnN0cmluZy5sZW5ndGggcHJvcGVydHkgZmFpbHMKICovCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMwCmlmICghKFN0cmluZy5wcm90b3R5cGUuc3Vic3RyaW5nLmhhc093blByb3BlcnR5KCdsZW5ndGgnKSkpIHsKICAkRkFJTCgnIzA6IFN0cmluZy5wcm90b3R5cGUuc3Vic3RyaW5nLmhhc093blByb3BlcnR5KFwnbGVuZ3RoXCcpIHJldHVybiB0cnVlLiBBY3R1YWw6ICcrU3RyaW5nLnByb3RvdHlwZS5zdWJzdHJpbmcuaGFzT3duUHJvcGVydHkoJ2xlbmd0aCcpKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy8gQ0hFQ0sjMQppZiAoU3RyaW5nLnByb3RvdHlwZS5zdWJzdHJpbmcucHJvcGVydHlJc0VudW1lcmFibGUoJ2xlbmd0aCcpKSB7CiAgJEVSUk9SKCcjMTogU3RyaW5nLnByb3RvdHlwZS5zdWJzdHJpbmcucHJvcGVydHlJc0VudW1lcmFibGUoXCdsZW5ndGhcJykgcmV0dXJuIGZhbHNlJyk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy8gQ0hFQ0sjMgp2YXIgY291bnQ9MDsKCmZvciAodmFyIHAgaW4gU3RyaW5nLnByb3RvdHlwZS5zdWJzdHJpbmcpewogIGlmIChwPT09Imxlbmd0aCIpIGNvdW50Kys7Cn0KCmlmIChjb3VudCAhPT0gMCkgewogICRFUlJPUignIzI6IGNvdW50PTA7IGZvciAocCBpbiBTdHJpbmcucHJvdG90eXBlLnN1YnN0cmluZyl7aWYgKHA9PT0ibGVuZ3RoIikgY291bnQrKzt9IGNvdW50ID09PSAwLiBBY3R1YWw6ICcrY291bnQgKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"The String.prototype.substring.length property has the attribute DontEnum","description":"Checking if enumerating the String.prototype.substring.length property fails","path":"TestCases/ch15/15.5/15.5.4/15.5.4.15/S15.5.4.15_A8.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgU3RyaW5nLnByb3RvdHlwZS5zdWJzdHJpbmcubGVuZ3RoIHByb3BlcnR5IGhhcyB0aGUgYXR0cmlidXRlIERvbnREZWxldGUKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuMTUvUzE1LjUuNC4xNV9BOS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgaWYgZGVsZXRpbmcgdGhlIFN0cmluZy5wcm90b3R5cGUuc3Vic3RyaW5nLmxlbmd0aCBwcm9wZXJ0eSBmYWlscwogKi8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzAKaWYgKCEoU3RyaW5nLnByb3RvdHlwZS5zdWJzdHJpbmcuaGFzT3duUHJvcGVydHkoJ2xlbmd0aCcpKSkgewogICRGQUlMKCcjMDogU3RyaW5nLnByb3RvdHlwZS5zdWJzdHJpbmcuaGFzT3duUHJvcGVydHkoXCdsZW5ndGhcJykgcmV0dXJuIHRydWUuIEFjdHVhbDogJytTdHJpbmcucHJvdG90eXBlLnN1YnN0cmluZy5oYXNPd25Qcm9wZXJ0eSgnbGVuZ3RoJykpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAoZGVsZXRlIFN0cmluZy5wcm90b3R5cGUuc3Vic3RyaW5nLmxlbmd0aCkgewogICRFUlJPUignIzE6IGRlbGV0ZSBTdHJpbmcucHJvdG90eXBlLnN1YnN0cmluZy5sZW5ndGggcmV0dXJuIGZhbHNlJyk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMyCmlmICghKFN0cmluZy5wcm90b3R5cGUuc3Vic3RyaW5nLmhhc093blByb3BlcnR5KCdsZW5ndGgnKSkpIHsKICAkRkFJTCgnIzI6IGRlbGV0ZSBTdHJpbmcucHJvdG90eXBlLnN1YnN0cmluZy5sZW5ndGg7IFN0cmluZy5wcm90b3R5cGUuc3Vic3RyaW5nLmhhc093blByb3BlcnR5KFwnbGVuZ3RoXCcpIHJldHVybiB0cnVlLiBBY3R1YWw6ICcrU3RyaW5nLnByb3RvdHlwZS5zdWJzdHJpbmcuaGFzT3duUHJvcGVydHkoJ2xlbmd0aCcpKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"The String.prototype.substring.length property has the attribute DontDelete","description":"Checking if deleting the String.prototype.substring.length property fails","path":"TestCases/ch15/15.5/15.5.4/15.5.4.15/S15.5.4.15_A9.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgU3RyaW5nLnByb3RvdHlwZS50b0xvd2VyQ2FzZS5sZW5ndGggcHJvcGVydHkgaGFzIHRoZSBhdHRyaWJ1dGUgUmVhZE9ubHkKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuMTYvUzE1LjUuNC4xNl9BMTAuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIHZhcnlpbmcgdGhlIFN0cmluZy5wcm90b3R5cGUudG9Mb3dlckNhc2UubGVuZ3RoIHByb3BlcnR5IGZhaWxzCiAqLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAoIShTdHJpbmcucHJvdG90eXBlLnRvTG93ZXJDYXNlLmhhc093blByb3BlcnR5KCdsZW5ndGgnKSkpIHsKICAkRkFJTCgnIzE6IFN0cmluZy5wcm90b3R5cGUudG9Mb3dlckNhc2UuaGFzT3duUHJvcGVydHkoXCdsZW5ndGhcJykgcmV0dXJuIHRydWUuIEFjdHVhbDogJytTdHJpbmcucHJvdG90eXBlLnRvTG93ZXJDYXNlLmhhc093blByb3BlcnR5KCdsZW5ndGgnKSk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgp2YXIgX19vYmogPSBTdHJpbmcucHJvdG90eXBlLnRvTG93ZXJDYXNlLmxlbmd0aDsKClN0cmluZy5wcm90b3R5cGUudG9Mb3dlckNhc2UubGVuZ3RoID0gZnVuY3Rpb24oKXtyZXR1cm4gInNoaWZ0ZWQiO307CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMyCmlmIChTdHJpbmcucHJvdG90eXBlLnRvTG93ZXJDYXNlLmxlbmd0aCAhPT0gX19vYmopIHsKICAkRVJST1IoJyMyOiBfX29iaiA9IFN0cmluZy5wcm90b3R5cGUudG9Mb3dlckNhc2UubGVuZ3RoOyBTdHJpbmcucHJvdG90eXBlLnRvTG93ZXJDYXNlLmxlbmd0aCA9IGZ1bmN0aW9uKCl7cmV0dXJuICJzaGlmdGVkIjt9OyBTdHJpbmcucHJvdG90eXBlLnRvTG93ZXJDYXNlLmxlbmd0aCA9PT0gX19vYmouIEFjdHVhbDogJytTdHJpbmcucHJvdG90eXBlLnRvTG93ZXJDYXNlLmxlbmd0aCApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"The String.prototype.toLowerCase.length property has the attribute ReadOnly","description":"Checking if varying the String.prototype.toLowerCase.length property fails","path":"TestCases/ch15/15.5/15.5.4/15.5.4.16/S15.5.4.16_A10.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgbGVuZ3RoIHByb3BlcnR5IG9mIHRoZSB0b0xvd2VyQ2FzZSBtZXRob2QgaXMgMAogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS40LzE1LjUuNC4xNi9TMTUuNS40LjE2X0ExMS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgU3RyaW5nLnByb3RvdHlwZS50b0xvd2VyQ2FzZS5sZW5ndGgKICovCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmICghKFN0cmluZy5wcm90b3R5cGUudG9Mb3dlckNhc2UuaGFzT3duUHJvcGVydHkoImxlbmd0aCIpKSkgewogICRFUlJPUignIzE6IFN0cmluZy5wcm90b3R5cGUudG9Mb3dlckNhc2UuaGFzT3duUHJvcGVydHkoImxlbmd0aCIpIHJldHVybiB0cnVlLiBBY3R1YWw6ICcrU3RyaW5nLnByb3RvdHlwZS50b0xvd2VyQ2FzZS5oYXNPd25Qcm9wZXJ0eSgibGVuZ3RoIikpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMgppZiAoU3RyaW5nLnByb3RvdHlwZS50b0xvd2VyQ2FzZS5sZW5ndGggIT09IDApIHsKICAkRVJST1IoJyMyOiBTdHJpbmcucHJvdG90eXBlLnRvTG93ZXJDYXNlLmxlbmd0aCA9PT0gMC4gQWN0dWFsOiAnK1N0cmluZy5wcm90b3R5cGUudG9Mb3dlckNhc2UubGVuZ3RoICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"The length property of the toLowerCase method is 0","description":"Checking String.prototype.toLowerCase.length","path":"TestCases/ch15/15.5/15.5.4/15.5.4.16/S15.5.4.16_A11.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnRvTG93ZXJDYXNlKCkKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuMTYvUzE1LjUuNC4xNl9BMV9UMS5qcwogKiBAZGVzY3JpcHRpb24gQXJndW1lbnRzIGlzIHRydWUsIGFuZCBpbnN0YW5jZSBpcyBvYmplY3QKICovCgp2YXIgX19pbnN0YW5jZSA9IG5ldyBPYmplY3QodHJ1ZSk7CgpfX2luc3RhbmNlLnRvTG93ZXJDYXNlID0gU3RyaW5nLnByb3RvdHlwZS50b0xvd2VyQ2FzZTsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKF9faW5zdGFuY2UudG9Mb3dlckNhc2UoKSAhPT0gInRydWUiKSB7CiAgJEVSUk9SKCcjMTogX19pbnN0YW5jZSA9IG5ldyBPYmplY3QodHJ1ZSk7IF9faW5zdGFuY2UudG9Mb3dlckNhc2UgPSBTdHJpbmcucHJvdG90eXBlLnRvTG93ZXJDYXNlOyAgX19pbnN0YW5jZS50b0xvd2VyQ2FzZSgpID09PSAidHJ1ZSIuIEFjdHVhbDogJytfX2luc3RhbmNlLnRvTG93ZXJDYXNlKCkgKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"String.prototype.toLowerCase()","description":"Arguments is true, and instance is object","path":"TestCases/ch15/15.5/15.5.4/15.5.4.16/S15.5.4.16_A1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnRvTG93ZXJDYXNlKCkKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuMTYvUzE1LjUuNC4xNl9BMV9UMTAuanMKICogQGRlc2NyaXB0aW9uIENhbGwgdG9Mb3dlckNhc2UoKSBmdW5jdGlvbiBvZiBvYmplY3Qgd2l0aCBvdmVycm9kZSB0b1N0cmluZyBmdW5jdGlvbgogKi8KCnZhciBfX29iaiA9IHt0b1N0cmluZzpmdW5jdGlvbigpe3JldHVybiAiXHUwMDQxQiI7fX0KX19vYmoudG9Mb3dlckNhc2UgPSBTdHJpbmcucHJvdG90eXBlLnRvTG93ZXJDYXNlOwoKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKF9fb2JqLnRvTG93ZXJDYXNlKCkgIT09ImFiIikgewogICRFUlJPUignIzE6IHZhciBfX29iaiA9IHt0b1N0cmluZzpmdW5jdGlvbigpe3JldHVybiAiXHUwMDQxQiI7fX07IF9fb2JqLnRvTG93ZXJDYXNlID0gU3RyaW5nLnByb3RvdHlwZS50b0xvd2VyQ2FzZTsgX19vYmoudG9Mb3dlckNhc2UoKSA9PT0iYWIiLiBBY3R1YWw6ICcrX19vYmoudG9Mb3dlckNhc2UoKSApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"String.prototype.toLowerCase()","description":"Call toLowerCase() function of object with overrode toString function","path":"TestCases/ch15/15.5/15.5.4/15.5.4.16/S15.5.4.16_A1_T10.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnRvTG93ZXJDYXNlKCkKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuMTYvUzE1LjUuNC4xNl9BMV9UMTEuanMKICogQGRlc2NyaXB0aW9uIE92ZXJyaWRlIHRvU3RyaW5nIGZ1bmN0aW9uLCB0b1N0cmluZyB0aHJvdyBleGNlcHRpb24sIHRoZW4gY2FsbCB0b0xvd2VyQ2FzZSgpIGZ1bmN0aW9uIGZvciB0aGlzIG9iamVjdAogKi8KCnZhciBfX29iaiA9IHt0b1N0cmluZzpmdW5jdGlvbigpe3Rocm93ICJpbnRvc3RyIjt9fQpfX29iai50b0xvd2VyQ2FzZSA9IFN0cmluZy5wcm90b3R5cGUudG9Mb3dlckNhc2U7CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCnRyeSB7CiAgdmFyIHggPSBfX29iai50b0xvd2VyQ2FzZSgpOwogICAJJEZBSUwoJyMxOiAidmFyIHggPSBfX29iai50b0xvd2VyQ2FzZSgpIiBsZWFkIHRvIHRocm93aW5nIGV4Y2VwdGlvbicpOwp9IGNhdGNoIChlKSB7CiAgaWYgKGUhPT0iaW50b3N0ciIpIHsKICAgICRFUlJPUignIzEuMTogRXhjZXB0aW9uID09PSAiaW50b3N0ciIuIEFjdHVhbDogJytlKTsKICB9Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"String.prototype.toLowerCase()","description":"Override toString function, toString throw exception, then call toLowerCase() function for this object","path":"TestCases/ch15/15.5/15.5.4/15.5.4.16/S15.5.4.16_A1_T11.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnRvTG93ZXJDYXNlKCkKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuMTYvUzE1LjUuNC4xNl9BMV9UMTIuanMKICogQGRlc2NyaXB0aW9uIE92ZXJyaWRlIHRvU3RyaW5nIGFuZCB2YWx1ZU9mIGZ1bmN0aW9ucywgdmFsdWVPZiB0aHJvdyBleGNlcHRpb24sIHRoZW4gY2FsbCB0b0xvd2VyQ2FzZSgpIGZ1bmN0aW9uIGZvciB0aGlzIG9iamVjdAogKi8KCnZhciBfX29iaiA9IHt0b1N0cmluZzpmdW5jdGlvbigpe3JldHVybiB7fTt9LHZhbHVlT2Y6ZnVuY3Rpb24oKXt0aHJvdyAiaW50b3N0ciI7fX0KX19vYmoudG9Mb3dlckNhc2UgPSBTdHJpbmcucHJvdG90eXBlLnRvTG93ZXJDYXNlOwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQp0cnkgewogIHZhciB4ID0gX19vYmoudG9Mb3dlckNhc2UoKTsKIAkkRkFJTCgnIzE6ICJ2YXIgeCA9IF9fb2JqLnRvTG93ZXJDYXNlKCkiIGxlYWQgdG8gdGhyb3dpbmcgZXhjZXB0aW9uJyk7Cn0gY2F0Y2ggKGUpIHsKICBpZiAoZSE9PSJpbnRvc3RyIikgewogICAgJEVSUk9SKCcjMS4xOiBFeGNlcHRpb24gPT09ICJpbnRvc3RyIi4gQWN0dWFsOiAnK2UpOwogIH0KfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"String.prototype.toLowerCase()","description":"Override toString and valueOf functions, valueOf throw exception, then call toLowerCase() function for this object","path":"TestCases/ch15/15.5/15.5.4/15.5.4.16/S15.5.4.16_A1_T12.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnRvTG93ZXJDYXNlKCkKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuMTYvUzE1LjUuNC4xNl9BMV9UMTMuanMKICogQGRlc2NyaXB0aW9uIE92ZXJyaWRlIHRvU3RyaW5nIGFuZCB2YWx1ZU9mIGZ1bmN0aW9ucywgdGhlbiBjYWxsIHRvTG93ZXJDYXNlKCkgZnVuY3Rpb24gZm9yIHRoaXMgb2JqZWN0CiAqLwoKdmFyIF9fb2JqID0ge3RvU3RyaW5nOmZ1bmN0aW9uKCl7cmV0dXJuIHt9O30sdmFsdWVPZjpmdW5jdGlvbigpe3JldHVybiAxO319Cl9fb2JqLnRvTG93ZXJDYXNlID0gU3RyaW5nLnByb3RvdHlwZS50b0xvd2VyQ2FzZTsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKF9fb2JqLnRvTG93ZXJDYXNlKCkgIT09IjEiKSB7CiAgJEVSUk9SKCcjMTogdmFyIF9fb2JqID0ge3RvU3RyaW5nOmZ1bmN0aW9uKCl7cmV0dXJuIHt9O30sdmFsdWVPZjpmdW5jdGlvbigpe3JldHVybiAxO319OyBfX29iai50b0xvd2VyQ2FzZSA9IFN0cmluZy5wcm90b3R5cGUudG9Mb3dlckNhc2U7IF9fb2JqLnRvTG93ZXJDYXNlKCkgPT09IjEiLiBBY3R1YWw6ICcrX19vYmoudG9Mb3dlckNhc2UoKSApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMgppZiAoX19vYmoudG9Mb3dlckNhc2UoKS5sZW5ndGggIT09IDEpIHsKICAkRVJST1IoJyMyOiB2YXIgX19vYmogPSB7dG9TdHJpbmc6ZnVuY3Rpb24oKXtyZXR1cm4ge307fSx2YWx1ZU9mOmZ1bmN0aW9uKCl7cmV0dXJuIDE7fX07IF9fb2JqLnRvTG93ZXJDYXNlID0gU3RyaW5nLnByb3RvdHlwZS50b0xvd2VyQ2FzZTsgX19vYmoudG9Mb3dlckNhc2UoKS5sZW5ndGggPT09IDEuIEFjdHVhbDogJytfX29iai50b0xvd2VyQ2FzZSgpLmxlbmd0aCApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"String.prototype.toLowerCase()","description":"Override toString and valueOf functions, then call toLowerCase() function for this object","path":"TestCases/ch15/15.5/15.5.4/15.5.4.16/S15.5.4.16_A1_T13.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnRvTG93ZXJDYXNlKCkKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuMTYvUzE1LjUuNC4xNl9BMV9UMTQuanMKICogQGRlc2NyaXB0aW9uIENhbGwgdG9Mb3dlckNhc2UoKSBmdW5jdGlvbiBmb3IgUmVnRXhwIG9iamVjdAogKi8KCnZhciBfX3JlZyA9IG5ldyBSZWdFeHAoIkFCQyIpOwpfX3JlZy50b0xvd2VyQ2FzZSA9IFN0cmluZy5wcm90b3R5cGUudG9Mb3dlckNhc2U7CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmIChfX3JlZy50b0xvd2VyQ2FzZSgpICE9PSAiL2FiYy8iKSB7CiAgJEVSUk9SKCcjMTogdmFyIF9fcmVnID0gbmV3IFJlZ0V4cCgiQUJDIik7IF9fcmVnLnRvTG93ZXJDYXNlID0gU3RyaW5nLnByb3RvdHlwZS50b0xvd2VyQ2FzZTsgX19yZWcudG9Mb3dlckNhc2UoKSA9PT0gIi9hYmMvIi4gQWN0dWFsOiAnK19fcmVnLnRvTG93ZXJDYXNlKCkgKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"String.prototype.toLowerCase()","description":"Call toLowerCase() function for RegExp object","path":"TestCases/ch15/15.5/15.5.4/15.5.4.16/S15.5.4.16_A1_T14.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnRvTG93ZXJDYXNlKCkKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuMTYvUzE1LjUuNC4xNl9BMV9UMi5qcwogKiBAZGVzY3JpcHRpb24gSW5zdGFuY2UgaXMgQm9vbGVhbiBvYmplY3QKICovCgpfX2luc3RhbmNlID0gbmV3IEJvb2xlYW47CgpfX2luc3RhbmNlLnRvTG93ZXJDYXNlID0gU3RyaW5nLnByb3RvdHlwZS50b0xvd2VyQ2FzZTsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKF9faW5zdGFuY2UudG9Mb3dlckNhc2UoKSAhPT0gImZhbHNlIikgewogICRFUlJPUignIzE6IF9faW5zdGFuY2UgPSBuZXcgQm9vbGVhbjsgX19pbnN0YW5jZS50b0xvd2VyQ2FzZSA9IFN0cmluZy5wcm90b3R5cGUudG9Mb3dlckNhc2U7ICBfX2luc3RhbmNlLnRvTG93ZXJDYXNlKCkgPT09ICJmYWxzZSIuIEFjdHVhbDogJytfX2luc3RhbmNlLnRvTG93ZXJDYXNlKCkgKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"String.prototype.toLowerCase()","description":"Instance is Boolean object","path":"TestCases/ch15/15.5/15.5.4/15.5.4.16/S15.5.4.16_A1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnRvTG93ZXJDYXNlKCkKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuMTYvUzE1LjUuNC4xNl9BMV9UMy5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgYnkgdXNpbmcgZXZhbAogKi8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKGV2YWwoIlwiQkpcIiIpLnRvTG93ZXJDYXNlKCkgIT09ICJiaiIpIHsKICAkRVJST1IoJyMxOiBldmFsKCJcXCJCSlxcIiIpLnRvTG93ZXJDYXNlKCkgPT09ICJiaiIuIEFjdHVhbDogJytldmFsKCJcIkJKXCIiKS50b0xvd2VyQ2FzZSgpICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"String.prototype.toLowerCase()","description":"Checking by using eval","path":"TestCases/ch15/15.5/15.5.4/15.5.4.16/S15.5.4.16_A1_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnRvTG93ZXJDYXNlKCkKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuMTYvUzE1LjUuNC4xNl9BMV9UNC5qcwogKiBAZGVzY3JpcHRpb24gQ2FsbCB0b0xvd2VyQ2FzZSgpIGZ1bmN0aW9uIHdpdGhvdXQgYXJndW1lbnRzIG9mIHN0cmluZyBhbmQgZnJvbSBlbXB0eSBzdHJpbmcKICovCgp2YXIgX19sb3dlckNhc2UgPSAiIi50b0xvd2VyQ2FzZSgpOwoKdmFyIF9fZXhwZWN0ZWQgPSAiIjsgCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmIChfX2xvd2VyQ2FzZS5sZW5ndGggIT09IF9fZXhwZWN0ZWQubGVuZ3RoKSB7CiAgJEVSUk9SKCcjMTogX19sb3dlckNhc2UgPSAiIi50b0xvd2VyQ2FzZSgpOyBfX2V4cGVjdGVkID0gIiI7IF9fbG93ZXJDYXNlLmxlbmd0aCA9PT0gX19leHBlY3RlZC5sZW5ndGguIEFjdHVhbDogJytfX2xvd2VyQ2FzZS5sZW5ndGggKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzIKaWYgKF9fbG93ZXJDYXNlLmluZGV4ICE9PSBfX2V4cGVjdGVkLmluZGV4KSB7CiAgJEVSUk9SKCcjMjogX19sb3dlckNhc2UgPSAiIi50b0xvd2VyQ2FzZSgpOyBfX2V4cGVjdGVkID0gIiI7IF9fbG93ZXJDYXNlLmluZGV4ID09PSBfX2V4cGVjdGVkLmluZGV4LiBBY3R1YWw6ICcrX19sb3dlckNhc2UuaW5kZXggKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzMKaWYgKF9fbG93ZXJDYXNlLmlucHV0ICE9PSBfX2V4cGVjdGVkLmlucHV0KSB7CiAgJEVSUk9SKCcjMzogX19sb3dlckNhc2UgPSAiIi50b0xvd2VyQ2FzZSgpOyBfX2V4cGVjdGVkID0gIiI7IF9fbG93ZXJDYXNlLmlucHV0ID09PSBfX2V4cGVjdGVkLmlucHV0LiBBY3R1YWw6ICcrX19sb3dlckNhc2UuaW5wdXQgKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzQKaWYgKF9fbG93ZXJDYXNlWzBdIT09X19leHBlY3RlZFswXSkgewogICRFUlJPUignIzQ6IF9fbG93ZXJDYXNlID0gIiIudG9Mb3dlckNhc2UoKTsgX19leHBlY3RlZCA9ICIiOyBfX2xvd2VyQ2FzZVswXT09PScrX19leHBlY3RlZFswXSsnLiBBY3R1YWw6ICcrX19sb3dlckNhc2VbMF0pOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"String.prototype.toLowerCase()","description":"Call toLowerCase() function without arguments of string and from empty string","path":"TestCases/ch15/15.5/15.5.4/15.5.4.16/S15.5.4.16_A1_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnRvTG93ZXJDYXNlKCkKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuMTYvUzE1LjUuNC4xNl9BMV9UNS5qcwogKiBAZGVzY3JpcHRpb24gQ2FsbCB0b0xvd2VyQ2FzZSgpIGZ1bmN0aW9uIGZvciBmdW5jdGlvbiBjYWxsCiAqLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQovL3NpbmNlIFRvU3RyaW5nKG51bGwpIGV2YWx1YXRlcyB0byAibnVsbCIgbWF0Y2gobnVsbCkgZXZhbHVhdGVzIHRvIG1hdGNoKCJudWxsIikKaWYgKGZ1bmN0aW9uKCl7cmV0dXJuICJHbnVsTHVOYSJ9KCkudG9Mb3dlckNhc2UoKSAhPT0gImdudWxsdW5hIikgewogICRFUlJPUignIzE6IGZ1bmN0aW9uKCl7cmV0dXJuICJHbnVsTHVOYSJ9KCkudG9Mb3dlckNhc2UoKSA9PT0gImdudWxsdW5hIi4gQWN0dWFsOiAnK2Z1bmN0aW9uKCl7cmV0dXJuICJHbnVsTHVOYSJ9KCkudG9Mb3dlckNhc2UoKSApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"String.prototype.toLowerCase()","description":"Call toLowerCase() function for function call","path":"TestCases/ch15/15.5/15.5.4/15.5.4.16/S15.5.4.16_A1_T5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnRvTG93ZXJDYXNlKCkKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuMTYvUzE1LjUuNC4xNl9BMV9UNi5qcwogKiBAZGVzY3JpcHRpb24gQ2FsbCB0b0xvd2VyQ2FzZSgpIGZ1bmN0aW9uIG9mIE51bWJlci5ORUdBVElWRV9JTkZJTklUWQogKi8KCk51bWJlci5wcm90b3R5cGUudG9Mb3dlckNhc2UgPSBTdHJpbmcucHJvdG90eXBlLnRvTG93ZXJDYXNlOwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAoKE51bWJlci5ORUdBVElWRV9JTkZJTklUWSkudG9Mb3dlckNhc2UoKSAhPT0gIi1pbmZpbml0eSIpIHsKICAkRVJST1IoJyMxOiBOdW1iZXIucHJvdG90eXBlLnRvTG93ZXJDYXNlID0gU3RyaW5nLnByb3RvdHlwZS50b0xvd2VyQ2FzZTsgKE51bWJlci5ORUdBVElWRV9JTkZJTklUWSkudG9Mb3dlckNhc2UoKSA9PT0gIi1pbmZpbml0eSIuIEFjdHVhbDogJysoTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZKS50b0xvd2VyQ2FzZSgpICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgoKCg==","commentary":"String.prototype.toLowerCase()","description":"Call toLowerCase() function of Number.NEGATIVE_INFINITY","path":"TestCases/ch15/15.5/15.5.4/15.5.4.16/S15.5.4.16_A1_T6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnRvTG93ZXJDYXNlKCkKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuMTYvUzE1LjUuNC4xNl9BMV9UNy5qcwogKiBAZGVzY3JpcHRpb24gQ2FsbCB0b0xvd2VyQ2FzZSgpIGZ1bmN0aW9uIG9mIE5hTgogKi8KCk51bWJlci5wcm90b3R5cGUudG9Mb3dlckNhc2UgPSBTdHJpbmcucHJvdG90eXBlLnRvTG93ZXJDYXNlOwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAoTmFOLnRvTG93ZXJDYXNlKCkhPT0gIm5hbiIpIHsKICAkRVJST1IoJyMxOiBOdW1iZXIucHJvdG90eXBlLnRvTG93ZXJDYXNlID0gU3RyaW5nLnByb3RvdHlwZS50b0xvd2VyQ2FzZTsgTmFOLnRvTG93ZXJDYXNlKCk9PT0gIm5hbiIuIEFjdHVhbDogJytOYU4udG9Mb3dlckNhc2UoKSk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"String.prototype.toLowerCase()","description":"Call toLowerCase() function of NaN","path":"TestCases/ch15/15.5/15.5.4/15.5.4.16/S15.5.4.16_A1_T7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnRvTG93ZXJDYXNlKCkKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuMTYvUzE1LjUuNC4xNl9BMV9UOC5qcwogKiBAZGVzY3JpcHRpb24gQ2FsbCB0b0xvd2VyQ2FzZSgpIGZ1bmN0aW9uIG9mIEluZmluaXR5CiAqLwoKTnVtYmVyLnByb3RvdHlwZS50b0xvd2VyQ2FzZSA9IFN0cmluZy5wcm90b3R5cGUudG9Mb3dlckNhc2U7CgppZiAoSW5maW5pdHkudG9Mb3dlckNhc2UoKSE9PSAiaW5maW5pdHkiKSB7CiAgJEVSUk9SKCcjMTogTnVtYmVyLnByb3RvdHlwZS50b0xvd2VyQ2FzZSA9IFN0cmluZy5wcm90b3R5cGUudG9Mb3dlckNhc2U7IEluZmluaXR5LnRvTG93ZXJDYXNlKCk9PT0gImluZmluaXR5Ii4gQWN0dWFsOiAnK0luZmluaXR5LnRvTG93ZXJDYXNlKCkpOwp9Cgo=","commentary":"String.prototype.toLowerCase()","description":"Call toLowerCase() function of Infinity","path":"TestCases/ch15/15.5/15.5.4/15.5.4.16/S15.5.4.16_A1_T8.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnRvTG93ZXJDYXNlKCkKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuMTYvUzE1LjUuNC4xNl9BMV9UOS5qcwogKiBAZGVzY3JpcHRpb24gQ2FsbCB0b0xvd2VyQ2FzZSgpIGZ1bmN0aW9uIG9mIHN0cmluZyBvYmplY3QKICovCgp2YXIgX19vYmogPSB7CiAgICB2YWx1ZU9mOmZ1bmN0aW9uKCl7fSwKICAgIHRvU3RyaW5nOnZvaWQgMAp9OwoKdmFyIF9fbG93ZXJDYXNlID0gbmV3IFN0cmluZyhfX29iaikudG9Mb3dlckNhc2UoKTsKCnZhciBfX2V4cGVjdGVkID0idW5kZWZpbmVkIjsgCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmIChfX2xvd2VyQ2FzZS5sZW5ndGggIT09IF9fZXhwZWN0ZWQubGVuZ3RoKSB7CiAgJEVSUk9SKCcjMTogX19vYmogPSB7dmFsdWVPZjpmdW5jdGlvbigpe30sIHRvU3RyaW5nOnZvaWQgMH07IF9fbG93ZXJDYXNlID0gbmV3IFN0cmluZyhfX29iaikudG9Mb3dlckNhc2UoKTsgX19leHBlY3RlZCA9InVuZGVmaW5lZCI7IF9fbG93ZXJDYXNlLmxlbmd0aCA9PT0gX19leHBlY3RlZC5sZW5ndGguIEFjdHVhbDogJytfX2xvd2VyQ2FzZS5sZW5ndGggKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzIKaWYgKF9fbG93ZXJDYXNlLmluZGV4ICE9PSBfX2V4cGVjdGVkLmluZGV4KSB7CiAgJEVSUk9SKCcjMjogX19vYmogPSB7dmFsdWVPZjpmdW5jdGlvbigpe30sIHRvU3RyaW5nOnZvaWQgMH07IF9fbG93ZXJDYXNlID0gbmV3IFN0cmluZyhfX29iaikudG9Mb3dlckNhc2UoKTsgX19leHBlY3RlZCA9InVuZGVmaW5lZCI7IF9fbG93ZXJDYXNlLmluZGV4ID09PSBfX2V4cGVjdGVkLmluZGV4LiBBY3R1YWw6ICcrX19sb3dlckNhc2UuaW5kZXggKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzMKaWYgKF9fbG93ZXJDYXNlLmlucHV0ICE9PSBfX2V4cGVjdGVkLmlucHV0KSB7CiAgJEVSUk9SKCcjMzogX19vYmogPSB7dmFsdWVPZjpmdW5jdGlvbigpe30sIHRvU3RyaW5nOnZvaWQgMH07IF9fbG93ZXJDYXNlID0gbmV3IFN0cmluZyhfX29iaikudG9Mb3dlckNhc2UoKTsgX19leHBlY3RlZCA9InVuZGVmaW5lZCI7IF9fbG93ZXJDYXNlLmlucHV0ID09PSBfX2V4cGVjdGVkLmlucHV0LiBBY3R1YWw6ICcrX19sb3dlckNhc2UuaW5wdXQgKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzQKZm9yKHZhciBpbmRleD0wOyBpbmRleDxfX2V4cGVjdGVkLmxlbmd0aDsgaW5kZXgrKykgewogIGlmIChfX2xvd2VyQ2FzZVtpbmRleF0hPT1fX2V4cGVjdGVkW2luZGV4XSkgewogICAgJEVSUk9SKCcjNC4nK2luZGV4Kyc6IF9fb2JqID0ge3ZhbHVlT2Y6ZnVuY3Rpb24oKXt9LCB0b1N0cmluZzp2b2lkIDB9OyBfX2xvd2VyQ2FzZSA9IG5ldyBTdHJpbmcoX19vYmopLnRvTG93ZXJDYXNlKCk7IF9fZXhwZWN0ZWQgPSJ1bmRlZmluZWQiOyBfX2xvd2VyQ2FzZVsnK2luZGV4KyddPT09JytfX2V4cGVjdGVkW2luZGV4XSsnLiBBY3R1YWw6ICcrX19sb3dlckNhc2VbaW5kZXhdKTsKICB9Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"String.prototype.toLowerCase()","description":"Call toLowerCase() function of string object","path":"TestCases/ch15/15.5/15.5.4/15.5.4.16/S15.5.4.16_A1_T9.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnRvTG93ZXJDYXNlKCkgcmV0dXJuIGEgc3RyaW5nLCBidXQgbm90IGEgU3RyaW5nIG9iamVjdAogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS40LzE1LjUuNC4xNi9TMTUuNS40LjE2X0EyX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyByZXR1cm5lZCByZXN1bHQKICovCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmICgiSGVsbG8sIFdvUmxEISIudG9Mb3dlckNhc2UoKSAhPT0gImhlbGxvLCB3b3JsZCEiKSB7CiAgJEVSUk9SKCcjMTogIkhlbGxvLCBXb1JsRCEiLnRvTG93ZXJDYXNlKCkgPT09ICJoZWxsbywgd29ybGQhIi4gQWN0dWFsOiAnKygiSGVsbG8sIFdvUmxEISIudG9Mb3dlckNhc2UoKSkgKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzIKaWYgKCJIZWxsbywgV29SbEQhIi50b0xvd2VyQ2FzZSgpICE9PSBTdHJpbmcoImhlbGxvLCB3b3JsZCEiKSkgewogICRFUlJPUignIzI6ICJIZWxsbywgV29SbEQhIi50b0xvd2VyQ2FzZSgpID09PSBTdHJpbmcoImhlbGxvLCB3b3JsZCEiKS4gQWN0dWFsOiAnKygiSGVsbG8sIFdvUmxEISIudG9Mb3dlckNhc2UoKSkgKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzMKaWYgKCJIZWxsbywgV29SbEQhIi50b0xvd2VyQ2FzZSgpID09PW5ldyBTdHJpbmcoImhlbGxvLCB3b3JsZCEiKSkgewogICRFUlJPUignIzM6ICJIZWxsbywgV29SbEQhIi50b0xvd2VyQ2FzZSgpICE9PSBuZXcgU3RyaW5nKCJoZWxsbywgd29ybGQhIiknKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"String.prototype.toLowerCase() return a string, but not a String object","description":"Checking returned result","path":"TestCases/ch15/15.5/15.5.4/15.5.4.16/S15.5.4.16_A2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnRvTG93ZXJDYXNlIGhhcyBub3QgcHJvdG90eXBlIHByb3BlcnR5CiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjE2L1MxNS41LjQuMTZfQTYuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIFN0cmluZy5wcm90b3R5cGUudG9Mb3dlckNhc2UucHJvdG90eXBlCiAqLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAoU3RyaW5nLnByb3RvdHlwZS50b0xvd2VyQ2FzZS5wcm90b3R5cGUgIT09IHVuZGVmaW5lZCkgewogICRFUlJPUignIzE6IFN0cmluZy5wcm90b3R5cGUudG9Mb3dlckNhc2UucHJvdG90eXBlID09PSB1bmRlZmluZWQuIEFjdHVhbDogJytTdHJpbmcucHJvdG90eXBlLnRvTG93ZXJDYXNlLnByb3RvdHlwZSApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"String.prototype.toLowerCase has not prototype property","description":"Checking String.prototype.toLowerCase.prototype","path":"TestCases/ch15/15.5/15.5.4/15.5.4.16/S15.5.4.16_A6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnRvTG93ZXJDYXNlIGNhbid0IGJlIHVzZWQgYXMgY29uc3RydWN0b3IKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuMTYvUzE1LjUuNC4xNl9BNy5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgaWYgY3JlYXRpbmcgdGhlIFN0cmluZy5wcm90b3R5cGUudG9Mb3dlckNhc2Ugb2JqZWN0IGZhaWxzCiAqLwoKdmFyIF9fRkFDVE9SWSA9IFN0cmluZy5wcm90b3R5cGUudG9Mb3dlckNhc2U7Cgp0cnkgewogIHZhciBfX2luc3RhbmNlID0gbmV3IF9fRkFDVE9SWTsKICAkRkFJTCgnIzE6IHZhciBfX0ZBQ1RPUlkgPSBTdHJpbmcucHJvdG90eXBlLnRvTG93ZXJDYXNlOyAiX19pbnN0YW5jZSA9IG5ldyBfX0ZBQ1RPUlkiIGxlYWQgdG8gdGhyb3dpbmcgZXhjZXB0aW9uJyk7Cn0gY2F0Y2ggKGUpIHsKICBpZiAoKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpICE9PSB0cnVlKSB7CiAgICAkRVJST1IoJyMxLjE6IHZhciBfX0ZBQ1RPUlkgPSBTdHJpbmcucHJvdG90eXBlLnRvTG93ZXJDYXNlOyAiX19pbnN0YW5jZSA9IG5ldyBfX0ZBQ1RPUlkiIHRocm93cyBhIFR5cGVFcnJvci4gQWN0dWFsOiAnICsgKGUpKTsgIAogIH0KfTsKCgo=","commentary":"String.prototype.toLowerCase can't be used as constructor","description":"Checking if creating the String.prototype.toLowerCase object fails","path":"TestCases/ch15/15.5/15.5.4/15.5.4.16/S15.5.4.16_A7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgU3RyaW5nLnByb3RvdHlwZS50b0xvd2VyQ2FzZS5sZW5ndGggcHJvcGVydHkgaGFzIHRoZSBhdHRyaWJ1dGUgRG9udEVudW0KICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuMTYvUzE1LjUuNC4xNl9BOC5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgaWYgZW51bWVyYXRpbmcgdGhlIFN0cmluZy5wcm90b3R5cGUudG9Mb3dlckNhc2UubGVuZ3RoIHByb3BlcnR5IGZhaWxzCiAqLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMAppZiAoIShTdHJpbmcucHJvdG90eXBlLnRvTG93ZXJDYXNlLmhhc093blByb3BlcnR5KCdsZW5ndGgnKSkpIHsKICAkRkFJTCgnIzA6IFN0cmluZy5wcm90b3R5cGUudG9Mb3dlckNhc2UuaGFzT3duUHJvcGVydHkoXCdsZW5ndGhcJykgcmV0dXJuIHRydWUuIEFjdHVhbDogJytTdHJpbmcucHJvdG90eXBlLnRvTG93ZXJDYXNlLmhhc093blByb3BlcnR5KCdsZW5ndGgnKSk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vIENIRUNLIzEKaWYgKFN0cmluZy5wcm90b3R5cGUudG9Mb3dlckNhc2UucHJvcGVydHlJc0VudW1lcmFibGUoJ2xlbmd0aCcpKSB7CiAgJEVSUk9SKCcjMTogU3RyaW5nLnByb3RvdHlwZS50b0xvd2VyQ2FzZS5wcm9wZXJ0eUlzRW51bWVyYWJsZShcJ2xlbmd0aFwnKSByZXR1cm4gZmFsc2UnKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovLyBDSEVDSyMyCnZhciBjb3VudD0wOwoKZm9yIChwIGluIFN0cmluZy5wcm90b3R5cGUudG9Mb3dlckNhc2UpewogIGlmIChwPT09Imxlbmd0aCIpIGNvdW50Kys7Cn0KCmlmIChjb3VudCAhPT0gMCkgewogICRFUlJPUignIzI6IGNvdW50PTA7IGZvciAocCBpbiBTdHJpbmcucHJvdG90eXBlLnRvTG93ZXJDYXNlKXtpZiAocD09PSJsZW5ndGgiKSBjb3VudCsrO307IGNvdW50ID09PSAwLiBBY3R1YWw6ICcrY291bnQgKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"The String.prototype.toLowerCase.length property has the attribute DontEnum","description":"Checking if enumerating the String.prototype.toLowerCase.length property fails","path":"TestCases/ch15/15.5/15.5.4/15.5.4.16/S15.5.4.16_A8.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgU3RyaW5nLnByb3RvdHlwZS50b0xvd2VyQ2FzZS5sZW5ndGggcHJvcGVydHkgaGFzIHRoZSBhdHRyaWJ1dGUgRG9udERlbGV0ZQogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS40LzE1LjUuNC4xNi9TMTUuNS40LjE2X0E5LmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiBkZWxldGluZyB0aGUgU3RyaW5nLnByb3RvdHlwZS50b0xvd2VyQ2FzZS5sZW5ndGggcHJvcGVydHkgZmFpbHMKICovCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMwCmlmICghKFN0cmluZy5wcm90b3R5cGUudG9Mb3dlckNhc2UuaGFzT3duUHJvcGVydHkoJ2xlbmd0aCcpKSkgewogICRGQUlMKCcjMDogU3RyaW5nLnByb3RvdHlwZS50b0xvd2VyQ2FzZS5oYXNPd25Qcm9wZXJ0eShcJ2xlbmd0aFwnKSByZXR1cm4gdHJ1ZS4gQWN0dWFsOiAnK1N0cmluZy5wcm90b3R5cGUudG9Mb3dlckNhc2UuaGFzT3duUHJvcGVydHkoJ2xlbmd0aCcpKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKGRlbGV0ZSBTdHJpbmcucHJvdG90eXBlLnRvTG93ZXJDYXNlLmxlbmd0aCkgewogICRFUlJPUignIzE6IGRlbGV0ZSBTdHJpbmcucHJvdG90eXBlLnRvTG93ZXJDYXNlLmxlbmd0aCByZXR1cm4gZmFsc2UnKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzIKaWYgKCEoU3RyaW5nLnByb3RvdHlwZS50b0xvd2VyQ2FzZS5oYXNPd25Qcm9wZXJ0eSgnbGVuZ3RoJykpKSB7CiAgJEZBSUwoJyMyOiBkZWxldGUgU3RyaW5nLnByb3RvdHlwZS50b0xvd2VyQ2FzZS5sZW5ndGg7IFN0cmluZy5wcm90b3R5cGUudG9Mb3dlckNhc2UuaGFzT3duUHJvcGVydHkoXCdsZW5ndGhcJykgcmV0dXJuIHRydWUuIEFjdHVhbDogJytTdHJpbmcucHJvdG90eXBlLnRvTG93ZXJDYXNlLmhhc093blByb3BlcnR5KCdsZW5ndGgnKSk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"The String.prototype.toLowerCase.length property has the attribute DontDelete","description":"Checking if deleting the String.prototype.toLowerCase.length property fails","path":"TestCases/ch15/15.5/15.5.4/15.5.4.16/S15.5.4.16_A9.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgU3RyaW5nLnByb3RvdHlwZS50b0xvY2FsZUxvd2VyQ2FzZS5sZW5ndGggcHJvcGVydHkgaGFzIHRoZSBhdHRyaWJ1dGUgUmVhZE9ubHkKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuMTcvUzE1LjUuNC4xN19BMTAuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIHZhcnlpbmcgdGhlIFN0cmluZy5wcm90b3R5cGUudG9Mb2NhbGVMb3dlckNhc2UubGVuZ3RoIHByb3BlcnR5IGZhaWxzCiAqLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAoIShTdHJpbmcucHJvdG90eXBlLnRvTG9jYWxlTG93ZXJDYXNlLmhhc093blByb3BlcnR5KCdsZW5ndGgnKSkpIHsKICAkRkFJTCgnIzE6IFN0cmluZy5wcm90b3R5cGUudG9Mb2NhbGVMb3dlckNhc2UuaGFzT3duUHJvcGVydHkoXCdsZW5ndGhcJykgcmV0dXJuIHRydWUuIEFjdHVhbDogJytTdHJpbmcucHJvdG90eXBlLnRvTG9jYWxlTG93ZXJDYXNlLmhhc093blByb3BlcnR5KCdsZW5ndGgnKSk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgpfX29iaiA9IFN0cmluZy5wcm90b3R5cGUudG9Mb2NhbGVMb3dlckNhc2UubGVuZ3RoOwoKU3RyaW5nLnByb3RvdHlwZS50b0xvY2FsZUxvd2VyQ2FzZS5sZW5ndGggPSBmdW5jdGlvbigpe3JldHVybiAic2hpZnRlZCI7fTsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzIKaWYgKFN0cmluZy5wcm90b3R5cGUudG9Mb2NhbGVMb3dlckNhc2UubGVuZ3RoICE9PSBfX29iaikgewogICRFUlJPUignIzI6IF9fb2JqID0gU3RyaW5nLnByb3RvdHlwZS50b0xvY2FsZUxvd2VyQ2FzZS5sZW5ndGg7IFN0cmluZy5wcm90b3R5cGUudG9Mb2NhbGVMb3dlckNhc2UubGVuZ3RoID0gZnVuY3Rpb24oKXtyZXR1cm4gInNoaWZ0ZWQiO307IFN0cmluZy5wcm90b3R5cGUudG9Mb2NhbGVMb3dlckNhc2UubGVuZ3RoID09PSBfX29iai4gQWN0dWFsOiAnK1N0cmluZy5wcm90b3R5cGUudG9Mb2NhbGVMb3dlckNhc2UubGVuZ3RoICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"The String.prototype.toLocaleLowerCase.length property has the attribute ReadOnly","description":"Checking if varying the String.prototype.toLocaleLowerCase.length property fails","path":"TestCases/ch15/15.5/15.5.4/15.5.4.17/S15.5.4.17_A10.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgbGVuZ3RoIHByb3BlcnR5IG9mIHRoZSB0b0xvY2FsZUxvd2VyQ2FzZSBtZXRob2QgaXMgMAogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS40LzE1LjUuNC4xNy9TMTUuNS40LjE3X0ExMS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgU3RyaW5nLnByb3RvdHlwZS50b0xvY2FsZUxvd2VyQ2FzZS5sZW5ndGgKICovCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmICghKFN0cmluZy5wcm90b3R5cGUudG9Mb2NhbGVMb3dlckNhc2UuaGFzT3duUHJvcGVydHkoImxlbmd0aCIpKSkgewogICRFUlJPUignIzE6IFN0cmluZy5wcm90b3R5cGUudG9Mb2NhbGVMb3dlckNhc2UuaGFzT3duUHJvcGVydHkoImxlbmd0aCIpIHJldHVybiB0cnVlLiBBY3R1YWw6ICcrU3RyaW5nLnByb3RvdHlwZS50b0xvY2FsZUxvd2VyQ2FzZS5oYXNPd25Qcm9wZXJ0eSgibGVuZ3RoIikpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMgppZiAoU3RyaW5nLnByb3RvdHlwZS50b0xvY2FsZUxvd2VyQ2FzZS5sZW5ndGggIT09IDApIHsKICAkRVJST1IoJyMyOiBTdHJpbmcucHJvdG90eXBlLnRvTG9jYWxlTG93ZXJDYXNlLmxlbmd0aCA9PT0gMC4gQWN0dWFsOiAnK1N0cmluZy5wcm90b3R5cGUudG9Mb2NhbGVMb3dlckNhc2UubGVuZ3RoICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"The length property of the toLocaleLowerCase method is 0","description":"Checking String.prototype.toLocaleLowerCase.length","path":"TestCases/ch15/15.5/15.5.4/15.5.4.17/S15.5.4.17_A11.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnRvTG9jYWxlTG93ZXJDYXNlKCkKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuMTcvUzE1LjUuNC4xN19BMV9UMS5qcwogKiBAZGVzY3JpcHRpb24gQXJndW1lbnRzIGlzIHRydWUsIGFuZCBpbnN0YW5jZSBpcyBvYmplY3QKICovCgp2YXIgX19pbnN0YW5jZSA9IG5ldyBPYmplY3QodHJ1ZSk7CgpfX2luc3RhbmNlLnRvTG9jYWxlTG93ZXJDYXNlID0gU3RyaW5nLnByb3RvdHlwZS50b0xvY2FsZUxvd2VyQ2FzZTsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKF9faW5zdGFuY2UudG9Mb2NhbGVMb3dlckNhc2UoKSAhPT0gInRydWUiKSB7CiAgJEVSUk9SKCcjMTogX19pbnN0YW5jZSA9IG5ldyBPYmplY3QodHJ1ZSk7IF9faW5zdGFuY2UudG9Mb2NhbGVMb3dlckNhc2UgPSBTdHJpbmcucHJvdG90eXBlLnRvTG9jYWxlTG93ZXJDYXNlOyAgX19pbnN0YW5jZS50b0xvY2FsZUxvd2VyQ2FzZSgpID09PSAidHJ1ZSIuIEFjdHVhbDogJytfX2luc3RhbmNlLnRvTG9jYWxlTG93ZXJDYXNlKCkgKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"String.prototype.toLocaleLowerCase()","description":"Arguments is true, and instance is object","path":"TestCases/ch15/15.5/15.5.4/15.5.4.17/S15.5.4.17_A1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnRvTG9jYWxlTG93ZXJDYXNlKCkKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuMTcvUzE1LjUuNC4xN19BMV9UMTAuanMKICogQGRlc2NyaXB0aW9uIENhbGwgdG9Mb2NhbGVMb3dlckNhc2UoKSBmdW5jdGlvbiBvZiBvYmplY3Qgd2l0aCBvdmVycm9kZSB0b1N0cmluZyBmdW5jdGlvbgogKi8KCnZhciBfX29iaiA9IHt0b1N0cmluZzpmdW5jdGlvbigpe3JldHVybiAiXHUwMDQxQiI7fX0KX19vYmoudG9Mb2NhbGVMb3dlckNhc2UgPSBTdHJpbmcucHJvdG90eXBlLnRvTG9jYWxlTG93ZXJDYXNlOwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAoX19vYmoudG9Mb2NhbGVMb3dlckNhc2UoKSAhPT0iYWIiKSB7CiAgJEVSUk9SKCcjMTogdmFyIF9fb2JqID0ge3RvU3RyaW5nOmZ1bmN0aW9uKCl7cmV0dXJuICJcdTAwNDFCIjt9fTsgX19vYmoudG9Mb2NhbGVMb3dlckNhc2UgPSBTdHJpbmcucHJvdG90eXBlLnRvTG9jYWxlTG93ZXJDYXNlOyBfX29iai50b0xvY2FsZUxvd2VyQ2FzZSgpID09PSJhYiIuIEFjdHVhbDogJytfX29iai50b0xvY2FsZUxvd2VyQ2FzZSgpICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"String.prototype.toLocaleLowerCase()","description":"Call toLocaleLowerCase() function of object with overrode toString function","path":"TestCases/ch15/15.5/15.5.4/15.5.4.17/S15.5.4.17_A1_T10.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnRvTG9jYWxlTG93ZXJDYXNlKCkKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuMTcvUzE1LjUuNC4xN19BMV9UMTEuanMKICogQGRlc2NyaXB0aW9uIE92ZXJyaWRlIHRvU3RyaW5nIGZ1bmN0aW9uLCB0b1N0cmluZyB0aHJvdyBleGNlcHRpb24sIHRoZW4gY2FsbCB0b0xvY2FsZUxvd2VyQ2FzZSgpIGZ1bmN0aW9uIGZvciB0aGlzIG9iamVjdAogKi8KCnZhciBfX29iaiA9IHt0b1N0cmluZzpmdW5jdGlvbigpe3Rocm93ICJpbnRvc3RyIjt9fQpfX29iai50b0xvY2FsZUxvd2VyQ2FzZSA9IFN0cmluZy5wcm90b3R5cGUudG9Mb2NhbGVMb3dlckNhc2U7CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCnRyeSB7CiAgdmFyIHggPSBfX29iai50b0xvY2FsZUxvd2VyQ2FzZSgpOwogICAJJEZBSUwoJyMxOiAidmFyIHggPSBfX29iai50b0xvY2FsZUxvd2VyQ2FzZSgpIiBsZWFkIHRvIHRocm93aW5nIGV4Y2VwdGlvbicpOwp9IGNhdGNoIChlKSB7CiAgaWYgKGUhPT0iaW50b3N0ciIpIHsKICAgICRFUlJPUignIzEuMTogRXhjZXB0aW9uID09PSAiaW50b3N0ciIuIEFjdHVhbDogJytlKTsKICB9Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"String.prototype.toLocaleLowerCase()","description":"Override toString function, toString throw exception, then call toLocaleLowerCase() function for this object","path":"TestCases/ch15/15.5/15.5.4/15.5.4.17/S15.5.4.17_A1_T11.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnRvTG9jYWxlTG93ZXJDYXNlKCkKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuMTcvUzE1LjUuNC4xN19BMV9UMTIuanMKICogQGRlc2NyaXB0aW9uIE92ZXJyaWRlIHRvU3RyaW5nIGFuZCB2YWx1ZU9mIGZ1bmN0aW9ucywgdmFsdWVPZiB0aHJvdyBleGNlcHRpb24sIHRoZW4gY2FsbCB0b0xvY2FsZUxvd2VyQ2FzZSgpIGZ1bmN0aW9uIGZvciB0aGlzIG9iamVjdAogKi8KCnZhciBfX29iaiA9IHt0b1N0cmluZzpmdW5jdGlvbigpe3JldHVybiB7fTt9LHZhbHVlT2Y6ZnVuY3Rpb24oKXt0aHJvdyAiaW50b3N0ciI7fX0KX19vYmoudG9Mb2NhbGVMb3dlckNhc2UgPSBTdHJpbmcucHJvdG90eXBlLnRvTG9jYWxlTG93ZXJDYXNlOwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQp0cnkgewogIHZhciB4ID0gX19vYmoudG9Mb2NhbGVMb3dlckNhc2UoKTsKIAkkRkFJTCgnIzE6ICJ2YXIgeCA9IF9fb2JqLnRvTG9jYWxlTG93ZXJDYXNlKCkiIGxlYWQgdG8gdGhyb3dpbmcgZXhjZXB0aW9uJyk7Cn0gY2F0Y2ggKGUpIHsKICBpZiAoZSE9PSJpbnRvc3RyIikgewogICAgJEVSUk9SKCcjMS4xOiBFeGNlcHRpb24gPT09ICJpbnRvc3RyIi4gQWN0dWFsOiAnK2UpOwogIH0KfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"String.prototype.toLocaleLowerCase()","description":"Override toString and valueOf functions, valueOf throw exception, then call toLocaleLowerCase() function for this object","path":"TestCases/ch15/15.5/15.5.4/15.5.4.17/S15.5.4.17_A1_T12.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnRvTG9jYWxlTG93ZXJDYXNlKCkKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuMTcvUzE1LjUuNC4xN19BMV9UMTMuanMKICogQGRlc2NyaXB0aW9uIE92ZXJyaWRlIHRvU3RyaW5nIGFuZCB2YWx1ZU9mIGZ1bmN0aW9ucywgdGhlbiBjYWxsIHRvTG9jYWxlTG93ZXJDYXNlKCkgZnVuY3Rpb24gZm9yIHRoaXMgb2JqZWN0CiAqLwoKdmFyIF9fb2JqID0ge3RvU3RyaW5nOmZ1bmN0aW9uKCl7cmV0dXJuIHt9O30sdmFsdWVPZjpmdW5jdGlvbigpe3JldHVybiAxO319Cl9fb2JqLnRvTG9jYWxlTG93ZXJDYXNlID0gU3RyaW5nLnByb3RvdHlwZS50b0xvY2FsZUxvd2VyQ2FzZTsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKF9fb2JqLnRvTG9jYWxlTG93ZXJDYXNlKCkgIT09IjEiKSB7CiAgJEVSUk9SKCcjMTogdmFyIF9fb2JqID0ge3RvU3RyaW5nOmZ1bmN0aW9uKCl7cmV0dXJuIHt9O30sdmFsdWVPZjpmdW5jdGlvbigpe3JldHVybiAxO319OyBfX29iai50b0xvY2FsZUxvd2VyQ2FzZSA9IFN0cmluZy5wcm90b3R5cGUudG9Mb2NhbGVMb3dlckNhc2U7IF9fb2JqLnRvTG9jYWxlTG93ZXJDYXNlKCkgPT09IjEiLiBBY3R1YWw6ICcrX19vYmoudG9Mb2NhbGVMb3dlckNhc2UoKSApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMgppZiAoX19vYmoudG9Mb2NhbGVMb3dlckNhc2UoKS5sZW5ndGggIT09IDEpIHsKICAkRVJST1IoJyMyOiB2YXIgX19vYmogPSB7dG9TdHJpbmc6ZnVuY3Rpb24oKXtyZXR1cm4ge307fSx2YWx1ZU9mOmZ1bmN0aW9uKCl7cmV0dXJuIDE7fX07IF9fb2JqLnRvTG9jYWxlTG93ZXJDYXNlID0gU3RyaW5nLnByb3RvdHlwZS50b0xvY2FsZUxvd2VyQ2FzZTsgX19vYmoudG9Mb2NhbGVMb3dlckNhc2UoKS5sZW5ndGggPT09IDEuIEFjdHVhbDogJytfX29iai50b0xvY2FsZUxvd2VyQ2FzZSgpLmxlbmd0aCApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"String.prototype.toLocaleLowerCase()","description":"Override toString and valueOf functions, then call toLocaleLowerCase() function for this object","path":"TestCases/ch15/15.5/15.5.4/15.5.4.17/S15.5.4.17_A1_T13.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnRvTG9jYWxlTG93ZXJDYXNlKCkKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuMTcvUzE1LjUuNC4xN19BMV9UMTQuanMKICogQGRlc2NyaXB0aW9uIENhbGwgdG9Mb2NhbGVMb3dlckNhc2UoKSBmdW5jdGlvbiBmb3IgUmVnRXhwIG9iamVjdAogKi8KCnZhciBfX3JlZyA9IG5ldyBSZWdFeHAoIkFCQyIpOwpfX3JlZy50b0xvY2FsZUxvd2VyQ2FzZSA9IFN0cmluZy5wcm90b3R5cGUudG9Mb2NhbGVMb3dlckNhc2U7CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmIChfX3JlZy50b0xvY2FsZUxvd2VyQ2FzZSgpICE9PSAiL2FiYy8iKSB7CiAgJEVSUk9SKCcjMTogdmFyIF9fcmVnID0gbmV3IFJlZ0V4cCgiQUJDIik7IF9fcmVnLnRvTG9jYWxlTG93ZXJDYXNlID0gU3RyaW5nLnByb3RvdHlwZS50b0xvY2FsZUxvd2VyQ2FzZTsgX19yZWcudG9Mb2NhbGVMb3dlckNhc2UoKSA9PT0gIi9hYmMvIi4gQWN0dWFsOiAnK19fcmVnLnRvTG9jYWxlTG93ZXJDYXNlKCkgKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"String.prototype.toLocaleLowerCase()","description":"Call toLocaleLowerCase() function for RegExp object","path":"TestCases/ch15/15.5/15.5.4/15.5.4.17/S15.5.4.17_A1_T14.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnRvTG9jYWxlTG93ZXJDYXNlKCkKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuMTcvUzE1LjUuNC4xN19BMV9UMi5qcwogKiBAZGVzY3JpcHRpb24gSW5zdGFuY2UgaXMgQm9vbGVhbiBvYmplY3QKICovCgp2YXIgX19pbnN0YW5jZSA9IG5ldyBCb29sZWFuOwoKX19pbnN0YW5jZS50b0xvY2FsZUxvd2VyQ2FzZSA9IFN0cmluZy5wcm90b3R5cGUudG9Mb2NhbGVMb3dlckNhc2U7CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmIChfX2luc3RhbmNlLnRvTG9jYWxlTG93ZXJDYXNlKCkgIT09ICJmYWxzZSIpIHsKICAkRVJST1IoJyMxOiBfX2luc3RhbmNlID0gbmV3IEJvb2xlYW47IF9faW5zdGFuY2UudG9Mb2NhbGVMb3dlckNhc2UgPSBTdHJpbmcucHJvdG90eXBlLnRvTG9jYWxlTG93ZXJDYXNlOyAgX19pbnN0YW5jZS50b0xvY2FsZUxvd2VyQ2FzZSgpID09PSAiZmFsc2UiLiBBY3R1YWw6ICcrX19pbnN0YW5jZS50b0xvY2FsZUxvd2VyQ2FzZSgpICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"String.prototype.toLocaleLowerCase()","description":"Instance is Boolean object","path":"TestCases/ch15/15.5/15.5.4/15.5.4.17/S15.5.4.17_A1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnRvTG9jYWxlTG93ZXJDYXNlKCkKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuMTcvUzE1LjUuNC4xN19BMV9UMy5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgYnkgdXNpbmcgZXZhbAogKi8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKGV2YWwoIlwiQkpcIiIpLnRvTG9jYWxlTG93ZXJDYXNlKCkgIT09ICJiaiIpIHsKICAkRVJST1IoJyMxOiBldmFsKCJcXCJCSlxcIiIpLnRvTG9jYWxlTG93ZXJDYXNlKCkgPT09ICJiaiIuIEFjdHVhbDogJytldmFsKCJcIkJKXCIiKS50b0xvY2FsZUxvd2VyQ2FzZSgpICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"String.prototype.toLocaleLowerCase()","description":"Checking by using eval","path":"TestCases/ch15/15.5/15.5.4/15.5.4.17/S15.5.4.17_A1_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnRvTG9jYWxlTG93ZXJDYXNlKCkKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuMTcvUzE1LjUuNC4xN19BMV9UNC5qcwogKiBAZGVzY3JpcHRpb24gQ2FsbCB0b0xvY2FsZUxvd2VyQ2FzZSgpIGZ1bmN0aW9uIHdpdGhvdXQgYXJndW1lbnRzIG9mIHN0cmluZyBhbmQgZnJvbSBlbXB0eSBzdHJpbmcKICovCgp2YXIgX19sb3dlckNhc2UgPSAiIi50b0xvY2FsZUxvd2VyQ2FzZSgpOwoKdmFyIF9fZXhwZWN0ZWQgPSAiIjsgCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmIChfX2xvd2VyQ2FzZS5sZW5ndGggIT09IF9fZXhwZWN0ZWQubGVuZ3RoKSB7CiAgJEVSUk9SKCcjMTogX19sb3dlckNhc2UgPSAiIi50b0xvY2FsZUxvd2VyQ2FzZSgpOyBfX2V4cGVjdGVkID0gIiI7IF9fbG93ZXJDYXNlLmxlbmd0aCA9PT0gX19leHBlY3RlZC5sZW5ndGguIEFjdHVhbDogJytfX2xvd2VyQ2FzZS5sZW5ndGggKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzIKaWYgKF9fbG93ZXJDYXNlLmluZGV4ICE9PSBfX2V4cGVjdGVkLmluZGV4KSB7CiAgJEVSUk9SKCcjMjogX19sb3dlckNhc2UgPSAiIi50b0xvY2FsZUxvd2VyQ2FzZSgpOyBfX2V4cGVjdGVkID0gIiI7IF9fbG93ZXJDYXNlLmluZGV4ID09PSBfX2V4cGVjdGVkLmluZGV4LiBBY3R1YWw6ICcrX19sb3dlckNhc2UuaW5kZXggKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzMKaWYgKF9fbG93ZXJDYXNlLmlucHV0ICE9PSBfX2V4cGVjdGVkLmlucHV0KSB7CiAgJEVSUk9SKCcjMzogX19sb3dlckNhc2UgPSAiIi50b0xvY2FsZUxvd2VyQ2FzZSgpOyBfX2V4cGVjdGVkID0gIiI7IF9fbG93ZXJDYXNlLmlucHV0ID09PSBfX2V4cGVjdGVkLmlucHV0LiBBY3R1YWw6ICcrX19sb3dlckNhc2UuaW5wdXQgKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzQKaWYgKF9fbG93ZXJDYXNlWzBdIT09X19leHBlY3RlZFswXSkgewogICRFUlJPUignIzQ6IF9fbG93ZXJDYXNlID0gIiIudG9Mb2NhbGVMb3dlckNhc2UoKTsgX19leHBlY3RlZCA9ICIiOyBfX2xvd2VyQ2FzZVswXT09PV9fZXhwZWN0ZWRbMF0uIEFjdHVhbDogJytfX2xvd2VyQ2FzZVswXSk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"String.prototype.toLocaleLowerCase()","description":"Call toLocaleLowerCase() function without arguments of string and from empty string","path":"TestCases/ch15/15.5/15.5.4/15.5.4.17/S15.5.4.17_A1_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnRvTG9jYWxlTG93ZXJDYXNlKCkKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuMTcvUzE1LjUuNC4xN19BMV9UNS5qcwogKiBAZGVzY3JpcHRpb24gQ2FsbCB0b0xvY2FsZUxvd2VyQ2FzZSgpIGZ1bmN0aW9uIGZvciBmdW5jdGlvbiBjYWxsCiAqLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQovL3NpbmNlIFRvU3RyaW5nKG51bGwpIGV2YWx1YXRlcyB0byAibnVsbCIgbWF0Y2gobnVsbCkgZXZhbHVhdGVzIHRvIG1hdGNoKCJudWxsIikKaWYgKGZ1bmN0aW9uKCl7cmV0dXJuICJHbnVsTHVOYSJ9KCkudG9Mb2NhbGVMb3dlckNhc2UoKSAhPT0gImdudWxsdW5hIikgewogICRFUlJPUignIzE6IGZ1bmN0aW9uKCl7cmV0dXJuICJHbnVsTHVOYSJ9KCkudG9Mb2NhbGVMb3dlckNhc2UoKSA9PT0gImdudWxsdW5hIi4gQWN0dWFsOiAnK2Z1bmN0aW9uKCl7cmV0dXJuICJHbnVsTHVOYSJ9KCkudG9Mb2NhbGVMb3dlckNhc2UoKSApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"String.prototype.toLocaleLowerCase()","description":"Call toLocaleLowerCase() function for function call","path":"TestCases/ch15/15.5/15.5.4/15.5.4.17/S15.5.4.17_A1_T5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnRvTG9jYWxlTG93ZXJDYXNlKCkKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuMTcvUzE1LjUuNC4xN19BMV9UNi5qcwogKiBAZGVzY3JpcHRpb24gQ2FsbCB0b0xvY2FsZUxvd2VyQ2FzZSgpIGZ1bmN0aW9uIG9mIE51bWJlci5ORUdBVElWRV9JTkZJTklUWQogKi8KCk51bWJlci5wcm90b3R5cGUudG9Mb2NhbGVMb3dlckNhc2UgPSBTdHJpbmcucHJvdG90eXBlLnRvTG9jYWxlTG93ZXJDYXNlOwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAoKE51bWJlci5ORUdBVElWRV9JTkZJTklUWSkudG9Mb2NhbGVMb3dlckNhc2UoKSAhPT0gIi1pbmZpbml0eSIpIHsKICAkRVJST1IoJyMxOiBOdW1iZXIucHJvdG90eXBlLnRvTG9jYWxlTG93ZXJDYXNlID0gU3RyaW5nLnByb3RvdHlwZS50b0xvY2FsZUxvd2VyQ2FzZTsgKE51bWJlci5ORUdBVElWRV9JTkZJTklUWSkudG9Mb2NhbGVMb3dlckNhc2UoKSA9PT0gIi1pbmZpbml0eSIuIEFjdHVhbDogJysoTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZKS50b0xvY2FsZUxvd2VyQ2FzZSgpICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"String.prototype.toLocaleLowerCase()","description":"Call toLocaleLowerCase() function of Number.NEGATIVE_INFINITY","path":"TestCases/ch15/15.5/15.5.4/15.5.4.17/S15.5.4.17_A1_T6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnRvTG9jYWxlTG93ZXJDYXNlKCkKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuMTcvUzE1LjUuNC4xN19BMV9UNy5qcwogKiBAZGVzY3JpcHRpb24gQ2FsbCB0b0xvY2FsZUxvd2VyQ2FzZSgpIGZ1bmN0aW9uIG9mIE5hTgogKi8KCk51bWJlci5wcm90b3R5cGUudG9Mb2NhbGVMb3dlckNhc2UgPSBTdHJpbmcucHJvdG90eXBlLnRvTG9jYWxlTG93ZXJDYXNlOwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAoTmFOLnRvTG9jYWxlTG93ZXJDYXNlKCkhPT0gIm5hbiIpIHsKICAkRVJST1IoJyMxOiBOdW1iZXIucHJvdG90eXBlLnRvTG9jYWxlTG93ZXJDYXNlID0gU3RyaW5nLnByb3RvdHlwZS50b0xvY2FsZUxvd2VyQ2FzZTsgTmFOLnRvTG9jYWxlTG93ZXJDYXNlKCk9PT0gIm5hbiIuIEFjdHVhbDogJytOYU4udG9Mb2NhbGVMb3dlckNhc2UoKSk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"String.prototype.toLocaleLowerCase()","description":"Call toLocaleLowerCase() function of NaN","path":"TestCases/ch15/15.5/15.5.4/15.5.4.17/S15.5.4.17_A1_T7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnRvTG9jYWxlTG93ZXJDYXNlKCkKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuMTcvUzE1LjUuNC4xN19BMV9UOC5qcwogKiBAZGVzY3JpcHRpb24gQ2FsbCB0b0xvY2FsZUxvd2VyQ2FzZSgpIGZ1bmN0aW9uIG9mIEluZmluaXR5CiAqLwoKTnVtYmVyLnByb3RvdHlwZS50b0xvY2FsZUxvd2VyQ2FzZSA9IFN0cmluZy5wcm90b3R5cGUudG9Mb2NhbGVMb3dlckNhc2U7CgppZiAoSW5maW5pdHkudG9Mb2NhbGVMb3dlckNhc2UoKSE9PSAiaW5maW5pdHkiKSB7CiAgJEVSUk9SKCcjMTogTnVtYmVyLnByb3RvdHlwZS50b0xvY2FsZUxvd2VyQ2FzZSA9IFN0cmluZy5wcm90b3R5cGUudG9Mb2NhbGVMb3dlckNhc2U7IEluZmluaXR5LnRvTG9jYWxlTG93ZXJDYXNlKCk9PT0gImluZmluaXR5Ii4gQWN0dWFsOiAnK0luZmluaXR5LnRvTG9jYWxlTG93ZXJDYXNlKCkpOwp9Cgo=","commentary":"String.prototype.toLocaleLowerCase()","description":"Call toLocaleLowerCase() function of Infinity","path":"TestCases/ch15/15.5/15.5.4/15.5.4.17/S15.5.4.17_A1_T8.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnRvTG9jYWxlTG93ZXJDYXNlKCkKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuMTcvUzE1LjUuNC4xN19BMV9UOS5qcwogKiBAZGVzY3JpcHRpb24gQ2FsbCB0b0xvY2FsZUxvd2VyQ2FzZSgpIGZ1bmN0aW9uIG9mIHN0cmluZyBvYmplY3QKICovCgp2YXIgX19vYmogPSB7CiAgICB2YWx1ZU9mOmZ1bmN0aW9uKCl7fSwKICAgIHRvU3RyaW5nOnZvaWQgMAp9OwoKdmFyIF9fbG93ZXJDYXNlID0gbmV3IFN0cmluZyhfX29iaikudG9Mb2NhbGVMb3dlckNhc2UoKTsKCgp2YXIgX19leHBlY3RlZCA9InVuZGVmaW5lZCI7IAoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAoX19sb3dlckNhc2UubGVuZ3RoICE9PSBfX2V4cGVjdGVkLmxlbmd0aCkgewogICRFUlJPUignIzE6IF9fb2JqID0ge3ZhbHVlT2Y6ZnVuY3Rpb24oKXt9LCB0b1N0cmluZzp2b2lkIDB9OyBfX2xvd2VyQ2FzZSA9IG5ldyBTdHJpbmcoX19vYmopLnRvTG9jYWxlTG93ZXJDYXNlKCk7IF9fZXhwZWN0ZWQgPSJ1bmRlZmluZWQiOyBfX2xvd2VyQ2FzZS5sZW5ndGggPT09IF9fZXhwZWN0ZWQubGVuZ3RoLiBBY3R1YWw6ICcrX19sb3dlckNhc2UubGVuZ3RoICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMyCmlmIChfX2xvd2VyQ2FzZS5pbmRleCAhPT0gX19leHBlY3RlZC5pbmRleCkgewogICRFUlJPUignIzI6IF9fb2JqID0ge3ZhbHVlT2Y6ZnVuY3Rpb24oKXt9LCB0b1N0cmluZzp2b2lkIDB9OyBfX2xvd2VyQ2FzZSA9IG5ldyBTdHJpbmcoX19vYmopLnRvTG9jYWxlTG93ZXJDYXNlKCk7IF9fZXhwZWN0ZWQgPSJ1bmRlZmluZWQiOyBfX2xvd2VyQ2FzZS5pbmRleCA9PT0gX19leHBlY3RlZC5pbmRleC4gQWN0dWFsOiAnK19fbG93ZXJDYXNlLmluZGV4ICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMzCmlmIChfX2xvd2VyQ2FzZS5pbnB1dCAhPT0gX19leHBlY3RlZC5pbnB1dCkgewogICRFUlJPUignIzM6IF9fb2JqID0ge3ZhbHVlT2Y6ZnVuY3Rpb24oKXt9LCB0b1N0cmluZzp2b2lkIDB9OyBfX2xvd2VyQ2FzZSA9IG5ldyBTdHJpbmcoX19vYmopLnRvTG9jYWxlTG93ZXJDYXNlKCk7IF9fZXhwZWN0ZWQgPSJ1bmRlZmluZWQiOyBfX2xvd2VyQ2FzZS5pbnB1dCA9PT0gX19leHBlY3RlZC5pbnB1dC4gQWN0dWFsOiAnK19fbG93ZXJDYXNlLmlucHV0ICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyM0CmZvcih2YXIgaW5kZXg9MDsgaW5kZXg8X19leHBlY3RlZC5sZW5ndGg7IGluZGV4KyspIHsKICBpZiAoX19sb3dlckNhc2VbaW5kZXhdIT09X19leHBlY3RlZFtpbmRleF0pIHsKICAgICRFUlJPUignIzQuJytpbmRleCsnOiBfX29iaiA9IHt2YWx1ZU9mOmZ1bmN0aW9uKCl7fSwgdG9TdHJpbmc6dm9pZCAwfTsgX19sb3dlckNhc2UgPSBuZXcgU3RyaW5nKF9fb2JqKS50b0xvY2FsZUxvd2VyQ2FzZSgpOyBfX2V4cGVjdGVkID0idW5kZWZpbmVkIjsgX19sb3dlckNhc2VbJytpbmRleCsnXT09PSAnK19fZXhwZWN0ZWRbaW5kZXhdKycuIEFjdHVhbDogJytfX2xvd2VyQ2FzZVtpbmRleF0pOwogIH0KfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"String.prototype.toLocaleLowerCase()","description":"Call toLocaleLowerCase() function of string object","path":"TestCases/ch15/15.5/15.5.4/15.5.4.17/S15.5.4.17_A1_T9.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnRvTG9jYWxlTG93ZXJDYXNlKCkgcmV0dXJuIGEgc3RyaW5nLCBidXQgbm90IGEgU3RyaW5nIG9iamVjdAogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS40LzE1LjUuNC4xNy9TMTUuNS40LjE3X0EyX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyByZXR1cm5lZCByZXN1bHQKICovCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmICgiSGVsbG8sIFdvUmxEISIudG9Mb2NhbGVMb3dlckNhc2UoKSAhPT0gImhlbGxvLCB3b3JsZCEiKSB7CiAgJEVSUk9SKCcjMTogIkhlbGxvLCBXb1JsRCEiLnRvTG9jYWxlTG93ZXJDYXNlKCkgPT09ICJoZWxsbywgd29ybGQhIi4gQWN0dWFsOiAnKygiSGVsbG8sIFdvUmxEISIudG9Mb2NhbGVMb3dlckNhc2UoKSkgKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzIKaWYgKCJIZWxsbywgV29SbEQhIi50b0xvY2FsZUxvd2VyQ2FzZSgpICE9PSBTdHJpbmcoImhlbGxvLCB3b3JsZCEiKSkgewogICRFUlJPUignIzI6ICJIZWxsbywgV29SbEQhIi50b0xvY2FsZUxvd2VyQ2FzZSgpID09PSBTdHJpbmcoImhlbGxvLCB3b3JsZCEiKS4gQWN0dWFsOiAnKygiSGVsbG8sIFdvUmxEISIudG9Mb2NhbGVMb3dlckNhc2UoKSkgKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzMKaWYgKCJIZWxsbywgV29SbEQhIi50b0xvY2FsZUxvd2VyQ2FzZSgpID09PSBuZXcgU3RyaW5nKCJoZWxsbywgd29ybGQhIikpIHsKICAkRVJST1IoJyMzOiAiSGVsbG8sIFdvUmxEISIudG9Mb2NhbGVMb3dlckNhc2UoKSAhPT0gbmV3IFN0cmluZygiaGVsbG8sIHdvcmxkISIpJyk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"String.prototype.toLocaleLowerCase() return a string, but not a String object","description":"Checking returned result","path":"TestCases/ch15/15.5/15.5.4/15.5.4.17/S15.5.4.17_A2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnRvTG9jYWxlTG93ZXJDYXNlIGhhcyBub3QgcHJvdG90eXBlIHByb3BlcnR5CiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjE3L1MxNS41LjQuMTdfQTYuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIFN0cmluZy5wcm90b3R5cGUudG9Mb2NhbGVMb3dlckNhc2UucHJvdG90eXBlCiAqLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAoU3RyaW5nLnByb3RvdHlwZS50b0xvY2FsZUxvd2VyQ2FzZS5wcm90b3R5cGUgIT09IHVuZGVmaW5lZCkgewogICRFUlJPUignIzE6IFN0cmluZy5wcm90b3R5cGUudG9Mb2NhbGVMb3dlckNhc2UucHJvdG90eXBlID09PSB1bmRlZmluZWQuIEFjdHVhbDogJytTdHJpbmcucHJvdG90eXBlLnRvTG9jYWxlTG93ZXJDYXNlLnByb3RvdHlwZSApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"String.prototype.toLocaleLowerCase has not prototype property","description":"Checking String.prototype.toLocaleLowerCase.prototype","path":"TestCases/ch15/15.5/15.5.4/15.5.4.17/S15.5.4.17_A6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnRvTG9jYWxlTG93ZXJDYXNlIGNhbid0IGJlIHVzZWQgYXMgY29uc3RydWN0b3IKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuMTcvUzE1LjUuNC4xN19BNy5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgaWYgY3JlYXRpbmcgdGhlIFN0cmluZy5wcm90b3R5cGUudG9Mb2NhbGVMb3dlckNhc2Ugb2JqZWN0IGZhaWxzCiAqLwoKdmFyIF9fRkFDVE9SWSA9IFN0cmluZy5wcm90b3R5cGUudG9Mb2NhbGVMb3dlckNhc2U7Cgp0cnkgewogIHZhciBfX2luc3RhbmNlID0gbmV3IF9fRkFDVE9SWTsKICAkRkFJTCgnIzE6IHZhciBfX0ZBQ1RPUlkgPSBTdHJpbmcucHJvdG90eXBlLnRvTG9jYWxlTG93ZXJDYXNlOyAiX19pbnN0YW5jZSA9IG5ldyBfX0ZBQ1RPUlkiIGxlYWQgdG8gdGhyb3dpbmcgZXhjZXB0aW9uJyk7Cn0gY2F0Y2ggKGUpIHsKICBpZiAoKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpICE9PSB0cnVlKSB7CiAgICAkRVJST1IoJyMxLjE6IHZhciBfX0ZBQ1RPUlkgPSBTdHJpbmcucHJvdG90eXBlLnRvTG9jYWxlTG93ZXJDYXNlOyAidmFyIF9faW5zdGFuY2UgPSBuZXcgX19GQUNUT1JZIiB0aHJvdyBhIFR5cGVFcnJvci4gQWN0dWFsOiAnICsgKGUpKTsgIAogIH0KICAkUFJJTlQoZSk7Cn0KCg==","commentary":"String.prototype.toLocaleLowerCase can't be used as constructor","description":"Checking if creating the String.prototype.toLocaleLowerCase object fails","path":"TestCases/ch15/15.5/15.5.4/15.5.4.17/S15.5.4.17_A7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgU3RyaW5nLnByb3RvdHlwZS50b0xvY2FsZUxvd2VyQ2FzZS5sZW5ndGggcHJvcGVydHkgaGFzIHRoZSBhdHRyaWJ1dGUgRG9udEVudW0KICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuMTcvUzE1LjUuNC4xN19BOC5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgaWYgZW51bWVyYXRpbmcgdGhlIFN0cmluZy5wcm90b3R5cGUudG9Mb2NhbGVMb3dlckNhc2UubGVuZ3RoIHByb3BlcnR5IGZhaWxzCiAqLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMAppZiAoIShTdHJpbmcucHJvdG90eXBlLnRvTG9jYWxlTG93ZXJDYXNlLmhhc093blByb3BlcnR5KCdsZW5ndGgnKSkpIHsKICAkRkFJTCgnIzA6IFN0cmluZy5wcm90b3R5cGUudG9Mb2NhbGVMb3dlckNhc2UuaGFzT3duUHJvcGVydHkoXCdsZW5ndGhcJykgcmV0dXJuIHRydWUuIEFjdHVhbDogJytTdHJpbmcucHJvdG90eXBlLnRvTG9jYWxlTG93ZXJDYXNlLmhhc093blByb3BlcnR5KCdsZW5ndGgnKSk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vIENIRUNLIzEKaWYgKFN0cmluZy5wcm90b3R5cGUudG9Mb2NhbGVMb3dlckNhc2UucHJvcGVydHlJc0VudW1lcmFibGUoJ2xlbmd0aCcpKSB7CiAgJEVSUk9SKCcjMTogU3RyaW5nLnByb3RvdHlwZS50b0xvY2FsZUxvd2VyQ2FzZS5wcm9wZXJ0eUlzRW51bWVyYWJsZShcJ2xlbmd0aFwnKSByZXR1cm4gZmFsc2UnKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovLyBDSEVDSyMyCnZhciBjb3VudD0wOwoKZm9yICh2YXIgcCBpbiBTdHJpbmcucHJvdG90eXBlLnRvTG9jYWxlTG93ZXJDYXNlKXsKICBpZiAocD09PSJsZW5ndGgiKSBjb3VudCsrOwp9CgppZiAoY291bnQgIT09IDApIHsKICAkRVJST1IoJyMyOiBjb3VudD0wOyBmb3IgKHAgaW4gU3RyaW5nLnByb3RvdHlwZS50b0xvY2FsZUxvd2VyQ2FzZSl7aWYgKHA9PT0ibGVuZ3RoIikgY291bnQrKzt9OyBjb3VudCA9PT0gMC4gQWN0dWFsOiAnK2NvdW50ICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"The String.prototype.toLocaleLowerCase.length property has the attribute DontEnum","description":"Checking if enumerating the String.prototype.toLocaleLowerCase.length property fails","path":"TestCases/ch15/15.5/15.5.4/15.5.4.17/S15.5.4.17_A8.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgU3RyaW5nLnByb3RvdHlwZS50b0xvY2FsZUxvd2VyQ2FzZS5sZW5ndGggcHJvcGVydHkgaGFzIHRoZSBhdHRyaWJ1dGUgRG9udERlbGV0ZQogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS40LzE1LjUuNC4xNy9TMTUuNS40LjE3X0E5LmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiBkZWxldGluZyB0aGUgU3RyaW5nLnByb3RvdHlwZS50b0xvY2FsZUxvd2VyQ2FzZS5sZW5ndGggcHJvcGVydHkgZmFpbHMKICovCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMwCmlmICghKFN0cmluZy5wcm90b3R5cGUudG9Mb2NhbGVMb3dlckNhc2UuaGFzT3duUHJvcGVydHkoJ2xlbmd0aCcpKSkgewogICRGQUlMKCcjMDogU3RyaW5nLnByb3RvdHlwZS50b0xvY2FsZUxvd2VyQ2FzZS5oYXNPd25Qcm9wZXJ0eShcJ2xlbmd0aFwnKSByZXR1cm4gdHJ1ZS4gQWN0dWFsOiAnK1N0cmluZy5wcm90b3R5cGUudG9Mb2NhbGVMb3dlckNhc2UuaGFzT3duUHJvcGVydHkoJ2xlbmd0aCcpKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKGRlbGV0ZSBTdHJpbmcucHJvdG90eXBlLnRvTG9jYWxlTG93ZXJDYXNlLmxlbmd0aCkgewogICRFUlJPUignIzE6IGRlbGV0ZSBTdHJpbmcucHJvdG90eXBlLnRvTG9jYWxlTG93ZXJDYXNlLmxlbmd0aCByZXR1cm4gZmFsc2UnKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzIKaWYgKCEoU3RyaW5nLnByb3RvdHlwZS50b0xvY2FsZUxvd2VyQ2FzZS5oYXNPd25Qcm9wZXJ0eSgnbGVuZ3RoJykpKSB7CiAgJEZBSUwoJyMyOiBkZWxldGUgU3RyaW5nLnByb3RvdHlwZS50b0xvY2FsZUxvd2VyQ2FzZS5sZW5ndGg7IFN0cmluZy5wcm90b3R5cGUudG9Mb2NhbGVMb3dlckNhc2UuaGFzT3duUHJvcGVydHkoXCdsZW5ndGhcJykgcmV0dXJuIHRydWUuIEFjdHVhbDogJytTdHJpbmcucHJvdG90eXBlLnRvTG9jYWxlTG93ZXJDYXNlLmhhc093blByb3BlcnR5KCdsZW5ndGgnKSk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"The String.prototype.toLocaleLowerCase.length property has the attribute DontDelete","description":"Checking if deleting the String.prototype.toLocaleLowerCase.length property fails","path":"TestCases/ch15/15.5/15.5.4/15.5.4.17/S15.5.4.17_A9.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgU3RyaW5nLnByb3RvdHlwZS50b1VwcGVyQ2FzZS5sZW5ndGggcHJvcGVydHkgaGFzIHRoZSBhdHRyaWJ1dGUgUmVhZE9ubHkKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuMTgvUzE1LjUuNC4xOF9BMTAuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIHZhcnlpbmcgdGhlIFN0cmluZy5wcm90b3R5cGUudG9VcHBlckNhc2UubGVuZ3RoIHByb3BlcnR5IGZhaWxzCiAqLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAoIShTdHJpbmcucHJvdG90eXBlLnRvVXBwZXJDYXNlLmhhc093blByb3BlcnR5KCdsZW5ndGgnKSkpIHsKICAkRkFJTCgnIzE6IFN0cmluZy5wcm90b3R5cGUudG9VcHBlckNhc2UuaGFzT3duUHJvcGVydHkoXCdsZW5ndGhcJykgcmV0dXJuIHRydWUuIEFjdHVhbDogJytTdHJpbmcucHJvdG90eXBlLnRvVXBwZXJDYXNlLmhhc093blByb3BlcnR5KCdsZW5ndGgnKSk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgp2YXIgX19vYmogPSBTdHJpbmcucHJvdG90eXBlLnRvVXBwZXJDYXNlLmxlbmd0aDsKClN0cmluZy5wcm90b3R5cGUudG9VcHBlckNhc2UubGVuZ3RoID0gZnVuY3Rpb24oKXtyZXR1cm4gInNoaWZ0ZWQiO307CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMyCmlmIChTdHJpbmcucHJvdG90eXBlLnRvVXBwZXJDYXNlLmxlbmd0aCAhPT0gX19vYmopIHsKICAkRVJST1IoJyMyOiBfX29iaiA9IFN0cmluZy5wcm90b3R5cGUudG9VcHBlckNhc2UubGVuZ3RoOyBTdHJpbmcucHJvdG90eXBlLnRvVXBwZXJDYXNlLmxlbmd0aCA9IGZ1bmN0aW9uKCl7cmV0dXJuICJzaGlmdGVkIjt9OyBTdHJpbmcucHJvdG90eXBlLnRvVXBwZXJDYXNlLmxlbmd0aCA9PT0gX19vYmouIEFjdHVhbDogJytTdHJpbmcucHJvdG90eXBlLnRvVXBwZXJDYXNlLmxlbmd0aCApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"The String.prototype.toUpperCase.length property has the attribute ReadOnly","description":"Checking if varying the String.prototype.toUpperCase.length property fails","path":"TestCases/ch15/15.5/15.5.4/15.5.4.18/S15.5.4.18_A10.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgbGVuZ3RoIHByb3BlcnR5IG9mIHRoZSB0b1VwcGVyQ2FzZSBtZXRob2QgaXMgMAogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS40LzE1LjUuNC4xOC9TMTUuNS40LjE4X0ExMS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgU3RyaW5nLnByb3RvdHlwZS50b1VwcGVyQ2FzZS5sZW5ndGgKICovCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmICghKFN0cmluZy5wcm90b3R5cGUudG9VcHBlckNhc2UuaGFzT3duUHJvcGVydHkoImxlbmd0aCIpKSkgewogICRFUlJPUignIzE6IFN0cmluZy5wcm90b3R5cGUudG9VcHBlckNhc2UuaGFzT3duUHJvcGVydHkoImxlbmd0aCIpIHJldHVybiB0cnVlLiBBY3R1YWw6ICcrU3RyaW5nLnByb3RvdHlwZS50b1VwcGVyQ2FzZS5oYXNPd25Qcm9wZXJ0eSgibGVuZ3RoIikpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMgppZiAoU3RyaW5nLnByb3RvdHlwZS50b1VwcGVyQ2FzZS5sZW5ndGggIT09IDApIHsKICAkRVJST1IoJyMyOiBTdHJpbmcucHJvdG90eXBlLnRvVXBwZXJDYXNlLmxlbmd0aCA9PT0gMC4gQWN0dWFsOiAnK1N0cmluZy5wcm90b3R5cGUudG9VcHBlckNhc2UubGVuZ3RoICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"The length property of the toUpperCase method is 0","description":"Checking String.prototype.toUpperCase.length","path":"TestCases/ch15/15.5/15.5.4/15.5.4.18/S15.5.4.18_A11.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnRvVXBwZXJDYXNlKCkKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuMTgvUzE1LjUuNC4xOF9BMV9UMS5qcwogKiBAZGVzY3JpcHRpb24gQXJndW1lbnRzIGlzIHRydWUsIGFuZCBpbnN0YW5jZSBpcyBvYmplY3QKICovCgp2YXIgX19pbnN0YW5jZSA9IG5ldyBPYmplY3QodHJ1ZSk7CgpfX2luc3RhbmNlLnRvVXBwZXJDYXNlID0gU3RyaW5nLnByb3RvdHlwZS50b1VwcGVyQ2FzZTsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKF9faW5zdGFuY2UudG9VcHBlckNhc2UoKSAhPT0gIlRSVUUiKSB7CiAgJEVSUk9SKCcjMTogX19pbnN0YW5jZSA9IG5ldyBPYmplY3QodHJ1ZSk7IF9faW5zdGFuY2UudG9VcHBlckNhc2UgPSBTdHJpbmcucHJvdG90eXBlLnRvVXBwZXJDYXNlOyAgX19pbnN0YW5jZS50b1VwcGVyQ2FzZSgpID09PSAiVFJVRSIuIEFjdHVhbDogJytfX2luc3RhbmNlLnRvVXBwZXJDYXNlKCkgKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"String.prototype.toUpperCase()","description":"Arguments is true, and instance is object","path":"TestCases/ch15/15.5/15.5.4/15.5.4.18/S15.5.4.18_A1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnRvVXBwZXJDYXNlKCkKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuMTgvUzE1LjUuNC4xOF9BMV9UMTAuanMKICogQGRlc2NyaXB0aW9uIENhbGwgdG9VcHBlckNhc2UoKSBmdW5jdGlvbiBvZiBvYmplY3Qgd2l0aCBvdmVycm9kZSB0b1N0cmluZyBmdW5jdGlvbgogKi8KCnZhciBfX29iaiA9IHt0b1N0cmluZzpmdW5jdGlvbigpe3JldHVybiAiXHUwMDQxYiI7fX0KX19vYmoudG9VcHBlckNhc2UgPSBTdHJpbmcucHJvdG90eXBlLnRvVXBwZXJDYXNlOwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAoX19vYmoudG9VcHBlckNhc2UoKSAhPT0iQUIiKSB7CiAgJEVSUk9SKCcjMTogdmFyIF9fb2JqID0ge3RvU3RyaW5nOmZ1bmN0aW9uKCl7cmV0dXJuICJcdTAwNDFiIjt9fTsgX19vYmoudG9VcHBlckNhc2UgPSBTdHJpbmcucHJvdG90eXBlLnRvVXBwZXJDYXNlOyBfX29iai50b1VwcGVyQ2FzZSgpID09PSJBQiIuIEFjdHVhbDogJytfX29iai50b1VwcGVyQ2FzZSgpICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"String.prototype.toUpperCase()","description":"Call toUpperCase() function of object with overrode toString function","path":"TestCases/ch15/15.5/15.5.4/15.5.4.18/S15.5.4.18_A1_T10.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnRvVXBwZXJDYXNlKCkKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuMTgvUzE1LjUuNC4xOF9BMV9UMTEuanMKICogQGRlc2NyaXB0aW9uIE92ZXJyaWRlIHRvU3RyaW5nIGZ1bmN0aW9uLCB0b1N0cmluZyB0aHJvdyBleGNlcHRpb24sIHRoZW4gY2FsbCB0b1VwcGVyQ2FzZSgpIGZ1bmN0aW9uIGZvciB0aGlzIG9iamVjdAogKi8KCnZhciBfX29iaiA9IHt0b1N0cmluZzpmdW5jdGlvbigpe3Rocm93ICJpbnRvc3RyIjt9fQpfX29iai50b1VwcGVyQ2FzZSA9IFN0cmluZy5wcm90b3R5cGUudG9VcHBlckNhc2U7Ci8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKdHJ5IHsKICB2YXIgeCA9IF9fb2JqLnRvVXBwZXJDYXNlKCk7CiAgIAkkRkFJTCgnIzE6ICJ2YXIgeCA9IF9fb2JqLnRvVXBwZXJDYXNlKCkiIGxlYWQgdG8gdGhyb3dpbmcgZXhjZXB0aW9uJyk7Cn0gY2F0Y2ggKGUpIHsKICBpZiAoZSE9PSJpbnRvc3RyIikgewogICAgJEVSUk9SKCcjMS4xOiBFeGNlcHRpb24gPT09ICJpbnRvc3RyIi4gQWN0dWFsOiAnK2UpOwogIH0KfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"String.prototype.toUpperCase()","description":"Override toString function, toString throw exception, then call toUpperCase() function for this object","path":"TestCases/ch15/15.5/15.5.4/15.5.4.18/S15.5.4.18_A1_T11.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnRvVXBwZXJDYXNlKCkKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuMTgvUzE1LjUuNC4xOF9BMV9UMTIuanMKICogQGRlc2NyaXB0aW9uIE92ZXJyaWRlIHRvU3RyaW5nIGFuZCB2YWx1ZU9mIGZ1bmN0aW9ucywgdmFsdWVPZiB0aHJvdyBleGNlcHRpb24sIHRoZW4gY2FsbCB0b1VwcGVyQ2FzZSgpIGZ1bmN0aW9uIGZvciB0aGlzIG9iamVjdAogKi8KCnZhciBfX29iaiA9IHt0b1N0cmluZzpmdW5jdGlvbigpe3JldHVybiB7fTt9LHZhbHVlT2Y6ZnVuY3Rpb24oKXt0aHJvdyAiaW50b3N0ciI7fX0KX19vYmoudG9VcHBlckNhc2UgPSBTdHJpbmcucHJvdG90eXBlLnRvVXBwZXJDYXNlOwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCnRyeSB7CiAgdmFyIHggPSBfX29iai50b1VwcGVyQ2FzZSgpOwogCSRGQUlMKCcjMTogInZhciB4ID0gX19vYmoudG9VcHBlckNhc2UoKSIgbGVhZCB0byB0aHJvd2luZyBleGNlcHRpb24nKTsKfSBjYXRjaCAoZSkgewogIGlmIChlIT09ImludG9zdHIiKSB7CiAgICAkRVJST1IoJyMxLjE6IEV4Y2VwdGlvbiA9PT0gImludG9zdHIiLiBBY3R1YWw6ICcrZSk7CiAgfQp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"String.prototype.toUpperCase()","description":"Override toString and valueOf functions, valueOf throw exception, then call toUpperCase() function for this object","path":"TestCases/ch15/15.5/15.5.4/15.5.4.18/S15.5.4.18_A1_T12.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnRvVXBwZXJDYXNlKCkKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuMTgvUzE1LjUuNC4xOF9BMV9UMTMuanMKICogQGRlc2NyaXB0aW9uIE92ZXJyaWRlIHRvU3RyaW5nIGFuZCB2YWx1ZU9mIGZ1bmN0aW9ucywgdGhlbiBjYWxsIHRvVXBwZXJDYXNlKCkgZnVuY3Rpb24gZm9yIHRoaXMgb2JqZWN0CiAqLwoKdmFyIF9fb2JqID0ge3RvU3RyaW5nOmZ1bmN0aW9uKCl7cmV0dXJuIHt9O30sdmFsdWVPZjpmdW5jdGlvbigpe3JldHVybiAxO319Cl9fb2JqLnRvVXBwZXJDYXNlID0gU3RyaW5nLnByb3RvdHlwZS50b1VwcGVyQ2FzZTsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKF9fb2JqLnRvVXBwZXJDYXNlKCkgIT09IjEiKSB7CiAgJEVSUk9SKCcjMTogdmFyIF9fb2JqID0ge3RvU3RyaW5nOmZ1bmN0aW9uKCl7cmV0dXJuIHt9O30sdmFsdWVPZjpmdW5jdGlvbigpe3JldHVybiAxO319OyBfX29iai50b1VwcGVyQ2FzZSA9IFN0cmluZy5wcm90b3R5cGUudG9VcHBlckNhc2U7IF9fb2JqLnRvVXBwZXJDYXNlKCkgPT09IjEiLiBBY3R1YWw6ICcrX19vYmoudG9VcHBlckNhc2UoKSApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMgppZiAoX19vYmoudG9VcHBlckNhc2UoKS5sZW5ndGggIT09IDEpIHsKICAkRVJST1IoJyMyOiB2YXIgX19vYmogPSB7dG9TdHJpbmc6ZnVuY3Rpb24oKXtyZXR1cm4ge307fSx2YWx1ZU9mOmZ1bmN0aW9uKCl7cmV0dXJuIDE7fX07IF9fb2JqLnRvVXBwZXJDYXNlID0gU3RyaW5nLnByb3RvdHlwZS50b1VwcGVyQ2FzZTsgX19vYmoudG9VcHBlckNhc2UoKS5sZW5ndGggPT09IDEuIEFjdHVhbDogJytfX29iai50b1VwcGVyQ2FzZSgpLmxlbmd0aCApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"String.prototype.toUpperCase()","description":"Override toString and valueOf functions, then call toUpperCase() function for this object","path":"TestCases/ch15/15.5/15.5.4/15.5.4.18/S15.5.4.18_A1_T13.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnRvVXBwZXJDYXNlKCkKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuMTgvUzE1LjUuNC4xOF9BMV9UMTQuanMKICogQGRlc2NyaXB0aW9uIENhbGwgdG9VcHBlckNhc2UoKSBmdW5jdGlvbiBvZiBSZWdFeHAgb2JqZWN0CiAqLwoKdmFyIF9fcmVnID0gbmV3IFJlZ0V4cCgiYWJjIik7Cl9fcmVnLnRvVXBwZXJDYXNlID0gU3RyaW5nLnByb3RvdHlwZS50b1VwcGVyQ2FzZTsKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAoX19yZWcudG9VcHBlckNhc2UoKSAhPT0gIi9BQkMvIikgewogICRFUlJPUignIzE6IHZhciBfX3JlZyA9IG5ldyBSZWdFeHAoImFiYyIpOyBfX3JlZy50b1VwcGVyQ2FzZSA9IFN0cmluZy5wcm90b3R5cGUudG9VcHBlckNhc2U7IF9fcmVnLnRvVXBwZXJDYXNlKCkgPT09ICIvQUJDLyIuIEFjdHVhbDogJytfX3JlZy50b1VwcGVyQ2FzZSgpICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"String.prototype.toUpperCase()","description":"Call toUpperCase() function of RegExp object","path":"TestCases/ch15/15.5/15.5.4/15.5.4.18/S15.5.4.18_A1_T14.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnRvVXBwZXJDYXNlKCkKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuMTgvUzE1LjUuNC4xOF9BMV9UMi5qcwogKiBAZGVzY3JpcHRpb24gSW5zdGFuY2UgaXMgQm9vbGVhbiBvYmplY3QKICovCgp2YXIgX19pbnN0YW5jZSA9IG5ldyBCb29sZWFuOwoKX19pbnN0YW5jZS50b1VwcGVyQ2FzZSA9IFN0cmluZy5wcm90b3R5cGUudG9VcHBlckNhc2U7CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmIChfX2luc3RhbmNlLnRvVXBwZXJDYXNlKCkgIT09ICJGQUxTRSIpIHsKICAkRVJST1IoJyMxOiBfX2luc3RhbmNlID0gbmV3IEJvb2xlYW47IF9faW5zdGFuY2UudG9VcHBlckNhc2UgPSBTdHJpbmcucHJvdG90eXBlLnRvVXBwZXJDYXNlOyAgX19pbnN0YW5jZS50b1VwcGVyQ2FzZSgpID09PSAiRkFMU0UiLiBBY3R1YWw6ICcrX19pbnN0YW5jZS50b1VwcGVyQ2FzZSgpICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"String.prototype.toUpperCase()","description":"Instance is Boolean object","path":"TestCases/ch15/15.5/15.5.4/15.5.4.18/S15.5.4.18_A1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnRvVXBwZXJDYXNlKCkKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuMTgvUzE1LjUuNC4xOF9BMV9UMy5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgYnkgdXNpbmcgZXZhbAogKi8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKGV2YWwoIlwiYmpcIiIpLnRvVXBwZXJDYXNlKCkgIT09ICJCSiIpIHsKICAkRVJST1IoJyMxOiBldmFsKCJcXCJialxcIiIpLnRvVXBwZXJDYXNlKCkgPT09ICJCSiIuIEFjdHVhbDogJytldmFsKCJcImJqXCIiKS50b1VwcGVyQ2FzZSgpICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"String.prototype.toUpperCase()","description":"Checking by using eval","path":"TestCases/ch15/15.5/15.5.4/15.5.4.18/S15.5.4.18_A1_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnRvVXBwZXJDYXNlKCkKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuMTgvUzE1LjUuNC4xOF9BMV9UNC5qcwogKiBAZGVzY3JpcHRpb24gQ2FsbCB0b1VwcGVyQ2FzZSgpIGZ1bmN0aW9uIHdpdGhvdXQgYXJndW1lbnRzIG9mIHN0cmluZyBhbmQgZnJvbSBlbXB0eSBzdHJpbmcKICovCgp2YXIgX19sb3dlckNhc2UgPSAiIi50b1VwcGVyQ2FzZSgpOwoKdmFyIF9fZXhwZWN0ZWQgPSAiIjsgCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmIChfX2xvd2VyQ2FzZS5sZW5ndGggIT09IF9fZXhwZWN0ZWQubGVuZ3RoKSB7CiAgJEVSUk9SKCcjMTogX19sb3dlckNhc2UgPSAiIi50b1VwcGVyQ2FzZSgpOyBfX2V4cGVjdGVkID0gIiI7IF9fbG93ZXJDYXNlLmxlbmd0aCA9PT0gX19leHBlY3RlZC5sZW5ndGguIEFjdHVhbDogJytfX2xvd2VyQ2FzZS5sZW5ndGggKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzIKaWYgKF9fbG93ZXJDYXNlLmluZGV4ICE9PSBfX2V4cGVjdGVkLmluZGV4KSB7CiAgJEVSUk9SKCcjMjogX19sb3dlckNhc2UgPSAiIi50b1VwcGVyQ2FzZSgpOyBfX2V4cGVjdGVkID0gIiI7IF9fbG93ZXJDYXNlLmluZGV4ID09PSBfX2V4cGVjdGVkLmluZGV4LiBBY3R1YWw6ICcrX19sb3dlckNhc2UuaW5kZXggKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzMKaWYgKF9fbG93ZXJDYXNlLmlucHV0ICE9PSBfX2V4cGVjdGVkLmlucHV0KSB7CiAgJEVSUk9SKCcjMzogX19sb3dlckNhc2UgPSAiIi50b1VwcGVyQ2FzZSgpOyBfX2V4cGVjdGVkID0gIiI7IF9fbG93ZXJDYXNlLmlucHV0ID09PSBfX2V4cGVjdGVkLmlucHV0LiBBY3R1YWw6ICcrX19sb3dlckNhc2UuaW5wdXQgKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzQKaWYgKF9fbG93ZXJDYXNlWzBdIT09X19leHBlY3RlZFswXSkgewogICRFUlJPUignIzQ6IF9fbG93ZXJDYXNlID0gIiIudG9VcHBlckNhc2UoKTsgX19leHBlY3RlZCA9ICIiOyBfX2xvd2VyQ2FzZVswXT09PScrX19leHBlY3RlZFswXSsnLiBBY3R1YWw6ICcrX19sb3dlckNhc2VbMF0pOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"String.prototype.toUpperCase()","description":"Call toUpperCase() function without arguments of string and from empty string","path":"TestCases/ch15/15.5/15.5.4/15.5.4.18/S15.5.4.18_A1_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnRvVXBwZXJDYXNlKCkKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuMTgvUzE1LjUuNC4xOF9BMV9UNS5qcwogKiBAZGVzY3JpcHRpb24gQ2FsbCB0b1VwcGVyQ2FzZSgpIGZ1bmN0aW9uIG9mIGZ1bmN0aW9uIGNhbGwKICovCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCi8vc2luY2UgVG9TdHJpbmcobnVsbCkgZXZhbHVhdGVzIHRvICJudWxsIiBtYXRjaChudWxsKSBldmFsdWF0ZXMgdG8gbWF0Y2goIm51bGwiKQppZiAoZnVuY3Rpb24oKXtyZXR1cm4gIkdudWxMdU5hIn0oKS50b1VwcGVyQ2FzZSgpICE9PSAiR05VTExVTkEiKSB7CiAgJEVSUk9SKCcjMTogZnVuY3Rpb24oKXtyZXR1cm4gIkdudWxMdU5hIn0oKS50b1VwcGVyQ2FzZSgpID09PSAiR05VTExVTkEiLiBBY3R1YWw6ICcrZnVuY3Rpb24oKXtyZXR1cm4gIkdudWxMdU5hIn0oKS50b1VwcGVyQ2FzZSgpICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"String.prototype.toUpperCase()","description":"Call toUpperCase() function of function call","path":"TestCases/ch15/15.5/15.5.4/15.5.4.18/S15.5.4.18_A1_T5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnRvVXBwZXJDYXNlKCkKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuMTgvUzE1LjUuNC4xOF9BMV9UNi5qcwogKiBAZGVzY3JpcHRpb24gQ2FsbCB0b1VwcGVyQ2FzZSgpIGZ1bmN0aW9uIG9mIE51bWJlci5ORUdBVElWRV9JTkZJTklUWQogKi8KCk51bWJlci5wcm90b3R5cGUudG9VcHBlckNhc2UgPSBTdHJpbmcucHJvdG90eXBlLnRvVXBwZXJDYXNlOwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAoKE51bWJlci5ORUdBVElWRV9JTkZJTklUWSkudG9VcHBlckNhc2UoKSAhPT0gIi1JTkZJTklUWSIpIHsKICAkRVJST1IoJyMxOiBOdW1iZXIucHJvdG90eXBlLnRvVXBwZXJDYXNlID0gU3RyaW5nLnByb3RvdHlwZS50b1VwcGVyQ2FzZTsgKE51bWJlci5ORUdBVElWRV9JTkZJTklUWSkudG9VcHBlckNhc2UoKSA9PT0gIi1JTkZJTklUWSIuIEFjdHVhbDogJysoTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZKS50b1VwcGVyQ2FzZSgpICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"String.prototype.toUpperCase()","description":"Call toUpperCase() function of Number.NEGATIVE_INFINITY","path":"TestCases/ch15/15.5/15.5.4/15.5.4.18/S15.5.4.18_A1_T6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnRvVXBwZXJDYXNlKCkKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuMTgvUzE1LjUuNC4xOF9BMV9UNy5qcwogKiBAZGVzY3JpcHRpb24gQ2FsbCB0b1VwcGVyQ2FzZSgpIGZ1bmN0aW9uIG9mIE5hTgogKi8KCk51bWJlci5wcm90b3R5cGUudG9VcHBlckNhc2UgPSBTdHJpbmcucHJvdG90eXBlLnRvVXBwZXJDYXNlOwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAoTmFOLnRvVXBwZXJDYXNlKCkhPT0gIk5BTiIpIHsKICAkRVJST1IoJyMxOiBOdW1iZXIucHJvdG90eXBlLnRvVXBwZXJDYXNlID0gU3RyaW5nLnByb3RvdHlwZS50b1VwcGVyQ2FzZTsgTmFOLnRvVXBwZXJDYXNlKCk9PT0gIk5BTiIuIEFjdHVhbDogJytOYU4udG9VcHBlckNhc2UoKSk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"String.prototype.toUpperCase()","description":"Call toUpperCase() function of NaN","path":"TestCases/ch15/15.5/15.5.4/15.5.4.18/S15.5.4.18_A1_T7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnRvVXBwZXJDYXNlKCkKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuMTgvUzE1LjUuNC4xOF9BMV9UOC5qcwogKiBAZGVzY3JpcHRpb24gQ2FsbCB0b1VwcGVyQ2FzZSgpIGZ1bmN0aW9uIG9mIEluZmluaXR5OwogKi8KCk51bWJlci5wcm90b3R5cGUudG9VcHBlckNhc2UgPSBTdHJpbmcucHJvdG90eXBlLnRvVXBwZXJDYXNlOwoKaWYgKEluZmluaXR5LnRvVXBwZXJDYXNlKCkhPT0gIklORklOSVRZIikgewogICRFUlJPUignIzE6IE51bWJlci5wcm90b3R5cGUudG9VcHBlckNhc2UgPSBTdHJpbmcucHJvdG90eXBlLnRvVXBwZXJDYXNlOyBJbmZpbml0eS50b1VwcGVyQ2FzZSgpPT09ICJJTkZJTklUWSIuIEFjdHVhbDogJytJbmZpbml0eS50b1VwcGVyQ2FzZSgpKTsKfQoK","commentary":"String.prototype.toUpperCase()","description":"Call toUpperCase() function of Infinity","path":"TestCases/ch15/15.5/15.5.4/15.5.4.18/S15.5.4.18_A1_T8.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnRvVXBwZXJDYXNlKCkKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuMTgvUzE1LjUuNC4xOF9BMV9UOS5qcwogKiBAZGVzY3JpcHRpb24gQ2FsbCB0b1VwcGVyQ2FzZSgpIGZ1bmN0aW9uIG9mIHN0cmluZyBvYmplY3QKICovCgp2YXIgX19vYmogPSB7CiAgICB2YWx1ZU9mOmZ1bmN0aW9uKCl7fSwKICAgIHRvU3RyaW5nOnZvaWQgMAp9OwoKdmFyIF9fdXBwZXJDYXNlID0gbmV3IFN0cmluZyhfX29iaikudG9VcHBlckNhc2UoKTsKCnZhciBfX2V4cGVjdGVkID0iVU5ERUZJTkVEIjsgCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmIChfX3VwcGVyQ2FzZS5sZW5ndGggIT09IF9fZXhwZWN0ZWQubGVuZ3RoKSB7CiAgJEVSUk9SKCcjMTogX19vYmogPSB7dmFsdWVPZjpmdW5jdGlvbigpe30sIHRvU3RyaW5nOnZvaWQgMH07IF9fdXBwZXJDYXNlID0gbmV3IFN0cmluZyhfX29iaikudG9VcHBlckNhc2UoKTsgX19leHBlY3RlZCA9IlVOREVGSU5FRCI7IF9fdXBwZXJDYXNlLmxlbmd0aCA9PT0gX19leHBlY3RlZC5sZW5ndGguIEFjdHVhbDogJytfX3VwcGVyQ2FzZS5sZW5ndGggKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzIKaWYgKF9fdXBwZXJDYXNlLmluZGV4ICE9PSBfX2V4cGVjdGVkLmluZGV4KSB7CiAgJEVSUk9SKCcjMjogX19vYmogPSB7dmFsdWVPZjpmdW5jdGlvbigpe30sIHRvU3RyaW5nOnZvaWQgMH07IF9fdXBwZXJDYXNlID0gbmV3IFN0cmluZyhfX29iaikudG9VcHBlckNhc2UoKTsgX19leHBlY3RlZCA9IlVOREVGSU5FRCI7IF9fdXBwZXJDYXNlLmluZGV4ID09PSBfX2V4cGVjdGVkLmluZGV4LiBBY3R1YWw6ICcrX191cHBlckNhc2UuaW5kZXggKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzMKaWYgKF9fdXBwZXJDYXNlLmlucHV0ICE9PSBfX2V4cGVjdGVkLmlucHV0KSB7CiAgJEVSUk9SKCcjMzogX19vYmogPSB7dmFsdWVPZjpmdW5jdGlvbigpe30sIHRvU3RyaW5nOnZvaWQgMH07IF9fdXBwZXJDYXNlID0gbmV3IFN0cmluZyhfX29iaikudG9VcHBlckNhc2UoKTsgX19leHBlY3RlZCA9IlVOREVGSU5FRCI7IF9fdXBwZXJDYXNlLmlucHV0ID09PSBfX2V4cGVjdGVkLmlucHV0LiBBY3R1YWw6ICcrX191cHBlckNhc2UuaW5wdXQgKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzQKZm9yKHZhciBpbmRleD0wOyBpbmRleDxfX2V4cGVjdGVkLmxlbmd0aDsgaW5kZXgrKykgewogIGlmIChfX3VwcGVyQ2FzZVtpbmRleF0hPT1fX2V4cGVjdGVkW2luZGV4XSkgewogICAgJEVSUk9SKCcjNC4nK2luZGV4Kyc6IF9fb2JqID0ge3ZhbHVlT2Y6ZnVuY3Rpb24oKXt9LCB0b1N0cmluZzp2b2lkIDB9OyBfX3VwcGVyQ2FzZSA9IG5ldyBTdHJpbmcoX19vYmopLnRvVXBwZXJDYXNlKCk7IF9fZXhwZWN0ZWQgPSJVTkRFRklORUQiOyBfX3VwcGVyQ2FzZVsnK2luZGV4KyddPT09JytfX2V4cGVjdGVkW2luZGV4XSsnLiBBY3R1YWw6ICcrX191cHBlckNhc2VbaW5kZXhdKTsKICB9Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"String.prototype.toUpperCase()","description":"Call toUpperCase() function of string object","path":"TestCases/ch15/15.5/15.5.4/15.5.4.18/S15.5.4.18_A1_T9.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnRvVXBwZXJDYXNlKCkgcmV0dXJuIGEgc3RyaW5nLCBidXQgbm90IGEgU3RyaW5nIG9iamVjdAogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS40LzE1LjUuNC4xOC9TMTUuNS40LjE4X0EyX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyByZXR1cm5lZCByZXN1bHQKICovCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmICgiSGVsbG8sIFdvUmxEISIudG9VcHBlckNhc2UoKSAhPT0gIkhFTExPLCBXT1JMRCEiKSB7CiAgJEVSUk9SKCcjMTogIkhlbGxvLCBXb1JsRCEiLnRvVXBwZXJDYXNlKCkgPT09ICJIRUxMTywgV09STEQhIi4gQWN0dWFsOiAnKygiSGVsbG8sIFdvUmxEISIudG9VcHBlckNhc2UoKSkgKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzIKaWYgKCJIZWxsbywgV29SbEQhIi50b1VwcGVyQ2FzZSgpICE9PSBTdHJpbmcoIkhFTExPLCBXT1JMRCEiKSkgewogICRFUlJPUignIzI6ICJIZWxsbywgV29SbEQhIi50b1VwcGVyQ2FzZSgpID09PSBTdHJpbmcoIkhFTExPLCBXT1JMRCEiKS4gQWN0dWFsOiAnKygiSGVsbG8sIFdvUmxEISIudG9VcHBlckNhc2UoKSkgKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzMKaWYgKCJIZWxsbywgV29SbEQhIi50b1VwcGVyQ2FzZSgpID09PW5ldyBTdHJpbmcoIkhFTExPLCBXT1JMRCEiKSkgewogICRFUlJPUignIzM6ICJIZWxsbywgV29SbEQhIi50b1VwcGVyQ2FzZSgpICE9PSBuZXcgU3RyaW5nKCJIRUxMTywgV09STEQhIiknKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"String.prototype.toUpperCase() return a string, but not a String object","description":"Checking returned result","path":"TestCases/ch15/15.5/15.5.4/15.5.4.18/S15.5.4.18_A2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnRvVXBwZXJDYXNlIGhhcyBub3QgcHJvdG90eXBlIHByb3BlcnR5CiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjE4L1MxNS41LjQuMThfQTYuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIFN0cmluZy5wcm90b3R5cGUudG9VcHBlckNhc2UucHJvdG90eXBlCiAqLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAoU3RyaW5nLnByb3RvdHlwZS50b1VwcGVyQ2FzZS5wcm90b3R5cGUgIT09IHVuZGVmaW5lZCkgewogICRFUlJPUignIzE6IFN0cmluZy5wcm90b3R5cGUudG9VcHBlckNhc2UucHJvdG90eXBlID09PSB1bmRlZmluZWQuIEFjdHVhbDogJytTdHJpbmcucHJvdG90eXBlLnRvVXBwZXJDYXNlLnByb3RvdHlwZSApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"String.prototype.toUpperCase has not prototype property","description":"Checking String.prototype.toUpperCase.prototype","path":"TestCases/ch15/15.5/15.5.4/15.5.4.18/S15.5.4.18_A6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnRvVXBwZXJDYXNlIGNhbid0IGJlIHVzZWQgYXMgY29uc3RydWN0b3IKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuMTgvUzE1LjUuNC4xOF9BNy5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgaWYgY3JlYXRpbmcgdGhlIFN0cmluZy5wcm90b3R5cGUudG9VcHBlckNhc2Ugb2JqZWN0IGZhaWxzCiAqLwoKdmFyIF9fRkFDVE9SWSA9IFN0cmluZy5wcm90b3R5cGUudG9VcHBlckNhc2U7Cgp0cnkgewogIHZhciBfX2luc3RhbmNlID0gbmV3IF9fRkFDVE9SWTsKICAkRkFJTCgnIzE6IHZhciBfX0ZBQ1RPUlkgPSBTdHJpbmcucHJvdG90eXBlLnRvVXBwZXJDYXNlOyAiX19pbnN0YW5jZSA9IG5ldyBfX0ZBQ1RPUlkiIGxlYWQgdG8gdGhyb3dpbmcgZXhjZXB0aW9uJyk7Cn0gY2F0Y2ggKGUpIHsKICBpZiAoKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpICE9PSB0cnVlKSB7CiAgICAkRVJST1IoJyMxLjE6IHZhciBfX0ZBQ1RPUlkgPSBTdHJpbmcucHJvdG90eXBlLnRvVXBwZXJDYXNlOyAiX19pbnN0YW5jZSA9IG5ldyBfX0ZBQ1RPUlkiIHRocm93IGEgVHlwZUVycm9yLiBBY3R1YWw6ICcgKyAoZSkpOyAgCiAgfQp9Cgo=","commentary":"String.prototype.toUpperCase can't be used as constructor","description":"Checking if creating the String.prototype.toUpperCase object fails","path":"TestCases/ch15/15.5/15.5.4/15.5.4.18/S15.5.4.18_A7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgU3RyaW5nLnByb3RvdHlwZS50b1VwcGVyQ2FzZS5sZW5ndGggcHJvcGVydHkgaGFzIHRoZSBhdHRyaWJ1dGUgRG9udEVudW0KICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuMTgvUzE1LjUuNC4xOF9BOC5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgaWYgZW51bWVyYXRpbmcgdGhlIFN0cmluZy5wcm90b3R5cGUudG9VcHBlckNhc2UubGVuZ3RoIHByb3BlcnR5IGZhaWxzCiAqLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMAppZiAoIShTdHJpbmcucHJvdG90eXBlLnRvVXBwZXJDYXNlLmhhc093blByb3BlcnR5KCdsZW5ndGgnKSkpIHsKICAkRkFJTCgnIzA6IFN0cmluZy5wcm90b3R5cGUudG9VcHBlckNhc2UuaGFzT3duUHJvcGVydHkoXCdsZW5ndGhcJykgcmV0dXJuIHRydWUuIEFjdHVhbDogJytTdHJpbmcucHJvdG90eXBlLnRvVXBwZXJDYXNlLmhhc093blByb3BlcnR5KCdsZW5ndGgnKSk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vIENIRUNLIzEKaWYgKFN0cmluZy5wcm90b3R5cGUudG9VcHBlckNhc2UucHJvcGVydHlJc0VudW1lcmFibGUoJ2xlbmd0aCcpKSB7CiAgJEVSUk9SKCcjMTogU3RyaW5nLnByb3RvdHlwZS50b1VwcGVyQ2FzZS5wcm9wZXJ0eUlzRW51bWVyYWJsZShcJ2xlbmd0aFwnKSByZXR1cm4gZmFsc2UnKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovLyBDSEVDSyMyCnZhciBjb3VudD0wOwoKZm9yIChwIGluIFN0cmluZy5wcm90b3R5cGUudG9VcHBlckNhc2UpewogIGlmIChwPT09Imxlbmd0aCIpIGNvdW50Kys7Cn0KCmlmIChjb3VudCAhPT0gMCkgewogICRFUlJPUignIzI6IGNvdW50PTA7IGZvciAocCBpbiBTdHJpbmcucHJvdG90eXBlLnRvVXBwZXJDYXNlKXtpZiAocD09PSJsZW5ndGgiKSBjb3VudCsrO307IGNvdW50ID09PSAwLiBBY3R1YWw6ICcrY291bnQgKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"The String.prototype.toUpperCase.length property has the attribute DontEnum","description":"Checking if enumerating the String.prototype.toUpperCase.length property fails","path":"TestCases/ch15/15.5/15.5.4/15.5.4.18/S15.5.4.18_A8.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgU3RyaW5nLnByb3RvdHlwZS50b1VwcGVyQ2FzZS5sZW5ndGggcHJvcGVydHkgaGFzIHRoZSBhdHRyaWJ1dGUgRG9udERlbGV0ZQogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS40LzE1LjUuNC4xOC9TMTUuNS40LjE4X0E5LmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiBkZWxldGluZyB0aGUgU3RyaW5nLnByb3RvdHlwZS50b1VwcGVyQ2FzZS5sZW5ndGggcHJvcGVydHkgZmFpbHMKICovCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMwCmlmICghKFN0cmluZy5wcm90b3R5cGUudG9VcHBlckNhc2UuaGFzT3duUHJvcGVydHkoJ2xlbmd0aCcpKSkgewogICRGQUlMKCcjMDogU3RyaW5nLnByb3RvdHlwZS50b1VwcGVyQ2FzZS5oYXNPd25Qcm9wZXJ0eShcJ2xlbmd0aFwnKSByZXR1cm4gdHJ1ZS4gQWN0dWFsOiAnK1N0cmluZy5wcm90b3R5cGUudG9VcHBlckNhc2UuaGFzT3duUHJvcGVydHkoJ2xlbmd0aCcpKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKGRlbGV0ZSBTdHJpbmcucHJvdG90eXBlLnRvVXBwZXJDYXNlLmxlbmd0aCkgewogICRFUlJPUignIzE6IGRlbGV0ZSBTdHJpbmcucHJvdG90eXBlLnRvVXBwZXJDYXNlLmxlbmd0aCByZXR1cm4gZmFsc2UnKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzIKaWYgKCEoU3RyaW5nLnByb3RvdHlwZS50b1VwcGVyQ2FzZS5oYXNPd25Qcm9wZXJ0eSgnbGVuZ3RoJykpKSB7CiAgJEZBSUwoJyMyOiBkZWxldGUgU3RyaW5nLnByb3RvdHlwZS50b1VwcGVyQ2FzZS5sZW5ndGg7IFN0cmluZy5wcm90b3R5cGUudG9VcHBlckNhc2UuaGFzT3duUHJvcGVydHkoXCdsZW5ndGhcJykgcmV0dXJuIHRydWUuIEFjdHVhbDogJytTdHJpbmcucHJvdG90eXBlLnRvVXBwZXJDYXNlLmhhc093blByb3BlcnR5KCdsZW5ndGgnKSk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"The String.prototype.toUpperCase.length property has the attribute DontDelete","description":"Checking if deleting the String.prototype.toUpperCase.length property fails","path":"TestCases/ch15/15.5/15.5.4/15.5.4.18/S15.5.4.18_A9.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgU3RyaW5nLnByb3RvdHlwZS50b0xvY2FsZVVwcGVyQ2FzZS5sZW5ndGggcHJvcGVydHkgaGFzIHRoZSBhdHRyaWJ1dGUgUmVhZE9ubHkKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuMTkvUzE1LjUuNC4xOV9BMTAuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIHZhcnlpbmcgdGhlIFN0cmluZy5wcm90b3R5cGUudG9Mb2NhbGVVcHBlckNhc2UubGVuZ3RoIHByb3BlcnR5IGZhaWxzCiAqLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAoIShTdHJpbmcucHJvdG90eXBlLnRvTG9jYWxlVXBwZXJDYXNlLmhhc093blByb3BlcnR5KCdsZW5ndGgnKSkpIHsKICAkRkFJTCgnIzE6IFN0cmluZy5wcm90b3R5cGUudG9Mb2NhbGVVcHBlckNhc2UuaGFzT3duUHJvcGVydHkoXCdsZW5ndGhcJykgcmV0dXJuIHRydWUuIEFjdHVhbDogJytTdHJpbmcucHJvdG90eXBlLnRvTG9jYWxlVXBwZXJDYXNlLmhhc093blByb3BlcnR5KCdsZW5ndGgnKSk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgp2YXIgX19vYmogPSBTdHJpbmcucHJvdG90eXBlLnRvTG9jYWxlVXBwZXJDYXNlLmxlbmd0aDsKClN0cmluZy5wcm90b3R5cGUudG9Mb2NhbGVVcHBlckNhc2UubGVuZ3RoID0gZnVuY3Rpb24oKXtyZXR1cm4gInNoaWZ0ZWQiO307CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMyCmlmIChTdHJpbmcucHJvdG90eXBlLnRvTG9jYWxlVXBwZXJDYXNlLmxlbmd0aCAhPT0gX19vYmopIHsKICAkRVJST1IoJyMyOiBfX29iaiA9IFN0cmluZy5wcm90b3R5cGUudG9Mb2NhbGVVcHBlckNhc2UubGVuZ3RoOyBTdHJpbmcucHJvdG90eXBlLnRvTG9jYWxlVXBwZXJDYXNlLmxlbmd0aCA9IGZ1bmN0aW9uKCl7cmV0dXJuICJzaGlmdGVkIjt9OyBTdHJpbmcucHJvdG90eXBlLnRvTG9jYWxlVXBwZXJDYXNlLmxlbmd0aCA9PT0gX19vYmouIEFjdHVhbDogJytTdHJpbmcucHJvdG90eXBlLnRvTG9jYWxlVXBwZXJDYXNlLmxlbmd0aCApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"The String.prototype.toLocaleUpperCase.length property has the attribute ReadOnly","description":"Checking if varying the String.prototype.toLocaleUpperCase.length property fails","path":"TestCases/ch15/15.5/15.5.4/15.5.4.19/S15.5.4.19_A10.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgbGVuZ3RoIHByb3BlcnR5IG9mIHRoZSB0b0xvY2FsZVVwcGVyQ2FzZSBtZXRob2QgaXMgMAogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS40LzE1LjUuNC4xOS9TMTUuNS40LjE5X0ExMS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgU3RyaW5nLnByb3RvdHlwZS50b0xvY2FsZVVwcGVyQ2FzZS5sZW5ndGgKICovCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmICghKFN0cmluZy5wcm90b3R5cGUudG9Mb2NhbGVVcHBlckNhc2UuaGFzT3duUHJvcGVydHkoImxlbmd0aCIpKSkgewogICRFUlJPUignIzE6IFN0cmluZy5wcm90b3R5cGUudG9Mb2NhbGVVcHBlckNhc2UuaGFzT3duUHJvcGVydHkoImxlbmd0aCIpIHJldHVybiB0cnVlLiBBY3R1YWw6ICcrU3RyaW5nLnByb3RvdHlwZS50b0xvY2FsZVVwcGVyQ2FzZS5oYXNPd25Qcm9wZXJ0eSgibGVuZ3RoIikpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMgppZiAoU3RyaW5nLnByb3RvdHlwZS50b0xvY2FsZVVwcGVyQ2FzZS5sZW5ndGggIT09IDApIHsKICAkRVJST1IoJyMyOiBTdHJpbmcucHJvdG90eXBlLnRvTG9jYWxlVXBwZXJDYXNlLmxlbmd0aCA9PT0gMC4gQWN0dWFsOiAnK1N0cmluZy5wcm90b3R5cGUudG9Mb2NhbGVVcHBlckNhc2UubGVuZ3RoICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"The length property of the toLocaleUpperCase method is 0","description":"Checking String.prototype.toLocaleUpperCase.length","path":"TestCases/ch15/15.5/15.5.4/15.5.4.19/S15.5.4.19_A11.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnRvTG9jYWxlVXBwZXJDYXNlKCkKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuMTkvUzE1LjUuNC4xOV9BMV9UMS5qcwogKiBAZGVzY3JpcHRpb24gQXJndW1lbnRzIGlzIHRydWUsIGFuZCBpbnN0YW5jZSBpcyBvYmplY3QKICovCgp2YXIgX19pbnN0YW5jZSA9IG5ldyBPYmplY3QodHJ1ZSk7CgpfX2luc3RhbmNlLnRvTG9jYWxlVXBwZXJDYXNlID0gU3RyaW5nLnByb3RvdHlwZS50b0xvY2FsZVVwcGVyQ2FzZTsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKF9faW5zdGFuY2UudG9Mb2NhbGVVcHBlckNhc2UoKSAhPT0gIlRSVUUiKSB7CiAgJEVSUk9SKCcjMTogX19pbnN0YW5jZSA9IG5ldyBPYmplY3QodHJ1ZSk7IF9faW5zdGFuY2UudG9Mb2NhbGVVcHBlckNhc2UgPSBTdHJpbmcucHJvdG90eXBlLnRvTG9jYWxlVXBwZXJDYXNlOyAgX19pbnN0YW5jZS50b0xvY2FsZVVwcGVyQ2FzZSgpID09PSAiVFJVRSIuIEFjdHVhbDogJytfX2luc3RhbmNlLnRvTG9jYWxlVXBwZXJDYXNlKCkgKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"String.prototype.toLocaleUpperCase()","description":"Arguments is true, and instance is object","path":"TestCases/ch15/15.5/15.5.4/15.5.4.19/S15.5.4.19_A1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnRvTG9jYWxlVXBwZXJDYXNlKCkKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuMTkvUzE1LjUuNC4xOV9BMV9UMTAuanMKICogQGRlc2NyaXB0aW9uIENhbGwgdG9Mb2NhbGVVcHBlckNhc2UoKSBmdW5jdGlvbiBvZiBvYmplY3Qgd2l0aCBvdmVycm9kZSB0b1N0cmluZyBmdW5jdGlvbgogKi8KCnZhciBfX29iaiA9IHt0b1N0cmluZzpmdW5jdGlvbigpe3JldHVybiAiXHUwMDQxYiI7fX0KX19vYmoudG9Mb2NhbGVVcHBlckNhc2UgPSBTdHJpbmcucHJvdG90eXBlLnRvTG9jYWxlVXBwZXJDYXNlOwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAoX19vYmoudG9Mb2NhbGVVcHBlckNhc2UoKSAhPT0iQUIiKSB7CiAgJEVSUk9SKCcjMTogdmFyIF9fb2JqID0ge3RvU3RyaW5nOmZ1bmN0aW9uKCl7cmV0dXJuICJcdTAwNDFiIjt9fTsgX19vYmoudG9Mb2NhbGVVcHBlckNhc2UgPSBTdHJpbmcucHJvdG90eXBlLnRvTG9jYWxlVXBwZXJDYXNlOyBfX29iai50b0xvY2FsZVVwcGVyQ2FzZSgpID09PSJBQiIuIEFjdHVhbDogJytfX29iai50b0xvY2FsZVVwcGVyQ2FzZSgpICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"String.prototype.toLocaleUpperCase()","description":"Call toLocaleUpperCase() function of object with overrode toString function","path":"TestCases/ch15/15.5/15.5.4/15.5.4.19/S15.5.4.19_A1_T10.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnRvTG9jYWxlVXBwZXJDYXNlKCkKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuMTkvUzE1LjUuNC4xOV9BMV9UMTEuanMKICogQGRlc2NyaXB0aW9uIE92ZXJyaWRlIHRvU3RyaW5nIGZ1bmN0aW9uLCB0b1N0cmluZyB0aHJvdyBleGNlcHRpb24sIHRoZW4gY2FsbCB0b0xvY2FsZVVwcGVyQ2FzZSgpIGZ1bmN0aW9uIGZvciB0aGlzIG9iamVjdAogKi8KCnZhciBfX29iaiA9IHt0b1N0cmluZzpmdW5jdGlvbigpe3Rocm93ICJpbnRvc3RyIjt9fQpfX29iai50b0xvY2FsZVVwcGVyQ2FzZSA9IFN0cmluZy5wcm90b3R5cGUudG9Mb2NhbGVVcHBlckNhc2U7Ci8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKdHJ5IHsKICB2YXIgeCA9IF9fb2JqLnRvTG9jYWxlVXBwZXJDYXNlKCk7CiAgJEZBSUwoJyMxOiAidmFyIHggPSBfX29iai50b0xvY2FsZVVwcGVyQ2FzZSgpIiBsZWFkIHRvIHRocm93aW5nIGV4Y2VwdGlvbicpOwp9IGNhdGNoIChlKSB7CiAgaWYgKGUhPT0iaW50b3N0ciIpIHsKICAgICRFUlJPUignIzEuMTogRXhjZXB0aW9uID09PSAiaW50b3N0ciIuIEFjdHVhbDogJytlKTsKICB9Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"String.prototype.toLocaleUpperCase()","description":"Override toString function, toString throw exception, then call toLocaleUpperCase() function for this object","path":"TestCases/ch15/15.5/15.5.4/15.5.4.19/S15.5.4.19_A1_T11.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnRvTG9jYWxlVXBwZXJDYXNlKCkKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuMTkvUzE1LjUuNC4xOV9BMV9UMTIuanMKICogQGRlc2NyaXB0aW9uIE92ZXJyaWRlIHRvU3RyaW5nIGFuZCB2YWx1ZU9mIGZ1bmN0aW9ucywgdmFsdWVPZiB0aHJvdyBleGNlcHRpb24sIHRoZW4gY2FsbCB0b0xvY2FsZVVwcGVyQ2FzZSgpIGZ1bmN0aW9uIGZvciB0aGlzIG9iamVjdAogKi8KCnZhciBfX29iaiA9IHt0b1N0cmluZzpmdW5jdGlvbigpe3JldHVybiB7fTt9LHZhbHVlT2Y6ZnVuY3Rpb24oKXt0aHJvdyAiaW50b3N0ciI7fX0KX19vYmoudG9Mb2NhbGVVcHBlckNhc2UgPSBTdHJpbmcucHJvdG90eXBlLnRvTG9jYWxlVXBwZXJDYXNlOwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCnRyeSB7CiAgdmFyIHggPSBfX29iai50b0xvY2FsZVVwcGVyQ2FzZSgpOwogCSRGQUlMKCcjMTogInZhciB4ID0gX19vYmoudG9Mb2NhbGVVcHBlckNhc2UoKSIgbGVhZCB0byB0aHJvd2luZyBleGNlcHRpb24nKTsKfSBjYXRjaCAoZSkgewogIGlmIChlIT09ImludG9zdHIiKSB7CiAgICAkRVJST1IoJyMxLjE6IEV4Y2VwdGlvbiA9PT0gImludG9zdHIiLiBBY3R1YWw6ICcrZSk7CiAgfQp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"String.prototype.toLocaleUpperCase()","description":"Override toString and valueOf functions, valueOf throw exception, then call toLocaleUpperCase() function for this object","path":"TestCases/ch15/15.5/15.5.4/15.5.4.19/S15.5.4.19_A1_T12.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnRvTG9jYWxlVXBwZXJDYXNlKCkKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuMTkvUzE1LjUuNC4xOV9BMV9UMTMuanMKICogQGRlc2NyaXB0aW9uIE92ZXJyaWRlIHRvU3RyaW5nIGFuZCB2YWx1ZU9mIGZ1bmN0aW9ucywgdGhlbiBjYWxsIHRvTG9jYWxlVXBwZXJDYXNlKCkgZnVuY3Rpb24gZm9yIHRoaXMgb2JqZWN0CiAqLwoKdmFyIF9fb2JqID0ge3RvU3RyaW5nOmZ1bmN0aW9uKCl7cmV0dXJuIHt9O30sdmFsdWVPZjpmdW5jdGlvbigpe3JldHVybiAxO319Cl9fb2JqLnRvTG9jYWxlVXBwZXJDYXNlID0gU3RyaW5nLnByb3RvdHlwZS50b0xvY2FsZVVwcGVyQ2FzZTsKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAoX19vYmoudG9Mb2NhbGVVcHBlckNhc2UoKSAhPT0iMSIpIHsKICAkRVJST1IoJyMxOiB2YXIgX19vYmogPSB7dG9TdHJpbmc6ZnVuY3Rpb24oKXtyZXR1cm4ge307fSx2YWx1ZU9mOmZ1bmN0aW9uKCl7cmV0dXJuIDE7fX07IF9fb2JqLnRvTG9jYWxlVXBwZXJDYXNlID0gU3RyaW5nLnByb3RvdHlwZS50b0xvY2FsZVVwcGVyQ2FzZTsgX19vYmoudG9Mb2NhbGVVcHBlckNhc2UoKSA9PT0iMSIuIEFjdHVhbDogJytfX29iai50b0xvY2FsZVVwcGVyQ2FzZSgpICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMyCmlmIChfX29iai50b0xvY2FsZVVwcGVyQ2FzZSgpLmxlbmd0aCAhPT0gMSkgewogICRFUlJPUignIzI6IHZhciBfX29iaiA9IHt0b1N0cmluZzpmdW5jdGlvbigpe3JldHVybiB7fTt9LHZhbHVlT2Y6ZnVuY3Rpb24oKXtyZXR1cm4gMTt9fTsgX19vYmoudG9Mb2NhbGVVcHBlckNhc2UgPSBTdHJpbmcucHJvdG90eXBlLnRvTG9jYWxlVXBwZXJDYXNlOyBfX29iai50b0xvY2FsZVVwcGVyQ2FzZSgpLmxlbmd0aCA9PT0gMS4gQWN0dWFsOiAnK19fb2JqLnRvTG9jYWxlVXBwZXJDYXNlKCkubGVuZ3RoICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"String.prototype.toLocaleUpperCase()","description":"Override toString and valueOf functions, then call toLocaleUpperCase() function for this object","path":"TestCases/ch15/15.5/15.5.4/15.5.4.19/S15.5.4.19_A1_T13.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnRvTG9jYWxlVXBwZXJDYXNlKCkKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuMTkvUzE1LjUuNC4xOV9BMV9UMTQuanMKICogQGRlc2NyaXB0aW9uIENhbGwgdG9Mb2NhbGVVcHBlckNhc2UoKSBmdW5jdGlvbiBmb3IgUmVnRXhwIG9iamVjdAogKi8KCnZhciBfX3JlZyA9IG5ldyBSZWdFeHAoImFiYyIpOwpfX3JlZy50b0xvY2FsZVVwcGVyQ2FzZSA9IFN0cmluZy5wcm90b3R5cGUudG9Mb2NhbGVVcHBlckNhc2U7Ci8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKF9fcmVnLnRvTG9jYWxlVXBwZXJDYXNlKCkgIT09ICIvQUJDLyIpIHsKICAkRVJST1IoJyMxOiB2YXIgX19yZWcgPSBuZXcgUmVnRXhwKCJhYmMiKTsgX19yZWcudG9Mb2NhbGVVcHBlckNhc2UgPSBTdHJpbmcucHJvdG90eXBlLnRvTG9jYWxlVXBwZXJDYXNlOyBfX3JlZy50b0xvY2FsZVVwcGVyQ2FzZSgpID09PSAiL0FCQy8iLiBBY3R1YWw6ICcrX19yZWcudG9Mb2NhbGVVcHBlckNhc2UoKSApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"String.prototype.toLocaleUpperCase()","description":"Call toLocaleUpperCase() function for RegExp object","path":"TestCases/ch15/15.5/15.5.4/15.5.4.19/S15.5.4.19_A1_T14.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnRvTG9jYWxlVXBwZXJDYXNlKCkKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuMTkvUzE1LjUuNC4xOV9BMV9UMi5qcwogKiBAZGVzY3JpcHRpb24gSW5zdGFuY2UgaXMgQm9vbGVhbiBvYmplY3QKICovCgp2YXIgX19pbnN0YW5jZSA9IG5ldyBCb29sZWFuOwoKX19pbnN0YW5jZS50b0xvY2FsZVVwcGVyQ2FzZSA9IFN0cmluZy5wcm90b3R5cGUudG9Mb2NhbGVVcHBlckNhc2U7CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmIChfX2luc3RhbmNlLnRvTG9jYWxlVXBwZXJDYXNlKCkgIT09ICJGQUxTRSIpIHsKICAkRVJST1IoJyMxOiBfX2luc3RhbmNlID0gbmV3IEJvb2xlYW47IF9faW5zdGFuY2UudG9Mb2NhbGVVcHBlckNhc2UgPSBTdHJpbmcucHJvdG90eXBlLnRvTG9jYWxlVXBwZXJDYXNlOyAgX19pbnN0YW5jZS50b0xvY2FsZVVwcGVyQ2FzZSgpID09PSAiRkFMU0UiLiBBY3R1YWw6ICcrX19pbnN0YW5jZS50b0xvY2FsZVVwcGVyQ2FzZSgpICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"String.prototype.toLocaleUpperCase()","description":"Instance is Boolean object","path":"TestCases/ch15/15.5/15.5.4/15.5.4.19/S15.5.4.19_A1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnRvTG9jYWxlVXBwZXJDYXNlKCkKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuMTkvUzE1LjUuNC4xOV9BMV9UMy5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgYnkgdXNpbmcgZXZhbAogKi8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKGV2YWwoIlwiYmpcIiIpLnRvTG9jYWxlVXBwZXJDYXNlKCkgIT09ICJCSiIpIHsKICAkRVJST1IoJyMxOiBldmFsKCJcXCJialxcIiIpLnRvTG9jYWxlVXBwZXJDYXNlKCkgPT09ICJCSiIuIEFjdHVhbDogJytldmFsKCJcImJqXCIiKS50b0xvY2FsZVVwcGVyQ2FzZSgpICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"String.prototype.toLocaleUpperCase()","description":"Checking by using eval","path":"TestCases/ch15/15.5/15.5.4/15.5.4.19/S15.5.4.19_A1_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnRvTG9jYWxlVXBwZXJDYXNlKCkKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuMTkvUzE1LjUuNC4xOV9BMV9UNC5qcwogKiBAZGVzY3JpcHRpb24gQ2FsbCB0b0xvY2FsZVVwcGVyQ2FzZSgpIGZ1bmN0aW9uIHdpdGhvdXQgYXJndW1lbnRzIG9mIHN0cmluZyBhbmQgZnJvbSBlbXB0eSBzdHJpbmcKICovCgp2YXIgX19sb3dlckNhc2UgPSAiIi50b0xvY2FsZVVwcGVyQ2FzZSgpOwp2YXIgX19leHBlY3RlZCA9ICIiOyAKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKF9fbG93ZXJDYXNlLmxlbmd0aCAhPT0gX19leHBlY3RlZC5sZW5ndGgpIHsKICAkRVJST1IoJyMxOiBfX2xvd2VyQ2FzZSA9ICIiLnRvTG9jYWxlVXBwZXJDYXNlKCk7IF9fZXhwZWN0ZWQgPSAiIjsgX19sb3dlckNhc2UubGVuZ3RoID09PSBfX2V4cGVjdGVkLmxlbmd0aC4gQWN0dWFsOiAnK19fbG93ZXJDYXNlLmxlbmd0aCApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMgppZiAoX19sb3dlckNhc2UuaW5kZXggIT09IF9fZXhwZWN0ZWQuaW5kZXgpIHsKICAkRVJST1IoJyMyOiBfX2xvd2VyQ2FzZSA9ICIiLnRvTG9jYWxlVXBwZXJDYXNlKCk7IF9fZXhwZWN0ZWQgPSAiIjsgX19sb3dlckNhc2UuaW5kZXggPT09IF9fZXhwZWN0ZWQuaW5kZXguIEFjdHVhbDogJytfX2xvd2VyQ2FzZS5pbmRleCApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMwppZiAoX19sb3dlckNhc2UuaW5wdXQgIT09IF9fZXhwZWN0ZWQuaW5wdXQpIHsKICAkRVJST1IoJyMzOiBfX2xvd2VyQ2FzZSA9ICIiLnRvTG9jYWxlVXBwZXJDYXNlKCk7IF9fZXhwZWN0ZWQgPSAiIjsgX19sb3dlckNhc2UuaW5wdXQgPT09IF9fZXhwZWN0ZWQuaW5wdXQuIEFjdHVhbDogJytfX2xvd2VyQ2FzZS5pbnB1dCApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjNAppZiAoX19sb3dlckNhc2VbMF0hPT1fX2V4cGVjdGVkWzBdKSB7CiAgJEVSUk9SKCcjNDogX19sb3dlckNhc2UgPSAiIi50b0xvY2FsZVVwcGVyQ2FzZSgpOyBfX2xvd2VyQ2FzZVswXT09PScrX19leHBlY3RlZFswXSsnLiBBY3R1YWw6ICcrX19sb3dlckNhc2VbMF0pOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"String.prototype.toLocaleUpperCase()","description":"Call toLocaleUpperCase() function without arguments of string and from empty string","path":"TestCases/ch15/15.5/15.5.4/15.5.4.19/S15.5.4.19_A1_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnRvTG9jYWxlVXBwZXJDYXNlKCkKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuMTkvUzE1LjUuNC4xOV9BMV9UNS5qcwogKiBAZGVzY3JpcHRpb24gQ2FsbCB0b0xvY2FsZVVwcGVyQ2FzZSgpIGZ1bmN0aW9uIG9mIGZ1bmN0aW9uIGNhbGwKICovCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCi8vc2luY2UgVG9TdHJpbmcobnVsbCkgZXZhbHVhdGVzIHRvICJudWxsIiBtYXRjaChudWxsKSBldmFsdWF0ZXMgdG8gbWF0Y2goIm51bGwiKQppZiAoZnVuY3Rpb24oKXtyZXR1cm4gIkdudWxMdU5hIn0oKS50b0xvY2FsZVVwcGVyQ2FzZSgpICE9PSAiR05VTExVTkEiKSB7CiAgJEVSUk9SKCcjMTogZnVuY3Rpb24oKXtyZXR1cm4gIkdudWxMdU5hIn0oKS50b0xvY2FsZVVwcGVyQ2FzZSgpID09PSAiR05VTExVTkEiLiBBY3R1YWw6ICcrZnVuY3Rpb24oKXtyZXR1cm4gIkdudWxMdU5hIn0oKS50b0xvY2FsZVVwcGVyQ2FzZSgpICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"String.prototype.toLocaleUpperCase()","description":"Call toLocaleUpperCase() function of function call","path":"TestCases/ch15/15.5/15.5.4/15.5.4.19/S15.5.4.19_A1_T5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnRvTG9jYWxlVXBwZXJDYXNlKCkKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuMTkvUzE1LjUuNC4xOV9BMV9UNi5qcwogKiBAZGVzY3JpcHRpb24gQ2FsbCB0b0xvY2FsZVVwcGVyQ2FzZSgpIGZ1bmN0aW9uIG9mIE51bWJlci5ORUdBVElWRV9JTkZJTklUWQogKi8KCk51bWJlci5wcm90b3R5cGUudG9Mb2NhbGVVcHBlckNhc2UgPSBTdHJpbmcucHJvdG90eXBlLnRvTG9jYWxlVXBwZXJDYXNlOwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAoKE51bWJlci5ORUdBVElWRV9JTkZJTklUWSkudG9Mb2NhbGVVcHBlckNhc2UoKSAhPT0gIi1JTkZJTklUWSIpIHsKICAkRVJST1IoJyMxOiBOdW1iZXIucHJvdG90eXBlLnRvTG9jYWxlVXBwZXJDYXNlID0gU3RyaW5nLnByb3RvdHlwZS50b0xvY2FsZVVwcGVyQ2FzZTsgKE51bWJlci5ORUdBVElWRV9JTkZJTklUWSkudG9Mb2NhbGVVcHBlckNhc2UoKSA9PT0gIi1JTkZJTklUWSIuIEFjdHVhbDogJysoTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZKS50b0xvY2FsZVVwcGVyQ2FzZSgpICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgoK","commentary":"String.prototype.toLocaleUpperCase()","description":"Call toLocaleUpperCase() function of Number.NEGATIVE_INFINITY","path":"TestCases/ch15/15.5/15.5.4/15.5.4.19/S15.5.4.19_A1_T6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnRvTG9jYWxlVXBwZXJDYXNlKCkKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuMTkvUzE1LjUuNC4xOV9BMV9UNy5qcwogKiBAZGVzY3JpcHRpb24gQ2FsbCB0b0xvY2FsZVVwcGVyQ2FzZSgpIGZ1bmN0aW9uIG9mIE5hTgogKi8KCk51bWJlci5wcm90b3R5cGUudG9Mb2NhbGVVcHBlckNhc2UgPSBTdHJpbmcucHJvdG90eXBlLnRvTG9jYWxlVXBwZXJDYXNlOwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAoTmFOLnRvTG9jYWxlVXBwZXJDYXNlKCkhPT0gIk5BTiIpIHsKICAkRVJST1IoJyMxOiBOdW1iZXIucHJvdG90eXBlLnRvTG9jYWxlVXBwZXJDYXNlID0gU3RyaW5nLnByb3RvdHlwZS50b0xvY2FsZVVwcGVyQ2FzZTsgTmFOLnRvTG9jYWxlVXBwZXJDYXNlKCk9PT0gIk5BTiIuIEFjdHVhbDogJytOYU4udG9Mb2NhbGVVcHBlckNhc2UoKSk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"String.prototype.toLocaleUpperCase()","description":"Call toLocaleUpperCase() function of NaN","path":"TestCases/ch15/15.5/15.5.4/15.5.4.19/S15.5.4.19_A1_T7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnRvTG9jYWxlVXBwZXJDYXNlKCkKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuMTkvUzE1LjUuNC4xOV9BMV9UOC5qcwogKiBAZGVzY3JpcHRpb24gQ2FsbCB0b0xvY2FsZVVwcGVyQ2FzZSgpIGZ1bmN0aW9uIG9mIEluZmluaXR5CiAqLwoKTnVtYmVyLnByb3RvdHlwZS50b0xvY2FsZVVwcGVyQ2FzZSA9IFN0cmluZy5wcm90b3R5cGUudG9Mb2NhbGVVcHBlckNhc2U7CgppZiAoSW5maW5pdHkudG9Mb2NhbGVVcHBlckNhc2UoKSE9PSAiSU5GSU5JVFkiKSB7CiAgJEVSUk9SKCcjMTogTnVtYmVyLnByb3RvdHlwZS50b0xvY2FsZVVwcGVyQ2FzZSA9IFN0cmluZy5wcm90b3R5cGUudG9Mb2NhbGVVcHBlckNhc2U7IEluZmluaXR5LnRvTG9jYWxlVXBwZXJDYXNlKCk9PT0gIklORklOSVRZIi4gQWN0dWFsOiAnK0luZmluaXR5LnRvTG9jYWxlVXBwZXJDYXNlKCkpOwp9Cgo=","commentary":"String.prototype.toLocaleUpperCase()","description":"Call toLocaleUpperCase() function of Infinity","path":"TestCases/ch15/15.5/15.5.4/15.5.4.19/S15.5.4.19_A1_T8.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnRvTG9jYWxlVXBwZXJDYXNlKCkKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuMTkvUzE1LjUuNC4xOV9BMV9UOS5qcwogKiBAZGVzY3JpcHRpb24gQ2FsbCB0b0xvY2FsZVVwcGVyQ2FzZSgpIGZ1bmN0aW9uIG9mIHN0cmluZyBvYmplY3QKICovCgp2YXIgX19vYmogPSB7CiAgICB2YWx1ZU9mOmZ1bmN0aW9uKCl7fSwKICAgIHRvU3RyaW5nOnZvaWQgMAp9OwoKdmFyIF9fbG93ZXJDYXNlID0gbmV3IFN0cmluZyhfX29iaikudG9Mb2NhbGVVcHBlckNhc2UoKTsKCnZhciBfX2V4cGVjdGVkID0iVU5ERUZJTkVEIjsgCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmIChfX2xvd2VyQ2FzZS5sZW5ndGggIT09IF9fZXhwZWN0ZWQubGVuZ3RoKSB7CiAgJEVSUk9SKCcjMTogX19vYmogPSB7dmFsdWVPZjpmdW5jdGlvbigpe30sIHRvU3RyaW5nOnZvaWQgMH07IF9fbG93ZXJDYXNlID0gbmV3IFN0cmluZyhfX29iaikudG9Mb2NhbGVVcHBlckNhc2UoKTsgX19leHBlY3RlZCA9IlVOREVGSU5FRCI7IF9fbG93ZXJDYXNlLmxlbmd0aCA9PT0gX19leHBlY3RlZC5sZW5ndGguIEFjdHVhbDogJytfX2xvd2VyQ2FzZS5sZW5ndGggKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzIKaWYgKF9fbG93ZXJDYXNlLmluZGV4ICE9PSBfX2V4cGVjdGVkLmluZGV4KSB7CiAgJEVSUk9SKCcjMjogX19vYmogPSB7dmFsdWVPZjpmdW5jdGlvbigpe30sIHRvU3RyaW5nOnZvaWQgMH07IF9fbG93ZXJDYXNlID0gbmV3IFN0cmluZyhfX29iaikudG9Mb2NhbGVVcHBlckNhc2UoKTsgX19leHBlY3RlZCA9IlVOREVGSU5FRCI7IF9fbG93ZXJDYXNlLmluZGV4ID09PSBfX2V4cGVjdGVkLmluZGV4LiBBY3R1YWw6ICcrX19sb3dlckNhc2UuaW5kZXggKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzMKaWYgKF9fbG93ZXJDYXNlLmlucHV0ICE9PSBfX2V4cGVjdGVkLmlucHV0KSB7CiAgJEVSUk9SKCcjMzogX19vYmogPSB7dmFsdWVPZjpmdW5jdGlvbigpe30sIHRvU3RyaW5nOnZvaWQgMH07IF9fbG93ZXJDYXNlID0gbmV3IFN0cmluZyhfX29iaikudG9Mb2NhbGVVcHBlckNhc2UoKTsgX19leHBlY3RlZCA9IlVOREVGSU5FRCI7IF9fbG93ZXJDYXNlLmlucHV0ID09PSBfX2V4cGVjdGVkLmlucHV0LiBBY3R1YWw6ICcrX19sb3dlckNhc2UuaW5wdXQgKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzQKZm9yKHZhciBpbmRleD0wOyBpbmRleDxfX2V4cGVjdGVkLmxlbmd0aDsgaW5kZXgrKykgewogIGlmIChfX2xvd2VyQ2FzZVtpbmRleF0hPT1fX2V4cGVjdGVkW2luZGV4XSkgewogICAgJEVSUk9SKCcjNC4nK2luZGV4Kyc6IF9fb2JqID0ge3ZhbHVlT2Y6ZnVuY3Rpb24oKXt9LCB0b1N0cmluZzp2b2lkIDB9OyBfX2xvd2VyQ2FzZSA9IG5ldyBTdHJpbmcoX19vYmopLnRvTG9jYWxlVXBwZXJDYXNlKCk7IF9fZXhwZWN0ZWQgPSJVTkRFRklORUQiOyBfX2xvd2VyQ2FzZVsnK2luZGV4KyddPT09JytfX2V4cGVjdGVkW2luZGV4XSsnLiBBY3R1YWw6ICcrX19sb3dlckNhc2VbaW5kZXhdKTsKICB9Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"String.prototype.toLocaleUpperCase()","description":"Call toLocaleUpperCase() function of string object","path":"TestCases/ch15/15.5/15.5.4/15.5.4.19/S15.5.4.19_A1_T9.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnRvTG9jYWxlVXBwZXJDYXNlKCkgcmV0dXJuIGEgc3RyaW5nLCBidXQgbm90IGEgU3RyaW5nIG9iamVjdAogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS40LzE1LjUuNC4xOS9TMTUuNS40LjE5X0EyX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyByZXR1cm5lZCByZXN1bHQKICovCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmICgiSGVsbG8sIFdvUmxEISIudG9Mb2NhbGVVcHBlckNhc2UoKSAhPT0gIkhFTExPLCBXT1JMRCEiKSB7CiAgJEVSUk9SKCcjMTogIkhlbGxvLCBXb1JsRCEiLnRvTG9jYWxlVXBwZXJDYXNlKCkgPT09ICJIRUxMTywgV09STEQhIi4gQWN0dWFsOiAnKygiSGVsbG8sIFdvUmxEISIudG9Mb2NhbGVVcHBlckNhc2UoKSkgKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzIKaWYgKCJIZWxsbywgV29SbEQhIi50b0xvY2FsZVVwcGVyQ2FzZSgpICE9PSBTdHJpbmcoIkhFTExPLCBXT1JMRCEiKSkgewogICRFUlJPUignIzI6ICJIZWxsbywgV29SbEQhIi50b0xvY2FsZVVwcGVyQ2FzZSgpID09PSBTdHJpbmcoIkhFTExPLCBXT1JMRCEiKS4gQWN0dWFsOiAnKygiSGVsbG8sIFdvUmxEISIudG9Mb2NhbGVVcHBlckNhc2UoKSkgKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzMKaWYgKCJIZWxsbywgV29SbEQhIi50b0xvY2FsZVVwcGVyQ2FzZSgpID09PW5ldyBTdHJpbmcoIkhFTExPLCBXT1JMRCEiKSkgewogICRFUlJPUignIzM6ICJIZWxsbywgV29SbEQhIi50b0xvY2FsZVVwcGVyQ2FzZSgpICE9PSBuZXcgU3RyaW5nKCJIRUxMTywgV09STEQhIicpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"String.prototype.toLocaleUpperCase() return a string, but not a String object","description":"Checking returned result","path":"TestCases/ch15/15.5/15.5.4/15.5.4.19/S15.5.4.19_A2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnRvTG9jYWxlVXBwZXJDYXNlIGhhcyBub3QgcHJvdG90eXBlIHByb3BlcnR5CiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjE5L1MxNS41LjQuMTlfQTYuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIFN0cmluZy5wcm90b3R5cGUudG9Mb2NhbGVVcHBlckNhc2UucHJvdG90eXBlCiAqLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAoU3RyaW5nLnByb3RvdHlwZS50b0xvY2FsZVVwcGVyQ2FzZS5wcm90b3R5cGUgIT09IHVuZGVmaW5lZCkgewogICRFUlJPUignIzE6IFN0cmluZy5wcm90b3R5cGUudG9Mb2NhbGVVcHBlckNhc2UucHJvdG90eXBlID09PSB1bmRlZmluZWQuIEFjdHVhbDogJytTdHJpbmcucHJvdG90eXBlLnRvTG9jYWxlVXBwZXJDYXNlLnByb3RvdHlwZSApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"String.prototype.toLocaleUpperCase has not prototype property","description":"Checking String.prototype.toLocaleUpperCase.prototype","path":"TestCases/ch15/15.5/15.5.4/15.5.4.19/S15.5.4.19_A6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLnRvTG9jYWxlVXBwZXJDYXNlIGNhbid0IGJlIHVzZWQgYXMgY29uc3RydWN0b3IKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuMTkvUzE1LjUuNC4xOV9BNy5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgaWYgY3JlYXRpbmcgdGhlIFN0cmluZy5wcm90b3R5cGUudG9Mb2NhbGVVcHBlckNhc2Ugb2JqZWN0IGZhaWxzCiAqLwoKdmFyIF9fRkFDVE9SWSA9IFN0cmluZy5wcm90b3R5cGUudG9Mb2NhbGVVcHBlckNhc2U7Cgp0cnkgewogIHZhciBfX2luc3RhbmNlID0gbmV3IF9fRkFDVE9SWTsKICAkRkFJTCgnIzE6IF9fRkFDVE9SWSA9IFN0cmluZy5wcm90b3R5cGUudG9Mb2NhbGVVcHBlckNhc2U7ICJfX2luc3RhbmNlID0gbmV3IF9fRkFDVE9SWSIgbGVhZCB0byB0aHJvd2luZyBleGNlcHRpb24nKTsKfSBjYXRjaCAoZSkgewogIGlmICgoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikgIT09IHRydWUpIHsKICAgICRFUlJPUignIzEuMTogIHZhciBfX2luc3RhbmNlID0gbmV3IF9fRkFDVE9SWTsgIE9iamVjdCBoYXMgbm8gY29uc3RydWN0IGxlYWQgIGEgVHlwZUVycm9yLiBBY3R1YWw6ICcgKyAoZSkpOyAgCiAgfQp9Cgo=","commentary":"String.prototype.toLocaleUpperCase can't be used as constructor","description":"Checking if creating the String.prototype.toLocaleUpperCase object fails","path":"TestCases/ch15/15.5/15.5.4/15.5.4.19/S15.5.4.19_A7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgU3RyaW5nLnByb3RvdHlwZS50b0xvY2FsZVVwcGVyQ2FzZS5sZW5ndGggcHJvcGVydHkgaGFzIHRoZSBhdHRyaWJ1dGUgRG9udEVudW0KICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuMTkvUzE1LjUuNC4xOV9BOC5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgaWYgZW51bWVyYXRpbmcgdGhlIFN0cmluZy5wcm90b3R5cGUudG9Mb2NhbGVVcHBlckNhc2UubGVuZ3RoIHByb3BlcnR5IGZhaWxzCiAqLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMAppZiAoIShTdHJpbmcucHJvdG90eXBlLnRvTG9jYWxlVXBwZXJDYXNlLmhhc093blByb3BlcnR5KCdsZW5ndGgnKSkpIHsKICAkRkFJTCgnIzA6IFN0cmluZy5wcm90b3R5cGUudG9Mb2NhbGVVcHBlckNhc2UuaGFzT3duUHJvcGVydHkoXCdsZW5ndGhcJykgcmV0dXJuIHRydWUuIEFjdHVhbDogJytTdHJpbmcucHJvdG90eXBlLnRvTG9jYWxlVXBwZXJDYXNlLmhhc093blByb3BlcnR5KCdsZW5ndGgnKSk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vIENIRUNLIzEKaWYgKFN0cmluZy5wcm90b3R5cGUudG9Mb2NhbGVVcHBlckNhc2UucHJvcGVydHlJc0VudW1lcmFibGUoJ2xlbmd0aCcpKSB7CiAgJEVSUk9SKCcjMTogU3RyaW5nLnByb3RvdHlwZS50b0xvY2FsZVVwcGVyQ2FzZS5wcm9wZXJ0eUlzRW51bWVyYWJsZShcJ2xlbmd0aFwnKSByZXR1cm4gZmFsc2UnKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovLyBDSEVDSyMyCnZhciBjb3VudD0wOwoKZm9yICh2YXIgcCBpbiBTdHJpbmcucHJvdG90eXBlLnRvTG9jYWxlVXBwZXJDYXNlKXsKICBpZiAocD09PSJsZW5ndGgiKSBjb3VudCsrOwp9CgppZiAoY291bnQgIT09IDApIHsKICAkRVJST1IoJyMyOiBjb3VudD0wOyBmb3IgKHAgaW4gU3RyaW5nLnByb3RvdHlwZS50b0xvY2FsZVVwcGVyQ2FzZSl7aWYgKHA9PT0ibGVuZ3RoIikgY291bnQrKzt9OyBjb3VudCA9PT0gMC4gQWN0dWFsOiAnK2NvdW50ICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"The String.prototype.toLocaleUpperCase.length property has the attribute DontEnum","description":"Checking if enumerating the String.prototype.toLocaleUpperCase.length property fails","path":"TestCases/ch15/15.5/15.5.4/15.5.4.19/S15.5.4.19_A8.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgU3RyaW5nLnByb3RvdHlwZS50b0xvY2FsZVVwcGVyQ2FzZS5sZW5ndGggcHJvcGVydHkgaGFzIHRoZSBhdHRyaWJ1dGUgRG9udERlbGV0ZQogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS40LzE1LjUuNC4xOS9TMTUuNS40LjE5X0E5LmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiBkZWxldGluZyB0aGUgU3RyaW5nLnByb3RvdHlwZS50b0xvY2FsZVVwcGVyQ2FzZS5sZW5ndGggcHJvcGVydHkgZmFpbHMKICovCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMwCmlmICghKFN0cmluZy5wcm90b3R5cGUudG9Mb2NhbGVVcHBlckNhc2UuaGFzT3duUHJvcGVydHkoJ2xlbmd0aCcpKSkgewogICRGQUlMKCcjMDogU3RyaW5nLnByb3RvdHlwZS50b0xvY2FsZVVwcGVyQ2FzZS5oYXNPd25Qcm9wZXJ0eShcJ2xlbmd0aFwnKSByZXR1cm4gdHJ1ZS4gQWN0dWFsOiAnK1N0cmluZy5wcm90b3R5cGUudG9Mb2NhbGVVcHBlckNhc2UuaGFzT3duUHJvcGVydHkoJ2xlbmd0aCcpKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKGRlbGV0ZSBTdHJpbmcucHJvdG90eXBlLnRvTG9jYWxlVXBwZXJDYXNlLmxlbmd0aCkgewogICRFUlJPUignIzE6IGRlbGV0ZSBTdHJpbmcucHJvdG90eXBlLnRvTG9jYWxlVXBwZXJDYXNlLmxlbmd0aCByZXR1cm4gZmFsc2UnKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzIKaWYgKCEoU3RyaW5nLnByb3RvdHlwZS50b0xvY2FsZVVwcGVyQ2FzZS5oYXNPd25Qcm9wZXJ0eSgnbGVuZ3RoJykpKSB7CiAgJEZBSUwoJyMyOiBkZWxldGUgU3RyaW5nLnByb3RvdHlwZS50b0xvY2FsZVVwcGVyQ2FzZS5sZW5ndGg7IFN0cmluZy5wcm90b3R5cGUudG9Mb2NhbGVVcHBlckNhc2UuaGFzT3duUHJvcGVydHkoXCdsZW5ndGhcJykgcmV0dXJuIHRydWUuIEFjdHVhbDogJytTdHJpbmcucHJvdG90eXBlLnRvTG9jYWxlVXBwZXJDYXNlLmhhc093blByb3BlcnR5KCdsZW5ndGgnKSk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"The String.prototype.toLocaleUpperCase.length property has the attribute DontDelete","description":"Checking if deleting the String.prototype.toLocaleUpperCase.length property fails","path":"TestCases/ch15/15.5/15.5.4/15.5.4.19/S15.5.4.19_A9.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuMjAvMTUuNS40LjIwLTAtMS5qcw0KICogQGRlc2NyaXB0aW9uIFN0cmluZy5wcm90b3R5cGUudHJpbSBtdXN0IGV4aXN0IGFzIGEgZnVuY3Rpb24NCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgZiA9IFN0cmluZy5wcm90b3R5cGUudHJpbTsNCiAgaWYgKHR5cGVvZihmKSA9PT0gImZ1bmN0aW9uIikgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"String.prototype.trim must exist as a function","path":"TestCases/ch15/15.5/15.5.4/15.5.4.20/15.5.4.20-0-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuMjAvMTUuNS40LjIwLTAtMi5qcw0KICogQGRlc2NyaXB0aW9uIFN0cmluZy5wcm90b3R5cGUudHJpbSBtdXN0IGV4aXN0IGFzIGEgZnVuY3Rpb24gdGFraW5nIDAgcGFyYW1ldGVycw0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIGlmIChTdHJpbmcucHJvdG90eXBlLnRyaW0ubGVuZ3RoID09PSAwKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"String.prototype.trim must exist as a function taking 0 parameters","path":"TestCases/ch15/15.5/15.5.4/15.5.4.20/15.5.4.20-0-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuMjAvMTUuNS40LjIwLTEtMS5qcw0KICogQGRlc2NyaXB0aW9uIFN0cmluZy5wcm90b3R5cGUudHJpbSB0aHJvd3MgVHlwZUVycm9yIHdoZW4gc3RyaW5nIGlzIHVuZGVmaW5lZA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHRyeQ0KICB7DQogICAgU3RyaW5nLnByb3RvdHlwZS50cmltLmNhbGwodW5kZWZpbmVkKTsgDQogICAgcmV0dXJuIGZhbHNlOyANCiAgfQ0KICBjYXRjaChlKQ0KICB7DQogICAgcmV0dXJuIGUgaW5zdGFuY2VvZiBUeXBlRXJyb3I7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"String.prototype.trim throws TypeError when string is undefined","path":"TestCases/ch15/15.5/15.5.4/15.5.4.20/15.5.4.20-1-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuMjAvMTUuNS40LjIwLTEtMi5qcw0KICogQGRlc2NyaXB0aW9uIFN0cmluZy5wcm90b3R5cGUudHJpbSB0aHJvd3MgVHlwZUVycm9yIHdoZW4gc3RyaW5nIGlzIG51bGwNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB0cnkNCiAgew0KICAgIFN0cmluZy5wcm90b3R5cGUudHJpbS5jYWxsKG51bGwpOyAgDQogICAgcmV0dXJuIGZhbHNlOw0KICB9DQogIGNhdGNoKGUpDQogIHsNCiAgICByZXR1cm4gZSBpbnN0YW5jZW9mIFR5cGVFcnJvcjsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"String.prototype.trim throws TypeError when string is null","path":"TestCases/ch15/15.5/15.5.4/15.5.4.20/15.5.4.20-1-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuMjAvMTUuNS40LjIwLTEtMy5qcw0KICogQGRlc2NyaXB0aW9uIFN0cmluZy5wcm90b3R5cGUudHJpbSB3b3JrcyBmb3IgcHJpbWl0aXZlIHR5cGUgYm9vbGVhbg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHRyeQ0KICB7DQogICAgaWYoU3RyaW5nLnByb3RvdHlwZS50cmltLmNhbGwodHJ1ZSkgPT0gInRydWUiKQ0KICAgICAgcmV0dXJuIHRydWU7DQogIH0NCiAgY2F0Y2goZSkNCiAgew0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"String.prototype.trim works for primitive type boolean","path":"TestCases/ch15/15.5/15.5.4/15.5.4.20/15.5.4.20-1-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuMjAvMTUuNS40LjIwLTEtNC5qcw0KICogQGRlc2NyaXB0aW9uIFN0cmluZy5wcm90b3R5cGUudHJpbSB3b3JrcyBmb3IgcHJpbWl0aXZlIHR5cGUgbnVtYmVyDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdHJ5DQogIHsNCiAgICBpZihTdHJpbmcucHJvdG90eXBlLnRyaW0uY2FsbCgwKSA9PSAiMCIpIA0KICAgICAgcmV0dXJuIHRydWU7DQogIH0NCiAgY2F0Y2goZSkNCiAgew0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"String.prototype.trim works for primitive type number","path":"TestCases/ch15/15.5/15.5.4/15.5.4.20/15.5.4.20-1-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuMjAvMTUuNS40LjIwLTEtNS5qcw0KICogQGRlc2NyaXB0aW9uIFN0cmluZy5wcm90b3R5cGUudHJpbSB3b3JrcyBmb3IgYW4gT2JqZWN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdHJ5DQogIHsNCiAgICBpZihTdHJpbmcucHJvdG90eXBlLnRyaW0uY2FsbCh7fSk9PSJbb2JqZWN0IE9iamVjdF0iKQ0KICAgICAgcmV0dXJuIHRydWU7DQogIH0NCiAgY2F0Y2goZSkNCiAgew0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"String.prototype.trim works for an Object","path":"TestCases/ch15/15.5/15.5.4/15.5.4.20/15.5.4.20-1-5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuMjAvMTUuNS40LjIwLTEtNi5qcw0KICogQGRlc2NyaXB0aW9uIFN0cmluZy5wcm90b3R5cGUudHJpbSB3b3JrcyBmb3IgYW4gU3RyaW5nDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdHJ5DQogIHsNCiAgICBpZihTdHJpbmcucHJvdG90eXBlLnRyaW0uY2FsbChuZXcgU3RyaW5nKCkpID09ICIiKQ0KICAgICAgcmV0dXJuIHRydWU7DQogIH0NCiAgY2F0Y2goZSkNCiAgew0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"String.prototype.trim works for an String","path":"TestCases/ch15/15.5/15.5.4/15.5.4.20/15.5.4.20-1-6.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuMjAvMTUuNS40LjIwLTEtNy5qcw0KICogQGRlc2NyaXB0aW9uIFN0cmluZy5wcm90b3R5cGUudHJpbSB3b3JrcyBmb3IgYSBwcmltaXRpdmUgc3RyaW5nDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdHJ5DQogIHsNCiAgICBpZihTdHJpbmcucHJvdG90eXBlLnRyaW0uY2FsbCgiYWJjIikgPT09ICJhYmMiKSAgDQogICAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KICBjYXRjaChlKQ0KICB7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"String.prototype.trim works for a primitive string","path":"TestCases/ch15/15.5/15.5.4/15.5.4.20/15.5.4.20-1-7.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuMjAvMTUuNS40LjIwLTEtOC5qcw0KICogQGRlc2NyaXB0aW9uIFN0cmluZy5wcm90b3R5cGUudHJpbSB3b3JrcyBmb3IgYSBwcmltaXRpdmUgc3RyaW5nICh2YWx1ZSBpcyAnICAgIGFiYycpIA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBzdHJPYmogPSBTdHJpbmcoIiAgICBhYmMiKTsNCiAgICAgICAgcmV0dXJuICJhYmMiID09PSBzdHJPYmoudHJpbSgpICYmIHN0ck9iai50b1N0cmluZygpID09PSAiICAgIGFiYyI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"String.prototype.trim works for a primitive string (value is ' abc')","path":"TestCases/ch15/15.5/15.5.4/15.5.4.20/15.5.4.20-1-8.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuMjAvMTUuNS40LjIwLTEtOS5qcw0KICogQGRlc2NyaXB0aW9uIFN0cmluZy5wcm90b3R5cGUudHJpbSB3b3JrcyBmb3IgYSBTdHJpbmcgb2JqZWN0IHdoaWNoIHZhbHVlIGlzIHVuZGVmaW5lZA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBzdHJPYmogPSBuZXcgU3RyaW5nKHVuZGVmaW5lZCk7DQogICAgICAgIHJldHVybiBzdHJPYmoudHJpbSgpID09PSAidW5kZWZpbmVkIjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"String.prototype.trim works for a String object which value is undefined","path":"TestCases/ch15/15.5/15.5.4/15.5.4.20/15.5.4.20-1-9.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuMjAvMTUuNS40LjIwLTItMS5qcw0KICogQGRlc2NyaXB0aW9uIFN0cmluZy5wcm90b3R5cGUudHJpbSAtIGFyZ3VtZW50ICd0aGlzJyBpcyBhIGJvb2xlYW4gd2hvc2UgdmFsdWUgaXMgZmFsc2UNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICByZXR1cm4gU3RyaW5nLnByb3RvdHlwZS50cmltLmNhbGwoZmFsc2UpID09PSAiZmFsc2UiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"String.prototype.trim - argument 'this' is a boolean whose value is false","path":"TestCases/ch15/15.5/15.5.4/15.5.4.20/15.5.4.20-2-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuMjAvMTUuNS40LjIwLTItMTAuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpbmcucHJvdG90eXBlLnRyaW0gLSBhcmd1bWVudCAndGhpcycgaXMgYSBudW1iZXIgdGhhdCBjb252ZXJ0cyB0byBhIHN0cmluZyAodmFsdWUgaXMgK0luZmluaXR5KQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHJldHVybiBTdHJpbmcucHJvdG90eXBlLnRyaW0uY2FsbCgrSW5maW5pdHkpID09PSAiSW5maW5pdHkiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"String.prototype.trim - argument 'this' is a number that converts to a string (value is +Infinity)","path":"TestCases/ch15/15.5/15.5.4/15.5.4.20/15.5.4.20-2-10.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuMjAvMTUuNS40LjIwLTItMTEuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpbmcucHJvdG90eXBlLnRyaW0gLSBhcmd1bWVudCAndGhpcycgaXMgYSBudW1iZXIgdGhhdCBjb252ZXJ0cyB0byBhIHN0cmluZyAodmFsdWUgaXMgLUluZmluaXR5KQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHJldHVybiBTdHJpbmcucHJvdG90eXBlLnRyaW0uY2FsbCgtSW5maW5pdHkpID09PSAiLUluZmluaXR5IjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"String.prototype.trim - argument 'this' is a number that converts to a string (value is -Infinity)","path":"TestCases/ch15/15.5/15.5.4/15.5.4.20/15.5.4.20-2-11.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuMjAvMTUuNS40LjIwLTItMTIuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpbmcucHJvdG90eXBlLnRyaW0gLSBhcmd1bWVudCAndGhpcycgaXMgYSBudW1iZXIgdGhhdCBjb252ZXJ0cyB0byBhIHN0cmluZyAodmFsdWUgaXMgMShmb2xsb3dpbmcgMjAgemVyb3MpKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHJldHVybiBTdHJpbmcucHJvdG90eXBlLnRyaW0uY2FsbCgxMDAwMDAwMDAwMDAwMDAwMDAwMDApID09PSAiMTAwMDAwMDAwMDAwMDAwMDAwMDAwIjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"String.prototype.trim - argument 'this' is a number that converts to a string (value is 1(following 20 zeros))","path":"TestCases/ch15/15.5/15.5.4/15.5.4.20/15.5.4.20-2-12.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuMjAvMTUuNS40LjIwLTItMTMuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpbmcucHJvdG90eXBlLnRyaW0gLSBhcmd1bWVudCAndGhpcycgaXMgYSBudW1iZXIgdGhhdCBjb252ZXJ0cyB0byBhIHN0cmluZyAodmFsdWUgaXMgMShmb2xsb3dpbmcgMjEgemVyb3MpKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHJldHVybiBTdHJpbmcucHJvdG90eXBlLnRyaW0uY2FsbCgxMDAwMDAwMDAwMDAwMDAwMDAwMDAwKSA9PT0gIjFlKzIxIjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"String.prototype.trim - argument 'this' is a number that converts to a string (value is 1(following 21 zeros))","path":"TestCases/ch15/15.5/15.5.4/15.5.4.20/15.5.4.20-2-13.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuMjAvMTUuNS40LjIwLTItMTQuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpbmcucHJvdG90eXBlLnRyaW0gLSBhcmd1bWVudCAndGhpcycgaXMgYSBudW1iZXIgdGhhdCBjb252ZXJ0cyB0byBhIHN0cmluZyAodmFsdWUgaXMgMShmb2xsb3dpbmcgMjIgemVyb3MpKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHJldHVybiBTdHJpbmcucHJvdG90eXBlLnRyaW0uY2FsbCgxMDAwMDAwMDAwMDAwMDAwMDAwMDAwMCkgPT09ICIxZSsyMiI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"String.prototype.trim - argument 'this' is a number that converts to a string (value is 1(following 22 zeros))","path":"TestCases/ch15/15.5/15.5.4/15.5.4.20/15.5.4.20-2-14.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuMjAvMTUuNS40LjIwLTItMTUuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpbmcucHJvdG90eXBlLnRyaW0gLSBhcmd1bWVudCAndGhpcycgaXMgYSBudW1iZXIgdGhhdCBjb252ZXJ0cyB0byBhIHN0cmluZyAodmFsdWUgaXMgMWUrMjApDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgcmV0dXJuIFN0cmluZy5wcm90b3R5cGUudHJpbS5jYWxsKDFlKzIwKSA9PT0gIjEwMDAwMDAwMDAwMDAwMDAwMDAwMCI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"String.prototype.trim - argument 'this' is a number that converts to a string (value is 1e+20)","path":"TestCases/ch15/15.5/15.5.4/15.5.4.20/15.5.4.20-2-15.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuMjAvMTUuNS40LjIwLTItMTYuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpbmcucHJvdG90eXBlLnRyaW0gLSBhcmd1bWVudCAndGhpcycgaXMgYSBudW1iZXIgdGhhdCBjb252ZXJ0cyB0byBzdHJpbmcgKHZhbHVlIGlzIDFlKzIxKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHJldHVybiBTdHJpbmcucHJvdG90eXBlLnRyaW0uY2FsbCgxZSsyMSkgPT09ICIxZSsyMSI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"String.prototype.trim - argument 'this' is a number that converts to string (value is 1e+21)","path":"TestCases/ch15/15.5/15.5.4/15.5.4.20/15.5.4.20-2-16.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuMjAvMTUuNS40LjIwLTItMTcuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpbmcucHJvdG90eXBlLnRyaW0gLSBhcmd1bWVudCAndGhpcycgaXMgYSBudW1iZXIgdGhhdCBjb252ZXJ0cyB0byBzdHJpbmcgKHZhbHVlIGlzIDFlKzIyKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHJldHVybiBTdHJpbmcucHJvdG90eXBlLnRyaW0uY2FsbCgxZSsyMikgPT09ICIxZSsyMiI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"String.prototype.trim - argument 'this' is a number that converts to string (value is 1e+22)","path":"TestCases/ch15/15.5/15.5.4/15.5.4.20/15.5.4.20-2-17.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuMjAvMTUuNS40LjIwLTItMTguanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpbmcucHJvdG90eXBlLnRyaW0gLSBhcmd1bWVudCAndGhpcycgaXMgYSBudW1iZXIgdGhhdCBjb252ZXJ0cyB0byBhIHN0cmluZyAodmFsdWUgaXMgMC4wMDAwMDEpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgcmV0dXJuIFN0cmluZy5wcm90b3R5cGUudHJpbS5jYWxsKDAuMDAwMDAxKSA9PT0gIjAuMDAwMDAxIjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"String.prototype.trim - argument 'this' is a number that converts to a string (value is 0.000001)","path":"TestCases/ch15/15.5/15.5.4/15.5.4.20/15.5.4.20-2-18.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuMjAvMTUuNS40LjIwLTItMTkuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpbmcucHJvdG90eXBlLnRyaW0gLSBhcmd1bWVudCBhcmd1bWVudCAndGhpcycgaXMgYSBudW1iZXIgdGhhdCBjb252ZXJ0cyB0byBhIHN0cmluZyAodmFsdWUgaXMgMC4wMDAwMDAxKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHJldHVybiBTdHJpbmcucHJvdG90eXBlLnRyaW0uY2FsbCgwLjAwMDAwMDEpID09PSAiMWUtNyI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"String.prototype.trim - argument argument 'this' is a number that converts to a string (value is 0.0000001)","path":"TestCases/ch15/15.5/15.5.4/15.5.4.20/15.5.4.20-2-19.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuMjAvMTUuNS40LjIwLTItMi5qcw0KICogQGRlc2NyaXB0aW9uIFN0cmluZy5wcm90b3R5cGUudHJpbSAtIGFyZ3VtZW50ICd0aGlzJyBpcyBhIGJvb2xlYW4gd2hvc2UgdmFsdWUgaXMgdHJ1ZQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHJldHVybiBTdHJpbmcucHJvdG90eXBlLnRyaW0uY2FsbCh0cnVlKSA9PT0gInRydWUiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"String.prototype.trim - argument 'this' is a boolean whose value is true","path":"TestCases/ch15/15.5/15.5.4/15.5.4.20/15.5.4.20-2-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuMjAvMTUuNS40LjIwLTItMjAuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpbmcucHJvdG90eXBlLnRyaW0gLSBhcmd1bWVudCAndGhpcycgaXMgYSBudW1iZXIgdGhhdCBjb252ZXJ0cyB0byBhIHN0cmluZyAodmFsdWUgaXMgMC4wMDAwMDAwMSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICByZXR1cm4gU3RyaW5nLnByb3RvdHlwZS50cmltLmNhbGwoMC4wMDAwMDAwMSkgPT09ICIxZS04IjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"String.prototype.trim - argument 'this' is a number that converts to a string (value is 0.00000001)","path":"TestCases/ch15/15.5/15.5.4/15.5.4.20/15.5.4.20-2-20.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuMjAvMTUuNS40LjIwLTItMjEuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpbmcucHJvdG90eXBlLnRyaW0gLSBhcmd1bWVudCAndGhpcycgaXMgYSBudW1iZXIgdGhhdCBjb252ZXJ0cyB0byBhIHN0cmluZyAodmFsdWUgaXMgMWUtNykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICByZXR1cm4gU3RyaW5nLnByb3RvdHlwZS50cmltLmNhbGwoMWUtNykgPT09ICIxZS03IjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"String.prototype.trim - argument 'this' is a number that converts to a string (value is 1e-7)","path":"TestCases/ch15/15.5/15.5.4/15.5.4.20/15.5.4.20-2-21.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuMjAvMTUuNS40LjIwLTItMjIuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpbmcucHJvdG90eXBlLnRyaW0gLSBhcmd1bWVudCAndGhpcycgaXMgYSBudW1iZXIgdGhhdCBjb252ZXJ0cyB0byBhIHN0cmluZyAodmFsdWUgaXMgMWUtNikNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICByZXR1cm4gU3RyaW5nLnByb3RvdHlwZS50cmltLmNhbGwoMWUtNikgPT09ICIwLjAwMDAwMSI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"String.prototype.trim - argument 'this' is a number that converts to a string (value is 1e-6)","path":"TestCases/ch15/15.5/15.5.4/15.5.4.20/15.5.4.20-2-22.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuMjAvMTUuNS40LjIwLTItMjMuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpbmcucHJvdG90eXBlLnRyaW0gLSBhcmd1bWVudCAndGhpcycgaXMgYSBudW1iZXIgdGhhdCBjb252ZXJ0cyB0byBhIHN0cmluZyAodmFsdWUgaXMgMWUtNSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICByZXR1cm4gU3RyaW5nLnByb3RvdHlwZS50cmltLmNhbGwoMWUtNSkgPT09ICIwLjAwMDAxIjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"String.prototype.trim - argument 'this' is a number that converts to a string (value is 1e-5)","path":"TestCases/ch15/15.5/15.5.4/15.5.4.20/15.5.4.20-2-23.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuMjAvMTUuNS40LjIwLTItMjQuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpbmcucHJvdG90eXBlLnRyaW0gLSBhcmd1bWVudCAndGhpcycgaXMgYW4gaW50ZWdlciB0aGF0IGNvbnZlcnRzIHRvIGEgc3RyaW5nICh2YWx1ZSBpcyAxMjMpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgcmV0dXJuIFN0cmluZy5wcm90b3R5cGUudHJpbS5jYWxsKDEyMykgPT09ICIxMjMiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"String.prototype.trim - argument 'this' is an integer that converts to a string (value is 123)","path":"TestCases/ch15/15.5/15.5.4/15.5.4.20/15.5.4.20-2-24.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuMjAvMTUuNS40LjIwLTItMjUuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpbmcucHJvdG90eXBlLnRyaW0gLSBhcmd1bWVudCAndGhpcycgaXMgYSBkZWNpbWFsIHRoYXQgY29udmVydHMgdG8gYSBzdHJpbmcgKHZhbHVlIGlzIDEyMy40NTYpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgcmV0dXJuIFN0cmluZy5wcm90b3R5cGUudHJpbS5jYWxsKDEyMy40NTYpID09PSAiMTIzLjQ1NiI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"String.prototype.trim - argument 'this' is a decimal that converts to a string (value is 123.456)","path":"TestCases/ch15/15.5/15.5.4/15.5.4.20/15.5.4.20-2-25.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuMjAvMTUuNS40LjIwLTItMjYuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpbmcucHJvdG90eXBlLnRyaW0gLSBhcmd1bWVudCAndGhpcycgaXMgYSBudW1iZXIgdGhhdCBjb252ZXJ0cyB0byBhIHN0cmluZyAodmFsdWUgaXMgMShmb2xsb3dpbmcgMjAgemVyb3MpLjEyMykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICByZXR1cm4gU3RyaW5nLnByb3RvdHlwZS50cmltLmNhbGwoMTAwMDAwMDAwMDAwMDAwMDAwMDAwLjEyMykgPT09ICIxMDAwMDAwMDAwMDAwMDAwMDAwMDAiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"String.prototype.trim - argument 'this' is a number that converts to a string (value is 1(following 20 zeros).123)","path":"TestCases/ch15/15.5/15.5.4/15.5.4.20/15.5.4.20-2-26.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuMjAvMTUuNS40LjIwLTItMjcuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpbmcucHJvdG90eXBlLnRyaW0gLSBhcmd1bWVudCAndGhpcycgaXMgYSBudW1iZXIgdGhhdCBjb252ZXJ0cyB0byBhIHN0cmluZyAodmFsdWUgaXMgMTIzLjEyMzQ1NjcpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgcmV0dXJuIFN0cmluZy5wcm90b3R5cGUudHJpbS5jYWxsKDEyMy4xMjM0NTY3KSA9PT0gIjEyMy4xMjM0NTY3IjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"String.prototype.trim - argument 'this' is a number that converts to a string (value is 123.1234567)","path":"TestCases/ch15/15.5/15.5.4/15.5.4.20/15.5.4.20-2-27.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuMjAvMTUuNS40LjIwLTItMjguanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpbmcucHJvdG90eXBlLnRyaW0gLSBhcmd1bWVudCAndGhpcycgaXMgYW4gZW1wdHkgc3RyaW5nIA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHJldHVybiBTdHJpbmcucHJvdG90eXBlLnRyaW0uY2FsbCgiIikgPT09ICIiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"String.prototype.trim - argument 'this' is an empty string","path":"TestCases/ch15/15.5/15.5.4/15.5.4.20/15.5.4.20-2-28.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuMjAvMTUuNS40LjIwLTItMjkuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpbmcucHJvdG90eXBlLnRyaW0gLSBhcmd1bWVudCAndGhpcycgaXMgYSBzdHJpbmcodmFsdWUgaXMgJ0FCDQogKiBcY2QnKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHJldHVybiBTdHJpbmcucHJvdG90eXBlLnRyaW0uY2FsbCgiQUJcblxcY2QiKSA9PT0gIkFCXG5cXGNkIjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"String.prototype.trim - argument 'this' is a string(value is 'AB\n\\cd')","path":"TestCases/ch15/15.5/15.5.4/15.5.4.20/15.5.4.20-2-29.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuMjAvMTUuNS40LjIwLTItMy5qcw0KICogQGRlc2NyaXB0aW9uIFN0cmluZy5wcm90b3R5cGUudHJpbSAtIGFyZ3VtZW50ICd0aGlzJyBpcyBhIG51bWJlciB0aGF0IGNvbnZlcnRzIHRvIGEgc3RyaW5nICh2YWx1ZSBpcyBOYU4pDQogKi8NCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHJldHVybiBTdHJpbmcucHJvdG90eXBlLnRyaW0uY2FsbChOYU4pID09PSAiTmFOIjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"String.prototype.trim - argument 'this' is a number that converts to a string (value is NaN)","path":"TestCases/ch15/15.5/15.5.4/15.5.4.20/15.5.4.20-2-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuMjAvMTUuNS40LjIwLTItMzAuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpbmcucHJvdG90eXBlLnRyaW0gLSBhcmd1bWVudCAndGhpcycgaXMgYSBzdHJpbmcodmFsdWUgaXMgJ3VuZGVmaW5lZCcpIA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHJldHVybiBTdHJpbmcucHJvdG90eXBlLnRyaW0uY2FsbCgidW5kZWZpbmVkIikgPT09ICJ1bmRlZmluZWQiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"String.prototype.trim - argument 'this' is a string(value is 'undefined')","path":"TestCases/ch15/15.5/15.5.4/15.5.4.20/15.5.4.20-2-30.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuMjAvMTUuNS40LjIwLTItMzEuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpbmcucHJvdG90eXBlLnRyaW0gLSBhcmd1bWVudCAndGhpcycgaXMgYSBzdHJpbmcodmFsdWUgaXMgJ251bGwnKSANCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICByZXR1cm4gU3RyaW5nLnByb3RvdHlwZS50cmltLmNhbGwoIm51bGwiKSA9PT0gIm51bGwiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"String.prototype.trim - argument 'this' is a string(value is 'null')","path":"TestCases/ch15/15.5/15.5.4/15.5.4.20/15.5.4.20-2-31.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuMjAvMTUuNS40LjIwLTItMzIuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpbmcucHJvdG90eXBlLnRyaW0gLSBhcmd1bWVudCAndGhpcycgaXMgYSBzdHJpbmcodmFsdWUgaXMgJzEyMyMkJWFiYycpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgcmV0dXJuIFN0cmluZy5wcm90b3R5cGUudHJpbS5jYWxsKCIxMjMjJCVhYmMiKSA9PT0gIjEyMyMkJWFiYyI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"String.prototype.trim - argument 'this' is a string(value is '123#$%abc')","path":"TestCases/ch15/15.5/15.5.4/15.5.4.20/15.5.4.20-2-32.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuMjAvMTUuNS40LjIwLTItMzMuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpbmcucHJvdG90eXBlLnRyaW0gLSBhcmd1bWVudCAndGhpcycgaXMgYSBzdHJpbmcodmFsdWUgaXMgJzEnKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHJldHVybiBTdHJpbmcucHJvdG90eXBlLnRyaW0uY2FsbCgiMSIpID09PSAiMSI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"String.prototype.trim - argument 'this' is a string(value is '1')","path":"TestCases/ch15/15.5/15.5.4/15.5.4.20/15.5.4.20-2-33.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuMjAvMTUuNS40LjIwLTItMzQuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpbmcucHJvdG90eXBlLnRyaW0gLSAndGhpcycgaXMgYW4gYXJyYXkgdGhhdCBjb252ZXJ0cyB0byBhIHN0cmluZw0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHJldHVybiAoU3RyaW5nLnByb3RvdHlwZS50cmltLmNhbGwoWzFdKSA9PT0gJzEnKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"String.prototype.trim - 'this' is an array that converts to a string","path":"TestCases/ch15/15.5/15.5.4/15.5.4.20/15.5.4.20-2-34.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuMjAvMTUuNS40LjIwLTItMzUuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpbmcucHJvdG90eXBlLnRyaW0gLSAndGhpcycgaXMgYSBTdHJpbmcgT2JqZWN0IHRoYXQgY29udmVydHMgdG8gYSBzdHJpbmcNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICByZXR1cm4gKFN0cmluZy5wcm90b3R5cGUudHJpbS5jYWxsKG5ldyBTdHJpbmcoImFiYyIpKSA9PT0gImFiYyIpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"String.prototype.trim - 'this' is a String Object that converts to a string","path":"TestCases/ch15/15.5/15.5.4/15.5.4.20/15.5.4.20-2-35.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuMjAvMTUuNS40LjIwLTItMzYuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpbmcucHJvdG90eXBlLnRyaW0gLSAndGhpcycgaXMgYSBCb29sZWFuIE9iamVjdCB0aGF0IGNvbnZlcnRzIHRvIGEgc3RyaW5nDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgcmV0dXJuIChTdHJpbmcucHJvdG90eXBlLnRyaW0uY2FsbChuZXcgQm9vbGVhbihmYWxzZSkpID09PSAiZmFsc2UiKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"String.prototype.trim - 'this' is a Boolean Object that converts to a string","path":"TestCases/ch15/15.5/15.5.4/15.5.4.20/15.5.4.20-2-36.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuMjAvMTUuNS40LjIwLTItMzcuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpbmcucHJvdG90eXBlLnRyaW0gLSAndGhpcycgaXMgYSBOdW1iZXIgT2JqZWN0IHRoYXQgY29udmVydHMgdG8gYSBzdHJpbmcNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICByZXR1cm4gKFN0cmluZy5wcm90b3R5cGUudHJpbS5jYWxsKG5ldyBOdW1iZXIoMTIzKSkgPT09ICIxMjMiKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"String.prototype.trim - 'this' is a Number Object that converts to a string","path":"TestCases/ch15/15.5/15.5.4/15.5.4.20/15.5.4.20-2-37.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuMjAvMTUuNS40LjIwLTItMzguanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpbmcucHJvdG90eXBlLnRyaW0gLSAndGhpcycgaXMgYW4gb2JqZWN0IHdoaWNoIGhhcyBhbiBvd24gdG9TdHJpbmcgbWV0aG9kDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIG9iaiA9IHsNCiAgICAgICAgICAgIHRvU3RyaW5nOiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuICJhYmMiOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9Ow0KDQogICAgICAgIHJldHVybiAoU3RyaW5nLnByb3RvdHlwZS50cmltLmNhbGwob2JqKSA9PT0gImFiYyIpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"String.prototype.trim - 'this' is an object which has an own toString method","path":"TestCases/ch15/15.5/15.5.4/15.5.4.20/15.5.4.20-2-38.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuMjAvMTUuNS40LjIwLTItMzkuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpbmcucHJvdG90eXBlLnRyaW0gLSAndGhpcycgaXMgYW4gb2JqZWN0IHdoaWNoIGhhcyBhbiBvd24gdmFsdWVPZiBtZXRob2QNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgb2JqID0gew0KICAgICAgICAgICAgdmFsdWVPZjogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHJldHVybiAiYWJjIjsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfTsNCg0KICAgICAgICByZXR1cm4gKFN0cmluZy5wcm90b3R5cGUudHJpbS5jYWxsKG9iaikgPT09ICJbb2JqZWN0IE9iamVjdF0iKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"String.prototype.trim - 'this' is an object which has an own valueOf method","path":"TestCases/ch15/15.5/15.5.4/15.5.4.20/15.5.4.20-2-39.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuMjAvMTUuNS40LjIwLTItNC5qcw0KICogQGRlc2NyaXB0aW9uIFN0cmluZy5wcm90b3R5cGUudHJpbSAtIGFyZ3VtZW50ICd0aGlzJyBpcyBhIG51bWJlciB0aGF0IGNvbnZlcnRzIHRvIGEgc3RyaW5nICh2YWx1ZSBpcyAwKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHJldHVybiBTdHJpbmcucHJvdG90eXBlLnRyaW0uY2FsbCgwKSA9PT0gIjAiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"String.prototype.trim - argument 'this' is a number that converts to a string (value is 0)","path":"TestCases/ch15/15.5/15.5.4/15.5.4.20/15.5.4.20-2-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuMjAvMTUuNS40LjIwLTItNDAuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpbmcucHJvdG90eXBlLnRyaW0gLSAndGhpcycgaXMgYW4gb2JqZWN0IHRoYXQgaGFzIGFuIG93biB0b1N0cmluZyBtZXRob2QgdGhhdCByZXR1cm5zIGFuIG9iamVjdCBhbmQgdmFsdWVPZiBtZXRob2QgdGhhdCByZXR1cm5zIGEgcHJpbWl0aXZlIHZhbHVlDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIHRvU3RyaW5nQWNjZXNzZWQgPSBmYWxzZTsNCiAgICAgICAgdmFyIHZhbHVlT2ZBY2Nlc3NlZCA9IGZhbHNlOw0KICAgICAgICB2YXIgb2JqID0gew0KICAgICAgICAgICAgdG9TdHJpbmc6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICB0b1N0cmluZ0FjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgICAgICByZXR1cm4ge307DQogICAgICAgICAgICB9LA0KICAgICAgICAgICAgdmFsdWVPZjogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHZhbHVlT2ZBY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICAgICAgcmV0dXJuICJhYmMiOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9Ow0KICAgICAgICByZXR1cm4gKFN0cmluZy5wcm90b3R5cGUudHJpbS5jYWxsKG9iaikgPT09ICJhYmMiKSAmJiB2YWx1ZU9mQWNjZXNzZWQgJiYgdG9TdHJpbmdBY2Nlc3NlZDsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"String.prototype.trim - 'this' is an object that has an own toString method that returns an object and valueOf method that returns a primitive value","path":"TestCases/ch15/15.5/15.5.4/15.5.4.20/15.5.4.20-2-40.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuMjAvMTUuNS40LjIwLTItNDEuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpbmcucHJvdG90eXBlLnRyaW0gLSAndGhpcycgaXMgYW4gb2JqZWN0IHdoaWNoIGhhcyBhbiBvd24gdG9TdHJpbmcgYW5kIHZhbHVlT2YgbWV0aG9kLg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciB0b1N0cmluZ0FjY2Vzc2VkID0gZmFsc2U7DQogICAgICAgIHZhciB2YWx1ZU9mQWNjZXNzZWQgPSBmYWxzZTsNCiAgICAgICAgdmFyIG9iaiA9IHsNCiAgICAgICAgICAgIHRvU3RyaW5nOiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgdG9TdHJpbmdBY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICAgICAgcmV0dXJuICJhYmMiOw0KICAgICAgICAgICAgfSwNCiAgICAgICAgICAgIHZhbHVlT2Y6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICB2YWx1ZU9mQWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgICAgIHJldHVybiAiY2VmIjsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfTsNCiAgICAgICAgcmV0dXJuIChTdHJpbmcucHJvdG90eXBlLnRyaW0uY2FsbChvYmopID09PSAiYWJjIikgJiYgIXZhbHVlT2ZBY2Nlc3NlZCAmJiB0b1N0cmluZ0FjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"String.prototype.trim - 'this' is an object which has an own toString and valueOf method.","path":"TestCases/ch15/15.5/15.5.4/15.5.4.20/15.5.4.20-2-41.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuMjAvMTUuNS40LjIwLTItNDIuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpbmcucHJvdG90eXBlLnRyaW0gLSBUeXBlRXJyb3IgZXhjZXB0aW9uIHdhcyB0aHJvd24gIHdoZW4gJ3RoaXMnIGlzIGFuIG9iamVjdCB0aGF0IGJvdGggdG9TdHJpbmcgYW5kIHZhbHVlT2Ygd291bGRuJ3QgcmV0dXJuIHByaW1pdGl2ZSB2YWx1ZS4NCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgdG9TdHJpbmdBY2Nlc3NlZCA9IGZhbHNlOw0KICAgICAgICB2YXIgdmFsdWVPZkFjY2Vzc2VkID0gZmFsc2U7DQogICAgICAgIHZhciBvYmogPSB7DQogICAgICAgICAgICB0b1N0cmluZzogZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgIHRvU3RyaW5nQWNjZXNzZWQgPSB0cnVlOw0KICAgICAgICAgICAgICAgIHJldHVybiB7fTsNCiAgICAgICAgICAgIH0sDQogICAgICAgICAgICB2YWx1ZU9mOiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgdmFsdWVPZkFjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgICAgICByZXR1cm4ge307DQogICAgICAgICAgICB9DQogICAgICAgIH07DQogICAgICAgIHRyeSB7DQogICAgICAgICAgICBTdHJpbmcucHJvdG90eXBlLnRyaW0uY2FsbChvYmopOw0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9IGNhdGNoIChlKSB7DQogICAgICAgICAgICByZXR1cm4gdmFsdWVPZkFjY2Vzc2VkICYmIHRvU3RyaW5nQWNjZXNzZWQgJiYgKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpOw0KICAgICAgICB9DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"String.prototype.trim - TypeError exception was thrown when 'this' is an object that both toString and valueOf wouldn't return primitive value.","path":"TestCases/ch15/15.5/15.5.4/15.5.4.20/15.5.4.20-2-42.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuMjAvMTUuNS40LjIwLTItNDMuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpbmcucHJvdG90eXBlLnRyaW0gLSAndGhpcycgaXMgYW4gb2JqZWN0IHdpdGggYW4gb3duIHZhbHVlT2YgYW5kIGluaGVyaXRlZCB0b1N0cmluZyBtZXRob2RzIHdpdGggaGludCBzdHJpbmcsIHZlcmlmeSBpbmhlcml0ZWQgdG9TdHJpbmcgbWV0aG9kIHdpbGwgYmUgY2FsbGVkIGZpcnN0DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgdG9TdHJpbmdBY2Nlc3NlZCA9IGZhbHNlOw0KICAgICAgICB2YXIgdmFsdWVPZkFjY2Vzc2VkID0gZmFsc2U7DQoNCiAgICAgICAgdmFyIHByb3RvID0gew0KICAgICAgICAgICAgdG9TdHJpbmc6IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICB0b1N0cmluZ0FjY2Vzc2VkID0gdHJ1ZTsNCiAgICAgICAgICAgICAgICByZXR1cm4gImFiYyI7DQogICAgICAgICAgICB9DQogICAgICAgIH07DQoNCiAgICAgICAgdmFyIENvbiA9IGZ1bmN0aW9uICgpIHsgfTsNCiAgICAgICAgQ29uLnByb3RvdHlwZSA9IHByb3RvOw0KDQogICAgICAgIHZhciBjaGlsZCA9IG5ldyBDb24oKTsNCiAgICAgICAgY2hpbGQudmFsdWVPZiA9IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgIHZhbHVlT2ZBY2Nlc3NlZCA9IHRydWU7DQogICAgICAgICAgICByZXR1cm4gImVmZyI7DQogICAgICAgIH07DQogICAgICAgIHJldHVybiAoU3RyaW5nLnByb3RvdHlwZS50cmltLmNhbGwoY2hpbGQpID09PSAiYWJjIikgJiYgdG9TdHJpbmdBY2Nlc3NlZCAmJiAhdmFsdWVPZkFjY2Vzc2VkOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"String.prototype.trim - 'this' is an object with an own valueOf and inherited toString methods with hint string, verify inherited toString method will be called first","path":"TestCases/ch15/15.5/15.5.4/15.5.4.20/15.5.4.20-2-43.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuMjAvMTUuNS40LjIwLTItNDQuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpbmcucHJvdG90eXBlLnRyaW0gLSAndGhpcycgaXMgYSBzdHJpbmcgdGhhdCBjb250YWlucyBlYXN0IEFzaWFuIGNoYXJhY3RlcnMgKHZhbHVlIGlzICdTROWSleWZnCcpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIHN0ciA9ICJTROWSleWZnCI7DQogICAgICAgIHJldHVybiBzdHIudHJpbSgpID09PSBzdHI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"String.prototype.trim - 'this' is a string that contains east Asian characters (value is 'SD\u5495\u565c')","path":"TestCases/ch15/15.5/15.5.4/15.5.4.20/15.5.4.20-2-44.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuMjAvMTUuNS40LjIwLTItNDUuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpbmcucHJvdG90eXBlLnRyaW0gLSAndGhpcycgaXMgYSBzdHJpbmcgdGhhdCBjb250YWlucyB3aGl0ZSBzcGFjZSwgY2hhcmFjdGVyLCBudW1iZXIsIG9iamVjdCBhbmQgbnVsbCBjaGFyYWN0ZXJzDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIHN0ciA9ICJhYmMiICsgIiAgICIgKyAxMjMgKyAiICAgIiArIHt9ICsgIiAgICAiICsgIlx1MDAwMCI7DQogICAgICAgIHZhciBzdHIxID0gIiAgICAiICsgc3RyICsgIiAgICAiOw0KICAgICAgICByZXR1cm4gc3RyMS50cmltKCkgPT09IHN0cjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"String.prototype.trim - 'this' is a string that contains white space, character, number, object and null characters","path":"TestCases/ch15/15.5/15.5.4/15.5.4.20/15.5.4.20-2-45.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuMjAvMTUuNS40LjIwLTItNDYuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpbmcucHJvdG90eXBlLnRyaW0gLSAndGhpcycgaXMgYSBGdW5jdGlvbiBPYmplY3QgdGhhdCBjb252ZXJ0cyB0byBhIHN0cmluZw0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBmdW5PYmogPSBmdW5jdGlvbiAoKSB7IHJldHVybiBhcmd1bWVudHM7IH07DQogICAgICAgIHJldHVybiB0eXBlb2YoU3RyaW5nLnByb3RvdHlwZS50cmltLmNhbGwoZnVuT2JqKSkgPT09ICJzdHJpbmciOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"String.prototype.trim - 'this' is a Function Object that converts to a string","path":"TestCases/ch15/15.5/15.5.4/15.5.4.20/15.5.4.20-2-46.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuMjAvMTUuNS40LjIwLTItNDcuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpbmcucHJvdG90eXBlLnRyaW0gLSAndGhpcycgaXMgYSBvYmplY3QgT2JqZWN0IHRoYXQgY29udmVydHMgdG8gYSBzdHJpbmcNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICByZXR1cm4gU3RyaW5nLnByb3RvdHlwZS50cmltLmNhbGwoe30pID09PSAiW29iamVjdCBPYmplY3RdIjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"String.prototype.trim - 'this' is a object Object that converts to a string","path":"TestCases/ch15/15.5/15.5.4/15.5.4.20/15.5.4.20-2-47.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuMjAvMTUuNS40LjIwLTItNDkuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpbmcucHJvdG90eXBlLnRyaW0gLSAndGhpcycgaXMgYSBSZWdFeHAgT2JqZWN0IHRoYXQgY29udmVydHMgdG8gYSBzdHJpbmcNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgcmVnT2JqID0gbmV3IFJlZ0V4cCgvdGVzdC8pOw0KICAgICAgICByZXR1cm4gU3RyaW5nLnByb3RvdHlwZS50cmltLmNhbGwocmVnT2JqKSA9PT0gIi90ZXN0LyI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"String.prototype.trim - 'this' is a RegExp Object that converts to a string","path":"TestCases/ch15/15.5/15.5.4/15.5.4.20/15.5.4.20-2-49.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuMjAvMTUuNS40LjIwLTItNS5qcw0KICogQGRlc2NyaXB0aW9uIFN0cmluZy5wcm90b3R5cGUudHJpbSAtIGFyZ3VtZW50ICd0aGlzJyBpcyBhIG51bWJlciB0aGF0IGNvbnZlcnRzIHRvIGEgc3RyaW5nICh2YWx1ZSBpcyArMCkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICByZXR1cm4gU3RyaW5nLnByb3RvdHlwZS50cmltLmNhbGwoKzApID09PSAiMCI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"String.prototype.trim - argument 'this' is a number that converts to a string (value is +0)","path":"TestCases/ch15/15.5/15.5.4/15.5.4.20/15.5.4.20-2-5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuMjAvMTUuNS40LjIwLTItNTAuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpbmcucHJvdG90eXBlLnRyaW0gLSAndGhpcycgaXMgYSBFcnJvciBPYmplY3QgdGhhdCBjb252ZXJ0cyB0byBhIHN0cmluZw0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBlcnJPYmogPSBuZXcgRXJyb3IoInRlc3QiKTsNCiAgICAgICAgcmV0dXJuIFN0cmluZy5wcm90b3R5cGUudHJpbS5jYWxsKGVyck9iaikgPT09ICJFcnJvcjogdGVzdCI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"String.prototype.trim - 'this' is a Error Object that converts to a string","path":"TestCases/ch15/15.5/15.5.4/15.5.4.20/15.5.4.20-2-50.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuMjAvMTUuNS40LjIwLTItNTEuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpbmcucHJvdG90eXBlLnRyaW0gLSAndGhpcycgaXMgYSBBcmd1bWVudHMgT2JqZWN0IHRoYXQgY29udmVydHMgdG8gYSBzdHJpbmcNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgYXJnT2JqID0gZnVuY3Rpb24gKCkgeyByZXR1cm4gYXJndW1lbnRzOyB9ICgxLCAyLCB0cnVlKTsNCiAgICAgICAgcmV0dXJuIFN0cmluZy5wcm90b3R5cGUudHJpbS5jYWxsKGFyZ09iaikgPT09ICJbb2JqZWN0IEFyZ3VtZW50c10iOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"String.prototype.trim - 'this' is a Arguments Object that converts to a string","path":"TestCases/ch15/15.5/15.5.4/15.5.4.20/15.5.4.20-2-51.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuMjAvMTUuNS40LjIwLTItNi5qcw0KICogQGRlc2NyaXB0aW9uIFN0cmluZy5wcm90b3R5cGUudHJpbSAtIGFyZ3VtZW50ICd0aGlzJyBpcyBhIG51bWJlciB0aGF0IGNvbnZlcnRzIHRvIGEgc3RyaW5nICh2YWx1ZSBpcyAtMCkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICByZXR1cm4gU3RyaW5nLnByb3RvdHlwZS50cmltLmNhbGwoLTApID09PSAiMCI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"String.prototype.trim - argument 'this' is a number that converts to a string (value is -0)","path":"TestCases/ch15/15.5/15.5.4/15.5.4.20/15.5.4.20-2-6.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuMjAvMTUuNS40LjIwLTItNy5qcw0KICogQGRlc2NyaXB0aW9uIFN0cmluZy5wcm90b3R5cGUudHJpbSAtIGFyZ3VtZW50ICd0aGlzJyBpcyBhIG51bWJlciB0aGF0IGNvbnZlcnRzIHRvIGEgc3RyaW5nICh2YWx1ZSBpcyBwb3NpdGl2ZSBudW1iZXIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgcmV0dXJuIFN0cmluZy5wcm90b3R5cGUudHJpbS5jYWxsKDMwKSA9PT0gIjMwIjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"String.prototype.trim - argument 'this' is a number that converts to a string (value is positive number)","path":"TestCases/ch15/15.5/15.5.4/15.5.4.20/15.5.4.20-2-7.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuMjAvMTUuNS40LjIwLTItOC5qcw0KICogQGRlc2NyaXB0aW9uIFN0cmluZy5wcm90b3R5cGUudHJpbSAtIGFyZ3VtZW50ICd0aGlzJyBpcyBhIG51bWJlciB0aGF0IGNvbnZlcnRzIHRvIGEgc3RyaW5nICh2YWx1ZSBpcyBuZWdhdGl2ZSBudW1iZXIpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgcmV0dXJuIFN0cmluZy5wcm90b3R5cGUudHJpbS5jYWxsKC0yMCkgPT09ICItMjAiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"String.prototype.trim - argument 'this' is a number that converts to a string (value is negative number)","path":"TestCases/ch15/15.5/15.5.4/15.5.4.20/15.5.4.20-2-8.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuMjAvMTUuNS40LjIwLTItOS5qcw0KICogQGRlc2NyaXB0aW9uIFN0cmluZy5wcm90b3R5cGUudHJpbSAtIGFyZ3VtZW50ICd0aGlzJyBpcyBhIG51bWJlciB0aGF0IGNvbnZlcnRzIHRvIGEgc3RyaW5nICh2YWx1ZSBpcyBJbmZpbml0eSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICByZXR1cm4gU3RyaW5nLnByb3RvdHlwZS50cmltLmNhbGwoSW5maW5pdHkpID09PSAiSW5maW5pdHkiOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"String.prototype.trim - argument 'this' is a number that converts to a string (value is Infinity)","path":"TestCases/ch15/15.5/15.5.4/15.5.4.20/15.5.4.20-2-9.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuMjAvMTUuNS40LjIwLTMtMS5qcw0KICogQGRlc2NyaXB0aW9uIFN0cmluZy5wcm90b3R5cGUudHJpbSAtICdTJyBpcyBhIHN0cmluZyB3aXRoIGFsbCBMaW5lVGVybWluYXRvcg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQoNCiAgICAgICAgdmFyIGxpbmVUZXJtaW5hdG9yc1N0ciA9ICJcdTAwMEFcdTAwMERcdTIwMjhcdTIwMjkiOw0KICAgICAgICByZXR1cm4gKGxpbmVUZXJtaW5hdG9yc1N0ci50cmltKCkgPT09ICIiKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"String.prototype.trim - 'S' is a string with all LineTerminator","path":"TestCases/ch15/15.5/15.5.4/15.5.4.20/15.5.4.20-3-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuMjAvMTUuNS40LjIwLTMtMTAuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpbmcucHJvdG90eXBlLnRyaW0gLSAnUycgaXMgYSBzdHJpbmcgd2l0aCBudWxsIGNoYXJhY3RlciAoJ1x1MDAwMCcpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgcmV0dXJuICJcdTAwMDAiLnRyaW0oKSA9PT0gIlx1MDAwMCI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"String.prototype.trim - 'S' is a string with null character ('\\u0000')","path":"TestCases/ch15/15.5/15.5.4/15.5.4.20/15.5.4.20-3-10.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuMjAvMTUuNS40LjIwLTMtMTEuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpbmcucHJvdG90eXBlLnRyaW0gLSAnUycgaXMgYSBzdHJpbmcgdGhhdCBzdGFydHMgd2l0aCBudWxsIGNoYXJhY3Rlcg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHJldHVybiAiXDBcdTAwMDBhYmMiLnRyaW0oKSA9PT0gIlwwXHUwMDAwYWJjIjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"String.prototype.trim - 'S' is a string that starts with null character","path":"TestCases/ch15/15.5/15.5.4/15.5.4.20/15.5.4.20-3-11.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuMjAvMTUuNS40LjIwLTMtMTIuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpbmcucHJvdG90eXBlLnRyaW0gLSAnUycgaXMgYSBzdHJpbmcgdGhhdCBlbmRzIHdpdGggbnVsbCBjaGFyYWN0ZXINCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICByZXR1cm4gImFiY1wwXHUwMDAwIi50cmltKCkgPT09ICJhYmNcMFx1MDAwMCI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"String.prototype.trim - 'S' is a string that ends with null character","path":"TestCases/ch15/15.5/15.5.4/15.5.4.20/15.5.4.20-3-12.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuMjAvMTUuNS40LjIwLTMtMTMuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpbmcucHJvdG90eXBlLnRyaW0gLSAnUycgaXMgYSBzdHJpbmcgdGhhdCBzdGFydHMgd2l0aCBudWxsIGNoYXJhY3RlciBhbmQgZW5kcyB3aXRoIG51bGwgY2hhcmFjdGVyDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgcmV0dXJuICJcMFx1MDAwMGFiY1wwXHUwMDAwIi50cmltKCkgPT09ICJcMFx1MDAwMGFiY1wwXHUwMDAwIjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"String.prototype.trim - 'S' is a string that starts with null character and ends with null character","path":"TestCases/ch15/15.5/15.5.4/15.5.4.20/15.5.4.20-3-13.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuMjAvMTUuNS40LjIwLTMtMTQuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpbmcucHJvdG90eXBlLnRyaW0gLSAnUycgaXMgYSBzdHJpbmcgdGhhdCBoYXMgbnVsbCBjaGFyYWN0ZXIgaW4gdGhlIG1pZGRsZQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgICAgICByZXR1cm4gImFcMFx1MDAwMGJjIi50cmltKCkgPT09ICJhXDBcdTAwMDBiYyI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"String.prototype.trim - 'S' is a string that has null character in the middle","path":"TestCases/ch15/15.5/15.5.4/15.5.4.20/15.5.4.20-3-14.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuMjAvMTUuNS40LjIwLTMtMi5qcw0KICogQGRlc2NyaXB0aW9uIFN0cmluZy5wcm90b3R5cGUudHJpbSAtICdTJyBpcyBhIHN0cmluZyB3aXRoIGFsbCBXaGl0ZVNwYWNlDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCg0KICAgICAgICB2YXIgd2hpdGVTcGFjZXNTdHIgPSAiXHUwMDA5XHUwMDBBXHUwMDBCXHUwMDBDXHUwMDBEXHUwMDIwXHUwMEEwXHUxNjgwXHUxODBFXHUyMDAwXHUyMDAxXHUyMDAyXHUyMDAzXHUyMDA0XHUyMDA1XHUyMDA2XHUyMDA3XHUyMDA4XHUyMDA5XHUyMDBBXHUyMDI4XHUyMDI5XHUyMDJGXHUyMDVGXHUzMDAwXHVGRUZGIjsNCiAgICAgICAgcmV0dXJuICh3aGl0ZVNwYWNlc1N0ci50cmltKCkgPT09ICIiKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"String.prototype.trim - 'S' is a string with all WhiteSpace","path":"TestCases/ch15/15.5/15.5.4/15.5.4.20/15.5.4.20-3-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuMjAvMTUuNS40LjIwLTMtMy5qcw0KICogQGRlc2NyaXB0aW9uIFN0cmluZy5wcm90b3R5cGUudHJpbSAtICdTJyBpcyBhIHN0cmluZyB3aXRoIGFsbCB1bmlvbiBvZiBXaGl0ZVNwYWNlIGFuZCBMaW5lVGVybWluYXRvcg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHZhciBsaW5lVGVybWluYXRvcnNTdHIgPSAiXHUwMDBBXHUwMDBEXHUyMDI4XHUyMDI5IjsNCiAgICAgICAgdmFyIHdoaXRlU3BhY2VzU3RyID0gIlx1MDAwOVx1MDAwQVx1MDAwQlx1MDAwQ1x1MDAwRFx1MDAyMFx1MDBBMFx1MTY4MFx1MTgwRVx1MjAwMFx1MjAwMVx1MjAwMlx1MjAwM1x1MjAwNFx1MjAwNVx1MjAwNlx1MjAwN1x1MjAwOFx1MjAwOVx1MjAwQVx1MjAyOFx1MjAyOVx1MjAyRlx1MjA1Rlx1MzAwMFx1RkVGRiI7DQogICAgICAgIHZhciBzdHIgPSB3aGl0ZVNwYWNlc1N0ciArIGxpbmVUZXJtaW5hdG9yc1N0cjsNCg0KICAgICAgICByZXR1cm4gKHN0ci50cmltKCkgPT09ICIiKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"String.prototype.trim - 'S' is a string with all union of WhiteSpace and LineTerminator","path":"TestCases/ch15/15.5/15.5.4/15.5.4.20/15.5.4.20-3-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuMjAvMTUuNS40LjIwLTMtNC5qcw0KICogQGRlc2NyaXB0aW9uIFN0cmluZy5wcm90b3R5cGUudHJpbSAtICdTJyBpcyBhIHN0cmluZyBzdGFydCB3aXRoIHVuaW9uIG9mIGFsbCBMaW5lVGVybWluYXRvciBhbmQgYWxsIFdoaXRlU3BhY2UNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgbGluZVRlcm1pbmF0b3JzU3RyID0gIlx1MDAwQVx1MDAwRFx1MjAyOFx1MjAyOSI7DQogICAgICAgIHZhciB3aGl0ZVNwYWNlc1N0ciA9ICJcdTAwMDlcdTAwMEFcdTAwMEJcdTAwMENcdTAwMERcdTAwMjBcdTAwQTBcdTE2ODBcdTE4MEVcdTIwMDBcdTIwMDFcdTIwMDJcdTIwMDNcdTIwMDRcdTIwMDVcdTIwMDZcdTIwMDdcdTIwMDhcdTIwMDlcdTIwMEFcdTIwMjhcdTIwMjlcdTIwMkZcdTIwNUZcdTMwMDBcdUZFRkYiOw0KICAgICAgICB2YXIgc3RyID0gd2hpdGVTcGFjZXNTdHIgKyBsaW5lVGVybWluYXRvcnNTdHIgKyAiYWJjIjsNCg0KICAgICAgICByZXR1cm4gKHN0ci50cmltKCkgPT09ICJhYmMiKTsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"String.prototype.trim - 'S' is a string start with union of all LineTerminator and all WhiteSpace","path":"TestCases/ch15/15.5/15.5.4/15.5.4.20/15.5.4.20-3-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuMjAvMTUuNS40LjIwLTMtNS5qcw0KICogQGRlc2NyaXB0aW9uIFN0cmluZy5wcm90b3R5cGUudHJpbSAtICdTJyBpcyBhIHN0cmluZyBlbmQgd2l0aCB1bmlvbiBvZiBhbGwgTGluZVRlcm1pbmF0b3IgYW5kIGFsbCBXaGl0ZVNwYWNlDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgICAgICAgdmFyIGxpbmVUZXJtaW5hdG9yc1N0ciA9ICJcdTAwMEFcdTAwMERcdTIwMjhcdTIwMjkiOw0KICAgICAgICB2YXIgd2hpdGVTcGFjZXNTdHIgPSAiXHUwMDA5XHUwMDBBXHUwMDBCXHUwMDBDXHUwMDBEXHUwMDIwXHUwMEEwXHUxNjgwXHUxODBFXHUyMDAwXHUyMDAxXHUyMDAyXHUyMDAzXHUyMDA0XHUyMDA1XHUyMDA2XHUyMDA3XHUyMDA4XHUyMDA5XHUyMDBBXHUyMDI4XHUyMDI5XHUyMDJGXHUyMDVGXHUzMDAwXHVGRUZGIjsNCiAgICAgICAgdmFyIHN0ciA9ICJhYmMiICsgd2hpdGVTcGFjZXNTdHIgKyBsaW5lVGVybWluYXRvcnNTdHIgOw0KDQogICAgICAgIHJldHVybiAoc3RyLnRyaW0oKSA9PT0gImFiYyIpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"String.prototype.trim - 'S' is a string end with union of all LineTerminator and all WhiteSpace","path":"TestCases/ch15/15.5/15.5.4/15.5.4.20/15.5.4.20-3-5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuMjAvMTUuNS40LjIwLTMtNi5qcw0KICogQGRlc2NyaXB0aW9uIFN0cmluZy5wcm90b3R5cGUudHJpbSAtICdTJyBpcyBhIHN0cmluZyBzdGFydCB3aXRoIHVuaW9uIG9mIGFsbCBMaW5lVGVybWluYXRvciBhbmQgYWxsIFdoaXRlU3BhY2UgYW5kIGVuZCB3aXRoIHVuaW9uIG9mIGFsbCBMaW5lVGVybWluYXRvciBhbmQgYWxsIFdoaXRlU3BhY2UNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgbGluZVRlcm1pbmF0b3JzU3RyID0gIlx1MDAwQVx1MDAwRFx1MjAyOFx1MjAyOSI7DQogICAgICAgIHZhciB3aGl0ZVNwYWNlc1N0ciA9ICJcdTAwMDlcdTAwMEFcdTAwMEJcdTAwMENcdTAwMERcdTAwMjBcdTAwQTBcdTE2ODBcdTE4MEVcdTIwMDBcdTIwMDFcdTIwMDJcdTIwMDNcdTIwMDRcdTIwMDVcdTIwMDZcdTIwMDdcdTIwMDhcdTIwMDlcdTIwMEFcdTIwMjhcdTIwMjlcdTIwMkZcdTIwNUZcdTMwMDBcdUZFRkYiOw0KICAgICAgICB2YXIgc3RyID0gd2hpdGVTcGFjZXNTdHIgKyBsaW5lVGVybWluYXRvcnNTdHIgKyAiYWJjIiArIHdoaXRlU3BhY2VzU3RyICsgbGluZVRlcm1pbmF0b3JzU3RyOw0KDQogICAgICAgIHJldHVybiAoc3RyLnRyaW0oKSA9PT0gImFiYyIpOw0KICAgIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"String.prototype.trim - 'S' is a string start with union of all LineTerminator and all WhiteSpace and end with union of all LineTerminator and all WhiteSpace","path":"TestCases/ch15/15.5/15.5.4/15.5.4.20/15.5.4.20-3-6.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuMjAvMTUuNS40LjIwLTMtNy5qcw0KICogQGRlc2NyaXB0aW9uIFN0cmluZy5wcm90b3R5cGUudHJpbSAtICdTJyBpcyBhIHN0cmluZyB0aGF0IHVuaW9uIG9mIExpbmVUZXJtaW5hdG9yIGFuZCBXaGl0ZVNwYWNlIGluIHRoZSBtaWRkbGUNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICAgICAgICB2YXIgbGluZVRlcm1pbmF0b3JzU3RyID0gIlx1MDAwQVx1MDAwRFx1MjAyOFx1MjAyOSI7DQogICAgICAgIHZhciB3aGl0ZVNwYWNlc1N0ciA9ICJcdTAwMDlcdTAwMEFcdTAwMEJcdTAwMENcdTAwMERcdTAwMjBcdTAwQTBcdTE2ODBcdTE4MEVcdTIwMDBcdTIwMDFcdTIwMDJcdTIwMDNcdTIwMDRcdTIwMDVcdTIwMDZcdTIwMDdcdTIwMDhcdTIwMDlcdTIwMEFcdTIwMjhcdTIwMjlcdTIwMkZcdTIwNUZcdTMwMDBcdUZFRkYiOw0KICAgICAgICB2YXIgc3RyID0gImFiIiArIHdoaXRlU3BhY2VzU3RyICsgbGluZVRlcm1pbmF0b3JzU3RyICsgImNkIjsNCg0KICAgICAgICByZXR1cm4gKHN0ci50cmltKCkgPT09IHN0cik7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"String.prototype.trim - 'S' is a string that union of LineTerminator and WhiteSpace in the middle","path":"TestCases/ch15/15.5/15.5.4/15.5.4.20/15.5.4.20-3-7.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuMjAvMTUuNS40LjIwLTMtOC5qcw0KICogQGRlc2NyaXB0aW9uIFN0cmluZy5wcm90b3R5cGUudHJpbSAtICdTJyBpcyBhIHN0cmluZyB3aXRoIGFsbCBudWxsIGNoYXJhY3Rlcg0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgIHJldHVybiAiXDBcdTAwMDAiLnRyaW0oKSA9PT0gIlwwXHUwMDAwIjsNCiAgICB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"String.prototype.trim - 'S' is a string with all null character","path":"TestCases/ch15/15.5/15.5.4/15.5.4.20/15.5.4.20-3-8.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuMjAvMTUuNS40LjIwLTMtOS5qcw0KICogQGRlc2NyaXB0aW9uIFN0cmluZy5wcm90b3R5cGUudHJpbSAtICdTJyBpcyBhIHN0cmluZyB3aXRoIG51bGwgY2hhcmFjdGVyICgnXDAnKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogICAgICAgICAgICByZXR1cm4gIlwwIi50cmltKCkgPT09ICJcMCI7DQogICAgfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"","description":"String.prototype.trim - 'S' is a string with null character ('\\0')","path":"TestCases/ch15/15.5/15.5.4/15.5.4.20/15.5.4.20-3-9.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuMjAvMTUuNS40LjIwLTQtMS5qcw0KICogQGRlc2NyaXB0aW9uIFN0cmluZy5wcm90b3R5cGUudHJpbSBoYW5kbGVzIG11bHRpbGluZSBzdHJpbmcgd2l0aCB3aGl0ZXBhY2UgYW5kIGxpbmV0ZXJtaW5hdG9ycw0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQp2YXIgcyA9ICJcdTAwMDlhIGJcDQpjIFx1MDAwOSINCg0KICAgICAgICAgICAgDQogIGlmIChzLnRyaW0oKSA9PT0gImEgYmMiKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"String.prototype.trim handles multiline string with whitepace and lineterminators","path":"TestCases/ch15/15.5/15.5.4/15.5.4.20/15.5.4.20-4-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuMjAvMTUuNS40LjIwLTQtMTAuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpbmcucHJvdG90eXBlLnRyaW0gaGFuZGxlcyB3aGl0ZXBhY2UgYW5kIGxpbmV0ZXJtaW5hdG9ycyAoXHVGRUZGYWJjKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHJldHVybiAiXHVGRUZGYWJjIi50cmltKCkgPT09ICJhYmMiOw0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"String.prototype.trim handles whitepace and lineterminators (\\uFEFFabc)","path":"TestCases/ch15/15.5/15.5.4/15.5.4.20/15.5.4.20-4-10.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuMjAvMTUuNS40LjIwLTQtMTEuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpbmcucHJvdG90eXBlLnRyaW0gaGFuZGxlcyB3aGl0ZXBhY2UgYW5kIGxpbmV0ZXJtaW5hdG9ycyAoYWJjXHUwMDA5KQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIGlmICgiYWJjXHUwMDA5Ii50cmltKCkgPT09ICJhYmMiKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"String.prototype.trim handles whitepace and lineterminators (abc\\u0009)","path":"TestCases/ch15/15.5/15.5.4/15.5.4.20/15.5.4.20-4-11.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuMjAvMTUuNS40LjIwLTQtMTIuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpbmcucHJvdG90eXBlLnRyaW0gaGFuZGxlcyB3aGl0ZXBhY2UgYW5kIGxpbmV0ZXJtaW5hdG9ycyAoYWJjXHUwMDBCKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIGlmICgiYWJjXHUwMDBCIi50cmltKCkgPT09ICJhYmMiKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"String.prototype.trim handles whitepace and lineterminators (abc\\u000B)","path":"TestCases/ch15/15.5/15.5.4/15.5.4.20/15.5.4.20-4-12.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuMjAvMTUuNS40LjIwLTQtMTMuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpbmcucHJvdG90eXBlLnRyaW0gaGFuZGxlcyB3aGl0ZXBhY2UgYW5kIGxpbmV0ZXJtaW5hdG9ycyAoYWJjXHUwMDBDKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIGlmICgiYWJjXHUwMDBDIi50cmltKCkgPT09ICJhYmMiKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"String.prototype.trim handles whitepace and lineterminators (abc\\u000C)","path":"TestCases/ch15/15.5/15.5.4/15.5.4.20/15.5.4.20-4-13.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuMjAvMTUuNS40LjIwLTQtMTQuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpbmcucHJvdG90eXBlLnRyaW0gaGFuZGxlcyB3aGl0ZXBhY2UgYW5kIGxpbmV0ZXJtaW5hdG9ycyAoYWJjXHUwMDIwKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIGlmICgiYWJjXHUwMDIwIi50cmltKCkgPT09ICJhYmMiKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"String.prototype.trim handles whitepace and lineterminators (abc\\u0020)","path":"TestCases/ch15/15.5/15.5.4/15.5.4.20/15.5.4.20-4-14.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuMjAvMTUuNS40LjIwLTQtMTYuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpbmcucHJvdG90eXBlLnRyaW0gaGFuZGxlcyB3aGl0ZXBhY2UgYW5kIGxpbmV0ZXJtaW5hdG9ycyAoYWJjXHUwMEEwKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIGlmICgiYWJjXHUwMEEwIi50cmltKCkgPT09ICJhYmMiKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"String.prototype.trim handles whitepace and lineterminators (abc\\u00A0)","path":"TestCases/ch15/15.5/15.5.4/15.5.4.20/15.5.4.20-4-16.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuMjAvMTUuNS40LjIwLTQtMTguanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpbmcucHJvdG90eXBlLnRyaW0gaGFuZGxlcyB3aGl0ZXBhY2UgYW5kIGxpbmV0ZXJtaW5hdG9ycyAoYWJjXHVGRUZGKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHJldHVybiAiYWJjXHVGRUZGIi50cmltKCkgPT09ICJhYmMiOw0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"String.prototype.trim handles whitepace and lineterminators (abc\\uFEFF)","path":"TestCases/ch15/15.5/15.5.4/15.5.4.20/15.5.4.20-4-18.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuMjAvMTUuNS40LjIwLTQtMTkuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpbmcucHJvdG90eXBlLnRyaW0gaGFuZGxlcyB3aGl0ZXBhY2UgYW5kIGxpbmV0ZXJtaW5hdG9ycyAoXHUwMDA5YWJjXHUwMDA5KQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIGlmICgiXHUwMDA5YWJjXHUwMDA5Ii50cmltKCkgPT09ICJhYmMiKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"String.prototype.trim handles whitepace and lineterminators (\\u0009abc\\u0009)","path":"TestCases/ch15/15.5/15.5.4/15.5.4.20/15.5.4.20-4-19.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuMjAvMTUuNS40LjIwLTQtMi5qcw0KICogQGRlc2NyaXB0aW9uIFN0cmluZy5wcm90b3R5cGUudHJpbSBoYW5kbGVzIHdoaXRlcGFjZSBhbmQgbGluZXRlcm1pbmF0b3JzICggXHUwMDA5YWJjIFx1MDAwOSkNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICBpZiAoIiBcdTAwMDlhYmMgXHUwMDA5Ii50cmltKCkgPT09ICJhYmMiKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"String.prototype.trim handles whitepace and lineterminators ( \\u0009abc \\u0009)","path":"TestCases/ch15/15.5/15.5.4/15.5.4.20/15.5.4.20-4-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuMjAvMTUuNS40LjIwLTQtMjAuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpbmcucHJvdG90eXBlLnRyaW0gaGFuZGxlcyB3aGl0ZXBhY2UgYW5kIGxpbmV0ZXJtaW5hdG9ycyAoXHUwMDBCYWJjXHUwMDBCKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIGlmICgiXHUwMDBCYWJjXHUwMDBCIi50cmltKCkgPT09ICJhYmMiKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"String.prototype.trim handles whitepace and lineterminators (\\u000Babc\\u000B)","path":"TestCases/ch15/15.5/15.5.4/15.5.4.20/15.5.4.20-4-20.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuMjAvMTUuNS40LjIwLTQtMjEuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpbmcucHJvdG90eXBlLnRyaW0gaGFuZGxlcyB3aGl0ZXBhY2UgYW5kIGxpbmV0ZXJtaW5hdG9ycyAoXHUwMDBDYWJjXHUwMDBDKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIGlmICgiXHUwMDBDYWJjXHUwMDBDIi50cmltKCkgPT09ICJhYmMiKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"String.prototype.trim handles whitepace and lineterminators (\\u000Cabc\\u000C)","path":"TestCases/ch15/15.5/15.5.4/15.5.4.20/15.5.4.20-4-21.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuMjAvMTUuNS40LjIwLTQtMjIuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpbmcucHJvdG90eXBlLnRyaW0gaGFuZGxlcyB3aGl0ZXBhY2UgYW5kIGxpbmV0ZXJtaW5hdG9ycyAoXHUwMDIwYWJjXHUwMDIwKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIGlmICgiXHUwMDIwYWJjXHUwMDIwIi50cmltKCkgPT09ICJhYmMiKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"String.prototype.trim handles whitepace and lineterminators (\\u0020abc\\u0020)","path":"TestCases/ch15/15.5/15.5.4/15.5.4.20/15.5.4.20-4-22.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuMjAvMTUuNS40LjIwLTQtMjQuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpbmcucHJvdG90eXBlLnRyaW0gaGFuZGxlcyB3aGl0ZXBhY2UgYW5kIGxpbmV0ZXJtaW5hdG9ycyAoXHUwMEEwYWJjXHUwMEEwKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIGlmICgiXHUwMEEwYWJjXHUwMEEwIi50cmltKCkgPT09ICJhYmMiKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"String.prototype.trim handles whitepace and lineterminators (\\u00A0abc\\u00A0)","path":"TestCases/ch15/15.5/15.5.4/15.5.4.20/15.5.4.20-4-24.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuMjAvMTUuNS40LjIwLTQtMjcuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpbmcucHJvdG90eXBlLnRyaW0gaGFuZGxlcyB3aGl0ZXBhY2UgYW5kIGxpbmV0ZXJtaW5hdG9ycyAoXHUwMDA5XHUwMDA5KQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIGlmICgiXHUwMDA5XHUwMDA5Ii50cmltKCkgPT09ICIiKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"String.prototype.trim handles whitepace and lineterminators (\\u0009\\u0009)","path":"TestCases/ch15/15.5/15.5.4/15.5.4.20/15.5.4.20-4-27.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuMjAvMTUuNS40LjIwLTQtMjguanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpbmcucHJvdG90eXBlLnRyaW0gaGFuZGxlcyB3aGl0ZXBhY2UgYW5kIGxpbmV0ZXJtaW5hdG9ycyAoXHUwMDBCXHUwMDBCKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIGlmICgiXHUwMDBCXHUwMDBCIi50cmltKCkgPT09ICIiKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"String.prototype.trim handles whitepace and lineterminators (\\u000B\\u000B)","path":"TestCases/ch15/15.5/15.5.4/15.5.4.20/15.5.4.20-4-28.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuMjAvMTUuNS40LjIwLTQtMjkuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpbmcucHJvdG90eXBlLnRyaW0gaGFuZGxlcyB3aGl0ZXBhY2UgYW5kIGxpbmV0ZXJtaW5hdG9ycyAoXHUwMDBDXHUwMDBDKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIGlmICgiXHUwMDBDXHUwMDBDIi50cmltKCkgPT09ICIiKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"String.prototype.trim handles whitepace and lineterminators (\\u000C\\u000C)","path":"TestCases/ch15/15.5/15.5.4/15.5.4.20/15.5.4.20-4-29.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuMjAvMTUuNS40LjIwLTQtMy5qcw0KICogQGRlc2NyaXB0aW9uIFN0cmluZy5wcm90b3R5cGUudHJpbSBoYW5kbGVzIHdoaXRlcGFjZSBhbmQgbGluZXRlcm1pbmF0b3JzIChcdTAwMDlhYmMpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgaWYgKCJcdTAwMDlhYmMiLnRyaW0oKSA9PT0gImFiYyIpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"String.prototype.trim handles whitepace and lineterminators (\\u0009abc)","path":"TestCases/ch15/15.5/15.5.4/15.5.4.20/15.5.4.20-4-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuMjAvMTUuNS40LjIwLTQtMzAuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpbmcucHJvdG90eXBlLnRyaW0gaGFuZGxlcyB3aGl0ZXBhY2UgYW5kIGxpbmV0ZXJtaW5hdG9ycyAoXHUwMDIwXHUwMDIwKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIGlmICgiXHUwMDIwXHUwMDIwIi50cmltKCkgPT09ICIiKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"String.prototype.trim handles whitepace and lineterminators (\\u0020\\u0020)","path":"TestCases/ch15/15.5/15.5.4/15.5.4.20/15.5.4.20-4-30.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuMjAvMTUuNS40LjIwLTQtMzIuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpbmcucHJvdG90eXBlLnRyaW0gaGFuZGxlcyB3aGl0ZXBhY2UgYW5kIGxpbmV0ZXJtaW5hdG9ycyAoXHUwMEEwXHUwMEEwKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIGlmICgiXHUwMEEwXHUwMEEwIi50cmltKCkgPT09ICIiKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"String.prototype.trim handles whitepace and lineterminators (\\u00A0\\u00A0)","path":"TestCases/ch15/15.5/15.5.4/15.5.4.20/15.5.4.20-4-32.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuMjAvMTUuNS40LjIwLTQtMzQuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpbmcucHJvdG90eXBlLnRyaW0gaGFuZGxlcyB3aGl0ZXBhY2UgYW5kIGxpbmV0ZXJtaW5hdG9ycyAoXHVGRUZGXHVGRUZGKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHJldHVybiAiXHVGRUZGXHVGRUZGIi50cmltKCkgPT09ICIiOw0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"String.prototype.trim handles whitepace and lineterminators (\\uFEFF\\uFEFF)","path":"TestCases/ch15/15.5/15.5.4/15.5.4.20/15.5.4.20-4-34.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuMjAvMTUuNS40LjIwLTQtMzUuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpbmcucHJvdG90eXBlLnRyaW0gaGFuZGxlcyB3aGl0ZXBhY2UgYW5kIGxpbmV0ZXJtaW5hdG9ycyAoYWJcdTAwMDljKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIGlmICgiYWJcdTAwMDljIi50cmltKCkgPT09ICJhYlx1MDAwOWMiKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"String.prototype.trim handles whitepace and lineterminators (ab\\u0009c)","path":"TestCases/ch15/15.5/15.5.4/15.5.4.20/15.5.4.20-4-35.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuMjAvMTUuNS40LjIwLTQtMzYuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpbmcucHJvdG90eXBlLnRyaW0gaGFuZGxlcyB3aGl0ZXBhY2UgYW5kIGxpbmV0ZXJtaW5hdG9ycyAoYWJcdTAwMEJjKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIGlmICgiYWJcdTAwMEJjIi50cmltKCkgPT09ICJhYlx1MDAwQmMiKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"String.prototype.trim handles whitepace and lineterminators (ab\\u000Bc)","path":"TestCases/ch15/15.5/15.5.4/15.5.4.20/15.5.4.20-4-36.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuMjAvMTUuNS40LjIwLTQtMzcuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpbmcucHJvdG90eXBlLnRyaW0gaGFuZGxlcyB3aGl0ZXBhY2UgYW5kIGxpbmV0ZXJtaW5hdG9ycyAoYWJcdTAwMENjKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIGlmICgiYWJcdTAwMENjIi50cmltKCkgPT09ICJhYlx1MDAwQ2MiKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"String.prototype.trim handles whitepace and lineterminators (ab\\u000Cc)","path":"TestCases/ch15/15.5/15.5.4/15.5.4.20/15.5.4.20-4-37.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuMjAvMTUuNS40LjIwLTQtMzguanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpbmcucHJvdG90eXBlLnRyaW0gaGFuZGxlcyB3aGl0ZXBhY2UgYW5kIGxpbmV0ZXJtaW5hdG9ycyAoYWJcdTAwMjBjKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIGlmICgiYWJcdTAwMjBjIi50cmltKCkgPT09ICJhYlx1MDAyMGMiKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"String.prototype.trim handles whitepace and lineterminators (ab\\u0020c)","path":"TestCases/ch15/15.5/15.5.4/15.5.4.20/15.5.4.20-4-38.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuMjAvMTUuNS40LjIwLTQtMzkuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpbmcucHJvdG90eXBlLnRyaW0gaGFuZGxlcyB3aGl0ZXBhY2UgYW5kIGxpbmV0ZXJtaW5hdG9ycyAoYWJcdTAwODVjKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHJldHVybiAiYWJcdTAwODVjIi50cmltKCkgPT09ICJhYlx1MDA4NWMiOw0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"String.prototype.trim handles whitepace and lineterminators (ab\\u0085c)","path":"TestCases/ch15/15.5/15.5.4/15.5.4.20/15.5.4.20-4-39.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuMjAvMTUuNS40LjIwLTQtNC5qcw0KICogQGRlc2NyaXB0aW9uIFN0cmluZy5wcm90b3R5cGUudHJpbSBoYW5kbGVzIHdoaXRlcGFjZSBhbmQgbGluZXRlcm1pbmF0b3JzIChcdTAwMEJhYmMpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgaWYgKCJcdTAwMEJhYmMiLnRyaW0oKSA9PT0gImFiYyIpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"String.prototype.trim handles whitepace and lineterminators (\\u000Babc)","path":"TestCases/ch15/15.5/15.5.4/15.5.4.20/15.5.4.20-4-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuMjAvMTUuNS40LjIwLTQtNDAuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpbmcucHJvdG90eXBlLnRyaW0gaGFuZGxlcyB3aGl0ZXBhY2UgYW5kIGxpbmV0ZXJtaW5hdG9ycyAoYWJcdTAwQTBjKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIGlmICgiYWJcdTAwQTBjIi50cmltKCkgPT09ICJhYlx1MDBBMGMiKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"String.prototype.trim handles whitepace and lineterminators (ab\\u00A0c)","path":"TestCases/ch15/15.5/15.5.4/15.5.4.20/15.5.4.20-4-40.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuMjAvMTUuNS40LjIwLTQtNDEuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpbmcucHJvdG90eXBlLnRyaW0gaGFuZGxlcyB3aGl0ZXBhY2UgYW5kIGxpbmV0ZXJtaW5hdG9ycyAoYWJcdTIwMEJjKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIGlmICgiYWJcdTIwMEJjIi50cmltKCkgPT09ICJhYlx1MjAwQmMiKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"String.prototype.trim handles whitepace and lineterminators (ab\\u200Bc)","path":"TestCases/ch15/15.5/15.5.4/15.5.4.20/15.5.4.20-4-41.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuMjAvMTUuNS40LjIwLTQtNDIuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpbmcucHJvdG90eXBlLnRyaW0gaGFuZGxlcyB3aGl0ZXBhY2UgYW5kIGxpbmV0ZXJtaW5hdG9ycyAoYWJcdUZFRkZjKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIGlmICgiYWJcdUZFRkZjIi50cmltKCkgPT09ICJhYlx1RkVGRmMiKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"String.prototype.trim handles whitepace and lineterminators (ab\\uFEFFc)","path":"TestCases/ch15/15.5/15.5.4/15.5.4.20/15.5.4.20-4-42.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuMjAvMTUuNS40LjIwLTQtNDMuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpbmcucHJvdG90eXBlLnRyaW0gaGFuZGxlcyB3aGl0ZXBhY2UgYW5kIGxpbmV0ZXJtaW5hdG9ycyAoXHUwMDBBYWJjKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIGlmICgiXHUwMDBBYWJjIi50cmltKCkgPT09ICJhYmMiKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"String.prototype.trim handles whitepace and lineterminators (\\u000Aabc)","path":"TestCases/ch15/15.5/15.5.4/15.5.4.20/15.5.4.20-4-43.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuMjAvMTUuNS40LjIwLTQtNDQuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpbmcucHJvdG90eXBlLnRyaW0gaGFuZGxlcyB3aGl0ZXBhY2UgYW5kIGxpbmV0ZXJtaW5hdG9ycyAoXHUwMDBEYWJjKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIGlmICgiXHUwMDBEYWJjIi50cmltKCkgPT09ICJhYmMiKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"String.prototype.trim handles whitepace and lineterminators (\\u000Dabc)","path":"TestCases/ch15/15.5/15.5.4/15.5.4.20/15.5.4.20-4-44.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuMjAvMTUuNS40LjIwLTQtNDUuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpbmcucHJvdG90eXBlLnRyaW0gaGFuZGxlcyB3aGl0ZXBhY2UgYW5kIGxpbmV0ZXJtaW5hdG9ycyAoXHUyMDI4YWJjKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIGlmICgiXHUyMDI4YWJjIi50cmltKCkgPT09ICJhYmMiKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"String.prototype.trim handles whitepace and lineterminators (\\u2028abc)","path":"TestCases/ch15/15.5/15.5.4/15.5.4.20/15.5.4.20-4-45.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuMjAvMTUuNS40LjIwLTQtNDYuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpbmcucHJvdG90eXBlLnRyaW0gaGFuZGxlcyB3aGl0ZXBhY2UgYW5kIGxpbmV0ZXJtaW5hdG9ycyAoXHUyMDI5YWJjKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIGlmICgiXHUyMDI5YWJjIi50cmltKCkgPT09ICJhYmMiKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"String.prototype.trim handles whitepace and lineterminators (\\u2029abc)","path":"TestCases/ch15/15.5/15.5.4/15.5.4.20/15.5.4.20-4-46.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuMjAvMTUuNS40LjIwLTQtNDcuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpbmcucHJvdG90eXBlLnRyaW0gaGFuZGxlcyB3aGl0ZXBhY2UgYW5kIGxpbmV0ZXJtaW5hdG9ycyAoYWJjXHUwMDBBKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIGlmICgiYWJjXHUwMDBBIi50cmltKCkgPT09ICJhYmMiKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"String.prototype.trim handles whitepace and lineterminators (abc\\u000A)","path":"TestCases/ch15/15.5/15.5.4/15.5.4.20/15.5.4.20-4-47.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuMjAvMTUuNS40LjIwLTQtNDguanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpbmcucHJvdG90eXBlLnRyaW0gaGFuZGxlcyB3aGl0ZXBhY2UgYW5kIGxpbmV0ZXJtaW5hdG9ycyAoYWJjXHUwMDBEKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIGlmICgiYWJjXHUwMDBEIi50cmltKCkgPT09ICJhYmMiKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"String.prototype.trim handles whitepace and lineterminators (abc\\u000D)","path":"TestCases/ch15/15.5/15.5.4/15.5.4.20/15.5.4.20-4-48.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuMjAvMTUuNS40LjIwLTQtNDkuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpbmcucHJvdG90eXBlLnRyaW0gaGFuZGxlcyB3aGl0ZXBhY2UgYW5kIGxpbmV0ZXJtaW5hdG9ycyAoYWJjXHUyMDI4KQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIGlmICgiYWJjXHUyMDI4Ii50cmltKCkgPT09ICJhYmMiKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"String.prototype.trim handles whitepace and lineterminators (abc\\u2028)","path":"TestCases/ch15/15.5/15.5.4/15.5.4.20/15.5.4.20-4-49.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuMjAvMTUuNS40LjIwLTQtNS5qcw0KICogQGRlc2NyaXB0aW9uIFN0cmluZy5wcm90b3R5cGUudHJpbSBoYW5kbGVzIHdoaXRlcGFjZSBhbmQgbGluZXRlcm1pbmF0b3JzIChcdTAwMENhYmMpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgaWYgKCJcdTAwMENhYmMiLnRyaW0oKSA9PT0gImFiYyIpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"String.prototype.trim handles whitepace and lineterminators (\\u000Cabc)","path":"TestCases/ch15/15.5/15.5.4/15.5.4.20/15.5.4.20-4-5.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuMjAvMTUuNS40LjIwLTQtNTAuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpbmcucHJvdG90eXBlLnRyaW0gaGFuZGxlcyB3aGl0ZXBhY2UgYW5kIGxpbmV0ZXJtaW5hdG9ycyAoYWJjXHUyMDI5KQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIGlmICgiYWJjXHUyMDI5Ii50cmltKCkgPT09ICJhYmMiKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"String.prototype.trim handles whitepace and lineterminators (abc\\u2029)","path":"TestCases/ch15/15.5/15.5.4/15.5.4.20/15.5.4.20-4-50.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuMjAvMTUuNS40LjIwLTQtNTEuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpbmcucHJvdG90eXBlLnRyaW0gaGFuZGxlcyB3aGl0ZXBhY2UgYW5kIGxpbmV0ZXJtaW5hdG9ycyAoXHUwMDBBYWJjXHUwMDBBKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIGlmICgiXHUwMDBBYWJjXHUwMDBBIi50cmltKCkgPT09ICJhYmMiKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"String.prototype.trim handles whitepace and lineterminators (\\u000Aabc\\u000A)","path":"TestCases/ch15/15.5/15.5.4/15.5.4.20/15.5.4.20-4-51.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuMjAvMTUuNS40LjIwLTQtNTIuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpbmcucHJvdG90eXBlLnRyaW0gaGFuZGxlcyB3aGl0ZXBhY2UgYW5kIGxpbmV0ZXJtaW5hdG9ycyAoXHUwMDBEYWJjXHUwMDBEKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIGlmICgiXHUwMDBEYWJjXHUwMDBEIi50cmltKCkgPT09ICJhYmMiKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"String.prototype.trim handles whitepace and lineterminators (\\u000Dabc\\u000D)","path":"TestCases/ch15/15.5/15.5.4/15.5.4.20/15.5.4.20-4-52.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuMjAvMTUuNS40LjIwLTQtNTMuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpbmcucHJvdG90eXBlLnRyaW0gaGFuZGxlcyB3aGl0ZXBhY2UgYW5kIGxpbmV0ZXJtaW5hdG9ycyAoXHUyMDI4YWJjXHUyMDI4KQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIGlmICgiXHUyMDI4YWJjXHUyMDI4Ii50cmltKCkgPT09ICJhYmMiKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"String.prototype.trim handles whitepace and lineterminators (\\u2028abc\\u2028)","path":"TestCases/ch15/15.5/15.5.4/15.5.4.20/15.5.4.20-4-53.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuMjAvMTUuNS40LjIwLTQtNTQuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpbmcucHJvdG90eXBlLnRyaW0gaGFuZGxlcyB3aGl0ZXBhY2UgYW5kIGxpbmV0ZXJtaW5hdG9ycyAoXHUyMDI5YWJjXHUyMDI5KQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIGlmICgiXHUyMDI5YWJjXHUyMDI5Ii50cmltKCkgPT09ICJhYmMiKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"String.prototype.trim handles whitepace and lineterminators (\\u2029abc\\u2029)","path":"TestCases/ch15/15.5/15.5.4/15.5.4.20/15.5.4.20-4-54.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuMjAvMTUuNS40LjIwLTQtNTUuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpbmcucHJvdG90eXBlLnRyaW0gaGFuZGxlcyB3aGl0ZXBhY2UgYW5kIGxpbmV0ZXJtaW5hdG9ycyAoXHUwMDBBXHUwMDBBKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIGlmICgiXHUwMDBBXHUwMDBBIi50cmltKCkgPT09ICIiKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"String.prototype.trim handles whitepace and lineterminators (\\u000A\\u000A)","path":"TestCases/ch15/15.5/15.5.4/15.5.4.20/15.5.4.20-4-55.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuMjAvMTUuNS40LjIwLTQtNTYuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpbmcucHJvdG90eXBlLnRyaW0gaGFuZGxlcyB3aGl0ZXBhY2UgYW5kIGxpbmV0ZXJtaW5hdG9ycyAoXHUwMDBEXHUwMDBEKQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIGlmICgiXHUwMDBEXHUwMDBEIi50cmltKCkgPT09ICIiKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"String.prototype.trim handles whitepace and lineterminators (\\u000D\\u000D)","path":"TestCases/ch15/15.5/15.5.4/15.5.4.20/15.5.4.20-4-56.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuMjAvMTUuNS40LjIwLTQtNTcuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpbmcucHJvdG90eXBlLnRyaW0gaGFuZGxlcyB3aGl0ZXBhY2UgYW5kIGxpbmV0ZXJtaW5hdG9ycyAoXHUyMDI4XHUyMDI4KQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIGlmICgiXHUyMDI4XHUyMDI4Ii50cmltKCkgPT09ICIiKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"String.prototype.trim handles whitepace and lineterminators (\\u2028\\u2028)","path":"TestCases/ch15/15.5/15.5.4/15.5.4.20/15.5.4.20-4-57.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuMjAvMTUuNS40LjIwLTQtNTguanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpbmcucHJvdG90eXBlLnRyaW0gaGFuZGxlcyB3aGl0ZXBhY2UgYW5kIGxpbmV0ZXJtaW5hdG9ycyAoXHUyMDI5XHUyMDI5KQ0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIGlmICgiXHUyMDI5XHUyMDI5Ii50cmltKCkgPT09ICIiKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"String.prototype.trim handles whitepace and lineterminators (\\u2029\\u2029)","path":"TestCases/ch15/15.5/15.5.4/15.5.4.20/15.5.4.20-4-58.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuMjAvMTUuNS40LjIwLTQtNTkuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpbmcucHJvdG90eXBlLnRyaW0gaGFuZGxlcyB3aGl0ZXBhY2UgYW5kIGxpbmV0ZXJtaW5hdG9ycyAoXHUyMDI5YWJjIGFzIGEgbXVsdGlsaW5lIHN0cmluZykNCiAqLw0KDQoNCmZ1bmN0aW9uIHRlc3RjYXNlKCkgew0KICB2YXIgcyA9ICJcdTIwMjlcDQogICAgICAgICAgIGFiYyI7DQogIGlmIChzLnRyaW0oKSA9PT0gImFiYyIpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"String.prototype.trim handles whitepace and lineterminators (\\u2029abc as a multiline string)","path":"TestCases/ch15/15.5/15.5.4/15.5.4.20/15.5.4.20-4-59.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuMjAvMTUuNS40LjIwLTQtNi5qcw0KICogQGRlc2NyaXB0aW9uIFN0cmluZy5wcm90b3R5cGUudHJpbSBoYW5kbGVzIHdoaXRlcGFjZSBhbmQgbGluZXRlcm1pbmF0b3JzIChcdTAwMjBhYmMpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgaWYgKCJcdTAwMjBhYmMiLnRyaW0oKSA9PT0gImFiYyIpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"String.prototype.trim handles whitepace and lineterminators (\\u0020abc)","path":"TestCases/ch15/15.5/15.5.4/15.5.4.20/15.5.4.20-4-6.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuMjAvMTUuNS40LjIwLTQtNjAuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpbmcucHJvdG90eXBlLnRyaW0gaGFuZGxlcyB3aGl0ZXBhY2UgYW5kIGxpbmV0ZXJtaW5hdG9ycyAoc3RyaW5nIHdpdGgganVzdCBibGFua3MpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgaWYgKCIgICAgIi50cmltKCkgPT09ICIiKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"","description":"String.prototype.trim handles whitepace and lineterminators (string with just blanks)","path":"TestCases/ch15/15.5/15.5.4/15.5.4.20/15.5.4.20-4-60.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuMjAvMTUuNS40LjIwLTQtOC5qcw0KICogQGRlc2NyaXB0aW9uIFN0cmluZy5wcm90b3R5cGUudHJpbSBoYW5kbGVzIHdoaXRlcGFjZSBhbmQgbGluZXRlcm1pbmF0b3JzIChcdTAwQTBhYmMpDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgaWYgKCJcdTAwQTBhYmMiLnRyaW0oKSA9PT0gImFiYyIpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"","description":"String.prototype.trim handles whitepace and lineterminators (\\u00A0abc)","path":"TestCases/ch15/15.5/15.5.4/15.5.4.20/15.5.4.20-4-8.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLmNoYXJBdCgpIGNhbiBhY2NlcHQgbWFueSBhcmd1bWVudHMKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuNC9TMTUuNS40LjRfQTEuMS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgYnkgdXNpbmcgZXZhbAogKi8KCmZ1bmN0aW9uIF9fRkFDVE9SWSgpe3RoaXMudG9TdHJpbmcgPSBmdW5jdGlvbigpeyByZXR1cm4gIndpemFyZCI7fTt9OwoKX19GQUNUT1JZLnByb3RvdHlwZS5jaGFyQXQgPSBTdHJpbmcucHJvdG90eXBlLmNoYXJBdDsKCl9faW5zdGFuY2UgPSBuZXcgX19GQUNUT1JZOwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQp3aXRoKF9faW5zdGFuY2UpewogIGlmIChfX2luc3RhbmNlLmNoYXJBdChldmFsKCIxIiksdHJ1ZSxudWxsLHt9KSE9PSAiaSIpIHsKICAgICRFUlJPUignIzE6IF9faW5zdGFuY2UuY2hhckF0KGV2YWwoIjEiKSx0cnVlLG51bGwse30pPT09ICJpIi4gQWN0dWFsOiAnK19faW5zdGFuY2UuY2hhckF0KGV2YWwoIjEiKSx0cnVlLG51bGwse30pKTsgCiAgfQp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKCg==","commentary":"String.prototype.charAt() can accept many arguments","description":"Checking by using eval","path":"TestCases/ch15/15.5/15.5.4/15.5.4.4/S15.5.4.4_A1.1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgU3RyaW5nLnByb3RvdHlwZS5jaGFyQXQubGVuZ3RoIHByb3BlcnR5IGhhcyB0aGUgYXR0cmlidXRlIFJlYWRPbmx5CiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjQvUzE1LjUuNC40X0ExMC5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgaWYgdmFyeWluZyB0aGUgU3RyaW5nLnByb3RvdHlwZS5jaGFyQXQubGVuZ3RoIHByb3BlcnR5IGZhaWxzCiAqLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAoIShTdHJpbmcucHJvdG90eXBlLmNoYXJBdC5oYXNPd25Qcm9wZXJ0eSgnbGVuZ3RoJykpKSB7CiAgJEVSUk9SKCcjMTogU3RyaW5nLnByb3RvdHlwZS5jaGFyQXQuaGFzT3duUHJvcGVydHkoXCdsZW5ndGhcJykgcmV0dXJuIHRydWUuIEFjdHVhbDogJytTdHJpbmcucHJvdG90eXBlLmNoYXJBdC5oYXNPd25Qcm9wZXJ0eSgnbGVuZ3RoJykpOyAKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCnZhciBfX29iaiA9IFN0cmluZy5wcm90b3R5cGUuY2hhckF0Lmxlbmd0aDsKClN0cmluZy5wcm90b3R5cGUuY2hhckF0Lmxlbmd0aCA9IGZ1bmN0aW9uKCl7cmV0dXJuICJzaGlmdGVkIjt9OwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMgppZiAoU3RyaW5nLnByb3RvdHlwZS5jaGFyQXQubGVuZ3RoICE9PSBfX29iaikgewogICRFUlJPUignIzI6IF9fb2JqID0gU3RyaW5nLnByb3RvdHlwZS5jaGFyQXQubGVuZ3RoOyBTdHJpbmcucHJvdG90eXBlLmNoYXJBdC5sZW5ndGggPSBmdW5jdGlvbigpe3JldHVybiAic2hpZnRlZCI7fTsgU3RyaW5nLnByb3RvdHlwZS5jaGFyQXQubGVuZ3RoID09PSBfX29iai4gQWN0dWFsOiAnK1N0cmluZy5wcm90b3R5cGUuY2hhckF0Lmxlbmd0aCApOyAKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"The String.prototype.charAt.length property has the attribute ReadOnly","description":"Checking if varying the String.prototype.charAt.length property fails","path":"TestCases/ch15/15.5/15.5.4/15.5.4.4/S15.5.4.4_A10.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgbGVuZ3RoIHByb3BlcnR5IG9mIHRoZSBjaGFyQXQgbWV0aG9kIGlzIDEKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuNC9TMTUuNS40LjRfQTExLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBTdHJpbmcucHJvdG90eXBlLmNoYXJBdC5sZW5ndGgKICovCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmICghKFN0cmluZy5wcm90b3R5cGUuY2hhckF0Lmhhc093blByb3BlcnR5KCJsZW5ndGgiKSkpIHsKICAkRVJST1IoJyMxOiBTdHJpbmcucHJvdG90eXBlLmNoYXJBdC5oYXNPd25Qcm9wZXJ0eSgibGVuZ3RoIikgcmV0dXJuIHRydWUuIEFjdHVhbDogJytTdHJpbmcucHJvdG90eXBlLmNoYXJBdC5oYXNPd25Qcm9wZXJ0eSgibGVuZ3RoIikpOyAKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzIKaWYgKFN0cmluZy5wcm90b3R5cGUuY2hhckF0Lmxlbmd0aCAhPT0gMSkgewogICRFUlJPUignIzI6IFN0cmluZy5wcm90b3R5cGUuY2hhckF0Lmxlbmd0aCA9PT0gMS4gQWN0dWFsOiAnK1N0cmluZy5wcm90b3R5cGUuY2hhckF0Lmxlbmd0aCApOyAKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"The length property of the charAt method is 1","description":"Checking String.prototype.charAt.length","path":"TestCases/ch15/15.5/15.5.4/15.5.4.4/S15.5.4.4_A11.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLmNoYXJBdChwb3MpCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjQvUzE1LjUuNC40X0ExX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBwb3MgaXMgZmFsc2UgYW5kIHRydWUsIGFuZCBpbnN0YW5jZSBpcyBvYmplY3QKICovCgp2YXIgX19pbnN0YW5jZSA9IG5ldyBPYmplY3QoNDIpOwoKX19pbnN0YW5jZS5jaGFyQXQgPSBTdHJpbmcucHJvdG90eXBlLmNoYXJBdDsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKF9faW5zdGFuY2UuY2hhckF0KGZhbHNlKStfX2luc3RhbmNlLmNoYXJBdCh0cnVlKSAhPT0gIjQyIikgewogICRFUlJPUignIzE6IF9faW5zdGFuY2UgPSBuZXcgT2JqZWN0KDQyKTsgX19pbnN0YW5jZS5jaGFyQXQgPSBTdHJpbmcucHJvdG90eXBlLmNoYXJBdDsgIF9faW5zdGFuY2UgPSBuZXcgT2JqZWN0KDQyKTsgX19pbnN0YW5jZS5jaGFyQXQgPSBTdHJpbmcucHJvdG90eXBlLmNoYXJBdDsgX19pbnN0YW5jZS5jaGFyQXQoZmFsc2UpK19faW5zdGFuY2UuY2hhckF0KHRydWUpID09PSAiNDIiLiBBY3R1YWw6ICcrX19pbnN0YW5jZS5jaGFyQXQoZmFsc2UpK19faW5zdGFuY2UuY2hhckF0KHRydWUpICk7IAp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"String.prototype.charAt(pos)","description":"pos is false and true, and instance is object","path":"TestCases/ch15/15.5/15.5.4/15.5.4.4/S15.5.4.4_A1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLmNoYXJBdChwb3MpCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjQvUzE1LjUuNC40X0ExX1QxMC5qcwogKiBAZGVzY3JpcHRpb24gQ2FsbCBjaGFyQXQoKSBmdW5jdGlvbiB3aXRoIG9iamVjdCBhcmd1bWVudAogKi8KCnZhciBfX29iaiA9IHt0b1N0cmluZzpmdW5jdGlvbigpe3JldHVybiAxO319CnZhciBfX3N0ciA9ICJsZWdvIjsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKd2l0aChfX3N0cil7CiAgaWYgKGNoYXJBdChfX29iaikgIT09ICJlIikgewogICAgJEVSUk9SKCcjMTogdmFyIF9fb2JqID0ge3RvU3RyaW5nOmZ1bmN0aW9uKCl7cmV0dXJuIDE7fX07IHZhciBfX3N0ciA9ICJsZWdvIjsgY2hhckF0KF9fb2JqKSA9PT0gImUiLiBBY3R1YWw6IGNoYXJBdChfX29iaikgPT09JytjaGFyQXQoX19vYmopICk7IAogIH0KfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"String.prototype.charAt(pos)","description":"Call charAt() function with object argument","path":"TestCases/ch15/15.5/15.5.4/15.5.4.4/S15.5.4.4_A1_T10.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLmNoYXJBdChwb3MpCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjQvUzE1LjUuNC40X0ExX1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBwb3MgaXMgZXF1YXRpb24gd2l0aCBmYWxzZSBhbmQgdHJ1ZSwgYW5kIGluc3RhbmNlIGlzIEJvb2xlYW4gb2JqZWN0CiAqLwoKdmFyIF9faW5zdGFuY2UgPSBuZXcgQm9vbGVhbjsKCl9faW5zdGFuY2UuY2hhckF0ID0gU3RyaW5nLnByb3RvdHlwZS5jaGFyQXQ7CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmIChfX2luc3RhbmNlLmNoYXJBdChmYWxzZSkrX19pbnN0YW5jZS5jaGFyQXQodHJ1ZSkrX19pbnN0YW5jZS5jaGFyQXQodHJ1ZSsxKSAhPT0gImZhbCIpIHsKICAkRVJST1IoJyMxOiBfX2luc3RhbmNlID0gbmV3IEJvb2xlYW47IF9faW5zdGFuY2UuY2hhckF0ID0gU3RyaW5nLnByb3RvdHlwZS5jaGFyQXQ7ICBfX2luc3RhbmNlID0gbmV3IEJvb2xlYW47IF9faW5zdGFuY2UuY2hhckF0ID0gU3RyaW5nLnByb3RvdHlwZS5jaGFyQXQ7IF9faW5zdGFuY2UuY2hhckF0KGZhbHNlKStfX2luc3RhbmNlLmNoYXJBdCh0cnVlKStfX2luc3RhbmNlLmNoYXJBdCh0cnVlKzEpID09PSAiZmFsIi4gQWN0dWFsOiAnK19faW5zdGFuY2UuY2hhckF0KGZhbHNlKStfX2luc3RhbmNlLmNoYXJBdCh0cnVlKStfX2luc3RhbmNlLmNoYXJBdCh0cnVlKzEpICk7IAp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"String.prototype.charAt(pos)","description":"pos is equation with false and true, and instance is Boolean object","path":"TestCases/ch15/15.5/15.5.4/15.5.4.4/S15.5.4.4_A1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLmNoYXJBdChwb3MpCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjQvUzE1LjUuNC40X0ExX1Q0LmpzCiAqIEBkZXNjcmlwdGlvbiBDYWxsIGNoYXJBdCgpIGZ1bmN0aW9uIHdpdGhvdXQgYXJndW1lbnQgb2Ygc3RyaW5nIG9iamVjdAogKi8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKLy9zaW5jZSBUb0ludGVnZXIoKSBldmFsdWF0ZXMgdG8gMCBjaGFyQXQoKSBldmFsdWF0ZXMgdG8gY2hhckF0KDApCmlmICgibGVnbyIuY2hhckF0KCkgIT09ICJsIikgewogICRFUlJPUignIzE6ICJsZWdvIi5jaGFyQXQoKSA9PT0gImwiLiBBY3R1YWw6ICJsZWdvIi5jaGFyQXQoKSA9PT0nKygibGVnbyIuY2hhckF0KCkpICk7IAp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"String.prototype.charAt(pos)","description":"Call charAt() function without argument of string object","path":"TestCases/ch15/15.5/15.5.4/15.5.4.4/S15.5.4.4_A1_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLmNoYXJBdChwb3MpCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjQvUzE1LjUuNC40X0ExX1Q1LmpzCiAqIEBkZXNjcmlwdGlvbiBDYWxsIGNoYXJBdCgpIGZ1bmN0aW9uIHdpdGggbnVsbCBhcmd1bWVudCBvZiBmdW5jdGlvbiBvYmplY3QKICovCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCi8vc2luY2UgVG9JbnRlZ2VyKG51bGwpIGV2YWx1YXRlcyB0byAwIGNoYXJBdCgpIGV2YWx1YXRlcyB0byBjaGFyQXQoMCkKaWYgKGZ1bmN0aW9uKCl7cmV0dXJuICJsZWdvIn0oKS5jaGFyQXQobnVsbCkgIT09ICJsIikgewogICRFUlJPUignIzE6IGZ1bmN0aW9uKCl7cmV0dXJuICJsZWdvIn0oKS5jaGFyQXQobnVsbCkgPT09ICJsIi4gQWN0dWFsOiBmdW5jdGlvbigpe3JldHVybiAibGVnbyJ9KCkuY2hhckF0KG51bGwpID09PScrZnVuY3Rpb24oKXtyZXR1cm4gImxlZ28ifSgpLmNoYXJBdChudWxsKSApOyAKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"String.prototype.charAt(pos)","description":"Call charAt() function with null argument of function object","path":"TestCases/ch15/15.5/15.5.4/15.5.4.4/S15.5.4.4_A1_T5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLmNoYXJBdChwb3MpCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjQvUzE1LjUuNC40X0ExX1Q2LmpzCiAqIEBkZXNjcmlwdGlvbiBDYWxsIGNoYXJBdCgpIGZ1bmN0aW9uIHdpdGggeCBhcmd1bWVudCBvZiBuZXcgU3RyaW5nIG9iamVjdCwgd2hlcmUgeCBpcyB1bmRlZmluZWQgdmFyaWFibGUKICovCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCi8vc2luY2UgVG9JbnRlZ2VyKHVuZGVmaW5lZCkgZXZhbHVhdGVzIHRvIDAgY2hhckF0KCkgZXZhbHVhdGVzIHRvIGNoYXJBdCgwKQppZiAobmV3IFN0cmluZygibGVnbyIpLmNoYXJBdCh4KSAhPT0gImwiKSB7CiAgJEVSUk9SKCcjMTogdmFyIHg7IG5ldyBTdHJpbmcoImxlZ28iKS5jaGFyQXQoeCkgPT09ICJsIi4gQWN0dWFsOiBuZXcgU3RyaW5nKCJsZWdvIikuY2hhckF0KHgpID09PScrbmV3IFN0cmluZygibGVnbyIpLmNoYXJBdCh4KSApOyAKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCnZhciB4OwoK","commentary":"String.prototype.charAt(pos)","description":"Call charAt() function with x argument of new String object, where x is undefined variable","path":"TestCases/ch15/15.5/15.5.4/15.5.4.4/S15.5.4.4_A1_T6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLmNoYXJBdChwb3MpCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjQvUzE1LjUuNC40X0ExX1Q3LmpzCiAqIEBkZXNjcmlwdGlvbiBDYWxsIGNoYXJBdCgpIGZ1bmN0aW9uIHdpdGggdW5kZWZpbmVkIGFyZ3VtZW50IG9mIHN0cmluZyBvYmplY3QKICovCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCi8vc2luY2UgVG9JbnRlZ2VyKHVuZGVmaW5lZCkgZXZhbHVhdGVzIHRvIDAgY2hhckF0KCkgZXZhbHVhdGVzIHRvIGNoYXJBdCgwKQppZiAoU3RyaW5nKCJsZWdvIikuY2hhckF0KHVuZGVmaW5lZCkgIT09ICJsIikgewogICRFUlJPUignIzE6IFN0cmluZygibGVnbyIpLmNoYXJBdCh1bmRlZmluZWQpID09PSAibCIuIEFjdHVhbDogU3RyaW5nKCJsZWdvIikuY2hhckF0KHVuZGVmaW5lZCkgPT09JytTdHJpbmcoImxlZ28iKS5jaGFyQXQodW5kZWZpbmVkKSApOyAKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"String.prototype.charAt(pos)","description":"Call charAt() function with undefined argument of string object","path":"TestCases/ch15/15.5/15.5.4/15.5.4.4/S15.5.4.4_A1_T7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLmNoYXJBdChwb3MpCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjQvUzE1LjUuNC40X0ExX1Q4LmpzCiAqIEBkZXNjcmlwdGlvbiBDYWxsIGNoYXJBdCgpIGZ1bmN0aW9uIHdpdGggdm9pZCAwIGFyZ3VtZW50IG9mIHN0cmluZyBvYmplY3QKICovCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCi8vc2luY2UgVG9JbnRlZ2VyKHZvaWQgMCkgZXZhbHVhdGVzIHRvIDAgY2hhckF0KCkgZXZhbHVhdGVzIHRvIGNoYXJBdCgwKQppZiAoU3RyaW5nKDQyKS5jaGFyQXQodm9pZCAwKSAhPT0gIjQiKSB7CiAgJEVSUk9SKCcjMTogU3RyaW5nKDQyKS5jaGFyQXQodm9pZCAwKSA9PT0gIjQiLiBBY3R1YWw6IFN0cmluZyg0MikuY2hhckF0KHZvaWQgMCkgPT09JytTdHJpbmcoNDIpLmNoYXJBdCh2b2lkIDApICk7IAp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"String.prototype.charAt(pos)","description":"Call charAt() function with void 0 argument of string object","path":"TestCases/ch15/15.5/15.5.4/15.5.4.4/S15.5.4.4_A1_T8.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLmNoYXJBdChwb3MpCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjQvUzE1LjUuNC40X0ExX1Q5LmpzCiAqIEBkZXNjcmlwdGlvbiBDYWxsIGNoYXJBdCgpIGZ1bmN0aW9uIHdpdGggZnVuY3Rpb24oKXt9KCkgYXJndW1lbnQgb2Ygc3RyaW5nIG9iamVjdAogKi8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKLy9zaW5jZSBUb0ludGVnZXIodW5kZWZpbmVkKSBldmFsdWF0ZXMgdG8gMCBjaGFyQXQoKSBldmFsdWF0ZXMgdG8gY2hhckF0KDApCmlmIChuZXcgU3RyaW5nKDQyKS5jaGFyQXQoZnVuY3Rpb24oKXt9KCkpICE9PSAiNCIpIHsKICAkRVJST1IoJyMxOiBuZXcgU3RyaW5nKDQyKS5jaGFyQXQoZnVuY3Rpb24oKXt9KCkpID09PSAiNCIuIEFjdHVhbDogbmV3IFN0cmluZyg0MikuY2hhckF0KGZ1bmN0aW9uKCl7fSgpKSA9PT0nK25ldyBTdHJpbmcoNDIpLmNoYXJBdChmdW5jdGlvbigpe30oKSkgKTsgCn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"String.prototype.charAt(pos)","description":"Call charAt() function with function(){}() argument of string object","path":"TestCases/ch15/15.5/15.5.4/15.5.4.4/S15.5.4.4_A1_T9.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuIFN0cmluZy5wcm90b3R5cGUuY2hhckF0KHBvcykgY2FsbHMgaWYgVG9JbnRlZ2VyKHBvcykgbGVzcyB0aGFuIDAgdGhlIGVtcHR5IHN0cmluZyByZXR1cm5zCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjQvUzE1LjUuNC40X0EyLmpzCiAqIEBkZXNjcmlwdGlvbiBDYWxsIGNoYXJBdChwb3MpIHdpdGggbmVnYXRpdmUgcG9zCiAqLwoKZnVuY3Rpb24gX19GQUNUT1JZKCl7fTsKCl9fRkFDVE9SWS5wcm90b3R5cGUuY2hhckF0ID0gU3RyaW5nLnByb3RvdHlwZS5jaGFyQXQ7Cgp2YXIgX19pbnN0YW5jZSA9IG5ldyBfX0ZBQ1RPUlk7CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmIChfX2luc3RhbmNlLmNoYXJBdCgtMSkgIT09ICIiKSB7CiAgJEVSUk9SKCcjMTogX19pbnN0YW5jZS5jaGFyQXQoLTEpID09PSAiIi4gQWN0dWFsOiBfX2luc3RhbmNlLmNoYXJBdCgtMSkgPT09JytfX2luc3RhbmNlLmNoYXJBdCgtMSkgKTsgCn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"When String.prototype.charAt(pos) calls if ToInteger(pos) less than 0 the empty string returns","description":"Call charAt(pos) with negative pos","path":"TestCases/ch15/15.5/15.5.4/15.5.4.4/S15.5.4.4_A2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuIFN0cmluZy5wcm90b3R5cGUuY2hhckF0KHBvcykgY2FsbHMgaWYgVG9JbnRlZ2VyKHBvcykgbm90IGxlc3MgdGhhbiBUb1N0cmluZyh0aGlzIHZhbHVlKSB0aGUgZW1wdHkgc3RyaW5nIHJldHVybnMKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuNC9TMTUuNS40LjRfQTMuanMKICogQGRlc2NyaXB0aW9uIHBvcyBpcyBiaWdnZXIgb2Ygc3RyaW5nIGxlbmd0aAogKi8KCnZhciBfX2luc3RhbmNlID0gbmV3IFN0cmluZygiQUJDIik7CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmIChfX2luc3RhbmNlLmNoYXJBdCgzKSAhPT0gIiIpIHsKICAkRVJST1IoJyMxOiBfX2luc3RhbmNlID0gbmV3IFN0cmluZygiQUJDIik7IF9faW5zdGFuY2UuY2hhckF0KDMpID09PSAiIi4gQWN0dWFsOiBfX2luc3RhbmNlLmNoYXJBdCgzKSA9PT0nK19faW5zdGFuY2UuY2hhckF0KDMpICk7IAp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"When String.prototype.charAt(pos) calls if ToInteger(pos) not less than ToString(this value) the empty string returns","description":"pos is bigger of string length","path":"TestCases/ch15/15.5/15.5.4/15.5.4.4/S15.5.4.4_A3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBwb3MgaXMgYSB2YWx1ZSBvZiBOdW1iZXIgdHlwZSB0aGF0IGlzIGFuIGludGVnZXIsIHRoZW4gdGhlIHJlc3VsdCBvZiB4LmNoYXJBdChwb3MpIGlzIGVxdWFsIHRvIHRoZSByZXN1bHQgb2YgeC5zdWJzdHJpbmcocG9zLCBwb3MrMSkKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuNC9TMTUuNS40LjRfQTRfVDEuanMKICogQGRlc2NyaXB0aW9uIENvbXBhcmUgcmVzdWx0cyBvZiB4LmNoYXJBdChwb3MpIGFuZCB4LnN1YnN0cmluZyhwb3MsIHBvcysxKQogKi8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKZm9yKHZhciBpPTA7IGk8NjsgaSsrKSB7CiAgaWYgKCJBQkNcdTAwNDFcdTAwNDJcdTAwNDMiLmNoYXJBdChpKSAhPT0gIlx1MDA0MVx1MDA0Mlx1MDA0M0FCQyIuc3Vic3RyaW5nKGksIGkrMSkpIHsKICAgICAgJEVSUk9SKCcjJytpKyc6ICJBQkNcXHUwMDQxXFx1MDA0MlxcdTAwNDMiLmNoYXJBdCgnK2krJykgPT09ICJcXHUwMDQxXFx1MDA0MlxcdTAwNDNBQkMiLnN1YnN0cmluZygnK2krJywgJysoaSsxKSsnKS4gQWN0dWFsOiAiQUJDXFx1MDA0MVxcdTAwNDJcXHUwMDQzIi5jaGFyQXQoJytpKycpID09PScrKCJBQkNcdTAwNDFcdTAwNDJcdTAwNDMiLmNoYXJBdChpKSkgKTsgCiAgICB9Cn0KICAgIAovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"If pos is a value of Number type that is an integer, then the result of x.charAt(pos) is equal to the result of x.substring(pos, pos+1)","description":"Compare results of x.charAt(pos) and x.substring(pos, pos+1)","path":"TestCases/ch15/15.5/15.5.4/15.5.4.4/S15.5.4.4_A4_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBwb3MgaXMgYSB2YWx1ZSBvZiBOdW1iZXIgdHlwZSB0aGF0IGlzIGFuIGludGVnZXIsIHRoZW4gdGhlIHJlc3VsdCBvZiB4LmNoYXJBdChwb3MpIGlzIGVxdWFsIHRvIHRoZSByZXN1bHQgb2YgeC5zdWJzdHJpbmcocG9zLCBwb3MrMSkKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuNC9TMTUuNS40LjRfQTRfVDIuanMKICogQGRlc2NyaXB0aW9uIENvbXBhcmUgcmVzdWx0cyBvZiB4LmNoYXJBdChwb3MpIGFuZCB4LnN1YnN0cmluZyhwb3MsIHBvcysxKSwgd2hlYiBwb3MgaXMgc21hbGxlciBvZiB6ZXJvCiAqLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQpmb3IodmFyIGk9LTI7IGk8MDsgaSsrKSB7CiAgaWYgKCJBQkNcdTAwNDFcdTAwNDJcdTAwNDMiLmNoYXJBdChpKSAhPT0gIlx1MDA0MVx1MDA0Mlx1MDA0M0FCQyIuc3Vic3RyaW5nKGksIGkrMSkpIHsKICAgICAgJEVSUk9SKCcjJysoaSsyKSsnOiAiQUJDXFx1MDA0MVxcdTAwNDJcXHUwMDQzIi5jaGFyQXQoJytpKycpID09PSAiXFx1MDA0MVxcdTAwNDJcXHUwMDQzQUJDIi5zdWJzdHJpbmcoJytpKycsICcrKGkrMSkrJykuIEFjdHVhbDogIkFCQ1xcdTAwNDFcXHUwMDQyXFx1MDA0MyIuY2hhckF0KCcraSsnKSA9PT0nKygiQUJDXHUwMDQxXHUwMDQyXHUwMDQzIi5jaGFyQXQoaSkpICk7IAogICAgfQp9CiAgICAKLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"If pos is a value of Number type that is an integer, then the result of x.charAt(pos) is equal to the result of x.substring(pos, pos+1)","description":"Compare results of x.charAt(pos) and x.substring(pos, pos+1), wheb pos is smaller of zero","path":"TestCases/ch15/15.5/15.5.4/15.5.4.4/S15.5.4.4_A4_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBJZiBwb3MgaXMgYSB2YWx1ZSBvZiBOdW1iZXIgdHlwZSB0aGF0IGlzIGFuIGludGVnZXIsIHRoZW4gdGhlIHJlc3VsdCBvZiB4LmNoYXJBdChwb3MpIGlzIGVxdWFsIHRvIHRoZSByZXN1bHQgb2YgeC5zdWJzdHJpbmcocG9zLCBwb3MrMSkKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuNC9TMTUuNS40LjRfQTRfVDMuanMKICogQGRlc2NyaXB0aW9uIENvbXBhcmUgcmVzdWx0cyBvZiB4LmNoYXJBdChwb3MpIGFuZCB4LnN1YnN0cmluZyhwb3MsIHBvcysxKSwgd2hlYiBwb3MgaXMgYmlnZ2VyIHN0cmluZyBsZW5ndGgKICovCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmZvcih2YXIgaT02OyBpPDg7IGkrKykgewogIGlmICgiQUJDXHUwMDQxXHUwMDQyXHUwMDQzIi5jaGFyQXQoaSkgIT09ICJcdTAwNDFcdTAwNDJcdTAwNDNBQkMiLnN1YnN0cmluZyhpLCBpKzEpKSB7CiAgICAgICRFUlJPUignIycrKGktNSkrJzogIkFCQ1xcdTAwNDFcXHUwMDQyXFx1MDA0MyIuY2hhckF0KCcraSsnKSA9PT0gIlxcdTAwNDFcXHUwMDQyXFx1MDA0M0FCQyIuc3Vic3RyaW5nKCcraSsnLCAnKyhpKzEpKycpLiBBY3R1YWw6ICJBQkNcXHUwMDQxXFx1MDA0MlxcdTAwNDMiLmNoYXJBdCgnK2krJykgPT09JysoIkFCQ1x1MDA0MVx1MDA0Mlx1MDA0MyIuY2hhckF0KGkpKSk7IAogICAgfQp9CiAgICAKLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"If pos is a value of Number type that is an integer, then the result of x.charAt(pos) is equal to the result of x.substring(pos, pos+1)","description":"Compare results of x.charAt(pos) and x.substring(pos, pos+1), wheb pos is bigger string length","path":"TestCases/ch15/15.5/15.5.4/15.5.4.4/S15.5.4.4_A4_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuIFN0cmluZy5wcm90b3R5cGUuY2hhckF0KHBvcykgY2FsbHMgZmlyc3QgY2FsbHMgVG9TdHJpbmcsIGdpdmluZyBpdCB0aGUgdGhpcyB2YWx1ZSBhcyBpdHMgYXJndW1lbnQKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuNC9TMTUuNS40LjRfQTUuanMKICogQGRlc2NyaXB0aW9uIENoYW5nZSB0b1N0cmluZyBmdW5jdGlvbiwgaXQgdHJvdyBleGNlcHRpb24sIGFuZCBjYWxsIGNoYXJBdCgpCiAqLwoKdmFyIF9fb2JqPXsKICAgIHZhbHVlT2Y6MSwKICAgIHRvU3RyaW5nOmZ1bmN0aW9uKCl7dGhyb3cgJ2ludG9zdHJpbmcnfSwKICAgIGNoYXJBdDpTdHJpbmcucHJvdG90eXBlLmNoYXJBdAp9CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCnRyeSB7CiAgdmFyIHggPSBfX29iai5jaGFyQXQoKTsKICAkRkFJTCgnIzE6IF9fb2JqPXt2YWx1ZU9mOjEsdG9TdHJpbmc6ZnVuY3Rpb24oKXt0aHJvdyBcJ2ludG9zdHJpbmdcJ30sY2hhckF0OlN0cmluZy5wcm90b3R5cGUuY2hhckF0fTsgInZhciB4ID0gX19vYmouY2hhckF0KCkiIGxlYWQgdG8gdGhyb3dpbmcgZXhjZXB0aW9uJyk7Cn0gY2F0Y2ggKGUpIHsKICBpZiAoZSAhPT0gJ2ludG9zdHJpbmcnKSB7CiAgICAkRVJST1IoJyMxLjE6IEV4Y2VwdGlvbiA9PT0gXCdpbnRvc3RyaW5nXCcuIEFjdHVhbDogZXhjZXB0aW9uID09PScrZSApOyAKICB9Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"When String.prototype.charAt(pos) calls first calls ToString, giving it the this value as its argument","description":"Change toString function, it trow exception, and call charAt()","path":"TestCases/ch15/15.5/15.5.4/15.5.4.4/S15.5.4.4_A5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLmNoYXJBdCBoYXMgbm90IHByb3RvdHlwZSBwcm9wZXJ0eQogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS40LzE1LjUuNC40L1MxNS41LjQuNF9BNi5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgU3RyaW5nLnByb3RvdHlwZS5jaGFyQXQucHJvdG90eXBlCiAqLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAoU3RyaW5nLnByb3RvdHlwZS5jaGFyQXQucHJvdG90eXBlICE9PSB1bmRlZmluZWQpIHsKICAkRVJST1IoJyMxOiBTdHJpbmcucHJvdG90eXBlLmNoYXJBdC5wcm90b3R5cGUgPT09IHVuZGVmaW5lZC4gQWN0dWFsOiAnK1N0cmluZy5wcm90b3R5cGUuY2hhckF0LnByb3RvdHlwZSApOyAKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"String.prototype.charAt has not prototype property","description":"Checking String.prototype.charAt.prototype","path":"TestCases/ch15/15.5/15.5.4/15.5.4.4/S15.5.4.4_A6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLmNoYXJBdCBjYW4ndCBiZSB1c2VkIGFzIGNvbnN0cnVjdG9yCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjQvUzE1LjUuNC40X0E3LmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiBjcmVhdGluZyB0aGUgU3RyaW5nLnByb3RvdHlwZS5jaGFyQXQgb2JqZWN0IGZhaWxzCiAqLwoKdmFyIF9fRkFDVE9SWSA9IFN0cmluZy5wcm90b3R5cGUuY2hhckF0OwoKdHJ5IHsKICB2YXIgX19pbnN0YW5jZSA9IG5ldyBfX0ZBQ1RPUlk7CiAgJEZBSUwoJyMxOiBfX0ZBQ1RPUlkgPSBTdHJpbmcucHJvdG90eXBlLmNoYXJBdDsgIl9faW5zdGFuY2UgPSBuZXcgX19GQUNUT1JZIiBsZWFkIHRvIHRocm93aW5nIGV4Y2VwdGlvbicpOwp9IGNhdGNoIChlKSB7CiAgaWYgKChlIGluc3RhbmNlb2YgVHlwZUVycm9yKSAhPT0gdHJ1ZSkgewogICAgJEVSUk9SKCcjMS4yOiB1bmRlZmluZWQgPSAxIHRocm93IGEgVHlwZUVycm9yLiBBY3R1YWw6ICcgKyAoZSkpOyAgCiAgfQp9Cgo=","commentary":"String.prototype.charAt can't be used as constructor","description":"Checking if creating the String.prototype.charAt object fails","path":"TestCases/ch15/15.5/15.5.4/15.5.4.4/S15.5.4.4_A7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgU3RyaW5nLnByb3RvdHlwZS5jaGFyQXQubGVuZ3RoIHByb3BlcnR5IGhhcyB0aGUgYXR0cmlidXRlIERvbnRFbnVtCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjQvUzE1LjUuNC40X0E4LmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiBlbnVtZXJhdGluZyB0aGUgU3RyaW5nLnByb3RvdHlwZS5jaGFyQXQubGVuZ3RoIHByb3BlcnR5IGZhaWxzCiAqLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMAppZiAoIShTdHJpbmcucHJvdG90eXBlLmNoYXJBdC5oYXNPd25Qcm9wZXJ0eSgnbGVuZ3RoJykpKSB7CiAgJEVSUk9SKCcjMDogU3RyaW5nLnByb3RvdHlwZS5jaGFyQXQuaGFzT3duUHJvcGVydHkoXCdsZW5ndGhcJykgcmV0dXJuIHRydWUuIEFjdHVhbDogJytTdHJpbmcucHJvdG90eXBlLmNoYXJBdC5oYXNPd25Qcm9wZXJ0eSgnbGVuZ3RoJykpOyAKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy8gQ0hFQ0sjMQppZiAoU3RyaW5nLnByb3RvdHlwZS5jaGFyQXQucHJvcGVydHlJc0VudW1lcmFibGUoJ2xlbmd0aCcpKSB7CiAgJEVSUk9SKCcjMTogU3RyaW5nLnByb3RvdHlwZS5jaGFyQXQucHJvcGVydHlJc0VudW1lcmFibGUoXCdsZW5ndGhcJykgcmV0dXJuIGZhbHNlLiBBY3R1YWw6ICcrU3RyaW5nLnByb3RvdHlwZS5jaGFyQXQucHJvcGVydHlJc0VudW1lcmFibGUoJ2xlbmd0aCcpKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovLyBDSEVDSyMyCnZhciBjb3VudD0wOwoKZm9yIChwIGluIFN0cmluZy5wcm90b3R5cGUuY2hhckF0KXsKICBpZiAocD09PSJsZW5ndGgiKSBjb3VudCsrOwp9CgppZiAoY291bnQgIT09IDApIHsKICAkRVJST1IoJyMyOiBjb3VudD0wOyBmb3IgKHAgaW4gU3RyaW5nLnByb3RvdHlwZS5jaGFyQXQpe2lmIChwPT09Imxlbmd0aCIpIGNvdW50Kys7fTsgY291bnQgPT09IDAuIEFjdHVhbDogY291bnQgPT09Jytjb3VudCApOyAKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"The String.prototype.charAt.length property has the attribute DontEnum","description":"Checking if enumerating the String.prototype.charAt.length property fails","path":"TestCases/ch15/15.5/15.5.4/15.5.4.4/S15.5.4.4_A8.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgU3RyaW5nLnByb3RvdHlwZS5jaGFyQXQubGVuZ3RoIHByb3BlcnR5IGhhcyB0aGUgYXR0cmlidXRlIERvbnREZWxldGUKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuNC9TMTUuNS40LjRfQTkuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIGRlbGV0aW5nIHRoZSBTdHJpbmcucHJvdG90eXBlLmNoYXJBdC5sZW5ndGggcHJvcGVydHkgZmFpbHMKICovCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMwCmlmICghKFN0cmluZy5wcm90b3R5cGUuY2hhckF0Lmhhc093blByb3BlcnR5KCdsZW5ndGgnKSkpIHsKICAkRVJST1IoJyMwOiBTdHJpbmcucHJvdG90eXBlLmNoYXJBdC5oYXNPd25Qcm9wZXJ0eShcJ2xlbmd0aFwnKSByZXR1cm4gdHJ1ZS4gQWN0dWFsOiAnK1N0cmluZy5wcm90b3R5cGUuY2hhckF0Lmhhc093blByb3BlcnR5KCdsZW5ndGgnKSk7IAp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAoZGVsZXRlIFN0cmluZy5wcm90b3R5cGUuY2hhckF0Lmxlbmd0aCkgewogICRFUlJPUignIzE6IGRlbGV0ZSBTdHJpbmcucHJvdG90eXBlLmNoYXJBdC5sZW5ndGggcmV0dXJuIGZhbHNlJyk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMyCmlmICghKFN0cmluZy5wcm90b3R5cGUuY2hhckF0Lmhhc093blByb3BlcnR5KCdsZW5ndGgnKSkpIHsKICAkRVJST1IoJyMyOiBkZWxldGUgU3RyaW5nLnByb3RvdHlwZS5jaGFyQXQubGVuZ3RoOyBTdHJpbmcucHJvdG90eXBlLmNoYXJBdC5oYXNPd25Qcm9wZXJ0eShcJ2xlbmd0aFwnKSByZXR1cm4gdHJ1ZS4gQWN0dWFsOiAnK1N0cmluZy5wcm90b3R5cGUuY2hhckF0Lmhhc093blByb3BlcnR5KCdsZW5ndGgnKSk7IAp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"The String.prototype.charAt.length property has the attribute DontDelete","description":"Checking if deleting the String.prototype.charAt.length property fails","path":"TestCases/ch15/15.5/15.5.4/15.5.4.4/S15.5.4.4_A9.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLmNoYXJDb2RlQXQoKSBjYW4gYWNjZXB0IG1hbnkgYXJndW1lbnRzCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjUvUzE1LjUuNC41X0ExLjEuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGJ5IHVzaW5nIGV2YWwKICovCgpmdW5jdGlvbiBfX0ZBQ1RPUlkoKXt0aGlzLnRvU3RyaW5nID0gZnVuY3Rpb24oKXsgcmV0dXJuICJ3aXphcmQiO307fTsKCl9fRkFDVE9SWS5wcm90b3R5cGUuY2hhckNvZGVBdCA9IFN0cmluZy5wcm90b3R5cGUuY2hhckNvZGVBdDsKCnZhciBfX2luc3RhbmNlID0gbmV3IF9fRkFDVE9SWTsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKd2l0aChfX2luc3RhbmNlKXsKICAgCiAgICBpZiAoX19pbnN0YW5jZS5jaGFyQ29kZUF0KGV2YWwoIjEiKSx0cnVlLG51bGwse30pIT09IDB4NjkpIHsKICAgICAgJEVSUk9SKCcjMTogX19pbnN0YW5jZS5jaGFyQ29kZUF0KGV2YWwoIjEiKSx0cnVlLG51bGwse30pPT09IDB4NjkuIEFjdHVhbDogX19pbnN0YW5jZS5jaGFyQ29kZUF0KGV2YWwoIjEiKSx0cnVlLG51bGwse30pPT09JytfX2luc3RhbmNlLmNoYXJDb2RlQXQoZXZhbCgiMSIpLHRydWUsbnVsbCx7fSkpOyAKICAgIH0KfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCgo=","commentary":"String.prototype.charCodeAt() can accept many arguments","description":"Checking by using eval","path":"TestCases/ch15/15.5/15.5.4/15.5.4.5/S15.5.4.5_A1.1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgU3RyaW5nLnByb3RvdHlwZS5jaGFyQ29kZUF0Lmxlbmd0aCBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZSBSZWFkT25seQogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS40LzE1LjUuNC41L1MxNS41LjQuNV9BMTAuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIHZhcnlpbmcgdGhlIFN0cmluZy5wcm90b3R5cGUuY2hhckNvZGVBdC5sZW5ndGggcHJvcGVydHkgZmFpbHMKICovCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmICghKFN0cmluZy5wcm90b3R5cGUuY2hhckNvZGVBdC5oYXNPd25Qcm9wZXJ0eSgnbGVuZ3RoJykpKSB7CiAgJEVSUk9SKCcjMTogU3RyaW5nLnByb3RvdHlwZS5jaGFyQ29kZUF0Lmhhc093blByb3BlcnR5KFwnbGVuZ3RoXCcpIHJldHVybiB0cnVlLiBBY3R1YWw6ICcrU3RyaW5nLnByb3RvdHlwZS5jaGFyQ29kZUF0Lmhhc093blByb3BlcnR5KCdsZW5ndGgnKSk7IAp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKdmFyIF9fb2JqID0gU3RyaW5nLnByb3RvdHlwZS5jaGFyQ29kZUF0Lmxlbmd0aDsKClN0cmluZy5wcm90b3R5cGUuY2hhckNvZGVBdC5sZW5ndGggPSBmdW5jdGlvbigpe3JldHVybiAic2hpZnRlZCI7fTsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzIKaWYgKFN0cmluZy5wcm90b3R5cGUuY2hhckNvZGVBdC5sZW5ndGggIT09IF9fb2JqKSB7CiAgJEVSUk9SKCcjMjogX19vYmogPSBTdHJpbmcucHJvdG90eXBlLmNoYXJDb2RlQXQubGVuZ3RoOyBTdHJpbmcucHJvdG90eXBlLmNoYXJDb2RlQXQubGVuZ3RoID0gZnVuY3Rpb24oKXtyZXR1cm4gInNoaWZ0ZWQiO307IFN0cmluZy5wcm90b3R5cGUuY2hhckNvZGVBdC5sZW5ndGggPT09IF9fb2JqLiBBY3R1YWw6ICcrU3RyaW5nLnByb3RvdHlwZS5jaGFyQ29kZUF0Lmxlbmd0aCApOyAKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"The String.prototype.charCodeAt.length property has the attribute ReadOnly","description":"Checking if varying the String.prototype.charCodeAt.length property fails","path":"TestCases/ch15/15.5/15.5.4/15.5.4.5/S15.5.4.5_A10.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgbGVuZ3RoIHByb3BlcnR5IG9mIHRoZSBjaGFyQ29kZUF0IG1ldGhvZCBpcyAxCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjUvUzE1LjUuNC41X0ExMS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgU3RyaW5nLnByb3RvdHlwZS5jaGFyQ29kZUF0Lmxlbmd0aAogKi8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKCEoU3RyaW5nLnByb3RvdHlwZS5jaGFyQ29kZUF0Lmhhc093blByb3BlcnR5KCJsZW5ndGgiKSkpIHsKICAkRVJST1IoJyMxOiBTdHJpbmcucHJvdG90eXBlLmNoYXJDb2RlQXQuaGFzT3duUHJvcGVydHkoImxlbmd0aCIpIHJldHVybiB0cnVlLiBBY3R1YWw6ICcrU3RyaW5nLnByb3RvdHlwZS5jaGFyQ29kZUF0Lmhhc093blByb3BlcnR5KCJsZW5ndGgiKSk7IAp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMgppZiAoU3RyaW5nLnByb3RvdHlwZS5jaGFyQ29kZUF0Lmxlbmd0aCAhPT0gMSkgewogICRFUlJPUignIzI6IFN0cmluZy5wcm90b3R5cGUuY2hhckNvZGVBdC5sZW5ndGggPT09IDEuIEFjdHVhbDogJytTdHJpbmcucHJvdG90eXBlLmNoYXJDb2RlQXQubGVuZ3RoICk7IAp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"The length property of the charCodeAt method is 1","description":"Checking String.prototype.charCodeAt.length","path":"TestCases/ch15/15.5/15.5.4/15.5.4.5/S15.5.4.5_A11.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLmNoYXJDb2RlQXQocG9zKQogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS40LzE1LjUuNC41L1MxNS41LjQuNV9BMV9UMS5qcwogKiBAZGVzY3JpcHRpb24gcG9zIGlzIGZhbHNlIGFuZCB0cnVlLCBhbmQgaW5zdGFuY2UgaXMgb2JqZWN0CiAqLwoKdmFyIF9faW5zdGFuY2UgPSBuZXcgT2JqZWN0KDQyKTsKCl9faW5zdGFuY2UuY2hhckNvZGVBdCA9IFN0cmluZy5wcm90b3R5cGUuY2hhckNvZGVBdDsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKChfX2luc3RhbmNlLmNoYXJDb2RlQXQoZmFsc2UpICE9PSA1Mil8fChfX2luc3RhbmNlLmNoYXJDb2RlQXQodHJ1ZSkgIT09IDUwKSkgewogICRFUlJPUignIzE6IF9faW5zdGFuY2UgPSBuZXcgT2JqZWN0KDQyKTsgX19pbnN0YW5jZS5jaGFyQ29kZUF0ID0gU3RyaW5nLnByb3RvdHlwZS5jaGFyQ29kZUF0OyAgX19pbnN0YW5jZS5jaGFyQ29kZUF0KGZhbHNlKSA9PT0gNTIgYW5kIF9faW5zdGFuY2UuY2hhckNvZGVBdCh0cnVlKSA9PT0gNTAuIEFjdHVhbDogX19pbnN0YW5jZS5jaGFyQ29kZUF0KGZhbHNlKSA9PT0nK19faW5zdGFuY2UuY2hhckNvZGVBdChmYWxzZSkrJyBhbmQgX19pbnN0YW5jZS5jaGFyQ29kZUF0KHRydWUpID09PScrX19pbnN0YW5jZS5jaGFyQ29kZUF0KHRydWUpICk7IAp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"String.prototype.charCodeAt(pos)","description":"pos is false and true, and instance is object","path":"TestCases/ch15/15.5/15.5.4/15.5.4.5/S15.5.4.5_A1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLmNoYXJDb2RlQXQocG9zKQogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS40LzE1LjUuNC41L1MxNS41LjQuNV9BMV9UMTAuanMKICogQGRlc2NyaXB0aW9uIENhbGwgY2hhckNvZGVBdCgpIGZ1bmN0aW9uIHdpdGggb2JqZWN0IGFyZ3VtZW50CiAqLwoKdmFyIF9fb2JqID0ge3RvU3RyaW5nOmZ1bmN0aW9uKCl7cmV0dXJuIDE7fX0KdmFyIF9fc3RyID0gImxlZ28iOwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQp3aXRoKF9fc3RyKXsKICBpZiAoY2hhckNvZGVBdChfX29iaikgIT09IDB4NjUpIHsKICAgICRFUlJPUignIzE6IHZhciBfX29iaiA9IHt0b1N0cmluZzpmdW5jdGlvbigpe3JldHVybiAxO319OyB2YXIgX19zdHIgPSAibGVnbyI7IGNoYXJDb2RlQXQoX19vYmopID09PSAweDY1LiBBY3R1YWw6IGNoYXJDb2RlQXQoX19vYmopID09PScrY2hhckNvZGVBdChfX29iaikgKTsgCiAgfQp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"String.prototype.charCodeAt(pos)","description":"Call charCodeAt() function with object argument","path":"TestCases/ch15/15.5/15.5.4/15.5.4.5/S15.5.4.5_A1_T10.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLmNoYXJDb2RlQXQocG9zKQogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS40LzE1LjUuNC41L1MxNS41LjQuNV9BMV9UMi5qcwogKiBAZGVzY3JpcHRpb24gcG9zIGlzIGVxdWF0aW9uIHdpdGggZmFsc2UgYW5kIHRydWUsIGFuZCBpbnN0YW5jZSBpcyBCb29sZWFuIG9iamVjdAogKi8KCnZhciBfX2luc3RhbmNlID0gbmV3IEJvb2xlYW47CgpfX2luc3RhbmNlLmNoYXJDb2RlQXQgPSBTdHJpbmcucHJvdG90eXBlLmNoYXJDb2RlQXQ7CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmIChfX2luc3RhbmNlLmNoYXJDb2RlQXQoZmFsc2UpIT09MHg2NikgewogICRFUlJPUignIzE6IF9faW5zdGFuY2UgPSBuZXcgQm9vbGVhbjsgX19pbnN0YW5jZS5jaGFyQ29kZUF0ID0gU3RyaW5nLnByb3RvdHlwZS5jaGFyQ29kZUF0OyBfX2luc3RhbmNlLmNoYXJDb2RlQXQoZmFsc2UpPT09MHg2Ni4gQWN0dWFsOiAnK19faW5zdGFuY2UuY2hhckNvZGVBdChmYWxzZSkpOyAgIAp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMgppZiAoX19pbnN0YW5jZS5jaGFyQ29kZUF0KHRydWUpIT09MHg2MSkgewogICRFUlJPUignIzI6IF9faW5zdGFuY2UgPSBuZXcgQm9vbGVhbjsgX19pbnN0YW5jZS5jaGFyQ29kZUF0ID0gU3RyaW5nLnByb3RvdHlwZS5jaGFyQ29kZUF0OyBfX2luc3RhbmNlLmNoYXJDb2RlQXQodHJ1ZSk9PT0weDYxLiBBY3R1YWw6ICcrX19pbnN0YW5jZS5jaGFyQ29kZUF0KHRydWUpKTsgICAKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzMKaWYgKF9faW5zdGFuY2UuY2hhckNvZGVBdCh0cnVlKzEpICE9PSAweDZDKSB7CiAgJEVSUk9SKCcjMzogX19pbnN0YW5jZSA9IG5ldyBCb29sZWFuOyBfX2luc3RhbmNlLmNoYXJDb2RlQXQgPSBTdHJpbmcucHJvdG90eXBlLmNoYXJDb2RlQXQ7IF9faW5zdGFuY2UuY2hhckNvZGVBdCh0cnVlKzEpID09PSAweDZDLiBBY3R1YWw6ICcrX19pbnN0YW5jZS5jaGFyQ29kZUF0KHRydWUrMSkgKTsgICAKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"String.prototype.charCodeAt(pos)","description":"pos is equation with false and true, and instance is Boolean object","path":"TestCases/ch15/15.5/15.5.4/15.5.4.5/S15.5.4.5_A1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLmNoYXJDb2RlQXQocG9zKQogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS40LzE1LjUuNC41L1MxNS41LjQuNV9BMV9UNC5qcwogKiBAZGVzY3JpcHRpb24gQ2FsbCBjaGFyQ29kZUF0KCkgZnVuY3Rpb24gd2l0aG91dCBhcmd1bWVudCBvZiBzdHJpbmcgb2JqZWN0CiAqLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQovL3NpbmNlIE51bWJlcigpIGV2YWx1YXRlcyB0byAwIGNoYXJDb2RlQXQoKSBldmFsdWF0ZXMgdG8gY2hhckNvZGVBdCgwKQppZiAoInNtYXJ0Ii5jaGFyQ29kZUF0KCkgIT09IDB4NzMpIHsKICAkRVJST1IoJyMxOiAic21hcnQiLmNoYXJDb2RlQXQoKSA9PT0gMHg3My4gQWN0dWFsOiAic21hcnQiLmNoYXJDb2RlQXQoKSA9PT0nKygic21hcnQiLmNoYXJDb2RlQXQoKSkgKTsgCn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"String.prototype.charCodeAt(pos)","description":"Call charCodeAt() function without argument of string object","path":"TestCases/ch15/15.5/15.5.4/15.5.4.5/S15.5.4.5_A1_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLmNoYXJDb2RlQXQocG9zKQogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS40LzE1LjUuNC41L1MxNS41LjQuNV9BMV9UNS5qcwogKiBAZGVzY3JpcHRpb24gQ2FsbCBjaGFyQ29kZUF0KCkgZnVuY3Rpb24gd2l0aCBudWxsIGFyZ3VtZW50IG9mIGZ1bmN0aW9uIG9iamVjdAogKi8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKLy9zaW5jZSBUb0ludGVnZXIobnVsbCkgZXZhbHVhdGVzIHRvIDAgY2hhckNvZGVBdCgpIGV2YWx1YXRlcyB0byBjaGFyQ29kZUF0KDApCmlmIChmdW5jdGlvbigpe3JldHVybiAibGVnbyJ9KCkuY2hhckNvZGVBdChudWxsKSAhPT0gMHg2QykgewogICRFUlJPUignIzE6IGZ1bmN0aW9uKCl7cmV0dXJuICJsZWdvIn0oKS5jaGFyQ29kZUF0KG51bGwpID09PSAweDZDLiBBY3R1YWw6ICcrZnVuY3Rpb24oKXtyZXR1cm4gImxlZ28ifSgpLmNoYXJDb2RlQXQobnVsbCkgKTsgCn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"String.prototype.charCodeAt(pos)","description":"Call charCodeAt() function with null argument of function object","path":"TestCases/ch15/15.5/15.5.4/15.5.4.5/S15.5.4.5_A1_T5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLmNoYXJDb2RlQXQocG9zKQogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS40LzE1LjUuNC41L1MxNS41LjQuNV9BMV9UNi5qcwogKiBAZGVzY3JpcHRpb24gQ2FsbCBjaGFyQ29kZUF0KCkgZnVuY3Rpb24gd2l0aCB4IGFyZ3VtZW50IG9mIG5ldyBTdHJpbmcgb2JqZWN0LCB3aGVyZSB4IGlzIHVuZGVmaW5lZCB2YXJpYWJsZQogKi8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKLy9zaW5jZSBUb0ludGVnZXIodW5kZWZpbmVkKSBldmFsdWF0ZXMgdG8gMCBjaGFyQ29kZUF0KCkgZXZhbHVhdGVzIHRvIGNoYXJDb2RlQXQoMCkKaWYgKG5ldyBTdHJpbmcoImxlZ28iKS5jaGFyQ29kZUF0KHgpICE9PSAweDZDKSB7CiAgJEVSUk9SKCcjMTogdmFyIHg7IG5ldyBTdHJpbmcoImxlZ28iKS5jaGFyQ29kZUF0KHgpID09PSAweDZDLiBBY3R1YWw6IG5ldyBTdHJpbmcoImxlZ28iKS5jaGFyQ29kZUF0KHgpID09PScrbmV3IFN0cmluZygibGVnbyIpLmNoYXJDb2RlQXQoeCkgKTsgCn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgp2YXIgeDsKCg==","commentary":"String.prototype.charCodeAt(pos)","description":"Call charCodeAt() function with x argument of new String object, where x is undefined variable","path":"TestCases/ch15/15.5/15.5.4/15.5.4.5/S15.5.4.5_A1_T6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLmNoYXJDb2RlQXQocG9zKQogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS40LzE1LjUuNC41L1MxNS41LjQuNV9BMV9UNy5qcwogKiBAZGVzY3JpcHRpb24gQ2FsbCBjaGFyQ29kZUF0KCkgZnVuY3Rpb24gd2l0aCB1bmRlZmluZWQgYXJndW1lbnQgb2Ygc3RyaW5nIG9iamVjdAogKi8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKLy9zaW5jZSBUb0ludGVnZXIodW5kZWZpbmVkKSBldmFsdWF0ZXMgdG8gMCBjaGFyQ29kZUF0KCkgZXZhbHVhdGVzIHRvIGNoYXJDb2RlQXQoMCkKaWYgKFN0cmluZygibGVnbyIpLmNoYXJDb2RlQXQodW5kZWZpbmVkKSAhPT0gMHg2QykgewogICRFUlJPUignIzE6IFN0cmluZygibGVnbyIpLmNoYXJDb2RlQXQodW5kZWZpbmVkKSA9PT0gMHg2Qy4gQWN0dWFsOiBTdHJpbmcoImxlZ28iKS5jaGFyQ29kZUF0KHVuZGVmaW5lZCkgPT09JytTdHJpbmcoImxlZ28iKS5jaGFyQ29kZUF0KHVuZGVmaW5lZCkgKTsgCn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"String.prototype.charCodeAt(pos)","description":"Call charCodeAt() function with undefined argument of string object","path":"TestCases/ch15/15.5/15.5.4/15.5.4.5/S15.5.4.5_A1_T7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLmNoYXJDb2RlQXQocG9zKQogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS40LzE1LjUuNC41L1MxNS41LjQuNV9BMV9UOC5qcwogKiBAZGVzY3JpcHRpb24gQ2FsbCBjaGFyQ29kZUF0KCkgZnVuY3Rpb24gd2l0aCB2b2lkIDAgYXJndW1lbnQgb2Ygc3RyaW5nIG9iamVjdAogKi8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKLy9zaW5jZSBUb0ludGVnZXIodm9pZCAwKSBldmFsdWF0ZXMgdG8gMCBjaGFyQ29kZUF0KCkgZXZhbHVhdGVzIHRvIGNoYXJDb2RlQXQoMCkKaWYgKFN0cmluZyg0MikuY2hhckNvZGVBdCh2b2lkIDApICE9PSAweDM0KSB7CiAgJEVSUk9SKCcjMTogU3RyaW5nKDQyKS5jaGFyQ29kZUF0KHZvaWQgMCkgPT09IDB4MzQuIEFjdHVhbDogU3RyaW5nKDQyKS5jaGFyQ29kZUF0KHZvaWQgMCkgPT09JytTdHJpbmcoNDIpLmNoYXJDb2RlQXQodm9pZCAwKSApOyAKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"String.prototype.charCodeAt(pos)","description":"Call charCodeAt() function with void 0 argument of string object","path":"TestCases/ch15/15.5/15.5.4/15.5.4.5/S15.5.4.5_A1_T8.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLmNoYXJDb2RlQXQocG9zKQogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS40LzE1LjUuNC41L1MxNS41LjQuNV9BMV9UOS5qcwogKiBAZGVzY3JpcHRpb24gQ2FsbCBjaGFyQ29kZUF0KCkgZnVuY3Rpb24gd2l0aCBmdW5jdGlvbigpe30oKSBhcmd1bWVudCBvZiBzdHJpbmcgb2JqZWN0CiAqLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQovL3NpbmNlIFRvSW50ZWdlcih1bmRlZmluZWQpIGV2YWx1YXRlcyB0byAwIGNoYXJDb2RlQXQoKSBldmFsdWF0ZXMgdG8gY2hhckNvZGVBdCgwKQppZiAobmV3IFN0cmluZyg0MikuY2hhckNvZGVBdChmdW5jdGlvbigpe30oKSkgIT09IDB4MzQpIHsKICAkRVJST1IoJyMxOiBuZXcgU3RyaW5nKDQyKS5jaGFyQ29kZUF0KGZ1bmN0aW9uKCl7fSgpKSA9PT0gMHgzNC4gQWN0dWFsOiBuZXcgU3RyaW5nKDQyKS5jaGFyQ29kZUF0KGZ1bmN0aW9uKCl7fSgpKSA9PT0nK25ldyBTdHJpbmcoNDIpLmNoYXJDb2RlQXQoZnVuY3Rpb24oKXt9KCkpICk7IAp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"String.prototype.charCodeAt(pos)","description":"Call charCodeAt() function with function(){}() argument of string object","path":"TestCases/ch15/15.5/15.5.4/15.5.4.5/S15.5.4.5_A1_T9.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuIFN0cmluZy5wcm90b3R5cGUuY2hhckNvZGVBdChwb3MpIGNhbGxzIGlmIFRvSW50ZWdlcihwb3MpIGxlc3MgdGhhbiAwIHRoZSBOYU4gcmV0dXJucwogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS40LzE1LjUuNC41L1MxNS41LjQuNV9BMi5qcwogKiBAZGVzY3JpcHRpb24gQ2FsbCBjaGFyQ29kZUF0KHBvcykgd2l0aCBuZWdhdGl2ZSBwb3MKICovCgpmdW5jdGlvbiBfX0ZBQ1RPUlkoKXt9OwoKX19GQUNUT1JZLnByb3RvdHlwZS5jaGFyQ29kZUF0ID0gU3RyaW5nLnByb3RvdHlwZS5jaGFyQ29kZUF0OwoKdmFyIF9faW5zdGFuY2UgPSBuZXcgX19GQUNUT1JZOwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAoIWlzTmFOKF9faW5zdGFuY2UuY2hhckNvZGVBdCgtMSkpKSB7CiAgJEVSUk9SKCcjMTogZnVuY3Rpb24gX19GQUNUT1JZKCl7fTsgX19GQUNUT1JZLnByb3RvdHlwZS5jaGFyQ29kZUF0ID0gU3RyaW5nLnByb3RvdHlwZS5jaGFyQ29kZUF0OyBfX2luc3RhbmNlID0gbmV3IF9fRkFDVE9SWTsgaXNOYU4oX19pbnN0YW5jZS5jaGFyQ29kZUF0KC0xKSkgcmV0dXJuIHRydWUuIEFjdHVhbDogJytpc05hTihfX2luc3RhbmNlLmNoYXJDb2RlQXQoLTEpKSk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"When String.prototype.charCodeAt(pos) calls if ToInteger(pos) less than 0 the NaN returns","description":"Call charCodeAt(pos) with negative pos","path":"TestCases/ch15/15.5/15.5.4/15.5.4.5/S15.5.4.5_A2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuIFN0cmluZy5wcm90b3R5cGUuY2hhckNvZGVBdChwb3MpIGNhbGxzIGlmIFRvSW50ZWdlcihwb3MpIG5vdCBsZXNzIHRoYW4gVG9TdHJpbmcodGhpcyB2YWx1ZSkgdGhlIE5hTiByZXR1cm5zCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjUvUzE1LjUuNC41X0EzLmpzCiAqIEBkZXNjcmlwdGlvbiBwb3MgaXMgYmlnZ2VyIG9mIHN0cmluZyBsZW5ndGgKICovCgp2YXIgX19pbnN0YW5jZSA9IG5ldyBTdHJpbmcoIkFCQyIpOwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAoIWlzTmFOKF9faW5zdGFuY2UuY2hhckNvZGVBdCgzKSkpIHsKICAkRVJST1IoJyMxOiBfX2luc3RhbmNlID0gbmV3IFN0cmluZygiQUJDIik7IGlzTmFOKF9faW5zdGFuY2UuY2hhckNvZGVBdCgzKSkgcmV0dXJuIHRydWUuIEFjdHVhbDogJytpc05hTihfX2luc3RhbmNlLmNoYXJDb2RlQXQoMykpKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"When String.prototype.charCodeAt(pos) calls if ToInteger(pos) not less than ToString(this value) the NaN returns","description":"pos is bigger of string length","path":"TestCases/ch15/15.5/15.5.4/15.5.4.5/S15.5.4.5_A3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuIFN0cmluZy5wcm90b3R5cGUuY2hhckNvZGVBdChwb3MpIGNhbGxzIGZpcnN0IGNhbGxzIFRvU3RyaW5nLCBnaXZpbmcgaXQgdGhlIHRoaXMgdmFsdWUgYXMgaXRzIGFyZ3VtZW50CiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjUvUzE1LjUuNC41X0E0LmpzCiAqIEBkZXNjcmlwdGlvbiBDaGFuZ2UgdG9TdHJpbmcgZnVuY3Rpb24sIGl0IHRyb3cgZXhjZXB0aW9uLCBhbmQgY2FsbCBjaGFyQ29kZUF0KCkKICovCgp2YXIgX19vYmo9ewogICAgdmFsdWVPZjoxLAogICAgdG9TdHJpbmc6ZnVuY3Rpb24oKXt0aHJvdyAnaW50b3N0cmluZyd9LAogICAgY2hhckNvZGVBdDpTdHJpbmcucHJvdG90eXBlLmNoYXJDb2RlQXQKfQoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQp0cnkgewogIHZhciB4ID0gX19vYmouY2hhckNvZGVBdCgpOwogICRGQUlMKCcjMTogICJ2YXIgeCA9IF9fb2JqLmNoYXJDb2RlQXQoKSIgbGVhZCB0byB0aHJvd2luZyBleGNlcHRpb24nKTsKfSBjYXRjaCAoZSkgewogIGlmIChlICE9PSAnaW50b3N0cmluZycpIHsKICAgICRFUlJPUignIzEuMTogRXhjZXB0aW9uID09PSBcJ2ludG9zdHJpbmdcJy4gQWN0dWFsOiBleGNlcHRpb24gPT09JytlICk7IAogIH0KfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"When String.prototype.charCodeAt(pos) calls first calls ToString, giving it the this value as its argument","description":"Change toString function, it trow exception, and call charCodeAt()","path":"TestCases/ch15/15.5/15.5.4/15.5.4.5/S15.5.4.5_A4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLmNoYXJDb2RlQXQgaGFzIG5vdCBwcm90b3R5cGUgcHJvcGVydHkKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuNS9TMTUuNS40LjVfQTYuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIFN0cmluZy5wcm90b3R5cGUuY2hhckNvZGVBdC5wcm90b3R5cGUKICovCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmIChTdHJpbmcucHJvdG90eXBlLmNoYXJDb2RlQXQucHJvdG90eXBlICE9PSB1bmRlZmluZWQpIHsKICAkRVJST1IoJyMxOiBTdHJpbmcucHJvdG90eXBlLmNoYXJDb2RlQXQucHJvdG90eXBlID09PSB1bmRlZmluZWQuIEFjdHVhbDogJytTdHJpbmcucHJvdG90eXBlLmNoYXJDb2RlQXQucHJvdG90eXBlICk7IAp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"String.prototype.charCodeAt has not prototype property","description":"Checking String.prototype.charCodeAt.prototype","path":"TestCases/ch15/15.5/15.5.4/15.5.4.5/S15.5.4.5_A6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLmNoYXJDb2RlQXQgY2FuJ3QgYmUgdXNlZCBhcyBjb25zdHJ1Y3RvcgogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS40LzE1LjUuNC41L1MxNS41LjQuNV9BNy5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgaWYgY3JlYXRpbmcgdGhlIFN0cmluZy5wcm90b3R5cGUuY2hhckNvZGVBdCBvYmplY3QgZmFpbHMKICovCgp2YXIgX19GQUNUT1JZID0gU3RyaW5nLnByb3RvdHlwZS5jaGFyQ29kZUF0OwoKdHJ5IHsKICB2YXIgX19pbnN0YW5jZSA9IG5ldyBfX0ZBQ1RPUlk7CiAgJEZBSUwoJyMxOiBfX0ZBQ1RPUlkgPSBTdHJpbmcucHJvdG90eXBlLmNoYXJDb2RlQXQ7ICJfX2luc3RhbmNlID0gbmV3IF9fRkFDVE9SWSIgbGVhZCB0byB0aHJvd2luZyBleGNlcHRpb24nKTsNCn0gY2F0Y2ggKGUpIHsNCiAgICBpZiAoZSBpbnN0YW5jZW9mIFRlc3QyNjJFcnJvcikgdGhyb3cgZTsKfQoK","commentary":"String.prototype.charCodeAt can't be used as constructor","description":"Checking if creating the String.prototype.charCodeAt object fails","path":"TestCases/ch15/15.5/15.5.4/15.5.4.5/S15.5.4.5_A7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgU3RyaW5nLnByb3RvdHlwZS5jaGFyQ29kZUF0Lmxlbmd0aCBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZSBEb250RW51bQogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS40LzE1LjUuNC41L1MxNS41LjQuNV9BOC5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgaWYgZW51bWVyYXRpbmcgdGhlIFN0cmluZy5wcm90b3R5cGUuY2hhckNvZGVBdC5sZW5ndGggcHJvcGVydHkgZmFpbHMKICovCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMwCmlmICghKFN0cmluZy5wcm90b3R5cGUuY2hhckNvZGVBdC5oYXNPd25Qcm9wZXJ0eSgnbGVuZ3RoJykpKSB7CiAgJEZBSUwoJyMwOiBTdHJpbmcucHJvdG90eXBlLmNoYXJDb2RlQXQuaGFzT3duUHJvcGVydHkoXCdsZW5ndGhcJykgcmV0dXJuIHRydWUuIEFjdHVhbDogJytTdHJpbmcucHJvdG90eXBlLmNoYXJDb2RlQXQuaGFzT3duUHJvcGVydHkoJ2xlbmd0aCcpKTsgCn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vIENIRUNLIzEKaWYgKFN0cmluZy5wcm90b3R5cGUuY2hhckNvZGVBdC5wcm9wZXJ0eUlzRW51bWVyYWJsZSgnbGVuZ3RoJykpIHsKICAkRVJST1IoJyMxOiBTdHJpbmcucHJvdG90eXBlLmNoYXJDb2RlQXQucHJvcGVydHlJc0VudW1lcmFibGUoXCdsZW5ndGhcJykgcmV0dXJuIGZhbHNlLiBBY3R1YWw6ICcrU3RyaW5nLnByb3RvdHlwZS5jaGFyQ29kZUF0LnByb3BlcnR5SXNFbnVtZXJhYmxlKCdsZW5ndGgnKSk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy8gQ0hFQ0sjMgp2YXIgY291bnQ9MDsKCmZvciAocCBpbiBTdHJpbmcucHJvdG90eXBlLmNoYXJDb2RlQXQpewogIGlmIChwPT09Imxlbmd0aCIpIGNvdW50Kys7Cn0KCmlmIChjb3VudCAhPT0gMCkgewogICRFUlJPUignIzI6IGNvdW50PTA7IGZvciAocCBpbiBTdHJpbmcucHJvdG90eXBlLmNoYXJDb2RlQXQpe2lmIChwPT09Imxlbmd0aCIpIGNvdW50Kys7fSBjb3VudCA9PT0gMC4gQWN0dWFsOiBjb3VudCA9PT0nK2NvdW50ICk7IAp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"The String.prototype.charCodeAt.length property has the attribute DontEnum","description":"Checking if enumerating the String.prototype.charCodeAt.length property fails","path":"TestCases/ch15/15.5/15.5.4/15.5.4.5/S15.5.4.5_A8.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgU3RyaW5nLnByb3RvdHlwZS5jaGFyQ29kZUF0Lmxlbmd0aCBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZSBEb250RGVsZXRlCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjUvUzE1LjUuNC41X0E5LmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiBkZWxldGluZyB0aGUgU3RyaW5nLnByb3RvdHlwZS5jaGFyQ29kZUF0Lmxlbmd0aCBwcm9wZXJ0eSBmYWlscwogKi8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzAKaWYgKCEoU3RyaW5nLnByb3RvdHlwZS5jaGFyQ29kZUF0Lmhhc093blByb3BlcnR5KCdsZW5ndGgnKSkpIHsKICAkRkFJTCgnIzA6IFN0cmluZy5wcm90b3R5cGUuY2hhckNvZGVBdC5oYXNPd25Qcm9wZXJ0eShcJ2xlbmd0aFwnKSByZXR1cm4gdHJ1ZS4gQWN0dWFsOiAnK1N0cmluZy5wcm90b3R5cGUuY2hhckNvZGVBdC5oYXNPd25Qcm9wZXJ0eSgnbGVuZ3RoJykpOyAKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKGRlbGV0ZSBTdHJpbmcucHJvdG90eXBlLmNoYXJDb2RlQXQubGVuZ3RoKSB7CiAgJEVSUk9SKCcjMTogZGVsZXRlIFN0cmluZy5wcm90b3R5cGUuY2hhckNvZGVBdC5sZW5ndGggcmV0dXJuIGZhbHNlJyk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMyCmlmICghKFN0cmluZy5wcm90b3R5cGUuY2hhckNvZGVBdC5oYXNPd25Qcm9wZXJ0eSgnbGVuZ3RoJykpKSB7CiAgJEZBSUwoJyMyOiBkZWxldGUgU3RyaW5nLnByb3RvdHlwZS5jaGFyQ29kZUF0Lmxlbmd0aDsgU3RyaW5nLnByb3RvdHlwZS5jaGFyQ29kZUF0Lmhhc093blByb3BlcnR5KFwnbGVuZ3RoXCcpIHJldHVybiB0cnVlLiBBY3R1YWw6ICcrU3RyaW5nLnByb3RvdHlwZS5jaGFyQ29kZUF0Lmhhc093blByb3BlcnR5KCdsZW5ndGgnKSk7IAp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"The String.prototype.charCodeAt.length property has the attribute DontDelete","description":"Checking if deleting the String.prototype.charCodeAt.length property fails","path":"TestCases/ch15/15.5/15.5.4/15.5.4.5/S15.5.4.5_A9.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgU3RyaW5nLnByb3RvdHlwZS5jb25jYXQubGVuZ3RoIHByb3BlcnR5IGhhcyB0aGUgYXR0cmlidXRlIFJlYWRPbmx5CiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjYvUzE1LjUuNC42X0ExMC5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgaWYgdmFyeWluZyB0aGUgU3RyaW5nLnByb3RvdHlwZS5jb25jYXQubGVuZ3RoIHByb3BlcnR5IGZhaWxzCiAqLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAoIShTdHJpbmcucHJvdG90eXBlLmNvbmNhdC5oYXNPd25Qcm9wZXJ0eSgnbGVuZ3RoJykpKSB7CiAgJEVSUk9SKCcjMTogU3RyaW5nLnByb3RvdHlwZS5jb25jYXQuaGFzT3duUHJvcGVydHkoXCdsZW5ndGhcJykgcmV0dXJuIHRydWUuIEFjdHVhbDogJytTdHJpbmcucHJvdG90eXBlLmNvbmNhdC5oYXNPd25Qcm9wZXJ0eSgnbGVuZ3RoJykpOyAKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCnZhciBfX29iaiA9IFN0cmluZy5wcm90b3R5cGUuY29uY2F0Lmxlbmd0aDsKClN0cmluZy5wcm90b3R5cGUuY29uY2F0Lmxlbmd0aCA9IGZ1bmN0aW9uKCl7cmV0dXJuICJzaGlmdGVkIjt9OwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMgppZiAoU3RyaW5nLnByb3RvdHlwZS5jb25jYXQubGVuZ3RoICE9PSBfX29iaikgewogICRFUlJPUignIzI6IF9fb2JqID0gU3RyaW5nLnByb3RvdHlwZS5jb25jYXQubGVuZ3RoOyBTdHJpbmcucHJvdG90eXBlLmNvbmNhdC5sZW5ndGggPSBmdW5jdGlvbigpe3JldHVybiAic2hpZnRlZCI7fTsgU3RyaW5nLnByb3RvdHlwZS5jb25jYXQubGVuZ3RoID09PSBfX29iai4gQWN0dWFsOiAnK1N0cmluZy5wcm90b3R5cGUuY29uY2F0Lmxlbmd0aCApOyAKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"The String.prototype.concat.length property has the attribute ReadOnly","description":"Checking if varying the String.prototype.concat.length property fails","path":"TestCases/ch15/15.5/15.5.4/15.5.4.6/S15.5.4.6_A10.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgbGVuZ3RoIHByb3BlcnR5IG9mIHRoZSBjb25jYXQgbWV0aG9kIGlzIDEKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuNi9TMTUuNS40LjZfQTExLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBTdHJpbmcucHJvdG90eXBlLmNvbmNhdC5sZW5ndGgKICovCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmICghKFN0cmluZy5wcm90b3R5cGUuY29uY2F0Lmhhc093blByb3BlcnR5KCJsZW5ndGgiKSkpIHsKICAkRVJST1IoJyMxOiBTdHJpbmcucHJvdG90eXBlLmNvbmNhdC5oYXNPd25Qcm9wZXJ0eSgibGVuZ3RoIikgcmV0dXJuIHRydWUuIEFjdHVhbDogJytTdHJpbmcucHJvdG90eXBlLmNvbmNhdC5oYXNPd25Qcm9wZXJ0eSgibGVuZ3RoIikpOyAKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzIKaWYgKFN0cmluZy5wcm90b3R5cGUuY29uY2F0Lmxlbmd0aCAhPT0gMSkgewogICRFUlJPUignIzI6IFN0cmluZy5wcm90b3R5cGUuY29uY2F0Lmxlbmd0aCA9PT0gMS4gQWN0dWFsOiAnK1N0cmluZy5wcm90b3R5cGUuY29uY2F0Lmxlbmd0aCApOyAKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"The length property of the concat method is 1","description":"Checking String.prototype.concat.length","path":"TestCases/ch15/15.5/15.5.4/15.5.4.6/S15.5.4.6_A11.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLmNvbmNhdChbLFsuLi5dXSkKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuNi9TMTUuNS40LjZfQTFfVDEuanMKICogQGRlc2NyaXB0aW9uIEFyZ3VtZW50cyBhcmUgZmFsc2UgYW5kIHRydWUsIGFuZCBpbnN0YW5jZSBpcyBvYmplY3QKICovCgp2YXIgX19pbnN0YW5jZSA9IG5ldyBPYmplY3QoNDIpOwoKX19pbnN0YW5jZS5jb25jYXQgPSBTdHJpbmcucHJvdG90eXBlLmNvbmNhdDsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKF9faW5zdGFuY2UuY29uY2F0KGZhbHNlLHRydWUpICE9PSAiNDJmYWxzZXRydWUiKSB7CiAgJEVSUk9SKCcjMTogX19pbnN0YW5jZSA9IG5ldyBPYmplY3QoNDIpOyBfX2luc3RhbmNlLmNvbmNhdCA9IFN0cmluZy5wcm90b3R5cGUuY29uY2F0OyAgX19pbnN0YW5jZS5jb25jYXQoZmFsc2UsdHJ1ZSkgPT09ICI0MmZhbHNldHJ1ZSIuIEFjdHVhbDogJytfX2luc3RhbmNlLmNvbmNhdChmYWxzZSx0cnVlKSApOyAKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"String.prototype.concat([,[...]])","description":"Arguments are false and true, and instance is object","path":"TestCases/ch15/15.5/15.5.4/15.5.4.6/S15.5.4.6_A1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLmNvbmNhdChbLFsuLi5dXSkKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuNi9TMTUuNS40LjZfQTFfVDEwLmpzCiAqIEBkZXNjcmlwdGlvbiBDYWxsIGNvbmNhdChbLFsuLi5dXSkgZnVuY3Rpb24gd2l0aCBvYmplY3QgYXJndW1lbnRzCiAqLwoKdmFyIF9fb2JqID0ge3RvU3RyaW5nOmZ1bmN0aW9uKCl7cmV0dXJuICJcdTAwNDEiO319CnZhciBfX29iajIgPSB7dG9TdHJpbmc6ZnVuY3Rpb24oKXtyZXR1cm4gdHJ1ZTt9fQp2YXIgX19vYmozID0ge3RvU3RyaW5nOmZ1bmN0aW9uKCl7cmV0dXJuIDQyO319CnZhciBfX3N0ciA9ICJsZWdvIjsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKd2l0aChfX3N0cil7CiAgICBpZiAoY29uY2F0KF9fb2JqLCBfX29iajIsIF9fb2JqMywgeCkgIT09ICJsZWdvQXRydWU0MnVuZGVmaW5lZCIpIHsKICAgICAgJEVSUk9SKCcjMTogdmFyIHg7IHZhciBfX29iaiA9IHt0b1N0cmluZzpmdW5jdGlvbigpe3JldHVybiAiXHUwMDQxIjt9fTsgdmFyIF9fb2JqMiA9IHt0b1N0cmluZzpmdW5jdGlvbigpe3JldHVybiB0cnVlO319OyB2YXIgX19vYmozID0ge3RvU3RyaW5nOmZ1bmN0aW9uKCl7cmV0dXJuIDQyO319OyB2YXIgX19zdHIgPSAibGVnbyI7IGNvbmNhdChfX29iaiwgX19vYmoyLCBfX29iajMsIHgpID09PSAibGVnb0F0cnVlNDJ1bmRlZmluZWQiLiBBY3R1YWw6ICcrY29uY2F0KF9fb2JqLCBfX29iajIsIF9fb2JqMywgeCkgKTsgCiAgICB9Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgp2YXIgeDsKCg==","commentary":"String.prototype.concat([,[...]])","description":"Call concat([,[...]]) function with object arguments","path":"TestCases/ch15/15.5/15.5.4/15.5.4.6/S15.5.4.6_A1_T10.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLmNvbmNhdChbLFsuLi5dXSkKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuNi9TMTUuNS40LjZfQTFfVDIuanMKICogQGRlc2NyaXB0aW9uIEFyZ3VtZW50cyBhcmUgZXF1YXRpb24gd2l0aCBmYWxzZSBhbmQgdHJ1ZSwgYW5kIGluc3RhbmNlIGlzIEJvb2xlYW4gb2JqZWN0CiAqLwoKdmFyIF9faW5zdGFuY2UgPSBuZXcgQm9vbGVhbjsKCl9faW5zdGFuY2UuY29uY2F0ID0gU3RyaW5nLnByb3RvdHlwZS5jb25jYXQ7CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmIChfX2luc3RhbmNlLmNvbmNhdCgiXHUwMDQxIix0cnVlLHRydWUrMSkgIT09ICJmYWxzZUF0cnVlMiIpIHsKICAkRVJST1IoJyMxOiBfX2luc3RhbmNlID0gbmV3IEJvb2xlYW47IF9faW5zdGFuY2UuY29uY2F0ID0gU3RyaW5nLnByb3RvdHlwZS5jb25jYXQ7ICBfX2luc3RhbmNlLmNvbmNhdCgiXFx1MDA0MSIsdHJ1ZSx0cnVlKzEpID09PSAiZmFsc2VBdHJ1ZTIiLiBBY3R1YWw6ICcrX19pbnN0YW5jZS5jb25jYXQoIlx1MDA0MSIsdHJ1ZSx0cnVlKzEpICk7IAp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"String.prototype.concat([,[...]])","description":"Arguments are equation with false and true, and instance is Boolean object","path":"TestCases/ch15/15.5/15.5.4/15.5.4.6/S15.5.4.6_A1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLmNvbmNhdChbLFsuLi5dXSkKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuNi9TMTUuNS40LjZfQTFfVDQuanMKICogQGRlc2NyaXB0aW9uIENhbGwgY29uY2F0KFssWy4uLl1dKSBmdW5jdGlvbiB3aXRob3V0IGFyZ3VtZW50IG9mIHN0cmluZyBvYmplY3QKICovCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCi8vc2luY2UgVG9TdHJpbmcoKSBldmFsdWF0ZXMgdG8gIiIgY29uY2F0KCkgZXZhbHVhdGVzIHRvIGNvbmNhdCgiIikKaWYgKCJsZWdvIi5jb25jYXQoKSAhPT0gImxlZ28iKSB7CiAgJEVSUk9SKCcjMTogImxlZ28iLmNvbmNhdCgpID09PSAibGVnbyIuIEFjdHVhbDogJysoImxlZ28iLmNvbmNhdCgpKSApOyAKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"String.prototype.concat([,[...]])","description":"Call concat([,[...]]) function without argument of string object","path":"TestCases/ch15/15.5/15.5.4/15.5.4.6/S15.5.4.6_A1_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLmNvbmNhdChbLFsuLi5dXSkKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuNi9TMTUuNS40LjZfQTFfVDUuanMKICogQGRlc2NyaXB0aW9uIENhbGwgY29uY2F0KFssWy4uLl1dKSBmdW5jdGlvbiB3aXRoIG51bGwgYXJndW1lbnQgb2YgZnVuY3Rpb24gb2JqZWN0CiAqLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQovL3NpbmNlIFRvU3RyaW5nKG51bGwpIGV2YWx1YXRlcyB0byAibnVsbCIgY29uY2F0KG51bGwpIGV2YWx1YXRlcyB0byBjb25jYXQoIm51bGwiKQppZiAoZnVuY3Rpb24oKXtyZXR1cm4gImxlZ28ifSgpLmNvbmNhdChudWxsKSAhPT0gImxlZ29udWxsIikgewogICRFUlJPUignIzE6IGZ1bmN0aW9uKCl7cmV0dXJuICJsZWdvIn0oKS5jb25jYXQobnVsbCkgPT09ICJsZWdvbnVsbCIuIEFjdHVhbDogJytmdW5jdGlvbigpe3JldHVybiAibGVnbyJ9KCkuY29uY2F0KG51bGwpICk7IAp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"String.prototype.concat([,[...]])","description":"Call concat([,[...]]) function with null argument of function object","path":"TestCases/ch15/15.5/15.5.4/15.5.4.6/S15.5.4.6_A1_T5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLmNvbmNhdChbLFsuLi5dXSkKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuNi9TMTUuNS40LjZfQTFfVDYuanMKICogQGRlc2NyaXB0aW9uIENhbGwgY29uY2F0KFssWy4uLl1dKSBmdW5jdGlvbiB3aXRoIHggYXJndW1lbnQgb2YgbmV3IFN0cmluZyBvYmplY3QsIHdoZXJlIHggaXMgdW5kZWZpbmVkIHZhcmlhYmxlCiAqLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQovL3NpbmNlIFRvU3RyaW5nKHVuZGVmaW5lZCkgZXZhbHVhdGVzIHRvICJ1bmRlZmluZWQiIGNvbmNhdCh1bmRlZmluZWQpIGV2YWx1YXRlcyB0byBjb25jYXQoInVuZGVmaW5lZCIpCmlmIChuZXcgU3RyaW5nKCJsZWdvIikuY29uY2F0KHgpICE9PSAibGVnb3VuZGVmaW5lZCIpIHsKICAkRVJST1IoJyMxOiB2YXIgeDsgbmV3IFN0cmluZygibGVnbyIpLmNvbmNhdCh4KSA9PT0gImxlZ291bmRlZmluZWQiLiBBY3R1YWw6ICcrbmV3IFN0cmluZygibGVnbyIpLmNvbmNhdCh4KSApOyAKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCnZhciB4OwoK","commentary":"String.prototype.concat([,[...]])","description":"Call concat([,[...]]) function with x argument of new String object, where x is undefined variable","path":"TestCases/ch15/15.5/15.5.4/15.5.4.6/S15.5.4.6_A1_T6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLmNvbmNhdChbLFsuLi5dXSkKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuNi9TMTUuNS40LjZfQTFfVDcuanMKICogQGRlc2NyaXB0aW9uIENhbGwgY29uY2F0KFssWy4uLl1dKSBmdW5jdGlvbiB3aXRoIHVuZGVmaW5lZCBhcmd1bWVudCBvZiBzdHJpbmcgb2JqZWN0CiAqLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQovL3NpbmNlIFRvU3RyaW5nKHVuZGVmaW5lZCkgZXZhbHVhdGVzIHRvICJ1bmRlZmluZWQiIGNvbmNhdCh1bmRlZmluZWQpIGV2YWx1YXRlcyB0byBjb25jYXQoInVuZGVmaW5lZCIpCmlmIChTdHJpbmcoImxlZ28iKS5jb25jYXQodW5kZWZpbmVkKSAhPT0gImxlZ291bmRlZmluZWQiKSB7CiAgJEVSUk9SKCcjMTogU3RyaW5nKCJsZWdvIikuY29uY2F0KHVuZGVmaW5lZCkgPT09ICJsZWdvdW5kZWZpbmVkIi4gQWN0dWFsOiAnK1N0cmluZygibGVnbyIpLmNvbmNhdCh1bmRlZmluZWQpICk7IAp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"String.prototype.concat([,[...]])","description":"Call concat([,[...]]) function with undefined argument of string object","path":"TestCases/ch15/15.5/15.5.4/15.5.4.6/S15.5.4.6_A1_T7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLmNvbmNhdChbLFsuLi5dXSkKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuNi9TMTUuNS40LjZfQTFfVDguanMKICogQGRlc2NyaXB0aW9uIENhbGwgY29uY2F0KFssWy4uLl1dKSBmdW5jdGlvbiB3aXRoIHZvaWQgMCBhcmd1bWVudCBvZiBzdHJpbmcgb2JqZWN0CiAqLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQovL3NpbmNlIFRvU3RyaW5nKHZvaWQgMCkgZXZhbHVhdGVzIHRvICJ1bmRlZmluZWQiIGNvbmNhdCh2b2lkIDApIGV2YWx1YXRlcyB0byBjb25jYXQoInVuZGVmaW5lZCIpCmlmIChTdHJpbmcoNDIpLmNvbmNhdCh2b2lkIDApICE9PSAiNDJ1bmRlZmluZWQiKSB7CiAgJEVSUk9SKCcjMTogU3RyaW5nKDQyKS5jb25jYXQodm9pZCAwKSA9PT0gIjQydW5kZWZpbmVkIi4gQWN0dWFsOiAnK1N0cmluZyg0MikuY29uY2F0KHZvaWQgMCkgKTsgCn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"String.prototype.concat([,[...]])","description":"Call concat([,[...]]) function with void 0 argument of string object","path":"TestCases/ch15/15.5/15.5.4/15.5.4.6/S15.5.4.6_A1_T8.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLmNvbmNhdChbLFsuLi5dXSkKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuNi9TMTUuNS40LjZfQTFfVDkuanMKICogQGRlc2NyaXB0aW9uIENhbGwgY29uY2F0KFssWy4uLl1dKSBmdW5jdGlvbiB3aXRoIGZ1bmN0aW9uKCl7fSgpIGFyZ3VtZW50IG9mIHN0cmluZyBvYmplY3QKICovCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCi8vc2luY2UgVG9TdHJpbmcodW5kZWZpbmVkKSBldmFsdWF0ZXMgdG8gInVuZGVmaW5lZCIgY29uY2F0KHVuZGVmaW5lZCkgZXZhbHVhdGVzIHRvIGNvbmNhdCgidW5kZWZpbmVkIikKaWYgKG5ldyBTdHJpbmcoNDIpLmNvbmNhdChmdW5jdGlvbigpe30oKSkgIT09ICI0MnVuZGVmaW5lZCIpIHsKICAkRVJST1IoJyMxOiBuZXcgU3RyaW5nKDQyKS5jb25jYXQoZnVuY3Rpb24oKXt9KCkpID09PSAiNDJ1bmRlZmluZWQiLiBBY3R1YWw6ICcrbmV3IFN0cmluZyg0MikuY29uY2F0KGZ1bmN0aW9uKCl7fSgpKSApOyAKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"String.prototype.concat([,[...]])","description":"Call concat([,[...]]) function with function(){}() argument of string object","path":"TestCases/ch15/15.5/15.5.4/15.5.4.6/S15.5.4.6_A1_T9.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLmNvbmNhdChbLFsuLi5dXSkgY2FuIGFjY2VwdCBhdCBsZWFzdCAxMjgKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuNi9TMTUuNS40LjZfQTIuanMKICogQGRlc2NyaXB0aW9uIENhbGwgY29uY2F0KFssWy4uLl1dKSBmdW5jdGlvbiB3aXRoIDEyOCBhcmd1bWVudHMKICovCgp2YXIgX19pbnN0YW5jZSA9IG5ldyBOdW1iZXIoKTsKCl9faW5zdGFuY2UuY29uY2F0ID0gU3RyaW5nLnByb3RvdHlwZS5jb25jYXQ7CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmIChfX2luc3RhbmNlLmNvbmNhdCgKMCwxLDIsMyw0LDUsNiw3LDgsOSwweEEsMHhCLDB4QywweEQsMHhFLDB4RiwKMCwxLDIsMyw0LDUsNiw3LDgsOSwweEEsMHhCLDB4QywweEQsMHhFLDB4RiwKMCwxLDIsMyw0LDUsNiw3LDgsOSwweEEsMHhCLDB4QywweEQsMHhFLDB4RiwKMCwxLDIsMyw0LDUsNiw3LDgsOSwweEEsMHhCLDB4QywweEQsMHhFLDB4RiwKMCwxLDIsMyw0LDUsNiw3LDgsOSwweEEsMHhCLDB4QywweEQsMHhFLDB4RiwKMCwxLDIsMyw0LDUsNiw3LDgsOSwweEEsMHhCLDB4QywweEQsMHhFLDB4RiwKMCwxLDIsMyw0LDUsNiw3LDgsOSwweEEsMHhCLDB4QywweEQsMHhFLDB4RiwKMCwxLDIsMyw0LDUsNiw3LDgsOSwweEEsMHhCLDB4QywweEQsMHhFLDB4RgopICE9PSAiMDAxMjM0NTY3ODkxMDExMTIxMzE0MTUwMTIzNDU2Nzg5MTAxMTEyMTMxNDE1MDEyMzQ1Njc4OTEwMTExMjEzMTQxNTAxMjM0NTY3ODkxMDExMTIxMzE0MTUwMTIzNDU2Nzg5MTAxMTEyMTMxNDE1MDEyMzQ1Njc4OTEwMTExMjEzMTQxNTAxMjM0NTY3ODkxMDExMTIxMzE0MTUwMTIzNDU2Nzg5MTAxMTEyMTMxNDE1IikgewogICRFUlJPUignIzE6IENhbGwgY29uY2F0KFssWy4uLl1dKSBmdW5jdGlvbiB3aXRoIDEyOCBhcmd1bWVudHMgZG9lcyBub3QgbGVhZCB0byB0aHJvd2luZyBhbnkgZXJyb3JzJyk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgoKCg==","commentary":"String.prototype.concat([,[...]]) can accept at least 128","description":"Call concat([,[...]]) function with 128 arguments","path":"TestCases/ch15/15.5/15.5.4/15.5.4.6/S15.5.4.6_A2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLmNvbmNhdChbLFsuLi5dXSkgY2FuJ3QgY2hhbmdlIHRoZSBpbnN0YW5jZSB0byBiZSBhcHBsaWVkCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjYvUzE1LjUuNC42X0EzLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiB2YXJ5aW5nIHRoZSBpbnN0YW5jZSB0aGF0IGlzIGFwcGxpZWQgZmFpbHMKICovCgp2YXIgX19pbnN0YW5jZSA9IG5ldyBTdHJpbmcoIm9uZSIpOwoKX19pbnN0YW5jZS5jb25jYXQoInR3byIpOwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAoX19pbnN0YW5jZSAhPSAib25lIikgewogICRFUlJPUignIzE6IF9faW5zdGFuY2UgPSBuZXcgU3RyaW5nKCJvbmUiKTsgX19pbnN0YW5jZS5jb25jYXQoInR3byIpOyAgX19pbnN0YW5jZSA9IG5ldyBTdHJpbmcoIm9uZSIpOyBfX2luc3RhbmNlLmNvbmNhdCgidHdvIik7IF9faW5zdGFuY2UgPT0gIm9uZSIuIEFjdHVhbDogJytfX2luc3RhbmNlKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"String.prototype.concat([,[...]]) can't change the instance to be applied","description":"Checking if varying the instance that is applied fails","path":"TestCases/ch15/15.5/15.5.4/15.5.4.6/S15.5.4.6_A3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiB3aGVuIFN0cmluZy5wcm90b3R5cGUuY29uY2F0KFssWy4uLl1dKSBpcyBjYWxsZWQgZmlyc3QgQ2FsbCBUb1N0cmluZywgZ2l2aW5nIGl0IHRoZSB0aGlzIHZhbHVlIGFzIGl0cyBhcmd1bWVudAogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS40LzE1LjUuNC42L1MxNS41LjQuNl9BNF9UMS5qcwogKiBAZGVzY3JpcHRpb24gT3ZlcnJpZGUgdG9TdHJpbmcgZnVuY3Rpb24KICovCgp2YXIgX19pbnN0YW5jZSA9IHt0b1N0cmluZzpmdW5jdGlvbigpe3JldHVybiAib25lIn19OwoKX19pbnN0YW5jZS5jb25jYXQgPSBTdHJpbmcucHJvdG90eXBlLmNvbmNhdDsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKF9faW5zdGFuY2UuY29uY2F0KCJ0d28iLHgpICE9PSAib25ldHdvdW5kZWZpbmVkIikgewogICRFUlJPUignIzE6IHZhciB4OyBfX2luc3RhbmNlID0ge3RvU3RyaW5nOmZ1bmN0aW9uKCl7cmV0dXJuICJvbmUifX07IF9faW5zdGFuY2UuY29uY2F0ID0gU3RyaW5nLnByb3RvdHlwZS5jb25jYXQ7ICBfX2luc3RhbmNlLmNvbmNhdCgidHdvIix4KSA9PT0gIm9uZXR3b3VuZGVmaW5lZCIuIEFjdHVhbDogJytfX2luc3RhbmNlLmNvbmNhdCgidHdvIix4KSApOyAKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCnZhciB4OwoKCgo=","commentary":"when String.prototype.concat([,[...]]) is called first Call ToString, giving it the this value as its argument","description":"Override toString function","path":"TestCases/ch15/15.5/15.5.4/15.5.4.6/S15.5.4.6_A4_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiB3aGVuIFN0cmluZy5wcm90b3R5cGUuY29uY2F0KFssWy4uLl1dKSBpcyBjYWxsZWQgZmlyc3QgQ2FsbCBUb1N0cmluZywgZ2l2aW5nIGl0IHRoZSB0aGlzIHZhbHVlIGFzIGl0cyBhcmd1bWVudAogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS40LzE1LjUuNC42L1MxNS41LjQuNl9BNF9UMi5qcwogKiBAZGVzY3JpcHRpb24gT3ZlcnJpZGUgdG9TdHJpbmcgZnVuY3Rpb24gb250byBmdW5jdGlvbiwgdGhhdCB0aHJvdyBleGNlcHRpb24KICovCgp2YXIgX19pbnN0YW5jZSA9IHt0b1N0cmluZzpmdW5jdGlvbigpe3Rocm93ICJpbnRvc3RyaW5nIjt9fTsKdmFyIF9fb2JqID0ge3RvU3RyaW5nOmZ1bmN0aW9uKCl7dGhyb3cgImluZmlyc3RhcmciO319OwoKX19pbnN0YW5jZS5jb25jYXQgPSBTdHJpbmcucHJvdG90eXBlLmNvbmNhdDsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKdHJ5IHsKICBTdHJpbmcucHJvdG90eXBlLmNvbmNhdC5jYWxsKF9faW5zdGFuY2UsX19vYmosIG5vdGV4aXN0KTsKICAkRkFJTCgnIzE6ICJTdHJpbmcucHJvdG90eXBlLmNvbmNhdC5jYWxsKF9faW5zdGFuY2UsX19vYmosIG5vdGV4aXN0KSIgbGVhZCB0byB0aHJvd2luZyBleGNlcHRpb24nKTsKfSBjYXRjaCAoZSkgewogIGlmIChlICE9PSAiaW50b3N0cmluZyIpIHsKICAgICRFUlJPUignIzE6IGUgPT09ICJpbnRvc3RyaW5nIi4gQWN0dWFsOiAnK2UgKTsgCiAgfQp9IAovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCnZhciBub3RleGlzdDsKCgoKCg==","commentary":"when String.prototype.concat([,[...]]) is called first Call ToString, giving it the this value as its argument","description":"Override toString function onto function, that throw exception","path":"TestCases/ch15/15.5/15.5.4/15.5.4.6/S15.5.4.6_A4_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLmNvbmNhdCBoYXMgbm90IHByb3RvdHlwZSBwcm9wZXJ0eQogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS40LzE1LjUuNC42L1MxNS41LjQuNl9BNi5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgU3RyaW5nLnByb3RvdHlwZS5jb25jYXQucHJvdG90eXBlCiAqLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAoU3RyaW5nLnByb3RvdHlwZS5jb25jYXQucHJvdG90eXBlICE9PSB1bmRlZmluZWQpIHsKICAkRVJST1IoJyMxOiBTdHJpbmcucHJvdG90eXBlLmNvbmNhdC5wcm90b3R5cGUgPT09IHVuZGVmaW5lZC4gQWN0dWFsOiAnK1N0cmluZy5wcm90b3R5cGUuY29uY2F0LnByb3RvdHlwZSApOyAKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"String.prototype.concat has not prototype property","description":"Checking String.prototype.concat.prototype","path":"TestCases/ch15/15.5/15.5.4/15.5.4.6/S15.5.4.6_A6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLmNvbmNhdCBjYW4ndCBiZSB1c2VkIGFzIGNvbnN0cnVjdG9yCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjYvUzE1LjUuNC42X0E3LmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiBjcmVhdGluZyB0aGUgU3RyaW5nLnByb3RvdHlwZS5jb25jYXQgb2JqZWN0IGZhaWxzCiAqLwoKdmFyIF9fRkFDVE9SWSA9IFN0cmluZy5wcm90b3R5cGUuY29uY2F0OwoKdHJ5IHsKICB2YXIgX19pbnN0YW5jZSA9IG5ldyBfX0ZBQ1RPUlk7CiAgJEZBSUwoJyMxOiBfX0ZBQ1RPUlkgPSBTdHJpbmcucHJvdG90eXBlLmNvbmNhdDsgIl9faW5zdGFuY2UgPSBuZXcgX19GQUNUT1JZIiBsZWFkIHRocm93aW5nIGV4Y2VwdGlvbicpOw0KfSBjYXRjaCAoZSkgew0KICAgIGlmIChlIGluc3RhbmNlb2YgVGVzdDI2MkVycm9yKSB0aHJvdyBlOwp9Cgo=","commentary":"String.prototype.concat can't be used as constructor","description":"Checking if creating the String.prototype.concat object fails","path":"TestCases/ch15/15.5/15.5.4/15.5.4.6/S15.5.4.6_A7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgU3RyaW5nLnByb3RvdHlwZS5jb25jYXQubGVuZ3RoIHByb3BlcnR5IGhhcyB0aGUgYXR0cmlidXRlIERvbnRFbnVtCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjYvUzE1LjUuNC42X0E4LmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiBlbnVtZXJhdGluZyB0aGUgU3RyaW5nLnByb3RvdHlwZS5jb25jYXQubGVuZ3RoIHByb3BlcnR5IGZhaWxzCiAqLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMAppZiAoIShTdHJpbmcucHJvdG90eXBlLmNvbmNhdC5oYXNPd25Qcm9wZXJ0eSgnbGVuZ3RoJykpKSB7CiAgJEZBSUwoJyMwOiBTdHJpbmcucHJvdG90eXBlLmNvbmNhdC5oYXNPd25Qcm9wZXJ0eShcJ2xlbmd0aFwnKSByZXR1cm4gdHJ1ZS4gQWN0dWFsOiAnK1N0cmluZy5wcm90b3R5cGUuY29uY2F0Lmhhc093blByb3BlcnR5KCdsZW5ndGgnKSk7IAp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovLyBDSEVDSyMxCmlmIChTdHJpbmcucHJvdG90eXBlLmNvbmNhdC5wcm9wZXJ0eUlzRW51bWVyYWJsZSgnbGVuZ3RoJykpIHsKICAkRVJST1IoJyMxOiBTdHJpbmcucHJvdG90eXBlLmNvbmNhdC5wcm9wZXJ0eUlzRW51bWVyYWJsZShcJ2xlbmd0aFwnKSByZXR1cm4gZmFsc2UuIEFjdHVhbDogJytTdHJpbmcucHJvdG90eXBlLmNvbmNhdC5wcm9wZXJ0eUlzRW51bWVyYWJsZSgnbGVuZ3RoJykpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vIENIRUNLIzIKY291bnQgPSAwOwoKZm9yIChwIGluIFN0cmluZy5wcm90b3R5cGUuY29uY2F0KXsKICBpZiAocD09PSJsZW5ndGgiKSBjb3VudCsrOwp9CgppZiAoY291bnQgIT09IDApIHsKICAkRVJST1IoJyMyOiBjb3VudCA9IDA7IGZvciAocCBpbiBTdHJpbmcucHJvdG90eXBlLmNvbmNhdCl7IGlmIChwPT09Imxlbmd0aCIpIGNvdW50Kys7fTsgY291bnQgPT09IDAuIEFjdHVhbDogJytjb3VudCk7IAp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"The String.prototype.concat.length property has the attribute DontEnum","description":"Checking if enumerating the String.prototype.concat.length property fails","path":"TestCases/ch15/15.5/15.5.4/15.5.4.6/S15.5.4.6_A8.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgU3RyaW5nLnByb3RvdHlwZS5jb25jYXQubGVuZ3RoIHByb3BlcnR5IGhhcyB0aGUgYXR0cmlidXRlIERvbnREZWxldGUKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuNi9TMTUuNS40LjZfQTkuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIGRlbGV0aW5nIHRoZSBTdHJpbmcucHJvdG90eXBlLmNvbmNhdC5sZW5ndGggcHJvcGVydHkgZmFpbHMKICovCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMwCmlmICghKFN0cmluZy5wcm90b3R5cGUuY29uY2F0Lmhhc093blByb3BlcnR5KCdsZW5ndGgnKSkpIHsKICAkRkFJTCgnIzA6IFN0cmluZy5wcm90b3R5cGUuY29uY2F0Lmhhc093blByb3BlcnR5KFwnbGVuZ3RoXCcpIHJldHVybiB0cnVlLiBBY3R1YWw6ICcrU3RyaW5nLnByb3RvdHlwZS5jb25jYXQuaGFzT3duUHJvcGVydHkoJ2xlbmd0aCcpKTsgCn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmIChkZWxldGUgU3RyaW5nLnByb3RvdHlwZS5jb25jYXQubGVuZ3RoKSB7CiAgJEVSUk9SKCcjMTogZGVsZXRlIFN0cmluZy5wcm90b3R5cGUuY29uY2F0Lmxlbmd0aCByZXR1cm4gZmFsc2UnKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzIKaWYgKCEoU3RyaW5nLnByb3RvdHlwZS5jb25jYXQuaGFzT3duUHJvcGVydHkoJ2xlbmd0aCcpKSkgewogICRGQUlMKCcjMjogZGVsZXRlIFN0cmluZy5wcm90b3R5cGUuY29uY2F0Lmxlbmd0aDsgU3RyaW5nLnByb3RvdHlwZS5jb25jYXQuaGFzT3duUHJvcGVydHkoXCdsZW5ndGhcJykgcmV0dXJuIHRydWUuIEFjdHVhbDogJytTdHJpbmcucHJvdG90eXBlLmNvbmNhdC5oYXNPd25Qcm9wZXJ0eSgnbGVuZ3RoJykpOyAKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"The String.prototype.concat.length property has the attribute DontDelete","description":"Checking if deleting the String.prototype.concat.length property fails","path":"TestCases/ch15/15.5/15.5.4/15.5.4.6/S15.5.4.6_A9.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgU3RyaW5nLnByb3RvdHlwZS5pbmRleE9mLmxlbmd0aCBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZSBSZWFkT25seQogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS40LzE1LjUuNC43L1MxNS41LjQuN19BMTAuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIHZhcnlpbmcgdGhlIFN0cmluZy5wcm90b3R5cGUuaW5kZXhPZi5sZW5ndGggcHJvcGVydHkgZmFpbHMKICovCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmICghKFN0cmluZy5wcm90b3R5cGUuaW5kZXhPZi5oYXNPd25Qcm9wZXJ0eSgnbGVuZ3RoJykpKSB7CiAgJEZBSUwoJyMxOiBTdHJpbmcucHJvdG90eXBlLmluZGV4T2YuaGFzT3duUHJvcGVydHkoXCdsZW5ndGhcJykgcmV0dXJuIHRydWUuIEFjdHVhbDogJytTdHJpbmcucHJvdG90eXBlLmluZGV4T2YuaGFzT3duUHJvcGVydHkoJ2xlbmd0aCcpKTsgCn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgp2YXIgX19vYmogPSBTdHJpbmcucHJvdG90eXBlLmluZGV4T2YubGVuZ3RoOwoKU3RyaW5nLnByb3RvdHlwZS5pbmRleE9mLmxlbmd0aCA9IGZ1bmN0aW9uKCl7cmV0dXJuICJzaGlmdGVkIjt9OwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMgppZiAoU3RyaW5nLnByb3RvdHlwZS5pbmRleE9mLmxlbmd0aCAhPT0gX19vYmopIHsKICAkRVJST1IoJyMyOiBfX29iaiA9IFN0cmluZy5wcm90b3R5cGUuaW5kZXhPZi5sZW5ndGg7IFN0cmluZy5wcm90b3R5cGUuaW5kZXhPZi5sZW5ndGggPSBmdW5jdGlvbigpe3JldHVybiAic2hpZnRlZCI7fTsgU3RyaW5nLnByb3RvdHlwZS5pbmRleE9mLmxlbmd0aCA9PT0gX19vYmouIEFjdHVhbDogJytTdHJpbmcucHJvdG90eXBlLmluZGV4T2YubGVuZ3RoICk7IAp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"The String.prototype.indexOf.length property has the attribute ReadOnly","description":"Checking if varying the String.prototype.indexOf.length property fails","path":"TestCases/ch15/15.5/15.5.4/15.5.4.7/S15.5.4.7_A10.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgbGVuZ3RoIHByb3BlcnR5IG9mIHRoZSBpbmRleE9mIG1ldGhvZCBpcyAxCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjcvUzE1LjUuNC43X0ExMS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgU3RyaW5nLnByb3RvdHlwZS5pbmRleE9mLmxlbmd0aAogKi8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKCEoU3RyaW5nLnByb3RvdHlwZS5pbmRleE9mLmhhc093blByb3BlcnR5KCJsZW5ndGgiKSkpIHsKICAkRVJST1IoJyMxOiBTdHJpbmcucHJvdG90eXBlLmluZGV4T2YuaGFzT3duUHJvcGVydHkoImxlbmd0aCIpIHJldHVybiB0cnVlLiBBY3R1YWw6ICcrU3RyaW5nLnByb3RvdHlwZS5pbmRleE9mLmhhc093blByb3BlcnR5KCJsZW5ndGgiKSk7IAp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMgppZiAoU3RyaW5nLnByb3RvdHlwZS5pbmRleE9mLmxlbmd0aCAhPT0gMSkgewogICRFUlJPUignIzI6IFN0cmluZy5wcm90b3R5cGUuaW5kZXhPZi5sZW5ndGggPT09IDEuIEFjdHVhbDogJytTdHJpbmcucHJvdG90eXBlLmluZGV4T2YubGVuZ3RoICk7IAp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"The length property of the indexOf method is 1","description":"Checking String.prototype.indexOf.length","path":"TestCases/ch15/15.5/15.5.4/15.5.4.7/S15.5.4.7_A11.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLmluZGV4T2Yoc2VhcmNoU3RyaW5nLCBwb3NpdGlvbikKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuNy9TMTUuNS40LjdfQTFfVDEuanMKICogQGRlc2NyaXB0aW9uIEFyZ3VtZW50cyBhcmUgZmFsc2UgYW5kIHRydWUsIGFuZCBpbnN0YW5jZSBpcyBvYmplY3QKICovCgp2YXIgX19pbnN0YW5jZSA9IG5ldyBPYmplY3QodHJ1ZSk7CgpfX2luc3RhbmNlLmluZGV4T2YgPSBTdHJpbmcucHJvdG90eXBlLmluZGV4T2Y7CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmIChfX2luc3RhbmNlLmluZGV4T2YodHJ1ZSwgZmFsc2UpICE9PSAwKSB7CiAgJEVSUk9SKCcjMTogX19pbnN0YW5jZSA9IG5ldyBPYmplY3QodHJ1ZSk7IF9faW5zdGFuY2UuaW5kZXhPZiA9IFN0cmluZy5wcm90b3R5cGUuaW5kZXhPZjsgIF9faW5zdGFuY2UuaW5kZXhPZih0cnVlLCBmYWxzZSkgPT09IDAuIEFjdHVhbDogJytfX2luc3RhbmNlLmluZGV4T2YodHJ1ZSwgZmFsc2UpICk7IAp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"String.prototype.indexOf(searchString, position)","description":"Arguments are false and true, and instance is object","path":"TestCases/ch15/15.5/15.5.4/15.5.4.7/S15.5.4.7_A1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLmluZGV4T2Yoc2VhcmNoU3RyaW5nLCBwb3NpdGlvbikKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuNy9TMTUuNS40LjdfQTFfVDEwLmpzCiAqIEBkZXNjcmlwdGlvbiBDYWxsIGluZGV4T2Yoc2VhcmNoU3RyaW5nLCBwb3NpdGlvbikgZnVuY3Rpb24gd2l0aCBvYmplY3QgYXJndW1lbnRzCiAqLwoKdmFyIF9fb2JqID0ge3RvU3RyaW5nOmZ1bmN0aW9uKCl7cmV0dXJuICJcdTAwNDFCIjt9fQp2YXIgX19vYmoyID0ge3ZhbHVlT2Y6ZnVuY3Rpb24oKXtyZXR1cm4gdHJ1ZTt9fQp2YXIgX19zdHIgPSAiQUJCXHUwMDQxQkFCQUIiOwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQp3aXRoKF9fc3RyKXsKICAgIGlmIChpbmRleE9mKF9fb2JqLCBfX29iajIpICE9PSAzKSB7CiAgICAgICRFUlJPUignIzE6IHZhciB4OyB2YXIgX19vYmogPSB7dG9TdHJpbmc6ZnVuY3Rpb24oKXtyZXR1cm4gIlx1MDA0MUIiO319OyB2YXIgX19vYmoyID0ge3ZhbHVlT2Y6ZnVuY3Rpb24oKXtyZXR1cm4gdHJ1ZTt9fTsgdmFyIF9fc3RyID0gIkFCQlx1MDA0MUJBQkFCIjsgaW5kZXhPZihfX29iaiwgX19vYmoyKSA9PT0gMy4gQWN0dWFsOiAnK2luZGV4T2YoX19vYmosIF9fb2JqMikgKTsgCiAgICB9Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgp2YXIgeDsKCg==","commentary":"String.prototype.indexOf(searchString, position)","description":"Call indexOf(searchString, position) function with object arguments","path":"TestCases/ch15/15.5/15.5.4/15.5.4.7/S15.5.4.7_A1_T10.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLmluZGV4T2Yoc2VhcmNoU3RyaW5nLCBwb3NpdGlvbikKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuNy9TMTUuNS40LjdfQTFfVDExLmpzCiAqIEBkZXNjcmlwdGlvbiBJbnN0YW5jZSBpcyBEYXRlKDApIG9iamVjdAogKi8KCnZhciBfX2luc3RhbmNlID0gbmV3IERhdGUoMCk7CgpfX2luc3RhbmNlLmluZGV4T2YgPSBTdHJpbmcucHJvdG90eXBlLmluZGV4T2Y7CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmICgoX19pbnN0YW5jZS5nZXRUaW1lem9uZU9mZnNldCgpPjAgPyBfX2luc3RhbmNlLmluZGV4T2YoJzMxJykgOiBfX2luc3RhbmNlLmluZGV4T2YoJzAxJykpICE9PSA4KSB7CiAgJEVSUk9SKCcjMTogX19pbnN0YW5jZSA9IG5ldyBEYXRlKDApOyBfX2luc3RhbmNlLmluZGV4T2YgPSBTdHJpbmcucHJvdG90eXBlLmluZGV4T2Y7ICAoX19pbnN0YW5jZS5nZXRUaW1lem9uZU9mZnNldCgpPjAgPyBfX2luc3RhbmNlLmluZGV4T2YoXCczMVwnKSA6IF9faW5zdGFuY2UuaW5kZXhPZihcJzAxXCcpKSA9PT0gOC4gQWN0dWFsOiAnKyhfX2luc3RhbmNlLmdldFRpbWV6b25lT2Zmc2V0KCk+MCA/IF9faW5zdGFuY2UuaW5kZXhPZignMzEnKSA6IF9faW5zdGFuY2UuaW5kZXhPZignMDEnKSkgKTsgCn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"String.prototype.indexOf(searchString, position)","description":"Instance is Date(0) object","path":"TestCases/ch15/15.5/15.5.4/15.5.4.7/S15.5.4.7_A1_T11.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLmluZGV4T2Yoc2VhcmNoU3RyaW5nLCBwb3NpdGlvbikKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuNy9TMTUuNS40LjdfQTFfVDEyLmpzCiAqIEBkZXNjcmlwdGlvbiBBcmd1bWVudCBpcyBzdHJpbmcsIGFuZCBpbnN0YW5jZSBpcyBhcnJheSBvZiBzdHJpbmdzCiAqLwoKdmFyIF9faW5zdGFuY2UgPSBuZXcgQXJyYXkoJ25ldycsJ3pvbycsJ3JldnVlJyk7CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmIChfX2luc3RhbmNlLmluZGV4T2YoJ25ldycpICE9PSAwKSB7CiAgJEVSUk9SKCcjMTogX19pbnN0YW5jZSA9IG5ldyBBcnJheShcJ25ld1wnLFwnem9vXCcsXCdyZXZ1ZVwnKTsgX19pbnN0YW5jZS5pbmRleE9mKFwnbmV3XCcpID09PSAwLiBBY3R1YWw6ICcrX19pbnN0YW5jZS5pbmRleE9mKCduZXcnKSApOyAKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzIKaWYgKF9faW5zdGFuY2UuaW5kZXhPZignem9vJykgIT09IDEpIHsKICAkRVJST1IoJyMyOiBfX2luc3RhbmNlID0gbmV3IEFycmF5KFwnbmV3XCcsXCd6b29cJyxcJ3JldnVlXCcpOyBfX2luc3RhbmNlLmluZGV4T2YoXCd6b29cJykgPT09IDEuIEFjdHVhbDogJytfX2luc3RhbmNlLmluZGV4T2YoJ3pvbycpICk7IAp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"String.prototype.indexOf(searchString, position)","description":"Argument is string, and instance is array of strings","path":"TestCases/ch15/15.5/15.5.4/15.5.4.7/S15.5.4.7_A1_T12.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLmluZGV4T2Yoc2VhcmNoU3RyaW5nLCBwb3NpdGlvbikKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuNy9TMTUuNS40LjdfQTFfVDIuanMKICogQGRlc2NyaXB0aW9uIEFyZ3VtZW50cyBhcmUgYm9vbGVhbiBlcXVhdGlvbiwgZnVuY3Rpb24gYW5kIG51bGwsIGFuZCBpbnN0YW5jZSBpcyBCb29sZWFuIG9iamVjdAogKi8KCnZhciBfX2luc3RhbmNlID0gbmV3IEJvb2xlYW47CgpfX2luc3RhbmNlLmluZGV4T2YgPSBTdHJpbmcucHJvdG90eXBlLmluZGV4T2Y7CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmIChfX2luc3RhbmNlLmluZGV4T2YoIkEiIT09Ilx1MDA0MSIsIGZ1bmN0aW9uKCl7cmV0dXJuIDA7fSgpLG51bGwpICE9PSAwKSB7CiAgJEVSUk9SKCcjMTogX19pbnN0YW5jZSA9IG5ldyBCb29sZWFuOyBfX2luc3RhbmNlLmluZGV4T2YgPSBTdHJpbmcucHJvdG90eXBlLmluZGV4T2Y7ICBfX2luc3RhbmNlLmluZGV4T2YoIkEiIT09IlxcdTAwNDEiLCBmdW5jdGlvbigpe3JldHVybiAwO30oKSxudWxsKSA9PT0gMC4gQWN0dWFsOiAnK19faW5zdGFuY2UuaW5kZXhPZigiQSIhPT0iXHUwMDQxIiwgZnVuY3Rpb24oKXtyZXR1cm4gMDt9KCksbnVsbCkgKTsgCn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"String.prototype.indexOf(searchString, position)","description":"Arguments are boolean equation, function and null, and instance is Boolean object","path":"TestCases/ch15/15.5/15.5.4/15.5.4.7/S15.5.4.7_A1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLmluZGV4T2Yoc2VhcmNoU3RyaW5nLCBwb3NpdGlvbikKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuNy9TMTUuNS40LjdfQTFfVDQuanMKICogQGRlc2NyaXB0aW9uIENhbGwgaW5kZXhPZihzZWFyY2hTdHJpbmcsIHBvc2l0aW9uKSBmdW5jdGlvbiB3aXRob3V0IGFyZ3VtZW50cyBvZiBzdHJpbmcKICovCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCi8vc2luY2UgVG9TdHJpbmcoKSBldmFsdWF0ZXMgdG8gIiIgaW5kZXhPZigpIGV2YWx1YXRlcyB0byBpbmRleE9mKCIiLDApCmlmICgiIi5pbmRleE9mKCkgIT09IC0xKSB7CiAgJEVSUk9SKCcjMTogIiIuaW5kZXhPZigpID09PSAtMS4gQWN0dWFsOiAnKygiIi5pbmRleE9mKCkpICk7IAp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"String.prototype.indexOf(searchString, position)","description":"Call indexOf(searchString, position) function without arguments of string","path":"TestCases/ch15/15.5/15.5.4/15.5.4.7/S15.5.4.7_A1_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLmluZGV4T2Yoc2VhcmNoU3RyaW5nLCBwb3NpdGlvbikKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuNy9TMTUuNS40LjdfQTFfVDUuanMKICogQGRlc2NyaXB0aW9uIENhbGwgaW5kZXhPZihzZWFyY2hTdHJpbmcsIHBvc2l0aW9uKSBmdW5jdGlvbiB3aXRoIG51bGwgYXJndW1lbnQgb2YgZnVuY3Rpb24gb2JqZWN0CiAqLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQovL3NpbmNlIFRvU3RyaW5nKG51bGwpIGV2YWx1YXRlcyB0byAibnVsbCIgaW5kZXhPZihudWxsKSBldmFsdWF0ZXMgdG8gaW5kZXhPZigiIiwwKQppZiAoZnVuY3Rpb24oKXtyZXR1cm4gImdudWxsdW5hIn0oKS5pbmRleE9mKG51bGwpICE9PSAxKSB7CiAgJEVSUk9SKCcjMTogZnVuY3Rpb24oKXtyZXR1cm4gImdudWxsdW5hIn0oKS5pbmRleE9mKG51bGwpID09PSAxLiBBY3R1YWw6ICcrZnVuY3Rpb24oKXtyZXR1cm4gImdudWxsdW5hIn0oKS5pbmRleE9mKG51bGwpICk7IAp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"String.prototype.indexOf(searchString, position)","description":"Call indexOf(searchString, position) function with null argument of function object","path":"TestCases/ch15/15.5/15.5.4/15.5.4.7/S15.5.4.7_A1_T5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLmluZGV4T2Yoc2VhcmNoU3RyaW5nLCBwb3NpdGlvbikKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuNy9TMTUuNS40LjdfQTFfVDYuanMKICogQGRlc2NyaXB0aW9uIENhbGwgaW5kZXhPZihzZWFyY2hTdHJpbmcsIHBvc2l0aW9uKSBmdW5jdGlvbiB3aXRoIHggYXJndW1lbnQgb2YgbmV3IFN0cmluZyBvYmplY3QsIHdoZXJlIHggaXMgdW5kZWZpbmVkIHZhcmlhYmxlCiAqLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQovL3NpbmNlIFRvU3RyaW5nKHVuZGVmaW5lZCkgZXZhbHVhdGVzIHRvICIiIGluZGV4T2YodW5kZWZpbmVkKSBldmFsdWF0ZXMgdG8gaW5kZXhPZigiIiwwKQppZiAobmV3IFN0cmluZygidW5kZWZpbmVkIikuaW5kZXhPZih4KSAhPT0gMCkgewogICRFUlJPUignIzE6IHZhciB4OyBuZXcgU3RyaW5nKCJ1bmRlZmluZWQiKS5pbmRleE9mKHgpID09PSAwLiBBY3R1YWw6ICcrbmV3IFN0cmluZygidW5kZWZpbmVkIikuaW5kZXhPZih4KSApOyAKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCnZhciB4OwoK","commentary":"String.prototype.indexOf(searchString, position)","description":"Call indexOf(searchString, position) function with x argument of new String object, where x is undefined variable","path":"TestCases/ch15/15.5/15.5.4/15.5.4.7/S15.5.4.7_A1_T6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLmluZGV4T2Yoc2VhcmNoU3RyaW5nLCBwb3NpdGlvbikKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuNy9TMTUuNS40LjdfQTFfVDcuanMKICogQGRlc2NyaXB0aW9uIENhbGwgaW5kZXhPZihzZWFyY2hTdHJpbmcsIHBvc2l0aW9uKSBmdW5jdGlvbiB3aXRoIHVuZGVmaW5lZCBhcmd1bWVudCBvZiBzdHJpbmcgb2JqZWN0CiAqLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQovL3NpbmNlIFRvU3RyaW5nKHVuZGVmaW5lZCkgZXZhbHVhdGVzIHRvICJ1bmRlZmluZWQiIGluZGV4T2YodW5kZWZpbmVkKSBldmFsdWF0ZXMgdG8gaW5kZXhPZigidW5kZWZpbmVkIiwwKQppZiAoU3RyaW5nKCJ1bmRlZmluZWQiKS5pbmRleE9mKHVuZGVmaW5lZCkgIT09IDApIHsKICAkRVJST1IoJyMxOiBTdHJpbmcoInVuZGVmaW5lZCIpLmluZGV4T2YodW5kZWZpbmVkKSA9PT0gMC4gQWN0dWFsOiAnK1N0cmluZygidW5kZWZpbmVkIikuaW5kZXhPZih1bmRlZmluZWQpICk7IAp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"String.prototype.indexOf(searchString, position)","description":"Call indexOf(searchString, position) function with undefined argument of string object","path":"TestCases/ch15/15.5/15.5.4/15.5.4.7/S15.5.4.7_A1_T7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLmluZGV4T2Yoc2VhcmNoU3RyaW5nLCBwb3NpdGlvbikKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuNy9TMTUuNS40LjdfQTFfVDguanMKICogQGRlc2NyaXB0aW9uIENhbGwgaW5kZXhPZihzZWFyY2hTdHJpbmcsIHBvc2l0aW9uKSBmdW5jdGlvbiB3aXRoIHZvaWQgMCBhcmd1bWVudCBvZiBzdHJpbmcgb2JqZWN0CiAqLwoKdmFyIF9fb2JqID0ge3RvU3RyaW5nOmZ1bmN0aW9uKCl7fX07CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCi8vc2luY2UgVG9TdHJpbmcodm9pZCAwKSBldmFsdWF0ZXMgdG8gInVuZGVmaW5lZCIgaW5kZXhPZih2b2lkIDApIGV2YWx1YXRlcyB0byBpbmRleE9mKCJ1bmRlZmluZWQiKQppZiAoU3RyaW5nKF9fb2JqKS5pbmRleE9mKHZvaWQgMCkgIT09IDApIHsKICAkRVJST1IoJyMxOiBfX29iaiA9IHt0b1N0cmluZzpmdW5jdGlvbigpe319OyBTdHJpbmcoX19vYmopLmluZGV4T2Yodm9pZCAwKSA9PT0gMC4gQWN0dWFsOiAnK1N0cmluZyhfX29iaikuaW5kZXhPZih2b2lkIDApICk7IAp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"String.prototype.indexOf(searchString, position)","description":"Call indexOf(searchString, position) function with void 0 argument of string object","path":"TestCases/ch15/15.5/15.5.4/15.5.4.7/S15.5.4.7_A1_T8.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLmluZGV4T2Yoc2VhcmNoU3RyaW5nLCBwb3NpdGlvbikKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuNy9TMTUuNS40LjdfQTFfVDkuanMKICogQGRlc2NyaXB0aW9uIENhbGwgaW5kZXhPZihzZWFyY2hTdHJpbmcsIHBvc2l0aW9uKSBmdW5jdGlvbiB3aXRoIGZ1bmN0aW9uKCl7fSgpIGFyZ3VtZW50IG9mIHN0cmluZyBvYmplY3QKICovCgp2YXIgX19vYmogPSB7CiAgICB2YWx1ZU9mOmZ1bmN0aW9uKCl7fSwKICAgIHRvU3RyaW5nOnZvaWQgMAp9OwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQovL3NpbmNlIFRvU3RyaW5nKHVuZGVmaW5lZCkgZXZhbHVhdGVzIHRvICJ1bmRlZmluZWQiIGluZGV4T2YodW5kZWZpbmVkKSBldmFsdWF0ZXMgdG8gaW5kZXhPZigidW5kZWZpbmVkIikKaWYgKG5ldyBTdHJpbmcoX19vYmopLmluZGV4T2YoZnVuY3Rpb24oKXt9KCkpICE9PSAwKSB7CiAgJEVSUk9SKCcjMTogX19vYmogPSB7dmFsdWVPZjpmdW5jdGlvbigpe30sIHRvU3RyaW5nOnZvaWQgMH07IG5ldyBTdHJpbmcoX19vYmopLmluZGV4T2YoZnVuY3Rpb24oKXt9KCkpID09PSAwLiBBY3R1YWw6ICcrbmV3IFN0cmluZyhfX29iaikuaW5kZXhPZihmdW5jdGlvbigpe30oKSkgKTsgCn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"String.prototype.indexOf(searchString, position)","description":"Call indexOf(searchString, position) function with function(){}() argument of string object","path":"TestCases/ch15/15.5/15.5.4/15.5.4.7/S15.5.4.7_A1_T9.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuIGxlbmd0aCBvZiBzZWFyY2hTdHJpbmcgbGVzcyB0aGFuIGxlbmd0aCBvZiBUb1N0cmluZyh0aGlzKSAtMSByZXR1cm5zCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjcvUzE1LjUuNC43X0EyX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBDYWxsICJhYmNkIi5pbmRleE9mKCJhYmNkYWIiKSBhbmQgY2hlY2sgcmVzdWx0CiAqLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAoImFiY2QiLmluZGV4T2YoImFiY2RhYiIpIT09LTEpIHsKICAkRVJST1IoJyMxOiAiYWJjZCIuaW5kZXhPZigiYWJjZGFiIik9PT0tMS4gQWN0dWFsOiAnKygiYWJjZCIuaW5kZXhPZigiYWJjZGFiIikpKTsgCn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"When length of searchString less than length of ToString(this) -1 returns","description":"Call \"abcd\".indexOf(\"abcdab\") and check result","path":"TestCases/ch15/15.5/15.5.4/15.5.4.7/S15.5.4.7_A2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuIGxlbmd0aCBvZiBzZWFyY2hTdHJpbmcgbGVzcyB0aGFuIGxlbmd0aCBvZiBUb1N0cmluZyh0aGlzKSAtMSByZXR1cm5zCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjcvUzE1LjUuNC43X0EyX1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBDYWxsICJhYmNkIi5pbmRleE9mKCJhYmNkYWIiLDApIGFuZCBjaGVjayByZXN1bHQKICovCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmICgiYWJjZCIuaW5kZXhPZigiYWJjZGFiIiwwKSE9PS0xKSB7CiAgJEVSUk9SKCcjMTogImFiY2QiLmluZGV4T2YoImFiY2RhYiIsMCk9PT0tMS4gQWN0dWFsOiAnKygiYWJjZCIuaW5kZXhPZigiYWJjZGFiIiwwKSkpOyAKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"When length of searchString less than length of ToString(this) -1 returns","description":"Call \"abcd\".indexOf(\"abcdab\",0) and check result","path":"TestCases/ch15/15.5/15.5.4/15.5.4.7/S15.5.4.7_A2_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuIGxlbmd0aCBvZiBzZWFyY2hTdHJpbmcgbGVzcyB0aGFuIGxlbmd0aCBvZiBUb1N0cmluZyh0aGlzKSAtMSByZXR1cm5zCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjcvUzE1LjUuNC43X0EyX1QzLmpzCiAqIEBkZXNjcmlwdGlvbiBDYWxsICJhYmNkIi5pbmRleE9mKCJhYmNkYWIiLDk5KSBhbmQgY2hlY2sgcmVzdWx0CiAqLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAoImFiY2QiLmluZGV4T2YoImFiY2RhYiIsOTkpIT09LTEpIHsKICAkRVJST1IoJyMxOiAiYWJjZCIuaW5kZXhPZigiYWJjZGFiIiw5OSk9PT0tMS4gQWN0dWFsOiAnKygiYWJjZCIuaW5kZXhPZigiYWJjZGFiIiw5OSkpKTsgCn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"When length of searchString less than length of ToString(this) -1 returns","description":"Call \"abcd\".indexOf(\"abcdab\",99) and check result","path":"TestCases/ch15/15.5/15.5.4/15.5.4.7/S15.5.4.7_A2_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBXaGVuIGxlbmd0aCBvZiBzZWFyY2hTdHJpbmcgbGVzcyB0aGFuIGxlbmd0aCBvZiBUb1N0cmluZyh0aGlzKSAtMSByZXR1cm5zCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjcvUzE1LjUuNC43X0EyX1Q0LmpzCiAqIEBkZXNjcmlwdGlvbiBDYWxsICJhYmNkIi5pbmRleE9mKCJhYmNkYWIiLE5hTikgYW5kIGNoZWNrIHJlc3VsdAogKi8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKCJhYmNkIi5pbmRleE9mKCJhYmNkYWIiLE5hTikhPT0tMSkgewogICRFUlJPUignIzE6ICJhYmNkIi5pbmRleE9mKCJhYmNkYWIiLE5hTik9PT0tMS4gQWN0dWFsOiAnKygiYWJjZCIuaW5kZXhPZigiYWJjZGFiIixOYU4pKSk7IAp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"When length of searchString less than length of ToString(this) -1 returns","description":"Call \"abcd\".indexOf(\"abcdab\",NaN) and check result","path":"TestCases/ch15/15.5/15.5.4/15.5.4.7/S15.5.4.7_A2_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTaW5jZSB3ZSBkZWFsIHdpdGggbWF4KFRvSW50ZWdlcihwb3MpLCAwKSBpZiBUb0ludGVnZXIocG9zKSBsZXNzIHRoYW4gMCBpbmRleE9mKHNlYXJjaFN0cmluZywwKSByZXR1cm5zCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjcvUzE1LjUuNC43X0EzX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBDYWxsICIkJGFiY2RhYmNkIi5pbmRleE9mKCJhYiIsTmFOKSBhbmQgY2hlY2sgcmVzdWx0CiAqLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAoIiQkYWJjZGFiY2QiLmluZGV4T2YoImFiIixOYU4pIT09MikgewogICRFUlJPUignIzE6ICIkJGFiY2RhYmNkIi5pbmRleE9mKCJhYiIsTmFOKT09PTIuIEFjdHVhbDogJysoIiQkYWJjZGFiY2QiLmluZGV4T2YoImFiIixOYU4pKSk7IAp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"Since we deal with max(ToInteger(pos), 0) if ToInteger(pos) less than 0 indexOf(searchString,0) returns","description":"Call \"$$abcdabcd\".indexOf(\"ab\",NaN) and check result","path":"TestCases/ch15/15.5/15.5.4/15.5.4.7/S15.5.4.7_A3_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTaW5jZSB3ZSBkZWFsIHdpdGggbWF4KFRvSW50ZWdlcihwb3MpLCAwKSBpZiBUb0ludGVnZXIocG9zKSBsZXNzIHRoYW4gMCBpbmRleE9mKHNlYXJjaFN0cmluZywwKSByZXR1cm5zCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjcvUzE1LjUuNC43X0EzX1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBDYWxsICIkJGFiY2RhYmNkIi5pbmRleE9mKCJhYiIsZXZhbCgiXCItOTlcIiIpKSBhbmQgY2hlY2sgcmVzdWx0CiAqLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAoIiQkYWJjZGFiY2QiLmluZGV4T2YoImFiIixldmFsKCJcIi05OVwiIikpIT09MikgewogICRFUlJPUignIzE6ICIkJGFiY2RhYmNkIi5pbmRleE9mKCJhYiIsZXZhbCgiXFwiLTk5XFwiIikpPT09Mi4gQWN0dWFsOiAnKygiJCRhYmNkYWJjZCIuaW5kZXhPZigiYWIiLGV2YWwoIlwiLTk5XCIiKSkpKTsgCn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"Since we deal with max(ToInteger(pos), 0) if ToInteger(pos) less than 0 indexOf(searchString,0) returns","description":"Call \"$$abcdabcd\".indexOf(\"ab\",eval(\"\\\"-99\\\"\")) and check result","path":"TestCases/ch15/15.5/15.5.4/15.5.4.7/S15.5.4.7_A3_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTaW5jZSB3ZSBkZWFsIHdpdGggbWF4KFRvSW50ZWdlcihwb3MpLCAwKSBpZiBUb0ludGVnZXIocG9zKSBsZXNzIHRoYW4gMCBpbmRleE9mKHNlYXJjaFN0cmluZywwKSByZXR1cm5zCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjcvUzE1LjUuNC43X0EzX1QzLmpzCiAqIEBkZXNjcmlwdGlvbiBDYWxsICIkJGFiY2RhYmNkIi5pbmRleE9mKCJhYiIsZnVuY3Rpb24oKXtyZXR1cm4gLUluZmluaXR5O30oKSkgYW5kIGNoZWNrIHJlc3VsdAogKi8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKCIkJGFiY2RhYmNkIi5pbmRleE9mKCJhYiIsIGZ1bmN0aW9uKCl7cmV0dXJuIC1JbmZpbml0eTt9KCkpIT09MikgewogICRFUlJPUignIzE6ICIkJGFiY2RhYmNkIi5pbmRleE9mKCJhYiIsIGZ1bmN0aW9uKCl7cmV0dXJuIC1JbmZpbml0eTt9KCkpPT09Mi4gQWN0dWFsOiAnKygiJCRhYmNkYWJjZCIuaW5kZXhPZigiYWIiLCBmdW5jdGlvbigpe3JldHVybiAtSW5maW5pdHk7fSgpKSkpOyAKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"Since we deal with max(ToInteger(pos), 0) if ToInteger(pos) less than 0 indexOf(searchString,0) returns","description":"Call \"$$abcdabcd\".indexOf(\"ab\",function(){return -Infinity;}()) and check result","path":"TestCases/ch15/15.5/15.5.4/15.5.4.7/S15.5.4.7_A3_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiB3aGVuIFN0cmluZy5wcm90b3R5cGUuaW5kZXhPZihzZWFyY2hTdHJpbmcsIHBvc2l0aW9uKSBpcyBjYWxsZWQgZmlyc3QgQ2FsbCBUb1N0cmluZywgZ2l2aW5nIGl0IHRoZSB0aGlzIHZhbHVlIGFzIGl0cyBhcmd1bWVudC4KICogVGhlbiBDYWxsIFRvU3RyaW5nKHNlYXJjaFN0cmluZykgYW5kIENhbGwgVG9OdW1iZXIocG9zaXRpb24pCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjcvUzE1LjUuNC43X0E0X1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBPdmVycmlkZSB0b1N0cmluZyBhbmQgdmFsdWVPZiBmdW5jdGlvbnMsIHZhbHVlT2YgdGhyb3cgZXhjZXB0aW9uCiAqLwoKdmFyIF9fb2JqID0ge3RvU3RyaW5nOmZ1bmN0aW9uKCl7cmV0dXJuICJcdTAwNDFCIjt9fQp2YXIgX19vYmoyID0ge3ZhbHVlT2Y6ZnVuY3Rpb24oKXt0aHJvdyAiaW50b2ludGVnZXIiO319CnZhciBfX3N0ciA9IHtzdHJfXzoiQUJCXHUwMDQxQkFCQUIifTsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKd2l0aChfX3N0cil7CiAgICB3aXRoKHN0cl9fKXsKICAgICAgICB0cnkgewogICAgICAgICAgdmFyIHggPSBpbmRleE9mKF9fb2JqLCBfX29iajIpOwogICAgICAgICAgJEZBSUwoJyMxOiAidmFyIHggPSBpbmRleE9mKF9fb2JqLCBfX29iajIpIiBsZWFkIHRvIHRocm93aW5nIGV4Y2VwdGlvbicpOwogICAgICAgIH0gY2F0Y2ggKGUpIHsKICAgICAgICAgIGlmIChlIT09ImludG9pbnRlZ2VyIikgewogICAgICAgICAgICAkRVJST1IoJyMxLjE6IEV4Y2VwdGlvbiA9PT0gImludG9pbnRlZ2VyIi4gQWN0dWFsOiAnK2UpOyAKICAgICAgICAgIH0KICAgICAgICB9CiAgICB9Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"when String.prototype.indexOf(searchString, position) is called first Call ToString, giving it the this value as its argument.\nThen Call ToString(searchString) and Call ToNumber(position)","description":"Override toString and valueOf functions, valueOf throw exception","path":"TestCases/ch15/15.5/15.5.4/15.5.4.7/S15.5.4.7_A4_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiB3aGVuIFN0cmluZy5wcm90b3R5cGUuaW5kZXhPZihzZWFyY2hTdHJpbmcsIHBvc2l0aW9uKSBpcyBjYWxsZWQgZmlyc3QgQ2FsbCBUb1N0cmluZywgZ2l2aW5nIGl0IHRoZSB0aGlzIHZhbHVlIGFzIGl0cyBhcmd1bWVudC4KICogVGhlbiBDYWxsIFRvU3RyaW5nKHNlYXJjaFN0cmluZykgYW5kIENhbGwgVG9OdW1iZXIocG9zaXRpb24pCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjcvUzE1LjUuNC43X0E0X1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBPdmVycmlkZSB0b1N0cmluZyBhbmQgdmFsdWVPZiBmdW5jdGlvbnMsIHNlY29uZCB0b1N0cmluZyB0aHJvdyBleGNlcHRpb24KICovCgp2YXIgX19vYmogPSB7dG9TdHJpbmc6ZnVuY3Rpb24oKXtyZXR1cm4gIlx1MDA0MUIiO319CnZhciBfX29iajIgPSB7dmFsdWVPZjpmdW5jdGlvbigpe3JldHVybiB7fTt9LHRvU3RyaW5nOmZ1bmN0aW9uKCl7dGhyb3cgImludG9pbnRlZ2VyIjt9fQp2YXIgX19zdHIgPSBuZXcgU3RyaW5nKCJBQkJcdTAwNDFCQUJBQiIpOwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQp3aXRoKF9fc3RyKXsKICAgIHRyeSB7CiAgICAgIHZhciB4ID0gaW5kZXhPZihfX29iaiwgX19vYmoyKTsKICAgICAgJEZBSUwoJyMxOiAidmFyIHggPSBpbmRleE9mKF9fb2JqLCBfX29iajIpIiBsZWFkIHRvIHRocm93aW5nIGV4Y2VwdGlvbicpOwogICAgfSBjYXRjaCAoZSkgewogICAgICBpZiAoZSE9PSJpbnRvaW50ZWdlciIpIHsKICAgICAgICAkRVJST1IoJyMxLjE6IEV4Y2VwdGlvbiA9PT0gImludG9pbnRlZ2VyIi4gQWN0dWFsOiAnK2UpOyAKICAgICAgfQogICAgfQp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"when String.prototype.indexOf(searchString, position) is called first Call ToString, giving it the this value as its argument.\nThen Call ToString(searchString) and Call ToNumber(position)","description":"Override toString and valueOf functions, second toString throw exception","path":"TestCases/ch15/15.5/15.5.4/15.5.4.7/S15.5.4.7_A4_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiB3aGVuIFN0cmluZy5wcm90b3R5cGUuaW5kZXhPZihzZWFyY2hTdHJpbmcsIHBvc2l0aW9uKSBpcyBjYWxsZWQgZmlyc3QgQ2FsbCBUb1N0cmluZywgZ2l2aW5nIGl0IHRoZSB0aGlzIHZhbHVlIGFzIGl0cyBhcmd1bWVudC4KICogVGhlbiBDYWxsIFRvU3RyaW5nKHNlYXJjaFN0cmluZykgYW5kIENhbGwgVG9OdW1iZXIocG9zaXRpb24pCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjcvUzE1LjUuNC43X0E0X1QzLmpzCiAqIEBkZXNjcmlwdGlvbiBPdmVycmlkZSB0b1N0cmluZyBhbmQgdmFsdWVPZiBmdW5jdGlvbnMKICovCgp2YXIgX19vYmogPSB7dG9TdHJpbmc6ZnVuY3Rpb24oKXtyZXR1cm4gIlx1MDA0MUIiO319CnZhciBfX29iajIgPSB7dmFsdWVPZjpmdW5jdGlvbigpe3JldHVybiB7fTt9LHRvU3RyaW5nOmZ1bmN0aW9uKCl7cmV0dXJuICIxIjt9fQoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAoIkFCQlx1MDA0MUJBQkFCIi5pbmRleE9mKF9fb2JqLCBfX29iajIpIT09MykgewogICRFUlJPUignIzE6IHZhciBfX29iaiA9IHt0b1N0cmluZzpmdW5jdGlvbigpe3JldHVybiAiXHUwMDQxQiI7fX07IHZhciBfX29iajIgPSB7dmFsdWVPZjpmdW5jdGlvbigpe3JldHVybiB7fTt9LHRvU3RyaW5nOmZ1bmN0aW9uKCl7cmV0dXJuICIxIjt9fTsgIkFCQlxcdTAwNDFCQUJBQiIuaW5kZXhPZihfX29iaiwgX19vYmoyKT09PTMuIEFjdHVhbDogJysoIkFCQlx1MDA0MUJBQkFCIi5pbmRleE9mKF9fb2JqLCBfX29iajIpKSk7IAp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"when String.prototype.indexOf(searchString, position) is called first Call ToString, giving it the this value as its argument.\nThen Call ToString(searchString) and Call ToNumber(position)","description":"Override toString and valueOf functions","path":"TestCases/ch15/15.5/15.5.4/15.5.4.7/S15.5.4.7_A4_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiB3aGVuIFN0cmluZy5wcm90b3R5cGUuaW5kZXhPZihzZWFyY2hTdHJpbmcsIHBvc2l0aW9uKSBpcyBjYWxsZWQgZmlyc3QgQ2FsbCBUb1N0cmluZywgZ2l2aW5nIGl0IHRoZSB0aGlzIHZhbHVlIGFzIGl0cyBhcmd1bWVudC4KICogVGhlbiBDYWxsIFRvU3RyaW5nKHNlYXJjaFN0cmluZykgYW5kIENhbGwgVG9OdW1iZXIocG9zaXRpb24pCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjcvUzE1LjUuNC43X0E0X1Q0LmpzCiAqIEBkZXNjcmlwdGlvbiBPdmVycmlkZSB0b1N0cmluZyBhbmQgdmFsdWVPZiBmdW5jdGlvbnMsIGFuZCB0aGV5IHRocm93IGV4Y2VwdGlvbnMKICovCgp2YXIgX19vYmogPSB7dG9TdHJpbmc6ZnVuY3Rpb24oKXt0aHJvdyAiaW50b3N0ciI7fX07CnZhciBfX29iajIgPSB7dmFsdWVPZjpmdW5jdGlvbigpe3Rocm93ICJpbnRvaW50Ijt9fTsKdmFyIF9faW5zdGFuY2UgPSBuZXcgTnVtYmVyKDEwMDAxLjEwMDAxKTsKTnVtYmVyLnByb3RvdHlwZS5pbmRleE9mPVN0cmluZy5wcm90b3R5cGUuaW5kZXhPZjsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKd2l0aChfX2luc3RhbmNlKXsKICAgIHRyeSB7CiAgICAgIHZhciB4ID0gaW5kZXhPZihfX29iaiwgX19vYmoyKTsKICAgICAgJEZBSUwoJyMxOiAidmFyIHggPSBpbmRleE9mKF9fb2JqLCBfX29iajIpIiBsZWFkIHRvIHRocm93aW5nIGV4Y2VwdGlvbicpOwogICAgfSBjYXRjaCAoZSkgewogICAgICBpZiAoZSE9PSJpbnRvc3RyIikgewogICAgICAgICRFUlJPUignIzEuMTogRXhjZXB0aW9uID09PSAiaW50b3N0ciIuIEFjdHVhbDogJytlKTsgCiAgICAgIH0KICAgIH0KfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"when String.prototype.indexOf(searchString, position) is called first Call ToString, giving it the this value as its argument.\nThen Call ToString(searchString) and Call ToNumber(position)","description":"Override toString and valueOf functions, and they throw exceptions","path":"TestCases/ch15/15.5/15.5.4/15.5.4.7/S15.5.4.7_A4_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiB3aGVuIFN0cmluZy5wcm90b3R5cGUuaW5kZXhPZihzZWFyY2hTdHJpbmcsIHBvc2l0aW9uKSBpcyBjYWxsZWQgZmlyc3QgQ2FsbCBUb1N0cmluZywgZ2l2aW5nIGl0IHRoZSB0aGlzIHZhbHVlIGFzIGl0cyBhcmd1bWVudC4KICogVGhlbiBDYWxsIFRvU3RyaW5nKHNlYXJjaFN0cmluZykgYW5kIENhbGwgVG9OdW1iZXIocG9zaXRpb24pCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjcvUzE1LjUuNC43X0E0X1Q1LmpzCiAqIEBkZXNjcmlwdGlvbiBPdmVycmlkZSB0b1N0cmluZyBhbmQgdmFsdWVPZiBmdW5jdGlvbnMsIGZpcnN0IGFuZCBzZWNvbmQgdmFsdWVPZiB0aHJvdyBleGNlcHRpb24KICovCgp2YXIgX19vYmogPSB7dG9TdHJpbmc6ZnVuY3Rpb24oKXtyZXR1cm4ge307fSx2YWx1ZU9mOmZ1bmN0aW9uKCl7dGhyb3cgImludG9zdHIiO319OwoKdmFyIF9fb2JqMiA9IHt2YWx1ZU9mOmZ1bmN0aW9uKCl7dGhyb3cgImludG9pbnRlZ2VyIjt9fTsKCl9fRkFDVE9SWS5wcm90b3R5cGUuaW5kZXhPZiA9IFN0cmluZy5wcm90b3R5cGUuaW5kZXhPZjsKCnZhciBfX2luc3RhbmNlID0gbmV3IF9fRkFDVE9SWSh2b2lkIDApOwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQp0cnkgewogIHZhciB4ID0gX19pbnN0YW5jZS5pbmRleE9mKF9fb2JqLCBfX29iajIpOwogICRGQUlMKCcjMTogInZhciB4ID0gX19pbnN0YW5jZS5pbmRleE9mKF9fb2JqLCBfX29iajIpIiBsZWFkIHRvIHRocm93aW5nIGV4Y2VwdGlvbicpOwp9IGNhdGNoIChlKSB7CiAgaWYgKGUhPT0iaW50b3N0ciIpIHsKICAgICRFUlJPUignIzEuMTogRXhjZXB0aW9uID09PSAiaW50b3N0ciIuIEFjdHVhbDogJytlKTsgCiAgfQp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKZnVuY3Rpb24gX19GQUNUT1JZKCB2YWx1ZSApIHsKICAgIHRoaXMudmFsdWUgPSB2YWx1ZTsKICAgIHRoaXMudG9TdHJpbmcgPSBmdW5jdGlvbigpIHsgcmV0dXJuIG5ldyBOdW1iZXI7IH07CiAgICB0aGlzLnZhbHVlT2Y9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy52YWx1ZSsiIn07Cn0KCg==","commentary":"when String.prototype.indexOf(searchString, position) is called first Call ToString, giving it the this value as its argument.\nThen Call ToString(searchString) and Call ToNumber(position)","description":"Override toString and valueOf functions, first and second valueOf throw exception","path":"TestCases/ch15/15.5/15.5.4/15.5.4.7/S15.5.4.7_A4_T5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLmluZGV4T2Ygd29ya3MgcHJvcGVybHkKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuNy9TMTUuNS40LjdfQTVfVDEuanMKICogQGRlc2NyaXB0aW9uIFNlYXJjaCBvbmUgc3ltYm9sIGZyb20gYmVnaW4gb2Ygc3RyaW5nCiAqLwoKdmFyIFRFU1RfU1RSSU5HID0gbmV3IFN0cmluZyggIiAhXCIjJCUmJygpKissLS4vMDEyMzQ1Njc4OTo7PD0+P0BBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWltcXF1eX2BhYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ent8fX4iICk7CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmZvciAodmFyICBrID0gMCwgaSA9IDB4MDAyMDsgaSA8IDB4MDA3ZTsgaSsrLCBrKysgKSB7CiAgICBpZiAoVEVTVF9TVFJJTkcuaW5kZXhPZiggU3RyaW5nLmZyb21DaGFyQ29kZShpKSwgMCApIT09aykgewogICAgICAkRVJST1IoJyMnKyhpLTB4MDAyMCkrJzogVEVTVF9TVFJJTkcuaW5kZXhPZiggU3RyaW5nLmZyb21DaGFyQ29kZSgnK2krJyksIDAgKT09PScraysnLiBBY3R1YWw6ICcrVEVTVF9TVFJJTkcuaW5kZXhPZiggU3RyaW5nLmZyb21DaGFyQ29kZShpKSwgMCApKTsgCiAgICB9Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"String.prototype.indexOf works properly","description":"Search one symbol from begin of string","path":"TestCases/ch15/15.5/15.5.4/15.5.4.7/S15.5.4.7_A5_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLmluZGV4T2Ygd29ya3MgcHJvcGVybHkKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuNy9TMTUuNS40LjdfQTVfVDIuanMKICogQGRlc2NyaXB0aW9uIFNlYXJjaCBvbmUgc3ltYm9sIGZyb20gaXRgcyBwb3NpdGlvbiBpbiB0aGUgc3RyaW5nCiAqLwoKdmFyIFRFU1RfU1RSSU5HID0gbmV3IFN0cmluZyggIiAhXCIjJCUmJygpKissLS4vMDEyMzQ1Njc4OTo7PD0+P0BBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWltcXF1eX2BhYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ent8fX4iICk7CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmZvciAodmFyICBrID0gMCwgaSA9IDB4MDAyMDsgaSA8IDB4MDA3ZTsgaSsrLCBrKysgKSB7CiAgICBpZiAoVEVTVF9TVFJJTkcuaW5kZXhPZiggU3RyaW5nLmZyb21DaGFyQ29kZShpKSwgayApIT09aykgewogICAgICAkRVJST1IoJyMnKyhpLTB4MDAyMCkrJzogVEVTVF9TVFJJTkcuaW5kZXhPZiggU3RyaW5nLmZyb21DaGFyQ29kZSgnK2krJyksICcraysnICk9PT0nK2srJy4gQWN0dWFsOiAnK1RFU1RfU1RSSU5HLmluZGV4T2YoIFN0cmluZy5mcm9tQ2hhckNvZGUoaSksIGsgKSk7IAogICAgfQp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"String.prototype.indexOf works properly","description":"Search one symbol from it`s position in the string","path":"TestCases/ch15/15.5/15.5.4/15.5.4.7/S15.5.4.7_A5_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLmluZGV4T2Ygd29ya3MgcHJvcGVybHkKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuNy9TMTUuNS40LjdfQTVfVDMuanMKICogQGRlc2NyaXB0aW9uIFNlYXJjaCBvbmUgc3ltYm9sIGZyb20gaXRgcyBwb3NpdGlvbisxIGluIHRoZSBzdHJpbmcKICovCgp2YXIgVEVTVF9TVFJJTkcgPSBuZXcgU3RyaW5nKCAiICFcIiMkJSYnKCkqKywtLi8wMTIzNDU2Nzg5Ojs8PT4/QEFCQ0RFRkdISUpLTE1OT1BRUlNUVVZXWFlaW1xcXV5fYGFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6e3x9fiIgKTsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKZm9yICggdmFyIGsgPSAwLCBpID0gMHgwMDIwOyBpIDwgMHgwMDdlOyBpKyssIGsrKyApIHsKICAgIGlmIChURVNUX1NUUklORy5pbmRleE9mKCBTdHJpbmcuZnJvbUNoYXJDb2RlKGkpLCBrKzEgKSAhPT0gLTEpIHsKICAgICAgJEVSUk9SKCcjJysoaS0weDAwMjApKyc6IFRFU1RfU1RSSU5HLmluZGV4T2YoIFN0cmluZy5mcm9tQ2hhckNvZGUoJytpKycpLCAnKyhrKzEpKycgKT09PS0xLiBBY3R1YWw6ICcrVEVTVF9TVFJJTkcuaW5kZXhPZiggU3RyaW5nLmZyb21DaGFyQ29kZShpKSwgaysxICkpOyAKICAgIH0KfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"String.prototype.indexOf works properly","description":"Search one symbol from it`s position+1 in the string","path":"TestCases/ch15/15.5/15.5.4/15.5.4.7/S15.5.4.7_A5_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLmluZGV4T2Ygd29ya3MgcHJvcGVybHkKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuNy9TMTUuNS40LjdfQTVfVDQuanMKICogQGRlc2NyaXB0aW9uIFNlYXJjaCBzdWJzdHJpbmcgZnJvbSBiZWdpbiBvZiBzdHJpbmcKICovCgp2YXIgVEVTVF9TVFJJTkcgPSBuZXcgU3RyaW5nKCAiICFcIiMkJSYnKCkqKywtLi8wMTIzNDU2Nzg5Ojs8PT4/QEFCQ0RFRkdISUpLTE1OT1BRUlNUVVZXWFlaW1xcXV5fYGFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6e3x9fiIgKTsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKZm9yICh2YXIgayA9IDAsIGkgPSAweDAwMjA7IGkgPCAweDAwN2Q7IGkrKywgaysrICkgewogICAgaWYgKFRFU1RfU1RSSU5HLmluZGV4T2YoIChTdHJpbmcuZnJvbUNoYXJDb2RlKGkpKyBTdHJpbmcuZnJvbUNoYXJDb2RlKGkrMSkgKyBTdHJpbmcuZnJvbUNoYXJDb2RlKGkrMikpLCAwICkhPT1rKSB7CiAgICAgICRFUlJPUignIycrKGktMHgwMDIwKSsnOiBURVNUX1NUUklORy5pbmRleE9mKCAoU3RyaW5nLmZyb21DaGFyQ29kZSgnK2krJykrIFN0cmluZy5mcm9tQ2hhckNvZGUoJysoaSsxKSsnKSArIFN0cmluZy5mcm9tQ2hhckNvZGUoJysoaSsyKSsnKSksIDAgKT09PScraysnLiBBY3R1YWw6ICcrVEVTVF9TVFJJTkcuaW5kZXhPZiggKFN0cmluZy5mcm9tQ2hhckNvZGUoaSkrIFN0cmluZy5mcm9tQ2hhckNvZGUoaSsxKSArIFN0cmluZy5mcm9tQ2hhckNvZGUoaSsyKSksIDAgKSk7IAogICAgfQp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"String.prototype.indexOf works properly","description":"Search substring from begin of string","path":"TestCases/ch15/15.5/15.5.4/15.5.4.7/S15.5.4.7_A5_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLmluZGV4T2Ygd29ya3MgcHJvcGVybHkKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuNy9TMTUuNS40LjdfQTVfVDUuanMKICogQGRlc2NyaXB0aW9uIFNlYXJjaCBzdWJzdHJpbmcgZnJvbSBpdGBzIHBvc2l0aW9uIGluIHRoZSBzdHJpbmcKICovCgp2YXIgVEVTVF9TVFJJTkcgPSBuZXcgU3RyaW5nKCAiICFcIiMkJSYnKCkqKywtLi8wMTIzNDU2Nzg5Ojs8PT4/QEFCQ0RFRkdISUpLTE1OT1BRUlNUVVZXWFlaW1xcXV5fYGFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6e3x9fiIgKTsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKZm9yICggdmFyIGsgPSAwLCBpID0gMHgwMDIwOyBpIDwgMHgwMDdkOyBpKyssIGsrKyApIHsKICAgIGlmIChURVNUX1NUUklORy5pbmRleE9mKCAoU3RyaW5nLmZyb21DaGFyQ29kZShpKSsgU3RyaW5nLmZyb21DaGFyQ29kZShpKzEpKyBTdHJpbmcuZnJvbUNoYXJDb2RlKGkrMikpLGsgKSAhPT1rKSB7CiAgICAgICRFUlJPUignIycrKGktMHgwMDIwKSsnOiBURVNUX1NUUklORy5pbmRleE9mKCAoU3RyaW5nLmZyb21DaGFyQ29kZSgnK2krJykrIFN0cmluZy5mcm9tQ2hhckNvZGUoJysoaSsxKSsnKSArIFN0cmluZy5mcm9tQ2hhckNvZGUoJysoaSsyKSsnKSksICcraysnICk9PT0nK2srJy4gQWN0dWFsOiAnK1RFU1RfU1RSSU5HLmluZGV4T2YoIChTdHJpbmcuZnJvbUNoYXJDb2RlKGkpKyBTdHJpbmcuZnJvbUNoYXJDb2RlKGkrMSkgKyBTdHJpbmcuZnJvbUNoYXJDb2RlKGkrMikpLCBrICkpOyAKICAgIH0KfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"String.prototype.indexOf works properly","description":"Search substring from it`s position in the string","path":"TestCases/ch15/15.5/15.5.4/15.5.4.7/S15.5.4.7_A5_T5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLmluZGV4T2Ygd29ya3MgcHJvcGVybHkKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuNy9TMTUuNS40LjdfQTVfVDYuanMKICogQGRlc2NyaXB0aW9uIFNlYXJjaCBzdWJzdHJpbmcgZnJvbSBpdGBzIHBvc2l0aW9uKzEgaW4gdGhlIHN0cmluZwogKi8KCnZhciBURVNUX1NUUklORyA9IG5ldyBTdHJpbmcoICIgIVwiIyQlJicoKSorLC0uLzAxMjM0NTY3ODk6Ozw9Pj9AQUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVpbXFxdXl9gYWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXp7fH1+IiApOwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQpmb3IgKHZhciBrID0gMCwgaSA9IDB4MDAyMDsgaSA8IDB4MDA3ZDsgaSsrLCBrKysgKSB7CiAgICBpZiAoVEVTVF9TVFJJTkcuaW5kZXhPZiggKFN0cmluZy5mcm9tQ2hhckNvZGUoaSkrIFN0cmluZy5mcm9tQ2hhckNvZGUoaSsxKSsgU3RyaW5nLmZyb21DaGFyQ29kZShpKzIpKSwgaysxICkhPT0gLTEpIHsKICAgICAgJEVSUk9SKCcjJysoaS0weDAwMjApKyc6IFRFU1RfU1RSSU5HLmluZGV4T2YoIChTdHJpbmcuZnJvbUNoYXJDb2RlKCcraSsnKSsgU3RyaW5nLmZyb21DaGFyQ29kZSgnKyhpKzEpKycpICsgU3RyaW5nLmZyb21DaGFyQ29kZSgnKyhpKzIpKycpKSwgJysoaysxKSsnICk9PT0gLTEuIEFjdHVhbDogJytURVNUX1NUUklORy5pbmRleE9mKCAoU3RyaW5nLmZyb21DaGFyQ29kZShpKSsgU3RyaW5nLmZyb21DaGFyQ29kZShpKzEpICsgU3RyaW5nLmZyb21DaGFyQ29kZShpKzIpKSwgaysxICkpOyAKICAgIH0KfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"String.prototype.indexOf works properly","description":"Search substring from it`s position+1 in the string","path":"TestCases/ch15/15.5/15.5.4/15.5.4.7/S15.5.4.7_A5_T6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLmluZGV4T2YgaGFzIG5vdCBwcm90b3R5cGUgcHJvcGVydHkKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuNy9TMTUuNS40LjdfQTYuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIFN0cmluZy5wcm90b3R5cGUuaW5kZXhPZi5wcm90b3R5cGUKICovCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmIChTdHJpbmcucHJvdG90eXBlLmluZGV4T2YucHJvdG90eXBlICE9PSB1bmRlZmluZWQpIHsKICAkRVJST1IoJyMxOiBTdHJpbmcucHJvdG90eXBlLmluZGV4T2YucHJvdG90eXBlID09PSB1bmRlZmluZWQuIEFjdHVhbDogJytTdHJpbmcucHJvdG90eXBlLmluZGV4T2YucHJvdG90eXBlICk7IAp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"String.prototype.indexOf has not prototype property","description":"Checking String.prototype.indexOf.prototype","path":"TestCases/ch15/15.5/15.5.4/15.5.4.7/S15.5.4.7_A6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLmluZGV4T2YgY2FuJ3QgYmUgdXNlZCBhcyBjb25zdHJ1Y3RvcgogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS40LzE1LjUuNC43L1MxNS41LjQuN19BNy5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgaWYgY3JlYXRpbmcgdGhlIFN0cmluZy5wcm90b3R5cGUuaW5kZXhPZiBvYmplY3QgZmFpbHMKICovCgp2YXIgX19GQUNUT1JZID0gU3RyaW5nLnByb3RvdHlwZS5pbmRleE9mOwoKdHJ5IHsKICB2YXIgX19pbnN0YW5jZSA9IG5ldyBfX0ZBQ1RPUlk7CiAgJEZBSUwoJyMxOiB2YXIgX19GQUNUT1JZID0gU3RyaW5nLnByb3RvdHlwZS5pbmRleE9mOyAiX19pbnN0YW5jZSA9IG5ldyBfX0ZBQ1RPUlkiIGxlYWQgdG8gdGhyb3dpbmcgZXhjZXB0aW9uJyk7Cn0gY2F0Y2ggKGUpIHsKICBpZiAoKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpICE9PSB0cnVlKSB7CiAgICAkRVJST1IoJyMxLjI6IHZhciBfX0ZBQ1RPUlkgPSBTdHJpbmcucHJvdG90eXBlLmluZGV4T2Y7ICJfX2luc3RhbmNlID0gbmV3IF9fRkFDVE9SWSIgdGhyb3cgYSBUeXBlRXJyb3IuIEFjdHVhbDogJyArIChlKSk7ICAKICB9CiAgJFBSSU5UKGUpOwp9Cgo=","commentary":"String.prototype.indexOf can't be used as constructor","description":"Checking if creating the String.prototype.indexOf object fails","path":"TestCases/ch15/15.5/15.5.4/15.5.4.7/S15.5.4.7_A7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgU3RyaW5nLnByb3RvdHlwZS5pbmRleE9mLmxlbmd0aCBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZSBEb250RW51bQogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS40LzE1LjUuNC43L1MxNS41LjQuN19BOC5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgaWYgZW51bWVyYXRpbmcgdGhlIFN0cmluZy5wcm90b3R5cGUuaW5kZXhPZi5sZW5ndGggcHJvcGVydHkgZmFpbHMKICovCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMwCmlmICghKFN0cmluZy5wcm90b3R5cGUuaW5kZXhPZi5oYXNPd25Qcm9wZXJ0eSgnbGVuZ3RoJykpKSB7CiAgJEVSUk9SKCcjMDogU3RyaW5nLnByb3RvdHlwZS5pbmRleE9mLmhhc093blByb3BlcnR5KFwnbGVuZ3RoXCcpIHJldHVybiB0cnVlLiBBY3R1YWw6ICcrU3RyaW5nLnByb3RvdHlwZS5pbmRleE9mLmhhc093blByb3BlcnR5KCdsZW5ndGgnKSk7IAp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovLyBDSEVDSyMxCmlmIChTdHJpbmcucHJvdG90eXBlLmluZGV4T2YucHJvcGVydHlJc0VudW1lcmFibGUoJ2xlbmd0aCcpKSB7CiAgJEVSUk9SKCcjMTogU3RyaW5nLnByb3RvdHlwZS5pbmRleE9mLnByb3BlcnR5SXNFbnVtZXJhYmxlKFwnbGVuZ3RoXCcpIHJldHVybiBmYWxzZScpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vIENIRUNLIzIKdmFyIGNvdW50PTA7Cgpmb3IgKHAgaW4gU3RyaW5nLnByb3RvdHlwZS5pbmRleE9mKXsKICBpZiAocD09PSJsZW5ndGgiKSBjb3VudCsrOwp9CgppZiAoY291bnQgIT09IDApIHsKICAkRVJST1IoJyMyOiBjb3VudD0wOyBmb3IgKHAgaW4gU3RyaW5nLnByb3RvdHlwZS5pbmRleE9mKXtpZiAocD09PSJsZW5ndGgiKSBjb3VudCsrO307IGNvdW50ID09PSAwLiBBY3R1YWw6ICcrY291bnQgKTsgCn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"The String.prototype.indexOf.length property has the attribute DontEnum","description":"Checking if enumerating the String.prototype.indexOf.length property fails","path":"TestCases/ch15/15.5/15.5.4/15.5.4.7/S15.5.4.7_A8.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgU3RyaW5nLnByb3RvdHlwZS5pbmRleE9mLmxlbmd0aCBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZSBEb250RGVsZXRlCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjcvUzE1LjUuNC43X0E5LmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiBkZWxldGluZyB0aGUgU3RyaW5nLnByb3RvdHlwZS5pbmRleE9mLmxlbmd0aCBwcm9wZXJ0eSBmYWlscwogKi8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzAKaWYgKCEoU3RyaW5nLnByb3RvdHlwZS5pbmRleE9mLmhhc093blByb3BlcnR5KCdsZW5ndGgnKSkpIHsKICAkRkFJTCgnIzA6IFN0cmluZy5wcm90b3R5cGUuaW5kZXhPZi5oYXNPd25Qcm9wZXJ0eShcJ2xlbmd0aFwnKSByZXR1cm4gdHJ1ZS4gQWN0dWFsOiAnK1N0cmluZy5wcm90b3R5cGUuaW5kZXhPZi5oYXNPd25Qcm9wZXJ0eSgnbGVuZ3RoJykpOyAKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKGRlbGV0ZSBTdHJpbmcucHJvdG90eXBlLmluZGV4T2YubGVuZ3RoKSB7CiAgJEVSUk9SKCcjMTogZGVsZXRlIFN0cmluZy5wcm90b3R5cGUuaW5kZXhPZi5sZW5ndGggcmF0dXJuIGZhbHNlJyk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMyCmlmICghKFN0cmluZy5wcm90b3R5cGUuaW5kZXhPZi5oYXNPd25Qcm9wZXJ0eSgnbGVuZ3RoJykpKSB7CiAgJEZBSUwoJyMyOiBkZWxldGUgU3RyaW5nLnByb3RvdHlwZS5pbmRleE9mLmxlbmd0aDsgU3RyaW5nLnByb3RvdHlwZS5pbmRleE9mLmhhc093blByb3BlcnR5KFwnbGVuZ3RoXCcpIHJldHVybiB0cnVlLiBBY3R1YWw6ICcrU3RyaW5nLnByb3RvdHlwZS5pbmRleE9mLmhhc093blByb3BlcnR5KCdsZW5ndGgnKSk7IAp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"The String.prototype.indexOf.length property has the attribute DontDelete","description":"Checking if deleting the String.prototype.indexOf.length property fails","path":"TestCases/ch15/15.5/15.5.4/15.5.4.7/S15.5.4.7_A9.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgU3RyaW5nLnByb3RvdHlwZS5sYXN0SW5kZXhPZi5sZW5ndGggcHJvcGVydHkgaGFzIHRoZSBhdHRyaWJ1dGUgUmVhZE9ubHkKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuOC9TMTUuNS40LjhfQTEwLmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiB2YXJ5aW5nIHRoZSBTdHJpbmcucHJvdG90eXBlLmxhc3RJbmRleE9mLmxlbmd0aCBwcm9wZXJ0eSBmYWlscwogKi8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKCEoU3RyaW5nLnByb3RvdHlwZS5sYXN0SW5kZXhPZi5oYXNPd25Qcm9wZXJ0eSgnbGVuZ3RoJykpKSB7CiAgJEZBSUwoJyMxOiBTdHJpbmcucHJvdG90eXBlLmxhc3RJbmRleE9mLmhhc093blByb3BlcnR5KFwnbGVuZ3RoXCcpIHJldHVybiB0cnVlLiBBY3R1YWw6ICcrU3RyaW5nLnByb3RvdHlwZS5sYXN0SW5kZXhPZi5oYXNPd25Qcm9wZXJ0eSgnbGVuZ3RoJykpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKdmFyIF9fb2JqID0gU3RyaW5nLnByb3RvdHlwZS5sYXN0SW5kZXhPZi5sZW5ndGg7CgpTdHJpbmcucHJvdG90eXBlLmxhc3RJbmRleE9mLmxlbmd0aCA9IGZ1bmN0aW9uKCl7cmV0dXJuICJzaGlmdGVkIjt9OwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMgppZiAoU3RyaW5nLnByb3RvdHlwZS5sYXN0SW5kZXhPZi5sZW5ndGggIT09IF9fb2JqKSB7CiAgJEVSUk9SKCcjMjogX19vYmogPSBTdHJpbmcucHJvdG90eXBlLmxhc3RJbmRleE9mLmxlbmd0aDsgU3RyaW5nLnByb3RvdHlwZS5sYXN0SW5kZXhPZi5sZW5ndGggPSBmdW5jdGlvbigpe3JldHVybiAic2hpZnRlZCI7fTsgU3RyaW5nLnByb3RvdHlwZS5sYXN0SW5kZXhPZi5sZW5ndGggPT09IF9fb2JqLiBBY3R1YWw6ICcrU3RyaW5nLnByb3RvdHlwZS5sYXN0SW5kZXhPZi5sZW5ndGggKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"The String.prototype.lastIndexOf.length property has the attribute ReadOnly","description":"Checking if varying the String.prototype.lastIndexOf.length property fails","path":"TestCases/ch15/15.5/15.5.4/15.5.4.8/S15.5.4.8_A10.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgbGVuZ3RoIHByb3BlcnR5IG9mIHRoZSBsYXN0SW5kZXhPZiBtZXRob2QgaXMgMQogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS40LzE1LjUuNC44L1MxNS41LjQuOF9BMTEuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIFN0cmluZy5wcm90b3R5cGUubGFzdEluZGV4T2YubGVuZ3RoCiAqLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAoIShTdHJpbmcucHJvdG90eXBlLmxhc3RJbmRleE9mLmhhc093blByb3BlcnR5KCJsZW5ndGgiKSkpIHsKICAkRVJST1IoJyMxOiBTdHJpbmcucHJvdG90eXBlLmxhc3RJbmRleE9mLmhhc093blByb3BlcnR5KCJsZW5ndGgiKSByZXR1cm4gdHJ1ZS4gQWN0dWFsOiAnK1N0cmluZy5wcm90b3R5cGUubGFzdEluZGV4T2YuaGFzT3duUHJvcGVydHkoImxlbmd0aCIpKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzIKaWYgKFN0cmluZy5wcm90b3R5cGUubGFzdEluZGV4T2YubGVuZ3RoICE9PSAxKSB7CiAgJEVSUk9SKCcjMjogU3RyaW5nLnByb3RvdHlwZS5sYXN0SW5kZXhPZi5sZW5ndGggPT09IDEuIEFjdHVhbDogJytTdHJpbmcucHJvdG90eXBlLmxhc3RJbmRleE9mLmxlbmd0aCApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"The length property of the lastIndexOf method is 1","description":"Checking String.prototype.lastIndexOf.length","path":"TestCases/ch15/15.5/15.5.4/15.5.4.8/S15.5.4.8_A11.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLmxhc3RJbmRleE9mKHNlYXJjaFN0cmluZywgcG9zaXRpb24pCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjgvUzE1LjUuNC44X0ExX1QxLmpzCiAqIEBkZXNjcmlwdGlvbiBBcmd1bWVudHMgYXJlIGZhbHNlIGFuZCB0cnVlLCBhbmQgaW5zdGFuY2UgaXMgb2JqZWN0CiAqLwoKdmFyIF9faW5zdGFuY2UgPSBuZXcgT2JqZWN0KHRydWUpOwoKX19pbnN0YW5jZS5sYXN0SW5kZXhPZiA9IFN0cmluZy5wcm90b3R5cGUubGFzdEluZGV4T2Y7CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmIChfX2luc3RhbmNlLmxhc3RJbmRleE9mKHRydWUsIGZhbHNlKSAhPT0gMCkgewogICRFUlJPUignIzE6IF9faW5zdGFuY2UgPSBuZXcgT2JqZWN0KHRydWUpOyBfX2luc3RhbmNlLmxhc3RJbmRleE9mID0gU3RyaW5nLnByb3RvdHlwZS5sYXN0SW5kZXhPZjsgIF9faW5zdGFuY2UubGFzdEluZGV4T2YodHJ1ZSwgZmFsc2UpID09PSAwLiBBY3R1YWw6ICcrX19pbnN0YW5jZS5sYXN0SW5kZXhPZih0cnVlLCBmYWxzZSkgKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"String.prototype.lastIndexOf(searchString, position)","description":"Arguments are false and true, and instance is object","path":"TestCases/ch15/15.5/15.5.4/15.5.4.8/S15.5.4.8_A1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLmxhc3RJbmRleE9mKHNlYXJjaFN0cmluZywgcG9zaXRpb24pCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjgvUzE1LjUuNC44X0ExX1QxMC5qcwogKiBAZGVzY3JpcHRpb24gQ2FsbCBsYXN0SW5kZXhPZihzZWFyY2hTdHJpbmcsIHBvc2l0aW9uKSBmdW5jdGlvbiB3aXRoIG9iamVjdCBhcmd1bWVudHMKICovCgp2YXIgX19vYmogPSB7dG9TdHJpbmc6ZnVuY3Rpb24oKXtyZXR1cm4gIlx1MDA0MUIiO319CnZhciBfX29iajIgPSB7dmFsdWVPZjpmdW5jdGlvbigpe3JldHVybiBOYU47fX0KdmFyIF9fc3RyID0gIkFCQlx1MDA0MUJBQkFCIjsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKd2l0aChfX3N0cil7CiAgaWYgKGxhc3RJbmRleE9mKF9fb2JqLCBfX29iajIpICE9PSA3KSB7CiAgICAkRVJST1IoJyMxOiB2YXIgeDsgdmFyIF9fb2JqID0ge3RvU3RyaW5nOmZ1bmN0aW9uKCl7cmV0dXJuICJcdTAwNDFCIjt9fTsgdmFyIF9fb2JqMiA9IHt2YWx1ZU9mOmZ1bmN0aW9uKCl7cmV0dXJuIE5hTjt9fTsgdmFyIF9fc3RyID0gIkFCQlx1MDA0MUJBQkFCIjtsYXN0SW5kZXhPZihfX29iaiwgX19vYmoyKSA9PT0gNy4gQWN0dWFsOiAnK2xhc3RJbmRleE9mKF9fb2JqLCBfX29iajIpICk7CiAgfQp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKdmFyIHg7Cgo=","commentary":"String.prototype.lastIndexOf(searchString, position)","description":"Call lastIndexOf(searchString, position) function with object arguments","path":"TestCases/ch15/15.5/15.5.4/15.5.4.8/S15.5.4.8_A1_T10.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLmxhc3RJbmRleE9mKHNlYXJjaFN0cmluZywgcG9zaXRpb24pCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjgvUzE1LjUuNC44X0ExX1QxMi5qcwogKiBAZGVzY3JpcHRpb24gQXJndW1lbnQgaXMgc3RyaW5nLCBhbmQgaW5zdGFuY2UgaXMgYXJyYXkgb2Ygc3RyaW5ncwogKi8KCnZhciBfX2luc3RhbmNlID0gbmV3IEFycmF5KCduZXcnLCd6b28nLCdyZXZ1ZScpOwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQppZiAoX19pbnN0YW5jZS5sYXN0SW5kZXhPZignbmV3JykgIT09IDApIHsKICAkRVJST1IoJyMxOiBfX2luc3RhbmNlID0gbmV3IEFycmF5KFwnbmV3XCcsXCd6b29cJyxcJ3JldnVlXCcpOyBfX2luc3RhbmNlLmxhc3RJbmRleE9mKFwnbmV3XCcpID09PSAwLiBBY3R1YWw6ICcrX19pbnN0YW5jZS5sYXN0SW5kZXhPZignbmV3JykgKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzIKaWYgKF9faW5zdGFuY2UubGFzdEluZGV4T2YoJ3pvbycpICE9PSAxKSB7CiAgJEVSUk9SKCcjMjogX19pbnN0YW5jZSA9IG5ldyBBcnJheShcJ25ld1wnLFwnem9vXCcsXCdyZXZ1ZVwnKTsgX19pbnN0YW5jZS5sYXN0SW5kZXhPZihcJ3pvb1wnKSA9PT0gMS4gQWN0dWFsOiAnK19faW5zdGFuY2UubGFzdEluZGV4T2YoJ3pvbycpICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"String.prototype.lastIndexOf(searchString, position)","description":"Argument is string, and instance is array of strings","path":"TestCases/ch15/15.5/15.5.4/15.5.4.8/S15.5.4.8_A1_T12.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLmxhc3RJbmRleE9mKHNlYXJjaFN0cmluZywgcG9zaXRpb24pCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjgvUzE1LjUuNC44X0ExX1QyLmpzCiAqIEBkZXNjcmlwdGlvbiBBcmd1bWVudHMgYXJlIGJvb2xlYW4gZXF1YXRpb24sIGZ1bmN0aW9uIGFuZCBudWxsLCBhbmQgaW5zdGFuY2UgaXMgQm9vbGVhbiBvYmplY3QKICovCgp2YXIgX19pbnN0YW5jZSA9IG5ldyBCb29sZWFuOwoKX19pbnN0YW5jZS5sYXN0SW5kZXhPZiA9IFN0cmluZy5wcm90b3R5cGUubGFzdEluZGV4T2Y7CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmIChfX2luc3RhbmNlLmxhc3RJbmRleE9mKCJBIiE9PSJcdTAwNDEiLCBmdW5jdGlvbigpe3JldHVybiAwO30oKSxudWxsKSAhPT0gMCkgewogICRFUlJPUignIzE6IF9faW5zdGFuY2UgPSBuZXcgQm9vbGVhbjsgX19pbnN0YW5jZS5sYXN0SW5kZXhPZiA9IFN0cmluZy5wcm90b3R5cGUubGFzdEluZGV4T2Y7ICBfX2luc3RhbmNlLmxhc3RJbmRleE9mKCJBIiE9PSJcXHUwMDQxIiwgZnVuY3Rpb24oKXtyZXR1cm4gMDt9KCksbnVsbCkgPT09IDAuIEFjdHVhbDogJytfX2luc3RhbmNlLmxhc3RJbmRleE9mKCJBIiE9PSJcdTAwNDEiLCBmdW5jdGlvbigpe3JldHVybiAwO30oKSxudWxsKSApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"String.prototype.lastIndexOf(searchString, position)","description":"Arguments are boolean equation, function and null, and instance is Boolean object","path":"TestCases/ch15/15.5/15.5.4/15.5.4.8/S15.5.4.8_A1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLmxhc3RJbmRleE9mKHNlYXJjaFN0cmluZywgcG9zaXRpb24pCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjgvUzE1LjUuNC44X0ExX1Q0LmpzCiAqIEBkZXNjcmlwdGlvbiBDYWxsIGxhc3RJbmRleE9mKHNlYXJjaFN0cmluZywgcG9zaXRpb24pIGZ1bmN0aW9uIHdpdGhvdXQgYXJndW1lbnRzIG9mIHN0cmluZwogKi8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKLy9zaW5jZSBUb1N0cmluZygpIGV2YWx1YXRlcyB0byAiIiBsYXN0SW5kZXhPZigpIGV2YWx1YXRlcyB0byBsYXN0SW5kZXhPZigiIiwwKQppZiAoIiIubGFzdEluZGV4T2YoKSAhPT0gLTEpIHsKICAkRVJST1IoJyMxOiAiIi5sYXN0SW5kZXhPZigpID09PSAtMS4gQWN0dWFsOiAnKygiIi5sYXN0SW5kZXhPZigpKSApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"String.prototype.lastIndexOf(searchString, position)","description":"Call lastIndexOf(searchString, position) function without arguments of string","path":"TestCases/ch15/15.5/15.5.4/15.5.4.8/S15.5.4.8_A1_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLmxhc3RJbmRleE9mKHNlYXJjaFN0cmluZywgcG9zaXRpb24pCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjgvUzE1LjUuNC44X0ExX1Q1LmpzCiAqIEBkZXNjcmlwdGlvbiBDYWxsIGxhc3RJbmRleE9mKHNlYXJjaFN0cmluZywgcG9zaXRpb24pIGZ1bmN0aW9uIHdpdGggbnVsbCBhcmd1bWVudCBvZiBmdW5jdGlvbiBvYmplY3QKICovCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCi8vc2luY2UgVG9TdHJpbmcobnVsbCkgZXZhbHVhdGVzIHRvICJudWxsIiBsYXN0SW5kZXhPZihudWxsKSBldmFsdWF0ZXMgdG8gbGFzdEluZGV4T2YoIiIsMCkKaWYgKGZ1bmN0aW9uKCl7cmV0dXJuICJnbnVsbHVuYXp6Z251bGwifSgpLmxhc3RJbmRleE9mKG51bGwpICE9PSAxMSkgewogICRFUlJPUignIzE6IGZ1bmN0aW9uKCl7cmV0dXJuICJnbnVsbHVuYXp6Z251bGwifSgpLmxhc3RJbmRleE9mKG51bGwpID09PSAxMS4gQWN0dWFsOiAnK2Z1bmN0aW9uKCl7cmV0dXJuICJnbnVsbHVuYXp6Z251bGwifSgpLmxhc3RJbmRleE9mKG51bGwpICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"String.prototype.lastIndexOf(searchString, position)","description":"Call lastIndexOf(searchString, position) function with null argument of function object","path":"TestCases/ch15/15.5/15.5.4/15.5.4.8/S15.5.4.8_A1_T5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLmxhc3RJbmRleE9mKHNlYXJjaFN0cmluZywgcG9zaXRpb24pCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjgvUzE1LjUuNC44X0ExX1Q2LmpzCiAqIEBkZXNjcmlwdGlvbiBDYWxsIGxhc3RJbmRleE9mKHNlYXJjaFN0cmluZywgcG9zaXRpb24pIGZ1bmN0aW9uIHdpdGggeCBhcmd1bWVudCBvZiBuZXcgU3RyaW5nIG9iamVjdCwgd2hlcmUgeCBpcyB1bmRlZmluZWQgdmFyaWFibGUKICovCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCi8vc2luY2UgVG9TdHJpbmcodW5kZWZpbmVkKSBldmFsdWF0ZXMgdG8gIiIgbGFzdEluZGV4T2YodW5kZWZpbmVkKSBldmFsdWF0ZXMgdG8gbGFzdEluZGV4T2YoIiIsMCkKaWYgKG5ldyBTdHJpbmcoInVuZGVmaW5lZCIpLmxhc3RJbmRleE9mKHgpICE9PSAwKSB7CiAgJEVSUk9SKCcjMTogdmFyIHg7IG5ldyBTdHJpbmcoInVuZGVmaW5lZCIpLmxhc3RJbmRleE9mKHgpID09PSAwLiBBY3R1YWw6ICcrbmV3IFN0cmluZygidW5kZWZpbmVkIikubGFzdEluZGV4T2YoeCkgKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCnZhciB4OwoK","commentary":"String.prototype.lastIndexOf(searchString, position)","description":"Call lastIndexOf(searchString, position) function with x argument of new String object, where x is undefined variable","path":"TestCases/ch15/15.5/15.5.4/15.5.4.8/S15.5.4.8_A1_T6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLmxhc3RJbmRleE9mKHNlYXJjaFN0cmluZywgcG9zaXRpb24pCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjgvUzE1LjUuNC44X0ExX1Q3LmpzCiAqIEBkZXNjcmlwdGlvbiBDYWxsIGxhc3RJbmRleE9mKHNlYXJjaFN0cmluZywgcG9zaXRpb24pIGZ1bmN0aW9uIHdpdGggdW5kZWZpbmVkIGFyZ3VtZW50IG9mIHN0cmluZyBvYmplY3QKICovCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCi8vc2luY2UgVG9TdHJpbmcodW5kZWZpbmVkKSBldmFsdWF0ZXMgdG8gInVuZGVmaW5lZCIgbGFzdEluZGV4T2YodW5kZWZpbmVkKSBldmFsdWF0ZXMgdG8gbGFzdEluZGV4T2YoInVuZGVmaW5lZCIsMCkKaWYgKFN0cmluZygidW5kZWZpbmVkIikubGFzdEluZGV4T2YodW5kZWZpbmVkKSAhPT0gMCkgewogICRFUlJPUignIzE6IFN0cmluZygidW5kZWZpbmVkIikubGFzdEluZGV4T2YodW5kZWZpbmVkKSA9PT0gMC4gQWN0dWFsOiAnK1N0cmluZygidW5kZWZpbmVkIikubGFzdEluZGV4T2YodW5kZWZpbmVkKSApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"String.prototype.lastIndexOf(searchString, position)","description":"Call lastIndexOf(searchString, position) function with undefined argument of string object","path":"TestCases/ch15/15.5/15.5.4/15.5.4.8/S15.5.4.8_A1_T7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLmxhc3RJbmRleE9mKHNlYXJjaFN0cmluZywgcG9zaXRpb24pCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjgvUzE1LjUuNC44X0ExX1Q4LmpzCiAqIEBkZXNjcmlwdGlvbiBDYWxsIGxhc3RJbmRleE9mKHNlYXJjaFN0cmluZywgcG9zaXRpb24pIGZ1bmN0aW9uIHdpdGggdm9pZCAwIGFyZ3VtZW50IG9mIHN0cmluZyBvYmplY3QKICovCgp2YXIgX19vYmogPSB7dG9TdHJpbmc6ZnVuY3Rpb24oKXt9fTsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKLy9zaW5jZSBUb1N0cmluZyh2b2lkIDApIGV2YWx1YXRlcyB0byAidW5kZWZpbmVkIiBsYXN0SW5kZXhPZih2b2lkIDApIGV2YWx1YXRlcyB0byBsYXN0SW5kZXhPZigidW5kZWZpbmVkIiwwKQppZiAoU3RyaW5nKF9fb2JqKS5sYXN0SW5kZXhPZih2b2lkIDApICE9PSAwKSB7CiAgJEVSUk9SKCcjMTogX19vYmogPSB7dG9TdHJpbmc6ZnVuY3Rpb24oKXt9fTsgU3RyaW5nKF9fb2JqKS5sYXN0SW5kZXhPZih2b2lkIDApID09PSAwLiBBY3R1YWw6ICcrU3RyaW5nKF9fb2JqKS5sYXN0SW5kZXhPZih2b2lkIDApICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"String.prototype.lastIndexOf(searchString, position)","description":"Call lastIndexOf(searchString, position) function with void 0 argument of string object","path":"TestCases/ch15/15.5/15.5.4/15.5.4.8/S15.5.4.8_A1_T8.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLmxhc3RJbmRleE9mKHNlYXJjaFN0cmluZywgcG9zaXRpb24pCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjgvUzE1LjUuNC44X0ExX1Q5LmpzCiAqIEBkZXNjcmlwdGlvbiBDYWxsIGxhc3RJbmRleE9mKHNlYXJjaFN0cmluZywgcG9zaXRpb24pIGZ1bmN0aW9uIHdpdGggZnVuY3Rpb24oKXt9KCkgYXJndW1lbnQgb2Ygc3RyaW5nIG9iamVjdAogKi8KCnZhciBfX29iaiA9IHsKICB2YWx1ZU9mOmZ1bmN0aW9uKCl7fSwKICB0b1N0cmluZzp2b2lkIDAKfTsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKLy9zaW5jZSBUb1N0cmluZyh1bmRlZmluZWQpIGV2YWx1YXRlcyB0byAidW5kZWZpbmVkIiBpbmRleE9mKHVuZGVmaW5lZCkgZXZhbHVhdGVzIHRvIGluZGV4T2YoInVuZGVmaW5lZCIpCmlmIChuZXcgU3RyaW5nKF9fb2JqKS5sYXN0SW5kZXhPZihmdW5jdGlvbigpe30oKSkgIT09IDApIHsKICAkRVJST1IoJyMxOiBfX29iaiA9IHt2YWx1ZU9mOmZ1bmN0aW9uKCl7fSwgdG9TdHJpbmc6dm9pZCAwfTsgbmV3IFN0cmluZyhfX29iaikubGFzdEluZGV4T2YoZnVuY3Rpb24oKXt9KCkpID09PSAwLiBBY3R1YWw6ICcrbmV3IFN0cmluZyhfX29iaikubGFzdEluZGV4T2YoZnVuY3Rpb24oKXt9KCkpICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"String.prototype.lastIndexOf(searchString, position)","description":"Call lastIndexOf(searchString, position) function with function(){}() argument of string object","path":"TestCases/ch15/15.5/15.5.4/15.5.4.8/S15.5.4.8_A1_T9.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiB3aGVuIFN0cmluZy5wcm90b3R5cGUubGFzdEluZGV4T2Yoc2VhcmNoU3RyaW5nLCBwb3NpdGlvbikgaXMgY2FsbGVkIGZpcnN0IENhbGwgVG9TdHJpbmcsIGdpdmluZyBpdCB0aGUgdGhpcyB2YWx1ZSBhcyBpdHMgYXJndW1lbnQuCiAqIFRoZW4gQ2FsbCBUb1N0cmluZyhzZWFyY2hTdHJpbmcpIGFuZCBDYWxsIFRvTnVtYmVyKHBvc2l0aW9uKQogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS40LzE1LjUuNC44L1MxNS41LjQuOF9BNF9UMS5qcwogKiBAZGVzY3JpcHRpb24gT3ZlcnJpZGUgdG9TdHJpbmcgYW5kIHZhbHVlT2YgZnVuY3Rpb25zLCB2YWx1ZU9mIHRocm93IGV4Y2VwdGlvbgogKi8KCnZhciBfX29iaiA9IHt0b1N0cmluZzpmdW5jdGlvbigpe3JldHVybiAiXHUwMDQxQiI7fX0KdmFyIF9fb2JqMiA9IHt2YWx1ZU9mOmZ1bmN0aW9uKCl7dGhyb3cgImludG9pbnRlZ2VyIjt9fQp2YXIgX19zdHIgPSB7c3RyX186IkFCQlx1MDA0MUJBQkFCIn07CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCndpdGgoX19zdHIpewogICAgd2l0aChzdHJfXyl7CiAgICAgICAgdHJ5IHsKICAgICAgICAgIHZhciB4ID0gbGFzdEluZGV4T2YoX19vYmosIF9fb2JqMik7CiAgICAgICAgICAkRkFJTCgnIzE6IHZhciB4ID0gbGFzdEluZGV4T2YoX19vYmosIF9fb2JqMikgbGVhZCB0byB0aHJvd2luZyBleGNlcHRpb24nKTsKICAgICAgICB9IGNhdGNoIChlKSB7CiAgICAgICAgICBpZiAoZSE9PSJpbnRvaW50ZWdlciIpIHsKICAgICAgICAgICAgJEVSUk9SKCcjMS4xOiBFeGNlcHRpb24gPT09ICJpbnRvaW50ZWdlciIuIEFjdHVhbDogJytlKTsKICAgICAgICAgIH0KICAgICAgICB9CiAgICB9Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"when String.prototype.lastIndexOf(searchString, position) is called first Call ToString, giving it the this value as its argument.\nThen Call ToString(searchString) and Call ToNumber(position)","description":"Override toString and valueOf functions, valueOf throw exception","path":"TestCases/ch15/15.5/15.5.4/15.5.4.8/S15.5.4.8_A4_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiB3aGVuIFN0cmluZy5wcm90b3R5cGUubGFzdEluZGV4T2Yoc2VhcmNoU3RyaW5nLCBwb3NpdGlvbikgaXMgY2FsbGVkIGZpcnN0IENhbGwgVG9TdHJpbmcsIGdpdmluZyBpdCB0aGUgdGhpcyB2YWx1ZSBhcyBpdHMgYXJndW1lbnQuCiAqIFRoZW4gQ2FsbCBUb1N0cmluZyhzZWFyY2hTdHJpbmcpIGFuZCBDYWxsIFRvTnVtYmVyKHBvc2l0aW9uKQogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS40LzE1LjUuNC44L1MxNS41LjQuOF9BNF9UMi5qcwogKiBAZGVzY3JpcHRpb24gT3ZlcnJpZGUgdG9TdHJpbmcgYW5kIHZhbHVlT2YgZnVuY3Rpb25zLCBzZWNvbmQgdG9TdHJpbmcgdGhyb3cgZXhjZXB0aW9uCiAqLwoKdmFyIF9fb2JqID0ge3RvU3RyaW5nOmZ1bmN0aW9uKCl7cmV0dXJuICJcdTAwNDFCIjt9fQp2YXIgX19vYmoyID0ge3ZhbHVlT2Y6ZnVuY3Rpb24oKXtyZXR1cm4ge307fSx0b1N0cmluZzpmdW5jdGlvbigpe3Rocm93ICJpbnRvaW50ZWdlciI7fX0KdmFyIF9fc3RyID0gbmV3IFN0cmluZygiQUJCXHUwMDQxQkFCQUIiKTsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKd2l0aChfX3N0cil7CiAgICB0cnkgewogICAgICB2YXIgeCA9IGxhc3RJbmRleE9mKF9fb2JqLCBfX29iajIpOwogICAgICAkRkFJTCgnIzE6IHZhciB4ID0gbGFzdEluZGV4T2YoX19vYmosIF9fb2JqMikgbGVhZCB0byB0aHJvd2luZyBleGNlcHRpb24nKTsKICAgIH0gY2F0Y2ggKGUpIHsKICAgICAgaWYgKGUhPT0iaW50b2ludGVnZXIiKSB7CiAgICAgICAgJEVSUk9SKCcjMS4xOiBFeGNlcHRpb24gPT09ICJpbnRvaW50ZWdlciIuIEFjdHVhbDogJytlKTsKICAgICAgfQogICAgfQp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"when String.prototype.lastIndexOf(searchString, position) is called first Call ToString, giving it the this value as its argument.\nThen Call ToString(searchString) and Call ToNumber(position)","description":"Override toString and valueOf functions, second toString throw exception","path":"TestCases/ch15/15.5/15.5.4/15.5.4.8/S15.5.4.8_A4_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiB3aGVuIFN0cmluZy5wcm90b3R5cGUubGFzdEluZGV4T2Yoc2VhcmNoU3RyaW5nLCBwb3NpdGlvbikgaXMgY2FsbGVkIGZpcnN0IENhbGwgVG9TdHJpbmcsIGdpdmluZyBpdCB0aGUgdGhpcyB2YWx1ZSBhcyBpdHMgYXJndW1lbnQuCiAqIFRoZW4gQ2FsbCBUb1N0cmluZyhzZWFyY2hTdHJpbmcpIGFuZCBDYWxsIFRvTnVtYmVyKHBvc2l0aW9uKQogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS40LzE1LjUuNC44L1MxNS41LjQuOF9BNF9UMy5qcwogKiBAZGVzY3JpcHRpb24gT3ZlcnJpZGUgdG9TdHJpbmcgYW5kIHZhbHVlT2YgZnVuY3Rpb25zCiAqLwoKdmFyIF9fb2JqID0ge3RvU3RyaW5nOmZ1bmN0aW9uKCl7cmV0dXJuICJcdTAwNDFCIjt9fQp2YXIgX19vYmoyID0ge3ZhbHVlT2Y6ZnVuY3Rpb24oKXtyZXR1cm4ge307fSx0b1N0cmluZzpmdW5jdGlvbigpe319CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmICgiQUJCXHUwMDQxQkFCQUIiLmxhc3RJbmRleE9mKF9fb2JqLCBfX29iajIpIT09NykgewogICRFUlJPUignIzE6IHZhciBfX29iaiA9IHt0b1N0cmluZzpmdW5jdGlvbigpe3JldHVybiAiXHUwMDQxQiI7fX07IHZhciBfX29iajIgPSB7dmFsdWVPZjpmdW5jdGlvbigpe3JldHVybiB7fTt9LHRvU3RyaW5nOmZ1bmN0aW9uKCl7fX07ICJBQkJcXHUwMDQxQkFCQUIiLmxhc3RJbmRleE9mKF9fb2JqLCBfX29iajIpPT09Ny4gQWN0dWFsOiAnKygiQUJCXHUwMDQxQkFCQUIiLmxhc3RJbmRleE9mKF9fb2JqLCBfX29iajIpKSk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"when String.prototype.lastIndexOf(searchString, position) is called first Call ToString, giving it the this value as its argument.\nThen Call ToString(searchString) and Call ToNumber(position)","description":"Override toString and valueOf functions","path":"TestCases/ch15/15.5/15.5.4/15.5.4.8/S15.5.4.8_A4_T3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiB3aGVuIFN0cmluZy5wcm90b3R5cGUubGFzdEluZGV4T2Yoc2VhcmNoU3RyaW5nLCBwb3NpdGlvbikgaXMgY2FsbGVkIGZpcnN0IENhbGwgVG9TdHJpbmcsIGdpdmluZyBpdCB0aGUgdGhpcyB2YWx1ZSBhcyBpdHMgYXJndW1lbnQuCiAqIFRoZW4gQ2FsbCBUb1N0cmluZyhzZWFyY2hTdHJpbmcpIGFuZCBDYWxsIFRvTnVtYmVyKHBvc2l0aW9uKQogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS40LzE1LjUuNC44L1MxNS41LjQuOF9BNF9UNC5qcwogKiBAZGVzY3JpcHRpb24gT3ZlcnJpZGUgdG9TdHJpbmcgYW5kIHZhbHVlT2YgZnVuY3Rpb25zLCBhbmQgdGhleSB0aHJvdyBleGNlcHRpb25zCiAqLwoKdmFyIF9fb2JqID0ge3RvU3RyaW5nOmZ1bmN0aW9uKCl7dGhyb3cgImludG9zdHIiO319Owp2YXIgX19vYmoyID0ge3ZhbHVlT2Y6ZnVuY3Rpb24oKXt0aHJvdyAiaW50b2ludCI7fX07CnZhciBfX2luc3RhbmNlID0gbmV3IE51bWJlcigxMDAwMS4xMDAwMSk7Ck51bWJlci5wcm90b3R5cGUubGFzdEluZGV4T2Y9U3RyaW5nLnByb3RvdHlwZS5sYXN0SW5kZXhPZjsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKd2l0aChfX2luc3RhbmNlKXsKICAgIHRyeSB7CiAgICAgIHZhciB4ID0gbGFzdEluZGV4T2YoX19vYmosIF9fb2JqMik7CiAgICAgICRGQUlMKCcjMTogdmFyIHggPSBsYXN0SW5kZXhPZihfX29iaiwgX19vYmoyKSBsZWFkIHRvIHRocm93aW5nIGV4Y2VwdGlvbicpOwogICAgfSBjYXRjaCAoZSkgewogICAgICBpZiAoZSE9PSJpbnRvc3RyIikgewogICAgICAgICRFUlJPUignIzEuMTogRXhjZXB0aW9uID09PSAiaW50b3N0ciIuIEFjdHVhbDogJytlKTsKICAgICAgfQogICAgfQp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"when String.prototype.lastIndexOf(searchString, position) is called first Call ToString, giving it the this value as its argument.\nThen Call ToString(searchString) and Call ToNumber(position)","description":"Override toString and valueOf functions, and they throw exceptions","path":"TestCases/ch15/15.5/15.5.4/15.5.4.8/S15.5.4.8_A4_T4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiB3aGVuIFN0cmluZy5wcm90b3R5cGUubGFzdEluZGV4T2Yoc2VhcmNoU3RyaW5nLCBwb3NpdGlvbikgaXMgY2FsbGVkIGZpcnN0IENhbGwgVG9TdHJpbmcsIGdpdmluZyBpdCB0aGUgdGhpcyB2YWx1ZSBhcyBpdHMgYXJndW1lbnQuCiAqIFRoZW4gQ2FsbCBUb1N0cmluZyhzZWFyY2hTdHJpbmcpIGFuZCBDYWxsIFRvTnVtYmVyKHBvc2l0aW9uKQogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS40LzE1LjUuNC44L1MxNS41LjQuOF9BNF9UNS5qcwogKiBAZGVzY3JpcHRpb24gT3ZlcnJpZGUgdG9TdHJpbmcgYW5kIHZhbHVlT2YgZnVuY3Rpb25zLCBmaXJzdCBhbmQgc2Vjb25kIHZhbHVlT2YgdGhyb3cgZXhjZXB0aW9uCiAqLwoKdmFyIF9fb2JqID0ge3RvU3RyaW5nOmZ1bmN0aW9uKCl7cmV0dXJuIHt9O30sdmFsdWVPZjpmdW5jdGlvbigpe3Rocm93ICJpbnRvc3RyIjt9fTsKCnZhciBfX29iajIgPSB7dmFsdWVPZjpmdW5jdGlvbigpe3Rocm93ICJpbnRvaW50ZWdlciI7fX07CgpfX0ZBQ1RPUlkucHJvdG90eXBlLmxhc3RJbmRleE9mID0gU3RyaW5nLnByb3RvdHlwZS5sYXN0SW5kZXhPZjsKCnZhciBfX2luc3RhbmNlID0gbmV3IF9fRkFDVE9SWSh2b2lkIDApOwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQp0cnkgewogIHZhciB4ID0gX19pbnN0YW5jZS5sYXN0SW5kZXhPZihfX29iaiwgX19vYmoyKTsKICAkRkFJTCgnIzE6IHZhciB4ID0gX19pbnN0YW5jZS5sYXN0SW5kZXhPZihfX29iaiwgX19vYmoyKSBsZWFkIHRvIHRocm93aW5nIGV4Y2VwdGlvbicpOwp9IGNhdGNoIChlKSB7CiAgaWYgKGUhPT0iaW50b3N0ciIpIHsKICAgICRFUlJPUignIzEuMTogRXhjZXB0aW9uID09PSAiaW50b3N0ciIuIEFjdHVhbDogJytlKTsKICB9Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgpmdW5jdGlvbiBfX0ZBQ1RPUlkoIHZhbHVlICkgewogICAgdGhpcy52YWx1ZSA9IHZhbHVlOwogICAgdGhpcy50b1N0cmluZyA9IGZ1bmN0aW9uKCkgeyByZXR1cm4gbmV3IE51bWJlcjsgfTsKICAgIHRoaXMudmFsdWVPZj1mdW5jdGlvbigpe3JldHVybiB0aGlzLnZhbHVlKyIifTsKfQoK","commentary":"when String.prototype.lastIndexOf(searchString, position) is called first Call ToString, giving it the this value as its argument.\nThen Call ToString(searchString) and Call ToNumber(position)","description":"Override toString and valueOf functions, first and second valueOf throw exception","path":"TestCases/ch15/15.5/15.5.4/15.5.4.8/S15.5.4.8_A4_T5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLmxhc3RJbmRleE9mIGhhcyBub3QgcHJvdG90eXBlIHByb3BlcnR5CiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjgvUzE1LjUuNC44X0E2LmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBTdHJpbmcucHJvdG90eXBlLmxhc3RJbmRleE9mLnByb3RvdHlwZQogKi8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKFN0cmluZy5wcm90b3R5cGUubGFzdEluZGV4T2YucHJvdG90eXBlICE9PSB1bmRlZmluZWQpIHsKICAkRVJST1IoJyMxOiBTdHJpbmcucHJvdG90eXBlLmxhc3RJbmRleE9mLnByb3RvdHlwZSA9PT0gdW5kZWZpbmVkLiBBY3R1YWw6ICcrU3RyaW5nLnByb3RvdHlwZS5sYXN0SW5kZXhPZi5wcm90b3R5cGUgKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"String.prototype.lastIndexOf has not prototype property","description":"Checking String.prototype.lastIndexOf.prototype","path":"TestCases/ch15/15.5/15.5.4/15.5.4.8/S15.5.4.8_A6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLmxhc3RJbmRleE9mIGNhbid0IGJlIHVzZWQgYXMgY29uc3RydWN0b3IKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuOC9TMTUuNS40LjhfQTcuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIGNyZWF0aW5nIHRoZSBTdHJpbmcucHJvdG90eXBlLmxhc3RJbmRleE9mIG9iamVjdCBmYWlscwogKi8KCnZhciBfX0ZBQ1RPUlkgPSBTdHJpbmcucHJvdG90eXBlLmxhc3RJbmRleE9mOwoKdHJ5IHsKICB2YXIgX19pbnN0YW5jZSA9IG5ldyBfX0ZBQ1RPUlk7CiAgJEZBSUwoJyMxOiBfX0ZBQ1RPUlkgPSBTdHJpbmcucHJvdG90eXBlLmxhc3RJbmRleE9mOyBfX2luc3RhbmNlID0gbmV3IF9fRkFDVE9SWSBsZWFkIHRvIHRocm93aW5nIGV4Y2VwdGlvbicpOwp9IGNhdGNoIChlKSB7CiAgJFBSSU5UKGUpOwp9Cgo=","commentary":"String.prototype.lastIndexOf can't be used as constructor","description":"Checking if creating the String.prototype.lastIndexOf object fails","path":"TestCases/ch15/15.5/15.5.4/15.5.4.8/S15.5.4.8_A7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgU3RyaW5nLnByb3RvdHlwZS5sYXN0SW5kZXhPZi5sZW5ndGggcHJvcGVydHkgaGFzIHRoZSBhdHRyaWJ1dGUgRG9udEVudW0KICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuOC9TMTUuNS40LjhfQTguanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIGVudW1lcmF0aW5nIHRoZSBTdHJpbmcucHJvdG90eXBlLmxhc3RJbmRleE9mLmxlbmd0aCBwcm9wZXJ0eSBmYWlscwogKi8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzAKaWYgKCEoU3RyaW5nLnByb3RvdHlwZS5sYXN0SW5kZXhPZi5oYXNPd25Qcm9wZXJ0eSgnbGVuZ3RoJykpKSB7CiAgJEZBSUwoJyMwOiBTdHJpbmcucHJvdG90eXBlLmxhc3RJbmRleE9mLmhhc093blByb3BlcnR5KFwnbGVuZ3RoXCcpIHJldHVybiB0cnVlLiBBY3R1YWw6ICcrU3RyaW5nLnByb3RvdHlwZS5sYXN0SW5kZXhPZi5oYXNPd25Qcm9wZXJ0eSgnbGVuZ3RoJykpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovLyBDSEVDSyMxCmlmIChTdHJpbmcucHJvdG90eXBlLmxhc3RJbmRleE9mLnByb3BlcnR5SXNFbnVtZXJhYmxlKCdsZW5ndGgnKSkgewogICRFUlJPUignIzE6IFN0cmluZy5wcm90b3R5cGUubGFzdEluZGV4T2YucHJvcGVydHlJc0VudW1lcmFibGUoXCdsZW5ndGhcJykgcmV0dXJuIGZhbHNlLiBBY3R1YWw6ICcrU3RyaW5nLnByb3RvdHlwZS5sYXN0SW5kZXhPZi5wcm9wZXJ0eUlzRW51bWVyYWJsZSgnbGVuZ3RoJykpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vIENIRUNLIzIKY291bnQ9MDsKCmZvciAocCBpbiBTdHJpbmcucHJvdG90eXBlLmxhc3RJbmRleE9mKXsKICBpZiAocD09PSJsZW5ndGgiKSBjb3VudCsrOwp9CgppZiAoY291bnQgIT09IDApIHsKICAkRVJST1IoJyMyOiBjb3VudD0wOyBmb3IgKHAgaW4gU3RyaW5nLnByb3RvdHlwZS5sYXN0SW5kZXhPZil7aWYgKHA9PT0ibGVuZ3RoIikgY291bnQrKzt9OyBjb3VudCA9PT0gMC4gQWN0dWFsOiAnK2NvdW50ICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"The String.prototype.lastIndexOf.length property has the attribute DontEnum","description":"Checking if enumerating the String.prototype.lastIndexOf.length property fails","path":"TestCases/ch15/15.5/15.5.4/15.5.4.8/S15.5.4.8_A8.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgU3RyaW5nLnByb3RvdHlwZS5sYXN0SW5kZXhPZi5sZW5ndGggcHJvcGVydHkgaGFzIHRoZSBhdHRyaWJ1dGUgRG9udERlbGV0ZQogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS40LzE1LjUuNC44L1MxNS41LjQuOF9BOS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgaWYgZGVsZXRpbmcgdGhlIFN0cmluZy5wcm90b3R5cGUubGFzdEluZGV4T2YubGVuZ3RoIHByb3BlcnR5IGZhaWxzCiAqLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMAppZiAoIShTdHJpbmcucHJvdG90eXBlLmxhc3RJbmRleE9mLmhhc093blByb3BlcnR5KCdsZW5ndGgnKSkpIHsKICAkRkFJTCgnIzA6IFN0cmluZy5wcm90b3R5cGUubGFzdEluZGV4T2YuaGFzT3duUHJvcGVydHkoXCdsZW5ndGhcJykgcmV0dXJuIHRydWUuIEFjdHVhbDogJytTdHJpbmcucHJvdG90eXBlLmxhc3RJbmRleE9mLmhhc093blByb3BlcnR5KCdsZW5ndGgnKSk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmIChkZWxldGUgU3RyaW5nLnByb3RvdHlwZS5sYXN0SW5kZXhPZi5sZW5ndGgpIHsKICAkRVJST1IoJyMxOiBkZWxldGUgU3RyaW5nLnByb3RvdHlwZS5sYXN0SW5kZXhPZi5sZW5ndGggcmV0dXJuIGZhbHNlJyk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMyCmlmICghKFN0cmluZy5wcm90b3R5cGUubGFzdEluZGV4T2YuaGFzT3duUHJvcGVydHkoJ2xlbmd0aCcpKSkgewogICRGQUlMKCcjMjogZGVsZXRlIFN0cmluZy5wcm90b3R5cGUubGFzdEluZGV4T2YubGVuZ3RoOyBTdHJpbmcucHJvdG90eXBlLmxhc3RJbmRleE9mLmhhc093blByb3BlcnR5KFwnbGVuZ3RoXCcpIHJldHVybiB0cnVlLiBBY3R1YWw6ICcrU3RyaW5nLnByb3RvdHlwZS5sYXN0SW5kZXhPZi5oYXNPd25Qcm9wZXJ0eSgnbGVuZ3RoJykpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"The String.prototype.lastIndexOf.length property has the attribute DontDelete","description":"Checking if deleting the String.prototype.lastIndexOf.length property fails","path":"TestCases/ch15/15.5/15.5.4/15.5.4.8/S15.5.4.8_A9.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgU3RyaW5nLnByb3RvdHlwZS5sb2NhbGVDb21wYXJlLmxlbmd0aCBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZSBSZWFkT25seQogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS40LzE1LjUuNC45L1MxNS41LjQuOV9BMTAuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIHZhcnlpbmcgdGhlIFN0cmluZy5wcm90b3R5cGUubG9jYWxlQ29tcGFyZS5sZW5ndGggcHJvcGVydHkgZmFpbHMKICovCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmICghKFN0cmluZy5wcm90b3R5cGUubG9jYWxlQ29tcGFyZS5oYXNPd25Qcm9wZXJ0eSgnbGVuZ3RoJykpKSB7CiAgJEVSUk9SKCcjMTogU3RyaW5nLnByb3RvdHlwZS5sb2NhbGVDb21wYXJlLmhhc093blByb3BlcnR5KFwnbGVuZ3RoXCcpIHJldHVybiB0cnVlLiBBY3R1YWw6ICcrU3RyaW5nLnByb3RvdHlwZS5sb2NhbGVDb21wYXJlLmhhc093blByb3BlcnR5KCdsZW5ndGgnKSk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgp2YXIgX19vYmogPSBTdHJpbmcucHJvdG90eXBlLmxvY2FsZUNvbXBhcmUubGVuZ3RoOwoKU3RyaW5nLnByb3RvdHlwZS5sb2NhbGVDb21wYXJlLmxlbmd0aCA9IGZ1bmN0aW9uKCl7cmV0dXJuICJzaGlmdGVkIjt9OwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMgppZiAoU3RyaW5nLnByb3RvdHlwZS5sb2NhbGVDb21wYXJlLmxlbmd0aCAhPT0gX19vYmopIHsKICAkRVJST1IoJyMyOiBfX29iaiA9IFN0cmluZy5wcm90b3R5cGUubG9jYWxlQ29tcGFyZS5sZW5ndGg7IFN0cmluZy5wcm90b3R5cGUubG9jYWxlQ29tcGFyZS5sZW5ndGggPSBmdW5jdGlvbigpe3JldHVybiAic2hpZnRlZCI7fTsgU3RyaW5nLnByb3RvdHlwZS5sb2NhbGVDb21wYXJlLmxlbmd0aCA9PT0gX19vYmouIEFjdHVhbDogJytTdHJpbmcucHJvdG90eXBlLmxvY2FsZUNvbXBhcmUubGVuZ3RoICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"The String.prototype.localeCompare.length property has the attribute ReadOnly","description":"Checking if varying the String.prototype.localeCompare.length property fails","path":"TestCases/ch15/15.5/15.5.4/15.5.4.9/S15.5.4.9_A10.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgbGVuZ3RoIHByb3BlcnR5IG9mIHRoZSBsb2NhbGVDb21wYXJlIG1ldGhvZCBpcyAxCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjkvUzE1LjUuNC45X0ExMS5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgU3RyaW5nLnByb3RvdHlwZS5sb2NhbGVDb21wYXJlLmxlbmd0aAogKi8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKCEoU3RyaW5nLnByb3RvdHlwZS5sb2NhbGVDb21wYXJlLmhhc093blByb3BlcnR5KCJsZW5ndGgiKSkpIHsKICAkRVJST1IoJyMxOiBTdHJpbmcucHJvdG90eXBlLmxvY2FsZUNvbXBhcmUuaGFzT3duUHJvcGVydHkoImxlbmd0aCIpIHJldHVybiB0cnVlLiBBY3R1YWw6ICcrU3RyaW5nLnByb3RvdHlwZS5sb2NhbGVDb21wYXJlLmhhc093blByb3BlcnR5KCJsZW5ndGgiKSk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMyCmlmIChTdHJpbmcucHJvdG90eXBlLmxvY2FsZUNvbXBhcmUubGVuZ3RoICE9PSAxKSB7CiAgJEVSUk9SKCcjMjogU3RyaW5nLnByb3RvdHlwZS5sb2NhbGVDb21wYXJlLmxlbmd0aCA9PT0gMS4gQWN0dWFsOiAnK1N0cmluZy5wcm90b3R5cGUubG9jYWxlQ29tcGFyZS5sZW5ndGggKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"The length property of the localeCompare method is 1","description":"Checking String.prototype.localeCompare.length","path":"TestCases/ch15/15.5/15.5.4/15.5.4.9/S15.5.4.9_A11.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLmxvY2FsZUNvbXBhcmUodGhhdCkKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuOS9TMTUuNS40LjlfQTFfVDEuanMKICogQGRlc2NyaXB0aW9uIFRoaXMgc3RyaW5nIGlzIHN5bWJvbCBhbmQgYXJndW1lbnRzIGFyZSBzeW1ib2xzCiAqLwoKdmFyIHN0cjEgPSBuZXcgU3RyaW5nKCJoIik7IAovL0NIRUNLIzEKdmFyIHN0cjIgPSBuZXcgU3RyaW5nICgiXHg2OCIpOwppZiAgKHN0cjEubG9jYWxlQ29tcGFyZShzdHIyKSE9PTApewogICRFUlJPUignIzE6IHZhciBzdHIxID0gbmV3IFN0cmluZygiaCIpOyB2YXIgc3RyMiA9IG5ldyBTdHJpbmcgKCJcXHg2OCIpOyBzdHIxLmxvY2FsZUNvbXBhcmUoc3RyMik9PT0wLiBBY3R1YWw6ICcrc3RyMS5sb2NhbGVDb21wYXJlKHN0cjIpKTsKfQoKLy9DSEVDSyMyCnZhciBzdHIyID0gbmV3IFN0cmluZyAoIlx1MDA2OCIpOwppZiAgKHN0cjEubG9jYWxlQ29tcGFyZShzdHIyKSE9PTApewogICRFUlJPUignIzI6IHZhciBzdHIxID0gbmV3IFN0cmluZygiaCIpOyB2YXIgc3RyMiA9IG5ldyBTdHJpbmcgKCJcXHUwMDY4Iik7IHN0cjEubG9jYWxlQ29tcGFyZShzdHIyKT09PTAuIEFjdHVhbDogJytzdHIxLmxvY2FsZUNvbXBhcmUoc3RyMikpOwp9CgovL0NIRUNLIzMKdmFyIHN0cjIgPSBuZXcgU3RyaW5nICgiaCIpOwppZiAgKHN0cjEubG9jYWxlQ29tcGFyZShzdHIyKSE9PTApewogICRFUlJPUignIzM6IHZhciBzdHIxID0gbmV3IFN0cmluZygiaCIpOyB2YXIgc3RyMiA9IG5ldyBTdHJpbmcgKCJoIik7IHN0cjEubG9jYWxlQ29tcGFyZShzdHIyKT09PTAuIEFjdHVhbDogJytzdHIxLmxvY2FsZUNvbXBhcmUoc3RyMikpOwp9Cgo=","commentary":"String.prototype.localeCompare(that)","description":"This string is symbol and arguments are symbols","path":"TestCases/ch15/15.5/15.5.4/15.5.4.9/S15.5.4.9_A1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLmxvY2FsZUNvbXBhcmUodGhhdCkKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuOS9TMTUuNS40LjlfQTFfVDIuanMKICogQGRlc2NyaXB0aW9uIENhbGwgc3RyaW5nXzEubG9jYWxlQ29tcGFyZShzdHJpbmdfMikgaXMgZXF1YWwgLXN0cmluZ18yLmxvY2FsZUNvbXBhcmUoc3RyaW5nXzEpCiAqLwoKLy9DSEVDSyMxCnZhciBzdHIxID0gImgiOwp2YXIgc3RyMiA9ICJIIjsKaWYgKHN0cjEubG9jYWxlQ29tcGFyZShzdHIyKSE9PS1zdHIyLmxvY2FsZUNvbXBhcmUoc3RyMSkpewogICRFUlJPUignIzEuMTogdmFyIHN0cjEgPSAiaCI7IHZhciBzdHIyID0gIkgiOyBzdHIxLmxvY2FsZUNvbXBhcmUoc3RyMik9PT0tc3RyMi5sb2NhbGVDb21wYXJlKHN0cjEpLiBBY3R1YWw6ICcrc3RyMS5sb2NhbGVDb21wYXJlKHN0cjIpKTsKfQoK","commentary":"String.prototype.localeCompare(that)","description":"Call string_1.localeCompare(string_2) is equal -string_2.localeCompare(string_1)","path":"TestCases/ch15/15.5/15.5.4/15.5.4.9/S15.5.4.9_A1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLmxvY2FsZUNvbXBhcmUgaGFzIG5vdCBwcm90b3R5cGUgcHJvcGVydHkKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNC8xNS41LjQuOS9TMTUuNS40LjlfQTYuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIFN0cmluZy5wcm90b3R5cGUubG9jYWxlQ29tcGFyZS5wcm90b3R5cGUKICovCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmIChTdHJpbmcucHJvdG90eXBlLmxvY2FsZUNvbXBhcmUucHJvdG90eXBlICE9PSB1bmRlZmluZWQpIHsKICAkRVJST1IoJyMxOiBTdHJpbmcucHJvdG90eXBlLmxvY2FsZUNvbXBhcmUucHJvdG90eXBlID09PSB1bmRlZmluZWQuIEFjdHVhbDogJytTdHJpbmcucHJvdG90eXBlLmxvY2FsZUNvbXBhcmUucHJvdG90eXBlICk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"String.prototype.localeCompare has not prototype property","description":"Checking String.prototype.localeCompare.prototype","path":"TestCases/ch15/15.5/15.5.4/15.5.4.9/S15.5.4.9_A6.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcucHJvdG90eXBlLmxvY2FsZUNvbXBhcmUgY2FuJ3QgYmUgdXNlZCBhcyBjb25zdHJ1Y3RvcgogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS40LzE1LjUuNC45L1MxNS41LjQuOV9BNy5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgaWYgY3JlYXRpbmcgdGhlIFN0cmluZy5wcm90b3R5cGUubG9jYWxlQ29tcGFyZSBvYmplY3QgZmFpbHMKICovCgp2YXIgX19GQUNUT1JZID0gU3RyaW5nLnByb3RvdHlwZS5sb2NhbGVDb21wYXJlOwoKdHJ5IHsKICB2YXIgX19pbnN0YW5jZSA9IG5ldyBfX0ZBQ1RPUlk7CiAgJEZBSUwoJyMxOiBfX0ZBQ1RPUlkgPSBTdHJpbmcucHJvdG90eXBlLmxvY2FsZUNvbXBhcmU7IF9faW5zdGFuY2UgPSBuZXcgX19GQUNUT1JZIGxlYWQgdG8gdGhyb3dpbmcgZXhjZXB0aW9uJyk7DQp9IGNhdGNoIChlKSB7DQogICAgaWYgKGUgaW5zdGFuY2VvZiBUZXN0MjYyRXJyb3IpIHRocm93IGU7Cn0KCg==","commentary":"String.prototype.localeCompare can't be used as constructor","description":"Checking if creating the String.prototype.localeCompare object fails","path":"TestCases/ch15/15.5/15.5.4/15.5.4.9/S15.5.4.9_A7.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgU3RyaW5nLnByb3RvdHlwZS5sb2NhbGVDb21wYXJlLmxlbmd0aCBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZSBEb250RW51bQogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS40LzE1LjUuNC45L1MxNS41LjQuOV9BOC5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgaWYgZW51bWVyYXRpbmcgdGhlIFN0cmluZy5wcm90b3R5cGUubG9jYWxlQ29tcGFyZS5sZW5ndGggcHJvcGVydHkgZmFpbHMKICovCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMwCmlmICghKFN0cmluZy5wcm90b3R5cGUubG9jYWxlQ29tcGFyZS5oYXNPd25Qcm9wZXJ0eSgnbGVuZ3RoJykpKSB7CiAgJEVSUk9SKCcjMDogU3RyaW5nLnByb3RvdHlwZS5sb2NhbGVDb21wYXJlLmhhc093blByb3BlcnR5KFwnbGVuZ3RoXCcpIHJldHVybiB0cnVlLiBBY3R1YWw6ICcrU3RyaW5nLnByb3RvdHlwZS5sb2NhbGVDb21wYXJlLmhhc093blByb3BlcnR5KCdsZW5ndGgnKSk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vIENIRUNLIzEKaWYgKFN0cmluZy5wcm90b3R5cGUubG9jYWxlQ29tcGFyZS5wcm9wZXJ0eUlzRW51bWVyYWJsZSgnbGVuZ3RoJykpIHsKICAkRVJST1IoJyMxOiBTdHJpbmcucHJvdG90eXBlLmxvY2FsZUNvbXBhcmUucHJvcGVydHlJc0VudW1lcmFibGUoXCdsZW5ndGhcJykgcmV0dXJuIGZhbHNlJyk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy8gQ0hFQ0sjMgp2YXIgY291bnQ9MDsKCmZvciAocCBpbiBTdHJpbmcucHJvdG90eXBlLmxvY2FsZUNvbXBhcmUpewogIGlmIChwPT09Imxlbmd0aCIpIGNvdW50Kys7Cn0KCmlmIChjb3VudCAhPT0gMCkgewogICRFUlJPUignIzI6IGNvdW50PTA7IGZvciAocCBpbiBTdHJpbmcucHJvdG90eXBlLmxvY2FsZUNvbXBhcmUpe2lmIChwPT09Imxlbmd0aCIpIGNvdW50Kys7fTsgY291bnQgPT09IDAuIEFjdHVhbDogJytjb3VudCApOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"The String.prototype.localeCompare.length property has the attribute DontEnum","description":"Checking if enumerating the String.prototype.localeCompare.length property fails","path":"TestCases/ch15/15.5/15.5.4/15.5.4.9/S15.5.4.9_A8.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBUaGUgU3RyaW5nLnByb3RvdHlwZS5sb2NhbGVDb21wYXJlLmxlbmd0aCBwcm9wZXJ0eSBoYXMgdGhlIGF0dHJpYnV0ZSBEb250RGVsZXRlCiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjQvMTUuNS40LjkvUzE1LjUuNC45X0E5LmpzCiAqIEBkZXNjcmlwdGlvbiBDaGVja2luZyBpZiBkZWxldGluZyB0aGUgU3RyaW5nLnByb3RvdHlwZS5sb2NhbGVDb21wYXJlLmxlbmd0aCBwcm9wZXJ0eSBmYWlscwogKi8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzAKaWYgKCEoU3RyaW5nLnByb3RvdHlwZS5sb2NhbGVDb21wYXJlLmhhc093blByb3BlcnR5KCdsZW5ndGgnKSkpIHsKICAkRVJST1IoJyMwOiBTdHJpbmcucHJvdG90eXBlLmxvY2FsZUNvbXBhcmUuaGFzT3duUHJvcGVydHkoXCdsZW5ndGhcJykgcmV0dXJuIHRydWUuIEFjdHVhbDogJytTdHJpbmcucHJvdG90eXBlLmxvY2FsZUNvbXBhcmUuaGFzT3duUHJvcGVydHkoJ2xlbmd0aCcpKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKGRlbGV0ZSBTdHJpbmcucHJvdG90eXBlLmxvY2FsZUNvbXBhcmUubGVuZ3RoKSB7CiAgJEVSUk9SKCcjMTogZGVsZXRlIFN0cmluZy5wcm90b3R5cGUubG9jYWxlQ29tcGFyZS5sZW5ndGggcmV0dXJuIGZhbHNlJyk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMyCmlmICghKFN0cmluZy5wcm90b3R5cGUubG9jYWxlQ29tcGFyZS5oYXNPd25Qcm9wZXJ0eSgnbGVuZ3RoJykpKSB7CiAgJEVSUk9SKCcjMjogZGVsZXRlIFN0cmluZy5wcm90b3R5cGUubG9jYWxlQ29tcGFyZS5sZW5ndGg7IFN0cmluZy5wcm90b3R5cGUubG9jYWxlQ29tcGFyZS5oYXNPd25Qcm9wZXJ0eShcJ2xlbmd0aFwnKSByZXR1cm4gdHJ1ZS4gQWN0dWFsOiAnK1N0cmluZy5wcm90b3R5cGUubG9jYWxlQ29tcGFyZS5oYXNPd25Qcm9wZXJ0eSgnbGVuZ3RoJykpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"The String.prototype.localeCompare.length property has the attribute DontDelete","description":"Checking if deleting the String.prototype.localeCompare.length property fails","path":"TestCases/ch15/15.5/15.5.4/15.5.4.9/S15.5.4.9_A9.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBsZW5ndGggcHJvcGVydHkgY29udGFpbnMgdGhlIG51bWJlciBvZiBjaGFyYWN0ZXJzIGluIHRoZSBTdHJpbmcgdmFsdWUgcmVwcmVzZW50ZWQgYnkgdGhpcyBTdHJpbmcgb2JqZWN0CiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjUvUzE1LjUuNS4xX0ExLmpzCiAqIEBkZXNjcmlwdGlvbiBDcmVhdGUgc3RyaW5ncyBhbmQgY2hlY2sgaXRzIGxlbmd0aAogKi8KCnZhciBfX3N0cl9faW5zdGFuY2UgPSBuZXcgU3RyaW5nKCJBQkNcdTAwNDFcdTAwNDJcdTAwNDMiKTsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKF9fc3RyX19pbnN0YW5jZS5sZW5ndGggIT09IDYpIHsKICAkRVJST1IoJyMxOiB2YXIgX19zdHJfX2luc3RhbmNlID0gbmV3IFN0cmluZygiQUJDXFx1MDA0MVxcdTAwNDJcXHUwMDQzIik7IF9fc3RyX19pbnN0YW5jZS5sZW5ndGggPT09IDYsIHdoZXJlIF9fc3RyX19pbnN0YW5jZSBpcyBuZXcgU3RyaW5nKCJBQkNcXHUwMDQxXFx1MDA0MlxcdTAwNDMiKS4gQWN0dWFsOiBfX3N0cl9faW5zdGFuY2UubGVuZ3RoID09PScrX19zdHJfX2luc3RhbmNlLmxlbmd0aCApOyAKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCl9fc3RyX19pbnN0YW5jZSA9IG5ldyBTdHJpbmc7CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMyCmlmIChfX3N0cl9faW5zdGFuY2UubGVuZ3RoICE9PSAwKSB7CiAgJEVSUk9SKCcjMjogX19zdHJfX2luc3RhbmNlID0gbmV3IFN0cmluZzsgX19zdHJfX2luc3RhbmNlLmxlbmd0aCA9PT0gMCwgd2hlcmUgX19zdHJfX2luc3RhbmNlIGlzIG5ldyBTdHJpbmcuIEFjdHVhbDogX19zdHJfX2luc3RhbmNlLmxlbmd0aCA9PT0nK19fc3RyX19pbnN0YW5jZS5sZW5ndGggKTsgCn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"length property contains the number of characters in the String value represented by this String object","description":"Create strings and check its length","path":"TestCases/ch15/15.5/15.5.5/S15.5.5.1_A1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBsZW5ndGggcHJvcGVydHkgaGFzIHRoZSBhdHRyaWJ1dGVzIHtEb250RW51bX0KICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNS9TMTUuNS41LjFfQTIuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIGVudW1lcmF0aW5nIHRoZSBsZW5ndGggcHJvcGVydHkgb2YgU3RyaW5nIGZhaWxzCiAqLwoKdmFyIF9fc3RyX19pbnN0YW5jZSA9IG5ldyBTdHJpbmcoImdsb2JnbG9iIik7CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmICghKF9fc3RyX19pbnN0YW5jZS5oYXNPd25Qcm9wZXJ0eSgibGVuZ3RoIikpKSB7CiAgJEVSUk9SKCcjMTogdmFyIF9fc3RyX19pbnN0YW5jZSA9IG5ldyBTdHJpbmcoImdsb2JnbG9iIik7IF9fc3RyX19pbnN0YW5jZS5oYXNPd25Qcm9wZXJ0eSgibGVuZ3RoIikgcmV0dXJuIHRydWUuIEFjdHVhbDogJytfX3N0cl9faW5zdGFuY2UuaGFzT3duUHJvcGVydHkoImxlbmd0aCIpKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzIKZm9yKHByb3AgaW4gX19zdHJfX2luc3RhbmNlKXsKICAgIGlmIChwcm9wID09PSAibGVuZ3RoIikgewogICAgICAkRVJST1IoJyMyOiBsZW5ndGggcHJvcGVydHkgaGFzIHRoZSBhdHRyaWJ1dGVzIHtEb250RW51bX0nKTsKICAgIH0KfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"length property has the attributes {DontEnum}","description":"Checking if enumerating the length property of String fails","path":"TestCases/ch15/15.5/15.5.5/S15.5.5.1_A2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBsZW5ndGggcHJvcGVydHkgaGFzIHRoZSBhdHRyaWJ1dGVzIHtEb250RGVsZXRlfQogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS41L1MxNS41LjUuMV9BMy5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgaWYgZGVsZXRpbmcgdGhlIGxlbmd0aCBwcm9wZXJ0eSBvZiBTdHJpbmcgZmFpbHMKICovCgp2YXIgX19zdHJfX2luc3RhbmNlID0gbmV3IFN0cmluZygiZ2xvYmdsb2IiKTsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKCEoX19zdHJfX2luc3RhbmNlLmhhc093blByb3BlcnR5KCJsZW5ndGgiKSkpIHsKICAkRVJST1IoJyMxOiB2YXIgX19zdHJfX2luc3RhbmNlID0gbmV3IFN0cmluZygiZ2xvYmdsb2IiKTsgX19zdHJfX2luc3RhbmNlLmhhc093blByb3BlcnR5KCJsZW5ndGgiKSByZXR1cm4gdHJ1ZS4gQWN0dWFsOiAnK19fc3RyX19pbnN0YW5jZS5oYXNPd25Qcm9wZXJ0eSgibGVuZ3RoIikpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMgppZiAoZGVsZXRlIF9fc3RyX19pbnN0YW5jZSA9PT0gdHJ1ZSkgewogICRFUlJPUignIzI6IHZhciBfX3N0cl9faW5zdGFuY2UgPSBuZXcgU3RyaW5nKCJnbG9iZ2xvYiIpOyBkZWxldGUgX19zdHJfX2luc3RhbmNlICE9PSB0cnVlJyk7Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMzCmlmICghKF9fc3RyX19pbnN0YW5jZS5oYXNPd25Qcm9wZXJ0eSgibGVuZ3RoIikpKSB7CiAgJEVSUk9SKCcjMzogdmFyIF9fc3RyX19pbnN0YW5jZSA9IG5ldyBTdHJpbmcoImdsb2JnbG9iIik7IGRlbGV0ZSBfX3N0cl9faW5zdGFuY2U7IF9fc3RyX19pbnN0YW5jZS5oYXNPd25Qcm9wZXJ0eSgibGVuZ3RoIikgcmV0dXJuIHRydWUuIEFjdHVhbDogJytfX3N0cl9faW5zdGFuY2UuaGFzT3duUHJvcGVydHkoImxlbmd0aCIpKTsKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCg==","commentary":"length property has the attributes {DontDelete}","description":"Checking if deleting the length property of String fails","path":"TestCases/ch15/15.5/15.5.5/S15.5.5.1_A3.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBsZW5ndGggcHJvcGVydHkgaGFzIHRoZSBhdHRyaWJ1dGVzIHtSZWFkT25seX0KICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNS9TMTUuNS41LjFfQTQuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIHZhcnlpbmcgdGhlIGxlbmd0aCBwcm9wZXJ0eSBvZiBTdHJpbmcgZmFpbHMKICovCgp2YXIgX19zdHJfX2luc3RhbmNlID0gbmV3IFN0cmluZygiZ2xvYmdsb2IiKTsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKaWYgKCEoX19zdHJfX2luc3RhbmNlLmhhc093blByb3BlcnR5KCJsZW5ndGgiKSkpIHsKICAkRVJST1IoJyMxOiB2YXIgX19zdHJfX2luc3RhbmNlID0gbmV3IFN0cmluZygiZ2xvYmdsb2IiKTsgX19zdHJfX2luc3RhbmNlLmhhc093blByb3BlcnR5KCJsZW5ndGgiKSByZXR1cm4gdHJ1ZS4gQWN0dWFsOiAnK19fc3RyX19pbnN0YW5jZS5oYXNPd25Qcm9wZXJ0eSgibGVuZ3RoIikpOwp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMgppZiAoX19zdHJfX2luc3RhbmNlLmxlbmd0aCAhPT0gOCkgewogICRFUlJPUignIzI6IHZhciBfX3N0cl9faW5zdGFuY2UgPSBuZXcgU3RyaW5nKCJnbG9iZ2xvYiIpOyBfX3N0cl9faW5zdGFuY2UubGVuZ3RoID09PSA4LiBBY3R1YWw6IF9fc3RyX19pbnN0YW5jZS5sZW5ndGggPT09JytfX3N0cl9faW5zdGFuY2UubGVuZ3RoICk7IAp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKX19zdHJfX2luc3RhbmNlLmxlbmd0aD0tMTsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzMKaWYgKF9fc3RyX19pbnN0YW5jZS5sZW5ndGggIT09IDgpIHsKICAkRVJST1IoJyMzOiB2YXIgX19zdHJfX2luc3RhbmNlID0gbmV3IFN0cmluZygiZ2xvYmdsb2IiKTsgX19zdHJfX2luc3RhbmNlLmxlbmd0aD0tMTsgX19zdHJfX2luc3RhbmNlLmxlbmd0aCA9PT0gOChhZnRlciByZWRlZmluZSBsZW5ndGggcHJvcGVydHkpLiBBY3R1YWw6IF9fc3RyX19pbnN0YW5jZS5sZW5ndGggPT09JytfX3N0cl9faW5zdGFuY2UubGVuZ3RoICk7IAp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKd2l0aChfX3N0cl9faW5zdGFuY2UpCiAgICBsZW5ndGggPSAwOwogICAgCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzQKaWYgKF9fc3RyX19pbnN0YW5jZS5sZW5ndGggIT09IDgpIHsKICAkRVJST1IoJyM0OiB2YXIgX19zdHJfX2luc3RhbmNlID0gbmV3IFN0cmluZygiZ2xvYmdsb2IiKTsgd2l0aChfX3N0cl9faW5zdGFuY2UpIGxlbmd0aCA9IDA7IF9fc3RyX19pbnN0YW5jZS5sZW5ndGggPT09IDgoYWZ0ZXIgcmVkZWZpbmUgbGVuZ3RoIHByb3BlcnR5IHdpdGggdXNpbmcgIndpdGgiKS4gQWN0dWFsOiBfX3N0cl9faW5zdGFuY2UubGVuZ3RoID09PScrX19zdHJfX2luc3RhbmNlLmxlbmd0aCApOyAKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCl9fc3RyX19pbnN0YW5jZS5sZW5ndGgrKzsKCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzUKaWYgKF9fc3RyX19pbnN0YW5jZS5sZW5ndGggIT09IDgpIHsKICAkRVJST1IoJyM1OiB2YXIgX19zdHJfX2luc3RhbmNlID0gbmV3IFN0cmluZygiZ2xvYmdsb2IiKTsgX19zdHJfX2luc3RhbmNlLmxlbmd0aCsrOyBfX3N0cl9faW5zdGFuY2UubGVuZ3RoID09PSA4KGFmdGVyIHJlZGVmaW5lIGxlbmd0aCBwcm9wZXJ0eSB3aXRoIHVzaW5nICIrKyIpLiBBY3R1YWw6IF9fc3RyX19pbnN0YW5jZS5sZW5ndGggPT09JytfX3N0cl9faW5zdGFuY2UubGVuZ3RoICk7IAp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"length property has the attributes {ReadOnly}","description":"Checking if varying the length property of String fails","path":"TestCases/ch15/15.5/15.5.5/S15.5.5.1_A4.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBPbmNlIGEgU3RyaW5nIG9iamVjdCBpcyBjcmVhdGVkLCB0aGUgbGVuZ3RoIHByb3BlcnR5IGlzIHVuY2hhbmdpbmcKICoKICogQHBhdGggY2gxNS8xNS41LzE1LjUuNS9TMTUuNS41LjFfQTUuanMKICogQGRlc2NyaXB0aW9uIENoYW5nZSB2YWx1ZU9mIGFuZCB0b1N0cmluZyBvZiBTdHJpbmcgb2JqZWN0IGFuZCBjaGVjayBsZW5ndGggcHJvcGVydHkKICovCgp2YXIgX19zdHJfX2luc3RhbmNlID0gbmV3IFN0cmluZygiQUJDXHUwMDQxXHUwMDQyXHUwMDQzIik7CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCmlmIChfX3N0cl9faW5zdGFuY2UubGVuZ3RoICE9PSA2KSB7CiAgJEVSUk9SKCcjMTogdmFyIF9fc3RyX19pbnN0YW5jZSA9IG5ldyBTdHJpbmcoIkFCQ1xcdTAwNDFcXHUwMDQyXFx1MDA0MyIpOyBfX3N0cl9faW5zdGFuY2UubGVuZ3RoID09PSA2LiBBY3R1YWw6IF9fc3RyX19pbnN0YW5jZS5sZW5ndGggPT09JytfX3N0cl9faW5zdGFuY2UubGVuZ3RoICk7IAp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKX19zdHJfX2luc3RhbmNlLnZhbHVlT2YgPSBmdW5jdGlvbigpe3JldHVybiAiZWQifTsKX19zdHJfX2luc3RhbmNlLnRvU3RyaW5nID0gZnVuY3Rpb24oKXtyZXR1cm4gImVkIn07CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMyCmlmIChfX3N0cl9faW5zdGFuY2UgIT0iZWQiKSB7CiAgJEVSUk9SKCcjMjogdmFyIF9fc3RyX19pbnN0YW5jZSA9IG5ldyBTdHJpbmcoIkFCQ1xcdTAwNDFcXHUwMDQyXFx1MDA0MyIpOyBfX3N0cl9faW5zdGFuY2UudmFsdWVPZiA9IGZ1bmN0aW9uKCl7cmV0dXJuICJlZCJ9OyBfX3N0cl9faW5zdGFuY2UudG9TdHJpbmcgPSBmdW5jdGlvbigpe3JldHVybiAiZWQifTsgX19zdHJfX2luc3RhbmNlID09ImVkIi4gQWN0dWFsOiBfX3N0cl9faW5zdGFuY2UgPT0nK19fc3RyX19pbnN0YW5jZSApOyAKfQovLwovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzMKaWYgKF9fc3RyX19pbnN0YW5jZS5sZW5ndGggIT09IDYpIHsKICAkRVJST1IoJyMzOiB2YXIgX19zdHJfX2luc3RhbmNlID0gbmV3IFN0cmluZygiQUJDXFx1MDA0MVxcdTAwNDJcXHUwMDQzIik7IF9fc3RyX19pbnN0YW5jZS52YWx1ZU9mID0gZnVuY3Rpb24oKXtyZXR1cm4gImVkIn07IF9fc3RyX19pbnN0YW5jZS50b1N0cmluZyA9IGZ1bmN0aW9uKCl7cmV0dXJuICJlZCJ9OyBfX3N0cl9faW5zdGFuY2UubGVuZ3RoID09PSA2LiBBY3R1YWw6IF9fc3RyX19pbnN0YW5jZS5sZW5ndGggPT09JytfX3N0cl9faW5zdGFuY2UubGVuZ3RoICk7IAp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"Once a String object is created, the length property is unchanging","description":"Change valueOf and toString of String object and check length property","path":"TestCases/ch15/15.5/15.5.5/S15.5.5.1_A5.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcgaW5zdGFuY2UgaGFzIG5vdCBbW2NhbGxdXSBwcm9wZXJ0eQogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS41L1MxNS41LjVfQTFfVDEuanMKICogQGRlc2NyaXB0aW9uIENyZWF0ZSBuZXcgU3RyaW5nIGFuZCB0cnkgY2FsbCBpdAogKi8KCnZhciBfX3N0ciA9IG5ldyBTdHJpbmc7CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCnRyeSB7CiAgX19zdHIoKTsKICAkRkFJTCgnIzE6IF9fc3RyID0gbmV3IFN0cmluZzsgX19zdHIoKSBsZWFkIHRvIHRocm93aW5nIGV4Y2VwdGlvbicpOwp9IGNhdGNoIChlKSB7CiAgaWYgKCEoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikpIHsKICAgICRFUlJPUignIzEuMTogRXhjZXB0aW9uIGlzIGluc3RhbmNlIG9mIFR5cGVFcnJvci4gQWN0dWFsOiBleGNlcHRpb24gaXMgJytlKTsKICB9Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"String instance has not [[call]] property","description":"Create new String and try call it","path":"TestCases/ch15/15.5/15.5.5/S15.5.5_A1_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcgaW5zdGFuY2UgaGFzIG5vdCBbW2NhbGxdXSBwcm9wZXJ0eQogKgogKiBAcGF0aCBjaDE1LzE1LjUvMTUuNS41L1MxNS41LjVfQTFfVDIuanMKICogQGRlc2NyaXB0aW9uIENoZWNraW5nIGlmIGNyZWF0aW5nIG5ldyAiU3RyaW5nKCJhfGIiKSgpIiBmYWlscwogKi8KCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwovL0NIRUNLIzEKdHJ5IHsKICBTdHJpbmcoImF8YiIpKCk7CiAgJEZBSUwoJyMxOiBTdHJpbmcoImF8YiIpKCkgbGVhZCB0byB0aHJvd2luZyBleGNlcHRpb24nKTsKfSBjYXRjaCAoZSkgewogIGlmICghKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpKSB7CiAgICAkRVJST1IoJyMxLjE6IEV4Y2VwdGlvbiBpcyBpbnN0YW5jZSBvZiBUeXBlRXJyb3IuIEFjdHVhbDogZXhjZXB0aW9uIGlzICcrZSk7CiAgfQp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"String instance has not [[call]] property","description":"Checking if creating new \"String(\"a|b\")()\" fails","path":"TestCases/ch15/15.5/15.5.5/S15.5.5_A1_T2.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcgaW5zdGFuY2UgaGFzIG5vdCBbW2NvbnN0cnVjdF1dIHByb3BlcnR5CiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjUvUzE1LjUuNV9BMl9UMS5qcwogKiBAZGVzY3JpcHRpb24gQ3JlYXRlIG5ldyBzdHJpbmcgb2JqZWN0IGFuZCB0cnkgbmV3IGNyZWF0ZWRfc3RyaW5nCiAqLwoKdmFyIF9fc3RyID0gbmV3IE9iamVjdCgiIik7CgovLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLy9DSEVDSyMxCnRyeSB7CiAgbmV3IF9fc3RyOwogICRGQUlMKCcjMTogX19zdHIgPSBuZXcgT2JqZWN0KCIiKTsgIm5ldyBfX3N0ciIgbGVhZCB0byB0aHJvd2luZyBleGNlcHRpb24nKTsKfSBjYXRjaCAoZSkgewogIGlmICghKGUgaW5zdGFuY2VvZiBUeXBlRXJyb3IpKSB7CiAgICAkRVJST1IoJyMxLjE6IEV4Y2VwdGlvbiBpcyBpbnN0YW5jZSBvZiBUeXBlRXJyb3IuIEFjdHVhbDogZXhjZXB0aW9uIGlzICcrZSk7CiAgfQp9Ci8vCi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoK","commentary":"String instance has not [[construct]] property","description":"Create new string object and try new created_string","path":"TestCases/ch15/15.5/15.5.5/S15.5.5_A2_T1.js"},{"code":"Ly8gQ29weXJpZ2h0IDIwMDkgdGhlIFNwdXRuaWsgYXV0aG9ycy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi8qKgogKiBTdHJpbmcgaW5zdGFuY2UgaGFzIG5vdCBbW2NvbnN0cnVjdF1dIHByb3BlcnR5CiAqCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjUvUzE1LjUuNV9BMl9UMi5qcwogKiBAZGVzY3JpcHRpb24gQ2hlY2tpbmcgaWYgY3JlYXRpbmcgIm5ldyBTdHJpbmciIGZhaWxzCiAqLwoKLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi8vQ0hFQ0sjMQp0cnkgewogIG5ldyBuZXcgU3RyaW5nOwogICRGQUlMKCcjMTogIm5ldyBuZXcgU3RyaW5nIiBsZWFkIHRvIHRocm93aW5nIGV4Y2VwdGlvbicpOwp9IGNhdGNoIChlKSB7CiAgaWYgKCEoZSBpbnN0YW5jZW9mIFR5cGVFcnJvcikpIHsKICAgICRFUlJPUignIzEuMTogRXhjZXB0aW9uIGlzIGluc3RhbmNlIG9mIFR5cGVFcnJvci4gQWN0dWFsOiBleGNlcHRpb24gaXMgJytlKTsKICB9Cn0KLy8KLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCgo=","commentary":"String instance has not [[construct]] property","description":"Checking if creating \"new String\" fails","path":"TestCases/ch15/15.5/15.5.5/S15.5.5_A2_T2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogMTUuNS41LjIgZGVmaW5lcyBbW0dldE93blByb3BlcnR5XV0gZm9yIFN0cmluZ3MuIEl0IHN1cHBvcnRzIHVzaW5nIGluZGV4aW5nDQogKiBub3RhdGlvbiB0byBsb29rIHVwIG5vbiBudW1lcmljIHByb3BlcnR5IG5hbWVzLg0KICoNCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjUvMTUuNS41LjIvMTUuNS41LjUuMi0xLTEuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpbmcgb2JqZWN0IHN1cHBvcnRzIGJyYWNrZXQgbm90YXRpb24gdG8gbG9va3VwIG9mIGRhdGEgcHJvcGVydGllcw0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBzID0gbmV3IFN0cmluZygiaGVsbG8gd29ybGQiKTsNCiAgcy5mb28gPSAxOw0KICANCiAgaWYgKHNbImZvbyJdID09PSAxKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"15.5.5.2 defines [[GetOwnProperty]] for Strings. It supports using indexing\nnotation to look up non numeric property names.","description":"String object supports bracket notation to lookup of data properties","path":"TestCases/ch15/15.5/15.5.5/15.5.5.2/15.5.5.5.2-1-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogMTUuNS41LjIgZGVmaW5lcyBbW0dldE93blByb3BlcnR5XV0gZm9yIFN0cmluZ3MuIEl0IHN1cHBvcnRzIHVzaW5nIGluZGV4aW5nDQogKiBub3RhdGlvbiB0byBsb29rIHVwIG5vbiBudW1lcmljIHByb3BlcnR5IG5hbWVzLg0KICoNCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjUvMTUuNS41LjIvMTUuNS41LjUuMi0xLTIuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpbmcgdmFsdWUgc3VwcG9ydHMgYnJhY2tldCBub3RhdGlvbiB0byBsb29rdXAgZGF0YSBwcm9wZXJ0aWVzDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIHMgPSBTdHJpbmcoImhlbGxvIHdvcmxkIik7DQogIA0KICBpZiAoc1siZm9vIl0gPT09IHVuZGVmaW5lZCkgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"15.5.5.2 defines [[GetOwnProperty]] for Strings. It supports using indexing\nnotation to look up non numeric property names.","description":"String value supports bracket notation to lookup data properties","path":"TestCases/ch15/15.5/15.5.5/15.5.5.2/15.5.5.5.2-1-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogMTUuNS41LjIgZGVmaW5lcyBbW0dldE93blByb3BlcnR5XV0gZm9yIFN0cmluZ3MuIEl0IHN1cHBvcnRzIHVzaW5nIGluZGV4aW5nDQogKiBub3RhdGlvbiB0byBsb29rIHVwIG5vbiBudW1lcmljIHByb3BlcnR5IG5hbWVzLg0KICoNCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjUvMTUuNS41LjIvMTUuNS41LjUuMi0zLTEuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpbmcgb2JqZWN0IGluZGV4aW5nIHJldHVybnMgdW5kZWZpbmVkIGZvciBtaXNzaW5nIGRhdGEgcHJvcGVydGllcw0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBzID0gbmV3IFN0cmluZygiaGVsbG8gd29ybGQiKTsNCiAgDQogIGlmIChzWyJmb28iXSA9PT0gdW5kZWZpbmVkKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"15.5.5.2 defines [[GetOwnProperty]] for Strings. It supports using indexing\nnotation to look up non numeric property names.","description":"String object indexing returns undefined for missing data properties","path":"TestCases/ch15/15.5/15.5.5/15.5.5.2/15.5.5.5.2-3-1.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogMTUuNS41LjIgZGVmaW5lcyBbW0dldE93blByb3BlcnR5XV0gZm9yIFN0cmluZ3MuIEl0IHN1cHBvcnRzIHVzaW5nIGluZGV4aW5nDQogKiBub3RhdGlvbiB0byBsb29rIHVwIG5vbiBudW1lcmljIHByb3BlcnR5IG5hbWVzLg0KICoNCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjUvMTUuNS41LjIvMTUuNS41LjUuMi0zLTIuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpbmcgdmFsdWUgaW5kZXhpbmcgcmV0dXJucyB1bmRlZmluZWQgZm9yIG1pc3NpbmcgZGF0YSBwcm9wZXJ0aWVzDQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIHMgPSBTdHJpbmcoImhlbGxvIHdvcmxkIik7DQogIA0KICBpZiAoc1siZm9vIl0gPT09IHVuZGVmaW5lZCkgew0KICAgIHJldHVybiB0cnVlOw0KICB9DQogfQ0KcnVuVGVzdENhc2UodGVzdGNhc2UpOw0K","commentary":"15.5.5.2 defines [[GetOwnProperty]] for Strings. It supports using indexing\nnotation to look up non numeric property names.","description":"String value indexing returns undefined for missing data properties","path":"TestCases/ch15/15.5/15.5.5/15.5.5.2/15.5.5.5.2-3-2.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogMTUuNS41LjIgZGVmaW5lcyBbW0dldE93blByb3BlcnR5XV0gZm9yIFN0cmluZ3MuIEl0IHN1cHBvcnRzIHVzaW5nIGluZGV4aW5nDQogKiBub3RhdGlvbiB0byBsb29rIHVwIG5vbiBudW1lcmljIHByb3BlcnR5IG5hbWVzLg0KICoNCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjUvMTUuNS41LjIvMTUuNS41LjUuMi0zLTMuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpbmcgb2JqZWN0IGluZGV4aW5nIHJldHVybnMgdW5kZWZpbmVkIGlmIHRoZSBudW1lcmljIGluZGV4IChOYU4pIGlzIG5vdCBhbiBhcnJheSBpbmRleA0KICovDQoNCg0KZnVuY3Rpb24gdGVzdGNhc2UoKSB7DQogIHZhciBzID0gbmV3IFN0cmluZygiaGVsbG8gd29ybGQiKTsNCg0KICBpZiAoc1tOYU5dID09PSB1bmRlZmluZWQpIHsNCiAgICByZXR1cm4gdHJ1ZTsNCiAgfQ0KIH0NCnJ1blRlc3RDYXNlKHRlc3RjYXNlKTsNCg==","commentary":"15.5.5.2 defines [[GetOwnProperty]] for Strings. It supports using indexing\nnotation to look up non numeric property names.","description":"String object indexing returns undefined if the numeric index (NaN) is not an array index","path":"TestCases/ch15/15.5/15.5.5/15.5.5.2/15.5.5.5.2-3-3.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgcmlnaHRzIHJlc2VydmVkLiANCi8qKg0KICogMTUuNS41LjIgZGVmaW5lcyBbW0dldE93blByb3BlcnR5XV0gZm9yIFN0cmluZ3MuIEl0IHN1cHBvcnRzIHVzaW5nIGluZGV4aW5nDQogKiBub3RhdGlvbiB0byBsb29rIHVwIG5vbiBudW1lcmljIHByb3BlcnR5IG5hbWVzLg0KICoNCiAqIEBwYXRoIGNoMTUvMTUuNS8xNS41LjUvMTUuNS41LjIvMTUuNS41LjUuMi0zLTQuanMNCiAqIEBkZXNjcmlwdGlvbiBTdHJpbmcgb2JqZWN0IGluZGV4aW5nIHJldHVybnMgdW5kZWZpbmVkIGlmIHRoZSBudW1lcmljIGluZGV4IChJbmZpbml0eSkgaXMgbm90IGFuIGFycmF5IGluZGV4DQogKi8NCg0KDQpmdW5jdGlvbiB0ZXN0Y2FzZSgpIHsNCiAgdmFyIHMgPSBuZXcgU3RyaW5nKCJoZWxsbyB3b3JsZCIpOw0KDQogIGlmIChzW0luZmluaXR5XSA9PT0gdW5kZWZpbmVkKSB7DQogICAgcmV0dXJuIHRydWU7DQogIH0NCiB9DQpydW5UZXN0Q2FzZSh0ZXN0Y2FzZSk7DQo=","commentary":"15.5.5.2 defines [[GetOwnProperty]] for Strings. It supports using indexing\nnotation to look up non numeric property names.","description":"String object indexing returns undefined if the numeric index (Infinity) is not an array index","path":"TestCases/ch15/15.5/15.5.5/15.5.5.2/15.5.5.5.2-3-4.js"},{"code":"Ly8vIENvcHlyaWdodCAoYykgMjAxMiBFY21hIEludGVybmF0aW9uYWwuICBBbGwgc |